@corto-ai/gds-angular 2.1.4 → 2.1.5-test.1

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.
@@ -9,7 +9,7 @@ import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
9
9
  import { Subject, tap, debounceTime, fromEvent, take, map, EMPTY } from 'rxjs';
10
10
  import { format, intervalToDuration } from 'date-fns';
11
11
  import * as i1$2 from '@angular/cdk/a11y';
12
- import { FocusKeyManager, CdkTrapFocus, A11yModule } from '@angular/cdk/a11y';
12
+ import { FocusKeyManager, CdkTrapFocus, FocusMonitor, A11yModule } from '@angular/cdk/a11y';
13
13
  import * as i1$1 from '@angular/cdk/menu';
14
14
  import { CdkMenuItem, CdkMenuTrigger, CdkMenuItemCheckbox, MENU_TRIGGER, CdkMenu, CdkTargetMenuAim } from '@angular/cdk/menu';
15
15
  import { FormField } from '@angular/forms/signals';
@@ -1744,6 +1744,10 @@ const gdsLineDocumentMultipleIcon = {
1744
1744
  data: `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 4.25C4 3.00736 5.00736 2 6.25 2H10.6312C11.2279 2 11.8002 2.23705 12.2221 2.65901L16.841 7.27786C17.2629 7.69981 17.5 8.27211 17.5 8.86885V17.25C17.5 18.4926 16.4926 19.5 15.25 19.5H6.25C5.00736 19.5 4 18.4926 4 17.25V4.25ZM6.25 3.5C5.83579 3.5 5.5 3.83579 5.5 4.25V17.25C5.5 17.6642 5.83579 18 6.25 18H15.25C15.6642 18 16 17.6642 16 17.25V8.99753H12.7539C11.5113 8.99753 10.5039 7.99017 10.5039 6.74753V3.5H6.25ZM12.0039 4.56209V6.74753C12.0039 7.16174 12.3397 7.49753 12.7539 7.49753H14.9393L12.0039 4.56209Z" fill="currentColor"/><path d="M6.62891 20.5C6.93778 21.3739 7.77121 22 8.75088 22H15.2509C17.8742 22 20.0009 19.8734 20.0009 17.25V11.3689C20.0009 10.7721 19.7638 10.1998 19.3419 9.77788L18.5009 8.93689V17.25C18.5009 19.0449 17.0458 20.5 15.2509 20.5H6.62891Z" fill="currentColor"/></svg>`,
1745
1745
  name: 'line-document-multiple'
1746
1746
  };
1747
+ const gdsLineDocumentOnePageSparkleIcon = {
1748
+ data: `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.8777 0.282251L11.226 1.35305C11.3343 1.67859 11.5171 1.97441 11.7599 2.21699C12.0026 2.45957 12.2987 2.64223 12.6245 2.75044L13.6961 3.09845L13.7175 3.10381C13.8001 3.13292 13.8716 3.18692 13.9222 3.25836C13.9728 3.3298 14 3.41516 14 3.50268C14 3.5902 13.9728 3.67556 13.9222 3.747C13.8716 3.81844 13.8001 3.87244 13.7175 3.90155L12.6459 4.24956C12.3201 4.35778 12.0241 4.54044 11.7813 4.78302C11.5385 5.0256 11.3558 5.32141 11.2475 5.64696L10.8992 6.71775C10.87 6.80029 10.816 6.87175 10.7445 6.92231C10.673 6.97286 10.5876 7.00001 10.5 7.00001C10.4124 7.00001 10.327 6.97286 10.2555 6.92231C10.2484 6.91732 10.2416 6.91213 10.2349 6.90675C10.1736 6.85755 10.1271 6.79215 10.1008 6.71775L9.75255 5.64696C9.73383 5.59014 9.71284 5.53422 9.68966 5.47932C9.57963 5.21872 9.42023 4.98116 9.21968 4.77999C9.18154 4.74173 9.14208 4.70496 9.10139 4.66973C8.88302 4.48064 8.62919 4.33588 8.35408 4.24421L7.28247 3.8962C7.19987 3.86708 7.12835 3.81308 7.07776 3.74164C7.02717 3.6702 7 3.58484 7 3.49733C7 3.40981 7.02717 3.32445 7.07776 3.25301C7.12835 3.18157 7.19987 3.12757 7.28247 3.09845L8.35408 2.75044C8.67591 2.63941 8.96768 2.45549 9.20656 2.21307C9.44544 1.97065 9.62497 1.67631 9.73111 1.35305L10.0794 0.282251C10.1085 0.19972 10.1626 0.128252 10.2341 0.0776997C10.3056 0.0271473 10.391 0 10.4786 0C10.5662 0 10.6516 0.0271473 10.7231 0.0776997C10.7946 0.128252 10.8486 0.19972 10.8777 0.282251ZM15.7829 8.21319L15.0175 7.96461C14.7848 7.88731 14.5733 7.75684 14.3999 7.58357C14.2265 7.4103 14.0959 7.199 14.0186 6.96647L13.7698 6.20161C13.749 6.14266 13.7104 6.09161 13.6593 6.05551C13.6083 6.0194 13.5473 6.00001 13.4847 6.00001C13.4221 6.00001 13.3611 6.0194 13.31 6.05551C13.259 6.09161 13.2204 6.14266 13.1996 6.20161L12.9508 6.96647C12.875 7.19737 12.7467 7.40762 12.5761 7.58077C12.4055 7.75392 12.1971 7.8853 11.9672 7.96461L11.2018 8.21319C11.1428 8.23398 11.0917 8.27255 11.0555 8.32358C11.0194 8.37461 11 8.43558 11 8.4981C11 8.56061 11.0194 8.62158 11.0555 8.67261C11.0917 8.72364 11.1428 8.76221 11.2018 8.78301L11.9672 9.03158C12.2003 9.10926 12.412 9.24032 12.5855 9.41428C12.7589 9.58824 12.8893 9.80031 12.9661 10.0335L13.2149 10.7984C13.2357 10.8574 13.2743 10.9084 13.3254 10.9445C13.3764 10.9806 13.4374 11 13.5 11C13.5626 11 13.6236 10.9806 13.6746 10.9445C13.7257 10.9084 13.7643 10.8574 13.7851 10.7984L14.0339 10.0335C14.1113 9.80101 14.2418 9.58972 14.4152 9.41645C14.5886 9.24317 14.8001 9.11271 15.0328 9.03541L15.7982 8.78683C15.8572 8.76603 15.9083 8.72746 15.9445 8.67643C15.9806 8.62541 16 8.56443 16 8.50192C16 8.43941 15.9806 8.37844 15.9445 8.32741C15.9083 8.27638 15.8572 8.23781 15.7982 8.21701L15.7829 8.21319ZM13 11.9009C12.9147 11.8659 12.833 11.8221 12.7561 11.7696C12.5359 11.6094 12.3758 11.399 12.2757 11.1486L12.0155 10.3473C12.0106 10.3343 12.0055 10.3213 12 10.3084V13C12 13.5523 11.5523 14 11 14H5C4.44772 14 4 13.5523 4 13V3C4 2.44772 4.44772 2 5 2H7.42985L8.04186 1.80334C8.202 1.75326 8.36215 1.64308 8.49227 1.51287C8.62238 1.38266 8.72248 1.22239 8.78253 1.0421L8.79629 1H5C3.89543 1 3 1.89543 3 3V13C3 14.1046 3.89543 15 5 15H11C12.1046 15 13 14.1046 13 13V11.9009ZM9.58988 8.49194C9.82312 8.44961 10 8.24546 10 8C10 7.72386 9.77614 7.5 9.5 7.5H6.5L6.41012 7.50806C6.17688 7.55039 6 7.75454 6 8C6 8.27614 6.22386 8.5 6.5 8.5H9.5L9.58988 8.49194ZM10 11.4919C10 11.7374 9.82312 11.9416 9.58988 11.9839L9.5 11.9919H6.5C6.22386 11.9919 6 11.7681 6 11.4919C6 11.2465 6.17688 11.0423 6.41012 11L6.5 10.9919H9.5C9.77614 10.9919 10 11.2158 10 11.4919Z" fill="currentColor"/></svg>`,
1749
+ name: 'line-document-one-page-sparkle'
1750
+ };
1747
1751
  const gdsLineDocumentPreviewIcon = {
1748
1752
  data: `<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.5859 2C10.9837 2.00004 11.3652 2.15818 11.6465 2.43945L15.5605 6.35352C15.8418 6.63478 16 7.01629 16 7.41406V16C16 17.1046 15.1046 18 14 18H9.81836C10.1064 17.6741 10.3453 17.3338 10.5312 17H14C14.5523 17 15 16.5523 15 16V8H11.5C10.6716 8 10 7.32843 10 6.5V3H6C5.44772 3 5 3.44772 5 4V11.0234C4.65144 11.0544 4.31758 11.1152 4 11.2041V4C4 2.89543 4.89543 2 6 2H10.5859ZM11 6.5C11 6.77614 11.2239 7 11.5 7H14.793L11 3.20703V6.5Z" fill="currentColor"/><path d="M1 15.5C1 14.318 2.736 12 5.5 12C8.261 12 10 14.3 10 15.5C10 16.682 8.261 19 5.5 19C2.739 19 1 16.7 1 15.5ZM4.11107 17.5787C4.5222 17.8534 5.00555 18 5.5 18C6.16304 18 6.79893 17.7366 7.26777 17.2678C7.73661 16.7989 8 16.163 8 15.5C8 15.0055 7.85338 14.5222 7.57867 14.1111C7.30397 13.7 6.91352 13.3795 6.45671 13.1903C5.99989 13.0011 5.49723 12.9516 5.01227 13.048C4.52732 13.1445 4.08186 13.3826 3.73223 13.7322C3.3826 14.0819 3.1445 14.5273 3.04804 15.0123C2.95157 15.4972 3.00108 15.9999 3.1903 16.4567C3.37952 16.9135 3.69995 17.304 4.11107 17.5787ZM6.7472 16.3334C6.91203 16.0867 7 15.7967 7 15.5C7 15.1022 6.84196 14.7206 6.56066 14.4393C6.27936 14.158 5.89782 14 5.5 14C5.20333 14 4.91332 14.088 4.66665 14.2528C4.41997 14.4176 4.22771 14.6519 4.11418 14.926C4.00065 15.2001 3.97094 15.5017 4.02882 15.7926C4.0867 16.0836 4.22956 16.3509 4.43934 16.5607C4.64912 16.7704 4.91639 16.9133 5.20736 16.9712C5.49834 17.0291 5.79994 16.9993 6.07403 16.8858C6.34811 16.7723 6.58238 16.58 6.7472 16.3334Z" fill="currentColor"/></svg>`,
1749
1753
  name: 'line-document-preview'
@@ -3066,6 +3070,7 @@ var icons = /*#__PURE__*/Object.freeze({
3066
3070
  gdsLineDocumentAddIcon: gdsLineDocumentAddIcon,
3067
3071
  gdsLineDocumentIcon: gdsLineDocumentIcon,
3068
3072
  gdsLineDocumentMultipleIcon: gdsLineDocumentMultipleIcon,
3073
+ gdsLineDocumentOnePageSparkleIcon: gdsLineDocumentOnePageSparkleIcon,
3069
3074
  gdsLineDocumentPreviewIcon: gdsLineDocumentPreviewIcon,
3070
3075
  gdsLineDocumentSyncIcon: gdsLineDocumentSyncIcon,
3071
3076
  gdsLineDocumentTableIcon: gdsLineDocumentTableIcon,
@@ -5328,6 +5333,414 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
5328
5333
  }, encapsulation: ViewEncapsulation.None, template: "<div class=\"\n content\n gds-background-white\n gds-display-flex\n gds-gap-2xs\n gds-padding-block-3xs\n\">\n <ng-content />\n</div>\n<div\n class=\"\n cancel\n gds-align-items-center\n gds-background-white\n gds-height-xl\n gds-justify-content-center\n gds-padding-block-3xs\n gds-padding-inline-sm\n gds-text-body-strong\n gds-text-primary\n gds-width-100-parent\n \"\n cdkMenuItem\n>\n <span>{{ mobileCancelLabel() }}</span>\n</div>\n", styles: ["@layer design-system{gds-dropdown .content{overflow:hidden;border-radius:var(--gds-borderRadius-sm);box-shadow:var(--gds-shadow-default);flex-direction:column}gds-dropdown .content[horizontal]{flex-direction:row}gds-dropdown .content{padding-inline:5px}gds-dropdown .cancel{display:none;border-radius:var(--gds-borderRadius-sm);border-bottom-left-radius:var(--gds-borderRadius-2xl);border-bottom-right-radius:var(--gds-borderRadius-2xl);box-shadow:var(--gds-shadow-default)}gds-dropdown[isMobile]{width:100%;margin-block-end:var(--gds-spacing-md);margin-inline:var(--gds-spacing-2xs);display:flex;flex-direction:column;gap:var(--gds-spacing-3xs)}gds-dropdown[isMobile] .content{width:100%;border-top-left-radius:var(--gds-borderRadius-2xl);border-top-right-radius:var(--gds-borderRadius-2xl)}gds-dropdown[isMobile] .cancel{display:flex}.cdk-overlay-container:has(gds-dropdown[isMobile]){display:grid;pointer-events:none;inset:0}.cdk-overlay-container:has(gds-dropdown[isMobile]):before{background-color:var(--gds-pattern-overlay-background-default);inset:0;content:\"\";position:absolute;pointer-events:auto}.cdk-overlay-container:has(gds-dropdown[isMobile]) .cdk-overlay-connected-position-bounding-box{grid-area:1/-1}.cdk-overlay-container:has(gds-dropdown[isMobile]) .cdk-overlay-connected-position-bounding-box:not(:last-of-type){display:none}.cdk-overlay-container:has(gds-dropdown[isMobile]) .cdk-overlay-pane{position:unset!important;transform:unset!important;align-items:center!important}.cdk-overlay-container:has(gds-dropdown[isMobile]):has(gds-dropdown) .cdk-overlay-connected-position-bounding-box{flex-direction:column-reverse!important}}\n"] }]
5329
5334
  }], ctorParameters: () => [], propDecorators: { triggerElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "triggerElement", required: false }] }], horizontal: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontal", required: false }] }], preventMobileStyling: [{ type: i0.Input, args: [{ isSignal: true, alias: "preventMobileStyling", required: false }] }], allowDefaultTabBehavior: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowDefaultTabBehavior", required: false }] }], mobileCancelLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileCancelLabel", required: false }] }], items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => CdkMenuItem), { ...{ descendants: true }, isSignal: true }] }] } });
5330
5335
 
