coer-elements 2.0.5 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/lib/coer-button/coer-button.component.d.ts +5 -5
- package/components/lib/coer-checkbox/coer-checkbox.component.d.ts +1 -1
- package/components/lib/coer-datebox/coer-datebox.component.d.ts +7 -6
- package/components/lib/coer-dropdown/coer-dropdown.component.d.ts +11 -11
- package/components/lib/coer-filebox/coer-filebox.component.d.ts +7 -7
- package/components/lib/coer-form/coer-form.component.d.ts +1 -1
- package/components/lib/coer-grid/coer-grid.component.d.ts +9 -9
- package/components/lib/coer-grid/coer-grid.extension.d.ts +19 -15
- package/components/lib/coer-list/coer-list.component.d.ts +9 -9
- package/components/lib/coer-modal/coer-modal.component.d.ts +1 -1
- package/components/lib/coer-sidenav/coer-toolbar/coer-toolbar.component.d.ts +8 -11
- package/fesm2022/coer-elements-components.mjs +218 -223
- package/fesm2022/coer-elements-components.mjs.map +1 -1
- package/fesm2022/coer-elements-guards.mjs +6 -6
- package/fesm2022/coer-elements-guards.mjs.map +1 -1
- package/fesm2022/coer-elements-interceptors.mjs +1 -1
- package/fesm2022/coer-elements-interceptors.mjs.map +1 -1
- package/fesm2022/coer-elements-interfaces.mjs.map +1 -1
- package/fesm2022/coer-elements-pages.mjs +237 -186
- package/fesm2022/coer-elements-pages.mjs.map +1 -1
- package/fesm2022/coer-elements-services.mjs +1 -1
- package/fesm2022/coer-elements-services.mjs.map +1 -1
- package/fesm2022/coer-elements-signals.mjs +33 -10
- package/fesm2022/coer-elements-signals.mjs.map +1 -1
- package/fesm2022/coer-elements-tools.mjs +88 -117
- package/fesm2022/coer-elements-tools.mjs.map +1 -1
- package/fesm2022/coer-elements.mjs.map +1 -1
- package/interfaces/lib/coer-grid/grid-button-by-row.interface.d.ts +3 -0
- package/interfaces/lib/coer-grid/grid-header-button.interface.d.ts +1 -0
- package/interfaces/lib/coer-grid/grid-header-export-button.interface.d.ts +1 -0
- package/interfaces/lib/coer-grid/grid-header-import-button.interface.d.ts +1 -0
- package/interfaces/lib/coer-menu/menu-toolbar.interface.d.ts +6 -0
- package/interfaces/lib/colors.interface.d.ts +36 -0
- package/interfaces/lib/login/user-login-response.interface.d.ts +12 -0
- package/interfaces/lib/login/user-login.interface.d.ts +10 -0
- package/interfaces/public-api.d.ts +5 -4
- package/package.json +5 -5
- package/pages/lib/coer-system/coer-system.component.d.ts +53 -34
- package/pages/lib/coer-system/login/login.component.d.ts +15 -15
- package/signals/lib/colors.signal.d.ts +2 -9
- package/styles/coer-elements.css +687 -134
- package/styles/colors.scss +88 -417
- package/styles/containers.scss +1 -1
- package/styles/index.scss +1 -26
- package/tools/lib/colors.class.d.ts +33 -27
- package/tools/lib/elements-html.class.d.ts +8 -4
- package/tools/lib/user.class.d.ts +3 -2
- package/interfaces/lib/image.interface.d.ts +0 -11
- package/interfaces/lib/login-response.interface.d.ts +0 -10
- package/interfaces/lib/toolbar-menu.interface.d.ts +0 -5
- /package/interfaces/lib/{login.interface.d.ts → login/login.interface.d.ts} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"coer-elements-pages.mjs","sources":["../../../projects/coer-elements/pages/lib/coer-menu/coer-menu.component.ts","../../../projects/coer-elements/pages/lib/coer-menu/coer-menu.component.html","../../../projects/coer-elements/pages/lib/home/home.component.ts","../../../projects/coer-elements/pages/lib/home/home.component.html","../../../projects/coer-elements/pages/lib/coer-loading/loading.component.ts","../../../projects/coer-elements/pages/lib/coer-loading/loading.component.html","../../../projects/coer-elements/pages/lib/coer-system/login/login.component.ts","../../../projects/coer-elements/pages/lib/coer-system/login/login.component.html","../../../projects/coer-elements/pages/lib/coer-system/coer-system.component.ts","../../../projects/coer-elements/pages/lib/coer-system/coer-system.component.html","../../../projects/coer-elements/pages/lib/pages.module.ts","../../../projects/coer-elements/pages/coer-elements-pages.ts"],"sourcesContent":["import { Component, computed, effect, WritableSignal } from '@angular/core'; \r\nimport { Page, Tools } from 'coer-elements/tools'; \r\nimport { menuSelectedSIGNAL } from 'coer-elements/signals';\r\nimport { IMenu, IMenuSelected } from 'coer-elements/interfaces';\r\n\r\n\r\n@Component({\r\n selector: 'coer-menu-page',\r\n templateUrl: './coer-menu.component.html', \r\n styleUrl: './coer-menu.component.scss',\r\n standalone: false\r\n})\r\nexport class CoerMenuPage extends Page { \r\n \r\n //signals\r\n protected menu: WritableSignal<IMenuSelected | null> = menuSelectedSIGNAL;\r\n\r\n constructor() { \r\n super('coer-menu'); \r\n \r\n effect(() => {\r\n const menu = menuSelectedSIGNAL();\r\n if(Tools.IsNotNull(menu)) this.SetPageFilters({ menu }); \r\n });\r\n } \r\n\r\n\r\n //computed\r\n protected _gridMenu = computed<IMenu[]>(() => { \r\n let id: number = 0;\r\n return this.menu()?.items?.map(item => Object.assign(item, { id: ++id })) || [];\r\n });\r\n\r\n\r\n /** */\r\n protected override RunPage() {\r\n if (Tools.IsNotNull(this.pageFilters) && Tools.IsNotNull(this.pageFilters.menu)) { \r\n menuSelectedSIGNAL.set(this.pageFilters.menu); \r\n this.SetPageName(this.pageFilters.menu.label);\r\n } \r\n } \r\n\r\n\r\n /** */\r\n protected _isPage = (item: IMenu): boolean => Tools.IsNotOnlyWhiteSpace(item?.path) && Tools.IsNull(item?.items);\r\n\r\n\r\n /** */\r\n protected _getPath = (item: IMenu): string | null => (this._isPage(item) && item.path!.length > 0) ? item.path! : null; \r\n}","<!-- Title -->\r\n<coer-page-title\r\n title=\"Menu\"\r\n [breadcrumbs]=\"breadcrumbs\"\r\n [goBack]=\"goBack\"\r\n></coer-page-title>\r\n\r\n<div class=\"flex-wrap-left fade-in\">\r\n @for(item of _gridMenu(); track item.id) { \r\n @if(_isPage(item)) {\r\n <a [routerLink]=\"_getPath(item)\" class=\"flex-wrap-item\">\r\n @if(IsNotOnlyWhiteSpace(item?.icon)) {\r\n <i [class]=\"item!.icon\"></i>\r\n }\r\n <span> {{ item.label }} </span>\r\n </a> \r\n }\r\n\r\n @else {\r\n <a [routerLink]=\"null\" class=\"flex-wrap-item menu\">\r\n @if(IsNotOnlyWhiteSpace(item?.icon)) {\r\n <i [class]=\"item!.icon\"></i>\r\n }\r\n <span> {{ item.label }} </span>\r\n </a> \r\n }\r\n }\r\n</div>","import { Component } from '@angular/core'; \r\nimport { Page } from 'coer-elements/tools'; \r\n\r\n\r\n@Component({\r\n selector: 'home-page',\r\n templateUrl: './home.component.html', \r\n styleUrl: './home.component.scss',\r\n standalone: false\r\n})\r\nexport class HomePage extends Page { \r\n \r\n \r\n constructor() { \r\n super('home'); \r\n }\r\n}","<!-- Title -->\r\n<coer-page-title\r\n title=\"Home\"\r\n [breadcrumbs]=\"breadcrumbs\"\r\n [goBack]=\"goBack\"\r\n></coer-page-title>\r\n\r\n<div class=\"coer-container\"> \r\n \r\n</div>","import { Component } from '@angular/core'; \r\n\r\n@Component({\r\n selector: 'loading-page',\r\n templateUrl: './loading.component.html', \r\n styleUrl: './loading.component.scss',\r\n standalone: false\r\n})\r\nexport class LoadingPage { \r\n \r\n}","Loading...","import { Component, input, output, viewChild, WritableSignal } from '@angular/core'; \r\nimport { CoerTextBox } from 'coer-elements/components';\r\nimport { ILogIn } from 'coer-elements/interfaces';\r\nimport { isLoadingSIGNAL } from 'coer-elements/signals';\r\nimport { Tools } from 'coer-elements/tools';\r\n\r\n\r\n@Component({\r\n selector: 'login-page',\r\n templateUrl: './login.component.html', \r\n styleUrl: './login.component.scss',\r\n standalone: false\r\n})\r\nexport class LoginPage { \r\n\r\n //Elements\r\n protected inputUser = viewChild.required<CoerTextBox>('inputUser');\r\n protected inputPassword = viewChild.required<CoerTextBox>('inputPassword');\r\n protected inputRecovery = viewChild.required<CoerTextBox>('inputRecovery');\r\n\r\n //Signals\r\n protected isLoading: WritableSignal<boolean> = isLoadingSIGNAL;\r\n\r\n //Inputs \r\n public title = input<string>(''); \r\n\r\n //Variables\r\n protected user: string = '';\r\n protected password: string = ''; \r\n protected remember: boolean = false;\r\n protected show: 'login' | 'recovery' = 'login';\r\n\r\n //Outputs \r\n public onLogin = output<ILogIn>();\r\n public onRecovery = output<string>();\r\n\r\n //Generic Tools\r\n protected IsNotOnlyWhiteSpace = Tools.IsNotOnlyWhiteSpace; \r\n\r\n //getter\r\n protected get enableButton() {\r\n return Tools.IsNotOnlyWhiteSpace(this.user)\r\n && Tools.IsNotOnlyWhiteSpace(this.password)\r\n && this.password.length >= 6\r\n }\r\n\r\n //getter\r\n protected get enableRecoveryButton() {\r\n return Tools.IsNotOnlyWhiteSpace(this.user) \r\n && this.user.length >= 6\r\n }\r\n\r\n \r\n /** */\r\n protected Login() {\r\n if (this.enableButton) {\r\n this.onLogin.emit({ \r\n user: this.user, \r\n password: this.password \r\n });\r\n } \r\n }\r\n\r\n\r\n /** */\r\n protected Recovery() {\r\n if(this.enableRecoveryButton) {\r\n this.onRecovery.emit(this.user);\r\n }\r\n }\r\n\r\n\r\n /** */\r\n public async Show(view: 'login' | 'recovery') {\r\n this.show = view;\r\n await Tools.Sleep(150);\r\n\r\n if(view === 'recovery') { \r\n this.inputRecovery().Focus();\r\n }\r\n\r\n else if (view === 'login') {\r\n this.inputUser().Focus();\r\n }\r\n }\r\n\r\n\r\n /** */\r\n public FocusUser() {\r\n this.inputUser().Focus();\r\n }\r\n\r\n\r\n /** */\r\n public FocusPassword() {\r\n this.inputPassword().Focus(true);\r\n }\r\n\r\n\r\n /** */\r\n public SetUser(user: string): void {\r\n this.user = user;\r\n }\r\n}","<div class=\"login-container\">\r\n\r\n <!-- Title -->\r\n <div class=\"title\">\r\n {{ title() }}\r\n </div>\r\n \r\n @if(show === 'login') {\r\n <section>\r\n <!-- User -->\r\n <coer-textbox\r\n #inputUser\r\n label=\"User\"\r\n [(ngModel)]=\"user\"\r\n [isLoading]=\"isLoading()\" \r\n marginTop=\"35px\"\r\n marginBottom=\"35px\"\r\n [maxLength]=\"15\"\r\n (onKeyupEnter)=\"inputPassword.Focus(true)\"\r\n ></coer-textbox>\r\n \r\n <!-- Password -->\r\n <coer-secretbox\r\n #inputPassword\r\n label=\"Password\"\r\n [(ngModel)]=\"password\"\r\n [isLoading]=\"isLoading()\"\r\n marginBottom=\"35px\"\r\n [maxLength]=\"20\"\r\n (onKeyupEnter)=\"Login()\"\r\n ></coer-secretbox> \r\n \r\n <!-- Login -->\r\n <div class=\"text-center\">\r\n <coer-button\r\n color=\"dark\" \r\n [isDisabled]=\"!enableButton\"\r\n [isLoading]=\"isLoading()\"\r\n (onClick)=\"Login()\"\r\n > Login </coer-button>\r\n </div>\r\n </section>\r\n\r\n\r\n <!-- Recover password -->\r\n <div class=\"recover\" (click)=\"Show('recovery')\">\r\n Recover password\r\n </div> \r\n } \r\n\r\n\r\n @if(show === 'recovery') {\r\n <section>\r\n <!-- Recovery -->\r\n <coer-textbox\r\n #inputRecovery\r\n label=\"User / Email\"\r\n [(ngModel)]=\"user\"\r\n [isLoading]=\"isLoading()\" \r\n marginTop=\"35px\"\r\n marginBottom=\"35px\"\r\n [maxLength]=\"50\"\r\n (onKeyupEnter)=\"Recovery()\"\r\n ></coer-textbox> \r\n\r\n\r\n <!-- -->\r\n <coer-textbox [isInvisible]=\"true\"></coer-textbox> \r\n\r\n \r\n <!-- Login -->\r\n <div class=\"text-center\">\r\n <coer-button \r\n color=\"dark\" \r\n [isDisabled]=\"!enableRecoveryButton\"\r\n [isLoading]=\"isLoading()\"\r\n marginTop=\"35px\"\r\n (onClick)=\"Recovery()\"\r\n > Recovery </coer-button>\r\n </div>\r\n </section>\r\n\r\n <!-- Recover password -->\r\n <div class=\"back\" (click)=\"Show('login')\">\r\n Back\r\n </div>\r\n } \r\n</div>\r\n\r\n","import { AfterContentInit, Component, computed, inject, Input, input, output, signal, viewChild, WritableSignal } from '@angular/core'; \r\nimport { backgroundColorSIGNAL, containerColorSIGNAL, dangerColorSIGNAL, isLoadingSIGNAL, isMenuOpenSIGNAL, navigationColorSIGNAL, navigationSIGNAL, primaryColorSIGNAL, secondaryColorSIGNAL, sidenavColorSIGNAL, successColorSIGNAL, warningColorSIGNAL } from 'coer-elements/signals';\r\nimport { IFile, ILogIn, IMenu, IToolbarMenu } from 'coer-elements/interfaces';\r\nimport { CoerButton, CoerModal, CoerSidenav, CoerTextBox } from 'coer-elements/components';\r\nimport { CoerAlert, ElementsHTML, Menu, Tools, User } from 'coer-elements/tools';\r\nimport { LoginPage } from './login/login.component';\r\n\r\n@Component({\r\n selector: 'coer-system',\r\n templateUrl: './coer-system.component.html', \r\n styleUrl: './coer-system.component.scss', \r\n standalone: false\r\n})\r\nexport class COERSystem implements AfterContentInit { \r\n\r\n //Injection\r\n protected readonly alert = inject(CoerAlert);\r\n\r\n //Elements\r\n protected sidenav = viewChild.required<CoerSidenav>('sidenav');\r\n protected loginPage = viewChild.required<LoginPage>('loginPage'); \r\n protected modalProfile = viewChild.required<CoerModal>('modalProfile');\r\n protected modalPassword = viewChild.required<CoerModal>('modalPassword');\r\n protected inputPassword = viewChild.required<CoerTextBox>('inputPassword');\r\n protected inputPasswordConfirm = viewChild.required<CoerTextBox>('inputPasswordConfirm');\r\n protected resetButton = viewChild.required<CoerButton>('resetButton');\r\n\r\n //Variables\r\n protected readonly title: string = 'COER System'; \r\n protected _isLoading: WritableSignal<boolean> = isLoadingSIGNAL; \r\n protected mainRole: any = null\r\n protected nickname: string = '';\r\n protected password: string = '';\r\n protected passwordConfirm: string = '';\r\n protected _userRoles = signal<any[]>([]); \r\n protected _user = signal<any>(null); \r\n \r\n //Inputs \r\n public userImage = input<string | null>(null); \r\n public toolbarMenu = input<IToolbarMenu[]>([]); \r\n\r\n\r\n @Input() set user(value: any) {\r\n if(Tools.IsNotNull(value)) {\r\n this._user.set(value); \r\n \r\n Tools.Sleep(1000, 'coerSystemGetUser').then(() => { \r\n if (Tools.IsNotOnlyWhiteSpace(this._user()?.nickname)) {\r\n this.nickname = this._user().nickname;\r\n }\r\n }); \r\n } \r\n } \r\n\r\n\r\n @Input() set userRoles(value: any[]) {\r\n if(Tools.IsNotNull(value)) {\r\n this._userRoles.set(value); \r\n \r\n Tools.Sleep(1000, 'coerSystemGetUserRoles').then(() => { \r\n let mainRole: any = null;\r\n\r\n //id & name\r\n if (Tools.IsNull(mainRole)) { \r\n mainRole = this._userRoles().find(\r\n x => (typeof x?.id == 'number') \r\n && (typeof x?.name == 'string') \r\n && x.id === (this._user()?.roleId)\r\n ) || null;\r\n }\r\n \r\n //id & name\r\n if (Tools.IsNull(mainRole)) {\r\n mainRole = this._userRoles().find(\r\n x => (typeof x?.id == 'number') \r\n && (typeof x?.name == 'string') \r\n && x.name === (this._user()?.role)\r\n ) || null;\r\n }\r\n\r\n //roleId & name\r\n if (Tools.IsNull(mainRole)) { \r\n mainRole = this._userRoles().find(\r\n x => (typeof x?.roleId == 'number') \r\n && (typeof x?.name == 'string') \r\n && x.roleId === (this._user()?.roleId)\r\n ) || null;\r\n }\r\n \r\n //roleId & name\r\n if (Tools.IsNull(mainRole)) {\r\n mainRole = this._userRoles().find(\r\n x => (typeof x?.roleId == 'number') \r\n && (typeof x?.name == 'string') \r\n && x.name === (this._user()?.role)\r\n ) || null;\r\n }\r\n\r\n //id & role\r\n if (Tools.IsNull(mainRole)) { \r\n mainRole = this._userRoles().find(\r\n x => (typeof x?.id == 'number') \r\n && (typeof x?.role == 'string') \r\n && x.id === (this._user()?.roleId)\r\n ) || null;\r\n }\r\n \r\n //id & role\r\n if (Tools.IsNull(mainRole)) {\r\n mainRole = this._userRoles().find(\r\n x => (typeof x?.id == 'number') \r\n && (typeof x?.role == 'string') \r\n && x.role === (this._user()?.role)\r\n ) || null;\r\n } \r\n \r\n //roleId & role\r\n if (Tools.IsNull(mainRole)) { \r\n mainRole = this._userRoles().find(\r\n x => (typeof x?.roleId == 'number') \r\n && (typeof x?.role == 'string') \r\n && x.roleId === (this._user()?.roleId)\r\n ) || null;\r\n }\r\n \r\n //roleId & role\r\n if (Tools.IsNull(mainRole)) {\r\n mainRole = this._userRoles().find(\r\n x => (typeof x?.roleId == 'number') \r\n && (typeof x?.role == 'string') \r\n && x.role === (this._user()?.role)\r\n ) || null;\r\n } \r\n\r\n //Response\r\n if (Tools.IsNotNull(mainRole)) {\r\n this.mainRole = mainRole;\r\n }\r\n }); \r\n } \r\n } \r\n\r\n\r\n @Input() set navigation(value: IMenu[]) {\r\n if(Tools.IsNotNull(value)) {\r\n navigationSIGNAL.set(value); \r\n \r\n Tools.Sleep(1000, 'coerSystemGetUserNavigation').then(() => { \r\n if (Tools.IsNotNull(this._user())) {\r\n this.sidenav().SetActiveLink(Menu.GetSelectedOption());\r\n }\r\n }); \r\n } \r\n } \r\n\r\n //Outputs \r\n public onLogin = output<ILogIn>();\r\n public onRecovery = output<string>(); \r\n public onClickOption = output<IToolbarMenu>();\r\n public onResetPassword = output<string>();\r\n public onUpdateProfile = output<any>();\r\n public onUploadUserImage = output<IFile>();\r\n public onDeleteUserImage = output<void>();\r\n\r\n //Generic Tools\r\n protected IsNotNull = Tools.IsNotNull; \r\n protected IsNotOnlyWhiteSpace = Tools.IsNotOnlyWhiteSpace;\r\n\r\n\r\n async ngAfterContentInit() {\r\n await Tools.Sleep();\r\n primaryColorSIGNAL.set(ElementsHTML.GetCssValueBy('#coer-system-color-primary', 'color'));\r\n secondaryColorSIGNAL.set(ElementsHTML.GetCssValueBy('#coer-system-color-secondary', 'color'));\r\n successColorSIGNAL.set(ElementsHTML.GetCssValueBy('#coer-system-color-success', 'color')); \r\n warningColorSIGNAL.set(ElementsHTML.GetCssValueBy('#coer-system-color-warning', 'color')); \r\n dangerColorSIGNAL.set(ElementsHTML.GetCssValueBy('#coer-system-color-danger', 'color')); \r\n backgroundColorSIGNAL.set(ElementsHTML.GetCssValueBy('#coer-system-color-background', 'color'));\r\n sidenavColorSIGNAL.set(ElementsHTML.GetCssValueBy('#coer-system-color-sidenav', 'color')); \r\n navigationColorSIGNAL.set(ElementsHTML.GetCssValueBy('#coer-system-color-navigation', 'color'));\r\n containerColorSIGNAL.set(ElementsHTML.GetCssValueBy('#coer-system-color-container', 'color'));\r\n } \r\n\r\n\r\n //getter\r\n protected get enableButton() {\r\n return Tools.IsNotOnlyWhiteSpace(this._user())\r\n && Tools.IsNotOnlyWhiteSpace(this.password)\r\n && Tools.IsNotOnlyWhiteSpace(this.passwordConfirm)\r\n && this.password.length >= 5\r\n && this.passwordConfirm.length >= 5\r\n && !this._isLoading()\r\n && this.password === this.passwordConfirm\r\n }\r\n\r\n\r\n //computed\r\n protected _toolbarMenu = computed<IToolbarMenu[]>(() => {\r\n const menu = [...this.toolbarMenu()] as any[]; \r\n\r\n return [\r\n { label: 'Profile', icon: 'fa-solid fa-user' },\r\n { label: 'Reset Password', icon: 'fa-solid fa-lock' },\r\n { label: 'Log Out', icon: 'fa-solid fa-door-open' }\r\n ].concat(menu); \r\n });\r\n\r\n\r\n //computed\r\n protected userName = computed<string>(() => { \r\n const user = this._user();\r\n\r\n if (Tools.IsNotNull(user)) {\r\n if (Tools.IsNotOnlyWhiteSpace(user?.fullName)) return user?.fullName;\r\n\r\n const name = Tools.IsNotNull(this._user()) && Tools.IsNotOnlyWhiteSpace(this._user()?.name) ? this._user().name : ''; \r\n const firstName = Tools.IsNotNull(this._user()) && Tools.IsNotOnlyWhiteSpace(this._user()?.firstName) ? this._user().firstName : ''; \r\n const middleName = Tools.IsNotNull(this._user()) && Tools.IsNotOnlyWhiteSpace(this._user()?.middleName) ? this._user().middleName : '';\r\n const lastName = Tools.IsNotNull(this._user()) && Tools.IsNotOnlyWhiteSpace(this._user()?.lastName) ? this._user().lastName : ''; \r\n const secondLastName = Tools.IsNotNull(this._user()) && Tools.IsNotOnlyWhiteSpace(this._user()?.secondName) ? this._user().secondLastName : ''; \r\n return `${name} ${firstName} ${middleName} ${lastName} ${secondLastName}`; \r\n }\r\n \r\n return ''; \r\n });\r\n\r\n\r\n /** */\r\n protected async SelectedOption(menu: IToolbarMenu) {\r\n this.onClickOption.emit(menu); \r\n\r\n switch(menu.label) {\r\n case 'Profile': {\r\n this.modalProfile().Open(); \r\n break;\r\n }\r\n\r\n case 'Reset Password': {\r\n this.modalPassword().Open();\r\n await Tools.Sleep(1000);\r\n this.Focus();\r\n break;\r\n }\r\n\r\n case 'Log Out': {\r\n User.LogOut();\r\n break;\r\n } \r\n } \r\n } \r\n\r\n\r\n /** */\r\n public SetUser(user: string) {\r\n this.loginPage().SetUser(user);\r\n }\r\n\r\n\r\n /** */\r\n public FocusUser() {\r\n this.loginPage().FocusUser();\r\n }\r\n\r\n\r\n /** */\r\n public FocusPassword() {\r\n this.loginPage().FocusPassword();\r\n }\r\n\r\n\r\n /** */\r\n protected Focus() { \r\n if(Tools.IsOnlyWhiteSpace(this.password)) {\r\n this.inputPassword().Focus();\r\n return;\r\n }\r\n\r\n if(Tools.IsOnlyWhiteSpace(this.passwordConfirm)) { \r\n this.inputPasswordConfirm().Focus();\r\n return;\r\n } \r\n \r\n if(this.enableButton) {\r\n this.resetButton().Focus();\r\n } \r\n }\r\n\r\n\r\n /** */\r\n protected ResetPassword() { \r\n if(this.enableButton) {\r\n const password = this.password;\r\n this.onResetPassword.emit(password);\r\n } \r\n }\r\n\r\n\r\n /** */\r\n public CloseModal() {\r\n this.modalPassword().Close(); \r\n this.modalProfile().Close();\r\n }\r\n\r\n\r\n /** */\r\n public Show(view: 'login' | 'recovery') {\r\n this.loginPage().Show(view);\r\n }\r\n\r\n\r\n /** */\r\n public UpdateProfile() {\r\n this.onUpdateProfile.emit({ \r\n user: Tools.AvoidNull(this._user()?.user, 'string'), \r\n nickname: Tools.AvoidNull(this.nickname, 'string'),\r\n roleId: Tools.AvoidNull(this.mainRole?.id, 'number'), \r\n role: Tools.AvoidNull(this.mainRole?.name, 'string') \r\n });\r\n }\r\n\r\n\r\n /** */\r\n public UploadImage(images: IFile[]) {\r\n if(images.length > 0) {\r\n const [image] = images; \r\n this.onUploadUserImage.emit(image);\r\n }\r\n }\r\n\r\n\r\n /** */\r\n public async DeleteUserImage() { \r\n const response = await this.alert.Confirm(`Remove <b>User Image</b> ?`, 'warning', 'fa-solid fa-trash-can'); \r\n if(response) this.onDeleteUserImage.emit();\r\n }\r\n\r\n\r\n /** */\r\n public OpenSideNav(): void { \r\n if(!isMenuOpenSIGNAL()) {\r\n this.sidenav().Toggle(); \r\n }\r\n }\r\n\r\n\r\n /** */\r\n public CloseSideNav(): void { \r\n if(isMenuOpenSIGNAL()) {\r\n this.sidenav().Toggle(); \r\n }\r\n }\r\n}","@if(IsNotNull(_user())) {\r\n <coer-toolbar \r\n [user]=\"_user()\" \r\n [image]=\"userImage()\" \r\n [menu]=\"_toolbarMenu()\"\r\n (onClickMenu)=\"sidenav.Toggle()\" \r\n (onClickOption)=\"SelectedOption($event)\"\r\n ></coer-toolbar>\r\n \r\n <coer-sidenav #sidenav> \r\n <section> \r\n <ng-content></ng-content>\r\n </section> \r\n </coer-sidenav>\r\n\r\n <!-- Modal Profile -->\r\n <coer-modal #modalProfile [title]=\"userName()\" icon=\"fa-solid fa-user\" width=\"auto\" height=\"350px\" (onClose)=\"null\"> \r\n <coer-filebox\r\n type=\"image\"\r\n [image]=\"{ \r\n value: IsNotOnlyWhiteSpace(userImage()) ? userImage() : '', \r\n name: userName(),\r\n maxWidth: '150px', \r\n maxHeight: '150px', \r\n marginBottom: '15px',\r\n allowExpand: false \r\n }\"\r\n [isLoading]=\"_isLoading()\"\r\n (onSelected)=\"UploadImage($event)\"\r\n (onDeleteImage)=\"DeleteUserImage()\"\r\n ></coer-filebox>\r\n \r\n <div class=\"d-flex\"> \r\n <!-- User --> \r\n <coer-textbox\r\n label=\"User\"\r\n [value]=\"_user()?.user\"\r\n [isReadonly]=\"true\" \r\n marginRight=\"15px\"\r\n marginBottom=\"15px\" \r\n width=\"250px\" \r\n ></coer-textbox> \r\n \r\n <!-- Email --> \r\n <coer-textbox\r\n label=\"Email\"\r\n [value]=\"_user()?.email\"\r\n [isReadonly]=\"true\" \r\n marginBottom=\"15px\"\r\n width=\"250px\" \r\n ></coer-textbox> \r\n </div> \r\n \r\n <div class=\"d-flex\"> \r\n <!-- Nickame --> \r\n <coer-textbox\r\n label=\"Nickame\"\r\n [(ngModel)]=\"nickname\" \r\n [isLoading]=\"_isLoading()\"\r\n marginRight=\"15px\"\r\n marginBottom=\"15px\" \r\n width=\"250px\" \r\n ></coer-textbox> \r\n \r\n <!-- Role --> \r\n <coer-selectbox\r\n label=\"Role\"\r\n [(ngModel)]=\"mainRole\"\r\n [dataSource]=\"_userRoles()\"\r\n [isLoading]=\"_isLoading()\" \r\n marginBottom=\"15px\"\r\n width=\"250px\" \r\n ></coer-selectbox> \r\n </div> \r\n \r\n <ng-template coerRef=\"footer\">\r\n <coer-button\r\n #buttonSave\r\n color=\"dark\"\r\n icon=\"save\"\r\n [isLoading]=\"_isLoading()\"\r\n (onClick)=\"UpdateProfile()\"\r\n > Update </coer-button>\r\n </ng-template>\r\n </coer-modal>\r\n\r\n\r\n <!-- Modal Password -->\r\n <coer-modal #modalPassword title=\"Reset Password\" icon=\"fa-solid fa-lock\" (onClose)=\"password = ''; passwordConfirm = '';\">\r\n <coer-textbox\r\n #inputPassword\r\n label=\"New Password\"\r\n [(ngModel)]=\"password\"\r\n [isLoading]=\"_isLoading()\"\r\n [selectOnFocus]=\"true\"\r\n marginBottom=\"15px\"\r\n (onKeyupEnter)=\"Focus()\"\r\n ></coer-textbox>\r\n\r\n <coer-textbox\r\n #inputPasswordConfirm\r\n label=\"Confirm Password\"\r\n [(ngModel)]=\"passwordConfirm\"\r\n [isLoading]=\"_isLoading()\"\r\n [selectOnFocus]=\"true\" \r\n (onKeyupEnter)=\"Focus()\"\r\n ></coer-textbox>\r\n\r\n <ng-template coerRef=\"footer\">\r\n <!-- Reset Button -->\r\n <coer-button\r\n #resetButton\r\n color=\"dark\" \r\n [isDisabled]=\"!enableButton\"\r\n [isLoading]=\"_isLoading()\" \r\n (onClick)=\"ResetPassword()\"\r\n > Reset </coer-button>\r\n </ng-template>\r\n </coer-modal>\r\n}\r\n\r\n@else {\r\n <login-page \r\n #loginPage\r\n [title]=\"title\" \r\n (onLogin)=\"onLogin.emit($event)\"\r\n (onRecovery)=\"onRecovery.emit($event)\"\r\n ></login-page>\r\n} \r\n\r\n<coer-alert></coer-alert> \r\n\r\n<div class=\"d-none\">\r\n <span id=\"coer-system-color-primary\"></span>\r\n <span id=\"coer-system-color-secondary\"></span>\r\n <span id=\"coer-system-color-success\"></span>\r\n <span id=\"coer-system-color-warning\"></span>\r\n <span id=\"coer-system-color-danger\"></span>\r\n <span id=\"coer-system-color-background\"></span>\r\n <span id=\"coer-system-color-sidenav\"></span>\r\n <span id=\"coer-system-color-navigation\"></span>\r\n <span id=\"coer-system-color-container\"></span> \r\n</div>","import { NgModule } from '@angular/core'; \r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n//Pages \r\nimport { CoerMenuPage } from './coer-menu/coer-menu.component';\r\nimport { ComponentsModule } from 'coer-elements/components';\r\nimport { DirectivesModule } from 'coer-elements/directives';\r\nimport { HomePage } from './home/home.component';\r\nimport { LoadingPage } from './coer-loading/loading.component';\r\nimport { COERSystem } from './coer-system/coer-system.component';\r\nimport { LoginPage } from './coer-system/login/login.component';\r\nimport { CoerAlert } from 'coer-elements/tools';\r\n\r\nexport const ROUTES: any = [ \r\n { path: 'menu', component: CoerMenuPage, data: { Page: 'COER' }},\r\n { path: 'loading', component: LoadingPage, data: { Page: 'COER' }},\r\n { path: 'home', component: HomePage, data: { Page: 'COER' }},\r\n { path: '**', redirectTo: '/home' } \r\n];\r\n\r\n@NgModule({ \r\n imports: [\r\n CommonModule, \r\n RouterModule, \r\n FormsModule, \r\n ComponentsModule, \r\n DirectivesModule,\r\n CoerAlert\r\n ],\r\n declarations: [\r\n COERSystem,\r\n LoginPage,\r\n CoerMenuPage,\r\n HomePage,\r\n LoadingPage,\r\n ],\r\n exports: [ \r\n COERSystem, \r\n CoerMenuPage,\r\n HomePage,\r\n LoadingPage,\r\n ]\r\n})\r\nexport class PagesModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i5.LoginPage"],"mappings":";;;;;;;;;;;;;;;AAYM,MAAO,YAAa,SAAQ,IAAI,CAAA;AAKlC,IAAA,WAAA,GAAA;QACI,KAAK,CAAC,WAAW,CAAC;;QAHZ,IAAI,CAAA,IAAA,GAAyC,kBAAkB;;AAa/D,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAU,MAAK;YACzC,IAAI,EAAE,GAAW,CAAC;AAClB,YAAA,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;AACnF,SAAC,CAAC;;QAaQ,IAAO,CAAA,OAAA,GAAG,CAAC,IAAW,KAAc,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;;AAItG,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,IAAW,KAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAK,GAAG,IAAI;QA5BlH,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,IAAI,GAAG,kBAAkB,EAAE;AACjC,YAAA,IAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;AAAE,gBAAA,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC;AAC3D,SAAC,CAAC;;;IAYa,OAAO,GAAA;QACtB,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YAC7E,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;;;8GA1B5C,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,kGCZzB,q4BA2BM,EAAA,MAAA,EAAA,CAAA,0uBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDfO,YAAY,EAAA,UAAA,EAAA,CAAA;kBANxB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cAGd,KAAK,EAAA,QAAA,EAAA,q4BAAA,EAAA,MAAA,EAAA,CAAA,0uBAAA,CAAA,EAAA;;;AEAf,MAAO,QAAS,SAAQ,IAAI,CAAA;AAG9B,IAAA,WAAA,GAAA;QACI,KAAK,CAAC,MAAM,CAAC;;8GAJR,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,6FCVrB,0MASM,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDCO,QAAQ,EAAA,UAAA,EAAA,CAAA;kBANpB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,cAGT,KAAK,EAAA,QAAA,EAAA,0MAAA,EAAA;;;MEAR,WAAW,CAAA;8GAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,yECRxB,YAAU,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDQG,WAAW,EAAA,UAAA,EAAA,CAAA;kBANvB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,cAGZ,KAAK,EAAA,QAAA,EAAA,YAAA,EAAA;;;MEOR,SAAS,CAAA;AANtB,IAAA,WAAA,GAAA;;AASc,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAc,WAAW,CAAC;AACxD,QAAA,IAAA,CAAA,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAc,eAAe,CAAC;AAChE,QAAA,IAAA,CAAA,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAc,eAAe,CAAC;;QAGhE,IAAS,CAAA,SAAA,GAA4B,eAAe;;AAGvD,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,EAAE,CAAC;;QAGtB,IAAI,CAAA,IAAA,GAAW,EAAE;QACjB,IAAQ,CAAA,QAAA,GAAW,EAAE;QACrB,IAAQ,CAAA,QAAA,GAAY,KAAK;QACzB,IAAI,CAAA,IAAA,GAAyB,OAAO;;QAGvC,IAAO,CAAA,OAAA,GAAG,MAAM,EAAU;QAC1B,IAAU,CAAA,UAAA,GAAG,MAAM,EAAU;;AAG1B,QAAA,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAC,mBAAmB;AAkE5D;;AA/DG,IAAA,IAAc,YAAY,GAAA;AACtB,QAAA,OAAO,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI;AACnC,eAAA,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ;AACvC,eAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;;;AAIpC,IAAA,IAAc,oBAAoB,GAAA;AAC9B,QAAA,OAAO,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI;AACnC,eAAA,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;;;IAKtB,KAAK,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC;AAClB,aAAA,CAAC;;;;IAMA,QAAQ,GAAA;AACd,QAAA,IAAG,IAAI,CAAC,oBAAoB,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;;;;IAMhC,MAAM,IAAI,CAAC,IAA0B,EAAA;AACxC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAEtB,QAAA,IAAG,IAAI,KAAK,UAAU,EAAE;AACpB,YAAA,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE;;AAG3B,aAAA,IAAI,IAAI,KAAK,OAAO,EAAE;AACvB,YAAA,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE;;;;IAMzB,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE;;;IAKrB,aAAa,GAAA;QAChB,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;;;AAK7B,IAAA,OAAO,CAAC,IAAY,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;;8GAxFX,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,gmBCbtB,8uFAyFA,EAAA,MAAA,EAAA,CAAA,ojBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,cAAA,EAAA,MAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,OAAA,EAAA,aAAA,EAAA,cAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,EAAA,eAAA,EAAA,eAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,SAAA,EAAA,cAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,OAAA,EAAA,aAAA,EAAA,cAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,SAAA,EAAA,cAAA,EAAA,eAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FD5Ea,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,cAGV,KAAK,EAAA,QAAA,EAAA,8uFAAA,EAAA,MAAA,EAAA,CAAA,ojBAAA,CAAA,EAAA;;;MEER,UAAU,CAAA;AANvB,IAAA,WAAA,GAAA;;AASuB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;;AAGlC,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAc,SAAS,CAAC;AACpD,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAY,WAAW,CAAC;AACtD,QAAA,IAAA,CAAA,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAY,cAAc,CAAC;AAC5D,QAAA,IAAA,CAAA,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAY,eAAe,CAAC;AAC9D,QAAA,IAAA,CAAA,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAc,eAAe,CAAC;AAChE,QAAA,IAAA,CAAA,oBAAoB,GAAG,SAAS,CAAC,QAAQ,CAAc,sBAAsB,CAAC;AAC9E,QAAA,IAAA,CAAA,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAa,aAAa,CAAC;;QAGlD,IAAK,CAAA,KAAA,GAAW,aAAa;QACtC,IAAU,CAAA,UAAA,GAA4B,eAAe;QACrD,IAAQ,CAAA,QAAA,GAAQ,IAAI;QACpB,IAAQ,CAAA,QAAA,GAAW,EAAE;QACrB,IAAQ,CAAA,QAAA,GAAW,EAAE;QACrB,IAAe,CAAA,eAAA,GAAW,EAAE;AAC5B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAQ,EAAE,CAAC;AAC9B,QAAA,IAAA,CAAA,KAAK,GAAQ,MAAM,CAAM,IAAI,CAAC;;AAGjC,QAAA,IAAA,CAAA,SAAS,GAAM,KAAK,CAAgB,IAAI,CAAC;AACzC,QAAA,IAAA,CAAA,WAAW,GAAI,KAAK,CAAiB,EAAE,CAAC;;QAqHxC,IAAO,CAAA,OAAA,GAAG,MAAM,EAAU;QAC1B,IAAU,CAAA,UAAA,GAAG,MAAM,EAAU;QAC7B,IAAa,CAAA,aAAA,GAAG,MAAM,EAAgB;QACtC,IAAe,CAAA,eAAA,GAAG,MAAM,EAAU;QAClC,IAAe,CAAA,eAAA,GAAG,MAAM,EAAO;QAC/B,IAAiB,CAAA,iBAAA,GAAG,MAAM,EAAS;QACnC,IAAiB,CAAA,iBAAA,GAAG,MAAM,EAAQ;;AAG/B,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,SAAS;AAC3B,QAAA,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAC,mBAAmB;;AA8B/C,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAiB,MAAK;YACnD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAU;YAE7C,OAAO;AACH,gBAAA,EAAE,KAAK,EAAE,SAAS,EAAS,IAAI,EAAE,kBAAkB,EAAO;AAC1D,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,EAAO;AAC1D,gBAAA,EAAE,KAAK,EAAE,SAAS,EAAS,IAAI,EAAE,uBAAuB;AAC3D,aAAA,CAAC,MAAM,CAAC,IAAI,CAAC;AAClB,SAAC,CAAC;;AAIQ,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAS,MAAK;AACvC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE;AAEzB,YAAA,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;AACvB,gBAAA,IAAI,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC;oBAAE,OAAO,IAAI,EAAE,QAAQ;AAEpE,gBAAA,MAAM,IAAI,GAAa,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,GAAS,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,GAAa,EAAE;AAC9I,gBAAA,MAAM,SAAS,GAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,GAAI,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,GAAQ,EAAE;AAC9I,gBAAA,MAAM,UAAU,GAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,GAAO,EAAE;AAC9I,gBAAA,MAAM,QAAQ,GAAS,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,GAAK,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,GAAS,EAAE;AAC9I,gBAAA,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,cAAc,GAAG,EAAE;gBAC9I,OAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA,EAAI,UAAU,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA,EAAI,cAAc,CAAA,CAAE;;AAG7E,YAAA,OAAO,EAAE;AACb,SAAC,CAAC;AA+HL;IApTG,IAAa,IAAI,CAAC,KAAU,EAAA;AACxB,QAAA,IAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAErB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,MAAK;AAC7C,gBAAA,IAAI,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ;;AAE7C,aAAC,CAAC;;;IAKV,IAAa,SAAS,CAAC,KAAY,EAAA;AAC/B,QAAA,IAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;YAE1B,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAAC,MAAK;gBAClD,IAAI,QAAQ,GAAQ,IAAI;;AAGxB,gBAAA,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;AACxB,oBAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAC7B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,QAAQ;AAC3B,4BAAC,OAAO,CAAC,EAAE,IAAI,IAAI,QAAQ;AAC3B,2BAAA,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CACrC,IAAI,IAAI;;;AAIb,gBAAA,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;AACxB,oBAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAC7B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,QAAQ;AAC3B,4BAAC,OAAO,CAAC,EAAE,IAAI,IAAI,QAAQ;AAC3B,2BAAA,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CACrC,IAAI,IAAI;;;AAIb,gBAAA,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;AACxB,oBAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAC7B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,QAAQ;AAC/B,4BAAC,OAAO,CAAC,EAAE,IAAI,IAAI,QAAQ;AAC3B,2BAAA,CAAC,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CACzC,IAAI,IAAI;;;AAIb,gBAAA,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;AACxB,oBAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAC7B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,QAAQ;AAC/B,4BAAC,OAAO,CAAC,EAAE,IAAI,IAAI,QAAQ;AAC3B,2BAAA,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CACrC,IAAI,IAAI;;;AAIb,gBAAA,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;AACxB,oBAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAC7B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,QAAQ;AAC3B,4BAAC,OAAO,CAAC,EAAE,IAAI,IAAI,QAAQ;AAC3B,2BAAA,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CACrC,IAAI,IAAI;;;AAIb,gBAAA,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;AACxB,oBAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAC7B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,QAAQ;AAC3B,4BAAC,OAAO,CAAC,EAAE,IAAI,IAAI,QAAQ;AAC3B,2BAAA,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CACrC,IAAI,IAAI;;;AAIb,gBAAA,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;AACxB,oBAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAC7B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,QAAQ;AAC/B,4BAAC,OAAO,CAAC,EAAE,IAAI,IAAI,QAAQ;AAC3B,2BAAA,CAAC,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CACzC,IAAI,IAAI;;;AAIb,gBAAA,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;AACxB,oBAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAC7B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,QAAQ;AAC/B,4BAAC,OAAO,CAAC,EAAE,IAAI,IAAI,QAAQ;AAC3B,2BAAA,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CACrC,IAAI,IAAI;;;AAIb,gBAAA,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AAC3B,oBAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;AAEhC,aAAC,CAAC;;;IAKV,IAAa,UAAU,CAAC,KAAc,EAAA;AAClC,QAAA,IAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;AACvB,YAAA,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;YAE3B,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC,IAAI,CAAC,MAAK;gBACvD,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE;oBAC/B,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;;AAE9D,aAAC,CAAC;;;AAkBV,IAAA,MAAM,kBAAkB,GAAA;AACpB,QAAA,MAAM,KAAK,CAAC,KAAK,EAAE;AACnB,QAAA,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AACzF,QAAA,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;AAC7F,QAAA,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AACzF,QAAA,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AACzF,QAAA,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;AACvF,QAAA,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;AAC/F,QAAA,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AACzF,QAAA,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;AAC/F,QAAA,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;;;AAKjG,IAAA,IAAc,YAAY,GAAA;QACtB,OAAO,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE;AACtC,eAAA,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ;AACvC,eAAA,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe;AAC9C,eAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI;AACxB,eAAA,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI;eAC/B,CAAC,IAAI,CAAC,UAAU;AAChB,eAAA,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,eAAe;;;IAoCvC,MAAM,cAAc,CAAC,IAAkB,EAAA;AAC7C,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;AAE7B,QAAA,QAAO,IAAI,CAAC,KAAK;YACb,KAAK,SAAS,EAAE;AACZ,gBAAA,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE;gBAC1B;;YAGJ,KAAK,gBAAgB,EAAE;AACnB,gBAAA,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE;AAC3B,gBAAA,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;gBACvB,IAAI,CAAC,KAAK,EAAE;gBACZ;;YAGJ,KAAK,SAAS,EAAE;gBACZ,IAAI,CAAC,MAAM,EAAE;gBACb;;;;;AAOL,IAAA,OAAO,CAAC,IAAY,EAAA;QACvB,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;;;IAK3B,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE;;;IAKzB,aAAa,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,EAAE,CAAC,aAAa,EAAE;;;IAK1B,KAAK,GAAA;QACX,IAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE;YAC5B;;QAGJ,IAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;AAC7C,YAAA,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE;YACnC;;AAGJ,QAAA,IAAG,IAAI,CAAC,YAAY,EAAE;AAClB,YAAA,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE;;;;IAMxB,aAAa,GAAA;AACnB,QAAA,IAAG,IAAI,CAAC,YAAY,EAAE;AAClB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC9B,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;IAMpC,UAAU,GAAA;AACb,QAAA,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE;AAC5B,QAAA,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE;;;AAKxB,IAAA,IAAI,CAAC,IAA0B,EAAA;QAClC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;;;IAKxB,aAAa,GAAA;AAChB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AACtB,YAAA,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC;YACnD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAClD,YAAA,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC;AACpD,YAAA,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ;AACtD,SAAA,CAAC;;;AAKC,IAAA,WAAW,CAAC,MAAe,EAAA;AAC9B,QAAA,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAClB,YAAA,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM;AACtB,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;;;;AAMnC,IAAA,MAAM,eAAe,GAAA;AACxB,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,4BAA4B,EAAE,SAAS,EAAE,uBAAuB,CAAC;AAC3G,QAAA,IAAG,QAAQ;AAAE,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;;;IAKvC,WAAW,GAAA;AACd,QAAA,IAAG,CAAC,gBAAgB,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;;;;IAMxB,YAAY,GAAA;QACf,IAAG,gBAAgB,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;;;8GA9UtB,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,kvDCbvB,m9JA8IM,EAAA,MAAA,EAAA,CAAA,giBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,cAAA,EAAA,MAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,OAAA,EAAA,aAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,OAAA,EAAA,aAAA,EAAA,cAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,SAAA,EAAA,cAAA,EAAA,eAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDjIO,UAAU,EAAA,UAAA,EAAA,CAAA;kBANtB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cAGX,KAAK,EAAA,QAAA,EAAA,m9JAAA,EAAA,MAAA,EAAA,CAAA,giBAAA,CAAA,EAAA;8BA+BJ,IAAI,EAAA,CAAA;sBAAhB;gBAaY,SAAS,EAAA,CAAA;sBAArB;gBAwFY,UAAU,EAAA,CAAA;sBAAtB;;;AEhIQ,MAAA,MAAM,GAAQ;AACvB,IAAA,EAAE,IAAI,EAAE,MAAM,EAAK,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAC;AACnE,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAG,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAC;AACnE,IAAA,EAAE,IAAI,EAAE,MAAM,EAAK,SAAS,EAAE,QAAQ,EAAM,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAC;AACnE,IAAA,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO;;MA0BxB,WAAW,CAAA;8GAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,iBAbhB,UAAU;YACV,SAAS;YACT,YAAY;YACZ,QAAQ;AACR,YAAA,WAAW,aAZX,YAAY;YACZ,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,gBAAgB;AAChB,YAAA,SAAS,aAUT,UAAU;YACV,YAAY;YACZ,QAAQ;YACR,WAAW,CAAA,EAAA,CAAA,CAAA;AAGN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YArBhB,YAAY;YACZ,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,gBAAgB;YAChB,SAAS,CAAA,EAAA,CAAA,CAAA;;2FAgBJ,WAAW,EAAA,UAAA,EAAA,CAAA;kBAvBvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,YAAY;wBACZ,WAAW;wBACX,gBAAgB;wBAChB,gBAAgB;wBAChB;AACH,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,UAAU;wBACV,SAAS;wBACT,YAAY;wBACZ,QAAQ;wBACR,WAAW;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,UAAU;wBACV,YAAY;wBACZ,QAAQ;wBACR,WAAW;AACd;AACJ,iBAAA;;;AC5CD;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"coer-elements-pages.mjs","sources":["../../../projects/coer-elements/pages/lib/coer-menu/coer-menu.component.ts","../../../projects/coer-elements/pages/lib/coer-menu/coer-menu.component.html","../../../projects/coer-elements/pages/lib/home/home.component.ts","../../../projects/coer-elements/pages/lib/home/home.component.html","../../../projects/coer-elements/pages/lib/coer-loading/loading.component.ts","../../../projects/coer-elements/pages/lib/coer-loading/loading.component.html","../../../projects/coer-elements/pages/lib/coer-system/login/login.component.ts","../../../projects/coer-elements/pages/lib/coer-system/login/login.component.html","../../../projects/coer-elements/pages/lib/coer-system/coer-system.component.ts","../../../projects/coer-elements/pages/lib/coer-system/coer-system.component.html","../../../projects/coer-elements/pages/lib/pages.module.ts","../../../projects/coer-elements/pages/coer-elements-pages.ts"],"sourcesContent":["import { Component, computed, effect, WritableSignal } from '@angular/core'; \r\nimport { Page, Tools } from 'coer-elements/tools'; \r\nimport { menuSelectedSIGNAL } from 'coer-elements/signals';\r\nimport { IMenu, IMenuSelected } from 'coer-elements/interfaces';\r\n\r\n\r\n@Component({\r\n selector: 'coer-menu-page',\r\n templateUrl: './coer-menu.component.html', \r\n styleUrl: './coer-menu.component.scss',\r\n standalone: false\r\n})\r\nexport class CoerMenuPage extends Page { \r\n \r\n //signals\r\n protected menu: WritableSignal<IMenuSelected | null> = menuSelectedSIGNAL;\r\n\r\n constructor() { \r\n super('coer-menu'); \r\n \r\n effect(() => {\r\n const menu = menuSelectedSIGNAL();\r\n if(Tools.IsNotNull(menu)) this.SetPageFilters({ menu }); \r\n });\r\n } \r\n\r\n\r\n //computed\r\n protected _gridMenu = computed<IMenu[]>(() => { \r\n let id: number = 0;\r\n return this.menu()?.items?.map(item => Object.assign(item, { id: ++id })) || [];\r\n });\r\n\r\n\r\n /** */\r\n protected override RunPage() {\r\n if (Tools.IsNotNull(this.pageFilters) && Tools.IsNotNull(this.pageFilters.menu)) { \r\n menuSelectedSIGNAL.set(this.pageFilters.menu); \r\n this.SetPageName(this.pageFilters.menu.label);\r\n } \r\n } \r\n\r\n\r\n /** */\r\n protected _isPage = (item: IMenu): boolean => Tools.IsNotOnlyWhiteSpace(item?.path) && Tools.IsNull(item?.items);\r\n\r\n\r\n /** */\r\n protected _getPath = (item: IMenu): string | null => (this._isPage(item) && item.path!.length > 0) ? item.path! : null; \r\n}","<!-- Title -->\r\n<coer-page-title\r\n title=\"Menu\"\r\n [breadcrumbs]=\"breadcrumbs\"\r\n [goBack]=\"goBack\"\r\n></coer-page-title>\r\n\r\n<div class=\"flex-wrap-left fade-in\">\r\n @for(item of _gridMenu(); track item.id) { \r\n @if(_isPage(item)) {\r\n <a [routerLink]=\"_getPath(item)\" class=\"flex-wrap-item\">\r\n @if(IsNotOnlyWhiteSpace(item?.icon)) {\r\n <i [class]=\"item!.icon\"></i>\r\n }\r\n <span> {{ item.label }} </span>\r\n </a> \r\n }\r\n\r\n @else {\r\n <a [routerLink]=\"null\" class=\"flex-wrap-item menu\">\r\n @if(IsNotOnlyWhiteSpace(item?.icon)) {\r\n <i [class]=\"item!.icon\"></i>\r\n }\r\n <span> {{ item.label }} </span>\r\n </a> \r\n }\r\n }\r\n</div>","import { Component } from '@angular/core'; \r\nimport { Page } from 'coer-elements/tools'; \r\n\r\n\r\n@Component({\r\n selector: 'home-page',\r\n templateUrl: './home.component.html', \r\n styleUrl: './home.component.scss',\r\n standalone: false\r\n})\r\nexport class HomePage extends Page { \r\n \r\n \r\n constructor() { \r\n super('home'); \r\n }\r\n}","<!-- Title -->\r\n<coer-page-title\r\n title=\"Home\"\r\n [breadcrumbs]=\"breadcrumbs\"\r\n [goBack]=\"goBack\"\r\n></coer-page-title>\r\n\r\n<div class=\"coer-container\"> \r\n \r\n</div>","import { Component } from '@angular/core'; \r\n\r\n@Component({\r\n selector: 'loading-page',\r\n templateUrl: './loading.component.html', \r\n styleUrl: './loading.component.scss',\r\n standalone: false\r\n})\r\nexport class LoadingPage { \r\n \r\n}","Loading...","import { Component, output, viewChild, WritableSignal } from '@angular/core'; \r\nimport { CoerTextBox } from 'coer-elements/components';\r\nimport { ILogIn } from 'coer-elements/interfaces';\r\nimport { isLoadingSIGNAL } from 'coer-elements/signals';\r\nimport { Tools } from 'coer-elements/tools';\r\ndeclare const appSettings: any;\r\n\r\n@Component({\r\n selector: 'login-page',\r\n templateUrl: './login.component.html', \r\n styleUrl: './login.component.scss',\r\n standalone: false\r\n})\r\nexport class LoginPage { \r\n\r\n //appSettings \r\n protected _appName = Tools.AvoidNull<string>(appSettings?.appInfo?.name, 'string');\r\n\r\n //Elements\r\n protected _inputUser = viewChild.required<CoerTextBox>('inputUser');\r\n protected _inputPassword = viewChild.required<CoerTextBox>('inputPassword');\r\n protected _inputRecovery = viewChild.required<CoerTextBox>('inputRecovery');\r\n\r\n //Signals\r\n protected _isLoading: WritableSignal<boolean> = isLoadingSIGNAL; \r\n\r\n //Variables\r\n protected _user: string = '';\r\n protected _password: string = ''; \r\n protected _remember: boolean = false;\r\n protected _show: 'LOGIN' | 'RECOVERY' = 'LOGIN';\r\n\r\n //Outputs \r\n public onLogin = output<ILogIn>();\r\n public onRecovery = output<string>();\r\n\r\n //Generic Tools\r\n protected IsNotOnlyWhiteSpace = Tools.IsNotOnlyWhiteSpace; \r\n\r\n //getter\r\n protected get _enableButton() {\r\n return Tools.IsNotOnlyWhiteSpace(this._user)\r\n && Tools.IsNotOnlyWhiteSpace(this._password)\r\n && this._password.length >= 6\r\n }\r\n\r\n //getter\r\n protected get _enableRecoveryButton() {\r\n return Tools.IsNotOnlyWhiteSpace(this._user) \r\n && this._user.length >= 6\r\n }\r\n\r\n \r\n /** */\r\n protected __Login() {\r\n if (this._enableButton) {\r\n this.onLogin.emit({ \r\n user: this._user, \r\n password: this._password \r\n });\r\n } \r\n }\r\n\r\n\r\n /** */\r\n protected __Recovery() {\r\n if(this._enableRecoveryButton) {\r\n this.onRecovery.emit(this._user);\r\n }\r\n }\r\n\r\n\r\n /** */\r\n public async Show(view: 'LOGIN' | 'RECOVERY') {\r\n this._show = view;\r\n await Tools.Sleep(150);\r\n\r\n if(view === 'RECOVERY') { \r\n this._inputRecovery().Focus();\r\n }\r\n\r\n else if (view === 'LOGIN') {\r\n this._inputUser().Focus();\r\n }\r\n }\r\n\r\n\r\n /** */\r\n public FocusUser() {\r\n this._inputUser().Focus();\r\n }\r\n\r\n\r\n /** */\r\n public FocusPassword() {\r\n this._inputPassword().Focus(true);\r\n }\r\n\r\n\r\n /** */\r\n public SetUser(user: string): void {\r\n this._user = user;\r\n }\r\n}","<div class=\"login-container\">\r\n\r\n <!-- Title -->\r\n <div class=\"title\">\r\n {{ _appName }}\r\n </div>\r\n \r\n @if(_show === 'LOGIN') {\r\n <section>\r\n <!-- User -->\r\n <coer-textbox\r\n #inputUser\r\n label=\"User\"\r\n [(ngModel)]=\"_user\"\r\n [isLoading]=\"_isLoading()\" \r\n marginTop=\"35px\"\r\n marginBottom=\"35px\"\r\n [maxLength]=\"15\"\r\n (onKeyupEnter)=\"inputPassword.Focus(true)\"\r\n ></coer-textbox>\r\n \r\n <!-- Password -->\r\n <coer-secretbox\r\n #inputPassword\r\n label=\"Password\"\r\n [(ngModel)]=\"_password\"\r\n [isLoading]=\"_isLoading()\"\r\n marginBottom=\"35px\"\r\n [maxLength]=\"20\"\r\n (onKeyupEnter)=\"__Login()\"\r\n ></coer-secretbox> \r\n \r\n <!-- Login -->\r\n <div class=\"text-center\">\r\n <coer-button\r\n color=\"dark\" \r\n [isDisabled]=\"!_enableButton\"\r\n [isLoading]=\"_isLoading()\"\r\n (onClick)=\"__Login()\"\r\n > Login </coer-button>\r\n </div>\r\n </section>\r\n\r\n\r\n <!-- Recover password -->\r\n <div class=\"recover\" (click)=\"Show('RECOVERY')\">\r\n Recover password\r\n </div> \r\n } \r\n\r\n\r\n @if(_show === 'RECOVERY') {\r\n <section>\r\n <!-- Recovery -->\r\n <coer-textbox\r\n #inputRecovery\r\n label=\"User / Email\"\r\n [(ngModel)]=\"_user\"\r\n [isLoading]=\"_isLoading()\" \r\n marginTop=\"35px\"\r\n marginBottom=\"35px\"\r\n [maxLength]=\"50\"\r\n (onKeyupEnter)=\"__Recovery()\"\r\n ></coer-textbox> \r\n\r\n\r\n <!-- -->\r\n <coer-textbox [isInvisible]=\"true\"></coer-textbox> \r\n\r\n \r\n <!-- Login -->\r\n <div class=\"text-center\">\r\n <coer-button \r\n color=\"dark\" \r\n [isDisabled]=\"!_enableRecoveryButton\"\r\n [isLoading]=\"_isLoading()\"\r\n marginTop=\"35px\"\r\n (onClick)=\"__Recovery()\"\r\n > Recovery </coer-button>\r\n </div>\r\n </section>\r\n\r\n <!-- Recover password -->\r\n <div class=\"back\" (click)=\"Show('LOGIN')\">\r\n Back\r\n </div>\r\n } \r\n</div>\r\n\r\n","import { isLoadingSIGNAL, navigationSIGNAL, isMenuOpenSIGNAL, colorsSIGNAL } from 'coer-elements/signals';\r\nimport { AfterContentInit, Component, computed, inject, Input, input, OnDestroy, output, signal, viewChild, WritableSignal } from '@angular/core'; \r\nimport { IFile, ILogIn, IMenu, IOption, IMenuToolbar, IUserLogin } from 'coer-elements/interfaces';\r\nimport { CoerButton, CoerModal, CoerSidenav, CoerTextBox } from 'coer-elements/components';\r\nimport { CoerAlert, ElementsHTML, Menu, Tools, User } from 'coer-elements/tools';\r\nimport { LoginPage } from './login/login.component';\r\nimport { JWTService } from 'coer-elements/services';\r\nimport moment from 'moment';\r\ndeclare const appSettings: any;\r\n\r\n@Component({\r\n selector: 'coer-system',\r\n templateUrl: './coer-system.component.html', \r\n styleUrl: './coer-system.component.scss', \r\n standalone: false\r\n})\r\nexport class COERSystem implements AfterContentInit, OnDestroy { \r\n\r\n //Injection\r\n protected readonly _alert = inject(CoerAlert);\r\n protected readonly _jwtService = inject(JWTService); \r\n\r\n //appSettings \r\n protected _appName = Tools.AvoidNull<string>(appSettings?.appInfo?.name, 'string');\r\n protected _staticLogin = Tools.AvoidNull<boolean>(appSettings?.login?.staticLogin, 'boolean');\r\n\r\n //Elements\r\n protected _sidenav = viewChild.required<CoerSidenav>('sidenav');\r\n protected _loginPage = viewChild.required<LoginPage>('loginPage'); \r\n protected _modalProfile = viewChild.required<CoerModal>('modalProfile');\r\n protected _modalPassword = viewChild.required<CoerModal>('modalPassword');\r\n protected _inputPassword = viewChild.required<CoerTextBox>('inputPassword');\r\n protected _inputPasswordConfirm = viewChild.required<CoerTextBox>('inputPasswordConfirm');\r\n protected _resetButton = viewChild.required<CoerButton>('resetButton');\r\n\r\n //Variables \r\n protected _startJWT$!: any; \r\n protected _watchJWT$!: any; \r\n protected _isLoading: WritableSignal<boolean> = isLoadingSIGNAL; \r\n protected _mainRole: IOption | null = null\r\n protected _nickname: string = '';\r\n protected _password: string = '';\r\n protected _passwordConfirm: string = '';\r\n protected _userRoles = signal<IOption[]>([]); \r\n protected _user = signal<IUserLogin | null>(null); \r\n protected _userImageStatic: string = ''; \r\n \r\n //Inputs\r\n public userImage = input<string | null>(null); \r\n public toolbarMenu = input<IMenuToolbar[]>([]); \r\n\r\n @Input() set user(value: IUserLogin | null) {\r\n if(Tools.IsNotNull(value)) {\r\n\r\n this._user.set(value); \r\n Tools.Sleep(1000, 'coerSystemGetUser').then(() => { \r\n \r\n if (Tools.IsNotOnlyWhiteSpace(this._user()?.nickname)) {\r\n this._nickname = this._user()?.nickname!;\r\n } \r\n\r\n }); \r\n } \r\n } \r\n\r\n\r\n @Input() set userRoles(value: string[]) {\r\n if(Tools.IsNotNull(value)) {\r\n let id = 0; \r\n this._userRoles.set(value.map(item => Object.assign({ id: ++id, option: item }))); \r\n \r\n Tools.Sleep(1000, 'coerSystemGetUserRoles').then(() => { \r\n this._mainRole = this._userRoles().find(x => x.option === this._user()?.role) || null; \r\n }); \r\n } \r\n } \r\n\r\n\r\n @Input() set navigation(value: IMenu[]) {\r\n if(Tools.IsNotNull(value)) {\r\n navigationSIGNAL.set(value); \r\n \r\n Tools.Sleep(1000, 'coerSystemGetUserNavigation').then(() => { \r\n if (Tools.IsNotNull(this._user())) {\r\n this._sidenav().SetActiveLink(Menu.GetSelectedOption());\r\n }\r\n }); \r\n } \r\n } \r\n\r\n\r\n //Outputs \r\n public onLogin = output<ILogIn>();\r\n public onClickMenuOption = output<IMenuToolbar>();\r\n public onResetPassword = output<string>();\r\n public onRecoveryPassword = output<string>(); \r\n public onUpdateProfile = output<IUserLogin>();\r\n public onUploadUserImage = output<IFile>();\r\n public onDeleteUserImage = output<void>();\r\n public onUpdateJWT = output<void>();\r\n\r\n //Generic Tools\r\n protected IsNotNull = Tools.IsNotNull; \r\n protected IsNotOnlyWhiteSpace = Tools.IsNotOnlyWhiteSpace;\r\n\r\n\r\n async ngAfterContentInit() {\r\n await Tools.Sleep();\r\n\r\n colorsSIGNAL.update(colors => ({\r\n fixedColors: { ...colors.fixedColors },\r\n actionColors: {\r\n primary: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-actionColors-primary' )),\r\n secondary: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-actionColors-secondary' )),\r\n success: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-actionColors-success' )),\r\n warning: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-actionColors-warning' )),\r\n danger: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-actionColors-danger' )),\r\n navigation: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-actionColors-navigation' )),\r\n information: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-actionColors-information'))\r\n },\r\n appColors: {\r\n breadcrumbs: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-appColors-breadcrumbs' )),\r\n background: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-appColors-background' )),\r\n containers: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-appColors-containers' )),\r\n sidenav: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-appColors-sidenav' )),\r\n sidenavText: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-appColors-sidenav-text')),\r\n toolbar: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-appColors-toolbar' )),\r\n toolbarText: ElementsHTML.GetElementColor(ElementsHTML.GetElement('#coer-system-appColors-toolbar-text'))\r\n }\r\n })); \r\n }\r\n \r\n \r\n ngOnDestroy() {\r\n clearInterval(this._watchJWT$);\r\n clearInterval(this._startJWT$); \r\n }\r\n\r\n\r\n //getter\r\n protected get _enableButtonLogin() {\r\n return Tools.IsNotOnlyWhiteSpace(this._user())\r\n && Tools.IsNotOnlyWhiteSpace(this._password)\r\n && Tools.IsNotOnlyWhiteSpace(this._passwordConfirm)\r\n && this._password.length >= 5\r\n && this._passwordConfirm.length >= 5\r\n && !this._isLoading()\r\n && this._password === this._passwordConfirm\r\n }\r\n\r\n\r\n //getter\r\n protected get _profileTitle(): string {\r\n return Tools.IsNotOnlyWhiteSpace(this._user()?.fullName) \r\n ? this._user()?.fullName!\r\n : this._user()?.user!\r\n }\r\n\r\n\r\n //getter\r\n protected get _userImage(): string {\r\n return this._staticLogin\r\n ? this._userImageStatic\r\n : (this.IsNotOnlyWhiteSpace(this.userImage()) ? this.userImage()! : '')\r\n }\r\n\r\n\r\n //computed\r\n protected _toolbarMenu = computed<IMenuToolbar[]>(() => { \r\n let toolbarMenu = this.toolbarMenu();\r\n\r\n if(this._staticLogin) {\r\n const index = toolbarMenu.findIndex(x => x.label.toUpperCase() == 'RESET PASSWORD');\r\n if(index > -1) toolbarMenu.splice(index, 1);\r\n }\r\n\r\n return toolbarMenu.concat([{ label: 'Log Out', icon: 'fa-solid fa-door-open' }]);\r\n }); \r\n\r\n\r\n /** */\r\n protected async __SelectedOption(menu: IMenuToolbar) {\r\n this.onClickMenuOption.emit(menu);\r\n if (Tools.AvoidNull<boolean>(menu?.preventDefault, 'boolean')) return;\r\n const hasPath = Tools.IsNotOnlyWhiteSpace(menu?.path); \r\n\r\n switch(menu.label) {\r\n case 'Profile': {\r\n if(!hasPath) this._modalProfile().Open(); \r\n break;\r\n }\r\n\r\n case 'Reset Password': {\r\n if(!hasPath && !this._staticLogin) {\r\n this._modalPassword().Open();\r\n await Tools.Sleep(750);\r\n this.__Focus();\r\n }\r\n \r\n break;\r\n }\r\n\r\n case 'Log Out': {\r\n if(!hasPath) User.LogOut();\r\n break;\r\n } \r\n } \r\n } \r\n\r\n\r\n /** */\r\n public SetUser(user: string) {\r\n this._loginPage().SetUser(user);\r\n }\r\n\r\n\r\n /** */\r\n public FocusUser() {\r\n this._loginPage().FocusUser();\r\n }\r\n\r\n\r\n /** */\r\n public FocusPassword() {\r\n this._loginPage().FocusPassword();\r\n }\r\n\r\n\r\n /** */\r\n protected __Focus() { \r\n if(Tools.IsOnlyWhiteSpace(this._password)) {\r\n this._inputPassword().Focus();\r\n return;\r\n }\r\n\r\n if(Tools.IsOnlyWhiteSpace(this._passwordConfirm)) { \r\n this._inputPasswordConfirm().Focus();\r\n return;\r\n } \r\n \r\n if(this._enableButtonLogin) {\r\n this._resetButton().Focus();\r\n } \r\n }\r\n\r\n\r\n /** */\r\n protected __ResetPassword() { \r\n if(this._enableButtonLogin && !this._staticLogin) { \r\n this.onResetPassword.emit(this._password);\r\n } \r\n }\r\n\r\n\r\n /** */\r\n public CloseModal() {\r\n this._modalPassword().Close(); \r\n this._modalProfile().Close();\r\n }\r\n\r\n\r\n /** */\r\n public Show(view: 'LOGIN' | 'RECOVERY') {\r\n this._loginPage().Show(view);\r\n }\r\n\r\n\r\n /** */\r\n public UpdateProfile() { \r\n if(!this._staticLogin) {\r\n \r\n const role = this._userRoles().length > 1 \r\n ? Tools.AvoidNull(this._mainRole?.option, 'string') \r\n : this._user()?.role;\r\n\r\n this.onUpdateProfile.emit({ \r\n userId: Tools.AvoidNull(this._user()?.userId, 'number'),\r\n user: Tools.AvoidNull(this._user()?.user, 'string'), \r\n userNumber: Tools.AvoidNull(this._user()?.userNumber, 'string'), \r\n role: role,\r\n fullName: Tools.AvoidNull(this._user()?.fullName, 'string'), \r\n nickname: Tools.AvoidNull(this._nickname, 'string'), \r\n email: Tools.AvoidNull(this._user()?.email, 'string'), \r\n roles: this._userRoles().map(item => item.option) \r\n });\r\n }\r\n }\r\n\r\n\r\n /** */\r\n protected __UploadImage(images: IFile[]) { \r\n if(images.length > 0) {\r\n const [image] = images; \r\n \r\n if(this._staticLogin) {\r\n this._userImageStatic = image.base64 || '';\r\n }\r\n\r\n else {\r\n this.onUploadUserImage.emit(image); \r\n }\r\n }\r\n }\r\n\r\n\r\n /** */\r\n protected __DeleteUserImage(): void { \r\n this._alert.Confirm(`Remove <b>User Image</b> ?`, 'warning', 'fa-solid fa-trash-can').then(response => {\r\n if(response) {\r\n if(this._staticLogin) {\r\n this._userImageStatic = '';\r\n }\r\n\r\n else {\r\n this.onDeleteUserImage.emit();\r\n }\r\n }\r\n }); \r\n }\r\n\r\n\r\n /** */\r\n public OpenSideNav(): void { \r\n if(!isMenuOpenSIGNAL()) {\r\n this._sidenav().Toggle(); \r\n }\r\n }\r\n\r\n\r\n /** */\r\n public CloseSideNav(): void { \r\n if(isMenuOpenSIGNAL()) {\r\n this._sidenav().Toggle(); \r\n }\r\n }\r\n\r\n\r\n /** */ \r\n public StartJWT(validateEvery: number = 1000, diferenceToUpdate: number = 30): void { \r\n if(!this._staticLogin) {\r\n if(Tools.IsOnlyWhiteSpace(this._jwtService.jwt)) {\r\n this._alert.Warning('The JWT has not been provided');\r\n return;\r\n }\r\n\r\n this._WatchJWT();\r\n this.onUpdateJWT.emit();\r\n \r\n clearInterval(this._startJWT$);\r\n this._startJWT$ = setInterval(() => { \r\n const DIFERENCE = Math.abs(moment().diff(this._jwtService.expirationDate, 'minute')); \r\n \r\n if (DIFERENCE <= diferenceToUpdate) {\r\n this.onUpdateJWT.emit();\r\n }\r\n }, validateEvery); \r\n } \r\n }\r\n\r\n\r\n /** */ \r\n protected _WatchJWT(): void { \r\n if (this._jwtService.isExpired) {\r\n User.LogOut();\r\n return;\r\n }\r\n\r\n clearInterval(this._watchJWT$);\r\n this._watchJWT$ = setInterval(() => { \r\n if (this._jwtService.isExpired) {\r\n clearInterval(this._watchJWT$);\r\n User.LogOut();\r\n } \r\n }, 1000); \r\n }\r\n\r\n\r\n /** */\r\n public UpdateJWT(jwt: string): void { \r\n if(this._staticLogin) return;\r\n this._jwtService.UpdateJWT(jwt);\r\n } \r\n\r\n\r\n /** */\r\n public StopJWT(): void {\r\n if(this._staticLogin) return;\r\n clearInterval(this._startJWT$); \r\n } \r\n\r\n\r\n /** */\r\n public UseStaticLogin(): IUserLogin { \r\n User.Set({\r\n user: 'COERSystem', \r\n role: 'Development', \r\n fullName: 'COER System',\r\n email: 'coer.system@gmail.com',\r\n jwt: 'staticLogin'\r\n }); \r\n\r\n return User.Get() as IUserLogin;\r\n }\r\n}","@if(IsNotNull(_user())) {\r\n <coer-toolbar \r\n [user]=\"_user()\" \r\n [image]=\"userImage()\" \r\n [menu]=\"_toolbarMenu()\" \r\n (onClickMenu)=\"sidenav.Toggle()\" \r\n (onClickOption)=\"__SelectedOption($event)\"\r\n ></coer-toolbar>\r\n \r\n <coer-sidenav #sidenav> \r\n <section> \r\n <ng-content></ng-content>\r\n </section> \r\n </coer-sidenav>\r\n\r\n <!-- Modal Profile --> \r\n <coer-modal #modalProfile [title]=\"_profileTitle\" icon=\"fa-solid fa-user\" width=\"auto\"> \r\n <coer-filebox\r\n type=\"image\"\r\n [image]=\"{ \r\n value: _userImage, \r\n name: _profileTitle,\r\n maxWidth: '150px', \r\n maxHeight: '150px', \r\n marginBottom: '15px',\r\n allowExpand: false \r\n }\"\r\n [isLoading]=\"_isLoading()\"\r\n (onSelected)=\"__UploadImage($event)\"\r\n (onDeleteImage)=\"__DeleteUserImage()\"\r\n ></coer-filebox>\r\n\r\n <section class=\"row coer-system-profile\">\r\n <!-- User --> \r\n <div class=\"col-6\">\r\n <coer-textbox\r\n label=\"User\"\r\n [value]=\"_user()?.user\"\r\n [isReadonly]=\"true\" \r\n marginBottom=\"15px\" \r\n ></coer-textbox>\r\n </div>\r\n\r\n <!-- User Number -->\r\n @if(IsNotOnlyWhiteSpace(_user()?.userNumber)) { \r\n <div class=\"col-6\">\r\n <coer-textbox\r\n label=\"Number\"\r\n [value]=\"_user()?.userNumber\"\r\n [isReadonly]=\"true\" \r\n marginBottom=\"15px\" \r\n ></coer-textbox>\r\n </div>\r\n }\r\n\r\n <!-- Email -->\r\n <div class=\"col-6\">\r\n <coer-textbox\r\n label=\"Email\"\r\n [value]=\"_user()?.email\"\r\n [isReadonly]=\"true\" \r\n marginBottom=\"15px\" \r\n ></coer-textbox> \r\n </div>\r\n\r\n <!-- Nickame --> \r\n @if(IsNotOnlyWhiteSpace(_user()?.nickname)) { \r\n <div class=\"col-6\">\r\n <coer-textbox\r\n label=\"Nickame\"\r\n [(ngModel)]=\"_nickname\" \r\n [isLoading]=\"_isLoading()\" \r\n marginBottom=\"15px\" \r\n ></coer-textbox> \r\n </div>\r\n } \r\n\r\n @if(IsNotNull(_user()?.roles) && (_user()?.roles!.length > 1)) {\r\n <!-- Role --> \r\n <div class=\"col-6\">\r\n <coer-selectbox\r\n label=\"Role\"\r\n [(ngModel)]=\"_mainRole\"\r\n propDisplay=\"option\"\r\n [dataSource]=\"_userRoles()\"\r\n [isLoading]=\"_isLoading()\" \r\n marginBottom=\"15px\" \r\n ></coer-selectbox>\r\n </div>\r\n }\r\n\r\n @else {\r\n <div class=\"col-6\">\r\n <coer-textbox\r\n label=\"Role\"\r\n [value]=\"_user()?.role!\" \r\n [isReadonly]=\"true\" \r\n marginBottom=\"15px\" \r\n ></coer-textbox> \r\n </div>\r\n }\r\n </section> \r\n \r\n @if(!_staticLogin) {\r\n <ng-template coerRef=\"footer\">\r\n <coer-button\r\n #buttonSave\r\n color=\"dark\"\r\n icon=\"save\"\r\n [isLoading]=\"_isLoading()\"\r\n (onClick)=\"UpdateProfile()\"\r\n > Update </coer-button>\r\n </ng-template>\r\n } \r\n </coer-modal> \r\n\r\n <!-- Modal Password -->\r\n <coer-modal #modalPassword title=\"Reset Password\" icon=\"fa-solid fa-lock\" (onClose)=\"_password = ''; _passwordConfirm = '';\">\r\n <coer-secretbox\r\n #inputPassword\r\n label=\"New Password\"\r\n [(ngModel)]=\"_password\"\r\n [isLoading]=\"_isLoading()\" \r\n [maxLength]=\"20\"\r\n marginBottom=\"15px\"\r\n (onKeyupEnter)=\"__Focus()\"\r\n ></coer-secretbox>\r\n\r\n <coer-secretbox\r\n #inputPasswordConfirm\r\n label=\"Confirm Password\"\r\n [(ngModel)]=\"_passwordConfirm\"\r\n [isLoading]=\"_isLoading()\" \r\n [maxLength]=\"20\"\r\n (onKeyupEnter)=\"__Focus()\"\r\n ></coer-secretbox>\r\n\r\n <ng-template coerRef=\"footer\">\r\n <!-- Reset Button -->\r\n <coer-button\r\n #resetButton\r\n color=\"dark\" \r\n [isDisabled]=\"!_enableButtonLogin\"\r\n [isLoading]=\"_isLoading()\" \r\n (onClick)=\"__ResetPassword()\"\r\n > Reset </coer-button>\r\n </ng-template>\r\n </coer-modal>\r\n}\r\n\r\n@else {\r\n <login-page \r\n #loginPage \r\n (onLogin)=\"onLogin.emit($event)\"\r\n (onRecovery)=\"onRecoveryPassword.emit($event)\"\r\n ></login-page>\r\n} \r\n\r\n<coer-alert></coer-alert> \r\n\r\n<div class=\"d-none\">\r\n <span id=\"coer-system-actionColors-primary\"></span>\r\n <span id=\"coer-system-actionColors-secondary\"></span>\r\n <span id=\"coer-system-actionColors-success\"></span>\r\n <span id=\"coer-system-actionColors-warning\"></span>\r\n <span id=\"coer-system-actionColors-danger\"></span>\r\n <span id=\"coer-system-actionColors-navigation\"></span>\r\n <span id=\"coer-system-actionColors-information\"></span>\r\n <span id=\"coer-system-appColors-breadcrumbs\"></span>\r\n <span id=\"coer-system-appColors-background\"></span> \r\n <span id=\"coer-system-appColors-containers\"></span>\r\n <span id=\"coer-system-appColors-sidenav\"></span> \r\n <span id=\"coer-system-appColors-sidenav-text\"></span>\r\n <span id=\"coer-system-appColors-toolbar\"></span> \r\n <span id=\"coer-system-appColors-toolbar-text\"></span> \r\n</div>","import { NgModule } from '@angular/core'; \r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n//Pages \r\nimport { CoerMenuPage } from './coer-menu/coer-menu.component';\r\nimport { ComponentsModule } from 'coer-elements/components';\r\nimport { DirectivesModule } from 'coer-elements/directives';\r\nimport { HomePage } from './home/home.component';\r\nimport { LoadingPage } from './coer-loading/loading.component';\r\nimport { COERSystem } from './coer-system/coer-system.component';\r\nimport { LoginPage } from './coer-system/login/login.component';\r\nimport { CoerAlert } from 'coer-elements/tools';\r\n\r\nexport const ROUTES: any = [ \r\n { path: 'menu', component: CoerMenuPage, data: { Page: 'COER' }},\r\n { path: 'loading', component: LoadingPage, data: { Page: 'COER' }},\r\n { path: 'home', component: HomePage, data: { Page: 'COER' }},\r\n { path: '**', redirectTo: '/home' } \r\n];\r\n\r\n@NgModule({ \r\n imports: [\r\n CommonModule, \r\n RouterModule, \r\n FormsModule, \r\n ComponentsModule, \r\n DirectivesModule,\r\n CoerAlert\r\n ],\r\n declarations: [\r\n COERSystem,\r\n LoginPage,\r\n CoerMenuPage,\r\n HomePage,\r\n LoadingPage,\r\n ],\r\n exports: [ \r\n COERSystem, \r\n CoerMenuPage,\r\n HomePage,\r\n LoadingPage,\r\n ]\r\n})\r\nexport class PagesModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i5.LoginPage"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"coer-elements-services.mjs","sources":["../../../projects/coer-elements/services/lib/jwt.service.ts","../../../projects/coer-elements/services/lib/services.module.ts","../../../projects/coer-elements/services/coer-elements-services.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { DateTime, Tools, User } from 'coer-elements/tools'; \r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JWTService {\r\n\r\n private readonly jwtService = inject(JwtHelperService);\r\n \r\n \r\n /** */\r\n public get jwt(): string { \r\n return User.Get
|
1
|
+
{"version":3,"file":"coer-elements-services.mjs","sources":["../../../projects/coer-elements/services/lib/jwt.service.ts","../../../projects/coer-elements/services/lib/services.module.ts","../../../projects/coer-elements/services/coer-elements-services.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { DateTime, Tools, User } from 'coer-elements/tools'; \r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JWTService {\r\n\r\n private readonly jwtService = inject(JwtHelperService);\r\n \r\n \r\n /** */\r\n public get jwt(): string { \r\n return User.Get()?.jwt || '';\r\n }\r\n\r\n \r\n /** */\r\n public get expirationDate(): string | null { \r\n return Tools.IsNotOnlyWhiteSpace(this.jwt) && Tools.IsNotNull(this.jwtService.getTokenExpirationDate(this.jwt))\r\n ? DateTime.GetFormatDB(this.jwtService.getTokenExpirationDate(this.jwt)!)\r\n : null\r\n }\r\n\r\n\r\n /** */\r\n public get isExpired(): boolean { \r\n return Tools.IsNotOnlyWhiteSpace(this.jwt)\r\n ? this.jwtService.isTokenExpired(this.jwt)\r\n : true\r\n }\r\n\r\n\r\n /** */\r\n public UpdateJWT(jwt: string): void { \r\n let user = User.Get();\r\n\r\n if (user) {\r\n user = Object.assign(user, { jwt });\r\n User.Set(user);\r\n } \r\n }\r\n}","import { NgModule } from '@angular/core'; \r\n\r\n//Services\r\nimport { JWTService } from './jwt.service';\r\n\r\n@NgModule({ \r\n providers: [ \r\n JWTService \r\n ]\r\n})\r\nexport class ServicesModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAOa,UAAU,CAAA;AAHvB,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAkCzD;;AA9BG,IAAA,IAAW,GAAG,GAAA;QACV,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE;;;AAKhC,IAAA,IAAW,cAAc,GAAA;QACrB,OAAO,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1G,cAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAE;cACtE,IAAI;;;AAKd,IAAA,IAAW,SAAS,GAAA;AAChB,QAAA,OAAO,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG;cACnC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG;cACvC,IAAI;;;AAKP,IAAA,SAAS,CAAC,GAAW,EAAA;AACxB,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE;QAErB,IAAI,IAAI,EAAE;YACN,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;;;8GAjCb,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,cAFP,MAAM,EAAA,CAAA,CAAA;;2FAET,UAAU,EAAA,UAAA,EAAA,CAAA;kBAHtB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCIY,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAd,cAAc,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAJZ,SAAA,EAAA;YACP;AACH,SAAA,EAAA,CAAA,CAAA;;2FAEQ,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,SAAS,EAAE;wBACP;AACH;AACJ,iBAAA;;;ACTD;;AAEG;;;;"}
|
@@ -17,15 +17,38 @@ const BREAKPOINT = computed(() => {
|
|
17
17
|
});
|
18
18
|
const breakpointSIGNAL = signal(BREAKPOINT());
|
19
19
|
|
20
|
-
const
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
20
|
+
const colorsSIGNAL = signal({
|
21
|
+
fixedColors: {
|
22
|
+
blue: '#0d6efd',
|
23
|
+
gray: '#6c757d',
|
24
|
+
green: '#198754',
|
25
|
+
yellow: '#ffc107',
|
26
|
+
red: '#dc3545',
|
27
|
+
smoke: '#f5f5f5',
|
28
|
+
black: '#252525',
|
29
|
+
orange: '#fd6031',
|
30
|
+
white: '#ffffff',
|
31
|
+
purple: '#a615bc'
|
32
|
+
},
|
33
|
+
actionColors: {
|
34
|
+
primary: '',
|
35
|
+
secondary: '',
|
36
|
+
success: '',
|
37
|
+
warning: '',
|
38
|
+
danger: '',
|
39
|
+
navigation: '',
|
40
|
+
information: ''
|
41
|
+
},
|
42
|
+
appColors: {
|
43
|
+
breadcrumbs: '',
|
44
|
+
background: '',
|
45
|
+
containers: '',
|
46
|
+
sidenav: '',
|
47
|
+
sidenavText: '',
|
48
|
+
toolbar: '',
|
49
|
+
toolbarText: ''
|
50
|
+
}
|
51
|
+
});
|
29
52
|
|
30
53
|
const isLoadingSIGNAL = signal(false);
|
31
54
|
|
@@ -41,5 +64,5 @@ const navigationSIGNAL = signal([]);
|
|
41
64
|
* Generated bundle index. Do not edit.
|
42
65
|
*/
|
43
66
|
|
44
|
-
export {
|
67
|
+
export { breakpointSIGNAL, colorsSIGNAL, isLoadingSIGNAL, isMenuOpenSIGNAL, isModalOpenSIGNAL, menuSelectedSIGNAL, navigationSIGNAL };
|
45
68
|
//# sourceMappingURL=coer-elements-signals.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"coer-elements-signals.mjs","sources":["../../../projects/coer-elements/signals/lib/breakpoint.signal.ts","../../../projects/coer-elements/signals/lib/colors.signal.ts","../../../projects/coer-elements/signals/lib/is-loading.signal.ts","../../../projects/coer-elements/signals/lib/is-menu-open.signal.ts","../../../projects/coer-elements/signals/lib/is-modal-open.signal.ts","../../../projects/coer-elements/signals/lib/menu-selected.signal.ts","../../../projects/coer-elements/signals/lib/navigation.signal.ts","../../../projects/coer-elements/signals/coer-elements-signals.ts"],"sourcesContent":["import { computed, signal } from '@angular/core'; \r\n\r\n//computed\r\nconst BREAKPOINT = computed<'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>(() => {\r\n if (window.innerWidth < 576) return 'xs';\r\n else if (window.innerWidth >= 576 && window.innerWidth < 768) return 'sm';\r\n else if (window.innerWidth >= 768 && window.innerWidth < 992) return 'md';\r\n else if (window.innerWidth >= 992 && window.innerWidth < 1200) return 'lg';\r\n else if (window.innerWidth >= 1200 && window.innerWidth < 1400) return 'xl';\r\n else return 'xxl';\r\n});\r\n\r\nexport const breakpointSIGNAL = signal<'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>(BREAKPOINT()); ","import { signal } from '@angular/core'; \r\n\r\nexport const
|
1
|
+
{"version":3,"file":"coer-elements-signals.mjs","sources":["../../../projects/coer-elements/signals/lib/breakpoint.signal.ts","../../../projects/coer-elements/signals/lib/colors.signal.ts","../../../projects/coer-elements/signals/lib/is-loading.signal.ts","../../../projects/coer-elements/signals/lib/is-menu-open.signal.ts","../../../projects/coer-elements/signals/lib/is-modal-open.signal.ts","../../../projects/coer-elements/signals/lib/menu-selected.signal.ts","../../../projects/coer-elements/signals/lib/navigation.signal.ts","../../../projects/coer-elements/signals/coer-elements-signals.ts"],"sourcesContent":["import { computed, signal } from '@angular/core'; \r\n\r\n//computed\r\nconst BREAKPOINT = computed<'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>(() => {\r\n if (window.innerWidth < 576) return 'xs';\r\n else if (window.innerWidth >= 576 && window.innerWidth < 768) return 'sm';\r\n else if (window.innerWidth >= 768 && window.innerWidth < 992) return 'md';\r\n else if (window.innerWidth >= 992 && window.innerWidth < 1200) return 'lg';\r\n else if (window.innerWidth >= 1200 && window.innerWidth < 1400) return 'xl';\r\n else return 'xxl';\r\n});\r\n\r\nexport const breakpointSIGNAL = signal<'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>(BREAKPOINT()); ","import { signal } from '@angular/core'; \r\nimport { IColors } from 'coer-elements/interfaces';\r\n\r\nexport const colorsSIGNAL = signal<IColors>({\r\n fixedColors: {\r\n blue: '#0d6efd',\r\n gray: '#6c757d',\r\n green: '#198754',\r\n yellow: '#ffc107',\r\n red: '#dc3545',\r\n smoke: '#f5f5f5',\r\n black: '#252525',\r\n orange: '#fd6031',\r\n white: '#ffffff',\r\n purple: '#a615bc'\r\n },\r\n actionColors: {\r\n primary: '',\r\n secondary: '',\r\n success: '',\r\n warning: '',\r\n danger: '',\r\n navigation: '',\r\n information: ''\r\n },\r\n appColors: {\r\n breadcrumbs: '',\r\n background: '',\r\n containers: '',\r\n sidenav: '',\r\n sidenavText: '',\r\n toolbar: '', \r\n toolbarText: ''\r\n }\r\n}); ","import { signal } from '@angular/core'; \r\nexport const isLoadingSIGNAL = signal<boolean>(false);","import { signal } from \"@angular/core\";\r\nexport const isMenuOpenSIGNAL = signal<boolean>(false);","import { signal } from \"@angular/core\";\r\nexport const isModalOpenSIGNAL = signal<boolean>(false); ","import { signal } from \"@angular/core\";\r\nimport { IMenuSelected } from \"coer-elements/interfaces\";\r\nexport const menuSelectedSIGNAL = signal<IMenuSelected | null>(null);","import { signal } from \"@angular/core\";\r\nimport { IMenu } from \"coer-elements/interfaces\";\r\nexport const navigationSIGNAL = signal<IMenu[]>([]);","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAEA;AACA,MAAM,UAAU,GAAG,QAAQ,CAA2C,MAAK;AACvE,IAAA,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG;AAAE,QAAA,OAAO,IAAI;SACnC,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG;AAAE,QAAA,OAAO,IAAI;SACpE,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG;AAAE,QAAA,OAAO,IAAI;SACpE,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI;AAAE,QAAA,OAAO,IAAI;SACrE,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI;AAAE,QAAA,OAAO,IAAI;;AACtE,QAAA,OAAO,KAAK;AACrB,CAAC,CAAC;MAEW,gBAAgB,GAAG,MAAM,CAA2C,UAAU,EAAE;;ACTtF,MAAM,YAAY,GAAG,MAAM,CAAU;AACxC,IAAA,WAAW,EAAE;AACT,QAAA,IAAI,EAAI,SAAS;AACjB,QAAA,IAAI,EAAI,SAAS;AACjB,QAAA,KAAK,EAAG,SAAS;AACjB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,GAAG,EAAK,SAAS;AACjB,QAAA,KAAK,EAAG,SAAS;AACjB,QAAA,KAAK,EAAG,SAAS;AACjB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,KAAK,EAAG,SAAS;AACjB,QAAA,MAAM,EAAE;AACX,KAAA;AACD,IAAA,YAAY,EAAE;AACV,QAAA,OAAO,EAAM,EAAE;AACf,QAAA,SAAS,EAAI,EAAE;AACf,QAAA,OAAO,EAAM,EAAE;AACf,QAAA,OAAO,EAAM,EAAE;AACf,QAAA,MAAM,EAAO,EAAE;AACf,QAAA,UAAU,EAAG,EAAE;AACf,QAAA,WAAW,EAAE;AAChB,KAAA;AACD,IAAA,SAAS,EAAE;AACP,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,UAAU,EAAG,EAAE;AACf,QAAA,UAAU,EAAG,EAAE;AACf,QAAA,OAAO,EAAM,EAAE;AACf,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,OAAO,EAAM,EAAE;AACf,QAAA,WAAW,EAAE;AAChB;AACJ,CAAA;;MCjCY,eAAe,GAAG,MAAM,CAAU,KAAK;;MCAvC,gBAAgB,GAAG,MAAM,CAAU,KAAK;;MCAxC,iBAAiB,GAAG,MAAM,CAAU,KAAK;;MCCzC,kBAAkB,GAAG,MAAM,CAAuB,IAAI;;MCAtD,gBAAgB,GAAG,MAAM,CAAU,EAAE;;ACFlD;;AAEG;;;;"}
|