@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.
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../fesm2022/softheon-armature-ag-grid-components.mjs"
3
+ }
@@ -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