@rossigee/clarity-angular 18.2.1-fixed → 18.2.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/fesm2022/clr-angular-accordion.mjs +355 -0
- package/fesm2022/clr-angular-accordion.mjs.map +1 -0
- package/fesm2022/clr-angular-button.mjs +713 -0
- package/fesm2022/clr-angular-button.mjs.map +1 -0
- package/fesm2022/clr-angular-collapsible-panel.mjs +201 -0
- package/fesm2022/clr-angular-collapsible-panel.mjs.map +1 -0
- package/fesm2022/clr-angular-data-datagrid.mjs +7635 -0
- package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -0
- package/fesm2022/clr-angular-data-stack-view.mjs +442 -0
- package/fesm2022/clr-angular-data-stack-view.mjs.map +1 -0
- package/fesm2022/clr-angular-data-tree-view.mjs +1106 -0
- package/fesm2022/clr-angular-data-tree-view.mjs.map +1 -0
- package/fesm2022/clr-angular-data.mjs +40 -0
- package/fesm2022/clr-angular-data.mjs.map +1 -0
- package/fesm2022/clr-angular-emphasis-alert.mjs +624 -0
- package/fesm2022/clr-angular-emphasis-alert.mjs.map +1 -0
- package/fesm2022/clr-angular-emphasis-badge.mjs +69 -0
- package/fesm2022/clr-angular-emphasis-badge.mjs.map +1 -0
- package/fesm2022/clr-angular-emphasis-common.mjs +25 -0
- package/fesm2022/clr-angular-emphasis-common.mjs.map +1 -0
- package/fesm2022/clr-angular-emphasis-label.mjs +105 -0
- package/fesm2022/clr-angular-emphasis-label.mjs.map +1 -0
- package/fesm2022/clr-angular-emphasis.mjs +41 -0
- package/fesm2022/clr-angular-emphasis.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-checkbox.mjs +270 -0
- package/fesm2022/clr-angular-forms-checkbox.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-combobox.mjs +1775 -0
- package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-common.mjs +1251 -0
- package/fesm2022/clr-angular-forms-common.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-datalist.mjs +263 -0
- package/fesm2022/clr-angular-forms-datalist.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-datepicker.mjs +3274 -0
- package/fesm2022/clr-angular-forms-datepicker.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-file-input.mjs +826 -0
- package/fesm2022/clr-angular-forms-file-input.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-input.mjs +153 -0
- package/fesm2022/clr-angular-forms-input.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-number-input.mjs +236 -0
- package/fesm2022/clr-angular-forms-number-input.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-password.mjs +233 -0
- package/fesm2022/clr-angular-forms-password.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-radio.mjs +231 -0
- package/fesm2022/clr-angular-forms-radio.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-range.mjs +186 -0
- package/fesm2022/clr-angular-forms-range.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-select.mjs +153 -0
- package/fesm2022/clr-angular-forms-select.mjs.map +1 -0
- package/fesm2022/clr-angular-forms-textarea.mjs +136 -0
- package/fesm2022/clr-angular-forms-textarea.mjs.map +1 -0
- package/fesm2022/clr-angular-forms.mjs +100 -0
- package/fesm2022/clr-angular-forms.mjs.map +1 -0
- package/fesm2022/clr-angular-icon.mjs +7397 -0
- package/fesm2022/clr-angular-icon.mjs.map +1 -0
- package/fesm2022/clr-angular-layout-breadcrumbs.mjs +120 -0
- package/fesm2022/clr-angular-layout-breadcrumbs.mjs.map +1 -0
- package/fesm2022/clr-angular-layout-main-container.mjs +100 -0
- package/fesm2022/clr-angular-layout-main-container.mjs.map +1 -0
- package/fesm2022/clr-angular-layout-nav.mjs +582 -0
- package/fesm2022/clr-angular-layout-nav.mjs.map +1 -0
- package/fesm2022/clr-angular-layout-tabs.mjs +807 -0
- package/fesm2022/clr-angular-layout-tabs.mjs.map +1 -0
- package/fesm2022/clr-angular-layout-vertical-nav.mjs +507 -0
- package/fesm2022/clr-angular-layout-vertical-nav.mjs.map +1 -0
- package/fesm2022/clr-angular-layout.mjs +44 -0
- package/fesm2022/clr-angular-layout.mjs.map +1 -0
- package/fesm2022/clr-angular-modal.mjs +617 -0
- package/fesm2022/clr-angular-modal.mjs.map +1 -0
- package/fesm2022/clr-angular-popover-common.mjs +1082 -0
- package/fesm2022/clr-angular-popover-common.mjs.map +1 -0
- package/fesm2022/clr-angular-popover-dropdown.mjs +492 -0
- package/fesm2022/clr-angular-popover-dropdown.mjs.map +1 -0
- package/fesm2022/clr-angular-popover-signpost.mjs +494 -0
- package/fesm2022/clr-angular-popover-signpost.mjs.map +1 -0
- package/fesm2022/clr-angular-popover-tooltip.mjs +293 -0
- package/fesm2022/clr-angular-popover-tooltip.mjs.map +1 -0
- package/fesm2022/clr-angular-popover.mjs +41 -0
- package/fesm2022/clr-angular-popover.mjs.map +1 -0
- package/fesm2022/clr-angular-progress-progress-bars.mjs +217 -0
- package/fesm2022/clr-angular-progress-progress-bars.mjs.map +1 -0
- package/fesm2022/clr-angular-progress-spinner.mjs +132 -0
- package/fesm2022/clr-angular-progress-spinner.mjs.map +1 -0
- package/fesm2022/clr-angular-stepper.mjs +694 -0
- package/fesm2022/clr-angular-stepper.mjs.map +1 -0
- package/fesm2022/clr-angular-timeline.mjs +316 -0
- package/fesm2022/clr-angular-timeline.mjs.map +1 -0
- package/fesm2022/clr-angular-utils-conditional.mjs +351 -0
- package/fesm2022/clr-angular-utils-conditional.mjs.map +1 -0
- package/fesm2022/clr-angular-utils-loading.mjs +107 -0
- package/fesm2022/clr-angular-utils-loading.mjs.map +1 -0
- package/fesm2022/clr-angular-utils.mjs +2079 -0
- package/fesm2022/clr-angular-utils.mjs.map +1 -0
- package/fesm2022/clr-angular-wizard.mjs +3074 -0
- package/fesm2022/clr-angular-wizard.mjs.map +1 -0
- package/fesm2022/{rossigee-clarity-angular.mjs → clr-angular.mjs} +2 -2
- package/fesm2022/clr-angular.mjs.map +1 -0
- package/package.json +105 -103
- package/schematics/ng-update/index.d.ts +2 -0
- package/schematics/ng-update/index.js +69 -0
- package/schematics/ng-update/index.js.map +1 -0
- package/schematics/ng-update/migrations/css-migration.d.ts +6 -0
- package/schematics/ng-update/migrations/css-migration.js +177 -0
- package/schematics/ng-update/migrations/css-migration.js.map +1 -0
- package/schematics/ng-update/migrations/import-migration.d.ts +4 -0
- package/schematics/ng-update/migrations/import-migration.js +187 -0
- package/schematics/ng-update/migrations/import-migration.js.map +1 -0
- package/schematics/ng-update/migrations/template-migration.d.ts +6 -0
- package/schematics/ng-update/migrations/template-migration.js +261 -0
- package/schematics/ng-update/migrations/template-migration.js.map +1 -0
- package/schematics/ng-update/replacements/css-replacements.d.ts +17 -0
- package/schematics/ng-update/replacements/css-replacements.js +74 -0
- package/schematics/ng-update/replacements/css-replacements.js.map +1 -0
- package/schematics/ng-update/replacements/import-replacements.d.ts +13 -0
- package/schematics/ng-update/replacements/import-replacements.js +108 -0
- package/schematics/ng-update/replacements/import-replacements.js.map +1 -0
- package/schematics/ng-update/replacements/symbol-replacements.d.ts +12 -0
- package/schematics/ng-update/replacements/symbol-replacements.js +67 -0
- package/schematics/ng-update/replacements/symbol-replacements.js.map +1 -0
- package/schematics/ng-update/replacements/template-replacements.d.ts +19 -0
- package/schematics/ng-update/replacements/template-replacements.js +57 -0
- package/schematics/ng-update/replacements/template-replacements.js.map +1 -0
- package/schematics/ng-update/tests/test-helpers.d.ts +6 -0
- package/schematics/ng-update/tests/test-helpers.js +34 -0
- package/schematics/ng-update/tests/test-helpers.js.map +1 -0
- package/schematics/ng-update/utils/file-visitor.d.ts +8 -0
- package/schematics/ng-update/utils/file-visitor.js +44 -0
- package/schematics/ng-update/utils/file-visitor.js.map +1 -0
- package/schematics/ng-update/utils/regexp-utils.d.ts +16 -0
- package/schematics/ng-update/utils/regexp-utils.js +34 -0
- package/schematics/ng-update/utils/regexp-utils.js.map +1 -0
- package/schematics/vitest.config.d.ts +2 -0
- package/schematics/vitest.config.js +17 -0
- package/schematics/vitest.config.js.map +1 -0
- package/types/clr-angular-accordion.d.ts +100 -0
- package/types/clr-angular-button.d.ts +169 -0
- package/types/clr-angular-collapsible-panel.d.ts +73 -0
- package/types/clr-angular-data-datagrid.d.ts +1843 -0
- package/types/clr-angular-data-stack-view.d.ts +87 -0
- package/types/clr-angular-data-tree-view.d.ts +229 -0
- package/types/clr-angular-data.d.ts +15 -0
- package/types/clr-angular-emphasis-alert.d.ts +175 -0
- package/types/clr-angular-emphasis-badge.d.ts +25 -0
- package/types/clr-angular-emphasis-common.d.ts +6 -0
- package/types/clr-angular-emphasis-label.d.ts +29 -0
- package/types/clr-angular-emphasis.d.ts +15 -0
- package/types/clr-angular-forms-checkbox.d.ts +69 -0
- package/types/clr-angular-forms-combobox.d.ts +353 -0
- package/types/clr-angular-forms-common.d.ts +339 -0
- package/types/clr-angular-forms-datalist.d.ts +59 -0
- package/types/clr-angular-forms-datepicker.d.ts +986 -0
- package/types/clr-angular-forms-file-input.d.ts +193 -0
- package/types/clr-angular-forms-input.d.ts +29 -0
- package/types/clr-angular-forms-number-input.d.ts +43 -0
- package/types/clr-angular-forms-password.d.ts +52 -0
- package/types/clr-angular-forms-radio.d.ts +50 -0
- package/types/clr-angular-forms-range.d.ts +37 -0
- package/types/clr-angular-forms-select.d.ts +36 -0
- package/types/clr-angular-forms-textarea.d.ts +29 -0
- package/types/clr-angular-forms.d.ts +36 -0
- package/types/clr-angular-icon.d.ts +1498 -0
- package/types/clr-angular-layout-breadcrumbs.d.ts +45 -0
- package/types/clr-angular-layout-main-container.d.ts +28 -0
- package/types/clr-angular-layout-nav.d.ts +142 -0
- package/types/clr-angular-layout-tabs.d.ts +158 -0
- package/types/clr-angular-layout-vertical-nav.d.ts +128 -0
- package/types/clr-angular-layout.d.ts +19 -0
- package/types/clr-angular-modal.d.ts +160 -0
- package/types/clr-angular-popover-common.d.ts +254 -0
- package/types/clr-angular-popover-dropdown.d.ts +123 -0
- package/types/clr-angular-popover-signpost.d.ts +157 -0
- package/types/clr-angular-popover-tooltip.d.ts +83 -0
- package/types/clr-angular-popover.d.ts +16 -0
- package/types/clr-angular-progress-progress-bars.d.ts +57 -0
- package/types/clr-angular-progress-spinner.d.ts +44 -0
- package/types/clr-angular-stepper.d.ts +179 -0
- package/types/clr-angular-timeline.d.ts +86 -0
- package/types/clr-angular-utils-conditional.d.ts +132 -0
- package/types/clr-angular-utils-loading.d.ts +38 -0
- package/types/clr-angular-utils.d.ts +913 -0
- package/types/clr-angular-wizard.d.ts +1508 -0
- package/fesm2022/rossigee-clarity-angular.mjs.map +0 -1
- /package/types/{rossigee-clarity-angular.d.ts → clr-angular.d.ts} +0 -0
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken, Injectable, EventEmitter, Input, Output, Inject, Directive, Optional, NgModule } from '@angular/core';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { ClrLoadingState } from '@clr/angular/utils/loading';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
|
|
7
|
+
/*
|
|
8
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
9
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
10
|
+
* This software is released under MIT license.
|
|
11
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
12
|
+
*/
|
|
13
|
+
let activeCounter = 0;
|
|
14
|
+
const IF_ACTIVE_ID = new InjectionToken('IF_ACTIVE_ID');
|
|
15
|
+
function tokenFactory() {
|
|
16
|
+
return ++activeCounter;
|
|
17
|
+
}
|
|
18
|
+
const IF_ACTIVE_ID_PROVIDER = {
|
|
19
|
+
provide: IF_ACTIVE_ID,
|
|
20
|
+
useFactory: tokenFactory,
|
|
21
|
+
};
|
|
22
|
+
/*********
|
|
23
|
+
* @class IfActiveService
|
|
24
|
+
*
|
|
25
|
+
* @description
|
|
26
|
+
* An injectable service used by IfActive structural directives and the components that implement IfActive in their
|
|
27
|
+
* templates. It holds the value of the current state and provides an Observable that both the directive and the
|
|
28
|
+
* implementing component can subscribe to in order to take action on current value changes.
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
31
|
+
class IfActiveService {
|
|
32
|
+
constructor() {
|
|
33
|
+
/********
|
|
34
|
+
* @property _currentChange
|
|
35
|
+
*
|
|
36
|
+
* @description
|
|
37
|
+
* A RXJS Subject that updates and provides subscriptions to for the current current state of a component template
|
|
38
|
+
* implemting the IfActive structural directive.
|
|
39
|
+
*
|
|
40
|
+
*/
|
|
41
|
+
this._currentChange = new Subject();
|
|
42
|
+
}
|
|
43
|
+
/*********
|
|
44
|
+
*
|
|
45
|
+
* @description
|
|
46
|
+
* A getter function that provides an observable for the _current Subject.
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
49
|
+
get currentChange() {
|
|
50
|
+
return this._currentChange.asObservable();
|
|
51
|
+
}
|
|
52
|
+
/*********
|
|
53
|
+
*
|
|
54
|
+
* @description
|
|
55
|
+
* A property that gets/sets the current state of _current for this instance of IfActive structural directive.
|
|
56
|
+
* And, broadcasts the new value to all subscribers.
|
|
57
|
+
*
|
|
58
|
+
*/
|
|
59
|
+
get current() {
|
|
60
|
+
return this._current;
|
|
61
|
+
}
|
|
62
|
+
set current(value) {
|
|
63
|
+
if (this._current !== value) {
|
|
64
|
+
this._current = value;
|
|
65
|
+
this._currentChange.next(value);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IfActiveService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
69
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IfActiveService }); }
|
|
70
|
+
}
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IfActiveService, decorators: [{
|
|
72
|
+
type: Injectable
|
|
73
|
+
}] });
|
|
74
|
+
|
|
75
|
+
/*
|
|
76
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
77
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
78
|
+
* This software is released under MIT license.
|
|
79
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
80
|
+
*/
|
|
81
|
+
/**********
|
|
82
|
+
*
|
|
83
|
+
* @class ClrIfActive
|
|
84
|
+
*
|
|
85
|
+
* @description
|
|
86
|
+
* A structural directive that controls whether or not the associated TemplateRef is instantiated or not.
|
|
87
|
+
* It makes use of a Component instance level service: IfActiveService to maintain state between itself and
|
|
88
|
+
* the component using it in the component template.
|
|
89
|
+
*
|
|
90
|
+
*/
|
|
91
|
+
class ClrIfActive {
|
|
92
|
+
constructor(ifActiveService, id, template, container) {
|
|
93
|
+
this.ifActiveService = ifActiveService;
|
|
94
|
+
this.id = id;
|
|
95
|
+
this.template = template;
|
|
96
|
+
this.container = container;
|
|
97
|
+
/**********
|
|
98
|
+
* @property activeChange
|
|
99
|
+
*
|
|
100
|
+
* @description
|
|
101
|
+
* An event emitter that emits when the active property is set to allow for 2way binding when the directive is
|
|
102
|
+
* used with de-structured / de-sugared syntax.
|
|
103
|
+
*
|
|
104
|
+
*/
|
|
105
|
+
this.activeChange = new EventEmitter(false);
|
|
106
|
+
this.wasActive = false;
|
|
107
|
+
this.checkAndUpdateView(ifActiveService.current);
|
|
108
|
+
this.subscription = ifActiveService.currentChange.subscribe(newCurrentId => {
|
|
109
|
+
this.checkAndUpdateView(newCurrentId);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* @description
|
|
114
|
+
* A property that gets/sets IfActiveService.active with value.
|
|
115
|
+
*
|
|
116
|
+
*/
|
|
117
|
+
get active() {
|
|
118
|
+
return this.ifActiveService.current === this.id;
|
|
119
|
+
}
|
|
120
|
+
set active(value) {
|
|
121
|
+
if (value) {
|
|
122
|
+
this.ifActiveService.current = this.id;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
ngOnDestroy() {
|
|
126
|
+
this.subscription.unsubscribe();
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* @description
|
|
130
|
+
* Function that takes a any value and either created an embedded view for the associated ViewContainerRef or,
|
|
131
|
+
* Clears all views from the ViewContainerRef
|
|
132
|
+
*/
|
|
133
|
+
updateView(value) {
|
|
134
|
+
if (value) {
|
|
135
|
+
this.container.createEmbeddedView(this.template);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
this.container.clear();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
checkAndUpdateView(currentId) {
|
|
142
|
+
const isNowActive = currentId === this.id;
|
|
143
|
+
// only emit if the new active state is changed since last time.
|
|
144
|
+
if (isNowActive !== this.wasActive) {
|
|
145
|
+
this.updateView(isNowActive);
|
|
146
|
+
this.activeChange.emit(isNowActive);
|
|
147
|
+
this.wasActive = isNowActive;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrIfActive, deps: [{ token: IfActiveService }, { token: IF_ACTIVE_ID }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
151
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: ClrIfActive, isStandalone: true, selector: "[clrIfActive]", inputs: { active: ["clrIfActive", "active"] }, outputs: { activeChange: "clrIfActiveChange" }, ngImport: i0 }); }
|
|
152
|
+
}
|
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrIfActive, decorators: [{
|
|
154
|
+
type: Directive,
|
|
155
|
+
args: [{
|
|
156
|
+
selector: '[clrIfActive]',
|
|
157
|
+
}]
|
|
158
|
+
}], ctorParameters: () => [{ type: IfActiveService }, { type: undefined, decorators: [{
|
|
159
|
+
type: Inject,
|
|
160
|
+
args: [IF_ACTIVE_ID]
|
|
161
|
+
}] }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { activeChange: [{
|
|
162
|
+
type: Output,
|
|
163
|
+
args: ['clrIfActiveChange']
|
|
164
|
+
}], active: [{
|
|
165
|
+
type: Input,
|
|
166
|
+
args: ['clrIfActive']
|
|
167
|
+
}] } });
|
|
168
|
+
|
|
169
|
+
/*
|
|
170
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
171
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
172
|
+
* This software is released under MIT license.
|
|
173
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
174
|
+
*/
|
|
175
|
+
class IfExpandService {
|
|
176
|
+
constructor() {
|
|
177
|
+
this.expandable = 0;
|
|
178
|
+
this.hasExpandTemplate = false;
|
|
179
|
+
this._loading = false;
|
|
180
|
+
this._expanded = false;
|
|
181
|
+
this._expandChange = new Subject();
|
|
182
|
+
}
|
|
183
|
+
get loading() {
|
|
184
|
+
return this._loading;
|
|
185
|
+
}
|
|
186
|
+
set loading(value) {
|
|
187
|
+
value = !!value;
|
|
188
|
+
if (value !== this._loading) {
|
|
189
|
+
this._loading = value;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
get expanded() {
|
|
193
|
+
return this._expanded;
|
|
194
|
+
}
|
|
195
|
+
set expanded(value) {
|
|
196
|
+
value = !!value;
|
|
197
|
+
if (value !== this._expanded) {
|
|
198
|
+
this._expanded = value;
|
|
199
|
+
this._expandChange.next(value);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
get expandChange() {
|
|
203
|
+
return this._expandChange.asObservable();
|
|
204
|
+
}
|
|
205
|
+
toggle() {
|
|
206
|
+
this.expanded = !this._expanded;
|
|
207
|
+
}
|
|
208
|
+
loadingStateChange(state) {
|
|
209
|
+
switch (state) {
|
|
210
|
+
case ClrLoadingState.LOADING:
|
|
211
|
+
this.loading = true;
|
|
212
|
+
break;
|
|
213
|
+
default:
|
|
214
|
+
this.loading = false;
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IfExpandService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
219
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IfExpandService }); }
|
|
220
|
+
}
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IfExpandService, decorators: [{
|
|
222
|
+
type: Injectable
|
|
223
|
+
}] });
|
|
224
|
+
|
|
225
|
+
/*
|
|
226
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
227
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
228
|
+
* This software is released under MIT license.
|
|
229
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
230
|
+
*/
|
|
231
|
+
class ClrIfExpanded {
|
|
232
|
+
constructor(template, container, el, renderer, expand) {
|
|
233
|
+
this.template = template;
|
|
234
|
+
this.container = container;
|
|
235
|
+
this.el = el;
|
|
236
|
+
this.renderer = renderer;
|
|
237
|
+
this.expand = expand;
|
|
238
|
+
this.expandedChange = new EventEmitter(true);
|
|
239
|
+
this._expanded = false;
|
|
240
|
+
/**
|
|
241
|
+
* Subscriptions to all the services and queries changes
|
|
242
|
+
*/
|
|
243
|
+
this._subscriptions = [];
|
|
244
|
+
this._subscriptions.push(expand.expandChange.subscribe(() => {
|
|
245
|
+
this.updateView();
|
|
246
|
+
this.expandedChange.emit(expand.expanded);
|
|
247
|
+
}));
|
|
248
|
+
expand.hasExpandTemplate = !!template;
|
|
249
|
+
}
|
|
250
|
+
get expanded() {
|
|
251
|
+
return this._expanded;
|
|
252
|
+
}
|
|
253
|
+
set expanded(value) {
|
|
254
|
+
if (typeof value === 'boolean') {
|
|
255
|
+
this.expand.expanded = value;
|
|
256
|
+
this._expanded = value;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
ngOnInit() {
|
|
260
|
+
this.expand.expandable++;
|
|
261
|
+
this.updateView();
|
|
262
|
+
}
|
|
263
|
+
ngOnDestroy() {
|
|
264
|
+
this.expand.expandable--;
|
|
265
|
+
this._subscriptions.forEach((sub) => sub.unsubscribe());
|
|
266
|
+
}
|
|
267
|
+
updateView() {
|
|
268
|
+
if (this.expand.expanded && this.container.length !== 0) {
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
if (this.template) {
|
|
272
|
+
if (this.expand.expanded) {
|
|
273
|
+
// Should we pass a context? I don't see anything useful to pass right now,
|
|
274
|
+
// but we can come back to it in the future as a solution for additional features.
|
|
275
|
+
this.container.createEmbeddedView(this.template);
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
// TODO: Move when we move the animation logic to Datagrid Row Expand
|
|
279
|
+
// We clear before the animation is over. Not ideal, but doing better would involve a much heavier
|
|
280
|
+
// process for very little gain. Once Angular animations are dynamic enough, we should be able to
|
|
281
|
+
// get the optimal behavior.
|
|
282
|
+
this.container.clear();
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
try {
|
|
287
|
+
// If we don't have a template ref, we fallback to a crude display: none for now.
|
|
288
|
+
if (this.expand.expanded) {
|
|
289
|
+
this.renderer.setStyle(this.el.nativeElement, 'display', null);
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
this.renderer.setStyle(this.el.nativeElement, 'display', 'none');
|
|
293
|
+
}
|
|
294
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
295
|
+
}
|
|
296
|
+
catch (e) {
|
|
297
|
+
// We catch the case where clrIfExpanded was put on a non-DOM element, and we just do nothing
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrIfExpanded, deps: [{ token: i0.TemplateRef, optional: true }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: IfExpandService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
302
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: ClrIfExpanded, isStandalone: true, selector: "[clrIfExpanded]", inputs: { expanded: ["clrIfExpanded", "expanded"] }, outputs: { expandedChange: "clrIfExpandedChange" }, ngImport: i0 }); }
|
|
303
|
+
}
|
|
304
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrIfExpanded, decorators: [{
|
|
305
|
+
type: Directive,
|
|
306
|
+
args: [{
|
|
307
|
+
selector: '[clrIfExpanded]',
|
|
308
|
+
}]
|
|
309
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
|
|
310
|
+
type: Optional
|
|
311
|
+
}] }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: IfExpandService }], propDecorators: { expandedChange: [{
|
|
312
|
+
type: Output,
|
|
313
|
+
args: ['clrIfExpandedChange']
|
|
314
|
+
}], expanded: [{
|
|
315
|
+
type: Input,
|
|
316
|
+
args: ['clrIfExpanded']
|
|
317
|
+
}] } });
|
|
318
|
+
|
|
319
|
+
/*
|
|
320
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
321
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
322
|
+
* This software is released under MIT license.
|
|
323
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
324
|
+
*/
|
|
325
|
+
const CONDITIONAL_DIRECTIVES = [ClrIfActive, ClrIfExpanded];
|
|
326
|
+
class ClrConditionalModule {
|
|
327
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrConditionalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
328
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrConditionalModule, imports: [CommonModule, ClrIfActive, ClrIfExpanded], exports: [ClrIfActive, ClrIfExpanded] }); }
|
|
329
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrConditionalModule, imports: [CommonModule] }); }
|
|
330
|
+
}
|
|
331
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrConditionalModule, decorators: [{
|
|
332
|
+
type: NgModule,
|
|
333
|
+
args: [{
|
|
334
|
+
imports: [CommonModule, CONDITIONAL_DIRECTIVES],
|
|
335
|
+
exports: [CONDITIONAL_DIRECTIVES],
|
|
336
|
+
}]
|
|
337
|
+
}] });
|
|
338
|
+
|
|
339
|
+
/*
|
|
340
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
341
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
342
|
+
* This software is released under MIT license.
|
|
343
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
344
|
+
*/
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* Generated bundle index. Do not edit.
|
|
348
|
+
*/
|
|
349
|
+
|
|
350
|
+
export { CONDITIONAL_DIRECTIVES, ClrConditionalModule, ClrIfActive, ClrIfExpanded, IF_ACTIVE_ID, IF_ACTIVE_ID_PROVIDER, IfActiveService, IfExpandService, tokenFactory };
|
|
351
|
+
//# sourceMappingURL=clr-angular-utils-conditional.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clr-angular-utils-conditional.mjs","sources":["../../../projects/angular/utils/conditional/if-active.service.ts","../../../projects/angular/utils/conditional/if-active.directive.ts","../../../projects/angular/utils/conditional/if-expanded.service.ts","../../../projects/angular/utils/conditional/if-expanded.directive.ts","../../../projects/angular/utils/conditional/conditional.module.ts","../../../projects/angular/utils/conditional/index.ts","../../../projects/angular/utils/conditional/clr-angular-utils-conditional.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\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\nimport { Injectable, InjectionToken } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nlet activeCounter = 0;\n\nexport const IF_ACTIVE_ID = new InjectionToken<number>('IF_ACTIVE_ID');\n\nexport function tokenFactory() {\n return ++activeCounter;\n}\n\nexport const IF_ACTIVE_ID_PROVIDER = {\n provide: IF_ACTIVE_ID,\n useFactory: tokenFactory,\n};\n\n@Injectable()\n\n/*********\n * @class IfActiveService\n *\n * @description\n * An injectable service used by IfActive structural directives and the components that implement IfActive in their\n * templates. It holds the value of the current state and provides an Observable that both the directive and the\n * implementing component can subscribe to in order to take action on current value changes.\n *\n */\nexport class IfActiveService {\n /********\n * @property _currentChange\n *\n * @description\n * A RXJS Subject that updates and provides subscriptions to for the current current state of a component template\n * implemting the IfActive structural directive.\n *\n */\n private _currentChange = new Subject<number>();\n\n /*********\n * @property _current\n *\n * @description\n * A property holding the current value for current/closed state of an IfActive structural directive.\n */\n private _current: number;\n\n /*********\n *\n * @description\n * A getter function that provides an observable for the _current Subject.\n *\n */\n get currentChange(): Observable<number> {\n return this._currentChange.asObservable();\n }\n\n /*********\n *\n * @description\n * A property that gets/sets the current state of _current for this instance of IfActive structural directive.\n * And, broadcasts the new value to all subscribers.\n *\n */\n get current(): number {\n return this._current;\n }\n set current(value: number) {\n if (this._current !== value) {\n this._current = value;\n this._currentChange.next(value);\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\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\nimport {\n Directive,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n Output,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { IF_ACTIVE_ID, IfActiveService } from './if-active.service';\n\n@Directive({\n selector: '[clrIfActive]',\n})\n\n/**********\n *\n * @class ClrIfActive\n *\n * @description\n * A structural directive that controls whether or not the associated TemplateRef is instantiated or not.\n * It makes use of a Component instance level service: IfActiveService to maintain state between itself and\n * the component using it in the component template.\n *\n */\nexport class ClrIfActive implements OnDestroy {\n /**********\n * @property activeChange\n *\n * @description\n * An event emitter that emits when the active property is set to allow for 2way binding when the directive is\n * used with de-structured / de-sugared syntax.\n *\n */\n @Output('clrIfActiveChange') activeChange = new EventEmitter<boolean>(false);\n\n private subscription: Subscription;\n private wasActive = false;\n\n constructor(\n private ifActiveService: IfActiveService,\n @Inject(IF_ACTIVE_ID) private id: number,\n private template: TemplateRef<any>,\n private container: ViewContainerRef\n ) {\n this.checkAndUpdateView(ifActiveService.current);\n\n this.subscription = ifActiveService.currentChange.subscribe(newCurrentId => {\n this.checkAndUpdateView(newCurrentId);\n });\n }\n\n /**\n * @description\n * A property that gets/sets IfActiveService.active with value.\n *\n */\n @Input('clrIfActive')\n get active() {\n return this.ifActiveService.current === this.id;\n }\n set active(value: boolean | string) {\n if (value) {\n this.ifActiveService.current = this.id;\n }\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n /**\n * @description\n * Function that takes a any value and either created an embedded view for the associated ViewContainerRef or,\n * Clears all views from the ViewContainerRef\n */\n updateView(value: boolean) {\n if (value) {\n this.container.createEmbeddedView(this.template);\n } else {\n this.container.clear();\n }\n }\n\n private checkAndUpdateView(currentId: number) {\n const isNowActive = currentId === this.id;\n // only emit if the new active state is changed since last time.\n if (isNowActive !== this.wasActive) {\n this.updateView(isNowActive);\n this.activeChange.emit(isNowActive);\n this.wasActive = isNowActive;\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\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\nimport { Injectable } from '@angular/core';\nimport { ClrLoadingState, LoadingListener } from '@clr/angular/utils/loading';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class IfExpandService implements LoadingListener {\n expandable = 0;\n hasExpandTemplate = false;\n\n protected _loading = false;\n protected _expanded = false;\n protected _expandChange = new Subject<boolean>();\n\n get loading(): boolean {\n return this._loading;\n }\n set loading(value: boolean) {\n value = !!value;\n if (value !== this._loading) {\n this._loading = value;\n }\n }\n\n get expanded(): boolean {\n return this._expanded;\n }\n set expanded(value: boolean) {\n value = !!value;\n if (value !== this._expanded) {\n this._expanded = value;\n this._expandChange.next(value);\n }\n }\n\n get expandChange(): Observable<boolean> {\n return this._expandChange.asObservable();\n }\n\n toggle() {\n this.expanded = !this._expanded;\n }\n\n loadingStateChange(state: ClrLoadingState): void {\n switch (state) {\n case ClrLoadingState.LOADING:\n this.loading = true;\n break;\n default:\n this.loading = false;\n break;\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\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\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { IfExpandService } from './if-expanded.service';\n\n@Directive({\n selector: '[clrIfExpanded]',\n})\nexport class ClrIfExpanded implements OnInit, OnDestroy {\n @Output('clrIfExpandedChange') expandedChange = new EventEmitter<boolean>(true);\n\n private _expanded = false;\n\n /**\n * Subscriptions to all the services and queries changes\n */\n private _subscriptions: Subscription[] = [];\n\n constructor(\n @Optional() private template: TemplateRef<any>,\n private container: ViewContainerRef,\n private el: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n private expand: IfExpandService\n ) {\n this._subscriptions.push(\n expand.expandChange.subscribe(() => {\n this.updateView();\n this.expandedChange.emit(expand.expanded);\n })\n );\n\n expand.hasExpandTemplate = !!template;\n }\n\n @Input('clrIfExpanded')\n get expanded(): boolean | string {\n return this._expanded;\n }\n set expanded(value: boolean | string) {\n if (typeof value === 'boolean') {\n this.expand.expanded = value;\n this._expanded = value;\n }\n }\n\n ngOnInit() {\n this.expand.expandable++;\n this.updateView();\n }\n\n ngOnDestroy() {\n this.expand.expandable--;\n this._subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\n }\n\n private updateView() {\n if (this.expand.expanded && this.container.length !== 0) {\n return;\n }\n if (this.template) {\n if (this.expand.expanded) {\n // Should we pass a context? I don't see anything useful to pass right now,\n // but we can come back to it in the future as a solution for additional features.\n this.container.createEmbeddedView(this.template);\n } else {\n // TODO: Move when we move the animation logic to Datagrid Row Expand\n // We clear before the animation is over. Not ideal, but doing better would involve a much heavier\n // process for very little gain. Once Angular animations are dynamic enough, we should be able to\n // get the optimal behavior.\n this.container.clear();\n }\n } else {\n try {\n // If we don't have a template ref, we fallback to a crude display: none for now.\n if (this.expand.expanded) {\n this.renderer.setStyle(this.el.nativeElement, 'display', null);\n } else {\n this.renderer.setStyle(this.el.nativeElement, 'display', 'none');\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n // We catch the case where clrIfExpanded was put on a non-DOM element, and we just do nothing\n }\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\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\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\n\nimport { ClrIfActive } from './if-active.directive';\nimport { ClrIfExpanded } from './if-expanded.directive';\n\nexport const CONDITIONAL_DIRECTIVES: Type<any>[] = [ClrIfActive, ClrIfExpanded];\n\n@NgModule({\n imports: [CommonModule, CONDITIONAL_DIRECTIVES],\n exports: [CONDITIONAL_DIRECTIVES],\n})\nexport class ClrConditionalModule {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\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\nexport * from './if-active.directive';\nexport * from './if-active.service';\nexport * from './if-expanded.directive';\nexport * from './if-expanded.service';\nexport * from './conditional.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.IfExpandService"],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Input, Optional, Directive, NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
7
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
8
|
+
* This software is released under MIT license.
|
|
9
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* This is an abstract class because we need it to still be a valid token for dependency injection after transpiling.
|
|
13
|
+
* This does not mean you should extend it, simply implementing it is fine.
|
|
14
|
+
*/
|
|
15
|
+
class LoadingListener {
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/*
|
|
19
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
20
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
21
|
+
* This software is released under MIT license.
|
|
22
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
23
|
+
*/
|
|
24
|
+
var ClrLoadingState;
|
|
25
|
+
(function (ClrLoadingState) {
|
|
26
|
+
ClrLoadingState[ClrLoadingState["DEFAULT"] = 0] = "DEFAULT";
|
|
27
|
+
ClrLoadingState[ClrLoadingState["LOADING"] = 1] = "LOADING";
|
|
28
|
+
ClrLoadingState[ClrLoadingState["SUCCESS"] = 2] = "SUCCESS";
|
|
29
|
+
ClrLoadingState[ClrLoadingState["ERROR"] = 3] = "ERROR";
|
|
30
|
+
})(ClrLoadingState || (ClrLoadingState = {}));
|
|
31
|
+
class ClrLoading {
|
|
32
|
+
// We find the first parent that handles something loading
|
|
33
|
+
constructor(listener) {
|
|
34
|
+
this.listener = listener;
|
|
35
|
+
this._loadingState = ClrLoadingState.DEFAULT;
|
|
36
|
+
}
|
|
37
|
+
get loadingState() {
|
|
38
|
+
return this._loadingState;
|
|
39
|
+
}
|
|
40
|
+
set loadingState(value) {
|
|
41
|
+
if (value === true) {
|
|
42
|
+
value = ClrLoadingState.LOADING;
|
|
43
|
+
}
|
|
44
|
+
else if (!value) {
|
|
45
|
+
value = ClrLoadingState.DEFAULT;
|
|
46
|
+
}
|
|
47
|
+
if (value === this._loadingState) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
this._loadingState = value;
|
|
51
|
+
if (this.listener) {
|
|
52
|
+
this.listener.loadingStateChange(value);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
ngOnDestroy() {
|
|
56
|
+
this.loadingState = ClrLoadingState.DEFAULT;
|
|
57
|
+
}
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrLoading, deps: [{ token: LoadingListener, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
59
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: ClrLoading, isStandalone: false, selector: "[clrLoading]", inputs: { loadingState: ["clrLoading", "loadingState"] }, ngImport: i0 }); }
|
|
60
|
+
}
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrLoading, decorators: [{
|
|
62
|
+
type: Directive,
|
|
63
|
+
args: [{
|
|
64
|
+
selector: '[clrLoading]',
|
|
65
|
+
standalone: false,
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: () => [{ type: LoadingListener, decorators: [{
|
|
68
|
+
type: Optional
|
|
69
|
+
}] }], propDecorators: { loadingState: [{
|
|
70
|
+
type: Input,
|
|
71
|
+
args: ['clrLoading']
|
|
72
|
+
}] } });
|
|
73
|
+
|
|
74
|
+
/*
|
|
75
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
76
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
77
|
+
* This software is released under MIT license.
|
|
78
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
79
|
+
*/
|
|
80
|
+
const CLR_LOADING_DIRECTIVES = [ClrLoading];
|
|
81
|
+
class ClrLoadingModule {
|
|
82
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
83
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrLoadingModule, declarations: [ClrLoading], imports: [CommonModule], exports: [ClrLoading] }); }
|
|
84
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrLoadingModule, imports: [CommonModule] }); }
|
|
85
|
+
}
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrLoadingModule, decorators: [{
|
|
87
|
+
type: NgModule,
|
|
88
|
+
args: [{
|
|
89
|
+
imports: [CommonModule],
|
|
90
|
+
declarations: [CLR_LOADING_DIRECTIVES],
|
|
91
|
+
exports: [CLR_LOADING_DIRECTIVES],
|
|
92
|
+
}]
|
|
93
|
+
}] });
|
|
94
|
+
|
|
95
|
+
/*
|
|
96
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
97
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
98
|
+
* This software is released under MIT license.
|
|
99
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
100
|
+
*/
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Generated bundle index. Do not edit.
|
|
104
|
+
*/
|
|
105
|
+
|
|
106
|
+
export { CLR_LOADING_DIRECTIVES, ClrLoading, ClrLoadingModule, ClrLoadingState, LoadingListener };
|
|
107
|
+
//# sourceMappingURL=clr-angular-utils-loading.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clr-angular-utils-loading.mjs","sources":["../../../projects/angular/utils/loading/loading-listener.ts","../../../projects/angular/utils/loading/loading.ts","../../../projects/angular/utils/loading/loading.module.ts","../../../projects/angular/utils/loading/index.ts","../../../projects/angular/utils/loading/clr-angular-utils-loading.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\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\nimport { ClrLoadingState } from './loading';\n\n/**\n * This is an abstract class because we need it to still be a valid token for dependency injection after transpiling.\n * This does not mean you should extend it, simply implementing it is fine.\n */\nexport abstract class LoadingListener {\n abstract loadingStateChange(state: ClrLoadingState | string): void;\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\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\nimport { Directive, Input, OnDestroy, Optional } from '@angular/core';\n\nimport { LoadingListener } from './loading-listener';\n\nexport enum ClrLoadingState {\n DEFAULT,\n LOADING,\n SUCCESS,\n ERROR,\n}\n\n@Directive({\n selector: '[clrLoading]',\n standalone: false,\n})\nexport class ClrLoading implements OnDestroy {\n static ngAcceptInputType_loadingState: boolean | ClrLoadingState | null | string;\n\n private _loadingState: ClrLoadingState | string = ClrLoadingState.DEFAULT;\n\n // We find the first parent that handles something loading\n constructor(@Optional() private listener: LoadingListener) {}\n\n @Input('clrLoading')\n get loadingState() {\n return this._loadingState;\n }\n set loadingState(value: boolean | string | ClrLoadingState) {\n if (value === true) {\n value = ClrLoadingState.LOADING;\n } else if (!value) {\n value = ClrLoadingState.DEFAULT;\n }\n\n if (value === this._loadingState) {\n return;\n }\n\n this._loadingState = value;\n if (this.listener) {\n this.listener.loadingStateChange(value);\n }\n }\n\n ngOnDestroy() {\n this.loadingState = ClrLoadingState.DEFAULT;\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\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\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\n\nimport { ClrLoading } from './loading';\n\nexport const CLR_LOADING_DIRECTIVES: Type<any>[] = [ClrLoading];\n\n@NgModule({\n imports: [CommonModule],\n declarations: [CLR_LOADING_DIRECTIVES],\n exports: [CLR_LOADING_DIRECTIVES],\n})\nexport class ClrLoadingModule {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\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\nexport * from './loading';\nexport * from './loading-listener';\nexport * from './loading.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.LoadingListener"],"mappings":"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"}
|