@rolatech/angular-components 19.0.0-beta.6 → 19.0.0-beta.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-components.mjs","sources":["../../../../packages/angular-components/src/lib/icon/icon.component.ts","../../../../packages/angular-components/src/lib/icon/icon.component.html","../../../../packages/angular-components/src/lib/icon-button/icon-button.component.ts","../../../../packages/angular-components/src/lib/icon-button/icon-button.component.html","../../../../packages/angular-components/src/lib/title/title.component.ts","../../../../packages/angular-components/src/lib/title/title.component.html","../../../../packages/angular-components/src/lib/container/container.component.ts","../../../../packages/angular-components/src/lib/container/container.component.html","../../../../packages/angular-components/src/provider.ts","../../../../packages/angular-components/src/lib/menu-icon/menu-icon.component.ts","../../../../packages/angular-components/src/lib/menu-icon/menu-icon.component.html","../../../../packages/angular-components/src/lib/topbar/topbar.component.ts","../../../../packages/angular-components/src/lib/topbar/topbar.component.html","../../../../packages/angular-components/src/lib/drawer/drawer-animations.ts","../../../../packages/angular-components/src/lib/drawer/drawer.component.ts","../../../../packages/angular-components/src/lib/drawer/drawer.component.html","../../../../packages/angular-components/src/lib/mini-guide/mini-guide.component.ts","../../../../packages/angular-components/src/lib/mini-guide/mini-guide.component.html","../../../../packages/angular-components/src/lib/page/page.component.ts","../../../../packages/angular-components/src/lib/page/page.component.html","../../../../packages/angular-components/src/lib/layout/layout.component.ts","../../../../packages/angular-components/src/lib/layout/layout.component.html","../../../../packages/angular-components/src/lib/footer/footer.component.ts","../../../../packages/angular-components/src/lib/footer/footer.component.html","../../../../packages/angular-components/src/lib/console-layout/console-layout.component.ts","../../../../packages/angular-components/src/lib/console-layout/console-layout.component.html","../../../../packages/angular-components/src/lib/topbar-avatar-menu/topbar-avatar-menu.component.ts","../../../../packages/angular-components/src/lib/topbar-avatar-menu/topbar-avatar-menu.component.html","../../../../packages/angular-components/src/lib/folder/folder.component.ts","../../../../packages/angular-components/src/lib/folder/folder.component.html","../../../../packages/angular-components/src/lib/media-preview-dialog/media-preview-dialog.component.ts","../../../../packages/angular-components/src/lib/media-preview-dialog/media-preview-dialog.component.html","../../../../packages/angular-components/src/lib/material.module.ts","../../../../packages/angular-components/src/lib/angular-components.module.ts","../../../../packages/angular-components/src/lib/spinner/spinner.component.ts","../../../../packages/angular-components/src/lib/spinner/spinner.component.html","../../../../packages/angular-components/src/lib/media-upload/media-upload.component.ts","../../../../packages/angular-components/src/lib/media-upload/media-upload.component.html","../../../../packages/angular-components/src/lib/storage-bucket-create/storage-bucket-create.component.ts","../../../../packages/angular-components/src/lib/storage-bucket-create/storage-bucket-create.component.html","../../../../packages/angular-components/src/lib/storage-file-upload/storage-file-upload.component.ts","../../../../packages/angular-components/src/lib/storage-file-upload/storage-file-upload.component.html","../../../../packages/angular-components/src/lib/storage-folder-create/storage-folder-create.component.ts","../../../../packages/angular-components/src/lib/storage-folder-create/storage-folder-create.component.html","../../../../packages/angular-components/src/lib/menu-user/menu-user.component.ts","../../../../packages/angular-components/src/lib/menu-user/menu-user.component.html","../../../../packages/angular-components/src/lib/wechat-connect-dialog/wechat-connect-dialog.component.ts","../../../../packages/angular-components/src/lib/wechat-connect-dialog/wechat-connect-dialog.component.html","../../../../packages/angular-components/src/lib/media-upload-dialog/media-upload-dialog.component.ts","../../../../packages/angular-components/src/lib/media-upload-dialog/media-upload-dialog.component.html","../../../../packages/angular-components/src/lib/media-list/media-list.component.ts","../../../../packages/angular-components/src/lib/media-list/media-list.component.html","../../../../packages/angular-components/src/lib/media-list-item/media-list-item.component.ts","../../../../packages/angular-components/src/lib/media-list-item/media-list-item.component.html","../../../../packages/angular-components/src/lib/not-found/not-found.component.ts","../../../../packages/angular-components/src/lib/not-found/not-found.component.html","../../../../packages/angular-components/src/lib/confirmation-dialog/confirmation-dialog.component.ts","../../../../packages/angular-components/src/lib/confirmation-dialog/confirmation-dialog.component.html","../../../../packages/angular-components/src/lib/filter/filter.component.ts","../../../../packages/angular-components/src/lib/filter/filter.component.html","../../../../packages/angular-components/src/lib/base.component.ts","../../../../packages/angular-components/src/lib/table/table.component.ts","../../../../packages/angular-components/src/lib/table/table.component.html","../../../../packages/angular-components/src/lib/paginator/paginator.component.ts","../../../../packages/angular-components/src/lib/paginator/paginator.component.html","../../../../packages/angular-components/src/lib/media-preview/media-preview.component.ts","../../../../packages/angular-components/src/lib/media-preview/media-preview.component.html","../../../../packages/angular-components/src/lib/toolbar/toolbar.component.ts","../../../../packages/angular-components/src/lib/toolbar/toolbar.component.html","../../../../packages/angular-components/src/lib/thumbnail/thumbnail.component.ts","../../../../packages/angular-components/src/lib/thumbnail/thumbnail.component.html","../../../../packages/angular-components/src/lib/image/image.component.ts","../../../../packages/angular-components/src/lib/image/image.component.html","../../../../packages/angular-components/src/lib/tab/tab.component.ts","../../../../packages/angular-components/src/lib/tab/tab.component.html","../../../../packages/angular-components/src/lib/tabs/tabs.component.ts","../../../../packages/angular-components/src/lib/tabs/tabs.component.html","../../../../packages/angular-components/src/lib/list/list.component.ts","../../../../packages/angular-components/src/lib/list/list.component.html","../../../../packages/angular-components/src/lib/content/content.component.ts","../../../../packages/angular-components/src/lib/content/content.component.html","../../../../packages/angular-components/src/lib/chip-bar/chip-bar.component.ts","../../../../packages/angular-components/src/lib/chip-bar/chip-bar.component.html","../../../../packages/angular-components/src/lib/avatar/avatar.component.ts","../../../../packages/angular-components/src/lib/avatar/avatar.component.html","../../../../packages/angular-components/src/lib/image-placeholder/image-placeholder.component.ts","../../../../packages/angular-components/src/lib/image-placeholder/image-placeholder.component.html","../../../../packages/angular-components/src/lib/image-preview-dialog/image-preview-dialog.component.ts","../../../../packages/angular-components/src/lib/image-preview-dialog/image-preview-dialog.component.html","../../../../packages/angular-components/src/lib/empty/empty.component.ts","../../../../packages/angular-components/src/lib/empty/empty.component.html","../../../../packages/angular-components/src/lib/input/input.component.ts","../../../../packages/angular-components/src/lib/input/input.component.html","../../../../packages/angular-components/src/lib/rich-item/rich-item.component.ts","../../../../packages/angular-components/src/lib/rich-item/rich-item.component.html","../../../../packages/angular-components/src/lib/rich-view/rich-view.component.ts","../../../../packages/angular-components/src/lib/rich-view/rich-view.component.html","../../../../packages/angular-components/src/lib/editor/editor.component.ts","../../../../packages/angular-components/src/lib/editor/editor.component.html","../../../../packages/angular-components/src/lib/accordion/accordion.component.ts","../../../../packages/angular-components/src/lib/accordion/accordion.component.html","../../../../packages/angular-components/src/lib/panel/panel-animations.ts","../../../../packages/angular-components/src/lib/panel/panel.component.ts","../../../../packages/angular-components/src/lib/panel/panel.component.html","../../../../packages/angular-components/src/lib/panel/panel-header.component.ts","../../../../packages/angular-components/src/lib/panel/panel-header.component.html","../../../../packages/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 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 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 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 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 text-(--rt-text-primary)\">\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 { 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 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 { BreakpointObserver } from '@angular/cdk/layout';\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 imports: [CommonModule, RouterLink, MatButtonModule, 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 PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { map } from 'rxjs';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { IconComponent } from '../icon/icon.component';\nimport { APP_LAYOUT } from '../../provider';\nimport { panelAnimations } from './drawer-animations';\nimport { MenuIconComponent } from '../menu-icon/menu-icon.component';\nimport { MatButtonModule } from '@angular/material/button';\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 imports: [CommonModule, RouterLink, RouterLinkActive, IconComponent, MenuIconComponent, MatButtonModule],\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 = 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 if (this._opened) {\n this.close();\n } else {\n this.open();\n }\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 { 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 imports: [CommonModule, 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 if (this.opened) {\n this.close();\n } else {\n this.open();\n }\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 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 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 { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\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 imports: [CommonModule, MatListModule, MatButtonModule, MatIconModule, MatSidenavModule],\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 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, computed, effect, 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 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 fTitle = computed(() => this.title() || this.config.name);\n fCopyright = computed(() => this.copyright() || this.config.name);\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 items-end\">\n <div class=\"cursor-pointer\">\n <a href=\"/\" target=\"_blank\" class=\"text-lg font-bold\">{{ fTitle() }}</a>\n </div>\n <span class=\"text-sm\">©{{ fCopyright() }}</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 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, PLATFORM_ID, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatMenuModule, MatMenuPanel, MatMenuTrigger } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-topbar-avatar-menu',\n imports: [CommonModule, MatSidenavModule, MatListModule, MatIconModule, MatMenuModule],\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 openMenu() {\n this.menu().focusFirstItem('mouse');\n }\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 (click)=\"openMenu()\"\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()\" alt />\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})\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 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\" alt />\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 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 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\" alt />\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 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 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 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, 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 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\" alt />\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, 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})\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 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&stylelite=1&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 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\" alt />\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 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 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})\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 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 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, NavigationService, SnackBarService, TitleService } from '@rolatech/angular-services';\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(TitleService);\n navigation = inject(NavigationService);\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 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 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 (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 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 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 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 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\" alt />\n","import { Component, ElementRef, HostBinding, ViewEncapsulation, input, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-tab',\n imports: [CommonModule],\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 { Platform } from '@angular/cdk/platform';\n\n@Component({\n selector: 'rolatech-tabs',\n imports: [CommonModule],\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 = !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 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 divide-y divide-(--rt-10-percent-layer)\">\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 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 { 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 imports: [CommonModule, RouterModule, 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 (const 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 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 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 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\" alt />\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 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 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 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 { RichItemComponent } from '../rich-item/rich-item.component';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'rolatech-rich-view',\n imports: [CommonModule, 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 (const 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 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 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 {\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';\n\n@Component({\n selector: 'rolatech-panel',\n imports: [CommonModule, IconComponent],\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","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-panel-header',\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["PANEL_ANIMATION_TIMING","panelAnimations","i1","i2","i3","i5","i4","map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rolatech-angular-components.mjs","sources":["../../../../packages/angular-components/src/lib/icon/icon.component.ts","../../../../packages/angular-components/src/lib/icon/icon.component.html","../../../../packages/angular-components/src/lib/icon-button/icon-button.component.ts","../../../../packages/angular-components/src/lib/icon-button/icon-button.component.html","../../../../packages/angular-components/src/lib/title/title.component.ts","../../../../packages/angular-components/src/lib/title/title.component.html","../../../../packages/angular-components/src/lib/container/container.component.ts","../../../../packages/angular-components/src/lib/container/container.component.html","../../../../packages/angular-components/src/provider.ts","../../../../packages/angular-components/src/lib/menu-icon/menu-icon.component.ts","../../../../packages/angular-components/src/lib/menu-icon/menu-icon.component.html","../../../../packages/angular-components/src/lib/topbar/topbar.component.ts","../../../../packages/angular-components/src/lib/topbar/topbar.component.html","../../../../packages/angular-components/src/lib/drawer/drawer-animations.ts","../../../../packages/angular-components/src/lib/drawer/drawer.component.ts","../../../../packages/angular-components/src/lib/drawer/drawer.component.html","../../../../packages/angular-components/src/lib/mini-guide/mini-guide.component.ts","../../../../packages/angular-components/src/lib/mini-guide/mini-guide.component.html","../../../../packages/angular-components/src/lib/page/page.component.ts","../../../../packages/angular-components/src/lib/page/page.component.html","../../../../packages/angular-components/src/lib/layout/layout.component.ts","../../../../packages/angular-components/src/lib/layout/layout.component.html","../../../../packages/angular-components/src/lib/footer/footer.component.ts","../../../../packages/angular-components/src/lib/footer/footer.component.html","../../../../packages/angular-components/src/lib/console-layout/console-layout.component.ts","../../../../packages/angular-components/src/lib/console-layout/console-layout.component.html","../../../../packages/angular-components/src/lib/topbar-avatar-menu/topbar-avatar-menu.component.ts","../../../../packages/angular-components/src/lib/topbar-avatar-menu/topbar-avatar-menu.component.html","../../../../packages/angular-components/src/lib/folder/folder.component.ts","../../../../packages/angular-components/src/lib/folder/folder.component.html","../../../../packages/angular-components/src/lib/media-preview-dialog/media-preview-dialog.component.ts","../../../../packages/angular-components/src/lib/media-preview-dialog/media-preview-dialog.component.html","../../../../packages/angular-components/src/lib/material.module.ts","../../../../packages/angular-components/src/lib/angular-components.module.ts","../../../../packages/angular-components/src/lib/spinner/spinner.component.ts","../../../../packages/angular-components/src/lib/spinner/spinner.component.html","../../../../packages/angular-components/src/lib/media-upload/media-upload.component.ts","../../../../packages/angular-components/src/lib/media-upload/media-upload.component.html","../../../../packages/angular-components/src/lib/storage-bucket-create/storage-bucket-create.component.ts","../../../../packages/angular-components/src/lib/storage-bucket-create/storage-bucket-create.component.html","../../../../packages/angular-components/src/lib/storage-file-upload/storage-file-upload.component.ts","../../../../packages/angular-components/src/lib/storage-file-upload/storage-file-upload.component.html","../../../../packages/angular-components/src/lib/storage-folder-create/storage-folder-create.component.ts","../../../../packages/angular-components/src/lib/storage-folder-create/storage-folder-create.component.html","../../../../packages/angular-components/src/lib/menu-user/menu-user.component.ts","../../../../packages/angular-components/src/lib/menu-user/menu-user.component.html","../../../../packages/angular-components/src/lib/wechat-connect-dialog/wechat-connect-dialog.component.ts","../../../../packages/angular-components/src/lib/wechat-connect-dialog/wechat-connect-dialog.component.html","../../../../packages/angular-components/src/lib/media-upload-dialog/media-upload-dialog.component.ts","../../../../packages/angular-components/src/lib/media-upload-dialog/media-upload-dialog.component.html","../../../../packages/angular-components/src/lib/media-list/media-list.component.ts","../../../../packages/angular-components/src/lib/media-list/media-list.component.html","../../../../packages/angular-components/src/lib/media-list-item/media-list-item.component.ts","../../../../packages/angular-components/src/lib/media-list-item/media-list-item.component.html","../../../../packages/angular-components/src/lib/not-found/not-found.component.ts","../../../../packages/angular-components/src/lib/not-found/not-found.component.html","../../../../packages/angular-components/src/lib/confirmation-dialog/confirmation-dialog.component.ts","../../../../packages/angular-components/src/lib/confirmation-dialog/confirmation-dialog.component.html","../../../../packages/angular-components/src/lib/filter/filter.component.ts","../../../../packages/angular-components/src/lib/filter/filter.component.html","../../../../packages/angular-components/src/lib/base.component.ts","../../../../packages/angular-components/src/lib/table/table.component.ts","../../../../packages/angular-components/src/lib/table/table.component.html","../../../../packages/angular-components/src/lib/paginator/paginator.component.ts","../../../../packages/angular-components/src/lib/paginator/paginator.component.html","../../../../packages/angular-components/src/lib/media-preview/media-preview.component.ts","../../../../packages/angular-components/src/lib/media-preview/media-preview.component.html","../../../../packages/angular-components/src/lib/toolbar/toolbar.component.ts","../../../../packages/angular-components/src/lib/toolbar/toolbar.component.html","../../../../packages/angular-components/src/lib/thumbnail/thumbnail.component.ts","../../../../packages/angular-components/src/lib/thumbnail/thumbnail.component.html","../../../../packages/angular-components/src/lib/image/image.component.ts","../../../../packages/angular-components/src/lib/image/image.component.html","../../../../packages/angular-components/src/lib/tab/tab.component.ts","../../../../packages/angular-components/src/lib/tab/tab.component.html","../../../../packages/angular-components/src/lib/tabs/tabs.component.ts","../../../../packages/angular-components/src/lib/tabs/tabs.component.html","../../../../packages/angular-components/src/lib/list/list.component.ts","../../../../packages/angular-components/src/lib/list/list.component.html","../../../../packages/angular-components/src/lib/content/content.component.ts","../../../../packages/angular-components/src/lib/content/content.component.html","../../../../packages/angular-components/src/lib/chip-bar/chip-bar.component.ts","../../../../packages/angular-components/src/lib/chip-bar/chip-bar.component.html","../../../../packages/angular-components/src/lib/avatar/avatar.component.ts","../../../../packages/angular-components/src/lib/avatar/avatar.component.html","../../../../packages/angular-components/src/lib/image-placeholder/image-placeholder.component.ts","../../../../packages/angular-components/src/lib/image-placeholder/image-placeholder.component.html","../../../../packages/angular-components/src/lib/image-preview-dialog/image-preview-dialog.component.ts","../../../../packages/angular-components/src/lib/image-preview-dialog/image-preview-dialog.component.html","../../../../packages/angular-components/src/lib/empty/empty.component.ts","../../../../packages/angular-components/src/lib/empty/empty.component.html","../../../../packages/angular-components/src/lib/input/input.component.ts","../../../../packages/angular-components/src/lib/input/input.component.html","../../../../packages/angular-components/src/lib/rich-item/rich-item.component.ts","../../../../packages/angular-components/src/lib/rich-item/rich-item.component.html","../../../../packages/angular-components/src/lib/rich-view/rich-view.component.ts","../../../../packages/angular-components/src/lib/rich-view/rich-view.component.html","../../../../packages/angular-components/src/lib/editor/editor.component.ts","../../../../packages/angular-components/src/lib/editor/editor.component.html","../../../../packages/angular-components/src/lib/accordion/accordion.component.ts","../../../../packages/angular-components/src/lib/accordion/accordion.component.html","../../../../packages/angular-components/src/lib/panel/panel-animations.ts","../../../../packages/angular-components/src/lib/panel/panel.component.ts","../../../../packages/angular-components/src/lib/panel/panel.component.html","../../../../packages/angular-components/src/lib/panel/panel-header.component.ts","../../../../packages/angular-components/src/lib/panel/panel-header.component.html","../../../../packages/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 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 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 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 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 text-[--rt-text-primary]\">\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 { 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 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 { BreakpointObserver } from '@angular/cdk/layout';\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 imports: [CommonModule, RouterLink, MatButtonModule, 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 PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { map } from 'rxjs';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { IconComponent } from '../icon/icon.component';\nimport { APP_LAYOUT } from '../../provider';\nimport { panelAnimations } from './drawer-animations';\nimport { MenuIconComponent } from '../menu-icon/menu-icon.component';\nimport { MatButtonModule } from '@angular/material/button';\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 imports: [CommonModule, RouterLink, RouterLinkActive, IconComponent, MenuIconComponent, MatButtonModule],\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 = 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 if (this._opened) {\n this.close();\n } else {\n this.open();\n }\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 { 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 imports: [CommonModule, 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 if (this.opened) {\n this.close();\n } else {\n this.open();\n }\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 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 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 { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\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 imports: [CommonModule, MatListModule, MatButtonModule, MatIconModule, MatSidenavModule],\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 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, computed, effect, 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 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 fTitle = computed(() => this.title() || this.config.name);\n fCopyright = computed(() => this.copyright() || this.config.name);\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 items-end\">\n <div class=\"cursor-pointer\">\n <a href=\"/\" target=\"_blank\" class=\"text-lg font-bold\">{{ fTitle() }}</a>\n </div>\n <span class=\"text-sm\">©{{ fCopyright() }}</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 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, PLATFORM_ID, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatMenuModule, MatMenuPanel, MatMenuTrigger } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-topbar-avatar-menu',\n imports: [CommonModule, MatSidenavModule, MatListModule, MatIconModule, MatMenuModule],\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 openMenu() {\n this.menu().focusFirstItem('mouse');\n }\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 (click)=\"openMenu()\"\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()\" alt />\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})\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 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\" alt />\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 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 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 (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\" alt />\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 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 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 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, 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 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\" alt />\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, 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})\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 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&stylelite=1&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 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\" alt />\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 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 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})\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 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 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, NavigationService, SnackBarService, TitleService } from '@rolatech/angular-services';\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(TitleService);\n navigation = inject(NavigationService);\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 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 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 (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 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 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 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 if (this.ratio() == 'square') {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', 1);\n } else {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', 16 / 9);\n }\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 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\" alt />\n","import { Component, ElementRef, HostBinding, ViewEncapsulation, input, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-tab',\n imports: [CommonModule],\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 { Platform } from '@angular/cdk/platform';\n\n@Component({\n selector: 'rolatech-tabs',\n imports: [CommonModule],\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 = !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 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 divide-y divide-[--rt-10-percent-layer]\">\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 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 { 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 imports: [CommonModule, RouterModule, 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 (const 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 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 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 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\" alt />\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 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 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 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()\" mode=\"full\"></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 { RichItemComponent } from '../rich-item/rich-item.component';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'rolatech-rich-view',\n imports: [CommonModule, 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 (const 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 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 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 {\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';\n\n@Component({\n selector: 'rolatech-panel',\n imports: [CommonModule, IconComponent],\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","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-panel-header',\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["PANEL_ANIMATION_TIMING","panelAnimations","i1","i2","i3","i5","i4","map"],"mappings":"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"}
|