5336
+ class GdsTextInputComponent extends GdsSignalFormContainer {
5337
+ input = contentChild(GdsNativeInputDirective, ...(ngDevMode ? [{ debugName: "input" }] : /* istanbul ignore next */ []));
5338
+ #elementRef = inject((ElementRef));
5339
+ nativeElement = this.#elementRef.nativeElement;
5340
+ ngAfterContentInit() {
5341
+ if (!this.input()) {
5342
+ throw new Error('GdsNativeInputDirective is required for this component. Please update the imports to include GdsNativeInputDirective.');
5343
+ }
5344
+ }
5345
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GdsTextInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5346
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.17", type: GdsTextInputComponent, isStandalone: true, selector: "gds-text-input", host: { listeners: { "click": "input()?.nativeElement?.focus()" }, classAttribute: "gds-display-flex gds-align-items-center gds-justify-content-center gds-gap-2xs gds-padding-block-3xs gds-padding-inline-xs gds-radius-sm gds-text-input\n gds-mobile-padding-block-0 gds-mobile-padding-inline-end-0 gds-mobile-text-input-mobile" }, queries: [{ propertyName: "input", first: true, predicate: GdsNativeInputDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[leading-visual]\" />\n<ng-content />\n<ng-content select=\"[trailing-visual]\" />\n", styles: ["@layer design-system{:host{--background-color: var(--gds-form-control-background-color, var(--gds-palette-background-white));--border-color: var(--gds-form-control-border-color, var(--gds-palette-border-default));--text-color: var(--gds-form-control-text-color, var(--gds-palette-text-default-primary));--active-color: var(--gds-form-control-active-color, var(--gds-palette-border-selected));--cursor: var(--gds-form-control-cursor, auto);--hover-color: var(--gds-form-control-hover-color, var(--gds-palette-background-secondary));--placeholder-color: var(--gds-form-control-placeholder-color, var(--gds-palette-text-default-placeholder));--invalid-color: var(--gds-form-control-invalid-color, var(--gds-palette-helper-error-inverse));--disabled-text-color: var(--gds-form-control-disabled-text-color, var(--gds-palette-text-default-disabled));--disabled-background-color: var( --gds-form-control-disabled-background-color, var(--gds-palette-background-disabled) );--disabled-border-color: var(--gds-form-control-disabled-border-color, var(--gds-palette-border-default))}:host[disabled],:host:has(*:disabled,*[disabled=true]){--background-color: var(--disabled-background-color);--text-color: var(--disabled-text-color);--hover-color: var(--disabled-background-color);--border-color: var(--disabled-border-color);--cursor: not-allowed}:host[invalid][touched]:not(:focus-within,.is-controlled),:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled){--border-color: var(--invalid-color);--text-color: var(--invalid-color);--placeholder-color: var(--invalid-color);--active-color: var(--invalid-color)}:host{background-color:var(--background-color);border:.5px solid var(--border-color);color:var(--text-color);cursor:var(--cursor)!important}:host ::ng-deep input:focus,:host ::ng-deep textarea:focus{outline:none}:host:focus-within,:host.is-controlled{isolation:isolate;position:relative}:host:focus-within:before,:host.is-controlled:before{z-index:-1;content:\"\";position:absolute;inset:0;border-bottom:var(--gds-borderWidth-lg) solid var(--active-color);border-radius:var(--gds-borderRadius-xs)}:host{min-height:var(--gds-size-md-rem)}:is(body[isMobile=true]) :host{min-height:var(--gds-size-lg-rem)}:host:hover{background-color:var(--hover-color)}:host[disabled]::ng-deep svg-icon,:host:has(*:disabled,*[disabled=true])::ng-deep svg-icon{color:var(--disabled-text-color)}:host[invalid][touched]:not(:focus-within,.is-controlled)::ng-deep svg-icon,:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled)::ng-deep svg-icon{color:var(--invalid-color)}:host ::ng-deep *::placeholder{color:var(--placeholder-color)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5347
+ }
5348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GdsTextInputComponent, decorators: [{
5349
+ type: Component,
5350
+ args: [{ standalone: true, selector: 'gds-text-input', changeDetection: ChangeDetectionStrategy.OnPush, host: {
5351
+ '(click)': 'input()?.nativeElement?.focus()',
5352
+ class: `gds-display-flex gds-align-items-center gds-justify-content-center gds-gap-2xs gds-padding-block-3xs gds-padding-inline-xs gds-radius-sm gds-text-input
5353
+ gds-mobile-padding-block-0 gds-mobile-padding-inline-end-0 gds-mobile-text-input-mobile`
5354
+ }, template: "<ng-content select=\"[leading-visual]\" />\n<ng-content />\n<ng-content select=\"[trailing-visual]\" />\n", styles: ["@layer design-system{:host{--background-color: var(--gds-form-control-background-color, var(--gds-palette-background-white));--border-color: var(--gds-form-control-border-color, var(--gds-palette-border-default));--text-color: var(--gds-form-control-text-color, var(--gds-palette-text-default-primary));--active-color: var(--gds-form-control-active-color, var(--gds-palette-border-selected));--cursor: var(--gds-form-control-cursor, auto);--hover-color: var(--gds-form-control-hover-color, var(--gds-palette-background-secondary));--placeholder-color: var(--gds-form-control-placeholder-color, var(--gds-palette-text-default-placeholder));--invalid-color: var(--gds-form-control-invalid-color, var(--gds-palette-helper-error-inverse));--disabled-text-color: var(--gds-form-control-disabled-text-color, var(--gds-palette-text-default-disabled));--disabled-background-color: var( --gds-form-control-disabled-background-color, var(--gds-palette-background-disabled) );--disabled-border-color: var(--gds-form-control-disabled-border-color, var(--gds-palette-border-default))}:host[disabled],:host:has(*:disabled,*[disabled=true]){--background-color: var(--disabled-background-color);--text-color: var(--disabled-text-color);--hover-color: var(--disabled-background-color);--border-color: var(--disabled-border-color);--cursor: not-allowed}:host[invalid][touched]:not(:focus-within,.is-controlled),:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled){--border-color: var(--invalid-color);--text-color: var(--invalid-color);--placeholder-color: var(--invalid-color);--active-color: var(--invalid-color)}:host{background-color:var(--background-color);border:.5px solid var(--border-color);color:var(--text-color);cursor:var(--cursor)!important}:host ::ng-deep input:focus,:host ::ng-deep textarea:focus{outline:none}:host:focus-within,:host.is-controlled{isolation:isolate;position:relative}:host:focus-within:before,:host.is-controlled:before{z-index:-1;content:\"\";position:absolute;inset:0;border-bottom:var(--gds-borderWidth-lg) solid var(--active-color);border-radius:var(--gds-borderRadius-xs)}:host{min-height:var(--gds-size-md-rem)}:is(body[isMobile=true]) :host{min-height:var(--gds-size-lg-rem)}:host:hover{background-color:var(--hover-color)}:host[disabled]::ng-deep svg-icon,:host:has(*:disabled,*[disabled=true])::ng-deep svg-icon{color:var(--disabled-text-color)}:host[invalid][touched]:not(:focus-within,.is-controlled)::ng-deep svg-icon,:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled)::ng-deep svg-icon{color:var(--invalid-color)}:host ::ng-deep *::placeholder{color:var(--placeholder-color)}}\n"] }]
5355
+ }], propDecorators: { input: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GdsNativeInputDirective), { isSignal: true }] }] } });
5356
+
5357
+ const CDK_MENU_CONNECTED_POSITIONS = [
5358
+ {
5359
+ originX: 'center',
5360
+ originY: 'bottom',
5361
+ overlayX: 'center',
5362
+ overlayY: 'top',
5363
+ offsetY: 4
5364
+ },
5365
+ {
5366
+ originX: 'center',
5367
+ originY: 'top',
5368
+ overlayX: 'center',
5369
+ overlayY: 'bottom',
5370
+ offsetY: -4
5371
+ },
5372
+ {
5373
+ originX: 'end',
5374
+ originY: 'bottom',
5375
+ overlayX: 'end',
5376
+ overlayY: 'top',
5377
+ offsetY: 4
5378
+ },
5379
+ {
5380
+ originX: 'end',
5381
+ originY: 'top',
5382
+ overlayX: 'end',
5383
+ overlayY: 'bottom',
5384
+ offsetY: -4
5385
+ }
5386
+ ];
5387
+ const CDK_MENU_CONNECTED_POSITIONS_TOP = [
5388
+ {
5389
+ originX: 'center',
5390
+ originY: 'top',
5391
+ overlayX: 'center',
5392
+ overlayY: 'bottom',
5393
+ offsetY: -4
5394
+ },
5395
+ {
5396
+ originX: 'center',
5397
+ originY: 'bottom',
5398
+ overlayX: 'center',
5399
+ overlayY: 'top',
5400
+ offsetY: 4
5401
+ },
5402
+ {
5403
+ originX: 'end',
5404
+ originY: 'bottom',
5405
+ overlayX: 'end',
5406
+ overlayY: 'top',
5407
+ offsetY: 4
5408
+ },
5409
+ {
5410
+ originX: 'end',
5411
+ originY: 'top',
5412
+ overlayX: 'end',
5413
+ overlayY: 'bottom',
5414
+ offsetY: -4
5415
+ }
5416
+ ];
5417
+ /** for use when the context menu is close to the right side of the container
5418
+ * so that it doesn't go over the edge, per UX
5419
+ */
5420
+ const CDK_MENU_CONNECTED_POSITIONS_CONTAINER_RIGHT = [
5421
+ {
5422
+ originX: 'end',
5423
+ originY: 'bottom',
5424
+ overlayX: 'end',
5425
+ overlayY: 'top',
5426
+ offsetY: 4
5427
+ },
5428
+ {
5429
+ originX: 'end',
5430
+ originY: 'top',
5431
+ overlayX: 'end',
5432
+ overlayY: 'bottom',
5433
+ offsetY: -4
5434
+ }
5435
+ ];
5436
+ /** for use when the context menu is close to the left side of the container
5437
+ * so that it doesn't go over the edge, per UX
5438
+ */
5439
+ const CDK_MENU_CONNECTED_POSITIONS_CONTAINER_LEFT = [
5440
+ {
5441
+ originX: 'start',
5442
+ originY: 'bottom',
5443
+ overlayX: 'start',
5444
+ overlayY: 'top',
5445
+ offsetY: 4
5446
+ },
5447
+ {
5448
+ originX: 'start',
5449
+ originY: 'top',
5450
+ overlayX: 'start',
5451
+ overlayY: 'bottom',
5452
+ offsetY: -4
5453
+ }
5454
+ ];
5455
+
5456
+ class GdsDrilldownSelectComponent extends GdsSignalFormControl {
5457
+ #injector = inject(Injector);
5458
+ #destroyRef = inject(DestroyRef);
5459
+ #directive = inject(CdkMenuTrigger);
5460
+ #elementRef = inject(ElementRef);
5461
+ #formField = inject(FormField, { self: true, optional: true });
5462
+ options = input.required(...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
5463
+ bindValue = input.required(...(ngDevMode ? [{ debugName: "bindValue" }] : /* istanbul ignore next */ []));
5464
+ bindLabel = input.required(...(ngDevMode ? [{ debugName: "bindLabel" }] : /* istanbul ignore next */ []));
5465
+ clearable = input(false, { ...(ngDevMode ? { debugName: "clearable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
5466
+ searchable = input(true, { ...(ngDevMode ? { debugName: "searchable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
5467
+ maxMenuHeight = input('240px', ...(ngDevMode ? [{ debugName: "maxMenuHeight" }] : /* istanbul ignore next */ []));
5468
+ placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
5469
+ searchPlaceholder = input('Search...', ...(ngDevMode ? [{ debugName: "searchPlaceholder" }] : /* istanbul ignore next */ []));
5470
+ mobileCancelLabel = input('Cancel', ...(ngDevMode ? [{ debugName: "mobileCancelLabel" }] : /* istanbul ignore next */ []));
5471
+ resetLabel = input('Reset', ...(ngDevMode ? [{ debugName: "resetLabel" }] : /* istanbul ignore next */ []));
5472
+ emptyText = input('No results found', ...(ngDevMode ? [{ debugName: "emptyText" }] : /* istanbul ignore next */ []));
5473
+ backAriaLabel = input('Go back', ...(ngDevMode ? [{ debugName: "backAriaLabel" }] : /* istanbul ignore next */ []));
5474
+ value = model([], ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
5475
+ dropdownWidth = signal(0, ...(ngDevMode ? [{ debugName: "dropdownWidth" }] : /* istanbul ignore next */ []));
5476
+ isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
5477
+ navStack = signal([], ...(ngDevMode ? [{ debugName: "navStack" }] : /* istanbul ignore next */ []));
5478
+ searchText = signal('', ...(ngDevMode ? [{ debugName: "searchText" }] : /* istanbul ignore next */ []));
5479
+ #selectedPath = signal([], ...(ngDevMode ? [{ debugName: "#selectedPath" }] : /* istanbul ignore next */ []));
5480
+ /** Drill/back/reset clicks cause cdkMenu to close; This flag is used to keep the menu open after these actions. */
5481
+ #reopenAfterInternalNavigation = false;
5482
+ /** Ignore FocusMonitor open after close — cdkMenu refocuses the trigger on escape or hitting enter on a leaf (Escape/select). */
5483
+ #suppressOpenOnFocus = false;
5484
+ menu = viewChild.required('menu');
5485
+ displayedOptions = computed(() => {
5486
+ const searchText = this.searchText().trim().toLowerCase();
5487
+ const stack = this.navStack();
5488
+ const currentOptions = stack[stack.length - 1]?.children ?? this.options();
5489
+ if (!searchText) {
5490
+ return currentOptions;
5491
+ }
5492
+ return this.#flattenOptions(this.options()).filter((option) => String(option[this.bindLabel()]).toLowerCase().includes(searchText));
5493
+ }, ...(ngDevMode ? [{ debugName: "displayedOptions" }] : /* istanbul ignore next */ []));
5494
+ label = computed(() => this.#selectedPath()
5495
+ .map((option) => this.optionLabel(option))
5496
+ .join(' > '), ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
5497
+ activeItems = computed(() => this.#selectedPath().map((option) => option[this.bindValue()]), ...(ngDevMode ? [{ debugName: "activeItems" }] : /* istanbul ignore next */ []));
5498
+ hasNavHeader = computed(() => this.navStack().length > 0 || (this.clearable() && !!this.label()), ...(ngDevMode ? [{ debugName: "hasNavHeader" }] : /* istanbul ignore next */ []));
5499
+ #syncSelectedOption = effect(() => {
5500
+ const pathValues = this.value();
5501
+ this.options();
5502
+ this.bindValue();
5503
+ untracked(() => this.#selectedPath.set(this.#resolvePath(this.options(), pathValues ?? [])));
5504
+ }, ...(ngDevMode ? [{ debugName: "#syncSelectedOption" }] : /* istanbul ignore next */ []));
5505
+ #setupMenuTemplateRef = effect(() => {
5506
+ const menu = this.menu();
5507
+ this.#directive.menuTemplateRef = !this.disabled() ? menu : null;
5508
+ }, ...(ngDevMode ? [{ debugName: "#setupMenuTemplateRef" }] : /* istanbul ignore next */ []));
5509
+ #setMenuPosition = effect(() => {
5510
+ this.#directive.menuPosition = CDK_MENU_CONNECTED_POSITIONS;
5511
+ }, ...(ngDevMode ? [{ debugName: "#setMenuPosition" }] : /* istanbul ignore next */ []));
5512
+ constructor() {
5513
+ super();
5514
+ // Use FocusMonitor instead of (focus) binding so the menu opens on keyboard focus.
5515
+ // For mouse focus, cdkMenuTrigger handles it thru its own click handler.
5516
+ inject(FocusMonitor)
5517
+ .monitor(this.#elementRef.nativeElement)
5518
+ .pipe(takeUntilDestroyed())
5519
+ .subscribe((focusOrigin) => {
5520
+ if (focusOrigin === 'keyboard' && !this.#suppressOpenOnFocus) {
5521
+ this.openMenu();
5522
+ }
5523
+ });
5524
+ this.#directive.opened.pipe(takeUntilDestroyed()).subscribe(() => {
5525
+ this.isOpen.set(true);
5526
+ if (!this.#reopenAfterInternalNavigation) {
5527
+ this.searchText.set('');
5528
+ this.#syncNavStackToSelection();
5529
+ this.#formField?.state().reset(); // Prevents layout shift with error messages. When opening menu, sets touched to false so error messages are not rendered behind the menu.
5530
+ }
5531
+ this.#reopenAfterInternalNavigation = false;
5532
+ this.#scheduleMenuItemFocus();
5533
+ });
5534
+ this.#directive.closed.pipe(takeUntilDestroyed()).subscribe(() => {
5535
+ this.isOpen.set(false);
5536
+ this.#suppressOpenOnFocus = true;
5537
+ setTimeout(() => {
5538
+ this.#suppressOpenOnFocus = false;
5539
+ });
5540
+ if (this.#reopenAfterInternalNavigation) {
5541
+ afterNextRender({
5542
+ write: () => {
5543
+ this.openMenu();
5544
+ }
5545
+ }, { injector: this.#injector });
5546
+ return;
5547
+ }
5548
+ this.#formField?.state().markAsTouched(); //
5549
+ this.navStack.set([]);
5550
+ this.searchText.set('');
5551
+ });
5552
+ }
5553
+ ngAfterViewInit() {
5554
+ const resizeObserver = new ResizeObserver((entries) => {
5555
+ if (entries.length > 0) {
5556
+ this.dropdownWidth.set(entries[0].target.clientWidth);
5557
+ }
5558
+ });
5559
+ resizeObserver.observe(this.#elementRef.nativeElement);
5560
+ this.#destroyRef.onDestroy(() => resizeObserver.disconnect());
5561
+ }
5562
+ onItemClick = (option) => {
5563
+ const path = this.searchText().trim()
5564
+ ? this.#findOptionPathByRef(this.options(), option)
5565
+ : [...this.navStack(), option];
5566
+ this.#setValue(path.map((item) => String(item[this.bindValue()])), true);
5567
+ };
5568
+ onDrilldownClick = (option) => {
5569
+ this.searchText.set('');
5570
+ this.navStack.set(this.#findOptionPathByRef(this.options(), option));
5571
+ // CDKMenu closes when it loses focus. When navStack > 2 and triggers internal navigation, the menu will not close because the menu doesn't lose focus.
5572
+ // Force closing to be consistent so the closed subscription can reopen the menu when internal navigation is triggered. (Same as onBack and onReset and onBreadcrumbClick)
5573
+ this.#reopenAfterInternalNavigation = true;
5574
+ this.#directive.close();
5575
+ };
5576
+ onBack = () => {
5577
+ this.searchText.set('');
5578
+ this.navStack.update((stack) => stack.slice(0, -1));
5579
+ this.#reopenAfterInternalNavigation = true;
5580
+ this.#directive.close();
5581
+ };
5582
+ onReset = () => {
5583
+ this.searchText.set('');
5584
+ this.navStack.set([]);
5585
+ this.#setValue([], false);
5586
+ this.#reopenAfterInternalNavigation = true;
5587
+ this.#directive.close();
5588
+ this.#formField?.state().reset(); // Updating the value to [] renders error message behind the menu. This makes sure touched is false until user closes the menu.
5589
+ };
5590
+ onBreadcrumbClick = (index) => {
5591
+ this.searchText.set('');
5592
+ this.navStack.update((stack) => stack.slice(0, index + 1));
5593
+ this.#reopenAfterInternalNavigation = true;
5594
+ this.#directive.close();
5595
+ };
5596
+ onSearch = (event) => {
5597
+ this.searchText.set(event.target.value);
5598
+ };
5599
+ onSearchKeydown = (event) => {
5600
+ // Typing something in the search causes the menu to focus on a search result.
5601
+ // This allows continous typing without losing focus unless escape/tab/arrowdown key is pressed.
5602
+ if (event.code !== 'Escape' && event.code !== 'Tab' && event.code !== 'ArrowDown') {
5603
+ event.stopPropagation();
5604
+ }
5605
+ };
5606
+ onEscape = () => {
5607
+ this.#directive.close();
5608
+ this.#suppressOpenOnFocus = true;
5609
+ this.#elementRef.nativeElement.focus();
5610
+ };
5611
+ openMenu = () => {
5612
+ if (this.disabled()) {
5613
+ return;
5614
+ }
5615
+ this.#directive.open();
5616
+ };
5617
+ optionLabel = (option) => String(option[this.bindLabel()]);
5618
+ onArrowRight = (option) => {
5619
+ if (option.children?.length) {
5620
+ this.onDrilldownClick(option);
5621
+ }
5622
+ };
5623
+ onArrowLeft = () => {
5624
+ if (this.navStack().length) {
5625
+ this.onBack();
5626
+ }
5627
+ };
5628
+ #setValue = (pathValues, closeMenu = true) => {
5629
+ this.value.set(pathValues);
5630
+ this.touched.set(true);
5631
+ if (closeMenu) {
5632
+ // Focus trigger then close; #suppressOpenOnFocus in onEscape prevents FocusMonitor reopen.
5633
+ afterNextRender({
5634
+ read: () => {
5635
+ this.#elementRef.nativeElement.focus();
5636
+ this.onEscape();
5637
+ }
5638
+ }, { injector: this.#injector });
5639
+ }
5640
+ };
5641
+ #resolvePath = (options, pathValues) => {
5642
+ if (!pathValues.length) {
5643
+ return [];
5644
+ }
5645
+ const path = [];
5646
+ let levelOptions = options;
5647
+ for (const value of pathValues) {
5648
+ const match = levelOptions.find((option) => String(option[this.bindValue()]) === value);
5649
+ if (!match) {
5650
+ return [];
5651
+ }
5652
+ path.push(match);
5653
+ levelOptions = match.children ?? [];
5654
+ }
5655
+ return path;
5656
+ };
5657
+ #flattenOptions = (options) => options.flatMap((option) => [option, ...(option.children?.length ? this.#flattenOptions(option.children) : [])]);
5658
+ /** Open at the parent of the selected leaf so the leaf is visible in the current list. */
5659
+ #syncNavStackToSelection = () => {
5660
+ this.navStack.set(this.#selectedPath().slice(0, -1));
5661
+ };
5662
+ #scheduleMenuItemFocus = () => {
5663
+ afterNextRender({
5664
+ write: () => {
5665
+ // Defer past CDK Menu's focusFirstItem so we can override it.
5666
+ setTimeout(() => this.#focusSelectedMenuItemOrTrigger());
5667
+ }
5668
+ }, { injector: this.#injector });
5669
+ };
5670
+ #focusSelectedMenuItemOrTrigger = () => {
5671
+ const menu = this.#directive.getMenu();
5672
+ if (!menu?.items?.length) {
5673
+ return;
5674
+ }
5675
+ const selectedPath = this.#selectedPath();
5676
+ const selectedAtLevel = selectedPath[this.navStack().length];
5677
+ const selectedValue = selectedAtLevel?.[this.bindValue()];
5678
+ const selectedIndex = selectedValue === undefined || selectedValue === null || selectedValue === ''
5679
+ ? -1
5680
+ : this.displayedOptions().findIndex((option) => String(option[this.bindValue()]) === String(selectedValue));
5681
+ if (selectedIndex >= 0) {
5682
+ const item = menu.items.get(selectedIndex);
5683
+ if (item) {
5684
+ menu.setActiveMenuItem(item);
5685
+ return;
5686
+ }
5687
+ }
5688
+ // Prefer trigger over first item so ArrowDown (CdkMenuTrigger) is what enters the list.
5689
+ this.#elementRef.nativeElement.focus({ preventScroll: true });
5690
+ };
5691
+ #findOptionPathByRef = (options, target, parents = []) => {
5692
+ for (const option of options) {
5693
+ const path = [...parents, option];
5694
+ if (option === target) {
5695
+ return path;
5696
+ }
5697
+ if (option.children?.length) {
5698
+ const found = this.#findOptionPathByRef(option.children, target, path);
5699
+ if (found.length > 0) {
5700
+ return found;
5701
+ }
5702
+ }
5703
+ }
5704
+ return [];
5705
+ };
5706
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GdsDrilldownSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5707
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: GdsDrilldownSelectComponent, isStandalone: true, selector: "gds-drilldown-select", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: true, transformFunction: null }, bindValue: { classPropertyName: "bindValue", publicName: "bindValue", isSignal: true, isRequired: true, transformFunction: null }, bindLabel: { classPropertyName: "bindLabel", publicName: "bindLabel", isSignal: true, isRequired: true, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, maxMenuHeight: { classPropertyName: "maxMenuHeight", publicName: "maxMenuHeight", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, mobileCancelLabel: { classPropertyName: "mobileCancelLabel", publicName: "mobileCancelLabel", isSignal: true, isRequired: false, transformFunction: null }, resetLabel: { classPropertyName: "resetLabel", publicName: "resetLabel", isSignal: true, isRequired: false, transformFunction: null }, emptyText: { classPropertyName: "emptyText", publicName: "emptyText", isSignal: true, isRequired: false, transformFunction: null }, backAriaLabel: { classPropertyName: "backAriaLabel", publicName: "backAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { attributes: { "role": "button" }, listeners: { "keydown.escape": "onEscape()", "keydown.arrowleft": "onArrowLeft()" }, properties: { "attr.tabindex": "disabled() ? -1 : 0", "class.is-controlled": "isOpen()" }, classAttribute: "\n gds-align-items-center\n gds-display-flex\n gds-gap-2xs\n gds-justify-content-between\n gds-mobile-padding-block-0\n gds-mobile-text-input-mobile\n gds-padding-block-3xs\n gds-padding-inline-xs\n gds-radius-sm\n gds-text-input\n gds-outline-none\n " }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1$1.CdkMenuTrigger }], ngImport: i0, template: "<div\n class=\"\n gds-flex-1\n gds-min-width-0\n gds-truncate\n label\n \"\n [ngClass]=\"{ placeholder: !label(), 'gds-user-select-none': !label() }\"\n>\n {{ label() ? label() : placeholder() }}\n</div>\n\n<gds-icon\n class=\"\n gds-icon-primary\n gds-icon-size-2xs\n \"\n key=\"line-chevron-down-stroke\"\n/>\n\n<ng-template #menu>\n <gds-dropdown\n [mobileCancelLabel]=\"mobileCancelLabel()\"\n cdkTargetMenuAim\n preventMobileStyling\n allowDefaultTabBehavior\n [style.minWidth]=\"dropdownWidth() + 'px'\"\n >\n <div\n class=\"\n gds-display-flex\n gds-flex-column\n gds-padding-block-end-2xs\n gds-padding-block-start-3xs\n gds-padding-inline-2xs\n \"\n >\n @if (hasNavHeader()) {\n <div class=\"\n gds-align-items-center\n gds-display-flex\n gds-gap-2xs\n gds-padding-block-end-2xs\n \">\n @if (navStack().length) {\n <button\n gds-icon-button\n variant=\"invisible\"\n class=\"\n gds-min-height-0\n gds-padding-0\n \"\n (pointerdown)=\"$event.stopPropagation()\"\n (clicked)=\"onBack()\"\n [attr.aria-label]=\"backAriaLabel()\"\n >\n <gds-icon\n key=\"line-arrow-left\"\n class=\"\n gds-icon-primary\n gds-icon-size-2xs\n \"\n />\n </button>\n }\n\n @if (clearable() && label()) {\n <button\n gds-button\n variant=\"invisible\"\n size=\"small\"\n class=\"\n gds-min-height-0\n gds-padding-0\n reset-button\n \"\n (pointerdown)=\"$event.stopPropagation()\"\n (clicked)=\"onReset()\"\n >\n {{ resetLabel() }}\n </button>\n }\n\n @for (crumb of navStack(); track $index) {\n @if ((clearable() && label()) || $index > 0) {\n <gds-icon\n key=\"line-chevron-right-stroke\"\n class=\"\n gds-flex-0\n gds-icon-primary\n gds-icon-size-3xs\n \"\n />\n }\n <button\n gds-button\n variant=\"invisible\"\n size=\"small\"\n class=\"\n breadcrumb\n gds-min-height-0\n gds-padding-0\n \"\n (pointerdown)=\"$event.stopPropagation()\"\n (clicked)=\"onBreadcrumbClick($index)\"\n >\n {{ optionLabel(crumb) }}\n </button>\n }\n </div>\n }\n\n @if (searchable()) {\n <gds-text-input\n class=\"\n gds-gap-xs\n gds-margin-block-end-2xs\n search\n \"\n (pointerdown)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation()\"\n >\n <gds-icon\n leading-visual\n key=\"line-search\"\n class=\"\n gds-icon-secondary\n gds-icon-size-2xs\n \"\n />\n <input\n type=\"text\"\n class=\"\n gds-background-none\n gds-border-none\n gds-flex-1\n gds-min-width-0\n gds-outline-none\n gds-text-body\n \"\n [placeholder]=\"searchPlaceholder()\"\n [value]=\"searchText()\"\n (input)=\"onSearch($event)\"\n (keydown)=\"onSearchKeydown($event)\"\n />\n </gds-text-input>\n }\n\n <div\n [style.maxHeight]=\"maxMenuHeight()\"\n class=\"gds-scrollable-vertically\"\n >\n <div class=\"\n gds-display-flex\n gds-flex-column\n gds-gap-3xs\n \">\n @for (option of displayedOptions(); track option[bindValue()]) {\n @if (option.children?.length) {\n <div\n class=\"\n gds-align-items-center\n gds-display-flex\n gds-gap-xs\n gds-padding-block-2xs\n gds-padding-inline-sm\n gds-position-relative\n gds-radius-sm\n gds-text-body\n gds-text-primary\n item\n \"\n [ngClass]=\"{ active: activeItems().includes(option[bindValue()]) }\"\n cdkMenuItem\n (pointerdown)=\"$event.stopPropagation()\"\n (cdkMenuItemTriggered)=\"onDrilldownClick(option)\"\n (keydown.escape)=\"onEscape()\"\n (keydown.arrowright)=\"onArrowRight(option)\"\n (keydown.arrowleft)=\"onArrowLeft()\"\n tabindex=\"-1\"\n >\n <span class=\"\n gds-flex-1\n gds-min-width-0\n gds-truncate\n \">{{ option[bindLabel()] }}</span>\n <gds-icon\n key=\"line-chevron-right-stroke\"\n class=\"\n gds-flex-0\n gds-icon-primary\n gds-icon-size-2xs\n \"\n />\n </div>\n } @else {\n <div\n class=\"\n gds-align-items-center\n gds-display-flex\n gds-padding-block-2xs\n gds-padding-inline-sm\n gds-position-relative\n gds-radius-sm\n gds-text-body\n gds-text-primary\n item\n \"\n tabindex=\"-1\"\n [ngClass]=\"{ active: activeItems().includes(option[bindValue()]) }\"\n cdkMenuItem\n (cdkMenuItemTriggered)=\"onItemClick(option)\"\n (keydown.escape)=\"onEscape()\"\n (keydown.arrowleft)=\"onArrowLeft()\"\n (keydown.arrowright)=\"onArrowRight(option)\"\n >\n {{ option[bindLabel()] }}\n </div>\n }\n } @empty {\n <div class=\"\n gds-padding-block-2xs\n gds-padding-inline-sm\n gds-text-body\n gds-text-secondary\n \">\n {{ emptyText() }}\n </div>\n }\n </div>\n </div>\n </div>\n </gds-dropdown>\n</ng-template>\n", styles: ["@layer design-system{:host{--gds-form-control-cursor: pointer;--background-color: var(--gds-form-control-background-color, var(--gds-palette-background-white));--border-color: var(--gds-form-control-border-color, var(--gds-palette-border-default));--text-color: var(--gds-form-control-text-color, var(--gds-palette-text-default-primary));--active-color: var(--gds-form-control-active-color, var(--gds-palette-border-selected));--cursor: var(--gds-form-control-cursor, auto);--hover-color: var(--gds-form-control-hover-color, var(--gds-palette-background-secondary));--placeholder-color: var(--gds-form-control-placeholder-color, var(--gds-palette-text-default-placeholder));--invalid-color: var(--gds-form-control-invalid-color, var(--gds-palette-helper-error-inverse));--disabled-text-color: var(--gds-form-control-disabled-text-color, var(--gds-palette-text-default-disabled));--disabled-background-color: var( --gds-form-control-disabled-background-color, var(--gds-palette-background-disabled) );--disabled-border-color: var(--gds-form-control-disabled-border-color, var(--gds-palette-border-default))}:host[disabled],:host:has(*:disabled,*[disabled=true]){--background-color: var(--disabled-background-color);--text-color: var(--disabled-text-color);--hover-color: var(--disabled-background-color);--border-color: var(--disabled-border-color);--cursor: not-allowed}:host[invalid][touched]:not(:focus-within,.is-controlled),:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled){--border-color: var(--invalid-color);--text-color: var(--invalid-color);--placeholder-color: var(--invalid-color);--active-color: var(--invalid-color)}:host{background-color:var(--background-color);border:.5px solid var(--border-color);color:var(--text-color);cursor:var(--cursor)!important}:host ::ng-deep input:focus,:host ::ng-deep textarea:focus{outline:none}:host:focus-within,:host.is-controlled{isolation:isolate;position:relative}:host:focus-within:before,:host.is-controlled:before{z-index:-1;content:\"\";position:absolute;inset:0;border-bottom:var(--gds-borderWidth-lg) solid var(--active-color);border-radius:var(--gds-borderRadius-xs)}:host{min-height:var(--gds-size-md-rem)}:is(body[isMobile=true]) :host{min-height:var(--gds-size-lg-rem)}:host:hover{background-color:var(--hover-color)}:host[disabled]::ng-deep svg-icon,:host:has(*:disabled,*[disabled=true])::ng-deep svg-icon{color:var(--disabled-text-color)}:host[invalid][touched]:not(:focus-within,.is-controlled)::ng-deep svg-icon,:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled)::ng-deep svg-icon{color:var(--invalid-color)}:host ::ng-deep *::placeholder{color:var(--placeholder-color)}:host .label{color:var(--text-color)}:host .placeholder{color:var(--placeholder-color)}.reset-button,.breadcrumb{--gds-button-color: var(--gds-palette-text-default-secondary);--gds-button-color-hover: var(--gds-palette-text-default-secondary)}.search{--gds-form-control-cursor: text;--gds-form-control-hover-color: var(--gds-palette-background-white);box-sizing:border-box}.item{cursor:pointer;--wrapper-margin-inline: 0px;--wrapper-margin-block: 2px}.item:hover:before,.item.active:before,.item:focus-visible:before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}.item:focus-visible{outline:none}}\n"], dependencies: [{ kind: "component", type: GdsButtonComponent, selector: "button[gds-button]" }, { kind: "component", type: GdsDropdownComponent, selector: "gds-dropdown", inputs: ["triggerElement", "horizontal", "preventMobileStyling", "allowDefaultTabBehavior", "mobileCancelLabel"] }, { kind: "component", type: GdsTextInputComponent, selector: "gds-text-input" }, { kind: "directive", type: GdsNativeInputDirective, selector: "input" }, { kind: "directive", type: CdkMenuItem, selector: "[cdkMenuItem]", inputs: ["cdkMenuItemDisabled", "cdkMenuitemTypeaheadLabel"], outputs: ["cdkMenuItemTriggered"], exportAs: ["cdkMenuItem"] }, { kind: "directive", type: CdkTargetMenuAim, selector: "[cdkTargetMenuAim]", exportAs: ["cdkTargetMenuAim"] }, { kind: "component", type: GdsIconComponent, selector: "gds-icon", inputs: ["key", "width", "height", "color"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: GdsIconButtonComponent, selector: "button[gds-icon-button]", inputs: ["tooltipLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5708
+ }
5709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GdsDrilldownSelectComponent, decorators: [{
5710
+ type: Component,
5711
+ args: [{ selector: 'gds-drilldown-select', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
5712
+ CdkMenuTrigger,
5713
+ GdsButtonComponent,
5714
+ GdsDropdownComponent,
5715
+ GdsTextInputComponent,
5716
+ GdsNativeInputDirective,
5717
+ CdkMenuItem,
5718
+ CdkTargetMenuAim,
5719
+ GdsIconComponent,
5720
+ NgClass,
5721
+ GdsIconButtonComponent
5722
+ ], host: {
5723
+ role: 'button',
5724
+ '[attr.tabindex]': 'disabled() ? -1 : 0',
5725
+ class: `
5726
+ gds-align-items-center
5727
+ gds-display-flex
5728
+ gds-gap-2xs
5729
+ gds-justify-content-between
5730
+ gds-mobile-padding-block-0
5731
+ gds-mobile-text-input-mobile
5732
+ gds-padding-block-3xs
5733
+ gds-padding-inline-xs
5734
+ gds-radius-sm
5735
+ gds-text-input
5736
+ gds-outline-none
5737
+ `,
5738
+ '[class.is-controlled]': 'isOpen()',
5739
+ '(keydown.escape)': 'onEscape()',
5740
+ '(keydown.arrowleft)': 'onArrowLeft()'
5741
+ }, hostDirectives: [CdkMenuTrigger], template: "<div\n class=\"\n gds-flex-1\n gds-min-width-0\n gds-truncate\n label\n \"\n [ngClass]=\"{ placeholder: !label(), 'gds-user-select-none': !label() }\"\n>\n {{ label() ? label() : placeholder() }}\n</div>\n\n<gds-icon\n class=\"\n gds-icon-primary\n gds-icon-size-2xs\n \"\n key=\"line-chevron-down-stroke\"\n/>\n\n<ng-template #menu>\n <gds-dropdown\n [mobileCancelLabel]=\"mobileCancelLabel()\"\n cdkTargetMenuAim\n preventMobileStyling\n allowDefaultTabBehavior\n [style.minWidth]=\"dropdownWidth() + 'px'\"\n >\n <div\n class=\"\n gds-display-flex\n gds-flex-column\n gds-padding-block-end-2xs\n gds-padding-block-start-3xs\n gds-padding-inline-2xs\n \"\n >\n @if (hasNavHeader()) {\n <div class=\"\n gds-align-items-center\n gds-display-flex\n gds-gap-2xs\n gds-padding-block-end-2xs\n \">\n @if (navStack().length) {\n <button\n gds-icon-button\n variant=\"invisible\"\n class=\"\n gds-min-height-0\n gds-padding-0\n \"\n (pointerdown)=\"$event.stopPropagation()\"\n (clicked)=\"onBack()\"\n [attr.aria-label]=\"backAriaLabel()\"\n >\n <gds-icon\n key=\"line-arrow-left\"\n class=\"\n gds-icon-primary\n gds-icon-size-2xs\n \"\n />\n </button>\n }\n\n @if (clearable() && label()) {\n <button\n gds-button\n variant=\"invisible\"\n size=\"small\"\n class=\"\n gds-min-height-0\n gds-padding-0\n reset-button\n \"\n (pointerdown)=\"$event.stopPropagation()\"\n (clicked)=\"onReset()\"\n >\n {{ resetLabel() }}\n </button>\n }\n\n @for (crumb of navStack(); track $index) {\n @if ((clearable() && label()) || $index > 0) {\n <gds-icon\n key=\"line-chevron-right-stroke\"\n class=\"\n gds-flex-0\n gds-icon-primary\n gds-icon-size-3xs\n \"\n />\n }\n <button\n gds-button\n variant=\"invisible\"\n size=\"small\"\n class=\"\n breadcrumb\n gds-min-height-0\n gds-padding-0\n \"\n (pointerdown)=\"$event.stopPropagation()\"\n (clicked)=\"onBreadcrumbClick($index)\"\n >\n {{ optionLabel(crumb) }}\n </button>\n }\n </div>\n }\n\n @if (searchable()) {\n <gds-text-input\n class=\"\n gds-gap-xs\n gds-margin-block-end-2xs\n search\n \"\n (pointerdown)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation()\"\n >\n <gds-icon\n leading-visual\n key=\"line-search\"\n class=\"\n gds-icon-secondary\n gds-icon-size-2xs\n \"\n />\n <input\n type=\"text\"\n class=\"\n gds-background-none\n gds-border-none\n gds-flex-1\n gds-min-width-0\n gds-outline-none\n gds-text-body\n \"\n [placeholder]=\"searchPlaceholder()\"\n [value]=\"searchText()\"\n (input)=\"onSearch($event)\"\n (keydown)=\"onSearchKeydown($event)\"\n />\n </gds-text-input>\n }\n\n <div\n [style.maxHeight]=\"maxMenuHeight()\"\n class=\"gds-scrollable-vertically\"\n >\n <div class=\"\n gds-display-flex\n gds-flex-column\n gds-gap-3xs\n \">\n @for (option of displayedOptions(); track option[bindValue()]) {\n @if (option.children?.length) {\n <div\n class=\"\n gds-align-items-center\n gds-display-flex\n gds-gap-xs\n gds-padding-block-2xs\n gds-padding-inline-sm\n gds-position-relative\n gds-radius-sm\n gds-text-body\n gds-text-primary\n item\n \"\n [ngClass]=\"{ active: activeItems().includes(option[bindValue()]) }\"\n cdkMenuItem\n (pointerdown)=\"$event.stopPropagation()\"\n (cdkMenuItemTriggered)=\"onDrilldownClick(option)\"\n (keydown.escape)=\"onEscape()\"\n (keydown.arrowright)=\"onArrowRight(option)\"\n (keydown.arrowleft)=\"onArrowLeft()\"\n tabindex=\"-1\"\n >\n <span class=\"\n gds-flex-1\n gds-min-width-0\n gds-truncate\n \">{{ option[bindLabel()] }}</span>\n <gds-icon\n key=\"line-chevron-right-stroke\"\n class=\"\n gds-flex-0\n gds-icon-primary\n gds-icon-size-2xs\n \"\n />\n </div>\n } @else {\n <div\n class=\"\n gds-align-items-center\n gds-display-flex\n gds-padding-block-2xs\n gds-padding-inline-sm\n gds-position-relative\n gds-radius-sm\n gds-text-body\n gds-text-primary\n item\n \"\n tabindex=\"-1\"\n [ngClass]=\"{ active: activeItems().includes(option[bindValue()]) }\"\n cdkMenuItem\n (cdkMenuItemTriggered)=\"onItemClick(option)\"\n (keydown.escape)=\"onEscape()\"\n (keydown.arrowleft)=\"onArrowLeft()\"\n (keydown.arrowright)=\"onArrowRight(option)\"\n >\n {{ option[bindLabel()] }}\n </div>\n }\n } @empty {\n <div class=\"\n gds-padding-block-2xs\n gds-padding-inline-sm\n gds-text-body\n gds-text-secondary\n \">\n {{ emptyText() }}\n </div>\n }\n </div>\n </div>\n </div>\n </gds-dropdown>\n</ng-template>\n", styles: ["@layer design-system{:host{--gds-form-control-cursor: pointer;--background-color: var(--gds-form-control-background-color, var(--gds-palette-background-white));--border-color: var(--gds-form-control-border-color, var(--gds-palette-border-default));--text-color: var(--gds-form-control-text-color, var(--gds-palette-text-default-primary));--active-color: var(--gds-form-control-active-color, var(--gds-palette-border-selected));--cursor: var(--gds-form-control-cursor, auto);--hover-color: var(--gds-form-control-hover-color, var(--gds-palette-background-secondary));--placeholder-color: var(--gds-form-control-placeholder-color, var(--gds-palette-text-default-placeholder));--invalid-color: var(--gds-form-control-invalid-color, var(--gds-palette-helper-error-inverse));--disabled-text-color: var(--gds-form-control-disabled-text-color, var(--gds-palette-text-default-disabled));--disabled-background-color: var( --gds-form-control-disabled-background-color, var(--gds-palette-background-disabled) );--disabled-border-color: var(--gds-form-control-disabled-border-color, var(--gds-palette-border-default))}:host[disabled],:host:has(*:disabled,*[disabled=true]){--background-color: var(--disabled-background-color);--text-color: var(--disabled-text-color);--hover-color: var(--disabled-background-color);--border-color: var(--disabled-border-color);--cursor: not-allowed}:host[invalid][touched]:not(:focus-within,.is-controlled),:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled){--border-color: var(--invalid-color);--text-color: var(--invalid-color);--placeholder-color: var(--invalid-color);--active-color: var(--invalid-color)}:host{background-color:var(--background-color);border:.5px solid var(--border-color);color:var(--text-color);cursor:var(--cursor)!important}:host ::ng-deep input:focus,:host ::ng-deep textarea:focus{outline:none}:host:focus-within,:host.is-controlled{isolation:isolate;position:relative}:host:focus-within:before,:host.is-controlled:before{z-index:-1;content:\"\";position:absolute;inset:0;border-bottom:var(--gds-borderWidth-lg) solid var(--active-color);border-radius:var(--gds-borderRadius-xs)}:host{min-height:var(--gds-size-md-rem)}:is(body[isMobile=true]) :host{min-height:var(--gds-size-lg-rem)}:host:hover{background-color:var(--hover-color)}:host[disabled]::ng-deep svg-icon,:host:has(*:disabled,*[disabled=true])::ng-deep svg-icon{color:var(--disabled-text-color)}:host[invalid][touched]:not(:focus-within,.is-controlled)::ng-deep svg-icon,:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled)::ng-deep svg-icon{color:var(--invalid-color)}:host ::ng-deep *::placeholder{color:var(--placeholder-color)}:host .label{color:var(--text-color)}:host .placeholder{color:var(--placeholder-color)}.reset-button,.breadcrumb{--gds-button-color: var(--gds-palette-text-default-secondary);--gds-button-color-hover: var(--gds-palette-text-default-secondary)}.search{--gds-form-control-cursor: text;--gds-form-control-hover-color: var(--gds-palette-background-white);box-sizing:border-box}.item{cursor:pointer;--wrapper-margin-inline: 0px;--wrapper-margin-block: 2px}.item:hover:before,.item.active:before,.item:focus-visible:before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}.item:focus-visible{outline:none}}\n"] }]
5742
+ }], ctorParameters: () => [], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: true }] }], bindValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "bindValue", required: true }] }], bindLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "bindLabel", required: true }] }], clearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearable", required: false }] }], searchable: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchable", required: false }] }], maxMenuHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxMenuHeight", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], searchPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchPlaceholder", required: false }] }], mobileCancelLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileCancelLabel", required: false }] }], resetLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "resetLabel", required: false }] }], emptyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyText", required: false }] }], backAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "backAriaLabel", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], menu: [{ type: i0.ViewChild, args: ['menu', { isSignal: true }] }] } });
5743
+
5331
5744
  class GdsEmptyStateComponent extends OnBrandChanged {
5332
5745
  #cdnUrl = inject(CDN_URL);
5333
5746
  variant = input('info-circle', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
@@ -5346,7 +5759,7 @@ class GdsEmptyStateComponent extends OnBrandChanged {
5346
5759
  titleTextSize = computed(() => `gds-text-${this.compact() ? 'subtitle' : 'title'}`, ...(ngDevMode ? [{ debugName: "titleTextSize" }] : /* istanbul ignore next */ []));
5347
5760
  otherTextSize = computed(() => `gds-text-${this.compact() ? 'caption' : 'body'}`, ...(ngDevMode ? [{ debugName: "otherTextSize" }] : /* istanbul ignore next */ []));
5348
5761
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GdsEmptyStateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5349
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: GdsEmptyStateComponent, isStandalone: true, selector: "gds-empty-state", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, suppressIcon: { classPropertyName: "suppressIcon", publicName: "suppressIcon", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "\n gds-align-items-center\n gds-display-flex\n gds-flex-column\n gds-height-100-parent\n gds-justify-content-center\n gds-text-body\n gds-text-center\n gds-text-primary-primary\n gds-width-100-parent\n gds-gap-sm\n " }, usesInheritance: true, ngImport: i0, template: "@if (!suppressIcon()) {\n <img\n class=\"icon\"\n [src]=\"imageSrc()\"\n alt=\"empty state icon\"\n />\n}\n\n<div\n class=\"\n gds-display-none-empty\n gds-text-primary-primary\n \"\n [ngClass]=\"titleTextSize()\"\n>\n <ng-content />\n</div>\n\n<div\n class=\"\n gds-display-none-empty\n gds-text-primary-primary\n \"\n [ngClass]=\"otherTextSize()\"\n>\n <ng-content select=\"[subtitle]\" />\n</div>\n\n<div class=\"gds-display-none-empty\">\n <ng-content select=\"[button]\" />\n</div>\n\n<div\n class=\"\n gds-display-none-empty\n gds-text-secondary\n \"\n [ngClass]=\"otherTextSize()\"\n>\n <ng-content select=\"[footer]\" />\n</div>\n", styles: ["@layer design-system{:host{--gds-empty-state-icon-size: 132px}:host .icon{height:var(--gds-empty-state-icon-size);width:var(--gds-empty-state-icon-size)}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5762
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: GdsEmptyStateComponent, isStandalone: true, selector: "gds-empty-state", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, suppressIcon: { classPropertyName: "suppressIcon", publicName: "suppressIcon", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "\n gds-align-items-center\n gds-display-flex\n gds-flex-column\n gds-text-body\n gds-text-center\n gds-text-primary-primary\n gds-width-100-parent\n gds-gap-sm\n " }, usesInheritance: true, ngImport: i0, template: "@if (!suppressIcon()) {\n <img\n class=\"icon\"\n [src]=\"imageSrc()\"\n alt=\"empty state icon\"\n />\n}\n\n<div\n class=\"\n gds-display-none-empty\n gds-text-primary-primary\n \"\n [ngClass]=\"titleTextSize()\"\n>\n <ng-content />\n</div>\n\n<div\n class=\"\n gds-display-none-empty\n gds-text-primary-primary\n \"\n [ngClass]=\"otherTextSize()\"\n>\n <ng-content select=\"[subtitle]\" />\n</div>\n\n<div class=\"gds-display-none-empty\">\n <ng-content select=\"[button]\" />\n</div>\n\n<div\n class=\"\n gds-display-none-empty\n gds-text-secondary\n \"\n [ngClass]=\"otherTextSize()\"\n>\n <ng-content select=\"[footer]\" />\n</div>\n", styles: ["@layer design-system{:host{--gds-empty-state-icon-size: 132px;justify-content:center;height:100%}:host .icon{height:var(--gds-empty-state-icon-size);width:var(--gds-empty-state-icon-size)}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5350
5763
  }
5351
5764
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GdsEmptyStateComponent, decorators: [{
5352
5765
  type: Component,
@@ -5355,15 +5768,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
5355
5768
  gds-align-items-center
5356
5769
  gds-display-flex
5357
5770
  gds-flex-column
5358
- gds-height-100-parent
5359
- gds-justify-content-center
5360
5771
  gds-text-body
5361
5772
  gds-text-center
5362
5773
  gds-text-primary-primary
5363
5774
  gds-width-100-parent
5364
5775
  gds-gap-sm
5365
5776
  `
5366
- }, template: "@if (!suppressIcon()) {\n <img\n class=\"icon\"\n [src]=\"imageSrc()\"\n alt=\"empty state icon\"\n />\n}\n\n<div\n class=\"\n gds-display-none-empty\n gds-text-primary-primary\n \"\n [ngClass]=\"titleTextSize()\"\n>\n <ng-content />\n</div>\n\n<div\n class=\"\n gds-display-none-empty\n gds-text-primary-primary\n \"\n [ngClass]=\"otherTextSize()\"\n>\n <ng-content select=\"[subtitle]\" />\n</div>\n\n<div class=\"gds-display-none-empty\">\n <ng-content select=\"[button]\" />\n</div>\n\n<div\n class=\"\n gds-display-none-empty\n gds-text-secondary\n \"\n [ngClass]=\"otherTextSize()\"\n>\n <ng-content select=\"[footer]\" />\n</div>\n", styles: ["@layer design-system{:host{--gds-empty-state-icon-size: 132px}:host .icon{height:var(--gds-empty-state-icon-size);width:var(--gds-empty-state-icon-size)}}\n"] }]
5777
+ }, template: "@if (!suppressIcon()) {\n <img\n class=\"icon\"\n [src]=\"imageSrc()\"\n alt=\"empty state icon\"\n />\n}\n\n<div\n class=\"\n gds-display-none-empty\n gds-text-primary-primary\n \"\n [ngClass]=\"titleTextSize()\"\n>\n <ng-content />\n</div>\n\n<div\n class=\"\n gds-display-none-empty\n gds-text-primary-primary\n \"\n [ngClass]=\"otherTextSize()\"\n>\n <ng-content select=\"[subtitle]\" />\n</div>\n\n<div class=\"gds-display-none-empty\">\n <ng-content select=\"[button]\" />\n</div>\n\n<div\n class=\"\n gds-display-none-empty\n gds-text-secondary\n \"\n [ngClass]=\"otherTextSize()\"\n>\n <ng-content select=\"[footer]\" />\n</div>\n", styles: ["@layer design-system{:host{--gds-empty-state-icon-size: 132px;justify-content:center;height:100%}:host .icon{height:var(--gds-empty-state-icon-size);width:var(--gds-empty-state-icon-size)}}\n"] }]
5367
5778
  }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], suppressIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "suppressIcon", required: false }] }], compact: [{ type: i0.Input, args: [{ isSignal: true, alias: "compact", required: false }] }] } });
5368
5779
 
5369
5780
  const GDS_EMPTY_STATE_VARIANTS = [
@@ -6122,27 +6533,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
6122
6533
  }, template: "<ng-content />\n<div\n [innerHTML]=\"inputValue()\"\n data-testId=\"valueTooltip\"\n [style.left]=\"currentValueTooltipLeftOffset()\"\n class=\"\n gds-border-color-default\n gds-display-inline-block\n gds-padding-block-3xs\n gds-padding-inline-2xs\n gds-radius-sm\n gds-text-caption\n gds-text-center\n value-tooltip\n \"\n></div>\n", styles: ["@layer design-system{:host{--gds-form-control-active-color: var(--gds-palette-background-bright);--gds-form-control-background-color: var(--gds-palette-background-bright);--gds-form-control-cursor: pointer;--background-color: var(--gds-form-control-background-color, var(--gds-palette-background-white));--border-color: var(--gds-form-control-border-color, var(--gds-palette-border-default));--text-color: var(--gds-form-control-text-color, var(--gds-palette-text-default-primary));--active-color: var(--gds-form-control-active-color, var(--gds-palette-border-selected));--cursor: var(--gds-form-control-cursor, auto);--hover-color: var(--gds-form-control-hover-color, var(--gds-palette-background-secondary));--placeholder-color: var(--gds-form-control-placeholder-color, var(--gds-palette-text-default-placeholder));--invalid-color: var(--gds-form-control-invalid-color, var(--gds-palette-helper-error-inverse));--disabled-text-color: var(--gds-form-control-disabled-text-color, var(--gds-palette-text-default-disabled));--disabled-background-color: var( --gds-form-control-disabled-background-color, var(--gds-palette-background-disabled) );--disabled-border-color: var(--gds-form-control-disabled-border-color, var(--gds-palette-border-default))}:host[disabled],:host:has(*:disabled,*[disabled=true]){--background-color: var(--disabled-background-color);--text-color: var(--disabled-text-color);--hover-color: var(--disabled-background-color);--border-color: var(--disabled-border-color);--cursor: not-allowed}:host[invalid][touched]:not(:focus-within,.is-controlled),:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled){--border-color: var(--invalid-color);--text-color: var(--invalid-color);--placeholder-color: var(--invalid-color);--active-color: var(--invalid-color)}:host[invalid][touched]:not(:focus-within,.is-controlled),:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled){--background-color: var(--invalid-color)}:host[disabled],:host:has(*:disabled,*[disabled=true]){--active-color: var(--disabled-border-color)}:host ::ng-deep input{cursor:var(--cursor);overflow:visible;border-radius:var(--gds-borderRadius-sm)}:host ::ng-deep input::-webkit-slider-thumb{appearance:none;height:20px;width:20px;border-radius:50%;background-color:var(--active-color);border:4px solid var(--gds-palette-background-white);outline:1px solid var(--border-color);box-sizing:border-box;margin-top:-8px}:host ::ng-deep input::-moz-range-thumb{appearance:none;height:20px;width:20px;margin-top:-6px;border-radius:50%;background-color:var(--active-color);border:4px solid var(--gds-palette-background-white);outline:1px solid var(--border-color);box-sizing:border-box}:host ::ng-deep input::-webkit-slider-runnable-track{height:var(--gds-size-3xs);background:var(--background-color);border-radius:var(--gds-borderRadius-sm)}:host ::ng-deep input::-moz-range-track{height:var(--gds-size-3xs);background:var(--background-color);border-radius:var(--gds-borderRadius-sm)}:host ::ng-deep input:focus-visible{outline:2px solid var(--gds-palette-border-dark);outline-offset:10px}:host .value-tooltip{position:absolute;top:-28px;left:0;border:1px solid;color:var(--text-color);background-color:var(--gds-palette-background-white);box-shadow:0 4px 8px #00000024;transform:translate(-50%)}}\n"] }]
6123
6534
  }], propDecorators: { input: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GdsNativeInputDirective), { isSignal: true }] }] } });
6124
6535
 
6125
- class GdsTextInputComponent extends GdsSignalFormContainer {
6126
- input = contentChild(GdsNativeInputDirective, ...(ngDevMode ? [{ debugName: "input" }] : /* istanbul ignore next */ []));
6127
- #elementRef = inject((ElementRef));
6128
- nativeElement = this.#elementRef.nativeElement;
6129
- ngAfterContentInit() {
6130
- if (!this.input()) {
6131
- throw new Error('GdsNativeInputDirective is required for this component. Please update the imports to include GdsNativeInputDirective.');
6132
- }
6133
- }
6134
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GdsTextInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
6135
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.17", type: GdsTextInputComponent, isStandalone: true, selector: "gds-text-input", host: { listeners: { "click": "input()?.nativeElement?.focus()" }, classAttribute: "gds-display-flex gds-align-items-center gds-justify-content-center gds-gap-2xs gds-padding-block-3xs gds-padding-inline-xs gds-radius-sm gds-text-input\n gds-mobile-padding-block-0 gds-mobile-padding-inline-end-0 gds-mobile-text-input-mobile" }, queries: [{ propertyName: "input", first: true, predicate: GdsNativeInputDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[leading-visual]\" />\n<ng-content />\n<ng-content select=\"[trailing-visual]\" />\n", styles: ["@layer design-system{:host{--background-color: var(--gds-form-control-background-color, var(--gds-palette-background-white));--border-color: var(--gds-form-control-border-color, var(--gds-palette-border-default));--text-color: var(--gds-form-control-text-color, var(--gds-palette-text-default-primary));--active-color: var(--gds-form-control-active-color, var(--gds-palette-border-selected));--cursor: var(--gds-form-control-cursor, auto);--hover-color: var(--gds-form-control-hover-color, var(--gds-palette-background-secondary));--placeholder-color: var(--gds-form-control-placeholder-color, var(--gds-palette-text-default-placeholder));--invalid-color: var(--gds-form-control-invalid-color, var(--gds-palette-helper-error-inverse));--disabled-text-color: var(--gds-form-control-disabled-text-color, var(--gds-palette-text-default-disabled));--disabled-background-color: var( --gds-form-control-disabled-background-color, var(--gds-palette-background-disabled) );--disabled-border-color: var(--gds-form-control-disabled-border-color, var(--gds-palette-border-default))}:host[disabled],:host:has(*:disabled,*[disabled=true]){--background-color: var(--disabled-background-color);--text-color: var(--disabled-text-color);--hover-color: var(--disabled-background-color);--border-color: var(--disabled-border-color);--cursor: not-allowed}:host[invalid][touched]:not(:focus-within,.is-controlled),:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled){--border-color: var(--invalid-color);--text-color: var(--invalid-color);--placeholder-color: var(--invalid-color);--active-color: var(--invalid-color)}:host{background-color:var(--background-color);border:.5px solid var(--border-color);color:var(--text-color);cursor:var(--cursor)!important}:host ::ng-deep input:focus,:host ::ng-deep textarea:focus{outline:none}:host:focus-within,:host.is-controlled{isolation:isolate;position:relative}:host:focus-within:before,:host.is-controlled:before{z-index:-1;content:\"\";position:absolute;inset:0;border-bottom:var(--gds-borderWidth-lg) solid var(--active-color);border-radius:var(--gds-borderRadius-xs)}:host{min-height:var(--gds-size-md-rem)}:is(body[isMobile=true]) :host{min-height:var(--gds-size-lg-rem)}:host:hover{background-color:var(--hover-color)}:host[disabled]::ng-deep svg-icon,:host:has(*:disabled,*[disabled=true])::ng-deep svg-icon{color:var(--disabled-text-color)}:host[invalid][touched]:not(:focus-within,.is-controlled)::ng-deep svg-icon,:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled)::ng-deep svg-icon{color:var(--invalid-color)}:host ::ng-deep *::placeholder{color:var(--placeholder-color)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6136
- }
6137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GdsTextInputComponent, decorators: [{
6138
- type: Component,
6139
- args: [{ standalone: true, selector: 'gds-text-input', changeDetection: ChangeDetectionStrategy.OnPush, host: {
6140
- '(click)': 'input()?.nativeElement?.focus()',
6141
- class: `gds-display-flex gds-align-items-center gds-justify-content-center gds-gap-2xs gds-padding-block-3xs gds-padding-inline-xs gds-radius-sm gds-text-input
6142
- gds-mobile-padding-block-0 gds-mobile-padding-inline-end-0 gds-mobile-text-input-mobile`
6143
- }, template: "<ng-content select=\"[leading-visual]\" />\n<ng-content />\n<ng-content select=\"[trailing-visual]\" />\n", styles: ["@layer design-system{:host{--background-color: var(--gds-form-control-background-color, var(--gds-palette-background-white));--border-color: var(--gds-form-control-border-color, var(--gds-palette-border-default));--text-color: var(--gds-form-control-text-color, var(--gds-palette-text-default-primary));--active-color: var(--gds-form-control-active-color, var(--gds-palette-border-selected));--cursor: var(--gds-form-control-cursor, auto);--hover-color: var(--gds-form-control-hover-color, var(--gds-palette-background-secondary));--placeholder-color: var(--gds-form-control-placeholder-color, var(--gds-palette-text-default-placeholder));--invalid-color: var(--gds-form-control-invalid-color, var(--gds-palette-helper-error-inverse));--disabled-text-color: var(--gds-form-control-disabled-text-color, var(--gds-palette-text-default-disabled));--disabled-background-color: var( --gds-form-control-disabled-background-color, var(--gds-palette-background-disabled) );--disabled-border-color: var(--gds-form-control-disabled-border-color, var(--gds-palette-border-default))}:host[disabled],:host:has(*:disabled,*[disabled=true]){--background-color: var(--disabled-background-color);--text-color: var(--disabled-text-color);--hover-color: var(--disabled-background-color);--border-color: var(--disabled-border-color);--cursor: not-allowed}:host[invalid][touched]:not(:focus-within,.is-controlled),:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled){--border-color: var(--invalid-color);--text-color: var(--invalid-color);--placeholder-color: var(--invalid-color);--active-color: var(--invalid-color)}:host{background-color:var(--background-color);border:.5px solid var(--border-color);color:var(--text-color);cursor:var(--cursor)!important}:host ::ng-deep input:focus,:host ::ng-deep textarea:focus{outline:none}:host:focus-within,:host.is-controlled{isolation:isolate;position:relative}:host:focus-within:before,:host.is-controlled:before{z-index:-1;content:\"\";position:absolute;inset:0;border-bottom:var(--gds-borderWidth-lg) solid var(--active-color);border-radius:var(--gds-borderRadius-xs)}:host{min-height:var(--gds-size-md-rem)}:is(body[isMobile=true]) :host{min-height:var(--gds-size-lg-rem)}:host:hover{background-color:var(--hover-color)}:host[disabled]::ng-deep svg-icon,:host:has(*:disabled,*[disabled=true])::ng-deep svg-icon{color:var(--disabled-text-color)}:host[invalid][touched]:not(:focus-within,.is-controlled)::ng-deep svg-icon,:host:has(input[invalid][touched],textarea[invalid][touched]):not(:focus-within,.is-controlled)::ng-deep svg-icon{color:var(--invalid-color)}:host ::ng-deep *::placeholder{color:var(--placeholder-color)}}\n"] }]
6144
- }], propDecorators: { input: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GdsNativeInputDirective), { isSignal: true }] }] } });
6145
-
6146
6536
  class GdsAutoGrowingTextareaComponent extends GdsSignalFormContainer {
6147
6537
  maxRows = input(...(ngDevMode ? [undefined, { debugName: "maxRows" }] : /* istanbul ignore next */ []));
6148
6538
  dataReplicatedValue = signal('', ...(ngDevMode ? [{ debugName: "dataReplicatedValue" }] : /* istanbul ignore next */ []));
@@ -6441,105 +6831,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
6441
6831
  }, template: "<ul class=\"\n gds-display-flex\n gds-flex-column\n gds-gap-2xs\n gds-margin-0\n gds-padding-0\n\">\n <ng-content />\n</ul>\n<ul class=\"\n gds-display-flex\n gds-flex-column\n gds-gap-2xs\n gds-margin-0\n gds-margin-block-start-auto\n gds-padding-0\n\">\n <ng-content select=\"[menu-bottom]\" />\n</ul>\n", styles: ["@layer design-system{:host{box-shadow:-3px 0 4px #00000012 inset;border-right:.5px solid var(--gds-palette-border-default)}}\n"] }]
6442
6832
  }] });
6443
6833
 
6444
- const CDK_MENU_CONNECTED_POSITIONS = [
6445
- {
6446
- originX: 'center',
6447
- originY: 'bottom',
6448
- overlayX: 'center',
6449
- overlayY: 'top',
6450
- offsetY: 4
6451
- },
6452
- {
6453
- originX: 'center',
6454
- originY: 'top',
6455
- overlayX: 'center',
6456
- overlayY: 'bottom',
6457
- offsetY: -4
6458
- },
6459
- {
6460
- originX: 'end',
6461
- originY: 'bottom',
6462
- overlayX: 'end',
6463
- overlayY: 'top',
6464
- offsetY: 4
6465
- },
6466
- {
6467
- originX: 'end',
6468
- originY: 'top',
6469
- overlayX: 'end',
6470
- overlayY: 'bottom',
6471
- offsetY: -4
6472
- }
6473
- ];
6474
- const CDK_MENU_CONNECTED_POSITIONS_TOP = [
6475
- {
6476
- originX: 'center',
6477
- originY: 'top',
6478
- overlayX: 'center',
6479
- overlayY: 'bottom',
6480
- offsetY: -4
6481
- },
6482
- {
6483
- originX: 'center',
6484
- originY: 'bottom',
6485
- overlayX: 'center',
6486
- overlayY: 'top',
6487
- offsetY: 4
6488
- },
6489
- {
6490
- originX: 'end',
6491
- originY: 'bottom',
6492
- overlayX: 'end',
6493
- overlayY: 'top',
6494
- offsetY: 4
6495
- },
6496
- {
6497
- originX: 'end',
6498
- originY: 'top',
6499
- overlayX: 'end',
6500
- overlayY: 'bottom',
6501
- offsetY: -4
6502
- }
6503
- ];
6504
- /** for use when the context menu is close to the right side of the container
6505
- * so that it doesn't go over the edge, per UX
6506
- */
6507
- const CDK_MENU_CONNECTED_POSITIONS_CONTAINER_RIGHT = [
6508
- {
6509
- originX: 'end',
6510
- originY: 'bottom',
6511
- overlayX: 'end',
6512
- overlayY: 'top',
6513
- offsetY: 4
6514
- },
6515
- {
6516
- originX: 'end',
6517
- originY: 'top',
6518
- overlayX: 'end',
6519
- overlayY: 'bottom',
6520
- offsetY: -4
6521
- }
6522
- ];
6523
- /** for use when the context menu is close to the left side of the container
6524
- * so that it doesn't go over the edge, per UX
6525
- */
6526
- const CDK_MENU_CONNECTED_POSITIONS_CONTAINER_LEFT = [
6527
- {
6528
- originX: 'start',
6529
- originY: 'bottom',
6530
- overlayX: 'start',
6531
- overlayY: 'top',
6532
- offsetY: 4
6533
- },
6534
- {
6535
- originX: 'start',
6536
- originY: 'top',
6537
- overlayX: 'start',
6538
- overlayY: 'bottom',
6539
- offsetY: -4
6540
- }
6541
- ];
6542
-
6543
6834
  class GdsNestedSelectComponent extends GdsSignalFormContainer {
6544
6835
  #injector = inject(Injector);
6545
6836
  #directive = inject(CdkMenuTrigger);
@@ -7222,7 +7513,7 @@ class GdsToastComponent {
7222
7513
  title = computed(() => this.toast().title, ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
7223
7514
  message = computed(() => this.toast().message, ...(ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []));
7224
7515
  actionLabel = computed(() => this.toast().options.payload?.actionLabel, ...(ngDevMode ? [{ debugName: "actionLabel" }] : /* istanbul ignore next */ []));
7225
- dismissAriaLabel = computed(() => this.toast().options.payload?.dismissAriaLabel ?? 'Gds.Toast.Dismiss.AriaLabel', ...(ngDevMode ? [{ debugName: "dismissAriaLabel" }] : /* istanbul ignore next */ []));
7516
+ dismissAriaLabel = computed(() => this.toast().options.payload?.dismissAriaLabel ?? 'Dismiss notification', ...(ngDevMode ? [{ debugName: "dismissAriaLabel" }] : /* istanbul ignore next */ []));
7226
7517
  actionAriaLabel = computed(() => this.toast().options.payload?.actionAriaLabel, ...(ngDevMode ? [{ debugName: "actionAriaLabel" }] : /* istanbul ignore next */ []));
7227
7518
  action = (event) => {
7228
7519
  event?.stopPropagation();
@@ -7679,6 +7970,7 @@ class GdsTreeViewListItemComponent {
7679
7970
  expanded = input(false, { ...(ngDevMode ? { debugName: "expanded" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
7680
7971
  hasChildren = input(false, { ...(ngDevMode ? { debugName: "hasChildren" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
7681
7972
  ariaLabel = input('', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
7973
+ disableChevron = input(...(ngDevMode ? [undefined, { debugName: "disableChevron" }] : /* istanbul ignore next */ []));
7682
7974
  clicked = output();
7683
7975
  doubleClicked = output();
7684
7976
  toggleExpanded = output();
@@ -7726,15 +8018,15 @@ class GdsTreeViewListItemComponent {
7726
8018
  }
7727
8019
  }
7728
8020
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GdsTreeViewListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7729
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: GdsTreeViewListItemComponent, isStandalone: true, selector: "gds-tree-view-list-item", inputs: { tier: { classPropertyName: "tier", publicName: "tier", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, nowrap: { classPropertyName: "nowrap", publicName: "nowrap", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, hasChildren: { classPropertyName: "hasChildren", publicName: "hasChildren", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clicked: "clicked", doubleClicked: "doubleClicked", toggleExpanded: "toggleExpanded" }, host: { properties: { "style.--tier": "tier()" }, classAttribute: "gds-display-contents" }, queries: [{ propertyName: "checkbox", first: true, predicate: GdsCheckboxComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "item", first: true, predicate: ["item"], descendants: true, isSignal: true }], hostDirectives: [{ directive: GdsListboxOptionDirective }], ngImport: i0, template: "<div\n #item\n class=\"\n gds-align-items-center\n gds-display-flex\n gds-gap-2xs\n gds-min-width-0\n gds-position-relative\n gds-width-100-parent\n root\n \"\n [ngClass]=\"{\n selected: activeOverride(),\n disabled: disabled(),\n dropdown: expanded(),\n 'has-checkbox': hasCheckbox()\n }\"\n role=\"treeitem\"\n [attr.aria-selected]=\"activeOverride()\"\n [attr.aria-label]=\"ariaLabel()\"\n [tabindex]=\"-1\"\n (click)=\"onHandleClick($event)\"\n (keydown.space)=\"onHandleClick($event)\"\n (dblclick)=\"onHandleDoubleClick($event)\"\n (keydown.arrowRight)=\"handleToggleExpanded($event, true)\"\n (keydown.arrowLeft)=\"handleToggleExpanded($event, false)\"\n>\n <ng-content select=\"[checkbox]\" />\n @if (displayChevron()) {\n <button\n class=\"\n chevron-btn\n gds-background-none\n gds-min-height-0\n gds-mobile-margin-inline-end-sm\n \"\n gds-icon-button\n variant=\"primary\"\n [tabindex]=\"-1\"\n (clicked)=\"handleToggleExpanded($event)\"\n >\n <gds-icon\n class=\"\n chevron\n gds-icon-size-2xs\n gds-mobile-icon-size-sm\n \"\n key=\"line-chevron-right-stroke\"\n />\n </button>\n } @else {\n <span class=\"gds-width-sm\"></span>\n }\n\n @if (icon(); as icon) {\n <gds-icon\n class=\"\n gds-icon-size-xs\n gds-mobile-icon-size-sm\n icon\n \"\n [key]=\"icon\"\n />\n }\n <div class=\"\n gds-flex-1\n gds-min-width-0\n gds-text-body\n label\n \">\n <ng-content />\n </div>\n <div class=\"\n end-content\n gds-padding-block-end-2xs\n gds-text-caption\n \">\n <ng-content select=\"[end-content]\" />\n </div>\n</div>\n\n<div [ngClass]=\"{ 'gds-display-none': !expanded() }\">\n <ng-content select=\"[expanded-content]\" />\n</div>\n", styles: ["@layer design-system{:host{--tier: 0;--wrapper-margin: 1px;--wrapper-margin-block: 2px;--cursor: pointer;--label-text-color: var(--gds-palette-text-default-primary);--end-content-text-color: var(--gds-palette-text-default-secondary);--icon-color: var(--gds-palette-icon-primary)}:host .disabled{--cursor: not-allowed;--label-text-color: var(--gds-palette-text-default-disabled);--end-content-text-color: var(--gds-palette-text-default-disabled);--icon-color: var(--gds-palette-icon-disabled)}:host:focus-visible{outline:none}:host:focus>.root:before,:host:focus-visible>.root:before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}:host .root{padding-left:calc(var(--gds-spacing-sm) + var(--gds-spacing-md) * (var(--tier) - 1));cursor:var(--cursor);padding-block:6px;outline:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}:host .root:focus-within:before,:host .root:hover:not(.disabled):before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}:host .label{color:var(--label-text-color)}:host .end-content{color:var(--end-content-text-color)}:host .selected:not(.disabled):before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}:host .selected:not(.disabled):not(.has-checkbox):after{content:\"\";position:absolute;border-radius:3px;width:3px;height:61%;top:50%;left:calc(var(--wrapper-margin, 0px) - 1px);transform:translateY(-50%);background:var(--gds-palette-border-selected);padding:0}:host .dropdown .chevron{transition:rotate .2s ease;rotate:90deg}:host .chevron{z-index:1;transition:rotate .2s ease;rotate:0deg}:host .label{z-index:1}:host .end-content{z-index:1}:host .icon{z-index:1;color:var(--icon-color)}:is(body[isMobile=true]) :host .root{padding-block:2px}:is(body[isMobile=true]) :host .chevron-btn{order:1}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: GdsIconComponent, selector: "gds-icon", inputs: ["key", "width", "height", "color"] }, { kind: "component", type: GdsIconButtonComponent, selector: "button[gds-icon-button]", inputs: ["tooltipLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8021
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: GdsTreeViewListItemComponent, isStandalone: true, selector: "gds-tree-view-list-item", inputs: { tier: { classPropertyName: "tier", publicName: "tier", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, nowrap: { classPropertyName: "nowrap", publicName: "nowrap", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, hasChildren: { classPropertyName: "hasChildren", publicName: "hasChildren", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, disableChevron: { classPropertyName: "disableChevron", publicName: "disableChevron", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clicked: "clicked", doubleClicked: "doubleClicked", toggleExpanded: "toggleExpanded" }, host: { properties: { "style.--tier": "tier()" }, classAttribute: "gds-display-contents" }, queries: [{ propertyName: "checkbox", first: true, predicate: GdsCheckboxComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "item", first: true, predicate: ["item"], descendants: true, isSignal: true }], hostDirectives: [{ directive: GdsListboxOptionDirective }], ngImport: i0, template: "<div\n #item\n class=\"\n gds-align-items-center\n gds-display-flex\n gds-gap-2xs\n gds-min-width-0\n gds-position-relative\n gds-width-100-parent\n root\n \"\n [ngClass]=\"{\n selected: activeOverride(),\n disabled: disabled(),\n dropdown: expanded(),\n 'has-checkbox': hasCheckbox()\n }\"\n role=\"treeitem\"\n [attr.aria-selected]=\"activeOverride()\"\n [attr.aria-label]=\"ariaLabel()\"\n [tabindex]=\"-1\"\n (click)=\"onHandleClick($event)\"\n (keydown.space)=\"onHandleClick($event)\"\n (dblclick)=\"onHandleDoubleClick($event)\"\n (keydown.arrowRight)=\"handleToggleExpanded($event, true)\"\n (keydown.arrowLeft)=\"handleToggleExpanded($event, false)\"\n>\n <ng-content select=\"[checkbox]\" />\n @if (displayChevron()) {\n <button\n class=\"\n chevron-btn\n gds-background-none\n gds-border-none\n gds-min-height-0\n gds-mobile-margin-inline-end-sm\n \"\n gds-icon-button\n variant=\"primary\"\n [disabled]=\"disableChevron()\"\n [tabindex]=\"-1\"\n (clicked)=\"handleToggleExpanded($event)\"\n >\n <gds-icon\n class=\"\n chevron\n gds-icon-size-2xs\n gds-mobile-icon-size-sm\n \"\n key=\"line-chevron-right-stroke\"\n />\n </button>\n } @else {\n <span class=\"gds-width-sm\"></span>\n }\n\n @if (icon(); as icon) {\n <gds-icon\n class=\"\n gds-icon-size-xs\n gds-mobile-icon-size-sm\n icon\n \"\n [key]=\"icon\"\n />\n }\n <div class=\"\n gds-flex-1\n gds-min-width-0\n gds-text-body\n label\n \">\n <ng-content />\n </div>\n <div class=\"\n end-content\n gds-padding-block-end-2xs\n gds-text-caption\n \">\n <ng-content select=\"[end-content]\" />\n </div>\n</div>\n\n<div [ngClass]=\"{ 'gds-display-none': !expanded() }\">\n <ng-content select=\"[expanded-content]\" />\n</div>\n", styles: ["@layer design-system{:host{--tier: 0;--wrapper-margin: 1px;--wrapper-margin-block: 2px;--cursor: pointer;--label-text-color: var(--gds-palette-text-default-primary);--end-content-text-color: var(--gds-palette-text-default-secondary);--icon-color: var(--gds-palette-icon-primary)}:host .disabled{--cursor: not-allowed;--label-text-color: var(--gds-palette-text-default-disabled);--end-content-text-color: var(--gds-palette-text-default-disabled);--icon-color: var(--gds-palette-icon-disabled)}:host:focus-visible{outline:none}:host:focus>.root:before,:host:focus-visible>.root:before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}:host .root{padding-left:calc(25px * (var(--tier) - 1));cursor:var(--cursor);padding-block:6px;outline:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}:host .root:focus-within:before,:host .root:hover:not(.disabled):before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}:host .label{color:var(--label-text-color)}:host .end-content{color:var(--end-content-text-color)}:host .selected:not(.disabled):before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}:host .selected:not(.disabled):not(.has-checkbox):after{content:\"\";position:absolute;border-radius:3px;width:3px;height:61%;top:50%;left:calc(var(--wrapper-margin, 0px) - 1px);transform:translateY(-50%);background:var(--gds-palette-border-selected);padding:0}:host .dropdown .chevron{transition:rotate .2s ease;rotate:90deg}:host .chevron{z-index:1;transition:rotate .2s ease;rotate:0deg}:host .label{z-index:1}:host .end-content{z-index:1}:host .icon{z-index:1;color:var(--icon-color)}:is(body[isMobile=true]) :host .root{padding-block:2px}:is(body[isMobile=true]) :host .chevron-btn{order:1}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: GdsIconComponent, selector: "gds-icon", inputs: ["key", "width", "height", "color"] }, { kind: "component", type: GdsIconButtonComponent, selector: "button[gds-icon-button]", inputs: ["tooltipLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7730
8022
  }
7731
8023
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GdsTreeViewListItemComponent, decorators: [{
7732
8024
  type: Component,
7733
8025
  args: [{ selector: 'gds-tree-view-list-item', imports: [NgClass, GdsIconComponent, GdsIconButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
7734
8026
  '[style.--tier]': 'tier()',
7735
8027
  class: 'gds-display-contents'
7736
- }, hostDirectives: [GdsListboxOptionDirective], template: "<div\n #item\n class=\"\n gds-align-items-center\n gds-display-flex\n gds-gap-2xs\n gds-min-width-0\n gds-position-relative\n gds-width-100-parent\n root\n \"\n [ngClass]=\"{\n selected: activeOverride(),\n disabled: disabled(),\n dropdown: expanded(),\n 'has-checkbox': hasCheckbox()\n }\"\n role=\"treeitem\"\n [attr.aria-selected]=\"activeOverride()\"\n [attr.aria-label]=\"ariaLabel()\"\n [tabindex]=\"-1\"\n (click)=\"onHandleClick($event)\"\n (keydown.space)=\"onHandleClick($event)\"\n (dblclick)=\"onHandleDoubleClick($event)\"\n (keydown.arrowRight)=\"handleToggleExpanded($event, true)\"\n (keydown.arrowLeft)=\"handleToggleExpanded($event, false)\"\n>\n <ng-content select=\"[checkbox]\" />\n @if (displayChevron()) {\n <button\n class=\"\n chevron-btn\n gds-background-none\n gds-min-height-0\n gds-mobile-margin-inline-end-sm\n \"\n gds-icon-button\n variant=\"primary\"\n [tabindex]=\"-1\"\n (clicked)=\"handleToggleExpanded($event)\"\n >\n <gds-icon\n class=\"\n chevron\n gds-icon-size-2xs\n gds-mobile-icon-size-sm\n \"\n key=\"line-chevron-right-stroke\"\n />\n </button>\n } @else {\n <span class=\"gds-width-sm\"></span>\n }\n\n @if (icon(); as icon) {\n <gds-icon\n class=\"\n gds-icon-size-xs\n gds-mobile-icon-size-sm\n icon\n \"\n [key]=\"icon\"\n />\n }\n <div class=\"\n gds-flex-1\n gds-min-width-0\n gds-text-body\n label\n \">\n <ng-content />\n </div>\n <div class=\"\n end-content\n gds-padding-block-end-2xs\n gds-text-caption\n \">\n <ng-content select=\"[end-content]\" />\n </div>\n</div>\n\n<div [ngClass]=\"{ 'gds-display-none': !expanded() }\">\n <ng-content select=\"[expanded-content]\" />\n</div>\n", styles: ["@layer design-system{:host{--tier: 0;--wrapper-margin: 1px;--wrapper-margin-block: 2px;--cursor: pointer;--label-text-color: var(--gds-palette-text-default-primary);--end-content-text-color: var(--gds-palette-text-default-secondary);--icon-color: var(--gds-palette-icon-primary)}:host .disabled{--cursor: not-allowed;--label-text-color: var(--gds-palette-text-default-disabled);--end-content-text-color: var(--gds-palette-text-default-disabled);--icon-color: var(--gds-palette-icon-disabled)}:host:focus-visible{outline:none}:host:focus>.root:before,:host:focus-visible>.root:before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}:host .root{padding-left:calc(var(--gds-spacing-sm) + var(--gds-spacing-md) * (var(--tier) - 1));cursor:var(--cursor);padding-block:6px;outline:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}:host .root:focus-within:before,:host .root:hover:not(.disabled):before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}:host .label{color:var(--label-text-color)}:host .end-content{color:var(--end-content-text-color)}:host .selected:not(.disabled):before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}:host .selected:not(.disabled):not(.has-checkbox):after{content:\"\";position:absolute;border-radius:3px;width:3px;height:61%;top:50%;left:calc(var(--wrapper-margin, 0px) - 1px);transform:translateY(-50%);background:var(--gds-palette-border-selected);padding:0}:host .dropdown .chevron{transition:rotate .2s ease;rotate:90deg}:host .chevron{z-index:1;transition:rotate .2s ease;rotate:0deg}:host .label{z-index:1}:host .end-content{z-index:1}:host .icon{z-index:1;color:var(--icon-color)}:is(body[isMobile=true]) :host .root{padding-block:2px}:is(body[isMobile=true]) :host .chevron-btn{order:1}}\n"] }]
7737
- }], propDecorators: { checkbox: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GdsCheckboxComponent), { isSignal: true }] }], item: [{ type: i0.ViewChild, args: ['item', { isSignal: true }] }], tier: [{ type: i0.Input, args: [{ isSignal: true, alias: "tier", required: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], nowrap: [{ type: i0.Input, args: [{ isSignal: true, alias: "nowrap", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }], hasChildren: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasChildren", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], clicked: [{ type: i0.Output, args: ["clicked"] }], doubleClicked: [{ type: i0.Output, args: ["doubleClicked"] }], toggleExpanded: [{ type: i0.Output, args: ["toggleExpanded"] }] } });
8028
+ }, hostDirectives: [GdsListboxOptionDirective], template: "<div\n #item\n class=\"\n gds-align-items-center\n gds-display-flex\n gds-gap-2xs\n gds-min-width-0\n gds-position-relative\n gds-width-100-parent\n root\n \"\n [ngClass]=\"{\n selected: activeOverride(),\n disabled: disabled(),\n dropdown: expanded(),\n 'has-checkbox': hasCheckbox()\n }\"\n role=\"treeitem\"\n [attr.aria-selected]=\"activeOverride()\"\n [attr.aria-label]=\"ariaLabel()\"\n [tabindex]=\"-1\"\n (click)=\"onHandleClick($event)\"\n (keydown.space)=\"onHandleClick($event)\"\n (dblclick)=\"onHandleDoubleClick($event)\"\n (keydown.arrowRight)=\"handleToggleExpanded($event, true)\"\n (keydown.arrowLeft)=\"handleToggleExpanded($event, false)\"\n>\n <ng-content select=\"[checkbox]\" />\n @if (displayChevron()) {\n <button\n class=\"\n chevron-btn\n gds-background-none\n gds-border-none\n gds-min-height-0\n gds-mobile-margin-inline-end-sm\n \"\n gds-icon-button\n variant=\"primary\"\n [disabled]=\"disableChevron()\"\n [tabindex]=\"-1\"\n (clicked)=\"handleToggleExpanded($event)\"\n >\n <gds-icon\n class=\"\n chevron\n gds-icon-size-2xs\n gds-mobile-icon-size-sm\n \"\n key=\"line-chevron-right-stroke\"\n />\n </button>\n } @else {\n <span class=\"gds-width-sm\"></span>\n }\n\n @if (icon(); as icon) {\n <gds-icon\n class=\"\n gds-icon-size-xs\n gds-mobile-icon-size-sm\n icon\n \"\n [key]=\"icon\"\n />\n }\n <div class=\"\n gds-flex-1\n gds-min-width-0\n gds-text-body\n label\n \">\n <ng-content />\n </div>\n <div class=\"\n end-content\n gds-padding-block-end-2xs\n gds-text-caption\n \">\n <ng-content select=\"[end-content]\" />\n </div>\n</div>\n\n<div [ngClass]=\"{ 'gds-display-none': !expanded() }\">\n <ng-content select=\"[expanded-content]\" />\n</div>\n", styles: ["@layer design-system{:host{--tier: 0;--wrapper-margin: 1px;--wrapper-margin-block: 2px;--cursor: pointer;--label-text-color: var(--gds-palette-text-default-primary);--end-content-text-color: var(--gds-palette-text-default-secondary);--icon-color: var(--gds-palette-icon-primary)}:host .disabled{--cursor: not-allowed;--label-text-color: var(--gds-palette-text-default-disabled);--end-content-text-color: var(--gds-palette-text-default-disabled);--icon-color: var(--gds-palette-icon-disabled)}:host:focus-visible{outline:none}:host:focus>.root:before,:host:focus-visible>.root:before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}:host .root{padding-left:calc(25px * (var(--tier) - 1));cursor:var(--cursor);padding-block:6px;outline:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}:host .root:focus-within:before,:host .root:hover:not(.disabled):before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}:host .label{color:var(--label-text-color)}:host .end-content{color:var(--end-content-text-color)}:host .selected:not(.disabled):before{content:\"\";position:absolute;border-radius:var(--gds-borderRadius-sm);width:calc(100% - 2 * var(--wrapper-margin-inline, var(--wrapper-margin, 0px)));height:calc(100% - 2 * var(--wrapper-margin-block, var(--wrapper-margin, 0px)));top:var(--wrapper-margin-block, var(--wrapper-margin, 0px));left:var(--wrapper-margin-inline, var(--wrapper-margin, 0px));background:var(--gds-palette-background-hover);pointer-events:none}:host .selected:not(.disabled):not(.has-checkbox):after{content:\"\";position:absolute;border-radius:3px;width:3px;height:61%;top:50%;left:calc(var(--wrapper-margin, 0px) - 1px);transform:translateY(-50%);background:var(--gds-palette-border-selected);padding:0}:host .dropdown .chevron{transition:rotate .2s ease;rotate:90deg}:host .chevron{z-index:1;transition:rotate .2s ease;rotate:0deg}:host .label{z-index:1}:host .end-content{z-index:1}:host .icon{z-index:1;color:var(--icon-color)}:is(body[isMobile=true]) :host .root{padding-block:2px}:is(body[isMobile=true]) :host .chevron-btn{order:1}}\n"] }]
8029
+ }], propDecorators: { checkbox: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GdsCheckboxComponent), { isSignal: true }] }], item: [{ type: i0.ViewChild, args: ['item', { isSignal: true }] }], tier: [{ type: i0.Input, args: [{ isSignal: true, alias: "tier", required: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], nowrap: [{ type: i0.Input, args: [{ isSignal: true, alias: "nowrap", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }], hasChildren: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasChildren", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], disableChevron: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableChevron", required: false }] }], clicked: [{ type: i0.Output, args: ["clicked"] }], doubleClicked: [{ type: i0.Output, args: ["doubleClicked"] }], toggleExpanded: [{ type: i0.Output, args: ["toggleExpanded"] }] } });
7738
8030
 
7739
8031
  class TreeViewListItemDirective {
7740
8032
  templateRef = inject((TemplateRef));
@@ -8078,7 +8370,7 @@ class GdsChatSuggestionComponent {
8078
8370
  this.clicked.emit();
8079
8371
  }
8080
8372
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GdsChatSuggestionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8081
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.17", type: GdsChatSuggestionComponent, isStandalone: true, selector: "button[gds-chat-suggestion]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clicked: "clicked" }, host: { attributes: { "type": "button" }, listeners: { "click": "handleClick($event)" }, properties: { "attr.disabled": "disabled() ? \"\" : undefined" }, classAttribute: "gds-radius-sm gds-mobile-radius-md" }, ngImport: i0, template: "<ng-content />\n", styles: ["@layer design-system{:host{padding:var(--gds-spacing-2xs);font:var(--gds-text-caption-shorthand);color:var(--gds-palette-text-primary-primary);text-align:start;-webkit-user-select:none;user-select:none;border-width:1px;border-style:solid;border-color:var(--gds-palette-border-primary);background-color:var(--gds-palette-background-white)}:is(body[isMobile=true]) :host{padding:var(--gds-spacing-sm);box-shadow:var(--gds-shadow-element);color:var(--gds-palette-text-default-primary)}:host:disabled{color:var(--gds-palette-text-default-disabled);border-color:var(--gds-neutral-100);background-color:var(--gds-palette-background-disabled);cursor:not-allowed}:host:not(:disabled):hover{background-color:var(--gds-palette-background-hover)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8373
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.17", type: GdsChatSuggestionComponent, isStandalone: true, selector: "button[gds-chat-suggestion]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clicked: "clicked" }, host: { attributes: { "type": "button" }, listeners: { "click": "handleClick($event)" }, properties: { "attr.disabled": "disabled() ? \"\" : undefined" }, classAttribute: "gds-radius-sm gds-mobile-radius-md" }, ngImport: i0, template: "<ng-content />\n", styles: ["@layer design-system{:host{padding:var(--gds-spacing-2xs);font:var(--gds-text-caption-shorthand);color:var(--gds-palette-text-primary-primary);text-align:start;-webkit-user-select:none;user-select:none;border-width:1px;border-style:solid;border-color:var(--gds-palette-border-primary);background-color:var(--gds-palette-background-white)}:is(body[isMobile=true]) :host{padding:var(--gds-spacing-sm);box-shadow:var(--gds-shadow-element);color:var(--gds-palette-text-default-primary)}:host:disabled{color:var(--gds-palette-text-default-disabled);border-color:var(--gds-neutral-100);background-color:var(--gds-palette-background-disabled);cursor:not-allowed}:is(body[isMobile=true]) :host:disabled{color:var(--gds-palette-text-default-disabled)}:host:not(:disabled):hover{background-color:var(--gds-palette-background-hover)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8082
8374
  }
8083
8375
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GdsChatSuggestionComponent, decorators: [{
8084
8376
  type: Component,
@@ -8090,7 +8382,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
8090
8382
  type: 'button',
8091
8383
  '[attr.disabled]': 'disabled() ? "" : undefined',
8092
8384
  '(click)': 'handleClick($event)'
8093
- }, template: "<ng-content />\n", styles: ["@layer design-system{:host{padding:var(--gds-spacing-2xs);font:var(--gds-text-caption-shorthand);color:var(--gds-palette-text-primary-primary);text-align:start;-webkit-user-select:none;user-select:none;border-width:1px;border-style:solid;border-color:var(--gds-palette-border-primary);background-color:var(--gds-palette-background-white)}:is(body[isMobile=true]) :host{padding:var(--gds-spacing-sm);box-shadow:var(--gds-shadow-element);color:var(--gds-palette-text-default-primary)}:host:disabled{color:var(--gds-palette-text-default-disabled);border-color:var(--gds-neutral-100);background-color:var(--gds-palette-background-disabled);cursor:not-allowed}:host:not(:disabled):hover{background-color:var(--gds-palette-background-hover)}}\n"] }]
8385
+ }, template: "<ng-content />\n", styles: ["@layer design-system{:host{padding:var(--gds-spacing-2xs);font:var(--gds-text-caption-shorthand);color:var(--gds-palette-text-primary-primary);text-align:start;-webkit-user-select:none;user-select:none;border-width:1px;border-style:solid;border-color:var(--gds-palette-border-primary);background-color:var(--gds-palette-background-white)}:is(body[isMobile=true]) :host{padding:var(--gds-spacing-sm);box-shadow:var(--gds-shadow-element);color:var(--gds-palette-text-default-primary)}:host:disabled{color:var(--gds-palette-text-default-disabled);border-color:var(--gds-neutral-100);background-color:var(--gds-palette-background-disabled);cursor:not-allowed}:is(body[isMobile=true]) :host:disabled{color:var(--gds-palette-text-default-disabled)}:host:not(:disabled):hover{background-color:var(--gds-palette-background-hover)}}\n"] }]
8094
8386
  }], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], clicked: [{ type: i0.Output, args: ["clicked"] }] } });
8095
8387
 
8096
8388
  class GdsAutoRoundCurrencyDirective {
@@ -8443,5 +8735,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
8443
8735
  * Generated bundle index. Do not edit.
8444
8736
  */
8445
8737
 
8446
- export { BrandEnum, CDN_URL, CONTACT_INITIALS_REGEX, GDS_BRANDS, GDS_EMPTY_STATE_VARIANTS, GDS_TOASTER_CONFIG, GDS_TOAST_CONTAINER, GdsAccountingService, GdsAutoRoundCurrencyDirective, GdsAutofocusDirective, GdsAvatarComponent, GdsBadgeColorType, GdsBadgeComponent, GdsBadgeVariantType, GdsBannerComponent, GdsBreadcrumbsComponent, GdsBuildOptionConfigPipe, GdsButtonComponent, GdsButtonRadioOptionComponent, GdsChatExpandableListComponent, GdsChatPromptComponent, GdsChatSuggestionComponent, GdsCheckboxComponent, GdsChipColorsMap, GdsChipComponent, GdsCollapsibleAsideLayoutComponent, GdsCompositeOptionPrimaryDirective, GdsCompositeOptionSecondaryDirective, GdsContextMenuHeadingComponent, GdsContextMenuItemComponent, GdsContextMenuItemVariantEnum, GdsContextMenuSwitchComponent, GdsDateInputComponent, GdsDatePipe, GdsDialogBaseDirective, GdsDialogComponent, GdsDialogOverlayComponent, GdsDialogService, GdsDoctypeService, GdsDoctypeToIconPipe, GdsDocumentItemComponent, GdsDropdownComponent, GdsEmptyStateComponent, GdsFeatureBlockComponent, GdsFeedbackButtonComponent, GdsFileUploadComponent, GdsFilenameToIconPipe, GdsFilterChipComponent, GdsFocusOnInitDirective, GdsFormControlComponent, GdsHistoryComponent, GdsIconButtonComponent, GdsIconComponent, GdsIconDoctypeComponent, GdsIconService, GdsInputAutocompleteDirective, GdsItemDisplayComponent, GdsKeyboardNavigationHost, GdsKeyboardNavigationItem, GdsListboxCompositeOptionDirective, GdsListboxDirective, GdsListboxOptionDirective, GdsLoadingCarouselComponent, GdsMapArrayToRadioOptionsPipe, GdsMathFloorPipe, GdsMathMaxPipe, GdsMathMinPipe, GdsMessageInputComponent, GdsModule, GdsNativeInputDirective, GdsNativeTextareaDirective, GdsNavAsideComponent, GdsNavAsideItemComponent, GdsNestedSelectComponent, GdsProgressBarComponent, GdsRadioComponent, GdsRadioOptionDirective, GdsReferenceComponent, GdsReferenceLinkComponent, GdsRegexFilterDirective, GdsResizedDirective, GdsResizedEvent, GdsResponseComponent, GdsScrollOutOfViewDirective, GdsScrollOutOfViewScrollStatus, GdsScrollOutOfViewService, GdsScrollToBottomDirective, GdsScrollToFirstInvalidDirective, GdsSearchBarComponent, GdsSelectComponent, GdsSelectOnFocusDirective, GdsSidebarItemBodyComponent, GdsSidebarItemComponent, GdsSkeletonLoadingComponent, GdsSliderComponent, GdsSpinnerComponent, GdsSplitButtonComponent, GdsSvgIconPipe, GdsSwitchComponent, GdsTextInputComponent, GdsTextareaComponent, GdsTimelineItemComponent, GdsToastComponent, GdsTooltipComponent, GdsTreeViewListItemComponent, GdsUserPromptService, GdsVirtualScrollListboxDirective, MapperPipe, OnBrandChanged, RoundMode, ToastrService, TreeViewListItemDirective, chipColor, chipSize, chipTypes, chipWidth, formatToISO, gdsButtonSizes, gdsButtonVariants, gdsDropdownPositionsX, gdsDropdownPositionsY, gdsSelectWidths, gdsServices, gdsUserPromptSecondaryTextVariants, getIconsByPrefix, isGdsBrand, ngSelectDropdownPositions, parseLocalizedDate, provideToaster, shortDate, shortDateTime, transformDateFormat, transformDurationToSeconds, transformSecondsToDuration };
8738
+ export { BrandEnum, CDN_URL, CONTACT_INITIALS_REGEX, GDS_BRANDS, GDS_EMPTY_STATE_VARIANTS, GDS_TOASTER_CONFIG, GDS_TOAST_CONTAINER, GdsAccountingService, GdsAutoRoundCurrencyDirective, GdsAutofocusDirective, GdsAvatarComponent, GdsBadgeColorType, GdsBadgeComponent, GdsBadgeVariantType, GdsBannerComponent, GdsBreadcrumbsComponent, GdsBuildOptionConfigPipe, GdsButtonComponent, GdsButtonRadioOptionComponent, GdsChatExpandableListComponent, GdsChatPromptComponent, GdsChatSuggestionComponent, GdsCheckboxComponent, GdsChipColorsMap, GdsChipComponent, GdsCollapsibleAsideLayoutComponent, GdsCompositeOptionPrimaryDirective, GdsCompositeOptionSecondaryDirective, GdsContextMenuHeadingComponent, GdsContextMenuItemComponent, GdsContextMenuItemVariantEnum, GdsContextMenuSwitchComponent, GdsDateInputComponent, GdsDatePipe, GdsDialogBaseDirective, GdsDialogComponent, GdsDialogOverlayComponent, GdsDialogService, GdsDoctypeService, GdsDoctypeToIconPipe, GdsDocumentItemComponent, GdsDrilldownSelectComponent, GdsDropdownComponent, GdsEmptyStateComponent, GdsFeatureBlockComponent, GdsFeedbackButtonComponent, GdsFileUploadComponent, GdsFilenameToIconPipe, GdsFilterChipComponent, GdsFocusOnInitDirective, GdsFormControlComponent, GdsHistoryComponent, GdsIconButtonComponent, GdsIconComponent, GdsIconDoctypeComponent, GdsIconService, GdsInputAutocompleteDirective, GdsItemDisplayComponent, GdsKeyboardNavigationHost, GdsKeyboardNavigationItem, GdsListboxCompositeOptionDirective, GdsListboxDirective, GdsListboxOptionDirective, GdsLoadingCarouselComponent, GdsMapArrayToRadioOptionsPipe, GdsMathFloorPipe, GdsMathMaxPipe, GdsMathMinPipe, GdsMessageInputComponent, GdsModule, GdsNativeInputDirective, GdsNativeTextareaDirective, GdsNavAsideComponent, GdsNavAsideItemComponent, GdsNestedSelectComponent, GdsProgressBarComponent, GdsRadioComponent, GdsRadioOptionDirective, GdsReferenceComponent, GdsReferenceLinkComponent, GdsRegexFilterDirective, GdsResizedDirective, GdsResizedEvent, GdsResponseComponent, GdsScrollOutOfViewDirective, GdsScrollOutOfViewScrollStatus, GdsScrollOutOfViewService, GdsScrollToBottomDirective, GdsScrollToFirstInvalidDirective, GdsSearchBarComponent, GdsSelectComponent, GdsSelectOnFocusDirective, GdsSidebarItemBodyComponent, GdsSidebarItemComponent, GdsSkeletonLoadingComponent, GdsSliderComponent, GdsSpinnerComponent, GdsSplitButtonComponent, GdsSvgIconPipe, GdsSwitchComponent, GdsTextInputComponent, GdsTextareaComponent, GdsTimelineItemComponent, GdsToastComponent, GdsTooltipComponent, GdsTreeViewListItemComponent, GdsUserPromptService, GdsVirtualScrollListboxDirective, MapperPipe, OnBrandChanged, RoundMode, ToastrService, TreeViewListItemDirective, chipColor, chipSize, chipTypes, chipWidth, formatToISO, gdsButtonSizes, gdsButtonVariants, gdsDropdownPositionsX, gdsDropdownPositionsY, gdsSelectWidths, gdsServices, gdsUserPromptSecondaryTextVariants, getIconsByPrefix, isGdsBrand, ngSelectDropdownPositions, parseLocalizedDate, provideToaster, shortDate, shortDateTime, transformDateFormat, transformDurationToSeconds, transformSecondsToDuration };
8447
8739
  //# sourceMappingURL=corto-ai-gds-angular.mjs.map