@rolatech/angular-components 17.7.6 → 17.7.8
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/esm2022/index.mjs +2 -1
- package/esm2022/lib/accordion/accordion.component.mjs +3 -3
- package/esm2022/lib/angular-components.module.mjs +4 -4
- package/esm2022/lib/avatar/avatar.component.mjs +3 -3
- package/esm2022/lib/chip-bar/chip-bar.component.mjs +3 -3
- package/esm2022/lib/confirmation-dialog/confirmation-dialog.component.mjs +3 -3
- package/esm2022/lib/console-layout/console-layout.component.mjs +3 -3
- package/esm2022/lib/container/container.component.mjs +5 -5
- package/esm2022/lib/container-content/container-content.component.mjs +3 -3
- package/esm2022/lib/content/content.component.mjs +3 -3
- package/esm2022/lib/drawer/drawer.component.mjs +5 -5
- package/esm2022/lib/editor/editor.component.mjs +3 -3
- package/esm2022/lib/empty/empty.component.mjs +3 -3
- package/esm2022/lib/filter/filter.component.mjs +12 -0
- package/esm2022/lib/folder/folder.component.mjs +3 -3
- package/esm2022/lib/footer/footer.component.mjs +3 -3
- package/esm2022/lib/icon/icon.component.mjs +3 -3
- package/esm2022/lib/icon-button/icon-button.component.mjs +3 -3
- package/esm2022/lib/image/image.component.mjs +3 -3
- package/esm2022/lib/image-placeholder/image-placeholder.component.mjs +3 -3
- package/esm2022/lib/image-preview-dialog/image-preview-dialog.component.mjs +3 -3
- package/esm2022/lib/input/input.component.mjs +3 -3
- package/esm2022/lib/layout/layout-event.service.mjs +3 -3
- package/esm2022/lib/layout/layout.component.mjs +3 -3
- package/esm2022/lib/list/list.component.mjs +3 -3
- package/esm2022/lib/material.module.mjs +4 -4
- package/esm2022/lib/media-list/media-list.component.mjs +3 -3
- package/esm2022/lib/media-list-item/media-list-item.component.mjs +3 -3
- package/esm2022/lib/media-preview/media-preview.component.mjs +3 -3
- package/esm2022/lib/media-preview-dialog/media-preview-dialog.component.mjs +3 -3
- package/esm2022/lib/media-upload/media-upload.component.mjs +5 -5
- package/esm2022/lib/media-upload-dialog/media-upload-dialog.component.mjs +5 -5
- package/esm2022/lib/menu-icon/menu-icon.component.mjs +3 -3
- package/esm2022/lib/menu-user/menu-user.component.mjs +5 -5
- package/esm2022/lib/mini-guide/mini-guide.component.mjs +3 -3
- package/esm2022/lib/not-found/not-found.component.mjs +3 -3
- package/esm2022/lib/page/page.component.mjs +3 -3
- package/esm2022/lib/paginator/paginator.component.mjs +3 -3
- package/esm2022/lib/panel/panel-header.component.mjs +3 -3
- package/esm2022/lib/panel/panel.component.mjs +3 -3
- package/esm2022/lib/rich-item/rich-item.component.mjs +3 -3
- package/esm2022/lib/rich-view/rich-view.component.mjs +3 -3
- package/esm2022/lib/spinner/spinner.component.mjs +3 -3
- package/esm2022/lib/storage-bucket-create/storage-bucket-create.component.mjs +3 -3
- package/esm2022/lib/storage-file-upload/storage-file-upload.component.mjs +3 -3
- package/esm2022/lib/storage-folder-create/storage-folder-create.component.mjs +5 -5
- package/esm2022/lib/tab/tab.component.mjs +3 -3
- package/esm2022/lib/table/table.component.mjs +3 -3
- package/esm2022/lib/tabs/tabs.component.mjs +3 -3
- package/esm2022/lib/thumbnail/thumbnail.component.mjs +5 -5
- package/esm2022/lib/title/title.component.mjs +5 -5
- package/esm2022/lib/toolbar/toolbar.component.mjs +5 -5
- package/esm2022/lib/topbar/topbar.component.mjs +5 -5
- package/esm2022/lib/topbar-avatar-menu/topbar-avatar-menu.component.mjs +5 -5
- package/esm2022/lib/wechat-connect-dialog/wechat-connect-dialog.component.mjs +3 -3
- package/fesm2022/rolatech-angular-components.mjs +179 -170
- package/fesm2022/rolatech-angular-components.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/container/container.component.d.ts +1 -1
- package/lib/filter/filter.component.d.ts +5 -0
- package/package.json +1 -1
- package/themes/_default.scss +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-components.mjs","sources":["../../../../libs/angular-components/src/lib/icon/icon.component.ts","../../../../libs/angular-components/src/lib/icon/icon.component.html","../../../../libs/angular-components/src/lib/icon-button/icon-button.component.ts","../../../../libs/angular-components/src/lib/icon-button/icon-button.component.html","../../../../libs/angular-components/src/lib/title/title.component.ts","../../../../libs/angular-components/src/lib/title/title.component.html","../../../../libs/angular-components/src/lib/container/container.component.ts","../../../../libs/angular-components/src/lib/container/container.component.html","../../../../libs/angular-components/src/lib/container-content/container-content.component.ts","../../../../libs/angular-components/src/lib/container-content/container-content.component.html","../../../../libs/angular-components/src/provider.ts","../../../../libs/angular-components/src/lib/menu-icon/menu-icon.component.ts","../../../../libs/angular-components/src/lib/menu-icon/menu-icon.component.html","../../../../libs/angular-components/src/lib/topbar/topbar.component.ts","../../../../libs/angular-components/src/lib/topbar/topbar.component.html","../../../../libs/angular-components/src/lib/drawer/drawer-animations.ts","../../../../libs/angular-components/src/lib/drawer/drawer.component.ts","../../../../libs/angular-components/src/lib/drawer/drawer.component.html","../../../../libs/angular-components/src/lib/mini-guide/mini-guide.component.ts","../../../../libs/angular-components/src/lib/mini-guide/mini-guide.component.html","../../../../libs/angular-components/src/lib/page/page.component.ts","../../../../libs/angular-components/src/lib/page/page.component.html","../../../../libs/angular-components/src/lib/layout/layout.component.ts","../../../../libs/angular-components/src/lib/layout/layout.component.html","../../../../libs/angular-components/src/lib/footer/footer.component.ts","../../../../libs/angular-components/src/lib/footer/footer.component.html","../../../../libs/angular-components/src/lib/console-layout/console-layout.component.ts","../../../../libs/angular-components/src/lib/console-layout/console-layout.component.html","../../../../libs/angular-components/src/lib/menu-user/menu-user.component.ts","../../../../libs/angular-components/src/lib/menu-user/menu-user.component.html","../../../../libs/angular-components/src/lib/topbar-avatar-menu/topbar-avatar-menu.component.ts","../../../../libs/angular-components/src/lib/topbar-avatar-menu/topbar-avatar-menu.component.html","../../../../libs/angular-components/src/lib/folder/folder.component.ts","../../../../libs/angular-components/src/lib/folder/folder.component.html","../../../../libs/angular-components/src/lib/media-preview-dialog/media-preview-dialog.component.ts","../../../../libs/angular-components/src/lib/media-preview-dialog/media-preview-dialog.component.html","../../../../libs/angular-components/src/lib/material.module.ts","../../../../libs/angular-components/src/lib/angular-components.module.ts","../../../../libs/angular-components/src/lib/spinner/spinner.component.ts","../../../../libs/angular-components/src/lib/spinner/spinner.component.html","../../../../libs/angular-components/src/lib/media-upload/media-upload.component.ts","../../../../libs/angular-components/src/lib/media-upload/media-upload.component.html","../../../../libs/angular-components/src/lib/storage-bucket-create/storage-bucket-create.component.ts","../../../../libs/angular-components/src/lib/storage-bucket-create/storage-bucket-create.component.html","../../../../libs/angular-components/src/lib/storage-file-upload/storage-file-upload.component.ts","../../../../libs/angular-components/src/lib/storage-file-upload/storage-file-upload.component.html","../../../../libs/angular-components/src/lib/storage-folder-create/storage-folder-create.component.ts","../../../../libs/angular-components/src/lib/storage-folder-create/storage-folder-create.component.html","../../../../libs/angular-components/src/lib/wechat-connect-dialog/wechat-connect-dialog.component.ts","../../../../libs/angular-components/src/lib/wechat-connect-dialog/wechat-connect-dialog.component.html","../../../../libs/angular-components/src/lib/media-upload-dialog/media-upload-dialog.component.ts","../../../../libs/angular-components/src/lib/media-upload-dialog/media-upload-dialog.component.html","../../../../libs/angular-components/src/lib/media-list/media-list.component.ts","../../../../libs/angular-components/src/lib/media-list/media-list.component.html","../../../../libs/angular-components/src/lib/media-list-item/media-list-item.component.ts","../../../../libs/angular-components/src/lib/media-list-item/media-list-item.component.html","../../../../libs/angular-components/src/lib/not-found/not-found.component.ts","../../../../libs/angular-components/src/lib/not-found/not-found.component.html","../../../../libs/angular-components/src/lib/confirmation-dialog/confirmation-dialog.component.ts","../../../../libs/angular-components/src/lib/confirmation-dialog/confirmation-dialog.component.html","../../../../libs/angular-components/src/lib/base.component.ts","../../../../libs/angular-components/src/lib/table/table.component.ts","../../../../libs/angular-components/src/lib/table/table.component.html","../../../../libs/angular-components/src/lib/paginator/paginator.component.ts","../../../../libs/angular-components/src/lib/paginator/paginator.component.html","../../../../libs/angular-components/src/lib/media-preview/media-preview.component.ts","../../../../libs/angular-components/src/lib/media-preview/media-preview.component.html","../../../../libs/angular-components/src/lib/toolbar/toolbar.component.ts","../../../../libs/angular-components/src/lib/toolbar/toolbar.component.html","../../../../libs/angular-components/src/lib/thumbnail/thumbnail.component.ts","../../../../libs/angular-components/src/lib/thumbnail/thumbnail.component.html","../../../../libs/angular-components/src/lib/image/image.component.ts","../../../../libs/angular-components/src/lib/image/image.component.html","../../../../libs/angular-components/src/lib/tab/tab.component.ts","../../../../libs/angular-components/src/lib/tab/tab.component.html","../../../../libs/angular-components/src/lib/tabs/tabs.component.ts","../../../../libs/angular-components/src/lib/tabs/tabs.component.html","../../../../libs/angular-components/src/lib/list/list.component.ts","../../../../libs/angular-components/src/lib/list/list.component.html","../../../../libs/angular-components/src/lib/content/content.component.ts","../../../../libs/angular-components/src/lib/content/content.component.html","../../../../libs/angular-components/src/lib/chip-bar/chip-bar.component.ts","../../../../libs/angular-components/src/lib/chip-bar/chip-bar.component.html","../../../../libs/angular-components/src/lib/avatar/avatar.component.ts","../../../../libs/angular-components/src/lib/avatar/avatar.component.html","../../../../libs/angular-components/src/lib/image-placeholder/image-placeholder.component.ts","../../../../libs/angular-components/src/lib/image-placeholder/image-placeholder.component.html","../../../../libs/angular-components/src/lib/image-preview-dialog/image-preview-dialog.component.ts","../../../../libs/angular-components/src/lib/image-preview-dialog/image-preview-dialog.component.html","../../../../libs/angular-components/src/lib/empty/empty.component.ts","../../../../libs/angular-components/src/lib/empty/empty.component.html","../../../../libs/angular-components/src/lib/input/input.component.ts","../../../../libs/angular-components/src/lib/input/input.component.html","../../../../libs/angular-components/src/lib/rich-item/rich-item.component.ts","../../../../libs/angular-components/src/lib/rich-item/rich-item.component.html","../../../../libs/angular-components/src/lib/rich-view/rich-view.component.ts","../../../../libs/angular-components/src/lib/rich-view/rich-view.component.html","../../../../libs/angular-components/src/lib/editor/editor.component.ts","../../../../libs/angular-components/src/lib/editor/editor.component.html","../../../../libs/angular-components/src/lib/accordion/accordion.component.ts","../../../../libs/angular-components/src/lib/accordion/accordion.component.html","../../../../libs/angular-components/src/lib/panel/panel-animations.ts","../../../../libs/angular-components/src/lib/panel/panel-header.component.ts","../../../../libs/angular-components/src/lib/panel/panel-header.component.html","../../../../libs/angular-components/src/lib/panel/panel.component.ts","../../../../libs/angular-components/src/lib/panel/panel.component.html","../../../../libs/angular-components/src/rolatech-angular-components.ts"],"sourcesContent":["import { Component, ElementRef, HostBinding, ViewEncapsulation, booleanAttribute, effect, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-icon',\n standalone: true,\n imports: [CommonModule, MatIcon],\n templateUrl: './icon.component.html',\n styleUrl: './icon.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconComponent {\n @HostBinding('class.rolatech-icon') hasClass = true;\n filled = input(false, { transform: booleanAttribute });\n el = inject(ElementRef);\n constructor() {\n effect(() => {\n if (this.filled()) {\n this.el.nativeElement.setAttribute('filled', '');\n } else {\n this.el.nativeElement.removeAttribute('filled');\n }\n });\n }\n}\n","<mat-icon>\n <ng-content></ng-content>\n</mat-icon>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from '../icon/icon.component';\n\n@Component({\n selector: 'rolatech-icon-button',\n standalone: true,\n imports: [CommonModule, IconComponent],\n templateUrl: './icon-button.component.html',\n styleUrl: './icon-button.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconButtonComponent {\n @HostBinding('class.rolatech-icon-button') hasClass = true;\n}\n","<button\n id=\"button\"\n class=\"w-10 h-10 p-2 inline-block relative cursor-pointer hover:bg-[--rt-10-percent-layer] rounded-full rolatech-icon-button\"\n onclick=\"this.blur()\"\n>\n <!-- <ng-content select=\"rolatech-icon\"></ng-content> -->\n <rolatech-icon>\n <ng-content></ng-content>\n </rolatech-icon>\n</button>\n","import { Component, HostBinding, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-title',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './title.component.html',\n styleUrl: './title.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class TitleComponent {\n @HostBinding('class.rolatech-title') hasClass = true;\n title = input();\n subtitle = input();\n large = input(false, { transform: booleanAttribute });\n}\n","<div class=\"flex flex-row items-center\">\n @if (large()) {\n <a class=\"block text-3xl font-bold py-3\"\n ><span>{{ title() }}</span></a\n >\n } @else {\n <a class=\"block text-xl font-bold py-3\"\n ><span>{{ title() }}</span></a\n >\n }\n\n <a class=\"text-sm leading-3 text-gray-500\"\n ><span>{{ subtitle() }}</span></a\n >\n</div>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n standalone: true,\n selector: 'rolatech-container',\n imports: [CommonModule],\n templateUrl: './container.component.html',\n styleUrl: './container.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ContainerComponent {\n @HostBinding('id') hasId = 'rolatech-container';\n @HostBinding('class.rolatech-container') hasClass = true;\n}\n","<div class=\"xl:max-w-[1024px] 2xl:max-w-[1280px] m-auto\">\n <ng-content select=\"rolatech-toolbar\"></ng-content>\n <ng-content select=\"rolatech-tabs\"></ng-content>\n <ng-content select=\"rolatech-chip-bar\"></ng-content>\n <ng-content select=\"rolatech-list\"></ng-content>\n <ng-content select=\"rolatech-content\"></ng-content>\n <div class=\"container-content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatSidenavModule } from '@angular/material/sidenav';\n\n@Component({\n selector: 'rolatech-container-content',\n standalone: true,\n imports: [CommonModule, MatSidenavModule],\n templateUrl: './container-content.component.html',\n styleUrl: './container-content.component.scss',\n})\nexport class ContainerContentComponent {}\n","<div>\n <ng-content></ng-content>\n</div>\n","import { EnvironmentProviders, InjectionToken, Provider, makeEnvironmentProviders } from '@angular/core';\n\nexport interface DrawerConfig {\n persistent: boolean;\n}\nexport interface AppTopbarConfig {\n persistent: boolean;\n}\nexport interface AppLayoutConfig {\n title: string;\n subtitle?: string;\n persistent?: boolean | undefined;\n topbar?: AppTopbarConfig;\n drawer?: DrawerConfig;\n guide?: boolean | undefined;\n}\n\nexport const APP_LAYOUT = new InjectionToken<AppLayoutConfig>('APP_LAYOUT');\n\nexport function provideAngularLayout(config?: AppLayoutConfig): EnvironmentProviders {\n const providers: (Provider | EnvironmentProviders)[] = [\n {\n provide: APP_LAYOUT,\n useValue: config,\n },\n ];\n return makeEnvironmentProviders(providers);\n}\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-menu-icon',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './menu-icon.component.html',\n styleUrl: './menu-icon.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class MenuIconComponent {\n @HostBinding('class.rolatech-icon-button') hasClass = true;\n}\n","<button\n id=\"button\"\n class=\"w-10 h-10 p-2 inline-block relative cursor-pointer hover:bg-[--rt-10-percent-layer] rounded-full rolatech-icon-button\"\n onclick=\"this.blur()\"\n>\n <div style=\"width: 100%; height: 100%; display: block; fill: currentcolor\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M21 6H3V5h18v1zm0 5H3v1h18v-1zm0 6H3v1h18v-1z\"></path>\n </svg>\n </div>\n</button>\n","import {\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n inject,\n input,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLink } from '@angular/router';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { APP_LAYOUT } from '../../provider';\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { MiniGuideComponent } from '../mini-guide/mini-guide.component';\nimport { MenuIconComponent } from '../menu-icon/menu-icon.component';\n\n@Component({\n selector: 'rolatech-topbar',\n standalone: true,\n imports: [CommonModule, RouterLink, IconButtonComponent, MatButtonModule, MatIcon, MenuIconComponent],\n templateUrl: './topbar.component.html',\n styleUrl: './topbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class TopbarComponent implements OnInit {\n @HostBinding('id') hostId = 'rolatech-topbar';\n @HostBinding('class.rolatech-topbar') hasClass = true;\n persistent = inject(APP_LAYOUT).persistent;\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n platformId = inject(PLATFORM_ID);\n breakpointObserver = inject(BreakpointObserver);\n appLayout = inject(APP_LAYOUT);\n link = input('/');\n appDrawer!: DrawerComponent;\n miniGuide!: MiniGuideComponent;\n\n ngOnInit(): void {\n if (this.persistent) {\n this.renderer.setAttribute(this.el.nativeElement, 'persistent', '');\n } else {\n this.renderer.removeAttribute(this.el.nativeElement, 'persistent');\n }\n }\n\n onToggle() {\n if (this.appLayout.guide) {\n this.miniGuide.toggle();\n }\n this.appDrawer.toggle();\n }\n}\n","<div class=\"h-14 flex items-center\">\n <rolatech-menu-icon id=\"topbar-menu-button\" (click)=\"onToggle()\"></rolatech-menu-icon>\n <div class=\"cursor-pointer ml-1\" [routerLink]=\"link()\">\n <div class=\"text-[--rt-text-primary] text-lg md:text-xl font-bold\">\n <span class=\"text-orange-600\">{{ appLayout.title }}</span>\n <span>{{ appLayout.subtitle }}</span>\n </div>\n </div>\n <div class=\"flex-1\"></div>\n <ng-content></ng-content>\n</div>\n","import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n// export const DRAWER_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\n// export const heightAnimation = trigger('heightAnimation', [\n// state(\n// 'expanded',\n// style({\n// height: '*',\n// visibility: 'visible',\n// }),\n// ),\n// state(\n// 'collapsed',\n// style({\n// height: '0px',\n// visibility: 'hidden',\n// }),\n// ),\n// transition('expanded <=> collapsed', [animate(DRAWER_ANIMATION_TIMING)]),\n// ]);\n\nexport const PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\nexport const panelAnimations: {\n readonly indicator: AnimationTriggerMetadata;\n readonly content: AnimationTriggerMetadata;\n} = {\n /** Animation that rotates the indicator arrow. */\n indicator: trigger('indicator', [\n state('collapsed, void', style({ transform: 'rotate(0deg)' })),\n state('expanded', style({ transform: 'rotate(180deg)' })),\n transition('expanded <=> collapsed, void => collapsed', animate(PANEL_ANIMATION_TIMING)),\n ]),\n /** Animation that expands and collapses the panel content. */\n content: trigger('content', [\n state('collapsed, void', style({ height: '0px', visibility: 'hidden' })),\n state('expanded', style({ height: '*', visibility: 'visible' })),\n transition('expanded <=> collapsed, void => collapsed', animate(PANEL_ANIMATION_TIMING)),\n ]),\n};\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatNavList } from '@angular/material/list';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { Observable, filter, map } from 'rxjs';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { IconComponent } from '../icon/icon.component';\nimport { APP_LAYOUT } from '../../provider';\nimport { MatExpansionPanel, MatExpansionPanelHeader } from '@angular/material/expansion';\nimport { MatIcon } from '@angular/material/icon';\nimport { panelAnimations } from './drawer-animations';\nimport { MenuIconComponent } from '../menu-icon/menu-icon.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { LayoutEventService } from '../layout/layout-event.service';\nimport { Platform } from '@angular/cdk/platform';\n\nexport interface LINK {\n title: string;\n subtitle?: string;\n openinView?: boolean;\n icon?: string;\n link: string;\n children?: LINK[];\n button?: boolean;\n exact?: boolean;\n}\n@Component({\n selector: 'rolatech-drawer',\n standalone: true,\n imports: [\n CommonModule,\n MatNavList,\n RouterLink,\n MatExpansionPanel,\n MatExpansionPanelHeader,\n MatIcon,\n RouterLinkActive,\n IconButtonComponent,\n IconComponent,\n MenuIconComponent,\n MatButtonModule,\n ],\n templateUrl: './drawer.component.html',\n styleUrl: './drawer.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [panelAnimations.indicator, panelAnimations.content],\n host: {\n id: 'rolatech-drawer',\n class: 'rolatech-drawer',\n 'style.transition-duration': '200ms',\n ngSkipHydration: '',\n },\n})\nexport class DrawerComponent implements AfterContentInit, AfterContentChecked {\n private _enableAnimations = false;\n\n persistent: boolean | undefined = inject(APP_LAYOUT).persistent;\n links = input<LINK[]>();\n position = input('left');\n opened = input(true);\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n platformId = inject(PLATFORM_ID);\n breakpointObserver = inject(BreakpointObserver);\n appLayout = inject(APP_LAYOUT);\n guideEl = viewChild<ElementRef>('guide');\n content = viewChild<ElementRef>('content');\n scrimEl = viewChild<ElementRef>('scrim');\n headerEl = viewChild<ElementRef>('header');\n isMobile = false;\n isPersistent = true;\n panelOpenState = false;\n private _opened: boolean = false;\n private _platform = inject(Platform);\n\n open() {\n this._opened = true;\n this.renderer.setAttribute(this.el.nativeElement, 'opened', '');\n this.renderer.setAttribute(this.content()?.nativeElement, 'opened', '');\n if (this.isMobile) {\n this.renderer.addClass(this.scrimEl()?.nativeElement, 'visible');\n }\n }\n close() {\n this._opened = false;\n this.renderer.removeAttribute(this.el.nativeElement, 'opened');\n this.renderer.removeAttribute(this.content()?.nativeElement, 'opened');\n if (this.isMobile) {\n this.renderer.removeClass(this.scrimEl()?.nativeElement, 'visible');\n }\n }\n toggle() {\n this._opened ? this.close() : this.open();\n }\n init(isMobile: boolean) {\n this._opened = !isMobile;\n this.isMobile = isMobile;\n this.isPersistent = !isMobile;\n if (this._platform.isBrowser) {\n if (isMobile) {\n this.renderer.removeAttribute(this.el.nativeElement, 'persistent');\n this.renderer.removeAttribute(this.headerEl()?.nativeElement, 'hidden', '');\n this.renderer.removeAttribute(this.el.nativeElement, 'opened');\n this.renderer.removeAttribute(this.content()?.nativeElement, 'opened');\n } else {\n if (this.persistent) {\n this.renderer.setAttribute(this.el.nativeElement, 'persistent', '');\n this.renderer.setAttribute(this.headerEl()?.nativeElement, 'hidden', '');\n this.renderer.setAttribute(this.el.nativeElement, 'opened', '');\n this.renderer.setAttribute(this.content()?.nativeElement, 'opened', '');\n }\n }\n }\n }\n ngAfterContentInit(): void {\n this.renderer.setAttribute(this.el.nativeElement, 'position', this.position());\n this.breakpointObserver\n .observe(['(max-width: 768px)'])\n .pipe(map((result) => result.matches))\n .subscribe({\n next: (res: any) => {\n this.init(res);\n },\n });\n }\n ngAfterContentChecked(): void {\n if (this._platform.isBrowser) {\n this._enableAnimations = true;\n }\n }\n}\n","<div id=\"scrim\" #scrim class=\"rolatech-drawer\" (click)=\"close()\"></div>\n<div id=\"contentContainer\" #content class=\"rolatech-drawer\">\n <div id=\"guide-wrapper\" class=\"rolatech-drawer\">\n <div id=\"guide-spacer\"></div>\n <div id=\"guide-content\" class=\"rolatech-drawer\">\n <div id=\"header\" #header class=\"flex pl-4 h-14 items-center\">\n <rolatech-menu-icon #menuButton (click)=\"this.toggle()\" onclick=\"this.blur()\"></rolatech-menu-icon>\n <div class=\"text-[--rt-text-primary] text-lg md:text-xl font-bold\" routerLink=\"/\">\n <span class=\"text-orange-600\">{{ appLayout.title }}</span>\n <span>{{ appLayout.subtitle }}</span>\n </div>\n </div>\n <div id=\"guide-inner-content\" class=\"rolatech-drawer\">\n <div class=\"block p-3\">\n @for (item of links(); track $index) {\n @if (item.children) {\n <div class=\"flex cursor-pointer overflow-hidden\">\n @if (item.icon) {\n <div class=\"h-11 flex items-center\">\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n </div>\n }\n <div class=\"w-full\">\n <div class=\"flex items-center h-11 mr-2\" (click)=\"panelOpenState = !panelOpenState\">\n <span class=\"ml-3\">{{ item.title }}</span>\n <div class=\"flex-1\"></div>\n <rolatech-icon [@indicator]=\"panelOpenState === true ? 'expanded' : 'collapsed'\">expand_more</rolatech-icon>\n </div>\n <div\n class=\"flex flex-col ml-4 overflow-visible\"\n [@content]=\"panelOpenState === true ? 'expanded' : 'collapsed'\"\n >\n @for (child of item.children; track child) {\n {{ child.exact }}\n <a\n id=\"endpoint\"\n [routerLink]=\"child.link\"\n routerLinkActive=\"drawer-active\"\n [routerLinkActiveOptions]=\"{ exact: item.exact === false ? false : true }\"\n class=\"p-2 rt-guide-entry\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <span class=\"text-sm\">{{ child.title }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n } @else {\n @if (item.openinView) {\n <a\n class=\"flex hover:bg-[--rt-10-percent-layer] min-h-11\"\n [href]=\"item.link\"\n target=\"_blank\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start items-center\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm opacity-75 text-[--rt-text-secondary]\">{{ item.subtitle }}</span>\n </div>\n </div>\n <rolatech-icon class=\"scale-90 mr-3\">open_in_new</rolatech-icon>\n </div>\n </a>\n } @else {\n @if (item.button) {\n <a\n class=\"flex rolatech-drawer-button min-h-11 rounded-xl mb-2\"\n [routerLink]=\"item.link\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start items-center\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm\">{{ item.subtitle }}</span>\n </div>\n </div>\n </div>\n </a>\n } @else {\n <a\n id=\"endpoint\"\n class=\"flex hover:bg-[--rt-10-percent-layer] min-h-11 rt-guide-entry\"\n [routerLink]=\"item.link\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n routerLinkActive=\"drawer-active\"\n [routerLinkActiveOptions]=\"{ exact: item.exact === false ? false : true }\"\n #routerLink=\"routerLinkActive\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start items-center\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\" [filled]=\"routerLink.isActive\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm text-[--rt-text-secondary]\">{{ item.subtitle }}</span>\n </div>\n </div>\n </div>\n </a>\n }\n }\n }\n }\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { Component, ElementRef, OnInit, PLATFORM_ID, Renderer2, ViewEncapsulation, inject, input } from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { IconComponent } from '../icon/icon.component';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\n\nexport interface MiniGuide {\n title: string;\n icon: string;\n link: string;\n}\n\n@Component({\n selector: 'rolatech-mini-guide',\n standalone: true,\n imports: [CommonModule, IconButtonComponent, IconComponent, RouterLink, RouterLinkActive],\n templateUrl: './mini-guide.component.html',\n styleUrl: './mini-guide.component.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n id: 'rolatech-mini-guide',\n class: 'rolatech-mini-guide',\n },\n})\nexport class MiniGuideComponent implements OnInit {\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n platformId = inject(PLATFORM_ID);\n breakpointObserver = inject(BreakpointObserver);\n items = input<MiniGuide[]>();\n title = input<boolean>(true);\n opened = false;\n disableToggle = false;\n readonly breakpoint$ = this.breakpointObserver.observe([Breakpoints.Large, Breakpoints.Medium, '(max-width: 768px)']);\n\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n this.breakpoint$.subscribe(() => this.breakpointChanged());\n }\n }\n private breakpointChanged() {\n if (this.breakpointObserver.isMatched(Breakpoints.Large)) {\n this.disableToggle = false;\n // this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n // this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n } else if (this.breakpointObserver.isMatched(Breakpoints.Medium)) {\n // this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n // this.renderer.removeAttribute(this.el.nativeElement, 'hidden');\n } else if (this.breakpointObserver.isMatched('(max-width: 768px)')) {\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n this.disableToggle = true;\n } else {\n this.disableToggle = false;\n // this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n // this.renderer.removeAttribute(this.el.nativeElement, 'hidden');\n }\n }\n open() {\n this.opened = true;\n this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n this.renderer.removeAttribute(this.el.nativeElement, 'hidden');\n }\n close() {\n this.opened = false;\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n }\n toggle() {\n if (this.disableToggle) {\n this.close();\n return;\n }\n this.opened ? this.close() : this.open();\n }\n}\n","<div id=\"items\" class=\"w-16 mt-[6px]\" style=\"transition-duration: 200ms\">\n @for (item of items(); track $index) {\n <div>\n <a\n id=\"min-guide-endpoint\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"min-guide-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n #routerLink=\"routerLinkActive\"\n class=\"flex flex-col justify-center items-center py-3 rt-guide-entry\"\n >\n <rolatech-icon [filled]=\"routerLink.isActive\">{{ item.icon }}</rolatech-icon>\n @if (title()) {\n <span class=\"text-xs mt-1 max-w-full truncate\">{{ item.title }}</span>\n }\n </a>\n </div>\n }\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n NgZone,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n@Component({\n selector: 'rolatech-page',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './page.component.html',\n styleUrl: './page.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n id: 'rolatech-page',\n class: 'rolatech-page rt-page',\n ngSkipHydration: '',\n },\n})\nexport class AppPageComponent implements OnInit, AfterContentInit {\n el = inject(ElementRef<HTMLElement>);\n constructor() {}\n\n ngOnInit(): void {}\n ngAfterContentInit() {}\n}\n","<ng-content></ng-content>\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n contentChild,\n inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatSidenav, MatSidenavModule } from '@angular/material/sidenav';\nimport { MatListModule, MatNavList } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterLink, RouterOutlet } from '@angular/router';\nimport { ContainerComponent } from '../container/container.component';\nimport { ContainerContentComponent } from '../container-content/container-content.component';\nimport { TopbarComponent } from '../topbar/topbar.component';\nimport { DrawerComponent, LINK } from '../drawer/drawer.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { distinctUntilChanged, map, Subject } from 'rxjs';\nimport { APP_LAYOUT } from '../../provider';\nimport { MiniGuideComponent } from '../mini-guide/mini-guide.component';\nimport { AppPageComponent } from '../page/page.component';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { Platform } from '@angular/cdk/platform';\nconst EXTRA_SMALL_WIDTH_BREAKPOINT = 768;\n\n@Component({\n selector: 'rolatech-layout',\n standalone: true,\n imports: [\n CommonModule,\n RouterLink,\n RouterOutlet,\n ContainerComponent,\n ContainerContentComponent,\n MatListModule,\n MatNavList,\n MatSidenav,\n MatButtonModule,\n MatIconModule,\n MatSidenavModule,\n TopbarComponent,\n DrawerComponent,\n AppPageComponent,\n ],\n templateUrl: './layout.component.html',\n styleUrl: './layout.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n id: 'rolatech-layout',\n class: 'rolatech-layout',\n ngSkipHydration: '',\n },\n})\nexport class LayoutComponent implements OnInit, AfterContentInit {\n appLayout = inject(APP_LAYOUT);\n viewportRuler = inject(ViewportRuler);\n el = inject(ElementRef<HTMLElement>);\n renderer = inject(Renderer2);\n _platform = inject(Platform);\n\n breakpointObserver = inject(BreakpointObserver);\n topbar = contentChild.required(TopbarComponent);\n drawer = contentChild.required(DrawerComponent);\n page = contentChild.required(AppPageComponent);\n guide = contentChild.required(MiniGuideComponent);\n readonly breakpoint$ = this.breakpointObserver\n .observe([Breakpoints.Large, Breakpoints.Medium, '(max-width: 768px)'])\n .pipe(distinctUntilChanged());\n constructor() {}\n ngAfterContentInit(): void {\n this.renderer.setAttribute(this.page().el.nativeElement, 'transparent', '');\n if (this._platform.isBrowser) {\n this.init();\n }\n }\n\n ngOnInit() {}\n ngOnDestroy() {}\n open() {}\n close() {}\n toggle() {}\n init() {\n this.renderer.removeAttribute(this.page().el.nativeElement, 'transparent', '');\n if (this.topbar()) {\n this.topbar().appDrawer = this.drawer();\n }\n if (this.appLayout.guide) {\n this.topbar().miniGuide = this.guide();\n }\n if (this.appLayout.guide) {\n this.breakpoint$.subscribe(() => this.breakpointChanged());\n }\n\n this.breakpointObserver\n .observe(`(max-width: ${EXTRA_SMALL_WIDTH_BREAKPOINT}px)`)\n .pipe(map((result) => result.matches))\n .subscribe({\n next: (res) => {\n if (res) {\n this.renderer.removeAttribute(this.el.nativeElement, 'persistent');\n } else {\n this.renderer.setAttribute(this.el.nativeElement, 'persistent', '');\n }\n },\n });\n }\n private breakpointChanged() {\n if (this.breakpointObserver.isMatched(Breakpoints.Large)) {\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n } else if (this.breakpointObserver.isMatched(Breakpoints.Medium)) {\n this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n } else if (this.breakpointObserver.isMatched('(max-width: 768px)')) {\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n }\n }\n}\n","<ng-content select=\"rolatech-topbar\"></ng-content>\n<ng-content select=\"rolatech-drawer\"></ng-content>\n<ng-content select=\"rolatech-mini-guide\"></ng-content>\n<ng-content select=\"rolatech-page\"></ng-content>\n<div class=\"flex-1\"></div>\n<ng-content select=\"rolatech-footer\"></ng-content>\n","import { Component, HostBinding, ViewEncapsulation, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-footer',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './footer.component.html',\n styleUrl: './footer.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class FooterComponent {\n @HostBinding('id') hostId = 'rolatech-footer';\n @HostBinding('class.rolatech-footer') hasClass = true;\n config = inject(APP_CONFIG);\n title = input<string>();\n copyright = input<string>('');\n}\n","<div class=\"bg-[--rt-base-background] flex flex-col justify-between px-5 md:px-16 py-6\">\n <div class=\"flex flex-col md:flex-row md:gap-10 gap-3 py-3\">\n <ng-content></ng-content>\n </div>\n <div class=\"flex justify-between mt-6\">\n <div class=\"cursor-pointer\">\n <a href=\"/\" target=\"_blank\" class=\"text-lg font-bold\">{{ title() }}</a>\n </div>\n <span class=\"text-sm\">©{{ copyright() }}</span>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-console-layout',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './console-layout.component.html',\n styleUrl: './console-layout.component.scss',\n})\nexport class ConsoleLayoutComponent {}\n","<p>console-layout works!</p>\n","import { Component, ViewEncapsulation, computed, effect, inject, input, model } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { APP_CONFIG } from '@rolatech/angular-common';\nexport interface MenuUser {\n name: string;\n avatar: string;\n email: string;\n username: string;\n}\n@Component({\n standalone: true,\n imports: [MatMenuModule, MatIconModule],\n selector: 'rolatech-menu-user',\n templateUrl: './menu-user.component.html',\n styleUrls: ['./menu-user.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MenuUserComponent {\n environment = inject(APP_CONFIG);\n myaccountUrl = this.environment.myaccountUrl;\n user = input<MenuUser | any>();\n avatar = computed(() => {\n return this.user().avatar;\n });\n constructor() {\n // effect(() => {\n // this.data = this.user();\n // });\n }\n}\n","<div class=\"min-w-[256px]\">\n @if (user()) {\n <div class=\"px-6 py-3\">\n <div class=\"flex flex-row items-center\">\n <div class=\"mr-3 w-14 h-14 rounded-full bg-orange-600\">\n @if (user().avatar) {\n <img [src]=\"user().avatar\" class=\"w-14 h-14 object-cover rounded-full\" />\n }\n </div>\n <div class=\"flex flex-col\">\n <div>\n <div class=\"text-lg font-bold\">{{ user().name }}</div>\n <div class=\"formated-string\">\n <span>@{{ user().username }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n\n <div class=\"flex justify-between items-center\">\n <a mat-menu-item [href]=\"myaccountUrl\" target=\"_blank\" class=\"px-6\">\n <span class=\"flex justify-between items-center\">\n <span class=\"pl-2\"> 用户中心 </span>\n <span class=\"flex\"> <mat-icon>open_in_new</mat-icon></span>\n </span>\n </a>\n </div>\n</div>\n","import { Component, PLATFORM_ID, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatMenuModule, MatMenuPanel } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { RouterLink, RouterOutlet } from '@angular/router';\nimport { MenuUserComponent } from '../menu-user/menu-user.component';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-topbar-avatar-menu',\n standalone: true,\n imports: [\n CommonModule,\n MatSidenavModule,\n RouterLink,\n MatListModule,\n MatIconModule,\n MatMenuModule,\n RouterOutlet,\n MenuUserComponent,\n ],\n templateUrl: './topbar-avatar-menu.component.html',\n styleUrl: './topbar-avatar-menu.component.scss',\n})\nexport class TopbarAvatarMenuComponent {\n environment = inject(APP_CONFIG);\n platformId = inject(PLATFORM_ID);\n menu = input.required<MatMenuPanel<any>>();\n avatar = input<string>();\n}\n","<div class=\"flex\">\n <a\n class=\"flex justify-center items-center rounded-full overflow-hidden cursor-pointer hover:outline-[--rt-raised-background] outline outline-transparent outline-4\"\n [matMenuTriggerFor]=\"menu()\"\n >\n <div class=\"bg-orange-600 w-9 h-9\">\n @if (avatar()) {\n <img class=\"w-9 h-9 object-cover\" [src]=\"avatar()\" />\n }\n </div>\n </a>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rolatech-folder',\n templateUrl: './folder.component.html',\n styleUrls: ['./folder.component.scss'],\n standalone: true,\n})\nexport class FolderComponent {}\n","<div></div>\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-media-preview-dialog',\n templateUrl: './media-preview-dialog.component.html',\n styleUrls: ['./media-preview-dialog.component.scss'],\n standalone: true,\n imports: [MatIconModule, MatDividerModule, MatButtonModule],\n})\nexport class MediaPreviewDialogComponent implements OnInit {\n selected: any;\n index = 0;\n prevDisabled = false;\n nextDisabled = false;\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private dialogRef: MatDialogRef<MediaPreviewDialogComponent>,\n ) {\n this.data.title = '图片预览';\n }\n\n ngOnInit(): void {\n this.selected = this.data.selected;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n close(): void {\n this.dialogRef.close();\n }\n prev() {\n this.selected--;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n next() {\n this.selected++;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n}\n","<div class=\"flex flex-col h-full overflow-hidden\">\n <div class=\"h-16 flex justify-between items-center px-5\">\n @if (data.title) {\n <div class=\"text-md font-medium\">{{ data.title }}</div>\n }\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"flex-1 overflow-hidden overflow-y-auto\">\n <div class=\"p-3 flex justify-center items-center\">\n <img class=\"object-cover\" [src]=\"data.media[selected].url\" />\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"h-16 flex justify-between items-center px-5\">\n <button mat-flat-button [disabled]=\"prevDisabled\" (click)=\"prev()\">Prev</button>\n <div>{{ selected + 1 }} / {{ data.media.length }}</div>\n <button mat-flat-button [disabled]=\"nextDisabled\" (click)=\"next()\">Next</button>\n </div>\n</div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { NgModule } from '@angular/core';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\n\nconst MAT_MODULE = [\n A11yModule,\n ClipboardModule,\n CdkStepperModule,\n CdkTableModule,\n CdkTreeModule,\n DragDropModule,\n LayoutModule,\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatStepperModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n PortalModule,\n ScrollingModule,\n];\n\n@NgModule({\n imports: [...MAT_MODULE],\n exports: [...MAT_MODULE],\n})\nexport class MaterialModule {}\n","import { NgModule } from '@angular/core';\nimport { MaterialModule } from './material.module';\n\n@NgModule({\n imports: [MaterialModule],\n exports: [MaterialModule],\n})\nexport class AngularComponentsModule {}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnDestroy, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoadingService } from '@rolatech/angular-services';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'rolatech-spinner',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './spinner.component.html',\n styleUrl: './spinner.component.scss',\n})\nexport class SpinnerComponent implements AfterViewInit, OnDestroy {\n title = input<string>();\n isLoading!: boolean;\n loadingSubscription!: Subscription;\n loadingService = inject(LoadingService);\n _elmRef = inject(ElementRef);\n _changeDetectorRef = inject(ChangeDetectorRef);\n\n ngAfterViewInit(): void {\n this._elmRef.nativeElement.style.display = 'none';\n this.loadingSubscription = this.loadingService.loading$.pipe().subscribe((status: boolean) => {\n this._elmRef.nativeElement.style.display = status ? 'block' : 'none';\n this._changeDetectorRef.detectChanges();\n this.isLoading = status;\n });\n }\n ngOnDestroy(): void {\n if (this.loadingSubscription) this.loadingSubscription.unsubscribe();\n }\n}\n","<div class=\"flex justify-center\">\n <div class=\"lds-spinner\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n</div>\n","import { Component, inject, input, output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AngularCommonModule, Media } from '@rolatech/angular-common';\nimport { MediaPreviewDialogComponent } from '../media-preview-dialog/media-preview-dialog.component';\nimport { AngularComponentsModule } from '../angular-components.module';\nimport { SpinnerComponent } from '../spinner/spinner.component';\n\n@Component({\n standalone: true,\n imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent],\n selector: 'rolatech-media-upload',\n templateUrl: './media-upload.component.html',\n styleUrls: ['./media-upload.component.scss'],\n})\nexport class MediaUploadComponent {\n title = input<string>('上传图片');\n subtitle = input<string>('文件大小');\n description = input<string>('不能超过5MB');\n isUploading = input<boolean>(false);\n\n mediaItemClick = output<Media>();\n upload = output<FormData | null>();\n\n media: Media[] = [];\n dialog = inject(MatDialog);\n\n onMediaItemClick(item: Media) {\n this.mediaItemClick.emit(item);\n }\n onMediaClick(i: any) {\n const dialogRef = this.dialog.open(MediaPreviewDialogComponent, {\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 onUpload(event: any) {\n const file = event.target.files[0];\n if (file) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n (this.media as any).push({\n url: reader.result,\n alt: 'upload image',\n });\n const formData = new FormData();\n formData.append('file', file);\n this.upload.emit(formData);\n };\n }\n }\n}\n","<div class=\"bg-[--rt-raised-background] rounded p-6 min-h-[320px] flex items-center justify-center\">\n @if (isUploading()) {\n <div class=\"flex flex-col items-center justify-center\">\n <div class=\"p-3\">\n <mat-icon>upload</mat-icon>\n </div>\n <div class=\"flex flex-col items-center justify-center\">\n <div class=\"font-lg font-bold py-3\">{{ title() }}</div>\n <div class=\"font-sm text-gray-400\">{{ subtitle() }}</div>\n <div class=\"font-sm text-gray-400\">{{ description() }}</div>\n </div>\n <div class=\"py-2\">\n <input style=\"display: none\" type=\"file\" (change)=\"onUpload($event)\" #fileInput />\n <button mat-flat-button color=\"primary\" (click)=\"fileInput.click()\">上传图片</button>\n </div>\n </div>\n } @else {\n <rolatech-spinner title=\"上传中\"></rolatech-spinner>\n }\n</div>\n<div class=\"flex flex-row\">\n @for (media of media; track $index) {\n <div (click)=\"onMediaClick($index)\" class=\"inline-flex flex-row mt-3 mr-3 cursor-pointer rounded-md\">\n <img class=\"rounded-md aspect-video object-cover w-32\" [src]=\"media.url\" />\n </div>\n }\n</div>\n","import { Component, DoCheck, OnInit, input, output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n@Component({\n selector: 'rolatech-storage-bucket-create',\n templateUrl: './storage-bucket-create.component.html',\n styleUrls: ['./storage-bucket-create.component.scss'],\n standalone: true,\n imports: [MatFormFieldModule, MatInputModule, FormsModule],\n})\nexport class StorageBucketCreateComponent implements OnInit, DoCheck {\n name = input<string>();\n output = output<any>();\n\n ngOnInit(): void {}\n ngDoCheck(): void {\n this.output.emit(this.name());\n }\n}\n","<div>\n <mat-form-field>\n <mat-label>名称</mat-label>\n <input matInput placeholder=\"输入名称\" [(ngModel)]=\"name\" />\n </mat-form-field>\n</div>\n","import { Component, DoCheck, OnInit, input, output } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n@Component({\n selector: 'rolatech-storage-file-upload',\n templateUrl: './storage-file-upload.component.html',\n styleUrls: ['./storage-file-upload.component.scss'],\n standalone: true,\n imports: [MatFormFieldModule, MatInputModule, FormsModule, MatButtonModule, MatIconModule],\n})\nexport class StorageFileUploadComponent implements OnInit, DoCheck {\n title = input<string>();\n output = output<any>();\n\n fileData: any;\n progressInfos: any = [];\n isFinished = false;\n isUploaded = false;\n file: any;\n\n ngOnInit(): void {}\n ngDoCheck(): void {\n this.output.emit({\n title: this.title,\n file: this.file,\n });\n }\n selectFiles(event: any) {\n this.isFinished = false;\n this.file = event.target.files[0];\n event.target.value = '';\n }\n removeFile() {\n this.file = null;\n }\n}\n","<div>\n <mat-form-field>\n <mat-label>标题</mat-label>\n <input matInput placeholder=\"输入标题\" [(ngModel)]=\"title\" />\n </mat-form-field>\n\n <div class=\"mt-2\">\n <input #fileInput class=\"hidden\" type=\"file\" (change)=\"selectFiles($event)\" />\n <button mat-raised-button (click)=\"fileInput.click()\">选择文件</button>\n </div>\n @if (file) {\n <div class=\"p-2 flex justify-between items-center\">\n <div>{{ file.name }}</div>\n <button matSuffix mat-icon-button (click)=\"removeFile()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n }\n</div>\n","import { Component, DoCheck, OnInit, input, output } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n@Component({\n selector: 'rolatech-storage-folder-create',\n templateUrl: './storage-folder-create.component.html',\n styleUrls: ['./storage-folder-create.component.scss'],\n standalone: true,\n imports: [MatFormFieldModule, MatInputModule, FormsModule, MatCheckboxModule],\n})\nexport class StorageFolderCreateComponent implements OnInit, DoCheck {\n name = input<string>();\n isPublic = input<boolean>(true);\n output = output<any>();\n\n ngOnInit(): void {}\n ngDoCheck(): void {\n this.output.emit({ name: this.name(), isPublic: this.isPublic() });\n }\n}\n","<div>\n <mat-form-field>\n <mat-label>名称</mat-label>\n <input matInput placeholder=\"输入名称\" [(ngModel)]=\"name\" />\n </mat-form-field>\n <div class=\"flex flex-col\">\n <mat-checkbox class=\"example-margin\" [(ngModel)]=\"isPublic\">公开资源</mat-checkbox>\n <span class=\"text-sm text-gray-500 ml-2 mt-1\">文件夹为图片内容时, 请取消勾选此项</span>\n </div>\n</div>\n","import { Component, HostListener, OnDestroy, effect, inject, input, model } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-wechat-connect-dialog',\n templateUrl: './wechat-connect-dialog.component.html',\n styleUrls: ['./wechat-connect-dialog.component.scss'],\n standalone: true,\n})\nexport class WechatConnectDialogComponent {\n dialogRef = inject(MatDialogRef);\n environment = inject(APP_CONFIG);\n appId = model();\n redirectUri = model('');\n state = model();\n urlSafe!: SafeResourceUrl;\n sanitizer = inject(DomSanitizer);\n baseUrl = 'https://open.weixin.qq.com/connect/qrconnect';\n loaded = false;\n\n constructor() {\n effect(() => {\n const href = 'https://cloudcache.tencent-cloud.com/open_proj/proj_qcloud_v2/gateway/login-regist/css/link-wx-login.css';\n // const encodedURI = encodeURI(this.redirectUri());\n const encodedURI = encodeURI('https://accounts.pinxiaoke.cn');\n const src = `${this.baseUrl}?appid=${this.appId()}&response_type=code&self_redirect=true&scope=snsapi_login&href=${href}&redirect_uri=${encodedURI}&state=${this.state()}#wechat_redirect`;\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(src);\n this.loaded = true;\n });\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n @HostListener('window:message', ['$event'])\n onLogin(event: any): void {\n if (event.origin === this.environment.accountsUrl && event.data.code === 200) {\n this.dialogRef.close();\n }\n }\n}\n","<div class=\"flex flex-col p-3\">\n <div class=\"w-[190px] h-[190px]\">\n @if (loaded) {\n <iframe [src]=\"urlSafe\" class=\"w-full h-full inline\" scrolling=\"no\" frameBorder=\"no\"></iframe>\n }\n </div>\n</div>\n","import { filter } from 'rxjs';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog';\nimport { HttpEventType, HttpResponse } from '@angular/common/http';\nimport { remove } from 'lodash';\nimport { Media } from '@rolatech/angular-common';\nimport { MediaService } from '@rolatech/angular-services';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { NgClass } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nexport interface PreMedia {\n url: string;\n alt: string;\n isUploading: boolean;\n isUploaded: boolean;\n file: File;\n}\n@Component({\n selector: 'rolatech-media-upload-dialog',\n templateUrl: './media-upload-dialog.component.html',\n styleUrls: ['./media-upload-dialog.component.scss'],\n standalone: true,\n imports: [MatDialogContent, MatButtonModule, NgClass, MatProgressSpinnerModule, MatDialogActions, MatDialogClose],\n})\nexport class MediaUploadDialogComponent implements OnInit {\n fileData: any;\n progressInfos: any = [];\n media: Media[] = [];\n preMedia: PreMedia[] = [];\n isFinished = false;\n\n isUploaded = false;\n\n constructor(\n public dialogRef: MatDialogRef<MediaUploadDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private mediaService: MediaService,\n ) {}\n\n ngOnInit(): void {}\n\n selectFiles(event: any) {\n this.isFinished = false;\n for (const file of event.target.files) {\n this.addImage(file);\n }\n event.target.value = '';\n }\n addImage(file: any) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n (this.preMedia as any).push({\n url: reader.result,\n alt: 'upload image',\n isUploading: false,\n isUploaded: false,\n file: file,\n });\n };\n reader.onerror = (error) => {};\n }\n removeImage(index: any) {\n this.preMedia.splice(index, 1);\n }\n uploadFiles() {\n for (let i = 0; i < this.preMedia.length; i++) {\n if (!this.preMedia[i].isUploaded) {\n this.upload(i, this.preMedia[i].file);\n }\n }\n }\n upload(idx: any, file: any) {\n this.progressInfos[idx] = { value: 0, fileName: file.name };\n const formData = new FormData();\n formData.append('file', file);\n this.preMedia[idx].isUploading = true;\n formData.append('groupId', this.data.groupId);\n\n this.mediaService.uploadAndSave(formData).subscribe({\n next: (res: any) => {\n this.media.push(res.data);\n this.preMedia[idx].isUploading = false;\n this.preMedia[idx].isUploaded = true;\n this.progressInfos[idx].value = 100;\n\n const tmp = this.progressInfos.filter((item: any) => item.value !== 100);\n if (tmp.length <= 0) {\n this.isFinished = true;\n }\n },\n error: (error: any) => {\n this.progressInfos[idx].value = 0;\n },\n });\n }\n}\n","<mat-dialog-content>\n <div class=\"border-dashed border-2 border-[--rt-border-color] py-12 flex flex-col justify-center items-center\">\n <input #fileInput multiple class=\"hidden\" type=\"file\" (change)=\"selectFiles($event)\" />\n <button mat-button (click)=\"fileInput.click()\">上传图片</button>\n </div>\n <div class=\"mt-4\">\n <h2 class=\"\">预览</h2>\n <div>\n <ul id=\"gallery\" class=\"flex flex-1 flex-wrap -m-1\">\n @for (item of preMedia; track item.url; let i = $index) {\n <li class=\"block p-1 w-1/2 sm:w-1/3 md:w-1/4 lg:w-1/6 xl:w-1/8 h-24\">\n <article\n tabindex=\"0\"\n [ngClass]=\"item.isUploading ? 'isUploading' : ''\"\n class=\"group hasImage w-full h-full rounded-md focus:outline-none focus:shadow-outline bg-[--rt-raised-background] cursor-pointer relative text-transparent hover:text-white shadow-sm\"\n >\n <img [src]=\"item.url\" class=\"img-preview w-full h-full sticky object-cover rounded-md bg-fixed\" />\n <section class=\"flex flex-col rounded-md text-xs break-words w-full h-full z-20 absolute top-0 py-2 px-3\">\n @if (item.isUploading) {\n <div class=\"flex justify-center items-center w-full h-full\">\n <mat-spinner color=\"white\" diameter=\"28\"></mat-spinner>\n </div>\n } @else {\n <div class=\"flex\">\n <button\n (click)=\"removeImage(i)\"\n class=\"delete ml-auto focus:outline-none hover:bg-[--rt-base-background] p-1 rounded-md\"\n >\n <svg\n class=\"pointer-events-none fill-current w-4 h-4 ml-auto\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <path\n class=\"pointer-events-none\"\n d=\"M3 6l3 18h12l3-18h-18zm19-4v2h-20v-2h5.711c.9 0 1.631-1.099 1.631-2h5.316c0 .901.73 2 1.631 2h5.711z\"\n />\n </svg>\n </button>\n </div>\n }\n </section>\n </article>\n </li>\n }\n </ul>\n </div>\n @if (preMedia.length <= 0) {\n <div class=\"flex flex-1 flex-wrap\">\n <div class=\"h-full w-full text-center flex flex-col justify-center items-center py-6\">\n <span class=\"text-small text-gray-500\">No files selected</span>\n </div>\n </div>\n }\n </div>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close>取消</button>\n @if (preMedia.length <= 0) {\n <button mat-button>等待选择</button>\n }\n @if (!isFinished && preMedia.length > 0) {\n <button mat-button (click)=\"uploadFiles()\">立刻上传</button>\n }\n @if (isFinished) {\n <button mat-button [mat-dialog-close]=\"media\">完成</button>\n }\n</mat-dialog-actions>\n","import { Component, input, output } from '@angular/core';\nimport { Media } from '@rolatech/angular-common';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\n\n@Component({\n selector: 'rolatech-media-list',\n templateUrl: './media-list.component.html',\n styleUrls: ['./media-list.component.scss'],\n standalone: true,\n imports: [MatProgressBarModule],\n})\nexport class MediaListComponent {\n isUploading = input<boolean>();\n media = input<Media[]>();\n showAdd = input<boolean>(true);\n mediaItemClick = output<Media>();\n upload = output<FormData | null>();\n\n onMediaItemClick(item: Media) {\n this.mediaItemClick.emit(item);\n }\n onUpload(event: any) {\n this.upload.emit(event);\n }\n}\n","<div class=\"flex flex-row flex-wrap box-border items-center\">\n <div class=\"progress-bar\">\n @if (isUploading()) {\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n }\n </div>\n <div class=\"flex flex-row flex-wrap box-border items-center gap-2\">\n <ng-content></ng-content>\n <div>\n <input style=\"display: none\" type=\"file\" accept=\"image/*, video/*\" (change)=\"onUpload($event)\" #fileInput />\n @if (showAdd()) {\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 }\n </div>\n </div>\n</div>\n","import { Component, input, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { Media } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-media-list-item',\n templateUrl: './media-list-item.component.html',\n styleUrls: ['./media-list-item.component.scss'],\n standalone: true,\n imports: [MatButtonModule, MatMenuModule, MatIconModule],\n})\nexport class MediaListItemComponent {\n media = input.required<Media>();\n uploadProgress = input<number>(0);\n\n mediaItemClick = output<{\n selected: number;\n media: Media;\n }>();\n deleteMedia = output<Media>();\n\n onMediaItemClick(event: any) {\n this.mediaItemClick.emit(event);\n }\n onDeleteMedia(media: Media) {\n this.deleteMedia.emit(media);\n }\n}\n","<div\n class=\"media-list-item relative hasImage focus:outline-none focus:shadow-outline bg-[--rt-raised-background] cursor-pointer text-transparent hover:text-white shadow-sm\"\n>\n <div class=\"absolute z-30 right-0\">\n <div class=\"flex-1\"></div>\n <div>\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(media())\">\n <span>删除</span>\n </button>\n </mat-menu>\n </div>\n </div>\n <div id=\"thumbnail\" class=\"thumbnail\">\n <img class=\"tile-media\" (click)=\"onMediaItemClick(media)\" [src]=\"media().url\" [alt]=\"media().alt\" />\n </div>\n <section\n (click)=\"onMediaItemClick(media())\"\n class=\"flex flex-col text-xs break-words w-full h-full z-20 absolute top-0\"\n ></section>\n</div>\n","import { Router, RouterEvent, NavigationEnd, Event } from '@angular/router';\nimport { Component, OnInit } from '@angular/core';\nimport { filter } from 'rxjs';\n\n@Component({\n selector: 'rolatech-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss'],\n standalone: true,\n})\nexport class NotFoundComponent implements OnInit {\n url!: string;\n constructor(private router: Router) {\n router.events.pipe(filter((e: Event) => e instanceof RouterEvent)).subscribe((e) => {\n if (e instanceof NavigationEnd) {\n this.url = e.url;\n }\n });\n }\n\n ngOnInit() {\n this.router.events.pipe(filter((e: Event) => e instanceof RouterEvent)).subscribe((e) => {\n if (e instanceof NavigationEnd) {\n this.url = e.url;\n }\n });\n }\n}\n","<div class=\"not-found-content\">\n <p>\n <b>404.</b>\n <ins>That’s an error.</ins>\n </p>\n <p>\n The requested URL <code>{{ url }}</code> not found on this server.\n </p>\n <a href=\"/\">return home</a>\n</div>\n","import { Component, inject, Inject, OnInit } from '@angular/core';\nimport {\n MatDialogRef,\n MAT_DIALOG_DATA,\n MatDialogTitle,\n MatDialogContent,\n MatDialogActions,\n MatDialogClose,\n} from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\n\nexport interface DialogData {\n title: string;\n message: string;\n}\n\n@Component({\n selector: 'rolatech-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss'],\n standalone: true,\n imports: [MatDialogTitle, MatDialogContent, MatDialogActions, MatButtonModule, MatDialogClose],\n})\nexport class ConfirmationDialogComponent {\n data: DialogData = inject(MAT_DIALOG_DATA);\n dialogRef!: MatDialogRef<ConfirmationDialogComponent>;\n onNoClick(): void {\n this.dialogRef.close();\n }\n}\n","@if (data.title) {\n <h2 mat-dialog-title>{{ data.title }}</h2>\n}\n<div mat-dialog-content>\n {{ data.message }}\n</div>\n<div mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close>取消</button>\n <button mat-button [mat-dialog-close]=\"true\" cdkFocusInitial>确定</button>\n</div>\n","import { MatDialog } from '@angular/material/dialog';\nimport { inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DialogService, SnackBarService } from '@rolatech/angular-services';\nimport { Title } from '@angular/platform-browser';\n\nexport class BaseComponent {\n route = inject(ActivatedRoute);\n router = inject(Router);\n id = this.route.snapshot.params['id'];\n dialogService = inject(DialogService);\n dialog = inject(MatDialog);\n snackBarService = inject(SnackBarService);\n titleService = inject(Title);\n}\n","import { Component, OnInit, computed, effect, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table';\nimport { RouterModule } from '@angular/router';\nimport { CdkTableDataSourceInput } from '@angular/cdk/table';\nimport { map } from 'lodash';\nexport interface Column {\n ref: string;\n name: string;\n}\nexport interface TableData<T> {\n columns: Column[];\n data: CdkTableDataSourceInput<T>;\n}\n\n@Component({\n selector: 'rolatech-table',\n standalone: true,\n imports: [CommonModule, MatTableModule, RouterModule],\n templateUrl: './table.component.html',\n styleUrl: './table.component.scss',\n})\nexport class TableComponent implements OnInit {\n dataSource = input.required<TableData<any>>();\n displayedColumns: string[] = [];\n ngOnInit(): void {\n this.displayedColumns = map(this.dataSource().columns, 'ref');\n }\n}\n","<table mat-table [dataSource]=\"dataSource().data\">\n @for (column of dataSource().columns; track $index) {\n <ng-container [matColumnDef]=\"column.ref\" sticky>\n <th mat-header-cell *matHeaderCellDef>{{ column.name }}</th>\n <td mat-cell *matCellDef=\"let item\">{{ item[column.ref] }}</td>\n </ng-container>\n }\n <!-- <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">详情</th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <a [routerLink]=\"['../', item.id]\"> 详情 </a>\n </td>\n </ng-container> -->\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n</table>\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-paginator',\n standalone: true,\n imports: [CommonModule, MatButtonModule, MatIconModule],\n templateUrl: './paginator.component.html',\n styleUrl: './paginator.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class PaginatorComponent {\n prevClick() {}\n nextClick() {}\n}\n","<div class=\"flex h-14 items-center\">\n <button mat-icon-button></button>\n <button mat-icon-button (click)=\"prevClick()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <div></div>\n <button mat-icon-button (click)=\"nextClick()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-media-preview',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './media-preview.component.html',\n styleUrl: './media-preview.component.scss',\n})\nexport class MediaPreviewComponent {}\n","<p>media-preview works!</p>\n","import { Component, HostBinding, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { BackButtonDirective } from '@rolatech/angular-services';\nimport { RouterLink } from '@angular/router';\nimport { MatDivider } from '@angular/material/divider';\n\n@Component({\n selector: 'rolatech-toolbar',\n standalone: true,\n imports: [CommonModule, RouterLink, IconButtonComponent, BackButtonDirective, MatDivider],\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ToolbarComponent {\n @HostBinding('id') hasId = 'rolatech-toolbar';\n @HostBinding('class.rolatech-toolbar') hasClass = true;\n title = input();\n subtitle = input();\n back = input(false, { transform: booleanAttribute });\n link = input('');\n large = input(false, { transform: booleanAttribute });\n divider = input(false, { transform: booleanAttribute });\n}\n","<div class=\"flex justify-between items-center\" [ngClass]=\"subtitle() ? 'h-16' : 'h-14'\">\n <ng-container>\n @if (back()) {\n <rolatech-icon-button rolatechBackButton class=\"left-button\">arrow_back</rolatech-icon-button>\n }\n @if (link()) {\n <rolatech-icon-button [routerLink]=\"link()\" class=\"left-button\">arrow_back</rolatech-icon-button>\n }\n </ng-container>\n @if (title()) {\n @if (large()) {\n <span class=\"text-2xl font-medium\">{{ title() }}</span>\n } @else {\n <span class=\"text-xl font-medium\">{{ title() }}</span>\n }\n }\n <div class=\"flex-1\"></div>\n <div class=\"flex justify-center items-center\">\n <ng-content></ng-content>\n </div>\n</div>\n@if (subtitle()) {\n <div class=\"-mt-4 mb-2 leading-none\" [ngClass]=\"back() || link() ? 'ml-[40px]' : ''\">\n <span class=\"text-sm text-gray-500\">{{ subtitle() }}</span>\n </div>\n}\n@if (divider()) {\n <mat-divider></mat-divider>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Renderer2,\n ViewEncapsulation,\n effect,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ImageComponent } from '../image/image.component';\n\n@Component({\n selector: 'rolatech-thumbnail',\n standalone: true,\n imports: [CommonModule, ImageComponent],\n templateUrl: './thumbnail.component.html',\n styleUrl: './thumbnail.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ThumbnailComponent {\n @HostBinding('class.rt-rich-grid-media') hasClass = true;\n @HostBinding('style.--rt-thumbnail-padding-top') myColor = '56.25%';\n el = inject(ElementRef<HTMLElement>);\n src = input<string>();\n size = input<string>();\n mode = input('clip'); // full, clip\n ratio = input('rectangle'); // rectangle, square\n img = viewChild.required<ElementRef>('img');\n width = input<number | undefined>();\n height = input<number | undefined>();\n renderer = inject(Renderer2);\n sizea = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'size', this.size()!);\n });\n full = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'mode', this.mode());\n if (this.mode() === 'full') {\n if (this.width() && this.height()) {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', this.width()! / this.height()!);\n } else {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', 16 / 9);\n }\n }\n });\n ratioSet = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'ratio', this.ratio());\n });\n}\n","<div #edge class=\"absolute top-0 left-0\"></div>\n@defer (on viewport(edge)) {\n <a id=\"thumbnail\" class=\"rt-thumbnail\">\n <rolatech-image [src]=\"src()\"> </rolatech-image>\n </a>\n} @placeholder {\n <div class=\"bg-[--rt-raised-background] w-full h-full rounded-lg\"></div>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n ViewEncapsulation,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-image',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './image.component.html',\n styleUrl: './image.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImageComponent implements OnInit {\n @HostBinding('id') hasId = 'rolatech-image';\n @HostBinding('class.rt-image') hasClass = true;\n src = input<string>();\n img = viewChild.required<ElementRef>('img');\n ngOnInit(): void {\n const image = this.img().nativeElement;\n image.onload = () => {\n image.style.visibility = 'visible';\n };\n }\n}\n","<img #img class=\"rolatech-image bg-[--rt-base-background]\" [src]=\"src()\" style=\"visibility: hidden\" loading=\"lazy\" />\n","import { Component, ElementRef, HostBinding, ViewEncapsulation, input, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLink } from '@angular/router';\n\n@Component({\n selector: 'rolatech-tab',\n standalone: true,\n imports: [CommonModule, RouterLink],\n templateUrl: './tab.component.html',\n styleUrl: './tab.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class TabComponent {\n @HostBinding('id') hasId = 'tab';\n @HostBinding('class.tab') hasClass = true;\n label = input.required();\n item = viewChild<ElementRef>('content');\n}\n","<div class=\"content\" #content>\n {{ label() }}\n</div>\n","import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n contentChildren,\n inject,\n input,\n model,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TabComponent } from '../tab/tab.component';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { Platform } from '@angular/cdk/platform';\n\n@Component({\n selector: 'rolatech-tabs',\n standalone: true,\n imports: [CommonModule, IconButtonComponent],\n templateUrl: './tabs.component.html',\n styleUrl: './tabs.component.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n ngSkipHydration: '',\n class: 'rolatech-tabs',\n },\n})\nexport class TabsComponent implements OnInit, AfterViewInit, AfterContentInit {\n ngAfterContentInit(): void {\n // this.init();\n }\n renderer = inject(Renderer2);\n tabs = contentChildren(TabComponent, { read: ElementRef });\n selectionBar = viewChild.required('selectionBar', { read: ElementRef });\n select = model(0);\n loading = input(false);\n preSelect = 0;\n clientWidths: number[] = [];\n protected _isServer: boolean = !inject(Platform).isBrowser;\n\n ngOnInit(): void {}\n ngAfterViewInit() {\n this.init();\n }\n init() {\n const gap = 24; // 24 = 2 * margin-left\n this.tabs()[this.select()].nativeElement.setAttribute('style-target', 'host');\n const selectionBarElement = this.selectionBar().nativeElement;\n selectionBarElement.setAttribute('style-target', 'selection-bar');\n // selectionBarElement.setAttribute('transition-target', 'selection-bar-transition');\n setTimeout(() => {\n selectionBarElement.setAttribute('transition-target', 'selection-bar-transition');\n }, 10);\n this.tabs().forEach((element, index) => {\n this.clientWidths.push(element.nativeElement.clientWidth);\n this.renderer.listen(element.nativeElement, 'click', () => {\n this.select.set(index);\n this.tabs()[this.preSelect].nativeElement.removeAttribute('style-target');\n this.tabs()[index].nativeElement.setAttribute('style-target', 'host');\n selectionBarElement.style.left = this.getOffset(index) + 'px';\n selectionBarElement.style.width = element.nativeElement.clientWidth - gap + 'px';\n this.preSelect = index;\n });\n });\n selectionBarElement.style.left = this.getOffset(this.select()) + 'px';\n selectionBarElement.style.width = this.clientWidths[this.select()] - gap + 'px';\n this.preSelect = this.select();\n }\n getOffset(index: number): number {\n let offset = 0;\n for (let i = 0; i < index; i++) {\n offset += this.clientWidths[i];\n }\n return offset;\n }\n}\n","<!-- <rolatech-icon-button>chevron_left</rolatech-icon-button> -->\n<div id=\"tabsContainer\" class=\"h-full\">\n <div id=\"tabsContent\" class=\"flex flex-row h-full\" style-target=\"selection-bar\">\n <div #selectionBar id=\"selectionBar\" class=\"selection-bar\"></div>\n @for (tab of tabs(); track $index) {\n <ng-content></ng-content>\n }\n </div>\n</div>\n<!-- <rolatech-icon-button>chevron_right</rolatech-icon-button> -->\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-list',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './list.component.html',\n styleUrl: './list.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ListComponent {\n @HostBinding('id') id = 'rolatech-list';\n @HostBinding('class.rolatech-list') hasClass = true;\n}\n","<div class=\"flex flex-col\">\n <ng-content></ng-content>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-content',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './content.component.html',\n styleUrl: './content.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ContentComponent {}\n","<ng-content></ng-content>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n booleanAttribute,\n effect,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon, MatIconModule, MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nconst CHEVRON_LEFT = `\n<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M14.96 18.96 8 12l6.96-6.96.71.71L9.41 12l6.25 6.25-.7.71z\"></path>\n </svg>\n`;\nconst CHEVRON_RIGHT = `\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"m9.4 18.4-.7-.7 5.6-5.6-5.7-5.7.7-.7 6.4 6.4-6.3 6.3z\"></path>\n </svg>\n`;\n@Component({\n selector: 'rolatech-chip-bar',\n standalone: true,\n imports: [CommonModule, RouterModule, IconButtonComponent, MatButtonModule, MatIconModule],\n templateUrl: './chip-bar.component.html',\n styleUrl: './chip-bar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ChipBarComponent implements AfterViewInit {\n @HostBinding('id') hasId = 'rolatech-chip-bar';\n @HostBinding('class.rolatech-chip-bar') hasClass = true;\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n private resizeObserver!: ResizeObserver;\n private chips = viewChild('chips', { read: ElementRef });\n private scroller = viewChild.required('scroller', { read: ElementRef });\n router = input('../courses/categories/');\n items = input<any[]>([]);\n fluid = input(false, { transform: booleanAttribute });\n fixed = input(false, { transform: booleanAttribute });\n platformId = inject(PLATFORM_ID);\n clientWidth = 0;\n scrollWidth = 0;\n scrollLeft = 0;\n constructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer) {\n iconRegistry.addSvgIconLiteral('chevron_left', sanitizer.bypassSecurityTrustHtml(CHEVRON_LEFT));\n iconRegistry.addSvgIconLiteral('chevron_right', sanitizer.bypassSecurityTrustHtml(CHEVRON_RIGHT));\n effect(() => {\n if (this.fixed()) {\n this.el.nativeElement.setAttribute('fixed', '');\n } else {\n this.el.nativeElement.removeAttribute('fixed');\n }\n });\n }\n ngAfterViewInit(): void {\n this.clientWidth = this.el.nativeElement.clientWidth;\n this.scrollWidth = this.scroller()?.nativeElement.scrollWidth;\n this.el.nativeElement.setAttribute('at-start', '');\n this.el.nativeElement.setAttribute('fluid-width', '');\n if (isPlatformBrowser(this.platformId)) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (let entry of entries) {\n this.setCustomProperties(entry.contentRect.width);\n this.init();\n }\n });\n this.resizeObserver.observe(this.el.nativeElement);\n }\n }\n setCustomProperties(width: number) {\n this.clientWidth = width;\n this.el.nativeElement.style.setProperty('--rt-rich-grid-chips-bar-width', width + 'px');\n }\n init() {\n // fix: this.scrollWidth 1365.11 ~ 1366, this.scrollWidth - 1\n if (this.clientWidth + this.scrollLeft > this.scrollWidth - 1) {\n this.el.nativeElement.setAttribute('at-end', '');\n } else {\n this.el.nativeElement.removeAttribute('at-end', '');\n }\n }\n onScroll(event: any) {\n this.scrollLeft = event.target.scrollLeft;\n this.init();\n if (this.scrollLeft > 0) {\n this.el.nativeElement.removeAttribute('at-start', '');\n } else {\n this.el.nativeElement.setAttribute('at-start', '');\n }\n }\n\n leftArrowClick() {\n this.scroller().nativeElement.scrollLeft -= 320;\n }\n rightArrowClick() {\n this.scroller().nativeElement.scrollLeft += 320;\n }\n}\n","<div id=\"chips-wrapper\" class=\"rolatech-chip-bar\">\n <div id=\"chips-content\" class=\"rolatech-chip-bar\">\n <div id=\"left-arrow\" class=\"rolatech-chip-bar\">\n <div id=\"left-arrow-button\" class=\"rolatech-chip-bar\">\n <button mat-icon-button (click)=\"leftArrowClick()\">\n <mat-icon>chevron_left</mat-icon>\n <!-- <mat-icon svgIcon=\"chevron_left\"></mat-icon> -->\n\n <!-- <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M14.96 18.96 8 12l6.96-6.96.71.71L9.41 12l6.25 6.25-.7.71z\"></path>\n </svg> -->\n </button>\n </div>\n </div>\n <div\n id=\"scroll-container\"\n #scroller\n class=\"rolatech-chip-bar overflow-x-scroll overflow-y-hidden scrollbar-hide\"\n (scroll)=\"onScroll($event)\"\n >\n <div id=\"chips\" #chips class=\"rolatech-chip-bar inline-block\">\n @for (link of items(); track link; let index = $index) {\n <a\n id=\"chip-item\"\n class=\"rolatech-chip-bar h-8 cursor-pointer bg-[--rt-10-percent-layer] rounded-md inline-flex items-center px-3 m-3 ml-0\"\n routerLinkActive=\"chip-bar-active\"\n [routerLink]=\"[router(), link.link]\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n <span class=\"px-3 text-md\">{{ link.name }}</span>\n </a>\n }\n </div>\n </div>\n <div id=\"right-arrow\" class=\"rolatech-chip-bar\">\n <div id=\"right-arrow-button\" class=\"rolatech-chip-bar\">\n <button mat-icon-button (click)=\"rightArrowClick()\">\n <mat-icon>chevron_right</mat-icon>\n <!-- <mat-icon svgIcon=\"chevron_right\"></mat-icon> -->\n\n <!-- <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"m9.4 18.4-.7-.7 5.6-5.6-5.7-5.7.7-.7 6.4 6.4-6.3 6.3z\"></path>\n </svg> -->\n </button>\n </div>\n </div>\n </div>\n</div>\n","import { Component, ElementRef, HostBinding, Renderer2, ViewEncapsulation, effect, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ImageComponent } from '../image/image.component';\n\n@Component({\n selector: 'rolatech-avatar',\n standalone: true,\n imports: [CommonModule, ImageComponent],\n templateUrl: './avatar.component.html',\n styleUrl: './avatar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AvatarComponent {\n @HostBinding('class.rt-rich-grid-media') hasClass = true;\n src = input<string>();\n size = input.required<string>();\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n sizea = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'size', this.size());\n });\n}\n","@defer (on viewport()) {\n <a id=\"avatar\" class=\"rt-avatar\">\n <rolatech-image [src]=\"src()\"> </rolatech-image>\n </a>\n} @placeholder {\n <div class=\"bg-[--rt-10-percent-layer] w-full h-full rounded-lg\"></div>\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-image-placeholder',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './image-placeholder.component.html',\n styleUrl: './image-placeholder.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ImagePlaceholderComponent implements OnInit {\n ngOnInit(): void {}\n}\n","<div class=\"w-full h-full flex justify-center items-center\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#5f6368\">\n <path\n d=\"M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm40-80h480L570-480 450-320l-90-120-120 160Zm-40 80v-560 560Z\"\n />\n </svg>\n</div>\n","import { Component, Inject, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-image-preview-dialog',\n templateUrl: './image-preview-dialog.component.html',\n styleUrls: ['./image-preview-dialog.component.scss'],\n standalone: true,\n imports: [MatIconModule, MatDividerModule, MatButtonModule],\n encapsulation: ViewEncapsulation.None,\n})\nexport class ImagePreviewDialogComponent implements OnInit {\n selected: any;\n index = 0;\n prevDisabled = false;\n nextDisabled = false;\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private dialogRef: MatDialogRef<ImagePreviewDialogComponent>,\n ) {\n this.data.title = '图片预览';\n }\n\n ngOnInit(): void {\n this.selected = this.data.selected;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n close(): void {\n this.dialogRef.close();\n }\n prev() {\n this.selected--;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n next() {\n this.selected++;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n}\n","<div class=\"flex flex-col h-full overflow-hidden\">\n <div class=\"h-16 flex justify-between items-center px-5\">\n @if (data.title) {\n <div class=\"text-md font-medium\">{{ data.title }}</div>\n }\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"flex overflow-hidden overflow-y-auto\">\n <div class=\"p-3 flex justify-center items-center\">\n <img class=\"object-cover\" [src]=\"data.media[selected].url\" />\n </div>\n </div>\n <div class=\"flex-1\"></div>\n <mat-divider></mat-divider>\n <div class=\"h-16 flex justify-between items-center px-5\">\n <button mat-flat-button [disabled]=\"prevDisabled\" (click)=\"prev()\">Prev</button>\n <div>{{ selected + 1 }} / {{ data.media.length }}</div>\n <button mat-flat-button [disabled]=\"nextDisabled\" (click)=\"next()\">Next</button>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-empty',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './empty.component.html',\n styleUrl: './empty.component.scss',\n})\nexport class EmptyComponent {}\n","<div class=\"px-4 py-2 flex items-center\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#5f6368\">\n <path\n d=\"M460-300h40v-220h-40v220Zm20-276.92q10.46 0 17.54-7.08 7.08-7.08 7.08-17.54 0-10.46-7.08-17.54-7.08-7.07-17.54-7.07-10.46 0-17.54 7.07-7.08 7.08-7.08 17.54 0 10.46 7.08 17.54 7.08 7.08 17.54 7.08Zm.13 456.92q-74.67 0-140.41-28.34-65.73-28.34-114.36-76.92-48.63-48.58-76.99-114.26Q120-405.19 120-479.87q0-74.67 28.34-140.41 28.34-65.73 76.92-114.36 48.58-48.63 114.26-76.99Q405.19-840 479.87-840q74.67 0 140.41 28.34 65.73 28.34 114.36 76.92 48.63 48.58 76.99 114.26Q840-554.81 840-480.13q0 74.67-28.34 140.41-28.34 65.73-76.92 114.36-48.58 48.63-114.26 76.99Q554.81-120 480.13-120Zm-.13-40q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z\"\n />\n </svg>\n <span class=\"ml-2\">No Data</span>\n</div>\n","import { Component, ViewEncapsulation, input, model } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'rolatech-input',\n standalone: true,\n imports: [CommonModule, FormsModule],\n templateUrl: './input.component.html',\n styleUrl: './input.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class InputComponent {\n title = model();\n placeholder = input('Title');\n}\n","<div class=\"rt-input-wrapper\">\n <input class=\"rt__input\" [placeholder]=\"placeholder()\" [(ngModel)]=\"title\" />\n</div>\n","import { Component, HostBinding, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThumbnailComponent } from '../thumbnail/thumbnail.component';\n\n@Component({\n selector: 'rolatech-rich-item',\n standalone: true,\n imports: [CommonModule, ThumbnailComponent],\n templateUrl: './rich-item.component.html',\n styleUrl: './rich-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class RichItemComponent {\n @HostBinding('class.rolatech-rich-item') hasClass = true;\n list = input(false, { transform: booleanAttribute });\n thumbnail = input<string>();\n avatar = input<string>();\n title = input<string>();\n subtitle = input<string>();\n price = input<any>(0);\n thumbnailRatio = input<string>('rectangle');\n}\n","<div id=\"thumbnail\" class=\"rolatech-rich-item\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"thumbnail()\" size=\"medium\" [ratio]=\"thumbnailRatio()\"></rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-10-percent-layer] h-full w-full object-cover aspect-video rounded-lg\"></div>\n }\n</div>\n<div id=\"details\" class=\"rolatech-rich-item\">\n <div>\n <div class=\"py-1\">\n <a class=\"md:text-xl font-bold break-words line-clamp-1 md:line-clamp-2 whitespace-normal\">\n {{ title() }}\n </a>\n </div>\n <div class=\"invisible h-0 md:h-auto md:visible break-words line-clamp-1 whitespace-normal\">\n {{ subtitle() }}\n </div>\n <ng-content></ng-content>\n </div>\n @if (price()) {\n <div class=\"md:text-lg font-bold py-1\">¥{{ price() }}</div>\n }\n</div>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n PLATFORM_ID,\n ViewEncapsulation,\n booleanAttribute,\n contentChildren,\n effect,\n inject,\n input,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { ThumbnailComponent } from '../thumbnail/thumbnail.component';\nimport { RichItemComponent } from '../rich-item/rich-item.component';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'rolatech-rich-view',\n standalone: true,\n imports: [CommonModule, ThumbnailComponent, MatButtonModule],\n templateUrl: './rich-view.component.html',\n styleUrl: './rich-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class RichViewComponent implements OnInit, AfterViewInit {\n @HostBinding('class.rolatech-rich-view') hasClass = true;\n @HostBinding('class.scrollbar-hide') disableScrollbar = true;\n platformId = inject(PLATFORM_ID);\n el = inject(ElementRef);\n items = contentChildren(RichItemComponent, { read: ElementRef });\n list = input(false, { transform: booleanAttribute });\n wrap = input(false, { transform: booleanAttribute });\n private resizeObserver!: ResizeObserver;\n\n constructor() {\n effect(() => {\n if (this.list()) {\n this.el.nativeElement.setAttribute('list', '');\n } else {\n this.el.nativeElement.removeAttribute('list', '');\n }\n if (this.wrap()) {\n this.el.nativeElement.setAttribute('wrap', '');\n } else {\n this.el.nativeElement.removeAttribute('wrap', '');\n }\n });\n }\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (let entry of entries) {\n // this.setCustomProperties(entry.contentRect.width);\n }\n });\n this.resizeObserver.observe(this.el.nativeElement);\n }\n }\n\n ngAfterViewInit(): void {}\n setCustomProperties(width: number) {\n if (width <= 600) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 1);\n }\n if (600 < width && width <= 768) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 2);\n }\n if (768 < width && width <= 1280) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 3);\n }\n if (1280 < width && width <= 1536) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 4);\n }\n if (width > 1536) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 5);\n }\n }\n}\n","<ng-content></ng-content>\n\n<!-- <div class=\"rich-view-content\">\n <ng-content></ng-content>\n</div> -->\n<!-- <div class=\"rich-view-button\">\n <button mat-stroked-button>加载更多</button>\n</div> -->\n","import { AfterViewInit, Component, OnInit, PLATFORM_ID, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport Quill from 'quill';\n\n@Component({\n selector: 'rolatech-editor',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './editor.component.html',\n styleUrl: './editor.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EditorComponent implements OnInit, AfterViewInit {\n platformId = inject(PLATFORM_ID);\n isBrowser: boolean;\n editor: any;\n\n constructor() {\n this.isBrowser = isPlatformBrowser(this.platformId);\n\n // const options = {\n // debug: 'info',\n // modules: {\n // toolbar: true,\n // },\n // placeholder: 'Compose an epic...',\n // theme: 'snow',\n // };\n // const quill = new Quill('#editor', options);\n }\n ngAfterViewInit(): void {\n this.quill();\n }\n ngOnInit(): void {\n // this.quill();\n }\n get toolbar() {\n return [\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\n ['blockquote', 'code-block'],\n\n // [{ header: 1 }, { header: 2 }], // custom button values\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }], // superscript/subscript\n [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\n [{ direction: 'rtl' }], // text direction\n\n // [{ size: ['small', false, 'large', 'huge'] }], // custom dropdown\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n\n // [{ color: [] }, { background: [] }], // dropdown with defaults from theme\n [{ font: [] }],\n [{ align: [] }],\n\n ['clean'], // remove formatting button\n ];\n }\n async quill() {\n if (this.isBrowser) {\n const m = await import('quill');\n this.editor = new m.default('#editor', {\n // modules: { toolbar: '#toolbar' },\n modules: { toolbar: this.toolbar },\n theme: 'snow',\n placeholder: 'placeholder',\n });\n }\n }\n}\n","<div id=\"editor\"></div>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-accordion',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './accordion.component.html',\n styleUrl: './accordion.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AccordionComponent {\n @HostBinding('class.rolatech-accordion') hasClass = true;\n}\n","<ng-content></ng-content>\n","import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport const PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\nexport const panelAnimations: {\n readonly indicator: AnimationTriggerMetadata;\n readonly content: AnimationTriggerMetadata;\n} = {\n /** Animation that rotates the indicator arrow. */\n indicator: trigger('indicator', [\n state('collapsed, void', style({ transform: 'rotate(0deg)' })),\n state('expanded', style({ transform: 'rotate(180deg)' })),\n transition('expanded <=> collapsed, void => collapsed', animate(PANEL_ANIMATION_TIMING)),\n ]),\n /** Animation that expands and collapses the panel content. */\n content: trigger('content', [\n state('collapsed, void', style({ height: '0px', visibility: 'hidden' })),\n state('expanded', style({ height: '*', visibility: 'visible' })),\n transition('expanded <=> collapsed, void => collapsed', animate(PANEL_ANIMATION_TIMING)),\n ]),\n};\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-panel-header',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './panel-header.component.html',\n styleUrl: './panel-header.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class PanelHeaderComponent {}\n","<ng-content></ng-content>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n effect,\n inject,\n input,\n model,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from '../icon/icon.component';\nimport { panelAnimations } from './panel-animations';\nimport { PanelHeaderComponent } from './panel-header.component';\n\n@Component({\n selector: 'rolatech-panel',\n standalone: true,\n imports: [CommonModule, IconComponent, PanelHeaderComponent],\n templateUrl: './panel.component.html',\n styleUrl: './panel.component.scss',\n encapsulation: ViewEncapsulation.None,\n animations: [panelAnimations.indicator, panelAnimations.content],\n})\nexport class PanelComponent implements OnInit, AfterViewInit {\n @HostBinding('class.rolatech-panel') hasClass = true;\n border = input(false, { transform: booleanAttribute });\n divider = input(false, { transform: booleanAttribute });\n expanded = model(false);\n title = input<any>();\n subtitle = input<string>();\n private el = inject(ElementRef);\n constructor() {\n effect(() => {\n if (this.expanded()) {\n this.el.nativeElement.setAttribute('expanded', '');\n } else {\n this.el.nativeElement.removeAttribute('expanded');\n }\n if (this.border()) {\n this.el.nativeElement.setAttribute('border', '');\n } else {\n this.el.nativeElement.removeAttribute('border');\n }\n if (this.divider()) {\n this.el.nativeElement.setAttribute('divider', '');\n } else {\n this.el.nativeElement.removeAttribute('divider');\n }\n });\n }\n ngOnInit(): void {}\n ngAfterViewInit(): void {}\n toggle() {\n this.expanded.set(!this.expanded());\n }\n}\n","<div id=\"header\" class=\"header rolatech-panel w-full h-11\" (click)=\"toggle(); $event.stopPropagation()\">\n <ng-content select=\"rolatech-panel-header\"></ng-content>\n <div>{{ title() }}</div>\n <rolatech-icon [@indicator]=\"expanded() === true ? 'expanded' : 'collapsed'\">expand_more</rolatech-icon>\n</div>\n<div class=\"content-container rolatech-panel\" [@content]=\"expanded() === true ? 'expanded' : 'collapsed'\">\n <div class=\"content-inner rolatech-panel\">\n <ng-content>No content</ng-content>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["PANEL_ANIMATION_TIMING","panelAnimations","i2","i1","i3","i5","i4","map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rolatech-angular-components.mjs","sources":["../../../../libs/angular-components/src/lib/icon/icon.component.ts","../../../../libs/angular-components/src/lib/icon/icon.component.html","../../../../libs/angular-components/src/lib/icon-button/icon-button.component.ts","../../../../libs/angular-components/src/lib/icon-button/icon-button.component.html","../../../../libs/angular-components/src/lib/title/title.component.ts","../../../../libs/angular-components/src/lib/title/title.component.html","../../../../libs/angular-components/src/lib/container/container.component.ts","../../../../libs/angular-components/src/lib/container/container.component.html","../../../../libs/angular-components/src/lib/container-content/container-content.component.ts","../../../../libs/angular-components/src/lib/container-content/container-content.component.html","../../../../libs/angular-components/src/provider.ts","../../../../libs/angular-components/src/lib/menu-icon/menu-icon.component.ts","../../../../libs/angular-components/src/lib/menu-icon/menu-icon.component.html","../../../../libs/angular-components/src/lib/topbar/topbar.component.ts","../../../../libs/angular-components/src/lib/topbar/topbar.component.html","../../../../libs/angular-components/src/lib/drawer/drawer-animations.ts","../../../../libs/angular-components/src/lib/drawer/drawer.component.ts","../../../../libs/angular-components/src/lib/drawer/drawer.component.html","../../../../libs/angular-components/src/lib/mini-guide/mini-guide.component.ts","../../../../libs/angular-components/src/lib/mini-guide/mini-guide.component.html","../../../../libs/angular-components/src/lib/page/page.component.ts","../../../../libs/angular-components/src/lib/page/page.component.html","../../../../libs/angular-components/src/lib/layout/layout.component.ts","../../../../libs/angular-components/src/lib/layout/layout.component.html","../../../../libs/angular-components/src/lib/footer/footer.component.ts","../../../../libs/angular-components/src/lib/footer/footer.component.html","../../../../libs/angular-components/src/lib/console-layout/console-layout.component.ts","../../../../libs/angular-components/src/lib/console-layout/console-layout.component.html","../../../../libs/angular-components/src/lib/menu-user/menu-user.component.ts","../../../../libs/angular-components/src/lib/menu-user/menu-user.component.html","../../../../libs/angular-components/src/lib/topbar-avatar-menu/topbar-avatar-menu.component.ts","../../../../libs/angular-components/src/lib/topbar-avatar-menu/topbar-avatar-menu.component.html","../../../../libs/angular-components/src/lib/folder/folder.component.ts","../../../../libs/angular-components/src/lib/folder/folder.component.html","../../../../libs/angular-components/src/lib/media-preview-dialog/media-preview-dialog.component.ts","../../../../libs/angular-components/src/lib/media-preview-dialog/media-preview-dialog.component.html","../../../../libs/angular-components/src/lib/material.module.ts","../../../../libs/angular-components/src/lib/angular-components.module.ts","../../../../libs/angular-components/src/lib/spinner/spinner.component.ts","../../../../libs/angular-components/src/lib/spinner/spinner.component.html","../../../../libs/angular-components/src/lib/media-upload/media-upload.component.ts","../../../../libs/angular-components/src/lib/media-upload/media-upload.component.html","../../../../libs/angular-components/src/lib/storage-bucket-create/storage-bucket-create.component.ts","../../../../libs/angular-components/src/lib/storage-bucket-create/storage-bucket-create.component.html","../../../../libs/angular-components/src/lib/storage-file-upload/storage-file-upload.component.ts","../../../../libs/angular-components/src/lib/storage-file-upload/storage-file-upload.component.html","../../../../libs/angular-components/src/lib/storage-folder-create/storage-folder-create.component.ts","../../../../libs/angular-components/src/lib/storage-folder-create/storage-folder-create.component.html","../../../../libs/angular-components/src/lib/wechat-connect-dialog/wechat-connect-dialog.component.ts","../../../../libs/angular-components/src/lib/wechat-connect-dialog/wechat-connect-dialog.component.html","../../../../libs/angular-components/src/lib/media-upload-dialog/media-upload-dialog.component.ts","../../../../libs/angular-components/src/lib/media-upload-dialog/media-upload-dialog.component.html","../../../../libs/angular-components/src/lib/media-list/media-list.component.ts","../../../../libs/angular-components/src/lib/media-list/media-list.component.html","../../../../libs/angular-components/src/lib/media-list-item/media-list-item.component.ts","../../../../libs/angular-components/src/lib/media-list-item/media-list-item.component.html","../../../../libs/angular-components/src/lib/not-found/not-found.component.ts","../../../../libs/angular-components/src/lib/not-found/not-found.component.html","../../../../libs/angular-components/src/lib/confirmation-dialog/confirmation-dialog.component.ts","../../../../libs/angular-components/src/lib/confirmation-dialog/confirmation-dialog.component.html","../../../../libs/angular-components/src/lib/filter/filter.component.ts","../../../../libs/angular-components/src/lib/filter/filter.component.html","../../../../libs/angular-components/src/lib/base.component.ts","../../../../libs/angular-components/src/lib/table/table.component.ts","../../../../libs/angular-components/src/lib/table/table.component.html","../../../../libs/angular-components/src/lib/paginator/paginator.component.ts","../../../../libs/angular-components/src/lib/paginator/paginator.component.html","../../../../libs/angular-components/src/lib/media-preview/media-preview.component.ts","../../../../libs/angular-components/src/lib/media-preview/media-preview.component.html","../../../../libs/angular-components/src/lib/toolbar/toolbar.component.ts","../../../../libs/angular-components/src/lib/toolbar/toolbar.component.html","../../../../libs/angular-components/src/lib/thumbnail/thumbnail.component.ts","../../../../libs/angular-components/src/lib/thumbnail/thumbnail.component.html","../../../../libs/angular-components/src/lib/image/image.component.ts","../../../../libs/angular-components/src/lib/image/image.component.html","../../../../libs/angular-components/src/lib/tab/tab.component.ts","../../../../libs/angular-components/src/lib/tab/tab.component.html","../../../../libs/angular-components/src/lib/tabs/tabs.component.ts","../../../../libs/angular-components/src/lib/tabs/tabs.component.html","../../../../libs/angular-components/src/lib/list/list.component.ts","../../../../libs/angular-components/src/lib/list/list.component.html","../../../../libs/angular-components/src/lib/content/content.component.ts","../../../../libs/angular-components/src/lib/content/content.component.html","../../../../libs/angular-components/src/lib/chip-bar/chip-bar.component.ts","../../../../libs/angular-components/src/lib/chip-bar/chip-bar.component.html","../../../../libs/angular-components/src/lib/avatar/avatar.component.ts","../../../../libs/angular-components/src/lib/avatar/avatar.component.html","../../../../libs/angular-components/src/lib/image-placeholder/image-placeholder.component.ts","../../../../libs/angular-components/src/lib/image-placeholder/image-placeholder.component.html","../../../../libs/angular-components/src/lib/image-preview-dialog/image-preview-dialog.component.ts","../../../../libs/angular-components/src/lib/image-preview-dialog/image-preview-dialog.component.html","../../../../libs/angular-components/src/lib/empty/empty.component.ts","../../../../libs/angular-components/src/lib/empty/empty.component.html","../../../../libs/angular-components/src/lib/input/input.component.ts","../../../../libs/angular-components/src/lib/input/input.component.html","../../../../libs/angular-components/src/lib/rich-item/rich-item.component.ts","../../../../libs/angular-components/src/lib/rich-item/rich-item.component.html","../../../../libs/angular-components/src/lib/rich-view/rich-view.component.ts","../../../../libs/angular-components/src/lib/rich-view/rich-view.component.html","../../../../libs/angular-components/src/lib/editor/editor.component.ts","../../../../libs/angular-components/src/lib/editor/editor.component.html","../../../../libs/angular-components/src/lib/accordion/accordion.component.ts","../../../../libs/angular-components/src/lib/accordion/accordion.component.html","../../../../libs/angular-components/src/lib/panel/panel-animations.ts","../../../../libs/angular-components/src/lib/panel/panel-header.component.ts","../../../../libs/angular-components/src/lib/panel/panel-header.component.html","../../../../libs/angular-components/src/lib/panel/panel.component.ts","../../../../libs/angular-components/src/lib/panel/panel.component.html","../../../../libs/angular-components/src/rolatech-angular-components.ts"],"sourcesContent":["import { Component, ElementRef, HostBinding, ViewEncapsulation, booleanAttribute, effect, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-icon',\n standalone: true,\n imports: [CommonModule, MatIcon],\n templateUrl: './icon.component.html',\n styleUrl: './icon.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconComponent {\n @HostBinding('class.rolatech-icon') hasClass = true;\n filled = input(false, { transform: booleanAttribute });\n el = inject(ElementRef);\n constructor() {\n effect(() => {\n if (this.filled()) {\n this.el.nativeElement.setAttribute('filled', '');\n } else {\n this.el.nativeElement.removeAttribute('filled');\n }\n });\n }\n}\n","<mat-icon>\n <ng-content></ng-content>\n</mat-icon>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from '../icon/icon.component';\n\n@Component({\n selector: 'rolatech-icon-button',\n standalone: true,\n imports: [CommonModule, IconComponent],\n templateUrl: './icon-button.component.html',\n styleUrl: './icon-button.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconButtonComponent {\n @HostBinding('class.rolatech-icon-button') hasClass = true;\n}\n","<button\n id=\"button\"\n class=\"w-10 h-10 p-2 inline-block relative cursor-pointer hover:bg-[--rt-10-percent-layer] rounded-full rolatech-icon-button\"\n onclick=\"this.blur()\"\n>\n <!-- <ng-content select=\"rolatech-icon\"></ng-content> -->\n <rolatech-icon>\n <ng-content></ng-content>\n </rolatech-icon>\n</button>\n","import { Component, HostBinding, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-title',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './title.component.html',\n styleUrl: './title.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class TitleComponent {\n @HostBinding('class.rolatech-title') hasClass = true;\n title = input();\n subtitle = input();\n large = input(false, { transform: booleanAttribute });\n}\n","<div class=\"flex flex-row items-center\">\n @if (large()) {\n <a class=\"block text-3xl font-bold py-3\"\n ><span>{{ title() }}</span></a\n >\n } @else {\n <a class=\"block text-xl font-bold py-3\"\n ><span>{{ title() }}</span></a\n >\n }\n\n <a class=\"text-sm leading-3 text-[--rt-text-secondary]\"\n ><span>{{ subtitle() }}</span></a\n >\n</div>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n standalone: true,\n selector: 'rolatech-container',\n imports: [CommonModule],\n templateUrl: './container.component.html',\n styleUrl: './container.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ContainerComponent {\n @HostBinding('id') hasId = 'rolatech-container';\n @HostBinding('class.rolatech-container') hasClass = true;\n}\n","<div class=\"xl:max-w-[1024px] 2xl:max-w-[1280px] m-auto\">\n <ng-content select=\"rolatech-toolbar\"></ng-content>\n <ng-content select=\"rolatech-filter\"></ng-content>\n <ng-content select=\"rolatech-tabs\"></ng-content>\n <ng-content select=\"rolatech-chip-bar\"></ng-content>\n <ng-content select=\"rolatech-list\"></ng-content>\n <ng-content select=\"rolatech-content\"></ng-content>\n <div class=\"container-content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatSidenavModule } from '@angular/material/sidenav';\n\n@Component({\n selector: 'rolatech-container-content',\n standalone: true,\n imports: [CommonModule, MatSidenavModule],\n templateUrl: './container-content.component.html',\n styleUrl: './container-content.component.scss',\n})\nexport class ContainerContentComponent {}\n","<div>\n <ng-content></ng-content>\n</div>\n","import { EnvironmentProviders, InjectionToken, Provider, makeEnvironmentProviders } from '@angular/core';\n\nexport interface DrawerConfig {\n persistent: boolean;\n}\nexport interface AppTopbarConfig {\n persistent: boolean;\n}\nexport interface AppLayoutConfig {\n title: string;\n subtitle?: string;\n persistent?: boolean | undefined;\n topbar?: AppTopbarConfig;\n drawer?: DrawerConfig;\n guide?: boolean | undefined;\n}\n\nexport const APP_LAYOUT = new InjectionToken<AppLayoutConfig>('APP_LAYOUT');\n\nexport function provideAngularLayout(config?: AppLayoutConfig): EnvironmentProviders {\n const providers: (Provider | EnvironmentProviders)[] = [\n {\n provide: APP_LAYOUT,\n useValue: config,\n },\n ];\n return makeEnvironmentProviders(providers);\n}\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-menu-icon',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './menu-icon.component.html',\n styleUrl: './menu-icon.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class MenuIconComponent {\n @HostBinding('class.rolatech-icon-button') hasClass = true;\n}\n","<button\n id=\"button\"\n class=\"w-10 h-10 p-2 inline-block relative cursor-pointer hover:bg-[--rt-10-percent-layer] rounded-full rolatech-icon-button\"\n onclick=\"this.blur()\"\n>\n <div style=\"width: 100%; height: 100%; display: block; fill: currentcolor\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M21 6H3V5h18v1zm0 5H3v1h18v-1zm0 6H3v1h18v-1z\"></path>\n </svg>\n </div>\n</button>\n","import {\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n inject,\n input,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLink } from '@angular/router';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { APP_LAYOUT } from '../../provider';\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { MiniGuideComponent } from '../mini-guide/mini-guide.component';\nimport { MenuIconComponent } from '../menu-icon/menu-icon.component';\n\n@Component({\n selector: 'rolatech-topbar',\n standalone: true,\n imports: [CommonModule, RouterLink, IconButtonComponent, MatButtonModule, MatIcon, MenuIconComponent],\n templateUrl: './topbar.component.html',\n styleUrl: './topbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class TopbarComponent implements OnInit {\n @HostBinding('id') hostId = 'rolatech-topbar';\n @HostBinding('class.rolatech-topbar') hasClass = true;\n persistent = inject(APP_LAYOUT).persistent;\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n platformId = inject(PLATFORM_ID);\n breakpointObserver = inject(BreakpointObserver);\n appLayout = inject(APP_LAYOUT);\n link = input('/');\n appDrawer!: DrawerComponent;\n miniGuide!: MiniGuideComponent;\n\n ngOnInit(): void {\n if (this.persistent) {\n this.renderer.setAttribute(this.el.nativeElement, 'persistent', '');\n } else {\n this.renderer.removeAttribute(this.el.nativeElement, 'persistent');\n }\n }\n\n onToggle() {\n if (this.appLayout.guide) {\n this.miniGuide.toggle();\n }\n this.appDrawer.toggle();\n }\n}\n","<div class=\"h-14 flex items-center\">\n <rolatech-menu-icon id=\"topbar-menu-button\" (click)=\"onToggle()\"></rolatech-menu-icon>\n <div class=\"cursor-pointer ml-1\" [routerLink]=\"link()\">\n <div class=\"text-[--rt-text-primary] text-lg md:text-xl font-bold\">\n <span class=\"text-[--rt-brand-color]\">{{ appLayout.title }}</span>\n <span>{{ appLayout.subtitle }}</span>\n </div>\n </div>\n <div class=\"flex-1\"></div>\n <ng-content></ng-content>\n</div>\n","import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n// export const DRAWER_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\n// export const heightAnimation = trigger('heightAnimation', [\n// state(\n// 'expanded',\n// style({\n// height: '*',\n// visibility: 'visible',\n// }),\n// ),\n// state(\n// 'collapsed',\n// style({\n// height: '0px',\n// visibility: 'hidden',\n// }),\n// ),\n// transition('expanded <=> collapsed', [animate(DRAWER_ANIMATION_TIMING)]),\n// ]);\n\nexport const PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\nexport const panelAnimations: {\n readonly indicator: AnimationTriggerMetadata;\n readonly content: AnimationTriggerMetadata;\n} = {\n /** Animation that rotates the indicator arrow. */\n indicator: trigger('indicator', [\n state('collapsed, void', style({ transform: 'rotate(0deg)' })),\n state('expanded', style({ transform: 'rotate(180deg)' })),\n transition('expanded <=> collapsed, void => collapsed', animate(PANEL_ANIMATION_TIMING)),\n ]),\n /** Animation that expands and collapses the panel content. */\n content: trigger('content', [\n state('collapsed, void', style({ height: '0px', visibility: 'hidden' })),\n state('expanded', style({ height: '*', visibility: 'visible' })),\n transition('expanded <=> collapsed, void => collapsed', animate(PANEL_ANIMATION_TIMING)),\n ]),\n};\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatNavList } from '@angular/material/list';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { Observable, filter, map } from 'rxjs';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { IconComponent } from '../icon/icon.component';\nimport { APP_LAYOUT } from '../../provider';\nimport { MatExpansionPanel, MatExpansionPanelHeader } from '@angular/material/expansion';\nimport { MatIcon } from '@angular/material/icon';\nimport { panelAnimations } from './drawer-animations';\nimport { MenuIconComponent } from '../menu-icon/menu-icon.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { LayoutEventService } from '../layout/layout-event.service';\nimport { Platform } from '@angular/cdk/platform';\n\nexport interface LINK {\n title: string;\n subtitle?: string;\n openinView?: boolean;\n icon?: string;\n link: string;\n children?: LINK[];\n button?: boolean;\n exact?: boolean;\n}\n@Component({\n selector: 'rolatech-drawer',\n standalone: true,\n imports: [\n CommonModule,\n MatNavList,\n RouterLink,\n MatExpansionPanel,\n MatExpansionPanelHeader,\n MatIcon,\n RouterLinkActive,\n IconButtonComponent,\n IconComponent,\n MenuIconComponent,\n MatButtonModule,\n ],\n templateUrl: './drawer.component.html',\n styleUrl: './drawer.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [panelAnimations.indicator, panelAnimations.content],\n host: {\n id: 'rolatech-drawer',\n class: 'rolatech-drawer',\n 'style.transition-duration': '200ms',\n ngSkipHydration: '',\n },\n})\nexport class DrawerComponent implements AfterContentInit, AfterContentChecked {\n private _enableAnimations = false;\n\n persistent: boolean | undefined = inject(APP_LAYOUT).persistent;\n links = input<LINK[]>();\n position = input('left');\n opened = input(true);\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n platformId = inject(PLATFORM_ID);\n breakpointObserver = inject(BreakpointObserver);\n appLayout = inject(APP_LAYOUT);\n guideEl = viewChild<ElementRef>('guide');\n content = viewChild<ElementRef>('content');\n scrimEl = viewChild<ElementRef>('scrim');\n headerEl = viewChild<ElementRef>('header');\n isMobile = false;\n isPersistent = true;\n panelOpenState = false;\n private _opened: boolean = false;\n private _platform = inject(Platform);\n\n open() {\n this._opened = true;\n this.renderer.setAttribute(this.el.nativeElement, 'opened', '');\n this.renderer.setAttribute(this.content()?.nativeElement, 'opened', '');\n if (this.isMobile) {\n this.renderer.addClass(this.scrimEl()?.nativeElement, 'visible');\n }\n }\n close() {\n this._opened = false;\n this.renderer.removeAttribute(this.el.nativeElement, 'opened');\n this.renderer.removeAttribute(this.content()?.nativeElement, 'opened');\n if (this.isMobile) {\n this.renderer.removeClass(this.scrimEl()?.nativeElement, 'visible');\n }\n }\n toggle() {\n this._opened ? this.close() : this.open();\n }\n init(isMobile: boolean) {\n this._opened = !isMobile;\n this.isMobile = isMobile;\n this.isPersistent = !isMobile;\n if (this._platform.isBrowser) {\n if (isMobile) {\n this.renderer.removeAttribute(this.el.nativeElement, 'persistent');\n this.renderer.removeAttribute(this.headerEl()?.nativeElement, 'hidden', '');\n this.renderer.removeAttribute(this.el.nativeElement, 'opened');\n this.renderer.removeAttribute(this.content()?.nativeElement, 'opened');\n } else {\n if (this.persistent) {\n this.renderer.setAttribute(this.el.nativeElement, 'persistent', '');\n this.renderer.setAttribute(this.headerEl()?.nativeElement, 'hidden', '');\n this.renderer.setAttribute(this.el.nativeElement, 'opened', '');\n this.renderer.setAttribute(this.content()?.nativeElement, 'opened', '');\n }\n }\n }\n }\n ngAfterContentInit(): void {\n this.renderer.setAttribute(this.el.nativeElement, 'position', this.position());\n this.breakpointObserver\n .observe(['(max-width: 768px)'])\n .pipe(map((result) => result.matches))\n .subscribe({\n next: (res: any) => {\n this.init(res);\n },\n });\n }\n ngAfterContentChecked(): void {\n if (this._platform.isBrowser) {\n this._enableAnimations = true;\n }\n }\n}\n","<div id=\"scrim\" #scrim class=\"rolatech-drawer\" (click)=\"close()\"></div>\n<div id=\"contentContainer\" #content class=\"rolatech-drawer\">\n <div id=\"guide-wrapper\" class=\"rolatech-drawer\">\n <div id=\"guide-spacer\"></div>\n <div id=\"guide-content\" class=\"rolatech-drawer\">\n <div id=\"header\" #header class=\"flex pl-4 h-14 items-center\">\n <rolatech-menu-icon #menuButton (click)=\"this.toggle()\" onclick=\"this.blur()\"></rolatech-menu-icon>\n <div class=\"text-[--rt-text-primary] text-lg md:text-xl font-bold\" routerLink=\"/\">\n <span class=\"text-[--rt-brand-color]\">{{ appLayout.title }}</span>\n <span>{{ appLayout.subtitle }}</span>\n </div>\n </div>\n <div id=\"guide-inner-content\" class=\"rolatech-drawer\">\n <div class=\"block p-3\">\n @for (item of links(); track $index) {\n @if (item.children) {\n <div class=\"flex cursor-pointer overflow-hidden\">\n @if (item.icon) {\n <div class=\"h-11 flex items-center\">\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n </div>\n }\n <div class=\"w-full\">\n <div class=\"flex items-center h-11 mr-2\" (click)=\"panelOpenState = !panelOpenState\">\n <span class=\"ml-3\">{{ item.title }}</span>\n <div class=\"flex-1\"></div>\n <rolatech-icon [@indicator]=\"panelOpenState === true ? 'expanded' : 'collapsed'\">expand_more</rolatech-icon>\n </div>\n <div\n class=\"flex flex-col ml-4 overflow-visible\"\n [@content]=\"panelOpenState === true ? 'expanded' : 'collapsed'\"\n >\n @for (child of item.children; track child) {\n {{ child.exact }}\n <a\n id=\"endpoint\"\n [routerLink]=\"child.link\"\n routerLinkActive=\"drawer-active\"\n [routerLinkActiveOptions]=\"{ exact: item.exact === false ? false : true }\"\n class=\"p-2 rt-guide-entry\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <span class=\"text-sm\">{{ child.title }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n } @else {\n @if (item.openinView) {\n <a\n class=\"flex hover:bg-[--rt-10-percent-layer] min-h-11\"\n [href]=\"item.link\"\n target=\"_blank\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start items-center\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm opacity-75 text-[--rt-text-secondary]\">{{ item.subtitle }}</span>\n </div>\n </div>\n <rolatech-icon class=\"scale-90 mr-3\">open_in_new</rolatech-icon>\n </div>\n </a>\n } @else {\n @if (item.button) {\n <a\n class=\"flex rolatech-drawer-button min-h-11 rounded-xl mb-2\"\n [routerLink]=\"item.link\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start items-center\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm\">{{ item.subtitle }}</span>\n </div>\n </div>\n </div>\n </a>\n } @else {\n <a\n id=\"endpoint\"\n class=\"flex hover:bg-[--rt-10-percent-layer] min-h-11 rt-guide-entry\"\n [routerLink]=\"item.link\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n routerLinkActive=\"drawer-active\"\n [routerLinkActiveOptions]=\"{ exact: item.exact === false ? false : true }\"\n #routerLink=\"routerLinkActive\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start items-center\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\" [filled]=\"routerLink.isActive\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm text-[--rt-text-secondary]\">{{ item.subtitle }}</span>\n </div>\n </div>\n </div>\n </a>\n }\n }\n }\n }\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { Component, ElementRef, OnInit, PLATFORM_ID, Renderer2, ViewEncapsulation, inject, input } from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { IconComponent } from '../icon/icon.component';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\n\nexport interface MiniGuide {\n title: string;\n icon: string;\n link: string;\n}\n\n@Component({\n selector: 'rolatech-mini-guide',\n standalone: true,\n imports: [CommonModule, IconButtonComponent, IconComponent, RouterLink, RouterLinkActive],\n templateUrl: './mini-guide.component.html',\n styleUrl: './mini-guide.component.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n id: 'rolatech-mini-guide',\n class: 'rolatech-mini-guide',\n },\n})\nexport class MiniGuideComponent implements OnInit {\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n platformId = inject(PLATFORM_ID);\n breakpointObserver = inject(BreakpointObserver);\n items = input<MiniGuide[]>();\n title = input<boolean>(true);\n opened = false;\n disableToggle = false;\n readonly breakpoint$ = this.breakpointObserver.observe([Breakpoints.Large, Breakpoints.Medium, '(max-width: 768px)']);\n\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n this.breakpoint$.subscribe(() => this.breakpointChanged());\n }\n }\n private breakpointChanged() {\n if (this.breakpointObserver.isMatched(Breakpoints.Large)) {\n this.disableToggle = false;\n // this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n // this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n } else if (this.breakpointObserver.isMatched(Breakpoints.Medium)) {\n // this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n // this.renderer.removeAttribute(this.el.nativeElement, 'hidden');\n } else if (this.breakpointObserver.isMatched('(max-width: 768px)')) {\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n this.disableToggle = true;\n } else {\n this.disableToggle = false;\n // this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n // this.renderer.removeAttribute(this.el.nativeElement, 'hidden');\n }\n }\n open() {\n this.opened = true;\n this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n this.renderer.removeAttribute(this.el.nativeElement, 'hidden');\n }\n close() {\n this.opened = false;\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n }\n toggle() {\n if (this.disableToggle) {\n this.close();\n return;\n }\n this.opened ? this.close() : this.open();\n }\n}\n","<div id=\"items\" class=\"w-16 mt-[6px]\" style=\"transition-duration: 200ms\">\n @for (item of items(); track $index) {\n <div>\n <a\n id=\"min-guide-endpoint\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"min-guide-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n #routerLink=\"routerLinkActive\"\n class=\"flex flex-col justify-center items-center py-3 rt-guide-entry\"\n >\n <rolatech-icon [filled]=\"routerLink.isActive\">{{ item.icon }}</rolatech-icon>\n @if (title()) {\n <span class=\"text-xs mt-1 max-w-full truncate\">{{ item.title }}</span>\n }\n </a>\n </div>\n }\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n NgZone,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n@Component({\n selector: 'rolatech-page',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './page.component.html',\n styleUrl: './page.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n id: 'rolatech-page',\n class: 'rolatech-page rt-page',\n ngSkipHydration: '',\n },\n})\nexport class AppPageComponent implements OnInit, AfterContentInit {\n el = inject(ElementRef<HTMLElement>);\n constructor() {}\n\n ngOnInit(): void {}\n ngAfterContentInit() {}\n}\n","<ng-content></ng-content>\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n contentChild,\n inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatSidenav, MatSidenavModule } from '@angular/material/sidenav';\nimport { MatListModule, MatNavList } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterLink, RouterOutlet } from '@angular/router';\nimport { ContainerComponent } from '../container/container.component';\nimport { ContainerContentComponent } from '../container-content/container-content.component';\nimport { TopbarComponent } from '../topbar/topbar.component';\nimport { DrawerComponent, LINK } from '../drawer/drawer.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { distinctUntilChanged, map, Subject } from 'rxjs';\nimport { APP_LAYOUT } from '../../provider';\nimport { MiniGuideComponent } from '../mini-guide/mini-guide.component';\nimport { AppPageComponent } from '../page/page.component';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { Platform } from '@angular/cdk/platform';\nconst EXTRA_SMALL_WIDTH_BREAKPOINT = 768;\n\n@Component({\n selector: 'rolatech-layout',\n standalone: true,\n imports: [\n CommonModule,\n RouterLink,\n RouterOutlet,\n ContainerComponent,\n ContainerContentComponent,\n MatListModule,\n MatNavList,\n MatSidenav,\n MatButtonModule,\n MatIconModule,\n MatSidenavModule,\n TopbarComponent,\n DrawerComponent,\n AppPageComponent,\n ],\n templateUrl: './layout.component.html',\n styleUrl: './layout.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n id: 'rolatech-layout',\n class: 'rolatech-layout',\n ngSkipHydration: '',\n },\n})\nexport class LayoutComponent implements OnInit, AfterContentInit {\n appLayout = inject(APP_LAYOUT);\n viewportRuler = inject(ViewportRuler);\n el = inject(ElementRef<HTMLElement>);\n renderer = inject(Renderer2);\n _platform = inject(Platform);\n\n breakpointObserver = inject(BreakpointObserver);\n topbar = contentChild.required(TopbarComponent);\n drawer = contentChild.required(DrawerComponent);\n page = contentChild.required(AppPageComponent);\n guide = contentChild.required(MiniGuideComponent);\n readonly breakpoint$ = this.breakpointObserver\n .observe([Breakpoints.Large, Breakpoints.Medium, '(max-width: 768px)'])\n .pipe(distinctUntilChanged());\n constructor() {}\n ngAfterContentInit(): void {\n this.renderer.setAttribute(this.page().el.nativeElement, 'transparent', '');\n if (this._platform.isBrowser) {\n this.init();\n }\n }\n\n ngOnInit() {}\n ngOnDestroy() {}\n open() {}\n close() {}\n toggle() {}\n init() {\n this.renderer.removeAttribute(this.page().el.nativeElement, 'transparent', '');\n if (this.topbar()) {\n this.topbar().appDrawer = this.drawer();\n }\n if (this.appLayout.guide) {\n this.topbar().miniGuide = this.guide();\n }\n if (this.appLayout.guide) {\n this.breakpoint$.subscribe(() => this.breakpointChanged());\n }\n\n this.breakpointObserver\n .observe(`(max-width: ${EXTRA_SMALL_WIDTH_BREAKPOINT}px)`)\n .pipe(map((result) => result.matches))\n .subscribe({\n next: (res) => {\n if (res) {\n this.renderer.removeAttribute(this.el.nativeElement, 'persistent');\n } else {\n this.renderer.setAttribute(this.el.nativeElement, 'persistent', '');\n }\n },\n });\n }\n private breakpointChanged() {\n if (this.breakpointObserver.isMatched(Breakpoints.Large)) {\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n } else if (this.breakpointObserver.isMatched(Breakpoints.Medium)) {\n this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n } else if (this.breakpointObserver.isMatched('(max-width: 768px)')) {\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n }\n }\n}\n","<ng-content select=\"rolatech-topbar\"></ng-content>\n<ng-content select=\"rolatech-drawer\"></ng-content>\n<ng-content select=\"rolatech-mini-guide\"></ng-content>\n<ng-content select=\"rolatech-page\"></ng-content>\n<div class=\"flex-1\"></div>\n<ng-content select=\"rolatech-footer\"></ng-content>\n","import { Component, HostBinding, ViewEncapsulation, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-footer',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './footer.component.html',\n styleUrl: './footer.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class FooterComponent {\n @HostBinding('id') hostId = 'rolatech-footer';\n @HostBinding('class.rolatech-footer') hasClass = true;\n config = inject(APP_CONFIG);\n title = input<string>();\n copyright = input<string>('');\n}\n","<div class=\"bg-[--rt-base-background] flex flex-col justify-between px-5 md:px-16 py-6\">\n <div class=\"flex flex-col md:flex-row md:gap-10 gap-3 py-3\">\n <ng-content></ng-content>\n </div>\n <div class=\"flex justify-between mt-6\">\n <div class=\"cursor-pointer\">\n <a href=\"/\" target=\"_blank\" class=\"text-lg font-bold\">{{ title() }}</a>\n </div>\n <span class=\"text-sm\">©{{ copyright() }}</span>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-console-layout',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './console-layout.component.html',\n styleUrl: './console-layout.component.scss',\n})\nexport class ConsoleLayoutComponent {}\n","<p>console-layout works!</p>\n","import { Component, ViewEncapsulation, computed, effect, inject, input, model } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { APP_CONFIG } from '@rolatech/angular-common';\nexport interface MenuUser {\n name: string;\n avatar: string;\n email: string;\n username: string;\n}\n@Component({\n standalone: true,\n imports: [MatMenuModule, MatIconModule],\n selector: 'rolatech-menu-user',\n templateUrl: './menu-user.component.html',\n styleUrls: ['./menu-user.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MenuUserComponent {\n environment = inject(APP_CONFIG);\n myaccountUrl = this.environment.myaccountUrl;\n user = input<MenuUser | any>();\n avatar = computed(() => {\n return this.user().avatar;\n });\n constructor() {\n // effect(() => {\n // this.data = this.user();\n // });\n }\n}\n","<div class=\"min-w-[256px]\">\n @if (user()) {\n <div class=\"px-6 py-3\">\n <div class=\"flex flex-row items-center\">\n <div class=\"mr-3 w-14 h-14 rounded-full bg-[--rt-brand-color]\">\n @if (user().avatar) {\n <img [src]=\"user().avatar\" class=\"w-14 h-14 object-cover rounded-full\" />\n }\n </div>\n <div class=\"flex flex-col\">\n <div>\n <div class=\"text-lg font-bold\">{{ user().name }}</div>\n <div class=\"formated-string\">\n <span>@{{ user().username }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n\n <div class=\"flex justify-between items-center\">\n <a mat-menu-item [href]=\"myaccountUrl\" target=\"_blank\" class=\"px-6\">\n <span class=\"flex justify-between items-center\">\n <span class=\"pl-2\"> 用户中心 </span>\n <span class=\"flex\"> <mat-icon>open_in_new</mat-icon></span>\n </span>\n </a>\n </div>\n</div>\n","import { Component, PLATFORM_ID, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatMenuModule, MatMenuPanel } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { RouterLink, RouterOutlet } from '@angular/router';\nimport { MenuUserComponent } from '../menu-user/menu-user.component';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-topbar-avatar-menu',\n standalone: true,\n imports: [\n CommonModule,\n MatSidenavModule,\n RouterLink,\n MatListModule,\n MatIconModule,\n MatMenuModule,\n RouterOutlet,\n MenuUserComponent,\n ],\n templateUrl: './topbar-avatar-menu.component.html',\n styleUrl: './topbar-avatar-menu.component.scss',\n})\nexport class TopbarAvatarMenuComponent {\n environment = inject(APP_CONFIG);\n platformId = inject(PLATFORM_ID);\n menu = input.required<MatMenuPanel<any>>();\n avatar = input<string>();\n}\n","<div class=\"flex\">\n <a\n class=\"flex justify-center items-center rounded-full overflow-hidden cursor-pointer hover:outline-[--rt-raised-background] outline outline-transparent outline-4\"\n [matMenuTriggerFor]=\"menu()\"\n >\n <div class=\"bg-[--rt-brand-color] w-9 h-9\">\n @if (avatar()) {\n <img class=\"w-9 h-9 object-cover\" [src]=\"avatar()\" />\n }\n </div>\n </a>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rolatech-folder',\n templateUrl: './folder.component.html',\n styleUrls: ['./folder.component.scss'],\n standalone: true,\n})\nexport class FolderComponent {}\n","<div></div>\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-media-preview-dialog',\n templateUrl: './media-preview-dialog.component.html',\n styleUrls: ['./media-preview-dialog.component.scss'],\n standalone: true,\n imports: [MatIconModule, MatDividerModule, MatButtonModule],\n})\nexport class MediaPreviewDialogComponent implements OnInit {\n selected: any;\n index = 0;\n prevDisabled = false;\n nextDisabled = false;\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private dialogRef: MatDialogRef<MediaPreviewDialogComponent>,\n ) {\n this.data.title = '图片预览';\n }\n\n ngOnInit(): void {\n this.selected = this.data.selected;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n close(): void {\n this.dialogRef.close();\n }\n prev() {\n this.selected--;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n next() {\n this.selected++;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n}\n","<div class=\"flex flex-col h-full overflow-hidden\">\n <div class=\"h-16 flex justify-between items-center px-5\">\n @if (data.title) {\n <div class=\"text-md font-medium\">{{ data.title }}</div>\n }\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"flex-1 overflow-hidden overflow-y-auto\">\n <div class=\"p-3 flex justify-center items-center\">\n <img class=\"object-cover\" [src]=\"data.media[selected].url\" />\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"h-16 flex justify-between items-center px-5\">\n <button mat-flat-button [disabled]=\"prevDisabled\" (click)=\"prev()\">Prev</button>\n <div>{{ selected + 1 }} / {{ data.media.length }}</div>\n <button mat-flat-button [disabled]=\"nextDisabled\" (click)=\"next()\">Next</button>\n </div>\n</div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { NgModule } from '@angular/core';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\n\nconst MAT_MODULE = [\n A11yModule,\n ClipboardModule,\n CdkStepperModule,\n CdkTableModule,\n CdkTreeModule,\n DragDropModule,\n LayoutModule,\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatStepperModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n PortalModule,\n ScrollingModule,\n];\n\n@NgModule({\n imports: [...MAT_MODULE],\n exports: [...MAT_MODULE],\n})\nexport class MaterialModule {}\n","import { NgModule } from '@angular/core';\nimport { MaterialModule } from './material.module';\n\n@NgModule({\n imports: [MaterialModule],\n exports: [MaterialModule],\n})\nexport class AngularComponentsModule {}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnDestroy, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoadingService } from '@rolatech/angular-services';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'rolatech-spinner',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './spinner.component.html',\n styleUrl: './spinner.component.scss',\n})\nexport class SpinnerComponent implements AfterViewInit, OnDestroy {\n title = input<string>();\n isLoading!: boolean;\n loadingSubscription!: Subscription;\n loadingService = inject(LoadingService);\n _elmRef = inject(ElementRef);\n _changeDetectorRef = inject(ChangeDetectorRef);\n\n ngAfterViewInit(): void {\n this._elmRef.nativeElement.style.display = 'none';\n this.loadingSubscription = this.loadingService.loading$.pipe().subscribe((status: boolean) => {\n this._elmRef.nativeElement.style.display = status ? 'block' : 'none';\n this._changeDetectorRef.detectChanges();\n this.isLoading = status;\n });\n }\n ngOnDestroy(): void {\n if (this.loadingSubscription) this.loadingSubscription.unsubscribe();\n }\n}\n","<div class=\"flex justify-center\">\n <div class=\"lds-spinner\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n</div>\n","import { Component, inject, input, output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AngularCommonModule, Media } from '@rolatech/angular-common';\nimport { MediaPreviewDialogComponent } from '../media-preview-dialog/media-preview-dialog.component';\nimport { AngularComponentsModule } from '../angular-components.module';\nimport { SpinnerComponent } from '../spinner/spinner.component';\n\n@Component({\n standalone: true,\n imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent],\n selector: 'rolatech-media-upload',\n templateUrl: './media-upload.component.html',\n styleUrls: ['./media-upload.component.scss'],\n})\nexport class MediaUploadComponent {\n title = input<string>('上传图片');\n subtitle = input<string>('文件大小');\n description = input<string>('不能超过5MB');\n isUploading = input<boolean>(false);\n\n mediaItemClick = output<Media>();\n upload = output<FormData | null>();\n\n media: Media[] = [];\n dialog = inject(MatDialog);\n\n onMediaItemClick(item: Media) {\n this.mediaItemClick.emit(item);\n }\n onMediaClick(i: any) {\n const dialogRef = this.dialog.open(MediaPreviewDialogComponent, {\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 onUpload(event: any) {\n const file = event.target.files[0];\n if (file) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n (this.media as any).push({\n url: reader.result,\n alt: 'upload image',\n });\n const formData = new FormData();\n formData.append('file', file);\n this.upload.emit(formData);\n };\n }\n }\n}\n","<div class=\"bg-[--rt-raised-background] rounded p-6 min-h-[320px] flex items-center justify-center\">\n @if (isUploading()) {\n <div class=\"flex flex-col items-center justify-center\">\n <div class=\"p-3\">\n <mat-icon>upload</mat-icon>\n </div>\n <div class=\"flex flex-col items-center justify-center\">\n <div class=\"font-lg font-bold py-3\">{{ title() }}</div>\n <div class=\"font-sm text-[--rt-text-secondary]\">{{ subtitle() }}</div>\n <div class=\"font-sm text-[--rt-text-secondary]\">{{ description() }}</div>\n </div>\n <div class=\"py-2\">\n <input style=\"display: none\" type=\"file\" (change)=\"onUpload($event)\" #fileInput />\n <button mat-flat-button color=\"primary\" (click)=\"fileInput.click()\">上传图片</button>\n </div>\n </div>\n } @else {\n <rolatech-spinner title=\"上传中\"></rolatech-spinner>\n }\n</div>\n<div class=\"flex flex-row\">\n @for (media of media; track $index) {\n <div (click)=\"onMediaClick($index)\" class=\"inline-flex flex-row mt-3 mr-3 cursor-pointer rounded-md\">\n <img class=\"rounded-md aspect-video object-cover w-32\" [src]=\"media.url\" />\n </div>\n }\n</div>\n","import { Component, DoCheck, OnInit, input, output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n@Component({\n selector: 'rolatech-storage-bucket-create',\n templateUrl: './storage-bucket-create.component.html',\n styleUrls: ['./storage-bucket-create.component.scss'],\n standalone: true,\n imports: [MatFormFieldModule, MatInputModule, FormsModule],\n})\nexport class StorageBucketCreateComponent implements OnInit, DoCheck {\n name = input<string>();\n output = output<any>();\n\n ngOnInit(): void {}\n ngDoCheck(): void {\n this.output.emit(this.name());\n }\n}\n","<div>\n <mat-form-field>\n <mat-label>名称</mat-label>\n <input matInput placeholder=\"输入名称\" [(ngModel)]=\"name\" />\n </mat-form-field>\n</div>\n","import { Component, DoCheck, OnInit, input, output } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n@Component({\n selector: 'rolatech-storage-file-upload',\n templateUrl: './storage-file-upload.component.html',\n styleUrls: ['./storage-file-upload.component.scss'],\n standalone: true,\n imports: [MatFormFieldModule, MatInputModule, FormsModule, MatButtonModule, MatIconModule],\n})\nexport class StorageFileUploadComponent implements OnInit, DoCheck {\n title = input<string>();\n output = output<any>();\n\n fileData: any;\n progressInfos: any = [];\n isFinished = false;\n isUploaded = false;\n file: any;\n\n ngOnInit(): void {}\n ngDoCheck(): void {\n this.output.emit({\n title: this.title,\n file: this.file,\n });\n }\n selectFiles(event: any) {\n this.isFinished = false;\n this.file = event.target.files[0];\n event.target.value = '';\n }\n removeFile() {\n this.file = null;\n }\n}\n","<div>\n <mat-form-field>\n <mat-label>标题</mat-label>\n <input matInput placeholder=\"输入标题\" [(ngModel)]=\"title\" />\n </mat-form-field>\n\n <div class=\"mt-2\">\n <input #fileInput class=\"hidden\" type=\"file\" (change)=\"selectFiles($event)\" />\n <button mat-raised-button (click)=\"fileInput.click()\">选择文件</button>\n </div>\n @if (file) {\n <div class=\"p-2 flex justify-between items-center\">\n <div>{{ file.name }}</div>\n <button matSuffix mat-icon-button (click)=\"removeFile()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n }\n</div>\n","import { Component, DoCheck, OnInit, input, output } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n@Component({\n selector: 'rolatech-storage-folder-create',\n templateUrl: './storage-folder-create.component.html',\n styleUrls: ['./storage-folder-create.component.scss'],\n standalone: true,\n imports: [MatFormFieldModule, MatInputModule, FormsModule, MatCheckboxModule],\n})\nexport class StorageFolderCreateComponent implements OnInit, DoCheck {\n name = input<string>();\n isPublic = input<boolean>(true);\n output = output<any>();\n\n ngOnInit(): void {}\n ngDoCheck(): void {\n this.output.emit({ name: this.name(), isPublic: this.isPublic() });\n }\n}\n","<div>\n <mat-form-field>\n <mat-label>名称</mat-label>\n <input matInput placeholder=\"输入名称\" [(ngModel)]=\"name\" />\n </mat-form-field>\n <div class=\"flex flex-col\">\n <mat-checkbox [(ngModel)]=\"isPublic\">公开资源</mat-checkbox>\n <span class=\"text-sm text-[--rt-text-secondary] ml-2 mt-1\">文件夹为图片内容时, 请取消勾选此项</span>\n </div>\n</div>\n","import { Component, HostListener, OnDestroy, effect, inject, input, model } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-wechat-connect-dialog',\n templateUrl: './wechat-connect-dialog.component.html',\n styleUrls: ['./wechat-connect-dialog.component.scss'],\n standalone: true,\n})\nexport class WechatConnectDialogComponent {\n dialogRef = inject(MatDialogRef);\n environment = inject(APP_CONFIG);\n appId = model();\n redirectUri = model('');\n state = model();\n urlSafe!: SafeResourceUrl;\n sanitizer = inject(DomSanitizer);\n baseUrl = 'https://open.weixin.qq.com/connect/qrconnect';\n loaded = false;\n\n constructor() {\n effect(() => {\n const href = 'https://cloudcache.tencent-cloud.com/open_proj/proj_qcloud_v2/gateway/login-regist/css/link-wx-login.css';\n // const encodedURI = encodeURI(this.redirectUri());\n const encodedURI = encodeURI('https://accounts.pinxiaoke.cn');\n const src = `${this.baseUrl}?appid=${this.appId()}&response_type=code&self_redirect=true&scope=snsapi_login&href=${href}&redirect_uri=${encodedURI}&state=${this.state()}#wechat_redirect`;\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(src);\n this.loaded = true;\n });\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n @HostListener('window:message', ['$event'])\n onLogin(event: any): void {\n if (event.origin === this.environment.accountsUrl && event.data.code === 200) {\n this.dialogRef.close();\n }\n }\n}\n","<div class=\"flex flex-col p-3\">\n <div class=\"w-[190px] h-[190px]\">\n @if (loaded) {\n <iframe [src]=\"urlSafe\" class=\"w-full h-full inline\" scrolling=\"no\" frameBorder=\"no\"></iframe>\n }\n </div>\n</div>\n","import { filter } from 'rxjs';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog';\nimport { HttpEventType, HttpResponse } from '@angular/common/http';\nimport { remove } from 'lodash';\nimport { Media } from '@rolatech/angular-common';\nimport { MediaService } from '@rolatech/angular-services';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { NgClass } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nexport interface PreMedia {\n url: string;\n alt: string;\n isUploading: boolean;\n isUploaded: boolean;\n file: File;\n}\n@Component({\n selector: 'rolatech-media-upload-dialog',\n templateUrl: './media-upload-dialog.component.html',\n styleUrls: ['./media-upload-dialog.component.scss'],\n standalone: true,\n imports: [MatDialogContent, MatButtonModule, NgClass, MatProgressSpinnerModule, MatDialogActions, MatDialogClose],\n})\nexport class MediaUploadDialogComponent implements OnInit {\n fileData: any;\n progressInfos: any = [];\n media: Media[] = [];\n preMedia: PreMedia[] = [];\n isFinished = false;\n\n isUploaded = false;\n\n constructor(\n public dialogRef: MatDialogRef<MediaUploadDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private mediaService: MediaService,\n ) {}\n\n ngOnInit(): void {}\n\n selectFiles(event: any) {\n this.isFinished = false;\n for (const file of event.target.files) {\n this.addImage(file);\n }\n event.target.value = '';\n }\n addImage(file: any) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n (this.preMedia as any).push({\n url: reader.result,\n alt: 'upload image',\n isUploading: false,\n isUploaded: false,\n file: file,\n });\n };\n reader.onerror = (error) => {};\n }\n removeImage(index: any) {\n this.preMedia.splice(index, 1);\n }\n uploadFiles() {\n for (let i = 0; i < this.preMedia.length; i++) {\n if (!this.preMedia[i].isUploaded) {\n this.upload(i, this.preMedia[i].file);\n }\n }\n }\n upload(idx: any, file: any) {\n this.progressInfos[idx] = { value: 0, fileName: file.name };\n const formData = new FormData();\n formData.append('file', file);\n this.preMedia[idx].isUploading = true;\n formData.append('groupId', this.data.groupId);\n\n this.mediaService.uploadAndSave(formData).subscribe({\n next: (res: any) => {\n this.media.push(res.data);\n this.preMedia[idx].isUploading = false;\n this.preMedia[idx].isUploaded = true;\n this.progressInfos[idx].value = 100;\n\n const tmp = this.progressInfos.filter((item: any) => item.value !== 100);\n if (tmp.length <= 0) {\n this.isFinished = true;\n }\n },\n error: (error: any) => {\n this.progressInfos[idx].value = 0;\n },\n });\n }\n}\n","<mat-dialog-content>\n <div class=\"border-dashed border-2 border-[--rt-border-color] py-12 flex flex-col justify-center items-center\">\n <input #fileInput multiple class=\"hidden\" type=\"file\" (change)=\"selectFiles($event)\" />\n <button mat-button (click)=\"fileInput.click()\">上传图片</button>\n </div>\n <div class=\"mt-4\">\n <h2 class=\"\">预览</h2>\n <div>\n <ul id=\"gallery\" class=\"flex flex-1 flex-wrap -m-1\">\n @for (item of preMedia; track item.url; let i = $index) {\n <li class=\"block p-1 w-1/2 sm:w-1/3 md:w-1/4 lg:w-1/6 xl:w-1/8 h-24\">\n <article\n tabindex=\"0\"\n [ngClass]=\"item.isUploading ? 'isUploading' : ''\"\n class=\"group hasImage w-full h-full rounded-md focus:outline-none focus:shadow-outline bg-[--rt-raised-background] cursor-pointer relative text-transparent hover:text-white shadow-sm\"\n >\n <img [src]=\"item.url\" class=\"img-preview w-full h-full sticky object-cover rounded-md bg-fixed\" />\n <section class=\"flex flex-col rounded-md text-xs break-words w-full h-full z-20 absolute top-0 py-2 px-3\">\n @if (item.isUploading) {\n <div class=\"flex justify-center items-center w-full h-full\">\n <mat-spinner color=\"white\" diameter=\"28\"></mat-spinner>\n </div>\n } @else {\n <div class=\"flex\">\n <button\n (click)=\"removeImage(i)\"\n class=\"delete ml-auto focus:outline-none hover:bg-[--rt-base-background] p-1 rounded-md\"\n >\n <svg\n class=\"pointer-events-none fill-current w-4 h-4 ml-auto\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <path\n class=\"pointer-events-none\"\n d=\"M3 6l3 18h12l3-18h-18zm19-4v2h-20v-2h5.711c.9 0 1.631-1.099 1.631-2h5.316c0 .901.73 2 1.631 2h5.711z\"\n />\n </svg>\n </button>\n </div>\n }\n </section>\n </article>\n </li>\n }\n </ul>\n </div>\n @if (preMedia.length <= 0) {\n <div class=\"flex flex-1 flex-wrap\">\n <div class=\"h-full w-full text-center flex flex-col justify-center items-center py-6\">\n <span class=\"text-small text-[--rt-text-secondary]\">No files selected</span>\n </div>\n </div>\n }\n </div>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close>取消</button>\n @if (preMedia.length <= 0) {\n <button mat-button>等待选择</button>\n }\n @if (!isFinished && preMedia.length > 0) {\n <button mat-button (click)=\"uploadFiles()\">立刻上传</button>\n }\n @if (isFinished) {\n <button mat-button [mat-dialog-close]=\"media\">完成</button>\n }\n</mat-dialog-actions>\n","import { Component, input, output } from '@angular/core';\nimport { Media } from '@rolatech/angular-common';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\n\n@Component({\n selector: 'rolatech-media-list',\n templateUrl: './media-list.component.html',\n styleUrls: ['./media-list.component.scss'],\n standalone: true,\n imports: [MatProgressBarModule],\n})\nexport class MediaListComponent {\n isUploading = input<boolean>();\n media = input<Media[]>();\n showAdd = input<boolean>(true);\n mediaItemClick = output<Media>();\n upload = output<FormData | null>();\n\n onMediaItemClick(item: Media) {\n this.mediaItemClick.emit(item);\n }\n onUpload(event: any) {\n this.upload.emit(event);\n }\n}\n","<div class=\"flex flex-row flex-wrap box-border items-center\">\n <div class=\"progress-bar\">\n @if (isUploading()) {\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n }\n </div>\n <div class=\"flex flex-row flex-wrap box-border items-center gap-2\">\n <ng-content></ng-content>\n <div>\n <input style=\"display: none\" type=\"file\" accept=\"image/*, video/*\" (change)=\"onUpload($event)\" #fileInput />\n @if (showAdd()) {\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 }\n </div>\n </div>\n</div>\n","import { Component, input, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { Media } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-media-list-item',\n templateUrl: './media-list-item.component.html',\n styleUrls: ['./media-list-item.component.scss'],\n standalone: true,\n imports: [MatButtonModule, MatMenuModule, MatIconModule],\n})\nexport class MediaListItemComponent {\n media = input.required<Media>();\n uploadProgress = input<number>(0);\n\n mediaItemClick = output<{\n selected: number;\n media: Media;\n }>();\n deleteMedia = output<Media>();\n\n onMediaItemClick(event: any) {\n this.mediaItemClick.emit(event);\n }\n onDeleteMedia(media: Media) {\n this.deleteMedia.emit(media);\n }\n}\n","<div\n class=\"media-list-item relative hasImage focus:outline-none focus:shadow-outline bg-[--rt-raised-background] cursor-pointer text-transparent hover:text-white shadow-sm\"\n>\n <div class=\"absolute z-30 right-0\">\n <div class=\"flex-1\"></div>\n <div>\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(media())\">\n <span>删除</span>\n </button>\n </mat-menu>\n </div>\n </div>\n <div id=\"thumbnail\" class=\"thumbnail\">\n <img class=\"tile-media\" (click)=\"onMediaItemClick(media)\" [src]=\"media().url\" [alt]=\"media().alt\" />\n </div>\n <section\n (click)=\"onMediaItemClick(media())\"\n class=\"flex flex-col text-xs break-words w-full h-full z-20 absolute top-0\"\n ></section>\n</div>\n","import { Router, RouterEvent, NavigationEnd, Event } from '@angular/router';\nimport { Component, OnInit } from '@angular/core';\nimport { filter } from 'rxjs';\n\n@Component({\n selector: 'rolatech-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss'],\n standalone: true,\n})\nexport class NotFoundComponent implements OnInit {\n url!: string;\n constructor(private router: Router) {\n router.events.pipe(filter((e: Event) => e instanceof RouterEvent)).subscribe((e) => {\n if (e instanceof NavigationEnd) {\n this.url = e.url;\n }\n });\n }\n\n ngOnInit() {\n this.router.events.pipe(filter((e: Event) => e instanceof RouterEvent)).subscribe((e) => {\n if (e instanceof NavigationEnd) {\n this.url = e.url;\n }\n });\n }\n}\n","<div class=\"not-found-content\">\n <p>\n <b>404.</b>\n <ins>That’s an error.</ins>\n </p>\n <p>\n The requested URL <code>{{ url }}</code> not found on this server.\n </p>\n <a href=\"/\">return home</a>\n</div>\n","import { Component, inject, Inject, OnInit } from '@angular/core';\nimport {\n MatDialogRef,\n MAT_DIALOG_DATA,\n MatDialogTitle,\n MatDialogContent,\n MatDialogActions,\n MatDialogClose,\n} from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\n\nexport interface DialogData {\n title: string;\n message: string;\n}\n\n@Component({\n selector: 'rolatech-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss'],\n standalone: true,\n imports: [MatDialogTitle, MatDialogContent, MatDialogActions, MatButtonModule, MatDialogClose],\n})\nexport class ConfirmationDialogComponent {\n data: DialogData = inject(MAT_DIALOG_DATA);\n dialogRef!: MatDialogRef<ConfirmationDialogComponent>;\n onNoClick(): void {\n this.dialogRef.close();\n }\n}\n","@if (data.title) {\n <h2 mat-dialog-title>{{ data.title }}</h2>\n}\n<div mat-dialog-content>\n {{ data.message }}\n</div>\n<div mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close>取消</button>\n <button mat-button [mat-dialog-close]=\"true\" cdkFocusInitial>确定</button>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-filter',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './filter.component.html',\n styleUrl: './filter.component.scss',\n})\nexport class FilterComponent {}\n","<ng-content></ng-content>\n","import { MatDialog } from '@angular/material/dialog';\nimport { inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DialogService, SnackBarService } from '@rolatech/angular-services';\nimport { Title } from '@angular/platform-browser';\n\nexport class BaseComponent {\n route = inject(ActivatedRoute);\n router = inject(Router);\n id = this.route.snapshot.params['id'];\n dialogService = inject(DialogService);\n dialog = inject(MatDialog);\n snackBarService = inject(SnackBarService);\n titleService = inject(Title);\n}\n","import { Component, OnInit, computed, effect, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table';\nimport { RouterModule } from '@angular/router';\nimport { CdkTableDataSourceInput } from '@angular/cdk/table';\nimport { map } from 'lodash';\nexport interface Column {\n ref: string;\n name: string;\n}\nexport interface TableData<T> {\n columns: Column[];\n data: CdkTableDataSourceInput<T>;\n}\n\n@Component({\n selector: 'rolatech-table',\n standalone: true,\n imports: [CommonModule, MatTableModule, RouterModule],\n templateUrl: './table.component.html',\n styleUrl: './table.component.scss',\n})\nexport class TableComponent implements OnInit {\n dataSource = input.required<TableData<any>>();\n displayedColumns: string[] = [];\n ngOnInit(): void {\n this.displayedColumns = map(this.dataSource().columns, 'ref');\n }\n}\n","<table mat-table [dataSource]=\"dataSource().data\">\n @for (column of dataSource().columns; track $index) {\n <ng-container [matColumnDef]=\"column.ref\" sticky>\n <th mat-header-cell *matHeaderCellDef>{{ column.name }}</th>\n <td mat-cell *matCellDef=\"let item\">{{ item[column.ref] }}</td>\n </ng-container>\n }\n <!-- <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">详情</th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <a [routerLink]=\"['../', item.id]\"> 详情 </a>\n </td>\n </ng-container> -->\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n</table>\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-paginator',\n standalone: true,\n imports: [CommonModule, MatButtonModule, MatIconModule],\n templateUrl: './paginator.component.html',\n styleUrl: './paginator.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class PaginatorComponent {\n prevClick() {}\n nextClick() {}\n}\n","<div class=\"flex h-14 items-center\">\n <button mat-icon-button></button>\n <button mat-icon-button (click)=\"prevClick()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <div></div>\n <button mat-icon-button (click)=\"nextClick()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-media-preview',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './media-preview.component.html',\n styleUrl: './media-preview.component.scss',\n})\nexport class MediaPreviewComponent {}\n","<p>media-preview works!</p>\n","import { Component, HostBinding, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { BackButtonDirective } from '@rolatech/angular-services';\nimport { RouterLink } from '@angular/router';\nimport { MatDivider } from '@angular/material/divider';\n\n@Component({\n selector: 'rolatech-toolbar',\n standalone: true,\n imports: [CommonModule, RouterLink, IconButtonComponent, BackButtonDirective, MatDivider],\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ToolbarComponent {\n @HostBinding('id') hasId = 'rolatech-toolbar';\n @HostBinding('class.rolatech-toolbar') hasClass = true;\n title = input();\n subtitle = input();\n back = input(false, { transform: booleanAttribute });\n link = input('');\n large = input(false, { transform: booleanAttribute });\n divider = input(false, { transform: booleanAttribute });\n}\n","<div class=\"flex justify-between items-center\" [ngClass]=\"subtitle() ? 'h-16' : 'h-14'\">\n <ng-container>\n @if (back()) {\n <rolatech-icon-button rolatechBackButton class=\"left-button\">arrow_back</rolatech-icon-button>\n }\n @if (link()) {\n <rolatech-icon-button [routerLink]=\"link()\" class=\"left-button\">arrow_back</rolatech-icon-button>\n }\n </ng-container>\n @if (title()) {\n @if (large()) {\n <span class=\"text-2xl font-medium\">{{ title() }}</span>\n } @else {\n <span class=\"text-xl font-medium\">{{ title() }}</span>\n }\n }\n <div class=\"flex-1\"></div>\n <div class=\"flex justify-center items-center\">\n <ng-content></ng-content>\n </div>\n</div>\n@if (subtitle()) {\n <div class=\"-mt-4 mb-2 leading-none\" [ngClass]=\"back() || link() ? 'ml-[40px]' : ''\">\n <span class=\"text-sm text-[--rt-text-secondary]\">{{ subtitle() }}</span>\n </div>\n}\n@if (divider()) {\n <mat-divider></mat-divider>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Renderer2,\n ViewEncapsulation,\n effect,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ImageComponent } from '../image/image.component';\n\n@Component({\n selector: 'rolatech-thumbnail',\n standalone: true,\n imports: [CommonModule, ImageComponent],\n templateUrl: './thumbnail.component.html',\n styleUrl: './thumbnail.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ThumbnailComponent {\n @HostBinding('class.rt-rich-grid-media') hasClass = true;\n @HostBinding('style.--rt-thumbnail-padding-top') myColor = '56.25%';\n el = inject(ElementRef<HTMLElement>);\n src = input<string>();\n size = input<string>();\n mode = input('clip'); // full, clip\n ratio = input('rectangle'); // rectangle, square\n img = viewChild.required<ElementRef>('img');\n width = input<number | undefined>();\n height = input<number | undefined>();\n renderer = inject(Renderer2);\n sizea = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'size', this.size()!);\n });\n full = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'mode', this.mode());\n if (this.mode() === 'full') {\n if (this.width() && this.height()) {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', this.width()! / this.height()!);\n } else {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', 16 / 9);\n }\n }\n });\n ratioSet = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'ratio', this.ratio());\n });\n}\n","<div #edge class=\"absolute top-0 left-0\"></div>\n@defer (on viewport(edge)) {\n <a id=\"thumbnail\" class=\"rt-thumbnail\">\n <rolatech-image [src]=\"src()\"> </rolatech-image>\n </a>\n} @placeholder {\n <div class=\"bg-[--rt-raised-background] w-full h-full rounded-lg\"></div>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n ViewEncapsulation,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-image',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './image.component.html',\n styleUrl: './image.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImageComponent implements OnInit {\n @HostBinding('id') hasId = 'rolatech-image';\n @HostBinding('class.rt-image') hasClass = true;\n src = input<string>();\n img = viewChild.required<ElementRef>('img');\n ngOnInit(): void {\n const image = this.img().nativeElement;\n image.onload = () => {\n image.style.visibility = 'visible';\n };\n }\n}\n","<img #img class=\"rolatech-image bg-[--rt-base-background]\" [src]=\"src()\" style=\"visibility: hidden\" loading=\"lazy\" />\n","import { Component, ElementRef, HostBinding, ViewEncapsulation, input, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLink } from '@angular/router';\n\n@Component({\n selector: 'rolatech-tab',\n standalone: true,\n imports: [CommonModule, RouterLink],\n templateUrl: './tab.component.html',\n styleUrl: './tab.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class TabComponent {\n @HostBinding('id') hasId = 'tab';\n @HostBinding('class.tab') hasClass = true;\n label = input.required();\n item = viewChild<ElementRef>('content');\n}\n","<div class=\"content\" #content>\n {{ label() }}\n</div>\n","import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n contentChildren,\n inject,\n input,\n model,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TabComponent } from '../tab/tab.component';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { Platform } from '@angular/cdk/platform';\n\n@Component({\n selector: 'rolatech-tabs',\n standalone: true,\n imports: [CommonModule, IconButtonComponent],\n templateUrl: './tabs.component.html',\n styleUrl: './tabs.component.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n ngSkipHydration: '',\n class: 'rolatech-tabs',\n },\n})\nexport class TabsComponent implements OnInit, AfterViewInit, AfterContentInit {\n ngAfterContentInit(): void {\n // this.init();\n }\n renderer = inject(Renderer2);\n tabs = contentChildren(TabComponent, { read: ElementRef });\n selectionBar = viewChild.required('selectionBar', { read: ElementRef });\n select = model(0);\n loading = input(false);\n preSelect = 0;\n clientWidths: number[] = [];\n protected _isServer: boolean = !inject(Platform).isBrowser;\n\n ngOnInit(): void {}\n ngAfterViewInit() {\n this.init();\n }\n init() {\n const gap = 24; // 24 = 2 * margin-left\n this.tabs()[this.select()].nativeElement.setAttribute('style-target', 'host');\n const selectionBarElement = this.selectionBar().nativeElement;\n selectionBarElement.setAttribute('style-target', 'selection-bar');\n // selectionBarElement.setAttribute('transition-target', 'selection-bar-transition');\n setTimeout(() => {\n selectionBarElement.setAttribute('transition-target', 'selection-bar-transition');\n }, 10);\n this.tabs().forEach((element, index) => {\n this.clientWidths.push(element.nativeElement.clientWidth);\n this.renderer.listen(element.nativeElement, 'click', () => {\n this.select.set(index);\n this.tabs()[this.preSelect].nativeElement.removeAttribute('style-target');\n this.tabs()[index].nativeElement.setAttribute('style-target', 'host');\n selectionBarElement.style.left = this.getOffset(index) + 'px';\n selectionBarElement.style.width = element.nativeElement.clientWidth - gap + 'px';\n this.preSelect = index;\n });\n });\n selectionBarElement.style.left = this.getOffset(this.select()) + 'px';\n selectionBarElement.style.width = this.clientWidths[this.select()] - gap + 'px';\n this.preSelect = this.select();\n }\n getOffset(index: number): number {\n let offset = 0;\n for (let i = 0; i < index; i++) {\n offset += this.clientWidths[i];\n }\n return offset;\n }\n}\n","<!-- <rolatech-icon-button>chevron_left</rolatech-icon-button> -->\n<div id=\"tabsContainer\" class=\"h-full\">\n <div id=\"tabsContent\" class=\"flex flex-row h-full\" style-target=\"selection-bar\">\n <div #selectionBar id=\"selectionBar\" class=\"selection-bar\"></div>\n @for (tab of tabs(); track $index) {\n <ng-content></ng-content>\n }\n </div>\n</div>\n<!-- <rolatech-icon-button>chevron_right</rolatech-icon-button> -->\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-list',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './list.component.html',\n styleUrl: './list.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ListComponent {\n @HostBinding('id') id = 'rolatech-list';\n @HostBinding('class.rolatech-list') hasClass = true;\n}\n","<div class=\"flex flex-col\">\n <ng-content></ng-content>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-content',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './content.component.html',\n styleUrl: './content.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ContentComponent {}\n","<ng-content></ng-content>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n booleanAttribute,\n effect,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon, MatIconModule, MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nconst CHEVRON_LEFT = `\n<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M14.96 18.96 8 12l6.96-6.96.71.71L9.41 12l6.25 6.25-.7.71z\"></path>\n </svg>\n`;\nconst CHEVRON_RIGHT = `\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"m9.4 18.4-.7-.7 5.6-5.6-5.7-5.7.7-.7 6.4 6.4-6.3 6.3z\"></path>\n </svg>\n`;\n@Component({\n selector: 'rolatech-chip-bar',\n standalone: true,\n imports: [CommonModule, RouterModule, IconButtonComponent, MatButtonModule, MatIconModule],\n templateUrl: './chip-bar.component.html',\n styleUrl: './chip-bar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ChipBarComponent implements AfterViewInit {\n @HostBinding('id') hasId = 'rolatech-chip-bar';\n @HostBinding('class.rolatech-chip-bar') hasClass = true;\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n private resizeObserver!: ResizeObserver;\n private chips = viewChild('chips', { read: ElementRef });\n private scroller = viewChild.required('scroller', { read: ElementRef });\n router = input('../courses/categories/');\n items = input<any[]>([]);\n fluid = input(false, { transform: booleanAttribute });\n fixed = input(false, { transform: booleanAttribute });\n platformId = inject(PLATFORM_ID);\n clientWidth = 0;\n scrollWidth = 0;\n scrollLeft = 0;\n constructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer) {\n iconRegistry.addSvgIconLiteral('chevron_left', sanitizer.bypassSecurityTrustHtml(CHEVRON_LEFT));\n iconRegistry.addSvgIconLiteral('chevron_right', sanitizer.bypassSecurityTrustHtml(CHEVRON_RIGHT));\n effect(() => {\n if (this.fixed()) {\n this.el.nativeElement.setAttribute('fixed', '');\n } else {\n this.el.nativeElement.removeAttribute('fixed');\n }\n });\n }\n ngAfterViewInit(): void {\n this.clientWidth = this.el.nativeElement.clientWidth;\n this.scrollWidth = this.scroller()?.nativeElement.scrollWidth;\n this.el.nativeElement.setAttribute('at-start', '');\n this.el.nativeElement.setAttribute('fluid-width', '');\n if (isPlatformBrowser(this.platformId)) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (let entry of entries) {\n this.setCustomProperties(entry.contentRect.width);\n this.init();\n }\n });\n this.resizeObserver.observe(this.el.nativeElement);\n }\n }\n setCustomProperties(width: number) {\n this.clientWidth = width;\n this.el.nativeElement.style.setProperty('--rt-rich-grid-chips-bar-width', width + 'px');\n }\n init() {\n // fix: this.scrollWidth 1365.11 ~ 1366, this.scrollWidth - 1\n if (this.clientWidth + this.scrollLeft > this.scrollWidth - 1) {\n this.el.nativeElement.setAttribute('at-end', '');\n } else {\n this.el.nativeElement.removeAttribute('at-end', '');\n }\n }\n onScroll(event: any) {\n this.scrollLeft = event.target.scrollLeft;\n this.init();\n if (this.scrollLeft > 0) {\n this.el.nativeElement.removeAttribute('at-start', '');\n } else {\n this.el.nativeElement.setAttribute('at-start', '');\n }\n }\n\n leftArrowClick() {\n this.scroller().nativeElement.scrollLeft -= 320;\n }\n rightArrowClick() {\n this.scroller().nativeElement.scrollLeft += 320;\n }\n}\n","<div id=\"chips-wrapper\" class=\"rolatech-chip-bar\">\n <div id=\"chips-content\" class=\"rolatech-chip-bar\">\n <div id=\"left-arrow\" class=\"rolatech-chip-bar\">\n <div id=\"left-arrow-button\" class=\"rolatech-chip-bar\">\n <button mat-icon-button (click)=\"leftArrowClick()\">\n <mat-icon>chevron_left</mat-icon>\n <!-- <mat-icon svgIcon=\"chevron_left\"></mat-icon> -->\n\n <!-- <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M14.96 18.96 8 12l6.96-6.96.71.71L9.41 12l6.25 6.25-.7.71z\"></path>\n </svg> -->\n </button>\n </div>\n </div>\n <div\n id=\"scroll-container\"\n #scroller\n class=\"rolatech-chip-bar overflow-x-scroll overflow-y-hidden scrollbar-hide\"\n (scroll)=\"onScroll($event)\"\n >\n <div id=\"chips\" #chips class=\"rolatech-chip-bar inline-block\">\n @for (link of items(); track link; let index = $index) {\n <a\n id=\"chip-item\"\n class=\"rolatech-chip-bar h-8 cursor-pointer bg-[--rt-10-percent-layer] rounded-md inline-flex items-center px-3 m-3 ml-0\"\n routerLinkActive=\"chip-bar-active\"\n [routerLink]=\"[router(), link.link]\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n <span class=\"px-3 text-md\">{{ link.name }}</span>\n </a>\n }\n </div>\n </div>\n <div id=\"right-arrow\" class=\"rolatech-chip-bar\">\n <div id=\"right-arrow-button\" class=\"rolatech-chip-bar\">\n <button mat-icon-button (click)=\"rightArrowClick()\">\n <mat-icon>chevron_right</mat-icon>\n <!-- <mat-icon svgIcon=\"chevron_right\"></mat-icon> -->\n\n <!-- <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"m9.4 18.4-.7-.7 5.6-5.6-5.7-5.7.7-.7 6.4 6.4-6.3 6.3z\"></path>\n </svg> -->\n </button>\n </div>\n </div>\n </div>\n</div>\n","import { Component, ElementRef, HostBinding, Renderer2, ViewEncapsulation, effect, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ImageComponent } from '../image/image.component';\n\n@Component({\n selector: 'rolatech-avatar',\n standalone: true,\n imports: [CommonModule, ImageComponent],\n templateUrl: './avatar.component.html',\n styleUrl: './avatar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AvatarComponent {\n @HostBinding('class.rt-rich-grid-media') hasClass = true;\n src = input<string>();\n size = input.required<string>();\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n sizea = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'size', this.size());\n });\n}\n","@defer (on viewport()) {\n <a id=\"avatar\" class=\"rt-avatar\">\n <rolatech-image [src]=\"src()\"> </rolatech-image>\n </a>\n} @placeholder {\n <div class=\"bg-[--rt-10-percent-layer] w-full h-full rounded-lg\"></div>\n}\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-image-placeholder',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './image-placeholder.component.html',\n styleUrl: './image-placeholder.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ImagePlaceholderComponent implements OnInit {\n ngOnInit(): void {}\n}\n","<div class=\"w-full h-full flex justify-center items-center\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#5f6368\">\n <path\n d=\"M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm40-80h480L570-480 450-320l-90-120-120 160Zm-40 80v-560 560Z\"\n />\n </svg>\n</div>\n","import { Component, Inject, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-image-preview-dialog',\n templateUrl: './image-preview-dialog.component.html',\n styleUrls: ['./image-preview-dialog.component.scss'],\n standalone: true,\n imports: [MatIconModule, MatDividerModule, MatButtonModule],\n encapsulation: ViewEncapsulation.None,\n})\nexport class ImagePreviewDialogComponent implements OnInit {\n selected: any;\n index = 0;\n prevDisabled = false;\n nextDisabled = false;\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private dialogRef: MatDialogRef<ImagePreviewDialogComponent>,\n ) {\n this.data.title = '图片预览';\n }\n\n ngOnInit(): void {\n this.selected = this.data.selected;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n close(): void {\n this.dialogRef.close();\n }\n prev() {\n this.selected--;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n next() {\n this.selected++;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n}\n","<div class=\"flex flex-col h-full overflow-hidden\">\n <div class=\"h-16 flex justify-between items-center px-5\">\n @if (data.title) {\n <div class=\"text-md font-medium\">{{ data.title }}</div>\n }\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"flex overflow-hidden overflow-y-auto\">\n <div class=\"p-3 flex justify-center items-center\">\n <img class=\"object-cover\" [src]=\"data.media[selected].url\" />\n </div>\n </div>\n <div class=\"flex-1\"></div>\n <mat-divider></mat-divider>\n <div class=\"h-16 flex justify-between items-center px-5\">\n <button mat-flat-button [disabled]=\"prevDisabled\" (click)=\"prev()\">Prev</button>\n <div>{{ selected + 1 }} / {{ data.media.length }}</div>\n <button mat-flat-button [disabled]=\"nextDisabled\" (click)=\"next()\">Next</button>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-empty',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './empty.component.html',\n styleUrl: './empty.component.scss',\n})\nexport class EmptyComponent {}\n","<div class=\"px-4 py-2 flex items-center\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#5f6368\">\n <path\n d=\"M460-300h40v-220h-40v220Zm20-276.92q10.46 0 17.54-7.08 7.08-7.08 7.08-17.54 0-10.46-7.08-17.54-7.08-7.07-17.54-7.07-10.46 0-17.54 7.07-7.08 7.08-7.08 17.54 0 10.46 7.08 17.54 7.08 7.08 17.54 7.08Zm.13 456.92q-74.67 0-140.41-28.34-65.73-28.34-114.36-76.92-48.63-48.58-76.99-114.26Q120-405.19 120-479.87q0-74.67 28.34-140.41 28.34-65.73 76.92-114.36 48.58-48.63 114.26-76.99Q405.19-840 479.87-840q74.67 0 140.41 28.34 65.73 28.34 114.36 76.92 48.63 48.58 76.99 114.26Q840-554.81 840-480.13q0 74.67-28.34 140.41-28.34 65.73-76.92 114.36-48.58 48.63-114.26 76.99Q554.81-120 480.13-120Zm-.13-40q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z\"\n />\n </svg>\n <span class=\"ml-2\">No Data</span>\n</div>\n","import { Component, ViewEncapsulation, input, model } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'rolatech-input',\n standalone: true,\n imports: [CommonModule, FormsModule],\n templateUrl: './input.component.html',\n styleUrl: './input.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class InputComponent {\n title = model();\n placeholder = input('Title');\n}\n","<div class=\"rt-input-wrapper\">\n <input class=\"rt__input\" [placeholder]=\"placeholder()\" [(ngModel)]=\"title\" />\n</div>\n","import { Component, HostBinding, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThumbnailComponent } from '../thumbnail/thumbnail.component';\n\n@Component({\n selector: 'rolatech-rich-item',\n standalone: true,\n imports: [CommonModule, ThumbnailComponent],\n templateUrl: './rich-item.component.html',\n styleUrl: './rich-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class RichItemComponent {\n @HostBinding('class.rolatech-rich-item') hasClass = true;\n list = input(false, { transform: booleanAttribute });\n thumbnail = input<string>();\n avatar = input<string>();\n title = input<string>();\n subtitle = input<string>();\n price = input<any>(0);\n thumbnailRatio = input<string>('rectangle');\n}\n","<div id=\"thumbnail\" class=\"rolatech-rich-item\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"thumbnail()\" size=\"medium\" [ratio]=\"thumbnailRatio()\"></rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-10-percent-layer] h-full w-full object-cover aspect-video rounded-lg\"></div>\n }\n</div>\n<div id=\"details\" class=\"rolatech-rich-item\">\n <div>\n <div class=\"py-1\">\n <a class=\"md:text-xl font-bold break-words line-clamp-1 md:line-clamp-2 whitespace-normal\">\n {{ title() }}\n </a>\n </div>\n <div class=\"invisible h-0 md:h-auto md:visible break-words line-clamp-1 whitespace-normal\">\n {{ subtitle() }}\n </div>\n <ng-content></ng-content>\n </div>\n @if (price()) {\n <div class=\"md:text-lg font-bold py-1\">¥{{ price() }}</div>\n }\n</div>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n PLATFORM_ID,\n ViewEncapsulation,\n booleanAttribute,\n contentChildren,\n effect,\n inject,\n input,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { ThumbnailComponent } from '../thumbnail/thumbnail.component';\nimport { RichItemComponent } from '../rich-item/rich-item.component';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'rolatech-rich-view',\n standalone: true,\n imports: [CommonModule, ThumbnailComponent, MatButtonModule],\n templateUrl: './rich-view.component.html',\n styleUrl: './rich-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class RichViewComponent implements OnInit, AfterViewInit {\n @HostBinding('class.rolatech-rich-view') hasClass = true;\n @HostBinding('class.scrollbar-hide') disableScrollbar = true;\n platformId = inject(PLATFORM_ID);\n el = inject(ElementRef);\n items = contentChildren(RichItemComponent, { read: ElementRef });\n list = input(false, { transform: booleanAttribute });\n wrap = input(false, { transform: booleanAttribute });\n private resizeObserver!: ResizeObserver;\n\n constructor() {\n effect(() => {\n if (this.list()) {\n this.el.nativeElement.setAttribute('list', '');\n } else {\n this.el.nativeElement.removeAttribute('list', '');\n }\n if (this.wrap()) {\n this.el.nativeElement.setAttribute('wrap', '');\n } else {\n this.el.nativeElement.removeAttribute('wrap', '');\n }\n });\n }\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (let entry of entries) {\n // this.setCustomProperties(entry.contentRect.width);\n }\n });\n this.resizeObserver.observe(this.el.nativeElement);\n }\n }\n\n ngAfterViewInit(): void {}\n setCustomProperties(width: number) {\n if (width <= 600) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 1);\n }\n if (600 < width && width <= 768) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 2);\n }\n if (768 < width && width <= 1280) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 3);\n }\n if (1280 < width && width <= 1536) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 4);\n }\n if (width > 1536) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 5);\n }\n }\n}\n","<ng-content></ng-content>\n\n<!-- <div class=\"rich-view-content\">\n <ng-content></ng-content>\n</div> -->\n<!-- <div class=\"rich-view-button\">\n <button mat-stroked-button>加载更多</button>\n</div> -->\n","import { AfterViewInit, Component, OnInit, PLATFORM_ID, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport Quill from 'quill';\n\n@Component({\n selector: 'rolatech-editor',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './editor.component.html',\n styleUrl: './editor.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EditorComponent implements OnInit, AfterViewInit {\n platformId = inject(PLATFORM_ID);\n isBrowser: boolean;\n editor: any;\n\n constructor() {\n this.isBrowser = isPlatformBrowser(this.platformId);\n\n // const options = {\n // debug: 'info',\n // modules: {\n // toolbar: true,\n // },\n // placeholder: 'Compose an epic...',\n // theme: 'snow',\n // };\n // const quill = new Quill('#editor', options);\n }\n ngAfterViewInit(): void {\n this.quill();\n }\n ngOnInit(): void {\n // this.quill();\n }\n get toolbar() {\n return [\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\n ['blockquote', 'code-block'],\n\n // [{ header: 1 }, { header: 2 }], // custom button values\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }], // superscript/subscript\n [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\n [{ direction: 'rtl' }], // text direction\n\n // [{ size: ['small', false, 'large', 'huge'] }], // custom dropdown\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n\n // [{ color: [] }, { background: [] }], // dropdown with defaults from theme\n [{ font: [] }],\n [{ align: [] }],\n\n ['clean'], // remove formatting button\n ];\n }\n async quill() {\n if (this.isBrowser) {\n const m = await import('quill');\n this.editor = new m.default('#editor', {\n // modules: { toolbar: '#toolbar' },\n modules: { toolbar: this.toolbar },\n theme: 'snow',\n placeholder: 'placeholder',\n });\n }\n }\n}\n","<div id=\"editor\"></div>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-accordion',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './accordion.component.html',\n styleUrl: './accordion.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AccordionComponent {\n @HostBinding('class.rolatech-accordion') hasClass = true;\n}\n","<ng-content></ng-content>\n","import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport const PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\nexport const panelAnimations: {\n readonly indicator: AnimationTriggerMetadata;\n readonly content: AnimationTriggerMetadata;\n} = {\n /** Animation that rotates the indicator arrow. */\n indicator: trigger('indicator', [\n state('collapsed, void', style({ transform: 'rotate(0deg)' })),\n state('expanded', style({ transform: 'rotate(180deg)' })),\n transition('expanded <=> collapsed, void => collapsed', animate(PANEL_ANIMATION_TIMING)),\n ]),\n /** Animation that expands and collapses the panel content. */\n content: trigger('content', [\n state('collapsed, void', style({ height: '0px', visibility: 'hidden' })),\n state('expanded', style({ height: '*', visibility: 'visible' })),\n transition('expanded <=> collapsed, void => collapsed', animate(PANEL_ANIMATION_TIMING)),\n ]),\n};\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-panel-header',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './panel-header.component.html',\n styleUrl: './panel-header.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class PanelHeaderComponent {}\n","<ng-content></ng-content>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n effect,\n inject,\n input,\n model,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from '../icon/icon.component';\nimport { panelAnimations } from './panel-animations';\nimport { PanelHeaderComponent } from './panel-header.component';\n\n@Component({\n selector: 'rolatech-panel',\n standalone: true,\n imports: [CommonModule, IconComponent, PanelHeaderComponent],\n templateUrl: './panel.component.html',\n styleUrl: './panel.component.scss',\n encapsulation: ViewEncapsulation.None,\n animations: [panelAnimations.indicator, panelAnimations.content],\n})\nexport class PanelComponent implements OnInit, AfterViewInit {\n @HostBinding('class.rolatech-panel') hasClass = true;\n border = input(false, { transform: booleanAttribute });\n divider = input(false, { transform: booleanAttribute });\n expanded = model(false);\n title = input<any>();\n subtitle = input<string>();\n private el = inject(ElementRef);\n constructor() {\n effect(() => {\n if (this.expanded()) {\n this.el.nativeElement.setAttribute('expanded', '');\n } else {\n this.el.nativeElement.removeAttribute('expanded');\n }\n if (this.border()) {\n this.el.nativeElement.setAttribute('border', '');\n } else {\n this.el.nativeElement.removeAttribute('border');\n }\n if (this.divider()) {\n this.el.nativeElement.setAttribute('divider', '');\n } else {\n this.el.nativeElement.removeAttribute('divider');\n }\n });\n }\n ngOnInit(): void {}\n ngAfterViewInit(): void {}\n toggle() {\n this.expanded.set(!this.expanded());\n }\n}\n","<div id=\"header\" class=\"header rolatech-panel w-full h-11\" (click)=\"toggle(); $event.stopPropagation()\">\n <ng-content select=\"rolatech-panel-header\"></ng-content>\n <div>{{ title() }}</div>\n <rolatech-icon [@indicator]=\"expanded() === true ? 'expanded' : 'collapsed'\">expand_more</rolatech-icon>\n</div>\n<div class=\"content-container rolatech-panel\" [@content]=\"expanded() === true ? 'expanded' : 'collapsed'\">\n <div class=\"content-inner rolatech-panel\">\n <ng-content>No content</ng-content>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["PANEL_ANIMATION_TIMING","panelAnimations","i2","i1","i3","i5","i4","map"],"mappings":"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"}
|