@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.
Files changed (3) hide show
  1. package/dist/index.d.ts +161 -15
  2. package/dist/index.js +116 -102
  3. 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$1: typeof __VLS_export$11;
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$2: typeof __VLS_export$10;
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$3: typeof __VLS_export$9;
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$4: typeof __VLS_export$8;
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$5: typeof __VLS_export$7;
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$6: typeof __VLS_export$6;
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$7: typeof __VLS_export$5;
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$8: typeof __VLS_export$4;
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$9: typeof __VLS_export$3;
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$10: typeof __VLS_export$2;
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$11: typeof __VLS_export$1;
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$12: typeof __VLS_export;
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$13: typeof _useTableOfContents;
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 Comments, _default$1 as Container, _default$2 as Feedback, _default$3 as FeedbackCard, _default$4 as Header, _default$5 as LoginCallback, _default$6 as Page, _default$7 as PageHeader, _default$8 as PageTitle, _default$9 as Socials, _default$10 as Sponsors, _default$11 as TableOfContents, type TableOfContentsItem, _default$12 as ViewersCounter, useLogin, _default$13 as useTableOfContents, useUmami };
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$35 = /* @__PURE__ */ defineComponent({
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$34 = /* @__PURE__ */ defineComponent({
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$33 = /* @__PURE__ */ defineComponent({
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$32 = /* @__PURE__ */ defineComponent({
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$33, {
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$34, {
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$31 = /* @__PURE__ */ defineComponent({
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$35, { key: 0 })) : (openBlock(), createBlock(_sfc_main$32, { key: 1 }))], 2);
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$30 = /* @__PURE__ */ defineComponent({
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$29 = /* @__PURE__ */ defineComponent({
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$28 = /* @__PURE__ */ defineComponent({
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$27 = /* @__PURE__ */ defineComponent({
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$26 = /* @__PURE__ */ defineComponent({
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$27, {
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$26, {
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$25 = /* @__PURE__ */ defineComponent({
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$32, {
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$24 = /* @__PURE__ */ defineComponent({
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$23 = /* @__PURE__ */ defineComponent({
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$22 = /* @__PURE__ */ defineComponent({
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$21 = /* @__PURE__ */ defineComponent({
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$24, { comment: props.comment }, null, 8, ["comment"])], 2), showActions.value ? (openBlock(), createBlock(UDropdownMenu, {
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$25, {
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$23, {
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$22, {
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$20 = /* @__PURE__ */ defineComponent({
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$32, {
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$19 = /* @__PURE__ */ defineComponent({
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$21, { comment: __props.comment }, null, 8, ["comment"]),
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$21, {
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$20, { "parent-comment": __props.comment }, null, 8, ["parent-comment"])], 2)
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$18 = /* @__PURE__ */ defineComponent({
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$19, {
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$17 = /* @__PURE__ */ defineComponent({
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$16 = /* @__PURE__ */ defineComponent({
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$17, { class: normalizeClass(ui.value) }, {
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$15 = /* @__PURE__ */ defineComponent({
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$14 = /* @__PURE__ */ defineComponent({
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$15, { class: normalizeClass(ui.value.base({ class: [props.ui?.base, props.class] })) }, {
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$13 = /* @__PURE__ */ defineComponent({
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$14), createVNode(_sfc_main$16, { comments: unref(comments) ?? [] }, null, 8, ["comments"])], 2),
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$28, { key: 1 })) : unref(commentsError) ? (openBlock(), createBlock(_sfc_main$29, { key: 2 })) : !(unref(comments) ?? []).length ? (openBlock(), createBlock(_sfc_main$30, {
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$18, {
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$31, { class: "mt-12" })
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$13, {
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$1 = /* @__PURE__ */ defineComponent({
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$3 = /* @__PURE__ */ defineComponent({
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$2 = /* @__PURE__ */ defineComponent({
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$3, {
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$4 = /* @__PURE__ */ defineComponent({
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$1, { ui: { inner: "max-w-5xl" } }, {
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$5 = /* @__PURE__ */ defineComponent({
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$6 = /* @__PURE__ */ defineComponent({
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$1, null, {
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$8 = /* @__PURE__ */ defineComponent({
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$7 = /* @__PURE__ */ defineComponent({
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$8, { title: props.title }, null, 8, ["title"]), renderSlot(_ctx.$slots, "after")], 2);
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$9 = /* @__PURE__ */ defineComponent({
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$10 = /* @__PURE__ */ defineComponent({
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$11 = /* @__PURE__ */ defineComponent({
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$12 = /* @__PURE__ */ defineComponent({
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 Comments, _sfc_main$1 as Container, _sfc_main$2 as Feedback, _sfc_main$3 as FeedbackCard, _sfc_main$4 as Header, _sfc_main$5 as LoginCallback, _sfc_main$6 as Page, _sfc_main$7 as PageHeader, _sfc_main$8 as PageTitle, _sfc_main$9 as Socials, _sfc_main$10 as Sponsors, _sfc_main$11 as TableOfContents, _sfc_main$12 as ViewersCounter, useLogin, useTableOfContents_default as useTableOfContents, useUmami };
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 };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@soubiran/ui",
3
3
  "type": "module",
4
- "version": "0.10.1",
4
+ "version": "0.10.3",
5
5
  "author": "Estéban Soubiran <esteban@soubiran.dev>",
6
6
  "license": "MIT",
7
7
  "funding": "https://github.com/sponsors/Barbapapazes",