|
5 | 5 | <button mat-raised-button (click)="toggleFocus(basicFocusTrap)">
|
6 | 6 | {{basicFocusTrap && basicFocusTrap.enabled ? "Disable" : "Enable"}} FocusTrap
|
7 | 7 | </button>
|
8 |
| - <div class="demo-focus-trap-region" #basicDemoRegion |
9 |
| - [class.demo-focus-trap-enabled]="(basicFocusTrap && basicFocusTrap.enabled) || false"> |
| 8 | + <div |
| 9 | + class="demo-focus-trap-region" |
| 10 | + cdkTrapFocus |
| 11 | + #basicFocusTrap="cdkTrapFocus" |
| 12 | + [class.demo-focus-trap-enabled]="basicFocusTrap && basicFocusTrap.enabled"> |
10 | 13 | <textarea class="demo-focus-trap-element" placeholder="One"></textarea>
|
11 | 14 | <textarea class="demo-focus-trap-element" placeholder="Two"></textarea>
|
12 | 15 | </div>
|
|
19 | 22 | <button mat-raised-button (click)="toggleFocus(nestedOuterFocusTrap)">
|
20 | 23 | {{nestedOuterFocusTrap && nestedOuterFocusTrap.enabled ? "Disable" : "Enable"}} outer FocusTrap
|
21 | 24 | </button>
|
22 |
| - <div class="demo-focus-trap-region" #nestedOuterDemoRegion |
23 |
| - [class.demo-focus-trap-enabled]="(nestedOuterFocusTrap && nestedOuterFocusTrap.enabled) || false"> |
| 25 | + <div class="demo-focus-trap-region" |
| 26 | + cdkTrapFocus |
| 27 | + #nestedOuterFocusTrap="cdkTrapFocus" |
| 28 | + [class.demo-focus-trap-enabled]="nestedOuterFocusTrap && nestedOuterFocusTrap.enabled"> |
24 | 29 | <textarea class="demo-focus-trap-element" placeholder="One"></textarea>
|
25 | 30 | <textarea class="demo-focus-trap-element" placeholder="Two"></textarea>
|
26 | 31 | <button mat-raised-button class="demo-focus-trap-element"
|
27 | 32 | (click)="toggleFocus(nestedInnerFocusTrap)">
|
28 | 33 | {{nestedInnerFocusTrap && nestedInnerFocusTrap.enabled ? "Disable" : "Enable"}} inner FocusTrap
|
29 | 34 | </button>
|
30 |
| - <div class="demo-focus-trap-region" #nestedInnerDemoRegion |
31 |
| - [class.demo-focus-trap-enabled]="(nestedInnerFocusTrap && nestedInnerFocusTrap.enabled) || false"> |
| 35 | + <div class="demo-focus-trap-region" |
| 36 | + cdkTrapFocus |
| 37 | + #nestedInnerFocusTrap="cdkTrapFocus" |
| 38 | + [class.demo-focus-trap-enabled]="nestedInnerFocusTrap && nestedInnerFocusTrap.enabled"> |
32 | 39 | <textarea class="demo-focus-trap-element" placeholder="Three"></textarea>
|
33 | 40 | <textarea class="demo-focus-trap-element" placeholder="Four"></textarea>
|
34 | 41 | </div>
|
|
42 | 49 | <button mat-raised-button (click)="toggleFocus(tabIndexFocusTrap)">
|
43 | 50 | {{tabIndexFocusTrap && tabIndexFocusTrap.enabled ? "Disable" : "Enable"}} FocusTrap
|
44 | 51 | </button>
|
45 |
| - <div class="demo-focus-trap-region" #tabIndexDemoRegion |
46 |
| - [class.demo-focus-trap-enabled]="(tabIndexFocusTrap && tabIndexFocusTrap.enabled) || false"> |
| 52 | + <div class="demo-focus-trap-region" |
| 53 | + cdkTrapFocus |
| 54 | + #tabIndexFocusTrap="cdkTrapFocus" |
| 55 | + [class.demo-focus-trap-enabled]="tabIndexFocusTrap && tabIndexFocusTrap.enabled"> |
47 | 56 | <textarea class="demo-focus-trap-element" tabindex="1"
|
48 | 57 | placeholder="I have tabindex 1"></textarea>
|
49 | 58 | <textarea class="demo-focus-trap-element" placeholder="One"></textarea>
|
|
56 | 65 |
|
57 | 66 | <mat-card class="demo-mat-card">
|
58 | 67 | <mat-toolbar color="primary">Shadow DOMs</mat-toolbar>
|
59 |
| - <mat-card-content class="demo-mat-card-content"> |
60 |
| - <button mat-raised-button (click)="toggleFocus(shadowDomFocusTrap)"> |
61 |
| - {{shadowDomFocusTrap && shadowDomFocusTrap.enabled ? "Disable" : "Enable"}} FocusTrap |
62 |
| - </button> |
63 |
| - <div class="demo-focus-trap-region" #shadowDomDemoRegion |
64 |
| - [class.demo-focus-trap-enabled]="(shadowDomFocusTrap && shadowDomFocusTrap.enabled) || false"> |
| 68 | + <mat-card-content class="demo-mat-card-content" [ngSwitch]="_supportsShadowDom"> |
| 69 | + <ng-container *ngSwitchCase="true"> |
| 70 | + <button mat-raised-button (click)="toggleFocus(shadowDomFocusTrap)"> |
| 71 | + {{shadowDomFocusTrap && shadowDomFocusTrap.enabled ? "Disable" : "Enable"}} FocusTrap |
| 72 | + </button> |
| 73 | + <div class="demo-focus-trap-region" |
| 74 | + cdkTrapFocus |
| 75 | + #shadowDomFocusTrap="cdkTrapFocus" |
| 76 | + [class.demo-focus-trap-enabled]="shadowDomFocusTrap && shadowDomFocusTrap.enabled"> |
| 77 | + <shadow-dom-demo> |
| 78 | + <textarea placeholder="I am in a shadow DOM"></textarea> |
| 79 | + </shadow-dom-demo> |
| 80 | + <textarea class="demo-focus-trap-element" placeholder="One"></textarea> |
| 81 | + <textarea class="demo-focus-trap-element" placeholder="Two"></textarea> |
| 82 | + </div> |
65 | 83 | <shadow-dom-demo>
|
66 |
| - <textarea placeholder="I am in a shadow DOM"></textarea> |
| 84 | + <textarea class="demo-focus-trap-element" placeholder="I am in a shadow DOM"></textarea> |
67 | 85 | </shadow-dom-demo>
|
68 |
| - <textarea class="demo-focus-trap-element" placeholder="One"></textarea> |
69 |
| - <textarea class="demo-focus-trap-element" placeholder="Two"></textarea> |
70 |
| - </div> |
71 |
| - <shadow-dom-demo> |
72 |
| - <textarea class="demo-focus-trap-element" placeholder="I am in a shadow DOM"></textarea> |
73 |
| - </shadow-dom-demo> |
| 86 | + </ng-container> |
| 87 | + <ng-container *ngSwitchCase="false">Shadow DOM not supported</ng-container> |
74 | 88 | </mat-card-content>
|
75 | 89 | </mat-card>
|
76 | 90 |
|
|
80 | 94 | <button mat-raised-button (click)="toggleFocus(iframeFocusTrap)">
|
81 | 95 | {{iframeFocusTrap && iframeFocusTrap.enabled ? "Disable" : "Enable"}} FocusTrap
|
82 | 96 | </button>
|
83 |
| - <div class="demo-focus-trap-region" #iframeDemoRegion |
84 |
| - [class.demo-focus-trap-enabled]="(iframeFocusTrap && iframeFocusTrap.enabled) || false"> |
| 97 | + <div class="demo-focus-trap-region" |
| 98 | + cdkTrapFocus |
| 99 | + #iframeFocusTrap="cdkTrapFocus" |
| 100 | + [class.demo-focus-trap-enabled]="iframeFocusTrap && iframeFocusTrap.enabled"> |
85 | 101 | <iframe class="demo-focus-trap-element"
|
86 | 102 | srcdoc="<textarea placeholder='I am in an iframe'></textarea>">
|
87 | 103 | </iframe>
|
|
98 | 114 | <button mat-raised-button (click)="toggleFocus(dynamicFocusTrap)">
|
99 | 115 | {{dynamicFocusTrap && dynamicFocusTrap.enabled ? "Disable" : "Enable"}} FocusTrap
|
100 | 116 | </button>
|
101 |
| - <div class="demo-focus-trap-region" #dynamicDemoRegion |
102 |
| - [class.demo-focus-trap-enabled]="(dynamicFocusTrap && dynamicFocusTrap.enabled) || false"> |
| 117 | + <div class="demo-focus-trap-region" |
| 118 | + cdkTrapFocus |
| 119 | + #dynamicFocusTrap="cdkTrapFocus" |
| 120 | + [class.demo-focus-trap-enabled]="dynamicFocusTrap && dynamicFocusTrap.enabled"> |
103 | 121 | <textarea class="demo-focus-trap-element" placeholder="One"></textarea>
|
104 | 122 | <textarea class="demo-focus-trap-element" placeholder="Two"></textarea>
|
105 | 123 | <button mat-raised-button class="demo-focus-trap-element" (click)="addNewElement()">
|
|
0 commit comments