@ng-prism/core 21.12.0-beta.2 → 23.0.0-beta.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 +10 -13
- package/dist/app/canvas/prism-canvas-bg-pill.component.js +1 -1
- package/dist/app/canvas/prism-canvas-rulers.component.js +5 -3
- package/dist/app/canvas/prism-canvas-toolbar.component.js +1 -1
- package/dist/app/canvas/prism-template-popover.component.js +7 -4
- package/dist/app/component-head/prism-component-head.component.js +20 -11
- package/dist/app/component-head/prism-stat.component.js +9 -5
- package/dist/app/component-header/prism-component-header.component.js +1 -1
- package/dist/app/controls/boolean-control.component.js +7 -4
- package/dist/app/controls/json-control.component.js +19 -10
- package/dist/app/controls/number-control.component.js +7 -4
- package/dist/app/controls/string-control.component.js +7 -4
- package/dist/app/controls/union-control.component.js +9 -5
- package/dist/app/directives/prism-resizer.directive.js +8 -4
- package/dist/app/header/prism-header-widget-host.component.js +5 -3
- package/dist/app/header/prism-header.component.d.ts.map +1 -1
- package/dist/app/header/prism-header.component.js +15 -10
- package/dist/app/icons/prism-icon.component.js +5 -3
- package/dist/app/layout-menu/prism-layout-menu.component.js +2 -1
- package/dist/app/page-renderer/prism-page-renderer.component.d.ts.map +1 -1
- package/dist/app/page-renderer/prism-page-renderer.component.js +13 -16
- package/dist/app/panels/a11y/a11y-audit.service.js +8 -4
- package/dist/app/panels/a11y/a11y-header-badge.component.js +3 -2
- package/dist/app/panels/a11y/a11y-keyboard-overlay.component.js +3 -2
- package/dist/app/panels/a11y/a11y-keyboard.component.js +3 -2
- package/dist/app/panels/a11y/a11y-overlay-host.component.js +11 -6
- package/dist/app/panels/a11y/a11y-panel-state.service.js +2 -1
- package/dist/app/panels/a11y/a11y-panel.component.js +7 -4
- package/dist/app/panels/a11y/a11y-perspective.service.js +2 -1
- package/dist/app/panels/a11y/a11y-score.component.js +7 -4
- package/dist/app/panels/a11y/a11y-sr-overlay.component.js +5 -3
- package/dist/app/panels/a11y/a11y-sr.component.js +3 -2
- package/dist/app/panels/a11y/a11y-tree.component.js +14 -8
- package/dist/app/panels/a11y/a11y-violations.component.d.ts +1 -1
- package/dist/app/panels/a11y/a11y-violations.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-violations.component.js +9 -11
- package/dist/app/panels/a11y/a11y.types.d.ts.map +1 -1
- package/dist/app/panels/controls/prism-controls-panel.component.js +3 -2
- package/dist/app/panels/events/prism-events-panel.component.js +3 -2
- package/dist/app/panels/events/prism-json-node.component.js +14 -7
- package/dist/app/panels/panel-host/prism-panel-host.component.js +15 -8
- package/dist/app/provide-prism.d.ts.map +1 -1
- package/dist/app/provide-prism.js +12 -3
- package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
- package/dist/app/renderer/prism-renderer.component.js +9 -6
- package/dist/app/services/prism-canvas.service.js +8 -4
- package/dist/app/services/prism-event-log.service.js +2 -1
- package/dist/app/services/prism-layout.service.js +16 -8
- package/dist/app/services/prism-manifest.service.js +10 -5
- package/dist/app/services/prism-navigation.service.d.ts.map +1 -1
- package/dist/app/services/prism-navigation.service.js +27 -19
- package/dist/app/services/prism-panel.service.js +6 -3
- package/dist/app/services/prism-plugin.service.js +14 -7
- package/dist/app/services/prism-renderer.service.js +10 -5
- package/dist/app/services/prism-search.service.js +6 -3
- package/dist/app/services/prism-theme.service.js +4 -2
- package/dist/app/services/prism-variant-bg.service.js +8 -4
- package/dist/app/shell/prism-shell.component.js +7 -4
- package/dist/app/sidebar/prism-sidebar.component.js +15 -8
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.js +7 -4
- package/dist/app/view-tab-bar/prism-view-panel-host.component.js +8 -4
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +2 -1
- package/dist/builder/a11y/a11y-report-reader.d.ts.map +1 -1
- package/dist/builder/a11y/a11y-report-reader.js +20 -4
- package/dist/builder/build/index.d.ts.map +1 -1
- package/dist/builder/build/index.js +11 -4
- package/dist/builder/build/schema.d.ts +1 -0
- package/dist/builder/build/schema.d.ts.map +1 -1
- package/dist/builder/manifest/runtime-manifest.generator.d.ts.map +1 -1
- package/dist/builder/manifest/runtime-manifest.generator.js +11 -3
- package/dist/builder/plugin-runner/plugin-runner.d.ts.map +1 -1
- package/dist/builder/serve/index.d.ts.map +1 -1
- package/dist/builder/serve/index.js +21 -6
- package/dist/builder/serve/schema.d.ts +1 -0
- package/dist/builder/serve/schema.d.ts.map +1 -1
- package/dist/builder/shared/prism-pipeline.d.ts +2 -0
- package/dist/builder/shared/prism-pipeline.d.ts.map +1 -1
- package/dist/builder/shared/prism-pipeline.js +3 -5
- package/dist/builder/shared/resolve-cache-dir.d.ts +8 -0
- package/dist/builder/shared/resolve-cache-dir.d.ts.map +1 -0
- package/dist/builder/shared/resolve-cache-dir.js +12 -0
- package/dist/decorator/index.d.ts +1 -1
- package/dist/decorator/index.d.ts.map +1 -1
- package/dist/decorator/showcase.decorator.d.ts.map +1 -1
- package/dist/decorator/showcase.types.d.ts.map +1 -1
- package/dist/schematics/migrations/v21-13-manifest-cache/index.d.ts +3 -0
- package/dist/schematics/migrations/v21-13-manifest-cache/index.d.ts.map +1 -0
- package/dist/schematics/migrations/v21-13-manifest-cache/index.js +103 -0
- package/dist/schematics/ng-add/index.d.ts.map +1 -1
- package/dist/schematics/ng-add/index.js +56 -39
- package/dist/schematics/utils/config-ast.d.ts +17 -0
- package/dist/schematics/utils/config-ast.d.ts.map +1 -0
- package/dist/schematics/utils/config-ast.js +118 -0
- package/dist/schematics/utils/index.d.ts +3 -0
- package/dist/schematics/utils/index.d.ts.map +1 -0
- package/dist/schematics/utils/index.js +2 -0
- package/dist/schematics/utils/tsconfig-paths.d.ts +8 -0
- package/dist/schematics/utils/tsconfig-paths.d.ts.map +1 -0
- package/dist/schematics/utils/tsconfig-paths.js +20 -0
- package/package.json +17 -6
- package/schematics/migrations.json +10 -0
- package/src/builder/build/schema.json +4 -0
- package/src/builder/serve/schema.json +4 -0
|
@@ -77,20 +77,25 @@ export class PrismHeaderComponent {
|
|
|
77
77
|
widgetsStart = computed(() => [
|
|
78
78
|
...BUILTIN_HEADER_WIDGETS.filter((w) => w.placement === 'start'),
|
|
79
79
|
...this.pluginService.headerWidgetsStart(),
|
|
80
|
-
].sort((a, b) => (a.order ?? 0) - (b.order ?? 0)),
|
|
80
|
+
].sort((a, b) => (a.order ?? 0) - (b.order ?? 0)), /* @ts-ignore */
|
|
81
|
+
...(ngDevMode ? [{ debugName: "widgetsStart" }] : /* istanbul ignore next */ []));
|
|
81
82
|
widgetsEnd = computed(() => [
|
|
82
83
|
...BUILTIN_HEADER_WIDGETS.filter((w) => (w.placement ?? 'end') === 'end'),
|
|
83
84
|
...this.pluginService.headerWidgetsEnd(),
|
|
84
|
-
].sort((a, b) => (a.order ?? 0) - (b.order ?? 0)),
|
|
85
|
+
].sort((a, b) => (a.order ?? 0) - (b.order ?? 0)), /* @ts-ignore */
|
|
86
|
+
...(ngDevMode ? [{ debugName: "widgetsEnd" }] : /* istanbul ignore next */ []));
|
|
85
87
|
logoUrl = computed(() => {
|
|
86
88
|
const logo = this.config.logo;
|
|
87
89
|
if (!logo)
|
|
88
90
|
return null;
|
|
89
91
|
const isDark = this.themeService.isDark();
|
|
90
92
|
return (isDark ? logo.dark ?? logo.light : logo.light ?? logo.dark) ?? null;
|
|
91
|
-
},
|
|
92
|
-
|
|
93
|
-
|
|
93
|
+
}, /* @ts-ignore */
|
|
94
|
+
...(ngDevMode ? [{ debugName: "logoUrl" }] : /* istanbul ignore next */ []));
|
|
95
|
+
title = computed(() => this.config.title ?? 'ng-prism', /* @ts-ignore */
|
|
96
|
+
...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
|
|
97
|
+
subtitle = computed(() => this.config.subtitle ?? null, /* @ts-ignore */
|
|
98
|
+
...(ngDevMode ? [{ debugName: "subtitle" }] : /* istanbul ignore next */ []));
|
|
94
99
|
buildInfoLabel = computed(() => {
|
|
95
100
|
const info = this.config.buildInfo;
|
|
96
101
|
if (!info)
|
|
@@ -101,7 +106,8 @@ export class PrismHeaderComponent {
|
|
|
101
106
|
if (info.gitHash)
|
|
102
107
|
parts.push(info.gitHash.slice(0, 7));
|
|
103
108
|
return parts.length ? parts.join(' · ') : null;
|
|
104
|
-
},
|
|
109
|
+
}, /* @ts-ignore */
|
|
110
|
+
...(ngDevMode ? [{ debugName: "buildInfoLabel" }] : /* istanbul ignore next */ []));
|
|
105
111
|
onGlobalKey(e) {
|
|
106
112
|
if ((e.metaKey || e.ctrlKey) && e.key === 'k') {
|
|
107
113
|
e.preventDefault();
|
|
@@ -152,7 +158,7 @@ export class PrismHeaderComponent {
|
|
|
152
158
|
i0.ɵɵconditional(ctx.themeService.isDark() ? 14 : 15);
|
|
153
159
|
} }, dependencies: [PrismIconComponent,
|
|
154
160
|
PrismLayoutMenuComponent,
|
|
155
|
-
PrismHeaderWidgetHostComponent], styles: [".prism-header[_ngcontent-%COMP%] {\n height: 52px;\n display: grid;\n grid-template-columns: minmax(min-content, var(--sw, 264px)) 1fr auto;\n align-items: center;\n padding: 0 14px 0 0;\n background: var(--prism-bg);\n border-bottom: 1px solid var(--prism-border);\n }\n\n .prism-header__brand[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 0 16px;\n cursor: pointer;\n white-space: nowrap;\n }\n\n .prism-header__logo-default[_ngcontent-%COMP%] {\n width: 26px;\n height: 26px;\n flex: 0 0 26px;\n color: var(--prism-primary);\n filter: drop-shadow(0 0 8px var(--prism-glow-strong));\n }\n .prism-header__logo-default[_ngcontent-%COMP%] img[_ngcontent-%COMP%] { width: 30px; }\n\n .prism-header__logo-img[_ngcontent-%COMP%] {\n height: 26px;\n width: auto;\n object-fit: contain;\n }\n\n .prism-header__brand-text[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n line-height: 1.1;\n }\n\n .prism-header__brand-name[_ngcontent-%COMP%] {\n font-weight: 700;\n font-size: var(--fs-xl);\n letter-spacing: -0.01em;\n background: linear-gradient(90deg, var(--prism-primary), var(--prism-accent) 60%, var(--prism-primary-to));\n -webkit-background-clip: text;\n background-clip: text;\n color: transparent;\n }\n\n .prism-header__brand-sub[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: var(--fs-xs);\n color: var(--prism-text-ghost);\n }\n\n .prism-header__cmdbar[_ngcontent-%COMP%] {\n max-width: 540px;\n width: 100%;\n justify-self: center;\n display: flex;\n align-items: center;\n gap: 10px;\n height: 32px;\n padding: 0 12px;\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n border-radius: 8px;\n color: var(--prism-text-muted);\n font-size: var(--fs-lg);\n cursor: pointer;\n transition: border-color var(--dur-fast), background var(--dur-fast);\n }\n .prism-header__cmdbar[_ngcontent-%COMP%]:hover {\n border-color: var(--prism-border-strong);\n color: var(--prism-text-2);\n }\n\n .prism-header__cmdbar-text[_ngcontent-%COMP%] {\n flex: 1;\n text-align: left;\n }\n\n .prism-header__cmdbar-shortcut[_ngcontent-%COMP%] {\n display: flex;\n gap: 3px;\n }\n .prism-header__cmdbar-shortcut[_ngcontent-%COMP%] kbd[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: 10.5px;\n padding: 1px 5px;\n border-radius: 4px;\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n color: var(--prism-text-muted);\n }\n\n .prism-header__build-pill[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: var(--fs-xs);\n color: var(--prism-text-ghost);\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n border-radius: 9999px;\n padding: 2px 10px;\n white-space: nowrap;\n line-height: 1.4;\n }\n\n .prism-header__actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 6px;\n }\n\n .prism-header__widgets[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n }\n .prism-header__widgets--start[_ngcontent-%COMP%] {\n padding-left: 4px;\n justify-content: flex-start;\n }\n\n .prism-header__icon-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n display: grid;\n place-items: center;\n border-radius: 8px;\n color: var(--prism-text-muted);\n background: none;\n border: none;\n cursor: pointer;\n position: relative;\n transition: all var(--dur-fast);\n }\n .prism-header__icon-btn[_ngcontent-%COMP%]:hover {\n background: var(--prism-input-bg);\n color: var(--prism-text);\n }\n\n [_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 2px;\n }"]
|
|
161
|
+
PrismHeaderWidgetHostComponent], styles: [".prism-header[_ngcontent-%COMP%] {\n height: 52px;\n display: grid;\n grid-template-columns: minmax(min-content, var(--sw, 264px)) 1fr auto;\n align-items: center;\n padding: 0 14px 0 0;\n background: var(--prism-bg);\n border-bottom: 1px solid var(--prism-border);\n }\n\n .prism-header__brand[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 0 16px;\n cursor: pointer;\n white-space: nowrap;\n }\n\n .prism-header__logo-default[_ngcontent-%COMP%] {\n width: 26px;\n height: 26px;\n flex: 0 0 26px;\n color: var(--prism-primary);\n filter: drop-shadow(0 0 8px var(--prism-glow-strong));\n }\n .prism-header__logo-default[_ngcontent-%COMP%] img[_ngcontent-%COMP%] { width: 30px; }\n\n .prism-header__logo-img[_ngcontent-%COMP%] {\n height: 26px;\n width: auto;\n object-fit: contain;\n }\n\n .prism-header__brand-text[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n line-height: 1.1;\n }\n\n .prism-header__brand-name[_ngcontent-%COMP%] {\n font-weight: 700;\n font-size: var(--fs-xl);\n letter-spacing: -0.01em;\n background: linear-gradient(90deg, var(--prism-primary), var(--prism-accent) 60%, var(--prism-primary-to));\n -webkit-background-clip: text;\n background-clip: text;\n color: transparent;\n }\n\n .prism-header__brand-sub[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: var(--fs-xs);\n color: var(--prism-text-ghost);\n }\n\n .prism-header__cmdbar[_ngcontent-%COMP%] {\n max-width: 540px;\n width: 100%;\n justify-self: center;\n display: flex;\n align-items: center;\n gap: 10px;\n height: 32px;\n padding: 0 12px;\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n border-radius: 8px;\n color: var(--prism-text-muted);\n font-size: var(--fs-lg);\n cursor: pointer;\n transition: border-color var(--dur-fast), background var(--dur-fast);\n }\n .prism-header__cmdbar[_ngcontent-%COMP%]:hover {\n border-color: var(--prism-border-strong);\n color: var(--prism-text-2);\n }\n\n .prism-header__cmdbar-text[_ngcontent-%COMP%] {\n flex: 1;\n text-align: left;\n }\n\n .prism-header__cmdbar-shortcut[_ngcontent-%COMP%] {\n display: flex;\n gap: 3px;\n }\n .prism-header__cmdbar-shortcut[_ngcontent-%COMP%] kbd[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: 10.5px;\n padding: 1px 5px;\n border-radius: 4px;\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n color: var(--prism-text-muted);\n }\n\n .prism-header__build-pill[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: var(--fs-xs);\n color: var(--prism-text-ghost);\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n border-radius: 9999px;\n padding: 2px 10px;\n white-space: nowrap;\n line-height: 1.4;\n }\n\n .prism-header__actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 6px;\n }\n\n .prism-header__widgets[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n }\n .prism-header__widgets--start[_ngcontent-%COMP%] {\n padding-left: 4px;\n justify-content: flex-start;\n }\n\n .prism-header__icon-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n display: grid;\n place-items: center;\n border-radius: 8px;\n color: var(--prism-text-muted);\n background: none;\n border: none;\n cursor: pointer;\n position: relative;\n transition: all var(--dur-fast);\n }\n .prism-header__icon-btn[_ngcontent-%COMP%]:hover {\n background: var(--prism-input-bg);\n color: var(--prism-text);\n }\n\n [_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 2px;\n }"] });
|
|
156
162
|
}
|
|
157
163
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismHeaderComponent, [{
|
|
158
164
|
type: Component,
|
|
@@ -190,8 +196,7 @@ export class PrismHeaderComponent {
|
|
|
190
196
|
<div class="prism-header__actions">
|
|
191
197
|
@for (w of widgetsEnd(); track w.id) {
|
|
192
198
|
<prism-header-widget-host [widget]="w" />
|
|
193
|
-
}
|
|
194
|
-
@if (buildInfoLabel()) {
|
|
199
|
+
} @if (buildInfoLabel()) {
|
|
195
200
|
<span class="prism-header__build-pill">{{ buildInfoLabel() }}</span>
|
|
196
201
|
}
|
|
197
202
|
<button
|
|
@@ -223,4 +228,4 @@ export class PrismHeaderComponent {
|
|
|
223
228
|
type: HostListener,
|
|
224
229
|
args: ['document:keydown', ['$event']]
|
|
225
230
|
}] }); })();
|
|
226
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismHeaderComponent, { className: "PrismHeaderComponent", filePath: "app/header/prism-header.component.ts", lineNumber:
|
|
231
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismHeaderComponent, { className: "PrismHeaderComponent", filePath: "app/header/prism-header.component.ts", lineNumber: 237 }); })();
|
|
@@ -30,8 +30,10 @@ const ICONS = {
|
|
|
30
30
|
};
|
|
31
31
|
const SVG_NS = 'http://www.w3.org/2000/svg';
|
|
32
32
|
export class PrismIconComponent {
|
|
33
|
-
name = input.required(
|
|
34
|
-
|
|
33
|
+
name = input.required(/* @ts-ignore */
|
|
34
|
+
...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
35
|
+
size = input(16, /* @ts-ignore */
|
|
36
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
35
37
|
el = inject((ElementRef));
|
|
36
38
|
constructor() {
|
|
37
39
|
effect(() => {
|
|
@@ -58,7 +60,7 @@ export class PrismIconComponent {
|
|
|
58
60
|
});
|
|
59
61
|
}
|
|
60
62
|
static ɵfac = function PrismIconComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismIconComponent)(); };
|
|
61
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismIconComponent, selectors: [["prism-icon"]], inputs: { name: [1, "name"], size: [1, "size"] }, decls: 0, vars: 0, template: function PrismIconComponent_Template(rf, ctx) { }, styles: ["[_nghost-%COMP%] { display: inline-flex; align-items: center; justify-content: center; }"]
|
|
63
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismIconComponent, selectors: [["prism-icon"]], inputs: { name: [1, "name"], size: [1, "size"] }, decls: 0, vars: 0, template: function PrismIconComponent_Template(rf, ctx) { }, styles: ["[_nghost-%COMP%] { display: inline-flex; align-items: center; justify-content: center; }"] });
|
|
62
64
|
}
|
|
63
65
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismIconComponent, [{
|
|
64
66
|
type: Component,
|
|
@@ -68,7 +68,8 @@ function PrismLayoutMenuComponent_Conditional_6_Template(rf, ctx) { if (rf & 1)
|
|
|
68
68
|
} }
|
|
69
69
|
export class PrismLayoutMenuComponent {
|
|
70
70
|
layout = inject(PrismLayoutService);
|
|
71
|
-
open = signal(false,
|
|
71
|
+
open = signal(false, /* @ts-ignore */
|
|
72
|
+
...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
|
|
72
73
|
toggle(target) {
|
|
73
74
|
this.open.set(false);
|
|
74
75
|
switch (target) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-page-renderer.component.d.ts","sourceRoot":"","sources":["../../../src/app/page-renderer/prism-page-renderer.component.ts"],"names":[],"mappings":";AAIA,
|
|
1
|
+
{"version":3,"file":"prism-page-renderer.component.d.ts","sourceRoot":"","sources":["../../../src/app/page-renderer/prism-page-renderer.component.ts"],"names":[],"mappings":";AAIA,qBA8Ca,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkC;IACtD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmC;IACxD,SAAS,CAAC,QAAQ,CAAC,IAAI,iFAAuB;;yCAHnC,0BAA0B;2CAA1B,0BAA0B;CAWtC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, effect, ElementRef, inject } from '@angular/core';
|
|
2
|
-
import { NgComponentOutlet } from '@angular/common';
|
|
2
|
+
import { JsonPipe, NgComponentOutlet } from '@angular/common';
|
|
3
3
|
import { PrismNavigationService } from '../services/prism-navigation.service.js';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
function PrismPageRendererComponent_Conditional_0_Case_3_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -54,26 +54,23 @@ export class PrismPageRendererComponent {
|
|
|
54
54
|
} if (rf & 2) {
|
|
55
55
|
let tmp_0_0;
|
|
56
56
|
i0.ɵɵconditional((tmp_0_0 = ctx.page()) ? 0 : -1, tmp_0_0);
|
|
57
|
-
} }, dependencies: [NgComponentOutlet], styles: ["[_nghost-%COMP%] { display: block; flex: 1; overflow-y: auto; }\n .prism-page-renderer__title[_ngcontent-%COMP%] {\n margin: 0;\n padding: 16px 20px;\n font-size: 18px;\n font-weight: 600;\n letter-spacing: -0.01em;\n color: var(--prism-text);\n font-family: var(--prism-font-sans);\n border-bottom: 1px solid var(--prism-border);\n border-left: 3px solid;\n border-image: linear-gradient(180deg, var(--prism-primary-from), var(--prism-primary-to)) 1;\n background: var(--prism-bg-surface);\n }\n .prism-page-renderer__component[_ngcontent-%COMP%] {\n padding: 16px 20px;\n }\n .prism-page-renderer__json[_ngcontent-%COMP%] {\n margin: 0;\n padding: 24px;\n font-size: 12px;\n font-family: monospace;\n color: var(--prism-text-muted);\n white-space: pre-wrap;\n }"] });
|
|
57
|
+
} }, dependencies: [NgComponentOutlet, JsonPipe], styles: ["[_nghost-%COMP%] { display: block; flex: 1; overflow-y: auto; }\n .prism-page-renderer__title[_ngcontent-%COMP%] {\n margin: 0;\n padding: 16px 20px;\n font-size: 18px;\n font-weight: 600;\n letter-spacing: -0.01em;\n color: var(--prism-text);\n font-family: var(--prism-font-sans);\n border-bottom: 1px solid var(--prism-border);\n border-left: 3px solid;\n border-image: linear-gradient(180deg, var(--prism-primary-from), var(--prism-primary-to)) 1;\n background: var(--prism-bg-surface);\n }\n .prism-page-renderer__component[_ngcontent-%COMP%] {\n padding: 16px 20px;\n }\n .prism-page-renderer__json[_ngcontent-%COMP%] {\n margin: 0;\n padding: 24px;\n font-size: 12px;\n font-family: monospace;\n color: var(--prism-text-muted);\n white-space: pre-wrap;\n }"] });
|
|
58
58
|
}
|
|
59
59
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismPageRendererComponent, [{
|
|
60
60
|
type: Component,
|
|
61
|
-
args: [{ selector: 'prism-page-renderer', standalone: true, imports: [NgComponentOutlet], template: `
|
|
61
|
+
args: [{ selector: 'prism-page-renderer', standalone: true, imports: [JsonPipe, NgComponentOutlet], template: `
|
|
62
62
|
@if (page(); as p) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
<div class="prism-page-renderer__component">
|
|
71
|
-
<ng-container *ngComponentOutlet="$any(p).component" />
|
|
72
|
-
</div>
|
|
73
|
-
}
|
|
74
|
-
}
|
|
63
|
+
<div class="prism-page-renderer">
|
|
64
|
+
<h2 class="prism-page-renderer__title">{{ p.title }}</h2>
|
|
65
|
+
@switch (p.type) { @case ('custom') {
|
|
66
|
+
<pre class="prism-page-renderer__json">{{ $any(p).data | json }}</pre>
|
|
67
|
+
} @case ('component') {
|
|
68
|
+
<div class="prism-page-renderer__component">
|
|
69
|
+
<ng-container *ngComponentOutlet="$any(p).component" />
|
|
75
70
|
</div>
|
|
71
|
+
} }
|
|
72
|
+
</div>
|
|
76
73
|
}
|
|
77
74
|
`, styles: ["\n :host { display: block; flex: 1; overflow-y: auto; }\n .prism-page-renderer__title {\n margin: 0;\n padding: 16px 20px;\n font-size: 18px;\n font-weight: 600;\n letter-spacing: -0.01em;\n color: var(--prism-text);\n font-family: var(--prism-font-sans);\n border-bottom: 1px solid var(--prism-border);\n border-left: 3px solid;\n border-image: linear-gradient(180deg, var(--prism-primary-from), var(--prism-primary-to)) 1;\n background: var(--prism-bg-surface);\n }\n .prism-page-renderer__component {\n padding: 16px 20px;\n }\n .prism-page-renderer__json {\n margin: 0;\n padding: 24px;\n font-size: 12px;\n font-family: monospace;\n color: var(--prism-text-muted);\n white-space: pre-wrap;\n }\n "] }]
|
|
78
75
|
}], () => [], null); })();
|
|
79
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismPageRendererComponent, { className: "PrismPageRendererComponent", filePath: "app/page-renderer/prism-page-renderer.component.ts", lineNumber:
|
|
76
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismPageRendererComponent, { className: "PrismPageRendererComponent", filePath: "app/page-renderer/prism-page-renderer.component.ts", lineNumber: 51 }); })();
|
|
@@ -30,13 +30,17 @@ export async function runCoreAudit(element, config) {
|
|
|
30
30
|
return axe.default.run(element, options);
|
|
31
31
|
}
|
|
32
32
|
export class A11yAuditService {
|
|
33
|
-
results = signal(null,
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
results = signal(null, /* @ts-ignore */
|
|
34
|
+
...(ngDevMode ? [{ debugName: "results" }] : /* istanbul ignore next */ []));
|
|
35
|
+
running = signal(false, /* @ts-ignore */
|
|
36
|
+
...(ngDevMode ? [{ debugName: "running" }] : /* istanbul ignore next */ []));
|
|
37
|
+
error = signal(null, /* @ts-ignore */
|
|
38
|
+
...(ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []));
|
|
36
39
|
scoreResult = computed(() => {
|
|
37
40
|
const r = this.results();
|
|
38
41
|
return r ? calculateScore(r) : null;
|
|
39
|
-
},
|
|
42
|
+
}, /* @ts-ignore */
|
|
43
|
+
...(ngDevMode ? [{ debugName: "scoreResult" }] : /* istanbul ignore next */ []));
|
|
40
44
|
timer = null;
|
|
41
45
|
destroyed = false;
|
|
42
46
|
constructor() {
|
|
@@ -41,7 +41,8 @@ export class A11yHeaderBadgeComponent {
|
|
|
41
41
|
`Violations: ${meta.total.critical} critical · ${meta.total.serious} serious · ` +
|
|
42
42
|
`${meta.total.moderate} moderate · ${meta.total.minor} minor`,
|
|
43
43
|
};
|
|
44
|
-
},
|
|
44
|
+
}, /* @ts-ignore */
|
|
45
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
45
46
|
computeVariant(score, total, thresholds) {
|
|
46
47
|
if (total.critical > thresholds.critical)
|
|
47
48
|
return 'danger';
|
|
@@ -61,7 +62,7 @@ export class A11yHeaderBadgeComponent {
|
|
|
61
62
|
} if (rf & 2) {
|
|
62
63
|
let tmp_0_0;
|
|
63
64
|
i0.ɵɵconditional((tmp_0_0 = ctx.data()) ? 0 : -1, tmp_0_0);
|
|
64
|
-
} }, styles: ["[_nghost-%COMP%] { display: inline-flex; align-items: center; }\n\n .a11y-pill[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: var(--font-mono);\n font-size: var(--fs-xs);\n padding: 2px 10px;\n border-radius: 9999px;\n line-height: 1.4;\n border: 1px solid var(--prism-border);\n background: var(--prism-input-bg);\n color: var(--prism-text-muted);\n white-space: nowrap;\n }\n\n .a11y-pill__dot[_ngcontent-%COMP%] {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: currentColor;\n }\n\n .a11y-pill__label[_ngcontent-%COMP%] {\n color: var(--prism-text-ghost);\n letter-spacing: 0.02em;\n }\n\n .a11y-pill__value[_ngcontent-%COMP%] {\n color: var(--prism-text);\n font-weight: 600;\n }\n .a11y-pill__value[_ngcontent-%COMP%] small[_ngcontent-%COMP%] {\n font-size: 9px;\n margin-left: 1px;\n color: var(--prism-text-muted);\n font-weight: 500;\n }\n\n .a11y-pill--ok[_ngcontent-%COMP%] {\n color: var(--prism-success);\n border-color: color-mix(in srgb, var(--prism-success) 35%, transparent);\n background: color-mix(in srgb, var(--prism-success) 12%, transparent);\n }\n .a11y-pill--ok[_ngcontent-%COMP%] .a11y-pill__label[_ngcontent-%COMP%], \n .a11y-pill--ok[_ngcontent-%COMP%] .a11y-pill__value[_ngcontent-%COMP%] { color: var(--prism-success); }\n\n .a11y-pill--warn[_ngcontent-%COMP%] {\n color: var(--prism-warn);\n border-color: color-mix(in srgb, var(--prism-warn) 35%, transparent);\n background: color-mix(in srgb, var(--prism-warn) 12%, transparent);\n }\n .a11y-pill--warn[_ngcontent-%COMP%] .a11y-pill__label[_ngcontent-%COMP%], \n .a11y-pill--warn[_ngcontent-%COMP%] .a11y-pill__value[_ngcontent-%COMP%] { color: var(--prism-warn); }\n\n .a11y-pill--danger[_ngcontent-%COMP%] {\n color: var(--prism-danger);\n border-color: color-mix(in srgb, var(--prism-danger) 35%, transparent);\n background: color-mix(in srgb, var(--prism-danger) 12%, transparent);\n }\n .a11y-pill--danger[_ngcontent-%COMP%] .a11y-pill__label[_ngcontent-%COMP%], \n .a11y-pill--danger[_ngcontent-%COMP%] .a11y-pill__value[_ngcontent-%COMP%] { color: var(--prism-danger); }"]
|
|
65
|
+
} }, styles: ["[_nghost-%COMP%] { display: inline-flex; align-items: center; }\n\n .a11y-pill[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: var(--font-mono);\n font-size: var(--fs-xs);\n padding: 2px 10px;\n border-radius: 9999px;\n line-height: 1.4;\n border: 1px solid var(--prism-border);\n background: var(--prism-input-bg);\n color: var(--prism-text-muted);\n white-space: nowrap;\n }\n\n .a11y-pill__dot[_ngcontent-%COMP%] {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: currentColor;\n }\n\n .a11y-pill__label[_ngcontent-%COMP%] {\n color: var(--prism-text-ghost);\n letter-spacing: 0.02em;\n }\n\n .a11y-pill__value[_ngcontent-%COMP%] {\n color: var(--prism-text);\n font-weight: 600;\n }\n .a11y-pill__value[_ngcontent-%COMP%] small[_ngcontent-%COMP%] {\n font-size: 9px;\n margin-left: 1px;\n color: var(--prism-text-muted);\n font-weight: 500;\n }\n\n .a11y-pill--ok[_ngcontent-%COMP%] {\n color: var(--prism-success);\n border-color: color-mix(in srgb, var(--prism-success) 35%, transparent);\n background: color-mix(in srgb, var(--prism-success) 12%, transparent);\n }\n .a11y-pill--ok[_ngcontent-%COMP%] .a11y-pill__label[_ngcontent-%COMP%], \n .a11y-pill--ok[_ngcontent-%COMP%] .a11y-pill__value[_ngcontent-%COMP%] { color: var(--prism-success); }\n\n .a11y-pill--warn[_ngcontent-%COMP%] {\n color: var(--prism-warn);\n border-color: color-mix(in srgb, var(--prism-warn) 35%, transparent);\n background: color-mix(in srgb, var(--prism-warn) 12%, transparent);\n }\n .a11y-pill--warn[_ngcontent-%COMP%] .a11y-pill__label[_ngcontent-%COMP%], \n .a11y-pill--warn[_ngcontent-%COMP%] .a11y-pill__value[_ngcontent-%COMP%] { color: var(--prism-warn); }\n\n .a11y-pill--danger[_ngcontent-%COMP%] {\n color: var(--prism-danger);\n border-color: color-mix(in srgb, var(--prism-danger) 35%, transparent);\n background: color-mix(in srgb, var(--prism-danger) 12%, transparent);\n }\n .a11y-pill--danger[_ngcontent-%COMP%] .a11y-pill__label[_ngcontent-%COMP%], \n .a11y-pill--danger[_ngcontent-%COMP%] .a11y-pill__value[_ngcontent-%COMP%] { color: var(--prism-danger); }"] });
|
|
65
66
|
}
|
|
66
67
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yHeaderBadgeComponent, [{
|
|
67
68
|
type: Component,
|
|
@@ -29,7 +29,8 @@ export class A11yKeyboardOverlayComponent {
|
|
|
29
29
|
rendererService = inject(PrismRendererService);
|
|
30
30
|
keyboardService = inject(A11yKeyboardService);
|
|
31
31
|
elementRef = inject((ElementRef));
|
|
32
|
-
badges = signal([],
|
|
32
|
+
badges = signal([], /* @ts-ignore */
|
|
33
|
+
...(ngDevMode ? [{ debugName: "badges" }] : /* istanbul ignore next */ []));
|
|
33
34
|
rafId = null;
|
|
34
35
|
constructor() {
|
|
35
36
|
effect(() => {
|
|
@@ -77,7 +78,7 @@ export class A11yKeyboardOverlayComponent {
|
|
|
77
78
|
i0.ɵɵconditionalCreate(0, A11yKeyboardOverlayComponent_Conditional_0_Template, 2, 0);
|
|
78
79
|
} if (rf & 2) {
|
|
79
80
|
i0.ɵɵconditional(ctx.panelState.activeTab() === "keyboard" ? 0 : -1);
|
|
80
|
-
} }, styles: ["[_nghost-%COMP%] {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 100;\n overflow: hidden;\n }\n\n .prism-a11y-kbd-ov__highlight[_ngcontent-%COMP%] {\n position: absolute;\n border: 2px solid rgba(129, 140, 248, 0.5);\n border-radius: 4px;\n background: rgba(129, 140, 248, 0.06);\n box-shadow: 0 0 0 4px rgba(129, 140, 248, 0.08);\n pointer-events: none;\n }\n\n .prism-a11y-kbd-ov__badge[_ngcontent-%COMP%] {\n position: absolute;\n width: 20px;\n height: 20px;\n background: var(--prism-primary);\n color: white;\n border-radius: 50%;\n font-size: 10px;\n font-weight: 700;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 0 0 2px white, 0 2px 6px rgba(0, 0, 0, 0.3);\n font-family: var(--prism-font-sans, system-ui, sans-serif);\n pointer-events: auto;\n cursor: default;\n }"]
|
|
81
|
+
} }, styles: ["[_nghost-%COMP%] {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 100;\n overflow: hidden;\n }\n\n .prism-a11y-kbd-ov__highlight[_ngcontent-%COMP%] {\n position: absolute;\n border: 2px solid rgba(129, 140, 248, 0.5);\n border-radius: 4px;\n background: rgba(129, 140, 248, 0.06);\n box-shadow: 0 0 0 4px rgba(129, 140, 248, 0.08);\n pointer-events: none;\n }\n\n .prism-a11y-kbd-ov__badge[_ngcontent-%COMP%] {\n position: absolute;\n width: 20px;\n height: 20px;\n background: var(--prism-primary);\n color: white;\n border-radius: 50%;\n font-size: 10px;\n font-weight: 700;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 0 0 2px white, 0 2px 6px rgba(0, 0, 0, 0.3);\n font-family: var(--prism-font-sans, system-ui, sans-serif);\n pointer-events: auto;\n cursor: default;\n }"] });
|
|
81
82
|
}
|
|
82
83
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yKeyboardOverlayComponent, [{
|
|
83
84
|
type: Component,
|
|
@@ -60,7 +60,8 @@ export class A11yKeyboardComponent {
|
|
|
60
60
|
return [];
|
|
61
61
|
const doc = root.ownerDocument;
|
|
62
62
|
return this.keyboardService.extractTabOrder(root, doc ? (id) => doc.getElementById(id) : undefined);
|
|
63
|
-
},
|
|
63
|
+
}, /* @ts-ignore */
|
|
64
|
+
...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
64
65
|
typeAttr(el) {
|
|
65
66
|
const type = el.getAttribute('type');
|
|
66
67
|
return type ? `[type=${type}]` : '';
|
|
@@ -70,7 +71,7 @@ export class A11yKeyboardComponent {
|
|
|
70
71
|
i0.ɵɵconditionalCreate(0, A11yKeyboardComponent_Conditional_0_Template, 2, 0, "div", 0)(1, A11yKeyboardComponent_Conditional_1_Template, 2, 0, "div", 0)(2, A11yKeyboardComponent_Conditional_2_Template, 3, 0, "div", 1);
|
|
71
72
|
} if (rf & 2) {
|
|
72
73
|
i0.ɵɵconditional(!ctx.rendererService.renderedElement() ? 0 : !ctx.items().length ? 1 : 2);
|
|
73
|
-
} }, styles: ["[_nghost-%COMP%] { display: block; height: 100%; overflow: auto; }\n\n .kb-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 .kb-body[_ngcontent-%COMP%] {\n padding: 16px 20px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .kb-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 110px 1fr auto;\n align-items: center;\n gap: 12px;\n padding: 9px 14px;\n background: var(--prism-bg-surface);\n border: 1px solid var(--prism-border);\n border-radius: 8px;\n }\n\n .kb-keys[_ngcontent-%COMP%] { display: flex; gap: 4px; }\n .kb-keys[_ngcontent-%COMP%] kbd[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: 10.5px;\n padding: 1px 5px;\n border-radius: 4px;\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n color: var(--prism-text-muted);\n }\n\n .kb-desc[_ngcontent-%COMP%] {\n font-size: 12.5px;\n color: var(--prism-text-2);\n }\n\n .kb-tgt[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: 11px;\n color: var(--prism-primary);\n padding: 2px 7px;\n background: color-mix(in srgb, var(--prism-primary) 10%, transparent);\n border-radius: var(--radius-xs);\n }"]
|
|
74
|
+
} }, styles: ["[_nghost-%COMP%] { display: block; height: 100%; overflow: auto; }\n\n .kb-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 .kb-body[_ngcontent-%COMP%] {\n padding: 16px 20px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .kb-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 110px 1fr auto;\n align-items: center;\n gap: 12px;\n padding: 9px 14px;\n background: var(--prism-bg-surface);\n border: 1px solid var(--prism-border);\n border-radius: 8px;\n }\n\n .kb-keys[_ngcontent-%COMP%] { display: flex; gap: 4px; }\n .kb-keys[_ngcontent-%COMP%] kbd[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: 10.5px;\n padding: 1px 5px;\n border-radius: 4px;\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n color: var(--prism-text-muted);\n }\n\n .kb-desc[_ngcontent-%COMP%] {\n font-size: 12.5px;\n color: var(--prism-text-2);\n }\n\n .kb-tgt[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: 11px;\n color: var(--prism-primary);\n padding: 2px 7px;\n background: color-mix(in srgb, var(--prism-primary) 10%, transparent);\n border-radius: var(--radius-xs);\n }"] });
|
|
74
75
|
}
|
|
75
76
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yKeyboardComponent, [{
|
|
76
77
|
type: Component,
|
|
@@ -37,10 +37,12 @@ function A11yOverlayHostComponent_Conditional_0_Template(rf, ctx) { if (rf & 1)
|
|
|
37
37
|
i0.ɵɵconditional(ctx_r1.tabLabel() ? 2 : -1);
|
|
38
38
|
} }
|
|
39
39
|
export class A11yOverlayHostComponent {
|
|
40
|
-
rendererService = input.required(
|
|
40
|
+
rendererService = input.required(/* @ts-ignore */
|
|
41
|
+
...(ngDevMode ? [{ debugName: "rendererService" }] : /* istanbul ignore next */ []));
|
|
41
42
|
keyboardService = inject(A11yKeyboardService);
|
|
42
43
|
elementRef = inject((ElementRef));
|
|
43
|
-
layoutTick = signal(0,
|
|
44
|
+
layoutTick = signal(0, /* @ts-ignore */
|
|
45
|
+
...(ngDevMode ? [{ debugName: "layoutTick" }] : /* istanbul ignore next */ []));
|
|
44
46
|
bounds = computed(() => {
|
|
45
47
|
const el = this.rendererService().renderedElement();
|
|
46
48
|
this.layoutTick();
|
|
@@ -57,14 +59,16 @@ export class A11yOverlayHostComponent {
|
|
|
57
59
|
width: elRect.width,
|
|
58
60
|
height: elRect.height,
|
|
59
61
|
};
|
|
60
|
-
},
|
|
62
|
+
}, /* @ts-ignore */
|
|
63
|
+
...(ngDevMode ? [{ debugName: "bounds" }] : /* istanbul ignore next */ []));
|
|
61
64
|
roleLabel = computed(() => {
|
|
62
65
|
const el = this.rendererService().renderedElement();
|
|
63
66
|
if (!el)
|
|
64
67
|
return null;
|
|
65
68
|
const role = el.getAttribute('role') ?? implicitRole(el);
|
|
66
69
|
return role ? `role="${role}"` : null;
|
|
67
|
-
},
|
|
70
|
+
}, /* @ts-ignore */
|
|
71
|
+
...(ngDevMode ? [{ debugName: "roleLabel" }] : /* istanbul ignore next */ []));
|
|
68
72
|
tabLabel = computed(() => {
|
|
69
73
|
const el = this.rendererService().renderedElement();
|
|
70
74
|
if (!el)
|
|
@@ -74,7 +78,8 @@ export class A11yOverlayHostComponent {
|
|
|
74
78
|
if (items.length === 0)
|
|
75
79
|
return null;
|
|
76
80
|
return `Tab ${items[0].index}`;
|
|
77
|
-
},
|
|
81
|
+
}, /* @ts-ignore */
|
|
82
|
+
...(ngDevMode ? [{ debugName: "tabLabel" }] : /* istanbul ignore next */ []));
|
|
78
83
|
constructor() {
|
|
79
84
|
effect((onCleanup) => {
|
|
80
85
|
const el = this.rendererService().renderedElement();
|
|
@@ -99,7 +104,7 @@ export class A11yOverlayHostComponent {
|
|
|
99
104
|
} if (rf & 2) {
|
|
100
105
|
let tmp_0_0;
|
|
101
106
|
i0.ɵɵconditional((tmp_0_0 = ctx.bounds()) ? 0 : -1, tmp_0_0);
|
|
102
|
-
} }, styles: ["[_nghost-%COMP%] { display: contents; }\n .a11y-mark[_ngcontent-%COMP%] {\n position: absolute;\n pointer-events: none;\n z-index: 1;\n }\n .outline[_ngcontent-%COMP%] {\n border: 2px solid rgba(59, 130, 246, 0.95);\n border-radius: 4px;\n background: rgba(59, 130, 246, 0.08);\n }\n .tag[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 6px;\n border-radius: 4px;\n background: rgba(17, 24, 39, 0.92);\n color: var(--prism-text-light, #fff);\n font: 11px/1.4 var(--font-mono);\n white-space: nowrap;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);\n }\n .kb[_ngcontent-%COMP%] .tag[_ngcontent-%COMP%] { background: rgba(5, 150, 105, 0.95); }"]
|
|
107
|
+
} }, styles: ["[_nghost-%COMP%] { display: contents; }\n .a11y-mark[_ngcontent-%COMP%] {\n position: absolute;\n pointer-events: none;\n z-index: 1;\n }\n .outline[_ngcontent-%COMP%] {\n border: 2px solid rgba(59, 130, 246, 0.95);\n border-radius: 4px;\n background: rgba(59, 130, 246, 0.08);\n }\n .tag[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 2px 6px;\n border-radius: 4px;\n background: rgba(17, 24, 39, 0.92);\n color: var(--prism-text-light, #fff);\n font: 11px/1.4 var(--font-mono);\n white-space: nowrap;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);\n }\n .kb[_ngcontent-%COMP%] .tag[_ngcontent-%COMP%] { background: rgba(5, 150, 105, 0.95); }"] });
|
|
103
108
|
}
|
|
104
109
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yOverlayHostComponent, [{
|
|
105
110
|
type: Component,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Injectable, signal } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class A11yPanelStateService {
|
|
4
|
-
activeTab = signal('violations',
|
|
4
|
+
activeTab = signal('violations', /* @ts-ignore */
|
|
5
|
+
...(ngDevMode ? [{ debugName: "activeTab" }] : /* istanbul ignore next */ []));
|
|
5
6
|
static ɵfac = function A11yPanelStateService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || A11yPanelStateService)(); };
|
|
6
7
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: A11yPanelStateService, factory: A11yPanelStateService.ɵfac, providedIn: 'root' });
|
|
7
8
|
}
|
|
@@ -43,16 +43,19 @@ function A11yPanelComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
|
43
43
|
export class A11yPanelComponent {
|
|
44
44
|
auditService = inject(A11yAuditService);
|
|
45
45
|
state = inject(A11yPanelStateService);
|
|
46
|
-
activeComponent = input(null,
|
|
46
|
+
activeComponent = input(null, /* @ts-ignore */
|
|
47
|
+
...(ngDevMode ? [{ debugName: "activeComponent" }] : /* istanbul ignore next */ []));
|
|
47
48
|
disabled = computed(() => {
|
|
48
49
|
const comp = this.activeComponent();
|
|
49
50
|
const config = comp?.meta.showcaseConfig.meta?.['a11y'];
|
|
50
51
|
return config?.disable === true;
|
|
51
|
-
},
|
|
52
|
+
}, /* @ts-ignore */
|
|
53
|
+
...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
52
54
|
violationCount = computed(() => {
|
|
53
55
|
const r = this.auditService.results();
|
|
54
56
|
return r ? r.violations.length : null;
|
|
55
|
-
},
|
|
57
|
+
}, /* @ts-ignore */
|
|
58
|
+
...(ngDevMode ? [{ debugName: "violationCount" }] : /* istanbul ignore next */ []));
|
|
56
59
|
static ɵfac = function A11yPanelComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || A11yPanelComponent)(); };
|
|
57
60
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A11yPanelComponent, selectors: [["prism-a11y-panel"]], inputs: { activeComponent: [1, "activeComponent"] }, decls: 14, vars: 10, consts: [[1, "a11y-panel"], [1, "subtabs"], [1, "st-tab", 3, "click"], [1, "st-badge", 3, "st-badge--ok", "st-badge--warn"], [1, "a11y-content"], [1, "a11y-disabled"], [1, "st-badge"]], template: function A11yPanelComponent_Template(rf, ctx) { if (rf & 1) {
|
|
58
61
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "button", 2);
|
|
@@ -91,7 +94,7 @@ export class A11yPanelComponent {
|
|
|
91
94
|
} }, dependencies: [A11yViolationsComponent,
|
|
92
95
|
A11yKeyboardComponent,
|
|
93
96
|
A11yTreeComponent,
|
|
94
|
-
A11ySrComponent], styles: ["[_nghost-%COMP%] { display: flex; flex-direction: column; height: 100%; }\n\n .a11y-panel[_ngcontent-%COMP%] { display: flex; flex-direction: column; height: 100%; }\n\n .subtabs[_ngcontent-%COMP%] {\n display: flex;\n gap: 2px;\n padding: 10px 20px 0;\n border-bottom: 1px solid var(--prism-border);\n background: var(--prism-bg-elevated);\n position: sticky;\n top: 0;\n z-index: 2;\n }\n\n .st-tab[_ngcontent-%COMP%] {\n padding: 7px 12px;\n font-size: 12px;\n font-weight: 500;\n color: var(--prism-text-muted);\n border-radius: var(--radius-sm) var(--radius-sm) 0 0;\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n background: none;\n border: none;\n cursor: pointer;\n font-family: var(--font-sans);\n transition: color var(--dur-fast);\n }\n .st-tab[_ngcontent-%COMP%]:hover { color: var(--prism-text-2); }\n .st-tab--active[_ngcontent-%COMP%] { color: var(--prism-text); }\n .st-tab--active[_ngcontent-%COMP%]::after {\n content: '';\n position: absolute;\n left: 8px;\n right: 8px;\n bottom: -1px;\n height: 2px;\n background: var(--prism-primary);\n border-radius: 1px;\n }\n\n .st-badge[_ngcontent-%COMP%] {\n min-width: 16px;\n height: 16px;\n padding: 0 5px;\n border-radius: 8px;\n font-family: var(--font-mono);\n font-size: 10px;\n font-weight: 700;\n display: grid;\n place-items: center;\n background: color-mix(in srgb, var(--prism-primary) 18%, transparent);\n color: var(--prism-primary);\n }\n .st-badge--ok[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--prism-success) 18%, transparent);\n color: var(--prism-success);\n }\n .st-badge--warn[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--prism-warn) 18%, transparent);\n color: var(--prism-warn);\n }\n\n .a11y-content[_ngcontent-%COMP%] { flex: 1; overflow: auto; min-height: 0; }\n\n .a11y-disabled[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100px;\n color: var(--prism-text-muted);\n font-size: 13px;\n }"]
|
|
97
|
+
A11ySrComponent], styles: ["[_nghost-%COMP%] { display: flex; flex-direction: column; height: 100%; }\n\n .a11y-panel[_ngcontent-%COMP%] { display: flex; flex-direction: column; height: 100%; }\n\n .subtabs[_ngcontent-%COMP%] {\n display: flex;\n gap: 2px;\n padding: 10px 20px 0;\n border-bottom: 1px solid var(--prism-border);\n background: var(--prism-bg-elevated);\n position: sticky;\n top: 0;\n z-index: 2;\n }\n\n .st-tab[_ngcontent-%COMP%] {\n padding: 7px 12px;\n font-size: 12px;\n font-weight: 500;\n color: var(--prism-text-muted);\n border-radius: var(--radius-sm) var(--radius-sm) 0 0;\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n background: none;\n border: none;\n cursor: pointer;\n font-family: var(--font-sans);\n transition: color var(--dur-fast);\n }\n .st-tab[_ngcontent-%COMP%]:hover { color: var(--prism-text-2); }\n .st-tab--active[_ngcontent-%COMP%] { color: var(--prism-text); }\n .st-tab--active[_ngcontent-%COMP%]::after {\n content: '';\n position: absolute;\n left: 8px;\n right: 8px;\n bottom: -1px;\n height: 2px;\n background: var(--prism-primary);\n border-radius: 1px;\n }\n\n .st-badge[_ngcontent-%COMP%] {\n min-width: 16px;\n height: 16px;\n padding: 0 5px;\n border-radius: 8px;\n font-family: var(--font-mono);\n font-size: 10px;\n font-weight: 700;\n display: grid;\n place-items: center;\n background: color-mix(in srgb, var(--prism-primary) 18%, transparent);\n color: var(--prism-primary);\n }\n .st-badge--ok[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--prism-success) 18%, transparent);\n color: var(--prism-success);\n }\n .st-badge--warn[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--prism-warn) 18%, transparent);\n color: var(--prism-warn);\n }\n\n .a11y-content[_ngcontent-%COMP%] { flex: 1; overflow: auto; min-height: 0; }\n\n .a11y-disabled[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100px;\n color: var(--prism-text-muted);\n font-size: 13px;\n }"] });
|
|
95
98
|
}
|
|
96
99
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yPanelComponent, [{
|
|
97
100
|
type: Component,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Injectable, signal } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class A11yPerspectiveService {
|
|
4
|
-
mode = signal('visual',
|
|
4
|
+
mode = signal('visual', /* @ts-ignore */
|
|
5
|
+
...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
|
|
5
6
|
static ɵfac = function A11yPerspectiveService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || A11yPerspectiveService)(); };
|
|
6
7
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: A11yPerspectiveService, factory: A11yPerspectiveService.ɵfac, providedIn: 'root' });
|
|
7
8
|
}
|
|
@@ -16,12 +16,15 @@ const R = 54;
|
|
|
16
16
|
const CIRCUMFERENCE = 2 * Math.PI * R;
|
|
17
17
|
let nextId = 0;
|
|
18
18
|
export class A11yScoreComponent {
|
|
19
|
-
score = input.required(
|
|
20
|
-
|
|
19
|
+
score = input.required(/* @ts-ignore */
|
|
20
|
+
...(ngDevMode ? [{ debugName: "score" }] : /* istanbul ignore next */ []));
|
|
21
|
+
compact = input(false, /* @ts-ignore */
|
|
22
|
+
...(ngDevMode ? [{ debugName: "compact" }] : /* istanbul ignore next */ []));
|
|
21
23
|
gradientId = `prism-sg-${nextId++}`;
|
|
22
24
|
R = R;
|
|
23
25
|
CIRC = CIRCUMFERENCE;
|
|
24
|
-
dashOffset = computed(() => CIRCUMFERENCE - (this.score() / 100) * CIRCUMFERENCE,
|
|
26
|
+
dashOffset = computed(() => CIRCUMFERENCE - (this.score() / 100) * CIRCUMFERENCE, /* @ts-ignore */
|
|
27
|
+
...(ngDevMode ? [{ debugName: "dashOffset" }] : /* istanbul ignore next */ []));
|
|
25
28
|
static ɵfac = function A11yScoreComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || A11yScoreComponent)(); };
|
|
26
29
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A11yScoreComponent, selectors: [["prism-a11y-score"]], inputs: { score: [1, "score"], compact: [1, "compact"] }, decls: 9, vars: 7, consts: [[1, "score-ring"], ["viewBox", "0 0 128 128"], ["x1", "0", "y1", "0", "x2", "1", "y2", "1", 3, "id"], ["offset", "0%", 1, "gradient-start"], ["offset", "100%", 1, "gradient-end"], ["cx", "64", "cy", "64", 1, "track"], ["cx", "64", "cy", "64", 1, "fill"], [1, "score-val"], [1, "score-num"], [1, "score-max"]], template: function A11yScoreComponent_Template(rf, ctx) { if (rf & 1) {
|
|
27
30
|
i0.ɵɵdomElementStart(0, "div", 0);
|
|
@@ -42,7 +45,7 @@ export class A11yScoreComponent {
|
|
|
42
45
|
i0.ɵɵattribute("r", ctx.R)("stroke-dasharray", ctx.CIRC)("stroke-dashoffset", ctx.dashOffset())("stroke", "url(#" + ctx.gradientId + ")");
|
|
43
46
|
i0.ɵɵadvance();
|
|
44
47
|
i0.ɵɵconditional(!ctx.compact() ? 8 : -1);
|
|
45
|
-
} }, styles: ["[_nghost-%COMP%] { display: inline-flex; }\n\n .score-ring[_ngcontent-%COMP%] {\n position: relative;\n width: 128px;\n height: 128px;\n }\n .compact[_nghost-%COMP%] .score-ring[_ngcontent-%COMP%], .compact [_nghost-%COMP%] .score-ring[_ngcontent-%COMP%], \n [style*=\"width:18px\"][_nghost-%COMP%] .score-ring[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n }\n\n .score-ring[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] {\n transform: rotate(-90deg);\n width: 100%;\n height: 100%;\n }\n\n .score-ring[_ngcontent-%COMP%] circle[_ngcontent-%COMP%] {\n fill: none;\n stroke-width: 10;\n }\n .track[_ngcontent-%COMP%] { stroke: var(--prism-input-bg); }\n .gradient-start[_ngcontent-%COMP%] { stop-color: var(--prism-primary); }\n .gradient-end[_ngcontent-%COMP%] { stop-color: var(--prism-accent); }\n .fill[_ngcontent-%COMP%] {\n stroke-linecap: round;\n transition: stroke-dashoffset 0.5s ease;\n }\n\n .score-val[_ngcontent-%COMP%] {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 0;\n }\n .score-num[_ngcontent-%COMP%] {\n font-size: 30px;\n font-weight: 700;\n letter-spacing: -0.02em;\n background: linear-gradient(135deg, var(--prism-primary), var(--prism-accent));\n -webkit-background-clip: text;\n background-clip: text;\n color: transparent;\n font-family: var(--font-mono);\n }\n .score-max[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--prism-text-ghost);\n font-weight: 500;\n }"]
|
|
48
|
+
} }, styles: ["[_nghost-%COMP%] { display: inline-flex; }\n\n .score-ring[_ngcontent-%COMP%] {\n position: relative;\n width: 128px;\n height: 128px;\n }\n .compact[_nghost-%COMP%] .score-ring[_ngcontent-%COMP%], .compact [_nghost-%COMP%] .score-ring[_ngcontent-%COMP%], \n [style*=\"width:18px\"][_nghost-%COMP%] .score-ring[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n }\n\n .score-ring[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] {\n transform: rotate(-90deg);\n width: 100%;\n height: 100%;\n }\n\n .score-ring[_ngcontent-%COMP%] circle[_ngcontent-%COMP%] {\n fill: none;\n stroke-width: 10;\n }\n .track[_ngcontent-%COMP%] { stroke: var(--prism-input-bg); }\n .gradient-start[_ngcontent-%COMP%] { stop-color: var(--prism-primary); }\n .gradient-end[_ngcontent-%COMP%] { stop-color: var(--prism-accent); }\n .fill[_ngcontent-%COMP%] {\n stroke-linecap: round;\n transition: stroke-dashoffset 0.5s ease;\n }\n\n .score-val[_ngcontent-%COMP%] {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 0;\n }\n .score-num[_ngcontent-%COMP%] {\n font-size: 30px;\n font-weight: 700;\n letter-spacing: -0.02em;\n background: linear-gradient(135deg, var(--prism-primary), var(--prism-accent));\n -webkit-background-clip: text;\n background-clip: text;\n color: transparent;\n font-family: var(--font-mono);\n }\n .score-max[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--prism-text-ghost);\n font-weight: 500;\n }"] });
|
|
46
49
|
}
|
|
47
50
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yScoreComponent, [{
|
|
48
51
|
type: Component,
|
|
@@ -37,8 +37,10 @@ export class A11ySrOverlayComponent {
|
|
|
37
37
|
rendererService = inject(PrismRendererService);
|
|
38
38
|
srService = inject(A11ySrService);
|
|
39
39
|
elementRef = inject((ElementRef));
|
|
40
|
-
badges = signal([],
|
|
41
|
-
|
|
40
|
+
badges = signal([], /* @ts-ignore */
|
|
41
|
+
...(ngDevMode ? [{ debugName: "badges" }] : /* istanbul ignore next */ []));
|
|
42
|
+
showOverlay = signal(false, /* @ts-ignore */
|
|
43
|
+
...(ngDevMode ? [{ debugName: "showOverlay" }] : /* istanbul ignore next */ []));
|
|
42
44
|
activeIdx = 0;
|
|
43
45
|
rafId = null;
|
|
44
46
|
constructor() {
|
|
@@ -98,7 +100,7 @@ export class A11ySrOverlayComponent {
|
|
|
98
100
|
i0.ɵɵconditionalCreate(0, A11ySrOverlayComponent_Conditional_0_Template, 2, 0);
|
|
99
101
|
} if (rf & 2) {
|
|
100
102
|
i0.ɵɵconditional(ctx.showOverlay() ? 0 : -1);
|
|
101
|
-
} }, styles: ["[_nghost-%COMP%] {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 100;\n overflow: hidden;\n }\n\n .prism-a11y-sr-ov__focus[_ngcontent-%COMP%] {\n position: absolute;\n border: 2px solid var(--prism-primary);\n border-radius: 4px;\n background: rgba(167, 139, 250, 0.08);\n box-shadow: 0 0 0 4px rgba(167, 139, 250, 0.12);\n }\n\n .prism-a11y-sr-ov__badge[_ngcontent-%COMP%] {\n position: absolute;\n height: 18px;\n padding: 0 5px;\n min-width: 18px;\n background: var(--prism-primary);\n color: white;\n border-radius: 9px;\n font-size: 9px;\n font-weight: 700;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 0 0 1.5px white, 0 2px 4px rgba(0, 0, 0, 0.25);\n font-family: var(--prism-font-sans, system-ui, sans-serif);\n }\n\n .prism-a11y-sr-ov__badge--active[_ngcontent-%COMP%] {\n background: var(--prism-primary-from);\n box-shadow: 0 0 0 2px white, 0 0 0 4px rgba(124, 58, 237, 0.4);\n }"]
|
|
103
|
+
} }, styles: ["[_nghost-%COMP%] {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 100;\n overflow: hidden;\n }\n\n .prism-a11y-sr-ov__focus[_ngcontent-%COMP%] {\n position: absolute;\n border: 2px solid var(--prism-primary);\n border-radius: 4px;\n background: rgba(167, 139, 250, 0.08);\n box-shadow: 0 0 0 4px rgba(167, 139, 250, 0.12);\n }\n\n .prism-a11y-sr-ov__badge[_ngcontent-%COMP%] {\n position: absolute;\n height: 18px;\n padding: 0 5px;\n min-width: 18px;\n background: var(--prism-primary);\n color: white;\n border-radius: 9px;\n font-size: 9px;\n font-weight: 700;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 0 0 1.5px white, 0 2px 4px rgba(0, 0, 0, 0.25);\n font-family: var(--prism-font-sans, system-ui, sans-serif);\n }\n\n .prism-a11y-sr-ov__badge--active[_ngcontent-%COMP%] {\n background: var(--prism-primary-from);\n box-shadow: 0 0 0 2px white, 0 0 0 4px rgba(124, 58, 237, 0.4);\n }"] });
|
|
102
104
|
}
|
|
103
105
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11ySrOverlayComponent, [{
|
|
104
106
|
type: Component,
|
|
@@ -70,13 +70,14 @@ export class A11ySrComponent {
|
|
|
70
70
|
return [];
|
|
71
71
|
const doc = root.ownerDocument;
|
|
72
72
|
return this.srService.buildAnnouncementList(root, doc ? (id) => doc.getElementById(id) : undefined);
|
|
73
|
-
},
|
|
73
|
+
}, /* @ts-ignore */
|
|
74
|
+
...(ngDevMode ? [{ debugName: "announcements" }] : /* istanbul ignore next */ []));
|
|
74
75
|
static ɵfac = function A11ySrComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || A11ySrComponent)(); };
|
|
75
76
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A11ySrComponent, selectors: [["prism-a11y-sr"]], 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) {
|
|
76
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);
|
|
77
78
|
} if (rf & 2) {
|
|
78
79
|
i0.ɵɵconditional(!ctx.rendererService.renderedElement() ? 0 : !ctx.announcements().length ? 1 : 2);
|
|
79
|
-
} }, 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 }"]
|
|
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 }"] });
|
|
80
81
|
}
|
|
81
82
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11ySrComponent, [{
|
|
82
83
|
type: Component,
|
|
@@ -69,10 +69,14 @@ function A11yTreeComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
69
69
|
i0.ɵɵproperty("node", ctx_r0.tree())("depth", 0)("isLast", true);
|
|
70
70
|
} }
|
|
71
71
|
export class A11yTreeNodeComponent {
|
|
72
|
-
node = input.required(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
node = input.required(/* @ts-ignore */
|
|
73
|
+
...(ngDevMode ? [{ debugName: "node" }] : /* istanbul ignore next */ []));
|
|
74
|
+
depth = input(0, /* @ts-ignore */
|
|
75
|
+
...(ngDevMode ? [{ debugName: "depth" }] : /* istanbul ignore next */ []));
|
|
76
|
+
isLast = input(false, /* @ts-ignore */
|
|
77
|
+
...(ngDevMode ? [{ debugName: "isLast" }] : /* istanbul ignore next */ []));
|
|
78
|
+
expanded = signal(true, /* @ts-ignore */
|
|
79
|
+
...(ngDevMode ? [{ debugName: "expanded" }] : /* istanbul ignore next */ []));
|
|
76
80
|
lastElement = null;
|
|
77
81
|
constructor() {
|
|
78
82
|
effect(() => {
|
|
@@ -93,7 +97,8 @@ export class A11yTreeNodeComponent {
|
|
|
93
97
|
key,
|
|
94
98
|
label: value === true ? key : `${key}=${value}`,
|
|
95
99
|
}));
|
|
96
|
-
},
|
|
100
|
+
}, /* @ts-ignore */
|
|
101
|
+
...(ngDevMode ? [{ debugName: "stateEntries" }] : /* istanbul ignore next */ []));
|
|
97
102
|
toggleExpanded() {
|
|
98
103
|
if (this.node().children.length) {
|
|
99
104
|
this.expanded.update((v) => !v);
|
|
@@ -128,7 +133,7 @@ export class A11yTreeNodeComponent {
|
|
|
128
133
|
i0.ɵɵrepeater(ctx.stateEntries());
|
|
129
134
|
i0.ɵɵadvance(2);
|
|
130
135
|
i0.ɵɵconditional(ctx.expanded() && ctx.node().children.length ? 9 : -1);
|
|
131
|
-
} }, dependencies: [A11yTreeNodeComponent], styles: ["[_nghost-%COMP%] { display: block; }\n\n .aria-tree-line[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 2px 0;\n font-family: var(--font-mono);\n font-size: 12.5px;\n line-height: 1.8;\n color: var(--prism-text-2);\n }\n .aria-tree-line--hidden[_ngcontent-%COMP%] { opacity: 0.4; }\n\n .indent[_ngcontent-%COMP%] {\n color: var(--prism-text-ghost);\n opacity: 0.5;\n user-select: none;\n flex-shrink: 0;\n white-space: pre;\n font-size: 12px;\n text-align: right;\n }\n\n .tree-toggle[_ngcontent-%COMP%] {\n background: none;\n border: none;\n cursor: pointer;\n font-size: 10px;\n color: var(--prism-text-muted);\n padding: 0;\n width: 12px;\n flex-shrink: 0;\n }\n\n .role[_ngcontent-%COMP%] { color: var(--prism-primary); font-weight: 600; }\n .name[_ngcontent-%COMP%] { color: var(--prism-text); }\n .attr[_ngcontent-%COMP%] { color: var(--prism-text-ghost); }"]
|
|
136
|
+
} }, dependencies: [A11yTreeNodeComponent], styles: ["[_nghost-%COMP%] { display: block; }\n\n .aria-tree-line[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 2px 0;\n font-family: var(--font-mono);\n font-size: 12.5px;\n line-height: 1.8;\n color: var(--prism-text-2);\n }\n .aria-tree-line--hidden[_ngcontent-%COMP%] { opacity: 0.4; }\n\n .indent[_ngcontent-%COMP%] {\n color: var(--prism-text-ghost);\n opacity: 0.5;\n user-select: none;\n flex-shrink: 0;\n white-space: pre;\n font-size: 12px;\n text-align: right;\n }\n\n .tree-toggle[_ngcontent-%COMP%] {\n background: none;\n border: none;\n cursor: pointer;\n font-size: 10px;\n color: var(--prism-text-muted);\n padding: 0;\n width: 12px;\n flex-shrink: 0;\n }\n\n .role[_ngcontent-%COMP%] { color: var(--prism-primary); font-weight: 600; }\n .name[_ngcontent-%COMP%] { color: var(--prism-text); }\n .attr[_ngcontent-%COMP%] { color: var(--prism-text-ghost); }"] });
|
|
132
137
|
}
|
|
133
138
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yTreeNodeComponent, [{
|
|
134
139
|
type: Component,
|
|
@@ -171,13 +176,14 @@ export class A11yTreeComponent {
|
|
|
171
176
|
return null;
|
|
172
177
|
const doc = root.ownerDocument;
|
|
173
178
|
return this.treeService.buildTree(root, doc ? (id) => doc.getElementById(id) : undefined);
|
|
174
|
-
},
|
|
179
|
+
}, /* @ts-ignore */
|
|
180
|
+
...(ngDevMode ? [{ debugName: "tree" }] : /* istanbul ignore next */ []));
|
|
175
181
|
static ɵfac = function A11yTreeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || A11yTreeComponent)(); };
|
|
176
182
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A11yTreeComponent, selectors: [["prism-a11y-tree"]], decls: 2, vars: 1, consts: [[1, "tree-empty"], [1, "aria-tree"], [3, "node", "depth", "isLast"]], template: function A11yTreeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
177
183
|
i0.ɵɵconditionalCreate(0, A11yTreeComponent_Conditional_0_Template, 2, 0, "div", 0)(1, A11yTreeComponent_Conditional_1_Template, 2, 3, "div", 1);
|
|
178
184
|
} if (rf & 2) {
|
|
179
185
|
i0.ɵɵconditional(!ctx.rendererService.renderedElement() ? 0 : ctx.tree() ? 1 : -1);
|
|
180
|
-
} }, dependencies: [A11yTreeNodeComponent], styles: ["[_nghost-%COMP%] { display: block; height: 100%; overflow: auto; }\n\n .aria-tree[_ngcontent-%COMP%] {\n padding: 14px 20px;\n }\n\n .tree-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 }"]
|
|
186
|
+
} }, dependencies: [A11yTreeNodeComponent], styles: ["[_nghost-%COMP%] { display: block; height: 100%; overflow: auto; }\n\n .aria-tree[_ngcontent-%COMP%] {\n padding: 14px 20px;\n }\n\n .tree-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 }"] });
|
|
181
187
|
}
|
|
182
188
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yTreeComponent, [{
|
|
183
189
|
type: Component,
|
|
@@ -4,7 +4,7 @@ export declare class A11yViolationsComponent {
|
|
|
4
4
|
protected readonly auditService: A11yAuditService;
|
|
5
5
|
protected readonly scoreResult: import("@angular/core").Signal<import("./a11y.types.js").A11yScoreResult | null>;
|
|
6
6
|
protected readonly allResults: import("@angular/core").Signal<import("axe-core").Result[]>;
|
|
7
|
-
protected sevColor(impact: string | undefined): string;
|
|
7
|
+
protected sevColor(impact: string | null | undefined): string;
|
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<A11yViolationsComponent, never>;
|
|
9
9
|
static ɵcmp: i0.ɵɵComponentDeclaration<A11yViolationsComponent, "prism-a11y-violations", never, {}, {}, never, never, true, never>;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11y-violations.component.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-violations.component.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;;AAqB3D,qBA0Ka,uBAAuB;IAClC,SAAS,CAAC,QAAQ,CAAC,YAAY,mBAA4B;IAE3D,SAAS,CAAC,QAAQ,CAAC,WAAW,mFAE5B;IAEF,SAAS,CAAC,QAAQ,CAAC,UAAU,8DAU1B;IAEH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"a11y-violations.component.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-violations.component.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;;AAqB3D,qBA0Ka,uBAAuB;IAClC,SAAS,CAAC,QAAQ,CAAC,YAAY,mBAA4B;IAE3D,SAAS,CAAC,QAAQ,CAAC,WAAW,mFAE5B;IAEF,SAAS,CAAC,QAAQ,CAAC,UAAU,8DAU1B;IAEH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM;yCAnBlD,uBAAuB;2CAAvB,uBAAuB;CAsBnC"}
|