@clr/angular 13.8.4 → 13.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion-panel.d.ts +2 -2
- package/accordion/stepper/stepper-panel.d.ts +2 -2
- package/button/button-group/button-group.d.ts +2 -2
- package/clarity.api.md +52 -45
- package/data/datagrid/datagrid-action-overflow.d.ts +2 -2
- package/data/datagrid/datagrid-column-separator.d.ts +1 -1
- package/data/datagrid/datagrid-column-toggle.d.ts +2 -6
- package/data/datagrid/datagrid-filter.d.ts +2 -2
- package/data/datagrid/datagrid-if-detail.d.ts +1 -0
- package/data/datagrid/datagrid.d.ts +1 -1
- package/data/datagrid/providers/selection.d.ts +1 -3
- package/data/stack-view/stack-block.d.ts +3 -3
- package/data/stack-view/stack-content-input.d.ts +0 -1
- package/data/stack-view/stack-view-custom-tags.d.ts +0 -2
- package/data/tree-view/tree-node.d.ts +3 -3
- package/esm2020/accordion/accordion-panel.mjs +9 -12
- package/esm2020/accordion/stepper/stepper-panel.mjs +7 -11
- package/esm2020/button/button-group/button-group.mjs +7 -12
- package/esm2020/button/button-group/button.mjs +1 -1
- package/esm2020/button/button-loading/loading-button.mjs +1 -1
- package/esm2020/data/datagrid/built-in/comparators/datagrid-property-comparator.mjs +1 -1
- package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter-impl.mjs +1 -1
- package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +1 -1
- package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter-impl.mjs +1 -1
- package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter.mjs +1 -1
- package/esm2020/data/datagrid/built-in/nested-property.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-action-overflow.mjs +8 -11
- package/esm2020/data/datagrid/datagrid-cell.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-column-separator.mjs +6 -10
- package/esm2020/data/datagrid/datagrid-column-toggle.mjs +9 -22
- package/esm2020/data/datagrid/datagrid-column.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-detail.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-filter.mjs +7 -10
- package/esm2020/data/datagrid/datagrid-footer.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-hideable-column.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-if-detail.mjs +12 -3
- package/esm2020/data/datagrid/datagrid-items.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-pagination.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-placeholder.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-row-detail.mjs +1 -1
- package/esm2020/data/datagrid/datagrid-row.mjs +1 -1
- package/esm2020/data/datagrid/datagrid.mjs +5 -9
- package/esm2020/data/datagrid/providers/column-resizer.service.mjs +1 -1
- package/esm2020/data/datagrid/providers/detail.service.mjs +1 -1
- package/esm2020/data/datagrid/providers/display-mode.service.mjs +1 -1
- package/esm2020/data/datagrid/providers/filters.mjs +1 -1
- package/esm2020/data/datagrid/providers/global-expandable-rows.mjs +1 -1
- package/esm2020/data/datagrid/providers/items.mjs +1 -1
- package/esm2020/data/datagrid/providers/page.mjs +1 -1
- package/esm2020/data/datagrid/providers/row-action-service.mjs +1 -1
- package/esm2020/data/datagrid/providers/selection.mjs +4 -5
- package/esm2020/data/datagrid/providers/sort.mjs +1 -1
- package/esm2020/data/datagrid/providers/state-debouncer.provider.mjs +1 -1
- package/esm2020/data/datagrid/providers/table-size.service.mjs +1 -1
- package/esm2020/data/datagrid/render/header-renderer.mjs +1 -1
- package/esm2020/data/datagrid/render/main-renderer.mjs +1 -1
- package/esm2020/data/datagrid/render/render-organizer.mjs +1 -1
- package/esm2020/data/datagrid/render/row-renderer.mjs +1 -1
- package/esm2020/data/datagrid/utils/datagrid-filter-registrar.mjs +1 -1
- package/esm2020/data/stack-view/stack-block.mjs +13 -11
- package/esm2020/data/stack-view/stack-content-input.mjs +7 -10
- package/esm2020/data/stack-view/stack-view-custom-tags.mjs +8 -13
- package/esm2020/data/tree-view/tree-focus-manager.service.mjs +1 -1
- package/esm2020/data/tree-view/tree-node.mjs +7 -20
- package/esm2020/emphasis/alert/alerts.mjs +1 -1
- package/esm2020/emphasis/alert/providers/icon-and-types.service.mjs +1 -1
- package/esm2020/emphasis/alert/providers/multi-alert.service.mjs +1 -1
- package/esm2020/forms/checkbox/checkbox-container.mjs +1 -1
- package/esm2020/forms/combobox/combobox.mjs +19 -20
- package/esm2020/forms/combobox/option-items.directive.mjs +1 -1
- package/esm2020/forms/combobox/option.mjs +8 -13
- package/esm2020/forms/combobox/options.mjs +10 -19
- package/esm2020/forms/combobox/providers/combobox-focus-handler.service.mjs +4 -9
- package/esm2020/forms/combobox/providers/option-selection.service.mjs +1 -1
- package/esm2020/forms/common/abstract-control.mjs +1 -1
- package/esm2020/forms/common/providers/container-id.service.mjs +1 -1
- package/esm2020/forms/common/providers/control-id.service.mjs +1 -1
- package/esm2020/forms/common/wrapped-control.mjs +1 -8
- package/esm2020/forms/datalist/providers/datalist-id.service.mjs +1 -1
- package/esm2020/forms/datepicker/date-container.mjs +1 -1
- package/esm2020/forms/datepicker/date-input.mjs +1 -1
- package/esm2020/forms/datepicker/date-input.validator.mjs +40 -0
- package/esm2020/forms/datepicker/datepicker.module.mjs +5 -1
- package/esm2020/forms/datepicker/day.mjs +1 -1
- package/esm2020/forms/datepicker/index.mjs +2 -1
- package/esm2020/forms/datepicker/model/calendar.model.mjs +1 -1
- package/esm2020/forms/datepicker/model/day.model.mjs +1 -1
- package/esm2020/forms/datepicker/providers/date-form-control.service.mjs +1 -1
- package/esm2020/forms/datepicker/providers/date-io.service.mjs +1 -1
- package/esm2020/forms/datepicker/providers/date-navigation.service.mjs +1 -1
- package/esm2020/forms/datepicker/yearpicker.mjs +1 -10
- package/esm2020/forms/radio/radio-container.mjs +1 -1
- package/esm2020/layout/nav/aria-current-link.mjs +1 -1
- package/esm2020/layout/nav/providers/responsive-navigation.service.mjs +1 -1
- package/esm2020/layout/nav/responsive-nav-codes.mjs +1 -1
- package/esm2020/layout/tabs/tab-content.mjs +6 -14
- package/esm2020/layout/tabs/tab-link.directive.mjs +6 -14
- package/esm2020/layout/tabs/tab.mjs +3 -4
- package/esm2020/layout/vertical-nav/providers/vertical-nav-group-registration.service.mjs +1 -1
- package/esm2020/modal/modal.mjs +13 -12
- package/esm2020/popover/common/abstract-popover.mjs +1 -1
- package/esm2020/popover/common/popover.mjs +1 -1
- package/esm2020/popover/dropdown/dropdown-item.mjs +1 -1
- package/esm2020/popover/dropdown/dropdown-trigger.mjs +1 -1
- package/esm2020/popover/dropdown/providers/dropdown-focus-handler.service.mjs +6 -9
- package/esm2020/popover/signpost/signpost-content.mjs +8 -12
- package/esm2020/popover/signpost/signpost-trigger.mjs +1 -1
- package/esm2020/popover/signpost/signpost.mjs +1 -1
- package/esm2020/popover/tooltip/tooltip-content.mjs +5 -9
- package/esm2020/popover/tooltip/tooltip-trigger.mjs +1 -1
- package/esm2020/popover/tooltip/tooltip.mjs +3 -18
- package/esm2020/timeline/providers/timeline-icon-attribute.service.mjs +1 -1
- package/esm2020/timeline/timeline-step.mjs +1 -1
- package/esm2020/utils/a11y/aria-live.service.mjs +1 -1
- package/esm2020/utils/chocolate/willy-wonka.mjs +1 -1
- package/esm2020/utils/conditional/if-active.directive.mjs +1 -1
- package/esm2020/utils/conditional/if-active.service.mjs +1 -1
- package/esm2020/utils/conditional/if-expanded.service.mjs +1 -1
- package/esm2020/utils/conditional/if-open.directive.mjs +1 -1
- package/esm2020/utils/drag-and-drop/drag-event.mjs +1 -1
- package/esm2020/utils/drag-and-drop/draggable/draggable.mjs +1 -1
- package/esm2020/utils/drag-and-drop/providers/drag-event-listener.service.mjs +1 -1
- package/esm2020/utils/drag-and-drop/providers/drag-handle-registrar.service.mjs +1 -1
- package/esm2020/utils/drag-and-drop/providers/draggable-snapshot.service.mjs +1 -1
- package/esm2020/utils/focus/focus.service.mjs +1 -1
- package/esm2020/utils/focus/focusable-item/basic-focusable-item.service.mjs +7 -11
- package/esm2020/utils/focus/focusable-item/custom-focusable-item-provider.mjs +1 -3
- package/esm2020/utils/focus-trap/focus-trap.directive.mjs +1 -1
- package/esm2020/utils/id-generator/id-generator.service.mjs +1 -7
- package/esm2020/utils/loading/loading.mjs +1 -1
- package/esm2020/utils/popover/popover-content.mjs +1 -1
- package/esm2020/utils/popover/providers/popover-events.service.mjs +1 -1
- package/esm2020/utils/popover/providers/popover-position.service.mjs +1 -1
- package/esm2020/utils/popover/providers/popover-toggle.service.mjs +1 -1
- package/esm2020/wizard/providers/button-hub.service.mjs +1 -1
- package/esm2020/wizard/providers/header-actions.service.mjs +1 -1
- package/esm2020/wizard/providers/page-collection.service.mjs +1 -1
- package/esm2020/wizard/providers/wizard-navigation.service.mjs +1 -1
- package/esm2020/wizard/wizard-button.mjs +1 -1
- package/esm2020/wizard/wizard-header-action.mjs +1 -1
- package/esm2020/wizard/wizard-page.mjs +1 -1
- package/esm2020/wizard/wizard-stepnav-item.mjs +1 -1
- package/esm2020/wizard/wizard.mjs +8 -23
- package/fesm2015/clr-angular.mjs +428 -556
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +435 -555
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/forms/combobox/combobox.d.ts +4 -5
- package/forms/combobox/option.d.ts +1 -2
- package/forms/combobox/options.d.ts +3 -6
- package/forms/combobox/providers/combobox-focus-handler.service.d.ts +2 -6
- package/forms/datepicker/date-input.validator.d.ts +10 -0
- package/forms/datepicker/datepicker.module.d.ts +14 -13
- package/forms/datepicker/index.d.ts +1 -0
- package/forms/datepicker/yearpicker.d.ts +0 -2
- package/layout/tabs/tab-content.d.ts +2 -5
- package/layout/tabs/tab-link.directive.d.ts +2 -5
- package/modal/modal.d.ts +3 -2
- package/package.json +1 -1
- package/popover/dropdown/providers/dropdown-focus-handler.service.d.ts +4 -7
- package/popover/signpost/signpost-content.d.ts +3 -3
- package/popover/tooltip/tooltip-content.d.ts +2 -3
- package/utils/focus/focusable-item/basic-focusable-item.service.d.ts +4 -7
- package/utils/focus/focusable-item/custom-focusable-item-provider.d.ts +1 -4
- package/utils/id-generator/id-generator.service.d.ts +0 -6
- package/wizard/wizard.d.ts +2 -2
- package/esm2020/utils/aria/aria.service.mjs +0 -16
- package/utils/aria/aria.service.d.ts +0 -8
package/fesm2015/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';
|
|
@@ -188,14 +188,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
188
188
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
189
189
|
*/
|
|
190
190
|
let NB_INSTANCES = 0;
|
|
191
|
-
const UNIQUE_ID = new InjectionToken('UNIQUE_ID');
|
|
192
191
|
function uniqueIdFactory() {
|
|
193
192
|
return 'clr-id-' + NB_INSTANCES++;
|
|
194
193
|
}
|
|
195
|
-
const UNIQUE_ID_PROVIDER = {
|
|
196
|
-
provide: UNIQUE_ID,
|
|
197
|
-
useFactory: uniqueIdFactory,
|
|
198
|
-
};
|
|
199
194
|
|
|
200
195
|
/*
|
|
201
196
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
@@ -535,16 +530,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
535
530
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
536
531
|
*/
|
|
537
532
|
class ClrAccordionPanel {
|
|
538
|
-
constructor(commonStrings, accordionService, ifExpandService
|
|
533
|
+
constructor(commonStrings, accordionService, ifExpandService) {
|
|
539
534
|
this.commonStrings = commonStrings;
|
|
540
535
|
this.accordionService = accordionService;
|
|
541
536
|
this.ifExpandService = ifExpandService;
|
|
542
|
-
this._id = _id;
|
|
543
537
|
this.disabled = false;
|
|
544
538
|
this.panelOpen = false;
|
|
545
539
|
this.panelOpenChange = new EventEmitter();
|
|
546
540
|
this.AccordionStatus = AccordionStatus;
|
|
547
541
|
this.isAccordion = true;
|
|
542
|
+
this._id = uniqueIdFactory();
|
|
548
543
|
}
|
|
549
544
|
get id() {
|
|
550
545
|
return this._id;
|
|
@@ -602,17 +597,12 @@ class ClrAccordionPanel {
|
|
|
602
597
|
}
|
|
603
598
|
}
|
|
604
599
|
}
|
|
605
|
-
ClrAccordionPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrAccordionPanel, deps: [{ token: ClrCommonStringsService }, { token: AccordionService }, { token: IfExpandService }
|
|
606
|
-
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
|
|
600
|
+
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 });
|
|
601
|
+
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 });
|
|
607
602
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrAccordionPanel, decorators: [{
|
|
608
603
|
type: Component,
|
|
609
|
-
args: [{ selector: 'clr-accordion-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: panelAnimation, providers: [IfExpandService
|
|
610
|
-
}], ctorParameters: function () {
|
|
611
|
-
return [{ type: ClrCommonStringsService }, { type: AccordionService }, { type: IfExpandService }, { type: undefined, decorators: [{
|
|
612
|
-
type: Inject,
|
|
613
|
-
args: [UNIQUE_ID]
|
|
614
|
-
}] }];
|
|
615
|
-
}, propDecorators: { disabled: [{
|
|
604
|
+
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" }]
|
|
605
|
+
}], ctorParameters: function () { return [{ type: ClrCommonStringsService }, { type: AccordionService }, { type: IfExpandService }]; }, propDecorators: { disabled: [{
|
|
616
606
|
type: Input,
|
|
617
607
|
args: ['clrAccordionPanelDisabled']
|
|
618
608
|
}], panelOpen: [{
|
|
@@ -1057,8 +1047,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1057
1047
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
1058
1048
|
*/
|
|
1059
1049
|
class ClrStepperPanel extends ClrAccordionPanel {
|
|
1060
|
-
constructor(platformId, commonStrings, formGroupName, ngModelGroup, stepperService, ifExpandService
|
|
1061
|
-
super(commonStrings, stepperService, ifExpandService
|
|
1050
|
+
constructor(platformId, commonStrings, formGroupName, ngModelGroup, stepperService, ifExpandService) {
|
|
1051
|
+
super(commonStrings, stepperService, ifExpandService);
|
|
1062
1052
|
this.platformId = platformId;
|
|
1063
1053
|
this.commonStrings = commonStrings;
|
|
1064
1054
|
this.formGroupName = formGroupName;
|
|
@@ -1104,11 +1094,11 @@ class ClrStepperPanel extends ClrAccordionPanel {
|
|
|
1104
1094
|
}
|
|
1105
1095
|
}
|
|
1106
1096
|
}
|
|
1107
|
-
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 }
|
|
1108
|
-
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
|
|
1097
|
+
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 });
|
|
1098
|
+
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 });
|
|
1109
1099
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStepperPanel, decorators: [{
|
|
1110
1100
|
type: Component,
|
|
1111
|
-
args: [{ selector: 'clr-stepper-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: stepAnimation, providers: [IfExpandService
|
|
1101
|
+
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" }]
|
|
1112
1102
|
}], ctorParameters: function () {
|
|
1113
1103
|
return [{ type: undefined, decorators: [{
|
|
1114
1104
|
type: Inject,
|
|
@@ -1117,10 +1107,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
1117
1107
|
type: Optional
|
|
1118
1108
|
}] }, { type: i1.NgModelGroup, decorators: [{
|
|
1119
1109
|
type: Optional
|
|
1120
|
-
}] }, { type: StepperService }, { type: IfExpandService }
|
|
1121
|
-
type: Inject,
|
|
1122
|
-
args: [UNIQUE_ID]
|
|
1123
|
-
}] }];
|
|
1110
|
+
}] }, { type: StepperService }, { type: IfExpandService }];
|
|
1124
1111
|
}, propDecorators: { headerButton: [{
|
|
1125
1112
|
type: ViewChild,
|
|
1126
1113
|
args: ['headerButton']
|
|
@@ -2630,12 +2617,12 @@ ClrPopoverPositions['left-bottom'] = {
|
|
|
2630
2617
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
2631
2618
|
*/
|
|
2632
2619
|
class ClrButtonGroup {
|
|
2633
|
-
constructor(buttonGroupNewService, toggleService,
|
|
2620
|
+
constructor(buttonGroupNewService, toggleService, commonStrings, destroy$) {
|
|
2634
2621
|
this.buttonGroupNewService = buttonGroupNewService;
|
|
2635
2622
|
this.toggleService = toggleService;
|
|
2636
|
-
this.popoverId = popoverId;
|
|
2637
2623
|
this.commonStrings = commonStrings;
|
|
2638
2624
|
this.destroy$ = destroy$;
|
|
2625
|
+
this.popoverId = uniqueIdFactory();
|
|
2639
2626
|
this.popoverPosition = ClrPopoverPositions['bottom-left'];
|
|
2640
2627
|
this.inlineButtons = [];
|
|
2641
2628
|
this.menuButtons = [];
|
|
@@ -2720,10 +2707,9 @@ class ClrButtonGroup {
|
|
|
2720
2707
|
this.popoverPosition = ClrPopoverPositions[this._menuPosition];
|
|
2721
2708
|
}
|
|
2722
2709
|
}
|
|
2723
|
-
ClrButtonGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrButtonGroup, deps: [{ token: ButtonInGroupService }, { token: ClrPopoverToggleService }, { token:
|
|
2710
|
+
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 });
|
|
2724
2711
|
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: [
|
|
2725
2712
|
ButtonInGroupService,
|
|
2726
|
-
UNIQUE_ID_PROVIDER,
|
|
2727
2713
|
ClrPopoverToggleService,
|
|
2728
2714
|
ClrPopoverEventsService,
|
|
2729
2715
|
ClrPopoverPositionService,
|
|
@@ -2733,18 +2719,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
2733
2719
|
type: Component,
|
|
2734
2720
|
args: [{ selector: 'clr-button-group', providers: [
|
|
2735
2721
|
ButtonInGroupService,
|
|
2736
|
-
UNIQUE_ID_PROVIDER,
|
|
2737
2722
|
ClrPopoverToggleService,
|
|
2738
2723
|
ClrPopoverEventsService,
|
|
2739
2724
|
ClrPopoverPositionService,
|
|
2740
2725
|
ClrDestroyService,
|
|
2741
2726
|
], 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" }]
|
|
2742
|
-
}], ctorParameters: function () {
|
|
2743
|
-
return [{ type: ButtonInGroupService }, { type: ClrPopoverToggleService }, { type: undefined, decorators: [{
|
|
2744
|
-
type: Inject,
|
|
2745
|
-
args: [UNIQUE_ID]
|
|
2746
|
-
}] }, { type: ClrCommonStringsService }, { type: ClrDestroyService }];
|
|
2747
|
-
}, propDecorators: { buttons: [{
|
|
2727
|
+
}], ctorParameters: function () { return [{ type: ButtonInGroupService }, { type: ClrPopoverToggleService }, { type: ClrCommonStringsService }, { type: ClrDestroyService }]; }, propDecorators: { buttons: [{
|
|
2748
2728
|
type: ContentChildren,
|
|
2749
2729
|
args: [ClrButton]
|
|
2750
2730
|
}], menuPosition: [{
|
|
@@ -3755,13 +3735,6 @@ class WrappedFormControl {
|
|
|
3755
3735
|
}
|
|
3756
3736
|
triggerValidation() {
|
|
3757
3737
|
if (this.ifControlStateService) {
|
|
3758
|
-
/**
|
|
3759
|
-
* For some reason the <input type="number" /> on blur ngControl doesn't set the control to 'touched'
|
|
3760
|
-
* This one is a workaround to provide the control to be 'touched' on blur and fix #4480.
|
|
3761
|
-
*/
|
|
3762
|
-
if (this.ngControl && !this.ngControl.touched) {
|
|
3763
|
-
this.markAsTouched();
|
|
3764
|
-
}
|
|
3765
3738
|
this.ifControlStateService.triggerStatusChange();
|
|
3766
3739
|
}
|
|
3767
3740
|
}
|
|
@@ -5257,20 +5230,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
5257
5230
|
*/
|
|
5258
5231
|
const POPOVER_HOST_ANCHOR = new InjectionToken('POPOVER_HOST_ANCHOR');
|
|
5259
5232
|
|
|
5260
|
-
/*
|
|
5261
|
-
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
5262
|
-
* This software is released under MIT license.
|
|
5263
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5264
|
-
*/
|
|
5265
|
-
// TODO: if we find more components that could use this, consider moving this to utils
|
|
5266
|
-
class AriaService {
|
|
5267
|
-
}
|
|
5268
|
-
AriaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AriaService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5269
|
-
AriaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AriaService });
|
|
5270
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AriaService, decorators: [{
|
|
5271
|
-
type: Injectable
|
|
5272
|
-
}] });
|
|
5273
|
-
|
|
5274
5233
|
/*
|
|
5275
5234
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
5276
5235
|
* This software is released under MIT license.
|
|
@@ -5656,7 +5615,6 @@ class FocusableItem {
|
|
|
5656
5615
|
*/
|
|
5657
5616
|
function customFocusableItemProvider(implementation) {
|
|
5658
5617
|
return [
|
|
5659
|
-
UNIQUE_ID_PROVIDER,
|
|
5660
5618
|
implementation,
|
|
5661
5619
|
{
|
|
5662
5620
|
provide: FocusableItem,
|
|
@@ -5769,8 +5727,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
5769
5727
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5770
5728
|
*/
|
|
5771
5729
|
class ComboboxFocusHandler {
|
|
5772
|
-
constructor(
|
|
5773
|
-
this.id = id;
|
|
5730
|
+
constructor(rendererFactory, toggleService, selectionService, platformId) {
|
|
5774
5731
|
this.toggleService = toggleService;
|
|
5775
5732
|
this.selectionService = selectionService;
|
|
5776
5733
|
this.platformId = platformId;
|
|
@@ -5948,15 +5905,12 @@ class ComboboxFocusHandler {
|
|
|
5948
5905
|
this.optionData = options;
|
|
5949
5906
|
}
|
|
5950
5907
|
}
|
|
5951
|
-
ComboboxFocusHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ComboboxFocusHandler, deps: [{ token:
|
|
5908
|
+
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 });
|
|
5952
5909
|
ComboboxFocusHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ComboboxFocusHandler });
|
|
5953
5910
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ComboboxFocusHandler, decorators: [{
|
|
5954
5911
|
type: Injectable
|
|
5955
5912
|
}], ctorParameters: function () {
|
|
5956
|
-
return [{ type: undefined, decorators: [{
|
|
5957
|
-
type: Inject,
|
|
5958
|
-
args: [UNIQUE_ID]
|
|
5959
|
-
}] }, { type: i0.RendererFactory2 }, { type: ClrPopoverToggleService }, { type: OptionSelectionService }, { type: undefined, decorators: [{
|
|
5913
|
+
return [{ type: i0.RendererFactory2 }, { type: ClrPopoverToggleService }, { type: OptionSelectionService }, { type: undefined, decorators: [{
|
|
5960
5914
|
type: Inject,
|
|
5961
5915
|
args: [PLATFORM_ID]
|
|
5962
5916
|
}] }];
|
|
@@ -5975,13 +5929,240 @@ class OptionData {
|
|
|
5975
5929
|
}
|
|
5976
5930
|
}
|
|
5977
5931
|
|
|
5932
|
+
/*
|
|
5933
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
5934
|
+
* This software is released under MIT license.
|
|
5935
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5936
|
+
*/
|
|
5937
|
+
class ClrOption {
|
|
5938
|
+
constructor(elRef, commonStrings, focusHandler, optionSelectionService) {
|
|
5939
|
+
this.elRef = elRef;
|
|
5940
|
+
this.commonStrings = commonStrings;
|
|
5941
|
+
this.focusHandler = focusHandler;
|
|
5942
|
+
this.optionSelectionService = optionSelectionService;
|
|
5943
|
+
// A proxy with only the necessary data to be used for a11y and the focus handler service.
|
|
5944
|
+
this.optionProxy = new OptionData(null, null);
|
|
5945
|
+
this.optionProxy.el = this.elRef.nativeElement;
|
|
5946
|
+
}
|
|
5947
|
+
set optionId(id) {
|
|
5948
|
+
this._id = id;
|
|
5949
|
+
this.optionProxy.id = this._id;
|
|
5950
|
+
}
|
|
5951
|
+
get optionId() {
|
|
5952
|
+
return this._id;
|
|
5953
|
+
}
|
|
5954
|
+
set value(value) {
|
|
5955
|
+
this._value = value;
|
|
5956
|
+
this.optionProxy.value = value;
|
|
5957
|
+
}
|
|
5958
|
+
get value() {
|
|
5959
|
+
return this._value;
|
|
5960
|
+
}
|
|
5961
|
+
get selected() {
|
|
5962
|
+
return (this.optionSelectionService.selectionModel && this.optionSelectionService.selectionModel.containsItem(this.value));
|
|
5963
|
+
}
|
|
5964
|
+
ngOnInit() {
|
|
5965
|
+
if (!this._id) {
|
|
5966
|
+
this._id = 'clr-option-' + uniqueIdFactory();
|
|
5967
|
+
this.optionProxy.id = this._id;
|
|
5968
|
+
}
|
|
5969
|
+
}
|
|
5970
|
+
onClick() {
|
|
5971
|
+
if (this.optionSelectionService.multiselectable) {
|
|
5972
|
+
this.optionSelectionService.toggle(this.value);
|
|
5973
|
+
}
|
|
5974
|
+
else {
|
|
5975
|
+
this.optionSelectionService.select(this.value);
|
|
5976
|
+
}
|
|
5977
|
+
// As the popover stays open in multi-select mode now, we have to take focus back to the input
|
|
5978
|
+
// This way we achieve two things:
|
|
5979
|
+
// - do not lose focus
|
|
5980
|
+
// - we're still able to use onBlur for "outside-click" handling
|
|
5981
|
+
this.focusHandler.focusInput();
|
|
5982
|
+
}
|
|
5983
|
+
get focusClass() {
|
|
5984
|
+
return this.focusHandler.pseudoFocus.containsItem(this.optionProxy);
|
|
5985
|
+
}
|
|
5986
|
+
}
|
|
5987
|
+
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 });
|
|
5988
|
+
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: `
|
|
5989
|
+
<ng-content></ng-content>
|
|
5990
|
+
<span *ngIf="selected" class="clr-sr-only">{{ commonStrings.keys.comboboxSelected }}</span>
|
|
5991
|
+
`, isInline: true, directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
5992
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrOption, decorators: [{
|
|
5993
|
+
type: Component,
|
|
5994
|
+
args: [{
|
|
5995
|
+
selector: 'clr-option',
|
|
5996
|
+
template: `
|
|
5997
|
+
<ng-content></ng-content>
|
|
5998
|
+
<span *ngIf="selected" class="clr-sr-only">{{ commonStrings.keys.comboboxSelected }}</span>
|
|
5999
|
+
`,
|
|
6000
|
+
host: {
|
|
6001
|
+
'[class.clr-combobox-option]': 'true',
|
|
6002
|
+
'[attr.role]': '"option"',
|
|
6003
|
+
// Do not remove. Or click-selection will not work.
|
|
6004
|
+
'[attr.tabindex]': '-1',
|
|
6005
|
+
'[attr.id]': 'optionId',
|
|
6006
|
+
},
|
|
6007
|
+
}]
|
|
6008
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ClrCommonStringsService }, { type: ComboboxFocusHandler }, { type: OptionSelectionService }]; }, propDecorators: { optionId: [{
|
|
6009
|
+
type: Input,
|
|
6010
|
+
args: ['id']
|
|
6011
|
+
}], value: [{
|
|
6012
|
+
type: Input,
|
|
6013
|
+
args: ['clrValue']
|
|
6014
|
+
}], selected: [{
|
|
6015
|
+
type: HostBinding,
|
|
6016
|
+
args: ['class.active']
|
|
6017
|
+
}], onClick: [{
|
|
6018
|
+
type: HostListener,
|
|
6019
|
+
args: ['click']
|
|
6020
|
+
}], focusClass: [{
|
|
6021
|
+
type: HostBinding,
|
|
6022
|
+
args: ['class.clr-focus']
|
|
6023
|
+
}] } });
|
|
6024
|
+
|
|
6025
|
+
/*
|
|
6026
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
6027
|
+
* This software is released under MIT license.
|
|
6028
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6029
|
+
*/
|
|
6030
|
+
let nbOptionsComponents = 0;
|
|
6031
|
+
class ClrOptions {
|
|
6032
|
+
constructor(optionSelectionService, id, el, commonStrings, focusHandler, toggleService, parentHost, document) {
|
|
6033
|
+
this.optionSelectionService = optionSelectionService;
|
|
6034
|
+
this.id = id;
|
|
6035
|
+
this.el = el;
|
|
6036
|
+
this.commonStrings = commonStrings;
|
|
6037
|
+
this.focusHandler = focusHandler;
|
|
6038
|
+
this.toggleService = toggleService;
|
|
6039
|
+
this.document = document;
|
|
6040
|
+
this.loading = false;
|
|
6041
|
+
this.subscriptions = [];
|
|
6042
|
+
if (!parentHost) {
|
|
6043
|
+
throw new Error('clr-options should only be used inside of a clr-combobox');
|
|
6044
|
+
}
|
|
6045
|
+
if (!this.optionsId) {
|
|
6046
|
+
this.optionsId = 'clr-options-' + nbOptionsComponents++;
|
|
6047
|
+
}
|
|
6048
|
+
}
|
|
6049
|
+
searchText(input) {
|
|
6050
|
+
return this.commonStrings.parse(this.commonStrings.keys.comboboxSearching, { INPUT: input });
|
|
6051
|
+
}
|
|
6052
|
+
/**
|
|
6053
|
+
* Tests if the list of options is empty, meaning it doesn't contain any items
|
|
6054
|
+
*/
|
|
6055
|
+
get emptyOptions() {
|
|
6056
|
+
return !this.optionSelectionService.loading && this.items.length === 0;
|
|
6057
|
+
}
|
|
6058
|
+
set items(items) {
|
|
6059
|
+
this._items = items;
|
|
6060
|
+
this.focusHandler.addOptionValues(this._items.map(option => option.optionProxy));
|
|
6061
|
+
}
|
|
6062
|
+
get items() {
|
|
6063
|
+
return this._items;
|
|
6064
|
+
}
|
|
6065
|
+
loadingStateChange(state) {
|
|
6066
|
+
this.loading = state === ClrLoadingState.LOADING;
|
|
6067
|
+
}
|
|
6068
|
+
ngAfterViewInit() {
|
|
6069
|
+
this.focusHandler.listbox = this.el.nativeElement;
|
|
6070
|
+
this.subscriptions.push(fromEvent(this.document, 'scroll', { capture: true }).subscribe(event => {
|
|
6071
|
+
if (this.toggleService.open &&
|
|
6072
|
+
event.target !== this.el.nativeElement &&
|
|
6073
|
+
event.target !== this.focusHandler.textInput) {
|
|
6074
|
+
this.toggleService.open = false;
|
|
6075
|
+
}
|
|
6076
|
+
}), this.items.changes.subscribe(() => {
|
|
6077
|
+
setTimeout(() => {
|
|
6078
|
+
this.focusHandler.focusFirstActive();
|
|
6079
|
+
});
|
|
6080
|
+
}));
|
|
6081
|
+
}
|
|
6082
|
+
ngOnDestroy() {
|
|
6083
|
+
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
6084
|
+
}
|
|
6085
|
+
}
|
|
6086
|
+
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 });
|
|
6087
|
+
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: `
|
|
6088
|
+
<div *ngIf="optionSelectionService.loading" class="clr-combobox-options-loading">
|
|
6089
|
+
<clr-spinner clrInline>
|
|
6090
|
+
{{ commonStrings.keys.loading }}
|
|
6091
|
+
</clr-spinner>
|
|
6092
|
+
<span class="clr-combobox-options-text">
|
|
6093
|
+
{{ searchText(optionSelectionService.currentInput) }}
|
|
6094
|
+
</span>
|
|
6095
|
+
</div>
|
|
6096
|
+
|
|
6097
|
+
<!-- Rendered if data set is empty -->
|
|
6098
|
+
<div *ngIf="emptyOptions">
|
|
6099
|
+
<span class="clr-combobox-options-empty-text">
|
|
6100
|
+
{{ commonStrings.keys.comboboxNoResults }}
|
|
6101
|
+
</span>
|
|
6102
|
+
</div>
|
|
6103
|
+
|
|
6104
|
+
<!--Option Groups and Options will be projected here-->
|
|
6105
|
+
<ng-content></ng-content>
|
|
6106
|
+
`, isInline: true, components: [{ type: ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
6107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrOptions, decorators: [{
|
|
6108
|
+
type: Component,
|
|
6109
|
+
args: [{
|
|
6110
|
+
selector: 'clr-options',
|
|
6111
|
+
template: `
|
|
6112
|
+
<div *ngIf="optionSelectionService.loading" class="clr-combobox-options-loading">
|
|
6113
|
+
<clr-spinner clrInline>
|
|
6114
|
+
{{ commonStrings.keys.loading }}
|
|
6115
|
+
</clr-spinner>
|
|
6116
|
+
<span class="clr-combobox-options-text">
|
|
6117
|
+
{{ searchText(optionSelectionService.currentInput) }}
|
|
6118
|
+
</span>
|
|
6119
|
+
</div>
|
|
6120
|
+
|
|
6121
|
+
<!-- Rendered if data set is empty -->
|
|
6122
|
+
<div *ngIf="emptyOptions">
|
|
6123
|
+
<span class="clr-combobox-options-empty-text">
|
|
6124
|
+
{{ commonStrings.keys.comboboxNoResults }}
|
|
6125
|
+
</span>
|
|
6126
|
+
</div>
|
|
6127
|
+
|
|
6128
|
+
<!--Option Groups and Options will be projected here-->
|
|
6129
|
+
<ng-content></ng-content>
|
|
6130
|
+
`,
|
|
6131
|
+
providers: [{ provide: LoadingListener, useExisting: ClrOptions }],
|
|
6132
|
+
host: {
|
|
6133
|
+
'[class.clr-combobox-options]': 'true',
|
|
6134
|
+
'[attr.role]': '"listbox"',
|
|
6135
|
+
'[id]': 'optionsId',
|
|
6136
|
+
},
|
|
6137
|
+
}]
|
|
6138
|
+
}], ctorParameters: function () {
|
|
6139
|
+
return [{ type: OptionSelectionService }, { type: undefined, decorators: [{
|
|
6140
|
+
type: Inject,
|
|
6141
|
+
args: [IF_ACTIVE_ID]
|
|
6142
|
+
}] }, { type: i0.ElementRef }, { type: ClrCommonStringsService }, { type: ComboboxFocusHandler }, { type: ClrPopoverToggleService }, { type: i0.ElementRef, decorators: [{
|
|
6143
|
+
type: Optional
|
|
6144
|
+
}, {
|
|
6145
|
+
type: Inject,
|
|
6146
|
+
args: [POPOVER_HOST_ANCHOR]
|
|
6147
|
+
}] }, { type: undefined, decorators: [{
|
|
6148
|
+
type: Inject,
|
|
6149
|
+
args: [DOCUMENT]
|
|
6150
|
+
}] }];
|
|
6151
|
+
}, propDecorators: { optionsId: [{
|
|
6152
|
+
type: Input,
|
|
6153
|
+
args: ['id']
|
|
6154
|
+
}], items: [{
|
|
6155
|
+
type: ContentChildren,
|
|
6156
|
+
args: [ClrOption]
|
|
6157
|
+
}] } });
|
|
6158
|
+
|
|
5978
6159
|
/*
|
|
5979
6160
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
5980
6161
|
* This software is released under MIT license.
|
|
5981
6162
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5982
6163
|
*/
|
|
5983
6164
|
class ClrCombobox extends WrappedFormControl {
|
|
5984
|
-
constructor(vcr, injector, control, renderer, el, optionSelectionService, commonStrings, toggleService, positionService, controlStateService, containerService, platformId,
|
|
6165
|
+
constructor(vcr, injector, control, renderer, el, optionSelectionService, commonStrings, toggleService, positionService, controlStateService, containerService, platformId, focusHandler, cdr) {
|
|
5985
6166
|
super(vcr, ClrComboboxContainer, injector, control, renderer, el);
|
|
5986
6167
|
this.control = control;
|
|
5987
6168
|
this.renderer = renderer;
|
|
@@ -5993,7 +6174,6 @@ class ClrCombobox extends WrappedFormControl {
|
|
|
5993
6174
|
this.controlStateService = controlStateService;
|
|
5994
6175
|
this.containerService = containerService;
|
|
5995
6176
|
this.platformId = platformId;
|
|
5996
|
-
this.ariaService = ariaService;
|
|
5997
6177
|
this.focusHandler = focusHandler;
|
|
5998
6178
|
this.cdr = cdr;
|
|
5999
6179
|
this.index = 1;
|
|
@@ -6081,10 +6261,12 @@ class ClrCombobox extends WrappedFormControl {
|
|
|
6081
6261
|
return this.optionSelectionService.multiselectable;
|
|
6082
6262
|
}
|
|
6083
6263
|
get ariaControls() {
|
|
6084
|
-
|
|
6264
|
+
var _a;
|
|
6265
|
+
return (_a = this.options) === null || _a === void 0 ? void 0 : _a.optionsId;
|
|
6085
6266
|
}
|
|
6086
6267
|
get ariaOwns() {
|
|
6087
|
-
|
|
6268
|
+
var _a;
|
|
6269
|
+
return (_a = this.options) === null || _a === void 0 ? void 0 : _a.optionsId;
|
|
6088
6270
|
}
|
|
6089
6271
|
get ariaDescribedBySelection() {
|
|
6090
6272
|
return 'selection-' + this.id;
|
|
@@ -6222,20 +6404,19 @@ class ClrCombobox extends WrappedFormControl {
|
|
|
6222
6404
|
this.el = this.textbox;
|
|
6223
6405
|
}
|
|
6224
6406
|
}
|
|
6225
|
-
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:
|
|
6407
|
+
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 });
|
|
6226
6408
|
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: [
|
|
6227
6409
|
ClrPopoverToggleService,
|
|
6228
6410
|
{ provide: POPOVER_HOST_ANCHOR, useExisting: ElementRef },
|
|
6229
6411
|
OptionSelectionService,
|
|
6230
6412
|
{ provide: LoadingListener, useExisting: ClrCombobox },
|
|
6231
6413
|
IF_ACTIVE_ID_PROVIDER,
|
|
6232
|
-
AriaService,
|
|
6233
6414
|
FOCUS_SERVICE_PROVIDER,
|
|
6234
6415
|
COMBOBOX_FOCUS_HANDLER_PROVIDER,
|
|
6235
6416
|
ClrPopoverToggleService,
|
|
6236
6417
|
ClrPopoverEventsService,
|
|
6237
6418
|
ClrPopoverPositionService,
|
|
6238
|
-
], 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"] }] });
|
|
6419
|
+
], 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"] }] });
|
|
6239
6420
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrCombobox, decorators: [{
|
|
6240
6421
|
type: Component,
|
|
6241
6422
|
args: [{ selector: 'clr-combobox', providers: [
|
|
@@ -6244,7 +6425,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
6244
6425
|
OptionSelectionService,
|
|
6245
6426
|
{ provide: LoadingListener, useExisting: ClrCombobox },
|
|
6246
6427
|
IF_ACTIVE_ID_PROVIDER,
|
|
6247
|
-
AriaService,
|
|
6248
6428
|
FOCUS_SERVICE_PROVIDER,
|
|
6249
6429
|
COMBOBOX_FOCUS_HANDLER_PROVIDER,
|
|
6250
6430
|
ClrPopoverToggleService,
|
|
@@ -6267,7 +6447,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
6267
6447
|
}] }, { type: undefined, decorators: [{
|
|
6268
6448
|
type: Inject,
|
|
6269
6449
|
args: [PLATFORM_ID]
|
|
6270
|
-
}] }, { type:
|
|
6450
|
+
}] }, { type: ComboboxFocusHandler }, { type: i0.ChangeDetectorRef }];
|
|
6271
6451
|
}, propDecorators: { textbox: [{
|
|
6272
6452
|
type: ViewChild,
|
|
6273
6453
|
args: ['textboxInput']
|
|
@@ -6275,126 +6455,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
6275
6455
|
type: ViewChild,
|
|
6276
6456
|
args: ['trigger']
|
|
6277
6457
|
}], optionSelected: [{
|
|
6278
|
-
type: ContentChild,
|
|
6279
|
-
args: [ClrOptionSelected]
|
|
6280
|
-
}],
|
|
6281
|
-
type:
|
|
6282
|
-
args: [
|
|
6283
|
-
}],
|
|
6284
|
-
type: Input,
|
|
6285
|
-
args: ['clrMulti']
|
|
6286
|
-
}], onKeyUp: [{
|
|
6287
|
-
type: HostListener,
|
|
6288
|
-
args: ['keydown', ['$event']]
|
|
6289
|
-
}], clrInputChange: [{
|
|
6290
|
-
type: Output,
|
|
6291
|
-
args: ['clrInputChange']
|
|
6292
|
-
}], clrOpenChange: [{
|
|
6293
|
-
type: Output,
|
|
6294
|
-
args: ['clrOpenChange']
|
|
6295
|
-
}], clrSelectionChange: [{
|
|
6296
|
-
type: Output,
|
|
6297
|
-
args: ['clrSelectionChange']
|
|
6298
|
-
}] } });
|
|
6299
|
-
|
|
6300
|
-
/*
|
|
6301
|
-
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
6302
|
-
* This software is released under MIT license.
|
|
6303
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6304
|
-
*/
|
|
6305
|
-
class ClrOption {
|
|
6306
|
-
constructor(elRef, commonStrings, focusHandler, optionSelectionService, autoId) {
|
|
6307
|
-
this.elRef = elRef;
|
|
6308
|
-
this.commonStrings = commonStrings;
|
|
6309
|
-
this.focusHandler = focusHandler;
|
|
6310
|
-
this.optionSelectionService = optionSelectionService;
|
|
6311
|
-
this.autoId = autoId;
|
|
6312
|
-
// A proxy with only the necessary data to be used for a11y and the focus handler service.
|
|
6313
|
-
this.optionProxy = new OptionData(null, null);
|
|
6314
|
-
this.optionProxy.el = this.elRef.nativeElement;
|
|
6315
|
-
}
|
|
6316
|
-
set optionId(id) {
|
|
6317
|
-
this._id = id;
|
|
6318
|
-
this.optionProxy.id = this._id;
|
|
6319
|
-
}
|
|
6320
|
-
get optionId() {
|
|
6321
|
-
return this._id;
|
|
6322
|
-
}
|
|
6323
|
-
set value(value) {
|
|
6324
|
-
this._value = value;
|
|
6325
|
-
this.optionProxy.value = value;
|
|
6326
|
-
}
|
|
6327
|
-
get value() {
|
|
6328
|
-
return this._value;
|
|
6329
|
-
}
|
|
6330
|
-
get selected() {
|
|
6331
|
-
return (this.optionSelectionService.selectionModel && this.optionSelectionService.selectionModel.containsItem(this.value));
|
|
6332
|
-
}
|
|
6333
|
-
ngOnInit() {
|
|
6334
|
-
if (!this._id) {
|
|
6335
|
-
this._id = 'clr-option-' + this.autoId;
|
|
6336
|
-
this.optionProxy.id = this._id;
|
|
6337
|
-
}
|
|
6338
|
-
}
|
|
6339
|
-
onClick() {
|
|
6340
|
-
if (this.optionSelectionService.multiselectable) {
|
|
6341
|
-
this.optionSelectionService.toggle(this.value);
|
|
6342
|
-
}
|
|
6343
|
-
else {
|
|
6344
|
-
this.optionSelectionService.select(this.value);
|
|
6345
|
-
}
|
|
6346
|
-
// As the popover stays open in multi-select mode now, we have to take focus back to the input
|
|
6347
|
-
// This way we achieve two things:
|
|
6348
|
-
// - do not lose focus
|
|
6349
|
-
// - we're still able to use onBlur for "outside-click" handling
|
|
6350
|
-
this.focusHandler.focusInput();
|
|
6351
|
-
}
|
|
6352
|
-
get focusClass() {
|
|
6353
|
-
return this.focusHandler.pseudoFocus.containsItem(this.optionProxy);
|
|
6354
|
-
}
|
|
6355
|
-
}
|
|
6356
|
-
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 });
|
|
6357
|
-
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: `
|
|
6358
|
-
<ng-content></ng-content>
|
|
6359
|
-
<span *ngIf="selected" class="clr-sr-only">{{ commonStrings.keys.comboboxSelected }}</span>
|
|
6360
|
-
`, isInline: true, directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
6361
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrOption, decorators: [{
|
|
6362
|
-
type: Component,
|
|
6363
|
-
args: [{
|
|
6364
|
-
selector: 'clr-option',
|
|
6365
|
-
template: `
|
|
6366
|
-
<ng-content></ng-content>
|
|
6367
|
-
<span *ngIf="selected" class="clr-sr-only">{{ commonStrings.keys.comboboxSelected }}</span>
|
|
6368
|
-
`,
|
|
6369
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
6370
|
-
host: {
|
|
6371
|
-
'[class.clr-combobox-option]': 'true',
|
|
6372
|
-
'[attr.role]': '"option"',
|
|
6373
|
-
// Do not remove. Or click-selection will not work.
|
|
6374
|
-
'[attr.tabindex]': '-1',
|
|
6375
|
-
'[attr.id]': 'optionId',
|
|
6376
|
-
},
|
|
6377
|
-
}]
|
|
6378
|
-
}], ctorParameters: function () {
|
|
6379
|
-
return [{ type: i0.ElementRef }, { type: ClrCommonStringsService }, { type: ComboboxFocusHandler }, { type: OptionSelectionService }, { type: undefined, decorators: [{
|
|
6380
|
-
type: Inject,
|
|
6381
|
-
args: [UNIQUE_ID]
|
|
6382
|
-
}] }];
|
|
6383
|
-
}, propDecorators: { optionId: [{
|
|
6458
|
+
type: ContentChild,
|
|
6459
|
+
args: [ClrOptionSelected]
|
|
6460
|
+
}], options: [{
|
|
6461
|
+
type: ContentChild,
|
|
6462
|
+
args: [ClrOptions]
|
|
6463
|
+
}], placeholder: [{
|
|
6384
6464
|
type: Input,
|
|
6385
|
-
args: ['
|
|
6386
|
-
}],
|
|
6465
|
+
args: ['placeholder']
|
|
6466
|
+
}], multiSelect: [{
|
|
6387
6467
|
type: Input,
|
|
6388
|
-
args: ['
|
|
6389
|
-
}],
|
|
6390
|
-
type: HostBinding,
|
|
6391
|
-
args: ['class.active']
|
|
6392
|
-
}], onClick: [{
|
|
6468
|
+
args: ['clrMulti']
|
|
6469
|
+
}], onKeyUp: [{
|
|
6393
6470
|
type: HostListener,
|
|
6394
|
-
args: ['
|
|
6395
|
-
}],
|
|
6396
|
-
type:
|
|
6397
|
-
args: ['
|
|
6471
|
+
args: ['keydown', ['$event']]
|
|
6472
|
+
}], clrInputChange: [{
|
|
6473
|
+
type: Output,
|
|
6474
|
+
args: ['clrInputChange']
|
|
6475
|
+
}], clrOpenChange: [{
|
|
6476
|
+
type: Output,
|
|
6477
|
+
args: ['clrOpenChange']
|
|
6478
|
+
}], clrSelectionChange: [{
|
|
6479
|
+
type: Output,
|
|
6480
|
+
args: ['clrSelectionChange']
|
|
6398
6481
|
}] } });
|
|
6399
6482
|
|
|
6400
6483
|
/*
|
|
@@ -6489,148 +6572,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
6489
6572
|
args: ['clrOptionItemsField']
|
|
6490
6573
|
}] } });
|
|
6491
6574
|
|
|
6492
|
-
/*
|
|
6493
|
-
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
6494
|
-
* This software is released under MIT license.
|
|
6495
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6496
|
-
*/
|
|
6497
|
-
let nbOptionsComponents = 0;
|
|
6498
|
-
class ClrOptions {
|
|
6499
|
-
constructor(optionSelectionService, id, ariaService, el, commonStrings, focusHandler, toggleService, parentHost, document) {
|
|
6500
|
-
this.optionSelectionService = optionSelectionService;
|
|
6501
|
-
this.id = id;
|
|
6502
|
-
this.ariaService = ariaService;
|
|
6503
|
-
this.el = el;
|
|
6504
|
-
this.commonStrings = commonStrings;
|
|
6505
|
-
this.focusHandler = focusHandler;
|
|
6506
|
-
this.toggleService = toggleService;
|
|
6507
|
-
this.document = document;
|
|
6508
|
-
this.loading = false;
|
|
6509
|
-
this.subscriptions = [];
|
|
6510
|
-
if (!parentHost) {
|
|
6511
|
-
throw new Error('clr-options should only be used inside of a clr-combobox');
|
|
6512
|
-
}
|
|
6513
|
-
if (!this.optionsId) {
|
|
6514
|
-
this.optionsId = 'clr-options-' + nbOptionsComponents++;
|
|
6515
|
-
}
|
|
6516
|
-
}
|
|
6517
|
-
searchText(input) {
|
|
6518
|
-
return this.commonStrings.parse(this.commonStrings.keys.comboboxSearching, { INPUT: input });
|
|
6519
|
-
}
|
|
6520
|
-
/**
|
|
6521
|
-
* Tests if the list of options is empty, meaning it doesn't contain any items
|
|
6522
|
-
*/
|
|
6523
|
-
get emptyOptions() {
|
|
6524
|
-
return !this.optionSelectionService.loading && this.items.length === 0;
|
|
6525
|
-
}
|
|
6526
|
-
set optionsId(id) {
|
|
6527
|
-
this.ariaService.ariaControls = id;
|
|
6528
|
-
this.ariaService.ariaOwns = id;
|
|
6529
|
-
}
|
|
6530
|
-
get optionsId() {
|
|
6531
|
-
return this.ariaService.ariaControls;
|
|
6532
|
-
}
|
|
6533
|
-
set items(items) {
|
|
6534
|
-
this._items = items;
|
|
6535
|
-
this.focusHandler.addOptionValues(this._items.map(option => option.optionProxy));
|
|
6536
|
-
}
|
|
6537
|
-
get items() {
|
|
6538
|
-
return this._items;
|
|
6539
|
-
}
|
|
6540
|
-
loadingStateChange(state) {
|
|
6541
|
-
this.loading = state === ClrLoadingState.LOADING;
|
|
6542
|
-
}
|
|
6543
|
-
ngAfterViewInit() {
|
|
6544
|
-
this.focusHandler.listbox = this.el.nativeElement;
|
|
6545
|
-
this.subscriptions.push(fromEvent(this.document, 'scroll', { capture: true }).subscribe(event => {
|
|
6546
|
-
if (this.toggleService.open &&
|
|
6547
|
-
event.target !== this.el.nativeElement &&
|
|
6548
|
-
event.target !== this.focusHandler.textInput) {
|
|
6549
|
-
this.toggleService.open = false;
|
|
6550
|
-
}
|
|
6551
|
-
}), this.items.changes.subscribe(() => {
|
|
6552
|
-
setTimeout(() => {
|
|
6553
|
-
this.focusHandler.focusFirstActive();
|
|
6554
|
-
});
|
|
6555
|
-
}));
|
|
6556
|
-
}
|
|
6557
|
-
ngOnDestroy() {
|
|
6558
|
-
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
6559
|
-
}
|
|
6560
|
-
}
|
|
6561
|
-
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 });
|
|
6562
|
-
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: `
|
|
6563
|
-
<div *ngIf="optionSelectionService.loading" class="clr-combobox-options-loading">
|
|
6564
|
-
<clr-spinner clrInline>
|
|
6565
|
-
{{ commonStrings.keys.loading }}
|
|
6566
|
-
</clr-spinner>
|
|
6567
|
-
<span class="clr-combobox-options-text">
|
|
6568
|
-
{{ searchText(optionSelectionService.currentInput) }}
|
|
6569
|
-
</span>
|
|
6570
|
-
</div>
|
|
6571
|
-
|
|
6572
|
-
<!-- Rendered if data set is empty -->
|
|
6573
|
-
<div *ngIf="emptyOptions">
|
|
6574
|
-
<span class="clr-combobox-options-empty-text">
|
|
6575
|
-
{{ commonStrings.keys.comboboxNoResults }}
|
|
6576
|
-
</span>
|
|
6577
|
-
</div>
|
|
6578
|
-
|
|
6579
|
-
<!--Option Groups and Options will be projected here-->
|
|
6580
|
-
<ng-content></ng-content>
|
|
6581
|
-
`, isInline: true, components: [{ type: ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
6582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrOptions, decorators: [{
|
|
6583
|
-
type: Component,
|
|
6584
|
-
args: [{
|
|
6585
|
-
selector: 'clr-options',
|
|
6586
|
-
template: `
|
|
6587
|
-
<div *ngIf="optionSelectionService.loading" class="clr-combobox-options-loading">
|
|
6588
|
-
<clr-spinner clrInline>
|
|
6589
|
-
{{ commonStrings.keys.loading }}
|
|
6590
|
-
</clr-spinner>
|
|
6591
|
-
<span class="clr-combobox-options-text">
|
|
6592
|
-
{{ searchText(optionSelectionService.currentInput) }}
|
|
6593
|
-
</span>
|
|
6594
|
-
</div>
|
|
6595
|
-
|
|
6596
|
-
<!-- Rendered if data set is empty -->
|
|
6597
|
-
<div *ngIf="emptyOptions">
|
|
6598
|
-
<span class="clr-combobox-options-empty-text">
|
|
6599
|
-
{{ commonStrings.keys.comboboxNoResults }}
|
|
6600
|
-
</span>
|
|
6601
|
-
</div>
|
|
6602
|
-
|
|
6603
|
-
<!--Option Groups and Options will be projected here-->
|
|
6604
|
-
<ng-content></ng-content>
|
|
6605
|
-
`,
|
|
6606
|
-
providers: [{ provide: LoadingListener, useExisting: ClrOptions }],
|
|
6607
|
-
host: {
|
|
6608
|
-
'[class.clr-combobox-options]': 'true',
|
|
6609
|
-
'[attr.role]': '"listbox"',
|
|
6610
|
-
'[id]': 'optionsId',
|
|
6611
|
-
},
|
|
6612
|
-
}]
|
|
6613
|
-
}], ctorParameters: function () {
|
|
6614
|
-
return [{ type: OptionSelectionService }, { type: undefined, decorators: [{
|
|
6615
|
-
type: Inject,
|
|
6616
|
-
args: [IF_ACTIVE_ID]
|
|
6617
|
-
}] }, { type: AriaService }, { type: i0.ElementRef }, { type: ClrCommonStringsService }, { type: ComboboxFocusHandler }, { type: ClrPopoverToggleService }, { type: i0.ElementRef, decorators: [{
|
|
6618
|
-
type: Optional
|
|
6619
|
-
}, {
|
|
6620
|
-
type: Inject,
|
|
6621
|
-
args: [POPOVER_HOST_ANCHOR]
|
|
6622
|
-
}] }, { type: undefined, decorators: [{
|
|
6623
|
-
type: Inject,
|
|
6624
|
-
args: [DOCUMENT]
|
|
6625
|
-
}] }];
|
|
6626
|
-
}, propDecorators: { optionsId: [{
|
|
6627
|
-
type: Input,
|
|
6628
|
-
args: ['id']
|
|
6629
|
-
}], items: [{
|
|
6630
|
-
type: ContentChildren,
|
|
6631
|
-
args: [ClrOption]
|
|
6632
|
-
}] } });
|
|
6633
|
-
|
|
6634
6575
|
/*
|
|
6635
6576
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
6636
6577
|
* This software is released under MIT license.
|
|
@@ -8647,7 +8588,6 @@ class ClrYearpicker {
|
|
|
8647
8588
|
this.commonStrings = commonStrings;
|
|
8648
8589
|
this.yearRangeModel = new YearRangeModel(this.calendarYear);
|
|
8649
8590
|
this._focusedYear = this.calendarYear;
|
|
8650
|
-
this.updateRange(this.yearRangeModel);
|
|
8651
8591
|
}
|
|
8652
8592
|
/**
|
|
8653
8593
|
* Gets the year which the user is currently on.
|
|
@@ -8684,7 +8624,6 @@ class ClrYearpicker {
|
|
|
8684
8624
|
*/
|
|
8685
8625
|
previousDecade() {
|
|
8686
8626
|
this.yearRangeModel = this.yearRangeModel.previousDecade();
|
|
8687
|
-
this.updateRange(this.yearRangeModel);
|
|
8688
8627
|
// Year in the yearpicker is not focused because while navigating to a different decade,
|
|
8689
8628
|
// you want the focus to remain on the decade switcher arrows.
|
|
8690
8629
|
}
|
|
@@ -8696,14 +8635,12 @@ class ClrYearpicker {
|
|
|
8696
8635
|
this.yearRangeModel = this.yearRangeModel.currentDecade();
|
|
8697
8636
|
}
|
|
8698
8637
|
this._datepickerFocusService.focusCell(this._elRef);
|
|
8699
|
-
this.updateRange(this.yearRangeModel);
|
|
8700
8638
|
}
|
|
8701
8639
|
/**
|
|
8702
8640
|
* Updates the YearRangeModel to the next decade.
|
|
8703
8641
|
*/
|
|
8704
8642
|
nextDecade() {
|
|
8705
8643
|
this.yearRangeModel = this.yearRangeModel.nextDecade();
|
|
8706
|
-
this.updateRange(this.yearRangeModel);
|
|
8707
8644
|
// Year in the yearpicker is not focused because while navigating to a different decade,
|
|
8708
8645
|
// you want the focus to remain on the decade switcher arrows.
|
|
8709
8646
|
}
|
|
@@ -8748,11 +8685,6 @@ class ClrYearpicker {
|
|
|
8748
8685
|
}
|
|
8749
8686
|
}
|
|
8750
8687
|
}
|
|
8751
|
-
updateRange(yrm) {
|
|
8752
|
-
const floor = yrm.yearRange[0];
|
|
8753
|
-
const ceil = yrm.yearRange[yrm.yearRange.length - 1];
|
|
8754
|
-
this.decadeRange = `${floor} to ${ceil}`;
|
|
8755
|
-
}
|
|
8756
8688
|
/**
|
|
8757
8689
|
* Focuses on the current calendar year when the View is initialized.
|
|
8758
8690
|
*/
|
|
@@ -9475,6 +9407,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
9475
9407
|
args: ['disabled']
|
|
9476
9408
|
}] } });
|
|
9477
9409
|
|
|
9410
|
+
/*
|
|
9411
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
9412
|
+
* This software is released under MIT license.
|
|
9413
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
9414
|
+
*/
|
|
9415
|
+
class ClrDateInputValidator {
|
|
9416
|
+
constructor(dateIOService) {
|
|
9417
|
+
this.dateIOService = dateIOService;
|
|
9418
|
+
}
|
|
9419
|
+
validate(control) {
|
|
9420
|
+
if (this.dateIOService) {
|
|
9421
|
+
const value = this.dateIOService.getDateValueFromDateString(control.value);
|
|
9422
|
+
const minDate = this.dateIOService.disabledDates.minDate.toDate();
|
|
9423
|
+
const maxDate = this.dateIOService.disabledDates.maxDate.toDate();
|
|
9424
|
+
if (value && value < this.dateIOService.disabledDates.minDate.toDate()) {
|
|
9425
|
+
return { min: { min: minDate.toLocaleDateString(), actual: value.toLocaleDateString() } };
|
|
9426
|
+
}
|
|
9427
|
+
else if (value && value > this.dateIOService.disabledDates.maxDate.toDate()) {
|
|
9428
|
+
return { max: { max: maxDate.toLocaleDateString(), actual: value.toLocaleDateString() } };
|
|
9429
|
+
}
|
|
9430
|
+
}
|
|
9431
|
+
return null;
|
|
9432
|
+
}
|
|
9433
|
+
}
|
|
9434
|
+
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 });
|
|
9435
|
+
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 });
|
|
9436
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDateInputValidator, decorators: [{
|
|
9437
|
+
type: Directive,
|
|
9438
|
+
args: [{
|
|
9439
|
+
selector: '[clrDate]',
|
|
9440
|
+
providers: [{ provide: NG_VALIDATORS, useExisting: ClrDateInputValidator, multi: true }],
|
|
9441
|
+
}]
|
|
9442
|
+
}], ctorParameters: function () {
|
|
9443
|
+
return [{ type: DateIOService, decorators: [{
|
|
9444
|
+
type: Optional
|
|
9445
|
+
}] }];
|
|
9446
|
+
} });
|
|
9447
|
+
|
|
9478
9448
|
/*
|
|
9479
9449
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
9480
9450
|
* This software is released under MIT license.
|
|
@@ -9484,6 +9454,7 @@ const CLR_DATEPICKER_DIRECTIVES = [
|
|
|
9484
9454
|
ClrDay,
|
|
9485
9455
|
ClrDateContainer,
|
|
9486
9456
|
ClrDateInput,
|
|
9457
|
+
ClrDateInputValidator,
|
|
9487
9458
|
ClrDatepickerViewManager,
|
|
9488
9459
|
ClrMonthpicker,
|
|
9489
9460
|
ClrYearpicker,
|
|
@@ -9499,6 +9470,7 @@ ClrDatepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", vers
|
|
|
9499
9470
|
ClrDatepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatepickerModule, declarations: [ClrDay,
|
|
9500
9471
|
ClrDateContainer,
|
|
9501
9472
|
ClrDateInput,
|
|
9473
|
+
ClrDateInputValidator,
|
|
9502
9474
|
ClrDatepickerViewManager,
|
|
9503
9475
|
ClrMonthpicker,
|
|
9504
9476
|
ClrYearpicker,
|
|
@@ -9512,6 +9484,7 @@ ClrDatepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
|
|
|
9512
9484
|
ClrCommonFormsModule], exports: [ClrDay,
|
|
9513
9485
|
ClrDateContainer,
|
|
9514
9486
|
ClrDateInput,
|
|
9487
|
+
ClrDateInputValidator,
|
|
9515
9488
|
ClrDatepickerViewManager,
|
|
9516
9489
|
ClrMonthpicker,
|
|
9517
9490
|
ClrYearpicker,
|
|
@@ -12105,14 +12078,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
12105
12078
|
* since it can be anything (not just a text input).
|
|
12106
12079
|
*/
|
|
12107
12080
|
class ClrDatagridFilter extends DatagridFilterRegistrar {
|
|
12108
|
-
constructor(_filters, commonStrings, smartToggleService, platformId
|
|
12081
|
+
constructor(_filters, commonStrings, smartToggleService, platformId) {
|
|
12109
12082
|
super(_filters);
|
|
12110
12083
|
this.commonStrings = commonStrings;
|
|
12111
12084
|
this.smartToggleService = smartToggleService;
|
|
12112
12085
|
this.platformId = platformId;
|
|
12113
|
-
this.popoverId = popoverId;
|
|
12114
12086
|
this.subs = [];
|
|
12115
12087
|
this.ariaExpanded = false;
|
|
12088
|
+
this.popoverId = uniqueIdFactory();
|
|
12116
12089
|
// Smart Popover
|
|
12117
12090
|
this.smartPosition = {
|
|
12118
12091
|
axis: ClrAxis.VERTICAL,
|
|
@@ -12156,8 +12129,8 @@ class ClrDatagridFilter extends DatagridFilterRegistrar {
|
|
|
12156
12129
|
this.subs.forEach(sub => sub.unsubscribe());
|
|
12157
12130
|
}
|
|
12158
12131
|
}
|
|
12159
|
-
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 }
|
|
12160
|
-
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 }
|
|
12132
|
+
ClrDatagridFilter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagridFilter, deps: [{ token: FiltersProvider }, { token: ClrCommonStringsService }, { token: ClrPopoverToggleService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
12133
|
+
ClrDatagridFilter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrDatagridFilter, selector: "clr-dg-filter", inputs: { open: ["clrDgFilterOpen", "open"], customFilter: ["clrDgFilter", "customFilter"] }, outputs: { openChange: "clrDgFilterOpenChange" }, providers: [{ provide: CustomFilter, useExisting: ClrDatagridFilter }], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
|
|
12161
12134
|
<button
|
|
12162
12135
|
class="datagrid-filter-toggle"
|
|
12163
12136
|
type="button"
|
|
@@ -12199,7 +12172,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
12199
12172
|
args: [{
|
|
12200
12173
|
selector: 'clr-dg-filter',
|
|
12201
12174
|
// We register this component as a CustomFilter, for the parent column to detect it.
|
|
12202
|
-
providers: [{ provide: CustomFilter, useExisting: ClrDatagridFilter }
|
|
12175
|
+
providers: [{ provide: CustomFilter, useExisting: ClrDatagridFilter }],
|
|
12203
12176
|
template: `
|
|
12204
12177
|
<button
|
|
12205
12178
|
class="datagrid-filter-toggle"
|
|
@@ -12242,9 +12215,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
12242
12215
|
return [{ type: FiltersProvider }, { type: ClrCommonStringsService }, { type: ClrPopoverToggleService }, { type: undefined, decorators: [{
|
|
12243
12216
|
type: Inject,
|
|
12244
12217
|
args: [PLATFORM_ID]
|
|
12245
|
-
}] }, { type: undefined, decorators: [{
|
|
12246
|
-
type: Inject,
|
|
12247
|
-
args: [UNIQUE_ID]
|
|
12248
12218
|
}] }];
|
|
12249
12219
|
}, propDecorators: { anchor: [{
|
|
12250
12220
|
type: ViewChild,
|
|
@@ -13391,14 +13361,14 @@ const KEYBOARD_RESIZE_LENGTH = 12;
|
|
|
13391
13361
|
class ClrDatagridColumnSeparator {
|
|
13392
13362
|
// Every column draggable separator should have its own unique ID
|
|
13393
13363
|
// in order to not conflict with other draggables/droppables.
|
|
13394
|
-
constructor(columnResizerService, renderer, ngZone, tableSizeService, commonString, document
|
|
13364
|
+
constructor(columnResizerService, renderer, ngZone, tableSizeService, commonString, document) {
|
|
13395
13365
|
this.columnResizerService = columnResizerService;
|
|
13396
13366
|
this.renderer = renderer;
|
|
13397
13367
|
this.ngZone = ngZone;
|
|
13398
13368
|
this.tableSizeService = tableSizeService;
|
|
13399
13369
|
this.commonString = commonString;
|
|
13400
13370
|
this.document = document;
|
|
13401
|
-
this.columnSeparatorId =
|
|
13371
|
+
this.columnSeparatorId = uniqueIdFactory();
|
|
13402
13372
|
this.resizeStartedOnKeyDown = false;
|
|
13403
13373
|
this.unlisteners = [];
|
|
13404
13374
|
}
|
|
@@ -13484,8 +13454,8 @@ class ClrDatagridColumnSeparator {
|
|
|
13484
13454
|
this.unlisteners.forEach(unlistener => unlistener());
|
|
13485
13455
|
}
|
|
13486
13456
|
}
|
|
13487
|
-
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 }
|
|
13488
|
-
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" } },
|
|
13457
|
+
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 });
|
|
13458
|
+
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: `
|
|
13489
13459
|
<button
|
|
13490
13460
|
type="button"
|
|
13491
13461
|
class="datagrid-column-handle"
|
|
@@ -13528,15 +13498,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
13528
13498
|
host: {
|
|
13529
13499
|
'[class.datagrid-column-separator]': 'true',
|
|
13530
13500
|
},
|
|
13531
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
13532
13501
|
}]
|
|
13533
13502
|
}], ctorParameters: function () {
|
|
13534
13503
|
return [{ type: ColumnResizerService }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: TableSizeService }, { type: ClrCommonStringsService }, { type: undefined, decorators: [{
|
|
13535
13504
|
type: Inject,
|
|
13536
13505
|
args: [DOCUMENT]
|
|
13537
|
-
}] }, { type: undefined, decorators: [{
|
|
13538
|
-
type: Inject,
|
|
13539
|
-
args: [UNIQUE_ID]
|
|
13540
13506
|
}] }];
|
|
13541
13507
|
}, propDecorators: { resizeTrackerRef: [{
|
|
13542
13508
|
type: ViewChild,
|
|
@@ -14640,10 +14606,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
14640
14606
|
*/
|
|
14641
14607
|
let nbSelection = 0;
|
|
14642
14608
|
class Selection {
|
|
14643
|
-
constructor(_items, _filters
|
|
14609
|
+
constructor(_items, _filters) {
|
|
14644
14610
|
this._items = _items;
|
|
14645
14611
|
this._filters = _filters;
|
|
14646
|
-
this._zone = _zone;
|
|
14647
14612
|
this.preserveSelection = false;
|
|
14648
14613
|
this.prevSelectionRefs = []; // Refs of selected items
|
|
14649
14614
|
this.lockedRefs = []; // Ref of locked items
|
|
@@ -14998,11 +14963,11 @@ class Selection {
|
|
|
14998
14963
|
}
|
|
14999
14964
|
}
|
|
15000
14965
|
}
|
|
15001
|
-
Selection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Selection, deps: [{ token: Items }, { token: FiltersProvider }
|
|
14966
|
+
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 });
|
|
15002
14967
|
Selection.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Selection });
|
|
15003
14968
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Selection, decorators: [{
|
|
15004
14969
|
type: Injectable
|
|
15005
|
-
}], ctorParameters: function () { return [{ type: Items }, { type: FiltersProvider }
|
|
14970
|
+
}], ctorParameters: function () { return [{ type: Items }, { type: FiltersProvider }]; } });
|
|
15006
14971
|
|
|
15007
14972
|
/*
|
|
15008
14973
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
@@ -15620,7 +15585,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15620
15585
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
15621
15586
|
*/
|
|
15622
15587
|
class ClrDatagrid {
|
|
15623
|
-
constructor(organizer, items, expandableRows, selection, rowActionService, stateProvider, displayMode, renderer, detailService,
|
|
15588
|
+
constructor(organizer, items, expandableRows, selection, rowActionService, stateProvider, displayMode, renderer, detailService, document, el, page, commonStrings, columnsService, keyNavigation, zone) {
|
|
15624
15589
|
this.organizer = organizer;
|
|
15625
15590
|
this.items = items;
|
|
15626
15591
|
this.expandableRows = expandableRows;
|
|
@@ -15654,6 +15619,7 @@ class ClrDatagrid {
|
|
|
15654
15619
|
* Subscriptions to all the services and queries changes
|
|
15655
15620
|
*/
|
|
15656
15621
|
this._subscriptions = [];
|
|
15622
|
+
const datagridId = uniqueIdFactory();
|
|
15657
15623
|
this.selectAllId = 'clr-dg-select-all-' + datagridId;
|
|
15658
15624
|
this.detailService.id = datagridId;
|
|
15659
15625
|
}
|
|
@@ -15842,7 +15808,7 @@ class ClrDatagrid {
|
|
|
15842
15808
|
this.organizer.resize();
|
|
15843
15809
|
}
|
|
15844
15810
|
}
|
|
15845
|
-
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:
|
|
15811
|
+
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 });
|
|
15846
15812
|
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: [
|
|
15847
15813
|
Selection,
|
|
15848
15814
|
Sort,
|
|
@@ -15854,7 +15820,6 @@ ClrDatagrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
|
15854
15820
|
ExpandableRowsCount,
|
|
15855
15821
|
StateDebouncer,
|
|
15856
15822
|
DetailService,
|
|
15857
|
-
UNIQUE_ID_PROVIDER,
|
|
15858
15823
|
StateProvider,
|
|
15859
15824
|
TableSizeService,
|
|
15860
15825
|
ColumnsService,
|
|
@@ -15874,7 +15839,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15874
15839
|
ExpandableRowsCount,
|
|
15875
15840
|
StateDebouncer,
|
|
15876
15841
|
DetailService,
|
|
15877
|
-
UNIQUE_ID_PROVIDER,
|
|
15878
15842
|
StateProvider,
|
|
15879
15843
|
TableSizeService,
|
|
15880
15844
|
ColumnsService,
|
|
@@ -15886,9 +15850,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15886
15850
|
}, 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" }]
|
|
15887
15851
|
}], ctorParameters: function () {
|
|
15888
15852
|
return [{ type: DatagridRenderOrganizer }, { type: Items }, { type: ExpandableRowsCount }, { type: Selection }, { type: RowActionService }, { type: StateProvider }, { type: DisplayModeService }, { type: i0.Renderer2 }, { type: DetailService }, { type: undefined, decorators: [{
|
|
15889
|
-
type: Inject,
|
|
15890
|
-
args: [UNIQUE_ID]
|
|
15891
|
-
}] }, { type: undefined, decorators: [{
|
|
15892
15853
|
type: Inject,
|
|
15893
15854
|
args: [DOCUMENT]
|
|
15894
15855
|
}] }, { type: i0.ElementRef }, { type: Page }, { type: ClrCommonStringsService }, { type: ColumnsService }, { type: KeyNavigationGridController }, { type: i0.NgZone }];
|
|
@@ -15986,13 +15947,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
15986
15947
|
*/
|
|
15987
15948
|
let clrDgActionId = 0;
|
|
15988
15949
|
class ClrDatagridActionOverflow {
|
|
15989
|
-
constructor(rowActionService, commonStrings, platformId, zone, smartToggleService
|
|
15950
|
+
constructor(rowActionService, commonStrings, platformId, zone, smartToggleService) {
|
|
15990
15951
|
this.rowActionService = rowActionService;
|
|
15991
15952
|
this.commonStrings = commonStrings;
|
|
15992
15953
|
this.platformId = platformId;
|
|
15993
15954
|
this.zone = zone;
|
|
15994
15955
|
this.smartToggleService = smartToggleService;
|
|
15995
|
-
this.popoverId = popoverId;
|
|
15996
15956
|
this.subscriptions = [];
|
|
15997
15957
|
this.smartPosition = {
|
|
15998
15958
|
axis: ClrAxis.HORIZONTAL,
|
|
@@ -16000,6 +15960,7 @@ class ClrDatagridActionOverflow {
|
|
|
16000
15960
|
anchor: ClrAlignment.CENTER,
|
|
16001
15961
|
content: ClrAlignment.CENTER,
|
|
16002
15962
|
};
|
|
15963
|
+
this.popoverId = uniqueIdFactory();
|
|
16003
15964
|
this._open = false;
|
|
16004
15965
|
this.openChange = new EventEmitter(false);
|
|
16005
15966
|
this.rowActionService.register();
|
|
@@ -16045,8 +16006,8 @@ class ClrDatagridActionOverflow {
|
|
|
16045
16006
|
}
|
|
16046
16007
|
}
|
|
16047
16008
|
}
|
|
16048
|
-
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 }
|
|
16049
|
-
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: [
|
|
16009
|
+
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 });
|
|
16010
|
+
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: `
|
|
16050
16011
|
<button
|
|
16051
16012
|
class="datagrid-action-toggle"
|
|
16052
16013
|
type="button"
|
|
@@ -16079,7 +16040,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
16079
16040
|
type: Component,
|
|
16080
16041
|
args: [{
|
|
16081
16042
|
selector: 'clr-dg-action-overflow',
|
|
16082
|
-
providers: [
|
|
16043
|
+
providers: [ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService],
|
|
16083
16044
|
template: `
|
|
16084
16045
|
<button
|
|
16085
16046
|
class="datagrid-action-toggle"
|
|
@@ -16114,10 +16075,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
16114
16075
|
return [{ type: RowActionService }, { type: ClrCommonStringsService }, { type: undefined, decorators: [{
|
|
16115
16076
|
type: Inject,
|
|
16116
16077
|
args: [PLATFORM_ID]
|
|
16117
|
-
}] }, { type: i0.NgZone }, { type: ClrPopoverToggleService }
|
|
16118
|
-
type: Inject,
|
|
16119
|
-
args: [UNIQUE_ID]
|
|
16120
|
-
}] }];
|
|
16078
|
+
}] }, { type: i0.NgZone }, { type: ClrPopoverToggleService }];
|
|
16121
16079
|
}, propDecorators: { keyFocus: [{
|
|
16122
16080
|
type: ViewChild,
|
|
16123
16081
|
args: [ClrKeyFocus]
|
|
@@ -16244,14 +16202,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
16244
16202
|
*/
|
|
16245
16203
|
/** @deprecated since 2.0, remove in 3.0 */
|
|
16246
16204
|
class ClrDatagridColumnToggle {
|
|
16247
|
-
constructor(commonStrings, columnsService,
|
|
16205
|
+
constructor(commonStrings, columnsService, popoverToggleService) {
|
|
16248
16206
|
this.commonStrings = commonStrings;
|
|
16249
16207
|
this.columnsService = columnsService;
|
|
16250
|
-
this.
|
|
16251
|
-
this.platformId = platformId;
|
|
16252
|
-
this.zone = zone;
|
|
16253
|
-
this.popoverId = popoverId;
|
|
16254
|
-
this.popoverToggleService = popoverToggleService;
|
|
16208
|
+
this.popoverId = uniqueIdFactory();
|
|
16255
16209
|
// Smart Popover
|
|
16256
16210
|
this.smartPosition = {
|
|
16257
16211
|
axis: ClrAxis.VERTICAL,
|
|
@@ -16298,8 +16252,8 @@ class ClrDatagridColumnToggle {
|
|
|
16298
16252
|
return index;
|
|
16299
16253
|
}
|
|
16300
16254
|
}
|
|
16301
|
-
ClrDatagridColumnToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDatagridColumnToggle, deps: [{ token: ClrCommonStringsService }, { token: ColumnsService }, { token:
|
|
16302
|
-
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: [
|
|
16255
|
+
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 });
|
|
16256
|
+
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: `
|
|
16303
16257
|
<button
|
|
16304
16258
|
role="button"
|
|
16305
16259
|
type="button"
|
|
@@ -16428,20 +16382,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
16428
16382
|
</div>
|
|
16429
16383
|
`,
|
|
16430
16384
|
host: { '[class.column-switch-wrapper]': 'true', '[class.active]': 'openState' },
|
|
16431
|
-
providers: [
|
|
16385
|
+
providers: [ClrPopoverEventsService, ClrPopoverPositionService, ClrPopoverToggleService],
|
|
16432
16386
|
}]
|
|
16433
|
-
}], ctorParameters: function () {
|
|
16434
|
-
return [{ type: ClrCommonStringsService }, { type: ColumnsService }, { type: undefined, decorators: [{
|
|
16435
|
-
type: Inject,
|
|
16436
|
-
args: [UNIQUE_ID]
|
|
16437
|
-
}] }, { type: undefined, decorators: [{
|
|
16438
|
-
type: Inject,
|
|
16439
|
-
args: [PLATFORM_ID]
|
|
16440
|
-
}] }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
16441
|
-
type: Inject,
|
|
16442
|
-
args: [UNIQUE_ID]
|
|
16443
|
-
}] }, { type: ClrPopoverToggleService }];
|
|
16444
|
-
}, propDecorators: { customToggleTitle: [{
|
|
16387
|
+
}], ctorParameters: function () { return [{ type: ClrCommonStringsService }, { type: ColumnsService }, { type: ClrPopoverToggleService }]; }, propDecorators: { customToggleTitle: [{
|
|
16445
16388
|
type: ContentChild,
|
|
16446
16389
|
args: [ClrDatagridColumnToggleTitle]
|
|
16447
16390
|
}], customToggleButton: [{
|
|
@@ -17287,12 +17230,21 @@ class ClrIfDetail {
|
|
|
17287
17230
|
}
|
|
17288
17231
|
togglePanel(showPanel) {
|
|
17289
17232
|
let stateChangeParams = null;
|
|
17290
|
-
this.viewContainer.clear();
|
|
17291
17233
|
if (showPanel === true) {
|
|
17292
|
-
|
|
17234
|
+
const embeddedViewContext = { $implicit: this.detailService.state };
|
|
17235
|
+
if (this.embeddedViewRef) {
|
|
17236
|
+
this.embeddedViewRef.context = embeddedViewContext;
|
|
17237
|
+
}
|
|
17238
|
+
else {
|
|
17239
|
+
this.embeddedViewRef = this.viewContainer.createEmbeddedView(this.templateRef, embeddedViewContext);
|
|
17240
|
+
}
|
|
17293
17241
|
this.skip = true;
|
|
17294
17242
|
stateChangeParams = this.detailService.state;
|
|
17295
17243
|
}
|
|
17244
|
+
else {
|
|
17245
|
+
this.viewContainer.clear();
|
|
17246
|
+
this.embeddedViewRef = null;
|
|
17247
|
+
}
|
|
17296
17248
|
this.stateChange.emit(stateChangeParams);
|
|
17297
17249
|
}
|
|
17298
17250
|
ngOnDestroy() {
|
|
@@ -18518,8 +18470,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18518
18470
|
}]
|
|
18519
18471
|
}] });
|
|
18520
18472
|
class ClrStackViewLabel {
|
|
18521
|
-
constructor(
|
|
18522
|
-
this.uniqueId = uniqueId;
|
|
18473
|
+
constructor() {
|
|
18523
18474
|
this._generatedId = null;
|
|
18524
18475
|
this._id = null;
|
|
18525
18476
|
}
|
|
@@ -18535,30 +18486,24 @@ class ClrStackViewLabel {
|
|
|
18535
18486
|
return this._id;
|
|
18536
18487
|
}
|
|
18537
18488
|
ngOnInit() {
|
|
18538
|
-
this._generatedId = 'clr-stack-label-' +
|
|
18489
|
+
this._generatedId = 'clr-stack-label-' + uniqueIdFactory();
|
|
18539
18490
|
if (!this.id) {
|
|
18540
18491
|
this._id = this._generatedId + '';
|
|
18541
18492
|
}
|
|
18542
18493
|
}
|
|
18543
18494
|
}
|
|
18544
|
-
ClrStackViewLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackViewLabel, deps: [
|
|
18545
|
-
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" } },
|
|
18495
|
+
ClrStackViewLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackViewLabel, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18496
|
+
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 });
|
|
18546
18497
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackViewLabel, decorators: [{
|
|
18547
18498
|
type: Component,
|
|
18548
18499
|
args: [{
|
|
18549
18500
|
selector: 'clr-stack-label',
|
|
18550
18501
|
template: '<ng-content></ng-content>',
|
|
18551
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
18552
18502
|
host: {
|
|
18553
18503
|
'[attr.id]': 'id',
|
|
18554
18504
|
},
|
|
18555
18505
|
}]
|
|
18556
|
-
}],
|
|
18557
|
-
return [{ type: undefined, decorators: [{
|
|
18558
|
-
type: Inject,
|
|
18559
|
-
args: [UNIQUE_ID]
|
|
18560
|
-
}] }];
|
|
18561
|
-
}, propDecorators: { id: [{
|
|
18506
|
+
}], propDecorators: { id: [{
|
|
18562
18507
|
type: Input
|
|
18563
18508
|
}] } });
|
|
18564
18509
|
|
|
@@ -18573,9 +18518,8 @@ class ClrStackBlock {
|
|
|
18573
18518
|
* querying for children StackBlocks, but this feature is not available when downgrading
|
|
18574
18519
|
* the component for Angular 1.
|
|
18575
18520
|
*/
|
|
18576
|
-
constructor(parent,
|
|
18521
|
+
constructor(parent, commonStrings) {
|
|
18577
18522
|
this.parent = parent;
|
|
18578
|
-
this.uniqueId = uniqueId;
|
|
18579
18523
|
this.commonStrings = commonStrings;
|
|
18580
18524
|
this.expanded = false;
|
|
18581
18525
|
this.expandedChange = new EventEmitter(false);
|
|
@@ -18584,6 +18528,7 @@ class ClrStackBlock {
|
|
|
18584
18528
|
this._changedChildren = 0;
|
|
18585
18529
|
this._fullyInitialized = false;
|
|
18586
18530
|
this._changed = false;
|
|
18531
|
+
this.uniqueId = uniqueIdFactory();
|
|
18587
18532
|
if (parent) {
|
|
18588
18533
|
parent.addChild();
|
|
18589
18534
|
}
|
|
@@ -18649,13 +18594,16 @@ class ClrStackBlock {
|
|
|
18649
18594
|
return this.expanded ? `clr-stack-children-${this.uniqueId}` : null;
|
|
18650
18595
|
}
|
|
18651
18596
|
}
|
|
18652
|
-
ClrStackBlock.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackBlock, deps: [{ token: ClrStackBlock, optional: true, skipSelf: true }, { token:
|
|
18653
|
-
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" } },
|
|
18597
|
+
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 });
|
|
18598
|
+
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: `
|
|
18599
|
+
<!-- The 'preventDefault' for the space keydown event prevents the page
|
|
18600
|
+
from scrolling when a stack block is toggled via the space key. -->
|
|
18654
18601
|
<div
|
|
18655
18602
|
class="stack-block-label"
|
|
18656
18603
|
(click)="toggleExpand()"
|
|
18657
18604
|
(keyup.enter)="toggleExpand()"
|
|
18658
18605
|
(keyup.space)="toggleExpand()"
|
|
18606
|
+
(keydown.space)="$event.preventDefault()"
|
|
18659
18607
|
(focus)="focused = true"
|
|
18660
18608
|
(blur)="focused = false"
|
|
18661
18609
|
[id]="uniqueId"
|
|
@@ -18693,11 +18641,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18693
18641
|
args: [{
|
|
18694
18642
|
selector: 'clr-stack-block',
|
|
18695
18643
|
template: `
|
|
18644
|
+
<!-- The 'preventDefault' for the space keydown event prevents the page
|
|
18645
|
+
from scrolling when a stack block is toggled via the space key. -->
|
|
18696
18646
|
<div
|
|
18697
18647
|
class="stack-block-label"
|
|
18698
18648
|
(click)="toggleExpand()"
|
|
18699
18649
|
(keyup.enter)="toggleExpand()"
|
|
18700
18650
|
(keyup.space)="toggleExpand()"
|
|
18651
|
+
(keydown.space)="$event.preventDefault()"
|
|
18701
18652
|
(focus)="focused = true"
|
|
18702
18653
|
(blur)="focused = false"
|
|
18703
18654
|
[id]="uniqueId"
|
|
@@ -18744,16 +18695,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18744
18695
|
'[attr.role]': '"heading"',
|
|
18745
18696
|
'[attr.aria-level]': 'headingLevel',
|
|
18746
18697
|
},
|
|
18747
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
18748
18698
|
}]
|
|
18749
18699
|
}], ctorParameters: function () {
|
|
18750
18700
|
return [{ type: ClrStackBlock, decorators: [{
|
|
18751
18701
|
type: SkipSelf
|
|
18752
18702
|
}, {
|
|
18753
18703
|
type: Optional
|
|
18754
|
-
}] }, { type: undefined, decorators: [{
|
|
18755
|
-
type: Inject,
|
|
18756
|
-
args: [UNIQUE_ID]
|
|
18757
18704
|
}] }, { type: ClrCommonStringsService }];
|
|
18758
18705
|
}, propDecorators: { expanded: [{
|
|
18759
18706
|
type: HostBinding,
|
|
@@ -18799,11 +18746,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18799
18746
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
18800
18747
|
*/
|
|
18801
18748
|
class ClrStackContentInput {
|
|
18802
|
-
constructor(
|
|
18803
|
-
this.uniqueId =
|
|
18749
|
+
constructor() {
|
|
18750
|
+
this.uniqueId = uniqueIdFactory();
|
|
18804
18751
|
}
|
|
18805
18752
|
}
|
|
18806
|
-
ClrStackContentInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackContentInput, deps: [
|
|
18753
|
+
ClrStackContentInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackContentInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
18807
18754
|
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 });
|
|
18808
18755
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrStackContentInput, decorators: [{
|
|
18809
18756
|
type: Directive,
|
|
@@ -18814,12 +18761,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
18814
18761
|
'[attr.aria-labelledby]': 'uniqueId',
|
|
18815
18762
|
},
|
|
18816
18763
|
}]
|
|
18817
|
-
}]
|
|
18818
|
-
return [{ type: undefined, decorators: [{
|
|
18819
|
-
type: Inject,
|
|
18820
|
-
args: [UNIQUE_ID]
|
|
18821
|
-
}] }];
|
|
18822
|
-
} });
|
|
18764
|
+
}] });
|
|
18823
18765
|
|
|
18824
18766
|
/*
|
|
18825
18767
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
@@ -19706,8 +19648,7 @@ const LVIEW_CONTEXT_INDEX = 8;
|
|
|
19706
19648
|
// then those keys are sent together in one request.
|
|
19707
19649
|
const TREE_TYPE_AHEAD_TIMEOUT = 200;
|
|
19708
19650
|
class ClrTreeNode {
|
|
19709
|
-
constructor(
|
|
19710
|
-
this.nodeId = nodeId;
|
|
19651
|
+
constructor(platformId, parent, forTypeAheadProvider, featuresService, expandService, commonStrings, focusManager, injector) {
|
|
19711
19652
|
this.platformId = platformId;
|
|
19712
19653
|
this.forTypeAheadProvider = forTypeAheadProvider;
|
|
19713
19654
|
this.featuresService = featuresService;
|
|
@@ -19717,6 +19658,7 @@ class ClrTreeNode {
|
|
|
19717
19658
|
this.STATES = ClrSelectedState;
|
|
19718
19659
|
this.skipEmitChange = false;
|
|
19719
19660
|
this.isModelLoading = false;
|
|
19661
|
+
this.nodeId = uniqueIdFactory();
|
|
19720
19662
|
this.typeAheadKeyEvent = new Subject();
|
|
19721
19663
|
this.typeAheadKeyBuffer = '';
|
|
19722
19664
|
this.selectedChange = new EventEmitter(false);
|
|
@@ -19931,13 +19873,8 @@ class ClrTreeNode {
|
|
|
19931
19873
|
}
|
|
19932
19874
|
}
|
|
19933
19875
|
}
|
|
19934
|
-
ClrTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTreeNode, deps: [{ token:
|
|
19935
|
-
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: [
|
|
19936
|
-
UNIQUE_ID_PROVIDER,
|
|
19937
|
-
TREE_FEATURES_PROVIDER,
|
|
19938
|
-
IfExpandService,
|
|
19939
|
-
{ provide: LoadingListener, useExisting: IfExpandService },
|
|
19940
|
-
], 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: [
|
|
19876
|
+
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 });
|
|
19877
|
+
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: [
|
|
19941
19878
|
trigger('toggleChildrenAnim', [
|
|
19942
19879
|
transition('collapsed => expanded', [style({ height: 0 }), animate(200, style({ height: '*' }))]),
|
|
19943
19880
|
transition('expanded => collapsed', [style({ height: '*' }), animate(200, style({ height: 0 }))]),
|
|
@@ -19947,12 +19884,7 @@ ClrTreeNode.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
|
19947
19884
|
] });
|
|
19948
19885
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTreeNode, decorators: [{
|
|
19949
19886
|
type: Component,
|
|
19950
|
-
args: [{ selector: 'clr-tree-node', providers: [
|
|
19951
|
-
UNIQUE_ID_PROVIDER,
|
|
19952
|
-
TREE_FEATURES_PROVIDER,
|
|
19953
|
-
IfExpandService,
|
|
19954
|
-
{ provide: LoadingListener, useExisting: IfExpandService },
|
|
19955
|
-
], animations: [
|
|
19887
|
+
args: [{ selector: 'clr-tree-node', providers: [TREE_FEATURES_PROVIDER, IfExpandService, { provide: LoadingListener, useExisting: IfExpandService }], animations: [
|
|
19956
19888
|
trigger('toggleChildrenAnim', [
|
|
19957
19889
|
transition('collapsed => expanded', [style({ height: 0 }), animate(200, style({ height: '*' }))]),
|
|
19958
19890
|
transition('expanded => collapsed', [style({ height: '*' }), animate(200, style({ height: 0 }))]),
|
|
@@ -19964,9 +19896,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
19964
19896
|
}, 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" }]
|
|
19965
19897
|
}], ctorParameters: function () {
|
|
19966
19898
|
return [{ type: undefined, decorators: [{
|
|
19967
|
-
type: Inject,
|
|
19968
|
-
args: [UNIQUE_ID]
|
|
19969
|
-
}] }, { type: undefined, decorators: [{
|
|
19970
19899
|
type: Inject,
|
|
19971
19900
|
args: [PLATFORM_ID]
|
|
19972
19901
|
}] }, { type: ClrTreeNode, decorators: [{
|
|
@@ -20177,13 +20106,13 @@ function wrapObservable(observable, onSubscribe, onUnsubscribe) {
|
|
|
20177
20106
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
20178
20107
|
*/
|
|
20179
20108
|
class DropdownFocusHandler {
|
|
20180
|
-
constructor(
|
|
20181
|
-
this.id = id;
|
|
20109
|
+
constructor(renderer, parent, toggleService, focusService, platformId) {
|
|
20182
20110
|
this.renderer = renderer;
|
|
20183
20111
|
this.parent = parent;
|
|
20184
20112
|
this.toggleService = toggleService;
|
|
20185
20113
|
this.focusService = focusService;
|
|
20186
20114
|
this.platformId = platformId;
|
|
20115
|
+
this.id = uniqueIdFactory();
|
|
20187
20116
|
this._unlistenFuncs = [];
|
|
20188
20117
|
this.focusBackOnTrigger = false;
|
|
20189
20118
|
this.resetChildren();
|
|
@@ -20330,15 +20259,12 @@ class DropdownFocusHandler {
|
|
|
20330
20259
|
this.focusService.detachListeners();
|
|
20331
20260
|
}
|
|
20332
20261
|
}
|
|
20333
|
-
DropdownFocusHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownFocusHandler, deps: [{ token:
|
|
20262
|
+
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 });
|
|
20334
20263
|
DropdownFocusHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownFocusHandler });
|
|
20335
20264
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownFocusHandler, decorators: [{
|
|
20336
20265
|
type: Injectable
|
|
20337
20266
|
}], ctorParameters: function () {
|
|
20338
|
-
return [{ type:
|
|
20339
|
-
type: Inject,
|
|
20340
|
-
args: [UNIQUE_ID]
|
|
20341
|
-
}] }, { type: i0.Renderer2 }, { type: DropdownFocusHandler, decorators: [{
|
|
20267
|
+
return [{ type: i0.Renderer2 }, { type: DropdownFocusHandler, decorators: [{
|
|
20342
20268
|
type: SkipSelf
|
|
20343
20269
|
}, {
|
|
20344
20270
|
type: Optional
|
|
@@ -20440,13 +20366,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
20440
20366
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
20441
20367
|
*/
|
|
20442
20368
|
class BasicFocusableItem {
|
|
20443
|
-
constructor(
|
|
20444
|
-
this.id = id;
|
|
20369
|
+
constructor(el, renderer, platformId) {
|
|
20445
20370
|
this.el = el;
|
|
20446
20371
|
this.renderer = renderer;
|
|
20447
20372
|
this.platformId = platformId;
|
|
20373
|
+
this.id = uniqueIdFactory();
|
|
20448
20374
|
this.disabled = false;
|
|
20449
|
-
renderer.setAttribute(el.nativeElement, 'id', id);
|
|
20375
|
+
renderer.setAttribute(el.nativeElement, 'id', this.id);
|
|
20450
20376
|
renderer.setAttribute(el.nativeElement, 'tabindex', '-1');
|
|
20451
20377
|
}
|
|
20452
20378
|
focus() {
|
|
@@ -20468,21 +20394,17 @@ class BasicFocusableItem {
|
|
|
20468
20394
|
}
|
|
20469
20395
|
}
|
|
20470
20396
|
}
|
|
20471
|
-
BasicFocusableItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicFocusableItem, deps: [{ token:
|
|
20397
|
+
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 });
|
|
20472
20398
|
BasicFocusableItem.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicFocusableItem });
|
|
20473
20399
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BasicFocusableItem, decorators: [{
|
|
20474
20400
|
type: Injectable
|
|
20475
20401
|
}], ctorParameters: function () {
|
|
20476
|
-
return [{ type: undefined, decorators: [{
|
|
20477
|
-
type: Inject,
|
|
20478
|
-
args: [UNIQUE_ID]
|
|
20479
|
-
}] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
20402
|
+
return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
20480
20403
|
type: Inject,
|
|
20481
20404
|
args: [PLATFORM_ID]
|
|
20482
20405
|
}] }];
|
|
20483
20406
|
} });
|
|
20484
20407
|
const BASIC_FOCUSABLE_ITEM_PROVIDER = [
|
|
20485
|
-
UNIQUE_ID_PROVIDER,
|
|
20486
20408
|
{
|
|
20487
20409
|
provide: FocusableItem,
|
|
20488
20410
|
useClass: BasicFocusableItem,
|
|
@@ -22584,10 +22506,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
22584
22506
|
*/
|
|
22585
22507
|
let nbTabContentComponents = 0;
|
|
22586
22508
|
class ClrTabContent {
|
|
22587
|
-
constructor(ifActiveService, id,
|
|
22509
|
+
constructor(ifActiveService, id, tabsService) {
|
|
22588
22510
|
this.ifActiveService = ifActiveService;
|
|
22589
22511
|
this.id = id;
|
|
22590
|
-
this.ariaService = ariaService;
|
|
22591
22512
|
this.tabsService = tabsService;
|
|
22592
22513
|
if (!this.tabContentId) {
|
|
22593
22514
|
this.tabContentId = 'clr-tab-content-' + nbTabContentComponents++;
|
|
@@ -22600,13 +22521,8 @@ class ClrTabContent {
|
|
|
22600
22521
|
this.viewRef = this.tabsService.tabContentViewContainer.createEmbeddedView(value);
|
|
22601
22522
|
}
|
|
22602
22523
|
get ariaLabelledBy() {
|
|
22603
|
-
|
|
22604
|
-
|
|
22605
|
-
get tabContentId() {
|
|
22606
|
-
return this.ariaService.ariaControls;
|
|
22607
|
-
}
|
|
22608
|
-
set tabContentId(id) {
|
|
22609
|
-
this.ariaService.ariaControls = id;
|
|
22524
|
+
var _a, _b;
|
|
22525
|
+
return (_b = (_a = this.tabsService.children.find(tab => tab.tabContent === this)) === null || _a === void 0 ? void 0 : _a.tabLink) === null || _b === void 0 ? void 0 : _b.tabLinkId;
|
|
22610
22526
|
}
|
|
22611
22527
|
get active() {
|
|
22612
22528
|
return this.ifActiveService.current === this.id;
|
|
@@ -22618,7 +22534,7 @@ class ClrTabContent {
|
|
|
22618
22534
|
}
|
|
22619
22535
|
}
|
|
22620
22536
|
}
|
|
22621
|
-
ClrTabContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTabContent, deps: [{ token: IfActiveService }, { token: IF_ACTIVE_ID }, { token:
|
|
22537
|
+
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 });
|
|
22622
22538
|
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: `
|
|
22623
22539
|
<ng-template #tabContentProjectedRef>
|
|
22624
22540
|
<section
|
|
@@ -22658,7 +22574,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
22658
22574
|
return [{ type: IfActiveService }, { type: undefined, decorators: [{
|
|
22659
22575
|
type: Inject,
|
|
22660
22576
|
args: [IF_ACTIVE_ID]
|
|
22661
|
-
}] }, { type:
|
|
22577
|
+
}] }, { type: TabsService }];
|
|
22662
22578
|
}, propDecorators: { templateRef: [{
|
|
22663
22579
|
type: ViewChild,
|
|
22664
22580
|
args: ['tabContentProjectedRef', { static: true }]
|
|
@@ -22689,10 +22605,9 @@ const TABS_ID_PROVIDER = {
|
|
|
22689
22605
|
*/
|
|
22690
22606
|
let nbTabLinkComponents = 0;
|
|
22691
22607
|
class ClrTabLink {
|
|
22692
|
-
constructor(ifActiveService, id,
|
|
22608
|
+
constructor(ifActiveService, id, el, cfr, viewContainerRef, tabsService, tabsId) {
|
|
22693
22609
|
this.ifActiveService = ifActiveService;
|
|
22694
22610
|
this.id = id;
|
|
22695
|
-
this.ariaService = ariaService;
|
|
22696
22611
|
this.el = el;
|
|
22697
22612
|
this.cfr = cfr;
|
|
22698
22613
|
this.viewContainerRef = viewContainerRef;
|
|
@@ -22719,13 +22634,8 @@ class ClrTabLink {
|
|
|
22719
22634
|
return !this.inOverflow;
|
|
22720
22635
|
}
|
|
22721
22636
|
get ariaControls() {
|
|
22722
|
-
|
|
22723
|
-
|
|
22724
|
-
get tabLinkId() {
|
|
22725
|
-
return this.ariaService.ariaLabelledBy;
|
|
22726
|
-
}
|
|
22727
|
-
set tabLinkId(id) {
|
|
22728
|
-
this.ariaService.ariaLabelledBy = id;
|
|
22637
|
+
var _a, _b;
|
|
22638
|
+
return (_b = (_a = this.tabsService.children.find(tab => tab.tabLink === this)) === null || _a === void 0 ? void 0 : _a.tabContent) === null || _b === void 0 ? void 0 : _b.tabContentId;
|
|
22729
22639
|
}
|
|
22730
22640
|
activate() {
|
|
22731
22641
|
this.ifActiveService.current = this.id;
|
|
@@ -22737,7 +22647,7 @@ class ClrTabLink {
|
|
|
22737
22647
|
return this.active ? 0 : -1;
|
|
22738
22648
|
}
|
|
22739
22649
|
}
|
|
22740
|
-
ClrTabLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTabLink, deps: [{ token: IfActiveService }, { token: IF_ACTIVE_ID }, { token:
|
|
22650
|
+
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 });
|
|
22741
22651
|
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 });
|
|
22742
22652
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTabLink, decorators: [{
|
|
22743
22653
|
type: Directive,
|
|
@@ -22753,7 +22663,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
22753
22663
|
return [{ type: IfActiveService }, { type: undefined, decorators: [{
|
|
22754
22664
|
type: Inject,
|
|
22755
22665
|
args: [IF_ACTIVE_ID]
|
|
22756
|
-
}] }, { type:
|
|
22666
|
+
}] }, { type: i0.ElementRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: TabsService }, { type: undefined, decorators: [{
|
|
22757
22667
|
type: Inject,
|
|
22758
22668
|
args: [TABS_ID]
|
|
22759
22669
|
}] }];
|
|
@@ -22809,13 +22719,13 @@ class ClrTab {
|
|
|
22809
22719
|
}
|
|
22810
22720
|
}
|
|
22811
22721
|
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 });
|
|
22812
|
-
ClrTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrTab, selector: "clr-tab", providers: [IF_ACTIVE_ID_PROVIDER
|
|
22722
|
+
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 });
|
|
22813
22723
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTab, decorators: [{
|
|
22814
22724
|
type: Component,
|
|
22815
22725
|
args: [{
|
|
22816
22726
|
selector: 'clr-tab',
|
|
22817
22727
|
template: `<ng-content></ng-content>`,
|
|
22818
|
-
providers: [IF_ACTIVE_ID_PROVIDER
|
|
22728
|
+
providers: [IF_ACTIVE_ID_PROVIDER],
|
|
22819
22729
|
}]
|
|
22820
22730
|
}], ctorParameters: function () {
|
|
22821
22731
|
return [{ type: IfActiveService }, { type: undefined, decorators: [{
|
|
@@ -23709,13 +23619,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
23709
23619
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23710
23620
|
*/
|
|
23711
23621
|
class ClrModal {
|
|
23712
|
-
constructor(_scrollingService, commonStrings
|
|
23622
|
+
constructor(_scrollingService, commonStrings) {
|
|
23713
23623
|
this._scrollingService = _scrollingService;
|
|
23714
23624
|
this.commonStrings = commonStrings;
|
|
23715
|
-
this.modalId =
|
|
23625
|
+
this.modalId = uniqueIdFactory();
|
|
23716
23626
|
this._open = false;
|
|
23717
23627
|
this._openChanged = new EventEmitter(false);
|
|
23718
23628
|
this.closable = true;
|
|
23629
|
+
this.closeButtonAriaLabel = this.commonStrings.keys.close;
|
|
23719
23630
|
this.staticBackdrop = true;
|
|
23720
23631
|
this.skipAnimation = 'false';
|
|
23721
23632
|
// presently this is only used by wizards
|
|
@@ -23764,8 +23675,8 @@ class ClrModal {
|
|
|
23764
23675
|
}
|
|
23765
23676
|
}
|
|
23766
23677
|
}
|
|
23767
|
-
ClrModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrModal, deps: [{ token: ScrollingService }, { token: ClrCommonStringsService }
|
|
23768
|
-
ClrModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrModal, selector: "clr-modal", inputs: { _open: ["clrModalOpen", "_open"], closable: ["clrModalClosable", "closable"], size: ["clrModalSize", "size"], staticBackdrop: ["clrModalStaticBackdrop", "staticBackdrop"], skipAnimation: ["clrModalSkipAnimation", "skipAnimation"], bypassScrollService: ["clrModalOverrideScrollService", "bypassScrollService"], stopClose: ["clrModalPreventClose", "stopClose"], labelledBy: ["clrModalLabelledById", "labelledBy"] }, outputs: { _openChanged: "clrModalOpenChange", altClose: "clrModalAlternateClose" }, host: { listeners: { "body:keyup.escape": "close()" }, properties: { "class.open": "this._open" } },
|
|
23678
|
+
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 });
|
|
23679
|
+
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: [
|
|
23769
23680
|
trigger('fadeDown', [
|
|
23770
23681
|
transition('* => false', [style({ opacity: 0, transform: 'translate(0, -25%)' }), animate('0.2s ease-in-out')]),
|
|
23771
23682
|
transition('false => *', [animate('0.2s ease-in-out', style({ opacity: 0, transform: 'translate(0, -25%)' }))]),
|
|
@@ -23795,13 +23706,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
23795
23706
|
transition('void => *', [style({ opacity: 0 }), animate('0.2s ease-in-out', style({ opacity: 0.85 }))]),
|
|
23796
23707
|
transition('* => void', [animate('0.2s ease-in-out', style({ opacity: 0 }))]),
|
|
23797
23708
|
]),
|
|
23798
|
-
],
|
|
23799
|
-
}], ctorParameters: function () {
|
|
23800
|
-
return [{ type: ScrollingService }, { type: ClrCommonStringsService }, { type: undefined, decorators: [{
|
|
23801
|
-
type: Inject,
|
|
23802
|
-
args: [UNIQUE_ID]
|
|
23803
|
-
}] }];
|
|
23804
|
-
}, propDecorators: { focusTrap: [{
|
|
23709
|
+
], 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" }]
|
|
23710
|
+
}], ctorParameters: function () { return [{ type: ScrollingService }, { type: ClrCommonStringsService }]; }, propDecorators: { focusTrap: [{
|
|
23805
23711
|
type: ViewChild,
|
|
23806
23712
|
args: [FocusTrapDirective]
|
|
23807
23713
|
}], _open: [{
|
|
@@ -23816,6 +23722,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
23816
23722
|
}], closable: [{
|
|
23817
23723
|
type: Input,
|
|
23818
23724
|
args: ['clrModalClosable']
|
|
23725
|
+
}], closeButtonAriaLabel: [{
|
|
23726
|
+
type: Input,
|
|
23727
|
+
args: ['clrModalCloseButtonAriaLabel']
|
|
23819
23728
|
}], size: [{
|
|
23820
23729
|
type: Input,
|
|
23821
23730
|
args: ['clrModalSize']
|
|
@@ -23969,20 +23878,20 @@ const POSITIONS$1 = [
|
|
|
23969
23878
|
'left-top',
|
|
23970
23879
|
];
|
|
23971
23880
|
class ClrSignpostContent extends AbstractPopover {
|
|
23972
|
-
constructor(injector, parentHost, commonStrings,
|
|
23881
|
+
constructor(injector, parentHost, commonStrings, signpostIdService, signpostFocusManager, platformId, document) {
|
|
23973
23882
|
super(injector, parentHost);
|
|
23974
23883
|
this.commonStrings = commonStrings;
|
|
23975
|
-
this.signpostContentId = signpostContentId;
|
|
23976
23884
|
this.signpostIdService = signpostIdService;
|
|
23977
23885
|
this.signpostFocusManager = signpostFocusManager;
|
|
23978
23886
|
this.platformId = platformId;
|
|
23887
|
+
this.signpostContentId = uniqueIdFactory();
|
|
23979
23888
|
if (!parentHost) {
|
|
23980
23889
|
throw new Error('clr-signpost-content should only be used inside of a clr-signpost');
|
|
23981
23890
|
}
|
|
23982
23891
|
// Defaults
|
|
23983
23892
|
this.position = 'right-middle';
|
|
23984
23893
|
this.closeOnOutsideClick = true;
|
|
23985
|
-
this.signpostIdService.setId(signpostContentId);
|
|
23894
|
+
this.signpostIdService.setId(this.signpostContentId);
|
|
23986
23895
|
this.document = document;
|
|
23987
23896
|
}
|
|
23988
23897
|
/**********
|
|
@@ -24050,8 +23959,8 @@ class ClrSignpostContent extends AbstractPopover {
|
|
|
24050
23959
|
}
|
|
24051
23960
|
}
|
|
24052
23961
|
}
|
|
24053
|
-
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:
|
|
24054
|
-
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" } },
|
|
23962
|
+
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 });
|
|
23963
|
+
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: `
|
|
24055
23964
|
<div class="signpost-wrap">
|
|
24056
23965
|
<div class="popover-pointer"></div>
|
|
24057
23966
|
<div class="signpost-content-header">
|
|
@@ -24094,7 +24003,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
24094
24003
|
</div>
|
|
24095
24004
|
`,
|
|
24096
24005
|
host: { '[class.signpost-content]': 'true', '[id]': 'signpostContentId' },
|
|
24097
|
-
providers: [UNIQUE_ID_PROVIDER],
|
|
24098
24006
|
}]
|
|
24099
24007
|
}], ctorParameters: function () {
|
|
24100
24008
|
return [{ type: i0.Injector }, { type: i0.ElementRef, decorators: [{
|
|
@@ -24102,10 +24010,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
24102
24010
|
}, {
|
|
24103
24011
|
type: Inject,
|
|
24104
24012
|
args: [POPOVER_HOST_ANCHOR]
|
|
24105
|
-
}] }, { type: ClrCommonStringsService }, { type: undefined, decorators: [{
|
|
24106
|
-
type: Inject,
|
|
24107
|
-
args: [UNIQUE_ID]
|
|
24108
|
-
}] }, { type: SignpostIdService }, { type: SignpostFocusManager }, { type: undefined, decorators: [{
|
|
24013
|
+
}] }, { type: ClrCommonStringsService }, { type: SignpostIdService }, { type: SignpostFocusManager }, { type: undefined, decorators: [{
|
|
24109
24014
|
type: Inject,
|
|
24110
24015
|
args: [PLATFORM_ID]
|
|
24111
24016
|
}] }, { type: undefined, decorators: [{
|
|
@@ -24170,14 +24075,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
24170
24075
|
class ClrTooltip {
|
|
24171
24076
|
}
|
|
24172
24077
|
ClrTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTooltip, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24173
|
-
ClrTooltip.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrTooltip, selector: "clr-tooltip", host: { properties: { "class.tooltip": "true" } }, providers: [
|
|
24174
|
-
ClrPopoverToggleService,
|
|
24175
|
-
{ provide: POPOVER_HOST_ANCHOR, useExisting: ElementRef },
|
|
24176
|
-
// TODO: consider centralizing the unique id string on a service that provides ariaAttributes that need it
|
|
24177
|
-
// AriaService in layout/tabs/providers might be a good starting point.
|
|
24178
|
-
UNIQUE_ID_PROVIDER,
|
|
24179
|
-
TooltipIdService,
|
|
24180
|
-
], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
24078
|
+
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 });
|
|
24181
24079
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTooltip, decorators: [{
|
|
24182
24080
|
type: Component,
|
|
24183
24081
|
args: [{
|
|
@@ -24186,14 +24084,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
24186
24084
|
host: {
|
|
24187
24085
|
'[class.tooltip]': 'true',
|
|
24188
24086
|
},
|
|
24189
|
-
providers: [
|
|
24190
|
-
ClrPopoverToggleService,
|
|
24191
|
-
{ provide: POPOVER_HOST_ANCHOR, useExisting: ElementRef },
|
|
24192
|
-
// TODO: consider centralizing the unique id string on a service that provides ariaAttributes that need it
|
|
24193
|
-
// AriaService in layout/tabs/providers might be a good starting point.
|
|
24194
|
-
UNIQUE_ID_PROVIDER,
|
|
24195
|
-
TooltipIdService,
|
|
24196
|
-
],
|
|
24087
|
+
providers: [ClrPopoverToggleService, { provide: POPOVER_HOST_ANCHOR, useExisting: ElementRef }, TooltipIdService],
|
|
24197
24088
|
}]
|
|
24198
24089
|
}] });
|
|
24199
24090
|
|
|
@@ -24216,9 +24107,8 @@ const SIZES = ['xs', 'sm', 'md', 'lg'];
|
|
|
24216
24107
|
const defaultPosition = 'right';
|
|
24217
24108
|
const defaultSize = 'sm';
|
|
24218
24109
|
class ClrTooltipContent extends AbstractPopover {
|
|
24219
|
-
constructor(injector, parentHost,
|
|
24110
|
+
constructor(injector, parentHost, tooltipIdService) {
|
|
24220
24111
|
super(injector, parentHost);
|
|
24221
|
-
this.uniqueId = uniqueId;
|
|
24222
24112
|
this.tooltipIdService = tooltipIdService;
|
|
24223
24113
|
this._position = defaultPosition;
|
|
24224
24114
|
this._size = defaultSize;
|
|
@@ -24226,7 +24116,7 @@ class ClrTooltipContent extends AbstractPopover {
|
|
|
24226
24116
|
throw new Error('clr-tooltip-content should only be used inside of a clr-tooltip');
|
|
24227
24117
|
}
|
|
24228
24118
|
// Set the default id in case consumer does not supply a custom id.
|
|
24229
|
-
this.id =
|
|
24119
|
+
this.id = uniqueIdFactory();
|
|
24230
24120
|
}
|
|
24231
24121
|
get id() {
|
|
24232
24122
|
return this._id;
|
|
@@ -24288,7 +24178,7 @@ class ClrTooltipContent extends AbstractPopover {
|
|
|
24288
24178
|
this.renderer.addClass(this.el.nativeElement, newClass);
|
|
24289
24179
|
}
|
|
24290
24180
|
}
|
|
24291
|
-
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:
|
|
24181
|
+
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 });
|
|
24292
24182
|
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 });
|
|
24293
24183
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrTooltipContent, decorators: [{
|
|
24294
24184
|
type: Component,
|
|
@@ -24308,9 +24198,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
24308
24198
|
}, {
|
|
24309
24199
|
type: Inject,
|
|
24310
24200
|
args: [POPOVER_HOST_ANCHOR]
|
|
24311
|
-
}] }, { type: undefined, decorators: [{
|
|
24312
|
-
type: Inject,
|
|
24313
|
-
args: [UNIQUE_ID]
|
|
24314
24201
|
}] }, { type: TooltipIdService }];
|
|
24315
24202
|
}, propDecorators: { id: [{
|
|
24316
24203
|
type: Input
|
|
@@ -26911,14 +26798,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
26911
26798
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
26912
26799
|
*/
|
|
26913
26800
|
class ClrWizard {
|
|
26914
|
-
constructor(platformId, navService, pageCollection, buttonService, headerActionService, elementRef, differs
|
|
26801
|
+
constructor(platformId, navService, pageCollection, buttonService, headerActionService, elementRef, differs) {
|
|
26915
26802
|
this.platformId = platformId;
|
|
26916
26803
|
this.navService = navService;
|
|
26917
26804
|
this.pageCollection = pageCollection;
|
|
26918
26805
|
this.buttonService = buttonService;
|
|
26919
26806
|
this.headerActionService = headerActionService;
|
|
26920
26807
|
this.elementRef = elementRef;
|
|
26921
|
-
this.wizardId = wizardId;
|
|
26922
26808
|
/**
|
|
26923
26809
|
* Set the modal size of the wizard. Set using `[clrWizardSize]` input.
|
|
26924
26810
|
*/
|
|
@@ -26978,6 +26864,7 @@ class ClrWizard {
|
|
|
26978
26864
|
* Listen via `(clrWizardOnPrevious)` event.
|
|
26979
26865
|
*/
|
|
26980
26866
|
this.onMovePrevious = new EventEmitter(false);
|
|
26867
|
+
this.wizardId = uniqueIdFactory();
|
|
26981
26868
|
this.subscriptions = [];
|
|
26982
26869
|
this.subscriptions.push(this.listenForNextPageChanges(), this.listenForPreviousPageChanges(), this.listenForCancelChanges(), this.listenForFinishedChanges(), this.listenForPageChanges());
|
|
26983
26870
|
this.differ = differs.find([]).create(null);
|
|
@@ -27299,23 +27186,11 @@ class ClrWizard {
|
|
|
27299
27186
|
this.wizardFinished.emit();
|
|
27300
27187
|
}
|
|
27301
27188
|
}
|
|
27302
|
-
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 }
|
|
27303
|
-
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: [
|
|
27304
|
-
WizardNavigationService,
|
|
27305
|
-
PageCollectionService,
|
|
27306
|
-
ButtonHubService,
|
|
27307
|
-
HeaderActionService,
|
|
27308
|
-
UNIQUE_ID_PROVIDER,
|
|
27309
|
-
], queries: [{ propertyName: "pages", predicate: ClrWizardPage, descendants: true }, { propertyName: "headerActions", predicate: ClrWizardHeaderAction }], viewQueries: [{ propertyName: "wizardTitle", first: true, predicate: ["wizardTitle"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<clr-modal\n [clrModalOpen]=\"_open\"\n [clrModalSize]=\"size\"\n [clrModalClosable]=\"closable\"\n [clrModalStaticBackdrop]=\"true\"\n [clrModalSkipAnimation]=\"stopModalAnimations\"\n [clrModalOverrideScrollService]=\"isStatic\"\n [clrModalPreventClose]=\"true\"\n (clrModalAlternateClose)=\"modalCancel()\"\n [clrModalLabelledById]=\"wizardId\"\n>\n <nav class=\"modal-nav clr-wizard-stepnav-wrapper\">\n <h1 class=\"clr-wizard-title\" id=\"{{wizardId}}\"><ng-content select=\"clr-wizard-title\"></ng-content></h1>\n <clr-wizard-stepnav></clr-wizard-stepnav>\n </nav>\n\n <h2 class=\"modal-title\">\n <span tabindex=\"-1\" #wizardTitle class=\"modal-title-text\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPageTitle\"></ng-template>\n </span>\n\n <div class=\"modal-header-actions-wrapper\" *ngIf=\"headerActionService.displayHeaderActionsWrapper\">\n <div *ngIf=\"headerActionService.showWizardHeaderActions\">\n <ng-content select=\"clr-wizard-header-action\"></ng-content>\n </div>\n <div *ngIf=\"headerActionService.currentPageHasHeaderActions\">\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.headerActions\"></ng-template>\n </div>\n </div>\n </h2>\n\n <div class=\"modal-body\">\n <main clr-wizard-pages-wrapper class=\"clr-wizard-content\">\n <ng-content></ng-content>\n </main>\n </div>\n <div class=\"modal-footer clr-wizard-footer\">\n <div class=\"clr-wizard-footer-buttons\">\n <div\n *ngIf=\"navService.currentPage && !navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-content select=\"clr-wizard-button\"></ng-content>\n </div>\n <div\n *ngIf=\"navService.currentPage && navService.currentPage.hasButtons\"\n class=\"clr-wizard-footer-buttons-wrapper\"\n >\n <ng-template [ngTemplateOutlet]=\"navService.currentPage.buttons\"></ng-template>\n </div>\n </div>\n </div>\n</clr-modal>\n", components: [{ type: ClrModal, selector: "clr-modal", inputs: ["clrModalOpen", "clrModalClosable", "clrModalSize", "clrModalStaticBackdrop", "clrModalSkipAnimation", "clrModalOverrideScrollService", "clrModalPreventClose", "clrModalLabelledById"], outputs: ["clrModalOpenChange", "clrModalAlternateClose"] }, { type: ClrWizardStepnav, selector: "clr-wizard-stepnav" }], directives: [{ type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ClrModalBody, selector: ".modal-body" }] });
|
|
27189
|
+
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 });
|
|
27190
|
+
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" }] });
|
|
27310
27191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrWizard, decorators: [{
|
|
27311
27192
|
type: Component,
|
|
27312
|
-
args: [{ selector: 'clr-wizard', providers: [
|
|
27313
|
-
WizardNavigationService,
|
|
27314
|
-
PageCollectionService,
|
|
27315
|
-
ButtonHubService,
|
|
27316
|
-
HeaderActionService,
|
|
27317
|
-
UNIQUE_ID_PROVIDER,
|
|
27318
|
-
], host: {
|
|
27193
|
+
args: [{ selector: 'clr-wizard', providers: [WizardNavigationService, PageCollectionService, ButtonHubService, HeaderActionService], host: {
|
|
27319
27194
|
'[class.clr-wizard]': 'true',
|
|
27320
27195
|
'[class.wizard-md]': "size == 'md'",
|
|
27321
27196
|
'[class.wizard-lg]': "size == 'lg'",
|
|
@@ -27326,10 +27201,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
27326
27201
|
return [{ type: undefined, decorators: [{
|
|
27327
27202
|
type: Inject,
|
|
27328
27203
|
args: [PLATFORM_ID]
|
|
27329
|
-
}] }, { type: WizardNavigationService }, { type: PageCollectionService }, { type: ButtonHubService }, { type: HeaderActionService }, { type: i0.ElementRef }, { type: i0.IterableDiffers }
|
|
27330
|
-
type: Inject,
|
|
27331
|
-
args: [UNIQUE_ID]
|
|
27332
|
-
}] }];
|
|
27204
|
+
}] }, { type: WizardNavigationService }, { type: PageCollectionService }, { type: ButtonHubService }, { type: HeaderActionService }, { type: i0.ElementRef }, { type: i0.IterableDiffers }];
|
|
27333
27205
|
}, propDecorators: { size: [{
|
|
27334
27206
|
type: Input,
|
|
27335
27207
|
args: ['clrWizardSize']
|
|
@@ -27985,5 +27857,5 @@ const CLR_MENU_POSITIONS = [
|
|
|
27985
27857
|
* Generated bundle index. Do not edit.
|
|
27986
27858
|
*/
|
|
27987
27859
|
|
|
27988
|
-
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 };
|
|
27860
|
+
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 };
|
|
27989
27861
|
//# sourceMappingURL=clr-angular.mjs.map
|