@soubiran/ui 0.10.1 → 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 -102
- 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,6 +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
3
|
import { buildLocaleContext } from "@nuxt/ui/utils/locale";
|
|
4
|
+
import { defineLocale, extendLocale } from "@nuxt/ui/composables/defineLocale";
|
|
4
5
|
import UAlert from "@nuxt/ui/components/Alert.vue";
|
|
5
6
|
import { defineQueryOptions, useMutation, useQuery, useQueryCache } from "@pinia/colada";
|
|
6
7
|
import { AnimatePresence, Motion, motion, useReducedMotion } from "motion-v";
|
|
@@ -21,45 +22,6 @@ import UCard from "@nuxt/ui/components/Card.vue";
|
|
|
21
22
|
import UTooltip from "@nuxt/ui/components/Tooltip.vue";
|
|
22
23
|
import USeparator from "@nuxt/ui/components/Separator.vue";
|
|
23
24
|
import PartySocket from "partysocket";
|
|
24
|
-
//#region src/composables/comments/context.ts
|
|
25
|
-
const commentsContextInjectionKey = Symbol("soubiran-ui.comments-context");
|
|
26
|
-
function provideCommentsContext(context) {
|
|
27
|
-
provide(commentsContextInjectionKey, context);
|
|
28
|
-
}
|
|
29
|
-
function useCommentsContext() {
|
|
30
|
-
const context = inject(commentsContextInjectionKey);
|
|
31
|
-
if (!context) throw new Error("Comments components must be rendered inside <Comments>.");
|
|
32
|
-
return context;
|
|
33
|
-
}
|
|
34
|
-
//#endregion
|
|
35
|
-
//#region src/composables/comments/useCommentsBanner.ts
|
|
36
|
-
function useCommentsBanner() {
|
|
37
|
-
const banner = ref();
|
|
38
|
-
let timeout;
|
|
39
|
-
function dismiss() {
|
|
40
|
-
if (timeout !== void 0) {
|
|
41
|
-
clearTimeout(timeout);
|
|
42
|
-
timeout = void 0;
|
|
43
|
-
}
|
|
44
|
-
banner.value = void 0;
|
|
45
|
-
}
|
|
46
|
-
function show(nextBanner) {
|
|
47
|
-
dismiss();
|
|
48
|
-
banner.value = nextBanner;
|
|
49
|
-
timeout = setTimeout(() => {
|
|
50
|
-
banner.value = void 0;
|
|
51
|
-
timeout = void 0;
|
|
52
|
-
}, 4e3);
|
|
53
|
-
}
|
|
54
|
-
onScopeDispose(dismiss);
|
|
55
|
-
return {
|
|
56
|
-
banner: readonly(banner),
|
|
57
|
-
isActive: computed(() => banner.value !== void 0),
|
|
58
|
-
dismiss,
|
|
59
|
-
show
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
//#endregion
|
|
63
25
|
//#region src/locale/en.ts
|
|
64
26
|
var en_default = defineLocale({
|
|
65
27
|
name: "English",
|
|
@@ -183,6 +145,58 @@ function useLocale(localeOverrides) {
|
|
|
183
145
|
return buildLocaleContext(computed(() => locale?.value || en_default));
|
|
184
146
|
}
|
|
185
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
|
|
186
200
|
//#region src/locale/fr.ts
|
|
187
201
|
var fr_default = defineLocale({
|
|
188
202
|
name: "Français",
|
|
@@ -519,7 +533,7 @@ const loginRequired = tv({ slots: {
|
|
|
519
533
|
prose: "text-sm",
|
|
520
534
|
actions: "flex flex-row items-center justify-center gap-2"
|
|
521
535
|
} });
|
|
522
|
-
const _sfc_main$
|
|
536
|
+
const _sfc_main$36 = /* @__PURE__ */ defineComponent({
|
|
523
537
|
__name: "LoginRequired",
|
|
524
538
|
props: {
|
|
525
539
|
class: {},
|
|
@@ -581,7 +595,7 @@ const editor = tv({ slots: {
|
|
|
581
595
|
preview: "",
|
|
582
596
|
prose: "w-full rounded-md p-2 text-sm"
|
|
583
597
|
} });
|
|
584
|
-
const _sfc_main$
|
|
598
|
+
const _sfc_main$35 = /* @__PURE__ */ defineComponent({
|
|
585
599
|
__name: "Editor",
|
|
586
600
|
props: /* @__PURE__ */ mergeModels({
|
|
587
601
|
class: {},
|
|
@@ -713,7 +727,7 @@ const form = tv({ slots: {
|
|
|
713
727
|
wrapper: "space-y-4",
|
|
714
728
|
actions: "flex items-center justify-end gap-2"
|
|
715
729
|
} });
|
|
716
|
-
const _sfc_main$
|
|
730
|
+
const _sfc_main$34 = /* @__PURE__ */ defineComponent({
|
|
717
731
|
__name: "Form",
|
|
718
732
|
props: {
|
|
719
733
|
class: {},
|
|
@@ -738,7 +752,7 @@ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
|
|
|
738
752
|
//#endregion
|
|
739
753
|
//#region src/components/Comments/CommentForm.vue
|
|
740
754
|
const commentForm = tv({ base: "space-y-2" });
|
|
741
|
-
const _sfc_main$
|
|
755
|
+
const _sfc_main$33 = /* @__PURE__ */ defineComponent({
|
|
742
756
|
__name: "CommentForm",
|
|
743
757
|
props: {
|
|
744
758
|
cancelable: { type: Boolean },
|
|
@@ -817,7 +831,7 @@ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
|
|
|
817
831
|
__expose({ focus });
|
|
818
832
|
const ui = computed(() => commentForm({ class: props.class }));
|
|
819
833
|
return (_ctx, _cache) => {
|
|
820
|
-
return openBlock(), createBlock(_sfc_main$
|
|
834
|
+
return openBlock(), createBlock(_sfc_main$34, {
|
|
821
835
|
class: normalizeClass(ui.value),
|
|
822
836
|
onSubmit
|
|
823
837
|
}, {
|
|
@@ -837,7 +851,7 @@ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
|
|
|
837
851
|
"loading",
|
|
838
852
|
"label"
|
|
839
853
|
])]),
|
|
840
|
-
default: withCtx(() => [createVNode(_sfc_main$
|
|
854
|
+
default: withCtx(() => [createVNode(_sfc_main$35, {
|
|
841
855
|
ref_key: "editor",
|
|
842
856
|
ref: editor,
|
|
843
857
|
content: formData.value.content,
|
|
@@ -857,7 +871,7 @@ const commentFormSection = tv({ slots: {
|
|
|
857
871
|
header: "flex items-center gap-2",
|
|
858
872
|
title: "font-medium text-default"
|
|
859
873
|
} });
|
|
860
|
-
const _sfc_main$
|
|
874
|
+
const _sfc_main$32 = /* @__PURE__ */ defineComponent({
|
|
861
875
|
__name: "CommentFormSection",
|
|
862
876
|
props: {
|
|
863
877
|
class: {},
|
|
@@ -873,14 +887,14 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
|
|
|
873
887
|
key: 0,
|
|
874
888
|
src: unref(user).avatar,
|
|
875
889
|
title: unref(user).name
|
|
876
|
-
}, 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);
|
|
877
891
|
};
|
|
878
892
|
}
|
|
879
893
|
});
|
|
880
894
|
//#endregion
|
|
881
895
|
//#region src/components/State/StateEmpty.vue
|
|
882
896
|
const stateEmpty = tv({ slots: { base: "" } });
|
|
883
|
-
const _sfc_main$
|
|
897
|
+
const _sfc_main$31 = /* @__PURE__ */ defineComponent({
|
|
884
898
|
__name: "StateEmpty",
|
|
885
899
|
props: {
|
|
886
900
|
class: {},
|
|
@@ -898,7 +912,7 @@ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
|
|
|
898
912
|
//#endregion
|
|
899
913
|
//#region src/components/State/StateError.vue
|
|
900
914
|
const stateError = tv({ slots: { base: "" } });
|
|
901
|
-
const _sfc_main$
|
|
915
|
+
const _sfc_main$30 = /* @__PURE__ */ defineComponent({
|
|
902
916
|
__name: "StateError",
|
|
903
917
|
props: {
|
|
904
918
|
class: {},
|
|
@@ -916,7 +930,7 @@ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
|
|
|
916
930
|
//#endregion
|
|
917
931
|
//#region src/components/State/StatePending.vue
|
|
918
932
|
const statePending = tv({ slots: { base: "" } });
|
|
919
|
-
const _sfc_main$
|
|
933
|
+
const _sfc_main$29 = /* @__PURE__ */ defineComponent({
|
|
920
934
|
__name: "StatePending",
|
|
921
935
|
props: {
|
|
922
936
|
class: {},
|
|
@@ -968,7 +982,7 @@ var trash_duotone_default = markRaw({
|
|
|
968
982
|
//#endregion
|
|
969
983
|
//#region src/components/ConfirmModal.vue
|
|
970
984
|
const confirmModal = tv({ slots: { base: "" } });
|
|
971
|
-
const _sfc_main$
|
|
985
|
+
const _sfc_main$28 = /* @__PURE__ */ defineComponent({
|
|
972
986
|
__name: "ConfirmModal",
|
|
973
987
|
props: {
|
|
974
988
|
title: {},
|
|
@@ -1025,7 +1039,7 @@ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
|
|
|
1025
1039
|
//#endregion
|
|
1026
1040
|
//#region src/components/Comments/CommentDeleteConfirmModal.vue
|
|
1027
1041
|
const commentDeleteConfirmModal = tv({ slots: { base: "" } });
|
|
1028
|
-
const _sfc_main$
|
|
1042
|
+
const _sfc_main$27 = /* @__PURE__ */ defineComponent({
|
|
1029
1043
|
__name: "CommentDeleteConfirmModal",
|
|
1030
1044
|
props: {
|
|
1031
1045
|
pageId: {},
|
|
@@ -1071,7 +1085,7 @@ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
|
|
|
1071
1085
|
}
|
|
1072
1086
|
const ui = computed(() => commentDeleteConfirmModal());
|
|
1073
1087
|
return (_ctx, _cache) => {
|
|
1074
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1088
|
+
return openBlock(), createBlock(_sfc_main$28, {
|
|
1075
1089
|
title: unref(t)("comments.CommentDeleteConfirmModal.title"),
|
|
1076
1090
|
description: unref(t)("comments.CommentDeleteConfirmModal.description"),
|
|
1077
1091
|
loading: unref(isLoading),
|
|
@@ -1093,7 +1107,7 @@ function useComments() {
|
|
|
1093
1107
|
const overlay = useOverlay();
|
|
1094
1108
|
const { banner } = useCommentsContext();
|
|
1095
1109
|
function confirmDeleteComment(pageId, commentId, locale) {
|
|
1096
|
-
overlay.create(_sfc_main$
|
|
1110
|
+
overlay.create(_sfc_main$27, {
|
|
1097
1111
|
destroyOnClose: true,
|
|
1098
1112
|
props: {
|
|
1099
1113
|
pageId,
|
|
@@ -1112,7 +1126,7 @@ function useComments() {
|
|
|
1112
1126
|
//#region src/components/Comments/CommentContent.vue
|
|
1113
1127
|
const _hoisted_1$17 = ["innerHTML"];
|
|
1114
1128
|
const commentContent = tv({ base: "" });
|
|
1115
|
-
const _sfc_main$
|
|
1129
|
+
const _sfc_main$26 = /* @__PURE__ */ defineComponent({
|
|
1116
1130
|
__name: "CommentContent",
|
|
1117
1131
|
props: /* @__PURE__ */ mergeModels({
|
|
1118
1132
|
parentComment: {},
|
|
@@ -1139,7 +1153,7 @@ const _sfc_main$25 = /* @__PURE__ */ defineComponent({
|
|
|
1139
1153
|
}
|
|
1140
1154
|
const ui = computed(() => commentContent({ class: props.class }));
|
|
1141
1155
|
return (_ctx, _cache) => {
|
|
1142
|
-
return viewEditor.value ? (openBlock(), createBlock(_sfc_main$
|
|
1156
|
+
return viewEditor.value ? (openBlock(), createBlock(_sfc_main$33, {
|
|
1143
1157
|
key: 0,
|
|
1144
1158
|
ref_key: "editor",
|
|
1145
1159
|
ref: editor,
|
|
@@ -1173,7 +1187,7 @@ const commentHeader = tv({ slots: {
|
|
|
1173
1187
|
time: "text-dimmed",
|
|
1174
1188
|
link: "text-xs"
|
|
1175
1189
|
} });
|
|
1176
|
-
const _sfc_main$
|
|
1190
|
+
const _sfc_main$25 = /* @__PURE__ */ defineComponent({
|
|
1177
1191
|
__name: "CommentHeader",
|
|
1178
1192
|
props: {
|
|
1179
1193
|
comment: {},
|
|
@@ -1256,7 +1270,7 @@ function replaceCachedComment(comments, commentId, nextComment, parentCommentId)
|
|
|
1256
1270
|
};
|
|
1257
1271
|
});
|
|
1258
1272
|
}
|
|
1259
|
-
const _sfc_main$
|
|
1273
|
+
const _sfc_main$24 = /* @__PURE__ */ defineComponent({
|
|
1260
1274
|
__name: "CommentLike",
|
|
1261
1275
|
props: {
|
|
1262
1276
|
parentComment: {},
|
|
@@ -1352,7 +1366,7 @@ const _sfc_main$23 = /* @__PURE__ */ defineComponent({
|
|
|
1352
1366
|
//#endregion
|
|
1353
1367
|
//#region src/components/Comments/CommentRepliesCount.vue
|
|
1354
1368
|
const commentRepliesCount = tv({ base: "text-xs text-dimmed" });
|
|
1355
|
-
const _sfc_main$
|
|
1369
|
+
const _sfc_main$23 = /* @__PURE__ */ defineComponent({
|
|
1356
1370
|
__name: "CommentRepliesCount",
|
|
1357
1371
|
props: {
|
|
1358
1372
|
comment: {},
|
|
@@ -1399,7 +1413,7 @@ const comment = tv({
|
|
|
1399
1413
|
}
|
|
1400
1414
|
} }
|
|
1401
1415
|
});
|
|
1402
|
-
const _sfc_main$
|
|
1416
|
+
const _sfc_main$22 = /* @__PURE__ */ defineComponent({
|
|
1403
1417
|
__name: "Comment",
|
|
1404
1418
|
props: {
|
|
1405
1419
|
parentComment: {},
|
|
@@ -1450,7 +1464,7 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
1450
1464
|
"alt",
|
|
1451
1465
|
"size",
|
|
1452
1466
|
"class"
|
|
1453
|
-
]), createVNode(_sfc_main$
|
|
1467
|
+
]), createVNode(_sfc_main$25, { comment: props.comment }, null, 8, ["comment"])], 2), showActions.value ? (openBlock(), createBlock(UDropdownMenu, {
|
|
1454
1468
|
key: 0,
|
|
1455
1469
|
items: actions.value,
|
|
1456
1470
|
content: { align: "end" }
|
|
@@ -1461,7 +1475,7 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
1461
1475
|
"aria-label": unref(t)("comments.Comment.actionMenu")
|
|
1462
1476
|
}, null, 8, ["aria-label"])]),
|
|
1463
1477
|
_: 1
|
|
1464
|
-
}, 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, {
|
|
1465
1479
|
"view-editor": viewEditCommentEditor.value,
|
|
1466
1480
|
"onUpdate:viewEditor": _cache[0] || (_cache[0] = ($event) => viewEditCommentEditor.value = $event),
|
|
1467
1481
|
"parent-comment": props.parentComment,
|
|
@@ -1471,7 +1485,7 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
1471
1485
|
"view-editor",
|
|
1472
1486
|
"parent-comment",
|
|
1473
1487
|
"comment"
|
|
1474
|
-
]), 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, {
|
|
1475
1489
|
key: 0,
|
|
1476
1490
|
"parent-comment": props.parentComment,
|
|
1477
1491
|
comment: props.comment,
|
|
@@ -1480,7 +1494,7 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
1480
1494
|
"parent-comment",
|
|
1481
1495
|
"comment",
|
|
1482
1496
|
"class"
|
|
1483
|
-
])) : 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, {
|
|
1484
1498
|
key: 1,
|
|
1485
1499
|
comment: props.comment
|
|
1486
1500
|
}, null, 8, ["comment"])) : createCommentVNode("v-if", true)], 2)], 2)], 10, _hoisted_1$13);
|
|
@@ -1490,7 +1504,7 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
1490
1504
|
//#endregion
|
|
1491
1505
|
//#region src/components/Discussions/DiscussionReply.vue
|
|
1492
1506
|
const discussionReply = tv({ slots: { button: "justify-start text-muted" } });
|
|
1493
|
-
const _sfc_main$
|
|
1507
|
+
const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
1494
1508
|
__name: "DiscussionReply",
|
|
1495
1509
|
props: {
|
|
1496
1510
|
parentComment: {},
|
|
@@ -1524,7 +1538,7 @@ const _sfc_main$20 = /* @__PURE__ */ defineComponent({
|
|
|
1524
1538
|
}
|
|
1525
1539
|
const ui = computed(() => discussionReply());
|
|
1526
1540
|
return (_ctx, _cache) => {
|
|
1527
|
-
return isFormShown.value ? (openBlock(), createBlock(_sfc_main$
|
|
1541
|
+
return isFormShown.value ? (openBlock(), createBlock(_sfc_main$33, {
|
|
1528
1542
|
key: 0,
|
|
1529
1543
|
ref_key: "form",
|
|
1530
1544
|
ref: form,
|
|
@@ -1553,7 +1567,7 @@ const discussion = tv({ slots: {
|
|
|
1553
1567
|
answers: "bg-muted",
|
|
1554
1568
|
reply: "p-2"
|
|
1555
1569
|
} });
|
|
1556
|
-
const _sfc_main$
|
|
1570
|
+
const _sfc_main$20 = /* @__PURE__ */ defineComponent({
|
|
1557
1571
|
__name: "Discussion",
|
|
1558
1572
|
props: {
|
|
1559
1573
|
comment: {},
|
|
@@ -1565,18 +1579,18 @@ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
|
|
|
1565
1579
|
const ui = computed(() => discussion());
|
|
1566
1580
|
return (_ctx, _cache) => {
|
|
1567
1581
|
return openBlock(), createElementBlock("div", { class: normalizeClass(ui.value.base({ class: [props.class, props.ui?.base] })) }, [
|
|
1568
|
-
createVNode(_sfc_main$
|
|
1582
|
+
createVNode(_sfc_main$22, { comment: __props.comment }, null, 8, ["comment"]),
|
|
1569
1583
|
__props.comment.replies?.length ? (openBlock(), createElementBlock("div", {
|
|
1570
1584
|
key: 0,
|
|
1571
1585
|
class: normalizeClass(ui.value.answers({ class: props.ui?.answers }))
|
|
1572
1586
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.comment.replies, (reply) => {
|
|
1573
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1587
|
+
return openBlock(), createBlock(_sfc_main$22, {
|
|
1574
1588
|
key: reply.id,
|
|
1575
1589
|
"parent-comment": __props.comment,
|
|
1576
1590
|
comment: reply
|
|
1577
1591
|
}, null, 8, ["parent-comment", "comment"]);
|
|
1578
1592
|
}), 128))], 2)) : createCommentVNode("v-if", true),
|
|
1579
|
-
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)
|
|
1580
1594
|
], 2);
|
|
1581
1595
|
};
|
|
1582
1596
|
}
|
|
@@ -1587,7 +1601,7 @@ const discussionsList = tv({ slots: {
|
|
|
1587
1601
|
base: "space-y-8",
|
|
1588
1602
|
discussion: ""
|
|
1589
1603
|
} });
|
|
1590
|
-
const _sfc_main$
|
|
1604
|
+
const _sfc_main$19 = /* @__PURE__ */ defineComponent({
|
|
1591
1605
|
__name: "DiscussionsList",
|
|
1592
1606
|
props: {
|
|
1593
1607
|
comments: {},
|
|
@@ -1599,7 +1613,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1599
1613
|
const ui = computed(() => discussionsList());
|
|
1600
1614
|
return (_ctx, _cache) => {
|
|
1601
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) => {
|
|
1602
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1616
|
+
return openBlock(), createBlock(_sfc_main$20, {
|
|
1603
1617
|
key: comment.id,
|
|
1604
1618
|
comment,
|
|
1605
1619
|
class: normalizeClass(ui.value.discussion({ class: props.ui?.discussion }))
|
|
@@ -1611,7 +1625,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1611
1625
|
//#endregion
|
|
1612
1626
|
//#region src/components/Subtitle.vue
|
|
1613
1627
|
const subtitle = tv({ base: "text-sm text-dimmed" });
|
|
1614
|
-
const _sfc_main$
|
|
1628
|
+
const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
1615
1629
|
__name: "Subtitle",
|
|
1616
1630
|
props: {
|
|
1617
1631
|
text: {},
|
|
@@ -1628,7 +1642,7 @@ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
|
|
|
1628
1642
|
//#endregion
|
|
1629
1643
|
//#region src/components/Discussions/DiscussionsSectionSubtitle.vue
|
|
1630
1644
|
const discussionsSectionSubtitle = tv({ base: "" });
|
|
1631
|
-
const _sfc_main$
|
|
1645
|
+
const _sfc_main$17 = /* @__PURE__ */ defineComponent({
|
|
1632
1646
|
__name: "DiscussionsSectionSubtitle",
|
|
1633
1647
|
props: {
|
|
1634
1648
|
comments: {},
|
|
@@ -1649,7 +1663,7 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
|
|
|
1649
1663
|
});
|
|
1650
1664
|
const ui = computed(() => discussionsSectionSubtitle({ class: props.class }));
|
|
1651
1665
|
return (_ctx, _cache) => {
|
|
1652
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1666
|
+
return openBlock(), createBlock(_sfc_main$18, { class: normalizeClass(ui.value) }, {
|
|
1653
1667
|
default: withCtx(() => [createTextVNode(toDisplayString(commentsSubtitle.value) + " · " + toDisplayString(repliesSubtitle.value), 1)]),
|
|
1654
1668
|
_: 1
|
|
1655
1669
|
}, 8, ["class"]);
|
|
@@ -1659,7 +1673,7 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
|
|
|
1659
1673
|
//#endregion
|
|
1660
1674
|
//#region src/components/Section/SectionTitle.vue
|
|
1661
1675
|
const sectionTitle = tv({ slots: { base: "text-lg font-semibold text-default" } });
|
|
1662
|
-
const _sfc_main$
|
|
1676
|
+
const _sfc_main$16 = /* @__PURE__ */ defineComponent({
|
|
1663
1677
|
__name: "SectionTitle",
|
|
1664
1678
|
props: {
|
|
1665
1679
|
class: {},
|
|
@@ -1676,7 +1690,7 @@ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
|
|
|
1676
1690
|
//#endregion
|
|
1677
1691
|
//#region src/components/Discussions/DiscussionsSectionTitle.vue
|
|
1678
1692
|
const discussionsSectionTitle = tv({ slots: { base: "" } });
|
|
1679
|
-
const _sfc_main$
|
|
1693
|
+
const _sfc_main$15 = /* @__PURE__ */ defineComponent({
|
|
1680
1694
|
__name: "DiscussionsSectionTitle",
|
|
1681
1695
|
props: {
|
|
1682
1696
|
class: {},
|
|
@@ -1687,7 +1701,7 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
|
|
|
1687
1701
|
const { t } = useLocale();
|
|
1688
1702
|
const ui = computed(() => discussionsSectionTitle());
|
|
1689
1703
|
return (_ctx, _cache) => {
|
|
1690
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1704
|
+
return openBlock(), createBlock(_sfc_main$16, { class: normalizeClass(ui.value.base({ class: [props.ui?.base, props.class] })) }, {
|
|
1691
1705
|
default: withCtx(() => [createTextVNode(toDisplayString(unref(t)("discussions.DiscussionsSectionTitle.title")), 1)]),
|
|
1692
1706
|
_: 1
|
|
1693
1707
|
}, 8, ["class"]);
|
|
@@ -1707,7 +1721,7 @@ const discussionsSection = tv({ slots: {
|
|
|
1707
1721
|
header: "mb-6",
|
|
1708
1722
|
content: "mt-6"
|
|
1709
1723
|
} });
|
|
1710
|
-
const _sfc_main$
|
|
1724
|
+
const _sfc_main$14 = /* @__PURE__ */ defineComponent({
|
|
1711
1725
|
__name: "DiscussionsSection",
|
|
1712
1726
|
props: {
|
|
1713
1727
|
class: {},
|
|
@@ -1727,7 +1741,7 @@ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
|
|
|
1727
1741
|
const ui = computed(() => discussionsSection());
|
|
1728
1742
|
return (_ctx, _cache) => {
|
|
1729
1743
|
return openBlock(), createElementBlock("section", _hoisted_1$12, [createElementVNode("div", { class: normalizeClass(ui.value.base({ class: [props.class, props.ui?.base] })) }, [
|
|
1730
|
-
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),
|
|
1731
1745
|
createVNode(unref(AnimatePresence), null, {
|
|
1732
1746
|
default: withCtx(() => [unref(banner) && unref(isActive) ? (openBlock(), createBlock(unref(Motion), {
|
|
1733
1747
|
key: 0,
|
|
@@ -1773,21 +1787,21 @@ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
|
|
|
1773
1787
|
}),
|
|
1774
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 "),
|
|
1775
1789
|
unref(banner) && unref(isActive) ? (openBlock(), createElementBlock("div", _hoisted_2)) : createCommentVNode("v-if", true),
|
|
1776
|
-
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, {
|
|
1777
1791
|
key: 3,
|
|
1778
1792
|
text: unref(t)("discussions.DiscussionsSection.empty")
|
|
1779
|
-
}, null, 8, ["text"])) : (openBlock(), createBlock(_sfc_main$
|
|
1793
|
+
}, null, 8, ["text"])) : (openBlock(), createBlock(_sfc_main$19, {
|
|
1780
1794
|
key: 4,
|
|
1781
1795
|
comments: unref(comments) ?? []
|
|
1782
1796
|
}, null, 8, ["comments"])),
|
|
1783
|
-
createVNode(_sfc_main$
|
|
1797
|
+
createVNode(_sfc_main$32, { class: "mt-12" })
|
|
1784
1798
|
], 2)]);
|
|
1785
1799
|
};
|
|
1786
1800
|
}
|
|
1787
1801
|
});
|
|
1788
1802
|
//#endregion
|
|
1789
1803
|
//#region src/components/Comments.vue
|
|
1790
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
1804
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
1791
1805
|
__name: "Comments",
|
|
1792
1806
|
props: {
|
|
1793
1807
|
pageId: {},
|
|
@@ -1805,7 +1819,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1805
1819
|
banner
|
|
1806
1820
|
});
|
|
1807
1821
|
return (_ctx, _cache) => {
|
|
1808
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1822
|
+
return openBlock(), createBlock(_sfc_main$14, {
|
|
1809
1823
|
class: normalizeClass(props.class),
|
|
1810
1824
|
ui: props.ui
|
|
1811
1825
|
}, null, 8, ["class", "ui"]);
|
|
@@ -1818,7 +1832,7 @@ const container = tv({ slots: {
|
|
|
1818
1832
|
base: "px-4 sm:px-6 lg:px-8",
|
|
1819
1833
|
inner: "w-full max-w-7xl mx-auto"
|
|
1820
1834
|
} });
|
|
1821
|
-
const _sfc_main$
|
|
1835
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
1822
1836
|
__name: "Container",
|
|
1823
1837
|
props: {
|
|
1824
1838
|
class: {},
|
|
@@ -1902,7 +1916,7 @@ const feedbackCard = tv({ slots: {
|
|
|
1902
1916
|
radioGroupItem: "peer",
|
|
1903
1917
|
radioGroupLabel: "grayscale-100 hover:grayscale-0 peer-data-[state=checked]:grayscale-0"
|
|
1904
1918
|
} });
|
|
1905
|
-
const _sfc_main$
|
|
1919
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
1906
1920
|
__name: "FeedbackCard",
|
|
1907
1921
|
props: /* @__PURE__ */ mergeModels({
|
|
1908
1922
|
id: {},
|
|
@@ -2102,7 +2116,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
2102
2116
|
//#endregion
|
|
2103
2117
|
//#region src/components/Feedback/Feedback.vue
|
|
2104
2118
|
const feedback = tv({ slots: { base: "px-0 py-1 text-dimmed text-sm" } });
|
|
2105
|
-
const _sfc_main$
|
|
2119
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
2106
2120
|
__name: "Feedback",
|
|
2107
2121
|
props: {
|
|
2108
2122
|
id: {},
|
|
@@ -2125,7 +2139,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
2125
2139
|
const ui = computed(() => feedback());
|
|
2126
2140
|
return (_ctx, _cache) => {
|
|
2127
2141
|
return openBlock(), createBlock(UPopover, { ui: { content: "ring-0 data-[state=open]:animate-[scale-up_100ms_ease-out]" } }, {
|
|
2128
|
-
content: withCtx(() => [createVNode(_sfc_main$
|
|
2142
|
+
content: withCtx(() => [createVNode(_sfc_main$4, {
|
|
2129
2143
|
id: props.id,
|
|
2130
2144
|
rating: rating.value,
|
|
2131
2145
|
"onUpdate:rating": _cache[0] || (_cache[0] = ($event) => rating.value = $event),
|
|
@@ -2246,7 +2260,7 @@ const header = tv({ slots: {
|
|
|
2246
2260
|
base: "h-(--ui-header-height) flex flex-row gap-4 items-center justify-end",
|
|
2247
2261
|
link: "p-0 text-dimmed"
|
|
2248
2262
|
} });
|
|
2249
|
-
const _sfc_main$
|
|
2263
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
2250
2264
|
__name: "Header",
|
|
2251
2265
|
props: {
|
|
2252
2266
|
links: {},
|
|
@@ -2261,7 +2275,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
2261
2275
|
}
|
|
2262
2276
|
const ui = computed(() => header());
|
|
2263
2277
|
return (_ctx, _cache) => {
|
|
2264
|
-
return openBlock(), createBlock(_sfc_main$
|
|
2278
|
+
return openBlock(), createBlock(_sfc_main$2, { ui: { inner: "max-w-5xl" } }, {
|
|
2265
2279
|
default: withCtx(() => [createElementVNode("header", { class: normalizeClass(ui.value.base({ class: [props.ui?.base, props.class] })) }, [
|
|
2266
2280
|
(openBlock(true), createElementBlock(Fragment, null, renderList(props.links, (link) => {
|
|
2267
2281
|
return openBlock(), createBlock(UTooltip, {
|
|
@@ -2374,7 +2388,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
2374
2388
|
});
|
|
2375
2389
|
//#endregion
|
|
2376
2390
|
//#region src/components/LoginCallback.vue
|
|
2377
|
-
const _sfc_main$
|
|
2391
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
2378
2392
|
__name: "LoginCallback",
|
|
2379
2393
|
props: { class: {} },
|
|
2380
2394
|
setup(__props) {
|
|
@@ -2420,7 +2434,7 @@ const page = tv({ slots: {
|
|
|
2420
2434
|
right: "hidden xl:block xl:col-start-3 xl:pl-8 xl:h-full",
|
|
2421
2435
|
rightInner: "sticky top-4"
|
|
2422
2436
|
} });
|
|
2423
|
-
const _sfc_main$
|
|
2437
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
2424
2438
|
__name: "Page",
|
|
2425
2439
|
props: {
|
|
2426
2440
|
class: {},
|
|
@@ -2430,7 +2444,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
2430
2444
|
const props = __props;
|
|
2431
2445
|
const ui = computed(() => page());
|
|
2432
2446
|
return (_ctx, _cache) => {
|
|
2433
|
-
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, {
|
|
2434
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)]),
|
|
2435
2449
|
_: 3
|
|
2436
2450
|
}), renderSlot(_ctx.$slots, "bottom")], 2);
|
|
@@ -2440,7 +2454,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
2440
2454
|
//#endregion
|
|
2441
2455
|
//#region src/components/Page/PageTitle.vue
|
|
2442
2456
|
const pageTitle = tv({ slots: { base: "text-xl font-bold text-highlighted" } });
|
|
2443
|
-
const _sfc_main$
|
|
2457
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
2444
2458
|
__name: "PageTitle",
|
|
2445
2459
|
props: {
|
|
2446
2460
|
title: {},
|
|
@@ -2458,7 +2472,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
2458
2472
|
//#endregion
|
|
2459
2473
|
//#region src/components/Page/PageHeader.vue
|
|
2460
2474
|
const pageHeader = tv({ slots: { base: "" } });
|
|
2461
|
-
const _sfc_main$
|
|
2475
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
2462
2476
|
__name: "PageHeader",
|
|
2463
2477
|
props: {
|
|
2464
2478
|
title: {},
|
|
@@ -2469,7 +2483,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
2469
2483
|
const props = __props;
|
|
2470
2484
|
const ui = computed(() => pageHeader());
|
|
2471
2485
|
return (_ctx, _cache) => {
|
|
2472
|
-
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);
|
|
2473
2487
|
};
|
|
2474
2488
|
}
|
|
2475
2489
|
});
|
|
@@ -2497,7 +2511,7 @@ const socials = tv({ slots: {
|
|
|
2497
2511
|
link: "flex items-center gap-1",
|
|
2498
2512
|
icon: "size-4"
|
|
2499
2513
|
} });
|
|
2500
|
-
const _sfc_main$
|
|
2514
|
+
const _sfc_main$10 = /* @__PURE__ */ defineComponent({
|
|
2501
2515
|
__name: "Socials",
|
|
2502
2516
|
props: {
|
|
2503
2517
|
class: {},
|
|
@@ -2567,7 +2581,7 @@ const sponsors = tv({ slots: {
|
|
|
2567
2581
|
base: "not-prose",
|
|
2568
2582
|
img: "border-0"
|
|
2569
2583
|
} });
|
|
2570
|
-
const _sfc_main$
|
|
2584
|
+
const _sfc_main$11 = /* @__PURE__ */ defineComponent({
|
|
2571
2585
|
__name: "Sponsors",
|
|
2572
2586
|
props: {
|
|
2573
2587
|
class: {},
|
|
@@ -2615,7 +2629,7 @@ const tableOfContents = tv({ slots: {
|
|
|
2615
2629
|
list: "font-sofia",
|
|
2616
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"
|
|
2617
2631
|
} });
|
|
2618
|
-
const _sfc_main$
|
|
2632
|
+
const _sfc_main$12 = /* @__PURE__ */ defineComponent({
|
|
2619
2633
|
__name: "TableOfContents",
|
|
2620
2634
|
props: {
|
|
2621
2635
|
toc: {},
|
|
@@ -2656,7 +2670,7 @@ const viewersCounter = tv({ slots: {
|
|
|
2656
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",
|
|
2657
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"
|
|
2658
2672
|
} });
|
|
2659
|
-
const _sfc_main$
|
|
2673
|
+
const _sfc_main$13 = /* @__PURE__ */ defineComponent({
|
|
2660
2674
|
__name: "ViewersCounter",
|
|
2661
2675
|
props: {
|
|
2662
2676
|
class: {},
|
|
@@ -2714,4 +2728,4 @@ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
|
|
|
2714
2728
|
}
|
|
2715
2729
|
});
|
|
2716
2730
|
//#endregion
|
|
2717
|
-
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 };
|