@clr/angular 13.8.4 → 13.9.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/accordion/accordion-panel.d.ts +2 -2
- package/accordion/stepper/stepper-panel.d.ts +2 -2
- package/button/button-group/button-group.d.ts +2 -2
- package/clarity.api.md +52 -45
- package/data/datagrid/datagrid-action-overflow.d.ts +2 -2
- package/data/datagrid/datagrid-column-separator.d.ts +1 -1
- package/data/datagrid/datagrid-column-toggle.d.ts +2 -6
- package/data/datagrid/datagrid-filter.d.ts +2 -2
- package/data/datagrid/datagrid-if-detail.d.ts +1 -0
- package/data/datagrid/datagrid.d.ts +1 -1
- package/data/datagrid/providers/selection.d.ts +1 -3
- package/data/stack-view/stack-block.d.ts +3 -3
- package/data/stack-view/stack-content-input.d.ts +0 -1
- package/data/stack-view/stack-view-custom-tags.d.ts +0 -2
- package/data/tree-view/tree-node.d.ts +3 -3
- package/esm2020/accordion/accordion-panel.mjs +9 -12
- package/esm2020/accordion/stepper/stepper-panel.mjs +7 -11
- package/esm2020/button/button-group/button-group.mjs +7 -12
- package/esm2020/button/button-group/button.mjs +1 -1
- package/esm2020/button/button-loading/loading-button.mjs +1 -1
- package/esm2020/data/datagrid/built-in/comparators/datagrid-property-comparator.mjs +1 -1
- package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter-impl.mjs +1 -1
- package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +1 -1
- package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter-impl.mjs +1 -1
- package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter.mjs +1 -1
- package/esm2020/data/datagrid/built-in/nested-property.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-action-overflow.mjs +8 -11
- package/esm2020/data/datagrid/datagrid-cell.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-column-separator.mjs +6 -10
- package/esm2020/data/datagrid/datagrid-column-toggle.mjs +9 -22
- package/esm2020/data/datagrid/datagrid-column.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-detail.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-filter.mjs +7 -10
- package/esm2020/data/datagrid/datagrid-footer.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-hideable-column.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-if-detail.mjs +12 -3
- package/esm2020/data/datagrid/datagrid-items.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-pagination.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-placeholder.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-row-detail.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-row.mjs +1 -1
- package/esm2020/data/datagrid/datagrid.mjs +5 -9
- package/esm2020/data/datagrid/providers/column-resizer.service.mjs +1 -1
- package/esm2020/data/datagrid/providers/detail.service.mjs +1 -1
- package/esm2020/data/datagrid/providers/display-mode.service.mjs +1 -1
- package/esm2020/data/datagrid/providers/filters.mjs +1 -1
- package/esm2020/data/datagrid/providers/global-expandable-rows.mjs +1 -1
- package/esm2020/data/datagrid/providers/items.mjs +1 -1
- package/esm2020/data/datagrid/providers/page.mjs +1 -1
- package/esm2020/data/datagrid/providers/row-action-service.mjs +1 -1
- package/esm2020/data/datagrid/providers/selection.mjs +4 -5
- package/esm2020/data/datagrid/providers/sort.mjs +1 -1
- package/esm2020/data/datagrid/providers/state-debouncer.provider.mjs +1 -1
- package/esm2020/data/datagrid/providers/table-size.service.mjs +1 -1
- package/esm2020/data/datagrid/render/header-renderer.mjs +1 -1
- package/esm2020/data/datagrid/render/main-renderer.mjs +1 -1
- package/esm2020/data/datagrid/render/render-organizer.mjs +1 -1
- package/esm2020/data/datagrid/render/row-renderer.mjs +1 -1
- package/esm2020/data/datagrid/utils/datagrid-filter-registrar.mjs +1 -1
- package/esm2020/data/stack-view/stack-block.mjs +13 -11
- package/esm2020/data/stack-view/stack-content-input.mjs +7 -10
- package/esm2020/data/stack-view/stack-view-custom-tags.mjs +8 -13
- package/esm2020/data/tree-view/tree-focus-manager.service.mjs +1 -1
- package/esm2020/data/tree-view/tree-node.mjs +7 -20
- package/esm2020/emphasis/alert/alerts.mjs +1 -1
- package/esm2020/emphasis/alert/providers/icon-and-types.service.mjs +1 -1
- package/esm2020/emphasis/alert/providers/multi-alert.service.mjs +1 -1
- package/esm2020/forms/checkbox/checkbox-container.mjs +1 -1
- package/esm2020/forms/combobox/combobox.mjs +19 -20
- package/esm2020/forms/combobox/option-items.directive.mjs +1 -1
- package/esm2020/forms/combobox/option.mjs +8 -13
- package/esm2020/forms/combobox/options.mjs +10 -19
- package/esm2020/forms/combobox/providers/combobox-focus-handler.service.mjs +4 -9
- package/esm2020/forms/combobox/providers/option-selection.service.mjs +1 -1
- package/esm2020/forms/common/abstract-control.mjs +1 -1
- package/esm2020/forms/common/providers/container-id.service.mjs +1 -1
- package/esm2020/forms/common/providers/control-id.service.mjs +1 -1
- package/esm2020/forms/common/wrapped-control.mjs +1 -8
- package/esm2020/forms/datalist/providers/datalist-id.service.mjs +1 -1
- package/esm2020/forms/datepicker/date-container.mjs +1 -1
- package/esm2020/forms/datepicker/date-input.mjs +1 -1
- package/esm2020/forms/datepicker/date-input.validator.mjs +40 -0
- package/esm2020/forms/datepicker/datepicker.module.mjs +5 -1
- package/esm2020/forms/datepicker/day.mjs +1 -1
- package/esm2020/forms/datepicker/index.mjs +2 -1
- package/esm2020/forms/datepicker/model/calendar.model.mjs +1 -1
- package/esm2020/forms/datepicker/model/day.model.mjs +1 -1
- package/esm2020/forms/datepicker/providers/date-form-control.service.mjs +1 -1
- package/esm2020/forms/datepicker/providers/date-io.service.mjs +1 -1
- package/esm2020/forms/datepicker/providers/date-navigation.service.mjs +1 -1
- package/esm2020/forms/datepicker/yearpicker.mjs +1 -10
- package/esm2020/forms/radio/radio-container.mjs +1 -1
- package/esm2020/layout/nav/aria-current-link.mjs +1 -1
- package/esm2020/layout/nav/providers/responsive-navigation.service.mjs +1 -1
- package/esm2020/layout/nav/responsive-nav-codes.mjs +1 -1
- package/esm2020/layout/tabs/tab-content.mjs +6 -14
- package/esm2020/layout/tabs/tab-link.directive.mjs +6 -14
- package/esm2020/layout/tabs/tab.mjs +3 -4
- package/esm2020/layout/vertical-nav/providers/vertical-nav-group-registration.service.mjs +1 -1
- package/esm2020/modal/modal.mjs +13 -12
- package/esm2020/popover/common/abstract-popover.mjs +1 -1
- package/esm2020/popover/common/popover.mjs +1 -1
- package/esm2020/popover/dropdown/dropdown-item.mjs +1 -1
- package/esm2020/popover/dropdown/dropdown-trigger.mjs +1 -1
- package/esm2020/popover/dropdown/providers/dropdown-focus-handler.service.mjs +6 -9
- package/esm2020/popover/signpost/signpost-content.mjs +8 -12
- package/esm2020/popover/signpost/signpost-trigger.mjs +1 -1
- package/esm2020/popover/signpost/signpost.mjs +1 -1
- package/esm2020/popover/tooltip/tooltip-content.mjs +5 -9
- package/esm2020/popover/tooltip/tooltip-trigger.mjs +1 -1
- package/esm2020/popover/tooltip/tooltip.mjs +3 -18
- package/esm2020/timeline/providers/timeline-icon-attribute.service.mjs +1 -1
- package/esm2020/timeline/timeline-step.mjs +1 -1
- package/esm2020/utils/a11y/aria-live.service.mjs +1 -1
- package/esm2020/utils/chocolate/willy-wonka.mjs +1 -1
- package/esm2020/utils/conditional/if-active.directive.mjs +1 -1
- package/esm2020/utils/conditional/if-active.service.mjs +1 -1
- package/esm2020/utils/conditional/if-expanded.service.mjs +1 -1
- package/esm2020/utils/conditional/if-open.directive.mjs +1 -1
- package/esm2020/utils/drag-and-drop/drag-event.mjs +1 -1
- package/esm2020/utils/drag-and-drop/draggable/draggable.mjs +1 -1
- package/esm2020/utils/drag-and-drop/providers/drag-event-listener.service.mjs +1 -1
- package/esm2020/utils/drag-and-drop/providers/drag-handle-registrar.service.mjs +1 -1
- package/esm2020/utils/drag-and-drop/providers/draggable-snapshot.service.mjs +1 -1
- package/esm2020/utils/focus/focus.service.mjs +1 -1
- package/esm2020/utils/focus/focusable-item/basic-focusable-item.service.mjs +7 -11
- package/esm2020/utils/focus/focusable-item/custom-focusable-item-provider.mjs +1 -3
- package/esm2020/utils/focus-trap/focus-trap.directive.mjs +1 -1
- package/esm2020/utils/id-generator/id-generator.service.mjs +1 -7
- package/esm2020/utils/loading/loading.mjs +1 -1
- package/esm2020/utils/popover/popover-content.mjs +1 -1
- package/esm2020/utils/popover/providers/popover-events.service.mjs +1 -1
- package/esm2020/utils/popover/providers/popover-position.service.mjs +1 -1
- package/esm2020/utils/popover/providers/popover-toggle.service.mjs +1 -1
- package/esm2020/wizard/providers/button-hub.service.mjs +1 -1
- package/esm2020/wizard/providers/header-actions.service.mjs +1 -1
- package/esm2020/wizard/providers/page-collection.service.mjs +1 -1
- package/esm2020/wizard/providers/wizard-navigation.service.mjs +1 -1
- package/esm2020/wizard/wizard-button.mjs +1 -1
- package/esm2020/wizard/wizard-header-action.mjs +1 -1
- package/esm2020/wizard/wizard-page.mjs +1 -1
- package/esm2020/wizard/wizard-stepnav-item.mjs +1 -1
- package/esm2020/wizard/wizard.mjs +8 -23
- package/fesm2015/clr-angular.mjs +428 -556
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +435 -555
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/forms/combobox/combobox.d.ts +4 -5
- package/forms/combobox/option.d.ts +1 -2
- package/forms/combobox/options.d.ts +3 -6
- package/forms/combobox/providers/combobox-focus-handler.service.d.ts +2 -6
- package/forms/datepicker/date-input.validator.d.ts +10 -0
- package/forms/datepicker/datepicker.module.d.ts +14 -13
- package/forms/datepicker/index.d.ts +1 -0
- package/forms/datepicker/yearpicker.d.ts +0 -2
- package/layout/tabs/tab-content.d.ts +2 -5
- package/layout/tabs/tab-link.directive.d.ts +2 -5
- package/modal/modal.d.ts +3 -2
- package/package.json +1 -1
- package/popover/dropdown/providers/dropdown-focus-handler.service.d.ts +4 -7
- package/popover/signpost/signpost-content.d.ts +3 -3
- package/popover/tooltip/tooltip-content.d.ts +2 -3
- package/utils/focus/focusable-item/basic-focusable-item.service.d.ts +4 -7
- package/utils/focus/focusable-item/custom-focusable-item-provider.d.ts +1 -4
- package/utils/id-generator/id-generator.service.d.ts +0 -6
- package/wizard/wizard.d.ts +2 -2
- package/esm2020/utils/aria/aria.service.mjs +0 -16
- package/utils/aria/aria.service.d.ts +0 -8
package/fesm2020/clr-angular.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, NgModule, Optional, Input, Injectable,
|
|
2
|
+
import { Directive, NgModule, Optional, Input, Injectable, Component, ChangeDetectionStrategy, EventEmitter, Output, ContentChildren, PLATFORM_ID, Inject, ViewChild, HostBinding, HostListener, SkipSelf, ContentChild, ComponentFactoryResolver, ElementRef, Self, InjectionToken, Attribute, Renderer2, LOCALE_ID, ViewContainerRef, NgZone, ChangeDetectorRef, TemplateRef } from '@angular/core';
|
|
3
3
|
import * as i5 from '@angular/common';
|
|
4
4
|
import { CommonModule, isPlatformBrowser, DOCUMENT, NgForOf, getLocaleDayNames, FormStyle, TranslationWidth, getLocaleMonthNames, getLocaleFirstDayOfWeek, getLocaleDateFormat, FormatWidth } from '@angular/common';
|
|
5
5
|
import { ClarityIcons, angleIcon, exclamationCircleIcon, checkCircleIcon, ellipsisHorizontalIcon, windowCloseIcon, eventIcon, calendarIcon, eyeHideIcon, eyeIcon, ellipsisVerticalIcon, viewColumnsIcon, arrowIcon, timesIcon, stepForward2Icon, angleDoubleIcon, filterGridCircleIcon, filterGridIcon, infoCircleIcon, exclamationTriangleIcon, circleIcon, dotCircleIcon, errorStandardIcon, successStandardIcon } from '@cds/core/icon';
|
|
@@ -8,7 +8,7 @@ import * as i3 from 'rxjs';
|
|
|
8
8
|
import { Subject, BehaviorSubject, Observable, fromEvent, isObservable, of, ReplaySubject, combineLatest } from 'rxjs';
|
|
9
9
|
import { trigger, transition, style, animate, keyframes, state } from '@angular/animations';
|
|
10
10
|
import * as i1 from '@angular/forms';
|
|
11
|
-
import { FormControl, FormGroup, FormsModule, SelectMultipleControlValueAccessor } from '@angular/forms';
|
|
11
|
+
import { FormControl, FormGroup, FormsModule, NG_VALIDATORS, SelectMultipleControlValueAccessor } from '@angular/forms';
|
|
12
12
|
import * as i1$1 from '@angular/router';
|
|
13
13
|
import { FocusTrapTrackerService, createId, isFocusable, isHTMLElement } from '@cds/core/internal';
|
|
14
14
|
import '@cds/core/internal-components/close-button/register.js';
|
|
@@ -186,14 +186,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
186
186
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
187
187
|
*/
|
|
188
188
|
let NB_INSTANCES = 0;
|
|
189
|
-
const UNIQUE_ID = new InjectionToken('UNIQUE_ID');
|
|
190
189
|
function uniqueIdFactory() {
|
|
191
190
|
return 'clr-id-' + NB_INSTANCES++;
|
|
192
191
|
}
|
|
193
|
-
const UNIQUE_ID_PROVIDER = {
|
|
194
|
-
provide: UNIQUE_ID,
|
|
195
|
-
useFactory: uniqueIdFactory,
|
|
196
|
-
};
|
|
197
192
|
|
|
198
193
|
/*
|
|
199
194
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
@@ -533,16 +528,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
533
528
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
534
529
|
*/
|
|
535
530
|
class ClrAccordionPanel {
|
|
536
|
-
constructor(commonStrings, accordionService, ifExpandService
|
|
531
|
+
constructor(commonStrings, accordionService, ifExpandService) {
|
|
537
532
|
this.commonStrings = commonStrings;
|
|
538
533
|
this.accordionService = accordionService;
|
|
539
534
|
this.ifExpandService = ifExpandService;
|
|
540
|
-
this._id = _id;
|
|
541
535
|
this.disabled = false;
|
|
542
536
|
this.panelOpen = false;
|
|
543
537
|
this.panelOpenChange = new EventEmitter();
|
|
544
538
|
this.AccordionStatus = AccordionStatus;
|
|
545
539
|
this.isAccordion = true;
|
|
540
|
+
this._id = uniqueIdFactory();
|
|
546
541
|
}
|
|
547
542
|
get id() {
|
|
548
543
|
return this._id;
|
|
@@ -600,15 +595,12 @@ class ClrAccordionPanel {
|
|
|
600
595
|
}
|
|
601
596
|
}
|
|
602
597
|
}
|
|
603
|
-
ClrAccordionPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrAccordionPanel, deps: [{ token: ClrCommonStringsService }, { token: AccordionService }, { token: IfExpandService }
|
|
604
|
-
ClrAccordionPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrAccordionPanel, selector: "clr-accordion-panel", inputs: { disabled: ["clrAccordionPanelDisabled", "disabled"], panelOpen: ["clrAccordionPanelOpen", "panelOpen"] }, outputs: { panelOpenChange: "clrAccordionPanelOpenChange" }, host: { properties: { "class.clr-accordion-panel": "true" } }, providers: [IfExpandService
|
|
598
|
+
ClrAccordionPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrAccordionPanel, deps: [{ token: ClrCommonStringsService }, { token: AccordionService }, { token: IfExpandService }], target: i0.ɵɵFactoryTarget.Component });
|
|
599
|
+
ClrAccordionPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrAccordionPanel, selector: "clr-accordion-panel", inputs: { disabled: ["clrAccordionPanelDisabled", "disabled"], panelOpen: ["clrAccordionPanelOpen", "panelOpen"] }, outputs: { panelOpenChange: "clrAccordionPanelOpenChange" }, host: { properties: { "class.clr-accordion-panel": "true" } }, providers: [IfExpandService], queries: [{ propertyName: "accordionDescription", predicate: ClrAccordionDescription }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div *ngIf=\"panel.status !== AccordionStatus.Inactive\" aria-live=\"assertive\" class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n </div>\n\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">{{commonStrings.keys.success}}</ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\"></span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }], pipes: { "async": i5.AsyncPipe }, animations: panelAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
605
600
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrAccordionPanel, decorators: [{
|
|
606
601
|
type: Component,
|
|
607
|
-
args: [{ selector: 'clr-accordion-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: panelAnimation, providers: [IfExpandService
|
|
608
|
-
}], ctorParameters: function () { return [{ type: ClrCommonStringsService }, { type: AccordionService }, { type: IfExpandService },
|
|
609
|
-
type: Inject,
|
|
610
|
-
args: [UNIQUE_ID]
|
|
611
|
-
}] }]; }, propDecorators: { disabled: [{
|
|
602
|
+
args: [{ selector: 'clr-accordion-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: panelAnimation, providers: [IfExpandService], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div *ngIf=\"panel.status !== AccordionStatus.Inactive\" aria-live=\"assertive\" class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n </div>\n\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">{{commonStrings.keys.success}}</ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\"></span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
|
|
603
|
+
}], ctorParameters: function () { return [{ type: ClrCommonStringsService }, { type: AccordionService }, { type: IfExpandService }]; }, propDecorators: { disabled: [{
|
|
612
604
|
type: Input,
|
|
613
605
|
args: ['clrAccordionPanelDisabled']
|
|
614
606
|
}], panelOpen: [{
|
|
@@ -1051,8 +1043,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1051
1043
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
1052
1044
|
*/
|
|
1053
1045
|
class ClrStepperPanel extends ClrAccordionPanel {
|
|
1054
|
-
constructor(platformId, commonStrings, formGroupName, ngModelGroup, stepperService, ifExpandService
|
|
1055
|
-
super(commonStrings, stepperService, ifExpandService
|
|
1046
|
+
constructor(platformId, commonStrings, formGroupName, ngModelGroup, stepperService, ifExpandService) {
|
|
1047
|
+
super(commonStrings, stepperService, ifExpandService);
|
|
1056
1048
|
this.platformId = platformId;
|
|
1057
1049
|
this.commonStrings = commonStrings;
|
|
1058
1050
|
this.formGroupName = formGroupName;
|
|
@@ -1098,11 +1090,11 @@ class ClrStepperPanel extends ClrAccordionPanel {
|
|
|
1098
1090
|
}
|
|
1099
1091
|
}
|
|
1100
1092
|
}
|
|
1101
|
-
ClrStepperPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStepperPanel, deps: [{ token: PLATFORM_ID }, { token: ClrCommonStringsService }, { token: i1.FormGroupName, optional: true }, { token: i1.NgModelGroup, optional: true }, { token: StepperService }, { token: IfExpandService }
|
|
1102
|
-
ClrStepperPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrStepperPanel, selector: "clr-stepper-panel", host: { properties: { "class.clr-accordion-panel": "true" } }, providers: [IfExpandService
|
|
1093
|
+
ClrStepperPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStepperPanel, deps: [{ token: PLATFORM_ID }, { token: ClrCommonStringsService }, { token: i1.FormGroupName, optional: true }, { token: i1.NgModelGroup, optional: true }, { token: StepperService }, { token: IfExpandService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1094
|
+
ClrStepperPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrStepperPanel, selector: "clr-stepper-panel", host: { properties: { "class.clr-accordion-panel": "true" } }, providers: [IfExpandService], viewQueries: [{ propertyName: "headerButton", first: true, predicate: ["headerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div *ngIf=\"panel.status !== AccordionStatus.Inactive\" aria-live=\"assertive\" class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n </div>\n\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">{{commonStrings.keys.success}}</ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\"></span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: CdsIconCustomTag, selector: "cds-icon" }], pipes: { "async": i5.AsyncPipe }, animations: stepAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1103
1095
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStepperPanel, decorators: [{
|
|
1104
1096
|
type: Component,
|
|
1105
|
-
args: [{ selector: 'clr-stepper-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: stepAnimation, providers: [IfExpandService
|
|
1097
|
+
args: [{ selector: 'clr-stepper-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: stepAnimation, providers: [IfExpandService], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div *ngIf=\"panel.status !== AccordionStatus.Inactive\" aria-live=\"assertive\" class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n </div>\n\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">{{commonStrings.keys.success}}</ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\"></span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
|
|
1106
1098
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1107
1099
|
type: Inject,
|
|
1108
1100
|
args: [PLATFORM_ID]
|
|
@@ -1110,10 +1102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1110
1102
|
type: Optional
|
|
1111
1103
|
}] }, { type: i1.NgModelGroup, decorators: [{
|
|
1112
1104
|
type: Optional
|
|
1113
|
-
}] }, { type: StepperService }, { type: IfExpandService },
|
|
1114
|
-
type: Inject,
|
|
1115
|
-
args: [UNIQUE_ID]
|
|
1116
|
-
}] }]; }, propDecorators: { headerButton: [{
|
|
1105
|
+
}] }, { type: StepperService }, { type: IfExpandService }]; }, propDecorators: { headerButton: [{
|
|
1117
1106
|
type: ViewChild,
|
|
1118
1107
|
args: ['headerButton']
|
|
1119
1108
|
}] } });
|
|
@@ -2619,12 +2608,12 @@ ClrPopoverPositions['left-bottom'] = {
|
|
|
2619
2608
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
2620
2609
|
*/
|
|
2621
2610
|
class ClrButtonGroup {
|
|
2622
|
-
constructor(buttonGroupNewService, toggleService,
|
|
2611
|
+
constructor(buttonGroupNewService, toggleService, commonStrings, destroy$) {
|
|
2623
2612
|
this.buttonGroupNewService = buttonGroupNewService;
|
|
2624
2613
|
this.toggleService = toggleService;
|
|
2625
|
-
this.popoverId = popoverId;
|
|
2626
2614
|
this.commonStrings = commonStrings;
|
|
2627
2615
|
this.destroy$ = destroy$;
|
|
2616
|
+
this.popoverId = uniqueIdFactory();
|
|
2628
2617
|
this.popoverPosition = ClrPopoverPositions['bottom-left'];
|
|
2629
2618
|
this.inlineButtons = [];
|
|
2630
2619
|
this.menuButtons = [];
|
|
@@ -2709,10 +2698,9 @@ class ClrButtonGroup {
|
|
|
2709
2698
|
this.popoverPosition = ClrPopoverPositions[this._menuPosition];
|
|
2710
2699
|
}
|
|
2711
2700
|
}
|
|
2712
|
-
ClrButtonGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrButtonGroup, deps: [{ token: ButtonInGroupService }, { token: ClrPopoverToggleService }, { token:
|
|
2701
|
+
ClrButtonGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrButtonGroup, deps: [{ token: ButtonInGroupService }, { token: ClrPopoverToggleService }, { token: ClrCommonStringsService }, { token: ClrDestroyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2713
2702
|
ClrButtonGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrButtonGroup, selector: "clr-button-group", inputs: { menuPosition: ["clrMenuPosition", "menuPosition"] }, host: { properties: { "class.btn-group": "true" } }, providers: [
|
|
2714
2703
|
ButtonInGroupService,
|
|
2715
|
-
UNIQUE_ID_PROVIDER,
|
|
2716
2704
|
ClrPopoverToggleService,
|
|
2717
2705
|
ClrPopoverEventsService,
|
|
2718
2706
|
ClrPopoverPositionService,
|
|
@@ -2722,16 +2710,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
2722
2710
|
type: Component,
|
|
2723
2711
|
args: [{ selector: 'clr-button-group', providers: [
|
|
2724
2712
|
ButtonInGroupService,
|
|
2725
|
-
UNIQUE_ID_PROVIDER,
|
|
2726
2713
|
ClrPopoverToggleService,
|
|
2727
2714
|
ClrPopoverEventsService,
|
|
2728
2715
|
ClrPopoverPositionService,
|
|
2729
2716
|
ClrDestroyService,
|
|
2730
2717
|
], host: { '[class.btn-group]': 'true' }, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<ng-container *ngFor=\"let inlineButton of inlineButtons\">\n <ng-template [ngTemplateOutlet]=\"inlineButton.templateRef\"></ng-template>\n</ng-container>\n<ng-container *ngIf=\"menuButtons.length > 0\">\n <div class=\"btn-group-overflow open\" [ngClass]=\"menuPosition\" #anchor>\n <button\n class=\"btn dropdown-toggle\"\n clrPopoverAnchor\n clrPopoverOpenCloseButton\n [attr.aria-controls]=\"popoverId\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-label]=\"commonStrings.keys.rowActions\"\n >\n <cds-icon shape=\"ellipsis-horizontal\" [attr.title]=\"commonStrings.keys.more\"></cds-icon>\n </button>\n <div\n role=\"menu\"\n class=\"dropdown-menu clr-button-group-menu\"\n [id]=\"popoverId\"\n [attr.id]=\"popoverId\"\n [attr.aria-hidden]=\"!open\"\n *clrPopoverContent=\"open at popoverPosition; outsideClickToClose: true; scrollToClose: true\"\n >\n <ng-template [ngTemplateOutlet]=\"ref\"></ng-template>\n </div>\n </div>\n</ng-container>\n<ng-template #ref>\n <ng-container *ngFor=\"let menuButton of menuButtons\">\n <ng-template [ngTemplateOutlet]=\"menuButton.templateRef\"></ng-template>\n </ng-container>\n</ng-template>\n" }]
|
|
2731
|
-
}], ctorParameters: function () { return [{ type: ButtonInGroupService }, { type: ClrPopoverToggleService }, { type:
|
|
2732
|
-
type: Inject,
|
|
2733
|
-
args: [UNIQUE_ID]
|
|
2734
|
-
}] }, { type: ClrCommonStringsService }, { type: ClrDestroyService }]; }, propDecorators: { buttons: [{
|
|
2718
|
+
}], ctorParameters: function () { return [{ type: ButtonInGroupService }, { type: ClrPopoverToggleService }, { type: ClrCommonStringsService }, { type: ClrDestroyService }]; }, propDecorators: { buttons: [{
|
|
2735
2719
|
type: ContentChildren,
|
|
2736
2720
|
args: [ClrButton]
|
|
2737
2721
|
}], menuPosition: [{
|
|
@@ -3728,13 +3712,6 @@ class WrappedFormControl {
|
|
|
3728
3712
|
}
|
|
3729
3713
|
triggerValidation() {
|
|
3730
3714
|
if (this.ifControlStateService) {
|
|
3731
|
-
/**
|
|
3732
|
-
* For some reason the <input type="number" /> on blur ngControl doesn't set the control to 'touched'
|
|
3733
|
-
* This one is a workaround to provide the control to be 'touched' on blur and fix #4480.
|
|
3734
|
-
*/
|
|
3735
|
-
if (this.ngControl && !this.ngControl.touched) {
|
|
3736
|
-
this.markAsTouched();
|
|
3737
|
-
}
|
|
3738
3715
|
this.ifControlStateService.triggerStatusChange();
|
|
3739
3716
|
}
|
|
3740
3717
|
}
|
|
@@ -5210,20 +5187,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
5210
5187
|
*/
|
|
5211
5188
|
const POPOVER_HOST_ANCHOR = new InjectionToken('POPOVER_HOST_ANCHOR');
|
|
5212
5189
|
|
|
5213
|
-
/*
|
|
5214
|
-
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
5215
|
-
* This software is released under MIT license.
|
|
5216
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5217
|
-
*/
|
|
5218
|
-
// TODO: if we find more components that could use this, consider moving this to utils
|
|
5219
|
-
class AriaService {
|
|
5220
|
-
}
|
|
5221
|
-
AriaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AriaService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5222
|
-
AriaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AriaService });
|
|
5223
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AriaService, decorators: [{
|
|
5224
|
-
type: Injectable
|
|
5225
|
-
}] });
|
|
5226
|
-
|
|
5227
5190
|
/*
|
|
5228
5191
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
5229
5192
|
* This software is released under MIT license.
|
|
@@ -5607,7 +5570,6 @@ class FocusableItem {
|
|
|
5607
5570
|
*/
|
|
5608
5571
|
function customFocusableItemProvider(implementation) {
|
|
5609
5572
|
return [
|
|
5610
|
-
UNIQUE_ID_PROVIDER,
|
|
5611
5573
|
implementation,
|
|
5612
5574
|
{
|
|
5613
5575
|
provide: FocusableItem,
|
|
@@ -5720,8 +5682,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
5720
5682
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5721
5683
|
*/
|
|
5722
5684
|
class ComboboxFocusHandler {
|
|
5723
|
-
constructor(
|
|
5724
|
-
this.id = id;
|
|
5685
|
+
constructor(rendererFactory, toggleService, selectionService, platformId) {
|
|
5725
5686
|
this.toggleService = toggleService;
|
|
5726
5687
|
this.selectionService = selectionService;
|
|
5727
5688
|
this.platformId = platformId;
|
|
@@ -5899,14 +5860,11 @@ class ComboboxFocusHandler {
|
|
|
5899
5860
|
this.optionData = options;
|
|
5900
5861
|
}
|
|
5901
5862
|
}
|
|
5902
|
-
ComboboxFocusHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ComboboxFocusHandler, deps: [{ token:
|
|
5863
|
+
ComboboxFocusHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ComboboxFocusHandler, deps: [{ token: i0.RendererFactory2 }, { token: ClrPopoverToggleService }, { token: OptionSelectionService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5903
5864
|
ComboboxFocusHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ComboboxFocusHandler });
|
|
5904
5865
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ComboboxFocusHandler, decorators: [{
|
|
5905
5866
|
type: Injectable
|
|
5906
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
5907
|
-
type: Inject,
|
|
5908
|
-
args: [UNIQUE_ID]
|
|
5909
|
-
}] }, { type: i0.RendererFactory2 }, { type: ClrPopoverToggleService }, { type: OptionSelectionService }, { type: undefined, decorators: [{
|
|
5867
|
+
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: ClrPopoverToggleService }, { type: OptionSelectionService }, { type: undefined, decorators: [{
|
|
5910
5868
|
type: Inject,
|
|
5911
5869
|
args: [PLATFORM_ID]
|
|
5912
5870
|
}] }]; } });
|
|
@@ -5924,13 +5882,238 @@ class OptionData {
|
|
|
5924
5882
|
}
|
|
5925
5883
|
}
|
|
5926
5884
|
|
|
5885
|
+
/*
|
|
5886
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
5887
|
+
* This software is released under MIT license.
|
|
5888
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5889
|
+
*/
|
|
5890
|
+
class ClrOption {
|
|
5891
|
+
constructor(elRef, commonStrings, focusHandler, optionSelectionService) {
|
|
5892
|
+
this.elRef = elRef;
|
|
5893
|
+
this.commonStrings = commonStrings;
|
|
5894
|
+
this.focusHandler = focusHandler;
|
|
5895
|
+
this.optionSelectionService = optionSelectionService;
|
|
5896
|
+
// A proxy with only the necessary data to be used for a11y and the focus handler service.
|
|
5897
|
+
this.optionProxy = new OptionData(null, null);
|
|
5898
|
+
this.optionProxy.el = this.elRef.nativeElement;
|
|
5899
|
+
}
|
|
5900
|
+
set optionId(id) {
|
|
5901
|
+
this._id = id;
|
|
5902
|
+
this.optionProxy.id = this._id;
|
|
5903
|
+
}
|
|
5904
|
+
get optionId() {
|
|
5905
|
+
return this._id;
|
|
5906
|
+
}
|
|
5907
|
+
set value(value) {
|
|
5908
|
+
this._value = value;
|
|
5909
|
+
this.optionProxy.value = value;
|
|
5910
|
+
}
|
|
5911
|
+
get value() {
|
|
5912
|
+
return this._value;
|
|
5913
|
+
}
|
|
5914
|
+
get selected() {
|
|
5915
|
+
return (this.optionSelectionService.selectionModel && this.optionSelectionService.selectionModel.containsItem(this.value));
|
|
5916
|
+
}
|
|
5917
|
+
ngOnInit() {
|
|
5918
|
+
if (!this._id) {
|
|
5919
|
+
this._id = 'clr-option-' + uniqueIdFactory();
|
|
5920
|
+
this.optionProxy.id = this._id;
|
|
5921
|
+
}
|
|
5922
|
+
}
|
|
5923
|
+
onClick() {
|
|
5924
|
+
if (this.optionSelectionService.multiselectable) {
|
|
5925
|
+
this.optionSelectionService.toggle(this.value);
|
|
5926
|
+
}
|
|
5927
|
+
else {
|
|
5928
|
+
this.optionSelectionService.select(this.value);
|
|
5929
|
+
}
|
|
5930
|
+
// As the popover stays open in multi-select mode now, we have to take focus back to the input
|
|
5931
|
+
// This way we achieve two things:
|
|
5932
|
+
// - do not lose focus
|
|
5933
|
+
// - we're still able to use onBlur for "outside-click" handling
|
|
5934
|
+
this.focusHandler.focusInput();
|
|
5935
|
+
}
|
|
5936
|
+
get focusClass() {
|
|
5937
|
+
return this.focusHandler.pseudoFocus.containsItem(this.optionProxy);
|
|
5938
|
+
}
|
|
5939
|
+
}
|
|
5940
|
+
ClrOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrOption, deps: [{ token: i0.ElementRef }, { token: ClrCommonStringsService }, { token: ComboboxFocusHandler }, { token: OptionSelectionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5941
|
+
ClrOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrOption, selector: "clr-option", inputs: { optionId: ["id", "optionId"], value: ["clrValue", "value"] }, host: { listeners: { "click": "onClick()" }, properties: { "class.clr-combobox-option": "true", "attr.role": "\"option\"", "attr.tabindex": "-1", "attr.id": "optionId", "class.active": "this.selected", "class.clr-focus": "this.focusClass" } }, ngImport: i0, template: `
|
|
5942
|
+
<ng-content></ng-content>
|
|
5943
|
+
<span *ngIf="selected" class="clr-sr-only">{{ commonStrings.keys.comboboxSelected }}</span>
|
|
5944
|
+
`, isInline: true, directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
5945
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrOption, decorators: [{
|
|
5946
|
+
type: Component,
|
|
5947
|
+
args: [{
|
|
5948
|
+
selector: 'clr-option',
|
|
5949
|
+
template: `
|
|
5950
|
+
<ng-content></ng-content>
|
|
5951
|
+
<span *ngIf="selected" class="clr-sr-only">{{ commonStrings.keys.comboboxSelected }}</span>
|
|
5952
|
+
`,
|
|
5953
|
+
host: {
|
|
5954
|
+
'[class.clr-combobox-option]': 'true',
|
|
5955
|
+
'[attr.role]': '"option"',
|
|
5956
|
+
// Do not remove. Or click-selection will not work.
|
|
5957
|
+
'[attr.tabindex]': '-1',
|
|
5958
|
+
'[attr.id]': 'optionId',
|
|
5959
|
+
},
|
|
5960
|
+
}]
|
|
5961
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ClrCommonStringsService }, { type: ComboboxFocusHandler }, { type: OptionSelectionService }]; }, propDecorators: { optionId: [{
|
|
5962
|
+
type: Input,
|
|
5963
|
+
args: ['id']
|
|
5964
|
+
}], value: [{
|
|
5965
|
+
type: Input,
|
|
5966
|
+
args: ['clrValue']
|
|
5967
|
+
}], selected: [{
|
|
5968
|
+
type: HostBinding,
|
|
5969
|
+
args: ['class.active']
|
|
5970
|
+
}], onClick: [{
|
|
5971
|
+
type: HostListener,
|
|
5972
|
+
args: ['click']
|
|
5973
|
+
}], focusClass: [{
|
|
5974
|
+
type: HostBinding,
|
|
5975
|
+
args: ['class.clr-focus']
|
|
5976
|
+
}] } });
|
|
5977
|
+
|
|
5978
|
+
/*
|
|
5979
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
5980
|
+
* This software is released under MIT license.
|
|
5981
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5982
|
+
*/
|
|
5983
|
+
let nbOptionsComponents = 0;
|
|
5984
|
+
class ClrOptions {
|
|
5985
|
+
constructor(optionSelectionService, id, el, commonStrings, focusHandler, toggleService, parentHost, document) {
|
|
5986
|
+
this.optionSelectionService = optionSelectionService;
|
|
5987
|
+
this.id = id;
|
|
5988
|
+
this.el = el;
|
|
5989
|
+
this.commonStrings = commonStrings;
|
|
5990
|
+
this.focusHandler = focusHandler;
|
|
5991
|
+
this.toggleService = toggleService;
|
|
5992
|
+
this.document = document;
|
|
5993
|
+
this.loading = false;
|
|
5994
|
+
this.subscriptions = [];
|
|
5995
|
+
if (!parentHost) {
|
|
5996
|
+
throw new Error('clr-options should only be used inside of a clr-combobox');
|
|
5997
|
+
}
|
|
5998
|
+
if (!this.optionsId) {
|
|
5999
|
+
this.optionsId = 'clr-options-' + nbOptionsComponents++;
|
|
6000
|
+
}
|
|
6001
|
+
}
|
|
6002
|
+
searchText(input) {
|
|
6003
|
+
return this.commonStrings.parse(this.commonStrings.keys.comboboxSearching, { INPUT: input });
|
|
6004
|
+
}
|
|
6005
|
+
/**
|
|
6006
|
+
* Tests if the list of options is empty, meaning it doesn't contain any items
|
|
6007
|
+
*/
|
|
6008
|
+
get emptyOptions() {
|
|
6009
|
+
return !this.optionSelectionService.loading && this.items.length === 0;
|
|
6010
|
+
}
|
|
6011
|
+
set items(items) {
|
|
6012
|
+
this._items = items;
|
|
6013
|
+
this.focusHandler.addOptionValues(this._items.map(option => option.optionProxy));
|
|
6014
|
+
}
|
|
6015
|
+
get items() {
|
|
6016
|
+
return this._items;
|
|
6017
|
+
}
|
|
6018
|
+
loadingStateChange(state) {
|
|
6019
|
+
this.loading = state === ClrLoadingState.LOADING;
|
|
6020
|
+
}
|
|
6021
|
+
ngAfterViewInit() {
|
|
6022
|
+
this.focusHandler.listbox = this.el.nativeElement;
|
|
6023
|
+
this.subscriptions.push(fromEvent(this.document, 'scroll', { capture: true }).subscribe(event => {
|
|
6024
|
+
if (this.toggleService.open &&
|
|
6025
|
+
event.target !== this.el.nativeElement &&
|
|
6026
|
+
event.target !== this.focusHandler.textInput) {
|
|
6027
|
+
this.toggleService.open = false;
|
|
6028
|
+
}
|
|
6029
|
+
}), this.items.changes.subscribe(() => {
|
|
6030
|
+
setTimeout(() => {
|
|
6031
|
+
this.focusHandler.focusFirstActive();
|
|
6032
|
+
});
|
|
6033
|
+
}));
|
|
6034
|
+
}
|
|
6035
|
+
ngOnDestroy() {
|
|
6036
|
+
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
6037
|
+
}
|
|
6038
|
+
}
|
|
6039
|
+
ClrOptions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrOptions, deps: [{ token: OptionSelectionService }, { token: IF_ACTIVE_ID }, { token: i0.ElementRef }, { token: ClrCommonStringsService }, { token: ComboboxFocusHandler }, { token: ClrPopoverToggleService }, { token: POPOVER_HOST_ANCHOR, optional: true }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
6040
|
+
ClrOptions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrOptions, selector: "clr-options", inputs: { optionsId: ["id", "optionsId"] }, host: { properties: { "class.clr-combobox-options": "true", "attr.role": "\"listbox\"", "id": "optionsId" } }, providers: [{ provide: LoadingListener, useExisting: ClrOptions }], queries: [{ propertyName: "items", predicate: ClrOption }], ngImport: i0, template: `
|
|
6041
|
+
<div *ngIf="optionSelectionService.loading" class="clr-combobox-options-loading">
|
|
6042
|
+
<clr-spinner clrInline>
|
|
6043
|
+
{{ commonStrings.keys.loading }}
|
|
6044
|
+
</clr-spinner>
|
|
6045
|
+
<span class="clr-combobox-options-text">
|
|
6046
|
+
{{ searchText(optionSelectionService.currentInput) }}
|
|
6047
|
+
</span>
|
|
6048
|
+
</div>
|
|
6049
|
+
|
|
6050
|
+
<!-- Rendered if data set is empty -->
|
|
6051
|
+
<div *ngIf="emptyOptions">
|
|
6052
|
+
<span class="clr-combobox-options-empty-text">
|
|
6053
|
+
{{ commonStrings.keys.comboboxNoResults }}
|
|
6054
|
+
</span>
|
|
6055
|
+
</div>
|
|
6056
|
+
|
|
6057
|
+
<!--Option Groups and Options will be projected here-->
|
|
6058
|
+
<ng-content></ng-content>
|
|
6059
|
+
`, isInline: true, components: [{ type: ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
6060
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrOptions, decorators: [{
|
|
6061
|
+
type: Component,
|
|
6062
|
+
args: [{
|
|
6063
|
+
selector: 'clr-options',
|
|
6064
|
+
template: `
|
|
6065
|
+
<div *ngIf="optionSelectionService.loading" class="clr-combobox-options-loading">
|
|
6066
|
+
<clr-spinner clrInline>
|
|
6067
|
+
{{ commonStrings.keys.loading }}
|
|
6068
|
+
</clr-spinner>
|
|
6069
|
+
<span class="clr-combobox-options-text">
|
|
6070
|
+
{{ searchText(optionSelectionService.currentInput) }}
|
|
6071
|
+
</span>
|
|
6072
|
+
</div>
|
|
6073
|
+
|
|
6074
|
+
<!-- Rendered if data set is empty -->
|
|
6075
|
+
<div *ngIf="emptyOptions">
|
|
6076
|
+
<span class="clr-combobox-options-empty-text">
|
|
6077
|
+
{{ commonStrings.keys.comboboxNoResults }}
|
|
6078
|
+
</span>
|
|
6079
|
+
</div>
|
|
6080
|
+
|
|
6081
|
+
<!--Option Groups and Options will be projected here-->
|
|
6082
|
+
<ng-content></ng-content>
|
|
6083
|
+
`,
|
|
6084
|
+
providers: [{ provide: LoadingListener, useExisting: ClrOptions }],
|
|
6085
|
+
host: {
|
|
6086
|
+
'[class.clr-combobox-options]': 'true',
|
|
6087
|
+
'[attr.role]': '"listbox"',
|
|
6088
|
+
'[id]': 'optionsId',
|
|
6089
|
+
},
|
|
6090
|
+
}]
|
|
6091
|
+
}], ctorParameters: function () { return [{ type: OptionSelectionService }, { type: undefined, decorators: [{
|
|
6092
|
+
type: Inject,
|
|
6093
|
+
args: [IF_ACTIVE_ID]
|
|
6094
|
+
}] }, { type: i0.ElementRef }, { type: ClrCommonStringsService }, { type: ComboboxFocusHandler }, { type: ClrPopoverToggleService }, { type: i0.ElementRef, decorators: [{
|
|
6095
|
+
type: Optional
|
|
6096
|
+
}, {
|
|
6097
|
+
type: Inject,
|
|
6098
|
+
args: [POPOVER_HOST_ANCHOR]
|
|
6099
|
+
}] }, { type: undefined, decorators: [{
|
|
6100
|
+
type: Inject,
|
|
6101
|
+
args: [DOCUMENT]
|
|
6102
|
+
}] }]; }, propDecorators: { optionsId: [{
|
|
6103
|
+
type: Input,
|
|
6104
|
+
args: ['id']
|
|
6105
|
+
}], items: [{
|
|
6106
|
+
type: ContentChildren,
|
|
6107
|
+
args: [ClrOption]
|
|
6108
|
+
}] } });
|
|
6109
|
+
|
|
5927
6110
|
/*
|
|
5928
6111
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
5929
6112
|
* This software is released under MIT license.
|
|
5930
6113
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5931
6114
|
*/
|
|
5932
6115
|
class ClrCombobox extends WrappedFormControl {
|
|
5933
|
-
constructor(vcr, injector, control, renderer, el, optionSelectionService, commonStrings, toggleService, positionService, controlStateService, containerService, platformId,
|
|
6116
|
+
constructor(vcr, injector, control, renderer, el, optionSelectionService, commonStrings, toggleService, positionService, controlStateService, containerService, platformId, focusHandler, cdr) {
|
|
5934
6117
|
super(vcr, ClrComboboxContainer, injector, control, renderer, el);
|
|
5935
6118
|
this.control = control;
|
|
5936
6119
|
this.renderer = renderer;
|
|
@@ -5942,7 +6125,6 @@ class ClrCombobox extends WrappedFormControl {
|
|
|
5942
6125
|
this.controlStateService = controlStateService;
|
|
5943
6126
|
this.containerService = containerService;
|
|
5944
6127
|
this.platformId = platformId;
|
|
5945
|
-
this.ariaService = ariaService;
|
|
5946
6128
|
this.focusHandler = focusHandler;
|
|
5947
6129
|
this.cdr = cdr;
|
|
5948
6130
|
this.index = 1;
|
|
@@ -6030,10 +6212,10 @@ class ClrCombobox extends WrappedFormControl {
|
|
|
6030
6212
|
return this.optionSelectionService.multiselectable;
|
|
6031
6213
|
}
|
|
6032
6214
|
get ariaControls() {
|
|
6033
|
-
return this.
|
|
6215
|
+
return this.options?.optionsId;
|
|
6034
6216
|
}
|
|
6035
6217
|
get ariaOwns() {
|
|
6036
|
-
return this.
|
|
6218
|
+
return this.options?.optionsId;
|
|
6037
6219
|
}
|
|
6038
6220
|
get ariaDescribedBySelection() {
|
|
6039
6221
|
return 'selection-' + this.id;
|
|
@@ -6171,20 +6353,19 @@ class ClrCombobox extends WrappedFormControl {
|
|
|
6171
6353
|
this.el = this.textbox;
|
|
6172
6354
|
}
|
|
6173
6355
|
}
|
|
6174
|
-
ClrCombobox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrCombobox, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i1.NgControl, optional: true, self: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: OptionSelectionService }, { token: ClrCommonStringsService }, { token: ClrPopoverToggleService }, { token: ClrPopoverPositionService }, { token: IfControlStateService, optional: true }, { token: ComboboxContainerService, optional: true }, { token: PLATFORM_ID }, { token:
|
|
6356
|
+
ClrCombobox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrCombobox, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i1.NgControl, optional: true, self: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: OptionSelectionService }, { token: ClrCommonStringsService }, { token: ClrPopoverToggleService }, { token: ClrPopoverPositionService }, { token: IfControlStateService, optional: true }, { token: ComboboxContainerService, optional: true }, { token: PLATFORM_ID }, { token: ComboboxFocusHandler }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
6175
6357
|
ClrCombobox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrCombobox, selector: "clr-combobox", inputs: { placeholder: "placeholder", multiSelect: ["clrMulti", "multiSelect"] }, outputs: { clrInputChange: "clrInputChange", clrOpenChange: "clrOpenChange", clrSelectionChange: "clrSelectionChange" }, host: { listeners: { "keydown": "onKeyUp($event)" }, properties: { "class.aria-required": "true", "class.clr-combobox": "true", "class.clr-combobox-disabled": "control?.disabled" } }, providers: [
|
|
6176
6358
|
ClrPopoverToggleService,
|
|
6177
6359
|
{ provide: POPOVER_HOST_ANCHOR, useExisting: ElementRef },
|
|
6178
6360
|
OptionSelectionService,
|
|
6179
6361
|
{ provide: LoadingListener, useExisting: ClrCombobox },
|
|
6180
6362
|
IF_ACTIVE_ID_PROVIDER,
|
|
6181
|
-
AriaService,
|
|
6182
6363
|
FOCUS_SERVICE_PROVIDER,
|
|
6183
6364
|
COMBOBOX_FOCUS_HANDLER_PROVIDER,
|
|
6184
6365
|
ClrPopoverToggleService,
|
|
6185
6366
|
ClrPopoverEventsService,
|
|
6186
6367
|
ClrPopoverPositionService,
|
|
6187
|
-
], queries: [{ propertyName: "optionSelected", first: true, predicate: ClrOptionSelected, descendants: true }], viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textboxInput"], descendants: true }, { propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--\n* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n* This software is released under MIT license.\n* The full license information can be found in LICENSE in the root directory of this project.\n-->\n\n<!-- The (click) handler is needed to auto-focus on input field which can not currently occupy the whole\n width of the component, after being wrapped to a new line -->\n<div\n class=\"clr-combobox-wrapper\"\n clrPopoverAnchor\n (click)=\"focusInput()\"\n [class.multi]=\"multiSelect\"\n [class.invalid]=\"invalid\"\n>\n <span\n *ngIf=\"multiSelect && optionSelectionService.selectionModel.model\"\n role=\"grid\"\n clrRovingTabindex\n [clrRovingTabindexDisabled]=\"control?.disabled\"\n clrDirection=\"both\"\n [attr.aria-label]=\"getSelectionAriaLabel()\"\n [attr.aria-disabled]=\"control?.disabled? true: null\"\n >\n <span *ngFor=\"let item of multiSelectModel; let i = index\" class=\"label label-combobox-pill\" role=\"row\">\n <span role=\"gridcell\">\n <span class=\"clr-combobox-pill-content\" clrKeyFocusItem>\n <ng-container\n *ngIf=\"optionSelected\"\n [ngTemplateOutlet]=\"optionSelected.template\"\n [ngTemplateOutletContext]=\"{$implicit: optionSelectionService.selectionModel.model[i]}\"\n ></ng-container>\n </span>\n </span>\n <span role=\"gridcell\">\n <button\n clrKeyFocusItem\n type=\"button\"\n class=\"clr-combobox-remove-btn\"\n [disabled]=\"control?.disabled? true: null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxDelete + ' ' + optionSelectionService.selectionModel.toString(displayField, i)\"\n (click)=\"unselect(item)\"\n >\n <cds-icon shape=\"window-close\" size=\"12\"></cds-icon>\n </button>\n </span>\n </span>\n </span>\n\n <span class=\"clr-combobox-input-wrapper\" role=\"combobox\">\n <input\n #textboxInput\n type=\"text\"\n [id]=\"inputId()\"\n class=\"clr-input clr-combobox-input\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n [attr.aria-expanded]=\"openState\"\n [attr.aria-owns]=\"ariaOwns\"\n aria-haspopup=\"listbox\"\n aria-autocomplete=\"list\"\n autocomplete=\"off\"\n [attr.aria-invalid]=\"control?.invalid? true: null\"\n [disabled]=\"control?.disabled? true: null\"\n [attr.aria-activedescendant]=\"getActiveDescendant()\"\n [attr.placeholder]=\"placeholder\"\n />\n </span>\n\n <!-- No click handler, as it uses the handler on the .clr-combobox-wrapper -->\n <button\n clrPopoverOpenCloseButton\n #trigger\n type=\"button\"\n class=\"clr-combobox-trigger\"\n tabindex=\"-1\"\n [disabled]=\"control?.disabled || null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxOpen\"\n >\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n\n <div class=\"clr-focus-indicator\" [class.clr-focus]=\"focused\"></div>\n</div>\n\n<!-- Both close handlers are handled manually due to issues in Edge browser.\n Additionally 'outsideClickToClose' has complex handling that's necessary\n to be manual due to the component architecture -->\n<div role=\"dialog\" *clrPopoverContent=\"openState at smartPosition; outsideClickToClose: false; scrollToClose: false\">\n <ng-content></ng-content>\n</div>\n", components: [{ type: ClrRovingTabindex, selector: "[clrRovingTabindex]", inputs: ["clrRovingTabindex", "clrRovingTabindexDisabled"] }], directives: [{ type: ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ClrKeyFocusItem, selector: "[clrKeyFocusItem]" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: CdsIconCustomTag, selector: "cds-icon" }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { type: ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }] });
|
|
6368
|
+
], queries: [{ propertyName: "optionSelected", first: true, predicate: ClrOptionSelected, descendants: true }, { propertyName: "options", first: true, predicate: ClrOptions, descendants: true }], viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textboxInput"], descendants: true }, { propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--\n* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n* This software is released under MIT license.\n* The full license information can be found in LICENSE in the root directory of this project.\n-->\n\n<!-- The (click) handler is needed to auto-focus on input field which can not currently occupy the whole\n width of the component, after being wrapped to a new line -->\n<div\n class=\"clr-combobox-wrapper\"\n clrPopoverAnchor\n (click)=\"focusInput()\"\n [class.multi]=\"multiSelect\"\n [class.invalid]=\"invalid\"\n>\n <span\n *ngIf=\"multiSelect && optionSelectionService.selectionModel.model\"\n role=\"grid\"\n clrRovingTabindex\n [clrRovingTabindexDisabled]=\"control?.disabled\"\n clrDirection=\"both\"\n [attr.aria-label]=\"getSelectionAriaLabel()\"\n [attr.aria-disabled]=\"control?.disabled? true: null\"\n >\n <span *ngFor=\"let item of multiSelectModel; let i = index\" class=\"label label-combobox-pill\" role=\"row\">\n <span role=\"gridcell\">\n <span class=\"clr-combobox-pill-content\" clrKeyFocusItem>\n <ng-container\n *ngIf=\"optionSelected\"\n [ngTemplateOutlet]=\"optionSelected.template\"\n [ngTemplateOutletContext]=\"{$implicit: optionSelectionService.selectionModel.model[i]}\"\n ></ng-container>\n </span>\n </span>\n <span role=\"gridcell\">\n <button\n clrKeyFocusItem\n type=\"button\"\n class=\"clr-combobox-remove-btn\"\n [disabled]=\"control?.disabled? true: null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxDelete + ' ' + optionSelectionService.selectionModel.toString(displayField, i)\"\n (click)=\"unselect(item)\"\n >\n <cds-icon shape=\"window-close\" size=\"12\"></cds-icon>\n </button>\n </span>\n </span>\n </span>\n\n <span class=\"clr-combobox-input-wrapper\" role=\"combobox\">\n <input\n #textboxInput\n type=\"text\"\n [id]=\"inputId()\"\n class=\"clr-input clr-combobox-input\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n [attr.aria-expanded]=\"openState\"\n [attr.aria-owns]=\"ariaOwns\"\n aria-haspopup=\"listbox\"\n aria-autocomplete=\"list\"\n autocomplete=\"off\"\n [attr.aria-invalid]=\"control?.invalid? true: null\"\n [disabled]=\"control?.disabled? true: null\"\n [attr.aria-activedescendant]=\"getActiveDescendant()\"\n [attr.placeholder]=\"placeholder\"\n />\n </span>\n\n <!-- No click handler, as it uses the handler on the .clr-combobox-wrapper -->\n <button\n clrPopoverOpenCloseButton\n #trigger\n type=\"button\"\n class=\"clr-combobox-trigger\"\n tabindex=\"-1\"\n [disabled]=\"control?.disabled || null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxOpen\"\n >\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n\n <div class=\"clr-focus-indicator\" [class.clr-focus]=\"focused\"></div>\n</div>\n\n<!-- Both close handlers are handled manually due to issues in Edge browser.\n Additionally 'outsideClickToClose' has complex handling that's necessary\n to be manual due to the component architecture -->\n<div role=\"dialog\" *clrPopoverContent=\"openState at smartPosition; outsideClickToClose: false; scrollToClose: false\">\n <ng-content></ng-content>\n</div>\n", components: [{ type: ClrRovingTabindex, selector: "[clrRovingTabindex]", inputs: ["clrRovingTabindex", "clrRovingTabindexDisabled"] }], directives: [{ type: ClrPopoverAnchor, selector: "[clrPopoverAnchor]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ClrKeyFocusItem, selector: "[clrKeyFocusItem]" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: CdsIconCustomTag, selector: "cds-icon" }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { type: ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose"] }] });
|
|
6188
6369
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrCombobox, decorators: [{
|
|
6189
6370
|
type: Component,
|
|
6190
6371
|
args: [{ selector: 'clr-combobox', providers: [
|
|
@@ -6193,7 +6374,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
6193
6374
|
OptionSelectionService,
|
|
6194
6375
|
{ provide: LoadingListener, useExisting: ClrCombobox },
|
|
6195
6376
|
IF_ACTIVE_ID_PROVIDER,
|
|
6196
|
-
AriaService,
|
|
6197
6377
|
FOCUS_SERVICE_PROVIDER,
|
|
6198
6378
|
COMBOBOX_FOCUS_HANDLER_PROVIDER,
|
|
6199
6379
|
ClrPopoverToggleService,
|
|
@@ -6205,141 +6385,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
6205
6385
|
'[class.clr-combobox-disabled]': 'control?.disabled',
|
|
6206
6386
|
}, template: "<!--\n* Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n* This software is released under MIT license.\n* The full license information can be found in LICENSE in the root directory of this project.\n-->\n\n<!-- The (click) handler is needed to auto-focus on input field which can not currently occupy the whole\n width of the component, after being wrapped to a new line -->\n<div\n class=\"clr-combobox-wrapper\"\n clrPopoverAnchor\n (click)=\"focusInput()\"\n [class.multi]=\"multiSelect\"\n [class.invalid]=\"invalid\"\n>\n <span\n *ngIf=\"multiSelect && optionSelectionService.selectionModel.model\"\n role=\"grid\"\n clrRovingTabindex\n [clrRovingTabindexDisabled]=\"control?.disabled\"\n clrDirection=\"both\"\n [attr.aria-label]=\"getSelectionAriaLabel()\"\n [attr.aria-disabled]=\"control?.disabled? true: null\"\n >\n <span *ngFor=\"let item of multiSelectModel; let i = index\" class=\"label label-combobox-pill\" role=\"row\">\n <span role=\"gridcell\">\n <span class=\"clr-combobox-pill-content\" clrKeyFocusItem>\n <ng-container\n *ngIf=\"optionSelected\"\n [ngTemplateOutlet]=\"optionSelected.template\"\n [ngTemplateOutletContext]=\"{$implicit: optionSelectionService.selectionModel.model[i]}\"\n ></ng-container>\n </span>\n </span>\n <span role=\"gridcell\">\n <button\n clrKeyFocusItem\n type=\"button\"\n class=\"clr-combobox-remove-btn\"\n [disabled]=\"control?.disabled? true: null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxDelete + ' ' + optionSelectionService.selectionModel.toString(displayField, i)\"\n (click)=\"unselect(item)\"\n >\n <cds-icon shape=\"window-close\" size=\"12\"></cds-icon>\n </button>\n </span>\n </span>\n </span>\n\n <span class=\"clr-combobox-input-wrapper\" role=\"combobox\">\n <input\n #textboxInput\n type=\"text\"\n [id]=\"inputId()\"\n class=\"clr-input clr-combobox-input\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n [attr.aria-expanded]=\"openState\"\n [attr.aria-owns]=\"ariaOwns\"\n aria-haspopup=\"listbox\"\n aria-autocomplete=\"list\"\n autocomplete=\"off\"\n [attr.aria-invalid]=\"control?.invalid? true: null\"\n [disabled]=\"control?.disabled? true: null\"\n [attr.aria-activedescendant]=\"getActiveDescendant()\"\n [attr.placeholder]=\"placeholder\"\n />\n </span>\n\n <!-- No click handler, as it uses the handler on the .clr-combobox-wrapper -->\n <button\n clrPopoverOpenCloseButton\n #trigger\n type=\"button\"\n class=\"clr-combobox-trigger\"\n tabindex=\"-1\"\n [disabled]=\"control?.disabled || null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxOpen\"\n >\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n\n <div class=\"clr-focus-indicator\" [class.clr-focus]=\"focused\"></div>\n</div>\n\n<!-- Both close handlers are handled manually due to issues in Edge browser.\n Additionally 'outsideClickToClose' has complex handling that's necessary\n to be manual due to the component architecture -->\n<div role=\"dialog\" *clrPopoverContent=\"openState at smartPosition; outsideClickToClose: false; scrollToClose: false\">\n <ng-content></ng-content>\n</div>\n" }]
|
|
6207
6387
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i1.NgControl, decorators: [{
|
|
6208
|
-
type: Self
|
|
6209
|
-
}, {
|
|
6210
|
-
type: Optional
|
|
6211
|
-
}] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: OptionSelectionService }, { type: ClrCommonStringsService }, { type: ClrPopoverToggleService }, { type: ClrPopoverPositionService }, { type: IfControlStateService, decorators: [{
|
|
6212
|
-
type: Optional
|
|
6213
|
-
}] }, { type: ComboboxContainerService, decorators: [{
|
|
6214
|
-
type: Optional
|
|
6215
|
-
}] }, { type: undefined, decorators: [{
|
|
6216
|
-
type: Inject,
|
|
6217
|
-
args: [PLATFORM_ID]
|
|
6218
|
-
}] }, { type: AriaService }, { type: ComboboxFocusHandler }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { textbox: [{
|
|
6219
|
-
type: ViewChild,
|
|
6220
|
-
args: ['textboxInput']
|
|
6221
|
-
}], trigger: [{
|
|
6222
|
-
type: ViewChild,
|
|
6223
|
-
args: ['trigger']
|
|
6224
|
-
}], optionSelected: [{
|
|
6225
|
-
type: ContentChild,
|
|
6226
|
-
args: [ClrOptionSelected]
|
|
6227
|
-
}], placeholder: [{
|
|
6228
|
-
type: Input,
|
|
6229
|
-
args: ['placeholder']
|
|
6230
|
-
}], multiSelect: [{
|
|
6231
|
-
type: Input,
|
|
6232
|
-
args: ['clrMulti']
|
|
6233
|
-
}], onKeyUp: [{
|
|
6234
|
-
type: HostListener,
|
|
6235
|
-
args: ['keydown', ['$event']]
|
|
6236
|
-
}], clrInputChange: [{
|
|
6237
|
-
type: Output,
|
|
6238
|
-
args: ['clrInputChange']
|
|
6239
|
-
}], clrOpenChange: [{
|
|
6240
|
-
type: Output,
|
|
6241
|
-
args: ['clrOpenChange']
|
|
6242
|
-
}], clrSelectionChange: [{
|
|
6243
|
-
type: Output,
|
|
6244
|
-
args: ['clrSelectionChange']
|
|
6245
|
-
}] } });
|
|
6246
|
-
|
|
6247
|
-
/*
|
|
6248
|
-
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
6249
|
-
* This software is released under MIT license.
|
|
6250
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6251
|
-
*/
|
|
6252
|
-
class ClrOption {
|
|
6253
|
-
constructor(elRef, commonStrings, focusHandler, optionSelectionService, autoId) {
|
|
6254
|
-
this.elRef = elRef;
|
|
6255
|
-
this.commonStrings = commonStrings;
|
|
6256
|
-
this.focusHandler = focusHandler;
|
|
6257
|
-
this.optionSelectionService = optionSelectionService;
|
|
6258
|
-
this.autoId = autoId;
|
|
6259
|
-
// A proxy with only the necessary data to be used for a11y and the focus handler service.
|
|
6260
|
-
this.optionProxy = new OptionData(null, null);
|
|
6261
|
-
this.optionProxy.el = this.elRef.nativeElement;
|
|
6262
|
-
}
|
|
6263
|
-
set optionId(id) {
|
|
6264
|
-
this._id = id;
|
|
6265
|
-
this.optionProxy.id = this._id;
|
|
6266
|
-
}
|
|
6267
|
-
get optionId() {
|
|
6268
|
-
return this._id;
|
|
6269
|
-
}
|
|
6270
|
-
set value(value) {
|
|
6271
|
-
this._value = value;
|
|
6272
|
-
this.optionProxy.value = value;
|
|
6273
|
-
}
|
|
6274
|
-
get value() {
|
|
6275
|
-
return this._value;
|
|
6276
|
-
}
|
|
6277
|
-
get selected() {
|
|
6278
|
-
return (this.optionSelectionService.selectionModel && this.optionSelectionService.selectionModel.containsItem(this.value));
|
|
6279
|
-
}
|
|
6280
|
-
ngOnInit() {
|
|
6281
|
-
if (!this._id) {
|
|
6282
|
-
this._id = 'clr-option-' + this.autoId;
|
|
6283
|
-
this.optionProxy.id = this._id;
|
|
6284
|
-
}
|
|
6285
|
-
}
|
|
6286
|
-
onClick() {
|
|
6287
|
-
if (this.optionSelectionService.multiselectable) {
|
|
6288
|
-
this.optionSelectionService.toggle(this.value);
|
|
6289
|
-
}
|
|
6290
|
-
else {
|
|
6291
|
-
this.optionSelectionService.select(this.value);
|
|
6292
|
-
}
|
|
6293
|
-
// As the popover stays open in multi-select mode now, we have to take focus back to the input
|
|
6294
|
-
// This way we achieve two things:
|
|
6295
|
-
// - do not lose focus
|
|
6296
|
-
// - we're still able to use onBlur for "outside-click" handling
|
|
6297
|
-
this.focusHandler.focusInput();
|
|
6298
|
-
}
|
|
6299
|
-
get focusClass() {
|
|
6300
|
-
return this.focusHandler.pseudoFocus.containsItem(this.optionProxy);
|
|
6301
|
-
}
|
|
6302
|
-
}
|
|
6303
|
-
ClrOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrOption, deps: [{ token: i0.ElementRef }, { token: ClrCommonStringsService }, { token: ComboboxFocusHandler }, { token: OptionSelectionService }, { token: UNIQUE_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
6304
|
-
ClrOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrOption, selector: "clr-option", inputs: { optionId: ["id", "optionId"], value: ["clrValue", "value"] }, host: { listeners: { "click": "onClick()" }, properties: { "class.clr-combobox-option": "true", "attr.role": "\"option\"", "attr.tabindex": "-1", "attr.id": "optionId", "class.active": "this.selected", "class.clr-focus": "this.focusClass" } }, providers: [UNIQUE_ID_PROVIDER], ngImport: i0, template: `
|
|
6305
|
-
<ng-content></ng-content>
|
|
6306
|
-
<span *ngIf="selected" class="clr-sr-only">{{ commonStrings.keys.comboboxSelected }}</span>
|
|
6307
|
-
`, isInline: true, directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
6308
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrOption, decorators: [{
|
|
6309
|
-
type: Component,
|
|
6310
|
-
args: [{
|
|
6311
|
-
selector: 'clr-option',
|
|
6312
|
-
template: `
|
|
6313
|
-
<ng-content></ng-content>
|
|
6314
|
-
<span *ngIf="selected" class="clr-sr-only">{{ commonStrings.keys.comboboxSelected }}</span>
|
|
6315
|
-
`,
|
|
6316
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
6317
|
-
host: {
|
|
6318
|
-
'[class.clr-combobox-option]': 'true',
|
|
6319
|
-
'[attr.role]': '"option"',
|
|
6320
|
-
// Do not remove. Or click-selection will not work.
|
|
6321
|
-
'[attr.tabindex]': '-1',
|
|
6322
|
-
'[attr.id]': 'optionId',
|
|
6323
|
-
},
|
|
6324
|
-
}]
|
|
6325
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ClrCommonStringsService }, { type: ComboboxFocusHandler }, { type: OptionSelectionService }, { type: undefined, decorators: [{
|
|
6388
|
+
type: Self
|
|
6389
|
+
}, {
|
|
6390
|
+
type: Optional
|
|
6391
|
+
}] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: OptionSelectionService }, { type: ClrCommonStringsService }, { type: ClrPopoverToggleService }, { type: ClrPopoverPositionService }, { type: IfControlStateService, decorators: [{
|
|
6392
|
+
type: Optional
|
|
6393
|
+
}] }, { type: ComboboxContainerService, decorators: [{
|
|
6394
|
+
type: Optional
|
|
6395
|
+
}] }, { type: undefined, decorators: [{
|
|
6326
6396
|
type: Inject,
|
|
6327
|
-
args: [
|
|
6328
|
-
}] }]; }, propDecorators: {
|
|
6397
|
+
args: [PLATFORM_ID]
|
|
6398
|
+
}] }, { type: ComboboxFocusHandler }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { textbox: [{
|
|
6399
|
+
type: ViewChild,
|
|
6400
|
+
args: ['textboxInput']
|
|
6401
|
+
}], trigger: [{
|
|
6402
|
+
type: ViewChild,
|
|
6403
|
+
args: ['trigger']
|
|
6404
|
+
}], optionSelected: [{
|
|
6405
|
+
type: ContentChild,
|
|
6406
|
+
args: [ClrOptionSelected]
|
|
6407
|
+
}], options: [{
|
|
6408
|
+
type: ContentChild,
|
|
6409
|
+
args: [ClrOptions]
|
|
6410
|
+
}], placeholder: [{
|
|
6329
6411
|
type: Input,
|
|
6330
|
-
args: ['
|
|
6331
|
-
}],
|
|
6412
|
+
args: ['placeholder']
|
|
6413
|
+
}], multiSelect: [{
|
|
6332
6414
|
type: Input,
|
|
6333
|
-
args: ['
|
|
6334
|
-
}],
|
|
6335
|
-
type: HostBinding,
|
|
6336
|
-
args: ['class.active']
|
|
6337
|
-
}], onClick: [{
|
|
6415
|
+
args: ['clrMulti']
|
|
6416
|
+
}], onKeyUp: [{
|
|
6338
6417
|
type: HostListener,
|
|
6339
|
-
args: ['
|
|
6340
|
-
}],
|
|
6341
|
-
type:
|
|
6342
|
-
args: ['
|
|
6418
|
+
args: ['keydown', ['$event']]
|
|
6419
|
+
}], clrInputChange: [{
|
|
6420
|
+
type: Output,
|
|
6421
|
+
args: ['clrInputChange']
|
|
6422
|
+
}], clrOpenChange: [{
|
|
6423
|
+
type: Output,
|
|
6424
|
+
args: ['clrOpenChange']
|
|
6425
|
+
}], clrSelectionChange: [{
|
|
6426
|
+
type: Output,
|
|
6427
|
+
args: ['clrSelectionChange']
|
|
6343
6428
|
}] } });
|
|
6344
6429
|
|
|
6345
6430
|
/*
|
|
@@ -6434,146 +6519,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
6434
6519
|
args: ['clrOptionItemsField']
|
|
6435
6520
|
}] } });
|
|
6436
6521
|
|
|
6437
|
-
/*
|
|
6438
|
-
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
6439
|
-
* This software is released under MIT license.
|
|
6440
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6441
|
-
*/
|
|
6442
|
-
let nbOptionsComponents = 0;
|
|
6443
|
-
class ClrOptions {
|
|
6444
|
-
constructor(optionSelectionService, id, ariaService, el, commonStrings, focusHandler, toggleService, parentHost, document) {
|
|
6445
|
-
this.optionSelectionService = optionSelectionService;
|
|
6446
|
-
this.id = id;
|
|
6447
|
-
this.ariaService = ariaService;
|
|
6448
|
-
this.el = el;
|
|
6449
|
-
this.commonStrings = commonStrings;
|
|
6450
|
-
this.focusHandler = focusHandler;
|
|
6451
|
-
this.toggleService = toggleService;
|
|
6452
|
-
this.document = document;
|
|
6453
|
-
this.loading = false;
|
|
6454
|
-
this.subscriptions = [];
|
|
6455
|
-
if (!parentHost) {
|
|
6456
|
-
throw new Error('clr-options should only be used inside of a clr-combobox');
|
|
6457
|
-
}
|
|
6458
|
-
if (!this.optionsId) {
|
|
6459
|
-
this.optionsId = 'clr-options-' + nbOptionsComponents++;
|
|
6460
|
-
}
|
|
6461
|
-
}
|
|
6462
|
-
searchText(input) {
|
|
6463
|
-
return this.commonStrings.parse(this.commonStrings.keys.comboboxSearching, { INPUT: input });
|
|
6464
|
-
}
|
|
6465
|
-
/**
|
|
6466
|
-
* Tests if the list of options is empty, meaning it doesn't contain any items
|
|
6467
|
-
*/
|
|
6468
|
-
get emptyOptions() {
|
|
6469
|
-
return !this.optionSelectionService.loading && this.items.length === 0;
|
|
6470
|
-
}
|
|
6471
|
-
set optionsId(id) {
|
|
6472
|
-
this.ariaService.ariaControls = id;
|
|
6473
|
-
this.ariaService.ariaOwns = id;
|
|
6474
|
-
}
|
|
6475
|
-
get optionsId() {
|
|
6476
|
-
return this.ariaService.ariaControls;
|
|
6477
|
-
}
|
|
6478
|
-
set items(items) {
|
|
6479
|
-
this._items = items;
|
|
6480
|
-
this.focusHandler.addOptionValues(this._items.map(option => option.optionProxy));
|
|
6481
|
-
}
|
|
6482
|
-
get items() {
|
|
6483
|
-
return this._items;
|
|
6484
|
-
}
|
|
6485
|
-
loadingStateChange(state) {
|
|
6486
|
-
this.loading = state === ClrLoadingState.LOADING;
|
|
6487
|
-
}
|
|
6488
|
-
ngAfterViewInit() {
|
|
6489
|
-
this.focusHandler.listbox = this.el.nativeElement;
|
|
6490
|
-
this.subscriptions.push(fromEvent(this.document, 'scroll', { capture: true }).subscribe(event => {
|
|
6491
|
-
if (this.toggleService.open &&
|
|
6492
|
-
event.target !== this.el.nativeElement &&
|
|
6493
|
-
event.target !== this.focusHandler.textInput) {
|
|
6494
|
-
this.toggleService.open = false;
|
|
6495
|
-
}
|
|
6496
|
-
}), this.items.changes.subscribe(() => {
|
|
6497
|
-
setTimeout(() => {
|
|
6498
|
-
this.focusHandler.focusFirstActive();
|
|
6499
|
-
});
|
|
6500
|
-
}));
|
|
6501
|
-
}
|
|
6502
|
-
ngOnDestroy() {
|
|
6503
|
-
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
6504
|
-
}
|
|
6505
|
-
}
|
|
6506
|
-
ClrOptions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrOptions, deps: [{ token: OptionSelectionService }, { token: IF_ACTIVE_ID }, { token: AriaService }, { token: i0.ElementRef }, { token: ClrCommonStringsService }, { token: ComboboxFocusHandler }, { token: ClrPopoverToggleService }, { token: POPOVER_HOST_ANCHOR, optional: true }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
6507
|
-
ClrOptions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrOptions, selector: "clr-options", inputs: { optionsId: ["id", "optionsId"] }, host: { properties: { "class.clr-combobox-options": "true", "attr.role": "\"listbox\"", "id": "optionsId" } }, providers: [{ provide: LoadingListener, useExisting: ClrOptions }], queries: [{ propertyName: "items", predicate: ClrOption }], ngImport: i0, template: `
|
|
6508
|
-
<div *ngIf="optionSelectionService.loading" class="clr-combobox-options-loading">
|
|
6509
|
-
<clr-spinner clrInline>
|
|
6510
|
-
{{ commonStrings.keys.loading }}
|
|
6511
|
-
</clr-spinner>
|
|
6512
|
-
<span class="clr-combobox-options-text">
|
|
6513
|
-
{{ searchText(optionSelectionService.currentInput) }}
|
|
6514
|
-
</span>
|
|
6515
|
-
</div>
|
|
6516
|
-
|
|
6517
|
-
<!-- Rendered if data set is empty -->
|
|
6518
|
-
<div *ngIf="emptyOptions">
|
|
6519
|
-
<span class="clr-combobox-options-empty-text">
|
|
6520
|
-
{{ commonStrings.keys.comboboxNoResults }}
|
|
6521
|
-
</span>
|
|
6522
|
-
</div>
|
|
6523
|
-
|
|
6524
|
-
<!--Option Groups and Options will be projected here-->
|
|
6525
|
-
<ng-content></ng-content>
|
|
6526
|
-
`, isInline: true, components: [{ type: ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
6527
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrOptions, decorators: [{
|
|
6528
|
-
type: Component,
|
|
6529
|
-
args: [{
|
|
6530
|
-
selector: 'clr-options',
|
|
6531
|
-
template: `
|
|
6532
|
-
<div *ngIf="optionSelectionService.loading" class="clr-combobox-options-loading">
|
|
6533
|
-
<clr-spinner clrInline>
|
|
6534
|
-
{{ commonStrings.keys.loading }}
|
|
6535
|
-
</clr-spinner>
|
|
6536
|
-
<span class="clr-combobox-options-text">
|
|
6537
|
-
{{ searchText(optionSelectionService.currentInput) }}
|
|
6538
|
-
</span>
|
|
6539
|
-
</div>
|
|
6540
|
-
|
|
6541
|
-
<!-- Rendered if data set is empty -->
|
|
6542
|
-
<div *ngIf="emptyOptions">
|
|
6543
|
-
<span class="clr-combobox-options-empty-text">
|
|
6544
|
-
{{ commonStrings.keys.comboboxNoResults }}
|
|
6545
|
-
</span>
|
|
6546
|
-
</div>
|
|
6547
|
-
|
|
6548
|
-
<!--Option Groups and Options will be projected here-->
|
|
6549
|
-
<ng-content></ng-content>
|
|
6550
|
-
`,
|
|
6551
|
-
providers: [{ provide: LoadingListener, useExisting: ClrOptions }],
|
|
6552
|
-
host: {
|
|
6553
|
-
'[class.clr-combobox-options]': 'true',
|
|
6554
|
-
'[attr.role]': '"listbox"',
|
|
6555
|
-
'[id]': 'optionsId',
|
|
6556
|
-
},
|
|
6557
|
-
}]
|
|
6558
|
-
}], ctorParameters: function () { return [{ type: OptionSelectionService }, { type: undefined, decorators: [{
|
|
6559
|
-
type: Inject,
|
|
6560
|
-
args: [IF_ACTIVE_ID]
|
|
6561
|
-
}] }, { type: AriaService }, { type: i0.ElementRef }, { type: ClrCommonStringsService }, { type: ComboboxFocusHandler }, { type: ClrPopoverToggleService }, { type: i0.ElementRef, decorators: [{
|
|
6562
|
-
type: Optional
|
|
6563
|
-
}, {
|
|
6564
|
-
type: Inject,
|
|
6565
|
-
args: [POPOVER_HOST_ANCHOR]
|
|
6566
|
-
}] }, { type: undefined, decorators: [{
|
|
6567
|
-
type: Inject,
|
|
6568
|
-
args: [DOCUMENT]
|
|
6569
|
-
}] }]; }, propDecorators: { optionsId: [{
|
|
6570
|
-
type: Input,
|
|
6571
|
-
args: ['id']
|
|
6572
|
-
}], items: [{
|
|
6573
|
-
type: ContentChildren,
|
|
6574
|
-
args: [ClrOption]
|
|
6575
|
-
}] } });
|
|
6576
|
-
|
|
6577
6522
|
/*
|
|
6578
6523
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
6579
6524
|
* This software is released under MIT license.
|
|
@@ -8574,7 +8519,6 @@ class ClrYearpicker {
|
|
|
8574
8519
|
this.commonStrings = commonStrings;
|
|
8575
8520
|
this.yearRangeModel = new YearRangeModel(this.calendarYear);
|
|
8576
8521
|
this._focusedYear = this.calendarYear;
|
|
8577
|
-
this.updateRange(this.yearRangeModel);
|
|
8578
8522
|
}
|
|
8579
8523
|
/**
|
|
8580
8524
|
* Gets the year which the user is currently on.
|
|
@@ -8611,7 +8555,6 @@ class ClrYearpicker {
|
|
|
8611
8555
|
*/
|
|
8612
8556
|
previousDecade() {
|
|
8613
8557
|
this.yearRangeModel = this.yearRangeModel.previousDecade();
|
|
8614
|
-
this.updateRange(this.yearRangeModel);
|
|
8615
8558
|
// Year in the yearpicker is not focused because while navigating to a different decade,
|
|
8616
8559
|
// you want the focus to remain on the decade switcher arrows.
|
|
8617
8560
|
}
|
|
@@ -8623,14 +8566,12 @@ class ClrYearpicker {
|
|
|
8623
8566
|
this.yearRangeModel = this.yearRangeModel.currentDecade();
|
|
8624
8567
|
}
|
|
8625
8568
|
this._datepickerFocusService.focusCell(this._elRef);
|
|
8626
|
-
this.updateRange(this.yearRangeModel);
|
|
8627
8569
|
}
|
|
8628
8570
|
/**
|
|
8629
8571
|
* Updates the YearRangeModel to the next decade.
|
|
8630
8572
|
*/
|
|
8631
8573
|
nextDecade() {
|
|
8632
8574
|
this.yearRangeModel = this.yearRangeModel.nextDecade();
|
|
8633
|
-
this.updateRange(this.yearRangeModel);
|
|
8634
8575
|
// Year in the yearpicker is not focused because while navigating to a different decade,
|
|
8635
8576
|
// you want the focus to remain on the decade switcher arrows.
|
|
8636
8577
|
}
|
|
@@ -8675,11 +8616,6 @@ class ClrYearpicker {
|
|
|
8675
8616
|
}
|
|
8676
8617
|
}
|
|
8677
8618
|
}
|
|
8678
|
-
updateRange(yrm) {
|
|
8679
|
-
const floor = yrm.yearRange[0];
|
|
8680
|
-
const ceil = yrm.yearRange[yrm.yearRange.length - 1];
|
|
8681
|
-
this.decadeRange = `${floor} to ${ceil}`;
|
|
8682
|
-
}
|
|
8683
8619
|
/**
|
|
8684
8620
|
* Focuses on the current calendar year when the View is initialized.
|
|
8685
8621
|
*/
|
|
@@ -9398,6 +9334,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
9398
9334
|
args: ['disabled']
|
|
9399
9335
|
}] } });
|
|
9400
9336
|
|
|
9337
|
+
/*
|
|
9338
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
9339
|
+
* This software is released under MIT license.
|
|
9340
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
9341
|
+
*/
|
|
9342
|
+
class ClrDateInputValidator {
|
|
9343
|
+
constructor(dateIOService) {
|
|
9344
|
+
this.dateIOService = dateIOService;
|
|
9345
|
+
}
|
|
9346
|
+
validate(control) {
|
|
9347
|
+
if (this.dateIOService) {
|
|
9348
|
+
const value = this.dateIOService.getDateValueFromDateString(control.value);
|
|
9349
|
+
const minDate = this.dateIOService.disabledDates.minDate.toDate();
|
|
9350
|
+
const maxDate = this.dateIOService.disabledDates.maxDate.toDate();
|
|
9351
|
+
if (value && value < this.dateIOService.disabledDates.minDate.toDate()) {
|
|
9352
|
+
return { min: { min: minDate.toLocaleDateString(), actual: value.toLocaleDateString() } };
|
|
9353
|
+
}
|
|
9354
|
+
else if (value && value > this.dateIOService.disabledDates.maxDate.toDate()) {
|
|
9355
|
+
return { max: { max: maxDate.toLocaleDateString(), actual: value.toLocaleDateString() } };
|
|
9356
|
+
}
|
|
9357
|
+
}
|
|
9358
|
+
return null;
|
|
9359
|
+
}
|
|
9360
|
+
}
|
|
9361
|
+
ClrDateInputValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDateInputValidator, deps: [{ token: DateIOService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9362
|
+
ClrDateInputValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ClrDateInputValidator, selector: "[clrDate]", providers: [{ provide: NG_VALIDATORS, useExisting: ClrDateInputValidator, multi: true }], ngImport: i0 });
|
|
9363
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDateInputValidator, decorators: [{
|
|
9364
|
+
type: Directive,
|
|
9365
|
+
args: [{
|
|
9366
|
+
selector: '[clrDate]',
|
|
9367
|
+
providers: [{ provide: NG_VALIDATORS, useExisting: ClrDateInputValidator, multi: true }],
|
|
9368
|
+
}]
|
|
9369
|
+
}], ctorParameters: function () { return [{ type: DateIOService, decorators: [{
|
|
9370
|
+
type: Optional
|
|
9371
|
+
}] }]; } });
|
|
9372
|
+
|
|
9401
9373
|
/*
|
|
9402
9374
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
9403
9375
|
* This software is released under MIT license.
|
|
@@ -9407,6 +9379,7 @@ const CLR_DATEPICKER_DIRECTIVES = [
|
|
|
9407
9379
|
ClrDay,
|
|
9408
9380
|
ClrDateContainer,
|
|
9409
9381
|
ClrDateInput,
|
|
9382
|
+
ClrDateInputValidator,
|
|
9410
9383
|
ClrDatepickerViewManager,
|
|
9411
9384
|
ClrMonthpicker,
|
|
9412
9385
|
ClrYearpicker,
|
|
@@ -9422,6 +9395,7 @@ ClrDatepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", vers
|
|
|
9422
9395
|
ClrDatepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatepickerModule, declarations: [ClrDay,
|
|
9423
9396
|
ClrDateContainer,
|
|
9424
9397
|
ClrDateInput,
|
|
9398
|
+
ClrDateInputValidator,
|
|
9425
9399
|
ClrDatepickerViewManager,
|
|
9426
9400
|
ClrMonthpicker,
|
|
9427
9401
|
ClrYearpicker,
|
|
@@ -9435,6 +9409,7 @@ ClrDatepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
|
|
|
9435
9409
|
ClrCommonFormsModule], exports: [ClrDay,
|
|
9436
9410
|
ClrDateContainer,
|
|
9437
9411
|
ClrDateInput,
|
|
9412
|
+
ClrDateInputValidator,
|
|
9438
9413
|
ClrDatepickerViewManager,
|
|
9439
9414
|
ClrMonthpicker,
|
|
9440
9415
|
ClrYearpicker,
|
|
@@ -12002,14 +11977,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
12002
11977
|
* since it can be anything (not just a text input).
|
|
12003
11978
|
*/
|
|
12004
11979
|
class ClrDatagridFilter extends DatagridFilterRegistrar {
|
|
12005
|
-
constructor(_filters, commonStrings, smartToggleService, platformId
|
|
11980
|
+
constructor(_filters, commonStrings, smartToggleService, platformId) {
|
|
12006
11981
|
super(_filters);
|
|
12007
11982
|
this.commonStrings = commonStrings;
|
|
12008
11983
|
this.smartToggleService = smartToggleService;
|
|
12009
11984
|
this.platformId = platformId;
|
|
12010
|
-
this.popoverId = popoverId;
|
|
12011
11985
|
this.subs = [];
|
|
12012
11986
|
this.ariaExpanded = false;
|
|
11987
|
+
this.popoverId = uniqueIdFactory();
|
|
12013
11988
|
// Smart Popover
|
|
12014
11989
|
this.smartPosition = {
|
|
12015
11990
|
axis: ClrAxis.VERTICAL,
|
|
@@ -12053,8 +12028,8 @@ class ClrDatagridFilter extends DatagridFilterRegistrar {
|
|
|
12053
12028
|
this.subs.forEach(sub => sub.unsubscribe());
|
|
12054
12029
|
}
|
|
12055
12030
|
}
|
|
12056
|
-
ClrDatagridFilter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagridFilter, deps: [{ token: FiltersProvider }, { token: ClrCommonStringsService }, { token: ClrPopoverToggleService }, { token: PLATFORM_ID }
|
|
12057
|
-
ClrDatagridFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrDatagridFilter, selector: "clr-dg-filter", inputs: { open: ["clrDgFilterOpen", "open"], customFilter: ["clrDgFilter", "customFilter"] }, outputs: { openChange: "clrDgFilterOpenChange" }, providers: [{ provide: CustomFilter, useExisting: ClrDatagridFilter }
|
|
12031
|
+
ClrDatagridFilter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagridFilter, deps: [{ token: FiltersProvider }, { token: ClrCommonStringsService }, { token: ClrPopoverToggleService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
12032
|
+
ClrDatagridFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrDatagridFilter, selector: "clr-dg-filter", inputs: { open: ["clrDgFilterOpen", "open"], customFilter: ["clrDgFilter", "customFilter"] }, outputs: { openChange: "clrDgFilterOpenChange" }, providers: [{ provide: CustomFilter, useExisting: ClrDatagridFilter }], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
|
|
12058
12033
|
<button
|
|
12059
12034
|
class="datagrid-filter-toggle"
|
|
12060
12035
|
type="button"
|
|
@@ -12096,7 +12071,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
12096
12071
|
args: [{
|
|
12097
12072
|
selector: 'clr-dg-filter',
|
|
12098
12073
|
// We register this component as a CustomFilter, for the parent column to detect it.
|
|
12099
|
-
providers: [{ provide: CustomFilter, useExisting: ClrDatagridFilter }
|
|
12074
|
+
providers: [{ provide: CustomFilter, useExisting: ClrDatagridFilter }],
|
|
12100
12075
|
template: `
|
|
12101
12076
|
<button
|
|
12102
12077
|
class="datagrid-filter-toggle"
|
|
@@ -12138,9 +12113,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
12138
12113
|
}], ctorParameters: function () { return [{ type: FiltersProvider }, { type: ClrCommonStringsService }, { type: ClrPopoverToggleService }, { type: undefined, decorators: [{
|
|
12139
12114
|
type: Inject,
|
|
12140
12115
|
args: [PLATFORM_ID]
|
|
12141
|
-
}] }, { type: undefined, decorators: [{
|
|
12142
|
-
type: Inject,
|
|
12143
|
-
args: [UNIQUE_ID]
|
|
12144
12116
|
}] }]; }, propDecorators: { anchor: [{
|
|
12145
12117
|
type: ViewChild,
|
|
12146
12118
|
args: ['anchor', { read: ElementRef }]
|
|
@@ -13280,14 +13252,14 @@ const KEYBOARD_RESIZE_LENGTH = 12;
|
|
|
13280
13252
|
class ClrDatagridColumnSeparator {
|
|
13281
13253
|
// Every column draggable separator should have its own unique ID
|
|
13282
13254
|
// in order to not conflict with other draggables/droppables.
|
|
13283
|
-
constructor(columnResizerService, renderer, ngZone, tableSizeService, commonString, document
|
|
13255
|
+
constructor(columnResizerService, renderer, ngZone, tableSizeService, commonString, document) {
|
|
13284
13256
|
this.columnResizerService = columnResizerService;
|
|
13285
13257
|
this.renderer = renderer;
|
|
13286
13258
|
this.ngZone = ngZone;
|
|
13287
13259
|
this.tableSizeService = tableSizeService;
|
|
13288
13260
|
this.commonString = commonString;
|
|
13289
13261
|
this.document = document;
|
|
13290
|
-
this.columnSeparatorId =
|
|
13262
|
+
this.columnSeparatorId = uniqueIdFactory();
|
|
13291
13263
|
this.resizeStartedOnKeyDown = false;
|
|
13292
13264
|
this.unlisteners = [];
|
|
13293
13265
|
}
|
|
@@ -13373,8 +13345,8 @@ class ClrDatagridColumnSeparator {
|
|
|
13373
13345
|
this.unlisteners.forEach(unlistener => unlistener());
|
|
13374
13346
|
}
|
|
13375
13347
|
}
|
|
13376
|
-
ClrDatagridColumnSeparator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagridColumnSeparator, deps: [{ token: ColumnResizerService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: TableSizeService }, { token: ClrCommonStringsService }, { token: DOCUMENT }
|
|
13377
|
-
ClrDatagridColumnSeparator.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrDatagridColumnSeparator, selector: "clr-dg-column-separator", host: { properties: { "class.datagrid-column-separator": "true" } },
|
|
13348
|
+
ClrDatagridColumnSeparator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagridColumnSeparator, deps: [{ token: ColumnResizerService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: TableSizeService }, { token: ClrCommonStringsService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
13349
|
+
ClrDatagridColumnSeparator.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrDatagridColumnSeparator, selector: "clr-dg-column-separator", host: { properties: { "class.datagrid-column-separator": "true" } }, viewQueries: [{ propertyName: "resizeTrackerRef", first: true, predicate: ["resizeTracker"], descendants: true }, { propertyName: "columnHandleRef", first: true, predicate: ["columnHandle"], descendants: true }], ngImport: i0, template: `
|
|
13378
13350
|
<button
|
|
13379
13351
|
type="button"
|
|
13380
13352
|
class="datagrid-column-handle"
|
|
@@ -13417,14 +13389,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
13417
13389
|
host: {
|
|
13418
13390
|
'[class.datagrid-column-separator]': 'true',
|
|
13419
13391
|
},
|
|
13420
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
13421
13392
|
}]
|
|
13422
13393
|
}], ctorParameters: function () { return [{ type: ColumnResizerService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: TableSizeService }, { type: ClrCommonStringsService }, { type: undefined, decorators: [{
|
|
13423
13394
|
type: Inject,
|
|
13424
13395
|
args: [DOCUMENT]
|
|
13425
|
-
}] }, { type: undefined, decorators: [{
|
|
13426
|
-
type: Inject,
|
|
13427
|
-
args: [UNIQUE_ID]
|
|
13428
13396
|
}] }]; }, propDecorators: { resizeTrackerRef: [{
|
|
13429
13397
|
type: ViewChild,
|
|
13430
13398
|
args: ['resizeTracker']
|
|
@@ -14525,10 +14493,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
14525
14493
|
*/
|
|
14526
14494
|
let nbSelection = 0;
|
|
14527
14495
|
class Selection {
|
|
14528
|
-
constructor(_items, _filters
|
|
14496
|
+
constructor(_items, _filters) {
|
|
14529
14497
|
this._items = _items;
|
|
14530
14498
|
this._filters = _filters;
|
|
14531
|
-
this._zone = _zone;
|
|
14532
14499
|
this.preserveSelection = false;
|
|
14533
14500
|
this.prevSelectionRefs = []; // Refs of selected items
|
|
14534
14501
|
this.lockedRefs = []; // Ref of locked items
|
|
@@ -14883,11 +14850,11 @@ class Selection {
|
|
|
14883
14850
|
}
|
|
14884
14851
|
}
|
|
14885
14852
|
}
|
|
14886
|
-
Selection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Selection, deps: [{ token: Items }, { token: FiltersProvider }
|
|
14853
|
+
Selection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Selection, deps: [{ token: Items }, { token: FiltersProvider }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14887
14854
|
Selection.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Selection });
|
|
14888
14855
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Selection, decorators: [{
|
|
14889
14856
|
type: Injectable
|
|
14890
|
-
}], ctorParameters: function () { return [{ type: Items }, { type: FiltersProvider }
|
|
14857
|
+
}], ctorParameters: function () { return [{ type: Items }, { type: FiltersProvider }]; } });
|
|
14891
14858
|
|
|
14892
14859
|
/*
|
|
14893
14860
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
@@ -15498,7 +15465,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15498
15465
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
15499
15466
|
*/
|
|
15500
15467
|
class ClrDatagrid {
|
|
15501
|
-
constructor(organizer, items, expandableRows, selection, rowActionService, stateProvider, displayMode, renderer, detailService,
|
|
15468
|
+
constructor(organizer, items, expandableRows, selection, rowActionService, stateProvider, displayMode, renderer, detailService, document, el, page, commonStrings, columnsService, keyNavigation, zone) {
|
|
15502
15469
|
this.organizer = organizer;
|
|
15503
15470
|
this.items = items;
|
|
15504
15471
|
this.expandableRows = expandableRows;
|
|
@@ -15532,6 +15499,7 @@ class ClrDatagrid {
|
|
|
15532
15499
|
* Subscriptions to all the services and queries changes
|
|
15533
15500
|
*/
|
|
15534
15501
|
this._subscriptions = [];
|
|
15502
|
+
const datagridId = uniqueIdFactory();
|
|
15535
15503
|
this.selectAllId = 'clr-dg-select-all-' + datagridId;
|
|
15536
15504
|
this.detailService.id = datagridId;
|
|
15537
15505
|
}
|
|
@@ -15720,7 +15688,7 @@ class ClrDatagrid {
|
|
|
15720
15688
|
this.organizer.resize();
|
|
15721
15689
|
}
|
|
15722
15690
|
}
|
|
15723
|
-
ClrDatagrid.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagrid, deps: [{ token: DatagridRenderOrganizer }, { token: Items }, { token: ExpandableRowsCount }, { token: Selection }, { token: RowActionService }, { token: StateProvider }, { token: DisplayModeService }, { token: i0.Renderer2 }, { token: DetailService }, { token:
|
|
15691
|
+
ClrDatagrid.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagrid, deps: [{ token: DatagridRenderOrganizer }, { token: Items }, { token: ExpandableRowsCount }, { token: Selection }, { token: RowActionService }, { token: StateProvider }, { token: DisplayModeService }, { token: i0.Renderer2 }, { token: DetailService }, { token: DOCUMENT }, { token: i0.ElementRef }, { token: Page }, { token: ClrCommonStringsService }, { token: ColumnsService }, { token: KeyNavigationGridController }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
15724
15692
|
ClrDatagrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrDatagrid, selector: "clr-datagrid", inputs: { loading: ["clrDgLoading", "loading"], selected: ["clrDgSelected", "selected"], singleSelected: ["clrDgSingleSelected", "singleSelected"], clrDgSingleSelectionAriaLabel: "clrDgSingleSelectionAriaLabel", clrDgSingleActionableAriaLabel: "clrDgSingleActionableAriaLabel", clrDetailExpandableAriaLabel: "clrDetailExpandableAriaLabel", clrDgDisablePageFocus: "clrDgDisablePageFocus", clrDgPreserveSelection: "clrDgPreserveSelection", rowSelectionMode: ["clrDgRowSelection", "rowSelectionMode"] }, outputs: { refresh: "clrDgRefresh", selectedChanged: "clrDgSelectedChange", singleSelectedChanged: "clrDgSingleSelectedChange" }, host: { properties: { "class.datagrid-host": "true", "class.datagrid-detail-open": "detailService.isOpen" } }, providers: [
|
|
15725
15693
|
Selection,
|
|
15726
15694
|
Sort,
|
|
@@ -15732,7 +15700,6 @@ ClrDatagrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
|
15732
15700
|
ExpandableRowsCount,
|
|
15733
15701
|
StateDebouncer,
|
|
15734
15702
|
DetailService,
|
|
15735
|
-
UNIQUE_ID_PROVIDER,
|
|
15736
15703
|
StateProvider,
|
|
15737
15704
|
TableSizeService,
|
|
15738
15705
|
ColumnsService,
|
|
@@ -15752,7 +15719,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15752
15719
|
ExpandableRowsCount,
|
|
15753
15720
|
StateDebouncer,
|
|
15754
15721
|
DetailService,
|
|
15755
|
-
UNIQUE_ID_PROVIDER,
|
|
15756
15722
|
StateProvider,
|
|
15757
15723
|
TableSizeService,
|
|
15758
15724
|
ColumnsService,
|
|
@@ -15763,9 +15729,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15763
15729
|
'[class.datagrid-detail-open]': 'detailService.isOpen',
|
|
15764
15730
|
}, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<ng-content select=\"clr-dg-action-bar\"></ng-content>\n<div class=\"datagrid-outer-wrapper\">\n <div class=\"datagrid-inner-wrapper\">\n <div class=\"datagrid\" #datagrid [attr.aria-hidden]=\"detailService.isOpen ? true : null\">\n <div class=\"datagrid-table-wrapper\">\n <div role=\"grid\" class=\"datagrid-table\" tabindex=\"-1\" #datagridTable>\n <div role=\"rowgroup\" class=\"datagrid-header\">\n <div role=\"row\" class=\"datagrid-row\">\n <div class=\"datagrid-row-master datagrid-row-flex\">\n <div class=\"datagrid-row-sticky\">\n <!--header for datagrid where you can select multiple rows -->\n <div\n role=\"columnheader\"\n class=\"datagrid-column datagrid-select datagrid-fixed-column\"\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Multi\"\n (keydown.space)=\"allSelected = !allSelected; $event.preventDefault()\"\n >\n <div class=\"clr-checkbox-wrapper\">\n <!-- We need to move focus and space-key handling to the parent because of keyboard arrow key navigation,\n which is not able to transfer focus directly on the input when focused with the tab key -->\n <input\n type=\"checkbox\"\n [id]=\"selectAllId\"\n [(ngModel)]=\"allSelected\"\n [attr.aria-label]=\"commonStrings.keys.selectAll\"\n tabindex=\"-1\"\n />\n <!-- Usage of class clr-col-null here prevents clr-col-* classes from being added when a datagrid is wrapped inside clrForm -->\n <label [for]=\"selectAllId\" class=\"clr-control-label clr-col-null\">\n <span class=\"clr-sr-only\">{{commonStrings.keys.selectAll}}</span>\n </label>\n </div>\n\n <div class=\"datagrid-column-separator\"></div>\n </div>\n <!-- header for datagrid where you can select one row only -->\n <div\n role=\"columnheader\"\n class=\"datagrid-column datagrid-select datagrid-fixed-column\"\n *ngIf=\"selection.selectionType === SELECTION_TYPE.Single\"\n [attr.aria-label]=\"clrDgSingleSelectionAriaLabel\"\n >\n <div class=\"datagrid-column-separator\"></div>\n </div>\n <!-- header for single row action; only displayType if we have at least one actionable row in datagrid -->\n <div\n role=\"columnheader\"\n class=\"datagrid-column datagrid-row-actions datagrid-fixed-column\"\n *ngIf=\"rowActionService.hasActionableRow\"\n [attr.aria-label]=\"clrDgSingleActionableAriaLabel\"\n >\n <div class=\"datagrid-column-separator\"></div>\n </div>\n <!-- header for carets; only displayType if we have at least one expandable row in datagrid -->\n <div\n role=\"columnheader\"\n class=\"datagrid-column datagrid-expandable-caret datagrid-fixed-column\"\n *ngIf=\"expandableRows.hasExpandableRow || detailService.enabled\"\n [attr.aria-label]=\"clrDetailExpandableAriaLabel\"\n >\n <div class=\"datagrid-column-separator\"></div>\n </div>\n </div>\n <div class=\"datagrid-row-scrollable\">\n <ng-container #projectedDisplayColumns></ng-container>\n </div>\n </div>\n </div>\n </div>\n <ng-container #displayedRows></ng-container>\n <!-- Custom placeholder overrides the default empty one -->\n <ng-content select=\"clr-dg-placeholder\"></ng-content>\n <clr-dg-placeholder *ngIf=\"!placeholder\"></clr-dg-placeholder>\n </div>\n </div>\n </div>\n <ng-content select=\"clr-dg-footer\"></ng-content>\n <div class=\"datagrid-spinner\" *ngIf=\"loading\">\n <clr-spinner clrMedium>Loading</clr-spinner>\n </div>\n </div>\n <ng-content select=\"[clrIfDetail],clr-dg-detail\"></ng-content>\n</div>\n\n<div class=\"datagrid-calculation-table\">\n <div class=\"datagrid-calculation-header\">\n <ng-container #projectedCalculationColumns></ng-container>\n </div>\n <ng-container #calculationRows></ng-container>\n</div>\n" }]
|
|
15765
15731
|
}], ctorParameters: function () { return [{ type: DatagridRenderOrganizer }, { type: Items }, { type: ExpandableRowsCount }, { type: Selection }, { type: RowActionService }, { type: StateProvider }, { type: DisplayModeService }, { type: i0.Renderer2 }, { type: DetailService }, { type: undefined, decorators: [{
|
|
15766
|
-
type: Inject,
|
|
15767
|
-
args: [UNIQUE_ID]
|
|
15768
|
-
}] }, { type: undefined, decorators: [{
|
|
15769
15732
|
type: Inject,
|
|
15770
15733
|
args: [DOCUMENT]
|
|
15771
15734
|
}] }, { type: i0.ElementRef }, { type: Page }, { type: ClrCommonStringsService }, { type: ColumnsService }, { type: KeyNavigationGridController }, { type: i0.NgZone }]; }, propDecorators: { loading: [{
|
|
@@ -15862,13 +15825,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15862
15825
|
*/
|
|
15863
15826
|
let clrDgActionId = 0;
|
|
15864
15827
|
class ClrDatagridActionOverflow {
|
|
15865
|
-
constructor(rowActionService, commonStrings, platformId, zone, smartToggleService
|
|
15828
|
+
constructor(rowActionService, commonStrings, platformId, zone, smartToggleService) {
|
|
15866
15829
|
this.rowActionService = rowActionService;
|
|
15867
15830
|
this.commonStrings = commonStrings;
|
|
15868
15831
|
this.platformId = platformId;
|
|
15869
15832
|
this.zone = zone;
|
|
15870
15833
|
this.smartToggleService = smartToggleService;
|
|
15871
|
-
this.popoverId = popoverId;
|
|
15872
15834
|
this.subscriptions = [];
|
|
15873
15835
|
this.smartPosition = {
|
|
15874
15836
|
axis: ClrAxis.HORIZONTAL,
|
|
@@ -15876,6 +15838,7 @@ class ClrDatagridActionOverflow {
|
|
|
15876
15838
|
anchor: ClrAlignment.CENTER,
|
|
15877
15839
|
content: ClrAlignment.CENTER,
|
|
15878
15840
|
};
|
|
15841
|
+
this.popoverId = uniqueIdFactory();
|
|
15879
15842
|
this._open = false;
|
|
15880
15843
|
this.openChange = new EventEmitter(false);
|
|
15881
15844
|
this.rowActionService.register();
|
|
@@ -15921,8 +15884,8 @@ class ClrDatagridActionOverflow {
|
|
|
15921
15884
|
}
|
|
15922
15885
|
}
|
|
15923
15886
|
}
|
|
15924
|
-
ClrDatagridActionOverflow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagridActionOverflow, deps: [{ token: RowActionService }, { token: ClrCommonStringsService }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: ClrPopoverToggleService }
|
|
15925
|
-
ClrDatagridActionOverflow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrDatagridActionOverflow, selector: "clr-dg-action-overflow", inputs: { open: ["clrDgActionOverflowOpen", "open"] }, outputs: { openChange: "clrDgActionOverflowOpenChange" }, providers: [
|
|
15887
|
+
ClrDatagridActionOverflow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagridActionOverflow, deps: [{ token: RowActionService }, { token: ClrCommonStringsService }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: ClrPopoverToggleService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15888
|
+
ClrDatagridActionOverflow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrDatagridActionOverflow, selector: "clr-dg-action-overflow", inputs: { open: ["clrDgActionOverflowOpen", "open"] }, outputs: { openChange: "clrDgActionOverflowOpenChange" }, providers: [ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService], viewQueries: [{ propertyName: "keyFocus", first: true, predicate: ClrKeyFocus, descendants: true }], ngImport: i0, template: `
|
|
15926
15889
|
<button
|
|
15927
15890
|
class="datagrid-action-toggle"
|
|
15928
15891
|
type="button"
|
|
@@ -15955,7 +15918,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15955
15918
|
type: Component,
|
|
15956
15919
|
args: [{
|
|
15957
15920
|
selector: 'clr-dg-action-overflow',
|
|
15958
|
-
providers: [
|
|
15921
|
+
providers: [ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService],
|
|
15959
15922
|
template: `
|
|
15960
15923
|
<button
|
|
15961
15924
|
class="datagrid-action-toggle"
|
|
@@ -15989,10 +15952,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15989
15952
|
}], ctorParameters: function () { return [{ type: RowActionService }, { type: ClrCommonStringsService }, { type: undefined, decorators: [{
|
|
15990
15953
|
type: Inject,
|
|
15991
15954
|
args: [PLATFORM_ID]
|
|
15992
|
-
}] }, { type: i0.NgZone }, { type: ClrPopoverToggleService },
|
|
15993
|
-
type: Inject,
|
|
15994
|
-
args: [UNIQUE_ID]
|
|
15995
|
-
}] }]; }, propDecorators: { keyFocus: [{
|
|
15955
|
+
}] }, { type: i0.NgZone }, { type: ClrPopoverToggleService }]; }, propDecorators: { keyFocus: [{
|
|
15996
15956
|
type: ViewChild,
|
|
15997
15957
|
args: [ClrKeyFocus]
|
|
15998
15958
|
}], open: [{
|
|
@@ -16116,14 +16076,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
16116
16076
|
*/
|
|
16117
16077
|
/** @deprecated since 2.0, remove in 3.0 */
|
|
16118
16078
|
class ClrDatagridColumnToggle {
|
|
16119
|
-
constructor(commonStrings, columnsService,
|
|
16079
|
+
constructor(commonStrings, columnsService, popoverToggleService) {
|
|
16120
16080
|
this.commonStrings = commonStrings;
|
|
16121
16081
|
this.columnsService = columnsService;
|
|
16122
|
-
this.
|
|
16123
|
-
this.platformId = platformId;
|
|
16124
|
-
this.zone = zone;
|
|
16125
|
-
this.popoverId = popoverId;
|
|
16126
|
-
this.popoverToggleService = popoverToggleService;
|
|
16082
|
+
this.popoverId = uniqueIdFactory();
|
|
16127
16083
|
// Smart Popover
|
|
16128
16084
|
this.smartPosition = {
|
|
16129
16085
|
axis: ClrAxis.VERTICAL,
|
|
@@ -16170,8 +16126,8 @@ class ClrDatagridColumnToggle {
|
|
|
16170
16126
|
return index;
|
|
16171
16127
|
}
|
|
16172
16128
|
}
|
|
16173
|
-
ClrDatagridColumnToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagridColumnToggle, deps: [{ token: ClrCommonStringsService }, { token: ColumnsService }, { token:
|
|
16174
|
-
ClrDatagridColumnToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrDatagridColumnToggle, selector: "clr-dg-column-toggle", host: { properties: { "class.column-switch-wrapper": "true", "class.active": "openState" } }, providers: [
|
|
16129
|
+
ClrDatagridColumnToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagridColumnToggle, deps: [{ token: ClrCommonStringsService }, { token: ColumnsService }, { token: ClrPopoverToggleService }], target: i0.ɵɵFactoryTarget.Component });
|
|
16130
|
+
ClrDatagridColumnToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrDatagridColumnToggle, selector: "clr-dg-column-toggle", host: { properties: { "class.column-switch-wrapper": "true", "class.active": "openState" } }, providers: [ClrPopoverEventsService, ClrPopoverPositionService, ClrPopoverToggleService], queries: [{ propertyName: "customToggleTitle", first: true, predicate: ClrDatagridColumnToggleTitle, descendants: true }, { propertyName: "customToggleButton", first: true, predicate: ClrDatagridColumnToggleButton, descendants: true }], viewQueries: [{ propertyName: "allSelectedElement", first: true, predicate: ["allSelected"], descendants: true, read: ElementRef }], ngImport: i0, template: `
|
|
16175
16131
|
<button
|
|
16176
16132
|
role="button"
|
|
16177
16133
|
type="button"
|
|
@@ -16300,18 +16256,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
16300
16256
|
</div>
|
|
16301
16257
|
`,
|
|
16302
16258
|
host: { '[class.column-switch-wrapper]': 'true', '[class.active]': 'openState' },
|
|
16303
|
-
providers: [
|
|
16259
|
+
providers: [ClrPopoverEventsService, ClrPopoverPositionService, ClrPopoverToggleService],
|
|
16304
16260
|
}]
|
|
16305
|
-
}], ctorParameters: function () { return [{ type: ClrCommonStringsService }, { type: ColumnsService }, { type:
|
|
16306
|
-
type: Inject,
|
|
16307
|
-
args: [UNIQUE_ID]
|
|
16308
|
-
}] }, { type: undefined, decorators: [{
|
|
16309
|
-
type: Inject,
|
|
16310
|
-
args: [PLATFORM_ID]
|
|
16311
|
-
}] }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
16312
|
-
type: Inject,
|
|
16313
|
-
args: [UNIQUE_ID]
|
|
16314
|
-
}] }, { type: ClrPopoverToggleService }]; }, propDecorators: { customToggleTitle: [{
|
|
16261
|
+
}], ctorParameters: function () { return [{ type: ClrCommonStringsService }, { type: ColumnsService }, { type: ClrPopoverToggleService }]; }, propDecorators: { customToggleTitle: [{
|
|
16315
16262
|
type: ContentChild,
|
|
16316
16263
|
args: [ClrDatagridColumnToggleTitle]
|
|
16317
16264
|
}], customToggleButton: [{
|
|
@@ -17169,12 +17116,21 @@ class ClrIfDetail {
|
|
|
17169
17116
|
}
|
|
17170
17117
|
togglePanel(showPanel) {
|
|
17171
17118
|
let stateChangeParams = null;
|
|
17172
|
-
this.viewContainer.clear();
|
|
17173
17119
|
if (showPanel === true) {
|
|
17174
|
-
|
|
17120
|
+
const embeddedViewContext = { $implicit: this.detailService.state };
|
|
17121
|
+
if (this.embeddedViewRef) {
|
|
17122
|
+
this.embeddedViewRef.context = embeddedViewContext;
|
|
17123
|
+
}
|
|
17124
|
+
else {
|
|
17125
|
+
this.embeddedViewRef = this.viewContainer.createEmbeddedView(this.templateRef, embeddedViewContext);
|
|
17126
|
+
}
|
|
17175
17127
|
this.skip = true;
|
|
17176
17128
|
stateChangeParams = this.detailService.state;
|
|
17177
17129
|
}
|
|
17130
|
+
else {
|
|
17131
|
+
this.viewContainer.clear();
|
|
17132
|
+
this.embeddedViewRef = null;
|
|
17133
|
+
}
|
|
17178
17134
|
this.stateChange.emit(stateChangeParams);
|
|
17179
17135
|
}
|
|
17180
17136
|
ngOnDestroy() {
|
|
@@ -18399,8 +18355,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18399
18355
|
}]
|
|
18400
18356
|
}] });
|
|
18401
18357
|
class ClrStackViewLabel {
|
|
18402
|
-
constructor(
|
|
18403
|
-
this.uniqueId = uniqueId;
|
|
18358
|
+
constructor() {
|
|
18404
18359
|
this._generatedId = null;
|
|
18405
18360
|
this._id = null;
|
|
18406
18361
|
}
|
|
@@ -18416,28 +18371,24 @@ class ClrStackViewLabel {
|
|
|
18416
18371
|
return this._id;
|
|
18417
18372
|
}
|
|
18418
18373
|
ngOnInit() {
|
|
18419
|
-
this._generatedId = 'clr-stack-label-' +
|
|
18374
|
+
this._generatedId = 'clr-stack-label-' + uniqueIdFactory();
|
|
18420
18375
|
if (!this.id) {
|
|
18421
18376
|
this._id = this._generatedId + '';
|
|
18422
18377
|
}
|
|
18423
18378
|
}
|
|
18424
18379
|
}
|
|
18425
|
-
ClrStackViewLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackViewLabel, deps: [
|
|
18426
|
-
ClrStackViewLabel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrStackViewLabel, selector: "clr-stack-label", inputs: { id: "id" }, host: { properties: { "attr.id": "id" } },
|
|
18380
|
+
ClrStackViewLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackViewLabel, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18381
|
+
ClrStackViewLabel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrStackViewLabel, selector: "clr-stack-label", inputs: { id: "id" }, host: { properties: { "attr.id": "id" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
|
18427
18382
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackViewLabel, decorators: [{
|
|
18428
18383
|
type: Component,
|
|
18429
18384
|
args: [{
|
|
18430
18385
|
selector: 'clr-stack-label',
|
|
18431
18386
|
template: '<ng-content></ng-content>',
|
|
18432
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
18433
18387
|
host: {
|
|
18434
18388
|
'[attr.id]': 'id',
|
|
18435
18389
|
},
|
|
18436
18390
|
}]
|
|
18437
|
-
}],
|
|
18438
|
-
type: Inject,
|
|
18439
|
-
args: [UNIQUE_ID]
|
|
18440
|
-
}] }]; }, propDecorators: { id: [{
|
|
18391
|
+
}], propDecorators: { id: [{
|
|
18441
18392
|
type: Input
|
|
18442
18393
|
}] } });
|
|
18443
18394
|
|
|
@@ -18452,9 +18403,8 @@ class ClrStackBlock {
|
|
|
18452
18403
|
* querying for children StackBlocks, but this feature is not available when downgrading
|
|
18453
18404
|
* the component for Angular 1.
|
|
18454
18405
|
*/
|
|
18455
|
-
constructor(parent,
|
|
18406
|
+
constructor(parent, commonStrings) {
|
|
18456
18407
|
this.parent = parent;
|
|
18457
|
-
this.uniqueId = uniqueId;
|
|
18458
18408
|
this.commonStrings = commonStrings;
|
|
18459
18409
|
this.expanded = false;
|
|
18460
18410
|
this.expandedChange = new EventEmitter(false);
|
|
@@ -18463,6 +18413,7 @@ class ClrStackBlock {
|
|
|
18463
18413
|
this._changedChildren = 0;
|
|
18464
18414
|
this._fullyInitialized = false;
|
|
18465
18415
|
this._changed = false;
|
|
18416
|
+
this.uniqueId = uniqueIdFactory();
|
|
18466
18417
|
if (parent) {
|
|
18467
18418
|
parent.addChild();
|
|
18468
18419
|
}
|
|
@@ -18528,13 +18479,16 @@ class ClrStackBlock {
|
|
|
18528
18479
|
return this.expanded ? `clr-stack-children-${this.uniqueId}` : null;
|
|
18529
18480
|
}
|
|
18530
18481
|
}
|
|
18531
|
-
ClrStackBlock.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackBlock, deps: [{ token: ClrStackBlock, optional: true, skipSelf: true }, { token:
|
|
18532
|
-
ClrStackBlock.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrStackBlock, selector: "clr-stack-block", inputs: { expanded: ["clrSbExpanded", "expanded"], expandable: ["clrSbExpandable", "expandable"], setChangedValue: ["clrSbNotifyChange", "setChangedValue"], ariaLevel: ["clrStackViewLevel", "ariaLevel"], ariaSetsize: ["clrStackViewSetsize", "ariaSetsize"], ariaPosinset: ["clrStackViewPosinset", "ariaPosinset"] }, outputs: { expandedChange: "clrSbExpandedChange" }, host: { properties: { "class.stack-block": "true", "attr.role": "\"heading\"", "attr.aria-level": "headingLevel", "class.stack-block-expanded": "this.expanded", "class.stack-block-expandable": "this.expandable", "class.stack-block-changed": "this.getChangedValue", "class.on-focus": "this.onStackLabelFocus" } },
|
|
18482
|
+
ClrStackBlock.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackBlock, deps: [{ token: ClrStackBlock, optional: true, skipSelf: true }, { token: ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
18483
|
+
ClrStackBlock.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrStackBlock, selector: "clr-stack-block", inputs: { expanded: ["clrSbExpanded", "expanded"], expandable: ["clrSbExpandable", "expandable"], setChangedValue: ["clrSbNotifyChange", "setChangedValue"], ariaLevel: ["clrStackViewLevel", "ariaLevel"], ariaSetsize: ["clrStackViewSetsize", "ariaSetsize"], ariaPosinset: ["clrStackViewPosinset", "ariaPosinset"] }, outputs: { expandedChange: "clrSbExpandedChange" }, host: { properties: { "class.stack-block": "true", "attr.role": "\"heading\"", "attr.aria-level": "headingLevel", "class.stack-block-expanded": "this.expanded", "class.stack-block-expandable": "this.expandable", "class.stack-block-changed": "this.getChangedValue", "class.on-focus": "this.onStackLabelFocus" } }, queries: [{ propertyName: "stackBlockTitle", first: true, predicate: ClrStackViewLabel, descendants: true }], ngImport: i0, template: `
|
|
18484
|
+
<!-- The 'preventDefault' for the space keydown event prevents the page
|
|
18485
|
+
from scrolling when a stack block is toggled via the space key. -->
|
|
18533
18486
|
<div
|
|
18534
18487
|
class="stack-block-label"
|
|
18535
18488
|
(click)="toggleExpand()"
|
|
18536
18489
|
(keyup.enter)="toggleExpand()"
|
|
18537
18490
|
(keyup.space)="toggleExpand()"
|
|
18491
|
+
(keydown.space)="$event.preventDefault()"
|
|
18538
18492
|
(focus)="focused = true"
|
|
18539
18493
|
(blur)="focused = false"
|
|
18540
18494
|
[id]="uniqueId"
|
|
@@ -18572,11 +18526,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18572
18526
|
args: [{
|
|
18573
18527
|
selector: 'clr-stack-block',
|
|
18574
18528
|
template: `
|
|
18529
|
+
<!-- The 'preventDefault' for the space keydown event prevents the page
|
|
18530
|
+
from scrolling when a stack block is toggled via the space key. -->
|
|
18575
18531
|
<div
|
|
18576
18532
|
class="stack-block-label"
|
|
18577
18533
|
(click)="toggleExpand()"
|
|
18578
18534
|
(keyup.enter)="toggleExpand()"
|
|
18579
18535
|
(keyup.space)="toggleExpand()"
|
|
18536
|
+
(keydown.space)="$event.preventDefault()"
|
|
18580
18537
|
(focus)="focused = true"
|
|
18581
18538
|
(blur)="focused = false"
|
|
18582
18539
|
[id]="uniqueId"
|
|
@@ -18623,15 +18580,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18623
18580
|
'[attr.role]': '"heading"',
|
|
18624
18581
|
'[attr.aria-level]': 'headingLevel',
|
|
18625
18582
|
},
|
|
18626
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
18627
18583
|
}]
|
|
18628
18584
|
}], ctorParameters: function () { return [{ type: ClrStackBlock, decorators: [{
|
|
18629
18585
|
type: SkipSelf
|
|
18630
18586
|
}, {
|
|
18631
18587
|
type: Optional
|
|
18632
|
-
}] }, { type: undefined, decorators: [{
|
|
18633
|
-
type: Inject,
|
|
18634
|
-
args: [UNIQUE_ID]
|
|
18635
18588
|
}] }, { type: ClrCommonStringsService }]; }, propDecorators: { expanded: [{
|
|
18636
18589
|
type: HostBinding,
|
|
18637
18590
|
args: ['class.stack-block-expanded']
|
|
@@ -18676,11 +18629,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18676
18629
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
18677
18630
|
*/
|
|
18678
18631
|
class ClrStackContentInput {
|
|
18679
|
-
constructor(
|
|
18680
|
-
this.uniqueId =
|
|
18632
|
+
constructor() {
|
|
18633
|
+
this.uniqueId = uniqueIdFactory();
|
|
18681
18634
|
}
|
|
18682
18635
|
}
|
|
18683
|
-
ClrStackContentInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackContentInput, deps: [
|
|
18636
|
+
ClrStackContentInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackContentInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
18684
18637
|
ClrStackContentInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ClrStackContentInput, selector: "[clrStackInput]", host: { properties: { "class.clr-input": "true", "attr.aria-labelledby": "uniqueId" } }, ngImport: i0 });
|
|
18685
18638
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackContentInput, decorators: [{
|
|
18686
18639
|
type: Directive,
|
|
@@ -18691,10 +18644,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18691
18644
|
'[attr.aria-labelledby]': 'uniqueId',
|
|
18692
18645
|
},
|
|
18693
18646
|
}]
|
|
18694
|
-
}]
|
|
18695
|
-
type: Inject,
|
|
18696
|
-
args: [UNIQUE_ID]
|
|
18697
|
-
}] }]; } });
|
|
18647
|
+
}] });
|
|
18698
18648
|
|
|
18699
18649
|
/*
|
|
18700
18650
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
@@ -19579,8 +19529,7 @@ const LVIEW_CONTEXT_INDEX = 8;
|
|
|
19579
19529
|
// then those keys are sent together in one request.
|
|
19580
19530
|
const TREE_TYPE_AHEAD_TIMEOUT = 200;
|
|
19581
19531
|
class ClrTreeNode {
|
|
19582
|
-
constructor(
|
|
19583
|
-
this.nodeId = nodeId;
|
|
19532
|
+
constructor(platformId, parent, forTypeAheadProvider, featuresService, expandService, commonStrings, focusManager, injector) {
|
|
19584
19533
|
this.platformId = platformId;
|
|
19585
19534
|
this.forTypeAheadProvider = forTypeAheadProvider;
|
|
19586
19535
|
this.featuresService = featuresService;
|
|
@@ -19590,6 +19539,7 @@ class ClrTreeNode {
|
|
|
19590
19539
|
this.STATES = ClrSelectedState;
|
|
19591
19540
|
this.skipEmitChange = false;
|
|
19592
19541
|
this.isModelLoading = false;
|
|
19542
|
+
this.nodeId = uniqueIdFactory();
|
|
19593
19543
|
this.typeAheadKeyEvent = new Subject();
|
|
19594
19544
|
this.typeAheadKeyBuffer = '';
|
|
19595
19545
|
this.selectedChange = new EventEmitter(false);
|
|
@@ -19804,13 +19754,8 @@ class ClrTreeNode {
|
|
|
19804
19754
|
}
|
|
19805
19755
|
}
|
|
19806
19756
|
}
|
|
19807
|
-
ClrTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTreeNode, deps: [{ token:
|
|
19808
|
-
ClrTreeNode.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrTreeNode, selector: "clr-tree-node", inputs: { selected: ["clrSelected", "selected"], expandable: ["clrExpandable", "expandable"], expanded: ["clrExpanded", "expanded"] }, outputs: { selectedChange: "clrSelectedChange", expandedChange: "clrExpandedChange" }, host: { properties: { "class.clr-tree-node": "true" } }, providers: [
|
|
19809
|
-
UNIQUE_ID_PROVIDER,
|
|
19810
|
-
TREE_FEATURES_PROVIDER,
|
|
19811
|
-
IfExpandService,
|
|
19812
|
-
{ provide: LoadingListener, useExisting: IfExpandService },
|
|
19813
|
-
], queries: [{ propertyName: "treeNodeLinkList", predicate: ClrTreeNodeLink }], viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n #contentContainer\n role=\"treeitem\"\n class=\"clr-tree-node-content-container\"\n tabindex=\"-1\"\n [attr.aria-expanded]=\"isExpandable() ? expanded : null\"\n [attr.aria-selected]=\"ariaSelected\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"broadcastFocusOnContainer()\"\n>\n <button\n *ngIf=\"isExpandable() && !isModelLoading && !expandService.loading\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"clr-treenode-caret\"\n (click)=\"expandService.toggle();\"\n (focus)=\"focusTreeNode()\"\n >\n <cds-icon\n class=\"clr-treenode-caret-icon\"\n shape=\"angle\"\n [attr.direction]=\"expandService.expanded ? 'down' : 'right'\"\n ></cds-icon>\n </button>\n <div class=\"clr-treenode-spinner-container\" *ngIf=\"expandService.loading || isModelLoading\">\n <span class=\"clr-treenode-spinner spinner\"></span>\n </div>\n <div class=\"clr-checkbox-wrapper clr-treenode-checkbox\" *ngIf=\"featuresService.selectable\">\n <input\n aria-hidden=\"true\"\n type=\"checkbox\"\n id=\"{{nodeId}}-check\"\n class=\"clr-checkbox\"\n [checked]=\"_model.selected.value === STATES.SELECTED\"\n [indeterminate]=\"_model.selected.value === STATES.INDETERMINATE\"\n (change)=\"_model.toggleSelection(featuresService.eager)\"\n (focus)=\"focusTreeNode()\"\n tabindex=\"-1\"\n />\n <label for=\"{{nodeId}}-check\" class=\"clr-control-label\"></label>\n </div>\n <div class=\"clr-treenode-content\" (mousedown)=\"focusTreeNode()\">\n <ng-content></ng-content>\n <div class=\"clr-sr-only\" *ngIf=\"featuresService.selectable\">\n <span *ngIf=\"ariaSelected\">selected</span>\n <span *ngIf=\"!ariaSelected\">unselected</span>\n </div>\n </div>\n</div>\n<div\n class=\"clr-treenode-children\"\n [@toggleChildrenAnim]=\"expandService.expanded ? 'expanded' : 'collapsed'\"\n [attr.role]=\"isExpandable() && !featuresService.recursion ? 'group' : null\"\n>\n <ng-content select=\"clr-tree-node\"></ng-content>\n <ng-content select=\"[clrIfExpanded]\"></ng-content>\n <clr-recursive-children [parent]=\"_model\"></clr-recursive-children>\n</div>\n", components: [{ type: RecursiveChildren, selector: "clr-recursive-children", inputs: ["parent", "children"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CdsIconCustomTag, selector: "cds-icon" }], animations: [
|
|
19757
|
+
ClrTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTreeNode, deps: [{ token: PLATFORM_ID }, { token: ClrTreeNode, optional: true, skipSelf: true }, { token: ForTypeAheadProvider, optional: true, self: true }, { token: TreeFeaturesService }, { token: IfExpandService }, { token: ClrCommonStringsService }, { token: TreeFocusManagerService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
19758
|
+
ClrTreeNode.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrTreeNode, selector: "clr-tree-node", inputs: { selected: ["clrSelected", "selected"], expandable: ["clrExpandable", "expandable"], expanded: ["clrExpanded", "expanded"] }, outputs: { selectedChange: "clrSelectedChange", expandedChange: "clrExpandedChange" }, host: { properties: { "class.clr-tree-node": "true" } }, providers: [TREE_FEATURES_PROVIDER, IfExpandService, { provide: LoadingListener, useExisting: IfExpandService }], queries: [{ propertyName: "treeNodeLinkList", predicate: ClrTreeNodeLink }], viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n #contentContainer\n role=\"treeitem\"\n class=\"clr-tree-node-content-container\"\n tabindex=\"-1\"\n [attr.aria-expanded]=\"isExpandable() ? expanded : null\"\n [attr.aria-selected]=\"ariaSelected\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"broadcastFocusOnContainer()\"\n>\n <button\n *ngIf=\"isExpandable() && !isModelLoading && !expandService.loading\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"clr-treenode-caret\"\n (click)=\"expandService.toggle();\"\n (focus)=\"focusTreeNode()\"\n >\n <cds-icon\n class=\"clr-treenode-caret-icon\"\n shape=\"angle\"\n [attr.direction]=\"expandService.expanded ? 'down' : 'right'\"\n ></cds-icon>\n </button>\n <div class=\"clr-treenode-spinner-container\" *ngIf=\"expandService.loading || isModelLoading\">\n <span class=\"clr-treenode-spinner spinner\"></span>\n </div>\n <div class=\"clr-checkbox-wrapper clr-treenode-checkbox\" *ngIf=\"featuresService.selectable\">\n <input\n aria-hidden=\"true\"\n type=\"checkbox\"\n id=\"{{nodeId}}-check\"\n class=\"clr-checkbox\"\n [checked]=\"_model.selected.value === STATES.SELECTED\"\n [indeterminate]=\"_model.selected.value === STATES.INDETERMINATE\"\n (change)=\"_model.toggleSelection(featuresService.eager)\"\n (focus)=\"focusTreeNode()\"\n tabindex=\"-1\"\n />\n <label for=\"{{nodeId}}-check\" class=\"clr-control-label\"></label>\n </div>\n <div class=\"clr-treenode-content\" (mousedown)=\"focusTreeNode()\">\n <ng-content></ng-content>\n <div class=\"clr-sr-only\" *ngIf=\"featuresService.selectable\">\n <span *ngIf=\"ariaSelected\">selected</span>\n <span *ngIf=\"!ariaSelected\">unselected</span>\n </div>\n </div>\n</div>\n<div\n class=\"clr-treenode-children\"\n [@toggleChildrenAnim]=\"expandService.expanded ? 'expanded' : 'collapsed'\"\n [attr.role]=\"isExpandable() && !featuresService.recursion ? 'group' : null\"\n>\n <ng-content select=\"clr-tree-node\"></ng-content>\n <ng-content select=\"[clrIfExpanded]\"></ng-content>\n <clr-recursive-children [parent]=\"_model\"></clr-recursive-children>\n</div>\n", components: [{ type: RecursiveChildren, selector: "clr-recursive-children", inputs: ["parent", "children"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CdsIconCustomTag, selector: "cds-icon" }], animations: [
|
|
19814
19759
|
trigger('toggleChildrenAnim', [
|
|
19815
19760
|
transition('collapsed => expanded', [style({ height: 0 }), animate(200, style({ height: '*' }))]),
|
|
19816
19761
|
transition('expanded => collapsed', [style({ height: '*' }), animate(200, style({ height: 0 }))]),
|
|
@@ -19820,12 +19765,7 @@ ClrTreeNode.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
|
19820
19765
|
] });
|
|
19821
19766
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTreeNode, decorators: [{
|
|
19822
19767
|
type: Component,
|
|
19823
|
-
args: [{ selector: 'clr-tree-node', providers: [
|
|
19824
|
-
UNIQUE_ID_PROVIDER,
|
|
19825
|
-
TREE_FEATURES_PROVIDER,
|
|
19826
|
-
IfExpandService,
|
|
19827
|
-
{ provide: LoadingListener, useExisting: IfExpandService },
|
|
19828
|
-
], animations: [
|
|
19768
|
+
args: [{ selector: 'clr-tree-node', providers: [TREE_FEATURES_PROVIDER, IfExpandService, { provide: LoadingListener, useExisting: IfExpandService }], animations: [
|
|
19829
19769
|
trigger('toggleChildrenAnim', [
|
|
19830
19770
|
transition('collapsed => expanded', [style({ height: 0 }), animate(200, style({ height: '*' }))]),
|
|
19831
19771
|
transition('expanded => collapsed', [style({ height: '*' }), animate(200, style({ height: 0 }))]),
|
|
@@ -19836,9 +19776,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
19836
19776
|
'[class.clr-tree-node]': 'true',
|
|
19837
19777
|
}, template: "<!--\n ~ Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n #contentContainer\n role=\"treeitem\"\n class=\"clr-tree-node-content-container\"\n tabindex=\"-1\"\n [attr.aria-expanded]=\"isExpandable() ? expanded : null\"\n [attr.aria-selected]=\"ariaSelected\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"broadcastFocusOnContainer()\"\n>\n <button\n *ngIf=\"isExpandable() && !isModelLoading && !expandService.loading\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"clr-treenode-caret\"\n (click)=\"expandService.toggle();\"\n (focus)=\"focusTreeNode()\"\n >\n <cds-icon\n class=\"clr-treenode-caret-icon\"\n shape=\"angle\"\n [attr.direction]=\"expandService.expanded ? 'down' : 'right'\"\n ></cds-icon>\n </button>\n <div class=\"clr-treenode-spinner-container\" *ngIf=\"expandService.loading || isModelLoading\">\n <span class=\"clr-treenode-spinner spinner\"></span>\n </div>\n <div class=\"clr-checkbox-wrapper clr-treenode-checkbox\" *ngIf=\"featuresService.selectable\">\n <input\n aria-hidden=\"true\"\n type=\"checkbox\"\n id=\"{{nodeId}}-check\"\n class=\"clr-checkbox\"\n [checked]=\"_model.selected.value === STATES.SELECTED\"\n [indeterminate]=\"_model.selected.value === STATES.INDETERMINATE\"\n (change)=\"_model.toggleSelection(featuresService.eager)\"\n (focus)=\"focusTreeNode()\"\n tabindex=\"-1\"\n />\n <label for=\"{{nodeId}}-check\" class=\"clr-control-label\"></label>\n </div>\n <div class=\"clr-treenode-content\" (mousedown)=\"focusTreeNode()\">\n <ng-content></ng-content>\n <div class=\"clr-sr-only\" *ngIf=\"featuresService.selectable\">\n <span *ngIf=\"ariaSelected\">selected</span>\n <span *ngIf=\"!ariaSelected\">unselected</span>\n </div>\n </div>\n</div>\n<div\n class=\"clr-treenode-children\"\n [@toggleChildrenAnim]=\"expandService.expanded ? 'expanded' : 'collapsed'\"\n [attr.role]=\"isExpandable() && !featuresService.recursion ? 'group' : null\"\n>\n <ng-content select=\"clr-tree-node\"></ng-content>\n <ng-content select=\"[clrIfExpanded]\"></ng-content>\n <clr-recursive-children [parent]=\"_model\"></clr-recursive-children>\n</div>\n" }]
|
|
19838
19778
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
19839
|
-
type: Inject,
|
|
19840
|
-
args: [UNIQUE_ID]
|
|
19841
|
-
}] }, { type: undefined, decorators: [{
|
|
19842
19779
|
type: Inject,
|
|
19843
19780
|
args: [PLATFORM_ID]
|
|
19844
19781
|
}] }, { type: ClrTreeNode, decorators: [{
|
|
@@ -20048,13 +19985,13 @@ function wrapObservable(observable, onSubscribe, onUnsubscribe) {
|
|
|
20048
19985
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
20049
19986
|
*/
|
|
20050
19987
|
class DropdownFocusHandler {
|
|
20051
|
-
constructor(
|
|
20052
|
-
this.id = id;
|
|
19988
|
+
constructor(renderer, parent, toggleService, focusService, platformId) {
|
|
20053
19989
|
this.renderer = renderer;
|
|
20054
19990
|
this.parent = parent;
|
|
20055
19991
|
this.toggleService = toggleService;
|
|
20056
19992
|
this.focusService = focusService;
|
|
20057
19993
|
this.platformId = platformId;
|
|
19994
|
+
this.id = uniqueIdFactory();
|
|
20058
19995
|
this._unlistenFuncs = [];
|
|
20059
19996
|
this.focusBackOnTrigger = false;
|
|
20060
19997
|
this.resetChildren();
|
|
@@ -20201,14 +20138,11 @@ class DropdownFocusHandler {
|
|
|
20201
20138
|
this.focusService.detachListeners();
|
|
20202
20139
|
}
|
|
20203
20140
|
}
|
|
20204
|
-
DropdownFocusHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownFocusHandler, deps: [{ token:
|
|
20141
|
+
DropdownFocusHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownFocusHandler, deps: [{ token: i0.Renderer2 }, { token: DropdownFocusHandler, optional: true, skipSelf: true }, { token: ClrPopoverToggleService }, { token: FocusService$1 }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20205
20142
|
DropdownFocusHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownFocusHandler });
|
|
20206
20143
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownFocusHandler, decorators: [{
|
|
20207
20144
|
type: Injectable
|
|
20208
|
-
}], ctorParameters: function () { return [{ type:
|
|
20209
|
-
type: Inject,
|
|
20210
|
-
args: [UNIQUE_ID]
|
|
20211
|
-
}] }, { type: i0.Renderer2 }, { type: DropdownFocusHandler, decorators: [{
|
|
20145
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: DropdownFocusHandler, decorators: [{
|
|
20212
20146
|
type: SkipSelf
|
|
20213
20147
|
}, {
|
|
20214
20148
|
type: Optional
|
|
@@ -20307,13 +20241,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
20307
20241
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
20308
20242
|
*/
|
|
20309
20243
|
class BasicFocusableItem {
|
|
20310
|
-
constructor(
|
|
20311
|
-
this.id = id;
|
|
20244
|
+
constructor(el, renderer, platformId) {
|
|
20312
20245
|
this.el = el;
|
|
20313
20246
|
this.renderer = renderer;
|
|
20314
20247
|
this.platformId = platformId;
|
|
20248
|
+
this.id = uniqueIdFactory();
|
|
20315
20249
|
this.disabled = false;
|
|
20316
|
-
renderer.setAttribute(el.nativeElement, 'id', id);
|
|
20250
|
+
renderer.setAttribute(el.nativeElement, 'id', this.id);
|
|
20317
20251
|
renderer.setAttribute(el.nativeElement, 'tabindex', '-1');
|
|
20318
20252
|
}
|
|
20319
20253
|
focus() {
|
|
@@ -20335,19 +20269,15 @@ class BasicFocusableItem {
|
|
|
20335
20269
|
}
|
|
20336
20270
|
}
|
|
20337
20271
|
}
|
|
20338
|
-
BasicFocusableItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicFocusableItem, deps: [{ token:
|
|
20272
|
+
BasicFocusableItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicFocusableItem, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20339
20273
|
BasicFocusableItem.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicFocusableItem });
|
|
20340
20274
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicFocusableItem, decorators: [{
|
|
20341
20275
|
type: Injectable
|
|
20342
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
20343
|
-
type: Inject,
|
|
20344
|
-
args: [UNIQUE_ID]
|
|
20345
|
-
}] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
20276
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
20346
20277
|
type: Inject,
|
|
20347
20278
|
args: [PLATFORM_ID]
|
|
20348
20279
|
}] }]; } });
|
|
20349
20280
|
const BASIC_FOCUSABLE_ITEM_PROVIDER = [
|
|
20350
|
-
UNIQUE_ID_PROVIDER,
|
|
20351
20281
|
{
|
|
20352
20282
|
provide: FocusableItem,
|
|
20353
20283
|
useClass: BasicFocusableItem,
|
|
@@ -22436,10 +22366,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
22436
22366
|
*/
|
|
22437
22367
|
let nbTabContentComponents = 0;
|
|
22438
22368
|
class ClrTabContent {
|
|
22439
|
-
constructor(ifActiveService, id,
|
|
22369
|
+
constructor(ifActiveService, id, tabsService) {
|
|
22440
22370
|
this.ifActiveService = ifActiveService;
|
|
22441
22371
|
this.id = id;
|
|
22442
|
-
this.ariaService = ariaService;
|
|
22443
22372
|
this.tabsService = tabsService;
|
|
22444
22373
|
if (!this.tabContentId) {
|
|
22445
22374
|
this.tabContentId = 'clr-tab-content-' + nbTabContentComponents++;
|
|
@@ -22452,13 +22381,7 @@ class ClrTabContent {
|
|
|
22452
22381
|
this.viewRef = this.tabsService.tabContentViewContainer.createEmbeddedView(value);
|
|
22453
22382
|
}
|
|
22454
22383
|
get ariaLabelledBy() {
|
|
22455
|
-
return this.
|
|
22456
|
-
}
|
|
22457
|
-
get tabContentId() {
|
|
22458
|
-
return this.ariaService.ariaControls;
|
|
22459
|
-
}
|
|
22460
|
-
set tabContentId(id) {
|
|
22461
|
-
this.ariaService.ariaControls = id;
|
|
22384
|
+
return this.tabsService.children.find(tab => tab.tabContent === this)?.tabLink?.tabLinkId;
|
|
22462
22385
|
}
|
|
22463
22386
|
get active() {
|
|
22464
22387
|
return this.ifActiveService.current === this.id;
|
|
@@ -22470,7 +22393,7 @@ class ClrTabContent {
|
|
|
22470
22393
|
}
|
|
22471
22394
|
}
|
|
22472
22395
|
}
|
|
22473
|
-
ClrTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTabContent, deps: [{ token: IfActiveService }, { token: IF_ACTIVE_ID }, { token:
|
|
22396
|
+
ClrTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTabContent, deps: [{ token: IfActiveService }, { token: IF_ACTIVE_ID }, { token: TabsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
22474
22397
|
ClrTabContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrTabContent, selector: "clr-tab-content", inputs: { tabContentId: ["id", "tabContentId"] }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["tabContentProjectedRef"], descendants: true, static: true }], ngImport: i0, template: `
|
|
22475
22398
|
<ng-template #tabContentProjectedRef>
|
|
22476
22399
|
<section
|
|
@@ -22509,7 +22432,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
22509
22432
|
}], ctorParameters: function () { return [{ type: IfActiveService }, { type: undefined, decorators: [{
|
|
22510
22433
|
type: Inject,
|
|
22511
22434
|
args: [IF_ACTIVE_ID]
|
|
22512
|
-
}] }, { type:
|
|
22435
|
+
}] }, { type: TabsService }]; }, propDecorators: { templateRef: [{
|
|
22513
22436
|
type: ViewChild,
|
|
22514
22437
|
args: ['tabContentProjectedRef', { static: true }]
|
|
22515
22438
|
}], tabContentId: [{
|
|
@@ -22539,10 +22462,9 @@ const TABS_ID_PROVIDER = {
|
|
|
22539
22462
|
*/
|
|
22540
22463
|
let nbTabLinkComponents = 0;
|
|
22541
22464
|
class ClrTabLink {
|
|
22542
|
-
constructor(ifActiveService, id,
|
|
22465
|
+
constructor(ifActiveService, id, el, cfr, viewContainerRef, tabsService, tabsId) {
|
|
22543
22466
|
this.ifActiveService = ifActiveService;
|
|
22544
22467
|
this.id = id;
|
|
22545
|
-
this.ariaService = ariaService;
|
|
22546
22468
|
this.el = el;
|
|
22547
22469
|
this.cfr = cfr;
|
|
22548
22470
|
this.viewContainerRef = viewContainerRef;
|
|
@@ -22569,13 +22491,7 @@ class ClrTabLink {
|
|
|
22569
22491
|
return !this.inOverflow;
|
|
22570
22492
|
}
|
|
22571
22493
|
get ariaControls() {
|
|
22572
|
-
return this.
|
|
22573
|
-
}
|
|
22574
|
-
get tabLinkId() {
|
|
22575
|
-
return this.ariaService.ariaLabelledBy;
|
|
22576
|
-
}
|
|
22577
|
-
set tabLinkId(id) {
|
|
22578
|
-
this.ariaService.ariaLabelledBy = id;
|
|
22494
|
+
return this.tabsService.children.find(tab => tab.tabLink === this)?.tabContent?.tabContentId;
|
|
22579
22495
|
}
|
|
22580
22496
|
activate() {
|
|
22581
22497
|
this.ifActiveService.current = this.id;
|
|
@@ -22587,7 +22503,7 @@ class ClrTabLink {
|
|
|
22587
22503
|
return this.active ? 0 : -1;
|
|
22588
22504
|
}
|
|
22589
22505
|
}
|
|
22590
|
-
ClrTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTabLink, deps: [{ token: IfActiveService }, { token: IF_ACTIVE_ID }, { token:
|
|
22506
|
+
ClrTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTabLink, deps: [{ token: IfActiveService }, { token: IF_ACTIVE_ID }, { token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: TabsService }, { token: TABS_ID }], target: i0.ɵɵFactoryTarget.Directive });
|
|
22591
22507
|
ClrTabLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ClrTabLink, selector: "[clrTabLink]", inputs: { inOverflow: ["clrTabLinkInOverflow", "inOverflow"], tabLinkId: ["id", "tabLinkId"] }, host: { attributes: { "role": "tab", "type": "button" }, listeners: { "click": "activate()" }, properties: { "class.btn": "true", "class.btn-link": "this.addLinkClasses", "class.nav-link": "this.addLinkClasses", "attr.aria-controls": "this.ariaControls", "id": "this.tabLinkId", "class.active": "this.active", "attr.aria-selected": "this.active", "attr.tabindex": "this.tabindex" } }, ngImport: i0 });
|
|
22592
22508
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTabLink, decorators: [{
|
|
22593
22509
|
type: Directive,
|
|
@@ -22602,7 +22518,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
22602
22518
|
}], ctorParameters: function () { return [{ type: IfActiveService }, { type: undefined, decorators: [{
|
|
22603
22519
|
type: Inject,
|
|
22604
22520
|
args: [IF_ACTIVE_ID]
|
|
22605
|
-
}] }, { type:
|
|
22521
|
+
}] }, { type: i0.ElementRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: TabsService }, { type: undefined, decorators: [{
|
|
22606
22522
|
type: Inject,
|
|
22607
22523
|
args: [TABS_ID]
|
|
22608
22524
|
}] }]; }, propDecorators: { inOverflow: [{
|
|
@@ -22657,13 +22573,13 @@ class ClrTab {
|
|
|
22657
22573
|
}
|
|
22658
22574
|
}
|
|
22659
22575
|
ClrTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTab, deps: [{ token: IfActiveService }, { token: IF_ACTIVE_ID }, { token: TabsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
22660
|
-
ClrTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrTab, selector: "clr-tab", providers: [IF_ACTIVE_ID_PROVIDER
|
|
22576
|
+
ClrTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrTab, selector: "clr-tab", providers: [IF_ACTIVE_ID_PROVIDER], queries: [{ propertyName: "tabLink", first: true, predicate: ClrTabLink, descendants: true, static: true }, { propertyName: "tabContent", first: true, predicate: ClrTabContent, descendants: true, static: true }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
22661
22577
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTab, decorators: [{
|
|
22662
22578
|
type: Component,
|
|
22663
22579
|
args: [{
|
|
22664
22580
|
selector: 'clr-tab',
|
|
22665
22581
|
template: `<ng-content></ng-content>`,
|
|
22666
|
-
providers: [IF_ACTIVE_ID_PROVIDER
|
|
22582
|
+
providers: [IF_ACTIVE_ID_PROVIDER],
|
|
22667
22583
|
}]
|
|
22668
22584
|
}], ctorParameters: function () { return [{ type: IfActiveService }, { type: undefined, decorators: [{
|
|
22669
22585
|
type: Inject,
|
|
@@ -23549,13 +23465,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
23549
23465
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23550
23466
|
*/
|
|
23551
23467
|
class ClrModal {
|
|
23552
|
-
constructor(_scrollingService, commonStrings
|
|
23468
|
+
constructor(_scrollingService, commonStrings) {
|
|
23553
23469
|
this._scrollingService = _scrollingService;
|
|
23554
23470
|
this.commonStrings = commonStrings;
|
|
23555
|
-
this.modalId =
|
|
23471
|
+
this.modalId = uniqueIdFactory();
|
|
23556
23472
|
this._open = false;
|
|
23557
23473
|
this._openChanged = new EventEmitter(false);
|
|
23558
23474
|
this.closable = true;
|
|
23475
|
+
this.closeButtonAriaLabel = this.commonStrings.keys.close;
|
|
23559
23476
|
this.staticBackdrop = true;
|
|
23560
23477
|
this.skipAnimation = 'false';
|
|
23561
23478
|
// presently this is only used by wizards
|
|
@@ -23604,8 +23521,8 @@ class ClrModal {
|
|
|
23604
23521
|
}
|
|
23605
23522
|
}
|
|
23606
23523
|
}
|
|
23607
|
-
ClrModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrModal, deps: [{ token: ScrollingService }, { token: ClrCommonStringsService }
|
|
23608
|
-
ClrModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrModal, selector: "clr-modal", inputs: { _open: ["clrModalOpen", "_open"], closable: ["clrModalClosable", "closable"], size: ["clrModalSize", "size"], staticBackdrop: ["clrModalStaticBackdrop", "staticBackdrop"], skipAnimation: ["clrModalSkipAnimation", "skipAnimation"], bypassScrollService: ["clrModalOverrideScrollService", "bypassScrollService"], stopClose: ["clrModalPreventClose", "stopClose"], labelledBy: ["clrModalLabelledById", "labelledBy"] }, outputs: { _openChanged: "clrModalOpenChange", altClose: "clrModalAlternateClose" }, host: { listeners: { "body:keyup.escape": "close()" }, properties: { "class.open": "this._open" } },
|
|
23524
|
+
ClrModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrModal, deps: [{ token: ScrollingService }, { token: ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
23525
|
+
ClrModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrModal, selector: "clr-modal", inputs: { _open: ["clrModalOpen", "_open"], closable: ["clrModalClosable", "closable"], closeButtonAriaLabel: ["clrModalCloseButtonAriaLabel", "closeButtonAriaLabel"], size: ["clrModalSize", "size"], staticBackdrop: ["clrModalStaticBackdrop", "staticBackdrop"], skipAnimation: ["clrModalSkipAnimation", "skipAnimation"], bypassScrollService: ["clrModalOverrideScrollService", "bypassScrollService"], stopClose: ["clrModalPreventClose", "stopClose"], labelledBy: ["clrModalLabelledById", "labelledBy"] }, outputs: { _openChanged: "clrModalOpenChange", altClose: "clrModalAlternateClose" }, host: { listeners: { "body:keyup.escape": "close()" }, properties: { "class.open": "this._open" } }, viewQueries: [{ propertyName: "focusTrap", first: true, predicate: FocusTrapDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div clrFocusTrap class=\"modal\" *ngIf=\"_open\">\n <!--fixme: revisit when ngClass works with exit animation-->\n <div\n [@fadeDown]=\"skipAnimation\"\n (@fadeDown.done)=\"fadeDone($event)\"\n class=\"modal-dialog\"\n [class.modal-sm]=\"size == 'sm'\"\n [class.modal-lg]=\"size == 'lg'\"\n [class.modal-xl]=\"size == 'xl'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-hidden]=\"!_open\"\n [attr.aria-labelledby]=\"labelledBy\"\n >\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n <div class=\"modal-content-wrapper\">\n <!-- only used in wizards -->\n <ng-content select=\".modal-nav\"></ng-content>\n\n <div class=\"modal-content\">\n <div class=\"modal-header--accessible\">\n <div class=\"modal-title-wrapper\" id=\"{{modalId}}\" clrFocusOnViewInit>\n <ng-content select=\".modal-title\"></ng-content>\n </div>\n <button\n type=\"button\"\n [attr.aria-label]=\"closeButtonAriaLabel || commonStrings.keys.close\"\n class=\"close\"\n *ngIf=\"closable\"\n (click)=\"close()\"\n >\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n </div>\n <div class=\"modal-body-wrapper\">\n <ng-content select=\".modal-body\"></ng-content>\n </div>\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n </div>\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n </div>\n\n <div [@fade] class=\"modal-backdrop\" aria-hidden=\"true\" (click)=\"staticBackdrop || close()\"></div>\n</div>\n", styles: [":host{display:none}:host.open{display:inline}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FocusTrapDirective, selector: "[clrFocusTrap]", inputs: ["clrFocusTrap"] }, { type: ClrFocusOnViewInit, selector: "[clrFocusOnViewInit]", inputs: ["clrFocusOnViewInit"] }, { type: CdsIconCustomTag, selector: "cds-icon" }], viewProviders: [ScrollingService], animations: [
|
|
23609
23526
|
trigger('fadeDown', [
|
|
23610
23527
|
transition('* => false', [style({ opacity: 0, transform: 'translate(0, -25%)' }), animate('0.2s ease-in-out')]),
|
|
23611
23528
|
transition('false => *', [animate('0.2s ease-in-out', style({ opacity: 0, transform: 'translate(0, -25%)' }))]),
|
|
@@ -23635,11 +23552,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
23635
23552
|
transition('void => *', [style({ opacity: 0 }), animate('0.2s ease-in-out', style({ opacity: 0.85 }))]),
|
|
23636
23553
|
transition('* => void', [animate('0.2s ease-in-out', style({ opacity: 0 }))]),
|
|
23637
23554
|
]),
|
|
23638
|
-
],
|
|
23639
|
-
}], ctorParameters: function () { return [{ type: ScrollingService }, { type: ClrCommonStringsService },
|
|
23640
|
-
type: Inject,
|
|
23641
|
-
args: [UNIQUE_ID]
|
|
23642
|
-
}] }]; }, propDecorators: { focusTrap: [{
|
|
23555
|
+
], template: "<!--\n ~ Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div clrFocusTrap class=\"modal\" *ngIf=\"_open\">\n <!--fixme: revisit when ngClass works with exit animation-->\n <div\n [@fadeDown]=\"skipAnimation\"\n (@fadeDown.done)=\"fadeDone($event)\"\n class=\"modal-dialog\"\n [class.modal-sm]=\"size == 'sm'\"\n [class.modal-lg]=\"size == 'lg'\"\n [class.modal-xl]=\"size == 'xl'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-hidden]=\"!_open\"\n [attr.aria-labelledby]=\"labelledBy\"\n >\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n <div class=\"modal-content-wrapper\">\n <!-- only used in wizards -->\n <ng-content select=\".modal-nav\"></ng-content>\n\n <div class=\"modal-content\">\n <div class=\"modal-header--accessible\">\n <div class=\"modal-title-wrapper\" id=\"{{modalId}}\" clrFocusOnViewInit>\n <ng-content select=\".modal-title\"></ng-content>\n </div>\n <button\n type=\"button\"\n [attr.aria-label]=\"closeButtonAriaLabel || commonStrings.keys.close\"\n class=\"close\"\n *ngIf=\"closable\"\n (click)=\"close()\"\n >\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n </div>\n <div class=\"modal-body-wrapper\">\n <ng-content select=\".modal-body\"></ng-content>\n </div>\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n </div>\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n </div>\n\n <div [@fade] class=\"modal-backdrop\" aria-hidden=\"true\" (click)=\"staticBackdrop || close()\"></div>\n</div>\n" }]
|
|
23556
|
+
}], ctorParameters: function () { return [{ type: ScrollingService }, { type: ClrCommonStringsService }]; }, propDecorators: { focusTrap: [{
|
|
23643
23557
|
type: ViewChild,
|
|
23644
23558
|
args: [FocusTrapDirective]
|
|
23645
23559
|
}], _open: [{
|
|
@@ -23654,6 +23568,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
23654
23568
|
}], closable: [{
|
|
23655
23569
|
type: Input,
|
|
23656
23570
|
args: ['clrModalClosable']
|
|
23571
|
+
}], closeButtonAriaLabel: [{
|
|
23572
|
+
type: Input,
|
|
23573
|
+
args: ['clrModalCloseButtonAriaLabel']
|
|
23657
23574
|
}], size: [{
|
|
23658
23575
|
type: Input,
|
|
23659
23576
|
args: ['clrModalSize']
|
|
@@ -23807,20 +23724,20 @@ const POSITIONS$1 = [
|
|
|
23807
23724
|
'left-top',
|
|
23808
23725
|
];
|
|
23809
23726
|
class ClrSignpostContent extends AbstractPopover {
|
|
23810
|
-
constructor(injector, parentHost, commonStrings,
|
|
23727
|
+
constructor(injector, parentHost, commonStrings, signpostIdService, signpostFocusManager, platformId, document) {
|
|
23811
23728
|
super(injector, parentHost);
|
|
23812
23729
|
this.commonStrings = commonStrings;
|
|
23813
|
-
this.signpostContentId = signpostContentId;
|
|
23814
23730
|
this.signpostIdService = signpostIdService;
|
|
23815
23731
|
this.signpostFocusManager = signpostFocusManager;
|
|
23816
23732
|
this.platformId = platformId;
|
|
23733
|
+
this.signpostContentId = uniqueIdFactory();
|
|
23817
23734
|
if (!parentHost) {
|
|
23818
23735
|
throw new Error('clr-signpost-content should only be used inside of a clr-signpost');
|
|
23819
23736
|
}
|
|
23820
23737
|
// Defaults
|
|
23821
23738
|
this.position = 'right-middle';
|
|
23822
23739
|
this.closeOnOutsideClick = true;
|
|
23823
|
-
this.signpostIdService.setId(signpostContentId);
|
|
23740
|
+
this.signpostIdService.setId(this.signpostContentId);
|
|
23824
23741
|
this.document = document;
|
|
23825
23742
|
}
|
|
23826
23743
|
/**********
|
|
@@ -23888,8 +23805,8 @@ class ClrSignpostContent extends AbstractPopover {
|
|
|
23888
23805
|
}
|
|
23889
23806
|
}
|
|
23890
23807
|
}
|
|
23891
|
-
ClrSignpostContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrSignpostContent, deps: [{ token: i0.Injector }, { token: POPOVER_HOST_ANCHOR, optional: true }, { token: ClrCommonStringsService }, { token:
|
|
23892
|
-
ClrSignpostContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrSignpostContent, selector: "clr-signpost-content", inputs: { position: ["clrPosition", "position"] }, host: { properties: { "class.signpost-content": "true", "id": "signpostContentId" } },
|
|
23808
|
+
ClrSignpostContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrSignpostContent, deps: [{ token: i0.Injector }, { token: POPOVER_HOST_ANCHOR, optional: true }, { token: ClrCommonStringsService }, { token: SignpostIdService }, { token: SignpostFocusManager }, { token: PLATFORM_ID }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
23809
|
+
ClrSignpostContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrSignpostContent, selector: "clr-signpost-content", inputs: { position: ["clrPosition", "position"] }, host: { properties: { "class.signpost-content": "true", "id": "signpostContentId" } }, usesInheritance: true, ngImport: i0, template: `
|
|
23893
23810
|
<div class="signpost-wrap">
|
|
23894
23811
|
<div class="popover-pointer"></div>
|
|
23895
23812
|
<div class="signpost-content-header">
|
|
@@ -23932,17 +23849,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
23932
23849
|
</div>
|
|
23933
23850
|
`,
|
|
23934
23851
|
host: { '[class.signpost-content]': 'true', '[id]': 'signpostContentId' },
|
|
23935
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
23936
23852
|
}]
|
|
23937
23853
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef, decorators: [{
|
|
23938
23854
|
type: Optional
|
|
23939
23855
|
}, {
|
|
23940
23856
|
type: Inject,
|
|
23941
23857
|
args: [POPOVER_HOST_ANCHOR]
|
|
23942
|
-
}] }, { type: ClrCommonStringsService }, { type: undefined, decorators: [{
|
|
23943
|
-
type: Inject,
|
|
23944
|
-
args: [UNIQUE_ID]
|
|
23945
|
-
}] }, { type: SignpostIdService }, { type: SignpostFocusManager }, { type: undefined, decorators: [{
|
|
23858
|
+
}] }, { type: ClrCommonStringsService }, { type: SignpostIdService }, { type: SignpostFocusManager }, { type: undefined, decorators: [{
|
|
23946
23859
|
type: Inject,
|
|
23947
23860
|
args: [PLATFORM_ID]
|
|
23948
23861
|
}] }, { type: undefined, decorators: [{
|
|
@@ -24006,14 +23919,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
24006
23919
|
class ClrTooltip {
|
|
24007
23920
|
}
|
|
24008
23921
|
ClrTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTooltip, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24009
|
-
ClrTooltip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrTooltip, selector: "clr-tooltip", host: { properties: { "class.tooltip": "true" } }, providers: [
|
|
24010
|
-
ClrPopoverToggleService,
|
|
24011
|
-
{ provide: POPOVER_HOST_ANCHOR, useExisting: ElementRef },
|
|
24012
|
-
// TODO: consider centralizing the unique id string on a service that provides ariaAttributes that need it
|
|
24013
|
-
// AriaService in layout/tabs/providers might be a good starting point.
|
|
24014
|
-
UNIQUE_ID_PROVIDER,
|
|
24015
|
-
TooltipIdService,
|
|
24016
|
-
], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
23922
|
+
ClrTooltip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrTooltip, selector: "clr-tooltip", host: { properties: { "class.tooltip": "true" } }, providers: [ClrPopoverToggleService, { provide: POPOVER_HOST_ANCHOR, useExisting: ElementRef }, TooltipIdService], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
24017
23923
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTooltip, decorators: [{
|
|
24018
23924
|
type: Component,
|
|
24019
23925
|
args: [{
|
|
@@ -24022,14 +23928,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
24022
23928
|
host: {
|
|
24023
23929
|
'[class.tooltip]': 'true',
|
|
24024
23930
|
},
|
|
24025
|
-
providers: [
|
|
24026
|
-
ClrPopoverToggleService,
|
|
24027
|
-
{ provide: POPOVER_HOST_ANCHOR, useExisting: ElementRef },
|
|
24028
|
-
// TODO: consider centralizing the unique id string on a service that provides ariaAttributes that need it
|
|
24029
|
-
// AriaService in layout/tabs/providers might be a good starting point.
|
|
24030
|
-
UNIQUE_ID_PROVIDER,
|
|
24031
|
-
TooltipIdService,
|
|
24032
|
-
],
|
|
23931
|
+
providers: [ClrPopoverToggleService, { provide: POPOVER_HOST_ANCHOR, useExisting: ElementRef }, TooltipIdService],
|
|
24033
23932
|
}]
|
|
24034
23933
|
}] });
|
|
24035
23934
|
|
|
@@ -24052,9 +23951,8 @@ const SIZES = ['xs', 'sm', 'md', 'lg'];
|
|
|
24052
23951
|
const defaultPosition = 'right';
|
|
24053
23952
|
const defaultSize = 'sm';
|
|
24054
23953
|
class ClrTooltipContent extends AbstractPopover {
|
|
24055
|
-
constructor(injector, parentHost,
|
|
23954
|
+
constructor(injector, parentHost, tooltipIdService) {
|
|
24056
23955
|
super(injector, parentHost);
|
|
24057
|
-
this.uniqueId = uniqueId;
|
|
24058
23956
|
this.tooltipIdService = tooltipIdService;
|
|
24059
23957
|
this._position = defaultPosition;
|
|
24060
23958
|
this._size = defaultSize;
|
|
@@ -24062,7 +23960,7 @@ class ClrTooltipContent extends AbstractPopover {
|
|
|
24062
23960
|
throw new Error('clr-tooltip-content should only be used inside of a clr-tooltip');
|
|
24063
23961
|
}
|
|
24064
23962
|
// Set the default id in case consumer does not supply a custom id.
|
|
24065
|
-
this.id =
|
|
23963
|
+
this.id = uniqueIdFactory();
|
|
24066
23964
|
}
|
|
24067
23965
|
get id() {
|
|
24068
23966
|
return this._id;
|
|
@@ -24124,7 +24022,7 @@ class ClrTooltipContent extends AbstractPopover {
|
|
|
24124
24022
|
this.renderer.addClass(this.el.nativeElement, newClass);
|
|
24125
24023
|
}
|
|
24126
24024
|
}
|
|
24127
|
-
ClrTooltipContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTooltipContent, deps: [{ token: i0.Injector }, { token: POPOVER_HOST_ANCHOR, optional: true }, { token:
|
|
24025
|
+
ClrTooltipContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTooltipContent, deps: [{ token: i0.Injector }, { token: POPOVER_HOST_ANCHOR, optional: true }, { token: TooltipIdService }], target: i0.ɵɵFactoryTarget.Component });
|
|
24128
24026
|
ClrTooltipContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrTooltipContent, selector: "clr-tooltip-content", inputs: { id: "id", position: ["clrPosition", "position"], size: ["clrSize", "size"] }, host: { properties: { "class.tooltip-content": "true", "style.opacity": "1", "attr.role": "\"tooltip\"", "id": "id" } }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
24129
24027
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTooltipContent, decorators: [{
|
|
24130
24028
|
type: Component,
|
|
@@ -24143,9 +24041,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
24143
24041
|
}, {
|
|
24144
24042
|
type: Inject,
|
|
24145
24043
|
args: [POPOVER_HOST_ANCHOR]
|
|
24146
|
-
}] }, { type: undefined, decorators: [{
|
|
24147
|
-
type: Inject,
|
|
24148
|
-
args: [UNIQUE_ID]
|
|
24149
24044
|
}] }, { type: TooltipIdService }]; }, propDecorators: { id: [{
|
|
24150
24045
|
type: Input
|
|
24151
24046
|
}], position: [{
|
|
@@ -26743,14 +26638,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
26743
26638
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26744
26639
|
*/
|
|
26745
26640
|
class ClrWizard {
|
|
26746
|
-
constructor(platformId, navService, pageCollection, buttonService, headerActionService, elementRef, differs
|
|
26641
|
+
constructor(platformId, navService, pageCollection, buttonService, headerActionService, elementRef, differs) {
|
|
26747
26642
|
this.platformId = platformId;
|
|
26748
26643
|
this.navService = navService;
|
|
26749
26644
|
this.pageCollection = pageCollection;
|
|
26750
26645
|
this.buttonService = buttonService;
|
|
26751
26646
|
this.headerActionService = headerActionService;
|
|
26752
26647
|
this.elementRef = elementRef;
|
|
26753
|
-
this.wizardId = wizardId;
|
|
26754
26648
|
/**
|
|
26755
26649
|
* Set the modal size of the wizard. Set using `[clrWizardSize]` input.
|
|
26756
26650
|
*/
|
|
@@ -26810,6 +26704,7 @@ class ClrWizard {
|
|
|
26810
26704
|
* Listen via `(clrWizardOnPrevious)` event.
|
|
26811
26705
|
*/
|
|
26812
26706
|
this.onMovePrevious = new EventEmitter(false);
|
|
26707
|
+
this.wizardId = uniqueIdFactory();
|
|
26813
26708
|
this.subscriptions = [];
|
|
26814
26709
|
this.subscriptions.push(this.listenForNextPageChanges(), this.listenForPreviousPageChanges(), this.listenForCancelChanges(), this.listenForFinishedChanges(), this.listenForPageChanges());
|
|
26815
26710
|
this.differ = differs.find([]).create(null);
|
|
@@ -27128,23 +27023,11 @@ class ClrWizard {
|
|
|
27128
27023
|
this.wizardFinished.emit();
|
|
27129
27024
|
}
|
|
27130
27025
|
}
|
|
27131
|
-
ClrWizard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrWizard, deps: [{ token: PLATFORM_ID }, { token: WizardNavigationService }, { token: PageCollectionService }, { token: ButtonHubService }, { token: HeaderActionService }, { token: i0.ElementRef }, { token: i0.IterableDiffers }
|
|
27132
|
-
ClrWizard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrWizard, selector: "clr-wizard", inputs: { size: ["clrWizardSize", "size"], closable: ["clrWizardClosable", "closable"], forceForward: ["clrWizardForceForwardNavigation", "forceForward"], clrWizardOpen: "clrWizardOpen", stopNext: ["clrWizardPreventDefaultNext", "stopNext"], stopCancel: ["clrWizardPreventDefaultCancel", "stopCancel"], stopNavigation: ["clrWizardPreventNavigation", "stopNavigation"], disableStepnav: ["clrWizardDisableStepnav", "disableStepnav"], _stopModalAnimations: ["clrWizardPreventModalAnimation", "_stopModalAnimations"] }, outputs: { _openChanged: "clrWizardOpenChange", onCancel: "clrWizardOnCancel", wizardFinished: "clrWizardOnFinish", onReset: "clrWizardOnReset", currentPageChanged: "clrWizardCurrentPageChanged", onMoveNext: "clrWizardOnNext", onMovePrevious: "clrWizardOnPrevious" }, host: { properties: { "class.clr-wizard": "true", "class.wizard-md": "size == 'md'", "class.wizard-lg": "size == 'lg'", "class.wizard-xl": "size == 'xl'", "class.lastPage": "navService.currentPageIsLast" } }, providers: [
|
|
27133
|
-
WizardNavigationService,
|
|
27134
|
-
PageCollectionService,
|
|
27135
|
-
ButtonHubService,
|
|
27136
|
-
HeaderActionService,
|
|
27137
|
-
UNIQUE_ID_PROVIDER,
|
|
27138
|
-
], queries: [{ propertyName: "pages", predicate: ClrWizardPage, descendants: true }, { propertyName: "headerActions", predicate: ClrWizardHeaderAction }], viewQueries: [{ propertyName: "wizardTitle", first: true, predicate: ["wizardTitle"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<clr-modal\n [clrModalOpen]=\"_open\"\n [clrModalSize]=\"size\"\n [clrModalClosable]=\"closable\"\n [clrModalStaticBackdrop]=\"true\"\n [clrModalSkipAnimation]=\"stopModalAnimations\"\n [clrModalOverrideScrollService]=\"isStatic\"\n [clrModalPreventClose]=\"true\"\n (clrModalAlternateClose)=\"modalCancel()\"\n [clrModalLabelledById]=\"wizardId\"\n>\n <nav class=\"modal-nav clr-wizard-stepnav-wrapper\">\n <h1 class=\"clr-wizard-title\" id=\"{{wizardId}}\"><ng-content select=\"clr-wizard-title\"></ng-content></h1>\n <clr-wizard-stepnav></clr-wizard-stepnav>\n </nav>\n\n <h2 class=\"modal-title\">\n <span tabindex=\"-1\" #wizardTitle class=\"modal-title-text\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPageTitle\"></ng-template>\n </span>\n\n <div class=\"modal-header-actions-wrapper\" *ngIf=\"headerActionService.displayHeaderActionsWrapper\">\n <div *ngIf=\"headerActionService.showWizardHeaderActions\">\n <ng-content select=\"clr-wizard-header-action\"></ng-content>\n </div>\n <div *ngIf=\"headerActionService.currentPageHasHeaderActions\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.headerActions\"></ng-template>\n </div>\n </div>\n </h2>\n\n <div class=\"modal-body\">\n <main clr-wizard-pages-wrapper class=\"clr-wizard-content\">\n <ng-content></ng-content>\n </main>\n </div>\n <div class=\"modal-footer clr-wizard-footer\">\n <div class=\"clr-wizard-footer-buttons\">\n <div\n *ngIf=\"navService.currentPage && !navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-content select=\"clr-wizard-button\"></ng-content>\n </div>\n <div\n *ngIf=\"navService.currentPage && navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.buttons\"></ng-template>\n </div>\n </div>\n </div>\n</clr-modal>\n", components: [{ type: ClrModal, selector: "clr-modal", inputs: ["clrModalOpen", "clrModalClosable", "clrModalSize", "clrModalStaticBackdrop", "clrModalSkipAnimation", "clrModalOverrideScrollService", "clrModalPreventClose", "clrModalLabelledById"], outputs: ["clrModalOpenChange", "clrModalAlternateClose"] }, { type: ClrWizardStepnav, selector: "clr-wizard-stepnav" }], directives: [{ type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrModalBody, selector: ".modal-body" }] });
|
|
27026
|
+
ClrWizard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrWizard, deps: [{ token: PLATFORM_ID }, { token: WizardNavigationService }, { token: PageCollectionService }, { token: ButtonHubService }, { token: HeaderActionService }, { token: i0.ElementRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
|
|
27027
|
+
ClrWizard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrWizard, selector: "clr-wizard", inputs: { size: ["clrWizardSize", "size"], closable: ["clrWizardClosable", "closable"], forceForward: ["clrWizardForceForwardNavigation", "forceForward"], clrWizardOpen: "clrWizardOpen", stopNext: ["clrWizardPreventDefaultNext", "stopNext"], stopCancel: ["clrWizardPreventDefaultCancel", "stopCancel"], stopNavigation: ["clrWizardPreventNavigation", "stopNavigation"], disableStepnav: ["clrWizardDisableStepnav", "disableStepnav"], _stopModalAnimations: ["clrWizardPreventModalAnimation", "_stopModalAnimations"] }, outputs: { _openChanged: "clrWizardOpenChange", onCancel: "clrWizardOnCancel", wizardFinished: "clrWizardOnFinish", onReset: "clrWizardOnReset", currentPageChanged: "clrWizardCurrentPageChanged", onMoveNext: "clrWizardOnNext", onMovePrevious: "clrWizardOnPrevious" }, host: { properties: { "class.clr-wizard": "true", "class.wizard-md": "size == 'md'", "class.wizard-lg": "size == 'lg'", "class.wizard-xl": "size == 'xl'", "class.lastPage": "navService.currentPageIsLast" } }, providers: [WizardNavigationService, PageCollectionService, ButtonHubService, HeaderActionService], queries: [{ propertyName: "pages", predicate: ClrWizardPage, descendants: true }, { propertyName: "headerActions", predicate: ClrWizardHeaderAction }], viewQueries: [{ propertyName: "wizardTitle", first: true, predicate: ["wizardTitle"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<clr-modal\n [clrModalOpen]=\"_open\"\n [clrModalSize]=\"size\"\n [clrModalClosable]=\"closable\"\n [clrModalStaticBackdrop]=\"true\"\n [clrModalSkipAnimation]=\"stopModalAnimations\"\n [clrModalOverrideScrollService]=\"isStatic\"\n [clrModalPreventClose]=\"true\"\n (clrModalAlternateClose)=\"modalCancel()\"\n [clrModalLabelledById]=\"wizardId\"\n>\n <nav class=\"modal-nav clr-wizard-stepnav-wrapper\">\n <h1 class=\"clr-wizard-title\" id=\"{{wizardId}}\"><ng-content select=\"clr-wizard-title\"></ng-content></h1>\n <clr-wizard-stepnav></clr-wizard-stepnav>\n </nav>\n\n <h2 class=\"modal-title\">\n <span tabindex=\"-1\" #wizardTitle class=\"modal-title-text\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPageTitle\"></ng-template>\n </span>\n\n <div class=\"modal-header-actions-wrapper\" *ngIf=\"headerActionService.displayHeaderActionsWrapper\">\n <div *ngIf=\"headerActionService.showWizardHeaderActions\">\n <ng-content select=\"clr-wizard-header-action\"></ng-content>\n </div>\n <div *ngIf=\"headerActionService.currentPageHasHeaderActions\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.headerActions\"></ng-template>\n </div>\n </div>\n </h2>\n\n <div class=\"modal-body\">\n <main clr-wizard-pages-wrapper class=\"clr-wizard-content\">\n <ng-content></ng-content>\n </main>\n </div>\n <div class=\"modal-footer clr-wizard-footer\">\n <div class=\"clr-wizard-footer-buttons\">\n <div\n *ngIf=\"navService.currentPage && !navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-content select=\"clr-wizard-button\"></ng-content>\n </div>\n <div\n *ngIf=\"navService.currentPage && navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.buttons\"></ng-template>\n </div>\n </div>\n </div>\n</clr-modal>\n", components: [{ type: ClrModal, selector: "clr-modal", inputs: ["clrModalOpen", "clrModalClosable", "clrModalCloseButtonAriaLabel", "clrModalSize", "clrModalStaticBackdrop", "clrModalSkipAnimation", "clrModalOverrideScrollService", "clrModalPreventClose", "clrModalLabelledById"], outputs: ["clrModalOpenChange", "clrModalAlternateClose"] }, { type: ClrWizardStepnav, selector: "clr-wizard-stepnav" }], directives: [{ type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrModalBody, selector: ".modal-body" }] });
|
|
27139
27028
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrWizard, decorators: [{
|
|
27140
27029
|
type: Component,
|
|
27141
|
-
args: [{ selector: 'clr-wizard', providers: [
|
|
27142
|
-
WizardNavigationService,
|
|
27143
|
-
PageCollectionService,
|
|
27144
|
-
ButtonHubService,
|
|
27145
|
-
HeaderActionService,
|
|
27146
|
-
UNIQUE_ID_PROVIDER,
|
|
27147
|
-
], host: {
|
|
27030
|
+
args: [{ selector: 'clr-wizard', providers: [WizardNavigationService, PageCollectionService, ButtonHubService, HeaderActionService], host: {
|
|
27148
27031
|
'[class.clr-wizard]': 'true',
|
|
27149
27032
|
'[class.wizard-md]': "size == 'md'",
|
|
27150
27033
|
'[class.wizard-lg]': "size == 'lg'",
|
|
@@ -27154,10 +27037,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
27154
27037
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
27155
27038
|
type: Inject,
|
|
27156
27039
|
args: [PLATFORM_ID]
|
|
27157
|
-
}] }, { type: WizardNavigationService }, { type: PageCollectionService }, { type: ButtonHubService }, { type: HeaderActionService }, { type: i0.ElementRef }, { type: i0.IterableDiffers },
|
|
27158
|
-
type: Inject,
|
|
27159
|
-
args: [UNIQUE_ID]
|
|
27160
|
-
}] }]; }, propDecorators: { size: [{
|
|
27040
|
+
}] }, { type: WizardNavigationService }, { type: PageCollectionService }, { type: ButtonHubService }, { type: HeaderActionService }, { type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, propDecorators: { size: [{
|
|
27161
27041
|
type: Input,
|
|
27162
27042
|
args: ['clrWizardSize']
|
|
27163
27043
|
}], closable: [{
|
|
@@ -27842,5 +27722,5 @@ const CLR_MENU_POSITIONS = [
|
|
|
27842
27722
|
* Generated bundle index. Do not edit.
|
|
27843
27723
|
*/
|
|
27844
27724
|
|
|
27845
|
-
export { CLR_ALERT_DIRECTIVES, CLR_BUTTON_GROUP_DIRECTIVES, CLR_DATAGRID_DIRECTIVES, CLR_DATEPICKER_DIRECTIVES, CLR_DRAG_AND_DROP_DIRECTIVES, CLR_DROPDOWN_DIRECTIVES, CLR_ICON_DIRECTIVES, CLR_LAYOUT_DIRECTIVES, CLR_LOADING_BUTTON_DIRECTIVES, CLR_LOADING_DIRECTIVES, CLR_MENU_POSITIONS, CLR_MODAL_DIRECTIVES, CLR_NAVIGATION_DIRECTIVES, CLR_PROGRESS_BAR_DIRECTIVES, CLR_SIGNPOST_DIRECTIVES, CLR_SPINNER_DIRECTIVES, CLR_STACK_VIEW_DIRECTIVES, CLR_TABS_DIRECTIVES, CLR_TOOLTIP_DIRECTIVES, CLR_TREE_VIEW_DIRECTIVES, CLR_VERTICAL_NAV_DIRECTIVES, CLR_WIZARD_DIRECTIVES, CONDITIONAL_DIRECTIVES, CUSTOM_BUTTON_TYPES, CdsIconCustomTag, ClarityModule, ClrAbstractContainer, ClrAccordion, ClrAccordionContent, ClrAccordionDescription, ClrAccordionModule, ClrAccordionPanel, ClrAccordionTitle, ClrAlert, ClrAlertItem, ClrAlertModule, ClrAlertText, ClrAlerts, ClrAlertsPager, ClrAlignment, ClrAriaCurrentLink, ClrAriaLivePoliteness, ClrAriaLiveService, ClrAxis, ClrButton, ClrButtonGroup, ClrButtonGroupModule, ClrButtonModule, ClrCalendar, ClrCheckbox, ClrCheckboxContainer, ClrCheckboxModule, ClrCheckboxWrapper, ClrCombobox, ClrComboboxContainer, ClrComboboxModule, ClrCommonFormsModule, ClrCommonStringsService, ClrConditionalModule, ClrControl, ClrControlContainer, ClrControlError, ClrControlHelper, ClrControlSuccess, ClrDataModule, ClrDatagrid, ClrDatagridActionBar, ClrDatagridActionOverflow, ClrDatagridCell, ClrDatagridColumn, ClrDatagridColumnSeparator, ClrDatagridColumnToggle, ClrDatagridColumnToggleButton, ClrDatagridColumnToggleTitle, ClrDatagridDetail, ClrDatagridDetailBody, ClrDatagridDetailHeader, ClrDatagridFilter, ClrDatagridFooter, ClrDatagridHideableColumn, ClrDatagridItems, ClrDatagridItemsTrackBy, ClrDatagridModule, ClrDatagridPageSize, ClrDatagridPagination, ClrDatagridPlaceholder, ClrDatagridRow, ClrDatagridRowDetail, ClrDatagridSortOrder, ClrDatalist, ClrDatalistContainer, ClrDatalistInput, ClrDatalistModule, ClrDateContainer, ClrDateInput, ClrDatepickerModule, ClrDatepickerViewManager, ClrDay, ClrDaypicker, ClrDestroyService, ClrDragAndDropModule, ClrDragEvent, ClrDragHandle, ClrDraggable, ClrDraggableGhost, ClrDropdown, ClrDropdownItem, ClrDropdownMenu, ClrDropdownModule, ClrDropdownTrigger, ClrDroppable, ClrEmphasisModule, ClrExpandableAnimation, ClrFocusOnViewInit, ClrFocusOnViewInitModule, ClrForTypeAhead, ClrForTypeAheadModule, ClrForm, ClrFormLayout, ClrFormsModule, ClrHeader, ClrIconCustomTag, ClrIconModule, ClrIfActive, ClrIfDetail, ClrIfDragged, ClrIfError, ClrIfExpanded, ClrIfOpen, ClrIfSuccess, ClrInput, ClrInputContainer, ClrInputModule, ClrLabel, ClrLayout, ClrLayoutModule, ClrLoading, ClrLoadingButton, ClrLoadingButtonModule, ClrLoadingModule, ClrLoadingState, ClrMainContainer, ClrMainContainerModule, ClrModal, ClrModalBody, ClrModalModule, ClrMonthpicker, ClrNavLevel, ClrNavigationModule, ClrOption, ClrOptionItems, ClrOptionSelected, ClrOptions, ClrPassword, ClrPasswordContainer, ClrPasswordModule, ClrPopoverAnchor, ClrPopoverContent, ClrPopoverEventsService, ClrPopoverModule, ClrPopoverPositionService, ClrPopoverToggleService, ClrProgressBar, ClrProgressBarModule, ClrRadio, ClrRadioContainer, ClrRadioModule, ClrRadioWrapper, ClrRange, ClrRangeContainer, ClrRangeModule, ClrRecursiveForOf, ClrSelect, ClrSelectContainer, ClrSelectModule, ClrSelectedState, ClrSide, ClrSignpost, ClrSignpostContent, ClrSignpostModule, ClrSignpostTrigger, ClrSpinner, ClrSpinnerModule, ClrStackBlock, ClrStackContentInput, ClrStackHeader, ClrStackInput, ClrStackSelect, ClrStackView, ClrStackViewCustomTags, ClrStackViewLabel, ClrStackViewModule, ClrStepButton, ClrStepButtonType, ClrStepper, ClrStepperModule, ClrStepperPanel, ClrTab, ClrTabContent, ClrTabLink, ClrTabOverflowContent, ClrTabs, ClrTabsModule, ClrTextarea, ClrTextareaContainer, ClrTextareaModule, ClrTimeline, ClrTimelineLayout, ClrTimelineModule, ClrTimelineStep, ClrTimelineStepDescription, ClrTimelineStepHeader, ClrTimelineStepState, ClrTimelineStepTitle, ClrTooltip, ClrTooltipContent, ClrTooltipModule, ClrTooltipTrigger, ClrTree, ClrTreeNode, ClrTreeNodeLink, ClrTreeViewModule, ClrVerticalNav, ClrVerticalNavGroup, ClrVerticalNavGroupChildren, ClrVerticalNavIcon, ClrVerticalNavLink, ClrVerticalNavModule, ClrWizard, ClrWizardButton, ClrWizardCustomTags, ClrWizardHeaderAction, ClrWizardModule, ClrWizardPage, ClrWizardPageButtons, ClrWizardPageHeaderActions, ClrWizardPageNavTitle, ClrWizardPageTitle, ClrWizardStepnav, ClrWizardStepnavItem, ClrYearpicker, DEFAULT_BUTTON_TYPES, DatagridNumericFilter, DatagridPropertyComparator, DatagridPropertyNumericFilter, DatagridPropertyStringFilter, DatagridStringFilter, EXPANDABLE_ANIMATION_DIRECTIVES, FOCUS_ON_VIEW_INIT, FOCUS_ON_VIEW_INIT_DIRECTIVES, IS_TOGGLE, IS_TOGGLE_PROVIDER, LoadingListener, MainContainerWillyWonka, NavDetectionOompaLoompa, TOGGLE_SERVICE, TOGGLE_SERVICE_PROVIDER, ToggleServiceFactory, WrappedFormControl, collapse, commonStringsDefault, fade, fadeSlide, isToggleFactory, slide, AccordionOompaLoompa as ÇlrAccordionOompaLoompa, AccordionWillyWonka as ÇlrAccordionWillyWonka, ActionableOompaLoompa as ÇlrActionableOompaLoompa, ActiveOompaLoompa as ÇlrActiveOompaLoompa, ClrFocusTrapModule as ÇlrClrFocusTrapModule, ClrPopoverCloseButton as ÇlrClrPopoverCloseButton, ClrPopoverModuleNext as ÇlrClrPopoverModuleNext, ClrPopoverOpenCloseButton as ÇlrClrPopoverOpenCloseButton, DatagridCellRenderer as ÇlrDatagridCellRenderer, DatagridDetailRegisterer as ÇlrDatagridDetailRegisterer, DatagridHeaderRenderer as ÇlrDatagridHeaderRenderer, DatagridMainRenderer as ÇlrDatagridMainRenderer, DatagridRowRenderer as ÇlrDatagridRowRenderer, DatagridWillyWonka as ÇlrDatagridWillyWonka, ExpandableOompaLoompa as ÇlrExpandableOompaLoompa, FocusTrapDirective as ÇlrFocusTrapDirective, FocusTrapTracker as ÇlrFocusTrapTracker, StepperOompaLoompa as ÇlrStepperOompaLoompa, StepperWillyWonka as ÇlrStepperWillyWonka, TabsWillyWonka as ÇlrTabsWillyWonka, WrappedCell as ÇlrWrappedCell, WrappedColumn as ÇlrWrappedColumn, WrappedRow as ÇlrWrappedRow };
|
|
27725
|
+
export { CLR_ALERT_DIRECTIVES, CLR_BUTTON_GROUP_DIRECTIVES, CLR_DATAGRID_DIRECTIVES, CLR_DATEPICKER_DIRECTIVES, CLR_DRAG_AND_DROP_DIRECTIVES, CLR_DROPDOWN_DIRECTIVES, CLR_ICON_DIRECTIVES, CLR_LAYOUT_DIRECTIVES, CLR_LOADING_BUTTON_DIRECTIVES, CLR_LOADING_DIRECTIVES, CLR_MENU_POSITIONS, CLR_MODAL_DIRECTIVES, CLR_NAVIGATION_DIRECTIVES, CLR_PROGRESS_BAR_DIRECTIVES, CLR_SIGNPOST_DIRECTIVES, CLR_SPINNER_DIRECTIVES, CLR_STACK_VIEW_DIRECTIVES, CLR_TABS_DIRECTIVES, CLR_TOOLTIP_DIRECTIVES, CLR_TREE_VIEW_DIRECTIVES, CLR_VERTICAL_NAV_DIRECTIVES, CLR_WIZARD_DIRECTIVES, CONDITIONAL_DIRECTIVES, CUSTOM_BUTTON_TYPES, CdsIconCustomTag, ClarityModule, ClrAbstractContainer, ClrAccordion, ClrAccordionContent, ClrAccordionDescription, ClrAccordionModule, ClrAccordionPanel, ClrAccordionTitle, ClrAlert, ClrAlertItem, ClrAlertModule, ClrAlertText, ClrAlerts, ClrAlertsPager, ClrAlignment, ClrAriaCurrentLink, ClrAriaLivePoliteness, ClrAriaLiveService, ClrAxis, ClrButton, ClrButtonGroup, ClrButtonGroupModule, ClrButtonModule, ClrCalendar, ClrCheckbox, ClrCheckboxContainer, ClrCheckboxModule, ClrCheckboxWrapper, ClrCombobox, ClrComboboxContainer, ClrComboboxModule, ClrCommonFormsModule, ClrCommonStringsService, ClrConditionalModule, ClrControl, ClrControlContainer, ClrControlError, ClrControlHelper, ClrControlSuccess, ClrDataModule, ClrDatagrid, ClrDatagridActionBar, ClrDatagridActionOverflow, ClrDatagridCell, ClrDatagridColumn, ClrDatagridColumnSeparator, ClrDatagridColumnToggle, ClrDatagridColumnToggleButton, ClrDatagridColumnToggleTitle, ClrDatagridDetail, ClrDatagridDetailBody, ClrDatagridDetailHeader, ClrDatagridFilter, ClrDatagridFooter, ClrDatagridHideableColumn, ClrDatagridItems, ClrDatagridItemsTrackBy, ClrDatagridModule, ClrDatagridPageSize, ClrDatagridPagination, ClrDatagridPlaceholder, ClrDatagridRow, ClrDatagridRowDetail, ClrDatagridSortOrder, ClrDatalist, ClrDatalistContainer, ClrDatalistInput, ClrDatalistModule, ClrDateContainer, ClrDateInput, ClrDateInputValidator, ClrDatepickerModule, ClrDatepickerViewManager, ClrDay, ClrDaypicker, ClrDestroyService, ClrDragAndDropModule, ClrDragEvent, ClrDragHandle, ClrDraggable, ClrDraggableGhost, ClrDropdown, ClrDropdownItem, ClrDropdownMenu, ClrDropdownModule, ClrDropdownTrigger, ClrDroppable, ClrEmphasisModule, ClrExpandableAnimation, ClrFocusOnViewInit, ClrFocusOnViewInitModule, ClrForTypeAhead, ClrForTypeAheadModule, ClrForm, ClrFormLayout, ClrFormsModule, ClrHeader, ClrIconCustomTag, ClrIconModule, ClrIfActive, ClrIfDetail, ClrIfDragged, ClrIfError, ClrIfExpanded, ClrIfOpen, ClrIfSuccess, ClrInput, ClrInputContainer, ClrInputModule, ClrLabel, ClrLayout, ClrLayoutModule, ClrLoading, ClrLoadingButton, ClrLoadingButtonModule, ClrLoadingModule, ClrLoadingState, ClrMainContainer, ClrMainContainerModule, ClrModal, ClrModalBody, ClrModalModule, ClrMonthpicker, ClrNavLevel, ClrNavigationModule, ClrOption, ClrOptionItems, ClrOptionSelected, ClrOptions, ClrPassword, ClrPasswordContainer, ClrPasswordModule, ClrPopoverAnchor, ClrPopoverContent, ClrPopoverEventsService, ClrPopoverModule, ClrPopoverPositionService, ClrPopoverToggleService, ClrProgressBar, ClrProgressBarModule, ClrRadio, ClrRadioContainer, ClrRadioModule, ClrRadioWrapper, ClrRange, ClrRangeContainer, ClrRangeModule, ClrRecursiveForOf, ClrSelect, ClrSelectContainer, ClrSelectModule, ClrSelectedState, ClrSide, ClrSignpost, ClrSignpostContent, ClrSignpostModule, ClrSignpostTrigger, ClrSpinner, ClrSpinnerModule, ClrStackBlock, ClrStackContentInput, ClrStackHeader, ClrStackInput, ClrStackSelect, ClrStackView, ClrStackViewCustomTags, ClrStackViewLabel, ClrStackViewModule, ClrStepButton, ClrStepButtonType, ClrStepper, ClrStepperModule, ClrStepperPanel, ClrTab, ClrTabContent, ClrTabLink, ClrTabOverflowContent, ClrTabs, ClrTabsModule, ClrTextarea, ClrTextareaContainer, ClrTextareaModule, ClrTimeline, ClrTimelineLayout, ClrTimelineModule, ClrTimelineStep, ClrTimelineStepDescription, ClrTimelineStepHeader, ClrTimelineStepState, ClrTimelineStepTitle, ClrTooltip, ClrTooltipContent, ClrTooltipModule, ClrTooltipTrigger, ClrTree, ClrTreeNode, ClrTreeNodeLink, ClrTreeViewModule, ClrVerticalNav, ClrVerticalNavGroup, ClrVerticalNavGroupChildren, ClrVerticalNavIcon, ClrVerticalNavLink, ClrVerticalNavModule, ClrWizard, ClrWizardButton, ClrWizardCustomTags, ClrWizardHeaderAction, ClrWizardModule, ClrWizardPage, ClrWizardPageButtons, ClrWizardPageHeaderActions, ClrWizardPageNavTitle, ClrWizardPageTitle, ClrWizardStepnav, ClrWizardStepnavItem, ClrYearpicker, DEFAULT_BUTTON_TYPES, DatagridNumericFilter, DatagridPropertyComparator, DatagridPropertyNumericFilter, DatagridPropertyStringFilter, DatagridStringFilter, EXPANDABLE_ANIMATION_DIRECTIVES, FOCUS_ON_VIEW_INIT, FOCUS_ON_VIEW_INIT_DIRECTIVES, IS_TOGGLE, IS_TOGGLE_PROVIDER, LoadingListener, MainContainerWillyWonka, NavDetectionOompaLoompa, TOGGLE_SERVICE, TOGGLE_SERVICE_PROVIDER, ToggleServiceFactory, WrappedFormControl, collapse, commonStringsDefault, fade, fadeSlide, isToggleFactory, slide, AccordionOompaLoompa as ÇlrAccordionOompaLoompa, AccordionWillyWonka as ÇlrAccordionWillyWonka, ActionableOompaLoompa as ÇlrActionableOompaLoompa, ActiveOompaLoompa as ÇlrActiveOompaLoompa, ClrFocusTrapModule as ÇlrClrFocusTrapModule, ClrPopoverCloseButton as ÇlrClrPopoverCloseButton, ClrPopoverModuleNext as ÇlrClrPopoverModuleNext, ClrPopoverOpenCloseButton as ÇlrClrPopoverOpenCloseButton, DatagridCellRenderer as ÇlrDatagridCellRenderer, DatagridDetailRegisterer as ÇlrDatagridDetailRegisterer, DatagridHeaderRenderer as ÇlrDatagridHeaderRenderer, DatagridMainRenderer as ÇlrDatagridMainRenderer, DatagridRowRenderer as ÇlrDatagridRowRenderer, DatagridWillyWonka as ÇlrDatagridWillyWonka, ExpandableOompaLoompa as ÇlrExpandableOompaLoompa, FocusTrapDirective as ÇlrFocusTrapDirective, FocusTrapTracker as ÇlrFocusTrapTracker, StepperOompaLoompa as ÇlrStepperOompaLoompa, StepperWillyWonka as ÇlrStepperWillyWonka, TabsWillyWonka as ÇlrTabsWillyWonka, WrappedCell as ÇlrWrappedCell, WrappedColumn as ÇlrWrappedColumn, WrappedRow as ÇlrWrappedRow };
|
|
27846
27726
|
//# sourceMappingURL=clr-angular.mjs.map
|