@rolatech/angular-product 20.1.0 → 20.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{rolatech-angular-product-product-index.component-DcJcCDSx.mjs → rolatech-angular-product-product-index.component-BRAUuqMC.mjs} +4 -4
- package/fesm2022/{rolatech-angular-product-product-index.component-DcJcCDSx.mjs.map → rolatech-angular-product-product-index.component-BRAUuqMC.mjs.map} +1 -1
- package/fesm2022/rolatech-angular-product.mjs +96 -121
- package/fesm2022/rolatech-angular-product.mjs.map +1 -1
- package/package.json +6 -7
- package/themes/_default.scss +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-product.mjs","sources":["../tmp-esm2022/lib/pages/product/product-layout/product-layout.component.js","../tmp-esm2022/lib/pages/product/product-category/product-category.component.js","../tmp-esm2022/lib/components/product-info/product-info.component.js","../tmp-esm2022/lib/components/product-media/product-media.component.js","../tmp-esm2022/lib/components/product-section/product-section.component.js","../tmp-esm2022/lib/components/product-item/product-item.component.js","../tmp-esm2022/lib/components/product-action/product-action.component.js","../tmp-esm2022/lib/components/product-pricing/product-pricing.component.js","../tmp-esm2022/lib/components/product-option/product-option.component.js","../tmp-esm2022/lib/components/product-mange-section-item/product-mange-section-item.component.js","../tmp-esm2022/lib/components/product-manage-option-add/product-manage-option-add.component.js","../tmp-esm2022/lib/components/product-manage-option-item/product-manage-option-item.component.js","../tmp-esm2022/lib/pages/product/product-details/selected.pipe.js","../tmp-esm2022/lib/components/product-owner-renderer/product-owner-renderer.component.js","../tmp-esm2022/lib/pages/product/product-details/product-details.component.js","../tmp-esm2022/lib/pages/product/product.routes.js","../tmp-esm2022/lib/interfaces/product.js","../tmp-esm2022/lib/pages/product-manage/product-manage-layout/product-manage-layout.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-content/product-manage-content.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-info/product-manage-info.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-sections/product-manage-sections.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-media/product-manage-media.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-pricing/product-manage-pricing.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-item/product-manage-item.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-item-header/product-manage-item-header.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-index/product-manage-index.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-create/product-manage-create.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-options/product-manage-options.component.js","../tmp-esm2022/lib/components/product-manage-variant/product-manage-variant.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-variants/product-manage-variants.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-schedule/product-manage-schedule.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-inventory/product-manage-inventory.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-tags/product-manage-tags.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage.routes.js","../tmp-esm2022/provider.js","../tmp-esm2022/lib/services/index.js","../tmp-esm2022/rolatech-angular-product.js"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, BaseComponent, ContainerComponent } from '@rolatech/angular-components';\nimport { ProductService, ProductCategoryService } from '@rolatech/angular-services';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nexport class ProductLayoutComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.categories = [];\n this.categoryService = inject(ProductCategoryService);\n this.productService = inject(ProductService);\n this.selectIndex = 0;\n }\n ngOnInit() {\n this.findCategories();\n }\n findCategories() {\n this.categoryService.find({}, false).subscribe({\n next: (res) => {\n this.categories = res.data;\n },\n });\n }\n loadProductByCategoryIndex(index) {\n this.selectIndex = index;\n const id = this.categories[index].id;\n if (index === 0) {\n this.router.navigate([`./`]);\n // this.productService.find({}).subscribe({\n // next: res => {\n // }\n // })\n }\n else {\n this.router.navigate([`../categories/${id}`], {\n relativeTo: this.route,\n });\n }\n }\n nextCategory() { }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductLayoutComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductLayoutComponent, isStandalone: true, selector: \"rolatech-product-layout\", usesInheritance: true, ngImport: i0, template: \"@if (categories) {\\n <rolatech-container>\\n <div class=\\\"flex flex-col md:flex-row min-w-[320px] max-w-[1280px] m-auto\\\">\\n <div class=\\\"h-14 md:h-auto min-w-[240px]\\\">\\n <div class=\\\"hidden md:block text-2xl font-medium py-3 md:px-1 px-3\\\" i18n>Categories</div>\\n <div\\n class=\\\"flex flex-row md:flex-col md:h-full items-center md:items-start h-14 overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\\\"\\n >\\n <a\\n class=\\\"cursor-pointer h-8 bg-[--rt-badge-chip-background] md:bg-[--rt-base-background] rounded-md flex items-center md:mb-1 mr-2 md:mr-0\\\"\\n routerLinkActive=\\\"product-layout-active\\\"\\n routerLink=\\\"./\\\"\\n [routerLinkActiveOptions]=\\\"{ exact: true }\\\"\\n >\\n <span class=\\\"md:px-1 px-3 text-md md:text-lg\\\" i18n>All</span>\\n </a>\\n @for (category of categories; track category; let index = $index) {\\n <a\\n class=\\\"cursor-pointer h-8 bg-[--rt-badge-chip-background] md:bg-[--rt-base-background] rounded-md flex items-center mr-2 md:mr-0 md:mb-1\\\"\\n routerLinkActive=\\\"product-layout-active\\\"\\n [routerLink]=\\\"['./categories/', category.id]\\\"\\n [routerLinkActiveOptions]=\\\"{ exact: true }\\\"\\n >\\n <span class=\\\"md:px-1 px-3 text-md md:text-lg\\\">{{ category.name }}</span>\\n </a>\\n }\\n </div>\\n </div>\\n <div class=\\\"w-full\\\">\\n <router-outlet></router-outlet>\\n </div>\\n </div>\\n </rolatech-container>\\n}\\n\", styles: [\".product-layout-active{border-radius:var(--rt-rounded-base, 8px);background-color:var(-rt-base-background, #fff);color:var(--rt-brand-color, #000)}@media (max-width: 768px){.product-layout-active{background-color:var(--rt-text-primary, #000);color:var(--rt-text-primary-inverse, #000)}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\\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: \"directive\", type: i1.RouterLinkActive, selector: \"[routerLinkActive]\", inputs: [\"routerLinkActiveOptions\", \"ariaCurrentWhenActive\", \"routerLinkActive\"], outputs: [\"isActiveChange\"], exportAs: [\"routerLinkActive\"] }, { kind: \"directive\", type: i1.RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: ContainerComponent, selector: \"rolatech-container\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductLayoutComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-layout', imports: [AngularCommonModule, AngularComponentsModule, ContainerComponent], template: \"@if (categories) {\\n <rolatech-container>\\n <div class=\\\"flex flex-col md:flex-row min-w-[320px] max-w-[1280px] m-auto\\\">\\n <div class=\\\"h-14 md:h-auto min-w-[240px]\\\">\\n <div class=\\\"hidden md:block text-2xl font-medium py-3 md:px-1 px-3\\\" i18n>Categories</div>\\n <div\\n class=\\\"flex flex-row md:flex-col md:h-full items-center md:items-start h-14 overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\\\"\\n >\\n <a\\n class=\\\"cursor-pointer h-8 bg-[--rt-badge-chip-background] md:bg-[--rt-base-background] rounded-md flex items-center md:mb-1 mr-2 md:mr-0\\\"\\n routerLinkActive=\\\"product-layout-active\\\"\\n routerLink=\\\"./\\\"\\n [routerLinkActiveOptions]=\\\"{ exact: true }\\\"\\n >\\n <span class=\\\"md:px-1 px-3 text-md md:text-lg\\\" i18n>All</span>\\n </a>\\n @for (category of categories; track category; let index = $index) {\\n <a\\n class=\\\"cursor-pointer h-8 bg-[--rt-badge-chip-background] md:bg-[--rt-base-background] rounded-md flex items-center mr-2 md:mr-0 md:mb-1\\\"\\n routerLinkActive=\\\"product-layout-active\\\"\\n [routerLink]=\\\"['./categories/', category.id]\\\"\\n [routerLinkActiveOptions]=\\\"{ exact: true }\\\"\\n >\\n <span class=\\\"md:px-1 px-3 text-md md:text-lg\\\">{{ category.name }}</span>\\n </a>\\n }\\n </div>\\n </div>\\n <div class=\\\"w-full\\\">\\n <router-outlet></router-outlet>\\n </div>\\n </div>\\n </rolatech-container>\\n}\\n\", styles: [\".product-layout-active{border-radius:var(--rt-rounded-base, 8px);background-color:var(-rt-base-background, #fff);color:var(--rt-brand-color, #000)}@media (max-width: 768px){.product-layout-active{background-color:var(--rt-text-primary, #000);color:var(--rt-text-primary-inverse, #000)}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC9wcm9kdWN0LWxheW91dC9wcm9kdWN0LWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QtbGF5b3V0L3Byb2R1Y3QtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUxRyxPQUFPLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQVFwRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsYUFBYTtJQU56RDs7UUFPRSxlQUFVLEdBQXNCLEVBQUUsQ0FBQztRQUNuQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pELG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO0tBNEJqQjtJQTFCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3QyxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQzdCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsMEJBQTBCLENBQUMsS0FBYTtRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyQyxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDN0IsMkNBQTJDO1lBQzNDLG1CQUFtQjtZQUNuQixNQUFNO1lBQ04sS0FBSztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsRUFBRTtnQkFDNUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLO2FBQ3ZCLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxLQUFJLENBQUM7OEdBL0JOLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDBHQ1puQyxxa0RBa0NBLHNjRDFCWSxtQkFBbUIsOHFCQUFFLHVCQUF1QiwrQkFBRSxrQkFBa0I7OzJGQUkvRCxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UseUJBQXlCLFdBQzFCLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBCYXNlQ29tcG9uZW50LCBDb250YWluZXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IFByb2R1Y3RDYXRlZ29yeSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUHJvZHVjdFNlcnZpY2UsIFByb2R1Y3RDYXRlZ29yeVNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3QtbGF5b3V0JyxcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBDb250YWluZXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1sYXlvdXQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TGF5b3V0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNhdGVnb3JpZXM6IFByb2R1Y3RDYXRlZ29yeVtdID0gW107XG4gIGNhdGVnb3J5U2VydmljZSA9IGluamVjdChQcm9kdWN0Q2F0ZWdvcnlTZXJ2aWNlKTtcbiAgcHJvZHVjdFNlcnZpY2UgPSBpbmplY3QoUHJvZHVjdFNlcnZpY2UpO1xuICBzZWxlY3RJbmRleCA9IDA7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maW5kQ2F0ZWdvcmllcygpO1xuICB9XG4gIGZpbmRDYXRlZ29yaWVzKCkge1xuICAgIHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLmZpbmQoe30sIGZhbHNlKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcmllcyA9IHJlcy5kYXRhO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBsb2FkUHJvZHVjdEJ5Q2F0ZWdvcnlJbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RJbmRleCA9IGluZGV4O1xuICAgIGNvbnN0IGlkID0gdGhpcy5jYXRlZ29yaWVzW2luZGV4XS5pZDtcbiAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgLi9gXSk7XG4gICAgICAvLyB0aGlzLnByb2R1Y3RTZXJ2aWNlLmZpbmQoe30pLnN1YnNjcmliZSh7XG4gICAgICAvLyAgIG5leHQ6IHJlcyA9PiB7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgLi4vY2F0ZWdvcmllcy8ke2lkfWBdLCB7XG4gICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgbmV4dENhdGVnb3J5KCkge31cbn1cbiIsIkBpZiAoY2F0ZWdvcmllcykge1xuICA8cm9sYXRlY2gtY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IG1pbi13LVszMjBweF0gbWF4LXctWzEyODBweF0gbS1hdXRvXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaC0xNCBtZDpoLWF1dG8gbWluLXctWzI0MHB4XVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGlkZGVuIG1kOmJsb2NrIHRleHQtMnhsIGZvbnQtbWVkaXVtIHB5LTMgbWQ6cHgtMSBweC0zXCIgaTE4bj5DYXRlZ29yaWVzPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgbWQ6ZmxleC1jb2wgbWQ6aC1mdWxsIGl0ZW1zLWNlbnRlciBtZDppdGVtcy1zdGFydCBoLTE0IG92ZXJmbG93LXgtc2Nyb2xsIG92ZXJmbG93LXktaGlkZGVuIHNjcm9sbGJhci1oaWRlIHdoaXRlc3BhY2UtcHJlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGgtOCBiZy1bLS1ydC1iYWRnZS1jaGlwLWJhY2tncm91bmRdIG1kOmJnLVstLXJ0LWJhc2UtYmFja2dyb3VuZF0gcm91bmRlZC1tZCBmbGV4IGl0ZW1zLWNlbnRlciBtZDptYi0xIG1yLTIgbWQ6bXItMFwiXG4gICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicHJvZHVjdC1sYXlvdXQtYWN0aXZlXCJcbiAgICAgICAgICAgIHJvdXRlckxpbms9XCIuL1wiXG4gICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwieyBleGFjdDogdHJ1ZSB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1kOnB4LTEgcHgtMyB0ZXh0LW1kIG1kOnRleHQtbGdcIiBpMThuPkFsbDwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgQGZvciAoY2F0ZWdvcnkgb2YgY2F0ZWdvcmllczsgdHJhY2sgY2F0ZWdvcnk7IGxldCBpbmRleCA9ICRpbmRleCkge1xuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBoLTggYmctWy0tcnQtYmFkZ2UtY2hpcC1iYWNrZ3JvdW5kXSBtZDpiZy1bLS1ydC1iYXNlLWJhY2tncm91bmRdIHJvdW5kZWQtbWQgZmxleCBpdGVtcy1jZW50ZXIgbXItMiBtZDptci0wIG1kOm1iLTFcIlxuICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicHJvZHVjdC1sYXlvdXQtYWN0aXZlXCJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycuL2NhdGVnb3JpZXMvJywgY2F0ZWdvcnkuaWRdXCJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInsgZXhhY3Q6IHRydWUgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWQ6cHgtMSBweC0zIHRleHQtbWQgbWQ6dGV4dC1sZ1wiPnt7IGNhdGVnb3J5Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9yb2xhdGVjaC1jb250YWluZXI+XG59XG4iXX0=","import { Component, inject } from '@angular/core';\nimport { ProductCategoryService, ProductService } from '@rolatech/angular-services';\nimport { AngularComponentsModule, BaseComponent, RichItemComponent, RichViewComponent } from '@rolatech/angular-components';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nexport class ProductCategoryComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.categoryService = inject(ProductCategoryService);\n this.productService = inject(ProductService);\n this.products = [];\n this.categories = [];\n this.loading = false;\n }\n ngOnInit() {\n this.findAllCategories();\n this.route.paramMap.subscribe((params) => {\n const id = params.get('id');\n this.findCategoryById(id);\n this.findProductsByCategoryId(id);\n });\n }\n findAllCategories() {\n this.categoryService.find({}).subscribe({\n next: (res) => {\n this.categories = res.data;\n },\n });\n }\n findCategoryById(id) {\n this.categoryService.get(id).subscribe({\n next: (res) => {\n this.category = res.data;\n },\n });\n }\n findAllProducts() {\n this.productService.find({}).subscribe({\n next: (res) => {\n this.products = res.data;\n },\n });\n }\n findProductsByCategoryId(id) {\n this.loading = true;\n const options = {\n filter: `categories:${id},published:true`,\n };\n this.productService.find(options).subscribe({\n next: (res) => {\n this.products = res.data;\n this.loading = false;\n },\n error: (error) => {\n this.loading = false;\n },\n });\n }\n loadProductsByCategory(item) {\n // [routerLink] = \"['../../', item.id]\";\n this.router.navigate([`../../${item.id}`], {\n relativeTo: this.route,\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductCategoryComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductCategoryComponent, isStandalone: true, selector: \"rolatech-product-category\", usesInheritance: true, ngImport: i0, template: \"<div>\\n @if (category) {\\n <div class=\\\"p-3 hidden md:block text-2xl font-medium\\\">{{ category.name }}</div>\\n } @else {\\n <div class=\\\"flex flex-row animate-pulse w-full\\\">\\n <div class=\\\"h-4 bg-[--rt-base-background] rounded col-span-2\\\"></div>\\n </div>\\n }\\n @if (loading) {\\n @for (number of [0, 1, 2, 3, 4, 5]; track number) {\\n <div class=\\\"flex flex-row animate-pulse mt-3 mr-4 cursor-pointer w-full\\\">\\n <div class=\\\"h-fit w-2/5 md:w-1/4 aspect-video bg-[--rt-base-background] rounded-lg\\\"></div>\\n <div class=\\\"w-3/5 md:w-3/4 ml-3 py-1 flex flex-col justify-between\\\">\\n <div class=\\\"space-y-3\\\">\\n <div class=\\\"h-4 bg-[--rt-base-background] rounded col-span-2\\\"></div>\\n <div class=\\\"h-2 bg-[--rt-base-background] rounded col-span-1\\\"></div>\\n <div class=\\\"h-2 bg-[--rt-base-background] rounded col-span-1 py-1\\\"></div>\\n </div>\\n <div>\\n <div class=\\\"h-2 bg-[--rt-base-background] rounded col-span-2 py-1\\\"></div>\\n </div>\\n </div>\\n </div>\\n }\\n } @else {\\n <rolatech-rich-view list>\\n @for (item of products; track item) {\\n @defer {\\n <rolatech-rich-item\\n [routerLink]=\\\"['../../', item.id]\\\"\\n [thumbnail]=\\\"item.media[0].url + '!w400'\\\"\\n [title]=\\\"item.name\\\"\\n [subtitle]=\\\"item.description\\\"\\n [price]=\\\"item.price / 100\\\"\\n ></rolatech-rich-item>\\n }\\n }\\n </rolatech-rich-view>\\n }\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: RichViewComponent, selector: \"rolatech-rich-view\", inputs: [\"list\", \"wrap\"] }], deferBlockDependencies: [() => [i1.RouterLink, RichItemComponent]] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductCategoryComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-category', imports: [AngularCommonModule, AngularComponentsModule, RichViewComponent, RichItemComponent], template: \"<div>\\n @if (category) {\\n <div class=\\\"p-3 hidden md:block text-2xl font-medium\\\">{{ category.name }}</div>\\n } @else {\\n <div class=\\\"flex flex-row animate-pulse w-full\\\">\\n <div class=\\\"h-4 bg-[--rt-base-background] rounded col-span-2\\\"></div>\\n </div>\\n }\\n @if (loading) {\\n @for (number of [0, 1, 2, 3, 4, 5]; track number) {\\n <div class=\\\"flex flex-row animate-pulse mt-3 mr-4 cursor-pointer w-full\\\">\\n <div class=\\\"h-fit w-2/5 md:w-1/4 aspect-video bg-[--rt-base-background] rounded-lg\\\"></div>\\n <div class=\\\"w-3/5 md:w-3/4 ml-3 py-1 flex flex-col justify-between\\\">\\n <div class=\\\"space-y-3\\\">\\n <div class=\\\"h-4 bg-[--rt-base-background] rounded col-span-2\\\"></div>\\n <div class=\\\"h-2 bg-[--rt-base-background] rounded col-span-1\\\"></div>\\n <div class=\\\"h-2 bg-[--rt-base-background] rounded col-span-1 py-1\\\"></div>\\n </div>\\n <div>\\n <div class=\\\"h-2 bg-[--rt-base-background] rounded col-span-2 py-1\\\"></div>\\n </div>\\n </div>\\n </div>\\n }\\n } @else {\\n <rolatech-rich-view list>\\n @for (item of products; track item) {\\n @defer {\\n <rolatech-rich-item\\n [routerLink]=\\\"['../../', item.id]\\\"\\n [thumbnail]=\\\"item.media[0].url + '!w400'\\\"\\n [title]=\\\"item.name\\\"\\n [subtitle]=\\\"item.description\\\"\\n [price]=\\\"item.price / 100\\\"\\n ></rolatech-rich-item>\\n }\\n }\\n </rolatech-rich-view>\\n }\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jYXRlZ29yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QtY2F0ZWdvcnkvcHJvZHVjdC1jYXRlZ29yeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QtY2F0ZWdvcnkvcHJvZHVjdC1jYXRlZ29yeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRzVILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFRL0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFOM0Q7O1FBT0Usb0JBQWUsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNqRCxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV4QyxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBc0IsRUFBRSxDQUFDO1FBQ25DLFlBQU8sR0FBRyxLQUFLLENBQUM7S0FxRGpCO0lBbkRDLFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFnQixFQUFFLEVBQUU7WUFDakQsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQVcsQ0FBQztZQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN0QyxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQzdCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBVTtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDckMsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUMzQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDckMsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUMzQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELHdCQUF3QixDQUFDLEVBQVU7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsTUFBTSxPQUFPLEdBQUc7WUFDZCxNQUFNLEVBQUUsY0FBYyxFQUFFLGlCQUFpQjtTQUMxQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFDLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQVM7UUFDOUIseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUN6QyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0ExRFUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsNEdDYnJDLG1oREF3Q0EseUREL0JZLG1CQUFtQiw4QkFBRSx1QkFBdUIsK0JBQUUsaUJBQWlCLDhHQUFFLGlCQUFpQjs7MkZBSWpGLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSwyQkFBMkIsV0FDNUIsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2R1Y3RDYXRlZ29yeVNlcnZpY2UsIFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIEJhc2VDb21wb25lbnQsIFJpY2hJdGVtQ29tcG9uZW50LCBSaWNoVmlld0NvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUHJvZHVjdCwgUHJvZHVjdENhdGVnb3J5IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQYXJhbU1hcCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvZHVjdC1jYXRlZ29yeScsXG4gIGltcG9ydHM6IFtBbmd1bGFyQ29tbW9uTW9kdWxlLCBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgUmljaFZpZXdDb21wb25lbnQsIFJpY2hJdGVtQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtY2F0ZWdvcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1jYXRlZ29yeS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RDYXRlZ29yeUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjYXRlZ29yeVNlcnZpY2UgPSBpbmplY3QoUHJvZHVjdENhdGVnb3J5U2VydmljZSk7XG4gIHByb2R1Y3RTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RTZXJ2aWNlKTtcbiAgY2F0ZWdvcnkhOiBQcm9kdWN0Q2F0ZWdvcnk7XG4gIHByb2R1Y3RzOiBQcm9kdWN0W10gPSBbXTtcbiAgY2F0ZWdvcmllczogUHJvZHVjdENhdGVnb3J5W10gPSBbXTtcbiAgbG9hZGluZyA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmluZEFsbENhdGVnb3JpZXMoKTtcbiAgICB0aGlzLnJvdXRlLnBhcmFtTWFwLnN1YnNjcmliZSgocGFyYW1zOiBQYXJhbU1hcCkgPT4ge1xuICAgICAgY29uc3QgaWQgPSBwYXJhbXMuZ2V0KCdpZCcpIGFzIHN0cmluZztcbiAgICAgIHRoaXMuZmluZENhdGVnb3J5QnlJZChpZCk7XG4gICAgICB0aGlzLmZpbmRQcm9kdWN0c0J5Q2F0ZWdvcnlJZChpZCk7XG4gICAgfSk7XG4gIH1cbiAgZmluZEFsbENhdGVnb3JpZXMoKSB7XG4gICAgdGhpcy5jYXRlZ29yeVNlcnZpY2UuZmluZCh7fSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNhdGVnb3JpZXMgPSByZXMuZGF0YTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZmluZENhdGVnb3J5QnlJZChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5jYXRlZ29yeVNlcnZpY2UuZ2V0KGlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnkgPSByZXMuZGF0YTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZmluZEFsbFByb2R1Y3RzKCkge1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZmluZCh7fSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2R1Y3RzID0gcmVzLmRhdGE7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGZpbmRQcm9kdWN0c0J5Q2F0ZWdvcnlJZChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgZmlsdGVyOiBgY2F0ZWdvcmllczoke2lkfSxwdWJsaXNoZWQ6dHJ1ZWAsXG4gICAgfTtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmZpbmQob3B0aW9ucykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2R1Y3RzID0gcmVzLmRhdGE7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgbG9hZFByb2R1Y3RzQnlDYXRlZ29yeShpdGVtOiBhbnkpIHtcbiAgICAvLyAgW3JvdXRlckxpbmtdID0gXCJbJy4uLy4uLycsIGl0ZW0uaWRdXCI7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AuLi8uLi8ke2l0ZW0uaWR9YF0sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXY+XG4gIEBpZiAoY2F0ZWdvcnkpIHtcbiAgICA8ZGl2IGNsYXNzPVwicC0zIGhpZGRlbiBtZDpibG9jayB0ZXh0LTJ4bCBmb250LW1lZGl1bVwiPnt7IGNhdGVnb3J5Lm5hbWUgfX08L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgYW5pbWF0ZS1wdWxzZSB3LWZ1bGxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoLTQgYmctWy0tcnQtYmFzZS1iYWNrZ3JvdW5kXSByb3VuZGVkIGNvbC1zcGFuLTJcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxuICBAaWYgKGxvYWRpbmcpIHtcbiAgICBAZm9yIChudW1iZXIgb2YgWzAsIDEsIDIsIDMsIDQsIDVdOyB0cmFjayBudW1iZXIpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFuaW1hdGUtcHVsc2UgbXQtMyBtci00IGN1cnNvci1wb2ludGVyIHctZnVsbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaC1maXQgdy0yLzUgbWQ6dy0xLzQgYXNwZWN0LXZpZGVvIGJnLVstLXJ0LWJhc2UtYmFja2dyb3VuZF0gcm91bmRlZC1sZ1wiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidy0zLzUgbWQ6dy0zLzQgbWwtMyBweS0xIGZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNwYWNlLXktM1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtNCBiZy1bLS1ydC1iYXNlLWJhY2tncm91bmRdIHJvdW5kZWQgY29sLXNwYW4tMlwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMiBiZy1bLS1ydC1iYXNlLWJhY2tncm91bmRdIHJvdW5kZWQgY29sLXNwYW4tMVwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMiBiZy1bLS1ydC1iYXNlLWJhY2tncm91bmRdIHJvdW5kZWQgY29sLXNwYW4tMSBweS0xXCI+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTIgYmctWy0tcnQtYmFzZS1iYWNrZ3JvdW5kXSByb3VuZGVkIGNvbC1zcGFuLTIgcHktMVwiPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgPHJvbGF0ZWNoLXJpY2gtdmlldyBsaXN0PlxuICAgICAgQGZvciAoaXRlbSBvZiBwcm9kdWN0czsgdHJhY2sgaXRlbSkge1xuICAgICAgICBAZGVmZXIge1xuICAgICAgICAgIDxyb2xhdGVjaC1yaWNoLWl0ZW1cbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnLi4vLi4vJywgaXRlbS5pZF1cIlxuICAgICAgICAgICAgW3RodW1ibmFpbF09XCJpdGVtLm1lZGlhWzBdLnVybCArICchdzQwMCdcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW0ubmFtZVwiXG4gICAgICAgICAgICBbc3VidGl0bGVdPVwiaXRlbS5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBbcHJpY2VdPVwiaXRlbS5wcmljZSAvIDEwMFwiXG4gICAgICAgICAgPjwvcm9sYXRlY2gtcmljaC1pdGVtPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9yb2xhdGVjaC1yaWNoLXZpZXc+XG4gIH1cbjwvZGl2PlxuIl19","import { Component, input, ViewEncapsulation } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterModule } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nexport class ProductInfoComponent {\n constructor() {\n this.name = input.required(...(ngDevMode ? [{ debugName: \"name\" }] : []));\n this.description = input(...(ngDevMode ? [undefined, { debugName: \"description\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.2\", type: ProductInfoComponent, isStandalone: true, selector: \"rolatech-product-info\", inputs: { name: { classPropertyName: \"name\", publicName: \"name\", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: \"description\", publicName: \"description\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"id\": \"rolatech-product-info\" } }, ngImport: i0, template: \"<div>\\n <div class=\\\"text-2xl font-medium\\\">{{ name() }}</div>\\n <div>\\n {{ description() }}\\n </div>\\n</div>\\n\", styles: [\"rolatech-product-info mat-icon{transform:scale(.8)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatIconModule }, { kind: \"ngmodule\", type: RouterModule }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductInfoComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-info', imports: [MatIconModule, RouterModule], encapsulation: ViewEncapsulation.None, host: {\n id: 'rolatech-product-info',\n }, template: \"<div>\\n <div class=\\\"text-2xl font-medium\\\">{{ name() }}</div>\\n <div>\\n {{ description() }}\\n </div>\\n</div>\\n\", styles: [\"rolatech-product-info mat-icon{transform:scale(.8)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL2NvbXBvbmVudHMvcHJvZHVjdC1pbmZvL3Byb2R1Y3QtaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtaW5mby9wcm9kdWN0LWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFZL0MsTUFBTSxPQUFPLG9CQUFvQjtJQVZqQztRQVdFLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSwrQ0FBVSxDQUFDO1FBQ2hDLGdCQUFXLEdBQUcsS0FBSyxpRUFBVSxDQUFDO0tBQy9COzhHQUhZLG9CQUFvQjtrR0FBcEIsb0JBQW9CLG9aQ2RqQyx1SEFNQSw4R0RBWSxhQUFhLDhCQUFFLFlBQVk7OzJGQVExQixvQkFBb0I7a0JBVmhDLFNBQVM7K0JBQ0UsdUJBQXVCLFdBQ3hCLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxpQkFHdkIsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixFQUFFLEVBQUUsdUJBQXVCO3FCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LWluZm8nLFxuICBpbXBvcnRzOiBbTWF0SWNvbk1vZHVsZSwgUm91dGVyTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtaW5mby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LWluZm8uY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgaWQ6ICdyb2xhdGVjaC1wcm9kdWN0LWluZm8nLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0SW5mb0NvbXBvbmVudCB7XG4gIG5hbWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIGRlc2NyaXB0aW9uID0gaW5wdXQ8c3RyaW5nPigpO1xufVxuIiwiPGRpdj5cbiAgPGRpdiBjbGFzcz1cInRleHQtMnhsIGZvbnQtbWVkaXVtXCI+e3sgbmFtZSgpIH19PC9kaXY+XG4gIDxkaXY+XG4gICAge3sgZGVzY3JpcHRpb24oKSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ImagePreviewDialogComponent, ThumbnailComponent } from '@rolatech/angular-components';\nimport * as i0 from \"@angular/core\";\nexport class ProductMediaComponent {\n constructor() {\n this.dialog = inject(MatDialog);\n this.media = input([], ...(ngDevMode ? [{ debugName: \"media\" }] : []));\n this.min = input(false, ...(ngDevMode ? [{ debugName: \"min\" }] : []));\n this.mediaIndex = 0;\n }\n onImageClick(i) {\n const dialogRef = this.dialog.open(ImagePreviewDialogComponent, {\n maxWidth: '80vw',\n maxHeight: '80vh',\n height: '80%',\n width: '80%',\n panelClass: 'full-screen-modal',\n data: {\n media: this.media,\n selected: i,\n },\n });\n dialogRef.afterClosed().subscribe((result) => { });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductMediaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductMediaComponent, isStandalone: true, selector: \"rolatech-product-media\", inputs: { media: { classPropertyName: \"media\", publicName: \"media\", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: \"min\", publicName: \"min\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"@if (media()) {\\n <div>\\n <div class=\\\"object-cover aspect-video bg-[--rt-raised-background]\\\">\\n <rolatech-thumbnail [src]=\\\"media()[mediaIndex].url\\\" size=\\\"small\\\" mode=\\\"full\\\"></rolatech-thumbnail>\\n </div>\\n @for (media of media(); track media; let index = $index) {\\n <div\\n class=\\\"inline-flex flex-row mt-3 mr-3 cursor-pointer w-28 p-2 bg-[--rt-10-percent-layer]\\\"\\n (click)=\\\"mediaIndex = index\\\"\\n [ngClass]=\\\"mediaIndex === index ? 'border border-black' : 'opacity-70'\\\"\\n >\\n <rolatech-thumbnail [src]=\\\"media.url\\\" mode=\\\"full\\\"></rolatech-thumbnail>\\n </div>\\n }\\n </div>\\n}\\n\", styles: [\"\"], dependencies: [{ kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"component\", type: ThumbnailComponent, selector: \"rolatech-thumbnail\", inputs: [\"src\", \"size\", \"mode\", \"ratio\", \"width\", \"height\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductMediaComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-media', imports: [NgClass, ThumbnailComponent], encapsulation: ViewEncapsulation.None, template: \"@if (media()) {\\n <div>\\n <div class=\\\"object-cover aspect-video bg-[--rt-raised-background]\\\">\\n <rolatech-thumbnail [src]=\\\"media()[mediaIndex].url\\\" size=\\\"small\\\" mode=\\\"full\\\"></rolatech-thumbnail>\\n </div>\\n @for (media of media(); track media; let index = $index) {\\n <div\\n class=\\\"inline-flex flex-row mt-3 mr-3 cursor-pointer w-28 p-2 bg-[--rt-10-percent-layer]\\\"\\n (click)=\\\"mediaIndex = index\\\"\\n [ngClass]=\\\"mediaIndex === index ? 'border border-black' : 'opacity-70'\\\"\\n >\\n <rolatech-thumbnail [src]=\\\"media.url\\\" mode=\\\"full\\\"></rolatech-thumbnail>\\n </div>\\n }\\n </div>\\n}\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tZWRpYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWVkaWEvcHJvZHVjdC1tZWRpYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWVkaWEvcHJvZHVjdC1tZWRpYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFTL0YsTUFBTSxPQUFPLHFCQUFxQjtJQVBsQztRQVFFLFdBQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsVUFBSyxHQUFHLEtBQUssQ0FBVSxFQUFFLGlEQUFDLENBQUM7UUFDM0IsUUFBRyxHQUFHLEtBQUssQ0FBVSxLQUFLLCtDQUFDLENBQUM7UUFDNUIsZUFBVSxHQUFHLENBQUMsQ0FBQztLQWVoQjtJQWRDLFlBQVksQ0FBQyxDQUFNO1FBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFO1lBQzlELFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsS0FBSyxFQUFFLEtBQUs7WUFDWixVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLElBQUksRUFBRTtnQkFDSixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLFFBQVEsRUFBRSxDQUFDO2FBQ1o7U0FDRixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDOzhHQWxCVSxxQkFBcUI7a0dBQXJCLHFCQUFxQix3VUNibEMsK29CQWdCQSwwRERSWSxPQUFPLG9GQUFFLGtCQUFrQjs7MkZBSzFCLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSx3QkFBd0IsV0FDekIsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsaUJBR3ZCLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNZWRpYSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBJbWFnZVByZXZpZXdEaWFsb2dDb21wb25lbnQsIFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1lZGlhJyxcbiAgaW1wb3J0czogW05nQ2xhc3MsIFRodW1ibmFpbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LW1lZGlhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWVkaWEuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWVkaWFDb21wb25lbnQge1xuICBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcbiAgbWVkaWEgPSBpbnB1dDxNZWRpYVtdPihbXSk7XG4gIG1pbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgbWVkaWFJbmRleCA9IDA7XG4gIG9uSW1hZ2VDbGljayhpOiBhbnkpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEltYWdlUHJldmlld0RpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgbWF4V2lkdGg6ICc4MHZ3JyxcbiAgICAgIG1heEhlaWdodDogJzgwdmgnLFxuICAgICAgaGVpZ2h0OiAnODAlJyxcbiAgICAgIHdpZHRoOiAnODAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdmdWxsLXNjcmVlbi1tb2RhbCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIG1lZGlhOiB0aGlzLm1lZGlhLFxuICAgICAgICBzZWxlY3RlZDogaSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHt9KTtcbiAgfVxufVxuIiwiQGlmIChtZWRpYSgpKSB7XG4gIDxkaXY+XG4gICAgPGRpdiBjbGFzcz1cIm9iamVjdC1jb3ZlciBhc3BlY3QtdmlkZW8gYmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdXCI+XG4gICAgICA8cm9sYXRlY2gtdGh1bWJuYWlsIFtzcmNdPVwibWVkaWEoKVttZWRpYUluZGV4XS51cmxcIiBzaXplPVwic21hbGxcIiBtb2RlPVwiZnVsbFwiPjwvcm9sYXRlY2gtdGh1bWJuYWlsPlxuICAgIDwvZGl2PlxuICAgIEBmb3IgKG1lZGlhIG9mIG1lZGlhKCk7IHRyYWNrIG1lZGlhOyBsZXQgaW5kZXggPSAkaW5kZXgpIHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBmbGV4LXJvdyBtdC0zIG1yLTMgY3Vyc29yLXBvaW50ZXIgdy0yOCBwLTIgYmctWy0tcnQtMTAtcGVyY2VudC1sYXllcl1cIlxuICAgICAgICAoY2xpY2spPVwibWVkaWFJbmRleCA9IGluZGV4XCJcbiAgICAgICAgW25nQ2xhc3NdPVwibWVkaWFJbmRleCA9PT0gaW5kZXggPyAnYm9yZGVyIGJvcmRlci1ibGFjaycgOiAnb3BhY2l0eS03MCdcIlxuICAgICAgPlxuICAgICAgICA8cm9sYXRlY2gtdGh1bWJuYWlsIFtzcmNdPVwibWVkaWEudXJsXCIgbW9kZT1cImZ1bGxcIj48L3JvbGF0ZWNoLXRodW1ibmFpbD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG59XG4iXX0=","import { booleanAttribute, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { CommonModule, ViewportScroller } from '@angular/common';\nimport { ThumbnailComponent } from '@rolatech/angular-components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class ProductSectionComponent {\n constructor() {\n this.section = input.required(...(ngDevMode ? [{ debugName: \"section\" }] : []));\n this.user = input(...(ngDevMode ? [undefined, { debugName: \"user\" }] : []));\n this.username = input(...(ngDevMode ? [undefined, { debugName: \"username\" }] : []));\n this.viewportScroller = inject(ViewportScroller);\n this.row = input(false, ...(ngDevMode ? [{ debugName: \"row\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n this.reverse = input(false, ...(ngDevMode ? [{ debugName: \"reverse\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n }\n ngOnInit() { }\n onClickScroller(id) {\n this.viewportScroller.scrollToAnchor(id);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductSectionComponent, isStandalone: true, selector: \"rolatech-product-section\", inputs: { section: { classPropertyName: \"section\", publicName: \"section\", isSignal: true, isRequired: true, transformFunction: null }, user: { classPropertyName: \"user\", publicName: \"user\", isSignal: true, isRequired: false, transformFunction: null }, username: { classPropertyName: \"username\", publicName: \"username\", isSignal: true, isRequired: false, transformFunction: null }, row: { classPropertyName: \"row\", publicName: \"row\", isSignal: true, isRequired: false, transformFunction: null }, reverse: { classPropertyName: \"reverse\", publicName: \"reverse\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"@if (section(); as section) {\\n @if (row()) {\\n <div>\\n @if (section.title) {\\n <div class=\\\"py-3 flex items-center gap-3\\\">\\n <span class=\\\"h-4 w-1 bg-[--rt-brand-color] inline-block\\\"></span>\\n <span class=\\\"text-lg font-medium py-1\\\"> {{ section.title }}</span>\\n </div>\\n }\\n @if (section.description) {\\n <div>\\n {{ section.description }}\\n </div>\\n }\\n @if (section.media) {\\n <div class=\\\"w-80%\\\">\\n @for (item of section.media; track item) {\\n <div class=\\\"py-3\\\">\\n <rolatech-thumbnail\\n [src]=\\\"item.url\\\"\\n size=\\\"small\\\"\\n mode=\\\"full\\\"\\n [width]=\\\"item.width\\\"\\n [height]=\\\"item.height\\\"\\n ></rolatech-thumbnail>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n } @else {\\n <div\\n class=\\\"flex w-full p-3\\\"\\n [ngClass]=\\\"reverse() ? 'flex-col-reverse md:flex-row-reverse' : 'flex-col-reverse md:flex-row'\\\"\\n >\\n <div\\n class=\\\"w-full md:w-1/2 py-3 flex flex-col justify-center items-center gap-3\\\"\\n [ngClass]=\\\"reverse() ? ' md:ml-16' : 'md:mr-16'\\\"\\n >\\n <span class=\\\"text-3xl font-bold py-1\\\"> {{ section.title }}</span>\\n <span>\\n {{ section.description }}\\n </span>\\n </div>\\n <div class=\\\"w-full md:w-1/2 py-11\\\">\\n @for (item of section.media; track item) {\\n <div class=\\\"py-3\\\">\\n <rolatech-thumbnail\\n [src]=\\\"item.url\\\"\\n size=\\\"small\\\"\\n mode=\\\"full\\\"\\n [width]=\\\"item.width\\\"\\n [height]=\\\"item.height\\\"\\n ></rolatech-thumbnail>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n}\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"component\", type: ThumbnailComponent, selector: \"rolatech-thumbnail\", inputs: [\"src\", \"size\", \"mode\", \"ratio\", \"width\", \"height\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductSectionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-section', imports: [CommonModule, ThumbnailComponent], encapsulation: ViewEncapsulation.None, template: \"@if (section(); as section) {\\n @if (row()) {\\n <div>\\n @if (section.title) {\\n <div class=\\\"py-3 flex items-center gap-3\\\">\\n <span class=\\\"h-4 w-1 bg-[--rt-brand-color] inline-block\\\"></span>\\n <span class=\\\"text-lg font-medium py-1\\\"> {{ section.title }}</span>\\n </div>\\n }\\n @if (section.description) {\\n <div>\\n {{ section.description }}\\n </div>\\n }\\n @if (section.media) {\\n <div class=\\\"w-80%\\\">\\n @for (item of section.media; track item) {\\n <div class=\\\"py-3\\\">\\n <rolatech-thumbnail\\n [src]=\\\"item.url\\\"\\n size=\\\"small\\\"\\n mode=\\\"full\\\"\\n [width]=\\\"item.width\\\"\\n [height]=\\\"item.height\\\"\\n ></rolatech-thumbnail>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n } @else {\\n <div\\n class=\\\"flex w-full p-3\\\"\\n [ngClass]=\\\"reverse() ? 'flex-col-reverse md:flex-row-reverse' : 'flex-col-reverse md:flex-row'\\\"\\n >\\n <div\\n class=\\\"w-full md:w-1/2 py-3 flex flex-col justify-center items-center gap-3\\\"\\n [ngClass]=\\\"reverse() ? ' md:ml-16' : 'md:mr-16'\\\"\\n >\\n <span class=\\\"text-3xl font-bold py-1\\\"> {{ section.title }}</span>\\n <span>\\n {{ section.description }}\\n </span>\\n </div>\\n <div class=\\\"w-full md:w-1/2 py-11\\\">\\n @for (item of section.media; track item) {\\n <div class=\\\"py-3\\\">\\n <rolatech-thumbnail\\n [src]=\\\"item.url\\\"\\n size=\\\"small\\\"\\n mode=\\\"full\\\"\\n [width]=\\\"item.width\\\"\\n [height]=\\\"item.height\\\"\\n ></rolatech-thumbnail>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n}\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL2NvbXBvbmVudHMvcHJvZHVjdC1zZWN0aW9uL3Byb2R1Y3Qtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3Qtc2VjdGlvbi9wcm9kdWN0LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBU2xFLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFRRSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsa0RBQWtCLENBQUM7UUFDM0MsU0FBSSxHQUFHLEtBQUssMERBQVUsQ0FBQztRQUN2QixhQUFRLEdBQUcsS0FBSyw4REFBVSxDQUFDO1FBQzNCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLFFBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyx1Q0FBSSxTQUFTLEVBQUUsZ0JBQWdCLE9BQTdCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEdBQUMsQ0FBQztRQUNwRCxZQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssMkNBQUksU0FBUyxFQUFFLGdCQUFnQixPQUE3QixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxHQUFDLENBQUM7S0FPekQ7SUFMQyxRQUFRLEtBQVUsQ0FBQztJQUVuQixlQUFlLENBQUMsRUFBVTtRQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OEdBWlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsbXNCQ1pwQyxpekRBNERBLHlERHJEWSxZQUFZLDZIQUFFLGtCQUFrQjs7MkZBSy9CLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSwwQkFBMEIsV0FDM0IsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsaUJBRzVCLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgVmlld3BvcnRTY3JvbGxlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQcm9kdWN0U2VjdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3Qtc2VjdGlvbicsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRodW1ibmFpbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdFNlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzZWN0aW9uID0gaW5wdXQucmVxdWlyZWQ8UHJvZHVjdFNlY3Rpb24+KCk7XG4gIHVzZXIgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHVzZXJuYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICB2aWV3cG9ydFNjcm9sbGVyID0gaW5qZWN0KFZpZXdwb3J0U2Nyb2xsZXIpO1xuICByb3cgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gIHJldmVyc2UgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIG9uQ2xpY2tTY3JvbGxlcihpZDogc3RyaW5nKSB7XG4gICAgdGhpcy52aWV3cG9ydFNjcm9sbGVyLnNjcm9sbFRvQW5jaG9yKGlkKTtcbiAgfVxufVxuIiwiQGlmIChzZWN0aW9uKCk7IGFzIHNlY3Rpb24pIHtcbiAgQGlmIChyb3coKSkge1xuICAgIDxkaXY+XG4gICAgICBAaWYgKHNlY3Rpb24udGl0bGUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInB5LTMgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImgtNCB3LTEgYmctWy0tcnQtYnJhbmQtY29sb3JdIGlubGluZS1ibG9ja1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbGcgZm9udC1tZWRpdW0gcHktMVwiPiB7eyBzZWN0aW9uLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIEBpZiAoc2VjdGlvbi5kZXNjcmlwdGlvbikge1xuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHt7IHNlY3Rpb24uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAaWYgKHNlY3Rpb24ubWVkaWEpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInctODAlXCI+XG4gICAgICAgICAgQGZvciAoaXRlbSBvZiBzZWN0aW9uLm1lZGlhOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktM1wiPlxuICAgICAgICAgICAgICA8cm9sYXRlY2gtdGh1bWJuYWlsXG4gICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLnVybFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBtb2RlPVwiZnVsbFwiXG4gICAgICAgICAgICAgICAgW3dpZHRoXT1cIml0ZW0ud2lkdGhcIlxuICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiaXRlbS5oZWlnaHRcIlxuICAgICAgICAgICAgICA+PC9yb2xhdGVjaC10aHVtYm5haWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImZsZXggdy1mdWxsIHAtM1wiXG4gICAgICBbbmdDbGFzc109XCJyZXZlcnNlKCkgPyAnZmxleC1jb2wtcmV2ZXJzZSBtZDpmbGV4LXJvdy1yZXZlcnNlJyA6ICdmbGV4LWNvbC1yZXZlcnNlIG1kOmZsZXgtcm93J1wiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInctZnVsbCBtZDp3LTEvMiBweS0zIGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIGdhcC0zXCJcbiAgICAgICAgW25nQ2xhc3NdPVwicmV2ZXJzZSgpID8gJyBtZDptbC0xNicgOiAnbWQ6bXItMTYnXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTN4bCBmb250LWJvbGQgcHktMVwiPiB7eyBzZWN0aW9uLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICB7eyBzZWN0aW9uLmRlc2NyaXB0aW9uIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBtZDp3LTEvMiBweS0xMVwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIHNlY3Rpb24ubWVkaWE7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktM1wiPlxuICAgICAgICAgICAgPHJvbGF0ZWNoLXRodW1ibmFpbFxuICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0udXJsXCJcbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgbW9kZT1cImZ1bGxcIlxuICAgICAgICAgICAgICBbd2lkdGhdPVwiaXRlbS53aWR0aFwiXG4gICAgICAgICAgICAgIFtoZWlnaHRdPVwiaXRlbS5oZWlnaHRcIlxuICAgICAgICAgICAgPjwvcm9sYXRlY2gtdGh1bWJuYWlsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxufVxuIl19","import { Component, input, ViewEncapsulation } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, RichItemComponent } from '@rolatech/angular-components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nexport class ProductItemComponent {\n constructor() {\n this.product = input.required(...(ngDevMode ? [{ debugName: \"product\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.2\", type: ProductItemComponent, isStandalone: true, selector: \"rolatech-product-item\", inputs: { product: { classPropertyName: \"product\", publicName: \"product\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: \"<rolatech-rich-item\\n [routerLink]=\\\"['./', product().id]\\\"\\n [thumbnail]=\\\"product().media[0].url + '!w400'\\\"\\n [title]=\\\"product().name\\\"\\n [subtitle]=\\\"product().description\\\"\\n [price]=\\\"product().price / 100\\\"\\n></rolatech-rich-item>\\n\", styles: [\"\"], 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: \"component\", type: RichItemComponent, selector: \"rolatech-rich-item\", inputs: [\"list\", \"thumbnail\", \"avatar\", \"title\", \"subtitle\", \"price\", \"thumbnailRatio\", \"thumbnailMode\", \"currencySymbol\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-item', imports: [AngularCommonModule, AngularComponentsModule, RichItemComponent], encapsulation: ViewEncapsulation.None, template: \"<rolatech-rich-item\\n [routerLink]=\\\"['./', product().id]\\\"\\n [thumbnail]=\\\"product().media[0].url + '!w400'\\\"\\n [title]=\\\"product().name\\\"\\n [subtitle]=\\\"product().description\\\"\\n [price]=\\\"product().price / 100\\\"\\n></rolatech-rich-item>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL2NvbXBvbmVudHMvcHJvZHVjdC1pdGVtL3Byb2R1Y3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtaXRlbS9wcm9kdWN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQVUxRixNQUFNLE9BQU8sb0JBQW9CO0lBUGpDO1FBUUUsWUFBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLGtEQUFXLENBQUM7S0FDckM7OEdBRlksb0JBQW9CO2tHQUFwQixvQkFBb0IsME5DYmpDLHVQQU9BLHlERENZLG1CQUFtQiwrUUFBRSx1QkFBdUIsK0JBQUUsaUJBQWlCOzsyRkFLOUQsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLHVCQUF1QixXQUN4QixDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixDQUFDLGlCQUczRCxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBSaWNoSXRlbUNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LWl0ZW0nLFxuICBpbXBvcnRzOiBbQW5ndWxhckNvbW1vbk1vZHVsZSwgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIFJpY2hJdGVtQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LWl0ZW0uY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0SXRlbUNvbXBvbmVudCB7XG4gIHByb2R1Y3QgPSBpbnB1dC5yZXF1aXJlZDxQcm9kdWN0PigpO1xufVxuIiwiPHJvbGF0ZWNoLXJpY2gtaXRlbVxuICBbcm91dGVyTGlua109XCJbJy4vJywgcHJvZHVjdCgpLmlkXVwiXG4gIFt0aHVtYm5haWxdPVwicHJvZHVjdCgpLm1lZGlhWzBdLnVybCArICchdzQwMCdcIlxuICBbdGl0bGVdPVwicHJvZHVjdCgpLm5hbWVcIlxuICBbc3VidGl0bGVdPVwicHJvZHVjdCgpLmRlc2NyaXB0aW9uXCJcbiAgW3ByaWNlXT1cInByb2R1Y3QoKS5wcmljZSAvIDEwMFwiXG4+PC9yb2xhdGVjaC1yaWNoLWl0ZW0+XG4iXX0=","import { Component, computed, input, output, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class ProductActionComponent {\n constructor() {\n this.product = input.required(...(ngDevMode ? [{ debugName: \"product\" }] : []));\n this.cart = output();\n this.checkout = output();\n this.deposit = output();\n this.displayDeposit = computed(() => {\n return (this.product().deposit / 100).toFixed(2);\n }, ...(ngDevMode ? [{ debugName: \"displayDeposit\" }] : []));\n }\n onCart(product) {\n this.cart.emit(product);\n }\n onCheckout(product) {\n this.checkout.emit(product);\n }\n onDeposit(product) {\n this.deposit.emit(product);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductActionComponent, isStandalone: true, selector: \"rolatech-product-action\", inputs: { product: { classPropertyName: \"product\", publicName: \"product\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { cart: \"cart\", checkout: \"checkout\", deposit: \"deposit\" }, ngImport: i0, template: \"<div class=\\\"flex gap-3\\\">\\n <a mat-stroked-button class=\\\"\\\" (click)=\\\"onCart(product())\\\" i18n>Add to cart</a>\\n @if (product().priceType && product().priceType.toString() === 'PARTIAL') {\\n <a mat-flat-button class=\\\"\\\" (click)=\\\"onDeposit(product())\\\" i18n>Pay deposit \\u00A5{{ displayDeposit() }}</a>\\n } @else {\\n <a mat-flat-button class=\\\"\\\" (click)=\\\"onCheckout(product())\\\" i18n>Pay now</a>\\n }\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.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\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductActionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-action', imports: [CommonModule, MatButtonModule], encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"flex gap-3\\\">\\n <a mat-stroked-button class=\\\"\\\" (click)=\\\"onCart(product())\\\" i18n>Add to cart</a>\\n @if (product().priceType && product().priceType.toString() === 'PARTIAL') {\\n <a mat-flat-button class=\\\"\\\" (click)=\\\"onDeposit(product())\\\" i18n>Pay deposit \\u00A5{{ displayDeposit() }}</a>\\n } @else {\\n <a mat-flat-button class=\\\"\\\" (click)=\\\"onCheckout(product())\\\" i18n>Pay now</a>\\n }\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvY29tcG9uZW50cy9wcm9kdWN0LWFjdGlvbi9wcm9kdWN0LWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtYWN0aW9uL3Byb2R1Y3QtYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBUzNELE1BQU0sT0FBTyxzQkFBc0I7SUFQbkM7UUFRRSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsa0RBQVcsQ0FBQztRQUNwQyxTQUFJLEdBQUcsTUFBTSxFQUFXLENBQUM7UUFDekIsYUFBUSxHQUFHLE1BQU0sRUFBVyxDQUFDO1FBQzdCLFlBQU8sR0FBRyxNQUFNLEVBQVcsQ0FBQztRQUM1QixtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUMsMERBQUMsQ0FBQztLQVdKO0lBVEMsTUFBTSxDQUFDLE9BQWdCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRCxVQUFVLENBQUMsT0FBZ0I7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELFNBQVMsQ0FBQyxPQUFnQjtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDOzhHQWpCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixpU0NabkMsMGFBUUEseURERFksWUFBWSw4QkFBRSxlQUFlOzsyRkFLNUIsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLHlCQUF5QixXQUMxQixDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsaUJBR3pCLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgb3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3QtYWN0aW9uJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtYWN0aW9uLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdEFjdGlvbkNvbXBvbmVudCB7XG4gIHByb2R1Y3QgPSBpbnB1dC5yZXF1aXJlZDxQcm9kdWN0PigpO1xuICBjYXJ0ID0gb3V0cHV0PFByb2R1Y3Q+KCk7XG4gIGNoZWNrb3V0ID0gb3V0cHV0PFByb2R1Y3Q+KCk7XG4gIGRlcG9zaXQgPSBvdXRwdXQ8UHJvZHVjdD4oKTtcbiAgZGlzcGxheURlcG9zaXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuICh0aGlzLnByb2R1Y3QoKS5kZXBvc2l0IC8gMTAwKS50b0ZpeGVkKDIpO1xuICB9KTtcblxuICBvbkNhcnQocHJvZHVjdDogUHJvZHVjdCkge1xuICAgIHRoaXMuY2FydC5lbWl0KHByb2R1Y3QpO1xuICB9XG4gIG9uQ2hlY2tvdXQocHJvZHVjdDogUHJvZHVjdCkge1xuICAgIHRoaXMuY2hlY2tvdXQuZW1pdChwcm9kdWN0KTtcbiAgfVxuICBvbkRlcG9zaXQocHJvZHVjdDogUHJvZHVjdCkge1xuICAgIHRoaXMuZGVwb3NpdC5lbWl0KHByb2R1Y3QpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBnYXAtM1wiPlxuICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJcIiAoY2xpY2spPVwib25DYXJ0KHByb2R1Y3QoKSlcIiBpMThuPkFkZCB0byBjYXJ0PC9hPlxuICBAaWYgKHByb2R1Y3QoKS5wcmljZVR5cGUgJiYgcHJvZHVjdCgpLnByaWNlVHlwZS50b1N0cmluZygpID09PSAnUEFSVElBTCcpIHtcbiAgICA8YSBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJcIiAoY2xpY2spPVwib25EZXBvc2l0KHByb2R1Y3QoKSlcIiBpMThuPlBheSBkZXBvc2l0IMKle3sgZGlzcGxheURlcG9zaXQoKSB9fTwvYT5cbiAgfSBAZWxzZSB7XG4gICAgPGEgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwiXCIgKGNsaWNrKT1cIm9uQ2hlY2tvdXQocHJvZHVjdCgpKVwiIGkxOG4+UGF5IG5vdzwvYT5cbiAgfVxuPC9kaXY+XG4iXX0=","import { Component, computed, input, output, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDivider } from '@angular/material/divider';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class ProductPricingComponent {\n constructor() {\n this.product = input.required(...(ngDevMode ? [{ debugName: \"product\" }] : []));\n // price = computed(() => {\n // return (this.product().price / 100).toFixed(2);\n // });\n this.price = input.required(...(ngDevMode ? [{ debugName: \"price\" }] : []));\n this.displayPrice = computed(() => {\n return (this.price() / 100).toFixed(2);\n }, ...(ngDevMode ? [{ debugName: \"displayPrice\" }] : []));\n this.wish = output();\n this.inWishList = input(false, ...(ngDevMode ? [{ debugName: \"inWishList\" }] : []));\n }\n onWish(product) {\n this.wish.emit(product);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductPricingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductPricingComponent, isStandalone: true, selector: \"rolatech-product-pricing\", inputs: { product: { classPropertyName: \"product\", publicName: \"product\", isSignal: true, isRequired: true, transformFunction: null }, price: { classPropertyName: \"price\", publicName: \"price\", isSignal: true, isRequired: true, transformFunction: null }, inWishList: { classPropertyName: \"inWishList\", publicName: \"inWishList\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { wish: \"wish\" }, ngImport: i0, template: \"<div class=\\\"py-3\\\">\\n <div class=\\\"flex justify-between items-center\\\">\\n <div class=\\\"text-xl font-bold py-3\\\">\\u00A5 {{ displayPrice() }}</div>\\n <button mat-icon-button (click)=\\\"onWish(product())\\\">\\n @if (inWishList()) {\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"24px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" fill=\\\"#5f6368\\\">\\n <path\\n d=\\\"m293-203.08 49.62-212.54-164.93-142.84 217.23-18.85L480-777.69l85.08 200.38 217.23 18.85-164.93 142.84L667-203.08 480-315.92 293-203.08Z\\\"\\n />\\n </svg>\\n } @else {\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"24px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" fill=\\\"#5f6368\\\">\\n <path\\n d=\\\"m354-287 126-76 126 77-33-144 111-96-146-13-58-136-58 135-146 13 111 97-33 143Zm-61 83.92 49.62-212.54-164.93-142.84 217.23-18.85L480-777.69l85.08 200.38 217.23 18.85-164.93 142.84L667-203.08 480-315.92 293-203.08ZM480-470Z\\\"\\n />\\n </svg>\\n }\\n </button>\\n </div>\\n <mat-divider></mat-divider>\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductPricingComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-pricing', imports: [CommonModule, MatButtonModule, MatDivider], encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"py-3\\\">\\n <div class=\\\"flex justify-between items-center\\\">\\n <div class=\\\"text-xl font-bold py-3\\\">\\u00A5 {{ displayPrice() }}</div>\\n <button mat-icon-button (click)=\\\"onWish(product())\\\">\\n @if (inWishList()) {\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"24px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" fill=\\\"#5f6368\\\">\\n <path\\n d=\\\"m293-203.08 49.62-212.54-164.93-142.84 217.23-18.85L480-777.69l85.08 200.38 217.23 18.85-164.93 142.84L667-203.08 480-315.92 293-203.08Z\\\"\\n />\\n </svg>\\n } @else {\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"24px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" fill=\\\"#5f6368\\\">\\n <path\\n d=\\\"m354-287 126-76 126 77-33-144 111-96-146-13-58-136-58 135-146 13 111 97-33 143Zm-61 83.92 49.62-212.54-164.93-142.84 217.23-18.85L480-777.69l85.08 200.38 217.23 18.85-164.93 142.84L667-203.08 480-315.92 293-203.08ZM480-470Z\\\"\\n />\\n </svg>\\n }\\n </button>\\n </div>\\n <mat-divider></mat-divider>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1wcmljaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL2NvbXBvbmVudHMvcHJvZHVjdC1wcmljaW5nL3Byb2R1Y3QtcHJpY2luZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtcHJpY2luZy9wcm9kdWN0LXByaWNpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBVXZELE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFRRSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsa0RBQVcsQ0FBQztRQUNwQywyQkFBMkI7UUFDM0Isb0RBQW9EO1FBQ3BELE1BQU07UUFDTixVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsZ0RBQVUsQ0FBQztRQUNqQyxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsQ0FBQyx3REFBQyxDQUFDO1FBQ0gsU0FBSSxHQUFHLE1BQU0sRUFBVyxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxzREFBQyxDQUFDO0tBSXBDO0lBSEMsTUFBTSxDQUFDLE9BQWdCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLENBQUM7OEdBYlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsc2ZDYnBDLHVqQ0FxQkEseUREYlksWUFBWSw4QkFBRSxlQUFlLHNOQUFFLFVBQVU7OzJGQUt4Qyx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UsMEJBQTBCLFdBQzNCLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUMsaUJBR3JDLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGlucHV0LCBvdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpdmlkZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvZHVjdC1wcmljaW5nJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXREaXZpZGVyXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtcHJpY2luZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LXByaWNpbmcuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0UHJpY2luZ0NvbXBvbmVudCB7XG4gIHByb2R1Y3QgPSBpbnB1dC5yZXF1aXJlZDxQcm9kdWN0PigpO1xuICAvLyBwcmljZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgLy8gICByZXR1cm4gKHRoaXMucHJvZHVjdCgpLnByaWNlIC8gMTAwKS50b0ZpeGVkKDIpO1xuICAvLyB9KTtcbiAgcHJpY2UgPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG4gIGRpc3BsYXlQcmljZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gKHRoaXMucHJpY2UoKSAvIDEwMCkudG9GaXhlZCgyKTtcbiAgfSk7XG4gIHdpc2ggPSBvdXRwdXQ8UHJvZHVjdD4oKTtcbiAgaW5XaXNoTGlzdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgb25XaXNoKHByb2R1Y3Q6IFByb2R1Y3QpIHtcbiAgICB0aGlzLndpc2guZW1pdChwcm9kdWN0KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInB5LTNcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBweS0zXCI+wqUge3sgZGlzcGxheVByaWNlKCkgfX08L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib25XaXNoKHByb2R1Y3QoKSlcIj5cbiAgICAgIEBpZiAoaW5XaXNoTGlzdCgpKSB7XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiIzVmNjM2OFwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwibTI5My0yMDMuMDggNDkuNjItMjEyLjU0LTE2NC45My0xNDIuODQgMjE3LjIzLTE4Ljg1TDQ4MC03NzcuNjlsODUuMDggMjAwLjM4IDIxNy4yMyAxOC44NS0xNjQuOTMgMTQyLjg0TDY2Ny0yMDMuMDggNDgwLTMxNS45MiAyOTMtMjAzLjA4WlwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjNWY2MzY4XCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJtMzU0LTI4NyAxMjYtNzYgMTI2IDc3LTMzLTE0NCAxMTEtOTYtMTQ2LTEzLTU4LTEzNi01OCAxMzUtMTQ2IDEzIDExMSA5Ny0zMyAxNDNabS02MSA4My45MiA0OS42Mi0yMTIuNTQtMTY0LjkzLTE0Mi44NCAyMTcuMjMtMTguODVMNDgwLTc3Ny42OWw4NS4wOCAyMDAuMzggMjE3LjIzIDE4Ljg1LTE2NC45MyAxNDIuODRMNjY3LTIwMy4wOCA0ODAtMzE1LjkyIDI5My0yMDMuMDhaTTQ4MC00NzBaXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIH1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuPC9kaXY+XG4iXX0=","import { Component, input, model, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class ProductOptionComponent {\n constructor() {\n this.option = input.required(...(ngDevMode ? [{ debugName: \"option\" }] : []));\n this.optionChange = output();\n this.selected = model(...(ngDevMode ? [undefined, { debugName: \"selected\" }] : []));\n this.value = model(...(ngDevMode ? [undefined, { debugName: \"value\" }] : []));\n }\n onOptionChange(value) {\n this.value.set(value);\n this.optionChange.emit({ option: this.option(), value: value });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductOptionComponent, isStandalone: true, selector: \"rolatech-product-option\", inputs: { option: { classPropertyName: \"option\", publicName: \"option\", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: \"selected\", publicName: \"selected\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { optionChange: \"optionChange\", selected: \"selectedChange\", value: \"valueChange\" }, ngImport: i0, template: \"<div class=\\\"mb-3\\\">\\n <div class=\\\"text-xl font-bold py-3\\\">{{ option().name }}</div>\\n <div class=\\\"flex flex-wrap gap-3\\\">\\n @for (item of option().values; track $index) {\\n <div\\n class=\\\"w-24 h-12 border border-[--rt-border-color] rounded flex justify-center items-center hover:text-[--rt-text-primary-inverse] hover:bg-[--rt-brand-color] cursor-pointer\\\"\\n (click)=\\\"onOptionChange(item)\\\"\\n [ngClass]=\\\"value()?.id === item.id ? 'bg-[--rt-brand-color] text-[--rt-text-primary-inverse]' : ''\\\"\\n >\\n {{ item.name }}\\n </div>\\n }\\n </div>\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductOptionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-option', imports: [CommonModule], template: \"<div class=\\\"mb-3\\\">\\n <div class=\\\"text-xl font-bold py-3\\\">{{ option().name }}</div>\\n <div class=\\\"flex flex-wrap gap-3\\\">\\n @for (item of option().values; track $index) {\\n <div\\n class=\\\"w-24 h-12 border border-[--rt-border-color] rounded flex justify-center items-center hover:text-[--rt-text-primary-inverse] hover:bg-[--rt-brand-color] cursor-pointer\\\"\\n (click)=\\\"onOptionChange(item)\\\"\\n [ngClass]=\\\"value()?.id === item.id ? 'bg-[--rt-brand-color] text-[--rt-text-primary-inverse]' : ''\\\"\\n >\\n {{ item.name }}\\n </div>\\n }\\n </div>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvY29tcG9uZW50cy9wcm9kdWN0LW9wdGlvbi9wcm9kdWN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3Qtb3B0aW9uL3Byb2R1Y3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFTL0MsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQU9FLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxpREFBaUIsQ0FBQztRQUN6QyxpQkFBWSxHQUFHLE1BQU0sRUFBd0QsQ0FBQztRQUM5RSxhQUFRLEdBQUcsS0FBSyw4REFBaUIsQ0FBQztRQUNsQyxVQUFLLEdBQUcsS0FBSywyREFBc0IsQ0FBQztLQU1yQztJQUpDLGNBQWMsQ0FBQyxLQUF5QjtRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQzs4R0FUVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwraUJDVm5DLCtsQkFjQSx5RERSWSxZQUFZOzsyRkFJWCxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UseUJBQXlCLFdBQzFCLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgbW9kZWwsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFByb2R1Y3RPcHRpb24sIFByb2R1Y3RPcHRpb25WYWx1ZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW9wdGlvbicsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1vcHRpb24uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0T3B0aW9uQ29tcG9uZW50IHtcbiAgb3B0aW9uID0gaW5wdXQucmVxdWlyZWQ8UHJvZHVjdE9wdGlvbj4oKTtcbiAgb3B0aW9uQ2hhbmdlID0gb3V0cHV0PHsgb3B0aW9uOiBQcm9kdWN0T3B0aW9uOyB2YWx1ZTogUHJvZHVjdE9wdGlvblZhbHVlIH0+KCk7XG4gIHNlbGVjdGVkID0gbW9kZWw8UHJvZHVjdE9wdGlvbj4oKTtcbiAgdmFsdWUgPSBtb2RlbDxQcm9kdWN0T3B0aW9uVmFsdWU+KCk7XG5cbiAgb25PcHRpb25DaGFuZ2UodmFsdWU6IFByb2R1Y3RPcHRpb25WYWx1ZSkge1xuICAgIHRoaXMudmFsdWUuc2V0KHZhbHVlKTtcbiAgICB0aGlzLm9wdGlvbkNoYW5nZS5lbWl0KHsgb3B0aW9uOiB0aGlzLm9wdGlvbigpLCB2YWx1ZTogdmFsdWUgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBweS0zXCI+e3sgb3B0aW9uKCkubmFtZSB9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTNcIj5cbiAgICBAZm9yIChpdGVtIG9mIG9wdGlvbigpLnZhbHVlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidy0yNCBoLTEyIGJvcmRlciBib3JkZXItWy0tcnQtYm9yZGVyLWNvbG9yXSByb3VuZGVkIGZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIGhvdmVyOnRleHQtWy0tcnQtdGV4dC1wcmltYXJ5LWludmVyc2VdIGhvdmVyOmJnLVstLXJ0LWJyYW5kLWNvbG9yXSBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgIChjbGljayk9XCJvbk9wdGlvbkNoYW5nZShpdGVtKVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInZhbHVlKCk/LmlkID09PSBpdGVtLmlkID8gJ2JnLVstLXJ0LWJyYW5kLWNvbG9yXSB0ZXh0LVstLXJ0LXRleHQtcHJpbWFyeS1pbnZlcnNlXScgOiAnJ1wiXG4gICAgICA+XG4gICAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { Component, input, output } from '@angular/core';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { first } from 'lodash';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { MatMenuModule } from '@angular/material/menu';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/form-field\";\nimport * as i2 from \"@angular/material/input\";\nimport * as i3 from \"@angular/cdk/text-field\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/material/button\";\nimport * as i6 from \"@angular/material/icon\";\nimport * as i7 from \"@angular/material/menu\";\nimport * as i8 from \"@angular/material/progress-bar\";\nimport * as i9 from \"@angular/material/divider\";\nexport class ProductManageSectionItemComponent {\n constructor() {\n this.isUploading = input(...(ngDevMode ? [undefined, { debugName: \"isUploading\" }] : []));\n this.section = input.required(...(ngDevMode ? [{ debugName: \"section\" }] : []));\n this.actions = input(false, ...(ngDevMode ? [{ debugName: \"actions\" }] : []));\n this.selectMedia = input(...(ngDevMode ? [undefined, { debugName: \"selectMedia\" }] : []));\n this.upload = output();\n this.delete = output();\n this.save = output();\n this.deleteMedia = output();\n this.expanded = false;\n }\n ngOnInit() {\n this.selectedImg = this.section().media ? this.section().media[0] : null;\n }\n onUpload(data) {\n this.upload.emit({ section: this.section(), data });\n }\n onMediaItemClick(image) {\n this.selectedImg = image;\n }\n select(item) {\n this.selectedImg = item;\n }\n deleteImage() { }\n onSave(section) {\n this.save.emit(section);\n }\n onDelete(section) {\n this.delete.emit(section);\n }\n onDeleteMedia(media) {\n this.deleteMedia.emit({ section: this.section(), media });\n this.selectedImg = this.section().media ? first(this.section().media) : null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageSectionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductManageSectionItemComponent, isStandalone: true, selector: \"rolatech-product-manage-section-item\", inputs: { isUploading: { classPropertyName: \"isUploading\", publicName: \"isUploading\", isSignal: true, isRequired: false, transformFunction: null }, section: { classPropertyName: \"section\", publicName: \"section\", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: \"actions\", publicName: \"actions\", isSignal: true, isRequired: false, transformFunction: null }, selectMedia: { classPropertyName: \"selectMedia\", publicName: \"selectMedia\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { upload: \"upload\", delete: \"delete\", save: \"save\", deleteMedia: \"deleteMedia\" }, ngImport: i0, template: \"<div class=\\\"px-3\\\">\\n <div\\n class=\\\"h-14 py-3 flex items-center justify-between cursor-pointer\\\"\\n (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\"\\n >\\n <div class=\\\"flex\\\">\\n <div class=\\\"w-32 line-clamp-1\\\">{{ section().title }}</div>\\n <div class=\\\"line-clamp-1\\\">{{ section().description }}</div>\\n </div>\\n <div>\\n <button mat-icon-button aria-label=\\\"expand row\\\" (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\">\\n @if (expanded) {\\n <mat-icon>keyboard_arrow_up</mat-icon>\\n } @else {\\n <mat-icon>keyboard_arrow_down</mat-icon>\\n }\\n </button>\\n </div>\\n </div>\\n <div class=\\\"flex flex-col gap-3 w-full overflow-hidden\\\" [@detailExpand]=\\\"expanded ? 'expanded' : 'collapsed'\\\">\\n <div class=\\\"flex flex-col lg:flex-row\\\">\\n <div class=\\\"flex flex-col grow\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>\\u6807\\u9898</mat-label>\\n <input matInput placeholder=\\\"\\u6807\\u9898\\\" [(ngModel)]=\\\"section().title\\\" />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" [hideRequiredMarker]=\\\"true\\\">\\n <mat-label>\\u63CF\\u8FF0</mat-label>\\n <textarea\\n matInput\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n placeholder=\\\"\\u63CF\\u8FF0\\\"\\n [(ngModel)]=\\\"section().description\\\"\\n ></textarea>\\n </mat-form-field>\\n </div>\\n <!-- media -->\\n <div class=\\\"lg:basis-1/2 px-0 lg:px-3\\\">\\n @if (selectedImg) {\\n <div class=\\\"flex flex-row justify-center relative aspect-video\\\">\\n <img class=\\\"object-contain w-full\\\" [src]=\\\"selectedImg.url\\\" [alt]=\\\"selectedImg.alt\\\" />\\n <div class=\\\"absolute z-30 right-0\\\">\\n <button\\n mat-icon-button\\n [matMenuTriggerFor]=\\\"beforeMenu\\\"\\n class=\\\"ml-auto focus:outline-none hover:bg-[--rt-base-background] p-1\\\"\\n >\\n <mat-icon>more_vert</mat-icon>\\n </button>\\n <mat-menu #beforeMenu=\\\"matMenu\\\" xPosition=\\\"before\\\">\\n <button mat-menu-item (click)=\\\"onDeleteMedia(selectedImg)\\\">\\n <span i18n>Delete</span>\\n </button>\\n </mat-menu>\\n </div>\\n </div>\\n }\\n\\n <!-- media -->\\n <div>\\n <div class=\\\"flex flex-row flex-wrap cursor-pointer relative box-border\\\" fxLayout=\\\"row\\\">\\n <div class=\\\"progress-bar\\\">\\n @if (section().isUploading) {\\n <mat-progress-bar mode=\\\"indeterminate\\\"></mat-progress-bar>\\n }\\n </div>\\n @for (media of section().media; track media) {\\n <div class=\\\"media-list-item\\\">\\n <img class=\\\"tile-media\\\" (click)=\\\"onMediaItemClick(media)\\\" [src]=\\\"media.url\\\" [alt]=\\\"media.alt\\\" />\\n </div>\\n }\\n <input style=\\\"display: none\\\" type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"onUpload($event)\\\" #fileInput />\\n <div class=\\\"add-button\\\">\\n <div (click)=\\\"fileInput.click()\\\" class=\\\"tile-media flex justify-center items-center\\\">\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"48px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"48px\\\" fill=\\\"#5f6368\\\">\\n <path d=\\\"M444-444H240v-72h204v-204h72v204h204v72H516v204h-72v-204Z\\\" />\\n </svg>\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n @if (actions()) {\\n <div class=\\\"flex flex-row justify-end p-3 gap-3\\\">\\n <button mat-button class=\\\"max-h-8\\\" (click)=\\\"onDelete(section())\\\" i18n>Delete</button>\\n <button mat-flat-button class=\\\"max-h-8\\\" (click)=\\\"onSave(section())\\\" i18n>Save</button>\\n </div>\\n }\\n </div>\\n</div>\\n\\n<mat-divider></mat-divider>\\n\", styles: [\".media-list{flex-wrap:wrap;box-sizing:border-box}.progress-bar{display:block;min-height:6px;width:100%}.media-list-item{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}.tile-media{height:64px;width:64px;object-fit:contain;cursor:pointer;border:1px solid grey;position:relative;box-sizing:border-box;border-radius:8px}.add-button{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i1.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i1.MatLabel, selector: \"mat-label\" }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"directive\", type: i2.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"directive\", type: i3.CdkTextareaAutosize, selector: \"textarea[cdkTextareaAutosize]\", inputs: [\"cdkAutosizeMinRows\", \"cdkAutosizeMaxRows\", \"cdkTextareaAutosize\", \"placeholder\"], exportAs: [\"cdkTextareaAutosize\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i4.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i4.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i4.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: TextFieldModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i5.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: i5.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i6.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatMenuModule }, { kind: \"component\", type: i7.MatMenu, selector: \"mat-menu\", inputs: [\"backdropClass\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"xPosition\", \"yPosition\", \"overlapTrigger\", \"hasBackdrop\", \"class\", \"classList\"], outputs: [\"closed\", \"close\"], exportAs: [\"matMenu\"] }, { kind: \"component\", type: i7.MatMenuItem, selector: \"[mat-menu-item]\", inputs: [\"role\", \"disabled\", \"disableRipple\"], exportAs: [\"matMenuItem\"] }, { kind: \"directive\", type: i7.MatMenuTrigger, selector: \"[mat-menu-trigger-for], [matMenuTriggerFor]\", inputs: [\"mat-menu-trigger-for\", \"matMenuTriggerFor\", \"matMenuTriggerData\", \"matMenuTriggerRestoreFocus\"], outputs: [\"menuOpened\", \"onMenuOpen\", \"menuClosed\", \"onMenuClose\"], exportAs: [\"matMenuTrigger\"] }, { kind: \"ngmodule\", type: MatProgressBarModule }, { kind: \"component\", type: i8.MatProgressBar, selector: \"mat-progress-bar\", inputs: [\"color\", \"value\", \"bufferValue\", \"mode\"], outputs: [\"animationEnd\"], exportAs: [\"matProgressBar\"] }, { kind: \"ngmodule\", type: MatDividerModule }, { kind: \"component\", type: i9.MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }], animations: [\n trigger('detailExpand', [\n state('collapsed', style({ height: '0px' })),\n state('expanded', style({ height: '*' })),\n transition('expanded <=> collapsed', animate('400ms cubic-bezier(0.25, 0.1, 0.25, 1)')),\n ]),\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageSectionItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-section-item', imports: [\n MatFormFieldModule,\n MatInputModule,\n FormsModule,\n TextFieldModule,\n MatButtonModule,\n MatIconModule,\n MatMenuModule,\n MatProgressBarModule,\n MatDividerModule,\n ], animations: [\n trigger('detailExpand', [\n state('collapsed', style({ height: '0px' })),\n state('expanded', style({ height: '*' })),\n transition('expanded <=> collapsed', animate('400ms cubic-bezier(0.25, 0.1, 0.25, 1)')),\n ]),\n ], template: \"<div class=\\\"px-3\\\">\\n <div\\n class=\\\"h-14 py-3 flex items-center justify-between cursor-pointer\\\"\\n (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\"\\n >\\n <div class=\\\"flex\\\">\\n <div class=\\\"w-32 line-clamp-1\\\">{{ section().title }}</div>\\n <div class=\\\"line-clamp-1\\\">{{ section().description }}</div>\\n </div>\\n <div>\\n <button mat-icon-button aria-label=\\\"expand row\\\" (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\">\\n @if (expanded) {\\n <mat-icon>keyboard_arrow_up</mat-icon>\\n } @else {\\n <mat-icon>keyboard_arrow_down</mat-icon>\\n }\\n </button>\\n </div>\\n </div>\\n <div class=\\\"flex flex-col gap-3 w-full overflow-hidden\\\" [@detailExpand]=\\\"expanded ? 'expanded' : 'collapsed'\\\">\\n <div class=\\\"flex flex-col lg:flex-row\\\">\\n <div class=\\\"flex flex-col grow\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>\\u6807\\u9898</mat-label>\\n <input matInput placeholder=\\\"\\u6807\\u9898\\\" [(ngModel)]=\\\"section().title\\\" />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" [hideRequiredMarker]=\\\"true\\\">\\n <mat-label>\\u63CF\\u8FF0</mat-label>\\n <textarea\\n matInput\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n placeholder=\\\"\\u63CF\\u8FF0\\\"\\n [(ngModel)]=\\\"section().description\\\"\\n ></textarea>\\n </mat-form-field>\\n </div>\\n <!-- media -->\\n <div class=\\\"lg:basis-1/2 px-0 lg:px-3\\\">\\n @if (selectedImg) {\\n <div class=\\\"flex flex-row justify-center relative aspect-video\\\">\\n <img class=\\\"object-contain w-full\\\" [src]=\\\"selectedImg.url\\\" [alt]=\\\"selectedImg.alt\\\" />\\n <div class=\\\"absolute z-30 right-0\\\">\\n <button\\n mat-icon-button\\n [matMenuTriggerFor]=\\\"beforeMenu\\\"\\n class=\\\"ml-auto focus:outline-none hover:bg-[--rt-base-background] p-1\\\"\\n >\\n <mat-icon>more_vert</mat-icon>\\n </button>\\n <mat-menu #beforeMenu=\\\"matMenu\\\" xPosition=\\\"before\\\">\\n <button mat-menu-item (click)=\\\"onDeleteMedia(selectedImg)\\\">\\n <span i18n>Delete</span>\\n </button>\\n </mat-menu>\\n </div>\\n </div>\\n }\\n\\n <!-- media -->\\n <div>\\n <div class=\\\"flex flex-row flex-wrap cursor-pointer relative box-border\\\" fxLayout=\\\"row\\\">\\n <div class=\\\"progress-bar\\\">\\n @if (section().isUploading) {\\n <mat-progress-bar mode=\\\"indeterminate\\\"></mat-progress-bar>\\n }\\n </div>\\n @for (media of section().media; track media) {\\n <div class=\\\"media-list-item\\\">\\n <img class=\\\"tile-media\\\" (click)=\\\"onMediaItemClick(media)\\\" [src]=\\\"media.url\\\" [alt]=\\\"media.alt\\\" />\\n </div>\\n }\\n <input style=\\\"display: none\\\" type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"onUpload($event)\\\" #fileInput />\\n <div class=\\\"add-button\\\">\\n <div (click)=\\\"fileInput.click()\\\" class=\\\"tile-media flex justify-center items-center\\\">\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"48px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"48px\\\" fill=\\\"#5f6368\\\">\\n <path d=\\\"M444-444H240v-72h204v-204h72v204h204v72H516v204h-72v-204Z\\\" />\\n </svg>\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n @if (actions()) {\\n <div class=\\\"flex flex-row justify-end p-3 gap-3\\\">\\n <button mat-button class=\\\"max-h-8\\\" (click)=\\\"onDelete(section())\\\" i18n>Delete</button>\\n <button mat-flat-button class=\\\"max-h-8\\\" (click)=\\\"onSave(section())\\\" i18n>Save</button>\\n </div>\\n }\\n </div>\\n</div>\\n\\n<mat-divider></mat-divider>\\n\", styles: [\".media-list{flex-wrap:wrap;box-sizing:border-box}.progress-bar{display:block;min-height:6px;width:100%}.media-list-item{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}.tile-media{height:64px;width:64px;object-fit:contain;cursor:pointer;border:1px solid grey;position:relative;box-sizing:border-box;border-radius:8px}.add-button{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5nZS1zZWN0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvY29tcG9uZW50cy9wcm9kdWN0LW1hbmdlLXNlY3Rpb24taXRlbS9wcm9kdWN0LW1hbmdlLXNlY3Rpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuZ2Utc2VjdGlvbi1pdGVtL3Byb2R1Y3QtbWFuYWdlLXNlY3Rpb24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUd0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFF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QWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3FCQUNqQixjQUdXO3dCQUNWLE9BQU8sQ0FBQyxjQUFjLEVBQUU7NEJBQ3RCLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7NEJBQzVDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7NEJBQ3pDLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsd0NBQXdDLENBQUMsQ0FBQzt5QkFDeEYsQ0FBQztxQkFDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIE9uSW5pdCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0RmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTWVkaWEgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgUHJvZHVjdFNlY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHRyaWdnZXIsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgYW5pbWF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgTWF0TWVudSwgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1zZWN0aW9uLWl0ZW0nLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFRleHRGaWVsZE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS1zZWN0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbi1pdGVtLmNvbXBvbmVudC5zY3NzJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2RldGFpbEV4cGFuZCcsIFtcbiAgICAgIHN0YXRlKCdjb2xsYXBzZWQnLCBzdHlsZSh7IGhlaWdodDogJzBweCcgfSkpLFxuICAgICAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdleHBhbmRlZCA8PT4gY29sbGFwc2VkJywgYW5pbWF0ZSgnNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuMSwgMC4yNSwgMSknKSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNYW5hZ2VTZWN0aW9uSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlzVXBsb2FkaW5nID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgc2VjdGlvbiA9IGlucHV0LnJlcXVpcmVkPFByb2R1Y3RTZWN0aW9uPigpO1xuICBhY3Rpb25zID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBzZWxlY3RNZWRpYSA9IGlucHV0PGFueT4oKTtcbiAgdXBsb2FkID0gb3V0cHV0PHsgc2VjdGlvbjogUHJvZHVjdFNlY3Rpb247IGRhdGE6IEZvcm1EYXRhIHwgbnVsbCB9PigpO1xuICBkZWxldGUgPSBvdXRwdXQ8UHJvZHVjdFNlY3Rpb24+KCk7XG4gIHNhdmUgPSBvdXRwdXQ8UHJvZHVjdFNlY3Rpb24+KCk7XG4gIGRlbGV0ZU1lZGlhID0gb3V0cHV0PHsgc2VjdGlvbjogUHJvZHVjdFNlY3Rpb247IG1lZGlhOiBNZWRpYSB9PigpO1xuICBzZWxlY3RlZEltZyE6IE1lZGlhIHwgYW55O1xuICBleHBhbmRlZCA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEltZyA9IHRoaXMuc2VjdGlvbigpLm1lZGlhID8gdGhpcy5zZWN0aW9uKCkubWVkaWFbMF0gOiBudWxsO1xuICB9XG4gIG9uVXBsb2FkKGRhdGE6IGFueSkge1xuICAgIHRoaXMudXBsb2FkLmVtaXQoeyBzZWN0aW9uOiB0aGlzLnNlY3Rpb24oKSwgZGF0YSB9KTtcbiAgfVxuICBvbk1lZGlhSXRlbUNsaWNrKGltYWdlOiBNZWRpYSkge1xuICAgIHRoaXMuc2VsZWN0ZWRJbWcgPSBpbWFnZTtcbiAgfVxuXG4gIHNlbGVjdChpdGVtOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkSW1nID0gaXRlbTtcbiAgfVxuICBkZWxldGVJbWFnZSgpIHt9XG4gIG9uU2F2ZShzZWN0aW9uOiBQcm9kdWN0U2VjdGlvbikge1xuICAgIHRoaXMuc2F2ZS5lbWl0KHNlY3Rpb24pO1xuICB9XG4gIG9uRGVsZXRlKHNlY3Rpb246IFByb2R1Y3RTZWN0aW9uKSB7XG4gICAgdGhpcy5kZWxldGUuZW1pdChzZWN0aW9uKTtcbiAgfVxuICBvbkRlbGV0ZU1lZGlhKG1lZGlhOiBNZWRpYSkge1xuICAgIHRoaXMuZGVsZXRlTWVkaWEuZW1pdCh7IHNlY3Rpb246IHRoaXMuc2VjdGlvbigpLCBtZWRpYSB9KTtcbiAgICB0aGlzLnNlbGVjdGVkSW1nID0gdGhpcy5zZWN0aW9uKCkubWVkaWEgPyBmaXJzdCh0aGlzLnNlY3Rpb24oKS5tZWRpYSkgOiBudWxsO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicHgtM1wiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJoLTE0IHB5LTMgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGN1cnNvci1wb2ludGVyXCJcbiAgICAoY2xpY2spPVwiZXhwYW5kZWQgPSAhZXhwYW5kZWQ7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInctMzIgbGluZS1jbGFtcC0xXCI+e3sgc2VjdGlvbigpLnRpdGxlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibGluZS1jbGFtcC0xXCI+e3sgc2VjdGlvbigpLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJleHBhbmQgcm93XCIgKGNsaWNrKT1cImV4cGFuZGVkID0gIWV4cGFuZGVkOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgQGlmIChleHBhbmRlZCkge1xuICAgICAgICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd191cDwvbWF0LWljb24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19kb3duPC9tYXQtaWNvbj5cbiAgICAgICAgfVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMyB3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuXCIgW0BkZXRhaWxFeHBhbmRdPVwiZXhwYW5kZWQgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBsZzpmbGV4LXJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ3Jvd1wiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPuagh+mimDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIuagh+mimFwiIFsobmdNb2RlbCldPVwic2VjdGlvbigpLnRpdGxlXCIgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgW2hpZGVSZXF1aXJlZE1hcmtlcl09XCJ0cnVlXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD7mj4/ov7A8L21hdC1sYWJlbD5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICBjZGtUZXh0YXJlYUF1dG9zaXplXG4gICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIzXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi5o+P6L+wXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VjdGlvbigpLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBtZWRpYSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJsZzpiYXNpcy0xLzIgcHgtMCBsZzpweC0zXCI+XG4gICAgICAgIEBpZiAoc2VsZWN0ZWRJbWcpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNlbnRlciByZWxhdGl2ZSBhc3BlY3QtdmlkZW9cIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJvYmplY3QtY29udGFpbiB3LWZ1bGxcIiBbc3JjXT1cInNlbGVjdGVkSW1nLnVybFwiIFthbHRdPVwic2VsZWN0ZWRJbWcuYWx0XCIgLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSB6LTMwIHJpZ2h0LTBcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJiZWZvcmVNZW51XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLWF1dG8gZm9jdXM6b3V0bGluZS1ub25lIGhvdmVyOmJnLVstLXJ0LWJhc2UtYmFja2dyb3VuZF0gcC0xXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1tZW51ICNiZWZvcmVNZW51PVwibWF0TWVudVwiIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwib25EZWxldGVNZWRpYShzZWxlY3RlZEltZylcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGkxOG4+RGVsZXRlPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIG1lZGlhIC0tPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBjdXJzb3ItcG9pbnRlciByZWxhdGl2ZSBib3gtYm9yZGVyXCIgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1iYXJcIj5cbiAgICAgICAgICAgICAgQGlmIChzZWN0aW9uKCkuaXNVcGxvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAZm9yIChtZWRpYSBvZiBzZWN0aW9uKCkubWVkaWE7IHRyYWNrIG1lZGlhKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZWRpYS1saXN0LWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidGlsZS1tZWRpYVwiIChjbGljayk9XCJvbk1lZGlhSXRlbUNsaWNrKG1lZGlhKVwiIFtzcmNdPVwibWVkaWEudXJsXCIgW2FsdF09XCJtZWRpYS5hbHRcIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxpbnB1dCBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIiB0eXBlPVwiZmlsZVwiIGFjY2VwdD1cImltYWdlLypcIiAoY2hhbmdlKT1cIm9uVXBsb2FkKCRldmVudClcIiAjZmlsZUlucHV0IC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkLWJ1dHRvblwiPlxuICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiIGNsYXNzPVwidGlsZS1tZWRpYSBmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjQ4cHhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjQ4cHhcIiBmaWxsPVwiIzVmNjM2OFwiPlxuICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk00NDQtNDQ0SDI0MHYtNzJoMjA0di0yMDRoNzJ2MjA0aDIwNHY3Mkg1MTZ2MjA0aC03MnYtMjA0WlwiIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgQGlmIChhY3Rpb25zKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktZW5kIHAtMyBnYXAtM1wiPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJtYXgtaC04XCIgKGNsaWNrKT1cIm9uRGVsZXRlKHNlY3Rpb24oKSlcIiBpMThuPkRlbGV0ZTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjbGFzcz1cIm1heC1oLThcIiAoY2xpY2spPVwib25TYXZlKHNlY3Rpb24oKSlcIiBpMThuPlNhdmU8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4iXX0=","import { Component, output } from '@angular/core';\nimport { ENTER, COMMA } from '@angular/cdk/keycodes';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule } from '@rolatech/angular-components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/chips\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/form-field\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/material/icon\";\nimport * as i6 from \"@angular/material/input\";\nexport class ProductManageOptionAddComponent {\n constructor() {\n this.option = {\n id: '',\n name: '',\n values: [],\n };\n this.addOnBlur = true;\n this.separatorKeysCodes = [ENTER, COMMA];\n this.cancel = output();\n this.save = output();\n this.action = true;\n this.output = output();\n }\n onCancel() {\n this.cancel.emit();\n }\n onSave() {\n this.save.emit(this.option);\n }\n addOptionValues(event) {\n const value = (event.value || '').trim();\n if (value) {\n this.option.values.push({ name: value });\n }\n event.chipInput.clear();\n }\n removeValue(value) {\n if (value) {\n const index = this.option.values.findIndex((item) => item.name === value.name);\n this.option.values?.splice(index, 1);\n }\n }\n ngDoCheck() {\n this.output.emit(this.option);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageOptionAddComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductManageOptionAddComponent, isStandalone: true, selector: \"rolatech-product-manage-option-add\", outputs: { cancel: \"cancel\", save: \"save\", output: \"output\" }, ngImport: i0, template: \"<div class=\\\"flex flex-col\\\">\\n <div class=\\\"p-1\\\" i18n>Options</div>\\n <form>\\n <mat-form-field appearance=\\\"fill\\\">\\n <input matInput placeholder=\\\"Name\\\" type=\\\"text\\\" [(ngModel)]=\\\"option.name\\\" [ngModelOptions]=\\\"{ standalone: true }\\\" i18n />\\n </mat-form-field>\\n <mat-form-field>\\n <mat-chip-grid #chipGrid aria-label=\\\"Enter values\\\">\\n @for (value of option.values; track value) {\\n <mat-chip-row\\n (removed)=\\\"removeValue(value)\\\"\\n [editable]=\\\"true\\\"\\n [aria-description]=\\\"'press enter to edit ' + value.name\\\"\\n >\\n {{ value.name }}\\n <button matChipRemove [attr.aria-label]=\\\"'remove ' + value.name\\\">\\n <mat-icon>cancel</mat-icon>\\n </button>\\n </mat-chip-row>\\n }\\n <input\\n placeholder=\\\"Value\\\"\\n [matChipInputFor]=\\\"chipGrid\\\"\\n [matChipInputSeparatorKeyCodes]=\\\"separatorKeysCodes\\\"\\n [matChipInputAddOnBlur]=\\\"addOnBlur\\\"\\n (matChipInputTokenEnd)=\\\"addOptionValues($event)\\\"\\n i18n\\n />\\n </mat-chip-grid>\\n </mat-form-field>\\n </form>\\n</div>\\n@if (action) {\\n <div class=\\\"flex items-center justify-end\\\">\\n <button mat-button (click)=\\\"onCancel()\\\" i18n>Cancel</button>\\n <button mat-flat-button (click)=\\\"onSave()\\\" i18n>Save</button>\\n </div>\\n}\\n\", styles: [\"mat-form-field{width:100%}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatChipsModule }, { kind: \"component\", type: i1.MatChipGrid, selector: \"mat-chip-grid\", inputs: [\"disabled\", \"placeholder\", \"required\", \"value\", \"errorStateMatcher\"], outputs: [\"change\", \"valueChange\"] }, { kind: \"directive\", type: i1.MatChipInput, selector: \"input[matChipInputFor]\", inputs: [\"matChipInputFor\", \"matChipInputAddOnBlur\", \"matChipInputSeparatorKeyCodes\", \"placeholder\", \"id\", \"disabled\", \"readonly\", \"matChipInputDisabledInteractive\"], outputs: [\"matChipInputTokenEnd\"], exportAs: [\"matChipInput\", \"matChipInputFor\"] }, { kind: \"directive\", type: i1.MatChipRemove, selector: \"[matChipRemove]\" }, { kind: \"component\", type: i1.MatChipRow, selector: \"mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]\", inputs: [\"editable\"], outputs: [\"edited\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i2.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i3.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"directive\", type: i4.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i4.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i4.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i4.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i4.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: i4.NgForm, selector: \"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]\", inputs: [\"ngFormOptions\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"directive\", type: i6.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"ngmodule\", type: MatIconModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageOptionAddComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-option-add', imports: [MatChipsModule, MatButtonModule, MatFormFieldModule, AngularCommonModule, AngularComponentsModule, MatIconModule], template: \"<div class=\\\"flex flex-col\\\">\\n <div class=\\\"p-1\\\" i18n>Options</div>\\n <form>\\n <mat-form-field appearance=\\\"fill\\\">\\n <input matInput placeholder=\\\"Name\\\" type=\\\"text\\\" [(ngModel)]=\\\"option.name\\\" [ngModelOptions]=\\\"{ standalone: true }\\\" i18n />\\n </mat-form-field>\\n <mat-form-field>\\n <mat-chip-grid #chipGrid aria-label=\\\"Enter values\\\">\\n @for (value of option.values; track value) {\\n <mat-chip-row\\n (removed)=\\\"removeValue(value)\\\"\\n [editable]=\\\"true\\\"\\n [aria-description]=\\\"'press enter to edit ' + value.name\\\"\\n >\\n {{ value.name }}\\n <button matChipRemove [attr.aria-label]=\\\"'remove ' + value.name\\\">\\n <mat-icon>cancel</mat-icon>\\n </button>\\n </mat-chip-row>\\n }\\n <input\\n placeholder=\\\"Value\\\"\\n [matChipInputFor]=\\\"chipGrid\\\"\\n [matChipInputSeparatorKeyCodes]=\\\"separatorKeysCodes\\\"\\n [matChipInputAddOnBlur]=\\\"addOnBlur\\\"\\n (matChipInputTokenEnd)=\\\"addOptionValues($event)\\\"\\n i18n\\n />\\n </mat-chip-grid>\\n </mat-form-field>\\n </form>\\n</div>\\n@if (action) {\\n <div class=\\\"flex items-center justify-end\\\">\\n <button mat-button (click)=\\\"onCancel()\\\" i18n>Cancel</button>\\n <button mat-flat-button (click)=\\\"onSave()\\\" i18n>Save</button>\\n </div>\\n}\\n\", styles: [\"mat-form-field{width:100%}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWFkZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbi1hZGQvcHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWFkZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbi1hZGQvcHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWFkZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFrQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQXFCLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7O0FBUXZFLE1BQU0sT0FBTywrQkFBK0I7SUFONUM7UUFPRSxXQUFNLEdBQWtCO1lBQ3RCLEVBQUUsRUFBRSxFQUFFO1lBQ04sSUFBSSxFQUFFLEVBQUU7WUFDUixNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFDRixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ1IsdUJBQWtCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFVLENBQUM7UUFDdEQsV0FBTSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLFNBQUksR0FBRyxNQUFNLEVBQWlCLENBQUM7UUFDL0IsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLFdBQU0sR0FBRyxNQUFNLEVBQU8sQ0FBQztLQXlCeEI7SUF2QkMsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUF3QjtRQUN0QyxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBQ0QsU0FBUztRQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQW5DVSwrQkFBK0I7a0dBQS9CLCtCQUErQiw2SkNoQjVDLDIzQ0FzQ0EscUZEMUJZLGNBQWMsMnhCQUFFLGVBQWUsbVhBQUUsa0JBQWtCLHlPQUFFLG1CQUFtQix1aUNBQUUsdUJBQXVCLHNoQkFBRSxhQUFhOzsyRkFJL0csK0JBQStCO2tCQU4zQyxTQUFTOytCQUNFLG9DQUFvQyxXQUNyQyxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEb0NoZWNrLCBtb2RlbCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTlRFUiwgQ09NTUEgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgTWF0Q2hpcElucHV0RXZlbnQsIE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgUHJvZHVjdE9wdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1vcHRpb24tYWRkJyxcbiAgaW1wb3J0czogW01hdENoaXBzTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgQW5ndWxhckNvbW1vbk1vZHVsZSwgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWFkZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS1vcHRpb24tYWRkLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZU9wdGlvbkFkZENvbXBvbmVudCBpbXBsZW1lbnRzIERvQ2hlY2sge1xuICBvcHRpb246IFByb2R1Y3RPcHRpb24gPSB7XG4gICAgaWQ6ICcnLFxuICAgIG5hbWU6ICcnLFxuICAgIHZhbHVlczogW10sXG4gIH07XG4gIGFkZE9uQmx1ciA9IHRydWU7XG4gIHJlYWRvbmx5IHNlcGFyYXRvcktleXNDb2RlcyA9IFtFTlRFUiwgQ09NTUFdIGFzIGNvbnN0O1xuICBjYW5jZWwgPSBvdXRwdXQoKTtcbiAgc2F2ZSA9IG91dHB1dDxQcm9kdWN0T3B0aW9uPigpO1xuICBhY3Rpb24gPSB0cnVlO1xuICBvdXRwdXQgPSBvdXRwdXQ8YW55PigpO1xuXG4gIG9uQ2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgfVxuICBvblNhdmUoKSB7XG4gICAgdGhpcy5zYXZlLmVtaXQodGhpcy5vcHRpb24pO1xuICB9XG5cbiAgYWRkT3B0aW9uVmFsdWVzKGV2ZW50OiBNYXRDaGlwSW5wdXRFdmVudCkge1xuICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnZhbHVlIHx8ICcnKS50cmltKCk7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLm9wdGlvbi52YWx1ZXMucHVzaCh7IG5hbWU6IHZhbHVlIH0pO1xuICAgIH1cbiAgICBldmVudC5jaGlwSW5wdXQuY2xlYXIoKTtcbiAgfVxuICByZW1vdmVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMub3B0aW9uLnZhbHVlcy5maW5kSW5kZXgoKGl0ZW06IGFueSkgPT4gaXRlbS5uYW1lID09PSB2YWx1ZS5uYW1lKTtcbiAgICAgIHRoaXMub3B0aW9uLnZhbHVlcz8uc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gIH1cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIHRoaXMub3V0cHV0LmVtaXQodGhpcy5vcHRpb24pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICA8ZGl2IGNsYXNzPVwicC0xXCIgaTE4bj5PcHRpb25zPC9kaXY+XG4gIDxmb3JtPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiTmFtZVwiIHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJvcHRpb24ubmFtZVwiIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiIGkxOG4gLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtY2hpcC1ncmlkICNjaGlwR3JpZCBhcmlhLWxhYmVsPVwiRW50ZXIgdmFsdWVzXCI+XG4gICAgICAgIEBmb3IgKHZhbHVlIG9mIG9wdGlvbi52YWx1ZXM7IHRyYWNrIHZhbHVlKSB7XG4gICAgICAgICAgPG1hdC1jaGlwLXJvd1xuICAgICAgICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlVmFsdWUodmFsdWUpXCJcbiAgICAgICAgICAgIFtlZGl0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFthcmlhLWRlc2NyaXB0aW9uXT1cIidwcmVzcyBlbnRlciB0byBlZGl0ICcgKyB2YWx1ZS5uYW1lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyB2YWx1ZS5uYW1lIH19XG4gICAgICAgICAgICA8YnV0dG9uIG1hdENoaXBSZW1vdmUgW2F0dHIuYXJpYS1sYWJlbF09XCIncmVtb3ZlICcgKyB2YWx1ZS5uYW1lXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9tYXQtY2hpcC1yb3c+XG4gICAgICAgIH1cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJWYWx1ZVwiXG4gICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwR3JpZFwiXG4gICAgICAgICAgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cInNlcGFyYXRvcktleXNDb2Rlc1wiXG4gICAgICAgICAgW21hdENoaXBJbnB1dEFkZE9uQmx1cl09XCJhZGRPbkJsdXJcIlxuICAgICAgICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJhZGRPcHRpb25WYWx1ZXMoJGV2ZW50KVwiXG4gICAgICAgICAgaTE4blxuICAgICAgICAvPlxuICAgICAgPC9tYXQtY2hpcC1ncmlkPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZm9ybT5cbjwvZGl2PlxuQGlmIChhY3Rpb24pIHtcbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kXCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJvbkNhbmNlbCgpXCIgaTE4bj5DYW5jZWw8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwib25TYXZlKClcIiBpMThuPlNhdmU8L2J1dHRvbj5cbiAgPC9kaXY+XG59XG4iXX0=","import { Component, input, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule } from '@rolatech/angular-components';\nimport { OptionsFormatPipe } from '@rolatech/angular-common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/divider\";\nimport * as i3 from \"@angular/material/icon\";\nexport class ProductManageOptionItemComponent {\n constructor() {\n this.option = input.required(...(ngDevMode ? [{ debugName: \"option\" }] : []));\n this.addOnBlur = true;\n this.delete = output();\n this.save = output();\n this.edit = output();\n }\n onDelete() {\n this.delete.emit(this.option());\n }\n onSave() {\n this.save.emit(this.option());\n }\n onEdit() {\n this.edit.emit(this.option());\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageOptionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.2\", type: ProductManageOptionItemComponent, isStandalone: true, selector: \"rolatech-product-manage-option-item\", inputs: { option: { classPropertyName: \"option\", publicName: \"option\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { delete: \"delete\", save: \"save\", edit: \"edit\" }, ngImport: i0, template: \"<div class=\\\"group flex justify-between items-center h-14 hover:bg-[--rt-raised-background] cursor-pointer px-2\\\">\\n <div class=\\\"flex\\\">\\n <div class=\\\"min-w-[150px] mr-3\\\">{{ option().name }}</div>\\n <div class=\\\"overflow-hidden line-clamp-1\\\">\\n {{ option().values! | options }}\\n </div>\\n </div>\\n <div class=\\\"flex justify-end max-w-24 w-24 invisible group-hover:visible\\\">\\n <button mat-icon-button (click)=\\\"onEdit()\\\">\\n <mat-icon>edit</mat-icon>\\n </button>\\n <button mat-icon-button (click)=\\\"onDelete()\\\">\\n <mat-icon>delete</mat-icon>\\n </button>\\n </div>\\n</div>\\n<mat-divider></mat-divider>\\n\", styles: [\"mat-icon{scale:.9}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatChipsModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i2.MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }, { kind: \"component\", type: i3.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"pipe\", type: OptionsFormatPipe, name: \"options\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageOptionItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-option-item', imports: [\n MatChipsModule,\n MatButtonModule,\n MatFormFieldModule,\n AngularCommonModule,\n AngularComponentsModule,\n MatIconModule,\n OptionsFormatPipe,\n ], template: \"<div class=\\\"group flex justify-between items-center h-14 hover:bg-[--rt-raised-background] cursor-pointer px-2\\\">\\n <div class=\\\"flex\\\">\\n <div class=\\\"min-w-[150px] mr-3\\\">{{ option().name }}</div>\\n <div class=\\\"overflow-hidden line-clamp-1\\\">\\n {{ option().values! | options }}\\n </div>\\n </div>\\n <div class=\\\"flex justify-end max-w-24 w-24 invisible group-hover:visible\\\">\\n <button mat-icon-button (click)=\\\"onEdit()\\\">\\n <mat-icon>edit</mat-icon>\\n </button>\\n <button mat-icon-button (click)=\\\"onDelete()\\\">\\n <mat-icon>delete</mat-icon>\\n </button>\\n </div>\\n</div>\\n<mat-divider></mat-divider>\\n\", styles: [\"mat-icon{scale:.9}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvY29tcG9uZW50cy9wcm9kdWN0LW1hbmFnZS1vcHRpb24taXRlbS9wcm9kdWN0LW1hbmFnZS1vcHRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbi1pdGVtL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFlN0QsTUFBTSxPQUFPLGdDQUFnQztJQWQ3QztRQWVFLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxpREFBaUIsQ0FBQztRQUN6QyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFdBQU0sR0FBRyxNQUFNLEVBQWlCLENBQUM7UUFDakMsU0FBSSxHQUFHLE1BQU0sRUFBaUIsQ0FBQztRQUMvQixTQUFJLEdBQUcsTUFBTSxFQUFpQixDQUFDO0tBV2hDO0lBVEMsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQWZVLGdDQUFnQztrR0FBaEMsZ0NBQWdDLGdTQ3ZCN0Msd29CQWlCQSw2RURMSSxjQUFjLDhCQUNkLGVBQWUscU5BQ2Ysa0JBQWtCLDhCQUNsQixtQkFBbUIsOEJBQ25CLHVCQUF1Qix1UkFDdkIsYUFBYSwwQkFDYixpQkFBaUI7OzJGQUtSLGdDQUFnQztrQkFkNUMsU0FBUzsrQkFDRSxxQ0FBcUMsV0FDdEM7d0JBQ1AsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGFBQWE7d0JBQ2IsaUJBQWlCO3FCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBQcm9kdWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPcHRpb25zRm9ybWF0UGlwZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1vcHRpb24taXRlbScsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRDaGlwc01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIEFuZ3VsYXJDb21tb25Nb2R1bGUsXG4gICAgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBPcHRpb25zRm9ybWF0UGlwZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbi1pdGVtLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZU9wdGlvbkl0ZW1Db21wb25lbnQge1xuICBvcHRpb24gPSBpbnB1dC5yZXF1aXJlZDxQcm9kdWN0T3B0aW9uPigpO1xuICBhZGRPbkJsdXIgPSB0cnVlO1xuICBkZWxldGUgPSBvdXRwdXQ8UHJvZHVjdE9wdGlvbj4oKTtcbiAgc2F2ZSA9IG91dHB1dDxQcm9kdWN0T3B0aW9uPigpO1xuICBlZGl0ID0gb3V0cHV0PFByb2R1Y3RPcHRpb24+KCk7XG5cbiAgb25EZWxldGUoKSB7XG4gICAgdGhpcy5kZWxldGUuZW1pdCh0aGlzLm9wdGlvbigpKTtcbiAgfVxuICBvblNhdmUoKSB7XG4gICAgdGhpcy5zYXZlLmVtaXQodGhpcy5vcHRpb24oKSk7XG4gIH1cbiAgb25FZGl0KCkge1xuICAgIHRoaXMuZWRpdC5lbWl0KHRoaXMub3B0aW9uKCkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ3JvdXAgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIGgtMTQgaG92ZXI6YmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdIGN1cnNvci1wb2ludGVyIHB4LTJcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWluLXctWzE1MHB4XSBtci0zXCI+e3sgb3B0aW9uKCkubmFtZSB9fTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW4gbGluZS1jbGFtcC0xXCI+XG4gICAgICB7eyBvcHRpb24oKS52YWx1ZXMhIHwgb3B0aW9ucyB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1lbmQgbWF4LXctMjQgdy0yNCBpbnZpc2libGUgZ3JvdXAtaG92ZXI6dmlzaWJsZVwiPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkVkaXQoKVwiPlxuICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkRlbGV0ZSgpXCI+XG4gICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuIl19","import { Pipe } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class SelectedPipe {\n transform(variant, option) {\n const findedOption = variant.options.find((item) => item.option.id === option.id);\n return findedOption?.value;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: SelectedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.2\", ngImport: i0, type: SelectedPipe, isStandalone: true, name: \"selected\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: SelectedPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'selected',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL3BhZ2VzL3Byb2R1Y3QvcHJvZHVjdC1kZXRhaWxzL3NlbGVjdGVkLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFNBQVMsQ0FBQyxPQUF1QixFQUFFLE1BQXFCO1FBQ3RELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEYsT0FBTyxZQUFZLEVBQUUsS0FBSyxDQUFDO0lBQzdCLENBQUM7OEdBSlUsWUFBWTs0R0FBWixZQUFZOzsyRkFBWixZQUFZO2tCQUh4QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxVQUFVO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2R1Y3RPcHRpb24sIFByb2R1Y3RPcHRpb25WYWx1ZSwgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnc2VsZWN0ZWQnLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RlZFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhcmlhbnQ6IFByb2R1Y3RWYXJpYW50LCBvcHRpb246IFByb2R1Y3RPcHRpb24pOiBhbnkge1xuICAgIGNvbnN0IGZpbmRlZE9wdGlvbiA9IHZhcmlhbnQub3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLm9wdGlvbi5pZCA9PT0gb3B0aW9uLmlkKTtcbiAgICByZXR1cm4gZmluZGVkT3B0aW9uPy52YWx1ZTtcbiAgfVxufVxuIl19","import { Component, input } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nimport * as i2 from \"@angular/material/icon\";\nexport class ProductOwnerRendererComponent {\n constructor() {\n this.name = input(...(ngDevMode ? [undefined, { debugName: \"name\" }] : []));\n this.avatar = input(...(ngDevMode ? [undefined, { debugName: \"avatar\" }] : []));\n this.username = input(...(ngDevMode ? [undefined, { debugName: \"username\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductOwnerRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductOwnerRendererComponent, isStandalone: true, selector: \"rolatech-product-owner-renderer\", inputs: { name: { classPropertyName: \"name\", publicName: \"name\", isSignal: true, isRequired: false, transformFunction: null }, avatar: { classPropertyName: \"avatar\", publicName: \"avatar\", isSignal: true, isRequired: false, transformFunction: null }, username: { classPropertyName: \"username\", publicName: \"username\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<div class=\\\"flex flex-row items-center py-3\\\">\\n <div class=\\\"flex mr-3 gap-2 items-center\\\">\\n @if (avatar()) {\\n <div class=\\\"cursor-pointer\\\" [routerLink]=\\\"['/', '@' + username()]\\\">\\n <img [src]=\\\"avatar()\\\" class=\\\"w-11 h-11 rounded-full\\\" alt />\\n </div>\\n } @else {\\n <div class=\\\"w-11 h-11 rounded-full bg-[--rt-brand-color]\\\"></div>\\n }\\n <div class=\\\"flex items-center text-lg font-bold cursor-pointer\\\">\\n <a [routerLink]=\\\"['/', '@' + username()]\\\">\\n <span>{{ name() }}</span>\\n </a>\\n <mat-icon class=\\\"verified-icon\\\">verified</mat-icon>\\n </div>\\n </div>\\n</div>\\n\", styles: [\"mat-icon{transform:scale(.8);color:var(--rt-brand-color)}\\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: MatIconModule }, { kind: \"component\", type: i2.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductOwnerRendererComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-owner-renderer', imports: [AngularCommonModule, MatIconModule], template: \"<div class=\\\"flex flex-row items-center py-3\\\">\\n <div class=\\\"flex mr-3 gap-2 items-center\\\">\\n @if (avatar()) {\\n <div class=\\\"cursor-pointer\\\" [routerLink]=\\\"['/', '@' + username()]\\\">\\n <img [src]=\\\"avatar()\\\" class=\\\"w-11 h-11 rounded-full\\\" alt />\\n </div>\\n } @else {\\n <div class=\\\"w-11 h-11 rounded-full bg-[--rt-brand-color]\\\"></div>\\n }\\n <div class=\\\"flex items-center text-lg font-bold cursor-pointer\\\">\\n <a [routerLink]=\\\"['/', '@' + username()]\\\">\\n <span>{{ name() }}</span>\\n </a>\\n <mat-icon class=\\\"verified-icon\\\">verified</mat-icon>\\n </div>\\n </div>\\n</div>\\n\", styles: [\"mat-icon{transform:scale(.8);color:var(--rt-brand-color)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1vd25lci1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3Qtb3duZXItcmVuZGVyZXIvcHJvZHVjdC1vd25lci1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3Qtb3duZXItcmVuZGVyZXIvcHJvZHVjdC1vd25lci1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFRL0QsTUFBTSxPQUFPLDZCQUE2QjtJQU4xQztRQU9FLFNBQUksR0FBRyxLQUFLLDBEQUFVLENBQUM7UUFDdkIsV0FBTSxHQUFHLEtBQUssNERBQVUsQ0FBQztRQUN6QixhQUFRLEdBQUcsS0FBSyw4REFBVSxDQUFDO0tBQzVCOzhHQUpZLDZCQUE2QjtrR0FBN0IsNkJBQTZCLHdkQ1YxQyxxb0JBaUJBLG9IRFhZLG1CQUFtQiwrUUFBRSxhQUFhOzsyRkFJakMsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNFLGlDQUFpQyxXQUNsQyxDQUFDLG1CQUFtQixFQUFFLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW93bmVyLXJlbmRlcmVyJyxcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1vd25lci1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LW93bmVyLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE93bmVyUmVuZGVyZXJDb21wb25lbnQge1xuICBuYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICBhdmF0YXIgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHVzZXJuYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyIHB5LTNcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggbXItMyBnYXAtMiBpdGVtcy1jZW50ZXJcIj5cbiAgICBAaWYgKGF2YXRhcigpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiBbcm91dGVyTGlua109XCJbJy8nLCAnQCcgKyB1c2VybmFtZSgpXVwiPlxuICAgICAgICA8aW1nIFtzcmNdPVwiYXZhdGFyKClcIiBjbGFzcz1cInctMTEgaC0xMSByb3VuZGVkLWZ1bGxcIiBhbHQgLz5cbiAgICAgIDwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgICAgPGRpdiBjbGFzcz1cInctMTEgaC0xMSByb3VuZGVkLWZ1bGwgYmctWy0tcnQtYnJhbmQtY29sb3JdXCI+PC9kaXY+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LWxnIGZvbnQtYm9sZCBjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvJywgJ0AnICsgdXNlcm5hbWUoKV1cIj5cbiAgICAgICAgPHNwYW4+e3sgbmFtZSgpIH19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwidmVyaWZpZWQtaWNvblwiPnZlcmlmaWVkPC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==","import { Component, computed, effect, inject, signal } from '@angular/core';\nimport { ProductActionComponent, ProductInfoComponent, ProductMediaComponent, ProductOptionComponent, ProductPricingComponent, } from '../../../components';\nimport { AngularComponentsModule, BaseComponent, ContainerComponent } from '@rolatech/angular-components';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { CommentsComponent } from '@rolatech/angular-comment';\nimport { AuthService, AuthUserService } from '@rolatech/angular-auth';\nimport { ProductSectionComponent } from '../../../components/product-section/product-section.component';\nimport { SelectedPipe } from './selected.pipe';\nimport _ from 'lodash';\nimport { ProductOwnerRendererComponent } from '../../../components/product-owner-renderer/product-owner-renderer.component';\nimport { CartEventType, CartService, ProductService } from '@rolatech/angular-services';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/divider\";\nexport class ProductDetailsComponent extends BaseComponent {\n // results: any[] = [];\n constructor() {\n super();\n this.authService = inject(AuthService);\n this.authUserService = inject(AuthUserService);\n this.productService = inject(ProductService);\n this.cartService = inject(CartService);\n this.authenticated = this.authService.authenticated;\n this.fullname = '';\n this.username = '';\n this.inWishList = false;\n this.purchased = false;\n this.variants = [];\n this.variantOption = signal(undefined, ...(ngDevMode ? [{ debugName: \"variantOption\" }] : []));\n this.variantOptionChanged = computed(() => {\n return this.variantOption();\n }, ...(ngDevMode ? [{ debugName: \"variantOptionChanged\" }] : []));\n effect(() => {\n if (this.authenticated()) {\n this.findWishlistBy();\n }\n });\n }\n ngOnInit() {\n this.getProduct();\n }\n getProduct() {\n this.productService.get(this.id).subscribe({\n next: (res) => {\n this.product = res.data;\n if (this.product.variants) {\n this.variants = this.product.variants;\n this.selectedVariant = this.variants[0];\n // this.selectedVariant.options.forEach((item) => {\n // this.results.push([item.option.id, item.value.id]);\n // });\n }\n this.findUserBaseInfo(this.product.userId);\n this.titleService.setTitle(`${this.product.name}`);\n },\n });\n }\n findVariant(optionId, valueId) {\n return this.variants.find((item) => {\n const exist = item.options.some((i) => i.option.id === optionId && i.value.id === valueId);\n if (exist) {\n return item;\n }\n return null;\n });\n }\n findUserBaseInfo(userId) {\n this.authUserService.getPublicUserInfo(userId).subscribe({\n next: (res) => {\n this.fullname = res.name;\n this.username = res.username;\n this.user = res;\n },\n });\n }\n findWishlistBy() {\n this.productService.findWishlistBy(this.id).subscribe({\n next: (res) => {\n this.inWishList = res.data;\n },\n });\n }\n onWish(e) {\n if (this.authenticated()) {\n if (this.inWishList) {\n this.removeFromWishlist();\n }\n else {\n this.addToWishlist();\n }\n }\n else {\n this.snackBarService.open('Please sign in');\n }\n }\n onCart(e) {\n const data = { productId: this.id, quantity: 1 };\n if (this.selectedVariant) {\n data['variantId'] = this.selectedVariant.id;\n }\n this.cartService.create(data).subscribe({\n next: (res) => {\n this.cartService.cartEvent.emit(CartEventType.CartAdd);\n },\n });\n }\n removeFromWishlist() {\n this.productService.removeFromWishlist(this.id).subscribe({\n next: (res) => {\n this.inWishList = false;\n },\n });\n }\n addToWishlist() {\n this.productService.addToWishlist(this.id).subscribe({\n next: (res) => {\n this.inWishList = true;\n },\n });\n }\n checkout(e) {\n if (this.authenticated()) {\n if (this.selectedVariant) {\n // this.router.navigateByUrl(`/checkout/products/${this.id}?variant-id=${this.selectedVariant.id}`);\n // this.router.navigate([`/checkout/products/${this.id}`], { queryParams: { variant: this.selectedVariant.id } });\n this.router.navigate([`/checkout/products/${this.id}/variants/${this.selectedVariant.id}`]);\n }\n else {\n this.router.navigateByUrl(`/checkout/products/${this.id}`);\n }\n }\n else {\n this.snackBarService.open('Please sign in');\n }\n }\n onOptionChange(e) {\n const criteria = [];\n this.selectedVariant.options.map((item) => {\n criteria.push({\n optionId: item.option.id === e.option.id ? e.option.id : item.option.id,\n valueId: item.option.id === e.option.id ? e.value.id : item.value.id,\n });\n });\n // const criteria = [\n // { optionId: '249008855294545920', valueId: '249008855298740224' }, // color: red\n // { optionId: '248661715955355648', valueId: '249001130061860865' }, // size: 256GB\n // ];\n // Function to check if a variant matches all the criteria\n const matchesAllCriteria = (variant, criteria) => {\n return _.every(criteria, (criterion) => {\n return _.some(variant.options, (o) => o.option.id === criterion.optionId && o.value.id === criterion.valueId);\n });\n };\n // Function to update the criteria based on a matching variant\n const updateCriteriaFromVariant = (variant) => {\n return _.map(variant.options, (o) => ({\n optionId: o.option.id,\n valueId: o.value.id,\n }));\n };\n // Find the variant that matches all the criteria\n const matchingVariant = _.find(this.variants, (variant) => matchesAllCriteria(variant, criteria));\n this.selectedVariant = matchingVariant;\n // const updatedCriteria = matchingVariant ? updateCriteriaFromVariant(matchingVariant) : [];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductDetailsComponent, isStandalone: true, selector: \"rolatech-product-details\", usesInheritance: true, ngImport: i0, template: \"@if (product) {\\n <rolatech-container>\\n <div class=\\\"flex flex-col md:flex-row w-full\\\">\\n <div class=\\\"md:w-1/2 md:p-3 py-3\\\">\\n <rolatech-product-media [media]=\\\"product.media\\\"></rolatech-product-media>\\n </div>\\n <div class=\\\"md:w-1/2 md:p-3 py-3\\\">\\n <rolatech-product-info [name]=\\\"product.name\\\" [description]=\\\"product.description\\\"> </rolatech-product-info>\\n @for (option of product.options; track $index) {\\n <rolatech-product-option\\n [option]=\\\"option\\\"\\n [value]=\\\"selectedVariant | selected: option\\\"\\n (optionChange)=\\\"onOptionChange($event)\\\"\\n ></rolatech-product-option>\\n }\\n <rolatech-product-pricing\\n (wish)=\\\"onWish($event)\\\"\\n [inWishList]=\\\"inWishList\\\"\\n [product]=\\\"product\\\"\\n [price]=\\\"selectedVariant ? selectedVariant.price : product.price\\\"\\n ></rolatech-product-pricing>\\n <rolatech-product-action\\n [product]=\\\"product\\\"\\n (checkout)=\\\"checkout($event)\\\"\\n (deposit)=\\\"checkout($event)\\\"\\n (cart)=\\\"onCart($event)\\\"\\n ></rolatech-product-action>\\n </div>\\n </div>\\n <div class=\\\"py-3\\\">\\n <mat-divider></mat-divider>\\n <rolatech-product-owner-renderer\\n [name]=\\\"fullname\\\"\\n [avatar]=\\\"user?.avatar\\\"\\n [username]=\\\"username\\\"\\n ></rolatech-product-owner-renderer>\\n <mat-divider></mat-divider>\\n </div>\\n <div class=\\\"flex flex-col\\\">\\n @for (section of product.sections; track $index) {\\n <rolatech-product-section [section]=\\\"section\\\" [reverse]=\\\"$index % 2 !== 0\\\"></rolatech-product-section>\\n }\\n\\n <rolatech-comments [itemId]=\\\"product.id\\\"></rolatech-comments>\\n </div>\\n </rolatech-container>\\n}\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i1.MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }, { kind: \"component\", type: ContainerComponent, selector: \"rolatech-container\" }, { kind: \"component\", type: ProductInfoComponent, selector: \"rolatech-product-info\", inputs: [\"name\", \"description\"] }, { kind: \"component\", type: ProductMediaComponent, selector: \"rolatech-product-media\", inputs: [\"media\", \"min\"] }, { kind: \"component\", type: ProductPricingComponent, selector: \"rolatech-product-pricing\", inputs: [\"product\", \"price\", \"inWishList\"], outputs: [\"wish\"] }, { kind: \"component\", type: ProductSectionComponent, selector: \"rolatech-product-section\", inputs: [\"section\", \"user\", \"username\", \"row\", \"reverse\"] }, { kind: \"component\", type: ProductActionComponent, selector: \"rolatech-product-action\", inputs: [\"product\"], outputs: [\"cart\", \"checkout\", \"deposit\"] }, { kind: \"component\", type: CommentsComponent, selector: \"rolatech-comments\", inputs: [\"itemId\"] }, { kind: \"component\", type: ProductOptionComponent, selector: \"rolatech-product-option\", inputs: [\"option\", \"selected\", \"value\"], outputs: [\"optionChange\", \"selectedChange\", \"valueChange\"] }, { kind: \"component\", type: ProductOwnerRendererComponent, selector: \"rolatech-product-owner-renderer\", inputs: [\"name\", \"avatar\", \"username\"] }, { kind: \"pipe\", type: SelectedPipe, name: \"selected\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductDetailsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-details', imports: [\n AngularCommonModule,\n AngularComponentsModule,\n ContainerComponent,\n ProductInfoComponent,\n ProductMediaComponent,\n ProductPricingComponent,\n ProductSectionComponent,\n ProductActionComponent,\n CommentsComponent,\n ProductOptionComponent,\n ProductOwnerRendererComponent,\n SelectedPipe,\n ], template: \"@if (product) {\\n <rolatech-container>\\n <div class=\\\"flex flex-col md:flex-row w-full\\\">\\n <div class=\\\"md:w-1/2 md:p-3 py-3\\\">\\n <rolatech-product-media [media]=\\\"product.media\\\"></rolatech-product-media>\\n </div>\\n <div class=\\\"md:w-1/2 md:p-3 py-3\\\">\\n <rolatech-product-info [name]=\\\"product.name\\\" [description]=\\\"product.description\\\"> </rolatech-product-info>\\n @for (option of product.options; track $index) {\\n <rolatech-product-option\\n [option]=\\\"option\\\"\\n [value]=\\\"selectedVariant | selected: option\\\"\\n (optionChange)=\\\"onOptionChange($event)\\\"\\n ></rolatech-product-option>\\n }\\n <rolatech-product-pricing\\n (wish)=\\\"onWish($event)\\\"\\n [inWishList]=\\\"inWishList\\\"\\n [product]=\\\"product\\\"\\n [price]=\\\"selectedVariant ? selectedVariant.price : product.price\\\"\\n ></rolatech-product-pricing>\\n <rolatech-product-action\\n [product]=\\\"product\\\"\\n (checkout)=\\\"checkout($event)\\\"\\n (deposit)=\\\"checkout($event)\\\"\\n (cart)=\\\"onCart($event)\\\"\\n ></rolatech-product-action>\\n </div>\\n </div>\\n <div class=\\\"py-3\\\">\\n <mat-divider></mat-divider>\\n <rolatech-product-owner-renderer\\n [name]=\\\"fullname\\\"\\n [avatar]=\\\"user?.avatar\\\"\\n [username]=\\\"username\\\"\\n ></rolatech-product-owner-renderer>\\n <mat-divider></mat-divider>\\n </div>\\n <div class=\\\"flex flex-col\\\">\\n @for (section of product.sections; track $index) {\\n <rolatech-product-section [section]=\\\"section\\\" [reverse]=\\\"$index % 2 !== 0\\\"></rolatech-product-section>\\n }\\n\\n <rolatech-comments [itemId]=\\\"product.id\\\"></rolatech-comments>\\n </div>\\n </rolatech-container>\\n}\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL3BhZ2VzL3Byb2R1Y3QvcHJvZHVjdC1kZXRhaWxzL3Byb2R1Y3QtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QtZGV0YWlscy9wcm9kdWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix1QkFBdUIsR0FDeEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQzVILE9B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d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0QixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsNkJBQTZCO3dCQUM3QixZQUFZO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIE9uSW5pdCwgc2lnbmFsLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFByb2R1Y3RBY3Rpb25Db21wb25lbnQsXG4gIFByb2R1Y3RJbmZvQ29tcG9uZW50LFxuICBQcm9kdWN0TWVkaWFDb21wb25lbnQsXG4gIFByb2R1Y3RPcHRpb25Db21wb25lbnQsXG4gIFByb2R1Y3RQcmljaW5nQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBCYXNlQ29tcG9uZW50LCBDb250YWluZXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQ29tbWVudHNDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tZW50JztcbmltcG9ydCB7IFByb2R1Y3QsIFByb2R1Y3RPcHRpb24sIFByb2R1Y3RWYXJpYW50LCBQcm9kdWN0VmFyaWFudE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEF1dGhVc2VyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuaW1wb3J0IHsgUHJvZHVjdFNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL3Byb2R1Y3Qtc2VjdGlvbi9wcm9kdWN0LXNlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdGVkUGlwZSB9IGZyb20gJy4vc2VsZWN0ZWQucGlwZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUHJvZHVjdE93bmVyUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL3Byb2R1Y3Qtb3duZXItcmVuZGVyZXIvcHJvZHVjdC1vd25lci1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FydEV2ZW50VHlwZSwgQ2FydFNlcnZpY2UsIFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LWRldGFpbHMnLFxuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckNvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgICBDb250YWluZXJDb21wb25lbnQsXG4gICAgUHJvZHVjdEluZm9Db21wb25lbnQsXG4gICAgUHJvZHVjdE1lZGlhQ29tcG9uZW50LFxuICAgIFByb2R1Y3RQcmljaW5nQ29tcG9uZW50LFxuICAgIFByb2R1Y3RTZWN0aW9uQ29tcG9uZW50LFxuICAgIFByb2R1Y3RBY3Rpb25Db21wb25lbnQsXG4gICAgQ29tbWVudHNDb21wb25lbnQsXG4gICAgUHJvZHVjdE9wdGlvbkNvbXBvbmVudCxcbiAgICBQcm9kdWN0T3duZXJSZW5kZXJlckNvbXBvbmVudCxcbiAgICBTZWxlY3RlZFBpcGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdERldGFpbHNDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBhdXRoVXNlclNlcnZpY2UgPSBpbmplY3QoQXV0aFVzZXJTZXJ2aWNlKTtcbiAgcHJvZHVjdFNlcnZpY2UgPSBpbmplY3QoUHJvZHVjdFNlcnZpY2UpO1xuICBjYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSk7XG4gIGF1dGhlbnRpY2F0ZWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhlbnRpY2F0ZWQ7XG4gIHByb2R1Y3QhOiBQcm9kdWN0O1xuICBmdWxsbmFtZSA9ICcnO1xuICB1c2VybmFtZSA9ICcnO1xuICB1c2VyOiBhbnk7XG4gIGluV2lzaExpc3QgPSBmYWxzZTtcbiAgcHVyY2hhc2VkID0gZmFsc2U7XG4gIHNlbGVjdGVkT3B0aW9uITogUHJvZHVjdE9wdGlvbjtcbiAgdmFyaWFudHM6IFByb2R1Y3RWYXJpYW50W10gPSBbXTtcbiAgc2VsZWN0ZWRWYXJpYW50ITogUHJvZHVjdFZhcmlhbnQ7XG4gIHZhcmlhbnRPcHRpb24gPSBzaWduYWw8UHJvZHVjdFZhcmlhbnRPcHRpb24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHZhcmlhbnRPcHRpb25DaGFuZ2VkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnZhcmlhbnRPcHRpb24oKTtcbiAgfSk7XG4gIC8vIHJlc3VsdHM6IGFueVtdID0gW107XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmF1dGhlbnRpY2F0ZWQoKSkge1xuICAgICAgICB0aGlzLmZpbmRXaXNobGlzdEJ5KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRQcm9kdWN0KCk7XG4gIH1cbiAgZ2V0UHJvZHVjdCgpIHtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmdldCh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucHJvZHVjdCA9IHJlcy5kYXRhO1xuICAgICAgICBpZiAodGhpcy5wcm9kdWN0LnZhcmlhbnRzKSB7XG4gICAgICAgICAgdGhpcy52YXJpYW50cyA9IHRoaXMucHJvZHVjdC52YXJpYW50cztcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFyaWFudCA9IHRoaXMudmFyaWFudHNbMF07XG4gICAgICAgICAgLy8gdGhpcy5zZWxlY3RlZFZhcmlhbnQub3B0aW9ucy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgLy8gICB0aGlzLnJlc3VsdHMucHVzaChbaXRlbS5vcHRpb24uaWQsIGl0ZW0udmFsdWUuaWRdKTtcbiAgICAgICAgICAvLyB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmluZFVzZXJCYXNlSW5mbyh0aGlzLnByb2R1Y3QudXNlcklkKTtcbiAgICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoYCR7dGhpcy5wcm9kdWN0Lm5hbWV9YCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHByaXZhdGUgZmluZFZhcmlhbnQob3B0aW9uSWQ6IHN0cmluZywgdmFsdWVJZDogc3RyaW5nKTogUHJvZHVjdFZhcmlhbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnZhcmlhbnRzLmZpbmQoKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGV4aXN0ID0gaXRlbS5vcHRpb25zLnNvbWUoKGk6IFByb2R1Y3RWYXJpYW50T3B0aW9uKSA9PiBpLm9wdGlvbi5pZCA9PT0gb3B0aW9uSWQgJiYgaS52YWx1ZS5pZCA9PT0gdmFsdWVJZCk7XG4gICAgICBpZiAoZXhpc3QpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcbiAgfVxuICBmaW5kVXNlckJhc2VJbmZvKHVzZXJJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5hdXRoVXNlclNlcnZpY2UuZ2V0UHVibGljVXNlckluZm8odXNlcklkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmZ1bGxuYW1lID0gcmVzLm5hbWU7XG4gICAgICAgIHRoaXMudXNlcm5hbWUgPSByZXMudXNlcm5hbWU7XG4gICAgICAgIHRoaXMudXNlciA9IHJlcztcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBmaW5kV2lzaGxpc3RCeSgpIHtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmZpbmRXaXNobGlzdEJ5KHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5pbldpc2hMaXN0ID0gcmVzLmRhdGE7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uV2lzaChlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5hdXRoZW50aWNhdGVkKCkpIHtcbiAgICAgIGlmICh0aGlzLmluV2lzaExpc3QpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVGcm9tV2lzaGxpc3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWRkVG9XaXNobGlzdCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCdQbGVhc2Ugc2lnbiBpbicpO1xuICAgIH1cbiAgfVxuICBvbkNhcnQoZTogYW55KSB7XG4gICAgY29uc3QgZGF0YSA9IHsgcHJvZHVjdElkOiB0aGlzLmlkLCBxdWFudGl0eTogMSB9O1xuICAgIGlmICh0aGlzLnNlbGVjdGVkVmFyaWFudCkge1xuICAgICAgZGF0YVsndmFyaWFudElkJ10gPSB0aGlzLnNlbGVjdGVkVmFyaWFudC5pZDtcbiAgICB9XG4gICAgdGhpcy5jYXJ0U2VydmljZS5jcmVhdGUoZGF0YSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5jYXJ0RXZlbnQuZW1pdChDYXJ0RXZlbnRUeXBlLkNhcnRBZGQpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIHJlbW92ZUZyb21XaXNobGlzdCgpIHtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLnJlbW92ZUZyb21XaXNobGlzdCh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmluV2lzaExpc3QgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBhZGRUb1dpc2hsaXN0KCkge1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuYWRkVG9XaXNobGlzdCh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmluV2lzaExpc3QgPSB0cnVlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBjaGVja291dChlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5hdXRoZW50aWNhdGVkKCkpIHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFyaWFudCkge1xuICAgICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvY2hlY2tvdXQvcHJvZHVjdHMvJHt0aGlzLmlkfT92YXJpYW50LWlkPSR7dGhpcy5zZWxlY3RlZFZhcmlhbnQuaWR9YCk7XG4gICAgICAgIC8vIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2NoZWNrb3V0L3Byb2R1Y3RzLyR7dGhpcy5pZH1gXSwgeyBxdWVyeVBhcmFtczogeyB2YXJpYW50OiB0aGlzLnNlbGVjdGVkVmFyaWFudC5pZCB9IH0pO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9jaGVja291dC9wcm9kdWN0cy8ke3RoaXMuaWR9L3ZhcmlhbnRzLyR7dGhpcy5zZWxlY3RlZFZhcmlhbnQuaWR9YF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL2NoZWNrb3V0L3Byb2R1Y3RzLyR7dGhpcy5pZH1gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbignUGxlYXNlIHNpZ24gaW4nKTtcbiAgICB9XG4gIH1cblxuICBvbk9wdGlvbkNoYW5nZShlKSB7XG4gICAgY29uc3QgY3JpdGVyaWE6IGFueSA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRWYXJpYW50Lm9wdGlvbnMubWFwKChpdGVtKSA9PiB7XG4gICAgICBjcml0ZXJpYS5wdXNoKHtcbiAgICAgICAgb3B0aW9uSWQ6IGl0ZW0ub3B0aW9uLmlkID09PSBlLm9wdGlvbi5pZCA/IGUub3B0aW9uLmlkIDogaXRlbS5vcHRpb24uaWQsXG4gICAgICAgIHZhbHVlSWQ6IGl0ZW0ub3B0aW9uLmlkID09PSBlLm9wdGlvbi5pZCA/IGUudmFsdWUuaWQgOiBpdGVtLnZhbHVlLmlkLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvLyBjb25zdCBjcml0ZXJpYSA9IFtcbiAgICAvLyAgIHsgb3B0aW9uSWQ6ICcyNDkwMDg4NTUyOTQ1NDU5MjAnLCB2YWx1ZUlkOiAnMjQ5MDA4ODU1Mjk4NzQwMjI0JyB9LCAvLyBjb2xvcjogcmVkXG4gICAgLy8gICB7IG9wdGlvbklkOiAnMjQ4NjYxNzE1OTU1MzU1NjQ4JywgdmFsdWVJZDogJzI0OTAwMTEzMDA2MTg2MDg2NScgfSwgLy8gc2l6ZTogMjU2R0JcbiAgICAvLyBdO1xuXG4gICAgLy8gRnVuY3Rpb24gdG8gY2hlY2sgaWYgYSB2YXJpYW50IG1hdGNoZXMgYWxsIHRoZSBjcml0ZXJpYVxuICAgIGNvbnN0IG1hdGNoZXNBbGxDcml0ZXJpYSA9ICh2YXJpYW50LCBjcml0ZXJpYSkgPT4ge1xuICAgICAgcmV0dXJuIF8uZXZlcnkoY3JpdGVyaWEsIChjcml0ZXJpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIF8uc29tZSh2YXJpYW50Lm9wdGlvbnMsIChvKSA9PiBvLm9wdGlvbi5pZCA9PT0gY3JpdGVyaW9uLm9wdGlvbklkICYmIG8udmFsdWUuaWQgPT09IGNyaXRlcmlvbi52YWx1ZUlkKTtcbiAgICAgIH0pO1xuICAgIH07XG4gICAgLy8gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBjcml0ZXJpYSBiYXNlZCBvbiBhIG1hdGNoaW5nIHZhcmlhbnRcbiAgICBjb25zdCB1cGRhdGVDcml0ZXJpYUZyb21WYXJpYW50ID0gKHZhcmlhbnQpID0+IHtcbiAgICAgIHJldHVybiBfLm1hcCh2YXJpYW50Lm9wdGlvbnMsIChvKSA9PiAoe1xuICAgICAgICBvcHRpb25JZDogby5vcHRpb24uaWQsXG4gICAgICAgIHZhbHVlSWQ6IG8udmFsdWUuaWQsXG4gICAgICB9KSk7XG4gICAgfTtcblxuICAgIC8vIEZpbmQgdGhlIHZhcmlhbnQgdGhhdCBtYXRjaGVzIGFsbCB0aGUgY3JpdGVyaWFcbiAgICBjb25zdCBtYXRjaGluZ1ZhcmlhbnQgPSBfLmZpbmQodGhpcy52YXJpYW50cywgKHZhcmlhbnQpID0+IG1hdGNoZXNBbGxDcml0ZXJpYSh2YXJpYW50LCBjcml0ZXJpYSkpO1xuICAgIHRoaXMuc2VsZWN0ZWRWYXJpYW50ID0gbWF0Y2hpbmdWYXJpYW50ITtcbiAgICAvLyBjb25zdCB1cGRhdGVkQ3JpdGVyaWEgPSBtYXRjaGluZ1ZhcmlhbnQgPyB1cGRhdGVDcml0ZXJpYUZyb21WYXJpYW50KG1hdGNoaW5nVmFyaWFudCkgOiBbXTtcbiAgfVxufVxuIiwiQGlmIChwcm9kdWN0KSB7XG4gIDxyb2xhdGVjaC1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgdy1mdWxsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWQ6dy0xLzIgbWQ6cC0zIHB5LTNcIj5cbiAgICAgICAgPHJvbGF0ZWNoLXByb2R1Y3QtbWVkaWEgW21lZGlhXT1cInByb2R1Y3QubWVkaWFcIj48L3JvbGF0ZWNoLXByb2R1Y3QtbWVkaWE+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtZDp3LTEvMiBtZDpwLTMgcHktM1wiPlxuICAgICAgICA8cm9sYXRlY2gtcHJvZHVjdC1pbmZvIFtuYW1lXT1cInByb2R1Y3QubmFtZVwiIFtkZXNjcmlwdGlvbl09XCJwcm9kdWN0LmRlc2NyaXB0aW9uXCI+IDwvcm9sYXRlY2gtcHJvZHVjdC1pbmZvPlxuICAgICAgICBAZm9yIChvcHRpb24gb2YgcHJvZHVjdC5vcHRpb25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8cm9sYXRlY2gtcHJvZHVjdC1vcHRpb25cbiAgICAgICAgICAgIFtvcHRpb25dPVwib3B0aW9uXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZFZhcmlhbnQgfCBzZWxlY3RlZDogb3B0aW9uXCJcbiAgICAgICAgICAgIChvcHRpb25DaGFuZ2UpPVwib25PcHRpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvcm9sYXRlY2gtcHJvZHVjdC1vcHRpb24+XG4gICAgICAgIH1cbiAgICAgICAgPHJvbGF0ZWNoLXByb2R1Y3QtcHJpY2luZ1xuICAgICAgICAgICh3aXNoKT1cIm9uV2lzaCgkZXZlbnQpXCJcbiAgICAgICAgICBbaW5XaXNoTGlzdF09XCJpbldpc2hMaXN0XCJcbiAgICAgICAgICBbcHJvZHVjdF09XCJwcm9kdWN0XCJcbiAgICAgICAgICBbcHJpY2VdPVwic2VsZWN0ZWRWYXJpYW50ID8gc2VsZWN0ZWRWYXJpYW50LnByaWNlIDogcHJvZHVjdC5wcmljZVwiXG4gICAgICAgID48L3JvbGF0ZWNoLXByb2R1Y3QtcHJpY2luZz5cbiAgICAgICAgPHJvbGF0ZWNoLXByb2R1Y3QtYWN0aW9uXG4gICAgICAgICAgW3Byb2R1Y3RdPVwicHJvZHVjdFwiXG4gICAgICAgICAgKGNoZWNrb3V0KT1cImNoZWNrb3V0KCRldmVudClcIlxuICAgICAgICAgIChkZXBvc2l0KT1cImNoZWNrb3V0KCRldmVudClcIlxuICAgICAgICAgIChjYXJ0KT1cIm9uQ2FydCgkZXZlbnQpXCJcbiAgICAgICAgPjwvcm9sYXRlY2gtcHJvZHVjdC1hY3Rpb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicHktM1wiPlxuICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICA8cm9sYXRlY2gtcHJvZHVjdC1vd25lci1yZW5kZXJlclxuICAgICAgICBbbmFtZV09XCJmdWxsbmFtZVwiXG4gICAgICAgIFthdmF0YXJdPVwidXNlcj8uYXZhdGFyXCJcbiAgICAgICAgW3VzZXJuYW1lXT1cInVzZXJuYW1lXCJcbiAgICAgID48L3JvbGF0ZWNoLXByb2R1Y3Qtb3duZXItcmVuZGVyZXI+XG4gICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgQGZvciAoc2VjdGlvbiBvZiBwcm9kdWN0LnNlY3Rpb25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPHJvbGF0ZWNoLXByb2R1Y3Qtc2VjdGlvbiBbc2VjdGlvbl09XCJzZWN0aW9uXCIgW3JldmVyc2VdPVwiJGluZGV4ICUgMiAhPT0gMFwiPjwvcm9sYXRlY2gtcHJvZHVjdC1zZWN0aW9uPlxuICAgICAgfVxuXG4gICAgICA8cm9sYXRlY2gtY29tbWVudHMgW2l0ZW1JZF09XCJwcm9kdWN0LmlkXCI+PC9yb2xhdGVjaC1jb21tZW50cz5cbiAgICA8L2Rpdj5cbiAgPC9yb2xhdGVjaC1jb250YWluZXI+XG59XG4iXX0=","import { ProductLayoutComponent } from './product-layout/product-layout.component';\nimport { ProductCategoryComponent } from './product-category/product-category.component';\nimport { ProductDetailsComponent } from './product-details/product-details.component';\nexport const productRoutes = [\n {\n path: '',\n component: ProductLayoutComponent,\n children: [\n {\n path: '',\n loadComponent: () => import('./product-index/product-index.component').then((x) => x.ProductIndexComponent),\n },\n {\n path: 'categories/:id',\n component: ProductCategoryComponent,\n },\n ],\n },\n {\n path: ':id',\n component: ProductDetailsComponent,\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0L3Byb2R1Y3Qucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBVztJQUNuQztRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLHNCQUFzQjtRQUNqQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxJQUFJLEVBQUUsRUFBRTtnQkFDUixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUM7YUFDNUc7WUFDRDtnQkFDRSxJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixTQUFTLEVBQUUsd0JBQXdCO2FBQ3BDO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsSUFBSSxFQUFFLEtBQUs7UUFDWCxTQUFTLEVBQUUsdUJBQXVCO0tBQ25DO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQcm9kdWN0TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWxheW91dC9wcm9kdWN0LWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHVjdENhdGVnb3J5Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWNhdGVnb3J5L3Byb2R1Y3QtY2F0ZWdvcnkuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1Y3REZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWRldGFpbHMvcHJvZHVjdC1kZXRhaWxzLmNvbXBvbmVudCc7XG5leHBvcnQgY29uc3QgcHJvZHVjdFJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJycsXG4gICAgY29tcG9uZW50OiBQcm9kdWN0TGF5b3V0Q29tcG9uZW50LFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICcnLFxuICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vcHJvZHVjdC1pbmRleC9wcm9kdWN0LWluZGV4LmNvbXBvbmVudCcpLnRoZW4oKHgpID0+IHguUHJvZHVjdEluZGV4Q29tcG9uZW50KSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdjYXRlZ29yaWVzLzppZCcsXG4gICAgICAgIGNvbXBvbmVudDogUHJvZHVjdENhdGVnb3J5Q29tcG9uZW50LFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB7XG4gICAgcGF0aDogJzppZCcsXG4gICAgY29tcG9uZW50OiBQcm9kdWN0RGV0YWlsc0NvbXBvbmVudCxcbiAgfSxcbl07XG4iXX0=","export var ProductPriceType;\n(function (ProductPriceType) {\n ProductPriceType[\"FIXED\"] = \"\\u56FA\\u5B9A\\u4EF7\\u683C\";\n ProductPriceType[\"PARTIAL\"] = \"\\u652F\\u4ED8\\u5B9A\\u91D1\";\n ProductPriceType[\"VARIED\"] = \"\\u591A\\u53D8\\u7684\";\n})(ProductPriceType || (ProductPriceType = {}));\nexport var ProductStatus;\n(function (ProductStatus) {\n ProductStatus[ProductStatus[\"DRAFT\"] = '草稿'] = \"DRAFT\";\n ProductStatus[ProductStatus[\"AWAITING\"] = '审核中'] = \"AWAITING\";\n ProductStatus[ProductStatus[\"PENDING\"] = '审核中'] = \"PENDING\";\n ProductStatus[ProductStatus[\"ACCEPTED\"] = '已通过'] = \"ACCEPTED\";\n ProductStatus[ProductStatus[\"ACTIVE\"] = '已发布'] = \"ACTIVE\";\n ProductStatus[ProductStatus[\"DELETED\"] = '已删除'] = \"DELETED\";\n ProductStatus[ProductStatus[\"ARCHIVED\"] = '已下架'] = \"ARCHIVED\";\n})(ProductStatus || (ProductStatus = {}));\nexport var ProductType;\n(function (ProductType) {\n ProductType[\"DIGITAL\"] = \"\\u865A\\u62DF\\u5546\\u54C1\";\n ProductType[\"PHYSICAL\"] = \"\\u5B9E\\u4F53\\u5546\\u54C1\";\n ProductType[\"SERVICE\"] = \"\\u670D\\u52A1\";\n ProductType[\"OTHER\"] = \"\\u5176\\u4ED6\";\n})(ProductType || (ProductType = {}));\nexport var ProductInventoryStatus;\n(function (ProductInventoryStatus) {\n ProductInventoryStatus[\"IN_STOCK\"] = \"\\u6709\\u8D27\";\n ProductInventoryStatus[\"LOW_STOCK\"] = \"\\u5E93\\u5B58\\u4E0D\\u8DB3\";\n ProductInventoryStatus[\"OUT_OF_STOCK\"] = \"\\u552E\\u7F44\";\n ProductInventoryStatus[\"DISCONTINUED\"] = \"\\u5DF2\\u505C\\u4EA7\";\n})(ProductInventoryStatus || (ProductInventoryStatus = {}));\nexport var ProductScope;\n(function (ProductScope) {\n ProductScope[ProductScope[\"WEB\"] = '网站'] = \"WEB\";\n ProductScope[ProductScope[\"GLOBAL\"] = '全域'] = \"GLOBAL\";\n})(ProductScope || (ProductScope = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL2ludGVyZmFjZXMvcHJvZHVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQkEsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQixzREFBYyxDQUFBO0lBQ2Qsd0RBQWdCLENBQUE7SUFDaEIsaURBQWMsQ0FBQTtBQUNoQixDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQjtBQWlDRCxNQUFNLENBQU4sSUFBWSxhQVFYO0FBUkQsV0FBWSxhQUFhO0lBQ3ZCLHVDQUFhLElBQUksV0FBQSxDQUFBO0lBQ2pCLDBDQUFnQixLQUFLLGNBQUEsQ0FBQTtJQUNyQix5Q0FBZSxLQUFLLGFBQUEsQ0FBQTtJQUNwQiwwQ0FBZ0IsS0FBSyxjQUFBLENBQUE7SUFDckIsd0NBQWMsS0FBSyxZQUFBLENBQUE7SUFDbkIseUNBQWUsS0FBSyxhQUFBLENBQUE7SUFDcEIsMENBQWdCLEtBQUssY0FBQSxDQUFBO0FBQ3ZCLENBQUMsRUFSVyxhQUFhLEtBQWIsYUFBYSxRQVF4QjtBQUNELE1BQU0sQ0FBTixJQUFZLFdBS1g7QUFMRCxXQUFZLFdBQVc7SUFDckIsbURBQWdCLENBQUE7SUFDaEIsb0RBQWlCLENBQUE7SUFDakIsdUNBQWMsQ0FBQTtJQUNkLHFDQUFZLENBQUE7QUFDZCxDQUFDLEVBTFcsV0FBVyxLQUFYLFdBQVcsUUFLdEI7QUFDRCxNQUFNLENBQU4sSUFBWSxzQkFLWDtBQUxELFdBQVksc0JBQXNCO0lBQ2hDLG1EQUFlLENBQUE7SUFDZixnRUFBa0IsQ0FBQTtJQUNsQix1REFBbUIsQ0FBQTtJQUNuQiw2REFBb0IsQ0FBQTtBQUN0QixDQUFDLEVBTFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUtqQztBQUNELE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsbUNBQVcsSUFBSSxTQUFBLENBQUE7SUFDZixzQ0FBYyxJQUFJLFlBQUEsQ0FBQTtBQUNwQixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9kdWN0Q2F0ZWdvcnkgfSBmcm9tICcuL2NhdGVnb3J5JztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0IHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBtZWRpYTogUHJvZHVjdE1lZGlhW107XG4gIHN0YXR1czogUHJvZHVjdFN0YXR1cyB8IHN0cmluZztcbiAgdHlwZTogUHJvZHVjdFR5cGUgfCBzdHJpbmc7XG4gIHNjb3BlOiBQcm9kdWN0U2NvcGUgfCBzdHJpbmc7XG4gIGNhdGVnb3JpZXM6IFByb2R1Y3RDYXRlZ29yeVtdO1xuICB0YWdzOiBQcm9kdWN0VGFnW107XG4gIHNlY3Rpb25zOiBQcm9kdWN0U2VjdGlvbltdO1xuICBvcHRpb25zOiBQcm9kdWN0T3B0aW9uW107XG4gIHZhcmlhbnRzPzogUHJvZHVjdFZhcmlhbnRbXTtcbiAgcHJpY2U6IG51bWJlcjtcbiAgZGVwb3NpdDogbnVtYmVyO1xuICBwcmljZVR5cGU6IFByb2R1Y3RQcmljZVR5cGU7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG59XG5leHBvcnQgZW51bSBQcm9kdWN0UHJpY2VUeXBlIHtcbiAgRklYRUQgPSAn5Zu65a6a5Lu35qC8JyxcbiAgUEFSVElBTCA9ICfmlK/ku5jlrprph5EnLFxuICBWQVJJRUQgPSAn5aSa5Y+Y55qEJyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFNlY3Rpb24ge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBtZWRpYTogUHJvZHVjdE1lZGlhW107XG4gIGlzVXBsb2FkaW5nPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0VmFyaWFudCB7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHByaWNlOiBudW1iZXI7XG4gIHNrdTogc3RyaW5nO1xuICBvcHRpb25zOiBQcm9kdWN0VmFyaWFudE9wdGlvbltdO1xuICBtZWRpYTogUHJvZHVjdFZhcmlhbnRNZWRpYVtdO1xuICBpc1VwbG9hZGluZz86IGJvb2xlYW47XG4gIHN0YXR1czogUHJvZHVjdEludmVudG9yeVN0YXR1cyB8IHN0cmluZztcbiAgaW52ZW50b3J5SXRlbUlkOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RWYXJpYW50TWVkaWEge1xuICB1cmw6IHN0cmluZztcbiAgYWx0OiBzdHJpbmc7XG4gIHVwbG9hZGluZz86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RWYXJpYW50T3B0aW9uIHtcbiAgb3B0aW9uOiBQcm9kdWN0T3B0aW9uO1xuICB2YWx1ZTogUHJvZHVjdE9wdGlvblZhbHVlO1xufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0VGFnIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xufVxuZXhwb3J0IGVudW0gUHJvZHVjdFN0YXR1cyB7XG4gIERSQUZUID0gPGFueT4n6I2J56i/JyxcbiAgQVdBSVRJTkcgPSA8YW55PiflrqHmoLjkuK0nLFxuICBQRU5ESU5HID0gPGFueT4n5a6h5qC45LitJyxcbiAgQUNDRVBURUQgPSA8YW55Piflt7LpgJrov4cnLFxuICBBQ1RJVkUgPSA8YW55Piflt7Llj5HluIMnLFxuICBERUxFVEVEID0gPGFueT4n5bey5Yig6ZmkJyxcbiAgQVJDSElWRUQgPSA8YW55Piflt7LkuIvmnrYnLFxufVxuZXhwb3J0IGVudW0gUHJvZHVjdFR5cGUge1xuICBESUdJVEFMID0gJ+iZmuaLn+WVhuWTgScsXG4gIFBIWVNJQ0FMID0gJ+WunuS9k+WVhuWTgScsXG4gIFNFUlZJQ0UgPSAn5pyN5YqhJyxcbiAgT1RIRVIgPSAn5YW25LuWJyxcbn1cbmV4cG9ydCBlbnVtIFByb2R1Y3RJbnZlbnRvcnlTdGF0dXMge1xuICBJTl9TVE9DSyA9ICfmnInotKcnLFxuICBMT1dfU1RPQ0sgPSAn5bqT5a2Y5LiN6LazJyxcbiAgT1VUX09GX1NUT0NLID0gJ+WUrue9hCcsXG4gIERJU0NPTlRJTlVFRCA9ICflt7LlgZzkuqcnLFxufVxuZXhwb3J0IGVudW0gUHJvZHVjdFNjb3BlIHtcbiAgV0VCID0gPGFueT4n572R56uZJyxcbiAgR0xPQkFMID0gPGFueT4n5YWo5Z+fJyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdE1lZGlhIHtcbiAgaWQ6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG4gIGFsdDogc3RyaW5nO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgdXVpZDogc3RyaW5nO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0VGFnIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RPcHRpb24ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlczogUHJvZHVjdE9wdGlvblZhbHVlW107XG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RPcHRpb25WYWx1ZSB7XG4gIGlkPzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59XG4iXX0=","import { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, RouterLink, RouterLinkActive, RouterOutlet } from '@angular/router';\nimport { ProductStatus } from '../../../interfaces/product';\nimport { ProductService } from '@rolatech/angular-services';\nimport { MatButtonModule } from '@angular/material/button';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class ProductManageLayoutComponent {\n constructor() {\n this.submitted = false;\n this.accepted = false;\n this.isDraft = false;\n this.route = inject(ActivatedRoute);\n this.productService = inject(ProductService);\n this.dialog = inject(MatDialog);\n this.snackBar = inject(MatSnackBar);\n this.id = this.route.snapshot.paramMap.get('id');\n }\n ngOnInit() {\n this.get();\n }\n get() {\n this.productService.get(this.id).subscribe({\n next: (res) => {\n this.product = res.data;\n },\n });\n }\n updateStatus() {\n this.isDraft = this.product.status.toString() === 'DRAFT' || this.product.status.toString() === 'PENDING';\n this.accepted = this.product.status.toString() === 'ACCEPTED';\n }\n publish() {\n this.productService.publish(this.id).subscribe({\n next: (res) => {\n this.snackBar.open('发布成功');\n this.product.status = ProductStatus['已发布'];\n this.updateStatus();\n },\n error: (error) => {\n this.snackBar.open(error.message);\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductManageLayoutComponent, isStandalone: true, selector: \"rolatech-product-manage-layout\", ngImport: i0, template: \"<div class=\\\"flex flex-col md:flex-row m-auto\\\">\\n <div\\n class=\\\"min-w-[256px] px-3 md:px-0 flex flex-row md:flex-col md:h-full items-center md:items-start h-16 overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\\\"\\n >\\n <div class=\\\"flex flex-row md:flex-col md:w-full\\\">\\n <div class=\\\"hidden md:flex text-xl font-bold h-14 items-center px-2\\\">\\u5546\\u54C1\\u4FE1\\u606F</div>\\n <a routerLink=\\\"./info\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u57FA\\u672C\\u4FE1\\u606F</a>\\n <a routerLink=\\\"./media\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u56FE\\u7247</a>\\n <a routerLink=\\\"./sections\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u8BE6\\u60C5</a>\\n <a routerLink=\\\"./tags\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u6807\\u7B7E</a>\\n <a routerLink=\\\"./options\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u9009\\u9879</a>\\n </div>\\n <div class=\\\"flex flex-row md:flex-col md:w-full\\\">\\n <div class=\\\"hidden md:flex text-xl font-bold h-14 items-center px-2\\\">\\u5546\\u54C1\\u8BBE\\u7F6E</div>\\n <a routerLink=\\\"./variants\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u4EF7\\u683C\\u7B56\\u7565</a>\\n <a routerLink=\\\"./inventory\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u5E93\\u5B58\\u8BBE\\u7F6E</a>\\n <a routerLink=\\\"./schedule\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u53D1\\u5E03\\u8BBE\\u7F6E</a>\\n </div>\\n <div class=\\\"flex flex-row md:flex-col md:w-full\\\">\\n <div class=\\\"hidden md:flex text-xl font-bold h-14 items-center px-2\\\">\\u5176\\u4ED6\\u4FE1\\u606F</div>\\n <a routerLink=\\\"./pricing\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u4EF7\\u683C</a>\\n </div>\\n\\n @if (isDraft) {\\n <div class=\\\"md:mt-6 md:ml-2\\\">\\n <button mat-flat-button (click)=\\\"publish()\\\">\\u53D1\\u5E03\\u5546\\u54C1</button>\\n </div>\\n }\\n </div>\\n <div class=\\\"w-full\\\">\\n <router-outlet></router-outlet>\\n </div>\\n</div>\\n\", styles: [\".manage-active{background-color:var(--rt-10-percent-layer, rgba(0, 0, 0, .05));box-shadow:4px 0 var(--rt-base-background-inverse, #000) inset;font-weight:600}@media (max-width: 768px){.manage-active{box-shadow:inset 0 -4px 0 0 var(--rt-base-background-inverse, #000)}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\\n\"], dependencies: [{ kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: RouterLinkActive, selector: \"[routerLinkActive]\", inputs: [\"routerLinkActiveOptions\", \"ariaCurrentWhenActive\", \"routerLinkActive\"], outputs: [\"isActiveChange\"], exportAs: [\"routerLinkActive\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.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: \"directive\", type: RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageLayoutComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-layout', imports: [RouterLink, RouterLinkActive, MatButtonModule, RouterOutlet], encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"flex flex-col md:flex-row m-auto\\\">\\n <div\\n class=\\\"min-w-[256px] px-3 md:px-0 flex flex-row md:flex-col md:h-full items-center md:items-start h-16 overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\\\"\\n >\\n <div class=\\\"flex flex-row md:flex-col md:w-full\\\">\\n <div class=\\\"hidden md:flex text-xl font-bold h-14 items-center px-2\\\">\\u5546\\u54C1\\u4FE1\\u606F</div>\\n <a routerLink=\\\"./info\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u57FA\\u672C\\u4FE1\\u606F</a>\\n <a routerLink=\\\"./media\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u56FE\\u7247</a>\\n <a routerLink=\\\"./sections\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u8BE6\\u60C5</a>\\n <a routerLink=\\\"./tags\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u6807\\u7B7E</a>\\n <a routerLink=\\\"./options\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u9009\\u9879</a>\\n </div>\\n <div class=\\\"flex flex-row md:flex-col md:w-full\\\">\\n <div class=\\\"hidden md:flex text-xl font-bold h-14 items-center px-2\\\">\\u5546\\u54C1\\u8BBE\\u7F6E</div>\\n <a routerLink=\\\"./variants\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u4EF7\\u683C\\u7B56\\u7565</a>\\n <a routerLink=\\\"./inventory\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u5E93\\u5B58\\u8BBE\\u7F6E</a>\\n <a routerLink=\\\"./schedule\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u53D1\\u5E03\\u8BBE\\u7F6E</a>\\n </div>\\n <div class=\\\"flex flex-row md:flex-col md:w-full\\\">\\n <div class=\\\"hidden md:flex text-xl font-bold h-14 items-center px-2\\\">\\u5176\\u4ED6\\u4FE1\\u606F</div>\\n <a routerLink=\\\"./pricing\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u4EF7\\u683C</a>\\n </div>\\n\\n @if (isDraft) {\\n <div class=\\\"md:mt-6 md:ml-2\\\">\\n <button mat-flat-button (click)=\\\"publish()\\\">\\u53D1\\u5E03\\u5546\\u54C1</button>\\n </div>\\n }\\n </div>\\n <div class=\\\"w-full\\\">\\n <router-outlet></router-outlet>\\n </div>\\n</div>\\n\", styles: [\".manage-active{background-color:var(--rt-10-percent-layer, rgba(0, 0, 0, .05));box-shadow:4px 0 var(--rt-base-background-inverse, #000) inset;font-weight:600}@media (max-width: 768px){.manage-active{box-shadow:inset 0 -4px 0 0 var(--rt-base-background-inverse, #000)}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL3BhZ2VzL3Byb2R1Y3QtbWFuYWdlL3Byb2R1Y3QtbWFuYWdlLWxheW91dC9wcm9kdWN0LW1hbmFnZS1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtbGF5b3V0L3Byb2R1Y3QtbWFuYWdlLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdGLE9BQU8sRUFBVyxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFTM0QsTUFBTSxPQUFPLDRCQUE0QjtJQVV2QztRQVBBLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFVBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0IsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTdCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQVcsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFDRCxHQUFHO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN6QyxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQzFCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLFNBQVMsQ0FBQztRQUMxRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLFVBQVUsQ0FBQztJQUNoRSxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0MsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxLQUFtQyxDQUFDLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXRDVSw0QkFBNEI7a0dBQTVCLDRCQUE0QiwwRkNmekMseThEQWlDQSxxYkR2QlksVUFBVSxvT0FBRSxnQkFBZ0IsNk1BQUUsZUFBZSxvWEFBRSxZQUFZOzsyRkFLMUQsNEJBQTRCO2tCQVB4QyxTQUFTOytCQUNFLGdDQUFnQyxXQUNqQyxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDLGlCQUd2RCxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZSwgUm91dGVyT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFByb2R1Y3QsIFByb2R1Y3RTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL3Byb2R1Y3QnO1xuaW1wb3J0IHsgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1sYXlvdXQnLFxuICBpbXBvcnRzOiBbUm91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZSwgTWF0QnV0dG9uTW9kdWxlLCBSb3V0ZXJPdXRsZXRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLWxheW91dC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNYW5hZ2VMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpZDogc3RyaW5nO1xuICBwcm9kdWN0ITogUHJvZHVjdDtcbiAgc3VibWl0dGVkID0gZmFsc2U7XG4gIGFjY2VwdGVkID0gZmFsc2U7XG4gIGlzRHJhZnQgPSBmYWxzZTtcbiAgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcm9kdWN0U2VydmljZSA9IGluamVjdChQcm9kdWN0U2VydmljZSk7XG4gIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuICBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKSBhcyBzdHJpbmc7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuICBnZXQoKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5nZXQodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2R1Y3QgPSByZXMuZGF0YTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgdXBkYXRlU3RhdHVzKCkge1xuICAgIHRoaXMuaXNEcmFmdCA9IHRoaXMucHJvZHVjdC5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ0RSQUZUJyB8fCB0aGlzLnByb2R1Y3Quc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdQRU5ESU5HJztcbiAgICB0aGlzLmFjY2VwdGVkID0gdGhpcy5wcm9kdWN0LnN0YXR1cy50b1N0cmluZygpID09PSAnQUNDRVBURUQnO1xuICB9XG4gIHB1Ymxpc2goKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5wdWJsaXNoKHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXIub3Blbign5Y+R5biD5oiQ5YqfJyk7XG4gICAgICAgIHRoaXMucHJvZHVjdC5zdGF0dXMgPSBQcm9kdWN0U3RhdHVzWyflt7Llj5HluIMnIGFzIGtleW9mIHR5cGVvZiBQcm9kdWN0U3RhdHVzXTtcbiAgICAgICAgdGhpcy51cGRhdGVTdGF0dXMoKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IG0tYXV0b1wiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJtaW4tdy1bMjU2cHhdIHB4LTMgbWQ6cHgtMCBmbGV4IGZsZXgtcm93IG1kOmZsZXgtY29sIG1kOmgtZnVsbCBpdGVtcy1jZW50ZXIgbWQ6aXRlbXMtc3RhcnQgaC0xNiBvdmVyZmxvdy14LXNjcm9sbCBvdmVyZmxvdy15LWhpZGRlbiBzY3JvbGxiYXItaGlkZSB3aGl0ZXNwYWNlLXByZVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtZDpmbGV4LWNvbCBtZDp3LWZ1bGxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoaWRkZW4gbWQ6ZmxleCB0ZXh0LXhsIGZvbnQtYm9sZCBoLTE0IGl0ZW1zLWNlbnRlciBweC0yXCI+5ZWG5ZOB5L+h5oGvPC9kaXY+XG4gICAgICA8YSByb3V0ZXJMaW5rPVwiLi9pbmZvXCIgcm91dGVyTGlua0FjdGl2ZT1cIm1hbmFnZS1hY3RpdmVcIiBjbGFzcz1cInAtMlwiPuWfuuacrOS/oeaBrzwvYT5cbiAgICAgIDxhIHJvdXRlckxpbms9XCIuL21lZGlhXCIgcm91dGVyTGlua0FjdGl2ZT1cIm1hbmFnZS1hY3RpdmVcIiBjbGFzcz1cInAtMlwiPuWbvueJhzwvYT5cbiAgICAgIDxhIHJvdXRlckxpbms9XCIuL3NlY3Rpb25zXCIgcm91dGVyTGlua0FjdGl2ZT1cIm1hbmFnZS1hY3RpdmVcIiBjbGFzcz1cInAtMlwiPuivpuaDhTwvYT5cbiAgICAgIDxhIHJvdXRlckxpbms9XCIuL3RhZ3NcIiByb3V0ZXJMaW5rQWN0aXZlPVwibWFuYWdlLWFjdGl2ZVwiIGNsYXNzPVwicC0yXCI+5qCH562+PC9hPlxuICAgICAgPGEgcm91dGVyTGluaz1cIi4vb3B0aW9uc1wiIHJvdXRlckxpbmtBY3RpdmU9XCJtYW5hZ2UtYWN0aXZlXCIgY2xhc3M9XCJwLTJcIj7pgInpobk8L2E+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbWQ6ZmxleC1jb2wgbWQ6dy1mdWxsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGlkZGVuIG1kOmZsZXggdGV4dC14bCBmb250LWJvbGQgaC0xNCBpdGVtcy1jZW50ZXIgcHgtMlwiPuWVhuWTgeiuvue9rjwvZGl2PlxuICAgICAgPGEgcm91dGVyTGluaz1cIi4vdmFyaWFudHNcIiByb3V0ZXJMaW5rQWN0aXZlPVwibWFuYWdlLWFjdGl2ZVwiIGNsYXNzPVwicC0yXCI+5Lu35qC8562W55WlPC9hPlxuICAgICAgPGEgcm91dGVyTGluaz1cIi4vaW52ZW50b3J5XCIgcm91dGVyTGlua0FjdGl2ZT1cIm1hbmFnZS1hY3RpdmVcIiBjbGFzcz1cInAtMlwiPuW6k+WtmOiuvue9rjwvYT5cbiAgICAgIDxhIHJvdXRlckxpbms9XCIuL3NjaGVkdWxlXCIgcm91dGVyTGlua0FjdGl2ZT1cIm1hbmFnZS1hY3RpdmVcIiBjbGFzcz1cInAtMlwiPuWPkeW4g+iuvue9rjwvYT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtZDpmbGV4LWNvbCBtZDp3LWZ1bGxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoaWRkZW4gbWQ6ZmxleCB0ZXh0LXhsIGZvbnQtYm9sZCBoLTE0IGl0ZW1zLWNlbnRlciBweC0yXCI+5YW25LuW5L+h5oGvPC9kaXY+XG4gICAgICA8YSByb3V0ZXJMaW5rPVwiLi9wcmljaW5nXCIgcm91dGVyTGlua0FjdGl2ZT1cIm1hbmFnZS1hY3RpdmVcIiBjbGFzcz1cInAtMlwiPuS7t+agvDwvYT5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoaXNEcmFmdCkge1xuICAgICAgPGRpdiBjbGFzcz1cIm1kOm10LTYgbWQ6bWwtMlwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwicHVibGlzaCgpXCI+5Y+R5biD5ZWG5ZOBPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidy1mdWxsXCI+XG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class ProductManageContentComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.2\", type: ProductManageContentComponent, isStandalone: true, selector: \"rolatech-product-manage-content\", ngImport: i0, template: \"<ng-content select=\\\"rolatech-toolbar\\\"></ng-content>\\n<div class=\\\"p-3\\\">\\n <ng-content></ng-content>\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageContentComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-content', imports: [CommonModule], template: \"<ng-content select=\\\"rolatech-toolbar\\\"></ng-content>\\n<div class=\\\"p-3\\\">\\n <ng-content></ng-content>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0LW1hbmFnZS9wcm9kdWN0LW1hbmFnZS1jb250ZW50L3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtY29udGVudC9wcm9kdWN0LW1hbmFnZS1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVEvQyxNQUFNLE9BQU8sNkJBQTZCOzhHQUE3Qiw2QkFBNkI7a0dBQTdCLDZCQUE2QiwyRkNUMUMsbUhBSUEseUREQ1ksWUFBWTs7MkZBSVgsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNFLGlDQUFpQyxXQUNsQyxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtY29udGVudCcsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS1jb250ZW50LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnQge31cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cInJvbGF0ZWNoLXRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XG48ZGl2IGNsYXNzPVwicC0zXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19","import { Component, inject, model } from '@angular/core';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { BaseComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { ProductCategoryService, ProductService } from '@rolatech/angular-services';\nimport { ProductPriceType, ProductStatus, ProductType } from '../../../interfaces';\nimport { DecimalDirective } from '@rolatech/angular-common';\nimport { KeyValuePipe } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/form-field\";\nimport * as i3 from \"@angular/material/input\";\nimport * as i4 from \"@angular/cdk/text-field\";\nimport * as i5 from \"@angular/material/select\";\nimport * as i6 from \"@angular/material/autocomplete\";\nimport * as i7 from \"@angular/material/button\";\nexport class ProductManageInfoComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.productService = inject(ProductService);\n this.categoryService = inject(ProductCategoryService);\n this.status = ProductStatus;\n this.productType = ProductType;\n this.priceType = ProductPriceType;\n this.price = model('0.00', ...(ngDevMode ? [{ debugName: \"price\" }] : []));\n this.deposit = model('', ...(ngDevMode ? [{ debugName: \"deposit\" }] : []));\n }\n ngOnInit() {\n this.id = this.route.parent?.snapshot.paramMap.get('id');\n this.find();\n this.categoryService.find({}).subscribe({\n next: (res) => {\n this.categories = res.data;\n },\n });\n }\n find() {\n this.productService.get(this.id).subscribe({\n next: (res) => {\n this.product = res.data;\n const price = this.product.price ? (this.product.price / 100).toFixed(2) : '0.00';\n this.price.set(price);\n if (this.product.priceType?.toString() === 'PARTIAL') {\n const deposit = (this.product.deposit / 100).toFixed(2);\n this.deposit.set(deposit);\n }\n },\n });\n }\n formatPrice(value) {\n // Convert to number first in case it's a string\n this.product.price = Number(Number(value).toFixed(2));\n }\n typeCompareFn(t1, t2) {\n return t1 === t2;\n }\n priceTypeCompareFn(t1, t2) {\n return t1 === t2;\n }\n compareFn(o1, o2) {\n return o1.id === o2?.id;\n }\n onTypeChange(event) {\n // this.product.type = Object.keys(this.productType).find((key) => {\n // return this.productType[key] === event.value;\n // })!;\n this.product.type = event.value;\n }\n onCategoryChange(event) {\n this.selectedCategoyIds = event.value;\n }\n update() {\n const { name, description, type, categories, priceType } = this.product;\n const data = {\n name,\n description,\n type,\n categories,\n price: Number(this.price()) * 100,\n priceType,\n deposit: Number(this.deposit()) * 100,\n };\n this.productService.update(this.id, data).subscribe({\n next: (res) => {\n this.snackBarService.open('Success');\n },\n error: (e) => {\n this.snackBarService.open(e.message);\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageInfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductManageInfoComponent, isStandalone: true, selector: \"rolatech-product-manage-info\", inputs: { price: { classPropertyName: \"price\", publicName: \"price\", isSignal: true, isRequired: false, transformFunction: null }, deposit: { classPropertyName: \"deposit\", publicName: \"deposit\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { price: \"priceChange\", deposit: \"depositChange\" }, usesInheritance: true, ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u57FA\\u672C\\u4FE1\\u606F\\\" class=\\\"hidden md:block\\\" divider></rolatech-toolbar>\\n @if (product) {\\n <div class=\\\"flex flex-col\\\">\\n <form #productForm=\\\"ngForm\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Title </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"product.name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"product.description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" required>\\n <mat-label i18n>Type</mat-label>\\n <mat-select\\n name=\\\"type\\\"\\n [compareWith]=\\\"typeCompareFn\\\"\\n (selectionChange)=\\\"onTypeChange($event)\\\"\\n [(ngModel)]=\\\"product.type\\\"\\n >\\n @for (type of productType | keyvalue; track type) {\\n <mat-option [value]=\\\"type.key\\\">\\n {{ type.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" ngModelGroup=\\\"categories\\\" required>\\n <mat-label i18n>Categories</mat-label>\\n <mat-select\\n multiple\\n name=\\\"id\\\"\\n [compareWith]=\\\"compareFn\\\"\\n [(ngModel)]=\\\"product.categories\\\"\\n #select=\\\"matSelect\\\"\\n (selectionChange)=\\\"onCategoryChange($event)\\\"\\n >\\n @for (item of categories; track item) {\\n <mat-option [value]=\\\"item\\\">\\n {{ item.name }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" required>\\n <mat-label i18n>Price type</mat-label>\\n <mat-select name=\\\"priceType\\\" [compareWith]=\\\"priceTypeCompareFn\\\" [(ngModel)]=\\\"product.priceType\\\">\\n @for (type of priceType | keyvalue; track type) {\\n <mat-option [value]=\\\"type.key\\\">\\n {{ type.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Price </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"price\\\" name=\\\"price\\\" required rolatechDecimal />\\n </mat-form-field>\\n @if (product.priceType && product.priceType.toString() === 'PARTIAL') {\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Deposit </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"deposit\\\" name=\\\"deposit\\\" required rolatechDecimal />\\n </mat-form-field>\\n }\\n </form>\\n </div>\\n <div>\\n <button mat-flat-button (click)=\\\"update()\\\" i18n>Save</button>\\n </div>\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-form-field{width:100%}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i1.RequiredValidator, selector: \":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]\", inputs: [\"required\"] }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: i1.NgModelGroup, selector: \"[ngModelGroup]\", inputs: [\"ngModelGroup\"], exportAs: [\"ngModelGroup\"] }, { kind: \"directive\", type: i1.NgForm, selector: \"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]\", inputs: [\"ngFormOptions\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i2.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i2.MatLabel, selector: \"mat-label\" }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"directive\", type: i3.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"directive\", type: i4.CdkTextareaAutosize, selector: \"textarea[cdkTextareaAutosize]\", inputs: [\"cdkAutosizeMinRows\", \"cdkAutosizeMaxRows\", \"cdkTextareaAutosize\", \"placeholder\"], exportAs: [\"cdkTextareaAutosize\"] }, { kind: \"ngmodule\", type: TextFieldModule }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"component\", type: i5.MatSelect, selector: \"mat-select\", inputs: [\"aria-describedby\", \"panelClass\", \"disabled\", \"disableRipple\", \"tabIndex\", \"hideSingleSelectionIndicator\", \"placeholder\", \"required\", \"multiple\", \"disableOptionCentering\", \"compareWith\", \"value\", \"aria-label\", \"aria-labelledby\", \"errorStateMatcher\", \"typeaheadDebounceInterval\", \"sortComparator\", \"id\", \"panelWidth\", \"canSelectNullableOptions\"], outputs: [\"openedChange\", \"opened\", \"closed\", \"selectionChange\", \"valueChange\"], exportAs: [\"matSelect\"] }, { kind: \"component\", type: i6.MatOption, selector: \"mat-option\", inputs: [\"value\", \"id\", \"disabled\"], outputs: [\"onSelectionChange\"], exportAs: [\"matOption\"] }, { kind: \"ngmodule\", type: MatOptionModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i7.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: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }, { kind: \"directive\", type: DecimalDirective, selector: \"[rolatechDecimal]\" }, { kind: \"pipe\", type: KeyValuePipe, name: \"keyvalue\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageInfoComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-info', imports: [\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n ToolbarComponent,\n ProductManageContentComponent,\n DecimalDirective,\n MatSelectModule,\n KeyValuePipe,\n ], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u57FA\\u672C\\u4FE1\\u606F\\\" class=\\\"hidden md:block\\\" divider></rolatech-toolbar>\\n @if (product) {\\n <div class=\\\"flex flex-col\\\">\\n <form #productForm=\\\"ngForm\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Title </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"product.name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"product.description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" required>\\n <mat-label i18n>Type</mat-label>\\n <mat-select\\n name=\\\"type\\\"\\n [compareWith]=\\\"typeCompareFn\\\"\\n (selectionChange)=\\\"onTypeChange($event)\\\"\\n [(ngModel)]=\\\"product.type\\\"\\n >\\n @for (type of productType | keyvalue; track type) {\\n <mat-option [value]=\\\"type.key\\\">\\n {{ type.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" ngModelGroup=\\\"categories\\\" required>\\n <mat-label i18n>Categories</mat-label>\\n <mat-select\\n multiple\\n name=\\\"id\\\"\\n [compareWith]=\\\"compareFn\\\"\\n [(ngModel)]=\\\"product.categories\\\"\\n #select=\\\"matSelect\\\"\\n (selectionChange)=\\\"onCategoryChange($event)\\\"\\n >\\n @for (item of categories; track item) {\\n <mat-option [value]=\\\"item\\\">\\n {{ item.name }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" required>\\n <mat-label i18n>Price type</mat-label>\\n <mat-select name=\\\"priceType\\\" [compareWith]=\\\"priceTypeCompareFn\\\" [(ngModel)]=\\\"product.priceType\\\">\\n @for (type of priceType | keyvalue; track type) {\\n <mat-option [value]=\\\"type.key\\\">\\n {{ type.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Price </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"price\\\" name=\\\"price\\\" required rolatechDecimal />\\n </mat-form-field>\\n @if (product.priceType && product.priceType.toString() === 'PARTIAL') {\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Deposit </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"deposit\\\" name=\\\"deposit\\\" required rolatechDecimal />\\n </mat-form-field>\\n }\\n </form>\\n </div>\\n <div>\\n <button mat-flat-button (click)=\\\"update()\\\" i18n>Save</button>\\n </div>\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-form-field{width:100%}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0LW1hbmFnZS9wcm9kdWN0LW1hbmFnZS1pbmZvL3Byb2R1Y3QtbWFuYWdlLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaW5mby9wcm9kdWN0LW1hbmFnZS1pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBbUIsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRixP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LGdtQkFDZCxlQUFlLDhCQUNmLGVBQWUsK3NCQUNmLGVBQWUsOEJBQ2YsZUFBZSxvWEFDZixnQkFBZ0IsZ0lBQ2hCLDZCQUE2Qiw0RUFDN0IsZ0JBQWdCLHlEQUVoQixZQUFZOzsyRkFLSCwwQkFBMEI7a0JBbkJ0QyxTQUFTOytCQUNFLDhCQUE4QixXQUMvQjt3QkFDUCxXQUFXO3dCQUNYLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3dCQUM3QixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsWUFBWTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBtb2RlbCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQvcHJvZHVjdC1tYW5hZ2UtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RleHQtZmllbGQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlLCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUHJvZHVjdENhdGVnb3J5U2VydmljZSwgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQcm9kdWN0LCBQcm9kdWN0Q2F0ZWdvcnksIFByb2R1Y3RQcmljZVR5cGUsIFByb2R1Y3RTdGF0dXMsIFByb2R1Y3RUeXBlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBEZWNpbWFsRGlyZWN0aXZlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEtleVZhbHVlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWluZm8nLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIFRleHRGaWVsZE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIFByb2R1Y3RNYW5hZ2VDb250ZW50Q29tcG9uZW50LFxuICAgIERlY2ltYWxEaXJlY3RpdmUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIEtleVZhbHVlUGlwZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLWluZm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtaW5mby5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNYW5hZ2VJbmZvQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb2R1Y3RTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RTZXJ2aWNlKTtcbiAgY2F0ZWdvcnlTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RDYXRlZ29yeVNlcnZpY2UpO1xuICBwcm9kdWN0ITogUHJvZHVjdDtcbiAgc3RhdHVzID0gUHJvZHVjdFN0YXR1cztcbiAgY2F0ZWdvcmllcyE6IFByb2R1Y3RDYXRlZ29yeVtdO1xuICBzZWxlY3RlZENhdGVnb3lJZHMhOiBzdHJpbmdbXTtcbiAgcHJvZHVjdFR5cGUgPSBQcm9kdWN0VHlwZTtcbiAgcHJpY2VUeXBlID0gUHJvZHVjdFByaWNlVHlwZTtcbiAgcHJpY2UgPSBtb2RlbDxzdHJpbmc+KCcwLjAwJyk7XG4gIGRlcG9zaXQgPSBtb2RlbDxzdHJpbmc+KCcnKTtcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pZCA9IHRoaXMucm91dGUucGFyZW50Py5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2lkJykgYXMgc3RyaW5nO1xuICAgIHRoaXMuZmluZCgpO1xuICAgIHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLmZpbmQoe30pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5jYXRlZ29yaWVzID0gcmVzLmRhdGE7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGZpbmQoKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5nZXQodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2R1Y3QgPSByZXMuZGF0YTtcbiAgICAgICAgY29uc3QgcHJpY2UgPSB0aGlzLnByb2R1Y3QucHJpY2UgPyAodGhpcy5wcm9kdWN0LnByaWNlIC8gMTAwKS50b0ZpeGVkKDIpIDogJzAuMDAnO1xuICAgICAgICB0aGlzLnByaWNlLnNldChwcmljZSk7XG4gICAgICAgIGlmICh0aGlzLnByb2R1Y3QucHJpY2VUeXBlPy50b1N0cmluZygpID09PSAnUEFSVElBTCcpIHtcbiAgICAgICAgICBjb25zdCBkZXBvc2l0ID0gKHRoaXMucHJvZHVjdC5kZXBvc2l0IC8gMTAwKS50b0ZpeGVkKDIpO1xuICAgICAgICAgIHRoaXMuZGVwb3NpdC5zZXQoZGVwb3NpdCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZm9ybWF0UHJpY2UodmFsdWU6IG51bWJlcikge1xuICAgIC8vIENvbnZlcnQgdG8gbnVtYmVyIGZpcnN0IGluIGNhc2UgaXQncyBhIHN0cmluZ1xuICAgIHRoaXMucHJvZHVjdC5wcmljZSA9IE51bWJlcihOdW1iZXIodmFsdWUpLnRvRml4ZWQoMikpO1xuICB9XG4gIHR5cGVDb21wYXJlRm4odDE6IGFueSwgdDI6IGFueSkge1xuICAgIHJldHVybiB0MSA9PT0gdDI7XG4gIH1cbiAgcHJpY2VUeXBlQ29tcGFyZUZuKHQxOiBhbnksIHQyOiBhbnkpIHtcbiAgICByZXR1cm4gdDEgPT09IHQyO1xuICB9XG4gIGNvbXBhcmVGbihvMTogUHJvZHVjdENhdGVnb3J5LCBvMjogUHJvZHVjdENhdGVnb3J5KSB7XG4gICAgcmV0dXJuIG8xLmlkID09PSBvMj8uaWQ7XG4gIH1cbiAgb25UeXBlQ2hhbmdlKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpIHtcbiAgICAvLyB0aGlzLnByb2R1Y3QudHlwZSA9IE9iamVjdC5rZXlzKHRoaXMucHJvZHVjdFR5cGUpLmZpbmQoKGtleSkgPT4ge1xuICAgIC8vICAgcmV0dXJuIHRoaXMucHJvZHVjdFR5cGVba2V5XSA9PT0gZXZlbnQudmFsdWU7XG4gICAgLy8gfSkhO1xuICAgIHRoaXMucHJvZHVjdC50eXBlID0gZXZlbnQudmFsdWU7XG4gIH1cbiAgb25DYXRlZ29yeUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3lJZHMgPSBldmVudC52YWx1ZTtcbiAgfVxuICB1cGRhdGUoKSB7XG4gICAgY29uc3QgeyBuYW1lLCBkZXNjcmlwdGlvbiwgdHlwZSwgY2F0ZWdvcmllcywgcHJpY2VUeXBlIH0gPSB0aGlzLnByb2R1Y3Q7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIG5hbWUsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIHR5cGUsXG4gICAgICBjYXRlZ29yaWVzLFxuICAgICAgcHJpY2U6IE51bWJlcih0aGlzLnByaWNlKCkpICogMTAwLFxuICAgICAgcHJpY2VUeXBlLFxuICAgICAgZGVwb3NpdDogTnVtYmVyKHRoaXMuZGVwb3NpdCgpKSAqIDEwMCxcbiAgICB9O1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UudXBkYXRlKHRoaXMuaWQsIGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ1N1Y2Nlc3MnKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbihlLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPHJvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4gIDxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwi5Z+65pys5L+h5oGvXCIgY2xhc3M9XCJoaWRkZW4gbWQ6YmxvY2tcIiBkaXZpZGVyPjwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgQGlmIChwcm9kdWN0KSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cbiAgICAgIDxmb3JtICNwcm9kdWN0Rm9ybT1cIm5nRm9ybVwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIGkxOG4+IFRpdGxlIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwicHJvZHVjdC5uYW1lXCIgbmFtZT1cIm5hbWVcIiByZXF1aXJlZCAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIGkxOG4+IERlc2NyaXB0aW9uIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwicHJvZHVjdC5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgIGNka1RleHRhcmVhQXV0b3NpemVcbiAgICAgICAgICAgIGNka0F1dG9zaXplTWluUm93cz1cIjNcIlxuICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiByZXF1aXJlZD5cbiAgICAgICAgICA8bWF0LWxhYmVsIGkxOG4+VHlwZTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICBuYW1lPVwidHlwZVwiXG4gICAgICAgICAgICBbY29tcGFyZVdpdGhdPVwidHlwZUNvbXBhcmVGblwiXG4gICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uVHlwZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwicHJvZHVjdC50eXBlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAZm9yICh0eXBlIG9mIHByb2R1Y3RUeXBlIHwga2V5dmFsdWU7IHRyYWNrIHR5cGUpIHtcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInR5cGUua2V5XCI+XG4gICAgICAgICAgICAgICAge3sgdHlwZS52YWx1ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBuZ01vZGVsR3JvdXA9XCJjYXRlZ29yaWVzXCIgcmVxdWlyZWQ+XG4gICAgICAgICAgPG1hdC1sYWJlbCBpMThuPkNhdGVnb3JpZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgbXVsdGlwbGVcbiAgICAgICAgICAgIG5hbWU9XCJpZFwiXG4gICAgICAgICAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUZuXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwicHJvZHVjdC5jYXRlZ29yaWVzXCJcbiAgICAgICAgICAgICNzZWxlY3Q9XCJtYXRTZWxlY3RcIlxuICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNhdGVnb3J5Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgY2F0ZWdvcmllczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiByZXF1aXJlZD5cbiAgICAgICAgICA8bWF0LWxhYmVsIGkxOG4+UHJpY2UgdHlwZTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IG5hbWU9XCJwcmljZVR5cGVcIiBbY29tcGFyZVdpdGhdPVwicHJpY2VUeXBlQ29tcGFyZUZuXCIgWyhuZ01vZGVsKV09XCJwcm9kdWN0LnByaWNlVHlwZVwiPlxuICAgICAgICAgICAgQGZvciAodHlwZSBvZiBwcmljZVR5cGUgfCBrZXl2YWx1ZTsgdHJhY2sgdHlwZSkge1xuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidHlwZS5rZXlcIj5cbiAgICAgICAgICAgICAgICB7eyB0eXBlLnZhbHVlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgaTE4bj4gUHJpY2UgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJwcmljZVwiIG5hbWU9XCJwcmljZVwiIHJlcXVpcmVkIHJvbGF0ZWNoRGVjaW1hbCAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICBAaWYgKHByb2R1Y3QucHJpY2VUeXBlICYmIHByb2R1Y3QucHJpY2VUeXBlLnRvU3RyaW5nKCkgPT09ICdQQVJUSUFMJykge1xuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCBpMThuPiBEZXBvc2l0IDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJkZXBvc2l0XCIgbmFtZT1cImRlcG9zaXRcIiByZXF1aXJlZCByb2xhdGVjaERlY2ltYWwgLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICB9XG4gICAgICA8L2Zvcm0+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIChjbGljayk9XCJ1cGRhdGUoKVwiIGkxOG4+U2F2ZTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICB9XG48L3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4iXX0=","import { Component, inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute } from '@angular/router';\nimport { ToolbarComponent, ConfirmationDialogComponent } from '@rolatech/angular-components';\nimport { remove } from 'lodash';\nimport { ProductStatus, ProductType } from '../../../interfaces';\nimport { ProductService } from '@rolatech/angular-services';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport { ProductManageSectionItemComponent } from '../../../components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/icon\";\nexport class ProductManageSectionsComponent {\n constructor() {\n this.route = inject(ActivatedRoute);\n this.productService = inject(ProductService);\n this.dialog = inject(MatDialog);\n this.snackBar = inject(MatSnackBar);\n this.isLoading = false;\n this.isUploading = false;\n this.sections = [];\n this.status = ProductStatus;\n this.productType = ProductType;\n this.id = this.route.parent?.snapshot.paramMap.get('id');\n }\n ngOnInit() {\n this.find();\n }\n find() {\n this.productService.findSections(this.id).subscribe({\n next: (res) => {\n if (res.data) {\n this.sections = res.data;\n }\n },\n });\n }\n addSection() {\n if (!this.sections) {\n this.sections = [];\n }\n this.productService\n .addSection(this.id, {\n title: '',\n description: '',\n content: '',\n media: [],\n })\n .subscribe({\n next: (res) => {\n const section = res.data;\n this.sections.push({\n id: section.id,\n title: 'Untitled',\n description: '',\n media: [],\n });\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n onUploadSectionMedia(event) {\n const section = event.section;\n const sectionId = section.id;\n const file = event.data.target.files[0];\n if (file) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n if (!section.media) {\n section.media = [];\n }\n section.media.push({\n url: reader.result,\n alt: 'upload image',\n });\n section.isUploading = true;\n const formData = new FormData();\n formData.append('file', file);\n this.productService.uploadSectionMedia(sectionId, formData).subscribe({\n next: (res) => {\n this.isUploading = false;\n section.isUploading = false;\n delete res.data.productSection;\n section.media[section.media.length - 1].id = res.data.id;\n section.media[section.media.length - 1].url = res.data.url;\n },\n error: (e) => {\n this.isUploading = false;\n this.snackBar.open('Upload failed: ' + e.message);\n },\n });\n };\n reader.onerror = (error) => {\n this.isUploading = false;\n };\n }\n }\n onDeleteSectionMedia(event) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '400px',\n data: {\n title: '删除图片',\n message: `确定删除吗?`,\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n const section = event.section;\n const mediaId = event.media.id;\n remove(section.media, {\n id: mediaId,\n });\n this.productService.deleteSectionMedia(section.id, mediaId).subscribe({\n next: (res) => {\n // remove(section.media, {\n // id: mediaId,\n // });\n },\n });\n }\n });\n }\n onSectionSave(section) {\n delete section.isUploading;\n this.productService.updateSection(section.id, section).subscribe({\n next: (res) => {\n this.snackBar.open('Success');\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n onSectionDelete(section) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '400px',\n data: {\n title: '删除详情',\n message: '确定删除此详情吗?',\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.productService.deleteSection(section.id).subscribe({\n next: (res) => {\n this.snackBar.open(res.data);\n remove(this.sections, {\n id: section.id,\n });\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageSectionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductManageSectionsComponent, isStandalone: true, selector: \"rolatech-product-manage-sections\", ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Details\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div>\\n <div>\\n @for (section of sections; track section) {\\n <rolatech-product-manage-section-item\\n [section]=\\\"section\\\"\\n (upload)=\\\"onUploadSectionMedia($event)\\\"\\n (deleteMedia)=\\\"onDeleteSectionMedia($event)\\\"\\n (save)=\\\"onSectionSave($event)\\\"\\n (delete)=\\\"onSectionDelete($event)\\\"\\n [actions]=\\\"true\\\"\\n ></rolatech-product-manage-section-item>\\n }\\n </div>\\n <button mat-stroked-button (click)=\\\"addSection()\\\" class=\\\"mt-3\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Add</span>\\n </button>\\n </div>\\n</rolatech-product-manage-content>\\n\", styles: [\"\"], dependencies: [{ kind: \"component\", type: ProductManageSectionItemComponent, selector: \"rolatech-product-manage-section-item\", inputs: [\"isUploading\", \"section\", \"actions\", \"selectMedia\"], outputs: [\"upload\", \"delete\", \"save\", \"deleteMedia\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i2.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageSectionsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-sections', imports: [ProductManageSectionItemComponent, MatButtonModule, MatIconModule, ToolbarComponent, ProductManageContentComponent], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Details\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div>\\n <div>\\n @for (section of sections; track section) {\\n <rolatech-product-manage-section-item\\n [section]=\\\"section\\\"\\n (upload)=\\\"onUploadSectionMedia($event)\\\"\\n (deleteMedia)=\\\"onDeleteSectionMedia($event)\\\"\\n (save)=\\\"onSectionSave($event)\\\"\\n (delete)=\\\"onSectionDelete($event)\\\"\\n [actions]=\\\"true\\\"\\n ></rolatech-product-manage-section-item>\\n }\\n </div>\\n <button mat-stroked-button (click)=\\\"addSection()\\\" class=\\\"mt-3\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Add</span>\\n </button>\\n </div>\\n</rolatech-product-manage-content>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMvcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMvcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RixPQUFPLEVBQWEsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBa0IsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztB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O2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBdEpVLDhCQUE4QjtrR0FBOUIsOEJBQThCLDRGQ25CM0MsNndCQXFCQSwwREROWSxpQ0FBaUMsb01BQUUsZUFBZSxtWEFBRSxhQUFhLG9MQUFFLGdCQUFnQixnSUFBRSw2QkFBNkI7OzJGQUlqSCw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0Usa0NBQWtDLFdBQ25DLENBQUMsaUNBQWlDLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCwgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBmaW5kSW5kZXgsIHJlbW92ZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQcm9kdWN0U2VjdGlvbiwgUHJvZHVjdFN0YXR1cywgUHJvZHVjdFR5cGUgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdWN0LW1hbmFnZS1jb250ZW50L3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1Y3RNYW5hZ2VTZWN0aW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1zZWN0aW9ucycsXG4gIGltcG9ydHM6IFtQcm9kdWN0TWFuYWdlU2VjdGlvbkl0ZW1Db21wb25lbnQsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgVG9vbGJhckNvbXBvbmVudCwgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWFuYWdlU2VjdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByb2R1Y3RTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RTZXJ2aWNlKTtcbiAgZGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XG4gIHNuYWNrQmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcblxuICBpZDogc3RyaW5nO1xuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgc2VjdGlvbnM6IFByb2R1Y3RTZWN0aW9uW10gPSBbXTtcbiAgc3RhdHVzID0gUHJvZHVjdFN0YXR1cztcbiAgcHJvZHVjdFR5cGU6IGFueSA9IFByb2R1Y3RUeXBlO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmlkID0gdGhpcy5yb3V0ZS5wYXJlbnQ/LnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKSBhcyBzdHJpbmc7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maW5kKCk7XG4gIH1cbiAgZmluZCgpIHtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmZpbmRTZWN0aW9ucyh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLmRhdGEpIHtcbiAgICAgICAgICB0aGlzLnNlY3Rpb25zID0gcmVzLmRhdGE7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgYWRkU2VjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuc2VjdGlvbnMpIHtcbiAgICAgIHRoaXMuc2VjdGlvbnMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZVxuICAgICAgLmFkZFNlY3Rpb24odGhpcy5pZCwge1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgICAgY29udGVudDogJycsXG4gICAgICAgIG1lZGlhOiBbXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2VjdGlvbiA9IHJlcy5kYXRhO1xuICAgICAgICAgIHRoaXMuc2VjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICBpZDogc2VjdGlvbi5pZCxcbiAgICAgICAgICAgIHRpdGxlOiAnVW50aXRsZWQnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICcnLFxuICAgICAgICAgICAgbWVkaWE6IFtdLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oZS5tZXNzYWdlKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG4gIG9uVXBsb2FkU2VjdGlvbk1lZGlhKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBzZWN0aW9uID0gZXZlbnQuc2VjdGlvbjtcbiAgICBjb25zdCBzZWN0aW9uSWQgPSBzZWN0aW9uLmlkO1xuICAgIGNvbnN0IGZpbGUgPSBldmVudC5kYXRhLnRhcmdldC5maWxlc1swXTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgaWYgKCFzZWN0aW9uLm1lZGlhKSB7XG4gICAgICAgICAgc2VjdGlvbi5tZWRpYSA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIChzZWN0aW9uLm1lZGlhIGFzIGFueSkucHVzaCh7XG4gICAgICAgICAgdXJsOiByZWFkZXIucmVzdWx0LFxuICAgICAgICAgIGFsdDogJ3VwbG9hZCBpbWFnZScsXG4gICAgICAgIH0pO1xuICAgICAgICBzZWN0aW9uLmlzVXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UudXBsb2FkU2VjdGlvbk1lZGlhKHNlY3Rpb25JZCwgZm9ybURhdGEpLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICBzZWN0aW9uLmlzVXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICBkZWxldGUgcmVzLmRhdGEucHJvZHVjdFNlY3Rpb247XG4gICAgICAgICAgICBzZWN0aW9uLm1lZGlhW3NlY3Rpb24ubWVkaWEubGVuZ3RoIC0gMV0uaWQgPSByZXMuZGF0YS5pZDtcbiAgICAgICAgICAgIHNlY3Rpb24ubWVkaWFbc2VjdGlvbi5tZWRpYS5sZW5ndGggLSAxXS51cmwgPSByZXMuZGF0YS51cmw7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbignVXBsb2FkIGZhaWxlZDogJyArIGUubWVzc2FnZSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgb25EZWxldGVTZWN0aW9uTWVkaWEoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzQwMHB4JyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdGl0bGU6ICfliKDpmaTlm77niYcnLFxuICAgICAgICBtZXNzYWdlOiBg56Gu5a6a5Yig6Zmk5ZCXP2AsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgY29uc3Qgc2VjdGlvbiA9IGV2ZW50LnNlY3Rpb247XG4gICAgICAgIGNvbnN0IG1lZGlhSWQgPSBldmVudC5tZWRpYS5pZDtcbiAgICAgICAgcmVtb3ZlKHNlY3Rpb24ubWVkaWEsIHtcbiAgICAgICAgICBpZDogbWVkaWFJZCxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZGVsZXRlU2VjdGlvbk1lZGlhKHNlY3Rpb24uaWQsIG1lZGlhSWQpLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAvLyByZW1vdmUoc2VjdGlvbi5tZWRpYSwge1xuICAgICAgICAgICAgLy8gICBpZDogbWVkaWFJZCxcbiAgICAgICAgICAgIC8vIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIG9uU2VjdGlvblNhdmUoc2VjdGlvbjogUHJvZHVjdFNlY3Rpb24pIHtcbiAgICBkZWxldGUgc2VjdGlvbi5pc1VwbG9hZGluZztcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLnVwZGF0ZVNlY3Rpb24oc2VjdGlvbi5pZCwgc2VjdGlvbikuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ1N1Y2Nlc3MnKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKGUubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uU2VjdGlvbkRlbGV0ZShzZWN0aW9uOiBQcm9kdWN0U2VjdGlvbikge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzQwMHB4JyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdGl0bGU6ICfliKDpmaTor6bmg4UnLFxuICAgICAgICBtZXNzYWdlOiAn56Gu5a6a5Yig6Zmk5q2k6K+m5oOF5ZCXPycsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZGVsZXRlU2VjdGlvbihzZWN0aW9uLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKHJlcy5kYXRhKTtcbiAgICAgICAgICAgIHJlbW92ZSh0aGlzLnNlY3Rpb25zLCB7XG4gICAgICAgICAgICAgIGlkOiBzZWN0aW9uLmlkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihlLm1lc3NhZ2UpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtY29udGVudD5cbiAgPHJvbGF0ZWNoLXRvb2xiYXIgdGl0bGU9XCJEZXRhaWxzXCIgY2xhc3M9XCJoaWRkZW4gbWQ6YmxvY2tcIiBkaXZpZGVyPiA8L3JvbGF0ZWNoLXRvb2xiYXI+XG4gIDxkaXY+XG4gICAgPGRpdj5cbiAgICAgIEBmb3IgKHNlY3Rpb24gb2Ygc2VjdGlvbnM7IHRyYWNrIHNlY3Rpb24pIHtcbiAgICAgICAgPHJvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLXNlY3Rpb24taXRlbVxuICAgICAgICAgIFtzZWN0aW9uXT1cInNlY3Rpb25cIlxuICAgICAgICAgICh1cGxvYWQpPVwib25VcGxvYWRTZWN0aW9uTWVkaWEoJGV2ZW50KVwiXG4gICAgICAgICAgKGRlbGV0ZU1lZGlhKT1cIm9uRGVsZXRlU2VjdGlvbk1lZGlhKCRldmVudClcIlxuICAgICAgICAgIChzYXZlKT1cIm9uU2VjdGlvblNhdmUoJGV2ZW50KVwiXG4gICAgICAgICAgKGRlbGV0ZSk9XCJvblNlY3Rpb25EZWxldGUoJGV2ZW50KVwiXG4gICAgICAgICAgW2FjdGlvbnNdPVwidHJ1ZVwiXG4gICAgICAgID48L3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLXNlY3Rpb24taXRlbT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwiYWRkU2VjdGlvbigpXCIgY2xhc3M9XCJtdC0zXCI+XG4gICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuIGkxOG4+QWRkPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvcm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtY29udGVudD5cbiJdfQ==","import { Component, inject } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute } from '@angular/router';\nimport { ConfirmationDialogComponent, ImagePreviewDialogComponent, MediaListComponent, MediaListItemComponent, ToolbarComponent, } from '@rolatech/angular-components';\nimport { findLastIndex } from 'lodash';\nimport { ProductService } from '@rolatech/angular-services';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport { ProductStatus } from '../../../interfaces';\nimport * as i0 from \"@angular/core\";\nconst SIZE = 10 * 1024 * 1024; // file slice size 10MB\nexport class ProductManageMediaComponent {\n // productType: any = ProductType;\n constructor() {\n this.route = inject(ActivatedRoute);\n this.productService = inject(ProductService);\n this.dialog = inject(MatDialog);\n this.snackBar = inject(MatSnackBar);\n this.isUploading = false;\n this.isLoading = false;\n this.media = [];\n this.status = ProductStatus;\n this.id = this.route.parent?.snapshot.paramMap.get('id');\n }\n ngOnInit() {\n this.find();\n }\n find() {\n this.productService.get(this.id).subscribe({\n next: (res) => {\n this.media = res.data.media || [];\n },\n });\n }\n onImageClick(i) {\n const dialogRef = this.dialog.open(ImagePreviewDialogComponent, {\n maxWidth: '80vw',\n maxHeight: '80vh',\n height: '80%',\n width: '80%',\n panelClass: 'full-screen-modal',\n data: {\n media: this.media,\n selected: i,\n },\n });\n dialogRef.afterClosed().subscribe((result) => { });\n }\n createFileChunk(file, size = SIZE) {\n const fileChunkList = [];\n let cur = 0;\n while (cur < file.size) {\n fileChunkList.push({ file: file.slice(cur, cur + size) });\n cur += size;\n }\n return fileChunkList;\n }\n onUploadMedia2(event) {\n const file = event.target.files[0];\n const reader = new FileReader();\n reader.onload = (e) => { };\n const fileChunkList = this.createFileChunk(file);\n fileChunkList.forEach((item) => { });\n }\n onUploadMedia(event) {\n const file = event.target.files[0];\n // 5MB * 1024 * 1024 = 5242880\n // if (file?.size > 5242880) {\n // this.snackBar.open('尺寸过大, 请修改后上传');\n // this.isUploading = false;\n // return;\n // }\n if (file) {\n const reader = new FileReader();\n const formData = new FormData();\n formData.append('file', file);\n reader.readAsDataURL(file);\n reader.onload = () => {\n const img = new Image();\n img.onload = () => {\n this.media.push({\n url: img.src,\n alt: 'upload image',\n width: img.width,\n height: img.height,\n });\n this.isUploading = true;\n };\n img.src = reader.result; // This is the data URL\n };\n this.productService.uploadMedia(this.id, formData).subscribe({\n next: (res) => {\n this.isUploading = false;\n const index = findLastIndex(this.media);\n // Replace item at index using native splice\n this.media.splice(index, 1, res.data);\n },\n error: (e) => {\n this.isUploading = false;\n this.snackBar.open('Upload failed: ' + e.message);\n },\n });\n reader.onerror = (error) => {\n this.isUploading = false;\n };\n }\n }\n onMediaDelete(item) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '400px',\n data: {\n title: '删除图片',\n message: '确定删除这张商品图片吗?',\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.productService.deleteMedia(this.id, item.id).subscribe({\n next: (res) => {\n this.media = this.media.filter((m) => m.id !== item.id);\n this.snackBar.open('Delete successfully');\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageMediaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductManageMediaComponent, isStandalone: true, selector: \"rolatech-product-manage-media\", ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Media info\\\" class=\\\"hidden md:block\\\" divider></rolatech-toolbar>\\n <div>\\n <p i18n>*Limit 5MB per image*</p>\\n <rolatech-media-list (upload)=\\\"onUploadMedia($event)\\\" [isUploading]=\\\"isUploading\\\">\\n @for (item of media; track item; let i = $index) {\\n <rolatech-media-list-item\\n [media]=\\\"item\\\"\\n (mediaItemClick)=\\\"onImageClick(i)\\\"\\n (deleteMedia)=\\\"onMediaDelete(item)\\\"\\n ></rolatech-media-list-item>\\n }\\n </rolatech-media-list>\\n </div>\\n</rolatech-product-manage-content>\\n\", styles: [\"\"], dependencies: [{ kind: \"component\", type: MediaListComponent, selector: \"rolatech-media-list\", inputs: [\"isUploading\", \"media\", \"showAdd\"], outputs: [\"mediaItemClick\", \"upload\"] }, { kind: \"component\", type: MediaListItemComponent, selector: \"rolatech-media-list-item\", inputs: [\"media\", \"uploadProgress\", \"uploading\"], outputs: [\"mediaItemClick\", \"deleteMedia\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageMediaComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-media', imports: [MediaListComponent, MediaListItemComponent, ToolbarComponent, ProductManageContentComponent], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Media info\\\" class=\\\"hidden md:block\\\" divider></rolatech-toolbar>\\n <div>\\n <p i18n>*Limit 5MB per image*</p>\\n <rolatech-media-list (upload)=\\\"onUploadMedia($event)\\\" [isUploading]=\\\"isUploading\\\">\\n @for (item of media; track item; let i = $index) {\\n <rolatech-media-list-item\\n [media]=\\\"item\\\"\\n (mediaItemClick)=\\\"onImageClick(i)\\\"\\n (deleteMedia)=\\\"onMediaDelete(item)\\\"\\n ></rolatech-media-list-item>\\n }\\n </rolatech-media-list>\\n </div>\\n</rolatech-product-manage-content>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtbWVkaWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtbWVkaWEvcHJvZHVjdC1tYW5hZ2UtbWVkaWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtbWVkaWEvcHJvZHVjdC1tYW5hZ2UtbWVkaWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0Isa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsR0FDakIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXBELE1BQU0sSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsdUJBQXVCO0FBUXRELE1B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RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO29CQUM1QyxDQUFDO29CQUNELEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO3dCQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDaEMsQ0FBQztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQTNIVSwyQkFBMkI7a0dBQTNCLDJCQUEyQix5RkN6QnhDLG9tQkFlQSwwRERNWSxrQkFBa0Isb0pBQUUsc0JBQXNCLG1LQUFFLGdCQUFnQixnSUFBRSw2QkFBNkI7OzJGQUkxRiwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0UsK0JBQStCLFdBQ2hDLENBQUMsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWVkaWEgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LFxuICBJbWFnZVByZXZpZXdEaWFsb2dDb21wb25lbnQsXG4gIE1lZGlhTGlzdENvbXBvbmVudCxcbiAgTWVkaWFMaXN0SXRlbUNvbXBvbmVudCxcbiAgVG9vbGJhckNvbXBvbmVudCxcbn0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBmaW5kTGFzdEluZGV4IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdWN0LW1hbmFnZS1jb250ZW50L3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1Y3RTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuY29uc3QgU0laRSA9IDEwICogMTAyNCAqIDEwMjQ7IC8vIGZpbGUgc2xpY2Ugc2l6ZSAxME1CXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLW1lZGlhJyxcbiAgaW1wb3J0czogW01lZGlhTGlzdENvbXBvbmVudCwgTWVkaWFMaXN0SXRlbUNvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCwgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtbWVkaWEuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtbWVkaWEuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWFuYWdlTWVkaWFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByb2R1Y3RTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RTZXJ2aWNlKTtcbiAgZGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XG4gIHNuYWNrQmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcbiAgaWQ6IHN0cmluZztcbiAgaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgaXNMb2FkaW5nID0gZmFsc2U7XG4gIG1lZGlhOiBNZWRpYVtdID0gW107XG4gIHN0YXR1cyA9IFByb2R1Y3RTdGF0dXM7XG4gIC8vIHByb2R1Y3RUeXBlOiBhbnkgPSBQcm9kdWN0VHlwZTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pZCA9IHRoaXMucm91dGUucGFyZW50Py5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2lkJykgYXMgc3RyaW5nO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmluZCgpO1xuICB9XG4gIGZpbmQoKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5nZXQodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm1lZGlhID0gcmVzLmRhdGEubWVkaWEgfHwgW107XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uSW1hZ2VDbGljayhpOiBhbnkpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEltYWdlUHJldmlld0RpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgbWF4V2lkdGg6ICc4MHZ3JyxcbiAgICAgIG1heEhlaWdodDogJzgwdmgnLFxuICAgICAgaGVpZ2h0OiAnODAlJyxcbiAgICAgIHdpZHRoOiAnODAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdmdWxsLXNjcmVlbi1tb2RhbCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIG1lZGlhOiB0aGlzLm1lZGlhLFxuICAgICAgICBzZWxlY3RlZDogaSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHt9KTtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZUZpbGVDaHVuayhmaWxlOiBhbnksIHNpemUgPSBTSVpFKSB7XG4gICAgY29uc3QgZmlsZUNodW5rTGlzdDogYW55ID0gW107XG4gICAgbGV0IGN1ciA9IDA7XG4gICAgd2hpbGUgKGN1ciA8IGZpbGUuc2l6ZSkge1xuICAgICAgZmlsZUNodW5rTGlzdC5wdXNoKHsgZmlsZTogZmlsZS5zbGljZShjdXIsIGN1ciArIHNpemUpIH0pO1xuICAgICAgY3VyICs9IHNpemU7XG4gICAgfVxuICAgIHJldHVybiBmaWxlQ2h1bmtMaXN0O1xuICB9XG5cbiAgb25VcGxvYWRNZWRpYTIoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF07XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIub25sb2FkID0gKGUpID0+IHt9O1xuXG4gICAgY29uc3QgZmlsZUNodW5rTGlzdCA9IHRoaXMuY3JlYXRlRmlsZUNodW5rKGZpbGUpO1xuICAgIGZpbGVDaHVua0xpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge30pO1xuICB9XG4gIG9uVXBsb2FkTWVkaWEoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF07XG4gICAgLy8gNU1CICogMTAyNCAqIDEwMjQgPSA1MjQyODgwXG4gICAgLy8gaWYgKGZpbGU/LnNpemUgPiA1MjQyODgwKSB7XG4gICAgLy8gICB0aGlzLnNuYWNrQmFyLm9wZW4oJ+WwuuWvuOi/h+Wkpywg6K+35L+u5pS55ZCO5LiK5LygJyk7XG4gICAgLy8gICB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7XG4gICAgLy8gICByZXR1cm47XG4gICAgLy8gfVxuXG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XG5cbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgaW1nOiBhbnkgPSBuZXcgSW1hZ2UoKTtcbiAgICAgICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICB0aGlzLm1lZGlhLnB1c2goe1xuICAgICAgICAgICAgdXJsOiBpbWcuc3JjLFxuICAgICAgICAgICAgYWx0OiAndXBsb2FkIGltYWdlJyxcbiAgICAgICAgICAgIHdpZHRoOiBpbWcud2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IGltZy5oZWlnaHQsXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmlzVXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICAgICAgaW1nLnNyYyA9IHJlYWRlci5yZXN1bHQ7IC8vIFRoaXMgaXMgdGhlIGRhdGEgVVJMXG4gICAgICB9O1xuICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS51cGxvYWRNZWRpYSh0aGlzLmlkLCBmb3JtRGF0YSkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gZmluZExhc3RJbmRleCh0aGlzLm1lZGlhKTtcbiAgICAgICAgICAvLyBSZXBsYWNlIGl0ZW0gYXQgaW5kZXggdXNpbmcgbmF0aXZlIHNwbGljZVxuICAgICAgICAgIHRoaXMubWVkaWEuc3BsaWNlKGluZGV4LCAxLCByZXMuZGF0YSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbignVXBsb2FkIGZhaWxlZDogJyArIGUubWVzc2FnZSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHJlYWRlci5vbmVycm9yID0gKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH07XG4gICAgfVxuICB9XG4gIG9uTWVkaWFEZWxldGUoaXRlbTogYW55KSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnNDAwcHgnLFxuICAgICAgZGF0YToge1xuICAgICAgICB0aXRsZTogJ+WIoOmZpOWbvueJhycsXG4gICAgICAgIG1lc3NhZ2U6ICfnoa7lrprliKDpmaTov5nlvKDllYblk4Hlm77niYflkJc/JyxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5kZWxldGVNZWRpYSh0aGlzLmlkLCBpdGVtLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWVkaWEgPSB0aGlzLm1lZGlhLmZpbHRlcigobSkgPT4gbS5pZCAhPT0gaXRlbS5pZCk7XG4gICAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ0RlbGV0ZSBzdWNjZXNzZnVsbHknKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKGUubWVzc2FnZSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1jb250ZW50PlxuICA8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIk1lZGlhIGluZm9cIiBjbGFzcz1cImhpZGRlbiBtZDpibG9ja1wiIGRpdmlkZXI+PC9yb2xhdGVjaC10b29sYmFyPlxuICA8ZGl2PlxuICAgIDxwIGkxOG4+KkxpbWl0IDVNQiBwZXIgaW1hZ2UqPC9wPlxuICAgIDxyb2xhdGVjaC1tZWRpYS1saXN0ICh1cGxvYWQpPVwib25VcGxvYWRNZWRpYSgkZXZlbnQpXCIgW2lzVXBsb2FkaW5nXT1cImlzVXBsb2FkaW5nXCI+XG4gICAgICBAZm9yIChpdGVtIG9mIG1lZGlhOyB0cmFjayBpdGVtOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICA8cm9sYXRlY2gtbWVkaWEtbGlzdC1pdGVtXG4gICAgICAgICAgW21lZGlhXT1cIml0ZW1cIlxuICAgICAgICAgIChtZWRpYUl0ZW1DbGljayk9XCJvbkltYWdlQ2xpY2soaSlcIlxuICAgICAgICAgIChkZWxldGVNZWRpYSk9XCJvbk1lZGlhRGVsZXRlKGl0ZW0pXCJcbiAgICAgICAgPjwvcm9sYXRlY2gtbWVkaWEtbGlzdC1pdGVtPlxuICAgICAgfVxuICAgIDwvcm9sYXRlY2gtbWVkaWEtbGlzdD5cbiAgPC9kaXY+XG48L3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4iXX0=","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class ProductManagePricingComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManagePricingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.2\", type: ProductManagePricingComponent, isStandalone: true, selector: \"rolatech-product-manage-pricing\", ngImport: i0, template: \"<p>product-manage-pricing works!</p>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManagePricingComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-pricing', imports: [CommonModule], template: \"<p>product-manage-pricing works!</p>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtcHJpY2luZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0LW1hbmFnZS9wcm9kdWN0LW1hbmFnZS1wcmljaW5nL3Byb2R1Y3QtbWFuYWdlLXByaWNpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtcHJpY2luZy9wcm9kdWN0LW1hbmFnZS1wcmljaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVEvQyxNQUFNLE9BQU8sNkJBQTZCOzhHQUE3Qiw2QkFBNkI7a0dBQTdCLDZCQUE2QiwyRkNUMUMsd0NBQ0EseURESVksWUFBWTs7MkZBSVgsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNFLGlDQUFpQyxXQUNsQyxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtcHJpY2luZycsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtcHJpY2luZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS1wcmljaW5nLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZVByaWNpbmdDb21wb25lbnQge31cbiIsIjxwPnByb2R1Y3QtbWFuYWdlLXByaWNpbmcgd29ya3MhPC9wPlxuIl19","import { Component, input, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ProductStatus } from '../../../interfaces';\nimport { ImagePlaceholderComponent, ThumbnailComponent } from '@rolatech/angular-components';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIcon } from '@angular/material/icon';\nimport { FixedPipe } from '@rolatech/angular-common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/menu\";\nexport class ProductManageItemComponent {\n constructor() {\n this.product = input.required(...(ngDevMode ? [{ debugName: \"product\" }] : []));\n this.thumbnail = input(...(ngDevMode ? [undefined, { debugName: \"thumbnail\" }] : []));\n this.status = ProductStatus;\n }\n publish() { }\n archived() { }\n delete() { }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductManageItemComponent, isStandalone: true, selector: \"rolatech-product-manage-item\", inputs: { product: { classPropertyName: \"product\", publicName: \"product\", isSignal: true, isRequired: true, transformFunction: null }, thumbnail: { classPropertyName: \"thumbnail\", publicName: \"thumbnail\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<div class=\\\"flex p-3 items-center hover:bg-[--rt-raised-background] cursor-pointer\\\">\\n <div>\\n @if (product().media) {\\n <div class=\\\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\\\">\\n @defer (on viewport()) {\\n <rolatech-thumbnail [src]=\\\"product().media[0].url + '!w400'\\\" size=\\\"medium\\\" mode=\\\"full\\\"> </rolatech-thumbnail>\\n } @placeholder {\\n <div class=\\\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\\\"></div>\\n }\\n </div>\\n } @else {\\n <div class=\\\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\\\">\\n <rolatech-image-placeholder></rolatech-image-placeholder>\\n </div>\\n }\\n </div>\\n <div class=\\\"px-3\\\">\\n {{ product().name }}\\n </div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"px-3 min-w-28 w-28\\\">\\n {{ status[product().status] }}\\n </div>\\n <div class=\\\"px-3 min-w-28 w-28\\\">\\u00A5{{ product().price | fixed }}</div>\\n <div class=\\\"pr-4\\\">\\n <button\\n mat-icon-button\\n [matMenuTriggerFor]=\\\"menu\\\"\\n aria-label=\\\"Example icon-button with a menu\\\"\\n (click)=\\\"$event.stopPropagation()\\\"\\n >\\n <mat-icon>more_vert</mat-icon>\\n </button>\\n <mat-menu #menu=\\\"matMenu\\\" xPosition=\\\"before\\\">\\n @if (product().status === 'DRAFT') {\\n <button mat-menu-item (click)=\\\"publish()\\\">\\n <span i18n> Publish </span>\\n </button>\\n }\\n @if (product().status === 'STARTED') {\\n <button mat-menu-item (click)=\\\"archived()\\\">\\n <span i18n> Archive </span>\\n </button>\\n }\\n @if (product().status !== 'ACTIVE') {\\n <button mat-menu-item (click)=\\\"delete()\\\">\\n <span i18n> Delete </span>\\n </button>\\n }\\n </mat-menu>\\n </div>\\n</div>\\n<div class=\\\"h-[1px] px-3 bg-[--rt-raised-background]\\\"></div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"component\", type: ImagePlaceholderComponent, selector: \"rolatech-image-placeholder\", inputs: [\"ratio\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatMenuModule }, { kind: \"component\", type: i2.MatMenu, selector: \"mat-menu\", inputs: [\"backdropClass\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"xPosition\", \"yPosition\", \"overlapTrigger\", \"hasBackdrop\", \"class\", \"classList\"], outputs: [\"closed\", \"close\"], exportAs: [\"matMenu\"] }, { kind: \"component\", type: i2.MatMenuItem, selector: \"[mat-menu-item]\", inputs: [\"role\", \"disabled\", \"disableRipple\"], exportAs: [\"matMenuItem\"] }, { kind: \"directive\", type: i2.MatMenuTrigger, selector: \"[mat-menu-trigger-for], [matMenuTriggerFor]\", inputs: [\"mat-menu-trigger-for\", \"matMenuTriggerFor\", \"matMenuTriggerData\", \"matMenuTriggerRestoreFocus\"], outputs: [\"menuOpened\", \"onMenuOpen\", \"menuClosed\", \"onMenuClose\"], exportAs: [\"matMenuTrigger\"] }, { kind: \"component\", type: MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"pipe\", type: FixedPipe, name: \"fixed\" }], encapsulation: i0.ViewEncapsulation.None, deferBlockDependencies: [() => [ThumbnailComponent]] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-item', imports: [CommonModule, ThumbnailComponent, ImagePlaceholderComponent, MatButtonModule, MatMenuModule, MatIcon, FixedPipe], encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"flex p-3 items-center hover:bg-[--rt-raised-background] cursor-pointer\\\">\\n <div>\\n @if (product().media) {\\n <div class=\\\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\\\">\\n @defer (on viewport()) {\\n <rolatech-thumbnail [src]=\\\"product().media[0].url + '!w400'\\\" size=\\\"medium\\\" mode=\\\"full\\\"> </rolatech-thumbnail>\\n } @placeholder {\\n <div class=\\\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\\\"></div>\\n }\\n </div>\\n } @else {\\n <div class=\\\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\\\">\\n <rolatech-image-placeholder></rolatech-image-placeholder>\\n </div>\\n }\\n </div>\\n <div class=\\\"px-3\\\">\\n {{ product().name }}\\n </div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"px-3 min-w-28 w-28\\\">\\n {{ status[product().status] }}\\n </div>\\n <div class=\\\"px-3 min-w-28 w-28\\\">\\u00A5{{ product().price | fixed }}</div>\\n <div class=\\\"pr-4\\\">\\n <button\\n mat-icon-button\\n [matMenuTriggerFor]=\\\"menu\\\"\\n aria-label=\\\"Example icon-button with a menu\\\"\\n (click)=\\\"$event.stopPropagation()\\\"\\n >\\n <mat-icon>more_vert</mat-icon>\\n </button>\\n <mat-menu #menu=\\\"matMenu\\\" xPosition=\\\"before\\\">\\n @if (product().status === 'DRAFT') {\\n <button mat-menu-item (click)=\\\"publish()\\\">\\n <span i18n> Publish </span>\\n </button>\\n }\\n @if (product().status === 'STARTED') {\\n <button mat-menu-item (click)=\\\"archived()\\\">\\n <span i18n> Archive </span>\\n </button>\\n }\\n @if (product().status !== 'ACTIVE') {\\n <button mat-menu-item (click)=\\\"delete()\\\">\\n <span i18n> Delete </span>\\n </button>\\n }\\n </mat-menu>\\n </div>\\n</div>\\n<div class=\\\"h-[1px] px-3 bg-[--rt-raised-background]\\\"></div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0LW1hbmFnZS9wcm9kdWN0LW1hbmFnZS1pdGVtL3Byb2R1Y3QtbWFuYWdlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaXRlbS9wcm9kdWN0LW1hbmFnZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQVcsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBU3JELE1BQU0sT0FBTywwQkFBMEI7SUFQdkM7UUFRRSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsa0RBQVcsQ0FBQztRQUNwQyxjQUFTLEdBQUcsS0FBSywrREFBRSxDQUFDO1FBQ3BCLFdBQU0sR0FBRyxhQUFhLENBQUM7S0FJeEI7SUFIQyxPQUFPLEtBQUksQ0FBQztJQUNaLFFBQVEsS0FBSSxDQUFDO0lBQ2IsTUFBTSxLQUFJLENBQUM7OEdBTkEsMEJBQTBCO2tHQUExQiwwQkFBMEIscVdDaEJ2QywyMURBcURBLHlERDFDWSxZQUFZLCtCQUFzQix5QkFBeUIseUZBQUUsZUFBZSxxTkFBRSxhQUFhLDh2QkFBRSxPQUFPLHNJQUFFLFNBQVMsOEZBQWpHLGtCQUFrQjs7MkZBSy9CLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDRSw4QkFBOEIsV0FDL0IsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLGlCQUczRyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQcm9kdWN0LCBQcm9kdWN0U3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJbWFnZVBsYWNlaG9sZGVyQ29tcG9uZW50LCBUaHVtYm5haWxDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBGaXhlZFBpcGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1pdGVtJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGh1bWJuYWlsQ29tcG9uZW50LCBJbWFnZVBsYWNlaG9sZGVyQ29tcG9uZW50LCBNYXRCdXR0b25Nb2R1bGUsIE1hdE1lbnVNb2R1bGUsIE1hdEljb24sIEZpeGVkUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLWl0ZW0uY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWFuYWdlSXRlbUNvbXBvbmVudCB7XG4gIHByb2R1Y3QgPSBpbnB1dC5yZXF1aXJlZDxQcm9kdWN0PigpO1xuICB0aHVtYm5haWwgPSBpbnB1dCgpO1xuICBzdGF0dXMgPSBQcm9kdWN0U3RhdHVzO1xuICBwdWJsaXNoKCkge31cbiAgYXJjaGl2ZWQoKSB7fVxuICBkZWxldGUoKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggcC0zIGl0ZW1zLWNlbnRlciBob3ZlcjpiZy1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gY3Vyc29yLXBvaW50ZXJcIj5cbiAgPGRpdj5cbiAgICBAaWYgKHByb2R1Y3QoKS5tZWRpYSkge1xuICAgICAgPGRpdiBjbGFzcz1cIm1pbi13LTI0IHctMzYgb2JqZWN0LWNvdmVyIGFzcGVjdC12aWRlbyByb3VuZGVkLWxnIG1yLTNcIj5cbiAgICAgICAgQGRlZmVyIChvbiB2aWV3cG9ydCgpKSB7XG4gICAgICAgICAgPHJvbGF0ZWNoLXRodW1ibmFpbCBbc3JjXT1cInByb2R1Y3QoKS5tZWRpYVswXS51cmwgKyAnIXc0MDAnXCIgc2l6ZT1cIm1lZGl1bVwiIG1vZGU9XCJmdWxsXCI+IDwvcm9sYXRlY2gtdGh1bWJuYWlsPlxuICAgICAgICB9IEBwbGFjZWhvbGRlciB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXSBoLWZ1bGwgdy1mdWxsIG9iamVjdC1jb3ZlciBhc3BlY3QtdmlkZW8gcm91bmRlZC1sZ1wiPjwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJtaW4tdy0yNCB3LTM2IG9iamVjdC1jb3ZlciBhc3BlY3QtdmlkZW8gcm91bmRlZC1sZyBtci0zXCI+XG4gICAgICAgIDxyb2xhdGVjaC1pbWFnZS1wbGFjZWhvbGRlcj48L3JvbGF0ZWNoLWltYWdlLXBsYWNlaG9sZGVyPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInB4LTNcIj5cbiAgICB7eyBwcm9kdWN0KCkubmFtZSB9fVxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXgtMVwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHgtMyBtaW4tdy0yOCB3LTI4XCI+XG4gICAge3sgc3RhdHVzW3Byb2R1Y3QoKS5zdGF0dXNdIH19XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHgtMyBtaW4tdy0yOCB3LTI4XCI+wqV7eyBwcm9kdWN0KCkucHJpY2UgfCBmaXhlZCB9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHItNFwiPlxuICAgIDxidXR0b25cbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuICAgICAgYXJpYS1sYWJlbD1cIkV4YW1wbGUgaWNvbi1idXR0b24gd2l0aCBhIG1lbnVcIlxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxuICAgICAgQGlmIChwcm9kdWN0KCkuc3RhdHVzID09PSAnRFJBRlQnKSB7XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicHVibGlzaCgpXCI+XG4gICAgICAgICAgPHNwYW4gaTE4bj4gUHVibGlzaCA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgQGlmIChwcm9kdWN0KCkuc3RhdHVzID09PSAnU1RBUlRFRCcpIHtcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJhcmNoaXZlZCgpXCI+XG4gICAgICAgICAgPHNwYW4gaTE4bj4gQXJjaGl2ZSA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgQGlmIChwcm9kdWN0KCkuc3RhdHVzICE9PSAnQUNUSVZFJykge1xuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImRlbGV0ZSgpXCI+XG4gICAgICAgICAgPHNwYW4gaTE4bj4gRGVsZXRlIDwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9tYXQtbWVudT5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJoLVsxcHhdIHB4LTMgYmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdXCI+PC9kaXY+XG4iXX0=","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class ProductManageItemHeaderComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageItemHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.2\", type: ProductManageItemHeaderComponent, isStandalone: true, selector: \"rolatech-product-manage-item-header\", ngImport: i0, template: \"<div class=\\\"flex h-11 items-center\\\">\\n <div class=\\\"text-md font-bold px-3 min-w-[320px]\\\" i18n>Product</div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"text-md font-bold px-3 w-28\\\" i18n>Status</div>\\n <div class=\\\"text-md font-bold px-3 w-28\\\" i18n>Price</div>\\n <div class=\\\"text-md px-3 w-16\\\"></div>\\n</div>\\n<div class=\\\"h-[1px] px-3 bg-[--rt-raised-background]\\\"></div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageItemHeaderComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-item-header', imports: [CommonModule], template: \"<div class=\\\"flex h-11 items-center\\\">\\n <div class=\\\"text-md font-bold px-3 min-w-[320px]\\\" i18n>Product</div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"text-md font-bold px-3 w-28\\\" i18n>Status</div>\\n <div class=\\\"text-md font-bold px-3 w-28\\\" i18n>Price</div>\\n <div class=\\\"text-md px-3 w-16\\\"></div>\\n</div>\\n<div class=\\\"h-[1px] px-3 bg-[--rt-raised-background]\\\"></div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIvcHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIvcHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUS9DLE1BQU0sT0FBTyxnQ0FBZ0M7OEdBQWhDLGdDQUFnQztrR0FBaEMsZ0NBQWdDLCtGQ1Q3QyxzWUFRQSx5RERIWSxZQUFZOzsyRkFJWCxnQ0FBZ0M7a0JBTjVDLFNBQVM7K0JBQ0UscUNBQXFDLFdBQ3RDLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1pdGVtLWhlYWRlcicsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWFuYWdlSXRlbUhlYWRlckNvbXBvbmVudCB7fVxuIiwiPGRpdiBjbGFzcz1cImZsZXggaC0xMSBpdGVtcy1jZW50ZXJcIj5cbiAgPGRpdiBjbGFzcz1cInRleHQtbWQgZm9udC1ib2xkIHB4LTMgbWluLXctWzMyMHB4XVwiIGkxOG4+UHJvZHVjdDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleC0xXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIGZvbnQtYm9sZCBweC0zIHctMjhcIiBpMThuPlN0YXR1czwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBmb250LWJvbGQgcHgtMyB3LTI4XCIgaTE4bj5QcmljZTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBweC0zIHctMTZcIj48L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImgtWzFweF0gcHgtMyBiZy1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF1cIj48L2Rpdj5cbiJdfQ==","import { Component, inject, viewChild } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule, MatPaginator } from '@angular/material/paginator';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatTableModule, MatTableDataSource } from '@angular/material/table';\nimport { RouterLink } from '@angular/router';\nimport { ToolbarComponent, SpinnerComponent, ConfirmationDialogComponent } from '@rolatech/angular-components';\nimport { ProductService } from '@rolatech/angular-services';\nimport { ProductStatus } from '../../../interfaces';\nimport { ProductManageItemComponent } from '../product-manage-item/product-manage-item.component';\nimport { ProductManageItemHeaderComponent } from '../product-manage-item-header/product-manage-item-header.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/icon\";\nimport * as i3 from \"@angular/material/paginator\";\nexport class ProductManageIndexComponent {\n constructor() {\n this.paginator = viewChild(MatPaginator, ...(ngDevMode ? [{ debugName: \"paginator\" }] : []));\n this.dialog = inject(MatDialog);\n this.snackBar = inject(MatSnackBar);\n this.productService = inject(ProductService);\n this.isLoading = false;\n this.isSearch = false;\n this.length = 100;\n this.pageSize = 15;\n this.pageSizeOptions = [5, 10, 25, 100];\n this.dataSource = new MatTableDataSource();\n this.products = [];\n this.displayedColumns = ['name', 'status', 'createdAt', 'actions'];\n this.orderOptions = [\n {\n key: 'createdAt',\n value: '创建时间',\n icon: 'arrow_upward',\n sort: 'asc',\n },\n {\n key: 'createdAt',\n value: '创建时间',\n icon: 'arrow_downward',\n sort: 'desc',\n },\n {\n key: 'status',\n value: '状态',\n icon: 'arrow_upward',\n sort: 'asc',\n },\n {\n key: 'status',\n value: '状态',\n icon: 'arrow_downward',\n sort: 'desc',\n },\n ];\n this.status = ProductStatus;\n this.orderString = 'createdAt desc';\n }\n ngOnInit() {\n this.find(null);\n }\n find(event) {\n this.isLoading = true;\n const page = event ? event.pageIndex + 1 : 1;\n const limit = event ? event.pageSize : 15;\n const sort = this.orderString;\n const options = {\n page,\n limit,\n sort,\n };\n this.productService.me(options).subscribe({\n next: (res) => {\n this.products = res.data;\n // this.dataSource.data = this.products;\n this.length = res.meta.pagination.count;\n this.isLoading = false;\n },\n error: (e) => {\n this.isLoading = false;\n this.snackBar.open(e.message);\n },\n });\n }\n archived(product) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '400px',\n data: {\n title: '商品下架',\n message: `确定下架 ${product.name} 吗?`,\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.productService.archived(product.id).subscribe({\n next: (res) => {\n const index = this.products.findIndex((item) => item.id === product.id);\n const status = ProductStatus[ProductStatus.ARCHIVED];\n this.products[index].status = status;\n this.snackBar.open('结束成功');\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n });\n }\n delete(product) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '400px',\n data: {\n title: '删除商品',\n message: `确定删除 ${product.name} 吗?`,\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.productService.delete(product.id).subscribe({\n next: (res) => {\n const index = this.products.findIndex((item) => item.id === product.id);\n this.products.splice(index, 1);\n this.dataSource.data = this.products;\n this.length--;\n this.snackBar.open('Delete successfully');\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductManageIndexComponent, isStandalone: true, selector: \"rolatech-product-manage-index\", viewQueries: [{ propertyName: \"paginator\", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], ngImport: i0, template: \"<rolatech-toolbar title=\\\"Products\\\">\\n <div class=\\\"flex items-center gap-2\\\">\\n <button mat-flat-button routerLink=\\\"./create\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Create</span>\\n </button>\\n </div>\\n</rolatech-toolbar>\\n@if (isLoading) {\\n <div class=\\\"flex justify-center items-center\\\">\\n <rolatech-spinner></rolatech-spinner>\\n </div>\\n} @else {\\n <rolatech-product-manage-item-header></rolatech-product-manage-item-header>\\n @for (item of products; track $index) {\\n <rolatech-product-manage-item [product]=\\\"item\\\" routerLink=\\\"./{{ item.id }}/manage/info\\\"></rolatech-product-manage-item>\\n }\\n <mat-paginator\\n #paginator\\n [length]=\\\"length\\\"\\n [pageSize]=\\\"pageSize\\\"\\n [pageSizeOptions]=\\\"pageSizeOptions\\\"\\n (page)=\\\"pageEvent = find($event)\\\"\\n hidePageSize\\n showFirstLastButtons\\n >\\n </mat-paginator>\\n}\\n\", styles: [\"mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;max-width:64px;font-size:.8rem;padding:0 8px}.mat-mdc-header-cell.actions{text-align:right;max-width:64px;width:64px}.mat-mdc-cell:nth-last-child(2),.mat-mdc-header-cell:nth-last-child(2),.mat-mdc-footer-cell:nth-last-child(2){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.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: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i2.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatTableModule }, { kind: \"ngmodule\", type: MatMenuModule }, { kind: \"ngmodule\", type: MatPaginatorModule }, { kind: \"component\", type: i3.MatPaginator, selector: \"mat-paginator\", inputs: [\"color\", \"pageIndex\", \"length\", \"pageSize\", \"pageSizeOptions\", \"hidePageSize\", \"showFirstLastButtons\", \"selectConfig\", \"disabled\"], outputs: [\"page\"], exportAs: [\"matPaginator\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: SpinnerComponent, selector: \"rolatech-spinner\", inputs: [\"title\"] }, { kind: \"component\", type: ProductManageItemComponent, selector: \"rolatech-product-manage-item\", inputs: [\"product\", \"thumbnail\"] }, { kind: \"component\", type: ProductManageItemHeaderComponent, selector: \"rolatech-product-manage-item-header\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageIndexComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-index', imports: [\n MatButtonModule,\n RouterLink,\n MatIconModule,\n MatTableModule,\n MatMenuModule,\n MatPaginatorModule,\n ToolbarComponent,\n SpinnerComponent,\n ProductManageItemComponent,\n ProductManageItemHeaderComponent,\n ], template: \"<rolatech-toolbar title=\\\"Products\\\">\\n <div class=\\\"flex items-center gap-2\\\">\\n <button mat-flat-button routerLink=\\\"./create\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Create</span>\\n </button>\\n </div>\\n</rolatech-toolbar>\\n@if (isLoading) {\\n <div class=\\\"flex justify-center items-center\\\">\\n <rolatech-spinner></rolatech-spinner>\\n </div>\\n} @else {\\n <rolatech-product-manage-item-header></rolatech-product-manage-item-header>\\n @for (item of products; track $index) {\\n <rolatech-product-manage-item [product]=\\\"item\\\" routerLink=\\\"./{{ item.id }}/manage/info\\\"></rolatech-product-manage-item>\\n }\\n <mat-paginator\\n #paginator\\n [length]=\\\"length\\\"\\n [pageSize]=\\\"pageSize\\\"\\n [pageSizeOptions]=\\\"pageSizeOptions\\\"\\n (page)=\\\"pageEvent = find($event)\\\"\\n hidePageSize\\n showFirstLastButtons\\n >\\n </mat-paginator>\\n}\\n\", styles: [\"mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;max-width:64px;font-size:.8rem;padding:0 8px}.mat-mdc-header-cell.actions{text-align:right;max-width:64px;width:64px}.mat-mdc-cell:nth-last-child(2),.mat-mdc-header-cell:nth-last-child(2),.mat-mdc-footer-cell:nth-last-child(2){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaW5kZXgvcHJvZHVjdC1tYW5hZ2UtaW5kZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaW5kZXgvcHJvZHVjdC1tYW5hZ2UtaW5kZXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0csT0FBTyxFQUFFLGNBQWMsRUFB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Q1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNoQyxDQUFDO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBekhVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLG9JQUNoQixZQUFZLGdFQ2pDcEMsbTNCQTRCQSwwaEJEVkksZUFBZSxvWEFDZixVQUFVLG1PQUNWLGFBQWEsbUxBQ2IsY0FBYyw4QkFDZCxhQUFhLDhCQUNiLGtCQUFrQixvU0FDbEIsZ0JBQWdCLGdJQUNoQixnQkFBZ0IsZ0ZBQ2hCLDBCQUEwQiwyR0FDMUIsZ0NBQWdDOzsyRkFLdkIsMkJBQTJCO2tCQWpCdkMsU0FBUzsrQkFDRSwrQkFBK0IsV0FDaEM7d0JBQ1AsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLDBCQUEwQjt3QkFDMUIsZ0NBQWdDO3FCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUsIE1hdFBhZ2luYXRvciwgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlLCBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQsIFNwaW5uZXJDb21wb25lbnQsIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQcm9kdWN0LCBQcm9kdWN0U3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL3Byb2R1Y3QtbWFuYWdlLWl0ZW0vcHJvZHVjdC1tYW5hZ2UtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHVjdE1hbmFnZUl0ZW1IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdWN0LW1hbmFnZS1pdGVtLWhlYWRlci9wcm9kdWN0LW1hbmFnZS1pdGVtLWhlYWRlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1pbmRleCcsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgUm91dGVyTGluayxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICBQcm9kdWN0TWFuYWdlSXRlbUNvbXBvbmVudCxcbiAgICBQcm9kdWN0TWFuYWdlSXRlbUhlYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLWluZGV4LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLWluZGV4LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZUluZGV4Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcGFnaW5hdG9yID0gdmlld0NoaWxkKE1hdFBhZ2luYXRvcik7XG4gIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuICBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG4gIHByb2R1Y3RTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RTZXJ2aWNlKTtcbiAgaXNMb2FkaW5nID0gZmFsc2U7XG4gIGlzU2VhcmNoID0gZmFsc2U7XG4gIHBhZ2VFdmVudCE6IFBhZ2VFdmVudDtcbiAgbGVuZ3RoID0gMTAwO1xuICBwYWdlU2l6ZSA9IDE1O1xuICBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdID0gWzUsIDEwLCAyNSwgMTAwXTtcbiAgZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2U8YW55PigpO1xuICBwcm9kdWN0czogUHJvZHVjdFtdID0gW107XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gWyduYW1lJywgJ3N0YXR1cycsICdjcmVhdGVkQXQnLCAnYWN0aW9ucyddO1xuICBvcmRlck9wdGlvbnMgPSBbXG4gICAge1xuICAgICAga2V5OiAnY3JlYXRlZEF0JyxcbiAgICAgIHZhbHVlOiAn5Yib5bu65pe26Ze0JyxcbiAgICAgIGljb246ICdhcnJvd191cHdhcmQnLFxuICAgICAgc29ydDogJ2FzYycsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdjcmVhdGVkQXQnLFxuICAgICAgdmFsdWU6ICfliJvlu7rml7bpl7QnLFxuICAgICAgaWNvbjogJ2Fycm93X2Rvd253YXJkJyxcbiAgICAgIHNvcnQ6ICdkZXNjJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ3N0YXR1cycsXG4gICAgICB2YWx1ZTogJ+eKtuaAgScsXG4gICAgICBpY29uOiAnYXJyb3dfdXB3YXJkJyxcbiAgICAgIHNvcnQ6ICdhc2MnLFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnc3RhdHVzJyxcbiAgICAgIHZhbHVlOiAn54q25oCBJyxcbiAgICAgIGljb246ICdhcnJvd19kb3dud2FyZCcsXG4gICAgICBzb3J0OiAnZGVzYycsXG4gICAgfSxcbiAgXTtcbiAgc3RhdHVzOiBhbnkgPSBQcm9kdWN0U3RhdHVzO1xuICBvcmRlclN0cmluZyA9ICdjcmVhdGVkQXQgZGVzYyc7XG4gIGNsYXNzcm9vbXM6IGFueTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmQobnVsbCk7XG4gIH1cbiAgZmluZChldmVudD86IFBhZ2VFdmVudCB8IG51bGwpOiBhbnkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBwYWdlID0gZXZlbnQgPyBldmVudC5wYWdlSW5kZXggKyAxIDogMTtcbiAgICBjb25zdCBsaW1pdCA9IGV2ZW50ID8gZXZlbnQucGFnZVNpemUgOiAxNTtcbiAgICBjb25zdCBzb3J0ID0gdGhpcy5vcmRlclN0cmluZztcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcGFnZSxcbiAgICAgIGxpbWl0LFxuICAgICAgc29ydCxcbiAgICB9O1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UubWUob3B0aW9ucykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2R1Y3RzID0gcmVzLmRhdGE7XG4gICAgICAgIC8vIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5wcm9kdWN0cztcbiAgICAgICAgdGhpcy5sZW5ndGggPSByZXMubWV0YS5wYWdpbmF0aW9uLmNvdW50O1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oZS5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBhcmNoaXZlZChwcm9kdWN0OiBhbnkpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHRpdGxlOiAn5ZWG5ZOB5LiL5p62JyxcbiAgICAgICAgbWVzc2FnZTogYOehruWumuS4i+aetiAke3Byb2R1Y3QubmFtZX0g5ZCXP2AsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5hcmNoaXZlZChwcm9kdWN0LmlkKS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wcm9kdWN0cy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IHByb2R1Y3QuaWQpO1xuICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0gUHJvZHVjdFN0YXR1c1tQcm9kdWN0U3RhdHVzLkFSQ0hJVkVEXTtcbiAgICAgICAgICAgIHRoaXMucHJvZHVjdHNbaW5kZXhdLnN0YXR1cyA9IHN0YXR1cztcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3Blbign57uT5p2f5oiQ5YqfJyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihlLm1lc3NhZ2UpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIGRlbGV0ZShwcm9kdWN0OiBQcm9kdWN0KSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnNDAwcHgnLFxuICAgICAgZGF0YToge1xuICAgICAgICB0aXRsZTogJ+WIoOmZpOWVhuWTgScsXG4gICAgICAgIG1lc3NhZ2U6IGDnoa7lrprliKDpmaQgJHtwcm9kdWN0Lm5hbWV9IOWQlz9gLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZGVsZXRlKHByb2R1Y3QuaWQpLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnByb2R1Y3RzLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gcHJvZHVjdC5pZCk7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHRoaXMucHJvZHVjdHM7XG4gICAgICAgICAgICB0aGlzLmxlbmd0aC0tO1xuICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdEZWxldGUgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihlLm1lc3NhZ2UpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIlByb2R1Y3RzXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIHJvdXRlckxpbms9XCIuL2NyZWF0ZVwiPlxuICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8c3BhbiBpMThuPkNyZWF0ZTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L3JvbGF0ZWNoLXRvb2xiYXI+XG5AaWYgKGlzTG9hZGluZykge1xuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIj5cbiAgICA8cm9sYXRlY2gtc3Bpbm5lcj48L3JvbGF0ZWNoLXNwaW5uZXI+XG4gIDwvZGl2PlxufSBAZWxzZSB7XG4gIDxyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1pdGVtLWhlYWRlcj48L3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWl0ZW0taGVhZGVyPlxuICBAZm9yIChpdGVtIG9mIHByb2R1Y3RzOyB0cmFjayAkaW5kZXgpIHtcbiAgICA8cm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtaXRlbSBbcHJvZHVjdF09XCJpdGVtXCIgcm91dGVyTGluaz1cIi4ve3sgaXRlbS5pZCB9fS9tYW5hZ2UvaW5mb1wiPjwvcm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtaXRlbT5cbiAgfVxuICA8bWF0LXBhZ2luYXRvclxuICAgICNwYWdpbmF0b3JcbiAgICBbbGVuZ3RoXT1cImxlbmd0aFwiXG4gICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgICBbcGFnZVNpemVPcHRpb25zXT1cInBhZ2VTaXplT3B0aW9uc1wiXG4gICAgKHBhZ2UpPVwicGFnZUV2ZW50ID0gZmluZCgkZXZlbnQpXCJcbiAgICBoaWRlUGFnZVNpemVcbiAgICBzaG93Rmlyc3RMYXN0QnV0dG9uc1xuICA+XG4gIDwvbWF0LXBhZ2luYXRvcj5cbn1cbiJdfQ==","import { Component, inject } from '@angular/core';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { ProductService } from '@rolatech/angular-services';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/form-field\";\nimport * as i3 from \"@angular/material/input\";\nimport * as i4 from \"@angular/cdk/text-field\";\nimport * as i5 from \"@angular/material/button\";\nexport class ProductManageCreateComponent {\n constructor() {\n this.productService = inject(ProductService);\n this.router = inject(Router);\n this.route = inject(ActivatedRoute);\n this.snackBar = inject(MatSnackBar);\n this.product = {};\n }\n create() {\n const data = {\n ...this.product,\n // classroom: this.selectedClassroom,\n };\n this.productService.create(data).subscribe({\n next: (res) => {\n this.router.navigate([`../${res.data.id}/manage/info`], {\n relativeTo: this.route,\n });\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageCreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.2\", type: ProductManageCreateComponent, isStandalone: true, selector: \"rolatech-product-manage-create\", ngImport: i0, template: \"<rolatech-toolbar title=\\\"Create product\\\" link=\\\"../\\\"> </rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n <section>\\n <form #productForm=\\\"ngForm\\\">\\n <div class=\\\"flex flex-col\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Name </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"product.name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"product.description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n </div>\\n </form>\\n </section>\\n <div class=\\\"mt-3\\\">\\n <button mat-flat-button [disabled]=\\\"!productForm.valid\\\" class=\\\"w-28\\\" (click)=\\\"create()\\\" i18n>Create</button>\\n </div>\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i1.RequiredValidator, selector: \":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]\", inputs: [\"required\"] }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: i1.NgForm, selector: \"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]\", inputs: [\"ngFormOptions\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i2.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i2.MatLabel, selector: \"mat-label\" }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"directive\", type: i3.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"directive\", type: i4.CdkTextareaAutosize, selector: \"textarea[cdkTextareaAutosize]\", inputs: [\"cdkAutosizeMinRows\", \"cdkAutosizeMaxRows\", \"cdkTextareaAutosize\", \"placeholder\"], exportAs: [\"cdkTextareaAutosize\"] }, { kind: \"ngmodule\", type: TextFieldModule }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"ngmodule\", type: MatOptionModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i5.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\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageCreateComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-create', imports: [\n ToolbarComponent,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n ], template: \"<rolatech-toolbar title=\\\"Create product\\\" link=\\\"../\\\"> </rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n <section>\\n <form #productForm=\\\"ngForm\\\">\\n <div class=\\\"flex flex-col\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Name </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"product.name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"product.description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n </div>\\n </form>\\n </section>\\n <div class=\\\"mt-3\\\">\\n <button mat-flat-button [disabled]=\\\"!productForm.valid\\\" class=\\\"w-28\\\" (click)=\\\"create()\\\" i18n>Create</button>\\n </div>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtY3JlYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL3BhZ2VzL3Byb2R1Y3QtbWFuYWdlL3Byb2R1Y3QtbWFuYWdlLWNyZWF0ZS9wcm9kdWN0LW1hbmFnZS1jcmVhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtY3JlYXRlL3Byb2R1Y3QtbWFuYWdlLWNyZWF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7QUFpQjFELE1BQU0sT0FBTyw0QkFBNEI7SUFmekM7UUFnQlUsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9CLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsWUFBTyxHQUFRLEVBQUUsQ0FBQztLQWlCbkI7SUFoQkMsTUFBTTtRQUNKLE1BQU0sSUFBSSxHQUFHO1lBQ1gsR0FBRyxJQUFJLENBQUMsT0FBTztZQUNmLHFDQUFxQztTQUN0QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQUU7b0JBQ3RELFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSztpQkFDdkIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FyQlUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsMEZDNUJ6Qyx5K0JBNEJBLDBERFpJLGdCQUFnQiwrSEFDaEIsV0FBVyxvd0NBQ1gsa0JBQWtCLDBTQUNsQixjQUFjLGdtQkFDZCxlQUFlLDhCQUNmLGVBQWUsOEJBQ2YsZUFBZSw4QkFDZixlQUFlOzsyRkFLTiw0QkFBNEI7a0JBZnhDLFNBQVM7K0JBQ0UsZ0NBQWdDLFdBQ2pDO3dCQUNQLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGV4dEZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RleHQtZmllbGQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNyZWF0ZScsXG4gIGltcG9ydHM6IFtcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBUZXh0RmllbGRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS1jcmVhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtY3JlYXRlLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZUNyZWF0ZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcHJvZHVjdFNlcnZpY2UgPSBpbmplY3QoUHJvZHVjdFNlcnZpY2UpO1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG4gIHByb2R1Y3Q6IGFueSA9IHt9O1xuICBjcmVhdGUoKSB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIC4uLnRoaXMucHJvZHVjdCxcbiAgICAgIC8vIGNsYXNzcm9vbTogdGhpcy5zZWxlY3RlZENsYXNzcm9vbSxcbiAgICB9O1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuY3JlYXRlKGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgLi4vJHtyZXMuZGF0YS5pZH0vbWFuYWdlL2luZm9gXSwge1xuICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oZS5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwiQ3JlYXRlIHByb2R1Y3RcIiBsaW5rPVwiLi4vXCI+IDwvcm9sYXRlY2gtdG9vbGJhcj5cbjxkaXYgY2xhc3M9XCJwLTNcIj5cbiAgPHNlY3Rpb24+XG4gICAgPGZvcm0gI3Byb2R1Y3RGb3JtPVwibmdGb3JtXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIGkxOG4+IE5hbWUgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJwcm9kdWN0Lm5hbWVcIiBuYW1lPVwibmFtZVwiIHJlcXVpcmVkIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgaTE4bj4gRGVzY3JpcHRpb24gPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwcm9kdWN0LmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIG5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgY2RrVGV4dGFyZWFBdXRvc2l6ZVxuICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiM1wiXG4gICAgICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvc2VjdGlvbj5cbiAgPGRpdiBjbGFzcz1cIm10LTNcIj5cbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwiIXByb2R1Y3RGb3JtLnZhbGlkXCIgY2xhc3M9XCJ3LTI4XCIgKGNsaWNrKT1cImNyZWF0ZSgpXCIgaTE4bj5DcmVhdGU8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==","import { Component, inject } from '@angular/core';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport { AngularComponentsModule, BaseComponent, ConfirmationDialogComponent, ToolbarComponent, } from '@rolatech/angular-components';\nimport { ProductService } from '@rolatech/angular-services';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { ProductManageOptionAddComponent, ProductManageOptionItemComponent } from '../../../components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/icon\";\nexport class ProductManageOptionsComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.productService = inject(ProductService);\n this.options = [];\n this.add = false;\n }\n ngOnInit() {\n this.id = this.route.parent?.snapshot.paramMap.get('id');\n this.find();\n }\n find() {\n this.productService.findOptions(this.id).subscribe({\n next: (res) => {\n this.options = res.data || [];\n },\n });\n }\n saveOption(option) {\n this.productService.addOption(this.id, option).subscribe({\n next: (res) => {\n this.options.push(res.data);\n this.add = false;\n },\n });\n }\n onUpdateOption(option) {\n const options = {\n title: 'Edit options',\n cancelText: 'Cancel',\n confirmText: 'Confirm',\n data: {\n option: option,\n action: false,\n },\n component: ProductManageOptionAddComponent,\n };\n this.dialogService.open(options);\n this.dialogService.confirmed().subscribe({\n next: (res) => {\n if (res) {\n this.productService.updateOption(option.id, res).subscribe({\n next: (res) => {\n option.values = res.data.values;\n },\n });\n }\n },\n });\n }\n onDeleteOption(option) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '400px',\n data: {\n title: 'Delete option',\n message: `Confirm delete ${option.name} ?`,\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.productService.deleteOption(option.id).subscribe({\n next: (res) => {\n const index = this.options.findIndex((item) => item.id === option.id);\n this.options.splice(index, 1);\n this.snackBarService.open('Delete successfully');\n },\n });\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageOptionsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductManageOptionsComponent, isStandalone: true, selector: \"rolatech-product-manage-options\", usesInheritance: true, ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Options\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div>\\n @for (item of options; track $index) {\\n <rolatech-product-manage-option-item\\n [option]=\\\"item\\\"\\n (delete)=\\\"onDeleteOption($event)\\\"\\n (edit)=\\\"onUpdateOption($event)\\\"\\n ></rolatech-product-manage-option-item>\\n }\\n <div class=\\\"mt-3\\\">\\n @if (add) {\\n <rolatech-product-manage-option-add\\n (save)=\\\"saveOption($event)\\\"\\n (cancel)=\\\"add = false\\\"\\n ></rolatech-product-manage-option-add>\\n } @else {\\n <button mat-stroked-button (click)=\\\"add = true\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Add</span>\\n </button>\\n }\\n </div>\\n </div>\\n</rolatech-product-manage-content>\\n\", styles: [\"\"], dependencies: [{ kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i2.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: ProductManageOptionItemComponent, selector: \"rolatech-product-manage-option-item\", inputs: [\"option\"], outputs: [\"delete\", \"save\", \"edit\"] }, { kind: \"component\", type: ProductManageOptionAddComponent, selector: \"rolatech-product-manage-option-add\", outputs: [\"cancel\", \"save\", \"output\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageOptionsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-options', imports: [\n ProductManageContentComponent,\n ToolbarComponent,\n MatButtonModule,\n MatFormFieldModule,\n AngularCommonModule,\n AngularComponentsModule,\n MatIconModule,\n ProductManageOptionItemComponent,\n ProductManageOptionAddComponent,\n ], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Options\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div>\\n @for (item of options; track $index) {\\n <rolatech-product-manage-option-item\\n [option]=\\\"item\\\"\\n (delete)=\\\"onDeleteOption($event)\\\"\\n (edit)=\\\"onUpdateOption($event)\\\"\\n ></rolatech-product-manage-option-item>\\n }\\n <div class=\\\"mt-3\\\">\\n @if (add) {\\n <rolatech-product-manage-option-add\\n (save)=\\\"saveOption($event)\\\"\\n (cancel)=\\\"add = false\\\"\\n ></rolatech-product-manage-option-add>\\n } @else {\\n <button mat-stroked-button (click)=\\\"add = true\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Add</span>\\n </button>\\n }\\n </div>\\n </div>\\n</rolatech-product-manage-content>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2Utb3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0LW1hbmFnZS9wcm9kdWN0LW1hbmFnZS1vcHRpb25zL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2Utb3B0aW9ucy9wcm9kdWN0LW1hbmFnZS1vcHRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUMzRyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFDYiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEdBQ2pCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLGdDQUFnQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFrQnhHLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxhQUFhO0lBaEJoRTs7UUFpQkUsbUJBQWMs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QUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO29CQUNuRCxDQUFDO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBcEVVLDZCQUE2QjtrR0FBN0IsNkJBQTZCLGtIQ2hDMUMsNDBCQXlCQSwwREROSSw2QkFBNkIsNEVBQzdCLGdCQUFnQiwrSEFDaEIsZUFBZSxtWEFDZixrQkFBa0IsOEJBQ2xCLG1CQUFtQiw4QkFDbkIsdUJBQXVCLG1MQUN2QixhQUFhLCtCQUNiLGdDQUFnQyx5SUFDaEMsK0JBQStCOzsyRkFLdEIsNkJBQTZCO2tCQWhCekMsU0FBUzsrQkFDRSxpQ0FBaUMsV0FDbEM7d0JBQ1AsNkJBQTZCO3dCQUM3QixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsYUFBYTt3QkFDYixnQ0FBZ0M7d0JBQ2hDLCtCQUErQjtxQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2R1Y3RNYW5hZ2VDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZHVjdC1tYW5hZ2UtY29udGVudC9wcm9kdWN0LW1hbmFnZS1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgQmFzZUNvbXBvbmVudCxcbiAgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LFxuICBUb29sYmFyQ29tcG9uZW50LFxufSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgUHJvZHVjdE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlT3B0aW9uQWRkQ29tcG9uZW50LCBQcm9kdWN0TWFuYWdlT3B0aW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1vcHRpb25zJyxcbiAgaW1wb3J0czogW1xuICAgIFByb2R1Y3RNYW5hZ2VDb250ZW50Q29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBBbmd1bGFyQ29tbW9uTW9kdWxlLFxuICAgIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgUHJvZHVjdE1hbmFnZU9wdGlvbkl0ZW1Db21wb25lbnQsXG4gICAgUHJvZHVjdE1hbmFnZU9wdGlvbkFkZENvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2Utb3B0aW9ucy5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNYW5hZ2VPcHRpb25zQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb2R1Y3RTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RTZXJ2aWNlKTtcbiAgb3B0aW9uczogUHJvZHVjdE9wdGlvbltdID0gW107XG5cbiAgYWRkID0gZmFsc2U7XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaWQgPSB0aGlzLnJvdXRlLnBhcmVudD8uc25hcHNob3QucGFyYW1NYXAuZ2V0KCdpZCcpIGFzIHN0cmluZztcbiAgICB0aGlzLmZpbmQoKTtcbiAgfVxuICBmaW5kKCkge1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZmluZE9wdGlvbnModGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gcmVzLmRhdGEgfHwgW107XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHNhdmVPcHRpb24ob3B0aW9uOiBQcm9kdWN0T3B0aW9uKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5hZGRPcHRpb24odGhpcy5pZCwgb3B0aW9uKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLm9wdGlvbnMucHVzaChyZXMuZGF0YSk7XG4gICAgICAgIHRoaXMuYWRkID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uVXBkYXRlT3B0aW9uKG9wdGlvbjogUHJvZHVjdE9wdGlvbikge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICB0aXRsZTogJ0VkaXQgb3B0aW9ucycsXG4gICAgICBjYW5jZWxUZXh0OiAnQ2FuY2VsJyxcbiAgICAgIGNvbmZpcm1UZXh0OiAnQ29uZmlybScsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIG9wdGlvbjogb3B0aW9uLFxuICAgICAgICBhY3Rpb246IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIGNvbXBvbmVudDogUHJvZHVjdE1hbmFnZU9wdGlvbkFkZENvbXBvbmVudCxcbiAgICB9O1xuICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKG9wdGlvbnMpO1xuICAgIHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtZWQoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS51cGRhdGVPcHRpb24ob3B0aW9uLmlkLCByZXMpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICAgIG9wdGlvbi52YWx1ZXMgPSByZXMuZGF0YS52YWx1ZXM7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uRGVsZXRlT3B0aW9uKG9wdGlvbjogUHJvZHVjdE9wdGlvbikge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzQwMHB4JyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdGl0bGU6ICdEZWxldGUgb3B0aW9uJyxcbiAgICAgICAgbWVzc2FnZTogYENvbmZpcm0gZGVsZXRlICR7b3B0aW9uLm5hbWV9ID9gLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZGVsZXRlT3B0aW9uKG9wdGlvbi5pZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMub3B0aW9ucy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IG9wdGlvbi5pZCk7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ0RlbGV0ZSBzdWNjZXNzZnVsbHknKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPHJvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4gIDxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwiT3B0aW9uc1wiIGNsYXNzPVwiaGlkZGVuIG1kOmJsb2NrXCIgZGl2aWRlcj4gPC9yb2xhdGVjaC10b29sYmFyPlxuICA8ZGl2PlxuICAgIEBmb3IgKGl0ZW0gb2Ygb3B0aW9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8cm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWl0ZW1cbiAgICAgICAgW29wdGlvbl09XCJpdGVtXCJcbiAgICAgICAgKGRlbGV0ZSk9XCJvbkRlbGV0ZU9wdGlvbigkZXZlbnQpXCJcbiAgICAgICAgKGVkaXQpPVwib25VcGRhdGVPcHRpb24oJGV2ZW50KVwiXG4gICAgICA+PC9yb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1vcHRpb24taXRlbT5cbiAgICB9XG4gICAgPGRpdiBjbGFzcz1cIm10LTNcIj5cbiAgICAgIEBpZiAoYWRkKSB7XG4gICAgICAgIDxyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1vcHRpb24tYWRkXG4gICAgICAgICAgKHNhdmUpPVwic2F2ZU9wdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAoY2FuY2VsKT1cImFkZCA9IGZhbHNlXCJcbiAgICAgICAgPjwvcm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWFkZD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwiYWRkID0gdHJ1ZVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuIGkxOG4+QWRkPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4iXX0=","import { Component, computed, inject, model, output } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatTableModule } from '@angular/material/table';\nimport { AngularCommonModule, DecimalDirective } from '@rolatech/angular-common';\nimport { AngularComponentsModule, ImagePreviewDialogComponent } from '@rolatech/angular-components';\nimport { OptionsFormatPipe } from '@rolatech/angular-common';\nimport { ProductInventoryStatus } from '../../interfaces';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSelectModule } from '@angular/material/select';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/autocomplete\";\nimport * as i3 from \"@angular/material/button\";\nimport * as i4 from \"@angular/material/divider\";\nimport * as i5 from \"@angular/material/icon\";\nimport * as i6 from \"@angular/material/form-field\";\nimport * as i7 from \"@angular/material/input\";\nimport * as i8 from \"@angular/material/progress-spinner\";\nimport * as i9 from \"@angular/material/select\";\nexport class ProductManageVariantComponent {\n constructor() {\n this.dialog = inject(MatDialog);\n this.variant = model.required(...(ngDevMode ? [{ debugName: \"variant\" }] : []));\n this.price = computed(() => {\n return this.variant().price ? (this.variant().price / 100).toFixed(2) : '0.00';\n }, ...(ngDevMode ? [{ debugName: \"price\" }] : []));\n this.expanded = false;\n this.upload = output();\n this.variantStatus = ProductInventoryStatus;\n this.enumKeys = Object.keys(this.variantStatus).filter((key) => isNaN(Number(key)));\n }\n onUpload(event) {\n const file = event.target.files[0];\n if (file) {\n const reader = new FileReader();\n const formData = new FormData();\n formData.append('file', file);\n reader.readAsDataURL(file);\n reader.onload = () => {\n const img = new Image();\n img.onload = () => {\n this.variant.update((item) => {\n item.media = item.media ? item.media : [];\n item.media.push({\n url: img.src,\n alt: 'upload image',\n uploading: true,\n });\n return item;\n });\n };\n img.src = reader.result;\n this.upload.emit(formData);\n };\n reader.onerror = (error) => { };\n }\n }\n onMediaClick(i) {\n const dialogRef = this.dialog.open(ImagePreviewDialogComponent, {\n maxWidth: '80vw',\n maxHeight: '80vh',\n height: '80%',\n width: '80%',\n panelClass: 'full-screen-modal',\n data: {\n media: this.variant().media,\n selected: i,\n },\n });\n dialogRef.afterClosed().subscribe((result) => { });\n }\n statusCompareFn(t1, t2) {\n return t1 === ProductInventoryStatus[t2];\n }\n onStatusChange(event) {\n this.variant.update((item) => {\n item.status = Object.keys(this.variantStatus).find((key) => this.variantStatus[key] === event.value);\n return item;\n });\n }\n onPriceChange(event) {\n const value = event.target.value;\n this.variant.update((currentVariant) => {\n currentVariant.price = value * 100;\n return { ...currentVariant };\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageVariantComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductManageVariantComponent, isStandalone: true, selector: \"rolatech-product-manage-variant\", inputs: { variant: { classPropertyName: \"variant\", publicName: \"variant\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { variant: \"variantChange\", upload: \"upload\" }, ngImport: i0, template: \"<div class=\\\"flex items-center h-[72px] cursor-pointer px-2\\\" (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\">\\n <div>{{ variant().options | options }}</div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"px-3 dense-2\\\" (click)=\\\"$event.stopPropagation()\\\">\\n <mat-form-field subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <span matTextPrefix> \\u00A5 </span>\\n <input matInput type=\\\"text\\\" [value]=\\\"price()\\\" (change)=\\\"onPriceChange($event)\\\" rolatechDecimal />\\n </mat-form-field>\\n </div>\\n <div class=\\\"px-3\\\">\\n <mat-form-field class=\\\"dense-2\\\" (click)=\\\"$event.stopPropagation()\\\" subscriptSizing=\\\"dynamic\\\">\\n <mat-select\\n name=\\\"type\\\"\\n [compareWith]=\\\"statusCompareFn\\\"\\n (selectionChange)=\\\"onStatusChange($event)\\\"\\n [(ngModel)]=\\\"variant().status\\\"\\n >\\n @for (key of enumKeys; track key) {\\n <mat-option [value]=\\\"variantStatus[key]\\\">\\n {{ variantStatus[key] }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n </div>\\n <div class=\\\"block w-20 text-right\\\">\\n <button mat-icon-button aria-label=\\\"expand row\\\" (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\">\\n @if (expanded) {\\n <mat-icon>keyboard_arrow_up</mat-icon>\\n } @else {\\n <mat-icon>keyboard_arrow_down</mat-icon>\\n }\\n </button>\\n </div>\\n</div>\\n<div>\\n <div class=\\\"flex flex-col gap-3 w-full overflow-hidden\\\" [@detailExpand]=\\\"expanded ? 'expanded' : 'collapsed'\\\">\\n <div class=\\\"flex flex-col my-3 md:w-1/2\\\">\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <span matTextPrefix> \\u00A5 </span>\\n <input matInput type=\\\"number\\\" [value]=\\\"price()\\\" rolatechDecimal />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\">\\n <mat-label>\\u5E93\\u5B58</mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"variant().price\\\" />\\n </mat-form-field>\\n </div>\\n <div class=\\\"flex flex-col items-start my-3 md:w-1/2\\\">\\n <div class=\\\"flex flex-wrap\\\">\\n @for (media of variant().media; track $index) {\\n <div class=\\\"media-list-item\\\">\\n <div class=\\\"inner-media\\\">\\n @defer (on viewport()) {\\n <img (click)=\\\"onMediaClick($index)\\\" [src]=\\\"media.url\\\" [alt]=\\\"media.alt\\\" />\\n } @placeholder {\\n <div class=\\\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\\\"></div>\\n }\\n @if (media.uploading) {\\n <div class=\\\"absolute flex items-center justify-center p-4 w-full h-full bg-[--rt-20-percent-layer]\\\">\\n <mat-spinner></mat-spinner>\\n <!--\\n <svg\\n viewBox=\\\"0 0 24 24\\\"\\n preserveAspectRatio=\\\"xMidYMid meet\\\"\\n focusable=\\\"false\\\"\\n class=\\\"style-scope tp-yt-iron-icon\\\"\\n style=\\\"pointer-events: none; display: block; width: 100%; height: 100%\\\"\\n >\\n <g class=\\\"style-scope tp-yt-iron-icon\\\">\\n <path\\n d=\\\"M17,18v1H6V18ZM6.49,9l.71.71L11,5.91V16h1V5.91l3.8,3.81L16.51,9l-5-5Z\\\"\\n class=\\\"style-scope tp-yt-iron-icon\\\"\\n ></path>\\n </g>\\n </svg>\\n <span>Uploading\\u2026</span> -->\\n </div>\\n }\\n </div>\\n </div>\\n }\\n <div class=\\\"media-list-item\\\">\\n <div class=\\\"inner-media\\\" (click)=\\\"fileInput.click()\\\">\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"48px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"48px\\\" fill=\\\"#5f6368\\\">\\n <path d=\\\"M444-444H240v-72h204v-204h72v204h204v72H516v204h-72v-204Z\\\" />\\n </svg>\\n </div>\\n </div>\\n <input style=\\\"display: none\\\" type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"onUpload($event)\\\" #fileInput />\\n </div>\\n </div>\\n </div>\\n</div>\\n<mat-divider></mat-divider>\\n\", styles: [\".media-list-item{cursor:pointer;position:relative;padding:2px}.inner-media{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:4px;border:1px solid grey;position:relative;cursor:pointer;overflow:hidden}mat-form-field{width:160px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i2.MatOption, selector: \"mat-option\", inputs: [\"value\", \"id\", \"disabled\"], outputs: [\"onSelectionChange\"], exportAs: [\"matOption\"] }, { 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.MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }, { kind: \"component\", type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: i6.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i6.MatLabel, selector: \"mat-label\" }, { kind: \"directive\", type: i6.MatPrefix, selector: \"[matPrefix], [matIconPrefix], [matTextPrefix]\", inputs: [\"matTextPrefix\"] }, { kind: \"directive\", type: i7.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"component\", type: i8.MatProgressSpinner, selector: \"mat-progress-spinner, mat-spinner\", inputs: [\"color\", \"mode\", \"value\", \"diameter\", \"strokeWidth\"], exportAs: [\"matProgressSpinner\"] }, { kind: \"component\", type: i9.MatSelect, selector: \"mat-select\", inputs: [\"aria-describedby\", \"panelClass\", \"disabled\", \"disableRipple\", \"tabIndex\", \"hideSingleSelectionIndicator\", \"placeholder\", \"required\", \"multiple\", \"disableOptionCentering\", \"compareWith\", \"value\", \"aria-label\", \"aria-labelledby\", \"errorStateMatcher\", \"typeaheadDebounceInterval\", \"sortComparator\", \"id\", \"panelWidth\", \"canSelectNullableOptions\"], outputs: [\"openedChange\", \"opened\", \"closed\", \"selectionChange\", \"valueChange\"], exportAs: [\"matSelect\"] }, { kind: \"ngmodule\", type: MatTableModule }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"directive\", type: DecimalDirective, selector: \"[rolatechDecimal]\" }, { kind: \"ngmodule\", type: MatProgressBarModule }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"pipe\", type: OptionsFormatPipe, name: \"options\" }], animations: [\n trigger('detailExpand', [\n state('collapsed', style({ height: '0px' })),\n state('expanded', style({ height: '*' })),\n transition('expanded <=> collapsed', animate('220ms cubic-bezier(0.25, 0.1, 0.25, 1)')),\n ]),\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageVariantComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-variant', imports: [\n AngularCommonModule,\n AngularComponentsModule,\n OptionsFormatPipe,\n MatTableModule,\n MatIcon,\n MatFormFieldModule,\n DecimalDirective,\n MatProgressBarModule,\n MatSelectModule,\n ], animations: [\n trigger('detailExpand', [\n state('collapsed', style({ height: '0px' })),\n state('expanded', style({ height: '*' })),\n transition('expanded <=> collapsed', animate('220ms cubic-bezier(0.25, 0.1, 0.25, 1)')),\n ]),\n ], template: \"<div class=\\\"flex items-center h-[72px] cursor-pointer px-2\\\" (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\">\\n <div>{{ variant().options | options }}</div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"px-3 dense-2\\\" (click)=\\\"$event.stopPropagation()\\\">\\n <mat-form-field subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <span matTextPrefix> \\u00A5 </span>\\n <input matInput type=\\\"text\\\" [value]=\\\"price()\\\" (change)=\\\"onPriceChange($event)\\\" rolatechDecimal />\\n </mat-form-field>\\n </div>\\n <div class=\\\"px-3\\\">\\n <mat-form-field class=\\\"dense-2\\\" (click)=\\\"$event.stopPropagation()\\\" subscriptSizing=\\\"dynamic\\\">\\n <mat-select\\n name=\\\"type\\\"\\n [compareWith]=\\\"statusCompareFn\\\"\\n (selectionChange)=\\\"onStatusChange($event)\\\"\\n [(ngModel)]=\\\"variant().status\\\"\\n >\\n @for (key of enumKeys; track key) {\\n <mat-option [value]=\\\"variantStatus[key]\\\">\\n {{ variantStatus[key] }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n </div>\\n <div class=\\\"block w-20 text-right\\\">\\n <button mat-icon-button aria-label=\\\"expand row\\\" (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\">\\n @if (expanded) {\\n <mat-icon>keyboard_arrow_up</mat-icon>\\n } @else {\\n <mat-icon>keyboard_arrow_down</mat-icon>\\n }\\n </button>\\n </div>\\n</div>\\n<div>\\n <div class=\\\"flex flex-col gap-3 w-full overflow-hidden\\\" [@detailExpand]=\\\"expanded ? 'expanded' : 'collapsed'\\\">\\n <div class=\\\"flex flex-col my-3 md:w-1/2\\\">\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <span matTextPrefix> \\u00A5 </span>\\n <input matInput type=\\\"number\\\" [value]=\\\"price()\\\" rolatechDecimal />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\">\\n <mat-label>\\u5E93\\u5B58</mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"variant().price\\\" />\\n </mat-form-field>\\n </div>\\n <div class=\\\"flex flex-col items-start my-3 md:w-1/2\\\">\\n <div class=\\\"flex flex-wrap\\\">\\n @for (media of variant().media; track $index) {\\n <div class=\\\"media-list-item\\\">\\n <div class=\\\"inner-media\\\">\\n @defer (on viewport()) {\\n <img (click)=\\\"onMediaClick($index)\\\" [src]=\\\"media.url\\\" [alt]=\\\"media.alt\\\" />\\n } @placeholder {\\n <div class=\\\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\\\"></div>\\n }\\n @if (media.uploading) {\\n <div class=\\\"absolute flex items-center justify-center p-4 w-full h-full bg-[--rt-20-percent-layer]\\\">\\n <mat-spinner></mat-spinner>\\n <!--\\n <svg\\n viewBox=\\\"0 0 24 24\\\"\\n preserveAspectRatio=\\\"xMidYMid meet\\\"\\n focusable=\\\"false\\\"\\n class=\\\"style-scope tp-yt-iron-icon\\\"\\n style=\\\"pointer-events: none; display: block; width: 100%; height: 100%\\\"\\n >\\n <g class=\\\"style-scope tp-yt-iron-icon\\\">\\n <path\\n d=\\\"M17,18v1H6V18ZM6.49,9l.71.71L11,5.91V16h1V5.91l3.8,3.81L16.51,9l-5-5Z\\\"\\n class=\\\"style-scope tp-yt-iron-icon\\\"\\n ></path>\\n </g>\\n </svg>\\n <span>Uploading\\u2026</span> -->\\n </div>\\n }\\n </div>\\n </div>\\n }\\n <div class=\\\"media-list-item\\\">\\n <div class=\\\"inner-media\\\" (click)=\\\"fileInput.click()\\\">\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"48px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"48px\\\" fill=\\\"#5f6368\\\">\\n <path d=\\\"M444-444H240v-72h204v-204h72v204h204v72H516v204h-72v-204Z\\\" />\\n </svg>\\n </div>\\n </div>\\n <input style=\\\"display: none\\\" type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"onUpload($event)\\\" #fileInput />\\n </div>\\n </div>\\n </div>\\n</div>\\n<mat-divider></mat-divider>\\n\", styles: [\".media-list-item{cursor:pointer;position:relative;padding:2px}.inner-media{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:4px;border:1px solid grey;position:relative;cursor:pointer;overflow:hidden}mat-form-field{width:160px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtdmFyaWFudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuYWdlLXZhcmlhbnQvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuYWdlLXZhcmlhbnQvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFx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a0JBQWtCLCtCQUNsQixnQkFBZ0IsNkRBQ2hCLG9CQUFvQiw4QkFDcEIsZUFBZSwwQkFOZixpQkFBaUIsa0NBVVA7WUFDVixPQUFPLENBQUMsY0FBYyxFQUFFO2dCQUN0QixLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUM1QyxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QyxVQUFVLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7YUFDeEYsQ0FBQztTQUNIOzsyRkFFVSw2QkFBNkI7a0JBdkJ6QyxTQUFTOytCQUNFLGlDQUFpQyxXQUNsQzt3QkFDUCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLE9BQU87d0JBQ1Asa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsZUFBZTtxQkFDaEIsY0FHVzt3QkFDVixPQUFPLENBQUMsY0FBYyxFQUFFOzRCQUN0QixLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDOzRCQUM1QyxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDOzRCQUN6QyxVQUFVLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7eUJBQ3hGLENBQUM7cUJBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIG1vZGVsLCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlLCBEZWNpbWFsRGlyZWN0aXZlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBJbWFnZVByZXZpZXdEaWFsb2dDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IE9wdGlvbnNGb3JtYXRQaXBlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IFByb2R1Y3RJbnZlbnRvcnlTdGF0dXMsIFByb2R1Y3RWYXJpYW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIGFuaW1hdGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RDaGFuZ2UsIE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLXZhcmlhbnQnLFxuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckNvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgICBPcHRpb25zRm9ybWF0UGlwZSxcbiAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICBNYXRJY29uLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBEZWNpbWFsRGlyZWN0aXZlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLXZhcmlhbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtdmFyaWFudC5jb21wb25lbnQuc2NzcycsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdkZXRhaWxFeHBhbmQnLCBbXG4gICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoeyBoZWlnaHQ6ICcwcHgnIH0pKSxcbiAgICAgIHN0YXRlKCdleHBhbmRlZCcsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpLFxuICAgICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPD0+IGNvbGxhcHNlZCcsIGFuaW1hdGUoJzIyMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjEsIDAuMjUsIDEpJykpLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWFuYWdlVmFyaWFudENvbXBvbmVudCB7XG4gIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuICB2YXJpYW50ID0gbW9kZWwucmVxdWlyZWQ8UHJvZHVjdFZhcmlhbnQ+KCk7XG4gIHByaWNlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnZhcmlhbnQoKS5wcmljZSA/ICh0aGlzLnZhcmlhbnQoKS5wcmljZSAvIDEwMCkudG9GaXhlZCgyKSA6ICcwLjAwJztcbiAgfSk7XG5cbiAgZXhwYW5kZWQgPSBmYWxzZTtcbiAgdXBsb2FkID0gb3V0cHV0PEZvcm1EYXRhPigpO1xuICB2YXJpYW50U3RhdHVzID0gUHJvZHVjdEludmVudG9yeVN0YXR1cztcbiAgZW51bUtleXMgPSBPYmplY3Qua2V5cyh0aGlzLnZhcmlhbnRTdGF0dXMpLmZpbHRlcigoa2V5KSA9PiBpc05hTihOdW1iZXIoa2V5KSkpO1xuXG4gIG9uVXBsb2FkKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBmaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBpbWc6IGFueSA9IG5ldyBJbWFnZSgpO1xuICAgICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmFyaWFudC51cGRhdGUoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0ubWVkaWEgPSBpdGVtLm1lZGlhID8gaXRlbS5tZWRpYSA6IFtdO1xuICAgICAgICAgICAgaXRlbS5tZWRpYS5wdXNoKHtcbiAgICAgICAgICAgICAgdXJsOiBpbWcuc3JjLFxuICAgICAgICAgICAgICBhbHQ6ICd1cGxvYWQgaW1hZ2UnLFxuICAgICAgICAgICAgICB1cGxvYWRpbmc6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICBpbWcuc3JjID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgdGhpcy51cGxvYWQuZW1pdChmb3JtRGF0YSk7XG4gICAgICB9O1xuICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoZXJyb3IpID0+IHt9O1xuICAgIH1cbiAgfVxuICBvbk1lZGlhQ2xpY2soaTogbnVtYmVyKSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihJbWFnZVByZXZpZXdEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIG1heFdpZHRoOiAnODB2dycsXG4gICAgICBtYXhIZWlnaHQ6ICc4MHZoJyxcbiAgICAgIGhlaWdodDogJzgwJScsXG4gICAgICB3aWR0aDogJzgwJScsXG4gICAgICBwYW5lbENsYXNzOiAnZnVsbC1zY3JlZW4tbW9kYWwnLFxuICAgICAgZGF0YToge1xuICAgICAgICBtZWRpYTogdGhpcy52YXJpYW50KCkubWVkaWEsXG4gICAgICAgIHNlbGVjdGVkOiBpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge30pO1xuICB9XG4gIHN0YXR1c0NvbXBhcmVGbih0MTogYW55LCB0MjogYW55KSB7XG4gICAgcmV0dXJuIHQxID09PSBQcm9kdWN0SW52ZW50b3J5U3RhdHVzW3QyXTtcbiAgfVxuICBvblN0YXR1c0NoYW5nZShldmVudDogTWF0U2VsZWN0Q2hhbmdlKSB7XG4gICAgdGhpcy52YXJpYW50LnVwZGF0ZSgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5zdGF0dXMgPSBPYmplY3Qua2V5cyh0aGlzLnZhcmlhbnRTdGF0dXMpLmZpbmQoKGtleSkgPT4gdGhpcy52YXJpYW50U3RhdHVzW2tleV0gPT09IGV2ZW50LnZhbHVlKSE7XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcbiAgfVxuICBvblByaWNlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnZhcmlhbnQudXBkYXRlKChjdXJyZW50VmFyaWFudCkgPT4ge1xuICAgICAgY3VycmVudFZhcmlhbnQucHJpY2UgPSB2YWx1ZSAqIDEwMDtcbiAgICAgIHJldHVybiB7IC4uLmN1cnJlbnRWYXJpYW50IH07XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBoLVs3MnB4XSBjdXJzb3ItcG9pbnRlciBweC0yXCIgKGNsaWNrKT1cImV4cGFuZGVkID0gIWV4cGFuZGVkOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgPGRpdj57eyB2YXJpYW50KCkub3B0aW9ucyB8IG9wdGlvbnMgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXgtMVwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHgtMyBkZW5zZS0yXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJoLTEyXCI+XG4gICAgICA8c3BhbiBtYXRUZXh0UHJlZml4PiDCpSAmbmJzcDs8L3NwYW4+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbdmFsdWVdPVwicHJpY2UoKVwiIChjaGFuZ2UpPVwib25QcmljZUNoYW5nZSgkZXZlbnQpXCIgcm9sYXRlY2hEZWNpbWFsIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJweC0zXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZGVuc2UtMlwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICA8bWF0LXNlbGVjdFxuICAgICAgICBuYW1lPVwidHlwZVwiXG4gICAgICAgIFtjb21wYXJlV2l0aF09XCJzdGF0dXNDb21wYXJlRm5cIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU3RhdHVzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInZhcmlhbnQoKS5zdGF0dXNcIlxuICAgICAgPlxuICAgICAgICBAZm9yIChrZXkgb2YgZW51bUtleXM7IHRyYWNrIGtleSkge1xuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ2YXJpYW50U3RhdHVzW2tleV1cIj5cbiAgICAgICAgICAgIHt7IHZhcmlhbnRTdGF0dXNba2V5XSB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgfVxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYmxvY2sgdy0yMCB0ZXh0LXJpZ2h0XCI+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cImV4cGFuZCByb3dcIiAoY2xpY2spPVwiZXhwYW5kZWQgPSAhZXhwYW5kZWQ7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgQGlmIChleHBhbmRlZCkge1xuICAgICAgICA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfdXA8L21hdC1pY29uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19kb3duPC9tYXQtaWNvbj5cbiAgICAgIH1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zIHctZnVsbCBvdmVyZmxvdy1oaWRkZW5cIiBbQGRldGFpbEV4cGFuZF09XCJleHBhbmRlZCA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG15LTMgbWQ6dy0xLzJcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cImgtMTJcIj5cbiAgICAgICAgPHNwYW4gbWF0VGV4dFByZWZpeD4gwqUgJm5ic3A7PC9zcGFuPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIFt2YWx1ZV09XCJwcmljZSgpXCIgcm9sYXRlY2hEZWNpbWFsIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICA8bWF0LWxhYmVsPuW6k+WtmDwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInZhcmlhbnQoKS5wcmljZVwiIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLXN0YXJ0IG15LTMgbWQ6dy0xLzJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcFwiPlxuICAgICAgICBAZm9yIChtZWRpYSBvZiB2YXJpYW50KCkubWVkaWE7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZWRpYS1saXN0LWl0ZW1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lci1tZWRpYVwiPlxuICAgICAgICAgICAgICBAZGVmZXIgKG9uIHZpZXdwb3J0KCkpIHtcbiAgICAgICAgICAgICAgICA8aW1nIChjbGljayk9XCJvbk1lZGlhQ2xpY2soJGluZGV4KVwiIFtzcmNdPVwibWVkaWEudXJsXCIgW2FsdF09XCJtZWRpYS5hbHRcIiAvPlxuICAgICAgICAgICAgICB9IEBwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXSBoLWZ1bGwgdy1mdWxsIG9iamVjdC1jb3ZlciBhc3BlY3QtdmlkZW8gcm91bmRlZC1sZ1wiPjwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAobWVkaWEudXBsb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFic29sdXRlIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHAtNCB3LWZ1bGwgaC1mdWxsIGJnLVstLXJ0LTIwLXBlcmNlbnQtbGF5ZXJdXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LXNwaW5uZXI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgICAgICAgIDwhLS1cbiAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICAgICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCJcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0eWxlLXNjb3BlIHRwLXl0LWlyb24taWNvblwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwicG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGcgY2xhc3M9XCJzdHlsZS1zY29wZSB0cC15dC1pcm9uLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNywxOHYxSDZWMThaTTYuNDksOWwuNzEuNzFMMTEsNS45MVYxNmgxVjUuOTFsMy44LDMuODFMMTYuNTEsOWwtNS01WlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0eWxlLXNjb3BlIHRwLXl0LWlyb24taWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvcGF0aD5cbiAgICAgICAgICAgICAgICAgICAgPC9nPlxuICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj5VcGxvYWRpbmfigKY8L3NwYW4+IC0tPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVkaWEtbGlzdC1pdGVtXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyLW1lZGlhXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCI+XG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCI0OHB4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCI0OHB4XCIgZmlsbD1cIiM1ZjYzNjhcIj5cbiAgICAgICAgICAgICAgPHBhdGggZD1cIk00NDQtNDQ0SDI0MHYtNzJoMjA0di0yMDRoNzJ2MjA0aDIwNHY3Mkg1MTZ2MjA0aC03MnYtMjA0WlwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxpbnB1dCBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIiB0eXBlPVwiZmlsZVwiIGFjY2VwdD1cImltYWdlLypcIiAoY2hhbmdlKT1cIm9uVXBsb2FkKCRldmVudClcIiAjZmlsZUlucHV0IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuIl19","import { ChangeDetectorRef, Component, inject, model, signal } from '@angular/core';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport { AngularComponentsModule, BaseComponent, SpinnerComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { InventoryService, ProductService } from '@rolatech/angular-services';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ProductManageVariantComponent } from '../../../components/product-manage-variant/product-manage-variant.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatSelectModule } from '@angular/material/select';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/slide-toggle\";\nexport class ProductManageVariantsComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.productService = inject(ProductService);\n this.inventoryService = inject(InventoryService);\n this.changeDetectorRefs = inject(ChangeDetectorRef);\n this.options = signal([], ...(ngDevMode ? [{ debugName: \"options\" }] : []));\n this.snackBar = inject(MatSnackBar);\n this.productPrice = model(...(ngDevMode ? [undefined, { debugName: \"productPrice\" }] : []));\n this.variantPriceChecked = false;\n this.loading = false;\n }\n ngOnInit() {\n this.id = this.route.parent?.snapshot.paramMap.get('id');\n this.getProduct();\n }\n onVariantSlideToggle(event) {\n const newState = event.checked;\n if (newState) {\n this.productService.updateVariantPrice(this.id, true).subscribe({\n next: (res) => {\n this.variants = res.data;\n this.variantPriceChecked = newState;\n },\n });\n }\n else {\n const options = {\n title: '取消价格策略吗',\n message: '这会删除现有策略, 确定吗?',\n cancelText: 'Cancel',\n confirmText: '确认',\n };\n this.dialogService.open(options);\n this.dialogService.confirmed().subscribe({\n next: (res) => {\n if (res) {\n this.productService.updateVariantPrice(this.id, false).subscribe({\n next: (res) => {\n this.variantPriceChecked = false;\n this.variants = res.data;\n },\n });\n }\n else {\n event.source.checked = !newState;\n }\n },\n });\n }\n }\n onInventorySlideToggle(e) { }\n saveVariants() {\n this.productService.updateVariants(this.id, this.variants).subscribe({\n next: (res) => {\n this.snackBarService.open('Success');\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n onUpload(variant, data) {\n this.productService.uploadVariantMedia(variant.id, data).subscribe({\n next: (res) => {\n variant.media[variant.media.length - 1] = {\n id: res.data.id,\n url: res.data.url + '!w200',\n uploading: false,\n };\n },\n error: (e) => {\n this.snackBar.open('Upload failed: ' + e.message);\n },\n });\n }\n findVariants() {\n this.productService.findVariants(this.id).subscribe({\n next: (res) => {\n if (res.data) {\n this.variantPriceChecked = true;\n }\n this.variants = res.data;\n },\n });\n }\n getProduct() {\n this.loading = true;\n this.productService.get(this.id).subscribe({\n next: (res) => {\n this.product = res.data;\n this.variants = this.product.variants;\n this.variantPriceChecked = this.variants ? this.variants.length > 0 : false;\n this.options.set(res.data.options || []);\n const price = (res.data.price / 100).toFixed(2);\n this.productPrice.set(price);\n this.loading = false;\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageVariantsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductManageVariantsComponent, isStandalone: true, selector: \"rolatech-product-manage-variants\", inputs: { productPrice: { classPropertyName: \"productPrice\", publicName: \"productPrice\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { productPrice: \"productPriceChange\" }, usesInheritance: true, ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u4EF7\\u683C\\u7B56\\u7565\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n\\n @if (loading) {\\n <rolatech-spinner></rolatech-spinner>\\n } @else {\\n <div class=\\\"flex justify-between header\\\">\\n <div class=\\\"flex items-center\\\">\\n <mat-slide-toggle\\n #slide\\n [checked]=\\\"variantPriceChecked\\\"\\n (change)=\\\"onVariantSlideToggle($event)\\\"\\n [disabled]=\\\"options().length <= 0\\\"\\n ></mat-slide-toggle>\\n <div>\\u6839\\u636E\\u5546\\u54C1\\u9009\\u9879\\u8BBE\\u7F6E\\u4E0D\\u540C\\u7684\\u4EF7\\u683C\\u548C\\u5E93\\u5B58</div>\\n </div>\\n </div>\\n\\n @if (slide.checked) {\\n <div>\\n <div class=\\\"header flex gap-3 h-14 items-center\\\">\\n <div class=\\\"px-3\\\">\\u540D\\u79F0</div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"w-[160px]\\\">\\u4EF7\\u683C</div>\\n <div class=\\\"w-[160px]\\\">\\u72B6\\u6001</div>\\n <!-- @if (inventorySlide.checked) {\\n <div class=\\\"w-[160px]\\\">\\u5E93\\u5B58</div>\\n } -->\\n\\n <div class=\\\"block w-20 text-right\\\">\\u5C55\\u5F00/\\u6298\\u53E0</div>\\n </div>\\n @for (item of variants; track $index) {\\n <rolatech-product-manage-variant [variant]=\\\"item\\\" (upload)=\\\"onUpload(item, $event)\\\"></rolatech-product-manage-variant>\\n }\\n </div>\\n <div class=\\\"mt-3\\\">\\n <button mat-button (click)=\\\"saveVariants()\\\" i18n>Save</button>\\n </div>\\n }\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-slide-toggle{scale:.8}mat-form-field{width:72px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i1.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.MatSlideToggle, selector: \"mat-slide-toggle\", inputs: [\"name\", \"id\", \"labelPosition\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"required\", \"color\", \"disabled\", \"disableRipple\", \"tabIndex\", \"checked\", \"hideIcon\", \"disabledInteractive\"], outputs: [\"change\", \"toggleChange\"], exportAs: [\"matSlideToggle\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: ProductManageVariantComponent, selector: \"rolatech-product-manage-variant\", inputs: [\"variant\"], outputs: [\"variantChange\", \"upload\"] }, { kind: \"component\", type: SpinnerComponent, selector: \"rolatech-spinner\", inputs: [\"title\"] }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"ngmodule\", type: MatOptionModule }, { kind: \"ngmodule\", type: MatButtonModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageVariantsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-variants', imports: [\n AngularCommonModule,\n AngularComponentsModule,\n ProductManageContentComponent,\n ToolbarComponent,\n MatFormFieldModule,\n ProductManageVariantComponent,\n SpinnerComponent,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n ], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u4EF7\\u683C\\u7B56\\u7565\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n\\n @if (loading) {\\n <rolatech-spinner></rolatech-spinner>\\n } @else {\\n <div class=\\\"flex justify-between header\\\">\\n <div class=\\\"flex items-center\\\">\\n <mat-slide-toggle\\n #slide\\n [checked]=\\\"variantPriceChecked\\\"\\n (change)=\\\"onVariantSlideToggle($event)\\\"\\n [disabled]=\\\"options().length <= 0\\\"\\n ></mat-slide-toggle>\\n <div>\\u6839\\u636E\\u5546\\u54C1\\u9009\\u9879\\u8BBE\\u7F6E\\u4E0D\\u540C\\u7684\\u4EF7\\u683C\\u548C\\u5E93\\u5B58</div>\\n </div>\\n </div>\\n\\n @if (slide.checked) {\\n <div>\\n <div class=\\\"header flex gap-3 h-14 items-center\\\">\\n <div class=\\\"px-3\\\">\\u540D\\u79F0</div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"w-[160px]\\\">\\u4EF7\\u683C</div>\\n <div class=\\\"w-[160px]\\\">\\u72B6\\u6001</div>\\n <!-- @if (inventorySlide.checked) {\\n <div class=\\\"w-[160px]\\\">\\u5E93\\u5B58</div>\\n } -->\\n\\n <div class=\\\"block w-20 text-right\\\">\\u5C55\\u5F00/\\u6298\\u53E0</div>\\n </div>\\n @for (item of variants; track $index) {\\n <rolatech-product-manage-variant [variant]=\\\"item\\\" (upload)=\\\"onUpload(item, $event)\\\"></rolatech-product-manage-variant>\\n }\\n </div>\\n <div class=\\\"mt-3\\\">\\n <button mat-button (click)=\\\"saveVariants()\\\" i18n>Save</button>\\n </div>\\n }\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-slide-toggle{scale:.8}mat-form-field{width:72px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFMUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFB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Q0FBa0MsV0FDbkM7d0JBQ1AsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLDZCQUE2Qjt3QkFDN0IsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLDZCQUE2Qjt3QkFDN0IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBpbmplY3QsIG1vZGVsLCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdWN0LW1hbmFnZS1jb250ZW50L3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBCYXNlQ29tcG9uZW50LCBTcGlubmVyQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBQcm9kdWN0LCBQcm9kdWN0T3B0aW9uLCBQcm9kdWN0VmFyaWFudCB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgSW52ZW50b3J5U2VydmljZSwgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgUHJvZHVjdE1hbmFnZVZhcmlhbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuYWdlLXZhcmlhbnQvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMnLFxuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckNvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgICBQcm9kdWN0TWFuYWdlQ29udGVudENvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBQcm9kdWN0TWFuYWdlVmFyaWFudENvbXBvbmVudCxcbiAgICBTcGlubmVyQ29tcG9uZW50LFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWFuYWdlVmFyaWFudHNDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvZHVjdFNlcnZpY2UgPSBpbmplY3QoUHJvZHVjdFNlcnZpY2UpO1xuICBpbnZlbnRvcnlTZXJ2aWNlID0gaW5qZWN0KEludmVudG9yeVNlcnZpY2UpO1xuICBjaGFuZ2VEZXRlY3RvclJlZnMgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBvcHRpb25zID0gc2lnbmFsPFByb2R1Y3RPcHRpb25bXT4oW10pO1xuICBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG4gIHByb2R1Y3RQcmljZSA9IG1vZGVsPHN0cmluZz4oKTtcbiAgdmFyaWFudHM6IGFueTtcbiAgdmFyaWFudFByaWNlQ2hlY2tlZCA9IGZhbHNlO1xuICBwcm9kdWN0ITogUHJvZHVjdDtcbiAgbG9hZGluZyA9IGZhbHNlO1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlkID0gdGhpcy5yb3V0ZS5wYXJlbnQ/LnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKSBhcyBzdHJpbmc7XG4gICAgdGhpcy5nZXRQcm9kdWN0KCk7XG4gIH1cblxuICBvblZhcmlhbnRTbGlkZVRvZ2dsZShldmVudDogTWF0U2xpZGVUb2dnbGVDaGFuZ2UpIHtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgaWYgKG5ld1N0YXRlKSB7XG4gICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLnVwZGF0ZVZhcmlhbnRQcmljZSh0aGlzLmlkLCB0cnVlKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgdGhpcy52YXJpYW50cyA9IHJlcy5kYXRhO1xuICAgICAgICAgIHRoaXMudmFyaWFudFByaWNlQ2hlY2tlZCA9IG5ld1N0YXRlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIHRpdGxlOiAn5Y+W5raI5Lu35qC8562W55Wl5ZCXJyxcbiAgICAgICAgbWVzc2FnZTogJ+i/meS8muWIoOmZpOeOsOacieetlueVpSwg56Gu5a6a5ZCXPycsXG4gICAgICAgIGNhbmNlbFRleHQ6ICdDYW5jZWwnLFxuICAgICAgICBjb25maXJtVGV4dDogJ+ehruiupCcsXG4gICAgICB9O1xuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4ob3B0aW9ucyk7XG4gICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybWVkKCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UudXBkYXRlVmFyaWFudFByaWNlKHRoaXMuaWQsIGZhbHNlKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52YXJpYW50UHJpY2VDaGVja2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy52YXJpYW50cyA9IHJlcy5kYXRhO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV2ZW50LnNvdXJjZS5jaGVja2VkID0gIW5ld1N0YXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBvbkludmVudG9yeVNsaWRlVG9nZ2xlKGU6IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlKSB7fVxuICBzYXZlVmFyaWFudHMoKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS51cGRhdGVWYXJpYW50cyh0aGlzLmlkLCB0aGlzLnZhcmlhbnRzKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCdTdWNjZXNzJyk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBvblVwbG9hZCh2YXJpYW50OiBhbnksIGRhdGE6IGFueSkge1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UudXBsb2FkVmFyaWFudE1lZGlhKHZhcmlhbnQuaWQsIGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdmFyaWFudC5tZWRpYVt2YXJpYW50Lm1lZGlhLmxlbmd0aCAtIDFdID0ge1xuICAgICAgICAgIGlkOiByZXMuZGF0YS5pZCxcbiAgICAgICAgICB1cmw6IHJlcy5kYXRhLnVybCArICchdzIwMCcsXG4gICAgICAgICAgdXBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGU6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ1VwbG9hZCBmYWlsZWQ6ICcgKyBlLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBmaW5kVmFyaWFudHMoKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5maW5kVmFyaWFudHModGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgaWYgKHJlcy5kYXRhKSB7XG4gICAgICAgICAgdGhpcy52YXJpYW50UHJpY2VDaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhcmlhbnRzID0gcmVzLmRhdGE7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGdldFByb2R1Y3QoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmdldCh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucHJvZHVjdCA9IHJlcy5kYXRhO1xuICAgICAgICB0aGlzLnZhcmlhbnRzID0gdGhpcy5wcm9kdWN0LnZhcmlhbnRzO1xuICAgICAgICB0aGlzLnZhcmlhbnRQcmljZUNoZWNrZWQgPSB0aGlzLnZhcmlhbnRzID8gdGhpcy52YXJpYW50cy5sZW5ndGggPiAwIDogZmFsc2U7XG4gICAgICAgIHRoaXMub3B0aW9ucy5zZXQocmVzLmRhdGEub3B0aW9ucyB8fCBbXSk7XG4gICAgICAgIGNvbnN0IHByaWNlID0gKHJlcy5kYXRhLnByaWNlIC8gMTAwKS50b0ZpeGVkKDIpO1xuICAgICAgICB0aGlzLnByb2R1Y3RQcmljZS5zZXQocHJpY2UpO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1jb250ZW50PlxuICA8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIuS7t+agvOetlueVpVwiIGNsYXNzPVwiaGlkZGVuIG1kOmJsb2NrXCIgZGl2aWRlcj4gPC9yb2xhdGVjaC10b29sYmFyPlxuXG4gIEBpZiAobG9hZGluZykge1xuICAgIDxyb2xhdGVjaC1zcGlubmVyPjwvcm9sYXRlY2gtc3Bpbm5lcj5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGhlYWRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgI3NsaWRlXG4gICAgICAgICAgW2NoZWNrZWRdPVwidmFyaWFudFByaWNlQ2hlY2tlZFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJvblZhcmlhbnRTbGlkZVRvZ2dsZSgkZXZlbnQpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9ucygpLmxlbmd0aCA8PSAwXCJcbiAgICAgICAgPjwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPGRpdj7moLnmja7llYblk4HpgInpobnorr7nva7kuI3lkIznmoTku7fmoLzlkozlupPlrZg8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChzbGlkZS5jaGVja2VkKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyIGZsZXggZ2FwLTMgaC0xNCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtM1wiPuWQjeensDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LTFcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1bMTYwcHhdXCI+5Lu35qC8PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInctWzE2MHB4XVwiPueKtuaAgTwvZGl2PlxuICAgICAgICAgIDwhLS0gQGlmIChpbnZlbnRvcnlTbGlkZS5jaGVja2VkKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1bMTYwcHhdXCI+5bqT5a2YPC9kaXY+XG4gICAgICAgICAgfSAtLT5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jayB3LTIwIHRleHQtcmlnaHRcIj7lsZXlvIAv5oqY5Y+gPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAZm9yIChpdGVtIG9mIHZhcmlhbnRzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8cm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtdmFyaWFudCBbdmFyaWFudF09XCJpdGVtXCIgKHVwbG9hZCk9XCJvblVwbG9hZChpdGVtLCAkZXZlbnQpXCI+PC9yb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS12YXJpYW50PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwic2F2ZVZhcmlhbnRzKClcIiBpMThuPlNhdmU8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfVxuPC9yb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1jb250ZW50PlxuIl19","import { Component } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, ToolbarComponent } from '@rolatech/angular-components';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport * as i0 from \"@angular/core\";\nexport class ProductManageScheduleComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageScheduleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.2\", type: ProductManageScheduleComponent, isStandalone: true, selector: \"rolatech-product-manage-schedule\", ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u53D1\\u5E03\\u8BBE\\u7F6E\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div></div>\\n</rolatech-product-manage-content>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageScheduleComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-schedule', imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent, ProductManageContentComponent], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u53D1\\u5E03\\u8BBE\\u7F6E\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div></div>\\n</rolatech-product-manage-content>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2Utc2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2Utc2NoZWR1bGUvcHJvZHVjdC1tYW5hZ2Utc2NoZWR1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2Utc2NoZWR1bGUvcHJvZHVjdC1tYW5hZ2Utc2NoZWR1bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQzs7QUFRM0csTUFBTSxPQUFPLDhCQUE4Qjs4R0FBOUIsOEJBQThCO2tHQUE5Qiw4QkFBOEIsNEZDWDNDLHVNQUlBLHlEREdZLG1CQUFtQiw4QkFBRSx1QkFBdUIsK0JBQUUsZ0JBQWdCLGdJQUFFLDZCQUE2Qjs7MkZBSTVGLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDRSxrQ0FBa0MsV0FDbkMsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdWN0LW1hbmFnZS1jb250ZW50L3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2Utc2NoZWR1bGUnLFxuICBpbXBvcnRzOiBbQW5ndWxhckNvbW1vbk1vZHVsZSwgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIFRvb2xiYXJDb21wb25lbnQsIFByb2R1Y3RNYW5hZ2VDb250ZW50Q29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLXNjaGVkdWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLXNjaGVkdWxlLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZVNjaGVkdWxlQ29tcG9uZW50IHt9XG4iLCI8cm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtY29udGVudD5cbiAgPHJvbGF0ZWNoLXRvb2xiYXIgdGl0bGU9XCLlj5HluIPorr7nva5cIiBjbGFzcz1cImhpZGRlbiBtZDpibG9ja1wiIGRpdmlkZXI+IDwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgPGRpdj48L2Rpdj5cbjwvcm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtY29udGVudD5cbiJdfQ==","import { Component, inject, model } from '@angular/core';\nimport { AngularCommonModule, FixedPipe, OptionsFormatPipe } from '@rolatech/angular-common';\nimport { AngularComponentsModule, BaseComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport { InventoryService, ProductService } from '@rolatech/angular-services';\nimport { MatSelectModule } from '@angular/material/select';\nimport _ from 'lodash';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/autocomplete\";\nimport * as i3 from \"@angular/material/button\";\nimport * as i4 from \"@angular/material/form-field\";\nimport * as i5 from \"@angular/material/input\";\nimport * as i6 from \"@angular/material/select\";\nimport * as i7 from \"@angular/material/slide-toggle\";\nexport class ProductManageInventoryComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.productService = inject(ProductService);\n this.inventoryService = inject(InventoryService);\n this.inventoryEnabled = false;\n this.loading = false;\n this.locations = model(...(ngDevMode ? [undefined, { debugName: \"locations\" }] : []));\n this.amount = 0;\n this.inventoryItem = {\n levels: [],\n };\n this.loadingLocation = false;\n this.inventories = [];\n }\n ngOnInit() {\n this.id = this.route.parent?.snapshot.paramMap.get('id');\n this.getProduct();\n this.findInventoryItemsByProductId(this.id);\n }\n getProduct() {\n this.loading = true;\n this.productService.get(this.id).subscribe({\n next: (res) => {\n this.product = res.data;\n this.formatVariants();\n this.findInventoryLocations();\n this.loading = false;\n },\n });\n }\n formatVariants() {\n this.product.variants?.forEach((item) => {\n this.inventories.push({\n variantId: item.id,\n options: item.options,\n price: item.price,\n amount: 0,\n available: 0,\n });\n });\n }\n formatStocks() { }\n findInventoryLevelsByLocationIdAndVariantIds() {\n const ids = _.uniq(_.map(this.product.variants, 'id')); // [12, 14, 16, 18]\n this.loadingLocation = true;\n this.inventoryService.findInventoryLevelsByLocationIdAndVariantIds(this.selectedLocation.id, ids).subscribe({\n next: (res) => {\n this.inventories.forEach((item) => {\n if (res.data) {\n const items = res.data.find((d) => d.variantId === item.variantId);\n const c = items.levels.find((aa) => aa.location['id'] === this.selectedLocation.id);\n item.amount = c.amount;\n item.available = c.available;\n }\n else {\n item.amount = 0;\n }\n });\n this.loadingLocation = false;\n },\n error: (error) => {\n this.loadingLocation = false;\n },\n });\n }\n findInventoryItemsByProductId(productId) {\n this.inventoryService.findInventoryItemsByProductId(productId).subscribe({\n next: (res) => {\n if (res.data) {\n this.inventoryEnabled = true;\n this.inventoryItem = res.data;\n }\n },\n });\n }\n findInventoryLocations() {\n this.inventoryService.findLocations({}).subscribe({\n next: (res) => {\n this.locations.set(res.data);\n this.selectedLocation = res.data[0];\n this.findInventoryLevelsByLocationIdAndVariantIds();\n },\n });\n }\n onLocationChange(event) {\n this.selectedLocation = event.value;\n this.findInventoryLevelsByLocationIdAndVariantIds();\n }\n onInventorySlideToggle(event) {\n const newState = event.checked;\n if (!newState) {\n const options = {\n title: '取消库存策略吗',\n message: '这会删除现有策略, 确定吗?',\n cancelText: 'Cancel',\n confirmText: '确认',\n };\n this.dialogService.open(options);\n this.dialogService.confirmed().subscribe({\n next: (res) => {\n if (res) {\n this.inventoryService.deleteInventoryItemsByProductId(this.id).subscribe({\n next: (res) => {\n this.inventoryEnabled = false;\n this.inventoryItem = {};\n },\n });\n }\n else {\n event.source.checked = !newState;\n }\n },\n });\n }\n else {\n // initInventoryItems\n const variantIds = _.uniq(_.map(this.product.variants, 'id')); // [12, 14, 16, 18]\n const data = {\n productId: this.id,\n variantIds,\n };\n this.inventoryService.initInventoryItems(data).subscribe({\n next: (res) => {\n this.inventoryItem = res.data;\n this.inventoryEnabled = true;\n },\n });\n }\n }\n onSelectionChange(item, event) {\n item.locationId = event.value.id;\n }\n compareLocationFn(o1, o2) {\n return o1?.id === o2?.id;\n }\n compareFn(o1, o2) {\n return o1.id === o2.id;\n }\n add() {\n const level = {\n location: {},\n amount: 0,\n };\n this.inventoryItem.levels.push(level);\n }\n saveInventoryLevels() {\n // this.inventoryService.updateStockByLocationIdAndProductId()\n const data = [];\n this.inventories.forEach((item) => {\n data.push({\n variantId: item.variantId,\n amount: item.amount,\n available: item.available,\n locationId: this.selectedLocation.id,\n });\n });\n this.inventoryService.adjustStocksByLocationId(data).subscribe({\n next: (res) => {\n this.snackBarService.open('Success');\n },\n });\n }\n save() {\n const locationIds = _.map(this.inventoryItem.levels, 'location.id');\n const duplicated = new Set(locationIds).size !== locationIds.length;\n if (duplicated) {\n this.snackBarService.open('仓库重复');\n return;\n }\n const data = {\n productId: this.id,\n levels: [],\n };\n this.inventoryItem.levels.forEach((item) => {\n data.levels.push({\n id: item.id,\n locationId: item.location.id,\n amount: item.amount,\n });\n });\n this.inventoryService.addInventoryItem(data).subscribe({\n next: (res) => {\n this.snackBarService.open('Success');\n },\n });\n }\n deleteLevel(index, level) {\n const options = {\n title: '确定删除吗',\n message: `这会删除现有仓库${level.location.name}商品库存数据, 确定吗?`,\n cancelText: 'Cancel',\n confirmText: '确认',\n };\n this.dialogService.open(options);\n this.dialogService.confirmed().subscribe({\n next: (res) => {\n if (res) {\n this.inventoryService.deleteInventoryLevel(level.id).subscribe({\n next: (res) => {\n this.inventoryItem.levels.splice(index, 1);\n },\n });\n }\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageInventoryComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductManageInventoryComponent, isStandalone: true, selector: \"rolatech-product-manage-inventory\", inputs: { locations: { classPropertyName: \"locations\", publicName: \"locations\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { locations: \"locationsChange\" }, usesInheritance: true, ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Inventory setting\\\" class=\\\"hidden md:block\\\" divider></rolatech-toolbar>\\n <div class=\\\"flex justify-between header\\\">\\n <div class=\\\"flex items-center\\\">\\n <mat-slide-toggle\\n #inventorySlide\\n [checked]=\\\"inventoryEnabled\\\"\\n (change)=\\\"onInventorySlideToggle($event)\\\"\\n ></mat-slide-toggle>\\n <div i18n>Enable tracking</div>\\n </div>\\n @if (inventoryEnabled) {\\n <mat-form-field>\\n <mat-select\\n name=\\\"id\\\"\\n [value]=\\\"selectedLocation\\\"\\n [compareWith]=\\\"compareLocationFn\\\"\\n #select=\\\"matSelect\\\"\\n (selectionChange)=\\\"onLocationChange($event)\\\"\\n >\\n @for (item of locations(); track item) {\\n <mat-option [value]=\\\"item\\\">\\n {{ item.name }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n }\\n </div>\\n @if (inventoryEnabled) {\\n <div class=\\\"flex flex-col divide-y divide-[--rt-10-percent-layer]\\\">\\n @for (item of inventories; track $index) {\\n <div class=\\\"flex justify-between items-center py-2\\\">\\n <div class=\\\"flex gap-3\\\">\\n <div>{{ item.options | options }}</div>\\n <!-- <div>{{ item.inventoryItemId }}</div> -->\\n </div>\\n <div class=\\\"flex gap-3\\\">\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <mat-label i18n>Price</mat-label>\\n <span matTextPrefix> \\u00A5 </span>\\n <input matInput type=\\\"number\\\" [value]=\\\"item.price | fixed\\\" rolatechDecimal />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <mat-label i18n>Total</mat-label>\\n <input matInput type=\\\"number\\\" [(ngModel)]=\\\"item.amount\\\" [disabled]=\\\"loadingLocation\\\" />\\n <!-- <input matInput type=\\\"number\\\" [value]=\\\"\\\" [disabled]=\\\"loadingLocation\\\" /> -->\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <mat-label i18n>Remaining</mat-label>\\n <input matInput type=\\\"number\\\" [(ngModel)]=\\\"item.available\\\" [disabled]=\\\"loadingLocation\\\" />\\n <!-- <input matInput type=\\\"number\\\" [value]=\\\"\\\" [disabled]=\\\"loadingLocation\\\" /> -->\\n </mat-form-field>\\n </div>\\n </div>\\n }\\n </div>\\n <div class=\\\"flex gap-3\\\">\\n <!-- <button mat-stroked-button (click)=\\\"add()\\\">\\u6DFB\\u52A0</button> -->\\n <button mat-flat-button (click)=\\\"saveInventoryLevels()\\\" i18n>Save</button>\\n </div>\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-slide-toggle{scale:.8}.header mat-form-field{width:200px}mat-form-field{width:120px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NumberValueAccessor, selector: \"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i2.MatOption, selector: \"mat-option\", inputs: [\"value\", \"id\", \"disabled\"], outputs: [\"onSelectionChange\"], exportAs: [\"matOption\"] }, { kind: \"component\", type: i3.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: i4.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i4.MatLabel, selector: \"mat-label\" }, { kind: \"directive\", type: i4.MatPrefix, selector: \"[matPrefix], [matIconPrefix], [matTextPrefix]\", inputs: [\"matTextPrefix\"] }, { kind: \"directive\", type: i5.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"component\", type: i6.MatSelect, selector: \"mat-select\", inputs: [\"aria-describedby\", \"panelClass\", \"disabled\", \"disableRipple\", \"tabIndex\", \"hideSingleSelectionIndicator\", \"placeholder\", \"required\", \"multiple\", \"disableOptionCentering\", \"compareWith\", \"value\", \"aria-label\", \"aria-labelledby\", \"errorStateMatcher\", \"typeaheadDebounceInterval\", \"sortComparator\", \"id\", \"panelWidth\", \"canSelectNullableOptions\"], outputs: [\"openedChange\", \"opened\", \"closed\", \"selectionChange\", \"valueChange\"], exportAs: [\"matSelect\"] }, { kind: \"component\", type: i7.MatSlideToggle, selector: \"mat-slide-toggle\", inputs: [\"name\", \"id\", \"labelPosition\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"required\", \"color\", \"disabled\", \"disableRipple\", \"tabIndex\", \"checked\", \"hideIcon\", \"disabledInteractive\"], outputs: [\"change\", \"toggleChange\"], exportAs: [\"matSlideToggle\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"pipe\", type: OptionsFormatPipe, name: \"options\" }, { kind: \"pipe\", type: FixedPipe, name: \"fixed\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageInventoryComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-inventory', imports: [\n AngularCommonModule,\n AngularComponentsModule,\n ToolbarComponent,\n ProductManageContentComponent,\n MatSelectModule,\n OptionsFormatPipe,\n FixedPipe,\n ], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Inventory setting\\\" class=\\\"hidden md:block\\\" divider></rolatech-toolbar>\\n <div class=\\\"flex justify-between header\\\">\\n <div class=\\\"flex items-center\\\">\\n <mat-slide-toggle\\n #inventorySlide\\n [checked]=\\\"inventoryEnabled\\\"\\n (change)=\\\"onInventorySlideToggle($event)\\\"\\n ></mat-slide-toggle>\\n <div i18n>Enable tracking</div>\\n </div>\\n @if (inventoryEnabled) {\\n <mat-form-field>\\n <mat-select\\n name=\\\"id\\\"\\n [value]=\\\"selectedLocation\\\"\\n [compareWith]=\\\"compareLocationFn\\\"\\n #select=\\\"matSelect\\\"\\n (selectionChange)=\\\"onLocationChange($event)\\\"\\n >\\n @for (item of locations(); track item) {\\n <mat-option [value]=\\\"item\\\">\\n {{ item.name }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n }\\n </div>\\n @if (inventoryEnabled) {\\n <div class=\\\"flex flex-col divide-y divide-[--rt-10-percent-layer]\\\">\\n @for (item of inventories; track $index) {\\n <div class=\\\"flex justify-between items-center py-2\\\">\\n <div class=\\\"flex gap-3\\\">\\n <div>{{ item.options | options }}</div>\\n <!-- <div>{{ item.inventoryItemId }}</div> -->\\n </div>\\n <div class=\\\"flex gap-3\\\">\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <mat-label i18n>Price</mat-label>\\n <span matTextPrefix> \\u00A5 </span>\\n <input matInput type=\\\"number\\\" [value]=\\\"item.price | fixed\\\" rolatechDecimal />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <mat-label i18n>Total</mat-label>\\n <input matInput type=\\\"number\\\" [(ngModel)]=\\\"item.amount\\\" [disabled]=\\\"loadingLocation\\\" />\\n <!-- <input matInput type=\\\"number\\\" [value]=\\\"\\\" [disabled]=\\\"loadingLocation\\\" /> -->\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <mat-label i18n>Remaining</mat-label>\\n <input matInput type=\\\"number\\\" [(ngModel)]=\\\"item.available\\\" [disabled]=\\\"loadingLocation\\\" />\\n <!-- <input matInput type=\\\"number\\\" [value]=\\\"\\\" [disabled]=\\\"loadingLocation\\\" /> -->\\n </mat-form-field>\\n </div>\\n </div>\\n }\\n </div>\\n <div class=\\\"flex gap-3\\\">\\n <!-- <button mat-stroked-button (click)=\\\"add()\\\">\\u6DFB\\u52A0</button> -->\\n <button mat-flat-button (click)=\\\"saveInventoryLevels()\\\" i18n>Save</button>\\n </div>\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-slide-toggle{scale:.8}.header mat-form-field{width:200px}mat-form-field{width:120px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtaW52ZW50b3J5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL3BhZ2VzL3Byb2R1Y3QtbWFuYWdlL3Byb2R1Y3QtbWFuYWdlLWludmVudG9yeS9wcm9kdWN0LW1hbmFnZS1pbnZlbnRvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaW52ZW50b3J5L3Byb2R1Y3QtbWFuYWdlLWludmVudG9yeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUUzRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7O0FBMEJ2QixNQUFNLE9BQU8sK0JBQWdDLFNBQVEsYUFBYTtJQWRsRTs7UUFlRSxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FB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QiwrQkFBK0IsK1NDbEM1QyxpdkZBK0RBLG1KRHhDSSxtQkFBbUIsZ3hCQUNuQix1QkFBdUIsZ25FQUN2QixnQkFBZ0IsZ0lBQ2hCLDZCQUE2QiwyRUFDN0IsZUFBZSwwQkFDZixpQkFBaUIsMkNBQ2pCLFNBQVM7OzJGQUtBLCtCQUErQjtrQkFkM0MsU0FBUzsrQkFDRSxtQ0FBbUMsV0FDcEM7d0JBQ1AsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3dCQUM3QixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsU0FBUztxQkFDViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBtb2RlbCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlLCBGaXhlZFBpcGUsIE9wdGlvbnNGb3JtYXRQaXBlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBCYXNlQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQvcHJvZHVjdC1tYW5hZ2UtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgSW52ZW50b3J5U2VydmljZSwgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQcm9kdWN0LCBQcm9kdWN0VmFyaWFudE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdGVkSW52ZW50b3J5IHtcbiAgbG9jYXRpb25JZDogc3RyaW5nO1xuICB2YXJpYW50czogRm9ybWF0ZWRJbnZlbnRvcnlWYXJpYW50W107XG59XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdGVkSW52ZW50b3J5VmFyaWFudCB7XG4gIHZhcmlhbnRJZDogc3RyaW5nO1xuICBvcHRpb25zOiBQcm9kdWN0VmFyaWFudE9wdGlvbltdO1xuICBwcmljZTogbnVtYmVyO1xuICBhbW91bnQ6IG51bWJlcjtcbiAgYXZhaWxhYmxlOiBudW1iZXI7XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1pbnZlbnRvcnknLFxuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckNvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIFByb2R1Y3RNYW5hZ2VDb250ZW50Q29tcG9uZW50LFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBPcHRpb25zRm9ybWF0UGlwZSxcbiAgICBGaXhlZFBpcGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS1pbnZlbnRvcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtaW52ZW50b3J5LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZUludmVudG9yeUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm9kdWN0U2VydmljZSA9IGluamVjdChQcm9kdWN0U2VydmljZSk7XG4gIGludmVudG9yeVNlcnZpY2UgPSBpbmplY3QoSW52ZW50b3J5U2VydmljZSk7XG4gIGludmVudG9yeUVuYWJsZWQgPSBmYWxzZTtcbiAgbG9hZGluZyA9IGZhbHNlO1xuICBwcm9kdWN0ITogUHJvZHVjdDtcbiAgbG9jYXRpb25zID0gbW9kZWw8YW55PigpO1xuICBzZWxlY3RlZExvY2F0aW9uOiBhbnk7XG4gIGFtb3VudCA9IDA7XG4gIGludmVudG9yeUl0ZW06IGFueSA9IHtcbiAgICBsZXZlbHM6IFtdLFxuICB9O1xuICBsb2FkaW5nTG9jYXRpb24gPSBmYWxzZTtcbiAgaW52ZW50b3JpZXM6IEZvcm1hdGVkSW52ZW50b3J5VmFyaWFudFtdID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pZCA9IHRoaXMucm91dGUucGFyZW50Py5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2lkJykgYXMgc3RyaW5nO1xuICAgIHRoaXMuZ2V0UHJvZHVjdCgpO1xuICAgIHRoaXMuZmluZEludmVudG9yeUl0ZW1zQnlQcm9kdWN0SWQodGhpcy5pZCk7XG4gIH1cbiAgZ2V0UHJvZHVjdCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZ2V0KHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5wcm9kdWN0ID0gcmVzLmRhdGE7XG4gICAgICAgIHRoaXMuZm9ybWF0VmFyaWFudHMoKTtcbiAgICAgICAgdGhpcy5maW5kSW52ZW50b3J5TG9jYXRpb25zKCk7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBmb3JtYXRWYXJpYW50cygpIHtcbiAgICB0aGlzLnByb2R1Y3QudmFyaWFudHM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIHRoaXMuaW52ZW50b3JpZXMucHVzaCh7XG4gICAgICAgIHZhcmlhbnRJZDogaXRlbS5pZCxcbiAgICAgICAgb3B0aW9uczogaXRlbS5vcHRpb25zLFxuICAgICAgICBwcmljZTogaXRlbS5wcmljZSxcbiAgICAgICAgYW1vdW50OiAwLFxuICAgICAgICBhdmFpbGFibGU6IDAsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuICBmb3JtYXRTdG9ja3MoKSB7fVxuICBmaW5kSW52ZW50b3J5TGV2ZWxzQnlMb2NhdGlvbklkQW5kVmFyaWFudElkcygpIHtcbiAgICBjb25zdCBpZHMgPSBfLnVuaXEoXy5tYXAodGhpcy5wcm9kdWN0LnZhcmlhbnRzLCAnaWQnKSk7IC8vIFsxMiwgMTQsIDE2LCAxOF1cbiAgICB0aGlzLmxvYWRpbmdMb2NhdGlvbiA9IHRydWU7XG4gICAgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmZpbmRJbnZlbnRvcnlMZXZlbHNCeUxvY2F0aW9uSWRBbmRWYXJpYW50SWRzKHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZCwgaWRzKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmludmVudG9yaWVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICBpZiAocmVzLmRhdGEpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gcmVzLmRhdGEuZmluZCgoZCkgPT4gZC52YXJpYW50SWQgPT09IGl0ZW0udmFyaWFudElkKTtcbiAgICAgICAgICAgIGNvbnN0IGMgPSBpdGVtcy5sZXZlbHMuZmluZCgoYWEpID0+IGFhLmxvY2F0aW9uWydpZCddID09PSB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWQpO1xuICAgICAgICAgICAgaXRlbS5hbW91bnQgPSBjLmFtb3VudDtcbiAgICAgICAgICAgIGl0ZW0uYXZhaWxhYmxlID0gYy5hdmFpbGFibGU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGl0ZW0uYW1vdW50ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxvYWRpbmdMb2NhdGlvbiA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nTG9jYXRpb24gPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZmluZEludmVudG9yeUl0ZW1zQnlQcm9kdWN0SWQocHJvZHVjdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmludmVudG9yeVNlcnZpY2UuZmluZEludmVudG9yeUl0ZW1zQnlQcm9kdWN0SWQocHJvZHVjdElkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLmRhdGEpIHtcbiAgICAgICAgICB0aGlzLmludmVudG9yeUVuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaW52ZW50b3J5SXRlbSA9IHJlcy5kYXRhO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGZpbmRJbnZlbnRvcnlMb2NhdGlvbnMoKSB7XG4gICAgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmZpbmRMb2NhdGlvbnMoe30pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMubG9jYXRpb25zLnNldChyZXMuZGF0YSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbiA9IHJlcy5kYXRhWzBdO1xuICAgICAgICB0aGlzLmZpbmRJbnZlbnRvcnlMZXZlbHNCeUxvY2F0aW9uSWRBbmRWYXJpYW50SWRzKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uTG9jYXRpb25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbiA9IGV2ZW50LnZhbHVlO1xuICAgIHRoaXMuZmluZEludmVudG9yeUxldmVsc0J5TG9jYXRpb25JZEFuZFZhcmlhbnRJZHMoKTtcbiAgfVxuICBvbkludmVudG9yeVNsaWRlVG9nZ2xlKGV2ZW50OiBNYXRTbGlkZVRvZ2dsZUNoYW5nZSkge1xuICAgIGNvbnN0IG5ld1N0YXRlID0gZXZlbnQuY2hlY2tlZDtcbiAgICBpZiAoIW5ld1N0YXRlKSB7XG4gICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICB0aXRsZTogJ+WPlua2iOW6k+WtmOetlueVpeWQlycsXG4gICAgICAgIG1lc3NhZ2U6ICfov5nkvJrliKDpmaTnjrDmnInnrZbnlaUsIOehruWumuWQlz8nLFxuICAgICAgICBjYW5jZWxUZXh0OiAnQ2FuY2VsJyxcbiAgICAgICAgY29uZmlybVRleHQ6ICfnoa7orqQnLFxuICAgICAgfTtcbiAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKG9wdGlvbnMpO1xuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm1lZCgpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICB0aGlzLmludmVudG9yeVNlcnZpY2UuZGVsZXRlSW52ZW50b3J5SXRlbXNCeVByb2R1Y3RJZCh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnZlbnRvcnlFbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnZlbnRvcnlJdGVtID0ge307XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXZlbnQuc291cmNlLmNoZWNrZWQgPSAhbmV3U3RhdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGluaXRJbnZlbnRvcnlJdGVtc1xuICAgICAgY29uc3QgdmFyaWFudElkcyA9IF8udW5pcShfLm1hcCh0aGlzLnByb2R1Y3QudmFyaWFudHMsICdpZCcpKTsgLy8gWzEyLCAxNCwgMTYsIDE4XVxuICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgcHJvZHVjdElkOiB0aGlzLmlkLFxuICAgICAgICB2YXJpYW50SWRzLFxuICAgICAgfTtcbiAgICAgIHRoaXMuaW52ZW50b3J5U2VydmljZS5pbml0SW52ZW50b3J5SXRlbXMoZGF0YSkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMuaW52ZW50b3J5SXRlbSA9IHJlcy5kYXRhO1xuICAgICAgICAgIHRoaXMuaW52ZW50b3J5RW5hYmxlZCA9IHRydWU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgb25TZWxlY3Rpb25DaGFuZ2UoaXRlbSwgZXZlbnQ6IGFueSkge1xuICAgIGl0ZW0ubG9jYXRpb25JZCA9IGV2ZW50LnZhbHVlLmlkO1xuICB9XG4gIGNvbXBhcmVMb2NhdGlvbkZuKG8xOiBhbnksIG8yOiBhbnkpIHtcbiAgICByZXR1cm4gbzE/LmlkID09PSBvMj8uaWQ7XG4gIH1cbiAgY29tcGFyZUZuKG8xOiBhbnksIG8yOiBhbnkpIHtcbiAgICByZXR1cm4gbzEuaWQgPT09IG8yLmlkO1xuICB9XG4gIGFkZCgpIHtcbiAgICBjb25zdCBsZXZlbCA9IHtcbiAgICAgIGxvY2F0aW9uOiB7fSxcbiAgICAgIGFtb3VudDogMCxcbiAgICB9O1xuICAgIHRoaXMuaW52ZW50b3J5SXRlbS5sZXZlbHMucHVzaChsZXZlbCk7XG4gIH1cbiAgc2F2ZUludmVudG9yeUxldmVscygpIHtcbiAgICAvLyB0aGlzLmludmVudG9yeVNlcnZpY2UudXBkYXRlU3RvY2tCeUxvY2F0aW9uSWRBbmRQcm9kdWN0SWQoKVxuICAgIGNvbnN0IGRhdGE6IGFueVtdID0gW107XG4gICAgdGhpcy5pbnZlbnRvcmllcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBkYXRhLnB1c2goe1xuICAgICAgICB2YXJpYW50SWQ6IGl0ZW0udmFyaWFudElkLFxuICAgICAgICBhbW91bnQ6IGl0ZW0uYW1vdW50LFxuICAgICAgICBhdmFpbGFibGU6IGl0ZW0uYXZhaWxhYmxlLFxuICAgICAgICBsb2NhdGlvbklkOiB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWQsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICB0aGlzLmludmVudG9yeVNlcnZpY2UuYWRqdXN0U3RvY2tzQnlMb2NhdGlvbklkKGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ1N1Y2Nlc3MnKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgc2F2ZSgpIHtcbiAgICBjb25zdCBsb2NhdGlvbklkcyA9IF8ubWFwKHRoaXMuaW52ZW50b3J5SXRlbS5sZXZlbHMsICdsb2NhdGlvbi5pZCcpO1xuICAgIGNvbnN0IGR1cGxpY2F0ZWQgPSBuZXcgU2V0KGxvY2F0aW9uSWRzKS5zaXplICE9PSBsb2NhdGlvbklkcy5sZW5ndGg7XG4gICAgaWYgKGR1cGxpY2F0ZWQpIHtcbiAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ+S7k+W6k+mHjeWkjScpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGE6IGFueSA9IHtcbiAgICAgIHByb2R1Y3RJZDogdGhpcy5pZCxcbiAgICAgIGxldmVsczogW10sXG4gICAgfTtcbiAgICB0aGlzLmludmVudG9yeUl0ZW0ubGV2ZWxzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGRhdGEubGV2ZWxzLnB1c2goe1xuICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgbG9jYXRpb25JZDogaXRlbS5sb2NhdGlvbi5pZCxcbiAgICAgICAgYW1vdW50OiBpdGVtLmFtb3VudCxcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuaW52ZW50b3J5U2VydmljZS5hZGRJbnZlbnRvcnlJdGVtKGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ1N1Y2Nlc3MnKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlTGV2ZWwoaW5kZXgsIGxldmVsOiBhbnkpIHtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgdGl0bGU6ICfnoa7lrprliKDpmaTlkJcnLFxuICAgICAgbWVzc2FnZTogYOi/meS8muWIoOmZpOeOsOacieS7k+W6kyR7bGV2ZWwubG9jYXRpb24ubmFtZX3llYblk4HlupPlrZjmlbDmja4sIOehruWumuWQlz9gLFxuICAgICAgY2FuY2VsVGV4dDogJ0NhbmNlbCcsXG4gICAgICBjb25maXJtVGV4dDogJ+ehruiupCcsXG4gICAgfTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihvcHRpb25zKTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybWVkKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgIHRoaXMuaW52ZW50b3J5U2VydmljZS5kZWxldGVJbnZlbnRvcnlMZXZlbChsZXZlbC5pZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5pbnZlbnRvcnlJdGVtLmxldmVscy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPHJvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4gIDxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwiSW52ZW50b3J5IHNldHRpbmdcIiBjbGFzcz1cImhpZGRlbiBtZDpibG9ja1wiIGRpdmlkZXI+PC9yb2xhdGVjaC10b29sYmFyPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAjaW52ZW50b3J5U2xpZGVcbiAgICAgICAgW2NoZWNrZWRdPVwiaW52ZW50b3J5RW5hYmxlZFwiXG4gICAgICAgIChjaGFuZ2UpPVwib25JbnZlbnRvcnlTbGlkZVRvZ2dsZSgkZXZlbnQpXCJcbiAgICAgID48L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8ZGl2IGkxOG4+RW5hYmxlIHRyYWNraW5nPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgQGlmIChpbnZlbnRvcnlFbmFibGVkKSB7XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgbmFtZT1cImlkXCJcbiAgICAgICAgICBbdmFsdWVdPVwic2VsZWN0ZWRMb2NhdGlvblwiXG4gICAgICAgICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVMb2NhdGlvbkZuXCJcbiAgICAgICAgICAjc2VsZWN0PVwibWF0U2VsZWN0XCJcbiAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uTG9jYXRpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICBAZm9yIChpdGVtIG9mIGxvY2F0aW9ucygpOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbVwiPlxuICAgICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgfVxuICA8L2Rpdj5cbiAgQGlmIChpbnZlbnRvcnlFbmFibGVkKSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZGl2aWRlLXkgZGl2aWRlLVstLXJ0LTEwLXBlcmNlbnQtbGF5ZXJdXCI+XG4gICAgICBAZm9yIChpdGVtIG9mIGludmVudG9yaWVzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBweS0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTNcIj5cbiAgICAgICAgICAgIDxkaXY+e3sgaXRlbS5vcHRpb25zIHwgb3B0aW9ucyB9fTwvZGl2PlxuICAgICAgICAgICAgPCEtLSA8ZGl2Pnt7IGl0ZW0uaW52ZW50b3J5SXRlbUlkIH19PC9kaXY+IC0tPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0zXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJoLTEyXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgaTE4bj5QcmljZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8c3BhbiBtYXRUZXh0UHJlZml4PiDCpSAmbmJzcDs8L3NwYW4+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgW3ZhbHVlXT1cIml0ZW0ucHJpY2UgfCBmaXhlZFwiIHJvbGF0ZWNoRGVjaW1hbCAvPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cImgtMTJcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCBpMThuPlRvdGFsPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgWyhuZ01vZGVsKV09XCJpdGVtLmFtb3VudFwiIFtkaXNhYmxlZF09XCJsb2FkaW5nTG9jYXRpb25cIiAvPlxuICAgICAgICAgICAgICA8IS0tIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgW3ZhbHVlXT1cIlwiIFtkaXNhYmxlZF09XCJsb2FkaW5nTG9jYXRpb25cIiAvPiAtLT5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJoLTEyXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgaTE4bj5SZW1haW5pbmc8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBbKG5nTW9kZWwpXT1cIml0ZW0uYXZhaWxhYmxlXCIgW2Rpc2FibGVkXT1cImxvYWRpbmdMb2NhdGlvblwiIC8+XG4gICAgICAgICAgICAgIDwhLS0gPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBbdmFsdWVdPVwiXCIgW2Rpc2FibGVkXT1cImxvYWRpbmdMb2NhdGlvblwiIC8+IC0tPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTNcIj5cbiAgICAgIDwhLS0gPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cImFkZCgpXCI+5re75YqgPC9idXR0b24+IC0tPlxuICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gKGNsaWNrKT1cInNhdmVJbnZlbnRvcnlMZXZlbHMoKVwiIGkxOG4+U2F2ZTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICB9XG48L3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4iXX0=","import { ENTER, COMMA } from '@angular/cdk/keycodes';\nimport { Component, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, ToolbarComponent } from '@rolatech/angular-components';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/chips\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/form-field\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/material/icon\";\nexport class ProductManageTagsComponent {\n constructor() {\n this.addOnBlur = true;\n this.separatorKeysCodes = [ENTER, COMMA];\n this.save = output();\n this.action = true;\n this.output = output();\n this.tags = [];\n }\n onSave() {\n this.save.emit(this.tags);\n }\n addTag(event) {\n const value = (event.value || '').trim();\n if (value) {\n this.tags.push({ id: '', name: value });\n }\n event.chipInput.clear();\n }\n removeTag(tag) {\n if (tag) {\n const index = this.tags.findIndex((item) => item.name === tag.name);\n this.tags.splice(index, 1);\n }\n }\n ngDoCheck() {\n this.output.emit(this.tags);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageTagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: ProductManageTagsComponent, isStandalone: true, selector: \"rolatech-product-manage-tags\", outputs: { save: \"save\", output: \"output\" }, ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u6807\\u7B7E\\u8BBE\\u7F6E\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div class=\\\"flex flex-col\\\">\\n <div class=\\\"p-1\\\" i18n>Lavel</div>\\n <form>\\n <mat-form-field>\\n <mat-chip-grid #chipGrid aria-label=\\\"Enter values\\\">\\n @for (tag of tags; track tag) {\\n <mat-chip-row (removed)=\\\"removeTag(tag)\\\" [editable]=\\\"true\\\" [aria-description]=\\\"'press enter to edit ' + tag.name\\\">\\n {{ tag.name }}\\n <button matChipRemove [attr.aria-label]=\\\"'remove ' + tag.name\\\">\\n <mat-icon>cancel</mat-icon>\\n </button>\\n </mat-chip-row>\\n }\\n <input\\n placeholder=\\\"\\u6807\\u7B7E\\u503C\\\"\\n [matChipInputFor]=\\\"chipGrid\\\"\\n [matChipInputSeparatorKeyCodes]=\\\"separatorKeysCodes\\\"\\n [matChipInputAddOnBlur]=\\\"addOnBlur\\\"\\n (matChipInputTokenEnd)=\\\"addTag($event)\\\"\\n />\\n </mat-chip-grid>\\n </mat-form-field>\\n </form>\\n </div>\\n @if (action) {\\n <div class=\\\"flex items-center justify-end\\\">\\n <button mat-flat-button (click)=\\\"onSave()\\\" i18n>Save</button>\\n </div>\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-form-field{width:100%}\\n\"], dependencies: [{ kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }, { kind: \"ngmodule\", type: MatChipsModule }, { kind: \"component\", type: i1.MatChipGrid, selector: \"mat-chip-grid\", inputs: [\"disabled\", \"placeholder\", \"required\", \"value\", \"errorStateMatcher\"], outputs: [\"change\", \"valueChange\"] }, { kind: \"directive\", type: i1.MatChipInput, selector: \"input[matChipInputFor]\", inputs: [\"matChipInputFor\", \"matChipInputAddOnBlur\", \"matChipInputSeparatorKeyCodes\", \"placeholder\", \"id\", \"disabled\", \"readonly\", \"matChipInputDisabledInteractive\"], outputs: [\"matChipInputTokenEnd\"], exportAs: [\"matChipInput\", \"matChipInputFor\"] }, { kind: \"directive\", type: i1.MatChipRemove, selector: \"[matChipRemove]\" }, { kind: \"component\", type: i1.MatChipRow, selector: \"mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]\", inputs: [\"editable\"], outputs: [\"edited\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i2.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i3.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"directive\", type: i4.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i4.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i4.NgForm, selector: \"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]\", inputs: [\"ngFormOptions\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatIconModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ProductManageTagsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-tags', imports: [\n ToolbarComponent,\n ProductManageContentComponent,\n MatChipsModule,\n MatButtonModule,\n MatFormFieldModule,\n AngularCommonModule,\n AngularComponentsModule,\n MatIconModule,\n ], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u6807\\u7B7E\\u8BBE\\u7F6E\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div class=\\\"flex flex-col\\\">\\n <div class=\\\"p-1\\\" i18n>Lavel</div>\\n <form>\\n <mat-form-field>\\n <mat-chip-grid #chipGrid aria-label=\\\"Enter values\\\">\\n @for (tag of tags; track tag) {\\n <mat-chip-row (removed)=\\\"removeTag(tag)\\\" [editable]=\\\"true\\\" [aria-description]=\\\"'press enter to edit ' + tag.name\\\">\\n {{ tag.name }}\\n <button matChipRemove [attr.aria-label]=\\\"'remove ' + tag.name\\\">\\n <mat-icon>cancel</mat-icon>\\n </button>\\n </mat-chip-row>\\n }\\n <input\\n placeholder=\\\"\\u6807\\u7B7E\\u503C\\\"\\n [matChipInputFor]=\\\"chipGrid\\\"\\n [matChipInputSeparatorKeyCodes]=\\\"separatorKeysCodes\\\"\\n [matChipInputAddOnBlur]=\\\"addOnBlur\\\"\\n (matChipInputTokenEnd)=\\\"addTag($event)\\\"\\n />\\n </mat-chip-grid>\\n </mat-form-field>\\n </form>\\n </div>\\n @if (action) {\\n <div class=\\\"flex items-center justify-end\\\">\\n <button mat-flat-button (click)=\\\"onSave()\\\" i18n>Save</button>\\n </div>\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-form-field{width:100%}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtdGFncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0LW1hbmFnZS9wcm9kdWN0LW1hbmFnZS10YWdzL3Byb2R1Y3QtbWFuYWdlLXRhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtdGFncy9wcm9kdWN0LW1hbmFnZS10YWdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBVyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBcUIsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXpGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDOzs7Ozs7O0FBaUIzRyxNQUFNLE9BQU8sMEJBQTBCO0lBZnZDO1FBZ0JFLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDUix1QkFBa0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQVUsQ0FBQztRQUN0RCxTQUFJLEdBQUcsTUFBTSxFQUFnQixDQUFDO1FBQzlCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxXQUFNLEdBQUcsTUFBTSxFQUFPLENBQUM7UUFDdkIsU0FBSSxHQUFpQixFQUFFLENBQUM7S0F1QnpCO0lBckJDLE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUF3QjtRQUM3QixNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQVE7UUFDaEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7OEdBNUJVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHFJQzFCdkMsc3dDQWdDQSxzRkRsQkksZ0JBQWdCLGdJQUNoQiw2QkFBNkIsMkVBQzdCLGNBQWMsMnhCQUNkLGVBQWUsbVhBQ2Ysa0JBQWtCLHlPQUNsQixtQkFBbUIsdWRBQ25CLHVCQUF1QixtTEFDdkIsYUFBYTs7MkZBS0osMEJBQTBCO2tCQWZ0QyxTQUFTOytCQUNFLDhCQUE4QixXQUMvQjt3QkFDUCxnQkFBZ0I7d0JBQ2hCLDZCQUE2Qjt3QkFDN0IsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGFBQWE7cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFTlRFUiwgQ09NTUEgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBEb0NoZWNrLCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCwgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IFByb2R1Y3RUYWcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFByb2R1Y3RNYW5hZ2VDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZHVjdC1tYW5hZ2UtY29udGVudC9wcm9kdWN0LW1hbmFnZS1jb250ZW50LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLXRhZ3MnLFxuICBpbXBvcnRzOiBbXG4gICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICBQcm9kdWN0TWFuYWdlQ29udGVudENvbXBvbmVudCxcbiAgICBNYXRDaGlwc01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIEFuZ3VsYXJDb21tb25Nb2R1bGUsXG4gICAgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLXRhZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtdGFncy5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNYW5hZ2VUYWdzQ29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjayB7XG4gIGFkZE9uQmx1ciA9IHRydWU7XG4gIHJlYWRvbmx5IHNlcGFyYXRvcktleXNDb2RlcyA9IFtFTlRFUiwgQ09NTUFdIGFzIGNvbnN0O1xuICBzYXZlID0gb3V0cHV0PFByb2R1Y3RUYWdbXT4oKTtcbiAgYWN0aW9uID0gdHJ1ZTtcbiAgb3V0cHV0ID0gb3V0cHV0PGFueT4oKTtcbiAgdGFnczogUHJvZHVjdFRhZ1tdID0gW107XG5cbiAgb25TYXZlKCkge1xuICAgIHRoaXMuc2F2ZS5lbWl0KHRoaXMudGFncyk7XG4gIH1cblxuICBhZGRUYWcoZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KSB7XG4gICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudmFsdWUgfHwgJycpLnRyaW0oKTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMudGFncy5wdXNoKHsgaWQ6ICcnLCBuYW1lOiB2YWx1ZSB9KTtcbiAgICB9XG4gICAgZXZlbnQuY2hpcElucHV0LmNsZWFyKCk7XG4gIH1cbiAgcmVtb3ZlVGFnKHRhZzogYW55KSB7XG4gICAgaWYgKHRhZykge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnRhZ3MuZmluZEluZGV4KChpdGVtOiBhbnkpID0+IGl0ZW0ubmFtZSA9PT0gdGFnLm5hbWUpO1xuICAgICAgdGhpcy50YWdzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9XG5cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIHRoaXMub3V0cHV0LmVtaXQodGhpcy50YWdzKTtcbiAgfVxufVxuIiwiPHJvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4gIDxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwi5qCH562+6K6+572uXCIgY2xhc3M9XCJoaWRkZW4gbWQ6YmxvY2tcIiBkaXZpZGVyPiA8L3JvbGF0ZWNoLXRvb2xiYXI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgPGRpdiBjbGFzcz1cInAtMVwiIGkxOG4+TGF2ZWw8L2Rpdj5cbiAgICA8Zm9ybT5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1jaGlwLWdyaWQgI2NoaXBHcmlkIGFyaWEtbGFiZWw9XCJFbnRlciB2YWx1ZXNcIj5cbiAgICAgICAgICBAZm9yICh0YWcgb2YgdGFnczsgdHJhY2sgdGFnKSB7XG4gICAgICAgICAgICA8bWF0LWNoaXAtcm93IChyZW1vdmVkKT1cInJlbW92ZVRhZyh0YWcpXCIgW2VkaXRhYmxlXT1cInRydWVcIiBbYXJpYS1kZXNjcmlwdGlvbl09XCIncHJlc3MgZW50ZXIgdG8gZWRpdCAnICsgdGFnLm5hbWVcIj5cbiAgICAgICAgICAgICAge3sgdGFnLm5hbWUgfX1cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXRDaGlwUmVtb3ZlIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3JlbW92ZSAnICsgdGFnLm5hbWVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1jaGlwLXJvdz5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuagh+etvuWAvFwiXG4gICAgICAgICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBHcmlkXCJcbiAgICAgICAgICAgIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJzZXBhcmF0b3JLZXlzQ29kZXNcIlxuICAgICAgICAgICAgW21hdENoaXBJbnB1dEFkZE9uQmx1cl09XCJhZGRPbkJsdXJcIlxuICAgICAgICAgICAgKG1hdENoaXBJbnB1dFRva2VuRW5kKT1cImFkZFRhZygkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L21hdC1jaGlwLWdyaWQ+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZm9ybT5cbiAgPC9kaXY+XG4gIEBpZiAoYWN0aW9uKSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kXCI+XG4gICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwib25TYXZlKClcIiBpMThuPlNhdmU8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9yb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1jb250ZW50PlxuIl19","import { ProductManageLayoutComponent } from './product-manage-layout/product-manage-layout.component';\nimport { ProductManageInfoComponent } from './product-manage-info/product-manage-info.component';\nimport { ProductManageSectionsComponent } from './product-manage-sections/product-manage-sections.component';\nimport { ProductManageMediaComponent } from './product-manage-media/product-manage-media.component';\nimport { ProductManagePricingComponent } from './product-manage-pricing/product-manage-pricing.component';\nimport { ProductManageIndexComponent } from './product-manage-index/product-manage-index.component';\nimport { ProductManageCreateComponent } from './product-manage-create/product-manage-create.component';\nimport { ProductManageOptionsComponent } from './product-manage-options/product-manage-options.component';\nimport { ProductManageVariantsComponent } from './product-manage-variants/product-manage-variants.component';\nimport { ProductManageScheduleComponent } from './product-manage-schedule/product-manage-schedule.component';\nimport { ProductManageInventoryComponent } from './product-manage-inventory/product-manage-inventory.component';\nimport { ProductManageTagsComponent } from './product-manage-tags/product-manage-tags.component';\nexport const productManageRoutes = [\n {\n path: '',\n component: ProductManageIndexComponent,\n },\n {\n path: 'create',\n component: ProductManageCreateComponent,\n },\n // {\n // path: ':id',\n // redirectTo: ':id/manage/info',\n // },\n {\n path: ':id/manage',\n component: ProductManageLayoutComponent,\n children: [\n {\n path: 'info',\n component: ProductManageInfoComponent,\n },\n {\n path: 'media',\n component: ProductManageMediaComponent,\n },\n {\n path: 'tags',\n component: ProductManageTagsComponent,\n },\n {\n path: 'sections',\n component: ProductManageSectionsComponent,\n },\n {\n path: 'options',\n component: ProductManageOptionsComponent,\n },\n {\n path: 'variants',\n component: ProductManageVariantsComponent,\n },\n {\n path: 'inventory',\n component: ProductManageInventoryComponent,\n },\n {\n path: 'pricing',\n component: ProductManagePricingComponent,\n },\n {\n path: 'schedule',\n component: ProductManageScheduleComponent,\n },\n ],\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2Uucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2Uucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2hILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRWpHLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFXO0lBQ3pDO1FBQ0UsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsMkJBQTJCO0tBQ3ZDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLFNBQVMsRUFBRSw0QkFBNEI7S0FDeEM7SUFDRCxJQUFJO0lBQ0osaUJBQWlCO0lBQ2pCLG1DQUFtQztJQUNuQyxLQUFLO0lBQ0w7UUFDRSxJQUFJLEVBQUUsWUFBWTtRQUNsQixTQUFTLEVBQUUsNEJBQTRCO1FBQ3ZDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLElBQUksRUFBRSxNQUFNO2dCQUNaLFNBQVMsRUFBRSwwQkFBMEI7YUFDdEM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsT0FBTztnQkFDYixTQUFTLEVBQUUsMkJBQTJCO2FBQ3ZDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLE1BQU07Z0JBQ1osU0FBUyxFQUFFLDBCQUEwQjthQUN0QztZQUNEO2dCQUNFLElBQUksRUFBRSxVQUFVO2dCQUNoQixTQUFTLEVBQUUsOEJBQThCO2FBQzFDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsU0FBUyxFQUFFLDZCQUE2QjthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSxVQUFVO2dCQUNoQixTQUFTLEVBQUUsOEJBQThCO2FBQzFDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLFNBQVMsRUFBRSwrQkFBK0I7YUFDM0M7WUFFRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixTQUFTLEVBQUUsNkJBQTZCO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLFNBQVMsRUFBRSw4QkFBOEI7YUFDMUM7U0FDRjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LW1hbmFnZS1sYXlvdXQvcHJvZHVjdC1tYW5hZ2UtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1tYW5hZ2UtaW5mby9wcm9kdWN0LW1hbmFnZS1pbmZvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlU2VjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbWFuYWdlLXNlY3Rpb25zL3Byb2R1Y3QtbWFuYWdlLXNlY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlTWVkaWFDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbWFuYWdlLW1lZGlhL3Byb2R1Y3QtbWFuYWdlLW1lZGlhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlUHJpY2luZ0NvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1tYW5hZ2UtcHJpY2luZy9wcm9kdWN0LW1hbmFnZS1wcmljaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlSW5kZXhDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbWFuYWdlLWluZGV4L3Byb2R1Y3QtbWFuYWdlLWluZGV4LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlQ3JlYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LW1hbmFnZS1jcmVhdGUvcHJvZHVjdC1tYW5hZ2UtY3JlYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlT3B0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1tYW5hZ2Utb3B0aW9ucy9wcm9kdWN0LW1hbmFnZS1vcHRpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlVmFyaWFudHNDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbWFuYWdlLXZhcmlhbnRzL3Byb2R1Y3QtbWFuYWdlLXZhcmlhbnRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlU2NoZWR1bGVDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbWFuYWdlLXNjaGVkdWxlL3Byb2R1Y3QtbWFuYWdlLXNjaGVkdWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlSW52ZW50b3J5Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LW1hbmFnZS1pbnZlbnRvcnkvcHJvZHVjdC1tYW5hZ2UtaW52ZW50b3J5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlVGFnc0NvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1tYW5hZ2UtdGFncy9wcm9kdWN0LW1hbmFnZS10YWdzLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBwcm9kdWN0TWFuYWdlUm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IFByb2R1Y3RNYW5hZ2VJbmRleENvbXBvbmVudCxcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdjcmVhdGUnLFxuICAgIGNvbXBvbmVudDogUHJvZHVjdE1hbmFnZUNyZWF0ZUNvbXBvbmVudCxcbiAgfSxcbiAgLy8ge1xuICAvLyAgIHBhdGg6ICc6aWQnLFxuICAvLyAgIHJlZGlyZWN0VG86ICc6aWQvbWFuYWdlL2luZm8nLFxuICAvLyB9LFxuICB7XG4gICAgcGF0aDogJzppZC9tYW5hZ2UnLFxuICAgIGNvbXBvbmVudDogUHJvZHVjdE1hbmFnZUxheW91dENvbXBvbmVudCxcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICBwYXRoOiAnaW5mbycsXG4gICAgICAgIGNvbXBvbmVudDogUHJvZHVjdE1hbmFnZUluZm9Db21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnbWVkaWEnLFxuICAgICAgICBjb21wb25lbnQ6IFByb2R1Y3RNYW5hZ2VNZWRpYUNvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICd0YWdzJyxcbiAgICAgICAgY29tcG9uZW50OiBQcm9kdWN0TWFuYWdlVGFnc0NvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdzZWN0aW9ucycsXG4gICAgICAgIGNvbXBvbmVudDogUHJvZHVjdE1hbmFnZVNlY3Rpb25zQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ29wdGlvbnMnLFxuICAgICAgICBjb21wb25lbnQ6IFByb2R1Y3RNYW5hZ2VPcHRpb25zQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ3ZhcmlhbnRzJyxcbiAgICAgICAgY29tcG9uZW50OiBQcm9kdWN0TWFuYWdlVmFyaWFudHNDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaW52ZW50b3J5JyxcbiAgICAgICAgY29tcG9uZW50OiBQcm9kdWN0TWFuYWdlSW52ZW50b3J5Q29tcG9uZW50LFxuICAgICAgfSxcblxuICAgICAge1xuICAgICAgICBwYXRoOiAncHJpY2luZycsXG4gICAgICAgIGNvbXBvbmVudDogUHJvZHVjdE1hbmFnZVByaWNpbmdDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnc2NoZWR1bGUnLFxuICAgICAgICBjb21wb25lbnQ6IFByb2R1Y3RNYW5hZ2VTY2hlZHVsZUNvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl07XG4iXX0=","import { importProvidersFrom, makeEnvironmentProviders } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nexport function provideAngularProduct() {\n const providers = [\n importProvidersFrom(CommonModule, ReactiveFormsModule, FormsModule, RouterModule),\n ];\n return makeEnvironmentProviders(providers);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0MsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxNQUFNLFNBQVMsR0FBd0M7UUFDckQsbUJBQW1CLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUM7S0FDbEYsQ0FBQztJQUNGLE9BQU8sd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50UHJvdmlkZXJzLCBQcm92aWRlciwgaW1wb3J0UHJvdmlkZXJzRnJvbSwgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUFuZ3VsYXJQcm9kdWN0KCk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgY29uc3QgcHJvdmlkZXJzOiAoUHJvdmlkZXIgfCBFbnZpcm9ubWVudFByb3ZpZGVycylbXSA9IFtcbiAgICBpbXBvcnRQcm92aWRlcnNGcm9tKENvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUsIFJvdXRlck1vZHVsZSksXG4gIF07XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMocHJvdmlkZXJzKTtcbn1cbiJdfQ==","export const services = [];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQVUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHNlcnZpY2VzOiBhbnlbXSA9IFtdO1xuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sYXRlY2gtYW5ndWxhci1wcm9kdWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9yb2xhdGVjaC1hbmd1bGFyLXByb2R1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1","i2","i3","i4","i5","i6","i7","i8","i9"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rolatech-angular-product.mjs","sources":["../tmp-esm2022/lib/pages/product/product-layout/product-layout.component.js","../tmp-esm2022/lib/pages/product/product-category/product-category.component.js","../tmp-esm2022/lib/components/product-info/product-info.component.js","../tmp-esm2022/lib/components/product-media/product-media.component.js","../tmp-esm2022/lib/components/product-section/product-section.component.js","../tmp-esm2022/lib/components/product-item/product-item.component.js","../tmp-esm2022/lib/components/product-action/product-action.component.js","../tmp-esm2022/lib/components/product-pricing/product-pricing.component.js","../tmp-esm2022/lib/components/product-option/product-option.component.js","../tmp-esm2022/lib/components/product-mange-section-item/product-mange-section-item.component.js","../tmp-esm2022/lib/components/product-manage-option-add/product-manage-option-add.component.js","../tmp-esm2022/lib/components/product-manage-option-item/product-manage-option-item.component.js","../tmp-esm2022/lib/pages/product/product-details/selected.pipe.js","../tmp-esm2022/lib/components/product-owner-renderer/product-owner-renderer.component.js","../tmp-esm2022/lib/pages/product/product-details/product-details.component.js","../tmp-esm2022/lib/pages/product/product.routes.js","../tmp-esm2022/lib/interfaces/product.js","../tmp-esm2022/lib/pages/product-manage/product-manage-layout/product-manage-layout.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-content/product-manage-content.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-info/product-manage-info.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-sections/product-manage-sections.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-media/product-manage-media.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-pricing/product-manage-pricing.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-item/product-manage-item.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-item-header/product-manage-item-header.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-index/product-manage-index.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-create/product-manage-create.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-options/product-manage-options.component.js","../tmp-esm2022/lib/components/product-manage-variant/product-manage-variant.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-variants/product-manage-variants.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-schedule/product-manage-schedule.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-inventory/product-manage-inventory.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage-tags/product-manage-tags.component.js","../tmp-esm2022/lib/pages/product-manage/product-manage.routes.js","../tmp-esm2022/provider.js","../tmp-esm2022/lib/services/index.js","../tmp-esm2022/rolatech-angular-product.js"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, BaseComponent, ContainerComponent } from '@rolatech/angular-components';\nimport { ProductService, ProductCategoryService } from '@rolatech/angular-services';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nexport class ProductLayoutComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.categories = [];\n this.categoryService = inject(ProductCategoryService);\n this.productService = inject(ProductService);\n this.selectIndex = 0;\n }\n ngOnInit() {\n this.findCategories();\n }\n findCategories() {\n this.categoryService.find({}, false).subscribe({\n next: (res) => {\n this.categories = res.data;\n },\n });\n }\n loadProductByCategoryIndex(index) {\n this.selectIndex = index;\n const id = this.categories[index].id;\n if (index === 0) {\n this.router.navigate([`./`]);\n // this.productService.find({}).subscribe({\n // next: res => {\n // }\n // })\n }\n else {\n this.router.navigate([`../categories/${id}`], {\n relativeTo: this.route,\n });\n }\n }\n nextCategory() { }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductLayoutComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductLayoutComponent, isStandalone: true, selector: \"rolatech-product-layout\", usesInheritance: true, ngImport: i0, template: \"@if (categories) {\\n <rolatech-container>\\n <div class=\\\"flex flex-col md:flex-row min-w-[320px] max-w-[1280px] m-auto\\\">\\n <div class=\\\"h-14 md:h-auto min-w-[240px]\\\">\\n <div class=\\\"hidden md:block text-2xl font-medium py-3 md:px-1 px-3\\\" i18n>Categories</div>\\n <div\\n class=\\\"flex flex-row md:flex-col md:h-full items-center md:items-start h-14 overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\\\"\\n >\\n <a\\n class=\\\"cursor-pointer h-8 bg-[--rt-badge-chip-background] md:bg-[--rt-base-background] rounded-md flex items-center md:mb-1 mr-2 md:mr-0\\\"\\n routerLinkActive=\\\"product-layout-active\\\"\\n routerLink=\\\"./\\\"\\n [routerLinkActiveOptions]=\\\"{ exact: true }\\\"\\n >\\n <span class=\\\"md:px-1 px-3 text-md md:text-lg\\\" i18n>All</span>\\n </a>\\n @for (category of categories; track category; let index = $index) {\\n <a\\n class=\\\"cursor-pointer h-8 bg-[--rt-badge-chip-background] md:bg-[--rt-base-background] rounded-md flex items-center mr-2 md:mr-0 md:mb-1\\\"\\n routerLinkActive=\\\"product-layout-active\\\"\\n [routerLink]=\\\"['./categories/', category.id]\\\"\\n [routerLinkActiveOptions]=\\\"{ exact: true }\\\"\\n >\\n <span class=\\\"md:px-1 px-3 text-md md:text-lg\\\">{{ category.name }}</span>\\n </a>\\n }\\n </div>\\n </div>\\n <div class=\\\"w-full\\\">\\n <router-outlet></router-outlet>\\n </div>\\n </div>\\n </rolatech-container>\\n}\\n\", styles: [\".product-layout-active{border-radius:var(--rt-rounded-base, 8px);background-color:var(-rt-base-background, #fff);color:var(--rt-brand-color, #000)}@media (max-width: 768px){.product-layout-active{background-color:var(--rt-text-primary, #000);color:var(--rt-text-primary-inverse, #000)}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\\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: \"directive\", type: i1.RouterLinkActive, selector: \"[routerLinkActive]\", inputs: [\"routerLinkActiveOptions\", \"ariaCurrentWhenActive\", \"routerLinkActive\"], outputs: [\"isActiveChange\"], exportAs: [\"routerLinkActive\"] }, { kind: \"directive\", type: i1.RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: ContainerComponent, selector: \"rolatech-container\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductLayoutComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-layout', imports: [AngularCommonModule, AngularComponentsModule, ContainerComponent], template: \"@if (categories) {\\n <rolatech-container>\\n <div class=\\\"flex flex-col md:flex-row min-w-[320px] max-w-[1280px] m-auto\\\">\\n <div class=\\\"h-14 md:h-auto min-w-[240px]\\\">\\n <div class=\\\"hidden md:block text-2xl font-medium py-3 md:px-1 px-3\\\" i18n>Categories</div>\\n <div\\n class=\\\"flex flex-row md:flex-col md:h-full items-center md:items-start h-14 overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\\\"\\n >\\n <a\\n class=\\\"cursor-pointer h-8 bg-[--rt-badge-chip-background] md:bg-[--rt-base-background] rounded-md flex items-center md:mb-1 mr-2 md:mr-0\\\"\\n routerLinkActive=\\\"product-layout-active\\\"\\n routerLink=\\\"./\\\"\\n [routerLinkActiveOptions]=\\\"{ exact: true }\\\"\\n >\\n <span class=\\\"md:px-1 px-3 text-md md:text-lg\\\" i18n>All</span>\\n </a>\\n @for (category of categories; track category; let index = $index) {\\n <a\\n class=\\\"cursor-pointer h-8 bg-[--rt-badge-chip-background] md:bg-[--rt-base-background] rounded-md flex items-center mr-2 md:mr-0 md:mb-1\\\"\\n routerLinkActive=\\\"product-layout-active\\\"\\n [routerLink]=\\\"['./categories/', category.id]\\\"\\n [routerLinkActiveOptions]=\\\"{ exact: true }\\\"\\n >\\n <span class=\\\"md:px-1 px-3 text-md md:text-lg\\\">{{ category.name }}</span>\\n </a>\\n }\\n </div>\\n </div>\\n <div class=\\\"w-full\\\">\\n <router-outlet></router-outlet>\\n </div>\\n </div>\\n </rolatech-container>\\n}\\n\", styles: [\".product-layout-active{border-radius:var(--rt-rounded-base, 8px);background-color:var(-rt-base-background, #fff);color:var(--rt-brand-color, #000)}@media (max-width: 768px){.product-layout-active{background-color:var(--rt-text-primary, #000);color:var(--rt-text-primary-inverse, #000)}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC9wcm9kdWN0LWxheW91dC9wcm9kdWN0LWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QtbGF5b3V0L3Byb2R1Y3QtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUxRyxPQUFPLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQVFwRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsYUFBYTtJQU56RDs7UUFPRSxlQUFVLEdBQXNCLEVBQUUsQ0FBQztRQUNuQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pELG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO0tBNEJqQjtJQTFCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3QyxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQzdCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsMEJBQTBCLENBQUMsS0FBYTtRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyQyxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDN0IsMkNBQTJDO1lBQzNDLG1CQUFtQjtZQUNuQixNQUFNO1lBQ04sS0FBSztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsRUFBRTtnQkFDNUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLO2FBQ3ZCLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxLQUFJLENBQUM7OEdBL0JOLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDBHQ1puQyxxa0RBa0NBLHNjRDFCWSxtQkFBbUIsOHFCQUFFLHVCQUF1QiwrQkFBRSxrQkFBa0I7OzJGQUkvRCxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UseUJBQXlCLFdBQzFCLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBCYXNlQ29tcG9uZW50LCBDb250YWluZXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IFByb2R1Y3RDYXRlZ29yeSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUHJvZHVjdFNlcnZpY2UsIFByb2R1Y3RDYXRlZ29yeVNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3QtbGF5b3V0JyxcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBDb250YWluZXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1sYXlvdXQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TGF5b3V0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNhdGVnb3JpZXM6IFByb2R1Y3RDYXRlZ29yeVtdID0gW107XG4gIGNhdGVnb3J5U2VydmljZSA9IGluamVjdChQcm9kdWN0Q2F0ZWdvcnlTZXJ2aWNlKTtcbiAgcHJvZHVjdFNlcnZpY2UgPSBpbmplY3QoUHJvZHVjdFNlcnZpY2UpO1xuICBzZWxlY3RJbmRleCA9IDA7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maW5kQ2F0ZWdvcmllcygpO1xuICB9XG4gIGZpbmRDYXRlZ29yaWVzKCkge1xuICAgIHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLmZpbmQoe30sIGZhbHNlKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcmllcyA9IHJlcy5kYXRhO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBsb2FkUHJvZHVjdEJ5Q2F0ZWdvcnlJbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RJbmRleCA9IGluZGV4O1xuICAgIGNvbnN0IGlkID0gdGhpcy5jYXRlZ29yaWVzW2luZGV4XS5pZDtcbiAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgLi9gXSk7XG4gICAgICAvLyB0aGlzLnByb2R1Y3RTZXJ2aWNlLmZpbmQoe30pLnN1YnNjcmliZSh7XG4gICAgICAvLyAgIG5leHQ6IHJlcyA9PiB7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgLi4vY2F0ZWdvcmllcy8ke2lkfWBdLCB7XG4gICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgbmV4dENhdGVnb3J5KCkge31cbn1cbiIsIkBpZiAoY2F0ZWdvcmllcykge1xuICA8cm9sYXRlY2gtY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IG1pbi13LVszMjBweF0gbWF4LXctWzEyODBweF0gbS1hdXRvXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaC0xNCBtZDpoLWF1dG8gbWluLXctWzI0MHB4XVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGlkZGVuIG1kOmJsb2NrIHRleHQtMnhsIGZvbnQtbWVkaXVtIHB5LTMgbWQ6cHgtMSBweC0zXCIgaTE4bj5DYXRlZ29yaWVzPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgbWQ6ZmxleC1jb2wgbWQ6aC1mdWxsIGl0ZW1zLWNlbnRlciBtZDppdGVtcy1zdGFydCBoLTE0IG92ZXJmbG93LXgtc2Nyb2xsIG92ZXJmbG93LXktaGlkZGVuIHNjcm9sbGJhci1oaWRlIHdoaXRlc3BhY2UtcHJlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGgtOCBiZy1bLS1ydC1iYWRnZS1jaGlwLWJhY2tncm91bmRdIG1kOmJnLVstLXJ0LWJhc2UtYmFja2dyb3VuZF0gcm91bmRlZC1tZCBmbGV4IGl0ZW1zLWNlbnRlciBtZDptYi0xIG1yLTIgbWQ6bXItMFwiXG4gICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicHJvZHVjdC1sYXlvdXQtYWN0aXZlXCJcbiAgICAgICAgICAgIHJvdXRlckxpbms9XCIuL1wiXG4gICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwieyBleGFjdDogdHJ1ZSB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1kOnB4LTEgcHgtMyB0ZXh0LW1kIG1kOnRleHQtbGdcIiBpMThuPkFsbDwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgQGZvciAoY2F0ZWdvcnkgb2YgY2F0ZWdvcmllczsgdHJhY2sgY2F0ZWdvcnk7IGxldCBpbmRleCA9ICRpbmRleCkge1xuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBoLTggYmctWy0tcnQtYmFkZ2UtY2hpcC1iYWNrZ3JvdW5kXSBtZDpiZy1bLS1ydC1iYXNlLWJhY2tncm91bmRdIHJvdW5kZWQtbWQgZmxleCBpdGVtcy1jZW50ZXIgbXItMiBtZDptci0wIG1kOm1iLTFcIlxuICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicHJvZHVjdC1sYXlvdXQtYWN0aXZlXCJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycuL2NhdGVnb3JpZXMvJywgY2F0ZWdvcnkuaWRdXCJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInsgZXhhY3Q6IHRydWUgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWQ6cHgtMSBweC0zIHRleHQtbWQgbWQ6dGV4dC1sZ1wiPnt7IGNhdGVnb3J5Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9yb2xhdGVjaC1jb250YWluZXI+XG59XG4iXX0=","import { Component, inject } from '@angular/core';\nimport { ProductCategoryService, ProductService } from '@rolatech/angular-services';\nimport { AngularComponentsModule, BaseComponent, RichItemComponent, RichViewComponent } from '@rolatech/angular-components';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nexport class ProductCategoryComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.categoryService = inject(ProductCategoryService);\n this.productService = inject(ProductService);\n this.products = [];\n this.categories = [];\n this.loading = false;\n }\n ngOnInit() {\n this.findAllCategories();\n this.route.paramMap.subscribe((params) => {\n const id = params.get('id');\n this.findCategoryById(id);\n this.findProductsByCategoryId(id);\n });\n }\n findAllCategories() {\n this.categoryService.find({}).subscribe({\n next: (res) => {\n this.categories = res.data;\n },\n });\n }\n findCategoryById(id) {\n this.categoryService.get(id).subscribe({\n next: (res) => {\n this.category = res.data;\n },\n });\n }\n findAllProducts() {\n this.productService.find({}).subscribe({\n next: (res) => {\n this.products = res.data;\n },\n });\n }\n findProductsByCategoryId(id) {\n this.loading = true;\n const options = {\n filter: `categories:${id},published:true`,\n };\n this.productService.find(options).subscribe({\n next: (res) => {\n this.products = res.data;\n this.loading = false;\n },\n error: (error) => {\n this.loading = false;\n },\n });\n }\n loadProductsByCategory(item) {\n // [routerLink] = \"['../../', item.id]\";\n this.router.navigate([`../../${item.id}`], {\n relativeTo: this.route,\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductCategoryComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductCategoryComponent, isStandalone: true, selector: \"rolatech-product-category\", usesInheritance: true, ngImport: i0, template: \"<div>\\n @if (category) {\\n <div class=\\\"p-3 hidden md:block text-2xl font-medium\\\">{{ category.name }}</div>\\n } @else {\\n <div class=\\\"flex flex-row animate-pulse w-full\\\">\\n <div class=\\\"h-4 bg-[--rt-base-background] rounded col-span-2\\\"></div>\\n </div>\\n }\\n @if (loading) {\\n @for (number of [0, 1, 2, 3, 4, 5]; track number) {\\n <div class=\\\"flex flex-row animate-pulse mt-3 mr-4 cursor-pointer w-full\\\">\\n <div class=\\\"h-fit w-2/5 md:w-1/4 aspect-video bg-[--rt-base-background] rounded-lg\\\"></div>\\n <div class=\\\"w-3/5 md:w-3/4 ml-3 py-1 flex flex-col justify-between\\\">\\n <div class=\\\"space-y-3\\\">\\n <div class=\\\"h-4 bg-[--rt-base-background] rounded col-span-2\\\"></div>\\n <div class=\\\"h-2 bg-[--rt-base-background] rounded col-span-1\\\"></div>\\n <div class=\\\"h-2 bg-[--rt-base-background] rounded col-span-1 py-1\\\"></div>\\n </div>\\n <div>\\n <div class=\\\"h-2 bg-[--rt-base-background] rounded col-span-2 py-1\\\"></div>\\n </div>\\n </div>\\n </div>\\n }\\n } @else {\\n <rolatech-rich-view list>\\n @for (item of products; track item) {\\n @defer {\\n <rolatech-rich-item\\n [routerLink]=\\\"['../../', item.id]\\\"\\n [thumbnail]=\\\"item.media[0].url + '!w400'\\\"\\n [title]=\\\"item.name\\\"\\n [subtitle]=\\\"item.description\\\"\\n [price]=\\\"item.price / 100\\\"\\n ></rolatech-rich-item>\\n }\\n }\\n </rolatech-rich-view>\\n }\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: RichViewComponent, selector: \"rolatech-rich-view\", inputs: [\"list\", \"wrap\"] }], deferBlockDependencies: [() => [i1.RouterLink, RichItemComponent]] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductCategoryComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-category', imports: [AngularCommonModule, AngularComponentsModule, RichViewComponent, RichItemComponent], template: \"<div>\\n @if (category) {\\n <div class=\\\"p-3 hidden md:block text-2xl font-medium\\\">{{ category.name }}</div>\\n } @else {\\n <div class=\\\"flex flex-row animate-pulse w-full\\\">\\n <div class=\\\"h-4 bg-[--rt-base-background] rounded col-span-2\\\"></div>\\n </div>\\n }\\n @if (loading) {\\n @for (number of [0, 1, 2, 3, 4, 5]; track number) {\\n <div class=\\\"flex flex-row animate-pulse mt-3 mr-4 cursor-pointer w-full\\\">\\n <div class=\\\"h-fit w-2/5 md:w-1/4 aspect-video bg-[--rt-base-background] rounded-lg\\\"></div>\\n <div class=\\\"w-3/5 md:w-3/4 ml-3 py-1 flex flex-col justify-between\\\">\\n <div class=\\\"space-y-3\\\">\\n <div class=\\\"h-4 bg-[--rt-base-background] rounded col-span-2\\\"></div>\\n <div class=\\\"h-2 bg-[--rt-base-background] rounded col-span-1\\\"></div>\\n <div class=\\\"h-2 bg-[--rt-base-background] rounded col-span-1 py-1\\\"></div>\\n </div>\\n <div>\\n <div class=\\\"h-2 bg-[--rt-base-background] rounded col-span-2 py-1\\\"></div>\\n </div>\\n </div>\\n </div>\\n }\\n } @else {\\n <rolatech-rich-view list>\\n @for (item of products; track item) {\\n @defer {\\n <rolatech-rich-item\\n [routerLink]=\\\"['../../', item.id]\\\"\\n [thumbnail]=\\\"item.media[0].url + '!w400'\\\"\\n [title]=\\\"item.name\\\"\\n [subtitle]=\\\"item.description\\\"\\n [price]=\\\"item.price / 100\\\"\\n ></rolatech-rich-item>\\n }\\n }\\n </rolatech-rich-view>\\n }\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jYXRlZ29yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QtY2F0ZWdvcnkvcHJvZHVjdC1jYXRlZ29yeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QtY2F0ZWdvcnkvcHJvZHVjdC1jYXRlZ29yeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRzVILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFRL0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFOM0Q7O1FBT0Usb0JBQWUsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNqRCxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV4QyxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBc0IsRUFBRSxDQUFDO1FBQ25DLFlBQU8sR0FBRyxLQUFLLENBQUM7S0FxRGpCO0lBbkRDLFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFnQixFQUFFLEVBQUU7WUFDakQsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQVcsQ0FBQztZQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN0QyxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQzdCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBVTtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDckMsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUMzQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDckMsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUMzQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELHdCQUF3QixDQUFDLEVBQVU7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsTUFBTSxPQUFPLEdBQUc7WUFDZCxNQUFNLEVBQUUsY0FBYyxFQUFFLGlCQUFpQjtTQUMxQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFDLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQVM7UUFDOUIseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUN6QyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0ExRFUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsNEdDYnJDLG1oREF3Q0EseUREL0JZLG1CQUFtQiw4QkFBRSx1QkFBdUIsK0JBQUUsaUJBQWlCLDhHQUFFLGlCQUFpQjs7MkZBSWpGLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSwyQkFBMkIsV0FDNUIsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2R1Y3RDYXRlZ29yeVNlcnZpY2UsIFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIEJhc2VDb21wb25lbnQsIFJpY2hJdGVtQ29tcG9uZW50LCBSaWNoVmlld0NvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUHJvZHVjdCwgUHJvZHVjdENhdGVnb3J5IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQYXJhbU1hcCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvZHVjdC1jYXRlZ29yeScsXG4gIGltcG9ydHM6IFtBbmd1bGFyQ29tbW9uTW9kdWxlLCBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgUmljaFZpZXdDb21wb25lbnQsIFJpY2hJdGVtQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtY2F0ZWdvcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1jYXRlZ29yeS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RDYXRlZ29yeUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjYXRlZ29yeVNlcnZpY2UgPSBpbmplY3QoUHJvZHVjdENhdGVnb3J5U2VydmljZSk7XG4gIHByb2R1Y3RTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RTZXJ2aWNlKTtcbiAgY2F0ZWdvcnkhOiBQcm9kdWN0Q2F0ZWdvcnk7XG4gIHByb2R1Y3RzOiBQcm9kdWN0W10gPSBbXTtcbiAgY2F0ZWdvcmllczogUHJvZHVjdENhdGVnb3J5W10gPSBbXTtcbiAgbG9hZGluZyA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmluZEFsbENhdGVnb3JpZXMoKTtcbiAgICB0aGlzLnJvdXRlLnBhcmFtTWFwLnN1YnNjcmliZSgocGFyYW1zOiBQYXJhbU1hcCkgPT4ge1xuICAgICAgY29uc3QgaWQgPSBwYXJhbXMuZ2V0KCdpZCcpIGFzIHN0cmluZztcbiAgICAgIHRoaXMuZmluZENhdGVnb3J5QnlJZChpZCk7XG4gICAgICB0aGlzLmZpbmRQcm9kdWN0c0J5Q2F0ZWdvcnlJZChpZCk7XG4gICAgfSk7XG4gIH1cbiAgZmluZEFsbENhdGVnb3JpZXMoKSB7XG4gICAgdGhpcy5jYXRlZ29yeVNlcnZpY2UuZmluZCh7fSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNhdGVnb3JpZXMgPSByZXMuZGF0YTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZmluZENhdGVnb3J5QnlJZChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5jYXRlZ29yeVNlcnZpY2UuZ2V0KGlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnkgPSByZXMuZGF0YTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZmluZEFsbFByb2R1Y3RzKCkge1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZmluZCh7fSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2R1Y3RzID0gcmVzLmRhdGE7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGZpbmRQcm9kdWN0c0J5Q2F0ZWdvcnlJZChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgZmlsdGVyOiBgY2F0ZWdvcmllczoke2lkfSxwdWJsaXNoZWQ6dHJ1ZWAsXG4gICAgfTtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmZpbmQob3B0aW9ucykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2R1Y3RzID0gcmVzLmRhdGE7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgbG9hZFByb2R1Y3RzQnlDYXRlZ29yeShpdGVtOiBhbnkpIHtcbiAgICAvLyAgW3JvdXRlckxpbmtdID0gXCJbJy4uLy4uLycsIGl0ZW0uaWRdXCI7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AuLi8uLi8ke2l0ZW0uaWR9YF0sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXY+XG4gIEBpZiAoY2F0ZWdvcnkpIHtcbiAgICA8ZGl2IGNsYXNzPVwicC0zIGhpZGRlbiBtZDpibG9jayB0ZXh0LTJ4bCBmb250LW1lZGl1bVwiPnt7IGNhdGVnb3J5Lm5hbWUgfX08L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgYW5pbWF0ZS1wdWxzZSB3LWZ1bGxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoLTQgYmctWy0tcnQtYmFzZS1iYWNrZ3JvdW5kXSByb3VuZGVkIGNvbC1zcGFuLTJcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxuICBAaWYgKGxvYWRpbmcpIHtcbiAgICBAZm9yIChudW1iZXIgb2YgWzAsIDEsIDIsIDMsIDQsIDVdOyB0cmFjayBudW1iZXIpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFuaW1hdGUtcHVsc2UgbXQtMyBtci00IGN1cnNvci1wb2ludGVyIHctZnVsbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaC1maXQgdy0yLzUgbWQ6dy0xLzQgYXNwZWN0LXZpZGVvIGJnLVstLXJ0LWJhc2UtYmFja2dyb3VuZF0gcm91bmRlZC1sZ1wiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidy0zLzUgbWQ6dy0zLzQgbWwtMyBweS0xIGZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNwYWNlLXktM1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtNCBiZy1bLS1ydC1iYXNlLWJhY2tncm91bmRdIHJvdW5kZWQgY29sLXNwYW4tMlwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMiBiZy1bLS1ydC1iYXNlLWJhY2tncm91bmRdIHJvdW5kZWQgY29sLXNwYW4tMVwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMiBiZy1bLS1ydC1iYXNlLWJhY2tncm91bmRdIHJvdW5kZWQgY29sLXNwYW4tMSBweS0xXCI+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTIgYmctWy0tcnQtYmFzZS1iYWNrZ3JvdW5kXSByb3VuZGVkIGNvbC1zcGFuLTIgcHktMVwiPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgPHJvbGF0ZWNoLXJpY2gtdmlldyBsaXN0PlxuICAgICAgQGZvciAoaXRlbSBvZiBwcm9kdWN0czsgdHJhY2sgaXRlbSkge1xuICAgICAgICBAZGVmZXIge1xuICAgICAgICAgIDxyb2xhdGVjaC1yaWNoLWl0ZW1cbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnLi4vLi4vJywgaXRlbS5pZF1cIlxuICAgICAgICAgICAgW3RodW1ibmFpbF09XCJpdGVtLm1lZGlhWzBdLnVybCArICchdzQwMCdcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW0ubmFtZVwiXG4gICAgICAgICAgICBbc3VidGl0bGVdPVwiaXRlbS5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBbcHJpY2VdPVwiaXRlbS5wcmljZSAvIDEwMFwiXG4gICAgICAgICAgPjwvcm9sYXRlY2gtcmljaC1pdGVtPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9yb2xhdGVjaC1yaWNoLXZpZXc+XG4gIH1cbjwvZGl2PlxuIl19","import { Component, input, ViewEncapsulation } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterModule } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nexport class ProductInfoComponent {\n constructor() {\n this.name = input.required(...(ngDevMode ? [{ debugName: \"name\" }] : []));\n this.description = input(...(ngDevMode ? [undefined, { debugName: \"description\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.4\", type: ProductInfoComponent, isStandalone: true, selector: \"rolatech-product-info\", inputs: { name: { classPropertyName: \"name\", publicName: \"name\", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: \"description\", publicName: \"description\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"id\": \"rolatech-product-info\" } }, ngImport: i0, template: \"<div>\\n <div class=\\\"text-2xl font-medium\\\">{{ name() }}</div>\\n <div>\\n {{ description() }}\\n </div>\\n</div>\\n\", styles: [\"rolatech-product-info mat-icon{transform:scale(.8)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatIconModule }, { kind: \"ngmodule\", type: RouterModule }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductInfoComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-info', imports: [MatIconModule, RouterModule], encapsulation: ViewEncapsulation.None, host: {\n id: 'rolatech-product-info',\n }, template: \"<div>\\n <div class=\\\"text-2xl font-medium\\\">{{ name() }}</div>\\n <div>\\n {{ description() }}\\n </div>\\n</div>\\n\", styles: [\"rolatech-product-info mat-icon{transform:scale(.8)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL2NvbXBvbmVudHMvcHJvZHVjdC1pbmZvL3Byb2R1Y3QtaW5mby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtaW5mby9wcm9kdWN0LWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFZL0MsTUFBTSxPQUFPLG9CQUFvQjtJQVZqQztRQVdFLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSwrQ0FBVSxDQUFDO1FBQ2hDLGdCQUFXLEdBQUcsS0FBSyxpRUFBVSxDQUFDO0tBQy9COzhHQUhZLG9CQUFvQjtrR0FBcEIsb0JBQW9CLG9aQ2RqQyx1SEFNQSw4R0RBWSxhQUFhLDhCQUFFLFlBQVk7OzJGQVExQixvQkFBb0I7a0JBVmhDLFNBQVM7K0JBQ0UsdUJBQXVCLFdBQ3hCLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxpQkFHdkIsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixFQUFFLEVBQUUsdUJBQXVCO3FCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LWluZm8nLFxuICBpbXBvcnRzOiBbTWF0SWNvbk1vZHVsZSwgUm91dGVyTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtaW5mby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LWluZm8uY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgaWQ6ICdyb2xhdGVjaC1wcm9kdWN0LWluZm8nLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0SW5mb0NvbXBvbmVudCB7XG4gIG5hbWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIGRlc2NyaXB0aW9uID0gaW5wdXQ8c3RyaW5nPigpO1xufVxuIiwiPGRpdj5cbiAgPGRpdiBjbGFzcz1cInRleHQtMnhsIGZvbnQtbWVkaXVtXCI+e3sgbmFtZSgpIH19PC9kaXY+XG4gIDxkaXY+XG4gICAge3sgZGVzY3JpcHRpb24oKSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ImagePreviewDialogComponent, ThumbnailComponent } from '@rolatech/angular-components';\nimport * as i0 from \"@angular/core\";\nexport class ProductMediaComponent {\n constructor() {\n this.dialog = inject(MatDialog);\n this.media = input([], ...(ngDevMode ? [{ debugName: \"media\" }] : []));\n this.min = input(false, ...(ngDevMode ? [{ debugName: \"min\" }] : []));\n this.mediaIndex = 0;\n }\n onImageClick(i) {\n const dialogRef = this.dialog.open(ImagePreviewDialogComponent, {\n maxWidth: '80vw',\n maxHeight: '80vh',\n height: '80%',\n width: '80%',\n panelClass: 'full-screen-modal',\n data: {\n media: this.media,\n selected: i,\n },\n });\n dialogRef.afterClosed().subscribe((result) => { });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductMediaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductMediaComponent, isStandalone: true, selector: \"rolatech-product-media\", inputs: { media: { classPropertyName: \"media\", publicName: \"media\", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: \"min\", publicName: \"min\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"@if (media()) {\\n <div>\\n <div class=\\\"object-cover aspect-video bg-[--rt-raised-background]\\\">\\n <rolatech-thumbnail [src]=\\\"media()[mediaIndex].url\\\" size=\\\"small\\\" mode=\\\"full\\\"></rolatech-thumbnail>\\n </div>\\n @for (media of media(); track media; let index = $index) {\\n <div\\n class=\\\"inline-flex flex-row mt-3 mr-3 cursor-pointer w-28 p-2 bg-[--rt-10-percent-layer]\\\"\\n (click)=\\\"mediaIndex = index\\\"\\n [ngClass]=\\\"mediaIndex === index ? 'border border-black' : 'opacity-70'\\\"\\n >\\n <rolatech-thumbnail [src]=\\\"media.url\\\" mode=\\\"full\\\"></rolatech-thumbnail>\\n </div>\\n }\\n </div>\\n}\\n\", styles: [\"\"], dependencies: [{ kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"component\", type: ThumbnailComponent, selector: \"rolatech-thumbnail\", inputs: [\"src\", \"size\", \"mode\", \"ratio\", \"width\", \"height\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductMediaComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-media', imports: [NgClass, ThumbnailComponent], encapsulation: ViewEncapsulation.None, template: \"@if (media()) {\\n <div>\\n <div class=\\\"object-cover aspect-video bg-[--rt-raised-background]\\\">\\n <rolatech-thumbnail [src]=\\\"media()[mediaIndex].url\\\" size=\\\"small\\\" mode=\\\"full\\\"></rolatech-thumbnail>\\n </div>\\n @for (media of media(); track media; let index = $index) {\\n <div\\n class=\\\"inline-flex flex-row mt-3 mr-3 cursor-pointer w-28 p-2 bg-[--rt-10-percent-layer]\\\"\\n (click)=\\\"mediaIndex = index\\\"\\n [ngClass]=\\\"mediaIndex === index ? 'border border-black' : 'opacity-70'\\\"\\n >\\n <rolatech-thumbnail [src]=\\\"media.url\\\" mode=\\\"full\\\"></rolatech-thumbnail>\\n </div>\\n }\\n </div>\\n}\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tZWRpYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWVkaWEvcHJvZHVjdC1tZWRpYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWVkaWEvcHJvZHVjdC1tZWRpYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFTL0YsTUFBTSxPQUFPLHFCQUFxQjtJQVBsQztRQVFFLFdBQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsVUFBSyxHQUFHLEtBQUssQ0FBVSxFQUFFLGlEQUFDLENBQUM7UUFDM0IsUUFBRyxHQUFHLEtBQUssQ0FBVSxLQUFLLCtDQUFDLENBQUM7UUFDNUIsZUFBVSxHQUFHLENBQUMsQ0FBQztLQWVoQjtJQWRDLFlBQVksQ0FBQyxDQUFNO1FBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFO1lBQzlELFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsS0FBSyxFQUFFLEtBQUs7WUFDWixVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLElBQUksRUFBRTtnQkFDSixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLFFBQVEsRUFBRSxDQUFDO2FBQ1o7U0FDRixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDOzhHQWxCVSxxQkFBcUI7a0dBQXJCLHFCQUFxQix3VUNibEMsK29CQWdCQSwwRERSWSxPQUFPLG9GQUFFLGtCQUFrQjs7MkZBSzFCLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSx3QkFBd0IsV0FDekIsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsaUJBR3ZCLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNZWRpYSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBJbWFnZVByZXZpZXdEaWFsb2dDb21wb25lbnQsIFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1lZGlhJyxcbiAgaW1wb3J0czogW05nQ2xhc3MsIFRodW1ibmFpbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LW1lZGlhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWVkaWEuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWVkaWFDb21wb25lbnQge1xuICBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcbiAgbWVkaWEgPSBpbnB1dDxNZWRpYVtdPihbXSk7XG4gIG1pbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgbWVkaWFJbmRleCA9IDA7XG4gIG9uSW1hZ2VDbGljayhpOiBhbnkpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEltYWdlUHJldmlld0RpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgbWF4V2lkdGg6ICc4MHZ3JyxcbiAgICAgIG1heEhlaWdodDogJzgwdmgnLFxuICAgICAgaGVpZ2h0OiAnODAlJyxcbiAgICAgIHdpZHRoOiAnODAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdmdWxsLXNjcmVlbi1tb2RhbCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIG1lZGlhOiB0aGlzLm1lZGlhLFxuICAgICAgICBzZWxlY3RlZDogaSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHt9KTtcbiAgfVxufVxuIiwiQGlmIChtZWRpYSgpKSB7XG4gIDxkaXY+XG4gICAgPGRpdiBjbGFzcz1cIm9iamVjdC1jb3ZlciBhc3BlY3QtdmlkZW8gYmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdXCI+XG4gICAgICA8cm9sYXRlY2gtdGh1bWJuYWlsIFtzcmNdPVwibWVkaWEoKVttZWRpYUluZGV4XS51cmxcIiBzaXplPVwic21hbGxcIiBtb2RlPVwiZnVsbFwiPjwvcm9sYXRlY2gtdGh1bWJuYWlsPlxuICAgIDwvZGl2PlxuICAgIEBmb3IgKG1lZGlhIG9mIG1lZGlhKCk7IHRyYWNrIG1lZGlhOyBsZXQgaW5kZXggPSAkaW5kZXgpIHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBmbGV4LXJvdyBtdC0zIG1yLTMgY3Vyc29yLXBvaW50ZXIgdy0yOCBwLTIgYmctWy0tcnQtMTAtcGVyY2VudC1sYXllcl1cIlxuICAgICAgICAoY2xpY2spPVwibWVkaWFJbmRleCA9IGluZGV4XCJcbiAgICAgICAgW25nQ2xhc3NdPVwibWVkaWFJbmRleCA9PT0gaW5kZXggPyAnYm9yZGVyIGJvcmRlci1ibGFjaycgOiAnb3BhY2l0eS03MCdcIlxuICAgICAgPlxuICAgICAgICA8cm9sYXRlY2gtdGh1bWJuYWlsIFtzcmNdPVwibWVkaWEudXJsXCIgbW9kZT1cImZ1bGxcIj48L3JvbGF0ZWNoLXRodW1ibmFpbD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG59XG4iXX0=","import { booleanAttribute, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { CommonModule, ViewportScroller } from '@angular/common';\nimport { ThumbnailComponent } from '@rolatech/angular-components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class ProductSectionComponent {\n constructor() {\n this.section = input.required(...(ngDevMode ? [{ debugName: \"section\" }] : []));\n this.user = input(...(ngDevMode ? [undefined, { debugName: \"user\" }] : []));\n this.username = input(...(ngDevMode ? [undefined, { debugName: \"username\" }] : []));\n this.viewportScroller = inject(ViewportScroller);\n this.row = input(false, ...(ngDevMode ? [{ debugName: \"row\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n this.reverse = input(false, ...(ngDevMode ? [{ debugName: \"reverse\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n }\n ngOnInit() { }\n onClickScroller(id) {\n this.viewportScroller.scrollToAnchor(id);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductSectionComponent, isStandalone: true, selector: \"rolatech-product-section\", inputs: { section: { classPropertyName: \"section\", publicName: \"section\", isSignal: true, isRequired: true, transformFunction: null }, user: { classPropertyName: \"user\", publicName: \"user\", isSignal: true, isRequired: false, transformFunction: null }, username: { classPropertyName: \"username\", publicName: \"username\", isSignal: true, isRequired: false, transformFunction: null }, row: { classPropertyName: \"row\", publicName: \"row\", isSignal: true, isRequired: false, transformFunction: null }, reverse: { classPropertyName: \"reverse\", publicName: \"reverse\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"@if (section(); as section) {\\n @if (row()) {\\n <div>\\n @if (section.title) {\\n <div class=\\\"py-3 flex items-center gap-3\\\">\\n <span class=\\\"h-4 w-1 bg-[--rt-brand-color] inline-block\\\"></span>\\n <span class=\\\"text-lg font-medium py-1\\\"> {{ section.title }}</span>\\n </div>\\n }\\n @if (section.description) {\\n <div>\\n {{ section.description }}\\n </div>\\n }\\n @if (section.media) {\\n <div class=\\\"w-80%\\\">\\n @for (item of section.media; track item) {\\n <div class=\\\"py-3\\\">\\n <rolatech-thumbnail\\n [src]=\\\"item.url\\\"\\n size=\\\"small\\\"\\n mode=\\\"full\\\"\\n [width]=\\\"item.width\\\"\\n [height]=\\\"item.height\\\"\\n ></rolatech-thumbnail>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n } @else {\\n <div\\n class=\\\"flex w-full p-3\\\"\\n [ngClass]=\\\"reverse() ? 'flex-col-reverse md:flex-row-reverse' : 'flex-col-reverse md:flex-row'\\\"\\n >\\n <div\\n class=\\\"w-full md:w-1/2 py-3 flex flex-col justify-center items-center gap-3\\\"\\n [ngClass]=\\\"reverse() ? ' md:ml-16' : 'md:mr-16'\\\"\\n >\\n <span class=\\\"text-3xl font-bold py-1\\\"> {{ section.title }}</span>\\n <span>\\n {{ section.description }}\\n </span>\\n </div>\\n <div class=\\\"w-full md:w-1/2 py-11\\\">\\n @for (item of section.media; track item) {\\n <div class=\\\"py-3\\\">\\n <rolatech-thumbnail\\n [src]=\\\"item.url\\\"\\n size=\\\"small\\\"\\n mode=\\\"full\\\"\\n [width]=\\\"item.width\\\"\\n [height]=\\\"item.height\\\"\\n ></rolatech-thumbnail>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n}\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"component\", type: ThumbnailComponent, selector: \"rolatech-thumbnail\", inputs: [\"src\", \"size\", \"mode\", \"ratio\", \"width\", \"height\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductSectionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-section', imports: [CommonModule, ThumbnailComponent], encapsulation: ViewEncapsulation.None, template: \"@if (section(); as section) {\\n @if (row()) {\\n <div>\\n @if (section.title) {\\n <div class=\\\"py-3 flex items-center gap-3\\\">\\n <span class=\\\"h-4 w-1 bg-[--rt-brand-color] inline-block\\\"></span>\\n <span class=\\\"text-lg font-medium py-1\\\"> {{ section.title }}</span>\\n </div>\\n }\\n @if (section.description) {\\n <div>\\n {{ section.description }}\\n </div>\\n }\\n @if (section.media) {\\n <div class=\\\"w-80%\\\">\\n @for (item of section.media; track item) {\\n <div class=\\\"py-3\\\">\\n <rolatech-thumbnail\\n [src]=\\\"item.url\\\"\\n size=\\\"small\\\"\\n mode=\\\"full\\\"\\n [width]=\\\"item.width\\\"\\n [height]=\\\"item.height\\\"\\n ></rolatech-thumbnail>\\n </div>\\n }\\n </div>\\n }\\n </div>\\n } @else {\\n <div\\n class=\\\"flex w-full p-3\\\"\\n [ngClass]=\\\"reverse() ? 'flex-col-reverse md:flex-row-reverse' : 'flex-col-reverse md:flex-row'\\\"\\n >\\n <div\\n class=\\\"w-full md:w-1/2 py-3 flex flex-col justify-center items-center gap-3\\\"\\n [ngClass]=\\\"reverse() ? ' md:ml-16' : 'md:mr-16'\\\"\\n >\\n <span class=\\\"text-3xl font-bold py-1\\\"> {{ section.title }}</span>\\n <span>\\n {{ section.description }}\\n </span>\\n </div>\\n <div class=\\\"w-full md:w-1/2 py-11\\\">\\n @for (item of section.media; track item) {\\n <div class=\\\"py-3\\\">\\n <rolatech-thumbnail\\n [src]=\\\"item.url\\\"\\n size=\\\"small\\\"\\n mode=\\\"full\\\"\\n [width]=\\\"item.width\\\"\\n [height]=\\\"item.height\\\"\\n ></rolatech-thumbnail>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n}\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL2NvbXBvbmVudHMvcHJvZHVjdC1zZWN0aW9uL3Byb2R1Y3Qtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3Qtc2VjdGlvbi9wcm9kdWN0LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBU2xFLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFRRSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsa0RBQWtCLENBQUM7UUFDM0MsU0FBSSxHQUFHLEtBQUssMERBQVUsQ0FBQztRQUN2QixhQUFRLEdBQUcsS0FBSyw4REFBVSxDQUFDO1FBQzNCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLFFBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyx1Q0FBSSxTQUFTLEVBQUUsZ0JBQWdCLE9BQTdCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEdBQUMsQ0FBQztRQUNwRCxZQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssMkNBQUksU0FBUyxFQUFFLGdCQUFnQixPQUE3QixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxHQUFDLENBQUM7S0FPekQ7SUFMQyxRQUFRLEtBQVUsQ0FBQztJQUVuQixlQUFlLENBQUMsRUFBVTtRQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OEdBWlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsbXNCQ1pwQyxpekRBNERBLHlERHJEWSxZQUFZLDZIQUFFLGtCQUFrQjs7MkZBSy9CLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSwwQkFBMEIsV0FDM0IsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsaUJBRzVCLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgVmlld3BvcnRTY3JvbGxlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQcm9kdWN0U2VjdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3Qtc2VjdGlvbicsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRodW1ibmFpbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdFNlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzZWN0aW9uID0gaW5wdXQucmVxdWlyZWQ8UHJvZHVjdFNlY3Rpb24+KCk7XG4gIHVzZXIgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHVzZXJuYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICB2aWV3cG9ydFNjcm9sbGVyID0gaW5qZWN0KFZpZXdwb3J0U2Nyb2xsZXIpO1xuICByb3cgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gIHJldmVyc2UgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIG9uQ2xpY2tTY3JvbGxlcihpZDogc3RyaW5nKSB7XG4gICAgdGhpcy52aWV3cG9ydFNjcm9sbGVyLnNjcm9sbFRvQW5jaG9yKGlkKTtcbiAgfVxufVxuIiwiQGlmIChzZWN0aW9uKCk7IGFzIHNlY3Rpb24pIHtcbiAgQGlmIChyb3coKSkge1xuICAgIDxkaXY+XG4gICAgICBAaWYgKHNlY3Rpb24udGl0bGUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInB5LTMgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImgtNCB3LTEgYmctWy0tcnQtYnJhbmQtY29sb3JdIGlubGluZS1ibG9ja1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbGcgZm9udC1tZWRpdW0gcHktMVwiPiB7eyBzZWN0aW9uLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIEBpZiAoc2VjdGlvbi5kZXNjcmlwdGlvbikge1xuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHt7IHNlY3Rpb24uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAaWYgKHNlY3Rpb24ubWVkaWEpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInctODAlXCI+XG4gICAgICAgICAgQGZvciAoaXRlbSBvZiBzZWN0aW9uLm1lZGlhOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktM1wiPlxuICAgICAgICAgICAgICA8cm9sYXRlY2gtdGh1bWJuYWlsXG4gICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLnVybFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBtb2RlPVwiZnVsbFwiXG4gICAgICAgICAgICAgICAgW3dpZHRoXT1cIml0ZW0ud2lkdGhcIlxuICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiaXRlbS5oZWlnaHRcIlxuICAgICAgICAgICAgICA+PC9yb2xhdGVjaC10aHVtYm5haWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImZsZXggdy1mdWxsIHAtM1wiXG4gICAgICBbbmdDbGFzc109XCJyZXZlcnNlKCkgPyAnZmxleC1jb2wtcmV2ZXJzZSBtZDpmbGV4LXJvdy1yZXZlcnNlJyA6ICdmbGV4LWNvbC1yZXZlcnNlIG1kOmZsZXgtcm93J1wiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInctZnVsbCBtZDp3LTEvMiBweS0zIGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIGdhcC0zXCJcbiAgICAgICAgW25nQ2xhc3NdPVwicmV2ZXJzZSgpID8gJyBtZDptbC0xNicgOiAnbWQ6bXItMTYnXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTN4bCBmb250LWJvbGQgcHktMVwiPiB7eyBzZWN0aW9uLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICB7eyBzZWN0aW9uLmRlc2NyaXB0aW9uIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBtZDp3LTEvMiBweS0xMVwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIHNlY3Rpb24ubWVkaWE7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktM1wiPlxuICAgICAgICAgICAgPHJvbGF0ZWNoLXRodW1ibmFpbFxuICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0udXJsXCJcbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgbW9kZT1cImZ1bGxcIlxuICAgICAgICAgICAgICBbd2lkdGhdPVwiaXRlbS53aWR0aFwiXG4gICAgICAgICAgICAgIFtoZWlnaHRdPVwiaXRlbS5oZWlnaHRcIlxuICAgICAgICAgICAgPjwvcm9sYXRlY2gtdGh1bWJuYWlsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxufVxuIl19","import { Component, input, ViewEncapsulation } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, RichItemComponent } from '@rolatech/angular-components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nexport class ProductItemComponent {\n constructor() {\n this.product = input.required(...(ngDevMode ? [{ debugName: \"product\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.4\", type: ProductItemComponent, isStandalone: true, selector: \"rolatech-product-item\", inputs: { product: { classPropertyName: \"product\", publicName: \"product\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: \"<rolatech-rich-item\\n [routerLink]=\\\"['./', product().id]\\\"\\n [thumbnail]=\\\"product().media[0].url + '!w400'\\\"\\n [title]=\\\"product().name\\\"\\n [subtitle]=\\\"product().description\\\"\\n [price]=\\\"product().price / 100\\\"\\n></rolatech-rich-item>\\n\", styles: [\"\"], 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: \"component\", type: RichItemComponent, selector: \"rolatech-rich-item\", inputs: [\"list\", \"thumbnail\", \"avatar\", \"title\", \"subtitle\", \"price\", \"thumbnailRatio\", \"thumbnailMode\", \"currencySymbol\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-item', imports: [AngularCommonModule, AngularComponentsModule, RichItemComponent], encapsulation: ViewEncapsulation.None, template: \"<rolatech-rich-item\\n [routerLink]=\\\"['./', product().id]\\\"\\n [thumbnail]=\\\"product().media[0].url + '!w400'\\\"\\n [title]=\\\"product().name\\\"\\n [subtitle]=\\\"product().description\\\"\\n [price]=\\\"product().price / 100\\\"\\n></rolatech-rich-item>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL2NvbXBvbmVudHMvcHJvZHVjdC1pdGVtL3Byb2R1Y3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtaXRlbS9wcm9kdWN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQVUxRixNQUFNLE9BQU8sb0JBQW9CO0lBUGpDO1FBUUUsWUFBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLGtEQUFXLENBQUM7S0FDckM7OEdBRlksb0JBQW9CO2tHQUFwQixvQkFBb0IsME5DYmpDLHVQQU9BLHlERENZLG1CQUFtQiwrUUFBRSx1QkFBdUIsK0JBQUUsaUJBQWlCOzsyRkFLOUQsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLHVCQUF1QixXQUN4QixDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixDQUFDLGlCQUczRCxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBSaWNoSXRlbUNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LWl0ZW0nLFxuICBpbXBvcnRzOiBbQW5ndWxhckNvbW1vbk1vZHVsZSwgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIFJpY2hJdGVtQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LWl0ZW0uY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0SXRlbUNvbXBvbmVudCB7XG4gIHByb2R1Y3QgPSBpbnB1dC5yZXF1aXJlZDxQcm9kdWN0PigpO1xufVxuIiwiPHJvbGF0ZWNoLXJpY2gtaXRlbVxuICBbcm91dGVyTGlua109XCJbJy4vJywgcHJvZHVjdCgpLmlkXVwiXG4gIFt0aHVtYm5haWxdPVwicHJvZHVjdCgpLm1lZGlhWzBdLnVybCArICchdzQwMCdcIlxuICBbdGl0bGVdPVwicHJvZHVjdCgpLm5hbWVcIlxuICBbc3VidGl0bGVdPVwicHJvZHVjdCgpLmRlc2NyaXB0aW9uXCJcbiAgW3ByaWNlXT1cInByb2R1Y3QoKS5wcmljZSAvIDEwMFwiXG4+PC9yb2xhdGVjaC1yaWNoLWl0ZW0+XG4iXX0=","import { Component, computed, input, output, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class ProductActionComponent {\n constructor() {\n this.product = input.required(...(ngDevMode ? [{ debugName: \"product\" }] : []));\n this.cart = output();\n this.checkout = output();\n this.deposit = output();\n this.displayDeposit = computed(() => {\n return (this.product().deposit / 100).toFixed(2);\n }, ...(ngDevMode ? [{ debugName: \"displayDeposit\" }] : []));\n }\n onCart(product) {\n this.cart.emit(product);\n }\n onCheckout(product) {\n this.checkout.emit(product);\n }\n onDeposit(product) {\n this.deposit.emit(product);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductActionComponent, isStandalone: true, selector: \"rolatech-product-action\", inputs: { product: { classPropertyName: \"product\", publicName: \"product\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { cart: \"cart\", checkout: \"checkout\", deposit: \"deposit\" }, ngImport: i0, template: \"<div class=\\\"flex gap-3\\\">\\n <a mat-stroked-button class=\\\"\\\" (click)=\\\"onCart(product())\\\" i18n>Add to cart</a>\\n @if (product().priceType && product().priceType.toString() === 'PARTIAL') {\\n <a mat-flat-button class=\\\"\\\" (click)=\\\"onDeposit(product())\\\" i18n>Pay deposit \\u00A5{{ displayDeposit() }}</a>\\n } @else {\\n <a mat-flat-button class=\\\"\\\" (click)=\\\"onCheckout(product())\\\" i18n>Pay now</a>\\n }\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.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\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductActionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-action', imports: [CommonModule, MatButtonModule], encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"flex gap-3\\\">\\n <a mat-stroked-button class=\\\"\\\" (click)=\\\"onCart(product())\\\" i18n>Add to cart</a>\\n @if (product().priceType && product().priceType.toString() === 'PARTIAL') {\\n <a mat-flat-button class=\\\"\\\" (click)=\\\"onDeposit(product())\\\" i18n>Pay deposit \\u00A5{{ displayDeposit() }}</a>\\n } @else {\\n <a mat-flat-button class=\\\"\\\" (click)=\\\"onCheckout(product())\\\" i18n>Pay now</a>\\n }\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvY29tcG9uZW50cy9wcm9kdWN0LWFjdGlvbi9wcm9kdWN0LWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtYWN0aW9uL3Byb2R1Y3QtYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBUzNELE1BQU0sT0FBTyxzQkFBc0I7SUFQbkM7UUFRRSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsa0RBQVcsQ0FBQztRQUNwQyxTQUFJLEdBQUcsTUFBTSxFQUFXLENBQUM7UUFDekIsYUFBUSxHQUFHLE1BQU0sRUFBVyxDQUFDO1FBQzdCLFlBQU8sR0FBRyxNQUFNLEVBQVcsQ0FBQztRQUM1QixtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUMsMERBQUMsQ0FBQztLQVdKO0lBVEMsTUFBTSxDQUFDLE9BQWdCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRCxVQUFVLENBQUMsT0FBZ0I7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELFNBQVMsQ0FBQyxPQUFnQjtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDOzhHQWpCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixpU0NabkMsMGFBUUEseURERFksWUFBWSw4QkFBRSxlQUFlOzsyRkFLNUIsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLHlCQUF5QixXQUMxQixDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsaUJBR3pCLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgb3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3QtYWN0aW9uJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtYWN0aW9uLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdEFjdGlvbkNvbXBvbmVudCB7XG4gIHByb2R1Y3QgPSBpbnB1dC5yZXF1aXJlZDxQcm9kdWN0PigpO1xuICBjYXJ0ID0gb3V0cHV0PFByb2R1Y3Q+KCk7XG4gIGNoZWNrb3V0ID0gb3V0cHV0PFByb2R1Y3Q+KCk7XG4gIGRlcG9zaXQgPSBvdXRwdXQ8UHJvZHVjdD4oKTtcbiAgZGlzcGxheURlcG9zaXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuICh0aGlzLnByb2R1Y3QoKS5kZXBvc2l0IC8gMTAwKS50b0ZpeGVkKDIpO1xuICB9KTtcblxuICBvbkNhcnQocHJvZHVjdDogUHJvZHVjdCkge1xuICAgIHRoaXMuY2FydC5lbWl0KHByb2R1Y3QpO1xuICB9XG4gIG9uQ2hlY2tvdXQocHJvZHVjdDogUHJvZHVjdCkge1xuICAgIHRoaXMuY2hlY2tvdXQuZW1pdChwcm9kdWN0KTtcbiAgfVxuICBvbkRlcG9zaXQocHJvZHVjdDogUHJvZHVjdCkge1xuICAgIHRoaXMuZGVwb3NpdC5lbWl0KHByb2R1Y3QpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBnYXAtM1wiPlxuICA8YSBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJcIiAoY2xpY2spPVwib25DYXJ0KHByb2R1Y3QoKSlcIiBpMThuPkFkZCB0byBjYXJ0PC9hPlxuICBAaWYgKHByb2R1Y3QoKS5wcmljZVR5cGUgJiYgcHJvZHVjdCgpLnByaWNlVHlwZS50b1N0cmluZygpID09PSAnUEFSVElBTCcpIHtcbiAgICA8YSBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJcIiAoY2xpY2spPVwib25EZXBvc2l0KHByb2R1Y3QoKSlcIiBpMThuPlBheSBkZXBvc2l0IMKle3sgZGlzcGxheURlcG9zaXQoKSB9fTwvYT5cbiAgfSBAZWxzZSB7XG4gICAgPGEgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwiXCIgKGNsaWNrKT1cIm9uQ2hlY2tvdXQocHJvZHVjdCgpKVwiIGkxOG4+UGF5IG5vdzwvYT5cbiAgfVxuPC9kaXY+XG4iXX0=","import { Component, computed, input, output, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDivider } from '@angular/material/divider';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class ProductPricingComponent {\n constructor() {\n this.product = input.required(...(ngDevMode ? [{ debugName: \"product\" }] : []));\n // price = computed(() => {\n // return (this.product().price / 100).toFixed(2);\n // });\n this.price = input.required(...(ngDevMode ? [{ debugName: \"price\" }] : []));\n this.displayPrice = computed(() => {\n return (this.price() / 100).toFixed(2);\n }, ...(ngDevMode ? [{ debugName: \"displayPrice\" }] : []));\n this.wish = output();\n this.inWishList = input(false, ...(ngDevMode ? [{ debugName: \"inWishList\" }] : []));\n }\n onWish(product) {\n this.wish.emit(product);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductPricingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductPricingComponent, isStandalone: true, selector: \"rolatech-product-pricing\", inputs: { product: { classPropertyName: \"product\", publicName: \"product\", isSignal: true, isRequired: true, transformFunction: null }, price: { classPropertyName: \"price\", publicName: \"price\", isSignal: true, isRequired: true, transformFunction: null }, inWishList: { classPropertyName: \"inWishList\", publicName: \"inWishList\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { wish: \"wish\" }, ngImport: i0, template: \"<div class=\\\"py-3\\\">\\n <div class=\\\"flex justify-between items-center\\\">\\n <div class=\\\"text-xl font-bold py-3\\\">\\u00A5 {{ displayPrice() }}</div>\\n <button mat-icon-button (click)=\\\"onWish(product())\\\">\\n @if (inWishList()) {\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"24px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" fill=\\\"#5f6368\\\">\\n <path\\n d=\\\"m293-203.08 49.62-212.54-164.93-142.84 217.23-18.85L480-777.69l85.08 200.38 217.23 18.85-164.93 142.84L667-203.08 480-315.92 293-203.08Z\\\"\\n />\\n </svg>\\n } @else {\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"24px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" fill=\\\"#5f6368\\\">\\n <path\\n d=\\\"m354-287 126-76 126 77-33-144 111-96-146-13-58-136-58 135-146 13 111 97-33 143Zm-61 83.92 49.62-212.54-164.93-142.84 217.23-18.85L480-777.69l85.08 200.38 217.23 18.85-164.93 142.84L667-203.08 480-315.92 293-203.08ZM480-470Z\\\"\\n />\\n </svg>\\n }\\n </button>\\n </div>\\n <mat-divider></mat-divider>\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductPricingComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-pricing', imports: [CommonModule, MatButtonModule, MatDivider], encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"py-3\\\">\\n <div class=\\\"flex justify-between items-center\\\">\\n <div class=\\\"text-xl font-bold py-3\\\">\\u00A5 {{ displayPrice() }}</div>\\n <button mat-icon-button (click)=\\\"onWish(product())\\\">\\n @if (inWishList()) {\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"24px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" fill=\\\"#5f6368\\\">\\n <path\\n d=\\\"m293-203.08 49.62-212.54-164.93-142.84 217.23-18.85L480-777.69l85.08 200.38 217.23 18.85-164.93 142.84L667-203.08 480-315.92 293-203.08Z\\\"\\n />\\n </svg>\\n } @else {\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"24px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" fill=\\\"#5f6368\\\">\\n <path\\n d=\\\"m354-287 126-76 126 77-33-144 111-96-146-13-58-136-58 135-146 13 111 97-33 143Zm-61 83.92 49.62-212.54-164.93-142.84 217.23-18.85L480-777.69l85.08 200.38 217.23 18.85-164.93 142.84L667-203.08 480-315.92 293-203.08ZM480-470Z\\\"\\n />\\n </svg>\\n }\\n </button>\\n </div>\\n <mat-divider></mat-divider>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1wcmljaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL2NvbXBvbmVudHMvcHJvZHVjdC1wcmljaW5nL3Byb2R1Y3QtcHJpY2luZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtcHJpY2luZy9wcm9kdWN0LXByaWNpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBVXZELE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFRRSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsa0RBQVcsQ0FBQztRQUNwQywyQkFBMkI7UUFDM0Isb0RBQW9EO1FBQ3BELE1BQU07UUFDTixVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsZ0RBQVUsQ0FBQztRQUNqQyxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsQ0FBQyx3REFBQyxDQUFDO1FBQ0gsU0FBSSxHQUFHLE1BQU0sRUFBVyxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxzREFBQyxDQUFDO0tBSXBDO0lBSEMsTUFBTSxDQUFDLE9BQWdCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLENBQUM7OEdBYlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsc2ZDYnBDLHVqQ0FxQkEseUREYlksWUFBWSw4QkFBRSxlQUFlLHNOQUFFLFVBQVU7OzJGQUt4Qyx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UsMEJBQTBCLFdBQzNCLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUMsaUJBR3JDLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGlucHV0LCBvdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpdmlkZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvZHVjdC1wcmljaW5nJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXREaXZpZGVyXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtcHJpY2luZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LXByaWNpbmcuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0UHJpY2luZ0NvbXBvbmVudCB7XG4gIHByb2R1Y3QgPSBpbnB1dC5yZXF1aXJlZDxQcm9kdWN0PigpO1xuICAvLyBwcmljZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgLy8gICByZXR1cm4gKHRoaXMucHJvZHVjdCgpLnByaWNlIC8gMTAwKS50b0ZpeGVkKDIpO1xuICAvLyB9KTtcbiAgcHJpY2UgPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG4gIGRpc3BsYXlQcmljZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gKHRoaXMucHJpY2UoKSAvIDEwMCkudG9GaXhlZCgyKTtcbiAgfSk7XG4gIHdpc2ggPSBvdXRwdXQ8UHJvZHVjdD4oKTtcbiAgaW5XaXNoTGlzdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgb25XaXNoKHByb2R1Y3Q6IFByb2R1Y3QpIHtcbiAgICB0aGlzLndpc2guZW1pdChwcm9kdWN0KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInB5LTNcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBweS0zXCI+wqUge3sgZGlzcGxheVByaWNlKCkgfX08L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib25XaXNoKHByb2R1Y3QoKSlcIj5cbiAgICAgIEBpZiAoaW5XaXNoTGlzdCgpKSB7XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiIzVmNjM2OFwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwibTI5My0yMDMuMDggNDkuNjItMjEyLjU0LTE2NC45My0xNDIuODQgMjE3LjIzLTE4Ljg1TDQ4MC03NzcuNjlsODUuMDggMjAwLjM4IDIxNy4yMyAxOC44NS0xNjQuOTMgMTQyLjg0TDY2Ny0yMDMuMDggNDgwLTMxNS45MiAyOTMtMjAzLjA4WlwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjNWY2MzY4XCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJtMzU0LTI4NyAxMjYtNzYgMTI2IDc3LTMzLTE0NCAxMTEtOTYtMTQ2LTEzLTU4LTEzNi01OCAxMzUtMTQ2IDEzIDExMSA5Ny0zMyAxNDNabS02MSA4My45MiA0OS42Mi0yMTIuNTQtMTY0LjkzLTE0Mi44NCAyMTcuMjMtMTguODVMNDgwLTc3Ny42OWw4NS4wOCAyMDAuMzggMjE3LjIzIDE4Ljg1LTE2NC45MyAxNDIuODRMNjY3LTIwMy4wOCA0ODAtMzE1LjkyIDI5My0yMDMuMDhaTTQ4MC00NzBaXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIH1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuPC9kaXY+XG4iXX0=","import { Component, input, model, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class ProductOptionComponent {\n constructor() {\n this.option = input.required(...(ngDevMode ? [{ debugName: \"option\" }] : []));\n this.optionChange = output();\n this.selected = model(...(ngDevMode ? [undefined, { debugName: \"selected\" }] : []));\n this.value = model(...(ngDevMode ? [undefined, { debugName: \"value\" }] : []));\n }\n onOptionChange(value) {\n this.value.set(value);\n this.optionChange.emit({ option: this.option(), value: value });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductOptionComponent, isStandalone: true, selector: \"rolatech-product-option\", inputs: { option: { classPropertyName: \"option\", publicName: \"option\", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: \"selected\", publicName: \"selected\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { optionChange: \"optionChange\", selected: \"selectedChange\", value: \"valueChange\" }, ngImport: i0, template: \"<div class=\\\"mb-3\\\">\\n <div class=\\\"text-xl font-bold py-3\\\">{{ option().name }}</div>\\n <div class=\\\"flex flex-wrap gap-3\\\">\\n @for (item of option().values; track $index) {\\n <div\\n class=\\\"w-24 h-12 border border-[--rt-border-color] rounded flex justify-center items-center hover:text-[--rt-text-primary-inverse] hover:bg-[--rt-brand-color] cursor-pointer\\\"\\n (click)=\\\"onOptionChange(item)\\\"\\n [ngClass]=\\\"value()?.id === item.id ? 'bg-[--rt-brand-color] text-[--rt-text-primary-inverse]' : ''\\\"\\n >\\n {{ item.name }}\\n </div>\\n }\\n </div>\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductOptionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-option', imports: [CommonModule], template: \"<div class=\\\"mb-3\\\">\\n <div class=\\\"text-xl font-bold py-3\\\">{{ option().name }}</div>\\n <div class=\\\"flex flex-wrap gap-3\\\">\\n @for (item of option().values; track $index) {\\n <div\\n class=\\\"w-24 h-12 border border-[--rt-border-color] rounded flex justify-center items-center hover:text-[--rt-text-primary-inverse] hover:bg-[--rt-brand-color] cursor-pointer\\\"\\n (click)=\\\"onOptionChange(item)\\\"\\n [ngClass]=\\\"value()?.id === item.id ? 'bg-[--rt-brand-color] text-[--rt-text-primary-inverse]' : ''\\\"\\n >\\n {{ item.name }}\\n </div>\\n }\\n </div>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvY29tcG9uZW50cy9wcm9kdWN0LW9wdGlvbi9wcm9kdWN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3Qtb3B0aW9uL3Byb2R1Y3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFTL0MsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQU9FLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxpREFBaUIsQ0FBQztRQUN6QyxpQkFBWSxHQUFHLE1BQU0sRUFBd0QsQ0FBQztRQUM5RSxhQUFRLEdBQUcsS0FBSyw4REFBaUIsQ0FBQztRQUNsQyxVQUFLLEdBQUcsS0FBSywyREFBc0IsQ0FBQztLQU1yQztJQUpDLGNBQWMsQ0FBQyxLQUF5QjtRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQzs4R0FUVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwraUJDVm5DLCtsQkFjQSx5RERSWSxZQUFZOzsyRkFJWCxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UseUJBQXlCLFdBQzFCLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgbW9kZWwsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFByb2R1Y3RPcHRpb24sIFByb2R1Y3RPcHRpb25WYWx1ZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW9wdGlvbicsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1vcHRpb24uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0T3B0aW9uQ29tcG9uZW50IHtcbiAgb3B0aW9uID0gaW5wdXQucmVxdWlyZWQ8UHJvZHVjdE9wdGlvbj4oKTtcbiAgb3B0aW9uQ2hhbmdlID0gb3V0cHV0PHsgb3B0aW9uOiBQcm9kdWN0T3B0aW9uOyB2YWx1ZTogUHJvZHVjdE9wdGlvblZhbHVlIH0+KCk7XG4gIHNlbGVjdGVkID0gbW9kZWw8UHJvZHVjdE9wdGlvbj4oKTtcbiAgdmFsdWUgPSBtb2RlbDxQcm9kdWN0T3B0aW9uVmFsdWU+KCk7XG5cbiAgb25PcHRpb25DaGFuZ2UodmFsdWU6IFByb2R1Y3RPcHRpb25WYWx1ZSkge1xuICAgIHRoaXMudmFsdWUuc2V0KHZhbHVlKTtcbiAgICB0aGlzLm9wdGlvbkNoYW5nZS5lbWl0KHsgb3B0aW9uOiB0aGlzLm9wdGlvbigpLCB2YWx1ZTogdmFsdWUgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBweS0zXCI+e3sgb3B0aW9uKCkubmFtZSB9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTNcIj5cbiAgICBAZm9yIChpdGVtIG9mIG9wdGlvbigpLnZhbHVlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidy0yNCBoLTEyIGJvcmRlciBib3JkZXItWy0tcnQtYm9yZGVyLWNvbG9yXSByb3VuZGVkIGZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIGhvdmVyOnRleHQtWy0tcnQtdGV4dC1wcmltYXJ5LWludmVyc2VdIGhvdmVyOmJnLVstLXJ0LWJyYW5kLWNvbG9yXSBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgIChjbGljayk9XCJvbk9wdGlvbkNoYW5nZShpdGVtKVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInZhbHVlKCk/LmlkID09PSBpdGVtLmlkID8gJ2JnLVstLXJ0LWJyYW5kLWNvbG9yXSB0ZXh0LVstLXJ0LXRleHQtcHJpbWFyeS1pbnZlcnNlXScgOiAnJ1wiXG4gICAgICA+XG4gICAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { Component, input, output } from '@angular/core';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { first } from 'lodash';\nimport { MatMenuModule } from '@angular/material/menu';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/form-field\";\nimport * as i2 from \"@angular/material/input\";\nimport * as i3 from \"@angular/cdk/text-field\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/material/button\";\nimport * as i6 from \"@angular/material/icon\";\nimport * as i7 from \"@angular/material/menu\";\nimport * as i8 from \"@angular/material/progress-bar\";\nimport * as i9 from \"@angular/material/divider\";\nexport class ProductManageSectionItemComponent {\n constructor() {\n this.isUploading = input(...(ngDevMode ? [undefined, { debugName: \"isUploading\" }] : []));\n this.section = input.required(...(ngDevMode ? [{ debugName: \"section\" }] : []));\n this.actions = input(false, ...(ngDevMode ? [{ debugName: \"actions\" }] : []));\n this.selectMedia = input(...(ngDevMode ? [undefined, { debugName: \"selectMedia\" }] : []));\n this.upload = output();\n this.delete = output();\n this.save = output();\n this.deleteMedia = output();\n this.expanded = false;\n }\n ngOnInit() {\n this.selectedImg = this.section().media ? this.section().media[0] : null;\n }\n onUpload(data) {\n this.upload.emit({ section: this.section(), data });\n }\n onMediaItemClick(image) {\n this.selectedImg = image;\n }\n select(item) {\n this.selectedImg = item;\n }\n deleteImage() { }\n onSave(section) {\n this.save.emit(section);\n }\n onDelete(section) {\n this.delete.emit(section);\n }\n onDeleteMedia(media) {\n this.deleteMedia.emit({ section: this.section(), media });\n this.selectedImg = this.section().media ? first(this.section().media) : null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageSectionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductManageSectionItemComponent, isStandalone: true, selector: \"rolatech-product-manage-section-item\", inputs: { isUploading: { classPropertyName: \"isUploading\", publicName: \"isUploading\", isSignal: true, isRequired: false, transformFunction: null }, section: { classPropertyName: \"section\", publicName: \"section\", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: \"actions\", publicName: \"actions\", isSignal: true, isRequired: false, transformFunction: null }, selectMedia: { classPropertyName: \"selectMedia\", publicName: \"selectMedia\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { upload: \"upload\", delete: \"delete\", save: \"save\", deleteMedia: \"deleteMedia\" }, ngImport: i0, template: \"<div class=\\\"px-3\\\">\\n <div\\n class=\\\"h-14 py-3 flex items-center justify-between cursor-pointer\\\"\\n (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\"\\n >\\n <div class=\\\"flex\\\">\\n <div class=\\\"w-32 line-clamp-1\\\">{{ section().title }}</div>\\n <div class=\\\"line-clamp-1\\\">{{ section().description }}</div>\\n </div>\\n <div>\\n <button mat-icon-button aria-label=\\\"expand row\\\" (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\">\\n @if (expanded) {\\n <mat-icon>keyboard_arrow_up</mat-icon>\\n } @else {\\n <mat-icon>keyboard_arrow_down</mat-icon>\\n }\\n </button>\\n </div>\\n </div>\\n <div class=\\\"flex flex-col gap-3 w-full overflow-hidden collapsed\\\" [class.expanded]=\\\"expanded\\\">\\n <div class=\\\"flex flex-col lg:flex-row\\\">\\n <div class=\\\"flex flex-col grow\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>\\u6807\\u9898</mat-label>\\n <input matInput placeholder=\\\"\\u6807\\u9898\\\" [(ngModel)]=\\\"section().title\\\" />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" [hideRequiredMarker]=\\\"true\\\">\\n <mat-label>\\u63CF\\u8FF0</mat-label>\\n <textarea\\n matInput\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n placeholder=\\\"\\u63CF\\u8FF0\\\"\\n [(ngModel)]=\\\"section().description\\\"\\n ></textarea>\\n </mat-form-field>\\n </div>\\n <!-- media -->\\n <div class=\\\"lg:basis-1/2 px-0 lg:px-3\\\">\\n @if (selectedImg) {\\n <div class=\\\"flex flex-row justify-center relative aspect-video\\\">\\n <img class=\\\"object-contain w-full\\\" [src]=\\\"selectedImg.url\\\" [alt]=\\\"selectedImg.alt\\\" />\\n <div class=\\\"absolute z-30 right-0\\\">\\n <button\\n mat-icon-button\\n [matMenuTriggerFor]=\\\"beforeMenu\\\"\\n class=\\\"ml-auto focus:outline-none hover:bg-[--rt-base-background] p-1\\\"\\n >\\n <mat-icon>more_vert</mat-icon>\\n </button>\\n <mat-menu #beforeMenu=\\\"matMenu\\\" xPosition=\\\"before\\\">\\n <button mat-menu-item (click)=\\\"onDeleteMedia(selectedImg)\\\">\\n <span i18n>Delete</span>\\n </button>\\n </mat-menu>\\n </div>\\n </div>\\n }\\n\\n <!-- media -->\\n <div>\\n <div class=\\\"flex flex-row flex-wrap cursor-pointer relative box-border\\\" fxLayout=\\\"row\\\">\\n <div class=\\\"progress-bar\\\">\\n @if (section().isUploading) {\\n <mat-progress-bar mode=\\\"indeterminate\\\"></mat-progress-bar>\\n }\\n </div>\\n @for (media of section().media; track media) {\\n <div class=\\\"media-list-item\\\">\\n <img class=\\\"tile-media\\\" (click)=\\\"onMediaItemClick(media)\\\" [src]=\\\"media.url\\\" [alt]=\\\"media.alt\\\" />\\n </div>\\n }\\n <input style=\\\"display: none\\\" type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"onUpload($event)\\\" #fileInput />\\n <div class=\\\"add-button\\\">\\n <div (click)=\\\"fileInput.click()\\\" class=\\\"tile-media flex justify-center items-center\\\">\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"48px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"48px\\\" fill=\\\"#5f6368\\\">\\n <path d=\\\"M444-444H240v-72h204v-204h72v204h204v72H516v204h-72v-204Z\\\" />\\n </svg>\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n @if (actions()) {\\n <div class=\\\"flex flex-row justify-end p-3 gap-3\\\">\\n <button mat-button class=\\\"max-h-8\\\" (click)=\\\"onDelete(section())\\\" i18n>Delete</button>\\n <button mat-flat-button class=\\\"max-h-8\\\" (click)=\\\"onSave(section())\\\" i18n>Save</button>\\n </div>\\n }\\n </div>\\n</div>\\n\\n<mat-divider></mat-divider>\\n\", styles: [\".media-list{flex-wrap:wrap;box-sizing:border-box}.progress-bar{display:block;min-height:6px;width:100%}.media-list-item{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}.tile-media{height:64px;width:64px;object-fit:contain;cursor:pointer;border:1px solid grey;position:relative;box-sizing:border-box;border-radius:8px}.add-button{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i1.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i1.MatLabel, selector: \"mat-label\" }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"directive\", type: i2.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"directive\", type: i3.CdkTextareaAutosize, selector: \"textarea[cdkTextareaAutosize]\", inputs: [\"cdkAutosizeMinRows\", \"cdkAutosizeMaxRows\", \"cdkTextareaAutosize\", \"placeholder\"], exportAs: [\"cdkTextareaAutosize\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i4.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i4.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i4.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: TextFieldModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i5.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: i5.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i6.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatMenuModule }, { kind: \"component\", type: i7.MatMenu, selector: \"mat-menu\", inputs: [\"backdropClass\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"xPosition\", \"yPosition\", \"overlapTrigger\", \"hasBackdrop\", \"class\", \"classList\"], outputs: [\"closed\", \"close\"], exportAs: [\"matMenu\"] }, { kind: \"component\", type: i7.MatMenuItem, selector: \"[mat-menu-item]\", inputs: [\"role\", \"disabled\", \"disableRipple\"], exportAs: [\"matMenuItem\"] }, { kind: \"directive\", type: i7.MatMenuTrigger, selector: \"[mat-menu-trigger-for], [matMenuTriggerFor]\", inputs: [\"mat-menu-trigger-for\", \"matMenuTriggerFor\", \"matMenuTriggerData\", \"matMenuTriggerRestoreFocus\"], outputs: [\"menuOpened\", \"onMenuOpen\", \"menuClosed\", \"onMenuClose\"], exportAs: [\"matMenuTrigger\"] }, { kind: \"ngmodule\", type: MatProgressBarModule }, { kind: \"component\", type: i8.MatProgressBar, selector: \"mat-progress-bar\", inputs: [\"color\", \"value\", \"bufferValue\", \"mode\"], outputs: [\"animationEnd\"], exportAs: [\"matProgressBar\"] }, { kind: \"ngmodule\", type: MatDividerModule }, { kind: \"component\", type: i9.MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageSectionItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-section-item', imports: [\n MatFormFieldModule,\n MatInputModule,\n FormsModule,\n TextFieldModule,\n MatButtonModule,\n MatIconModule,\n MatMenuModule,\n MatProgressBarModule,\n MatDividerModule,\n ], template: \"<div class=\\\"px-3\\\">\\n <div\\n class=\\\"h-14 py-3 flex items-center justify-between cursor-pointer\\\"\\n (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\"\\n >\\n <div class=\\\"flex\\\">\\n <div class=\\\"w-32 line-clamp-1\\\">{{ section().title }}</div>\\n <div class=\\\"line-clamp-1\\\">{{ section().description }}</div>\\n </div>\\n <div>\\n <button mat-icon-button aria-label=\\\"expand row\\\" (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\">\\n @if (expanded) {\\n <mat-icon>keyboard_arrow_up</mat-icon>\\n } @else {\\n <mat-icon>keyboard_arrow_down</mat-icon>\\n }\\n </button>\\n </div>\\n </div>\\n <div class=\\\"flex flex-col gap-3 w-full overflow-hidden collapsed\\\" [class.expanded]=\\\"expanded\\\">\\n <div class=\\\"flex flex-col lg:flex-row\\\">\\n <div class=\\\"flex flex-col grow\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>\\u6807\\u9898</mat-label>\\n <input matInput placeholder=\\\"\\u6807\\u9898\\\" [(ngModel)]=\\\"section().title\\\" />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" [hideRequiredMarker]=\\\"true\\\">\\n <mat-label>\\u63CF\\u8FF0</mat-label>\\n <textarea\\n matInput\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n placeholder=\\\"\\u63CF\\u8FF0\\\"\\n [(ngModel)]=\\\"section().description\\\"\\n ></textarea>\\n </mat-form-field>\\n </div>\\n <!-- media -->\\n <div class=\\\"lg:basis-1/2 px-0 lg:px-3\\\">\\n @if (selectedImg) {\\n <div class=\\\"flex flex-row justify-center relative aspect-video\\\">\\n <img class=\\\"object-contain w-full\\\" [src]=\\\"selectedImg.url\\\" [alt]=\\\"selectedImg.alt\\\" />\\n <div class=\\\"absolute z-30 right-0\\\">\\n <button\\n mat-icon-button\\n [matMenuTriggerFor]=\\\"beforeMenu\\\"\\n class=\\\"ml-auto focus:outline-none hover:bg-[--rt-base-background] p-1\\\"\\n >\\n <mat-icon>more_vert</mat-icon>\\n </button>\\n <mat-menu #beforeMenu=\\\"matMenu\\\" xPosition=\\\"before\\\">\\n <button mat-menu-item (click)=\\\"onDeleteMedia(selectedImg)\\\">\\n <span i18n>Delete</span>\\n </button>\\n </mat-menu>\\n </div>\\n </div>\\n }\\n\\n <!-- media -->\\n <div>\\n <div class=\\\"flex flex-row flex-wrap cursor-pointer relative box-border\\\" fxLayout=\\\"row\\\">\\n <div class=\\\"progress-bar\\\">\\n @if (section().isUploading) {\\n <mat-progress-bar mode=\\\"indeterminate\\\"></mat-progress-bar>\\n }\\n </div>\\n @for (media of section().media; track media) {\\n <div class=\\\"media-list-item\\\">\\n <img class=\\\"tile-media\\\" (click)=\\\"onMediaItemClick(media)\\\" [src]=\\\"media.url\\\" [alt]=\\\"media.alt\\\" />\\n </div>\\n }\\n <input style=\\\"display: none\\\" type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"onUpload($event)\\\" #fileInput />\\n <div class=\\\"add-button\\\">\\n <div (click)=\\\"fileInput.click()\\\" class=\\\"tile-media flex justify-center items-center\\\">\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"48px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"48px\\\" fill=\\\"#5f6368\\\">\\n <path d=\\\"M444-444H240v-72h204v-204h72v204h204v72H516v204h-72v-204Z\\\" />\\n </svg>\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n @if (actions()) {\\n <div class=\\\"flex flex-row justify-end p-3 gap-3\\\">\\n <button mat-button class=\\\"max-h-8\\\" (click)=\\\"onDelete(section())\\\" i18n>Delete</button>\\n <button mat-flat-button class=\\\"max-h-8\\\" (click)=\\\"onSave(section())\\\" i18n>Save</button>\\n </div>\\n }\\n </div>\\n</div>\\n\\n<mat-divider></mat-divider>\\n\", styles: [\".media-list{flex-wrap:wrap;box-sizing:border-box}.progress-bar{display:block;min-height:6px;width:100%}.media-list-item{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}.tile-media{height:64px;width:64px;object-fit:contain;cursor:pointer;border:1px solid grey;position:relative;box-sizing:border-box;border-radius:8px}.add-button{cursor:pointer;position:relative;box-sizing:border-box;padding:2px}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5nZS1zZWN0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvY29tcG9uZW50cy9wcm9kdWN0LW1hbmdlLXNlY3Rpb24taXRlbS9wcm9kdWN0LW1hbmdlLXNlY3Rpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuZ2Utc2VjdGlvbi1pdGVtL3Byb2R1Y3QtbWFuYWdlLXNlY3Rpb24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUd0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBVyxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFrQmhFLE1BQU0sT0FBTyxpQ0FBaUM7SUFXNUM7UUFWQSxnQkFBVyxHQUFHLEtBQUssaUVBQVcsQ0FBQztRQUMvQixZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsa0RBQWtCLENBQUM7UUFDM0MsWUFBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLG1EQUFDLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxLQUFLLGlFQUFPLENBQUM7UUFDM0IsV0FBTSxHQUFHLE1BQU0sRUFBc0QsQ0FBQztRQUN0RSxXQUFNLEdBQUcsTUFBTSxFQUFrQixDQUFDO1FBQ2xDLFNBQUksR0FBRyxNQUFNLEVBQWtCLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxNQUFNLEVBQTZDLENBQUM7UUFFbEUsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUNGLENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNFLENBQUM7SUFDRCxRQUFRLENBQUMsSUFBUztRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsS0FBWTtRQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVM7UUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBQ0QsV0FBVyxLQUFJLENBQUM7SUFDaEIsTUFBTSxDQUFDLE9BQXVCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRCxRQUFRLENBQUMsT0FBdUI7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQy9FLENBQUM7OEdBcENVLGlDQUFpQztrR0FBakMsaUNBQWlDLHN0QkM5QjlDLHE0SEE4RkEsMGREN0VJLGtCQUFrQiwwU0FDbEIsY0FBYyxnbUJBQ2QsV0FBVyw4bUJBQ1gsZUFBZSw4QkFDZixlQUFlLDBpQkFDZixhQUFhLG1MQUNiLGFBQWEsNnZCQUNiLG9CQUFvQix3TkFDcEIsZ0JBQWdCOzsyRkFLUCxpQ0FBaUM7a0JBaEI3QyxTQUFTOytCQUNFLHNDQUFzQyxXQUN2Qzt3QkFDUCxrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIE9uSW5pdCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0RmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTWVkaWEgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgUHJvZHVjdFNlY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1hdE1lbnUsIE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbi1pdGVtJyxcbiAgaW1wb3J0czogW1xuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUZXh0RmllbGRNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLXNlY3Rpb24taXRlbS5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNYW5hZ2VTZWN0aW9uSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlzVXBsb2FkaW5nID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgc2VjdGlvbiA9IGlucHV0LnJlcXVpcmVkPFByb2R1Y3RTZWN0aW9uPigpO1xuICBhY3Rpb25zID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBzZWxlY3RNZWRpYSA9IGlucHV0PGFueT4oKTtcbiAgdXBsb2FkID0gb3V0cHV0PHsgc2VjdGlvbjogUHJvZHVjdFNlY3Rpb247IGRhdGE6IEZvcm1EYXRhIHwgbnVsbCB9PigpO1xuICBkZWxldGUgPSBvdXRwdXQ8UHJvZHVjdFNlY3Rpb24+KCk7XG4gIHNhdmUgPSBvdXRwdXQ8UHJvZHVjdFNlY3Rpb24+KCk7XG4gIGRlbGV0ZU1lZGlhID0gb3V0cHV0PHsgc2VjdGlvbjogUHJvZHVjdFNlY3Rpb247IG1lZGlhOiBNZWRpYSB9PigpO1xuICBzZWxlY3RlZEltZyE6IE1lZGlhIHwgYW55O1xuICBleHBhbmRlZCA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEltZyA9IHRoaXMuc2VjdGlvbigpLm1lZGlhID8gdGhpcy5zZWN0aW9uKCkubWVkaWFbMF0gOiBudWxsO1xuICB9XG4gIG9uVXBsb2FkKGRhdGE6IGFueSkge1xuICAgIHRoaXMudXBsb2FkLmVtaXQoeyBzZWN0aW9uOiB0aGlzLnNlY3Rpb24oKSwgZGF0YSB9KTtcbiAgfVxuICBvbk1lZGlhSXRlbUNsaWNrKGltYWdlOiBNZWRpYSkge1xuICAgIHRoaXMuc2VsZWN0ZWRJbWcgPSBpbWFnZTtcbiAgfVxuXG4gIHNlbGVjdChpdGVtOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkSW1nID0gaXRlbTtcbiAgfVxuICBkZWxldGVJbWFnZSgpIHt9XG4gIG9uU2F2ZShzZWN0aW9uOiBQcm9kdWN0U2VjdGlvbikge1xuICAgIHRoaXMuc2F2ZS5lbWl0KHNlY3Rpb24pO1xuICB9XG4gIG9uRGVsZXRlKHNlY3Rpb246IFByb2R1Y3RTZWN0aW9uKSB7XG4gICAgdGhpcy5kZWxldGUuZW1pdChzZWN0aW9uKTtcbiAgfVxuICBvbkRlbGV0ZU1lZGlhKG1lZGlhOiBNZWRpYSkge1xuICAgIHRoaXMuZGVsZXRlTWVkaWEuZW1pdCh7IHNlY3Rpb246IHRoaXMuc2VjdGlvbigpLCBtZWRpYSB9KTtcbiAgICB0aGlzLnNlbGVjdGVkSW1nID0gdGhpcy5zZWN0aW9uKCkubWVkaWEgPyBmaXJzdCh0aGlzLnNlY3Rpb24oKS5tZWRpYSkgOiBudWxsO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicHgtM1wiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJoLTE0IHB5LTMgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGN1cnNvci1wb2ludGVyXCJcbiAgICAoY2xpY2spPVwiZXhwYW5kZWQgPSAhZXhwYW5kZWQ7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInctMzIgbGluZS1jbGFtcC0xXCI+e3sgc2VjdGlvbigpLnRpdGxlIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibGluZS1jbGFtcC0xXCI+e3sgc2VjdGlvbigpLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJleHBhbmQgcm93XCIgKGNsaWNrKT1cImV4cGFuZGVkID0gIWV4cGFuZGVkOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgQGlmIChleHBhbmRlZCkge1xuICAgICAgICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd191cDwvbWF0LWljb24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19kb3duPC9tYXQtaWNvbj5cbiAgICAgICAgfVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMyB3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIGNvbGxhcHNlZFwiIFtjbGFzcy5leHBhbmRlZF09XCJleHBhbmRlZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGxnOmZsZXgtcm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBncm93XCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+5qCH6aKYPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwi5qCH6aKYXCIgWyhuZ01vZGVsKV09XCJzZWN0aW9uKCkudGl0bGVcIiAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBbaGlkZVJlcXVpcmVkTWFya2VyXT1cInRydWVcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPuaPj+i/sDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIGNka1RleHRhcmVhQXV0b3NpemVcbiAgICAgICAgICAgIGNka0F1dG9zaXplTWluUm93cz1cIjNcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLmj4/ov7BcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWN0aW9uKCkuZGVzY3JpcHRpb25cIlxuICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG1lZGlhIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImxnOmJhc2lzLTEvMiBweC0wIGxnOnB4LTNcIj5cbiAgICAgICAgQGlmIChzZWxlY3RlZEltZykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktY2VudGVyIHJlbGF0aXZlIGFzcGVjdC12aWRlb1wiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cIm9iamVjdC1jb250YWluIHctZnVsbFwiIFtzcmNdPVwic2VsZWN0ZWRJbWcudXJsXCIgW2FsdF09XCJzZWxlY3RlZEltZy5hbHRcIiAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFic29sdXRlIHotMzAgcmlnaHQtMFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImJlZm9yZU1lbnVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtYXV0byBmb2N1czpvdXRsaW5lLW5vbmUgaG92ZXI6YmctWy0tcnQtYmFzZS1iYWNrZ3JvdW5kXSBwLTFcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI2JlZm9yZU1lbnU9XCJtYXRNZW51XCIgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJvbkRlbGV0ZU1lZGlhKHNlbGVjdGVkSW1nKVwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gaTE4bj5EZWxldGU8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gbWVkaWEgLS0+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZmxleC13cmFwIGN1cnNvci1wb2ludGVyIHJlbGF0aXZlIGJveC1ib3JkZXJcIiBmeExheW91dD1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWJhclwiPlxuICAgICAgICAgICAgICBAaWYgKHNlY3Rpb24oKS5pc1VwbG9hZGluZykge1xuICAgICAgICAgICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBmb3IgKG1lZGlhIG9mIHNlY3Rpb24oKS5tZWRpYTsgdHJhY2sgbWVkaWEpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lZGlhLWxpc3QtaXRlbVwiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ0aWxlLW1lZGlhXCIgKGNsaWNrKT1cIm9uTWVkaWFJdGVtQ2xpY2sobWVkaWEpXCIgW3NyY109XCJtZWRpYS51cmxcIiBbYWx0XT1cIm1lZGlhLmFsdFwiIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGlucHV0IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIHR5cGU9XCJmaWxlXCIgYWNjZXB0PVwiaW1hZ2UvKlwiIChjaGFuZ2UpPVwib25VcGxvYWQoJGV2ZW50KVwiICNmaWxlSW5wdXQgLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGQtYnV0dG9uXCI+XG4gICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCIgY2xhc3M9XCJ0aWxlLW1lZGlhIGZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiNDhweFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiNDhweFwiIGZpbGw9XCIjNWY2MzY4XCI+XG4gICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQ0NC00NDRIMjQwdi03MmgyMDR2LTIwNGg3MnYyMDRoMjA0djcySDUxNnYyMDRoLTcydi0yMDRaXCIgLz5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGFjdGlvbnMoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1lbmQgcC0zIGdhcC0zXCI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cIm1heC1oLThcIiAoY2xpY2spPVwib25EZWxldGUoc2VjdGlvbigpKVwiIGkxOG4+RGVsZXRlPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwibWF4LWgtOFwiIChjbGljayk9XCJvblNhdmUoc2VjdGlvbigpKVwiIGkxOG4+U2F2ZTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiJdfQ==","import { Component, output } from '@angular/core';\nimport { ENTER, COMMA } from '@angular/cdk/keycodes';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule } from '@rolatech/angular-components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/chips\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/form-field\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/material/icon\";\nimport * as i6 from \"@angular/material/input\";\nexport class ProductManageOptionAddComponent {\n constructor() {\n this.option = {\n id: '',\n name: '',\n values: [],\n };\n this.addOnBlur = true;\n this.separatorKeysCodes = [ENTER, COMMA];\n this.cancel = output();\n this.save = output();\n this.action = true;\n this.output = output();\n }\n onCancel() {\n this.cancel.emit();\n }\n onSave() {\n this.save.emit(this.option);\n }\n addOptionValues(event) {\n const value = (event.value || '').trim();\n if (value) {\n this.option.values.push({ name: value });\n }\n event.chipInput.clear();\n }\n removeValue(value) {\n if (value) {\n const index = this.option.values.findIndex((item) => item.name === value.name);\n this.option.values?.splice(index, 1);\n }\n }\n ngDoCheck() {\n this.output.emit(this.option);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageOptionAddComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductManageOptionAddComponent, isStandalone: true, selector: \"rolatech-product-manage-option-add\", outputs: { cancel: \"cancel\", save: \"save\", output: \"output\" }, ngImport: i0, template: \"<div class=\\\"flex flex-col\\\">\\n <div class=\\\"p-1\\\" i18n>Options</div>\\n <form>\\n <mat-form-field appearance=\\\"fill\\\">\\n <input matInput placeholder=\\\"Name\\\" type=\\\"text\\\" [(ngModel)]=\\\"option.name\\\" [ngModelOptions]=\\\"{ standalone: true }\\\" i18n />\\n </mat-form-field>\\n <mat-form-field>\\n <mat-chip-grid #chipGrid aria-label=\\\"Enter values\\\">\\n @for (value of option.values; track value) {\\n <mat-chip-row\\n (removed)=\\\"removeValue(value)\\\"\\n [editable]=\\\"true\\\"\\n [aria-description]=\\\"'press enter to edit ' + value.name\\\"\\n >\\n {{ value.name }}\\n <button matChipRemove [attr.aria-label]=\\\"'remove ' + value.name\\\">\\n <mat-icon>cancel</mat-icon>\\n </button>\\n </mat-chip-row>\\n }\\n <input\\n placeholder=\\\"Value\\\"\\n [matChipInputFor]=\\\"chipGrid\\\"\\n [matChipInputSeparatorKeyCodes]=\\\"separatorKeysCodes\\\"\\n [matChipInputAddOnBlur]=\\\"addOnBlur\\\"\\n (matChipInputTokenEnd)=\\\"addOptionValues($event)\\\"\\n i18n\\n />\\n </mat-chip-grid>\\n </mat-form-field>\\n </form>\\n</div>\\n@if (action) {\\n <div class=\\\"flex items-center justify-end\\\">\\n <button mat-button (click)=\\\"onCancel()\\\" i18n>Cancel</button>\\n <button mat-flat-button (click)=\\\"onSave()\\\" i18n>Save</button>\\n </div>\\n}\\n\", styles: [\"mat-form-field{width:100%}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatChipsModule }, { kind: \"component\", type: i1.MatChipGrid, selector: \"mat-chip-grid\", inputs: [\"disabled\", \"placeholder\", \"required\", \"value\", \"errorStateMatcher\"], outputs: [\"change\", \"valueChange\"] }, { kind: \"directive\", type: i1.MatChipInput, selector: \"input[matChipInputFor]\", inputs: [\"matChipInputFor\", \"matChipInputAddOnBlur\", \"matChipInputSeparatorKeyCodes\", \"placeholder\", \"id\", \"disabled\", \"readonly\", \"matChipInputDisabledInteractive\"], outputs: [\"matChipInputTokenEnd\"], exportAs: [\"matChipInput\", \"matChipInputFor\"] }, { kind: \"directive\", type: i1.MatChipRemove, selector: \"[matChipRemove]\" }, { kind: \"component\", type: i1.MatChipRow, selector: \"mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]\", inputs: [\"editable\"], outputs: [\"edited\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i2.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i3.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"directive\", type: i4.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i4.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i4.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i4.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i4.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: i4.NgForm, selector: \"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]\", inputs: [\"ngFormOptions\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"directive\", type: i6.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"ngmodule\", type: MatIconModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageOptionAddComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-option-add', imports: [MatChipsModule, MatButtonModule, MatFormFieldModule, AngularCommonModule, AngularComponentsModule, MatIconModule], template: \"<div class=\\\"flex flex-col\\\">\\n <div class=\\\"p-1\\\" i18n>Options</div>\\n <form>\\n <mat-form-field appearance=\\\"fill\\\">\\n <input matInput placeholder=\\\"Name\\\" type=\\\"text\\\" [(ngModel)]=\\\"option.name\\\" [ngModelOptions]=\\\"{ standalone: true }\\\" i18n />\\n </mat-form-field>\\n <mat-form-field>\\n <mat-chip-grid #chipGrid aria-label=\\\"Enter values\\\">\\n @for (value of option.values; track value) {\\n <mat-chip-row\\n (removed)=\\\"removeValue(value)\\\"\\n [editable]=\\\"true\\\"\\n [aria-description]=\\\"'press enter to edit ' + value.name\\\"\\n >\\n {{ value.name }}\\n <button matChipRemove [attr.aria-label]=\\\"'remove ' + value.name\\\">\\n <mat-icon>cancel</mat-icon>\\n </button>\\n </mat-chip-row>\\n }\\n <input\\n placeholder=\\\"Value\\\"\\n [matChipInputFor]=\\\"chipGrid\\\"\\n [matChipInputSeparatorKeyCodes]=\\\"separatorKeysCodes\\\"\\n [matChipInputAddOnBlur]=\\\"addOnBlur\\\"\\n (matChipInputTokenEnd)=\\\"addOptionValues($event)\\\"\\n i18n\\n />\\n </mat-chip-grid>\\n </mat-form-field>\\n </form>\\n</div>\\n@if (action) {\\n <div class=\\\"flex items-center justify-end\\\">\\n <button mat-button (click)=\\\"onCancel()\\\" i18n>Cancel</button>\\n <button mat-flat-button (click)=\\\"onSave()\\\" i18n>Save</button>\\n </div>\\n}\\n\", styles: [\"mat-form-field{width:100%}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWFkZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbi1hZGQvcHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWFkZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbi1hZGQvcHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWFkZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFrQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQXFCLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7O0FBUXZFLE1BQU0sT0FBTywrQkFBK0I7SUFONUM7UUFPRSxXQUFNLEdBQWtCO1lBQ3RCLEVBQUUsRUFBRSxFQUFFO1lBQ04sSUFBSSxFQUFFLEVBQUU7WUFDUixNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFDRixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ1IsdUJBQWtCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFVLENBQUM7UUFDdEQsV0FBTSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLFNBQUksR0FBRyxNQUFNLEVBQWlCLENBQUM7UUFDL0IsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLFdBQU0sR0FBRyxNQUFNLEVBQU8sQ0FBQztLQXlCeEI7SUF2QkMsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUF3QjtRQUN0QyxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBQ0QsU0FBUztRQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQW5DVSwrQkFBK0I7a0dBQS9CLCtCQUErQiw2SkNoQjVDLDIzQ0FzQ0EscUZEMUJZLGNBQWMsMnhCQUFFLGVBQWUsbVhBQUUsa0JBQWtCLHlPQUFFLG1CQUFtQix1aUNBQUUsdUJBQXVCLHNoQkFBRSxhQUFhOzsyRkFJL0csK0JBQStCO2tCQU4zQyxTQUFTOytCQUNFLG9DQUFvQyxXQUNyQyxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEb0NoZWNrLCBtb2RlbCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTlRFUiwgQ09NTUEgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgTWF0Q2hpcElucHV0RXZlbnQsIE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgUHJvZHVjdE9wdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1vcHRpb24tYWRkJyxcbiAgaW1wb3J0czogW01hdENoaXBzTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgQW5ndWxhckNvbW1vbk1vZHVsZSwgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWFkZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS1vcHRpb24tYWRkLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZU9wdGlvbkFkZENvbXBvbmVudCBpbXBsZW1lbnRzIERvQ2hlY2sge1xuICBvcHRpb246IFByb2R1Y3RPcHRpb24gPSB7XG4gICAgaWQ6ICcnLFxuICAgIG5hbWU6ICcnLFxuICAgIHZhbHVlczogW10sXG4gIH07XG4gIGFkZE9uQmx1ciA9IHRydWU7XG4gIHJlYWRvbmx5IHNlcGFyYXRvcktleXNDb2RlcyA9IFtFTlRFUiwgQ09NTUFdIGFzIGNvbnN0O1xuICBjYW5jZWwgPSBvdXRwdXQoKTtcbiAgc2F2ZSA9IG91dHB1dDxQcm9kdWN0T3B0aW9uPigpO1xuICBhY3Rpb24gPSB0cnVlO1xuICBvdXRwdXQgPSBvdXRwdXQ8YW55PigpO1xuXG4gIG9uQ2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgfVxuICBvblNhdmUoKSB7XG4gICAgdGhpcy5zYXZlLmVtaXQodGhpcy5vcHRpb24pO1xuICB9XG5cbiAgYWRkT3B0aW9uVmFsdWVzKGV2ZW50OiBNYXRDaGlwSW5wdXRFdmVudCkge1xuICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnZhbHVlIHx8ICcnKS50cmltKCk7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLm9wdGlvbi52YWx1ZXMucHVzaCh7IG5hbWU6IHZhbHVlIH0pO1xuICAgIH1cbiAgICBldmVudC5jaGlwSW5wdXQuY2xlYXIoKTtcbiAgfVxuICByZW1vdmVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMub3B0aW9uLnZhbHVlcy5maW5kSW5kZXgoKGl0ZW06IGFueSkgPT4gaXRlbS5uYW1lID09PSB2YWx1ZS5uYW1lKTtcbiAgICAgIHRoaXMub3B0aW9uLnZhbHVlcz8uc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gIH1cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIHRoaXMub3V0cHV0LmVtaXQodGhpcy5vcHRpb24pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICA8ZGl2IGNsYXNzPVwicC0xXCIgaTE4bj5PcHRpb25zPC9kaXY+XG4gIDxmb3JtPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiTmFtZVwiIHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJvcHRpb24ubmFtZVwiIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiIGkxOG4gLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtY2hpcC1ncmlkICNjaGlwR3JpZCBhcmlhLWxhYmVsPVwiRW50ZXIgdmFsdWVzXCI+XG4gICAgICAgIEBmb3IgKHZhbHVlIG9mIG9wdGlvbi52YWx1ZXM7IHRyYWNrIHZhbHVlKSB7XG4gICAgICAgICAgPG1hdC1jaGlwLXJvd1xuICAgICAgICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlVmFsdWUodmFsdWUpXCJcbiAgICAgICAgICAgIFtlZGl0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFthcmlhLWRlc2NyaXB0aW9uXT1cIidwcmVzcyBlbnRlciB0byBlZGl0ICcgKyB2YWx1ZS5uYW1lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyB2YWx1ZS5uYW1lIH19XG4gICAgICAgICAgICA8YnV0dG9uIG1hdENoaXBSZW1vdmUgW2F0dHIuYXJpYS1sYWJlbF09XCIncmVtb3ZlICcgKyB2YWx1ZS5uYW1lXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9tYXQtY2hpcC1yb3c+XG4gICAgICAgIH1cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJWYWx1ZVwiXG4gICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwR3JpZFwiXG4gICAgICAgICAgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cInNlcGFyYXRvcktleXNDb2Rlc1wiXG4gICAgICAgICAgW21hdENoaXBJbnB1dEFkZE9uQmx1cl09XCJhZGRPbkJsdXJcIlxuICAgICAgICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJhZGRPcHRpb25WYWx1ZXMoJGV2ZW50KVwiXG4gICAgICAgICAgaTE4blxuICAgICAgICAvPlxuICAgICAgPC9tYXQtY2hpcC1ncmlkPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZm9ybT5cbjwvZGl2PlxuQGlmIChhY3Rpb24pIHtcbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kXCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJvbkNhbmNlbCgpXCIgaTE4bj5DYW5jZWw8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwib25TYXZlKClcIiBpMThuPlNhdmU8L2J1dHRvbj5cbiAgPC9kaXY+XG59XG4iXX0=","import { Component, input, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule } from '@rolatech/angular-components';\nimport { OptionsFormatPipe } from '@rolatech/angular-common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/divider\";\nimport * as i3 from \"@angular/material/icon\";\nexport class ProductManageOptionItemComponent {\n constructor() {\n this.option = input.required(...(ngDevMode ? [{ debugName: \"option\" }] : []));\n this.addOnBlur = true;\n this.delete = output();\n this.save = output();\n this.edit = output();\n }\n onDelete() {\n this.delete.emit(this.option());\n }\n onSave() {\n this.save.emit(this.option());\n }\n onEdit() {\n this.edit.emit(this.option());\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageOptionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.3.4\", type: ProductManageOptionItemComponent, isStandalone: true, selector: \"rolatech-product-manage-option-item\", inputs: { option: { classPropertyName: \"option\", publicName: \"option\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { delete: \"delete\", save: \"save\", edit: \"edit\" }, ngImport: i0, template: \"<div class=\\\"group flex justify-between items-center h-14 hover:bg-[--rt-raised-background] cursor-pointer px-2\\\">\\n <div class=\\\"flex\\\">\\n <div class=\\\"min-w-[150px] mr-3\\\">{{ option().name }}</div>\\n <div class=\\\"overflow-hidden line-clamp-1\\\">\\n {{ option().values! | options }}\\n </div>\\n </div>\\n <div class=\\\"flex justify-end max-w-24 w-24 invisible group-hover:visible\\\">\\n <button mat-icon-button (click)=\\\"onEdit()\\\">\\n <mat-icon>edit</mat-icon>\\n </button>\\n <button mat-icon-button (click)=\\\"onDelete()\\\">\\n <mat-icon>delete</mat-icon>\\n </button>\\n </div>\\n</div>\\n<mat-divider></mat-divider>\\n\", styles: [\"mat-icon{scale:.9}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatChipsModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i2.MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }, { kind: \"component\", type: i3.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"pipe\", type: OptionsFormatPipe, name: \"options\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageOptionItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-option-item', imports: [\n MatChipsModule,\n MatButtonModule,\n MatFormFieldModule,\n AngularCommonModule,\n AngularComponentsModule,\n MatIconModule,\n OptionsFormatPipe,\n ], template: \"<div class=\\\"group flex justify-between items-center h-14 hover:bg-[--rt-raised-background] cursor-pointer px-2\\\">\\n <div class=\\\"flex\\\">\\n <div class=\\\"min-w-[150px] mr-3\\\">{{ option().name }}</div>\\n <div class=\\\"overflow-hidden line-clamp-1\\\">\\n {{ option().values! | options }}\\n </div>\\n </div>\\n <div class=\\\"flex justify-end max-w-24 w-24 invisible group-hover:visible\\\">\\n <button mat-icon-button (click)=\\\"onEdit()\\\">\\n <mat-icon>edit</mat-icon>\\n </button>\\n <button mat-icon-button (click)=\\\"onDelete()\\\">\\n <mat-icon>delete</mat-icon>\\n </button>\\n </div>\\n</div>\\n<mat-divider></mat-divider>\\n\", styles: [\"mat-icon{scale:.9}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvY29tcG9uZW50cy9wcm9kdWN0LW1hbmFnZS1vcHRpb24taXRlbS9wcm9kdWN0LW1hbmFnZS1vcHRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbi1pdGVtL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFlN0QsTUFBTSxPQUFPLGdDQUFnQztJQWQ3QztRQWVFLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxpREFBaUIsQ0FBQztRQUN6QyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFdBQU0sR0FBRyxNQUFNLEVBQWlCLENBQUM7UUFDakMsU0FBSSxHQUFHLE1BQU0sRUFBaUIsQ0FBQztRQUMvQixTQUFJLEdBQUcsTUFBTSxFQUFpQixDQUFDO0tBV2hDO0lBVEMsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQWZVLGdDQUFnQztrR0FBaEMsZ0NBQWdDLGdTQ3ZCN0Msd29CQWlCQSw2RURMSSxjQUFjLDhCQUNkLGVBQWUscU5BQ2Ysa0JBQWtCLDhCQUNsQixtQkFBbUIsOEJBQ25CLHVCQUF1Qix1UkFDdkIsYUFBYSwwQkFDYixpQkFBaUI7OzJGQUtSLGdDQUFnQztrQkFkNUMsU0FBUzsrQkFDRSxxQ0FBcUMsV0FDdEM7d0JBQ1AsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGFBQWE7d0JBQ2IsaUJBQWlCO3FCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBQcm9kdWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPcHRpb25zRm9ybWF0UGlwZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1vcHRpb24taXRlbScsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRDaGlwc01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIEFuZ3VsYXJDb21tb25Nb2R1bGUsXG4gICAgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBPcHRpb25zRm9ybWF0UGlwZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbi1pdGVtLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZU9wdGlvbkl0ZW1Db21wb25lbnQge1xuICBvcHRpb24gPSBpbnB1dC5yZXF1aXJlZDxQcm9kdWN0T3B0aW9uPigpO1xuICBhZGRPbkJsdXIgPSB0cnVlO1xuICBkZWxldGUgPSBvdXRwdXQ8UHJvZHVjdE9wdGlvbj4oKTtcbiAgc2F2ZSA9IG91dHB1dDxQcm9kdWN0T3B0aW9uPigpO1xuICBlZGl0ID0gb3V0cHV0PFByb2R1Y3RPcHRpb24+KCk7XG5cbiAgb25EZWxldGUoKSB7XG4gICAgdGhpcy5kZWxldGUuZW1pdCh0aGlzLm9wdGlvbigpKTtcbiAgfVxuICBvblNhdmUoKSB7XG4gICAgdGhpcy5zYXZlLmVtaXQodGhpcy5vcHRpb24oKSk7XG4gIH1cbiAgb25FZGl0KCkge1xuICAgIHRoaXMuZWRpdC5lbWl0KHRoaXMub3B0aW9uKCkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ3JvdXAgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIGgtMTQgaG92ZXI6YmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdIGN1cnNvci1wb2ludGVyIHB4LTJcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWluLXctWzE1MHB4XSBtci0zXCI+e3sgb3B0aW9uKCkubmFtZSB9fTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW4gbGluZS1jbGFtcC0xXCI+XG4gICAgICB7eyBvcHRpb24oKS52YWx1ZXMhIHwgb3B0aW9ucyB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1lbmQgbWF4LXctMjQgdy0yNCBpbnZpc2libGUgZ3JvdXAtaG92ZXI6dmlzaWJsZVwiPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkVkaXQoKVwiPlxuICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkRlbGV0ZSgpXCI+XG4gICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuIl19","import { Pipe } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class SelectedPipe {\n transform(variant, option) {\n const findedOption = variant.options.find((item) => item.option.id === option.id);\n return findedOption?.value;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: SelectedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.4\", ngImport: i0, type: SelectedPipe, isStandalone: true, name: \"selected\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: SelectedPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'selected',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL3BhZ2VzL3Byb2R1Y3QvcHJvZHVjdC1kZXRhaWxzL3NlbGVjdGVkLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFNBQVMsQ0FBQyxPQUF1QixFQUFFLE1BQXFCO1FBQ3RELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEYsT0FBTyxZQUFZLEVBQUUsS0FBSyxDQUFDO0lBQzdCLENBQUM7OEdBSlUsWUFBWTs0R0FBWixZQUFZOzsyRkFBWixZQUFZO2tCQUh4QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxVQUFVO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2R1Y3RPcHRpb24sIFByb2R1Y3RPcHRpb25WYWx1ZSwgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnc2VsZWN0ZWQnLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RlZFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhcmlhbnQ6IFByb2R1Y3RWYXJpYW50LCBvcHRpb246IFByb2R1Y3RPcHRpb24pOiBhbnkge1xuICAgIGNvbnN0IGZpbmRlZE9wdGlvbiA9IHZhcmlhbnQub3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLm9wdGlvbi5pZCA9PT0gb3B0aW9uLmlkKTtcbiAgICByZXR1cm4gZmluZGVkT3B0aW9uPy52YWx1ZTtcbiAgfVxufVxuIl19","import { Component, input } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nimport * as i2 from \"@angular/material/icon\";\nexport class ProductOwnerRendererComponent {\n constructor() {\n this.name = input(...(ngDevMode ? [undefined, { debugName: \"name\" }] : []));\n this.avatar = input(...(ngDevMode ? [undefined, { debugName: \"avatar\" }] : []));\n this.username = input(...(ngDevMode ? [undefined, { debugName: \"username\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductOwnerRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductOwnerRendererComponent, isStandalone: true, selector: \"rolatech-product-owner-renderer\", inputs: { name: { classPropertyName: \"name\", publicName: \"name\", isSignal: true, isRequired: false, transformFunction: null }, avatar: { classPropertyName: \"avatar\", publicName: \"avatar\", isSignal: true, isRequired: false, transformFunction: null }, username: { classPropertyName: \"username\", publicName: \"username\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<div class=\\\"flex flex-row items-center py-3\\\">\\n <div class=\\\"flex mr-3 gap-2 items-center\\\">\\n @if (avatar()) {\\n <div class=\\\"cursor-pointer\\\" [routerLink]=\\\"['/', '@' + username()]\\\">\\n <img [src]=\\\"avatar()\\\" class=\\\"w-11 h-11 rounded-full\\\" alt />\\n </div>\\n } @else {\\n <div class=\\\"w-11 h-11 rounded-full bg-[--rt-brand-color]\\\"></div>\\n }\\n <div class=\\\"flex items-center text-lg font-bold cursor-pointer\\\">\\n <a [routerLink]=\\\"['/', '@' + username()]\\\">\\n <span>{{ name() }}</span>\\n </a>\\n <mat-icon class=\\\"verified-icon\\\">verified</mat-icon>\\n </div>\\n </div>\\n</div>\\n\", styles: [\"mat-icon{transform:scale(.8);color:var(--rt-brand-color)}\\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: MatIconModule }, { kind: \"component\", type: i2.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductOwnerRendererComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-owner-renderer', imports: [AngularCommonModule, MatIconModule], template: \"<div class=\\\"flex flex-row items-center py-3\\\">\\n <div class=\\\"flex mr-3 gap-2 items-center\\\">\\n @if (avatar()) {\\n <div class=\\\"cursor-pointer\\\" [routerLink]=\\\"['/', '@' + username()]\\\">\\n <img [src]=\\\"avatar()\\\" class=\\\"w-11 h-11 rounded-full\\\" alt />\\n </div>\\n } @else {\\n <div class=\\\"w-11 h-11 rounded-full bg-[--rt-brand-color]\\\"></div>\\n }\\n <div class=\\\"flex items-center text-lg font-bold cursor-pointer\\\">\\n <a [routerLink]=\\\"['/', '@' + username()]\\\">\\n <span>{{ name() }}</span>\\n </a>\\n <mat-icon class=\\\"verified-icon\\\">verified</mat-icon>\\n </div>\\n </div>\\n</div>\\n\", styles: [\"mat-icon{transform:scale(.8);color:var(--rt-brand-color)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1vd25lci1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3Qtb3duZXItcmVuZGVyZXIvcHJvZHVjdC1vd25lci1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3Qtb3duZXItcmVuZGVyZXIvcHJvZHVjdC1vd25lci1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFRL0QsTUFBTSxPQUFPLDZCQUE2QjtJQU4xQztRQU9FLFNBQUksR0FBRyxLQUFLLDBEQUFVLENBQUM7UUFDdkIsV0FBTSxHQUFHLEtBQUssNERBQVUsQ0FBQztRQUN6QixhQUFRLEdBQUcsS0FBSyw4REFBVSxDQUFDO0tBQzVCOzhHQUpZLDZCQUE2QjtrR0FBN0IsNkJBQTZCLHdkQ1YxQyxxb0JBaUJBLG9IRFhZLG1CQUFtQiwrUUFBRSxhQUFhOzsyRkFJakMsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNFLGlDQUFpQyxXQUNsQyxDQUFDLG1CQUFtQixFQUFFLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW93bmVyLXJlbmRlcmVyJyxcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1vd25lci1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LW93bmVyLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE93bmVyUmVuZGVyZXJDb21wb25lbnQge1xuICBuYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICBhdmF0YXIgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHVzZXJuYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyIHB5LTNcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggbXItMyBnYXAtMiBpdGVtcy1jZW50ZXJcIj5cbiAgICBAaWYgKGF2YXRhcigpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiBbcm91dGVyTGlua109XCJbJy8nLCAnQCcgKyB1c2VybmFtZSgpXVwiPlxuICAgICAgICA8aW1nIFtzcmNdPVwiYXZhdGFyKClcIiBjbGFzcz1cInctMTEgaC0xMSByb3VuZGVkLWZ1bGxcIiBhbHQgLz5cbiAgICAgIDwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgICAgPGRpdiBjbGFzcz1cInctMTEgaC0xMSByb3VuZGVkLWZ1bGwgYmctWy0tcnQtYnJhbmQtY29sb3JdXCI+PC9kaXY+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LWxnIGZvbnQtYm9sZCBjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvJywgJ0AnICsgdXNlcm5hbWUoKV1cIj5cbiAgICAgICAgPHNwYW4+e3sgbmFtZSgpIH19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwidmVyaWZpZWQtaWNvblwiPnZlcmlmaWVkPC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==","import { Component, computed, effect, inject, signal } from '@angular/core';\nimport { ProductActionComponent, ProductInfoComponent, ProductMediaComponent, ProductOptionComponent, ProductPricingComponent, } from '../../../components';\nimport { AngularComponentsModule, BaseComponent, ContainerComponent } from '@rolatech/angular-components';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { CommentsComponent } from '@rolatech/angular-comment';\nimport { AuthService, AuthUserService } from '@rolatech/angular-auth';\nimport { ProductSectionComponent } from '../../../components/product-section/product-section.component';\nimport { SelectedPipe } from './selected.pipe';\nimport _ from 'lodash';\nimport { ProductOwnerRendererComponent } from '../../../components/product-owner-renderer/product-owner-renderer.component';\nimport { CartEventType, CartService, ProductService } from '@rolatech/angular-services';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/divider\";\nexport class ProductDetailsComponent extends BaseComponent {\n // results: any[] = [];\n constructor() {\n super();\n this.authService = inject(AuthService);\n this.authUserService = inject(AuthUserService);\n this.productService = inject(ProductService);\n this.cartService = inject(CartService);\n this.authenticated = this.authService.authenticated;\n this.fullname = '';\n this.username = '';\n this.inWishList = false;\n this.purchased = false;\n this.variants = [];\n this.variantOption = signal(undefined, ...(ngDevMode ? [{ debugName: \"variantOption\" }] : []));\n this.variantOptionChanged = computed(() => {\n return this.variantOption();\n }, ...(ngDevMode ? [{ debugName: \"variantOptionChanged\" }] : []));\n effect(() => {\n if (this.authenticated()) {\n this.findWishlistBy();\n }\n });\n }\n ngOnInit() {\n this.getProduct();\n }\n getProduct() {\n this.productService.get(this.id).subscribe({\n next: (res) => {\n this.product = res.data;\n if (this.product.variants) {\n this.variants = this.product.variants;\n this.selectedVariant = this.variants[0];\n // this.selectedVariant.options.forEach((item) => {\n // this.results.push([item.option.id, item.value.id]);\n // });\n }\n this.findUserBaseInfo(this.product.userId);\n this.titleService.setTitle(`${this.product.name}`);\n },\n });\n }\n findVariant(optionId, valueId) {\n return this.variants.find((item) => {\n const exist = item.options.some((i) => i.option.id === optionId && i.value.id === valueId);\n if (exist) {\n return item;\n }\n return null;\n });\n }\n findUserBaseInfo(userId) {\n this.authUserService.getPublicUserInfo(userId).subscribe({\n next: (res) => {\n this.fullname = res.name;\n this.username = res.username;\n this.user = res;\n },\n });\n }\n findWishlistBy() {\n this.productService.findWishlistBy(this.id).subscribe({\n next: (res) => {\n this.inWishList = res.data;\n },\n });\n }\n onWish(e) {\n if (this.authenticated()) {\n if (this.inWishList) {\n this.removeFromWishlist();\n }\n else {\n this.addToWishlist();\n }\n }\n else {\n this.snackBarService.open('Please sign in');\n }\n }\n onCart(e) {\n const data = { productId: this.id, quantity: 1 };\n if (this.selectedVariant) {\n data['variantId'] = this.selectedVariant.id;\n }\n this.cartService.create(data).subscribe({\n next: (res) => {\n this.cartService.cartEvent.emit(CartEventType.CartAdd);\n },\n });\n }\n removeFromWishlist() {\n this.productService.removeFromWishlist(this.id).subscribe({\n next: (res) => {\n this.inWishList = false;\n },\n });\n }\n addToWishlist() {\n this.productService.addToWishlist(this.id).subscribe({\n next: (res) => {\n this.inWishList = true;\n },\n });\n }\n checkout(e) {\n if (this.authenticated()) {\n if (this.selectedVariant) {\n // this.router.navigateByUrl(`/checkout/products/${this.id}?variant-id=${this.selectedVariant.id}`);\n // this.router.navigate([`/checkout/products/${this.id}`], { queryParams: { variant: this.selectedVariant.id } });\n this.router.navigate([`/checkout/products/${this.id}/variants/${this.selectedVariant.id}`]);\n }\n else {\n this.router.navigateByUrl(`/checkout/products/${this.id}`);\n }\n }\n else {\n this.snackBarService.open('Please sign in');\n }\n }\n onOptionChange(e) {\n const criteria = [];\n this.selectedVariant.options.map((item) => {\n criteria.push({\n optionId: item.option.id === e.option.id ? e.option.id : item.option.id,\n valueId: item.option.id === e.option.id ? e.value.id : item.value.id,\n });\n });\n // const criteria = [\n // { optionId: '249008855294545920', valueId: '249008855298740224' }, // color: red\n // { optionId: '248661715955355648', valueId: '249001130061860865' }, // size: 256GB\n // ];\n // Function to check if a variant matches all the criteria\n const matchesAllCriteria = (variant, criteria) => {\n return _.every(criteria, (criterion) => {\n return _.some(variant.options, (o) => o.option.id === criterion.optionId && o.value.id === criterion.valueId);\n });\n };\n // Function to update the criteria based on a matching variant\n const updateCriteriaFromVariant = (variant) => {\n return _.map(variant.options, (o) => ({\n optionId: o.option.id,\n valueId: o.value.id,\n }));\n };\n // Find the variant that matches all the criteria\n const matchingVariant = _.find(this.variants, (variant) => matchesAllCriteria(variant, criteria));\n this.selectedVariant = matchingVariant;\n // const updatedCriteria = matchingVariant ? updateCriteriaFromVariant(matchingVariant) : [];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductDetailsComponent, isStandalone: true, selector: \"rolatech-product-details\", usesInheritance: true, ngImport: i0, template: \"@if (product) {\\n <rolatech-container>\\n <div class=\\\"flex flex-col md:flex-row w-full\\\">\\n <div class=\\\"md:w-1/2 md:p-3 py-3\\\">\\n <rolatech-product-media [media]=\\\"product.media\\\"></rolatech-product-media>\\n </div>\\n <div class=\\\"md:w-1/2 md:p-3 py-3\\\">\\n <rolatech-product-info [name]=\\\"product.name\\\" [description]=\\\"product.description\\\"> </rolatech-product-info>\\n @for (option of product.options; track $index) {\\n <rolatech-product-option\\n [option]=\\\"option\\\"\\n [value]=\\\"selectedVariant | selected: option\\\"\\n (optionChange)=\\\"onOptionChange($event)\\\"\\n ></rolatech-product-option>\\n }\\n <rolatech-product-pricing\\n (wish)=\\\"onWish($event)\\\"\\n [inWishList]=\\\"inWishList\\\"\\n [product]=\\\"product\\\"\\n [price]=\\\"selectedVariant ? selectedVariant.price : product.price\\\"\\n ></rolatech-product-pricing>\\n <rolatech-product-action\\n [product]=\\\"product\\\"\\n (checkout)=\\\"checkout($event)\\\"\\n (deposit)=\\\"checkout($event)\\\"\\n (cart)=\\\"onCart($event)\\\"\\n ></rolatech-product-action>\\n </div>\\n </div>\\n <div class=\\\"py-3\\\">\\n <mat-divider></mat-divider>\\n <rolatech-product-owner-renderer\\n [name]=\\\"fullname\\\"\\n [avatar]=\\\"user?.avatar\\\"\\n [username]=\\\"username\\\"\\n ></rolatech-product-owner-renderer>\\n <mat-divider></mat-divider>\\n </div>\\n <div class=\\\"flex flex-col\\\">\\n @for (section of product.sections; track $index) {\\n <rolatech-product-section [section]=\\\"section\\\" [reverse]=\\\"$index % 2 !== 0\\\"></rolatech-product-section>\\n }\\n\\n <rolatech-comments [itemId]=\\\"product.id\\\"></rolatech-comments>\\n </div>\\n </rolatech-container>\\n}\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i1.MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }, { kind: \"component\", type: ContainerComponent, selector: \"rolatech-container\" }, { kind: \"component\", type: ProductInfoComponent, selector: \"rolatech-product-info\", inputs: [\"name\", \"description\"] }, { kind: \"component\", type: ProductMediaComponent, selector: \"rolatech-product-media\", inputs: [\"media\", \"min\"] }, { kind: \"component\", type: ProductPricingComponent, selector: \"rolatech-product-pricing\", inputs: [\"product\", \"price\", \"inWishList\"], outputs: [\"wish\"] }, { kind: \"component\", type: ProductSectionComponent, selector: \"rolatech-product-section\", inputs: [\"section\", \"user\", \"username\", \"row\", \"reverse\"] }, { kind: \"component\", type: ProductActionComponent, selector: \"rolatech-product-action\", inputs: [\"product\"], outputs: [\"cart\", \"checkout\", \"deposit\"] }, { kind: \"component\", type: CommentsComponent, selector: \"rolatech-comments\", inputs: [\"itemId\"] }, { kind: \"component\", type: ProductOptionComponent, selector: \"rolatech-product-option\", inputs: [\"option\", \"selected\", \"value\"], outputs: [\"optionChange\", \"selectedChange\", \"valueChange\"] }, { kind: \"component\", type: ProductOwnerRendererComponent, selector: \"rolatech-product-owner-renderer\", inputs: [\"name\", \"avatar\", \"username\"] }, { kind: \"pipe\", type: SelectedPipe, name: \"selected\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductDetailsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-details', imports: [\n AngularCommonModule,\n AngularComponentsModule,\n ContainerComponent,\n ProductInfoComponent,\n ProductMediaComponent,\n ProductPricingComponent,\n ProductSectionComponent,\n ProductActionComponent,\n CommentsComponent,\n ProductOptionComponent,\n ProductOwnerRendererComponent,\n SelectedPipe,\n ], template: \"@if (product) {\\n <rolatech-container>\\n <div class=\\\"flex flex-col md:flex-row w-full\\\">\\n <div class=\\\"md:w-1/2 md:p-3 py-3\\\">\\n <rolatech-product-media [media]=\\\"product.media\\\"></rolatech-product-media>\\n </div>\\n <div class=\\\"md:w-1/2 md:p-3 py-3\\\">\\n <rolatech-product-info [name]=\\\"product.name\\\" [description]=\\\"product.description\\\"> </rolatech-product-info>\\n @for (option of product.options; track $index) {\\n <rolatech-product-option\\n [option]=\\\"option\\\"\\n [value]=\\\"selectedVariant | selected: option\\\"\\n (optionChange)=\\\"onOptionChange($event)\\\"\\n ></rolatech-product-option>\\n }\\n <rolatech-product-pricing\\n (wish)=\\\"onWish($event)\\\"\\n [inWishList]=\\\"inWishList\\\"\\n [product]=\\\"product\\\"\\n [price]=\\\"selectedVariant ? selectedVariant.price : product.price\\\"\\n ></rolatech-product-pricing>\\n <rolatech-product-action\\n [product]=\\\"product\\\"\\n (checkout)=\\\"checkout($event)\\\"\\n (deposit)=\\\"checkout($event)\\\"\\n (cart)=\\\"onCart($event)\\\"\\n ></rolatech-product-action>\\n </div>\\n </div>\\n <div class=\\\"py-3\\\">\\n <mat-divider></mat-divider>\\n <rolatech-product-owner-renderer\\n [name]=\\\"fullname\\\"\\n [avatar]=\\\"user?.avatar\\\"\\n [username]=\\\"username\\\"\\n ></rolatech-product-owner-renderer>\\n <mat-divider></mat-divider>\\n </div>\\n <div class=\\\"flex flex-col\\\">\\n @for (section of product.sections; track $index) {\\n <rolatech-product-section [section]=\\\"section\\\" [reverse]=\\\"$index % 2 !== 0\\\"></rolatech-product-section>\\n }\\n\\n <rolatech-comments [itemId]=\\\"product.id\\\"></rolatech-comments>\\n </div>\\n </rolatech-container>\\n}\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL3BhZ2VzL3Byb2R1Y3QvcHJvZHVjdC1kZXRhaWxzL3Byb2R1Y3QtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QtZGV0YWlscy9wcm9kdWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix1QkFBdUIsR0FDeEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQzVILE9B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d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0QixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsNkJBQTZCO3dCQUM3QixZQUFZO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIE9uSW5pdCwgc2lnbmFsLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFByb2R1Y3RBY3Rpb25Db21wb25lbnQsXG4gIFByb2R1Y3RJbmZvQ29tcG9uZW50LFxuICBQcm9kdWN0TWVkaWFDb21wb25lbnQsXG4gIFByb2R1Y3RPcHRpb25Db21wb25lbnQsXG4gIFByb2R1Y3RQcmljaW5nQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBCYXNlQ29tcG9uZW50LCBDb250YWluZXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQ29tbWVudHNDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tZW50JztcbmltcG9ydCB7IFByb2R1Y3QsIFByb2R1Y3RPcHRpb24sIFByb2R1Y3RWYXJpYW50LCBQcm9kdWN0VmFyaWFudE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEF1dGhVc2VyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuaW1wb3J0IHsgUHJvZHVjdFNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL3Byb2R1Y3Qtc2VjdGlvbi9wcm9kdWN0LXNlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdGVkUGlwZSB9IGZyb20gJy4vc2VsZWN0ZWQucGlwZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUHJvZHVjdE93bmVyUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL3Byb2R1Y3Qtb3duZXItcmVuZGVyZXIvcHJvZHVjdC1vd25lci1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FydEV2ZW50VHlwZSwgQ2FydFNlcnZpY2UsIFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LWRldGFpbHMnLFxuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckNvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgICBDb250YWluZXJDb21wb25lbnQsXG4gICAgUHJvZHVjdEluZm9Db21wb25lbnQsXG4gICAgUHJvZHVjdE1lZGlhQ29tcG9uZW50LFxuICAgIFByb2R1Y3RQcmljaW5nQ29tcG9uZW50LFxuICAgIFByb2R1Y3RTZWN0aW9uQ29tcG9uZW50LFxuICAgIFByb2R1Y3RBY3Rpb25Db21wb25lbnQsXG4gICAgQ29tbWVudHNDb21wb25lbnQsXG4gICAgUHJvZHVjdE9wdGlvbkNvbXBvbmVudCxcbiAgICBQcm9kdWN0T3duZXJSZW5kZXJlckNvbXBvbmVudCxcbiAgICBTZWxlY3RlZFBpcGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdERldGFpbHNDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBhdXRoVXNlclNlcnZpY2UgPSBpbmplY3QoQXV0aFVzZXJTZXJ2aWNlKTtcbiAgcHJvZHVjdFNlcnZpY2UgPSBpbmplY3QoUHJvZHVjdFNlcnZpY2UpO1xuICBjYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSk7XG4gIGF1dGhlbnRpY2F0ZWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhlbnRpY2F0ZWQ7XG4gIHByb2R1Y3QhOiBQcm9kdWN0O1xuICBmdWxsbmFtZSA9ICcnO1xuICB1c2VybmFtZSA9ICcnO1xuICB1c2VyOiBhbnk7XG4gIGluV2lzaExpc3QgPSBmYWxzZTtcbiAgcHVyY2hhc2VkID0gZmFsc2U7XG4gIHNlbGVjdGVkT3B0aW9uITogUHJvZHVjdE9wdGlvbjtcbiAgdmFyaWFudHM6IFByb2R1Y3RWYXJpYW50W10gPSBbXTtcbiAgc2VsZWN0ZWRWYXJpYW50ITogUHJvZHVjdFZhcmlhbnQ7XG4gIHZhcmlhbnRPcHRpb24gPSBzaWduYWw8UHJvZHVjdFZhcmlhbnRPcHRpb24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHZhcmlhbnRPcHRpb25DaGFuZ2VkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnZhcmlhbnRPcHRpb24oKTtcbiAgfSk7XG4gIC8vIHJlc3VsdHM6IGFueVtdID0gW107XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmF1dGhlbnRpY2F0ZWQoKSkge1xuICAgICAgICB0aGlzLmZpbmRXaXNobGlzdEJ5KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRQcm9kdWN0KCk7XG4gIH1cbiAgZ2V0UHJvZHVjdCgpIHtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmdldCh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucHJvZHVjdCA9IHJlcy5kYXRhO1xuICAgICAgICBpZiAodGhpcy5wcm9kdWN0LnZhcmlhbnRzKSB7XG4gICAgICAgICAgdGhpcy52YXJpYW50cyA9IHRoaXMucHJvZHVjdC52YXJpYW50cztcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFyaWFudCA9IHRoaXMudmFyaWFudHNbMF07XG4gICAgICAgICAgLy8gdGhpcy5zZWxlY3RlZFZhcmlhbnQub3B0aW9ucy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgLy8gICB0aGlzLnJlc3VsdHMucHVzaChbaXRlbS5vcHRpb24uaWQsIGl0ZW0udmFsdWUuaWRdKTtcbiAgICAgICAgICAvLyB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmluZFVzZXJCYXNlSW5mbyh0aGlzLnByb2R1Y3QudXNlcklkKTtcbiAgICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoYCR7dGhpcy5wcm9kdWN0Lm5hbWV9YCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHByaXZhdGUgZmluZFZhcmlhbnQob3B0aW9uSWQ6IHN0cmluZywgdmFsdWVJZDogc3RyaW5nKTogUHJvZHVjdFZhcmlhbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnZhcmlhbnRzLmZpbmQoKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGV4aXN0ID0gaXRlbS5vcHRpb25zLnNvbWUoKGk6IFByb2R1Y3RWYXJpYW50T3B0aW9uKSA9PiBpLm9wdGlvbi5pZCA9PT0gb3B0aW9uSWQgJiYgaS52YWx1ZS5pZCA9PT0gdmFsdWVJZCk7XG4gICAgICBpZiAoZXhpc3QpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcbiAgfVxuICBmaW5kVXNlckJhc2VJbmZvKHVzZXJJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5hdXRoVXNlclNlcnZpY2UuZ2V0UHVibGljVXNlckluZm8odXNlcklkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmZ1bGxuYW1lID0gcmVzLm5hbWU7XG4gICAgICAgIHRoaXMudXNlcm5hbWUgPSByZXMudXNlcm5hbWU7XG4gICAgICAgIHRoaXMudXNlciA9IHJlcztcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBmaW5kV2lzaGxpc3RCeSgpIHtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmZpbmRXaXNobGlzdEJ5KHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5pbldpc2hMaXN0ID0gcmVzLmRhdGE7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uV2lzaChlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5hdXRoZW50aWNhdGVkKCkpIHtcbiAgICAgIGlmICh0aGlzLmluV2lzaExpc3QpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVGcm9tV2lzaGxpc3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWRkVG9XaXNobGlzdCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCdQbGVhc2Ugc2lnbiBpbicpO1xuICAgIH1cbiAgfVxuICBvbkNhcnQoZTogYW55KSB7XG4gICAgY29uc3QgZGF0YSA9IHsgcHJvZHVjdElkOiB0aGlzLmlkLCBxdWFudGl0eTogMSB9O1xuICAgIGlmICh0aGlzLnNlbGVjdGVkVmFyaWFudCkge1xuICAgICAgZGF0YVsndmFyaWFudElkJ10gPSB0aGlzLnNlbGVjdGVkVmFyaWFudC5pZDtcbiAgICB9XG4gICAgdGhpcy5jYXJ0U2VydmljZS5jcmVhdGUoZGF0YSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5jYXJ0RXZlbnQuZW1pdChDYXJ0RXZlbnRUeXBlLkNhcnRBZGQpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIHJlbW92ZUZyb21XaXNobGlzdCgpIHtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLnJlbW92ZUZyb21XaXNobGlzdCh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmluV2lzaExpc3QgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBhZGRUb1dpc2hsaXN0KCkge1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuYWRkVG9XaXNobGlzdCh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmluV2lzaExpc3QgPSB0cnVlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBjaGVja291dChlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5hdXRoZW50aWNhdGVkKCkpIHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFyaWFudCkge1xuICAgICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvY2hlY2tvdXQvcHJvZHVjdHMvJHt0aGlzLmlkfT92YXJpYW50LWlkPSR7dGhpcy5zZWxlY3RlZFZhcmlhbnQuaWR9YCk7XG4gICAgICAgIC8vIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2NoZWNrb3V0L3Byb2R1Y3RzLyR7dGhpcy5pZH1gXSwgeyBxdWVyeVBhcmFtczogeyB2YXJpYW50OiB0aGlzLnNlbGVjdGVkVmFyaWFudC5pZCB9IH0pO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9jaGVja291dC9wcm9kdWN0cy8ke3RoaXMuaWR9L3ZhcmlhbnRzLyR7dGhpcy5zZWxlY3RlZFZhcmlhbnQuaWR9YF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL2NoZWNrb3V0L3Byb2R1Y3RzLyR7dGhpcy5pZH1gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbignUGxlYXNlIHNpZ24gaW4nKTtcbiAgICB9XG4gIH1cblxuICBvbk9wdGlvbkNoYW5nZShlKSB7XG4gICAgY29uc3QgY3JpdGVyaWE6IGFueSA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRWYXJpYW50Lm9wdGlvbnMubWFwKChpdGVtKSA9PiB7XG4gICAgICBjcml0ZXJpYS5wdXNoKHtcbiAgICAgICAgb3B0aW9uSWQ6IGl0ZW0ub3B0aW9uLmlkID09PSBlLm9wdGlvbi5pZCA/IGUub3B0aW9uLmlkIDogaXRlbS5vcHRpb24uaWQsXG4gICAgICAgIHZhbHVlSWQ6IGl0ZW0ub3B0aW9uLmlkID09PSBlLm9wdGlvbi5pZCA/IGUudmFsdWUuaWQgOiBpdGVtLnZhbHVlLmlkLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvLyBjb25zdCBjcml0ZXJpYSA9IFtcbiAgICAvLyAgIHsgb3B0aW9uSWQ6ICcyNDkwMDg4NTUyOTQ1NDU5MjAnLCB2YWx1ZUlkOiAnMjQ5MDA4ODU1Mjk4NzQwMjI0JyB9LCAvLyBjb2xvcjogcmVkXG4gICAgLy8gICB7IG9wdGlvbklkOiAnMjQ4NjYxNzE1OTU1MzU1NjQ4JywgdmFsdWVJZDogJzI0OTAwMTEzMDA2MTg2MDg2NScgfSwgLy8gc2l6ZTogMjU2R0JcbiAgICAvLyBdO1xuXG4gICAgLy8gRnVuY3Rpb24gdG8gY2hlY2sgaWYgYSB2YXJpYW50IG1hdGNoZXMgYWxsIHRoZSBjcml0ZXJpYVxuICAgIGNvbnN0IG1hdGNoZXNBbGxDcml0ZXJpYSA9ICh2YXJpYW50LCBjcml0ZXJpYSkgPT4ge1xuICAgICAgcmV0dXJuIF8uZXZlcnkoY3JpdGVyaWEsIChjcml0ZXJpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIF8uc29tZSh2YXJpYW50Lm9wdGlvbnMsIChvKSA9PiBvLm9wdGlvbi5pZCA9PT0gY3JpdGVyaW9uLm9wdGlvbklkICYmIG8udmFsdWUuaWQgPT09IGNyaXRlcmlvbi52YWx1ZUlkKTtcbiAgICAgIH0pO1xuICAgIH07XG4gICAgLy8gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBjcml0ZXJpYSBiYXNlZCBvbiBhIG1hdGNoaW5nIHZhcmlhbnRcbiAgICBjb25zdCB1cGRhdGVDcml0ZXJpYUZyb21WYXJpYW50ID0gKHZhcmlhbnQpID0+IHtcbiAgICAgIHJldHVybiBfLm1hcCh2YXJpYW50Lm9wdGlvbnMsIChvKSA9PiAoe1xuICAgICAgICBvcHRpb25JZDogby5vcHRpb24uaWQsXG4gICAgICAgIHZhbHVlSWQ6IG8udmFsdWUuaWQsXG4gICAgICB9KSk7XG4gICAgfTtcblxuICAgIC8vIEZpbmQgdGhlIHZhcmlhbnQgdGhhdCBtYXRjaGVzIGFsbCB0aGUgY3JpdGVyaWFcbiAgICBjb25zdCBtYXRjaGluZ1ZhcmlhbnQgPSBfLmZpbmQodGhpcy52YXJpYW50cywgKHZhcmlhbnQpID0+IG1hdGNoZXNBbGxDcml0ZXJpYSh2YXJpYW50LCBjcml0ZXJpYSkpO1xuICAgIHRoaXMuc2VsZWN0ZWRWYXJpYW50ID0gbWF0Y2hpbmdWYXJpYW50ITtcbiAgICAvLyBjb25zdCB1cGRhdGVkQ3JpdGVyaWEgPSBtYXRjaGluZ1ZhcmlhbnQgPyB1cGRhdGVDcml0ZXJpYUZyb21WYXJpYW50KG1hdGNoaW5nVmFyaWFudCkgOiBbXTtcbiAgfVxufVxuIiwiQGlmIChwcm9kdWN0KSB7XG4gIDxyb2xhdGVjaC1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgdy1mdWxsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWQ6dy0xLzIgbWQ6cC0zIHB5LTNcIj5cbiAgICAgICAgPHJvbGF0ZWNoLXByb2R1Y3QtbWVkaWEgW21lZGlhXT1cInByb2R1Y3QubWVkaWFcIj48L3JvbGF0ZWNoLXByb2R1Y3QtbWVkaWE+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtZDp3LTEvMiBtZDpwLTMgcHktM1wiPlxuICAgICAgICA8cm9sYXRlY2gtcHJvZHVjdC1pbmZvIFtuYW1lXT1cInByb2R1Y3QubmFtZVwiIFtkZXNjcmlwdGlvbl09XCJwcm9kdWN0LmRlc2NyaXB0aW9uXCI+IDwvcm9sYXRlY2gtcHJvZHVjdC1pbmZvPlxuICAgICAgICBAZm9yIChvcHRpb24gb2YgcHJvZHVjdC5vcHRpb25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8cm9sYXRlY2gtcHJvZHVjdC1vcHRpb25cbiAgICAgICAgICAgIFtvcHRpb25dPVwib3B0aW9uXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZFZhcmlhbnQgfCBzZWxlY3RlZDogb3B0aW9uXCJcbiAgICAgICAgICAgIChvcHRpb25DaGFuZ2UpPVwib25PcHRpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvcm9sYXRlY2gtcHJvZHVjdC1vcHRpb24+XG4gICAgICAgIH1cbiAgICAgICAgPHJvbGF0ZWNoLXByb2R1Y3QtcHJpY2luZ1xuICAgICAgICAgICh3aXNoKT1cIm9uV2lzaCgkZXZlbnQpXCJcbiAgICAgICAgICBbaW5XaXNoTGlzdF09XCJpbldpc2hMaXN0XCJcbiAgICAgICAgICBbcHJvZHVjdF09XCJwcm9kdWN0XCJcbiAgICAgICAgICBbcHJpY2VdPVwic2VsZWN0ZWRWYXJpYW50ID8gc2VsZWN0ZWRWYXJpYW50LnByaWNlIDogcHJvZHVjdC5wcmljZVwiXG4gICAgICAgID48L3JvbGF0ZWNoLXByb2R1Y3QtcHJpY2luZz5cbiAgICAgICAgPHJvbGF0ZWNoLXByb2R1Y3QtYWN0aW9uXG4gICAgICAgICAgW3Byb2R1Y3RdPVwicHJvZHVjdFwiXG4gICAgICAgICAgKGNoZWNrb3V0KT1cImNoZWNrb3V0KCRldmVudClcIlxuICAgICAgICAgIChkZXBvc2l0KT1cImNoZWNrb3V0KCRldmVudClcIlxuICAgICAgICAgIChjYXJ0KT1cIm9uQ2FydCgkZXZlbnQpXCJcbiAgICAgICAgPjwvcm9sYXRlY2gtcHJvZHVjdC1hY3Rpb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicHktM1wiPlxuICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICA8cm9sYXRlY2gtcHJvZHVjdC1vd25lci1yZW5kZXJlclxuICAgICAgICBbbmFtZV09XCJmdWxsbmFtZVwiXG4gICAgICAgIFthdmF0YXJdPVwidXNlcj8uYXZhdGFyXCJcbiAgICAgICAgW3VzZXJuYW1lXT1cInVzZXJuYW1lXCJcbiAgICAgID48L3JvbGF0ZWNoLXByb2R1Y3Qtb3duZXItcmVuZGVyZXI+XG4gICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgQGZvciAoc2VjdGlvbiBvZiBwcm9kdWN0LnNlY3Rpb25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPHJvbGF0ZWNoLXByb2R1Y3Qtc2VjdGlvbiBbc2VjdGlvbl09XCJzZWN0aW9uXCIgW3JldmVyc2VdPVwiJGluZGV4ICUgMiAhPT0gMFwiPjwvcm9sYXRlY2gtcHJvZHVjdC1zZWN0aW9uPlxuICAgICAgfVxuXG4gICAgICA8cm9sYXRlY2gtY29tbWVudHMgW2l0ZW1JZF09XCJwcm9kdWN0LmlkXCI+PC9yb2xhdGVjaC1jb21tZW50cz5cbiAgICA8L2Rpdj5cbiAgPC9yb2xhdGVjaC1jb250YWluZXI+XG59XG4iXX0=","import { ProductLayoutComponent } from './product-layout/product-layout.component';\nimport { ProductCategoryComponent } from './product-category/product-category.component';\nimport { ProductDetailsComponent } from './product-details/product-details.component';\nexport const productRoutes = [\n {\n path: '',\n component: ProductLayoutComponent,\n children: [\n {\n path: '',\n loadComponent: () => import('./product-index/product-index.component').then((x) => x.ProductIndexComponent),\n },\n {\n path: 'categories/:id',\n component: ProductCategoryComponent,\n },\n ],\n },\n {\n path: ':id',\n component: ProductDetailsComponent,\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0L3Byb2R1Y3Qucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBVztJQUNuQztRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLHNCQUFzQjtRQUNqQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxJQUFJLEVBQUUsRUFBRTtnQkFDUixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUM7YUFDNUc7WUFDRDtnQkFDRSxJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixTQUFTLEVBQUUsd0JBQXdCO2FBQ3BDO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsSUFBSSxFQUFFLEtBQUs7UUFDWCxTQUFTLEVBQUUsdUJBQXVCO0tBQ25DO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQcm9kdWN0TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWxheW91dC9wcm9kdWN0LWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHVjdENhdGVnb3J5Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWNhdGVnb3J5L3Byb2R1Y3QtY2F0ZWdvcnkuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1Y3REZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LWRldGFpbHMvcHJvZHVjdC1kZXRhaWxzLmNvbXBvbmVudCc7XG5leHBvcnQgY29uc3QgcHJvZHVjdFJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJycsXG4gICAgY29tcG9uZW50OiBQcm9kdWN0TGF5b3V0Q29tcG9uZW50LFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICcnLFxuICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vcHJvZHVjdC1pbmRleC9wcm9kdWN0LWluZGV4LmNvbXBvbmVudCcpLnRoZW4oKHgpID0+IHguUHJvZHVjdEluZGV4Q29tcG9uZW50KSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdjYXRlZ29yaWVzLzppZCcsXG4gICAgICAgIGNvbXBvbmVudDogUHJvZHVjdENhdGVnb3J5Q29tcG9uZW50LFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB7XG4gICAgcGF0aDogJzppZCcsXG4gICAgY29tcG9uZW50OiBQcm9kdWN0RGV0YWlsc0NvbXBvbmVudCxcbiAgfSxcbl07XG4iXX0=","export var ProductPriceType;\n(function (ProductPriceType) {\n ProductPriceType[\"FIXED\"] = \"\\u56FA\\u5B9A\\u4EF7\\u683C\";\n ProductPriceType[\"PARTIAL\"] = \"\\u652F\\u4ED8\\u5B9A\\u91D1\";\n ProductPriceType[\"VARIED\"] = \"\\u591A\\u53D8\\u7684\";\n})(ProductPriceType || (ProductPriceType = {}));\nexport var ProductStatus;\n(function (ProductStatus) {\n ProductStatus[ProductStatus[\"DRAFT\"] = '草稿'] = \"DRAFT\";\n ProductStatus[ProductStatus[\"AWAITING\"] = '审核中'] = \"AWAITING\";\n ProductStatus[ProductStatus[\"PENDING\"] = '审核中'] = \"PENDING\";\n ProductStatus[ProductStatus[\"ACCEPTED\"] = '已通过'] = \"ACCEPTED\";\n ProductStatus[ProductStatus[\"ACTIVE\"] = '已发布'] = \"ACTIVE\";\n ProductStatus[ProductStatus[\"DELETED\"] = '已删除'] = \"DELETED\";\n ProductStatus[ProductStatus[\"ARCHIVED\"] = '已下架'] = \"ARCHIVED\";\n})(ProductStatus || (ProductStatus = {}));\nexport var ProductType;\n(function (ProductType) {\n ProductType[\"DIGITAL\"] = \"\\u865A\\u62DF\\u5546\\u54C1\";\n ProductType[\"PHYSICAL\"] = \"\\u5B9E\\u4F53\\u5546\\u54C1\";\n ProductType[\"SERVICE\"] = \"\\u670D\\u52A1\";\n ProductType[\"OTHER\"] = \"\\u5176\\u4ED6\";\n})(ProductType || (ProductType = {}));\nexport var ProductInventoryStatus;\n(function (ProductInventoryStatus) {\n ProductInventoryStatus[\"IN_STOCK\"] = \"\\u6709\\u8D27\";\n ProductInventoryStatus[\"LOW_STOCK\"] = \"\\u5E93\\u5B58\\u4E0D\\u8DB3\";\n ProductInventoryStatus[\"OUT_OF_STOCK\"] = \"\\u552E\\u7F44\";\n ProductInventoryStatus[\"DISCONTINUED\"] = \"\\u5DF2\\u505C\\u4EA7\";\n})(ProductInventoryStatus || (ProductInventoryStatus = {}));\nexport var ProductScope;\n(function (ProductScope) {\n ProductScope[ProductScope[\"WEB\"] = '网站'] = \"WEB\";\n ProductScope[ProductScope[\"GLOBAL\"] = '全域'] = \"GLOBAL\";\n})(ProductScope || (ProductScope = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL2ludGVyZmFjZXMvcHJvZHVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQkEsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQixzREFBYyxDQUFBO0lBQ2Qsd0RBQWdCLENBQUE7SUFDaEIsaURBQWMsQ0FBQTtBQUNoQixDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQjtBQWlDRCxNQUFNLENBQU4sSUFBWSxhQVFYO0FBUkQsV0FBWSxhQUFhO0lBQ3ZCLHVDQUFhLElBQUksV0FBQSxDQUFBO0lBQ2pCLDBDQUFnQixLQUFLLGNBQUEsQ0FBQTtJQUNyQix5Q0FBZSxLQUFLLGFBQUEsQ0FBQTtJQUNwQiwwQ0FBZ0IsS0FBSyxjQUFBLENBQUE7SUFDckIsd0NBQWMsS0FBSyxZQUFBLENBQUE7SUFDbkIseUNBQWUsS0FBSyxhQUFBLENBQUE7SUFDcEIsMENBQWdCLEtBQUssY0FBQSxDQUFBO0FBQ3ZCLENBQUMsRUFSVyxhQUFhLEtBQWIsYUFBYSxRQVF4QjtBQUNELE1BQU0sQ0FBTixJQUFZLFdBS1g7QUFMRCxXQUFZLFdBQVc7SUFDckIsbURBQWdCLENBQUE7SUFDaEIsb0RBQWlCLENBQUE7SUFDakIsdUNBQWMsQ0FBQTtJQUNkLHFDQUFZLENBQUE7QUFDZCxDQUFDLEVBTFcsV0FBVyxLQUFYLFdBQVcsUUFLdEI7QUFDRCxNQUFNLENBQU4sSUFBWSxzQkFLWDtBQUxELFdBQVksc0JBQXNCO0lBQ2hDLG1EQUFlLENBQUE7SUFDZixnRUFBa0IsQ0FBQTtJQUNsQix1REFBbUIsQ0FBQTtJQUNuQiw2REFBb0IsQ0FBQTtBQUN0QixDQUFDLEVBTFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUtqQztBQUNELE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsbUNBQVcsSUFBSSxTQUFBLENBQUE7SUFDZixzQ0FBYyxJQUFJLFlBQUEsQ0FBQTtBQUNwQixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9kdWN0Q2F0ZWdvcnkgfSBmcm9tICcuL2NhdGVnb3J5JztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0IHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBtZWRpYTogUHJvZHVjdE1lZGlhW107XG4gIHN0YXR1czogUHJvZHVjdFN0YXR1cyB8IHN0cmluZztcbiAgdHlwZTogUHJvZHVjdFR5cGUgfCBzdHJpbmc7XG4gIHNjb3BlOiBQcm9kdWN0U2NvcGUgfCBzdHJpbmc7XG4gIGNhdGVnb3JpZXM6IFByb2R1Y3RDYXRlZ29yeVtdO1xuICB0YWdzOiBQcm9kdWN0VGFnW107XG4gIHNlY3Rpb25zOiBQcm9kdWN0U2VjdGlvbltdO1xuICBvcHRpb25zOiBQcm9kdWN0T3B0aW9uW107XG4gIHZhcmlhbnRzPzogUHJvZHVjdFZhcmlhbnRbXTtcbiAgcHJpY2U6IG51bWJlcjtcbiAgZGVwb3NpdDogbnVtYmVyO1xuICBwcmljZVR5cGU6IFByb2R1Y3RQcmljZVR5cGU7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG59XG5leHBvcnQgZW51bSBQcm9kdWN0UHJpY2VUeXBlIHtcbiAgRklYRUQgPSAn5Zu65a6a5Lu35qC8JyxcbiAgUEFSVElBTCA9ICfmlK/ku5jlrprph5EnLFxuICBWQVJJRUQgPSAn5aSa5Y+Y55qEJyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFNlY3Rpb24ge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBtZWRpYTogUHJvZHVjdE1lZGlhW107XG4gIGlzVXBsb2FkaW5nPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0VmFyaWFudCB7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHByaWNlOiBudW1iZXI7XG4gIHNrdTogc3RyaW5nO1xuICBvcHRpb25zOiBQcm9kdWN0VmFyaWFudE9wdGlvbltdO1xuICBtZWRpYTogUHJvZHVjdFZhcmlhbnRNZWRpYVtdO1xuICBpc1VwbG9hZGluZz86IGJvb2xlYW47XG4gIHN0YXR1czogUHJvZHVjdEludmVudG9yeVN0YXR1cyB8IHN0cmluZztcbiAgaW52ZW50b3J5SXRlbUlkOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RWYXJpYW50TWVkaWEge1xuICB1cmw6IHN0cmluZztcbiAgYWx0OiBzdHJpbmc7XG4gIHVwbG9hZGluZz86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RWYXJpYW50T3B0aW9uIHtcbiAgb3B0aW9uOiBQcm9kdWN0T3B0aW9uO1xuICB2YWx1ZTogUHJvZHVjdE9wdGlvblZhbHVlO1xufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0VGFnIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xufVxuZXhwb3J0IGVudW0gUHJvZHVjdFN0YXR1cyB7XG4gIERSQUZUID0gPGFueT4n6I2J56i/JyxcbiAgQVdBSVRJTkcgPSA8YW55PiflrqHmoLjkuK0nLFxuICBQRU5ESU5HID0gPGFueT4n5a6h5qC45LitJyxcbiAgQUNDRVBURUQgPSA8YW55Piflt7LpgJrov4cnLFxuICBBQ1RJVkUgPSA8YW55Piflt7Llj5HluIMnLFxuICBERUxFVEVEID0gPGFueT4n5bey5Yig6ZmkJyxcbiAgQVJDSElWRUQgPSA8YW55Piflt7LkuIvmnrYnLFxufVxuZXhwb3J0IGVudW0gUHJvZHVjdFR5cGUge1xuICBESUdJVEFMID0gJ+iZmuaLn+WVhuWTgScsXG4gIFBIWVNJQ0FMID0gJ+WunuS9k+WVhuWTgScsXG4gIFNFUlZJQ0UgPSAn5pyN5YqhJyxcbiAgT1RIRVIgPSAn5YW25LuWJyxcbn1cbmV4cG9ydCBlbnVtIFByb2R1Y3RJbnZlbnRvcnlTdGF0dXMge1xuICBJTl9TVE9DSyA9ICfmnInotKcnLFxuICBMT1dfU1RPQ0sgPSAn5bqT5a2Y5LiN6LazJyxcbiAgT1VUX09GX1NUT0NLID0gJ+WUrue9hCcsXG4gIERJU0NPTlRJTlVFRCA9ICflt7LlgZzkuqcnLFxufVxuZXhwb3J0IGVudW0gUHJvZHVjdFNjb3BlIHtcbiAgV0VCID0gPGFueT4n572R56uZJyxcbiAgR0xPQkFMID0gPGFueT4n5YWo5Z+fJyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdE1lZGlhIHtcbiAgaWQ6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG4gIGFsdDogc3RyaW5nO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgdXVpZDogc3RyaW5nO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0VGFnIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RPcHRpb24ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlczogUHJvZHVjdE9wdGlvblZhbHVlW107XG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RPcHRpb25WYWx1ZSB7XG4gIGlkPzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59XG4iXX0=","import { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, RouterLink, RouterLinkActive, RouterOutlet } from '@angular/router';\nimport { ProductStatus } from '../../../interfaces/product';\nimport { ProductService } from '@rolatech/angular-services';\nimport { MatButtonModule } from '@angular/material/button';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class ProductManageLayoutComponent {\n constructor() {\n this.submitted = false;\n this.accepted = false;\n this.isDraft = false;\n this.route = inject(ActivatedRoute);\n this.productService = inject(ProductService);\n this.dialog = inject(MatDialog);\n this.snackBar = inject(MatSnackBar);\n this.id = this.route.snapshot.paramMap.get('id');\n }\n ngOnInit() {\n this.get();\n }\n get() {\n this.productService.get(this.id).subscribe({\n next: (res) => {\n this.product = res.data;\n },\n });\n }\n updateStatus() {\n this.isDraft = this.product.status.toString() === 'DRAFT' || this.product.status.toString() === 'PENDING';\n this.accepted = this.product.status.toString() === 'ACCEPTED';\n }\n publish() {\n this.productService.publish(this.id).subscribe({\n next: (res) => {\n this.snackBar.open('发布成功');\n this.product.status = ProductStatus['已发布'];\n this.updateStatus();\n },\n error: (error) => {\n this.snackBar.open(error.message);\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductManageLayoutComponent, isStandalone: true, selector: \"rolatech-product-manage-layout\", ngImport: i0, template: \"<div class=\\\"flex flex-col md:flex-row m-auto\\\">\\n <div\\n class=\\\"min-w-[256px] px-3 md:px-0 flex flex-row md:flex-col md:h-full items-center md:items-start h-16 overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\\\"\\n >\\n <div class=\\\"flex flex-row md:flex-col md:w-full\\\">\\n <div class=\\\"hidden md:flex text-xl font-bold h-14 items-center px-2\\\">\\u5546\\u54C1\\u4FE1\\u606F</div>\\n <a routerLink=\\\"./info\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u57FA\\u672C\\u4FE1\\u606F</a>\\n <a routerLink=\\\"./media\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u56FE\\u7247</a>\\n <a routerLink=\\\"./sections\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u8BE6\\u60C5</a>\\n <a routerLink=\\\"./tags\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u6807\\u7B7E</a>\\n <a routerLink=\\\"./options\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u9009\\u9879</a>\\n </div>\\n <div class=\\\"flex flex-row md:flex-col md:w-full\\\">\\n <div class=\\\"hidden md:flex text-xl font-bold h-14 items-center px-2\\\">\\u5546\\u54C1\\u8BBE\\u7F6E</div>\\n <a routerLink=\\\"./variants\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u4EF7\\u683C\\u7B56\\u7565</a>\\n <a routerLink=\\\"./inventory\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u5E93\\u5B58\\u8BBE\\u7F6E</a>\\n <a routerLink=\\\"./schedule\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u53D1\\u5E03\\u8BBE\\u7F6E</a>\\n </div>\\n <div class=\\\"flex flex-row md:flex-col md:w-full\\\">\\n <div class=\\\"hidden md:flex text-xl font-bold h-14 items-center px-2\\\">\\u5176\\u4ED6\\u4FE1\\u606F</div>\\n <a routerLink=\\\"./pricing\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u4EF7\\u683C</a>\\n </div>\\n\\n @if (isDraft) {\\n <div class=\\\"md:mt-6 md:ml-2\\\">\\n <button mat-flat-button (click)=\\\"publish()\\\">\\u53D1\\u5E03\\u5546\\u54C1</button>\\n </div>\\n }\\n </div>\\n <div class=\\\"w-full\\\">\\n <router-outlet></router-outlet>\\n </div>\\n</div>\\n\", styles: [\".manage-active{background-color:var(--rt-10-percent-layer, rgba(0, 0, 0, .05));box-shadow:4px 0 var(--rt-base-background-inverse, #000) inset;font-weight:600}@media (max-width: 768px){.manage-active{box-shadow:inset 0 -4px 0 0 var(--rt-base-background-inverse, #000)}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\\n\"], dependencies: [{ kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: RouterLinkActive, selector: \"[routerLinkActive]\", inputs: [\"routerLinkActiveOptions\", \"ariaCurrentWhenActive\", \"routerLinkActive\"], outputs: [\"isActiveChange\"], exportAs: [\"routerLinkActive\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.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: \"directive\", type: RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageLayoutComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-layout', imports: [RouterLink, RouterLinkActive, MatButtonModule, RouterOutlet], encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"flex flex-col md:flex-row m-auto\\\">\\n <div\\n class=\\\"min-w-[256px] px-3 md:px-0 flex flex-row md:flex-col md:h-full items-center md:items-start h-16 overflow-x-scroll overflow-y-hidden scrollbar-hide whitespace-pre\\\"\\n >\\n <div class=\\\"flex flex-row md:flex-col md:w-full\\\">\\n <div class=\\\"hidden md:flex text-xl font-bold h-14 items-center px-2\\\">\\u5546\\u54C1\\u4FE1\\u606F</div>\\n <a routerLink=\\\"./info\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u57FA\\u672C\\u4FE1\\u606F</a>\\n <a routerLink=\\\"./media\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u56FE\\u7247</a>\\n <a routerLink=\\\"./sections\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u8BE6\\u60C5</a>\\n <a routerLink=\\\"./tags\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u6807\\u7B7E</a>\\n <a routerLink=\\\"./options\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u9009\\u9879</a>\\n </div>\\n <div class=\\\"flex flex-row md:flex-col md:w-full\\\">\\n <div class=\\\"hidden md:flex text-xl font-bold h-14 items-center px-2\\\">\\u5546\\u54C1\\u8BBE\\u7F6E</div>\\n <a routerLink=\\\"./variants\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u4EF7\\u683C\\u7B56\\u7565</a>\\n <a routerLink=\\\"./inventory\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u5E93\\u5B58\\u8BBE\\u7F6E</a>\\n <a routerLink=\\\"./schedule\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u53D1\\u5E03\\u8BBE\\u7F6E</a>\\n </div>\\n <div class=\\\"flex flex-row md:flex-col md:w-full\\\">\\n <div class=\\\"hidden md:flex text-xl font-bold h-14 items-center px-2\\\">\\u5176\\u4ED6\\u4FE1\\u606F</div>\\n <a routerLink=\\\"./pricing\\\" routerLinkActive=\\\"manage-active\\\" class=\\\"p-2\\\">\\u4EF7\\u683C</a>\\n </div>\\n\\n @if (isDraft) {\\n <div class=\\\"md:mt-6 md:ml-2\\\">\\n <button mat-flat-button (click)=\\\"publish()\\\">\\u53D1\\u5E03\\u5546\\u54C1</button>\\n </div>\\n }\\n </div>\\n <div class=\\\"w-full\\\">\\n <router-outlet></router-outlet>\\n </div>\\n</div>\\n\", styles: [\".manage-active{background-color:var(--rt-10-percent-layer, rgba(0, 0, 0, .05));box-shadow:4px 0 var(--rt-base-background-inverse, #000) inset;font-weight:600}@media (max-width: 768px){.manage-active{box-shadow:inset 0 -4px 0 0 var(--rt-base-background-inverse, #000)}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL3BhZ2VzL3Byb2R1Y3QtbWFuYWdlL3Byb2R1Y3QtbWFuYWdlLWxheW91dC9wcm9kdWN0LW1hbmFnZS1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtbGF5b3V0L3Byb2R1Y3QtbWFuYWdlLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdGLE9BQU8sRUFBVyxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFTM0QsTUFBTSxPQUFPLDRCQUE0QjtJQVV2QztRQVBBLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFVBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0IsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTdCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQVcsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFDRCxHQUFHO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN6QyxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQzFCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLFNBQVMsQ0FBQztRQUMxRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLFVBQVUsQ0FBQztJQUNoRSxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0MsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxLQUFtQyxDQUFDLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXRDVSw0QkFBNEI7a0dBQTVCLDRCQUE0QiwwRkNmekMseThEQWlDQSxxYkR2QlksVUFBVSxvT0FBRSxnQkFBZ0IsNk1BQUUsZUFBZSxvWEFBRSxZQUFZOzsyRkFLMUQsNEJBQTRCO2tCQVB4QyxTQUFTOytCQUNFLGdDQUFnQyxXQUNqQyxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDLGlCQUd2RCxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZSwgUm91dGVyT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFByb2R1Y3QsIFByb2R1Y3RTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL3Byb2R1Y3QnO1xuaW1wb3J0IHsgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1sYXlvdXQnLFxuICBpbXBvcnRzOiBbUm91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZSwgTWF0QnV0dG9uTW9kdWxlLCBSb3V0ZXJPdXRsZXRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLWxheW91dC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNYW5hZ2VMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpZDogc3RyaW5nO1xuICBwcm9kdWN0ITogUHJvZHVjdDtcbiAgc3VibWl0dGVkID0gZmFsc2U7XG4gIGFjY2VwdGVkID0gZmFsc2U7XG4gIGlzRHJhZnQgPSBmYWxzZTtcbiAgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcm9kdWN0U2VydmljZSA9IGluamVjdChQcm9kdWN0U2VydmljZSk7XG4gIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuICBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKSBhcyBzdHJpbmc7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoKTtcbiAgfVxuICBnZXQoKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5nZXQodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2R1Y3QgPSByZXMuZGF0YTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgdXBkYXRlU3RhdHVzKCkge1xuICAgIHRoaXMuaXNEcmFmdCA9IHRoaXMucHJvZHVjdC5zdGF0dXMudG9TdHJpbmcoKSA9PT0gJ0RSQUZUJyB8fCB0aGlzLnByb2R1Y3Quc3RhdHVzLnRvU3RyaW5nKCkgPT09ICdQRU5ESU5HJztcbiAgICB0aGlzLmFjY2VwdGVkID0gdGhpcy5wcm9kdWN0LnN0YXR1cy50b1N0cmluZygpID09PSAnQUNDRVBURUQnO1xuICB9XG4gIHB1Ymxpc2goKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5wdWJsaXNoKHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXIub3Blbign5Y+R5biD5oiQ5YqfJyk7XG4gICAgICAgIHRoaXMucHJvZHVjdC5zdGF0dXMgPSBQcm9kdWN0U3RhdHVzWyflt7Llj5HluIMnIGFzIGtleW9mIHR5cGVvZiBQcm9kdWN0U3RhdHVzXTtcbiAgICAgICAgdGhpcy51cGRhdGVTdGF0dXMoKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IG0tYXV0b1wiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJtaW4tdy1bMjU2cHhdIHB4LTMgbWQ6cHgtMCBmbGV4IGZsZXgtcm93IG1kOmZsZXgtY29sIG1kOmgtZnVsbCBpdGVtcy1jZW50ZXIgbWQ6aXRlbXMtc3RhcnQgaC0xNiBvdmVyZmxvdy14LXNjcm9sbCBvdmVyZmxvdy15LWhpZGRlbiBzY3JvbGxiYXItaGlkZSB3aGl0ZXNwYWNlLXByZVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtZDpmbGV4LWNvbCBtZDp3LWZ1bGxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoaWRkZW4gbWQ6ZmxleCB0ZXh0LXhsIGZvbnQtYm9sZCBoLTE0IGl0ZW1zLWNlbnRlciBweC0yXCI+5ZWG5ZOB5L+h5oGvPC9kaXY+XG4gICAgICA8YSByb3V0ZXJMaW5rPVwiLi9pbmZvXCIgcm91dGVyTGlua0FjdGl2ZT1cIm1hbmFnZS1hY3RpdmVcIiBjbGFzcz1cInAtMlwiPuWfuuacrOS/oeaBrzwvYT5cbiAgICAgIDxhIHJvdXRlckxpbms9XCIuL21lZGlhXCIgcm91dGVyTGlua0FjdGl2ZT1cIm1hbmFnZS1hY3RpdmVcIiBjbGFzcz1cInAtMlwiPuWbvueJhzwvYT5cbiAgICAgIDxhIHJvdXRlckxpbms9XCIuL3NlY3Rpb25zXCIgcm91dGVyTGlua0FjdGl2ZT1cIm1hbmFnZS1hY3RpdmVcIiBjbGFzcz1cInAtMlwiPuivpuaDhTwvYT5cbiAgICAgIDxhIHJvdXRlckxpbms9XCIuL3RhZ3NcIiByb3V0ZXJMaW5rQWN0aXZlPVwibWFuYWdlLWFjdGl2ZVwiIGNsYXNzPVwicC0yXCI+5qCH562+PC9hPlxuICAgICAgPGEgcm91dGVyTGluaz1cIi4vb3B0aW9uc1wiIHJvdXRlckxpbmtBY3RpdmU9XCJtYW5hZ2UtYWN0aXZlXCIgY2xhc3M9XCJwLTJcIj7pgInpobk8L2E+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbWQ6ZmxleC1jb2wgbWQ6dy1mdWxsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGlkZGVuIG1kOmZsZXggdGV4dC14bCBmb250LWJvbGQgaC0xNCBpdGVtcy1jZW50ZXIgcHgtMlwiPuWVhuWTgeiuvue9rjwvZGl2PlxuICAgICAgPGEgcm91dGVyTGluaz1cIi4vdmFyaWFudHNcIiByb3V0ZXJMaW5rQWN0aXZlPVwibWFuYWdlLWFjdGl2ZVwiIGNsYXNzPVwicC0yXCI+5Lu35qC8562W55WlPC9hPlxuICAgICAgPGEgcm91dGVyTGluaz1cIi4vaW52ZW50b3J5XCIgcm91dGVyTGlua0FjdGl2ZT1cIm1hbmFnZS1hY3RpdmVcIiBjbGFzcz1cInAtMlwiPuW6k+WtmOiuvue9rjwvYT5cbiAgICAgIDxhIHJvdXRlckxpbms9XCIuL3NjaGVkdWxlXCIgcm91dGVyTGlua0FjdGl2ZT1cIm1hbmFnZS1hY3RpdmVcIiBjbGFzcz1cInAtMlwiPuWPkeW4g+iuvue9rjwvYT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtZDpmbGV4LWNvbCBtZDp3LWZ1bGxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoaWRkZW4gbWQ6ZmxleCB0ZXh0LXhsIGZvbnQtYm9sZCBoLTE0IGl0ZW1zLWNlbnRlciBweC0yXCI+5YW25LuW5L+h5oGvPC9kaXY+XG4gICAgICA8YSByb3V0ZXJMaW5rPVwiLi9wcmljaW5nXCIgcm91dGVyTGlua0FjdGl2ZT1cIm1hbmFnZS1hY3RpdmVcIiBjbGFzcz1cInAtMlwiPuS7t+agvDwvYT5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoaXNEcmFmdCkge1xuICAgICAgPGRpdiBjbGFzcz1cIm1kOm10LTYgbWQ6bWwtMlwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwicHVibGlzaCgpXCI+5Y+R5biD5ZWG5ZOBPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidy1mdWxsXCI+XG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class ProductManageContentComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: ProductManageContentComponent, isStandalone: true, selector: \"rolatech-product-manage-content\", ngImport: i0, template: \"<ng-content select=\\\"rolatech-toolbar\\\"></ng-content>\\n<div class=\\\"p-3\\\">\\n <ng-content></ng-content>\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageContentComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-content', imports: [CommonModule], template: \"<ng-content select=\\\"rolatech-toolbar\\\"></ng-content>\\n<div class=\\\"p-3\\\">\\n <ng-content></ng-content>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0LW1hbmFnZS9wcm9kdWN0LW1hbmFnZS1jb250ZW50L3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtY29udGVudC9wcm9kdWN0LW1hbmFnZS1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVEvQyxNQUFNLE9BQU8sNkJBQTZCOzhHQUE3Qiw2QkFBNkI7a0dBQTdCLDZCQUE2QiwyRkNUMUMsbUhBSUEseUREQ1ksWUFBWTs7MkZBSVgsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNFLGlDQUFpQyxXQUNsQyxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtY29udGVudCcsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS1jb250ZW50LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnQge31cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cInJvbGF0ZWNoLXRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XG48ZGl2IGNsYXNzPVwicC0zXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19","import { Component, inject, model } from '@angular/core';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { BaseComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { ProductCategoryService, ProductService } from '@rolatech/angular-services';\nimport { ProductPriceType, ProductStatus, ProductType } from '../../../interfaces';\nimport { DecimalDirective } from '@rolatech/angular-common';\nimport { KeyValuePipe } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/form-field\";\nimport * as i3 from \"@angular/material/input\";\nimport * as i4 from \"@angular/cdk/text-field\";\nimport * as i5 from \"@angular/material/select\";\nimport * as i6 from \"@angular/material/autocomplete\";\nimport * as i7 from \"@angular/material/button\";\nexport class ProductManageInfoComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.productService = inject(ProductService);\n this.categoryService = inject(ProductCategoryService);\n this.status = ProductStatus;\n this.productType = ProductType;\n this.priceType = ProductPriceType;\n this.price = model('0.00', ...(ngDevMode ? [{ debugName: \"price\" }] : []));\n this.deposit = model('', ...(ngDevMode ? [{ debugName: \"deposit\" }] : []));\n }\n ngOnInit() {\n this.id = this.route.parent?.snapshot.paramMap.get('id');\n this.find();\n this.categoryService.find({}).subscribe({\n next: (res) => {\n this.categories = res.data;\n },\n });\n }\n find() {\n this.productService.get(this.id).subscribe({\n next: (res) => {\n this.product = res.data;\n const price = this.product.price ? (this.product.price / 100).toFixed(2) : '0.00';\n this.price.set(price);\n if (this.product.priceType?.toString() === 'PARTIAL') {\n const deposit = (this.product.deposit / 100).toFixed(2);\n this.deposit.set(deposit);\n }\n },\n });\n }\n formatPrice(value) {\n // Convert to number first in case it's a string\n this.product.price = Number(Number(value).toFixed(2));\n }\n typeCompareFn(t1, t2) {\n return t1 === t2;\n }\n priceTypeCompareFn(t1, t2) {\n return t1 === t2;\n }\n compareFn(o1, o2) {\n return o1.id === o2?.id;\n }\n onTypeChange(event) {\n // this.product.type = Object.keys(this.productType).find((key) => {\n // return this.productType[key] === event.value;\n // })!;\n this.product.type = event.value;\n }\n onCategoryChange(event) {\n this.selectedCategoyIds = event.value;\n }\n update() {\n const { name, description, type, categories, priceType } = this.product;\n const data = {\n name,\n description,\n type,\n categories,\n price: Number(this.price()) * 100,\n priceType,\n deposit: Number(this.deposit()) * 100,\n };\n this.productService.update(this.id, data).subscribe({\n next: (res) => {\n this.snackBarService.open('Success');\n },\n error: (e) => {\n this.snackBarService.open(e.message);\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageInfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductManageInfoComponent, isStandalone: true, selector: \"rolatech-product-manage-info\", inputs: { price: { classPropertyName: \"price\", publicName: \"price\", isSignal: true, isRequired: false, transformFunction: null }, deposit: { classPropertyName: \"deposit\", publicName: \"deposit\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { price: \"priceChange\", deposit: \"depositChange\" }, usesInheritance: true, ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u57FA\\u672C\\u4FE1\\u606F\\\" class=\\\"hidden md:block\\\" divider></rolatech-toolbar>\\n @if (product) {\\n <div class=\\\"flex flex-col\\\">\\n <form #productForm=\\\"ngForm\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Title </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"product.name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"product.description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" required>\\n <mat-label i18n>Type</mat-label>\\n <mat-select\\n name=\\\"type\\\"\\n [compareWith]=\\\"typeCompareFn\\\"\\n (selectionChange)=\\\"onTypeChange($event)\\\"\\n [(ngModel)]=\\\"product.type\\\"\\n >\\n @for (type of productType | keyvalue; track type) {\\n <mat-option [value]=\\\"type.key\\\">\\n {{ type.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" ngModelGroup=\\\"categories\\\" required>\\n <mat-label i18n>Categories</mat-label>\\n <mat-select\\n multiple\\n name=\\\"id\\\"\\n [compareWith]=\\\"compareFn\\\"\\n [(ngModel)]=\\\"product.categories\\\"\\n #select=\\\"matSelect\\\"\\n (selectionChange)=\\\"onCategoryChange($event)\\\"\\n >\\n @for (item of categories; track item) {\\n <mat-option [value]=\\\"item\\\">\\n {{ item.name }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" required>\\n <mat-label i18n>Price type</mat-label>\\n <mat-select name=\\\"priceType\\\" [compareWith]=\\\"priceTypeCompareFn\\\" [(ngModel)]=\\\"product.priceType\\\">\\n @for (type of priceType | keyvalue; track type) {\\n <mat-option [value]=\\\"type.key\\\">\\n {{ type.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Price </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"price\\\" name=\\\"price\\\" required rolatechDecimal />\\n </mat-form-field>\\n @if (product.priceType && product.priceType.toString() === 'PARTIAL') {\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Deposit </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"deposit\\\" name=\\\"deposit\\\" required rolatechDecimal />\\n </mat-form-field>\\n }\\n </form>\\n </div>\\n <div>\\n <button mat-flat-button (click)=\\\"update()\\\" i18n>Save</button>\\n </div>\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-form-field{width:100%}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i1.RequiredValidator, selector: \":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]\", inputs: [\"required\"] }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: i1.NgModelGroup, selector: \"[ngModelGroup]\", inputs: [\"ngModelGroup\"], exportAs: [\"ngModelGroup\"] }, { kind: \"directive\", type: i1.NgForm, selector: \"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]\", inputs: [\"ngFormOptions\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i2.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i2.MatLabel, selector: \"mat-label\" }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"directive\", type: i3.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"directive\", type: i4.CdkTextareaAutosize, selector: \"textarea[cdkTextareaAutosize]\", inputs: [\"cdkAutosizeMinRows\", \"cdkAutosizeMaxRows\", \"cdkTextareaAutosize\", \"placeholder\"], exportAs: [\"cdkTextareaAutosize\"] }, { kind: \"ngmodule\", type: TextFieldModule }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"component\", type: i5.MatSelect, selector: \"mat-select\", inputs: [\"aria-describedby\", \"panelClass\", \"disabled\", \"disableRipple\", \"tabIndex\", \"hideSingleSelectionIndicator\", \"placeholder\", \"required\", \"multiple\", \"disableOptionCentering\", \"compareWith\", \"value\", \"aria-label\", \"aria-labelledby\", \"errorStateMatcher\", \"typeaheadDebounceInterval\", \"sortComparator\", \"id\", \"panelWidth\", \"canSelectNullableOptions\"], outputs: [\"openedChange\", \"opened\", \"closed\", \"selectionChange\", \"valueChange\"], exportAs: [\"matSelect\"] }, { kind: \"component\", type: i6.MatOption, selector: \"mat-option\", inputs: [\"value\", \"id\", \"disabled\"], outputs: [\"onSelectionChange\"], exportAs: [\"matOption\"] }, { kind: \"ngmodule\", type: MatOptionModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i7.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: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }, { kind: \"directive\", type: DecimalDirective, selector: \"[rolatechDecimal]\" }, { kind: \"pipe\", type: KeyValuePipe, name: \"keyvalue\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageInfoComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-info', imports: [\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n ToolbarComponent,\n ProductManageContentComponent,\n DecimalDirective,\n MatSelectModule,\n KeyValuePipe,\n ], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u57FA\\u672C\\u4FE1\\u606F\\\" class=\\\"hidden md:block\\\" divider></rolatech-toolbar>\\n @if (product) {\\n <div class=\\\"flex flex-col\\\">\\n <form #productForm=\\\"ngForm\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Title </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"product.name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"product.description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" required>\\n <mat-label i18n>Type</mat-label>\\n <mat-select\\n name=\\\"type\\\"\\n [compareWith]=\\\"typeCompareFn\\\"\\n (selectionChange)=\\\"onTypeChange($event)\\\"\\n [(ngModel)]=\\\"product.type\\\"\\n >\\n @for (type of productType | keyvalue; track type) {\\n <mat-option [value]=\\\"type.key\\\">\\n {{ type.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" ngModelGroup=\\\"categories\\\" required>\\n <mat-label i18n>Categories</mat-label>\\n <mat-select\\n multiple\\n name=\\\"id\\\"\\n [compareWith]=\\\"compareFn\\\"\\n [(ngModel)]=\\\"product.categories\\\"\\n #select=\\\"matSelect\\\"\\n (selectionChange)=\\\"onCategoryChange($event)\\\"\\n >\\n @for (item of categories; track item) {\\n <mat-option [value]=\\\"item\\\">\\n {{ item.name }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" required>\\n <mat-label i18n>Price type</mat-label>\\n <mat-select name=\\\"priceType\\\" [compareWith]=\\\"priceTypeCompareFn\\\" [(ngModel)]=\\\"product.priceType\\\">\\n @for (type of priceType | keyvalue; track type) {\\n <mat-option [value]=\\\"type.key\\\">\\n {{ type.value }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Price </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"price\\\" name=\\\"price\\\" required rolatechDecimal />\\n </mat-form-field>\\n @if (product.priceType && product.priceType.toString() === 'PARTIAL') {\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Deposit </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"deposit\\\" name=\\\"deposit\\\" required rolatechDecimal />\\n </mat-form-field>\\n }\\n </form>\\n </div>\\n <div>\\n <button mat-flat-button (click)=\\\"update()\\\" i18n>Save</button>\\n </div>\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-form-field{width:100%}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0LW1hbmFnZS9wcm9kdWN0LW1hbmFnZS1pbmZvL3Byb2R1Y3QtbWFuYWdlLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaW5mby9wcm9kdWN0LW1hbmFnZS1pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBbUIsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRixP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LGdtQkFDZCxlQUFlLDhCQUNmLGVBQWUsK3NCQUNmLGVBQWUsOEJBQ2YsZUFBZSxvWEFDZixnQkFBZ0IsZ0lBQ2hCLDZCQUE2Qiw0RUFDN0IsZ0JBQWdCLHlEQUVoQixZQUFZOzsyRkFLSCwwQkFBMEI7a0JBbkJ0QyxTQUFTOytCQUNFLDhCQUE4QixXQUMvQjt3QkFDUCxXQUFXO3dCQUNYLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3dCQUM3QixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsWUFBWTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBtb2RlbCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQvcHJvZHVjdC1tYW5hZ2UtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RleHQtZmllbGQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlLCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUHJvZHVjdENhdGVnb3J5U2VydmljZSwgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQcm9kdWN0LCBQcm9kdWN0Q2F0ZWdvcnksIFByb2R1Y3RQcmljZVR5cGUsIFByb2R1Y3RTdGF0dXMsIFByb2R1Y3RUeXBlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBEZWNpbWFsRGlyZWN0aXZlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEtleVZhbHVlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWluZm8nLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIFRleHRGaWVsZE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIFByb2R1Y3RNYW5hZ2VDb250ZW50Q29tcG9uZW50LFxuICAgIERlY2ltYWxEaXJlY3RpdmUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIEtleVZhbHVlUGlwZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLWluZm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtaW5mby5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNYW5hZ2VJbmZvQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb2R1Y3RTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RTZXJ2aWNlKTtcbiAgY2F0ZWdvcnlTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RDYXRlZ29yeVNlcnZpY2UpO1xuICBwcm9kdWN0ITogUHJvZHVjdDtcbiAgc3RhdHVzID0gUHJvZHVjdFN0YXR1cztcbiAgY2F0ZWdvcmllcyE6IFByb2R1Y3RDYXRlZ29yeVtdO1xuICBzZWxlY3RlZENhdGVnb3lJZHMhOiBzdHJpbmdbXTtcbiAgcHJvZHVjdFR5cGUgPSBQcm9kdWN0VHlwZTtcbiAgcHJpY2VUeXBlID0gUHJvZHVjdFByaWNlVHlwZTtcbiAgcHJpY2UgPSBtb2RlbDxzdHJpbmc+KCcwLjAwJyk7XG4gIGRlcG9zaXQgPSBtb2RlbDxzdHJpbmc+KCcnKTtcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pZCA9IHRoaXMucm91dGUucGFyZW50Py5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2lkJykgYXMgc3RyaW5nO1xuICAgIHRoaXMuZmluZCgpO1xuICAgIHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLmZpbmQoe30pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5jYXRlZ29yaWVzID0gcmVzLmRhdGE7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGZpbmQoKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5nZXQodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2R1Y3QgPSByZXMuZGF0YTtcbiAgICAgICAgY29uc3QgcHJpY2UgPSB0aGlzLnByb2R1Y3QucHJpY2UgPyAodGhpcy5wcm9kdWN0LnByaWNlIC8gMTAwKS50b0ZpeGVkKDIpIDogJzAuMDAnO1xuICAgICAgICB0aGlzLnByaWNlLnNldChwcmljZSk7XG4gICAgICAgIGlmICh0aGlzLnByb2R1Y3QucHJpY2VUeXBlPy50b1N0cmluZygpID09PSAnUEFSVElBTCcpIHtcbiAgICAgICAgICBjb25zdCBkZXBvc2l0ID0gKHRoaXMucHJvZHVjdC5kZXBvc2l0IC8gMTAwKS50b0ZpeGVkKDIpO1xuICAgICAgICAgIHRoaXMuZGVwb3NpdC5zZXQoZGVwb3NpdCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZm9ybWF0UHJpY2UodmFsdWU6IG51bWJlcikge1xuICAgIC8vIENvbnZlcnQgdG8gbnVtYmVyIGZpcnN0IGluIGNhc2UgaXQncyBhIHN0cmluZ1xuICAgIHRoaXMucHJvZHVjdC5wcmljZSA9IE51bWJlcihOdW1iZXIodmFsdWUpLnRvRml4ZWQoMikpO1xuICB9XG4gIHR5cGVDb21wYXJlRm4odDE6IGFueSwgdDI6IGFueSkge1xuICAgIHJldHVybiB0MSA9PT0gdDI7XG4gIH1cbiAgcHJpY2VUeXBlQ29tcGFyZUZuKHQxOiBhbnksIHQyOiBhbnkpIHtcbiAgICByZXR1cm4gdDEgPT09IHQyO1xuICB9XG4gIGNvbXBhcmVGbihvMTogUHJvZHVjdENhdGVnb3J5LCBvMjogUHJvZHVjdENhdGVnb3J5KSB7XG4gICAgcmV0dXJuIG8xLmlkID09PSBvMj8uaWQ7XG4gIH1cbiAgb25UeXBlQ2hhbmdlKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpIHtcbiAgICAvLyB0aGlzLnByb2R1Y3QudHlwZSA9IE9iamVjdC5rZXlzKHRoaXMucHJvZHVjdFR5cGUpLmZpbmQoKGtleSkgPT4ge1xuICAgIC8vICAgcmV0dXJuIHRoaXMucHJvZHVjdFR5cGVba2V5XSA9PT0gZXZlbnQudmFsdWU7XG4gICAgLy8gfSkhO1xuICAgIHRoaXMucHJvZHVjdC50eXBlID0gZXZlbnQudmFsdWU7XG4gIH1cbiAgb25DYXRlZ29yeUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3lJZHMgPSBldmVudC52YWx1ZTtcbiAgfVxuICB1cGRhdGUoKSB7XG4gICAgY29uc3QgeyBuYW1lLCBkZXNjcmlwdGlvbiwgdHlwZSwgY2F0ZWdvcmllcywgcHJpY2VUeXBlIH0gPSB0aGlzLnByb2R1Y3Q7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIG5hbWUsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIHR5cGUsXG4gICAgICBjYXRlZ29yaWVzLFxuICAgICAgcHJpY2U6IE51bWJlcih0aGlzLnByaWNlKCkpICogMTAwLFxuICAgICAgcHJpY2VUeXBlLFxuICAgICAgZGVwb3NpdDogTnVtYmVyKHRoaXMuZGVwb3NpdCgpKSAqIDEwMCxcbiAgICB9O1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UudXBkYXRlKHRoaXMuaWQsIGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ1N1Y2Nlc3MnKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbihlLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPHJvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4gIDxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwi5Z+65pys5L+h5oGvXCIgY2xhc3M9XCJoaWRkZW4gbWQ6YmxvY2tcIiBkaXZpZGVyPjwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgQGlmIChwcm9kdWN0KSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cbiAgICAgIDxmb3JtICNwcm9kdWN0Rm9ybT1cIm5nRm9ybVwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIGkxOG4+IFRpdGxlIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwicHJvZHVjdC5uYW1lXCIgbmFtZT1cIm5hbWVcIiByZXF1aXJlZCAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIGkxOG4+IERlc2NyaXB0aW9uIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwicHJvZHVjdC5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgIGNka1RleHRhcmVhQXV0b3NpemVcbiAgICAgICAgICAgIGNka0F1dG9zaXplTWluUm93cz1cIjNcIlxuICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiByZXF1aXJlZD5cbiAgICAgICAgICA8bWF0LWxhYmVsIGkxOG4+VHlwZTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICBuYW1lPVwidHlwZVwiXG4gICAgICAgICAgICBbY29tcGFyZVdpdGhdPVwidHlwZUNvbXBhcmVGblwiXG4gICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uVHlwZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwicHJvZHVjdC50eXBlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAZm9yICh0eXBlIG9mIHByb2R1Y3RUeXBlIHwga2V5dmFsdWU7IHRyYWNrIHR5cGUpIHtcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInR5cGUua2V5XCI+XG4gICAgICAgICAgICAgICAge3sgdHlwZS52YWx1ZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBuZ01vZGVsR3JvdXA9XCJjYXRlZ29yaWVzXCIgcmVxdWlyZWQ+XG4gICAgICAgICAgPG1hdC1sYWJlbCBpMThuPkNhdGVnb3JpZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgbXVsdGlwbGVcbiAgICAgICAgICAgIG5hbWU9XCJpZFwiXG4gICAgICAgICAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUZuXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwicHJvZHVjdC5jYXRlZ29yaWVzXCJcbiAgICAgICAgICAgICNzZWxlY3Q9XCJtYXRTZWxlY3RcIlxuICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNhdGVnb3J5Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgY2F0ZWdvcmllczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiByZXF1aXJlZD5cbiAgICAgICAgICA8bWF0LWxhYmVsIGkxOG4+UHJpY2UgdHlwZTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IG5hbWU9XCJwcmljZVR5cGVcIiBbY29tcGFyZVdpdGhdPVwicHJpY2VUeXBlQ29tcGFyZUZuXCIgWyhuZ01vZGVsKV09XCJwcm9kdWN0LnByaWNlVHlwZVwiPlxuICAgICAgICAgICAgQGZvciAodHlwZSBvZiBwcmljZVR5cGUgfCBrZXl2YWx1ZTsgdHJhY2sgdHlwZSkge1xuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidHlwZS5rZXlcIj5cbiAgICAgICAgICAgICAgICB7eyB0eXBlLnZhbHVlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgaTE4bj4gUHJpY2UgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJwcmljZVwiIG5hbWU9XCJwcmljZVwiIHJlcXVpcmVkIHJvbGF0ZWNoRGVjaW1hbCAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICBAaWYgKHByb2R1Y3QucHJpY2VUeXBlICYmIHByb2R1Y3QucHJpY2VUeXBlLnRvU3RyaW5nKCkgPT09ICdQQVJUSUFMJykge1xuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCBpMThuPiBEZXBvc2l0IDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJkZXBvc2l0XCIgbmFtZT1cImRlcG9zaXRcIiByZXF1aXJlZCByb2xhdGVjaERlY2ltYWwgLz5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICB9XG4gICAgICA8L2Zvcm0+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIChjbGljayk9XCJ1cGRhdGUoKVwiIGkxOG4+U2F2ZTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICB9XG48L3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4iXX0=","import { Component, inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute } from '@angular/router';\nimport { ToolbarComponent, ConfirmationDialogComponent } from '@rolatech/angular-components';\nimport { remove } from 'lodash';\nimport { ProductStatus, ProductType } from '../../../interfaces';\nimport { ProductService } from '@rolatech/angular-services';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport { ProductManageSectionItemComponent } from '../../../components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/icon\";\nexport class ProductManageSectionsComponent {\n constructor() {\n this.route = inject(ActivatedRoute);\n this.productService = inject(ProductService);\n this.dialog = inject(MatDialog);\n this.snackBar = inject(MatSnackBar);\n this.isLoading = false;\n this.isUploading = false;\n this.sections = [];\n this.status = ProductStatus;\n this.productType = ProductType;\n this.id = this.route.parent?.snapshot.paramMap.get('id');\n }\n ngOnInit() {\n this.find();\n }\n find() {\n this.productService.findSections(this.id).subscribe({\n next: (res) => {\n if (res.data) {\n this.sections = res.data;\n }\n },\n });\n }\n addSection() {\n if (!this.sections) {\n this.sections = [];\n }\n this.productService\n .addSection(this.id, {\n title: '',\n description: '',\n content: '',\n media: [],\n })\n .subscribe({\n next: (res) => {\n const section = res.data;\n this.sections.push({\n id: section.id,\n title: 'Untitled',\n description: '',\n media: [],\n });\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n onUploadSectionMedia(event) {\n const section = event.section;\n const sectionId = section.id;\n const file = event.data.target.files[0];\n if (file) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n if (!section.media) {\n section.media = [];\n }\n section.media.push({\n url: reader.result,\n alt: 'upload image',\n });\n section.isUploading = true;\n const formData = new FormData();\n formData.append('file', file);\n this.productService.uploadSectionMedia(sectionId, formData).subscribe({\n next: (res) => {\n this.isUploading = false;\n section.isUploading = false;\n delete res.data.productSection;\n section.media[section.media.length - 1].id = res.data.id;\n section.media[section.media.length - 1].url = res.data.url;\n },\n error: (e) => {\n this.isUploading = false;\n this.snackBar.open('Upload failed: ' + e.message);\n },\n });\n };\n reader.onerror = (error) => {\n this.isUploading = false;\n };\n }\n }\n onDeleteSectionMedia(event) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '400px',\n data: {\n title: '删除图片',\n message: `确定删除吗?`,\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n const section = event.section;\n const mediaId = event.media.id;\n remove(section.media, {\n id: mediaId,\n });\n this.productService.deleteSectionMedia(section.id, mediaId).subscribe({\n next: (res) => {\n // remove(section.media, {\n // id: mediaId,\n // });\n },\n });\n }\n });\n }\n onSectionSave(section) {\n delete section.isUploading;\n this.productService.updateSection(section.id, section).subscribe({\n next: (res) => {\n this.snackBar.open('Success');\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n onSectionDelete(section) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '400px',\n data: {\n title: '删除详情',\n message: '确定删除此详情吗?',\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.productService.deleteSection(section.id).subscribe({\n next: (res) => {\n this.snackBar.open(res.data);\n remove(this.sections, {\n id: section.id,\n });\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageSectionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductManageSectionsComponent, isStandalone: true, selector: \"rolatech-product-manage-sections\", ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Details\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div>\\n <div>\\n @for (section of sections; track section) {\\n <rolatech-product-manage-section-item\\n [section]=\\\"section\\\"\\n (upload)=\\\"onUploadSectionMedia($event)\\\"\\n (deleteMedia)=\\\"onDeleteSectionMedia($event)\\\"\\n (save)=\\\"onSectionSave($event)\\\"\\n (delete)=\\\"onSectionDelete($event)\\\"\\n [actions]=\\\"true\\\"\\n ></rolatech-product-manage-section-item>\\n }\\n </div>\\n <button mat-stroked-button (click)=\\\"addSection()\\\" class=\\\"mt-3\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Add</span>\\n </button>\\n </div>\\n</rolatech-product-manage-content>\\n\", styles: [\"\"], dependencies: [{ kind: \"component\", type: ProductManageSectionItemComponent, selector: \"rolatech-product-manage-section-item\", inputs: [\"isUploading\", \"section\", \"actions\", \"selectMedia\"], outputs: [\"upload\", \"delete\", \"save\", \"deleteMedia\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i2.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageSectionsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-sections', imports: [ProductManageSectionItemComponent, MatButtonModule, MatIconModule, ToolbarComponent, ProductManageContentComponent], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Details\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div>\\n <div>\\n @for (section of sections; track section) {\\n <rolatech-product-manage-section-item\\n [section]=\\\"section\\\"\\n (upload)=\\\"onUploadSectionMedia($event)\\\"\\n (deleteMedia)=\\\"onDeleteSectionMedia($event)\\\"\\n (save)=\\\"onSectionSave($event)\\\"\\n (delete)=\\\"onSectionDelete($event)\\\"\\n [actions]=\\\"true\\\"\\n ></rolatech-product-manage-section-item>\\n }\\n </div>\\n <button mat-stroked-button (click)=\\\"addSection()\\\" class=\\\"mt-3\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Add</span>\\n </button>\\n </div>\\n</rolatech-product-manage-content>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMvcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMvcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RixPQUFPLEVBQWEsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBa0IsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztB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O2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBdEpVLDhCQUE4QjtrR0FBOUIsOEJBQThCLDRGQ25CM0MsNndCQXFCQSwwREROWSxpQ0FBaUMsb01BQUUsZUFBZSxtWEFBRSxhQUFhLG9MQUFFLGdCQUFnQixnSUFBRSw2QkFBNkI7OzJGQUlqSCw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0Usa0NBQWtDLFdBQ25DLENBQUMsaUNBQWlDLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCwgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBmaW5kSW5kZXgsIHJlbW92ZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQcm9kdWN0U2VjdGlvbiwgUHJvZHVjdFN0YXR1cywgUHJvZHVjdFR5cGUgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdWN0LW1hbmFnZS1jb250ZW50L3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1Y3RNYW5hZ2VTZWN0aW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1zZWN0aW9ucycsXG4gIGltcG9ydHM6IFtQcm9kdWN0TWFuYWdlU2VjdGlvbkl0ZW1Db21wb25lbnQsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgVG9vbGJhckNvbXBvbmVudCwgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2Utc2VjdGlvbnMuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWFuYWdlU2VjdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByb2R1Y3RTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RTZXJ2aWNlKTtcbiAgZGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XG4gIHNuYWNrQmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcblxuICBpZDogc3RyaW5nO1xuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgc2VjdGlvbnM6IFByb2R1Y3RTZWN0aW9uW10gPSBbXTtcbiAgc3RhdHVzID0gUHJvZHVjdFN0YXR1cztcbiAgcHJvZHVjdFR5cGU6IGFueSA9IFByb2R1Y3RUeXBlO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmlkID0gdGhpcy5yb3V0ZS5wYXJlbnQ/LnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKSBhcyBzdHJpbmc7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maW5kKCk7XG4gIH1cbiAgZmluZCgpIHtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmZpbmRTZWN0aW9ucyh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLmRhdGEpIHtcbiAgICAgICAgICB0aGlzLnNlY3Rpb25zID0gcmVzLmRhdGE7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgYWRkU2VjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuc2VjdGlvbnMpIHtcbiAgICAgIHRoaXMuc2VjdGlvbnMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZVxuICAgICAgLmFkZFNlY3Rpb24odGhpcy5pZCwge1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgICAgY29udGVudDogJycsXG4gICAgICAgIG1lZGlhOiBbXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2VjdGlvbiA9IHJlcy5kYXRhO1xuICAgICAgICAgIHRoaXMuc2VjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICBpZDogc2VjdGlvbi5pZCxcbiAgICAgICAgICAgIHRpdGxlOiAnVW50aXRsZWQnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICcnLFxuICAgICAgICAgICAgbWVkaWE6IFtdLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oZS5tZXNzYWdlKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG4gIG9uVXBsb2FkU2VjdGlvbk1lZGlhKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBzZWN0aW9uID0gZXZlbnQuc2VjdGlvbjtcbiAgICBjb25zdCBzZWN0aW9uSWQgPSBzZWN0aW9uLmlkO1xuICAgIGNvbnN0IGZpbGUgPSBldmVudC5kYXRhLnRhcmdldC5maWxlc1swXTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgaWYgKCFzZWN0aW9uLm1lZGlhKSB7XG4gICAgICAgICAgc2VjdGlvbi5tZWRpYSA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIChzZWN0aW9uLm1lZGlhIGFzIGFueSkucHVzaCh7XG4gICAgICAgICAgdXJsOiByZWFkZXIucmVzdWx0LFxuICAgICAgICAgIGFsdDogJ3VwbG9hZCBpbWFnZScsXG4gICAgICAgIH0pO1xuICAgICAgICBzZWN0aW9uLmlzVXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UudXBsb2FkU2VjdGlvbk1lZGlhKHNlY3Rpb25JZCwgZm9ybURhdGEpLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICBzZWN0aW9uLmlzVXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICBkZWxldGUgcmVzLmRhdGEucHJvZHVjdFNlY3Rpb247XG4gICAgICAgICAgICBzZWN0aW9uLm1lZGlhW3NlY3Rpb24ubWVkaWEubGVuZ3RoIC0gMV0uaWQgPSByZXMuZGF0YS5pZDtcbiAgICAgICAgICAgIHNlY3Rpb24ubWVkaWFbc2VjdGlvbi5tZWRpYS5sZW5ndGggLSAxXS51cmwgPSByZXMuZGF0YS51cmw7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbignVXBsb2FkIGZhaWxlZDogJyArIGUubWVzc2FnZSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgb25EZWxldGVTZWN0aW9uTWVkaWEoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzQwMHB4JyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdGl0bGU6ICfliKDpmaTlm77niYcnLFxuICAgICAgICBtZXNzYWdlOiBg56Gu5a6a5Yig6Zmk5ZCXP2AsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgY29uc3Qgc2VjdGlvbiA9IGV2ZW50LnNlY3Rpb247XG4gICAgICAgIGNvbnN0IG1lZGlhSWQgPSBldmVudC5tZWRpYS5pZDtcbiAgICAgICAgcmVtb3ZlKHNlY3Rpb24ubWVkaWEsIHtcbiAgICAgICAgICBpZDogbWVkaWFJZCxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZGVsZXRlU2VjdGlvbk1lZGlhKHNlY3Rpb24uaWQsIG1lZGlhSWQpLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAvLyByZW1vdmUoc2VjdGlvbi5tZWRpYSwge1xuICAgICAgICAgICAgLy8gICBpZDogbWVkaWFJZCxcbiAgICAgICAgICAgIC8vIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIG9uU2VjdGlvblNhdmUoc2VjdGlvbjogUHJvZHVjdFNlY3Rpb24pIHtcbiAgICBkZWxldGUgc2VjdGlvbi5pc1VwbG9hZGluZztcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLnVwZGF0ZVNlY3Rpb24oc2VjdGlvbi5pZCwgc2VjdGlvbikuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ1N1Y2Nlc3MnKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKGUubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uU2VjdGlvbkRlbGV0ZShzZWN0aW9uOiBQcm9kdWN0U2VjdGlvbikge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzQwMHB4JyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdGl0bGU6ICfliKDpmaTor6bmg4UnLFxuICAgICAgICBtZXNzYWdlOiAn56Gu5a6a5Yig6Zmk5q2k6K+m5oOF5ZCXPycsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZGVsZXRlU2VjdGlvbihzZWN0aW9uLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKHJlcy5kYXRhKTtcbiAgICAgICAgICAgIHJlbW92ZSh0aGlzLnNlY3Rpb25zLCB7XG4gICAgICAgICAgICAgIGlkOiBzZWN0aW9uLmlkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihlLm1lc3NhZ2UpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtY29udGVudD5cbiAgPHJvbGF0ZWNoLXRvb2xiYXIgdGl0bGU9XCJEZXRhaWxzXCIgY2xhc3M9XCJoaWRkZW4gbWQ6YmxvY2tcIiBkaXZpZGVyPiA8L3JvbGF0ZWNoLXRvb2xiYXI+XG4gIDxkaXY+XG4gICAgPGRpdj5cbiAgICAgIEBmb3IgKHNlY3Rpb24gb2Ygc2VjdGlvbnM7IHRyYWNrIHNlY3Rpb24pIHtcbiAgICAgICAgPHJvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLXNlY3Rpb24taXRlbVxuICAgICAgICAgIFtzZWN0aW9uXT1cInNlY3Rpb25cIlxuICAgICAgICAgICh1cGxvYWQpPVwib25VcGxvYWRTZWN0aW9uTWVkaWEoJGV2ZW50KVwiXG4gICAgICAgICAgKGRlbGV0ZU1lZGlhKT1cIm9uRGVsZXRlU2VjdGlvbk1lZGlhKCRldmVudClcIlxuICAgICAgICAgIChzYXZlKT1cIm9uU2VjdGlvblNhdmUoJGV2ZW50KVwiXG4gICAgICAgICAgKGRlbGV0ZSk9XCJvblNlY3Rpb25EZWxldGUoJGV2ZW50KVwiXG4gICAgICAgICAgW2FjdGlvbnNdPVwidHJ1ZVwiXG4gICAgICAgID48L3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLXNlY3Rpb24taXRlbT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwiYWRkU2VjdGlvbigpXCIgY2xhc3M9XCJtdC0zXCI+XG4gICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuIGkxOG4+QWRkPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvcm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtY29udGVudD5cbiJdfQ==","import { Component, inject } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute } from '@angular/router';\nimport { ConfirmationDialogComponent, ImagePreviewDialogComponent, MediaListComponent, MediaListItemComponent, ToolbarComponent, } from '@rolatech/angular-components';\nimport { findLastIndex } from 'lodash';\nimport { ProductService } from '@rolatech/angular-services';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport { ProductStatus } from '../../../interfaces';\nimport * as i0 from \"@angular/core\";\nconst SIZE = 10 * 1024 * 1024; // file slice size 10MB\nexport class ProductManageMediaComponent {\n // productType: any = ProductType;\n constructor() {\n this.route = inject(ActivatedRoute);\n this.productService = inject(ProductService);\n this.dialog = inject(MatDialog);\n this.snackBar = inject(MatSnackBar);\n this.isUploading = false;\n this.isLoading = false;\n this.media = [];\n this.status = ProductStatus;\n this.id = this.route.parent?.snapshot.paramMap.get('id');\n }\n ngOnInit() {\n this.find();\n }\n find() {\n this.productService.get(this.id).subscribe({\n next: (res) => {\n this.media = res.data.media || [];\n },\n });\n }\n onImageClick(i) {\n const dialogRef = this.dialog.open(ImagePreviewDialogComponent, {\n maxWidth: '80vw',\n maxHeight: '80vh',\n height: '80%',\n width: '80%',\n panelClass: 'full-screen-modal',\n data: {\n media: this.media,\n selected: i,\n },\n });\n dialogRef.afterClosed().subscribe((result) => { });\n }\n createFileChunk(file, size = SIZE) {\n const fileChunkList = [];\n let cur = 0;\n while (cur < file.size) {\n fileChunkList.push({ file: file.slice(cur, cur + size) });\n cur += size;\n }\n return fileChunkList;\n }\n onUploadMedia2(event) {\n const file = event.target.files[0];\n const reader = new FileReader();\n reader.onload = (e) => { };\n const fileChunkList = this.createFileChunk(file);\n fileChunkList.forEach((item) => { });\n }\n onUploadMedia(event) {\n const file = event.target.files[0];\n // 5MB * 1024 * 1024 = 5242880\n // if (file?.size > 5242880) {\n // this.snackBar.open('尺寸过大, 请修改后上传');\n // this.isUploading = false;\n // return;\n // }\n if (file) {\n const reader = new FileReader();\n const formData = new FormData();\n formData.append('file', file);\n reader.readAsDataURL(file);\n reader.onload = () => {\n const img = new Image();\n img.onload = () => {\n this.media.push({\n url: img.src,\n alt: 'upload image',\n width: img.width,\n height: img.height,\n });\n this.isUploading = true;\n };\n img.src = reader.result; // This is the data URL\n };\n this.productService.uploadMedia(this.id, formData).subscribe({\n next: (res) => {\n this.isUploading = false;\n const index = findLastIndex(this.media);\n // Replace item at index using native splice\n this.media.splice(index, 1, res.data);\n },\n error: (e) => {\n this.isUploading = false;\n this.snackBar.open('Upload failed: ' + e.message);\n },\n });\n reader.onerror = (error) => {\n this.isUploading = false;\n };\n }\n }\n onMediaDelete(item) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '400px',\n data: {\n title: '删除图片',\n message: '确定删除这张商品图片吗?',\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.productService.deleteMedia(this.id, item.id).subscribe({\n next: (res) => {\n this.media = this.media.filter((m) => m.id !== item.id);\n this.snackBar.open('Delete successfully');\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageMediaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductManageMediaComponent, isStandalone: true, selector: \"rolatech-product-manage-media\", ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Media info\\\" class=\\\"hidden md:block\\\" divider></rolatech-toolbar>\\n <div>\\n <p i18n>*Limit 5MB per image*</p>\\n <rolatech-media-list (upload)=\\\"onUploadMedia($event)\\\" [isUploading]=\\\"isUploading\\\">\\n @for (item of media; track item; let i = $index) {\\n <rolatech-media-list-item\\n [media]=\\\"item\\\"\\n (mediaItemClick)=\\\"onImageClick(i)\\\"\\n (deleteMedia)=\\\"onMediaDelete(item)\\\"\\n ></rolatech-media-list-item>\\n }\\n </rolatech-media-list>\\n </div>\\n</rolatech-product-manage-content>\\n\", styles: [\"\"], dependencies: [{ kind: \"component\", type: MediaListComponent, selector: \"rolatech-media-list\", inputs: [\"isUploading\", \"media\", \"showAdd\"], outputs: [\"mediaItemClick\", \"upload\"] }, { kind: \"component\", type: MediaListItemComponent, selector: \"rolatech-media-list-item\", inputs: [\"media\", \"uploadProgress\", \"uploading\"], outputs: [\"mediaItemClick\", \"deleteMedia\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageMediaComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-media', imports: [MediaListComponent, MediaListItemComponent, ToolbarComponent, ProductManageContentComponent], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Media info\\\" class=\\\"hidden md:block\\\" divider></rolatech-toolbar>\\n <div>\\n <p i18n>*Limit 5MB per image*</p>\\n <rolatech-media-list (upload)=\\\"onUploadMedia($event)\\\" [isUploading]=\\\"isUploading\\\">\\n @for (item of media; track item; let i = $index) {\\n <rolatech-media-list-item\\n [media]=\\\"item\\\"\\n (mediaItemClick)=\\\"onImageClick(i)\\\"\\n (deleteMedia)=\\\"onMediaDelete(item)\\\"\\n ></rolatech-media-list-item>\\n }\\n </rolatech-media-list>\\n </div>\\n</rolatech-product-manage-content>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtbWVkaWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtbWVkaWEvcHJvZHVjdC1tYW5hZ2UtbWVkaWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtbWVkaWEvcHJvZHVjdC1tYW5hZ2UtbWVkaWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0Isa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsR0FDakIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXBELE1BQU0sSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsdUJBQXVCO0FBUXRELE1BQU0sT0FBTywyQkFBMkI7SUFVdEMsa0NBQWtDO0lBQ2xDO1FBVkEsVUFBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvQixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxXQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixVQUFLLEdBQVksRUFBRSxDQUFDO1FBQ3BCLFdBQU0sR0FBRyxhQUFhLENBQUM7UUFHckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQVcsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN6QyxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDcEMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxZQUFZLENBQUMsQ0FBTTtRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUM5RCxRQUFRLEVBQUUsTUFBTTtZQUNoQixTQUFTLEVBQUUsTUFBTTtZQUNqQixNQUFNLEVBQUUsS0FBSztZQUNiLEtBQUssRUFBRSxLQUFLO1lBQ1osVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixRQUFRLEVBQUUsQ0FBQzthQUNaO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNPLGVBQWUsQ0FBQyxJQUFTLEVBQUUsSUFBSSxHQUFHLElBQUk7UUFDNUMsTUFBTSxhQUFhLEdBQVEsRUFBRSxDQUFDO1FBQzlCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNaLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QixhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUQsR0FBRyxJQUFJLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDdkIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNoQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFMUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsYUFBYSxDQUFDLEtBQVU7UUFDdEIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsOEJBQThCO1FBQzlCLDhCQUE4QjtRQUM5Qix3Q0FBd0M7UUFDeEMsOEJBQThCO1FBQzlCLFlBQVk7UUFDWixJQUFJO1FBRUosSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNoQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUU5QixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNuQixNQUFNLEdBQUcsR0FBUSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUM3QixHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtvQkFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7d0JBQ2QsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHO3dCQUNaLEdBQUcsRUFBRSxjQUFjO3dCQUNuQixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7d0JBQ2hCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtxQkFDbkIsQ0FBQyxDQUFDO29CQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixDQUFDLENBQUM7Z0JBQ0YsR0FBRyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsdUJBQXVCO1lBQ2xELENBQUMsQ0FBQztZQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUMzRCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtvQkFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7b0JBQ3pCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3hDLDRDQUE0QztvQkFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3hDLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQUU7b0JBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO29CQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3BELENBQUM7YUFDRixDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQzNCLENBQUMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBQ0QsYUFBYSxDQUFDLElBQVM7UUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDOUQsS0FBSyxFQUFFLE9BQU87WUFDZCxJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLE1BQU07Z0JBQ2IsT0FBTyxFQUFFLGNBQWM7YUFDeEI7U0FDRixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQzFELElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO3dCQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO29CQUM1QyxDQUFDO29CQUNELEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO3dCQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDaEMsQ0FBQztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQTNIVSwyQkFBMkI7a0dBQTNCLDJCQUEyQix5RkN6QnhDLG9tQkFlQSwwRERNWSxrQkFBa0Isb0pBQUUsc0JBQXNCLG1LQUFFLGdCQUFnQixnSUFBRSw2QkFBNkI7OzJGQUkxRiwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0UsK0JBQStCLFdBQ2hDLENBQUMsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWVkaWEgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LFxuICBJbWFnZVByZXZpZXdEaWFsb2dDb21wb25lbnQsXG4gIE1lZGlhTGlzdENvbXBvbmVudCxcbiAgTWVkaWFMaXN0SXRlbUNvbXBvbmVudCxcbiAgVG9vbGJhckNvbXBvbmVudCxcbn0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBmaW5kTGFzdEluZGV4IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdWN0LW1hbmFnZS1jb250ZW50L3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1Y3RTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuY29uc3QgU0laRSA9IDEwICogMTAyNCAqIDEwMjQ7IC8vIGZpbGUgc2xpY2Ugc2l6ZSAxME1CXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLW1lZGlhJyxcbiAgaW1wb3J0czogW01lZGlhTGlzdENvbXBvbmVudCwgTWVkaWFMaXN0SXRlbUNvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCwgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtbWVkaWEuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtbWVkaWEuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWFuYWdlTWVkaWFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByb2R1Y3RTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RTZXJ2aWNlKTtcbiAgZGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XG4gIHNuYWNrQmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcbiAgaWQ6IHN0cmluZztcbiAgaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgaXNMb2FkaW5nID0gZmFsc2U7XG4gIG1lZGlhOiBNZWRpYVtdID0gW107XG4gIHN0YXR1cyA9IFByb2R1Y3RTdGF0dXM7XG4gIC8vIHByb2R1Y3RUeXBlOiBhbnkgPSBQcm9kdWN0VHlwZTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pZCA9IHRoaXMucm91dGUucGFyZW50Py5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2lkJykgYXMgc3RyaW5nO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmluZCgpO1xuICB9XG4gIGZpbmQoKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5nZXQodGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm1lZGlhID0gcmVzLmRhdGEubWVkaWEgfHwgW107XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uSW1hZ2VDbGljayhpOiBhbnkpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEltYWdlUHJldmlld0RpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgbWF4V2lkdGg6ICc4MHZ3JyxcbiAgICAgIG1heEhlaWdodDogJzgwdmgnLFxuICAgICAgaGVpZ2h0OiAnODAlJyxcbiAgICAgIHdpZHRoOiAnODAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdmdWxsLXNjcmVlbi1tb2RhbCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIG1lZGlhOiB0aGlzLm1lZGlhLFxuICAgICAgICBzZWxlY3RlZDogaSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHt9KTtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZUZpbGVDaHVuayhmaWxlOiBhbnksIHNpemUgPSBTSVpFKSB7XG4gICAgY29uc3QgZmlsZUNodW5rTGlzdDogYW55ID0gW107XG4gICAgbGV0IGN1ciA9IDA7XG4gICAgd2hpbGUgKGN1ciA8IGZpbGUuc2l6ZSkge1xuICAgICAgZmlsZUNodW5rTGlzdC5wdXNoKHsgZmlsZTogZmlsZS5zbGljZShjdXIsIGN1ciArIHNpemUpIH0pO1xuICAgICAgY3VyICs9IHNpemU7XG4gICAgfVxuICAgIHJldHVybiBmaWxlQ2h1bmtMaXN0O1xuICB9XG5cbiAgb25VcGxvYWRNZWRpYTIoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF07XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIub25sb2FkID0gKGUpID0+IHt9O1xuXG4gICAgY29uc3QgZmlsZUNodW5rTGlzdCA9IHRoaXMuY3JlYXRlRmlsZUNodW5rKGZpbGUpO1xuICAgIGZpbGVDaHVua0xpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge30pO1xuICB9XG4gIG9uVXBsb2FkTWVkaWEoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF07XG4gICAgLy8gNU1CICogMTAyNCAqIDEwMjQgPSA1MjQyODgwXG4gICAgLy8gaWYgKGZpbGU/LnNpemUgPiA1MjQyODgwKSB7XG4gICAgLy8gICB0aGlzLnNuYWNrQmFyLm9wZW4oJ+WwuuWvuOi/h+Wkpywg6K+35L+u5pS55ZCO5LiK5LygJyk7XG4gICAgLy8gICB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7XG4gICAgLy8gICByZXR1cm47XG4gICAgLy8gfVxuXG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XG5cbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgaW1nOiBhbnkgPSBuZXcgSW1hZ2UoKTtcbiAgICAgICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICB0aGlzLm1lZGlhLnB1c2goe1xuICAgICAgICAgICAgdXJsOiBpbWcuc3JjLFxuICAgICAgICAgICAgYWx0OiAndXBsb2FkIGltYWdlJyxcbiAgICAgICAgICAgIHdpZHRoOiBpbWcud2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IGltZy5oZWlnaHQsXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmlzVXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICAgICAgaW1nLnNyYyA9IHJlYWRlci5yZXN1bHQ7IC8vIFRoaXMgaXMgdGhlIGRhdGEgVVJMXG4gICAgICB9O1xuICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS51cGxvYWRNZWRpYSh0aGlzLmlkLCBmb3JtRGF0YSkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gZmluZExhc3RJbmRleCh0aGlzLm1lZGlhKTtcbiAgICAgICAgICAvLyBSZXBsYWNlIGl0ZW0gYXQgaW5kZXggdXNpbmcgbmF0aXZlIHNwbGljZVxuICAgICAgICAgIHRoaXMubWVkaWEuc3BsaWNlKGluZGV4LCAxLCByZXMuZGF0YSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbignVXBsb2FkIGZhaWxlZDogJyArIGUubWVzc2FnZSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHJlYWRlci5vbmVycm9yID0gKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH07XG4gICAgfVxuICB9XG4gIG9uTWVkaWFEZWxldGUoaXRlbTogYW55KSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnNDAwcHgnLFxuICAgICAgZGF0YToge1xuICAgICAgICB0aXRsZTogJ+WIoOmZpOWbvueJhycsXG4gICAgICAgIG1lc3NhZ2U6ICfnoa7lrprliKDpmaTov5nlvKDllYblk4Hlm77niYflkJc/JyxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5kZWxldGVNZWRpYSh0aGlzLmlkLCBpdGVtLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWVkaWEgPSB0aGlzLm1lZGlhLmZpbHRlcigobSkgPT4gbS5pZCAhPT0gaXRlbS5pZCk7XG4gICAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ0RlbGV0ZSBzdWNjZXNzZnVsbHknKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKGUubWVzc2FnZSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1jb250ZW50PlxuICA8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIk1lZGlhIGluZm9cIiBjbGFzcz1cImhpZGRlbiBtZDpibG9ja1wiIGRpdmlkZXI+PC9yb2xhdGVjaC10b29sYmFyPlxuICA8ZGl2PlxuICAgIDxwIGkxOG4+KkxpbWl0IDVNQiBwZXIgaW1hZ2UqPC9wPlxuICAgIDxyb2xhdGVjaC1tZWRpYS1saXN0ICh1cGxvYWQpPVwib25VcGxvYWRNZWRpYSgkZXZlbnQpXCIgW2lzVXBsb2FkaW5nXT1cImlzVXBsb2FkaW5nXCI+XG4gICAgICBAZm9yIChpdGVtIG9mIG1lZGlhOyB0cmFjayBpdGVtOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICA8cm9sYXRlY2gtbWVkaWEtbGlzdC1pdGVtXG4gICAgICAgICAgW21lZGlhXT1cIml0ZW1cIlxuICAgICAgICAgIChtZWRpYUl0ZW1DbGljayk9XCJvbkltYWdlQ2xpY2soaSlcIlxuICAgICAgICAgIChkZWxldGVNZWRpYSk9XCJvbk1lZGlhRGVsZXRlKGl0ZW0pXCJcbiAgICAgICAgPjwvcm9sYXRlY2gtbWVkaWEtbGlzdC1pdGVtPlxuICAgICAgfVxuICAgIDwvcm9sYXRlY2gtbWVkaWEtbGlzdD5cbiAgPC9kaXY+XG48L3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4iXX0=","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class ProductManagePricingComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManagePricingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: ProductManagePricingComponent, isStandalone: true, selector: \"rolatech-product-manage-pricing\", ngImport: i0, template: \"<p>product-manage-pricing works!</p>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManagePricingComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-pricing', imports: [CommonModule], template: \"<p>product-manage-pricing works!</p>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtcHJpY2luZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0LW1hbmFnZS9wcm9kdWN0LW1hbmFnZS1wcmljaW5nL3Byb2R1Y3QtbWFuYWdlLXByaWNpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtcHJpY2luZy9wcm9kdWN0LW1hbmFnZS1wcmljaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVEvQyxNQUFNLE9BQU8sNkJBQTZCOzhHQUE3Qiw2QkFBNkI7a0dBQTdCLDZCQUE2QiwyRkNUMUMsd0NBQ0EseURESVksWUFBWTs7MkZBSVgsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNFLGlDQUFpQyxXQUNsQyxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtcHJpY2luZycsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtcHJpY2luZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS1wcmljaW5nLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZVByaWNpbmdDb21wb25lbnQge31cbiIsIjxwPnByb2R1Y3QtbWFuYWdlLXByaWNpbmcgd29ya3MhPC9wPlxuIl19","import { Component, input, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ProductStatus } from '../../../interfaces';\nimport { ImagePlaceholderComponent, ThumbnailComponent } from '@rolatech/angular-components';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIcon } from '@angular/material/icon';\nimport { FixedPipe } from '@rolatech/angular-common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/menu\";\nexport class ProductManageItemComponent {\n constructor() {\n this.product = input.required(...(ngDevMode ? [{ debugName: \"product\" }] : []));\n this.thumbnail = input(...(ngDevMode ? [undefined, { debugName: \"thumbnail\" }] : []));\n this.status = ProductStatus;\n }\n publish() { }\n archived() { }\n delete() { }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductManageItemComponent, isStandalone: true, selector: \"rolatech-product-manage-item\", inputs: { product: { classPropertyName: \"product\", publicName: \"product\", isSignal: true, isRequired: true, transformFunction: null }, thumbnail: { classPropertyName: \"thumbnail\", publicName: \"thumbnail\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<div class=\\\"flex p-3 items-center hover:bg-[--rt-raised-background] cursor-pointer\\\">\\n <div>\\n @if (product().media) {\\n <div class=\\\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\\\">\\n @defer (on viewport()) {\\n <rolatech-thumbnail [src]=\\\"product().media[0].url + '!w400'\\\" size=\\\"medium\\\" mode=\\\"full\\\"> </rolatech-thumbnail>\\n } @placeholder {\\n <div class=\\\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\\\"></div>\\n }\\n </div>\\n } @else {\\n <div class=\\\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\\\">\\n <rolatech-image-placeholder></rolatech-image-placeholder>\\n </div>\\n }\\n </div>\\n <div class=\\\"px-3\\\">\\n {{ product().name }}\\n </div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"px-3 min-w-28 w-28\\\">\\n {{ status[product().status] }}\\n </div>\\n <div class=\\\"px-3 min-w-28 w-28\\\">\\u00A5{{ product().price | fixed }}</div>\\n <div class=\\\"pr-4\\\">\\n <button\\n mat-icon-button\\n [matMenuTriggerFor]=\\\"menu\\\"\\n aria-label=\\\"Example icon-button with a menu\\\"\\n (click)=\\\"$event.stopPropagation()\\\"\\n >\\n <mat-icon>more_vert</mat-icon>\\n </button>\\n <mat-menu #menu=\\\"matMenu\\\" xPosition=\\\"before\\\">\\n @if (product().status === 'DRAFT') {\\n <button mat-menu-item (click)=\\\"publish()\\\">\\n <span i18n> Publish </span>\\n </button>\\n }\\n @if (product().status === 'STARTED') {\\n <button mat-menu-item (click)=\\\"archived()\\\">\\n <span i18n> Archive </span>\\n </button>\\n }\\n @if (product().status !== 'ACTIVE') {\\n <button mat-menu-item (click)=\\\"delete()\\\">\\n <span i18n> Delete </span>\\n </button>\\n }\\n </mat-menu>\\n </div>\\n</div>\\n<div class=\\\"h-[1px] px-3 bg-[--rt-raised-background]\\\"></div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"component\", type: ImagePlaceholderComponent, selector: \"rolatech-image-placeholder\", inputs: [\"ratio\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatMenuModule }, { kind: \"component\", type: i2.MatMenu, selector: \"mat-menu\", inputs: [\"backdropClass\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"xPosition\", \"yPosition\", \"overlapTrigger\", \"hasBackdrop\", \"class\", \"classList\"], outputs: [\"closed\", \"close\"], exportAs: [\"matMenu\"] }, { kind: \"component\", type: i2.MatMenuItem, selector: \"[mat-menu-item]\", inputs: [\"role\", \"disabled\", \"disableRipple\"], exportAs: [\"matMenuItem\"] }, { kind: \"directive\", type: i2.MatMenuTrigger, selector: \"[mat-menu-trigger-for], [matMenuTriggerFor]\", inputs: [\"mat-menu-trigger-for\", \"matMenuTriggerFor\", \"matMenuTriggerData\", \"matMenuTriggerRestoreFocus\"], outputs: [\"menuOpened\", \"onMenuOpen\", \"menuClosed\", \"onMenuClose\"], exportAs: [\"matMenuTrigger\"] }, { kind: \"component\", type: MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"pipe\", type: FixedPipe, name: \"fixed\" }], encapsulation: i0.ViewEncapsulation.None, deferBlockDependencies: [() => [ThumbnailComponent]] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-item', imports: [CommonModule, ThumbnailComponent, ImagePlaceholderComponent, MatButtonModule, MatMenuModule, MatIcon, FixedPipe], encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"flex p-3 items-center hover:bg-[--rt-raised-background] cursor-pointer\\\">\\n <div>\\n @if (product().media) {\\n <div class=\\\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\\\">\\n @defer (on viewport()) {\\n <rolatech-thumbnail [src]=\\\"product().media[0].url + '!w400'\\\" size=\\\"medium\\\" mode=\\\"full\\\"> </rolatech-thumbnail>\\n } @placeholder {\\n <div class=\\\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\\\"></div>\\n }\\n </div>\\n } @else {\\n <div class=\\\"min-w-24 w-36 object-cover aspect-video rounded-lg mr-3\\\">\\n <rolatech-image-placeholder></rolatech-image-placeholder>\\n </div>\\n }\\n </div>\\n <div class=\\\"px-3\\\">\\n {{ product().name }}\\n </div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"px-3 min-w-28 w-28\\\">\\n {{ status[product().status] }}\\n </div>\\n <div class=\\\"px-3 min-w-28 w-28\\\">\\u00A5{{ product().price | fixed }}</div>\\n <div class=\\\"pr-4\\\">\\n <button\\n mat-icon-button\\n [matMenuTriggerFor]=\\\"menu\\\"\\n aria-label=\\\"Example icon-button with a menu\\\"\\n (click)=\\\"$event.stopPropagation()\\\"\\n >\\n <mat-icon>more_vert</mat-icon>\\n </button>\\n <mat-menu #menu=\\\"matMenu\\\" xPosition=\\\"before\\\">\\n @if (product().status === 'DRAFT') {\\n <button mat-menu-item (click)=\\\"publish()\\\">\\n <span i18n> Publish </span>\\n </button>\\n }\\n @if (product().status === 'STARTED') {\\n <button mat-menu-item (click)=\\\"archived()\\\">\\n <span i18n> Archive </span>\\n </button>\\n }\\n @if (product().status !== 'ACTIVE') {\\n <button mat-menu-item (click)=\\\"delete()\\\">\\n <span i18n> Delete </span>\\n </button>\\n }\\n </mat-menu>\\n </div>\\n</div>\\n<div class=\\\"h-[1px] px-3 bg-[--rt-raised-background]\\\"></div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0LW1hbmFnZS9wcm9kdWN0LW1hbmFnZS1pdGVtL3Byb2R1Y3QtbWFuYWdlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaXRlbS9wcm9kdWN0LW1hbmFnZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQVcsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBU3JELE1BQU0sT0FBTywwQkFBMEI7SUFQdkM7UUFRRSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsa0RBQVcsQ0FBQztRQUNwQyxjQUFTLEdBQUcsS0FBSywrREFBRSxDQUFDO1FBQ3BCLFdBQU0sR0FBRyxhQUFhLENBQUM7S0FJeEI7SUFIQyxPQUFPLEtBQUksQ0FBQztJQUNaLFFBQVEsS0FBSSxDQUFDO0lBQ2IsTUFBTSxLQUFJLENBQUM7OEdBTkEsMEJBQTBCO2tHQUExQiwwQkFBMEIscVdDaEJ2QywyMURBcURBLHlERDFDWSxZQUFZLCtCQUFzQix5QkFBeUIseUZBQUUsZUFBZSxxTkFBRSxhQUFhLDh2QkFBRSxPQUFPLHNJQUFFLFNBQVMsOEZBQWpHLGtCQUFrQjs7MkZBSy9CLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDRSw4QkFBOEIsV0FDL0IsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLGlCQUczRyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQcm9kdWN0LCBQcm9kdWN0U3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJbWFnZVBsYWNlaG9sZGVyQ29tcG9uZW50LCBUaHVtYm5haWxDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBGaXhlZFBpcGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1pdGVtJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGh1bWJuYWlsQ29tcG9uZW50LCBJbWFnZVBsYWNlaG9sZGVyQ29tcG9uZW50LCBNYXRCdXR0b25Nb2R1bGUsIE1hdE1lbnVNb2R1bGUsIE1hdEljb24sIEZpeGVkUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLWl0ZW0uY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWFuYWdlSXRlbUNvbXBvbmVudCB7XG4gIHByb2R1Y3QgPSBpbnB1dC5yZXF1aXJlZDxQcm9kdWN0PigpO1xuICB0aHVtYm5haWwgPSBpbnB1dCgpO1xuICBzdGF0dXMgPSBQcm9kdWN0U3RhdHVzO1xuICBwdWJsaXNoKCkge31cbiAgYXJjaGl2ZWQoKSB7fVxuICBkZWxldGUoKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggcC0zIGl0ZW1zLWNlbnRlciBob3ZlcjpiZy1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gY3Vyc29yLXBvaW50ZXJcIj5cbiAgPGRpdj5cbiAgICBAaWYgKHByb2R1Y3QoKS5tZWRpYSkge1xuICAgICAgPGRpdiBjbGFzcz1cIm1pbi13LTI0IHctMzYgb2JqZWN0LWNvdmVyIGFzcGVjdC12aWRlbyByb3VuZGVkLWxnIG1yLTNcIj5cbiAgICAgICAgQGRlZmVyIChvbiB2aWV3cG9ydCgpKSB7XG4gICAgICAgICAgPHJvbGF0ZWNoLXRodW1ibmFpbCBbc3JjXT1cInByb2R1Y3QoKS5tZWRpYVswXS51cmwgKyAnIXc0MDAnXCIgc2l6ZT1cIm1lZGl1bVwiIG1vZGU9XCJmdWxsXCI+IDwvcm9sYXRlY2gtdGh1bWJuYWlsPlxuICAgICAgICB9IEBwbGFjZWhvbGRlciB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXSBoLWZ1bGwgdy1mdWxsIG9iamVjdC1jb3ZlciBhc3BlY3QtdmlkZW8gcm91bmRlZC1sZ1wiPjwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJtaW4tdy0yNCB3LTM2IG9iamVjdC1jb3ZlciBhc3BlY3QtdmlkZW8gcm91bmRlZC1sZyBtci0zXCI+XG4gICAgICAgIDxyb2xhdGVjaC1pbWFnZS1wbGFjZWhvbGRlcj48L3JvbGF0ZWNoLWltYWdlLXBsYWNlaG9sZGVyPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInB4LTNcIj5cbiAgICB7eyBwcm9kdWN0KCkubmFtZSB9fVxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXgtMVwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHgtMyBtaW4tdy0yOCB3LTI4XCI+XG4gICAge3sgc3RhdHVzW3Byb2R1Y3QoKS5zdGF0dXNdIH19XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHgtMyBtaW4tdy0yOCB3LTI4XCI+wqV7eyBwcm9kdWN0KCkucHJpY2UgfCBmaXhlZCB9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHItNFwiPlxuICAgIDxidXR0b25cbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuICAgICAgYXJpYS1sYWJlbD1cIkV4YW1wbGUgaWNvbi1idXR0b24gd2l0aCBhIG1lbnVcIlxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxuICAgICAgQGlmIChwcm9kdWN0KCkuc3RhdHVzID09PSAnRFJBRlQnKSB7XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicHVibGlzaCgpXCI+XG4gICAgICAgICAgPHNwYW4gaTE4bj4gUHVibGlzaCA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgQGlmIChwcm9kdWN0KCkuc3RhdHVzID09PSAnU1RBUlRFRCcpIHtcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJhcmNoaXZlZCgpXCI+XG4gICAgICAgICAgPHNwYW4gaTE4bj4gQXJjaGl2ZSA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgQGlmIChwcm9kdWN0KCkuc3RhdHVzICE9PSAnQUNUSVZFJykge1xuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImRlbGV0ZSgpXCI+XG4gICAgICAgICAgPHNwYW4gaTE4bj4gRGVsZXRlIDwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9tYXQtbWVudT5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJoLVsxcHhdIHB4LTMgYmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdXCI+PC9kaXY+XG4iXX0=","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class ProductManageItemHeaderComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageItemHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: ProductManageItemHeaderComponent, isStandalone: true, selector: \"rolatech-product-manage-item-header\", ngImport: i0, template: \"<div class=\\\"flex h-11 items-center\\\">\\n <div class=\\\"text-md font-bold px-3 min-w-[320px]\\\" i18n>Product</div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"text-md font-bold px-3 w-28\\\" i18n>Status</div>\\n <div class=\\\"text-md font-bold px-3 w-28\\\" i18n>Price</div>\\n <div class=\\\"text-md px-3 w-16\\\"></div>\\n</div>\\n<div class=\\\"h-[1px] px-3 bg-[--rt-raised-background]\\\"></div>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageItemHeaderComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-item-header', imports: [CommonModule], template: \"<div class=\\\"flex h-11 items-center\\\">\\n <div class=\\\"text-md font-bold px-3 min-w-[320px]\\\" i18n>Product</div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"text-md font-bold px-3 w-28\\\" i18n>Status</div>\\n <div class=\\\"text-md font-bold px-3 w-28\\\" i18n>Price</div>\\n <div class=\\\"text-md px-3 w-16\\\"></div>\\n</div>\\n<div class=\\\"h-[1px] px-3 bg-[--rt-raised-background]\\\"></div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIvcHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIvcHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUS9DLE1BQU0sT0FBTyxnQ0FBZ0M7OEdBQWhDLGdDQUFnQztrR0FBaEMsZ0NBQWdDLCtGQ1Q3QyxzWUFRQSx5RERIWSxZQUFZOzsyRkFJWCxnQ0FBZ0M7a0JBTjVDLFNBQVM7K0JBQ0UscUNBQXFDLFdBQ3RDLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1pdGVtLWhlYWRlcicsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtaXRlbS1oZWFkZXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWFuYWdlSXRlbUhlYWRlckNvbXBvbmVudCB7fVxuIiwiPGRpdiBjbGFzcz1cImZsZXggaC0xMSBpdGVtcy1jZW50ZXJcIj5cbiAgPGRpdiBjbGFzcz1cInRleHQtbWQgZm9udC1ib2xkIHB4LTMgbWluLXctWzMyMHB4XVwiIGkxOG4+UHJvZHVjdDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleC0xXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIGZvbnQtYm9sZCBweC0zIHctMjhcIiBpMThuPlN0YXR1czwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBmb250LWJvbGQgcHgtMyB3LTI4XCIgaTE4bj5QcmljZTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBweC0zIHctMTZcIj48L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImgtWzFweF0gcHgtMyBiZy1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF1cIj48L2Rpdj5cbiJdfQ==","import { Component, inject, viewChild } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule, MatPaginator } from '@angular/material/paginator';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatTableModule, MatTableDataSource } from '@angular/material/table';\nimport { RouterLink } from '@angular/router';\nimport { ToolbarComponent, SpinnerComponent, ConfirmationDialogComponent } from '@rolatech/angular-components';\nimport { ProductService } from '@rolatech/angular-services';\nimport { ProductStatus } from '../../../interfaces';\nimport { ProductManageItemComponent } from '../product-manage-item/product-manage-item.component';\nimport { ProductManageItemHeaderComponent } from '../product-manage-item-header/product-manage-item-header.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/icon\";\nimport * as i3 from \"@angular/material/paginator\";\nexport class ProductManageIndexComponent {\n constructor() {\n this.paginator = viewChild(MatPaginator, ...(ngDevMode ? [{ debugName: \"paginator\" }] : []));\n this.dialog = inject(MatDialog);\n this.snackBar = inject(MatSnackBar);\n this.productService = inject(ProductService);\n this.isLoading = false;\n this.isSearch = false;\n this.length = 100;\n this.pageSize = 15;\n this.pageSizeOptions = [5, 10, 25, 100];\n this.dataSource = new MatTableDataSource();\n this.products = [];\n this.displayedColumns = ['name', 'status', 'createdAt', 'actions'];\n this.orderOptions = [\n {\n key: 'createdAt',\n value: '创建时间',\n icon: 'arrow_upward',\n sort: 'asc',\n },\n {\n key: 'createdAt',\n value: '创建时间',\n icon: 'arrow_downward',\n sort: 'desc',\n },\n {\n key: 'status',\n value: '状态',\n icon: 'arrow_upward',\n sort: 'asc',\n },\n {\n key: 'status',\n value: '状态',\n icon: 'arrow_downward',\n sort: 'desc',\n },\n ];\n this.status = ProductStatus;\n this.orderString = 'createdAt desc';\n }\n ngOnInit() {\n this.find(null);\n }\n find(event) {\n this.isLoading = true;\n const page = event ? event.pageIndex + 1 : 1;\n const limit = event ? event.pageSize : 15;\n const sort = this.orderString;\n const options = {\n page,\n limit,\n sort,\n };\n this.productService.me(options).subscribe({\n next: (res) => {\n this.products = res.data;\n // this.dataSource.data = this.products;\n this.length = res.meta.pagination.count;\n this.isLoading = false;\n },\n error: (e) => {\n this.isLoading = false;\n this.snackBar.open(e.message);\n },\n });\n }\n archived(product) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '400px',\n data: {\n title: '商品下架',\n message: `确定下架 ${product.name} 吗?`,\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.productService.archived(product.id).subscribe({\n next: (res) => {\n const index = this.products.findIndex((item) => item.id === product.id);\n const status = ProductStatus[ProductStatus.ARCHIVED];\n this.products[index].status = status;\n this.snackBar.open('结束成功');\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n });\n }\n delete(product) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '400px',\n data: {\n title: '删除商品',\n message: `确定删除 ${product.name} 吗?`,\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.productService.delete(product.id).subscribe({\n next: (res) => {\n const index = this.products.findIndex((item) => item.id === product.id);\n this.products.splice(index, 1);\n this.dataSource.data = this.products;\n this.length--;\n this.snackBar.open('Delete successfully');\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductManageIndexComponent, isStandalone: true, selector: \"rolatech-product-manage-index\", viewQueries: [{ propertyName: \"paginator\", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], ngImport: i0, template: \"<rolatech-toolbar title=\\\"Products\\\">\\n <div class=\\\"flex items-center gap-2\\\">\\n <button mat-flat-button routerLink=\\\"./create\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Create</span>\\n </button>\\n </div>\\n</rolatech-toolbar>\\n@if (isLoading) {\\n <div class=\\\"flex justify-center items-center\\\">\\n <rolatech-spinner></rolatech-spinner>\\n </div>\\n} @else {\\n <rolatech-product-manage-item-header></rolatech-product-manage-item-header>\\n @for (item of products; track $index) {\\n <rolatech-product-manage-item [product]=\\\"item\\\" routerLink=\\\"./{{ item.id }}/manage/info\\\"></rolatech-product-manage-item>\\n }\\n <mat-paginator\\n #paginator\\n [length]=\\\"length\\\"\\n [pageSize]=\\\"pageSize\\\"\\n [pageSizeOptions]=\\\"pageSizeOptions\\\"\\n (page)=\\\"pageEvent = find($event)\\\"\\n hidePageSize\\n showFirstLastButtons\\n >\\n </mat-paginator>\\n}\\n\", styles: [\"mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;max-width:64px;font-size:.8rem;padding:0 8px}.mat-mdc-header-cell.actions{text-align:right;max-width:64px;width:64px}.mat-mdc-cell:nth-last-child(2),.mat-mdc-header-cell:nth-last-child(2),.mat-mdc-footer-cell:nth-last-child(2){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.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: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i2.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatTableModule }, { kind: \"ngmodule\", type: MatMenuModule }, { kind: \"ngmodule\", type: MatPaginatorModule }, { kind: \"component\", type: i3.MatPaginator, selector: \"mat-paginator\", inputs: [\"color\", \"pageIndex\", \"length\", \"pageSize\", \"pageSizeOptions\", \"hidePageSize\", \"showFirstLastButtons\", \"selectConfig\", \"disabled\"], outputs: [\"page\"], exportAs: [\"matPaginator\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: SpinnerComponent, selector: \"rolatech-spinner\", inputs: [\"title\"] }, { kind: \"component\", type: ProductManageItemComponent, selector: \"rolatech-product-manage-item\", inputs: [\"product\", \"thumbnail\"] }, { kind: \"component\", type: ProductManageItemHeaderComponent, selector: \"rolatech-product-manage-item-header\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageIndexComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-index', imports: [\n MatButtonModule,\n RouterLink,\n MatIconModule,\n MatTableModule,\n MatMenuModule,\n MatPaginatorModule,\n ToolbarComponent,\n SpinnerComponent,\n ProductManageItemComponent,\n ProductManageItemHeaderComponent,\n ], template: \"<rolatech-toolbar title=\\\"Products\\\">\\n <div class=\\\"flex items-center gap-2\\\">\\n <button mat-flat-button routerLink=\\\"./create\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Create</span>\\n </button>\\n </div>\\n</rolatech-toolbar>\\n@if (isLoading) {\\n <div class=\\\"flex justify-center items-center\\\">\\n <rolatech-spinner></rolatech-spinner>\\n </div>\\n} @else {\\n <rolatech-product-manage-item-header></rolatech-product-manage-item-header>\\n @for (item of products; track $index) {\\n <rolatech-product-manage-item [product]=\\\"item\\\" routerLink=\\\"./{{ item.id }}/manage/info\\\"></rolatech-product-manage-item>\\n }\\n <mat-paginator\\n #paginator\\n [length]=\\\"length\\\"\\n [pageSize]=\\\"pageSize\\\"\\n [pageSizeOptions]=\\\"pageSizeOptions\\\"\\n (page)=\\\"pageEvent = find($event)\\\"\\n hidePageSize\\n showFirstLastButtons\\n >\\n </mat-paginator>\\n}\\n\", styles: [\"mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;max-width:64px;font-size:.8rem;padding:0 8px}.mat-mdc-header-cell.actions{text-align:right;max-width:64px;width:64px}.mat-mdc-cell:nth-last-child(2),.mat-mdc-header-cell:nth-last-child(2),.mat-mdc-footer-cell:nth-last-child(2){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaW5kZXgvcHJvZHVjdC1tYW5hZ2UtaW5kZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaW5kZXgvcHJvZHVjdC1tYW5hZ2UtaW5kZXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0csT0FBTyxFQUFFLGNBQWMsRUFB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Q1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNoQyxDQUFDO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBekhVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLG9JQUNoQixZQUFZLGdFQ2pDcEMsbTNCQTRCQSwwaEJEVkksZUFBZSxvWEFDZixVQUFVLG1PQUNWLGFBQWEsbUxBQ2IsY0FBYyw4QkFDZCxhQUFhLDhCQUNiLGtCQUFrQixvU0FDbEIsZ0JBQWdCLGdJQUNoQixnQkFBZ0IsZ0ZBQ2hCLDBCQUEwQiwyR0FDMUIsZ0NBQWdDOzsyRkFLdkIsMkJBQTJCO2tCQWpCdkMsU0FBUzsrQkFDRSwrQkFBK0IsV0FDaEM7d0JBQ1AsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLDBCQUEwQjt3QkFDMUIsZ0NBQWdDO3FCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUsIE1hdFBhZ2luYXRvciwgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlLCBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQsIFNwaW5uZXJDb21wb25lbnQsIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQcm9kdWN0LCBQcm9kdWN0U3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL3Byb2R1Y3QtbWFuYWdlLWl0ZW0vcHJvZHVjdC1tYW5hZ2UtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHVjdE1hbmFnZUl0ZW1IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdWN0LW1hbmFnZS1pdGVtLWhlYWRlci9wcm9kdWN0LW1hbmFnZS1pdGVtLWhlYWRlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1pbmRleCcsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgUm91dGVyTGluayxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICBQcm9kdWN0TWFuYWdlSXRlbUNvbXBvbmVudCxcbiAgICBQcm9kdWN0TWFuYWdlSXRlbUhlYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLWluZGV4LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLWluZGV4LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZUluZGV4Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcGFnaW5hdG9yID0gdmlld0NoaWxkKE1hdFBhZ2luYXRvcik7XG4gIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuICBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG4gIHByb2R1Y3RTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RTZXJ2aWNlKTtcbiAgaXNMb2FkaW5nID0gZmFsc2U7XG4gIGlzU2VhcmNoID0gZmFsc2U7XG4gIHBhZ2VFdmVudCE6IFBhZ2VFdmVudDtcbiAgbGVuZ3RoID0gMTAwO1xuICBwYWdlU2l6ZSA9IDE1O1xuICBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdID0gWzUsIDEwLCAyNSwgMTAwXTtcbiAgZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2U8YW55PigpO1xuICBwcm9kdWN0czogUHJvZHVjdFtdID0gW107XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gWyduYW1lJywgJ3N0YXR1cycsICdjcmVhdGVkQXQnLCAnYWN0aW9ucyddO1xuICBvcmRlck9wdGlvbnMgPSBbXG4gICAge1xuICAgICAga2V5OiAnY3JlYXRlZEF0JyxcbiAgICAgIHZhbHVlOiAn5Yib5bu65pe26Ze0JyxcbiAgICAgIGljb246ICdhcnJvd191cHdhcmQnLFxuICAgICAgc29ydDogJ2FzYycsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdjcmVhdGVkQXQnLFxuICAgICAgdmFsdWU6ICfliJvlu7rml7bpl7QnLFxuICAgICAgaWNvbjogJ2Fycm93X2Rvd253YXJkJyxcbiAgICAgIHNvcnQ6ICdkZXNjJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ3N0YXR1cycsXG4gICAgICB2YWx1ZTogJ+eKtuaAgScsXG4gICAgICBpY29uOiAnYXJyb3dfdXB3YXJkJyxcbiAgICAgIHNvcnQ6ICdhc2MnLFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnc3RhdHVzJyxcbiAgICAgIHZhbHVlOiAn54q25oCBJyxcbiAgICAgIGljb246ICdhcnJvd19kb3dud2FyZCcsXG4gICAgICBzb3J0OiAnZGVzYycsXG4gICAgfSxcbiAgXTtcbiAgc3RhdHVzOiBhbnkgPSBQcm9kdWN0U3RhdHVzO1xuICBvcmRlclN0cmluZyA9ICdjcmVhdGVkQXQgZGVzYyc7XG4gIGNsYXNzcm9vbXM6IGFueTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmQobnVsbCk7XG4gIH1cbiAgZmluZChldmVudD86IFBhZ2VFdmVudCB8IG51bGwpOiBhbnkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBwYWdlID0gZXZlbnQgPyBldmVudC5wYWdlSW5kZXggKyAxIDogMTtcbiAgICBjb25zdCBsaW1pdCA9IGV2ZW50ID8gZXZlbnQucGFnZVNpemUgOiAxNTtcbiAgICBjb25zdCBzb3J0ID0gdGhpcy5vcmRlclN0cmluZztcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcGFnZSxcbiAgICAgIGxpbWl0LFxuICAgICAgc29ydCxcbiAgICB9O1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UubWUob3B0aW9ucykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2R1Y3RzID0gcmVzLmRhdGE7XG4gICAgICAgIC8vIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5wcm9kdWN0cztcbiAgICAgICAgdGhpcy5sZW5ndGggPSByZXMubWV0YS5wYWdpbmF0aW9uLmNvdW50O1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oZS5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBhcmNoaXZlZChwcm9kdWN0OiBhbnkpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHRpdGxlOiAn5ZWG5ZOB5LiL5p62JyxcbiAgICAgICAgbWVzc2FnZTogYOehruWumuS4i+aetiAke3Byb2R1Y3QubmFtZX0g5ZCXP2AsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5hcmNoaXZlZChwcm9kdWN0LmlkKS5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wcm9kdWN0cy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IHByb2R1Y3QuaWQpO1xuICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0gUHJvZHVjdFN0YXR1c1tQcm9kdWN0U3RhdHVzLkFSQ0hJVkVEXTtcbiAgICAgICAgICAgIHRoaXMucHJvZHVjdHNbaW5kZXhdLnN0YXR1cyA9IHN0YXR1cztcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3Blbign57uT5p2f5oiQ5YqfJyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihlLm1lc3NhZ2UpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIGRlbGV0ZShwcm9kdWN0OiBQcm9kdWN0KSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnNDAwcHgnLFxuICAgICAgZGF0YToge1xuICAgICAgICB0aXRsZTogJ+WIoOmZpOWVhuWTgScsXG4gICAgICAgIG1lc3NhZ2U6IGDnoa7lrprliKDpmaQgJHtwcm9kdWN0Lm5hbWV9IOWQlz9gLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZGVsZXRlKHByb2R1Y3QuaWQpLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnByb2R1Y3RzLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gcHJvZHVjdC5pZCk7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHRoaXMucHJvZHVjdHM7XG4gICAgICAgICAgICB0aGlzLmxlbmd0aC0tO1xuICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdEZWxldGUgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihlLm1lc3NhZ2UpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIlByb2R1Y3RzXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIHJvdXRlckxpbms9XCIuL2NyZWF0ZVwiPlxuICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICA8c3BhbiBpMThuPkNyZWF0ZTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L3JvbGF0ZWNoLXRvb2xiYXI+XG5AaWYgKGlzTG9hZGluZykge1xuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIj5cbiAgICA8cm9sYXRlY2gtc3Bpbm5lcj48L3JvbGF0ZWNoLXNwaW5uZXI+XG4gIDwvZGl2PlxufSBAZWxzZSB7XG4gIDxyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1pdGVtLWhlYWRlcj48L3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWl0ZW0taGVhZGVyPlxuICBAZm9yIChpdGVtIG9mIHByb2R1Y3RzOyB0cmFjayAkaW5kZXgpIHtcbiAgICA8cm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtaXRlbSBbcHJvZHVjdF09XCJpdGVtXCIgcm91dGVyTGluaz1cIi4ve3sgaXRlbS5pZCB9fS9tYW5hZ2UvaW5mb1wiPjwvcm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtaXRlbT5cbiAgfVxuICA8bWF0LXBhZ2luYXRvclxuICAgICNwYWdpbmF0b3JcbiAgICBbbGVuZ3RoXT1cImxlbmd0aFwiXG4gICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgICBbcGFnZVNpemVPcHRpb25zXT1cInBhZ2VTaXplT3B0aW9uc1wiXG4gICAgKHBhZ2UpPVwicGFnZUV2ZW50ID0gZmluZCgkZXZlbnQpXCJcbiAgICBoaWRlUGFnZVNpemVcbiAgICBzaG93Rmlyc3RMYXN0QnV0dG9uc1xuICA+XG4gIDwvbWF0LXBhZ2luYXRvcj5cbn1cbiJdfQ==","import { Component, inject } from '@angular/core';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { ToolbarComponent } from '@rolatech/angular-components';\nimport { ProductService } from '@rolatech/angular-services';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/form-field\";\nimport * as i3 from \"@angular/material/input\";\nimport * as i4 from \"@angular/cdk/text-field\";\nimport * as i5 from \"@angular/material/button\";\nexport class ProductManageCreateComponent {\n constructor() {\n this.productService = inject(ProductService);\n this.router = inject(Router);\n this.route = inject(ActivatedRoute);\n this.snackBar = inject(MatSnackBar);\n this.product = {};\n }\n create() {\n const data = {\n ...this.product,\n // classroom: this.selectedClassroom,\n };\n this.productService.create(data).subscribe({\n next: (res) => {\n this.router.navigate([`../${res.data.id}/manage/info`], {\n relativeTo: this.route,\n });\n },\n error: (e) => {\n this.snackBar.open(e.message);\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageCreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: ProductManageCreateComponent, isStandalone: true, selector: \"rolatech-product-manage-create\", ngImport: i0, template: \"<rolatech-toolbar title=\\\"Create product\\\" link=\\\"../\\\"> </rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n <section>\\n <form #productForm=\\\"ngForm\\\">\\n <div class=\\\"flex flex-col\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Name </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"product.name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"product.description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n </div>\\n </form>\\n </section>\\n <div class=\\\"mt-3\\\">\\n <button mat-flat-button [disabled]=\\\"!productForm.valid\\\" class=\\\"w-28\\\" (click)=\\\"create()\\\" i18n>Create</button>\\n </div>\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i1.RequiredValidator, selector: \":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]\", inputs: [\"required\"] }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: i1.NgForm, selector: \"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]\", inputs: [\"ngFormOptions\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i2.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i2.MatLabel, selector: \"mat-label\" }, { kind: \"ngmodule\", type: MatInputModule }, { kind: \"directive\", type: i3.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"directive\", type: i4.CdkTextareaAutosize, selector: \"textarea[cdkTextareaAutosize]\", inputs: [\"cdkAutosizeMinRows\", \"cdkAutosizeMaxRows\", \"cdkTextareaAutosize\", \"placeholder\"], exportAs: [\"cdkTextareaAutosize\"] }, { kind: \"ngmodule\", type: TextFieldModule }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"ngmodule\", type: MatOptionModule }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i5.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\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageCreateComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-create', imports: [\n ToolbarComponent,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n TextFieldModule,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n ], template: \"<rolatech-toolbar title=\\\"Create product\\\" link=\\\"../\\\"> </rolatech-toolbar>\\n<div class=\\\"p-3\\\">\\n <section>\\n <form #productForm=\\\"ngForm\\\">\\n <div class=\\\"flex flex-col\\\">\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Name </mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"product.name\\\" name=\\\"name\\\" required />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label i18n> Description </mat-label>\\n <textarea\\n matInput\\n type=\\\"text\\\"\\n [(ngModel)]=\\\"product.description\\\"\\n name=\\\"description\\\"\\n required\\n cdkTextareaAutosize\\n cdkAutosizeMinRows=\\\"3\\\"\\n ></textarea>\\n </mat-form-field>\\n </div>\\n </form>\\n </section>\\n <div class=\\\"mt-3\\\">\\n <button mat-flat-button [disabled]=\\\"!productForm.valid\\\" class=\\\"w-28\\\" (click)=\\\"create()\\\" i18n>Create</button>\\n </div>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtY3JlYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL3BhZ2VzL3Byb2R1Y3QtbWFuYWdlL3Byb2R1Y3QtbWFuYWdlLWNyZWF0ZS9wcm9kdWN0LW1hbmFnZS1jcmVhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtY3JlYXRlL3Byb2R1Y3QtbWFuYWdlLWNyZWF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7QUFpQjFELE1BQU0sT0FBTyw0QkFBNEI7SUFmekM7UUFnQlUsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9CLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsWUFBTyxHQUFRLEVBQUUsQ0FBQztLQWlCbkI7SUFoQkMsTUFBTTtRQUNKLE1BQU0sSUFBSSxHQUFHO1lBQ1gsR0FBRyxJQUFJLENBQUMsT0FBTztZQUNmLHFDQUFxQztTQUN0QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQUU7b0JBQ3RELFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSztpQkFDdkIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FyQlUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsMEZDNUJ6Qyx5K0JBNEJBLDBERFpJLGdCQUFnQiwrSEFDaEIsV0FBVyxvd0NBQ1gsa0JBQWtCLDBTQUNsQixjQUFjLGdtQkFDZCxlQUFlLDhCQUNmLGVBQWUsOEJBQ2YsZUFBZSw4QkFDZixlQUFlOzsyRkFLTiw0QkFBNEI7a0JBZnhDLFNBQVM7K0JBQ0UsZ0NBQWdDLFdBQ2pDO3dCQUNQLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGV4dEZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RleHQtZmllbGQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNyZWF0ZScsXG4gIGltcG9ydHM6IFtcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBUZXh0RmllbGRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS1jcmVhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtY3JlYXRlLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZUNyZWF0ZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcHJvZHVjdFNlcnZpY2UgPSBpbmplY3QoUHJvZHVjdFNlcnZpY2UpO1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG4gIHByb2R1Y3Q6IGFueSA9IHt9O1xuICBjcmVhdGUoKSB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIC4uLnRoaXMucHJvZHVjdCxcbiAgICAgIC8vIGNsYXNzcm9vbTogdGhpcy5zZWxlY3RlZENsYXNzcm9vbSxcbiAgICB9O1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuY3JlYXRlKGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgLi4vJHtyZXMuZGF0YS5pZH0vbWFuYWdlL2luZm9gXSwge1xuICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oZS5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwiQ3JlYXRlIHByb2R1Y3RcIiBsaW5rPVwiLi4vXCI+IDwvcm9sYXRlY2gtdG9vbGJhcj5cbjxkaXYgY2xhc3M9XCJwLTNcIj5cbiAgPHNlY3Rpb24+XG4gICAgPGZvcm0gI3Byb2R1Y3RGb3JtPVwibmdGb3JtXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsIGkxOG4+IE5hbWUgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJwcm9kdWN0Lm5hbWVcIiBuYW1lPVwibmFtZVwiIHJlcXVpcmVkIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWwgaTE4bj4gRGVzY3JpcHRpb24gPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwcm9kdWN0LmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIG5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgY2RrVGV4dGFyZWFBdXRvc2l6ZVxuICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiM1wiXG4gICAgICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvc2VjdGlvbj5cbiAgPGRpdiBjbGFzcz1cIm10LTNcIj5cbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwiIXByb2R1Y3RGb3JtLnZhbGlkXCIgY2xhc3M9XCJ3LTI4XCIgKGNsaWNrKT1cImNyZWF0ZSgpXCIgaTE4bj5DcmVhdGU8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==","import { Component, inject } from '@angular/core';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport { AngularComponentsModule, BaseComponent, ConfirmationDialogComponent, ToolbarComponent, } from '@rolatech/angular-components';\nimport { ProductService } from '@rolatech/angular-services';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { ProductManageOptionAddComponent, ProductManageOptionItemComponent } from '../../../components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/icon\";\nexport class ProductManageOptionsComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.productService = inject(ProductService);\n this.options = [];\n this.add = false;\n }\n ngOnInit() {\n this.id = this.route.parent?.snapshot.paramMap.get('id');\n this.find();\n }\n find() {\n this.productService.findOptions(this.id).subscribe({\n next: (res) => {\n this.options = res.data || [];\n },\n });\n }\n saveOption(option) {\n this.productService.addOption(this.id, option).subscribe({\n next: (res) => {\n this.options.push(res.data);\n this.add = false;\n },\n });\n }\n onUpdateOption(option) {\n const options = {\n title: 'Edit options',\n cancelText: 'Cancel',\n confirmText: 'Confirm',\n data: {\n option: option,\n action: false,\n },\n component: ProductManageOptionAddComponent,\n };\n this.dialogService.open(options);\n this.dialogService.confirmed().subscribe({\n next: (res) => {\n if (res) {\n this.productService.updateOption(option.id, res).subscribe({\n next: (res) => {\n option.values = res.data.values;\n },\n });\n }\n },\n });\n }\n onDeleteOption(option) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '400px',\n data: {\n title: 'Delete option',\n message: `Confirm delete ${option.name} ?`,\n },\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.productService.deleteOption(option.id).subscribe({\n next: (res) => {\n const index = this.options.findIndex((item) => item.id === option.id);\n this.options.splice(index, 1);\n this.snackBarService.open('Delete successfully');\n },\n });\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageOptionsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductManageOptionsComponent, isStandalone: true, selector: \"rolatech-product-manage-options\", usesInheritance: true, ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Options\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div>\\n @for (item of options; track $index) {\\n <rolatech-product-manage-option-item\\n [option]=\\\"item\\\"\\n (delete)=\\\"onDeleteOption($event)\\\"\\n (edit)=\\\"onUpdateOption($event)\\\"\\n ></rolatech-product-manage-option-item>\\n }\\n <div class=\\\"mt-3\\\">\\n @if (add) {\\n <rolatech-product-manage-option-add\\n (save)=\\\"saveOption($event)\\\"\\n (cancel)=\\\"add = false\\\"\\n ></rolatech-product-manage-option-add>\\n } @else {\\n <button mat-stroked-button (click)=\\\"add = true\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Add</span>\\n </button>\\n }\\n </div>\\n </div>\\n</rolatech-product-manage-content>\\n\", styles: [\"\"], dependencies: [{ kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i2.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: ProductManageOptionItemComponent, selector: \"rolatech-product-manage-option-item\", inputs: [\"option\"], outputs: [\"delete\", \"save\", \"edit\"] }, { kind: \"component\", type: ProductManageOptionAddComponent, selector: \"rolatech-product-manage-option-add\", outputs: [\"cancel\", \"save\", \"output\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageOptionsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-options', imports: [\n ProductManageContentComponent,\n ToolbarComponent,\n MatButtonModule,\n MatFormFieldModule,\n AngularCommonModule,\n AngularComponentsModule,\n MatIconModule,\n ProductManageOptionItemComponent,\n ProductManageOptionAddComponent,\n ], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Options\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div>\\n @for (item of options; track $index) {\\n <rolatech-product-manage-option-item\\n [option]=\\\"item\\\"\\n (delete)=\\\"onDeleteOption($event)\\\"\\n (edit)=\\\"onUpdateOption($event)\\\"\\n ></rolatech-product-manage-option-item>\\n }\\n <div class=\\\"mt-3\\\">\\n @if (add) {\\n <rolatech-product-manage-option-add\\n (save)=\\\"saveOption($event)\\\"\\n (cancel)=\\\"add = false\\\"\\n ></rolatech-product-manage-option-add>\\n } @else {\\n <button mat-stroked-button (click)=\\\"add = true\\\">\\n <mat-icon>add</mat-icon>\\n <span i18n>Add</span>\\n </button>\\n }\\n </div>\\n </div>\\n</rolatech-product-manage-content>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2Utb3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0LW1hbmFnZS9wcm9kdWN0LW1hbmFnZS1vcHRpb25zL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2Utb3B0aW9ucy9wcm9kdWN0LW1hbmFnZS1vcHRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUMzRyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFDYiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEdBQ2pCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLGdDQUFnQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFrQnhHLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxhQUFhO0lBaEJoRTs7UUFpQkUsbUJBQWMs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QUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO29CQUNuRCxDQUFDO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBcEVVLDZCQUE2QjtrR0FBN0IsNkJBQTZCLGtIQ2hDMUMsNDBCQXlCQSwwREROSSw2QkFBNkIsNEVBQzdCLGdCQUFnQiwrSEFDaEIsZUFBZSxtWEFDZixrQkFBa0IsOEJBQ2xCLG1CQUFtQiw4QkFDbkIsdUJBQXVCLG1MQUN2QixhQUFhLCtCQUNiLGdDQUFnQyx5SUFDaEMsK0JBQStCOzsyRkFLdEIsNkJBQTZCO2tCQWhCekMsU0FBUzsrQkFDRSxpQ0FBaUMsV0FDbEM7d0JBQ1AsNkJBQTZCO3dCQUM3QixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsYUFBYTt3QkFDYixnQ0FBZ0M7d0JBQ2hDLCtCQUErQjtxQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2R1Y3RNYW5hZ2VDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZHVjdC1tYW5hZ2UtY29udGVudC9wcm9kdWN0LW1hbmFnZS1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgQmFzZUNvbXBvbmVudCxcbiAgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LFxuICBUb29sYmFyQ29tcG9uZW50LFxufSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgUHJvZHVjdE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlT3B0aW9uQWRkQ29tcG9uZW50LCBQcm9kdWN0TWFuYWdlT3B0aW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1vcHRpb25zJyxcbiAgaW1wb3J0czogW1xuICAgIFByb2R1Y3RNYW5hZ2VDb250ZW50Q29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBBbmd1bGFyQ29tbW9uTW9kdWxlLFxuICAgIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgUHJvZHVjdE1hbmFnZU9wdGlvbkl0ZW1Db21wb25lbnQsXG4gICAgUHJvZHVjdE1hbmFnZU9wdGlvbkFkZENvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLW9wdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2Utb3B0aW9ucy5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNYW5hZ2VPcHRpb25zQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb2R1Y3RTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RTZXJ2aWNlKTtcbiAgb3B0aW9uczogUHJvZHVjdE9wdGlvbltdID0gW107XG5cbiAgYWRkID0gZmFsc2U7XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaWQgPSB0aGlzLnJvdXRlLnBhcmVudD8uc25hcHNob3QucGFyYW1NYXAuZ2V0KCdpZCcpIGFzIHN0cmluZztcbiAgICB0aGlzLmZpbmQoKTtcbiAgfVxuICBmaW5kKCkge1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZmluZE9wdGlvbnModGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gcmVzLmRhdGEgfHwgW107XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHNhdmVPcHRpb24ob3B0aW9uOiBQcm9kdWN0T3B0aW9uKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5hZGRPcHRpb24odGhpcy5pZCwgb3B0aW9uKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLm9wdGlvbnMucHVzaChyZXMuZGF0YSk7XG4gICAgICAgIHRoaXMuYWRkID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uVXBkYXRlT3B0aW9uKG9wdGlvbjogUHJvZHVjdE9wdGlvbikge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICB0aXRsZTogJ0VkaXQgb3B0aW9ucycsXG4gICAgICBjYW5jZWxUZXh0OiAnQ2FuY2VsJyxcbiAgICAgIGNvbmZpcm1UZXh0OiAnQ29uZmlybScsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIG9wdGlvbjogb3B0aW9uLFxuICAgICAgICBhY3Rpb246IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIGNvbXBvbmVudDogUHJvZHVjdE1hbmFnZU9wdGlvbkFkZENvbXBvbmVudCxcbiAgICB9O1xuICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKG9wdGlvbnMpO1xuICAgIHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtZWQoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS51cGRhdGVPcHRpb24ob3B0aW9uLmlkLCByZXMpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICAgIG9wdGlvbi52YWx1ZXMgPSByZXMuZGF0YS52YWx1ZXM7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uRGVsZXRlT3B0aW9uKG9wdGlvbjogUHJvZHVjdE9wdGlvbikge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzQwMHB4JyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdGl0bGU6ICdEZWxldGUgb3B0aW9uJyxcbiAgICAgICAgbWVzc2FnZTogYENvbmZpcm0gZGVsZXRlICR7b3B0aW9uLm5hbWV9ID9gLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZGVsZXRlT3B0aW9uKG9wdGlvbi5pZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMub3B0aW9ucy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IG9wdGlvbi5pZCk7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ0RlbGV0ZSBzdWNjZXNzZnVsbHknKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPHJvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4gIDxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwiT3B0aW9uc1wiIGNsYXNzPVwiaGlkZGVuIG1kOmJsb2NrXCIgZGl2aWRlcj4gPC9yb2xhdGVjaC10b29sYmFyPlxuICA8ZGl2PlxuICAgIEBmb3IgKGl0ZW0gb2Ygb3B0aW9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8cm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWl0ZW1cbiAgICAgICAgW29wdGlvbl09XCJpdGVtXCJcbiAgICAgICAgKGRlbGV0ZSk9XCJvbkRlbGV0ZU9wdGlvbigkZXZlbnQpXCJcbiAgICAgICAgKGVkaXQpPVwib25VcGRhdGVPcHRpb24oJGV2ZW50KVwiXG4gICAgICA+PC9yb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1vcHRpb24taXRlbT5cbiAgICB9XG4gICAgPGRpdiBjbGFzcz1cIm10LTNcIj5cbiAgICAgIEBpZiAoYWRkKSB7XG4gICAgICAgIDxyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1vcHRpb24tYWRkXG4gICAgICAgICAgKHNhdmUpPVwic2F2ZU9wdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAoY2FuY2VsKT1cImFkZCA9IGZhbHNlXCJcbiAgICAgICAgPjwvcm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2Utb3B0aW9uLWFkZD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwiYWRkID0gdHJ1ZVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuIGkxOG4+QWRkPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4iXX0=","import { Component, computed, inject, model, output } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatTableModule } from '@angular/material/table';\nimport { AngularCommonModule, DecimalDirective } from '@rolatech/angular-common';\nimport { AngularComponentsModule, ImagePreviewDialogComponent } from '@rolatech/angular-components';\nimport { OptionsFormatPipe } from '@rolatech/angular-common';\nimport { ProductInventoryStatus } from '../../interfaces';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSelectModule } from '@angular/material/select';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/autocomplete\";\nimport * as i3 from \"@angular/material/button\";\nimport * as i4 from \"@angular/material/divider\";\nimport * as i5 from \"@angular/material/icon\";\nimport * as i6 from \"@angular/material/form-field\";\nimport * as i7 from \"@angular/material/input\";\nimport * as i8 from \"@angular/material/progress-spinner\";\nimport * as i9 from \"@angular/material/select\";\nexport class ProductManageVariantComponent {\n constructor() {\n this.dialog = inject(MatDialog);\n this.variant = model.required(...(ngDevMode ? [{ debugName: \"variant\" }] : []));\n this.price = computed(() => {\n return this.variant().price ? (this.variant().price / 100).toFixed(2) : '0.00';\n }, ...(ngDevMode ? [{ debugName: \"price\" }] : []));\n this.expanded = false;\n this.upload = output();\n this.variantStatus = ProductInventoryStatus;\n this.enumKeys = Object.keys(this.variantStatus).filter((key) => isNaN(Number(key)));\n }\n onUpload(event) {\n const file = event.target.files[0];\n if (file) {\n const reader = new FileReader();\n const formData = new FormData();\n formData.append('file', file);\n reader.readAsDataURL(file);\n reader.onload = () => {\n const img = new Image();\n img.onload = () => {\n this.variant.update((item) => {\n item.media = item.media ? item.media : [];\n item.media.push({\n url: img.src,\n alt: 'upload image',\n uploading: true,\n });\n return item;\n });\n };\n img.src = reader.result;\n this.upload.emit(formData);\n };\n reader.onerror = (error) => { };\n }\n }\n onMediaClick(i) {\n const dialogRef = this.dialog.open(ImagePreviewDialogComponent, {\n maxWidth: '80vw',\n maxHeight: '80vh',\n height: '80%',\n width: '80%',\n panelClass: 'full-screen-modal',\n data: {\n media: this.variant().media,\n selected: i,\n },\n });\n dialogRef.afterClosed().subscribe((result) => { });\n }\n statusCompareFn(t1, t2) {\n return t1 === ProductInventoryStatus[t2];\n }\n onStatusChange(event) {\n this.variant.update((item) => {\n item.status = Object.keys(this.variantStatus).find((key) => this.variantStatus[key] === event.value);\n return item;\n });\n }\n onPriceChange(event) {\n const value = event.target.value;\n this.variant.update((currentVariant) => {\n currentVariant.price = value * 100;\n return { ...currentVariant };\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageVariantComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductManageVariantComponent, isStandalone: true, selector: \"rolatech-product-manage-variant\", inputs: { variant: { classPropertyName: \"variant\", publicName: \"variant\", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { variant: \"variantChange\", upload: \"upload\" }, ngImport: i0, template: \"<div class=\\\"flex items-center h-[72px] cursor-pointer px-2\\\" (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\">\\n <div>{{ variant().options | options }}</div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"px-3 dense-2\\\" (click)=\\\"$event.stopPropagation()\\\">\\n <mat-form-field subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <span matTextPrefix> \\u00A5 </span>\\n <input matInput type=\\\"text\\\" [value]=\\\"price()\\\" (change)=\\\"onPriceChange($event)\\\" rolatechDecimal />\\n </mat-form-field>\\n </div>\\n <div class=\\\"px-3\\\">\\n <mat-form-field class=\\\"dense-2\\\" (click)=\\\"$event.stopPropagation()\\\" subscriptSizing=\\\"dynamic\\\">\\n <mat-select\\n name=\\\"type\\\"\\n [compareWith]=\\\"statusCompareFn\\\"\\n (selectionChange)=\\\"onStatusChange($event)\\\"\\n [(ngModel)]=\\\"variant().status\\\"\\n >\\n @for (key of enumKeys; track key) {\\n <mat-option [value]=\\\"variantStatus[key]\\\">\\n {{ variantStatus[key] }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n </div>\\n <div class=\\\"block w-20 text-right\\\">\\n <button mat-icon-button aria-label=\\\"expand row\\\" (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\">\\n @if (expanded) {\\n <mat-icon>keyboard_arrow_up</mat-icon>\\n } @else {\\n <mat-icon>keyboard_arrow_down</mat-icon>\\n }\\n </button>\\n </div>\\n</div>\\n<div>\\n <div class=\\\"flex flex-col gap-3 w-full overflow-hidden collapsed\\\" [class.expanded]=\\\"expanded\\\">\\n <div class=\\\"flex flex-col my-3 md:w-1/2\\\">\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <span matTextPrefix> \\u00A5 </span>\\n <input matInput type=\\\"number\\\" [value]=\\\"price()\\\" rolatechDecimal />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\">\\n <mat-label>\\u5E93\\u5B58</mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"variant().price\\\" />\\n </mat-form-field>\\n </div>\\n <div class=\\\"flex flex-col items-start my-3 md:w-1/2\\\">\\n <div class=\\\"flex flex-wrap\\\">\\n @for (media of variant().media; track $index) {\\n <div class=\\\"media-list-item\\\">\\n <div class=\\\"inner-media\\\">\\n @defer (on viewport()) {\\n <img (click)=\\\"onMediaClick($index)\\\" [src]=\\\"media.url\\\" [alt]=\\\"media.alt\\\" />\\n } @placeholder {\\n <div class=\\\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\\\"></div>\\n }\\n @if (media.uploading) {\\n <div class=\\\"absolute flex items-center justify-center p-4 w-full h-full bg-[--rt-20-percent-layer]\\\">\\n <mat-spinner></mat-spinner>\\n <!--\\n <svg\\n viewBox=\\\"0 0 24 24\\\"\\n preserveAspectRatio=\\\"xMidYMid meet\\\"\\n focusable=\\\"false\\\"\\n class=\\\"style-scope tp-yt-iron-icon\\\"\\n style=\\\"pointer-events: none; display: block; width: 100%; height: 100%\\\"\\n >\\n <g class=\\\"style-scope tp-yt-iron-icon\\\">\\n <path\\n d=\\\"M17,18v1H6V18ZM6.49,9l.71.71L11,5.91V16h1V5.91l3.8,3.81L16.51,9l-5-5Z\\\"\\n class=\\\"style-scope tp-yt-iron-icon\\\"\\n ></path>\\n </g>\\n </svg>\\n <span>Uploading\\u2026</span> -->\\n </div>\\n }\\n </div>\\n </div>\\n }\\n <div class=\\\"media-list-item\\\">\\n <div class=\\\"inner-media\\\" (click)=\\\"fileInput.click()\\\">\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"48px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"48px\\\" fill=\\\"#5f6368\\\">\\n <path d=\\\"M444-444H240v-72h204v-204h72v204h204v72H516v204h-72v-204Z\\\" />\\n </svg>\\n </div>\\n </div>\\n <input style=\\\"display: none\\\" type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"onUpload($event)\\\" #fileInput />\\n </div>\\n </div>\\n </div>\\n</div>\\n<mat-divider></mat-divider>\\n\", styles: [\".media-list-item{cursor:pointer;position:relative;padding:2px}.inner-media{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:4px;border:1px solid grey;position:relative;cursor:pointer;overflow:hidden}mat-form-field{width:160px}.collapsed{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.expanded{max-height:1000px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i2.MatOption, selector: \"mat-option\", inputs: [\"value\", \"id\", \"disabled\"], outputs: [\"onSelectionChange\"], exportAs: [\"matOption\"] }, { 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.MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }, { kind: \"component\", type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: i6.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i6.MatLabel, selector: \"mat-label\" }, { kind: \"directive\", type: i6.MatPrefix, selector: \"[matPrefix], [matIconPrefix], [matTextPrefix]\", inputs: [\"matTextPrefix\"] }, { kind: \"directive\", type: i7.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"component\", type: i8.MatProgressSpinner, selector: \"mat-progress-spinner, mat-spinner\", inputs: [\"color\", \"mode\", \"value\", \"diameter\", \"strokeWidth\"], exportAs: [\"matProgressSpinner\"] }, { kind: \"component\", type: i9.MatSelect, selector: \"mat-select\", inputs: [\"aria-describedby\", \"panelClass\", \"disabled\", \"disableRipple\", \"tabIndex\", \"hideSingleSelectionIndicator\", \"placeholder\", \"required\", \"multiple\", \"disableOptionCentering\", \"compareWith\", \"value\", \"aria-label\", \"aria-labelledby\", \"errorStateMatcher\", \"typeaheadDebounceInterval\", \"sortComparator\", \"id\", \"panelWidth\", \"canSelectNullableOptions\"], outputs: [\"openedChange\", \"opened\", \"closed\", \"selectionChange\", \"valueChange\"], exportAs: [\"matSelect\"] }, { kind: \"ngmodule\", type: MatTableModule }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"directive\", type: DecimalDirective, selector: \"[rolatechDecimal]\" }, { kind: \"ngmodule\", type: MatProgressBarModule }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"pipe\", type: OptionsFormatPipe, name: \"options\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageVariantComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-variant', imports: [\n AngularCommonModule,\n AngularComponentsModule,\n OptionsFormatPipe,\n MatTableModule,\n MatIcon,\n MatFormFieldModule,\n DecimalDirective,\n MatProgressBarModule,\n MatSelectModule,\n ], template: \"<div class=\\\"flex items-center h-[72px] cursor-pointer px-2\\\" (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\">\\n <div>{{ variant().options | options }}</div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"px-3 dense-2\\\" (click)=\\\"$event.stopPropagation()\\\">\\n <mat-form-field subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <span matTextPrefix> \\u00A5 </span>\\n <input matInput type=\\\"text\\\" [value]=\\\"price()\\\" (change)=\\\"onPriceChange($event)\\\" rolatechDecimal />\\n </mat-form-field>\\n </div>\\n <div class=\\\"px-3\\\">\\n <mat-form-field class=\\\"dense-2\\\" (click)=\\\"$event.stopPropagation()\\\" subscriptSizing=\\\"dynamic\\\">\\n <mat-select\\n name=\\\"type\\\"\\n [compareWith]=\\\"statusCompareFn\\\"\\n (selectionChange)=\\\"onStatusChange($event)\\\"\\n [(ngModel)]=\\\"variant().status\\\"\\n >\\n @for (key of enumKeys; track key) {\\n <mat-option [value]=\\\"variantStatus[key]\\\">\\n {{ variantStatus[key] }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n </div>\\n <div class=\\\"block w-20 text-right\\\">\\n <button mat-icon-button aria-label=\\\"expand row\\\" (click)=\\\"expanded = !expanded; $event.stopPropagation()\\\">\\n @if (expanded) {\\n <mat-icon>keyboard_arrow_up</mat-icon>\\n } @else {\\n <mat-icon>keyboard_arrow_down</mat-icon>\\n }\\n </button>\\n </div>\\n</div>\\n<div>\\n <div class=\\\"flex flex-col gap-3 w-full overflow-hidden collapsed\\\" [class.expanded]=\\\"expanded\\\">\\n <div class=\\\"flex flex-col my-3 md:w-1/2\\\">\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <span matTextPrefix> \\u00A5 </span>\\n <input matInput type=\\\"number\\\" [value]=\\\"price()\\\" rolatechDecimal />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\">\\n <mat-label>\\u5E93\\u5B58</mat-label>\\n <input matInput type=\\\"text\\\" [(ngModel)]=\\\"variant().price\\\" />\\n </mat-form-field>\\n </div>\\n <div class=\\\"flex flex-col items-start my-3 md:w-1/2\\\">\\n <div class=\\\"flex flex-wrap\\\">\\n @for (media of variant().media; track $index) {\\n <div class=\\\"media-list-item\\\">\\n <div class=\\\"inner-media\\\">\\n @defer (on viewport()) {\\n <img (click)=\\\"onMediaClick($index)\\\" [src]=\\\"media.url\\\" [alt]=\\\"media.alt\\\" />\\n } @placeholder {\\n <div class=\\\"bg-[--rt-raised-background] h-full w-full object-cover aspect-video rounded-lg\\\"></div>\\n }\\n @if (media.uploading) {\\n <div class=\\\"absolute flex items-center justify-center p-4 w-full h-full bg-[--rt-20-percent-layer]\\\">\\n <mat-spinner></mat-spinner>\\n <!--\\n <svg\\n viewBox=\\\"0 0 24 24\\\"\\n preserveAspectRatio=\\\"xMidYMid meet\\\"\\n focusable=\\\"false\\\"\\n class=\\\"style-scope tp-yt-iron-icon\\\"\\n style=\\\"pointer-events: none; display: block; width: 100%; height: 100%\\\"\\n >\\n <g class=\\\"style-scope tp-yt-iron-icon\\\">\\n <path\\n d=\\\"M17,18v1H6V18ZM6.49,9l.71.71L11,5.91V16h1V5.91l3.8,3.81L16.51,9l-5-5Z\\\"\\n class=\\\"style-scope tp-yt-iron-icon\\\"\\n ></path>\\n </g>\\n </svg>\\n <span>Uploading\\u2026</span> -->\\n </div>\\n }\\n </div>\\n </div>\\n }\\n <div class=\\\"media-list-item\\\">\\n <div class=\\\"inner-media\\\" (click)=\\\"fileInput.click()\\\">\\n <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"48px\\\" viewBox=\\\"0 -960 960 960\\\" width=\\\"48px\\\" fill=\\\"#5f6368\\\">\\n <path d=\\\"M444-444H240v-72h204v-204h72v204h204v72H516v204h-72v-204Z\\\" />\\n </svg>\\n </div>\\n </div>\\n <input style=\\\"display: none\\\" type=\\\"file\\\" accept=\\\"image/*\\\" (change)=\\\"onUpload($event)\\\" #fileInput />\\n </div>\\n </div>\\n </div>\\n</div>\\n<mat-divider></mat-divider>\\n\", styles: [\".media-list-item{cursor:pointer;position:relative;padding:2px}.inner-media{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:4px;border:1px solid grey;position:relative;cursor:pointer;overflow:hidden}mat-form-field{width:160px}.collapsed{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)}.expanded{max-height:1000px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtdmFyaWFudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuYWdlLXZhcmlhbnQvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuYWdlLXZhcmlhbnQvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSww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QUFTOytCQUNFLGlDQUFpQyxXQUNsQzt3QkFDUCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLE9BQU87d0JBQ1Asa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIG1vZGVsLCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlLCBEZWNpbWFsRGlyZWN0aXZlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBJbWFnZVByZXZpZXdEaWFsb2dDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IE9wdGlvbnNGb3JtYXRQaXBlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IFByb2R1Y3RJbnZlbnRvcnlTdGF0dXMsIFByb2R1Y3RWYXJpYW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlLCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS12YXJpYW50JyxcbiAgaW1wb3J0czogW1xuICAgIEFuZ3VsYXJDb21tb25Nb2R1bGUsXG4gICAgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsXG4gICAgT3B0aW9uc0Zvcm1hdFBpcGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0SWNvbixcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgRGVjaW1hbERpcmVjdGl2ZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS12YXJpYW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLXZhcmlhbnQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWFuYWdlVmFyaWFudENvbXBvbmVudCB7XG4gIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuICB2YXJpYW50ID0gbW9kZWwucmVxdWlyZWQ8UHJvZHVjdFZhcmlhbnQ+KCk7XG4gIHByaWNlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnZhcmlhbnQoKS5wcmljZSA/ICh0aGlzLnZhcmlhbnQoKS5wcmljZSAvIDEwMCkudG9GaXhlZCgyKSA6ICcwLjAwJztcbiAgfSk7XG5cbiAgZXhwYW5kZWQgPSBmYWxzZTtcbiAgdXBsb2FkID0gb3V0cHV0PEZvcm1EYXRhPigpO1xuICB2YXJpYW50U3RhdHVzID0gUHJvZHVjdEludmVudG9yeVN0YXR1cztcbiAgZW51bUtleXMgPSBPYmplY3Qua2V5cyh0aGlzLnZhcmlhbnRTdGF0dXMpLmZpbHRlcigoa2V5KSA9PiBpc05hTihOdW1iZXIoa2V5KSkpO1xuXG4gIG9uVXBsb2FkKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBmaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBpbWc6IGFueSA9IG5ldyBJbWFnZSgpO1xuICAgICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgIHRoaXMudmFyaWFudC51cGRhdGUoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0ubWVkaWEgPSBpdGVtLm1lZGlhID8gaXRlbS5tZWRpYSA6IFtdO1xuICAgICAgICAgICAgaXRlbS5tZWRpYS5wdXNoKHtcbiAgICAgICAgICAgICAgdXJsOiBpbWcuc3JjLFxuICAgICAgICAgICAgICBhbHQ6ICd1cGxvYWQgaW1hZ2UnLFxuICAgICAgICAgICAgICB1cGxvYWRpbmc6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICBpbWcuc3JjID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgdGhpcy51cGxvYWQuZW1pdChmb3JtRGF0YSk7XG4gICAgICB9O1xuICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoZXJyb3IpID0+IHt9O1xuICAgIH1cbiAgfVxuICBvbk1lZGlhQ2xpY2soaTogbnVtYmVyKSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihJbWFnZVByZXZpZXdEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIG1heFdpZHRoOiAnODB2dycsXG4gICAgICBtYXhIZWlnaHQ6ICc4MHZoJyxcbiAgICAgIGhlaWdodDogJzgwJScsXG4gICAgICB3aWR0aDogJzgwJScsXG4gICAgICBwYW5lbENsYXNzOiAnZnVsbC1zY3JlZW4tbW9kYWwnLFxuICAgICAgZGF0YToge1xuICAgICAgICBtZWRpYTogdGhpcy52YXJpYW50KCkubWVkaWEsXG4gICAgICAgIHNlbGVjdGVkOiBpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge30pO1xuICB9XG4gIHN0YXR1c0NvbXBhcmVGbih0MTogYW55LCB0MjogYW55KSB7XG4gICAgcmV0dXJuIHQxID09PSBQcm9kdWN0SW52ZW50b3J5U3RhdHVzW3QyXTtcbiAgfVxuICBvblN0YXR1c0NoYW5nZShldmVudDogTWF0U2VsZWN0Q2hhbmdlKSB7XG4gICAgdGhpcy52YXJpYW50LnVwZGF0ZSgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5zdGF0dXMgPSBPYmplY3Qua2V5cyh0aGlzLnZhcmlhbnRTdGF0dXMpLmZpbmQoKGtleSkgPT4gdGhpcy52YXJpYW50U3RhdHVzW2tleV0gPT09IGV2ZW50LnZhbHVlKSE7XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcbiAgfVxuICBvblByaWNlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnZhcmlhbnQudXBkYXRlKChjdXJyZW50VmFyaWFudCkgPT4ge1xuICAgICAgY3VycmVudFZhcmlhbnQucHJpY2UgPSB2YWx1ZSAqIDEwMDtcbiAgICAgIHJldHVybiB7IC4uLmN1cnJlbnRWYXJpYW50IH07XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBoLVs3MnB4XSBjdXJzb3ItcG9pbnRlciBweC0yXCIgKGNsaWNrKT1cImV4cGFuZGVkID0gIWV4cGFuZGVkOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgPGRpdj57eyB2YXJpYW50KCkub3B0aW9ucyB8IG9wdGlvbnMgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXgtMVwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHgtMyBkZW5zZS0yXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJoLTEyXCI+XG4gICAgICA8c3BhbiBtYXRUZXh0UHJlZml4PiDCpSAmbmJzcDs8L3NwYW4+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbdmFsdWVdPVwicHJpY2UoKVwiIChjaGFuZ2UpPVwib25QcmljZUNoYW5nZSgkZXZlbnQpXCIgcm9sYXRlY2hEZWNpbWFsIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJweC0zXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZGVuc2UtMlwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICA8bWF0LXNlbGVjdFxuICAgICAgICBuYW1lPVwidHlwZVwiXG4gICAgICAgIFtjb21wYXJlV2l0aF09XCJzdGF0dXNDb21wYXJlRm5cIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU3RhdHVzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInZhcmlhbnQoKS5zdGF0dXNcIlxuICAgICAgPlxuICAgICAgICBAZm9yIChrZXkgb2YgZW51bUtleXM7IHRyYWNrIGtleSkge1xuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ2YXJpYW50U3RhdHVzW2tleV1cIj5cbiAgICAgICAgICAgIHt7IHZhcmlhbnRTdGF0dXNba2V5XSB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgfVxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYmxvY2sgdy0yMCB0ZXh0LXJpZ2h0XCI+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cImV4cGFuZCByb3dcIiAoY2xpY2spPVwiZXhwYW5kZWQgPSAhZXhwYW5kZWQ7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgQGlmIChleHBhbmRlZCkge1xuICAgICAgICA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfdXA8L21hdC1pY29uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19kb3duPC9tYXQtaWNvbj5cbiAgICAgIH1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zIHctZnVsbCBvdmVyZmxvdy1oaWRkZW4gY29sbGFwc2VkXCIgW2NsYXNzLmV4cGFuZGVkXT1cImV4cGFuZGVkXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbXktMyBtZDp3LTEvMlwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGNsYXNzPVwiaC0xMlwiPlxuICAgICAgICA8c3BhbiBtYXRUZXh0UHJlZml4PiDCpSAmbmJzcDs8L3NwYW4+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgW3ZhbHVlXT1cInByaWNlKClcIiByb2xhdGVjaERlY2ltYWwgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+5bqT5a2YPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwidmFyaWFudCgpLnByaWNlXCIgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtc3RhcnQgbXktMyBtZDp3LTEvMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwXCI+XG4gICAgICAgIEBmb3IgKG1lZGlhIG9mIHZhcmlhbnQoKS5tZWRpYTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1lZGlhLWxpc3QtaXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyLW1lZGlhXCI+XG4gICAgICAgICAgICAgIEBkZWZlciAob24gdmlld3BvcnQoKSkge1xuICAgICAgICAgICAgICAgIDxpbWcgKGNsaWNrKT1cIm9uTWVkaWFDbGljaygkaW5kZXgpXCIgW3NyY109XCJtZWRpYS51cmxcIiBbYWx0XT1cIm1lZGlhLmFsdFwiIC8+XG4gICAgICAgICAgICAgIH0gQHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdIGgtZnVsbCB3LWZ1bGwgb2JqZWN0LWNvdmVyIGFzcGVjdC12aWRlbyByb3VuZGVkLWxnXCI+PC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChtZWRpYS51cGxvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcC00IHctZnVsbCBoLWZ1bGwgYmctWy0tcnQtMjAtcGVyY2VudC1sYXllcl1cIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtc3Bpbm5lcj48L21hdC1zcGlubmVyPlxuICAgICAgICAgICAgICAgICAgPCEtLVxuICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3R5bGUtc2NvcGUgdHAteXQtaXJvbi1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwb2ludGVyLWV2ZW50czogbm9uZTsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCVcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZyBjbGFzcz1cInN0eWxlLXNjb3BlIHRwLXl0LWlyb24taWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE3LDE4djFINlYxOFpNNi40OSw5bC43MS43MUwxMSw1LjkxVjE2aDFWNS45MWwzLjgsMy44MUwxNi41MSw5bC01LTVaXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3R5bGUtc2NvcGUgdHAteXQtaXJvbi1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICAgICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPlVwbG9hZGluZ+KApjwvc3Bhbj4gLS0+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZWRpYS1saXN0LWl0ZW1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItbWVkaWFcIiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIj5cbiAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjQ4cHhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjQ4cHhcIiBmaWxsPVwiIzVmNjM2OFwiPlxuICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQ0NC00NDRIMjQwdi03MmgyMDR2LTIwNGg3MnYyMDRoMjA0djcySDUxNnYyMDRoLTcydi0yMDRaXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGlucHV0IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIHR5cGU9XCJmaWxlXCIgYWNjZXB0PVwiaW1hZ2UvKlwiIChjaGFuZ2UpPVwib25VcGxvYWQoJGV2ZW50KVwiICNmaWxlSW5wdXQgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4iXX0=","import { ChangeDetectorRef, Component, inject, model, signal } from '@angular/core';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport { AngularComponentsModule, BaseComponent, SpinnerComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { InventoryService, ProductService } from '@rolatech/angular-services';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ProductManageVariantComponent } from '../../../components/product-manage-variant/product-manage-variant.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatSelectModule } from '@angular/material/select';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/slide-toggle\";\nexport class ProductManageVariantsComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.productService = inject(ProductService);\n this.inventoryService = inject(InventoryService);\n this.changeDetectorRefs = inject(ChangeDetectorRef);\n this.options = signal([], ...(ngDevMode ? [{ debugName: \"options\" }] : []));\n this.snackBar = inject(MatSnackBar);\n this.productPrice = model(...(ngDevMode ? [undefined, { debugName: \"productPrice\" }] : []));\n this.variantPriceChecked = false;\n this.loading = false;\n }\n ngOnInit() {\n this.id = this.route.parent?.snapshot.paramMap.get('id');\n this.getProduct();\n }\n onVariantSlideToggle(event) {\n const newState = event.checked;\n if (newState) {\n this.productService.updateVariantPrice(this.id, true).subscribe({\n next: (res) => {\n this.variants = res.data;\n this.variantPriceChecked = newState;\n },\n });\n }\n else {\n const options = {\n title: '取消价格策略吗',\n message: '这会删除现有策略, 确定吗?',\n cancelText: 'Cancel',\n confirmText: '确认',\n };\n this.dialogService.open(options);\n this.dialogService.confirmed().subscribe({\n next: (res) => {\n if (res) {\n this.productService.updateVariantPrice(this.id, false).subscribe({\n next: (res) => {\n this.variantPriceChecked = false;\n this.variants = res.data;\n },\n });\n }\n else {\n event.source.checked = !newState;\n }\n },\n });\n }\n }\n onInventorySlideToggle(e) { }\n saveVariants() {\n this.productService.updateVariants(this.id, this.variants).subscribe({\n next: (res) => {\n this.snackBarService.open('Success');\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n onUpload(variant, data) {\n this.productService.uploadVariantMedia(variant.id, data).subscribe({\n next: (res) => {\n variant.media[variant.media.length - 1] = {\n id: res.data.id,\n url: res.data.url + '!w200',\n uploading: false,\n };\n },\n error: (e) => {\n this.snackBar.open('Upload failed: ' + e.message);\n },\n });\n }\n findVariants() {\n this.productService.findVariants(this.id).subscribe({\n next: (res) => {\n if (res.data) {\n this.variantPriceChecked = true;\n }\n this.variants = res.data;\n },\n });\n }\n getProduct() {\n this.loading = true;\n this.productService.get(this.id).subscribe({\n next: (res) => {\n this.product = res.data;\n this.variants = this.product.variants;\n this.variantPriceChecked = this.variants ? this.variants.length > 0 : false;\n this.options.set(res.data.options || []);\n const price = (res.data.price / 100).toFixed(2);\n this.productPrice.set(price);\n this.loading = false;\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageVariantsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductManageVariantsComponent, isStandalone: true, selector: \"rolatech-product-manage-variants\", inputs: { productPrice: { classPropertyName: \"productPrice\", publicName: \"productPrice\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { productPrice: \"productPriceChange\" }, usesInheritance: true, ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u4EF7\\u683C\\u7B56\\u7565\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n\\n @if (loading) {\\n <rolatech-spinner></rolatech-spinner>\\n } @else {\\n <div class=\\\"flex justify-between header\\\">\\n <div class=\\\"flex items-center\\\">\\n <mat-slide-toggle\\n #slide\\n [checked]=\\\"variantPriceChecked\\\"\\n (change)=\\\"onVariantSlideToggle($event)\\\"\\n [disabled]=\\\"options().length <= 0\\\"\\n ></mat-slide-toggle>\\n <div>\\u6839\\u636E\\u5546\\u54C1\\u9009\\u9879\\u8BBE\\u7F6E\\u4E0D\\u540C\\u7684\\u4EF7\\u683C\\u548C\\u5E93\\u5B58</div>\\n </div>\\n </div>\\n\\n @if (slide.checked) {\\n <div>\\n <div class=\\\"header flex gap-3 h-14 items-center\\\">\\n <div class=\\\"px-3\\\">\\u540D\\u79F0</div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"w-[160px]\\\">\\u4EF7\\u683C</div>\\n <div class=\\\"w-[160px]\\\">\\u72B6\\u6001</div>\\n <!-- @if (inventorySlide.checked) {\\n <div class=\\\"w-[160px]\\\">\\u5E93\\u5B58</div>\\n } -->\\n\\n <div class=\\\"block w-20 text-right\\\">\\u5C55\\u5F00/\\u6298\\u53E0</div>\\n </div>\\n @for (item of variants; track $index) {\\n <rolatech-product-manage-variant [variant]=\\\"item\\\" (upload)=\\\"onUpload(item, $event)\\\"></rolatech-product-manage-variant>\\n }\\n </div>\\n <div class=\\\"mt-3\\\">\\n <button mat-button (click)=\\\"saveVariants()\\\" i18n>Save</button>\\n </div>\\n }\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-slide-toggle{scale:.8}mat-form-field{width:72px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i1.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.MatSlideToggle, selector: \"mat-slide-toggle\", inputs: [\"name\", \"id\", \"labelPosition\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"required\", \"color\", \"disabled\", \"disableRipple\", \"tabIndex\", \"checked\", \"hideIcon\", \"disabledInteractive\"], outputs: [\"change\", \"toggleChange\"], exportAs: [\"matSlideToggle\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: ProductManageVariantComponent, selector: \"rolatech-product-manage-variant\", inputs: [\"variant\"], outputs: [\"variantChange\", \"upload\"] }, { kind: \"component\", type: SpinnerComponent, selector: \"rolatech-spinner\", inputs: [\"title\"] }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"ngmodule\", type: MatOptionModule }, { kind: \"ngmodule\", type: MatButtonModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageVariantsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-variants', imports: [\n AngularCommonModule,\n AngularComponentsModule,\n ProductManageContentComponent,\n ToolbarComponent,\n MatFormFieldModule,\n ProductManageVariantComponent,\n SpinnerComponent,\n MatSelectModule,\n MatOptionModule,\n MatButtonModule,\n ], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u4EF7\\u683C\\u7B56\\u7565\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n\\n @if (loading) {\\n <rolatech-spinner></rolatech-spinner>\\n } @else {\\n <div class=\\\"flex justify-between header\\\">\\n <div class=\\\"flex items-center\\\">\\n <mat-slide-toggle\\n #slide\\n [checked]=\\\"variantPriceChecked\\\"\\n (change)=\\\"onVariantSlideToggle($event)\\\"\\n [disabled]=\\\"options().length <= 0\\\"\\n ></mat-slide-toggle>\\n <div>\\u6839\\u636E\\u5546\\u54C1\\u9009\\u9879\\u8BBE\\u7F6E\\u4E0D\\u540C\\u7684\\u4EF7\\u683C\\u548C\\u5E93\\u5B58</div>\\n </div>\\n </div>\\n\\n @if (slide.checked) {\\n <div>\\n <div class=\\\"header flex gap-3 h-14 items-center\\\">\\n <div class=\\\"px-3\\\">\\u540D\\u79F0</div>\\n <div class=\\\"flex-1\\\"></div>\\n <div class=\\\"w-[160px]\\\">\\u4EF7\\u683C</div>\\n <div class=\\\"w-[160px]\\\">\\u72B6\\u6001</div>\\n <!-- @if (inventorySlide.checked) {\\n <div class=\\\"w-[160px]\\\">\\u5E93\\u5B58</div>\\n } -->\\n\\n <div class=\\\"block w-20 text-right\\\">\\u5C55\\u5F00/\\u6298\\u53E0</div>\\n </div>\\n @for (item of variants; track $index) {\\n <rolatech-product-manage-variant [variant]=\\\"item\\\" (upload)=\\\"onUpload(item, $event)\\\"></rolatech-product-manage-variant>\\n }\\n </div>\\n <div class=\\\"mt-3\\\">\\n <button mat-button (click)=\\\"saveVariants()\\\" i18n>Save</button>\\n </div>\\n }\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-slide-toggle{scale:.8}mat-form-field{width:72px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFMUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFB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Q0FBa0MsV0FDbkM7d0JBQ1AsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLDZCQUE2Qjt3QkFDN0IsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLDZCQUE2Qjt3QkFDN0IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBpbmplY3QsIG1vZGVsLCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdWN0LW1hbmFnZS1jb250ZW50L3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBCYXNlQ29tcG9uZW50LCBTcGlubmVyQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBQcm9kdWN0LCBQcm9kdWN0T3B0aW9uLCBQcm9kdWN0VmFyaWFudCB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgSW52ZW50b3J5U2VydmljZSwgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgUHJvZHVjdE1hbmFnZVZhcmlhbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL3Byb2R1Y3QtbWFuYWdlLXZhcmlhbnQvcHJvZHVjdC1tYW5hZ2UtdmFyaWFudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMnLFxuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckNvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgICBQcm9kdWN0TWFuYWdlQ29udGVudENvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBQcm9kdWN0TWFuYWdlVmFyaWFudENvbXBvbmVudCxcbiAgICBTcGlubmVyQ29tcG9uZW50LFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtdmFyaWFudHMuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWFuYWdlVmFyaWFudHNDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvZHVjdFNlcnZpY2UgPSBpbmplY3QoUHJvZHVjdFNlcnZpY2UpO1xuICBpbnZlbnRvcnlTZXJ2aWNlID0gaW5qZWN0KEludmVudG9yeVNlcnZpY2UpO1xuICBjaGFuZ2VEZXRlY3RvclJlZnMgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBvcHRpb25zID0gc2lnbmFsPFByb2R1Y3RPcHRpb25bXT4oW10pO1xuICBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG4gIHByb2R1Y3RQcmljZSA9IG1vZGVsPHN0cmluZz4oKTtcbiAgdmFyaWFudHM6IGFueTtcbiAgdmFyaWFudFByaWNlQ2hlY2tlZCA9IGZhbHNlO1xuICBwcm9kdWN0ITogUHJvZHVjdDtcbiAgbG9hZGluZyA9IGZhbHNlO1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlkID0gdGhpcy5yb3V0ZS5wYXJlbnQ/LnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKSBhcyBzdHJpbmc7XG4gICAgdGhpcy5nZXRQcm9kdWN0KCk7XG4gIH1cblxuICBvblZhcmlhbnRTbGlkZVRvZ2dsZShldmVudDogTWF0U2xpZGVUb2dnbGVDaGFuZ2UpIHtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgaWYgKG5ld1N0YXRlKSB7XG4gICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLnVwZGF0ZVZhcmlhbnRQcmljZSh0aGlzLmlkLCB0cnVlKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgdGhpcy52YXJpYW50cyA9IHJlcy5kYXRhO1xuICAgICAgICAgIHRoaXMudmFyaWFudFByaWNlQ2hlY2tlZCA9IG5ld1N0YXRlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIHRpdGxlOiAn5Y+W5raI5Lu35qC8562W55Wl5ZCXJyxcbiAgICAgICAgbWVzc2FnZTogJ+i/meS8muWIoOmZpOeOsOacieetlueVpSwg56Gu5a6a5ZCXPycsXG4gICAgICAgIGNhbmNlbFRleHQ6ICdDYW5jZWwnLFxuICAgICAgICBjb25maXJtVGV4dDogJ+ehruiupCcsXG4gICAgICB9O1xuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4ob3B0aW9ucyk7XG4gICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybWVkKCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UudXBkYXRlVmFyaWFudFByaWNlKHRoaXMuaWQsIGZhbHNlKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52YXJpYW50UHJpY2VDaGVja2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy52YXJpYW50cyA9IHJlcy5kYXRhO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV2ZW50LnNvdXJjZS5jaGVja2VkID0gIW5ld1N0YXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBvbkludmVudG9yeVNsaWRlVG9nZ2xlKGU6IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlKSB7fVxuICBzYXZlVmFyaWFudHMoKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS51cGRhdGVWYXJpYW50cyh0aGlzLmlkLCB0aGlzLnZhcmlhbnRzKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCdTdWNjZXNzJyk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBvblVwbG9hZCh2YXJpYW50OiBhbnksIGRhdGE6IGFueSkge1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UudXBsb2FkVmFyaWFudE1lZGlhKHZhcmlhbnQuaWQsIGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdmFyaWFudC5tZWRpYVt2YXJpYW50Lm1lZGlhLmxlbmd0aCAtIDFdID0ge1xuICAgICAgICAgIGlkOiByZXMuZGF0YS5pZCxcbiAgICAgICAgICB1cmw6IHJlcy5kYXRhLnVybCArICchdzIwMCcsXG4gICAgICAgICAgdXBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGU6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ1VwbG9hZCBmYWlsZWQ6ICcgKyBlLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBmaW5kVmFyaWFudHMoKSB7XG4gICAgdGhpcy5wcm9kdWN0U2VydmljZS5maW5kVmFyaWFudHModGhpcy5pZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgaWYgKHJlcy5kYXRhKSB7XG4gICAgICAgICAgdGhpcy52YXJpYW50UHJpY2VDaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhcmlhbnRzID0gcmVzLmRhdGE7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGdldFByb2R1Y3QoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmdldCh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucHJvZHVjdCA9IHJlcy5kYXRhO1xuICAgICAgICB0aGlzLnZhcmlhbnRzID0gdGhpcy5wcm9kdWN0LnZhcmlhbnRzO1xuICAgICAgICB0aGlzLnZhcmlhbnRQcmljZUNoZWNrZWQgPSB0aGlzLnZhcmlhbnRzID8gdGhpcy52YXJpYW50cy5sZW5ndGggPiAwIDogZmFsc2U7XG4gICAgICAgIHRoaXMub3B0aW9ucy5zZXQocmVzLmRhdGEub3B0aW9ucyB8fCBbXSk7XG4gICAgICAgIGNvbnN0IHByaWNlID0gKHJlcy5kYXRhLnByaWNlIC8gMTAwKS50b0ZpeGVkKDIpO1xuICAgICAgICB0aGlzLnByb2R1Y3RQcmljZS5zZXQocHJpY2UpO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1jb250ZW50PlxuICA8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIuS7t+agvOetlueVpVwiIGNsYXNzPVwiaGlkZGVuIG1kOmJsb2NrXCIgZGl2aWRlcj4gPC9yb2xhdGVjaC10b29sYmFyPlxuXG4gIEBpZiAobG9hZGluZykge1xuICAgIDxyb2xhdGVjaC1zcGlubmVyPjwvcm9sYXRlY2gtc3Bpbm5lcj5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGhlYWRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgI3NsaWRlXG4gICAgICAgICAgW2NoZWNrZWRdPVwidmFyaWFudFByaWNlQ2hlY2tlZFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJvblZhcmlhbnRTbGlkZVRvZ2dsZSgkZXZlbnQpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9ucygpLmxlbmd0aCA8PSAwXCJcbiAgICAgICAgPjwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPGRpdj7moLnmja7llYblk4HpgInpobnorr7nva7kuI3lkIznmoTku7fmoLzlkozlupPlrZg8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChzbGlkZS5jaGVja2VkKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyIGZsZXggZ2FwLTMgaC0xNCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtM1wiPuWQjeensDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LTFcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1bMTYwcHhdXCI+5Lu35qC8PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInctWzE2MHB4XVwiPueKtuaAgTwvZGl2PlxuICAgICAgICAgIDwhLS0gQGlmIChpbnZlbnRvcnlTbGlkZS5jaGVja2VkKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1bMTYwcHhdXCI+5bqT5a2YPC9kaXY+XG4gICAgICAgICAgfSAtLT5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jayB3LTIwIHRleHQtcmlnaHRcIj7lsZXlvIAv5oqY5Y+gPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAZm9yIChpdGVtIG9mIHZhcmlhbnRzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8cm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtdmFyaWFudCBbdmFyaWFudF09XCJpdGVtXCIgKHVwbG9hZCk9XCJvblVwbG9hZChpdGVtLCAkZXZlbnQpXCI+PC9yb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS12YXJpYW50PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwic2F2ZVZhcmlhbnRzKClcIiBpMThuPlNhdmU8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfVxuPC9yb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1jb250ZW50PlxuIl19","import { Component } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, ToolbarComponent } from '@rolatech/angular-components';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport * as i0 from \"@angular/core\";\nexport class ProductManageScheduleComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageScheduleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.4\", type: ProductManageScheduleComponent, isStandalone: true, selector: \"rolatech-product-manage-schedule\", ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u53D1\\u5E03\\u8BBE\\u7F6E\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div></div>\\n</rolatech-product-manage-content>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageScheduleComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-schedule', imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent, ProductManageContentComponent], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u53D1\\u5E03\\u8BBE\\u7F6E\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div></div>\\n</rolatech-product-manage-content>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2Utc2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2Utc2NoZWR1bGUvcHJvZHVjdC1tYW5hZ2Utc2NoZWR1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2Utc2NoZWR1bGUvcHJvZHVjdC1tYW5hZ2Utc2NoZWR1bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQzs7QUFRM0csTUFBTSxPQUFPLDhCQUE4Qjs4R0FBOUIsOEJBQThCO2tHQUE5Qiw4QkFBOEIsNEZDWDNDLHVNQUlBLHlEREdZLG1CQUFtQiw4QkFBRSx1QkFBdUIsK0JBQUUsZ0JBQWdCLGdJQUFFLDZCQUE2Qjs7MkZBSTVGLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDRSxrQ0FBa0MsV0FDbkMsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUHJvZHVjdE1hbmFnZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9wcm9kdWN0LW1hbmFnZS1jb250ZW50L3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2Utc2NoZWR1bGUnLFxuICBpbXBvcnRzOiBbQW5ndWxhckNvbW1vbk1vZHVsZSwgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIFRvb2xiYXJDb21wb25lbnQsIFByb2R1Y3RNYW5hZ2VDb250ZW50Q29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLXNjaGVkdWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLXNjaGVkdWxlLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZVNjaGVkdWxlQ29tcG9uZW50IHt9XG4iLCI8cm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtY29udGVudD5cbiAgPHJvbGF0ZWNoLXRvb2xiYXIgdGl0bGU9XCLlj5HluIPorr7nva5cIiBjbGFzcz1cImhpZGRlbiBtZDpibG9ja1wiIGRpdmlkZXI+IDwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgPGRpdj48L2Rpdj5cbjwvcm9sYXRlY2gtcHJvZHVjdC1tYW5hZ2UtY29udGVudD5cbiJdfQ==","import { Component, inject, model } from '@angular/core';\nimport { AngularCommonModule, FixedPipe, OptionsFormatPipe } from '@rolatech/angular-common';\nimport { AngularComponentsModule, BaseComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport { InventoryService, ProductService } from '@rolatech/angular-services';\nimport { MatSelectModule } from '@angular/material/select';\nimport _ from 'lodash';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/autocomplete\";\nimport * as i3 from \"@angular/material/button\";\nimport * as i4 from \"@angular/material/form-field\";\nimport * as i5 from \"@angular/material/input\";\nimport * as i6 from \"@angular/material/select\";\nimport * as i7 from \"@angular/material/slide-toggle\";\nexport class ProductManageInventoryComponent extends BaseComponent {\n constructor() {\n super(...arguments);\n this.productService = inject(ProductService);\n this.inventoryService = inject(InventoryService);\n this.inventoryEnabled = false;\n this.loading = false;\n this.locations = model(...(ngDevMode ? [undefined, { debugName: \"locations\" }] : []));\n this.amount = 0;\n this.inventoryItem = {\n levels: [],\n };\n this.loadingLocation = false;\n this.inventories = [];\n }\n ngOnInit() {\n this.id = this.route.parent?.snapshot.paramMap.get('id');\n this.getProduct();\n this.findInventoryItemsByProductId(this.id);\n }\n getProduct() {\n this.loading = true;\n this.productService.get(this.id).subscribe({\n next: (res) => {\n this.product = res.data;\n this.formatVariants();\n this.findInventoryLocations();\n this.loading = false;\n },\n });\n }\n formatVariants() {\n this.product.variants?.forEach((item) => {\n this.inventories.push({\n variantId: item.id,\n options: item.options,\n price: item.price,\n amount: 0,\n available: 0,\n });\n });\n }\n formatStocks() { }\n findInventoryLevelsByLocationIdAndVariantIds() {\n const ids = _.uniq(_.map(this.product.variants, 'id')); // [12, 14, 16, 18]\n this.loadingLocation = true;\n this.inventoryService.findInventoryLevelsByLocationIdAndVariantIds(this.selectedLocation.id, ids).subscribe({\n next: (res) => {\n this.inventories.forEach((item) => {\n if (res.data) {\n const items = res.data.find((d) => d.variantId === item.variantId);\n const c = items.levels.find((aa) => aa.location['id'] === this.selectedLocation.id);\n item.amount = c.amount;\n item.available = c.available;\n }\n else {\n item.amount = 0;\n }\n });\n this.loadingLocation = false;\n },\n error: (error) => {\n this.loadingLocation = false;\n },\n });\n }\n findInventoryItemsByProductId(productId) {\n this.inventoryService.findInventoryItemsByProductId(productId).subscribe({\n next: (res) => {\n if (res.data) {\n this.inventoryEnabled = true;\n this.inventoryItem = res.data;\n }\n },\n });\n }\n findInventoryLocations() {\n this.inventoryService.findLocations({}).subscribe({\n next: (res) => {\n this.locations.set(res.data);\n this.selectedLocation = res.data[0];\n this.findInventoryLevelsByLocationIdAndVariantIds();\n },\n });\n }\n onLocationChange(event) {\n this.selectedLocation = event.value;\n this.findInventoryLevelsByLocationIdAndVariantIds();\n }\n onInventorySlideToggle(event) {\n const newState = event.checked;\n if (!newState) {\n const options = {\n title: '取消库存策略吗',\n message: '这会删除现有策略, 确定吗?',\n cancelText: 'Cancel',\n confirmText: '确认',\n };\n this.dialogService.open(options);\n this.dialogService.confirmed().subscribe({\n next: (res) => {\n if (res) {\n this.inventoryService.deleteInventoryItemsByProductId(this.id).subscribe({\n next: (res) => {\n this.inventoryEnabled = false;\n this.inventoryItem = {};\n },\n });\n }\n else {\n event.source.checked = !newState;\n }\n },\n });\n }\n else {\n // initInventoryItems\n const variantIds = _.uniq(_.map(this.product.variants, 'id')); // [12, 14, 16, 18]\n const data = {\n productId: this.id,\n variantIds,\n };\n this.inventoryService.initInventoryItems(data).subscribe({\n next: (res) => {\n this.inventoryItem = res.data;\n this.inventoryEnabled = true;\n },\n });\n }\n }\n onSelectionChange(item, event) {\n item.locationId = event.value.id;\n }\n compareLocationFn(o1, o2) {\n return o1?.id === o2?.id;\n }\n compareFn(o1, o2) {\n return o1.id === o2.id;\n }\n add() {\n const level = {\n location: {},\n amount: 0,\n };\n this.inventoryItem.levels.push(level);\n }\n saveInventoryLevels() {\n // this.inventoryService.updateStockByLocationIdAndProductId()\n const data = [];\n this.inventories.forEach((item) => {\n data.push({\n variantId: item.variantId,\n amount: item.amount,\n available: item.available,\n locationId: this.selectedLocation.id,\n });\n });\n this.inventoryService.adjustStocksByLocationId(data).subscribe({\n next: (res) => {\n this.snackBarService.open('Success');\n },\n });\n }\n save() {\n const locationIds = _.map(this.inventoryItem.levels, 'location.id');\n const duplicated = new Set(locationIds).size !== locationIds.length;\n if (duplicated) {\n this.snackBarService.open('仓库重复');\n return;\n }\n const data = {\n productId: this.id,\n levels: [],\n };\n this.inventoryItem.levels.forEach((item) => {\n data.levels.push({\n id: item.id,\n locationId: item.location.id,\n amount: item.amount,\n });\n });\n this.inventoryService.addInventoryItem(data).subscribe({\n next: (res) => {\n this.snackBarService.open('Success');\n },\n });\n }\n deleteLevel(index, level) {\n const options = {\n title: '确定删除吗',\n message: `这会删除现有仓库${level.location.name}商品库存数据, 确定吗?`,\n cancelText: 'Cancel',\n confirmText: '确认',\n };\n this.dialogService.open(options);\n this.dialogService.confirmed().subscribe({\n next: (res) => {\n if (res) {\n this.inventoryService.deleteInventoryLevel(level.id).subscribe({\n next: (res) => {\n this.inventoryItem.levels.splice(index, 1);\n },\n });\n }\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageInventoryComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductManageInventoryComponent, isStandalone: true, selector: \"rolatech-product-manage-inventory\", inputs: { locations: { classPropertyName: \"locations\", publicName: \"locations\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { locations: \"locationsChange\" }, usesInheritance: true, ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Inventory setting\\\" class=\\\"hidden md:block\\\" divider></rolatech-toolbar>\\n <div class=\\\"flex justify-between header\\\">\\n <div class=\\\"flex items-center\\\">\\n <mat-slide-toggle\\n #inventorySlide\\n [checked]=\\\"inventoryEnabled\\\"\\n (change)=\\\"onInventorySlideToggle($event)\\\"\\n ></mat-slide-toggle>\\n <div i18n>Enable tracking</div>\\n </div>\\n @if (inventoryEnabled) {\\n <mat-form-field>\\n <mat-select\\n name=\\\"id\\\"\\n [value]=\\\"selectedLocation\\\"\\n [compareWith]=\\\"compareLocationFn\\\"\\n #select=\\\"matSelect\\\"\\n (selectionChange)=\\\"onLocationChange($event)\\\"\\n >\\n @for (item of locations(); track item) {\\n <mat-option [value]=\\\"item\\\">\\n {{ item.name }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n }\\n </div>\\n @if (inventoryEnabled) {\\n <div class=\\\"flex flex-col divide-y divide-[--rt-10-percent-layer]\\\">\\n @for (item of inventories; track $index) {\\n <div class=\\\"flex justify-between items-center py-2\\\">\\n <div class=\\\"flex gap-3\\\">\\n <div>{{ item.options | options }}</div>\\n <!-- <div>{{ item.inventoryItemId }}</div> -->\\n </div>\\n <div class=\\\"flex gap-3\\\">\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <mat-label i18n>Price</mat-label>\\n <span matTextPrefix> \\u00A5 </span>\\n <input matInput type=\\\"number\\\" [value]=\\\"item.price | fixed\\\" rolatechDecimal />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <mat-label i18n>Total</mat-label>\\n <input matInput type=\\\"number\\\" [(ngModel)]=\\\"item.amount\\\" [disabled]=\\\"loadingLocation\\\" />\\n <!-- <input matInput type=\\\"number\\\" [value]=\\\"\\\" [disabled]=\\\"loadingLocation\\\" /> -->\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <mat-label i18n>Remaining</mat-label>\\n <input matInput type=\\\"number\\\" [(ngModel)]=\\\"item.available\\\" [disabled]=\\\"loadingLocation\\\" />\\n <!-- <input matInput type=\\\"number\\\" [value]=\\\"\\\" [disabled]=\\\"loadingLocation\\\" /> -->\\n </mat-form-field>\\n </div>\\n </div>\\n }\\n </div>\\n <div class=\\\"flex gap-3\\\">\\n <!-- <button mat-stroked-button (click)=\\\"add()\\\">\\u6DFB\\u52A0</button> -->\\n <button mat-flat-button (click)=\\\"saveInventoryLevels()\\\" i18n>Save</button>\\n </div>\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-slide-toggle{scale:.8}.header mat-form-field{width:200px}mat-form-field{width:120px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NumberValueAccessor, selector: \"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i2.MatOption, selector: \"mat-option\", inputs: [\"value\", \"id\", \"disabled\"], outputs: [\"onSelectionChange\"], exportAs: [\"matOption\"] }, { kind: \"component\", type: i3.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: i4.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i4.MatLabel, selector: \"mat-label\" }, { kind: \"directive\", type: i4.MatPrefix, selector: \"[matPrefix], [matIconPrefix], [matTextPrefix]\", inputs: [\"matTextPrefix\"] }, { kind: \"directive\", type: i5.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"component\", type: i6.MatSelect, selector: \"mat-select\", inputs: [\"aria-describedby\", \"panelClass\", \"disabled\", \"disableRipple\", \"tabIndex\", \"hideSingleSelectionIndicator\", \"placeholder\", \"required\", \"multiple\", \"disableOptionCentering\", \"compareWith\", \"value\", \"aria-label\", \"aria-labelledby\", \"errorStateMatcher\", \"typeaheadDebounceInterval\", \"sortComparator\", \"id\", \"panelWidth\", \"canSelectNullableOptions\"], outputs: [\"openedChange\", \"opened\", \"closed\", \"selectionChange\", \"valueChange\"], exportAs: [\"matSelect\"] }, { kind: \"component\", type: i7.MatSlideToggle, selector: \"mat-slide-toggle\", inputs: [\"name\", \"id\", \"labelPosition\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"required\", \"color\", \"disabled\", \"disableRipple\", \"tabIndex\", \"checked\", \"hideIcon\", \"disabledInteractive\"], outputs: [\"change\", \"toggleChange\"], exportAs: [\"matSlideToggle\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }, { kind: \"ngmodule\", type: MatSelectModule }, { kind: \"pipe\", type: OptionsFormatPipe, name: \"options\" }, { kind: \"pipe\", type: FixedPipe, name: \"fixed\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageInventoryComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-inventory', imports: [\n AngularCommonModule,\n AngularComponentsModule,\n ToolbarComponent,\n ProductManageContentComponent,\n MatSelectModule,\n OptionsFormatPipe,\n FixedPipe,\n ], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"Inventory setting\\\" class=\\\"hidden md:block\\\" divider></rolatech-toolbar>\\n <div class=\\\"flex justify-between header\\\">\\n <div class=\\\"flex items-center\\\">\\n <mat-slide-toggle\\n #inventorySlide\\n [checked]=\\\"inventoryEnabled\\\"\\n (change)=\\\"onInventorySlideToggle($event)\\\"\\n ></mat-slide-toggle>\\n <div i18n>Enable tracking</div>\\n </div>\\n @if (inventoryEnabled) {\\n <mat-form-field>\\n <mat-select\\n name=\\\"id\\\"\\n [value]=\\\"selectedLocation\\\"\\n [compareWith]=\\\"compareLocationFn\\\"\\n #select=\\\"matSelect\\\"\\n (selectionChange)=\\\"onLocationChange($event)\\\"\\n >\\n @for (item of locations(); track item) {\\n <mat-option [value]=\\\"item\\\">\\n {{ item.name }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n }\\n </div>\\n @if (inventoryEnabled) {\\n <div class=\\\"flex flex-col divide-y divide-[--rt-10-percent-layer]\\\">\\n @for (item of inventories; track $index) {\\n <div class=\\\"flex justify-between items-center py-2\\\">\\n <div class=\\\"flex gap-3\\\">\\n <div>{{ item.options | options }}</div>\\n <!-- <div>{{ item.inventoryItemId }}</div> -->\\n </div>\\n <div class=\\\"flex gap-3\\\">\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <mat-label i18n>Price</mat-label>\\n <span matTextPrefix> \\u00A5 </span>\\n <input matInput type=\\\"number\\\" [value]=\\\"item.price | fixed\\\" rolatechDecimal />\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <mat-label i18n>Total</mat-label>\\n <input matInput type=\\\"number\\\" [(ngModel)]=\\\"item.amount\\\" [disabled]=\\\"loadingLocation\\\" />\\n <!-- <input matInput type=\\\"number\\\" [value]=\\\"\\\" [disabled]=\\\"loadingLocation\\\" /> -->\\n </mat-form-field>\\n <mat-form-field appearance=\\\"fill\\\" subscriptSizing=\\\"dynamic\\\" class=\\\"h-12\\\">\\n <mat-label i18n>Remaining</mat-label>\\n <input matInput type=\\\"number\\\" [(ngModel)]=\\\"item.available\\\" [disabled]=\\\"loadingLocation\\\" />\\n <!-- <input matInput type=\\\"number\\\" [value]=\\\"\\\" [disabled]=\\\"loadingLocation\\\" /> -->\\n </mat-form-field>\\n </div>\\n </div>\\n }\\n </div>\\n <div class=\\\"flex gap-3\\\">\\n <!-- <button mat-stroked-button (click)=\\\"add()\\\">\\u6DFB\\u52A0</button> -->\\n <button mat-flat-button (click)=\\\"saveInventoryLevels()\\\" i18n>Save</button>\\n </div>\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-slide-toggle{scale:.8}.header mat-form-field{width:200px}mat-form-field{width:120px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtaW52ZW50b3J5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItcHJvZHVjdC9zcmMvbGliL3BhZ2VzL3Byb2R1Y3QtbWFuYWdlL3Byb2R1Y3QtbWFuYWdlLWludmVudG9yeS9wcm9kdWN0LW1hbmFnZS1pbnZlbnRvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtaW52ZW50b3J5L3Byb2R1Y3QtbWFuYWdlLWludmVudG9yeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUUzRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7O0FBMEJ2QixNQUFNLE9BQU8sK0JBQWdDLFNBQVEsYUFBYTtJQWRsRTs7UUFlRSxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FB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QiwrQkFBK0IsK1NDbEM1QyxpdkZBK0RBLG1KRHhDSSxtQkFBbUIsZ3hCQUNuQix1QkFBdUIsZ25FQUN2QixnQkFBZ0IsZ0lBQ2hCLDZCQUE2QiwyRUFDN0IsZUFBZSwwQkFDZixpQkFBaUIsMkNBQ2pCLFNBQVM7OzJGQUtBLCtCQUErQjtrQkFkM0MsU0FBUzsrQkFDRSxtQ0FBbUMsV0FDcEM7d0JBQ1AsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3dCQUM3QixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsU0FBUztxQkFDViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBtb2RlbCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlLCBGaXhlZFBpcGUsIE9wdGlvbnNGb3JtYXRQaXBlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBCYXNlQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL3Byb2R1Y3QtbWFuYWdlLWNvbnRlbnQvcHJvZHVjdC1tYW5hZ2UtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgSW52ZW50b3J5U2VydmljZSwgUHJvZHVjdFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQcm9kdWN0LCBQcm9kdWN0VmFyaWFudE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdGVkSW52ZW50b3J5IHtcbiAgbG9jYXRpb25JZDogc3RyaW5nO1xuICB2YXJpYW50czogRm9ybWF0ZWRJbnZlbnRvcnlWYXJpYW50W107XG59XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdGVkSW52ZW50b3J5VmFyaWFudCB7XG4gIHZhcmlhbnRJZDogc3RyaW5nO1xuICBvcHRpb25zOiBQcm9kdWN0VmFyaWFudE9wdGlvbltdO1xuICBwcmljZTogbnVtYmVyO1xuICBhbW91bnQ6IG51bWJlcjtcbiAgYXZhaWxhYmxlOiBudW1iZXI7XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1pbnZlbnRvcnknLFxuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckNvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIFByb2R1Y3RNYW5hZ2VDb250ZW50Q29tcG9uZW50LFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBPcHRpb25zRm9ybWF0UGlwZSxcbiAgICBGaXhlZFBpcGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LW1hbmFnZS1pbnZlbnRvcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtaW52ZW50b3J5LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZUludmVudG9yeUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm9kdWN0U2VydmljZSA9IGluamVjdChQcm9kdWN0U2VydmljZSk7XG4gIGludmVudG9yeVNlcnZpY2UgPSBpbmplY3QoSW52ZW50b3J5U2VydmljZSk7XG4gIGludmVudG9yeUVuYWJsZWQgPSBmYWxzZTtcbiAgbG9hZGluZyA9IGZhbHNlO1xuICBwcm9kdWN0ITogUHJvZHVjdDtcbiAgbG9jYXRpb25zID0gbW9kZWw8YW55PigpO1xuICBzZWxlY3RlZExvY2F0aW9uOiBhbnk7XG4gIGFtb3VudCA9IDA7XG4gIGludmVudG9yeUl0ZW06IGFueSA9IHtcbiAgICBsZXZlbHM6IFtdLFxuICB9O1xuICBsb2FkaW5nTG9jYXRpb24gPSBmYWxzZTtcbiAgaW52ZW50b3JpZXM6IEZvcm1hdGVkSW52ZW50b3J5VmFyaWFudFtdID0gW107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pZCA9IHRoaXMucm91dGUucGFyZW50Py5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2lkJykgYXMgc3RyaW5nO1xuICAgIHRoaXMuZ2V0UHJvZHVjdCgpO1xuICAgIHRoaXMuZmluZEludmVudG9yeUl0ZW1zQnlQcm9kdWN0SWQodGhpcy5pZCk7XG4gIH1cbiAgZ2V0UHJvZHVjdCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZ2V0KHRoaXMuaWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5wcm9kdWN0ID0gcmVzLmRhdGE7XG4gICAgICAgIHRoaXMuZm9ybWF0VmFyaWFudHMoKTtcbiAgICAgICAgdGhpcy5maW5kSW52ZW50b3J5TG9jYXRpb25zKCk7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBmb3JtYXRWYXJpYW50cygpIHtcbiAgICB0aGlzLnByb2R1Y3QudmFyaWFudHM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIHRoaXMuaW52ZW50b3JpZXMucHVzaCh7XG4gICAgICAgIHZhcmlhbnRJZDogaXRlbS5pZCxcbiAgICAgICAgb3B0aW9uczogaXRlbS5vcHRpb25zLFxuICAgICAgICBwcmljZTogaXRlbS5wcmljZSxcbiAgICAgICAgYW1vdW50OiAwLFxuICAgICAgICBhdmFpbGFibGU6IDAsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuICBmb3JtYXRTdG9ja3MoKSB7fVxuICBmaW5kSW52ZW50b3J5TGV2ZWxzQnlMb2NhdGlvbklkQW5kVmFyaWFudElkcygpIHtcbiAgICBjb25zdCBpZHMgPSBfLnVuaXEoXy5tYXAodGhpcy5wcm9kdWN0LnZhcmlhbnRzLCAnaWQnKSk7IC8vIFsxMiwgMTQsIDE2LCAxOF1cbiAgICB0aGlzLmxvYWRpbmdMb2NhdGlvbiA9IHRydWU7XG4gICAgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmZpbmRJbnZlbnRvcnlMZXZlbHNCeUxvY2F0aW9uSWRBbmRWYXJpYW50SWRzKHRoaXMuc2VsZWN0ZWRMb2NhdGlvbi5pZCwgaWRzKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmludmVudG9yaWVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICBpZiAocmVzLmRhdGEpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gcmVzLmRhdGEuZmluZCgoZCkgPT4gZC52YXJpYW50SWQgPT09IGl0ZW0udmFyaWFudElkKTtcbiAgICAgICAgICAgIGNvbnN0IGMgPSBpdGVtcy5sZXZlbHMuZmluZCgoYWEpID0+IGFhLmxvY2F0aW9uWydpZCddID09PSB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWQpO1xuICAgICAgICAgICAgaXRlbS5hbW91bnQgPSBjLmFtb3VudDtcbiAgICAgICAgICAgIGl0ZW0uYXZhaWxhYmxlID0gYy5hdmFpbGFibGU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGl0ZW0uYW1vdW50ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxvYWRpbmdMb2NhdGlvbiA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nTG9jYXRpb24gPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZmluZEludmVudG9yeUl0ZW1zQnlQcm9kdWN0SWQocHJvZHVjdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmludmVudG9yeVNlcnZpY2UuZmluZEludmVudG9yeUl0ZW1zQnlQcm9kdWN0SWQocHJvZHVjdElkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLmRhdGEpIHtcbiAgICAgICAgICB0aGlzLmludmVudG9yeUVuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaW52ZW50b3J5SXRlbSA9IHJlcy5kYXRhO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGZpbmRJbnZlbnRvcnlMb2NhdGlvbnMoKSB7XG4gICAgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmZpbmRMb2NhdGlvbnMoe30pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMubG9jYXRpb25zLnNldChyZXMuZGF0YSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbiA9IHJlcy5kYXRhWzBdO1xuICAgICAgICB0aGlzLmZpbmRJbnZlbnRvcnlMZXZlbHNCeUxvY2F0aW9uSWRBbmRWYXJpYW50SWRzKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uTG9jYXRpb25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbiA9IGV2ZW50LnZhbHVlO1xuICAgIHRoaXMuZmluZEludmVudG9yeUxldmVsc0J5TG9jYXRpb25JZEFuZFZhcmlhbnRJZHMoKTtcbiAgfVxuICBvbkludmVudG9yeVNsaWRlVG9nZ2xlKGV2ZW50OiBNYXRTbGlkZVRvZ2dsZUNoYW5nZSkge1xuICAgIGNvbnN0IG5ld1N0YXRlID0gZXZlbnQuY2hlY2tlZDtcbiAgICBpZiAoIW5ld1N0YXRlKSB7XG4gICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICB0aXRsZTogJ+WPlua2iOW6k+WtmOetlueVpeWQlycsXG4gICAgICAgIG1lc3NhZ2U6ICfov5nkvJrliKDpmaTnjrDmnInnrZbnlaUsIOehruWumuWQlz8nLFxuICAgICAgICBjYW5jZWxUZXh0OiAnQ2FuY2VsJyxcbiAgICAgICAgY29uZmlybVRleHQ6ICfnoa7orqQnLFxuICAgICAgfTtcbiAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKG9wdGlvbnMpO1xuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm1lZCgpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICB0aGlzLmludmVudG9yeVNlcnZpY2UuZGVsZXRlSW52ZW50b3J5SXRlbXNCeVByb2R1Y3RJZCh0aGlzLmlkKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnZlbnRvcnlFbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnZlbnRvcnlJdGVtID0ge307XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXZlbnQuc291cmNlLmNoZWNrZWQgPSAhbmV3U3RhdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGluaXRJbnZlbnRvcnlJdGVtc1xuICAgICAgY29uc3QgdmFyaWFudElkcyA9IF8udW5pcShfLm1hcCh0aGlzLnByb2R1Y3QudmFyaWFudHMsICdpZCcpKTsgLy8gWzEyLCAxNCwgMTYsIDE4XVxuICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgcHJvZHVjdElkOiB0aGlzLmlkLFxuICAgICAgICB2YXJpYW50SWRzLFxuICAgICAgfTtcbiAgICAgIHRoaXMuaW52ZW50b3J5U2VydmljZS5pbml0SW52ZW50b3J5SXRlbXMoZGF0YSkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgIHRoaXMuaW52ZW50b3J5SXRlbSA9IHJlcy5kYXRhO1xuICAgICAgICAgIHRoaXMuaW52ZW50b3J5RW5hYmxlZCA9IHRydWU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgb25TZWxlY3Rpb25DaGFuZ2UoaXRlbSwgZXZlbnQ6IGFueSkge1xuICAgIGl0ZW0ubG9jYXRpb25JZCA9IGV2ZW50LnZhbHVlLmlkO1xuICB9XG4gIGNvbXBhcmVMb2NhdGlvbkZuKG8xOiBhbnksIG8yOiBhbnkpIHtcbiAgICByZXR1cm4gbzE/LmlkID09PSBvMj8uaWQ7XG4gIH1cbiAgY29tcGFyZUZuKG8xOiBhbnksIG8yOiBhbnkpIHtcbiAgICByZXR1cm4gbzEuaWQgPT09IG8yLmlkO1xuICB9XG4gIGFkZCgpIHtcbiAgICBjb25zdCBsZXZlbCA9IHtcbiAgICAgIGxvY2F0aW9uOiB7fSxcbiAgICAgIGFtb3VudDogMCxcbiAgICB9O1xuICAgIHRoaXMuaW52ZW50b3J5SXRlbS5sZXZlbHMucHVzaChsZXZlbCk7XG4gIH1cbiAgc2F2ZUludmVudG9yeUxldmVscygpIHtcbiAgICAvLyB0aGlzLmludmVudG9yeVNlcnZpY2UudXBkYXRlU3RvY2tCeUxvY2F0aW9uSWRBbmRQcm9kdWN0SWQoKVxuICAgIGNvbnN0IGRhdGE6IGFueVtdID0gW107XG4gICAgdGhpcy5pbnZlbnRvcmllcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBkYXRhLnB1c2goe1xuICAgICAgICB2YXJpYW50SWQ6IGl0ZW0udmFyaWFudElkLFxuICAgICAgICBhbW91bnQ6IGl0ZW0uYW1vdW50LFxuICAgICAgICBhdmFpbGFibGU6IGl0ZW0uYXZhaWxhYmxlLFxuICAgICAgICBsb2NhdGlvbklkOiB0aGlzLnNlbGVjdGVkTG9jYXRpb24uaWQsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICB0aGlzLmludmVudG9yeVNlcnZpY2UuYWRqdXN0U3RvY2tzQnlMb2NhdGlvbklkKGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ1N1Y2Nlc3MnKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgc2F2ZSgpIHtcbiAgICBjb25zdCBsb2NhdGlvbklkcyA9IF8ubWFwKHRoaXMuaW52ZW50b3J5SXRlbS5sZXZlbHMsICdsb2NhdGlvbi5pZCcpO1xuICAgIGNvbnN0IGR1cGxpY2F0ZWQgPSBuZXcgU2V0KGxvY2F0aW9uSWRzKS5zaXplICE9PSBsb2NhdGlvbklkcy5sZW5ndGg7XG4gICAgaWYgKGR1cGxpY2F0ZWQpIHtcbiAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ+S7k+W6k+mHjeWkjScpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGE6IGFueSA9IHtcbiAgICAgIHByb2R1Y3RJZDogdGhpcy5pZCxcbiAgICAgIGxldmVsczogW10sXG4gICAgfTtcbiAgICB0aGlzLmludmVudG9yeUl0ZW0ubGV2ZWxzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGRhdGEubGV2ZWxzLnB1c2goe1xuICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgbG9jYXRpb25JZDogaXRlbS5sb2NhdGlvbi5pZCxcbiAgICAgICAgYW1vdW50OiBpdGVtLmFtb3VudCxcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuaW52ZW50b3J5U2VydmljZS5hZGRJbnZlbnRvcnlJdGVtKGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ1N1Y2Nlc3MnKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlTGV2ZWwoaW5kZXgsIGxldmVsOiBhbnkpIHtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgdGl0bGU6ICfnoa7lrprliKDpmaTlkJcnLFxuICAgICAgbWVzc2FnZTogYOi/meS8muWIoOmZpOeOsOacieS7k+W6kyR7bGV2ZWwubG9jYXRpb24ubmFtZX3llYblk4HlupPlrZjmlbDmja4sIOehruWumuWQlz9gLFxuICAgICAgY2FuY2VsVGV4dDogJ0NhbmNlbCcsXG4gICAgICBjb25maXJtVGV4dDogJ+ehruiupCcsXG4gICAgfTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihvcHRpb25zKTtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybWVkKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgIHRoaXMuaW52ZW50b3J5U2VydmljZS5kZWxldGVJbnZlbnRvcnlMZXZlbChsZXZlbC5pZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5pbnZlbnRvcnlJdGVtLmxldmVscy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPHJvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4gIDxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwiSW52ZW50b3J5IHNldHRpbmdcIiBjbGFzcz1cImhpZGRlbiBtZDpibG9ja1wiIGRpdmlkZXI+PC9yb2xhdGVjaC10b29sYmFyPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAjaW52ZW50b3J5U2xpZGVcbiAgICAgICAgW2NoZWNrZWRdPVwiaW52ZW50b3J5RW5hYmxlZFwiXG4gICAgICAgIChjaGFuZ2UpPVwib25JbnZlbnRvcnlTbGlkZVRvZ2dsZSgkZXZlbnQpXCJcbiAgICAgID48L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8ZGl2IGkxOG4+RW5hYmxlIHRyYWNraW5nPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgQGlmIChpbnZlbnRvcnlFbmFibGVkKSB7XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgbmFtZT1cImlkXCJcbiAgICAgICAgICBbdmFsdWVdPVwic2VsZWN0ZWRMb2NhdGlvblwiXG4gICAgICAgICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVMb2NhdGlvbkZuXCJcbiAgICAgICAgICAjc2VsZWN0PVwibWF0U2VsZWN0XCJcbiAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uTG9jYXRpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICBAZm9yIChpdGVtIG9mIGxvY2F0aW9ucygpOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbVwiPlxuICAgICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgfVxuICA8L2Rpdj5cbiAgQGlmIChpbnZlbnRvcnlFbmFibGVkKSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZGl2aWRlLXkgZGl2aWRlLVstLXJ0LTEwLXBlcmNlbnQtbGF5ZXJdXCI+XG4gICAgICBAZm9yIChpdGVtIG9mIGludmVudG9yaWVzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBweS0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTNcIj5cbiAgICAgICAgICAgIDxkaXY+e3sgaXRlbS5vcHRpb25zIHwgb3B0aW9ucyB9fTwvZGl2PlxuICAgICAgICAgICAgPCEtLSA8ZGl2Pnt7IGl0ZW0uaW52ZW50b3J5SXRlbUlkIH19PC9kaXY+IC0tPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0zXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJoLTEyXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgaTE4bj5QcmljZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8c3BhbiBtYXRUZXh0UHJlZml4PiDCpSAmbmJzcDs8L3NwYW4+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgW3ZhbHVlXT1cIml0ZW0ucHJpY2UgfCBmaXhlZFwiIHJvbGF0ZWNoRGVjaW1hbCAvPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cImgtMTJcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCBpMThuPlRvdGFsPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgWyhuZ01vZGVsKV09XCJpdGVtLmFtb3VudFwiIFtkaXNhYmxlZF09XCJsb2FkaW5nTG9jYXRpb25cIiAvPlxuICAgICAgICAgICAgICA8IS0tIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgW3ZhbHVlXT1cIlwiIFtkaXNhYmxlZF09XCJsb2FkaW5nTG9jYXRpb25cIiAvPiAtLT5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJoLTEyXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgaTE4bj5SZW1haW5pbmc8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBbKG5nTW9kZWwpXT1cIml0ZW0uYXZhaWxhYmxlXCIgW2Rpc2FibGVkXT1cImxvYWRpbmdMb2NhdGlvblwiIC8+XG4gICAgICAgICAgICAgIDwhLS0gPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBbdmFsdWVdPVwiXCIgW2Rpc2FibGVkXT1cImxvYWRpbmdMb2NhdGlvblwiIC8+IC0tPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTNcIj5cbiAgICAgIDwhLS0gPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cImFkZCgpXCI+5re75YqgPC9idXR0b24+IC0tPlxuICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gKGNsaWNrKT1cInNhdmVJbnZlbnRvcnlMZXZlbHMoKVwiIGkxOG4+U2F2ZTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICB9XG48L3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4iXX0=","import { ENTER, COMMA } from '@angular/cdk/keycodes';\nimport { Component, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, ToolbarComponent } from '@rolatech/angular-components';\nimport { ProductManageContentComponent } from '../product-manage-content/product-manage-content.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/chips\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/form-field\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/material/icon\";\nexport class ProductManageTagsComponent {\n constructor() {\n this.addOnBlur = true;\n this.separatorKeysCodes = [ENTER, COMMA];\n this.save = output();\n this.action = true;\n this.output = output();\n this.tags = [];\n }\n onSave() {\n this.save.emit(this.tags);\n }\n addTag(event) {\n const value = (event.value || '').trim();\n if (value) {\n this.tags.push({ id: '', name: value });\n }\n event.chipInput.clear();\n }\n removeTag(tag) {\n if (tag) {\n const index = this.tags.findIndex((item) => item.name === tag.name);\n this.tags.splice(index, 1);\n }\n }\n ngDoCheck() {\n this.output.emit(this.tags);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageTagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.4\", type: ProductManageTagsComponent, isStandalone: true, selector: \"rolatech-product-manage-tags\", outputs: { save: \"save\", output: \"output\" }, ngImport: i0, template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u6807\\u7B7E\\u8BBE\\u7F6E\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div class=\\\"flex flex-col\\\">\\n <div class=\\\"p-1\\\" i18n>Lavel</div>\\n <form>\\n <mat-form-field>\\n <mat-chip-grid #chipGrid aria-label=\\\"Enter values\\\">\\n @for (tag of tags; track tag) {\\n <mat-chip-row (removed)=\\\"removeTag(tag)\\\" [editable]=\\\"true\\\" [aria-description]=\\\"'press enter to edit ' + tag.name\\\">\\n {{ tag.name }}\\n <button matChipRemove [attr.aria-label]=\\\"'remove ' + tag.name\\\">\\n <mat-icon>cancel</mat-icon>\\n </button>\\n </mat-chip-row>\\n }\\n <input\\n placeholder=\\\"\\u6807\\u7B7E\\u503C\\\"\\n [matChipInputFor]=\\\"chipGrid\\\"\\n [matChipInputSeparatorKeyCodes]=\\\"separatorKeysCodes\\\"\\n [matChipInputAddOnBlur]=\\\"addOnBlur\\\"\\n (matChipInputTokenEnd)=\\\"addTag($event)\\\"\\n />\\n </mat-chip-grid>\\n </mat-form-field>\\n </form>\\n </div>\\n @if (action) {\\n <div class=\\\"flex items-center justify-end\\\">\\n <button mat-flat-button (click)=\\\"onSave()\\\" i18n>Save</button>\\n </div>\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-form-field{width:100%}\\n\"], dependencies: [{ kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: ProductManageContentComponent, selector: \"rolatech-product-manage-content\" }, { kind: \"ngmodule\", type: MatChipsModule }, { kind: \"component\", type: i1.MatChipGrid, selector: \"mat-chip-grid\", inputs: [\"disabled\", \"placeholder\", \"required\", \"value\", \"errorStateMatcher\"], outputs: [\"change\", \"valueChange\"] }, { kind: \"directive\", type: i1.MatChipInput, selector: \"input[matChipInputFor]\", inputs: [\"matChipInputFor\", \"matChipInputAddOnBlur\", \"matChipInputSeparatorKeyCodes\", \"placeholder\", \"id\", \"disabled\", \"readonly\", \"matChipInputDisabledInteractive\"], outputs: [\"matChipInputTokenEnd\"], exportAs: [\"matChipInput\", \"matChipInputFor\"] }, { kind: \"directive\", type: i1.MatChipRemove, selector: \"[matChipRemove]\" }, { kind: \"component\", type: i1.MatChipRow, selector: \"mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]\", inputs: [\"editable\"], outputs: [\"edited\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i2.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatFormFieldModule }, { kind: \"component\", type: i3.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"directive\", type: i4.ɵNgNoValidate, selector: \"form:not([ngNoForm]):not([ngNativeValidate])\" }, { kind: \"directive\", type: i4.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i4.NgForm, selector: \"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]\", inputs: [\"ngFormOptions\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i5.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatIconModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ProductManageTagsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rolatech-product-manage-tags', imports: [\n ToolbarComponent,\n ProductManageContentComponent,\n MatChipsModule,\n MatButtonModule,\n MatFormFieldModule,\n AngularCommonModule,\n AngularComponentsModule,\n MatIconModule,\n ], template: \"<rolatech-product-manage-content>\\n <rolatech-toolbar title=\\\"\\u6807\\u7B7E\\u8BBE\\u7F6E\\\" class=\\\"hidden md:block\\\" divider> </rolatech-toolbar>\\n <div class=\\\"flex flex-col\\\">\\n <div class=\\\"p-1\\\" i18n>Lavel</div>\\n <form>\\n <mat-form-field>\\n <mat-chip-grid #chipGrid aria-label=\\\"Enter values\\\">\\n @for (tag of tags; track tag) {\\n <mat-chip-row (removed)=\\\"removeTag(tag)\\\" [editable]=\\\"true\\\" [aria-description]=\\\"'press enter to edit ' + tag.name\\\">\\n {{ tag.name }}\\n <button matChipRemove [attr.aria-label]=\\\"'remove ' + tag.name\\\">\\n <mat-icon>cancel</mat-icon>\\n </button>\\n </mat-chip-row>\\n }\\n <input\\n placeholder=\\\"\\u6807\\u7B7E\\u503C\\\"\\n [matChipInputFor]=\\\"chipGrid\\\"\\n [matChipInputSeparatorKeyCodes]=\\\"separatorKeysCodes\\\"\\n [matChipInputAddOnBlur]=\\\"addOnBlur\\\"\\n (matChipInputTokenEnd)=\\\"addTag($event)\\\"\\n />\\n </mat-chip-grid>\\n </mat-form-field>\\n </form>\\n </div>\\n @if (action) {\\n <div class=\\\"flex items-center justify-end\\\">\\n <button mat-flat-button (click)=\\\"onSave()\\\" i18n>Save</button>\\n </div>\\n }\\n</rolatech-product-manage-content>\\n\", styles: [\"mat-form-field{width:100%}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2UtdGFncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9wYWdlcy9wcm9kdWN0LW1hbmFnZS9wcm9kdWN0LW1hbmFnZS10YWdzL3Byb2R1Y3QtbWFuYWdlLXRhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2UtdGFncy9wcm9kdWN0LW1hbmFnZS10YWdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBVyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBcUIsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXpGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDOzs7Ozs7O0FBaUIzRyxNQUFNLE9BQU8sMEJBQTBCO0lBZnZDO1FBZ0JFLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDUix1QkFBa0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQVUsQ0FBQztRQUN0RCxTQUFJLEdBQUcsTUFBTSxFQUFnQixDQUFDO1FBQzlCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxXQUFNLEdBQUcsTUFBTSxFQUFPLENBQUM7UUFDdkIsU0FBSSxHQUFpQixFQUFFLENBQUM7S0F1QnpCO0lBckJDLE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUF3QjtRQUM3QixNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQVE7UUFDaEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7OEdBNUJVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHFJQzFCdkMsc3dDQWdDQSxzRkRsQkksZ0JBQWdCLGdJQUNoQiw2QkFBNkIsMkVBQzdCLGNBQWMsMnhCQUNkLGVBQWUsbVhBQ2Ysa0JBQWtCLHlPQUNsQixtQkFBbUIsdWRBQ25CLHVCQUF1QixtTEFDdkIsYUFBYTs7MkZBS0osMEJBQTBCO2tCQWZ0QyxTQUFTOytCQUNFLDhCQUE4QixXQUMvQjt3QkFDUCxnQkFBZ0I7d0JBQ2hCLDZCQUE2Qjt3QkFDN0IsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGFBQWE7cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFTlRFUiwgQ09NTUEgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBEb0NoZWNrLCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCwgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IFByb2R1Y3RUYWcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFByb2R1Y3RNYW5hZ2VDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZHVjdC1tYW5hZ2UtY29udGVudC9wcm9kdWN0LW1hbmFnZS1jb250ZW50LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLXRhZ3MnLFxuICBpbXBvcnRzOiBbXG4gICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICBQcm9kdWN0TWFuYWdlQ29udGVudENvbXBvbmVudCxcbiAgICBNYXRDaGlwc01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIEFuZ3VsYXJDb21tb25Nb2R1bGUsXG4gICAgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWFuYWdlLXRhZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJvZHVjdC1tYW5hZ2UtdGFncy5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNYW5hZ2VUYWdzQ29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjayB7XG4gIGFkZE9uQmx1ciA9IHRydWU7XG4gIHJlYWRvbmx5IHNlcGFyYXRvcktleXNDb2RlcyA9IFtFTlRFUiwgQ09NTUFdIGFzIGNvbnN0O1xuICBzYXZlID0gb3V0cHV0PFByb2R1Y3RUYWdbXT4oKTtcbiAgYWN0aW9uID0gdHJ1ZTtcbiAgb3V0cHV0ID0gb3V0cHV0PGFueT4oKTtcbiAgdGFnczogUHJvZHVjdFRhZ1tdID0gW107XG5cbiAgb25TYXZlKCkge1xuICAgIHRoaXMuc2F2ZS5lbWl0KHRoaXMudGFncyk7XG4gIH1cblxuICBhZGRUYWcoZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KSB7XG4gICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudmFsdWUgfHwgJycpLnRyaW0oKTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMudGFncy5wdXNoKHsgaWQ6ICcnLCBuYW1lOiB2YWx1ZSB9KTtcbiAgICB9XG4gICAgZXZlbnQuY2hpcElucHV0LmNsZWFyKCk7XG4gIH1cbiAgcmVtb3ZlVGFnKHRhZzogYW55KSB7XG4gICAgaWYgKHRhZykge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnRhZ3MuZmluZEluZGV4KChpdGVtOiBhbnkpID0+IGl0ZW0ubmFtZSA9PT0gdGFnLm5hbWUpO1xuICAgICAgdGhpcy50YWdzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9XG5cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIHRoaXMub3V0cHV0LmVtaXQodGhpcy50YWdzKTtcbiAgfVxufVxuIiwiPHJvbGF0ZWNoLXByb2R1Y3QtbWFuYWdlLWNvbnRlbnQ+XG4gIDxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwi5qCH562+6K6+572uXCIgY2xhc3M9XCJoaWRkZW4gbWQ6YmxvY2tcIiBkaXZpZGVyPiA8L3JvbGF0ZWNoLXRvb2xiYXI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgPGRpdiBjbGFzcz1cInAtMVwiIGkxOG4+TGF2ZWw8L2Rpdj5cbiAgICA8Zm9ybT5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1jaGlwLWdyaWQgI2NoaXBHcmlkIGFyaWEtbGFiZWw9XCJFbnRlciB2YWx1ZXNcIj5cbiAgICAgICAgICBAZm9yICh0YWcgb2YgdGFnczsgdHJhY2sgdGFnKSB7XG4gICAgICAgICAgICA8bWF0LWNoaXAtcm93IChyZW1vdmVkKT1cInJlbW92ZVRhZyh0YWcpXCIgW2VkaXRhYmxlXT1cInRydWVcIiBbYXJpYS1kZXNjcmlwdGlvbl09XCIncHJlc3MgZW50ZXIgdG8gZWRpdCAnICsgdGFnLm5hbWVcIj5cbiAgICAgICAgICAgICAge3sgdGFnLm5hbWUgfX1cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXRDaGlwUmVtb3ZlIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3JlbW92ZSAnICsgdGFnLm5hbWVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1jaGlwLXJvdz5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuagh+etvuWAvFwiXG4gICAgICAgICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBHcmlkXCJcbiAgICAgICAgICAgIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJzZXBhcmF0b3JLZXlzQ29kZXNcIlxuICAgICAgICAgICAgW21hdENoaXBJbnB1dEFkZE9uQmx1cl09XCJhZGRPbkJsdXJcIlxuICAgICAgICAgICAgKG1hdENoaXBJbnB1dFRva2VuRW5kKT1cImFkZFRhZygkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L21hdC1jaGlwLWdyaWQ+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZm9ybT5cbiAgPC9kaXY+XG4gIEBpZiAoYWN0aW9uKSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kXCI+XG4gICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwib25TYXZlKClcIiBpMThuPlNhdmU8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9yb2xhdGVjaC1wcm9kdWN0LW1hbmFnZS1jb250ZW50PlxuIl19","import { ProductManageLayoutComponent } from './product-manage-layout/product-manage-layout.component';\nimport { ProductManageInfoComponent } from './product-manage-info/product-manage-info.component';\nimport { ProductManageSectionsComponent } from './product-manage-sections/product-manage-sections.component';\nimport { ProductManageMediaComponent } from './product-manage-media/product-manage-media.component';\nimport { ProductManagePricingComponent } from './product-manage-pricing/product-manage-pricing.component';\nimport { ProductManageIndexComponent } from './product-manage-index/product-manage-index.component';\nimport { ProductManageCreateComponent } from './product-manage-create/product-manage-create.component';\nimport { ProductManageOptionsComponent } from './product-manage-options/product-manage-options.component';\nimport { ProductManageVariantsComponent } from './product-manage-variants/product-manage-variants.component';\nimport { ProductManageScheduleComponent } from './product-manage-schedule/product-manage-schedule.component';\nimport { ProductManageInventoryComponent } from './product-manage-inventory/product-manage-inventory.component';\nimport { ProductManageTagsComponent } from './product-manage-tags/product-manage-tags.component';\nexport const productManageRoutes = [\n {\n path: '',\n component: ProductManageIndexComponent,\n },\n {\n path: 'create',\n component: ProductManageCreateComponent,\n },\n // {\n // path: ':id',\n // redirectTo: ':id/manage/info',\n // },\n {\n path: ':id/manage',\n component: ProductManageLayoutComponent,\n children: [\n {\n path: 'info',\n component: ProductManageInfoComponent,\n },\n {\n path: 'media',\n component: ProductManageMediaComponent,\n },\n {\n path: 'tags',\n component: ProductManageTagsComponent,\n },\n {\n path: 'sections',\n component: ProductManageSectionsComponent,\n },\n {\n path: 'options',\n component: ProductManageOptionsComponent,\n },\n {\n path: 'variants',\n component: ProductManageVariantsComponent,\n },\n {\n path: 'inventory',\n component: ProductManageInventoryComponent,\n },\n {\n path: 'pricing',\n component: ProductManagePricingComponent,\n },\n {\n path: 'schedule',\n component: ProductManageScheduleComponent,\n },\n ],\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2Uucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9saWIvcGFnZXMvcHJvZHVjdC1tYW5hZ2UvcHJvZHVjdC1tYW5hZ2Uucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2hILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRWpHLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFXO0lBQ3pDO1FBQ0UsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsMkJBQTJCO0tBQ3ZDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLFNBQVMsRUFBRSw0QkFBNEI7S0FDeEM7SUFDRCxJQUFJO0lBQ0osaUJBQWlCO0lBQ2pCLG1DQUFtQztJQUNuQyxLQUFLO0lBQ0w7UUFDRSxJQUFJLEVBQUUsWUFBWTtRQUNsQixTQUFTLEVBQUUsNEJBQTRCO1FBQ3ZDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLElBQUksRUFBRSxNQUFNO2dCQUNaLFNBQVMsRUFBRSwwQkFBMEI7YUFDdEM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsT0FBTztnQkFDYixTQUFTLEVBQUUsMkJBQTJCO2FBQ3ZDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLE1BQU07Z0JBQ1osU0FBUyxFQUFFLDBCQUEwQjthQUN0QztZQUNEO2dCQUNFLElBQUksRUFBRSxVQUFVO2dCQUNoQixTQUFTLEVBQUUsOEJBQThCO2FBQzFDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsU0FBUyxFQUFFLDZCQUE2QjthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSxVQUFVO2dCQUNoQixTQUFTLEVBQUUsOEJBQThCO2FBQzFDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLFNBQVMsRUFBRSwrQkFBK0I7YUFDM0M7WUFFRDtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixTQUFTLEVBQUUsNkJBQTZCO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLFNBQVMsRUFBRSw4QkFBOEI7YUFDMUM7U0FDRjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LW1hbmFnZS1sYXlvdXQvcHJvZHVjdC1tYW5hZ2UtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1tYW5hZ2UtaW5mby9wcm9kdWN0LW1hbmFnZS1pbmZvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlU2VjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbWFuYWdlLXNlY3Rpb25zL3Byb2R1Y3QtbWFuYWdlLXNlY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlTWVkaWFDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbWFuYWdlLW1lZGlhL3Byb2R1Y3QtbWFuYWdlLW1lZGlhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlUHJpY2luZ0NvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1tYW5hZ2UtcHJpY2luZy9wcm9kdWN0LW1hbmFnZS1wcmljaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlSW5kZXhDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbWFuYWdlLWluZGV4L3Byb2R1Y3QtbWFuYWdlLWluZGV4LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlQ3JlYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LW1hbmFnZS1jcmVhdGUvcHJvZHVjdC1tYW5hZ2UtY3JlYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlT3B0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1tYW5hZ2Utb3B0aW9ucy9wcm9kdWN0LW1hbmFnZS1vcHRpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlVmFyaWFudHNDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbWFuYWdlLXZhcmlhbnRzL3Byb2R1Y3QtbWFuYWdlLXZhcmlhbnRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlU2NoZWR1bGVDb21wb25lbnQgfSBmcm9tICcuL3Byb2R1Y3QtbWFuYWdlLXNjaGVkdWxlL3Byb2R1Y3QtbWFuYWdlLXNjaGVkdWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlSW52ZW50b3J5Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LW1hbmFnZS1pbnZlbnRvcnkvcHJvZHVjdC1tYW5hZ2UtaW52ZW50b3J5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TWFuYWdlVGFnc0NvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1tYW5hZ2UtdGFncy9wcm9kdWN0LW1hbmFnZS10YWdzLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBwcm9kdWN0TWFuYWdlUm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IFByb2R1Y3RNYW5hZ2VJbmRleENvbXBvbmVudCxcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdjcmVhdGUnLFxuICAgIGNvbXBvbmVudDogUHJvZHVjdE1hbmFnZUNyZWF0ZUNvbXBvbmVudCxcbiAgfSxcbiAgLy8ge1xuICAvLyAgIHBhdGg6ICc6aWQnLFxuICAvLyAgIHJlZGlyZWN0VG86ICc6aWQvbWFuYWdlL2luZm8nLFxuICAvLyB9LFxuICB7XG4gICAgcGF0aDogJzppZC9tYW5hZ2UnLFxuICAgIGNvbXBvbmVudDogUHJvZHVjdE1hbmFnZUxheW91dENvbXBvbmVudCxcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICBwYXRoOiAnaW5mbycsXG4gICAgICAgIGNvbXBvbmVudDogUHJvZHVjdE1hbmFnZUluZm9Db21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnbWVkaWEnLFxuICAgICAgICBjb21wb25lbnQ6IFByb2R1Y3RNYW5hZ2VNZWRpYUNvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICd0YWdzJyxcbiAgICAgICAgY29tcG9uZW50OiBQcm9kdWN0TWFuYWdlVGFnc0NvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdzZWN0aW9ucycsXG4gICAgICAgIGNvbXBvbmVudDogUHJvZHVjdE1hbmFnZVNlY3Rpb25zQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ29wdGlvbnMnLFxuICAgICAgICBjb21wb25lbnQ6IFByb2R1Y3RNYW5hZ2VPcHRpb25zQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ3ZhcmlhbnRzJyxcbiAgICAgICAgY29tcG9uZW50OiBQcm9kdWN0TWFuYWdlVmFyaWFudHNDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaW52ZW50b3J5JyxcbiAgICAgICAgY29tcG9uZW50OiBQcm9kdWN0TWFuYWdlSW52ZW50b3J5Q29tcG9uZW50LFxuICAgICAgfSxcblxuICAgICAge1xuICAgICAgICBwYXRoOiAncHJpY2luZycsXG4gICAgICAgIGNvbXBvbmVudDogUHJvZHVjdE1hbmFnZVByaWNpbmdDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnc2NoZWR1bGUnLFxuICAgICAgICBjb21wb25lbnQ6IFByb2R1Y3RNYW5hZ2VTY2hlZHVsZUNvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl07XG4iXX0=","import { importProvidersFrom, makeEnvironmentProviders } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nexport function provideAngularProduct() {\n const providers = [\n importProvidersFrom(CommonModule, ReactiveFormsModule, FormsModule, RouterModule),\n ];\n return makeEnvironmentProviders(providers);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0MsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxNQUFNLFNBQVMsR0FBd0M7UUFDckQsbUJBQW1CLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUM7S0FDbEYsQ0FBQztJQUNGLE9BQU8sd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50UHJvdmlkZXJzLCBQcm92aWRlciwgaW1wb3J0UHJvdmlkZXJzRnJvbSwgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUFuZ3VsYXJQcm9kdWN0KCk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgY29uc3QgcHJvdmlkZXJzOiAoUHJvdmlkZXIgfCBFbnZpcm9ubWVudFByb3ZpZGVycylbXSA9IFtcbiAgICBpbXBvcnRQcm92aWRlcnNGcm9tKENvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUsIFJvdXRlck1vZHVsZSksXG4gIF07XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMocHJvdmlkZXJzKTtcbn1cbiJdfQ==","export const services = [];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXByb2R1Y3Qvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQVUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHNlcnZpY2VzOiBhbnlbXSA9IFtdO1xuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sYXRlY2gtYW5ndWxhci1wcm9kdWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1wcm9kdWN0L3NyYy9yb2xhdGVjaC1hbmd1bGFyLXByb2R1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1","i2","i3","i4","i5","i6","i7","i8","i9"],"mappings":"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"}
|