@masmarino/gabarit 1.2.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@ import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
6
6
  import * as i1 from "@angular/forms";
7
7
  import { FormControl, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from "@angular/forms";
8
8
  import { EMPTY, catchError, forkJoin, from, isObservable, of, switchMap } from "rxjs";
9
- const GABARIT_VERSION = "1.2.2";
9
+ const GABARIT_VERSION = "1.4.0";
10
10
  const BUILT_IN_ICONS = {
11
11
  search: `<path d="m21 21-4.34-4.34" />
12
12
  <circle cx="11" cy="11" r="8" />`,
@@ -459,7 +459,7 @@ var AppShell = class AppShell {
459
459
  }],
460
460
  ngImport: i0,
461
461
  template: "<div class=\"gbt-app-shell\">\n <a class=\"gbt-app-shell__skip\" [href]=\"'#' + mainId\">{{ skipLabel() }}</a>\n\n <nav\n #nav\n [id]=\"navId\"\n class=\"gbt-app-shell__nav\"\n [class.gbt-app-shell__nav--open]=\"menuOpen()\"\n [class.gbt-app-shell__nav--collapsed]=\"collapsed()\"\n [attr.aria-label]=\"navLabel()\"\n tabindex=\"-1\"\n (keydown)=\"onNavKeydown($event)\"\n >\n <div class=\"gbt-app-shell__brand\">\n <ng-content select=\"[shell-brand]\" />\n </div>\n <ng-content select=\"[shell-nav]\" />\n <div class=\"gbt-app-shell__bottom\">\n @if (versionLabel()) {\n @if (!collapsed()) {\n <div class=\"gbt-app-shell__version\">v{{ versionLabel() }}</div>\n }\n }\n @if (collapsible()) {\n <button\n type=\"button\"\n class=\"gbt-app-shell__collapse-toggle\"\n [class.gbt-app-shell__collapse-toggle--collapsed]=\"collapsed()\"\n [attr.aria-expanded]=\"!collapsed()\"\n [attr.aria-label]=\"collapsed() ? expandLabel() : collapseLabel()\"\n (click)=\"toggleCollapsed()\"\n >\n <gbt-icon name=\"chevrons-left\" />\n </button>\n }\n </div>\n </nav>\n\n @if (menuOpen()) {\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events, @angular-eslint/template/interactive-supports-focus -->\n <div class=\"gbt-app-shell__scrim\" (click)=\"close()\"></div>\n }\n\n <div class=\"gbt-app-shell__body\">\n <header class=\"gbt-app-shell__header\">\n <button\n #toggle\n type=\"button\"\n class=\"gbt-app-shell__toggle\"\n [attr.aria-expanded]=\"menuOpen()\"\n [attr.aria-controls]=\"navId\"\n [attr.aria-label]=\"menuLabel()\"\n (click)=\"toggleMenu()\"\n >\n <span class=\"gbt-app-shell__burger\" aria-hidden=\"true\"></span>\n </button>\n <ng-content select=\"[shell-header]\" />\n </header>\n\n <main [id]=\"mainId\" class=\"gbt-app-shell__content\" tabindex=\"-1\">\n <ng-content />\n </main>\n </div>\n</div>\n",
462
- styles: [":host{display:block}.gbt-app-shell{display:flex;min-height:100vh;background:var(--bg-panel)}.gbt-app-shell__skip{position:absolute;left:-9999px;top:0;z-index:1040;padding:.5rem .75rem;border-radius:var(--site-border-radius-sm);background:var(--primary);color:var(--text-on-primary);font-size:.875rem;text-decoration:none}.gbt-app-shell__skip:focus-visible{left:.5rem;top:.5rem;outline:2px solid var(--primary);outline-offset:2px}.gbt-app-shell__nav{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0;box-sizing:border-box;width:220px;padding:1rem .75rem;background:var(--bg-panel);border-right:1px solid var(--border-color);overflow:hidden;transition:width .2s ease}@media(min-width:769px){.gbt-app-shell__nav--collapsed{width:64px;overflow:visible}}.gbt-app-shell__brand{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gbt-app-shell__bottom{margin-top:auto;text-align:center;display:flex;flex-direction:column;gap:.25rem}.gbt-app-shell__collapse-toggle{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;margin-top:auto;padding:.5rem .75rem;border:none;border-radius:var(--site-border-radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.gbt-app-shell__collapse-toggle:hover{background:var(--bg-hover)}.gbt-app-shell__collapse-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-app-shell__collapse-toggle gbt-icon{transition:transform .2s ease}.gbt-app-shell__collapse-toggle--collapsed gbt-icon{transform:rotate(180deg)}.gbt-app-shell__version{margin-top:auto;padding:.5rem .75rem 0;color:var(--text-secondary);font-size:.75rem}.gbt-app-shell__body{display:flex;flex-direction:column;flex:1;min-width:0}.gbt-app-shell__header{position:relative;z-index:1010;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.gbt-app-shell__toggle{display:none;flex-shrink:0;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);background:transparent;cursor:pointer}.gbt-app-shell__toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-app-shell__burger{display:block;position:relative;width:1rem;height:2px;margin:0 auto;background:var(--text-primary)}.gbt-app-shell__burger:before,.gbt-app-shell__burger:after{content:\"\";position:absolute;left:0;width:100%;height:2px;background:var(--text-primary)}.gbt-app-shell__burger:before{top:-5px}.gbt-app-shell__burger:after{top:5px}.gbt-app-shell__content{flex:1;min-width:0;padding:1rem}.gbt-app-shell__content:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}@media(max-width:768px){.gbt-app-shell__toggle{display:block}.gbt-app-shell__nav{position:fixed;top:0;bottom:0;left:0;z-index:1030;transform:translate(-100%);transition:transform .16s ease-out}}@media(max-width:768px)and (prefers-reduced-motion:reduce){.gbt-app-shell__nav{transition:none}}@media(max-width:768px){.gbt-app-shell__nav--open{transform:translate(0)}.gbt-app-shell__scrim{position:fixed;inset:0;z-index:1020;background:#0006}.gbt-app-shell__collapse-toggle{display:none}}@media(prefers-reduced-motion:reduce){.gbt-app-shell__nav{transition:none}.gbt-app-shell__collapse-toggle gbt-icon{transition:none}}\n"],
462
+ styles: [":host{display:block}.gbt-app-shell{display:flex;min-height:100vh;background:var(--bg-panel)}.gbt-app-shell__skip{position:absolute;left:-9999px;top:0;z-index:1040;padding:.5rem .75rem;border-radius:var(--site-border-radius-sm);background:var(--primary);color:var(--text-on-primary);font-size:.875rem;text-decoration:none}.gbt-app-shell__skip:focus-visible{left:.5rem;top:.5rem;outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-app-shell__nav{position:sticky;top:0;align-self:flex-start;display:flex;flex-direction:column;gap:.25rem;flex-shrink:0;box-sizing:border-box;width:220px;height:100vh;height:100dvh;padding:1rem .75rem;background:var(--bg-panel);border-right:1px solid var(--gbt-shell-border, var(--border-color));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;transition:width .2s ease}@media(min-width:769px){.gbt-app-shell__nav--collapsed{width:64px;overflow:visible}}.gbt-app-shell__brand{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gbt-app-shell__bottom{position:sticky;bottom:0;margin-top:auto;padding-top:.25rem;text-align:center;display:flex;flex-direction:column;gap:.25rem;background:inherit}.gbt-app-shell__collapse-toggle{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;margin-top:auto;padding:.5rem .75rem;border:none;border-radius:var(--site-border-radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.gbt-app-shell__collapse-toggle:hover{background:var(--bg-hover)}.gbt-app-shell__collapse-toggle:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-app-shell__collapse-toggle gbt-icon{transition:transform .2s ease}.gbt-app-shell__collapse-toggle--collapsed gbt-icon{transform:rotate(180deg)}.gbt-app-shell__version{margin-top:auto;padding:.5rem .75rem 0;color:var(--text-secondary);font-size:.75rem}.gbt-app-shell__body{display:flex;flex-direction:column;flex:1;min-width:0}.gbt-app-shell__header{position:sticky;top:0;z-index:1010;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--gbt-shell-header-bg, var(--bg-panel));border-bottom:1px solid var(--gbt-shell-border, var(--border-color))}.gbt-app-shell__toggle{display:none;flex-shrink:0;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);background:transparent;cursor:pointer}.gbt-app-shell__toggle:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-app-shell__burger{display:block;position:relative;width:1rem;height:2px;margin:0 auto;background:var(--text-primary)}.gbt-app-shell__burger:before,.gbt-app-shell__burger:after{content:\"\";position:absolute;left:0;width:100%;height:2px;background:var(--text-primary)}.gbt-app-shell__burger:before{top:-5px}.gbt-app-shell__burger:after{top:5px}.gbt-app-shell__content{flex:1;min-width:0;padding:var(--gbt-shell-content-padding, 1rem)}.gbt-app-shell__content:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}@media(max-width:768px){.gbt-app-shell__toggle{display:block}.gbt-app-shell__nav{position:fixed;top:0;bottom:0;left:0;z-index:1030;transform:translate(-100%);transition:transform .16s ease-out}}@media(max-width:768px)and (prefers-reduced-motion:reduce){.gbt-app-shell__nav{transition:none}}@media(max-width:768px){.gbt-app-shell__nav--open{transform:translate(0)}.gbt-app-shell__scrim{position:fixed;inset:0;z-index:1020;background:#0006}.gbt-app-shell__collapse-toggle{display:none}}@media(prefers-reduced-motion:reduce){.gbt-app-shell__nav{transition:none}.gbt-app-shell__collapse-toggle gbt-icon{transition:none}}\n"],
463
463
  dependencies: [{
464
464
  kind: "component",
465
465
  type: Icon,
@@ -482,7 +482,7 @@ i0.ɵɵngDeclareClassMetadata({
482
482
  imports: [Icon],
483
483
  changeDetection: ChangeDetectionStrategy.OnPush,
484
484
  template: "<div class=\"gbt-app-shell\">\n <a class=\"gbt-app-shell__skip\" [href]=\"'#' + mainId\">{{ skipLabel() }}</a>\n\n <nav\n #nav\n [id]=\"navId\"\n class=\"gbt-app-shell__nav\"\n [class.gbt-app-shell__nav--open]=\"menuOpen()\"\n [class.gbt-app-shell__nav--collapsed]=\"collapsed()\"\n [attr.aria-label]=\"navLabel()\"\n tabindex=\"-1\"\n (keydown)=\"onNavKeydown($event)\"\n >\n <div class=\"gbt-app-shell__brand\">\n <ng-content select=\"[shell-brand]\" />\n </div>\n <ng-content select=\"[shell-nav]\" />\n <div class=\"gbt-app-shell__bottom\">\n @if (versionLabel()) {\n @if (!collapsed()) {\n <div class=\"gbt-app-shell__version\">v{{ versionLabel() }}</div>\n }\n }\n @if (collapsible()) {\n <button\n type=\"button\"\n class=\"gbt-app-shell__collapse-toggle\"\n [class.gbt-app-shell__collapse-toggle--collapsed]=\"collapsed()\"\n [attr.aria-expanded]=\"!collapsed()\"\n [attr.aria-label]=\"collapsed() ? expandLabel() : collapseLabel()\"\n (click)=\"toggleCollapsed()\"\n >\n <gbt-icon name=\"chevrons-left\" />\n </button>\n }\n </div>\n </nav>\n\n @if (menuOpen()) {\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events, @angular-eslint/template/interactive-supports-focus -->\n <div class=\"gbt-app-shell__scrim\" (click)=\"close()\"></div>\n }\n\n <div class=\"gbt-app-shell__body\">\n <header class=\"gbt-app-shell__header\">\n <button\n #toggle\n type=\"button\"\n class=\"gbt-app-shell__toggle\"\n [attr.aria-expanded]=\"menuOpen()\"\n [attr.aria-controls]=\"navId\"\n [attr.aria-label]=\"menuLabel()\"\n (click)=\"toggleMenu()\"\n >\n <span class=\"gbt-app-shell__burger\" aria-hidden=\"true\"></span>\n </button>\n <ng-content select=\"[shell-header]\" />\n </header>\n\n <main [id]=\"mainId\" class=\"gbt-app-shell__content\" tabindex=\"-1\">\n <ng-content />\n </main>\n </div>\n</div>\n",
485
- styles: [":host{display:block}.gbt-app-shell{display:flex;min-height:100vh;background:var(--bg-panel)}.gbt-app-shell__skip{position:absolute;left:-9999px;top:0;z-index:1040;padding:.5rem .75rem;border-radius:var(--site-border-radius-sm);background:var(--primary);color:var(--text-on-primary);font-size:.875rem;text-decoration:none}.gbt-app-shell__skip:focus-visible{left:.5rem;top:.5rem;outline:2px solid var(--primary);outline-offset:2px}.gbt-app-shell__nav{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0;box-sizing:border-box;width:220px;padding:1rem .75rem;background:var(--bg-panel);border-right:1px solid var(--border-color);overflow:hidden;transition:width .2s ease}@media(min-width:769px){.gbt-app-shell__nav--collapsed{width:64px;overflow:visible}}.gbt-app-shell__brand{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gbt-app-shell__bottom{margin-top:auto;text-align:center;display:flex;flex-direction:column;gap:.25rem}.gbt-app-shell__collapse-toggle{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;margin-top:auto;padding:.5rem .75rem;border:none;border-radius:var(--site-border-radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.gbt-app-shell__collapse-toggle:hover{background:var(--bg-hover)}.gbt-app-shell__collapse-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-app-shell__collapse-toggle gbt-icon{transition:transform .2s ease}.gbt-app-shell__collapse-toggle--collapsed gbt-icon{transform:rotate(180deg)}.gbt-app-shell__version{margin-top:auto;padding:.5rem .75rem 0;color:var(--text-secondary);font-size:.75rem}.gbt-app-shell__body{display:flex;flex-direction:column;flex:1;min-width:0}.gbt-app-shell__header{position:relative;z-index:1010;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.gbt-app-shell__toggle{display:none;flex-shrink:0;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);background:transparent;cursor:pointer}.gbt-app-shell__toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-app-shell__burger{display:block;position:relative;width:1rem;height:2px;margin:0 auto;background:var(--text-primary)}.gbt-app-shell__burger:before,.gbt-app-shell__burger:after{content:\"\";position:absolute;left:0;width:100%;height:2px;background:var(--text-primary)}.gbt-app-shell__burger:before{top:-5px}.gbt-app-shell__burger:after{top:5px}.gbt-app-shell__content{flex:1;min-width:0;padding:1rem}.gbt-app-shell__content:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}@media(max-width:768px){.gbt-app-shell__toggle{display:block}.gbt-app-shell__nav{position:fixed;top:0;bottom:0;left:0;z-index:1030;transform:translate(-100%);transition:transform .16s ease-out}}@media(max-width:768px)and (prefers-reduced-motion:reduce){.gbt-app-shell__nav{transition:none}}@media(max-width:768px){.gbt-app-shell__nav--open{transform:translate(0)}.gbt-app-shell__scrim{position:fixed;inset:0;z-index:1020;background:#0006}.gbt-app-shell__collapse-toggle{display:none}}@media(prefers-reduced-motion:reduce){.gbt-app-shell__nav{transition:none}.gbt-app-shell__collapse-toggle gbt-icon{transition:none}}\n"]
485
+ styles: [":host{display:block}.gbt-app-shell{display:flex;min-height:100vh;background:var(--bg-panel)}.gbt-app-shell__skip{position:absolute;left:-9999px;top:0;z-index:1040;padding:.5rem .75rem;border-radius:var(--site-border-radius-sm);background:var(--primary);color:var(--text-on-primary);font-size:.875rem;text-decoration:none}.gbt-app-shell__skip:focus-visible{left:.5rem;top:.5rem;outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-app-shell__nav{position:sticky;top:0;align-self:flex-start;display:flex;flex-direction:column;gap:.25rem;flex-shrink:0;box-sizing:border-box;width:220px;height:100vh;height:100dvh;padding:1rem .75rem;background:var(--bg-panel);border-right:1px solid var(--gbt-shell-border, var(--border-color));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;transition:width .2s ease}@media(min-width:769px){.gbt-app-shell__nav--collapsed{width:64px;overflow:visible}}.gbt-app-shell__brand{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gbt-app-shell__bottom{position:sticky;bottom:0;margin-top:auto;padding-top:.25rem;text-align:center;display:flex;flex-direction:column;gap:.25rem;background:inherit}.gbt-app-shell__collapse-toggle{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;margin-top:auto;padding:.5rem .75rem;border:none;border-radius:var(--site-border-radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.gbt-app-shell__collapse-toggle:hover{background:var(--bg-hover)}.gbt-app-shell__collapse-toggle:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-app-shell__collapse-toggle gbt-icon{transition:transform .2s ease}.gbt-app-shell__collapse-toggle--collapsed gbt-icon{transform:rotate(180deg)}.gbt-app-shell__version{margin-top:auto;padding:.5rem .75rem 0;color:var(--text-secondary);font-size:.75rem}.gbt-app-shell__body{display:flex;flex-direction:column;flex:1;min-width:0}.gbt-app-shell__header{position:sticky;top:0;z-index:1010;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--gbt-shell-header-bg, var(--bg-panel));border-bottom:1px solid var(--gbt-shell-border, var(--border-color))}.gbt-app-shell__toggle{display:none;flex-shrink:0;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);background:transparent;cursor:pointer}.gbt-app-shell__toggle:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-app-shell__burger{display:block;position:relative;width:1rem;height:2px;margin:0 auto;background:var(--text-primary)}.gbt-app-shell__burger:before,.gbt-app-shell__burger:after{content:\"\";position:absolute;left:0;width:100%;height:2px;background:var(--text-primary)}.gbt-app-shell__burger:before{top:-5px}.gbt-app-shell__burger:after{top:5px}.gbt-app-shell__content{flex:1;min-width:0;padding:var(--gbt-shell-content-padding, 1rem)}.gbt-app-shell__content:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}@media(max-width:768px){.gbt-app-shell__toggle{display:block}.gbt-app-shell__nav{position:fixed;top:0;bottom:0;left:0;z-index:1030;transform:translate(-100%);transition:transform .16s ease-out}}@media(max-width:768px)and (prefers-reduced-motion:reduce){.gbt-app-shell__nav{transition:none}}@media(max-width:768px){.gbt-app-shell__nav--open{transform:translate(0)}.gbt-app-shell__scrim{position:fixed;inset:0;z-index:1020;background:#0006}.gbt-app-shell__collapse-toggle{display:none}}@media(prefers-reduced-motion:reduce){.gbt-app-shell__nav{transition:none}.gbt-app-shell__collapse-toggle gbt-icon{transition:none}}\n"]
486
486
  }]
487
487
  }],
488
488
  propDecorators: {
@@ -890,7 +890,7 @@ var Button = class Button {
890
890
  } },
891
891
  ngImport: i0,
892
892
  template: "@if (isAnchor) {\n @if (iconName()) {\n <gbt-icon [name]=\"iconName()!\" aria-hidden=\"true\" />\n }\n <ng-content />\n} @else {\n <button\n [type]=\"type()\"\n class=\"gbt-button gbt-button--{{ variant() }} gbt-button--{{ size() }}\"\n [class.gbt-button--icon-only]=\"iconOnly()\"\n [disabled]=\"disabled() || loading()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n [attr.aria-pressed]=\"pressed()\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n [attr.aria-controls]=\"ariaControls()\"\n [attr.aria-haspopup]=\"ariaHaspopup()\"\n (click)=\"handleClick()\"\n >\n @if (iconName()) {\n <gbt-icon [name]=\"iconName()!\" aria-hidden=\"true\" />\n }\n @if (loading()) {\n <span class=\"gbt-button__spinner\" aria-hidden=\"true\"></span>\n <span class=\"sr-only\">{{ loadingLabel() }}</span>\n }\n @if (text()) {\n <span>{{ text() }}</span>\n }\n </button>\n}\n",
893
- styles: [":host{display:inline-block;width:fit-content}:host(a){line-height:normal;text-decoration:none}:host(a.gbt-button){text-decoration:none}:host(.gbt-button-host--block){width:100%}:host(:not(a).gbt-button-host--block){display:block}:host(a.gbt-button-host--block){display:flex}:host(.gbt-button-host--block) .gbt-button{width:100%}.gbt-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box;border:none;border-radius:var(--site-border-radius-sm);font-family:var(--font-family);font-weight:600;cursor:pointer;transition:background-color var(--site-transition-fast),color var(--site-transition-fast),box-shadow var(--site-transition-fast),opacity var(--site-transition-fast)}.gbt-button:disabled{cursor:not-allowed;opacity:.5}.gbt-button--small{padding:.375rem .75rem;font-size:.8125rem;min-height:var(--gbt-control-height-sm)}.gbt-button--medium{padding:.5rem 1rem;font-size:.875rem;min-height:var(--gbt-control-height-md)}.gbt-button--large{padding:.75rem 1.5rem;font-size:1rem;min-height:var(--gbt-control-height-lg)}.gbt-button--icon-only{gap:0}.gbt-button--icon-only.gbt-button--small{padding:.375rem;min-width:var(--gbt-control-height-sm)}.gbt-button--icon-only.gbt-button--medium{padding:.5rem;min-width:var(--gbt-control-height-md)}.gbt-button--icon-only.gbt-button--large{padding:.75rem;min-width:var(--gbt-control-height-lg)}.gbt-button--icon-only.gbt-button--secondary.gbt-button--small{padding:calc(.375rem - 1px)}.gbt-button--icon-only.gbt-button--secondary.gbt-button--medium{padding:calc(.5rem - 1px)}.gbt-button--icon-only.gbt-button--secondary.gbt-button--large{padding:calc(.75rem - 1px);min-width:var(--gbt-control-height-lg);min-height:var(--gbt-control-height-lg)}.gbt-button--primary{background:var(--primary);color:var(--text-on-primary)}.gbt-button--primary:not(:disabled):hover{background:var(--primary-hover)}.gbt-button--secondary{background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-color)}.gbt-button--secondary:not(:disabled):hover{background:var(--bg-hover)}.gbt-button--danger{background:var(--color-error-fill);color:var(--text-on-error)}.gbt-button--danger:not(:disabled):hover{background:var(--color-error-hover)}.gbt-button--ghost{background:transparent;color:var(--text-secondary)}.gbt-button--ghost:not(:disabled):hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-button--ghost-danger{background:transparent;color:var(--text-secondary)}.gbt-button--ghost-danger:not(:disabled):hover{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-button--ghost-danger:not(:disabled):focus-visible{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-button--link{min-height:0;padding:.25rem .125rem;background:none;color:var(--primary);text-decoration:underline;text-underline-offset:.2em}.gbt-button--link:not(:disabled):hover{color:var(--primary-hover);text-decoration-thickness:2px}.gbt-button[aria-pressed=true]{background:var(--bg-hover);box-shadow:inset 0 0 0 2px var(--primary)}.gbt-button--primary[aria-pressed=true]{background:var(--primary-hover);box-shadow:inset 0 0 0 2px var(--text-on-primary)}.gbt-button--danger[aria-pressed=true]{background:var(--color-error-hover);box-shadow:inset 0 0 0 2px var(--text-on-error)}.gbt-button--link[aria-pressed=true]{background:none;box-shadow:none;text-decoration-thickness:2px}:host{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box;border:none;border-radius:var(--site-border-radius-sm);font-family:var(--font-family);font-weight:600;cursor:pointer;transition:background-color var(--site-transition-fast),color var(--site-transition-fast),box-shadow var(--site-transition-fast),opacity var(--site-transition-fast)}:host([aria-disabled=true]){cursor:not-allowed;opacity:.5}:host(.gbt-button--small){padding:.375rem .75rem;font-size:.8125rem;min-height:var(--gbt-control-height-sm)}:host(.gbt-button--medium){padding:.5rem 1rem;font-size:.875rem;min-height:var(--gbt-control-height-md)}:host(.gbt-button--large){padding:.75rem 1.5rem;font-size:1rem;min-height:var(--gbt-control-height-lg)}:host(.gbt-button--icon-only){gap:0}:host(.gbt-button--icon-only.gbt-button--small){padding:.375rem;min-width:var(--gbt-control-height-sm)}:host(.gbt-button--icon-only.gbt-button--medium){padding:.5rem;min-width:var(--gbt-control-height-md)}:host(.gbt-button--icon-only.gbt-button--large){padding:.75rem;min-width:var(--gbt-control-height-lg)}:host(.gbt-button--icon-only.gbt-button--secondary.gbt-button--small){padding:calc(.375rem - 1px)}:host(.gbt-button--icon-only.gbt-button--secondary.gbt-button--medium){padding:calc(.5rem - 1px)}:host(.gbt-button--icon-only.gbt-button--secondary.gbt-button--large){padding:calc(.75rem - 1px);min-width:var(--gbt-control-height-lg);min-height:var(--gbt-control-height-lg)}:host(.gbt-button--primary){background:var(--primary);color:var(--text-on-primary)}:host(.gbt-button--primary:not([aria-disabled=true])):hover{background:var(--primary-hover)}:host(.gbt-button--secondary){background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-color)}:host(.gbt-button--secondary:not([aria-disabled=true])):hover{background:var(--bg-hover)}:host(.gbt-button--danger){background:var(--color-error-fill);color:var(--text-on-error)}:host(.gbt-button--danger:not([aria-disabled=true])):hover{background:var(--color-error-hover)}:host(.gbt-button--ghost){background:transparent;color:var(--text-secondary)}:host(.gbt-button--ghost:not([aria-disabled=true])):hover{background:var(--bg-hover);color:var(--text-primary)}:host(.gbt-button--ghost-danger){background:transparent;color:var(--text-secondary)}:host(.gbt-button--ghost-danger:not([aria-disabled=true])):hover{background:var(--color-error-bg);color:var(--color-error-bg-text)}:host(.gbt-button--ghost-danger:not([aria-disabled=true])):focus-visible{background:var(--color-error-bg);color:var(--color-error-bg-text)}:host(.gbt-button--link){min-height:0;padding:.25rem .125rem;background:none;color:var(--primary);text-decoration:underline;text-underline-offset:.2em}:host(.gbt-button--link:not([aria-disabled=true])):hover{color:var(--primary-hover);text-decoration-thickness:2px}:host([aria-pressed=true]){background:var(--bg-hover);box-shadow:inset 0 0 0 2px var(--primary)}:host(.gbt-button--primary[aria-pressed=true]){background:var(--primary-hover);box-shadow:inset 0 0 0 2px var(--text-on-primary)}:host(.gbt-button--danger[aria-pressed=true]){background:var(--color-error-hover);box-shadow:inset 0 0 0 2px var(--text-on-error)}:host(.gbt-button--link[aria-pressed=true]){background:none;box-shadow:none;text-decoration-thickness:2px}.gbt-button__spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:gbt-button-spin .6s linear infinite}@media(prefers-reduced-motion:reduce){.gbt-button__spinner{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@keyframes gbt-button-spin{to{transform:rotate(360deg)}}\n"],
893
+ styles: [":host{display:inline-block;width:fit-content}:host(a){line-height:normal;text-decoration:none}:host(a.gbt-button){text-decoration:none}:host(.gbt-button-host--block){width:100%}:host(:not(a).gbt-button-host--block){display:block}:host(a.gbt-button-host--block){display:flex}:host(.gbt-button-host--block) .gbt-button{width:100%}.gbt-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box;text-align:center;border:none;border-radius:var(--site-border-radius-sm);font-family:var(--font-family);font-weight:600;cursor:pointer;transition:background-color var(--site-transition-fast),color var(--site-transition-fast),box-shadow var(--site-transition-fast),opacity var(--site-transition-fast)}.gbt-button:disabled{cursor:not-allowed;opacity:.5}.gbt-button--small{padding:.375rem .75rem;font-size:.8125rem;min-height:var(--gbt-control-height-sm)}.gbt-button--medium{padding:.5rem 1rem;font-size:.875rem;min-height:var(--gbt-control-height-md)}.gbt-button--large{padding:.75rem 1.5rem;font-size:1rem;min-height:var(--gbt-control-height-lg)}.gbt-button--icon-only{gap:0}.gbt-button--icon-only.gbt-button--small{padding:.375rem;min-width:var(--gbt-control-height-sm)}.gbt-button--icon-only.gbt-button--medium{padding:.5rem;min-width:var(--gbt-control-height-md)}.gbt-button--icon-only.gbt-button--large{padding:.75rem;min-width:var(--gbt-control-height-lg)}.gbt-button--icon-only.gbt-button--secondary.gbt-button--small{padding:calc(.375rem - 1px)}.gbt-button--icon-only.gbt-button--secondary.gbt-button--medium{padding:calc(.5rem - 1px)}.gbt-button--icon-only.gbt-button--secondary.gbt-button--large{padding:calc(.75rem - 1px);min-width:var(--gbt-control-height-lg);min-height:var(--gbt-control-height-lg)}.gbt-button--primary{background:var(--primary);color:var(--text-on-primary)}.gbt-button--primary:not(:disabled):hover{background:var(--primary-hover)}.gbt-button--secondary{background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-color)}.gbt-button--secondary:not(:disabled):hover{background:var(--bg-hover)}.gbt-button--danger{background:var(--color-error-fill);color:var(--text-on-error)}.gbt-button--danger:not(:disabled):hover{background:var(--color-error-hover)}.gbt-button--ghost{background:transparent;color:var(--text-secondary)}.gbt-button--ghost:not(:disabled):hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-button--ghost-danger{background:transparent;color:var(--text-secondary)}.gbt-button--ghost-danger:not(:disabled):hover{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-button--ghost-danger:not(:disabled):focus-visible{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-button--link{min-height:0;padding:.25rem .125rem;background:none;color:var(--primary);text-decoration:underline;text-underline-offset:.2em}.gbt-button--link:not(:disabled):hover{color:var(--primary-hover);text-decoration-thickness:2px}.gbt-button[aria-pressed=true]{background:var(--bg-hover);box-shadow:inset 0 0 0 2px var(--primary)}.gbt-button--primary[aria-pressed=true]{background:var(--primary-hover);box-shadow:inset 0 0 0 2px var(--text-on-primary)}.gbt-button--danger[aria-pressed=true]{background:var(--color-error-hover);box-shadow:inset 0 0 0 2px var(--text-on-error)}.gbt-button--link[aria-pressed=true]{background:none;box-shadow:none;text-decoration-thickness:2px}:host{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box;text-align:center;border:none;border-radius:var(--site-border-radius-sm);font-family:var(--font-family);font-weight:600;cursor:pointer;transition:background-color var(--site-transition-fast),color var(--site-transition-fast),box-shadow var(--site-transition-fast),opacity var(--site-transition-fast)}:host([aria-disabled=true]){cursor:not-allowed;opacity:.5}:host(.gbt-button--small){padding:.375rem .75rem;font-size:.8125rem;min-height:var(--gbt-control-height-sm)}:host(.gbt-button--medium){padding:.5rem 1rem;font-size:.875rem;min-height:var(--gbt-control-height-md)}:host(.gbt-button--large){padding:.75rem 1.5rem;font-size:1rem;min-height:var(--gbt-control-height-lg)}:host(.gbt-button--icon-only){gap:0}:host(.gbt-button--icon-only.gbt-button--small){padding:.375rem;min-width:var(--gbt-control-height-sm)}:host(.gbt-button--icon-only.gbt-button--medium){padding:.5rem;min-width:var(--gbt-control-height-md)}:host(.gbt-button--icon-only.gbt-button--large){padding:.75rem;min-width:var(--gbt-control-height-lg)}:host(.gbt-button--icon-only.gbt-button--secondary.gbt-button--small){padding:calc(.375rem - 1px)}:host(.gbt-button--icon-only.gbt-button--secondary.gbt-button--medium){padding:calc(.5rem - 1px)}:host(.gbt-button--icon-only.gbt-button--secondary.gbt-button--large){padding:calc(.75rem - 1px);min-width:var(--gbt-control-height-lg);min-height:var(--gbt-control-height-lg)}:host(.gbt-button--primary){background:var(--primary);color:var(--text-on-primary)}:host(.gbt-button--primary:not([aria-disabled=true])):hover{background:var(--primary-hover)}:host(.gbt-button--secondary){background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-color)}:host(.gbt-button--secondary:not([aria-disabled=true])):hover{background:var(--bg-hover)}:host(.gbt-button--danger){background:var(--color-error-fill);color:var(--text-on-error)}:host(.gbt-button--danger:not([aria-disabled=true])):hover{background:var(--color-error-hover)}:host(.gbt-button--ghost){background:transparent;color:var(--text-secondary)}:host(.gbt-button--ghost:not([aria-disabled=true])):hover{background:var(--bg-hover);color:var(--text-primary)}:host(.gbt-button--ghost-danger){background:transparent;color:var(--text-secondary)}:host(.gbt-button--ghost-danger:not([aria-disabled=true])):hover{background:var(--color-error-bg);color:var(--color-error-bg-text)}:host(.gbt-button--ghost-danger:not([aria-disabled=true])):focus-visible{background:var(--color-error-bg);color:var(--color-error-bg-text)}:host(.gbt-button--link){min-height:0;padding:.25rem .125rem;background:none;color:var(--primary);text-decoration:underline;text-underline-offset:.2em}:host(.gbt-button--link:not([aria-disabled=true])):hover{color:var(--primary-hover);text-decoration-thickness:2px}:host([aria-pressed=true]){background:var(--bg-hover);box-shadow:inset 0 0 0 2px var(--primary)}:host(.gbt-button--primary[aria-pressed=true]){background:var(--primary-hover);box-shadow:inset 0 0 0 2px var(--text-on-primary)}:host(.gbt-button--danger[aria-pressed=true]){background:var(--color-error-hover);box-shadow:inset 0 0 0 2px var(--text-on-error)}:host(.gbt-button--link[aria-pressed=true]){background:none;box-shadow:none;text-decoration-thickness:2px}.gbt-button__spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:gbt-button-spin .6s linear infinite}@media(prefers-reduced-motion:reduce){.gbt-button__spinner{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@keyframes gbt-button-spin{to{transform:rotate(360deg)}}\n"],
894
894
  dependencies: [{
895
895
  kind: "component",
896
896
  type: Icon,
@@ -918,7 +918,7 @@ i0.ɵɵngDeclareClassMetadata({
918
918
  "[attr.aria-disabled]": "isAnchor && disabled() ? \"true\" : null"
919
919
  },
920
920
  template: "@if (isAnchor) {\n @if (iconName()) {\n <gbt-icon [name]=\"iconName()!\" aria-hidden=\"true\" />\n }\n <ng-content />\n} @else {\n <button\n [type]=\"type()\"\n class=\"gbt-button gbt-button--{{ variant() }} gbt-button--{{ size() }}\"\n [class.gbt-button--icon-only]=\"iconOnly()\"\n [disabled]=\"disabled() || loading()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n [attr.aria-pressed]=\"pressed()\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n [attr.aria-controls]=\"ariaControls()\"\n [attr.aria-haspopup]=\"ariaHaspopup()\"\n (click)=\"handleClick()\"\n >\n @if (iconName()) {\n <gbt-icon [name]=\"iconName()!\" aria-hidden=\"true\" />\n }\n @if (loading()) {\n <span class=\"gbt-button__spinner\" aria-hidden=\"true\"></span>\n <span class=\"sr-only\">{{ loadingLabel() }}</span>\n }\n @if (text()) {\n <span>{{ text() }}</span>\n }\n </button>\n}\n",
921
- styles: [":host{display:inline-block;width:fit-content}:host(a){line-height:normal;text-decoration:none}:host(a.gbt-button){text-decoration:none}:host(.gbt-button-host--block){width:100%}:host(:not(a).gbt-button-host--block){display:block}:host(a.gbt-button-host--block){display:flex}:host(.gbt-button-host--block) .gbt-button{width:100%}.gbt-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box;border:none;border-radius:var(--site-border-radius-sm);font-family:var(--font-family);font-weight:600;cursor:pointer;transition:background-color var(--site-transition-fast),color var(--site-transition-fast),box-shadow var(--site-transition-fast),opacity var(--site-transition-fast)}.gbt-button:disabled{cursor:not-allowed;opacity:.5}.gbt-button--small{padding:.375rem .75rem;font-size:.8125rem;min-height:var(--gbt-control-height-sm)}.gbt-button--medium{padding:.5rem 1rem;font-size:.875rem;min-height:var(--gbt-control-height-md)}.gbt-button--large{padding:.75rem 1.5rem;font-size:1rem;min-height:var(--gbt-control-height-lg)}.gbt-button--icon-only{gap:0}.gbt-button--icon-only.gbt-button--small{padding:.375rem;min-width:var(--gbt-control-height-sm)}.gbt-button--icon-only.gbt-button--medium{padding:.5rem;min-width:var(--gbt-control-height-md)}.gbt-button--icon-only.gbt-button--large{padding:.75rem;min-width:var(--gbt-control-height-lg)}.gbt-button--icon-only.gbt-button--secondary.gbt-button--small{padding:calc(.375rem - 1px)}.gbt-button--icon-only.gbt-button--secondary.gbt-button--medium{padding:calc(.5rem - 1px)}.gbt-button--icon-only.gbt-button--secondary.gbt-button--large{padding:calc(.75rem - 1px);min-width:var(--gbt-control-height-lg);min-height:var(--gbt-control-height-lg)}.gbt-button--primary{background:var(--primary);color:var(--text-on-primary)}.gbt-button--primary:not(:disabled):hover{background:var(--primary-hover)}.gbt-button--secondary{background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-color)}.gbt-button--secondary:not(:disabled):hover{background:var(--bg-hover)}.gbt-button--danger{background:var(--color-error-fill);color:var(--text-on-error)}.gbt-button--danger:not(:disabled):hover{background:var(--color-error-hover)}.gbt-button--ghost{background:transparent;color:var(--text-secondary)}.gbt-button--ghost:not(:disabled):hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-button--ghost-danger{background:transparent;color:var(--text-secondary)}.gbt-button--ghost-danger:not(:disabled):hover{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-button--ghost-danger:not(:disabled):focus-visible{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-button--link{min-height:0;padding:.25rem .125rem;background:none;color:var(--primary);text-decoration:underline;text-underline-offset:.2em}.gbt-button--link:not(:disabled):hover{color:var(--primary-hover);text-decoration-thickness:2px}.gbt-button[aria-pressed=true]{background:var(--bg-hover);box-shadow:inset 0 0 0 2px var(--primary)}.gbt-button--primary[aria-pressed=true]{background:var(--primary-hover);box-shadow:inset 0 0 0 2px var(--text-on-primary)}.gbt-button--danger[aria-pressed=true]{background:var(--color-error-hover);box-shadow:inset 0 0 0 2px var(--text-on-error)}.gbt-button--link[aria-pressed=true]{background:none;box-shadow:none;text-decoration-thickness:2px}:host{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box;border:none;border-radius:var(--site-border-radius-sm);font-family:var(--font-family);font-weight:600;cursor:pointer;transition:background-color var(--site-transition-fast),color var(--site-transition-fast),box-shadow var(--site-transition-fast),opacity var(--site-transition-fast)}:host([aria-disabled=true]){cursor:not-allowed;opacity:.5}:host(.gbt-button--small){padding:.375rem .75rem;font-size:.8125rem;min-height:var(--gbt-control-height-sm)}:host(.gbt-button--medium){padding:.5rem 1rem;font-size:.875rem;min-height:var(--gbt-control-height-md)}:host(.gbt-button--large){padding:.75rem 1.5rem;font-size:1rem;min-height:var(--gbt-control-height-lg)}:host(.gbt-button--icon-only){gap:0}:host(.gbt-button--icon-only.gbt-button--small){padding:.375rem;min-width:var(--gbt-control-height-sm)}:host(.gbt-button--icon-only.gbt-button--medium){padding:.5rem;min-width:var(--gbt-control-height-md)}:host(.gbt-button--icon-only.gbt-button--large){padding:.75rem;min-width:var(--gbt-control-height-lg)}:host(.gbt-button--icon-only.gbt-button--secondary.gbt-button--small){padding:calc(.375rem - 1px)}:host(.gbt-button--icon-only.gbt-button--secondary.gbt-button--medium){padding:calc(.5rem - 1px)}:host(.gbt-button--icon-only.gbt-button--secondary.gbt-button--large){padding:calc(.75rem - 1px);min-width:var(--gbt-control-height-lg);min-height:var(--gbt-control-height-lg)}:host(.gbt-button--primary){background:var(--primary);color:var(--text-on-primary)}:host(.gbt-button--primary:not([aria-disabled=true])):hover{background:var(--primary-hover)}:host(.gbt-button--secondary){background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-color)}:host(.gbt-button--secondary:not([aria-disabled=true])):hover{background:var(--bg-hover)}:host(.gbt-button--danger){background:var(--color-error-fill);color:var(--text-on-error)}:host(.gbt-button--danger:not([aria-disabled=true])):hover{background:var(--color-error-hover)}:host(.gbt-button--ghost){background:transparent;color:var(--text-secondary)}:host(.gbt-button--ghost:not([aria-disabled=true])):hover{background:var(--bg-hover);color:var(--text-primary)}:host(.gbt-button--ghost-danger){background:transparent;color:var(--text-secondary)}:host(.gbt-button--ghost-danger:not([aria-disabled=true])):hover{background:var(--color-error-bg);color:var(--color-error-bg-text)}:host(.gbt-button--ghost-danger:not([aria-disabled=true])):focus-visible{background:var(--color-error-bg);color:var(--color-error-bg-text)}:host(.gbt-button--link){min-height:0;padding:.25rem .125rem;background:none;color:var(--primary);text-decoration:underline;text-underline-offset:.2em}:host(.gbt-button--link:not([aria-disabled=true])):hover{color:var(--primary-hover);text-decoration-thickness:2px}:host([aria-pressed=true]){background:var(--bg-hover);box-shadow:inset 0 0 0 2px var(--primary)}:host(.gbt-button--primary[aria-pressed=true]){background:var(--primary-hover);box-shadow:inset 0 0 0 2px var(--text-on-primary)}:host(.gbt-button--danger[aria-pressed=true]){background:var(--color-error-hover);box-shadow:inset 0 0 0 2px var(--text-on-error)}:host(.gbt-button--link[aria-pressed=true]){background:none;box-shadow:none;text-decoration-thickness:2px}.gbt-button__spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:gbt-button-spin .6s linear infinite}@media(prefers-reduced-motion:reduce){.gbt-button__spinner{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@keyframes gbt-button-spin{to{transform:rotate(360deg)}}\n"]
921
+ styles: [":host{display:inline-block;width:fit-content}:host(a){line-height:normal;text-decoration:none}:host(a.gbt-button){text-decoration:none}:host(.gbt-button-host--block){width:100%}:host(:not(a).gbt-button-host--block){display:block}:host(a.gbt-button-host--block){display:flex}:host(.gbt-button-host--block) .gbt-button{width:100%}.gbt-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box;text-align:center;border:none;border-radius:var(--site-border-radius-sm);font-family:var(--font-family);font-weight:600;cursor:pointer;transition:background-color var(--site-transition-fast),color var(--site-transition-fast),box-shadow var(--site-transition-fast),opacity var(--site-transition-fast)}.gbt-button:disabled{cursor:not-allowed;opacity:.5}.gbt-button--small{padding:.375rem .75rem;font-size:.8125rem;min-height:var(--gbt-control-height-sm)}.gbt-button--medium{padding:.5rem 1rem;font-size:.875rem;min-height:var(--gbt-control-height-md)}.gbt-button--large{padding:.75rem 1.5rem;font-size:1rem;min-height:var(--gbt-control-height-lg)}.gbt-button--icon-only{gap:0}.gbt-button--icon-only.gbt-button--small{padding:.375rem;min-width:var(--gbt-control-height-sm)}.gbt-button--icon-only.gbt-button--medium{padding:.5rem;min-width:var(--gbt-control-height-md)}.gbt-button--icon-only.gbt-button--large{padding:.75rem;min-width:var(--gbt-control-height-lg)}.gbt-button--icon-only.gbt-button--secondary.gbt-button--small{padding:calc(.375rem - 1px)}.gbt-button--icon-only.gbt-button--secondary.gbt-button--medium{padding:calc(.5rem - 1px)}.gbt-button--icon-only.gbt-button--secondary.gbt-button--large{padding:calc(.75rem - 1px);min-width:var(--gbt-control-height-lg);min-height:var(--gbt-control-height-lg)}.gbt-button--primary{background:var(--primary);color:var(--text-on-primary)}.gbt-button--primary:not(:disabled):hover{background:var(--primary-hover)}.gbt-button--secondary{background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-color)}.gbt-button--secondary:not(:disabled):hover{background:var(--bg-hover)}.gbt-button--danger{background:var(--color-error-fill);color:var(--text-on-error)}.gbt-button--danger:not(:disabled):hover{background:var(--color-error-hover)}.gbt-button--ghost{background:transparent;color:var(--text-secondary)}.gbt-button--ghost:not(:disabled):hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-button--ghost-danger{background:transparent;color:var(--text-secondary)}.gbt-button--ghost-danger:not(:disabled):hover{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-button--ghost-danger:not(:disabled):focus-visible{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-button--link{min-height:0;padding:.25rem .125rem;background:none;color:var(--primary);text-decoration:underline;text-underline-offset:.2em}.gbt-button--link:not(:disabled):hover{color:var(--primary-hover);text-decoration-thickness:2px}.gbt-button[aria-pressed=true]{background:var(--bg-hover);box-shadow:inset 0 0 0 2px var(--primary)}.gbt-button--primary[aria-pressed=true]{background:var(--primary-hover);box-shadow:inset 0 0 0 2px var(--text-on-primary)}.gbt-button--danger[aria-pressed=true]{background:var(--color-error-hover);box-shadow:inset 0 0 0 2px var(--text-on-error)}.gbt-button--link[aria-pressed=true]{background:none;box-shadow:none;text-decoration-thickness:2px}:host{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box;text-align:center;border:none;border-radius:var(--site-border-radius-sm);font-family:var(--font-family);font-weight:600;cursor:pointer;transition:background-color var(--site-transition-fast),color var(--site-transition-fast),box-shadow var(--site-transition-fast),opacity var(--site-transition-fast)}:host([aria-disabled=true]){cursor:not-allowed;opacity:.5}:host(.gbt-button--small){padding:.375rem .75rem;font-size:.8125rem;min-height:var(--gbt-control-height-sm)}:host(.gbt-button--medium){padding:.5rem 1rem;font-size:.875rem;min-height:var(--gbt-control-height-md)}:host(.gbt-button--large){padding:.75rem 1.5rem;font-size:1rem;min-height:var(--gbt-control-height-lg)}:host(.gbt-button--icon-only){gap:0}:host(.gbt-button--icon-only.gbt-button--small){padding:.375rem;min-width:var(--gbt-control-height-sm)}:host(.gbt-button--icon-only.gbt-button--medium){padding:.5rem;min-width:var(--gbt-control-height-md)}:host(.gbt-button--icon-only.gbt-button--large){padding:.75rem;min-width:var(--gbt-control-height-lg)}:host(.gbt-button--icon-only.gbt-button--secondary.gbt-button--small){padding:calc(.375rem - 1px)}:host(.gbt-button--icon-only.gbt-button--secondary.gbt-button--medium){padding:calc(.5rem - 1px)}:host(.gbt-button--icon-only.gbt-button--secondary.gbt-button--large){padding:calc(.75rem - 1px);min-width:var(--gbt-control-height-lg);min-height:var(--gbt-control-height-lg)}:host(.gbt-button--primary){background:var(--primary);color:var(--text-on-primary)}:host(.gbt-button--primary:not([aria-disabled=true])):hover{background:var(--primary-hover)}:host(.gbt-button--secondary){background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-color)}:host(.gbt-button--secondary:not([aria-disabled=true])):hover{background:var(--bg-hover)}:host(.gbt-button--danger){background:var(--color-error-fill);color:var(--text-on-error)}:host(.gbt-button--danger:not([aria-disabled=true])):hover{background:var(--color-error-hover)}:host(.gbt-button--ghost){background:transparent;color:var(--text-secondary)}:host(.gbt-button--ghost:not([aria-disabled=true])):hover{background:var(--bg-hover);color:var(--text-primary)}:host(.gbt-button--ghost-danger){background:transparent;color:var(--text-secondary)}:host(.gbt-button--ghost-danger:not([aria-disabled=true])):hover{background:var(--color-error-bg);color:var(--color-error-bg-text)}:host(.gbt-button--ghost-danger:not([aria-disabled=true])):focus-visible{background:var(--color-error-bg);color:var(--color-error-bg-text)}:host(.gbt-button--link){min-height:0;padding:.25rem .125rem;background:none;color:var(--primary);text-decoration:underline;text-underline-offset:.2em}:host(.gbt-button--link:not([aria-disabled=true])):hover{color:var(--primary-hover);text-decoration-thickness:2px}:host([aria-pressed=true]){background:var(--bg-hover);box-shadow:inset 0 0 0 2px var(--primary)}:host(.gbt-button--primary[aria-pressed=true]){background:var(--primary-hover);box-shadow:inset 0 0 0 2px var(--text-on-primary)}:host(.gbt-button--danger[aria-pressed=true]){background:var(--color-error-hover);box-shadow:inset 0 0 0 2px var(--text-on-error)}:host(.gbt-button--link[aria-pressed=true]){background:none;box-shadow:none;text-decoration-thickness:2px}.gbt-button__spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:gbt-button-spin .6s linear infinite}@media(prefers-reduced-motion:reduce){.gbt-button__spinner{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@keyframes gbt-button-spin{to{transform:rotate(360deg)}}\n"]
922
922
  }]
923
923
  }],
924
924
  ctorParameters: () => [],
@@ -1386,7 +1386,7 @@ var Badge = class Badge {
1386
1386
  }],
1387
1387
  ngImport: i0,
1388
1388
  template: "<span\n class=\"gbt-badge\"\n [class.gbt-badge--truncate]=\"truncate()\"\n [class.gbt-badge--tabular]=\"tabularNums()\"\n [class.gbt-badge--mono]=\"mono()\"\n [attr.data-variant]=\"variant()\"\n [attr.data-appearance]=\"appearance() === 'outline' ? 'outline' : null\"\n [attr.data-size]=\"size() === 'sm' ? 'sm' : null\"\n>\n @if (icon(); as name) {\n <gbt-icon [name]=\"name\" class=\"gbt-badge__icon\" aria-hidden=\"true\" />\n }\n <!-- prettier-ignore -->\n <span #content class=\"gbt-badge__label\" [attr.title]=\"fullText()\">@if (hasValue()) {{{ displayText() }}@if (label(); as description) {<span class=\"sr-only\"> {{ description }}</span>}} @else {<ng-content />}</span>\n @if (copyable()) {\n <button\n type=\"button\"\n class=\"gbt-badge__copy\"\n [attr.aria-label]=\"copyLabel()\"\n [attr.data-status]=\"clipboard.status()\"\n (click)=\"copy()\"\n >\n <gbt-icon [name]=\"glyph()\" />\n </button>\n <span class=\"sr-only\" role=\"status\" aria-live=\"polite\">{{ statusText() }}</span>\n }\n</span>\n",
1389
- styles: [":host{display:inline-flex}.gbt-badge{box-sizing:border-box;display:inline-flex;align-items:center;gap:.25rem;--gbt-badge-py: .125rem;--gbt-badge-px: .5rem;padding:var(--gbt-badge-py) var(--gbt-badge-px);border-radius:999px;background:var(--bg-hover);color:var(--text-secondary);font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}.gbt-badge--mono{padding:0 .375rem;border:1px solid var(--gbt-hairline);border-radius:6px;background:var(--bg-hover);color:var(--text-primary);font-family:var(--gbt-font-mono);font-weight:400;line-height:1.125rem}.gbt-badge[data-variant=success]{background:var(--color-success-bg);color:var(--color-success-bg-text)}.gbt-badge[data-variant=warning]{background:var(--color-warning-bg);color:var(--color-warning-bg-text)}.gbt-badge[data-variant=error]{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-badge[data-variant=info]{background:var(--color-info-bg);color:var(--color-info-bg-text)}.gbt-badge[data-size=sm]{--gbt-badge-py: .125rem;--gbt-badge-px: .375rem;font-size:.6875rem;line-height:1.3}.gbt-badge[data-appearance=outline]{padding:calc(var(--gbt-badge-py) - 1px) calc(var(--gbt-badge-px) - 1px);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.gbt-badge[data-appearance=outline][data-variant=success]{border-color:currentColor;color:var(--color-success-text)}.gbt-badge[data-appearance=outline][data-variant=warning]{border-color:currentColor;color:var(--color-warning-text)}.gbt-badge[data-appearance=outline][data-variant=error]{border-color:currentColor;color:var(--color-error-text)}.gbt-badge[data-appearance=outline][data-variant=info]{border-color:currentColor;color:var(--color-info-bg-text)}.gbt-badge--tabular{font-variant-numeric:tabular-nums}.gbt-badge--truncate{max-width:100%;min-width:0}:host(.gbt-badge-host--truncate){max-width:100%;min-width:0}:host([hidden]){display:none}.gbt-badge__icon{flex-shrink:0;width:.875em;height:.875em}.gbt-badge__label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gbt-badge__copy{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;margin-inline-end:-.25rem;padding:0;border:0;border-radius:4px;background:none;color:var(--text-secondary);font-size:.6875rem;cursor:pointer}.gbt-badge__copy:after{content:\"\";position:absolute;inset:-.1875rem}.gbt-badge__copy:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-badge__copy:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.gbt-badge__copy[data-status=copied]{color:var(--color-success-text)}.gbt-badge__copy[data-status=failed]{color:var(--color-error-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}\n"],
1389
+ styles: [":host{display:inline-flex}.gbt-badge{box-sizing:border-box;display:inline-flex;align-items:center;gap:.25rem;--gbt-badge-py: .125rem;--gbt-badge-px: .5rem;padding:var(--gbt-badge-py) var(--gbt-badge-px);border-radius:var(--gbt-radius-badge, 999px);background:var(--bg-hover);color:var(--text-secondary);font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}.gbt-badge--mono{padding:0 .375rem;border:1px solid var(--gbt-hairline);border-radius:var(--gbt-radius-chip, 6px);background:var(--bg-hover);color:var(--text-primary);font-family:var(--gbt-font-mono);font-weight:400;line-height:1.125rem}.gbt-badge[data-variant=success]{background:var(--color-success-bg);color:var(--color-success-bg-text)}.gbt-badge[data-variant=warning]{background:var(--color-warning-bg);color:var(--color-warning-bg-text)}.gbt-badge[data-variant=error]{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-badge[data-variant=info]{background:var(--color-info-bg);color:var(--color-info-bg-text)}.gbt-badge[data-size=sm]{--gbt-badge-py: .125rem;--gbt-badge-px: .375rem;font-size:.6875rem;line-height:1.3}.gbt-badge[data-appearance=outline]{padding:calc(var(--gbt-badge-py) - 1px) calc(var(--gbt-badge-px) - 1px);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.gbt-badge[data-appearance=outline][data-variant=success]{border-color:currentColor;color:var(--color-success-text)}.gbt-badge[data-appearance=outline][data-variant=warning]{border-color:currentColor;color:var(--color-warning-text)}.gbt-badge[data-appearance=outline][data-variant=error]{border-color:currentColor;color:var(--color-error-text)}.gbt-badge[data-appearance=outline][data-variant=info]{border-color:currentColor;color:var(--color-info-bg-text)}.gbt-badge--tabular{font-variant-numeric:tabular-nums}.gbt-badge--truncate{max-width:100%;min-width:0}:host(.gbt-badge-host--truncate){max-width:100%;min-width:0}:host([hidden]){display:none}.gbt-badge__icon{flex-shrink:0;width:.875em;height:.875em}.gbt-badge__label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gbt-badge__copy{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;margin-inline-end:-.25rem;padding:0;border:0;border-radius:4px;background:none;color:var(--text-secondary);font-size:.6875rem;cursor:pointer}.gbt-badge__copy:after{content:\"\";position:absolute;inset:-.1875rem}.gbt-badge__copy:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-badge__copy:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:1px}.gbt-badge__copy[data-status=copied]{color:var(--color-success-text)}.gbt-badge__copy[data-status=failed]{color:var(--color-error-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}\n"],
1390
1390
  dependencies: [{
1391
1391
  kind: "component",
1392
1392
  type: Icon,
@@ -1414,7 +1414,7 @@ i0.ɵɵngDeclareClassMetadata({
1414
1414
  "[attr.hidden]": "visible() ? null : \"\""
1415
1415
  },
1416
1416
  template: "<span\n class=\"gbt-badge\"\n [class.gbt-badge--truncate]=\"truncate()\"\n [class.gbt-badge--tabular]=\"tabularNums()\"\n [class.gbt-badge--mono]=\"mono()\"\n [attr.data-variant]=\"variant()\"\n [attr.data-appearance]=\"appearance() === 'outline' ? 'outline' : null\"\n [attr.data-size]=\"size() === 'sm' ? 'sm' : null\"\n>\n @if (icon(); as name) {\n <gbt-icon [name]=\"name\" class=\"gbt-badge__icon\" aria-hidden=\"true\" />\n }\n <!-- prettier-ignore -->\n <span #content class=\"gbt-badge__label\" [attr.title]=\"fullText()\">@if (hasValue()) {{{ displayText() }}@if (label(); as description) {<span class=\"sr-only\"> {{ description }}</span>}} @else {<ng-content />}</span>\n @if (copyable()) {\n <button\n type=\"button\"\n class=\"gbt-badge__copy\"\n [attr.aria-label]=\"copyLabel()\"\n [attr.data-status]=\"clipboard.status()\"\n (click)=\"copy()\"\n >\n <gbt-icon [name]=\"glyph()\" />\n </button>\n <span class=\"sr-only\" role=\"status\" aria-live=\"polite\">{{ statusText() }}</span>\n }\n</span>\n",
1417
- styles: [":host{display:inline-flex}.gbt-badge{box-sizing:border-box;display:inline-flex;align-items:center;gap:.25rem;--gbt-badge-py: .125rem;--gbt-badge-px: .5rem;padding:var(--gbt-badge-py) var(--gbt-badge-px);border-radius:999px;background:var(--bg-hover);color:var(--text-secondary);font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}.gbt-badge--mono{padding:0 .375rem;border:1px solid var(--gbt-hairline);border-radius:6px;background:var(--bg-hover);color:var(--text-primary);font-family:var(--gbt-font-mono);font-weight:400;line-height:1.125rem}.gbt-badge[data-variant=success]{background:var(--color-success-bg);color:var(--color-success-bg-text)}.gbt-badge[data-variant=warning]{background:var(--color-warning-bg);color:var(--color-warning-bg-text)}.gbt-badge[data-variant=error]{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-badge[data-variant=info]{background:var(--color-info-bg);color:var(--color-info-bg-text)}.gbt-badge[data-size=sm]{--gbt-badge-py: .125rem;--gbt-badge-px: .375rem;font-size:.6875rem;line-height:1.3}.gbt-badge[data-appearance=outline]{padding:calc(var(--gbt-badge-py) - 1px) calc(var(--gbt-badge-px) - 1px);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.gbt-badge[data-appearance=outline][data-variant=success]{border-color:currentColor;color:var(--color-success-text)}.gbt-badge[data-appearance=outline][data-variant=warning]{border-color:currentColor;color:var(--color-warning-text)}.gbt-badge[data-appearance=outline][data-variant=error]{border-color:currentColor;color:var(--color-error-text)}.gbt-badge[data-appearance=outline][data-variant=info]{border-color:currentColor;color:var(--color-info-bg-text)}.gbt-badge--tabular{font-variant-numeric:tabular-nums}.gbt-badge--truncate{max-width:100%;min-width:0}:host(.gbt-badge-host--truncate){max-width:100%;min-width:0}:host([hidden]){display:none}.gbt-badge__icon{flex-shrink:0;width:.875em;height:.875em}.gbt-badge__label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gbt-badge__copy{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;margin-inline-end:-.25rem;padding:0;border:0;border-radius:4px;background:none;color:var(--text-secondary);font-size:.6875rem;cursor:pointer}.gbt-badge__copy:after{content:\"\";position:absolute;inset:-.1875rem}.gbt-badge__copy:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-badge__copy:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.gbt-badge__copy[data-status=copied]{color:var(--color-success-text)}.gbt-badge__copy[data-status=failed]{color:var(--color-error-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}\n"]
1417
+ styles: [":host{display:inline-flex}.gbt-badge{box-sizing:border-box;display:inline-flex;align-items:center;gap:.25rem;--gbt-badge-py: .125rem;--gbt-badge-px: .5rem;padding:var(--gbt-badge-py) var(--gbt-badge-px);border-radius:var(--gbt-radius-badge, 999px);background:var(--bg-hover);color:var(--text-secondary);font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}.gbt-badge--mono{padding:0 .375rem;border:1px solid var(--gbt-hairline);border-radius:var(--gbt-radius-chip, 6px);background:var(--bg-hover);color:var(--text-primary);font-family:var(--gbt-font-mono);font-weight:400;line-height:1.125rem}.gbt-badge[data-variant=success]{background:var(--color-success-bg);color:var(--color-success-bg-text)}.gbt-badge[data-variant=warning]{background:var(--color-warning-bg);color:var(--color-warning-bg-text)}.gbt-badge[data-variant=error]{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-badge[data-variant=info]{background:var(--color-info-bg);color:var(--color-info-bg-text)}.gbt-badge[data-size=sm]{--gbt-badge-py: .125rem;--gbt-badge-px: .375rem;font-size:.6875rem;line-height:1.3}.gbt-badge[data-appearance=outline]{padding:calc(var(--gbt-badge-py) - 1px) calc(var(--gbt-badge-px) - 1px);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.gbt-badge[data-appearance=outline][data-variant=success]{border-color:currentColor;color:var(--color-success-text)}.gbt-badge[data-appearance=outline][data-variant=warning]{border-color:currentColor;color:var(--color-warning-text)}.gbt-badge[data-appearance=outline][data-variant=error]{border-color:currentColor;color:var(--color-error-text)}.gbt-badge[data-appearance=outline][data-variant=info]{border-color:currentColor;color:var(--color-info-bg-text)}.gbt-badge--tabular{font-variant-numeric:tabular-nums}.gbt-badge--truncate{max-width:100%;min-width:0}:host(.gbt-badge-host--truncate){max-width:100%;min-width:0}:host([hidden]){display:none}.gbt-badge__icon{flex-shrink:0;width:.875em;height:.875em}.gbt-badge__label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gbt-badge__copy{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;margin-inline-end:-.25rem;padding:0;border:0;border-radius:4px;background:none;color:var(--text-secondary);font-size:.6875rem;cursor:pointer}.gbt-badge__copy:after{content:\"\";position:absolute;inset:-.1875rem}.gbt-badge__copy:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-badge__copy:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:1px}.gbt-badge__copy[data-status=copied]{color:var(--color-success-text)}.gbt-badge__copy[data-status=failed]{color:var(--color-error-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}\n"]
1418
1418
  }]
1419
1419
  }],
1420
1420
  propDecorators: {
@@ -2449,7 +2449,7 @@ var AvatarGroup = class AvatarGroup {
2449
2449
  } },
2450
2450
  ngImport: i0,
2451
2451
  template: "<ul class=\"gbt-avatar-group__list\" [attr.aria-label]=\"ariaLabel()\">\n @for (item of visibleItems(); track $index) {\n <li class=\"gbt-avatar-group__item\">\n <button\n type=\"button\"\n class=\"gbt-avatar-group__button\"\n [class.gbt-avatar-group__button--active]=\"isActive(item)\"\n [attr.aria-label]=\"item.name\"\n [attr.aria-current]=\"isActive(item) ? 'true' : null\"\n (click)=\"selectItem(item)\"\n >\n <gbt-avatar [name]=\"item.name\" [src]=\"item.src ?? null\" size=\"md\" />\n </button>\n </li>\n }\n @if (overflowCount() > 0) {\n <li class=\"gbt-avatar-group__item\">\n <button\n type=\"button\"\n class=\"gbt-avatar-group__more\"\n aria-haspopup=\"menu\"\n [attr.aria-expanded]=\"panelOpen()\"\n [attr.aria-label]=\"moreLabel()(overflowCount())\"\n (click)=\"toggleOverflowPanel()\"\n >\n +{{ overflowCount() }}\n </button>\n </li>\n }\n</ul>\n\n@if (panelOpen() && panelStyle(); as style) {\n <ul\n class=\"gbt-avatar-group__panel\"\n role=\"menu\"\n [attr.aria-label]=\"moreLabel()(overflowCount())\"\n [style.top]=\"style.top\"\n [style.left]=\"style.left\"\n >\n @for (item of overflowItems(); track $index) {\n <li role=\"presentation\">\n <button\n type=\"button\"\n role=\"menuitem\"\n class=\"gbt-avatar-group__panel-item\"\n [attr.aria-current]=\"isActive(item) ? 'true' : null\"\n (click)=\"selectItem(item)\"\n >\n <gbt-avatar [name]=\"item.name\" [src]=\"item.src ?? null\" size=\"sm\" />\n <span class=\"gbt-avatar-group__panel-item-name\">{{ item.name }}</span>\n @if (isActive(item)) {\n <gbt-icon name=\"check\" class=\"gbt-avatar-group__panel-item-check\" aria-hidden=\"true\" />\n }\n </button>\n </li>\n }\n </ul>\n}\n",
2452
- styles: [":host{display:inline-flex}.gbt-avatar-group__list{display:flex;align-items:center;margin:0;padding:0;list-style:none}.gbt-avatar-group__item{display:flex}.gbt-avatar-group__item:not(:first-child){margin-left:-8px}.gbt-avatar-group__button,.gbt-avatar-group__more{position:relative;box-sizing:border-box;display:inline-flex;padding:0;border:none;border-radius:50%;background:none;cursor:pointer;box-shadow:0 0 0 2px var(--bg-principal);transition:transform .12s cubic-bezier(.4,0,.2,1)}.gbt-avatar-group__button:hover,.gbt-avatar-group__button:focus-visible,.gbt-avatar-group__more:hover,.gbt-avatar-group__more:focus-visible{z-index:1;transform:translateY(-2px)}.gbt-avatar-group__button:focus-visible,.gbt-avatar-group__more:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-avatar-group__button--active{box-shadow:0 0 0 2px var(--bg-principal),0 0 0 4px var(--primary)}.gbt-avatar-group__more{align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-panel);color:var(--text-secondary);font-size:12px;font-weight:600}.gbt-avatar-group__panel{box-sizing:border-box;position:fixed;z-index:1000;margin:0;padding:6px;max-height:280px;overflow-y:auto;list-style:none;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-avatar-group-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-avatar-group__panel::-webkit-scrollbar{width:6px}.gbt-avatar-group__panel::-webkit-scrollbar-track{background:transparent}.gbt-avatar-group__panel::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-avatar-group__panel-item{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:transparent;border:none;border-radius:8px;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-avatar-group__panel-item:hover,.gbt-avatar-group__panel-item:focus-visible{background:var(--bg-hover)}.gbt-avatar-group__panel-item-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gbt-avatar-group__panel-item-check{flex-shrink:0;color:var(--primary)}@keyframes gbt-avatar-group-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.gbt-avatar-group__panel{animation:none}.gbt-avatar-group__button,.gbt-avatar-group__more{transition:none}}\n"],
2452
+ styles: [":host{display:inline-flex}.gbt-avatar-group__list{display:flex;align-items:center;margin:0;padding:0;list-style:none}.gbt-avatar-group__item{display:flex}.gbt-avatar-group__item:not(:first-child){margin-left:-8px}.gbt-avatar-group__button,.gbt-avatar-group__more{position:relative;box-sizing:border-box;display:inline-flex;padding:0;border:none;border-radius:50%;background:none;cursor:pointer;box-shadow:0 0 0 2px var(--bg-principal);transition:transform .12s cubic-bezier(.4,0,.2,1)}.gbt-avatar-group__button:hover,.gbt-avatar-group__button:focus-visible,.gbt-avatar-group__more:hover,.gbt-avatar-group__more:focus-visible{z-index:1;transform:translateY(-2px)}.gbt-avatar-group__button:focus-visible,.gbt-avatar-group__more:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-avatar-group__button--active{box-shadow:0 0 0 2px var(--bg-principal),0 0 0 4px var(--primary)}.gbt-avatar-group__more{align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-panel);color:var(--text-secondary);font-size:12px;font-weight:600}.gbt-avatar-group__panel{box-sizing:border-box;position:fixed;z-index:1000;margin:0;padding:6px;max-height:280px;overflow-y:auto;list-style:none;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-avatar-group-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-avatar-group__panel::-webkit-scrollbar{width:6px}.gbt-avatar-group__panel::-webkit-scrollbar-track{background:transparent}.gbt-avatar-group__panel::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-avatar-group__panel-item{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:transparent;border:none;border-radius:var(--gbt-radius-tile, 8px);color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-avatar-group__panel-item:hover,.gbt-avatar-group__panel-item:focus-visible{background:var(--bg-hover)}.gbt-avatar-group__panel-item-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gbt-avatar-group__panel-item-check{flex-shrink:0;color:var(--primary)}@keyframes gbt-avatar-group-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.gbt-avatar-group__panel{animation:none}.gbt-avatar-group__button,.gbt-avatar-group__more{transition:none}}\n"],
2453
2453
  dependencies: [{
2454
2454
  kind: "component",
2455
2455
  type: Avatar,
@@ -2487,7 +2487,7 @@ i0.ɵɵngDeclareClassMetadata({
2487
2487
  "(window:resize)": "updatePanelPosition()"
2488
2488
  },
2489
2489
  template: "<ul class=\"gbt-avatar-group__list\" [attr.aria-label]=\"ariaLabel()\">\n @for (item of visibleItems(); track $index) {\n <li class=\"gbt-avatar-group__item\">\n <button\n type=\"button\"\n class=\"gbt-avatar-group__button\"\n [class.gbt-avatar-group__button--active]=\"isActive(item)\"\n [attr.aria-label]=\"item.name\"\n [attr.aria-current]=\"isActive(item) ? 'true' : null\"\n (click)=\"selectItem(item)\"\n >\n <gbt-avatar [name]=\"item.name\" [src]=\"item.src ?? null\" size=\"md\" />\n </button>\n </li>\n }\n @if (overflowCount() > 0) {\n <li class=\"gbt-avatar-group__item\">\n <button\n type=\"button\"\n class=\"gbt-avatar-group__more\"\n aria-haspopup=\"menu\"\n [attr.aria-expanded]=\"panelOpen()\"\n [attr.aria-label]=\"moreLabel()(overflowCount())\"\n (click)=\"toggleOverflowPanel()\"\n >\n +{{ overflowCount() }}\n </button>\n </li>\n }\n</ul>\n\n@if (panelOpen() && panelStyle(); as style) {\n <ul\n class=\"gbt-avatar-group__panel\"\n role=\"menu\"\n [attr.aria-label]=\"moreLabel()(overflowCount())\"\n [style.top]=\"style.top\"\n [style.left]=\"style.left\"\n >\n @for (item of overflowItems(); track $index) {\n <li role=\"presentation\">\n <button\n type=\"button\"\n role=\"menuitem\"\n class=\"gbt-avatar-group__panel-item\"\n [attr.aria-current]=\"isActive(item) ? 'true' : null\"\n (click)=\"selectItem(item)\"\n >\n <gbt-avatar [name]=\"item.name\" [src]=\"item.src ?? null\" size=\"sm\" />\n <span class=\"gbt-avatar-group__panel-item-name\">{{ item.name }}</span>\n @if (isActive(item)) {\n <gbt-icon name=\"check\" class=\"gbt-avatar-group__panel-item-check\" aria-hidden=\"true\" />\n }\n </button>\n </li>\n }\n </ul>\n}\n",
2490
- styles: [":host{display:inline-flex}.gbt-avatar-group__list{display:flex;align-items:center;margin:0;padding:0;list-style:none}.gbt-avatar-group__item{display:flex}.gbt-avatar-group__item:not(:first-child){margin-left:-8px}.gbt-avatar-group__button,.gbt-avatar-group__more{position:relative;box-sizing:border-box;display:inline-flex;padding:0;border:none;border-radius:50%;background:none;cursor:pointer;box-shadow:0 0 0 2px var(--bg-principal);transition:transform .12s cubic-bezier(.4,0,.2,1)}.gbt-avatar-group__button:hover,.gbt-avatar-group__button:focus-visible,.gbt-avatar-group__more:hover,.gbt-avatar-group__more:focus-visible{z-index:1;transform:translateY(-2px)}.gbt-avatar-group__button:focus-visible,.gbt-avatar-group__more:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-avatar-group__button--active{box-shadow:0 0 0 2px var(--bg-principal),0 0 0 4px var(--primary)}.gbt-avatar-group__more{align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-panel);color:var(--text-secondary);font-size:12px;font-weight:600}.gbt-avatar-group__panel{box-sizing:border-box;position:fixed;z-index:1000;margin:0;padding:6px;max-height:280px;overflow-y:auto;list-style:none;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-avatar-group-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-avatar-group__panel::-webkit-scrollbar{width:6px}.gbt-avatar-group__panel::-webkit-scrollbar-track{background:transparent}.gbt-avatar-group__panel::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-avatar-group__panel-item{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:transparent;border:none;border-radius:8px;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-avatar-group__panel-item:hover,.gbt-avatar-group__panel-item:focus-visible{background:var(--bg-hover)}.gbt-avatar-group__panel-item-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gbt-avatar-group__panel-item-check{flex-shrink:0;color:var(--primary)}@keyframes gbt-avatar-group-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.gbt-avatar-group__panel{animation:none}.gbt-avatar-group__button,.gbt-avatar-group__more{transition:none}}\n"]
2490
+ styles: [":host{display:inline-flex}.gbt-avatar-group__list{display:flex;align-items:center;margin:0;padding:0;list-style:none}.gbt-avatar-group__item{display:flex}.gbt-avatar-group__item:not(:first-child){margin-left:-8px}.gbt-avatar-group__button,.gbt-avatar-group__more{position:relative;box-sizing:border-box;display:inline-flex;padding:0;border:none;border-radius:50%;background:none;cursor:pointer;box-shadow:0 0 0 2px var(--bg-principal);transition:transform .12s cubic-bezier(.4,0,.2,1)}.gbt-avatar-group__button:hover,.gbt-avatar-group__button:focus-visible,.gbt-avatar-group__more:hover,.gbt-avatar-group__more:focus-visible{z-index:1;transform:translateY(-2px)}.gbt-avatar-group__button:focus-visible,.gbt-avatar-group__more:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-avatar-group__button--active{box-shadow:0 0 0 2px var(--bg-principal),0 0 0 4px var(--primary)}.gbt-avatar-group__more{align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-panel);color:var(--text-secondary);font-size:12px;font-weight:600}.gbt-avatar-group__panel{box-sizing:border-box;position:fixed;z-index:1000;margin:0;padding:6px;max-height:280px;overflow-y:auto;list-style:none;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-avatar-group-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-avatar-group__panel::-webkit-scrollbar{width:6px}.gbt-avatar-group__panel::-webkit-scrollbar-track{background:transparent}.gbt-avatar-group__panel::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-avatar-group__panel-item{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:transparent;border:none;border-radius:var(--gbt-radius-tile, 8px);color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-avatar-group__panel-item:hover,.gbt-avatar-group__panel-item:focus-visible{background:var(--bg-hover)}.gbt-avatar-group__panel-item-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gbt-avatar-group__panel-item-check{flex-shrink:0;color:var(--primary)}@keyframes gbt-avatar-group-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.gbt-avatar-group__panel{animation:none}.gbt-avatar-group__button,.gbt-avatar-group__more{transition:none}}\n"]
2491
2491
  }]
2492
2492
  }],
2493
2493
  propDecorators: {
@@ -2993,7 +2993,7 @@ var EmptyState = class EmptyState {
2993
2993
  }],
2994
2994
  ngImport: i0,
2995
2995
  template: "<div\n class=\"gbt-empty-state\"\n [attr.data-size]=\"size() === 'default' ? null : size()\"\n [attr.data-tone]=\"tone() === 'default' ? null : tone()\"\n>\n @if (illustration()) {\n <div class=\"gbt-empty-state__illustration\" aria-hidden=\"true\">\n @switch (illustration()) {\n @case ('folder') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <rect x=\"16\" y=\"38\" width=\"64\" height=\"40\" rx=\"4\" />\n <path d=\"M16 38 v-8a4 4 0 0 1 4-4h16l8 8h28a4 4 0 0 1 4 4\" />\n <rect\n x=\"34\"\n y=\"14\"\n width=\"16\"\n height=\"20\"\n rx=\"2\"\n transform=\"rotate(-8 42 24)\"\n opacity=\"0.55\"\n />\n <rect\n x=\"50\"\n y=\"16\"\n width=\"16\"\n height=\"20\"\n rx=\"2\"\n transform=\"rotate(6 58 26)\"\n opacity=\"0.55\"\n />\n </svg>\n }\n @case ('star') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path\n d=\"M48,18 L55.6,37.5 L76.5,38.7 L60.4,52 L65.6,72.3 L48,61 L30.4,72.3 L35.6,52 L19.5,38.7 L40.4,37.5 Z\"\n />\n <path d=\"M78,14 L81,20 L78,26 L75,20 Z\" opacity=\"0.55\" />\n <path d=\"M16,64 L19,70 L16,76 L13,70 Z\" opacity=\"0.55\" />\n </svg>\n }\n @case ('checklist') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <rect x=\"24\" y=\"18\" width=\"48\" height=\"64\" rx=\"6\" />\n <rect x=\"38\" y=\"12\" width=\"20\" height=\"10\" rx=\"3\" />\n <line x1=\"34\" y1=\"38\" x2=\"62\" y2=\"38\" />\n <path d=\"M32 50 l4 4 l8-8\" />\n <line x1=\"46\" y1=\"52\" x2=\"62\" y2=\"52\" />\n <line x1=\"34\" y1=\"66\" x2=\"62\" y2=\"66\" opacity=\"0.55\" />\n </svg>\n }\n @case ('merge') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <circle cx=\"24\" cy=\"22\" r=\"7\" />\n <circle cx=\"72\" cy=\"22\" r=\"7\" />\n <circle cx=\"48\" cy=\"76\" r=\"8\" />\n <path d=\"M24 29 V50 Q24 69 39 72\" />\n <path d=\"M72 29 V50 Q72 69 57 72\" />\n </svg>\n }\n @case ('pipeline') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <circle cx=\"22\" cy=\"68\" r=\"12\" />\n <path d=\"M17 60 L29 68 L17 76 Z\" fill=\"currentColor\" stroke=\"none\" />\n <path d=\"M29 58 L44 38\" />\n <circle cx=\"50\" cy=\"30\" r=\"10\" />\n <path d=\"M56 38 L70 54\" />\n <circle cx=\"76\" cy=\"62\" r=\"10\" />\n </svg>\n }\n @case ('tag') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M18 20 H54 L82 48 L54 76 H18 Q14 76 14 72 V24 Q14 20 18 20 Z\" />\n <circle cx=\"34\" cy=\"36\" r=\"5\" />\n </svg>\n }\n @case ('book') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M48 26 Q34 16 16 20 V72 Q34 68 48 78 Q62 68 80 72 V20 Q62 16 48 26 Z\" />\n <line x1=\"24\" y1=\"32\" x2=\"40\" y2=\"30\" />\n <line x1=\"24\" y1=\"42\" x2=\"40\" y2=\"40\" />\n <line x1=\"56\" y1=\"30\" x2=\"72\" y2=\"32\" />\n <line x1=\"56\" y1=\"40\" x2=\"72\" y2=\"42\" />\n </svg>\n }\n @case ('server') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <rect x=\"14\" y=\"16\" width=\"68\" height=\"26\" rx=\"5\" />\n <rect x=\"14\" y=\"54\" width=\"68\" height=\"26\" rx=\"5\" />\n <circle cx=\"26\" cy=\"29\" r=\"3\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"26\" cy=\"67\" r=\"3\" fill=\"currentColor\" stroke=\"none\" />\n <line x1=\"38\" y1=\"29\" x2=\"70\" y2=\"29\" opacity=\"0.55\" />\n <line x1=\"38\" y1=\"67\" x2=\"70\" y2=\"67\" opacity=\"0.55\" />\n </svg>\n }\n }\n </div>\n } @else if (icon()) {\n <div class=\"gbt-empty-state__icon\" aria-hidden=\"true\"><gbt-icon [name]=\"icon()!\" /></div>\n }\n @switch (headingLevel()) {\n @case (1) {\n <h1\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </h1>\n }\n @case (2) {\n <h2\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </h2>\n }\n @case (3) {\n <h3\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </h3>\n }\n @case (4) {\n <h4\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </h4>\n }\n @case (5) {\n <h5\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </h5>\n }\n @case (6) {\n <h6\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </h6>\n }\n @default {\n <p\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </p>\n }\n }\n @if (message()) {\n <p class=\"gbt-empty-state__message\">{{ message() }}</p>\n }\n <div class=\"gbt-empty-state__action\">\n <ng-content />\n </div>\n</div>\n<ng-template #headingText>{{ heading() }}</ng-template>\n",
2996
- styles: [":host{display:block}.gbt-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:3rem 1.5rem}.gbt-empty-state__illustration{width:6rem;height:6rem;color:var(--text-discret)}.gbt-empty-state__illustration svg{width:100%;height:100%}.gbt-empty-state__heading{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.gbt-empty-state__heading:focus{outline:none}.gbt-empty-state__message{margin:0;max-width:32rem;color:var(--text-secondary);font-size:.875rem}.gbt-empty-state__action:empty{display:none}.gbt-empty-state__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:3.25rem;height:3.25rem;border-radius:50%;background:color-mix(in srgb,var(--border-color) 18%,transparent);color:var(--text-secondary);font-size:1.375rem}.gbt-empty-state[data-size=compact]{gap:.25rem;padding:2rem 1.5rem 2.25rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__illustration{width:4rem;height:4rem;margin-bottom:.25rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__icon{width:2.5rem;height:2.5rem;margin-bottom:.5rem;font-size:.875rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__heading{font-size:.9375rem;line-height:1.5rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__message{max-width:28rem;font-size:.8125rem;line-height:1.25rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__action{margin-top:.5rem}.gbt-empty-state[data-tone=error] .gbt-empty-state__icon{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-empty-state[data-tone=error] .gbt-empty-state__illustration{color:var(--color-error-text)}\n"],
2996
+ styles: [":host{display:block}.gbt-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:3rem 1.5rem}.gbt-empty-state__illustration{width:6rem;height:6rem;color:var(--text-discret)}.gbt-empty-state__illustration svg{width:100%;height:100%}.gbt-empty-state__heading{font-family:var(--gbt-font-display, inherit);margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.gbt-empty-state__heading:focus{outline:none}.gbt-empty-state__message{margin:0;max-width:32rem;color:var(--text-secondary);font-size:.875rem}.gbt-empty-state__action:empty{display:none}.gbt-empty-state__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:3.25rem;height:3.25rem;border-radius:50%;background:color-mix(in srgb,var(--border-color) 18%,transparent);color:var(--text-secondary);font-size:1.375rem}.gbt-empty-state[data-size=compact]{gap:.25rem;padding:2rem 1.5rem 2.25rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__illustration{width:4rem;height:4rem;margin-bottom:.25rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__icon{width:2.5rem;height:2.5rem;margin-bottom:.5rem;font-size:.875rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__heading{font-size:.9375rem;line-height:1.5rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__message{max-width:28rem;font-size:.8125rem;line-height:1.25rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__action{margin-top:.5rem}.gbt-empty-state[data-tone=error] .gbt-empty-state__icon{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-empty-state[data-tone=error] .gbt-empty-state__illustration{color:var(--color-error-text)}\n"],
2997
2997
  dependencies: [{
2998
2998
  kind: "component",
2999
2999
  type: Icon,
@@ -3025,7 +3025,7 @@ i0.ɵɵngDeclareClassMetadata({
3025
3025
  imports: [Icon, NgTemplateOutlet],
3026
3026
  changeDetection: ChangeDetectionStrategy.OnPush,
3027
3027
  template: "<div\n class=\"gbt-empty-state\"\n [attr.data-size]=\"size() === 'default' ? null : size()\"\n [attr.data-tone]=\"tone() === 'default' ? null : tone()\"\n>\n @if (illustration()) {\n <div class=\"gbt-empty-state__illustration\" aria-hidden=\"true\">\n @switch (illustration()) {\n @case ('folder') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <rect x=\"16\" y=\"38\" width=\"64\" height=\"40\" rx=\"4\" />\n <path d=\"M16 38 v-8a4 4 0 0 1 4-4h16l8 8h28a4 4 0 0 1 4 4\" />\n <rect\n x=\"34\"\n y=\"14\"\n width=\"16\"\n height=\"20\"\n rx=\"2\"\n transform=\"rotate(-8 42 24)\"\n opacity=\"0.55\"\n />\n <rect\n x=\"50\"\n y=\"16\"\n width=\"16\"\n height=\"20\"\n rx=\"2\"\n transform=\"rotate(6 58 26)\"\n opacity=\"0.55\"\n />\n </svg>\n }\n @case ('star') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path\n d=\"M48,18 L55.6,37.5 L76.5,38.7 L60.4,52 L65.6,72.3 L48,61 L30.4,72.3 L35.6,52 L19.5,38.7 L40.4,37.5 Z\"\n />\n <path d=\"M78,14 L81,20 L78,26 L75,20 Z\" opacity=\"0.55\" />\n <path d=\"M16,64 L19,70 L16,76 L13,70 Z\" opacity=\"0.55\" />\n </svg>\n }\n @case ('checklist') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <rect x=\"24\" y=\"18\" width=\"48\" height=\"64\" rx=\"6\" />\n <rect x=\"38\" y=\"12\" width=\"20\" height=\"10\" rx=\"3\" />\n <line x1=\"34\" y1=\"38\" x2=\"62\" y2=\"38\" />\n <path d=\"M32 50 l4 4 l8-8\" />\n <line x1=\"46\" y1=\"52\" x2=\"62\" y2=\"52\" />\n <line x1=\"34\" y1=\"66\" x2=\"62\" y2=\"66\" opacity=\"0.55\" />\n </svg>\n }\n @case ('merge') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <circle cx=\"24\" cy=\"22\" r=\"7\" />\n <circle cx=\"72\" cy=\"22\" r=\"7\" />\n <circle cx=\"48\" cy=\"76\" r=\"8\" />\n <path d=\"M24 29 V50 Q24 69 39 72\" />\n <path d=\"M72 29 V50 Q72 69 57 72\" />\n </svg>\n }\n @case ('pipeline') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <circle cx=\"22\" cy=\"68\" r=\"12\" />\n <path d=\"M17 60 L29 68 L17 76 Z\" fill=\"currentColor\" stroke=\"none\" />\n <path d=\"M29 58 L44 38\" />\n <circle cx=\"50\" cy=\"30\" r=\"10\" />\n <path d=\"M56 38 L70 54\" />\n <circle cx=\"76\" cy=\"62\" r=\"10\" />\n </svg>\n }\n @case ('tag') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M18 20 H54 L82 48 L54 76 H18 Q14 76 14 72 V24 Q14 20 18 20 Z\" />\n <circle cx=\"34\" cy=\"36\" r=\"5\" />\n </svg>\n }\n @case ('book') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M48 26 Q34 16 16 20 V72 Q34 68 48 78 Q62 68 80 72 V20 Q62 16 48 26 Z\" />\n <line x1=\"24\" y1=\"32\" x2=\"40\" y2=\"30\" />\n <line x1=\"24\" y1=\"42\" x2=\"40\" y2=\"40\" />\n <line x1=\"56\" y1=\"30\" x2=\"72\" y2=\"32\" />\n <line x1=\"56\" y1=\"40\" x2=\"72\" y2=\"42\" />\n </svg>\n }\n @case ('server') {\n <svg\n viewBox=\"0 0 96 96\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <rect x=\"14\" y=\"16\" width=\"68\" height=\"26\" rx=\"5\" />\n <rect x=\"14\" y=\"54\" width=\"68\" height=\"26\" rx=\"5\" />\n <circle cx=\"26\" cy=\"29\" r=\"3\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"26\" cy=\"67\" r=\"3\" fill=\"currentColor\" stroke=\"none\" />\n <line x1=\"38\" y1=\"29\" x2=\"70\" y2=\"29\" opacity=\"0.55\" />\n <line x1=\"38\" y1=\"67\" x2=\"70\" y2=\"67\" opacity=\"0.55\" />\n </svg>\n }\n }\n </div>\n } @else if (icon()) {\n <div class=\"gbt-empty-state__icon\" aria-hidden=\"true\"><gbt-icon [name]=\"icon()!\" /></div>\n }\n @switch (headingLevel()) {\n @case (1) {\n <h1\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </h1>\n }\n @case (2) {\n <h2\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </h2>\n }\n @case (3) {\n <h3\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </h3>\n }\n @case (4) {\n <h4\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </h4>\n }\n @case (5) {\n <h5\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </h5>\n }\n @case (6) {\n <h6\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </h6>\n }\n @default {\n <p\n #headingEl\n class=\"gbt-empty-state__heading\"\n [attr.id]=\"headingId()\"\n [attr.tabindex]=\"headingFocusable() ? -1 : null\"\n >\n <ng-container *ngTemplateOutlet=\"headingText\" />\n </p>\n }\n }\n @if (message()) {\n <p class=\"gbt-empty-state__message\">{{ message() }}</p>\n }\n <div class=\"gbt-empty-state__action\">\n <ng-content />\n </div>\n</div>\n<ng-template #headingText>{{ heading() }}</ng-template>\n",
3028
- styles: [":host{display:block}.gbt-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:3rem 1.5rem}.gbt-empty-state__illustration{width:6rem;height:6rem;color:var(--text-discret)}.gbt-empty-state__illustration svg{width:100%;height:100%}.gbt-empty-state__heading{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.gbt-empty-state__heading:focus{outline:none}.gbt-empty-state__message{margin:0;max-width:32rem;color:var(--text-secondary);font-size:.875rem}.gbt-empty-state__action:empty{display:none}.gbt-empty-state__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:3.25rem;height:3.25rem;border-radius:50%;background:color-mix(in srgb,var(--border-color) 18%,transparent);color:var(--text-secondary);font-size:1.375rem}.gbt-empty-state[data-size=compact]{gap:.25rem;padding:2rem 1.5rem 2.25rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__illustration{width:4rem;height:4rem;margin-bottom:.25rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__icon{width:2.5rem;height:2.5rem;margin-bottom:.5rem;font-size:.875rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__heading{font-size:.9375rem;line-height:1.5rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__message{max-width:28rem;font-size:.8125rem;line-height:1.25rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__action{margin-top:.5rem}.gbt-empty-state[data-tone=error] .gbt-empty-state__icon{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-empty-state[data-tone=error] .gbt-empty-state__illustration{color:var(--color-error-text)}\n"]
3028
+ styles: [":host{display:block}.gbt-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:3rem 1.5rem}.gbt-empty-state__illustration{width:6rem;height:6rem;color:var(--text-discret)}.gbt-empty-state__illustration svg{width:100%;height:100%}.gbt-empty-state__heading{font-family:var(--gbt-font-display, inherit);margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.gbt-empty-state__heading:focus{outline:none}.gbt-empty-state__message{margin:0;max-width:32rem;color:var(--text-secondary);font-size:.875rem}.gbt-empty-state__action:empty{display:none}.gbt-empty-state__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:3.25rem;height:3.25rem;border-radius:50%;background:color-mix(in srgb,var(--border-color) 18%,transparent);color:var(--text-secondary);font-size:1.375rem}.gbt-empty-state[data-size=compact]{gap:.25rem;padding:2rem 1.5rem 2.25rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__illustration{width:4rem;height:4rem;margin-bottom:.25rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__icon{width:2.5rem;height:2.5rem;margin-bottom:.5rem;font-size:.875rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__heading{font-size:.9375rem;line-height:1.5rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__message{max-width:28rem;font-size:.8125rem;line-height:1.25rem}.gbt-empty-state[data-size=compact] .gbt-empty-state__action{margin-top:.5rem}.gbt-empty-state[data-tone=error] .gbt-empty-state__icon{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-empty-state[data-tone=error] .gbt-empty-state__illustration{color:var(--color-error-text)}\n"]
3029
3029
  }]
3030
3030
  }],
3031
3031
  propDecorators: {
@@ -3141,6 +3141,7 @@ var GbtInput = class GbtInput {
3141
3141
  maxlength = input(null, ...ngDevMode ? [{ debugName: "maxlength" }] : /* istanbul ignore next */ []);
3142
3142
  min = input(null, ...ngDevMode ? [{ debugName: "min" }] : /* istanbul ignore next */ []);
3143
3143
  max = input(null, ...ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []);
3144
+ combobox = input(null, ...ngDevMode ? [{ debugName: "combobox" }] : /* istanbul ignore next */ []);
3144
3145
  showPasswordLabel = input("Show password", ...ngDevMode ? [{ debugName: "showPasswordLabel" }] : /* istanbul ignore next */ []);
3145
3146
  hidePasswordLabel = input("Hide password", ...ngDevMode ? [{ debugName: "hidePasswordLabel" }] : /* istanbul ignore next */ []);
3146
3147
  committed = output();
@@ -3340,6 +3341,13 @@ var GbtInput = class GbtInput {
3340
3341
  isRequired: false,
3341
3342
  transformFunction: null
3342
3343
  },
3344
+ combobox: {
3345
+ classPropertyName: "combobox",
3346
+ publicName: "combobox",
3347
+ isSignal: true,
3348
+ isRequired: false,
3349
+ transformFunction: null
3350
+ },
3343
3351
  showPasswordLabel: {
3344
3352
  classPropertyName: "showPasswordLabel",
3345
3353
  publicName: "showPasswordLabel",
@@ -3362,8 +3370,8 @@ var GbtInput = class GbtInput {
3362
3370
  multi: true
3363
3371
  }],
3364
3372
  ngImport: i0,
3365
- template: "<div\n class=\"gbt-input\"\n [class.gbt-input--sm]=\"size() === 'sm'\"\n [class.gbt-input--mono]=\"mono()\"\n [class.gbt-input--leading]=\"!!leadingIcon()\"\n>\n @if (label()) {\n <label [for]=\"id()\" [class.gbt-input__label--hidden]=\"hideLabel()\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n <div class=\"gbt-input__wrapper\">\n @if (leadingIcon(); as icon) {\n <span class=\"gbt-input__leading\" aria-hidden=\"true\">\n <gbt-icon [name]=\"icon\" />\n </span>\n }\n <input\n [id]=\"id()\"\n [type]=\"effectiveType()\"\n [placeholder]=\"placeholder()\"\n [required]=\"required()\"\n [disabled]=\"isDisabled()\"\n [attr.autocomplete]=\"autocomplete()\"\n [attr.inputmode]=\"inputmode()\"\n [attr.spellcheck]=\"spellcheck()\"\n [attr.autocapitalize]=\"autocapitalize()\"\n [attr.enterkeyhint]=\"enterkeyhint()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [value]=\"value()\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"describedBy()\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n />\n @if (type() === 'password') {\n <button\n type=\"button\"\n class=\"gbt-input__toggle\"\n (click)=\"togglePasswordVisibility()\"\n [attr.aria-label]=\"passwordVisible() ? hidePasswordLabel() : showPasswordLabel()\"\n >\n <gbt-icon [name]=\"passwordVisible() ? 'eye-off' : 'eye'\" aria-hidden=\"true\" />\n </button>\n }\n </div>\n @if (showHint()) {\n <p [id]=\"hintId()\" class=\"gbt-input__hint\">{{ hint() }}</p>\n }\n @if (errorMessage()) {\n <p [id]=\"errorId()\" class=\"gbt-input__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
3366
- styles: [":host{display:block}.gbt-input{display:flex;flex-direction:column;gap:.375rem}.gbt-input label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-input__wrapper{position:relative;display:flex;align-items:center}.gbt-input input{box-sizing:border-box;width:100%;height:var(--gbt-control-height-md);padding:0 .75rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-primary);background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);transition:border-color var(--site-transition-fast)}.gbt-input input:focus{outline:none;border-color:var(--primary)}.gbt-input input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.gbt-input input:disabled{background:var(--bg-panel);cursor:not-allowed}.gbt-input input[type=search]{-webkit-appearance:none;appearance:none}.gbt-input__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-input__hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.gbt-input__leading{position:absolute;left:.75rem;display:inline-flex;font-size:.875rem;color:var(--text-discret);pointer-events:none}.gbt-input--leading input{padding-left:2.25rem}.gbt-input--mono input{font-family:var(--gbt-font-mono, ui-monospace, \"SFMono-Regular\", Menlo, Consolas, monospace),serif;font-size:.8125rem}.gbt-input--sm input{height:var(--gbt-control-height-sm);padding:0 .625rem;font-size:.8125rem}.gbt-input--sm .gbt-input__leading{left:.625rem;font-size:.8125rem}.gbt-input--sm.gbt-input--mono input{font-size:.75rem}.gbt-input--sm.gbt-input--leading input{padding-left:2rem}.gbt-input__toggle{position:absolute;right:.5rem;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;background:none;border:none;color:var(--text-discret);cursor:pointer}.gbt-input__toggle:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-input__error{margin:0;font-size:.75rem;color:var(--color-error-text)}\n"],
3373
+ template: "<div\n class=\"gbt-input\"\n [class.gbt-input--sm]=\"size() === 'sm'\"\n [class.gbt-input--mono]=\"mono()\"\n [class.gbt-input--leading]=\"!!leadingIcon()\"\n>\n @if (label()) {\n <label [for]=\"id()\" [class.gbt-input__label--hidden]=\"hideLabel()\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n <div class=\"gbt-input__wrapper\">\n @if (leadingIcon(); as icon) {\n <span class=\"gbt-input__leading\" aria-hidden=\"true\">\n <gbt-icon [name]=\"icon\" />\n </span>\n }\n <input\n [id]=\"id()\"\n [type]=\"effectiveType()\"\n [placeholder]=\"placeholder()\"\n [required]=\"required()\"\n [disabled]=\"isDisabled()\"\n [attr.autocomplete]=\"autocomplete()\"\n [attr.inputmode]=\"inputmode()\"\n [attr.spellcheck]=\"spellcheck()\"\n [attr.autocapitalize]=\"autocapitalize()\"\n [attr.enterkeyhint]=\"enterkeyhint()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [value]=\"value()\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"describedBy()\"\n [attr.role]=\"combobox() ? 'combobox' : null\"\n [attr.aria-autocomplete]=\"combobox() ? 'list' : null\"\n [attr.aria-expanded]=\"combobox()?.expanded ?? null\"\n [attr.aria-controls]=\"combobox()?.controls ?? null\"\n [attr.aria-activedescendant]=\"combobox()?.activeDescendant ?? null\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n />\n @if (type() === 'password') {\n <button\n type=\"button\"\n class=\"gbt-input__toggle\"\n (click)=\"togglePasswordVisibility()\"\n [attr.aria-label]=\"passwordVisible() ? hidePasswordLabel() : showPasswordLabel()\"\n >\n <gbt-icon [name]=\"passwordVisible() ? 'eye-off' : 'eye'\" aria-hidden=\"true\" />\n </button>\n }\n </div>\n @if (showHint()) {\n <p [id]=\"hintId()\" class=\"gbt-input__hint\">{{ hint() }}</p>\n }\n @if (errorMessage()) {\n <p [id]=\"errorId()\" class=\"gbt-input__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
3374
+ styles: [":host{display:block}.gbt-input{display:flex;flex-direction:column;gap:.375rem}.gbt-input label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-input__wrapper{position:relative;display:flex;align-items:center}.gbt-input input{box-sizing:border-box;width:100%;height:var(--gbt-control-height-md);padding:0 .75rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-primary);background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);transition:border-color var(--site-transition-fast)}.gbt-input input:focus{outline:none;border-color:var(--primary)}.gbt-input input:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:1px}.gbt-input input:disabled{background:var(--bg-panel);cursor:not-allowed}.gbt-input input[type=search]{-webkit-appearance:none;appearance:none}.gbt-input__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-input__hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.gbt-input__leading{position:absolute;left:.75rem;display:inline-flex;font-size:.875rem;color:var(--text-discret);pointer-events:none}.gbt-input--leading input{padding-left:2.25rem}.gbt-input--mono input{font-family:var(--gbt-font-mono, ui-monospace, \"SFMono-Regular\", Menlo, Consolas, monospace),serif;font-size:.8125rem}.gbt-input--sm input{height:var(--gbt-control-height-sm);padding:0 .625rem;font-size:.8125rem}.gbt-input--sm .gbt-input__leading{left:.625rem;font-size:.8125rem}.gbt-input--sm.gbt-input--mono input{font-size:.75rem}.gbt-input--sm.gbt-input--leading input{padding-left:2rem}.gbt-input__toggle{position:absolute;right:.5rem;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;background:none;border:none;color:var(--text-discret);cursor:pointer}.gbt-input__toggle:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-input__error{margin:0;font-size:.75rem;color:var(--color-error-text)}\n"],
3367
3375
  dependencies: [{
3368
3376
  kind: "component",
3369
3377
  type: Icon,
@@ -3390,8 +3398,8 @@ i0.ɵɵngDeclareClassMetadata({
3390
3398
  useExisting: forwardRef(() => GbtInput),
3391
3399
  multi: true
3392
3400
  }],
3393
- template: "<div\n class=\"gbt-input\"\n [class.gbt-input--sm]=\"size() === 'sm'\"\n [class.gbt-input--mono]=\"mono()\"\n [class.gbt-input--leading]=\"!!leadingIcon()\"\n>\n @if (label()) {\n <label [for]=\"id()\" [class.gbt-input__label--hidden]=\"hideLabel()\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n <div class=\"gbt-input__wrapper\">\n @if (leadingIcon(); as icon) {\n <span class=\"gbt-input__leading\" aria-hidden=\"true\">\n <gbt-icon [name]=\"icon\" />\n </span>\n }\n <input\n [id]=\"id()\"\n [type]=\"effectiveType()\"\n [placeholder]=\"placeholder()\"\n [required]=\"required()\"\n [disabled]=\"isDisabled()\"\n [attr.autocomplete]=\"autocomplete()\"\n [attr.inputmode]=\"inputmode()\"\n [attr.spellcheck]=\"spellcheck()\"\n [attr.autocapitalize]=\"autocapitalize()\"\n [attr.enterkeyhint]=\"enterkeyhint()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [value]=\"value()\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"describedBy()\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n />\n @if (type() === 'password') {\n <button\n type=\"button\"\n class=\"gbt-input__toggle\"\n (click)=\"togglePasswordVisibility()\"\n [attr.aria-label]=\"passwordVisible() ? hidePasswordLabel() : showPasswordLabel()\"\n >\n <gbt-icon [name]=\"passwordVisible() ? 'eye-off' : 'eye'\" aria-hidden=\"true\" />\n </button>\n }\n </div>\n @if (showHint()) {\n <p [id]=\"hintId()\" class=\"gbt-input__hint\">{{ hint() }}</p>\n }\n @if (errorMessage()) {\n <p [id]=\"errorId()\" class=\"gbt-input__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
3394
- styles: [":host{display:block}.gbt-input{display:flex;flex-direction:column;gap:.375rem}.gbt-input label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-input__wrapper{position:relative;display:flex;align-items:center}.gbt-input input{box-sizing:border-box;width:100%;height:var(--gbt-control-height-md);padding:0 .75rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-primary);background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);transition:border-color var(--site-transition-fast)}.gbt-input input:focus{outline:none;border-color:var(--primary)}.gbt-input input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.gbt-input input:disabled{background:var(--bg-panel);cursor:not-allowed}.gbt-input input[type=search]{-webkit-appearance:none;appearance:none}.gbt-input__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-input__hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.gbt-input__leading{position:absolute;left:.75rem;display:inline-flex;font-size:.875rem;color:var(--text-discret);pointer-events:none}.gbt-input--leading input{padding-left:2.25rem}.gbt-input--mono input{font-family:var(--gbt-font-mono, ui-monospace, \"SFMono-Regular\", Menlo, Consolas, monospace),serif;font-size:.8125rem}.gbt-input--sm input{height:var(--gbt-control-height-sm);padding:0 .625rem;font-size:.8125rem}.gbt-input--sm .gbt-input__leading{left:.625rem;font-size:.8125rem}.gbt-input--sm.gbt-input--mono input{font-size:.75rem}.gbt-input--sm.gbt-input--leading input{padding-left:2rem}.gbt-input__toggle{position:absolute;right:.5rem;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;background:none;border:none;color:var(--text-discret);cursor:pointer}.gbt-input__toggle:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-input__error{margin:0;font-size:.75rem;color:var(--color-error-text)}\n"]
3401
+ template: "<div\n class=\"gbt-input\"\n [class.gbt-input--sm]=\"size() === 'sm'\"\n [class.gbt-input--mono]=\"mono()\"\n [class.gbt-input--leading]=\"!!leadingIcon()\"\n>\n @if (label()) {\n <label [for]=\"id()\" [class.gbt-input__label--hidden]=\"hideLabel()\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n <div class=\"gbt-input__wrapper\">\n @if (leadingIcon(); as icon) {\n <span class=\"gbt-input__leading\" aria-hidden=\"true\">\n <gbt-icon [name]=\"icon\" />\n </span>\n }\n <input\n [id]=\"id()\"\n [type]=\"effectiveType()\"\n [placeholder]=\"placeholder()\"\n [required]=\"required()\"\n [disabled]=\"isDisabled()\"\n [attr.autocomplete]=\"autocomplete()\"\n [attr.inputmode]=\"inputmode()\"\n [attr.spellcheck]=\"spellcheck()\"\n [attr.autocapitalize]=\"autocapitalize()\"\n [attr.enterkeyhint]=\"enterkeyhint()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [value]=\"value()\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"describedBy()\"\n [attr.role]=\"combobox() ? 'combobox' : null\"\n [attr.aria-autocomplete]=\"combobox() ? 'list' : null\"\n [attr.aria-expanded]=\"combobox()?.expanded ?? null\"\n [attr.aria-controls]=\"combobox()?.controls ?? null\"\n [attr.aria-activedescendant]=\"combobox()?.activeDescendant ?? null\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n />\n @if (type() === 'password') {\n <button\n type=\"button\"\n class=\"gbt-input__toggle\"\n (click)=\"togglePasswordVisibility()\"\n [attr.aria-label]=\"passwordVisible() ? hidePasswordLabel() : showPasswordLabel()\"\n >\n <gbt-icon [name]=\"passwordVisible() ? 'eye-off' : 'eye'\" aria-hidden=\"true\" />\n </button>\n }\n </div>\n @if (showHint()) {\n <p [id]=\"hintId()\" class=\"gbt-input__hint\">{{ hint() }}</p>\n }\n @if (errorMessage()) {\n <p [id]=\"errorId()\" class=\"gbt-input__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
3402
+ styles: [":host{display:block}.gbt-input{display:flex;flex-direction:column;gap:.375rem}.gbt-input label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-input__wrapper{position:relative;display:flex;align-items:center}.gbt-input input{box-sizing:border-box;width:100%;height:var(--gbt-control-height-md);padding:0 .75rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-primary);background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);transition:border-color var(--site-transition-fast)}.gbt-input input:focus{outline:none;border-color:var(--primary)}.gbt-input input:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:1px}.gbt-input input:disabled{background:var(--bg-panel);cursor:not-allowed}.gbt-input input[type=search]{-webkit-appearance:none;appearance:none}.gbt-input__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-input__hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.gbt-input__leading{position:absolute;left:.75rem;display:inline-flex;font-size:.875rem;color:var(--text-discret);pointer-events:none}.gbt-input--leading input{padding-left:2.25rem}.gbt-input--mono input{font-family:var(--gbt-font-mono, ui-monospace, \"SFMono-Regular\", Menlo, Consolas, monospace),serif;font-size:.8125rem}.gbt-input--sm input{height:var(--gbt-control-height-sm);padding:0 .625rem;font-size:.8125rem}.gbt-input--sm .gbt-input__leading{left:.625rem;font-size:.8125rem}.gbt-input--sm.gbt-input--mono input{font-size:.75rem}.gbt-input--sm.gbt-input--leading input{padding-left:2rem}.gbt-input__toggle{position:absolute;right:.5rem;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;background:none;border:none;color:var(--text-discret);cursor:pointer}.gbt-input__toggle:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-input__error{margin:0;font-size:.75rem;color:var(--color-error-text)}\n"]
3395
3403
  }]
3396
3404
  }],
3397
3405
  propDecorators: {
@@ -3555,6 +3563,14 @@ i0.ɵɵngDeclareClassMetadata({
3555
3563
  required: false
3556
3564
  }]
3557
3565
  }],
3566
+ combobox: [{
3567
+ type: i0.Input,
3568
+ args: [{
3569
+ isSignal: true,
3570
+ alias: "combobox",
3571
+ required: false
3572
+ }]
3573
+ }],
3558
3574
  showPasswordLabel: [{
3559
3575
  type: i0.Input,
3560
3576
  args: [{
@@ -3907,7 +3923,7 @@ var Select = class Select {
3907
3923
  }],
3908
3924
  ngImport: i0,
3909
3925
  template: "<div class=\"gbt-select\" [class.gbt-select--disabled]=\"isDisabled()\">\n @if (label()) {\n <label\n [id]=\"labelId()\"\n [for]=\"id()\"\n class=\"gbt-select__label\"\n [class.gbt-select__label--hidden]=\"hideLabel()\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n\n <button\n type=\"button\"\n [id]=\"id()\"\n class=\"gbt-select__trigger\"\n [class.gbt-select__trigger--open]=\"open()\"\n [disabled]=\"isDisabled()\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"open() ? id() + '-listbox' : null\"\n [attr.aria-activedescendant]=\"activeOptionId()\"\n [attr.aria-labelledby]=\"label() ? labelId() + ' ' + id() : null\"\n [attr.aria-label]=\"label() ? null : placeholder() || null\"\n [attr.aria-required]=\"required() ? true : null\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"describedBy()\"\n (click)=\"toggleOpen()\"\n >\n @if (triggerIcon(); as icon) {\n <gbt-icon [name]=\"icon\" class=\"gbt-select__trigger-icon\" aria-hidden=\"true\" />\n }\n <span\n class=\"gbt-select__trigger-label\"\n [class.gbt-select__trigger-label--placeholder]=\"selectedOptions().length === 0\"\n >\n {{ triggerLabel() }}\n </span>\n <gbt-icon name=\"chevron-down\" class=\"gbt-select__chevron\" aria-hidden=\"true\" />\n </button>\n @if (chipsVisible()) {\n <div class=\"gbt-select__chips\" [id]=\"chipsId()\">\n @for (option of selectedOptions(); track option.value; let i = $index) {\n <gbt-tag\n [color]=\"option.color ?? '#6b7280'\"\n [removable]=\"!isDisabled()\"\n [disabled]=\"isDisabled()\"\n [removeLabel]=\"chipRemoveLabel()(option.label)\"\n (removed)=\"removeChip(option.value, i)\"\n >\n {{ option.label }}\n </gbt-tag>\n }\n </div>\n }\n @if (chips() && multiple()) {\n <div role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" class=\"sr-only\">\n {{ selectedCountLabel()(selectedOptions().length) }}\n </div>\n }\n @if (open() && panelStyle(); as style) {\n @if (hasNoOptions()) {\n <div\n [id]=\"id() + '-listbox'\"\n class=\"gbt-select__panel gbt-select__empty\"\n role=\"status\"\n [style.top]=\"style.top\"\n [style.left]=\"style.left\"\n [style.width]=\"style.width\"\n >\n {{ noOptionsMessage() }}\n </div>\n } @else {\n <ul\n [id]=\"id() + '-listbox'\"\n class=\"gbt-select__panel\"\n role=\"listbox\"\n [attr.aria-label]=\"label() || placeholder()\"\n [attr.aria-multiselectable]=\"multiple()\"\n [style.top]=\"style.top\"\n [style.left]=\"style.left\"\n [style.width]=\"style.width\"\n >\n @for (option of options(); track option.value; let i = $index) {\n <li role=\"presentation\">\n <button\n [id]=\"id() + '-option-' + i\"\n type=\"button\"\n role=\"option\"\n tabindex=\"-1\"\n class=\"gbt-select__option\"\n [class.gbt-select__option--selected]=\"isSelected(option.value)\"\n [class.gbt-select__option--active]=\"i === activeIndex()\"\n [attr.aria-selected]=\"isSelected(option.value)\"\n (click)=\"selectOption(option.value)\"\n (mouseenter)=\"activeIndex.set(i)\"\n >\n @if (option.icon) {\n <gbt-icon [name]=\"option.icon\" class=\"gbt-select__option-icon\" aria-hidden=\"true\" />\n }\n <span class=\"gbt-select__option-label\">{{ option.label }}</span>\n @if (isSelected(option.value)) {\n <gbt-icon name=\"check\" class=\"gbt-select__option-check\" aria-hidden=\"true\" />\n }\n </button>\n </li>\n }\n </ul>\n }\n }\n @if (showHint()) {\n <p [id]=\"hintId()\" class=\"gbt-select__hint\">{{ hint() }}</p>\n }\n @if (errorMessage()) {\n <p [id]=\"id() + '-error'\" class=\"gbt-select__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
3910
- styles: [":host{position:relative;display:inline-block;min-width:180px}.gbt-select{display:flex;flex-direction:column;gap:.375rem}.gbt-select--disabled{opacity:.5}.gbt-select__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-select__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:host(.gbt-select--full){display:block;width:100%}.gbt-select__trigger{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;height:var(--gbt-control-height-md);padding:0 10px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:14px;cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}.gbt-select__trigger:hover:not(:disabled){border-color:var(--border-color)}.gbt-select__trigger--open{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-select__trigger:disabled{cursor:not-allowed}:host(.gbt-select--sm){min-width:120px}:host(.gbt-select--sm) .gbt-select__trigger{height:var(--gbt-control-height-sm);padding:0 8px;font-size:13px}.gbt-select__trigger-icon{flex-shrink:0;color:var(--text-secondary)}.gbt-select__trigger-label{flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-select__trigger-label--placeholder{color:var(--text-discret)}.gbt-select__chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-select__trigger--open .gbt-select__chevron{transform:rotate(180deg)}.gbt-select__panel{position:fixed;z-index:1000;margin:0;padding:6px;list-style:none;max-height:280px;overflow-y:auto;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-select-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-select__panel::-webkit-scrollbar{width:6px}.gbt-select__panel::-webkit-scrollbar-track{background:transparent}.gbt-select__panel::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-select__empty{box-sizing:border-box;padding:10px 12px;color:var(--text-secondary);font-size:13px}.gbt-select__option{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:8px;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-select__option:hover,.gbt-select__option--active{background:var(--bg-hover)}.gbt-select__option--selected{color:var(--primary);font-weight:600}.gbt-select__option-icon{flex-shrink:0;color:var(--text-secondary)}.gbt-select__option--selected .gbt-select__option-icon{color:var(--primary)}.gbt-select__option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-select__option-check{flex-shrink:0;color:var(--primary)}@keyframes gbt-select-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.gbt-select__chips{display:flex;flex-wrap:wrap;gap:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gbt-select__hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.gbt-select__error{margin:0;font-size:.75rem;color:var(--color-error-text)}@media(prefers-reduced-motion:reduce){.gbt-select__panel{animation:none}.gbt-select__chevron{transition:none}}\n"],
3926
+ styles: [":host{position:relative;display:inline-block;min-width:180px}.gbt-select{display:flex;flex-direction:column;gap:.375rem}.gbt-select--disabled{opacity:.5}.gbt-select__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-select__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:host(.gbt-select--full){display:block;width:100%}.gbt-select__trigger{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;height:var(--gbt-control-height-md);padding:0 10px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:14px;cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}.gbt-select__trigger:hover:not(:disabled){border-color:var(--border-color)}.gbt-select__trigger--open{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-select__trigger:disabled{cursor:not-allowed}:host(.gbt-select--sm){min-width:120px}:host(.gbt-select--sm) .gbt-select__trigger{height:var(--gbt-control-height-sm);padding:0 8px;font-size:13px}.gbt-select__trigger-icon{flex-shrink:0;color:var(--text-secondary)}.gbt-select__trigger-label{flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-select__trigger-label--placeholder{color:var(--text-discret)}.gbt-select__chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-select__trigger--open .gbt-select__chevron{transform:rotate(180deg)}.gbt-select__panel{position:fixed;z-index:1000;margin:0;padding:6px;list-style:none;max-height:280px;overflow-y:auto;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-select-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-select__panel::-webkit-scrollbar{width:6px}.gbt-select__panel::-webkit-scrollbar-track{background:transparent}.gbt-select__panel::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-select__empty{box-sizing:border-box;padding:10px 12px;color:var(--text-secondary);font-size:13px}.gbt-select__option{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--gbt-radius-menu, 8px);color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-select__option:hover,.gbt-select__option--active{background:var(--bg-hover)}.gbt-select__option--selected{color:var(--primary);font-weight:600}.gbt-select__option-icon{flex-shrink:0;color:var(--text-secondary)}.gbt-select__option--selected .gbt-select__option-icon{color:var(--primary)}.gbt-select__option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-select__option-check{flex-shrink:0;color:var(--primary)}@keyframes gbt-select-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.gbt-select__chips{display:flex;flex-wrap:wrap;gap:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gbt-select__hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.gbt-select__error{margin:0;font-size:.75rem;color:var(--color-error-text)}@media(prefers-reduced-motion:reduce){.gbt-select__panel{animation:none}.gbt-select__chevron{transition:none}}\n"],
3911
3927
  dependencies: [{
3912
3928
  kind: "component",
3913
3929
  type: Icon,
@@ -3954,7 +3970,7 @@ i0.ɵɵngDeclareClassMetadata({
3954
3970
  multi: true
3955
3971
  }],
3956
3972
  template: "<div class=\"gbt-select\" [class.gbt-select--disabled]=\"isDisabled()\">\n @if (label()) {\n <label\n [id]=\"labelId()\"\n [for]=\"id()\"\n class=\"gbt-select__label\"\n [class.gbt-select__label--hidden]=\"hideLabel()\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n\n <button\n type=\"button\"\n [id]=\"id()\"\n class=\"gbt-select__trigger\"\n [class.gbt-select__trigger--open]=\"open()\"\n [disabled]=\"isDisabled()\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"open() ? id() + '-listbox' : null\"\n [attr.aria-activedescendant]=\"activeOptionId()\"\n [attr.aria-labelledby]=\"label() ? labelId() + ' ' + id() : null\"\n [attr.aria-label]=\"label() ? null : placeholder() || null\"\n [attr.aria-required]=\"required() ? true : null\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"describedBy()\"\n (click)=\"toggleOpen()\"\n >\n @if (triggerIcon(); as icon) {\n <gbt-icon [name]=\"icon\" class=\"gbt-select__trigger-icon\" aria-hidden=\"true\" />\n }\n <span\n class=\"gbt-select__trigger-label\"\n [class.gbt-select__trigger-label--placeholder]=\"selectedOptions().length === 0\"\n >\n {{ triggerLabel() }}\n </span>\n <gbt-icon name=\"chevron-down\" class=\"gbt-select__chevron\" aria-hidden=\"true\" />\n </button>\n @if (chipsVisible()) {\n <div class=\"gbt-select__chips\" [id]=\"chipsId()\">\n @for (option of selectedOptions(); track option.value; let i = $index) {\n <gbt-tag\n [color]=\"option.color ?? '#6b7280'\"\n [removable]=\"!isDisabled()\"\n [disabled]=\"isDisabled()\"\n [removeLabel]=\"chipRemoveLabel()(option.label)\"\n (removed)=\"removeChip(option.value, i)\"\n >\n {{ option.label }}\n </gbt-tag>\n }\n </div>\n }\n @if (chips() && multiple()) {\n <div role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" class=\"sr-only\">\n {{ selectedCountLabel()(selectedOptions().length) }}\n </div>\n }\n @if (open() && panelStyle(); as style) {\n @if (hasNoOptions()) {\n <div\n [id]=\"id() + '-listbox'\"\n class=\"gbt-select__panel gbt-select__empty\"\n role=\"status\"\n [style.top]=\"style.top\"\n [style.left]=\"style.left\"\n [style.width]=\"style.width\"\n >\n {{ noOptionsMessage() }}\n </div>\n } @else {\n <ul\n [id]=\"id() + '-listbox'\"\n class=\"gbt-select__panel\"\n role=\"listbox\"\n [attr.aria-label]=\"label() || placeholder()\"\n [attr.aria-multiselectable]=\"multiple()\"\n [style.top]=\"style.top\"\n [style.left]=\"style.left\"\n [style.width]=\"style.width\"\n >\n @for (option of options(); track option.value; let i = $index) {\n <li role=\"presentation\">\n <button\n [id]=\"id() + '-option-' + i\"\n type=\"button\"\n role=\"option\"\n tabindex=\"-1\"\n class=\"gbt-select__option\"\n [class.gbt-select__option--selected]=\"isSelected(option.value)\"\n [class.gbt-select__option--active]=\"i === activeIndex()\"\n [attr.aria-selected]=\"isSelected(option.value)\"\n (click)=\"selectOption(option.value)\"\n (mouseenter)=\"activeIndex.set(i)\"\n >\n @if (option.icon) {\n <gbt-icon [name]=\"option.icon\" class=\"gbt-select__option-icon\" aria-hidden=\"true\" />\n }\n <span class=\"gbt-select__option-label\">{{ option.label }}</span>\n @if (isSelected(option.value)) {\n <gbt-icon name=\"check\" class=\"gbt-select__option-check\" aria-hidden=\"true\" />\n }\n </button>\n </li>\n }\n </ul>\n }\n }\n @if (showHint()) {\n <p [id]=\"hintId()\" class=\"gbt-select__hint\">{{ hint() }}</p>\n }\n @if (errorMessage()) {\n <p [id]=\"id() + '-error'\" class=\"gbt-select__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
3957
- styles: [":host{position:relative;display:inline-block;min-width:180px}.gbt-select{display:flex;flex-direction:column;gap:.375rem}.gbt-select--disabled{opacity:.5}.gbt-select__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-select__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:host(.gbt-select--full){display:block;width:100%}.gbt-select__trigger{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;height:var(--gbt-control-height-md);padding:0 10px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:14px;cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}.gbt-select__trigger:hover:not(:disabled){border-color:var(--border-color)}.gbt-select__trigger--open{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-select__trigger:disabled{cursor:not-allowed}:host(.gbt-select--sm){min-width:120px}:host(.gbt-select--sm) .gbt-select__trigger{height:var(--gbt-control-height-sm);padding:0 8px;font-size:13px}.gbt-select__trigger-icon{flex-shrink:0;color:var(--text-secondary)}.gbt-select__trigger-label{flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-select__trigger-label--placeholder{color:var(--text-discret)}.gbt-select__chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-select__trigger--open .gbt-select__chevron{transform:rotate(180deg)}.gbt-select__panel{position:fixed;z-index:1000;margin:0;padding:6px;list-style:none;max-height:280px;overflow-y:auto;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-select-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-select__panel::-webkit-scrollbar{width:6px}.gbt-select__panel::-webkit-scrollbar-track{background:transparent}.gbt-select__panel::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-select__empty{box-sizing:border-box;padding:10px 12px;color:var(--text-secondary);font-size:13px}.gbt-select__option{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:8px;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-select__option:hover,.gbt-select__option--active{background:var(--bg-hover)}.gbt-select__option--selected{color:var(--primary);font-weight:600}.gbt-select__option-icon{flex-shrink:0;color:var(--text-secondary)}.gbt-select__option--selected .gbt-select__option-icon{color:var(--primary)}.gbt-select__option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-select__option-check{flex-shrink:0;color:var(--primary)}@keyframes gbt-select-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.gbt-select__chips{display:flex;flex-wrap:wrap;gap:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gbt-select__hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.gbt-select__error{margin:0;font-size:.75rem;color:var(--color-error-text)}@media(prefers-reduced-motion:reduce){.gbt-select__panel{animation:none}.gbt-select__chevron{transition:none}}\n"]
3973
+ styles: [":host{position:relative;display:inline-block;min-width:180px}.gbt-select{display:flex;flex-direction:column;gap:.375rem}.gbt-select--disabled{opacity:.5}.gbt-select__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-select__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:host(.gbt-select--full){display:block;width:100%}.gbt-select__trigger{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;height:var(--gbt-control-height-md);padding:0 10px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:14px;cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}.gbt-select__trigger:hover:not(:disabled){border-color:var(--border-color)}.gbt-select__trigger--open{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-select__trigger:disabled{cursor:not-allowed}:host(.gbt-select--sm){min-width:120px}:host(.gbt-select--sm) .gbt-select__trigger{height:var(--gbt-control-height-sm);padding:0 8px;font-size:13px}.gbt-select__trigger-icon{flex-shrink:0;color:var(--text-secondary)}.gbt-select__trigger-label{flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-select__trigger-label--placeholder{color:var(--text-discret)}.gbt-select__chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-select__trigger--open .gbt-select__chevron{transform:rotate(180deg)}.gbt-select__panel{position:fixed;z-index:1000;margin:0;padding:6px;list-style:none;max-height:280px;overflow-y:auto;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-select-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-select__panel::-webkit-scrollbar{width:6px}.gbt-select__panel::-webkit-scrollbar-track{background:transparent}.gbt-select__panel::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-select__empty{box-sizing:border-box;padding:10px 12px;color:var(--text-secondary);font-size:13px}.gbt-select__option{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--gbt-radius-menu, 8px);color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-select__option:hover,.gbt-select__option--active{background:var(--bg-hover)}.gbt-select__option--selected{color:var(--primary);font-weight:600}.gbt-select__option-icon{flex-shrink:0;color:var(--text-secondary)}.gbt-select__option--selected .gbt-select__option-icon{color:var(--primary)}.gbt-select__option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-select__option-check{flex-shrink:0;color:var(--primary)}@keyframes gbt-select-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.gbt-select__chips{display:flex;flex-wrap:wrap;gap:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gbt-select__hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.gbt-select__error{margin:0;font-size:.75rem;color:var(--color-error-text)}@media(prefers-reduced-motion:reduce){.gbt-select__panel{animation:none}.gbt-select__chevron{transition:none}}\n"]
3958
3974
  }]
3959
3975
  }],
3960
3976
  propDecorators: {
@@ -4195,7 +4211,7 @@ var ListToolbar = class ListToolbar {
4195
4211
  },
4196
4212
  ngImport: i0,
4197
4213
  template: "<div class=\"gbt-list-toolbar\">\n <gbt-input\n class=\"gbt-list-toolbar__search\"\n [label]=\"searchLabel()\"\n [placeholder]=\"searchPlaceholder()\"\n [formControl]=\"searchControl\"\n />\n <gbt-select\n class=\"gbt-list-toolbar__sort\"\n [label]=\"sortLabel()\"\n [options]=\"asSelectOptions(sortOptions())\"\n [formControl]=\"sortControl\"\n />\n <button\n type=\"button\"\n class=\"gbt-list-toolbar__direction\"\n (click)=\"toggleDirection()\"\n [attr.aria-label]=\"directionLabel()\"\n [attr.aria-pressed]=\"sortDirection() === 'desc'\"\n >\n <gbt-icon [name]=\"sortDirection() === 'asc' ? 'arrow-up' : 'arrow-down'\" />\n </button>\n</div>\n",
4198
- styles: [":host{display:block}.gbt-list-toolbar{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.gbt-list-toolbar__search{flex:1;min-width:200px}.gbt-list-toolbar__sort{min-width:160px}.gbt-list-toolbar__direction{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:var(--gbt-control-height-md);height:var(--gbt-control-height-md);flex-shrink:0;padding:0;border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);background:var(--bg-principal);color:var(--text-secondary);cursor:pointer;transition:background var(--site-transition-fast)}.gbt-list-toolbar__direction:hover{background:var(--bg-hover)}.gbt-list-toolbar__direction:focus-visible{outline:2px solid var(--primary);outline-offset:2px}\n"],
4214
+ styles: [":host{display:block}.gbt-list-toolbar{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.gbt-list-toolbar__search{flex:1;min-width:200px}.gbt-list-toolbar__sort{min-width:160px}.gbt-list-toolbar__direction{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:var(--gbt-control-height-md);height:var(--gbt-control-height-md);flex-shrink:0;padding:0;border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);background:var(--bg-principal);color:var(--text-secondary);cursor:pointer;transition:background var(--site-transition-fast)}.gbt-list-toolbar__direction:hover{background:var(--bg-hover)}.gbt-list-toolbar__direction:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}\n"],
4199
4215
  dependencies: [
4200
4216
  {
4201
4217
  kind: "ngmodule",
@@ -4243,6 +4259,7 @@ var ListToolbar = class ListToolbar {
4243
4259
  "maxlength",
4244
4260
  "min",
4245
4261
  "max",
4262
+ "combobox",
4246
4263
  "showPasswordLabel",
4247
4264
  "hidePasswordLabel"
4248
4265
  ],
@@ -4299,7 +4316,7 @@ i0.ɵɵngDeclareClassMetadata({
4299
4316
  ],
4300
4317
  changeDetection: ChangeDetectionStrategy.OnPush,
4301
4318
  template: "<div class=\"gbt-list-toolbar\">\n <gbt-input\n class=\"gbt-list-toolbar__search\"\n [label]=\"searchLabel()\"\n [placeholder]=\"searchPlaceholder()\"\n [formControl]=\"searchControl\"\n />\n <gbt-select\n class=\"gbt-list-toolbar__sort\"\n [label]=\"sortLabel()\"\n [options]=\"asSelectOptions(sortOptions())\"\n [formControl]=\"sortControl\"\n />\n <button\n type=\"button\"\n class=\"gbt-list-toolbar__direction\"\n (click)=\"toggleDirection()\"\n [attr.aria-label]=\"directionLabel()\"\n [attr.aria-pressed]=\"sortDirection() === 'desc'\"\n >\n <gbt-icon [name]=\"sortDirection() === 'asc' ? 'arrow-up' : 'arrow-down'\" />\n </button>\n</div>\n",
4302
- styles: [":host{display:block}.gbt-list-toolbar{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.gbt-list-toolbar__search{flex:1;min-width:200px}.gbt-list-toolbar__sort{min-width:160px}.gbt-list-toolbar__direction{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:var(--gbt-control-height-md);height:var(--gbt-control-height-md);flex-shrink:0;padding:0;border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);background:var(--bg-principal);color:var(--text-secondary);cursor:pointer;transition:background var(--site-transition-fast)}.gbt-list-toolbar__direction:hover{background:var(--bg-hover)}.gbt-list-toolbar__direction:focus-visible{outline:2px solid var(--primary);outline-offset:2px}\n"]
4319
+ styles: [":host{display:block}.gbt-list-toolbar{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.gbt-list-toolbar__search{flex:1;min-width:200px}.gbt-list-toolbar__sort{min-width:160px}.gbt-list-toolbar__direction{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:var(--gbt-control-height-md);height:var(--gbt-control-height-md);flex-shrink:0;padding:0;border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);background:var(--bg-principal);color:var(--text-secondary);cursor:pointer;transition:background var(--site-transition-fast)}.gbt-list-toolbar__direction:hover{background:var(--bg-hover)}.gbt-list-toolbar__direction:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}\n"]
4303
4320
  }]
4304
4321
  }],
4305
4322
  ctorParameters: () => [],
@@ -4401,7 +4418,7 @@ var CardLink = class CardLink {
4401
4418
  ngImport: i0,
4402
4419
  template: "<ng-content />",
4403
4420
  isInline: true,
4404
- styles: [":host{color:inherit;text-decoration:none;border-radius:2px}:host:after{content:\"\";position:absolute;inset:0;z-index:1;grid-area:gbt-card-box;border-radius:var(--gbt-card-radius, 0)}:host:hover{text-decoration:underline;text-underline-offset:.2em}:host:focus-visible{outline:none}:host:focus-visible:after{outline:2px solid var(--primary);outline-offset:var(--gbt-card-focus-offset, -2px)}\n"],
4421
+ styles: [":host{color:inherit;text-decoration:none;border-radius:2px}:host:after{content:\"\";position:absolute;inset:0;z-index:1;grid-area:gbt-card-box;border-radius:var(--gbt-card-radius, 0)}:host:hover{text-decoration:underline;text-underline-offset:.2em}:host:focus-visible{outline:none}:host:focus-visible:after{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:var(--gbt-card-focus-offset, -2px)}\n"],
4405
4422
  changeDetection: i0.ChangeDetectionStrategy.OnPush
4406
4423
  });
4407
4424
  };
@@ -4418,7 +4435,7 @@ i0.ɵɵngDeclareClassMetadata({
4418
4435
  template: "<ng-content />",
4419
4436
  changeDetection: ChangeDetectionStrategy.OnPush,
4420
4437
  host: { class: "gbt-card__link" },
4421
- styles: [":host{color:inherit;text-decoration:none;border-radius:2px}:host:after{content:\"\";position:absolute;inset:0;z-index:1;grid-area:gbt-card-box;border-radius:var(--gbt-card-radius, 0)}:host:hover{text-decoration:underline;text-underline-offset:.2em}:host:focus-visible{outline:none}:host:focus-visible:after{outline:2px solid var(--primary);outline-offset:var(--gbt-card-focus-offset, -2px)}\n"]
4438
+ styles: [":host{color:inherit;text-decoration:none;border-radius:2px}:host:after{content:\"\";position:absolute;inset:0;z-index:1;grid-area:gbt-card-box;border-radius:var(--gbt-card-radius, 0)}:host:hover{text-decoration:underline;text-underline-offset:.2em}:host:focus-visible{outline:none}:host:focus-visible:after{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:var(--gbt-card-focus-offset, -2px)}\n"]
4422
4439
  }]
4423
4440
  }]
4424
4441
  });
@@ -4613,7 +4630,7 @@ var Card = class Card {
4613
4630
  }],
4614
4631
  ngImport: i0,
4615
4632
  template: "@if (hasHeader()) {\n <div class=\"gbt-card__header\" [attr.data-tone]=\"tone() === 'default' ? null : tone()\">\n @if (hasCustomHeader()) {\n <div class=\"gbt-card__header-slot\">\n <ng-container *ngTemplateOutlet=\"headerSlot\" />\n </div>\n } @else {\n @if (headerIcon()) {\n <span class=\"gbt-card__icon\" [class.gbt-card__icon--status]=\"!icon()\">\n <gbt-icon [name]=\"headerIcon()\" aria-hidden=\"true\" />\n </span>\n }\n @if (description()) {\n <div class=\"gbt-card__titles\">\n <ng-container *ngTemplateOutlet=\"titleTemplate\" />\n <p class=\"gbt-card__description\">{{ description() }}</p>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"titleTemplate\" />\n }\n }\n <ng-content select=\"[card-header-actions]\"></ng-content>\n </div>\n}\n<div\n [class]=\"cardClass()\"\n [attr.data-variant]=\"variant() === 'elevated' ? null : variant()\"\n [attr.data-flush]=\"flush() ? '' : null\"\n [attr.data-selected]=\"selected() ? '' : null\"\n [attr.data-link]=\"linked() ? '' : null\"\n>\n @if (selected() && selectedLabel()) {\n <span class=\"gbt-card__selected-label\">{{ selectedLabel() }}</span>\n }\n @if (!hasCustomHeader()) {\n <ng-container *ngTemplateOutlet=\"headerSlot\" />\n }\n @if (href() && !hasHeader()) {\n <a gbtCardLink [attr.href]=\"href()\" [attr.aria-label]=\"linkLabel()\"></a>\n }\n <div class=\"gbt-card__body\"><ng-content></ng-content></div>\n</div>\n\n<ng-template #headerSlot><ng-content select=\"[card-header]\" /></ng-template>\n<ng-template #titleTemplate>\n @switch (headingLevel()) {\n @case (1) {\n <h1 class=\"gbt-card__title\"><ng-container *ngTemplateOutlet=\"titleContent\" /></h1>\n }\n @case (3) {\n <h3 class=\"gbt-card__title\"><ng-container *ngTemplateOutlet=\"titleContent\" /></h3>\n }\n @case (4) {\n <h4 class=\"gbt-card__title\"><ng-container *ngTemplateOutlet=\"titleContent\" /></h4>\n }\n @case (5) {\n <h5 class=\"gbt-card__title\"><ng-container *ngTemplateOutlet=\"titleContent\" /></h5>\n }\n @case (6) {\n <h6 class=\"gbt-card__title\"><ng-container *ngTemplateOutlet=\"titleContent\" /></h6>\n }\n @default {\n <h2 class=\"gbt-card__title\"><ng-container *ngTemplateOutlet=\"titleContent\" /></h2>\n }\n }\n</ng-template>\n<ng-template #titleContent>\n @if (href()) {\n <a gbtCardLink [attr.href]=\"href()\">{{ heading() }}</a>\n } @else {\n {{ heading() }}\n }\n @if (count() !== null) {\n <span class=\"gbt-card__count\">{{ count() }}</span>\n }\n</ng-template>\n",
4616
- styles: [":host{--gbt-card-radius: var(--site-border-radius-lg);--gbt-card-focus-offset: -2px;position:relative;display:grid;grid-template-areas:\"gbt-card-header\" \"gbt-card-box\";grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}:host:has(>.gbt-card[data-variant=outlined]){--gbt-card-radius: var(--site-border-radius)}:host:has(>.gbt-card[data-selected]){--gbt-card-focus-offset: -5px}.gbt-card__header{grid-area:gbt-card-header;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.65}.gbt-card__icon{display:inline-flex;flex:none;align-self:flex-start;align-items:center;justify-content:center;height:1.5rem;color:var(--text-secondary);font-size:1rem}.gbt-card__icon--status gbt-icon{box-sizing:border-box;width:1.25rem;height:1.25rem;padding:.1875rem;border:1.5px solid currentColor;border-radius:50%}.gbt-card__titles{display:flex;flex:1 1 auto;flex-direction:column;gap:.125rem;min-width:0}.gbt-card__title{display:flex;align-items:center;gap:.5rem;min-width:0;margin:0;color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.5rem;overflow-wrap:anywhere}.gbt-card__header>.gbt-card__title{flex:1 1 auto}.gbt-card__description{margin:0;color:var(--text-secondary);font-size:.8125rem;font-weight:400;line-height:1.25rem}.gbt-card__header-slot{flex:1 1 auto;min-width:0}.gbt-card__count{flex:none;min-width:1.25rem;box-sizing:border-box;padding:0 .375rem;border-radius:999px;background:color-mix(in srgb,var(--border-color) 8%,transparent);color:var(--text-primary);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25rem;text-align:center}.gbt-card__header[data-tone=success] .gbt-card__icon,.gbt-card__header[data-tone=success] .gbt-card__title{color:var(--color-success-text)}.gbt-card__header[data-tone=warning] .gbt-card__icon,.gbt-card__header[data-tone=warning] .gbt-card__title{color:var(--color-warning-text)}.gbt-card__header[data-tone=error] .gbt-card__icon,.gbt-card__header[data-tone=error] .gbt-card__title{color:var(--color-error-text)}.gbt-card{--gbt-card-radius: var(--site-border-radius-lg);--gbt-card-inner-radius: var(--gbt-card-radius);--gbt-card-edge: var(--gbt-card-border);--gbt-card-focus-offset: -2px;grid-area:gbt-card-box;position:relative;padding:1.25rem 1.5rem;border-radius:var(--gbt-card-radius);background:var(--bg-principal);box-shadow:var(--site-shadow-sm);overflow:hidden;transition:box-shadow .18s cubic-bezier(.4,0,.2,1);color:var(--text-secondary);font-size:.9rem;line-height:1.65}.gbt-card--hoverable{cursor:pointer;-webkit-user-select:none;user-select:none}.gbt-card--hoverable:hover{box-shadow:var(--site-shadow-lg)}.gbt-card__body{display:contents}.gbt-card[data-variant=outlined]{--gbt-card-radius: var(--site-border-radius);--gbt-card-inner-radius: calc(var(--site-border-radius) - 1px);border:1px solid var(--gbt-card-edge);box-shadow:none;overflow:visible}.gbt-card[data-variant=outlined].gbt-card--hoverable:hover,.gbt-card[data-variant=outlined][data-link]:hover{border-color:var(--border-color);box-shadow:none}.gbt-card[data-flush]{padding:0}.gbt-card[data-flush] .gbt-card__body{display:block;overflow:clip;border-radius:var(--gbt-card-inner-radius)}.gbt-card[data-selected]:before{content:\"\";position:absolute;inset:0;z-index:1;border:2px solid var(--gbt-card-edge);border-radius:var(--gbt-card-inner-radius);pointer-events:none}.gbt-card[data-selected]{--gbt-card-edge: var(--primary);--gbt-card-focus-offset: -5px;background:color-mix(in srgb,var(--primary) 4%,var(--bg-principal))}.gbt-card[data-selected][data-variant=outlined]:before{border-width:1px}.gbt-card__selected-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.gbt-card[data-link]{cursor:pointer;transition:box-shadow .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1)}.gbt-card[data-link]:not([data-variant=outlined]):hover{box-shadow:var(--site-shadow-lg)}:host:has(>.gbt-card__header .gbt-card__link:hover)>.gbt-card[data-link]{box-shadow:var(--site-shadow-lg)}:host:has(>.gbt-card__header .gbt-card__link:hover)>.gbt-card[data-link][data-variant=outlined]{border-color:var(--border-color);box-shadow:none}:where(.gbt-card[data-link]) ::ng-deep :where(a:not(.gbt-card__link),button,input,select,textarea,summary,label,[tabindex]:not([tabindex=\"-1\"])){position:relative;z-index:2}:where(.gbt-card__header:has(~.gbt-card[data-link])) ::ng-deep :where(a:not(.gbt-card__link),button,input,select,textarea,summary,label,[tabindex]:not([tabindex=\"-1\"])){position:relative;z-index:2}@media(prefers-reduced-motion:reduce){.gbt-card,.gbt-card[data-link]{transition:none}}\n"],
4633
+ styles: [":host{--gbt-card-radius: var(--site-border-radius-lg);--gbt-card-focus-offset: -2px;position:relative;display:grid;grid-template-areas:\"gbt-card-header\" \"gbt-card-box\";grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}:host:has(>.gbt-card[data-variant=outlined]){--gbt-card-radius: var(--site-border-radius)}:host:has(>.gbt-card[data-selected]){--gbt-card-focus-offset: -5px}.gbt-card__header{grid-area:gbt-card-header;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.65}.gbt-card__icon{display:inline-flex;flex:none;align-self:flex-start;align-items:center;justify-content:center;height:1.5rem;color:var(--text-secondary);font-size:1rem}.gbt-card__icon--status gbt-icon{box-sizing:border-box;width:1.25rem;height:1.25rem;padding:.1875rem;border:1.5px solid currentColor;border-radius:50%}.gbt-card__titles{display:flex;flex:1 1 auto;flex-direction:column;gap:.125rem;min-width:0}.gbt-card__title{display:flex;align-items:center;gap:.5rem;min-width:0;margin:0;color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.5rem;overflow-wrap:anywhere}.gbt-card__header>.gbt-card__title{flex:1 1 auto}.gbt-card__description{margin:0;color:var(--text-secondary);font-size:.8125rem;font-weight:400;line-height:1.25rem}.gbt-card__header-slot{flex:1 1 auto;min-width:0}.gbt-card__count{flex:none;min-width:1.25rem;box-sizing:border-box;padding:0 .375rem;border-radius:var(--gbt-radius-badge, 999px);background:color-mix(in srgb,var(--border-color) 8%,transparent);color:var(--text-primary);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25rem;text-align:center}.gbt-card__header[data-tone=success] .gbt-card__icon,.gbt-card__header[data-tone=success] .gbt-card__title{color:var(--color-success-text)}.gbt-card__header[data-tone=warning] .gbt-card__icon,.gbt-card__header[data-tone=warning] .gbt-card__title{color:var(--color-warning-text)}.gbt-card__header[data-tone=error] .gbt-card__icon,.gbt-card__header[data-tone=error] .gbt-card__title{color:var(--color-error-text)}.gbt-card{--gbt-card-radius: var(--site-border-radius-lg);--gbt-card-inner-radius: var(--gbt-card-radius);--gbt-card-edge: var(--gbt-card-border);--gbt-card-focus-offset: -2px;grid-area:gbt-card-box;position:relative;padding:1.25rem 1.5rem;border-radius:var(--gbt-card-radius);background:var(--bg-principal);box-shadow:var(--site-shadow-sm);overflow:hidden;transition:box-shadow .18s cubic-bezier(.4,0,.2,1);color:var(--text-secondary);font-size:.9rem;line-height:1.65}.gbt-card--hoverable{cursor:pointer;-webkit-user-select:none;user-select:none}.gbt-card--hoverable:hover{box-shadow:var(--site-shadow-lg)}.gbt-card__body{display:contents}.gbt-card[data-variant=outlined]{--gbt-card-radius: var(--site-border-radius);--gbt-card-inner-radius: calc(var(--site-border-radius) - 1px);border:1px solid var(--gbt-card-edge);box-shadow:none;overflow:visible}.gbt-card[data-variant=outlined].gbt-card--hoverable:hover,.gbt-card[data-variant=outlined][data-link]:hover{border-color:var(--border-color);box-shadow:none}.gbt-card[data-flush]{padding:0}.gbt-card[data-flush] .gbt-card__body{display:block;overflow:clip;border-radius:var(--gbt-card-inner-radius)}.gbt-card[data-selected]:before{content:\"\";position:absolute;inset:0;z-index:1;border:2px solid var(--gbt-card-edge);border-radius:var(--gbt-card-inner-radius);pointer-events:none}.gbt-card[data-selected]{--gbt-card-edge: var(--primary);--gbt-card-focus-offset: -5px;background:color-mix(in srgb,var(--primary) 4%,var(--bg-principal))}.gbt-card[data-selected][data-variant=outlined]:before{border-width:1px}.gbt-card__selected-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.gbt-card[data-link]{cursor:pointer;transition:box-shadow .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1)}.gbt-card[data-link]:not([data-variant=outlined]):hover{box-shadow:var(--site-shadow-lg)}:host:has(>.gbt-card__header .gbt-card__link:hover)>.gbt-card[data-link]{box-shadow:var(--site-shadow-lg)}:host:has(>.gbt-card__header .gbt-card__link:hover)>.gbt-card[data-link][data-variant=outlined]{border-color:var(--border-color);box-shadow:none}:where(.gbt-card[data-link]) ::ng-deep :where(a:not(.gbt-card__link),button,input,select,textarea,summary,label,[tabindex]:not([tabindex=\"-1\"])){position:relative;z-index:2}:where(.gbt-card__header:has(~.gbt-card[data-link])) ::ng-deep :where(a:not(.gbt-card__link),button,input,select,textarea,summary,label,[tabindex]:not([tabindex=\"-1\"])){position:relative;z-index:2}@media(prefers-reduced-motion:reduce){.gbt-card,.gbt-card[data-link]{transition:none}}\n"],
4617
4634
  dependencies: [
4618
4635
  {
4619
4636
  kind: "component",
@@ -4657,7 +4674,7 @@ i0.ɵɵngDeclareClassMetadata({
4657
4674
  ],
4658
4675
  changeDetection: ChangeDetectionStrategy.OnPush,
4659
4676
  template: "@if (hasHeader()) {\n <div class=\"gbt-card__header\" [attr.data-tone]=\"tone() === 'default' ? null : tone()\">\n @if (hasCustomHeader()) {\n <div class=\"gbt-card__header-slot\">\n <ng-container *ngTemplateOutlet=\"headerSlot\" />\n </div>\n } @else {\n @if (headerIcon()) {\n <span class=\"gbt-card__icon\" [class.gbt-card__icon--status]=\"!icon()\">\n <gbt-icon [name]=\"headerIcon()\" aria-hidden=\"true\" />\n </span>\n }\n @if (description()) {\n <div class=\"gbt-card__titles\">\n <ng-container *ngTemplateOutlet=\"titleTemplate\" />\n <p class=\"gbt-card__description\">{{ description() }}</p>\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"titleTemplate\" />\n }\n }\n <ng-content select=\"[card-header-actions]\"></ng-content>\n </div>\n}\n<div\n [class]=\"cardClass()\"\n [attr.data-variant]=\"variant() === 'elevated' ? null : variant()\"\n [attr.data-flush]=\"flush() ? '' : null\"\n [attr.data-selected]=\"selected() ? '' : null\"\n [attr.data-link]=\"linked() ? '' : null\"\n>\n @if (selected() && selectedLabel()) {\n <span class=\"gbt-card__selected-label\">{{ selectedLabel() }}</span>\n }\n @if (!hasCustomHeader()) {\n <ng-container *ngTemplateOutlet=\"headerSlot\" />\n }\n @if (href() && !hasHeader()) {\n <a gbtCardLink [attr.href]=\"href()\" [attr.aria-label]=\"linkLabel()\"></a>\n }\n <div class=\"gbt-card__body\"><ng-content></ng-content></div>\n</div>\n\n<ng-template #headerSlot><ng-content select=\"[card-header]\" /></ng-template>\n<ng-template #titleTemplate>\n @switch (headingLevel()) {\n @case (1) {\n <h1 class=\"gbt-card__title\"><ng-container *ngTemplateOutlet=\"titleContent\" /></h1>\n }\n @case (3) {\n <h3 class=\"gbt-card__title\"><ng-container *ngTemplateOutlet=\"titleContent\" /></h3>\n }\n @case (4) {\n <h4 class=\"gbt-card__title\"><ng-container *ngTemplateOutlet=\"titleContent\" /></h4>\n }\n @case (5) {\n <h5 class=\"gbt-card__title\"><ng-container *ngTemplateOutlet=\"titleContent\" /></h5>\n }\n @case (6) {\n <h6 class=\"gbt-card__title\"><ng-container *ngTemplateOutlet=\"titleContent\" /></h6>\n }\n @default {\n <h2 class=\"gbt-card__title\"><ng-container *ngTemplateOutlet=\"titleContent\" /></h2>\n }\n }\n</ng-template>\n<ng-template #titleContent>\n @if (href()) {\n <a gbtCardLink [attr.href]=\"href()\">{{ heading() }}</a>\n } @else {\n {{ heading() }}\n }\n @if (count() !== null) {\n <span class=\"gbt-card__count\">{{ count() }}</span>\n }\n</ng-template>\n",
4660
- styles: [":host{--gbt-card-radius: var(--site-border-radius-lg);--gbt-card-focus-offset: -2px;position:relative;display:grid;grid-template-areas:\"gbt-card-header\" \"gbt-card-box\";grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}:host:has(>.gbt-card[data-variant=outlined]){--gbt-card-radius: var(--site-border-radius)}:host:has(>.gbt-card[data-selected]){--gbt-card-focus-offset: -5px}.gbt-card__header{grid-area:gbt-card-header;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.65}.gbt-card__icon{display:inline-flex;flex:none;align-self:flex-start;align-items:center;justify-content:center;height:1.5rem;color:var(--text-secondary);font-size:1rem}.gbt-card__icon--status gbt-icon{box-sizing:border-box;width:1.25rem;height:1.25rem;padding:.1875rem;border:1.5px solid currentColor;border-radius:50%}.gbt-card__titles{display:flex;flex:1 1 auto;flex-direction:column;gap:.125rem;min-width:0}.gbt-card__title{display:flex;align-items:center;gap:.5rem;min-width:0;margin:0;color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.5rem;overflow-wrap:anywhere}.gbt-card__header>.gbt-card__title{flex:1 1 auto}.gbt-card__description{margin:0;color:var(--text-secondary);font-size:.8125rem;font-weight:400;line-height:1.25rem}.gbt-card__header-slot{flex:1 1 auto;min-width:0}.gbt-card__count{flex:none;min-width:1.25rem;box-sizing:border-box;padding:0 .375rem;border-radius:999px;background:color-mix(in srgb,var(--border-color) 8%,transparent);color:var(--text-primary);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25rem;text-align:center}.gbt-card__header[data-tone=success] .gbt-card__icon,.gbt-card__header[data-tone=success] .gbt-card__title{color:var(--color-success-text)}.gbt-card__header[data-tone=warning] .gbt-card__icon,.gbt-card__header[data-tone=warning] .gbt-card__title{color:var(--color-warning-text)}.gbt-card__header[data-tone=error] .gbt-card__icon,.gbt-card__header[data-tone=error] .gbt-card__title{color:var(--color-error-text)}.gbt-card{--gbt-card-radius: var(--site-border-radius-lg);--gbt-card-inner-radius: var(--gbt-card-radius);--gbt-card-edge: var(--gbt-card-border);--gbt-card-focus-offset: -2px;grid-area:gbt-card-box;position:relative;padding:1.25rem 1.5rem;border-radius:var(--gbt-card-radius);background:var(--bg-principal);box-shadow:var(--site-shadow-sm);overflow:hidden;transition:box-shadow .18s cubic-bezier(.4,0,.2,1);color:var(--text-secondary);font-size:.9rem;line-height:1.65}.gbt-card--hoverable{cursor:pointer;-webkit-user-select:none;user-select:none}.gbt-card--hoverable:hover{box-shadow:var(--site-shadow-lg)}.gbt-card__body{display:contents}.gbt-card[data-variant=outlined]{--gbt-card-radius: var(--site-border-radius);--gbt-card-inner-radius: calc(var(--site-border-radius) - 1px);border:1px solid var(--gbt-card-edge);box-shadow:none;overflow:visible}.gbt-card[data-variant=outlined].gbt-card--hoverable:hover,.gbt-card[data-variant=outlined][data-link]:hover{border-color:var(--border-color);box-shadow:none}.gbt-card[data-flush]{padding:0}.gbt-card[data-flush] .gbt-card__body{display:block;overflow:clip;border-radius:var(--gbt-card-inner-radius)}.gbt-card[data-selected]:before{content:\"\";position:absolute;inset:0;z-index:1;border:2px solid var(--gbt-card-edge);border-radius:var(--gbt-card-inner-radius);pointer-events:none}.gbt-card[data-selected]{--gbt-card-edge: var(--primary);--gbt-card-focus-offset: -5px;background:color-mix(in srgb,var(--primary) 4%,var(--bg-principal))}.gbt-card[data-selected][data-variant=outlined]:before{border-width:1px}.gbt-card__selected-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.gbt-card[data-link]{cursor:pointer;transition:box-shadow .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1)}.gbt-card[data-link]:not([data-variant=outlined]):hover{box-shadow:var(--site-shadow-lg)}:host:has(>.gbt-card__header .gbt-card__link:hover)>.gbt-card[data-link]{box-shadow:var(--site-shadow-lg)}:host:has(>.gbt-card__header .gbt-card__link:hover)>.gbt-card[data-link][data-variant=outlined]{border-color:var(--border-color);box-shadow:none}:where(.gbt-card[data-link]) ::ng-deep :where(a:not(.gbt-card__link),button,input,select,textarea,summary,label,[tabindex]:not([tabindex=\"-1\"])){position:relative;z-index:2}:where(.gbt-card__header:has(~.gbt-card[data-link])) ::ng-deep :where(a:not(.gbt-card__link),button,input,select,textarea,summary,label,[tabindex]:not([tabindex=\"-1\"])){position:relative;z-index:2}@media(prefers-reduced-motion:reduce){.gbt-card,.gbt-card[data-link]{transition:none}}\n"]
4677
+ styles: [":host{--gbt-card-radius: var(--site-border-radius-lg);--gbt-card-focus-offset: -2px;position:relative;display:grid;grid-template-areas:\"gbt-card-header\" \"gbt-card-box\";grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}:host:has(>.gbt-card[data-variant=outlined]){--gbt-card-radius: var(--site-border-radius)}:host:has(>.gbt-card[data-selected]){--gbt-card-focus-offset: -5px}.gbt-card__header{grid-area:gbt-card-header;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.65}.gbt-card__icon{display:inline-flex;flex:none;align-self:flex-start;align-items:center;justify-content:center;height:1.5rem;color:var(--text-secondary);font-size:1rem}.gbt-card__icon--status gbt-icon{box-sizing:border-box;width:1.25rem;height:1.25rem;padding:.1875rem;border:1.5px solid currentColor;border-radius:50%}.gbt-card__titles{display:flex;flex:1 1 auto;flex-direction:column;gap:.125rem;min-width:0}.gbt-card__title{display:flex;align-items:center;gap:.5rem;min-width:0;margin:0;color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.5rem;overflow-wrap:anywhere}.gbt-card__header>.gbt-card__title{flex:1 1 auto}.gbt-card__description{margin:0;color:var(--text-secondary);font-size:.8125rem;font-weight:400;line-height:1.25rem}.gbt-card__header-slot{flex:1 1 auto;min-width:0}.gbt-card__count{flex:none;min-width:1.25rem;box-sizing:border-box;padding:0 .375rem;border-radius:var(--gbt-radius-badge, 999px);background:color-mix(in srgb,var(--border-color) 8%,transparent);color:var(--text-primary);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25rem;text-align:center}.gbt-card__header[data-tone=success] .gbt-card__icon,.gbt-card__header[data-tone=success] .gbt-card__title{color:var(--color-success-text)}.gbt-card__header[data-tone=warning] .gbt-card__icon,.gbt-card__header[data-tone=warning] .gbt-card__title{color:var(--color-warning-text)}.gbt-card__header[data-tone=error] .gbt-card__icon,.gbt-card__header[data-tone=error] .gbt-card__title{color:var(--color-error-text)}.gbt-card{--gbt-card-radius: var(--site-border-radius-lg);--gbt-card-inner-radius: var(--gbt-card-radius);--gbt-card-edge: var(--gbt-card-border);--gbt-card-focus-offset: -2px;grid-area:gbt-card-box;position:relative;padding:1.25rem 1.5rem;border-radius:var(--gbt-card-radius);background:var(--bg-principal);box-shadow:var(--site-shadow-sm);overflow:hidden;transition:box-shadow .18s cubic-bezier(.4,0,.2,1);color:var(--text-secondary);font-size:.9rem;line-height:1.65}.gbt-card--hoverable{cursor:pointer;-webkit-user-select:none;user-select:none}.gbt-card--hoverable:hover{box-shadow:var(--site-shadow-lg)}.gbt-card__body{display:contents}.gbt-card[data-variant=outlined]{--gbt-card-radius: var(--site-border-radius);--gbt-card-inner-radius: calc(var(--site-border-radius) - 1px);border:1px solid var(--gbt-card-edge);box-shadow:none;overflow:visible}.gbt-card[data-variant=outlined].gbt-card--hoverable:hover,.gbt-card[data-variant=outlined][data-link]:hover{border-color:var(--border-color);box-shadow:none}.gbt-card[data-flush]{padding:0}.gbt-card[data-flush] .gbt-card__body{display:block;overflow:clip;border-radius:var(--gbt-card-inner-radius)}.gbt-card[data-selected]:before{content:\"\";position:absolute;inset:0;z-index:1;border:2px solid var(--gbt-card-edge);border-radius:var(--gbt-card-inner-radius);pointer-events:none}.gbt-card[data-selected]{--gbt-card-edge: var(--primary);--gbt-card-focus-offset: -5px;background:color-mix(in srgb,var(--primary) 4%,var(--bg-principal))}.gbt-card[data-selected][data-variant=outlined]:before{border-width:1px}.gbt-card__selected-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.gbt-card[data-link]{cursor:pointer;transition:box-shadow .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1)}.gbt-card[data-link]:not([data-variant=outlined]):hover{box-shadow:var(--site-shadow-lg)}:host:has(>.gbt-card__header .gbt-card__link:hover)>.gbt-card[data-link]{box-shadow:var(--site-shadow-lg)}:host:has(>.gbt-card__header .gbt-card__link:hover)>.gbt-card[data-link][data-variant=outlined]{border-color:var(--border-color);box-shadow:none}:where(.gbt-card[data-link]) ::ng-deep :where(a:not(.gbt-card__link),button,input,select,textarea,summary,label,[tabindex]:not([tabindex=\"-1\"])){position:relative;z-index:2}:where(.gbt-card__header:has(~.gbt-card[data-link])) ::ng-deep :where(a:not(.gbt-card__link),button,input,select,textarea,summary,label,[tabindex]:not([tabindex=\"-1\"])){position:relative;z-index:2}@media(prefers-reduced-motion:reduce){.gbt-card,.gbt-card[data-link]{transition:none}}\n"]
4661
4678
  }]
4662
4679
  }],
4663
4680
  propDecorators: {
@@ -5081,7 +5098,7 @@ var Modal = class Modal {
5081
5098
  }],
5082
5099
  ngImport: i0,
5083
5100
  template: "@if (isOpen()) {\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events, @angular-eslint/template/interactive-supports-focus -->\n <div class=\"gbt-modal__backdrop\" (click)=\"onBackdropClick($event)\">\n <div\n class=\"gbt-modal__dialog\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-label]=\"heading() || null\"\n [attr.data-busy]=\"busy() ? '' : null\"\n tabindex=\"-1\"\n #dialog\n (keydown)=\"onDialogKeydown($event)\"\n >\n <header class=\"gbt-modal__header\">\n @switch (headingLevel()) {\n @case (1) {\n <h1 class=\"gbt-modal__title\">{{ heading() }}</h1>\n }\n @case (3) {\n <h3 class=\"gbt-modal__title\">{{ heading() }}</h3>\n }\n @case (4) {\n <h4 class=\"gbt-modal__title\">{{ heading() }}</h4>\n }\n @case (5) {\n <h5 class=\"gbt-modal__title\">{{ heading() }}</h5>\n }\n @case (6) {\n <h6 class=\"gbt-modal__title\">{{ heading() }}</h6>\n }\n @default {\n <h2 class=\"gbt-modal__title\">{{ heading() }}</h2>\n }\n }\n <button\n type=\"button\"\n class=\"gbt-modal__close\"\n (click)=\"onCloseClick()\"\n [attr.aria-label]=\"closeLabel()\"\n [attr.aria-disabled]=\"busy() ? 'true' : null\"\n >\n <gbt-icon name=\"x\" aria-hidden=\"true\" />\n </button>\n </header>\n <div class=\"gbt-modal__body\" [attr.aria-busy]=\"busy() ? 'true' : null\">\n <ng-content />\n </div>\n <div class=\"gbt-modal__footer\"><ng-content select=\"[modal-footer]\" /></div>\n <span class=\"gbt-modal__status\" role=\"status\">{{ busy() ? busyLabel() : '' }}</span>\n </div>\n </div>\n}\n",
5084
- styles: [".gbt-modal__backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1200}.gbt-modal__dialog{background:var(--bg-principal);border-radius:var(--site-border-radius);box-shadow:var(--site-shadow-lg);width:min(90vw,480px);max-height:90vh;overflow-y:auto}.gbt-modal__dialog:focus{outline:none}.gbt-modal__dialog:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.gbt-modal__header .gbt-modal__title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.gbt-modal__close{position:relative;display:inline-flex;background:none;border:none;color:var(--text-discret);cursor:pointer}.gbt-modal__close:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-modal__close[aria-disabled=true]{cursor:not-allowed;opacity:.5}@media(pointer:coarse){.gbt-modal__close{align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-block:-.75rem;margin-inline-end:-.75rem;border-radius:var(--site-border-radius-sm)}}.gbt-modal__body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.gbt-modal__body>form{display:flex;flex-direction:column;gap:1rem}.gbt-modal__footer{position:sticky;bottom:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--border-color);background:var(--bg-principal)}.gbt-modal__footer:empty{display:none}.gbt-modal__footer ::ng-deep>:is(div,footer,section)[modal-footer]{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.gbt-modal__status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}\n"],
5101
+ styles: [".gbt-modal__backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1200}.gbt-modal__dialog{background:var(--bg-principal);border-radius:var(--site-border-radius);box-shadow:var(--site-shadow-lg);width:min(90vw,480px);max-height:90vh;overflow-y:auto}.gbt-modal__dialog:focus{outline:none}.gbt-modal__dialog:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.gbt-modal__header .gbt-modal__title{font-family:var(--gbt-font-display, inherit);font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.gbt-modal__close{position:relative;display:inline-flex;background:none;border:none;color:var(--text-discret);cursor:pointer}.gbt-modal__close:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-modal__close[aria-disabled=true]{cursor:not-allowed;opacity:.5}@media(pointer:coarse){.gbt-modal__close{align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-block:-.75rem;margin-inline-end:-.75rem;border-radius:var(--site-border-radius-sm)}}.gbt-modal__body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.gbt-modal__body>form{display:flex;flex-direction:column;gap:1rem}.gbt-modal__footer{position:sticky;bottom:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--border-color);background:var(--bg-principal)}.gbt-modal__footer:empty{display:none}.gbt-modal__footer ::ng-deep>:is(div,footer,section)[modal-footer]{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.gbt-modal__status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}\n"],
5085
5102
  dependencies: [{
5086
5103
  kind: "component",
5087
5104
  type: Icon,
@@ -5104,7 +5121,7 @@ i0.ɵɵngDeclareClassMetadata({
5104
5121
  imports: [Icon],
5105
5122
  changeDetection: ChangeDetectionStrategy.OnPush,
5106
5123
  template: "@if (isOpen()) {\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events, @angular-eslint/template/interactive-supports-focus -->\n <div class=\"gbt-modal__backdrop\" (click)=\"onBackdropClick($event)\">\n <div\n class=\"gbt-modal__dialog\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-label]=\"heading() || null\"\n [attr.data-busy]=\"busy() ? '' : null\"\n tabindex=\"-1\"\n #dialog\n (keydown)=\"onDialogKeydown($event)\"\n >\n <header class=\"gbt-modal__header\">\n @switch (headingLevel()) {\n @case (1) {\n <h1 class=\"gbt-modal__title\">{{ heading() }}</h1>\n }\n @case (3) {\n <h3 class=\"gbt-modal__title\">{{ heading() }}</h3>\n }\n @case (4) {\n <h4 class=\"gbt-modal__title\">{{ heading() }}</h4>\n }\n @case (5) {\n <h5 class=\"gbt-modal__title\">{{ heading() }}</h5>\n }\n @case (6) {\n <h6 class=\"gbt-modal__title\">{{ heading() }}</h6>\n }\n @default {\n <h2 class=\"gbt-modal__title\">{{ heading() }}</h2>\n }\n }\n <button\n type=\"button\"\n class=\"gbt-modal__close\"\n (click)=\"onCloseClick()\"\n [attr.aria-label]=\"closeLabel()\"\n [attr.aria-disabled]=\"busy() ? 'true' : null\"\n >\n <gbt-icon name=\"x\" aria-hidden=\"true\" />\n </button>\n </header>\n <div class=\"gbt-modal__body\" [attr.aria-busy]=\"busy() ? 'true' : null\">\n <ng-content />\n </div>\n <div class=\"gbt-modal__footer\"><ng-content select=\"[modal-footer]\" /></div>\n <span class=\"gbt-modal__status\" role=\"status\">{{ busy() ? busyLabel() : '' }}</span>\n </div>\n </div>\n}\n",
5107
- styles: [".gbt-modal__backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1200}.gbt-modal__dialog{background:var(--bg-principal);border-radius:var(--site-border-radius);box-shadow:var(--site-shadow-lg);width:min(90vw,480px);max-height:90vh;overflow-y:auto}.gbt-modal__dialog:focus{outline:none}.gbt-modal__dialog:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.gbt-modal__header .gbt-modal__title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.gbt-modal__close{position:relative;display:inline-flex;background:none;border:none;color:var(--text-discret);cursor:pointer}.gbt-modal__close:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-modal__close[aria-disabled=true]{cursor:not-allowed;opacity:.5}@media(pointer:coarse){.gbt-modal__close{align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-block:-.75rem;margin-inline-end:-.75rem;border-radius:var(--site-border-radius-sm)}}.gbt-modal__body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.gbt-modal__body>form{display:flex;flex-direction:column;gap:1rem}.gbt-modal__footer{position:sticky;bottom:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--border-color);background:var(--bg-principal)}.gbt-modal__footer:empty{display:none}.gbt-modal__footer ::ng-deep>:is(div,footer,section)[modal-footer]{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.gbt-modal__status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}\n"]
5124
+ styles: [".gbt-modal__backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1200}.gbt-modal__dialog{background:var(--bg-principal);border-radius:var(--site-border-radius);box-shadow:var(--site-shadow-lg);width:min(90vw,480px);max-height:90vh;overflow-y:auto}.gbt-modal__dialog:focus{outline:none}.gbt-modal__dialog:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.gbt-modal__header .gbt-modal__title{font-family:var(--gbt-font-display, inherit);font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.gbt-modal__close{position:relative;display:inline-flex;background:none;border:none;color:var(--text-discret);cursor:pointer}.gbt-modal__close:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-modal__close[aria-disabled=true]{cursor:not-allowed;opacity:.5}@media(pointer:coarse){.gbt-modal__close{align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-block:-.75rem;margin-inline-end:-.75rem;border-radius:var(--site-border-radius-sm)}}.gbt-modal__body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.gbt-modal__body>form{display:flex;flex-direction:column;gap:1rem}.gbt-modal__footer{position:sticky;bottom:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--border-color);background:var(--bg-principal)}.gbt-modal__footer:empty{display:none}.gbt-modal__footer ::ng-deep>:is(div,footer,section)[modal-footer]{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.gbt-modal__status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}\n"]
5108
5125
  }]
5109
5126
  }],
5110
5127
  ctorParameters: () => [],
@@ -5314,7 +5331,7 @@ var Drawer = class Drawer {
5314
5331
  }],
5315
5332
  ngImport: i0,
5316
5333
  template: "@if (rendered()) {\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events, @angular-eslint/template/interactive-supports-focus -->\n <div\n class=\"gbt-drawer__backdrop\"\n [class.gbt-drawer__backdrop--closing]=\"!isOpen()\"\n (click)=\"onBackdropClick($event)\"\n >\n <div\n #panel\n class=\"gbt-drawer__panel\"\n [class.gbt-drawer__panel--closing]=\"!isOpen()\"\n [attr.data-edge]=\"edge()\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-label]=\"heading() || null\"\n tabindex=\"-1\"\n (keydown)=\"onPanelKeydown($event)\"\n >\n <header class=\"gbt-drawer__header\">\n @switch (headingLevel()) {\n @case (1) {\n <h1 class=\"gbt-drawer__title\">{{ heading() }}</h1>\n }\n @case (3) {\n <h3 class=\"gbt-drawer__title\">{{ heading() }}</h3>\n }\n @case (4) {\n <h4 class=\"gbt-drawer__title\">{{ heading() }}</h4>\n }\n @case (5) {\n <h5 class=\"gbt-drawer__title\">{{ heading() }}</h5>\n }\n @case (6) {\n <h6 class=\"gbt-drawer__title\">{{ heading() }}</h6>\n }\n @default {\n <h2 class=\"gbt-drawer__title\">{{ heading() }}</h2>\n }\n }\n <button\n type=\"button\"\n class=\"gbt-drawer__close\"\n (click)=\"closed.emit()\"\n [attr.aria-label]=\"closeLabel()\"\n >\n <gbt-icon name=\"x\" aria-hidden=\"true\" />\n </button>\n </header>\n <div class=\"gbt-drawer__body\">\n <ng-content />\n </div>\n </div>\n </div>\n}\n",
5317
- styles: [".gbt-drawer__backdrop{position:fixed;inset:0;background:#0006;z-index:1200;animation:gbt-drawer-backdrop-in .2s ease-out}.gbt-drawer__backdrop--closing{animation:gbt-drawer-backdrop-out .2s ease-in forwards}.gbt-drawer__panel{position:fixed;display:flex;flex-direction:column;background:var(--bg-principal);box-shadow:var(--site-shadow-lg)}.gbt-drawer__panel:focus{outline:none}.gbt-drawer__panel:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-drawer__panel[data-edge=right]{top:0;right:0;bottom:0;width:min(90vw,400px);animation:gbt-drawer-slide-in-right .2s ease-out}.gbt-drawer__panel[data-edge=right].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-right .2s ease-in forwards}.gbt-drawer__panel[data-edge=left]{top:0;left:0;bottom:0;width:min(90vw,400px);animation:gbt-drawer-slide-in-left .2s ease-out}.gbt-drawer__panel[data-edge=left].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-left .2s ease-in forwards}.gbt-drawer__panel[data-edge=top]{top:0;left:0;right:0;height:min(90vh,400px);animation:gbt-drawer-slide-in-top .2s ease-out}.gbt-drawer__panel[data-edge=top].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-top .2s ease-in forwards}.gbt-drawer__panel[data-edge=bottom]{bottom:0;left:0;right:0;height:min(90vh,400px);animation:gbt-drawer-slide-in-bottom .2s ease-out}.gbt-drawer__panel[data-edge=bottom].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-bottom .2s ease-in forwards}.gbt-drawer__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.gbt-drawer__header .gbt-drawer__title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.gbt-drawer__close{position:relative;display:inline-flex;background:none;border:none;color:var(--text-discret);cursor:pointer}.gbt-drawer__close:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-drawer__body{flex:1;min-height:0;padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}@keyframes gbt-drawer-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes gbt-drawer-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes gbt-drawer-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes gbt-drawer-slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes gbt-drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes gbt-drawer-slide-out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes gbt-drawer-slide-in-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes gbt-drawer-slide-out-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes gbt-drawer-slide-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes gbt-drawer-slide-out-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.gbt-drawer__backdrop,.gbt-drawer__backdrop--closing,.gbt-drawer__panel,.gbt-drawer__panel--closing{animation:none}}\n"],
5334
+ styles: [".gbt-drawer__backdrop{position:fixed;inset:0;background:#0006;z-index:1200;animation:gbt-drawer-backdrop-in .2s ease-out}.gbt-drawer__backdrop--closing{animation:gbt-drawer-backdrop-out .2s ease-in forwards}.gbt-drawer__panel{position:fixed;display:flex;flex-direction:column;background:var(--bg-principal);box-shadow:var(--site-shadow-lg)}.gbt-drawer__panel:focus{outline:none}.gbt-drawer__panel:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-drawer__panel[data-edge=right]{top:0;right:0;bottom:0;width:min(90vw,400px);animation:gbt-drawer-slide-in-right .2s ease-out}.gbt-drawer__panel[data-edge=right].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-right .2s ease-in forwards}.gbt-drawer__panel[data-edge=left]{top:0;left:0;bottom:0;width:min(90vw,400px);animation:gbt-drawer-slide-in-left .2s ease-out}.gbt-drawer__panel[data-edge=left].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-left .2s ease-in forwards}.gbt-drawer__panel[data-edge=top]{top:0;left:0;right:0;height:min(90vh,400px);animation:gbt-drawer-slide-in-top .2s ease-out}.gbt-drawer__panel[data-edge=top].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-top .2s ease-in forwards}.gbt-drawer__panel[data-edge=bottom]{bottom:0;left:0;right:0;height:min(90vh,400px);animation:gbt-drawer-slide-in-bottom .2s ease-out}.gbt-drawer__panel[data-edge=bottom].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-bottom .2s ease-in forwards}.gbt-drawer__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.gbt-drawer__header .gbt-drawer__title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.gbt-drawer__close{position:relative;display:inline-flex;background:none;border:none;color:var(--text-discret);cursor:pointer}.gbt-drawer__close:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-drawer__body{flex:1;min-height:0;padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}@keyframes gbt-drawer-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes gbt-drawer-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes gbt-drawer-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes gbt-drawer-slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes gbt-drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes gbt-drawer-slide-out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes gbt-drawer-slide-in-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes gbt-drawer-slide-out-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes gbt-drawer-slide-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes gbt-drawer-slide-out-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.gbt-drawer__backdrop,.gbt-drawer__backdrop--closing,.gbt-drawer__panel,.gbt-drawer__panel--closing{animation:none}}\n"],
5318
5335
  dependencies: [{
5319
5336
  kind: "component",
5320
5337
  type: Icon,
@@ -5337,7 +5354,7 @@ i0.ɵɵngDeclareClassMetadata({
5337
5354
  imports: [Icon],
5338
5355
  changeDetection: ChangeDetectionStrategy.OnPush,
5339
5356
  template: "@if (rendered()) {\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events, @angular-eslint/template/interactive-supports-focus -->\n <div\n class=\"gbt-drawer__backdrop\"\n [class.gbt-drawer__backdrop--closing]=\"!isOpen()\"\n (click)=\"onBackdropClick($event)\"\n >\n <div\n #panel\n class=\"gbt-drawer__panel\"\n [class.gbt-drawer__panel--closing]=\"!isOpen()\"\n [attr.data-edge]=\"edge()\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-label]=\"heading() || null\"\n tabindex=\"-1\"\n (keydown)=\"onPanelKeydown($event)\"\n >\n <header class=\"gbt-drawer__header\">\n @switch (headingLevel()) {\n @case (1) {\n <h1 class=\"gbt-drawer__title\">{{ heading() }}</h1>\n }\n @case (3) {\n <h3 class=\"gbt-drawer__title\">{{ heading() }}</h3>\n }\n @case (4) {\n <h4 class=\"gbt-drawer__title\">{{ heading() }}</h4>\n }\n @case (5) {\n <h5 class=\"gbt-drawer__title\">{{ heading() }}</h5>\n }\n @case (6) {\n <h6 class=\"gbt-drawer__title\">{{ heading() }}</h6>\n }\n @default {\n <h2 class=\"gbt-drawer__title\">{{ heading() }}</h2>\n }\n }\n <button\n type=\"button\"\n class=\"gbt-drawer__close\"\n (click)=\"closed.emit()\"\n [attr.aria-label]=\"closeLabel()\"\n >\n <gbt-icon name=\"x\" aria-hidden=\"true\" />\n </button>\n </header>\n <div class=\"gbt-drawer__body\">\n <ng-content />\n </div>\n </div>\n </div>\n}\n",
5340
- styles: [".gbt-drawer__backdrop{position:fixed;inset:0;background:#0006;z-index:1200;animation:gbt-drawer-backdrop-in .2s ease-out}.gbt-drawer__backdrop--closing{animation:gbt-drawer-backdrop-out .2s ease-in forwards}.gbt-drawer__panel{position:fixed;display:flex;flex-direction:column;background:var(--bg-principal);box-shadow:var(--site-shadow-lg)}.gbt-drawer__panel:focus{outline:none}.gbt-drawer__panel:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-drawer__panel[data-edge=right]{top:0;right:0;bottom:0;width:min(90vw,400px);animation:gbt-drawer-slide-in-right .2s ease-out}.gbt-drawer__panel[data-edge=right].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-right .2s ease-in forwards}.gbt-drawer__panel[data-edge=left]{top:0;left:0;bottom:0;width:min(90vw,400px);animation:gbt-drawer-slide-in-left .2s ease-out}.gbt-drawer__panel[data-edge=left].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-left .2s ease-in forwards}.gbt-drawer__panel[data-edge=top]{top:0;left:0;right:0;height:min(90vh,400px);animation:gbt-drawer-slide-in-top .2s ease-out}.gbt-drawer__panel[data-edge=top].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-top .2s ease-in forwards}.gbt-drawer__panel[data-edge=bottom]{bottom:0;left:0;right:0;height:min(90vh,400px);animation:gbt-drawer-slide-in-bottom .2s ease-out}.gbt-drawer__panel[data-edge=bottom].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-bottom .2s ease-in forwards}.gbt-drawer__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.gbt-drawer__header .gbt-drawer__title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.gbt-drawer__close{position:relative;display:inline-flex;background:none;border:none;color:var(--text-discret);cursor:pointer}.gbt-drawer__close:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-drawer__body{flex:1;min-height:0;padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}@keyframes gbt-drawer-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes gbt-drawer-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes gbt-drawer-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes gbt-drawer-slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes gbt-drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes gbt-drawer-slide-out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes gbt-drawer-slide-in-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes gbt-drawer-slide-out-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes gbt-drawer-slide-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes gbt-drawer-slide-out-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.gbt-drawer__backdrop,.gbt-drawer__backdrop--closing,.gbt-drawer__panel,.gbt-drawer__panel--closing{animation:none}}\n"]
5357
+ styles: [".gbt-drawer__backdrop{position:fixed;inset:0;background:#0006;z-index:1200;animation:gbt-drawer-backdrop-in .2s ease-out}.gbt-drawer__backdrop--closing{animation:gbt-drawer-backdrop-out .2s ease-in forwards}.gbt-drawer__panel{position:fixed;display:flex;flex-direction:column;background:var(--bg-principal);box-shadow:var(--site-shadow-lg)}.gbt-drawer__panel:focus{outline:none}.gbt-drawer__panel:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-drawer__panel[data-edge=right]{top:0;right:0;bottom:0;width:min(90vw,400px);animation:gbt-drawer-slide-in-right .2s ease-out}.gbt-drawer__panel[data-edge=right].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-right .2s ease-in forwards}.gbt-drawer__panel[data-edge=left]{top:0;left:0;bottom:0;width:min(90vw,400px);animation:gbt-drawer-slide-in-left .2s ease-out}.gbt-drawer__panel[data-edge=left].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-left .2s ease-in forwards}.gbt-drawer__panel[data-edge=top]{top:0;left:0;right:0;height:min(90vh,400px);animation:gbt-drawer-slide-in-top .2s ease-out}.gbt-drawer__panel[data-edge=top].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-top .2s ease-in forwards}.gbt-drawer__panel[data-edge=bottom]{bottom:0;left:0;right:0;height:min(90vh,400px);animation:gbt-drawer-slide-in-bottom .2s ease-out}.gbt-drawer__panel[data-edge=bottom].gbt-drawer__panel--closing{animation:gbt-drawer-slide-out-bottom .2s ease-in forwards}.gbt-drawer__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.gbt-drawer__header .gbt-drawer__title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.gbt-drawer__close{position:relative;display:inline-flex;background:none;border:none;color:var(--text-discret);cursor:pointer}.gbt-drawer__close:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-drawer__body{flex:1;min-height:0;padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}@keyframes gbt-drawer-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes gbt-drawer-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes gbt-drawer-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes gbt-drawer-slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes gbt-drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes gbt-drawer-slide-out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes gbt-drawer-slide-in-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes gbt-drawer-slide-out-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes gbt-drawer-slide-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes gbt-drawer-slide-out-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.gbt-drawer__backdrop,.gbt-drawer__backdrop--closing,.gbt-drawer__panel,.gbt-drawer__panel--closing{animation:none}}\n"]
5341
5358
  }]
5342
5359
  }],
5343
5360
  ctorParameters: () => [],
@@ -5511,7 +5528,7 @@ var Table = class Table {
5511
5528
  outputs: { rowClick: "rowClick" },
5512
5529
  ngImport: i0,
5513
5530
  template: "<table class=\"gbt-table\">\n <caption>\n {{\n caption()\n }}\n </caption>\n <thead>\n <tr>\n @for (column of columns(); track column.key) {\n <th scope=\"col\">{{ column.label }}</th>\n }\n </tr>\n </thead>\n <tbody>\n @for (row of data(); track trackRow($index, row)) {\n <tr\n [class.gbt-table__row--clickable]=\"clickableRows()\"\n [attr.tabindex]=\"clickableRows() ? 0 : null\"\n (click)=\"clickableRows() && onRowClick($event, row)\"\n (keydown)=\"clickableRows() && onRowKeydown($event, row)\"\n >\n @for (column of columns(); track column.key) {\n <td>\n @if (column.cellTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"column.cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row }\"\n />\n } @else {\n {{ cellValue(row, column) }}\n }\n </td>\n }\n </tr>\n } @empty {\n <tr class=\"gbt-table__empty\">\n <td [attr.colspan]=\"columns().length\">{{ emptyMessage() }}</td>\n </tr>\n }\n </tbody>\n</table>\n",
5514
- styles: [".gbt-table{width:100%;border-collapse:collapse;font-size:.875rem}.gbt-table caption{text-align:left;padding:0 0 .625rem;font-weight:600;color:var(--text-primary)}.gbt-table th{text-align:left;padding:.625rem .75rem;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.gbt-table td{padding:.625rem .75rem;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.gbt-table tbody tr{transition:background-color var(--site-transition-fast)}.gbt-table tbody tr.gbt-table__row--clickable{cursor:pointer}.gbt-table tbody tr.gbt-table__row--clickable:hover{background:var(--bg-hover)}.gbt-table tbody tr:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-table__empty{cursor:default;text-align:center;color:var(--text-discret)}.gbt-table__empty:hover{background:none}\n"],
5531
+ styles: [".gbt-table{width:100%;border-collapse:collapse;font-size:.875rem}.gbt-table caption{text-align:left;padding:0 0 .625rem;font-weight:600;color:var(--text-primary)}.gbt-table th{text-align:left;padding:.625rem .75rem;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.gbt-table td{padding:.625rem .75rem;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.gbt-table tbody tr{transition:background-color var(--site-transition-fast)}.gbt-table tbody tr.gbt-table__row--clickable{cursor:pointer}.gbt-table tbody tr.gbt-table__row--clickable:hover{background:var(--bg-hover)}.gbt-table tbody tr:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-table__empty{cursor:default;text-align:center;color:var(--text-discret)}.gbt-table__empty:hover{background:none}\n"],
5515
5532
  dependencies: [{
5516
5533
  kind: "directive",
5517
5534
  type: NgTemplateOutlet,
@@ -5538,7 +5555,7 @@ i0.ɵɵngDeclareClassMetadata({
5538
5555
  imports: [NgTemplateOutlet],
5539
5556
  changeDetection: ChangeDetectionStrategy.OnPush,
5540
5557
  template: "<table class=\"gbt-table\">\n <caption>\n {{\n caption()\n }}\n </caption>\n <thead>\n <tr>\n @for (column of columns(); track column.key) {\n <th scope=\"col\">{{ column.label }}</th>\n }\n </tr>\n </thead>\n <tbody>\n @for (row of data(); track trackRow($index, row)) {\n <tr\n [class.gbt-table__row--clickable]=\"clickableRows()\"\n [attr.tabindex]=\"clickableRows() ? 0 : null\"\n (click)=\"clickableRows() && onRowClick($event, row)\"\n (keydown)=\"clickableRows() && onRowKeydown($event, row)\"\n >\n @for (column of columns(); track column.key) {\n <td>\n @if (column.cellTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"column.cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row }\"\n />\n } @else {\n {{ cellValue(row, column) }}\n }\n </td>\n }\n </tr>\n } @empty {\n <tr class=\"gbt-table__empty\">\n <td [attr.colspan]=\"columns().length\">{{ emptyMessage() }}</td>\n </tr>\n }\n </tbody>\n</table>\n",
5541
- styles: [".gbt-table{width:100%;border-collapse:collapse;font-size:.875rem}.gbt-table caption{text-align:left;padding:0 0 .625rem;font-weight:600;color:var(--text-primary)}.gbt-table th{text-align:left;padding:.625rem .75rem;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.gbt-table td{padding:.625rem .75rem;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.gbt-table tbody tr{transition:background-color var(--site-transition-fast)}.gbt-table tbody tr.gbt-table__row--clickable{cursor:pointer}.gbt-table tbody tr.gbt-table__row--clickable:hover{background:var(--bg-hover)}.gbt-table tbody tr:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-table__empty{cursor:default;text-align:center;color:var(--text-discret)}.gbt-table__empty:hover{background:none}\n"]
5558
+ styles: [".gbt-table{width:100%;border-collapse:collapse;font-size:.875rem}.gbt-table caption{text-align:left;padding:0 0 .625rem;font-weight:600;color:var(--text-primary)}.gbt-table th{text-align:left;padding:.625rem .75rem;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.gbt-table td{padding:.625rem .75rem;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.gbt-table tbody tr{transition:background-color var(--site-transition-fast)}.gbt-table tbody tr.gbt-table__row--clickable{cursor:pointer}.gbt-table tbody tr.gbt-table__row--clickable:hover{background:var(--bg-hover)}.gbt-table tbody tr:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-table__empty{cursor:default;text-align:center;color:var(--text-discret)}.gbt-table__empty:hover{background:none}\n"]
5542
5559
  }]
5543
5560
  }],
5544
5561
  propDecorators: {
@@ -5946,7 +5963,7 @@ var SearchBar = class SearchBar {
5946
5963
  }],
5947
5964
  ngImport: i0,
5948
5965
  template: "@if (collapsibleMode()) {\n @if (folded()) {\n <button\n #toggle\n type=\"button\"\n class=\"gbt-sb-toggle\"\n aria-expanded=\"false\"\n [attr.aria-controls]=\"triggerId()\"\n [attr.aria-label]=\"openLabel()\"\n (click)=\"expand()\"\n >\n <gbt-icon name=\"search\" aria-hidden=\"true\" />\n </button>\n }\n}\n<!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events, @angular-eslint/template/interactive-supports-focus -->\n<div\n class=\"gbt-sb-trigger\"\n [attr.id]=\"collapsibleMode() ? triggerId() : null\"\n [attr.hidden]=\"folded() ? '' : null\"\n [class.gbt-sb-trigger--open]=\"isFocused()\"\n (click)=\"focusSearch()\"\n>\n @if (collapsibleMode() && expanded()) {\n <button\n type=\"button\"\n class=\"gbt-sb-trigger__close\"\n [attr.aria-label]=\"closeLabel()\"\n (click)=\"close($event)\"\n >\n <gbt-icon name=\"arrow-left\" aria-hidden=\"true\" />\n </button>\n }\n <gbt-icon name=\"search\" class=\"gbt-sb-trigger__icon\" aria-hidden=\"true\" />\n <input\n #searchInput\n type=\"text\"\n role=\"combobox\"\n class=\"gbt-sb-trigger__input\"\n [placeholder]=\"placeholder()\"\n [attr.aria-label]=\"ariaLabel() || placeholder()\"\n [value]=\"searchQuery()\"\n [attr.aria-expanded]=\"showOverlay()\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n [attr.aria-controls]=\"showOverlay() ? panelId() : null\"\n [attr.aria-activedescendant]=\"activeItemDomId()\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur($event)\"\n (input)=\"onInput($event)\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n />\n @if (searchQuery().length > 0) {\n <button\n type=\"button\"\n class=\"gbt-sb-trigger__clear\"\n (click)=\"onClear()\"\n [attr.aria-label]=\"clearLabel()\"\n >\n <gbt-icon name=\"x\" aria-hidden=\"true\" />\n </button>\n }\n</div>\n@if (showOverlay()) {\n <div role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" class=\"sr-only\">\n {{ resultsAnnouncement()(resultCount()) }}\n </div>\n}\n@if (showOverlay()) {\n <div class=\"gbt-sb-backdrop\" (click)=\"blurSearch()\" aria-hidden=\"true\"></div>\n <ng-template #footer>\n <div class=\"gbt-sb-footer\" aria-hidden=\"true\">\n <span class=\"gbt-sb-footer__hint\">\n <kbd class=\"gbt-sb-kbd gbt-sb-kbd--sm\">↑</kbd>\n <kbd class=\"gbt-sb-kbd gbt-sb-kbd--sm\">↓</kbd>\n {{ navigateHint() }}\n </span>\n <span class=\"gbt-sb-footer__hint\">\n <kbd class=\"gbt-sb-kbd gbt-sb-kbd--sm\">↵</kbd>\n {{ selectHint() }}\n </span>\n <span class=\"gbt-sb-footer__hint\">\n <kbd class=\"gbt-sb-kbd gbt-sb-kbd--sm\">Esc</kbd>\n {{ closeHint() }}\n </span>\n </div>\n </ng-template>\n @if (hasNoResults()) {\n <div [id]=\"panelId()\" class=\"gbt-sb-panel\">\n <div class=\"gbt-sb-state\" role=\"status\">\n <gbt-icon name=\"search\" class=\"gbt-sb-state__icon\" aria-hidden=\"true\" />\n <span>{{ noResultsMessage() }}</span>\n <p class=\"gbt-sb-state__hint\">{{ noResultsHint() }}</p>\n </div>\n <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n </div>\n } @else {\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events, @angular-eslint/template/interactive-supports-focus -->\n <div\n [id]=\"panelId()\"\n class=\"gbt-sb-panel\"\n role=\"listbox\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"$event.stopPropagation()\"\n >\n @if (hasGroupedResults()) {\n <div class=\"gbt-sb-list\">\n @for (category of indexedGroupedResults(); track category.label) {\n @if (category.items.length > 0) {\n <div class=\"gbt-sb-group-label\">\n @if (category.icon) {\n <gbt-icon [name]=\"category.icon\" aria-hidden=\"true\" />\n }\n {{ category.label }}\n <span class=\"gbt-sb-group-count\" aria-hidden=\"true\">{{\n category.items.length\n }}</span>\n </div>\n @for (entry of category.indexedItems; track entry.index) {\n <button\n type=\"button\"\n role=\"option\"\n tabindex=\"-1\"\n [id]=\"itemDomId(entry.index)\"\n class=\"gbt-sb-item\"\n [attr.aria-selected]=\"entry.index === activeIndex()\"\n [class.gbt-sb-item--active]=\"entry.index === activeIndex()\"\n (click)=\"onSelect(entry.item)\"\n (mouseenter)=\"activeIndex.set(entry.index)\"\n >\n @if (itemTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()!\"\n [ngTemplateOutletContext]=\"{ $implicit: entry.item }\"\n ></ng-container>\n } @else {\n @if (category.icon) {\n <gbt-icon\n [name]=\"category.icon\"\n class=\"gbt-sb-item__icon\"\n aria-hidden=\"true\"\n />\n }\n <span class=\"gbt-sb-item__label\">{{ entry.formatted }}</span>\n }\n </button>\n }\n }\n }\n </div>\n } @else if (results() && results()!.length > 0) {\n <div class=\"gbt-sb-list\">\n @for (entry of indexedResults(); track entry.index) {\n <button\n type=\"button\"\n role=\"option\"\n tabindex=\"-1\"\n [id]=\"itemDomId(entry.index)\"\n class=\"gbt-sb-item\"\n [attr.aria-selected]=\"entry.index === activeIndex()\"\n [class.gbt-sb-item--active]=\"entry.index === activeIndex()\"\n (click)=\"onSelect(entry.item)\"\n (mouseenter)=\"activeIndex.set(entry.index)\"\n >\n @if (itemTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()!\"\n [ngTemplateOutletContext]=\"{ $implicit: entry.item }\"\n ></ng-container>\n } @else {\n <span class=\"gbt-sb-item__label\">{{ entry.formatted }}</span>\n }\n </button>\n }\n </div>\n }\n\n <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n </div>\n }\n}\n",
5949
- styles: [":host{position:relative;display:block}.gbt-sb-trigger{position:relative;z-index:1000;box-sizing:border-box;display:flex;align-items:center;gap:8px;height:40px;width:340px;padding:0 12px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:16px;transition:width .35s cubic-bezier(.34,1.56,.64,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);cursor:text}.gbt-sb-trigger--open{width:420px;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-sb-trigger__icon{flex-shrink:0;color:var(--text-secondary);transition:color .2s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.34,1.56,.64,1)}.gbt-sb-trigger--open .gbt-sb-trigger__icon{color:var(--primary);transform:scale(1.1) rotate(5deg)}.gbt-sb-trigger__input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:14px;line-height:1.5}.gbt-sb-trigger__input::placeholder{color:var(--text-secondary)}.gbt-sb-trigger__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-trigger__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-sb-trigger__clear:active{transform:scale(.9)}.gbt-sb-trigger[hidden]{display:none}.gbt-sb-toggle{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:var(--site-border-radius-sm);background:none;color:var(--text-primary);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-toggle:hover{background:var(--bg-hover)}.gbt-sb-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-sb-trigger__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:calc(100% + 2px);margin:-1px 0 -1px -13px;padding:0;background:transparent;border:none;border-radius:15px 0 0 15px;color:var(--text-secondary);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-trigger__close:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-sb-trigger__close:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.gbt-sb-trigger__close{transition:none}}:host([data-collapsible][data-expanded]) .gbt-sb-trigger__icon{display:none}:host([data-collapsible]) .gbt-sb-trigger{width:100%;height:44px}:host([data-collapsible]) .gbt-sb-trigger--open{width:100%}@media(min-width:769px){:host([data-collapsible=narrow]) .gbt-sb-toggle,:host([data-collapsible=narrow]) .gbt-sb-trigger__close{display:none}:host([data-collapsible=narrow]) .gbt-sb-trigger__icon{display:inline-flex}:host([data-collapsible=narrow]) .gbt-sb-trigger[hidden]{display:flex}:host([data-collapsible=narrow]) .gbt-sb-trigger{width:340px;height:40px}:host([data-collapsible=narrow]) .gbt-sb-trigger--open{width:420px}}.gbt-sb-backdrop{position:fixed;inset:0;background:#0000004d;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:999;animation:gbt-search-bar-fade-in .2s cubic-bezier(.4,0,.2,1) both}.gbt-sb-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:420px;max-height:460px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius);box-shadow:0 16px 48px #0000002e,0 4px 12px #00000014;overflow:hidden;display:flex;flex-direction:column;z-index:1001;animation:gbt-search-bar-scale-in .25s cubic-bezier(.34,1.56,.64,1) both}.gbt-sb-list{flex:1;overflow-y:auto;padding:6px;display:flex;flex-direction:column}.gbt-sb-list::-webkit-scrollbar{width:6px}.gbt-sb-list::-webkit-scrollbar-track{background:transparent}.gbt-sb-list::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-sb-list::-webkit-scrollbar-thumb:hover{background:var(--border-color)}.gbt-sb-group-label{display:flex;align-items:center;gap:6px;padding:10px 10px 4px;color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.gbt-sb-group-count{margin-left:auto;padding:1px 7px;background:var(--bg-hover);border-radius:10px;font-size:11px;font-weight:600;color:var(--text-secondary)}.gbt-sb-item{box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;background:transparent;border:none;border-radius:8px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-sb-item:hover{background:var(--bg-hover)}.gbt-sb-item--active{background:color-mix(in srgb,var(--primary) 9%,transparent)}.gbt-sb-item__icon{flex-shrink:0;color:var(--text-secondary);transition:color .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-item--active .gbt-sb-item__icon{color:var(--primary)}.gbt-sb-item__label{flex:1;font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-sb-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;text-align:center}.gbt-sb-state span{color:var(--text-primary);font-size:14px;font-weight:500}.gbt-sb-state__icon{color:var(--text-secondary);opacity:.4}.gbt-sb-state__hint{margin:0;color:var(--text-secondary);font-size:12px}.gbt-sb-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;background:var(--bg-hover);border:1px solid var(--border-color);border-bottom-width:2px;border-radius:5px;color:var(--text-secondary);font-size:11px;font-family:SF Mono,Monaco,Consolas,monospace;font-weight:500;line-height:1}.gbt-sb-kbd--sm{min-width:18px;height:18px;font-size:10px;border-radius:4px}.gbt-sb-footer{flex-shrink:0;display:flex;align-items:center;gap:16px;padding:8px 12px;border-top:1px solid var(--border-color);background:var(--bg-hover)}.gbt-sb-footer__hint{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes gbt-search-bar-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gbt-search-bar-scale-in{0%{opacity:0;transform:translate(-50%) scale(.96) translateY(-6px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.gbt-sb-toggle{transition:none}.gbt-sb-trigger{transition:border-color .15s,box-shadow .15s}.gbt-sb-trigger__icon{transition:color .15s;transform:none!important}.gbt-sb-trigger__clear{transition:none}.gbt-sb-trigger__clear:active{transform:none}.gbt-sb-backdrop,.gbt-sb-panel{animation:none}}@media screen and (max-width:800px){.gbt-sb-trigger,.gbt-sb-trigger--open{width:100%}.gbt-sb-panel{width:calc(100vw - 32px);max-height:360px}.gbt-sb-state{padding:32px 16px}}\n"],
5966
+ styles: [":host{position:relative;display:block}.gbt-sb-trigger{position:relative;z-index:1000;box-sizing:border-box;display:flex;align-items:center;gap:8px;height:40px;width:340px;padding:0 12px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--gbt-radius-search, 16px);transition:width .35s cubic-bezier(.34,1.56,.64,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);cursor:text}.gbt-sb-trigger--open{width:420px;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-sb-trigger__icon{flex-shrink:0;color:var(--text-secondary);transition:color .2s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.34,1.56,.64,1)}.gbt-sb-trigger--open .gbt-sb-trigger__icon{color:var(--primary);transform:scale(1.1) rotate(5deg)}.gbt-sb-trigger__input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:14px;line-height:1.5}.gbt-sb-trigger__input::placeholder{color:var(--text-secondary)}.gbt-sb-trigger__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:var(--gbt-radius-chip, 6px);color:var(--text-secondary);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-trigger__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-sb-trigger__clear:active{transform:scale(.9)}.gbt-sb-trigger[hidden]{display:none}.gbt-sb-toggle{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:var(--site-border-radius-sm);background:none;color:var(--text-primary);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-toggle:hover{background:var(--bg-hover)}.gbt-sb-toggle:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-sb-trigger__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:calc(100% + 2px);margin:-1px 0 -1px -13px;padding:0;background:transparent;border:none;border-radius:calc(var(--gbt-radius-search, 16px) - 1px) 0 0 calc(var(--gbt-radius-search, 16px) - 1px);color:var(--text-secondary);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-trigger__close:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-sb-trigger__close:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}@media(prefers-reduced-motion:reduce){.gbt-sb-trigger__close{transition:none}}:host([data-collapsible][data-expanded]) .gbt-sb-trigger__icon{display:none}:host([data-collapsible]) .gbt-sb-trigger{width:100%;height:44px}:host([data-collapsible]) .gbt-sb-trigger--open{width:100%}@media(min-width:769px){:host([data-collapsible=narrow]) .gbt-sb-toggle,:host([data-collapsible=narrow]) .gbt-sb-trigger__close{display:none}:host([data-collapsible=narrow]) .gbt-sb-trigger__icon{display:inline-flex}:host([data-collapsible=narrow]) .gbt-sb-trigger[hidden]{display:flex}:host([data-collapsible=narrow]) .gbt-sb-trigger{width:340px;height:40px}:host([data-collapsible=narrow]) .gbt-sb-trigger--open{width:420px}}.gbt-sb-backdrop{position:fixed;inset:0;background:#0000004d;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:999;animation:gbt-search-bar-fade-in .2s cubic-bezier(.4,0,.2,1) both}.gbt-sb-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:420px;max-height:460px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius);box-shadow:0 16px 48px #0000002e,0 4px 12px #00000014;overflow:hidden;display:flex;flex-direction:column;z-index:1001;animation:gbt-search-bar-scale-in .25s cubic-bezier(.34,1.56,.64,1) both}.gbt-sb-list{flex:1;overflow-y:auto;padding:6px;display:flex;flex-direction:column}.gbt-sb-list::-webkit-scrollbar{width:6px}.gbt-sb-list::-webkit-scrollbar-track{background:transparent}.gbt-sb-list::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-sb-list::-webkit-scrollbar-thumb:hover{background:var(--border-color)}.gbt-sb-group-label{display:flex;align-items:center;gap:6px;padding:10px 10px 4px;color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.gbt-sb-group-count{margin-left:auto;padding:1px 7px;background:var(--bg-hover);border-radius:var(--gbt-radius-badge, 10px);font-size:11px;font-weight:600;color:var(--text-secondary)}.gbt-sb-item{box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;background:transparent;border:none;border-radius:var(--gbt-radius-menu, 8px);text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-sb-item:hover{background:var(--bg-hover)}.gbt-sb-item--active{background:color-mix(in srgb,var(--primary) 9%,transparent)}.gbt-sb-item__icon{flex-shrink:0;color:var(--text-secondary);transition:color .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-item--active .gbt-sb-item__icon{color:var(--primary)}.gbt-sb-item__label{flex:1;font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-sb-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;text-align:center}.gbt-sb-state span{color:var(--text-primary);font-size:14px;font-weight:500}.gbt-sb-state__icon{color:var(--text-secondary);opacity:.4}.gbt-sb-state__hint{margin:0;color:var(--text-secondary);font-size:12px}.gbt-sb-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;background:var(--bg-hover);border:1px solid var(--border-color);border-bottom-width:2px;border-radius:var(--gbt-radius-chip, 5px);color:var(--text-secondary);font-size:11px;font-family:var(--gbt-font-mono);font-weight:500;line-height:1}.gbt-sb-kbd--sm{min-width:18px;height:18px;font-size:10px;border-radius:4px}.gbt-sb-footer{flex-shrink:0;display:flex;align-items:center;gap:16px;padding:8px 12px;border-top:1px solid var(--border-color);background:var(--bg-hover)}.gbt-sb-footer__hint{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes gbt-search-bar-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gbt-search-bar-scale-in{0%{opacity:0;transform:translate(-50%) scale(.96) translateY(-6px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.gbt-sb-toggle{transition:none}.gbt-sb-trigger{transition:border-color .15s,box-shadow .15s}.gbt-sb-trigger__icon{transition:color .15s;transform:none!important}.gbt-sb-trigger__clear{transition:none}.gbt-sb-trigger__clear:active{transform:none}.gbt-sb-backdrop,.gbt-sb-panel{animation:none}}@media screen and (max-width:800px){.gbt-sb-trigger,.gbt-sb-trigger--open{width:100%}.gbt-sb-panel{width:calc(100vw - 32px);max-height:360px}.gbt-sb-state{padding:32px 16px}}\n"],
5950
5967
  dependencies: [{
5951
5968
  kind: "component",
5952
5969
  type: Icon,
@@ -5984,7 +6001,7 @@ i0.ɵɵngDeclareClassMetadata({
5984
6001
  "[attr.data-expanded]": "collapsibleMode() && expanded() ? \"\" : null"
5985
6002
  },
5986
6003
  template: "@if (collapsibleMode()) {\n @if (folded()) {\n <button\n #toggle\n type=\"button\"\n class=\"gbt-sb-toggle\"\n aria-expanded=\"false\"\n [attr.aria-controls]=\"triggerId()\"\n [attr.aria-label]=\"openLabel()\"\n (click)=\"expand()\"\n >\n <gbt-icon name=\"search\" aria-hidden=\"true\" />\n </button>\n }\n}\n<!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events, @angular-eslint/template/interactive-supports-focus -->\n<div\n class=\"gbt-sb-trigger\"\n [attr.id]=\"collapsibleMode() ? triggerId() : null\"\n [attr.hidden]=\"folded() ? '' : null\"\n [class.gbt-sb-trigger--open]=\"isFocused()\"\n (click)=\"focusSearch()\"\n>\n @if (collapsibleMode() && expanded()) {\n <button\n type=\"button\"\n class=\"gbt-sb-trigger__close\"\n [attr.aria-label]=\"closeLabel()\"\n (click)=\"close($event)\"\n >\n <gbt-icon name=\"arrow-left\" aria-hidden=\"true\" />\n </button>\n }\n <gbt-icon name=\"search\" class=\"gbt-sb-trigger__icon\" aria-hidden=\"true\" />\n <input\n #searchInput\n type=\"text\"\n role=\"combobox\"\n class=\"gbt-sb-trigger__input\"\n [placeholder]=\"placeholder()\"\n [attr.aria-label]=\"ariaLabel() || placeholder()\"\n [value]=\"searchQuery()\"\n [attr.aria-expanded]=\"showOverlay()\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n [attr.aria-controls]=\"showOverlay() ? panelId() : null\"\n [attr.aria-activedescendant]=\"activeItemDomId()\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur($event)\"\n (input)=\"onInput($event)\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n />\n @if (searchQuery().length > 0) {\n <button\n type=\"button\"\n class=\"gbt-sb-trigger__clear\"\n (click)=\"onClear()\"\n [attr.aria-label]=\"clearLabel()\"\n >\n <gbt-icon name=\"x\" aria-hidden=\"true\" />\n </button>\n }\n</div>\n@if (showOverlay()) {\n <div role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" class=\"sr-only\">\n {{ resultsAnnouncement()(resultCount()) }}\n </div>\n}\n@if (showOverlay()) {\n <div class=\"gbt-sb-backdrop\" (click)=\"blurSearch()\" aria-hidden=\"true\"></div>\n <ng-template #footer>\n <div class=\"gbt-sb-footer\" aria-hidden=\"true\">\n <span class=\"gbt-sb-footer__hint\">\n <kbd class=\"gbt-sb-kbd gbt-sb-kbd--sm\">↑</kbd>\n <kbd class=\"gbt-sb-kbd gbt-sb-kbd--sm\">↓</kbd>\n {{ navigateHint() }}\n </span>\n <span class=\"gbt-sb-footer__hint\">\n <kbd class=\"gbt-sb-kbd gbt-sb-kbd--sm\">↵</kbd>\n {{ selectHint() }}\n </span>\n <span class=\"gbt-sb-footer__hint\">\n <kbd class=\"gbt-sb-kbd gbt-sb-kbd--sm\">Esc</kbd>\n {{ closeHint() }}\n </span>\n </div>\n </ng-template>\n @if (hasNoResults()) {\n <div [id]=\"panelId()\" class=\"gbt-sb-panel\">\n <div class=\"gbt-sb-state\" role=\"status\">\n <gbt-icon name=\"search\" class=\"gbt-sb-state__icon\" aria-hidden=\"true\" />\n <span>{{ noResultsMessage() }}</span>\n <p class=\"gbt-sb-state__hint\">{{ noResultsHint() }}</p>\n </div>\n <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n </div>\n } @else {\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events, @angular-eslint/template/interactive-supports-focus -->\n <div\n [id]=\"panelId()\"\n class=\"gbt-sb-panel\"\n role=\"listbox\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"$event.stopPropagation()\"\n >\n @if (hasGroupedResults()) {\n <div class=\"gbt-sb-list\">\n @for (category of indexedGroupedResults(); track category.label) {\n @if (category.items.length > 0) {\n <div class=\"gbt-sb-group-label\">\n @if (category.icon) {\n <gbt-icon [name]=\"category.icon\" aria-hidden=\"true\" />\n }\n {{ category.label }}\n <span class=\"gbt-sb-group-count\" aria-hidden=\"true\">{{\n category.items.length\n }}</span>\n </div>\n @for (entry of category.indexedItems; track entry.index) {\n <button\n type=\"button\"\n role=\"option\"\n tabindex=\"-1\"\n [id]=\"itemDomId(entry.index)\"\n class=\"gbt-sb-item\"\n [attr.aria-selected]=\"entry.index === activeIndex()\"\n [class.gbt-sb-item--active]=\"entry.index === activeIndex()\"\n (click)=\"onSelect(entry.item)\"\n (mouseenter)=\"activeIndex.set(entry.index)\"\n >\n @if (itemTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()!\"\n [ngTemplateOutletContext]=\"{ $implicit: entry.item }\"\n ></ng-container>\n } @else {\n @if (category.icon) {\n <gbt-icon\n [name]=\"category.icon\"\n class=\"gbt-sb-item__icon\"\n aria-hidden=\"true\"\n />\n }\n <span class=\"gbt-sb-item__label\">{{ entry.formatted }}</span>\n }\n </button>\n }\n }\n }\n </div>\n } @else if (results() && results()!.length > 0) {\n <div class=\"gbt-sb-list\">\n @for (entry of indexedResults(); track entry.index) {\n <button\n type=\"button\"\n role=\"option\"\n tabindex=\"-1\"\n [id]=\"itemDomId(entry.index)\"\n class=\"gbt-sb-item\"\n [attr.aria-selected]=\"entry.index === activeIndex()\"\n [class.gbt-sb-item--active]=\"entry.index === activeIndex()\"\n (click)=\"onSelect(entry.item)\"\n (mouseenter)=\"activeIndex.set(entry.index)\"\n >\n @if (itemTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()!\"\n [ngTemplateOutletContext]=\"{ $implicit: entry.item }\"\n ></ng-container>\n } @else {\n <span class=\"gbt-sb-item__label\">{{ entry.formatted }}</span>\n }\n </button>\n }\n </div>\n }\n\n <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n </div>\n }\n}\n",
5987
- styles: [":host{position:relative;display:block}.gbt-sb-trigger{position:relative;z-index:1000;box-sizing:border-box;display:flex;align-items:center;gap:8px;height:40px;width:340px;padding:0 12px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:16px;transition:width .35s cubic-bezier(.34,1.56,.64,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);cursor:text}.gbt-sb-trigger--open{width:420px;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-sb-trigger__icon{flex-shrink:0;color:var(--text-secondary);transition:color .2s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.34,1.56,.64,1)}.gbt-sb-trigger--open .gbt-sb-trigger__icon{color:var(--primary);transform:scale(1.1) rotate(5deg)}.gbt-sb-trigger__input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:14px;line-height:1.5}.gbt-sb-trigger__input::placeholder{color:var(--text-secondary)}.gbt-sb-trigger__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-trigger__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-sb-trigger__clear:active{transform:scale(.9)}.gbt-sb-trigger[hidden]{display:none}.gbt-sb-toggle{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:var(--site-border-radius-sm);background:none;color:var(--text-primary);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-toggle:hover{background:var(--bg-hover)}.gbt-sb-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-sb-trigger__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:calc(100% + 2px);margin:-1px 0 -1px -13px;padding:0;background:transparent;border:none;border-radius:15px 0 0 15px;color:var(--text-secondary);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-trigger__close:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-sb-trigger__close:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.gbt-sb-trigger__close{transition:none}}:host([data-collapsible][data-expanded]) .gbt-sb-trigger__icon{display:none}:host([data-collapsible]) .gbt-sb-trigger{width:100%;height:44px}:host([data-collapsible]) .gbt-sb-trigger--open{width:100%}@media(min-width:769px){:host([data-collapsible=narrow]) .gbt-sb-toggle,:host([data-collapsible=narrow]) .gbt-sb-trigger__close{display:none}:host([data-collapsible=narrow]) .gbt-sb-trigger__icon{display:inline-flex}:host([data-collapsible=narrow]) .gbt-sb-trigger[hidden]{display:flex}:host([data-collapsible=narrow]) .gbt-sb-trigger{width:340px;height:40px}:host([data-collapsible=narrow]) .gbt-sb-trigger--open{width:420px}}.gbt-sb-backdrop{position:fixed;inset:0;background:#0000004d;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:999;animation:gbt-search-bar-fade-in .2s cubic-bezier(.4,0,.2,1) both}.gbt-sb-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:420px;max-height:460px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius);box-shadow:0 16px 48px #0000002e,0 4px 12px #00000014;overflow:hidden;display:flex;flex-direction:column;z-index:1001;animation:gbt-search-bar-scale-in .25s cubic-bezier(.34,1.56,.64,1) both}.gbt-sb-list{flex:1;overflow-y:auto;padding:6px;display:flex;flex-direction:column}.gbt-sb-list::-webkit-scrollbar{width:6px}.gbt-sb-list::-webkit-scrollbar-track{background:transparent}.gbt-sb-list::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-sb-list::-webkit-scrollbar-thumb:hover{background:var(--border-color)}.gbt-sb-group-label{display:flex;align-items:center;gap:6px;padding:10px 10px 4px;color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.gbt-sb-group-count{margin-left:auto;padding:1px 7px;background:var(--bg-hover);border-radius:10px;font-size:11px;font-weight:600;color:var(--text-secondary)}.gbt-sb-item{box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;background:transparent;border:none;border-radius:8px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-sb-item:hover{background:var(--bg-hover)}.gbt-sb-item--active{background:color-mix(in srgb,var(--primary) 9%,transparent)}.gbt-sb-item__icon{flex-shrink:0;color:var(--text-secondary);transition:color .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-item--active .gbt-sb-item__icon{color:var(--primary)}.gbt-sb-item__label{flex:1;font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-sb-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;text-align:center}.gbt-sb-state span{color:var(--text-primary);font-size:14px;font-weight:500}.gbt-sb-state__icon{color:var(--text-secondary);opacity:.4}.gbt-sb-state__hint{margin:0;color:var(--text-secondary);font-size:12px}.gbt-sb-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;background:var(--bg-hover);border:1px solid var(--border-color);border-bottom-width:2px;border-radius:5px;color:var(--text-secondary);font-size:11px;font-family:SF Mono,Monaco,Consolas,monospace;font-weight:500;line-height:1}.gbt-sb-kbd--sm{min-width:18px;height:18px;font-size:10px;border-radius:4px}.gbt-sb-footer{flex-shrink:0;display:flex;align-items:center;gap:16px;padding:8px 12px;border-top:1px solid var(--border-color);background:var(--bg-hover)}.gbt-sb-footer__hint{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes gbt-search-bar-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gbt-search-bar-scale-in{0%{opacity:0;transform:translate(-50%) scale(.96) translateY(-6px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.gbt-sb-toggle{transition:none}.gbt-sb-trigger{transition:border-color .15s,box-shadow .15s}.gbt-sb-trigger__icon{transition:color .15s;transform:none!important}.gbt-sb-trigger__clear{transition:none}.gbt-sb-trigger__clear:active{transform:none}.gbt-sb-backdrop,.gbt-sb-panel{animation:none}}@media screen and (max-width:800px){.gbt-sb-trigger,.gbt-sb-trigger--open{width:100%}.gbt-sb-panel{width:calc(100vw - 32px);max-height:360px}.gbt-sb-state{padding:32px 16px}}\n"]
6004
+ styles: [":host{position:relative;display:block}.gbt-sb-trigger{position:relative;z-index:1000;box-sizing:border-box;display:flex;align-items:center;gap:8px;height:40px;width:340px;padding:0 12px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--gbt-radius-search, 16px);transition:width .35s cubic-bezier(.34,1.56,.64,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);cursor:text}.gbt-sb-trigger--open{width:420px;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-sb-trigger__icon{flex-shrink:0;color:var(--text-secondary);transition:color .2s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.34,1.56,.64,1)}.gbt-sb-trigger--open .gbt-sb-trigger__icon{color:var(--primary);transform:scale(1.1) rotate(5deg)}.gbt-sb-trigger__input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:14px;line-height:1.5}.gbt-sb-trigger__input::placeholder{color:var(--text-secondary)}.gbt-sb-trigger__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:var(--gbt-radius-chip, 6px);color:var(--text-secondary);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-trigger__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-sb-trigger__clear:active{transform:scale(.9)}.gbt-sb-trigger[hidden]{display:none}.gbt-sb-toggle{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:var(--site-border-radius-sm);background:none;color:var(--text-primary);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-toggle:hover{background:var(--bg-hover)}.gbt-sb-toggle:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-sb-trigger__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:calc(100% + 2px);margin:-1px 0 -1px -13px;padding:0;background:transparent;border:none;border-radius:calc(var(--gbt-radius-search, 16px) - 1px) 0 0 calc(var(--gbt-radius-search, 16px) - 1px);color:var(--text-secondary);cursor:pointer;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-trigger__close:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-sb-trigger__close:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}@media(prefers-reduced-motion:reduce){.gbt-sb-trigger__close{transition:none}}:host([data-collapsible][data-expanded]) .gbt-sb-trigger__icon{display:none}:host([data-collapsible]) .gbt-sb-trigger{width:100%;height:44px}:host([data-collapsible]) .gbt-sb-trigger--open{width:100%}@media(min-width:769px){:host([data-collapsible=narrow]) .gbt-sb-toggle,:host([data-collapsible=narrow]) .gbt-sb-trigger__close{display:none}:host([data-collapsible=narrow]) .gbt-sb-trigger__icon{display:inline-flex}:host([data-collapsible=narrow]) .gbt-sb-trigger[hidden]{display:flex}:host([data-collapsible=narrow]) .gbt-sb-trigger{width:340px;height:40px}:host([data-collapsible=narrow]) .gbt-sb-trigger--open{width:420px}}.gbt-sb-backdrop{position:fixed;inset:0;background:#0000004d;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:999;animation:gbt-search-bar-fade-in .2s cubic-bezier(.4,0,.2,1) both}.gbt-sb-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:420px;max-height:460px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius);box-shadow:0 16px 48px #0000002e,0 4px 12px #00000014;overflow:hidden;display:flex;flex-direction:column;z-index:1001;animation:gbt-search-bar-scale-in .25s cubic-bezier(.34,1.56,.64,1) both}.gbt-sb-list{flex:1;overflow-y:auto;padding:6px;display:flex;flex-direction:column}.gbt-sb-list::-webkit-scrollbar{width:6px}.gbt-sb-list::-webkit-scrollbar-track{background:transparent}.gbt-sb-list::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-sb-list::-webkit-scrollbar-thumb:hover{background:var(--border-color)}.gbt-sb-group-label{display:flex;align-items:center;gap:6px;padding:10px 10px 4px;color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.gbt-sb-group-count{margin-left:auto;padding:1px 7px;background:var(--bg-hover);border-radius:var(--gbt-radius-badge, 10px);font-size:11px;font-weight:600;color:var(--text-secondary)}.gbt-sb-item{box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;background:transparent;border:none;border-radius:var(--gbt-radius-menu, 8px);text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-sb-item:hover{background:var(--bg-hover)}.gbt-sb-item--active{background:color-mix(in srgb,var(--primary) 9%,transparent)}.gbt-sb-item__icon{flex-shrink:0;color:var(--text-secondary);transition:color .15s cubic-bezier(.4,0,.2,1)}.gbt-sb-item--active .gbt-sb-item__icon{color:var(--primary)}.gbt-sb-item__label{flex:1;font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-sb-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;text-align:center}.gbt-sb-state span{color:var(--text-primary);font-size:14px;font-weight:500}.gbt-sb-state__icon{color:var(--text-secondary);opacity:.4}.gbt-sb-state__hint{margin:0;color:var(--text-secondary);font-size:12px}.gbt-sb-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;background:var(--bg-hover);border:1px solid var(--border-color);border-bottom-width:2px;border-radius:var(--gbt-radius-chip, 5px);color:var(--text-secondary);font-size:11px;font-family:var(--gbt-font-mono);font-weight:500;line-height:1}.gbt-sb-kbd--sm{min-width:18px;height:18px;font-size:10px;border-radius:4px}.gbt-sb-footer{flex-shrink:0;display:flex;align-items:center;gap:16px;padding:8px 12px;border-top:1px solid var(--border-color);background:var(--bg-hover)}.gbt-sb-footer__hint{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes gbt-search-bar-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gbt-search-bar-scale-in{0%{opacity:0;transform:translate(-50%) scale(.96) translateY(-6px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.gbt-sb-toggle{transition:none}.gbt-sb-trigger{transition:border-color .15s,box-shadow .15s}.gbt-sb-trigger__icon{transition:color .15s;transform:none!important}.gbt-sb-trigger__clear{transition:none}.gbt-sb-trigger__clear:active{transform:none}.gbt-sb-backdrop,.gbt-sb-panel{animation:none}}@media screen and (max-width:800px){.gbt-sb-trigger,.gbt-sb-trigger--open{width:100%}.gbt-sb-panel{width:calc(100vw - 32px);max-height:360px}.gbt-sb-state{padding:32px 16px}}\n"]
5988
6005
  }]
5989
6006
  }],
5990
6007
  propDecorators: {
@@ -6319,7 +6336,7 @@ var Tabs = class Tabs {
6319
6336
  }],
6320
6337
  ngImport: i0,
6321
6338
  template: "<div class=\"gbt-tabs\">\n <div class=\"gbt-tabs__list\" role=\"tablist\">\n @for (tab of tabs(); track tab; let i = $index) {\n <button\n #trigger\n type=\"button\"\n class=\"gbt-tabs__trigger\"\n [class.gbt-tabs__trigger--active]=\"activeIndex() === i\"\n role=\"tab\"\n [id]=\"id() + '-trigger-' + i\"\n [attr.aria-selected]=\"activeIndex() === i\"\n [attr.aria-controls]=\"id() + '-panel-' + i\"\n [tabIndex]=\"activeIndex() === i ? 0 : -1\"\n (click)=\"select(i)\"\n (keydown)=\"onKeydown($event, i)\"\n >\n {{ tab.label() }}\n </button>\n }\n </div>\n <div class=\"gbt-tabs__panels\">\n <ng-content></ng-content>\n </div>\n</div>\n",
6322
- styles: [":host{display:block}.gbt-tabs{display:flex;flex-direction:column}.gbt-tabs__list{display:flex;gap:.5rem;border-bottom:1px solid var(--border-color);overflow-x:auto}.gbt-tabs__trigger{appearance:none;background:none;border:none;border-bottom:2px solid transparent;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:color var(--site-transition-fast),border-color var(--site-transition-fast)}.gbt-tabs__trigger:hover{color:var(--text-primary)}.gbt-tabs__trigger:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:var(--site-border-radius-sm)}.gbt-tabs__trigger--active{color:var(--primary);border-bottom-color:var(--primary)}.gbt-tabs__panels{padding-top:1rem;display:flex;flex-direction:column;gap:1rem}\n"],
6339
+ styles: [":host{display:block}.gbt-tabs{display:flex;flex-direction:column}.gbt-tabs__list{display:flex;gap:.5rem;border-bottom:1px solid var(--border-color);overflow-x:auto}.gbt-tabs__trigger{appearance:none;background:none;border:none;border-bottom:2px solid transparent;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:color var(--site-transition-fast),border-color var(--site-transition-fast)}.gbt-tabs__trigger:hover{color:var(--text-primary)}.gbt-tabs__trigger:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px;border-radius:var(--site-border-radius-sm)}.gbt-tabs__trigger--active{color:var(--primary);border-bottom-color:var(--primary)}.gbt-tabs__panels{padding-top:1rem;display:flex;flex-direction:column;gap:1rem}\n"],
6323
6340
  changeDetection: i0.ChangeDetectionStrategy.OnPush
6324
6341
  });
6325
6342
  };
@@ -6336,7 +6353,7 @@ i0.ɵɵngDeclareClassMetadata({
6336
6353
  imports: [],
6337
6354
  changeDetection: ChangeDetectionStrategy.OnPush,
6338
6355
  template: "<div class=\"gbt-tabs\">\n <div class=\"gbt-tabs__list\" role=\"tablist\">\n @for (tab of tabs(); track tab; let i = $index) {\n <button\n #trigger\n type=\"button\"\n class=\"gbt-tabs__trigger\"\n [class.gbt-tabs__trigger--active]=\"activeIndex() === i\"\n role=\"tab\"\n [id]=\"id() + '-trigger-' + i\"\n [attr.aria-selected]=\"activeIndex() === i\"\n [attr.aria-controls]=\"id() + '-panel-' + i\"\n [tabIndex]=\"activeIndex() === i ? 0 : -1\"\n (click)=\"select(i)\"\n (keydown)=\"onKeydown($event, i)\"\n >\n {{ tab.label() }}\n </button>\n }\n </div>\n <div class=\"gbt-tabs__panels\">\n <ng-content></ng-content>\n </div>\n</div>\n",
6339
- styles: [":host{display:block}.gbt-tabs{display:flex;flex-direction:column}.gbt-tabs__list{display:flex;gap:.5rem;border-bottom:1px solid var(--border-color);overflow-x:auto}.gbt-tabs__trigger{appearance:none;background:none;border:none;border-bottom:2px solid transparent;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:color var(--site-transition-fast),border-color var(--site-transition-fast)}.gbt-tabs__trigger:hover{color:var(--text-primary)}.gbt-tabs__trigger:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:var(--site-border-radius-sm)}.gbt-tabs__trigger--active{color:var(--primary);border-bottom-color:var(--primary)}.gbt-tabs__panels{padding-top:1rem;display:flex;flex-direction:column;gap:1rem}\n"]
6356
+ styles: [":host{display:block}.gbt-tabs{display:flex;flex-direction:column}.gbt-tabs__list{display:flex;gap:.5rem;border-bottom:1px solid var(--border-color);overflow-x:auto}.gbt-tabs__trigger{appearance:none;background:none;border:none;border-bottom:2px solid transparent;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:color var(--site-transition-fast),border-color var(--site-transition-fast)}.gbt-tabs__trigger:hover{color:var(--text-primary)}.gbt-tabs__trigger:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px;border-radius:var(--site-border-radius-sm)}.gbt-tabs__trigger--active{color:var(--primary);border-bottom-color:var(--primary)}.gbt-tabs__panels{padding-top:1rem;display:flex;flex-direction:column;gap:1rem}\n"]
6340
6357
  }]
6341
6358
  }],
6342
6359
  ctorParameters: () => [],
@@ -6768,7 +6785,7 @@ var ChartFrame = class ChartFrame {
6768
6785
  }],
6769
6786
  ngImport: i0,
6770
6787
  template: "<div class=\"gbt-chart-frame\">\n @if (heading()) {\n <div class=\"gbt-chart-frame__header\">\n @switch (headingLevel()) {\n @case (1) {\n <h1 class=\"gbt-chart-frame__title\">{{ heading() }}</h1>\n }\n @case (3) {\n <h3 class=\"gbt-chart-frame__title\">{{ heading() }}</h3>\n }\n @case (4) {\n <h4 class=\"gbt-chart-frame__title\">{{ heading() }}</h4>\n }\n @case (5) {\n <h5 class=\"gbt-chart-frame__title\">{{ heading() }}</h5>\n }\n @case (6) {\n <h6 class=\"gbt-chart-frame__title\">{{ heading() }}</h6>\n }\n @default {\n <h2 class=\"gbt-chart-frame__title\">{{ heading() }}</h2>\n }\n }\n @if (headline()) {\n <p class=\"gbt-chart-frame__headline\">{{ headline() }}</p>\n }\n @if (trend()) {\n <p class=\"gbt-chart-frame__trend\">{{ trend() }}</p>\n }\n </div>\n }\n\n <div\n #surface\n class=\"gbt-chart-frame__surface\"\n [attr.tabindex]=\"ready() && pointValues().length > 0 ? 0 : null\"\n [attr.role]=\"ready() ? 'group' : null\"\n [attr.aria-label]=\"ready() ? label() : null\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur()\"\n (pointermove)=\"onPointerMove($event)\"\n (pointerleave)=\"onPointerLeave($event)\"\n >\n @if (ready()) {\n <svg\n class=\"gbt-chart-frame__svg\"\n [attr.viewBox]=\"viewBox()\"\n role=\"presentation\"\n focusable=\"false\"\n >\n <g [attr.transform]=\"innerTransform()\">\n <ng-content select=\"[gbtChartLayer]\" />\n @if (activePosition() !== null) {\n <line\n class=\"gbt-chart-frame__guide\"\n [attr.x1]=\"activePosition()\"\n [attr.x2]=\"activePosition()\"\n y1=\"0\"\n [attr.y2]=\"innerHeight()\"\n aria-hidden=\"true\"\n />\n }\n </g>\n </svg>\n <ng-content select=\"gbt-chart-tooltip\" />\n }\n </div>\n <ng-content select=\"gbt-chart-empty\" />\n <ng-content select=\"gbt-chart-table\" />\n</div>\n",
6771
- styles: [":host{display:block}.gbt-chart-frame{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.gbt-chart-frame__surface{flex:1;min-height:0;position:relative}.gbt-chart-frame__surface:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-chart-frame__svg{display:block;width:100%;height:100%}.gbt-chart-frame__guide{stroke:var(--border-color);stroke-width:1;pointer-events:none}.gbt-chart-frame__header{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:.75rem;margin-bottom:.5rem}.gbt-chart-frame__title{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary)}.gbt-chart-frame__headline{margin:0;grid-row:1;grid-column:2;font-size:1.375rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.gbt-chart-frame__trend{margin:0;grid-column:2;justify-self:end;font-size:.6875rem;font-weight:600;color:var(--text-secondary)}\n"],
6788
+ styles: [":host{display:block}.gbt-chart-frame{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.gbt-chart-frame__surface{flex:1;min-height:0;position:relative}.gbt-chart-frame__surface:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-chart-frame__svg{display:block;width:100%;height:100%}.gbt-chart-frame__guide{stroke:var(--border-color);stroke-width:1;pointer-events:none}.gbt-chart-frame__header{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:.75rem;margin-bottom:.5rem}.gbt-chart-frame__title{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary)}.gbt-chart-frame__headline{margin:0;grid-row:1;grid-column:2;font-size:1.375rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.gbt-chart-frame__trend{margin:0;grid-column:2;justify-self:end;font-size:.6875rem;font-weight:600;color:var(--text-secondary)}\n"],
6772
6789
  changeDetection: i0.ChangeDetectionStrategy.OnPush
6773
6790
  });
6774
6791
  };
@@ -6789,7 +6806,7 @@ i0.ɵɵngDeclareClassMetadata({
6789
6806
  useExisting: ChartContext
6790
6807
  }],
6791
6808
  template: "<div class=\"gbt-chart-frame\">\n @if (heading()) {\n <div class=\"gbt-chart-frame__header\">\n @switch (headingLevel()) {\n @case (1) {\n <h1 class=\"gbt-chart-frame__title\">{{ heading() }}</h1>\n }\n @case (3) {\n <h3 class=\"gbt-chart-frame__title\">{{ heading() }}</h3>\n }\n @case (4) {\n <h4 class=\"gbt-chart-frame__title\">{{ heading() }}</h4>\n }\n @case (5) {\n <h5 class=\"gbt-chart-frame__title\">{{ heading() }}</h5>\n }\n @case (6) {\n <h6 class=\"gbt-chart-frame__title\">{{ heading() }}</h6>\n }\n @default {\n <h2 class=\"gbt-chart-frame__title\">{{ heading() }}</h2>\n }\n }\n @if (headline()) {\n <p class=\"gbt-chart-frame__headline\">{{ headline() }}</p>\n }\n @if (trend()) {\n <p class=\"gbt-chart-frame__trend\">{{ trend() }}</p>\n }\n </div>\n }\n\n <div\n #surface\n class=\"gbt-chart-frame__surface\"\n [attr.tabindex]=\"ready() && pointValues().length > 0 ? 0 : null\"\n [attr.role]=\"ready() ? 'group' : null\"\n [attr.aria-label]=\"ready() ? label() : null\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur()\"\n (pointermove)=\"onPointerMove($event)\"\n (pointerleave)=\"onPointerLeave($event)\"\n >\n @if (ready()) {\n <svg\n class=\"gbt-chart-frame__svg\"\n [attr.viewBox]=\"viewBox()\"\n role=\"presentation\"\n focusable=\"false\"\n >\n <g [attr.transform]=\"innerTransform()\">\n <ng-content select=\"[gbtChartLayer]\" />\n @if (activePosition() !== null) {\n <line\n class=\"gbt-chart-frame__guide\"\n [attr.x1]=\"activePosition()\"\n [attr.x2]=\"activePosition()\"\n y1=\"0\"\n [attr.y2]=\"innerHeight()\"\n aria-hidden=\"true\"\n />\n }\n </g>\n </svg>\n <ng-content select=\"gbt-chart-tooltip\" />\n }\n </div>\n <ng-content select=\"gbt-chart-empty\" />\n <ng-content select=\"gbt-chart-table\" />\n</div>\n",
6792
- styles: [":host{display:block}.gbt-chart-frame{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.gbt-chart-frame__surface{flex:1;min-height:0;position:relative}.gbt-chart-frame__surface:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-chart-frame__svg{display:block;width:100%;height:100%}.gbt-chart-frame__guide{stroke:var(--border-color);stroke-width:1;pointer-events:none}.gbt-chart-frame__header{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:.75rem;margin-bottom:.5rem}.gbt-chart-frame__title{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary)}.gbt-chart-frame__headline{margin:0;grid-row:1;grid-column:2;font-size:1.375rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.gbt-chart-frame__trend{margin:0;grid-column:2;justify-self:end;font-size:.6875rem;font-weight:600;color:var(--text-secondary)}\n"]
6809
+ styles: [":host{display:block}.gbt-chart-frame{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.gbt-chart-frame__surface{flex:1;min-height:0;position:relative}.gbt-chart-frame__surface:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-chart-frame__svg{display:block;width:100%;height:100%}.gbt-chart-frame__guide{stroke:var(--border-color);stroke-width:1;pointer-events:none}.gbt-chart-frame__header{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:.75rem;margin-bottom:.5rem}.gbt-chart-frame__title{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary)}.gbt-chart-frame__headline{margin:0;grid-row:1;grid-column:2;font-size:1.375rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.gbt-chart-frame__trend{margin:0;grid-column:2;justify-self:end;font-size:.6875rem;font-weight:600;color:var(--text-secondary)}\n"]
6793
6810
  }]
6794
6811
  }],
6795
6812
  ctorParameters: () => [],
@@ -7239,7 +7256,7 @@ var ChartLegend = class ChartLegend {
7239
7256
  outputs: { activeIndexChange: "activeIndexChange" },
7240
7257
  ngImport: i0,
7241
7258
  template: "<ul class=\"gbt-chart-legend\">\n @for (entry of entries(); track $index) {\n <li\n class=\"gbt-chart-legend__item\"\n [class.gbt-chart-legend__item--active]=\"interactive() && activeIndex() === $index\"\n [attr.data-pattern]=\"entry.pattern ?? 'solid'\"\n [attr.tabindex]=\"interactive() ? 0 : null\"\n (mouseenter)=\"interactive() && activeIndexChange.emit($index)\"\n (mouseleave)=\"interactive() && onMouseLeave($event)\"\n (focus)=\"interactive() && activeIndexChange.emit($index)\"\n (blur)=\"interactive() && activeIndexChange.emit(null)\"\n >\n <svg class=\"gbt-chart-legend__swatch\" viewBox=\"0 0 24 8\" aria-hidden=\"true\" focusable=\"false\">\n @if (entry.color; as color) {\n <rect\n class=\"gbt-chart-legend__fill\"\n x=\"4\"\n y=\"0\"\n width=\"8\"\n height=\"8\"\n rx=\"2\"\n [attr.fill]=\"color\"\n />\n } @else {\n <line\n class=\"gbt-chart-legend__line\"\n x1=\"0\"\n y1=\"4\"\n x2=\"24\"\n y2=\"4\"\n [attr.stroke-dasharray]=\"dashArray(entry.pattern)\"\n stroke-width=\"2\"\n />\n }\n </svg>\n {{ entry.label }}\n @if (entry.value; as value) {\n <span class=\"gbt-chart-legend__value\">{{ value }}</span>\n }\n </li>\n }\n</ul>\n",
7242
- styles: [".gbt-chart-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:0;padding:0;list-style:none;font-size:.8125rem;color:var(--text-secondary)}.gbt-chart-legend__item{display:inline-flex;align-items:center;gap:.375rem;border-radius:var(--site-border-radius-sm)}.gbt-chart-legend__item:nth-child(3n+1) .gbt-chart-legend__line{stroke:var(--chart-series-1-base)}.gbt-chart-legend__item:nth-child(3n+2) .gbt-chart-legend__line{stroke:var(--chart-series-2-base)}.gbt-chart-legend__item:nth-child(3n+3) .gbt-chart-legend__line{stroke:var(--chart-series-3-base)}.gbt-chart-legend__item[tabindex]{cursor:default;padding:.125rem .25rem;margin:-.125rem -.25rem}.gbt-chart-legend__item[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.gbt-chart-legend__item--active{background:var(--bg-hover)}.gbt-chart-legend__swatch{width:1.5rem;height:.5rem;flex:none}.gbt-chart-legend__value{margin-left:.375rem;font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-primary)}\n"],
7259
+ styles: [".gbt-chart-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:0;padding:0;list-style:none;font-size:.8125rem;color:var(--text-secondary)}.gbt-chart-legend__item{display:inline-flex;align-items:center;gap:.375rem;border-radius:var(--site-border-radius-sm)}.gbt-chart-legend__item:nth-child(3n+1) .gbt-chart-legend__line{stroke:var(--chart-series-1-base)}.gbt-chart-legend__item:nth-child(3n+2) .gbt-chart-legend__line{stroke:var(--chart-series-2-base)}.gbt-chart-legend__item:nth-child(3n+3) .gbt-chart-legend__line{stroke:var(--chart-series-3-base)}.gbt-chart-legend__item[tabindex]{cursor:default;padding:.125rem .25rem;margin:-.125rem -.25rem}.gbt-chart-legend__item[tabindex]:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:1px}.gbt-chart-legend__item--active{background:var(--bg-hover)}.gbt-chart-legend__swatch{width:1.5rem;height:.5rem;flex:none}.gbt-chart-legend__value{margin-left:.375rem;font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-primary)}\n"],
7243
7260
  changeDetection: i0.ChangeDetectionStrategy.OnPush
7244
7261
  });
7245
7262
  };
@@ -7256,7 +7273,7 @@ i0.ɵɵngDeclareClassMetadata({
7256
7273
  imports: [],
7257
7274
  changeDetection: ChangeDetectionStrategy.OnPush,
7258
7275
  template: "<ul class=\"gbt-chart-legend\">\n @for (entry of entries(); track $index) {\n <li\n class=\"gbt-chart-legend__item\"\n [class.gbt-chart-legend__item--active]=\"interactive() && activeIndex() === $index\"\n [attr.data-pattern]=\"entry.pattern ?? 'solid'\"\n [attr.tabindex]=\"interactive() ? 0 : null\"\n (mouseenter)=\"interactive() && activeIndexChange.emit($index)\"\n (mouseleave)=\"interactive() && onMouseLeave($event)\"\n (focus)=\"interactive() && activeIndexChange.emit($index)\"\n (blur)=\"interactive() && activeIndexChange.emit(null)\"\n >\n <svg class=\"gbt-chart-legend__swatch\" viewBox=\"0 0 24 8\" aria-hidden=\"true\" focusable=\"false\">\n @if (entry.color; as color) {\n <rect\n class=\"gbt-chart-legend__fill\"\n x=\"4\"\n y=\"0\"\n width=\"8\"\n height=\"8\"\n rx=\"2\"\n [attr.fill]=\"color\"\n />\n } @else {\n <line\n class=\"gbt-chart-legend__line\"\n x1=\"0\"\n y1=\"4\"\n x2=\"24\"\n y2=\"4\"\n [attr.stroke-dasharray]=\"dashArray(entry.pattern)\"\n stroke-width=\"2\"\n />\n }\n </svg>\n {{ entry.label }}\n @if (entry.value; as value) {\n <span class=\"gbt-chart-legend__value\">{{ value }}</span>\n }\n </li>\n }\n</ul>\n",
7259
- styles: [".gbt-chart-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:0;padding:0;list-style:none;font-size:.8125rem;color:var(--text-secondary)}.gbt-chart-legend__item{display:inline-flex;align-items:center;gap:.375rem;border-radius:var(--site-border-radius-sm)}.gbt-chart-legend__item:nth-child(3n+1) .gbt-chart-legend__line{stroke:var(--chart-series-1-base)}.gbt-chart-legend__item:nth-child(3n+2) .gbt-chart-legend__line{stroke:var(--chart-series-2-base)}.gbt-chart-legend__item:nth-child(3n+3) .gbt-chart-legend__line{stroke:var(--chart-series-3-base)}.gbt-chart-legend__item[tabindex]{cursor:default;padding:.125rem .25rem;margin:-.125rem -.25rem}.gbt-chart-legend__item[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.gbt-chart-legend__item--active{background:var(--bg-hover)}.gbt-chart-legend__swatch{width:1.5rem;height:.5rem;flex:none}.gbt-chart-legend__value{margin-left:.375rem;font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-primary)}\n"]
7276
+ styles: [".gbt-chart-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:0;padding:0;list-style:none;font-size:.8125rem;color:var(--text-secondary)}.gbt-chart-legend__item{display:inline-flex;align-items:center;gap:.375rem;border-radius:var(--site-border-radius-sm)}.gbt-chart-legend__item:nth-child(3n+1) .gbt-chart-legend__line{stroke:var(--chart-series-1-base)}.gbt-chart-legend__item:nth-child(3n+2) .gbt-chart-legend__line{stroke:var(--chart-series-2-base)}.gbt-chart-legend__item:nth-child(3n+3) .gbt-chart-legend__line{stroke:var(--chart-series-3-base)}.gbt-chart-legend__item[tabindex]{cursor:default;padding:.125rem .25rem;margin:-.125rem -.25rem}.gbt-chart-legend__item[tabindex]:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:1px}.gbt-chart-legend__item--active{background:var(--bg-hover)}.gbt-chart-legend__swatch{width:1.5rem;height:.5rem;flex:none}.gbt-chart-legend__value{margin-left:.375rem;font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-primary)}\n"]
7260
7277
  }]
7261
7278
  }],
7262
7279
  propDecorators: {
@@ -7327,7 +7344,7 @@ var ChartEmpty = class ChartEmpty {
7327
7344
  outputs: { action: "action" },
7328
7345
  ngImport: i0,
7329
7346
  template: "<div class=\"gbt-chart-empty\" role=\"status\">\n <div class=\"gbt-chart-empty__icon\" aria-hidden=\"true\">\n <ng-content select=\"[gbtChartEmptyIcon]\" />\n </div>\n <p class=\"gbt-chart-empty__message\">{{ message() }}</p>\n @if (actionLabel()) {\n <button type=\"button\" class=\"gbt-chart-empty__action\" (click)=\"action.emit()\">\n {{ actionLabel() }}\n </button>\n }\n</div>\n",
7330
- styles: [".gbt-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:8rem;padding:1.5rem;color:var(--text-secondary);text-align:center}.gbt-chart-empty__icon{width:64px;height:64px;color:var(--text-discret)}.gbt-chart-empty__icon:empty{display:none}.gbt-chart-empty__icon svg{width:100%;height:100%}.gbt-chart-empty__message{margin:0;font-size:.875rem}.gbt-chart-empty__action{min-width:24px;min-height:24px;padding:.375rem .75rem;border:1px solid var(--border-color);border-radius:var(--site-border-radius);background:transparent;color:var(--primary);font:inherit;cursor:pointer}.gbt-chart-empty__action:hover{background:var(--bg-hover)}.gbt-chart-empty__action:focus-visible{outline:2px solid var(--primary);outline-offset:2px}\n"],
7347
+ styles: [".gbt-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:8rem;padding:1.5rem;color:var(--text-secondary);text-align:center}.gbt-chart-empty__icon{width:64px;height:64px;color:var(--text-discret)}.gbt-chart-empty__icon:empty{display:none}.gbt-chart-empty__icon svg{width:100%;height:100%}.gbt-chart-empty__message{margin:0;font-size:.875rem}.gbt-chart-empty__action{min-width:24px;min-height:24px;padding:.375rem .75rem;border:1px solid var(--border-color);border-radius:var(--site-border-radius);background:transparent;color:var(--primary);font:inherit;cursor:pointer}.gbt-chart-empty__action:hover{background:var(--bg-hover)}.gbt-chart-empty__action:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}\n"],
7331
7348
  changeDetection: i0.ChangeDetectionStrategy.OnPush
7332
7349
  });
7333
7350
  };
@@ -7344,7 +7361,7 @@ i0.ɵɵngDeclareClassMetadata({
7344
7361
  imports: [],
7345
7362
  changeDetection: ChangeDetectionStrategy.OnPush,
7346
7363
  template: "<div class=\"gbt-chart-empty\" role=\"status\">\n <div class=\"gbt-chart-empty__icon\" aria-hidden=\"true\">\n <ng-content select=\"[gbtChartEmptyIcon]\" />\n </div>\n <p class=\"gbt-chart-empty__message\">{{ message() }}</p>\n @if (actionLabel()) {\n <button type=\"button\" class=\"gbt-chart-empty__action\" (click)=\"action.emit()\">\n {{ actionLabel() }}\n </button>\n }\n</div>\n",
7347
- styles: [".gbt-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:8rem;padding:1.5rem;color:var(--text-secondary);text-align:center}.gbt-chart-empty__icon{width:64px;height:64px;color:var(--text-discret)}.gbt-chart-empty__icon:empty{display:none}.gbt-chart-empty__icon svg{width:100%;height:100%}.gbt-chart-empty__message{margin:0;font-size:.875rem}.gbt-chart-empty__action{min-width:24px;min-height:24px;padding:.375rem .75rem;border:1px solid var(--border-color);border-radius:var(--site-border-radius);background:transparent;color:var(--primary);font:inherit;cursor:pointer}.gbt-chart-empty__action:hover{background:var(--bg-hover)}.gbt-chart-empty__action:focus-visible{outline:2px solid var(--primary);outline-offset:2px}\n"]
7364
+ styles: [".gbt-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:8rem;padding:1.5rem;color:var(--text-secondary);text-align:center}.gbt-chart-empty__icon{width:64px;height:64px;color:var(--text-discret)}.gbt-chart-empty__icon:empty{display:none}.gbt-chart-empty__icon svg{width:100%;height:100%}.gbt-chart-empty__message{margin:0;font-size:.875rem}.gbt-chart-empty__action{min-width:24px;min-height:24px;padding:.375rem .75rem;border:1px solid var(--border-color);border-radius:var(--site-border-radius);background:transparent;color:var(--primary);font:inherit;cursor:pointer}.gbt-chart-empty__action:hover{background:var(--bg-hover)}.gbt-chart-empty__action:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}\n"]
7348
7365
  }]
7349
7366
  }],
7350
7367
  propDecorators: {
@@ -9457,7 +9474,7 @@ var Sparkline = class Sparkline {
9457
9474
  },
9458
9475
  ngImport: i0,
9459
9476
  template: "@if (path(); as d) {\n <div class=\"gbt-sparkline\" role=\"status\" aria-live=\"polite\">\n <svg\n class=\"gbt-sparkline__svg\"\n [attr.viewBox]=\"viewBox()\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n tabindex=\"0\"\n role=\"group\"\n [attr.aria-label]=\"tableCaption()\"\n (pointermove)=\"onPointerMove($event)\"\n (pointerleave)=\"onPointerLeave($event)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur()\"\n >\n <path class=\"gbt-sparkline__line\" [attr.d]=\"d\" />\n @if (dot(); as p) {\n <circle class=\"gbt-sparkline__dot\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" r=\"3\" />\n }\n </svg>\n @if (tooltip(); as text) {\n <span class=\"gbt-sparkline__tooltip\">{{ text }}</span>\n }\n </div>\n <gbt-chart-table [caption]=\"tableCaption()\" [columns]=\"columns()\" [rows]=\"tableRows()\" />\n} @else {\n <gbt-chart-empty [message]=\"emptyMessage()\" />\n}\n",
9460
- styles: [":host{display:inline-block;line-height:0}.gbt-sparkline{position:relative;display:inline-block}.gbt-sparkline__svg:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-sparkline__line{fill:none;stroke:var(--chart-series-1-base);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.gbt-sparkline__dot{fill:var(--chart-series-1-base);stroke:var(--bg-principal);stroke-width:1.5;pointer-events:none}.gbt-sparkline__tooltip{position:absolute;left:50%;bottom:100%;transform:translate(-50%);white-space:nowrap;padding:.125rem .375rem;border-radius:var(--site-border-radius);background:var(--bg-panel);border:1px solid var(--border-color);font-size:.6875rem;font-variant-numeric:tabular-nums;color:var(--text-primary);pointer-events:none}\n"],
9477
+ styles: [":host{display:inline-block;line-height:0}.gbt-sparkline{position:relative;display:inline-block}.gbt-sparkline__svg:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-sparkline__line{fill:none;stroke:var(--chart-series-1-base);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.gbt-sparkline__dot{fill:var(--chart-series-1-base);stroke:var(--bg-principal);stroke-width:1.5;pointer-events:none}.gbt-sparkline__tooltip{position:absolute;left:50%;bottom:100%;transform:translate(-50%);white-space:nowrap;padding:.125rem .375rem;border-radius:var(--site-border-radius);background:var(--bg-panel);border:1px solid var(--border-color);font-size:.6875rem;font-variant-numeric:tabular-nums;color:var(--text-primary);pointer-events:none}\n"],
9461
9478
  dependencies: [{
9462
9479
  kind: "component",
9463
9480
  type: ChartEmpty,
@@ -9490,7 +9507,7 @@ i0.ɵɵngDeclareClassMetadata({
9490
9507
  imports: [ChartEmpty, ChartTable],
9491
9508
  changeDetection: ChangeDetectionStrategy.OnPush,
9492
9509
  template: "@if (path(); as d) {\n <div class=\"gbt-sparkline\" role=\"status\" aria-live=\"polite\">\n <svg\n class=\"gbt-sparkline__svg\"\n [attr.viewBox]=\"viewBox()\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n tabindex=\"0\"\n role=\"group\"\n [attr.aria-label]=\"tableCaption()\"\n (pointermove)=\"onPointerMove($event)\"\n (pointerleave)=\"onPointerLeave($event)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur()\"\n >\n <path class=\"gbt-sparkline__line\" [attr.d]=\"d\" />\n @if (dot(); as p) {\n <circle class=\"gbt-sparkline__dot\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" r=\"3\" />\n }\n </svg>\n @if (tooltip(); as text) {\n <span class=\"gbt-sparkline__tooltip\">{{ text }}</span>\n }\n </div>\n <gbt-chart-table [caption]=\"tableCaption()\" [columns]=\"columns()\" [rows]=\"tableRows()\" />\n} @else {\n <gbt-chart-empty [message]=\"emptyMessage()\" />\n}\n",
9493
- styles: [":host{display:inline-block;line-height:0}.gbt-sparkline{position:relative;display:inline-block}.gbt-sparkline__svg:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-sparkline__line{fill:none;stroke:var(--chart-series-1-base);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.gbt-sparkline__dot{fill:var(--chart-series-1-base);stroke:var(--bg-principal);stroke-width:1.5;pointer-events:none}.gbt-sparkline__tooltip{position:absolute;left:50%;bottom:100%;transform:translate(-50%);white-space:nowrap;padding:.125rem .375rem;border-radius:var(--site-border-radius);background:var(--bg-panel);border:1px solid var(--border-color);font-size:.6875rem;font-variant-numeric:tabular-nums;color:var(--text-primary);pointer-events:none}\n"]
9510
+ styles: [":host{display:inline-block;line-height:0}.gbt-sparkline{position:relative;display:inline-block}.gbt-sparkline__svg:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-sparkline__line{fill:none;stroke:var(--chart-series-1-base);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.gbt-sparkline__dot{fill:var(--chart-series-1-base);stroke:var(--bg-principal);stroke-width:1.5;pointer-events:none}.gbt-sparkline__tooltip{position:absolute;left:50%;bottom:100%;transform:translate(-50%);white-space:nowrap;padding:.125rem .375rem;border-radius:var(--site-border-radius);background:var(--bg-panel);border:1px solid var(--border-color);font-size:.6875rem;font-variant-numeric:tabular-nums;color:var(--text-primary);pointer-events:none}\n"]
9494
9511
  }]
9495
9512
  }],
9496
9513
  propDecorators: {
@@ -10019,7 +10036,7 @@ var FunnelChart = class FunnelChart {
10019
10036
  },
10020
10037
  ngImport: i0,
10021
10038
  template: "@if (renderedSteps().length > 0) {\n <ol class=\"gbt-funnel-chart\" [attr.aria-label]=\"label()\">\n @for (step of renderedSteps(); track $index) {\n <li\n class=\"gbt-funnel-chart__step\"\n [attr.data-active]=\"$index === activeIndex() ? '' : null\"\n tabindex=\"0\"\n (mouseenter)=\"activeIndex.set($index)\"\n (mouseleave)=\"onMouseLeave($event)\"\n (focus)=\"activeIndex.set($index)\"\n (blur)=\"activeIndex.set(null)\"\n >\n <div class=\"gbt-funnel-chart__bar\" [style.width.%]=\"step.part\" aria-hidden=\"true\"></div>\n <span class=\"gbt-funnel-chart__label\">{{ step.label }}</span>\n <span class=\"gbt-funnel-chart__value\">{{ step.formattedValue }}</span>\n @if ($index === activeIndex()) {\n <span class=\"gbt-funnel-chart__tip\" aria-hidden=\"true\">{{\n step.conversionFromPrevious\n }}</span>\n }\n </li>\n }\n </ol>\n <div class=\"gbt-sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n @if (activeStep(); as step) {\n {{ stepAnnouncement()(step.label, step.conversionFromPrevious) }}\n }\n </div>\n <gbt-chart-table [caption]=\"tableCaption()\" [columns]=\"columns()\" [rows]=\"tableRows()\" />\n} @else {\n <gbt-chart-empty [message]=\"emptyMessage()\" />\n}\n",
10022
- styles: [":host{display:block}.gbt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-funnel-chart{margin:0;padding:0;list-style:none}.gbt-funnel-chart__step{position:relative;display:flex;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;font-size:.875rem;color:var(--text-primary)}.gbt-funnel-chart__step+.gbt-funnel-chart__step{margin-top:.25rem}.gbt-funnel-chart__step[data-active]{background:var(--bg-hover)}.gbt-funnel-chart__step:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-funnel-chart__bar{position:absolute;inset:0 auto 0 0;background:var(--chart-series-2-base);opacity:.14;border-radius:var(--site-border-radius)}.gbt-funnel-chart__label,.gbt-funnel-chart__value,.gbt-funnel-chart__tip{position:relative}.gbt-funnel-chart__value{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.gbt-funnel-chart__tip{margin-left:.5rem;font-variant-numeric:tabular-nums;color:var(--text-secondary)}\n"],
10039
+ styles: [":host{display:block}.gbt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-funnel-chart{margin:0;padding:0;list-style:none}.gbt-funnel-chart__step{position:relative;display:flex;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;font-size:.875rem;color:var(--text-primary)}.gbt-funnel-chart__step+.gbt-funnel-chart__step{margin-top:.25rem}.gbt-funnel-chart__step[data-active]{background:var(--bg-hover)}.gbt-funnel-chart__step:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-funnel-chart__bar{position:absolute;inset:0 auto 0 0;background:var(--chart-series-2-base);opacity:.14;border-radius:var(--site-border-radius)}.gbt-funnel-chart__label,.gbt-funnel-chart__value,.gbt-funnel-chart__tip{position:relative}.gbt-funnel-chart__value{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.gbt-funnel-chart__tip{margin-left:.5rem;font-variant-numeric:tabular-nums;color:var(--text-secondary)}\n"],
10023
10040
  dependencies: [{
10024
10041
  kind: "component",
10025
10042
  type: ChartTable,
@@ -10052,7 +10069,7 @@ i0.ɵɵngDeclareClassMetadata({
10052
10069
  imports: [ChartTable, ChartEmpty],
10053
10070
  changeDetection: ChangeDetectionStrategy.OnPush,
10054
10071
  template: "@if (renderedSteps().length > 0) {\n <ol class=\"gbt-funnel-chart\" [attr.aria-label]=\"label()\">\n @for (step of renderedSteps(); track $index) {\n <li\n class=\"gbt-funnel-chart__step\"\n [attr.data-active]=\"$index === activeIndex() ? '' : null\"\n tabindex=\"0\"\n (mouseenter)=\"activeIndex.set($index)\"\n (mouseleave)=\"onMouseLeave($event)\"\n (focus)=\"activeIndex.set($index)\"\n (blur)=\"activeIndex.set(null)\"\n >\n <div class=\"gbt-funnel-chart__bar\" [style.width.%]=\"step.part\" aria-hidden=\"true\"></div>\n <span class=\"gbt-funnel-chart__label\">{{ step.label }}</span>\n <span class=\"gbt-funnel-chart__value\">{{ step.formattedValue }}</span>\n @if ($index === activeIndex()) {\n <span class=\"gbt-funnel-chart__tip\" aria-hidden=\"true\">{{\n step.conversionFromPrevious\n }}</span>\n }\n </li>\n }\n </ol>\n <div class=\"gbt-sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n @if (activeStep(); as step) {\n {{ stepAnnouncement()(step.label, step.conversionFromPrevious) }}\n }\n </div>\n <gbt-chart-table [caption]=\"tableCaption()\" [columns]=\"columns()\" [rows]=\"tableRows()\" />\n} @else {\n <gbt-chart-empty [message]=\"emptyMessage()\" />\n}\n",
10055
- styles: [":host{display:block}.gbt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-funnel-chart{margin:0;padding:0;list-style:none}.gbt-funnel-chart__step{position:relative;display:flex;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;font-size:.875rem;color:var(--text-primary)}.gbt-funnel-chart__step+.gbt-funnel-chart__step{margin-top:.25rem}.gbt-funnel-chart__step[data-active]{background:var(--bg-hover)}.gbt-funnel-chart__step:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-funnel-chart__bar{position:absolute;inset:0 auto 0 0;background:var(--chart-series-2-base);opacity:.14;border-radius:var(--site-border-radius)}.gbt-funnel-chart__label,.gbt-funnel-chart__value,.gbt-funnel-chart__tip{position:relative}.gbt-funnel-chart__value{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.gbt-funnel-chart__tip{margin-left:.5rem;font-variant-numeric:tabular-nums;color:var(--text-secondary)}\n"]
10072
+ styles: [":host{display:block}.gbt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-funnel-chart{margin:0;padding:0;list-style:none}.gbt-funnel-chart__step{position:relative;display:flex;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;font-size:.875rem;color:var(--text-primary)}.gbt-funnel-chart__step+.gbt-funnel-chart__step{margin-top:.25rem}.gbt-funnel-chart__step[data-active]{background:var(--bg-hover)}.gbt-funnel-chart__step:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-funnel-chart__bar{position:absolute;inset:0 auto 0 0;background:var(--chart-series-2-base);opacity:.14;border-radius:var(--site-border-radius)}.gbt-funnel-chart__label,.gbt-funnel-chart__value,.gbt-funnel-chart__tip{position:relative}.gbt-funnel-chart__value{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.gbt-funnel-chart__tip{margin-left:.5rem;font-variant-numeric:tabular-nums;color:var(--text-secondary)}\n"]
10056
10073
  }]
10057
10074
  }],
10058
10075
  propDecorators: {
@@ -10359,7 +10376,7 @@ var Menu = class Menu {
10359
10376
  }],
10360
10377
  ngImport: i0,
10361
10378
  template: "<div class=\"gbt-menu\">\n <button\n #trigger\n type=\"button\"\n class=\"gbt-menu__trigger\"\n [class.gbt-menu__trigger--open]=\"open()\"\n [class.gbt-menu__trigger--icon-only]=\"triggerIcon()\"\n [class.gbt-menu__trigger--custom]=\"!triggerIcon() && customTrigger()\"\n aria-haspopup=\"menu\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-label]=\"triggerIcon() ? label() : triggerAriaLabel()\"\n (click)=\"toggle()\"\n (keydown)=\"onTriggerKeydown($event)\"\n >\n @if (triggerIcon(); as icon) {\n <gbt-icon [name]=\"icon\" aria-hidden=\"true\" />\n } @else {\n <ng-content select=\"[gbtMenuTrigger]\">\n <span class=\"gbt-menu__label\">{{ label() }}</span>\n </ng-content>\n @if (chevron()) {\n <gbt-icon name=\"chevron-down\" class=\"gbt-menu__chevron\" aria-hidden=\"true\" />\n }\n }\n </button>\n\n @if (open() && position(); as pos) {\n <div\n #list\n class=\"gbt-menu__list\"\n role=\"menu\"\n tabindex=\"-1\"\n [attr.aria-label]=\"label()\"\n [style.top]=\"pos.top\"\n [style.left]=\"pos.left\"\n [style.right]=\"pos.right\"\n (keydown)=\"onListKeydown($event)\"\n (click)=\"onListClick($event)\"\n >\n <ng-content />\n </div>\n }\n</div>\n",
10362
- styles: [":host{display:inline-block}.gbt-menu{position:relative;display:inline-block}:host(.gbt-menu-host--custom){max-width:100%}:host(.gbt-menu-host--custom) .gbt-menu{max-width:100%}.gbt-menu__trigger{display:flex;align-items:center;gap:.5rem;min-height:var(--gbt-control-height-md);padding:.5rem .75rem;background:transparent;border:1px solid transparent;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-menu__trigger:hover{background:var(--bg-hover)}.gbt-menu__trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-menu__trigger--open{background:var(--bg-hover)}.gbt-menu__trigger--icon-only{padding:.5rem;gap:0}.gbt-menu__trigger--custom{min-width:0;max-width:100%;padding:.25rem .5rem .25rem .25rem}.gbt-menu__chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-menu__trigger--open .gbt-menu__chevron{transform:rotate(180deg)}.gbt-menu__list{position:fixed;z-index:1000;display:flex;flex-direction:column;min-width:180px;padding:6px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-menu-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}@keyframes gbt-menu-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.gbt-menu__list{animation:none}.gbt-menu__chevron{transition:none}}\n"],
10379
+ styles: [":host{display:inline-block}.gbt-menu{position:relative;display:inline-block}:host(.gbt-menu-host--custom){max-width:100%}:host(.gbt-menu-host--custom) .gbt-menu{max-width:100%}.gbt-menu__trigger{display:flex;align-items:center;gap:.5rem;min-height:var(--gbt-control-height-md);padding:.5rem .75rem;background:transparent;border:1px solid transparent;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-menu__trigger:hover{background:var(--bg-hover)}.gbt-menu__trigger:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-menu__trigger--open{background:var(--bg-hover)}.gbt-menu__trigger--icon-only{padding:.5rem;gap:0}.gbt-menu__trigger--custom{min-width:0;max-width:100%;padding:.25rem .5rem .25rem .25rem}.gbt-menu__chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-menu__trigger--open .gbt-menu__chevron{transform:rotate(180deg)}.gbt-menu__list{position:fixed;z-index:1000;display:flex;flex-direction:column;min-width:180px;padding:6px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-menu-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}@keyframes gbt-menu-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.gbt-menu__list{animation:none}.gbt-menu__chevron{transition:none}}\n"],
10363
10380
  dependencies: [{
10364
10381
  kind: "component",
10365
10382
  type: Icon,
@@ -10389,7 +10406,7 @@ i0.ɵɵngDeclareClassMetadata({
10389
10406
  "[class.gbt-menu-host--custom]": "!triggerIcon() && !!customTrigger()"
10390
10407
  },
10391
10408
  template: "<div class=\"gbt-menu\">\n <button\n #trigger\n type=\"button\"\n class=\"gbt-menu__trigger\"\n [class.gbt-menu__trigger--open]=\"open()\"\n [class.gbt-menu__trigger--icon-only]=\"triggerIcon()\"\n [class.gbt-menu__trigger--custom]=\"!triggerIcon() && customTrigger()\"\n aria-haspopup=\"menu\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-label]=\"triggerIcon() ? label() : triggerAriaLabel()\"\n (click)=\"toggle()\"\n (keydown)=\"onTriggerKeydown($event)\"\n >\n @if (triggerIcon(); as icon) {\n <gbt-icon [name]=\"icon\" aria-hidden=\"true\" />\n } @else {\n <ng-content select=\"[gbtMenuTrigger]\">\n <span class=\"gbt-menu__label\">{{ label() }}</span>\n </ng-content>\n @if (chevron()) {\n <gbt-icon name=\"chevron-down\" class=\"gbt-menu__chevron\" aria-hidden=\"true\" />\n }\n }\n </button>\n\n @if (open() && position(); as pos) {\n <div\n #list\n class=\"gbt-menu__list\"\n role=\"menu\"\n tabindex=\"-1\"\n [attr.aria-label]=\"label()\"\n [style.top]=\"pos.top\"\n [style.left]=\"pos.left\"\n [style.right]=\"pos.right\"\n (keydown)=\"onListKeydown($event)\"\n (click)=\"onListClick($event)\"\n >\n <ng-content />\n </div>\n }\n</div>\n",
10392
- styles: [":host{display:inline-block}.gbt-menu{position:relative;display:inline-block}:host(.gbt-menu-host--custom){max-width:100%}:host(.gbt-menu-host--custom) .gbt-menu{max-width:100%}.gbt-menu__trigger{display:flex;align-items:center;gap:.5rem;min-height:var(--gbt-control-height-md);padding:.5rem .75rem;background:transparent;border:1px solid transparent;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-menu__trigger:hover{background:var(--bg-hover)}.gbt-menu__trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-menu__trigger--open{background:var(--bg-hover)}.gbt-menu__trigger--icon-only{padding:.5rem;gap:0}.gbt-menu__trigger--custom{min-width:0;max-width:100%;padding:.25rem .5rem .25rem .25rem}.gbt-menu__chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-menu__trigger--open .gbt-menu__chevron{transform:rotate(180deg)}.gbt-menu__list{position:fixed;z-index:1000;display:flex;flex-direction:column;min-width:180px;padding:6px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-menu-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}@keyframes gbt-menu-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.gbt-menu__list{animation:none}.gbt-menu__chevron{transition:none}}\n"]
10409
+ styles: [":host{display:inline-block}.gbt-menu{position:relative;display:inline-block}:host(.gbt-menu-host--custom){max-width:100%}:host(.gbt-menu-host--custom) .gbt-menu{max-width:100%}.gbt-menu__trigger{display:flex;align-items:center;gap:.5rem;min-height:var(--gbt-control-height-md);padding:.5rem .75rem;background:transparent;border:1px solid transparent;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-menu__trigger:hover{background:var(--bg-hover)}.gbt-menu__trigger:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-menu__trigger--open{background:var(--bg-hover)}.gbt-menu__trigger--icon-only{padding:.5rem;gap:0}.gbt-menu__trigger--custom{min-width:0;max-width:100%;padding:.25rem .5rem .25rem .25rem}.gbt-menu__chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-menu__trigger--open .gbt-menu__chevron{transform:rotate(180deg)}.gbt-menu__list{position:fixed;z-index:1000;display:flex;flex-direction:column;min-width:180px;padding:6px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-menu-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}@keyframes gbt-menu-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.gbt-menu__list{animation:none}.gbt-menu__chevron{transition:none}}\n"]
10393
10410
  }]
10394
10411
  }],
10395
10412
  propDecorators: {
@@ -11001,7 +11018,7 @@ var SegmentedControl = class SegmentedControl {
11001
11018
  }],
11002
11019
  ngImport: i0,
11003
11020
  template: "@if (label()) {\n <span [id]=\"labelId\" class=\"gbt-segmented-control__label\">{{ label() }}</span>\n}\n<div\n #group\n class=\"gbt-segmented-control\"\n [class.gbt-segmented-control--sm]=\"size() === 'sm'\"\n [class.gbt-segmented-control--wrap]=\"wrap()\"\n [class.gbt-segmented-control--tinted]=\"tinted()\"\n role=\"radiogroup\"\n [attr.aria-label]=\"label() ? null : ariaLabel() || null\"\n [attr.aria-labelledby]=\"label() ? labelId : null\"\n>\n @for (option of options(); track option.value; let i = $index) {\n <button\n type=\"button\"\n role=\"radio\"\n class=\"gbt-segmented-control__option\"\n [class.gbt-segmented-control__option--selected]=\"isSelected(option.value)\"\n [attr.aria-checked]=\"isSelected(option.value)\"\n [tabIndex]=\"isSelected(option.value) ? 0 : -1\"\n [disabled]=\"disabled() || !!option.disabled\"\n (click)=\"select(option)\"\n (keydown)=\"onKeydown($event, i)\"\n >\n {{ option.label }}\n </button>\n }\n</div>\n",
11004
- styles: [":host(.gbt-segmented-control-host--labelled){display:inline-block}:host(.gbt-segmented-control-host--full){display:block}.gbt-segmented-control__label{display:block;margin-bottom:.375rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600}.gbt-segmented-control{display:inline-flex;gap:2px;padding:2px;background:var(--bg-panel);border-radius:var(--site-border-radius-sm)}.gbt-segmented-control__option{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:calc(var(--gbt-control-height-sm) - 4px);padding:.375rem .75rem;background:none;border:none;border-radius:calc(var(--site-border-radius-sm) - 2px);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1),color .12s cubic-bezier(.4,0,.2,1)}.gbt-segmented-control__option:hover:not(:disabled):not(.gbt-segmented-control__option--selected){color:var(--text-primary)}.gbt-segmented-control__option:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-segmented-control__option:disabled{cursor:not-allowed;opacity:.5}.gbt-segmented-control__option--selected{background:var(--bg-principal);color:var(--text-primary);box-shadow:var(--site-shadow-sm)}.gbt-segmented-control--tinted{background:var(--bg-track)}.gbt-segmented-control--sm .gbt-segmented-control__option{padding:.1875rem .625rem;font-size:12px}.gbt-segmented-control--wrap{flex-wrap:wrap}.gbt-segmented-control--wrap .gbt-segmented-control__option{white-space:nowrap}:host(.gbt-segmented-control-host--full) .gbt-segmented-control{display:flex}:host(.gbt-segmented-control-host--full) .gbt-segmented-control__option{flex:1 1 0;min-width:0}:host(.gbt-segmented-control-host--full) .gbt-segmented-control--wrap .gbt-segmented-control__option{flex:1 1 auto}@media(prefers-reduced-motion:reduce){.gbt-segmented-control__option{transition:none}}\n"],
11021
+ styles: [":host(.gbt-segmented-control-host--labelled){display:inline-block}:host(.gbt-segmented-control-host--full){display:block}.gbt-segmented-control__label{display:block;margin-bottom:.375rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600}.gbt-segmented-control{display:inline-flex;gap:2px;padding:2px;background:var(--bg-panel);border-radius:var(--site-border-radius-sm)}.gbt-segmented-control__option{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:calc(var(--gbt-control-height-sm) - 4px);padding:.375rem .75rem;background:none;border:none;border-radius:calc(var(--site-border-radius-sm) - 2px);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1),color .12s cubic-bezier(.4,0,.2,1)}.gbt-segmented-control__option:hover:not(:disabled):not(.gbt-segmented-control__option--selected){color:var(--text-primary)}.gbt-segmented-control__option:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-segmented-control__option:disabled{cursor:not-allowed;opacity:.5}.gbt-segmented-control__option--selected{background:var(--bg-principal);color:var(--text-primary);box-shadow:var(--site-shadow-sm)}.gbt-segmented-control--tinted{background:var(--bg-track)}.gbt-segmented-control--sm .gbt-segmented-control__option{padding:.1875rem .625rem;font-size:12px}.gbt-segmented-control--wrap{flex-wrap:wrap}.gbt-segmented-control--wrap .gbt-segmented-control__option{white-space:nowrap}:host(.gbt-segmented-control-host--full) .gbt-segmented-control{display:flex}:host(.gbt-segmented-control-host--full) .gbt-segmented-control__option{flex:1 1 0;min-width:0}:host(.gbt-segmented-control-host--full) .gbt-segmented-control--wrap .gbt-segmented-control__option{flex:1 1 auto}@media(prefers-reduced-motion:reduce){.gbt-segmented-control__option{transition:none}}\n"],
11005
11022
  changeDetection: i0.ChangeDetectionStrategy.OnPush
11006
11023
  });
11007
11024
  };
@@ -11022,7 +11039,7 @@ i0.ɵɵngDeclareClassMetadata({
11022
11039
  "[class.gbt-segmented-control-host--labelled]": "!!label()"
11023
11040
  },
11024
11041
  template: "@if (label()) {\n <span [id]=\"labelId\" class=\"gbt-segmented-control__label\">{{ label() }}</span>\n}\n<div\n #group\n class=\"gbt-segmented-control\"\n [class.gbt-segmented-control--sm]=\"size() === 'sm'\"\n [class.gbt-segmented-control--wrap]=\"wrap()\"\n [class.gbt-segmented-control--tinted]=\"tinted()\"\n role=\"radiogroup\"\n [attr.aria-label]=\"label() ? null : ariaLabel() || null\"\n [attr.aria-labelledby]=\"label() ? labelId : null\"\n>\n @for (option of options(); track option.value; let i = $index) {\n <button\n type=\"button\"\n role=\"radio\"\n class=\"gbt-segmented-control__option\"\n [class.gbt-segmented-control__option--selected]=\"isSelected(option.value)\"\n [attr.aria-checked]=\"isSelected(option.value)\"\n [tabIndex]=\"isSelected(option.value) ? 0 : -1\"\n [disabled]=\"disabled() || !!option.disabled\"\n (click)=\"select(option)\"\n (keydown)=\"onKeydown($event, i)\"\n >\n {{ option.label }}\n </button>\n }\n</div>\n",
11025
- styles: [":host(.gbt-segmented-control-host--labelled){display:inline-block}:host(.gbt-segmented-control-host--full){display:block}.gbt-segmented-control__label{display:block;margin-bottom:.375rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600}.gbt-segmented-control{display:inline-flex;gap:2px;padding:2px;background:var(--bg-panel);border-radius:var(--site-border-radius-sm)}.gbt-segmented-control__option{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:calc(var(--gbt-control-height-sm) - 4px);padding:.375rem .75rem;background:none;border:none;border-radius:calc(var(--site-border-radius-sm) - 2px);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1),color .12s cubic-bezier(.4,0,.2,1)}.gbt-segmented-control__option:hover:not(:disabled):not(.gbt-segmented-control__option--selected){color:var(--text-primary)}.gbt-segmented-control__option:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-segmented-control__option:disabled{cursor:not-allowed;opacity:.5}.gbt-segmented-control__option--selected{background:var(--bg-principal);color:var(--text-primary);box-shadow:var(--site-shadow-sm)}.gbt-segmented-control--tinted{background:var(--bg-track)}.gbt-segmented-control--sm .gbt-segmented-control__option{padding:.1875rem .625rem;font-size:12px}.gbt-segmented-control--wrap{flex-wrap:wrap}.gbt-segmented-control--wrap .gbt-segmented-control__option{white-space:nowrap}:host(.gbt-segmented-control-host--full) .gbt-segmented-control{display:flex}:host(.gbt-segmented-control-host--full) .gbt-segmented-control__option{flex:1 1 0;min-width:0}:host(.gbt-segmented-control-host--full) .gbt-segmented-control--wrap .gbt-segmented-control__option{flex:1 1 auto}@media(prefers-reduced-motion:reduce){.gbt-segmented-control__option{transition:none}}\n"]
11042
+ styles: [":host(.gbt-segmented-control-host--labelled){display:inline-block}:host(.gbt-segmented-control-host--full){display:block}.gbt-segmented-control__label{display:block;margin-bottom:.375rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600}.gbt-segmented-control{display:inline-flex;gap:2px;padding:2px;background:var(--bg-panel);border-radius:var(--site-border-radius-sm)}.gbt-segmented-control__option{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:calc(var(--gbt-control-height-sm) - 4px);padding:.375rem .75rem;background:none;border:none;border-radius:calc(var(--site-border-radius-sm) - 2px);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1),color .12s cubic-bezier(.4,0,.2,1)}.gbt-segmented-control__option:hover:not(:disabled):not(.gbt-segmented-control__option--selected){color:var(--text-primary)}.gbt-segmented-control__option:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-segmented-control__option:disabled{cursor:not-allowed;opacity:.5}.gbt-segmented-control__option--selected{background:var(--bg-principal);color:var(--text-primary);box-shadow:var(--site-shadow-sm)}.gbt-segmented-control--tinted{background:var(--bg-track)}.gbt-segmented-control--sm .gbt-segmented-control__option{padding:.1875rem .625rem;font-size:12px}.gbt-segmented-control--wrap{flex-wrap:wrap}.gbt-segmented-control--wrap .gbt-segmented-control__option{white-space:nowrap}:host(.gbt-segmented-control-host--full) .gbt-segmented-control{display:flex}:host(.gbt-segmented-control-host--full) .gbt-segmented-control__option{flex:1 1 0;min-width:0}:host(.gbt-segmented-control-host--full) .gbt-segmented-control--wrap .gbt-segmented-control__option{flex:1 1 auto}@media(prefers-reduced-motion:reduce){.gbt-segmented-control__option{transition:none}}\n"]
11026
11043
  }]
11027
11044
  }],
11028
11045
  propDecorators: {
@@ -11613,7 +11630,7 @@ var DatePicker = class DatePicker {
11613
11630
  }],
11614
11631
  ngImport: i0,
11615
11632
  template: "<div class=\"gbt-date-picker\">\n @if (label()) {\n <label [for]=\"id()\" class=\"gbt-date-picker__label\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n <div class=\"gbt-date-picker__field\">\n <button\n type=\"button\"\n [id]=\"id()\"\n class=\"gbt-date-picker__trigger\"\n [class.gbt-date-picker__trigger--open]=\"open()\"\n [disabled]=\"isDisabled()\"\n aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"errorMessage() ? id() + '-error' : null\"\n (click)=\"toggleOpen()\"\n >\n <span\n class=\"gbt-date-picker__trigger-label\"\n [class.gbt-date-picker__trigger-label--placeholder]=\"!triggerLabel()\"\n >\n {{ triggerLabel() || placeholder() }}\n </span>\n </button>\n @if (showClear()) {\n <button\n type=\"button\"\n class=\"gbt-date-picker__clear\"\n [attr.aria-label]=\"clearLabel()\"\n (click)=\"clear($event)\"\n >\n <gbt-icon name=\"x\" aria-hidden=\"true\" />\n </button>\n } @else {\n <gbt-icon name=\"calendar\" class=\"gbt-date-picker__icon\" aria-hidden=\"true\" />\n }\n </div>\n @if (open() && panelStyle(); as pos) {\n <div\n class=\"gbt-date-picker__panel\"\n role=\"dialog\"\n aria-modal=\"false\"\n [attr.aria-label]=\"panelLabel()\"\n [style.top]=\"pos.top\"\n [style.left]=\"pos.left\"\n >\n <div class=\"gbt-date-picker__nav\">\n <button\n type=\"button\"\n class=\"gbt-date-picker__nav-button\"\n [attr.aria-label]=\"previousMonthLabel()\"\n (click)=\"shiftMonth(-1)\"\n >\n <gbt-icon name=\"chevron-left\" aria-hidden=\"true\" />\n </button>\n <div class=\"gbt-date-picker__headings\">\n @for (view of monthViews(); track view.year + '-' + view.month; let i = $index) {\n <div class=\"gbt-date-picker__month-heading\">\n @if (i === 0) {\n <select\n #monthSelect\n class=\"gbt-date-picker__select\"\n [attr.aria-label]=\"monthSelectLabel()\"\n (change)=\"onMonthSelect(monthSelect.value)\"\n >\n @for (opt of monthOptions(); track opt.value) {\n <option [value]=\"opt.value\" [selected]=\"opt.value === anchorDate().getMonth()\">\n {{ opt.label }}\n </option>\n }\n </select>\n <select\n #yearSelect\n class=\"gbt-date-picker__select\"\n [attr.aria-label]=\"yearSelectLabel()\"\n (change)=\"onYearSelect(yearSelect.value)\"\n >\n @for (year of yearOptions(); track year) {\n <option [value]=\"year\" [selected]=\"year === anchorDate().getFullYear()\">\n {{ year }}\n </option>\n }\n </select>\n } @else {\n <span class=\"gbt-date-picker__month-label\">{{ view.label }}</span>\n }\n </div>\n }\n </div>\n <button\n type=\"button\"\n class=\"gbt-date-picker__nav-button\"\n [attr.aria-label]=\"nextMonthLabel()\"\n (click)=\"shiftMonth(1)\"\n >\n <gbt-icon name=\"chevron-right\" aria-hidden=\"true\" />\n </button>\n </div>\n <div class=\"gbt-date-picker__months\">\n @for (view of monthViews(); track view.year + '-' + view.month) {\n <div class=\"gbt-date-picker__month\">\n <div\n class=\"gbt-date-picker__grid\"\n role=\"grid\"\n tabindex=\"-1\"\n [attr.aria-label]=\"view.label\"\n (keydown)=\"onGridKeydown($event)\"\n >\n <div class=\"gbt-date-picker__row gbt-date-picker__row--head\" role=\"row\">\n @for (wd of weekdayLabels(); track $index) {\n <span role=\"columnheader\" class=\"gbt-date-picker__weekday\">{{ wd }}</span>\n }\n </div>\n @for (week of view.weeks; track $index) {\n <div class=\"gbt-date-picker__row\" role=\"row\">\n @for (day of week; track day.date.getTime()) {\n @if (day.inCurrentMonth) {\n <button\n type=\"button\"\n role=\"gridcell\"\n class=\"gbt-date-picker__day\"\n [class.gbt-date-picker__day--today]=\"day.isToday\"\n [class.gbt-date-picker__day--selected]=\"isSelected(day.date)\"\n [attr.data-date]=\"cellId(day.date)\"\n [attr.aria-selected]=\"isSelected(day.date)\"\n [attr.aria-current]=\"day.isToday ? 'date' : null\"\n [tabIndex]=\"isFocused(day.date) ? 0 : -1\"\n (click)=\"selectDay(day)\"\n >\n {{ day.date.getDate() }}\n </button>\n } @else {\n <span\n role=\"gridcell\"\n class=\"gbt-date-picker__day gbt-date-picker__day--empty\"\n ></span>\n }\n }\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n @if (errorMessage()) {\n <p [id]=\"id() + '-error'\" class=\"gbt-date-picker__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
11616
- styles: [".gbt-date-picker{display:inline-flex;flex-direction:column;gap:.375rem}.gbt-date-picker__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-date-picker__error{margin:0;font-size:.75rem;color:var(--color-error-text)}.gbt-date-picker__field{position:relative;display:inline-flex}.gbt-date-picker__trigger{box-sizing:border-box;display:flex;align-items:center;width:220px;height:var(--gbt-control-height-md);padding:0 34px 0 10px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:14px;cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1)}.gbt-date-picker__trigger--open{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-date-picker__trigger:disabled{cursor:not-allowed;opacity:.5}.gbt-date-picker__trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-picker__trigger-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.gbt-date-picker__trigger-label--placeholder{color:var(--text-discret)}.gbt-date-picker__icon{position:absolute;top:50%;right:10px;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.gbt-date-picker__clear{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer}.gbt-date-picker__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-picker__clear:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-picker__panel{box-sizing:border-box;position:fixed;z-index:1000;padding:.75rem;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-date-picker-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-date-picker__nav{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.gbt-date-picker__headings{display:flex;flex:1;justify-content:center;gap:1.25rem}.gbt-date-picker__nav-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-secondary);cursor:pointer}.gbt-date-picker__nav-button:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-picker__nav-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-picker__select{box-sizing:border-box;height:28px;padding:0 6px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer}.gbt-date-picker__select:hover{background:var(--bg-hover)}.gbt-date-picker__select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-picker__months{display:flex;justify-content:center;gap:1.25rem;margin-inline:.65rem;margin-bottom:.65rem}.gbt-date-picker__month-heading{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.375rem;width:184px;height:28px}.gbt-date-picker__month-label{font-size:14px;font-weight:600;color:var(--text-primary);text-align:center}.gbt-date-picker__row{display:grid;grid-template-columns:repeat(7,32px)}.gbt-date-picker__row--head{margin-bottom:.25rem;margin-top:.25rem}.gbt-date-picker__weekday{display:flex;align-items:center;justify-content:center;height:24px;font-size:13px;font-weight:600;color:var(--text-secondary)}.gbt-date-picker__day{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:50%;color:var(--text-primary);font-size:13px;cursor:pointer}.gbt-date-picker__day:hover:not(:disabled):not(.gbt-date-picker__day--empty){background:var(--bg-hover)}.gbt-date-picker__day:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-date-picker__day--empty{cursor:default}.gbt-date-picker__day--today{font-weight:700;box-shadow:inset 0 0 0 1px var(--border-color)}.gbt-date-picker__day--selected{background:var(--primary);color:var(--text-on-primary);font-weight:600}@media(prefers-reduced-motion:reduce){.gbt-date-picker__panel{animation:none}.gbt-date-picker__trigger{transition:none}}@keyframes gbt-date-picker-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}\n"],
11633
+ styles: [".gbt-date-picker{display:inline-flex;flex-direction:column;gap:.375rem}.gbt-date-picker__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-date-picker__error{margin:0;font-size:.75rem;color:var(--color-error-text)}.gbt-date-picker__field{position:relative;display:inline-flex}.gbt-date-picker__trigger{box-sizing:border-box;display:flex;align-items:center;width:220px;height:var(--gbt-control-height-md);padding:0 34px 0 10px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:14px;cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1)}.gbt-date-picker__trigger--open{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-date-picker__trigger:disabled{cursor:not-allowed;opacity:.5}.gbt-date-picker__trigger:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-picker__trigger-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.gbt-date-picker__trigger-label--placeholder{color:var(--text-discret)}.gbt-date-picker__icon{position:absolute;top:50%;right:10px;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.gbt-date-picker__clear{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer}.gbt-date-picker__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-picker__clear:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-picker__panel{box-sizing:border-box;position:fixed;z-index:1000;padding:.75rem;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-date-picker-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-date-picker__nav{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.gbt-date-picker__headings{display:flex;flex:1;justify-content:center;gap:1.25rem}.gbt-date-picker__nav-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-secondary);cursor:pointer}.gbt-date-picker__nav-button:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-picker__nav-button:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-picker__select{box-sizing:border-box;height:28px;padding:0 6px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer}.gbt-date-picker__select:hover{background:var(--bg-hover)}.gbt-date-picker__select:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-picker__months{display:flex;justify-content:center;gap:1.25rem;margin-inline:.65rem;margin-bottom:.65rem}.gbt-date-picker__month-heading{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.375rem;width:184px;height:28px}.gbt-date-picker__month-label{font-size:14px;font-weight:600;color:var(--text-primary);text-align:center}.gbt-date-picker__row{display:grid;grid-template-columns:repeat(7,32px)}.gbt-date-picker__row--head{margin-bottom:.25rem;margin-top:.25rem}.gbt-date-picker__weekday{display:flex;align-items:center;justify-content:center;height:24px;font-size:13px;font-weight:600;color:var(--text-secondary)}.gbt-date-picker__day{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:50%;color:var(--text-primary);font-size:13px;cursor:pointer}.gbt-date-picker__day:hover:not(:disabled):not(.gbt-date-picker__day--empty){background:var(--bg-hover)}.gbt-date-picker__day:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-date-picker__day--empty{cursor:default}.gbt-date-picker__day--today{font-weight:700;box-shadow:inset 0 0 0 1px var(--border-color)}.gbt-date-picker__day--selected{background:var(--primary);color:var(--text-on-primary);font-weight:600}@media(prefers-reduced-motion:reduce){.gbt-date-picker__panel{animation:none}.gbt-date-picker__trigger{transition:none}}@keyframes gbt-date-picker-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}\n"],
11617
11634
  dependencies: [{
11618
11635
  kind: "component",
11619
11636
  type: Icon,
@@ -11647,7 +11664,7 @@ i0.ɵɵngDeclareClassMetadata({
11647
11664
  multi: true
11648
11665
  }],
11649
11666
  template: "<div class=\"gbt-date-picker\">\n @if (label()) {\n <label [for]=\"id()\" class=\"gbt-date-picker__label\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n <div class=\"gbt-date-picker__field\">\n <button\n type=\"button\"\n [id]=\"id()\"\n class=\"gbt-date-picker__trigger\"\n [class.gbt-date-picker__trigger--open]=\"open()\"\n [disabled]=\"isDisabled()\"\n aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"errorMessage() ? id() + '-error' : null\"\n (click)=\"toggleOpen()\"\n >\n <span\n class=\"gbt-date-picker__trigger-label\"\n [class.gbt-date-picker__trigger-label--placeholder]=\"!triggerLabel()\"\n >\n {{ triggerLabel() || placeholder() }}\n </span>\n </button>\n @if (showClear()) {\n <button\n type=\"button\"\n class=\"gbt-date-picker__clear\"\n [attr.aria-label]=\"clearLabel()\"\n (click)=\"clear($event)\"\n >\n <gbt-icon name=\"x\" aria-hidden=\"true\" />\n </button>\n } @else {\n <gbt-icon name=\"calendar\" class=\"gbt-date-picker__icon\" aria-hidden=\"true\" />\n }\n </div>\n @if (open() && panelStyle(); as pos) {\n <div\n class=\"gbt-date-picker__panel\"\n role=\"dialog\"\n aria-modal=\"false\"\n [attr.aria-label]=\"panelLabel()\"\n [style.top]=\"pos.top\"\n [style.left]=\"pos.left\"\n >\n <div class=\"gbt-date-picker__nav\">\n <button\n type=\"button\"\n class=\"gbt-date-picker__nav-button\"\n [attr.aria-label]=\"previousMonthLabel()\"\n (click)=\"shiftMonth(-1)\"\n >\n <gbt-icon name=\"chevron-left\" aria-hidden=\"true\" />\n </button>\n <div class=\"gbt-date-picker__headings\">\n @for (view of monthViews(); track view.year + '-' + view.month; let i = $index) {\n <div class=\"gbt-date-picker__month-heading\">\n @if (i === 0) {\n <select\n #monthSelect\n class=\"gbt-date-picker__select\"\n [attr.aria-label]=\"monthSelectLabel()\"\n (change)=\"onMonthSelect(monthSelect.value)\"\n >\n @for (opt of monthOptions(); track opt.value) {\n <option [value]=\"opt.value\" [selected]=\"opt.value === anchorDate().getMonth()\">\n {{ opt.label }}\n </option>\n }\n </select>\n <select\n #yearSelect\n class=\"gbt-date-picker__select\"\n [attr.aria-label]=\"yearSelectLabel()\"\n (change)=\"onYearSelect(yearSelect.value)\"\n >\n @for (year of yearOptions(); track year) {\n <option [value]=\"year\" [selected]=\"year === anchorDate().getFullYear()\">\n {{ year }}\n </option>\n }\n </select>\n } @else {\n <span class=\"gbt-date-picker__month-label\">{{ view.label }}</span>\n }\n </div>\n }\n </div>\n <button\n type=\"button\"\n class=\"gbt-date-picker__nav-button\"\n [attr.aria-label]=\"nextMonthLabel()\"\n (click)=\"shiftMonth(1)\"\n >\n <gbt-icon name=\"chevron-right\" aria-hidden=\"true\" />\n </button>\n </div>\n <div class=\"gbt-date-picker__months\">\n @for (view of monthViews(); track view.year + '-' + view.month) {\n <div class=\"gbt-date-picker__month\">\n <div\n class=\"gbt-date-picker__grid\"\n role=\"grid\"\n tabindex=\"-1\"\n [attr.aria-label]=\"view.label\"\n (keydown)=\"onGridKeydown($event)\"\n >\n <div class=\"gbt-date-picker__row gbt-date-picker__row--head\" role=\"row\">\n @for (wd of weekdayLabels(); track $index) {\n <span role=\"columnheader\" class=\"gbt-date-picker__weekday\">{{ wd }}</span>\n }\n </div>\n @for (week of view.weeks; track $index) {\n <div class=\"gbt-date-picker__row\" role=\"row\">\n @for (day of week; track day.date.getTime()) {\n @if (day.inCurrentMonth) {\n <button\n type=\"button\"\n role=\"gridcell\"\n class=\"gbt-date-picker__day\"\n [class.gbt-date-picker__day--today]=\"day.isToday\"\n [class.gbt-date-picker__day--selected]=\"isSelected(day.date)\"\n [attr.data-date]=\"cellId(day.date)\"\n [attr.aria-selected]=\"isSelected(day.date)\"\n [attr.aria-current]=\"day.isToday ? 'date' : null\"\n [tabIndex]=\"isFocused(day.date) ? 0 : -1\"\n (click)=\"selectDay(day)\"\n >\n {{ day.date.getDate() }}\n </button>\n } @else {\n <span\n role=\"gridcell\"\n class=\"gbt-date-picker__day gbt-date-picker__day--empty\"\n ></span>\n }\n }\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n @if (errorMessage()) {\n <p [id]=\"id() + '-error'\" class=\"gbt-date-picker__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
11650
- styles: [".gbt-date-picker{display:inline-flex;flex-direction:column;gap:.375rem}.gbt-date-picker__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-date-picker__error{margin:0;font-size:.75rem;color:var(--color-error-text)}.gbt-date-picker__field{position:relative;display:inline-flex}.gbt-date-picker__trigger{box-sizing:border-box;display:flex;align-items:center;width:220px;height:var(--gbt-control-height-md);padding:0 34px 0 10px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:14px;cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1)}.gbt-date-picker__trigger--open{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-date-picker__trigger:disabled{cursor:not-allowed;opacity:.5}.gbt-date-picker__trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-picker__trigger-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.gbt-date-picker__trigger-label--placeholder{color:var(--text-discret)}.gbt-date-picker__icon{position:absolute;top:50%;right:10px;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.gbt-date-picker__clear{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer}.gbt-date-picker__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-picker__clear:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-picker__panel{box-sizing:border-box;position:fixed;z-index:1000;padding:.75rem;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-date-picker-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-date-picker__nav{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.gbt-date-picker__headings{display:flex;flex:1;justify-content:center;gap:1.25rem}.gbt-date-picker__nav-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-secondary);cursor:pointer}.gbt-date-picker__nav-button:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-picker__nav-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-picker__select{box-sizing:border-box;height:28px;padding:0 6px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer}.gbt-date-picker__select:hover{background:var(--bg-hover)}.gbt-date-picker__select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-picker__months{display:flex;justify-content:center;gap:1.25rem;margin-inline:.65rem;margin-bottom:.65rem}.gbt-date-picker__month-heading{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.375rem;width:184px;height:28px}.gbt-date-picker__month-label{font-size:14px;font-weight:600;color:var(--text-primary);text-align:center}.gbt-date-picker__row{display:grid;grid-template-columns:repeat(7,32px)}.gbt-date-picker__row--head{margin-bottom:.25rem;margin-top:.25rem}.gbt-date-picker__weekday{display:flex;align-items:center;justify-content:center;height:24px;font-size:13px;font-weight:600;color:var(--text-secondary)}.gbt-date-picker__day{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:50%;color:var(--text-primary);font-size:13px;cursor:pointer}.gbt-date-picker__day:hover:not(:disabled):not(.gbt-date-picker__day--empty){background:var(--bg-hover)}.gbt-date-picker__day:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-date-picker__day--empty{cursor:default}.gbt-date-picker__day--today{font-weight:700;box-shadow:inset 0 0 0 1px var(--border-color)}.gbt-date-picker__day--selected{background:var(--primary);color:var(--text-on-primary);font-weight:600}@media(prefers-reduced-motion:reduce){.gbt-date-picker__panel{animation:none}.gbt-date-picker__trigger{transition:none}}@keyframes gbt-date-picker-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}\n"]
11667
+ styles: [".gbt-date-picker{display:inline-flex;flex-direction:column;gap:.375rem}.gbt-date-picker__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-date-picker__error{margin:0;font-size:.75rem;color:var(--color-error-text)}.gbt-date-picker__field{position:relative;display:inline-flex}.gbt-date-picker__trigger{box-sizing:border-box;display:flex;align-items:center;width:220px;height:var(--gbt-control-height-md);padding:0 34px 0 10px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:14px;cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1)}.gbt-date-picker__trigger--open{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-date-picker__trigger:disabled{cursor:not-allowed;opacity:.5}.gbt-date-picker__trigger:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-picker__trigger-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.gbt-date-picker__trigger-label--placeholder{color:var(--text-discret)}.gbt-date-picker__icon{position:absolute;top:50%;right:10px;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.gbt-date-picker__clear{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer}.gbt-date-picker__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-picker__clear:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-picker__panel{box-sizing:border-box;position:fixed;z-index:1000;padding:.75rem;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-date-picker-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-date-picker__nav{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.gbt-date-picker__headings{display:flex;flex:1;justify-content:center;gap:1.25rem}.gbt-date-picker__nav-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-secondary);cursor:pointer}.gbt-date-picker__nav-button:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-picker__nav-button:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-picker__select{box-sizing:border-box;height:28px;padding:0 6px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer}.gbt-date-picker__select:hover{background:var(--bg-hover)}.gbt-date-picker__select:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-picker__months{display:flex;justify-content:center;gap:1.25rem;margin-inline:.65rem;margin-bottom:.65rem}.gbt-date-picker__month-heading{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.375rem;width:184px;height:28px}.gbt-date-picker__month-label{font-size:14px;font-weight:600;color:var(--text-primary);text-align:center}.gbt-date-picker__row{display:grid;grid-template-columns:repeat(7,32px)}.gbt-date-picker__row--head{margin-bottom:.25rem;margin-top:.25rem}.gbt-date-picker__weekday{display:flex;align-items:center;justify-content:center;height:24px;font-size:13px;font-weight:600;color:var(--text-secondary)}.gbt-date-picker__day{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:50%;color:var(--text-primary);font-size:13px;cursor:pointer}.gbt-date-picker__day:hover:not(:disabled):not(.gbt-date-picker__day--empty){background:var(--bg-hover)}.gbt-date-picker__day:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-date-picker__day--empty{cursor:default}.gbt-date-picker__day--today{font-weight:700;box-shadow:inset 0 0 0 1px var(--border-color)}.gbt-date-picker__day--selected{background:var(--primary);color:var(--text-on-primary);font-weight:600}@media(prefers-reduced-motion:reduce){.gbt-date-picker__panel{animation:none}.gbt-date-picker__trigger{transition:none}}@keyframes gbt-date-picker-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}\n"]
11651
11668
  }]
11652
11669
  }],
11653
11670
  propDecorators: {
@@ -12153,7 +12170,7 @@ var DateRangePicker = class DateRangePicker {
12153
12170
  }],
12154
12171
  ngImport: i0,
12155
12172
  template: "<div class=\"gbt-date-range-picker\">\n @if (label()) {\n <label [for]=\"id()\" class=\"gbt-date-range-picker__label\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n <div class=\"gbt-date-range-picker__field\">\n <button\n type=\"button\"\n [id]=\"id()\"\n class=\"gbt-date-range-picker__trigger\"\n [class.gbt-date-range-picker__trigger--open]=\"open()\"\n [disabled]=\"isDisabled()\"\n aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"errorMessage() ? id() + '-error' : null\"\n (click)=\"toggleOpen()\"\n >\n <span\n class=\"gbt-date-range-picker__trigger-label\"\n [class.gbt-date-range-picker__trigger-label--placeholder]=\"!triggerLabel()\"\n >\n {{ triggerLabel() || placeholder() }}\n </span>\n </button>\n @if (showClear()) {\n <button\n type=\"button\"\n class=\"gbt-date-range-picker__clear\"\n [attr.aria-label]=\"clearLabel()\"\n (click)=\"clear($event)\"\n >\n <gbt-icon name=\"x\" aria-hidden=\"true\" />\n </button>\n } @else {\n <gbt-icon name=\"calendar\" class=\"gbt-date-range-picker__icon\" aria-hidden=\"true\" />\n }\n </div>\n @if (open() && panelStyle(); as pos) {\n <div\n class=\"gbt-date-range-picker__panel\"\n role=\"dialog\"\n aria-modal=\"false\"\n [attr.aria-label]=\"panelLabel()\"\n [style.top]=\"pos.top\"\n [style.left]=\"pos.left\"\n >\n <div class=\"gbt-date-range-picker__nav\">\n <button\n type=\"button\"\n class=\"gbt-date-range-picker__nav-button\"\n [attr.aria-label]=\"previousMonthLabel()\"\n (click)=\"shiftMonth(-1)\"\n >\n <gbt-icon name=\"chevron-left\" aria-hidden=\"true\" />\n </button>\n <div class=\"gbt-date-range-picker__headings\">\n @for (view of monthViews(); track view.year + '-' + view.month; let i = $index) {\n <div class=\"gbt-date-range-picker__month-heading\">\n @if (i === 0) {\n <select\n #monthSelect\n class=\"gbt-date-range-picker__select\"\n [attr.aria-label]=\"monthSelectLabel()\"\n (change)=\"onMonthSelect(monthSelect.value)\"\n >\n @for (opt of monthOptions(); track opt.value) {\n <option [value]=\"opt.value\" [selected]=\"opt.value === anchorDate().getMonth()\">\n {{ opt.label }}\n </option>\n }\n </select>\n <select\n #yearSelect\n class=\"gbt-date-range-picker__select\"\n [attr.aria-label]=\"yearSelectLabel()\"\n (change)=\"onYearSelect(yearSelect.value)\"\n >\n @for (year of yearOptions(); track year) {\n <option [value]=\"year\" [selected]=\"year === anchorDate().getFullYear()\">\n {{ year }}\n </option>\n }\n </select>\n } @else {\n <span class=\"gbt-date-range-picker__month-label\">{{ view.label }}</span>\n }\n </div>\n }\n </div>\n <button\n type=\"button\"\n class=\"gbt-date-range-picker__nav-button\"\n [attr.aria-label]=\"nextMonthLabel()\"\n (click)=\"shiftMonth(1)\"\n >\n <gbt-icon name=\"chevron-right\" aria-hidden=\"true\" />\n </button>\n </div>\n <div class=\"gbt-date-range-picker__months\">\n @for (view of monthViews(); track view.year + '-' + view.month) {\n <div class=\"gbt-date-range-picker__month\">\n <div\n class=\"gbt-date-range-picker__grid\"\n role=\"grid\"\n tabindex=\"-1\"\n [attr.aria-label]=\"view.label\"\n (keydown)=\"onGridKeydown($event)\"\n >\n <div class=\"gbt-date-range-picker__row gbt-date-range-picker__row--head\" role=\"row\">\n @for (wd of weekdayLabels(); track $index) {\n <span role=\"columnheader\" class=\"gbt-date-range-picker__weekday\">{{ wd }}</span>\n }\n </div>\n @for (week of view.weeks; track $index) {\n <div class=\"gbt-date-range-picker__row\" role=\"row\">\n @for (day of week; track day.date.getTime()) {\n @if (day.inCurrentMonth) {\n <button\n type=\"button\"\n role=\"gridcell\"\n class=\"gbt-date-range-picker__day\"\n [class.gbt-date-range-picker__day--today]=\"day.isToday\"\n [class.gbt-date-range-picker__day--start-cap]=\"isRangeStartCap(day.date)\"\n [class.gbt-date-range-picker__day--end-cap]=\"isRangeEndCap(day.date)\"\n [class.gbt-date-range-picker__day--in-range]=\"isInRange(day.date)\"\n [class.gbt-date-range-picker__day--preview]=\"isPreviewing()\"\n [attr.data-date]=\"cellId(day.date)\"\n [attr.aria-current]=\"day.isToday ? 'date' : null\"\n [tabIndex]=\"isFocused(day.date) ? 0 : -1\"\n (click)=\"selectDay(day.date)\"\n (mouseenter)=\"onDayMouseEnter(day.date)\"\n (mouseleave)=\"onDayMouseLeave()\"\n >\n {{ day.date.getDate() }}\n </button>\n } @else {\n <span\n role=\"gridcell\"\n class=\"gbt-date-range-picker__day gbt-date-range-picker__day--empty\"\n ></span>\n }\n }\n </div>\n }\n </div>\n </div>\n }\n </div>\n <div class=\"gbt-sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n {{ statusMessage() }}\n </div>\n </div>\n }\n @if (errorMessage()) {\n <p [id]=\"id() + '-error'\" class=\"gbt-date-range-picker__error\" role=\"alert\">\n {{ errorMessage() }}\n </p>\n }\n</div>\n",
12156
- styles: [".gbt-date-range-picker{display:inline-flex;flex-direction:column;gap:.375rem}.gbt-date-range-picker__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-date-range-picker__error{margin:0;font-size:.75rem;color:var(--color-error-text)}.gbt-date-range-picker__field{position:relative;display:inline-flex}.gbt-date-range-picker__trigger{box-sizing:border-box;display:flex;align-items:center;width:260px;height:var(--gbt-control-height-md);padding:0 34px 0 10px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:14px;cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1)}.gbt-date-range-picker__trigger--open{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-date-range-picker__trigger:disabled{cursor:not-allowed;opacity:.5}.gbt-date-range-picker__trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-range-picker__trigger-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.gbt-date-range-picker__trigger-label--placeholder{color:var(--text-discret)}.gbt-date-range-picker__icon{position:absolute;top:50%;right:10px;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.gbt-date-range-picker__clear{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer}.gbt-date-range-picker__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-range-picker__clear:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-range-picker__panel{box-sizing:border-box;position:fixed;z-index:1000;padding:.75rem;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-date-range-picker-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-date-range-picker__nav{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.gbt-date-range-picker__headings{display:flex;flex:1;justify-content:center;gap:1.25rem}.gbt-date-range-picker__nav-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-secondary);cursor:pointer}.gbt-date-range-picker__nav-button:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-range-picker__nav-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-range-picker__select{box-sizing:border-box;height:28px;padding:0 6px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer}.gbt-date-range-picker__select:hover{background:var(--bg-hover)}.gbt-date-range-picker__select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-range-picker__months{display:flex;justify-content:center;gap:1.25rem;margin-inline:.65rem;margin-bottom:.65rem}.gbt-date-range-picker__month-heading{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.375rem;width:184px;height:28px}.gbt-date-range-picker__month-label{font-size:14px;font-weight:600;color:var(--text-primary);text-align:center}.gbt-date-range-picker__row{display:grid;grid-template-columns:repeat(7,32px)}.gbt-date-range-picker__row--head{margin-top:.25rem;margin-bottom:.25rem}.gbt-date-range-picker__weekday{display:flex;align-items:center;justify-content:center;height:24px;font-size:13px;font-weight:600;color:var(--text-secondary)}.gbt-date-range-picker__day{position:relative;z-index:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:var(--text-primary);font-size:13px;cursor:pointer}.gbt-date-range-picker__day:before{content:\"\";position:absolute;inset:0;z-index:-1}.gbt-date-range-picker__day:hover:not(:disabled):not(.gbt-date-range-picker__day--empty){border-radius:50%;background:var(--bg-hover)}.gbt-date-range-picker__day:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:50%}.gbt-date-range-picker__day--empty{cursor:default}.gbt-date-range-picker__day--today{font-weight:700;box-shadow:inset 0 0 0 1px var(--border-color);border-radius:50%}.gbt-date-range-picker__day--in-range:before{background:color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-date-range-picker__day--start-cap,.gbt-date-range-picker__day--end-cap{color:var(--text-on-primary);font-weight:600}.gbt-date-range-picker__day--start-cap:before{background:var(--primary);color:var(--text-on-primary);border-radius:50% 0 0 50%}.gbt-date-range-picker__day--end-cap:before{background:var(--primary);color:var(--text-on-primary);border-radius:0 50% 50% 0}.gbt-date-range-picker__day--start-cap.gbt-date-range-picker__day--end-cap:before{border-radius:50%}.gbt-date-range-picker__day--preview.gbt-date-range-picker__day--in-range:before,.gbt-date-range-picker__day--preview.gbt-date-range-picker__day--start-cap:before,.gbt-date-range-picker__day--preview.gbt-date-range-picker__day--end-cap:before{opacity:.6}.gbt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.gbt-date-range-picker__panel{animation:none}.gbt-date-range-picker__trigger{transition:none}}@keyframes gbt-date-range-picker-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}\n"],
12173
+ styles: [".gbt-date-range-picker{display:inline-flex;flex-direction:column;gap:.375rem}.gbt-date-range-picker__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-date-range-picker__error{margin:0;font-size:.75rem;color:var(--color-error-text)}.gbt-date-range-picker__field{position:relative;display:inline-flex}.gbt-date-range-picker__trigger{box-sizing:border-box;display:flex;align-items:center;width:260px;height:var(--gbt-control-height-md);padding:0 34px 0 10px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:14px;cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1)}.gbt-date-range-picker__trigger--open{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-date-range-picker__trigger:disabled{cursor:not-allowed;opacity:.5}.gbt-date-range-picker__trigger:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-range-picker__trigger-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.gbt-date-range-picker__trigger-label--placeholder{color:var(--text-discret)}.gbt-date-range-picker__icon{position:absolute;top:50%;right:10px;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.gbt-date-range-picker__clear{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer}.gbt-date-range-picker__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-range-picker__clear:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-range-picker__panel{box-sizing:border-box;position:fixed;z-index:1000;padding:.75rem;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-date-range-picker-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-date-range-picker__nav{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.gbt-date-range-picker__headings{display:flex;flex:1;justify-content:center;gap:1.25rem}.gbt-date-range-picker__nav-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-secondary);cursor:pointer}.gbt-date-range-picker__nav-button:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-range-picker__nav-button:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-range-picker__select{box-sizing:border-box;height:28px;padding:0 6px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer}.gbt-date-range-picker__select:hover{background:var(--bg-hover)}.gbt-date-range-picker__select:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-range-picker__months{display:flex;justify-content:center;gap:1.25rem;margin-inline:.65rem;margin-bottom:.65rem}.gbt-date-range-picker__month-heading{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.375rem;width:184px;height:28px}.gbt-date-range-picker__month-label{font-size:14px;font-weight:600;color:var(--text-primary);text-align:center}.gbt-date-range-picker__row{display:grid;grid-template-columns:repeat(7,32px)}.gbt-date-range-picker__row--head{margin-top:.25rem;margin-bottom:.25rem}.gbt-date-range-picker__weekday{display:flex;align-items:center;justify-content:center;height:24px;font-size:13px;font-weight:600;color:var(--text-secondary)}.gbt-date-range-picker__day{position:relative;z-index:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:var(--text-primary);font-size:13px;cursor:pointer}.gbt-date-range-picker__day:before{content:\"\";position:absolute;inset:0;z-index:-1}.gbt-date-range-picker__day:hover:not(:disabled):not(.gbt-date-range-picker__day--empty){border-radius:50%;background:var(--bg-hover)}.gbt-date-range-picker__day:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px;border-radius:50%}.gbt-date-range-picker__day--empty{cursor:default}.gbt-date-range-picker__day--today{font-weight:700;box-shadow:inset 0 0 0 1px var(--border-color);border-radius:50%}.gbt-date-range-picker__day--in-range:before{background:color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-date-range-picker__day--start-cap,.gbt-date-range-picker__day--end-cap{color:var(--text-on-primary);font-weight:600}.gbt-date-range-picker__day--start-cap:before{background:var(--primary);color:var(--text-on-primary);border-radius:50% 0 0 50%}.gbt-date-range-picker__day--end-cap:before{background:var(--primary);color:var(--text-on-primary);border-radius:0 50% 50% 0}.gbt-date-range-picker__day--start-cap.gbt-date-range-picker__day--end-cap:before{border-radius:50%}.gbt-date-range-picker__day--preview.gbt-date-range-picker__day--in-range:before,.gbt-date-range-picker__day--preview.gbt-date-range-picker__day--start-cap:before,.gbt-date-range-picker__day--preview.gbt-date-range-picker__day--end-cap:before{opacity:.6}.gbt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.gbt-date-range-picker__panel{animation:none}.gbt-date-range-picker__trigger{transition:none}}@keyframes gbt-date-range-picker-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}\n"],
12157
12174
  dependencies: [{
12158
12175
  kind: "component",
12159
12176
  type: Icon,
@@ -12187,7 +12204,7 @@ i0.ɵɵngDeclareClassMetadata({
12187
12204
  multi: true
12188
12205
  }],
12189
12206
  template: "<div class=\"gbt-date-range-picker\">\n @if (label()) {\n <label [for]=\"id()\" class=\"gbt-date-range-picker__label\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n <div class=\"gbt-date-range-picker__field\">\n <button\n type=\"button\"\n [id]=\"id()\"\n class=\"gbt-date-range-picker__trigger\"\n [class.gbt-date-range-picker__trigger--open]=\"open()\"\n [disabled]=\"isDisabled()\"\n aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"errorMessage() ? id() + '-error' : null\"\n (click)=\"toggleOpen()\"\n >\n <span\n class=\"gbt-date-range-picker__trigger-label\"\n [class.gbt-date-range-picker__trigger-label--placeholder]=\"!triggerLabel()\"\n >\n {{ triggerLabel() || placeholder() }}\n </span>\n </button>\n @if (showClear()) {\n <button\n type=\"button\"\n class=\"gbt-date-range-picker__clear\"\n [attr.aria-label]=\"clearLabel()\"\n (click)=\"clear($event)\"\n >\n <gbt-icon name=\"x\" aria-hidden=\"true\" />\n </button>\n } @else {\n <gbt-icon name=\"calendar\" class=\"gbt-date-range-picker__icon\" aria-hidden=\"true\" />\n }\n </div>\n @if (open() && panelStyle(); as pos) {\n <div\n class=\"gbt-date-range-picker__panel\"\n role=\"dialog\"\n aria-modal=\"false\"\n [attr.aria-label]=\"panelLabel()\"\n [style.top]=\"pos.top\"\n [style.left]=\"pos.left\"\n >\n <div class=\"gbt-date-range-picker__nav\">\n <button\n type=\"button\"\n class=\"gbt-date-range-picker__nav-button\"\n [attr.aria-label]=\"previousMonthLabel()\"\n (click)=\"shiftMonth(-1)\"\n >\n <gbt-icon name=\"chevron-left\" aria-hidden=\"true\" />\n </button>\n <div class=\"gbt-date-range-picker__headings\">\n @for (view of monthViews(); track view.year + '-' + view.month; let i = $index) {\n <div class=\"gbt-date-range-picker__month-heading\">\n @if (i === 0) {\n <select\n #monthSelect\n class=\"gbt-date-range-picker__select\"\n [attr.aria-label]=\"monthSelectLabel()\"\n (change)=\"onMonthSelect(monthSelect.value)\"\n >\n @for (opt of monthOptions(); track opt.value) {\n <option [value]=\"opt.value\" [selected]=\"opt.value === anchorDate().getMonth()\">\n {{ opt.label }}\n </option>\n }\n </select>\n <select\n #yearSelect\n class=\"gbt-date-range-picker__select\"\n [attr.aria-label]=\"yearSelectLabel()\"\n (change)=\"onYearSelect(yearSelect.value)\"\n >\n @for (year of yearOptions(); track year) {\n <option [value]=\"year\" [selected]=\"year === anchorDate().getFullYear()\">\n {{ year }}\n </option>\n }\n </select>\n } @else {\n <span class=\"gbt-date-range-picker__month-label\">{{ view.label }}</span>\n }\n </div>\n }\n </div>\n <button\n type=\"button\"\n class=\"gbt-date-range-picker__nav-button\"\n [attr.aria-label]=\"nextMonthLabel()\"\n (click)=\"shiftMonth(1)\"\n >\n <gbt-icon name=\"chevron-right\" aria-hidden=\"true\" />\n </button>\n </div>\n <div class=\"gbt-date-range-picker__months\">\n @for (view of monthViews(); track view.year + '-' + view.month) {\n <div class=\"gbt-date-range-picker__month\">\n <div\n class=\"gbt-date-range-picker__grid\"\n role=\"grid\"\n tabindex=\"-1\"\n [attr.aria-label]=\"view.label\"\n (keydown)=\"onGridKeydown($event)\"\n >\n <div class=\"gbt-date-range-picker__row gbt-date-range-picker__row--head\" role=\"row\">\n @for (wd of weekdayLabels(); track $index) {\n <span role=\"columnheader\" class=\"gbt-date-range-picker__weekday\">{{ wd }}</span>\n }\n </div>\n @for (week of view.weeks; track $index) {\n <div class=\"gbt-date-range-picker__row\" role=\"row\">\n @for (day of week; track day.date.getTime()) {\n @if (day.inCurrentMonth) {\n <button\n type=\"button\"\n role=\"gridcell\"\n class=\"gbt-date-range-picker__day\"\n [class.gbt-date-range-picker__day--today]=\"day.isToday\"\n [class.gbt-date-range-picker__day--start-cap]=\"isRangeStartCap(day.date)\"\n [class.gbt-date-range-picker__day--end-cap]=\"isRangeEndCap(day.date)\"\n [class.gbt-date-range-picker__day--in-range]=\"isInRange(day.date)\"\n [class.gbt-date-range-picker__day--preview]=\"isPreviewing()\"\n [attr.data-date]=\"cellId(day.date)\"\n [attr.aria-current]=\"day.isToday ? 'date' : null\"\n [tabIndex]=\"isFocused(day.date) ? 0 : -1\"\n (click)=\"selectDay(day.date)\"\n (mouseenter)=\"onDayMouseEnter(day.date)\"\n (mouseleave)=\"onDayMouseLeave()\"\n >\n {{ day.date.getDate() }}\n </button>\n } @else {\n <span\n role=\"gridcell\"\n class=\"gbt-date-range-picker__day gbt-date-range-picker__day--empty\"\n ></span>\n }\n }\n </div>\n }\n </div>\n </div>\n }\n </div>\n <div class=\"gbt-sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n {{ statusMessage() }}\n </div>\n </div>\n }\n @if (errorMessage()) {\n <p [id]=\"id() + '-error'\" class=\"gbt-date-range-picker__error\" role=\"alert\">\n {{ errorMessage() }}\n </p>\n }\n</div>\n",
12190
- styles: [".gbt-date-range-picker{display:inline-flex;flex-direction:column;gap:.375rem}.gbt-date-range-picker__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-date-range-picker__error{margin:0;font-size:.75rem;color:var(--color-error-text)}.gbt-date-range-picker__field{position:relative;display:inline-flex}.gbt-date-range-picker__trigger{box-sizing:border-box;display:flex;align-items:center;width:260px;height:var(--gbt-control-height-md);padding:0 34px 0 10px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:14px;cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1)}.gbt-date-range-picker__trigger--open{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-date-range-picker__trigger:disabled{cursor:not-allowed;opacity:.5}.gbt-date-range-picker__trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-range-picker__trigger-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.gbt-date-range-picker__trigger-label--placeholder{color:var(--text-discret)}.gbt-date-range-picker__icon{position:absolute;top:50%;right:10px;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.gbt-date-range-picker__clear{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer}.gbt-date-range-picker__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-range-picker__clear:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-range-picker__panel{box-sizing:border-box;position:fixed;z-index:1000;padding:.75rem;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-date-range-picker-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-date-range-picker__nav{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.gbt-date-range-picker__headings{display:flex;flex:1;justify-content:center;gap:1.25rem}.gbt-date-range-picker__nav-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-secondary);cursor:pointer}.gbt-date-range-picker__nav-button:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-range-picker__nav-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-range-picker__select{box-sizing:border-box;height:28px;padding:0 6px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer}.gbt-date-range-picker__select:hover{background:var(--bg-hover)}.gbt-date-range-picker__select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-date-range-picker__months{display:flex;justify-content:center;gap:1.25rem;margin-inline:.65rem;margin-bottom:.65rem}.gbt-date-range-picker__month-heading{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.375rem;width:184px;height:28px}.gbt-date-range-picker__month-label{font-size:14px;font-weight:600;color:var(--text-primary);text-align:center}.gbt-date-range-picker__row{display:grid;grid-template-columns:repeat(7,32px)}.gbt-date-range-picker__row--head{margin-top:.25rem;margin-bottom:.25rem}.gbt-date-range-picker__weekday{display:flex;align-items:center;justify-content:center;height:24px;font-size:13px;font-weight:600;color:var(--text-secondary)}.gbt-date-range-picker__day{position:relative;z-index:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:var(--text-primary);font-size:13px;cursor:pointer}.gbt-date-range-picker__day:before{content:\"\";position:absolute;inset:0;z-index:-1}.gbt-date-range-picker__day:hover:not(:disabled):not(.gbt-date-range-picker__day--empty){border-radius:50%;background:var(--bg-hover)}.gbt-date-range-picker__day:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:50%}.gbt-date-range-picker__day--empty{cursor:default}.gbt-date-range-picker__day--today{font-weight:700;box-shadow:inset 0 0 0 1px var(--border-color);border-radius:50%}.gbt-date-range-picker__day--in-range:before{background:color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-date-range-picker__day--start-cap,.gbt-date-range-picker__day--end-cap{color:var(--text-on-primary);font-weight:600}.gbt-date-range-picker__day--start-cap:before{background:var(--primary);color:var(--text-on-primary);border-radius:50% 0 0 50%}.gbt-date-range-picker__day--end-cap:before{background:var(--primary);color:var(--text-on-primary);border-radius:0 50% 50% 0}.gbt-date-range-picker__day--start-cap.gbt-date-range-picker__day--end-cap:before{border-radius:50%}.gbt-date-range-picker__day--preview.gbt-date-range-picker__day--in-range:before,.gbt-date-range-picker__day--preview.gbt-date-range-picker__day--start-cap:before,.gbt-date-range-picker__day--preview.gbt-date-range-picker__day--end-cap:before{opacity:.6}.gbt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.gbt-date-range-picker__panel{animation:none}.gbt-date-range-picker__trigger{transition:none}}@keyframes gbt-date-range-picker-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}\n"]
12207
+ styles: [".gbt-date-range-picker{display:inline-flex;flex-direction:column;gap:.375rem}.gbt-date-range-picker__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-date-range-picker__error{margin:0;font-size:.75rem;color:var(--color-error-text)}.gbt-date-range-picker__field{position:relative;display:inline-flex}.gbt-date-range-picker__trigger{box-sizing:border-box;display:flex;align-items:center;width:260px;height:var(--gbt-control-height-md);padding:0 34px 0 10px;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:14px;cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1)}.gbt-date-range-picker__trigger--open{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-date-range-picker__trigger:disabled{cursor:not-allowed;opacity:.5}.gbt-date-range-picker__trigger:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-range-picker__trigger-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.gbt-date-range-picker__trigger-label--placeholder{color:var(--text-discret)}.gbt-date-range-picker__icon{position:absolute;top:50%;right:10px;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.gbt-date-range-picker__clear{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer}.gbt-date-range-picker__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-range-picker__clear:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-range-picker__panel{box-sizing:border-box;position:fixed;z-index:1000;padding:.75rem;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-date-range-picker-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-date-range-picker__nav{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.gbt-date-range-picker__headings{display:flex;flex:1;justify-content:center;gap:1.25rem}.gbt-date-range-picker__nav-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-secondary);cursor:pointer}.gbt-date-range-picker__nav-button:hover{background:var(--bg-hover);color:var(--text-primary)}.gbt-date-range-picker__nav-button:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-range-picker__select{box-sizing:border-box;height:28px;padding:0 6px;background:none;border:none;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer}.gbt-date-range-picker__select:hover{background:var(--bg-hover)}.gbt-date-range-picker__select:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-date-range-picker__months{display:flex;justify-content:center;gap:1.25rem;margin-inline:.65rem;margin-bottom:.65rem}.gbt-date-range-picker__month-heading{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.375rem;width:184px;height:28px}.gbt-date-range-picker__month-label{font-size:14px;font-weight:600;color:var(--text-primary);text-align:center}.gbt-date-range-picker__row{display:grid;grid-template-columns:repeat(7,32px)}.gbt-date-range-picker__row--head{margin-top:.25rem;margin-bottom:.25rem}.gbt-date-range-picker__weekday{display:flex;align-items:center;justify-content:center;height:24px;font-size:13px;font-weight:600;color:var(--text-secondary)}.gbt-date-range-picker__day{position:relative;z-index:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:var(--text-primary);font-size:13px;cursor:pointer}.gbt-date-range-picker__day:before{content:\"\";position:absolute;inset:0;z-index:-1}.gbt-date-range-picker__day:hover:not(:disabled):not(.gbt-date-range-picker__day--empty){border-radius:50%;background:var(--bg-hover)}.gbt-date-range-picker__day:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px;border-radius:50%}.gbt-date-range-picker__day--empty{cursor:default}.gbt-date-range-picker__day--today{font-weight:700;box-shadow:inset 0 0 0 1px var(--border-color);border-radius:50%}.gbt-date-range-picker__day--in-range:before{background:color-mix(in srgb,var(--primary) 12%,transparent)}.gbt-date-range-picker__day--start-cap,.gbt-date-range-picker__day--end-cap{color:var(--text-on-primary);font-weight:600}.gbt-date-range-picker__day--start-cap:before{background:var(--primary);color:var(--text-on-primary);border-radius:50% 0 0 50%}.gbt-date-range-picker__day--end-cap:before{background:var(--primary);color:var(--text-on-primary);border-radius:0 50% 50% 0}.gbt-date-range-picker__day--start-cap.gbt-date-range-picker__day--end-cap:before{border-radius:50%}.gbt-date-range-picker__day--preview.gbt-date-range-picker__day--in-range:before,.gbt-date-range-picker__day--preview.gbt-date-range-picker__day--start-cap:before,.gbt-date-range-picker__day--preview.gbt-date-range-picker__day--end-cap:before{opacity:.6}.gbt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.gbt-date-range-picker__panel{animation:none}.gbt-date-range-picker__trigger{transition:none}}@keyframes gbt-date-range-picker-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}\n"]
12191
12208
  }]
12192
12209
  }],
12193
12210
  propDecorators: {
@@ -12396,7 +12413,7 @@ var AccordionItem = class AccordionItem {
12396
12413
  }],
12397
12414
  ngImport: i0,
12398
12415
  template: "<button\n #header\n type=\"button\"\n class=\"gbt-accordion-item__header\"\n [class.gbt-accordion-item__header--open]=\"active()\"\n [id]=\"headerId()\"\n [attr.aria-expanded]=\"active()\"\n [attr.aria-controls]=\"panelId()\"\n (click)=\"toggle()\"\n (keydown)=\"onKeydown($event)\"\n>\n <span class=\"gbt-accordion-item__label\">{{ label() }}</span>\n <gbt-icon name=\"chevron-down\" class=\"gbt-accordion-item__chevron\" aria-hidden=\"true\" />\n</button>\n<div\n class=\"gbt-accordion-item__panel\"\n [class.gbt-accordion-item__panel--open]=\"active()\"\n [id]=\"panelId()\"\n [attr.aria-labelledby]=\"headerId()\"\n [attr.inert]=\"active() ? null : ''\"\n>\n <div class=\"gbt-accordion-item__panel-inner\">\n <div class=\"gbt-accordion-item__panel-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n",
12399
- styles: [":host{display:block}:host:not(:last-child){border-bottom:1px solid var(--border-color)}.gbt-accordion-item__header{box-sizing:border-box;display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:var(--bg-principal);border:none;color:var(--text-primary);font-size:14px;font-weight:600;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-accordion-item__header:hover{background:var(--bg-hover)}.gbt-accordion-item__header:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-accordion-item__label{flex:1;min-width:0}.gbt-accordion-item__chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-accordion-item__header--open .gbt-accordion-item__chevron{transform:rotate(180deg)}.gbt-accordion-item__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.4,0,.2,1)}.gbt-accordion-item__panel--open{grid-template-rows:1fr}.gbt-accordion-item__panel-inner{overflow:hidden;min-height:0}.gbt-accordion-item__panel-content{padding:1rem}@media(prefers-reduced-motion:reduce){.gbt-accordion-item__chevron,.gbt-accordion-item__panel{transition:none}}\n"],
12416
+ styles: [":host{display:block}:host:not(:last-child){border-bottom:1px solid var(--border-color)}.gbt-accordion-item__header{box-sizing:border-box;display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:var(--bg-principal);border:none;color:var(--text-primary);font-size:14px;font-weight:600;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-accordion-item__header:hover{background:var(--bg-hover)}.gbt-accordion-item__header:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-accordion-item__label{flex:1;min-width:0}.gbt-accordion-item__chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-accordion-item__header--open .gbt-accordion-item__chevron{transform:rotate(180deg)}.gbt-accordion-item__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.4,0,.2,1)}.gbt-accordion-item__panel--open{grid-template-rows:1fr}.gbt-accordion-item__panel-inner{overflow:hidden;min-height:0}.gbt-accordion-item__panel-content{padding:1rem}@media(prefers-reduced-motion:reduce){.gbt-accordion-item__chevron,.gbt-accordion-item__panel{transition:none}}\n"],
12400
12417
  dependencies: [{
12401
12418
  kind: "component",
12402
12419
  type: Icon,
@@ -12419,7 +12436,7 @@ i0.ɵɵngDeclareClassMetadata({
12419
12436
  imports: [Icon],
12420
12437
  changeDetection: ChangeDetectionStrategy.OnPush,
12421
12438
  template: "<button\n #header\n type=\"button\"\n class=\"gbt-accordion-item__header\"\n [class.gbt-accordion-item__header--open]=\"active()\"\n [id]=\"headerId()\"\n [attr.aria-expanded]=\"active()\"\n [attr.aria-controls]=\"panelId()\"\n (click)=\"toggle()\"\n (keydown)=\"onKeydown($event)\"\n>\n <span class=\"gbt-accordion-item__label\">{{ label() }}</span>\n <gbt-icon name=\"chevron-down\" class=\"gbt-accordion-item__chevron\" aria-hidden=\"true\" />\n</button>\n<div\n class=\"gbt-accordion-item__panel\"\n [class.gbt-accordion-item__panel--open]=\"active()\"\n [id]=\"panelId()\"\n [attr.aria-labelledby]=\"headerId()\"\n [attr.inert]=\"active() ? null : ''\"\n>\n <div class=\"gbt-accordion-item__panel-inner\">\n <div class=\"gbt-accordion-item__panel-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n",
12422
- styles: [":host{display:block}:host:not(:last-child){border-bottom:1px solid var(--border-color)}.gbt-accordion-item__header{box-sizing:border-box;display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:var(--bg-principal);border:none;color:var(--text-primary);font-size:14px;font-weight:600;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-accordion-item__header:hover{background:var(--bg-hover)}.gbt-accordion-item__header:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-accordion-item__label{flex:1;min-width:0}.gbt-accordion-item__chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-accordion-item__header--open .gbt-accordion-item__chevron{transform:rotate(180deg)}.gbt-accordion-item__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.4,0,.2,1)}.gbt-accordion-item__panel--open{grid-template-rows:1fr}.gbt-accordion-item__panel-inner{overflow:hidden;min-height:0}.gbt-accordion-item__panel-content{padding:1rem}@media(prefers-reduced-motion:reduce){.gbt-accordion-item__chevron,.gbt-accordion-item__panel{transition:none}}\n"]
12439
+ styles: [":host{display:block}:host:not(:last-child){border-bottom:1px solid var(--border-color)}.gbt-accordion-item__header{box-sizing:border-box;display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:var(--bg-principal);border:none;color:var(--text-primary);font-size:14px;font-weight:600;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-accordion-item__header:hover{background:var(--bg-hover)}.gbt-accordion-item__header:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-accordion-item__label{flex:1;min-width:0}.gbt-accordion-item__chevron{flex-shrink:0;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-accordion-item__header--open .gbt-accordion-item__chevron{transform:rotate(180deg)}.gbt-accordion-item__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.4,0,.2,1)}.gbt-accordion-item__panel--open{grid-template-rows:1fr}.gbt-accordion-item__panel-inner{overflow:hidden;min-height:0}.gbt-accordion-item__panel-content{padding:1rem}@media(prefers-reduced-motion:reduce){.gbt-accordion-item__chevron,.gbt-accordion-item__panel{transition:none}}\n"]
12423
12440
  }]
12424
12441
  }],
12425
12442
  propDecorators: {
@@ -12779,7 +12796,7 @@ var Pagination = class Pagination {
12779
12796
  },
12780
12797
  ngImport: i0,
12781
12798
  template: "<div class=\"gbt-pagination\">\n <div class=\"gbt-pagination__side gbt-pagination__side--start\">\n @if (showItemsSummary()) {\n <span class=\"gbt-pagination__summary\">{{ itemsSummary() }}</span>\n }\n </div>\n\n <nav [attr.aria-label]=\"ariaLabel()\">\n <ul class=\"gbt-pagination__list\">\n <li>\n <button\n type=\"button\"\n class=\"gbt-pagination__nav\"\n [disabled]=\"disabled() || page() <= 1\"\n [attr.aria-label]=\"previousLabel()\"\n (click)=\"goTo(page() - 1)\"\n >\n <gbt-icon name=\"chevron-left\" aria-hidden=\"true\" />\n </button>\n </li>\n @for (item of items(); track $index) {\n @if (item === ELLIPSIS) {\n <li class=\"gbt-pagination__ellipsis\" aria-hidden=\"true\">{{ ELLIPSIS }}</li>\n } @else {\n <li>\n <button\n type=\"button\"\n class=\"gbt-pagination__page\"\n [class.gbt-pagination__page--current]=\"item === page()\"\n [attr.aria-current]=\"item === page() ? 'page' : null\"\n [attr.aria-label]=\"pageLabel()(item)\"\n [disabled]=\"disabled()\"\n (click)=\"goTo(item)\"\n >\n {{ item }}\n </button>\n </li>\n }\n }\n <li>\n <button\n type=\"button\"\n class=\"gbt-pagination__nav\"\n [disabled]=\"disabled() || page() >= pageCount()\"\n [attr.aria-label]=\"nextLabel()\"\n (click)=\"goTo(page() + 1)\"\n >\n <gbt-icon name=\"chevron-right\" aria-hidden=\"true\" />\n </button>\n </li>\n </ul>\n </nav>\n\n <div class=\"gbt-pagination__side gbt-pagination__side--end\">\n @if (pageSizeOptions().length > 0) {\n <gbt-select\n class=\"gbt-pagination__page-size\"\n size=\"sm\"\n [label]=\"pageSizeSelectLabel()\"\n [options]=\"pageSizeSelectOptions()\"\n [disabled]=\"disabled()\"\n [formControl]=\"pageSizeControl\"\n />\n }\n </div>\n</div>\n",
12782
- styles: [":host{display:block;width:100%}.gbt-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.gbt-pagination__side{display:flex;align-items:center;flex:1;min-width:0}.gbt-pagination__side--start{justify-content:flex-start}.gbt-pagination__side--end{justify-content:flex-end}.gbt-pagination__summary{color:var(--text-secondary);font-size:.8125rem;white-space:nowrap}.gbt-pagination__page-size{min-width:0}.gbt-pagination__list{display:flex;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none}.gbt-pagination__nav,.gbt-pagination__page{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .375rem;border:none;border-radius:var(--site-border-radius-sm);background:transparent;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-pagination__nav:hover:not(:disabled),.gbt-pagination__page:hover:not(:disabled){background:var(--bg-hover)}.gbt-pagination__nav:focus-visible,.gbt-pagination__page:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-pagination__nav:disabled,.gbt-pagination__page:disabled{color:var(--text-discret);cursor:not-allowed}.gbt-pagination__page--current{background:var(--primary);color:var(--text-on-primary);font-weight:600}.gbt-pagination__page--current:hover{background:var(--primary)}.gbt-pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;color:var(--text-discret)}\n"],
12799
+ styles: [":host{display:block;width:100%}.gbt-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.gbt-pagination__side{display:flex;align-items:center;flex:1;min-width:0}.gbt-pagination__side--start{justify-content:flex-start}.gbt-pagination__side--end{justify-content:flex-end}.gbt-pagination__summary{color:var(--text-secondary);font-size:.8125rem;white-space:nowrap}.gbt-pagination__page-size{min-width:0}.gbt-pagination__list{display:flex;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none}.gbt-pagination__nav,.gbt-pagination__page{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .375rem;border:none;border-radius:var(--site-border-radius-sm);background:transparent;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-pagination__nav:hover:not(:disabled),.gbt-pagination__page:hover:not(:disabled){background:var(--bg-hover)}.gbt-pagination__nav:focus-visible,.gbt-pagination__page:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-pagination__nav:disabled,.gbt-pagination__page:disabled{color:var(--text-discret);cursor:not-allowed}.gbt-pagination__page--current{background:var(--primary);color:var(--text-on-primary);font-weight:600}.gbt-pagination__page--current:hover{background:var(--primary)}.gbt-pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;color:var(--text-discret)}\n"],
12783
12800
  dependencies: [
12784
12801
  {
12785
12802
  kind: "component",
@@ -12852,7 +12869,7 @@ i0.ɵɵngDeclareClassMetadata({
12852
12869
  ],
12853
12870
  changeDetection: ChangeDetectionStrategy.OnPush,
12854
12871
  template: "<div class=\"gbt-pagination\">\n <div class=\"gbt-pagination__side gbt-pagination__side--start\">\n @if (showItemsSummary()) {\n <span class=\"gbt-pagination__summary\">{{ itemsSummary() }}</span>\n }\n </div>\n\n <nav [attr.aria-label]=\"ariaLabel()\">\n <ul class=\"gbt-pagination__list\">\n <li>\n <button\n type=\"button\"\n class=\"gbt-pagination__nav\"\n [disabled]=\"disabled() || page() <= 1\"\n [attr.aria-label]=\"previousLabel()\"\n (click)=\"goTo(page() - 1)\"\n >\n <gbt-icon name=\"chevron-left\" aria-hidden=\"true\" />\n </button>\n </li>\n @for (item of items(); track $index) {\n @if (item === ELLIPSIS) {\n <li class=\"gbt-pagination__ellipsis\" aria-hidden=\"true\">{{ ELLIPSIS }}</li>\n } @else {\n <li>\n <button\n type=\"button\"\n class=\"gbt-pagination__page\"\n [class.gbt-pagination__page--current]=\"item === page()\"\n [attr.aria-current]=\"item === page() ? 'page' : null\"\n [attr.aria-label]=\"pageLabel()(item)\"\n [disabled]=\"disabled()\"\n (click)=\"goTo(item)\"\n >\n {{ item }}\n </button>\n </li>\n }\n }\n <li>\n <button\n type=\"button\"\n class=\"gbt-pagination__nav\"\n [disabled]=\"disabled() || page() >= pageCount()\"\n [attr.aria-label]=\"nextLabel()\"\n (click)=\"goTo(page() + 1)\"\n >\n <gbt-icon name=\"chevron-right\" aria-hidden=\"true\" />\n </button>\n </li>\n </ul>\n </nav>\n\n <div class=\"gbt-pagination__side gbt-pagination__side--end\">\n @if (pageSizeOptions().length > 0) {\n <gbt-select\n class=\"gbt-pagination__page-size\"\n size=\"sm\"\n [label]=\"pageSizeSelectLabel()\"\n [options]=\"pageSizeSelectOptions()\"\n [disabled]=\"disabled()\"\n [formControl]=\"pageSizeControl\"\n />\n }\n </div>\n</div>\n",
12855
- styles: [":host{display:block;width:100%}.gbt-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.gbt-pagination__side{display:flex;align-items:center;flex:1;min-width:0}.gbt-pagination__side--start{justify-content:flex-start}.gbt-pagination__side--end{justify-content:flex-end}.gbt-pagination__summary{color:var(--text-secondary);font-size:.8125rem;white-space:nowrap}.gbt-pagination__page-size{min-width:0}.gbt-pagination__list{display:flex;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none}.gbt-pagination__nav,.gbt-pagination__page{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .375rem;border:none;border-radius:var(--site-border-radius-sm);background:transparent;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-pagination__nav:hover:not(:disabled),.gbt-pagination__page:hover:not(:disabled){background:var(--bg-hover)}.gbt-pagination__nav:focus-visible,.gbt-pagination__page:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-pagination__nav:disabled,.gbt-pagination__page:disabled{color:var(--text-discret);cursor:not-allowed}.gbt-pagination__page--current{background:var(--primary);color:var(--text-on-primary);font-weight:600}.gbt-pagination__page--current:hover{background:var(--primary)}.gbt-pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;color:var(--text-discret)}\n"]
12872
+ styles: [":host{display:block;width:100%}.gbt-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.gbt-pagination__side{display:flex;align-items:center;flex:1;min-width:0}.gbt-pagination__side--start{justify-content:flex-start}.gbt-pagination__side--end{justify-content:flex-end}.gbt-pagination__summary{color:var(--text-secondary);font-size:.8125rem;white-space:nowrap}.gbt-pagination__page-size{min-width:0}.gbt-pagination__list{display:flex;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none}.gbt-pagination__nav,.gbt-pagination__page{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .375rem;border:none;border-radius:var(--site-border-radius-sm);background:transparent;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-pagination__nav:hover:not(:disabled),.gbt-pagination__page:hover:not(:disabled){background:var(--bg-hover)}.gbt-pagination__nav:focus-visible,.gbt-pagination__page:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-pagination__nav:disabled,.gbt-pagination__page:disabled{color:var(--text-discret);cursor:not-allowed}.gbt-pagination__page--current{background:var(--primary);color:var(--text-on-primary);font-weight:600}.gbt-pagination__page--current:hover{background:var(--primary)}.gbt-pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;color:var(--text-discret)}\n"]
12856
12873
  }]
12857
12874
  }],
12858
12875
  ctorParameters: () => [],
@@ -13240,6 +13257,7 @@ var ConfirmDangerModal = class ConfirmDangerModal {
13240
13257
  "maxlength",
13241
13258
  "min",
13242
13259
  "max",
13260
+ "combobox",
13243
13261
  "showPasswordLabel",
13244
13262
  "hidePasswordLabel"
13245
13263
  ],
@@ -14408,7 +14426,7 @@ var Switch = class Switch {
14408
14426
  }],
14409
14427
  ngImport: i0,
14410
14428
  template: "<label class=\"gbt-switch\" [class.gbt-switch--disabled]=\"isDisabled()\">\n <input\n type=\"checkbox\"\n role=\"switch\"\n class=\"gbt-switch__input\"\n [id]=\"id()\"\n [checked]=\"checked()\"\n [disabled]=\"isDisabled()\"\n [attr.aria-describedby]=\"hint() ? hintId() : null\"\n (change)=\"onToggle($event)\"\n />\n <span class=\"gbt-switch__track\">\n <span class=\"gbt-switch__thumb\"></span>\n </span>\n <span>{{ label() }}</span>\n</label>\n@if (hint()) {\n <p [id]=\"hintId()\" class=\"gbt-switch__hint\">{{ hint() }}</p>\n}\n",
14411
- styles: [":host(.gbt-switch-host--hint){display:block}.gbt-switch{position:relative;display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-primary);cursor:pointer}.gbt-switch:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-switch--disabled{cursor:not-allowed;opacity:.5}.gbt-switch__input{position:absolute;width:2.25rem;height:1.25rem;margin:0;opacity:0;cursor:inherit}.gbt-switch__track{position:relative;display:inline-flex;flex-shrink:0;align-items:center;width:2.25rem;height:1.25rem;background:var(--border-color);border-radius:999px;transition:background .15s ease}.gbt-switch__input:checked+.gbt-switch__track{background:var(--primary)}.gbt-switch__input:focus-visible+.gbt-switch__track{outline:2px solid var(--primary);outline-offset:2px}.gbt-switch__thumb{position:absolute;top:.125rem;left:.125rem;width:1rem;height:1rem;background:var(--bg-principal);border-radius:50%;box-shadow:var(--site-shadow-sm);transition:transform .15s ease}.gbt-switch__input:checked~.gbt-switch__track .gbt-switch__thumb{transform:translate(1rem)}.gbt-switch__hint{margin:.125rem 0 0;padding-left:2.75rem;font-size:.75rem;line-height:1.4;color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){.gbt-switch__track,.gbt-switch__thumb{transition:none}}\n"],
14429
+ styles: [":host(.gbt-switch-host--hint){display:block}.gbt-switch{position:relative;display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-primary);cursor:pointer}.gbt-switch:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-switch--disabled{cursor:not-allowed;opacity:.5}.gbt-switch__input{position:absolute;width:2.25rem;height:1.25rem;margin:0;opacity:0;cursor:inherit}.gbt-switch__track{position:relative;display:inline-flex;flex-shrink:0;align-items:center;width:2.25rem;height:1.25rem;background:var(--border-color);border-radius:999px;transition:background .15s ease}.gbt-switch__input:checked+.gbt-switch__track{background:var(--primary)}.gbt-switch__input:focus-visible+.gbt-switch__track{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-switch__thumb{position:absolute;top:.125rem;left:.125rem;width:1rem;height:1rem;background:var(--bg-principal);border-radius:50%;box-shadow:var(--site-shadow-sm);transition:transform .15s ease}.gbt-switch__input:checked~.gbt-switch__track .gbt-switch__thumb{transform:translate(1rem)}.gbt-switch__hint{margin:.125rem 0 0;padding-left:2.75rem;font-size:.75rem;line-height:1.4;color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){.gbt-switch__track,.gbt-switch__thumb{transition:none}}\n"],
14412
14430
  changeDetection: i0.ChangeDetectionStrategy.OnPush
14413
14431
  });
14414
14432
  };
@@ -14430,7 +14448,7 @@ i0.ɵɵngDeclareClassMetadata({
14430
14448
  multi: true
14431
14449
  }],
14432
14450
  template: "<label class=\"gbt-switch\" [class.gbt-switch--disabled]=\"isDisabled()\">\n <input\n type=\"checkbox\"\n role=\"switch\"\n class=\"gbt-switch__input\"\n [id]=\"id()\"\n [checked]=\"checked()\"\n [disabled]=\"isDisabled()\"\n [attr.aria-describedby]=\"hint() ? hintId() : null\"\n (change)=\"onToggle($event)\"\n />\n <span class=\"gbt-switch__track\">\n <span class=\"gbt-switch__thumb\"></span>\n </span>\n <span>{{ label() }}</span>\n</label>\n@if (hint()) {\n <p [id]=\"hintId()\" class=\"gbt-switch__hint\">{{ hint() }}</p>\n}\n",
14433
- styles: [":host(.gbt-switch-host--hint){display:block}.gbt-switch{position:relative;display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-primary);cursor:pointer}.gbt-switch:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-switch--disabled{cursor:not-allowed;opacity:.5}.gbt-switch__input{position:absolute;width:2.25rem;height:1.25rem;margin:0;opacity:0;cursor:inherit}.gbt-switch__track{position:relative;display:inline-flex;flex-shrink:0;align-items:center;width:2.25rem;height:1.25rem;background:var(--border-color);border-radius:999px;transition:background .15s ease}.gbt-switch__input:checked+.gbt-switch__track{background:var(--primary)}.gbt-switch__input:focus-visible+.gbt-switch__track{outline:2px solid var(--primary);outline-offset:2px}.gbt-switch__thumb{position:absolute;top:.125rem;left:.125rem;width:1rem;height:1rem;background:var(--bg-principal);border-radius:50%;box-shadow:var(--site-shadow-sm);transition:transform .15s ease}.gbt-switch__input:checked~.gbt-switch__track .gbt-switch__thumb{transform:translate(1rem)}.gbt-switch__hint{margin:.125rem 0 0;padding-left:2.75rem;font-size:.75rem;line-height:1.4;color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){.gbt-switch__track,.gbt-switch__thumb{transition:none}}\n"]
14451
+ styles: [":host(.gbt-switch-host--hint){display:block}.gbt-switch{position:relative;display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-primary);cursor:pointer}.gbt-switch:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-switch--disabled{cursor:not-allowed;opacity:.5}.gbt-switch__input{position:absolute;width:2.25rem;height:1.25rem;margin:0;opacity:0;cursor:inherit}.gbt-switch__track{position:relative;display:inline-flex;flex-shrink:0;align-items:center;width:2.25rem;height:1.25rem;background:var(--border-color);border-radius:999px;transition:background .15s ease}.gbt-switch__input:checked+.gbt-switch__track{background:var(--primary)}.gbt-switch__input:focus-visible+.gbt-switch__track{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-switch__thumb{position:absolute;top:.125rem;left:.125rem;width:1rem;height:1rem;background:var(--bg-principal);border-radius:50%;box-shadow:var(--site-shadow-sm);transition:transform .15s ease}.gbt-switch__input:checked~.gbt-switch__track .gbt-switch__thumb{transform:translate(1rem)}.gbt-switch__hint{margin:.125rem 0 0;padding-left:2.75rem;font-size:.75rem;line-height:1.4;color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){.gbt-switch__track,.gbt-switch__thumb{transition:none}}\n"]
14434
14452
  }]
14435
14453
  }],
14436
14454
  propDecorators: {
@@ -14690,7 +14708,7 @@ var Textarea = class Textarea {
14690
14708
  }],
14691
14709
  ngImport: i0,
14692
14710
  template: "<div\n class=\"gbt-textarea\"\n [class.gbt-textarea--mono]=\"mono()\"\n [class.gbt-textarea--autosize]=\"autosize()\"\n>\n @if (label()) {\n <label [for]=\"id()\" [class.gbt-textarea__label--hidden]=\"hideLabel()\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n <textarea\n #field\n [id]=\"id()\"\n [placeholder]=\"placeholder()\"\n [required]=\"required()\"\n [disabled]=\"isDisabled()\"\n [rows]=\"rows()\"\n [value]=\"value()\"\n [attr.data-resize]=\"effectiveResize()\"\n [style.--gbt-textarea-max-rows]=\"maxRowsProperty()\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"describedBy()\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n ></textarea>\n @if (showHint()) {\n <p [id]=\"hintId()\" class=\"gbt-textarea__hint\">{{ hint() }}</p>\n }\n @if (errorMessage()) {\n <p [id]=\"errorId()\" class=\"gbt-textarea__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
14693
- styles: [":host{display:block}.gbt-textarea{display:flex;flex-direction:column;gap:.375rem}.gbt-textarea label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-textarea textarea{box-sizing:border-box;width:100%;padding:.5rem .75rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-primary);background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);resize:vertical;transition:border-color var(--site-transition-fast)}.gbt-textarea textarea:focus{outline:none;border-color:var(--primary)}.gbt-textarea textarea:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.gbt-textarea textarea[data-resize=none]{resize:none}.gbt-textarea textarea[data-resize=both]{resize:both}.gbt-textarea textarea[data-resize=horizontal]{resize:horizontal}.gbt-textarea textarea:disabled{background:var(--bg-panel);cursor:not-allowed;resize:none}.gbt-textarea--autosize textarea{overflow-y:auto;max-height:calc(var(--gbt-textarea-max-rows) * 1lh + 1rem + 2px)}.gbt-textarea--mono textarea{font-family:var(--gbt-font-mono, ui-monospace, \"SFMono-Regular\", Menlo, Consolas, monospace);font-size:.8125rem}.gbt-textarea__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-textarea__hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.gbt-textarea__error{margin:0;font-size:.75rem;color:var(--color-error-text)}\n"],
14711
+ styles: [":host{display:block}.gbt-textarea{display:flex;flex-direction:column;gap:.375rem}.gbt-textarea label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-textarea textarea{box-sizing:border-box;width:100%;padding:.5rem .75rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-primary);background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);resize:vertical;transition:border-color var(--site-transition-fast)}.gbt-textarea textarea:focus{outline:none;border-color:var(--primary)}.gbt-textarea textarea:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:1px}.gbt-textarea textarea[data-resize=none]{resize:none}.gbt-textarea textarea[data-resize=both]{resize:both}.gbt-textarea textarea[data-resize=horizontal]{resize:horizontal}.gbt-textarea textarea:disabled{background:var(--bg-panel);cursor:not-allowed;resize:none}.gbt-textarea--autosize textarea{overflow-y:auto;max-height:calc(var(--gbt-textarea-max-rows) * 1lh + 1rem + 2px)}.gbt-textarea--mono textarea{font-family:var(--gbt-font-mono, ui-monospace, \"SFMono-Regular\", Menlo, Consolas, monospace);font-size:.8125rem}.gbt-textarea__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-textarea__hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.gbt-textarea__error{margin:0;font-size:.75rem;color:var(--color-error-text)}\n"],
14694
14712
  changeDetection: i0.ChangeDetectionStrategy.OnPush
14695
14713
  });
14696
14714
  };
@@ -14712,7 +14730,7 @@ i0.ɵɵngDeclareClassMetadata({
14712
14730
  multi: true
14713
14731
  }],
14714
14732
  template: "<div\n class=\"gbt-textarea\"\n [class.gbt-textarea--mono]=\"mono()\"\n [class.gbt-textarea--autosize]=\"autosize()\"\n>\n @if (label()) {\n <label [for]=\"id()\" [class.gbt-textarea__label--hidden]=\"hideLabel()\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n <textarea\n #field\n [id]=\"id()\"\n [placeholder]=\"placeholder()\"\n [required]=\"required()\"\n [disabled]=\"isDisabled()\"\n [rows]=\"rows()\"\n [value]=\"value()\"\n [attr.data-resize]=\"effectiveResize()\"\n [style.--gbt-textarea-max-rows]=\"maxRowsProperty()\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"describedBy()\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n ></textarea>\n @if (showHint()) {\n <p [id]=\"hintId()\" class=\"gbt-textarea__hint\">{{ hint() }}</p>\n }\n @if (errorMessage()) {\n <p [id]=\"errorId()\" class=\"gbt-textarea__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
14715
- styles: [":host{display:block}.gbt-textarea{display:flex;flex-direction:column;gap:.375rem}.gbt-textarea label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-textarea textarea{box-sizing:border-box;width:100%;padding:.5rem .75rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-primary);background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);resize:vertical;transition:border-color var(--site-transition-fast)}.gbt-textarea textarea:focus{outline:none;border-color:var(--primary)}.gbt-textarea textarea:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.gbt-textarea textarea[data-resize=none]{resize:none}.gbt-textarea textarea[data-resize=both]{resize:both}.gbt-textarea textarea[data-resize=horizontal]{resize:horizontal}.gbt-textarea textarea:disabled{background:var(--bg-panel);cursor:not-allowed;resize:none}.gbt-textarea--autosize textarea{overflow-y:auto;max-height:calc(var(--gbt-textarea-max-rows) * 1lh + 1rem + 2px)}.gbt-textarea--mono textarea{font-family:var(--gbt-font-mono, ui-monospace, \"SFMono-Regular\", Menlo, Consolas, monospace);font-size:.8125rem}.gbt-textarea__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-textarea__hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.gbt-textarea__error{margin:0;font-size:.75rem;color:var(--color-error-text)}\n"]
14733
+ styles: [":host{display:block}.gbt-textarea{display:flex;flex-direction:column;gap:.375rem}.gbt-textarea label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-textarea textarea{box-sizing:border-box;width:100%;padding:.5rem .75rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-primary);background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);resize:vertical;transition:border-color var(--site-transition-fast)}.gbt-textarea textarea:focus{outline:none;border-color:var(--primary)}.gbt-textarea textarea:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:1px}.gbt-textarea textarea[data-resize=none]{resize:none}.gbt-textarea textarea[data-resize=both]{resize:both}.gbt-textarea textarea[data-resize=horizontal]{resize:horizontal}.gbt-textarea textarea:disabled{background:var(--bg-panel);cursor:not-allowed;resize:none}.gbt-textarea--autosize textarea{overflow-y:auto;max-height:calc(var(--gbt-textarea-max-rows) * 1lh + 1rem + 2px)}.gbt-textarea--mono textarea{font-family:var(--gbt-font-mono, ui-monospace, \"SFMono-Regular\", Menlo, Consolas, monospace);font-size:.8125rem}.gbt-textarea__label--hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-textarea__hint{margin:0;font-size:.75rem;color:var(--text-secondary)}.gbt-textarea__error{margin:0;font-size:.75rem;color:var(--color-error-text)}\n"]
14716
14734
  }]
14717
14735
  }],
14718
14736
  ctorParameters: () => [],
@@ -15133,7 +15151,7 @@ var Autocomplete = class Autocomplete {
15133
15151
  }],
15134
15152
  ngImport: i0,
15135
15153
  template: "<div class=\"gbt-autocomplete\" [class.gbt-autocomplete--disabled]=\"isDisabled()\">\n @if (label()) {\n <label [for]=\"id()\" class=\"gbt-autocomplete__label\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n\n <input\n [id]=\"id()\"\n type=\"text\"\n class=\"gbt-autocomplete__input\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"open() ? id() + '-listbox' : null\"\n [attr.aria-activedescendant]=\"activeOptionId()\"\n [attr.aria-required]=\"required() ? true : null\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"errorMessage() ? id() + '-error' : null\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"isDisabled()\"\n [value]=\"query()\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeydown($event)\"\n />\n\n @if (open()) {\n <div role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" class=\"sr-only\">\n @if (loading()) {\n {{ loadingMessage() }}\n } @else if (searchFailed()) {\n {{ searchErrorMessage() }}\n } @else {\n {{ resultsAnnouncement()(results().length) }}\n }\n </div>\n }\n\n @if (open() && panelStyle(); as style) {\n <div\n class=\"gbt-autocomplete__panel\"\n [style.top]=\"style.top\"\n [style.left]=\"style.left\"\n [style.width]=\"style.width\"\n (mousedown)=\"$event.preventDefault()\"\n >\n @if (loading()) {\n <div class=\"gbt-autocomplete__state\" role=\"status\">\n <span>{{ loadingMessage() }}</span>\n </div>\n } @else if (searchFailed()) {\n <div class=\"gbt-autocomplete__state gbt-autocomplete__state--error\" role=\"alert\">\n <span>{{ searchErrorMessage() }}</span>\n </div>\n } @else if (hasNoResults()) {\n <div class=\"gbt-autocomplete__state\" role=\"status\">\n <span>{{ noResultsMessage() }}</span>\n </div>\n } @else {\n <ul\n [id]=\"id() + '-listbox'\"\n class=\"gbt-autocomplete__list\"\n role=\"listbox\"\n [attr.aria-label]=\"label() || placeholder()\"\n >\n @for (item of results(); track $index; let i = $index) {\n <li role=\"presentation\">\n <button\n [id]=\"id() + '-option-' + i\"\n type=\"button\"\n role=\"option\"\n tabindex=\"-1\"\n class=\"gbt-autocomplete__option\"\n [class.gbt-autocomplete__option--active]=\"i === activeIndex()\"\n [attr.aria-selected]=\"i === activeIndex()\"\n (click)=\"selectOption(item)\"\n (mouseenter)=\"activeIndex.set(i)\"\n >\n @if (itemTemplate(); as template) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n } @else {\n <span class=\"gbt-autocomplete__option-label\">{{ displayFn()(item) }}</span>\n }\n </button>\n </li>\n }\n </ul>\n }\n </div>\n }\n\n @if (errorMessage()) {\n <p [id]=\"id() + '-error'\" class=\"gbt-autocomplete__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
15136
- styles: [":host{display:block}.gbt-autocomplete{position:relative;display:flex;flex-direction:column;gap:.375rem}.gbt-autocomplete--disabled{opacity:.5}.gbt-autocomplete__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-autocomplete__input{box-sizing:border-box;width:100%;height:var(--gbt-control-height-md);padding:0 .75rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-primary);background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);transition:border-color var(--site-transition-fast)}.gbt-autocomplete__input:focus{outline:none;border-color:var(--primary)}.gbt-autocomplete__input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.gbt-autocomplete__input:disabled{background:var(--bg-panel);cursor:not-allowed}.gbt-autocomplete__panel{box-sizing:border-box;position:fixed;z-index:1000;margin:0;padding:6px;max-height:280px;overflow-y:auto;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-autocomplete-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-autocomplete__panel::-webkit-scrollbar{width:6px}.gbt-autocomplete__panel::-webkit-scrollbar-track{background:transparent}.gbt-autocomplete__panel::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-autocomplete__list{margin:0;padding:0;list-style:none}.gbt-autocomplete__option{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:8px;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-autocomplete__option:hover,.gbt-autocomplete__option--active{background:var(--bg-hover)}.gbt-autocomplete__option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-autocomplete__state{padding:.75rem;font-size:.8125rem;color:var(--text-secondary);text-align:center}.gbt-autocomplete__state--error{color:var(--color-error-text)}@keyframes gbt-autocomplete-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.gbt-autocomplete__error{margin:0;font-size:.75rem;color:var(--color-error-text)}@media(prefers-reduced-motion:reduce){.gbt-autocomplete__panel{animation:none}}\n"],
15154
+ styles: [":host{display:block}.gbt-autocomplete{position:relative;display:flex;flex-direction:column;gap:.375rem}.gbt-autocomplete--disabled{opacity:.5}.gbt-autocomplete__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-autocomplete__input{box-sizing:border-box;width:100%;height:var(--gbt-control-height-md);padding:0 .75rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-primary);background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);transition:border-color var(--site-transition-fast)}.gbt-autocomplete__input:focus{outline:none;border-color:var(--primary)}.gbt-autocomplete__input:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:1px}.gbt-autocomplete__input:disabled{background:var(--bg-panel);cursor:not-allowed}.gbt-autocomplete__panel{box-sizing:border-box;position:fixed;z-index:1000;margin:0;padding:6px;max-height:280px;overflow-y:auto;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-autocomplete-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-autocomplete__panel::-webkit-scrollbar{width:6px}.gbt-autocomplete__panel::-webkit-scrollbar-track{background:transparent}.gbt-autocomplete__panel::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-autocomplete__list{margin:0;padding:0;list-style:none}.gbt-autocomplete__option{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--gbt-radius-menu, 8px);color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-autocomplete__option:hover,.gbt-autocomplete__option--active{background:var(--bg-hover)}.gbt-autocomplete__option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-autocomplete__state{padding:.75rem;font-size:.8125rem;color:var(--text-secondary);text-align:center}.gbt-autocomplete__state--error{color:var(--color-error-text)}@keyframes gbt-autocomplete-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.gbt-autocomplete__error{margin:0;font-size:.75rem;color:var(--color-error-text)}@media(prefers-reduced-motion:reduce){.gbt-autocomplete__panel{animation:none}}\n"],
15137
15155
  dependencies: [{
15138
15156
  kind: "directive",
15139
15157
  type: NgTemplateOutlet,
@@ -15169,7 +15187,7 @@ i0.ɵɵngDeclareClassMetadata({
15169
15187
  multi: true
15170
15188
  }],
15171
15189
  template: "<div class=\"gbt-autocomplete\" [class.gbt-autocomplete--disabled]=\"isDisabled()\">\n @if (label()) {\n <label [for]=\"id()\" class=\"gbt-autocomplete__label\"\n >{{ label() }}{{ required() ? ' *' : '' }}</label\n >\n }\n\n <input\n [id]=\"id()\"\n type=\"text\"\n class=\"gbt-autocomplete__input\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"open() ? id() + '-listbox' : null\"\n [attr.aria-activedescendant]=\"activeOptionId()\"\n [attr.aria-required]=\"required() ? true : null\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"errorMessage() ? id() + '-error' : null\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"isDisabled()\"\n [value]=\"query()\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeydown($event)\"\n />\n\n @if (open()) {\n <div role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" class=\"sr-only\">\n @if (loading()) {\n {{ loadingMessage() }}\n } @else if (searchFailed()) {\n {{ searchErrorMessage() }}\n } @else {\n {{ resultsAnnouncement()(results().length) }}\n }\n </div>\n }\n\n @if (open() && panelStyle(); as style) {\n <div\n class=\"gbt-autocomplete__panel\"\n [style.top]=\"style.top\"\n [style.left]=\"style.left\"\n [style.width]=\"style.width\"\n (mousedown)=\"$event.preventDefault()\"\n >\n @if (loading()) {\n <div class=\"gbt-autocomplete__state\" role=\"status\">\n <span>{{ loadingMessage() }}</span>\n </div>\n } @else if (searchFailed()) {\n <div class=\"gbt-autocomplete__state gbt-autocomplete__state--error\" role=\"alert\">\n <span>{{ searchErrorMessage() }}</span>\n </div>\n } @else if (hasNoResults()) {\n <div class=\"gbt-autocomplete__state\" role=\"status\">\n <span>{{ noResultsMessage() }}</span>\n </div>\n } @else {\n <ul\n [id]=\"id() + '-listbox'\"\n class=\"gbt-autocomplete__list\"\n role=\"listbox\"\n [attr.aria-label]=\"label() || placeholder()\"\n >\n @for (item of results(); track $index; let i = $index) {\n <li role=\"presentation\">\n <button\n [id]=\"id() + '-option-' + i\"\n type=\"button\"\n role=\"option\"\n tabindex=\"-1\"\n class=\"gbt-autocomplete__option\"\n [class.gbt-autocomplete__option--active]=\"i === activeIndex()\"\n [attr.aria-selected]=\"i === activeIndex()\"\n (click)=\"selectOption(item)\"\n (mouseenter)=\"activeIndex.set(i)\"\n >\n @if (itemTemplate(); as template) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n } @else {\n <span class=\"gbt-autocomplete__option-label\">{{ displayFn()(item) }}</span>\n }\n </button>\n </li>\n }\n </ul>\n }\n </div>\n }\n\n @if (errorMessage()) {\n <p [id]=\"id() + '-error'\" class=\"gbt-autocomplete__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
15172
- styles: [":host{display:block}.gbt-autocomplete{position:relative;display:flex;flex-direction:column;gap:.375rem}.gbt-autocomplete--disabled{opacity:.5}.gbt-autocomplete__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-autocomplete__input{box-sizing:border-box;width:100%;height:var(--gbt-control-height-md);padding:0 .75rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-primary);background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);transition:border-color var(--site-transition-fast)}.gbt-autocomplete__input:focus{outline:none;border-color:var(--primary)}.gbt-autocomplete__input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.gbt-autocomplete__input:disabled{background:var(--bg-panel);cursor:not-allowed}.gbt-autocomplete__panel{box-sizing:border-box;position:fixed;z-index:1000;margin:0;padding:6px;max-height:280px;overflow-y:auto;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-autocomplete-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-autocomplete__panel::-webkit-scrollbar{width:6px}.gbt-autocomplete__panel::-webkit-scrollbar-track{background:transparent}.gbt-autocomplete__panel::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-autocomplete__list{margin:0;padding:0;list-style:none}.gbt-autocomplete__option{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:8px;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-autocomplete__option:hover,.gbt-autocomplete__option--active{background:var(--bg-hover)}.gbt-autocomplete__option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-autocomplete__state{padding:.75rem;font-size:.8125rem;color:var(--text-secondary);text-align:center}.gbt-autocomplete__state--error{color:var(--color-error-text)}@keyframes gbt-autocomplete-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.gbt-autocomplete__error{margin:0;font-size:.75rem;color:var(--color-error-text)}@media(prefers-reduced-motion:reduce){.gbt-autocomplete__panel{animation:none}}\n"]
15190
+ styles: [":host{display:block}.gbt-autocomplete{position:relative;display:flex;flex-direction:column;gap:.375rem}.gbt-autocomplete--disabled{opacity:.5}.gbt-autocomplete__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-autocomplete__input{box-sizing:border-box;width:100%;height:var(--gbt-control-height-md);padding:0 .75rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-primary);background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);transition:border-color var(--site-transition-fast)}.gbt-autocomplete__input:focus{outline:none;border-color:var(--primary)}.gbt-autocomplete__input:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:1px}.gbt-autocomplete__input:disabled{background:var(--bg-panel);cursor:not-allowed}.gbt-autocomplete__panel{box-sizing:border-box;position:fixed;z-index:1000;margin:0;padding:6px;max-height:280px;overflow-y:auto;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--site-border-radius-sm);box-shadow:var(--site-shadow-lg);animation:gbt-autocomplete-scale-in .15s cubic-bezier(.34,1.56,.64,1) both}.gbt-autocomplete__panel::-webkit-scrollbar{width:6px}.gbt-autocomplete__panel::-webkit-scrollbar-track{background:transparent}.gbt-autocomplete__panel::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.gbt-autocomplete__list{margin:0;padding:0;list-style:none}.gbt-autocomplete__option{box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--gbt-radius-menu, 8px);color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1)}.gbt-autocomplete__option:hover,.gbt-autocomplete__option--active{background:var(--bg-hover)}.gbt-autocomplete__option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbt-autocomplete__state{padding:.75rem;font-size:.8125rem;color:var(--text-secondary);text-align:center}.gbt-autocomplete__state--error{color:var(--color-error-text)}@keyframes gbt-autocomplete-scale-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.gbt-autocomplete__error{margin:0;font-size:.75rem;color:var(--color-error-text)}@media(prefers-reduced-motion:reduce){.gbt-autocomplete__panel{animation:none}}\n"]
15173
15191
  }]
15174
15192
  }],
15175
15193
  propDecorators: {
@@ -15598,7 +15616,7 @@ var Slider = class Slider {
15598
15616
  }],
15599
15617
  ngImport: i0,
15600
15618
  template: "<div class=\"gbt-slider\">\n <div class=\"gbt-slider__header\">\n <label [for]=\"id()\">{{ label() }}</label>\n @if (showValue()) {\n <span class=\"gbt-slider__value\">{{ formatValue()(value()) }}</span>\n }\n </div>\n <input\n type=\"range\"\n [id]=\"id()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [step]=\"step()\"\n [value]=\"value()\"\n [disabled]=\"isDisabled()\"\n [style.--gbt-slider-fill.%]=\"fillPercent()\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"errorMessage() ? id() + '-error' : null\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n />\n @if (errorMessage()) {\n <p [id]=\"id() + '-error'\" class=\"gbt-slider__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
15601
- styles: [".gbt-slider{display:flex;flex-direction:column;gap:.375rem}.gbt-slider label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-slider__header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.gbt-slider__value{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.gbt-slider__error{margin:0;font-size:.75rem;color:var(--color-error-text)}input[type=range]{--gbt-slider-fill: 0;box-sizing:border-box;width:100%;height:20px;padding:0;background:transparent;appearance:none;cursor:pointer}input[type=range]:disabled{cursor:not-allowed;opacity:.5}input[type=range]:focus-visible{outline:none}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(to right,var(--primary) 0%,var(--primary) var(--gbt-slider-fill),var(--border-color) var(--gbt-slider-fill),var(--border-color) 100%)}input[type=range]::-webkit-slider-thumb{box-sizing:border-box;width:18px;height:18px;margin-top:-7px;background:var(--bg-principal);border:2px solid var(--primary);border-radius:50%;appearance:none;cursor:pointer}input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--primary);outline-offset:2px}input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--border-color)}input[type=range]::-moz-range-progress{height:4px;border-radius:999px;background:var(--primary)}input[type=range]::-moz-range-thumb{box-sizing:border-box;width:18px;height:18px;background:var(--bg-principal);border:2px solid var(--primary);border-radius:50%;cursor:pointer}input[type=range]:focus-visible::-moz-range-thumb{outline:2px solid var(--primary);outline-offset:2px}\n"],
15619
+ styles: [".gbt-slider{display:flex;flex-direction:column;gap:.375rem}.gbt-slider label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-slider__header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.gbt-slider__value{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.gbt-slider__error{margin:0;font-size:.75rem;color:var(--color-error-text)}input[type=range]{--gbt-slider-fill: 0;box-sizing:border-box;width:100%;height:20px;padding:0;background:transparent;appearance:none;cursor:pointer}input[type=range]:disabled{cursor:not-allowed;opacity:.5}input[type=range]:focus-visible{outline:none}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(to right,var(--primary) 0%,var(--primary) var(--gbt-slider-fill),var(--border-color) var(--gbt-slider-fill),var(--border-color) 100%)}input[type=range]::-webkit-slider-thumb{box-sizing:border-box;width:18px;height:18px;margin-top:-7px;background:var(--bg-principal);border:2px solid var(--primary);border-radius:50%;appearance:none;cursor:pointer}input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--border-color)}input[type=range]::-moz-range-progress{height:4px;border-radius:999px;background:var(--primary)}input[type=range]::-moz-range-thumb{box-sizing:border-box;width:18px;height:18px;background:var(--bg-principal);border:2px solid var(--primary);border-radius:50%;cursor:pointer}input[type=range]:focus-visible::-moz-range-thumb{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}\n"],
15602
15620
  changeDetection: i0.ChangeDetectionStrategy.OnPush
15603
15621
  });
15604
15622
  };
@@ -15620,7 +15638,7 @@ i0.ɵɵngDeclareClassMetadata({
15620
15638
  multi: true
15621
15639
  }],
15622
15640
  template: "<div class=\"gbt-slider\">\n <div class=\"gbt-slider__header\">\n <label [for]=\"id()\">{{ label() }}</label>\n @if (showValue()) {\n <span class=\"gbt-slider__value\">{{ formatValue()(value()) }}</span>\n }\n </div>\n <input\n type=\"range\"\n [id]=\"id()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [step]=\"step()\"\n [value]=\"value()\"\n [disabled]=\"isDisabled()\"\n [style.--gbt-slider-fill.%]=\"fillPercent()\"\n [attr.aria-invalid]=\"errorMessage() ? true : null\"\n [attr.aria-describedby]=\"errorMessage() ? id() + '-error' : null\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n />\n @if (errorMessage()) {\n <p [id]=\"id() + '-error'\" class=\"gbt-slider__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
15623
- styles: [".gbt-slider{display:flex;flex-direction:column;gap:.375rem}.gbt-slider label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-slider__header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.gbt-slider__value{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.gbt-slider__error{margin:0;font-size:.75rem;color:var(--color-error-text)}input[type=range]{--gbt-slider-fill: 0;box-sizing:border-box;width:100%;height:20px;padding:0;background:transparent;appearance:none;cursor:pointer}input[type=range]:disabled{cursor:not-allowed;opacity:.5}input[type=range]:focus-visible{outline:none}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(to right,var(--primary) 0%,var(--primary) var(--gbt-slider-fill),var(--border-color) var(--gbt-slider-fill),var(--border-color) 100%)}input[type=range]::-webkit-slider-thumb{box-sizing:border-box;width:18px;height:18px;margin-top:-7px;background:var(--bg-principal);border:2px solid var(--primary);border-radius:50%;appearance:none;cursor:pointer}input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--primary);outline-offset:2px}input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--border-color)}input[type=range]::-moz-range-progress{height:4px;border-radius:999px;background:var(--primary)}input[type=range]::-moz-range-thumb{box-sizing:border-box;width:18px;height:18px;background:var(--bg-principal);border:2px solid var(--primary);border-radius:50%;cursor:pointer}input[type=range]:focus-visible::-moz-range-thumb{outline:2px solid var(--primary);outline-offset:2px}\n"]
15641
+ styles: [".gbt-slider{display:flex;flex-direction:column;gap:.375rem}.gbt-slider label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-slider__header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.gbt-slider__value{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.gbt-slider__error{margin:0;font-size:.75rem;color:var(--color-error-text)}input[type=range]{--gbt-slider-fill: 0;box-sizing:border-box;width:100%;height:20px;padding:0;background:transparent;appearance:none;cursor:pointer}input[type=range]:disabled{cursor:not-allowed;opacity:.5}input[type=range]:focus-visible{outline:none}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(to right,var(--primary) 0%,var(--primary) var(--gbt-slider-fill),var(--border-color) var(--gbt-slider-fill),var(--border-color) 100%)}input[type=range]::-webkit-slider-thumb{box-sizing:border-box;width:18px;height:18px;margin-top:-7px;background:var(--bg-principal);border:2px solid var(--primary);border-radius:50%;appearance:none;cursor:pointer}input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--border-color)}input[type=range]::-moz-range-progress{height:4px;border-radius:999px;background:var(--primary)}input[type=range]::-moz-range-thumb{box-sizing:border-box;width:18px;height:18px;background:var(--bg-principal);border:2px solid var(--primary);border-radius:50%;cursor:pointer}input[type=range]:focus-visible::-moz-range-thumb{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}\n"]
15624
15642
  }]
15625
15643
  }],
15626
15644
  propDecorators: {
@@ -15802,7 +15820,7 @@ var Stepper = class Stepper {
15802
15820
  },
15803
15821
  ngImport: i0,
15804
15822
  template: "<ng-template #content let-index=\"index\" let-step=\"step\">\n <span class=\"gbt-stepper__indicator\">\n @switch (statusOf(index)) {\n @case ('completed') {\n <gbt-icon name=\"check\" aria-hidden=\"true\" />\n }\n @case ('error') {\n <gbt-icon name=\"alert-triangle\" aria-hidden=\"true\" />\n }\n @default {\n {{ index + 1 }}\n }\n }\n </span>\n <span class=\"gbt-stepper__label\">\n {{ step.label }}\n @if (statusOf(index) === 'completed') {\n <span class=\"sr-only\"> — {{ completedLabel() }}</span>\n } @else if (statusOf(index) === 'error') {\n <span class=\"sr-only\"> — {{ errorLabel() }}</span>\n }\n @if (isSelected(index)) {\n <span class=\"sr-only\"> — {{ selectedLabel() }}</span>\n }\n </span>\n</ng-template>\n\n<ol class=\"gbt-stepper\" [attr.data-orientation]=\"orientation()\">\n @for (step of steps(); track $index) {\n <li\n class=\"gbt-stepper__step\"\n [attr.data-status]=\"statusOf($index)\"\n [attr.data-selected]=\"isSelected($index) ? '' : null\"\n [attr.aria-current]=\"statusOf($index) === 'current' ? 'step' : null\"\n >\n @if (interactive()) {\n <button type=\"button\" class=\"gbt-stepper__button\" (click)=\"select($index)\">\n <ng-container *ngTemplateOutlet=\"content; context: { index: $index, step: step }\" />\n </button>\n } @else {\n <ng-container *ngTemplateOutlet=\"content; context: { index: $index, step: step }\" />\n }\n </li>\n }\n</ol>\n",
15805
- styles: [".gbt-stepper{display:flex;margin:0;padding:0;list-style:none}.gbt-stepper[data-orientation=horizontal]{flex-direction:row}.gbt-stepper[data-orientation=vertical]{flex-direction:column;gap:.5rem}.gbt-stepper__step{position:relative;display:flex;flex:1;align-items:center;gap:.5rem}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__step{flex-direction:column}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__step:not(:first-child):before{content:\"\";position:absolute;top:15px;right:calc(50% + 16px);left:calc(-50% + 16px);height:2px;background:var(--border-color)}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__step[data-status=completed]:not(:first-child):before{background:var(--primary)}.gbt-stepper[data-orientation=vertical] .gbt-stepper__step{flex:none;flex-direction:row}.gbt-stepper[data-orientation=vertical] .gbt-stepper__step:not(:last-child):before{content:\"\";position:absolute;top:32px;bottom:-8px;left:15px;width:2px;background:var(--border-color)}.gbt-stepper[data-orientation=vertical] .gbt-stepper__step[data-status=completed]:not(:last-child):before{background:var(--primary)}.gbt-stepper__indicator{position:relative;z-index:1;box-sizing:border-box;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-principal);border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);font-size:13px;font-weight:600}.gbt-stepper__step[data-status=current] .gbt-stepper__indicator{border-color:var(--primary);color:var(--primary)}.gbt-stepper__step[data-status=completed] .gbt-stepper__indicator{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.gbt-stepper__step[data-status=error] .gbt-stepper__indicator{border-color:var(--color-error-text);color:var(--color-error-text)}.gbt-stepper__label{font-size:13px;font-weight:600;color:var(--text-secondary);text-align:center}.gbt-stepper[data-orientation=vertical] .gbt-stepper__label{text-align:left}.gbt-stepper__step[data-status=current] .gbt-stepper__label{color:var(--text-primary)}.gbt-stepper__step[data-status=error] .gbt-stepper__label{color:var(--color-error-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-stepper__button{display:flex;align-items:center;gap:.5rem;padding:0;background:none;border:0;border-radius:4px;font:inherit;color:inherit;cursor:pointer}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__button{flex-direction:column}.gbt-stepper[data-orientation=vertical] .gbt-stepper__button{flex-direction:row}.gbt-stepper__button:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.gbt-stepper__step[data-selected] .gbt-stepper__indicator{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 30%,transparent)}.gbt-stepper__step[data-selected] .gbt-stepper__label{text-decoration:underline;text-underline-offset:4px}\n"],
15823
+ styles: [".gbt-stepper{display:flex;margin:0;padding:0;list-style:none}.gbt-stepper[data-orientation=horizontal]{flex-direction:row}.gbt-stepper[data-orientation=vertical]{flex-direction:column;gap:.5rem}.gbt-stepper__step{position:relative;display:flex;flex:1;align-items:center;gap:.5rem}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__step{flex-direction:column}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__step:not(:first-child):before{content:\"\";position:absolute;top:15px;right:calc(50% + 16px);left:calc(-50% + 16px);height:2px;background:var(--border-color)}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__step[data-status=completed]:not(:first-child):before{background:var(--primary)}.gbt-stepper[data-orientation=vertical] .gbt-stepper__step{flex:none;flex-direction:row}.gbt-stepper[data-orientation=vertical] .gbt-stepper__step:not(:last-child):before{content:\"\";position:absolute;top:32px;bottom:-8px;left:15px;width:2px;background:var(--border-color)}.gbt-stepper[data-orientation=vertical] .gbt-stepper__step[data-status=completed]:not(:last-child):before{background:var(--primary)}.gbt-stepper__indicator{position:relative;z-index:1;box-sizing:border-box;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-principal);border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);font-size:13px;font-weight:600}.gbt-stepper__step[data-status=current] .gbt-stepper__indicator{border-color:var(--primary);color:var(--primary)}.gbt-stepper__step[data-status=completed] .gbt-stepper__indicator{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.gbt-stepper__step[data-status=error] .gbt-stepper__indicator{border-color:var(--color-error-text);color:var(--color-error-text)}.gbt-stepper__label{font-size:13px;font-weight:600;color:var(--text-secondary);text-align:center}.gbt-stepper[data-orientation=vertical] .gbt-stepper__label{text-align:left}.gbt-stepper__step[data-status=current] .gbt-stepper__label{color:var(--text-primary)}.gbt-stepper__step[data-status=error] .gbt-stepper__label{color:var(--color-error-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-stepper__button{display:flex;align-items:center;gap:.5rem;padding:0;background:none;border:0;border-radius:4px;font:inherit;color:inherit;cursor:pointer}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__button{flex-direction:column}.gbt-stepper[data-orientation=vertical] .gbt-stepper__button{flex-direction:row}.gbt-stepper__button:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:4px}.gbt-stepper__step[data-selected] .gbt-stepper__indicator{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 30%,transparent)}.gbt-stepper__step[data-selected] .gbt-stepper__label{text-decoration:underline;text-underline-offset:4px}\n"],
15806
15824
  dependencies: [{
15807
15825
  kind: "component",
15808
15826
  type: Icon,
@@ -15834,7 +15852,7 @@ i0.ɵɵngDeclareClassMetadata({
15834
15852
  imports: [Icon, NgTemplateOutlet],
15835
15853
  changeDetection: ChangeDetectionStrategy.OnPush,
15836
15854
  template: "<ng-template #content let-index=\"index\" let-step=\"step\">\n <span class=\"gbt-stepper__indicator\">\n @switch (statusOf(index)) {\n @case ('completed') {\n <gbt-icon name=\"check\" aria-hidden=\"true\" />\n }\n @case ('error') {\n <gbt-icon name=\"alert-triangle\" aria-hidden=\"true\" />\n }\n @default {\n {{ index + 1 }}\n }\n }\n </span>\n <span class=\"gbt-stepper__label\">\n {{ step.label }}\n @if (statusOf(index) === 'completed') {\n <span class=\"sr-only\"> — {{ completedLabel() }}</span>\n } @else if (statusOf(index) === 'error') {\n <span class=\"sr-only\"> — {{ errorLabel() }}</span>\n }\n @if (isSelected(index)) {\n <span class=\"sr-only\"> — {{ selectedLabel() }}</span>\n }\n </span>\n</ng-template>\n\n<ol class=\"gbt-stepper\" [attr.data-orientation]=\"orientation()\">\n @for (step of steps(); track $index) {\n <li\n class=\"gbt-stepper__step\"\n [attr.data-status]=\"statusOf($index)\"\n [attr.data-selected]=\"isSelected($index) ? '' : null\"\n [attr.aria-current]=\"statusOf($index) === 'current' ? 'step' : null\"\n >\n @if (interactive()) {\n <button type=\"button\" class=\"gbt-stepper__button\" (click)=\"select($index)\">\n <ng-container *ngTemplateOutlet=\"content; context: { index: $index, step: step }\" />\n </button>\n } @else {\n <ng-container *ngTemplateOutlet=\"content; context: { index: $index, step: step }\" />\n }\n </li>\n }\n</ol>\n",
15837
- styles: [".gbt-stepper{display:flex;margin:0;padding:0;list-style:none}.gbt-stepper[data-orientation=horizontal]{flex-direction:row}.gbt-stepper[data-orientation=vertical]{flex-direction:column;gap:.5rem}.gbt-stepper__step{position:relative;display:flex;flex:1;align-items:center;gap:.5rem}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__step{flex-direction:column}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__step:not(:first-child):before{content:\"\";position:absolute;top:15px;right:calc(50% + 16px);left:calc(-50% + 16px);height:2px;background:var(--border-color)}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__step[data-status=completed]:not(:first-child):before{background:var(--primary)}.gbt-stepper[data-orientation=vertical] .gbt-stepper__step{flex:none;flex-direction:row}.gbt-stepper[data-orientation=vertical] .gbt-stepper__step:not(:last-child):before{content:\"\";position:absolute;top:32px;bottom:-8px;left:15px;width:2px;background:var(--border-color)}.gbt-stepper[data-orientation=vertical] .gbt-stepper__step[data-status=completed]:not(:last-child):before{background:var(--primary)}.gbt-stepper__indicator{position:relative;z-index:1;box-sizing:border-box;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-principal);border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);font-size:13px;font-weight:600}.gbt-stepper__step[data-status=current] .gbt-stepper__indicator{border-color:var(--primary);color:var(--primary)}.gbt-stepper__step[data-status=completed] .gbt-stepper__indicator{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.gbt-stepper__step[data-status=error] .gbt-stepper__indicator{border-color:var(--color-error-text);color:var(--color-error-text)}.gbt-stepper__label{font-size:13px;font-weight:600;color:var(--text-secondary);text-align:center}.gbt-stepper[data-orientation=vertical] .gbt-stepper__label{text-align:left}.gbt-stepper__step[data-status=current] .gbt-stepper__label{color:var(--text-primary)}.gbt-stepper__step[data-status=error] .gbt-stepper__label{color:var(--color-error-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-stepper__button{display:flex;align-items:center;gap:.5rem;padding:0;background:none;border:0;border-radius:4px;font:inherit;color:inherit;cursor:pointer}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__button{flex-direction:column}.gbt-stepper[data-orientation=vertical] .gbt-stepper__button{flex-direction:row}.gbt-stepper__button:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.gbt-stepper__step[data-selected] .gbt-stepper__indicator{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 30%,transparent)}.gbt-stepper__step[data-selected] .gbt-stepper__label{text-decoration:underline;text-underline-offset:4px}\n"]
15855
+ styles: [".gbt-stepper{display:flex;margin:0;padding:0;list-style:none}.gbt-stepper[data-orientation=horizontal]{flex-direction:row}.gbt-stepper[data-orientation=vertical]{flex-direction:column;gap:.5rem}.gbt-stepper__step{position:relative;display:flex;flex:1;align-items:center;gap:.5rem}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__step{flex-direction:column}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__step:not(:first-child):before{content:\"\";position:absolute;top:15px;right:calc(50% + 16px);left:calc(-50% + 16px);height:2px;background:var(--border-color)}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__step[data-status=completed]:not(:first-child):before{background:var(--primary)}.gbt-stepper[data-orientation=vertical] .gbt-stepper__step{flex:none;flex-direction:row}.gbt-stepper[data-orientation=vertical] .gbt-stepper__step:not(:last-child):before{content:\"\";position:absolute;top:32px;bottom:-8px;left:15px;width:2px;background:var(--border-color)}.gbt-stepper[data-orientation=vertical] .gbt-stepper__step[data-status=completed]:not(:last-child):before{background:var(--primary)}.gbt-stepper__indicator{position:relative;z-index:1;box-sizing:border-box;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-principal);border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);font-size:13px;font-weight:600}.gbt-stepper__step[data-status=current] .gbt-stepper__indicator{border-color:var(--primary);color:var(--primary)}.gbt-stepper__step[data-status=completed] .gbt-stepper__indicator{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.gbt-stepper__step[data-status=error] .gbt-stepper__indicator{border-color:var(--color-error-text);color:var(--color-error-text)}.gbt-stepper__label{font-size:13px;font-weight:600;color:var(--text-secondary);text-align:center}.gbt-stepper[data-orientation=vertical] .gbt-stepper__label{text-align:left}.gbt-stepper__step[data-status=current] .gbt-stepper__label{color:var(--text-primary)}.gbt-stepper__step[data-status=error] .gbt-stepper__label{color:var(--color-error-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gbt-stepper__button{display:flex;align-items:center;gap:.5rem;padding:0;background:none;border:0;border-radius:4px;font:inherit;color:inherit;cursor:pointer}.gbt-stepper[data-orientation=horizontal] .gbt-stepper__button{flex-direction:column}.gbt-stepper[data-orientation=vertical] .gbt-stepper__button{flex-direction:row}.gbt-stepper__button:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:4px}.gbt-stepper__step[data-selected] .gbt-stepper__indicator{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 30%,transparent)}.gbt-stepper__step[data-selected] .gbt-stepper__label{text-decoration:underline;text-underline-offset:4px}\n"]
15838
15856
  }]
15839
15857
  }],
15840
15858
  propDecorators: {
@@ -16139,7 +16157,7 @@ var JobGraph = class JobGraph {
16139
16157
  }],
16140
16158
  ngImport: i0,
16141
16159
  template: "<div class=\"gbt-job-graph\" #graph>\n <ol class=\"gbt-job-graph__stages\" [attr.aria-label]=\"ariaLabel()\">\n @for (stage of stages(); track stage.name) {\n <li class=\"gbt-job-graph__stage\">\n <h3 class=\"gbt-job-graph__stage-name\">{{ stage.name }}</h3>\n <ul class=\"gbt-job-graph__jobs\">\n @for (job of stage.jobs; track job.id) {\n <li>\n <button\n type=\"button\"\n class=\"gbt-job-graph__node\"\n [attr.data-job-name]=\"job.name\"\n [attr.data-status]=\"job.status\"\n [attr.aria-current]=\"job.id === selectedJobId() ? 'true' : null\"\n (click)=\"jobSelected.emit(job.id)\"\n >\n <gbt-job-status class=\"gbt-job-graph__glyph\" data-glyph [status]=\"job.status\" />\n <span class=\"gbt-job-graph__name\">{{ job.name }}</span>\n @if (job.durationLabel) {\n <span class=\"gbt-job-graph__duration\">{{ job.durationLabel }}</span>\n }\n <!-- prettier-ignore -->\n <span class=\"sr-only\">\n — {{ statusLabels()[job.status] }}@if (job.needs.length > 0) {. {{ needsLabel() }}: {{ job.needs.join(', ') }}}\n </span>\n </button>\n </li>\n }\n </ul>\n </li>\n }\n </ol>\n <svg class=\"gbt-job-graph__links\" aria-hidden=\"true\" focusable=\"false\">\n @for (link of links(); track link.key) {\n <path [attr.d]=\"link.d\" [attr.data-done]=\"link.done ? '' : null\" />\n }\n </svg>\n</div>\n",
16142
- styles: [".gbt-job-graph{position:relative;overflow-x:auto}.gbt-job-graph__stages{position:relative;z-index:1;display:flex;gap:4rem;margin:0;padding:.5rem;list-style:none}.gbt-job-graph__stage-name{margin:0 0 .75rem;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.gbt-job-graph__jobs{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none}.gbt-job-graph__node{display:flex;align-items:center;gap:.5rem;min-width:13rem;padding:.5rem .75rem;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.gbt-job-graph__node:hover{border-color:var(--primary)}.gbt-job-graph__node:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-job-graph__node[aria-current=true]{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent)}.gbt-job-graph__glyph{display:inline-flex;flex-shrink:0}.gbt-job-graph__name{flex:1;font-weight:600}.gbt-job-graph__duration{font-size:12px;color:var(--text-secondary)}.gbt-job-graph__links{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;overflow:visible}.gbt-job-graph__links path{fill:none;stroke:var(--border-color);stroke-width:2}.gbt-job-graph__links path[data-done]{stroke:var(--color-success-base)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}\n"],
16160
+ styles: [".gbt-job-graph{position:relative;overflow-x:auto}.gbt-job-graph__stages{position:relative;z-index:1;display:flex;gap:4rem;margin:0;padding:.5rem;list-style:none}.gbt-job-graph__stage-name{margin:0 0 .75rem;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.gbt-job-graph__jobs{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none}.gbt-job-graph__node{display:flex;align-items:center;gap:.5rem;min-width:13rem;padding:.5rem .75rem;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--gbt-radius-tile, 8px);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.gbt-job-graph__node:hover{border-color:var(--primary)}.gbt-job-graph__node:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-job-graph__node[aria-current=true]{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent)}.gbt-job-graph__glyph{display:inline-flex;flex-shrink:0}.gbt-job-graph__name{flex:1;font-weight:600}.gbt-job-graph__duration{font-size:12px;color:var(--text-secondary)}.gbt-job-graph__links{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;overflow:visible}.gbt-job-graph__links path{fill:none;stroke:var(--border-color);stroke-width:2}.gbt-job-graph__links path[data-done]{stroke:var(--color-success-base)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}\n"],
16143
16161
  dependencies: [{
16144
16162
  kind: "component",
16145
16163
  type: JobStatus,
@@ -16162,7 +16180,7 @@ i0.ɵɵngDeclareClassMetadata({
16162
16180
  imports: [JobStatus],
16163
16181
  changeDetection: ChangeDetectionStrategy.OnPush,
16164
16182
  template: "<div class=\"gbt-job-graph\" #graph>\n <ol class=\"gbt-job-graph__stages\" [attr.aria-label]=\"ariaLabel()\">\n @for (stage of stages(); track stage.name) {\n <li class=\"gbt-job-graph__stage\">\n <h3 class=\"gbt-job-graph__stage-name\">{{ stage.name }}</h3>\n <ul class=\"gbt-job-graph__jobs\">\n @for (job of stage.jobs; track job.id) {\n <li>\n <button\n type=\"button\"\n class=\"gbt-job-graph__node\"\n [attr.data-job-name]=\"job.name\"\n [attr.data-status]=\"job.status\"\n [attr.aria-current]=\"job.id === selectedJobId() ? 'true' : null\"\n (click)=\"jobSelected.emit(job.id)\"\n >\n <gbt-job-status class=\"gbt-job-graph__glyph\" data-glyph [status]=\"job.status\" />\n <span class=\"gbt-job-graph__name\">{{ job.name }}</span>\n @if (job.durationLabel) {\n <span class=\"gbt-job-graph__duration\">{{ job.durationLabel }}</span>\n }\n <!-- prettier-ignore -->\n <span class=\"sr-only\">\n — {{ statusLabels()[job.status] }}@if (job.needs.length > 0) {. {{ needsLabel() }}: {{ job.needs.join(', ') }}}\n </span>\n </button>\n </li>\n }\n </ul>\n </li>\n }\n </ol>\n <svg class=\"gbt-job-graph__links\" aria-hidden=\"true\" focusable=\"false\">\n @for (link of links(); track link.key) {\n <path [attr.d]=\"link.d\" [attr.data-done]=\"link.done ? '' : null\" />\n }\n </svg>\n</div>\n",
16165
- styles: [".gbt-job-graph{position:relative;overflow-x:auto}.gbt-job-graph__stages{position:relative;z-index:1;display:flex;gap:4rem;margin:0;padding:.5rem;list-style:none}.gbt-job-graph__stage-name{margin:0 0 .75rem;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.gbt-job-graph__jobs{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none}.gbt-job-graph__node{display:flex;align-items:center;gap:.5rem;min-width:13rem;padding:.5rem .75rem;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.gbt-job-graph__node:hover{border-color:var(--primary)}.gbt-job-graph__node:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-job-graph__node[aria-current=true]{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent)}.gbt-job-graph__glyph{display:inline-flex;flex-shrink:0}.gbt-job-graph__name{flex:1;font-weight:600}.gbt-job-graph__duration{font-size:12px;color:var(--text-secondary)}.gbt-job-graph__links{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;overflow:visible}.gbt-job-graph__links path{fill:none;stroke:var(--border-color);stroke-width:2}.gbt-job-graph__links path[data-done]{stroke:var(--color-success-base)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}\n"]
16183
+ styles: [".gbt-job-graph{position:relative;overflow-x:auto}.gbt-job-graph__stages{position:relative;z-index:1;display:flex;gap:4rem;margin:0;padding:.5rem;list-style:none}.gbt-job-graph__stage-name{margin:0 0 .75rem;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.gbt-job-graph__jobs{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none}.gbt-job-graph__node{display:flex;align-items:center;gap:.5rem;min-width:13rem;padding:.5rem .75rem;background:var(--bg-principal);border:1px solid var(--border-color);border-radius:var(--gbt-radius-tile, 8px);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.gbt-job-graph__node:hover{border-color:var(--primary)}.gbt-job-graph__node:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-job-graph__node[aria-current=true]{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent)}.gbt-job-graph__glyph{display:inline-flex;flex-shrink:0}.gbt-job-graph__name{flex:1;font-weight:600}.gbt-job-graph__duration{font-size:12px;color:var(--text-secondary)}.gbt-job-graph__links{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;overflow:visible}.gbt-job-graph__links path{fill:none;stroke:var(--border-color);stroke-width:2}.gbt-job-graph__links path[data-done]{stroke:var(--color-success-base)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}\n"]
16166
16184
  }]
16167
16185
  }],
16168
16186
  ctorParameters: () => [],
@@ -16419,7 +16437,7 @@ var FileUpload = class FileUpload {
16419
16437
  }],
16420
16438
  ngImport: i0,
16421
16439
  template: "<div class=\"gbt-file-upload\">\n @if (label()) {\n <span class=\"gbt-file-upload__label\" [id]=\"id() + '-label'\">{{ label() }}</span>\n }\n <button\n type=\"button\"\n class=\"gbt-file-upload__dropzone\"\n [class.gbt-file-upload__dropzone--drag-over]=\"dragOver()\"\n [disabled]=\"isDisabled()\"\n [attr.aria-labelledby]=\"label() ? id() + '-label' : null\"\n [attr.aria-describedby]=\"errorMessage() ? id() + '-error' : null\"\n (click)=\"openPicker()\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (dragover)=\"onDragOver($event)\"\n (drop)=\"onDrop($event)\"\n >\n <gbt-icon name=\"upload\" class=\"gbt-file-upload__icon\" aria-hidden=\"true\" />\n <span class=\"gbt-file-upload__hint\">{{ dropLabel() }}</span>\n </button>\n <input\n #fileInput\n type=\"file\"\n class=\"gbt-file-upload__input\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n [multiple]=\"multiple()\"\n [attr.accept]=\"accept() || null\"\n [disabled]=\"isDisabled()\"\n (change)=\"onFilesSelected($event)\"\n />\n @if (rejections().length > 0) {\n <div class=\"gbt-file-upload__rejections\" role=\"alert\">\n <ul>\n @for (message of rejections(); track message) {\n <li>{{ message }}</li>\n }\n </ul>\n </div>\n }\n @if (files().length > 0) {\n <ul class=\"gbt-file-upload__files\">\n @for (file of files(); track file) {\n <li class=\"gbt-file-upload__file\">\n <span class=\"gbt-file-upload__file-name\">{{ file.name }}</span>\n <span class=\"gbt-file-upload__file-size\">{{ formatFileSize(file.size) }}</span>\n <button\n type=\"button\"\n class=\"gbt-file-upload__file-remove\"\n [disabled]=\"isDisabled()\"\n [attr.aria-label]=\"removeLabel()(file.name)\"\n (click)=\"removeFile(file)\"\n >\n <gbt-icon name=\"x\" aria-hidden=\"true\" />\n </button>\n </li>\n }\n </ul>\n }\n @if (errorMessage()) {\n <p [id]=\"id() + '-error'\" class=\"gbt-file-upload__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
16422
- styles: [".gbt-file-upload{display:flex;flex-direction:column;gap:.5rem}.gbt-file-upload__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-file-upload__dropzone{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:1.5rem 1rem;background:var(--bg-panel);border:1px dashed var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-secondary);cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1),background .15s cubic-bezier(.4,0,.2,1)}.gbt-file-upload__dropzone:hover:not(:disabled){border-color:var(--primary)}.gbt-file-upload__dropzone:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-file-upload__dropzone--drag-over{background:color-mix(in srgb,var(--primary) 8%,var(--bg-panel));border-color:var(--primary)}.gbt-file-upload__dropzone:disabled{cursor:not-allowed;opacity:.5}.gbt-file-upload__icon{color:var(--text-discret)}.gbt-file-upload__hint{font-size:13px;text-align:center}.gbt-file-upload__input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.gbt-file-upload__rejections{font-size:.75rem;color:var(--color-error-text)}.gbt-file-upload__rejections ul{margin:0;padding:0;list-style:none}.gbt-file-upload__files{display:flex;flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none}.gbt-file-upload__file{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:var(--bg-panel);border-radius:var(--site-border-radius-sm)}.gbt-file-upload__file-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:var(--text-primary)}.gbt-file-upload__file-size{flex-shrink:0;font-size:12px;color:var(--text-secondary)}.gbt-file-upload__file-remove{position:relative;display:inline-flex;flex-shrink:0;background:none;border:none;color:var(--text-secondary);cursor:pointer}.gbt-file-upload__file-remove:hover:not(:disabled){color:var(--text-primary)}.gbt-file-upload__file-remove:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-file-upload__file-remove:disabled{cursor:not-allowed;opacity:.5}.gbt-file-upload__file-remove:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-file-upload__error{margin:0;font-size:.75rem;color:var(--color-error-text)}@media(prefers-reduced-motion:reduce){.gbt-file-upload__dropzone{transition:none}}\n"],
16440
+ styles: [".gbt-file-upload{display:flex;flex-direction:column;gap:.5rem}.gbt-file-upload__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-file-upload__dropzone{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:1.5rem 1rem;background:var(--bg-panel);border:1px dashed var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-secondary);cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1),background .15s cubic-bezier(.4,0,.2,1)}.gbt-file-upload__dropzone:hover:not(:disabled){border-color:var(--primary)}.gbt-file-upload__dropzone:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-file-upload__dropzone--drag-over{background:color-mix(in srgb,var(--primary) 8%,var(--bg-panel));border-color:var(--primary)}.gbt-file-upload__dropzone:disabled{cursor:not-allowed;opacity:.5}.gbt-file-upload__icon{color:var(--text-discret)}.gbt-file-upload__hint{font-size:13px;text-align:center}.gbt-file-upload__input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.gbt-file-upload__rejections{font-size:.75rem;color:var(--color-error-text)}.gbt-file-upload__rejections ul{margin:0;padding:0;list-style:none}.gbt-file-upload__files{display:flex;flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none}.gbt-file-upload__file{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:var(--bg-panel);border-radius:var(--site-border-radius-sm)}.gbt-file-upload__file-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:var(--text-primary)}.gbt-file-upload__file-size{flex-shrink:0;font-size:12px;color:var(--text-secondary)}.gbt-file-upload__file-remove{position:relative;display:inline-flex;flex-shrink:0;background:none;border:none;color:var(--text-secondary);cursor:pointer}.gbt-file-upload__file-remove:hover:not(:disabled){color:var(--text-primary)}.gbt-file-upload__file-remove:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-file-upload__file-remove:disabled{cursor:not-allowed;opacity:.5}.gbt-file-upload__file-remove:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-file-upload__error{margin:0;font-size:.75rem;color:var(--color-error-text)}@media(prefers-reduced-motion:reduce){.gbt-file-upload__dropzone{transition:none}}\n"],
16423
16441
  dependencies: [{
16424
16442
  kind: "component",
16425
16443
  type: Icon,
@@ -16447,7 +16465,7 @@ i0.ɵɵngDeclareClassMetadata({
16447
16465
  multi: true
16448
16466
  }],
16449
16467
  template: "<div class=\"gbt-file-upload\">\n @if (label()) {\n <span class=\"gbt-file-upload__label\" [id]=\"id() + '-label'\">{{ label() }}</span>\n }\n <button\n type=\"button\"\n class=\"gbt-file-upload__dropzone\"\n [class.gbt-file-upload__dropzone--drag-over]=\"dragOver()\"\n [disabled]=\"isDisabled()\"\n [attr.aria-labelledby]=\"label() ? id() + '-label' : null\"\n [attr.aria-describedby]=\"errorMessage() ? id() + '-error' : null\"\n (click)=\"openPicker()\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (dragover)=\"onDragOver($event)\"\n (drop)=\"onDrop($event)\"\n >\n <gbt-icon name=\"upload\" class=\"gbt-file-upload__icon\" aria-hidden=\"true\" />\n <span class=\"gbt-file-upload__hint\">{{ dropLabel() }}</span>\n </button>\n <input\n #fileInput\n type=\"file\"\n class=\"gbt-file-upload__input\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n [multiple]=\"multiple()\"\n [attr.accept]=\"accept() || null\"\n [disabled]=\"isDisabled()\"\n (change)=\"onFilesSelected($event)\"\n />\n @if (rejections().length > 0) {\n <div class=\"gbt-file-upload__rejections\" role=\"alert\">\n <ul>\n @for (message of rejections(); track message) {\n <li>{{ message }}</li>\n }\n </ul>\n </div>\n }\n @if (files().length > 0) {\n <ul class=\"gbt-file-upload__files\">\n @for (file of files(); track file) {\n <li class=\"gbt-file-upload__file\">\n <span class=\"gbt-file-upload__file-name\">{{ file.name }}</span>\n <span class=\"gbt-file-upload__file-size\">{{ formatFileSize(file.size) }}</span>\n <button\n type=\"button\"\n class=\"gbt-file-upload__file-remove\"\n [disabled]=\"isDisabled()\"\n [attr.aria-label]=\"removeLabel()(file.name)\"\n (click)=\"removeFile(file)\"\n >\n <gbt-icon name=\"x\" aria-hidden=\"true\" />\n </button>\n </li>\n }\n </ul>\n }\n @if (errorMessage()) {\n <p [id]=\"id() + '-error'\" class=\"gbt-file-upload__error\" role=\"alert\">{{ errorMessage() }}</p>\n }\n</div>\n",
16450
- styles: [".gbt-file-upload{display:flex;flex-direction:column;gap:.5rem}.gbt-file-upload__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-file-upload__dropzone{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:1.5rem 1rem;background:var(--bg-panel);border:1px dashed var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-secondary);cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1),background .15s cubic-bezier(.4,0,.2,1)}.gbt-file-upload__dropzone:hover:not(:disabled){border-color:var(--primary)}.gbt-file-upload__dropzone:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-file-upload__dropzone--drag-over{background:color-mix(in srgb,var(--primary) 8%,var(--bg-panel));border-color:var(--primary)}.gbt-file-upload__dropzone:disabled{cursor:not-allowed;opacity:.5}.gbt-file-upload__icon{color:var(--text-discret)}.gbt-file-upload__hint{font-size:13px;text-align:center}.gbt-file-upload__input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.gbt-file-upload__rejections{font-size:.75rem;color:var(--color-error-text)}.gbt-file-upload__rejections ul{margin:0;padding:0;list-style:none}.gbt-file-upload__files{display:flex;flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none}.gbt-file-upload__file{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:var(--bg-panel);border-radius:var(--site-border-radius-sm)}.gbt-file-upload__file-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:var(--text-primary)}.gbt-file-upload__file-size{flex-shrink:0;font-size:12px;color:var(--text-secondary)}.gbt-file-upload__file-remove{position:relative;display:inline-flex;flex-shrink:0;background:none;border:none;color:var(--text-secondary);cursor:pointer}.gbt-file-upload__file-remove:hover:not(:disabled){color:var(--text-primary)}.gbt-file-upload__file-remove:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.gbt-file-upload__file-remove:disabled{cursor:not-allowed;opacity:.5}.gbt-file-upload__file-remove:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-file-upload__error{margin:0;font-size:.75rem;color:var(--color-error-text)}@media(prefers-reduced-motion:reduce){.gbt-file-upload__dropzone{transition:none}}\n"]
16468
+ styles: [".gbt-file-upload{display:flex;flex-direction:column;gap:.5rem}.gbt-file-upload__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.gbt-file-upload__dropzone{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:1.5rem 1rem;background:var(--bg-panel);border:1px dashed var(--border-color);border-radius:var(--site-border-radius-sm);color:var(--text-secondary);cursor:pointer;transition:border-color .15s cubic-bezier(.4,0,.2,1),background .15s cubic-bezier(.4,0,.2,1)}.gbt-file-upload__dropzone:hover:not(:disabled){border-color:var(--primary)}.gbt-file-upload__dropzone:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-file-upload__dropzone--drag-over{background:color-mix(in srgb,var(--primary) 8%,var(--bg-panel));border-color:var(--primary)}.gbt-file-upload__dropzone:disabled{cursor:not-allowed;opacity:.5}.gbt-file-upload__icon{color:var(--text-discret)}.gbt-file-upload__hint{font-size:13px;text-align:center}.gbt-file-upload__input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.gbt-file-upload__rejections{font-size:.75rem;color:var(--color-error-text)}.gbt-file-upload__rejections ul{margin:0;padding:0;list-style:none}.gbt-file-upload__files{display:flex;flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none}.gbt-file-upload__file{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:var(--bg-panel);border-radius:var(--site-border-radius-sm)}.gbt-file-upload__file-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:var(--text-primary)}.gbt-file-upload__file-size{flex-shrink:0;font-size:12px;color:var(--text-secondary)}.gbt-file-upload__file-remove{position:relative;display:inline-flex;flex-shrink:0;background:none;border:none;color:var(--text-secondary);cursor:pointer}.gbt-file-upload__file-remove:hover:not(:disabled){color:var(--text-primary)}.gbt-file-upload__file-remove:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}.gbt-file-upload__file-remove:disabled{cursor:not-allowed;opacity:.5}.gbt-file-upload__file-remove:before{content:\"\";position:absolute;inset:50% auto auto 50%;width:max(100%,24px);height:max(100%,24px);transform:translate(-50%,-50%)}.gbt-file-upload__error{margin:0;font-size:.75rem;color:var(--color-error-text)}@media(prefers-reduced-motion:reduce){.gbt-file-upload__dropzone{transition:none}}\n"]
16451
16469
  }]
16452
16470
  }],
16453
16471
  propDecorators: {
@@ -17106,7 +17124,7 @@ var Tree = class Tree {
17106
17124
  },
17107
17125
  ngImport: i0,
17108
17126
  template: "<ul\n class=\"gbt-tree\"\n role=\"tree\"\n tabindex=\"-1\"\n [attr.aria-label]=\"ariaLabel() || null\"\n (keydown)=\"onKeydown($event)\"\n>\n @for (flat of flatNodes(); track flat.node.id) {\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events -->\n <li\n class=\"gbt-tree__item\"\n role=\"treeitem\"\n [attr.data-node-id]=\"flat.node.id\"\n [attr.aria-level]=\"flat.depth + 1\"\n [attr.aria-expanded]=\"flat.hasChildren ? isExpanded(flat.node.id) : null\"\n [attr.aria-selected]=\"selectedId() === flat.node.id\"\n [style.paddingLeft.px]=\"flat.depth * 20\"\n [attr.tabindex]=\"activeId() === flat.node.id ? 0 : -1\"\n (click)=\"onItemClick(flat)\"\n >\n @if (flat.hasChildren) {\n <button\n type=\"button\"\n class=\"gbt-tree__toggle\"\n tabindex=\"-1\"\n [attr.aria-label]=\"isExpanded(flat.node.id) ? collapseLabel() : expandLabel()\"\n (click)=\"toggle(flat.node.id); $event.stopPropagation()\"\n >\n <gbt-icon\n name=\"chevron-right\"\n class=\"gbt-tree__chevron\"\n [class.gbt-tree__chevron--expanded]=\"isExpanded(flat.node.id)\"\n aria-hidden=\"true\"\n />\n </button>\n } @else {\n <span class=\"gbt-tree__spacer\"></span>\n }\n @if (flat.node.icon) {\n <gbt-icon [name]=\"flat.node.icon\" class=\"gbt-tree__icon\" aria-hidden=\"true\" />\n }\n <span class=\"gbt-tree__label\">{{ flat.node.label }}</span>\n </li>\n }\n</ul>\n",
17109
- styles: [".gbt-tree{margin:0;padding:0;list-style:none}.gbt-tree__item{box-sizing:border-box;display:flex;align-items:center;gap:.375rem;height:32px;padding-right:.5rem;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:13px;cursor:pointer}.gbt-tree__item:hover{background:var(--bg-hover)}.gbt-tree__item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-tree__item[aria-selected=true]{background:var(--color-info-bg);color:var(--color-info-bg-text);font-weight:600}.gbt-tree__toggle{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;color:var(--text-secondary);cursor:pointer}.gbt-tree__spacer{flex-shrink:0;width:20px}.gbt-tree__chevron{transition:transform .15s cubic-bezier(.4,0,.2,1)}.gbt-tree__chevron--expanded{transform:rotate(90deg)}.gbt-tree__icon{flex-shrink:0;color:var(--text-secondary)}.gbt-tree__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media(prefers-reduced-motion:reduce){.gbt-tree__chevron{transition:none}}\n"],
17127
+ styles: [".gbt-tree{margin:0;padding:0;list-style:none}.gbt-tree__item{box-sizing:border-box;display:flex;align-items:center;gap:.375rem;height:32px;padding-right:.5rem;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:13px;cursor:pointer}.gbt-tree__item:hover{background:var(--bg-hover)}.gbt-tree__item:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-tree__item[aria-selected=true]{background:var(--color-info-bg);color:var(--color-info-bg-text);font-weight:600}.gbt-tree__toggle{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;color:var(--text-secondary);cursor:pointer}.gbt-tree__spacer{flex-shrink:0;width:20px}.gbt-tree__chevron{transition:transform .15s cubic-bezier(.4,0,.2,1)}.gbt-tree__chevron--expanded{transform:rotate(90deg)}.gbt-tree__icon{flex-shrink:0;color:var(--text-secondary)}.gbt-tree__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media(prefers-reduced-motion:reduce){.gbt-tree__chevron{transition:none}}\n"],
17110
17128
  dependencies: [{
17111
17129
  kind: "component",
17112
17130
  type: Icon,
@@ -17129,7 +17147,7 @@ i0.ɵɵngDeclareClassMetadata({
17129
17147
  imports: [Icon],
17130
17148
  changeDetection: ChangeDetectionStrategy.OnPush,
17131
17149
  template: "<ul\n class=\"gbt-tree\"\n role=\"tree\"\n tabindex=\"-1\"\n [attr.aria-label]=\"ariaLabel() || null\"\n (keydown)=\"onKeydown($event)\"\n>\n @for (flat of flatNodes(); track flat.node.id) {\n <!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events -->\n <li\n class=\"gbt-tree__item\"\n role=\"treeitem\"\n [attr.data-node-id]=\"flat.node.id\"\n [attr.aria-level]=\"flat.depth + 1\"\n [attr.aria-expanded]=\"flat.hasChildren ? isExpanded(flat.node.id) : null\"\n [attr.aria-selected]=\"selectedId() === flat.node.id\"\n [style.paddingLeft.px]=\"flat.depth * 20\"\n [attr.tabindex]=\"activeId() === flat.node.id ? 0 : -1\"\n (click)=\"onItemClick(flat)\"\n >\n @if (flat.hasChildren) {\n <button\n type=\"button\"\n class=\"gbt-tree__toggle\"\n tabindex=\"-1\"\n [attr.aria-label]=\"isExpanded(flat.node.id) ? collapseLabel() : expandLabel()\"\n (click)=\"toggle(flat.node.id); $event.stopPropagation()\"\n >\n <gbt-icon\n name=\"chevron-right\"\n class=\"gbt-tree__chevron\"\n [class.gbt-tree__chevron--expanded]=\"isExpanded(flat.node.id)\"\n aria-hidden=\"true\"\n />\n </button>\n } @else {\n <span class=\"gbt-tree__spacer\"></span>\n }\n @if (flat.node.icon) {\n <gbt-icon [name]=\"flat.node.icon\" class=\"gbt-tree__icon\" aria-hidden=\"true\" />\n }\n <span class=\"gbt-tree__label\">{{ flat.node.label }}</span>\n </li>\n }\n</ul>\n",
17132
- styles: [".gbt-tree{margin:0;padding:0;list-style:none}.gbt-tree__item{box-sizing:border-box;display:flex;align-items:center;gap:.375rem;height:32px;padding-right:.5rem;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:13px;cursor:pointer}.gbt-tree__item:hover{background:var(--bg-hover)}.gbt-tree__item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-tree__item[aria-selected=true]{background:var(--color-info-bg);color:var(--color-info-bg-text);font-weight:600}.gbt-tree__toggle{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;color:var(--text-secondary);cursor:pointer}.gbt-tree__spacer{flex-shrink:0;width:20px}.gbt-tree__chevron{transition:transform .15s cubic-bezier(.4,0,.2,1)}.gbt-tree__chevron--expanded{transform:rotate(90deg)}.gbt-tree__icon{flex-shrink:0;color:var(--text-secondary)}.gbt-tree__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media(prefers-reduced-motion:reduce){.gbt-tree__chevron{transition:none}}\n"]
17150
+ styles: [".gbt-tree{margin:0;padding:0;list-style:none}.gbt-tree__item{box-sizing:border-box;display:flex;align-items:center;gap:.375rem;height:32px;padding-right:.5rem;border-radius:var(--site-border-radius-sm);color:var(--text-primary);font-size:13px;cursor:pointer}.gbt-tree__item:hover{background:var(--bg-hover)}.gbt-tree__item:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-tree__item[aria-selected=true]{background:var(--color-info-bg);color:var(--color-info-bg-text);font-weight:600}.gbt-tree__toggle{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;color:var(--text-secondary);cursor:pointer}.gbt-tree__spacer{flex-shrink:0;width:20px}.gbt-tree__chevron{transition:transform .15s cubic-bezier(.4,0,.2,1)}.gbt-tree__chevron--expanded{transform:rotate(90deg)}.gbt-tree__icon{flex-shrink:0;color:var(--text-secondary)}.gbt-tree__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media(prefers-reduced-motion:reduce){.gbt-tree__chevron{transition:none}}\n"]
17133
17151
  }]
17134
17152
  }],
17135
17153
  propDecorators: {
@@ -17402,7 +17420,7 @@ var PageHeader = class PageHeader {
17402
17420
  },
17403
17421
  ngImport: i0,
17404
17422
  template: "<header class=\"gbt-page-header\">\n <div class=\"gbt-page-header__main\">\n <div class=\"gbt-page-header__title-row\">\n @switch (headingLevel()) {\n @case (2) {\n <h2 class=\"gbt-page-header__title\">{{ heading() }}</h2>\n }\n @case (3) {\n <h3 class=\"gbt-page-header__title\">{{ heading() }}</h3>\n }\n @default {\n <h1 class=\"gbt-page-header__title\">{{ heading() }}</h1>\n }\n }\n <ng-content select=\"[header-title]\" />\n <div class=\"gbt-page-header__badges\"><ng-content select=\"[header-badges]\" /></div>\n </div>\n <div class=\"gbt-page-header__meta\"><ng-content select=\"[header-meta]\" /></div>\n </div>\n <div class=\"gbt-page-header__actions\"><ng-content select=\"[header-actions]\" /></div>\n</header>\n",
17405
- styles: [":host{display:block;margin-bottom:1.5rem}.gbt-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gbt-hairline)}.gbt-page-header__main{flex:1 1 18rem;min-width:0}.gbt-page-header__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .625rem;min-height:var(--gbt-control-height-md)}.gbt-page-header__title{min-width:0;margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:600;line-height:1.3;letter-spacing:-.01em;overflow-wrap:anywhere}.gbt-page-header__badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.375rem}.gbt-page-header__meta{margin-top:.25rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}.gbt-page-header__actions{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:var(--gbt-control-height-md)}.gbt-page-header__badges:empty,.gbt-page-header__meta:empty,.gbt-page-header__actions:empty{display:none}\n"],
17423
+ styles: [":host{display:block;margin-bottom:1.5rem}.gbt-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gbt-hairline)}.gbt-page-header__main{flex:1 1 18rem;min-width:0}.gbt-page-header__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .625rem;min-height:var(--gbt-control-height-md)}.gbt-page-header__title{font-family:var(--gbt-font-display, inherit);min-width:0;margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:600;line-height:1.3;letter-spacing:-.01em;overflow-wrap:anywhere}.gbt-page-header__badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.375rem}.gbt-page-header__meta{margin-top:.25rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}.gbt-page-header__actions{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:var(--gbt-control-height-md)}.gbt-page-header__badges:empty,.gbt-page-header__meta:empty,.gbt-page-header__actions:empty{display:none}\n"],
17406
17424
  changeDetection: i0.ChangeDetectionStrategy.OnPush
17407
17425
  });
17408
17426
  };
@@ -17418,7 +17436,7 @@ i0.ɵɵngDeclareClassMetadata({
17418
17436
  standalone: true,
17419
17437
  changeDetection: ChangeDetectionStrategy.OnPush,
17420
17438
  template: "<header class=\"gbt-page-header\">\n <div class=\"gbt-page-header__main\">\n <div class=\"gbt-page-header__title-row\">\n @switch (headingLevel()) {\n @case (2) {\n <h2 class=\"gbt-page-header__title\">{{ heading() }}</h2>\n }\n @case (3) {\n <h3 class=\"gbt-page-header__title\">{{ heading() }}</h3>\n }\n @default {\n <h1 class=\"gbt-page-header__title\">{{ heading() }}</h1>\n }\n }\n <ng-content select=\"[header-title]\" />\n <div class=\"gbt-page-header__badges\"><ng-content select=\"[header-badges]\" /></div>\n </div>\n <div class=\"gbt-page-header__meta\"><ng-content select=\"[header-meta]\" /></div>\n </div>\n <div class=\"gbt-page-header__actions\"><ng-content select=\"[header-actions]\" /></div>\n</header>\n",
17421
- styles: [":host{display:block;margin-bottom:1.5rem}.gbt-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gbt-hairline)}.gbt-page-header__main{flex:1 1 18rem;min-width:0}.gbt-page-header__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .625rem;min-height:var(--gbt-control-height-md)}.gbt-page-header__title{min-width:0;margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:600;line-height:1.3;letter-spacing:-.01em;overflow-wrap:anywhere}.gbt-page-header__badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.375rem}.gbt-page-header__meta{margin-top:.25rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}.gbt-page-header__actions{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:var(--gbt-control-height-md)}.gbt-page-header__badges:empty,.gbt-page-header__meta:empty,.gbt-page-header__actions:empty{display:none}\n"]
17439
+ styles: [":host{display:block;margin-bottom:1.5rem}.gbt-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gbt-hairline)}.gbt-page-header__main{flex:1 1 18rem;min-width:0}.gbt-page-header__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .625rem;min-height:var(--gbt-control-height-md)}.gbt-page-header__title{font-family:var(--gbt-font-display, inherit);min-width:0;margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:600;line-height:1.3;letter-spacing:-.01em;overflow-wrap:anywhere}.gbt-page-header__badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.375rem}.gbt-page-header__meta{margin-top:.25rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}.gbt-page-header__actions{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:var(--gbt-control-height-md)}.gbt-page-header__badges:empty,.gbt-page-header__meta:empty,.gbt-page-header__actions:empty{display:none}\n"]
17422
17440
  }]
17423
17441
  }],
17424
17442
  propDecorators: {
@@ -17617,7 +17635,7 @@ var ListRow = class ListRow {
17617
17635
  } },
17618
17636
  ngImport: i0,
17619
17637
  template: "<div class=\"gbt-list-row\">\n <div class=\"gbt-list-row__leading\" [attr.data-tone]=\"tone()\">\n <ng-content select=\"[row-leading]\" />\n </div>\n <div class=\"gbt-list-row__main\">\n <div class=\"gbt-list-row__title\"><ng-content /></div>\n <div class=\"gbt-list-row__meta\"><ng-content select=\"[row-meta]\" /></div>\n </div>\n <div class=\"gbt-list-row__trailing\"><ng-content select=\"[row-trailing]\" /></div>\n</div>\n",
17620
- styles: [":host{display:block}::ng-deep li+li>gbt-list-row,::ng-deep gbt-list-row+gbt-list-row{border-top:1px solid var(--gbt-hairline)}.gbt-list-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.25rem .75rem;padding:.75rem 1rem;transition:background-color var(--site-transition-fast)}.gbt-list-row:hover,.gbt-list-row:focus-within{background:var(--bg-hover)}.gbt-list-row__leading{display:flex;flex:none;align-items:center;justify-content:center;width:1.25rem;height:1.5rem;color:var(--text-secondary);font-size:.8rem}.gbt-list-row__leading[data-tone=success]{color:var(--color-success-text)}.gbt-list-row__leading[data-tone=warning]{color:var(--color-warning-text)}.gbt-list-row__leading[data-tone=error]{color:var(--color-error-text)}.gbt-list-row__leading[data-tone=info]{color:var(--color-info-bg-text)}.gbt-list-row__main{display:flex;flex:1 1 10rem;flex-direction:column;gap:.125rem;min-width:0}.gbt-list-row__title{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;min-width:0;min-height:1.5rem;color:var(--text-primary);font-size:.9375rem;font-weight:600;line-height:1.5rem}.gbt-list-row__title ::ng-deep>*{flex:none}.gbt-list-row__title ::ng-deep>gbt-user-chip{flex:0 1 auto;min-width:0;max-width:100%}.gbt-list-row__title ::ng-deep>a{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;color:inherit;text-decoration:none;white-space:nowrap;text-overflow:ellipsis}.gbt-list-row__title ::ng-deep>a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.gbt-list-row__title ::ng-deep>a:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}.gbt-list-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.125rem .375rem;min-width:0;color:var(--text-secondary);font-size:.8125rem;line-height:1.25rem;overflow-wrap:anywhere}.gbt-list-row__meta ::ng-deep a{color:inherit;font-weight:500;text-decoration:none}.gbt-list-row__meta ::ng-deep a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.gbt-list-row__meta ::ng-deep a:focus-visible{outline:2px solid var(--primary);outline-offset:1px;border-radius:2px}.gbt-list-row__meta ::ng-deep code{padding:0 .375rem;border-radius:6px;background:var(--bg-hover);color:var(--text-primary);font-family:var(--gbt-font-mono);font-size:.75rem;line-height:1.125rem}.gbt-list-row__trailing{display:flex;flex:none;align-items:center;gap:.75rem;min-height:1.5rem;margin-left:auto;color:var(--text-secondary);font-size:.8125rem;line-height:1.25rem}.gbt-list-row__trailing ::ng-deep>*{flex:none}.gbt-list-row__leading:empty,.gbt-list-row__meta:empty,.gbt-list-row__trailing:empty{display:none}@media(prefers-reduced-motion:reduce){.gbt-list-row{transition:none}}\n"],
17638
+ styles: [":host{display:block}::ng-deep li+li>gbt-list-row,::ng-deep gbt-list-row+gbt-list-row{border-top:1px solid var(--gbt-hairline)}.gbt-list-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.25rem .75rem;padding:.75rem 1rem;transition:background-color var(--site-transition-fast)}.gbt-list-row:hover,.gbt-list-row:focus-within{background:var(--bg-hover)}.gbt-list-row__leading{display:flex;flex:none;align-items:center;justify-content:center;width:1.25rem;height:1.5rem;color:var(--text-secondary);font-size:.8rem}.gbt-list-row__leading[data-tone=success]{color:var(--color-success-text)}.gbt-list-row__leading[data-tone=warning]{color:var(--color-warning-text)}.gbt-list-row__leading[data-tone=error]{color:var(--color-error-text)}.gbt-list-row__leading[data-tone=info]{color:var(--color-info-bg-text)}.gbt-list-row__main{display:flex;flex:1 1 10rem;flex-direction:column;gap:.125rem;min-width:0}.gbt-list-row__title{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;min-width:0;min-height:1.5rem;color:var(--text-primary);font-size:.9375rem;font-weight:600;line-height:1.5rem}.gbt-list-row__title ::ng-deep>*{flex:none}.gbt-list-row__title ::ng-deep>gbt-user-chip{flex:0 1 auto;min-width:0;max-width:100%}.gbt-list-row__title ::ng-deep>a{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;color:inherit;text-decoration:none;white-space:nowrap;text-overflow:ellipsis}.gbt-list-row__title ::ng-deep>a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.gbt-list-row__title ::ng-deep>a:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px;border-radius:2px}.gbt-list-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.125rem .375rem;min-width:0;color:var(--text-secondary);font-size:.8125rem;line-height:1.25rem;overflow-wrap:anywhere}.gbt-list-row__meta ::ng-deep a{color:inherit;font-weight:500;text-decoration:none}.gbt-list-row__meta ::ng-deep a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.gbt-list-row__meta ::ng-deep a:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:1px;border-radius:2px}.gbt-list-row__meta ::ng-deep code{padding:0 .375rem;border-radius:var(--gbt-radius-chip, 6px);background:var(--bg-hover);color:var(--text-primary);font-family:var(--gbt-font-mono);font-size:.75rem;line-height:1.125rem}.gbt-list-row__trailing{display:flex;flex:none;align-items:center;gap:.75rem;min-height:1.5rem;margin-left:auto;color:var(--text-secondary);font-size:.8125rem;line-height:1.25rem}.gbt-list-row__trailing ::ng-deep>*{flex:none}.gbt-list-row__leading:empty,.gbt-list-row__meta:empty,.gbt-list-row__trailing:empty{display:none}@media(prefers-reduced-motion:reduce){.gbt-list-row{transition:none}}\n"],
17621
17639
  changeDetection: i0.ChangeDetectionStrategy.OnPush
17622
17640
  });
17623
17641
  };
@@ -17633,7 +17651,7 @@ i0.ɵɵngDeclareClassMetadata({
17633
17651
  standalone: true,
17634
17652
  changeDetection: ChangeDetectionStrategy.OnPush,
17635
17653
  template: "<div class=\"gbt-list-row\">\n <div class=\"gbt-list-row__leading\" [attr.data-tone]=\"tone()\">\n <ng-content select=\"[row-leading]\" />\n </div>\n <div class=\"gbt-list-row__main\">\n <div class=\"gbt-list-row__title\"><ng-content /></div>\n <div class=\"gbt-list-row__meta\"><ng-content select=\"[row-meta]\" /></div>\n </div>\n <div class=\"gbt-list-row__trailing\"><ng-content select=\"[row-trailing]\" /></div>\n</div>\n",
17636
- styles: [":host{display:block}::ng-deep li+li>gbt-list-row,::ng-deep gbt-list-row+gbt-list-row{border-top:1px solid var(--gbt-hairline)}.gbt-list-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.25rem .75rem;padding:.75rem 1rem;transition:background-color var(--site-transition-fast)}.gbt-list-row:hover,.gbt-list-row:focus-within{background:var(--bg-hover)}.gbt-list-row__leading{display:flex;flex:none;align-items:center;justify-content:center;width:1.25rem;height:1.5rem;color:var(--text-secondary);font-size:.8rem}.gbt-list-row__leading[data-tone=success]{color:var(--color-success-text)}.gbt-list-row__leading[data-tone=warning]{color:var(--color-warning-text)}.gbt-list-row__leading[data-tone=error]{color:var(--color-error-text)}.gbt-list-row__leading[data-tone=info]{color:var(--color-info-bg-text)}.gbt-list-row__main{display:flex;flex:1 1 10rem;flex-direction:column;gap:.125rem;min-width:0}.gbt-list-row__title{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;min-width:0;min-height:1.5rem;color:var(--text-primary);font-size:.9375rem;font-weight:600;line-height:1.5rem}.gbt-list-row__title ::ng-deep>*{flex:none}.gbt-list-row__title ::ng-deep>gbt-user-chip{flex:0 1 auto;min-width:0;max-width:100%}.gbt-list-row__title ::ng-deep>a{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;color:inherit;text-decoration:none;white-space:nowrap;text-overflow:ellipsis}.gbt-list-row__title ::ng-deep>a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.gbt-list-row__title ::ng-deep>a:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}.gbt-list-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.125rem .375rem;min-width:0;color:var(--text-secondary);font-size:.8125rem;line-height:1.25rem;overflow-wrap:anywhere}.gbt-list-row__meta ::ng-deep a{color:inherit;font-weight:500;text-decoration:none}.gbt-list-row__meta ::ng-deep a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.gbt-list-row__meta ::ng-deep a:focus-visible{outline:2px solid var(--primary);outline-offset:1px;border-radius:2px}.gbt-list-row__meta ::ng-deep code{padding:0 .375rem;border-radius:6px;background:var(--bg-hover);color:var(--text-primary);font-family:var(--gbt-font-mono);font-size:.75rem;line-height:1.125rem}.gbt-list-row__trailing{display:flex;flex:none;align-items:center;gap:.75rem;min-height:1.5rem;margin-left:auto;color:var(--text-secondary);font-size:.8125rem;line-height:1.25rem}.gbt-list-row__trailing ::ng-deep>*{flex:none}.gbt-list-row__leading:empty,.gbt-list-row__meta:empty,.gbt-list-row__trailing:empty{display:none}@media(prefers-reduced-motion:reduce){.gbt-list-row{transition:none}}\n"]
17654
+ styles: [":host{display:block}::ng-deep li+li>gbt-list-row,::ng-deep gbt-list-row+gbt-list-row{border-top:1px solid var(--gbt-hairline)}.gbt-list-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.25rem .75rem;padding:.75rem 1rem;transition:background-color var(--site-transition-fast)}.gbt-list-row:hover,.gbt-list-row:focus-within{background:var(--bg-hover)}.gbt-list-row__leading{display:flex;flex:none;align-items:center;justify-content:center;width:1.25rem;height:1.5rem;color:var(--text-secondary);font-size:.8rem}.gbt-list-row__leading[data-tone=success]{color:var(--color-success-text)}.gbt-list-row__leading[data-tone=warning]{color:var(--color-warning-text)}.gbt-list-row__leading[data-tone=error]{color:var(--color-error-text)}.gbt-list-row__leading[data-tone=info]{color:var(--color-info-bg-text)}.gbt-list-row__main{display:flex;flex:1 1 10rem;flex-direction:column;gap:.125rem;min-width:0}.gbt-list-row__title{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;min-width:0;min-height:1.5rem;color:var(--text-primary);font-size:.9375rem;font-weight:600;line-height:1.5rem}.gbt-list-row__title ::ng-deep>*{flex:none}.gbt-list-row__title ::ng-deep>gbt-user-chip{flex:0 1 auto;min-width:0;max-width:100%}.gbt-list-row__title ::ng-deep>a{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;color:inherit;text-decoration:none;white-space:nowrap;text-overflow:ellipsis}.gbt-list-row__title ::ng-deep>a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.gbt-list-row__title ::ng-deep>a:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px;border-radius:2px}.gbt-list-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.125rem .375rem;min-width:0;color:var(--text-secondary);font-size:.8125rem;line-height:1.25rem;overflow-wrap:anywhere}.gbt-list-row__meta ::ng-deep a{color:inherit;font-weight:500;text-decoration:none}.gbt-list-row__meta ::ng-deep a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.gbt-list-row__meta ::ng-deep a:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:1px;border-radius:2px}.gbt-list-row__meta ::ng-deep code{padding:0 .375rem;border-radius:var(--gbt-radius-chip, 6px);background:var(--bg-hover);color:var(--text-primary);font-family:var(--gbt-font-mono);font-size:.75rem;line-height:1.125rem}.gbt-list-row__trailing{display:flex;flex:none;align-items:center;gap:.75rem;min-height:1.5rem;margin-left:auto;color:var(--text-secondary);font-size:.8125rem;line-height:1.25rem}.gbt-list-row__trailing ::ng-deep>*{flex:none}.gbt-list-row__leading:empty,.gbt-list-row__meta:empty,.gbt-list-row__trailing:empty{display:none}@media(prefers-reduced-motion:reduce){.gbt-list-row{transition:none}}\n"]
17637
17655
  }]
17638
17656
  }],
17639
17657
  propDecorators: { tone: [{
@@ -19032,7 +19050,7 @@ var IconMarker = class IconMarker {
19032
19050
  },
19033
19051
  ngImport: i0,
19034
19052
  template: "<span\n class=\"gbt-icon-marker\"\n [attr.data-tone]=\"tone()\"\n [attr.data-size]=\"size()\"\n [attr.data-shape]=\"shape() === 'tile' ? 'tile' : null\"\n [attr.data-appearance]=\"appearance() === 'outline' ? 'outline' : null\"\n [attr.role]=\"label() ? 'img' : null\"\n [attr.aria-label]=\"label()\"\n [attr.aria-hidden]=\"label() ? null : 'true'\"\n>\n <gbt-icon [name]=\"icon()\" />\n</span>\n",
19035
- styles: [":host{display:inline-flex;flex:none}.gbt-icon-marker{--gbt-marker-size: 2rem;display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--gbt-marker-size);height:var(--gbt-marker-size);border-radius:50%;background:color-mix(in srgb,var(--border-color) 18%,transparent);color:var(--text-secondary);font-size:.9375rem}.gbt-icon-marker[data-size=sm]{--gbt-marker-size: 1.5rem;font-size:.75rem}.gbt-icon-marker[data-size=lg]{--gbt-marker-size: 2.5rem;font-size:1.125rem}.gbt-icon-marker[data-size=xl]{--gbt-marker-size: 3.25rem;font-size:1.375rem}.gbt-icon-marker[data-shape=tile]{border-radius:8px}.gbt-icon-marker[data-tone=primary]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.gbt-icon-marker[data-tone=success]{background:var(--color-success-bg);color:var(--color-success-bg-text)}.gbt-icon-marker[data-tone=warning]{background:var(--color-warning-bg);color:var(--color-warning-bg-text)}.gbt-icon-marker[data-tone=error]{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-icon-marker[data-tone=info]{background:var(--color-info-bg);color:var(--color-info-bg-text)}.gbt-icon-marker[data-appearance=outline]{border:1px solid var(--gbt-card-border);background:var(--bg-principal);color:var(--text-secondary)}.gbt-icon-marker[data-appearance=outline][data-tone=primary]{color:var(--primary)}.gbt-icon-marker[data-appearance=outline][data-tone=success]{color:var(--color-success-text)}.gbt-icon-marker[data-appearance=outline][data-tone=warning]{color:var(--color-warning-text)}.gbt-icon-marker[data-appearance=outline][data-tone=error]{color:var(--color-error-text)}.gbt-icon-marker[data-appearance=outline][data-tone=info]{color:var(--color-info-bg-text)}\n"],
19053
+ styles: [":host{display:inline-flex;flex:none}.gbt-icon-marker{--gbt-marker-size: 2rem;display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--gbt-marker-size);height:var(--gbt-marker-size);border-radius:50%;background:color-mix(in srgb,var(--border-color) 18%,transparent);color:var(--text-secondary);font-size:.9375rem}.gbt-icon-marker[data-size=sm]{--gbt-marker-size: 1.5rem;font-size:.75rem}.gbt-icon-marker[data-size=lg]{--gbt-marker-size: 2.5rem;font-size:1.125rem}.gbt-icon-marker[data-size=xl]{--gbt-marker-size: 3.25rem;font-size:1.375rem}.gbt-icon-marker[data-shape=tile]{border-radius:var(--gbt-radius-tile, 8px)}.gbt-icon-marker[data-tone=primary]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.gbt-icon-marker[data-tone=success]{background:var(--color-success-bg);color:var(--color-success-bg-text)}.gbt-icon-marker[data-tone=warning]{background:var(--color-warning-bg);color:var(--color-warning-bg-text)}.gbt-icon-marker[data-tone=error]{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-icon-marker[data-tone=info]{background:var(--color-info-bg);color:var(--color-info-bg-text)}.gbt-icon-marker[data-appearance=outline]{border:1px solid var(--gbt-card-border);background:var(--bg-principal);color:var(--text-secondary)}.gbt-icon-marker[data-appearance=outline][data-tone=primary]{color:var(--primary)}.gbt-icon-marker[data-appearance=outline][data-tone=success]{color:var(--color-success-text)}.gbt-icon-marker[data-appearance=outline][data-tone=warning]{color:var(--color-warning-text)}.gbt-icon-marker[data-appearance=outline][data-tone=error]{color:var(--color-error-text)}.gbt-icon-marker[data-appearance=outline][data-tone=info]{color:var(--color-info-bg-text)}\n"],
19036
19054
  dependencies: [{
19037
19055
  kind: "component",
19038
19056
  type: Icon,
@@ -19055,7 +19073,7 @@ i0.ɵɵngDeclareClassMetadata({
19055
19073
  imports: [Icon],
19056
19074
  changeDetection: ChangeDetectionStrategy.OnPush,
19057
19075
  template: "<span\n class=\"gbt-icon-marker\"\n [attr.data-tone]=\"tone()\"\n [attr.data-size]=\"size()\"\n [attr.data-shape]=\"shape() === 'tile' ? 'tile' : null\"\n [attr.data-appearance]=\"appearance() === 'outline' ? 'outline' : null\"\n [attr.role]=\"label() ? 'img' : null\"\n [attr.aria-label]=\"label()\"\n [attr.aria-hidden]=\"label() ? null : 'true'\"\n>\n <gbt-icon [name]=\"icon()\" />\n</span>\n",
19058
- styles: [":host{display:inline-flex;flex:none}.gbt-icon-marker{--gbt-marker-size: 2rem;display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--gbt-marker-size);height:var(--gbt-marker-size);border-radius:50%;background:color-mix(in srgb,var(--border-color) 18%,transparent);color:var(--text-secondary);font-size:.9375rem}.gbt-icon-marker[data-size=sm]{--gbt-marker-size: 1.5rem;font-size:.75rem}.gbt-icon-marker[data-size=lg]{--gbt-marker-size: 2.5rem;font-size:1.125rem}.gbt-icon-marker[data-size=xl]{--gbt-marker-size: 3.25rem;font-size:1.375rem}.gbt-icon-marker[data-shape=tile]{border-radius:8px}.gbt-icon-marker[data-tone=primary]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.gbt-icon-marker[data-tone=success]{background:var(--color-success-bg);color:var(--color-success-bg-text)}.gbt-icon-marker[data-tone=warning]{background:var(--color-warning-bg);color:var(--color-warning-bg-text)}.gbt-icon-marker[data-tone=error]{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-icon-marker[data-tone=info]{background:var(--color-info-bg);color:var(--color-info-bg-text)}.gbt-icon-marker[data-appearance=outline]{border:1px solid var(--gbt-card-border);background:var(--bg-principal);color:var(--text-secondary)}.gbt-icon-marker[data-appearance=outline][data-tone=primary]{color:var(--primary)}.gbt-icon-marker[data-appearance=outline][data-tone=success]{color:var(--color-success-text)}.gbt-icon-marker[data-appearance=outline][data-tone=warning]{color:var(--color-warning-text)}.gbt-icon-marker[data-appearance=outline][data-tone=error]{color:var(--color-error-text)}.gbt-icon-marker[data-appearance=outline][data-tone=info]{color:var(--color-info-bg-text)}\n"]
19076
+ styles: [":host{display:inline-flex;flex:none}.gbt-icon-marker{--gbt-marker-size: 2rem;display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--gbt-marker-size);height:var(--gbt-marker-size);border-radius:50%;background:color-mix(in srgb,var(--border-color) 18%,transparent);color:var(--text-secondary);font-size:.9375rem}.gbt-icon-marker[data-size=sm]{--gbt-marker-size: 1.5rem;font-size:.75rem}.gbt-icon-marker[data-size=lg]{--gbt-marker-size: 2.5rem;font-size:1.125rem}.gbt-icon-marker[data-size=xl]{--gbt-marker-size: 3.25rem;font-size:1.375rem}.gbt-icon-marker[data-shape=tile]{border-radius:var(--gbt-radius-tile, 8px)}.gbt-icon-marker[data-tone=primary]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.gbt-icon-marker[data-tone=success]{background:var(--color-success-bg);color:var(--color-success-bg-text)}.gbt-icon-marker[data-tone=warning]{background:var(--color-warning-bg);color:var(--color-warning-bg-text)}.gbt-icon-marker[data-tone=error]{background:var(--color-error-bg);color:var(--color-error-bg-text)}.gbt-icon-marker[data-tone=info]{background:var(--color-info-bg);color:var(--color-info-bg-text)}.gbt-icon-marker[data-appearance=outline]{border:1px solid var(--gbt-card-border);background:var(--bg-principal);color:var(--text-secondary)}.gbt-icon-marker[data-appearance=outline][data-tone=primary]{color:var(--primary)}.gbt-icon-marker[data-appearance=outline][data-tone=success]{color:var(--color-success-text)}.gbt-icon-marker[data-appearance=outline][data-tone=warning]{color:var(--color-warning-text)}.gbt-icon-marker[data-appearance=outline][data-tone=error]{color:var(--color-error-text)}.gbt-icon-marker[data-appearance=outline][data-tone=info]{color:var(--color-info-bg-text)}\n"]
19059
19077
  }]
19060
19078
  }],
19061
19079
  propDecorators: {
@@ -19261,7 +19279,7 @@ var StatTileLink = class StatTileLink {
19261
19279
  ngImport: i0,
19262
19280
  template: "<ng-content />",
19263
19281
  isInline: true,
19264
- styles: [":host{color:inherit;text-decoration:none}:host:hover{text-decoration:underline;text-underline-offset:.2em}:host:focus-visible{outline:none}:host:after{content:\"\";position:absolute;inset:0;border-radius:var(--site-border-radius)}:host:focus-visible:after{outline:2px solid var(--primary);outline-offset:2px}\n"],
19282
+ styles: [":host{color:inherit;text-decoration:none}:host:hover{text-decoration:underline;text-underline-offset:.2em}:host:focus-visible{outline:none}:host:after{content:\"\";position:absolute;inset:0;border-radius:var(--site-border-radius)}:host:focus-visible:after{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}\n"],
19265
19283
  changeDetection: i0.ChangeDetectionStrategy.OnPush
19266
19284
  });
19267
19285
  };
@@ -19278,7 +19296,7 @@ i0.ɵɵngDeclareClassMetadata({
19278
19296
  template: "<ng-content />",
19279
19297
  changeDetection: ChangeDetectionStrategy.OnPush,
19280
19298
  host: { class: "gbt-stat-tile__link" },
19281
- styles: [":host{color:inherit;text-decoration:none}:host:hover{text-decoration:underline;text-underline-offset:.2em}:host:focus-visible{outline:none}:host:after{content:\"\";position:absolute;inset:0;border-radius:var(--site-border-radius)}:host:focus-visible:after{outline:2px solid var(--primary);outline-offset:2px}\n"]
19299
+ styles: [":host{color:inherit;text-decoration:none}:host:hover{text-decoration:underline;text-underline-offset:.2em}:host:focus-visible{outline:none}:host:after{content:\"\";position:absolute;inset:0;border-radius:var(--site-border-radius)}:host:focus-visible:after{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:2px}\n"]
19282
19300
  }]
19283
19301
  }]
19284
19302
  });
@@ -19404,7 +19422,7 @@ var StatTile = class StatTile {
19404
19422
  }],
19405
19423
  ngImport: i0,
19406
19424
  template: "<div class=\"gbt-stat-tile\">\n <span class=\"gbt-stat-tile__label\">\n <ng-content select=\"a[gbtStatTileLink]\" />\n @if (!hasLink()) {\n @if (href(); as target) {\n <a gbtStatTileLink [attr.href]=\"target\">{{ label() }}</a>\n } @else {\n {{ label() }}\n }\n }\n </span>\n @if (icon(); as name) {\n <gbt-icon-marker\n class=\"gbt-stat-tile__icon\"\n [icon]=\"name\"\n [tone]=\"muted() ? 'neutral' : iconTone()\"\n shape=\"tile\"\n />\n }\n <span class=\"gbt-stat-tile__value\">{{ value() }}</span>\n @if (hint() || trendLabel()) {\n <span class=\"gbt-stat-tile__meta\">\n @if (trendLabel(); as text) {\n <span\n class=\"gbt-stat-tile__trend\"\n [attr.data-trend]=\"trend()\"\n [attr.data-tone]=\"trendTone()\"\n >\n @if (trend() === 'up') {\n <gbt-icon name=\"arrow-up\" />\n } @else if (trend() === 'down') {\n <gbt-icon name=\"arrow-down\" />\n }\n {{ text }}\n </span>\n }\n @if (hint(); as text) {\n <span class=\"gbt-stat-tile__hint\">{{ text }}</span>\n }\n </span>\n }\n</div>\n",
19407
- styles: [":host{display:block;min-width:0;container:gbt-stat-tile/inline-size}.gbt-stat-tile{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"value icon\" \"label label\" \"meta meta\";column-gap:.75rem;align-items:center;box-sizing:border-box;height:100%;min-width:0;padding:.875rem 1rem .9375rem;border:1px solid var(--gbt-card-border);border-radius:var(--site-border-radius);background:var(--bg-principal);transition:border-color var(--site-transition-fast),box-shadow var(--site-transition-fast)}:host([data-link]) .gbt-stat-tile:hover{border-color:var(--border-color);box-shadow:var(--site-shadow-sm)}.gbt-stat-tile__label{grid-area:label;align-self:start;min-width:0;margin-top:.125rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600;line-height:1.25rem;overflow-wrap:anywhere}.gbt-stat-tile__icon{grid-area:icon}.gbt-stat-tile__value{grid-area:value;min-width:0;overflow:hidden;color:var(--text-primary);font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:2.25rem;text-overflow:ellipsis;white-space:nowrap}:host([data-muted]) .gbt-stat-tile__value{color:var(--text-secondary)}.gbt-stat-tile__meta{display:flex;flex-wrap:wrap;grid-area:meta;align-items:center;gap:.125rem .5rem;min-width:0;color:var(--text-secondary);font-size:.75rem;line-height:1rem}.gbt-stat-tile__trend{display:inline-flex;align-items:center;gap:.125rem;font-weight:600}.gbt-stat-tile__trend gbt-icon{flex:none;font-size:.6875rem}.gbt-stat-tile__trend[data-tone=success]{color:var(--color-success-text)}.gbt-stat-tile__trend[data-tone=error]{color:var(--color-error-text)}@container gbt-stat-tile (max-width: 11rem){.gbt-stat-tile{column-gap:.5rem;padding:.75rem .75rem .8125rem}.gbt-stat-tile__value{font-size:1.375rem;line-height:2rem}}@media(prefers-reduced-motion:reduce){.gbt-stat-tile{transition:none}}\n"],
19425
+ styles: [":host{display:block;min-width:0;container:gbt-stat-tile/inline-size}.gbt-stat-tile{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"value icon\" \"label label\" \"meta meta\";column-gap:.75rem;align-items:center;box-sizing:border-box;height:100%;min-width:0;padding:.875rem 1rem .9375rem;border:1px solid var(--gbt-card-border);border-radius:var(--site-border-radius);background:var(--bg-principal);transition:border-color var(--site-transition-fast),box-shadow var(--site-transition-fast)}:host([data-link]) .gbt-stat-tile:hover{border-color:var(--border-color);box-shadow:var(--site-shadow-sm)}.gbt-stat-tile__label{grid-area:label;align-self:start;min-width:0;margin-top:.125rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600;line-height:1.25rem;overflow-wrap:anywhere}.gbt-stat-tile__icon{grid-area:icon}.gbt-stat-tile__value{font-family:var(--gbt-font-display, inherit);grid-area:value;min-width:0;overflow:hidden;color:var(--text-primary);font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:2.25rem;text-overflow:ellipsis;white-space:nowrap}:host([data-muted]) .gbt-stat-tile__value{color:var(--text-secondary)}.gbt-stat-tile__meta{display:flex;flex-wrap:wrap;grid-area:meta;align-items:center;gap:.125rem .5rem;min-width:0;color:var(--text-secondary);font-size:.75rem;line-height:1rem}.gbt-stat-tile__trend{display:inline-flex;align-items:center;gap:.125rem;font-weight:600}.gbt-stat-tile__trend gbt-icon{flex:none;font-size:.6875rem}.gbt-stat-tile__trend[data-tone=success]{color:var(--color-success-text)}.gbt-stat-tile__trend[data-tone=error]{color:var(--color-error-text)}@container gbt-stat-tile (max-width: 11rem){.gbt-stat-tile{column-gap:.5rem;padding:.75rem .75rem .8125rem}.gbt-stat-tile__value{font-size:1.375rem;line-height:2rem}}@media(prefers-reduced-motion:reduce){.gbt-stat-tile{transition:none}}\n"],
19408
19426
  dependencies: [
19409
19427
  {
19410
19428
  kind: "component",
@@ -19456,7 +19474,7 @@ i0.ɵɵngDeclareClassMetadata({
19456
19474
  "[attr.data-muted]": "muted() ? \"\" : null"
19457
19475
  },
19458
19476
  template: "<div class=\"gbt-stat-tile\">\n <span class=\"gbt-stat-tile__label\">\n <ng-content select=\"a[gbtStatTileLink]\" />\n @if (!hasLink()) {\n @if (href(); as target) {\n <a gbtStatTileLink [attr.href]=\"target\">{{ label() }}</a>\n } @else {\n {{ label() }}\n }\n }\n </span>\n @if (icon(); as name) {\n <gbt-icon-marker\n class=\"gbt-stat-tile__icon\"\n [icon]=\"name\"\n [tone]=\"muted() ? 'neutral' : iconTone()\"\n shape=\"tile\"\n />\n }\n <span class=\"gbt-stat-tile__value\">{{ value() }}</span>\n @if (hint() || trendLabel()) {\n <span class=\"gbt-stat-tile__meta\">\n @if (trendLabel(); as text) {\n <span\n class=\"gbt-stat-tile__trend\"\n [attr.data-trend]=\"trend()\"\n [attr.data-tone]=\"trendTone()\"\n >\n @if (trend() === 'up') {\n <gbt-icon name=\"arrow-up\" />\n } @else if (trend() === 'down') {\n <gbt-icon name=\"arrow-down\" />\n }\n {{ text }}\n </span>\n }\n @if (hint(); as text) {\n <span class=\"gbt-stat-tile__hint\">{{ text }}</span>\n }\n </span>\n }\n</div>\n",
19459
- styles: [":host{display:block;min-width:0;container:gbt-stat-tile/inline-size}.gbt-stat-tile{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"value icon\" \"label label\" \"meta meta\";column-gap:.75rem;align-items:center;box-sizing:border-box;height:100%;min-width:0;padding:.875rem 1rem .9375rem;border:1px solid var(--gbt-card-border);border-radius:var(--site-border-radius);background:var(--bg-principal);transition:border-color var(--site-transition-fast),box-shadow var(--site-transition-fast)}:host([data-link]) .gbt-stat-tile:hover{border-color:var(--border-color);box-shadow:var(--site-shadow-sm)}.gbt-stat-tile__label{grid-area:label;align-self:start;min-width:0;margin-top:.125rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600;line-height:1.25rem;overflow-wrap:anywhere}.gbt-stat-tile__icon{grid-area:icon}.gbt-stat-tile__value{grid-area:value;min-width:0;overflow:hidden;color:var(--text-primary);font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:2.25rem;text-overflow:ellipsis;white-space:nowrap}:host([data-muted]) .gbt-stat-tile__value{color:var(--text-secondary)}.gbt-stat-tile__meta{display:flex;flex-wrap:wrap;grid-area:meta;align-items:center;gap:.125rem .5rem;min-width:0;color:var(--text-secondary);font-size:.75rem;line-height:1rem}.gbt-stat-tile__trend{display:inline-flex;align-items:center;gap:.125rem;font-weight:600}.gbt-stat-tile__trend gbt-icon{flex:none;font-size:.6875rem}.gbt-stat-tile__trend[data-tone=success]{color:var(--color-success-text)}.gbt-stat-tile__trend[data-tone=error]{color:var(--color-error-text)}@container gbt-stat-tile (max-width: 11rem){.gbt-stat-tile{column-gap:.5rem;padding:.75rem .75rem .8125rem}.gbt-stat-tile__value{font-size:1.375rem;line-height:2rem}}@media(prefers-reduced-motion:reduce){.gbt-stat-tile{transition:none}}\n"]
19477
+ styles: [":host{display:block;min-width:0;container:gbt-stat-tile/inline-size}.gbt-stat-tile{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;grid-template-areas:\"value icon\" \"label label\" \"meta meta\";column-gap:.75rem;align-items:center;box-sizing:border-box;height:100%;min-width:0;padding:.875rem 1rem .9375rem;border:1px solid var(--gbt-card-border);border-radius:var(--site-border-radius);background:var(--bg-principal);transition:border-color var(--site-transition-fast),box-shadow var(--site-transition-fast)}:host([data-link]) .gbt-stat-tile:hover{border-color:var(--border-color);box-shadow:var(--site-shadow-sm)}.gbt-stat-tile__label{grid-area:label;align-self:start;min-width:0;margin-top:.125rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600;line-height:1.25rem;overflow-wrap:anywhere}.gbt-stat-tile__icon{grid-area:icon}.gbt-stat-tile__value{font-family:var(--gbt-font-display, inherit);grid-area:value;min-width:0;overflow:hidden;color:var(--text-primary);font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:2.25rem;text-overflow:ellipsis;white-space:nowrap}:host([data-muted]) .gbt-stat-tile__value{color:var(--text-secondary)}.gbt-stat-tile__meta{display:flex;flex-wrap:wrap;grid-area:meta;align-items:center;gap:.125rem .5rem;min-width:0;color:var(--text-secondary);font-size:.75rem;line-height:1rem}.gbt-stat-tile__trend{display:inline-flex;align-items:center;gap:.125rem;font-weight:600}.gbt-stat-tile__trend gbt-icon{flex:none;font-size:.6875rem}.gbt-stat-tile__trend[data-tone=success]{color:var(--color-success-text)}.gbt-stat-tile__trend[data-tone=error]{color:var(--color-error-text)}@container gbt-stat-tile (max-width: 11rem){.gbt-stat-tile{column-gap:.5rem;padding:.75rem .75rem .8125rem}.gbt-stat-tile__value{font-size:1.375rem;line-height:2rem}}@media(prefers-reduced-motion:reduce){.gbt-stat-tile{transition:none}}\n"]
19460
19478
  }]
19461
19479
  }],
19462
19480
  propDecorators: {
@@ -19795,7 +19813,7 @@ var Disclosure = class Disclosure {
19795
19813
  outputs: { open: "openChange" },
19796
19814
  ngImport: i0,
19797
19815
  template: "<div\n class=\"gbt-disclosure\"\n [attr.data-appearance]=\"appearance()\"\n [attr.data-open]=\"open() ? '' : null\"\n>\n @switch (headingLevel()) {\n @case (2) {\n <h2 class=\"gbt-disclosure__heading\"><ng-container *ngTemplateOutlet=\"toggleButton\" /></h2>\n }\n @case (3) {\n <h3 class=\"gbt-disclosure__heading\"><ng-container *ngTemplateOutlet=\"toggleButton\" /></h3>\n }\n @case (4) {\n <h4 class=\"gbt-disclosure__heading\"><ng-container *ngTemplateOutlet=\"toggleButton\" /></h4>\n }\n @case (5) {\n <h5 class=\"gbt-disclosure__heading\"><ng-container *ngTemplateOutlet=\"toggleButton\" /></h5>\n }\n @case (6) {\n <h6 class=\"gbt-disclosure__heading\"><ng-container *ngTemplateOutlet=\"toggleButton\" /></h6>\n }\n @default {\n <ng-container *ngTemplateOutlet=\"toggleButton\" />\n }\n }\n <div\n class=\"gbt-disclosure__panel\"\n [id]=\"panelId\"\n [attr.data-open]=\"open() ? '' : null\"\n [attr.inert]=\"open() ? null : ''\"\n >\n <div class=\"gbt-disclosure__panel-inner\">\n <div class=\"gbt-disclosure__content\"><ng-content /></div>\n </div>\n </div>\n</div>\n\n<ng-template #toggleButton>\n <button\n type=\"button\"\n class=\"gbt-disclosure__toggle\"\n [id]=\"buttonId\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"panelId\"\n (click)=\"toggle()\"\n >\n @if (icon(); as name) {\n <gbt-icon class=\"gbt-disclosure__icon\" [name]=\"name\" />\n }\n <span class=\"gbt-disclosure__label\">{{ label() }}</span>\n <gbt-icon class=\"gbt-disclosure__chevron\" name=\"chevron-down\" />\n </button>\n</ng-template>\n",
19798
- styles: [":host{display:block}.gbt-disclosure[data-appearance=bordered]{border:1px solid var(--gbt-card-border);border-radius:var(--site-border-radius-sm);background:var(--bg-principal)}.gbt-disclosure__heading{margin:0;font:inherit}.gbt-disclosure__toggle{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.5rem;padding:.5rem .875rem;border:0;border-radius:var(--site-border-radius-sm);background:none;color:var(--text-primary);font:inherit;font-size:.875rem;font-weight:600;line-height:1.25rem;text-align:left;cursor:pointer}.gbt-disclosure__toggle:hover{background:var(--bg-hover)}.gbt-disclosure__toggle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-disclosure[data-appearance=plain] .gbt-disclosure__toggle{width:auto;min-height:2rem;padding-inline:.5rem}.gbt-disclosure__icon{flex:none;color:var(--text-secondary)}.gbt-disclosure__label{flex:1 1 auto;min-width:0}.gbt-disclosure__chevron{flex:none;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-disclosure[data-open] .gbt-disclosure__chevron{transform:rotate(180deg)}.gbt-disclosure__panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .2s cubic-bezier(.4,0,.2,1),visibility 0s linear .2s}.gbt-disclosure__panel[data-open]{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .2s cubic-bezier(.4,0,.2,1),visibility 0s}.gbt-disclosure__panel-inner{min-height:0;overflow:hidden}.gbt-disclosure__content{padding:.875rem}.gbt-disclosure[data-appearance=bordered] .gbt-disclosure__content{border-top:1px solid var(--gbt-hairline);border-radius:0 0 var(--site-border-radius-sm) var(--site-border-radius-sm);background:var(--bg-hover)}@media(prefers-reduced-motion:reduce){.gbt-disclosure__chevron,.gbt-disclosure__panel,.gbt-disclosure__panel[data-open]{transition:none}}\n"],
19816
+ styles: [":host{display:block}.gbt-disclosure[data-appearance=bordered]{border:1px solid var(--gbt-card-border);border-radius:var(--site-border-radius-sm);background:var(--bg-principal)}.gbt-disclosure__heading{margin:0;font:inherit}.gbt-disclosure__toggle{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.5rem;padding:.5rem .875rem;border:0;border-radius:var(--site-border-radius-sm);background:none;color:var(--text-primary);font:inherit;font-size:.875rem;font-weight:600;line-height:1.25rem;text-align:left;cursor:pointer}.gbt-disclosure__toggle:hover{background:var(--bg-hover)}.gbt-disclosure__toggle:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-disclosure[data-appearance=plain] .gbt-disclosure__toggle{width:auto;min-height:2rem;padding-inline:.5rem}.gbt-disclosure__icon{flex:none;color:var(--text-secondary)}.gbt-disclosure__label{flex:1 1 auto;min-width:0}.gbt-disclosure__chevron{flex:none;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-disclosure[data-open] .gbt-disclosure__chevron{transform:rotate(180deg)}.gbt-disclosure__panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .2s cubic-bezier(.4,0,.2,1),visibility 0s linear .2s}.gbt-disclosure__panel[data-open]{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .2s cubic-bezier(.4,0,.2,1),visibility 0s}.gbt-disclosure__panel-inner{min-height:0;overflow:hidden}.gbt-disclosure__content{padding:.875rem}.gbt-disclosure[data-appearance=bordered] .gbt-disclosure__content{border-top:1px solid var(--gbt-hairline);border-radius:0 0 var(--site-border-radius-sm) var(--site-border-radius-sm);background:var(--bg-hover)}@media(prefers-reduced-motion:reduce){.gbt-disclosure__chevron,.gbt-disclosure__panel,.gbt-disclosure__panel[data-open]{transition:none}}\n"],
19799
19817
  dependencies: [{
19800
19818
  kind: "component",
19801
19819
  type: Icon,
@@ -19827,7 +19845,7 @@ i0.ɵɵngDeclareClassMetadata({
19827
19845
  imports: [Icon, NgTemplateOutlet],
19828
19846
  changeDetection: ChangeDetectionStrategy.OnPush,
19829
19847
  template: "<div\n class=\"gbt-disclosure\"\n [attr.data-appearance]=\"appearance()\"\n [attr.data-open]=\"open() ? '' : null\"\n>\n @switch (headingLevel()) {\n @case (2) {\n <h2 class=\"gbt-disclosure__heading\"><ng-container *ngTemplateOutlet=\"toggleButton\" /></h2>\n }\n @case (3) {\n <h3 class=\"gbt-disclosure__heading\"><ng-container *ngTemplateOutlet=\"toggleButton\" /></h3>\n }\n @case (4) {\n <h4 class=\"gbt-disclosure__heading\"><ng-container *ngTemplateOutlet=\"toggleButton\" /></h4>\n }\n @case (5) {\n <h5 class=\"gbt-disclosure__heading\"><ng-container *ngTemplateOutlet=\"toggleButton\" /></h5>\n }\n @case (6) {\n <h6 class=\"gbt-disclosure__heading\"><ng-container *ngTemplateOutlet=\"toggleButton\" /></h6>\n }\n @default {\n <ng-container *ngTemplateOutlet=\"toggleButton\" />\n }\n }\n <div\n class=\"gbt-disclosure__panel\"\n [id]=\"panelId\"\n [attr.data-open]=\"open() ? '' : null\"\n [attr.inert]=\"open() ? null : ''\"\n >\n <div class=\"gbt-disclosure__panel-inner\">\n <div class=\"gbt-disclosure__content\"><ng-content /></div>\n </div>\n </div>\n</div>\n\n<ng-template #toggleButton>\n <button\n type=\"button\"\n class=\"gbt-disclosure__toggle\"\n [id]=\"buttonId\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"panelId\"\n (click)=\"toggle()\"\n >\n @if (icon(); as name) {\n <gbt-icon class=\"gbt-disclosure__icon\" [name]=\"name\" />\n }\n <span class=\"gbt-disclosure__label\">{{ label() }}</span>\n <gbt-icon class=\"gbt-disclosure__chevron\" name=\"chevron-down\" />\n </button>\n</ng-template>\n",
19830
- styles: [":host{display:block}.gbt-disclosure[data-appearance=bordered]{border:1px solid var(--gbt-card-border);border-radius:var(--site-border-radius-sm);background:var(--bg-principal)}.gbt-disclosure__heading{margin:0;font:inherit}.gbt-disclosure__toggle{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.5rem;padding:.5rem .875rem;border:0;border-radius:var(--site-border-radius-sm);background:none;color:var(--text-primary);font:inherit;font-size:.875rem;font-weight:600;line-height:1.25rem;text-align:left;cursor:pointer}.gbt-disclosure__toggle:hover{background:var(--bg-hover)}.gbt-disclosure__toggle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gbt-disclosure[data-appearance=plain] .gbt-disclosure__toggle{width:auto;min-height:2rem;padding-inline:.5rem}.gbt-disclosure__icon{flex:none;color:var(--text-secondary)}.gbt-disclosure__label{flex:1 1 auto;min-width:0}.gbt-disclosure__chevron{flex:none;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-disclosure[data-open] .gbt-disclosure__chevron{transform:rotate(180deg)}.gbt-disclosure__panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .2s cubic-bezier(.4,0,.2,1),visibility 0s linear .2s}.gbt-disclosure__panel[data-open]{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .2s cubic-bezier(.4,0,.2,1),visibility 0s}.gbt-disclosure__panel-inner{min-height:0;overflow:hidden}.gbt-disclosure__content{padding:.875rem}.gbt-disclosure[data-appearance=bordered] .gbt-disclosure__content{border-top:1px solid var(--gbt-hairline);border-radius:0 0 var(--site-border-radius-sm) var(--site-border-radius-sm);background:var(--bg-hover)}@media(prefers-reduced-motion:reduce){.gbt-disclosure__chevron,.gbt-disclosure__panel,.gbt-disclosure__panel[data-open]{transition:none}}\n"]
19848
+ styles: [":host{display:block}.gbt-disclosure[data-appearance=bordered]{border:1px solid var(--gbt-card-border);border-radius:var(--site-border-radius-sm);background:var(--bg-principal)}.gbt-disclosure__heading{margin:0;font:inherit}.gbt-disclosure__toggle{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.5rem;padding:.5rem .875rem;border:0;border-radius:var(--site-border-radius-sm);background:none;color:var(--text-primary);font:inherit;font-size:.875rem;font-weight:600;line-height:1.25rem;text-align:left;cursor:pointer}.gbt-disclosure__toggle:hover{background:var(--bg-hover)}.gbt-disclosure__toggle:focus-visible{outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-disclosure[data-appearance=plain] .gbt-disclosure__toggle{width:auto;min-height:2rem;padding-inline:.5rem}.gbt-disclosure__icon{flex:none;color:var(--text-secondary)}.gbt-disclosure__label{flex:1 1 auto;min-width:0}.gbt-disclosure__chevron{flex:none;color:var(--text-secondary);transition:transform .2s cubic-bezier(.4,0,.2,1)}.gbt-disclosure[data-open] .gbt-disclosure__chevron{transform:rotate(180deg)}.gbt-disclosure__panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .2s cubic-bezier(.4,0,.2,1),visibility 0s linear .2s}.gbt-disclosure__panel[data-open]{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .2s cubic-bezier(.4,0,.2,1),visibility 0s}.gbt-disclosure__panel-inner{min-height:0;overflow:hidden}.gbt-disclosure__content{padding:.875rem}.gbt-disclosure[data-appearance=bordered] .gbt-disclosure__content{border-top:1px solid var(--gbt-hairline);border-radius:0 0 var(--site-border-radius-sm) var(--site-border-radius-sm);background:var(--bg-hover)}@media(prefers-reduced-motion:reduce){.gbt-disclosure__chevron,.gbt-disclosure__panel,.gbt-disclosure__panel[data-open]{transition:none}}\n"]
19831
19849
  }]
19832
19850
  }],
19833
19851
  propDecorators: {
@@ -19952,7 +19970,7 @@ var NavTab = class NavTab {
19952
19970
  }],
19953
19971
  ngImport: i0,
19954
19972
  template: "@if (icon(); as name) {\n <gbt-icon class=\"gbt-nav-tab__icon\" [name]=\"name\" />\n}\n<span #label class=\"gbt-nav-tab__label\"><ng-content /></span>\n@if (hasBadge()) {\n &ngsp;<span class=\"gbt-nav-tab__badge\">{{ badge() }}</span>\n}\n",
19955
- styles: [":host{position:relative;display:flex;align-items:center;gap:.625rem;min-width:0;box-sizing:border-box;color:var(--text-secondary);font-size:.875rem;line-height:1.4;text-decoration:none;transition:background-color var(--site-transition-fast),border-color var(--site-transition-fast),color var(--site-transition-fast)}:host(:hover){color:var(--text-primary)}:host(:focus-visible){outline:2px solid var(--primary);outline-offset:-2px}.gbt-nav-tab__icon{width:1rem;height:1rem;color:var(--text-secondary);transition:color var(--site-transition-fast)}:host(:hover) .gbt-nav-tab__icon{color:var(--text-primary)}:host([data-active]) .gbt-nav-tab__icon{color:var(--primary)}.gbt-nav-tab__label{min-width:0}.gbt-nav-tab__badge{flex:none;min-width:1.25rem;box-sizing:border-box;padding:0 .375rem;border-radius:999px;background:color-mix(in srgb,var(--border-color) 14%,transparent);box-shadow:inset 0 0 0 1px var(--gbt-hairline);color:var(--text-primary);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25rem;text-align:center}:host([data-active]) .gbt-nav-tab__badge{background:var(--primary);box-shadow:none;color:var(--text-on-primary)}:host([data-orientation=vertical]){flex:none;min-height:36px;padding:.4375rem .75rem;border-radius:var(--site-border-radius-sm);border-bottom:0;white-space:normal}:host([data-orientation=vertical]:hover){background:var(--bg-hover)}:host([data-orientation=vertical]) .gbt-nav-tab__label{flex:1;overflow-wrap:anywhere}:host([data-orientation=vertical][data-active]),:host([data-orientation=vertical][data-active]:hover){background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--text-primary);font-weight:600}:host([data-orientation=vertical][data-active]):before{content:\"\";position:absolute;top:50%;left:0;width:3px;height:1.125rem;border-radius:0 3px 3px 0;background:var(--primary);transform:translateY(-50%)}:host([data-orientation=horizontal]){flex:none;gap:.5rem;min-height:40px;padding:.5rem .75rem;border-radius:0;border-bottom:2px solid transparent;background:none;font-weight:500;white-space:nowrap}:host([data-orientation=horizontal]:hover){border-bottom-color:var(--gbt-card-border);background:none}:host([data-orientation=horizontal]:focus-visible){border-radius:var(--site-border-radius-sm) var(--site-border-radius-sm) 0 0}:host([data-orientation=horizontal]) .gbt-nav-tab__label{flex:none;display:inline-flex;flex-direction:column;overflow-wrap:normal}:host([data-orientation=horizontal]) .gbt-nav-tab__label:after{content:attr(data-label);content:attr(data-label)/\"\";height:0;overflow:hidden;font-weight:600;visibility:hidden}:host([data-orientation=horizontal][data-active]),:host([data-orientation=horizontal][data-active]:hover){border-bottom-color:var(--primary);background:none;color:var(--text-primary);font-weight:600}:host([data-orientation=horizontal][data-active]):before{content:none}@container gbt-page-layout (max-width: 768px){:host([data-orientation=vertical]){flex:none;gap:.5rem;min-height:40px;padding:.5rem .75rem;border-radius:0;border-bottom:2px solid transparent;background:none;font-weight:500;white-space:nowrap}:host([data-orientation=vertical]:hover){border-bottom-color:var(--gbt-card-border);background:none}:host([data-orientation=vertical]:focus-visible){border-radius:var(--site-border-radius-sm) var(--site-border-radius-sm) 0 0}:host([data-orientation=vertical]) .gbt-nav-tab__label{flex:none;display:inline-flex;flex-direction:column;overflow-wrap:normal}:host([data-orientation=vertical]) .gbt-nav-tab__label:after{content:attr(data-label);content:attr(data-label)/\"\";height:0;overflow:hidden;font-weight:600;visibility:hidden}:host([data-orientation=vertical][data-active]),:host([data-orientation=vertical][data-active]:hover){border-bottom-color:var(--primary);background:none;color:var(--text-primary);font-weight:600}:host([data-orientation=vertical][data-active]):before{content:none}}@media(pointer:coarse){:host([data-orientation=vertical]),:host([data-orientation=horizontal]){min-height:44px}}@media(prefers-reduced-motion:reduce){:host,.gbt-nav-tab__icon{transition:none}}\n"],
19973
+ styles: [":host{position:relative;display:flex;align-items:center;gap:.625rem;min-width:0;box-sizing:border-box;color:var(--text-secondary);font-size:.875rem;line-height:1.4;text-decoration:none;transition:background-color var(--site-transition-fast),border-color var(--site-transition-fast),color var(--site-transition-fast)}:host(:hover){color:var(--text-primary)}:host(:focus-visible){outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-nav-tab__icon{width:1rem;height:1rem;color:var(--text-secondary);transition:color var(--site-transition-fast)}:host(:hover) .gbt-nav-tab__icon{color:var(--text-primary)}:host([data-active]) .gbt-nav-tab__icon{color:var(--primary)}.gbt-nav-tab__label{min-width:0}.gbt-nav-tab__badge{flex:none;min-width:1.25rem;box-sizing:border-box;padding:0 .375rem;border-radius:var(--gbt-radius-badge, 999px);background:color-mix(in srgb,var(--border-color) 14%,transparent);box-shadow:inset 0 0 0 1px var(--gbt-hairline);color:var(--text-primary);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25rem;text-align:center}:host([data-active]) .gbt-nav-tab__badge{background:var(--primary);box-shadow:none;color:var(--text-on-primary)}:host([data-orientation=vertical]){flex:none;min-height:36px;padding:.4375rem .75rem;border-radius:var(--site-border-radius-sm);border-bottom:0;white-space:normal}:host([data-orientation=vertical]:hover){background:var(--bg-hover)}:host([data-orientation=vertical]) .gbt-nav-tab__label{flex:1;overflow-wrap:anywhere}:host([data-orientation=vertical][data-active]),:host([data-orientation=vertical][data-active]:hover){background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--text-primary);font-weight:600}:host([data-orientation=vertical][data-active]):before{content:\"\";position:absolute;top:50%;left:0;width:3px;height:1.125rem;border-radius:0 3px 3px 0;background:var(--primary);transform:translateY(-50%)}:host([data-orientation=horizontal]){flex:none;gap:.5rem;min-height:40px;padding:.5rem .75rem;border-radius:0;border-bottom:2px solid transparent;background:none;font-weight:500;white-space:nowrap}:host([data-orientation=horizontal]:hover){border-bottom-color:var(--gbt-card-border);background:none}:host([data-orientation=horizontal]:focus-visible){border-radius:var(--site-border-radius-sm) var(--site-border-radius-sm) 0 0}:host([data-orientation=horizontal]) .gbt-nav-tab__label{flex:none;display:inline-flex;flex-direction:column;overflow-wrap:normal}:host([data-orientation=horizontal]) .gbt-nav-tab__label:after{content:attr(data-label);content:attr(data-label)/\"\";height:0;overflow:hidden;font-weight:600;visibility:hidden}:host([data-orientation=horizontal][data-active]),:host([data-orientation=horizontal][data-active]:hover){border-bottom-color:var(--primary);background:none;color:var(--text-primary);font-weight:600}:host([data-orientation=horizontal][data-active]):before{content:none}@container gbt-page-layout (max-width: 768px){:host([data-orientation=vertical]){flex:none;gap:.5rem;min-height:40px;padding:.5rem .75rem;border-radius:0;border-bottom:2px solid transparent;background:none;font-weight:500;white-space:nowrap}:host([data-orientation=vertical]:hover){border-bottom-color:var(--gbt-card-border);background:none}:host([data-orientation=vertical]:focus-visible){border-radius:var(--site-border-radius-sm) var(--site-border-radius-sm) 0 0}:host([data-orientation=vertical]) .gbt-nav-tab__label{flex:none;display:inline-flex;flex-direction:column;overflow-wrap:normal}:host([data-orientation=vertical]) .gbt-nav-tab__label:after{content:attr(data-label);content:attr(data-label)/\"\";height:0;overflow:hidden;font-weight:600;visibility:hidden}:host([data-orientation=vertical][data-active]),:host([data-orientation=vertical][data-active]:hover){border-bottom-color:var(--primary);background:none;color:var(--text-primary);font-weight:600}:host([data-orientation=vertical][data-active]):before{content:none}}@media(pointer:coarse){:host([data-orientation=vertical]),:host([data-orientation=horizontal]){min-height:44px}}@media(prefers-reduced-motion:reduce){:host,.gbt-nav-tab__icon{transition:none}}\n"],
19956
19974
  dependencies: [{
19957
19975
  kind: "component",
19958
19976
  type: Icon,
@@ -19981,7 +19999,7 @@ i0.ɵɵngDeclareClassMetadata({
19981
19999
  "[attr.data-orientation]": "orientation()"
19982
20000
  },
19983
20001
  template: "@if (icon(); as name) {\n <gbt-icon class=\"gbt-nav-tab__icon\" [name]=\"name\" />\n}\n<span #label class=\"gbt-nav-tab__label\"><ng-content /></span>\n@if (hasBadge()) {\n &ngsp;<span class=\"gbt-nav-tab__badge\">{{ badge() }}</span>\n}\n",
19984
- styles: [":host{position:relative;display:flex;align-items:center;gap:.625rem;min-width:0;box-sizing:border-box;color:var(--text-secondary);font-size:.875rem;line-height:1.4;text-decoration:none;transition:background-color var(--site-transition-fast),border-color var(--site-transition-fast),color var(--site-transition-fast)}:host(:hover){color:var(--text-primary)}:host(:focus-visible){outline:2px solid var(--primary);outline-offset:-2px}.gbt-nav-tab__icon{width:1rem;height:1rem;color:var(--text-secondary);transition:color var(--site-transition-fast)}:host(:hover) .gbt-nav-tab__icon{color:var(--text-primary)}:host([data-active]) .gbt-nav-tab__icon{color:var(--primary)}.gbt-nav-tab__label{min-width:0}.gbt-nav-tab__badge{flex:none;min-width:1.25rem;box-sizing:border-box;padding:0 .375rem;border-radius:999px;background:color-mix(in srgb,var(--border-color) 14%,transparent);box-shadow:inset 0 0 0 1px var(--gbt-hairline);color:var(--text-primary);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25rem;text-align:center}:host([data-active]) .gbt-nav-tab__badge{background:var(--primary);box-shadow:none;color:var(--text-on-primary)}:host([data-orientation=vertical]){flex:none;min-height:36px;padding:.4375rem .75rem;border-radius:var(--site-border-radius-sm);border-bottom:0;white-space:normal}:host([data-orientation=vertical]:hover){background:var(--bg-hover)}:host([data-orientation=vertical]) .gbt-nav-tab__label{flex:1;overflow-wrap:anywhere}:host([data-orientation=vertical][data-active]),:host([data-orientation=vertical][data-active]:hover){background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--text-primary);font-weight:600}:host([data-orientation=vertical][data-active]):before{content:\"\";position:absolute;top:50%;left:0;width:3px;height:1.125rem;border-radius:0 3px 3px 0;background:var(--primary);transform:translateY(-50%)}:host([data-orientation=horizontal]){flex:none;gap:.5rem;min-height:40px;padding:.5rem .75rem;border-radius:0;border-bottom:2px solid transparent;background:none;font-weight:500;white-space:nowrap}:host([data-orientation=horizontal]:hover){border-bottom-color:var(--gbt-card-border);background:none}:host([data-orientation=horizontal]:focus-visible){border-radius:var(--site-border-radius-sm) var(--site-border-radius-sm) 0 0}:host([data-orientation=horizontal]) .gbt-nav-tab__label{flex:none;display:inline-flex;flex-direction:column;overflow-wrap:normal}:host([data-orientation=horizontal]) .gbt-nav-tab__label:after{content:attr(data-label);content:attr(data-label)/\"\";height:0;overflow:hidden;font-weight:600;visibility:hidden}:host([data-orientation=horizontal][data-active]),:host([data-orientation=horizontal][data-active]:hover){border-bottom-color:var(--primary);background:none;color:var(--text-primary);font-weight:600}:host([data-orientation=horizontal][data-active]):before{content:none}@container gbt-page-layout (max-width: 768px){:host([data-orientation=vertical]){flex:none;gap:.5rem;min-height:40px;padding:.5rem .75rem;border-radius:0;border-bottom:2px solid transparent;background:none;font-weight:500;white-space:nowrap}:host([data-orientation=vertical]:hover){border-bottom-color:var(--gbt-card-border);background:none}:host([data-orientation=vertical]:focus-visible){border-radius:var(--site-border-radius-sm) var(--site-border-radius-sm) 0 0}:host([data-orientation=vertical]) .gbt-nav-tab__label{flex:none;display:inline-flex;flex-direction:column;overflow-wrap:normal}:host([data-orientation=vertical]) .gbt-nav-tab__label:after{content:attr(data-label);content:attr(data-label)/\"\";height:0;overflow:hidden;font-weight:600;visibility:hidden}:host([data-orientation=vertical][data-active]),:host([data-orientation=vertical][data-active]:hover){border-bottom-color:var(--primary);background:none;color:var(--text-primary);font-weight:600}:host([data-orientation=vertical][data-active]):before{content:none}}@media(pointer:coarse){:host([data-orientation=vertical]),:host([data-orientation=horizontal]){min-height:44px}}@media(prefers-reduced-motion:reduce){:host,.gbt-nav-tab__icon{transition:none}}\n"]
20002
+ styles: [":host{position:relative;display:flex;align-items:center;gap:.625rem;min-width:0;box-sizing:border-box;color:var(--text-secondary);font-size:.875rem;line-height:1.4;text-decoration:none;transition:background-color var(--site-transition-fast),border-color var(--site-transition-fast),color var(--site-transition-fast)}:host(:hover){color:var(--text-primary)}:host(:focus-visible){outline:2px solid var(--gbt-focus-ring, var(--primary));outline-offset:-2px}.gbt-nav-tab__icon{width:1rem;height:1rem;color:var(--text-secondary);transition:color var(--site-transition-fast)}:host(:hover) .gbt-nav-tab__icon{color:var(--text-primary)}:host([data-active]) .gbt-nav-tab__icon{color:var(--primary)}.gbt-nav-tab__label{min-width:0}.gbt-nav-tab__badge{flex:none;min-width:1.25rem;box-sizing:border-box;padding:0 .375rem;border-radius:var(--gbt-radius-badge, 999px);background:color-mix(in srgb,var(--border-color) 14%,transparent);box-shadow:inset 0 0 0 1px var(--gbt-hairline);color:var(--text-primary);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25rem;text-align:center}:host([data-active]) .gbt-nav-tab__badge{background:var(--primary);box-shadow:none;color:var(--text-on-primary)}:host([data-orientation=vertical]){flex:none;min-height:36px;padding:.4375rem .75rem;border-radius:var(--site-border-radius-sm);border-bottom:0;white-space:normal}:host([data-orientation=vertical]:hover){background:var(--bg-hover)}:host([data-orientation=vertical]) .gbt-nav-tab__label{flex:1;overflow-wrap:anywhere}:host([data-orientation=vertical][data-active]),:host([data-orientation=vertical][data-active]:hover){background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--text-primary);font-weight:600}:host([data-orientation=vertical][data-active]):before{content:\"\";position:absolute;top:50%;left:0;width:3px;height:1.125rem;border-radius:0 3px 3px 0;background:var(--primary);transform:translateY(-50%)}:host([data-orientation=horizontal]){flex:none;gap:.5rem;min-height:40px;padding:.5rem .75rem;border-radius:0;border-bottom:2px solid transparent;background:none;font-weight:500;white-space:nowrap}:host([data-orientation=horizontal]:hover){border-bottom-color:var(--gbt-card-border);background:none}:host([data-orientation=horizontal]:focus-visible){border-radius:var(--site-border-radius-sm) var(--site-border-radius-sm) 0 0}:host([data-orientation=horizontal]) .gbt-nav-tab__label{flex:none;display:inline-flex;flex-direction:column;overflow-wrap:normal}:host([data-orientation=horizontal]) .gbt-nav-tab__label:after{content:attr(data-label);content:attr(data-label)/\"\";height:0;overflow:hidden;font-weight:600;visibility:hidden}:host([data-orientation=horizontal][data-active]),:host([data-orientation=horizontal][data-active]:hover){border-bottom-color:var(--primary);background:none;color:var(--text-primary);font-weight:600}:host([data-orientation=horizontal][data-active]):before{content:none}@container gbt-page-layout (max-width: 768px){:host([data-orientation=vertical]){flex:none;gap:.5rem;min-height:40px;padding:.5rem .75rem;border-radius:0;border-bottom:2px solid transparent;background:none;font-weight:500;white-space:nowrap}:host([data-orientation=vertical]:hover){border-bottom-color:var(--gbt-card-border);background:none}:host([data-orientation=vertical]:focus-visible){border-radius:var(--site-border-radius-sm) var(--site-border-radius-sm) 0 0}:host([data-orientation=vertical]) .gbt-nav-tab__label{flex:none;display:inline-flex;flex-direction:column;overflow-wrap:normal}:host([data-orientation=vertical]) .gbt-nav-tab__label:after{content:attr(data-label);content:attr(data-label)/\"\";height:0;overflow:hidden;font-weight:600;visibility:hidden}:host([data-orientation=vertical][data-active]),:host([data-orientation=vertical][data-active]:hover){border-bottom-color:var(--primary);background:none;color:var(--text-primary);font-weight:600}:host([data-orientation=vertical][data-active]):before{content:none}}@media(pointer:coarse){:host([data-orientation=vertical]),:host([data-orientation=horizontal]){min-height:44px}}@media(prefers-reduced-motion:reduce){:host,.gbt-nav-tab__icon{transition:none}}\n"]
19985
20003
  }]
19986
20004
  }],
19987
20005
  ctorParameters: () => [],
@@ -20442,6 +20460,13 @@ const DEFAULT_REGISTER_LABELS = Object.freeze({
20442
20460
  const DEFAULT_ACTIVATE_LABELS = Object.freeze({
20443
20461
  heading: "Activate your account",
20444
20462
  intro: "Choose the password of your account. Two-factor authentication will be set up the first time you sign in.",
20463
+ introWithUsername: "Choose the username and the password of your account. Two-factor authentication will be set up the first time you sign in.",
20464
+ username: "Username",
20465
+ usernameHint: "3 to 32 characters: letters, digits, - and _. Saved in lower case.",
20466
+ usernameEmpty: "Enter a username",
20467
+ usernameInvalid: "Start with a letter; 3 to 32 characters: letters, digits, - and _",
20468
+ usernameReserved: "This username is not available",
20469
+ usernameTaken: "This username is already in use",
20445
20470
  password: "New password",
20446
20471
  passwordHint: (minLength) => `At least ${minLength} characters.`,
20447
20472
  confirmation: "Confirm the password",
@@ -20690,8 +20715,13 @@ function classifyRegisterFailure(err) {
20690
20715
  }
20691
20716
  function classifyActivateFailure(err) {
20692
20717
  if (!isAuthPortError(err)) return "other";
20718
+ const message = portErrorMessage(err);
20693
20719
  switch (err.status) {
20694
- case 400: return portErrorMessage(err)?.startsWith(AUTH_PORT_ERROR_BODIES.weakPasswordPrefix) ? "weak-password" : "invalid-link";
20720
+ case 400:
20721
+ if (message?.startsWith(AUTH_PORT_ERROR_BODIES.weakPasswordPrefix)) return "weak-password";
20722
+ if (message === AUTH_PORT_ERROR_BODIES.usernameReserved) return "username-reserved";
20723
+ return message?.startsWith(AUTH_PORT_ERROR_BODIES.usernamePrefix) ? "username-invalid" : "invalid-link";
20724
+ case 409: return "username-taken";
20695
20725
  case 429: return "rate-limited";
20696
20726
  default: return "other";
20697
20727
  }
@@ -20828,7 +20858,7 @@ var AuthPanel = class AuthPanel {
20828
20858
  },
20829
20859
  ngImport: i0,
20830
20860
  template: "<main class=\"gbt-auth-panel\">\n <div class=\"gbt-auth-panel__panel\" [class.gbt-auth-panel__panel--wide]=\"wide()\">\n <div class=\"gbt-auth-panel__logo\"><ng-content select=\"[auth-logo]\" /></div>\n\n @if (heading()) {\n <h1\n class=\"gbt-auth-panel__heading\"\n [class.gbt-auth-panel__heading--alone]=\"!intro()\"\n tabindex=\"-1\"\n >\n {{ heading() }}\n </h1>\n @if (intro()) {\n <p class=\"gbt-auth-panel__intro\">{{ intro() }}</p>\n }\n }\n\n <ng-content />\n </div>\n</main>\n",
20831
- styles: [":host{display:block}.gbt-auth-panel{display:flex;box-sizing:border-box;min-height:100vh;min-height:100dvh;align-items:center;justify-content:center;padding:2rem 1rem;background:radial-gradient(ellipse 80% 55% at 50% 0%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 70%),var(--bg-panel)}.gbt-auth-panel__panel{box-sizing:border-box;width:100%;max-width:25rem;padding:2rem 2rem 2.25rem;border:1px solid var(--gbt-card-border);border-radius:12px;background:var(--bg-principal);box-shadow:var(--site-shadow-md)}.gbt-auth-panel__panel--wide{max-width:30rem}.gbt-auth-panel__logo{display:flex;justify-content:center;margin:var(--gbt-auth-panel-logo-offset, 0) 0 1.25rem}.gbt-auth-panel__logo:empty{display:none}.gbt-auth-panel__logo ::ng-deep img,.gbt-auth-panel__logo ::ng-deep svg{display:block;width:var(--gbt-auth-panel-logo-width, 15rem);max-width:100%;height:auto}:host ::ng-deep .gbt-auth-panel__heading{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:600;line-height:1.4;text-align:center;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__heading:focus{outline:none}:host ::ng-deep .gbt-auth-panel__heading--alone{margin-bottom:1.5rem}:host ::ng-deep .gbt-auth-panel__intro{margin:.25rem 0 1.5rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5;text-align:center;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__form{display:flex;flex-direction:column;gap:1rem}:host ::ng-deep .gbt-auth-panel__submit{margin-top:.5rem}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state{padding:0}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state__heading{font-size:1.25rem;line-height:1.4;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state__message{max-width:none;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state__action{align-self:stretch;margin-top:.75rem}:host ::ng-deep .gbt-auth-panel__status--success .gbt-empty-state__icon{background:var(--color-success-bg);color:var(--color-success-text)}:host ::ng-deep .gbt-auth-panel__links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 1.25rem;margin-top:-.5rem}:host ::ng-deep .gbt-auth-panel__links .gbt-button.gbt-button--link{min-height:2.75rem}@media(max-width:480px){.gbt-auth-panel__panel{padding:1.5rem 1.25rem 1.75rem}:host ::ng-deep .gbt-input .gbt-input__wrapper input{min-height:2.75rem;font-size:1rem}:host ::ng-deep .gbt-input__toggle:before{width:2.75rem;height:2.75rem}}\n"],
20861
+ styles: [":host{display:block}.gbt-auth-panel{display:flex;box-sizing:border-box;min-height:100vh;min-height:100dvh;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--gbt-auth-panel-backdrop, radial-gradient(ellipse 80% 55% at 50% 0%, color-mix(in srgb, var(--primary) 8%, transparent), transparent 70%), var(--bg-panel))}.gbt-auth-panel__panel{box-sizing:border-box;width:100%;max-width:25rem;padding:2rem 2rem 2.25rem;border:1px solid var(--gbt-card-border);border-radius:var(--gbt-auth-panel-radius, 12px);background:var(--bg-principal);box-shadow:var(--site-shadow-md)}.gbt-auth-panel__panel--wide{max-width:30rem}.gbt-auth-panel__logo{display:flex;justify-content:center;margin:var(--gbt-auth-panel-logo-offset, 0) 0 1.25rem}.gbt-auth-panel__logo:empty{display:none}.gbt-auth-panel__logo ::ng-deep img,.gbt-auth-panel__logo ::ng-deep svg{display:block;width:var(--gbt-auth-panel-logo-width, 15rem);max-width:100%;height:auto}:host ::ng-deep .gbt-auth-panel__heading{font-family:var(--gbt-font-display, inherit);margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:600;line-height:1.4;text-align:center;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__heading:focus{outline:none}:host ::ng-deep .gbt-auth-panel__heading--alone{margin-bottom:1.5rem}:host ::ng-deep .gbt-auth-panel__intro{margin:.25rem 0 1.5rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5;text-align:center;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__form{display:flex;flex-direction:column;gap:1rem}:host ::ng-deep .gbt-auth-panel__submit{margin-top:.5rem}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state{padding:0}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state__heading{font-size:1.25rem;line-height:1.4;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state__message{max-width:none;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state__action{align-self:stretch;margin-top:.75rem}:host ::ng-deep .gbt-auth-panel__status--success .gbt-empty-state__icon{background:var(--color-success-bg);color:var(--color-success-text)}:host ::ng-deep .gbt-auth-panel__links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 1.25rem;margin-top:-.5rem}:host ::ng-deep .gbt-auth-panel__links .gbt-button.gbt-button--link{min-height:2.75rem}@media(max-width:480px){.gbt-auth-panel__panel{padding:1.5rem 1.25rem 1.75rem}:host ::ng-deep .gbt-input .gbt-input__wrapper input{min-height:2.75rem;font-size:1rem}:host ::ng-deep .gbt-input__toggle:before{width:2.75rem;height:2.75rem}}\n"],
20832
20862
  changeDetection: i0.ChangeDetectionStrategy.OnPush
20833
20863
  });
20834
20864
  };
@@ -20844,7 +20874,7 @@ i0.ɵɵngDeclareClassMetadata({
20844
20874
  standalone: true,
20845
20875
  changeDetection: ChangeDetectionStrategy.OnPush,
20846
20876
  template: "<main class=\"gbt-auth-panel\">\n <div class=\"gbt-auth-panel__panel\" [class.gbt-auth-panel__panel--wide]=\"wide()\">\n <div class=\"gbt-auth-panel__logo\"><ng-content select=\"[auth-logo]\" /></div>\n\n @if (heading()) {\n <h1\n class=\"gbt-auth-panel__heading\"\n [class.gbt-auth-panel__heading--alone]=\"!intro()\"\n tabindex=\"-1\"\n >\n {{ heading() }}\n </h1>\n @if (intro()) {\n <p class=\"gbt-auth-panel__intro\">{{ intro() }}</p>\n }\n }\n\n <ng-content />\n </div>\n</main>\n",
20847
- styles: [":host{display:block}.gbt-auth-panel{display:flex;box-sizing:border-box;min-height:100vh;min-height:100dvh;align-items:center;justify-content:center;padding:2rem 1rem;background:radial-gradient(ellipse 80% 55% at 50% 0%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 70%),var(--bg-panel)}.gbt-auth-panel__panel{box-sizing:border-box;width:100%;max-width:25rem;padding:2rem 2rem 2.25rem;border:1px solid var(--gbt-card-border);border-radius:12px;background:var(--bg-principal);box-shadow:var(--site-shadow-md)}.gbt-auth-panel__panel--wide{max-width:30rem}.gbt-auth-panel__logo{display:flex;justify-content:center;margin:var(--gbt-auth-panel-logo-offset, 0) 0 1.25rem}.gbt-auth-panel__logo:empty{display:none}.gbt-auth-panel__logo ::ng-deep img,.gbt-auth-panel__logo ::ng-deep svg{display:block;width:var(--gbt-auth-panel-logo-width, 15rem);max-width:100%;height:auto}:host ::ng-deep .gbt-auth-panel__heading{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:600;line-height:1.4;text-align:center;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__heading:focus{outline:none}:host ::ng-deep .gbt-auth-panel__heading--alone{margin-bottom:1.5rem}:host ::ng-deep .gbt-auth-panel__intro{margin:.25rem 0 1.5rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5;text-align:center;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__form{display:flex;flex-direction:column;gap:1rem}:host ::ng-deep .gbt-auth-panel__submit{margin-top:.5rem}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state{padding:0}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state__heading{font-size:1.25rem;line-height:1.4;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state__message{max-width:none;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state__action{align-self:stretch;margin-top:.75rem}:host ::ng-deep .gbt-auth-panel__status--success .gbt-empty-state__icon{background:var(--color-success-bg);color:var(--color-success-text)}:host ::ng-deep .gbt-auth-panel__links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 1.25rem;margin-top:-.5rem}:host ::ng-deep .gbt-auth-panel__links .gbt-button.gbt-button--link{min-height:2.75rem}@media(max-width:480px){.gbt-auth-panel__panel{padding:1.5rem 1.25rem 1.75rem}:host ::ng-deep .gbt-input .gbt-input__wrapper input{min-height:2.75rem;font-size:1rem}:host ::ng-deep .gbt-input__toggle:before{width:2.75rem;height:2.75rem}}\n"]
20877
+ styles: [":host{display:block}.gbt-auth-panel{display:flex;box-sizing:border-box;min-height:100vh;min-height:100dvh;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--gbt-auth-panel-backdrop, radial-gradient(ellipse 80% 55% at 50% 0%, color-mix(in srgb, var(--primary) 8%, transparent), transparent 70%), var(--bg-panel))}.gbt-auth-panel__panel{box-sizing:border-box;width:100%;max-width:25rem;padding:2rem 2rem 2.25rem;border:1px solid var(--gbt-card-border);border-radius:var(--gbt-auth-panel-radius, 12px);background:var(--bg-principal);box-shadow:var(--site-shadow-md)}.gbt-auth-panel__panel--wide{max-width:30rem}.gbt-auth-panel__logo{display:flex;justify-content:center;margin:var(--gbt-auth-panel-logo-offset, 0) 0 1.25rem}.gbt-auth-panel__logo:empty{display:none}.gbt-auth-panel__logo ::ng-deep img,.gbt-auth-panel__logo ::ng-deep svg{display:block;width:var(--gbt-auth-panel-logo-width, 15rem);max-width:100%;height:auto}:host ::ng-deep .gbt-auth-panel__heading{font-family:var(--gbt-font-display, inherit);margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:600;line-height:1.4;text-align:center;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__heading:focus{outline:none}:host ::ng-deep .gbt-auth-panel__heading--alone{margin-bottom:1.5rem}:host ::ng-deep .gbt-auth-panel__intro{margin:.25rem 0 1.5rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5;text-align:center;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__form{display:flex;flex-direction:column;gap:1rem}:host ::ng-deep .gbt-auth-panel__submit{margin-top:.5rem}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state{padding:0}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state__heading{font-size:1.25rem;line-height:1.4;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state__message{max-width:none;text-wrap:balance}:host ::ng-deep .gbt-auth-panel__status .gbt-empty-state__action{align-self:stretch;margin-top:.75rem}:host ::ng-deep .gbt-auth-panel__status--success .gbt-empty-state__icon{background:var(--color-success-bg);color:var(--color-success-text)}:host ::ng-deep .gbt-auth-panel__links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 1.25rem;margin-top:-.5rem}:host ::ng-deep .gbt-auth-panel__links .gbt-button.gbt-button--link{min-height:2.75rem}@media(max-width:480px){.gbt-auth-panel__panel{padding:1.5rem 1.25rem 1.75rem}:host ::ng-deep .gbt-input .gbt-input__wrapper input{min-height:2.75rem;font-size:1rem}:host ::ng-deep .gbt-input__toggle:before{width:2.75rem;height:2.75rem}}\n"]
20848
20878
  }]
20849
20879
  }],
20850
20880
  propDecorators: {
@@ -21092,7 +21122,7 @@ var TotpQr = class TotpQr {
21092
21122
  },
21093
21123
  ngImport: i0,
21094
21124
  template: "<div class=\"gbt-totp-qr\">\n @if (failed()) {\n <p class=\"gbt-totp-qr__fallback\" role=\"status\">{{ text().fallback }}</p>\n } @else {\n <div class=\"gbt-totp-qr__frame\" [attr.aria-busy]=\"dataUrl() === null ? 'true' : null\">\n @if (dataUrl(); as src) {\n <img [src]=\"src\" [alt]=\"text().imageAlt\" width=\"224\" height=\"224\" />\n }\n </div>\n }\n\n <div class=\"gbt-totp-qr__secret\">\n <p class=\"gbt-totp-qr__label\">\n {{ failed() ? text().fallbackSecretLabel : text().secretLabel }}\n </p>\n <gbt-copy-field\n [value]=\"secret()\"\n [copyLabel]=\"text().copyLabel\"\n [copiedText]=\"text().copied\"\n [failedText]=\"text().copyFailed\"\n />\n </div>\n</div>\n",
21095
- styles: [":host{display:block}.gbt-totp-qr{display:flex;flex-direction:column;align-items:stretch;gap:1.25rem}.gbt-totp-qr__frame{display:flex;box-sizing:border-box;width:14rem;max-width:100%;aspect-ratio:1;align-items:center;justify-content:center;margin-inline:auto;padding:.5rem;border:1px solid var(--gbt-card-border);border-radius:12px;background:#fff}.gbt-totp-qr__frame img{display:block;width:100%;height:auto;image-rendering:pixelated}.gbt-totp-qr__frame[aria-busy=true]{background:var(--bg-panel)}.gbt-totp-qr__fallback{margin:0;padding:.625rem .75rem;border:1px solid color-mix(in srgb,var(--color-warning-text) 30%,transparent);border-radius:8px;background:var(--color-warning-bg);color:var(--color-warning-text);font-size:.875rem;line-height:1.25rem}.gbt-totp-qr__label{margin:0 0 .375rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600}.gbt-totp-qr__secret ::ng-deep .gbt-copy-field__copy .gbt-button{position:relative}.gbt-totp-qr__secret ::ng-deep .gbt-copy-field__copy .gbt-button:after{content:\"\";position:absolute;inset:calc((var(--gbt-control-height-sm) - var(--gbt-control-height-lg)) / 2)}\n"],
21125
+ styles: [":host{display:block}.gbt-totp-qr{display:flex;flex-direction:column;align-items:stretch;gap:1.25rem}.gbt-totp-qr__frame{display:flex;box-sizing:border-box;width:14rem;max-width:100%;aspect-ratio:1;align-items:center;justify-content:center;margin-inline:auto;padding:.5rem;border:1px solid var(--gbt-card-border);border-radius:var(--gbt-radius-tile, 12px);background:#fff}.gbt-totp-qr__frame img{display:block;width:100%;height:auto;image-rendering:pixelated}.gbt-totp-qr__frame[aria-busy=true]{background:var(--bg-panel)}.gbt-totp-qr__fallback{margin:0;padding:.625rem .75rem;border:1px solid color-mix(in srgb,var(--color-warning-text) 30%,transparent);border-radius:var(--gbt-radius-tile, 8px);background:var(--color-warning-bg);color:var(--color-warning-text);font-size:.875rem;line-height:1.25rem}.gbt-totp-qr__label{margin:0 0 .375rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600}.gbt-totp-qr__secret ::ng-deep .gbt-copy-field__copy .gbt-button{position:relative}.gbt-totp-qr__secret ::ng-deep .gbt-copy-field__copy .gbt-button:after{content:\"\";position:absolute;inset:calc((var(--gbt-control-height-sm) - var(--gbt-control-height-lg)) / 2)}\n"],
21096
21126
  dependencies: [{
21097
21127
  kind: "component",
21098
21128
  type: CopyField,
@@ -21125,7 +21155,7 @@ i0.ɵɵngDeclareClassMetadata({
21125
21155
  imports: [CopyField],
21126
21156
  changeDetection: ChangeDetectionStrategy.OnPush,
21127
21157
  template: "<div class=\"gbt-totp-qr\">\n @if (failed()) {\n <p class=\"gbt-totp-qr__fallback\" role=\"status\">{{ text().fallback }}</p>\n } @else {\n <div class=\"gbt-totp-qr__frame\" [attr.aria-busy]=\"dataUrl() === null ? 'true' : null\">\n @if (dataUrl(); as src) {\n <img [src]=\"src\" [alt]=\"text().imageAlt\" width=\"224\" height=\"224\" />\n }\n </div>\n }\n\n <div class=\"gbt-totp-qr__secret\">\n <p class=\"gbt-totp-qr__label\">\n {{ failed() ? text().fallbackSecretLabel : text().secretLabel }}\n </p>\n <gbt-copy-field\n [value]=\"secret()\"\n [copyLabel]=\"text().copyLabel\"\n [copiedText]=\"text().copied\"\n [failedText]=\"text().copyFailed\"\n />\n </div>\n</div>\n",
21128
- styles: [":host{display:block}.gbt-totp-qr{display:flex;flex-direction:column;align-items:stretch;gap:1.25rem}.gbt-totp-qr__frame{display:flex;box-sizing:border-box;width:14rem;max-width:100%;aspect-ratio:1;align-items:center;justify-content:center;margin-inline:auto;padding:.5rem;border:1px solid var(--gbt-card-border);border-radius:12px;background:#fff}.gbt-totp-qr__frame img{display:block;width:100%;height:auto;image-rendering:pixelated}.gbt-totp-qr__frame[aria-busy=true]{background:var(--bg-panel)}.gbt-totp-qr__fallback{margin:0;padding:.625rem .75rem;border:1px solid color-mix(in srgb,var(--color-warning-text) 30%,transparent);border-radius:8px;background:var(--color-warning-bg);color:var(--color-warning-text);font-size:.875rem;line-height:1.25rem}.gbt-totp-qr__label{margin:0 0 .375rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600}.gbt-totp-qr__secret ::ng-deep .gbt-copy-field__copy .gbt-button{position:relative}.gbt-totp-qr__secret ::ng-deep .gbt-copy-field__copy .gbt-button:after{content:\"\";position:absolute;inset:calc((var(--gbt-control-height-sm) - var(--gbt-control-height-lg)) / 2)}\n"]
21158
+ styles: [":host{display:block}.gbt-totp-qr{display:flex;flex-direction:column;align-items:stretch;gap:1.25rem}.gbt-totp-qr__frame{display:flex;box-sizing:border-box;width:14rem;max-width:100%;aspect-ratio:1;align-items:center;justify-content:center;margin-inline:auto;padding:.5rem;border:1px solid var(--gbt-card-border);border-radius:var(--gbt-radius-tile, 12px);background:#fff}.gbt-totp-qr__frame img{display:block;width:100%;height:auto;image-rendering:pixelated}.gbt-totp-qr__frame[aria-busy=true]{background:var(--bg-panel)}.gbt-totp-qr__fallback{margin:0;padding:.625rem .75rem;border:1px solid color-mix(in srgb,var(--color-warning-text) 30%,transparent);border-radius:var(--gbt-radius-tile, 8px);background:var(--color-warning-bg);color:var(--color-warning-text);font-size:.875rem;line-height:1.25rem}.gbt-totp-qr__label{margin:0 0 .375rem;color:var(--text-secondary);font-size:.8125rem;font-weight:600}.gbt-totp-qr__secret ::ng-deep .gbt-copy-field__copy .gbt-button{position:relative}.gbt-totp-qr__secret ::ng-deep .gbt-copy-field__copy .gbt-button:after{content:\"\";position:absolute;inset:calc((var(--gbt-control-height-sm) - var(--gbt-control-height-lg)) / 2)}\n"]
21129
21159
  }]
21130
21160
  }],
21131
21161
  ctorParameters: () => [],
@@ -21460,12 +21490,10 @@ var MfaEnrollment = class MfaEnrollment {
21460
21490
  this.auth.confirmTotp(this.mfaToken(), code).subscribe({
21461
21491
  next: ({ token, backupCodes }) => {
21462
21492
  this.submitting.set(false);
21463
- this.sessionToken = token;
21464
- this.backupCodes.set(backupCodes);
21465
21493
  this.secret.set("");
21466
21494
  this.otpauthUrl.set("");
21467
21495
  this.code.set("");
21468
- this.goTo("codes");
21496
+ this.enrolled(token, backupCodes);
21469
21497
  },
21470
21498
  error: (err) => {
21471
21499
  this.submitting.set(false);
@@ -21500,10 +21528,8 @@ var MfaEnrollment = class MfaEnrollment {
21500
21528
  next: ({ token, backupCodes }) => {
21501
21529
  this.submitting.set(false);
21502
21530
  this.promptOpen.set(false);
21503
- this.sessionToken = token;
21504
- this.backupCodes.set(backupCodes);
21505
21531
  this.passkeyName.set("");
21506
- this.goTo("codes");
21532
+ this.enrolled(token, backupCodes);
21507
21533
  },
21508
21534
  error: (err) => {
21509
21535
  if (run !== this.ceremony) return;
@@ -21527,6 +21553,15 @@ var MfaEnrollment = class MfaEnrollment {
21527
21553
  }
21528
21554
  this.cancelled.emit();
21529
21555
  }
21556
+ enrolled(token, backupCodes) {
21557
+ if (backupCodes.length === 0) {
21558
+ this.completed.emit(token);
21559
+ return;
21560
+ }
21561
+ this.sessionToken = token;
21562
+ this.backupCodes.set(backupCodes);
21563
+ this.goTo("codes");
21564
+ }
21530
21565
  finish() {
21531
21566
  if (!this.acknowledged() || this.sessionToken === null) return;
21532
21567
  this.completed.emit(this.sessionToken);
@@ -21789,6 +21824,7 @@ var MfaEnrollment = class MfaEnrollment {
21789
21824
  "maxlength",
21790
21825
  "min",
21791
21826
  "max",
21827
+ "combobox",
21792
21828
  "showPasswordLabel",
21793
21829
  "hidePasswordLabel"
21794
21830
  ],
@@ -22151,7 +22187,7 @@ var AuthLogin = class AuthLogin {
22151
22187
  isSignal: true
22152
22188
  }],
22153
22189
  ngImport: i0,
22154
- template: "<gbt-auth-panel [heading]=\"heading()\" [intro]=\"intro()\" [wide]=\"enrolling()\">\n <ng-container ngProjectAs=\"[auth-logo]\"><ng-content select=\"[auth-logo]\" /></ng-container>\n\n @if (mfaToken() === null) {\n <form class=\"gbt-auth-panel__form\" (ngSubmit)=\"submit()\">\n @if (error()) {\n <gbt-alert variant=\"error\" appearance=\"subtle\" iconAlign=\"start\">{{ error() }}</gbt-alert>\n }\n\n <gbt-input\n [id]=\"id + '-username'\"\n name=\"username\"\n autocomplete=\"username\"\n [label]=\"text().username\"\n [ngModel]=\"username()\"\n (ngModelChange)=\"username.set($event)\"\n />\n <gbt-input\n [id]=\"id + '-password'\"\n type=\"password\"\n name=\"password\"\n autocomplete=\"current-password\"\n [label]=\"text().password\"\n [showPasswordLabel]=\"text().showPassword\"\n [hidePasswordLabel]=\"text().hidePassword\"\n [ngModel]=\"password()\"\n (ngModelChange)=\"password.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().submit\"\n [loading]=\"submitting()\"\n [loadingLabel]=\"text().submitting\"\n />\n </form>\n\n @if (registrationEnabled() && registerLink()) {\n <gbt-auth-footer [text]=\"text().registerPrompt\"\n ><ng-content select=\"[gbtAuthFooterLink]\"\n /></gbt-auth-footer>\n }\n } @else if (enrolling()) {\n <gbt-mfa-enrollment\n [mfaToken]=\"mfaToken()!\"\n [passkeysAvailable]=\"passkeysAvailable() === true\"\n (completed)=\"enrolled($event)\"\n (cancelled)=\"backToCredentials()\"\n (expired)=\"sessionExpired()\"\n />\n } @else {\n <form class=\"gbt-auth-panel__form\" (ngSubmit)=\"verify()\">\n @if (passkeyBlocked()) {\n <gbt-alert variant=\"warning\" appearance=\"subtle\" iconAlign=\"start\" live=\"off\">{{\n blockedReason()\n }}</gbt-alert>\n }\n @if (error()) {\n <gbt-alert [variant]=\"errorVariant()\" appearance=\"subtle\" iconAlign=\"start\">{{\n error()\n }}</gbt-alert>\n }\n @if (passkeyInFlight()) {\n <gbt-alert variant=\"info\" appearance=\"subtle\" iconAlign=\"start\" live=\"polite\">{{\n text().passkeyPrompt\n }}</gbt-alert>\n }\n\n @if (showBackupCode()) {\n <gbt-input\n [id]=\"id + '-mfa-backup-code'\"\n inputmode=\"text\"\n [spellcheck]=\"false\"\n autocapitalize=\"off\"\n enterkeyhint=\"go\"\n name=\"backupCode\"\n autocomplete=\"off\"\n [label]=\"text().backupCodeLabel\"\n [ngModel]=\"backupCode()\"\n (ngModelChange)=\"backupCode.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().verify\"\n [loading]=\"submitting()\"\n [loadingLabel]=\"text().verifying\"\n />\n } @else {\n @if (canUsePasskey()) {\n <gbt-button\n [attr.id]=\"id + '-mfa-passkey'\"\n class=\"gbt-auth-panel__submit\"\n block\n size=\"large\"\n iconName=\"key\"\n [text]=\"text().usePasskey\"\n [loading]=\"passkeyInFlight()\"\n [disabled]=\"submitting() && !passkeyInFlight()\"\n [loadingLabel]=\"text().passkeyValidating\"\n (clicked)=\"usePasskey()\"\n />\n }\n\n @if (canUsePasskey() && hasTotp()) {\n <gbt-divider [label]=\"text().or\" />\n }\n\n @if (hasTotp()) {\n <gbt-input\n [id]=\"id + '-mfa-code'\"\n inputmode=\"numeric\"\n [spellcheck]=\"false\"\n autocapitalize=\"off\"\n enterkeyhint=\"go\"\n name=\"code\"\n autocomplete=\"one-time-code\"\n [label]=\"text().codeLabel\"\n [ngModel]=\"code()\"\n (ngModelChange)=\"code.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().verify\"\n [variant]=\"canUsePasskey() ? 'secondary' : 'primary'\"\n [loading]=\"submitting() && !passkeyInFlight()\"\n [disabled]=\"passkeyInFlight()\"\n [loadingLabel]=\"text().verifying\"\n />\n }\n }\n\n <div class=\"gbt-auth-panel__links\">\n @if (!passkeyBlocked()) {\n <gbt-button\n variant=\"link\"\n [text]=\"showBackupCode() ? backFromBackupLabel() : text().useBackupCode\"\n (clicked)=\"toggleBackupCode()\"\n />\n }\n <gbt-button variant=\"link\" [text]=\"text().back\" (clicked)=\"backToCredentials()\" />\n </div>\n </form>\n }\n</gbt-auth-panel>\n",
22190
+ template: "<gbt-auth-panel [heading]=\"heading()\" [intro]=\"intro()\" [wide]=\"enrolling()\">\n <ng-container ngProjectAs=\"[auth-logo]\"><ng-content select=\"[auth-logo]\" /></ng-container>\n\n @if (mfaToken() === null) {\n <form class=\"gbt-auth-panel__form\" (ngSubmit)=\"submit()\">\n <ng-content select=\"[auth-notice]\" />\n @if (error()) {\n <gbt-alert variant=\"error\" appearance=\"subtle\" iconAlign=\"start\">{{ error() }}</gbt-alert>\n }\n\n <gbt-input\n [id]=\"id + '-username'\"\n name=\"username\"\n autocomplete=\"username\"\n [label]=\"text().username\"\n [ngModel]=\"username()\"\n (ngModelChange)=\"username.set($event)\"\n />\n <gbt-input\n [id]=\"id + '-password'\"\n type=\"password\"\n name=\"password\"\n autocomplete=\"current-password\"\n [label]=\"text().password\"\n [showPasswordLabel]=\"text().showPassword\"\n [hidePasswordLabel]=\"text().hidePassword\"\n [ngModel]=\"password()\"\n (ngModelChange)=\"password.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().submit\"\n [loading]=\"submitting()\"\n [loadingLabel]=\"text().submitting\"\n />\n </form>\n\n @if (registrationEnabled() && registerLink()) {\n <gbt-auth-footer [text]=\"text().registerPrompt\"\n ><ng-content select=\"[gbtAuthFooterLink]\"\n /></gbt-auth-footer>\n }\n } @else if (enrolling()) {\n <gbt-mfa-enrollment\n [mfaToken]=\"mfaToken()!\"\n [passkeysAvailable]=\"passkeysAvailable() === true\"\n (completed)=\"enrolled($event)\"\n (cancelled)=\"backToCredentials()\"\n (expired)=\"sessionExpired()\"\n />\n } @else {\n <form class=\"gbt-auth-panel__form\" (ngSubmit)=\"verify()\">\n @if (passkeyBlocked()) {\n <gbt-alert variant=\"warning\" appearance=\"subtle\" iconAlign=\"start\" live=\"off\">{{\n blockedReason()\n }}</gbt-alert>\n }\n @if (error()) {\n <gbt-alert [variant]=\"errorVariant()\" appearance=\"subtle\" iconAlign=\"start\">{{\n error()\n }}</gbt-alert>\n }\n @if (passkeyInFlight()) {\n <gbt-alert variant=\"info\" appearance=\"subtle\" iconAlign=\"start\" live=\"polite\">{{\n text().passkeyPrompt\n }}</gbt-alert>\n }\n\n @if (showBackupCode()) {\n <gbt-input\n [id]=\"id + '-mfa-backup-code'\"\n inputmode=\"text\"\n [spellcheck]=\"false\"\n autocapitalize=\"off\"\n enterkeyhint=\"go\"\n name=\"backupCode\"\n autocomplete=\"off\"\n [label]=\"text().backupCodeLabel\"\n [ngModel]=\"backupCode()\"\n (ngModelChange)=\"backupCode.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().verify\"\n [loading]=\"submitting()\"\n [loadingLabel]=\"text().verifying\"\n />\n } @else {\n @if (canUsePasskey()) {\n <gbt-button\n [attr.id]=\"id + '-mfa-passkey'\"\n class=\"gbt-auth-panel__submit\"\n block\n size=\"large\"\n iconName=\"key\"\n [text]=\"text().usePasskey\"\n [loading]=\"passkeyInFlight()\"\n [disabled]=\"submitting() && !passkeyInFlight()\"\n [loadingLabel]=\"text().passkeyValidating\"\n (clicked)=\"usePasskey()\"\n />\n }\n\n @if (canUsePasskey() && hasTotp()) {\n <gbt-divider [label]=\"text().or\" />\n }\n\n @if (hasTotp()) {\n <gbt-input\n [id]=\"id + '-mfa-code'\"\n inputmode=\"numeric\"\n [spellcheck]=\"false\"\n autocapitalize=\"off\"\n enterkeyhint=\"go\"\n name=\"code\"\n autocomplete=\"one-time-code\"\n [label]=\"text().codeLabel\"\n [ngModel]=\"code()\"\n (ngModelChange)=\"code.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().verify\"\n [variant]=\"canUsePasskey() ? 'secondary' : 'primary'\"\n [loading]=\"submitting() && !passkeyInFlight()\"\n [disabled]=\"passkeyInFlight()\"\n [loadingLabel]=\"text().verifying\"\n />\n }\n }\n\n <div class=\"gbt-auth-panel__links\">\n @if (!passkeyBlocked()) {\n <gbt-button\n variant=\"link\"\n [text]=\"showBackupCode() ? backFromBackupLabel() : text().useBackupCode\"\n (clicked)=\"toggleBackupCode()\"\n />\n }\n <gbt-button variant=\"link\" [text]=\"text().back\" (clicked)=\"backToCredentials()\" />\n </div>\n </form>\n }\n</gbt-auth-panel>\n",
22155
22191
  dependencies: [
22156
22192
  {
22157
22193
  kind: "ngmodule",
@@ -22247,6 +22283,7 @@ var AuthLogin = class AuthLogin {
22247
22283
  "maxlength",
22248
22284
  "min",
22249
22285
  "max",
22286
+ "combobox",
22250
22287
  "showPasswordLabel",
22251
22288
  "hidePasswordLabel"
22252
22289
  ],
@@ -22328,7 +22365,7 @@ i0.ɵɵngDeclareClassMetadata({
22328
22365
  MfaEnrollment
22329
22366
  ],
22330
22367
  changeDetection: ChangeDetectionStrategy.OnPush,
22331
- template: "<gbt-auth-panel [heading]=\"heading()\" [intro]=\"intro()\" [wide]=\"enrolling()\">\n <ng-container ngProjectAs=\"[auth-logo]\"><ng-content select=\"[auth-logo]\" /></ng-container>\n\n @if (mfaToken() === null) {\n <form class=\"gbt-auth-panel__form\" (ngSubmit)=\"submit()\">\n @if (error()) {\n <gbt-alert variant=\"error\" appearance=\"subtle\" iconAlign=\"start\">{{ error() }}</gbt-alert>\n }\n\n <gbt-input\n [id]=\"id + '-username'\"\n name=\"username\"\n autocomplete=\"username\"\n [label]=\"text().username\"\n [ngModel]=\"username()\"\n (ngModelChange)=\"username.set($event)\"\n />\n <gbt-input\n [id]=\"id + '-password'\"\n type=\"password\"\n name=\"password\"\n autocomplete=\"current-password\"\n [label]=\"text().password\"\n [showPasswordLabel]=\"text().showPassword\"\n [hidePasswordLabel]=\"text().hidePassword\"\n [ngModel]=\"password()\"\n (ngModelChange)=\"password.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().submit\"\n [loading]=\"submitting()\"\n [loadingLabel]=\"text().submitting\"\n />\n </form>\n\n @if (registrationEnabled() && registerLink()) {\n <gbt-auth-footer [text]=\"text().registerPrompt\"\n ><ng-content select=\"[gbtAuthFooterLink]\"\n /></gbt-auth-footer>\n }\n } @else if (enrolling()) {\n <gbt-mfa-enrollment\n [mfaToken]=\"mfaToken()!\"\n [passkeysAvailable]=\"passkeysAvailable() === true\"\n (completed)=\"enrolled($event)\"\n (cancelled)=\"backToCredentials()\"\n (expired)=\"sessionExpired()\"\n />\n } @else {\n <form class=\"gbt-auth-panel__form\" (ngSubmit)=\"verify()\">\n @if (passkeyBlocked()) {\n <gbt-alert variant=\"warning\" appearance=\"subtle\" iconAlign=\"start\" live=\"off\">{{\n blockedReason()\n }}</gbt-alert>\n }\n @if (error()) {\n <gbt-alert [variant]=\"errorVariant()\" appearance=\"subtle\" iconAlign=\"start\">{{\n error()\n }}</gbt-alert>\n }\n @if (passkeyInFlight()) {\n <gbt-alert variant=\"info\" appearance=\"subtle\" iconAlign=\"start\" live=\"polite\">{{\n text().passkeyPrompt\n }}</gbt-alert>\n }\n\n @if (showBackupCode()) {\n <gbt-input\n [id]=\"id + '-mfa-backup-code'\"\n inputmode=\"text\"\n [spellcheck]=\"false\"\n autocapitalize=\"off\"\n enterkeyhint=\"go\"\n name=\"backupCode\"\n autocomplete=\"off\"\n [label]=\"text().backupCodeLabel\"\n [ngModel]=\"backupCode()\"\n (ngModelChange)=\"backupCode.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().verify\"\n [loading]=\"submitting()\"\n [loadingLabel]=\"text().verifying\"\n />\n } @else {\n @if (canUsePasskey()) {\n <gbt-button\n [attr.id]=\"id + '-mfa-passkey'\"\n class=\"gbt-auth-panel__submit\"\n block\n size=\"large\"\n iconName=\"key\"\n [text]=\"text().usePasskey\"\n [loading]=\"passkeyInFlight()\"\n [disabled]=\"submitting() && !passkeyInFlight()\"\n [loadingLabel]=\"text().passkeyValidating\"\n (clicked)=\"usePasskey()\"\n />\n }\n\n @if (canUsePasskey() && hasTotp()) {\n <gbt-divider [label]=\"text().or\" />\n }\n\n @if (hasTotp()) {\n <gbt-input\n [id]=\"id + '-mfa-code'\"\n inputmode=\"numeric\"\n [spellcheck]=\"false\"\n autocapitalize=\"off\"\n enterkeyhint=\"go\"\n name=\"code\"\n autocomplete=\"one-time-code\"\n [label]=\"text().codeLabel\"\n [ngModel]=\"code()\"\n (ngModelChange)=\"code.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().verify\"\n [variant]=\"canUsePasskey() ? 'secondary' : 'primary'\"\n [loading]=\"submitting() && !passkeyInFlight()\"\n [disabled]=\"passkeyInFlight()\"\n [loadingLabel]=\"text().verifying\"\n />\n }\n }\n\n <div class=\"gbt-auth-panel__links\">\n @if (!passkeyBlocked()) {\n <gbt-button\n variant=\"link\"\n [text]=\"showBackupCode() ? backFromBackupLabel() : text().useBackupCode\"\n (clicked)=\"toggleBackupCode()\"\n />\n }\n <gbt-button variant=\"link\" [text]=\"text().back\" (clicked)=\"backToCredentials()\" />\n </div>\n </form>\n }\n</gbt-auth-panel>\n"
22368
+ template: "<gbt-auth-panel [heading]=\"heading()\" [intro]=\"intro()\" [wide]=\"enrolling()\">\n <ng-container ngProjectAs=\"[auth-logo]\"><ng-content select=\"[auth-logo]\" /></ng-container>\n\n @if (mfaToken() === null) {\n <form class=\"gbt-auth-panel__form\" (ngSubmit)=\"submit()\">\n <ng-content select=\"[auth-notice]\" />\n @if (error()) {\n <gbt-alert variant=\"error\" appearance=\"subtle\" iconAlign=\"start\">{{ error() }}</gbt-alert>\n }\n\n <gbt-input\n [id]=\"id + '-username'\"\n name=\"username\"\n autocomplete=\"username\"\n [label]=\"text().username\"\n [ngModel]=\"username()\"\n (ngModelChange)=\"username.set($event)\"\n />\n <gbt-input\n [id]=\"id + '-password'\"\n type=\"password\"\n name=\"password\"\n autocomplete=\"current-password\"\n [label]=\"text().password\"\n [showPasswordLabel]=\"text().showPassword\"\n [hidePasswordLabel]=\"text().hidePassword\"\n [ngModel]=\"password()\"\n (ngModelChange)=\"password.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().submit\"\n [loading]=\"submitting()\"\n [loadingLabel]=\"text().submitting\"\n />\n </form>\n\n @if (registrationEnabled() && registerLink()) {\n <gbt-auth-footer [text]=\"text().registerPrompt\"\n ><ng-content select=\"[gbtAuthFooterLink]\"\n /></gbt-auth-footer>\n }\n } @else if (enrolling()) {\n <gbt-mfa-enrollment\n [mfaToken]=\"mfaToken()!\"\n [passkeysAvailable]=\"passkeysAvailable() === true\"\n (completed)=\"enrolled($event)\"\n (cancelled)=\"backToCredentials()\"\n (expired)=\"sessionExpired()\"\n />\n } @else {\n <form class=\"gbt-auth-panel__form\" (ngSubmit)=\"verify()\">\n @if (passkeyBlocked()) {\n <gbt-alert variant=\"warning\" appearance=\"subtle\" iconAlign=\"start\" live=\"off\">{{\n blockedReason()\n }}</gbt-alert>\n }\n @if (error()) {\n <gbt-alert [variant]=\"errorVariant()\" appearance=\"subtle\" iconAlign=\"start\">{{\n error()\n }}</gbt-alert>\n }\n @if (passkeyInFlight()) {\n <gbt-alert variant=\"info\" appearance=\"subtle\" iconAlign=\"start\" live=\"polite\">{{\n text().passkeyPrompt\n }}</gbt-alert>\n }\n\n @if (showBackupCode()) {\n <gbt-input\n [id]=\"id + '-mfa-backup-code'\"\n inputmode=\"text\"\n [spellcheck]=\"false\"\n autocapitalize=\"off\"\n enterkeyhint=\"go\"\n name=\"backupCode\"\n autocomplete=\"off\"\n [label]=\"text().backupCodeLabel\"\n [ngModel]=\"backupCode()\"\n (ngModelChange)=\"backupCode.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().verify\"\n [loading]=\"submitting()\"\n [loadingLabel]=\"text().verifying\"\n />\n } @else {\n @if (canUsePasskey()) {\n <gbt-button\n [attr.id]=\"id + '-mfa-passkey'\"\n class=\"gbt-auth-panel__submit\"\n block\n size=\"large\"\n iconName=\"key\"\n [text]=\"text().usePasskey\"\n [loading]=\"passkeyInFlight()\"\n [disabled]=\"submitting() && !passkeyInFlight()\"\n [loadingLabel]=\"text().passkeyValidating\"\n (clicked)=\"usePasskey()\"\n />\n }\n\n @if (canUsePasskey() && hasTotp()) {\n <gbt-divider [label]=\"text().or\" />\n }\n\n @if (hasTotp()) {\n <gbt-input\n [id]=\"id + '-mfa-code'\"\n inputmode=\"numeric\"\n [spellcheck]=\"false\"\n autocapitalize=\"off\"\n enterkeyhint=\"go\"\n name=\"code\"\n autocomplete=\"one-time-code\"\n [label]=\"text().codeLabel\"\n [ngModel]=\"code()\"\n (ngModelChange)=\"code.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().verify\"\n [variant]=\"canUsePasskey() ? 'secondary' : 'primary'\"\n [loading]=\"submitting() && !passkeyInFlight()\"\n [disabled]=\"passkeyInFlight()\"\n [loadingLabel]=\"text().verifying\"\n />\n }\n }\n\n <div class=\"gbt-auth-panel__links\">\n @if (!passkeyBlocked()) {\n <gbt-button\n variant=\"link\"\n [text]=\"showBackupCode() ? backFromBackupLabel() : text().useBackupCode\"\n (clicked)=\"toggleBackupCode()\"\n />\n }\n <gbt-button variant=\"link\" [text]=\"text().back\" (clicked)=\"backToCredentials()\" />\n </div>\n </form>\n }\n</gbt-auth-panel>\n"
22332
22369
  }]
22333
22370
  }],
22334
22371
  ctorParameters: () => [],
@@ -22640,6 +22677,7 @@ var AuthRegister = class AuthRegister {
22640
22677
  "maxlength",
22641
22678
  "min",
22642
22679
  "max",
22680
+ "combobox",
22643
22681
  "showPasswordLabel",
22644
22682
  "hidePasswordLabel"
22645
22683
  ],
@@ -22800,6 +22838,8 @@ var AuthActivate = class AuthActivate {
22800
22838
  token = input(null, ...ngDevMode ? [{ debugName: "token" }] : /* istanbul ignore next */ []);
22801
22839
  labels = input({}, ...ngDevMode ? [{ debugName: "labels" }] : /* istanbul ignore next */ []);
22802
22840
  minPasswordLength = input(8, ...ngDevMode ? [{ debugName: "minPasswordLength" }] : /* istanbul ignore next */ []);
22841
+ chooseUsername = input(false, ...ngDevMode ? [{ debugName: "chooseUsername" }] : /* istanbul ignore next */ []);
22842
+ usernamePattern = input(USERNAME_PATTERN, ...ngDevMode ? [{ debugName: "usernamePattern" }] : /* istanbul ignore next */ []);
22803
22843
  activated = output();
22804
22844
  signIn = output();
22805
22845
  text = authLabels("activate", DEFAULT_ACTIVATE_LABELS, this.labels);
@@ -22812,11 +22852,18 @@ var AuthActivate = class AuthActivate {
22812
22852
  computation: () => false
22813
22853
  });
22814
22854
  view = linkedSignal(() => this.token() ? "form" : "invalid", ...ngDevMode ? [{ debugName: "view" }] : /* istanbul ignore next */ []);
22855
+ username = signal("", ...ngDevMode ? [{ debugName: "username" }] : /* istanbul ignore next */ []);
22815
22856
  password = signal("", ...ngDevMode ? [{ debugName: "password" }] : /* istanbul ignore next */ []);
22816
22857
  confirmation = signal("", ...ngDevMode ? [{ debugName: "confirmation" }] : /* istanbul ignore next */ []);
22817
22858
  error = signal("", ...ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []);
22818
22859
  submitting = signal(false, ...ngDevMode ? [{ debugName: "submitting" }] : /* istanbul ignore next */ []);
22819
22860
  attempted = signal(false, ...ngDevMode ? [{ debugName: "attempted" }] : /* istanbul ignore next */ []);
22861
+ intro = computed(() => this.chooseUsername() ? this.text().introWithUsername : this.text().intro, ...ngDevMode ? [{ debugName: "intro" }] : /* istanbul ignore next */ []);
22862
+ usernameFieldError = computed(() => {
22863
+ if (!this.chooseUsername() || !this.attempted()) return null;
22864
+ const problem = usernameProblem(this.username(), this.usernamePattern());
22865
+ return problem === "empty" ? this.text().usernameEmpty : problem === "invalid" ? this.text().usernameInvalid : null;
22866
+ }, ...ngDevMode ? [{ debugName: "usernameFieldError" }] : /* istanbul ignore next */ []);
22820
22867
  passwordFieldError = computed(() => {
22821
22868
  if (!this.attempted()) return null;
22822
22869
  const min = this.minPasswordLength();
@@ -22825,13 +22872,18 @@ var AuthActivate = class AuthActivate {
22825
22872
  }, ...ngDevMode ? [{ debugName: "passwordFieldError" }] : /* istanbul ignore next */ []);
22826
22873
  confirmationFieldError = computed(() => this.attempted() ? this.confirmationProblem() : null, ...ngDevMode ? [{ debugName: "confirmationFieldError" }] : /* istanbul ignore next */ []);
22827
22874
  constructor() {
22828
- focusAfterRender(this.host, this.injector, () => this.view() === "form" ? `#${this.id}-password` : "h1");
22875
+ focusAfterRender(this.host, this.injector, () => this.view() === "form" ? `#${this.id}-${this.firstField()}` : "h1");
22829
22876
  }
22830
22877
  submit() {
22831
22878
  const token = this.spent() ? null : this.token();
22832
22879
  if (this.submitting() || this.view() !== "form" || !token) return;
22833
22880
  this.error.set("");
22834
22881
  this.attempted.set(true);
22882
+ const chooseUsername = this.chooseUsername();
22883
+ if (chooseUsername && usernameProblem(this.username(), this.usernamePattern())) {
22884
+ focusNow(this.host, `#${this.id}-username`);
22885
+ return;
22886
+ }
22835
22887
  if (passwordProblem(this.password(), this.minPasswordLength())) {
22836
22888
  focusNow(this.host, `#${this.id}-password`);
22837
22889
  return;
@@ -22841,7 +22893,7 @@ var AuthActivate = class AuthActivate {
22841
22893
  return;
22842
22894
  }
22843
22895
  this.submitting.set(true);
22844
- this.auth.activate(token, this.password()).subscribe({
22896
+ (chooseUsername ? this.auth.activate(token, this.password(), this.username().trim()) : this.auth.activate(token, this.password())).subscribe({
22845
22897
  next: () => {
22846
22898
  this.submitting.set(false);
22847
22899
  this.spent.set(true);
@@ -22859,6 +22911,10 @@ var AuthActivate = class AuthActivate {
22859
22911
  return;
22860
22912
  }
22861
22913
  const text = this.text();
22914
+ if (chooseUsername && failure.startsWith("username-")) {
22915
+ this.fail(failure === "username-reserved" ? text.usernameReserved : failure === "username-taken" ? text.usernameTaken : text.usernameInvalid);
22916
+ return;
22917
+ }
22862
22918
  this.fail(failure === "weak-password" ? text.weakPassword(this.minPasswordLength()) : failure === "rate-limited" ? text.tooManyAttempts : text.failed);
22863
22919
  }
22864
22920
  });
@@ -22876,9 +22932,12 @@ var AuthActivate = class AuthActivate {
22876
22932
  this.view.set(view);
22877
22933
  focusAfterRender(this.host, this.injector, "h1");
22878
22934
  }
22935
+ firstField() {
22936
+ return this.chooseUsername() ? "username" : "password";
22937
+ }
22879
22938
  fail(message) {
22880
22939
  this.error.set(message);
22881
- focusAfterRender(this.host, this.injector, `#${this.id}-password`);
22940
+ focusAfterRender(this.host, this.injector, `#${this.id}-${this.firstField()}`);
22882
22941
  }
22883
22942
  static ɵfac = i0.ɵɵngDeclareFactory({
22884
22943
  minVersion: "12.0.0",
@@ -22915,6 +22974,20 @@ var AuthActivate = class AuthActivate {
22915
22974
  isSignal: true,
22916
22975
  isRequired: false,
22917
22976
  transformFunction: null
22977
+ },
22978
+ chooseUsername: {
22979
+ classPropertyName: "chooseUsername",
22980
+ publicName: "chooseUsername",
22981
+ isSignal: true,
22982
+ isRequired: false,
22983
+ transformFunction: null
22984
+ },
22985
+ usernamePattern: {
22986
+ classPropertyName: "usernamePattern",
22987
+ publicName: "usernamePattern",
22988
+ isSignal: true,
22989
+ isRequired: false,
22990
+ transformFunction: null
22918
22991
  }
22919
22992
  },
22920
22993
  outputs: {
@@ -22929,7 +23002,7 @@ var AuthActivate = class AuthActivate {
22929
23002
  isSignal: true
22930
23003
  }],
22931
23004
  ngImport: i0,
22932
- template: "<gbt-auth-panel\n [heading]=\"view() === 'form' ? text().heading : ''\"\n [intro]=\"view() === 'form' ? text().intro : ''\"\n>\n <ng-container ngProjectAs=\"[auth-logo]\"><ng-content select=\"[auth-logo]\" /></ng-container>\n\n @switch (view()) {\n @case ('form') {\n <form class=\"gbt-auth-panel__form\" (ngSubmit)=\"submit()\" novalidate>\n @if (error()) {\n <gbt-alert variant=\"error\" appearance=\"subtle\" iconAlign=\"start\">{{ error() }}</gbt-alert>\n }\n\n <gbt-input\n [id]=\"id + '-password'\"\n type=\"password\"\n name=\"password\"\n autocomplete=\"new-password\"\n [label]=\"text().password\"\n [showPasswordLabel]=\"text().showPassword\"\n [hidePasswordLabel]=\"text().hidePassword\"\n [hint]=\"passwordHint()\"\n [errorMessage]=\"passwordFieldError()\"\n [ngModel]=\"password()\"\n (ngModelChange)=\"password.set($event)\"\n />\n\n <gbt-input\n [id]=\"id + '-confirmation'\"\n type=\"password\"\n name=\"confirmation\"\n autocomplete=\"new-password\"\n [label]=\"text().confirmation\"\n [showPasswordLabel]=\"text().showPassword\"\n [hidePasswordLabel]=\"text().hidePassword\"\n [errorMessage]=\"confirmationFieldError()\"\n [ngModel]=\"confirmation()\"\n (ngModelChange)=\"confirmation.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().submit\"\n [loading]=\"submitting()\"\n [loadingLabel]=\"text().submitting\"\n />\n </form>\n\n @if (signInLink()) {\n <gbt-auth-footer [text]=\"text().signInPrompt\"\n ><ng-content select=\"[gbtAuthFooterLink]\"\n /></gbt-auth-footer>\n }\n }\n @case ('success') {\n <gbt-empty-state\n class=\"gbt-auth-panel__status gbt-auth-panel__status--success\"\n icon=\"circle-check\"\n [headingLevel]=\"1\"\n headingFocusable\n [heading]=\"text().successHeading\"\n [message]=\"text().successMessage\"\n >\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n size=\"large\"\n [text]=\"text().signIn\"\n (clicked)=\"signIn.emit()\"\n />\n </gbt-empty-state>\n }\n @case ('invalid') {\n <gbt-empty-state\n class=\"gbt-auth-panel__status\"\n tone=\"error\"\n icon=\"shield-alert\"\n [headingLevel]=\"1\"\n headingFocusable\n [heading]=\"text().invalidHeading\"\n [message]=\"text().invalidMessage\"\n >\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n size=\"large\"\n [text]=\"text().signIn\"\n (clicked)=\"signIn.emit()\"\n />\n </gbt-empty-state>\n }\n }\n</gbt-auth-panel>\n",
23005
+ template: "<gbt-auth-panel\n [heading]=\"view() === 'form' ? text().heading : ''\"\n [intro]=\"view() === 'form' ? intro() : ''\"\n>\n <ng-container ngProjectAs=\"[auth-logo]\"><ng-content select=\"[auth-logo]\" /></ng-container>\n\n @switch (view()) {\n @case ('form') {\n <form class=\"gbt-auth-panel__form\" (ngSubmit)=\"submit()\" novalidate>\n @if (error()) {\n <gbt-alert variant=\"error\" appearance=\"subtle\" iconAlign=\"start\">{{ error() }}</gbt-alert>\n }\n\n @if (chooseUsername()) {\n <gbt-input\n [id]=\"id + '-username'\"\n name=\"username\"\n autocomplete=\"username\"\n [label]=\"text().username\"\n [hint]=\"text().usernameHint\"\n [errorMessage]=\"usernameFieldError()\"\n [ngModel]=\"username()\"\n (ngModelChange)=\"username.set($event)\"\n />\n }\n\n <gbt-input\n [id]=\"id + '-password'\"\n type=\"password\"\n name=\"password\"\n autocomplete=\"new-password\"\n [label]=\"text().password\"\n [showPasswordLabel]=\"text().showPassword\"\n [hidePasswordLabel]=\"text().hidePassword\"\n [hint]=\"passwordHint()\"\n [errorMessage]=\"passwordFieldError()\"\n [ngModel]=\"password()\"\n (ngModelChange)=\"password.set($event)\"\n />\n\n <gbt-input\n [id]=\"id + '-confirmation'\"\n type=\"password\"\n name=\"confirmation\"\n autocomplete=\"new-password\"\n [label]=\"text().confirmation\"\n [showPasswordLabel]=\"text().showPassword\"\n [hidePasswordLabel]=\"text().hidePassword\"\n [errorMessage]=\"confirmationFieldError()\"\n [ngModel]=\"confirmation()\"\n (ngModelChange)=\"confirmation.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().submit\"\n [loading]=\"submitting()\"\n [loadingLabel]=\"text().submitting\"\n />\n </form>\n\n @if (signInLink()) {\n <gbt-auth-footer [text]=\"text().signInPrompt\"\n ><ng-content select=\"[gbtAuthFooterLink]\"\n /></gbt-auth-footer>\n }\n }\n @case ('success') {\n <gbt-empty-state\n class=\"gbt-auth-panel__status gbt-auth-panel__status--success\"\n icon=\"circle-check\"\n [headingLevel]=\"1\"\n headingFocusable\n [heading]=\"text().successHeading\"\n [message]=\"text().successMessage\"\n >\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n size=\"large\"\n [text]=\"text().signIn\"\n (clicked)=\"signIn.emit()\"\n />\n </gbt-empty-state>\n }\n @case ('invalid') {\n <gbt-empty-state\n class=\"gbt-auth-panel__status\"\n tone=\"error\"\n icon=\"shield-alert\"\n [headingLevel]=\"1\"\n headingFocusable\n [heading]=\"text().invalidHeading\"\n [message]=\"text().invalidMessage\"\n >\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n size=\"large\"\n [text]=\"text().signIn\"\n (clicked)=\"signIn.emit()\"\n />\n </gbt-empty-state>\n }\n }\n</gbt-auth-panel>\n",
22933
23006
  dependencies: [
22934
23007
  {
22935
23008
  kind: "ngmodule",
@@ -23019,6 +23092,7 @@ var AuthActivate = class AuthActivate {
23019
23092
  "maxlength",
23020
23093
  "min",
23021
23094
  "max",
23095
+ "combobox",
23022
23096
  "showPasswordLabel",
23023
23097
  "hidePasswordLabel"
23024
23098
  ],
@@ -23100,7 +23174,7 @@ i0.ɵɵngDeclareClassMetadata({
23100
23174
  EmptyState
23101
23175
  ],
23102
23176
  changeDetection: ChangeDetectionStrategy.OnPush,
23103
- template: "<gbt-auth-panel\n [heading]=\"view() === 'form' ? text().heading : ''\"\n [intro]=\"view() === 'form' ? text().intro : ''\"\n>\n <ng-container ngProjectAs=\"[auth-logo]\"><ng-content select=\"[auth-logo]\" /></ng-container>\n\n @switch (view()) {\n @case ('form') {\n <form class=\"gbt-auth-panel__form\" (ngSubmit)=\"submit()\" novalidate>\n @if (error()) {\n <gbt-alert variant=\"error\" appearance=\"subtle\" iconAlign=\"start\">{{ error() }}</gbt-alert>\n }\n\n <gbt-input\n [id]=\"id + '-password'\"\n type=\"password\"\n name=\"password\"\n autocomplete=\"new-password\"\n [label]=\"text().password\"\n [showPasswordLabel]=\"text().showPassword\"\n [hidePasswordLabel]=\"text().hidePassword\"\n [hint]=\"passwordHint()\"\n [errorMessage]=\"passwordFieldError()\"\n [ngModel]=\"password()\"\n (ngModelChange)=\"password.set($event)\"\n />\n\n <gbt-input\n [id]=\"id + '-confirmation'\"\n type=\"password\"\n name=\"confirmation\"\n autocomplete=\"new-password\"\n [label]=\"text().confirmation\"\n [showPasswordLabel]=\"text().showPassword\"\n [hidePasswordLabel]=\"text().hidePassword\"\n [errorMessage]=\"confirmationFieldError()\"\n [ngModel]=\"confirmation()\"\n (ngModelChange)=\"confirmation.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().submit\"\n [loading]=\"submitting()\"\n [loadingLabel]=\"text().submitting\"\n />\n </form>\n\n @if (signInLink()) {\n <gbt-auth-footer [text]=\"text().signInPrompt\"\n ><ng-content select=\"[gbtAuthFooterLink]\"\n /></gbt-auth-footer>\n }\n }\n @case ('success') {\n <gbt-empty-state\n class=\"gbt-auth-panel__status gbt-auth-panel__status--success\"\n icon=\"circle-check\"\n [headingLevel]=\"1\"\n headingFocusable\n [heading]=\"text().successHeading\"\n [message]=\"text().successMessage\"\n >\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n size=\"large\"\n [text]=\"text().signIn\"\n (clicked)=\"signIn.emit()\"\n />\n </gbt-empty-state>\n }\n @case ('invalid') {\n <gbt-empty-state\n class=\"gbt-auth-panel__status\"\n tone=\"error\"\n icon=\"shield-alert\"\n [headingLevel]=\"1\"\n headingFocusable\n [heading]=\"text().invalidHeading\"\n [message]=\"text().invalidMessage\"\n >\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n size=\"large\"\n [text]=\"text().signIn\"\n (clicked)=\"signIn.emit()\"\n />\n </gbt-empty-state>\n }\n }\n</gbt-auth-panel>\n"
23177
+ template: "<gbt-auth-panel\n [heading]=\"view() === 'form' ? text().heading : ''\"\n [intro]=\"view() === 'form' ? intro() : ''\"\n>\n <ng-container ngProjectAs=\"[auth-logo]\"><ng-content select=\"[auth-logo]\" /></ng-container>\n\n @switch (view()) {\n @case ('form') {\n <form class=\"gbt-auth-panel__form\" (ngSubmit)=\"submit()\" novalidate>\n @if (error()) {\n <gbt-alert variant=\"error\" appearance=\"subtle\" iconAlign=\"start\">{{ error() }}</gbt-alert>\n }\n\n @if (chooseUsername()) {\n <gbt-input\n [id]=\"id + '-username'\"\n name=\"username\"\n autocomplete=\"username\"\n [label]=\"text().username\"\n [hint]=\"text().usernameHint\"\n [errorMessage]=\"usernameFieldError()\"\n [ngModel]=\"username()\"\n (ngModelChange)=\"username.set($event)\"\n />\n }\n\n <gbt-input\n [id]=\"id + '-password'\"\n type=\"password\"\n name=\"password\"\n autocomplete=\"new-password\"\n [label]=\"text().password\"\n [showPasswordLabel]=\"text().showPassword\"\n [hidePasswordLabel]=\"text().hidePassword\"\n [hint]=\"passwordHint()\"\n [errorMessage]=\"passwordFieldError()\"\n [ngModel]=\"password()\"\n (ngModelChange)=\"password.set($event)\"\n />\n\n <gbt-input\n [id]=\"id + '-confirmation'\"\n type=\"password\"\n name=\"confirmation\"\n autocomplete=\"new-password\"\n [label]=\"text().confirmation\"\n [showPasswordLabel]=\"text().showPassword\"\n [hidePasswordLabel]=\"text().hidePassword\"\n [errorMessage]=\"confirmationFieldError()\"\n [ngModel]=\"confirmation()\"\n (ngModelChange)=\"confirmation.set($event)\"\n />\n\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n type=\"submit\"\n size=\"large\"\n [text]=\"text().submit\"\n [loading]=\"submitting()\"\n [loadingLabel]=\"text().submitting\"\n />\n </form>\n\n @if (signInLink()) {\n <gbt-auth-footer [text]=\"text().signInPrompt\"\n ><ng-content select=\"[gbtAuthFooterLink]\"\n /></gbt-auth-footer>\n }\n }\n @case ('success') {\n <gbt-empty-state\n class=\"gbt-auth-panel__status gbt-auth-panel__status--success\"\n icon=\"circle-check\"\n [headingLevel]=\"1\"\n headingFocusable\n [heading]=\"text().successHeading\"\n [message]=\"text().successMessage\"\n >\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n size=\"large\"\n [text]=\"text().signIn\"\n (clicked)=\"signIn.emit()\"\n />\n </gbt-empty-state>\n }\n @case ('invalid') {\n <gbt-empty-state\n class=\"gbt-auth-panel__status\"\n tone=\"error\"\n icon=\"shield-alert\"\n [headingLevel]=\"1\"\n headingFocusable\n [heading]=\"text().invalidHeading\"\n [message]=\"text().invalidMessage\"\n >\n <gbt-button\n class=\"gbt-auth-panel__submit\"\n block\n size=\"large\"\n [text]=\"text().signIn\"\n (clicked)=\"signIn.emit()\"\n />\n </gbt-empty-state>\n }\n }\n</gbt-auth-panel>\n"
23104
23178
  }]
23105
23179
  }],
23106
23180
  ctorParameters: () => [],
@@ -23129,6 +23203,22 @@ i0.ɵɵngDeclareClassMetadata({
23129
23203
  required: false
23130
23204
  }]
23131
23205
  }],
23206
+ chooseUsername: [{
23207
+ type: i0.Input,
23208
+ args: [{
23209
+ isSignal: true,
23210
+ alias: "chooseUsername",
23211
+ required: false
23212
+ }]
23213
+ }],
23214
+ usernamePattern: [{
23215
+ type: i0.Input,
23216
+ args: [{
23217
+ isSignal: true,
23218
+ alias: "usernamePattern",
23219
+ required: false
23220
+ }]
23221
+ }],
23132
23222
  activated: [{
23133
23223
  type: i0.Output,
23134
23224
  args: ["activated"]
@@ -23370,6 +23460,7 @@ var AuthResetPassword = class AuthResetPassword {
23370
23460
  "maxlength",
23371
23461
  "min",
23372
23462
  "max",
23463
+ "combobox",
23373
23464
  "showPasswordLabel",
23374
23465
  "hidePasswordLabel"
23375
23466
  ],
@@ -23949,6 +24040,7 @@ var MfaSettings = class MfaSettings {
23949
24040
  "maxlength",
23950
24041
  "min",
23951
24042
  "max",
24043
+ "combobox",
23952
24044
  "showPasswordLabel",
23953
24045
  "hidePasswordLabel"
23954
24046
  ],
@@ -24537,6 +24629,7 @@ var PasskeySettings = class PasskeySettings {
24537
24629
  "maxlength",
24538
24630
  "min",
24539
24631
  "max",
24632
+ "combobox",
24540
24633
  "showPasswordLabel",
24541
24634
  "hidePasswordLabel"
24542
24635
  ],