@indigina/ui-kit 1.1.605 → 1.1.607
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/fesm2022/indigina-ui-kit-auth0.mjs +158 -0
- package/fesm2022/indigina-ui-kit-auth0.mjs.map +1 -0
- package/fesm2022/indigina-ui-kit.mjs +143 -1
- package/fesm2022/indigina-ui-kit.mjs.map +1 -1
- package/package.json +16 -2
- package/types/indigina-ui-kit-auth0.d.ts +37 -0
- package/types/indigina-ui-kit.d.ts +55 -2
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, Injectable, makeEnvironmentProviders } from '@angular/core';
|
|
3
|
+
import { AuthService, authHttpInterceptorFn, provideAuth0 } from '@auth0/auth0-angular';
|
|
4
|
+
import { EMPTY } from 'rxjs';
|
|
5
|
+
import { filter, take, switchMap } from 'rxjs/operators';
|
|
6
|
+
import { withInterceptors } from '@angular/common/http';
|
|
7
|
+
|
|
8
|
+
class KitAuthService {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.auth0 = inject(AuthService);
|
|
11
|
+
this.loggingIn = false;
|
|
12
|
+
this.loggingOut = false;
|
|
13
|
+
}
|
|
14
|
+
isAuthenticated$() {
|
|
15
|
+
return this.auth0.isLoading$.pipe(filter((loading) => !loading), take(1), switchMap(() => this.auth0.isAuthenticated$));
|
|
16
|
+
}
|
|
17
|
+
getAccessToken$() {
|
|
18
|
+
if (this.loggingOut) {
|
|
19
|
+
return EMPTY;
|
|
20
|
+
}
|
|
21
|
+
return this.auth0.getAccessTokenSilently();
|
|
22
|
+
}
|
|
23
|
+
isLoggingOut() {
|
|
24
|
+
return this.loggingOut;
|
|
25
|
+
}
|
|
26
|
+
login(targetPath) {
|
|
27
|
+
if (this.loggingIn || this.loggingOut) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const target = targetPath ?? `${window.location.pathname}${window.location.search}${window.location.hash}`;
|
|
31
|
+
this.loggingIn = true;
|
|
32
|
+
this.auth0.loginWithRedirect({ appState: { target } }).subscribe({
|
|
33
|
+
error: () => {
|
|
34
|
+
this.loggingIn = false;
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
logout() {
|
|
39
|
+
this.loggingOut = true;
|
|
40
|
+
this.auth0
|
|
41
|
+
.logout({
|
|
42
|
+
logoutParams: {
|
|
43
|
+
returnTo: window.location.origin,
|
|
44
|
+
},
|
|
45
|
+
})
|
|
46
|
+
.subscribe({
|
|
47
|
+
error: () => {
|
|
48
|
+
this.loggingOut = false;
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: KitAuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
53
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: KitAuthService }); }
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: KitAuthService, decorators: [{
|
|
56
|
+
type: Injectable
|
|
57
|
+
}] });
|
|
58
|
+
|
|
59
|
+
const kitAuthHttpInterceptor = (request, next) => {
|
|
60
|
+
if (request.headers.has('Authorization')) {
|
|
61
|
+
return next(request);
|
|
62
|
+
}
|
|
63
|
+
const session = inject(KitAuthService, {
|
|
64
|
+
optional: true,
|
|
65
|
+
});
|
|
66
|
+
if (session?.isLoggingOut()) {
|
|
67
|
+
return EMPTY;
|
|
68
|
+
}
|
|
69
|
+
return authHttpInterceptorFn(request, next);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const DEFAULT_CACHE_LOCATION = 'localstorage';
|
|
73
|
+
const stripTrailingSlashes = (value) => {
|
|
74
|
+
let end = value.length;
|
|
75
|
+
while (end > 0 && value[end - 1] === '/') {
|
|
76
|
+
end -= 1;
|
|
77
|
+
}
|
|
78
|
+
return value.slice(0, end);
|
|
79
|
+
};
|
|
80
|
+
const isValidApiBaseUrl = (value, parsed) => /^https?:\/\/[^/]/i.test(value) &&
|
|
81
|
+
!!parsed.hostname &&
|
|
82
|
+
!value.includes('*') &&
|
|
83
|
+
!value.includes('\\') &&
|
|
84
|
+
!/\s/.test(value) &&
|
|
85
|
+
!parsed.username &&
|
|
86
|
+
!parsed.password &&
|
|
87
|
+
!value.includes('?') &&
|
|
88
|
+
!value.includes('#');
|
|
89
|
+
const buildAllowedList = (apiUrls) => {
|
|
90
|
+
if (apiUrls.length === 0) {
|
|
91
|
+
throw new Error('Auth0 API allowlist must contain at least one URL');
|
|
92
|
+
}
|
|
93
|
+
return apiUrls.flatMap((apiUrl) => {
|
|
94
|
+
const normalized = apiUrl.trim();
|
|
95
|
+
if (!normalized) {
|
|
96
|
+
throw new Error('Auth0 API allowlist contains an empty URL');
|
|
97
|
+
}
|
|
98
|
+
let parsed;
|
|
99
|
+
try {
|
|
100
|
+
parsed = new URL(normalized);
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
throw new Error('Auth0 API allowlist must contain absolute HTTP(S) URLs without wildcards, credentials, queries, or fragments');
|
|
104
|
+
}
|
|
105
|
+
if (!isValidApiBaseUrl(normalized, parsed)) {
|
|
106
|
+
throw new Error('Auth0 API allowlist must contain absolute HTTP(S) URLs without wildcards, credentials, queries, or fragments');
|
|
107
|
+
}
|
|
108
|
+
const baseUrl = stripTrailingSlashes(parsed.href);
|
|
109
|
+
return [
|
|
110
|
+
baseUrl,
|
|
111
|
+
`${baseUrl}/*`,
|
|
112
|
+
];
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
const buildAuthorizationParams = (settings) => {
|
|
116
|
+
const authorizationParams = {
|
|
117
|
+
redirect_uri: window.location.origin,
|
|
118
|
+
audience: settings.audience,
|
|
119
|
+
scope: 'openid profile email offline_access',
|
|
120
|
+
};
|
|
121
|
+
if (settings.connection) {
|
|
122
|
+
authorizationParams.connection = settings.connection;
|
|
123
|
+
}
|
|
124
|
+
return authorizationParams;
|
|
125
|
+
};
|
|
126
|
+
const withKitAuthHttpInterceptor = () => withInterceptors([kitAuthHttpInterceptor]);
|
|
127
|
+
const provideKitAuth0 = (settings, options) => {
|
|
128
|
+
const normalizedSettings = {
|
|
129
|
+
domain: settings.domain?.trim(),
|
|
130
|
+
clientId: settings.clientId?.trim(),
|
|
131
|
+
audience: settings.audience?.trim(),
|
|
132
|
+
connection: settings.connection?.trim() || undefined,
|
|
133
|
+
};
|
|
134
|
+
if (!normalizedSettings.domain || !normalizedSettings.clientId || !normalizedSettings.audience) {
|
|
135
|
+
throw new Error('Auth0 settings are incomplete: domain, clientId, and audience are required');
|
|
136
|
+
}
|
|
137
|
+
return makeEnvironmentProviders([
|
|
138
|
+
provideAuth0({
|
|
139
|
+
domain: normalizedSettings.domain,
|
|
140
|
+
clientId: normalizedSettings.clientId,
|
|
141
|
+
cacheLocation: options.cacheLocation ?? DEFAULT_CACHE_LOCATION,
|
|
142
|
+
useRefreshTokens: true,
|
|
143
|
+
useRefreshTokensFallback: false,
|
|
144
|
+
authorizationParams: buildAuthorizationParams(normalizedSettings),
|
|
145
|
+
httpInterceptor: {
|
|
146
|
+
allowedList: buildAllowedList(options.allowedApiUrls),
|
|
147
|
+
},
|
|
148
|
+
}),
|
|
149
|
+
KitAuthService,
|
|
150
|
+
]);
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Generated bundle index. Do not edit.
|
|
155
|
+
*/
|
|
156
|
+
|
|
157
|
+
export { KitAuthService, kitAuthHttpInterceptor, provideKitAuth0, withKitAuthHttpInterceptor };
|
|
158
|
+
//# sourceMappingURL=indigina-ui-kit-auth0.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indigina-ui-kit-auth0.mjs","sources":["../../../projects/ui-kit/auth0/src/lib/services/kit-auth.service.ts","../../../projects/ui-kit/auth0/src/lib/services/kit-auth-http.interceptor.ts","../../../projects/ui-kit/auth0/src/lib/services/provide-kit-auth.ts","../../../projects/ui-kit/auth0/indigina-ui-kit-auth0.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { EMPTY, Observable } from 'rxjs';\nimport { filter, switchMap, take } from 'rxjs/operators';\n\n@Injectable()\nexport class KitAuthService {\n private readonly auth0: AuthService = inject(AuthService);\n private loggingIn: boolean = false;\n private loggingOut: boolean = false;\n\n isAuthenticated$(): Observable<boolean> {\n return this.auth0.isLoading$.pipe(\n filter((loading: boolean) => !loading),\n take(1),\n switchMap(() => this.auth0.isAuthenticated$),\n );\n }\n\n getAccessToken$(): Observable<string> {\n if (this.loggingOut) {\n return EMPTY;\n }\n\n return this.auth0.getAccessTokenSilently();\n }\n\n isLoggingOut(): boolean {\n return this.loggingOut;\n }\n\n login(targetPath?: string): void {\n if (this.loggingIn || this.loggingOut) {\n return;\n }\n\n const target: string = targetPath ?? `${window.location.pathname}${window.location.search}${window.location.hash}`;\n this.loggingIn = true;\n this.auth0.loginWithRedirect({ appState: { target } }).subscribe({\n error: () => {\n this.loggingIn = false;\n },\n });\n }\n\n logout(): void {\n this.loggingOut = true;\n this.auth0\n .logout({\n logoutParams: {\n returnTo: window.location.origin,\n },\n })\n .subscribe({\n error: () => {\n this.loggingOut = false;\n },\n });\n }\n}\n","import { HttpInterceptorFn } from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { authHttpInterceptorFn } from '@auth0/auth0-angular';\nimport { EMPTY } from 'rxjs';\nimport { KitAuthService } from './kit-auth.service';\n\nexport const kitAuthHttpInterceptor: HttpInterceptorFn = (request, next) => {\n if (request.headers.has('Authorization')) {\n return next(request);\n }\n\n const session: KitAuthService | null = inject(KitAuthService, {\n optional: true,\n });\n if (session?.isLoggingOut()) {\n return EMPTY;\n }\n\n return authHttpInterceptorFn(request, next);\n};\n","import { HttpFeature, HttpFeatureKind, withInterceptors } from '@angular/common/http';\nimport {\n EnvironmentProviders,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { AuthorizationParams, provideAuth0 } from '@auth0/auth0-angular';\nimport {\n KitAuth0CacheLocation,\n KitAuth0Options,\n KitAuth0Settings,\n} from '../models/kit-auth0-settings.model';\nimport { kitAuthHttpInterceptor } from './kit-auth-http.interceptor';\nimport { KitAuthService } from './kit-auth.service';\n\nconst DEFAULT_CACHE_LOCATION: KitAuth0CacheLocation = 'localstorage';\n\nconst stripTrailingSlashes = (value: string): string => {\n let end: number = value.length;\n while (end > 0 && value[end - 1] === '/') {\n end -= 1;\n }\n\n return value.slice(0, end);\n};\n\nconst isValidApiBaseUrl = (value: string, parsed: URL): boolean =>\n /^https?:\\/\\/[^/]/i.test(value) &&\n !!parsed.hostname &&\n !value.includes('*') &&\n !value.includes('\\\\') &&\n !/\\s/.test(value) &&\n !parsed.username &&\n !parsed.password &&\n !value.includes('?') &&\n !value.includes('#');\n\nconst buildAllowedList = (apiUrls: readonly string[]): string[] => {\n if (apiUrls.length === 0) {\n throw new Error('Auth0 API allowlist must contain at least one URL');\n }\n\n return apiUrls.flatMap((apiUrl) => {\n const normalized: string = apiUrl.trim();\n if (!normalized) {\n throw new Error('Auth0 API allowlist contains an empty URL');\n }\n\n let parsed: URL;\n try {\n parsed = new URL(normalized);\n } catch {\n throw new Error('Auth0 API allowlist must contain absolute HTTP(S) URLs without wildcards, credentials, queries, or fragments');\n }\n\n if (!isValidApiBaseUrl(normalized, parsed)) {\n throw new Error('Auth0 API allowlist must contain absolute HTTP(S) URLs without wildcards, credentials, queries, or fragments');\n }\n\n const baseUrl: string = stripTrailingSlashes(parsed.href);\n\n return [\n baseUrl,\n `${baseUrl}/*`,\n ];\n });\n};\n\nconst buildAuthorizationParams = (\n settings: KitAuth0Settings,\n): AuthorizationParams => {\n const authorizationParams: AuthorizationParams = {\n redirect_uri: window.location.origin,\n audience: settings.audience,\n scope: 'openid profile email offline_access',\n };\n if (settings.connection) {\n authorizationParams.connection = settings.connection;\n }\n\n return authorizationParams;\n};\n\nexport const withKitAuthHttpInterceptor = (): HttpFeature<HttpFeatureKind.Interceptors> =>\n withInterceptors([kitAuthHttpInterceptor]);\n\nexport const provideKitAuth0 = (\n settings: KitAuth0Settings,\n options: KitAuth0Options,\n): EnvironmentProviders => {\n const normalizedSettings: KitAuth0Settings = {\n domain: settings.domain?.trim(),\n clientId: settings.clientId?.trim(),\n audience: settings.audience?.trim(),\n connection: settings.connection?.trim() || undefined,\n };\n if (!normalizedSettings.domain || !normalizedSettings.clientId || !normalizedSettings.audience) {\n throw new Error(\n 'Auth0 settings are incomplete: domain, clientId, and audience are required',\n );\n }\n\n return makeEnvironmentProviders([\n provideAuth0({\n domain: normalizedSettings.domain,\n clientId: normalizedSettings.clientId,\n cacheLocation: options.cacheLocation ?? DEFAULT_CACHE_LOCATION,\n useRefreshTokens: true,\n useRefreshTokensFallback: false,\n authorizationParams: buildAuthorizationParams(normalizedSettings),\n httpInterceptor: {\n allowedList: buildAllowedList(options.allowedApiUrls),\n },\n }),\n KitAuthService,\n ]);\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -12542,6 +12542,93 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
12542
12542
|
], template: "<div class=\"kit-shipment-routing-overview\">\n <div class=\"routing\">\n <div class=\"routing-port\">\n <div class=\"routing-port-label\">{{ view().originLabel }}</div>\n <div class=\"routing-port-name\">{{ view().originPort || '-' }}</div>\n <div class=\"routing-port-date\">{{ view().originDate ? (toUtcIsoString(view().originDate) | date: dateFormat() : 'UTC') : '-' }}</div>\n </div>\n <div class=\"routing-main\">\n <kit-pill [theme]=\"kitPillTheme.BLUE\">\n {{ view().transitDaysLabel }}\n </kit-pill>\n <div class=\"routing-route\">\n <div class=\"routing-track\">\n <div class=\"routing-track-progress\"\n [style.width.%]=\"progressPercent()\"></div>\n </div>\n <div class=\"routing-ports\">\n @for (port of ports(); track $index) {\n <div class=\"port-item\"\n [style.left.%]=\"getPortPositionPercent($index)\"\n [class.port-item-completed]=\"isPortCompleted($index)\">\n <div class=\"port-item-dot\"></div>\n <p class=\"port-item-name\">\n {{ port }}\n </p>\n </div>\n }\n </div>\n <div class=\"routing-transport\"\n [style.left.%]=\"progressPercent()\">\n <kit-svg-icon class=\"routing-transport-icon\"\n [icon]=\"view().transportIcon ?? null\"\n [ngClass]=\"kitSvgIconType.FILL\" />\n </div>\n </div>\n </div>\n <div class=\"routing-port\">\n <div class=\"routing-port-label\">{{ view().destinationLabel }}</div>\n <div class=\"routing-port-name\">{{ view().destinationPort || '-' }}</div>\n <div class=\"routing-port-date\">{{ view().destinationDate ? (toUtcIsoString(view().destinationDate) | date: dateFormat() : 'UTC') : '-' }}</div>\n </div>\n </div>\n</div>\n", styles: [".kit-shipment-routing-overview{display:block}.kit-shipment-routing-overview .routing{display:grid;grid-template-columns:120px 1fr 120px;gap:60px;align-items:center;color:var(--ui-kit-color-grey-10)}.kit-shipment-routing-overview .routing-port{display:flex;flex-direction:column;gap:5px;font-size:14px}.kit-shipment-routing-overview .routing-port:last-child{text-align:right}.kit-shipment-routing-overview .routing-port-label{margin-bottom:5px;color:var(--ui-kit-color-grey-14)}.kit-shipment-routing-overview .routing-port-name{font-size:16px;font-weight:600;line-height:1.2}.kit-shipment-routing-overview .routing-port-date{color:var(--ui-kit-color-grey-20)}.kit-shipment-routing-overview .routing-main{display:flex;flex-direction:column;align-items:center;flex:1;gap:20px}.kit-shipment-routing-overview .routing-route{position:relative;align-self:stretch}.kit-shipment-routing-overview .routing-track{position:absolute;left:0;right:0;top:6px;height:2px;border-radius:999px;background:var(--ui-kit-color-grey-11)}.kit-shipment-routing-overview .routing-track-progress{height:100%;border-radius:inherit;background:var(--ui-kit-color-green-1)}.kit-shipment-routing-overview .routing-ports{position:relative;min-height:70px}.kit-shipment-routing-overview .routing-transport{position:absolute;top:-20px;transform:translate(-50%);width:44px;height:44px;background:var(--ui-kit-color-white);display:flex;align-items:center;justify-content:center;z-index:1}.kit-shipment-routing-overview .routing-transport-icon{width:38px;height:38px;fill:var(--ui-kit-color-green-1)}.kit-shipment-routing-overview .port-item{position:absolute;top:2px;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;max-width:150px;transform:translate(-50%)}.kit-shipment-routing-overview .port-item-dot{width:9px;height:9px;border-radius:50%;background:var(--ui-kit-color-grey-11);z-index:1}.kit-shipment-routing-overview .port-item-name{font-size:14px;color:var(--ui-kit-color-grey-14);text-align:center;width:150px;line-height:1.2}.kit-shipment-routing-overview .port-item-completed .port-item-dot{background:var(--ui-kit-color-green-1)}.kit-shipment-routing-overview .port-item:first-child .port-item-name{text-align:left;transform:translate(30%)}.kit-shipment-routing-overview .port-item:last-child .port-item-name{text-align:right;transform:translate(-30%)}@container routing-layout (max-width: 960px){.kit-shipment-routing-overview .routing{grid-template-columns:1fr 1fr;gap:20px}.kit-shipment-routing-overview .routing-port:first-child{order:1}.kit-shipment-routing-overview .routing-port:last-child{order:2;text-align:right}.kit-shipment-routing-overview .routing-main{order:3;grid-column:span 2}.kit-shipment-routing-overview .port-item:first-child{align-items:flex-start;transform:none}.kit-shipment-routing-overview .port-item:first-child .port-item-name{text-align:left;transform:none}.kit-shipment-routing-overview .port-item:last-child{align-items:flex-end;transform:translate(-100%)}.kit-shipment-routing-overview .port-item:last-child .port-item-name{text-align:right;transform:none}}\n"] }]
|
|
12543
12543
|
}], propDecorators: { view: [{ type: i0.Input, args: [{ isSignal: true, alias: "view", required: true }] }] } });
|
|
12544
12544
|
|
|
12545
|
+
var KitShipmentContainerUtilisationColor;
|
|
12546
|
+
(function (KitShipmentContainerUtilisationColor) {
|
|
12547
|
+
KitShipmentContainerUtilisationColor["Green"] = "green";
|
|
12548
|
+
KitShipmentContainerUtilisationColor["Amber"] = "amber";
|
|
12549
|
+
KitShipmentContainerUtilisationColor["Red"] = "red";
|
|
12550
|
+
})(KitShipmentContainerUtilisationColor || (KitShipmentContainerUtilisationColor = {}));
|
|
12551
|
+
|
|
12552
|
+
class KitShipmentContainerCardComponent {
|
|
12553
|
+
constructor() {
|
|
12554
|
+
this.container = input.required(/* @ts-ignore */
|
|
12555
|
+
...(ngDevMode ? [{ debugName: "container" }] : /* istanbul ignore next */ []));
|
|
12556
|
+
this.isContainerActive = input.required(/* @ts-ignore */
|
|
12557
|
+
...(ngDevMode ? [{ debugName: "isContainerActive" }] : /* istanbul ignore next */ []));
|
|
12558
|
+
this.isDetailsExpanded = input.required(/* @ts-ignore */
|
|
12559
|
+
...(ngDevMode ? [{ debugName: "isDetailsExpanded" }] : /* istanbul ignore next */ []));
|
|
12560
|
+
this.maxPayloadByContainerSizeMap = input.required(/* @ts-ignore */
|
|
12561
|
+
...(ngDevMode ? [{ debugName: "maxPayloadByContainerSizeMap" }] : /* istanbul ignore next */ []));
|
|
12562
|
+
this.showCartoonsField = input(true, /* @ts-ignore */
|
|
12563
|
+
...(ngDevMode ? [{ debugName: "showCartoonsField" }] : /* istanbul ignore next */ []));
|
|
12564
|
+
this.showGateInDateField = input(true, /* @ts-ignore */
|
|
12565
|
+
...(ngDevMode ? [{ debugName: "showGateInDateField" }] : /* istanbul ignore next */ []));
|
|
12566
|
+
this.containerSelected = output();
|
|
12567
|
+
this.kitExpansionPanelToggleMode = KitExpansionPanelToggleMode;
|
|
12568
|
+
this.kitStatusLabelSize = KitStatusLabelSize;
|
|
12569
|
+
this.kitDataFieldLayout = KitDataFieldLayout;
|
|
12570
|
+
this.kitDataFieldState = KitDataFieldState;
|
|
12571
|
+
this.kitSvgIcon = KitSvgIcon;
|
|
12572
|
+
this.kitTooltipPosition = KitTooltipPosition;
|
|
12573
|
+
this.kitStatusLabelColor = KitStatusLabelColor;
|
|
12574
|
+
this.dateformat = KIT_DATE_FORMAT;
|
|
12575
|
+
}
|
|
12576
|
+
getUtilisationProgress(size, cbm) {
|
|
12577
|
+
const rate = this.getUtilisationRate(size, cbm);
|
|
12578
|
+
if (rate === null) {
|
|
12579
|
+
return 0;
|
|
12580
|
+
}
|
|
12581
|
+
return Math.max(0, Math.min(rate, 100));
|
|
12582
|
+
}
|
|
12583
|
+
getUtilisationDisplayValue(size, cbm) {
|
|
12584
|
+
const rate = this.getUtilisationRate(size, cbm);
|
|
12585
|
+
return rate === null ? '-' : `${Math.round(rate)}%`;
|
|
12586
|
+
}
|
|
12587
|
+
getUtilisationColor(size, cbm) {
|
|
12588
|
+
const rate = this.getUtilisationRate(size, cbm);
|
|
12589
|
+
if (!rate) {
|
|
12590
|
+
return null;
|
|
12591
|
+
}
|
|
12592
|
+
if (rate >= 80) {
|
|
12593
|
+
return KitShipmentContainerUtilisationColor.Green;
|
|
12594
|
+
}
|
|
12595
|
+
if (rate >= 70) {
|
|
12596
|
+
return KitShipmentContainerUtilisationColor.Amber;
|
|
12597
|
+
}
|
|
12598
|
+
return KitShipmentContainerUtilisationColor.Red;
|
|
12599
|
+
}
|
|
12600
|
+
getMaximumPayload(containerSize) {
|
|
12601
|
+
if (!containerSize) {
|
|
12602
|
+
return null;
|
|
12603
|
+
}
|
|
12604
|
+
return this.maxPayloadByContainerSizeMap()[containerSize] ?? null;
|
|
12605
|
+
}
|
|
12606
|
+
getUtilisationRate(size, cbm) {
|
|
12607
|
+
const maximumPayload = this.getMaximumPayload(size);
|
|
12608
|
+
const volume = cbm;
|
|
12609
|
+
if (!maximumPayload || volume === null) {
|
|
12610
|
+
return null;
|
|
12611
|
+
}
|
|
12612
|
+
return Math.round(volume / maximumPayload * 100);
|
|
12613
|
+
}
|
|
12614
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: KitShipmentContainerCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12615
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: KitShipmentContainerCardComponent, isStandalone: true, selector: "kit-shipment-container-card", inputs: { container: { classPropertyName: "container", publicName: "container", isSignal: true, isRequired: true, transformFunction: null }, isContainerActive: { classPropertyName: "isContainerActive", publicName: "isContainerActive", isSignal: true, isRequired: true, transformFunction: null }, isDetailsExpanded: { classPropertyName: "isDetailsExpanded", publicName: "isDetailsExpanded", isSignal: true, isRequired: true, transformFunction: null }, maxPayloadByContainerSizeMap: { classPropertyName: "maxPayloadByContainerSizeMap", publicName: "maxPayloadByContainerSizeMap", isSignal: true, isRequired: true, transformFunction: null }, showCartoonsField: { classPropertyName: "showCartoonsField", publicName: "showCartoonsField", isSignal: true, isRequired: false, transformFunction: null }, showGateInDateField: { classPropertyName: "showGateInDateField", publicName: "showGateInDateField", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { containerSelected: "containerSelected" }, ngImport: i0, template: "<kit-expansion-panel class=\"kit-shipment-container-card\"\n [class.active]=\"isContainerActive()\"\n [toggleMode]=\"kitExpansionPanelToggleMode.BUTTON\"\n [expanded]=\"isDetailsExpanded()\"\n [hasToggleButton]=\"false\"\n [active]=\"isContainerActive()\"\n (panelClick)=\"containerSelected.emit(container().id)\">\n <ng-template kitExpansionPanelHeaderTemplate>\n <div class=\"card-header\">\n <div class=\"card-header-left\">\n <kit-radio-button [value]=\"container().id\"\n [checked]=\"isContainerActive()\" />\n <div class=\"col-main\">\n <div class=\"title\">{{ container().number }}</div>\n <div class=\"subtitle\">\n {{ \"kit.shipmentContainer.sealNumber\" | translate }}\n {{ container().sealNumber || '-' }}\n </div>\n </div>\n <div class=\"col-status\">\n @if (container().state) {\n <kit-status-label [color]=\"container().stateLabelColor ?? kitStatusLabelColor.WHITE\"\n [size]=\"kitStatusLabelSize.SMALL\">\n {{ container().state }}\n </kit-status-label>\n }\n </div>\n </div>\n <div class=\"card-header-right\">\n <div class=\"col-size\">\n <div class=\"field\">\n <div class=\"field-label\">{{ \"kit.shipmentContainer.sizeMode\" | translate }}</div>\n <div class=\"field-value\">{{ container().sizeModeValue }}</div>\n </div>\n </div>\n <div class=\"col-utilisation\">\n @let utilisation = getUtilisationProgress(container().size, container().volume);\n <div class=\"field\"\n kitTooltip\n kitTooltipFilter=\".field\"\n [kitTooltipPosition]=\"kitTooltipPosition.TOP\"\n [title]=\"'kit.shipmentContainer.utilisationTooltip' | translate:{ value: utilisation }\">\n <div class=\"field-label\">{{ \"kit.shipmentContainer.utilisation\" | translate }}</div>\n <div class=\"field-value\">{{ utilisation }}%</div>\n </div>\n <div class=\"progress\">\n <div class=\"progress-bar\"\n [style.width.%]=\"getUtilisationProgress(container().size, container().volume)\"\n [ngClass]=\"getUtilisationColor(container().size, container().volume)\"\n ></div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div class=\"card-details\">\n <kit-data-field class=\"kit-shipment-container-card-data-field\"\n [label]=\"'kit.shipmentContainer.sizeMode' | translate\"\n [value]=\"container().sizeModeValue\"\n [tooltipText]=\"container().sizeWarning || undefined\"\n [state]=\"container().sizeWarningState ?? kitDataFieldState.DEFAULT\"\n [icon]=\"container().sizeWarning && kitSvgIcon.WARNING_CIRCLE || undefined\"\n [layout]=\"kitDataFieldLayout.COMPACT\"\n ></kit-data-field>\n <kit-data-field class=\"kit-shipment-container-card-data-field\"\n [label]=\"'kit.shipmentContainer.weight' | translate\"\n [value]=\"container().weight ? container().weight + ' ' + container().unitOfMeasure : '-'\"\n [layout]=\"kitDataFieldLayout.COMPACT\"\n ></kit-data-field>\n @if (showGateInDateField()) {\n <kit-data-field class=\"kit-shipment-container-card-data-field\"\n [label]=\"'kit.shipmentContainer.gateInDate' | translate\"\n [value]=\"container().gateInDate | date: dateformat : 'UTC'\"\n [layout]=\"kitDataFieldLayout.COMPACT\"\n ></kit-data-field>\n }\n <kit-data-field class=\"kit-shipment-container-card-data-field\"\n [label]=\"'kit.shipmentContainer.volume' | translate\"\n [value]=\"container().volume ? container().volume + ' ' + container().unitOfVolume : '-'\"\n [tooltipText]=\"container().volumeWarning || undefined\"\n [state]=\"container().volumeWarningState ?? kitDataFieldState.DEFAULT\"\n [icon]=\"container().volumeWarning && kitSvgIcon.WARNING_CIRCLE || undefined\"\n [layout]=\"kitDataFieldLayout.COMPACT\"\n ></kit-data-field>\n <kit-data-field class=\"kit-shipment-container-card-data-field\"\n [label]=\"'kit.shipmentContainer.shippedQty' | translate\"\n [value]=\"container().shippedQuantity\"\n [layout]=\"kitDataFieldLayout.COMPACT\"\n ></kit-data-field>\n @if (showCartoonsField()) {\n <kit-data-field class=\"kit-shipment-container-card-data-field\"\n [label]=\"'kit.shipmentContainer.cartoons' | translate\"\n [value]=\"container().cartoons\"\n [layout]=\"kitDataFieldLayout.COMPACT\"\n ></kit-data-field>\n }\n </div>\n</kit-expansion-panel>\n", styles: [".kit-shipment-container-card{display:block;container:containers-details/inline-size}.kit-shipment-container-card.active .card-header-right .field-label,.kit-shipment-container-card.active .card-header .col-main .subtitle{color:var(--ui-kit-color-grey-10)}.kit-shipment-container-card.active .card-header .progress{background:var(--ui-kit-color-grey-17)}.kit-shipment-container-card .card-header{display:flex;align-items:center;justify-content:space-between;gap:30px}.kit-shipment-container-card .card-header-left,.kit-shipment-container-card .card-header-right{display:flex;align-items:center}.kit-shipment-container-card .card-header-left .title,.kit-shipment-container-card .card-header-right .title{font-weight:500;font-size:16px;line-height:22px}.kit-shipment-container-card .card-header-left .subtitle,.kit-shipment-container-card .card-header-right .subtitle{color:var(--ui-kit-color-grey-12);font-size:13px}.kit-shipment-container-card .card-header-left .field,.kit-shipment-container-card .card-header-right .field{display:flex;flex-direction:column;gap:5px;text-align:center}.kit-shipment-container-card .card-header-left .field-label,.kit-shipment-container-card .card-header-right .field-label{color:var(--ui-kit-color-grey-12);font-size:13px}.kit-shipment-container-card .card-header-left .field-value,.kit-shipment-container-card .card-header-right .field-value{font-size:14px}.kit-shipment-container-card .card-header-left .progress,.kit-shipment-container-card .card-header-right .progress{width:100px;height:8px;border-radius:8px;background:var(--ui-kit-color-grey-11)}.kit-shipment-container-card .card-header-left .progress-bar,.kit-shipment-container-card .card-header-right .progress-bar{height:100%;width:0;border-radius:8px;transition:width .2s ease}.kit-shipment-container-card .card-header-left .progress-bar.green,.kit-shipment-container-card .card-header-right .progress-bar.green{background:var(--ui-kit-color-green-6)}.kit-shipment-container-card .card-header-left .progress-bar.amber,.kit-shipment-container-card .card-header-right .progress-bar.amber{background:var(--ui-kit-color-orange-5)}.kit-shipment-container-card .card-header-left .progress-bar.red,.kit-shipment-container-card .card-header-right .progress-bar.red{background:var(--ui-kit-color-red-1)}.kit-shipment-container-card .card-header-left{gap:20px}.kit-shipment-container-card .card-header-right{gap:30px}.kit-shipment-container-card .card-header .col-main{display:flex;flex-direction:column;gap:5px}.kit-shipment-container-card .card-header .col-meta{align-items:center;text-align:center}.kit-shipment-container-card .card-header .col-status{align-self:flex-start}.kit-shipment-container-card .card-header .col-utilisation{display:flex;align-items:center;gap:10px}.kit-shipment-container-card .card-details{display:grid}.kit-shipment-container-card-data-field:nth-child(-n+3){border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-shipment-container-card ::ng-deep .kit-expansion-panel{cursor:pointer}.kit-shipment-container-card ::ng-deep .kit-expansion-panel.active{background:var(--ui-kit-color-background)}.kit-shipment-container-card ::ng-deep .kit-expansion-panel:not(.active).default.k-expanded .kit-expansion-panel-content{margin-bottom:-1px}.kit-shipment-container-card ::ng-deep .kit-expansion-panel.default.k-expanded .kit-expansion-panel-content{padding-bottom:0}@container containers-details (min-width: 1100px){.card-details{grid-template-columns:repeat(3,1fr)}}@container containers-details (max-width: 1100px){.card-details{grid-template-columns:repeat(2,1fr)}.kit-shipment-container-card-data-field:nth-child(-n+4){border-bottom:1px solid var(--ui-kit-color-grey-11)}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: KitRadioButtonComponent, selector: "kit-radio-button", inputs: ["items", "label", "name", "readonly", "type", "value", "checked", "icon", "disabled"], outputs: ["checkedChange", "disabledChange", "changed"] }, { kind: "component", type: KitExpansionPanelComponent, selector: "kit-expansion-panel", inputs: ["title", "disabled", "toggleMode", "expanded", "active", "hasToggleButton", "view"], outputs: ["expandedChange", "expand", "collapse", "panelClick"] }, { kind: "directive", type: KitExpansionPanelHeaderTemplateDirective, selector: "[kitExpansionPanelHeaderTemplate]" }, { kind: "component", type: KitDataFieldComponent, selector: "kit-data-field", inputs: ["label", "value", "link", "queryParams", "target", "state", "tooltipText", "icon", "iconType", "layout"] }, { kind: "component", type: KitStatusLabelComponent, selector: "kit-status-label", inputs: ["color", "size", "tooltip", "truncateText"] }, { kind: "directive", type: KitTooltipDirective, selector: "[kitTooltip]", inputs: ["kitTooltipPosition", "kitTooltipFilter", "kitTooltipTemplateRef", "kitTooltipVisible", "kitTooltipOffset"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12616
|
+
}
|
|
12617
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: KitShipmentContainerCardComponent, decorators: [{
|
|
12618
|
+
type: Component,
|
|
12619
|
+
args: [{ selector: 'kit-shipment-container-card', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
12620
|
+
TranslatePipe,
|
|
12621
|
+
DatePipe,
|
|
12622
|
+
NgClass,
|
|
12623
|
+
KitRadioButtonComponent,
|
|
12624
|
+
KitExpansionPanelComponent,
|
|
12625
|
+
KitExpansionPanelHeaderTemplateDirective,
|
|
12626
|
+
KitDataFieldComponent,
|
|
12627
|
+
KitStatusLabelComponent,
|
|
12628
|
+
KitTooltipDirective,
|
|
12629
|
+
], template: "<kit-expansion-panel class=\"kit-shipment-container-card\"\n [class.active]=\"isContainerActive()\"\n [toggleMode]=\"kitExpansionPanelToggleMode.BUTTON\"\n [expanded]=\"isDetailsExpanded()\"\n [hasToggleButton]=\"false\"\n [active]=\"isContainerActive()\"\n (panelClick)=\"containerSelected.emit(container().id)\">\n <ng-template kitExpansionPanelHeaderTemplate>\n <div class=\"card-header\">\n <div class=\"card-header-left\">\n <kit-radio-button [value]=\"container().id\"\n [checked]=\"isContainerActive()\" />\n <div class=\"col-main\">\n <div class=\"title\">{{ container().number }}</div>\n <div class=\"subtitle\">\n {{ \"kit.shipmentContainer.sealNumber\" | translate }}\n {{ container().sealNumber || '-' }}\n </div>\n </div>\n <div class=\"col-status\">\n @if (container().state) {\n <kit-status-label [color]=\"container().stateLabelColor ?? kitStatusLabelColor.WHITE\"\n [size]=\"kitStatusLabelSize.SMALL\">\n {{ container().state }}\n </kit-status-label>\n }\n </div>\n </div>\n <div class=\"card-header-right\">\n <div class=\"col-size\">\n <div class=\"field\">\n <div class=\"field-label\">{{ \"kit.shipmentContainer.sizeMode\" | translate }}</div>\n <div class=\"field-value\">{{ container().sizeModeValue }}</div>\n </div>\n </div>\n <div class=\"col-utilisation\">\n @let utilisation = getUtilisationProgress(container().size, container().volume);\n <div class=\"field\"\n kitTooltip\n kitTooltipFilter=\".field\"\n [kitTooltipPosition]=\"kitTooltipPosition.TOP\"\n [title]=\"'kit.shipmentContainer.utilisationTooltip' | translate:{ value: utilisation }\">\n <div class=\"field-label\">{{ \"kit.shipmentContainer.utilisation\" | translate }}</div>\n <div class=\"field-value\">{{ utilisation }}%</div>\n </div>\n <div class=\"progress\">\n <div class=\"progress-bar\"\n [style.width.%]=\"getUtilisationProgress(container().size, container().volume)\"\n [ngClass]=\"getUtilisationColor(container().size, container().volume)\"\n ></div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div class=\"card-details\">\n <kit-data-field class=\"kit-shipment-container-card-data-field\"\n [label]=\"'kit.shipmentContainer.sizeMode' | translate\"\n [value]=\"container().sizeModeValue\"\n [tooltipText]=\"container().sizeWarning || undefined\"\n [state]=\"container().sizeWarningState ?? kitDataFieldState.DEFAULT\"\n [icon]=\"container().sizeWarning && kitSvgIcon.WARNING_CIRCLE || undefined\"\n [layout]=\"kitDataFieldLayout.COMPACT\"\n ></kit-data-field>\n <kit-data-field class=\"kit-shipment-container-card-data-field\"\n [label]=\"'kit.shipmentContainer.weight' | translate\"\n [value]=\"container().weight ? container().weight + ' ' + container().unitOfMeasure : '-'\"\n [layout]=\"kitDataFieldLayout.COMPACT\"\n ></kit-data-field>\n @if (showGateInDateField()) {\n <kit-data-field class=\"kit-shipment-container-card-data-field\"\n [label]=\"'kit.shipmentContainer.gateInDate' | translate\"\n [value]=\"container().gateInDate | date: dateformat : 'UTC'\"\n [layout]=\"kitDataFieldLayout.COMPACT\"\n ></kit-data-field>\n }\n <kit-data-field class=\"kit-shipment-container-card-data-field\"\n [label]=\"'kit.shipmentContainer.volume' | translate\"\n [value]=\"container().volume ? container().volume + ' ' + container().unitOfVolume : '-'\"\n [tooltipText]=\"container().volumeWarning || undefined\"\n [state]=\"container().volumeWarningState ?? kitDataFieldState.DEFAULT\"\n [icon]=\"container().volumeWarning && kitSvgIcon.WARNING_CIRCLE || undefined\"\n [layout]=\"kitDataFieldLayout.COMPACT\"\n ></kit-data-field>\n <kit-data-field class=\"kit-shipment-container-card-data-field\"\n [label]=\"'kit.shipmentContainer.shippedQty' | translate\"\n [value]=\"container().shippedQuantity\"\n [layout]=\"kitDataFieldLayout.COMPACT\"\n ></kit-data-field>\n @if (showCartoonsField()) {\n <kit-data-field class=\"kit-shipment-container-card-data-field\"\n [label]=\"'kit.shipmentContainer.cartoons' | translate\"\n [value]=\"container().cartoons\"\n [layout]=\"kitDataFieldLayout.COMPACT\"\n ></kit-data-field>\n }\n </div>\n</kit-expansion-panel>\n", styles: [".kit-shipment-container-card{display:block;container:containers-details/inline-size}.kit-shipment-container-card.active .card-header-right .field-label,.kit-shipment-container-card.active .card-header .col-main .subtitle{color:var(--ui-kit-color-grey-10)}.kit-shipment-container-card.active .card-header .progress{background:var(--ui-kit-color-grey-17)}.kit-shipment-container-card .card-header{display:flex;align-items:center;justify-content:space-between;gap:30px}.kit-shipment-container-card .card-header-left,.kit-shipment-container-card .card-header-right{display:flex;align-items:center}.kit-shipment-container-card .card-header-left .title,.kit-shipment-container-card .card-header-right .title{font-weight:500;font-size:16px;line-height:22px}.kit-shipment-container-card .card-header-left .subtitle,.kit-shipment-container-card .card-header-right .subtitle{color:var(--ui-kit-color-grey-12);font-size:13px}.kit-shipment-container-card .card-header-left .field,.kit-shipment-container-card .card-header-right .field{display:flex;flex-direction:column;gap:5px;text-align:center}.kit-shipment-container-card .card-header-left .field-label,.kit-shipment-container-card .card-header-right .field-label{color:var(--ui-kit-color-grey-12);font-size:13px}.kit-shipment-container-card .card-header-left .field-value,.kit-shipment-container-card .card-header-right .field-value{font-size:14px}.kit-shipment-container-card .card-header-left .progress,.kit-shipment-container-card .card-header-right .progress{width:100px;height:8px;border-radius:8px;background:var(--ui-kit-color-grey-11)}.kit-shipment-container-card .card-header-left .progress-bar,.kit-shipment-container-card .card-header-right .progress-bar{height:100%;width:0;border-radius:8px;transition:width .2s ease}.kit-shipment-container-card .card-header-left .progress-bar.green,.kit-shipment-container-card .card-header-right .progress-bar.green{background:var(--ui-kit-color-green-6)}.kit-shipment-container-card .card-header-left .progress-bar.amber,.kit-shipment-container-card .card-header-right .progress-bar.amber{background:var(--ui-kit-color-orange-5)}.kit-shipment-container-card .card-header-left .progress-bar.red,.kit-shipment-container-card .card-header-right .progress-bar.red{background:var(--ui-kit-color-red-1)}.kit-shipment-container-card .card-header-left{gap:20px}.kit-shipment-container-card .card-header-right{gap:30px}.kit-shipment-container-card .card-header .col-main{display:flex;flex-direction:column;gap:5px}.kit-shipment-container-card .card-header .col-meta{align-items:center;text-align:center}.kit-shipment-container-card .card-header .col-status{align-self:flex-start}.kit-shipment-container-card .card-header .col-utilisation{display:flex;align-items:center;gap:10px}.kit-shipment-container-card .card-details{display:grid}.kit-shipment-container-card-data-field:nth-child(-n+3){border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-shipment-container-card ::ng-deep .kit-expansion-panel{cursor:pointer}.kit-shipment-container-card ::ng-deep .kit-expansion-panel.active{background:var(--ui-kit-color-background)}.kit-shipment-container-card ::ng-deep .kit-expansion-panel:not(.active).default.k-expanded .kit-expansion-panel-content{margin-bottom:-1px}.kit-shipment-container-card ::ng-deep .kit-expansion-panel.default.k-expanded .kit-expansion-panel-content{padding-bottom:0}@container containers-details (min-width: 1100px){.card-details{grid-template-columns:repeat(3,1fr)}}@container containers-details (max-width: 1100px){.card-details{grid-template-columns:repeat(2,1fr)}.kit-shipment-container-card-data-field:nth-child(-n+4){border-bottom:1px solid var(--ui-kit-color-grey-11)}}\n"] }]
|
|
12630
|
+
}], propDecorators: { container: [{ type: i0.Input, args: [{ isSignal: true, alias: "container", required: true }] }], isContainerActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "isContainerActive", required: true }] }], isDetailsExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDetailsExpanded", required: true }] }], maxPayloadByContainerSizeMap: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxPayloadByContainerSizeMap", required: true }] }], showCartoonsField: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCartoonsField", required: false }] }], showGateInDateField: [{ type: i0.Input, args: [{ isSignal: true, alias: "showGateInDateField", required: false }] }], containerSelected: [{ type: i0.Output, args: ["containerSelected"] }] } });
|
|
12631
|
+
|
|
12545
12632
|
var KitLanguage;
|
|
12546
12633
|
(function (KitLanguage) {
|
|
12547
12634
|
KitLanguage["ENGLISH"] = "en";
|
|
@@ -12874,6 +12961,17 @@ const kitTranslations = {
|
|
|
12874
12961
|
legType: 'Leg Type',
|
|
12875
12962
|
},
|
|
12876
12963
|
},
|
|
12964
|
+
shipmentContainer: {
|
|
12965
|
+
sealNumber: 'Seal No:',
|
|
12966
|
+
sizeMode: 'Size / Mode:',
|
|
12967
|
+
weight: 'Weight:',
|
|
12968
|
+
gateInDate: 'Gate In Date:',
|
|
12969
|
+
volume: 'Volume:',
|
|
12970
|
+
shippedQty: 'Shipped Qty:',
|
|
12971
|
+
cartoons: 'Cartons (Actual / Exp):',
|
|
12972
|
+
utilisation: 'Utilisation',
|
|
12973
|
+
utilisationTooltip: '{{ value }}% of container volume utilised',
|
|
12974
|
+
},
|
|
12877
12975
|
},
|
|
12878
12976
|
},
|
|
12879
12977
|
fr: {
|
|
@@ -13182,6 +13280,17 @@ const kitTranslations = {
|
|
|
13182
13280
|
legType: 'Type de trajet',
|
|
13183
13281
|
},
|
|
13184
13282
|
},
|
|
13283
|
+
shipmentContainer: {
|
|
13284
|
+
sealNumber: 'N° de plomb :',
|
|
13285
|
+
sizeMode: 'Taille / Mode :',
|
|
13286
|
+
weight: 'Poids :',
|
|
13287
|
+
gateInDate: 'Date d\'entrée au terminal :',
|
|
13288
|
+
volume: 'Volume :',
|
|
13289
|
+
shippedQty: 'Qté expédiée :',
|
|
13290
|
+
cartoons: 'Cartons (Réel / Prévu) :',
|
|
13291
|
+
utilisation: 'Utilisation',
|
|
13292
|
+
utilisationTooltip: '{{ value }}% du volume du conteneur utilisé',
|
|
13293
|
+
},
|
|
13185
13294
|
},
|
|
13186
13295
|
},
|
|
13187
13296
|
de: {
|
|
@@ -13490,6 +13599,17 @@ const kitTranslations = {
|
|
|
13490
13599
|
legType: 'Streckentyp',
|
|
13491
13600
|
},
|
|
13492
13601
|
},
|
|
13602
|
+
shipmentContainer: {
|
|
13603
|
+
sealNumber: 'Plombennummer:',
|
|
13604
|
+
sizeMode: 'Größe / Modus:',
|
|
13605
|
+
weight: 'Gewicht:',
|
|
13606
|
+
gateInDate: 'Gate-In-Datum:',
|
|
13607
|
+
volume: 'Volumen:',
|
|
13608
|
+
shippedQty: 'Versandmenge:',
|
|
13609
|
+
cartoons: 'Kartons (Ist / Erwartet):',
|
|
13610
|
+
utilisation: 'Auslastung',
|
|
13611
|
+
utilisationTooltip: '{{ value }}% des Containervolumens ausgelastet',
|
|
13612
|
+
},
|
|
13493
13613
|
},
|
|
13494
13614
|
},
|
|
13495
13615
|
ru: {
|
|
@@ -13794,6 +13914,17 @@ const kitTranslations = {
|
|
|
13794
13914
|
legType: 'Тип участка',
|
|
13795
13915
|
},
|
|
13796
13916
|
},
|
|
13917
|
+
shipmentContainer: {
|
|
13918
|
+
sealNumber: 'Номер пломбы:',
|
|
13919
|
+
sizeMode: 'Размер / Режим:',
|
|
13920
|
+
weight: 'Вес:',
|
|
13921
|
+
gateInDate: 'Дата въезда:',
|
|
13922
|
+
volume: 'Объем:',
|
|
13923
|
+
shippedQty: 'Отгруженное кол-во:',
|
|
13924
|
+
cartoons: 'Коробки (Факт / Ожид.):',
|
|
13925
|
+
utilisation: 'Использование',
|
|
13926
|
+
utilisationTooltip: 'Использовано {{ value }}% объема контейнера',
|
|
13927
|
+
},
|
|
13797
13928
|
},
|
|
13798
13929
|
},
|
|
13799
13930
|
'zh-CN': {
|
|
@@ -14098,6 +14229,17 @@ const kitTranslations = {
|
|
|
14098
14229
|
legType: '航段类型',
|
|
14099
14230
|
},
|
|
14100
14231
|
},
|
|
14232
|
+
shipmentContainer: {
|
|
14233
|
+
sealNumber: '封条号:',
|
|
14234
|
+
sizeMode: '尺寸/模式:',
|
|
14235
|
+
weight: '重量:',
|
|
14236
|
+
gateInDate: '入闸日期:',
|
|
14237
|
+
volume: '体积:',
|
|
14238
|
+
shippedQty: '已发货数量:',
|
|
14239
|
+
cartoons: '纸箱(实际/预计):',
|
|
14240
|
+
utilisation: '利用率',
|
|
14241
|
+
utilisationTooltip: '已使用集装箱容积的 {{ value }}%',
|
|
14242
|
+
},
|
|
14101
14243
|
},
|
|
14102
14244
|
},
|
|
14103
14245
|
};
|
|
@@ -19446,5 +19588,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
19446
19588
|
* Generated bundle index. Do not edit.
|
|
19447
19589
|
*/
|
|
19448
19590
|
|
|
19449
|
-
export { AbstractKitCtaPanelConfirmationComponent, AddGridFilter, DeletePartner, FetchApiTokens, FetchPartners, FetchUser, FetchUserIdentities, FetchUserPermissions, FetchUserSettings, HighlightPipe, KIT_ALL_PERMISSIONS_PATH, KIT_API_TOKENS_STATE_TOKEN, KIT_BASE_PATH, KIT_DATETIME_FORMAT_LONG, KIT_DATE_FORMAT, KIT_DATE_FORMAT_SHORT, KIT_ENTITY_CREATE_SERVICE, KIT_GRID_CELL_DATE_FORMAT_CONFIG, KIT_GRID_COLUMN_WIDTH, KIT_GRID_PAGE_SIZE, KIT_GRID_STATE_TOKEN, KIT_LANGUAGE_LABELS, KIT_PARTNERS_STATE_TOKEN, KIT_SUPPORTED_LANGUAGES, KIT_TIME_FORMAT_SHORT, KIT_USER_APPLICATIONS_PATH, KIT_USER_IDENTITIES_STATE_TOKEN, KIT_USER_PATH, KIT_USER_PERMISSIONS_PATH, KIT_USER_PERMISSIONS_STATE_TOKEN, KIT_USER_STATE_TOKEN, KitAbstractIdPayloadAction, KitAbstractPayloadAction, KitAccountService, KitApiTokenMaintenanceListComponent, KitApiTokenMaintenanceListState, KitApiTokensPermissionCategories, KitAutocompleteComponent, KitAutocompleteDirective, KitAutocompleteSize, KitAvatarComponent, KitAvatarSize, KitBackButtonComponent, KitBadgeDirective, KitBadgeTheme, KitBreadcrumbsComponent, KitBreadcrumbsService, KitButtonComponent, KitButtonIconPosition, KitButtonKind, KitButtonState, KitButtonType, KitCardComponent, KitCardDetailsComponent, KitCardTheme, KitCheckboxComponent, KitCheckboxState, KitClipboardService, KitCodeEditorComponent, KitCodeEditorLanguage, KitCodeEditorMode, KitCollapsedListComponent, KitCollapsedListDropdownAlign, KitCopyTextComponent, KitCreateEntityDialogComponent, KitCtaPanelAbstractConfirmationComponent, KitCtaPanelActionComponent, KitCtaPanelConfirmationComponent, KitCtaPanelItemComponent, KitCtaPanelItemType, KitDataFieldComponent, KitDataFieldLayout, KitDataFieldState, KitDateRangeSingleInput, KitDatepickerComponent, KitDatepickerSize, KitDaterangeComponent, KitDaterangeType, KitDatetimepickerComponent, KitDeferredFailedRequestService, KitDialogActionsComponent, KitDialogComponent, KitDialogService, KitDialogTitlebarComponent, KitDialogType, KitDrawerComponent, KitDrawerContentTemplateDirective, KitDrawerFooterTemplateDirective, KitDrawerMode, KitDropdownComponent, KitDropdownItemTemplateDirective, KitDropdownSize, KitEmptySectionComponent, KitEmptySectionSize, KitEntityGridComponent, KitEntitySectionComponent, KitEntitySectionContainerComponent, KitEntitySectionEditableActionsTemplateDirective, KitEntitySectionEditableComponent, KitEntitySectionEditableEditTemplateDirective, KitEntitySectionEditableMode, KitEntitySectionEditableViewTemplateDirective, KitEntitySectionLayout, KitEntityTitleComponent, KitExcelExportService, KitExpansionPanelComponent, KitExpansionPanelHeaderTemplateDirective, KitExpansionPanelToggleMode, KitExpansionPanelView, KitFileCardComponent, KitFileCardMessagesComponent, KitFileCardSize, KitFileUploadComponent, KitFileUploadTemplateType, KitFilterCheckboxComponent, KitFilterDateRange, KitFilterLogic, KitFilterOperator, KitFilterType, KitForbiddenComponent, KitFormErrors, KitFormFieldComponent, KitFormLabelComponent, KitFormMessageComponent, KitGlobalSearchComponent, KitGridActionComponent, KitGridArchiveToggle, KitGridCellComponent, KitGridCellService, KitGridCellTemplateDirective, KitGridCheckboxColumnComponent, KitGridCheckboxColumnType, KitGridColumnComponent, KitGridColumnManagerComponent, KitGridComponent, KitGridDetailTemplateDirective, KitGridDetailsButtonComponent, KitGridDropPosition, KitGridExportComponent, KitGridFiltersComponent, KitGridFiltersToggleComponent, KitGridLiveUpdatesControlComponent, KitGridSearchComponent, KitGridSortSettingsMode, KitGridState, KitGridUrlStateService, KitGridViewType, KitGridViewsComponent, KitGridViewsState, KitHttpErrorHandlerService, KitLanguage, KitListComponent, KitLoaderComponent, KitLocationStepperComponent, KitLocationStepperIconTheme, KitLocationStepperTheme, KitMobileHeaderComponent, KitMobileMenuComponent, KitMobileMenuState, KitMultiselectComponent, KitMultiselectGroupTagTemplateDirective, KitMultiselectItemsDirection, KitMultiselectSize, KitNavigationMenuComponent, KitNavigationMenuService, KitNavigationMenuSubmenuComponent, KitNavigationTabsComponent, KitNavigationTabsType, KitNotFoundComponent, KitNoteComponent, KitNotificationComponent, KitNotificationService, KitNotificationType, KitNumericTextboxComponent, KitNumericTextboxSize, KitNumericTextboxState, KitOptionToggleComponent, KitOptionToggleSize, KitPageLayoutComponent, KitPartnerComponent, KitPartnerService, KitPartnerState, KitPermissionDirective, KitPillComponent, KitPillTheme, KitPillType, KitPopoverAnchorDirective, KitPopoverComponent, KitPopoverPosition, KitPopoverShowOption, KitPopupAlignHorizontal, KitPopupAlignVertical, KitPopupComponent, KitPopupPositionMode, KitProfileMenuComponent, KitQueryParamsName, KitQueryParamsService, KitRadioButtonComponent, KitRadioButtonType, KitRoutePathComponent, KitSchedulerAgendaTimeTemplateDirective, KitSchedulerComponent, KitSchedulerCustomViewTemplateDirective, KitSchedulerMonthEventTemplateDirective, KitSchedulerMonthHeaderCellTemplateDirective, KitSchedulerToolbarTemplateDirective, KitSchedulerWeekEventTemplateDirective, KitScrollNavigationComponent, KitScrollNavigationSectionComponent, KitSearchBarComponent, KitSelectableCardComponent, KitShipmentRoutingCardComponent, KitShipmentRoutingOverviewComponent, KitSidebarComponent, KitSkeletonAnimation, KitSkeletonComponent, KitSkeletonGridComponent, KitSkeletonSectionComponent, KitSkeletonShape, KitSortDirection, KitSortableComponent, KitSplitContainerComponent, KitStatusLabelColor, KitStatusLabelComponent, KitStatusLabelSize, KitSvgIcon, KitSvgIconComponent, KitSvgIconType, KitSvgSpriteComponent, KitSwitchComponent, KitSwitchMode, KitSwitchState, KitTabComponent, KitTabContentDirective, KitTabsComponent, KitTabsSize, KitTabsType, KitTextLabelComponent, KitTextLabelState, KitTextareaComponent, KitTextareaState, KitTextboxActionsComponent, KitTextboxComponent, KitTextboxSize, KitTextboxState, KitThemeService, KitThemes, KitTileLayoutComponent, KitTileLayoutItemComponent, KitTimelineCardComponent, KitTimelineCompactComponent, KitTimelineCompactItemTheme, KitTimelineCompactLineTheme, KitTimelineComponent, KitTimelineTheme, KitTimelineType, KitTimepickerComponent, KitTitleTemplateDirective, KitToggleComponent, KitToggleSize, KitTooltipDirective, KitTooltipPosition, KitTopBarComponent, KitTrackingCardComponent, KitTrackingTimelineComponent, KitTranslateLoader, KitTranslateService, KitTreeComponent, KitTreeContentDirective, KitTreeContentFormat, KitTreeViewMode, KitTruncateTextComponent, KitUnitsTextboxComponent, KitUnitsTextboxDropdownPosition, KitUnitsTextboxType, KitUserApiService, KitUserApplicationsState, KitUserIdentitiesInterceptor, KitUserIdentitiesSelector, KitUserIdentitiesState, KitUserPermissionsState, KitUserRoleDetailsComponent, KitUserRolesComponent, KitUserRolesService, KitUserRolesState, KitUserSettingsComponent, KitUserSettingsKeys, KitUserSettingsState, KitUserState, KitUserType, KitUsersService, KitUsersSettingsComponent, KitUsersSettingsEntitlementType, KitUsersSettingsEntitlementsService, KitUsersSettingsEntitlementsState, KitUsersSettingsReferenceService, KitUsersSettingsState, RemoveGridFilter, SetGridColumns, SetGridFilters, SetGridSearch, SetGridSkip, SetGridSort, SetGridTake, SetUserIdentity, UpdateGridFilter, UpdatePartnerName, UpdateUserPreferences, buildRandomUUID, buildRoutePorts, calculateCurrentLegProgress, calculateDurationInDays, calculateMainRouteProgressPercent, changeFilterField, createDataFetcherFactory, findMatches, getLegArrivalDate, getLegDepartureDate, getMainRouteActiveLegIndex, getTextboxState, getTransportIconLegIndex, isKitFilterDescriptor, isKitLanguageSupported, isLegReachedDestination, kitApiResponseDefaultEntities, kitApiTokenMaintenanceConfig, kitApiTokenMaintenanceRoutes, kitBuildFilterBooleanOptions, kitBuildFilterListOptions, kitBuildFilters, kitBuildGridColumn, kitBuildGridDataResults, kitBuildHttpParams, kitBuildOdataFilter, kitBuildSortString, kitDataStateToODataString, kitEncodeViewNameToUrl, kitFetchExportGridData, kitFetchGridData, kitFilterBy, kitFormatStringForSearch, kitGetPermissionTypesByCategory, kitHasPermission, kitNormalizeDateToUtc, kitShouldResetGridState, kitTranslations, kitUserPermissionsGuard, kitUserRolesConfig, kitUsersSettingsConfig, kitWhitespaceValidator, mapGlobalSearchResult, toUtcIsoString, trimTrailingSlash };
|
|
19591
|
+
export { AbstractKitCtaPanelConfirmationComponent, AddGridFilter, DeletePartner, FetchApiTokens, FetchPartners, FetchUser, FetchUserIdentities, FetchUserPermissions, FetchUserSettings, HighlightPipe, KIT_ALL_PERMISSIONS_PATH, KIT_API_TOKENS_STATE_TOKEN, KIT_BASE_PATH, KIT_DATETIME_FORMAT_LONG, KIT_DATE_FORMAT, KIT_DATE_FORMAT_SHORT, KIT_ENTITY_CREATE_SERVICE, KIT_GRID_CELL_DATE_FORMAT_CONFIG, KIT_GRID_COLUMN_WIDTH, KIT_GRID_PAGE_SIZE, KIT_GRID_STATE_TOKEN, KIT_LANGUAGE_LABELS, KIT_PARTNERS_STATE_TOKEN, KIT_SUPPORTED_LANGUAGES, KIT_TIME_FORMAT_SHORT, KIT_USER_APPLICATIONS_PATH, KIT_USER_IDENTITIES_STATE_TOKEN, KIT_USER_PATH, KIT_USER_PERMISSIONS_PATH, KIT_USER_PERMISSIONS_STATE_TOKEN, KIT_USER_STATE_TOKEN, KitAbstractIdPayloadAction, KitAbstractPayloadAction, KitAccountService, KitApiTokenMaintenanceListComponent, KitApiTokenMaintenanceListState, KitApiTokensPermissionCategories, KitAutocompleteComponent, KitAutocompleteDirective, KitAutocompleteSize, KitAvatarComponent, KitAvatarSize, KitBackButtonComponent, KitBadgeDirective, KitBadgeTheme, KitBreadcrumbsComponent, KitBreadcrumbsService, KitButtonComponent, KitButtonIconPosition, KitButtonKind, KitButtonState, KitButtonType, KitCardComponent, KitCardDetailsComponent, KitCardTheme, KitCheckboxComponent, KitCheckboxState, KitClipboardService, KitCodeEditorComponent, KitCodeEditorLanguage, KitCodeEditorMode, KitCollapsedListComponent, KitCollapsedListDropdownAlign, KitCopyTextComponent, KitCreateEntityDialogComponent, KitCtaPanelAbstractConfirmationComponent, KitCtaPanelActionComponent, KitCtaPanelConfirmationComponent, KitCtaPanelItemComponent, KitCtaPanelItemType, KitDataFieldComponent, KitDataFieldLayout, KitDataFieldState, KitDateRangeSingleInput, KitDatepickerComponent, KitDatepickerSize, KitDaterangeComponent, KitDaterangeType, KitDatetimepickerComponent, KitDeferredFailedRequestService, KitDialogActionsComponent, KitDialogComponent, KitDialogService, KitDialogTitlebarComponent, KitDialogType, KitDrawerComponent, KitDrawerContentTemplateDirective, KitDrawerFooterTemplateDirective, KitDrawerMode, KitDropdownComponent, KitDropdownItemTemplateDirective, KitDropdownSize, KitEmptySectionComponent, KitEmptySectionSize, KitEntityGridComponent, KitEntitySectionComponent, KitEntitySectionContainerComponent, KitEntitySectionEditableActionsTemplateDirective, KitEntitySectionEditableComponent, KitEntitySectionEditableEditTemplateDirective, KitEntitySectionEditableMode, KitEntitySectionEditableViewTemplateDirective, KitEntitySectionLayout, KitEntityTitleComponent, KitExcelExportService, KitExpansionPanelComponent, KitExpansionPanelHeaderTemplateDirective, KitExpansionPanelToggleMode, KitExpansionPanelView, KitFileCardComponent, KitFileCardMessagesComponent, KitFileCardSize, KitFileUploadComponent, KitFileUploadTemplateType, KitFilterCheckboxComponent, KitFilterDateRange, KitFilterLogic, KitFilterOperator, KitFilterType, KitForbiddenComponent, KitFormErrors, KitFormFieldComponent, KitFormLabelComponent, KitFormMessageComponent, KitGlobalSearchComponent, KitGridActionComponent, KitGridArchiveToggle, KitGridCellComponent, KitGridCellService, KitGridCellTemplateDirective, KitGridCheckboxColumnComponent, KitGridCheckboxColumnType, KitGridColumnComponent, KitGridColumnManagerComponent, KitGridComponent, KitGridDetailTemplateDirective, KitGridDetailsButtonComponent, KitGridDropPosition, KitGridExportComponent, KitGridFiltersComponent, KitGridFiltersToggleComponent, KitGridLiveUpdatesControlComponent, KitGridSearchComponent, KitGridSortSettingsMode, KitGridState, KitGridUrlStateService, KitGridViewType, KitGridViewsComponent, KitGridViewsState, KitHttpErrorHandlerService, KitLanguage, KitListComponent, KitLoaderComponent, KitLocationStepperComponent, KitLocationStepperIconTheme, KitLocationStepperTheme, KitMobileHeaderComponent, KitMobileMenuComponent, KitMobileMenuState, KitMultiselectComponent, KitMultiselectGroupTagTemplateDirective, KitMultiselectItemsDirection, KitMultiselectSize, KitNavigationMenuComponent, KitNavigationMenuService, KitNavigationMenuSubmenuComponent, KitNavigationTabsComponent, KitNavigationTabsType, KitNotFoundComponent, KitNoteComponent, KitNotificationComponent, KitNotificationService, KitNotificationType, KitNumericTextboxComponent, KitNumericTextboxSize, KitNumericTextboxState, KitOptionToggleComponent, KitOptionToggleSize, KitPageLayoutComponent, KitPartnerComponent, KitPartnerService, KitPartnerState, KitPermissionDirective, KitPillComponent, KitPillTheme, KitPillType, KitPopoverAnchorDirective, KitPopoverComponent, KitPopoverPosition, KitPopoverShowOption, KitPopupAlignHorizontal, KitPopupAlignVertical, KitPopupComponent, KitPopupPositionMode, KitProfileMenuComponent, KitQueryParamsName, KitQueryParamsService, KitRadioButtonComponent, KitRadioButtonType, KitRoutePathComponent, KitSchedulerAgendaTimeTemplateDirective, KitSchedulerComponent, KitSchedulerCustomViewTemplateDirective, KitSchedulerMonthEventTemplateDirective, KitSchedulerMonthHeaderCellTemplateDirective, KitSchedulerToolbarTemplateDirective, KitSchedulerWeekEventTemplateDirective, KitScrollNavigationComponent, KitScrollNavigationSectionComponent, KitSearchBarComponent, KitSelectableCardComponent, KitShipmentContainerCardComponent, KitShipmentRoutingCardComponent, KitShipmentRoutingOverviewComponent, KitSidebarComponent, KitSkeletonAnimation, KitSkeletonComponent, KitSkeletonGridComponent, KitSkeletonSectionComponent, KitSkeletonShape, KitSortDirection, KitSortableComponent, KitSplitContainerComponent, KitStatusLabelColor, KitStatusLabelComponent, KitStatusLabelSize, KitSvgIcon, KitSvgIconComponent, KitSvgIconType, KitSvgSpriteComponent, KitSwitchComponent, KitSwitchMode, KitSwitchState, KitTabComponent, KitTabContentDirective, KitTabsComponent, KitTabsSize, KitTabsType, KitTextLabelComponent, KitTextLabelState, KitTextareaComponent, KitTextareaState, KitTextboxActionsComponent, KitTextboxComponent, KitTextboxSize, KitTextboxState, KitThemeService, KitThemes, KitTileLayoutComponent, KitTileLayoutItemComponent, KitTimelineCardComponent, KitTimelineCompactComponent, KitTimelineCompactItemTheme, KitTimelineCompactLineTheme, KitTimelineComponent, KitTimelineTheme, KitTimelineType, KitTimepickerComponent, KitTitleTemplateDirective, KitToggleComponent, KitToggleSize, KitTooltipDirective, KitTooltipPosition, KitTopBarComponent, KitTrackingCardComponent, KitTrackingTimelineComponent, KitTranslateLoader, KitTranslateService, KitTreeComponent, KitTreeContentDirective, KitTreeContentFormat, KitTreeViewMode, KitTruncateTextComponent, KitUnitsTextboxComponent, KitUnitsTextboxDropdownPosition, KitUnitsTextboxType, KitUserApiService, KitUserApplicationsState, KitUserIdentitiesInterceptor, KitUserIdentitiesSelector, KitUserIdentitiesState, KitUserPermissionsState, KitUserRoleDetailsComponent, KitUserRolesComponent, KitUserRolesService, KitUserRolesState, KitUserSettingsComponent, KitUserSettingsKeys, KitUserSettingsState, KitUserState, KitUserType, KitUsersService, KitUsersSettingsComponent, KitUsersSettingsEntitlementType, KitUsersSettingsEntitlementsService, KitUsersSettingsEntitlementsState, KitUsersSettingsReferenceService, KitUsersSettingsState, RemoveGridFilter, SetGridColumns, SetGridFilters, SetGridSearch, SetGridSkip, SetGridSort, SetGridTake, SetUserIdentity, UpdateGridFilter, UpdatePartnerName, UpdateUserPreferences, buildRandomUUID, buildRoutePorts, calculateCurrentLegProgress, calculateDurationInDays, calculateMainRouteProgressPercent, changeFilterField, createDataFetcherFactory, findMatches, getLegArrivalDate, getLegDepartureDate, getMainRouteActiveLegIndex, getTextboxState, getTransportIconLegIndex, isKitFilterDescriptor, isKitLanguageSupported, isLegReachedDestination, kitApiResponseDefaultEntities, kitApiTokenMaintenanceConfig, kitApiTokenMaintenanceRoutes, kitBuildFilterBooleanOptions, kitBuildFilterListOptions, kitBuildFilters, kitBuildGridColumn, kitBuildGridDataResults, kitBuildHttpParams, kitBuildOdataFilter, kitBuildSortString, kitDataStateToODataString, kitEncodeViewNameToUrl, kitFetchExportGridData, kitFetchGridData, kitFilterBy, kitFormatStringForSearch, kitGetPermissionTypesByCategory, kitHasPermission, kitNormalizeDateToUtc, kitShouldResetGridState, kitTranslations, kitUserPermissionsGuard, kitUserRolesConfig, kitUsersSettingsConfig, kitWhitespaceValidator, mapGlobalSearchResult, toUtcIsoString, trimTrailingSlash };
|
|
19450
19592
|
//# sourceMappingURL=indigina-ui-kit.mjs.map
|