@ng-prism/core 21.4.4 → 21.5.0
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/README.md +1 -1
- package/dist/app/canvas/prism-canvas-rulers.component.d.ts +16 -0
- package/dist/app/canvas/prism-canvas-rulers.component.d.ts.map +1 -0
- package/dist/app/canvas/prism-canvas-rulers.component.js +177 -0
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts +14 -0
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts.map +1 -0
- package/dist/app/canvas/prism-canvas-toolbar.component.js +144 -0
- package/dist/app/canvas/prism-code-drawer.component.d.ts +12 -0
- package/dist/app/canvas/prism-code-drawer.component.d.ts.map +1 -0
- package/dist/app/canvas/prism-code-drawer.component.js +114 -0
- package/dist/app/component-head/prism-component-head.component.d.ts +15 -0
- package/dist/app/component-head/prism-component-head.component.d.ts.map +1 -0
- package/dist/app/component-head/prism-component-head.component.js +207 -0
- package/dist/app/component-head/prism-stat.component.d.ts +10 -0
- package/dist/app/component-head/prism-stat.component.d.ts.map +1 -0
- package/dist/app/component-head/prism-stat.component.js +52 -0
- package/dist/app/controls/boolean-control.component.d.ts.map +1 -1
- package/dist/app/controls/boolean-control.component.js +16 -44
- package/dist/app/controls/json-control.component.d.ts.map +1 -1
- package/dist/app/controls/json-control.component.js +33 -54
- package/dist/app/controls/number-control.component.d.ts.map +1 -1
- package/dist/app/controls/number-control.component.js +18 -35
- package/dist/app/controls/string-control.component.d.ts.map +1 -1
- package/dist/app/controls/string-control.component.js +14 -41
- package/dist/app/controls/union-control.component.d.ts.map +1 -1
- package/dist/app/controls/union-control.component.js +26 -50
- package/dist/app/directives/prism-resizer.directive.d.ts +14 -0
- package/dist/app/directives/prism-resizer.directive.d.ts.map +1 -0
- package/dist/app/directives/prism-resizer.directive.js +71 -0
- package/dist/app/header/prism-header.component.d.ts +3 -0
- package/dist/app/header/prism-header.component.d.ts.map +1 -1
- package/dist/app/header/prism-header.component.js +91 -215
- package/dist/app/icons/prism-icon.component.d.ts +10 -0
- package/dist/app/icons/prism-icon.component.d.ts.map +1 -0
- package/dist/app/icons/prism-icon.component.js +64 -0
- package/dist/app/index.d.ts +4 -3
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.js +4 -3
- package/dist/app/layout-menu/prism-layout-menu.component.d.ts.map +1 -1
- package/dist/app/layout-menu/prism-layout-menu.component.js +63 -69
- package/dist/app/panels/a11y/a11y-core.plugin.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-core.plugin.js +1 -0
- package/dist/app/panels/a11y/a11y-keyboard.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-keyboard.component.js +61 -100
- package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts +4 -0
- package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-overlay-host.component.js +87 -11
- package/dist/app/panels/a11y/a11y-panel.component.d.ts +0 -2
- package/dist/app/panels/a11y/a11y-panel.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-panel.component.js +70 -85
- package/dist/app/panels/a11y/a11y-score.component.d.ts +2 -1
- package/dist/app/panels/a11y/a11y-score.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-score.component.js +55 -49
- package/dist/app/panels/a11y/a11y-sr.component.d.ts +1 -9
- package/dist/app/panels/a11y/a11y-sr.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-sr.component.js +60 -208
- package/dist/app/panels/a11y/a11y-tree.component.d.ts +2 -4
- package/dist/app/panels/a11y/a11y-tree.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-tree.component.js +92 -137
- package/dist/app/panels/a11y/a11y-violations.component.d.ts +2 -6
- package/dist/app/panels/a11y/a11y-violations.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-violations.component.js +126 -373
- package/dist/app/panels/controls/controls-plugin.d.ts.map +1 -1
- package/dist/app/panels/controls/controls-plugin.js +1 -0
- package/dist/app/panels/controls/prism-controls-panel.component.d.ts.map +1 -1
- package/dist/app/panels/controls/prism-controls-panel.component.js +96 -88
- package/dist/app/panels/events/events-plugin.d.ts.map +1 -1
- package/dist/app/panels/events/events-plugin.js +1 -0
- package/dist/app/panels/events/prism-events-panel.component.d.ts +1 -0
- package/dist/app/panels/events/prism-events-panel.component.d.ts.map +1 -1
- package/dist/app/panels/events/prism-events-panel.component.js +44 -46
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +7 -2
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts.map +1 -1
- package/dist/app/panels/panel-host/prism-panel-host.component.js +102 -42
- package/dist/app/renderer/prism-renderer.component.d.ts +5 -6
- package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
- package/dist/app/renderer/prism-renderer.component.js +84 -150
- package/dist/app/services/prism-canvas.service.d.ts +18 -0
- package/dist/app/services/prism-canvas.service.d.ts.map +1 -0
- package/dist/app/services/prism-canvas.service.js +63 -0
- package/dist/app/services/prism-theme.service.d.ts +13 -1
- package/dist/app/services/prism-theme.service.d.ts.map +1 -1
- package/dist/app/services/prism-theme.service.js +56 -9
- package/dist/app/shell/prism-shell.component.d.ts +1 -2
- package/dist/app/shell/prism-shell.component.d.ts.map +1 -1
- package/dist/app/shell/prism-shell.component.js +189 -178
- package/dist/app/sidebar/prism-sidebar.component.d.ts +16 -10
- package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -1
- package/dist/app/sidebar/prism-sidebar.component.js +318 -204
- package/dist/app/theme/prism-default-theme.d.ts +1 -0
- package/dist/app/theme/prism-default-theme.d.ts.map +1 -1
- package/dist/app/theme/prism-default-theme.js +53 -34
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts +13 -0
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts.map +1 -0
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.js +134 -0
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts.map +1 -1
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +15 -11
- package/dist/decorator/showcase.decorator.d.ts +1 -3
- package/dist/decorator/showcase.decorator.d.ts.map +1 -1
- package/dist/decorator/showcase.decorator.js +2 -6
- package/dist/plugin/plugin.types.d.ts +1 -0
- package/dist/plugin/plugin.types.d.ts.map +1 -1
- package/dist/schematics/ng-add/index.d.ts.map +1 -1
- package/dist/schematics/ng-add/index.js +2 -1
- package/package.json +6 -6
|
@@ -1,141 +1,70 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, inject, input,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, inject, input, } from '@angular/core';
|
|
2
2
|
import { A11ySrService } from './a11y-sr.service.js';
|
|
3
|
-
import { A11yPerspectiveService } from './a11y-perspective.service.js';
|
|
4
3
|
import { PrismRendererService } from '../../services/prism-renderer.service.js';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
const _forTrack0 = ($index, $item) => $item.index;
|
|
7
|
-
function
|
|
8
|
-
i0.ɵɵdomElementStart(0, "div",
|
|
9
|
-
i0.ɵɵtext(1, "Select a component to simulate screen reader output.");
|
|
6
|
+
function A11ySrComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
7
|
+
i0.ɵɵdomElementStart(0, "div", 0);
|
|
8
|
+
i0.ɵɵtext(1, " Select a component to simulate screen reader output. ");
|
|
10
9
|
i0.ɵɵdomElementEnd();
|
|
11
10
|
} }
|
|
12
|
-
function
|
|
13
|
-
i0.ɵɵdomElementStart(0, "div",
|
|
11
|
+
function A11ySrComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
12
|
+
i0.ɵɵdomElementStart(0, "div", 0);
|
|
14
13
|
i0.ɵɵtext(1, "No announced elements found.");
|
|
15
14
|
i0.ɵɵdomElementEnd();
|
|
16
15
|
} }
|
|
17
|
-
function
|
|
18
|
-
i0.ɵɵtext(0);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
22
|
-
i0.ɵɵtextInterpolate1(" \"", (tmp_2_0 = ctx_r1.active()) == null ? null : tmp_2_0.name, "\" ");
|
|
23
|
-
} }
|
|
24
|
-
function A11ySrComponent_Conditional_8_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
-
i0.ɵɵdomElementStart(0, "span");
|
|
26
|
-
i0.ɵɵtext(1);
|
|
27
|
-
i0.ɵɵdomElementEnd();
|
|
28
|
-
} if (rf & 2) {
|
|
29
|
-
const s_r3 = ctx.$implicit;
|
|
30
|
-
i0.ɵɵadvance();
|
|
31
|
-
i0.ɵɵtextInterpolate(s_r3);
|
|
32
|
-
} }
|
|
33
|
-
function A11ySrComponent_Conditional_8_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
-
i0.ɵɵdomElementStart(0, "div", 10);
|
|
35
|
-
i0.ɵɵrepeaterCreate(1, A11ySrComponent_Conditional_8_Conditional_8_For_2_Template, 2, 1, "span", null, i0.ɵɵrepeaterTrackByIdentity);
|
|
16
|
+
function A11ySrComponent_Conditional_2_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
i0.ɵɵtext(0, " \"");
|
|
18
|
+
i0.ɵɵdomElementStart(1, "span", 5);
|
|
19
|
+
i0.ɵɵtext(2);
|
|
36
20
|
i0.ɵɵdomElementEnd();
|
|
21
|
+
i0.ɵɵtext(3, "\", ");
|
|
37
22
|
} if (rf & 2) {
|
|
38
|
-
const
|
|
39
|
-
i0.ɵɵadvance();
|
|
40
|
-
i0.ɵɵ
|
|
23
|
+
const a_r1 = i0.ɵɵnextContext().$implicit;
|
|
24
|
+
i0.ɵɵadvance(2);
|
|
25
|
+
i0.ɵɵtextInterpolate(a_r1.name);
|
|
41
26
|
} }
|
|
42
|
-
function
|
|
43
|
-
|
|
44
|
-
i0.ɵɵdomElementStart(0, "div", 15);
|
|
45
|
-
i0.ɵɵdomListener("click", function A11ySrComponent_Conditional_8_For_16_Template_div_click_0_listener() { const ɵ$index_51_r5 = i0.ɵɵrestoreView(_r4).$index; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.activeIndex.set(ɵ$index_51_r5)); });
|
|
46
|
-
i0.ɵɵdomElementEnd();
|
|
27
|
+
function A11ySrComponent_Conditional_2_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
i0.ɵɵtext(0);
|
|
47
29
|
} if (rf & 2) {
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
i0.ɵɵclassProp("prism-a11y-sr__dot--active", ɵ$index_51_r5 === ctx_r1.activeIndex());
|
|
30
|
+
const a_r1 = i0.ɵɵnextContext().$implicit;
|
|
31
|
+
i0.ɵɵtextInterpolate1(" \u00B7 ", a_r1.states.join(", "), " ");
|
|
51
32
|
} }
|
|
52
|
-
function
|
|
53
|
-
|
|
54
|
-
i0.ɵɵ
|
|
55
|
-
i0.ɵɵtext(3);
|
|
56
|
-
i0.ɵɵdomElementEnd();
|
|
57
|
-
i0.ɵɵdomElementStart(4, "div", 8);
|
|
58
|
-
i0.ɵɵconditionalCreate(5, A11ySrComponent_Conditional_8_Conditional_5_Template, 1, 1);
|
|
59
|
-
i0.ɵɵdomElementEnd();
|
|
60
|
-
i0.ɵɵdomElementStart(6, "div", 9);
|
|
61
|
-
i0.ɵɵtext(7);
|
|
62
|
-
i0.ɵɵdomElementEnd();
|
|
63
|
-
i0.ɵɵconditionalCreate(8, A11ySrComponent_Conditional_8_Conditional_8_Template, 3, 0, "div", 10);
|
|
33
|
+
function A11ySrComponent_Conditional_2_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
+
i0.ɵɵdomElementStart(0, "div", 2)(1, "div", 3);
|
|
35
|
+
i0.ɵɵtext(2);
|
|
64
36
|
i0.ɵɵdomElementEnd();
|
|
65
|
-
i0.ɵɵdomElementStart(
|
|
66
|
-
i0.ɵɵ
|
|
67
|
-
i0.ɵɵ
|
|
37
|
+
i0.ɵɵdomElementStart(3, "div", 4);
|
|
38
|
+
i0.ɵɵconditionalCreate(4, A11ySrComponent_Conditional_2_For_2_Conditional_4_Template, 4, 1);
|
|
39
|
+
i0.ɵɵdomElementStart(5, "code");
|
|
40
|
+
i0.ɵɵtext(6);
|
|
68
41
|
i0.ɵɵdomElementEnd();
|
|
69
|
-
i0.ɵɵ
|
|
70
|
-
i0.ɵɵdomListener("click", function A11ySrComponent_Conditional_8_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.next()); });
|
|
71
|
-
i0.ɵɵtext(13, "\u25B6");
|
|
72
|
-
i0.ɵɵdomElementEnd()();
|
|
73
|
-
i0.ɵɵdomElementStart(14, "div", 13);
|
|
74
|
-
i0.ɵɵrepeaterCreate(15, A11ySrComponent_Conditional_8_For_16_Template, 1, 2, "div", 14, _forTrack0);
|
|
42
|
+
i0.ɵɵconditionalCreate(7, A11ySrComponent_Conditional_2_For_2_Conditional_7_Template, 1, 1);
|
|
75
43
|
i0.ɵɵdomElementEnd()();
|
|
76
44
|
} if (rf & 2) {
|
|
77
|
-
|
|
78
|
-
let tmp_3_0;
|
|
79
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
80
|
-
i0.ɵɵadvance(3);
|
|
81
|
-
i0.ɵɵtextInterpolate2(" ", ctx_r1.activeIndex() + 1, " / ", ctx_r1.announcements().length, " ");
|
|
82
|
-
i0.ɵɵadvance(2);
|
|
83
|
-
i0.ɵɵconditional(((tmp_2_0 = ctx_r1.active()) == null ? null : tmp_2_0.name) ? 5 : -1);
|
|
84
|
-
i0.ɵɵadvance(2);
|
|
85
|
-
i0.ɵɵtextInterpolate((tmp_3_0 = ctx_r1.active()) == null ? null : tmp_3_0.role);
|
|
86
|
-
i0.ɵɵadvance();
|
|
87
|
-
i0.ɵɵconditional(ctx_r1.activeStates().length ? 8 : -1);
|
|
45
|
+
const a_r1 = ctx.$implicit;
|
|
88
46
|
i0.ɵɵadvance(2);
|
|
89
|
-
i0.ɵɵ
|
|
47
|
+
i0.ɵɵtextInterpolate1("VO \u00B7 ", a_r1.index);
|
|
90
48
|
i0.ɵɵadvance(2);
|
|
91
|
-
i0.ɵɵ
|
|
92
|
-
i0.ɵɵadvance(3);
|
|
93
|
-
i0.ɵɵrepeater(ctx_r1.announcements());
|
|
94
|
-
} }
|
|
95
|
-
function A11ySrComponent_Conditional_9_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
96
|
-
const _r6 = i0.ɵɵgetCurrentView();
|
|
97
|
-
i0.ɵɵdomElementStart(0, "div", 19);
|
|
98
|
-
i0.ɵɵdomListener("click", function A11ySrComponent_Conditional_9_For_5_Template_div_click_0_listener() { const a_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.activeIndex.set(a_r7.index - 1)); });
|
|
99
|
-
i0.ɵɵdomElementStart(1, "div", 20);
|
|
100
|
-
i0.ɵɵtext(2);
|
|
101
|
-
i0.ɵɵdomElementEnd();
|
|
102
|
-
i0.ɵɵdomElementStart(3, "div", 21)(4, "span", 22);
|
|
103
|
-
i0.ɵɵtext(5);
|
|
104
|
-
i0.ɵɵdomElementEnd();
|
|
105
|
-
i0.ɵɵdomElementStart(6, "span", 23);
|
|
106
|
-
i0.ɵɵtext(7);
|
|
107
|
-
i0.ɵɵdomElementEnd()()();
|
|
108
|
-
} if (rf & 2) {
|
|
109
|
-
const a_r7 = ctx.$implicit;
|
|
110
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
111
|
-
i0.ɵɵclassProp("prism-a11y-sr__item--active", a_r7.index === ctx_r1.activeIndex() + 1);
|
|
49
|
+
i0.ɵɵconditional(a_r1.name ? 4 : -1);
|
|
112
50
|
i0.ɵɵadvance(2);
|
|
113
|
-
i0.ɵɵtextInterpolate(
|
|
114
|
-
i0.ɵɵadvance(
|
|
115
|
-
i0.ɵɵ
|
|
116
|
-
i0.ɵɵadvance(2);
|
|
117
|
-
i0.ɵɵtextInterpolate(a_r7.role);
|
|
51
|
+
i0.ɵɵtextInterpolate(a_r1.role);
|
|
52
|
+
i0.ɵɵadvance();
|
|
53
|
+
i0.ɵɵconditional(a_r1.states.length ? 7 : -1);
|
|
118
54
|
} }
|
|
119
|
-
function
|
|
120
|
-
i0.ɵɵdomElementStart(0, "div",
|
|
121
|
-
i0.ɵɵ
|
|
122
|
-
i0.ɵɵdomElementEnd()();
|
|
123
|
-
i0.ɵɵdomElementStart(3, "div", 17);
|
|
124
|
-
i0.ɵɵrepeaterCreate(4, A11ySrComponent_Conditional_9_For_5_Template, 8, 5, "div", 18, _forTrack0);
|
|
55
|
+
function A11ySrComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
56
|
+
i0.ɵɵdomElementStart(0, "div", 1);
|
|
57
|
+
i0.ɵɵrepeaterCreate(1, A11ySrComponent_Conditional_2_For_2_Template, 8, 4, "div", 2, _forTrack0);
|
|
125
58
|
i0.ɵɵdomElementEnd();
|
|
126
59
|
} if (rf & 2) {
|
|
127
60
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
128
|
-
i0.ɵɵadvance(
|
|
129
|
-
i0.ɵɵtextInterpolate1("", ctx_r1.announcements().length, " Announcements");
|
|
130
|
-
i0.ɵɵadvance(2);
|
|
61
|
+
i0.ɵɵadvance();
|
|
131
62
|
i0.ɵɵrepeater(ctx_r1.announcements());
|
|
132
63
|
} }
|
|
133
64
|
export class A11ySrComponent {
|
|
134
65
|
rendererService = inject(PrismRendererService);
|
|
135
66
|
srService = inject(A11ySrService);
|
|
136
|
-
perspective = inject(A11yPerspectiveService);
|
|
137
67
|
activeComponent = input(null, ...(ngDevMode ? [{ debugName: "activeComponent" }] : []));
|
|
138
|
-
activeIndex = signal(0, ...(ngDevMode ? [{ debugName: "activeIndex" }] : []));
|
|
139
68
|
announcements = computed(() => {
|
|
140
69
|
const root = this.rendererService.renderedElement();
|
|
141
70
|
if (!root)
|
|
@@ -143,115 +72,38 @@ export class A11ySrComponent {
|
|
|
143
72
|
const doc = root.ownerDocument;
|
|
144
73
|
return this.srService.buildAnnouncementList(root, doc ? (id) => doc.getElementById(id) : undefined);
|
|
145
74
|
}, ...(ngDevMode ? [{ debugName: "announcements" }] : []));
|
|
146
|
-
active = computed(() => {
|
|
147
|
-
const list = this.announcements();
|
|
148
|
-
const idx = this.activeIndex();
|
|
149
|
-
return list[idx] ?? null;
|
|
150
|
-
}, ...(ngDevMode ? [{ debugName: "active" }] : []));
|
|
151
|
-
activeStates = computed(() => this.active()?.states.filter((s) => !s.startsWith('level')) ?? [], ...(ngDevMode ? [{ debugName: "activeStates" }] : []));
|
|
152
|
-
next() {
|
|
153
|
-
this.activeIndex.update((i) => Math.min(i + 1, this.announcements().length - 1));
|
|
154
|
-
}
|
|
155
|
-
prev() {
|
|
156
|
-
this.activeIndex.update((i) => Math.max(i - 1, 0));
|
|
157
|
-
}
|
|
158
75
|
static ɵfac = function A11ySrComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || A11ySrComponent)(); };
|
|
159
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A11ySrComponent, selectors: [["prism-a11y-sr"]], inputs: { activeComponent: [1, "activeComponent"] }, decls:
|
|
160
|
-
i0.ɵɵ
|
|
161
|
-
i0.ɵɵdomListener("click", function A11ySrComponent_Template_button_click_2_listener() { return ctx.perspective.mode.set("visual"); });
|
|
162
|
-
i0.ɵɵtext(3, " \uD83D\uDC41 Visual ");
|
|
163
|
-
i0.ɵɵdomElementEnd();
|
|
164
|
-
i0.ɵɵdomElementStart(4, "button", 3);
|
|
165
|
-
i0.ɵɵdomListener("click", function A11ySrComponent_Template_button_click_4_listener() { return ctx.perspective.mode.set("screen-reader"); });
|
|
166
|
-
i0.ɵɵtext(5, " \uD83C\uDFA7 Screen Reader ");
|
|
167
|
-
i0.ɵɵdomElementEnd()();
|
|
168
|
-
i0.ɵɵconditionalCreate(6, A11ySrComponent_Conditional_6_Template, 2, 0, "div", 4)(7, A11ySrComponent_Conditional_7_Template, 2, 0, "div", 4)(8, A11ySrComponent_Conditional_8_Template, 17, 7, "div", 5)(9, A11ySrComponent_Conditional_9_Template, 6, 1);
|
|
169
|
-
i0.ɵɵdomElementEnd();
|
|
76
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A11ySrComponent, selectors: [["prism-a11y-sr"]], inputs: { activeComponent: [1, "activeComponent"] }, decls: 3, vars: 1, consts: [[1, "sr-empty"], [1, "sr-body"], [1, "sr-line"], [1, "sr-step"], [1, "sr-text"], [1, "sr-name"]], template: function A11ySrComponent_Template(rf, ctx) { if (rf & 1) {
|
|
77
|
+
i0.ɵɵconditionalCreate(0, A11ySrComponent_Conditional_0_Template, 2, 0, "div", 0)(1, A11ySrComponent_Conditional_1_Template, 2, 0, "div", 0)(2, A11ySrComponent_Conditional_2_Template, 3, 0, "div", 1);
|
|
170
78
|
} if (rf & 2) {
|
|
171
|
-
i0.ɵɵ
|
|
172
|
-
|
|
173
|
-
i0.ɵɵadvance(2);
|
|
174
|
-
i0.ɵɵclassProp("prism-a11y-sr__persp-btn--active", ctx.perspective.mode() === "screen-reader");
|
|
175
|
-
i0.ɵɵadvance(2);
|
|
176
|
-
i0.ɵɵconditional(!ctx.rendererService.renderedElement() ? 6 : !ctx.announcements().length ? 7 : ctx.perspective.mode() === "screen-reader" ? 8 : 9);
|
|
177
|
-
} }, styles: ["[_nghost-%COMP%] { display: flex; flex-direction: column; height: 100%; }\n\n .prism-a11y-sr[_ngcontent-%COMP%] { display: flex; flex-direction: column; height: 100%; }\n\n .prism-a11y-sr__perspective[_ngcontent-%COMP%] {\n display: flex;\n gap: 2px;\n padding: 8px 12px;\n border-bottom: 1px solid var(--prism-border);\n flex-shrink: 0;\n }\n .prism-a11y-sr__persp-btn[_ngcontent-%COMP%] {\n padding: 4px 12px;\n font-size: 12px;\n font-family: var(--prism-font-sans, system-ui, sans-serif);\n border: 1px solid var(--prism-border);\n background: none;\n color: var(--prism-text-muted);\n cursor: pointer;\n border-radius: 5px;\n transition: all 0.12s;\n }\n .prism-a11y-sr__persp-btn[_ngcontent-%COMP%]:hover { color: var(--prism-text-2); }\n .prism-a11y-sr__persp-btn--active[_ngcontent-%COMP%] {\n background: rgba(124, 159, 236, 0.1);\n border-color: rgba(124, 159, 236, 0.3);\n color: var(--prism-primary);\n }\n .prism-a11y-sr__persp-btn--sr.prism-a11y-sr__persp-btn--active[_ngcontent-%COMP%] {\n background: rgba(167, 139, 250, 0.1);\n border-color: rgba(167, 139, 250, 0.3);\n color: #a78bfa;\n }\n\n .prism-a11y-sr__empty[_ngcontent-%COMP%] {\n display: flex; align-items: center; justify-content: center;\n min-height: 100px; color: var(--prism-text-muted); font-size: 13px;\n }\n\n \n\n .prism-a11y-sr__header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 16px;\n border-bottom: 1px solid var(--prism-border);\n font-size: 12px;\n color: var(--prism-text-muted);\n flex-shrink: 0;\n }\n\n .prism-a11y-sr__hint[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #a78bfa;\n cursor: default;\n }\n\n .prism-a11y-sr__list[_ngcontent-%COMP%] { flex: 1; overflow: auto; }\n\n .prism-a11y-sr__item[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n padding: 8px 16px;\n border-bottom: 1px solid var(--prism-border);\n cursor: pointer;\n transition: background 0.1s;\n }\n .prism-a11y-sr__item[_ngcontent-%COMP%]:hover { background: rgba(167, 139, 250, 0.04); }\n .prism-a11y-sr__item--active[_ngcontent-%COMP%] { background: rgba(167, 139, 250, 0.08); }\n\n .prism-a11y-sr__idx[_ngcontent-%COMP%] {\n width: 18px; height: 18px;\n background: #a78bfa;\n color: white;\n border-radius: 9px;\n font-size: 10px; font-weight: 700;\n display: flex; align-items: center; justify-content: center;\n flex-shrink: 0; margin-top: 2px;\n font-family: var(--prism-font-sans, system-ui, sans-serif);\n }\n .prism-a11y-sr__item--active[_ngcontent-%COMP%] .prism-a11y-sr__idx[_ngcontent-%COMP%] {\n box-shadow: 0 0 0 3px rgba(167, 139, 250, 0.3);\n }\n\n .prism-a11y-sr__text-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 1px;\n }\n .prism-a11y-sr__announcement[_ngcontent-%COMP%] {\n font-size: 12.5px;\n color: var(--prism-text);\n font-style: italic;\n line-height: 1.4;\n }\n .prism-a11y-sr__role-label[_ngcontent-%COMP%] {\n font-size: 11px;\n font-family: var(--prism-font-mono, monospace);\n color: var(--prism-text-muted);\n }\n\n \n\n .prism-a11y-sr__player[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 16px;\n flex: 1;\n padding: 20px;\n }\n\n .prism-a11y-sr__player-card[_ngcontent-%COMP%] {\n background: var(--prism-bg-surface);\n border: 1px solid var(--prism-border);\n border-top: 2px solid #a78bfa;\n border-radius: 10px;\n padding: 20px 28px;\n text-align: center;\n min-width: 180px;\n }\n .prism-a11y-sr__player-counter[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--prism-text-muted);\n margin-bottom: 8px;\n font-family: var(--prism-font-mono, monospace);\n }\n .prism-a11y-sr__player-name[_ngcontent-%COMP%] {\n font-size: 17px;\n font-weight: 600;\n color: var(--prism-text);\n margin-bottom: 4px;\n min-height: 24px;\n }\n .prism-a11y-sr__player-role[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #a78bfa;\n }\n .prism-a11y-sr__player-states[_ngcontent-%COMP%] {\n display: flex;\n gap: 5px;\n justify-content: center;\n flex-wrap: wrap;\n margin-top: 6px;\n }\n .prism-a11y-sr__player-states[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n padding: 1px 6px;\n border-radius: 3px;\n font-size: 11px;\n font-weight: 600;\n background: color-mix(in srgb, #fbbf24 12%, transparent);\n color: #fbbf24;\n font-family: var(--prism-font-sans, system-ui, sans-serif);\n }\n\n .prism-a11y-sr__nav-btns[_ngcontent-%COMP%] { display: flex; gap: 8px; }\n .prism-a11y-sr__nav-btn[_ngcontent-%COMP%] {\n width: 36px; height: 36px;\n background: rgba(167, 139, 250, 0.1);\n border: 1px solid rgba(167, 139, 250, 0.2);\n border-radius: 6px;\n color: #a78bfa;\n cursor: pointer;\n font-size: 14px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.1s;\n }\n .prism-a11y-sr__nav-btn[_ngcontent-%COMP%]:hover:not(:disabled) { background: rgba(167, 139, 250, 0.18); }\n .prism-a11y-sr__nav-btn[_ngcontent-%COMP%]:disabled { opacity: 0.3; cursor: default; }\n\n .prism-a11y-sr__dots[_ngcontent-%COMP%] {\n display: flex;\n gap: 5px;\n flex-wrap: wrap;\n justify-content: center;\n max-width: 200px;\n }\n .prism-a11y-sr__dot[_ngcontent-%COMP%] {\n width: 6px; height: 6px;\n border-radius: 50%;\n background: var(--prism-text-muted);\n cursor: pointer;\n transition: all 0.15s;\n }\n .prism-a11y-sr__dot--active[_ngcontent-%COMP%] {\n background: #a78bfa;\n width: 14px;\n border-radius: 3px;\n }"], changeDetection: 0 });
|
|
79
|
+
i0.ɵɵconditional(!ctx.rendererService.renderedElement() ? 0 : !ctx.announcements().length ? 1 : 2);
|
|
80
|
+
} }, styles: ["[_nghost-%COMP%] { display: block; height: 100%; overflow: auto; }\n\n .sr-empty[_ngcontent-%COMP%] {\n display: flex; align-items: center; justify-content: center;\n min-height: 100px; color: var(--prism-text-muted); font-size: 13px;\n }\n\n .sr-body[_ngcontent-%COMP%] {\n padding: 16px 20px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n }\n\n .sr-line[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 56px 1fr;\n gap: 12px;\n padding: 10px 12px;\n background: var(--prism-bg-surface);\n border: 1px solid var(--prism-border);\n border-radius: 8px;\n }\n\n .sr-step[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: 11px;\n color: var(--prism-text-ghost);\n font-weight: 600;\n }\n\n .sr-text[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--prism-text);\n line-height: 1.5;\n }\n\n .sr-name[_ngcontent-%COMP%] {\n color: var(--prism-primary);\n font-weight: 600;\n font-style: normal;\n }\n\n .sr-text[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: 11.5px;\n color: var(--prism-text-muted);\n padding: 1px 5px;\n background: var(--prism-input-bg);\n border-radius: var(--radius-xs);\n }"], changeDetection: 0 });
|
|
178
81
|
}
|
|
179
82
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11ySrComponent, [{
|
|
180
83
|
type: Component,
|
|
181
84
|
args: [{ selector: 'prism-a11y-sr', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
(
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
</div>
|
|
199
|
-
|
|
200
|
-
@if (!rendererService.renderedElement()) {
|
|
201
|
-
<div class="prism-a11y-sr__empty">Select a component to simulate screen reader output.</div>
|
|
202
|
-
} @else if (!announcements().length) {
|
|
203
|
-
<div class="prism-a11y-sr__empty">No announced elements found.</div>
|
|
204
|
-
} @else if (perspective.mode() === 'screen-reader') {
|
|
205
|
-
<div class="prism-a11y-sr__player">
|
|
206
|
-
<div class="prism-a11y-sr__player-card">
|
|
207
|
-
<div class="prism-a11y-sr__player-counter">
|
|
208
|
-
{{ activeIndex() + 1 }} / {{ announcements().length }}
|
|
209
|
-
</div>
|
|
210
|
-
<div class="prism-a11y-sr__player-name">
|
|
211
|
-
@if (active()?.name) { "{{ active()?.name }}" }
|
|
212
|
-
</div>
|
|
213
|
-
<div class="prism-a11y-sr__player-role">{{ active()?.role }}</div>
|
|
214
|
-
@if (activeStates().length) {
|
|
215
|
-
<div class="prism-a11y-sr__player-states">
|
|
216
|
-
@for (s of activeStates(); track s) { <span>{{ s }}</span> }
|
|
217
|
-
</div>
|
|
218
|
-
}
|
|
219
|
-
</div>
|
|
220
|
-
<div class="prism-a11y-sr__nav-btns">
|
|
221
|
-
<button class="prism-a11y-sr__nav-btn" (click)="prev()" [disabled]="activeIndex() === 0">◀</button>
|
|
222
|
-
<button class="prism-a11y-sr__nav-btn" (click)="next()" [disabled]="activeIndex() === announcements().length - 1">▶</button>
|
|
223
|
-
</div>
|
|
224
|
-
<div class="prism-a11y-sr__dots">
|
|
225
|
-
@for (a of announcements(); track a.index; let i = $index) {
|
|
226
|
-
<div
|
|
227
|
-
class="prism-a11y-sr__dot"
|
|
228
|
-
[class.prism-a11y-sr__dot--active]="i === activeIndex()"
|
|
229
|
-
(click)="activeIndex.set(i)"
|
|
230
|
-
></div>
|
|
231
|
-
}
|
|
232
|
-
</div>
|
|
233
|
-
</div>
|
|
234
|
-
} @else {
|
|
235
|
-
<div class="prism-a11y-sr__header">
|
|
236
|
-
<span>{{ announcements().length }} Announcements</span>
|
|
237
|
-
</div>
|
|
238
|
-
<div class="prism-a11y-sr__list">
|
|
239
|
-
@for (a of announcements(); track a.index) {
|
|
240
|
-
<div
|
|
241
|
-
class="prism-a11y-sr__item"
|
|
242
|
-
[class.prism-a11y-sr__item--active]="a.index === activeIndex() + 1"
|
|
243
|
-
(click)="activeIndex.set(a.index - 1)"
|
|
244
|
-
>
|
|
245
|
-
<div class="prism-a11y-sr__idx">{{ a.index }}</div>
|
|
246
|
-
<div class="prism-a11y-sr__text-wrap">
|
|
247
|
-
<span class="prism-a11y-sr__announcement">{{ a.text }}</span>
|
|
248
|
-
<span class="prism-a11y-sr__role-label">{{ a.role }}</span>
|
|
249
|
-
</div>
|
|
250
|
-
</div>
|
|
85
|
+
@if (!rendererService.renderedElement()) {
|
|
86
|
+
<div class="sr-empty">
|
|
87
|
+
Select a component to simulate screen reader output.
|
|
88
|
+
</div>
|
|
89
|
+
} @else if (!announcements().length) {
|
|
90
|
+
<div class="sr-empty">No announced elements found.</div>
|
|
91
|
+
} @else {
|
|
92
|
+
<div class="sr-body">
|
|
93
|
+
@for (a of announcements(); track a.index) {
|
|
94
|
+
<div class="sr-line">
|
|
95
|
+
<div class="sr-step">VO · {{ a.index }}</div>
|
|
96
|
+
<div class="sr-text">
|
|
97
|
+
@if (a.name) { "<span class="sr-name">{{ a.name }}</span
|
|
98
|
+
>", }
|
|
99
|
+
<code>{{ a.role }}</code>
|
|
100
|
+
@if (a.states.length) { · {{ a.states.join(', ') }}
|
|
251
101
|
}
|
|
252
102
|
</div>
|
|
103
|
+
</div>
|
|
253
104
|
}
|
|
254
105
|
</div>
|
|
255
|
-
|
|
106
|
+
}
|
|
107
|
+
`, styles: ["\n :host { display: block; height: 100%; overflow: auto; }\n\n .sr-empty {\n display: flex; align-items: center; justify-content: center;\n min-height: 100px; color: var(--prism-text-muted); font-size: 13px;\n }\n\n .sr-body {\n padding: 16px 20px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n }\n\n .sr-line {\n display: grid;\n grid-template-columns: 56px 1fr;\n gap: 12px;\n padding: 10px 12px;\n background: var(--prism-bg-surface);\n border: 1px solid var(--prism-border);\n border-radius: 8px;\n }\n\n .sr-step {\n font-family: var(--font-mono);\n font-size: 11px;\n color: var(--prism-text-ghost);\n font-weight: 600;\n }\n\n .sr-text {\n font-size: 13px;\n color: var(--prism-text);\n line-height: 1.5;\n }\n\n .sr-name {\n color: var(--prism-primary);\n font-weight: 600;\n font-style: normal;\n }\n\n .sr-text code {\n font-family: var(--font-mono);\n font-size: 11.5px;\n color: var(--prism-text-muted);\n padding: 1px 5px;\n background: var(--prism-input-bg);\n border-radius: var(--radius-xs);\n }\n "] }]
|
|
256
108
|
}], null, { activeComponent: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeComponent", required: false }] }] }); })();
|
|
257
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(A11ySrComponent, { className: "A11ySrComponent", filePath: "app/panels/a11y/a11y-sr.component.ts", lineNumber:
|
|
109
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(A11ySrComponent, { className: "A11ySrComponent", filePath: "app/panels/a11y/a11y-sr.component.ts", lineNumber: 93 }); })();
|
|
@@ -4,22 +4,20 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
export declare class A11yTreeNodeComponent {
|
|
5
5
|
readonly node: import("@angular/core").InputSignal<A11yNode>;
|
|
6
6
|
readonly depth: import("@angular/core").InputSignal<number>;
|
|
7
|
+
readonly isLast: import("@angular/core").InputSignal<boolean>;
|
|
7
8
|
protected readonly expanded: import("@angular/core").WritableSignal<boolean>;
|
|
8
|
-
protected readonly visibleChildren: import("@angular/core").Signal<A11yNode[]>;
|
|
9
|
-
protected readonly hiddenChildren: import("@angular/core").Signal<A11yNode[]>;
|
|
10
9
|
protected readonly stateEntries: import("@angular/core").Signal<{
|
|
11
10
|
key: string;
|
|
12
11
|
label: string;
|
|
13
12
|
}[]>;
|
|
14
13
|
protected toggleExpanded(): void;
|
|
15
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<A11yTreeNodeComponent, never>;
|
|
16
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<A11yTreeNodeComponent, "prism-a11y-tree-node", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; "depth": { "alias": "depth"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<A11yTreeNodeComponent, "prism-a11y-tree-node", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; "depth": { "alias": "depth"; "required": false; "isSignal": true; }; "isLast": { "alias": "isLast"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
17
16
|
}
|
|
18
17
|
export declare class A11yTreeComponent {
|
|
19
18
|
protected readonly rendererService: PrismRendererService;
|
|
20
19
|
private readonly treeService;
|
|
21
20
|
readonly activeComponent: import("@angular/core").InputSignal<unknown>;
|
|
22
|
-
protected readonly expandAll: import("@angular/core").WritableSignal<boolean>;
|
|
23
21
|
protected readonly tree: import("@angular/core").Signal<A11yNode | null>;
|
|
24
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<A11yTreeComponent, never>;
|
|
25
23
|
static ɵcmp: i0.ɵɵComponentDeclaration<A11yTreeComponent, "prism-a11y-tree", never, { "activeComponent": { "alias": "activeComponent"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11y-tree.component.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-tree.component.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;;AAEhD,
|
|
1
|
+
{"version":3,"file":"a11y-tree.component.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-tree.component.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;;AAEhD,qBAyEa,qBAAqB;IAChC,QAAQ,CAAC,IAAI,gDAA8B;IAC3C,QAAQ,CAAC,KAAK,8CAAY;IAC1B,QAAQ,CAAC,MAAM,+CAAgB;IAE/B,SAAS,CAAC,QAAQ,CAAC,QAAQ,kDAAgB;IAE3C,SAAS,CAAC,QAAQ,CAAC,YAAY;;;SAQ5B;IAEH,SAAS,CAAC,cAAc,IAAI,IAAI;yCAjBrB,qBAAqB;2CAArB,qBAAqB;CAsBjC;AAED,qBA6Ba,iBAAiB;IAC5B,SAAS,CAAC,QAAQ,CAAC,eAAe,uBAAgC;IAClE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IAEvD,QAAQ,CAAC,eAAe,+CAAwB;IAEhD,SAAS,CAAC,QAAQ,CAAC,IAAI,kDAQpB;yCAdQ,iBAAiB;2CAAjB,iBAAiB;CAe7B"}
|