@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.
- package/README.md +5 -5
- package/assets/css/acctivity.css +72 -0
- package/assets/css/acctivity.css.map +1 -1
- package/assets/css/all.css +72 -0
- package/assets/css/all.css.map +1 -1
- package/assets/css/corto.css +72 -0
- package/assets/css/corto.css.map +1 -1
- package/assets/css/lawy.css +72 -0
- package/assets/css/lawy.css.map +1 -1
- package/assets/css/leap.css +72 -0
- package/assets/css/leap.css.map +1 -1
- package/assets/scss/mixins/_animated-border.scss +44 -0
- package/assets/scss/utilities/_scroll.scss +4 -0
- package/assets/svg/line/line-document-one-page-sparkle.svg +3 -0
- package/fesm2022/corto-ai-gds-angular.mjs +424 -132
- package/fesm2022/corto-ai-gds-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/types/corto-ai-gds-angular.d.ts +75 -30
|
@@ -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-
|
|
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 ?? '
|
|
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(
|
|
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(
|
|
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
|