@koalarx/ui 20.3.0 → 20.4.3
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/core/base/index.d.ts +5 -5
- package/core/config/index.d.ts +4 -1
- package/core/translations/index.d.ts +1 -0
- package/fesm2022/koalarx-ui-core-base.mjs.map +1 -1
- package/fesm2022/koalarx-ui-core-components-kl-root.mjs +13 -0
- package/fesm2022/koalarx-ui-core-components-kl-root.mjs.map +1 -1
- package/fesm2022/koalarx-ui-core-config.mjs +3 -1
- package/fesm2022/koalarx-ui-core-config.mjs.map +1 -1
- package/fesm2022/koalarx-ui-core-translations.mjs +2 -0
- package/fesm2022/koalarx-ui-core-translations.mjs.map +1 -1
- package/fesm2022/koalarx-ui-shared-components-input-field-select.mjs +421 -19
- package/fesm2022/koalarx-ui-shared-components-input-field-select.mjs.map +1 -1
- package/fesm2022/koalarx-ui-shared-components-input-field.mjs +12 -12
- package/fesm2022/koalarx-ui-shared-components-input-field.mjs.map +1 -1
- package/fesm2022/koalarx-ui-theme.mjs +4 -0
- package/fesm2022/koalarx-ui-theme.mjs.map +1 -0
- package/package.json +47 -47
- package/shared/components/field-errors/index.d.ts +1 -0
- package/shared/components/input-field/index.d.ts +4 -6
- package/shared/components/input-field/input-cnpj/index.d.ts +1 -0
- package/shared/components/input-field/input-cpf/index.d.ts +1 -0
- package/shared/components/input-field/input-password/index.d.ts +1 -0
- package/shared/components/input-field/input-url/index.d.ts +1 -0
- package/shared/components/input-field/select/index.d.ts +70 -9
- package/theme/animations.css +12 -0
- package/theme/form.css +200 -8
- package/theme/index.d.ts +3 -0
- package/theme/index.ts +1 -0
- package/theme/ng-package.json +6 -0
- package/theme/package.json +3 -0
- package/theme/theme-name.ts +37 -0
- package/fesm2022/koalarx-ui-shared-components-input-field-autocomplete.mjs +0 -638
- package/fesm2022/koalarx-ui-shared-components-input-field-autocomplete.mjs.map +0 -1
- package/shared/components/input-field/autocomplete/index.d.ts +0 -156
- package/shared/components/input-field/autocomplete/package.json +0 -3
package/core/base/index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { Injector, Signal, Type } from '@angular/core';
|
|
3
|
+
import * as _koalarx_ui_shared_components_input_field_select from '@koalarx/ui/shared/components/input-field/select';
|
|
4
|
+
import { SelectOption } from '@koalarx/ui/shared/components/input-field/select';
|
|
3
5
|
import * as _angular_common_http from '@angular/common/http';
|
|
4
6
|
import { HttpClient, HttpResourceRef } from '@angular/common/http';
|
|
5
7
|
import * as rxjs from 'rxjs';
|
|
6
8
|
import { GetManyResult, QueryPagination, SortFilterType } from '@koalarx/ui/core/models';
|
|
7
|
-
import { AutocompleteOption } from '@koalarx/ui/shared/components/input-field/autocomplete';
|
|
8
|
-
import { SelectOption } from '@koalarx/ui/shared/components/input-field/select';
|
|
9
9
|
import { DatatableConfig } from '@koalarx/ui/shared/components/datatable';
|
|
10
10
|
|
|
11
11
|
interface HttpResourceRequestOptions<EntityType> {
|
|
12
12
|
debounceTime?: number;
|
|
13
13
|
endpoint?: string;
|
|
14
|
-
mapOption?: (item: any) => Omit<
|
|
14
|
+
mapOption?: (item: any) => Omit<SelectOption<EntityType> | GetManyResult<EntityType>, 'data'>;
|
|
15
15
|
}
|
|
16
16
|
declare abstract class HttpBase<EntityType = any, PayloadType = any, QueryType = any> {
|
|
17
17
|
protected readonly resource: string;
|
|
@@ -30,10 +30,10 @@ declare abstract class HttpBase<EntityType = any, PayloadType = any, QueryType =
|
|
|
30
30
|
getManyWithResource<TResponse = EntityType>(query: Signal<QueryType>, { endpoint, mapOption, }?: Omit<HttpResourceRequestOptions<TResponse>, 'debounceTime'>): _angular_common_http.HttpResourceRef<GetManyResult<TResponse> | undefined>;
|
|
31
31
|
getByIdWithResource<TResponse = EntityType>(id: Signal<string | null>, endpoint?: string, mapResponse?: (response: TResponse) => TResponse): _angular_common_http.HttpResourceRef<TResponse | undefined>;
|
|
32
32
|
getByOneWithResource<TResponse = EntityType>(endpoint: Signal<string | null>, params?: Signal<any>, mapResponse?: (response: TResponse) => TResponse): _angular_common_http.HttpResourceRef<TResponse | undefined>;
|
|
33
|
-
getManyForSelector<TResponse = EntityType>(query: QueryType | Signal<QueryType>, mapOption: (item: TResponse) => Omit<
|
|
33
|
+
getManyForSelector<TResponse = EntityType>(query: QueryType | Signal<QueryType>, mapOption: (item: TResponse) => Omit<SelectOption<TResponse>, 'data'>): _angular_core.ResourceRef<{
|
|
34
34
|
data: TResponse;
|
|
35
35
|
label: string;
|
|
36
|
-
value:
|
|
36
|
+
value: _koalarx_ui_shared_components_input_field_select.SelectValue;
|
|
37
37
|
}[]>;
|
|
38
38
|
}
|
|
39
39
|
|
package/core/config/index.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { ThemeName } from '@koalarx/ui/theme';
|
|
1
3
|
import { HttpClientErrorsMiddleware } from '@koalarx/ui/core/middlewares';
|
|
2
4
|
import { AuthConfig } from '@koalarx/ui/core/models';
|
|
3
5
|
import { KoalaLanguage, Translation } from '@koalarx/ui/core/translations';
|
|
4
6
|
|
|
5
7
|
declare const GENERIC_COMPONENT_CONTAINER_NAME = ".kl-generic-component-container";
|
|
8
|
+
declare const CURRENT_THEME: _angular_core.WritableSignal<ThemeName | null>;
|
|
6
9
|
|
|
7
10
|
declare class AppConfig {
|
|
8
11
|
private _hostApi;
|
|
@@ -22,4 +25,4 @@ declare class AppConfig {
|
|
|
22
25
|
get authConfig(): AuthConfig | undefined;
|
|
23
26
|
}
|
|
24
27
|
|
|
25
|
-
export { AppConfig, GENERIC_COMPONENT_CONTAINER_NAME };
|
|
28
|
+
export { AppConfig, CURRENT_THEME, GENERIC_COMPONENT_CONTAINER_NAME };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koalarx-ui-core-base.mjs","sources":["../../projects/koala-ui/core/base/http-base.ts","../../projects/koala-ui/core/base/list-base.ts","../../projects/koala-ui/core/base/page-base.ts","../../projects/koala-ui/core/base/koalarx-ui-core-base.ts"],"sourcesContent":["import { HttpClient, httpResource } from '@angular/common/http';\nimport { inject, Injector, Signal } from '@angular/core';\nimport { rxResource } from '@angular/core/rxjs-interop';\nimport { AppConfig } from '@koalarx/ui/core/config';\nimport { GetManyResult } from '@koalarx/ui/core/models';\nimport { AutocompleteOption } from '@koalarx/ui/shared/components/input-field/autocomplete';\nimport { SelectOption } from '@koalarx/ui/shared/components/input-field/select';\nimport { first } from 'rxjs/internal/operators/first';\nimport { map } from 'rxjs/internal/operators/map';\n\nexport interface HttpResourceRequestOptions<EntityType> {\n debounceTime?: number;\n endpoint?: string;\n mapOption?: (\n item: any\n ) => Omit<\n | AutocompleteOption<EntityType>\n | SelectOption<EntityType>\n | GetManyResult<EntityType>,\n 'data'\n >;\n}\n\nexport abstract class HttpBase<\n EntityType = any,\n PayloadType = any,\n QueryType = any\n> {\n private readonly appConfig = inject(AppConfig);\n protected readonly injector = inject(Injector);\n protected readonly http = inject(HttpClient);\n protected readonly url: string;\n protected readonly hostApi: string;\n\n constructor(protected readonly resource: string, hostApi?: string) {\n this.hostApi = hostApi || this.appConfig.hostApi || '';\n this.url = `${this.hostApi}/${this.resource}`;\n }\n\n post<T>(data: PayloadType, endpoint = '') {\n return this.http.post<T>(`${this.url}${endpoint}`, data).pipe(first());\n }\n\n put<T>(id: string, data: PayloadType) {\n return this.http.put<T>(`${this.url}/${id}`, data).pipe(first());\n }\n\n patch<T>(id: string, data: any) {\n return this.http.patch<T>(`${this.url}/${id}`, data).pipe(first());\n }\n\n delete<T>(id: string) {\n return this.http.delete<T>(`${this.url}/${id}`).pipe(first());\n }\n\n getMany<TResponse = EntityType>(query: QueryType, endpoint = '') {\n return this.http.get<GetManyResult<TResponse>>(`${this.url}${endpoint}`, {\n params: query as any,\n });\n }\n\n getById<TResponse = EntityType>(id: string | null) {\n return this.http.get<TResponse>(`${this.url}/${id}`);\n }\n\n getManyWithResource<TResponse = EntityType>(\n query: Signal<QueryType>,\n {\n endpoint = '',\n mapOption,\n }: Omit<HttpResourceRequestOptions<TResponse>, 'debounceTime'> = {}\n ) {\n return httpResource<GetManyResult<TResponse>>(\n () => {\n return {\n url: `${this.url}${endpoint}`,\n params: query() as any,\n };\n },\n {\n parse: mapOption as (data: any) => any,\n }\n );\n }\n\n getByIdWithResource<TResponse = EntityType>(\n id: Signal<string | null>,\n endpoint = ':id',\n mapResponse?: (response: TResponse) => TResponse\n ) {\n return httpResource<TResponse>(\n () => {\n const resourceId = id();\n\n if (!resourceId) {\n return undefined;\n }\n\n return `${this.url}/${endpoint.replace(':id', resourceId)}`;\n },\n {\n parse: mapResponse as (resume: any) => TResponse,\n }\n );\n }\n\n getByOneWithResource<TResponse = EntityType>(\n endpoint: Signal<string | null>,\n params?: Signal<any>,\n mapResponse?: (response: TResponse) => TResponse\n ) {\n return httpResource<TResponse>(\n () => {\n const resourceUrl = endpoint();\n\n if (!resourceUrl) {\n return undefined;\n }\n\n return {\n url: `${this.url}/${resourceUrl}`,\n params: params ? params() : undefined,\n };\n },\n {\n parse: mapResponse as (resume: any) => TResponse,\n }\n );\n }\n\n getManyForSelector<TResponse = EntityType>(\n query: QueryType | Signal<QueryType>,\n mapOption: (\n item: TResponse\n ) => Omit<AutocompleteOption<TResponse> | SelectOption<TResponse>, 'data'>\n ) {\n return rxResource({\n defaultValue: [],\n params: () => (query instanceof Function ? query() : query),\n stream: (data) =>\n this.getMany<TResponse>(data.params).pipe(\n map((response) =>\n response.items.map((item) => ({\n ...mapOption(item),\n data: item,\n }))\n )\n ),\n });\n }\n}\n","import { HttpResourceRef } from '@angular/common/http';\nimport {\n computed,\n Directive,\n effect,\n inject,\n input,\n linkedSignal,\n model,\n signal,\n Type,\n} from '@angular/core';\nimport {\n GetManyResult,\n QueryPagination,\n SortFilterType,\n} from '@koalarx/ui/core/models';\nimport { DatatableConfig } from '@koalarx/ui/shared/components/datatable';\nimport { HttpBase } from './http-base';\n\ntype PaginationType = 'paginator' | 'loadMore';\n\n@Directive()\nexport abstract class ListBase<\n QueryType extends QueryPagination,\n TEntity = any\n> {\n private reloading = false;\n private currentPaginationType: PaginationType = 'paginator';\n protected readonly resourceRef: HttpResourceRef<\n GetManyResult<TEntity> | undefined\n >;\n protected readonly limitPage = signal(30);\n protected readonly page = signal(1);\n protected readonly filter = signal<QueryType>({} as any);\n protected readonly resource: HttpBase<TEntity, any, QueryType>;\n protected readonly totalItemsOnPage = signal(0);\n protected readonly totalItems = signal(0);\n protected readonly list = signal<TEntity[]>([]);\n protected readonly sortFilter = signal<SortFilterType | null>(null);\n protected readonly paginationType = model<PaginationType>('paginator');\n protected readonly withPagination = computed<boolean>(() => {\n this.currentPaginationType = this.paginationType();\n return this.currentPaginationType === 'paginator';\n });\n protected readonly datatableConfig = linkedSignal(\n () =>\n ({\n currentPage: this.page(),\n totalItems: this.totalItems(),\n totalItemsOnPage: this.totalItemsOnPage(),\n currentPageSize: this.limitPage(),\n isLoading: this.resourceRef.isLoading(),\n hasError: !!this.resourceRef.error(),\n } as DatatableConfig)\n );\n\n queryParams = computed<QueryType>(\n () =>\n ({\n page: this.page(),\n limit: this.limitPage(),\n ...(this.sortFilter() ?? {}),\n ...this.filter(),\n } as QueryType)\n );\n reload = input<boolean>(false);\n\n constructor(\n // eslint-disable-next-line @angular-eslint/prefer-inject\n resource: Type<HttpBase<TEntity, any, QueryType>>,\n // eslint-disable-next-line @angular-eslint/prefer-inject\n protected readonly componentFilter?: Type<any>\n ) {\n this.resource = inject(resource);\n this.resourceRef = this.resource.getManyWithResource(this.queryParams);\n\n effect(() => {\n this.filter();\n this.page.set(1);\n });\n\n effect(() => {\n const queryParams = this.queryParams();\n\n if (queryParams.page === 1 && !this.reloading) {\n this.reloading = true;\n return;\n }\n });\n\n effect(() => {\n const withPagination = this.currentPaginationType === 'paginator';\n const result = this.resourceRef.value();\n\n if (!withPagination && !this.reloading) {\n if (result) {\n this.list.update((current) => [...current, ...result.items]);\n this.totalItemsOnPage.update(\n (current) => current + result.items.length\n );\n this.totalItems.set(result.count);\n }\n this.reloading = false;\n return;\n }\n\n if (!result) {\n this.list.set([]);\n this.totalItemsOnPage.set(0);\n this.totalItems.set(0);\n this.reloading = false;\n return;\n }\n\n this.list.set(result.items);\n this.totalItemsOnPage.set(result.items.length);\n this.totalItems.set(result.count);\n this.reloading = false;\n });\n\n effect(() => {\n if (this.reload()) {\n this.reloadList();\n }\n });\n }\n\n protected sort(sortFilter: SortFilterType) {\n this.sortFilter.set(sortFilter);\n }\n\n protected reloadList() {\n this.reloading = true;\n this.list.set([]);\n this.totalItemsOnPage.set(0);\n this.totalItems.set(0);\n this.page.set(1);\n this.resourceRef.reload();\n }\n\n protected loadMore() {\n this.page.update((current) => current + 1);\n }\n}\n","import { signal } from '@angular/core';\n\nexport abstract class PageBase {\n protected reload = signal(false);\n\n protected reloadList() {\n this.reload.set(true);\n setTimeout(() => this.reload.set(false));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koalarx-ui-core-base.mjs","sources":["../../projects/koala-ui/core/base/http-base.ts","../../projects/koala-ui/core/base/list-base.ts","../../projects/koala-ui/core/base/page-base.ts","../../projects/koala-ui/core/base/koalarx-ui-core-base.ts"],"sourcesContent":["import { HttpClient, httpResource } from '@angular/common/http';\nimport { inject, Injector, Signal } from '@angular/core';\nimport { rxResource } from '@angular/core/rxjs-interop';\nimport { AppConfig } from '@koalarx/ui/core/config';\nimport { GetManyResult } from '@koalarx/ui/core/models';\nimport { SelectOption } from '@koalarx/ui/shared/components/input-field/select';\nimport { first } from 'rxjs/internal/operators/first';\nimport { map } from 'rxjs/internal/operators/map';\n\nexport interface HttpResourceRequestOptions<EntityType> {\n debounceTime?: number;\n endpoint?: string;\n mapOption?: (\n item: any\n ) => Omit<SelectOption<EntityType> | GetManyResult<EntityType>, 'data'>;\n}\n\nexport abstract class HttpBase<\n EntityType = any,\n PayloadType = any,\n QueryType = any\n> {\n private readonly appConfig = inject(AppConfig);\n protected readonly injector = inject(Injector);\n protected readonly http = inject(HttpClient);\n protected readonly url: string;\n protected readonly hostApi: string;\n\n constructor(protected readonly resource: string, hostApi?: string) {\n this.hostApi = hostApi || this.appConfig.hostApi || '';\n this.url = `${this.hostApi}/${this.resource}`;\n }\n\n post<T>(data: PayloadType, endpoint = '') {\n return this.http.post<T>(`${this.url}${endpoint}`, data).pipe(first());\n }\n\n put<T>(id: string, data: PayloadType) {\n return this.http.put<T>(`${this.url}/${id}`, data).pipe(first());\n }\n\n patch<T>(id: string, data: any) {\n return this.http.patch<T>(`${this.url}/${id}`, data).pipe(first());\n }\n\n delete<T>(id: string) {\n return this.http.delete<T>(`${this.url}/${id}`).pipe(first());\n }\n\n getMany<TResponse = EntityType>(query: QueryType, endpoint = '') {\n return this.http.get<GetManyResult<TResponse>>(`${this.url}${endpoint}`, {\n params: query as any,\n });\n }\n\n getById<TResponse = EntityType>(id: string | null) {\n return this.http.get<TResponse>(`${this.url}/${id}`);\n }\n\n getManyWithResource<TResponse = EntityType>(\n query: Signal<QueryType>,\n {\n endpoint = '',\n mapOption,\n }: Omit<HttpResourceRequestOptions<TResponse>, 'debounceTime'> = {}\n ) {\n return httpResource<GetManyResult<TResponse>>(\n () => {\n return {\n url: `${this.url}${endpoint}`,\n params: query() as any,\n };\n },\n {\n parse: mapOption as (data: any) => any,\n }\n );\n }\n\n getByIdWithResource<TResponse = EntityType>(\n id: Signal<string | null>,\n endpoint = ':id',\n mapResponse?: (response: TResponse) => TResponse\n ) {\n return httpResource<TResponse>(\n () => {\n const resourceId = id();\n\n if (!resourceId) {\n return undefined;\n }\n\n return `${this.url}/${endpoint.replace(':id', resourceId)}`;\n },\n {\n parse: mapResponse as (resume: any) => TResponse,\n }\n );\n }\n\n getByOneWithResource<TResponse = EntityType>(\n endpoint: Signal<string | null>,\n params?: Signal<any>,\n mapResponse?: (response: TResponse) => TResponse\n ) {\n return httpResource<TResponse>(\n () => {\n const resourceUrl = endpoint();\n\n if (!resourceUrl) {\n return undefined;\n }\n\n return {\n url: `${this.url}/${resourceUrl}`,\n params: params ? params() : undefined,\n };\n },\n {\n parse: mapResponse as (resume: any) => TResponse,\n }\n );\n }\n\n getManyForSelector<TResponse = EntityType>(\n query: QueryType | Signal<QueryType>,\n mapOption: (item: TResponse) => Omit<SelectOption<TResponse>, 'data'>\n ) {\n return rxResource({\n defaultValue: [],\n params: () => (query instanceof Function ? query() : query),\n stream: (data) =>\n this.getMany<TResponse>(data.params).pipe(\n map((response) =>\n response.items.map((item) => ({\n ...mapOption(item),\n data: item,\n }))\n )\n ),\n });\n }\n}\n","import { HttpResourceRef } from '@angular/common/http';\nimport {\n computed,\n Directive,\n effect,\n inject,\n input,\n linkedSignal,\n model,\n signal,\n Type,\n} from '@angular/core';\nimport {\n GetManyResult,\n QueryPagination,\n SortFilterType,\n} from '@koalarx/ui/core/models';\nimport { DatatableConfig } from '@koalarx/ui/shared/components/datatable';\nimport { HttpBase } from './http-base';\n\ntype PaginationType = 'paginator' | 'loadMore';\n\n@Directive()\nexport abstract class ListBase<\n QueryType extends QueryPagination,\n TEntity = any\n> {\n private reloading = false;\n private currentPaginationType: PaginationType = 'paginator';\n protected readonly resourceRef: HttpResourceRef<\n GetManyResult<TEntity> | undefined\n >;\n protected readonly limitPage = signal(30);\n protected readonly page = signal(1);\n protected readonly filter = signal<QueryType>({} as any);\n protected readonly resource: HttpBase<TEntity, any, QueryType>;\n protected readonly totalItemsOnPage = signal(0);\n protected readonly totalItems = signal(0);\n protected readonly list = signal<TEntity[]>([]);\n protected readonly sortFilter = signal<SortFilterType | null>(null);\n protected readonly paginationType = model<PaginationType>('paginator');\n protected readonly withPagination = computed<boolean>(() => {\n this.currentPaginationType = this.paginationType();\n return this.currentPaginationType === 'paginator';\n });\n protected readonly datatableConfig = linkedSignal(\n () =>\n ({\n currentPage: this.page(),\n totalItems: this.totalItems(),\n totalItemsOnPage: this.totalItemsOnPage(),\n currentPageSize: this.limitPage(),\n isLoading: this.resourceRef.isLoading(),\n hasError: !!this.resourceRef.error(),\n } as DatatableConfig)\n );\n\n queryParams = computed<QueryType>(\n () =>\n ({\n page: this.page(),\n limit: this.limitPage(),\n ...(this.sortFilter() ?? {}),\n ...this.filter(),\n } as QueryType)\n );\n reload = input<boolean>(false);\n\n constructor(\n // eslint-disable-next-line @angular-eslint/prefer-inject\n resource: Type<HttpBase<TEntity, any, QueryType>>,\n // eslint-disable-next-line @angular-eslint/prefer-inject\n protected readonly componentFilter?: Type<any>\n ) {\n this.resource = inject(resource);\n this.resourceRef = this.resource.getManyWithResource(this.queryParams);\n\n effect(() => {\n this.filter();\n this.page.set(1);\n });\n\n effect(() => {\n const queryParams = this.queryParams();\n\n if (queryParams.page === 1 && !this.reloading) {\n this.reloading = true;\n return;\n }\n });\n\n effect(() => {\n const withPagination = this.currentPaginationType === 'paginator';\n const result = this.resourceRef.value();\n\n if (!withPagination && !this.reloading) {\n if (result) {\n this.list.update((current) => [...current, ...result.items]);\n this.totalItemsOnPage.update(\n (current) => current + result.items.length\n );\n this.totalItems.set(result.count);\n }\n this.reloading = false;\n return;\n }\n\n if (!result) {\n this.list.set([]);\n this.totalItemsOnPage.set(0);\n this.totalItems.set(0);\n this.reloading = false;\n return;\n }\n\n this.list.set(result.items);\n this.totalItemsOnPage.set(result.items.length);\n this.totalItems.set(result.count);\n this.reloading = false;\n });\n\n effect(() => {\n if (this.reload()) {\n this.reloadList();\n }\n });\n }\n\n protected sort(sortFilter: SortFilterType) {\n this.sortFilter.set(sortFilter);\n }\n\n protected reloadList() {\n this.reloading = true;\n this.list.set([]);\n this.totalItemsOnPage.set(0);\n this.totalItems.set(0);\n this.page.set(1);\n this.resourceRef.reload();\n }\n\n protected loadMore() {\n this.page.update((current) => current + 1);\n }\n}\n","import { signal } from '@angular/core';\n\nexport abstract class PageBase {\n protected reload = signal(false);\n\n protected reloadList() {\n this.reload.set(true);\n setTimeout(() => this.reload.set(false));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { DialogContainer } from '@koalarx/ui/core/components/dialog';
|
|
|
4
4
|
import { LoaderPageContent } from '@koalarx/ui/core/components/loader-page';
|
|
5
5
|
import { SideWindowContainer } from '@koalarx/ui/core/components/side-window';
|
|
6
6
|
import { SnackbarContainer } from '@koalarx/ui/core/components/snackbar';
|
|
7
|
+
import { CURRENT_THEME } from '@koalarx/ui/core/config';
|
|
7
8
|
import { LoadingBarRouterModule } from '@ngx-loading-bar/router';
|
|
8
9
|
import * as i1 from '@ngx-loading-bar/core';
|
|
9
10
|
|
|
@@ -13,6 +14,18 @@ class KlRoot {
|
|
|
13
14
|
if (document.querySelector('html')?.getAttribute('data-theme') === null) {
|
|
14
15
|
document.querySelector('html')?.setAttribute('data-theme', 'light');
|
|
15
16
|
}
|
|
17
|
+
const htmlElement = document.querySelector('html');
|
|
18
|
+
if (htmlElement) {
|
|
19
|
+
htmlElement.onchange = () => {
|
|
20
|
+
setTimeout(() => {
|
|
21
|
+
const theme = htmlElement.getAttribute('data-theme');
|
|
22
|
+
if (theme === CURRENT_THEME()) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
CURRENT_THEME.set(theme);
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
}
|
|
16
29
|
}
|
|
17
30
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: KlRoot, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
31
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.6", type: KlRoot, isStandalone: true, selector: "kl-root", inputs: { routerLoaderColor: { classPropertyName: "routerLoaderColor", publicName: "routerLoaderColor", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ngx-loading-bar\n [color]=\"routerLoaderColor()\"\n height=\"4px\"\n [includeSpinner]=\"false\"\n/>\n\n<main class=\"overflow-x-hidden\">\n <kl-loader-page-content />\n <kl-snackbar-container />\n <kl-dialog-container />\n <kl-side-window-container />\n <div class=\"kl-generic-component-container\"></div>\n\n <ng-content />\n</main>\n", dependencies: [{ kind: "component", type: DialogContainer, selector: "kl-dialog-container" }, { kind: "ngmodule", type: LoadingBarRouterModule }, { kind: "component", type: i1.LoadingBarComponent, selector: "ngx-loading-bar" }, { kind: "component", type: SideWindowContainer, selector: "kl-side-window-container" }, { kind: "component", type: SnackbarContainer, selector: "kl-snackbar-container" }, { kind: "component", type: LoaderPageContent, selector: "kl-loader-page-content" }] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koalarx-ui-core-components-kl-root.mjs","sources":["../../projects/koala-ui/core/components/kl-root/kl-root.ts","../../projects/koala-ui/core/components/kl-root/kl-root.html","../../projects/koala-ui/core/components/kl-root/koalarx-ui-core-components-kl-root.ts"],"sourcesContent":["import { Component, input, OnInit } from '@angular/core';\nimport { DialogContainer } from '@koalarx/ui/core/components/dialog';\nimport { LoaderPageContent } from '@koalarx/ui/core/components/loader-page';\nimport { SideWindowContainer } from '@koalarx/ui/core/components/side-window';\nimport { SnackbarContainer } from '@koalarx/ui/core/components/snackbar';\nimport { LoadingBarRouterModule } from '@ngx-loading-bar/router';\n\n@Component({\n selector: 'kl-root',\n templateUrl: './kl-root.html',\n imports: [\n DialogContainer,\n LoadingBarRouterModule,\n SideWindowContainer,\n SnackbarContainer,\n LoaderPageContent,\n ],\n})\nexport class KlRoot implements OnInit {\n routerLoaderColor = input<string>('#6A1B9A');\n\n ngOnInit(): void {\n if (document.querySelector('html')?.getAttribute('data-theme') === null) {\n document.querySelector('html')?.setAttribute('data-theme', 'light');\n }\n }\n}\n","<ngx-loading-bar\n [color]=\"routerLoaderColor()\"\n height=\"4px\"\n [includeSpinner]=\"false\"\n/>\n\n<main class=\"overflow-x-hidden\">\n <kl-loader-page-content />\n <kl-snackbar-container />\n <kl-dialog-container />\n <kl-side-window-container />\n <div class=\"kl-generic-component-container\"></div>\n\n <ng-content />\n</main>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"koalarx-ui-core-components-kl-root.mjs","sources":["../../projects/koala-ui/core/components/kl-root/kl-root.ts","../../projects/koala-ui/core/components/kl-root/kl-root.html","../../projects/koala-ui/core/components/kl-root/koalarx-ui-core-components-kl-root.ts"],"sourcesContent":["import { Component, input, OnInit } from '@angular/core';\nimport { DialogContainer } from '@koalarx/ui/core/components/dialog';\nimport { LoaderPageContent } from '@koalarx/ui/core/components/loader-page';\nimport { SideWindowContainer } from '@koalarx/ui/core/components/side-window';\nimport { SnackbarContainer } from '@koalarx/ui/core/components/snackbar';\nimport { CURRENT_THEME } from '@koalarx/ui/core/config';\nimport { ThemeName } from '@koalarx/ui/theme';\nimport { LoadingBarRouterModule } from '@ngx-loading-bar/router';\n\n@Component({\n selector: 'kl-root',\n templateUrl: './kl-root.html',\n imports: [\n DialogContainer,\n LoadingBarRouterModule,\n SideWindowContainer,\n SnackbarContainer,\n LoaderPageContent,\n ],\n})\nexport class KlRoot implements OnInit {\n routerLoaderColor = input<string>('#6A1B9A');\n\n ngOnInit(): void {\n if (document.querySelector('html')?.getAttribute('data-theme') === null) {\n document.querySelector('html')?.setAttribute('data-theme', 'light');\n }\n\n const htmlElement = document.querySelector('html');\n\n if (htmlElement) {\n htmlElement.onchange = () => {\n setTimeout(() => {\n const theme = htmlElement.getAttribute(\n 'data-theme'\n ) as ThemeName | null;\n\n if (theme === CURRENT_THEME()) {\n return;\n }\n\n CURRENT_THEME.set(theme);\n });\n };\n }\n }\n}\n","<ngx-loading-bar\n [color]=\"routerLoaderColor()\"\n height=\"4px\"\n [includeSpinner]=\"false\"\n/>\n\n<main class=\"overflow-x-hidden\">\n <kl-loader-page-content />\n <kl-snackbar-container />\n <kl-dialog-container />\n <kl-side-window-container />\n <div class=\"kl-generic-component-container\"></div>\n\n <ng-content />\n</main>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;MAoBa,MAAM,CAAA;AACjB,IAAA,iBAAiB,GAAG,KAAK,CAAS,SAAS,6DAAC;IAE5C,QAAQ,GAAA;AACN,QAAA,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;AACvE,YAAA,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC;;QAGrE,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;QAElD,IAAI,WAAW,EAAE;AACf,YAAA,WAAW,CAAC,QAAQ,GAAG,MAAK;gBAC1B,UAAU,CAAC,MAAK;oBACd,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CACpC,YAAY,CACO;AAErB,oBAAA,IAAI,KAAK,KAAK,aAAa,EAAE,EAAE;wBAC7B;;AAGF,oBAAA,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1B,iBAAC,CAAC;AACJ,aAAC;;;uGAvBM,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAN,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBnB,4VAeA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDFI,eAAe,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,mBAAmB,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,iBAAiB,EAAA,QAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,iBAAiB,EAAA,QAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,CAAA;;2FAGR,MAAM,EAAA,UAAA,EAAA,CAAA;kBAXlB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,EAAA,OAAA,EAEV;wBACP,eAAe;wBACf,sBAAsB;wBACtB,mBAAmB;wBACnB,iBAAiB;wBACjB,iBAAiB;AAClB,qBAAA,EAAA,QAAA,EAAA,4VAAA,EAAA;;;AElBH;;AAEG;;;;"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { signal } from '@angular/core';
|
|
1
2
|
import { en } from '@koalarx/ui/core/translations';
|
|
2
3
|
|
|
3
4
|
const GENERIC_COMPONENT_CONTAINER_NAME = '.kl-generic-component-container';
|
|
5
|
+
const CURRENT_THEME = signal(null, ...(ngDevMode ? [{ debugName: "CURRENT_THEME" }] : []));
|
|
4
6
|
|
|
5
7
|
class AppConfig {
|
|
6
8
|
_hostApi;
|
|
@@ -44,5 +46,5 @@ class AppConfig {
|
|
|
44
46
|
* Generated bundle index. Do not edit.
|
|
45
47
|
*/
|
|
46
48
|
|
|
47
|
-
export { AppConfig, GENERIC_COMPONENT_CONTAINER_NAME };
|
|
49
|
+
export { AppConfig, CURRENT_THEME, GENERIC_COMPONENT_CONTAINER_NAME };
|
|
48
50
|
//# sourceMappingURL=koalarx-ui-core-config.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koalarx-ui-core-config.mjs","sources":["../../projects/koala-ui/core/config/constants.ts","../../projects/koala-ui/core/config/app-config.ts","../../projects/koala-ui/core/config/koalarx-ui-core-config.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"koalarx-ui-core-config.mjs","sources":["../../projects/koala-ui/core/config/constants.ts","../../projects/koala-ui/core/config/app-config.ts","../../projects/koala-ui/core/config/koalarx-ui-core-config.ts"],"sourcesContent":["import { signal } from '@angular/core';\nimport { ThemeName } from '@koalarx/ui/theme';\n\nexport const GENERIC_COMPONENT_CONTAINER_NAME =\n '.kl-generic-component-container';\nexport const CURRENT_THEME = signal<ThemeName | null>(null);\n","import { HttpClientErrorsMiddleware } from '@koalarx/ui/core/middlewares';\nimport { AuthConfig } from '@koalarx/ui/core/models';\nimport { KoalaLanguage, Translation, en } from '@koalarx/ui/core/translations';\n\nexport class AppConfig {\n private _hostApi: string | undefined;\n private _language: KoalaLanguage | undefined;\n private _translation: Translation | undefined;\n private _httpClientErrorsMiddleware: HttpClientErrorsMiddleware | undefined;\n private _authConfig: AuthConfig | undefined;\n\n set hostApi(hostApi: string | undefined) {\n this._hostApi = hostApi;\n }\n\n get hostApi(): string | undefined {\n return this._hostApi;\n }\n\n set language(language: KoalaLanguage | undefined) {\n this._language = language;\n }\n\n get language(): KoalaLanguage | undefined {\n return this._language;\n }\n\n set translation(translation: Translation | undefined) {\n this._translation = translation;\n }\n\n get translation(): Translation {\n return this._translation ?? en;\n }\n\n set httpClientErrorsMiddleware(\n httpClientErrorsMiddleware: HttpClientErrorsMiddleware | undefined\n ) {\n this._httpClientErrorsMiddleware = httpClientErrorsMiddleware;\n }\n\n get httpClientErrorsMiddleware(): HttpClientErrorsMiddleware | undefined {\n return this._httpClientErrorsMiddleware;\n }\n\n set authConfig(authConfig: AuthConfig | undefined) {\n this._authConfig = authConfig;\n }\n\n get authConfig(): AuthConfig | undefined {\n return this._authConfig;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGO,MAAM,gCAAgC,GAC3C;MACW,aAAa,GAAG,MAAM,CAAmB,IAAI;;MCD7C,SAAS,CAAA;AACZ,IAAA,QAAQ;AACR,IAAA,SAAS;AACT,IAAA,YAAY;AACZ,IAAA,2BAA2B;AAC3B,IAAA,WAAW;IAEnB,IAAI,OAAO,CAAC,OAA2B,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;;AAGzB,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;;IAGtB,IAAI,QAAQ,CAAC,QAAmC,EAAA;AAC9C,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;;AAG3B,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;;IAGvB,IAAI,WAAW,CAAC,WAAoC,EAAA;AAClD,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW;;AAGjC,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,EAAE;;IAGhC,IAAI,0BAA0B,CAC5B,0BAAkE,EAAA;AAElE,QAAA,IAAI,CAAC,2BAA2B,GAAG,0BAA0B;;AAG/D,IAAA,IAAI,0BAA0B,GAAA;QAC5B,OAAO,IAAI,CAAC,2BAA2B;;IAGzC,IAAI,UAAU,CAAC,UAAkC,EAAA;AAC/C,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU;;AAG/B,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;;AAE1B;;ACpDD;;AAEG;;;;"}
|
|
@@ -20,6 +20,7 @@ const en = {
|
|
|
20
20
|
invalidPasswordHasUppercase: 'The password must contain uppercase letters.',
|
|
21
21
|
invalidPasswordHasNumber: 'The password must contain numbers.',
|
|
22
22
|
invalidConfirmPassword: 'The confirmation password does not match.',
|
|
23
|
+
selectTypeSearch: 'Type to search...',
|
|
23
24
|
},
|
|
24
25
|
onThisPage: {
|
|
25
26
|
title: 'On this page',
|
|
@@ -72,6 +73,7 @@ const ptBr = {
|
|
|
72
73
|
invalidPasswordHasUppercase: 'A senha deve conter letras maiúsculas.',
|
|
73
74
|
invalidPasswordHasNumber: 'A senha deve conter números.',
|
|
74
75
|
invalidConfirmPassword: 'A confirmação da senha não confere.',
|
|
76
|
+
selectTypeSearch: 'Digite para buscar...',
|
|
75
77
|
},
|
|
76
78
|
onThisPage: {
|
|
77
79
|
title: 'Nesta página',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koalarx-ui-core-translations.mjs","sources":["../../projects/koala-ui/core/translations/en.ts","../../projects/koala-ui/core/translations/ptbr.ts","../../projects/koala-ui/core/translations/get-translation-by-language.ts","../../projects/koala-ui/core/translations/koalarx-ui-core-translations.ts"],"sourcesContent":["import { Translation } from './translation.model';\n\nexport const en: Translation = {\n confirm: {\n btnLabelYes: 'Yes',\n btnLabelNo: 'No',\n askAreYouSureMessage: 'Are you sure you want to continue?',\n },\n codeViewer: {\n copyToClipboard: 'Copy to clipboard',\n copiedToClipboard: 'Copied to clipboard',\n },\n form: {\n required: 'This field is required.',\n invalidEmail: 'Invalid email address',\n invalidMinLength: (minLength: number) =>\n `The field must have at least ${minLength} characters.`,\n invalidCPF: 'Invalid CPF',\n invalidCNPJ: 'Invalid CNPJ',\n invalidURL: 'Invalid URL',\n invalidPasswordHasSpecialCharacters:\n 'The password must contain special characters.',\n invalidPasswordHasLowercase: 'The password must contain lowercase letters.',\n invalidPasswordHasUppercase: 'The password must contain uppercase letters.',\n invalidPasswordHasNumber: 'The password must contain numbers.',\n invalidConfirmPassword: 'The confirmation password does not match.',\n },\n onThisPage: {\n title: 'On this page',\n },\n datatable: {\n btnFilterLabel: 'Filter',\n clearFilterTooltip: 'Clear filters',\n addFilterTooltip: 'Add filter',\n reloadListTooltip: 'Reload data',\n labelItemsPerPage: 'Items per page limit',\n loadMoreBtnLabel: 'Load more',\n errorLoadDataLabel: 'Error loading data',\n paginatorPagesFeedback: (currentPage: number, lastPage: number) =>\n `Page ${currentPage} of ${lastPage}`,\n },\n feedbackRequestInterceptor: {\n '400': 'An error occurred related to the submitted data',\n '401': 'Unauthorized access, please log in again.',\n '403': 'Access denied.',\n '404': 'No record found from the provided data.',\n '409': 'This record already exists',\n '422': 'Validation error in the submitted data.',\n '500': 'Please contact our support via WhatsApp.',\n '0': 'We identified an instability in communication with our server, this may occur due to rapid internet drops, slow connection, or server overload, please try again.',\n unknowError: 'An unknown error occurred, please try again.',\n },\n jwtAuthorizationService: {\n questionLogoutMessage: 'You are about to <b>log out of the system</b>.',\n },\n};\n","import { Translation } from './translation.model';\n\nexport const ptBr: Translation = {\n confirm: {\n btnLabelYes: 'Sim',\n btnLabelNo: 'Não',\n askAreYouSureMessage: 'Tem certeza de que deseja continuar?',\n },\n codeViewer: {\n copyToClipboard: 'Copiar',\n copiedToClipboard: 'Copiado',\n },\n form: {\n required: 'O campo é obrigatório.',\n invalidEmail: 'E-mail inválido',\n invalidMinLength: (minLength: number) =>\n `O campo deve ter no mínimo ${minLength} caracteres.`,\n invalidCPF: 'CPF inválido',\n invalidCNPJ: 'CNPJ inválido',\n invalidURL: 'URL inválida',\n invalidPasswordHasSpecialCharacters:\n 'A senha deve conter caracteres especiais.',\n invalidPasswordHasLowercase: 'A senha deve conter letras minúsculas.',\n invalidPasswordHasUppercase: 'A senha deve conter letras maiúsculas.',\n invalidPasswordHasNumber: 'A senha deve conter números.',\n invalidConfirmPassword: 'A confirmação da senha não confere.',\n },\n onThisPage: {\n title: 'Nesta página',\n },\n datatable: {\n btnFilterLabel: 'Filtro',\n clearFilterTooltip: 'Limpar filtros',\n addFilterTooltip: 'Adicionar filtro',\n reloadListTooltip: 'Recarregar dados',\n labelItemsPerPage: 'Limite de itens por carregamento',\n loadMoreBtnLabel: 'Carregar mais',\n errorLoadDataLabel: 'Erro ao carregar os dados',\n paginatorPagesFeedback: (currentPage: number, lastPage: number) =>\n `Página ${currentPage} de ${lastPage}`,\n },\n feedbackRequestInterceptor: {\n '400': 'Ocorreu um erro relacionado aos dados enviados',\n '401': 'Acesso não autorizado, por favor, faça login novamente.',\n '403': 'Acesso negado.',\n '404': 'Nenhum registro encontrado a partir dos dados informados.',\n '409': 'Este registro já existe',\n '422': 'Erro de validação nos dados enviados.',\n '500': 'Entre em contato com nosso suporte pelo canal do whatsapp.',\n '0': 'Identificamos uma instabilidade na comunicação com nosso servidor, isto pode ocorrer devido a rápidas quedas de internet, conexão lenta ou sobrecarga no servidor, por favor, tente novamente.',\n unknowError: 'Ocorreu um erro desconhecido, por favor, tente novamente.',\n },\n jwtAuthorizationService: {\n questionLogoutMessage: 'Você está prestes a <b>deslogar do sistema</b>.',\n },\n};\n","import { en } from './en';\nimport { ptBr } from './ptbr';\nimport { Translation } from './translation.model';\n\nexport type KoalaLanguage = 'en' | 'ptBr';\n\nexport function getTranslationByLanguage(language: KoalaLanguage): Translation {\n switch (language) {\n case 'en':\n return en;\n case 'ptBr':\n return ptBr;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAEO,MAAM,EAAE,GAAgB;AAC7B,IAAA,OAAO,EAAE;AACP,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,oBAAoB,EAAE,oCAAoC;AAC3D,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,eAAe,EAAE,mBAAmB;AACpC,QAAA,iBAAiB,EAAE,qBAAqB;AACzC,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,QAAQ,EAAE,yBAAyB;AACnC,QAAA,YAAY,EAAE,uBAAuB;QACrC,gBAAgB,EAAE,CAAC,SAAiB,KAClC,CAAA,6BAAA,EAAgC,SAAS,CAAA,YAAA,CAAc;AACzD,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,mCAAmC,EACjC,+CAA+C;AACjD,QAAA,2BAA2B,EAAE,8CAA8C;AAC3E,QAAA,2BAA2B,EAAE,8CAA8C;AAC3E,QAAA,wBAAwB,EAAE,oCAAoC;AAC9D,QAAA,sBAAsB,EAAE,2CAA2C;
|
|
1
|
+
{"version":3,"file":"koalarx-ui-core-translations.mjs","sources":["../../projects/koala-ui/core/translations/en.ts","../../projects/koala-ui/core/translations/ptbr.ts","../../projects/koala-ui/core/translations/get-translation-by-language.ts","../../projects/koala-ui/core/translations/koalarx-ui-core-translations.ts"],"sourcesContent":["import { Translation } from './translation.model';\n\nexport const en: Translation = {\n confirm: {\n btnLabelYes: 'Yes',\n btnLabelNo: 'No',\n askAreYouSureMessage: 'Are you sure you want to continue?',\n },\n codeViewer: {\n copyToClipboard: 'Copy to clipboard',\n copiedToClipboard: 'Copied to clipboard',\n },\n form: {\n required: 'This field is required.',\n invalidEmail: 'Invalid email address',\n invalidMinLength: (minLength: number) =>\n `The field must have at least ${minLength} characters.`,\n invalidCPF: 'Invalid CPF',\n invalidCNPJ: 'Invalid CNPJ',\n invalidURL: 'Invalid URL',\n invalidPasswordHasSpecialCharacters:\n 'The password must contain special characters.',\n invalidPasswordHasLowercase: 'The password must contain lowercase letters.',\n invalidPasswordHasUppercase: 'The password must contain uppercase letters.',\n invalidPasswordHasNumber: 'The password must contain numbers.',\n invalidConfirmPassword: 'The confirmation password does not match.',\n selectTypeSearch: 'Type to search...',\n },\n onThisPage: {\n title: 'On this page',\n },\n datatable: {\n btnFilterLabel: 'Filter',\n clearFilterTooltip: 'Clear filters',\n addFilterTooltip: 'Add filter',\n reloadListTooltip: 'Reload data',\n labelItemsPerPage: 'Items per page limit',\n loadMoreBtnLabel: 'Load more',\n errorLoadDataLabel: 'Error loading data',\n paginatorPagesFeedback: (currentPage: number, lastPage: number) =>\n `Page ${currentPage} of ${lastPage}`,\n },\n feedbackRequestInterceptor: {\n '400': 'An error occurred related to the submitted data',\n '401': 'Unauthorized access, please log in again.',\n '403': 'Access denied.',\n '404': 'No record found from the provided data.',\n '409': 'This record already exists',\n '422': 'Validation error in the submitted data.',\n '500': 'Please contact our support via WhatsApp.',\n '0': 'We identified an instability in communication with our server, this may occur due to rapid internet drops, slow connection, or server overload, please try again.',\n unknowError: 'An unknown error occurred, please try again.',\n },\n jwtAuthorizationService: {\n questionLogoutMessage: 'You are about to <b>log out of the system</b>.',\n },\n};\n","import { Translation } from './translation.model';\n\nexport const ptBr: Translation = {\n confirm: {\n btnLabelYes: 'Sim',\n btnLabelNo: 'Não',\n askAreYouSureMessage: 'Tem certeza de que deseja continuar?',\n },\n codeViewer: {\n copyToClipboard: 'Copiar',\n copiedToClipboard: 'Copiado',\n },\n form: {\n required: 'O campo é obrigatório.',\n invalidEmail: 'E-mail inválido',\n invalidMinLength: (minLength: number) =>\n `O campo deve ter no mínimo ${minLength} caracteres.`,\n invalidCPF: 'CPF inválido',\n invalidCNPJ: 'CNPJ inválido',\n invalidURL: 'URL inválida',\n invalidPasswordHasSpecialCharacters:\n 'A senha deve conter caracteres especiais.',\n invalidPasswordHasLowercase: 'A senha deve conter letras minúsculas.',\n invalidPasswordHasUppercase: 'A senha deve conter letras maiúsculas.',\n invalidPasswordHasNumber: 'A senha deve conter números.',\n invalidConfirmPassword: 'A confirmação da senha não confere.',\n selectTypeSearch: 'Digite para buscar...',\n },\n onThisPage: {\n title: 'Nesta página',\n },\n datatable: {\n btnFilterLabel: 'Filtro',\n clearFilterTooltip: 'Limpar filtros',\n addFilterTooltip: 'Adicionar filtro',\n reloadListTooltip: 'Recarregar dados',\n labelItemsPerPage: 'Limite de itens por carregamento',\n loadMoreBtnLabel: 'Carregar mais',\n errorLoadDataLabel: 'Erro ao carregar os dados',\n paginatorPagesFeedback: (currentPage: number, lastPage: number) =>\n `Página ${currentPage} de ${lastPage}`,\n },\n feedbackRequestInterceptor: {\n '400': 'Ocorreu um erro relacionado aos dados enviados',\n '401': 'Acesso não autorizado, por favor, faça login novamente.',\n '403': 'Acesso negado.',\n '404': 'Nenhum registro encontrado a partir dos dados informados.',\n '409': 'Este registro já existe',\n '422': 'Erro de validação nos dados enviados.',\n '500': 'Entre em contato com nosso suporte pelo canal do whatsapp.',\n '0': 'Identificamos uma instabilidade na comunicação com nosso servidor, isto pode ocorrer devido a rápidas quedas de internet, conexão lenta ou sobrecarga no servidor, por favor, tente novamente.',\n unknowError: 'Ocorreu um erro desconhecido, por favor, tente novamente.',\n },\n jwtAuthorizationService: {\n questionLogoutMessage: 'Você está prestes a <b>deslogar do sistema</b>.',\n },\n};\n","import { en } from './en';\nimport { ptBr } from './ptbr';\nimport { Translation } from './translation.model';\n\nexport type KoalaLanguage = 'en' | 'ptBr';\n\nexport function getTranslationByLanguage(language: KoalaLanguage): Translation {\n switch (language) {\n case 'en':\n return en;\n case 'ptBr':\n return ptBr;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|