@clr/angular 13.9.0 → 13.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +57 -46
- 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 +12 -4
- 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 +26 -13
- 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 +1 -1
- 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 +7 -11
- package/esm2020/data/stack-view/stack-content-input.mjs +7 -10
- package/esm2020/data/stack-view/stack-header.mjs +7 -7
- 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 +9 -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 +9 -11
- 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/i18n/common-strings.default.mjs +3 -3
- 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 +436 -564
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +441 -562
- 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 +1 -1
- 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 +5 -5
- 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.
|
|
@@ -309,8 +304,8 @@ const commonStringsDefault = {
|
|
|
309
304
|
singleSelectionAriaLabel: 'Single selection header',
|
|
310
305
|
singleActionableAriaLabel: 'Single actionable header',
|
|
311
306
|
detailExpandableAriaLabel: 'Toggle more row content',
|
|
312
|
-
datagridFilterAriaLabel: '
|
|
313
|
-
datagridFilterDialogAriaLabel: '
|
|
307
|
+
datagridFilterAriaLabel: 'Toggle {COLUMN} filter',
|
|
308
|
+
datagridFilterDialogAriaLabel: 'Filter dialog',
|
|
314
309
|
columnSeparatorAriaLabel: 'Column resize handle',
|
|
315
310
|
columnSeparatorDescription: 'Use left or right key to resize the column',
|
|
316
311
|
// Alert
|
|
@@ -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,
|
|
@@ -6209,137 +6389,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
6209
6389
|
}, {
|
|
6210
6390
|
type: Optional
|
|
6211
6391
|
}] }, { 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: [{
|
|
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,15 @@ 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, elementRef) {
|
|
12006
11981
|
super(_filters);
|
|
12007
11982
|
this.commonStrings = commonStrings;
|
|
12008
11983
|
this.smartToggleService = smartToggleService;
|
|
12009
11984
|
this.platformId = platformId;
|
|
12010
|
-
this.
|
|
11985
|
+
this.elementRef = elementRef;
|
|
12011
11986
|
this.subs = [];
|
|
12012
11987
|
this.ariaExpanded = false;
|
|
11988
|
+
this.popoverId = uniqueIdFactory();
|
|
12013
11989
|
// Smart Popover
|
|
12014
11990
|
this.smartPosition = {
|
|
12015
11991
|
axis: ClrAxis.VERTICAL,
|
|
@@ -12048,18 +12024,33 @@ class ClrDatagridFilter extends DatagridFilterRegistrar {
|
|
|
12048
12024
|
get active() {
|
|
12049
12025
|
return !!this.filter && this.filter.isActive();
|
|
12050
12026
|
}
|
|
12027
|
+
ngOnChanges() {
|
|
12028
|
+
this.setToggleButtonAriaLabel();
|
|
12029
|
+
}
|
|
12051
12030
|
ngOnDestroy() {
|
|
12052
12031
|
super.ngOnDestroy();
|
|
12053
12032
|
this.subs.forEach(sub => sub.unsubscribe());
|
|
12054
12033
|
}
|
|
12034
|
+
/**
|
|
12035
|
+
* This is not in a getter to prevent "expression has changed after it was checked" errors.
|
|
12036
|
+
* And it's more performant this way since it only runs on change.
|
|
12037
|
+
*/
|
|
12038
|
+
setToggleButtonAriaLabel() {
|
|
12039
|
+
const columnElement = this.elementRef.nativeElement?.closest('clr-dg-column');
|
|
12040
|
+
const columnTitleElement = columnElement?.querySelector('.datagrid-column-title');
|
|
12041
|
+
const columnTitle = columnTitleElement?.textContent.trim().toLocaleLowerCase();
|
|
12042
|
+
this.toggleButtonAriaLabel = this.commonStrings.parse(this.commonStrings.keys.datagridFilterAriaLabel, {
|
|
12043
|
+
COLUMN: columnTitle || '',
|
|
12044
|
+
});
|
|
12045
|
+
}
|
|
12055
12046
|
}
|
|
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 }, { token:
|
|
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 }
|
|
12047
|
+
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 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
12048
|
+
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, usesOnChanges: true, ngImport: i0, template: `
|
|
12058
12049
|
<button
|
|
12059
12050
|
class="datagrid-filter-toggle"
|
|
12060
12051
|
type="button"
|
|
12061
12052
|
#anchor
|
|
12062
|
-
[attr.aria-label]="
|
|
12053
|
+
[attr.aria-label]="toggleButtonAriaLabel"
|
|
12063
12054
|
[attr.aria-expanded]="ariaExpanded"
|
|
12064
12055
|
[attr.aria-controls]="popoverId"
|
|
12065
12056
|
clrPopoverAnchor
|
|
@@ -12096,13 +12087,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
12096
12087
|
args: [{
|
|
12097
12088
|
selector: 'clr-dg-filter',
|
|
12098
12089
|
// We register this component as a CustomFilter, for the parent column to detect it.
|
|
12099
|
-
providers: [{ provide: CustomFilter, useExisting: ClrDatagridFilter }
|
|
12090
|
+
providers: [{ provide: CustomFilter, useExisting: ClrDatagridFilter }],
|
|
12100
12091
|
template: `
|
|
12101
12092
|
<button
|
|
12102
12093
|
class="datagrid-filter-toggle"
|
|
12103
12094
|
type="button"
|
|
12104
12095
|
#anchor
|
|
12105
|
-
[attr.aria-label]="
|
|
12096
|
+
[attr.aria-label]="toggleButtonAriaLabel"
|
|
12106
12097
|
[attr.aria-expanded]="ariaExpanded"
|
|
12107
12098
|
[attr.aria-controls]="popoverId"
|
|
12108
12099
|
clrPopoverAnchor
|
|
@@ -12138,10 +12129,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
12138
12129
|
}], ctorParameters: function () { return [{ type: FiltersProvider }, { type: ClrCommonStringsService }, { type: ClrPopoverToggleService }, { type: undefined, decorators: [{
|
|
12139
12130
|
type: Inject,
|
|
12140
12131
|
args: [PLATFORM_ID]
|
|
12141
|
-
}] }, { type:
|
|
12142
|
-
type: Inject,
|
|
12143
|
-
args: [UNIQUE_ID]
|
|
12144
|
-
}] }]; }, propDecorators: { anchor: [{
|
|
12132
|
+
}] }, { type: i0.ElementRef }]; }, propDecorators: { anchor: [{
|
|
12145
12133
|
type: ViewChild,
|
|
12146
12134
|
args: ['anchor', { read: ElementRef }]
|
|
12147
12135
|
}], open: [{
|
|
@@ -13280,14 +13268,14 @@ const KEYBOARD_RESIZE_LENGTH = 12;
|
|
|
13280
13268
|
class ClrDatagridColumnSeparator {
|
|
13281
13269
|
// Every column draggable separator should have its own unique ID
|
|
13282
13270
|
// in order to not conflict with other draggables/droppables.
|
|
13283
|
-
constructor(columnResizerService, renderer, ngZone, tableSizeService, commonString, document
|
|
13271
|
+
constructor(columnResizerService, renderer, ngZone, tableSizeService, commonString, document) {
|
|
13284
13272
|
this.columnResizerService = columnResizerService;
|
|
13285
13273
|
this.renderer = renderer;
|
|
13286
13274
|
this.ngZone = ngZone;
|
|
13287
13275
|
this.tableSizeService = tableSizeService;
|
|
13288
13276
|
this.commonString = commonString;
|
|
13289
13277
|
this.document = document;
|
|
13290
|
-
this.columnSeparatorId =
|
|
13278
|
+
this.columnSeparatorId = uniqueIdFactory();
|
|
13291
13279
|
this.resizeStartedOnKeyDown = false;
|
|
13292
13280
|
this.unlisteners = [];
|
|
13293
13281
|
}
|
|
@@ -13373,8 +13361,8 @@ class ClrDatagridColumnSeparator {
|
|
|
13373
13361
|
this.unlisteners.forEach(unlistener => unlistener());
|
|
13374
13362
|
}
|
|
13375
13363
|
}
|
|
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" } },
|
|
13364
|
+
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 });
|
|
13365
|
+
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
13366
|
<button
|
|
13379
13367
|
type="button"
|
|
13380
13368
|
class="datagrid-column-handle"
|
|
@@ -13417,14 +13405,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
13417
13405
|
host: {
|
|
13418
13406
|
'[class.datagrid-column-separator]': 'true',
|
|
13419
13407
|
},
|
|
13420
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
13421
13408
|
}]
|
|
13422
13409
|
}], ctorParameters: function () { return [{ type: ColumnResizerService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: TableSizeService }, { type: ClrCommonStringsService }, { type: undefined, decorators: [{
|
|
13423
13410
|
type: Inject,
|
|
13424
13411
|
args: [DOCUMENT]
|
|
13425
|
-
}] }, { type: undefined, decorators: [{
|
|
13426
|
-
type: Inject,
|
|
13427
|
-
args: [UNIQUE_ID]
|
|
13428
13412
|
}] }]; }, propDecorators: { resizeTrackerRef: [{
|
|
13429
13413
|
type: ViewChild,
|
|
13430
13414
|
args: ['resizeTracker']
|
|
@@ -14525,10 +14509,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
14525
14509
|
*/
|
|
14526
14510
|
let nbSelection = 0;
|
|
14527
14511
|
class Selection {
|
|
14528
|
-
constructor(_items, _filters
|
|
14512
|
+
constructor(_items, _filters) {
|
|
14529
14513
|
this._items = _items;
|
|
14530
14514
|
this._filters = _filters;
|
|
14531
|
-
this._zone = _zone;
|
|
14532
14515
|
this.preserveSelection = false;
|
|
14533
14516
|
this.prevSelectionRefs = []; // Refs of selected items
|
|
14534
14517
|
this.lockedRefs = []; // Ref of locked items
|
|
@@ -14883,11 +14866,11 @@ class Selection {
|
|
|
14883
14866
|
}
|
|
14884
14867
|
}
|
|
14885
14868
|
}
|
|
14886
|
-
Selection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Selection, deps: [{ token: Items }, { token: FiltersProvider }
|
|
14869
|
+
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
14870
|
Selection.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Selection });
|
|
14888
14871
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Selection, decorators: [{
|
|
14889
14872
|
type: Injectable
|
|
14890
|
-
}], ctorParameters: function () { return [{ type: Items }, { type: FiltersProvider }
|
|
14873
|
+
}], ctorParameters: function () { return [{ type: Items }, { type: FiltersProvider }]; } });
|
|
14891
14874
|
|
|
14892
14875
|
/*
|
|
14893
14876
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
@@ -15498,7 +15481,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15498
15481
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
15499
15482
|
*/
|
|
15500
15483
|
class ClrDatagrid {
|
|
15501
|
-
constructor(organizer, items, expandableRows, selection, rowActionService, stateProvider, displayMode, renderer, detailService,
|
|
15484
|
+
constructor(organizer, items, expandableRows, selection, rowActionService, stateProvider, displayMode, renderer, detailService, document, el, page, commonStrings, columnsService, keyNavigation, zone) {
|
|
15502
15485
|
this.organizer = organizer;
|
|
15503
15486
|
this.items = items;
|
|
15504
15487
|
this.expandableRows = expandableRows;
|
|
@@ -15532,6 +15515,7 @@ class ClrDatagrid {
|
|
|
15532
15515
|
* Subscriptions to all the services and queries changes
|
|
15533
15516
|
*/
|
|
15534
15517
|
this._subscriptions = [];
|
|
15518
|
+
const datagridId = uniqueIdFactory();
|
|
15535
15519
|
this.selectAllId = 'clr-dg-select-all-' + datagridId;
|
|
15536
15520
|
this.detailService.id = datagridId;
|
|
15537
15521
|
}
|
|
@@ -15720,7 +15704,7 @@ class ClrDatagrid {
|
|
|
15720
15704
|
this.organizer.resize();
|
|
15721
15705
|
}
|
|
15722
15706
|
}
|
|
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:
|
|
15707
|
+
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
15708
|
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
15709
|
Selection,
|
|
15726
15710
|
Sort,
|
|
@@ -15732,7 +15716,6 @@ ClrDatagrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
|
15732
15716
|
ExpandableRowsCount,
|
|
15733
15717
|
StateDebouncer,
|
|
15734
15718
|
DetailService,
|
|
15735
|
-
UNIQUE_ID_PROVIDER,
|
|
15736
15719
|
StateProvider,
|
|
15737
15720
|
TableSizeService,
|
|
15738
15721
|
ColumnsService,
|
|
@@ -15752,7 +15735,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15752
15735
|
ExpandableRowsCount,
|
|
15753
15736
|
StateDebouncer,
|
|
15754
15737
|
DetailService,
|
|
15755
|
-
UNIQUE_ID_PROVIDER,
|
|
15756
15738
|
StateProvider,
|
|
15757
15739
|
TableSizeService,
|
|
15758
15740
|
ColumnsService,
|
|
@@ -15763,9 +15745,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15763
15745
|
'[class.datagrid-detail-open]': 'detailService.isOpen',
|
|
15764
15746
|
}, 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
15747
|
}], 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
15748
|
type: Inject,
|
|
15770
15749
|
args: [DOCUMENT]
|
|
15771
15750
|
}] }, { type: i0.ElementRef }, { type: Page }, { type: ClrCommonStringsService }, { type: ColumnsService }, { type: KeyNavigationGridController }, { type: i0.NgZone }]; }, propDecorators: { loading: [{
|
|
@@ -15862,13 +15841,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15862
15841
|
*/
|
|
15863
15842
|
let clrDgActionId = 0;
|
|
15864
15843
|
class ClrDatagridActionOverflow {
|
|
15865
|
-
constructor(rowActionService, commonStrings, platformId, zone, smartToggleService
|
|
15844
|
+
constructor(rowActionService, commonStrings, platformId, zone, smartToggleService) {
|
|
15866
15845
|
this.rowActionService = rowActionService;
|
|
15867
15846
|
this.commonStrings = commonStrings;
|
|
15868
15847
|
this.platformId = platformId;
|
|
15869
15848
|
this.zone = zone;
|
|
15870
15849
|
this.smartToggleService = smartToggleService;
|
|
15871
|
-
this.popoverId = popoverId;
|
|
15872
15850
|
this.subscriptions = [];
|
|
15873
15851
|
this.smartPosition = {
|
|
15874
15852
|
axis: ClrAxis.HORIZONTAL,
|
|
@@ -15876,6 +15854,7 @@ class ClrDatagridActionOverflow {
|
|
|
15876
15854
|
anchor: ClrAlignment.CENTER,
|
|
15877
15855
|
content: ClrAlignment.CENTER,
|
|
15878
15856
|
};
|
|
15857
|
+
this.popoverId = uniqueIdFactory();
|
|
15879
15858
|
this._open = false;
|
|
15880
15859
|
this.openChange = new EventEmitter(false);
|
|
15881
15860
|
this.rowActionService.register();
|
|
@@ -15921,8 +15900,8 @@ class ClrDatagridActionOverflow {
|
|
|
15921
15900
|
}
|
|
15922
15901
|
}
|
|
15923
15902
|
}
|
|
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: [
|
|
15903
|
+
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 });
|
|
15904
|
+
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
15905
|
<button
|
|
15927
15906
|
class="datagrid-action-toggle"
|
|
15928
15907
|
type="button"
|
|
@@ -15955,7 +15934,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15955
15934
|
type: Component,
|
|
15956
15935
|
args: [{
|
|
15957
15936
|
selector: 'clr-dg-action-overflow',
|
|
15958
|
-
providers: [
|
|
15937
|
+
providers: [ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService],
|
|
15959
15938
|
template: `
|
|
15960
15939
|
<button
|
|
15961
15940
|
class="datagrid-action-toggle"
|
|
@@ -15989,10 +15968,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15989
15968
|
}], ctorParameters: function () { return [{ type: RowActionService }, { type: ClrCommonStringsService }, { type: undefined, decorators: [{
|
|
15990
15969
|
type: Inject,
|
|
15991
15970
|
args: [PLATFORM_ID]
|
|
15992
|
-
}] }, { type: i0.NgZone }, { type: ClrPopoverToggleService },
|
|
15993
|
-
type: Inject,
|
|
15994
|
-
args: [UNIQUE_ID]
|
|
15995
|
-
}] }]; }, propDecorators: { keyFocus: [{
|
|
15971
|
+
}] }, { type: i0.NgZone }, { type: ClrPopoverToggleService }]; }, propDecorators: { keyFocus: [{
|
|
15996
15972
|
type: ViewChild,
|
|
15997
15973
|
args: [ClrKeyFocus]
|
|
15998
15974
|
}], open: [{
|
|
@@ -16116,14 +16092,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
16116
16092
|
*/
|
|
16117
16093
|
/** @deprecated since 2.0, remove in 3.0 */
|
|
16118
16094
|
class ClrDatagridColumnToggle {
|
|
16119
|
-
constructor(commonStrings, columnsService,
|
|
16095
|
+
constructor(commonStrings, columnsService, popoverToggleService) {
|
|
16120
16096
|
this.commonStrings = commonStrings;
|
|
16121
16097
|
this.columnsService = columnsService;
|
|
16122
|
-
this.
|
|
16123
|
-
this.platformId = platformId;
|
|
16124
|
-
this.zone = zone;
|
|
16125
|
-
this.popoverId = popoverId;
|
|
16126
|
-
this.popoverToggleService = popoverToggleService;
|
|
16098
|
+
this.popoverId = uniqueIdFactory();
|
|
16127
16099
|
// Smart Popover
|
|
16128
16100
|
this.smartPosition = {
|
|
16129
16101
|
axis: ClrAxis.VERTICAL,
|
|
@@ -16170,8 +16142,8 @@ class ClrDatagridColumnToggle {
|
|
|
16170
16142
|
return index;
|
|
16171
16143
|
}
|
|
16172
16144
|
}
|
|
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: [
|
|
16145
|
+
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 });
|
|
16146
|
+
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
16147
|
<button
|
|
16176
16148
|
role="button"
|
|
16177
16149
|
type="button"
|
|
@@ -16300,18 +16272,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
16300
16272
|
</div>
|
|
16301
16273
|
`,
|
|
16302
16274
|
host: { '[class.column-switch-wrapper]': 'true', '[class.active]': 'openState' },
|
|
16303
|
-
providers: [
|
|
16275
|
+
providers: [ClrPopoverEventsService, ClrPopoverPositionService, ClrPopoverToggleService],
|
|
16304
16276
|
}]
|
|
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: [{
|
|
16277
|
+
}], ctorParameters: function () { return [{ type: ClrCommonStringsService }, { type: ColumnsService }, { type: ClrPopoverToggleService }]; }, propDecorators: { customToggleTitle: [{
|
|
16315
16278
|
type: ContentChild,
|
|
16316
16279
|
args: [ClrDatagridColumnToggleTitle]
|
|
16317
16280
|
}], customToggleButton: [{
|
|
@@ -18408,8 +18371,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18408
18371
|
}]
|
|
18409
18372
|
}] });
|
|
18410
18373
|
class ClrStackViewLabel {
|
|
18411
|
-
constructor(
|
|
18412
|
-
this.uniqueId = uniqueId;
|
|
18374
|
+
constructor() {
|
|
18413
18375
|
this._generatedId = null;
|
|
18414
18376
|
this._id = null;
|
|
18415
18377
|
}
|
|
@@ -18425,28 +18387,24 @@ class ClrStackViewLabel {
|
|
|
18425
18387
|
return this._id;
|
|
18426
18388
|
}
|
|
18427
18389
|
ngOnInit() {
|
|
18428
|
-
this._generatedId = 'clr-stack-label-' +
|
|
18390
|
+
this._generatedId = 'clr-stack-label-' + uniqueIdFactory();
|
|
18429
18391
|
if (!this.id) {
|
|
18430
18392
|
this._id = this._generatedId + '';
|
|
18431
18393
|
}
|
|
18432
18394
|
}
|
|
18433
18395
|
}
|
|
18434
|
-
ClrStackViewLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackViewLabel, deps: [
|
|
18435
|
-
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" } },
|
|
18396
|
+
ClrStackViewLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackViewLabel, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18397
|
+
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 });
|
|
18436
18398
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackViewLabel, decorators: [{
|
|
18437
18399
|
type: Component,
|
|
18438
18400
|
args: [{
|
|
18439
18401
|
selector: 'clr-stack-label',
|
|
18440
18402
|
template: '<ng-content></ng-content>',
|
|
18441
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
18442
18403
|
host: {
|
|
18443
18404
|
'[attr.id]': 'id',
|
|
18444
18405
|
},
|
|
18445
18406
|
}]
|
|
18446
|
-
}],
|
|
18447
|
-
type: Inject,
|
|
18448
|
-
args: [UNIQUE_ID]
|
|
18449
|
-
}] }]; }, propDecorators: { id: [{
|
|
18407
|
+
}], propDecorators: { id: [{
|
|
18450
18408
|
type: Input
|
|
18451
18409
|
}] } });
|
|
18452
18410
|
|
|
@@ -18461,9 +18419,8 @@ class ClrStackBlock {
|
|
|
18461
18419
|
* querying for children StackBlocks, but this feature is not available when downgrading
|
|
18462
18420
|
* the component for Angular 1.
|
|
18463
18421
|
*/
|
|
18464
|
-
constructor(parent,
|
|
18422
|
+
constructor(parent, commonStrings) {
|
|
18465
18423
|
this.parent = parent;
|
|
18466
|
-
this.uniqueId = uniqueId;
|
|
18467
18424
|
this.commonStrings = commonStrings;
|
|
18468
18425
|
this.expanded = false;
|
|
18469
18426
|
this.expandedChange = new EventEmitter(false);
|
|
@@ -18472,6 +18429,7 @@ class ClrStackBlock {
|
|
|
18472
18429
|
this._changedChildren = 0;
|
|
18473
18430
|
this._fullyInitialized = false;
|
|
18474
18431
|
this._changed = false;
|
|
18432
|
+
this.uniqueId = uniqueIdFactory();
|
|
18475
18433
|
if (parent) {
|
|
18476
18434
|
parent.addChild();
|
|
18477
18435
|
}
|
|
@@ -18537,8 +18495,8 @@ class ClrStackBlock {
|
|
|
18537
18495
|
return this.expanded ? `clr-stack-children-${this.uniqueId}` : null;
|
|
18538
18496
|
}
|
|
18539
18497
|
}
|
|
18540
|
-
ClrStackBlock.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackBlock, deps: [{ token: ClrStackBlock, optional: true, skipSelf: true }, { token:
|
|
18541
|
-
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" } },
|
|
18498
|
+
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 });
|
|
18499
|
+
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: `
|
|
18542
18500
|
<!-- The 'preventDefault' for the space keydown event prevents the page
|
|
18543
18501
|
from scrolling when a stack block is toggled via the space key. -->
|
|
18544
18502
|
<div
|
|
@@ -18638,15 +18596,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18638
18596
|
'[attr.role]': '"heading"',
|
|
18639
18597
|
'[attr.aria-level]': 'headingLevel',
|
|
18640
18598
|
},
|
|
18641
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
18642
18599
|
}]
|
|
18643
18600
|
}], ctorParameters: function () { return [{ type: ClrStackBlock, decorators: [{
|
|
18644
18601
|
type: SkipSelf
|
|
18645
18602
|
}, {
|
|
18646
18603
|
type: Optional
|
|
18647
|
-
}] }, { type: undefined, decorators: [{
|
|
18648
|
-
type: Inject,
|
|
18649
|
-
args: [UNIQUE_ID]
|
|
18650
18604
|
}] }, { type: ClrCommonStringsService }]; }, propDecorators: { expanded: [{
|
|
18651
18605
|
type: HostBinding,
|
|
18652
18606
|
args: ['class.stack-block-expanded']
|
|
@@ -18691,11 +18645,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18691
18645
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
18692
18646
|
*/
|
|
18693
18647
|
class ClrStackContentInput {
|
|
18694
|
-
constructor(
|
|
18695
|
-
this.uniqueId =
|
|
18648
|
+
constructor() {
|
|
18649
|
+
this.uniqueId = uniqueIdFactory();
|
|
18696
18650
|
}
|
|
18697
18651
|
}
|
|
18698
|
-
ClrStackContentInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackContentInput, deps: [
|
|
18652
|
+
ClrStackContentInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackContentInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
18699
18653
|
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 });
|
|
18700
18654
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackContentInput, decorators: [{
|
|
18701
18655
|
type: Directive,
|
|
@@ -18706,10 +18660,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18706
18660
|
'[attr.aria-labelledby]': 'uniqueId',
|
|
18707
18661
|
},
|
|
18708
18662
|
}]
|
|
18709
|
-
}]
|
|
18710
|
-
type: Inject,
|
|
18711
|
-
args: [UNIQUE_ID]
|
|
18712
|
-
}] }]; } });
|
|
18663
|
+
}] });
|
|
18713
18664
|
|
|
18714
18665
|
/*
|
|
18715
18666
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
@@ -18778,8 +18729,8 @@ class ClrStackHeader {
|
|
|
18778
18729
|
}
|
|
18779
18730
|
ClrStackHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackHeader, deps: [{ token: ClrStackView }], target: i0.ɵɵFactoryTarget.Component });
|
|
18780
18731
|
ClrStackHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrStackHeader, selector: "clr-stack-header", ngImport: i0, template: `
|
|
18781
|
-
<
|
|
18782
|
-
<
|
|
18732
|
+
<div class="stack-header">
|
|
18733
|
+
<h4 class="stack-title"><ng-content></ng-content></h4>
|
|
18783
18734
|
|
|
18784
18735
|
<span class="stack-actions">
|
|
18785
18736
|
<ng-content select=".stack-action"></ng-content>
|
|
@@ -18794,15 +18745,15 @@ ClrStackHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
18794
18745
|
</button>
|
|
18795
18746
|
<!-- End of undocumented experimental feature. -->
|
|
18796
18747
|
</span>
|
|
18797
|
-
</
|
|
18748
|
+
</div>
|
|
18798
18749
|
`, isInline: true, styles: [":host{display:block}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
18799
18750
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackHeader, decorators: [{
|
|
18800
18751
|
type: Component,
|
|
18801
18752
|
args: [{
|
|
18802
18753
|
selector: 'clr-stack-header',
|
|
18803
18754
|
template: `
|
|
18804
|
-
<
|
|
18805
|
-
<
|
|
18755
|
+
<div class="stack-header">
|
|
18756
|
+
<h4 class="stack-title"><ng-content></ng-content></h4>
|
|
18806
18757
|
|
|
18807
18758
|
<span class="stack-actions">
|
|
18808
18759
|
<ng-content select=".stack-action"></ng-content>
|
|
@@ -18817,7 +18768,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18817
18768
|
</button>
|
|
18818
18769
|
<!-- End of undocumented experimental feature. -->
|
|
18819
18770
|
</span>
|
|
18820
|
-
</
|
|
18771
|
+
</div>
|
|
18821
18772
|
`,
|
|
18822
18773
|
// Custom elements are inline by default
|
|
18823
18774
|
styles: [
|
|
@@ -19594,8 +19545,7 @@ const LVIEW_CONTEXT_INDEX = 8;
|
|
|
19594
19545
|
// then those keys are sent together in one request.
|
|
19595
19546
|
const TREE_TYPE_AHEAD_TIMEOUT = 200;
|
|
19596
19547
|
class ClrTreeNode {
|
|
19597
|
-
constructor(
|
|
19598
|
-
this.nodeId = nodeId;
|
|
19548
|
+
constructor(platformId, parent, forTypeAheadProvider, featuresService, expandService, commonStrings, focusManager, injector) {
|
|
19599
19549
|
this.platformId = platformId;
|
|
19600
19550
|
this.forTypeAheadProvider = forTypeAheadProvider;
|
|
19601
19551
|
this.featuresService = featuresService;
|
|
@@ -19605,6 +19555,7 @@ class ClrTreeNode {
|
|
|
19605
19555
|
this.STATES = ClrSelectedState;
|
|
19606
19556
|
this.skipEmitChange = false;
|
|
19607
19557
|
this.isModelLoading = false;
|
|
19558
|
+
this.nodeId = uniqueIdFactory();
|
|
19608
19559
|
this.typeAheadKeyEvent = new Subject();
|
|
19609
19560
|
this.typeAheadKeyBuffer = '';
|
|
19610
19561
|
this.selectedChange = new EventEmitter(false);
|
|
@@ -19819,13 +19770,8 @@ class ClrTreeNode {
|
|
|
19819
19770
|
}
|
|
19820
19771
|
}
|
|
19821
19772
|
}
|
|
19822
|
-
ClrTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTreeNode, deps: [{ token:
|
|
19823
|
-
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: [
|
|
19824
|
-
UNIQUE_ID_PROVIDER,
|
|
19825
|
-
TREE_FEATURES_PROVIDER,
|
|
19826
|
-
IfExpandService,
|
|
19827
|
-
{ provide: LoadingListener, useExisting: IfExpandService },
|
|
19828
|
-
], 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: [
|
|
19773
|
+
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 });
|
|
19774
|
+
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: [
|
|
19829
19775
|
trigger('toggleChildrenAnim', [
|
|
19830
19776
|
transition('collapsed => expanded', [style({ height: 0 }), animate(200, style({ height: '*' }))]),
|
|
19831
19777
|
transition('expanded => collapsed', [style({ height: '*' }), animate(200, style({ height: 0 }))]),
|
|
@@ -19835,12 +19781,7 @@ ClrTreeNode.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
|
19835
19781
|
] });
|
|
19836
19782
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTreeNode, decorators: [{
|
|
19837
19783
|
type: Component,
|
|
19838
|
-
args: [{ selector: 'clr-tree-node', providers: [
|
|
19839
|
-
UNIQUE_ID_PROVIDER,
|
|
19840
|
-
TREE_FEATURES_PROVIDER,
|
|
19841
|
-
IfExpandService,
|
|
19842
|
-
{ provide: LoadingListener, useExisting: IfExpandService },
|
|
19843
|
-
], animations: [
|
|
19784
|
+
args: [{ selector: 'clr-tree-node', providers: [TREE_FEATURES_PROVIDER, IfExpandService, { provide: LoadingListener, useExisting: IfExpandService }], animations: [
|
|
19844
19785
|
trigger('toggleChildrenAnim', [
|
|
19845
19786
|
transition('collapsed => expanded', [style({ height: 0 }), animate(200, style({ height: '*' }))]),
|
|
19846
19787
|
transition('expanded => collapsed', [style({ height: '*' }), animate(200, style({ height: 0 }))]),
|
|
@@ -19851,9 +19792,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
19851
19792
|
'[class.clr-tree-node]': 'true',
|
|
19852
19793
|
}, 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" }]
|
|
19853
19794
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
19854
|
-
type: Inject,
|
|
19855
|
-
args: [UNIQUE_ID]
|
|
19856
|
-
}] }, { type: undefined, decorators: [{
|
|
19857
19795
|
type: Inject,
|
|
19858
19796
|
args: [PLATFORM_ID]
|
|
19859
19797
|
}] }, { type: ClrTreeNode, decorators: [{
|
|
@@ -20063,13 +20001,13 @@ function wrapObservable(observable, onSubscribe, onUnsubscribe) {
|
|
|
20063
20001
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
20064
20002
|
*/
|
|
20065
20003
|
class DropdownFocusHandler {
|
|
20066
|
-
constructor(
|
|
20067
|
-
this.id = id;
|
|
20004
|
+
constructor(renderer, parent, toggleService, focusService, platformId) {
|
|
20068
20005
|
this.renderer = renderer;
|
|
20069
20006
|
this.parent = parent;
|
|
20070
20007
|
this.toggleService = toggleService;
|
|
20071
20008
|
this.focusService = focusService;
|
|
20072
20009
|
this.platformId = platformId;
|
|
20010
|
+
this.id = uniqueIdFactory();
|
|
20073
20011
|
this._unlistenFuncs = [];
|
|
20074
20012
|
this.focusBackOnTrigger = false;
|
|
20075
20013
|
this.resetChildren();
|
|
@@ -20216,14 +20154,11 @@ class DropdownFocusHandler {
|
|
|
20216
20154
|
this.focusService.detachListeners();
|
|
20217
20155
|
}
|
|
20218
20156
|
}
|
|
20219
|
-
DropdownFocusHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownFocusHandler, deps: [{ token:
|
|
20157
|
+
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 });
|
|
20220
20158
|
DropdownFocusHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownFocusHandler });
|
|
20221
20159
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownFocusHandler, decorators: [{
|
|
20222
20160
|
type: Injectable
|
|
20223
|
-
}], ctorParameters: function () { return [{ type:
|
|
20224
|
-
type: Inject,
|
|
20225
|
-
args: [UNIQUE_ID]
|
|
20226
|
-
}] }, { type: i0.Renderer2 }, { type: DropdownFocusHandler, decorators: [{
|
|
20161
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: DropdownFocusHandler, decorators: [{
|
|
20227
20162
|
type: SkipSelf
|
|
20228
20163
|
}, {
|
|
20229
20164
|
type: Optional
|
|
@@ -20322,13 +20257,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
20322
20257
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
20323
20258
|
*/
|
|
20324
20259
|
class BasicFocusableItem {
|
|
20325
|
-
constructor(
|
|
20326
|
-
this.id = id;
|
|
20260
|
+
constructor(el, renderer, platformId) {
|
|
20327
20261
|
this.el = el;
|
|
20328
20262
|
this.renderer = renderer;
|
|
20329
20263
|
this.platformId = platformId;
|
|
20264
|
+
this.id = uniqueIdFactory();
|
|
20330
20265
|
this.disabled = false;
|
|
20331
|
-
renderer.setAttribute(el.nativeElement, 'id', id);
|
|
20266
|
+
renderer.setAttribute(el.nativeElement, 'id', this.id);
|
|
20332
20267
|
renderer.setAttribute(el.nativeElement, 'tabindex', '-1');
|
|
20333
20268
|
}
|
|
20334
20269
|
focus() {
|
|
@@ -20350,19 +20285,15 @@ class BasicFocusableItem {
|
|
|
20350
20285
|
}
|
|
20351
20286
|
}
|
|
20352
20287
|
}
|
|
20353
|
-
BasicFocusableItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicFocusableItem, deps: [{ token:
|
|
20288
|
+
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 });
|
|
20354
20289
|
BasicFocusableItem.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicFocusableItem });
|
|
20355
20290
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicFocusableItem, decorators: [{
|
|
20356
20291
|
type: Injectable
|
|
20357
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
20358
|
-
type: Inject,
|
|
20359
|
-
args: [UNIQUE_ID]
|
|
20360
|
-
}] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
20292
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
20361
20293
|
type: Inject,
|
|
20362
20294
|
args: [PLATFORM_ID]
|
|
20363
20295
|
}] }]; } });
|
|
20364
20296
|
const BASIC_FOCUSABLE_ITEM_PROVIDER = [
|
|
20365
|
-
UNIQUE_ID_PROVIDER,
|
|
20366
20297
|
{
|
|
20367
20298
|
provide: FocusableItem,
|
|
20368
20299
|
useClass: BasicFocusableItem,
|
|
@@ -22451,10 +22382,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
22451
22382
|
*/
|
|
22452
22383
|
let nbTabContentComponents = 0;
|
|
22453
22384
|
class ClrTabContent {
|
|
22454
|
-
constructor(ifActiveService, id,
|
|
22385
|
+
constructor(ifActiveService, id, tabsService) {
|
|
22455
22386
|
this.ifActiveService = ifActiveService;
|
|
22456
22387
|
this.id = id;
|
|
22457
|
-
this.ariaService = ariaService;
|
|
22458
22388
|
this.tabsService = tabsService;
|
|
22459
22389
|
if (!this.tabContentId) {
|
|
22460
22390
|
this.tabContentId = 'clr-tab-content-' + nbTabContentComponents++;
|
|
@@ -22467,13 +22397,7 @@ class ClrTabContent {
|
|
|
22467
22397
|
this.viewRef = this.tabsService.tabContentViewContainer.createEmbeddedView(value);
|
|
22468
22398
|
}
|
|
22469
22399
|
get ariaLabelledBy() {
|
|
22470
|
-
return this.
|
|
22471
|
-
}
|
|
22472
|
-
get tabContentId() {
|
|
22473
|
-
return this.ariaService.ariaControls;
|
|
22474
|
-
}
|
|
22475
|
-
set tabContentId(id) {
|
|
22476
|
-
this.ariaService.ariaControls = id;
|
|
22400
|
+
return this.tabsService.children.find(tab => tab.tabContent === this)?.tabLink?.tabLinkId;
|
|
22477
22401
|
}
|
|
22478
22402
|
get active() {
|
|
22479
22403
|
return this.ifActiveService.current === this.id;
|
|
@@ -22485,7 +22409,7 @@ class ClrTabContent {
|
|
|
22485
22409
|
}
|
|
22486
22410
|
}
|
|
22487
22411
|
}
|
|
22488
|
-
ClrTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTabContent, deps: [{ token: IfActiveService }, { token: IF_ACTIVE_ID }, { token:
|
|
22412
|
+
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 });
|
|
22489
22413
|
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: `
|
|
22490
22414
|
<ng-template #tabContentProjectedRef>
|
|
22491
22415
|
<section
|
|
@@ -22524,7 +22448,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
22524
22448
|
}], ctorParameters: function () { return [{ type: IfActiveService }, { type: undefined, decorators: [{
|
|
22525
22449
|
type: Inject,
|
|
22526
22450
|
args: [IF_ACTIVE_ID]
|
|
22527
|
-
}] }, { type:
|
|
22451
|
+
}] }, { type: TabsService }]; }, propDecorators: { templateRef: [{
|
|
22528
22452
|
type: ViewChild,
|
|
22529
22453
|
args: ['tabContentProjectedRef', { static: true }]
|
|
22530
22454
|
}], tabContentId: [{
|
|
@@ -22554,10 +22478,9 @@ const TABS_ID_PROVIDER = {
|
|
|
22554
22478
|
*/
|
|
22555
22479
|
let nbTabLinkComponents = 0;
|
|
22556
22480
|
class ClrTabLink {
|
|
22557
|
-
constructor(ifActiveService, id,
|
|
22481
|
+
constructor(ifActiveService, id, el, cfr, viewContainerRef, tabsService, tabsId) {
|
|
22558
22482
|
this.ifActiveService = ifActiveService;
|
|
22559
22483
|
this.id = id;
|
|
22560
|
-
this.ariaService = ariaService;
|
|
22561
22484
|
this.el = el;
|
|
22562
22485
|
this.cfr = cfr;
|
|
22563
22486
|
this.viewContainerRef = viewContainerRef;
|
|
@@ -22584,13 +22507,7 @@ class ClrTabLink {
|
|
|
22584
22507
|
return !this.inOverflow;
|
|
22585
22508
|
}
|
|
22586
22509
|
get ariaControls() {
|
|
22587
|
-
return this.
|
|
22588
|
-
}
|
|
22589
|
-
get tabLinkId() {
|
|
22590
|
-
return this.ariaService.ariaLabelledBy;
|
|
22591
|
-
}
|
|
22592
|
-
set tabLinkId(id) {
|
|
22593
|
-
this.ariaService.ariaLabelledBy = id;
|
|
22510
|
+
return this.tabsService.children.find(tab => tab.tabLink === this)?.tabContent?.tabContentId;
|
|
22594
22511
|
}
|
|
22595
22512
|
activate() {
|
|
22596
22513
|
this.ifActiveService.current = this.id;
|
|
@@ -22602,7 +22519,7 @@ class ClrTabLink {
|
|
|
22602
22519
|
return this.active ? 0 : -1;
|
|
22603
22520
|
}
|
|
22604
22521
|
}
|
|
22605
|
-
ClrTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTabLink, deps: [{ token: IfActiveService }, { token: IF_ACTIVE_ID }, { token:
|
|
22522
|
+
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 });
|
|
22606
22523
|
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 });
|
|
22607
22524
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTabLink, decorators: [{
|
|
22608
22525
|
type: Directive,
|
|
@@ -22617,7 +22534,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
22617
22534
|
}], ctorParameters: function () { return [{ type: IfActiveService }, { type: undefined, decorators: [{
|
|
22618
22535
|
type: Inject,
|
|
22619
22536
|
args: [IF_ACTIVE_ID]
|
|
22620
|
-
}] }, { type:
|
|
22537
|
+
}] }, { type: i0.ElementRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: TabsService }, { type: undefined, decorators: [{
|
|
22621
22538
|
type: Inject,
|
|
22622
22539
|
args: [TABS_ID]
|
|
22623
22540
|
}] }]; }, propDecorators: { inOverflow: [{
|
|
@@ -22672,13 +22589,13 @@ class ClrTab {
|
|
|
22672
22589
|
}
|
|
22673
22590
|
}
|
|
22674
22591
|
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 });
|
|
22675
|
-
ClrTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrTab, selector: "clr-tab", providers: [IF_ACTIVE_ID_PROVIDER
|
|
22592
|
+
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 });
|
|
22676
22593
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTab, decorators: [{
|
|
22677
22594
|
type: Component,
|
|
22678
22595
|
args: [{
|
|
22679
22596
|
selector: 'clr-tab',
|
|
22680
22597
|
template: `<ng-content></ng-content>`,
|
|
22681
|
-
providers: [IF_ACTIVE_ID_PROVIDER
|
|
22598
|
+
providers: [IF_ACTIVE_ID_PROVIDER],
|
|
22682
22599
|
}]
|
|
22683
22600
|
}], ctorParameters: function () { return [{ type: IfActiveService }, { type: undefined, decorators: [{
|
|
22684
22601
|
type: Inject,
|
|
@@ -23564,10 +23481,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
23564
23481
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23565
23482
|
*/
|
|
23566
23483
|
class ClrModal {
|
|
23567
|
-
constructor(_scrollingService, commonStrings
|
|
23484
|
+
constructor(_scrollingService, commonStrings) {
|
|
23568
23485
|
this._scrollingService = _scrollingService;
|
|
23569
23486
|
this.commonStrings = commonStrings;
|
|
23570
|
-
this.modalId =
|
|
23487
|
+
this.modalId = uniqueIdFactory();
|
|
23571
23488
|
this._open = false;
|
|
23572
23489
|
this._openChanged = new EventEmitter(false);
|
|
23573
23490
|
this.closable = true;
|
|
@@ -23620,8 +23537,8 @@ class ClrModal {
|
|
|
23620
23537
|
}
|
|
23621
23538
|
}
|
|
23622
23539
|
}
|
|
23623
|
-
ClrModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrModal, deps: [{ token: ScrollingService }, { token: ClrCommonStringsService }
|
|
23624
|
-
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" } },
|
|
23540
|
+
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 });
|
|
23541
|
+
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: [
|
|
23625
23542
|
trigger('fadeDown', [
|
|
23626
23543
|
transition('* => false', [style({ opacity: 0, transform: 'translate(0, -25%)' }), animate('0.2s ease-in-out')]),
|
|
23627
23544
|
transition('false => *', [animate('0.2s ease-in-out', style({ opacity: 0, transform: 'translate(0, -25%)' }))]),
|
|
@@ -23651,11 +23568,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
23651
23568
|
transition('void => *', [style({ opacity: 0 }), animate('0.2s ease-in-out', style({ opacity: 0.85 }))]),
|
|
23652
23569
|
transition('* => void', [animate('0.2s ease-in-out', style({ opacity: 0 }))]),
|
|
23653
23570
|
]),
|
|
23654
|
-
],
|
|
23655
|
-
}], ctorParameters: function () { return [{ type: ScrollingService }, { type: ClrCommonStringsService },
|
|
23656
|
-
type: Inject,
|
|
23657
|
-
args: [UNIQUE_ID]
|
|
23658
|
-
}] }]; }, propDecorators: { focusTrap: [{
|
|
23571
|
+
], 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" }]
|
|
23572
|
+
}], ctorParameters: function () { return [{ type: ScrollingService }, { type: ClrCommonStringsService }]; }, propDecorators: { focusTrap: [{
|
|
23659
23573
|
type: ViewChild,
|
|
23660
23574
|
args: [FocusTrapDirective]
|
|
23661
23575
|
}], _open: [{
|
|
@@ -23826,20 +23740,20 @@ const POSITIONS$1 = [
|
|
|
23826
23740
|
'left-top',
|
|
23827
23741
|
];
|
|
23828
23742
|
class ClrSignpostContent extends AbstractPopover {
|
|
23829
|
-
constructor(injector, parentHost, commonStrings,
|
|
23743
|
+
constructor(injector, parentHost, commonStrings, signpostIdService, signpostFocusManager, platformId, document) {
|
|
23830
23744
|
super(injector, parentHost);
|
|
23831
23745
|
this.commonStrings = commonStrings;
|
|
23832
|
-
this.signpostContentId = signpostContentId;
|
|
23833
23746
|
this.signpostIdService = signpostIdService;
|
|
23834
23747
|
this.signpostFocusManager = signpostFocusManager;
|
|
23835
23748
|
this.platformId = platformId;
|
|
23749
|
+
this.signpostContentId = uniqueIdFactory();
|
|
23836
23750
|
if (!parentHost) {
|
|
23837
23751
|
throw new Error('clr-signpost-content should only be used inside of a clr-signpost');
|
|
23838
23752
|
}
|
|
23839
23753
|
// Defaults
|
|
23840
23754
|
this.position = 'right-middle';
|
|
23841
23755
|
this.closeOnOutsideClick = true;
|
|
23842
|
-
this.signpostIdService.setId(signpostContentId);
|
|
23756
|
+
this.signpostIdService.setId(this.signpostContentId);
|
|
23843
23757
|
this.document = document;
|
|
23844
23758
|
}
|
|
23845
23759
|
/**********
|
|
@@ -23907,8 +23821,8 @@ class ClrSignpostContent extends AbstractPopover {
|
|
|
23907
23821
|
}
|
|
23908
23822
|
}
|
|
23909
23823
|
}
|
|
23910
|
-
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:
|
|
23911
|
-
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" } },
|
|
23824
|
+
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 });
|
|
23825
|
+
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: `
|
|
23912
23826
|
<div class="signpost-wrap">
|
|
23913
23827
|
<div class="popover-pointer"></div>
|
|
23914
23828
|
<div class="signpost-content-header">
|
|
@@ -23951,17 +23865,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
23951
23865
|
</div>
|
|
23952
23866
|
`,
|
|
23953
23867
|
host: { '[class.signpost-content]': 'true', '[id]': 'signpostContentId' },
|
|
23954
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
23955
23868
|
}]
|
|
23956
23869
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef, decorators: [{
|
|
23957
23870
|
type: Optional
|
|
23958
23871
|
}, {
|
|
23959
23872
|
type: Inject,
|
|
23960
23873
|
args: [POPOVER_HOST_ANCHOR]
|
|
23961
|
-
}] }, { type: ClrCommonStringsService }, { type: undefined, decorators: [{
|
|
23962
|
-
type: Inject,
|
|
23963
|
-
args: [UNIQUE_ID]
|
|
23964
|
-
}] }, { type: SignpostIdService }, { type: SignpostFocusManager }, { type: undefined, decorators: [{
|
|
23874
|
+
}] }, { type: ClrCommonStringsService }, { type: SignpostIdService }, { type: SignpostFocusManager }, { type: undefined, decorators: [{
|
|
23965
23875
|
type: Inject,
|
|
23966
23876
|
args: [PLATFORM_ID]
|
|
23967
23877
|
}] }, { type: undefined, decorators: [{
|
|
@@ -24025,14 +23935,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
24025
23935
|
class ClrTooltip {
|
|
24026
23936
|
}
|
|
24027
23937
|
ClrTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTooltip, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24028
|
-
ClrTooltip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrTooltip, selector: "clr-tooltip", host: { properties: { "class.tooltip": "true" } }, providers: [
|
|
24029
|
-
ClrPopoverToggleService,
|
|
24030
|
-
{ provide: POPOVER_HOST_ANCHOR, useExisting: ElementRef },
|
|
24031
|
-
// TODO: consider centralizing the unique id string on a service that provides ariaAttributes that need it
|
|
24032
|
-
// AriaService in layout/tabs/providers might be a good starting point.
|
|
24033
|
-
UNIQUE_ID_PROVIDER,
|
|
24034
|
-
TooltipIdService,
|
|
24035
|
-
], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
23938
|
+
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 });
|
|
24036
23939
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTooltip, decorators: [{
|
|
24037
23940
|
type: Component,
|
|
24038
23941
|
args: [{
|
|
@@ -24041,14 +23944,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
24041
23944
|
host: {
|
|
24042
23945
|
'[class.tooltip]': 'true',
|
|
24043
23946
|
},
|
|
24044
|
-
providers: [
|
|
24045
|
-
ClrPopoverToggleService,
|
|
24046
|
-
{ provide: POPOVER_HOST_ANCHOR, useExisting: ElementRef },
|
|
24047
|
-
// TODO: consider centralizing the unique id string on a service that provides ariaAttributes that need it
|
|
24048
|
-
// AriaService in layout/tabs/providers might be a good starting point.
|
|
24049
|
-
UNIQUE_ID_PROVIDER,
|
|
24050
|
-
TooltipIdService,
|
|
24051
|
-
],
|
|
23947
|
+
providers: [ClrPopoverToggleService, { provide: POPOVER_HOST_ANCHOR, useExisting: ElementRef }, TooltipIdService],
|
|
24052
23948
|
}]
|
|
24053
23949
|
}] });
|
|
24054
23950
|
|
|
@@ -24071,17 +23967,14 @@ const SIZES = ['xs', 'sm', 'md', 'lg'];
|
|
|
24071
23967
|
const defaultPosition = 'right';
|
|
24072
23968
|
const defaultSize = 'sm';
|
|
24073
23969
|
class ClrTooltipContent extends AbstractPopover {
|
|
24074
|
-
constructor(injector, parentHost,
|
|
23970
|
+
constructor(injector, parentHost, tooltipIdService) {
|
|
24075
23971
|
super(injector, parentHost);
|
|
24076
|
-
this.uniqueId = uniqueId;
|
|
24077
23972
|
this.tooltipIdService = tooltipIdService;
|
|
24078
|
-
this._position = defaultPosition;
|
|
24079
|
-
this._size = defaultSize;
|
|
24080
23973
|
if (!parentHost) {
|
|
24081
23974
|
throw new Error('clr-tooltip-content should only be used inside of a clr-tooltip');
|
|
24082
23975
|
}
|
|
24083
23976
|
// Set the default id in case consumer does not supply a custom id.
|
|
24084
|
-
this.id =
|
|
23977
|
+
this.id = uniqueIdFactory();
|
|
24085
23978
|
}
|
|
24086
23979
|
get id() {
|
|
24087
23980
|
return this._id;
|
|
@@ -24138,12 +24031,16 @@ class ClrTooltipContent extends AbstractPopover {
|
|
|
24138
24031
|
this._size = newSize;
|
|
24139
24032
|
this.updateCssClass({ oldClass: `tooltip-${oldSize}`, newClass: `tooltip-${newSize}` });
|
|
24140
24033
|
}
|
|
24034
|
+
ngOnInit() {
|
|
24035
|
+
this.size = this.size || defaultSize;
|
|
24036
|
+
this.position = this.position || defaultPosition;
|
|
24037
|
+
}
|
|
24141
24038
|
updateCssClass({ oldClass, newClass }) {
|
|
24142
24039
|
this.renderer.removeClass(this.el.nativeElement, oldClass);
|
|
24143
24040
|
this.renderer.addClass(this.el.nativeElement, newClass);
|
|
24144
24041
|
}
|
|
24145
24042
|
}
|
|
24146
|
-
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:
|
|
24043
|
+
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 });
|
|
24147
24044
|
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 });
|
|
24148
24045
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTooltipContent, decorators: [{
|
|
24149
24046
|
type: Component,
|
|
@@ -24162,9 +24059,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
24162
24059
|
}, {
|
|
24163
24060
|
type: Inject,
|
|
24164
24061
|
args: [POPOVER_HOST_ANCHOR]
|
|
24165
|
-
}] }, { type: undefined, decorators: [{
|
|
24166
|
-
type: Inject,
|
|
24167
|
-
args: [UNIQUE_ID]
|
|
24168
24062
|
}] }, { type: TooltipIdService }]; }, propDecorators: { id: [{
|
|
24169
24063
|
type: Input
|
|
24170
24064
|
}], position: [{
|
|
@@ -26762,14 +26656,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
26762
26656
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26763
26657
|
*/
|
|
26764
26658
|
class ClrWizard {
|
|
26765
|
-
constructor(platformId, navService, pageCollection, buttonService, headerActionService, elementRef, differs
|
|
26659
|
+
constructor(platformId, navService, pageCollection, buttonService, headerActionService, elementRef, differs) {
|
|
26766
26660
|
this.platformId = platformId;
|
|
26767
26661
|
this.navService = navService;
|
|
26768
26662
|
this.pageCollection = pageCollection;
|
|
26769
26663
|
this.buttonService = buttonService;
|
|
26770
26664
|
this.headerActionService = headerActionService;
|
|
26771
26665
|
this.elementRef = elementRef;
|
|
26772
|
-
this.wizardId = wizardId;
|
|
26773
26666
|
/**
|
|
26774
26667
|
* Set the modal size of the wizard. Set using `[clrWizardSize]` input.
|
|
26775
26668
|
*/
|
|
@@ -26829,6 +26722,7 @@ class ClrWizard {
|
|
|
26829
26722
|
* Listen via `(clrWizardOnPrevious)` event.
|
|
26830
26723
|
*/
|
|
26831
26724
|
this.onMovePrevious = new EventEmitter(false);
|
|
26725
|
+
this.wizardId = uniqueIdFactory();
|
|
26832
26726
|
this.subscriptions = [];
|
|
26833
26727
|
this.subscriptions.push(this.listenForNextPageChanges(), this.listenForPreviousPageChanges(), this.listenForCancelChanges(), this.listenForFinishedChanges(), this.listenForPageChanges());
|
|
26834
26728
|
this.differ = differs.find([]).create(null);
|
|
@@ -27147,23 +27041,11 @@ class ClrWizard {
|
|
|
27147
27041
|
this.wizardFinished.emit();
|
|
27148
27042
|
}
|
|
27149
27043
|
}
|
|
27150
|
-
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 }
|
|
27151
|
-
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: [
|
|
27152
|
-
WizardNavigationService,
|
|
27153
|
-
PageCollectionService,
|
|
27154
|
-
ButtonHubService,
|
|
27155
|
-
HeaderActionService,
|
|
27156
|
-
UNIQUE_ID_PROVIDER,
|
|
27157
|
-
], 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" }] });
|
|
27044
|
+
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 });
|
|
27045
|
+
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" }] });
|
|
27158
27046
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrWizard, decorators: [{
|
|
27159
27047
|
type: Component,
|
|
27160
|
-
args: [{ selector: 'clr-wizard', providers: [
|
|
27161
|
-
WizardNavigationService,
|
|
27162
|
-
PageCollectionService,
|
|
27163
|
-
ButtonHubService,
|
|
27164
|
-
HeaderActionService,
|
|
27165
|
-
UNIQUE_ID_PROVIDER,
|
|
27166
|
-
], host: {
|
|
27048
|
+
args: [{ selector: 'clr-wizard', providers: [WizardNavigationService, PageCollectionService, ButtonHubService, HeaderActionService], host: {
|
|
27167
27049
|
'[class.clr-wizard]': 'true',
|
|
27168
27050
|
'[class.wizard-md]': "size == 'md'",
|
|
27169
27051
|
'[class.wizard-lg]': "size == 'lg'",
|
|
@@ -27173,10 +27055,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
27173
27055
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
27174
27056
|
type: Inject,
|
|
27175
27057
|
args: [PLATFORM_ID]
|
|
27176
|
-
}] }, { type: WizardNavigationService }, { type: PageCollectionService }, { type: ButtonHubService }, { type: HeaderActionService }, { type: i0.ElementRef }, { type: i0.IterableDiffers },
|
|
27177
|
-
type: Inject,
|
|
27178
|
-
args: [UNIQUE_ID]
|
|
27179
|
-
}] }]; }, propDecorators: { size: [{
|
|
27058
|
+
}] }, { type: WizardNavigationService }, { type: PageCollectionService }, { type: ButtonHubService }, { type: HeaderActionService }, { type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, propDecorators: { size: [{
|
|
27180
27059
|
type: Input,
|
|
27181
27060
|
args: ['clrWizardSize']
|
|
27182
27061
|
}], closable: [{
|
|
@@ -27861,5 +27740,5 @@ const CLR_MENU_POSITIONS = [
|
|
|
27861
27740
|
* Generated bundle index. Do not edit.
|
|
27862
27741
|
*/
|
|
27863
27742
|
|
|
27864
|
-
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 };
|
|
27743
|
+
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 };
|
|
27865
27744
|
//# sourceMappingURL=clr-angular.mjs.map
|