@softheon/armature 19.18.1 → 19.20.0
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/ag-grid-components/package.json +3 -0
- package/fesm2022/softheon-armature.mjs +420 -1
- package/fesm2022/softheon-armature.mjs.map +1 -1
- package/lib/base-components/b2b/toast/components/sof-toast/sof-toast.component.d.ts +9 -0
- package/lib/base-components/b2b/toast/models/toast.model.d.ts +7 -0
- package/lib/base-components/b2b/toast/toast.service.d.ts +21 -0
- package/lib/core/models/base-config.d.ts +3 -0
- package/lib/core/models/market-selection-config.d.ts +10 -0
- package/lib/core/services/market-selection.service.d.ts +137 -0
- package/lib/core/services/selected-market-context.d.ts +22 -0
- package/package.json +5 -4
- package/public-api.d.ts +6 -0
|
@@ -72,6 +72,7 @@ import * as i4$1 from '@angular/cdk/drag-drop';
|
|
|
72
72
|
import { moveItemInArray, CdkDropList, CdkDrag, CdkDragPlaceholder, CdkDragHandle } from '@angular/cdk/drag-drop';
|
|
73
73
|
import { MatPaginator } from '@angular/material/paginator';
|
|
74
74
|
import { trigger, state, transition, style, animate } from '@angular/animations';
|
|
75
|
+
import * as i1$a from 'ngx-cookie-service';
|
|
75
76
|
import { MAT_BOTTOM_SHEET_DATA, MatBottomSheetRef, MatBottomSheetModule } from '@angular/material/bottom-sheet';
|
|
76
77
|
import moment from 'moment';
|
|
77
78
|
import { LiveAnnouncer } from '@angular/cdk/a11y';
|
|
@@ -6603,6 +6604,331 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
|
6603
6604
|
}]
|
|
6604
6605
|
}], ctorParameters: () => [{ type: UserEntityService }] });
|
|
6605
6606
|
|
|
6607
|
+
/** Selected Market Context */
|
|
6608
|
+
class SelectedMarketContext {
|
|
6609
|
+
constructor() {
|
|
6610
|
+
/* Selected Market Subject */
|
|
6611
|
+
this.selectedMarketSubject = new BehaviorSubject(null);
|
|
6612
|
+
/* Selected Market Observable */
|
|
6613
|
+
this.selectedMarket$ = this.selectedMarketSubject.asObservable();
|
|
6614
|
+
/** Ephemeral Market Subject */
|
|
6615
|
+
this.ephemeralMarketSubject = new BehaviorSubject(null);
|
|
6616
|
+
/** Ephemeral Market Observable */
|
|
6617
|
+
this.ephemeralMarket$ = this.ephemeralMarketSubject.asObservable();
|
|
6618
|
+
/* Selected Market */
|
|
6619
|
+
this.selectedMarket = null;
|
|
6620
|
+
}
|
|
6621
|
+
/** Set the selected market */
|
|
6622
|
+
setMarket(marketSelection) {
|
|
6623
|
+
this.selectedMarket = marketSelection;
|
|
6624
|
+
this.selectedMarketSubject.next(marketSelection);
|
|
6625
|
+
}
|
|
6626
|
+
/** Get the selected market */
|
|
6627
|
+
getSelectedMarket() {
|
|
6628
|
+
return this.selectedMarket;
|
|
6629
|
+
}
|
|
6630
|
+
/** Set the ephemeral market */
|
|
6631
|
+
setEphemeralMarket(marketSelection) {
|
|
6632
|
+
this.ephemeralMarketSubject.next(marketSelection);
|
|
6633
|
+
}
|
|
6634
|
+
/** Get the ephemeral market */
|
|
6635
|
+
getEphemeralMarket() {
|
|
6636
|
+
return this.ephemeralMarketSubject.value;
|
|
6637
|
+
}
|
|
6638
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: SelectedMarketContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6639
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: SelectedMarketContext, providedIn: 'root' }); }
|
|
6640
|
+
}
|
|
6641
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: SelectedMarketContext, decorators: [{
|
|
6642
|
+
type: Injectable,
|
|
6643
|
+
args: [{
|
|
6644
|
+
providedIn: 'root'
|
|
6645
|
+
}]
|
|
6646
|
+
}] });
|
|
6647
|
+
|
|
6648
|
+
/** Market Selection Service */
|
|
6649
|
+
class MarketSelectionService {
|
|
6650
|
+
/** Whether or not if market selection is enabled */
|
|
6651
|
+
get isEnabled() {
|
|
6652
|
+
return !!this.config?.config?.marketSelectionConfig;
|
|
6653
|
+
}
|
|
6654
|
+
/**
|
|
6655
|
+
* Constructor
|
|
6656
|
+
* @param cookieService cookie service
|
|
6657
|
+
* @param router router
|
|
6658
|
+
* @param config config
|
|
6659
|
+
* @param selectedMarketContext selected market context
|
|
6660
|
+
* @param translateService translate service
|
|
6661
|
+
*/
|
|
6662
|
+
constructor(cookieService, router, config, selectedMarketContext, translateService) {
|
|
6663
|
+
this.cookieService = cookieService;
|
|
6664
|
+
this.router = router;
|
|
6665
|
+
this.config = config;
|
|
6666
|
+
this.selectedMarketContext = selectedMarketContext;
|
|
6667
|
+
this.translateService = translateService;
|
|
6668
|
+
/** The MFE Queue Lookup Constant Key for Cookie Storage */
|
|
6669
|
+
this.MFE_QUEUE_LOOKUP = 'mfe.graphql-domain';
|
|
6670
|
+
/* Open Modal Subject */
|
|
6671
|
+
this.modalOpenSubject = new BehaviorSubject(false);
|
|
6672
|
+
/* Disabled Dropdown Subject */
|
|
6673
|
+
this.disabledDropdownSubject = new BehaviorSubject(false);
|
|
6674
|
+
/* Modal Open Observable */
|
|
6675
|
+
this.modalOpen$ = this.modalOpenSubject.asObservable();
|
|
6676
|
+
/* Selected Market Observable */
|
|
6677
|
+
this.selectedMarket$ = of(null);
|
|
6678
|
+
/** Ephemeral Market Observable */
|
|
6679
|
+
this.ephemeralMarket$ = of(null);
|
|
6680
|
+
/* Disabled Dropdown Observable */
|
|
6681
|
+
this.disabledDropdown$ = this.disabledDropdownSubject.asObservable();
|
|
6682
|
+
/* Favorite Market */
|
|
6683
|
+
this.favoriteMarket = [];
|
|
6684
|
+
/** Disabled URLs */
|
|
6685
|
+
this.disabledUrls = [];
|
|
6686
|
+
/** Markets With API URL */
|
|
6687
|
+
this.markets = [];
|
|
6688
|
+
this.selectedMarket$ = this.selectedMarketContext.selectedMarket$;
|
|
6689
|
+
this.ephemeralMarket$ = this.selectedMarketContext.ephemeralMarket$;
|
|
6690
|
+
this.router.events.subscribe((event) => {
|
|
6691
|
+
if (event instanceof NavigationEnd) {
|
|
6692
|
+
this.disabledDropdownSubject.next(this.isUrlDisabled(event.urlAfterRedirects));
|
|
6693
|
+
}
|
|
6694
|
+
});
|
|
6695
|
+
this.config?.config$?.subscribe((config) => {
|
|
6696
|
+
if (config && this.isEnabled) {
|
|
6697
|
+
this.initializeConfig();
|
|
6698
|
+
this.disabledDropdownSubject.next(this.isUrlDisabled(router.url));
|
|
6699
|
+
}
|
|
6700
|
+
});
|
|
6701
|
+
}
|
|
6702
|
+
/** Get Member Market */
|
|
6703
|
+
getMemberMarket(marketName) {
|
|
6704
|
+
return this.markets.find(m => m.name == marketName);
|
|
6705
|
+
}
|
|
6706
|
+
/** get selected market translated */
|
|
6707
|
+
getMarketTranslated(market) {
|
|
6708
|
+
return this.translateService.instant(`market-selection.markets.${this.textToKebabCase(market)}`);
|
|
6709
|
+
}
|
|
6710
|
+
/**
|
|
6711
|
+
* Update Market Selection
|
|
6712
|
+
* @param selection
|
|
6713
|
+
*/
|
|
6714
|
+
updateSelectedMarket(selection) {
|
|
6715
|
+
this.cookieService.deleteAll('/');
|
|
6716
|
+
this.cookieService.set('selectedMarket', JSON.stringify({
|
|
6717
|
+
name: selection.name
|
|
6718
|
+
}));
|
|
6719
|
+
const domainUrl = this.resolveOrigin(selection?.apiUrl);
|
|
6720
|
+
if (!!domainUrl) {
|
|
6721
|
+
window.sessionStorage.setItem(this.MFE_QUEUE_LOOKUP, domainUrl);
|
|
6722
|
+
}
|
|
6723
|
+
else {
|
|
6724
|
+
window.sessionStorage.removeItem(this.MFE_QUEUE_LOOKUP);
|
|
6725
|
+
}
|
|
6726
|
+
document.dispatchEvent(new CustomEvent('close-entity-view', {
|
|
6727
|
+
detail: {
|
|
6728
|
+
guid: 'all'
|
|
6729
|
+
}
|
|
6730
|
+
}));
|
|
6731
|
+
document.dispatchEvent(new CustomEvent('refresh-queues'));
|
|
6732
|
+
document.dispatchEvent(new CustomEvent('refresh-table'));
|
|
6733
|
+
this.selectedMarketContext.setMarket(selection);
|
|
6734
|
+
}
|
|
6735
|
+
/**
|
|
6736
|
+
* Set Ephemeral Market
|
|
6737
|
+
* For setting the market on a single page so that it won't apply to the entire website
|
|
6738
|
+
* @param market
|
|
6739
|
+
*/
|
|
6740
|
+
setEphemeralMarket(market) {
|
|
6741
|
+
this.selectedMarketContext.setEphemeralMarket(market);
|
|
6742
|
+
}
|
|
6743
|
+
/**
|
|
6744
|
+
* Get Ephemeral Market
|
|
6745
|
+
* @returns
|
|
6746
|
+
*/
|
|
6747
|
+
getEphemeralMarket() {
|
|
6748
|
+
return this.selectedMarketContext.getEphemeralMarket();
|
|
6749
|
+
}
|
|
6750
|
+
/**
|
|
6751
|
+
* Initialize Config
|
|
6752
|
+
*/
|
|
6753
|
+
initializeConfig() {
|
|
6754
|
+
const configMarkets = this.config?.config?.marketSelectionConfig?.marketSelections || [];
|
|
6755
|
+
this.markets = configMarkets;
|
|
6756
|
+
this.disabledUrls = this.config?.config?.marketSelectionConfig?.disabledUrls || [];
|
|
6757
|
+
this.loadFavoriteMarketsFromCookies();
|
|
6758
|
+
this.loadMarketFromCookies();
|
|
6759
|
+
}
|
|
6760
|
+
/**
|
|
6761
|
+
* Get API URL For Market
|
|
6762
|
+
* @param marketName
|
|
6763
|
+
* @returns
|
|
6764
|
+
*/
|
|
6765
|
+
getApiUrlForMarket(marketName) {
|
|
6766
|
+
const found = this.markets.find(m => m.name === marketName);
|
|
6767
|
+
return found?.apiUrl;
|
|
6768
|
+
}
|
|
6769
|
+
/**
|
|
6770
|
+
* Get Markets
|
|
6771
|
+
* @returns
|
|
6772
|
+
*/
|
|
6773
|
+
getMarkets() {
|
|
6774
|
+
return this.markets;
|
|
6775
|
+
}
|
|
6776
|
+
/**
|
|
6777
|
+
* Get Favorite Markets
|
|
6778
|
+
* @returns
|
|
6779
|
+
*/
|
|
6780
|
+
getFavoriteMarkets() {
|
|
6781
|
+
return this.favoriteMarket;
|
|
6782
|
+
}
|
|
6783
|
+
/**
|
|
6784
|
+
* Toggle Favorite Market
|
|
6785
|
+
* @param market
|
|
6786
|
+
*/
|
|
6787
|
+
toggleFavoriteMarket(market) {
|
|
6788
|
+
const index = this.favoriteMarket.findIndex((s) => s.name === market.name);
|
|
6789
|
+
if (index >= 0) {
|
|
6790
|
+
this.favoriteMarket.splice(index, 1);
|
|
6791
|
+
}
|
|
6792
|
+
else {
|
|
6793
|
+
this.favoriteMarket.push(market);
|
|
6794
|
+
}
|
|
6795
|
+
this.saveFavoriteMarketsToCookies();
|
|
6796
|
+
}
|
|
6797
|
+
/**
|
|
6798
|
+
* Is favorite market
|
|
6799
|
+
* @param market
|
|
6800
|
+
* @returns
|
|
6801
|
+
*/
|
|
6802
|
+
isFavoriteMarket(market) {
|
|
6803
|
+
return this.favoriteMarket.some((s) => s.name === market.name);
|
|
6804
|
+
}
|
|
6805
|
+
/**
|
|
6806
|
+
* Get Selected Market
|
|
6807
|
+
* @returns
|
|
6808
|
+
*/
|
|
6809
|
+
getSelectedMarket() {
|
|
6810
|
+
return this.selectedMarketContext.getSelectedMarket();
|
|
6811
|
+
}
|
|
6812
|
+
/**
|
|
6813
|
+
* Open Modal
|
|
6814
|
+
*/
|
|
6815
|
+
openModal() {
|
|
6816
|
+
this.modalOpenSubject.next(true);
|
|
6817
|
+
}
|
|
6818
|
+
/**
|
|
6819
|
+
* Close Modal
|
|
6820
|
+
*/
|
|
6821
|
+
closeModal() {
|
|
6822
|
+
this.modalOpenSubject.next(false);
|
|
6823
|
+
}
|
|
6824
|
+
/**
|
|
6825
|
+
* Load Favorite Markets from Cookies
|
|
6826
|
+
*/
|
|
6827
|
+
loadFavoriteMarketsFromCookies() {
|
|
6828
|
+
const favoritesJson = this.cookieService.get('favoriteMarket');
|
|
6829
|
+
if (favoritesJson) {
|
|
6830
|
+
this.favoriteMarket = JSON.parse(favoritesJson);
|
|
6831
|
+
}
|
|
6832
|
+
}
|
|
6833
|
+
/**
|
|
6834
|
+
* Load Market from Cookies
|
|
6835
|
+
*/
|
|
6836
|
+
loadMarketFromCookies() {
|
|
6837
|
+
const selectedJson = this.cookieService.get('selectedMarket');
|
|
6838
|
+
if (selectedJson) {
|
|
6839
|
+
const selectedMarket = JSON.parse(selectedJson);
|
|
6840
|
+
const market = this.markets.find(m => m.name == selectedMarket.name) || selectedMarket;
|
|
6841
|
+
this.updateSelectedMarket(market);
|
|
6842
|
+
}
|
|
6843
|
+
else {
|
|
6844
|
+
// if no currently selected market, select the first market available in the config
|
|
6845
|
+
const firstMarket = this.markets[0];
|
|
6846
|
+
this.updateSelectedMarket(firstMarket);
|
|
6847
|
+
}
|
|
6848
|
+
}
|
|
6849
|
+
/**
|
|
6850
|
+
* Is URL Disabled
|
|
6851
|
+
* @param currentUrl
|
|
6852
|
+
* @returns
|
|
6853
|
+
*/
|
|
6854
|
+
isUrlDisabled(currentUrl) {
|
|
6855
|
+
const parser = document.createElement('a');
|
|
6856
|
+
parser.href = currentUrl;
|
|
6857
|
+
const path = parser.pathname;
|
|
6858
|
+
for (const disabled of this.disabledUrls) {
|
|
6859
|
+
if (path.startsWith(disabled)) {
|
|
6860
|
+
return true;
|
|
6861
|
+
}
|
|
6862
|
+
}
|
|
6863
|
+
return false;
|
|
6864
|
+
}
|
|
6865
|
+
/**
|
|
6866
|
+
* Save Favorite Market Selections to Cookies
|
|
6867
|
+
*/
|
|
6868
|
+
saveFavoriteMarketsToCookies() {
|
|
6869
|
+
const favoriteMarkets = this.favoriteMarket.map(m => ({ name: m.name }));
|
|
6870
|
+
this.cookieService.set('favoriteMarket', JSON.stringify(favoriteMarkets));
|
|
6871
|
+
}
|
|
6872
|
+
/**
|
|
6873
|
+
* Get the base site URL using ephemeral or selected market, or default if none
|
|
6874
|
+
*/
|
|
6875
|
+
getBaseUrl() {
|
|
6876
|
+
const ephemeral = this.getEphemeralMarket();
|
|
6877
|
+
const market = ephemeral?.name ? ephemeral : this.getSelectedMarket();
|
|
6878
|
+
if (market?.name) {
|
|
6879
|
+
const apiUrl = market.apiUrl ?? this.getApiUrlForMarket(market.name);
|
|
6880
|
+
if (apiUrl) {
|
|
6881
|
+
return apiUrl;
|
|
6882
|
+
}
|
|
6883
|
+
}
|
|
6884
|
+
return '';
|
|
6885
|
+
}
|
|
6886
|
+
/** Text To Kebab-case */
|
|
6887
|
+
textToKebabCase(textString) {
|
|
6888
|
+
if (!textString) {
|
|
6889
|
+
return textString;
|
|
6890
|
+
}
|
|
6891
|
+
textString = textString.toString();
|
|
6892
|
+
return textString.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g).join('-').toLowerCase();
|
|
6893
|
+
}
|
|
6894
|
+
/**
|
|
6895
|
+
* Resolve domain url
|
|
6896
|
+
* @param link link
|
|
6897
|
+
* @returns domain url
|
|
6898
|
+
*/
|
|
6899
|
+
resolveOrigin(link) {
|
|
6900
|
+
if (!link) {
|
|
6901
|
+
return link;
|
|
6902
|
+
}
|
|
6903
|
+
try {
|
|
6904
|
+
const url = new URL(link);
|
|
6905
|
+
return url.origin;
|
|
6906
|
+
}
|
|
6907
|
+
catch (ex) {
|
|
6908
|
+
console.error(`Error in setting api url into session: ${ex}`);
|
|
6909
|
+
return undefined;
|
|
6910
|
+
}
|
|
6911
|
+
}
|
|
6912
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: MarketSelectionService, deps: [{ token: i1$a.CookieService }, { token: i1$4.Router }, { token: BaseConfigService }, { token: SelectedMarketContext }, { token: i2$1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6913
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: MarketSelectionService, providedIn: 'root' }); }
|
|
6914
|
+
}
|
|
6915
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: MarketSelectionService, decorators: [{
|
|
6916
|
+
type: Injectable,
|
|
6917
|
+
args: [{
|
|
6918
|
+
providedIn: 'root'
|
|
6919
|
+
}]
|
|
6920
|
+
}], ctorParameters: () => [{ type: i1$a.CookieService }, { type: i1$4.Router }, { type: BaseConfigService }, { type: SelectedMarketContext }, { type: i2$1.TranslateService }] });
|
|
6921
|
+
|
|
6922
|
+
/* Market Selection Config */
|
|
6923
|
+
class MarketSelectionConfig {
|
|
6924
|
+
constructor() {
|
|
6925
|
+
/* Market Selections */
|
|
6926
|
+
this.marketSelections = [];
|
|
6927
|
+
/* Disabled URLs, if the selector should be disabled */
|
|
6928
|
+
this.disabledUrls = [];
|
|
6929
|
+
}
|
|
6930
|
+
}
|
|
6931
|
+
|
|
6606
6932
|
/** The data store configurations */
|
|
6607
6933
|
class DataStoreConfig {
|
|
6608
6934
|
}
|
|
@@ -10180,6 +10506,99 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
|
10180
10506
|
], template: "@if (snackbars().length) {\r\n <ol \r\n @slideAndFade\r\n class=\"snackbar-container\"\r\n m-a-0 p-a-0\r\n role=\"region\"\r\n [attr.aria-label]=\"'armature.snackbar.container-aria-label' | translate\">\r\n @for (snackbar of snackbars(); track snackbar.id) {\r\n <li \r\n @slideAndFade \r\n class=\"snackbar\"\r\n [class.has-extended-message]=\"snackbar.extendedMessage?.length\"\r\n (mouseenter)=\"!snackbar.actionLabel?.length ? pause(snackbar.id) : null\"\r\n (mouseleave)=\"!snackbar.actionLabel?.length ? resume(snackbar.id, snackbar.duration) : null\"\r\n [attr.role]=\"(snackbar.actionLabel?.length || snackbar.type === 'error' || snackbar.type === 'warning') ? 'alert' : 'status'\">\r\n <div [class]=\"`icon icon--${snackbar.type}`\">\r\n @if (snackbar.iconClassOverride) {\r\n <i [class]=\"snackbar.iconClassOverride\" aria-hidden=\"true\"></i>\r\n } @else {\r\n @switch (snackbar.type) {\r\n @case ('success') {\r\n <i class=\"ph-bold ph-check-circle\" aria-hidden=\"true\"></i>\r\n }\r\n @case ('error') {\r\n <i class=\"ph-bold ph-warning-circle\" aria-hidden=\"true\"></i>\r\n }\r\n @case ('info') {\r\n <i class=\"ph-bold ph-info\" aria-hidden=\"true\"></i>\r\n }\r\n @case ('warning') {\r\n <i class=\"ph-bold ph-warning\" aria-hidden=\"true\"></i>\r\n }\r\n @case ('help') {\r\n <i class=\"ph-bold ph-sparkle\" aria-hidden=\"true\"></i>\r\n }\r\n }\r\n }\r\n </div>\r\n <div class=\"message-container\">\r\n <p class=\"body2 fw-500 m-a-0 text-inverse\">\r\n {{snackbar.message | translate : (snackbar.messageParams || {})}}\r\n </p>\r\n @if (snackbar.extendedMessage?.length) {\r\n <p class=\"body2 m-a-0 text-inverse\">\r\n {{snackbar.extendedMessage | translate : (snackbar.extendedMessageParams || {})}}\r\n </p>\r\n }\r\n </div>\r\n @if (snackbar.actionLabel?.length) {\r\n <button \r\n (click)=\"handleAction(snackbar)\"\r\n mat-flat-button class=\"sof-button-v2 mini\" \r\n theme=\"neutral\" emphasis=\"solid\"\r\n [id]=\"`snackbar-${snackbar.id}-action-button`\">\r\n {{snackbar.actionLabel | translate}}\r\n </button>\r\n }\r\n <button \r\n (click)=\"dismiss(snackbar)\"\r\n mat-flat-button class=\"sof-button-v2 mini dismiss-button\"\r\n [id]=\"`snackbar-${snackbar.id}-dismiss-button`\"\r\n [attr.aria-label]=\"'armature.snackbar.dismiss-button-aria-label' | translate\">\r\n <i class=\"ph-bold ph-x\" aria-hidden=\"true\"></i>\r\n </button>\r\n </li>\r\n }\r\n </ol>\r\n}\r\n", styles: ["@charset \"UTF-8\";:root{--primary-color-50-parts: #edf4ff;--primary-color-100-parts: #b9d4fc;--primary-color-200-parts: #8ab7fb;--primary-color-300-parts: #5b9af9;--primary-color-400-parts: #3784f7;--primary-color-500-parts: #146ef6;--primary-color-600-parts: #1266f5;--primary-color-700-parts: #0e5bf3;--primary-color-800-parts: #0b51f2;--primary-color-900-parts: #063fef;--primary-color-A50-parts: rgba(20, 110, 246, .04);--primary-color-A100-parts: rgba(20, 110, 246, .08);--primary-color-A200-parts: rgba(20, 110, 246, .16);--primary-color-A300-parts: rgba(20, 110, 246, .24);--primary-color-A400-parts: rgba(20, 110, 246, .32);--primary-color-A500-parts: rgba(20, 110, 246, .4);--primary-color-A600-parts: rgba(20, 110, 246, .48);--primary-color-A700-parts: rgba(20, 110, 246, .56);--primary-color-A800-parts: rgba(20, 110, 246, .64);--primary-color-A900-parts: rgba(20, 110, 246, .72);--primary-color-contrast-50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-500-parts: rgba(255, 255, 255, 1);--primary-color-contrast-600-parts: rgba(255, 255, 255, 1);--primary-color-contrast-700-parts: rgba(255, 255, 255, 1);--primary-color-contrast-800-parts: rgba(255, 255, 255, 1);--primary-color-contrast-900-parts: rgba(255, 255, 255, 1);--primary-color-contrast-A50-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A100-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A200-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A300-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A400-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A500-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A600-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A700-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A800-parts: rgba(0, 0, 0, .87);--primary-color-contrast-A900-parts: rgba(0, 0, 0, .87);--primary-color-50-parts-rgb: 237, 244, 255;--primary-color-100-parts-rgb: 185, 212, 252;--primary-color-200-parts-rgb: 138, 183, 251;--primary-color-300-parts-rgb: 91, 154, 249;--primary-color-400-parts-rgb: 55, 132, 247;--primary-color-500-parts-rgb: 20, 110, 246;--primary-color-600-parts-rgb: 18, 102, 245;--primary-color-700-parts-rgb: 14, 91, 243;--primary-color-800-parts-rgb: 11, 81, 242;--primary-color-900-parts-rgb: 6, 63, 239;--accent-color-50-parts: #e0f2f1;--accent-color-100-parts: #b2dfdb;--accent-color-200-parts: #80cbc4;--accent-color-300-parts: #4db6ac;--accent-color-400-parts: #26a69a;--accent-color-500-parts: #009688;--accent-color-600-parts: #00897b;--accent-color-700-parts: #00796b;--accent-color-800-parts: #00695c;--accent-color-900-parts: #004d40;--accent-color-A50-parts: rgba(0, 150, 136, .04);--accent-color-A100-parts: rgba(0, 150, 136, .08);--accent-color-A200-parts: rgba(0, 150, 136, .16);--accent-color-A300-parts: rgba(0, 150, 136, .24);--accent-color-A400-parts: rgba(0, 150, 136, .32);--accent-color-A500-parts: rgba(0, 150, 136, .4);--accent-color-A600-parts: rgba(0, 150, 136, .48);--accent-color-A700-parts: rgba(0, 150, 136, .56);--accent-color-A800-parts: rgba(0, 150, 136, .64);--accent-color-A900-parts: rgba(0, 150, 136, .72);--accent-color-contrast-50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-500-parts: rgba(255, 255, 255, 1);--accent-color-contrast-600-parts: rgba(255, 255, 255, 1);--accent-color-contrast-700-parts: rgba(255, 255, 255, 1);--accent-color-contrast-800-parts: rgba(255, 255, 255, 1);--accent-color-contrast-900-parts: rgba(255, 255, 255, 1);--accent-color-contrast-A50-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A100-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A200-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A300-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A400-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A500-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A600-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A700-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A800-parts: rgba(0, 0, 0, .87);--accent-color-contrast-A900-parts: rgba(0, 0, 0, .87);--accent-color-50-parts-rgb: 224, 242, 241;--accent-color-100-parts-rgb: 178, 223, 219;--accent-color-200-parts-rgb: 128, 203, 196;--accent-color-300-parts-rgb: 77, 182, 172;--accent-color-400-parts-rgb: 38, 166, 154;--accent-color-500-parts-rgb: 0, 150, 136;--accent-color-600-parts-rgb: 0, 137, 123;--accent-color-700-parts-rgb: 0, 121, 107;--accent-color-800-parts-rgb: 0, 105, 92;--accent-color-900-parts-rgb: 0, 77, 64;--warn-color-50-parts: #fceee3;--warn-color-100-parts: #f8d4b9;--warn-color-200-parts: #f4b78b;--warn-color-300-parts: #ef9a5d;--warn-color-400-parts: #eb843a;--warn-color-500-parts: #e86e17;--warn-color-600-parts: #e56614;--warn-color-700-parts: #e25b11;--warn-color-800-parts: #de510d;--warn-color-900-parts: #d83f07;--warn-color-A50-parts: rgba(232, 110, 23, .04);--warn-color-A100-parts: rgba(232, 110, 23, .08);--warn-color-A200-parts: rgba(232, 110, 23, .16);--warn-color-A300-parts: rgba(232, 110, 23, .24);--warn-color-A400-parts: rgba(232, 110, 23, .32);--warn-color-A500-parts: rgba(232, 110, 23, .4);--warn-color-A600-parts: rgba(232, 110, 23, .48);--warn-color-A700-parts: rgba(232, 110, 23, .56);--warn-color-A800-parts: rgba(232, 110, 23, .64);--warn-color-A900-parts: rgba(232, 110, 23, .72);--warn-color-contrast-50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-900-parts: rgba(255, 255, 255, 1);--warn-color-contrast-A50-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A100-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A200-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A300-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A400-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A500-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A600-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A700-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A800-parts: rgba(0, 0, 0, .87);--warn-color-contrast-A900-parts: rgba(0, 0, 0, .87);--warn-color-50-parts-rgb: 252, 238, 227;--warn-color-100-parts-rgb: 248, 212, 185;--warn-color-200-parts-rgb: 244, 183, 139;--warn-color-300-parts-rgb: 239, 154, 93;--warn-color-400-parts-rgb: 235, 132, 58;--warn-color-500-parts-rgb: 232, 110, 23;--warn-color-600-parts-rgb: 229, 102, 20;--warn-color-700-parts-rgb: 226, 91, 17;--warn-color-800-parts-rgb: 222, 81, 13;--warn-color-900-parts-rgb: 216, 63, 7;--info-color-50-parts: #edf4ff;--info-color-100-parts: #b9d4fc;--info-color-200-parts: #8ab7fb;--info-color-300-parts: #5b9af9;--info-color-400-parts: #3784f7;--info-color-500-parts: #146ef6;--info-color-600-parts: #1266f5;--info-color-700-parts: #0e5bf3;--info-color-800-parts: #0b51f2;--info-color-900-parts: #063fef;--info-color-A50-parts: rgba(20, 110, 246, .04);--info-color-A100-parts: rgba(20, 110, 246, .08);--info-color-A200-parts: rgba(20, 110, 246, .16);--info-color-A300-parts: rgba(20, 110, 246, .24);--info-color-A400-parts: rgba(20, 110, 246, .32);--info-color-A500-parts: rgba(20, 110, 246, .4);--info-color-A600-parts: rgba(20, 110, 246, .48);--info-color-A700-parts: rgba(20, 110, 246, .56);--info-color-A800-parts: rgba(20, 110, 246, .64);--info-color-A900-parts: rgba(20, 110, 246, .72);--info-color-contrast-50-parts: rgba(0, 0, 0, .87);--info-color-contrast-100-parts: rgba(0, 0, 0, .87);--info-color-contrast-200-parts: rgba(0, 0, 0, .87);--info-color-contrast-300-parts: rgba(0, 0, 0, .87);--info-color-contrast-400-parts: rgba(0, 0, 0, .87);--info-color-contrast-500-parts: rgba(255, 255, 255, 1);--info-color-contrast-600-parts: rgba(255, 255, 255, 1);--info-color-contrast-700-parts: rgba(255, 255, 255, 1);--info-color-contrast-800-parts: rgba(255, 255, 255, 1);--info-color-contrast-900-parts: rgba(255, 255, 255, 1);--info-color-contrast-A50-parts: rgba(0, 0, 0, .87);--info-color-contrast-A100-parts: rgba(0, 0, 0, .87);--info-color-contrast-A200-parts: rgba(0, 0, 0, .87);--info-color-contrast-A300-parts: rgba(0, 0, 0, .87);--info-color-contrast-A400-parts: rgba(0, 0, 0, .87);--info-color-contrast-A500-parts: rgba(0, 0, 0, .87);--info-color-contrast-A600-parts: rgba(0, 0, 0, .87);--info-color-contrast-A700-parts: rgba(0, 0, 0, .87);--info-color-contrast-A800-parts: rgba(0, 0, 0, .87);--info-color-contrast-A900-parts: rgba(0, 0, 0, .87);--info-color-50-parts-rgb: 237, 244, 255;--info-color-100-parts-rgb: 185, 212, 252;--info-color-200-parts-rgb: 138, 183, 251;--info-color-300-parts-rgb: 91, 154, 249;--info-color-400-parts-rgb: 55, 132, 247;--info-color-500-parts-rgb: 20, 110, 246;--info-color-600-parts-rgb: 18, 102, 245;--info-color-700-parts-rgb: 14, 91, 243;--info-color-800-parts-rgb: 11, 81, 242;--info-color-900-parts-rgb: 6, 63, 239;--success-color-50-parts: #e7f0e6;--success-color-100-parts: #c4dac1;--success-color-200-parts: #9cc198;--success-color-300-parts: #74a86e;--success-color-400-parts: #57954f;--success-color-500-parts: #398230;--success-color-600-parts: #337a2b;--success-color-700-parts: #2c6f24;--success-color-800-parts: #24651e;--success-color-900-parts: #175213;--success-color-A50-parts: rgba(57, 130, 48, .04);--success-color-A100-parts: rgba(57, 130, 48, .08);--success-color-A200-parts: rgba(57, 130, 48, .16);--success-color-A300-parts: rgba(57, 130, 48, .24);--success-color-A400-parts: rgba(57, 130, 48, .32);--success-color-A500-parts: rgba(57, 130, 48, .4);--success-color-A600-parts: rgba(57, 130, 48, .48);--success-color-A700-parts: rgba(57, 130, 48, .56);--success-color-A800-parts: rgba(57, 130, 48, .64);--success-color-A900-parts: rgba(57, 130, 48, .72);--success-color-contrast-50-parts: rgba(0, 0, 0, .87);--success-color-contrast-100-parts: rgba(0, 0, 0, .87);--success-color-contrast-200-parts: rgba(0, 0, 0, .87);--success-color-contrast-300-parts: rgba(0, 0, 0, .87);--success-color-contrast-400-parts: rgba(0, 0, 0, .87);--success-color-contrast-500-parts: rgba(255, 255, 255, 1);--success-color-contrast-600-parts: rgba(255, 255, 255, 1);--success-color-contrast-700-parts: rgba(255, 255, 255, 1);--success-color-contrast-800-parts: rgba(255, 255, 255, 1);--success-color-contrast-900-parts: rgba(255, 255, 255, 1);--success-color-contrast-A50-parts: rgba(0, 0, 0, .87);--success-color-contrast-A100-parts: rgba(0, 0, 0, .87);--success-color-contrast-A200-parts: rgba(0, 0, 0, .87);--success-color-contrast-A300-parts: rgba(0, 0, 0, .87);--success-color-contrast-A400-parts: rgba(0, 0, 0, .87);--success-color-contrast-A500-parts: rgba(0, 0, 0, .87);--success-color-contrast-A600-parts: rgba(0, 0, 0, .87);--success-color-contrast-A700-parts: rgba(0, 0, 0, .87);--success-color-contrast-A800-parts: rgba(0, 0, 0, .87);--success-color-contrast-A900-parts: rgba(0, 0, 0, .87);--success-color-50-parts-rgb: 231, 240, 230;--success-color-100-parts-rgb: 196, 218, 193;--success-color-200-parts-rgb: 156, 193, 152;--success-color-300-parts-rgb: 116, 168, 110;--success-color-400-parts-rgb: 87, 149, 79;--success-color-500-parts-rgb: 57, 130, 48;--success-color-600-parts-rgb: 51, 122, 43;--success-color-700-parts-rgb: 44, 111, 36;--success-color-800-parts-rgb: 36, 101, 30;--success-color-900-parts-rgb: 23, 82, 19;--error-color-50-parts: #fae5e4;--error-color-100-parts: #f3bdba;--error-color-200-parts: #eb928d;--error-color-300-parts: #e3665f;--error-color-400-parts: #dd453c;--error-color-500-parts: #d7241a;--error-color-600-parts: #d32017;--error-color-700-parts: #cd1b13;--error-color-800-parts: #c7160f;--error-color-900-parts: #be0d08;--error-color-A50-parts: rgba(215, 36, 26, .04);--error-color-A100-parts: rgba(215, 36, 26, .08);--error-color-A200-parts: rgba(215, 36, 26, .16);--error-color-A300-parts: rgba(215, 36, 26, .24);--error-color-A400-parts: rgba(215, 36, 26, .32);--error-color-A500-parts: rgba(215, 36, 26, .4);--error-color-A600-parts: rgba(215, 36, 26, .48);--error-color-A700-parts: rgba(215, 36, 26, .56);--error-color-A800-parts: rgba(215, 36, 26, .64);--error-color-A900-parts: rgba(215, 36, 26, .72);--error-color-contrast-50-parts: rgba(0, 0, 0, .87);--error-color-contrast-100-parts: rgba(0, 0, 0, .87);--error-color-contrast-200-parts: rgba(0, 0, 0, .87);--error-color-contrast-300-parts: rgba(0, 0, 0, .87);--error-color-contrast-400-parts: rgba(0, 0, 0, .87);--error-color-contrast-500-parts: rgba(255, 255, 255, 1);--error-color-contrast-600-parts: rgba(255, 255, 255, 1);--error-color-contrast-700-parts: rgba(255, 255, 255, 1);--error-color-contrast-800-parts: rgba(255, 255, 255, 1);--error-color-contrast-900-parts: rgba(255, 255, 255, 1);--error-color-contrast-A50-parts: rgba(0, 0, 0, .87);--error-color-contrast-A100-parts: rgba(0, 0, 0, .87);--error-color-contrast-A200-parts: rgba(0, 0, 0, .87);--error-color-contrast-A300-parts: rgba(0, 0, 0, .87);--error-color-contrast-A400-parts: rgba(0, 0, 0, .87);--error-color-contrast-A500-parts: rgba(0, 0, 0, .87);--error-color-contrast-A600-parts: rgba(0, 0, 0, .87);--error-color-contrast-A700-parts: rgba(0, 0, 0, .87);--error-color-contrast-A800-parts: rgba(0, 0, 0, .87);--error-color-contrast-A900-parts: rgba(0, 0, 0, .87);--error-color-50-parts-rgb: 250, 229, 228;--error-color-100-parts-rgb: 243, 189, 186;--error-color-200-parts-rgb: 235, 146, 141;--error-color-300-parts-rgb: 227, 102, 95;--error-color-400-parts-rgb: 221, 69, 60;--error-color-500-parts-rgb: 215, 36, 26;--error-color-600-parts-rgb: 211, 32, 23;--error-color-700-parts-rgb: 205, 27, 19;--error-color-800-parts-rgb: 199, 22, 15;--error-color-900-parts-rgb: 190, 13, 8;--neutral-color-50-parts: #e9e9e9;--neutral-color-100-parts: #dddddd;--neutral-color-200-parts: #cccccc;--neutral-color-300-parts: #b0b0b0;--neutral-color-400-parts: #909090;--neutral-color-500-parts: #515151;--neutral-color-600-parts: #424242;--neutral-color-700-parts: #333333;--neutral-color-800-parts: #212121;--neutral-color-900-parts: #141414;--neutral-color-A50-parts: rgba(81, 81, 81, .04);--neutral-color-A100-parts: rgba(81, 81, 81, .08);--neutral-color-A200-parts: rgba(81, 81, 81, .16);--neutral-color-A300-parts: rgba(81, 81, 81, .24);--neutral-color-A400-parts: rgba(81, 81, 81, .32);--neutral-color-A500-parts: rgba(81, 81, 81, .4);--neutral-color-A600-parts: rgba(81, 81, 81, .48);--neutral-color-A700-parts: rgba(81, 81, 81, .56);--neutral-color-A800-parts: rgba(81, 81, 81, .64);--neutral-color-A900-parts: rgba(81, 81, 81, .72);--neutral-color-contrast-50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-400-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-500-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-600-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-700-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-800-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-900-parts: rgba(255, 255, 255, 1);--neutral-color-contrast-A50-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A100-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A200-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A300-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A400-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A500-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A600-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A700-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A800-parts: rgba(0, 0, 0, .87);--neutral-color-contrast-A900-parts: rgba(0, 0, 0, .87);--neutral-color-50-parts-rgb: 233, 233, 233;--neutral-color-100-parts-rgb: 221, 221, 221;--neutral-color-200-parts-rgb: 204, 204, 204;--neutral-color-300-parts-rgb: 176, 176, 176;--neutral-color-400-parts-rgb: 144, 144, 144;--neutral-color-500-parts-rgb: 81, 81, 81;--neutral-color-600-parts-rgb: 66, 66, 66;--neutral-color-700-parts-rgb: 51, 51, 51;--neutral-color-800-parts-rgb: 33, 33, 33;--neutral-color-900-parts-rgb: 20, 20, 20;--help-color-50-parts: #EFE3FE;--help-color-100-parts: #E0CAFD;--help-color-200-parts: #C194FB;--help-color-300-parts: #994FF8;--help-color-400-parts: #8831F7;--help-color-500-parts: #7714F6;--help-color-600-parts: #6809E3;--help-color-700-parts: #5B08C5;--help-color-800-parts: #4D06A8;--help-color-900-parts: #40058A;--help-color-A50-parts: rgba(119, 20, 246, .04);--help-color-A100-parts: rgba(119, 20, 246, .08);--help-color-A200-parts: rgba(119, 20, 246, .16);--help-color-A300-parts: rgba(119, 20, 246, .24);--help-color-A400-parts: rgba(119, 20, 246, .32);--help-color-A500-parts: rgba(119, 20, 246, .4);--help-color-A600-parts: rgba(119, 20, 246, .48);--help-color-A700-parts: rgba(119, 20, 246, .56);--help-color-A800-parts: rgba(119, 20, 246, .64);--help-color-A900-parts: rgba(119, 20, 246, .72);--help-color-contrast-50-parts: rgba(0, 0, 0, .87);--help-color-contrast-100-parts: rgba(0, 0, 0, .87);--help-color-contrast-200-parts: rgba(0, 0, 0, .87);--help-color-contrast-300-parts: rgba(255, 255, 255, 1);--help-color-contrast-400-parts: rgba(255, 255, 255, 1);--help-color-contrast-500-parts: rgba(255, 255, 255, 1);--help-color-contrast-600-parts: rgba(255, 255, 255, 1);--help-color-contrast-700-parts: rgba(255, 255, 255, 1);--help-color-contrast-800-parts: rgba(255, 255, 255, 1);--help-color-contrast-900-parts: rgba(255, 255, 255, 1);--help-color-contrast-A50-parts: rgba(0, 0, 0, .87);--help-color-contrast-A100-parts: rgba(0, 0, 0, .87);--help-color-contrast-A200-parts: rgba(0, 0, 0, .87);--help-color-contrast-A300-parts: rgba(0, 0, 0, .87);--help-color-contrast-A400-parts: rgba(0, 0, 0, .87);--help-color-contrast-A500-parts: rgba(0, 0, 0, .87);--help-color-contrast-A600-parts: rgba(0, 0, 0, .87);--help-color-contrast-A700-parts: rgba(0, 0, 0, .87);--help-color-contrast-A800-parts: rgba(0, 0, 0, .87);--help-color-contrast-A900-parts: rgba(0, 0, 0, .87);--help-color-50-parts-rgb: 239, 227, 254;--help-color-100-parts-rgb: 224, 202, 253;--help-color-200-parts-rgb: 193, 148, 251;--help-color-300-parts-rgb: 153, 79, 248;--help-color-400-parts-rgb: 136, 49, 247;--help-color-500-parts-rgb: 119, 20, 246;--help-color-600-parts-rgb: 104, 9, 227;--help-color-700-parts-rgb: 91, 8, 197;--help-color-800-parts-rgb: 77, 6, 168;--help-color-900-parts-rgb: 64, 5, 138}:host *{box-sizing:border-box}.snackbar-container{position:fixed;z-index:99999;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:16px}.snackbar-container .snackbar{list-style:none;display:flex;flex-direction:row;align-items:center;gap:16px;padding:8px;min-width:213px;width:fit-content;max-width:400px;border-radius:8px;background-color:#333;box-shadow:0 4px 8px 0 var(--neutral-color-A200-parts)}.snackbar-container .snackbar.has-extended-message{align-items:flex-start}.snackbar-container .snackbar .icon{display:flex;align-items:center;justify-content:center;height:28px;width:28px;min-height:28px;min-width:28px;max-height:28px;max-width:28px;border-radius:6px}.snackbar-container .snackbar .icon i{color:#fff;font-size:20px}.snackbar-container .snackbar .icon--success{background-color:var(--success-color-A500-parts)}.snackbar-container .snackbar .icon--error{background-color:var(--error-color-A500-parts)}.snackbar-container .snackbar .icon--info{background-color:var(--info-color-A500-parts)}.snackbar-container .snackbar .icon--warning{background-color:var(--warn-color-A500-parts)}.snackbar-container .snackbar .icon--help{background-color:var(--help-color-A500-parts)}.snackbar-container .snackbar .message-container{display:flex;flex-direction:column;gap:4px}.snackbar-container .snackbar .dismiss-button{background-color:transparent!important;color:#fff!important}.snackbar-container .snackbar .dismiss-button:focus{outline:3px solid var(--primary-color-A500-parts)!important;outline-offset:2px!important}\n"] }]
|
|
10181
10507
|
}] });
|
|
10182
10508
|
|
|
10509
|
+
/** Toast service */
|
|
10510
|
+
class ToastService {
|
|
10511
|
+
constructor() {
|
|
10512
|
+
/** The toast */
|
|
10513
|
+
this.toast = computed(() => this.currentToast());
|
|
10514
|
+
/** The current toast */
|
|
10515
|
+
this.currentToast = signal(undefined);
|
|
10516
|
+
/** The durations to display each level of toast */
|
|
10517
|
+
this.durationMap = {
|
|
10518
|
+
success: 4000,
|
|
10519
|
+
error: 12000,
|
|
10520
|
+
info: 6000,
|
|
10521
|
+
warning: 10000
|
|
10522
|
+
};
|
|
10523
|
+
}
|
|
10524
|
+
/**
|
|
10525
|
+
* Show a snackbar
|
|
10526
|
+
* @param snackbarInput the snackbar config
|
|
10527
|
+
*/
|
|
10528
|
+
showToast(toast) {
|
|
10529
|
+
// reset the previous timer if there is one
|
|
10530
|
+
if (this.timeoutTimerId) {
|
|
10531
|
+
clearTimeout(this.timeoutTimerId);
|
|
10532
|
+
}
|
|
10533
|
+
// set the toast
|
|
10534
|
+
this.currentToast.set(toast);
|
|
10535
|
+
// set a timer to clear the toast
|
|
10536
|
+
this.timeoutTimerId = setTimeout(() => {
|
|
10537
|
+
this.currentToast.set(undefined);
|
|
10538
|
+
}, this.durationMap[toast.level]);
|
|
10539
|
+
}
|
|
10540
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10541
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ToastService, providedIn: 'root' }); }
|
|
10542
|
+
}
|
|
10543
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: ToastService, decorators: [{
|
|
10544
|
+
type: Injectable,
|
|
10545
|
+
args: [{
|
|
10546
|
+
providedIn: 'root'
|
|
10547
|
+
}]
|
|
10548
|
+
}] });
|
|
10549
|
+
|
|
10550
|
+
/** Toast Component */
|
|
10551
|
+
class SofToastComponent {
|
|
10552
|
+
constructor() {
|
|
10553
|
+
/** The toast service */
|
|
10554
|
+
this.toastService = inject(ToastService);
|
|
10555
|
+
}
|
|
10556
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: SofToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10557
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: SofToastComponent, isStandalone: true, selector: "sof-toast", ngImport: i0, template: "@if (toastService.toast()) {\r\n <div class=\"sof-toast\" @slideAndFade>\r\n @switch (toastService.toast()?.level) {\r\n @case ('info') {\r\n <i class=\"ph-fill ph-info info\"></i>\r\n }\r\n @case ('warning') {\r\n <i class=\"ph-fill ph-warning warn\"></i>\r\n }\r\n @case ('error') {\r\n <i class=\"ph-fill ph-warning-circle error\"></i>\r\n }\r\n @case ('success') {\r\n <i class=\"ph-fill ph-check-circle success\"></i>\r\n }\r\n }\r\n <span>{{toastService.toast()?.message}}</span>\r\n </div>\r\n}\r\n", styles: ["@charset \"UTF-8\";.sof-toast{position:absolute;bottom:50px;width:350px;left:calc(50vw - 175px);background-color:var(--sof-toast-background);color:var(--sof-toast-color);z-index:10000;--sof-toast-background: vars.$surface-color-inverse-light;--sof-toast-color: vars.$text-inverse;border-radius:4px;padding:12px;display:flex;align-items:center;gap:8px;font-size:14px;word-break:break-word}.sof-toast i{font-size:20px}.sof-toast i.error{color:rgba(var(--error-color-500-parts-rgb),.4)}.sof-toast i.warn{color:rgba(var(--warn-color-500-parts-rgb),.4)}.sof-toast i.success{color:rgba(var(--success-color-500-parts-rgb),.4)}.sof-toast i.info{color:rgba(var(--info-color-500-parts-rgb),.4)}\n"], animations: [
|
|
10558
|
+
trigger('slideAndFade', [
|
|
10559
|
+
transition(':enter', [
|
|
10560
|
+
style({
|
|
10561
|
+
transform: 'translateY(100px)',
|
|
10562
|
+
opacity: 0
|
|
10563
|
+
}),
|
|
10564
|
+
animate('300ms ease-out', style({
|
|
10565
|
+
transform: 'translateY(0)',
|
|
10566
|
+
opacity: 1
|
|
10567
|
+
}))
|
|
10568
|
+
]),
|
|
10569
|
+
transition(':leave', [
|
|
10570
|
+
animate('200ms ease-in', style({
|
|
10571
|
+
transform: 'translateY(100px)',
|
|
10572
|
+
opacity: 0
|
|
10573
|
+
}))
|
|
10574
|
+
])
|
|
10575
|
+
])
|
|
10576
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10577
|
+
}
|
|
10578
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: SofToastComponent, decorators: [{
|
|
10579
|
+
type: Component,
|
|
10580
|
+
args: [{ selector: 'sof-toast', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
10581
|
+
trigger('slideAndFade', [
|
|
10582
|
+
transition(':enter', [
|
|
10583
|
+
style({
|
|
10584
|
+
transform: 'translateY(100px)',
|
|
10585
|
+
opacity: 0
|
|
10586
|
+
}),
|
|
10587
|
+
animate('300ms ease-out', style({
|
|
10588
|
+
transform: 'translateY(0)',
|
|
10589
|
+
opacity: 1
|
|
10590
|
+
}))
|
|
10591
|
+
]),
|
|
10592
|
+
transition(':leave', [
|
|
10593
|
+
animate('200ms ease-in', style({
|
|
10594
|
+
transform: 'translateY(100px)',
|
|
10595
|
+
opacity: 0
|
|
10596
|
+
}))
|
|
10597
|
+
])
|
|
10598
|
+
])
|
|
10599
|
+
], template: "@if (toastService.toast()) {\r\n <div class=\"sof-toast\" @slideAndFade>\r\n @switch (toastService.toast()?.level) {\r\n @case ('info') {\r\n <i class=\"ph-fill ph-info info\"></i>\r\n }\r\n @case ('warning') {\r\n <i class=\"ph-fill ph-warning warn\"></i>\r\n }\r\n @case ('error') {\r\n <i class=\"ph-fill ph-warning-circle error\"></i>\r\n }\r\n @case ('success') {\r\n <i class=\"ph-fill ph-check-circle success\"></i>\r\n }\r\n }\r\n <span>{{toastService.toast()?.message}}</span>\r\n </div>\r\n}\r\n", styles: ["@charset \"UTF-8\";.sof-toast{position:absolute;bottom:50px;width:350px;left:calc(50vw - 175px);background-color:var(--sof-toast-background);color:var(--sof-toast-color);z-index:10000;--sof-toast-background: vars.$surface-color-inverse-light;--sof-toast-color: vars.$text-inverse;border-radius:4px;padding:12px;display:flex;align-items:center;gap:8px;font-size:14px;word-break:break-word}.sof-toast i{font-size:20px}.sof-toast i.error{color:rgba(var(--error-color-500-parts-rgb),.4)}.sof-toast i.warn{color:rgba(var(--warn-color-500-parts-rgb),.4)}.sof-toast i.success{color:rgba(var(--success-color-500-parts-rgb),.4)}.sof-toast i.info{color:rgba(var(--info-color-500-parts-rgb),.4)}\n"] }]
|
|
10600
|
+
}] });
|
|
10601
|
+
|
|
10183
10602
|
/**
|
|
10184
10603
|
* Text Overflow Ellipsis Tooltip Directive
|
|
10185
10604
|
* @description Using this directive will add the following css to the host element -
|
|
@@ -10574,5 +10993,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
|
10574
10993
|
* Generated bundle index. Do not edit.
|
|
10575
10994
|
*/
|
|
10576
10995
|
|
|
10577
|
-
export { ALERT_BANNER_CONFIG, AbstractSamlEntryService, AbstractSamlService, AbstractStartupService, AccessTokenClaims, AlertBannerComponent, AlertBannerModule, AlertBannerService, AlertService, AlphaNumericDirective, AppTemplateComponent, ApplicationUserModel, ArRoleNavService, ArmError, ArmatureFooterComponent, ArmatureFooterModule, ArmatureHeaderComponent, ArmatureHeaderModule, ArmatureModule, ArmatureNavigationComponent, ArmatureResizePanelsModule, Attribute, AuthorizationService, B2bNavComponent, BannerService, BannerType, BaseComponentModule, BaseConfigService, CacheExpirationType, ComponentSavePrintComponent, ComponentSavePrintService, Configuration, ConfirmAddressData, CoverageDetail, CssOverride, CssOverrideDirective, CustomAuthConfigService, DISABLE_ACCESS_FOR_NO_PAGES_ROLE, DISTRIBUTED_CACHE_BASE_PATH, DataStoreConfig, DateInputFilterDirective, DecodedAccessToken, DefaultConfigService, DialogResult, DistributedCacheModule, ENTITY_SESSION_STORAGE_PREFIX, ENTITY_SS_CONFIG_PREFIX, EntityBaseComponent, EntityHelperService, EntityInjectWrapperComponent, FAQ, FAQConfig, FEDERATED_MODULE_ID, FaqComponent, FaqModule, FeedbackToolComponent, FeedbackToolModule, FooterConfig, FormsModule, HYBRID_SAML_OAUTH_CONFIG, HeaderAuthSettings, HybridSamlOAuthConfig, HybridSamlOauthService, InputTrimDirective, LINE_OF_COVERAGE, LettersCharactersDirective, LettersOnlyDirective, MfeModule, MobileHeaderMenuComponent, ModalData, NavigationModule, NumbersOnlyDirective, Oauth2RoleService, OauthModule, PhoneFormatPipe, PolicyPerson, RBAC_CONFIG, RbacActionDirective, RbacConfig, RbacModule, RedirectSamlComponent, RedirectSamlRequest, RedirectSessionConfigs, ResizePanelsComponent, RoleAccess, RoleNavService, RoutePath, RumConfig, RumModule, RumService, SESSION_CONFIG, SOF_BLANK_LANGUAGE_OVERRIDE, SOF_DATE_PIPE_FORMATS, STATUS, SamlModule, SamlService, ServerCacheService, SessionConfig, SessionService, SharedErrorService, SiteMapComponent, SiteMapDirection, SnackbarService, SofAddressComponent, SofAlertComponent, SofArComponentSavePrintModule, SofBadgeComponent, SofBannerComponent, SofBlankPipe, SofBottomSheetComponent, SofBreadcrumbsHierarchyComponent, SofBreadcrumbsHistoryComponent, SofButtonToggleGroupComponent, SofCalloutComponent, SofChipComponent, SofCompareAddressPipe, SofConfirmAddressComponent, SofConfirmAddressCountyChangeComponent, SofContextComponent, SofDatePipe, SofDropdownButtonComponent, SofErrorCommonComponent, SofHandleComponent, SofHeaderComponent, SofImageCheckboxComponent, SofInputStepperComponent, SofModalComponent, SofNavPanelComponent, SofPipeModule, SofProgressBarComponent, SofRadioCardComponent, SofSegmentedControlComponent, SofSelectComponent, SofSimpleAlertComponent, SofSnackbarComponent, SofSsnPipe, SofStarRatingComponent, SofSubNavigationComponent, SofTabsComponent, SofUtilityButtonComponent, SoftheonErrorHandlerService, SsoGatewayEntryService, SsoGatewayModel, States, TextOverflowEllipsisTooltipDirective, ThemeModule, ThemeService, TypedSession, USER_ENTITY_SERVICE_CONFIG, UserEntityService, UserEntityServiceConfig, ValidationKeys, WINDOW, httpVerb, initializerFactory, keyPathPrefix, languageStorageKey, newGuid, pascalToCamel, preSignInRouteStorageKey, removeMenuRole, routeToPreLoginRoute, sessionBasePathFactory, userInitialsPipe };
|
|
10996
|
+
export { ALERT_BANNER_CONFIG, AbstractSamlEntryService, AbstractSamlService, AbstractStartupService, AccessTokenClaims, AlertBannerComponent, AlertBannerModule, AlertBannerService, AlertService, AlphaNumericDirective, AppTemplateComponent, ApplicationUserModel, ArRoleNavService, ArmError, ArmatureFooterComponent, ArmatureFooterModule, ArmatureHeaderComponent, ArmatureHeaderModule, ArmatureModule, ArmatureNavigationComponent, ArmatureResizePanelsModule, Attribute, AuthorizationService, B2bNavComponent, BannerService, BannerType, BaseComponentModule, BaseConfigService, CacheExpirationType, ComponentSavePrintComponent, ComponentSavePrintService, Configuration, ConfirmAddressData, CoverageDetail, CssOverride, CssOverrideDirective, CustomAuthConfigService, DISABLE_ACCESS_FOR_NO_PAGES_ROLE, DISTRIBUTED_CACHE_BASE_PATH, DataStoreConfig, DateInputFilterDirective, DecodedAccessToken, DefaultConfigService, DialogResult, DistributedCacheModule, ENTITY_SESSION_STORAGE_PREFIX, ENTITY_SS_CONFIG_PREFIX, EntityBaseComponent, EntityHelperService, EntityInjectWrapperComponent, FAQ, FAQConfig, FEDERATED_MODULE_ID, FaqComponent, FaqModule, FeedbackToolComponent, FeedbackToolModule, FooterConfig, FormsModule, HYBRID_SAML_OAUTH_CONFIG, HeaderAuthSettings, HybridSamlOAuthConfig, HybridSamlOauthService, InputTrimDirective, LINE_OF_COVERAGE, LettersCharactersDirective, LettersOnlyDirective, MarketSelectionConfig, MarketSelectionService, MfeModule, MobileHeaderMenuComponent, ModalData, NavigationModule, NumbersOnlyDirective, Oauth2RoleService, OauthModule, PhoneFormatPipe, PolicyPerson, RBAC_CONFIG, RbacActionDirective, RbacConfig, RbacModule, RedirectSamlComponent, RedirectSamlRequest, RedirectSessionConfigs, ResizePanelsComponent, RoleAccess, RoleNavService, RoutePath, RumConfig, RumModule, RumService, SESSION_CONFIG, SOF_BLANK_LANGUAGE_OVERRIDE, SOF_DATE_PIPE_FORMATS, STATUS, SamlModule, SamlService, SelectedMarketContext, ServerCacheService, SessionConfig, SessionService, SharedErrorService, SiteMapComponent, SiteMapDirection, SnackbarService, SofAddressComponent, SofAlertComponent, SofArComponentSavePrintModule, SofBadgeComponent, SofBannerComponent, SofBlankPipe, SofBottomSheetComponent, SofBreadcrumbsHierarchyComponent, SofBreadcrumbsHistoryComponent, SofButtonToggleGroupComponent, SofCalloutComponent, SofChipComponent, SofCompareAddressPipe, SofConfirmAddressComponent, SofConfirmAddressCountyChangeComponent, SofContextComponent, SofDatePipe, SofDropdownButtonComponent, SofErrorCommonComponent, SofHandleComponent, SofHeaderComponent, SofImageCheckboxComponent, SofInputStepperComponent, SofModalComponent, SofNavPanelComponent, SofPipeModule, SofProgressBarComponent, SofRadioCardComponent, SofSegmentedControlComponent, SofSelectComponent, SofSimpleAlertComponent, SofSnackbarComponent, SofSsnPipe, SofStarRatingComponent, SofSubNavigationComponent, SofTabsComponent, SofToastComponent, SofUtilityButtonComponent, SoftheonErrorHandlerService, SsoGatewayEntryService, SsoGatewayModel, States, TextOverflowEllipsisTooltipDirective, ThemeModule, ThemeService, ToastService, TypedSession, USER_ENTITY_SERVICE_CONFIG, UserEntityService, UserEntityServiceConfig, ValidationKeys, WINDOW, httpVerb, initializerFactory, keyPathPrefix, languageStorageKey, newGuid, pascalToCamel, preSignInRouteStorageKey, removeMenuRole, routeToPreLoginRoute, sessionBasePathFactory, userInitialsPipe };
|
|
10578
10997
|
//# sourceMappingURL=softheon-armature.mjs.map
|