@rolatech/angular-cart 19.0.0-beta.9 → 20.0.0-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.
@@ -85,10 +85,10 @@ class CartIndexComponent {
85
85
  },
86
86
  });
87
87
  }
88
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: CartIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
89
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: CartIndexComponent, isStandalone: true, selector: "rolatech-cart-index", ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"\u8D2D\u7269\u8F66\" large></rolatech-toolbar>\n <div class=\"flex flex-col md:flex-row gap-3 mt-3\">\n <div class=\"md:w-2/3 md:pr-16\">\n <div>\n @for (item of carts; track $index) {\n @if (item.variant) {\n <rolatech-checkout-item\n selectable\n [name]=\"item.variant.title ? item.variant.title : item.product.name\"\n [description]=\"item.variant.options | options\"\n [thumbnail]=\"item.variant.media ? item.variant.media[0].url + '!w400' : item.product.media[0].url + '!w400'\"\n [price]=\"item.variant ? item.variant.price * item.quantity : item.product.price\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n [(selected)]=\"item.selected\"\n (toggleSelect)=\"onChange(item)\"\n ></rolatech-checkout-item>\n } @else {\n <rolatech-checkout-item\n selectable\n [(selected)]=\"item.selected\"\n [name]=\"item.product.name\"\n [description]=\"item.product.description\"\n [thumbnail]=\"item.product.media[0].url + '!w400'\"\n [price]=\"item.product.price * item.quantity\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n (toggleSelect)=\"onChange(item)\"\n ></rolatech-checkout-item>\n }\n }\n </div>\n </div>\n <div class=\"md:w-1/3\">\n <rolatech-checkout-summary [total]=\"totalPrice\" [quantity]=\"quantity\"></rolatech-checkout-summary>\n <rolatech-checkout-action (create)=\"checkout()\" title=\"\u7ACB\u5373\u7ED3\u7B97\"></rolatech-checkout-action>\n </div>\n </div>\n</rolatech-container>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: CheckoutItemComponent, selector: "rolatech-checkout-item", inputs: ["selectable", "thumbnail", "name", "selected", "description", "quantity", "price", "max"], outputs: ["selectedChange", "quantityChange", "add", "remove", "delete", "toggleSelect"] }, { kind: "component", type: CheckoutSummaryComponent, selector: "rolatech-checkout-summary", inputs: ["deposit", "total", "quantity"] }, { kind: "component", type: CheckoutActionComponent, selector: "rolatech-checkout-action", inputs: ["title"], outputs: ["create"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: TextFieldModule }, { kind: "pipe", type: OptionsFormatPipe, name: "options" }] }); }
88
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: CartIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
89
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: CartIndexComponent, isStandalone: true, selector: "rolatech-cart-index", ngImport: i0, template: "<rolatech-container>\n <rolatech-toolbar title=\"\u8D2D\u7269\u8F66\" large></rolatech-toolbar>\n <div class=\"flex flex-col md:flex-row gap-3 mt-3\">\n <div class=\"md:w-2/3 md:pr-16\">\n <div>\n @for (item of carts; track $index) {\n @if (item.variant) {\n <rolatech-checkout-item\n selectable\n [name]=\"item.variant.title ? item.variant.title : item.product.name\"\n [description]=\"item.variant.options | options\"\n [thumbnail]=\"item.variant.media ? item.variant.media[0].url + '!w400' : item.product.media[0].url + '!w400'\"\n [price]=\"item.variant ? item.variant.price * item.quantity : item.product.price\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n [(selected)]=\"item.selected\"\n (toggleSelect)=\"onChange(item)\"\n ></rolatech-checkout-item>\n } @else {\n <rolatech-checkout-item\n selectable\n [(selected)]=\"item.selected\"\n [name]=\"item.product.name\"\n [description]=\"item.product.description\"\n [thumbnail]=\"item.product.media[0].url + '!w400'\"\n [price]=\"item.product.price * item.quantity\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n (toggleSelect)=\"onChange(item)\"\n ></rolatech-checkout-item>\n }\n }\n </div>\n </div>\n <div class=\"md:w-1/3\">\n <rolatech-checkout-summary [total]=\"totalPrice\" [quantity]=\"quantity\"></rolatech-checkout-summary>\n <rolatech-checkout-action (create)=\"checkout()\" title=\"\u7ACB\u5373\u7ED3\u7B97\"></rolatech-checkout-action>\n </div>\n </div>\n</rolatech-container>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ContainerComponent, selector: "rolatech-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: CheckoutItemComponent, selector: "rolatech-checkout-item", inputs: ["selectable", "thumbnail", "name", "selected", "description", "quantity", "price", "max"], outputs: ["selectedChange", "quantityChange", "add", "remove", "delete", "toggleSelect"] }, { kind: "component", type: CheckoutSummaryComponent, selector: "rolatech-checkout-summary", inputs: ["deposit", "total", "quantity"] }, { kind: "component", type: CheckoutActionComponent, selector: "rolatech-checkout-action", inputs: ["title"], outputs: ["create"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: TextFieldModule }, { kind: "pipe", type: OptionsFormatPipe, name: "options" }] }); }
90
90
  }
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: CartIndexComponent, decorators: [{
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: CartIndexComponent, decorators: [{
92
92
  type: Component,
93
93
  args: [{ selector: 'rolatech-cart-index', imports: [
94
94
  CommonModule,
@@ -182,10 +182,10 @@ class CartSideComponent {
182
182
  },
183
183
  });
184
184
  }
185
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: CartSideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
186
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: CartSideComponent, isStandalone: true, selector: "rolatech-cart-side", inputs: { router: { classPropertyName: "router", publicName: "router", isSignal: true, isRequired: false, transformFunction: null }, info: { classPropertyName: "info", publicName: "info", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { info: "infoChange" }, ngImport: i0, template: "<div class=\"px-2\">\n <button mat-icon-button class=\"flex\" (click)=\"show()\">\n <mat-icon aria-hidden=\"false\" [matBadge]=\"count\" [matBadgeHidden]=\"count === 0\">shopping_bag</mat-icon>\n </button>\n</div>\n<div\n [ngClass]=\"{ 'translate-none': info(), 'translate-y-full md:translate-x-full md:translate-y-0': !info() }\"\n class=\"fixed top-0 right-0 z-[1001] h-screen p-4 overflow-y-auto transition-transform bg-[--rt-raised-background] w-full md:w-[600px] shadow-xl\"\n>\n <div class=\"flex justify-between items-center sm:p-4\">\n <div class=\"text-2xl font-bold\">\u8D2D\u7269\u8F66</div>\n <button mat-icon-button (click)=\"dismiss()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n @if (!loading) {\n <div class=\"mt-3 p-1 sm:p-4\">\n @for (item of carts; track item) {\n @if (item.variant) {\n <rolatech-checkout-item\n [name]=\"item.variant.title ? item.variant.title : item.product.name\"\n [description]=\"item.variant.options | options\"\n [thumbnail]=\"item.variant.media ? item.variant.media[0].url + '!w400' : item.product.media[0].url + '!w400'\"\n [price]=\"item.variant ? item.variant.price * item.quantity : item.product.price\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n ></rolatech-checkout-item>\n } @else {\n <rolatech-checkout-item\n [name]=\"item.product.name\"\n [description]=\"item.product.description\"\n [thumbnail]=\"item.product.media[0].url + '!w400'\"\n [price]=\"item.product.price * item.quantity\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n ></rolatech-checkout-item>\n }\n }\n <mat-divider></mat-divider>\n <div class=\"h-14 flex justify-between items-center\">\n <div class=\"text-lg font-bold\">\u603B\u8BA1</div>\n <div>\u00A5{{ totalPrice }}</div>\n </div>\n <div class=\"flex flex-row gap-3 w-full items-center justify-center mt-3\">\n <button mat-flat-button [routerLink]=\"router()\" (click)=\"dismiss()\" class=\"w-8/12\">\n <a>\u53BB\u8D2D\u7269\u8F66\u7ED3\u7B97</a>\n </button>\n <button mat-stroked-button (click)=\"dismiss()\" class=\"w-4/12\">\n <a>\u7EE7\u7EED\u8D2D\u7269</a>\n </button>\n </div>\n </div>\n }\n @if (loading) {\n <div>\n <rolatech-spinner></rolatech-spinner>\n </div>\n }\n</div>\n<div\n (click)=\"dismiss()\"\n [ngClass]=\"info() ? 'visible' : 'invisible'\"\n class=\"bg-[--rt-10-percent-layer] fixed h-screen inset-0 z-[1000]\"\n></div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: CheckoutItemComponent, selector: "rolatech-checkout-item", inputs: ["selectable", "thumbnail", "name", "selected", "description", "quantity", "price", "max"], outputs: ["selectedChange", "quantityChange", "add", "remove", "delete", "toggleSelect"] }, { kind: "pipe", type: OptionsFormatPipe, name: "options" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] }); }
185
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: CartSideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
186
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: CartSideComponent, isStandalone: true, selector: "rolatech-cart-side", inputs: { router: { classPropertyName: "router", publicName: "router", isSignal: true, isRequired: false, transformFunction: null }, info: { classPropertyName: "info", publicName: "info", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { info: "infoChange" }, ngImport: i0, template: "<div class=\"px-2\">\n <button mat-icon-button class=\"flex\" (click)=\"show()\">\n <mat-icon aria-hidden=\"false\" [matBadge]=\"count\" [matBadgeHidden]=\"count === 0\">shopping_bag</mat-icon>\n </button>\n</div>\n<div\n [ngClass]=\"{ 'translate-none': info(), 'translate-y-full md:translate-x-full md:translate-y-0': !info() }\"\n class=\"fixed top-0 right-0 z-[1001] h-screen p-4 overflow-y-auto transition-transform bg-[--rt-raised-background] w-full md:w-[600px] shadow-xl\"\n>\n <div class=\"flex justify-between items-center sm:p-4\">\n <div class=\"text-2xl font-bold\">\u8D2D\u7269\u8F66</div>\n <button mat-icon-button (click)=\"dismiss()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n @if (!loading) {\n <div class=\"mt-3 p-1 sm:p-4\">\n @for (item of carts; track item) {\n @if (item.variant) {\n <rolatech-checkout-item\n [name]=\"item.variant.title ? item.variant.title : item.product.name\"\n [description]=\"item.variant.options | options\"\n [thumbnail]=\"item.variant.media ? item.variant.media[0].url + '!w400' : item.product.media[0].url + '!w400'\"\n [price]=\"item.variant ? item.variant.price * item.quantity : item.product.price\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n ></rolatech-checkout-item>\n } @else {\n <rolatech-checkout-item\n [name]=\"item.product.name\"\n [description]=\"item.product.description\"\n [thumbnail]=\"item.product.media[0].url + '!w400'\"\n [price]=\"item.product.price * item.quantity\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n ></rolatech-checkout-item>\n }\n }\n <mat-divider></mat-divider>\n <div class=\"h-14 flex justify-between items-center\">\n <div class=\"text-lg font-bold\">\u603B\u8BA1</div>\n <div>\u00A5{{ totalPrice }}</div>\n </div>\n <div class=\"flex flex-row gap-3 w-full items-center justify-center mt-3\">\n <button mat-flat-button [routerLink]=\"router()\" (click)=\"dismiss()\" class=\"w-8/12\">\n <a>\u53BB\u8D2D\u7269\u8F66\u7ED3\u7B97</a>\n </button>\n <button mat-stroked-button (click)=\"dismiss()\" class=\"w-4/12\">\n <a>\u7EE7\u7EED\u8D2D\u7269</a>\n </button>\n </div>\n </div>\n }\n @if (loading) {\n <div>\n <rolatech-spinner></rolatech-spinner>\n </div>\n }\n</div>\n<div\n (click)=\"dismiss()\"\n [ngClass]=\"info() ? 'visible' : 'invisible'\"\n class=\"bg-[--rt-10-percent-layer] fixed h-screen inset-0 z-[1000]\"\n></div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: CheckoutItemComponent, selector: "rolatech-checkout-item", inputs: ["selectable", "thumbnail", "name", "selected", "description", "quantity", "price", "max"], outputs: ["selectedChange", "quantityChange", "add", "remove", "delete", "toggleSelect"] }, { kind: "pipe", type: OptionsFormatPipe, name: "options" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] }); }
187
187
  }
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: CartSideComponent, decorators: [{
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: CartSideComponent, decorators: [{
189
189
  type: Component,
190
190
  args: [{ selector: 'rolatech-cart-side', imports: [
191
191
  CommonModule,
@@ -207,10 +207,10 @@ class CartState {
207
207
  getCount() {
208
208
  return this.$count.asObservable();
209
209
  }
210
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: CartState, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
211
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: CartState, providedIn: 'root' }); }
210
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: CartState, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
211
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: CartState, providedIn: 'root' }); }
212
212
  }
213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: CartState, decorators: [{
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: CartState, decorators: [{
214
214
  type: Injectable,
215
215
  args: [{
216
216
  providedIn: 'root',
@@ -250,12 +250,12 @@ class CartIconComponent {
250
250
  },
251
251
  });
252
252
  }
253
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: CartIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
254
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: CartIconComponent, isStandalone: true, selector: "rolatech-cart-icon", inputs: { router: { classPropertyName: "router", publicName: "router", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"px-2\">\n <button mat-icon-button class=\"flex\" onclick=\"this.blur()\" [matMenuTriggerFor]=\"notificationsMenu\">\n <mat-icon aria-hidden=\"false\" [matBadge]=\"count\" [matBadgeHidden]=\"count === 0\">shopping_bag</mat-icon>\n </button>\n</div>\n<mat-menu #notificationsMenu=\"matMenu\" class=\"custom-menu\">\n <div class=\"flex flex-col min-w-[320px] divide-y divide-[--rt-10-percent-layer]\">\n <div class=\"h-11 px-3 flex justify-between items-center\">\n <span class=\"font-medium\">\u8D2D\u7269\u8F66</span>\n @if (count) {\n <span class=\"text-sm font-medium cursor-pointer hover:underline\" (click)=\"deleteAll()\">\u5220\u9664\u5168\u90E8</span>\n }\n </div>\n <div>\n @if (carts && carts.length > 0) {\n <div class=\"divide-y divide-[--rt-10-percent-layer]\">\n @for (item of carts; track item) {\n <div class=\"p-2 cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"[router(), item.id]\">\n <div>\n {{ item.title }}\n </div>\n <div class=\"text-sm\">\n {{ item.content }}\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"h-32 flex justify-center items-center\">\u6682\u65E0</div>\n }\n </div>\n <div class=\"h-11 flex justify-center items-center cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"router()\">\n <a class=\"flex justify-center items-center\">\n <span class=\"text-sm text-[--rt-brand-color]\"> \u524D\u5F80\u8D2D\u7269\u8F66 </span>\n </a>\n </div>\n </div>\n</mat-menu>\n", styles: ["rolatech-cart-icon{color:var(--rt-text-primary, #000)}.custom-menu{color:var(--rt-text-primary, #000)}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "directive", type: i2$1.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None }); }
253
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: CartIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
254
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: CartIconComponent, isStandalone: true, selector: "rolatech-cart-icon", inputs: { router: { classPropertyName: "router", publicName: "router", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"px-2\">\n <button mat-icon-button class=\"flex\" onclick=\"this.blur()\" [matMenuTriggerFor]=\"notificationsMenu\">\n <mat-icon aria-hidden=\"false\" [matBadge]=\"count\" [matBadgeHidden]=\"count === 0\">shopping_bag</mat-icon>\n </button>\n</div>\n<mat-menu #notificationsMenu=\"matMenu\" class=\"custom-menu\">\n <div class=\"flex flex-col min-w-[320px] divide-y divide-[--rt-10-percent-layer]\">\n <div class=\"h-11 px-3 flex justify-between items-center\">\n <span class=\"font-medium\" i18n>Cart</span>\n @if (count) {\n <span class=\"text-sm font-medium cursor-pointer hover:underline\" (click)=\"deleteAll()\" i18n>Delete All</span>\n }\n </div>\n <div>\n @if (carts && carts.length > 0) {\n <div class=\"divide-y divide-[--rt-10-percent-layer]\">\n @for (item of carts; track item) {\n <div class=\"p-2 cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"[router(), item.id]\">\n <div>\n {{ item.title }}\n </div>\n <div class=\"text-sm\">\n {{ item.content }}\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"h-32 flex justify-center items-center\" i18n>Empty</div>\n }\n </div>\n <div class=\"h-11 flex justify-center items-center cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"router()\">\n <a class=\"flex justify-center items-center\">\n <span class=\"text-sm text-[--rt-brand-color]\" i18n> Cart </span>\n </a>\n </div>\n </div>\n</mat-menu>\n", styles: ["rolatech-cart-icon{color:var(--rt-text-primary, #000)}.custom-menu{color:var(--rt-text-primary, #000)}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "directive", type: i2$1.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None }); }
255
255
  }
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: CartIconComponent, decorators: [{
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: CartIconComponent, decorators: [{
257
257
  type: Component,
258
- args: [{ selector: 'rolatech-cart-icon', imports: [AngularCommonModule, AngularComponentsModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"px-2\">\n <button mat-icon-button class=\"flex\" onclick=\"this.blur()\" [matMenuTriggerFor]=\"notificationsMenu\">\n <mat-icon aria-hidden=\"false\" [matBadge]=\"count\" [matBadgeHidden]=\"count === 0\">shopping_bag</mat-icon>\n </button>\n</div>\n<mat-menu #notificationsMenu=\"matMenu\" class=\"custom-menu\">\n <div class=\"flex flex-col min-w-[320px] divide-y divide-[--rt-10-percent-layer]\">\n <div class=\"h-11 px-3 flex justify-between items-center\">\n <span class=\"font-medium\">\u8D2D\u7269\u8F66</span>\n @if (count) {\n <span class=\"text-sm font-medium cursor-pointer hover:underline\" (click)=\"deleteAll()\">\u5220\u9664\u5168\u90E8</span>\n }\n </div>\n <div>\n @if (carts && carts.length > 0) {\n <div class=\"divide-y divide-[--rt-10-percent-layer]\">\n @for (item of carts; track item) {\n <div class=\"p-2 cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"[router(), item.id]\">\n <div>\n {{ item.title }}\n </div>\n <div class=\"text-sm\">\n {{ item.content }}\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"h-32 flex justify-center items-center\">\u6682\u65E0</div>\n }\n </div>\n <div class=\"h-11 flex justify-center items-center cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"router()\">\n <a class=\"flex justify-center items-center\">\n <span class=\"text-sm text-[--rt-brand-color]\"> \u524D\u5F80\u8D2D\u7269\u8F66 </span>\n </a>\n </div>\n </div>\n</mat-menu>\n", styles: ["rolatech-cart-icon{color:var(--rt-text-primary, #000)}.custom-menu{color:var(--rt-text-primary, #000)}\n"] }]
258
+ args: [{ selector: 'rolatech-cart-icon', imports: [AngularCommonModule, AngularComponentsModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"px-2\">\n <button mat-icon-button class=\"flex\" onclick=\"this.blur()\" [matMenuTriggerFor]=\"notificationsMenu\">\n <mat-icon aria-hidden=\"false\" [matBadge]=\"count\" [matBadgeHidden]=\"count === 0\">shopping_bag</mat-icon>\n </button>\n</div>\n<mat-menu #notificationsMenu=\"matMenu\" class=\"custom-menu\">\n <div class=\"flex flex-col min-w-[320px] divide-y divide-[--rt-10-percent-layer]\">\n <div class=\"h-11 px-3 flex justify-between items-center\">\n <span class=\"font-medium\" i18n>Cart</span>\n @if (count) {\n <span class=\"text-sm font-medium cursor-pointer hover:underline\" (click)=\"deleteAll()\" i18n>Delete All</span>\n }\n </div>\n <div>\n @if (carts && carts.length > 0) {\n <div class=\"divide-y divide-[--rt-10-percent-layer]\">\n @for (item of carts; track item) {\n <div class=\"p-2 cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"[router(), item.id]\">\n <div>\n {{ item.title }}\n </div>\n <div class=\"text-sm\">\n {{ item.content }}\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"h-32 flex justify-center items-center\" i18n>Empty</div>\n }\n </div>\n <div class=\"h-11 flex justify-center items-center cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"router()\">\n <a class=\"flex justify-center items-center\">\n <span class=\"text-sm text-[--rt-brand-color]\" i18n> Cart </span>\n </a>\n </div>\n </div>\n</mat-menu>\n", styles: ["rolatech-cart-icon{color:var(--rt-text-primary, #000)}.custom-menu{color:var(--rt-text-primary, #000)}\n"] }]
259
259
  }] });
260
260
 
261
261
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rolatech-angular-cart.mjs","sources":["../../../../packages/angular-cart/src/lib/pages/cart-index/cart-index.component.ts","../../../../packages/angular-cart/src/lib/pages/cart-index/cart-index.component.html","../../../../packages/angular-cart/src/lib/pages/cart.routes.ts","../../../../packages/angular-cart/src/lib/components/cart-side/cart-side.component.ts","../../../../packages/angular-cart/src/lib/components/cart-side/cart-side.component.html","../../../../packages/angular-cart/src/lib/state/cart.state.ts","../../../../packages/angular-cart/src/lib/components/cart-icon/cart-icon.component.ts","../../../../packages/angular-cart/src/lib/components/cart-icon/cart-icon.component.html","../../../../packages/angular-cart/src/rolatech-angular-cart.ts"],"sourcesContent":["import { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContainerComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { CartService, TitleService } from '@rolatech/angular-services';\nimport { sumBy, map, uniq } from 'lodash';\nimport { ProductService, OrderService } from '@rolatech/angular-services';\nimport { Router } from '@angular/router';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormsModule } from '@angular/forms';\nimport { CheckoutActionComponent, CheckoutItemComponent, CheckoutSummaryComponent } from '@rolatech/angular-checkout';\nimport { OptionsFormatPipe } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-cart-index',\n imports: [\n CommonModule,\n ContainerComponent,\n ToolbarComponent,\n CheckoutItemComponent,\n CheckoutSummaryComponent,\n CheckoutActionComponent,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n OptionsFormatPipe,\n ],\n templateUrl: './cart-index.component.html',\n styleUrl: './cart-index.component.scss',\n})\nexport class CartIndexComponent implements OnInit {\n cartService = inject(CartService);\n productService = inject(ProductService);\n orderService = inject(OrderService);\n titleService = inject(TitleService);\n router = inject(Router);\n carts: any = [];\n totalPrice = 0;\n quantity = 1;\n\n ngOnInit(): void {\n this.titleService.setTitle('购物车');\n this.findCarts();\n }\n findCarts() {\n this.cartService.findDetails({}).subscribe({\n next: (res: any) => {\n this.carts = res.data;\n this.calcPrice();\n },\n });\n }\n calcPrice(): any {\n const selectedCarts = this.carts.filter((item) => item.selected);\n this.totalPrice = sumBy(selectedCarts, (item: any) =>\n item.variant ? item.quantity * item.variant.price : item.quantity * item.product.price,\n );\n this.quantity = sumBy(selectedCarts, (item: any) => item.quantity);\n }\n\n onAdd(cart: any) {\n this.cartService.update(cart.id, { quantity: cart.quantity }).subscribe({\n next: (res) => {\n this.calcPrice();\n },\n });\n }\n onRemove(cart: any) {\n this.cartService.update(cart.id, { quantity: cart.quantity }).subscribe({\n next: (res) => {\n this.calcPrice();\n },\n });\n }\n onDelete(cart: any) {\n this.cartService.delete(cart.id).subscribe({\n next: (res) => {\n const index = this.carts.findIndex((item) => item.id === cart.id);\n this.carts.splice(index, 1);\n this.calcPrice();\n },\n });\n }\n checkout() {\n this.router.navigateByUrl('/checkout/cart');\n }\n deleteAllCarts() {}\n onChange(cart: any) {\n this.cartService.update(cart.id, { selected: cart.selected }).subscribe({\n next: (res) => {\n this.calcPrice();\n },\n });\n }\n}\n","<rolatech-container>\n <rolatech-toolbar title=\"购物车\" large></rolatech-toolbar>\n <div class=\"flex flex-col md:flex-row gap-3 mt-3\">\n <div class=\"md:w-2/3 md:pr-16\">\n <div>\n @for (item of carts; track $index) {\n @if (item.variant) {\n <rolatech-checkout-item\n selectable\n [name]=\"item.variant.title ? item.variant.title : item.product.name\"\n [description]=\"item.variant.options | options\"\n [thumbnail]=\"item.variant.media ? item.variant.media[0].url + '!w400' : item.product.media[0].url + '!w400'\"\n [price]=\"item.variant ? item.variant.price * item.quantity : item.product.price\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n [(selected)]=\"item.selected\"\n (toggleSelect)=\"onChange(item)\"\n ></rolatech-checkout-item>\n } @else {\n <rolatech-checkout-item\n selectable\n [(selected)]=\"item.selected\"\n [name]=\"item.product.name\"\n [description]=\"item.product.description\"\n [thumbnail]=\"item.product.media[0].url + '!w400'\"\n [price]=\"item.product.price * item.quantity\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n (toggleSelect)=\"onChange(item)\"\n ></rolatech-checkout-item>\n }\n }\n </div>\n </div>\n <div class=\"md:w-1/3\">\n <rolatech-checkout-summary [total]=\"totalPrice\" [quantity]=\"quantity\"></rolatech-checkout-summary>\n <rolatech-checkout-action (create)=\"checkout()\" title=\"立即结算\"></rolatech-checkout-action>\n </div>\n </div>\n</rolatech-container>\n","import { Routes } from '@angular/router';\nimport { CartIndexComponent } from './cart-index/cart-index.component';\n\nexport const cartRoutes: Routes = [\n {\n path: '',\n component: CartIndexComponent,\n },\n];\n","import { Component, computed, effect, inject, input, model, OnDestroy, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatBadge } from '@angular/material/badge';\nimport { SpinnerComponent } from '@rolatech/angular-components';\nimport { CartEventType, CartService } from '@rolatech/angular-services';\nimport { filter, Subscription } from 'rxjs';\nimport { RouterLink } from '@angular/router';\nimport { sumBy } from 'lodash';\nimport { MatDivider } from '@angular/material/divider';\nimport { OptionsFormatPipe } from '@rolatech/angular-common';\nimport { CheckoutItemComponent } from '@rolatech/angular-checkout';\n\n@Component({\n selector: 'rolatech-cart-side',\n imports: [\n CommonModule,\n MatButtonModule,\n MatIcon,\n MatBadge,\n SpinnerComponent,\n CheckoutItemComponent,\n OptionsFormatPipe,\n RouterLink,\n MatDivider,\n ],\n templateUrl: './cart-side.component.html',\n styleUrl: './cart-side.component.scss',\n})\nexport class CartSideComponent implements OnInit, OnDestroy {\n router = input<string>('/cart');\n cartService = inject(CartService);\n carts: any;\n info = model(false);\n loading = false;\n count = 0;\n totalPrice = '';\n private countSubscription!: Subscription;\n toggle = effect(() => {\n if (this.info()) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'auto';\n }\n });\n ngOnInit(): void {\n this.cartService.cartEvent.pipe(filter((evt) => evt === CartEventType.CartAdd)).subscribe((res) => {\n this.show();\n });\n }\n ngOnDestroy() {\n if (this.countSubscription) this.countSubscription.unsubscribe();\n }\n calcPrice(): any {\n const price = sumBy(this.carts, (item: any) =>\n item.variant ? item.quantity * item.variant.price : item.quantity * item.product.price,\n );\n this.totalPrice = (price / 100).toFixed(2);\n }\n show() {\n this.info.set(true);\n this.loading = true;\n this.cartService.findDetails({}).subscribe({\n next: (res: any) => {\n this.carts = res.data;\n this.loading = false;\n this.calcPrice();\n },\n error: (error) => {\n this.loading = false;\n },\n });\n }\n dismiss() {\n this.info.set(false);\n }\n onAdd(cart: any) {\n this.cartService.update(cart.id, { quantity: cart.quantity }).subscribe({\n next: (res) => {\n this.calcPrice();\n },\n });\n }\n onRemove(cart: any) {\n this.cartService.update(cart.id, { quantity: cart.quantity }).subscribe({\n next: (res) => {\n this.calcPrice();\n },\n });\n }\n onDelete(cart: any) {\n this.cartService.delete(cart.id).subscribe({\n next: (res) => {\n const index = this.carts.findIndex((item) => item.id === cart.id);\n this.carts.splice(index, 1);\n this.calcPrice();\n },\n });\n }\n}\n","<div class=\"px-2\">\n <button mat-icon-button class=\"flex\" (click)=\"show()\">\n <mat-icon aria-hidden=\"false\" [matBadge]=\"count\" [matBadgeHidden]=\"count === 0\">shopping_bag</mat-icon>\n </button>\n</div>\n<div\n [ngClass]=\"{ 'translate-none': info(), 'translate-y-full md:translate-x-full md:translate-y-0': !info() }\"\n class=\"fixed top-0 right-0 z-[1001] h-screen p-4 overflow-y-auto transition-transform bg-[--rt-raised-background] w-full md:w-[600px] shadow-xl\"\n>\n <div class=\"flex justify-between items-center sm:p-4\">\n <div class=\"text-2xl font-bold\">购物车</div>\n <button mat-icon-button (click)=\"dismiss()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n @if (!loading) {\n <div class=\"mt-3 p-1 sm:p-4\">\n @for (item of carts; track item) {\n @if (item.variant) {\n <rolatech-checkout-item\n [name]=\"item.variant.title ? item.variant.title : item.product.name\"\n [description]=\"item.variant.options | options\"\n [thumbnail]=\"item.variant.media ? item.variant.media[0].url + '!w400' : item.product.media[0].url + '!w400'\"\n [price]=\"item.variant ? item.variant.price * item.quantity : item.product.price\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n ></rolatech-checkout-item>\n } @else {\n <rolatech-checkout-item\n [name]=\"item.product.name\"\n [description]=\"item.product.description\"\n [thumbnail]=\"item.product.media[0].url + '!w400'\"\n [price]=\"item.product.price * item.quantity\"\n [(quantity)]=\"item.quantity\"\n [max]=\"3\"\n (add)=\"onAdd(item)\"\n (remove)=\"onRemove(item)\"\n (delete)=\"onDelete(item)\"\n ></rolatech-checkout-item>\n }\n }\n <mat-divider></mat-divider>\n <div class=\"h-14 flex justify-between items-center\">\n <div class=\"text-lg font-bold\">总计</div>\n <div>¥{{ totalPrice }}</div>\n </div>\n <div class=\"flex flex-row gap-3 w-full items-center justify-center mt-3\">\n <button mat-flat-button [routerLink]=\"router()\" (click)=\"dismiss()\" class=\"w-8/12\">\n <a>去购物车结算</a>\n </button>\n <button mat-stroked-button (click)=\"dismiss()\" class=\"w-4/12\">\n <a>继续购物</a>\n </button>\n </div>\n </div>\n }\n @if (loading) {\n <div>\n <rolatech-spinner></rolatech-spinner>\n </div>\n }\n</div>\n<div\n (click)=\"dismiss()\"\n [ngClass]=\"info() ? 'visible' : 'invisible'\"\n class=\"bg-[--rt-10-percent-layer] fixed h-screen inset-0 z-[1000]\"\n></div>\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CartState {\n $count = new BehaviorSubject(0);\n getCount() {\n return this.$count.asObservable();\n }\n}\n","import { Component, inject, input, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule } from '@rolatech/angular-components';\nimport { CartService } from '@rolatech/angular-services';\nimport { CartState } from '../../state';\n\n@Component({\n selector: 'rolatech-cart-icon',\n imports: [AngularCommonModule, AngularComponentsModule],\n templateUrl: './cart-icon.component.html',\n styleUrl: './cart-icon.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class CartIconComponent implements OnInit, OnDestroy {\n router = input<string>('/cart');\n carts: any = [];\n cartService = inject(CartService);\n cartState = inject(CartState);\n\n count = 0;\n private countSubscription!: Subscription;\n ngOnInit(): void {\n this.cartState.$count.subscribe((data) => {\n this.count = data;\n });\n this.loadCarts();\n }\n ngOnDestroy() {\n if (this.countSubscription) this.countSubscription.unsubscribe();\n }\n\n loadCarts() {\n const options = {};\n this.cartService.find(options).subscribe({\n next: (res: any) => {\n this.carts = res.data;\n },\n });\n }\n deleteAll() {\n this.cartService.deleteAll().subscribe({\n next: (res) => {\n this.carts = [];\n },\n });\n }\n}\n","<div class=\"px-2\">\n <button mat-icon-button class=\"flex\" onclick=\"this.blur()\" [matMenuTriggerFor]=\"notificationsMenu\">\n <mat-icon aria-hidden=\"false\" [matBadge]=\"count\" [matBadgeHidden]=\"count === 0\">shopping_bag</mat-icon>\n </button>\n</div>\n<mat-menu #notificationsMenu=\"matMenu\" class=\"custom-menu\">\n <div class=\"flex flex-col min-w-[320px] divide-y divide-[--rt-10-percent-layer]\">\n <div class=\"h-11 px-3 flex justify-between items-center\">\n <span class=\"font-medium\">购物车</span>\n @if (count) {\n <span class=\"text-sm font-medium cursor-pointer hover:underline\" (click)=\"deleteAll()\">删除全部</span>\n }\n </div>\n <div>\n @if (carts && carts.length > 0) {\n <div class=\"divide-y divide-[--rt-10-percent-layer]\">\n @for (item of carts; track item) {\n <div class=\"p-2 cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"[router(), item.id]\">\n <div>\n {{ item.title }}\n </div>\n <div class=\"text-sm\">\n {{ item.content }}\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"h-32 flex justify-center items-center\">暂无</div>\n }\n </div>\n <div class=\"h-11 flex justify-center items-center cursor-pointer hover:bg-[--rt-raised-background]\" [routerLink]=\"router()\">\n <a class=\"flex justify-center items-center\">\n <span class=\"text-sm text-[--rt-brand-color]\"> 前往购物车 </span>\n </a>\n </div>\n </div>\n</mat-menu>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3"],"mappings":"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"}
1
+ {"version":3,"file":"rolatech-angular-cart.mjs","sources":["../tmp-esm2022/lib/pages/cart-index/cart-index.component.js","../tmp-esm2022/lib/pages/cart.routes.js","../tmp-esm2022/lib/components/cart-side/cart-side.component.js","../tmp-esm2022/lib/state/cart.state.js","../tmp-esm2022/lib/components/cart-icon/cart-icon.component.js","../tmp-esm2022/rolatech-angular-cart.js"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ContainerComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { CartService, TitleService } from '@rolatech/angular-services';\nimport { sumBy } from 'lodash';\nimport { ProductService, OrderService } from '@rolatech/angular-services';\nimport { Router } from '@angular/router';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormsModule } from '@angular/forms';\nimport { CheckoutActionComponent, CheckoutItemComponent, CheckoutSummaryComponent } from '@rolatech/angular-checkout';\nimport { OptionsFormatPipe } from '@rolatech/angular-common';\nimport * as i0 from \"@angular/core\";\nexport class CartIndexComponent {\n constructor() {\n this.cartService = inject(CartService);\n this.productService = inject(ProductService);\n this.orderService = inject(OrderService);\n this.titleService = inject(TitleService);\n this.router = inject(Router);\n this.carts = [];\n this.totalPrice = 0;\n this.quantity = 1;\n }\n ngOnInit() {\n this.titleService.setTitle('购物车');\n this.findCarts();\n }\n findCarts() {\n this.cartService.findDetails({}).subscribe({\n next: (res) => {\n this.carts = res.data;\n this.calcPrice();\n },\n });\n }\n calcPrice() {\n const selectedCarts = this.carts.filter((item) => item.selected);\n this.totalPrice = sumBy(selectedCarts, (item) => item.variant ? item.quantity * item.variant.price : item.quantity * item.product.price);\n this.quantity = sumBy(selectedCarts, (item) => item.quantity);\n }\n onAdd(cart) {\n this.cartService.update(cart.id, { quantity: cart.quantity }).subscribe({\n next: (res) => {\n this.calcPrice();\n },\n });\n }\n onRemove(cart) {\n this.cartService.update(cart.id, { quantity: cart.quantity }).subscribe({\n next: (res) => {\n this.calcPrice();\n },\n });\n }\n onDelete(cart) {\n this.cartService.delete(cart.id).subscribe({\n next: (res) => {\n const index = this.carts.findIndex((item) => item.id === cart.id);\n this.carts.splice(index, 1);\n this.calcPrice();\n },\n });\n }\n checkout() {\n this.router.navigateByUrl('/checkout/cart');\n }\n deleteAllCarts() { }\n onChange(cart) {\n this.cartService.update(cart.id, { selected: cart.selected }).subscribe({\n next: (res) => {\n this.calcPrice();\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CartIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: CartIndexComponent, isStandalone: true, selector: \"rolatech-cart-index\", ngImport: i0, template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"\\u8D2D\\u7269\\u8F66\\\" large></rolatech-toolbar>\\n <div class=\\\"flex flex-col md:flex-row gap-3 mt-3\\\">\\n <div class=\\\"md:w-2/3 md:pr-16\\\">\\n <div>\\n @for (item of carts; track $index) {\\n @if (item.variant) {\\n <rolatech-checkout-item\\n selectable\\n [name]=\\\"item.variant.title ? item.variant.title : item.product.name\\\"\\n [description]=\\\"item.variant.options | options\\\"\\n [thumbnail]=\\\"item.variant.media ? item.variant.media[0].url + '!w400' : item.product.media[0].url + '!w400'\\\"\\n [price]=\\\"item.variant ? item.variant.price * item.quantity : item.product.price\\\"\\n [(quantity)]=\\\"item.quantity\\\"\\n [max]=\\\"3\\\"\\n (add)=\\\"onAdd(item)\\\"\\n (remove)=\\\"onRemove(item)\\\"\\n (delete)=\\\"onDelete(item)\\\"\\n [(selected)]=\\\"item.selected\\\"\\n (toggleSelect)=\\\"onChange(item)\\\"\\n ></rolatech-checkout-item>\\n } @else {\\n <rolatech-checkout-item\\n selectable\\n [(selected)]=\\\"item.selected\\\"\\n [name]=\\\"item.product.name\\\"\\n [description]=\\\"item.product.description\\\"\\n [thumbnail]=\\\"item.product.media[0].url + '!w400'\\\"\\n [price]=\\\"item.product.price * item.quantity\\\"\\n [(quantity)]=\\\"item.quantity\\\"\\n [max]=\\\"3\\\"\\n (add)=\\\"onAdd(item)\\\"\\n (remove)=\\\"onRemove(item)\\\"\\n (delete)=\\\"onDelete(item)\\\"\\n (toggleSelect)=\\\"onChange(item)\\\"\\n ></rolatech-checkout-item>\\n }\\n }\\n </div>\\n </div>\\n <div class=\\\"md:w-1/3\\\">\\n <rolatech-checkout-summary [total]=\\\"totalPrice\\\" [quantity]=\\\"quantity\\\"></rolatech-checkout-summary>\\n <rolatech-checkout-action (create)=\\\"checkout()\\\" title=\\\"\\u7ACB\\u5373\\u7ED3\\u7B97\\\"></rolatech-checkout-action>\\n </div>\\n </div>\\n</rolatech-container>\\n\", styles: [\"mat-form-field{width:100%}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"component\", type: ContainerComponent, selector: \"rolatech-container\" }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: CheckoutItemComponent, selector: \"rolatech-checkout-item\", inputs: [\"selectable\", \"thumbnail\", \"name\", \"selected\", \"description\", \"quantity\", \"price\", \"max\"], outputs: [\"selectedChange\", \"quantityChange\", \"add\", \"remove\", \"delete\", \"toggleSelect\"] }, { kind: \"component\", type: CheckoutSummaryComponent, selector: \"rolatech-checkout-summary\", inputs: [\"deposit\", \"total\", \"quantity\"] }, { kind: \"component\", type: CheckoutActionComponent, selector: \"rolatech-checkout-action\", inputs: [\"title\"], outputs: [\"create\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"ngmodule\", type: TextFieldModule }, { kind: \"pipe\", type: OptionsFormatPipe, name: \"options\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CartIndexComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-cart-index', imports: [\n CommonModule,\n ContainerComponent,\n ToolbarComponent,\n CheckoutItemComponent,\n CheckoutSummaryComponent,\n CheckoutActionComponent,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n OptionsFormatPipe,\n ], template: \"<rolatech-container>\\n <rolatech-toolbar title=\\\"\\u8D2D\\u7269\\u8F66\\\" large></rolatech-toolbar>\\n <div class=\\\"flex flex-col md:flex-row gap-3 mt-3\\\">\\n <div class=\\\"md:w-2/3 md:pr-16\\\">\\n <div>\\n @for (item of carts; track $index) {\\n @if (item.variant) {\\n <rolatech-checkout-item\\n selectable\\n [name]=\\\"item.variant.title ? item.variant.title : item.product.name\\\"\\n [description]=\\\"item.variant.options | options\\\"\\n [thumbnail]=\\\"item.variant.media ? item.variant.media[0].url + '!w400' : item.product.media[0].url + '!w400'\\\"\\n [price]=\\\"item.variant ? item.variant.price * item.quantity : item.product.price\\\"\\n [(quantity)]=\\\"item.quantity\\\"\\n [max]=\\\"3\\\"\\n (add)=\\\"onAdd(item)\\\"\\n (remove)=\\\"onRemove(item)\\\"\\n (delete)=\\\"onDelete(item)\\\"\\n [(selected)]=\\\"item.selected\\\"\\n (toggleSelect)=\\\"onChange(item)\\\"\\n ></rolatech-checkout-item>\\n } @else {\\n <rolatech-checkout-item\\n selectable\\n [(selected)]=\\\"item.selected\\\"\\n [name]=\\\"item.product.name\\\"\\n [description]=\\\"item.product.description\\\"\\n [thumbnail]=\\\"item.product.media[0].url + '!w400'\\\"\\n [price]=\\\"item.product.price * item.quantity\\\"\\n [(quantity)]=\\\"item.quantity\\\"\\n [max]=\\\"3\\\"\\n (add)=\\\"onAdd(item)\\\"\\n (remove)=\\\"onRemove(item)\\\"\\n (delete)=\\\"onDelete(item)\\\"\\n (toggleSelect)=\\\"onChange(item)\\\"\\n ></rolatech-checkout-item>\\n }\\n }\\n </div>\\n </div>\\n <div class=\\\"md:w-1/3\\\">\\n <rolatech-checkout-summary [total]=\\\"totalPrice\\\" [quantity]=\\\"quantity\\\"></rolatech-checkout-summary>\\n <rolatech-checkout-action (create)=\\\"checkout()\\\" title=\\\"\\u7ACB\\u5373\\u7ED3\\u7B97\\\"></rolatech-checkout-action>\\n </div>\\n </div>\\n</rolatech-container>\\n\", styles: [\"mat-form-field{width:100%}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1pbmRleC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWNhcnQvc3JjL2xpYi9wYWdlcy9jYXJ0LWluZGV4L2NhcnQtaW5kZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1jYXJ0L3NyYy9saWIvcGFnZXMvY2FydC1pbmRleC9jYXJ0LWluZGV4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxLQUFLLEVBQWEsTUFBTSxRQUFRLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1B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SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnRhaW5lckNvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UsIFRpdGxlU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IHN1bUJ5LCBtYXAsIHVuaXEgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUHJvZHVjdFNlcnZpY2UsIE9yZGVyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUZXh0RmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDaGVja291dEFjdGlvbkNvbXBvbmVudCwgQ2hlY2tvdXRJdGVtQ29tcG9uZW50LCBDaGVja291dFN1bW1hcnlDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jaGVja291dCc7XG5pbXBvcnQgeyBPcHRpb25zRm9ybWF0UGlwZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWNhcnQtaW5kZXgnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIENoZWNrb3V0SXRlbUNvbXBvbmVudCxcbiAgICBDaGVja291dFN1bW1hcnlDb21wb25lbnQsXG4gICAgQ2hlY2tvdXRBY3Rpb25Db21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIFRleHRGaWVsZE1vZHVsZSxcbiAgICBPcHRpb25zRm9ybWF0UGlwZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcnQtaW5kZXguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2FydC1pbmRleC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIENhcnRJbmRleENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNhcnRTZXJ2aWNlID0gaW5qZWN0KENhcnRTZXJ2aWNlKTtcbiAgcHJvZHVjdFNlcnZpY2UgPSBpbmplY3QoUHJvZHVjdFNlcnZpY2UpO1xuICBvcmRlclNlcnZpY2UgPSBpbmplY3QoT3JkZXJTZXJ2aWNlKTtcbiAgdGl0bGVTZXJ2aWNlID0gaW5qZWN0KFRpdGxlU2VydmljZSk7XG4gIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBjYXJ0czogYW55ID0gW107XG4gIHRvdGFsUHJpY2UgPSAwO1xuICBxdWFudGl0eSA9IDE7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoJ+i0reeJqei9picpO1xuICAgIHRoaXMuZmluZENhcnRzKCk7XG4gIH1cbiAgZmluZENhcnRzKCkge1xuICAgIHRoaXMuY2FydFNlcnZpY2UuZmluZERldGFpbHMoe30pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5jYXJ0cyA9IHJlcy5kYXRhO1xuICAgICAgICB0aGlzLmNhbGNQcmljZSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBjYWxjUHJpY2UoKTogYW55IHtcbiAgICBjb25zdCBzZWxlY3RlZENhcnRzID0gdGhpcy5jYXJ0cy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uc2VsZWN0ZWQpO1xuICAgIHRoaXMudG90YWxQcmljZSA9IHN1bUJ5KHNlbGVjdGVkQ2FydHMsIChpdGVtOiBhbnkpID0+XG4gICAgICBpdGVtLnZhcmlhbnQgPyBpdGVtLnF1YW50aXR5ICogaXRlbS52YXJpYW50LnByaWNlIDogaXRlbS5xdWFudGl0eSAqIGl0ZW0ucHJvZHVjdC5wcmljZSxcbiAgICApO1xuICAgIHRoaXMucXVhbnRpdHkgPSBzdW1CeShzZWxlY3RlZENhcnRzLCAoaXRlbTogYW55KSA9PiBpdGVtLnF1YW50aXR5KTtcbiAgfVxuXG4gIG9uQWRkKGNhcnQ6IGFueSkge1xuICAgIHRoaXMuY2FydFNlcnZpY2UudXBkYXRlKGNhcnQuaWQsIHsgcXVhbnRpdHk6IGNhcnQucXVhbnRpdHkgfSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5jYWxjUHJpY2UoKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgb25SZW1vdmUoY2FydDogYW55KSB7XG4gICAgdGhpcy5jYXJ0U2VydmljZS51cGRhdGUoY2FydC5pZCwgeyBxdWFudGl0eTogY2FydC5xdWFudGl0eSB9KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmNhbGNQcmljZSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBvbkRlbGV0ZShjYXJ0OiBhbnkpIHtcbiAgICB0aGlzLmNhcnRTZXJ2aWNlLmRlbGV0ZShjYXJ0LmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuY2FydHMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLmlkID09PSBjYXJ0LmlkKTtcbiAgICAgICAgdGhpcy5jYXJ0cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB0aGlzLmNhbGNQcmljZSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBjaGVja291dCgpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvY2hlY2tvdXQvY2FydCcpO1xuICB9XG4gIGRlbGV0ZUFsbENhcnRzKCkge31cbiAgb25DaGFuZ2UoY2FydDogYW55KSB7XG4gICAgdGhpcy5jYXJ0U2VydmljZS51cGRhdGUoY2FydC5pZCwgeyBzZWxlY3RlZDogY2FydC5zZWxlY3RlZCB9KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmNhbGNQcmljZSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPHJvbGF0ZWNoLWNvbnRhaW5lcj5cbiAgPHJvbGF0ZWNoLXRvb2xiYXIgdGl0bGU9XCLotK3nianovaZcIiBsYXJnZT48L3JvbGF0ZWNoLXRvb2xiYXI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IGdhcC0zIG10LTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWQ6dy0yLzMgbWQ6cHItMTZcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgY2FydHM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIEBpZiAoaXRlbS52YXJpYW50KSB7XG4gICAgICAgICAgICA8cm9sYXRlY2gtY2hlY2tvdXQtaXRlbVxuICAgICAgICAgICAgICBzZWxlY3RhYmxlXG4gICAgICAgICAgICAgIFtuYW1lXT1cIml0ZW0udmFyaWFudC50aXRsZSA/IGl0ZW0udmFyaWFudC50aXRsZSA6IGl0ZW0ucHJvZHVjdC5uYW1lXCJcbiAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIml0ZW0udmFyaWFudC5vcHRpb25zIHwgb3B0aW9uc1wiXG4gICAgICAgICAgICAgIFt0aHVtYm5haWxdPVwiaXRlbS52YXJpYW50Lm1lZGlhID8gaXRlbS52YXJpYW50Lm1lZGlhWzBdLnVybCArICchdzQwMCcgOiBpdGVtLnByb2R1Y3QubWVkaWFbMF0udXJsICsgJyF3NDAwJ1wiXG4gICAgICAgICAgICAgIFtwcmljZV09XCJpdGVtLnZhcmlhbnQgPyBpdGVtLnZhcmlhbnQucHJpY2UgKiBpdGVtLnF1YW50aXR5IDogaXRlbS5wcm9kdWN0LnByaWNlXCJcbiAgICAgICAgICAgICAgWyhxdWFudGl0eSldPVwiaXRlbS5xdWFudGl0eVwiXG4gICAgICAgICAgICAgIFttYXhdPVwiM1wiXG4gICAgICAgICAgICAgIChhZGQpPVwib25BZGQoaXRlbSlcIlxuICAgICAgICAgICAgICAocmVtb3ZlKT1cIm9uUmVtb3ZlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgKGRlbGV0ZSk9XCJvbkRlbGV0ZShpdGVtKVwiXG4gICAgICAgICAgICAgIFsoc2VsZWN0ZWQpXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAodG9nZ2xlU2VsZWN0KT1cIm9uQ2hhbmdlKGl0ZW0pXCJcbiAgICAgICAgICAgID48L3JvbGF0ZWNoLWNoZWNrb3V0LWl0ZW0+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8cm9sYXRlY2gtY2hlY2tvdXQtaXRlbVxuICAgICAgICAgICAgICBzZWxlY3RhYmxlXG4gICAgICAgICAgICAgIFsoc2VsZWN0ZWQpXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICBbbmFtZV09XCJpdGVtLnByb2R1Y3QubmFtZVwiXG4gICAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCJpdGVtLnByb2R1Y3QuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICBbdGh1bWJuYWlsXT1cIml0ZW0ucHJvZHVjdC5tZWRpYVswXS51cmwgKyAnIXc0MDAnXCJcbiAgICAgICAgICAgICAgW3ByaWNlXT1cIml0ZW0ucHJvZHVjdC5wcmljZSAqIGl0ZW0ucXVhbnRpdHlcIlxuICAgICAgICAgICAgICBbKHF1YW50aXR5KV09XCJpdGVtLnF1YW50aXR5XCJcbiAgICAgICAgICAgICAgW21heF09XCIzXCJcbiAgICAgICAgICAgICAgKGFkZCk9XCJvbkFkZChpdGVtKVwiXG4gICAgICAgICAgICAgIChyZW1vdmUpPVwib25SZW1vdmUoaXRlbSlcIlxuICAgICAgICAgICAgICAoZGVsZXRlKT1cIm9uRGVsZXRlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgKHRvZ2dsZVNlbGVjdCk9XCJvbkNoYW5nZShpdGVtKVwiXG4gICAgICAgICAgICA+PC9yb2xhdGVjaC1jaGVja291dC1pdGVtPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1kOnctMS8zXCI+XG4gICAgICA8cm9sYXRlY2gtY2hlY2tvdXQtc3VtbWFyeSBbdG90YWxdPVwidG90YWxQcmljZVwiIFtxdWFudGl0eV09XCJxdWFudGl0eVwiPjwvcm9sYXRlY2gtY2hlY2tvdXQtc3VtbWFyeT5cbiAgICAgIDxyb2xhdGVjaC1jaGVja291dC1hY3Rpb24gKGNyZWF0ZSk9XCJjaGVja291dCgpXCIgdGl0bGU9XCLnq4vljbPnu5PnrpdcIj48L3JvbGF0ZWNoLWNoZWNrb3V0LWFjdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3JvbGF0ZWNoLWNvbnRhaW5lcj5cbiJdfQ==","import { CartIndexComponent } from './cart-index/cart-index.component';\nexport const cartRoutes = [\n {\n path: '',\n component: CartIndexComponent,\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWNhcnQvc3JjL2xpYi9wYWdlcy9jYXJ0LnJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV2RSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQVc7SUFDaEM7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSxrQkFBa0I7S0FDOUI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENhcnRJbmRleENvbXBvbmVudCB9IGZyb20gJy4vY2FydC1pbmRleC9jYXJ0LWluZGV4LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBjYXJ0Um91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IENhcnRJbmRleENvbXBvbmVudCxcbiAgfSxcbl07XG4iXX0=","import { Component, effect, inject, input, model } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatBadge } from '@angular/material/badge';\nimport { SpinnerComponent } from '@rolatech/angular-components';\nimport { CartEventType, CartService } from '@rolatech/angular-services';\nimport { filter } from 'rxjs';\nimport { RouterLink } from '@angular/router';\nimport { sumBy } from 'lodash';\nimport { MatDivider } from '@angular/material/divider';\nimport { OptionsFormatPipe } from '@rolatech/angular-common';\nimport { CheckoutItemComponent } from '@rolatech/angular-checkout';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/button\";\nexport class CartSideComponent {\n constructor() {\n this.router = input('/cart');\n this.cartService = inject(CartService);\n this.info = model(false);\n this.loading = false;\n this.count = 0;\n this.totalPrice = '';\n this.toggle = effect(() => {\n if (this.info()) {\n document.body.style.overflow = 'hidden';\n }\n else {\n document.body.style.overflow = 'auto';\n }\n });\n }\n ngOnInit() {\n this.cartService.cartEvent.pipe(filter((evt) => evt === CartEventType.CartAdd)).subscribe((res) => {\n this.show();\n });\n }\n ngOnDestroy() {\n if (this.countSubscription)\n this.countSubscription.unsubscribe();\n }\n calcPrice() {\n const price = sumBy(this.carts, (item) => item.variant ? item.quantity * item.variant.price : item.quantity * item.product.price);\n this.totalPrice = (price / 100).toFixed(2);\n }\n show() {\n this.info.set(true);\n this.loading = true;\n this.cartService.findDetails({}).subscribe({\n next: (res) => {\n this.carts = res.data;\n this.loading = false;\n this.calcPrice();\n },\n error: (error) => {\n this.loading = false;\n },\n });\n }\n dismiss() {\n this.info.set(false);\n }\n onAdd(cart) {\n this.cartService.update(cart.id, { quantity: cart.quantity }).subscribe({\n next: (res) => {\n this.calcPrice();\n },\n });\n }\n onRemove(cart) {\n this.cartService.update(cart.id, { quantity: cart.quantity }).subscribe({\n next: (res) => {\n this.calcPrice();\n },\n });\n }\n onDelete(cart) {\n this.cartService.delete(cart.id).subscribe({\n next: (res) => {\n const index = this.carts.findIndex((item) => item.id === cart.id);\n this.carts.splice(index, 1);\n this.calcPrice();\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CartSideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: CartSideComponent, isStandalone: true, selector: \"rolatech-cart-side\", inputs: { router: { classPropertyName: \"router\", publicName: \"router\", isSignal: true, isRequired: false, transformFunction: null }, info: { classPropertyName: \"info\", publicName: \"info\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { info: \"infoChange\" }, ngImport: i0, template: \"<div class=\\\"px-2\\\">\\n <button mat-icon-button class=\\\"flex\\\" (click)=\\\"show()\\\">\\n <mat-icon aria-hidden=\\\"false\\\" [matBadge]=\\\"count\\\" [matBadgeHidden]=\\\"count === 0\\\">shopping_bag</mat-icon>\\n </button>\\n</div>\\n<div\\n [ngClass]=\\\"{ 'translate-none': info(), 'translate-y-full md:translate-x-full md:translate-y-0': !info() }\\\"\\n class=\\\"fixed top-0 right-0 z-[1001] h-screen p-4 overflow-y-auto transition-transform bg-[--rt-raised-background] w-full md:w-[600px] shadow-xl\\\"\\n>\\n <div class=\\\"flex justify-between items-center sm:p-4\\\">\\n <div class=\\\"text-2xl font-bold\\\">\\u8D2D\\u7269\\u8F66</div>\\n <button mat-icon-button (click)=\\\"dismiss()\\\">\\n <mat-icon>close</mat-icon>\\n </button>\\n </div>\\n @if (!loading) {\\n <div class=\\\"mt-3 p-1 sm:p-4\\\">\\n @for (item of carts; track item) {\\n @if (item.variant) {\\n <rolatech-checkout-item\\n [name]=\\\"item.variant.title ? item.variant.title : item.product.name\\\"\\n [description]=\\\"item.variant.options | options\\\"\\n [thumbnail]=\\\"item.variant.media ? item.variant.media[0].url + '!w400' : item.product.media[0].url + '!w400'\\\"\\n [price]=\\\"item.variant ? item.variant.price * item.quantity : item.product.price\\\"\\n [(quantity)]=\\\"item.quantity\\\"\\n [max]=\\\"3\\\"\\n (add)=\\\"onAdd(item)\\\"\\n (remove)=\\\"onRemove(item)\\\"\\n (delete)=\\\"onDelete(item)\\\"\\n ></rolatech-checkout-item>\\n } @else {\\n <rolatech-checkout-item\\n [name]=\\\"item.product.name\\\"\\n [description]=\\\"item.product.description\\\"\\n [thumbnail]=\\\"item.product.media[0].url + '!w400'\\\"\\n [price]=\\\"item.product.price * item.quantity\\\"\\n [(quantity)]=\\\"item.quantity\\\"\\n [max]=\\\"3\\\"\\n (add)=\\\"onAdd(item)\\\"\\n (remove)=\\\"onRemove(item)\\\"\\n (delete)=\\\"onDelete(item)\\\"\\n ></rolatech-checkout-item>\\n }\\n }\\n <mat-divider></mat-divider>\\n <div class=\\\"h-14 flex justify-between items-center\\\">\\n <div class=\\\"text-lg font-bold\\\">\\u603B\\u8BA1</div>\\n <div>\\u00A5{{ totalPrice }}</div>\\n </div>\\n <div class=\\\"flex flex-row gap-3 w-full items-center justify-center mt-3\\\">\\n <button mat-flat-button [routerLink]=\\\"router()\\\" (click)=\\\"dismiss()\\\" class=\\\"w-8/12\\\">\\n <a>\\u53BB\\u8D2D\\u7269\\u8F66\\u7ED3\\u7B97</a>\\n </button>\\n <button mat-stroked-button (click)=\\\"dismiss()\\\" class=\\\"w-4/12\\\">\\n <a>\\u7EE7\\u7EED\\u8D2D\\u7269</a>\\n </button>\\n </div>\\n </div>\\n }\\n @if (loading) {\\n <div>\\n <rolatech-spinner></rolatech-spinner>\\n </div>\\n }\\n</div>\\n<div\\n (click)=\\\"dismiss()\\\"\\n [ngClass]=\\\"info() ? 'visible' : 'invisible'\\\"\\n class=\\\"bg-[--rt-10-percent-layer] fixed h-screen inset-0 z-[1000]\\\"\\n></div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { 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: \"component\", type: MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"directive\", type: MatBadge, selector: \"[matBadge]\", inputs: [\"matBadgeColor\", \"matBadgeOverlap\", \"matBadgeDisabled\", \"matBadgePosition\", \"matBadge\", \"matBadgeDescription\", \"matBadgeSize\", \"matBadgeHidden\"] }, { kind: \"component\", type: SpinnerComponent, selector: \"rolatech-spinner\", inputs: [\"title\"] }, { kind: \"component\", type: CheckoutItemComponent, selector: \"rolatech-checkout-item\", inputs: [\"selectable\", \"thumbnail\", \"name\", \"selected\", \"description\", \"quantity\", \"price\", \"max\"], outputs: [\"selectedChange\", \"quantityChange\", \"add\", \"remove\", \"delete\", \"toggleSelect\"] }, { kind: \"pipe\", type: OptionsFormatPipe, name: \"options\" }, { kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"component\", type: MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CartSideComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-cart-side', imports: [\n CommonModule,\n MatButtonModule,\n MatIcon,\n MatBadge,\n SpinnerComponent,\n CheckoutItemComponent,\n OptionsFormatPipe,\n RouterLink,\n MatDivider,\n ], template: \"<div class=\\\"px-2\\\">\\n <button mat-icon-button class=\\\"flex\\\" (click)=\\\"show()\\\">\\n <mat-icon aria-hidden=\\\"false\\\" [matBadge]=\\\"count\\\" [matBadgeHidden]=\\\"count === 0\\\">shopping_bag</mat-icon>\\n </button>\\n</div>\\n<div\\n [ngClass]=\\\"{ 'translate-none': info(), 'translate-y-full md:translate-x-full md:translate-y-0': !info() }\\\"\\n class=\\\"fixed top-0 right-0 z-[1001] h-screen p-4 overflow-y-auto transition-transform bg-[--rt-raised-background] w-full md:w-[600px] shadow-xl\\\"\\n>\\n <div class=\\\"flex justify-between items-center sm:p-4\\\">\\n <div class=\\\"text-2xl font-bold\\\">\\u8D2D\\u7269\\u8F66</div>\\n <button mat-icon-button (click)=\\\"dismiss()\\\">\\n <mat-icon>close</mat-icon>\\n </button>\\n </div>\\n @if (!loading) {\\n <div class=\\\"mt-3 p-1 sm:p-4\\\">\\n @for (item of carts; track item) {\\n @if (item.variant) {\\n <rolatech-checkout-item\\n [name]=\\\"item.variant.title ? item.variant.title : item.product.name\\\"\\n [description]=\\\"item.variant.options | options\\\"\\n [thumbnail]=\\\"item.variant.media ? item.variant.media[0].url + '!w400' : item.product.media[0].url + '!w400'\\\"\\n [price]=\\\"item.variant ? item.variant.price * item.quantity : item.product.price\\\"\\n [(quantity)]=\\\"item.quantity\\\"\\n [max]=\\\"3\\\"\\n (add)=\\\"onAdd(item)\\\"\\n (remove)=\\\"onRemove(item)\\\"\\n (delete)=\\\"onDelete(item)\\\"\\n ></rolatech-checkout-item>\\n } @else {\\n <rolatech-checkout-item\\n [name]=\\\"item.product.name\\\"\\n [description]=\\\"item.product.description\\\"\\n [thumbnail]=\\\"item.product.media[0].url + '!w400'\\\"\\n [price]=\\\"item.product.price * item.quantity\\\"\\n [(quantity)]=\\\"item.quantity\\\"\\n [max]=\\\"3\\\"\\n (add)=\\\"onAdd(item)\\\"\\n (remove)=\\\"onRemove(item)\\\"\\n (delete)=\\\"onDelete(item)\\\"\\n ></rolatech-checkout-item>\\n }\\n }\\n <mat-divider></mat-divider>\\n <div class=\\\"h-14 flex justify-between items-center\\\">\\n <div class=\\\"text-lg font-bold\\\">\\u603B\\u8BA1</div>\\n <div>\\u00A5{{ totalPrice }}</div>\\n </div>\\n <div class=\\\"flex flex-row gap-3 w-full items-center justify-center mt-3\\\">\\n <button mat-flat-button [routerLink]=\\\"router()\\\" (click)=\\\"dismiss()\\\" class=\\\"w-8/12\\\">\\n <a>\\u53BB\\u8D2D\\u7269\\u8F66\\u7ED3\\u7B97</a>\\n </button>\\n <button mat-stroked-button (click)=\\\"dismiss()\\\" class=\\\"w-4/12\\\">\\n <a>\\u7EE7\\u7EED\\u8D2D\\u7269</a>\\n </button>\\n </div>\\n </div>\\n }\\n @if (loading) {\\n <div>\\n <rolatech-spinner></rolatech-spinner>\\n </div>\\n }\\n</div>\\n<div\\n (click)=\\\"dismiss()\\\"\\n [ngClass]=\\\"info() ? 'visible' : 'invisible'\\\"\\n class=\\\"bg-[--rt-10-percent-layer] fixed h-screen inset-0 z-[1000]\\\"\\n></div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1zaWRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItY2FydC9zcmMvbGliL2NvbXBvbmVudHMvY2FydC1zaWRlL2NhcnQtc2lkZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWNhcnQvc3JjL2xpYi9jb21wb25lbnRzL2NhcnQtc2lkZS9jYXJ0LXNpZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBWSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxNQUFNLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FB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Q1AsUUFBUTt3QkFDUixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixVQUFVO3dCQUNWLFVBQVU7cUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIG1vZGVsLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRCYWRnZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcbmltcG9ydCB7IFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IENhcnRFdmVudFR5cGUsIENhcnRTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgZmlsdGVyLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgc3VtQnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWF0RGl2aWRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgT3B0aW9uc0Zvcm1hdFBpcGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQ2hlY2tvdXRJdGVtQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY2hlY2tvdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1jYXJ0LXNpZGUnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uLFxuICAgIE1hdEJhZGdlLFxuICAgIFNwaW5uZXJDb21wb25lbnQsXG4gICAgQ2hlY2tvdXRJdGVtQ29tcG9uZW50LFxuICAgIE9wdGlvbnNGb3JtYXRQaXBlLFxuICAgIFJvdXRlckxpbmssXG4gICAgTWF0RGl2aWRlcixcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcnQtc2lkZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jYXJ0LXNpZGUuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJ0U2lkZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcm91dGVyID0gaW5wdXQ8c3RyaW5nPignL2NhcnQnKTtcbiAgY2FydFNlcnZpY2UgPSBpbmplY3QoQ2FydFNlcnZpY2UpO1xuICBjYXJ0czogYW55O1xuICBpbmZvID0gbW9kZWwoZmFsc2UpO1xuICBsb2FkaW5nID0gZmFsc2U7XG4gIGNvdW50ID0gMDtcbiAgdG90YWxQcmljZSA9ICcnO1xuICBwcml2YXRlIGNvdW50U3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICB0b2dnbGUgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aGlzLmluZm8oKSkge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuICAgIH0gZWxzZSB7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2F1dG8nO1xuICAgIH1cbiAgfSk7XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2FydFNlcnZpY2UuY2FydEV2ZW50LnBpcGUoZmlsdGVyKChldnQpID0+IGV2dCA9PT0gQ2FydEV2ZW50VHlwZS5DYXJ0QWRkKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIHRoaXMuc2hvdygpO1xuICAgIH0pO1xuICB9XG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmNvdW50U3Vic2NyaXB0aW9uKSB0aGlzLmNvdW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgY2FsY1ByaWNlKCk6IGFueSB7XG4gICAgY29uc3QgcHJpY2UgPSBzdW1CeSh0aGlzLmNhcnRzLCAoaXRlbTogYW55KSA9PlxuICAgICAgaXRlbS52YXJpYW50ID8gaXRlbS5xdWFudGl0eSAqIGl0ZW0udmFyaWFudC5wcmljZSA6IGl0ZW0ucXVhbnRpdHkgKiBpdGVtLnByb2R1Y3QucHJpY2UsXG4gICAgKTtcbiAgICB0aGlzLnRvdGFsUHJpY2UgPSAocHJpY2UgLyAxMDApLnRvRml4ZWQoMik7XG4gIH1cbiAgc2hvdygpIHtcbiAgICB0aGlzLmluZm8uc2V0KHRydWUpO1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5jYXJ0U2VydmljZS5maW5kRGV0YWlscyh7fSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNhcnRzID0gcmVzLmRhdGE7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNhbGNQcmljZSgpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGRpc21pc3MoKSB7XG4gICAgdGhpcy5pbmZvLnNldChmYWxzZSk7XG4gIH1cbiAgb25BZGQoY2FydDogYW55KSB7XG4gICAgdGhpcy5jYXJ0U2VydmljZS51cGRhdGUoY2FydC5pZCwgeyBxdWFudGl0eTogY2FydC5xdWFudGl0eSB9KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmNhbGNQcmljZSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBvblJlbW92ZShjYXJ0OiBhbnkpIHtcbiAgICB0aGlzLmNhcnRTZXJ2aWNlLnVwZGF0ZShjYXJ0LmlkLCB7IHF1YW50aXR5OiBjYXJ0LnF1YW50aXR5IH0pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuY2FsY1ByaWNlKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uRGVsZXRlKGNhcnQ6IGFueSkge1xuICAgIHRoaXMuY2FydFNlcnZpY2UuZGVsZXRlKGNhcnQuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jYXJ0cy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGNhcnQuaWQpO1xuICAgICAgICB0aGlzLmNhcnRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMuY2FsY1ByaWNlKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicHgtMlwiPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cImZsZXhcIiAoY2xpY2spPVwic2hvdygpXCI+XG4gICAgPG1hdC1pY29uIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBbbWF0QmFkZ2VdPVwiY291bnRcIiBbbWF0QmFkZ2VIaWRkZW5dPVwiY291bnQgPT09IDBcIj5zaG9wcGluZ19iYWc8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuPGRpdlxuICBbbmdDbGFzc109XCJ7ICd0cmFuc2xhdGUtbm9uZSc6IGluZm8oKSwgJ3RyYW5zbGF0ZS15LWZ1bGwgIG1kOnRyYW5zbGF0ZS14LWZ1bGwgbWQ6dHJhbnNsYXRlLXktMCc6ICFpbmZvKCkgfVwiXG4gIGNsYXNzPVwiZml4ZWQgdG9wLTAgcmlnaHQtMCB6LVsxMDAxXSBoLXNjcmVlbiBwLTQgb3ZlcmZsb3cteS1hdXRvIHRyYW5zaXRpb24tdHJhbnNmb3JtIGJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXSB3LWZ1bGwgbWQ6dy1bNjAwcHhdIHNoYWRvdy14bFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgc206cC00XCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtMnhsIGZvbnQtYm9sZFwiPui0reeJqei9pjwvZGl2PlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJkaXNtaXNzKClcIj5cbiAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICBAaWYgKCFsb2FkaW5nKSB7XG4gICAgPGRpdiBjbGFzcz1cIm10LTMgcC0xIHNtOnAtNFwiPlxuICAgICAgQGZvciAoaXRlbSBvZiBjYXJ0czsgdHJhY2sgaXRlbSkge1xuICAgICAgICBAaWYgKGl0ZW0udmFyaWFudCkge1xuICAgICAgICAgIDxyb2xhdGVjaC1jaGVja291dC1pdGVtXG4gICAgICAgICAgICBbbmFtZV09XCJpdGVtLnZhcmlhbnQudGl0bGUgPyBpdGVtLnZhcmlhbnQudGl0bGUgOiBpdGVtLnByb2R1Y3QubmFtZVwiXG4gICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiaXRlbS52YXJpYW50Lm9wdGlvbnMgfCBvcHRpb25zXCJcbiAgICAgICAgICAgIFt0aHVtYm5haWxdPVwiaXRlbS52YXJpYW50Lm1lZGlhID8gaXRlbS52YXJpYW50Lm1lZGlhWzBdLnVybCArICchdzQwMCcgOiBpdGVtLnByb2R1Y3QubWVkaWFbMF0udXJsICsgJyF3NDAwJ1wiXG4gICAgICAgICAgICBbcHJpY2VdPVwiaXRlbS52YXJpYW50ID8gaXRlbS52YXJpYW50LnByaWNlICogaXRlbS5xdWFudGl0eSA6IGl0ZW0ucHJvZHVjdC5wcmljZVwiXG4gICAgICAgICAgICBbKHF1YW50aXR5KV09XCJpdGVtLnF1YW50aXR5XCJcbiAgICAgICAgICAgIFttYXhdPVwiM1wiXG4gICAgICAgICAgICAoYWRkKT1cIm9uQWRkKGl0ZW0pXCJcbiAgICAgICAgICAgIChyZW1vdmUpPVwib25SZW1vdmUoaXRlbSlcIlxuICAgICAgICAgICAgKGRlbGV0ZSk9XCJvbkRlbGV0ZShpdGVtKVwiXG4gICAgICAgICAgPjwvcm9sYXRlY2gtY2hlY2tvdXQtaXRlbT5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHJvbGF0ZWNoLWNoZWNrb3V0LWl0ZW1cbiAgICAgICAgICAgIFtuYW1lXT1cIml0ZW0ucHJvZHVjdC5uYW1lXCJcbiAgICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCJpdGVtLnByb2R1Y3QuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgW3RodW1ibmFpbF09XCJpdGVtLnByb2R1Y3QubWVkaWFbMF0udXJsICsgJyF3NDAwJ1wiXG4gICAgICAgICAgICBbcHJpY2VdPVwiaXRlbS5wcm9kdWN0LnByaWNlICogaXRlbS5xdWFudGl0eVwiXG4gICAgICAgICAgICBbKHF1YW50aXR5KV09XCJpdGVtLnF1YW50aXR5XCJcbiAgICAgICAgICAgIFttYXhdPVwiM1wiXG4gICAgICAgICAgICAoYWRkKT1cIm9uQWRkKGl0ZW0pXCJcbiAgICAgICAgICAgIChyZW1vdmUpPVwib25SZW1vdmUoaXRlbSlcIlxuICAgICAgICAgICAgKGRlbGV0ZSk9XCJvbkRlbGV0ZShpdGVtKVwiXG4gICAgICAgICAgPjwvcm9sYXRlY2gtY2hlY2tvdXQtaXRlbT5cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaC0xNCBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGcgZm9udC1ib2xkXCI+5oC76K6hPC9kaXY+XG4gICAgICAgIDxkaXY+wqV7eyB0b3RhbFByaWNlIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC0zIHctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXQtM1wiPlxuICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBbcm91dGVyTGlua109XCJyb3V0ZXIoKVwiIChjbGljayk9XCJkaXNtaXNzKClcIiBjbGFzcz1cInctOC8xMlwiPlxuICAgICAgICAgIDxhPuWOu+i0reeJqei9pue7k+eulzwvYT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJkaXNtaXNzKClcIiBjbGFzcz1cInctNC8xMlwiPlxuICAgICAgICAgIDxhPue7p+e7rei0reeJqTwvYT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxuICBAaWYgKGxvYWRpbmcpIHtcbiAgICA8ZGl2PlxuICAgICAgPHJvbGF0ZWNoLXNwaW5uZXI+PC9yb2xhdGVjaC1zcGlubmVyPlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbjxkaXZcbiAgKGNsaWNrKT1cImRpc21pc3MoKVwiXG4gIFtuZ0NsYXNzXT1cImluZm8oKSA/ICd2aXNpYmxlJyA6ICdpbnZpc2libGUnXCJcbiAgY2xhc3M9XCJiZy1bLS1ydC0xMC1wZXJjZW50LWxheWVyXSBmaXhlZCBoLXNjcmVlbiBpbnNldC0wIHotWzEwMDBdXCJcbj48L2Rpdj5cbiJdfQ==","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class CartState {\n constructor() {\n this.$count = new BehaviorSubject(0);\n }\n getCount() {\n return this.$count.asObservable();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CartState, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CartState, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CartState, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItY2FydC9zcmMvbGliL3N0YXRlL2NhcnQuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt2QyxNQUFNLE9BQU8sU0FBUztJQUh0QjtRQUlFLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUlqQztJQUhDLFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEMsQ0FBQzs4R0FKVSxTQUFTO2tIQUFULFNBQVMsY0FGUixNQUFNOzsyRkFFUCxTQUFTO2tCQUhyQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2FydFN0YXRlIHtcbiAgJGNvdW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcbiAgZ2V0Q291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuJGNvdW50LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iXX0=","import { Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule } from '@rolatech/angular-components';\nimport { CartService } from '@rolatech/angular-services';\nimport { CartState } from '../../state';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nimport * as i2 from \"@angular/material/badge\";\nimport * as i3 from \"@angular/material/button\";\nimport * as i4 from \"@angular/material/icon\";\nimport * as i5 from \"@angular/material/menu\";\nexport class CartIconComponent {\n constructor() {\n this.router = input('/cart');\n this.carts = [];\n this.cartService = inject(CartService);\n this.cartState = inject(CartState);\n this.count = 0;\n }\n ngOnInit() {\n this.cartState.$count.subscribe((data) => {\n this.count = data;\n });\n this.loadCarts();\n }\n ngOnDestroy() {\n if (this.countSubscription)\n this.countSubscription.unsubscribe();\n }\n loadCarts() {\n const options = {};\n this.cartService.find(options).subscribe({\n next: (res) => {\n this.carts = res.data;\n },\n });\n }\n deleteAll() {\n this.cartService.deleteAll().subscribe({\n next: (res) => {\n this.carts = [];\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CartIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: CartIconComponent, isStandalone: true, selector: \"rolatech-cart-icon\", inputs: { router: { classPropertyName: \"router\", publicName: \"router\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<div class=\\\"px-2\\\">\\n <button mat-icon-button class=\\\"flex\\\" onclick=\\\"this.blur()\\\" [matMenuTriggerFor]=\\\"notificationsMenu\\\">\\n <mat-icon aria-hidden=\\\"false\\\" [matBadge]=\\\"count\\\" [matBadgeHidden]=\\\"count === 0\\\">shopping_bag</mat-icon>\\n </button>\\n</div>\\n<mat-menu #notificationsMenu=\\\"matMenu\\\" class=\\\"custom-menu\\\">\\n <div class=\\\"flex flex-col min-w-[320px] divide-y divide-[--rt-10-percent-layer]\\\">\\n <div class=\\\"h-11 px-3 flex justify-between items-center\\\">\\n <span class=\\\"font-medium\\\" i18n>Cart</span>\\n @if (count) {\\n <span class=\\\"text-sm font-medium cursor-pointer hover:underline\\\" (click)=\\\"deleteAll()\\\" i18n>Delete All</span>\\n }\\n </div>\\n <div>\\n @if (carts && carts.length > 0) {\\n <div class=\\\"divide-y divide-[--rt-10-percent-layer]\\\">\\n @for (item of carts; track item) {\\n <div class=\\\"p-2 cursor-pointer hover:bg-[--rt-raised-background]\\\" [routerLink]=\\\"[router(), item.id]\\\">\\n <div>\\n {{ item.title }}\\n </div>\\n <div class=\\\"text-sm\\\">\\n {{ item.content }}\\n </div>\\n </div>\\n }\\n </div>\\n } @else {\\n <div class=\\\"h-32 flex justify-center items-center\\\" i18n>Empty</div>\\n }\\n </div>\\n <div class=\\\"h-11 flex justify-center items-center cursor-pointer hover:bg-[--rt-raised-background]\\\" [routerLink]=\\\"router()\\\">\\n <a class=\\\"flex justify-center items-center\\\">\\n <span class=\\\"text-sm text-[--rt-brand-color]\\\" i18n> Cart </span>\\n </a>\\n </div>\\n </div>\\n</mat-menu>\\n\", styles: [\"rolatech-cart-icon{color:var(--rt-text-primary, #000)}.custom-menu{color:var(--rt-text-primary, #000)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"directive\", type: i1.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"directive\", type: i2.MatBadge, selector: \"[matBadge]\", inputs: [\"matBadgeColor\", \"matBadgeOverlap\", \"matBadgeDisabled\", \"matBadgePosition\", \"matBadge\", \"matBadgeDescription\", \"matBadgeSize\", \"matBadgeHidden\"] }, { kind: \"component\", type: i3.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: i4.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: i5.MatMenu, selector: \"mat-menu\", inputs: [\"backdropClass\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"xPosition\", \"yPosition\", \"overlapTrigger\", \"hasBackdrop\", \"class\", \"classList\"], outputs: [\"closed\", \"close\"], exportAs: [\"matMenu\"] }, { kind: \"directive\", type: i5.MatMenuTrigger, selector: \"[mat-menu-trigger-for], [matMenuTriggerFor]\", inputs: [\"mat-menu-trigger-for\", \"matMenuTriggerFor\", \"matMenuTriggerData\", \"matMenuTriggerRestoreFocus\"], outputs: [\"menuOpened\", \"onMenuOpen\", \"menuClosed\", \"onMenuClose\"], exportAs: [\"matMenuTrigger\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CartIconComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-cart-icon', imports: [AngularCommonModule, AngularComponentsModule], encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"px-2\\\">\\n <button mat-icon-button class=\\\"flex\\\" onclick=\\\"this.blur()\\\" [matMenuTriggerFor]=\\\"notificationsMenu\\\">\\n <mat-icon aria-hidden=\\\"false\\\" [matBadge]=\\\"count\\\" [matBadgeHidden]=\\\"count === 0\\\">shopping_bag</mat-icon>\\n </button>\\n</div>\\n<mat-menu #notificationsMenu=\\\"matMenu\\\" class=\\\"custom-menu\\\">\\n <div class=\\\"flex flex-col min-w-[320px] divide-y divide-[--rt-10-percent-layer]\\\">\\n <div class=\\\"h-11 px-3 flex justify-between items-center\\\">\\n <span class=\\\"font-medium\\\" i18n>Cart</span>\\n @if (count) {\\n <span class=\\\"text-sm font-medium cursor-pointer hover:underline\\\" (click)=\\\"deleteAll()\\\" i18n>Delete All</span>\\n }\\n </div>\\n <div>\\n @if (carts && carts.length > 0) {\\n <div class=\\\"divide-y divide-[--rt-10-percent-layer]\\\">\\n @for (item of carts; track item) {\\n <div class=\\\"p-2 cursor-pointer hover:bg-[--rt-raised-background]\\\" [routerLink]=\\\"[router(), item.id]\\\">\\n <div>\\n {{ item.title }}\\n </div>\\n <div class=\\\"text-sm\\\">\\n {{ item.content }}\\n </div>\\n </div>\\n }\\n </div>\\n } @else {\\n <div class=\\\"h-32 flex justify-center items-center\\\" i18n>Empty</div>\\n }\\n </div>\\n <div class=\\\"h-11 flex justify-center items-center cursor-pointer hover:bg-[--rt-raised-background]\\\" [routerLink]=\\\"router()\\\">\\n <a class=\\\"flex justify-center items-center\\\">\\n <span class=\\\"text-sm text-[--rt-brand-color]\\\" i18n> Cart </span>\\n </a>\\n </div>\\n </div>\\n</mat-menu>\\n\", styles: [\"rolatech-cart-icon{color:var(--rt-text-primary, #000)}.custom-menu{color:var(--rt-text-primary, #000)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1pY29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItY2FydC9zcmMvbGliL2NvbXBvbmVudHMvY2FydC1pY29uL2NhcnQtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWNhcnQvc3JjL2xpYi9jb21wb25lbnRzL2NhcnQtaWNvbi9jYXJ0LWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQVN4QyxNQUFNLE9BQU8saUJBQWlCO0lBUDlCO1FBUUUsV0FBTSxHQUFHLEtBQUssQ0FBUyxPQUFPLENBQUMsQ0FBQztRQUNoQyxVQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFOUIsVUFBSyxHQUFHLENBQUMsQ0FBQztLQTJCWDtJQXpCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxpQkFBaUI7WUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkUsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3ZDLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDeEIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDckMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDbEIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBaENVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHFOQ2Q5QixvbURBc0NBLGlLRDdCWSxtQkFBbUIsK1FBQUUsdUJBQXVCOzsyRkFLM0MsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLG9CQUFvQixXQUNyQixDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDLGlCQUd4QyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYXJ0U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWNhcnQtaWNvbicsXG4gIGltcG9ydHM6IFtBbmd1bGFyQ29tbW9uTW9kdWxlLCBBbmd1bGFyQ29tcG9uZW50c01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJ0LWljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2FydC1pY29uLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FydEljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJvdXRlciA9IGlucHV0PHN0cmluZz4oJy9jYXJ0Jyk7XG4gIGNhcnRzOiBhbnkgPSBbXTtcbiAgY2FydFNlcnZpY2UgPSBpbmplY3QoQ2FydFNlcnZpY2UpO1xuICBjYXJ0U3RhdGUgPSBpbmplY3QoQ2FydFN0YXRlKTtcblxuICBjb3VudCA9IDA7XG4gIHByaXZhdGUgY291bnRTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2FydFN0YXRlLiRjb3VudC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuY291bnQgPSBkYXRhO1xuICAgIH0pO1xuICAgIHRoaXMubG9hZENhcnRzKCk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuY291bnRTdWJzY3JpcHRpb24pIHRoaXMuY291bnRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGxvYWRDYXJ0cygpIHtcbiAgICBjb25zdCBvcHRpb25zID0ge307XG4gICAgdGhpcy5jYXJ0U2VydmljZS5maW5kKG9wdGlvbnMpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5jYXJ0cyA9IHJlcy5kYXRhO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBkZWxldGVBbGwoKSB7XG4gICAgdGhpcy5jYXJ0U2VydmljZS5kZWxldGVBbGwoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmNhcnRzID0gW107XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicHgtMlwiPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cImZsZXhcIiBvbmNsaWNrPVwidGhpcy5ibHVyKClcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibm90aWZpY2F0aW9uc01lbnVcIj5cbiAgICA8bWF0LWljb24gYXJpYS1oaWRkZW49XCJmYWxzZVwiIFttYXRCYWRnZV09XCJjb3VudFwiIFttYXRCYWRnZUhpZGRlbl09XCJjb3VudCA9PT0gMFwiPnNob3BwaW5nX2JhZzwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG48bWF0LW1lbnUgI25vdGlmaWNhdGlvbnNNZW51PVwibWF0TWVudVwiIGNsYXNzPVwiY3VzdG9tLW1lbnVcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbWluLXctWzMyMHB4XSBkaXZpZGUteSBkaXZpZGUtWy0tcnQtMTAtcGVyY2VudC1sYXllcl1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaC0xMSBweC0zIGZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bVwiIGkxOG4+Q2FydDwvc3Bhbj5cbiAgICAgIEBpZiAoY291bnQpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIGN1cnNvci1wb2ludGVyIGhvdmVyOnVuZGVybGluZVwiIChjbGljayk9XCJkZWxldGVBbGwoKVwiIGkxOG4+RGVsZXRlIEFsbDwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgQGlmIChjYXJ0cyAmJiBjYXJ0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGUteSBkaXZpZGUtWy0tcnQtMTAtcGVyY2VudC1sYXllcl1cIj5cbiAgICAgICAgICBAZm9yIChpdGVtIG9mIGNhcnRzOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC0yIGN1cnNvci1wb2ludGVyIGhvdmVyOmJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXVwiIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXIoKSwgaXRlbS5pZF1cIj5cbiAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0uY29udGVudCB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImgtMzIgZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIiBpMThuPkVtcHR5PC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImgtMTEgZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgY3Vyc29yLXBvaW50ZXIgaG92ZXI6YmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdXCIgW3JvdXRlckxpbmtdPVwicm91dGVyKClcIj5cbiAgICAgIDxhIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtWy0tcnQtYnJhbmQtY29sb3JdXCIgaTE4bj4gQ2FydCA8L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9tYXQtbWVudT5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sYXRlY2gtYW5ndWxhci1jYXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1jYXJ0L3NyYy9yb2xhdGVjaC1hbmd1bGFyLWNhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1","i2","i3"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,4 +1,60 @@
1
- export { cartRoutes } from './lib/pages/cart.routes';
2
- export * from './lib/interfaces';
3
- export * from './lib/components';
4
- export * from './lib/state';
1
+ import { Routes } from '@angular/router';
2
+ import * as i0 from '@angular/core';
3
+ import { OnInit, OnDestroy } from '@angular/core';
4
+ import { CartService } from '@rolatech/angular-services';
5
+ import * as rxjs from 'rxjs';
6
+ import { BehaviorSubject } from 'rxjs';
7
+
8
+ declare const cartRoutes: Routes;
9
+
10
+ interface Cart {
11
+ id: string;
12
+ productId: string;
13
+ }
14
+
15
+ declare class CartSideComponent implements OnInit, OnDestroy {
16
+ router: i0.InputSignal<string>;
17
+ cartService: CartService;
18
+ carts: any;
19
+ info: i0.ModelSignal<boolean>;
20
+ loading: boolean;
21
+ count: number;
22
+ totalPrice: string;
23
+ private countSubscription;
24
+ toggle: i0.EffectRef;
25
+ ngOnInit(): void;
26
+ ngOnDestroy(): void;
27
+ calcPrice(): any;
28
+ show(): void;
29
+ dismiss(): void;
30
+ onAdd(cart: any): void;
31
+ onRemove(cart: any): void;
32
+ onDelete(cart: any): void;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<CartSideComponent, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<CartSideComponent, "rolatech-cart-side", never, { "router": { "alias": "router"; "required": false; "isSignal": true; }; "info": { "alias": "info"; "required": false; "isSignal": true; }; }, { "info": "infoChange"; }, never, never, true, never>;
35
+ }
36
+
37
+ declare class CartState {
38
+ $count: BehaviorSubject<number>;
39
+ getCount(): rxjs.Observable<number>;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<CartState, never>;
41
+ static ɵprov: i0.ɵɵInjectableDeclaration<CartState>;
42
+ }
43
+
44
+ declare class CartIconComponent implements OnInit, OnDestroy {
45
+ router: i0.InputSignal<string>;
46
+ carts: any;
47
+ cartService: CartService;
48
+ cartState: CartState;
49
+ count: number;
50
+ private countSubscription;
51
+ ngOnInit(): void;
52
+ ngOnDestroy(): void;
53
+ loadCarts(): void;
54
+ deleteAll(): void;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<CartIconComponent, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<CartIconComponent, "rolatech-cart-icon", never, { "router": { "alias": "router"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
57
+ }
58
+
59
+ export { CartIconComponent, CartSideComponent, CartState, cartRoutes };
60
+ export type { Cart };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolatech/angular-cart",
3
- "version": "19.0.0-beta.9",
3
+ "version": "20.0.0-beta.1",
4
4
  "private": false,
5
5
  "peerDependencies": {},
6
6
  "dependencies": {
@@ -1 +1 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:600px){.container{max-width:600px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-20{z-index:20}.z-30{z-index:30}.z-\[1000\]{z-index:1000}.z-\[1001\]{z-index:1001}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.-m-1{margin:-.25rem}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-3{margin-bottom:.75rem;margin-top:.75rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.-ml-2{margin-left:-.5rem}.-mt-4{margin-top:-1rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-14{margin-left:3.5rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-\[40px\]{margin-left:40px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-\[6px\]{margin-top:6px}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-4{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.h-0{height:0}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[190px\]{height:190px}.h-\[1px\]{height:1px}.h-\[256px\]{height:256px}.h-\[72px\]{height:72px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-8{max-height:2rem}.max-h-9{max-height:2.25rem}.max-h-\[55vh\]{max-height:55vh}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-\[28px\]{min-height:28px}.min-h-\[320px\]{min-height:320px}.w-1{width:.25rem}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2\/3{width:66.666667%}.w-2\/5{width:40%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-4\/12{width:33.333333%}.w-7{width:1.75rem}.w-8\/12{width:66.666667%}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[160px\]{width:160px}.w-\[190px\]{width:190px}.w-\[256px\]{width:256px}.w-\[60px\]{width:60px}.w-full{width:100%}.min-w-10{min-width:2.5rem}.min-w-24{min-width:6rem}.min-w-28{min-width:7rem}.min-w-9{min-width:2.25rem}.min-w-\[100px\]{min-width:100px}.min-w-\[240px\]{min-width:240px}.min-w-\[256px\]{min-width:256px}.min-w-\[28px\]{min-width:28px}.min-w-\[320px\]{min-width:320px}.max-w-24{max-width:6rem}.max-w-8{max-width:2rem}.max-w-\[1120px\]{max-width:1120px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[500px\]{max-width:500px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.grow{flex-grow:1}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-90,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.divide-\[--rt-10-percent-layer\]>:not([hidden])~:not([hidden]){border-color:var(--rt-10-percent-layer)}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-x-scroll{overflow-x:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-pre{white-space:pre}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-dashed{border-style:dashed}.border-\[--rt-border-color\]{border-color:var(--rt-border-color)}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.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-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-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-fixed{background-attachment:fixed}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-1{padding:.25rem!important}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-11{padding-bottom:2.75rem;padding-top:2.75rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-32{padding-bottom:8rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.9rem\]{font-size:.9rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-thin{font-weight:100}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-none{line-height:1}.text-\[\#4A4A4A\]{--tw-text-opacity:1;color:rgb(74 74 74/var(--tw-text-opacity,1))}.text-\[--rt-brand-color\]{color:var(--rt-brand-color)}.text-\[--rt-text-primary-inverse\]{color:var(--rt-text-primary-inverse)}.text-\[--rt-text-primary\]{color:var(--rt-text-primary)}.text-\[--rt-text-secondary\]{color:var(--rt-text-secondary)}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-30{opacity:.3}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline{outline-style:solid}.outline-dashed{outline-style:dashed}.outline-1{outline-width:1px}.outline-4{outline-width:4px}.outline-transparent{outline-color:transparent}.blur{--tw-blur:blur(8px)}.blur,.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)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.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-raised-background\]:hover{background-color:var(--rt-raised-background)}.hover\:text-\[--rt-text-primary-inverse\]:hover{color:var(--rt-text-primary-inverse)}.hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:outline-\[--rt-raised-background\]:hover{outline-color:var(--rt-raised-background)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.group:hover .group-hover\:visible{visibility:visible}@media (min-width:600px){.sm\:w-1\/3{width:33.333333%}.sm\:p-4{padding:1rem}}@media (min-width:768px){.md\:visible{visibility:visible}.md\:static{position:static}.md\:mb-1{margin-bottom:.25rem}.md\:ml-16{margin-left:4rem}.md\:ml-2{margin-left:.5rem}.md\:ml-8{margin-left:2rem}.md\:mr-0{margin-right:0}.md\:mr-16{margin-right:4rem}.md\:mt-6{margin-top:1.5rem}.md\:line-clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.md\:block{display:block}.md\:flex{display:flex}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-1\/4{width:25%}.md\:w-2\/3{width:66.666667%}.md\:w-3\/4{width:75%}.md\:w-80{width:20rem}.md\:w-\[600px\]{width:600px}.md\:w-full{width:100%}.md\:translate-x-full{--tw-translate-x:100%}.md\:translate-x-full,.md\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:translate-y-0{--tw-translate-y:0px}.md\:flex-row{flex-direction:row}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-col{flex-direction:column}.md\:items-start{align-items:flex-start}.md\:gap-10{gap:2.5rem}.md\:rounded-xl{border-radius:.75rem}.md\:bg-\[--rt-base-background\]{background-color:var(--rt-base-background)}.md\:p-3{padding:.75rem}.md\:px-0{padding-left:0;padding-right:0}.md\:px-1{padding-left:.25rem;padding-right:.25rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:pb-3{padding-bottom:.75rem}.md\:pr-16{padding-right:4rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:mt-4{margin-top:1rem}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:w-1\/6{width:16.666667%}.lg\:w-\[30\%\]{width:30%}.lg\:w-\[70\%\]{width:70%}.lg\:basis-1\/2{flex-basis:50%}.lg\:flex-row{flex-direction:row}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:px-6{padding-left:1.5rem}.lg\:pr-6,.lg\:px-6{padding-right:1.5rem}.lg\:pt-0{padding-top:0}}@media (min-width:1280px){.xl\:max-w-\[1024px\]{max-width:1024px}}@media (min-width:1536px){.\32xl\:max-w-\[1280px\]{max-width:1280px}}
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:600px){.container{max-width:600px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.left-\[30px\]{left:30px}.right-0{right:0}.top-0{top:0}.top-\[30px\]{top:30px}.z-20{z-index:20}.z-30{z-index:30}.z-\[1000\]{z-index:1000}.z-\[1001\]{z-index:1001}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.-m-1{margin:-.25rem}.m-3{margin:.75rem}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-3{margin-bottom:.75rem;margin-top:.75rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.-ml-2{margin-left:-.5rem}.-mt-4{margin-top:-1rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-14{margin-left:3.5rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-\[40px\]{margin-left:40px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-\[6px\]{margin-top:6px}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-4{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.h-0{height:0}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[190px\]{height:190px}.h-\[1px\]{height:1px}.h-\[256px\]{height:256px}.h-\[72px\]{height:72px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-8{max-height:2rem}.max-h-9{max-height:2.25rem}.max-h-\[320px\]{max-height:320px}.max-h-\[55vh\]{max-height:55vh}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-\[28px\]{min-height:28px}.min-h-\[320px\]{min-height:320px}.w-1{width:.25rem}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2\/3{width:66.666667%}.w-2\/5{width:40%}.w-2\/6{width:33.333333%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-4\/12{width:33.333333%}.w-4\/6{width:66.666667%}.w-7{width:1.75rem}.w-8\/12{width:66.666667%}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[160px\]{width:160px}.w-\[190px\]{width:190px}.w-\[256px\]{width:256px}.w-\[60px\]{width:60px}.w-full{width:100%}.min-w-10{min-width:2.5rem}.min-w-24{min-width:6rem}.min-w-28{min-width:7rem}.min-w-9{min-width:2.25rem}.min-w-\[150px\]{min-width:150px}.min-w-\[240px\]{min-width:240px}.min-w-\[256px\]{min-width:256px}.min-w-\[28px\]{min-width:28px}.min-w-\[320px\]{min-width:320px}.max-w-24{max-width:6rem}.max-w-8{max-width:2rem}.max-w-\[1120px\]{max-width:1120px}.max-w-\[1280px\]{max-width:1280px}.max-w-\[500px\]{max-width:500px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.grow{flex-grow:1}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-90,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.divide-\[--rt-10-percent-layer\]>:not([hidden])~:not([hidden]){border-color:var(--rt-10-percent-layer)}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-x-scroll{overflow-x:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-pre{white-space:pre}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-dashed{border-style:dashed}.border-\[--rt-border-color\]{border-color:var(--rt-border-color)}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.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-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-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-fixed{background-attachment:fixed}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-1{padding:.25rem!important}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-11{padding-bottom:2.75rem;padding-top:2.75rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-3{padding-bottom:.75rem}.pb-32{padding-bottom:8rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.9rem\]{font-size:.9rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-thin{font-weight:100}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-none{line-height:1}.text-\[\#4A4A4A\]{--tw-text-opacity:1;color:rgb(74 74 74/var(--tw-text-opacity,1))}.text-\[--rt-brand-color\]{color:var(--rt-brand-color)}.text-\[--rt-text-primary-inverse\]{color:var(--rt-text-primary-inverse)}.text-\[--rt-text-primary\]{color:var(--rt-text-primary)}.text-\[--rt-text-secondary\]{color:var(--rt-text-secondary)}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-30{opacity:.3}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline{outline-style:solid}.outline-dashed{outline-style:dashed}.outline-1{outline-width:1px}.outline-4{outline-width:4px}.outline-transparent{outline-color:transparent}.blur{--tw-blur:blur(8px)}.blur,.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)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.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-raised-background\]:hover{background-color:var(--rt-raised-background)}.hover\:text-\[--rt-text-primary-inverse\]:hover{color:var(--rt-text-primary-inverse)}.hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:outline-\[--rt-raised-background\]:hover{outline-color:var(--rt-raised-background)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}@media (min-width:600px){.sm\:w-1\/3{width:33.333333%}.sm\:p-4{padding:1rem}}@media (min-width:768px){.md\:visible{visibility:visible}.md\:static{position:static}.md\:mb-1{margin-bottom:.25rem}.md\:ml-16{margin-left:4rem}.md\:ml-2{margin-left:.5rem}.md\:ml-8{margin-left:2rem}.md\:mr-0{margin-right:0}.md\:mr-16{margin-right:4rem}.md\:mt-6{margin-top:1.5rem}.md\:line-clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.md\:block{display:block}.md\:flex{display:flex}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-1\/4{width:25%}.md\:w-2\/3{width:66.666667%}.md\:w-3\/4{width:75%}.md\:w-80{width:20rem}.md\:w-\[600px\]{width:600px}.md\:w-full{width:100%}.md\:translate-x-full{--tw-translate-x:100%}.md\:translate-x-full,.md\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:translate-y-0{--tw-translate-y:0px}.md\:flex-row{flex-direction:row}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-col{flex-direction:column}.md\:items-start{align-items:flex-start}.md\:gap-10{gap:2.5rem}.md\:rounded-xl{border-radius:.75rem}.md\:bg-\[--rt-base-background\]{background-color:var(--rt-base-background)}.md\:p-3{padding:.75rem}.md\:px-0{padding-left:0;padding-right:0}.md\:px-1{padding-left:.25rem;padding-right:.25rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:pb-3{padding-bottom:.75rem}.md\:pr-16{padding-right:4rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:mt-4{margin-top:1rem}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:w-1\/2{width:50%}.lg\:w-1\/6{width:16.666667%}.lg\:w-\[30\%\]{width:30%}.lg\:w-\[70\%\]{width:70%}.lg\:basis-1\/2{flex-basis:50%}.lg\:flex-row{flex-direction:row}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:px-6{padding-left:1.5rem}.lg\:pr-6,.lg\:px-6{padding-right:1.5rem}.lg\:pt-0{padding-top:0}}@media (min-width:1280px){.xl\:max-w-\[1024px\]{max-width:1024px}}@media (min-width:1536px){.\32xl\:max-w-\[1280px\]{max-width:1280px}}
@@ -1,18 +0,0 @@
1
- import { OnDestroy, OnInit } from '@angular/core';
2
- import { CartService } from '@rolatech/angular-services';
3
- import { CartState } from '../../state';
4
- import * as i0 from "@angular/core";
5
- export declare class CartIconComponent implements OnInit, OnDestroy {
6
- router: import("@angular/core").InputSignal<string>;
7
- carts: any;
8
- cartService: CartService;
9
- cartState: CartState;
10
- count: number;
11
- private countSubscription;
12
- ngOnInit(): void;
13
- ngOnDestroy(): void;
14
- loadCarts(): void;
15
- deleteAll(): void;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<CartIconComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<CartIconComponent, "rolatech-cart-icon", never, { "router": { "alias": "router"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18
- }
@@ -1,24 +0,0 @@
1
- import { OnDestroy, OnInit } from '@angular/core';
2
- import { CartService } from '@rolatech/angular-services';
3
- import * as i0 from "@angular/core";
4
- export declare class CartSideComponent implements OnInit, OnDestroy {
5
- router: import("@angular/core").InputSignal<string>;
6
- cartService: CartService;
7
- carts: any;
8
- info: import("@angular/core").ModelSignal<boolean>;
9
- loading: boolean;
10
- count: number;
11
- totalPrice: string;
12
- private countSubscription;
13
- toggle: import("@angular/core").EffectRef;
14
- ngOnInit(): void;
15
- ngOnDestroy(): void;
16
- calcPrice(): any;
17
- show(): void;
18
- dismiss(): void;
19
- onAdd(cart: any): void;
20
- onRemove(cart: any): void;
21
- onDelete(cart: any): void;
22
- static ɵfac: i0.ɵɵFactoryDeclaration<CartSideComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<CartSideComponent, "rolatech-cart-side", never, { "router": { "alias": "router"; "required": false; "isSignal": true; }; "info": { "alias": "info"; "required": false; "isSignal": true; }; }, { "info": "infoChange"; }, never, never, true, never>;
24
- }
@@ -1,2 +0,0 @@
1
- export * from './cart-side/cart-side.component';
2
- export * from './cart-icon/cart-icon.component';
@@ -1,4 +0,0 @@
1
- export interface Cart {
2
- id: string;
3
- productId: string;
4
- }
@@ -1 +0,0 @@
1
- export * from './cart';
@@ -1,26 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { CartService, TitleService } from '@rolatech/angular-services';
3
- import { ProductService, OrderService } from '@rolatech/angular-services';
4
- import { Router } from '@angular/router';
5
- import * as i0 from "@angular/core";
6
- export declare class CartIndexComponent implements OnInit {
7
- cartService: CartService;
8
- productService: ProductService;
9
- orderService: OrderService;
10
- titleService: TitleService;
11
- router: Router;
12
- carts: any;
13
- totalPrice: number;
14
- quantity: number;
15
- ngOnInit(): void;
16
- findCarts(): void;
17
- calcPrice(): any;
18
- onAdd(cart: any): void;
19
- onRemove(cart: any): void;
20
- onDelete(cart: any): void;
21
- checkout(): void;
22
- deleteAllCarts(): void;
23
- onChange(cart: any): void;
24
- static ɵfac: i0.ɵɵFactoryDeclaration<CartIndexComponent, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<CartIndexComponent, "rolatech-cart-index", never, {}, {}, never, never, true, never>;
26
- }
@@ -1,2 +0,0 @@
1
- import { Routes } from '@angular/router';
2
- export declare const cartRoutes: Routes;
@@ -1,8 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- import * as i0 from "@angular/core";
3
- export declare class CartState {
4
- $count: BehaviorSubject<number>;
5
- getCount(): import("rxjs").Observable<number>;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<CartState, never>;
7
- static ɵprov: i0.ɵɵInjectableDeclaration<CartState>;
8
- }
@@ -1 +0,0 @@
1
- export * from './cart.state';