@tiba-spark/client-shared-lib 26.3.0-621 → 26.3.0-624
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/esm2022/libraries/components/cloud-confirm-dialog/cloud-confirm-dialog.component.mjs +3 -3
- package/esm2022/libraries/components/common-pages/error-page/error-page.component.mjs +7 -32
- package/esm2022/libraries/components/field-label/field-label.component.mjs +6 -39
- package/esm2022/libraries/components/field-validations/field-validations.component.mjs +5 -6
- package/esm2022/libraries/components/guest-open-ticket-dialog/guest-open-ticket-dialog.component.mjs +2 -2
- package/esm2022/libraries/components/intercom/intercom.component.mjs +2 -2
- package/esm2022/libraries/components/logo/logo.component.mjs +3 -3
- package/esm2022/libraries/components/message-bar/float-message-bar.service.mjs +6 -30
- package/esm2022/libraries/components/modal-buttons-wrapper/modal-buttons-wrapper.component.mjs +4 -9
- package/esm2022/libraries/components/notification/alert-notification/alert-notification.component.mjs +3 -3
- package/esm2022/libraries/components/notification/command-notification/command-notification.component.mjs +3 -3
- package/esm2022/libraries/components/notification/notification-type-label/notification-type-label.component.mjs +2 -2
- package/esm2022/libraries/components/notification/notification.service.mjs +3 -6
- package/esm2022/libraries/components/overlay-loading-container/empty-results/empty-results.component.mjs +3 -3
- package/esm2022/libraries/components/overlay-loading-container/error-results/error-results.component.mjs +2 -2
- package/esm2022/libraries/components/restart-link/restart-link.component.mjs +2 -2
- package/esm2022/libraries/directives/index.mjs +1 -4
- package/esm2022/libraries/directives/shared-directives.module.mjs +1 -16
- package/esm2022/libraries/enums/icon.enum.mjs +3 -1
- package/esm2022/libraries/enums/localization.enum.mjs +1 -38
- package/esm2022/libraries/enums/message-bar-duration.enum.mjs +2 -4
- package/esm2022/libraries/interfaces/table-column.interface.mjs +1 -1
- package/esm2022/libraries/modules/layout/layout.state.mjs +2 -2
- package/esm2022/libraries/resolvers/tech-tools-module.resolver.mjs +7 -7
- package/esm2022/libraries/services/can-deactivate.service.mjs +3 -4
- package/esm2022/libraries/services/modal.service.mjs +1 -14
- package/fesm2022/tiba-spark-client-shared-lib.mjs +55 -405
- package/fesm2022/tiba-spark-client-shared-lib.mjs.map +1 -1
- package/libraries/components/common-pages/error-page/error-page.component.d.ts +2 -10
- package/libraries/components/common-pages/error-page/error-page.component.d.ts.map +1 -1
- package/libraries/components/field-label/field-label.component.d.ts +3 -8
- package/libraries/components/field-label/field-label.component.d.ts.map +1 -1
- package/libraries/components/field-validations/field-validations.component.d.ts +4 -0
- package/libraries/components/field-validations/field-validations.component.d.ts.map +1 -1
- package/libraries/components/message-bar/float-message-bar.service.d.ts +0 -2
- package/libraries/components/message-bar/float-message-bar.service.d.ts.map +1 -1
- package/libraries/components/modal-buttons-wrapper/modal-buttons-wrapper.component.d.ts.map +1 -1
- package/libraries/components/notification/alert-notification/alert-notification.component.d.ts.map +1 -1
- package/libraries/components/notification/command-notification/command-notification.component.d.ts.map +1 -1
- package/libraries/components/notification/notification.service.d.ts.map +1 -1
- package/libraries/directives/index.d.ts +0 -3
- package/libraries/directives/index.d.ts.map +1 -1
- package/libraries/directives/shared-directives.module.d.ts +4 -7
- package/libraries/directives/shared-directives.module.d.ts.map +1 -1
- package/libraries/enums/icon.enum.d.ts +4 -2
- package/libraries/enums/icon.enum.d.ts.map +1 -1
- package/libraries/enums/localization.enum.d.ts +0 -37
- package/libraries/enums/localization.enum.d.ts.map +1 -1
- package/libraries/enums/message-bar-duration.enum.d.ts +1 -3
- package/libraries/enums/message-bar-duration.enum.d.ts.map +1 -1
- package/libraries/interfaces/table-column.interface.d.ts +0 -1
- package/libraries/interfaces/table-column.interface.d.ts.map +1 -1
- package/libraries/resolvers/tech-tools-module.resolver.d.ts.map +1 -1
- package/libraries/services/can-deactivate.service.d.ts.map +1 -1
- package/libraries/services/modal.service.d.ts +0 -1
- package/libraries/services/modal.service.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libraries/theme/_calendar.scss +1 -2
- package/src/libraries/theme/_card.scss +5 -6
- package/src/libraries/theme/_forms.scss +1 -1
- package/src/libraries/theme/_mixins.scss +1 -0
- package/src/libraries/theme/_modals.scss +2 -3
- package/src/libraries/theme/_ngx.scss +1 -0
- package/src/libraries/theme/_tables.scss +2 -3
- package/src/libraries/theme/_tabs.scss +4 -6
- package/src/libraries/theme/_utils.scss +4 -123
- package/src/libraries/theme/_variables.scss +8 -35
- package/src/libraries/theme/assets/icons/tech-tools-module-404.svg +11 -0
- package/src/libraries/theme/components/_carousel.scss +2 -2
- package/src/libraries/theme/components/_tb-search.scss +4 -10
- package/src/libraries/theme/mat-components/_mat-date-picker.scss +0 -4
- package/src/libraries/theme/mat-components/_mat-input.scss +0 -5
- package/src/libraries/theme/mat-components/_mat-menu.scss +14 -40
- package/src/libraries/theme/mat-components/_mat-select.scss +1 -23
- package/src/libraries/theme/mat-components/_mat-selection-list.scss +3 -2
- package/src/libraries/theme/mat-components/_mat-step.scss +0 -19
- package/src/libraries/theme/theme.scss +0 -119
- package/esm2022/libraries/directives/clear-all-button.directive.mjs +0 -49
- package/esm2022/libraries/directives/disabled.directive.mjs +0 -121
- package/esm2022/libraries/directives/icon-button.directive.mjs +0 -36
- package/libraries/directives/clear-all-button.directive.d.ts +0 -19
- package/libraries/directives/clear-all-button.directive.d.ts.map +0 -1
- package/libraries/directives/disabled.directive.d.ts +0 -30
- package/libraries/directives/disabled.directive.d.ts.map +0 -1
- package/libraries/directives/icon-button.directive.d.ts +0 -14
- package/libraries/directives/icon-button.directive.d.ts.map +0 -1
|
@@ -11,125 +11,6 @@ body {
|
|
|
11
11
|
--mat-sidenav-content-text-color: #{ variables.$text-color};
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
// Text fields show focus with their own border.
|
|
15
|
-
:focus-visible:not(input, textarea) {
|
|
16
|
-
outline: 1px solid variables.$focus-ring-color;
|
|
17
|
-
outline-offset: 2px;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// The side menu and tab strip clip outside the element, so draw the ring inside.
|
|
21
|
-
.mat-drawer :focus-visible,
|
|
22
|
-
.mdc-tab:focus-visible {
|
|
23
|
-
outline-offset: -1px;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// Dropdowns look like text fields on focus: a 1px blue line over their own border.
|
|
27
|
-
.tb-dropdown-menu-trigger:focus-visible {
|
|
28
|
-
outline-width: 1px;
|
|
29
|
-
outline-offset: -1px;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// The select's field border already turns blue on focus.
|
|
33
|
-
.mat-mdc-select:focus-visible {
|
|
34
|
-
outline: none;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// Dialog X and minimize: rounded like their hover background, so the focus ring is rounded too.
|
|
38
|
-
.modal-close-icon,
|
|
39
|
-
.modal-minimize-icon {
|
|
40
|
-
border-radius: 4px;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// Round ring on icon buttons inside a field (search clear X), inset: the field clips anything outside it.
|
|
44
|
-
.mat-mdc-form-field-icon-suffix [role='button']:focus-visible,
|
|
45
|
-
.mat-mdc-form-field-icon-suffix .mat-mdc-icon-button:focus-visible {
|
|
46
|
-
border-radius: 50%;
|
|
47
|
-
margin: auto 0;
|
|
48
|
-
outline-offset: -2px;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// Focused icon buttons get the 1px ring only, not Material's gray focus fill.
|
|
52
|
-
.mat-mdc-icon-button.cdk-keyboard-focused,
|
|
53
|
-
.mat-mdc-icon-button.cdk-program-focused {
|
|
54
|
-
.mat-mdc-button-persistent-ripple::before {
|
|
55
|
-
opacity: 0;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Radios and checkboxes hide their native input; ring the visible circle or box, not the input.
|
|
60
|
-
.mdc-radio__native-control:focus-visible,
|
|
61
|
-
.mdc-checkbox__native-control:focus-visible {
|
|
62
|
-
outline: none;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.mdc-radio__native-control:focus-visible ~ .mdc-radio__background,
|
|
66
|
-
.mdc-checkbox__native-control:focus-visible ~ .mdc-checkbox__background {
|
|
67
|
-
outline: 1px solid variables.$focus-ring-color;
|
|
68
|
-
outline-offset: 2px;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.mdc-radio__native-control:focus-visible ~ .mdc-radio__background {
|
|
72
|
-
border-radius: 50%;
|
|
73
|
-
// Clear of the selected radio's own blue circle.
|
|
74
|
-
outline-offset: 3px;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// The ring is drawn by ::after below.
|
|
78
|
-
.mdc-switch:focus-visible {
|
|
79
|
-
outline: none;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// The 20px knob overhangs the 15px track; ring it with an even gap around both.
|
|
83
|
-
.mdc-switch:focus-visible::after {
|
|
84
|
-
content: '';
|
|
85
|
-
position: absolute;
|
|
86
|
-
inset: -6px -3px;
|
|
87
|
-
border: 1px solid variables.$focus-ring-color;
|
|
88
|
-
border-radius: 14px;
|
|
89
|
-
pointer-events: none;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
.mat-drawer .mdc-switch:focus-visible::after {
|
|
93
|
-
border-color: variables.$focus-ring-color-on-dark;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// Adjacent tabs (all z-index 1) and joined fields paint over the ring; lift the focused one.
|
|
97
|
-
.mdc-tab:focus-visible,
|
|
98
|
-
.mat-mdc-form-field:has(:focus-visible) {
|
|
99
|
-
z-index: 2;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.mat-drawer :focus-visible {
|
|
103
|
-
outline-color: variables.$focus-ring-color-on-dark;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// Material sets outline: none on expansion headers; the panel clips, so the ring goes inside.
|
|
107
|
-
.mat-expansion-panel .mat-expansion-panel-header:focus-visible {
|
|
108
|
-
outline: 1px solid variables.$focus-ring-color;
|
|
109
|
-
outline-offset: -1px;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// Same for list items (Material sets outline: 0); dropdown options show a bar instead.
|
|
113
|
-
.mat-mdc-list-item.mdc-list-item:focus-visible:not(.list-option-item) {
|
|
114
|
-
outline: 1px solid variables.$focus-ring-color;
|
|
115
|
-
outline-offset: -1px;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// Side menu: the row's own children paint over an outline on hover, so draw the ring as an overlay.
|
|
119
|
-
.mat-drawer .mat-expansion-panel .mat-expansion-panel-header:focus-visible,
|
|
120
|
-
.mat-drawer .mat-mdc-list-item.mdc-list-item:focus-visible:not(.list-option-item) {
|
|
121
|
-
outline: none;
|
|
122
|
-
|
|
123
|
-
&::after {
|
|
124
|
-
content: '';
|
|
125
|
-
position: absolute;
|
|
126
|
-
inset: 2px;
|
|
127
|
-
border: 1px solid variables.$focus-ring-color-on-dark;
|
|
128
|
-
pointer-events: none;
|
|
129
|
-
z-index: 1;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
14
|
/* Override all Material Typography */
|
|
134
15
|
* {
|
|
135
16
|
letter-spacing: 0 !important;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, inject } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
const ENABLED_CLASS = 'active-button';
|
|
4
|
-
/**
|
|
5
|
-
* Every "Clear All" filter button (`.tb-clear-all-filters-button`) is a keyboard button.
|
|
6
|
-
* Pages enable it with the `active-button` class; without it the button is disabled for
|
|
7
|
-
* the mouse (theme `pointer-events: none`), so it also leaves the Tab order and ignores keys.
|
|
8
|
-
*/
|
|
9
|
-
export class ClearAllButtonDirective {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.el = inject(ElementRef).nativeElement;
|
|
12
|
-
this.observer = new MutationObserver(() => this.sync());
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this.observer.observe(this.el, { attributes: true, attributeFilter: ['class'] });
|
|
16
|
-
this.sync();
|
|
17
|
-
}
|
|
18
|
-
ngOnDestroy() {
|
|
19
|
-
this.observer.disconnect();
|
|
20
|
-
}
|
|
21
|
-
activate(event) {
|
|
22
|
-
event.preventDefault();
|
|
23
|
-
if (this.enabled && !event.repeat) {
|
|
24
|
-
this.el.click();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
get enabled() {
|
|
28
|
-
return this.el.classList.contains(ENABLED_CLASS);
|
|
29
|
-
}
|
|
30
|
-
sync() {
|
|
31
|
-
this.el.tabIndex = this.enabled ? 0 : -1;
|
|
32
|
-
this.el.setAttribute('aria-disabled', String(!this.enabled));
|
|
33
|
-
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ClearAllButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
35
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: ClearAllButtonDirective, isStandalone: true, selector: ".tb-clear-all-filters-button", host: { attributes: { "role": "button" }, listeners: { "keydown.enter": "activate($event)", "keydown.space": "activate($event)" } }, ngImport: i0 }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ClearAllButtonDirective, decorators: [{
|
|
38
|
-
type: Directive,
|
|
39
|
-
args: [{
|
|
40
|
-
selector: '.tb-clear-all-filters-button',
|
|
41
|
-
standalone: true,
|
|
42
|
-
host: {
|
|
43
|
-
role: 'button',
|
|
44
|
-
'(keydown.enter)': 'activate($event)',
|
|
45
|
-
'(keydown.space)': 'activate($event)',
|
|
46
|
-
},
|
|
47
|
-
}]
|
|
48
|
-
}] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXItYWxsLWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL2RpcmVjdGl2ZXMvY2xlYXItYWxsLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFakYsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBRXRDOzs7O0dBSUc7QUFVSCxNQUFNLE9BQU8sdUJBQXVCO0lBVHBDO1FBVW1CLE9BQUUsR0FBZ0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUNuRCxhQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztLQTBCckU7SUF4QkMsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFvQjtRQUMzQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFZLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVPLElBQUk7UUFDVixJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDOytHQTNCVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFUbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxRQUFRO3dCQUNkLGlCQUFpQixFQUFFLGtCQUFrQjt3QkFDckMsaUJBQWlCLEVBQUUsa0JBQWtCO3FCQUN0QztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBFTkFCTEVEX0NMQVNTID0gJ2FjdGl2ZS1idXR0b24nO1xuXG4vKipcbiAqIEV2ZXJ5IFwiQ2xlYXIgQWxsXCIgZmlsdGVyIGJ1dHRvbiAoYC50Yi1jbGVhci1hbGwtZmlsdGVycy1idXR0b25gKSBpcyBhIGtleWJvYXJkIGJ1dHRvbi5cbiAqIFBhZ2VzIGVuYWJsZSBpdCB3aXRoIHRoZSBgYWN0aXZlLWJ1dHRvbmAgY2xhc3M7IHdpdGhvdXQgaXQgdGhlIGJ1dHRvbiBpcyBkaXNhYmxlZCBmb3JcbiAqIHRoZSBtb3VzZSAodGhlbWUgYHBvaW50ZXItZXZlbnRzOiBub25lYCksIHNvIGl0IGFsc28gbGVhdmVzIHRoZSBUYWIgb3JkZXIgYW5kIGlnbm9yZXMga2V5cy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnLnRiLWNsZWFyLWFsbC1maWx0ZXJzLWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnYnV0dG9uJyxcbiAgICAnKGtleWRvd24uZW50ZXIpJzogJ2FjdGl2YXRlKCRldmVudCknLFxuICAgICcoa2V5ZG93bi5zcGFjZSknOiAnYWN0aXZhdGUoJGV2ZW50KScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENsZWFyQWxsQnV0dG9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuICBwcml2YXRlIHJlYWRvbmx5IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5zeW5jKCkpO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsLCB7IGF0dHJpYnV0ZXM6IHRydWUsIGF0dHJpYnV0ZUZpbHRlcjogWydjbGFzcyddIH0pO1xuICAgIHRoaXMuc3luYygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBhY3RpdmF0ZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuZW5hYmxlZCAmJiAhZXZlbnQucmVwZWF0KSB7XG4gICAgICB0aGlzLmVsLmNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbC5jbGFzc0xpc3QuY29udGFpbnMoRU5BQkxFRF9DTEFTUyk7XG4gIH1cblxuICBwcml2YXRlIHN5bmMoKSB7XG4gICAgdGhpcy5lbC50YWJJbmRleCA9IHRoaXMuZW5hYmxlZCA/IDAgOiAtMTtcbiAgICB0aGlzLmVsLnNldEF0dHJpYnV0ZSgnYXJpYS1kaXNhYmxlZCcsIFN0cmluZyghdGhpcy5lbmFibGVkKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, effect, inject, input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
const BLOCKED_KEYS = ['Enter', ' '];
|
|
4
|
-
const FOCUSABLE = 'a[href], button, input, select, textarea, [tabindex]';
|
|
5
|
-
/**
|
|
6
|
-
* Disables an element for mouse, keyboard and assistive technology.
|
|
7
|
-
* Drop-in for `[class.tb-action-disabled]`: `[tbDisabled]="isDisabled"`.
|
|
8
|
-
*/
|
|
9
|
-
export class DisabledDirective {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.tbDisabled = input(false);
|
|
12
|
-
this.tbDisabledClass = input('tb-action-disabled');
|
|
13
|
-
/** Id of the element that explains why it is disabled; the host then stays focusable. */
|
|
14
|
-
this.tbDisabledDescribedBy = input(null);
|
|
15
|
-
this.el = inject(ElementRef).nativeElement;
|
|
16
|
-
this.appliedClass = null;
|
|
17
|
-
this.appliedReasonId = null;
|
|
18
|
-
this.appliedNativeDisabled = false;
|
|
19
|
-
/** Focusable children taken out of the Tab order with the host, and their original attributes. */
|
|
20
|
-
this.skippedChildren = new Map();
|
|
21
|
-
// Projected content (e.g. a button inside tb-tooltip) can render after the host is disabled.
|
|
22
|
-
this.childObserver = new MutationObserver(() => this.skipChildren());
|
|
23
|
-
this.block = (event) => {
|
|
24
|
-
if (!this.tbDisabled()) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
if (event instanceof KeyboardEvent && !BLOCKED_KEYS.includes(event.key)) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
event.preventDefault();
|
|
31
|
-
event.stopImmediatePropagation();
|
|
32
|
-
};
|
|
33
|
-
effect(() => this.apply(this.tbDisabled(), this.tbDisabledClass(), this.tbDisabledDescribedBy()));
|
|
34
|
-
// Capture phase, so projected children cannot be activated either.
|
|
35
|
-
this.el.addEventListener('click', this.block, true);
|
|
36
|
-
this.el.addEventListener('keydown', this.block, true);
|
|
37
|
-
}
|
|
38
|
-
apply(disabled, cssClass, reasonId) {
|
|
39
|
-
if (this.appliedClass) {
|
|
40
|
-
this.el.classList.remove(this.appliedClass);
|
|
41
|
-
}
|
|
42
|
-
this.appliedClass = disabled ? cssClass : null;
|
|
43
|
-
if (this.appliedClass) {
|
|
44
|
-
this.el.classList.add(this.appliedClass);
|
|
45
|
-
}
|
|
46
|
-
const isButton = this.el instanceof HTMLButtonElement;
|
|
47
|
-
const nativeDisabled = disabled && isButton && !reasonId;
|
|
48
|
-
if (nativeDisabled || this.appliedNativeDisabled) {
|
|
49
|
-
this.el.disabled = nativeDisabled;
|
|
50
|
-
this.appliedNativeDisabled = nativeDisabled;
|
|
51
|
-
}
|
|
52
|
-
this.setAttribute('aria-disabled', disabled && !nativeDisabled ? 'true' : null);
|
|
53
|
-
this.setReason(disabled ? reasonId : null);
|
|
54
|
-
this.setSkipInTabOrder(disabled && !isButton && !reasonId);
|
|
55
|
-
}
|
|
56
|
-
setReason(reasonId) {
|
|
57
|
-
const ids = (this.el.getAttribute('aria-describedby') ?? '')
|
|
58
|
-
.split(' ')
|
|
59
|
-
.filter(id => id && id !== this.appliedReasonId);
|
|
60
|
-
if (reasonId) {
|
|
61
|
-
ids.push(reasonId);
|
|
62
|
-
}
|
|
63
|
-
this.appliedReasonId = reasonId;
|
|
64
|
-
this.setAttribute('aria-describedby', ids.length ? ids.join(' ') : null);
|
|
65
|
-
}
|
|
66
|
-
setSkipInTabOrder(skip) {
|
|
67
|
-
if (skip) {
|
|
68
|
-
this.skipChildren();
|
|
69
|
-
this.childObserver.observe(this.el, { childList: true, subtree: true, attributes: true, attributeFilter: ['tabindex'] });
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
this.childObserver.disconnect();
|
|
73
|
-
this.skippedChildren.forEach((saved, child) => {
|
|
74
|
-
this.setAttributeOn(child, 'tabindex', saved.tabIndex);
|
|
75
|
-
this.setAttributeOn(child, 'aria-disabled', saved.ariaDisabled);
|
|
76
|
-
});
|
|
77
|
-
this.skippedChildren.clear();
|
|
78
|
-
}
|
|
79
|
-
if (skip && this.savedTabIndex === undefined) {
|
|
80
|
-
this.savedTabIndex = this.el.getAttribute('tabindex');
|
|
81
|
-
this.el.setAttribute('tabindex', '-1');
|
|
82
|
-
}
|
|
83
|
-
else if (!skip && this.savedTabIndex !== undefined) {
|
|
84
|
-
this.setAttribute('tabindex', this.savedTabIndex);
|
|
85
|
-
this.savedTabIndex = undefined;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
skipChildren() {
|
|
89
|
-
for (const child of Array.from(this.el.querySelectorAll(FOCUSABLE))) {
|
|
90
|
-
if (child.tabIndex >= 0 && !this.skippedChildren.has(child)) {
|
|
91
|
-
this.skippedChildren.set(child, {
|
|
92
|
-
tabIndex: child.getAttribute('tabindex'),
|
|
93
|
-
ariaDisabled: child.getAttribute('aria-disabled'),
|
|
94
|
-
});
|
|
95
|
-
child.setAttribute('tabindex', '-1');
|
|
96
|
-
child.setAttribute('aria-disabled', 'true');
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
setAttribute(name, value) {
|
|
101
|
-
this.setAttributeOn(this.el, name, value);
|
|
102
|
-
}
|
|
103
|
-
setAttributeOn(element, name, value) {
|
|
104
|
-
if (value === null) {
|
|
105
|
-
element.removeAttribute(name);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
element.setAttribute(name, value);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DisabledDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
112
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: DisabledDirective, isStandalone: true, selector: "[tbDisabled]", inputs: { tbDisabled: { classPropertyName: "tbDisabled", publicName: "tbDisabled", isSignal: true, isRequired: false, transformFunction: null }, tbDisabledClass: { classPropertyName: "tbDisabledClass", publicName: "tbDisabledClass", isSignal: true, isRequired: false, transformFunction: null }, tbDisabledDescribedBy: { classPropertyName: "tbDisabledDescribedBy", publicName: "tbDisabledDescribedBy", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
113
|
-
}
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DisabledDirective, decorators: [{
|
|
115
|
-
type: Directive,
|
|
116
|
-
args: [{
|
|
117
|
-
selector: '[tbDisabled]',
|
|
118
|
-
standalone: true,
|
|
119
|
-
}]
|
|
120
|
-
}], ctorParameters: () => [] });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9kaXJlY3RpdmVzL2Rpc2FibGVkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFN0UsTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDcEMsTUFBTSxTQUFTLEdBQUcsc0RBQXNELENBQUM7QUFFekU7OztHQUdHO0FBS0gsTUFBTSxPQUFPLGlCQUFpQjtJQWdCNUI7UUFmUyxlQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLG9CQUFlLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdkQseUZBQXlGO1FBQ2hGLDBCQUFxQixHQUFHLEtBQUssQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFFM0MsT0FBRSxHQUFnQixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzVELGlCQUFZLEdBQWtCLElBQUksQ0FBQztRQUNuQyxvQkFBZSxHQUFrQixJQUFJLENBQUM7UUFDdEMsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBRXRDLGtHQUFrRztRQUNqRixvQkFBZSxHQUFHLElBQUksR0FBRyxFQUF5RSxDQUFDO1FBQ3BILDZGQUE2RjtRQUM1RSxrQkFBYSxHQUFHLElBQUksZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFVaEUsVUFBSyxHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUN2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Q0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7K0dBaEhVLGlCQUFpQjttR0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBCTE9DS0VEX0tFWVMgPSBbJ0VudGVyJywgJyAnXTtcbmNvbnN0IEZPQ1VTQUJMRSA9ICdhW2hyZWZdLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdJztcblxuLyoqXG4gKiBEaXNhYmxlcyBhbiBlbGVtZW50IGZvciBtb3VzZSwga2V5Ym9hcmQgYW5kIGFzc2lzdGl2ZSB0ZWNobm9sb2d5LlxuICogRHJvcC1pbiBmb3IgYFtjbGFzcy50Yi1hY3Rpb24tZGlzYWJsZWRdYDogYFt0YkRpc2FibGVkXT1cImlzRGlzYWJsZWRcImAuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0YkRpc2FibGVkXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERpc2FibGVkRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgdGJEaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgdGJEaXNhYmxlZENsYXNzID0gaW5wdXQoJ3RiLWFjdGlvbi1kaXNhYmxlZCcpO1xuICAvKiogSWQgb2YgdGhlIGVsZW1lbnQgdGhhdCBleHBsYWlucyB3aHkgaXQgaXMgZGlzYWJsZWQ7IHRoZSBob3N0IHRoZW4gc3RheXMgZm9jdXNhYmxlLiAqL1xuICByZWFkb25seSB0YkRpc2FibGVkRGVzY3JpYmVkQnkgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuICBwcml2YXRlIGFwcGxpZWRDbGFzczogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgYXBwbGllZFJlYXNvbklkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBhcHBsaWVkTmF0aXZlRGlzYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBzYXZlZFRhYkluZGV4OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAvKiogRm9jdXNhYmxlIGNoaWxkcmVuIHRha2VuIG91dCBvZiB0aGUgVGFiIG9yZGVyIHdpdGggdGhlIGhvc3QsIGFuZCB0aGVpciBvcmlnaW5hbCBhdHRyaWJ1dGVzLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHNraXBwZWRDaGlsZHJlbiA9IG5ldyBNYXA8SFRNTEVsZW1lbnQsIHsgdGFiSW5kZXg6IHN0cmluZyB8IG51bGw7IGFyaWFEaXNhYmxlZDogc3RyaW5nIHwgbnVsbCB9PigpO1xuICAvLyBQcm9qZWN0ZWQgY29udGVudCAoZS5nLiBhIGJ1dHRvbiBpbnNpZGUgdGItdG9vbHRpcCkgY2FuIHJlbmRlciBhZnRlciB0aGUgaG9zdCBpcyBkaXNhYmxlZC5cbiAgcHJpdmF0ZSByZWFkb25seSBjaGlsZE9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5za2lwQ2hpbGRyZW4oKSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHRoaXMuYXBwbHkodGhpcy50YkRpc2FibGVkKCksIHRoaXMudGJEaXNhYmxlZENsYXNzKCksIHRoaXMudGJEaXNhYmxlZERlc2NyaWJlZEJ5KCkpKTtcblxuICAgIC8vIENhcHR1cmUgcGhhc2UsIHNvIHByb2plY3RlZCBjaGlsZHJlbiBjYW5ub3QgYmUgYWN0aXZhdGVkIGVpdGhlci5cbiAgICB0aGlzLmVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5ibG9jaywgdHJ1ZSk7XG4gICAgdGhpcy5lbC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5ibG9jaywgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGJsb2NrID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgIGlmICghdGhpcy50YkRpc2FibGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCAmJiAhQkxPQ0tFRF9LRVlTLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgfTtcblxuICBwcml2YXRlIGFwcGx5KGRpc2FibGVkOiBib29sZWFuLCBjc3NDbGFzczogc3RyaW5nLCByZWFzb25JZDogc3RyaW5nIHwgbnVsbCkge1xuICAgIGlmICh0aGlzLmFwcGxpZWRDbGFzcykge1xuICAgICAgdGhpcy5lbC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuYXBwbGllZENsYXNzKTtcbiAgICB9XG4gICAgdGhpcy5hcHBsaWVkQ2xhc3MgPSBkaXNhYmxlZCA/IGNzc0NsYXNzIDogbnVsbDtcbiAgICBpZiAodGhpcy5hcHBsaWVkQ2xhc3MpIHtcbiAgICAgIHRoaXMuZWwuY2xhc3NMaXN0LmFkZCh0aGlzLmFwcGxpZWRDbGFzcyk7XG4gICAgfVxuXG4gICAgY29uc3QgaXNCdXR0b24gPSB0aGlzLmVsIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgY29uc3QgbmF0aXZlRGlzYWJsZWQgPSBkaXNhYmxlZCAmJiBpc0J1dHRvbiAmJiAhcmVhc29uSWQ7XG4gICAgaWYgKG5hdGl2ZURpc2FibGVkIHx8IHRoaXMuYXBwbGllZE5hdGl2ZURpc2FibGVkKSB7XG4gICAgICAodGhpcy5lbCBhcyBIVE1MQnV0dG9uRWxlbWVudCkuZGlzYWJsZWQgPSBuYXRpdmVEaXNhYmxlZDtcbiAgICAgIHRoaXMuYXBwbGllZE5hdGl2ZURpc2FibGVkID0gbmF0aXZlRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2FyaWEtZGlzYWJsZWQnLCBkaXNhYmxlZCAmJiAhbmF0aXZlRGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsKTtcbiAgICB0aGlzLnNldFJlYXNvbihkaXNhYmxlZCA/IHJlYXNvbklkIDogbnVsbCk7XG4gICAgdGhpcy5zZXRTa2lwSW5UYWJPcmRlcihkaXNhYmxlZCAmJiAhaXNCdXR0b24gJiYgIXJlYXNvbklkKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UmVhc29uKHJlYXNvbklkOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgY29uc3QgaWRzID0gKHRoaXMuZWwuZ2V0QXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5JykgPz8gJycpXG4gICAgICAuc3BsaXQoJyAnKVxuICAgICAgLmZpbHRlcihpZCA9PiBpZCAmJiBpZCAhPT0gdGhpcy5hcHBsaWVkUmVhc29uSWQpO1xuICAgIGlmIChyZWFzb25JZCkge1xuICAgICAgaWRzLnB1c2gocmVhc29uSWQpO1xuICAgIH1cbiAgICB0aGlzLmFwcGxpZWRSZWFzb25JZCA9IHJlYXNvbklkO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5JywgaWRzLmxlbmd0aCA/IGlkcy5qb2luKCcgJykgOiBudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U2tpcEluVGFiT3JkZXIoc2tpcDogYm9vbGVhbikge1xuICAgIGlmIChza2lwKSB7XG4gICAgICB0aGlzLnNraXBDaGlsZHJlbigpO1xuICAgICAgdGhpcy5jaGlsZE9ic2VydmVyLm9ic2VydmUodGhpcy5lbCwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUsIGF0dHJpYnV0ZXM6IHRydWUsIGF0dHJpYnV0ZUZpbHRlcjogWyd0YWJpbmRleCddIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNoaWxkT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy5za2lwcGVkQ2hpbGRyZW4uZm9yRWFjaCgoc2F2ZWQsIGNoaWxkKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0QXR0cmlidXRlT24oY2hpbGQsICd0YWJpbmRleCcsIHNhdmVkLnRhYkluZGV4KTtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGVPbihjaGlsZCwgJ2FyaWEtZGlzYWJsZWQnLCBzYXZlZC5hcmlhRGlzYWJsZWQpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNraXBwZWRDaGlsZHJlbi5jbGVhcigpO1xuICAgIH1cblxuICAgIGlmIChza2lwICYmIHRoaXMuc2F2ZWRUYWJJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnNhdmVkVGFiSW5kZXggPSB0aGlzLmVsLmdldEF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcbiAgICAgIHRoaXMuZWwuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICctMScpO1xuICAgIH0gZWxzZSBpZiAoIXNraXAgJiYgdGhpcy5zYXZlZFRhYkluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsIHRoaXMuc2F2ZWRUYWJJbmRleCk7XG4gICAgICB0aGlzLnNhdmVkVGFiSW5kZXggPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBza2lwQ2hpbGRyZW4oKSB7XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBBcnJheS5mcm9tKHRoaXMuZWwucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oRk9DVVNBQkxFKSkpIHtcbiAgICAgIGlmIChjaGlsZC50YWJJbmRleCA+PSAwICYmICF0aGlzLnNraXBwZWRDaGlsZHJlbi5oYXMoY2hpbGQpKSB7XG4gICAgICAgIHRoaXMuc2tpcHBlZENoaWxkcmVuLnNldChjaGlsZCwge1xuICAgICAgICAgIHRhYkluZGV4OiBjaGlsZC5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JyksXG4gICAgICAgICAgYXJpYURpc2FibGVkOiBjaGlsZC5nZXRBdHRyaWJ1dGUoJ2FyaWEtZGlzYWJsZWQnKSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNoaWxkLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnLTEnKTtcbiAgICAgICAgY2hpbGQuc2V0QXR0cmlidXRlKCdhcmlhLWRpc2FibGVkJywgJ3RydWUnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEF0dHJpYnV0ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVPbih0aGlzLmVsLCBuYW1lLCB2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldEF0dHJpYnV0ZU9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, inject, input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Makes a mouse-only clickable element (usually `tb-icon`) a keyboard button:
|
|
5
|
-
* `<tb-icon (click)="edit()" [tbIconButton]="L.edit | translate">`.
|
|
6
|
-
* Enter and Space call the element's existing click handler.
|
|
7
|
-
*/
|
|
8
|
-
export class IconButtonDirective {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.tbIconButton = input.required();
|
|
11
|
-
this.el = inject(ElementRef).nativeElement;
|
|
12
|
-
}
|
|
13
|
-
activate(event) {
|
|
14
|
-
event.preventDefault();
|
|
15
|
-
if (!event.repeat && this.el.getAttribute('aria-disabled') !== 'true') {
|
|
16
|
-
this.el.click();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IconButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: IconButtonDirective, isStandalone: true, selector: "[tbIconButton]", inputs: { tbIconButton: { classPropertyName: "tbIconButton", publicName: "tbIconButton", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "button", "tabindex": "0" }, listeners: { "keydown.enter": "activate($event)", "keydown.space": "activate($event)" }, properties: { "attr.aria-label": "tbIconButton()" } }, ngImport: i0 }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IconButtonDirective, decorators: [{
|
|
23
|
-
type: Directive,
|
|
24
|
-
args: [{
|
|
25
|
-
selector: '[tbIconButton]',
|
|
26
|
-
standalone: true,
|
|
27
|
-
host: {
|
|
28
|
-
role: 'button',
|
|
29
|
-
tabindex: '0',
|
|
30
|
-
'[attr.aria-label]': 'tbIconButton()',
|
|
31
|
-
'(keydown.enter)': 'activate($event)',
|
|
32
|
-
'(keydown.space)': 'activate($event)',
|
|
33
|
-
},
|
|
34
|
-
}]
|
|
35
|
-
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1idXR0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9kaXJlY3RpdmVzL2ljb24tYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVyRTs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLG1CQUFtQjtJQVhoQztRQVlXLGlCQUFZLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBRWhDLE9BQUUsR0FBZ0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztLQVFyRTtJQU5DLFFBQVEsQ0FBQyxLQUFZO1FBQ25CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUUsS0FBdUIsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDekYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQzsrR0FWVSxtQkFBbUI7bUdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFYL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxRQUFRO3dCQUNkLFFBQVEsRUFBRSxHQUFHO3dCQUNiLG1CQUFtQixFQUFFLGdCQUFnQjt3QkFDckMsaUJBQWlCLEVBQUUsa0JBQWtCO3dCQUNyQyxpQkFBaUIsRUFBRSxrQkFBa0I7cUJBQ3RDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogTWFrZXMgYSBtb3VzZS1vbmx5IGNsaWNrYWJsZSBlbGVtZW50ICh1c3VhbGx5IGB0Yi1pY29uYCkgYSBrZXlib2FyZCBidXR0b246XG4gKiBgPHRiLWljb24gKGNsaWNrKT1cImVkaXQoKVwiIFt0Ykljb25CdXR0b25dPVwiTC5lZGl0IHwgdHJhbnNsYXRlXCI+YC5cbiAqIEVudGVyIGFuZCBTcGFjZSBjYWxsIHRoZSBlbGVtZW50J3MgZXhpc3RpbmcgY2xpY2sgaGFuZGxlci5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RiSWNvbkJ1dHRvbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2J1dHRvbicsXG4gICAgdGFiaW5kZXg6ICcwJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAndGJJY29uQnV0dG9uKCknLFxuICAgICcoa2V5ZG93bi5lbnRlciknOiAnYWN0aXZhdGUoJGV2ZW50KScsXG4gICAgJyhrZXlkb3duLnNwYWNlKSc6ICdhY3RpdmF0ZSgkZXZlbnQpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkJ1dHRvbkRpcmVjdGl2ZSB7XG4gIHJlYWRvbmx5IHRiSWNvbkJ1dHRvbiA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuXG4gIGFjdGl2YXRlKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCEoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkucmVwZWF0ICYmIHRoaXMuZWwuZ2V0QXR0cmlidXRlKCdhcmlhLWRpc2FibGVkJykgIT09ICd0cnVlJykge1xuICAgICAgdGhpcy5lbC5jbGljaygpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Every "Clear All" filter button (`.tb-clear-all-filters-button`) is a keyboard button.
|
|
5
|
-
* Pages enable it with the `active-button` class; without it the button is disabled for
|
|
6
|
-
* the mouse (theme `pointer-events: none`), so it also leaves the Tab order and ignores keys.
|
|
7
|
-
*/
|
|
8
|
-
export declare class ClearAllButtonDirective implements OnInit, OnDestroy {
|
|
9
|
-
private readonly el;
|
|
10
|
-
private readonly observer;
|
|
11
|
-
ngOnInit(): void;
|
|
12
|
-
ngOnDestroy(): void;
|
|
13
|
-
activate(event: KeyboardEvent): void;
|
|
14
|
-
private get enabled();
|
|
15
|
-
private sync;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ClearAllButtonDirective, never>;
|
|
17
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ClearAllButtonDirective, ".tb-clear-all-filters-button", never, {}, {}, never, never, true, never>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=clear-all-button.directive.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clear-all-button.directive.d.ts","sourceRoot":"","sources":["../../../../projects/client-shared-lib/src/libraries/directives/clear-all-button.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,SAAS,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;;AAIjF;;;;GAIG;AACH,qBASa,uBAAwB,YAAW,MAAM,EAAE,SAAS;IAC/D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiD;IACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IAEpE,QAAQ;IAKR,WAAW;IAIX,QAAQ,CAAC,KAAK,EAAE,aAAa;IAO7B,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,CAAC,IAAI;yCAxBD,uBAAuB;2CAAvB,uBAAuB;CA4BnC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
/**
|
|
3
|
-
* Disables an element for mouse, keyboard and assistive technology.
|
|
4
|
-
* Drop-in for `[class.tb-action-disabled]`: `[tbDisabled]="isDisabled"`.
|
|
5
|
-
*/
|
|
6
|
-
export declare class DisabledDirective {
|
|
7
|
-
readonly tbDisabled: import("@angular/core").InputSignal<boolean>;
|
|
8
|
-
readonly tbDisabledClass: import("@angular/core").InputSignal<string>;
|
|
9
|
-
/** Id of the element that explains why it is disabled; the host then stays focusable. */
|
|
10
|
-
readonly tbDisabledDescribedBy: import("@angular/core").InputSignal<string>;
|
|
11
|
-
private readonly el;
|
|
12
|
-
private appliedClass;
|
|
13
|
-
private appliedReasonId;
|
|
14
|
-
private appliedNativeDisabled;
|
|
15
|
-
private savedTabIndex;
|
|
16
|
-
/** Focusable children taken out of the Tab order with the host, and their original attributes. */
|
|
17
|
-
private readonly skippedChildren;
|
|
18
|
-
private readonly childObserver;
|
|
19
|
-
constructor();
|
|
20
|
-
private readonly block;
|
|
21
|
-
private apply;
|
|
22
|
-
private setReason;
|
|
23
|
-
private setSkipInTabOrder;
|
|
24
|
-
private skipChildren;
|
|
25
|
-
private setAttribute;
|
|
26
|
-
private setAttributeOn;
|
|
27
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DisabledDirective, never>;
|
|
28
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DisabledDirective, "[tbDisabled]", never, { "tbDisabled": { "alias": "tbDisabled"; "required": false; "isSignal": true; }; "tbDisabledClass": { "alias": "tbDisabledClass"; "required": false; "isSignal": true; }; "tbDisabledDescribedBy": { "alias": "tbDisabledDescribedBy"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=disabled.directive.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"disabled.directive.d.ts","sourceRoot":"","sources":["../../../../projects/client-shared-lib/src/libraries/directives/disabled.directive.ts"],"names":[],"mappings":";AAKA;;;GAGG;AACH,qBAIa,iBAAiB;IAC5B,QAAQ,CAAC,UAAU,+CAAgB;IACnC,QAAQ,CAAC,eAAe,8CAA+B;IACvD,yFAAyF;IACzF,QAAQ,CAAC,qBAAqB,8CAA8B;IAE5D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiD;IACpE,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,aAAa,CAA4B;IACjD,kGAAkG;IAClG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoF;IAEpH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmD;;IAUjF,OAAO,CAAC,QAAQ,CAAC,KAAK,CASpB;IAEF,OAAO,CAAC,KAAK;IAqBb,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;yCA1GX,iBAAiB;2CAAjB,iBAAiB;CAiH7B"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
/**
|
|
3
|
-
* Makes a mouse-only clickable element (usually `tb-icon`) a keyboard button:
|
|
4
|
-
* `<tb-icon (click)="edit()" [tbIconButton]="L.edit | translate">`.
|
|
5
|
-
* Enter and Space call the element's existing click handler.
|
|
6
|
-
*/
|
|
7
|
-
export declare class IconButtonDirective {
|
|
8
|
-
readonly tbIconButton: import("@angular/core").InputSignal<string>;
|
|
9
|
-
private readonly el;
|
|
10
|
-
activate(event: Event): void;
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<IconButtonDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<IconButtonDirective, "[tbIconButton]", never, { "tbIconButton": { "alias": "tbIconButton"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=icon-button.directive.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-button.directive.d.ts","sourceRoot":"","sources":["../../../../projects/client-shared-lib/src/libraries/directives/icon-button.directive.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AACH,qBAWa,mBAAmB;IAC9B,QAAQ,CAAC,YAAY,8CAA4B;IAEjD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiD;IAEpE,QAAQ,CAAC,KAAK,EAAE,KAAK;yCALV,mBAAmB;2CAAnB,mBAAmB;CAW/B"}
|