@rolatech/angular-comment 20.3.2-beta.4 → 20.3.3-beta.1
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.
|
@@ -28,6 +28,7 @@ class CommentService extends BaseService {
|
|
|
28
28
|
super(...arguments);
|
|
29
29
|
this.authService = inject(AuthService);
|
|
30
30
|
this.authUserService = inject(AuthUserService);
|
|
31
|
+
this.endpoint = 'comments';
|
|
31
32
|
// onCommentLoading = output<boolean>();
|
|
32
33
|
// onComment = output<boolean>();
|
|
33
34
|
// onCommentReply = output<Reply>();
|
|
@@ -35,10 +36,6 @@ class CommentService extends BaseService {
|
|
|
35
36
|
this.onComment = new EventEmitter();
|
|
36
37
|
this.onCommentReply = new EventEmitter();
|
|
37
38
|
}
|
|
38
|
-
init() {
|
|
39
|
-
this.endpoint = 'comments';
|
|
40
|
-
super.init();
|
|
41
|
-
}
|
|
42
39
|
findComments(options) {
|
|
43
40
|
options = {
|
|
44
41
|
sort: 'createdAt desc',
|
|
@@ -212,11 +209,11 @@ class CommentService extends BaseService {
|
|
|
212
209
|
withCredentials: true,
|
|
213
210
|
});
|
|
214
211
|
}
|
|
215
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
216
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.
|
|
217
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
212
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CommentService, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
213
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: CommentService, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
|
|
214
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CommentService, providedIn: 'root' }); }
|
|
218
215
|
}
|
|
219
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
216
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CommentService, decorators: [{
|
|
220
217
|
type: Injectable,
|
|
221
218
|
args: [{ providedIn: 'root' }]
|
|
222
219
|
}, {
|
|
@@ -226,8 +223,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
226
223
|
class CommentActionComponent {
|
|
227
224
|
constructor() {
|
|
228
225
|
this.commentService = inject(CommentService);
|
|
229
|
-
this.placeholder = input('Add a comment', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
|
|
230
|
-
this.data = input.required(...(ngDevMode ? [{ debugName: "data" }] : []));
|
|
226
|
+
this.placeholder = input('Add a comment', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
|
|
227
|
+
this.data = input.required(...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
231
228
|
this.reply = output();
|
|
232
229
|
this.thumbsUp = output();
|
|
233
230
|
this.thumbsDown = output();
|
|
@@ -254,10 +251,10 @@ class CommentActionComponent {
|
|
|
254
251
|
onThumbsDown() {
|
|
255
252
|
this.thumbsDown.emit();
|
|
256
253
|
}
|
|
257
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
258
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
254
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CommentActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
255
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: CommentActionComponent, isStandalone: true, selector: "rolatech-comment-action", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { reply: "reply", thumbsUp: "thumbsUp", thumbsDown: "thumbsDown" }, ngImport: i0, template: "<div>\n <div class=\"flex items-center -ml-2\">\n <button mat-icon-button class=\"max-w-8 max-h-8 !p-1\" (click)=\"onThumbsUp()\">\n <mat-icon [color]=\"data().like ? 'primary' : ''\">thumb_up</mat-icon>\n </button>\n @if (data().thumbsUpCount > 0) {\n <span class=\"text-sm opacity-80\">{{ data().thumbsUpCount }}</span>\n }\n <button mat-icon-button class=\"max-w-8 max-h-8 !p-1\" (click)=\"onThumbsDown()\">\n <mat-icon [color]=\"data().dislike ? 'primary' : ''\">thumb_down</mat-icon>\n </button>\n @if (data().thumbsDownCount > 0) {\n <span class=\"text-sm opacity-80\">{{ data().thumbsDownCount }}</span>\n }\n <button mat-button (click)=\"show = true\" class=\"max-w-8 max-h-8 ml-1\" i18n>Reply</button>\n </div>\n <div>\n @if (loading) {\n <div class=\"flex items-center justify-center h-20\">\n <mat-spinner diameter=\"32\"></mat-spinner>\n </div>\n } @else {\n @if (show) {\n <mat-form-field>\n <textarea\n matInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"8\"\n [placeholder]=\"placeholder()\"\n [(ngModel)]=\"content\"\n (focus)=\"show = true\"\n ></textarea>\n </mat-form-field>\n <div class=\"flex justify-end items-center gap-2 pr-2\">\n <button mat-button class=\"max-h-9\" (click)=\"onCancel()\" i18n>Cancel</button>\n <button mat-flat-button class=\"max-h-9\" (click)=\"onReply()\" i18n>Reply</button>\n </div>\n }\n }\n </div>\n</div>\n", styles: ["mat-icon{transform:scale(.8)}mat-form-field{width:100%}textarea:focus{outline:none;box-shadow:none}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i6.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
|
|
259
256
|
}
|
|
260
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CommentActionComponent, decorators: [{
|
|
261
258
|
type: Component,
|
|
262
259
|
args: [{ selector: 'rolatech-comment-action', imports: [AngularCommonModule, MatButtonModule, MatIconModule, MatFormFieldModule, MatInputModule, MatProgressSpinnerModule], template: "<div>\n <div class=\"flex items-center -ml-2\">\n <button mat-icon-button class=\"max-w-8 max-h-8 !p-1\" (click)=\"onThumbsUp()\">\n <mat-icon [color]=\"data().like ? 'primary' : ''\">thumb_up</mat-icon>\n </button>\n @if (data().thumbsUpCount > 0) {\n <span class=\"text-sm opacity-80\">{{ data().thumbsUpCount }}</span>\n }\n <button mat-icon-button class=\"max-w-8 max-h-8 !p-1\" (click)=\"onThumbsDown()\">\n <mat-icon [color]=\"data().dislike ? 'primary' : ''\">thumb_down</mat-icon>\n </button>\n @if (data().thumbsDownCount > 0) {\n <span class=\"text-sm opacity-80\">{{ data().thumbsDownCount }}</span>\n }\n <button mat-button (click)=\"show = true\" class=\"max-w-8 max-h-8 ml-1\" i18n>Reply</button>\n </div>\n <div>\n @if (loading) {\n <div class=\"flex items-center justify-center h-20\">\n <mat-spinner diameter=\"32\"></mat-spinner>\n </div>\n } @else {\n @if (show) {\n <mat-form-field>\n <textarea\n matInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"8\"\n [placeholder]=\"placeholder()\"\n [(ngModel)]=\"content\"\n (focus)=\"show = true\"\n ></textarea>\n </mat-form-field>\n <div class=\"flex justify-end items-center gap-2 pr-2\">\n <button mat-button class=\"max-h-9\" (click)=\"onCancel()\" i18n>Cancel</button>\n <button mat-flat-button class=\"max-h-9\" (click)=\"onReply()\" i18n>Reply</button>\n </div>\n }\n }\n </div>\n</div>\n", styles: ["mat-icon{transform:scale(.8)}mat-form-field{width:100%}textarea:focus{outline:none;box-shadow:none}\n"] }]
|
|
263
260
|
}], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], reply: [{ type: i0.Output, args: ["reply"] }], thumbsUp: [{ type: i0.Output, args: ["thumbsUp"] }], thumbsDown: [{ type: i0.Output, args: ["thumbsDown"] }] } });
|
|
@@ -265,8 +262,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
265
262
|
class ReplyItemComponent {
|
|
266
263
|
constructor() {
|
|
267
264
|
this.commentService = inject(CommentService);
|
|
268
|
-
this.commentId = input.required(...(ngDevMode ? [{ debugName: "commentId" }] : []));
|
|
269
|
-
this.item = input.required(...(ngDevMode ? [{ debugName: "item" }] : []));
|
|
265
|
+
this.commentId = input.required(...(ngDevMode ? [{ debugName: "commentId" }] : /* istanbul ignore next */ []));
|
|
266
|
+
this.item = input.required(...(ngDevMode ? [{ debugName: "item" }] : /* istanbul ignore next */ []));
|
|
270
267
|
this.replied = output();
|
|
271
268
|
this.show = false;
|
|
272
269
|
effect(() => {
|
|
@@ -308,10 +305,10 @@ class ReplyItemComponent {
|
|
|
308
305
|
},
|
|
309
306
|
});
|
|
310
307
|
}
|
|
311
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
312
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
308
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ReplyItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
309
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: ReplyItemComponent, isStandalone: true, selector: "rolatech-reply-item", inputs: { commentId: { classPropertyName: "commentId", publicName: "commentId", isSignal: true, isRequired: true, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { replied: "replied" }, ngImport: i0, template: "<div class=\"block w-full\">\n @if (reply) {\n <div class=\"flex group\">\n <div class=\"bg-(--rt-brand-color) min-w-[28px] min-h-[28px] h-fit mr-3 rounded-full\">\n @if (reply.user && reply.user.avatar) {\n <img class=\"w-7 h-7 rounded-full\" [src]=\"reply.user.avatar\" alt />\n }\n </div>\n <div class=\"flex flex-col w-full\">\n <a class=\"mb-0.5\">\n @if (reply.user) {\n <span class=\"text-md font-semibold mr-1\">@{{ reply.user.username }}</span>\n }\n <span class=\"text-sm opacity-70\">{{ reply.createdAt | time }}</span>\n </a>\n <div [innerText]=\"reply.content\"></div>\n <rolatech-comment-action\n (reply)=\"onReply($event)\"\n [data]=\"reply\"\n (thumbsUp)=\"onThumbsUp()\"\n (thumbsDown)=\"onThumbsDown()\"\n ></rolatech-comment-action>\n </div>\n <div class=\"min-w-10\">\n <button\n class=\"hover:bg-(--rt-10-percent-layer) w-9 h-9 flex items-center justify-center rounded-full group-hover:visible\"\n [ngClass]=\"memnu.menuOpen ? 'visible' : 'invisible'\"\n [matMenuTriggerFor]=\"actionMenu\"\n #memnu=\"matMenuTrigger\"\n >\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n </div>\n }\n</div>\n<mat-menu #actionMenu=\"matMenu\">\n <button mat-menu-item>\n <mat-icon>flag</mat-icon>\n <span>\u4E3E\u62A5</span>\n </button>\n</mat-menu>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: CommentActionComponent, selector: "rolatech-comment-action", inputs: ["placeholder", "data"], outputs: ["reply", "thumbsUp", "thumbsDown"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: TimePipe, name: "time" }] }); }
|
|
313
310
|
}
|
|
314
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
311
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: ReplyItemComponent, decorators: [{
|
|
315
312
|
type: Component,
|
|
316
313
|
args: [{ selector: 'rolatech-reply-item', imports: [CommonModule, MatButtonModule, MatIconModule, CommentActionComponent, TimePipe, MatMenuModule], template: "<div class=\"block w-full\">\n @if (reply) {\n <div class=\"flex group\">\n <div class=\"bg-(--rt-brand-color) min-w-[28px] min-h-[28px] h-fit mr-3 rounded-full\">\n @if (reply.user && reply.user.avatar) {\n <img class=\"w-7 h-7 rounded-full\" [src]=\"reply.user.avatar\" alt />\n }\n </div>\n <div class=\"flex flex-col w-full\">\n <a class=\"mb-0.5\">\n @if (reply.user) {\n <span class=\"text-md font-semibold mr-1\">@{{ reply.user.username }}</span>\n }\n <span class=\"text-sm opacity-70\">{{ reply.createdAt | time }}</span>\n </a>\n <div [innerText]=\"reply.content\"></div>\n <rolatech-comment-action\n (reply)=\"onReply($event)\"\n [data]=\"reply\"\n (thumbsUp)=\"onThumbsUp()\"\n (thumbsDown)=\"onThumbsDown()\"\n ></rolatech-comment-action>\n </div>\n <div class=\"min-w-10\">\n <button\n class=\"hover:bg-(--rt-10-percent-layer) w-9 h-9 flex items-center justify-center rounded-full group-hover:visible\"\n [ngClass]=\"memnu.menuOpen ? 'visible' : 'invisible'\"\n [matMenuTriggerFor]=\"actionMenu\"\n #memnu=\"matMenuTrigger\"\n >\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n </div>\n }\n</div>\n<mat-menu #actionMenu=\"matMenu\">\n <button mat-menu-item>\n <mat-icon>flag</mat-icon>\n <span>\u4E3E\u62A5</span>\n </button>\n</mat-menu>\n" }]
|
|
317
314
|
}], ctorParameters: () => [], propDecorators: { commentId: [{ type: i0.Input, args: [{ isSignal: true, alias: "commentId", required: true }] }], item: [{ type: i0.Input, args: [{ isSignal: true, alias: "item", required: true }] }], replied: [{ type: i0.Output, args: ["replied"] }] } });
|
|
@@ -319,9 +316,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
319
316
|
class CommentRepliesComponent {
|
|
320
317
|
constructor() {
|
|
321
318
|
this.commentService = inject(CommentService);
|
|
322
|
-
this.total = model(0, ...(ngDevMode ? [{ debugName: "total" }] : []));
|
|
323
|
-
this.replies = model([], ...(ngDevMode ? [{ debugName: "replies" }] : []));
|
|
324
|
-
this.commentId = input.required(...(ngDevMode ? [{ debugName: "commentId" }] : []));
|
|
319
|
+
this.total = model(0, ...(ngDevMode ? [{ debugName: "total" }] : /* istanbul ignore next */ []));
|
|
320
|
+
this.replies = model([], ...(ngDevMode ? [{ debugName: "replies" }] : /* istanbul ignore next */ []));
|
|
321
|
+
this.commentId = input.required(...(ngDevMode ? [{ debugName: "commentId" }] : /* istanbul ignore next */ []));
|
|
325
322
|
this.replied = output();
|
|
326
323
|
this.fetch = output();
|
|
327
324
|
this.expand = false;
|
|
@@ -339,10 +336,10 @@ class CommentRepliesComponent {
|
|
|
339
336
|
this.total.set(this.total() + 1);
|
|
340
337
|
this.replies().push(reply);
|
|
341
338
|
}
|
|
342
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
343
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
339
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CommentRepliesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
340
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: CommentRepliesComponent, isStandalone: true, selector: "rolatech-comment-replies", inputs: { total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null }, replies: { classPropertyName: "replies", publicName: "replies", isSignal: true, isRequired: false, transformFunction: null }, commentId: { classPropertyName: "commentId", publicName: "commentId", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { total: "totalChange", replies: "repliesChange", replied: "replied", fetch: "fetch" }, ngImport: i0, template: "<div class=\"block ml-14\">\n @if (total() > 0) {\n <div>\n <button mat-button (click)=\"onFetch()\" class=\"max-h-9 mb-1\">\n <mat-icon>{{ expand ? 'keyboard_arrow_up' : 'keyboard_arrow_down' }}</mat-icon>\n <span class=\"mr-2 text-sm text-(--rt-brand-color)\" i18n>Replies({{ total() || replies.length }})</span>\n </button>\n <!-- <div class=\"less-button\">\n <button (click)=\"expand = false\">222</button>\n </div> -->\n </div>\n }\n @if (loading) {\n <div class=\"flex items-center justify-center h-20\">\n <mat-spinner diameter=\"32\"></mat-spinner>\n </div>\n }\n\n @if (expand) {\n @for (item of replies(); track $index) {\n <rolatech-reply-item [commentId]=\"commentId()\" [item]=\"item\" (replied)=\"onItemReplied($event)\"></rolatech-reply-item>\n }\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: ReplyItemComponent, selector: "rolatech-reply-item", inputs: ["commentId", "item"], outputs: ["replied"] }] }); }
|
|
344
341
|
}
|
|
345
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
342
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CommentRepliesComponent, decorators: [{
|
|
346
343
|
type: Component,
|
|
347
344
|
args: [{ selector: 'rolatech-comment-replies', imports: [CommonModule, MatButtonModule, MatIconModule, MatProgressSpinnerModule, ReplyItemComponent], template: "<div class=\"block ml-14\">\n @if (total() > 0) {\n <div>\n <button mat-button (click)=\"onFetch()\" class=\"max-h-9 mb-1\">\n <mat-icon>{{ expand ? 'keyboard_arrow_up' : 'keyboard_arrow_down' }}</mat-icon>\n <span class=\"mr-2 text-sm text-(--rt-brand-color)\" i18n>Replies({{ total() || replies.length }})</span>\n </button>\n <!-- <div class=\"less-button\">\n <button (click)=\"expand = false\">222</button>\n </div> -->\n </div>\n }\n @if (loading) {\n <div class=\"flex items-center justify-center h-20\">\n <mat-spinner diameter=\"32\"></mat-spinner>\n </div>\n }\n\n @if (expand) {\n @for (item of replies(); track $index) {\n <rolatech-reply-item [commentId]=\"commentId()\" [item]=\"item\" (replied)=\"onItemReplied($event)\"></rolatech-reply-item>\n }\n }\n</div>\n" }]
|
|
348
345
|
}], propDecorators: { total: [{ type: i0.Input, args: [{ isSignal: true, alias: "total", required: false }] }, { type: i0.Output, args: ["totalChange"] }], replies: [{ type: i0.Input, args: [{ isSignal: true, alias: "replies", required: false }] }, { type: i0.Output, args: ["repliesChange"] }], commentId: [{ type: i0.Input, args: [{ isSignal: true, alias: "commentId", required: true }] }], replied: [{ type: i0.Output, args: ["replied"] }], fetch: [{ type: i0.Output, args: ["fetch"] }] } });
|
|
@@ -350,7 +347,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
350
347
|
class CommentItemComponent {
|
|
351
348
|
constructor() {
|
|
352
349
|
this.commentService = inject(CommentService);
|
|
353
|
-
this.item = input.required(...(ngDevMode ? [{ debugName: "item" }] : []));
|
|
350
|
+
this.item = input.required(...(ngDevMode ? [{ debugName: "item" }] : /* istanbul ignore next */ []));
|
|
354
351
|
this.show = false;
|
|
355
352
|
this.loading = false;
|
|
356
353
|
effect(() => {
|
|
@@ -420,10 +417,10 @@ class CommentItemComponent {
|
|
|
420
417
|
},
|
|
421
418
|
});
|
|
422
419
|
}
|
|
423
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
424
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
420
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CommentItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
421
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: CommentItemComponent, isStandalone: true, selector: "rolatech-comment-item", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div class=\"block w-full\">\n @if (comment) {\n <div class=\"flex group\">\n <div class=\"bg-(--rt-brand-color) min-w-10 min-h-10 mr-4 h-fit rounded-full\">\n @if (comment.user && comment.user.avatar) {\n <img class=\"w-10 h-10 rounded-full\" [src]=\"comment.user.avatar\" alt />\n }\n </div>\n <div class=\"flex flex-col w-full\">\n <a class=\"mb-0.5\">\n @if (comment.user) {\n <span class=\"text-md font-semibold mr-1\">@{{ comment.user.username }}</span>\n }\n <span class=\"text-sm opacity-70\">{{ comment.createdAt | time }}</span>\n </a>\n\n <div [innerText]=\"comment.content\"></div>\n <rolatech-comment-action\n (reply)=\"onCommentReply($event)\"\n [data]=\"comment\"\n (thumbsUp)=\"onThumbsUp()\"\n (thumbsDown)=\"onThumbsDown()\"\n ></rolatech-comment-action>\n </div>\n <div class=\"min-w-9\">\n <button\n class=\"hover:bg-(--rt-10-percent-layer) w-9 h-9 flex items-center justify-center rounded-full group-hover:visible\"\n [ngClass]=\"memnu.menuOpen ? 'visible' : 'invisible'\"\n [matMenuTriggerFor]=\"actionMenu\"\n #memnu=\"matMenuTrigger\"\n >\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n </div>\n <div>\n <rolatech-comment-replies\n [total]=\"comment.repliesCount\"\n [commentId]=\"comment.id!\"\n [replies]=\"comment.replies!\"\n (fetch)=\"onFetchReplies($event)\"\n ></rolatech-comment-replies>\n </div>\n }\n</div>\n<mat-menu #actionMenu=\"matMenu\">\n <button mat-menu-item>\n <mat-icon>flag</mat-icon>\n <span>\u4E3E\u62A5</span>\n </button>\n</mat-menu>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "component", type: CommentRepliesComponent, selector: "rolatech-comment-replies", inputs: ["total", "replies", "commentId"], outputs: ["totalChange", "repliesChange", "replied", "fetch"] }, { kind: "component", type: CommentActionComponent, selector: "rolatech-comment-action", inputs: ["placeholder", "data"], outputs: ["reply", "thumbsUp", "thumbsDown"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: TimePipe, name: "time" }] }); }
|
|
425
422
|
}
|
|
426
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
423
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CommentItemComponent, decorators: [{
|
|
427
424
|
type: Component,
|
|
428
425
|
args: [{ selector: 'rolatech-comment-item', imports: [
|
|
429
426
|
CommonModule,
|
|
@@ -442,8 +439,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
442
439
|
class CommentsHeaderComponent {
|
|
443
440
|
constructor() {
|
|
444
441
|
this.commentService = inject(CommentService);
|
|
445
|
-
this.placeholder = input('Add a comment', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
|
|
446
|
-
this.total = model(0, ...(ngDevMode ? [{ debugName: "total" }] : []));
|
|
442
|
+
this.placeholder = input('Add a comment', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
|
|
443
|
+
this.total = model(0, ...(ngDevMode ? [{ debugName: "total" }] : /* istanbul ignore next */ []));
|
|
447
444
|
this.comment = output();
|
|
448
445
|
this.content = '';
|
|
449
446
|
this.show = false;
|
|
@@ -473,10 +470,10 @@ class CommentsHeaderComponent {
|
|
|
473
470
|
}
|
|
474
471
|
fetchByComments() { }
|
|
475
472
|
fetchByReplies() { }
|
|
476
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
477
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
473
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CommentsHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
474
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: CommentsHeaderComponent, isStandalone: true, selector: "rolatech-comments-header", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { total: "totalChange", comment: "comment" }, ngImport: i0, template: "<div class=\"my-2\">\n <div class=\"flex items-center gap-3 py-2\">\n <span class=\"text-lg font-bold\" i18n>Comments({{ total() }})</span>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <mat-icon>sort</mat-icon>\n <span i18n>Sort</span>\n </button>\n </div>\n\n @if (loading) {\n <div class=\"flex items-center justify-center h-20\">\n <mat-spinner diameter=\"32\"></mat-spinner>\n </div>\n } @else {\n <div class=\"mr-3\">\n <mat-form-field>\n <textarea\n matInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"8\"\n [placeholder]=\"placeholder()\"\n [(ngModel)]=\"content\"\n (focus)=\"onFocus($event)\"\n ></textarea>\n </mat-form-field>\n @if (show) {\n <div class=\"flex justify-end items-center gap-2 pr-2\">\n <button mat-button class=\"max-h-9\" (click)=\"onCancel()\" i18n>Cancel</button>\n <button mat-flat-button class=\"max-h-9\" (click)=\"onComment()\" i18n>Comment</button>\n </div>\n }\n </div>\n }\n</div>\n<mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"fetchByReplies()\" i18n>Top comments</button>\n <button mat-menu-item (click)=\"fetchByComments()\" i18n>Newest</button>\n</mat-menu>\n", styles: ["mat-form-field{width:100%}textarea:focus{outline:none;box-shadow:none}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i6.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
|
|
478
475
|
}
|
|
479
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
476
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CommentsHeaderComponent, decorators: [{
|
|
480
477
|
type: Component,
|
|
481
478
|
args: [{ selector: 'rolatech-comments-header', imports: [
|
|
482
479
|
AngularCommonModule,
|
|
@@ -493,7 +490,7 @@ class CommentsComponent {
|
|
|
493
490
|
constructor() {
|
|
494
491
|
this.commentService = inject(CommentService);
|
|
495
492
|
this.authUserService = inject(AuthUserService);
|
|
496
|
-
this.itemId = input.required(...(ngDevMode ? [{ debugName: "itemId" }] : []));
|
|
493
|
+
this.itemId = input.required(...(ngDevMode ? [{ debugName: "itemId" }] : /* istanbul ignore next */ []));
|
|
497
494
|
this.comments = [];
|
|
498
495
|
this.total = 0;
|
|
499
496
|
this.show = false;
|
|
@@ -525,10 +522,10 @@ class CommentsComponent {
|
|
|
525
522
|
error: (error) => { },
|
|
526
523
|
});
|
|
527
524
|
}
|
|
528
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
529
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
525
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CommentsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
526
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: CommentsComponent, isStandalone: true, selector: "rolatech-comments", inputs: { itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: true, isRequired: true, transformFunction: null } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col gap-3\" id=\"comment\">\n <rolatech-comments-header (comment)=\"onComment($event)\" [total]=\"total\"></rolatech-comments-header>\n @for (item of comments; track $index) {\n <rolatech-comment-item [item]=\"item\"></rolatech-comment-item>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "component", type: CommentItemComponent, selector: "rolatech-comment-item", inputs: ["item"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: CommentsHeaderComponent, selector: "rolatech-comments-header", inputs: ["placeholder", "total"], outputs: ["totalChange", "comment"] }] }); }
|
|
530
527
|
}
|
|
531
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
528
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CommentsComponent, decorators: [{
|
|
532
529
|
type: Component,
|
|
533
530
|
args: [{ selector: 'rolatech-comments', imports: [AngularCommonModule, CommentItemComponent, MatButtonModule, CommentsHeaderComponent], template: "<div class=\"flex flex-col gap-3\" id=\"comment\">\n <rolatech-comments-header (comment)=\"onComment($event)\" [total]=\"total\"></rolatech-comments-header>\n @for (item of comments; track $index) {\n <rolatech-comment-item [item]=\"item\"></rolatech-comment-item>\n }\n</div>\n" }]
|
|
534
531
|
}], propDecorators: { itemId: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemId", required: true }] }] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-comment.mjs","sources":["../../../../packages/angular-comment/src/lib/services/comment.service.ts","../../../../packages/angular-comment/src/lib/components/comment-action/comment-action.component.ts","../../../../packages/angular-comment/src/lib/components/comment-action/comment-action.component.html","../../../../packages/angular-comment/src/lib/components/reply-item/reply-item.component.ts","../../../../packages/angular-comment/src/lib/components/reply-item/reply-item.component.html","../../../../packages/angular-comment/src/lib/components/comment-replies/comment-replies.component.ts","../../../../packages/angular-comment/src/lib/components/comment-replies/comment-replies.component.html","../../../../packages/angular-comment/src/lib/components/comment-item/comment-item.component.ts","../../../../packages/angular-comment/src/lib/components/comment-item/comment-item.component.html","../../../../packages/angular-comment/src/lib/components/comments-header/comments-header.component.ts","../../../../packages/angular-comment/src/lib/components/comments-header/comments-header.component.html","../../../../packages/angular-comment/src/lib/components/comments/comments.component.ts","../../../../packages/angular-comment/src/lib/components/comments/comments.component.html","../../../../packages/angular-comment/src/lib/interfaces/comment.interface.ts","../../../../packages/angular-comment/src/rolatech-angular-comment.ts"],"sourcesContent":["import { Directive, EventEmitter, Injectable, inject, output } from '@angular/core';\nimport { AuthService, AuthUserService } from '@rolatech/angular-auth';\nimport { BaseService } from '@rolatech/angular-services';\nimport _ from 'lodash';\nimport { Observable, map, mergeMap, of, switchMap } from 'rxjs';\nimport { Comment, Reply } from '../interfaces';\n\n@Injectable({ providedIn: 'root' })\n@Directive()\nexport class CommentService extends BaseService {\n authService = inject(AuthService);\n authUserService = inject(AuthUserService);\n // onCommentLoading = output<boolean>();\n // onComment = output<boolean>();\n // onCommentReply = output<Reply>();\n onCommentLoading = new EventEmitter<boolean>();\n onComment = new EventEmitter<boolean>();\n onCommentReply = new EventEmitter<Reply>();\n\n override init() {\n this.endpoint = 'comments';\n super.init();\n }\n findComments(options: any): Observable<any> {\n options = {\n sort: 'createdAt desc',\n };\n return this.http.get(`${this.actionUrl}`, { params: options }).pipe(\n map((res: any) => {\n const userIds = _.uniq(_.map(res.data, 'userId')); // [12, 14, 16, 18]\n this.findCommentsUser(userIds);\n return res;\n }),\n );\n }\n findCommentsByItemId(itemId: any): Observable<any> {\n const options = {\n sort: 'createdAt desc',\n filter: `itemId:${itemId}`,\n };\n return this.http.get(`${this.actionUrl}`, { params: options }).pipe(\n switchMap((comments: any) => {\n const userIds = _.uniq(_.map(comments.data, 'userId')); // [12, 14, 16, 18]\n return this.findCommentsUser(userIds).pipe(\n map((users: any) => {\n comments.data?.forEach((item) => {\n const matchingUser = _.find(users.data, { id: item.userId });\n item.user = matchingUser;\n });\n return comments;\n }),\n );\n }),\n switchMap((comments: any) => {\n const ids = _.uniq(_.map(comments.data, 'id')); // [12, 14, 16, 18]\n return this.authService.introspect().pipe(\n switchMap((res) => {\n if (res.authenticated) {\n return this.findMyCommentsThumbs(ids).pipe(\n map((thumbs: any) => {\n comments.data?.forEach((item: Comment) => {\n const matchingComment = _.find(thumbs.data, (obj) => _.get(obj, `comment.id`) === item.id);\n item.like = matchingComment?.status === 'UP';\n item.dislike = matchingComment?.status === 'DOWN';\n });\n return comments;\n }),\n );\n } else {\n return of(comments);\n }\n }),\n );\n }),\n );\n }\n\n createComment(data: any): Observable<any> {\n return this.http\n .post(`${this.actionUrl}`, data, {\n withCredentials: true,\n })\n .pipe(\n map((res: any) => {\n res.data.repliesCount = 0;\n this.getUserInfo(res.data);\n return res.data;\n }),\n );\n }\n countCommnentsByItemId(itemId: string): Observable<any> {\n return this.http.get(`${this.actionUrl}/count/by`, { params: { itemId } });\n }\n countRepliesByCommentId(commentId: string): Observable<any> {\n return this.http.get(`${this.actionUrl}/replies/count/by`, { params: { commentId } });\n }\n\n reply(id: string, data: any): Observable<any> {\n return this.http\n .post(`${this.actionUrl}/${id}/replies`, data, {\n withCredentials: true,\n })\n .pipe(\n map((res: any) => {\n this.getReplyUserInfo(res.data);\n return res.data;\n }),\n );\n }\n findRepliesByCommentId(commentId: string): Observable<any> {\n return this.http.get(`${this.actionUrl}/${commentId}/replies`).pipe(\n switchMap((replies: any) => {\n const userIds = _.uniq(_.map(replies.data, 'senderId')); // [12, 14, 16, 18]\n return this.findRepliesUser(userIds).pipe(\n map((users) => {\n replies.data?.forEach((item) => {\n const matchingUser = _.find(users.data, { id: item.senderId });\n item.user = matchingUser;\n });\n return replies;\n }),\n );\n }),\n switchMap((replies) => {\n const ids = _.uniq(_.map(replies.data, 'id'));\n return this.authService.introspect().pipe(\n switchMap((res) => {\n if (res.authenticated) {\n return this.findMyRepliesThumbs(ids).pipe(\n map((thumbs) => {\n replies.data?.forEach((reply: Reply) => {\n const matchingReply = _.find(thumbs.data, (obj) => _.get(obj, `reply.id`) === reply.id);\n reply.like = matchingReply?.status === 'UP';\n reply.dislike = matchingReply?.status === 'DOWN';\n });\n return replies;\n }),\n );\n } else {\n return of(replies);\n }\n }),\n );\n }),\n );\n }\n commentThumbsUp(commentId: string): Observable<any> {\n return this.http.post(\n `${this.actionUrl}/${commentId}/thumbs/up`,\n {},\n {\n withCredentials: true,\n },\n );\n }\n commentThumbsDown(commentId: string): Observable<any> {\n return this.http.post(\n `${this.actionUrl}/${commentId}/thumbs/down`,\n {},\n {\n withCredentials: true,\n },\n );\n }\n deleteCommentThumbsUp(commentId: string): Observable<any> {\n return this.http.delete(`${this.actionUrl}/${commentId}/thumbs/up`, {\n withCredentials: true,\n });\n }\n deleteCommentThumbsDown(commentId: string): Observable<any> {\n return this.http.delete(`${this.actionUrl}/${commentId}/thumbs/down`, {\n withCredentials: true,\n });\n }\n replyThumbsUp(replyId: string): Observable<any> {\n return this.http.post(\n `${this.actionUrl}/replies/${replyId}/thumbs/up`,\n {},\n {\n withCredentials: true,\n },\n );\n }\n replyThumbsDown(replyId: string): Observable<any> {\n return this.http.post(\n `${this.actionUrl}/replies/${replyId}/thumbs/down`,\n {},\n {\n withCredentials: true,\n },\n );\n }\n\n deleteReplyThumbsUp(replyId: string): Observable<any> {\n return this.http.delete(`${this.actionUrl}/${replyId}/thumbs/up`, {\n withCredentials: true,\n });\n }\n deleteReplyThumbsDown(replyId: string): Observable<any> {\n return this.http.delete(`${this.actionUrl}/${replyId}/thumbs/down`, {\n withCredentials: true,\n });\n }\n\n getReplyUserInfo(reply: any) {\n this.authUserService.getPublicUserInfo(reply.senderId).subscribe({\n next: (res) => {\n reply.user = res;\n },\n });\n }\n getUserInfo(comment: any) {\n this.authUserService.getPublicUserInfo(comment.userId).subscribe({\n next: (res) => {\n comment.user = res;\n },\n });\n }\n findRepliesUser(ids: Array<string>): Observable<any> {\n return this.authUserService.findPublicInfoByIds(ids);\n }\n findCommentsUser(ids: Array<string>): Observable<any> {\n return this.authUserService.findPublicInfoByIds(ids);\n }\n findMyCommentsThumbs(ids: Array<string>): Observable<any> {\n const params = { ids: ids.join(',') };\n return this.http.get(`${this.actionUrl}/thumbs/me`, {\n params: params,\n withCredentials: true,\n });\n }\n findMyRepliesThumbs(ids: Array<string>): Observable<any> {\n const params = { ids: ids.join(',') };\n return this.http.get(`${this.actionUrl}/replies/thumbs/me`, {\n params: params,\n withCredentials: true,\n });\n }\n}\n","import { Component, inject, input, output } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { CommentService } from '../../services';\nimport { Comment, Reply } from '../../interfaces';\n\n@Component({\n selector: 'rolatech-comment-action',\n imports: [AngularCommonModule, MatButtonModule, MatIconModule, MatFormFieldModule, MatInputModule, MatProgressSpinnerModule],\n templateUrl: './comment-action.component.html',\n styleUrl: './comment-action.component.scss',\n})\nexport class CommentActionComponent {\n commentService = inject(CommentService);\n placeholder = input<string>('Add a comment');\n data = input.required<Comment | Reply>();\n reply = output<string>();\n thumbsUp = output<void>();\n thumbsDown = output<void>();\n\n show = false;\n content = '';\n loading = false;\n\n onCancel() {\n this.show = false;\n this.content = '';\n }\n onReply() {\n this.loading = true;\n this.reply.emit(this.content);\n this.commentService.onCommentLoading.subscribe((res) => {\n this.loading = res;\n this.show = false;\n this.content = '';\n });\n }\n onThumbsUp() {\n this.thumbsUp.emit();\n }\n onThumbsDown() {\n this.thumbsDown.emit();\n }\n}\n","<div>\n <div class=\"flex items-center -ml-2\">\n <button mat-icon-button class=\"max-w-8 max-h-8 !p-1\" (click)=\"onThumbsUp()\">\n <mat-icon [color]=\"data().like ? 'primary' : ''\">thumb_up</mat-icon>\n </button>\n @if (data().thumbsUpCount > 0) {\n <span class=\"text-sm opacity-80\">{{ data().thumbsUpCount }}</span>\n }\n <button mat-icon-button class=\"max-w-8 max-h-8 !p-1\" (click)=\"onThumbsDown()\">\n <mat-icon [color]=\"data().dislike ? 'primary' : ''\">thumb_down</mat-icon>\n </button>\n @if (data().thumbsDownCount > 0) {\n <span class=\"text-sm opacity-80\">{{ data().thumbsDownCount }}</span>\n }\n <button mat-button (click)=\"show = true\" class=\"max-w-8 max-h-8 ml-1\" i18n>Reply</button>\n </div>\n <div>\n @if (loading) {\n <div class=\"flex items-center justify-center h-20\">\n <mat-spinner diameter=\"32\"></mat-spinner>\n </div>\n } @else {\n @if (show) {\n <mat-form-field>\n <textarea\n matInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"8\"\n [placeholder]=\"placeholder()\"\n [(ngModel)]=\"content\"\n (focus)=\"show = true\"\n ></textarea>\n </mat-form-field>\n <div class=\"flex justify-end items-center gap-2 pr-2\">\n <button mat-button class=\"max-h-9\" (click)=\"onCancel()\" i18n>Cancel</button>\n <button mat-flat-button class=\"max-h-9\" (click)=\"onReply()\" i18n>Reply</button>\n </div>\n }\n }\n </div>\n</div>\n","import { Component, effect, inject, input, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Reply } from '../../interfaces';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommentActionComponent } from '../comment-action/comment-action.component';\nimport { CommentService } from '../../services';\nimport { TimePipe } from '@rolatech/angular-common';\nimport { MatMenuModule } from '@angular/material/menu';\n@Component({\n selector: 'rolatech-reply-item',\n imports: [CommonModule, MatButtonModule, MatIconModule, CommentActionComponent, TimePipe, MatMenuModule],\n templateUrl: './reply-item.component.html',\n styleUrl: './reply-item.component.scss',\n})\nexport class ReplyItemComponent {\n commentService = inject(CommentService);\n commentId = input.required<string>();\n item = input.required<Reply>();\n replied = output<Reply>();\n reply!: Reply;\n constructor() {\n effect(() => {\n this.reply = this.item();\n });\n }\n\n show = false;\n onReply(content: string) {\n const data = {\n replyId: this.reply.id,\n content,\n };\n this.commentService.reply(this.commentId(), data).subscribe({\n next: (res) => {\n this.commentService.onCommentLoading.emit(false);\n this.replied.emit(res);\n },\n error: (error) => {\n this.commentService.onCommentLoading.emit(false);\n },\n });\n }\n onThumbsUp() {\n this.commentService.replyThumbsUp(this.reply.id).subscribe({\n next: (res) => {\n this.reply.thumbsUpCount = res.data.thumbsUpCount;\n this.reply.thumbsDownCount = res.data.thumbsDownCount;\n this.reply.like = true;\n this.reply.dislike = false;\n },\n });\n }\n onThumbsDown() {\n this.commentService.replyThumbsDown(this.reply.id).subscribe({\n next: (res) => {\n this.reply.thumbsUpCount = res.data.thumbsUpCount;\n this.reply.thumbsDownCount = res.data.thumbsDownCount;\n this.reply.like = false;\n this.reply.dislike = true;\n },\n });\n }\n}\n","<div class=\"block w-full\">\n @if (reply) {\n <div class=\"flex group\">\n <div class=\"bg-(--rt-brand-color) min-w-[28px] min-h-[28px] h-fit mr-3 rounded-full\">\n @if (reply.user && reply.user.avatar) {\n <img class=\"w-7 h-7 rounded-full\" [src]=\"reply.user.avatar\" alt />\n }\n </div>\n <div class=\"flex flex-col w-full\">\n <a class=\"mb-0.5\">\n @if (reply.user) {\n <span class=\"text-md font-semibold mr-1\">@{{ reply.user.username }}</span>\n }\n <span class=\"text-sm opacity-70\">{{ reply.createdAt | time }}</span>\n </a>\n <div [innerText]=\"reply.content\"></div>\n <rolatech-comment-action\n (reply)=\"onReply($event)\"\n [data]=\"reply\"\n (thumbsUp)=\"onThumbsUp()\"\n (thumbsDown)=\"onThumbsDown()\"\n ></rolatech-comment-action>\n </div>\n <div class=\"min-w-10\">\n <button\n class=\"hover:bg-(--rt-10-percent-layer) w-9 h-9 flex items-center justify-center rounded-full group-hover:visible\"\n [ngClass]=\"memnu.menuOpen ? 'visible' : 'invisible'\"\n [matMenuTriggerFor]=\"actionMenu\"\n #memnu=\"matMenuTrigger\"\n >\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n </div>\n }\n</div>\n<mat-menu #actionMenu=\"matMenu\">\n <button mat-menu-item>\n <mat-icon>flag</mat-icon>\n <span>举报</span>\n </button>\n</mat-menu>\n","import { Component, inject, input, model, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReplyItemComponent } from '../reply-item/reply-item.component';\nimport { Reply } from '../../interfaces';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommentService } from '../../services';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n@Component({\n selector: 'rolatech-comment-replies',\n imports: [CommonModule, MatButtonModule, MatIconModule, MatProgressSpinnerModule, ReplyItemComponent],\n templateUrl: './comment-replies.component.html',\n styleUrl: './comment-replies.component.scss',\n})\nexport class CommentRepliesComponent {\n commentService = inject(CommentService);\n total = model<number>(0);\n replies = model<Reply[]>([]);\n commentId = input.required<string>();\n\n replied = output<Reply>();\n fetch = output<string>();\n\n expand = false;\n loading = false;\n fetched = false;\n onFetch() {\n this.expand = !this.expand;\n if (!this.fetched) {\n this.fetched = true;\n this.fetch.emit(this.commentId());\n }\n }\n onItemReplied(reply: Reply) {\n this.total.set(this.total() + 1);\n this.replies().push(reply);\n }\n}\n","<div class=\"block ml-14\">\n @if (total() > 0) {\n <div>\n <button mat-button (click)=\"onFetch()\" class=\"max-h-9 mb-1\">\n <mat-icon>{{ expand ? 'keyboard_arrow_up' : 'keyboard_arrow_down' }}</mat-icon>\n <span class=\"mr-2 text-sm text-(--rt-brand-color)\" i18n>Replies({{ total() || replies.length }})</span>\n </button>\n <!-- <div class=\"less-button\">\n <button (click)=\"expand = false\">222</button>\n </div> -->\n </div>\n }\n @if (loading) {\n <div class=\"flex items-center justify-center h-20\">\n <mat-spinner diameter=\"32\"></mat-spinner>\n </div>\n }\n\n @if (expand) {\n @for (item of replies(); track $index) {\n <rolatech-reply-item [commentId]=\"commentId()\" [item]=\"item\" (replied)=\"onItemReplied($event)\"></rolatech-reply-item>\n }\n }\n</div>\n","import { Component, OnInit, effect, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Comment, Reply } from '../../interfaces';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { FormsModule } from '@angular/forms';\nimport { CommentRepliesComponent } from '../comment-replies/comment-replies.component';\nimport { CommentActionComponent } from '../comment-action/comment-action.component';\nimport { CommentService } from '../../services';\nimport { TimePipe } from '@rolatech/angular-common';\nimport { MatMenuModule } from '@angular/material/menu';\n\n@Component({\n selector: 'rolatech-comment-item',\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n CommentRepliesComponent,\n CommentActionComponent,\n TimePipe,\n MatMenuModule,\n ],\n templateUrl: './comment-item.component.html',\n styleUrl: './comment-item.component.scss',\n})\nexport class CommentItemComponent implements OnInit {\n commentService = inject(CommentService);\n item = input.required<Comment>();\n show = false;\n loading = false;\n comment!: Comment;\n constructor() {\n effect(() => {\n this.comment = this.item();\n });\n }\n\n ngOnInit(): void {\n // this.countRepliesByCommentId(this.comment.id!);\n }\n\n onFocus(event: any) {\n this.show = true;\n }\n onCommentReply(content: string) {\n const data = {\n content,\n };\n const id = this.comment.id as string;\n this.commentService.reply(id, data).subscribe({\n next: (res) => {\n this.comment.repliesCount++;\n this.comment.replies = this.comment.replies ? this.comment.replies : [];\n this.comment.replies.push(res);\n\n this.commentService.onCommentLoading.emit(false);\n this.commentService.onCommentReply.emit(res);\n },\n error: (error) => {\n this.commentService.onCommentLoading.emit(false);\n },\n });\n }\n countRepliesByCommentId(commentId: string) {\n this.commentService.countRepliesByCommentId(commentId).subscribe({\n next: (res) => {\n this.comment.repliesCount = res.data;\n },\n error: (error) => {},\n });\n }\n onFetchReplies(commentId: string) {\n this.loading = true;\n this.commentService.findRepliesByCommentId(commentId).subscribe({\n next: (res) => {\n this.comment.replies = res.data;\n },\n error: (error) => {\n this.loading = false;\n },\n });\n }\n onThumbsUp() {\n this.commentService.commentThumbsUp(this.comment.id).subscribe({\n next: (res) => {\n this.comment.thumbsUpCount = res.data.thumbsUpCount;\n this.comment.thumbsDownCount = res.data.thumbsDownCount;\n this.comment.like = true;\n this.comment.dislike = false;\n },\n });\n }\n onThumbsDown() {\n this.commentService.commentThumbsDown(this.comment.id).subscribe({\n next: (res) => {\n this.comment.thumbsUpCount = res.data.thumbsUpCount;\n this.comment.thumbsDownCount = res.data.thumbsDownCount;\n this.comment.like = false;\n this.comment.dislike = true;\n },\n });\n }\n}\n","<div class=\"block w-full\">\n @if (comment) {\n <div class=\"flex group\">\n <div class=\"bg-(--rt-brand-color) min-w-10 min-h-10 mr-4 h-fit rounded-full\">\n @if (comment.user && comment.user.avatar) {\n <img class=\"w-10 h-10 rounded-full\" [src]=\"comment.user.avatar\" alt />\n }\n </div>\n <div class=\"flex flex-col w-full\">\n <a class=\"mb-0.5\">\n @if (comment.user) {\n <span class=\"text-md font-semibold mr-1\">@{{ comment.user.username }}</span>\n }\n <span class=\"text-sm opacity-70\">{{ comment.createdAt | time }}</span>\n </a>\n\n <div [innerText]=\"comment.content\"></div>\n <rolatech-comment-action\n (reply)=\"onCommentReply($event)\"\n [data]=\"comment\"\n (thumbsUp)=\"onThumbsUp()\"\n (thumbsDown)=\"onThumbsDown()\"\n ></rolatech-comment-action>\n </div>\n <div class=\"min-w-9\">\n <button\n class=\"hover:bg-(--rt-10-percent-layer) w-9 h-9 flex items-center justify-center rounded-full group-hover:visible\"\n [ngClass]=\"memnu.menuOpen ? 'visible' : 'invisible'\"\n [matMenuTriggerFor]=\"actionMenu\"\n #memnu=\"matMenuTrigger\"\n >\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n </div>\n <div>\n <rolatech-comment-replies\n [total]=\"comment.repliesCount\"\n [commentId]=\"comment.id!\"\n [replies]=\"comment.replies!\"\n (fetch)=\"onFetchReplies($event)\"\n ></rolatech-comment-replies>\n </div>\n }\n</div>\n<mat-menu #actionMenu=\"matMenu\">\n <button mat-menu-item>\n <mat-icon>flag</mat-icon>\n <span>举报</span>\n </button>\n</mat-menu>\n","import { Component, OnInit, inject, input, model, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { CommentService } from '../../services';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n@Component({\n selector: 'rolatech-comments-header',\n imports: [\n AngularCommonModule,\n MatButtonModule,\n MatIconModule,\n MatMenuModule,\n MatFormFieldModule,\n MatInputModule,\n MatProgressSpinnerModule,\n ],\n templateUrl: './comments-header.component.html',\n styleUrl: './comments-header.component.scss',\n})\nexport class CommentsHeaderComponent implements OnInit {\n commentService = inject(CommentService);\n placeholder = input<string>('Add a comment');\n total = model<number>(0);\n comment = output<string>();\n content = '';\n show = false;\n loading = false;\n ngOnInit(): void {\n this.commentService.onComment.subscribe((res) => {\n // this.total++;\n this.total.set(this.total() + 1);\n });\n }\n onFocus(event: any) {\n this.show = true;\n }\n onCancel() {\n this.show = false;\n this.content = '';\n }\n onComment() {\n this.loading = true;\n this.comment.emit(this.content);\n this.commentService.onCommentLoading.subscribe((res) => {\n this.loading = res;\n this.show = false;\n this.content = '';\n });\n }\n fetchByComments() {}\n fetchByReplies() {}\n}\n","<div class=\"my-2\">\n <div class=\"flex items-center gap-3 py-2\">\n <span class=\"text-lg font-bold\" i18n>Comments({{ total() }})</span>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <mat-icon>sort</mat-icon>\n <span i18n>Sort</span>\n </button>\n </div>\n\n @if (loading) {\n <div class=\"flex items-center justify-center h-20\">\n <mat-spinner diameter=\"32\"></mat-spinner>\n </div>\n } @else {\n <div class=\"mr-3\">\n <mat-form-field>\n <textarea\n matInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"8\"\n [placeholder]=\"placeholder()\"\n [(ngModel)]=\"content\"\n (focus)=\"onFocus($event)\"\n ></textarea>\n </mat-form-field>\n @if (show) {\n <div class=\"flex justify-end items-center gap-2 pr-2\">\n <button mat-button class=\"max-h-9\" (click)=\"onCancel()\" i18n>Cancel</button>\n <button mat-flat-button class=\"max-h-9\" (click)=\"onComment()\" i18n>Comment</button>\n </div>\n }\n </div>\n }\n</div>\n<mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"fetchByReplies()\" i18n>Top comments</button>\n <button mat-menu-item (click)=\"fetchByComments()\" i18n>Newest</button>\n</mat-menu>\n","import { Component, OnChanges, SimpleChanges, inject, input } from '@angular/core';\nimport { CommentItemComponent } from '../comment-item/comment-item.component';\nimport { Comment } from '../../interfaces';\nimport { MatButtonModule } from '@angular/material/button';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { CommentService } from '../../services';\nimport { CommentsHeaderComponent } from '../comments-header/comments-header.component';\nimport { AuthUserService } from '@rolatech/angular-auth';\n\n@Component({\n selector: 'rolatech-comments',\n imports: [AngularCommonModule, CommentItemComponent, MatButtonModule, CommentsHeaderComponent],\n templateUrl: './comments.component.html',\n styleUrl: './comments.component.scss',\n})\nexport class CommentsComponent implements OnChanges {\n commentService = inject(CommentService);\n authUserService = inject(AuthUserService);\n itemId = input.required<string>();\n comments: Comment[] = [];\n total = 0;\n show = false;\n content = '';\n ngOnChanges(changes: SimpleChanges) {\n const itemId = changes['itemId'].currentValue;\n this.find(itemId);\n }\n find(itemId: string) {\n this.commentService.findCommentsByItemId(itemId).subscribe({\n next: (res: any) => {\n this.total = res.meta?.pagination.count;\n this.comments = res.data || [];\n },\n });\n }\n onComment(content: any) {\n const data = {\n itemId: this.itemId(),\n content,\n };\n this.commentService.createComment(data).subscribe({\n next: (res) => {\n this.comments.unshift(res);\n this.commentService.onCommentLoading.emit(false);\n this.commentService.onComment.emit(true);\n },\n error: (error) => {},\n });\n }\n}\n","<div class=\"flex flex-col gap-3\" id=\"comment\">\n <rolatech-comments-header (comment)=\"onComment($event)\" [total]=\"total\"></rolatech-comments-header>\n @for (item of comments; track $index) {\n <rolatech-comment-item [item]=\"item\"></rolatech-comment-item>\n }\n</div>\n","export interface Comment {\n id: string;\n userId: string;\n content: string;\n itemId: string;\n replies: Reply[];\n createdAt: string;\n user: CommentUser;\n repliesCount: number;\n thumbsUpCount: number;\n thumbsDownCount: number;\n like: boolean;\n dislike: boolean;\n}\nexport interface Reply {\n id: string;\n commentId: string;\n content: string;\n senderId: string;\n replyId?: string;\n recipientId: string;\n replies?: Reply[];\n createdAt: string;\n user: CommentUser;\n thumbsUpCount: number;\n thumbsDownCount: number;\n like: boolean;\n dislike: boolean;\n}\nexport interface CommentUser {\n id: string;\n avatar?: string;\n username: string;\n}\nexport interface Thumb {\n id: string;\n status: ThumbStatus | string;\n userId: string;\n}\nexport enum ThumbStatus {\n UP = <any>'Like',\n DOWN = <any>'Dislike',\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1","i2","i4","i5","i8"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rolatech-angular-comment.mjs","sources":["../../../../packages/angular-comment/src/lib/services/comment.service.ts","../../../../packages/angular-comment/src/lib/components/comment-action/comment-action.component.ts","../../../../packages/angular-comment/src/lib/components/comment-action/comment-action.component.html","../../../../packages/angular-comment/src/lib/components/reply-item/reply-item.component.ts","../../../../packages/angular-comment/src/lib/components/reply-item/reply-item.component.html","../../../../packages/angular-comment/src/lib/components/comment-replies/comment-replies.component.ts","../../../../packages/angular-comment/src/lib/components/comment-replies/comment-replies.component.html","../../../../packages/angular-comment/src/lib/components/comment-item/comment-item.component.ts","../../../../packages/angular-comment/src/lib/components/comment-item/comment-item.component.html","../../../../packages/angular-comment/src/lib/components/comments-header/comments-header.component.ts","../../../../packages/angular-comment/src/lib/components/comments-header/comments-header.component.html","../../../../packages/angular-comment/src/lib/components/comments/comments.component.ts","../../../../packages/angular-comment/src/lib/components/comments/comments.component.html","../../../../packages/angular-comment/src/lib/interfaces/comment.interface.ts","../../../../packages/angular-comment/src/rolatech-angular-comment.ts"],"sourcesContent":["import { Directive, EventEmitter, Injectable, inject, output } from '@angular/core';\nimport { AuthService, AuthUserService } from '@rolatech/angular-auth';\nimport { BaseService } from '@rolatech/angular-services';\nimport _ from 'lodash';\nimport { Observable, map, mergeMap, of, switchMap } from 'rxjs';\nimport { Comment, Reply } from '../interfaces';\n\n@Injectable({ providedIn: 'root' })\n@Directive()\nexport class CommentService extends BaseService {\n authService = inject(AuthService);\n authUserService = inject(AuthUserService);\n protected override readonly endpoint = 'comments';\n // onCommentLoading = output<boolean>();\n // onComment = output<boolean>();\n // onCommentReply = output<Reply>();\n onCommentLoading = new EventEmitter<boolean>();\n onComment = new EventEmitter<boolean>();\n onCommentReply = new EventEmitter<Reply>();\n findComments(options: any): Observable<any> {\n options = {\n sort: 'createdAt desc',\n };\n return this.http.get(`${this.actionUrl}`, { params: options }).pipe(\n map((res: any) => {\n const userIds = _.uniq(_.map(res.data, 'userId')); // [12, 14, 16, 18]\n this.findCommentsUser(userIds);\n return res;\n }),\n );\n }\n findCommentsByItemId(itemId: any): Observable<any> {\n const options = {\n sort: 'createdAt desc',\n filter: `itemId:${itemId}`,\n };\n return this.http.get(`${this.actionUrl}`, { params: options }).pipe(\n switchMap((comments: any) => {\n const userIds = _.uniq(_.map(comments.data, 'userId')); // [12, 14, 16, 18]\n return this.findCommentsUser(userIds).pipe(\n map((users: any) => {\n comments.data?.forEach((item) => {\n const matchingUser = _.find(users.data, { id: item.userId });\n item.user = matchingUser;\n });\n return comments;\n }),\n );\n }),\n switchMap((comments: any) => {\n const ids = _.uniq(_.map(comments.data, 'id')); // [12, 14, 16, 18]\n return this.authService.introspect().pipe(\n switchMap((res) => {\n if (res.authenticated) {\n return this.findMyCommentsThumbs(ids).pipe(\n map((thumbs: any) => {\n comments.data?.forEach((item: Comment) => {\n const matchingComment = _.find(thumbs.data, (obj) => _.get(obj, `comment.id`) === item.id);\n item.like = matchingComment?.status === 'UP';\n item.dislike = matchingComment?.status === 'DOWN';\n });\n return comments;\n }),\n );\n } else {\n return of(comments);\n }\n }),\n );\n }),\n );\n }\n\n createComment(data: any): Observable<any> {\n return this.http\n .post(`${this.actionUrl}`, data, {\n withCredentials: true,\n })\n .pipe(\n map((res: any) => {\n res.data.repliesCount = 0;\n this.getUserInfo(res.data);\n return res.data;\n }),\n );\n }\n countCommnentsByItemId(itemId: string): Observable<any> {\n return this.http.get(`${this.actionUrl}/count/by`, { params: { itemId } });\n }\n countRepliesByCommentId(commentId: string): Observable<any> {\n return this.http.get(`${this.actionUrl}/replies/count/by`, { params: { commentId } });\n }\n\n reply(id: string, data: any): Observable<any> {\n return this.http\n .post(`${this.actionUrl}/${id}/replies`, data, {\n withCredentials: true,\n })\n .pipe(\n map((res: any) => {\n this.getReplyUserInfo(res.data);\n return res.data;\n }),\n );\n }\n findRepliesByCommentId(commentId: string): Observable<any> {\n return this.http.get(`${this.actionUrl}/${commentId}/replies`).pipe(\n switchMap((replies: any) => {\n const userIds = _.uniq(_.map(replies.data, 'senderId')); // [12, 14, 16, 18]\n return this.findRepliesUser(userIds).pipe(\n map((users) => {\n replies.data?.forEach((item) => {\n const matchingUser = _.find(users.data, { id: item.senderId });\n item.user = matchingUser;\n });\n return replies;\n }),\n );\n }),\n switchMap((replies) => {\n const ids = _.uniq(_.map(replies.data, 'id'));\n return this.authService.introspect().pipe(\n switchMap((res) => {\n if (res.authenticated) {\n return this.findMyRepliesThumbs(ids).pipe(\n map((thumbs) => {\n replies.data?.forEach((reply: Reply) => {\n const matchingReply = _.find(thumbs.data, (obj) => _.get(obj, `reply.id`) === reply.id);\n reply.like = matchingReply?.status === 'UP';\n reply.dislike = matchingReply?.status === 'DOWN';\n });\n return replies;\n }),\n );\n } else {\n return of(replies);\n }\n }),\n );\n }),\n );\n }\n commentThumbsUp(commentId: string): Observable<any> {\n return this.http.post(\n `${this.actionUrl}/${commentId}/thumbs/up`,\n {},\n {\n withCredentials: true,\n },\n );\n }\n commentThumbsDown(commentId: string): Observable<any> {\n return this.http.post(\n `${this.actionUrl}/${commentId}/thumbs/down`,\n {},\n {\n withCredentials: true,\n },\n );\n }\n deleteCommentThumbsUp(commentId: string): Observable<any> {\n return this.http.delete(`${this.actionUrl}/${commentId}/thumbs/up`, {\n withCredentials: true,\n });\n }\n deleteCommentThumbsDown(commentId: string): Observable<any> {\n return this.http.delete(`${this.actionUrl}/${commentId}/thumbs/down`, {\n withCredentials: true,\n });\n }\n replyThumbsUp(replyId: string): Observable<any> {\n return this.http.post(\n `${this.actionUrl}/replies/${replyId}/thumbs/up`,\n {},\n {\n withCredentials: true,\n },\n );\n }\n replyThumbsDown(replyId: string): Observable<any> {\n return this.http.post(\n `${this.actionUrl}/replies/${replyId}/thumbs/down`,\n {},\n {\n withCredentials: true,\n },\n );\n }\n\n deleteReplyThumbsUp(replyId: string): Observable<any> {\n return this.http.delete(`${this.actionUrl}/${replyId}/thumbs/up`, {\n withCredentials: true,\n });\n }\n deleteReplyThumbsDown(replyId: string): Observable<any> {\n return this.http.delete(`${this.actionUrl}/${replyId}/thumbs/down`, {\n withCredentials: true,\n });\n }\n\n getReplyUserInfo(reply: any) {\n this.authUserService.getPublicUserInfo(reply.senderId).subscribe({\n next: (res) => {\n reply.user = res;\n },\n });\n }\n getUserInfo(comment: any) {\n this.authUserService.getPublicUserInfo(comment.userId).subscribe({\n next: (res) => {\n comment.user = res;\n },\n });\n }\n findRepliesUser(ids: Array<string>): Observable<any> {\n return this.authUserService.findPublicInfoByIds(ids);\n }\n findCommentsUser(ids: Array<string>): Observable<any> {\n return this.authUserService.findPublicInfoByIds(ids);\n }\n findMyCommentsThumbs(ids: Array<string>): Observable<any> {\n const params = { ids: ids.join(',') };\n return this.http.get(`${this.actionUrl}/thumbs/me`, {\n params: params,\n withCredentials: true,\n });\n }\n findMyRepliesThumbs(ids: Array<string>): Observable<any> {\n const params = { ids: ids.join(',') };\n return this.http.get(`${this.actionUrl}/replies/thumbs/me`, {\n params: params,\n withCredentials: true,\n });\n }\n}\n","import { Component, inject, input, output } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { CommentService } from '../../services';\nimport { Comment, Reply } from '../../interfaces';\n\n@Component({\n selector: 'rolatech-comment-action',\n imports: [AngularCommonModule, MatButtonModule, MatIconModule, MatFormFieldModule, MatInputModule, MatProgressSpinnerModule],\n templateUrl: './comment-action.component.html',\n styleUrl: './comment-action.component.scss',\n})\nexport class CommentActionComponent {\n commentService = inject(CommentService);\n placeholder = input<string>('Add a comment');\n data = input.required<Comment | Reply>();\n reply = output<string>();\n thumbsUp = output<void>();\n thumbsDown = output<void>();\n\n show = false;\n content = '';\n loading = false;\n\n onCancel() {\n this.show = false;\n this.content = '';\n }\n onReply() {\n this.loading = true;\n this.reply.emit(this.content);\n this.commentService.onCommentLoading.subscribe((res) => {\n this.loading = res;\n this.show = false;\n this.content = '';\n });\n }\n onThumbsUp() {\n this.thumbsUp.emit();\n }\n onThumbsDown() {\n this.thumbsDown.emit();\n }\n}\n","<div>\n <div class=\"flex items-center -ml-2\">\n <button mat-icon-button class=\"max-w-8 max-h-8 !p-1\" (click)=\"onThumbsUp()\">\n <mat-icon [color]=\"data().like ? 'primary' : ''\">thumb_up</mat-icon>\n </button>\n @if (data().thumbsUpCount > 0) {\n <span class=\"text-sm opacity-80\">{{ data().thumbsUpCount }}</span>\n }\n <button mat-icon-button class=\"max-w-8 max-h-8 !p-1\" (click)=\"onThumbsDown()\">\n <mat-icon [color]=\"data().dislike ? 'primary' : ''\">thumb_down</mat-icon>\n </button>\n @if (data().thumbsDownCount > 0) {\n <span class=\"text-sm opacity-80\">{{ data().thumbsDownCount }}</span>\n }\n <button mat-button (click)=\"show = true\" class=\"max-w-8 max-h-8 ml-1\" i18n>Reply</button>\n </div>\n <div>\n @if (loading) {\n <div class=\"flex items-center justify-center h-20\">\n <mat-spinner diameter=\"32\"></mat-spinner>\n </div>\n } @else {\n @if (show) {\n <mat-form-field>\n <textarea\n matInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"8\"\n [placeholder]=\"placeholder()\"\n [(ngModel)]=\"content\"\n (focus)=\"show = true\"\n ></textarea>\n </mat-form-field>\n <div class=\"flex justify-end items-center gap-2 pr-2\">\n <button mat-button class=\"max-h-9\" (click)=\"onCancel()\" i18n>Cancel</button>\n <button mat-flat-button class=\"max-h-9\" (click)=\"onReply()\" i18n>Reply</button>\n </div>\n }\n }\n </div>\n</div>\n","import { Component, effect, inject, input, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Reply } from '../../interfaces';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommentActionComponent } from '../comment-action/comment-action.component';\nimport { CommentService } from '../../services';\nimport { TimePipe } from '@rolatech/angular-common';\nimport { MatMenuModule } from '@angular/material/menu';\n@Component({\n selector: 'rolatech-reply-item',\n imports: [CommonModule, MatButtonModule, MatIconModule, CommentActionComponent, TimePipe, MatMenuModule],\n templateUrl: './reply-item.component.html',\n styleUrl: './reply-item.component.scss',\n})\nexport class ReplyItemComponent {\n commentService = inject(CommentService);\n commentId = input.required<string>();\n item = input.required<Reply>();\n replied = output<Reply>();\n reply!: Reply;\n constructor() {\n effect(() => {\n this.reply = this.item();\n });\n }\n\n show = false;\n onReply(content: string) {\n const data = {\n replyId: this.reply.id,\n content,\n };\n this.commentService.reply(this.commentId(), data).subscribe({\n next: (res) => {\n this.commentService.onCommentLoading.emit(false);\n this.replied.emit(res);\n },\n error: (error) => {\n this.commentService.onCommentLoading.emit(false);\n },\n });\n }\n onThumbsUp() {\n this.commentService.replyThumbsUp(this.reply.id).subscribe({\n next: (res) => {\n this.reply.thumbsUpCount = res.data.thumbsUpCount;\n this.reply.thumbsDownCount = res.data.thumbsDownCount;\n this.reply.like = true;\n this.reply.dislike = false;\n },\n });\n }\n onThumbsDown() {\n this.commentService.replyThumbsDown(this.reply.id).subscribe({\n next: (res) => {\n this.reply.thumbsUpCount = res.data.thumbsUpCount;\n this.reply.thumbsDownCount = res.data.thumbsDownCount;\n this.reply.like = false;\n this.reply.dislike = true;\n },\n });\n }\n}\n","<div class=\"block w-full\">\n @if (reply) {\n <div class=\"flex group\">\n <div class=\"bg-(--rt-brand-color) min-w-[28px] min-h-[28px] h-fit mr-3 rounded-full\">\n @if (reply.user && reply.user.avatar) {\n <img class=\"w-7 h-7 rounded-full\" [src]=\"reply.user.avatar\" alt />\n }\n </div>\n <div class=\"flex flex-col w-full\">\n <a class=\"mb-0.5\">\n @if (reply.user) {\n <span class=\"text-md font-semibold mr-1\">@{{ reply.user.username }}</span>\n }\n <span class=\"text-sm opacity-70\">{{ reply.createdAt | time }}</span>\n </a>\n <div [innerText]=\"reply.content\"></div>\n <rolatech-comment-action\n (reply)=\"onReply($event)\"\n [data]=\"reply\"\n (thumbsUp)=\"onThumbsUp()\"\n (thumbsDown)=\"onThumbsDown()\"\n ></rolatech-comment-action>\n </div>\n <div class=\"min-w-10\">\n <button\n class=\"hover:bg-(--rt-10-percent-layer) w-9 h-9 flex items-center justify-center rounded-full group-hover:visible\"\n [ngClass]=\"memnu.menuOpen ? 'visible' : 'invisible'\"\n [matMenuTriggerFor]=\"actionMenu\"\n #memnu=\"matMenuTrigger\"\n >\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n </div>\n }\n</div>\n<mat-menu #actionMenu=\"matMenu\">\n <button mat-menu-item>\n <mat-icon>flag</mat-icon>\n <span>举报</span>\n </button>\n</mat-menu>\n","import { Component, inject, input, model, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReplyItemComponent } from '../reply-item/reply-item.component';\nimport { Reply } from '../../interfaces';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommentService } from '../../services';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n@Component({\n selector: 'rolatech-comment-replies',\n imports: [CommonModule, MatButtonModule, MatIconModule, MatProgressSpinnerModule, ReplyItemComponent],\n templateUrl: './comment-replies.component.html',\n styleUrl: './comment-replies.component.scss',\n})\nexport class CommentRepliesComponent {\n commentService = inject(CommentService);\n total = model<number>(0);\n replies = model<Reply[]>([]);\n commentId = input.required<string>();\n\n replied = output<Reply>();\n fetch = output<string>();\n\n expand = false;\n loading = false;\n fetched = false;\n onFetch() {\n this.expand = !this.expand;\n if (!this.fetched) {\n this.fetched = true;\n this.fetch.emit(this.commentId());\n }\n }\n onItemReplied(reply: Reply) {\n this.total.set(this.total() + 1);\n this.replies().push(reply);\n }\n}\n","<div class=\"block ml-14\">\n @if (total() > 0) {\n <div>\n <button mat-button (click)=\"onFetch()\" class=\"max-h-9 mb-1\">\n <mat-icon>{{ expand ? 'keyboard_arrow_up' : 'keyboard_arrow_down' }}</mat-icon>\n <span class=\"mr-2 text-sm text-(--rt-brand-color)\" i18n>Replies({{ total() || replies.length }})</span>\n </button>\n <!-- <div class=\"less-button\">\n <button (click)=\"expand = false\">222</button>\n </div> -->\n </div>\n }\n @if (loading) {\n <div class=\"flex items-center justify-center h-20\">\n <mat-spinner diameter=\"32\"></mat-spinner>\n </div>\n }\n\n @if (expand) {\n @for (item of replies(); track $index) {\n <rolatech-reply-item [commentId]=\"commentId()\" [item]=\"item\" (replied)=\"onItemReplied($event)\"></rolatech-reply-item>\n }\n }\n</div>\n","import { Component, OnInit, effect, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Comment, Reply } from '../../interfaces';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { FormsModule } from '@angular/forms';\nimport { CommentRepliesComponent } from '../comment-replies/comment-replies.component';\nimport { CommentActionComponent } from '../comment-action/comment-action.component';\nimport { CommentService } from '../../services';\nimport { TimePipe } from '@rolatech/angular-common';\nimport { MatMenuModule } from '@angular/material/menu';\n\n@Component({\n selector: 'rolatech-comment-item',\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n CommentRepliesComponent,\n CommentActionComponent,\n TimePipe,\n MatMenuModule,\n ],\n templateUrl: './comment-item.component.html',\n styleUrl: './comment-item.component.scss',\n})\nexport class CommentItemComponent implements OnInit {\n commentService = inject(CommentService);\n item = input.required<Comment>();\n show = false;\n loading = false;\n comment!: Comment;\n constructor() {\n effect(() => {\n this.comment = this.item();\n });\n }\n\n ngOnInit(): void {\n // this.countRepliesByCommentId(this.comment.id!);\n }\n\n onFocus(event: any) {\n this.show = true;\n }\n onCommentReply(content: string) {\n const data = {\n content,\n };\n const id = this.comment.id as string;\n this.commentService.reply(id, data).subscribe({\n next: (res) => {\n this.comment.repliesCount++;\n this.comment.replies = this.comment.replies ? this.comment.replies : [];\n this.comment.replies.push(res);\n\n this.commentService.onCommentLoading.emit(false);\n this.commentService.onCommentReply.emit(res);\n },\n error: (error) => {\n this.commentService.onCommentLoading.emit(false);\n },\n });\n }\n countRepliesByCommentId(commentId: string) {\n this.commentService.countRepliesByCommentId(commentId).subscribe({\n next: (res) => {\n this.comment.repliesCount = res.data;\n },\n error: (error) => {},\n });\n }\n onFetchReplies(commentId: string) {\n this.loading = true;\n this.commentService.findRepliesByCommentId(commentId).subscribe({\n next: (res) => {\n this.comment.replies = res.data;\n },\n error: (error) => {\n this.loading = false;\n },\n });\n }\n onThumbsUp() {\n this.commentService.commentThumbsUp(this.comment.id).subscribe({\n next: (res) => {\n this.comment.thumbsUpCount = res.data.thumbsUpCount;\n this.comment.thumbsDownCount = res.data.thumbsDownCount;\n this.comment.like = true;\n this.comment.dislike = false;\n },\n });\n }\n onThumbsDown() {\n this.commentService.commentThumbsDown(this.comment.id).subscribe({\n next: (res) => {\n this.comment.thumbsUpCount = res.data.thumbsUpCount;\n this.comment.thumbsDownCount = res.data.thumbsDownCount;\n this.comment.like = false;\n this.comment.dislike = true;\n },\n });\n }\n}\n","<div class=\"block w-full\">\n @if (comment) {\n <div class=\"flex group\">\n <div class=\"bg-(--rt-brand-color) min-w-10 min-h-10 mr-4 h-fit rounded-full\">\n @if (comment.user && comment.user.avatar) {\n <img class=\"w-10 h-10 rounded-full\" [src]=\"comment.user.avatar\" alt />\n }\n </div>\n <div class=\"flex flex-col w-full\">\n <a class=\"mb-0.5\">\n @if (comment.user) {\n <span class=\"text-md font-semibold mr-1\">@{{ comment.user.username }}</span>\n }\n <span class=\"text-sm opacity-70\">{{ comment.createdAt | time }}</span>\n </a>\n\n <div [innerText]=\"comment.content\"></div>\n <rolatech-comment-action\n (reply)=\"onCommentReply($event)\"\n [data]=\"comment\"\n (thumbsUp)=\"onThumbsUp()\"\n (thumbsDown)=\"onThumbsDown()\"\n ></rolatech-comment-action>\n </div>\n <div class=\"min-w-9\">\n <button\n class=\"hover:bg-(--rt-10-percent-layer) w-9 h-9 flex items-center justify-center rounded-full group-hover:visible\"\n [ngClass]=\"memnu.menuOpen ? 'visible' : 'invisible'\"\n [matMenuTriggerFor]=\"actionMenu\"\n #memnu=\"matMenuTrigger\"\n >\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n </div>\n <div>\n <rolatech-comment-replies\n [total]=\"comment.repliesCount\"\n [commentId]=\"comment.id!\"\n [replies]=\"comment.replies!\"\n (fetch)=\"onFetchReplies($event)\"\n ></rolatech-comment-replies>\n </div>\n }\n</div>\n<mat-menu #actionMenu=\"matMenu\">\n <button mat-menu-item>\n <mat-icon>flag</mat-icon>\n <span>举报</span>\n </button>\n</mat-menu>\n","import { Component, OnInit, inject, input, model, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { CommentService } from '../../services';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n@Component({\n selector: 'rolatech-comments-header',\n imports: [\n AngularCommonModule,\n MatButtonModule,\n MatIconModule,\n MatMenuModule,\n MatFormFieldModule,\n MatInputModule,\n MatProgressSpinnerModule,\n ],\n templateUrl: './comments-header.component.html',\n styleUrl: './comments-header.component.scss',\n})\nexport class CommentsHeaderComponent implements OnInit {\n commentService = inject(CommentService);\n placeholder = input<string>('Add a comment');\n total = model<number>(0);\n comment = output<string>();\n content = '';\n show = false;\n loading = false;\n ngOnInit(): void {\n this.commentService.onComment.subscribe((res) => {\n // this.total++;\n this.total.set(this.total() + 1);\n });\n }\n onFocus(event: any) {\n this.show = true;\n }\n onCancel() {\n this.show = false;\n this.content = '';\n }\n onComment() {\n this.loading = true;\n this.comment.emit(this.content);\n this.commentService.onCommentLoading.subscribe((res) => {\n this.loading = res;\n this.show = false;\n this.content = '';\n });\n }\n fetchByComments() {}\n fetchByReplies() {}\n}\n","<div class=\"my-2\">\n <div class=\"flex items-center gap-3 py-2\">\n <span class=\"text-lg font-bold\" i18n>Comments({{ total() }})</span>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <mat-icon>sort</mat-icon>\n <span i18n>Sort</span>\n </button>\n </div>\n\n @if (loading) {\n <div class=\"flex items-center justify-center h-20\">\n <mat-spinner diameter=\"32\"></mat-spinner>\n </div>\n } @else {\n <div class=\"mr-3\">\n <mat-form-field>\n <textarea\n matInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"8\"\n [placeholder]=\"placeholder()\"\n [(ngModel)]=\"content\"\n (focus)=\"onFocus($event)\"\n ></textarea>\n </mat-form-field>\n @if (show) {\n <div class=\"flex justify-end items-center gap-2 pr-2\">\n <button mat-button class=\"max-h-9\" (click)=\"onCancel()\" i18n>Cancel</button>\n <button mat-flat-button class=\"max-h-9\" (click)=\"onComment()\" i18n>Comment</button>\n </div>\n }\n </div>\n }\n</div>\n<mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"fetchByReplies()\" i18n>Top comments</button>\n <button mat-menu-item (click)=\"fetchByComments()\" i18n>Newest</button>\n</mat-menu>\n","import { Component, OnChanges, SimpleChanges, inject, input } from '@angular/core';\nimport { CommentItemComponent } from '../comment-item/comment-item.component';\nimport { Comment } from '../../interfaces';\nimport { MatButtonModule } from '@angular/material/button';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { CommentService } from '../../services';\nimport { CommentsHeaderComponent } from '../comments-header/comments-header.component';\nimport { AuthUserService } from '@rolatech/angular-auth';\n\n@Component({\n selector: 'rolatech-comments',\n imports: [AngularCommonModule, CommentItemComponent, MatButtonModule, CommentsHeaderComponent],\n templateUrl: './comments.component.html',\n styleUrl: './comments.component.scss',\n})\nexport class CommentsComponent implements OnChanges {\n commentService = inject(CommentService);\n authUserService = inject(AuthUserService);\n itemId = input.required<string>();\n comments: Comment[] = [];\n total = 0;\n show = false;\n content = '';\n ngOnChanges(changes: SimpleChanges) {\n const itemId = changes['itemId'].currentValue;\n this.find(itemId);\n }\n find(itemId: string) {\n this.commentService.findCommentsByItemId(itemId).subscribe({\n next: (res: any) => {\n this.total = res.meta?.pagination.count;\n this.comments = res.data || [];\n },\n });\n }\n onComment(content: any) {\n const data = {\n itemId: this.itemId(),\n content,\n };\n this.commentService.createComment(data).subscribe({\n next: (res) => {\n this.comments.unshift(res);\n this.commentService.onCommentLoading.emit(false);\n this.commentService.onComment.emit(true);\n },\n error: (error) => {},\n });\n }\n}\n","<div class=\"flex flex-col gap-3\" id=\"comment\">\n <rolatech-comments-header (comment)=\"onComment($event)\" [total]=\"total\"></rolatech-comments-header>\n @for (item of comments; track $index) {\n <rolatech-comment-item [item]=\"item\"></rolatech-comment-item>\n }\n</div>\n","export interface Comment {\n id: string;\n userId: string;\n content: string;\n itemId: string;\n replies: Reply[];\n createdAt: string;\n user: CommentUser;\n repliesCount: number;\n thumbsUpCount: number;\n thumbsDownCount: number;\n like: boolean;\n dislike: boolean;\n}\nexport interface Reply {\n id: string;\n commentId: string;\n content: string;\n senderId: string;\n replyId?: string;\n recipientId: string;\n replies?: Reply[];\n createdAt: string;\n user: CommentUser;\n thumbsUpCount: number;\n thumbsDownCount: number;\n like: boolean;\n dislike: boolean;\n}\nexport interface CommentUser {\n id: string;\n avatar?: string;\n username: string;\n}\nexport interface Thumb {\n id: string;\n status: ThumbStatus | string;\n userId: string;\n}\nexport enum ThumbStatus {\n UP = <any>'Like',\n DOWN = <any>'Dislike',\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1","i2","i4","i5","i8"],"mappings":"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"}
|
package/package.json
CHANGED
package/themes/_default.scss
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! tailwindcss v4.2.
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-700:oklch(50% .134 242.749);--color-sky-900:oklch(39.1% .09 240.876);--color-sky-950:oklch(29.3% .066 243.157);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-thin:100;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-\[30px\]{top:30px}.-right-0,.right-0{right:calc(var(--spacing) * 0)}.-bottom-0,.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.-left-1\.5{left:calc(var(--spacing) * -1.5)}.left-0{left:calc(var(--spacing) * 0)}.left-\[30px\]{left:30px}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-9200{z-index:9200}.z-\[1000\]{z-index:1000}.z-\[1001\]{z-index:1001}.z-\[9999\]{z-index:9999}.order-1{order:1}.order-2{order:2}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-8{grid-column:span 8/span 8}.col-span-12{grid-column:span 12/span 12}.col-start-3{grid-column-start:3}.col-start-6{grid-column-start:6}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-1{margin:calc(var(--spacing) * -1)}.m-1{margin:calc(var(--spacing) * 1)}.m-3{margin:calc(var(--spacing) * 3)}.m-4{margin:calc(var(--spacing) * 4)}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-6{margin-block:calc(var(--spacing) * 6)}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-\[6px\]{margin-top:6px}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-4{margin-right:calc(var(--spacing) * 4)}.mr-6{margin-right:calc(var(--spacing) * 6)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-20{margin-bottom:calc(var(--spacing) * 20)}.mb-32{margin-bottom:calc(var(--spacing) * 32)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-0{margin-left:calc(var(--spacing) * 0)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-14{margin-left:calc(var(--spacing) * 14)}.ml-\[40px\]{margin-left:40px}.ml-\[56px\]{margin-left:56px}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.aspect-\[10\/16\]{aspect-ratio:10/16}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.\!h-6{height:calc(var(--spacing) * 6)!important}.h-0{height:calc(var(--spacing) * 0)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-36{height:calc(var(--spacing) * 36)}.h-56{height:calc(var(--spacing) * 56)}.h-80{height:calc(var(--spacing) * 80)}.h-\[1px\]{height:1px}.h-\[72px\]{height:72px}.h-\[80px\]{height:80px}.h-\[190px\]{height:190px}.h-\[256px\]{height:256px}.h-\[calc\(100dvh-56px\)\]{height:calc(100dvh - 56px)}.h-\[calc\(100vh-6rem\)\]{height:calc(100vh - 6rem)}.h-\[calc\(100vh-10rem\)\]{height:calc(100vh - 10rem)}.h-\[calc\(100vh-128px\)\]{height:calc(100vh - 128px)}.h-\[calc\(100vh-190px\)\]{height:calc(100vh - 190px)}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-min{height:min-content}.h-screen{height:100vh}.max-h-8{max-height:calc(var(--spacing) * 8)}.max-h-9{max-height:calc(var(--spacing) * 9)}.max-h-12{max-height:calc(var(--spacing) * 12)}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-\[55vh\]{max-height:55vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[320px\]{max-height:320px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-\[28px\]{min-height:28px}.min-h-\[80px\]{min-height:80px}.min-h-\[160px\]{min-height:160px}.min-h-\[214px\]{min-height:214px}.min-h-\[280px\]{min-height:280px}.min-h-\[320px\]{min-height:320px}.min-h-\[420px\]{min-height:420px}.min-h-full{min-height:100%}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-1\/4{width:25%}.w-2{width:calc(var(--spacing) * 2)}.w-2\/3{width:66.6667%}.w-2\/5{width:40%}.w-2\/6{width:33.3333%}.w-3{width:calc(var(--spacing) * 3)}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-4{width:calc(var(--spacing) * 4)}.w-4\/6{width:66.6667%}.w-4\/12{width:33.3333%}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-8\/12{width:66.6667%}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-\[50\%\]{width:50%}.w-\[60px\]{width:60px}.w-\[80\%\]{width:80%}.w-\[80px\]{width:80px}.w-\[100px\]{width:100px}.w-\[120px\]{width:120px}.w-\[128px\]{width:128px}.w-\[160px\]{width:160px}.w-\[180px\]{width:180px}.w-\[190px\]{width:190px}.w-\[256px\]{width:256px}.w-\[min\(92vw\,520px\)\]{width:min(92vw,520px)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-8{max-width:calc(var(--spacing) * 8)}.max-w-24{max-width:calc(var(--spacing) * 24)}.max-w-\[65\%\]{max-width:65%}.max-w-\[80\%\]{max-width:80%}.max-w-\[128px\]{max-width:128px}.max-w-\[180px\]{max-width:180px}.max-w-\[500px\]{max-width:500px}.max-w-\[820px\]{max-width:820px}.max-w-\[1120px\]{max-width:1120px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[1300px\]{max-width:1300px}.max-w-\[1396px\]{max-width:1396px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-xl{max-width:var(--container-xl)}.\!min-w-0{min-width:calc(var(--spacing) * 0)!important}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-12{min-width:calc(var(--spacing) * 12)}.min-w-20{min-width:calc(var(--spacing) * 20)}.min-w-24{min-width:calc(var(--spacing) * 24)}.min-w-28{min-width:calc(var(--spacing) * 28)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-\[28px\]{min-width:28px}.min-w-\[40\%\]{min-width:40%}.min-w-\[80\%\]{min-width:80%}.min-w-\[120px\]{min-width:120px}.min-w-\[140px\]{min-width:140px}.min-w-\[150px\]{min-width:150px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-\[256px\]{min-width:256px}.min-w-\[280px\]{min-width:280px}.min-w-\[320px\]{min-width:320px}.min-w-\[900px\]{min-width:900px}.min-w-\[980px\]{min-width:980px}.min-w-\[1000px\]{min-width:1000px}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.basis-1\/2{flex-basis:50%}.basis-1\/3{flex-basis:33.3333%}.border-collapse{border-collapse:collapse}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-none{translate:none}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing) * 1)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-dashed>:not(:last-child)){--tw-border-style:dashed;border-style:dashed}:where(.divide-\(--rt-10-percent-layer\)>:not(:last-child)){border-color:var(--rt-10-percent-layer)}:where(.divide-\(--rt-border-color\)>:not(:last-child)){border-color:var(--rt-border-color)}:where(.divide-\(--rt-raised-background\)>:not(:last-child)){border-color:var(--rt-raised-background)}:where(.divide-\[color\:var\(--rt-outline\,rgba\(0\,0\,0\,0\.08\)\)\]>:not(:last-child)){border-color:var(--rt-outline,#00000014)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[1\.75rem\]{border-radius:1.75rem}.rounded-\[28px\]{border-radius:28px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\(--rt-border-color\){border-color:var(--rt-border-color)}.border-\(--rt-brand-color\){border-color:var(--rt-brand-color)}.border-\(--rt-raised-background\){border-color:var(--rt-raised-background)}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-300\/40{border-color:#ffd23666}@supports (color:color-mix(in lab, red, red)){.border-amber-300\/40{border-color:color-mix(in oklab, var(--color-amber-300) 40%, transparent)}}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/20{border-color:color-mix(in oklab, var(--color-amber-500) 20%, transparent)}}.border-black{border-color:var(--color-black)}.border-current{border-color:currentColor}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-300{border-color:var(--color-emerald-300)}.border-green-200{border-color:var(--color-green-200)}.border-green-500\/20{border-color:#00c75833}@supports (color:color-mix(in lab, red, red)){.border-green-500\/20{border-color:color-mix(in oklab, var(--color-green-500) 20%, transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-300{border-color:var(--color-rose-300)}.border-rose-300\/40{border-color:#ffa2ae66}@supports (color:color-mix(in lab, red, red)){.border-rose-300\/40{border-color:color-mix(in oklab, var(--color-rose-300) 40%, transparent)}}.border-sky-200{border-color:var(--color-sky-200)}.border-slate-200{border-color:var(--color-slate-200)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\/50{border-color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.border-white\/50{border-color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.border-t-transparent{border-top-color:#0000}.\!bg-\(--rt-brand-color\){background-color:var(--rt-brand-color)!important}.bg-\(--rt-10-percent-layer\){background-color:var(--rt-10-percent-layer)}.bg-\(--rt-20-percent-layer\){background-color:var(--rt-20-percent-layer)}.bg-\(--rt-accent\){background-color:var(--rt-accent)}.bg-\(--rt-background\){background-color:var(--rt-background)}.bg-\(--rt-badge-chip-background\){background-color:var(--rt-badge-chip-background)}.bg-\(--rt-base-background\){background-color:var(--rt-base-background)}.bg-\(--rt-brand-color\){background-color:var(--rt-brand-color)}.bg-\(--rt-raised-background\){background-color:var(--rt-raised-background)}.bg-\(--rt-rasised-background\){background-color:var(--rt-rasised-background)}.bg-\(--rt-signin-inner-background\){background-color:var(--rt-signin-inner-background)}.bg-\(--rt-surface-2\){background-color:var(--rt-surface-2)}.bg-\(--rt-text-primary\){background-color:var(--rt-text-primary)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/5{background-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.bg-black\/5{background-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/10{background-color:color-mix(in oklab, var(--color-green-500) 10%, transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-300{background-color:var(--color-red-300)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-rose-500\/10{background-color:#ff23571a}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/10{background-color:color-mix(in oklab, var(--color-rose-500) 10%, transparent)}}.bg-sky-50{background-color:var(--color-sky-50)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-950\/70{background-color:#020618b3}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\/70{background-color:color-mix(in oklab, var(--color-slate-950) 70%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-fixed{background-attachment:fixed}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.\!p-1{padding:calc(var(--spacing) * 1)!important}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-11{padding:calc(var(--spacing) * 11)}.\!px-2{padding-inline:calc(var(--spacing) * 2)!important}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-11{padding-block:calc(var(--spacing) * 11)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-32{padding-bottom:calc(var(--spacing) * 32)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.\!text-base{font-size:var(--text-base)!important;line-height:var(--tw-leading,var(--text-base--line-height))!important}.\!text-xs{font-size:var(--text-xs)!important;line-height:var(--tw-leading,var(--text-xs--line-height))!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\!text-\[14px\]{font-size:14px!important}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-\(--rt-text-primary-inverse\){color:var(--rt-text-primary-inverse)!important}.text-\(--rt-accent-foreground\){color:var(--rt-accent-foreground)}.text-\(--rt-brand-color\){color:var(--rt-brand-color)}.text-\(--rt-text-primary\){color:var(--rt-text-primary)}.text-\(--rt-text-primary-inverse\){color:var(--rt-text-primary-inverse)}.text-\(--rt-text-secondary\){color:var(--rt-text-secondary)}.text-\[\#4A4A4A\]{color:#4a4a4a}.text-\[\#8C8C8C\]{color:#8c8c8c}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-amber-950{color:var(--color-amber-950)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-900{color:var(--color-emerald-900)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-green-700{color:var(--color-green-700)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-rose-200{color:var(--color-rose-200)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-rose-800{color:var(--color-rose-800)}.text-sky-700{color:var(--color-sky-700)}.text-sky-900{color:var(--color-sky-900)}.text-sky-950{color:var(--color-sky-950)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.text-yellow-800{color:var(--color-yellow-800)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline,.outline-1{outline-style:var(--tw-outline-style);outline-width:1px}.outline-4{outline-style:var(--tw-outline-style);outline-width:4px}.outline-transparent{outline-color:#0000}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-dashed{--tw-outline-style:dashed;outline-style:dashed}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.\[overflow-anchor\:none\]{overflow-anchor:none}@media (hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:bg-white:is(:where(.group):hover *){background-color:var(--color-white)}.group-hover\:shadow-sm:is(:where(.group):hover *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.after\:invisible:after{content:var(--tw-content);visibility:hidden}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-\(--rt-border-color\):after{content:var(--tw-content);border-color:var(--rt-border-color)}.after\:px-3\.5:after{content:var(--tw-content);padding-inline:calc(var(--spacing) * 3.5)}.after\:py-2\.5:after{content:var(--tw-content);padding-block:calc(var(--spacing) * 2.5)}.after\:whitespace-pre-wrap:after{content:var(--tw-content);white-space:pre-wrap}.after\:text-inherit:after{content:var(--tw-content);color:inherit}.after\:content-\[attr\(data-cloned-val\)_\'_\'\]:after{--tw-content:attr(data-cloned-val) " ";content:var(--tw-content)}.after\:\[grid-area\:1\/1\/2\/2\]:after{content:var(--tw-content);grid-area:1/1/2/2}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:cursor-pointer:hover{cursor:pointer}.hover\:rounded-none:hover{border-radius:0}.hover\:border-\(--rt-border-color\):hover{border-color:var(--rt-border-color)}.hover\:bg-\(--rt-10-percent-layer\):hover{background-color:var(--rt-10-percent-layer)}.hover\:bg-\(--rt-20-percent-layer\):hover{background-color:var(--rt-20-percent-layer)}.hover\:bg-\(--rt-base-background\):hover{background-color:var(--rt-base-background)}.hover\:bg-\(--rt-brand-color\):hover{background-color:var(--rt-brand-color)}.hover\:bg-\(--rt-outline\):hover{background-color:var(--rt-outline)}.hover\:bg-\(--rt-raised-background\):hover{background-color:var(--rt-raised-background)}.hover\:bg-amber-100:hover{background-color:var(--color-amber-100)}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.hover\:bg-emerald-100:hover{background-color:var(--color-emerald-100)}.hover\:bg-rose-100:hover{background-color:var(--color-rose-100)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:text-\(--rt-brand-color\):hover{color:var(--rt-brand-color)}.hover\:text-\(--rt-text-primary-inverse\):hover{color:var(--rt-text-primary-inverse)}.hover\:text-orange-600:hover{color:var(--color-orange-600)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:outline-\(--rt-raised-background\):hover{outline-color:var(--rt-raised-background)}.hover\:outline-gray-200:hover{outline-color:var(--color-gray-200)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-\(--rt-raised-background\):disabled{background-color:var(--rt-raised-background)}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:visible{visibility:visible}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:mt-1{margin-top:calc(var(--spacing) * 1)}.sm\:aspect-video{aspect-ratio:var(--aspect-video)}.sm\:h-28{height:calc(var(--spacing) * 28)}.sm\:w-1\/3{width:33.3333%}.sm\:w-1\/4{width:25%}.sm\:w-3\/4{width:75%}.sm\:w-28{width:calc(var(--spacing) * 28)}.sm\:w-\[300px\]{width:300px}.sm\:min-w-\[33\%\]{min-width:33%}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pb-3{padding-bottom:calc(var(--spacing) * 3)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:48rem){.md\:visible{visibility:visible}.md\:static{position:static}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-6{grid-column:span 6/span 6}.md\:mt-6{margin-top:calc(var(--spacing) * 6)}.md\:mr-0{margin-right:calc(var(--spacing) * 0)}.md\:mr-16{margin-right:calc(var(--spacing) * 16)}.md\:mb-1{margin-bottom:calc(var(--spacing) * 1)}.md\:ml-0{margin-left:calc(var(--spacing) * 0)}.md\:ml-2{margin-left:calc(var(--spacing) * 2)}.md\:ml-8{margin-left:calc(var(--spacing) * 8)}.md\:ml-16{margin-left:calc(var(--spacing) * 16)}.md\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:table-cell{display:table-cell}.md\:h-14{height:calc(var(--spacing) * 14)}.md\:h-36{height:calc(var(--spacing) * 36)}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:max-h-10{max-height:calc(var(--spacing) * 10)}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.3333%}.md\:w-1\/4{width:25%}.md\:w-2\/3{width:66.6667%}.md\:w-3\/4{width:75%}.md\:w-36{width:calc(var(--spacing) * 36)}.md\:w-80{width:calc(var(--spacing) * 80)}.md\:w-\[600px\]{width:600px}.md\:w-full{width:100%}.md\:max-w-\[70\%\]{max-width:70%}.md\:max-w-\[768px\]{max-width:768px}.md\:min-w-\[25\%\]{min-width:25%}.md\:min-w-\[28\%\]{min-width:28%}.md\:min-w-\[30\%\]{min-width:30%}.md\:min-w-\[320px\]{min-width:320px}.md\:basis-1\/2{flex-basis:50%}.md\:translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:flex-col{flex-direction:column}.md\:flex-row{flex-direction:row}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:justify-end{justify-content:flex-end}.md\:gap-4{gap:calc(var(--spacing) * 4)}.md\:gap-10{gap:calc(var(--spacing) * 10)}.md\:rounded-xl{border-radius:var(--radius-xl)}.md\:bg-\(--rt-base-background\){background-color:var(--rt-base-background)}.md\:p-3{padding:calc(var(--spacing) * 3)}.md\:px-0{padding-inline:calc(var(--spacing) * 0)}.md\:px-1{padding-inline:calc(var(--spacing) * 1)}.md\:px-3{padding-inline:calc(var(--spacing) * 3)}.md\:px-16{padding-inline:calc(var(--spacing) * 16)}.md\:px-\[60px\]{padding-inline:60px}.md\:py-10{padding-block:calc(var(--spacing) * 10)}.md\:pr-16{padding-right:calc(var(--spacing) * 16)}.md\:pb-3{padding-bottom:calc(var(--spacing) * 3)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}@media (min-width:64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:mt-4{margin-top:calc(var(--spacing) * 4)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:table-cell{display:table-cell}.lg\:w-1\/2{width:50%}.lg\:w-1\/6{width:16.6667%}.lg\:w-\[30\%\]{width:30%}.lg\:w-\[70\%\]{width:70%}.lg\:w-\[900px\]{width:900px}.lg\:basis-1\/2{flex-basis:50%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-\[360px_minmax\(0\,1fr\)\]{grid-template-columns:360px minmax(0,1fr)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:p-4{padding:calc(var(--spacing) * 4)}.lg\:p-11{padding:calc(var(--spacing) * 11)}.lg\:px-0{padding-inline:calc(var(--spacing) * 0)}.lg\:px-3{padding-inline:calc(var(--spacing) * 3)}.lg\:px-6{padding-inline:calc(var(--spacing) * 6)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:pt-0{padding-top:calc(var(--spacing) * 0)}.lg\:pt-1{padding-top:calc(var(--spacing) * 1)}.lg\:pt-3{padding-top:calc(var(--spacing) * 3)}.lg\:pr-4{padding-right:calc(var(--spacing) * 4)}.lg\:pr-6{padding-right:calc(var(--spacing) * 6)}.lg\:pl-4{padding-left:calc(var(--spacing) * 4)}}@media (min-width:80rem){.xl\:block{display:block}.xl\:hidden{display:none}.xl\:w-1\/8{width:12.5%}.xl\:w-\[1000px\]{width:1000px}.xl\:max-w-\[1024px\]{max-width:1024px}.xl\:min-w-\[320px\]{min-width:320px}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[260px_minmax\(0\,1fr\)\]{grid-template-columns:260px minmax(0,1fr)}.xl\:grid-cols-\[320px_minmax\(0\,1fr\)\]{grid-template-columns:320px minmax(0,1fr)}.xl\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(0\,0\.8fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.xl\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(320px\,0\.8fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.xl\:grid-cols-\[minmax\(0\,1\.3fr\)_minmax\(320px\,0\.7fr\)\]{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)}.xl\:grid-cols-\[minmax\(0\,1fr\)_360px\]{grid-template-columns:minmax(0,1fr) 360px}.xl\:flex-row{flex-direction:row}.xl\:items-center{align-items:center}.xl\:items-start{align-items:flex-start}.xl\:justify-between{justify-content:space-between}}@media (min-width:96rem){.\32 xl\:max-w-\[1024px\]{max-width:1024px}.\32 xl\:max-w-\[1280px\]{max-width:1280px}.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:bg-\(--rt-raised-background\){background-color:var(--rt-raised-background)}}.\[\&\>textarea\]\:resize-none>textarea{resize:none}.\[\&\>textarea\]\:overflow-hidden>textarea{overflow:hidden}.\[\&\>textarea\]\:text-inherit>textarea{color:inherit}.\[\&\>textarea\]\:\[grid-area\:1\/1\/2\/2\]>textarea{grid-area:1/1/2/2}.\[\&\>tr\:nth-child\(even\)\]\:bg-\(--rt-raised-background\)>tr:nth-child(2n){background-color:var(--rt-raised-background)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|
|
1
|
+
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-700:oklch(50% .134 242.749);--color-sky-900:oklch(39.1% .09 240.876);--color-sky-950:oklch(29.3% .066 243.157);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-thin:100;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-\[30px\]{top:30px}.-right-0,.right-0{right:calc(var(--spacing) * 0)}.-bottom-0,.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.-left-1\.5{left:calc(var(--spacing) * -1.5)}.left-0{left:calc(var(--spacing) * 0)}.left-\[30px\]{left:30px}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-9200{z-index:9200}.z-\[1000\]{z-index:1000}.z-\[1001\]{z-index:1001}.z-\[9999\]{z-index:9999}.order-1{order:1}.order-2{order:2}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-8{grid-column:span 8/span 8}.col-span-12{grid-column:span 12/span 12}.col-start-3{grid-column-start:3}.col-start-6{grid-column-start:6}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-1{margin:calc(var(--spacing) * -1)}.m-1{margin:calc(var(--spacing) * 1)}.m-3{margin:calc(var(--spacing) * 3)}.m-4{margin:calc(var(--spacing) * 4)}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-6{margin-block:calc(var(--spacing) * 6)}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-\[6px\]{margin-top:6px}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-4{margin-right:calc(var(--spacing) * 4)}.mr-6{margin-right:calc(var(--spacing) * 6)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-20{margin-bottom:calc(var(--spacing) * 20)}.mb-32{margin-bottom:calc(var(--spacing) * 32)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-0{margin-left:calc(var(--spacing) * 0)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-14{margin-left:calc(var(--spacing) * 14)}.ml-\[40px\]{margin-left:40px}.ml-\[56px\]{margin-left:56px}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.aspect-\[10\/16\]{aspect-ratio:10/16}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.\!h-6{height:calc(var(--spacing) * 6)!important}.h-0{height:calc(var(--spacing) * 0)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-36{height:calc(var(--spacing) * 36)}.h-56{height:calc(var(--spacing) * 56)}.h-80{height:calc(var(--spacing) * 80)}.h-\[1px\]{height:1px}.h-\[72px\]{height:72px}.h-\[80px\]{height:80px}.h-\[190px\]{height:190px}.h-\[256px\]{height:256px}.h-\[calc\(100dvh-56px\)\]{height:calc(100dvh - 56px)}.h-\[calc\(100vh-6rem\)\]{height:calc(100vh - 6rem)}.h-\[calc\(100vh-10rem\)\]{height:calc(100vh - 10rem)}.h-\[calc\(100vh-128px\)\]{height:calc(100vh - 128px)}.h-\[calc\(100vh-190px\)\]{height:calc(100vh - 190px)}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-min{height:min-content}.h-screen{height:100vh}.max-h-8{max-height:calc(var(--spacing) * 8)}.max-h-9{max-height:calc(var(--spacing) * 9)}.max-h-12{max-height:calc(var(--spacing) * 12)}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-\[55vh\]{max-height:55vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[320px\]{max-height:320px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-\[28px\]{min-height:28px}.min-h-\[80px\]{min-height:80px}.min-h-\[160px\]{min-height:160px}.min-h-\[214px\]{min-height:214px}.min-h-\[280px\]{min-height:280px}.min-h-\[320px\]{min-height:320px}.min-h-\[420px\]{min-height:420px}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-1\/4{width:25%}.w-2{width:calc(var(--spacing) * 2)}.w-2\/3{width:66.6667%}.w-2\/5{width:40%}.w-2\/6{width:33.3333%}.w-3{width:calc(var(--spacing) * 3)}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-4{width:calc(var(--spacing) * 4)}.w-4\/6{width:66.6667%}.w-4\/12{width:33.3333%}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-8\/12{width:66.6667%}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-25{width:calc(var(--spacing) * 25)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-45{width:calc(var(--spacing) * 45)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-\[50\%\]{width:50%}.w-\[60px\]{width:60px}.w-\[80\%\]{width:80%}.w-\[80px\]{width:80px}.w-\[120px\]{width:120px}.w-\[128px\]{width:128px}.w-\[160px\]{width:160px}.w-\[190px\]{width:190px}.w-\[256px\]{width:256px}.w-\[min\(92vw\,520px\)\]{width:min(92vw,520px)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-8{max-width:calc(var(--spacing) * 8)}.max-w-24{max-width:calc(var(--spacing) * 24)}.max-w-45{max-width:calc(var(--spacing) * 45)}.max-w-\[65\%\]{max-width:65%}.max-w-\[80\%\]{max-width:80%}.max-w-\[128px\]{max-width:128px}.max-w-\[500px\]{max-width:500px}.max-w-\[820px\]{max-width:820px}.max-w-\[1120px\]{max-width:1120px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[1300px\]{max-width:1300px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-xl{max-width:var(--container-xl)}.\!min-w-0{min-width:calc(var(--spacing) * 0)!important}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-12{min-width:calc(var(--spacing) * 12)}.min-w-20{min-width:calc(var(--spacing) * 20)}.min-w-24{min-width:calc(var(--spacing) * 24)}.min-w-28{min-width:calc(var(--spacing) * 28)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-\[28px\]{min-width:28px}.min-w-\[40\%\]{min-width:40%}.min-w-\[80\%\]{min-width:80%}.min-w-\[120px\]{min-width:120px}.min-w-\[140px\]{min-width:140px}.min-w-\[150px\]{min-width:150px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-\[256px\]{min-width:256px}.min-w-\[280px\]{min-width:280px}.min-w-\[320px\]{min-width:320px}.min-w-\[900px\]{min-width:900px}.min-w-\[980px\]{min-width:980px}.min-w-\[1000px\]{min-width:1000px}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.basis-1\/2{flex-basis:50%}.basis-1\/3{flex-basis:33.3333%}.border-collapse{border-collapse:collapse}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-none{translate:none}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing) * 1)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-dashed>:not(:last-child)){--tw-border-style:dashed;border-style:dashed}:where(.divide-\(--rt-10-percent-layer\)>:not(:last-child)){border-color:var(--rt-10-percent-layer)}:where(.divide-\(--rt-border-color\)>:not(:last-child)){border-color:var(--rt-border-color)}:where(.divide-\(--rt-raised-background\)>:not(:last-child)){border-color:var(--rt-raised-background)}:where(.divide-\[color\:var\(--rt-outline\,rgba\(0\,0\,0\,0\.08\)\)\]>:not(:last-child)){border-color:var(--rt-outline,#00000014)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[1\.75rem\]{border-radius:1.75rem}.rounded-\[28px\]{border-radius:28px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\(--rt-border-color\){border-color:var(--rt-border-color)}.border-\(--rt-brand-color\){border-color:var(--rt-brand-color)}.border-\(--rt-raised-background\){border-color:var(--rt-raised-background)}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-300\/40{border-color:#ffd23666}@supports (color:color-mix(in lab, red, red)){.border-amber-300\/40{border-color:color-mix(in oklab, var(--color-amber-300) 40%, transparent)}}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/20{border-color:color-mix(in oklab, var(--color-amber-500) 20%, transparent)}}.border-black{border-color:var(--color-black)}.border-current{border-color:currentColor}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-300{border-color:var(--color-emerald-300)}.border-gray-200{border-color:var(--color-gray-200)}.border-green-200{border-color:var(--color-green-200)}.border-green-500\/20{border-color:#00c75833}@supports (color:color-mix(in lab, red, red)){.border-green-500\/20{border-color:color-mix(in oklab, var(--color-green-500) 20%, transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-300{border-color:var(--color-rose-300)}.border-rose-300\/40{border-color:#ffa2ae66}@supports (color:color-mix(in lab, red, red)){.border-rose-300\/40{border-color:color-mix(in oklab, var(--color-rose-300) 40%, transparent)}}.border-sky-200{border-color:var(--color-sky-200)}.border-slate-200{border-color:var(--color-slate-200)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\/50{border-color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.border-white\/50{border-color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.border-t-transparent{border-top-color:#0000}.bg-\(--rt-10-percent-layer\){background-color:var(--rt-10-percent-layer)}.bg-\(--rt-20-percent-layer\){background-color:var(--rt-20-percent-layer)}.bg-\(--rt-accent\){background-color:var(--rt-accent)}.bg-\(--rt-background\){background-color:var(--rt-background)}.bg-\(--rt-badge-chip-background\){background-color:var(--rt-badge-chip-background)}.bg-\(--rt-base-background\){background-color:var(--rt-base-background)}.bg-\(--rt-brand-color\){background-color:var(--rt-brand-color)}.bg-\(--rt-brand-color\)\!{background-color:var(--rt-brand-color)!important}.bg-\(--rt-raised-background\){background-color:var(--rt-raised-background)}.bg-\(--rt-rasised-background\){background-color:var(--rt-rasised-background)}.bg-\(--rt-signin-inner-background\){background-color:var(--rt-signin-inner-background)}.bg-\(--rt-surface-2\){background-color:var(--rt-surface-2)}.bg-\(--rt-text-primary\){background-color:var(--rt-text-primary)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/5{background-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.bg-black\/5{background-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/10{background-color:color-mix(in oklab, var(--color-green-500) 10%, transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-300{background-color:var(--color-red-300)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-rose-500\/10{background-color:#ff23571a}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/10{background-color:color-mix(in oklab, var(--color-rose-500) 10%, transparent)}}.bg-sky-50{background-color:var(--color-sky-50)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-950\/70{background-color:#020618b3}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\/70{background-color:color-mix(in oklab, var(--color-slate-950) 70%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-fixed{background-attachment:fixed}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.\!p-1{padding:calc(var(--spacing) * 1)!important}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-11{padding:calc(var(--spacing) * 11)}.\!px-2{padding-inline:calc(var(--spacing) * 2)!important}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-11{padding-block:calc(var(--spacing) * 11)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-32{padding-bottom:calc(var(--spacing) * 32)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.\!text-base{font-size:var(--text-base)!important;line-height:var(--tw-leading,var(--text-base--line-height))!important}.\!text-xs{font-size:var(--text-xs)!important;line-height:var(--tw-leading,var(--text-xs--line-height))!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\!text-\[14px\]{font-size:14px!important}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\(--rt-accent-foreground\){color:var(--rt-accent-foreground)}.text-\(--rt-brand-color\){color:var(--rt-brand-color)}.text-\(--rt-text-primary\){color:var(--rt-text-primary)}.text-\(--rt-text-primary-inverse\){color:var(--rt-text-primary-inverse)}.text-\(--rt-text-primary-inverse\)\!{color:var(--rt-text-primary-inverse)!important}.text-\(--rt-text-secondary\){color:var(--rt-text-secondary)}.text-\[\#4A4A4A\]{color:#4a4a4a}.text-\[\#8C8C8C\]{color:#8c8c8c}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-amber-950{color:var(--color-amber-950)}.text-black{color:var(--color-black)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-900{color:var(--color-emerald-900)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-green-700{color:var(--color-green-700)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-rose-200{color:var(--color-rose-200)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-rose-800{color:var(--color-rose-800)}.text-sky-700{color:var(--color-sky-700)}.text-sky-900{color:var(--color-sky-900)}.text-sky-950{color:var(--color-sky-950)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.text-yellow-800{color:var(--color-yellow-800)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline,.outline-1{outline-style:var(--tw-outline-style);outline-width:1px}.outline-4{outline-style:var(--tw-outline-style);outline-width:4px}.outline-transparent{outline-color:#0000}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-dashed{--tw-outline-style:dashed;outline-style:dashed}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.\[overflow-anchor\:none\]{overflow-anchor:none}@media (hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:bg-white:is(:where(.group):hover *){background-color:var(--color-white)}.group-hover\:shadow-sm:is(:where(.group):hover *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.after\:invisible:after{content:var(--tw-content);visibility:hidden}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-\(--rt-border-color\):after{content:var(--tw-content);border-color:var(--rt-border-color)}.after\:px-3\.5:after{content:var(--tw-content);padding-inline:calc(var(--spacing) * 3.5)}.after\:py-2\.5:after{content:var(--tw-content);padding-block:calc(var(--spacing) * 2.5)}.after\:whitespace-pre-wrap:after{content:var(--tw-content);white-space:pre-wrap}.after\:text-inherit:after{content:var(--tw-content);color:inherit}.after\:content-\[attr\(data-cloned-val\)_\'_\'\]:after{--tw-content:attr(data-cloned-val) " ";content:var(--tw-content)}.after\:\[grid-area\:1\/1\/2\/2\]:after{content:var(--tw-content);grid-area:1/1/2/2}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:cursor-pointer:hover{cursor:pointer}.hover\:rounded-none:hover{border-radius:0}.hover\:border-\(--rt-border-color\):hover{border-color:var(--rt-border-color)}.hover\:bg-\(--rt-10-percent-layer\):hover{background-color:var(--rt-10-percent-layer)}.hover\:bg-\(--rt-20-percent-layer\):hover{background-color:var(--rt-20-percent-layer)}.hover\:bg-\(--rt-base-background\):hover{background-color:var(--rt-base-background)}.hover\:bg-\(--rt-brand-color\):hover{background-color:var(--rt-brand-color)}.hover\:bg-\(--rt-outline\):hover{background-color:var(--rt-outline)}.hover\:bg-\(--rt-raised-background\):hover{background-color:var(--rt-raised-background)}.hover\:bg-amber-100:hover{background-color:var(--color-amber-100)}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.hover\:bg-emerald-100:hover{background-color:var(--color-emerald-100)}.hover\:bg-rose-100:hover{background-color:var(--color-rose-100)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:text-\(--rt-brand-color\):hover{color:var(--rt-brand-color)}.hover\:text-\(--rt-text-primary-inverse\):hover{color:var(--rt-text-primary-inverse)}.hover\:text-orange-600:hover{color:var(--color-orange-600)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:outline-\(--rt-raised-background\):hover{outline-color:var(--rt-raised-background)}.hover\:outline-gray-200:hover{outline-color:var(--color-gray-200)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-\(--rt-raised-background\):disabled{background-color:var(--rt-raised-background)}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:visible{visibility:visible}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:mt-1{margin-top:calc(var(--spacing) * 1)}.sm\:aspect-video{aspect-ratio:var(--aspect-video)}.sm\:h-28{height:calc(var(--spacing) * 28)}.sm\:w-1\/3{width:33.3333%}.sm\:w-1\/4{width:25%}.sm\:w-3\/4{width:75%}.sm\:w-28{width:calc(var(--spacing) * 28)}.sm\:w-\[300px\]{width:300px}.sm\:min-w-\[33\%\]{min-width:33%}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pb-3{padding-bottom:calc(var(--spacing) * 3)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:48rem){.md\:visible{visibility:visible}.md\:static{position:static}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-6{grid-column:span 6/span 6}.md\:mt-6{margin-top:calc(var(--spacing) * 6)}.md\:mr-0{margin-right:calc(var(--spacing) * 0)}.md\:mr-16{margin-right:calc(var(--spacing) * 16)}.md\:mb-1{margin-bottom:calc(var(--spacing) * 1)}.md\:ml-0{margin-left:calc(var(--spacing) * 0)}.md\:ml-2{margin-left:calc(var(--spacing) * 2)}.md\:ml-8{margin-left:calc(var(--spacing) * 8)}.md\:ml-16{margin-left:calc(var(--spacing) * 16)}.md\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:table-cell{display:table-cell}.md\:h-14{height:calc(var(--spacing) * 14)}.md\:h-36{height:calc(var(--spacing) * 36)}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:max-h-10{max-height:calc(var(--spacing) * 10)}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.3333%}.md\:w-1\/4{width:25%}.md\:w-2\/3{width:66.6667%}.md\:w-3\/4{width:75%}.md\:w-36{width:calc(var(--spacing) * 36)}.md\:w-80{width:calc(var(--spacing) * 80)}.md\:w-\[600px\]{width:600px}.md\:w-full{width:100%}.md\:max-w-\[70\%\]{max-width:70%}.md\:max-w-\[768px\]{max-width:768px}.md\:min-w-\[25\%\]{min-width:25%}.md\:min-w-\[28\%\]{min-width:28%}.md\:min-w-\[30\%\]{min-width:30%}.md\:min-w-\[320px\]{min-width:320px}.md\:basis-1\/2{flex-basis:50%}.md\:translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:flex-col{flex-direction:column}.md\:flex-row{flex-direction:row}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:justify-end{justify-content:flex-end}.md\:gap-4{gap:calc(var(--spacing) * 4)}.md\:gap-10{gap:calc(var(--spacing) * 10)}.md\:rounded-xl{border-radius:var(--radius-xl)}.md\:bg-\(--rt-base-background\){background-color:var(--rt-base-background)}.md\:p-3{padding:calc(var(--spacing) * 3)}.md\:px-0{padding-inline:calc(var(--spacing) * 0)}.md\:px-1{padding-inline:calc(var(--spacing) * 1)}.md\:px-3{padding-inline:calc(var(--spacing) * 3)}.md\:px-16{padding-inline:calc(var(--spacing) * 16)}.md\:px-\[60px\]{padding-inline:60px}.md\:py-10{padding-block:calc(var(--spacing) * 10)}.md\:pr-16{padding-right:calc(var(--spacing) * 16)}.md\:pb-3{padding-bottom:calc(var(--spacing) * 3)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}@media (min-width:64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:mt-4{margin-top:calc(var(--spacing) * 4)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:table-cell{display:table-cell}.lg\:w-1\/2{width:50%}.lg\:w-1\/6{width:16.6667%}.lg\:w-\[30\%\]{width:30%}.lg\:w-\[70\%\]{width:70%}.lg\:w-\[900px\]{width:900px}.lg\:basis-1\/2{flex-basis:50%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-\[360px_minmax\(0\,1fr\)\]{grid-template-columns:360px minmax(0,1fr)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:p-4{padding:calc(var(--spacing) * 4)}.lg\:p-11{padding:calc(var(--spacing) * 11)}.lg\:px-0{padding-inline:calc(var(--spacing) * 0)}.lg\:px-3{padding-inline:calc(var(--spacing) * 3)}.lg\:px-6{padding-inline:calc(var(--spacing) * 6)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:pt-0{padding-top:calc(var(--spacing) * 0)}.lg\:pt-1{padding-top:calc(var(--spacing) * 1)}.lg\:pt-3{padding-top:calc(var(--spacing) * 3)}.lg\:pr-4{padding-right:calc(var(--spacing) * 4)}.lg\:pr-6{padding-right:calc(var(--spacing) * 6)}.lg\:pl-4{padding-left:calc(var(--spacing) * 4)}}@media (min-width:80rem){.xl\:block{display:block}.xl\:hidden{display:none}.xl\:w-1\/8{width:12.5%}.xl\:w-\[1000px\]{width:1000px}.xl\:max-w-\[1024px\]{max-width:1024px}.xl\:min-w-\[320px\]{min-width:320px}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[260px_minmax\(0\,1fr\)\]{grid-template-columns:260px minmax(0,1fr)}.xl\:grid-cols-\[320px_minmax\(0\,1fr\)\]{grid-template-columns:320px minmax(0,1fr)}.xl\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(0\,0\.8fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.xl\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(320px\,0\.8fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.xl\:grid-cols-\[minmax\(0\,1\.3fr\)_minmax\(320px\,0\.7fr\)\]{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)}.xl\:grid-cols-\[minmax\(0\,1fr\)_360px\]{grid-template-columns:minmax(0,1fr) 360px}.xl\:flex-row{flex-direction:row}.xl\:items-center{align-items:center}.xl\:items-start{align-items:flex-start}.xl\:justify-between{justify-content:space-between}}@media (min-width:96rem){.\32 xl\:max-w-\[1024px\]{max-width:1024px}.\32 xl\:max-w-\[1280px\]{max-width:1280px}.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:bg-\(--rt-raised-background\){background-color:var(--rt-raised-background)}}.\[\&\>textarea\]\:resize-none>textarea{resize:none}.\[\&\>textarea\]\:overflow-hidden>textarea{overflow:hidden}.\[\&\>textarea\]\:text-inherit>textarea{color:inherit}.\[\&\>textarea\]\:\[grid-area\:1\/1\/2\/2\]>textarea{grid-area:1/1/2/2}.\[\&\>tr\:nth-child\(even\)\]\:bg-\(--rt-raised-background\)>tr:nth-child(2n){background-color:var(--rt-raised-background)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|
|
@@ -51,10 +51,10 @@ declare enum ThumbStatus {
|
|
|
51
51
|
declare class CommentService extends BaseService {
|
|
52
52
|
authService: AuthService;
|
|
53
53
|
authUserService: AuthUserService;
|
|
54
|
+
protected readonly endpoint = "comments";
|
|
54
55
|
onCommentLoading: EventEmitter<boolean>;
|
|
55
56
|
onComment: EventEmitter<boolean>;
|
|
56
57
|
onCommentReply: EventEmitter<Reply>;
|
|
57
|
-
init(): void;
|
|
58
58
|
findComments(options: any): Observable<any>;
|
|
59
59
|
findCommentsByItemId(itemId: any): Observable<any>;
|
|
60
60
|
createComment(data: any): Observable<any>;
|