@progressio_resources/gravity-design-system 4.1.11 → 4.1.12

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.
@@ -8179,9 +8179,15 @@ class GravityMenuComponent {
8179
8179
  this.scrollPosition = 0;
8180
8180
  this.collapsedMode = false;
8181
8181
  this.visibleSubMenu = false;
8182
+ this.isControlPanelMode = false;
8182
8183
  this.selectedOption = null;
8183
8184
  }
8184
8185
  ngOnChanges(changes) {
8186
+ if (changes['items'] && this.items?.length) {
8187
+ if (this.collapsedMode) {
8188
+ this.toggleAllHeaders(true);
8189
+ }
8190
+ }
8185
8191
  if (changes['currentLink'] && this.currentLink != null && this.items?.length) {
8186
8192
  this.preselectOptionByLink(this.currentLink);
8187
8193
  }
@@ -8219,12 +8225,25 @@ class GravityMenuComponent {
8219
8225
  }
8220
8226
  getSwitchControlPanelText(collapsedMode = false) {
8221
8227
  const texts = {
8222
- en: { expanded: 'Switch to control panel', collapsed: 'Control panel' },
8223
- es: { expanded: 'Cambiar a panel de control', collapsed: 'Panel de control' },
8228
+ en: {
8229
+ expanded: 'Switch to control panel', collapsed: 'Control panel',
8230
+ controlPanelExpanded: 'Back to front view', controlPanelCollapsed: 'Front view',
8231
+ },
8232
+ es: {
8233
+ expanded: 'Cambiar a panel de control', collapsed: 'Panel de control',
8234
+ controlPanelExpanded: 'Volver a la vista frontal', controlPanelCollapsed: 'Vista frontal',
8235
+ },
8224
8236
  };
8225
- return texts[this.language === 'en' ? 'en' : 'es'][collapsedMode ? 'collapsed' : 'expanded'];
8237
+ const language = this.language === 'en' ? 'en' : 'es';
8238
+ if (this.isControlPanelMode) {
8239
+ return texts[language][collapsedMode ? 'controlPanelCollapsed' : 'controlPanelExpanded'];
8240
+ }
8241
+ return texts[language][collapsedMode ? 'collapsed' : 'expanded'];
8226
8242
  }
8227
8243
  onSwitchControlPanel() {
8244
+ setTimeout(() => {
8245
+ this.isControlPanelMode = !this.isControlPanelMode;
8246
+ }, 1000);
8228
8247
  this.switchControlPanel.emit();
8229
8248
  }
8230
8249
  preselectOptionByLink(link) {
@@ -8370,11 +8389,11 @@ class GravityMenuComponent {
8370
8389
  el.scrollTo({ top: 62 * index, behavior: 'auto' });
8371
8390
  }
8372
8391
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: GravityMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
8373
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: GravityMenuComponent, isStandalone: true, selector: "gravity-menu", inputs: { items: "items", userInfo: "userInfo", logoUrl: "logoUrl", isOpen: "isOpen", systemTime: "systemTime", collapsable: "collapsable", language: "language", showCloseButton: "showCloseButton", cardButtons: "cardButtons", maxCardButtonsPerRow: "maxCardButtonsPerRow", currentLink: "currentLink", secondaryActions: "secondaryActions", showControlPanelButton: "showControlPanelButton", size: "size", mainFooterAction: "mainFooterAction" }, outputs: { close: "close", selected: "selected", collapsed: "collapsed", switchControlPanel: "switchControlPanel" }, viewQueries: [{ propertyName: "menuBody", first: true, predicate: ["menuBody"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"gravity-menu {{size}}\" [class.open]=\"isOpen\" [class.closing]=\"closing\"\n [class.collapsed]=\"collapsedMode && (size === 'xl' || size === 'lg')\">\n\n <div class=\"menu-header\">\n @if (logoUrl?.main_logo_url) {\n <svg-icon [src]=\"(collapsedMode && logoUrl.collapsed_logo_url) ? logoUrl.collapsed_logo_url : logoUrl.main_logo_url\"/>\n }\n\n @if ((size === 'md' || size === 'sm') && showCloseButton) {\n <gravity-icon [iconSize]=\"'lg-24'\" [iconName]=\"'unsuccess'\" (click)=\"closeMenu()\"/>\n }\n\n @if (collapsable && (size === 'xl' || size === 'lg')) {\n <div class=\"collapse-button\" (click)=\"collapseMenu()\">\n <gravity-icon [style.--icon-color]=\"'var(--bg-button-active-primary)'\" [iconSize]=\"'sm-12'\"\n [iconName]=\"collapsedMode ? 'arrow-right' : 'arrow-left'\"/>\n </div>\n }\n </div>\n\n <div class=\"menu-content\">\n <section #menuBody class=\"menu-body\" [class.sub-menu]=\"visibleSubMenu\">\n <div class=\"menu-section\">\n @for (header of items; track header; let i = $index) {\n <div class=\"levels\">\n <section class=\"first-level\" [class.selected]=\"isHeaderSelected(header)\"\n [routerLink]=\"header.link || undefined\" (click)=\"toggleMenuHeader(header, i)\"\n [class.is-open]=\"!header.collapsed\" [class.empty]=\"header.headerOptions?.length < 1\"\n [style.--expanded-margin]=\"header.headerOptions?.length > 0 ? (38 + (34 * header.headerOptions?.length)) + 'px' : '0'\">\n <p class=\"hr-label sm-regular\">\n @if (header.icon !== '') {\n <gravity-icon [style.--icon-color]=\"'var(--option-icon-color)'\" [iconName]=\"header.icon\" [iconSize]=\"'md-16'\"/>\n }\n @if (hasOptionBadge(header) && (size === 'xl' || size === 'lg')) {\n <gravity-badge class=\"badge\"\n [class.collapsed]=\"collapsedMode\" [size]=\"'sm'\" [type]=\"'neutral'\"></gravity-badge>\n }\n {{ header.text }}\n </p>\n @if (!collapsedMode) {\n <div>\n @if (header.headerOptions?.length > 0) {\n <gravity-icon [iconSize]=\"'sm-12'\" [iconName]=\"header.collapsed ? 'arrow-down' : 'arrow-up'\"/>\n }\n </div>\n }\n </section>\n @if (!header.collapsed && header.headerOptions?.length > 0) {\n <section class=\"second-level\"\n [@fadeSlide] [style.--submenu-offset]=\"((156 - scrollPosition) + (78 * i)) + 'px'\"\n [ngClass]=\"collapsedMode ? 'elevation-xs' : ''\">\n <div class=\"options-list\" [class.collapsed]=\"collapsedMode\">\n @for (option of header.headerOptions; track option) {\n <div class=\"option\" [attr.data-cy]=\"option.cypress_tag\" [class.selected]=\"option === selectedOption\">\n <div class=\"line\"\n [class.selected]=\"(size === 'xl' || size == 'lg') && option === selectedOption\"></div>\n <div class=\"option-text\"\n [ngClass]=\"(size === 'sm' || size === 'md') ? 'hr-label md-regular' : 'hr-label sm-regular'\"\n [class.disabled]=\"option.disabled\" [class.selected]=\"option === selectedOption\"\n [routerLink]=\"option.link || undefined\" (click)=\"selectOption(option, header)\">\n {{ option.text }}\n @if (option.badge_text && (size === 'xl' || size === 'lg')) {\n <gravity-badge\n [text]=\"option.badge_text\" [type]=\"'neutral'\" [size]=\"'sm'\"></gravity-badge>\n }\n </div>\n </div>\n }\n </div>\n </section>\n }\n </div>\n }\n </div>\n </section>\n\n @if ((secondaryActions || userInfo || showControlPanelButton) && (size === 'xl' || size === 'lg')) {\n <section class=\"menu-footer elevation-xs\" [class.collapsed-mode]=\"collapsedMode\">\n @if (showControlPanelButton) {\n <div class=\"control-panel-button\">\n <gravity-button [size]=\"'sm'\" [type]=\"'primary'\" [fullWidth]=\"true\" [iconName]=\"'arrow-right'\" [iconPosition]=\"'right'\" (click)=\"onSwitchControlPanel()\">\n @if (!collapsedMode) { {{ getSwitchControlPanelText(collapsedMode) }} }\n </gravity-button>\n @if (collapsedMode) {\n <span class=\"hr-label sm-regular\">{{getSwitchControlPanelText(collapsedMode)}} </span>\n }\n </div>\n }\n <section class=\"footer-content\">\n @if (secondaryActions) {\n <div class=\"secondary-actions\">\n @for (action of secondaryActions; track action) {\n <div class=\"action\"\n (click)=\"action.callback(); clearSelection(action.clear_selection)\">\n @if (action.icon !== '') {\n <gravity-icon [iconName]=\"action.icon\" [iconSize]=\"'md-16'\"/>\n }\n <span class=\"hr-label sm-regular\">{{ action.text }}</span>\n </div>\n }\n </div>\n }\n @if (secondaryActions && userInfo) {\n <hr class=\"separator-line\">\n }\n @if (userInfo) {\n <div class=\"user-info-list\">\n @for (userInfo of userInfo; track userInfo) {\n <div class=\"user-info\" [tooltip]=\"collapsedMode ? tooltipUserInfoTemplate : null\" [contentType]=\"'template'\" [placement]=\"'right'\">\n @if (userInfo.icon !== '') {\n <gravity-icon class=\"icon\" [iconName]=\"userInfo.icon\" [iconSize]=\"'sm-12'\"/>\n }\n @if (!collapsedMode) {\n <span class=\"hr-label sm-regular\">{{ userInfo.info }}</span>\n }\n <ng-template #tooltipUserInfoTemplate>\n <gravity-tooltip-container [tooltipSimple]=\"{text: userInfo.info}\"/>\n </ng-template>\n </div>\n }\n </div>\n }\n\n @if (systemTime) {\n <div class=\"system-time\" [tooltip]=\"tooltipSystemTimeTemplate\" [contentType]=\"'template'\" [placement]=\"'top'\">\n <gravity-icon [iconName]=\"'clock'\" [iconSize]=\"'md-16'\" />\n <span class=\"hr-label sm-regular\" >\n {{ collapsedMode ? systemTime.replace(' ', '\\n') : systemTime }}\n </span>\n </div>\n\n <ng-template #tooltipSystemTimeTemplate>\n <gravity-tooltip-container [tooltipSimple]=\"{text: systemTimeText}\"/>\n </ng-template>\n }\n </section>\n </section>\n }\n\n <!-- - - - - - - - - - - Mobile Resolutions - - - - - - - - - - -->\n\n @if ((cardButtons || showControlPanelButton || userInfo) && (size === 'md' || size === 'sm')) {\n <section class=\"menu-footer-mobile\">\n <section class=\"footer-content\">\n @if (cardButtons || showControlPanelButton) {\n <div class=\"secondary-actions\">\n <div class=\"action-cards\" [class.has-overflow]=\"isMobileCardsOverflow()\">\n @for (row of getCardButtonsRows(); track row) {\n <div class=\"action-cards-row\">\n @for (button of row; track button) {\n <gravity-action-card\n [orientation]=\"'vrt-center'\"\n [type]=\"button.type || 'secondary'\"\n [iconName]=\"button.icon\" [label]=\"button.text\"\n (clicked)=\"button.callback(); clearSelection(button.clear_selection); selected.emit()\"/>\n }\n </div>\n }\n </div>\n @if (mainFooterAction) {\n <gravity-button [size]=\"'md'\" [type]=\"'tertiary'\" [fullWidth]=\"size === 'sm' || size === 'md'\"\n [iconName]=\"mainFooterAction.icon\" [iconPosition]=\"'left'\" (click)=\"mainFooterAction.callback()\">\n {{ mainFooterAction.text }}\n </gravity-button>\n }\n </div>\n }\n @if (userInfo) {\n <div class=\"user-info-list\">\n @for (userInfo of userInfo; track userInfo) {\n <div class=\"user-info\">\n <gravity-icon [iconSize]=\"'sm-12'\" [iconName]=\"userInfo.icon\"/>\n <span class=\"hr-label sm-regular\">{{ userInfo.info }}</span>\n </div>\n }\n </div>\n }\n </section>\n </section>\n }\n </div>\n</div>\n\n", styles: [".scrollbar-sm::-webkit-scrollbar{width:4px;height:4px}.scrollbar-sm::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.scrollbar-md::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar{width:8px;height:8px}.scrollbar-md::-webkit-scrollbar-track,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb:hover,.gravity-menu .menu-content .menu-body.has-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.gravity-menu{height:100%;width:266px;-webkit-user-select:none;user-select:none;display:inline-flex;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-md);transition:width .28s ease,gap .28s ease}.gravity-menu .menu-header{width:100%;display:flex;position:relative;align-items:center;padding:24px 26px 0 24px;justify-content:space-between}.gravity-menu .menu-header gravity-icon{cursor:pointer}.gravity-menu .menu-header svg{width:60px;height:24px;display:flex}.gravity-menu .menu-header .collapse-button{right:26px;display:flex;position:absolute;background:var(--surface-primary);padding:var(--gravity-spacing-xxs);border-radius:6.25rem}.gravity-menu .menu-content{width:100%;height:100%;display:flex;overflow:hidden;flex-direction:column;justify-content:space-between}.gravity-menu .menu-content .menu-body{display:flex;overflow-y:auto;flex-direction:column;align-items:flex-start;padding:0 18px 12px 24px}.gravity-menu .menu-content .menu-body:not(.has-scroll),.gravity-menu .menu-content .menu-body.has-scroll:not(:hover){margin-right:8px;scrollbar-width:none}.gravity-menu .menu-content .menu-body:not(.has-scroll)::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:not(:hover)::-webkit-scrollbar{width:0;height:0}.gravity-menu .menu-content .menu-body.has-scroll:hover{margin-right:0}.gravity-menu .menu-content .menu-body.sub-menu:hover{margin-right:8px!important}.gravity-menu .menu-content .menu-body .menu-section{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-body .menu-section .levels{width:100%;color:var(--on-bg-menu-button-active-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level{width:100%;display:flex;cursor:pointer;position:relative;align-items:center;justify-content:space-between;gap:var(--gravity-spacing-xs);height:var(--gravity-spacing-md);border-left:4px solid transparent;padding:0 var(--gravity-spacing-xxs);--option-icon-color: var(--on-bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level.is-open p{text-decoration:underline}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level.selected{border-left:4px solid var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level p{display:flex;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level p .badge{position:absolute;right:20px;top:8px}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level:hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level{display:flex;align-self:stretch;align-items:flex-start;justify-content:center;padding-left:var(--gravity-spacing-xxs);transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list{flex:1 0 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line{height:100%;margin-left:var(--gravity-spacing-xs);border-left:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line.selected{margin:0 -1px 0 7px;border-left:3px solid var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option{width:100%;height:34px;display:flex;align-items:center;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text{flex:1 0 0;height:24px;display:flex;cursor:pointer;align-items:center;justify-content:space-between;padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text:not(.disabled):not(.selected):hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.disabled{cursor:default;pointer-events:none;color:var(--on-bg-menu-button-disabled-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.selected{color:var(--on-bg-menu-button-pressed-primary);background-color:var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text .badge{height:14px;display:flex;border-radius:2.5px;align-items:flex-end;gap:var(--gravity-spacing-xs);padding:var(--gravity-spacing-xxs);background:var(--bg-menu-badge-button);color:var(--on-bg-notification-badge-button)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text .badge span{line-height:6px}.gravity-menu .menu-content .menu-footer{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:16px 22px 20px 24px;gap:var(--gravity-spacing-md);width:calc(100% - var(--gravity-spacing-xs));box-shadow:-8px 1px 4px rgba(var(--shadow-primary-rgba),var(--shadow-opacity))}.gravity-menu .menu-content .menu-footer .control-panel-button{width:100%;display:flex;align-items:center;flex-direction:column;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .control-panel-button gravity-button{width:100%}.gravity-menu .menu-content .menu-footer.collapsed-mode{align-items:center}.gravity-menu .menu-content .menu-footer.collapsed-mode .control-panel-button gravity-button{width:36px;height:32px}.gravity-menu .menu-content .menu-footer .footer-content{width:234px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action{width:100%;height:24px;display:flex;align-items:center;gap:var(--gravity-spacing-xs);padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action:hover{cursor:pointer;color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-footer .footer-content hr{margin:0;width:100%;border:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list{display:grid;align-items:center;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list .user-info{display:flex;padding:1px 2px;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .footer-content .system-time{display:flex;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .footer-content .system-time span{white-space:pre-line}.gravity-menu.collapsed{width:100px;position:relative;gap:var(--gravity-spacing-lg)}.gravity-menu.collapsed .menu-header{padding:24px 0 0;justify-content:center}.gravity-menu.collapsed .menu-header .collapse-button{right:-10px}.gravity-menu.collapsed .menu-content .menu-body{padding:0}.gravity-menu.collapsed .menu-content .menu-body.sub-menu{overflow:hidden!important}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level{height:70px!important;justify-content:center!important}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level:not(.empty).is-open{margin-bottom:var(--expanded-margin);background-color:var(--surface-primary);border-left:4px solid var(--on-bg-menu-button-disabled-primary)}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level:not(.empty).is-open.selected{background-color:var(--bg-button-active-tertiary);border-left:4px solid var(--bg-menu-button-pressed-primary)}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level p{width:100%;display:flex;text-align:center;position:relative;align-items:center;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-xxs);padding:var(--gravity-spacing-xs) var(--gravity-spacing-xxs)}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level p .badge.collapsed{top:3px;right:26px}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .second-level{min-width:220px;position:absolute;width:max-content;z-index:1;top:var(--submenu-offset, 0px);border-radius:.3125rem;padding:var(--gravity-spacing-xs);background:var(--surface-secondary);border:1px solid var(--surface-primary);background-color:var(--surface-secondary)}.gravity-menu.collapsed .menu-content .menu-footer{width:100%;padding:16px 8px 20px}.gravity-menu.collapsed .menu-content .menu-footer .footer-content{width:84px}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .secondary-actions{gap:var(--gravity-spacing-sm)}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .secondary-actions .action{height:auto;flex-direction:column;gap:var(--gravity-spacing-xxs);padding:var(--gravity-spacing-xs) var(--gravity-spacing-xxs)}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .user-info-list{width:100%;justify-items:center}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .user-info-list .user-info{padding:0 var(--gravity-spacing-xs)}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .system-time{width:100%;display:flex;text-align:center;align-items:center;flex-direction:column;gap:var(--gravity-spacing-xxs);padding:var(--gravity-spacing-xs) var(--gravity-spacing-xxs)}.gravity-menu.md,.gravity-menu.sm{gap:0;width:100%;max-width:100%;position:fixed;min-width:577px;transition:none;transform:translate(101%);background-color:var(--bg-menu-mobile-primary)}.gravity-menu.md.open,.gravity-menu.sm.open{transform:translate(0);transition:transform .165s ease-in-out}.gravity-menu.md:not(.open),.gravity-menu.sm:not(.open){transform:translate(101%)}.gravity-menu.md.closing,.gravity-menu.sm.closing{transition:transform .165s ease-in-out}.gravity-menu.md .menu-logo svg,.gravity-menu.sm .menu-logo svg{width:70px;height:28px}.gravity-menu.md .menu-content,.gravity-menu.sm .menu-content{margin-top:var(--gravity-spacing-md)}.gravity-menu.md .menu-content .menu-body,.gravity-menu.sm .menu-content .menu-body{padding:0 18px 0 24px}.gravity-menu.md .menu-content .menu-body .menu-section .levels,.gravity-menu.sm .menu-content .menu-body .menu-section .levels{display:flex;flex-direction:column;gap:var(--gravity-spacing-sm);border-radius:.3125rem;padding:var(--gravity-spacing-sm);background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level{height:20px;background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level:hover{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option{height:45px}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text:hover,.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.selected{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected{background-color:var(--bg-menu-mobile-button-pressed-primary)}.gravity-menu.md .menu-content .menu-footer-mobile,.gravity-menu.sm .menu-content .menu-footer-mobile{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:flex-end;gap:var(--gravity-spacing-sm);padding:var(--gravity-spacing-md)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content{width:100%;display:flex;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-sm);padding:0 var(--gravity-spacing-lg)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row{width:100%;display:flex;flex-direction:row;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card .action-card-container,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card .action-card-container{padding:0;width:100%;min-width:auto}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list{gap:0;display:grid;border-top:1px solid var(--surface-secondary)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info{display:flex;flex-direction:row;align-items:center;align-self:stretch;justify-content:center;gap:var(--gravity-spacing-xs);padding-top:var(--gravity-spacing-sm)}.gravity-menu.md .menu-footer-mobile .footer-content .secondary-actions .action-cards.has-overflow .action-cards-row ::ng-deep gravity-action-card{width:calc((100% - 3 * var(--gravity-spacing-xs)) / 4);flex:0 0 calc((100% - 3 * var(--gravity-spacing-xs)) / 4)}.gravity-menu.sm{min-width:320px}.gravity-menu.sm .menu-footer-mobile .footer-content .secondary-actions{padding:0!important}.gravity-menu.sm .menu-footer-mobile .footer-content .secondary-actions .action-cards.has-overflow .action-cards-row ::ng-deep gravity-action-card{width:calc((100% - var(--gravity-spacing-xs)) / 2);flex:0 0 calc((100% - var(--gravity-spacing-xs)) / 2)}\n"], dependencies: [{ kind: "component", type: SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "svgClass", "class", "viewBox", "svgAriaLabel", "onSVGLoaded", "svgStyle"] }, { kind: "component", type: GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: GravityBadgeComponent, selector: "gravity-badge", inputs: ["size", "text", "number", "cypressTag", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: GravityTooltipDirective, selector: "[tooltip]", inputs: ["options", "tooltip", "placement", "autoPlacement", "content-type", "contentType", "hide-delay-mobile", "hideDelayTouchscreen", "z-index", "zIndex", "animation-duration", "animationDuration", "trigger", "tooltip-class", "tooltipClass", "display", "display-mobile", "displayTouchscreen", "shadow", "theme", "offset", "width", "persistent", "max-width", "maxWidth", "id", "show-delay", "showDelay", "hide-delay", "hideDelay", "hideDelayAfterClick", "pointerEvents", "position"], outputs: ["events"], exportAs: ["tooltip"] }, { kind: "component", type: GravityTooltipContainerComponent, selector: "gravity-tooltip-container", inputs: ["cypressTag", "tooltipBanner", "tooltipSimple"], outputs: ["closeBanner", "actionButton"] }, { kind: "component", type: GravityActionCardComponent, selector: "gravity-action-card", inputs: ["cypressTag", "label", "iconName", "fullWidth", "type", "state", "orientation"], outputs: ["clicked"] }, { kind: "component", type: GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "fullWidth", "isLoading", "showContent", "iconName", "size", "iconPosition", "customState", "type"] }] }); }
8392
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: GravityMenuComponent, isStandalone: true, selector: "gravity-menu", inputs: { items: "items", userInfo: "userInfo", logoUrl: "logoUrl", isOpen: "isOpen", systemTime: "systemTime", collapsable: "collapsable", language: "language", showCloseButton: "showCloseButton", cardButtons: "cardButtons", maxCardButtonsPerRow: "maxCardButtonsPerRow", currentLink: "currentLink", secondaryActions: "secondaryActions", showControlPanelButton: "showControlPanelButton", size: "size", mainFooterAction: "mainFooterAction" }, outputs: { close: "close", selected: "selected", collapsed: "collapsed", switchControlPanel: "switchControlPanel" }, viewQueries: [{ propertyName: "menuBody", first: true, predicate: ["menuBody"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"gravity-menu {{size}}\" [class.open]=\"isOpen\" [class.closing]=\"closing\"\n [class.collapsed]=\"collapsedMode && (size === 'xl' || size === 'lg')\">\n\n <div class=\"menu-header\">\n @if (logoUrl?.main_logo_url) {\n <svg-icon [src]=\"(collapsedMode && logoUrl.collapsed_logo_url) ? logoUrl.collapsed_logo_url : logoUrl.main_logo_url\"/>\n }\n\n @if ((size === 'md' || size === 'sm') && showCloseButton) {\n <gravity-icon [iconSize]=\"'lg-24'\" [iconName]=\"'unsuccess'\" (click)=\"closeMenu()\"/>\n }\n\n @if (collapsable && (size === 'xl' || size === 'lg')) {\n <div class=\"collapse-button\" (click)=\"collapseMenu()\">\n <gravity-icon [style.--icon-color]=\"'var(--bg-button-active-primary)'\" [iconSize]=\"'sm-12'\"\n [iconName]=\"collapsedMode ? 'arrow-right' : 'arrow-left'\"/>\n </div>\n }\n </div>\n\n <div class=\"menu-content\">\n <section #menuBody class=\"menu-body\" [class.sub-menu]=\"visibleSubMenu\">\n <div class=\"menu-section\">\n @for (header of items; track header; let i = $index) {\n <div class=\"levels\">\n <section class=\"first-level\" [class.selected]=\"isHeaderSelected(header)\"\n [routerLink]=\"header.link || undefined\" (click)=\"toggleMenuHeader(header, i)\"\n [class.is-open]=\"!header.collapsed\" [class.empty]=\"header.headerOptions?.length < 1\"\n [style.--expanded-margin]=\"header.headerOptions?.length > 0 ? (38 + (34 * header.headerOptions?.length)) + 'px' : '0'\">\n <p class=\"hr-label sm-regular\">\n @if (header.icon !== '') {\n <gravity-icon [style.--icon-color]=\"'var(--option-icon-color)'\" [iconName]=\"header.icon\" [iconSize]=\"'md-16'\"/>\n }\n @if (hasOptionBadge(header) && (size === 'xl' || size === 'lg')) {\n <gravity-badge class=\"badge\"\n [class.collapsed]=\"collapsedMode\" [size]=\"'sm'\" [type]=\"'neutral'\"></gravity-badge>\n }\n {{ header.text }}\n </p>\n @if (!collapsedMode) {\n <div>\n @if (header.headerOptions?.length > 0) {\n <gravity-icon [iconSize]=\"'sm-12'\" [iconName]=\"header.collapsed ? 'arrow-down' : 'arrow-up'\"/>\n }\n </div>\n }\n </section>\n @if (!header.collapsed && header.headerOptions?.length > 0) {\n <section class=\"second-level\"\n [@fadeSlide] [style.--submenu-offset]=\"((156 - scrollPosition) + (78 * i)) + 'px'\"\n [ngClass]=\"collapsedMode ? 'elevation-xs' : ''\">\n <div class=\"options-list\" [class.collapsed]=\"collapsedMode\">\n @for (option of header.headerOptions; track option) {\n <div class=\"option\" [attr.data-cy]=\"option.cypress_tag\" [class.selected]=\"option === selectedOption\">\n <div class=\"line\"\n [class.selected]=\"(size === 'xl' || size == 'lg') && option === selectedOption\"></div>\n <div class=\"option-text\"\n [ngClass]=\"(size === 'sm' || size === 'md') ? 'hr-label md-regular' : 'hr-label sm-regular'\"\n [class.disabled]=\"option.disabled\" [class.selected]=\"option === selectedOption\"\n [routerLink]=\"option.link || undefined\" (click)=\"selectOption(option, header)\">\n {{ option.text }}\n @if (option.badge_text && (size === 'xl' || size === 'lg')) {\n <gravity-badge\n [text]=\"option.badge_text\" [type]=\"'neutral'\" [size]=\"'sm'\"></gravity-badge>\n }\n </div>\n </div>\n }\n </div>\n </section>\n }\n </div>\n }\n </div>\n </section>\n\n @if ((secondaryActions || userInfo || showControlPanelButton) && (size === 'xl' || size === 'lg')) {\n <section class=\"menu-footer elevation-xs\" [class.collapsed-mode]=\"collapsedMode\">\n @if (showControlPanelButton) {\n <div class=\"control-panel-button\">\n <gravity-button [size]=\"'sm'\" [type]=\"'primary'\" [fullWidth]=\"true\" [iconName]=\"'arrow-right'\" [iconPosition]=\"'right'\" (click)=\"onSwitchControlPanel()\">\n @if (!collapsedMode) { {{ getSwitchControlPanelText(collapsedMode) }} }\n </gravity-button>\n @if (collapsedMode) {\n <span class=\"hr-label sm-regular\">{{getSwitchControlPanelText(collapsedMode)}} </span>\n }\n </div>\n }\n <section class=\"footer-content\">\n @if (secondaryActions) {\n <div class=\"secondary-actions\">\n @for (action of secondaryActions; track action) {\n <div class=\"action\"\n (click)=\"action.callback(); clearSelection(action.clear_selection)\">\n @if (action.icon !== '') {\n <gravity-icon [iconName]=\"action.icon\" [iconSize]=\"'md-16'\"/>\n }\n <span class=\"hr-label sm-regular\">{{ action.text }}</span>\n </div>\n }\n </div>\n }\n @if (secondaryActions && userInfo) {\n <hr class=\"separator-line\">\n }\n @if (userInfo) {\n <div class=\"user-info-list\">\n @for (userInfo of userInfo; track userInfo) {\n <div class=\"user-info\" [tooltip]=\"collapsedMode ? tooltipUserInfoTemplate : null\" [contentType]=\"'template'\" [placement]=\"'right'\">\n @if (userInfo.icon !== '') {\n <gravity-icon class=\"icon\" [iconName]=\"userInfo.icon\" [iconSize]=\"'sm-12'\"/>\n }\n @if (!collapsedMode) {\n <span class=\"hr-label sm-regular\">{{ userInfo.info }}</span>\n }\n <ng-template #tooltipUserInfoTemplate>\n <gravity-tooltip-container [tooltipSimple]=\"{text: userInfo.info}\"/>\n </ng-template>\n </div>\n }\n </div>\n }\n\n @if (systemTime) {\n <div class=\"system-time\" [tooltip]=\"tooltipSystemTimeTemplate\" [contentType]=\"'template'\" [placement]=\"'top'\">\n <gravity-icon [iconName]=\"'clock'\" [iconSize]=\"'md-16'\" />\n <span class=\"hr-label sm-regular\" >\n {{ collapsedMode ? systemTime.replace(' ', '\\n') : systemTime }}\n </span>\n </div>\n\n <ng-template #tooltipSystemTimeTemplate>\n <gravity-tooltip-container [tooltipSimple]=\"{text: systemTimeText}\"/>\n </ng-template>\n }\n </section>\n </section>\n }\n\n <!-- - - - - - - - - - - Mobile Resolutions - - - - - - - - - - -->\n\n @if ((cardButtons || showControlPanelButton || userInfo) && (size === 'md' || size === 'sm')) {\n <section class=\"menu-footer-mobile\">\n <section class=\"footer-content\">\n @if (cardButtons || showControlPanelButton) {\n <div class=\"secondary-actions\">\n <div class=\"action-cards\" [class.has-overflow]=\"isMobileCardsOverflow()\">\n @for (row of getCardButtonsRows(); track row) {\n <div class=\"action-cards-row\">\n @for (button of row; track button) {\n <gravity-action-card\n [orientation]=\"'vrt-center'\"\n [type]=\"button.type || 'secondary'\"\n [iconName]=\"button.icon\" [label]=\"button.text\"\n (clicked)=\"button.callback(); clearSelection(button.clear_selection); selected.emit()\"/>\n }\n </div>\n }\n </div>\n @if (mainFooterAction) {\n <gravity-button [size]=\"'md'\" [type]=\"'tertiary'\" [fullWidth]=\"size === 'sm' || size === 'md'\"\n [iconName]=\"mainFooterAction.icon\" [iconPosition]=\"'left'\" (click)=\"mainFooterAction.callback()\">\n {{ mainFooterAction.text }}\n </gravity-button>\n }\n </div>\n }\n @if (userInfo) {\n <div class=\"user-info-list\">\n @for (userInfo of userInfo; track userInfo) {\n <div class=\"user-info\">\n <gravity-icon [iconSize]=\"'sm-12'\" [iconName]=\"userInfo.icon\"/>\n <span class=\"hr-label sm-regular\">{{ userInfo.info }}</span>\n </div>\n }\n </div>\n }\n </section>\n </section>\n }\n </div>\n</div>\n\n", styles: [".scrollbar-sm::-webkit-scrollbar{width:4px;height:4px}.scrollbar-sm::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.scrollbar-md::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar{width:8px;height:8px}.scrollbar-md::-webkit-scrollbar-track,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb:hover,.gravity-menu .menu-content .menu-body.has-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.gravity-menu{height:100%;width:266px;-webkit-user-select:none;user-select:none;display:inline-flex;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-md);transition:width .28s ease,gap .28s ease}.gravity-menu .menu-header{width:100%;display:flex;position:relative;align-items:center;padding:24px 26px 0 24px;justify-content:space-between}.gravity-menu .menu-header gravity-icon{cursor:pointer}.gravity-menu .menu-header svg{width:60px;height:24px;display:flex}.gravity-menu .menu-header .collapse-button{right:26px;display:flex;position:absolute;background:var(--surface-primary);padding:var(--gravity-spacing-xxs);border-radius:6.25rem}.gravity-menu .menu-content{width:100%;height:100%;display:flex;overflow:hidden;flex-direction:column;justify-content:space-between}.gravity-menu .menu-content .menu-body{display:flex;overflow-y:auto;flex-direction:column;align-items:flex-start;padding:0 18px 12px 24px}.gravity-menu .menu-content .menu-body:not(.has-scroll),.gravity-menu .menu-content .menu-body.has-scroll:not(:hover){margin-right:8px;scrollbar-width:none}.gravity-menu .menu-content .menu-body:not(.has-scroll)::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:not(:hover)::-webkit-scrollbar{width:0;height:0}.gravity-menu .menu-content .menu-body.has-scroll:hover{margin-right:0}.gravity-menu .menu-content .menu-body.sub-menu:hover{margin-right:8px!important}.gravity-menu .menu-content .menu-body .menu-section{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-body .menu-section .levels{width:100%;color:var(--on-bg-menu-button-active-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level{width:100%;display:flex;cursor:pointer;position:relative;align-items:center;justify-content:space-between;gap:var(--gravity-spacing-xs);height:var(--gravity-spacing-md);border-left:4px solid transparent;padding:0 var(--gravity-spacing-xxs);--option-icon-color: var(--on-bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level.is-open p{text-decoration:underline}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level.selected{border-left:4px solid var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level p{display:flex;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level p .badge{position:absolute;right:20px;top:8px}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level:hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level{display:flex;align-self:stretch;align-items:flex-start;justify-content:center;padding-left:var(--gravity-spacing-xxs);transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list{flex:1 0 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line{height:100%;margin-left:var(--gravity-spacing-xs);border-left:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line.selected{margin:0 -1px 0 7px;border-left:3px solid var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option{width:100%;height:34px;display:flex;align-items:center;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text{flex:1 0 0;height:24px;display:flex;cursor:pointer;align-items:center;justify-content:space-between;padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text:not(.disabled):not(.selected):hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.disabled{cursor:default;pointer-events:none;color:var(--on-bg-menu-button-disabled-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.selected{color:var(--on-bg-menu-button-pressed-primary);background-color:var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text .badge{height:14px;display:flex;border-radius:2.5px;align-items:flex-end;gap:var(--gravity-spacing-xs);padding:var(--gravity-spacing-xxs);background:var(--bg-menu-badge-button);color:var(--on-bg-notification-badge-button)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text .badge span{line-height:6px}.gravity-menu .menu-content .menu-footer{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:16px 22px 20px 24px;gap:var(--gravity-spacing-md);width:calc(100% - var(--gravity-spacing-xs));box-shadow:-8px 1px 4px rgba(var(--shadow-primary-rgba),var(--shadow-opacity))}.gravity-menu .menu-content .menu-footer .control-panel-button{width:100%;display:flex;align-items:center;flex-direction:column;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .control-panel-button gravity-button{width:100%}.gravity-menu .menu-content .menu-footer.collapsed-mode{align-items:center}.gravity-menu .menu-content .menu-footer.collapsed-mode .control-panel-button gravity-button{width:36px;height:32px}.gravity-menu .menu-content .menu-footer .footer-content{width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action{width:100%;height:24px;display:flex;align-items:center;gap:var(--gravity-spacing-xs);padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action:hover{cursor:pointer;color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-footer .footer-content hr{margin:0;width:100%;border:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list{display:grid;align-items:center;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list .user-info{display:flex;padding:1px 2px;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .footer-content .system-time{display:flex;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .footer-content .system-time span{white-space:pre-line}.gravity-menu.collapsed{width:100px;position:relative;gap:var(--gravity-spacing-lg)}.gravity-menu.collapsed .menu-header{padding:24px 0 0;justify-content:center}.gravity-menu.collapsed .menu-header .collapse-button{right:-10px}.gravity-menu.collapsed .menu-content .menu-body{padding:0}.gravity-menu.collapsed .menu-content .menu-body.sub-menu{overflow:hidden!important}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level{height:70px!important;justify-content:center!important}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level:not(.empty).is-open{margin-bottom:var(--expanded-margin);background-color:var(--surface-primary);border-left:4px solid var(--on-bg-menu-button-disabled-primary)}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level:not(.empty).is-open.selected{background-color:var(--bg-button-active-tertiary);border-left:4px solid var(--bg-menu-button-pressed-primary)}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level p{width:100%;display:flex;text-align:center;position:relative;align-items:center;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-xxs);padding:var(--gravity-spacing-xs) var(--gravity-spacing-xxs)}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level p .badge.collapsed{top:3px;right:26px}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .second-level{min-width:220px;position:absolute;width:max-content;z-index:1;top:var(--submenu-offset, 0px);border-radius:.3125rem;padding:var(--gravity-spacing-xs);background:var(--surface-secondary);border:1px solid var(--surface-primary);background-color:var(--surface-secondary)}.gravity-menu.collapsed .menu-content .menu-footer{width:100%;padding:16px 8px 20px}.gravity-menu.collapsed .menu-content .menu-footer .footer-content{width:84px}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .secondary-actions{gap:var(--gravity-spacing-sm)}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .secondary-actions .action{height:auto;flex-direction:column;gap:var(--gravity-spacing-xxs);padding:var(--gravity-spacing-xs) var(--gravity-spacing-xxs)}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .user-info-list{width:100%;justify-items:center}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .user-info-list .user-info{padding:0 var(--gravity-spacing-xs)}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .system-time{width:100%;display:flex;text-align:center;align-items:center;flex-direction:column;gap:var(--gravity-spacing-xxs);padding:var(--gravity-spacing-xs) var(--gravity-spacing-xxs)}.gravity-menu.md,.gravity-menu.sm{gap:0;width:100%;max-width:100%;position:fixed;min-width:577px;transition:none;transform:translate(101%);background-color:var(--bg-menu-mobile-primary)}.gravity-menu.md.open,.gravity-menu.sm.open{transform:translate(0);transition:transform .165s ease-in-out}.gravity-menu.md:not(.open),.gravity-menu.sm:not(.open){transform:translate(101%)}.gravity-menu.md.closing,.gravity-menu.sm.closing{transition:transform .165s ease-in-out}.gravity-menu.md .menu-logo svg,.gravity-menu.sm .menu-logo svg{width:70px;height:28px}.gravity-menu.md .menu-content,.gravity-menu.sm .menu-content{margin-top:var(--gravity-spacing-md)}.gravity-menu.md .menu-content .menu-body,.gravity-menu.sm .menu-content .menu-body{padding:0 18px 0 24px}.gravity-menu.md .menu-content .menu-body .menu-section .levels,.gravity-menu.sm .menu-content .menu-body .menu-section .levels{display:flex;flex-direction:column;gap:var(--gravity-spacing-sm);border-radius:.3125rem;padding:var(--gravity-spacing-sm);background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level{height:20px;background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level:hover{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option{height:45px}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text:hover,.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.selected{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected{background-color:var(--bg-menu-mobile-button-pressed-primary)}.gravity-menu.md .menu-content .menu-footer-mobile,.gravity-menu.sm .menu-content .menu-footer-mobile{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:flex-end;gap:var(--gravity-spacing-sm);padding:var(--gravity-spacing-md)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content{width:100%;display:flex;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-sm);padding:0 var(--gravity-spacing-lg)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row{width:100%;display:flex;flex-direction:row;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card .action-card-container,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card .action-card-container{padding:0;width:100%;min-width:auto}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list{gap:0;display:grid;border-top:1px solid var(--surface-secondary)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info{display:flex;flex-direction:row;align-items:center;align-self:stretch;justify-content:center;gap:var(--gravity-spacing-xs);padding-top:var(--gravity-spacing-sm)}.gravity-menu.md .menu-footer-mobile .footer-content .secondary-actions .action-cards.has-overflow .action-cards-row ::ng-deep gravity-action-card{width:calc((100% - 3 * var(--gravity-spacing-xs)) / 4);flex:0 0 calc((100% - 3 * var(--gravity-spacing-xs)) / 4)}.gravity-menu.sm{min-width:320px}.gravity-menu.sm .menu-footer-mobile .footer-content .secondary-actions{padding:0!important}.gravity-menu.sm .menu-footer-mobile .footer-content .secondary-actions .action-cards.has-overflow .action-cards-row ::ng-deep gravity-action-card{width:calc((100% - var(--gravity-spacing-xs)) / 2);flex:0 0 calc((100% - var(--gravity-spacing-xs)) / 2)}\n"], dependencies: [{ kind: "component", type: SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "svgClass", "class", "viewBox", "svgAriaLabel", "onSVGLoaded", "svgStyle"] }, { kind: "component", type: GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: GravityBadgeComponent, selector: "gravity-badge", inputs: ["size", "text", "number", "cypressTag", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: GravityTooltipDirective, selector: "[tooltip]", inputs: ["options", "tooltip", "placement", "autoPlacement", "content-type", "contentType", "hide-delay-mobile", "hideDelayTouchscreen", "z-index", "zIndex", "animation-duration", "animationDuration", "trigger", "tooltip-class", "tooltipClass", "display", "display-mobile", "displayTouchscreen", "shadow", "theme", "offset", "width", "persistent", "max-width", "maxWidth", "id", "show-delay", "showDelay", "hide-delay", "hideDelay", "hideDelayAfterClick", "pointerEvents", "position"], outputs: ["events"], exportAs: ["tooltip"] }, { kind: "component", type: GravityTooltipContainerComponent, selector: "gravity-tooltip-container", inputs: ["cypressTag", "tooltipBanner", "tooltipSimple"], outputs: ["closeBanner", "actionButton"] }, { kind: "component", type: GravityActionCardComponent, selector: "gravity-action-card", inputs: ["cypressTag", "label", "iconName", "fullWidth", "type", "state", "orientation"], outputs: ["clicked"] }, { kind: "component", type: GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "fullWidth", "isLoading", "showContent", "iconName", "size", "iconPosition", "customState", "type"] }] }); }
8374
8393
  }
