|
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