@rolatech/angular-course 17.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +7 -0
  2. package/esm2022/index.mjs +4 -0
  3. package/esm2022/lib/components/course-action/course-action.component.mjs +27 -0
  4. package/esm2022/lib/components/course-details/course-details.component.mjs +27 -0
  5. package/esm2022/lib/components/course-info/course-info.component.mjs +19 -0
  6. package/esm2022/lib/components/course-item/course-item.component.mjs +15 -0
  7. package/esm2022/lib/components/course-media/course-media.component.mjs +34 -0
  8. package/esm2022/lib/components/course-media-owner-renderer/course-media-owner-renderer.component.mjs +20 -0
  9. package/esm2022/lib/components/course-pricing/course-pricing.component.mjs +14 -0
  10. package/esm2022/lib/components/course-schedule/course-schedule.component.mjs +22 -0
  11. package/esm2022/lib/components/course-sections/course-sections.component.mjs +30 -0
  12. package/esm2022/lib/interfaces/category.mjs +2 -0
  13. package/esm2022/lib/interfaces/course.mjs +146 -0
  14. package/esm2022/lib/interfaces/index.mjs +2 -0
  15. package/esm2022/lib/interfaces/media.mjs +2 -0
  16. package/esm2022/lib/pages/course/course-category/course-category.component.mjs +74 -0
  17. package/esm2022/lib/pages/course/course-detail/course-detail.component.mjs +157 -0
  18. package/esm2022/lib/pages/course/course-index/course-index.component.mjs +53 -0
  19. package/esm2022/lib/pages/course/course-layout/course-layout.component.mjs +49 -0
  20. package/esm2022/lib/pages/course/course-section-content/course-section-content.component.mjs +140 -0
  21. package/esm2022/lib/pages/course/course.routes.mjs +34 -0
  22. package/esm2022/lib/services/category.service.mjs +38 -0
  23. package/esm2022/lib/services/course-section.service.mjs +26 -0
  24. package/esm2022/lib/services/course.service.mjs +280 -0
  25. package/esm2022/lib/services/index.mjs +6 -0
  26. package/esm2022/provider.mjs +13 -0
  27. package/esm2022/rolatech-angular-course.mjs +5 -0
  28. package/fesm2022/rolatech-angular-course.mjs +1139 -0
  29. package/fesm2022/rolatech-angular-course.mjs.map +1 -0
  30. package/index.d.ts +3 -0
  31. package/lib/components/course-action/course-action.component.d.ts +14 -0
  32. package/lib/components/course-details/course-details.component.d.ts +20 -0
  33. package/lib/components/course-info/course-info.component.d.ts +9 -0
  34. package/lib/components/course-item/course-item.component.d.ts +8 -0
  35. package/lib/components/course-media/course-media.component.d.ts +12 -0
  36. package/lib/components/course-media-owner-renderer/course-media-owner-renderer.component.d.ts +8 -0
  37. package/lib/components/course-pricing/course-pricing.component.d.ts +7 -0
  38. package/lib/components/course-schedule/course-schedule.component.d.ts +10 -0
  39. package/lib/components/course-sections/course-sections.component.d.ts +19 -0
  40. package/lib/interfaces/category.d.ts +16 -0
  41. package/lib/interfaces/course.d.ts +143 -0
  42. package/lib/interfaces/index.d.ts +3 -0
  43. package/lib/interfaces/media.d.ts +9 -0
  44. package/lib/pages/course/course-category/course-category.component.d.ts +21 -0
  45. package/lib/pages/course/course-detail/course-detail.component.d.ts +36 -0
  46. package/lib/pages/course/course-index/course-index.component.d.ts +18 -0
  47. package/lib/pages/course/course-layout/course-layout.component.d.ts +17 -0
  48. package/lib/pages/course/course-section-content/course-section-content.component.d.ts +40 -0
  49. package/lib/pages/course/course.routes.d.ts +2 -0
  50. package/lib/services/category.service.d.ts +12 -0
  51. package/lib/services/course-section.service.d.ts +10 -0
  52. package/lib/services/course.service.d.ts +65 -0
  53. package/lib/services/index.d.ts +5 -0
  54. package/package.json +31 -0
  55. package/provider.d.ts +2 -0
  56. package/themes/_default.scss +1 -0
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # angular-course
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test angular-course` to execute the unit tests.
@@ -0,0 +1,4 @@
1
+ export * from './lib/interfaces';
2
+ export * from './provider';
3
+ export { courseRoutes } from './lib/pages/course/course.routes';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcic7XG5leHBvcnQgeyBjb3Vyc2VSb3V0ZXMgfSBmcm9tICcuL2xpYi9wYWdlcy9jb3Vyc2UvY291cnNlLnJvdXRlcyc7XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { Component, input, output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CourseActionComponent {
4
+ constructor() {
5
+ this.course = input.required();
6
+ this.inWishList = input(false);
7
+ this.cart = output();
8
+ this.wish = output();
9
+ this.checkout = output();
10
+ }
11
+ onCart(course) {
12
+ this.cart.emit(course);
13
+ }
14
+ onWish(course) {
15
+ this.wish.emit(course);
16
+ }
17
+ onCheckout(course) {
18
+ this.checkout.emit(course);
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.0", type: CourseActionComponent, isStandalone: true, selector: "rolatech-course-action", inputs: { course: { classPropertyName: "course", publicName: "course", isSignal: true, isRequired: true, transformFunction: null }, inWishList: { classPropertyName: "inWishList", publicName: "inWishList", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { cart: "cart", wish: "wish", checkout: "checkout" }, ngImport: i0, template: "<div class=\"flex flex-col\">\n <!-- <a class=\"p-3 bg-orange-600 text-white text-center mt-3\" target=\"_blank\" (click)=\"onCart(course)\">\u52A0\u5165\u8D2D\u7269\u8F66</a> -->\n <a\n class=\"p-3 bg-orange-600 text-white text-center mt-3 cursor-pointer rounded-md hover:bg-orange-700\"\n target=\"_blank\"\n (click)=\"onCheckout(course())\"\n >\u7ACB\u5373\u8D2D\u4E70</a\n >\n <a\n class=\"p-3 border border-black text-center mt-3 cursor-pointer rounded-md hover:bg-gray-100\"\n target=\"_blank\"\n (click)=\"onWish(course())\"\n >{{ inWishList() ? '\u79FB\u9664\u6536\u85CF' : '\u52A0\u5165\u6536\u85CF' }}</a\n >\n</div>\n", styles: [""] }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseActionComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'rolatech-course-action', standalone: true, template: "<div class=\"flex flex-col\">\n <!-- <a class=\"p-3 bg-orange-600 text-white text-center mt-3\" target=\"_blank\" (click)=\"onCart(course)\">\u52A0\u5165\u8D2D\u7269\u8F66</a> -->\n <a\n class=\"p-3 bg-orange-600 text-white text-center mt-3 cursor-pointer rounded-md hover:bg-orange-700\"\n target=\"_blank\"\n (click)=\"onCheckout(course())\"\n >\u7ACB\u5373\u8D2D\u4E70</a\n >\n <a\n class=\"p-3 border border-black text-center mt-3 cursor-pointer rounded-md hover:bg-gray-100\"\n target=\"_blank\"\n (click)=\"onWish(course())\"\n >{{ inWishList() ? '\u79FB\u9664\u6536\u85CF' : '\u52A0\u5165\u6536\u85CF' }}</a\n >\n</div>\n" }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9saWIvY29tcG9uZW50cy9jb3Vyc2UtYWN0aW9uL2NvdXJzZS1hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWFjdGlvbi9jb3Vyc2UtYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTekQsTUFBTSxPQUFPLHFCQUFxQjtJQU5sQztRQU9FLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDbEMsZUFBVSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVuQyxTQUFJLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFDeEIsU0FBSSxHQUFHLE1BQU0sRUFBVSxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxNQUFNLEVBQVUsQ0FBQztLQVc3QjtJQVRDLE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxNQUFNLENBQUMsTUFBYztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsVUFBVSxDQUFDLE1BQWM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs4R0FoQlUscUJBQXFCO2tHQUFyQixxQkFBcUIsOFpDVGxDLG1wQkFlQTs7MkZETmEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLHdCQUF3QixjQUd0QixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3Vyc2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtY291cnNlLWFjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3Vyc2UtYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY291cnNlLWFjdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDb3Vyc2VBY3Rpb25Db21wb25lbnQge1xuICBjb3Vyc2UgPSBpbnB1dC5yZXF1aXJlZDxDb3Vyc2U+KCk7XG4gIGluV2lzaExpc3QgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgY2FydCA9IG91dHB1dDxDb3Vyc2U+KCk7XG4gIHdpc2ggPSBvdXRwdXQ8Q291cnNlPigpO1xuICBjaGVja291dCA9IG91dHB1dDxDb3Vyc2U+KCk7XG5cbiAgb25DYXJ0KGNvdXJzZTogQ291cnNlKSB7XG4gICAgdGhpcy5jYXJ0LmVtaXQoY291cnNlKTtcbiAgfVxuICBvbldpc2goY291cnNlOiBDb3Vyc2UpIHtcbiAgICB0aGlzLndpc2guZW1pdChjb3Vyc2UpO1xuICB9XG4gIG9uQ2hlY2tvdXQoY291cnNlOiBDb3Vyc2UpIHtcbiAgICB0aGlzLmNoZWNrb3V0LmVtaXQoY291cnNlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cbiAgPCEtLSA8YSBjbGFzcz1cInAtMyBiZy1vcmFuZ2UtNjAwIHRleHQtd2hpdGUgdGV4dC1jZW50ZXIgbXQtM1wiIHRhcmdldD1cIl9ibGFua1wiIChjbGljayk9XCJvbkNhcnQoY291cnNlKVwiPuWKoOWFpei0reeJqei9pjwvYT4gLS0+XG4gIDxhXG4gICAgY2xhc3M9XCJwLTMgYmctb3JhbmdlLTYwMCB0ZXh0LXdoaXRlIHRleHQtY2VudGVyIG10LTMgY3Vyc29yLXBvaW50ZXIgcm91bmRlZC1tZCBob3ZlcjpiZy1vcmFuZ2UtNzAwXCJcbiAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgIChjbGljayk9XCJvbkNoZWNrb3V0KGNvdXJzZSgpKVwiXG4gICAgPueri+WNs+i0reS5sDwvYVxuICA+XG4gIDxhXG4gICAgY2xhc3M9XCJwLTMgYm9yZGVyIGJvcmRlci1ibGFjayB0ZXh0LWNlbnRlciBtdC0zIGN1cnNvci1wb2ludGVyIHJvdW5kZWQtbWQgaG92ZXI6YmctZ3JheS0xMDBcIlxuICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgKGNsaWNrKT1cIm9uV2lzaChjb3Vyc2UoKSlcIlxuICAgID57eyBpbldpc2hMaXN0KCkgPyAn56e76Zmk5pS26JePJyA6ICfliqDlhaXmlLbol48nIH19PC9hXG4gID5cbjwvZGl2PlxuIl19
@@ -0,0 +1,27 @@
1
+ import { ViewportScroller } from '@angular/common';
2
+ import { Component, ElementRef, inject, input, PLATFORM_ID } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class CourseDetailsComponent {
5
+ constructor() {
6
+ this.details = input.required();
7
+ this.instructor = input();
8
+ this.username = input();
9
+ this.el = inject(ElementRef);
10
+ this.viewportScroller = inject(ViewportScroller);
11
+ this.platformId = inject(PLATFORM_ID);
12
+ this.show = false;
13
+ this.mediaIndex = 0;
14
+ this.finalSchedule = [];
15
+ }
16
+ ngOnInit() { }
17
+ onClickScroller(id) {
18
+ this.viewportScroller.scrollToAnchor(id);
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseDetailsComponent, isStandalone: true, selector: "rolatech-course-details", inputs: { details: { classPropertyName: "details", publicName: "details", isSignal: true, isRequired: true, transformFunction: null }, instructor: { classPropertyName: "instructor", publicName: "instructor", isSignal: true, isRequired: false, transformFunction: null }, username: { classPropertyName: "username", publicName: "username", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"py-3\" id=\"details\">\n <div class=\"text-xl font-medium py-2\">\u8BE6\u60C5</div>\n @if (details()) {\n @for (detail of details(); track $index) {\n <div>\n @if (detail.title) {\n <div class=\"py-3 flex items-center gap-3\">\n <span class=\"h-4 w-1 bg-orange-500 inline-block\"></span>\n <span class=\"text-lg font-medium py-1\"> {{ detail.title }}</span>\n </div>\n }\n @if (detail.content) {\n <div>\n {{ detail.content }}\n </div>\n }\n @if (detail.media) {\n <div class=\"w-80%\">\n @for (item of detail.media; track item) {\n <div class=\"py-3\">\n <img class=\"object-cover\" [src]=\"item.url + '?imageMogr2/format/avif'\" />\n </div>\n }\n </div>\n }\n </div>\n }\n }\n</div>\n", styles: [""] }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseDetailsComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'rolatech-course-details', standalone: true, imports: [], template: "<div class=\"py-3\" id=\"details\">\n <div class=\"text-xl font-medium py-2\">\u8BE6\u60C5</div>\n @if (details()) {\n @for (detail of details(); track $index) {\n <div>\n @if (detail.title) {\n <div class=\"py-3 flex items-center gap-3\">\n <span class=\"h-4 w-1 bg-orange-500 inline-block\"></span>\n <span class=\"text-lg font-medium py-1\"> {{ detail.title }}</span>\n </div>\n }\n @if (detail.content) {\n <div>\n {{ detail.content }}\n </div>\n }\n @if (detail.media) {\n <div class=\"w-80%\">\n @for (item of detail.media; track item) {\n <div class=\"py-3\">\n <img class=\"object-cover\" [src]=\"item.url + '?imageMogr2/format/avif'\" />\n </div>\n }\n </div>\n }\n </div>\n }\n }\n</div>\n" }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWRldGFpbHMvY291cnNlLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWRldGFpbHMvY291cnNlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVTFGLE1BQU0sT0FBTyxzQkFBc0I7SUFQbkM7UUFRRSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0IsQ0FBQztRQUMzQyxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsYUFBUSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzNCLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEIscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDNUMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUlqQyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGtCQUFhLEdBQUcsRUFBRSxDQUFDO0tBTXBCO0lBTEMsUUFBUSxLQUFVLENBQUM7SUFFbkIsZUFBZSxDQUFDLEVBQVU7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDOzhHQWxCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixvZUNYbkMsZzVCQTZCQTs7MkZEbEJhLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDRSx5QkFBeUIsY0FHdkIsSUFBSSxXQUNQLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaWV3cG9ydFNjcm9sbGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgT25Jbml0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ291cnNlRGV0YWlsIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWNvdXJzZS1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvdXJzZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY291cnNlLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIENvdXJzZURldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBkZXRhaWxzID0gaW5wdXQucmVxdWlyZWQ8Q291cnNlRGV0YWlsW10+KCk7XG4gIGluc3RydWN0b3IgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHVzZXJuYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICB2aWV3cG9ydFNjcm9sbGVyID0gaW5qZWN0KFZpZXdwb3J0U2Nyb2xsZXIpO1xuICBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblxuICBwbGF5ZXI6IGFueTtcblxuICBzaG93ID0gZmFsc2U7XG4gIG1lZGlhSW5kZXggPSAwO1xuICBmaW5hbFNjaGVkdWxlID0gW107XG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBvbkNsaWNrU2Nyb2xsZXIoaWQ6IHN0cmluZykge1xuICAgIHRoaXMudmlld3BvcnRTY3JvbGxlci5zY3JvbGxUb0FuY2hvcihpZCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJweS0zXCIgaWQ9XCJkZXRhaWxzXCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtbWVkaXVtIHB5LTJcIj7or6bmg4U8L2Rpdj5cbiAgQGlmIChkZXRhaWxzKCkpIHtcbiAgICBAZm9yIChkZXRhaWwgb2YgZGV0YWlscygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIEBpZiAoZGV0YWlsLnRpdGxlKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTMgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaC00IHctMSBiZy1vcmFuZ2UtNTAwIGlubGluZS1ibG9ja1wiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sZyBmb250LW1lZGl1bSBweS0xXCI+IHt7IGRldGFpbC50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGRldGFpbC5jb250ZW50KSB7XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHt7IGRldGFpbC5jb250ZW50IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChkZXRhaWwubWVkaWEpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidy04MCVcIj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZGV0YWlsLm1lZGlhOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0zXCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm9iamVjdC1jb3ZlclwiIFtzcmNdPVwiaXRlbS51cmwgKyAnP2ltYWdlTW9ncjIvZm9ybWF0L2F2aWYnXCIgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { Component, input } from '@angular/core';
2
+ import { RouterLink } from '@angular/router';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/icon";
6
+ export class CourseInfoComponent {
7
+ constructor() {
8
+ this.course = input.required();
9
+ this.instructor = input();
10
+ this.username = input();
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseInfoComponent, isStandalone: true, selector: "rolatech-course-info", inputs: { course: { classPropertyName: "course", publicName: "course", isSignal: true, isRequired: true, transformFunction: null }, instructor: { classPropertyName: "instructor", publicName: "instructor", isSignal: true, isRequired: false, transformFunction: null }, username: { classPropertyName: "username", publicName: "username", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div>\n <div>\n <div class=\"text-2xl font-medium\">{{ course().name }}</div>\n @if (course().type && course().type.toString() !== 'ONLINE') {\n <div class=\"flex items-center pt-2\">\n <mat-icon>place</mat-icon>\n <span class=\"text-sm opacity-75\">{{ course().classroom.address }}</span>\n </div>\n }\n <div class=\"py-3 text-black-light flex justify-between\">\n <div>\n <div class=\"mb-1 flex items-center\">\n <span class=\"font-medium\">\u4E3B\u8BB2\u6559\u5E08: </span>\n <a class=\"ml-2 underline text-orange-600 text-[0.9rem]\" [routerLink]=\"['../../instructors/', '@' + username()]\">{{\n instructor()\n }}</a>\n </div>\n <span class=\"text-sm opacity-75\">\u6700\u540E\u7F16\u8F91: {{ course().updatedAt }} </span>\n </div>\n </div>\n </div>\n <!-- \u63CF\u8FF0 -->\n <div class=\"mb-3\">\n {{ course().description }}\n </div>\n</div>\n", styles: ["mat-icon{transform:scale(.8)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseInfoComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'rolatech-course-info', standalone: true, imports: [MatIconModule, RouterLink], template: "<div>\n <div>\n <div class=\"text-2xl font-medium\">{{ course().name }}</div>\n @if (course().type && course().type.toString() !== 'ONLINE') {\n <div class=\"flex items-center pt-2\">\n <mat-icon>place</mat-icon>\n <span class=\"text-sm opacity-75\">{{ course().classroom.address }}</span>\n </div>\n }\n <div class=\"py-3 text-black-light flex justify-between\">\n <div>\n <div class=\"mb-1 flex items-center\">\n <span class=\"font-medium\">\u4E3B\u8BB2\u6559\u5E08: </span>\n <a class=\"ml-2 underline text-orange-600 text-[0.9rem]\" [routerLink]=\"['../../instructors/', '@' + username()]\">{{\n instructor()\n }}</a>\n </div>\n <span class=\"text-sm opacity-75\">\u6700\u540E\u7F16\u8F91: {{ course().updatedAt }} </span>\n </div>\n </div>\n </div>\n <!-- \u63CF\u8FF0 -->\n <div class=\"mb-3\">\n {{ course().description }}\n </div>\n</div>\n", styles: ["mat-icon{transform:scale(.8)}\n"] }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLWluZm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWluZm8vY291cnNlLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWluZm8vY291cnNlLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBU3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRRSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUM3QixhQUFRLEdBQUcsS0FBSyxFQUFVLENBQUM7S0FDNUI7OEdBSlksbUJBQW1CO2tHQUFuQixtQkFBbUIsOGRDWmhDLHM4QkEwQkEsd0ZEaEJZLGFBQWEsb0xBQUUsVUFBVTs7MkZBRXhCLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxzQkFBc0IsY0FHcEIsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvdXJzZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWNvdXJzZS1pbmZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvdXJzZS1pbmZvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY291cnNlLWluZm8uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdEljb25Nb2R1bGUsIFJvdXRlckxpbmtdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3Vyc2VJbmZvQ29tcG9uZW50IHtcbiAgY291cnNlID0gaW5wdXQucmVxdWlyZWQ8Q291cnNlPigpO1xuICBpbnN0cnVjdG9yID0gaW5wdXQ8c3RyaW5nPigpO1xuICB1c2VybmFtZSA9IGlucHV0PHN0cmluZz4oKTtcbn1cbiIsIjxkaXY+XG4gIDxkaXY+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtMnhsIGZvbnQtbWVkaXVtXCI+e3sgY291cnNlKCkubmFtZSB9fTwvZGl2PlxuICAgIEBpZiAoY291cnNlKCkudHlwZSAmJiBjb3Vyc2UoKS50eXBlLnRvU3RyaW5nKCkgIT09ICdPTkxJTkUnKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcHQtMlwiPlxuICAgICAgICA8bWF0LWljb24+cGxhY2U8L21hdC1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gb3BhY2l0eS03NVwiPnt7IGNvdXJzZSgpLmNsYXNzcm9vbS5hZGRyZXNzIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJweS0zIHRleHQtYmxhY2stbGlnaHQgZmxleCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0xIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW1lZGl1bVwiPuS4u+iusuaVmeW4iDogPC9zcGFuPlxuICAgICAgICAgIDxhIGNsYXNzPVwibWwtMiB1bmRlcmxpbmUgdGV4dC1vcmFuZ2UtNjAwIHRleHQtWzAuOXJlbV1cIiBbcm91dGVyTGlua109XCJbJy4uLy4uL2luc3RydWN0b3JzLycsICdAJyArIHVzZXJuYW1lKCldXCI+e3tcbiAgICAgICAgICAgIGluc3RydWN0b3IoKVxuICAgICAgICAgIH19PC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIG9wYWNpdHktNzVcIj7mnIDlkI7nvJbovpE6IHt7IGNvdXJzZSgpLnVwZGF0ZWRBdCB9fSA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDwhLS0g5o+P6L+wIC0tPlxuICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgIHt7IGNvdXJzZSgpLmRlc2NyaXB0aW9uIH19XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { Component, input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CourseItemComponent {
4
+ constructor() {
5
+ this.course = input.required();
6
+ this.row = input(true);
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseItemComponent, isStandalone: true, selector: "rolatech-course-item", inputs: { course: { classPropertyName: "course", publicName: "course", isSignal: true, isRequired: true, transformFunction: null }, row: { classPropertyName: "row", publicName: "row", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (row()) {\n <div class=\"flex w-full flex-row\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\">\n @if (course().media) {\n <img class=\"w-full object-cover aspect-video rounded-lg\" [src]=\"course().media[0].url\" />\n }\n </div>\n <div class=\"w-3/5 sm:w-3/4 ml-3 py-1 flex flex-col justify-between\">\n <div>\n <div class=\"sm:text-xl font-medium break-words line-clamp-2 whitespace-normal\">{{ course().name }}</div>\n <div class=\"invisible h-0 sm:h-auto sm:visible break-words line-clamp-1 whitespace-normal\">\n {{ course().description }}\n </div>\n </div>\n @if (course().pricing) {\n <div class=\"sm:text-lg font-medium py-1\">\u00A5{{ course().pricing[0].total / 100 }}</div>\n }\n </div>\n </div>\n} @else {\n <div>\n <div class=\"bg-gray-200 rounded-lg h-fit\">\n @if (course().media) {\n <img class=\"w-full object-cover aspect-video rounded-lg\" [src]=\"course().media[0].url\" />\n }\n </div>\n <div class=\"mt-2\">\n <div class=\"text-md sm:text-xl font-medium break-words line-clamp-2\">{{ course().name }}</div>\n @if (course().pricing) {\n <div class=\"text-md sm:text-lg font-medium py-1\">\u00A5{{ course().pricing[0].total / 100 }}</div>\n }\n </div>\n </div>\n}\n", styles: [""] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseItemComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'rolatech-course-item', standalone: true, imports: [], template: "@if (row()) {\n <div class=\"flex w-full flex-row\">\n <div class=\"h-fit w-2/5 sm:w-1/4 aspect-video bg-gray-200 rounded-lg\">\n @if (course().media) {\n <img class=\"w-full object-cover aspect-video rounded-lg\" [src]=\"course().media[0].url\" />\n }\n </div>\n <div class=\"w-3/5 sm:w-3/4 ml-3 py-1 flex flex-col justify-between\">\n <div>\n <div class=\"sm:text-xl font-medium break-words line-clamp-2 whitespace-normal\">{{ course().name }}</div>\n <div class=\"invisible h-0 sm:h-auto sm:visible break-words line-clamp-1 whitespace-normal\">\n {{ course().description }}\n </div>\n </div>\n @if (course().pricing) {\n <div class=\"sm:text-lg font-medium py-1\">\u00A5{{ course().pricing[0].total / 100 }}</div>\n }\n </div>\n </div>\n} @else {\n <div>\n <div class=\"bg-gray-200 rounded-lg h-fit\">\n @if (course().media) {\n <img class=\"w-full object-cover aspect-video rounded-lg\" [src]=\"course().media[0].url\" />\n }\n </div>\n <div class=\"mt-2\">\n <div class=\"text-md sm:text-xl font-medium break-words line-clamp-2\">{{ course().name }}</div>\n @if (course().pricing) {\n <div class=\"text-md sm:text-lg font-medium py-1\">\u00A5{{ course().pricing[0].total / 100 }}</div>\n }\n </div>\n </div>\n}\n" }]
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWl0ZW0vY291cnNlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLWl0ZW0vY291cnNlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVWpELE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRRSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2xDLFFBQUcsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7S0FDNUI7OEdBSFksbUJBQW1CO2tHQUFuQixtQkFBbUIsd1VDVmhDLGcxQ0FrQ0E7OzJGRHhCYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0Usc0JBQXNCLGNBR3BCLElBQUksV0FDUCxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ291cnNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWNvdXJzZS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvdXJzZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY291cnNlLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIENvdXJzZUl0ZW1Db21wb25lbnQge1xuICBjb3Vyc2UgPSBpbnB1dC5yZXF1aXJlZDxDb3Vyc2U+KCk7XG4gIHJvdyA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xufVxuIiwiQGlmIChyb3coKSkge1xuICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgZmxleC1yb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaC1maXQgdy0yLzUgc206dy0xLzQgYXNwZWN0LXZpZGVvIGJnLWdyYXktMjAwIHJvdW5kZWQtbGdcIj5cbiAgICAgIEBpZiAoY291cnNlKCkubWVkaWEpIHtcbiAgICAgICAgPGltZyBjbGFzcz1cInctZnVsbCBvYmplY3QtY292ZXIgYXNwZWN0LXZpZGVvIHJvdW5kZWQtbGdcIiBbc3JjXT1cImNvdXJzZSgpLm1lZGlhWzBdLnVybFwiIC8+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInctMy81IHNtOnctMy80IG1sLTMgcHktMSBmbGV4IGZsZXgtY29sIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNtOnRleHQteGwgZm9udC1tZWRpdW0gYnJlYWstd29yZHMgbGluZS1jbGFtcC0yIHdoaXRlc3BhY2Utbm9ybWFsXCI+e3sgY291cnNlKCkubmFtZSB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW52aXNpYmxlIGgtMCBzbTpoLWF1dG8gc206dmlzaWJsZSBicmVhay13b3JkcyBsaW5lLWNsYW1wLTEgd2hpdGVzcGFjZS1ub3JtYWxcIj5cbiAgICAgICAgICB7eyBjb3Vyc2UoKS5kZXNjcmlwdGlvbiB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgQGlmIChjb3Vyc2UoKS5wcmljaW5nKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzbTp0ZXh0LWxnIGZvbnQtbWVkaXVtIHB5LTFcIj7CpXt7IGNvdXJzZSgpLnByaWNpbmdbMF0udG90YWwgLyAxMDAgfX08L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59IEBlbHNlIHtcbiAgPGRpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYmctZ3JheS0yMDAgcm91bmRlZC1sZyBoLWZpdFwiPlxuICAgICAgQGlmIChjb3Vyc2UoKS5tZWRpYSkge1xuICAgICAgICA8aW1nIGNsYXNzPVwidy1mdWxsIG9iamVjdC1jb3ZlciBhc3BlY3QtdmlkZW8gcm91bmRlZC1sZ1wiIFtzcmNdPVwiY291cnNlKCkubWVkaWFbMF0udXJsXCIgLz5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibXQtMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgc206dGV4dC14bCBmb250LW1lZGl1bSBicmVhay13b3JkcyBsaW5lLWNsYW1wLTJcIj57eyBjb3Vyc2UoKS5uYW1lIH19PC9kaXY+XG4gICAgICBAaWYgKGNvdXJzZSgpLnByaWNpbmcpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgc206dGV4dC1sZyBmb250LW1lZGl1bSBweS0xXCI+wqV7eyBjb3Vyc2UoKS5wcmljaW5nWzBdLnRvdGFsIC8gMTAwIH19PC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxufVxuIl19
@@ -0,0 +1,34 @@
1
+ import { Component, inject, input } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { NgClass } from '@angular/common';
4
+ import { MediaPreviewDialogComponent } from '@rolatech/angular-components';
5
+ import * as i0 from "@angular/core";
6
+ export class CourseMediaComponent {
7
+ constructor() {
8
+ this.dialog = inject(MatDialog);
9
+ this.media = input([]);
10
+ this.min = input(false);
11
+ this.mediaIndex = 0;
12
+ }
13
+ onImageClick(i) {
14
+ const dialogRef = this.dialog.open(MediaPreviewDialogComponent, {
15
+ maxWidth: '80vw',
16
+ maxHeight: '80vh',
17
+ height: '80%',
18
+ width: '80%',
19
+ panelClass: 'full-screen-modal',
20
+ data: {
21
+ media: this.media,
22
+ selected: i,
23
+ },
24
+ });
25
+ dialogRef.afterClosed().subscribe((result) => { });
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseMediaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseMediaComponent, isStandalone: true, selector: "rolatech-course-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 @if (min()) {\n <div class=\"sm:w-80 object-cover aspect-video bg-gray-200 rounded-lg\">\n @if (media()) {\n <img class=\"aspect-video object-cover w-full rounded-lg\" [src]=\"media()[0].url\" />\n }\n </div>\n } @else {\n <div>\n <div class=\"object-cover aspect-video bg-gray-200\">\n <img class=\"aspect-video object-cover w-full rounded-md\" [src]=\"media()[mediaIndex].url\" />\n </div>\n @for (item of media(); track $index) {\n <div\n class=\"inline-flex flex-row mt-3 mr-3 cursor-pointer rounded-md\"\n (click)=\"mediaIndex = $index\"\n [ngClass]=\"mediaIndex === $index ? '' : 'opacity-30'\"\n >\n <img class=\"rounded-md aspect-video object-cover w-32\" [src]=\"item.url\" />\n </div>\n }\n </div>\n }\n}\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseMediaComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'rolatech-course-media', standalone: true, imports: [NgClass], template: "@if (media()) {\n @if (min()) {\n <div class=\"sm:w-80 object-cover aspect-video bg-gray-200 rounded-lg\">\n @if (media()) {\n <img class=\"aspect-video object-cover w-full rounded-lg\" [src]=\"media()[0].url\" />\n }\n </div>\n } @else {\n <div>\n <div class=\"object-cover aspect-video bg-gray-200\">\n <img class=\"aspect-video object-cover w-full rounded-md\" [src]=\"media()[mediaIndex].url\" />\n </div>\n @for (item of media(); track $index) {\n <div\n class=\"inline-flex flex-row mt-3 mr-3 cursor-pointer rounded-md\"\n (click)=\"mediaIndex = $index\"\n [ngClass]=\"mediaIndex === $index ? '' : 'opacity-30'\"\n >\n <img class=\"rounded-md aspect-video object-cover w-32\" [src]=\"item.url\" />\n </div>\n }\n </div>\n }\n}\n" }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLW1lZGlhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb3Vyc2Uvc3JjL2xpYi9jb21wb25lbnRzL2NvdXJzZS1tZWRpYS9jb3Vyc2UtbWVkaWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLW1lZGlhL2NvdXJzZS1tZWRpYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFTM0UsTUFBTSxPQUFPLG9CQUFvQjtJQVBqQztRQVFFLFdBQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsVUFBSyxHQUFHLEtBQUssQ0FBVSxFQUFFLENBQUMsQ0FBQztRQUMzQixRQUFHLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzVCLGVBQVUsR0FBRyxDQUFDLENBQUM7S0FlaEI7SUFkQyxZQUFZLENBQUMsQ0FBTTtRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUM5RCxRQUFRLEVBQUUsTUFBTTtZQUNoQixTQUFTLEVBQUUsTUFBTTtZQUNqQixNQUFNLEVBQUUsS0FBSztZQUNiLEtBQUssRUFBRSxLQUFLO1lBQ1osVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixRQUFRLEVBQUUsQ0FBQzthQUNaO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQzs4R0FsQlUsb0JBQW9CO2tHQUFwQixvQkFBb0IsdVVDYmpDLG8xQkF3QkEsMEREYlksT0FBTzs7MkZBRU4sb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLHVCQUF1QixjQUdyQixJQUFJLFdBQ1AsQ0FBQyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lZGlhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNZWRpYVByZXZpZXdEaWFsb2dDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtY291cnNlLW1lZGlhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvdXJzZS1tZWRpYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvdXJzZS1tZWRpYS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzc10sXG59KVxuZXhwb3J0IGNsYXNzIENvdXJzZU1lZGlhQ29tcG9uZW50IHtcbiAgZGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XG4gIG1lZGlhID0gaW5wdXQ8TWVkaWFbXT4oW10pO1xuICBtaW4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIG1lZGlhSW5kZXggPSAwO1xuICBvbkltYWdlQ2xpY2soaTogYW55KSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihNZWRpYVByZXZpZXdEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIG1heFdpZHRoOiAnODB2dycsXG4gICAgICBtYXhIZWlnaHQ6ICc4MHZoJyxcbiAgICAgIGhlaWdodDogJzgwJScsXG4gICAgICB3aWR0aDogJzgwJScsXG4gICAgICBwYW5lbENsYXNzOiAnZnVsbC1zY3JlZW4tbW9kYWwnLFxuICAgICAgZGF0YToge1xuICAgICAgICBtZWRpYTogdGhpcy5tZWRpYSxcbiAgICAgICAgc2VsZWN0ZWQ6IGksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7fSk7XG4gIH1cbn1cbiIsIkBpZiAobWVkaWEoKSkge1xuICBAaWYgKG1pbigpKSB7XG4gICAgPGRpdiBjbGFzcz1cInNtOnctODAgb2JqZWN0LWNvdmVyIGFzcGVjdC12aWRlbyBiZy1ncmF5LTIwMCByb3VuZGVkLWxnXCI+XG4gICAgICBAaWYgKG1lZGlhKCkpIHtcbiAgICAgICAgPGltZyBjbGFzcz1cImFzcGVjdC12aWRlbyBvYmplY3QtY292ZXIgdy1mdWxsIHJvdW5kZWQtbGdcIiBbc3JjXT1cIm1lZGlhKClbMF0udXJsXCIgLz5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvYmplY3QtY292ZXIgYXNwZWN0LXZpZGVvIGJnLWdyYXktMjAwXCI+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJhc3BlY3QtdmlkZW8gb2JqZWN0LWNvdmVyIHctZnVsbCByb3VuZGVkLW1kXCIgW3NyY109XCJtZWRpYSgpW21lZGlhSW5kZXhdLnVybFwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIEBmb3IgKGl0ZW0gb2YgbWVkaWEoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImlubGluZS1mbGV4IGZsZXgtcm93IG10LTMgbXItMyBjdXJzb3ItcG9pbnRlciByb3VuZGVkLW1kXCJcbiAgICAgICAgICAoY2xpY2spPVwibWVkaWFJbmRleCA9ICRpbmRleFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwibWVkaWFJbmRleCA9PT0gJGluZGV4ID8gJycgOiAnb3BhY2l0eS0zMCdcIlxuICAgICAgICA+XG4gICAgICAgICAgPGltZyBjbGFzcz1cInJvdW5kZWQtbWQgYXNwZWN0LXZpZGVvIG9iamVjdC1jb3ZlciB3LTMyXCIgW3NyY109XCJpdGVtLnVybFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { Component, input } from '@angular/core';
2
+ import { AngularCommonModule } from '@rolatech/angular-common';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "@angular/material/icon";
7
+ export class CourseMediaOwnerRendererComponent {
8
+ constructor() {
9
+ this.name = input();
10
+ this.avatar = input();
11
+ this.username = input();
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseMediaOwnerRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseMediaOwnerRendererComponent, isStandalone: true, selector: "rolatech-course-media-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\">\n <div class=\"flex mr-3 gap-2 items-center\">\n @if (avatar()) {\n <div class=\"cursor-pointer\" [routerLink]=\"['/instructors/', '@' + username()]\">\n <img [src]=\"avatar()\" class=\"w-11 h-11 rounded-full\" />\n </div>\n } @else {\n <div class=\"w-11 h-11 rounded-full bg-orange-600\"></div>\n }\n <div class=\"flex items-center text-lg font-bold cursor-pointer\">\n <a [routerLink]=\"['/instructors/', '@' + username()]\">\n <span>{{ name() }}</span>\n </a>\n <mat-icon color=\"primary\">verified</mat-icon>\n </div>\n </div>\n</div>\n", styles: ["mat-icon{transform:scale(.8)}\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"] }] }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseMediaOwnerRendererComponent, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'rolatech-course-media-owner-renderer', standalone: true, imports: [AngularCommonModule, MatIconModule], template: "<div class=\"flex flex-row items-center\">\n <div class=\"flex mr-3 gap-2 items-center\">\n @if (avatar()) {\n <div class=\"cursor-pointer\" [routerLink]=\"['/instructors/', '@' + username()]\">\n <img [src]=\"avatar()\" class=\"w-11 h-11 rounded-full\" />\n </div>\n } @else {\n <div class=\"w-11 h-11 rounded-full bg-orange-600\"></div>\n }\n <div class=\"flex items-center text-lg font-bold cursor-pointer\">\n <a [routerLink]=\"['/instructors/', '@' + username()]\">\n <span>{{ name() }}</span>\n </a>\n <mat-icon color=\"primary\">verified</mat-icon>\n </div>\n </div>\n</div>\n", styles: ["mat-icon{transform:scale(.8)}\n"] }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLW1lZGlhLW93bmVyLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb3Vyc2Uvc3JjL2xpYi9jb21wb25lbnRzL2NvdXJzZS1tZWRpYS1vd25lci1yZW5kZXJlci9jb3Vyc2UtbWVkaWEtb3duZXItcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLW1lZGlhLW93bmVyLXJlbmRlcmVyL2NvdXJzZS1tZWRpYS1vd25lci1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFTdkQsTUFBTSxPQUFPLGlDQUFpQztJQVA5QztRQVFFLFNBQUksR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN2QixXQUFNLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDekIsYUFBUSxHQUFHLEtBQUssRUFBVSxDQUFDO0tBQzVCOzhHQUpZLGlDQUFpQztrR0FBakMsaUNBQWlDLDZkQ1g5Qyxzb0JBaUJBLHdGRFZZLG1CQUFtQiwrUUFBRSxhQUFhOzsyRkFJakMsaUNBQWlDO2tCQVA3QyxTQUFTOytCQUNFLHNDQUFzQyxjQUNwQyxJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtY291cnNlLW1lZGlhLW93bmVyLXJlbmRlcmVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY291cnNlLW1lZGlhLW93bmVyLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NvdXJzZS1tZWRpYS1vd25lci1yZW5kZXJlci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIENvdXJzZU1lZGlhT3duZXJSZW5kZXJlckNvbXBvbmVudCB7XG4gIG5hbWUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGF2YXRhciA9IGlucHV0PHN0cmluZz4oKTtcbiAgdXNlcm5hbWUgPSBpbnB1dDxzdHJpbmc+KCk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXJcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggbXItMyBnYXAtMiBpdGVtcy1jZW50ZXJcIj5cbiAgICBAaWYgKGF2YXRhcigpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiBbcm91dGVyTGlua109XCJbJy9pbnN0cnVjdG9ycy8nLCAnQCcgKyB1c2VybmFtZSgpXVwiPlxuICAgICAgICA8aW1nIFtzcmNdPVwiYXZhdGFyKClcIiBjbGFzcz1cInctMTEgaC0xMSByb3VuZGVkLWZ1bGxcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZGl2IGNsYXNzPVwidy0xMSBoLTExIHJvdW5kZWQtZnVsbCBiZy1vcmFuZ2UtNjAwXCI+PC9kaXY+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LWxnIGZvbnQtYm9sZCBjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvaW5zdHJ1Y3RvcnMvJywgJ0AnICsgdXNlcm5hbWUoKV1cIj5cbiAgICAgICAgPHNwYW4+e3sgbmFtZSgpIH19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPnZlcmlmaWVkPC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { Component, input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CoursePricingComponent {
4
+ constructor() {
5
+ this.pricing = input([]);
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CoursePricingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CoursePricingComponent, isStandalone: true, selector: "rolatech-course-pricing", inputs: { pricing: { classPropertyName: "pricing", publicName: "pricing", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (pricing()) {\n <div class=\"py-3\">\n <div class=\"text-lg font-medium py-2\">\u4EF7\u683C</div>\n @for (item of pricing(); track $index) {\n <div>\n <span>{{ item.min }} \u81F3 {{ item.max }}\u4EBA</span>\n <span class=\"ml-3\">{{ item.total / 100 }}\u5143</span>\n </div>\n }\n </div>\n}\n", styles: [""] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CoursePricingComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'rolatech-course-pricing', standalone: true, template: "@if (pricing()) {\n <div class=\"py-3\">\n <div class=\"text-lg font-medium py-2\">\u4EF7\u683C</div>\n @for (item of pricing(); track $index) {\n <div>\n <span>{{ item.min }} \u81F3 {{ item.max }}\u4EBA</span>\n <span class=\"ml-3\">{{ item.total / 100 }}\u5143</span>\n </div>\n }\n </div>\n}\n" }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLXByaWNpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLXByaWNpbmcvY291cnNlLXByaWNpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLXByaWNpbmcvY291cnNlLXByaWNpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBU2pELE1BQU0sT0FBTyxzQkFBc0I7SUFObkM7UUFPRSxZQUFPLEdBQUcsS0FBSyxDQUFrQixFQUFFLENBQUMsQ0FBQztLQUN0Qzs4R0FGWSxzQkFBc0I7a0dBQXRCLHNCQUFzQiw2TkNUbkMsNlVBV0E7OzJGREZhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSx5QkFBeUIsY0FHdkIsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvdXJzZVByaWNpbmcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtY291cnNlLXByaWNpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vY291cnNlLXByaWNpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb3Vyc2UtcHJpY2luZy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDb3Vyc2VQcmljaW5nQ29tcG9uZW50IHtcbiAgcHJpY2luZyA9IGlucHV0PENvdXJzZVByaWNpbmdbXT4oW10pO1xufVxuIiwiQGlmIChwcmljaW5nKCkpIHtcbiAgPGRpdiBjbGFzcz1cInB5LTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZyBmb250LW1lZGl1bSBweS0yXCI+5Lu35qC8PC9kaXY+XG4gICAgQGZvciAoaXRlbSBvZiBwcmljaW5nKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGRpdj5cbiAgICAgICAgPHNwYW4+e3sgaXRlbS5taW4gfX0g6IezIHt7IGl0ZW0ubWF4IH195Lq6PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTNcIj57eyBpdGVtLnRvdGFsIC8gMTAwIH195YWDPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { Component, input } from '@angular/core';
2
+ import { MatExpansionModule } from '@angular/material/expansion';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/expansion";
6
+ import * as i2 from "@angular/material/icon";
7
+ export class CourseScheduleComponent {
8
+ constructor() {
9
+ this.schedule = input([]);
10
+ }
11
+ ngOnInit() {
12
+ // this.formatSchedule();
13
+ }
14
+ formatSchedule() { }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseScheduleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseScheduleComponent, isStandalone: true, selector: "rolatech-course-schedule", inputs: { schedule: { classPropertyName: "schedule", publicName: "schedule", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<!-- \u8BFE\u8868 -->\n@if (schedule()) {\n <div class=\"py-3\" id=\"schedule\">\n <div class=\"text-xl font-medium py-2\">\u8BFE\u8868</div>\n @for (item of schedule(); track $index) {\n <mat-expansion-panel #panel [class.mat-elevation-z0]=\"true\" hideToggle [expanded]=\"$index === 0\">\n <mat-expansion-panel-header class=\"bg-red\">\n <mat-panel-title>\n <span class=\"text-[1rem]\">{{ item.title }}</span>\n </mat-panel-title>\n <mat-icon\n class=\"toggle-icon\"\n style=\"transition-duration:.5s;transform: {{ panel.expanded ? 'rotate(180deg)' : 'rotate(0deg)' }};\"\n >expand_more</mat-icon\n >\n </mat-expansion-panel-header>\n <div class=\"bg-white\">\n <div class=\"text-gray-600 font-thin pt-2\">\n <span>{{ item.startAt }} - {{ item.endAt }}</span>\n </div>\n <div class=\"py-3\">\n <div>{{ item.content }}</div>\n </div>\n </div>\n </mat-expansion-panel>\n }\n </div>\n}\n", styles: ["mat-expansion-panel{margin:0!important}.mat-expansion-panel-header{padding:0 16px;background:#f3f4f6!important}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:#dee0e2}.mat-expansion-panel-header{height:56px!important}.mat-expansion-panel .mat-expansion-panel-header{margin-bottom:8px;height:44px!important;padding:0 12px!important}.mat-expansion-panel-header .mat-expanded{height:56px!important}mat-expansion-panel .mat-expansion-panel-body{padding:0 8px 8px 4px!important}\n"], dependencies: [{ kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseScheduleComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'rolatech-course-schedule', standalone: true, imports: [MatExpansionModule, MatIconModule], template: "<!-- \u8BFE\u8868 -->\n@if (schedule()) {\n <div class=\"py-3\" id=\"schedule\">\n <div class=\"text-xl font-medium py-2\">\u8BFE\u8868</div>\n @for (item of schedule(); track $index) {\n <mat-expansion-panel #panel [class.mat-elevation-z0]=\"true\" hideToggle [expanded]=\"$index === 0\">\n <mat-expansion-panel-header class=\"bg-red\">\n <mat-panel-title>\n <span class=\"text-[1rem]\">{{ item.title }}</span>\n </mat-panel-title>\n <mat-icon\n class=\"toggle-icon\"\n style=\"transition-duration:.5s;transform: {{ panel.expanded ? 'rotate(180deg)' : 'rotate(0deg)' }};\"\n >expand_more</mat-icon\n >\n </mat-expansion-panel-header>\n <div class=\"bg-white\">\n <div class=\"text-gray-600 font-thin pt-2\">\n <span>{{ item.startAt }} - {{ item.endAt }}</span>\n </div>\n <div class=\"py-3\">\n <div>{{ item.content }}</div>\n </div>\n </div>\n </mat-expansion-panel>\n }\n </div>\n}\n", styles: ["mat-expansion-panel{margin:0!important}.mat-expansion-panel-header{padding:0 16px;background:#f3f4f6!important}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:#dee0e2}.mat-expansion-panel-header{height:56px!important}.mat-expansion-panel .mat-expansion-panel-header{margin-bottom:8px;height:44px!important;padding:0 12px!important}.mat-expansion-panel-header .mat-expanded{height:56px!important}mat-expansion-panel .mat-expansion-panel-body{padding:0 8px 8px 4px!important}\n"] }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLXNjaGVkdWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb3Vyc2Uvc3JjL2xpYi9jb21wb25lbnRzL2NvdXJzZS1zY2hlZHVsZS9jb3Vyc2Utc2NoZWR1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLXNjaGVkdWxlL2NvdXJzZS1zY2hlZHVsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFTdkQsTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQVFFLGFBQVEsR0FBRyxLQUFLLENBQW1CLEVBQUUsQ0FBQyxDQUFDO0tBTXhDO0lBSkMsUUFBUTtRQUNOLHlCQUF5QjtJQUMzQixDQUFDO0lBQ0QsY0FBYyxLQUFJLENBQUM7OEdBTlIsdUJBQXVCO2tHQUF2Qix1QkFBdUIsaU9DWnBDLG1qQ0E0QkEsZ2tCRGxCWSxrQkFBa0IseWRBQUUsYUFBYTs7MkZBRWhDLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSwwQkFBMEIsY0FHeEIsSUFBSSxXQUNQLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3Vyc2VTY2hlZHVsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtY291cnNlLXNjaGVkdWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvdXJzZS1zY2hlZHVsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvdXJzZS1zY2hlZHVsZS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0RXhwYW5zaW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ291cnNlU2NoZWR1bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzY2hlZHVsZSA9IGlucHV0PENvdXJzZVNjaGVkdWxlW10+KFtdKTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmZvcm1hdFNjaGVkdWxlKCk7XG4gIH1cbiAgZm9ybWF0U2NoZWR1bGUoKSB7fVxufVxuIiwiPCEtLSDor77ooaggLS0+XG5AaWYgKHNjaGVkdWxlKCkpIHtcbiAgPGRpdiBjbGFzcz1cInB5LTNcIiBpZD1cInNjaGVkdWxlXCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQteGwgZm9udC1tZWRpdW0gcHktMlwiPuivvuihqDwvZGl2PlxuICAgIEBmb3IgKGl0ZW0gb2Ygc2NoZWR1bGUoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAjcGFuZWwgW2NsYXNzLm1hdC1lbGV2YXRpb24tejBdPVwidHJ1ZVwiIGhpZGVUb2dnbGUgW2V4cGFuZGVkXT1cIiRpbmRleCA9PT0gMFwiPlxuICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgY2xhc3M9XCJiZy1yZWRcIj5cbiAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LVsxcmVtXVwiPnt7IGl0ZW0udGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBjbGFzcz1cInRvZ2dsZS1pY29uXCJcbiAgICAgICAgICAgIHN0eWxlPVwidHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7dHJhbnNmb3JtOiB7eyBwYW5lbC5leHBhbmRlZCA/ICdyb3RhdGUoMTgwZGVnKScgOiAncm90YXRlKDBkZWcpJyB9fTtcIlxuICAgICAgICAgICAgPmV4cGFuZF9tb3JlPC9tYXQtaWNvblxuICAgICAgICAgID5cbiAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJnLXdoaXRlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS02MDAgZm9udC10aGluIHB0LTJcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0uc3RhcnRBdCB9fSAtIHt7IGl0ZW0uZW5kQXQgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTNcIj5cbiAgICAgICAgICAgIDxkaXY+e3sgaXRlbS5jb250ZW50IH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgIH1cbiAgPC9kaXY+XG59XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { Component, ViewEncapsulation, input, output } from '@angular/core';
2
+ import { MatIconModule } from '@angular/material/icon';
3
+ import { MatExpansionModule } from '@angular/material/expansion';
4
+ import { MatCheckboxModule } from '@angular/material/checkbox';
5
+ import { DurationPipe } from '@rolatech/angular-common';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/expansion";
8
+ import * as i2 from "@angular/material/icon";
9
+ export class CourseSectionsComponent {
10
+ constructor() {
11
+ this.purchased = input(false);
12
+ this.sections = input([]);
13
+ this.section = output();
14
+ this.checkout = output();
15
+ this.panelOpenState = false;
16
+ }
17
+ onSection(section, lecture) {
18
+ this.section.emit({ section, lecture });
19
+ }
20
+ onCheckout(section, lecture) {
21
+ this.checkout.emit({ section, lecture });
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseSectionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CourseSectionsComponent, isStandalone: true, selector: "rolatech-course-sections", inputs: { purchased: { classPropertyName: "purchased", publicName: "purchased", isSignal: true, isRequired: false, transformFunction: null }, sections: { classPropertyName: "sections", publicName: "sections", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { section: "section", checkout: "checkout" }, ngImport: i0, template: "@if (sections()) {\n <div id=\"sections()\">\n <div class=\"text-xl font-medium py-2\">\u8BFE\u7A0B\u5185\u5BB9</div>\n <mat-accordion multi>\n @for (item of sections(); track $index) {\n <mat-expansion-panel #panel [class.mat-elevation-z0]=\"true\" hideToggle [expanded]=\"$index === 0\">\n <mat-expansion-panel-header class=\"bg-red\">\n <mat-panel-title>\n <span class=\"text-[1rem]\">{{ item.title }}</span>\n </mat-panel-title>\n <mat-icon\n class=\"toggle-icon\"\n style=\"transition-duration:.5s;transform: {{ panel.expanded ? 'rotate(180deg)' : 'rotate(0deg)' }};\"\n >expand_more</mat-icon\n >\n </mat-expansion-panel-header>\n <div class=\"bg-white\">\n @for (lecture of item.lectures; track $index) {\n <div class=\"flex items-center justify-between py-1\">\n @if (lecture.item && lecture.type === 'VIDEO') {\n <div class=\"flex items-center gap-3\">\n <mat-icon>live_tv</mat-icon>\n <span class=\"text-md\"> {{ lecture.title }}</span>\n </div>\n <div>\n @if (purchased()) {\n <a\n class=\"text-sm mr-1 underline underline-offset-2 cursor-pointer text-orange-600\"\n (click)=\"onSection(item, lecture)\"\n >\u64AD\u653E</a\n >\n } @else {\n @if (lecture.item.canBePreviewed) {\n <a\n class=\"text-sm mr-1 underline underline-offset-2 cursor-pointer text-orange-600\"\n (click)=\"onSection(item, lecture)\"\n >\u8BD5\u770B</a\n >\n } @else {\n <a\n class=\"text-sm mr-1 underline underline-offset-2 cursor-pointer text-orange-600\"\n (click)=\"onCheckout(item, lecture)\"\n >\u8D2D\u4E70</a\n >\n }\n }\n\n <a class=\"text-gray-500 inline-block w-[60px] text-right\">{{ lecture.item.duration | duration }}</a>\n </div>\n }\n </div>\n }\n </div>\n </mat-expansion-panel>\n }\n </mat-accordion>\n </div>\n}\n", styles: ["mat-expansion-panel{margin:0!important}.mat-expansion-panel-header{padding:0 16px;background:#f3f4f6!important}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:#dee0e2}.mat-expansion-panel-header{height:56px!important}.mat-expansion-panel .mat-expansion-panel-header{margin-bottom:8px;height:44px!important;padding:0 12px!important}.mat-expansion-panel-header .mat-expanded{height:56px!important}mat-expansion-panel .mat-expansion-panel-body{padding:0 8px 8px 4px!important}mat-expansion-panel mat-icon{transform:scale(.9)}\n"], dependencies: [{ kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i1.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: DurationPipe, name: "duration" }, { kind: "ngmodule", type: MatCheckboxModule }], encapsulation: i0.ViewEncapsulation.None }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CourseSectionsComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'rolatech-course-sections', encapsulation: ViewEncapsulation.None, standalone: true, imports: [MatExpansionModule, MatIconModule, DurationPipe, MatCheckboxModule], template: "@if (sections()) {\n <div id=\"sections()\">\n <div class=\"text-xl font-medium py-2\">\u8BFE\u7A0B\u5185\u5BB9</div>\n <mat-accordion multi>\n @for (item of sections(); track $index) {\n <mat-expansion-panel #panel [class.mat-elevation-z0]=\"true\" hideToggle [expanded]=\"$index === 0\">\n <mat-expansion-panel-header class=\"bg-red\">\n <mat-panel-title>\n <span class=\"text-[1rem]\">{{ item.title }}</span>\n </mat-panel-title>\n <mat-icon\n class=\"toggle-icon\"\n style=\"transition-duration:.5s;transform: {{ panel.expanded ? 'rotate(180deg)' : 'rotate(0deg)' }};\"\n >expand_more</mat-icon\n >\n </mat-expansion-panel-header>\n <div class=\"bg-white\">\n @for (lecture of item.lectures; track $index) {\n <div class=\"flex items-center justify-between py-1\">\n @if (lecture.item && lecture.type === 'VIDEO') {\n <div class=\"flex items-center gap-3\">\n <mat-icon>live_tv</mat-icon>\n <span class=\"text-md\"> {{ lecture.title }}</span>\n </div>\n <div>\n @if (purchased()) {\n <a\n class=\"text-sm mr-1 underline underline-offset-2 cursor-pointer text-orange-600\"\n (click)=\"onSection(item, lecture)\"\n >\u64AD\u653E</a\n >\n } @else {\n @if (lecture.item.canBePreviewed) {\n <a\n class=\"text-sm mr-1 underline underline-offset-2 cursor-pointer text-orange-600\"\n (click)=\"onSection(item, lecture)\"\n >\u8BD5\u770B</a\n >\n } @else {\n <a\n class=\"text-sm mr-1 underline underline-offset-2 cursor-pointer text-orange-600\"\n (click)=\"onCheckout(item, lecture)\"\n >\u8D2D\u4E70</a\n >\n }\n }\n\n <a class=\"text-gray-500 inline-block w-[60px] text-right\">{{ lecture.item.duration | duration }}</a>\n </div>\n }\n </div>\n }\n </div>\n </mat-expansion-panel>\n }\n </mat-accordion>\n </div>\n}\n", styles: ["mat-expansion-panel{margin:0!important}.mat-expansion-panel-header{padding:0 16px;background:#f3f4f6!important}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:#dee0e2}.mat-expansion-panel-header{height:56px!important}.mat-expansion-panel .mat-expansion-panel-header{margin-bottom:8px;height:44px!important;padding:0 12px!important}.mat-expansion-panel-header .mat-expanded{height:56px!important}mat-expansion-panel .mat-expansion-panel-body{padding:0 8px 8px 4px!important}mat-expansion-panel mat-icon{transform:scale(.9)}\n"] }]
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLXNlY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb3Vyc2Uvc3JjL2xpYi9jb21wb25lbnRzL2NvdXJzZS1zZWN0aW9ucy9jb3Vyc2Utc2VjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2NvbXBvbmVudHMvY291cnNlLXNlY3Rpb25zL2NvdXJzZS1zZWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQVV4RCxNQUFNLE9BQU8sdUJBQXVCO0lBUnBDO1FBU0UsY0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsQyxhQUFRLEdBQUcsS0FBSyxDQUFrQixFQUFFLENBQUMsQ0FBQztRQUN0QyxZQUFPLEdBQUcsTUFBTSxFQUE2RCxDQUFDO1FBQzlFLGFBQVEsR0FBRyxNQUFNLEVBQTZELENBQUM7UUFFL0UsbUJBQWMsR0FBRyxLQUFLLENBQUM7S0FPeEI7SUFOQyxTQUFTLENBQUMsT0FBc0IsRUFBRSxPQUE2QjtRQUM3RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxVQUFVLENBQUMsT0FBc0IsRUFBRSxPQUE2QjtRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OEdBWlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsNFpDZnBDLGlnRkEwREEsaW5CRDdDWSxrQkFBa0IsdW5CQUFFLGFBQWEsK0tBQUUsWUFBWSxnREFBRSxpQkFBaUI7OzJGQUVqRSx1QkFBdUI7a0JBUm5DLFNBQVM7K0JBQ0UsMEJBQTBCLGlCQUdyQixpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUCxDQUFDLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvdXJzZVNlY3Rpb24sIENvdXJzZVNlY3Rpb25MZWN0dXJlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBEdXJhdGlvblBpcGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1jb3Vyc2Utc2VjdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY291cnNlLXNlY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY291cnNlLXNlY3Rpb25zLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRFeHBhbnNpb25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIER1cmF0aW9uUGlwZSwgTWF0Q2hlY2tib3hNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3Vyc2VTZWN0aW9uc0NvbXBvbmVudCB7XG4gIHB1cmNoYXNlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgc2VjdGlvbnMgPSBpbnB1dDxDb3Vyc2VTZWN0aW9uW10+KFtdKTtcbiAgc2VjdGlvbiA9IG91dHB1dDx7IHNlY3Rpb246IENvdXJzZVNlY3Rpb247IGxlY3R1cmU6IENvdXJzZVNlY3Rpb25MZWN0dXJlIH0+KCk7XG4gIGNoZWNrb3V0ID0gb3V0cHV0PHsgc2VjdGlvbjogQ291cnNlU2VjdGlvbjsgbGVjdHVyZTogQ291cnNlU2VjdGlvbkxlY3R1cmUgfT4oKTtcblxuICBwYW5lbE9wZW5TdGF0ZSA9IGZhbHNlO1xuICBvblNlY3Rpb24oc2VjdGlvbjogQ291cnNlU2VjdGlvbiwgbGVjdHVyZTogQ291cnNlU2VjdGlvbkxlY3R1cmUpIHtcbiAgICB0aGlzLnNlY3Rpb24uZW1pdCh7IHNlY3Rpb24sIGxlY3R1cmUgfSk7XG4gIH1cbiAgb25DaGVja291dChzZWN0aW9uOiBDb3Vyc2VTZWN0aW9uLCBsZWN0dXJlOiBDb3Vyc2VTZWN0aW9uTGVjdHVyZSkge1xuICAgIHRoaXMuY2hlY2tvdXQuZW1pdCh7IHNlY3Rpb24sIGxlY3R1cmUgfSk7XG4gIH1cbn1cbiIsIkBpZiAoc2VjdGlvbnMoKSkge1xuICA8ZGl2IGlkPVwic2VjdGlvbnMoKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtbWVkaXVtIHB5LTJcIj7or77nqIvlhoXlrrk8L2Rpdj5cbiAgICA8bWF0LWFjY29yZGlvbiBtdWx0aT5cbiAgICAgIEBmb3IgKGl0ZW0gb2Ygc2VjdGlvbnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsICNwYW5lbCBbY2xhc3MubWF0LWVsZXZhdGlvbi16MF09XCJ0cnVlXCIgaGlkZVRvZ2dsZSBbZXhwYW5kZWRdPVwiJGluZGV4ID09PSAwXCI+XG4gICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGNsYXNzPVwiYmctcmVkXCI+XG4gICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtWzFyZW1dXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgIGNsYXNzPVwidG9nZ2xlLWljb25cIlxuICAgICAgICAgICAgICBzdHlsZT1cInRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zZm9ybToge3sgcGFuZWwuZXhwYW5kZWQgPyAncm90YXRlKDE4MGRlZyknIDogJ3JvdGF0ZSgwZGVnKScgfX07XCJcbiAgICAgICAgICAgICAgPmV4cGFuZF9tb3JlPC9tYXQtaWNvblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJnLXdoaXRlXCI+XG4gICAgICAgICAgICBAZm9yIChsZWN0dXJlIG9mIGl0ZW0ubGVjdHVyZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTFcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGxlY3R1cmUuaXRlbSAmJiBsZWN0dXJlLnR5cGUgPT09ICdWSURFTycpIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+bGl2ZV90djwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tZFwiPiB7eyBsZWN0dXJlLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICBAaWYgKHB1cmNoYXNlZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSBtci0xIHVuZGVybGluZSB1bmRlcmxpbmUtb2Zmc2V0LTIgY3Vyc29yLXBvaW50ZXIgdGV4dC1vcmFuZ2UtNjAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlY3Rpb24oaXRlbSwgbGVjdHVyZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPuaSreaUvjwvYVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChsZWN0dXJlLml0ZW0uY2FuQmVQcmV2aWV3ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSBtci0xIHVuZGVybGluZSB1bmRlcmxpbmUtb2Zmc2V0LTIgY3Vyc29yLXBvaW50ZXIgdGV4dC1vcmFuZ2UtNjAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VjdGlvbihpdGVtLCBsZWN0dXJlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID7or5XnnIs8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSBtci0xIHVuZGVybGluZSB1bmRlcmxpbmUtb2Zmc2V0LTIgY3Vyc29yLXBvaW50ZXIgdGV4dC1vcmFuZ2UtNjAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hlY2tvdXQoaXRlbSwgbGVjdHVyZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICA+6LSt5LmwPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIGlubGluZS1ibG9jayB3LVs2MHB4XSB0ZXh0LXJpZ2h0XCI+e3sgbGVjdHVyZS5pdGVtLmR1cmF0aW9uIHwgZHVyYXRpb24gfX08L2E+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gICAgICB9XG4gICAgPC9tYXQtYWNjb3JkaW9uPlxuICA8L2Rpdj5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9saWIvaW50ZXJmYWNlcy9jYXRlZ29yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ291cnNlIH0gZnJvbSAnLi9jb3Vyc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvdXJzZUNhdGVnb3J5IHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBtZWRpYTogQ291cnNlQ2F0ZWdvcnlNZWRpYVtdO1xuICBjb3Vyc2VzOiBDb3Vyc2VbXTtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIG9yaWdpbklkOiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBDb3Vyc2VDYXRlZ29yeTtcbiAgcGFyZW50OiBDb3Vyc2VDYXRlZ29yeTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ291cnNlQ2F0ZWdvcnlNZWRpYSB7XG4gIGlkOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICBhbHQ6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,146 @@
1
+ export var CourseStatus;
2
+ (function (CourseStatus) {
3
+ CourseStatus[CourseStatus["ACTIVE"] = '已发布'] = "ACTIVE";
4
+ CourseStatus[CourseStatus["ACCEPTED"] = '已通过'] = "ACCEPTED";
5
+ CourseStatus[CourseStatus["AWAITING"] = '审核中'] = "AWAITING";
6
+ CourseStatus[CourseStatus["PENDING"] = '审核中'] = "PENDING";
7
+ CourseStatus[CourseStatus["STARTED"] = '已开始'] = "STARTED";
8
+ CourseStatus[CourseStatus["ENDED"] = '已完成'] = "ENDED";
9
+ CourseStatus[CourseStatus["DELETED"] = '已删除'] = "DELETED";
10
+ CourseStatus[CourseStatus["DRAFT"] = '草稿'] = "DRAFT";
11
+ })(CourseStatus || (CourseStatus = {}));
12
+ export var CourseRequestStatus;
13
+ (function (CourseRequestStatus) {
14
+ CourseRequestStatus["AWAITING"] = "\u5BA1\u6838\u4E2D";
15
+ CourseRequestStatus["ACTIVE"] = "\u5DF2\u901A\u8FC7";
16
+ CourseRequestStatus["REJECTED"] = "\u5DF2\u62D2\u7EDD";
17
+ })(CourseRequestStatus || (CourseRequestStatus = {}));
18
+ export var CourseReviewStatus;
19
+ (function (CourseReviewStatus) {
20
+ CourseReviewStatus["ACCEPTED"] = "\u5DF2\u901A\u8FC7";
21
+ CourseReviewStatus["REJECTED"] = "\u672A\u901A\u8FC7";
22
+ })(CourseReviewStatus || (CourseReviewStatus = {}));
23
+ export var CourseSectionLectureContentType;
24
+ (function (CourseSectionLectureContentType) {
25
+ CourseSectionLectureContentType[CourseSectionLectureContentType["VIDEO"] = '视频'] = "VIDEO";
26
+ CourseSectionLectureContentType[CourseSectionLectureContentType["ARTICLE"] = '文章'] = "ARTICLE";
27
+ })(CourseSectionLectureContentType || (CourseSectionLectureContentType = {}));
28
+ // export const CourseType = [
29
+ // {
30
+ // key: 'ONLINE',
31
+ // value: '线上',
32
+ // },
33
+ // {
34
+ // key: 'OFFLINE',
35
+ // value: '线下',
36
+ // },
37
+ // {
38
+ // key: 'MIXED',
39
+ // value: '混合',
40
+ // },
41
+ // ];
42
+ export var CourseType;
43
+ (function (CourseType) {
44
+ CourseType[CourseType["ONLINE"] = '线上'] = "ONLINE";
45
+ CourseType[CourseType["OFFLINE"] = '线下'] = "OFFLINE";
46
+ CourseType[CourseType["MIXED"] = '混合'] = "MIXED";
47
+ })(CourseType || (CourseType = {}));
48
+ export const ScheduleDate = [
49
+ '00:00',
50
+ '00:15',
51
+ '00:30',
52
+ '00:45',
53
+ '01:00',
54
+ '01:15',
55
+ '01:30',
56
+ '01:45',
57
+ '02:00',
58
+ '02:15',
59
+ '02:30',
60
+ '02:45',
61
+ '03:00',
62
+ '03:15',
63
+ '03:30',
64
+ '03:45',
65
+ '04:00',
66
+ '04:15',
67
+ '04:30',
68
+ '04:45',
69
+ '05:00',
70
+ '05:15',
71
+ '05:30',
72
+ '05:45',
73
+ '06:00',
74
+ '06:15',
75
+ '06:30',
76
+ '06:45',
77
+ '07:00',
78
+ '07:15',
79
+ '07:30',
80
+ '07:45',
81
+ '08:00',
82
+ '08:15',
83
+ '08:30',
84
+ '08:45',
85
+ '09:00',
86
+ '09:15',
87
+ '09:30',
88
+ '09:45',
89
+ '10:00',
90
+ '10:15',
91
+ '10:30',
92
+ '10:45',
93
+ '11:00',
94
+ '11:15',
95
+ '11:30',
96
+ '11:45',
97
+ '12:00',
98
+ '12:15',
99
+ '12:30',
100
+ '12:45',
101
+ '13:00',
102
+ '13:15',
103
+ '13:30',
104
+ '13:45',
105
+ '14:00',
106
+ '14:15',
107
+ '14:30',
108
+ '14:45',
109
+ '15:00',
110
+ '15:15',
111
+ '15:30',
112
+ '15:45',
113
+ '16:00',
114
+ '16:15',
115
+ '16:30',
116
+ '16:45',
117
+ '17:00',
118
+ '17:15',
119
+ '17:30',
120
+ '17:45',
121
+ '18:00',
122
+ '18:15',
123
+ '18:30',
124
+ '18:45',
125
+ '19:00',
126
+ '19:15',
127
+ '19:30',
128
+ '19:45',
129
+ '20:00',
130
+ '20:15',
131
+ '20:30',
132
+ '20:45',
133
+ '21:00',
134
+ '21:15',
135
+ '21:30',
136
+ '21:45',
137
+ '22:00',
138
+ '22:15',
139
+ '22:30',
140
+ '22:45',
141
+ '23:00',
142
+ '23:15',
143
+ '23:30',
144
+ '23:45',
145
+ ];
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvdXJzZS9zcmMvbGliL2ludGVyZmFjZXMvY291cnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFEQSxNQUFNLENBQU4sSUFBWSxZQVNYO0FBVEQsV0FBWSxZQUFZO0lBQ3RCLHNDQUFjLEtBQUssWUFBQSxDQUFBO0lBQ25CLHdDQUFnQixLQUFLLGNBQUEsQ0FBQTtJQUNyQix3Q0FBZ0IsS0FBSyxjQUFBLENBQUE7SUFDckIsdUNBQWUsS0FBSyxhQUFBLENBQUE7SUFDcEIsdUNBQWUsS0FBSyxhQUFBLENBQUE7SUFDcEIscUNBQWEsS0FBSyxXQUFBLENBQUE7SUFDbEIsdUNBQWUsS0FBSyxhQUFBLENBQUE7SUFDcEIscUNBQWEsSUFBSSxXQUFBLENBQUE7QUFDbkIsQ0FBQyxFQVRXLFlBQVksS0FBWixZQUFZLFFBU3ZCO0FBQ0QsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3QixzREFBZ0IsQ0FBQTtJQUNoQixvREFBYyxDQUFBO0lBQ2Qsc0RBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQUpXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFJOUI7QUFRRCxNQUFNLENBQU4sSUFBWSxrQkFHWDtBQUhELFdBQVksa0JBQWtCO0lBQzVCLHFEQUFnQixDQUFBO0lBQ2hCLHFEQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFIVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBRzdCO0FBMkJELE1BQU0sQ0FBTixJQUFZLCtCQUdYO0FBSEQsV0FBWSwrQkFBK0I7SUFDekMsMkVBQWEsSUFBSSxXQUFBLENBQUE7SUFDakIsNkVBQWUsSUFBSSxhQUFBLENBQUE7QUFDckIsQ0FBQyxFQUhXLCtCQUErQixLQUEvQiwrQkFBK0IsUUFHMUM7QUErQkQsOEJBQThCO0FBQzlCLE1BQU07QUFDTixxQkFBcUI7QUFDckIsbUJBQW1CO0FBQ25CLE9BQU87QUFDUCxNQUFNO0FBQ04sc0JBQXNCO0FBQ3RCLG1CQUFtQjtBQUNuQixPQUFPO0FBQ1AsTUFBTTtBQUNOLG9CQUFvQjtBQUNwQixtQkFBbUI7QUFDbkIsT0FBTztBQUNQLEtBQUs7QUFDTCxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLGtDQUFjLElBQUksWUFBQSxDQUFBO0lBQ2xCLG1DQUFlLElBQUksYUFBQSxDQUFBO0lBQ25CLGlDQUFhLElBQUksV0FBQSxDQUFBO0FBQ25CLENBQUMsRUFKVyxVQUFVLEtBQVYsVUFBVSxRQUlyQjtBQUNELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBRVAsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUVQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBRVAsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFFUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUVQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBRVAsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFFUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUVQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBRVAsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFFUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUVQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBRVAsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87Q0FDUixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ291cnNlQ2F0ZWdvcnkgfSBmcm9tICcuL2NhdGVnb3J5JztcbmltcG9ydCB7IE1lZGlhIH0gZnJvbSAnLi9tZWRpYSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ291cnNlIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBjYXRlZ29yaWVzPzogQ291cnNlQ2F0ZWdvcnlbXTtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICBzdGF0dXM6IENvdXJzZVN0YXR1cyB8IHN0cmluZztcbiAgbWVkaWE6IE1lZGlhW107XG4gIHR5cGU6IENvdXJzZVR5cGU7XG4gIGluc3RydWN0b3JJZDogc3RyaW5nO1xuICBjbGFzc3Jvb206IENvdXJzZUNsYXNzcm9vbTtcbiAgZGV0YWlsczogQ291cnNlRGV0YWlsW107XG4gIHByaWNpbmc6IENvdXJzZVByaWNpbmdbXTtcbiAgc2NoZWR1bGU6IENvdXJzZVNjaGVkdWxlW107XG59XG5leHBvcnQgaW50ZXJmYWNlIENvdXJzZVByaWNpbmcge1xuICBpZDogc3RyaW5nO1xuICBtaW46IG51bWJlcjtcbiAgbWF4OiBudW1iZXI7XG4gIHRvdGFsOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIENvdXJzZVNjaGVkdWxlIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgY29udGVudDogc3RyaW5nO1xuICBzdGFydERhdGU6IHN0cmluZztcbiAgc3RhcnRUaW1lOiBzdHJpbmc7XG4gIHN0YXJ0QXQ6IHN0cmluZztcbiAgZW5kRGF0ZTogc3RyaW5nO1xuICBlbmRUaW1lOiBzdHJpbmc7XG4gIGVuZEF0OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIENvdXJzZUNsYXNzcm9vbSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgY29udGFjdDogc3RyaW5nO1xuICBwaG9uZTogc3RyaW5nO1xuICBwcm92aW5jZTogc3RyaW5nO1xuICBjaXR5OiBzdHJpbmc7XG4gIGNvdW50eTogc3RyaW5nO1xuICB0b3duOiBzdHJpbmc7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgZGV0YWlsOiBzdHJpbmc7XG4gIGxhdGl0dWRlOiBzdHJpbmc7XG4gIGxvbmdpdHVkZTogc3RyaW5nO1xuICBtZWRpYTogTWVkaWFbXTtcbiAgaXNVcGxvYWRpbmc/OiBib29sZWFuO1xuICByb29tPzogc3RyaW5nO1xufVxuZXhwb3J0IGVudW0gQ291cnNlU3RhdHVzIHtcbiAgQUNUSVZFID0gPGFueT4n5bey5Y+R5biDJyxcbiAgQUNDRVBURUQgPSA8YW55Piflt7LpgJrov4cnLFxuICBBV0FJVElORyA9IDxhbnk+J+WuoeaguOS4rScsXG4gIFBFTkRJTkcgPSA8YW55PiflrqHmoLjkuK0nLFxuICBTVEFSVEVEID0gPGFueT4n5bey5byA5aeLJyxcbiAgRU5ERUQgPSA8YW55Piflt7LlrozmiJAnLFxuICBERUxFVEVEID0gPGFueT4n5bey5Yig6ZmkJyxcbiAgRFJBRlQgPSA8YW55PifojYnnqL8nLFxufVxuZXhwb3J0IGVudW0gQ291cnNlUmVxdWVzdFN0YXR1cyB7XG4gIEFXQUlUSU5HID0gJ+WuoeaguOS4rScsXG4gIEFDVElWRSA9ICflt7LpgJrov4cnLFxuICBSRUpFQ1RFRCA9ICflt7Lmi5Lnu50nLFxufVxuZXhwb3J0IGludGVyZmFjZSBDb3Vyc2VSZXZpZXdSZWNvcmQge1xuICBjb250ZW50OiBzdHJpbmc7XG4gIHN0YXR1czogQ291cnNlUmV2aWV3U3RhdHVzO1xuICBjb3Vyc2U6IENvdXJzZTtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufVxuZXhwb3J0IGVudW0gQ291cnNlUmV2aWV3U3RhdHVzIHtcbiAgQUNDRVBURUQgPSAn5bey6YCa6L+HJyxcbiAgUkVKRUNURUQgPSAn5pyq6YCa6L+HJyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ291cnNlRGV0YWlsIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgY29udGVudDogc3RyaW5nO1xuICBtZWRpYTogTWVkaWFbXTtcbiAgaXNVcGxvYWRpbmc/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBDb3Vyc2VTZWN0aW9uIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGxlY3R1cmVzOiBDb3Vyc2VTZWN0aW9uTGVjdHVyZVtdO1xufVxuZXhwb3J0IGludGVyZmFjZSBDb3Vyc2VTZWN0aW9uTGVjdHVyZSB7XG4gIGlkPzogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICB0eXBlOiBDb3Vyc2VTZWN0aW9uTGVjdHVyZUNvbnRlbnRUeXBlIHwgc3RyaW5nO1xuICBpdGVtOiBDb3Vyc2VTZWN0aW9uTGVjdHVyZVZpZGVvO1xuICBpc1VwbG9hZGluZz86IGJvb2xlYW47XG4gIHByb2dyZXNzPzogbnVtYmVyIHwgMDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ291cnNlU2VjdGlvbkxlY3R1cmVJdGVtIHtcbiAgaWQ6IHN0cmluZztcbn1cbmV4cG9ydCBlbnVtIENvdXJzZVNlY3Rpb25MZWN0dXJlQ29udGVudFR5cGUge1xuICBWSURFTyA9IDxhbnk+J+inhumikScsXG4gIEFSVElDTEUgPSA8YW55Pifmlofnq6AnLFxufVxuZXhwb3J0IGludGVyZmFjZSBDb3Vyc2VTZWN0aW9uTGVjdHVyZVZpZGVvIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICB0aHVtYm5haWw6IHN0cmluZztcbiAgZHVyYXRpb246IG51bWJlcjtcbiAgaXNVcGxvYWRpbmc/OiBib29sZWFuO1xuICBwcm9ncmVzczogbnVtYmVyIHwgMDtcbiAgY2FuQmVQcmV2aWV3ZWQ6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIENvdXJzZVNlY3Rpb25MZWN0dXJlVmlkZW9NZXRhZGF0YSB7XG4gIGR1cmF0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZWR1bGUge1xuICBpZD86IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgY29udGVudDogc3RyaW5nO1xuICBzdGFydERhdGU/OiBzdHJpbmc7XG4gIHN0YXJ0VGltZT86IHN0cmluZztcbiAgc3RhcnRBdDogc3RyaW5nO1xuICBlbmREYXRlPzogc3RyaW5nO1xuICBlbmRUaW1lPzogc3RyaW5nO1xuICBlbmRBdDogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBQcmljaW5nIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIG1pbjogbnVtYmVyO1xuICBtYXg6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbn1cbi8vIGV4cG9ydCBjb25zdCBDb3Vyc2VUeXBlID0gW1xuLy8gICB7XG4vLyAgICAga2V5OiAnT05MSU5FJyxcbi8vICAgICB2YWx1ZTogJ+e6v+S4iicsXG4vLyAgIH0sXG4vLyAgIHtcbi8vICAgICBrZXk6ICdPRkZMSU5FJyxcbi8vICAgICB2YWx1ZTogJ+e6v+S4iycsXG4vLyAgIH0sXG4vLyAgIHtcbi8vICAgICBrZXk6ICdNSVhFRCcsXG4vLyAgICAgdmFsdWU6ICfmt7flkIgnLFxuLy8gICB9LFxuLy8gXTtcbmV4cG9ydCBlbnVtIENvdXJzZVR5cGUge1xuICBPTkxJTkUgPSA8YW55Pifnur/kuIonLFxuICBPRkZMSU5FID0gPGFueT4n57q/5LiLJyxcbiAgTUlYRUQgPSA8YW55Pifmt7flkIgnLFxufVxuZXhwb3J0IGNvbnN0IFNjaGVkdWxlRGF0ZSA9IFtcbiAgJzAwOjAwJyxcbiAgJzAwOjE1JyxcbiAgJzAwOjMwJyxcbiAgJzAwOjQ1JyxcblxuICAnMDE6MDAnLFxuICAnMDE6MTUnLFxuICAnMDE6MzAnLFxuICAnMDE6NDUnLFxuXG4gICcwMjowMCcsXG4gICcwMjoxNScsXG4gICcwMjozMCcsXG4gICcwMjo0NScsXG4gICcwMzowMCcsXG4gICcwMzoxNScsXG4gICcwMzozMCcsXG4gICcwMzo0NScsXG5cbiAgJzA0OjAwJyxcbiAgJzA0OjE1JyxcbiAgJzA0OjMwJyxcbiAgJzA0OjQ1JyxcbiAgJzA1OjAwJyxcbiAgJzA1OjE1JyxcbiAgJzA1OjMwJyxcbiAgJzA1OjQ1JyxcblxuICAnMDY6MDAnLFxuICAnMDY6MTUnLFxuICAnMDY6MzAnLFxuICAnMDY6NDUnLFxuICAnMDc6MDAnLFxuICAnMDc6MTUnLFxuICAnMDc6MzAnLFxuICAnMDc6NDUnLFxuXG4gICcwODowMCcsXG4gICcwODoxNScsXG4gICcwODozMCcsXG4gICcwODo0NScsXG4gICcwOTowMCcsXG4gICcwOToxNScsXG4gICcwOTozMCcsXG4gICcwOTo0NScsXG5cbiAgJzEwOjAwJyxcbiAgJzEwOjE1JyxcbiAgJzEwOjMwJyxcbiAgJzEwOjQ1JyxcbiAgJzExOjAwJyxcbiAgJzExOjE1JyxcbiAgJzExOjMwJyxcbiAgJzExOjQ1JyxcblxuICAnMTI6MDAnLFxuICAnMTI6MTUnLFxuICAnMTI6MzAnLFxuICAnMTI6NDUnLFxuICAnMTM6MDAnLFxuICAnMTM6MTUnLFxuICAnMTM6MzAnLFxuICAnMTM6NDUnLFxuXG4gICcxNDowMCcsXG4gICcxNDoxNScsXG4gICcxNDozMCcsXG4gICcxNDo0NScsXG4gICcxNTowMCcsXG4gICcxNToxNScsXG4gICcxNTozMCcsXG4gICcxNTo0NScsXG5cbiAgJzE2OjAwJyxcbiAgJzE2OjE1JyxcbiAgJzE2OjMwJyxcbiAgJzE2OjQ1JyxcbiAgJzE3OjAwJyxcbiAgJzE3OjE1JyxcbiAgJzE3OjMwJyxcbiAgJzE3OjQ1JyxcblxuICAnMTg6MDAnLFxuICAnMTg6MTUnLFxuICAnMTg6MzAnLFxuICAnMTg6NDUnLFxuICAnMTk6MDAnLFxuICAnMTk6MTUnLFxuICAnMTk6MzAnLFxuICAnMTk6NDUnLFxuXG4gICcyMDowMCcsXG4gICcyMDoxNScsXG4gICcyMDozMCcsXG4gICcyMDo0NScsXG4gICcyMTowMCcsXG4gICcyMToxNScsXG4gICcyMTozMCcsXG4gICcyMTo0NScsXG5cbiAgJzIyOjAwJyxcbiAgJzIyOjE1JyxcbiAgJzIyOjMwJyxcbiAgJzIyOjQ1JyxcbiAgJzIzOjAwJyxcbiAgJzIzOjE1JyxcbiAgJzIzOjMwJyxcbiAgJzIzOjQ1Jyxcbl07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { CourseStatus, CourseRequestStatus, ScheduleDate, CourseType, CourseReviewStatus, CourseSectionLectureContentType, } from './course';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9saWIvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsWUFBWSxFQUNaLG1CQUFtQixFQUtuQixZQUFZLEVBRVosVUFBVSxFQUVWLGtCQUFrQixFQUtsQiwrQkFBK0IsR0FFaEMsTUFBTSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBNZWRpYSB9IGZyb20gJy4vbWVkaWEnO1xuZXhwb3J0IHtcbiAgQ291cnNlLFxuICBDb3Vyc2VTdGF0dXMsXG4gIENvdXJzZVJlcXVlc3RTdGF0dXMsXG4gIENvdXJzZURldGFpbCxcbiAgU2NoZWR1bGUsXG4gIENvdXJzZVNjaGVkdWxlLFxuICBDb3Vyc2VQcmljaW5nLFxuICBTY2hlZHVsZURhdGUsXG4gIFByaWNpbmcsXG4gIENvdXJzZVR5cGUsXG4gIENvdXJzZVJldmlld1JlY29yZCxcbiAgQ291cnNlUmV2aWV3U3RhdHVzLFxuICBDb3Vyc2VDbGFzc3Jvb20sXG4gIENvdXJzZVNlY3Rpb24sXG4gIENvdXJzZVNlY3Rpb25MZWN0dXJlLFxuICBDb3Vyc2VTZWN0aW9uTGVjdHVyZVZpZGVvLFxuICBDb3Vyc2VTZWN0aW9uTGVjdHVyZUNvbnRlbnRUeXBlLFxuICBDb3Vyc2VTZWN0aW9uTGVjdHVyZVZpZGVvTWV0YWRhdGEsXG59IGZyb20gJy4vY291cnNlJztcblxuZXhwb3J0IHsgQ291cnNlQ2F0ZWdvcnksIENvdXJzZUNhdGVnb3J5TWVkaWEgfSBmcm9tICcuL2NhdGVnb3J5JztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY291cnNlL3NyYy9saWIvaW50ZXJmYWNlcy9tZWRpYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNZWRpYSB7XG4gIGlkPzogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgYWx0OiBzdHJpbmc7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIHV1aWQ/OiBzdHJpbmc7XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cbiJdfQ==