8375
8394
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: GravityMenuComponent, decorators: [{
8376
8395
  type: Component,
8377
- args: [{ selector: 'gravity-menu', standalone: true, imports: [SvgIconComponent, GravityIconComponent, RouterLink, GravityBadgeComponent, NgClass, GravityTooltipDirective, GravityTooltipContainerComponent, GravityActionCardComponent, GravityButtonComponent], template: "<div class=\"gravity-menu {{size}}\" [class.open]=\"isOpen\" [class.closing]=\"closing\"\n [class.collapsed]=\"collapsedMode && (size === 'xl' || size === 'lg')\">\n\n <div class=\"menu-header\">\n @if (logoUrl?.main_logo_url) {\n <svg-icon [src]=\"(collapsedMode && logoUrl.collapsed_logo_url) ? logoUrl.collapsed_logo_url : logoUrl.main_logo_url\"/>\n }\n\n @if ((size === 'md' || size === 'sm') && showCloseButton) {\n <gravity-icon [iconSize]=\"'lg-24'\" [iconName]=\"'unsuccess'\" (click)=\"closeMenu()\"/>\n }\n\n @if (collapsable && (size === 'xl' || size === 'lg')) {\n <div class=\"collapse-button\" (click)=\"collapseMenu()\">\n <gravity-icon [style.--icon-color]=\"'var(--bg-button-active-primary)'\" [iconSize]=\"'sm-12'\"\n [iconName]=\"collapsedMode ? 'arrow-right' : 'arrow-left'\"/>\n </div>\n }\n </div>\n\n <div class=\"menu-content\">\n <section #menuBody class=\"menu-body\" [class.sub-menu]=\"visibleSubMenu\">\n <div class=\"menu-section\">\n @for (header of items; track header; let i = $index) {\n <div class=\"levels\">\n <section class=\"first-level\" [class.selected]=\"isHeaderSelected(header)\"\n [routerLink]=\"header.link || undefined\" (click)=\"toggleMenuHeader(header, i)\"\n [class.is-open]=\"!header.collapsed\" [class.empty]=\"header.headerOptions?.length < 1\"\n [style.--expanded-margin]=\"header.headerOptions?.length > 0 ? (38 + (34 * header.headerOptions?.length)) + 'px' : '0'\">\n <p class=\"hr-label sm-regular\">\n @if (header.icon !== '') {\n <gravity-icon [style.--icon-color]=\"'var(--option-icon-color)'\" [iconName]=\"header.icon\" [iconSize]=\"'md-16'\"/>\n }\n @if (hasOptionBadge(header) && (size === 'xl' || size === 'lg')) {\n <gravity-badge class=\"badge\"\n [class.collapsed]=\"collapsedMode\" [size]=\"'sm'\" [type]=\"'neutral'\"></gravity-badge>\n }\n {{ header.text }}\n </p>\n @if (!collapsedMode) {\n <div>\n @if (header.headerOptions?.length > 0) {\n <gravity-icon [iconSize]=\"'sm-12'\" [iconName]=\"header.collapsed ? 'arrow-down' : 'arrow-up'\"/>\n }\n </div>\n }\n </section>\n @if (!header.collapsed && header.headerOptions?.length > 0) {\n <section class=\"second-level\"\n [@fadeSlide] [style.--submenu-offset]=\"((156 - scrollPosition) + (78 * i)) + 'px'\"\n [ngClass]=\"collapsedMode ? 'elevation-xs' : ''\">\n <div class=\"options-list\" [class.collapsed]=\"collapsedMode\">\n @for (option of header.headerOptions; track option) {\n <div class=\"option\" [attr.data-cy]=\"option.cypress_tag\" [class.selected]=\"option === selectedOption\">\n <div class=\"line\"\n [class.selected]=\"(size === 'xl' || size == 'lg') && option === selectedOption\"></div>\n <div class=\"option-text\"\n [ngClass]=\"(size === 'sm' || size === 'md') ? 'hr-label md-regular' : 'hr-label sm-regular'\"\n [class.disabled]=\"option.disabled\" [class.selected]=\"option === selectedOption\"\n [routerLink]=\"option.link || undefined\" (click)=\"selectOption(option, header)\">\n {{ option.text }}\n @if (option.badge_text && (size === 'xl' || size === 'lg')) {\n <gravity-badge\n [text]=\"option.badge_text\" [type]=\"'neutral'\" [size]=\"'sm'\"></gravity-badge>\n }\n </div>\n </div>\n }\n </div>\n </section>\n }\n </div>\n }\n </div>\n </section>\n\n @if ((secondaryActions || userInfo || showControlPanelButton) && (size === 'xl' || size === 'lg')) {\n <section class=\"menu-footer elevation-xs\" [class.collapsed-mode]=\"collapsedMode\">\n @if (showControlPanelButton) {\n <div class=\"control-panel-button\">\n <gravity-button [size]=\"'sm'\" [type]=\"'primary'\" [fullWidth]=\"true\" [iconName]=\"'arrow-right'\" [iconPosition]=\"'right'\" (click)=\"onSwitchControlPanel()\">\n @if (!collapsedMode) { {{ getSwitchControlPanelText(collapsedMode) }} }\n </gravity-button>\n @if (collapsedMode) {\n <span class=\"hr-label sm-regular\">{{getSwitchControlPanelText(collapsedMode)}} </span>\n }\n </div>\n }\n <section class=\"footer-content\">\n @if (secondaryActions) {\n <div class=\"secondary-actions\">\n @for (action of secondaryActions; track action) {\n <div class=\"action\"\n (click)=\"action.callback(); clearSelection(action.clear_selection)\">\n @if (action.icon !== '') {\n <gravity-icon [iconName]=\"action.icon\" [iconSize]=\"'md-16'\"/>\n }\n <span class=\"hr-label sm-regular\">{{ action.text }}</span>\n </div>\n }\n </div>\n }\n @if (secondaryActions && userInfo) {\n <hr class=\"separator-line\">\n }\n @if (userInfo) {\n <div class=\"user-info-list\">\n @for (userInfo of userInfo; track userInfo) {\n <div class=\"user-info\" [tooltip]=\"collapsedMode ? tooltipUserInfoTemplate : null\" [contentType]=\"'template'\" [placement]=\"'right'\">\n @if (userInfo.icon !== '') {\n <gravity-icon class=\"icon\" [iconName]=\"userInfo.icon\" [iconSize]=\"'sm-12'\"/>\n }\n @if (!collapsedMode) {\n <span class=\"hr-label sm-regular\">{{ userInfo.info }}</span>\n }\n <ng-template #tooltipUserInfoTemplate>\n <gravity-tooltip-container [tooltipSimple]=\"{text: userInfo.info}\"/>\n </ng-template>\n </div>\n }\n </div>\n }\n\n @if (systemTime) {\n <div class=\"system-time\" [tooltip]=\"tooltipSystemTimeTemplate\" [contentType]=\"'template'\" [placement]=\"'top'\">\n <gravity-icon [iconName]=\"'clock'\" [iconSize]=\"'md-16'\" />\n <span class=\"hr-label sm-regular\" >\n {{ collapsedMode ? systemTime.replace(' ', '\\n') : systemTime }}\n </span>\n </div>\n\n <ng-template #tooltipSystemTimeTemplate>\n <gravity-tooltip-container [tooltipSimple]=\"{text: systemTimeText}\"/>\n </ng-template>\n }\n </section>\n </section>\n }\n\n <!-- - - - - - - - - - - Mobile Resolutions - - - - - - - - - - -->\n\n @if ((cardButtons || showControlPanelButton || userInfo) && (size === 'md' || size === 'sm')) {\n <section class=\"menu-footer-mobile\">\n <section class=\"footer-content\">\n @if (cardButtons || showControlPanelButton) {\n <div class=\"secondary-actions\">\n <div class=\"action-cards\" [class.has-overflow]=\"isMobileCardsOverflow()\">\n @for (row of getCardButtonsRows(); track row) {\n <div class=\"action-cards-row\">\n @for (button of row; track button) {\n <gravity-action-card\n [orientation]=\"'vrt-center'\"\n [type]=\"button.type || 'secondary'\"\n [iconName]=\"button.icon\" [label]=\"button.text\"\n (clicked)=\"button.callback(); clearSelection(button.clear_selection); selected.emit()\"/>\n }\n </div>\n }\n </div>\n @if (mainFooterAction) {\n <gravity-button [size]=\"'md'\" [type]=\"'tertiary'\" [fullWidth]=\"size === 'sm' || size === 'md'\"\n [iconName]=\"mainFooterAction.icon\" [iconPosition]=\"'left'\" (click)=\"mainFooterAction.callback()\">\n {{ mainFooterAction.text }}\n </gravity-button>\n }\n </div>\n }\n @if (userInfo) {\n <div class=\"user-info-list\">\n @for (userInfo of userInfo; track userInfo) {\n <div class=\"user-info\">\n <gravity-icon [iconSize]=\"'sm-12'\" [iconName]=\"userInfo.icon\"/>\n <span class=\"hr-label sm-regular\">{{ userInfo.info }}</span>\n </div>\n }\n </div>\n }\n </section>\n </section>\n }\n </div>\n</div>\n\n", styles: [".scrollbar-sm::-webkit-scrollbar{width:4px;height:4px}.scrollbar-sm::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.scrollbar-md::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar{width:8px;height:8px}.scrollbar-md::-webkit-scrollbar-track,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb:hover,.gravity-menu .menu-content .menu-body.has-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.gravity-menu{height:100%;width:266px;-webkit-user-select:none;user-select:none;display:inline-flex;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-md);transition:width .28s ease,gap .28s ease}.gravity-menu .menu-header{width:100%;display:flex;position:relative;align-items:center;padding:24px 26px 0 24px;justify-content:space-between}.gravity-menu .menu-header gravity-icon{cursor:pointer}.gravity-menu .menu-header svg{width:60px;height:24px;display:flex}.gravity-menu .menu-header .collapse-button{right:26px;display:flex;position:absolute;background:var(--surface-primary);padding:var(--gravity-spacing-xxs);border-radius:6.25rem}.gravity-menu .menu-content{width:100%;height:100%;display:flex;overflow:hidden;flex-direction:column;justify-content:space-between}.gravity-menu .menu-content .menu-body{display:flex;overflow-y:auto;flex-direction:column;align-items:flex-start;padding:0 18px 12px 24px}.gravity-menu .menu-content .menu-body:not(.has-scroll),.gravity-menu .menu-content .menu-body.has-scroll:not(:hover){margin-right:8px;scrollbar-width:none}.gravity-menu .menu-content .menu-body:not(.has-scroll)::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:not(:hover)::-webkit-scrollbar{width:0;height:0}.gravity-menu .menu-content .menu-body.has-scroll:hover{margin-right:0}.gravity-menu .menu-content .menu-body.sub-menu:hover{margin-right:8px!important}.gravity-menu .menu-content .menu-body .menu-section{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-body .menu-section .levels{width:100%;color:var(--on-bg-menu-button-active-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level{width:100%;display:flex;cursor:pointer;position:relative;align-items:center;justify-content:space-between;gap:var(--gravity-spacing-xs);height:var(--gravity-spacing-md);border-left:4px solid transparent;padding:0 var(--gravity-spacing-xxs);--option-icon-color: var(--on-bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level.is-open p{text-decoration:underline}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level.selected{border-left:4px solid var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level p{display:flex;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level p .badge{position:absolute;right:20px;top:8px}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level:hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level{display:flex;align-self:stretch;align-items:flex-start;justify-content:center;padding-left:var(--gravity-spacing-xxs);transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list{flex:1 0 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line{height:100%;margin-left:var(--gravity-spacing-xs);border-left:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line.selected{margin:0 -1px 0 7px;border-left:3px solid var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option{width:100%;height:34px;display:flex;align-items:center;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text{flex:1 0 0;height:24px;display:flex;cursor:pointer;align-items:center;justify-content:space-between;padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text:not(.disabled):not(.selected):hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.disabled{cursor:default;pointer-events:none;color:var(--on-bg-menu-button-disabled-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.selected{color:var(--on-bg-menu-button-pressed-primary);background-color:var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text .badge{height:14px;display:flex;border-radius:2.5px;align-items:flex-end;gap:var(--gravity-spacing-xs);padding:var(--gravity-spacing-xxs);background:var(--bg-menu-badge-button);color:var(--on-bg-notification-badge-button)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text .badge span{line-height:6px}.gravity-menu .menu-content .menu-footer{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:16px 22px 20px 24px;gap:var(--gravity-spacing-md);width:calc(100% - var(--gravity-spacing-xs));box-shadow:-8px 1px 4px rgba(var(--shadow-primary-rgba),var(--shadow-opacity))}.gravity-menu .menu-content .menu-footer .control-panel-button{width:100%;display:flex;align-items:center;flex-direction:column;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .control-panel-button gravity-button{width:100%}.gravity-menu .menu-content .menu-footer.collapsed-mode{align-items:center}.gravity-menu .menu-content .menu-footer.collapsed-mode .control-panel-button gravity-button{width:36px;height:32px}.gravity-menu .menu-content .menu-footer .footer-content{width:234px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action{width:100%;height:24px;display:flex;align-items:center;gap:var(--gravity-spacing-xs);padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action:hover{cursor:pointer;color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-footer .footer-content hr{margin:0;width:100%;border:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list{display:grid;align-items:center;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list .user-info{display:flex;padding:1px 2px;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .footer-content .system-time{display:flex;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .footer-content .system-time span{white-space:pre-line}.gravity-menu.collapsed{width:100px;position:relative;gap:var(--gravity-spacing-lg)}.gravity-menu.collapsed .menu-header{padding:24px 0 0;justify-content:center}.gravity-menu.collapsed .menu-header .collapse-button{right:-10px}.gravity-menu.collapsed .menu-content .menu-body{padding:0}.gravity-menu.collapsed .menu-content .menu-body.sub-menu{overflow:hidden!important}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level{height:70px!important;justify-content:center!important}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level:not(.empty).is-open{margin-bottom:var(--expanded-margin);background-color:var(--surface-primary);border-left:4px solid var(--on-bg-menu-button-disabled-primary)}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level:not(.empty).is-open.selected{background-color:var(--bg-button-active-tertiary);border-left:4px solid var(--bg-menu-button-pressed-primary)}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level p{width:100%;display:flex;text-align:center;position:relative;align-items:center;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-xxs);padding:var(--gravity-spacing-xs) var(--gravity-spacing-xxs)}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level p .badge.collapsed{top:3px;right:26px}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .second-level{min-width:220px;position:absolute;width:max-content;z-index:1;top:var(--submenu-offset, 0px);border-radius:.3125rem;padding:var(--gravity-spacing-xs);background:var(--surface-secondary);border:1px solid var(--surface-primary);background-color:var(--surface-secondary)}.gravity-menu.collapsed .menu-content .menu-footer{width:100%;padding:16px 8px 20px}.gravity-menu.collapsed .menu-content .menu-footer .footer-content{width:84px}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .secondary-actions{gap:var(--gravity-spacing-sm)}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .secondary-actions .action{height:auto;flex-direction:column;gap:var(--gravity-spacing-xxs);padding:var(--gravity-spacing-xs) var(--gravity-spacing-xxs)}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .user-info-list{width:100%;justify-items:center}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .user-info-list .user-info{padding:0 var(--gravity-spacing-xs)}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .system-time{width:100%;display:flex;text-align:center;align-items:center;flex-direction:column;gap:var(--gravity-spacing-xxs);padding:var(--gravity-spacing-xs) var(--gravity-spacing-xxs)}.gravity-menu.md,.gravity-menu.sm{gap:0;width:100%;max-width:100%;position:fixed;min-width:577px;transition:none;transform:translate(101%);background-color:var(--bg-menu-mobile-primary)}.gravity-menu.md.open,.gravity-menu.sm.open{transform:translate(0);transition:transform .165s ease-in-out}.gravity-menu.md:not(.open),.gravity-menu.sm:not(.open){transform:translate(101%)}.gravity-menu.md.closing,.gravity-menu.sm.closing{transition:transform .165s ease-in-out}.gravity-menu.md .menu-logo svg,.gravity-menu.sm .menu-logo svg{width:70px;height:28px}.gravity-menu.md .menu-content,.gravity-menu.sm .menu-content{margin-top:var(--gravity-spacing-md)}.gravity-menu.md .menu-content .menu-body,.gravity-menu.sm .menu-content .menu-body{padding:0 18px 0 24px}.gravity-menu.md .menu-content .menu-body .menu-section .levels,.gravity-menu.sm .menu-content .menu-body .menu-section .levels{display:flex;flex-direction:column;gap:var(--gravity-spacing-sm);border-radius:.3125rem;padding:var(--gravity-spacing-sm);background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level{height:20px;background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level:hover{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option{height:45px}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text:hover,.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.selected{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected{background-color:var(--bg-menu-mobile-button-pressed-primary)}.gravity-menu.md .menu-content .menu-footer-mobile,.gravity-menu.sm .menu-content .menu-footer-mobile{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:flex-end;gap:var(--gravity-spacing-sm);padding:var(--gravity-spacing-md)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content{width:100%;display:flex;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-sm);padding:0 var(--gravity-spacing-lg)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row{width:100%;display:flex;flex-direction:row;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card .action-card-container,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card .action-card-container{padding:0;width:100%;min-width:auto}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list{gap:0;display:grid;border-top:1px solid var(--surface-secondary)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info{display:flex;flex-direction:row;align-items:center;align-self:stretch;justify-content:center;gap:var(--gravity-spacing-xs);padding-top:var(--gravity-spacing-sm)}.gravity-menu.md .menu-footer-mobile .footer-content .secondary-actions .action-cards.has-overflow .action-cards-row ::ng-deep gravity-action-card{width:calc((100% - 3 * var(--gravity-spacing-xs)) / 4);flex:0 0 calc((100% - 3 * var(--gravity-spacing-xs)) / 4)}.gravity-menu.sm{min-width:320px}.gravity-menu.sm .menu-footer-mobile .footer-content .secondary-actions{padding:0!important}.gravity-menu.sm .menu-footer-mobile .footer-content .secondary-actions .action-cards.has-overflow .action-cards-row ::ng-deep gravity-action-card{width:calc((100% - var(--gravity-spacing-xs)) / 2);flex:0 0 calc((100% - var(--gravity-spacing-xs)) / 2)}\n"] }]
8396
+ args: [{ selector: 'gravity-menu', standalone: true, imports: [SvgIconComponent, GravityIconComponent, RouterLink, GravityBadgeComponent, NgClass, GravityTooltipDirective, GravityTooltipContainerComponent, GravityActionCardComponent, GravityButtonComponent], template: "<div class=\"gravity-menu {{size}}\" [class.open]=\"isOpen\" [class.closing]=\"closing\"\n [class.collapsed]=\"collapsedMode && (size === 'xl' || size === 'lg')\">\n\n <div class=\"menu-header\">\n @if (logoUrl?.main_logo_url) {\n <svg-icon [src]=\"(collapsedMode && logoUrl.collapsed_logo_url) ? logoUrl.collapsed_logo_url : logoUrl.main_logo_url\"/>\n }\n\n @if ((size === 'md' || size === 'sm') && showCloseButton) {\n <gravity-icon [iconSize]=\"'lg-24'\" [iconName]=\"'unsuccess'\" (click)=\"closeMenu()\"/>\n }\n\n @if (collapsable && (size === 'xl' || size === 'lg')) {\n <div class=\"collapse-button\" (click)=\"collapseMenu()\">\n <gravity-icon [style.--icon-color]=\"'var(--bg-button-active-primary)'\" [iconSize]=\"'sm-12'\"\n [iconName]=\"collapsedMode ? 'arrow-right' : 'arrow-left'\"/>\n </div>\n }\n </div>\n\n <div class=\"menu-content\">\n <section #menuBody class=\"menu-body\" [class.sub-menu]=\"visibleSubMenu\">\n <div class=\"menu-section\">\n @for (header of items; track header; let i = $index) {\n <div class=\"levels\">\n <section class=\"first-level\" [class.selected]=\"isHeaderSelected(header)\"\n [routerLink]=\"header.link || undefined\" (click)=\"toggleMenuHeader(header, i)\"\n [class.is-open]=\"!header.collapsed\" [class.empty]=\"header.headerOptions?.length < 1\"\n [style.--expanded-margin]=\"header.headerOptions?.length > 0 ? (38 + (34 * header.headerOptions?.length)) + 'px' : '0'\">\n <p class=\"hr-label sm-regular\">\n @if (header.icon !== '') {\n <gravity-icon [style.--icon-color]=\"'var(--option-icon-color)'\" [iconName]=\"header.icon\" [iconSize]=\"'md-16'\"/>\n }\n @if (hasOptionBadge(header) && (size === 'xl' || size === 'lg')) {\n <gravity-badge class=\"badge\"\n [class.collapsed]=\"collapsedMode\" [size]=\"'sm'\" [type]=\"'neutral'\"></gravity-badge>\n }\n {{ header.text }}\n </p>\n @if (!collapsedMode) {\n <div>\n @if (header.headerOptions?.length > 0) {\n <gravity-icon [iconSize]=\"'sm-12'\" [iconName]=\"header.collapsed ? 'arrow-down' : 'arrow-up'\"/>\n }\n </div>\n }\n </section>\n @if (!header.collapsed && header.headerOptions?.length > 0) {\n <section class=\"second-level\"\n [@fadeSlide] [style.--submenu-offset]=\"((156 - scrollPosition) + (78 * i)) + 'px'\"\n [ngClass]=\"collapsedMode ? 'elevation-xs' : ''\">\n <div class=\"options-list\" [class.collapsed]=\"collapsedMode\">\n @for (option of header.headerOptions; track option) {\n <div class=\"option\" [attr.data-cy]=\"option.cypress_tag\" [class.selected]=\"option === selectedOption\">\n <div class=\"line\"\n [class.selected]=\"(size === 'xl' || size == 'lg') && option === selectedOption\"></div>\n <div class=\"option-text\"\n [ngClass]=\"(size === 'sm' || size === 'md') ? 'hr-label md-regular' : 'hr-label sm-regular'\"\n [class.disabled]=\"option.disabled\" [class.selected]=\"option === selectedOption\"\n [routerLink]=\"option.link || undefined\" (click)=\"selectOption(option, header)\">\n {{ option.text }}\n @if (option.badge_text && (size === 'xl' || size === 'lg')) {\n <gravity-badge\n [text]=\"option.badge_text\" [type]=\"'neutral'\" [size]=\"'sm'\"></gravity-badge>\n }\n </div>\n </div>\n }\n </div>\n </section>\n }\n </div>\n }\n </div>\n </section>\n\n @if ((secondaryActions || userInfo || showControlPanelButton) && (size === 'xl' || size === 'lg')) {\n <section class=\"menu-footer elevation-xs\" [class.collapsed-mode]=\"collapsedMode\">\n @if (showControlPanelButton) {\n <div class=\"control-panel-button\">\n <gravity-button [size]=\"'sm'\" [type]=\"'primary'\" [fullWidth]=\"true\" [iconName]=\"'arrow-right'\" [iconPosition]=\"'right'\" (click)=\"onSwitchControlPanel()\">\n @if (!collapsedMode) { {{ getSwitchControlPanelText(collapsedMode) }} }\n </gravity-button>\n @if (collapsedMode) {\n <span class=\"hr-label sm-regular\">{{getSwitchControlPanelText(collapsedMode)}} </span>\n }\n </div>\n }\n <section class=\"footer-content\">\n @if (secondaryActions) {\n <div class=\"secondary-actions\">\n @for (action of secondaryActions; track action) {\n <div class=\"action\"\n (click)=\"action.callback(); clearSelection(action.clear_selection)\">\n @if (action.icon !== '') {\n <gravity-icon [iconName]=\"action.icon\" [iconSize]=\"'md-16'\"/>\n }\n <span class=\"hr-label sm-regular\">{{ action.text }}</span>\n </div>\n }\n </div>\n }\n @if (secondaryActions && userInfo) {\n <hr class=\"separator-line\">\n }\n @if (userInfo) {\n <div class=\"user-info-list\">\n @for (userInfo of userInfo; track userInfo) {\n <div class=\"user-info\" [tooltip]=\"collapsedMode ? tooltipUserInfoTemplate : null\" [contentType]=\"'template'\" [placement]=\"'right'\">\n @if (userInfo.icon !== '') {\n <gravity-icon class=\"icon\" [iconName]=\"userInfo.icon\" [iconSize]=\"'sm-12'\"/>\n }\n @if (!collapsedMode) {\n <span class=\"hr-label sm-regular\">{{ userInfo.info }}</span>\n }\n <ng-template #tooltipUserInfoTemplate>\n <gravity-tooltip-container [tooltipSimple]=\"{text: userInfo.info}\"/>\n </ng-template>\n </div>\n }\n </div>\n }\n\n @if (systemTime) {\n <div class=\"system-time\" [tooltip]=\"tooltipSystemTimeTemplate\" [contentType]=\"'template'\" [placement]=\"'top'\">\n <gravity-icon [iconName]=\"'clock'\" [iconSize]=\"'md-16'\" />\n <span class=\"hr-label sm-regular\" >\n {{ collapsedMode ? systemTime.replace(' ', '\\n') : systemTime }}\n </span>\n </div>\n\n <ng-template #tooltipSystemTimeTemplate>\n <gravity-tooltip-container [tooltipSimple]=\"{text: systemTimeText}\"/>\n </ng-template>\n }\n </section>\n </section>\n }\n\n <!-- - - - - - - - - - - Mobile Resolutions - - - - - - - - - - -->\n\n @if ((cardButtons || showControlPanelButton || userInfo) && (size === 'md' || size === 'sm')) {\n <section class=\"menu-footer-mobile\">\n <section class=\"footer-content\">\n @if (cardButtons || showControlPanelButton) {\n <div class=\"secondary-actions\">\n <div class=\"action-cards\" [class.has-overflow]=\"isMobileCardsOverflow()\">\n @for (row of getCardButtonsRows(); track row) {\n <div class=\"action-cards-row\">\n @for (button of row; track button) {\n <gravity-action-card\n [orientation]=\"'vrt-center'\"\n [type]=\"button.type || 'secondary'\"\n [iconName]=\"button.icon\" [label]=\"button.text\"\n (clicked)=\"button.callback(); clearSelection(button.clear_selection); selected.emit()\"/>\n }\n </div>\n }\n </div>\n @if (mainFooterAction) {\n <gravity-button [size]=\"'md'\" [type]=\"'tertiary'\" [fullWidth]=\"size === 'sm' || size === 'md'\"\n [iconName]=\"mainFooterAction.icon\" [iconPosition]=\"'left'\" (click)=\"mainFooterAction.callback()\">\n {{ mainFooterAction.text }}\n </gravity-button>\n }\n </div>\n }\n @if (userInfo) {\n <div class=\"user-info-list\">\n @for (userInfo of userInfo; track userInfo) {\n <div class=\"user-info\">\n <gravity-icon [iconSize]=\"'sm-12'\" [iconName]=\"userInfo.icon\"/>\n <span class=\"hr-label sm-regular\">{{ userInfo.info }}</span>\n </div>\n }\n </div>\n }\n </section>\n </section>\n }\n </div>\n</div>\n\n", styles: [".scrollbar-sm::-webkit-scrollbar{width:4px;height:4px}.scrollbar-sm::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-sm::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.scrollbar-md::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar{width:8px;height:8px}.scrollbar-md::-webkit-scrollbar-track,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-track{background-color:var(--surface-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb,.gravity-menu .menu-content .menu-body.has-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--placeholder-empty-enabled-primary);border-radius:5px}.scrollbar-md::-webkit-scrollbar-thumb:hover,.gravity-menu .menu-content .menu-body.has-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--line-empty-enabled-primary)}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.gravity-menu{height:100%;width:266px;-webkit-user-select:none;user-select:none;display:inline-flex;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-md);transition:width .28s ease,gap .28s ease}.gravity-menu .menu-header{width:100%;display:flex;position:relative;align-items:center;padding:24px 26px 0 24px;justify-content:space-between}.gravity-menu .menu-header gravity-icon{cursor:pointer}.gravity-menu .menu-header svg{width:60px;height:24px;display:flex}.gravity-menu .menu-header .collapse-button{right:26px;display:flex;position:absolute;background:var(--surface-primary);padding:var(--gravity-spacing-xxs);border-radius:6.25rem}.gravity-menu .menu-content{width:100%;height:100%;display:flex;overflow:hidden;flex-direction:column;justify-content:space-between}.gravity-menu .menu-content .menu-body{display:flex;overflow-y:auto;flex-direction:column;align-items:flex-start;padding:0 18px 12px 24px}.gravity-menu .menu-content .menu-body:not(.has-scroll),.gravity-menu .menu-content .menu-body.has-scroll:not(:hover){margin-right:8px;scrollbar-width:none}.gravity-menu .menu-content .menu-body:not(.has-scroll)::-webkit-scrollbar,.gravity-menu .menu-content .menu-body.has-scroll:not(:hover)::-webkit-scrollbar{width:0;height:0}.gravity-menu .menu-content .menu-body.has-scroll:hover{margin-right:0}.gravity-menu .menu-content .menu-body.sub-menu:hover{margin-right:8px!important}.gravity-menu .menu-content .menu-body .menu-section{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-body .menu-section .levels{width:100%;color:var(--on-bg-menu-button-active-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level{width:100%;display:flex;cursor:pointer;position:relative;align-items:center;justify-content:space-between;gap:var(--gravity-spacing-xs);height:var(--gravity-spacing-md);border-left:4px solid transparent;padding:0 var(--gravity-spacing-xxs);--option-icon-color: var(--on-bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level.is-open p{text-decoration:underline}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level.selected{border-left:4px solid var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level p{display:flex;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level p .badge{position:absolute;right:20px;top:8px}.gravity-menu .menu-content .menu-body .menu-section .levels .first-level:hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level{display:flex;align-self:stretch;align-items:flex-start;justify-content:center;padding-left:var(--gravity-spacing-xxs);transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list{flex:1 0 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line{height:100%;margin-left:var(--gravity-spacing-xs);border-left:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .line.selected{margin:0 -1px 0 7px;border-left:3px solid var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option{width:100%;height:34px;display:flex;align-items:center;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text{flex:1 0 0;height:24px;display:flex;cursor:pointer;align-items:center;justify-content:space-between;padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text:not(.disabled):not(.selected):hover{color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.disabled{cursor:default;pointer-events:none;color:var(--on-bg-menu-button-disabled-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.selected{color:var(--on-bg-menu-button-pressed-primary);background-color:var(--bg-menu-button-pressed-primary)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text .badge{height:14px;display:flex;border-radius:2.5px;align-items:flex-end;gap:var(--gravity-spacing-xs);padding:var(--gravity-spacing-xxs);background:var(--bg-menu-badge-button);color:var(--on-bg-notification-badge-button)}.gravity-menu .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text .badge span{line-height:6px}.gravity-menu .menu-content .menu-footer{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:16px 22px 20px 24px;gap:var(--gravity-spacing-md);width:calc(100% - var(--gravity-spacing-xs));box-shadow:-8px 1px 4px rgba(var(--shadow-primary-rgba),var(--shadow-opacity))}.gravity-menu .menu-content .menu-footer .control-panel-button{width:100%;display:flex;align-items:center;flex-direction:column;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .control-panel-button gravity-button{width:100%}.gravity-menu .menu-content .menu-footer.collapsed-mode{align-items:center}.gravity-menu .menu-content .menu-footer.collapsed-mode .control-panel-button gravity-button{width:36px;height:32px}.gravity-menu .menu-content .menu-footer .footer-content{width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action{width:100%;height:24px;display:flex;align-items:center;gap:var(--gravity-spacing-xs);padding:0 var(--gravity-spacing-xxs)}.gravity-menu .menu-content .menu-footer .footer-content .secondary-actions .action:hover{cursor:pointer;color:var(--on-bg-menu-button-hover-primary);background-color:var(--bg-menu-button-hover-primary)}.gravity-menu .menu-content .menu-footer .footer-content hr{margin:0;width:100%;border:1px solid var(--divider-menu-active-primary)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list{display:grid;align-items:center;gap:var(--gravity-spacing-sm)}.gravity-menu .menu-content .menu-footer .footer-content .user-info-list .user-info{display:flex;padding:1px 2px;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .footer-content .system-time{display:flex;align-items:center;gap:var(--gravity-spacing-xs)}.gravity-menu .menu-content .menu-footer .footer-content .system-time span{white-space:pre-line}.gravity-menu.collapsed{width:100px;position:relative;gap:var(--gravity-spacing-lg)}.gravity-menu.collapsed .menu-header{padding:24px 0 0;justify-content:center}.gravity-menu.collapsed .menu-header .collapse-button{right:-10px}.gravity-menu.collapsed .menu-content .menu-body{padding:0}.gravity-menu.collapsed .menu-content .menu-body.sub-menu{overflow:hidden!important}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level{height:70px!important;justify-content:center!important}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level:not(.empty).is-open{margin-bottom:var(--expanded-margin);background-color:var(--surface-primary);border-left:4px solid var(--on-bg-menu-button-disabled-primary)}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level:not(.empty).is-open.selected{background-color:var(--bg-button-active-tertiary);border-left:4px solid var(--bg-menu-button-pressed-primary)}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level p{width:100%;display:flex;text-align:center;position:relative;align-items:center;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-xxs);padding:var(--gravity-spacing-xs) var(--gravity-spacing-xxs)}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .first-level p .badge.collapsed{top:3px;right:26px}.gravity-menu.collapsed .menu-content .menu-body .menu-section .levels .second-level{min-width:220px;position:absolute;width:max-content;z-index:1;top:var(--submenu-offset, 0px);border-radius:.3125rem;padding:var(--gravity-spacing-xs);background:var(--surface-secondary);border:1px solid var(--surface-primary);background-color:var(--surface-secondary)}.gravity-menu.collapsed .menu-content .menu-footer{width:100%;padding:16px 8px 20px}.gravity-menu.collapsed .menu-content .menu-footer .footer-content{width:84px}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .secondary-actions{gap:var(--gravity-spacing-sm)}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .secondary-actions .action{height:auto;flex-direction:column;gap:var(--gravity-spacing-xxs);padding:var(--gravity-spacing-xs) var(--gravity-spacing-xxs)}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .user-info-list{width:100%;justify-items:center}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .user-info-list .user-info{padding:0 var(--gravity-spacing-xs)}.gravity-menu.collapsed .menu-content .menu-footer .footer-content .system-time{width:100%;display:flex;text-align:center;align-items:center;flex-direction:column;gap:var(--gravity-spacing-xxs);padding:var(--gravity-spacing-xs) var(--gravity-spacing-xxs)}.gravity-menu.md,.gravity-menu.sm{gap:0;width:100%;max-width:100%;position:fixed;min-width:577px;transition:none;transform:translate(101%);background-color:var(--bg-menu-mobile-primary)}.gravity-menu.md.open,.gravity-menu.sm.open{transform:translate(0);transition:transform .165s ease-in-out}.gravity-menu.md:not(.open),.gravity-menu.sm:not(.open){transform:translate(101%)}.gravity-menu.md.closing,.gravity-menu.sm.closing{transition:transform .165s ease-in-out}.gravity-menu.md .menu-logo svg,.gravity-menu.sm .menu-logo svg{width:70px;height:28px}.gravity-menu.md .menu-content,.gravity-menu.sm .menu-content{margin-top:var(--gravity-spacing-md)}.gravity-menu.md .menu-content .menu-body,.gravity-menu.sm .menu-content .menu-body{padding:0 18px 0 24px}.gravity-menu.md .menu-content .menu-body .menu-section .levels,.gravity-menu.sm .menu-content .menu-body .menu-section .levels{display:flex;flex-direction:column;gap:var(--gravity-spacing-sm);border-radius:.3125rem;padding:var(--gravity-spacing-sm);background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level{height:20px;background-color:var(--bg-menu-mobile-card-primary)}.gravity-menu.md .menu-content .menu-body .menu-section .levels .first-level:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .first-level:hover{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option{height:45px}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text:hover,.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text:hover,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option .option-text.selected{background:none!important}.gravity-menu.md .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected,.gravity-menu.sm .menu-content .menu-body .menu-section .levels .second-level .options-list .option.selected{background-color:var(--bg-menu-mobile-button-pressed-primary)}.gravity-menu.md .menu-content .menu-footer-mobile,.gravity-menu.sm .menu-content .menu-footer-mobile{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:flex-end;gap:var(--gravity-spacing-sm);padding:var(--gravity-spacing-md)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content{width:100%;display:flex;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-sm);padding:0 var(--gravity-spacing-lg)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards{display:flex;align-self:stretch;flex-direction:column;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row{width:100%;display:flex;flex-direction:row;gap:var(--gravity-spacing-xs)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card .action-card-container,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions .action-cards .action-cards-row ::ng-deep gravity-action-card .action-card-container{padding:0;width:100%;min-width:auto}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .secondary-actions gravity-button{width:100%}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list{gap:0;display:grid;border-top:1px solid var(--surface-secondary)}.gravity-menu.md .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info,.gravity-menu.sm .menu-content .menu-footer-mobile .footer-content .user-info-list .user-info{display:flex;flex-direction:row;align-items:center;align-self:stretch;justify-content:center;gap:var(--gravity-spacing-xs);padding-top:var(--gravity-spacing-sm)}.gravity-menu.md .menu-footer-mobile .footer-content .secondary-actions .action-cards.has-overflow .action-cards-row ::ng-deep gravity-action-card{width:calc((100% - 3 * var(--gravity-spacing-xs)) / 4);flex:0 0 calc((100% - 3 * var(--gravity-spacing-xs)) / 4)}.gravity-menu.sm{min-width:320px}.gravity-menu.sm .menu-footer-mobile .footer-content .secondary-actions{padding:0!important}.gravity-menu.sm .menu-footer-mobile .footer-content .secondary-actions .action-cards.has-overflow .action-cards-row ::ng-deep gravity-action-card{width:calc((100% - var(--gravity-spacing-xs)) / 2);flex:0 0 calc((100% - var(--gravity-spacing-xs)) / 2)}\n"] }]
8378
8397
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { items: [{
8379
8398
  type: Input
8380
8399
  }], userInfo: [{