@ng-prism/core 22.2.0-beta.3 → 22.2.0-beta.5
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/dist/app/canvas/prism-canvas-bg-pill.component.js +1 -1
- package/dist/app/canvas/prism-canvas-rulers.component.js +1 -1
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts +24 -8
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-toolbar.component.js +41 -24
- package/dist/app/canvas/prism-template-popover.component.js +1 -1
- package/dist/app/component-head/prism-component-head.component.d.ts +12 -0
- package/dist/app/component-head/prism-component-head.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-component-head.component.js +46 -11
- package/dist/app/component-head/prism-stat.component.d.ts +1 -1
- package/dist/app/component-head/prism-stat.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-stat.component.js +12 -9
- package/dist/app/component-header/prism-component-header.component.js +1 -1
- package/dist/app/controls/boolean-control.component.js +1 -1
- package/dist/app/controls/json-control.component.js +1 -1
- package/dist/app/controls/number-control.component.js +1 -1
- package/dist/app/controls/string-control.component.js +1 -1
- package/dist/app/controls/union-control.component.js +1 -1
- package/dist/app/header/prism-header.component.js +1 -1
- package/dist/app/icons/icon-registry.d.ts +15 -0
- package/dist/app/icons/icon-registry.d.ts.map +1 -0
- package/dist/app/icons/icon-registry.js +42 -0
- package/dist/app/icons/prism-icon.component.d.ts +2 -2
- package/dist/app/icons/prism-icon.component.d.ts.map +1 -1
- package/dist/app/icons/prism-icon.component.js +7 -32
- package/dist/app/layout-menu/prism-layout-menu.component.js +1 -1
- package/dist/app/page-renderer/prism-page-renderer.component.js +1 -1
- package/dist/app/panels/a11y/a11y-audit.service.d.ts +1 -1
- package/dist/app/panels/a11y/a11y-audit.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-header-badge.component.js +1 -1
- package/dist/app/panels/a11y/a11y-keyboard-overlay.component.js +1 -1
- package/dist/app/panels/a11y/a11y-keyboard.component.js +1 -1
- package/dist/app/panels/a11y/a11y-keyboard.service.d.ts +1 -1
- package/dist/app/panels/a11y/a11y-keyboard.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-overlay-host.component.js +1 -1
- package/dist/app/panels/a11y/a11y-panel-state.service.d.ts +1 -1
- package/dist/app/panels/a11y/a11y-panel-state.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-panel.component.js +1 -1
- package/dist/app/panels/a11y/a11y-perspective.service.d.ts +1 -1
- package/dist/app/panels/a11y/a11y-perspective.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-score.component.js +1 -1
- package/dist/app/panels/a11y/a11y-sr-overlay.component.js +1 -1
- package/dist/app/panels/a11y/a11y-sr.component.js +1 -1
- package/dist/app/panels/a11y/a11y-sr.service.d.ts +1 -1
- package/dist/app/panels/a11y/a11y-sr.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-summary.d.ts +15 -0
- package/dist/app/panels/a11y/a11y-summary.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-summary.js +33 -0
- package/dist/app/panels/a11y/a11y-tree.component.js +2 -2
- package/dist/app/panels/a11y/a11y-tree.service.d.ts +1 -1
- package/dist/app/panels/a11y/a11y-tree.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-violations.component.js +3 -3
- package/dist/app/panels/a11y/a11y.types.d.ts +14 -0
- package/dist/app/panels/a11y/a11y.types.d.ts.map +1 -1
- package/dist/app/panels/builtin-navigation-decorations.d.ts +8 -0
- package/dist/app/panels/builtin-navigation-decorations.d.ts.map +1 -0
- package/dist/app/panels/builtin-navigation-decorations.js +20 -0
- package/dist/app/panels/controls/prism-controls-panel.component.js +1 -1
- package/dist/app/panels/events/prism-events-panel.component.js +1 -1
- package/dist/app/panels/events/prism-json-node.component.js +1 -1
- package/dist/app/panels/panel-host/panel-badge.d.ts +35 -0
- package/dist/app/panels/panel-host/panel-badge.d.ts.map +1 -0
- package/dist/app/panels/panel-host/panel-badge.js +37 -0
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +9 -6
- 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 +27 -37
- package/dist/app/renderer/overlay-resolver.d.ts.map +1 -1
- package/dist/app/renderer/overlay-resolver.js +12 -1
- package/dist/app/renderer/prism-renderer.component.js +3 -5
- package/dist/app/services/prism-canvas.service.d.ts +1 -1
- package/dist/app/services/prism-canvas.service.d.ts.map +1 -1
- package/dist/app/services/prism-capture.service.d.ts +17 -3
- package/dist/app/services/prism-capture.service.d.ts.map +1 -1
- package/dist/app/services/prism-capture.service.js +96 -3
- package/dist/app/services/prism-event-log.service.d.ts +1 -1
- package/dist/app/services/prism-event-log.service.d.ts.map +1 -1
- package/dist/app/services/prism-layout.service.d.ts +1 -1
- package/dist/app/services/prism-layout.service.d.ts.map +1 -1
- package/dist/app/services/prism-manifest.service.d.ts +1 -1
- package/dist/app/services/prism-manifest.service.d.ts.map +1 -1
- package/dist/app/services/prism-navigation.service.d.ts +1 -1
- package/dist/app/services/prism-navigation.service.d.ts.map +1 -1
- package/dist/app/services/prism-panel.service.d.ts +1 -1
- package/dist/app/services/prism-panel.service.d.ts.map +1 -1
- package/dist/app/services/prism-persistence.service.d.ts +1 -1
- package/dist/app/services/prism-persistence.service.d.ts.map +1 -1
- package/dist/app/services/prism-plugin.service.d.ts +8 -2
- package/dist/app/services/prism-plugin.service.d.ts.map +1 -1
- package/dist/app/services/prism-plugin.service.js +15 -0
- package/dist/app/services/prism-renderer.service.d.ts +1 -1
- package/dist/app/services/prism-renderer.service.d.ts.map +1 -1
- package/dist/app/services/prism-search.service.d.ts +1 -1
- package/dist/app/services/prism-search.service.d.ts.map +1 -1
- package/dist/app/services/prism-theme.service.d.ts +1 -1
- package/dist/app/services/prism-theme.service.d.ts.map +1 -1
- package/dist/app/services/prism-url-state.service.d.ts +1 -1
- package/dist/app/services/prism-url-state.service.d.ts.map +1 -1
- package/dist/app/services/prism-variant-bg.service.d.ts +1 -1
- package/dist/app/services/prism-variant-bg.service.d.ts.map +1 -1
- package/dist/app/shell/prism-shell.component.js +2 -2
- package/dist/app/sidebar/navigation-decorations.d.ts +67 -0
- package/dist/app/sidebar/navigation-decorations.d.ts.map +1 -0
- package/dist/app/sidebar/navigation-decorations.js +84 -0
- package/dist/app/sidebar/prism-sidebar.component.d.ts +23 -6
- package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -1
- package/dist/app/sidebar/prism-sidebar.component.js +120 -45
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.js +3 -3
- package/dist/app/view-tab-bar/prism-view-panel-host.component.js +1 -1
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +1 -1
- package/dist/builder/a11y/a11y-report-reader.d.ts +15 -1
- package/dist/builder/a11y/a11y-report-reader.d.ts.map +1 -1
- package/dist/builder/a11y/a11y-report-reader.js +37 -0
- package/dist/builder/scanner/component.scanner.d.ts.map +1 -1
- package/dist/builder/scanner/component.scanner.js +30 -3
- package/dist/builder/shared/prism-pipeline.d.ts.map +1 -1
- package/dist/builder/shared/prism-pipeline.js +19 -2
- package/dist/plugin/index.d.ts +2 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +10 -0
- package/dist/plugin/plugin.types.d.ts +52 -0
- package/dist/plugin/plugin.types.d.ts.map +1 -1
- package/dist/shared/canvas-bg.type.d.ts +24 -6
- package/dist/shared/canvas-bg.type.d.ts.map +1 -1
- package/dist/shared/canvas-bg.type.js +6 -5
- package/package.json +1 -1
|
@@ -15,7 +15,7 @@ export class StringControlComponent {
|
|
|
15
15
|
i0.ɵɵdomElementEnd();
|
|
16
16
|
} if (rf & 2) {
|
|
17
17
|
i0.ɵɵdomProperty("value", ctx.value());
|
|
18
|
-
} }, styles: [".ctl-text[_ngcontent-%COMP%] {\n height: 30px;\n padding: 0 10px;\n background: var(
|
|
18
|
+
} }, styles: [".ctl-text[_ngcontent-%COMP%] {\n height: 30px;\n padding: 0 10px;\n background: var(--%NS%prism-input-bg);\n border: 1px solid var(--%NS%prism-border);\n border-radius: var(--%NS%radius-sm);\n color: var(--%NS%prism-text);\n font-size: 13px;\n font-family: var(--%NS%font-sans);\n flex: 1;\n min-width: 0;\n outline: none;\n transition: border-color var(--%NS%dur-fast), box-shadow var(--%NS%dur-fast);\n }\n .ctl-text[_ngcontent-%COMP%]:focus {\n border-color: var(--%NS%prism-primary);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--%NS%prism-primary) 30%, transparent);\n }"] });
|
|
19
19
|
}
|
|
20
20
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StringControlComponent, [{
|
|
21
21
|
type: Component,
|
|
@@ -31,7 +31,7 @@ export class UnionControlComponent {
|
|
|
31
31
|
} if (rf & 2) {
|
|
32
32
|
i0.ɵɵadvance();
|
|
33
33
|
i0.ɵɵrepeater(ctx.options());
|
|
34
|
-
} }, styles: [".ctl-pills[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n flex-wrap: wrap;\n }\n .ctl-pill[_ngcontent-%COMP%] {\n height: 26px;\n padding: 0 10px;\n font-size: var(
|
|
34
|
+
} }, styles: [".ctl-pills[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n flex-wrap: wrap;\n }\n .ctl-pill[_ngcontent-%COMP%] {\n height: 26px;\n padding: 0 10px;\n font-size: var(--%NS%fs-sm);\n font-weight: 500;\n border: 1px solid var(--%NS%prism-border);\n border-radius: 4px;\n color: var(--%NS%prism-text-muted);\n background: transparent;\n cursor: pointer;\n transition: all var(--%NS%dur-fast);\n font-family: var(--%NS%font-sans);\n }\n .ctl-pill[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text);\n border-color: var(--%NS%prism-border-strong);\n }\n .ctl-pill--active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--%NS%prism-primary) 15%, transparent);\n color: var(--%NS%prism-primary);\n border-color: color-mix(in srgb, var(--%NS%prism-primary) 40%, transparent);\n font-weight: 600;\n }"] });
|
|
35
35
|
}
|
|
36
36
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnionControlComponent, [{
|
|
37
37
|
type: Component,
|
|
@@ -158,7 +158,7 @@ export class PrismHeaderComponent {
|
|
|
158
158
|
i0.ɵɵconditional(ctx.themeService.isDark() ? 14 : 15);
|
|
159
159
|
} }, dependencies: [PrismIconComponent,
|
|
160
160
|
PrismLayoutMenuComponent,
|
|
161
|
-
PrismHeaderWidgetHostComponent], styles: [".prism-header[_ngcontent-%COMP%] {\n height: 52px;\n display: grid;\n grid-template-columns: minmax(min-content, var(
|
|
161
|
+
PrismHeaderWidgetHostComponent], styles: [".prism-header[_ngcontent-%COMP%] {\n height: 52px;\n display: grid;\n grid-template-columns: minmax(min-content, var(--%NS%sw, 264px)) 1fr auto;\n align-items: center;\n padding: 0 14px 0 0;\n background: var(--%NS%prism-bg);\n border-bottom: 1px solid var(--%NS%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(--%NS%prism-primary);\n filter: drop-shadow(0 0 8px var(--%NS%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(--%NS%fs-xl);\n letter-spacing: -0.01em;\n background: linear-gradient(90deg, var(--%NS%prism-primary), var(--%NS%prism-accent) 60%, var(--%NS%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(--%NS%font-mono);\n font-size: var(--%NS%fs-xs);\n color: var(--%NS%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(--%NS%prism-input-bg);\n border: 1px solid var(--%NS%prism-border);\n border-radius: 8px;\n color: var(--%NS%prism-text-muted);\n font-size: var(--%NS%fs-lg);\n cursor: pointer;\n transition: border-color var(--%NS%dur-fast), background var(--%NS%dur-fast);\n }\n .prism-header__cmdbar[_ngcontent-%COMP%]:hover {\n border-color: var(--%NS%prism-border-strong);\n color: var(--%NS%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(--%NS%font-mono);\n font-size: 10.5px;\n padding: 1px 5px;\n border-radius: 4px;\n background: var(--%NS%prism-input-bg);\n border: 1px solid var(--%NS%prism-border);\n color: var(--%NS%prism-text-muted);\n }\n\n .prism-header__build-pill[_ngcontent-%COMP%] {\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-xs);\n color: var(--%NS%prism-text-ghost);\n background: var(--%NS%prism-input-bg);\n border: 1px solid var(--%NS%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(--%NS%prism-text-muted);\n background: none;\n border: none;\n cursor: pointer;\n position: relative;\n transition: all var(--%NS%dur-fast);\n }\n .prism-header__icon-btn[_ngcontent-%COMP%]:hover {\n background: var(--%NS%prism-input-bg);\n color: var(--%NS%prism-text);\n }\n\n [_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 2px;\n }"] });
|
|
162
162
|
}
|
|
163
163
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismHeaderComponent, [{
|
|
164
164
|
type: Component,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The glyph registry backing `prism-icon`, extracted into its own
|
|
3
|
+
* dependency-free module.
|
|
4
|
+
*
|
|
5
|
+
* `plugin/index.ts` re-exports `ICON_NAMES` from here rather than from
|
|
6
|
+
* `prism-icon.component.ts` so a plugin author can resolve the name the docs
|
|
7
|
+
* point them to (`NavigationDecorationDefinition.icon`, `PanelDefinition.icon`)
|
|
8
|
+
* without pulling an `@Component` class into a module graph the builder
|
|
9
|
+
* evaluates in Node.js — the same reason plugin panels are lazy-loaded.
|
|
10
|
+
*/
|
|
11
|
+
declare const ICONS: Record<string, string>;
|
|
12
|
+
export { ICONS };
|
|
13
|
+
/** Every name the registry can draw — what a panel's `icon` has to pick from. */
|
|
14
|
+
export declare const ICON_NAMES: readonly string[];
|
|
15
|
+
//# sourceMappingURL=icon-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-registry.d.ts","sourceRoot":"","sources":["../../../src/app/icons/icon-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,QAAA,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwCjC,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,iFAAiF;AACjF,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAAuB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The glyph registry backing `prism-icon`, extracted into its own
|
|
3
|
+
* dependency-free module.
|
|
4
|
+
*
|
|
5
|
+
* `plugin/index.ts` re-exports `ICON_NAMES` from here rather than from
|
|
6
|
+
* `prism-icon.component.ts` so a plugin author can resolve the name the docs
|
|
7
|
+
* point them to (`NavigationDecorationDefinition.icon`, `PanelDefinition.icon`)
|
|
8
|
+
* without pulling an `@Component` class into a module graph the builder
|
|
9
|
+
* evaluates in Node.js — the same reason plugin panels are lazy-loaded.
|
|
10
|
+
*/
|
|
11
|
+
const ICONS = {
|
|
12
|
+
search: '<circle cx="11" cy="11" r="7"/><path d="m21 21-4.3-4.3"/>',
|
|
13
|
+
'refresh-cw': '<path d="M21 12a9 9 0 0 1-15.5 6.3L3 16m0 0v5m0-5h5M3 12a9 9 0 0 1 15.5-6.3L21 8m0 0V3m0 5h-5"/>',
|
|
14
|
+
bell: '<path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"/><path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"/>',
|
|
15
|
+
sun: '<circle cx="12" cy="12" r="4"/><path d="M12 2v2m0 16v2M4.2 4.2l1.4 1.4m12.8 12.8 1.4 1.4M2 12h2m16 0h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4"/>',
|
|
16
|
+
moon: '<path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z"/>',
|
|
17
|
+
'more-horizontal': '<circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/>',
|
|
18
|
+
'chevron-down': '<path d="m6 9 6 6 6-6"/>',
|
|
19
|
+
'chevron-right': '<path d="m9 18 6-6-6-6"/>',
|
|
20
|
+
pin: '<path d="M12 17v5"/><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"/>',
|
|
21
|
+
box: '<path d="M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"/><path d="m3.3 7 8.7 5 8.7-5M12 22V12"/>',
|
|
22
|
+
'sliders-horizontal': '<path d="M21 4h-7M10 4H3m18 8h-9M6 12H3m18 8h-5M10 20H3"/><circle cx="8" cy="4" r="2"/><circle cx="14" cy="12" r="2"/><circle cx="18" cy="20" r="2"/>',
|
|
23
|
+
zap: '<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>',
|
|
24
|
+
accessibility: '<circle cx="16" cy="4" r="1"/><path d="m18 19 1-7-6 1"/><path d="m5 8 3-3 5.5 3-2.36 3.5"/><path d="M4.24 14.5a5 5 0 0 0 6.88 6"/><path d="M13.76 17.5a5 5 0 0 0-6.88-6"/>',
|
|
25
|
+
'file-text': '<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/><path d="M10 9H8m8 4H8m4 4H8"/>',
|
|
26
|
+
figma: '<path d="M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5Z"/><path d="M12 2h3.5a3.5 3.5 0 1 1 0 7H12Z"/><path d="M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0Z"/><path d="M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0Z"/><path d="M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5Z"/>',
|
|
27
|
+
'box-select': '<path d="M5 3a2 2 0 0 0-2 2"/><path d="M19 3a2 2 0 0 1 2 2"/><path d="M21 19a2 2 0 0 1-2 2"/><path d="M5 21a2 2 0 0 1-2-2"/><path d="M9 3h1m4 0h1M9 21h1m4 0h1M3 9v1m0 4v1M21 9v1m0 4v1"/>',
|
|
28
|
+
activity: '<path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"/>',
|
|
29
|
+
'shield-check': '<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/><path d="m9 12 2 2 4-4"/>',
|
|
30
|
+
camera: '<path d="M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z"/><circle cx="12" cy="13" r="3"/>',
|
|
31
|
+
move: '<path d="M12 2v20M2 12h20m-16-4-4 4 4 4m12-8 4 4-4 4M8 8l-4 4 4 4"/>',
|
|
32
|
+
crosshair: '<circle cx="12" cy="12" r="10"/><path d="M22 12h-4M6 12H2m10-6V2m0 20v-4"/>',
|
|
33
|
+
copy: '<rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/>',
|
|
34
|
+
'maximize-2': '<path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3M3 16v3a2 2 0 0 0 2 2h3m8 0h3a2 2 0 0 0 2-2v-3"/>',
|
|
35
|
+
eye: '<path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"/><circle cx="12" cy="12" r="3"/>',
|
|
36
|
+
code: '<path d="m18 16 4-4-4-4M6 8l-4 4 4 4m8.5-12-5 16"/>',
|
|
37
|
+
x: '<path d="M18 6 6 18M6 6l12 12"/>',
|
|
38
|
+
check: '<path d="M20 6 9 17l-5-5"/>',
|
|
39
|
+
};
|
|
40
|
+
export { ICONS };
|
|
41
|
+
/** Every name the registry can draw — what a panel's `icon` has to pick from. */
|
|
42
|
+
export const ICON_NAMES = Object.keys(ICONS);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { ICON_NAMES } from './icon-registry.js';
|
|
1
2
|
import * as i0 from "@angular/core";
|
|
2
|
-
|
|
3
|
-
export declare const ICON_NAMES: readonly string[];
|
|
3
|
+
export { ICON_NAMES };
|
|
4
4
|
/**
|
|
5
5
|
* The glyph markup for `name`, or `undefined` when the registry has no entry.
|
|
6
6
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-icon.component.d.ts","sourceRoot":"","sources":["../../../src/app/icons/prism-icon.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prism-icon.component.d.ts","sourceRoot":"","sources":["../../../src/app/icons/prism-icon.component.ts"],"names":[],"mappings":"AAQA,OAAO,EAAS,UAAU,EAAE,MAAM,oBAAoB,CAAC;;AAMvD,OAAO,EAAE,UAAU,EAAE,CAAC;AAMtB;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW5D;AAED,qBAOa,kBAAkB;IAC7B,QAAQ,CAAC,IAAI,8CAA4B;IACzC,QAAQ,CAAC,IAAI,8CAAa;IAE1B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAmC;;yCAJ3C,kBAAkB;2CAAlB,kBAAkB;CAkC9B"}
|
|
@@ -1,37 +1,12 @@
|
|
|
1
1
|
import { Component, ChangeDetectionStrategy, input, effect, ElementRef, inject, } from '@angular/core';
|
|
2
|
+
import { ICONS, ICON_NAMES } from './icon-registry.js';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
moon: '<path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z"/>',
|
|
9
|
-
'more-horizontal': '<circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/>',
|
|
10
|
-
'chevron-down': '<path d="m6 9 6 6 6-6"/>',
|
|
11
|
-
'chevron-right': '<path d="m9 18 6-6-6-6"/>',
|
|
12
|
-
pin: '<path d="M12 17v5"/><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"/>',
|
|
13
|
-
box: '<path d="M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"/><path d="m3.3 7 8.7 5 8.7-5M12 22V12"/>',
|
|
14
|
-
'sliders-horizontal': '<path d="M21 4h-7M10 4H3m18 8h-9M6 12H3m18 8h-5M10 20H3"/><circle cx="8" cy="4" r="2"/><circle cx="14" cy="12" r="2"/><circle cx="18" cy="20" r="2"/>',
|
|
15
|
-
zap: '<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>',
|
|
16
|
-
accessibility: '<circle cx="16" cy="4" r="1"/><path d="m18 19 1-7-6 1"/><path d="m5 8 3-3 5.5 3-2.36 3.5"/><path d="M4.24 14.5a5 5 0 0 0 6.88 6"/><path d="M13.76 17.5a5 5 0 0 0-6.88-6"/>',
|
|
17
|
-
'file-text': '<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/><path d="M10 9H8m8 4H8m4 4H8"/>',
|
|
18
|
-
figma: '<path d="M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5Z"/><path d="M12 2h3.5a3.5 3.5 0 1 1 0 7H12Z"/><path d="M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0Z"/><path d="M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0Z"/><path d="M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5Z"/>',
|
|
19
|
-
'box-select': '<path d="M5 3a2 2 0 0 0-2 2"/><path d="M19 3a2 2 0 0 1 2 2"/><path d="M21 19a2 2 0 0 1-2 2"/><path d="M5 21a2 2 0 0 1-2-2"/><path d="M9 3h1m4 0h1M9 21h1m4 0h1M3 9v1m0 4v1M21 9v1m0 4v1"/>',
|
|
20
|
-
activity: '<path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"/>',
|
|
21
|
-
'shield-check': '<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/><path d="m9 12 2 2 4-4"/>',
|
|
22
|
-
camera: '<path d="M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z"/><circle cx="12" cy="13" r="3"/>',
|
|
23
|
-
move: '<path d="M12 2v20M2 12h20m-16-4-4 4 4 4m12-8 4 4-4 4M8 8l-4 4 4 4"/>',
|
|
24
|
-
crosshair: '<circle cx="12" cy="12" r="10"/><path d="M22 12h-4M6 12H2m10-6V2m0 20v-4"/>',
|
|
25
|
-
copy: '<rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/>',
|
|
26
|
-
'maximize-2': '<path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3M3 16v3a2 2 0 0 0 2 2h3m8 0h3a2 2 0 0 0 2-2v-3"/>',
|
|
27
|
-
eye: '<path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"/><circle cx="12" cy="12" r="3"/>',
|
|
28
|
-
code: '<path d="m18 16 4-4-4-4M6 8l-4 4 4 4m8.5-12-5 16"/>',
|
|
29
|
-
x: '<path d="M18 6 6 18M6 6l12 12"/>',
|
|
30
|
-
check: '<path d="M20 6 9 17l-5-5"/>',
|
|
31
|
-
};
|
|
4
|
+
// Re-exported for existing consumers of this module. The registry itself
|
|
5
|
+
// lives in `icon-registry.js` — a dependency-free module — so a plugin barrel
|
|
6
|
+
// can re-export `ICON_NAMES` without dragging this `@Component` class (and
|
|
7
|
+
// `@angular/core`) into a module graph the builder evaluates in Node.js.
|
|
8
|
+
export { ICON_NAMES };
|
|
32
9
|
const SVG_NS = 'http://www.w3.org/2000/svg';
|
|
33
|
-
/** Every name the registry can draw — what a panel's `icon` has to pick from. */
|
|
34
|
-
export const ICON_NAMES = Object.keys(ICONS);
|
|
35
10
|
const warnedIcons = new Set();
|
|
36
11
|
/**
|
|
37
12
|
* The glyph markup for `name`, or `undefined` when the registry has no entry.
|
|
@@ -90,4 +65,4 @@ export class PrismIconComponent {
|
|
|
90
65
|
type: Component,
|
|
91
66
|
args: [{ selector: 'prism-icon', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: ``, styles: [":host { display: inline-flex; align-items: center; justify-content: center; }"] }]
|
|
92
67
|
}], () => [], { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] }); })();
|
|
93
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismIconComponent, { className: "PrismIconComponent", filePath: "app/icons/prism-icon.component.ts", lineNumber:
|
|
68
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismIconComponent, { className: "PrismIconComponent", filePath: "app/icons/prism-icon.component.ts", lineNumber: 53 }); })();
|
|
@@ -102,7 +102,7 @@ export class PrismLayoutMenuComponent {
|
|
|
102
102
|
i0.ɵɵclassProp("layout-menu__trigger--active", ctx.open());
|
|
103
103
|
i0.ɵɵadvance(5);
|
|
104
104
|
i0.ɵɵconditional(ctx.open() ? 6 : -1);
|
|
105
|
-
} }, styles: [".layout-menu[_ngcontent-%COMP%] { position: relative; }\n\n .layout-menu__trigger[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 30px;\n height: 30px;\n border: 1px solid var(
|
|
105
|
+
} }, styles: [".layout-menu[_ngcontent-%COMP%] { position: relative; }\n\n .layout-menu__trigger[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 30px;\n height: 30px;\n border: 1px solid var(--%NS%prism-border);\n border-radius: var(--%NS%prism-radius-sm);\n background: transparent;\n color: var(--%NS%prism-text-muted);\n cursor: pointer;\n transition: border-color 0.15s, color 0.15s, background 0.15s;\n }\n .layout-menu__trigger[_ngcontent-%COMP%]:hover, \n .layout-menu__trigger--active[_ngcontent-%COMP%] {\n border-color: var(--%NS%prism-border-strong);\n color: var(--%NS%prism-text);\n background: var(--%NS%prism-bg-surface);\n }\n\n .layout-menu__backdrop[_ngcontent-%COMP%] {\n position: fixed;\n inset: 0;\n z-index: 40;\n }\n\n .layout-menu__dropdown[_ngcontent-%COMP%] {\n position: absolute;\n top: calc(100% + 6px);\n right: 0;\n z-index: 50;\n min-width: 240px;\n background: var(--%NS%prism-bg-elevated);\n border: 1px solid var(--%NS%prism-border-strong);\n border-radius: var(--%NS%prism-radius);\n box-shadow: 0 8px 32px rgba(0,0,0,0.4);\n padding: 4px;\n }\n\n .layout-menu__item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 7px 10px;\n border: none;\n background: none;\n color: var(--%NS%prism-text);\n font-family: var(--%NS%prism-font-sans);\n font-size: 13px;\n cursor: pointer;\n border-radius: var(--%NS%prism-radius-sm);\n text-align: left;\n transition: background 0.1s;\n }\n .layout-menu__item[_ngcontent-%COMP%]:hover { background: var(--%NS%prism-bg-surface); }\n\n .layout-menu__check[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n border: 1px solid var(--%NS%prism-border-strong);\n border-radius: 3px;\n flex-shrink: 0;\n color: transparent;\n }\n .layout-menu__check--on[_ngcontent-%COMP%] {\n background: var(--%NS%prism-primary);\n border-color: var(--%NS%prism-primary);\n color: white;\n }\n\n .layout-menu__icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n color: var(--%NS%prism-text-muted);\n flex-shrink: 0;\n }\n\n .layout-menu__label[_ngcontent-%COMP%] { flex: 1; }\n\n .layout-menu__kbd[_ngcontent-%COMP%] {\n display: flex;\n gap: 2px;\n opacity: 0.6;\n }\n kbd[_ngcontent-%COMP%] {\n font-family: var(--%NS%prism-font-sans);\n font-size: 11px;\n padding: 1px 4px;\n border: 1px solid var(--%NS%prism-border-strong);\n border-radius: 3px;\n background: var(--%NS%prism-bg-surface);\n color: var(--%NS%prism-text-muted);\n }\n\n .layout-menu__divider[_ngcontent-%COMP%] {\n height: 1px;\n background: var(--%NS%prism-border);\n margin: 4px 0;\n }"] });
|
|
106
106
|
}
|
|
107
107
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismLayoutMenuComponent, [{
|
|
108
108
|
type: Component,
|
|
@@ -54,7 +54,7 @@ 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, 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(
|
|
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(--%NS%prism-text);\n font-family: var(--%NS%prism-font-sans);\n border-bottom: 1px solid var(--%NS%prism-border);\n border-left: 3px solid;\n border-image: linear-gradient(180deg, var(--%NS%prism-primary-from), var(--%NS%prism-primary-to)) 1;\n background: var(--%NS%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(--%NS%prism-text-muted);\n white-space: pre-wrap;\n }"] });
|
|
58
58
|
}
|
|
59
59
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismPageRendererComponent, [{
|
|
60
60
|
type: Component,
|
|
@@ -14,6 +14,6 @@ export declare class A11yAuditService {
|
|
|
14
14
|
scheduleAudit(element: Element, config?: A11yCoreConfig, debounceMs?: number): void;
|
|
15
15
|
clear(): void;
|
|
16
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<A11yAuditService, never>;
|
|
17
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
17
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=a11y-audit.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11y-audit.service.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-audit.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;;AAEvE,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,eAAe,CAkBnE;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAYjG;AAED,qBACa,gBAAgB;IAC3B,QAAQ,CAAC,OAAO,4DAAmC;IACnD,QAAQ,CAAC,OAAO,kDAAiB;IACjC,QAAQ,CAAC,KAAK,wDAA+B;IAE7C,QAAQ,CAAC,WAAW,yDAGjB;IAEH,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,SAAS,CAAS;;IAS1B,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,UAAU,SAAM,GAAG,IAAI;IAsBhF,KAAK,IAAI,IAAI;yCA1CF,gBAAgB
|
|
1
|
+
{"version":3,"file":"a11y-audit.service.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-audit.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;;AAEvE,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,eAAe,CAkBnE;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAYjG;AAED,qBACa,gBAAgB;IAC3B,QAAQ,CAAC,OAAO,4DAAmC;IACnD,QAAQ,CAAC,OAAO,kDAAiB;IACjC,QAAQ,CAAC,KAAK,wDAA+B;IAE7C,QAAQ,CAAC,WAAW,yDAGjB;IAEH,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,SAAS,CAAS;;IAS1B,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,UAAU,SAAM,GAAG,IAAI;IAsBhF,KAAK,IAAI,IAAI;yCA1CF,gBAAgB;;CAmD5B"}
|
|
@@ -62,7 +62,7 @@ export class A11yHeaderBadgeComponent {
|
|
|
62
62
|
} if (rf & 2) {
|
|
63
63
|
let tmp_0_0;
|
|
64
64
|
i0.ɵɵconditional((tmp_0_0 = ctx.data()) ? 0 : -1, tmp_0_0);
|
|
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(
|
|
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(--%NS%font-mono);\n font-size: var(--%NS%fs-xs);\n padding: 2px 10px;\n border-radius: 9999px;\n line-height: 1.4;\n border: 1px solid var(--%NS%prism-border);\n background: var(--%NS%prism-input-bg);\n color: var(--%NS%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(--%NS%prism-text-ghost);\n letter-spacing: 0.02em;\n }\n\n .a11y-pill__value[_ngcontent-%COMP%] {\n color: var(--%NS%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(--%NS%prism-text-muted);\n font-weight: 500;\n }\n\n .a11y-pill--ok[_ngcontent-%COMP%] {\n color: var(--%NS%prism-success);\n border-color: color-mix(in srgb, var(--%NS%prism-success) 35%, transparent);\n background: color-mix(in srgb, var(--%NS%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(--%NS%prism-success); }\n\n .a11y-pill--warn[_ngcontent-%COMP%] {\n color: var(--%NS%prism-warn);\n border-color: color-mix(in srgb, var(--%NS%prism-warn) 35%, transparent);\n background: color-mix(in srgb, var(--%NS%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(--%NS%prism-warn); }\n\n .a11y-pill--danger[_ngcontent-%COMP%] {\n color: var(--%NS%prism-danger);\n border-color: color-mix(in srgb, var(--%NS%prism-danger) 35%, transparent);\n background: color-mix(in srgb, var(--%NS%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(--%NS%prism-danger); }"] });
|
|
66
66
|
}
|
|
67
67
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yHeaderBadgeComponent, [{
|
|
68
68
|
type: Component,
|
|
@@ -78,7 +78,7 @@ export class A11yKeyboardOverlayComponent {
|
|
|
78
78
|
i0.ɵɵconditionalCreate(0, A11yKeyboardOverlayComponent_Conditional_0_Template, 2, 0);
|
|
79
79
|
} if (rf & 2) {
|
|
80
80
|
i0.ɵɵconditional(ctx.panelState.activeTab() === "keyboard" ? 0 : -1);
|
|
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(
|
|
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(--%NS%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(--%NS%prism-font-sans, system-ui, sans-serif);\n pointer-events: auto;\n cursor: default;\n }"] });
|
|
82
82
|
}
|
|
83
83
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yKeyboardOverlayComponent, [{
|
|
84
84
|
type: Component,
|
|
@@ -71,7 +71,7 @@ export class A11yKeyboardComponent {
|
|
|
71
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);
|
|
72
72
|
} if (rf & 2) {
|
|
73
73
|
i0.ɵɵconditional(!ctx.rendererService.renderedElement() ? 0 : !ctx.items().length ? 1 : 2);
|
|
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(
|
|
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(--%NS%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(--%NS%prism-bg-surface);\n border: 1px solid var(--%NS%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(--%NS%font-mono);\n font-size: 10.5px;\n padding: 1px 5px;\n border-radius: 4px;\n background: var(--%NS%prism-input-bg);\n border: 1px solid var(--%NS%prism-border);\n color: var(--%NS%prism-text-muted);\n }\n\n .kb-desc[_ngcontent-%COMP%] {\n font-size: 12.5px;\n color: var(--%NS%prism-text-2);\n }\n\n .kb-tgt[_ngcontent-%COMP%] {\n font-family: var(--%NS%font-mono);\n font-size: 11px;\n color: var(--%NS%prism-primary);\n padding: 2px 7px;\n background: color-mix(in srgb, var(--%NS%prism-primary) 10%, transparent);\n border-radius: var(--%NS%radius-xs);\n }"] });
|
|
75
75
|
}
|
|
76
76
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yKeyboardComponent, [{
|
|
77
77
|
type: Component,
|
|
@@ -3,6 +3,6 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export declare class A11yKeyboardService {
|
|
4
4
|
extractTabOrder(root: Element, getById?: (id: string) => Element | null): FocusableElement[];
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<A11yKeyboardService, never>;
|
|
6
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
6
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=a11y-keyboard.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11y-keyboard.service.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-keyboard.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;;AA2BxD,qBACa,mBAAmB;IAC9B,eAAe,CACb,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GACvC,gBAAgB,EAAE;yCAJV,mBAAmB
|
|
1
|
+
{"version":3,"file":"a11y-keyboard.service.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-keyboard.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;;AA2BxD,qBACa,mBAAmB;IAC9B,eAAe,CACb,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GACvC,gBAAgB,EAAE;yCAJV,mBAAmB;;CAyB/B"}
|
|
@@ -104,7 +104,7 @@ export class A11yOverlayHostComponent {
|
|
|
104
104
|
} if (rf & 2) {
|
|
105
105
|
let tmp_0_0;
|
|
106
106
|
i0.ɵɵconditional((tmp_0_0 = ctx.bounds()) ? 0 : -1, tmp_0_0);
|
|
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(
|
|
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(--%NS%prism-text-light, #fff);\n font: 11px/1.4 var(--%NS%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); }"] });
|
|
108
108
|
}
|
|
109
109
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yOverlayHostComponent, [{
|
|
110
110
|
type: Component,
|
|
@@ -3,6 +3,6 @@ export type A11ySubTab = 'violations' | 'keyboard' | 'tree' | 'sr';
|
|
|
3
3
|
export declare class A11yPanelStateService {
|
|
4
4
|
readonly activeTab: import("@angular/core").WritableSignal<A11ySubTab>;
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<A11yPanelStateService, never>;
|
|
6
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
6
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=a11y-panel-state.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11y-panel-state.service.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-panel-state.service.ts"],"names":[],"mappings":";AAEA,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;AAEnE,qBACa,qBAAqB;IAChC,QAAQ,CAAC,SAAS,qDAAoC;yCAD3C,qBAAqB
|
|
1
|
+
{"version":3,"file":"a11y-panel-state.service.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-panel-state.service.ts"],"names":[],"mappings":";AAEA,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;AAEnE,qBACa,qBAAqB;IAChC,QAAQ,CAAC,SAAS,qDAAoC;yCAD3C,qBAAqB;;CAEjC"}
|
|
@@ -94,7 +94,7 @@ export class A11yPanelComponent {
|
|
|
94
94
|
} }, dependencies: [A11yViolationsComponent,
|
|
95
95
|
A11yKeyboardComponent,
|
|
96
96
|
A11yTreeComponent,
|
|
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(
|
|
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(--%NS%prism-border);\n background: var(--%NS%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(--%NS%prism-text-muted);\n border-radius: var(--%NS%radius-sm) var(--%NS%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(--%NS%font-sans);\n transition: color var(--%NS%dur-fast);\n }\n .st-tab[_ngcontent-%COMP%]:hover { color: var(--%NS%prism-text-2); }\n .st-tab--active[_ngcontent-%COMP%] { color: var(--%NS%prism-text); }\n .st-tab--%NS%active[_ngcontent-%COMP%]::after {\n content: '';\n position: absolute;\n left: 8px;\n right: 8px;\n bottom: -1px;\n height: 2px;\n background: var(--%NS%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(--%NS%font-mono);\n font-size: 10px;\n font-weight: 700;\n display: grid;\n place-items: center;\n background: color-mix(in srgb, var(--%NS%prism-primary) 18%, transparent);\n color: var(--%NS%prism-primary);\n }\n .st-badge--ok[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--%NS%prism-success) 18%, transparent);\n color: var(--%NS%prism-success);\n }\n .st-badge--warn[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--%NS%prism-warn) 18%, transparent);\n color: var(--%NS%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(--%NS%prism-text-muted);\n font-size: 13px;\n }"] });
|
|
98
98
|
}
|
|
99
99
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yPanelComponent, [{
|
|
100
100
|
type: Component,
|
|
@@ -3,6 +3,6 @@ export type A11yPerspectiveMode = 'visual' | 'screen-reader';
|
|
|
3
3
|
export declare class A11yPerspectiveService {
|
|
4
4
|
readonly mode: import("@angular/core").WritableSignal<A11yPerspectiveMode>;
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<A11yPerspectiveService, never>;
|
|
6
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
6
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=a11y-perspective.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11y-perspective.service.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-perspective.service.ts"],"names":[],"mappings":";AAEA,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,eAAe,CAAC;AAE7D,qBACa,sBAAsB;IACjC,QAAQ,CAAC,IAAI,8DAAyC;yCAD3C,sBAAsB
|
|
1
|
+
{"version":3,"file":"a11y-perspective.service.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-perspective.service.ts"],"names":[],"mappings":";AAEA,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,eAAe,CAAC;AAE7D,qBACa,sBAAsB;IACjC,QAAQ,CAAC,IAAI,8DAAyC;yCAD3C,sBAAsB;;CAElC"}
|
|
@@ -45,7 +45,7 @@ export class A11yScoreComponent {
|
|
|
45
45
|
i0.ɵɵattribute("r", ctx.R)("stroke-dasharray", ctx.CIRC)("stroke-dashoffset", ctx.dashOffset())("stroke", "url(#" + ctx.gradientId + ")");
|
|
46
46
|
i0.ɵɵadvance();
|
|
47
47
|
i0.ɵɵconditional(!ctx.compact() ? 8 : -1);
|
|
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(
|
|
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(--%NS%prism-input-bg); }\n .gradient-start[_ngcontent-%COMP%] { stop-color: var(--%NS%prism-primary); }\n .gradient-end[_ngcontent-%COMP%] { stop-color: var(--%NS%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(--%NS%prism-primary), var(--%NS%prism-accent));\n -webkit-background-clip: text;\n background-clip: text;\n color: transparent;\n font-family: var(--%NS%font-mono);\n }\n .score-max[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--%NS%prism-text-ghost);\n font-weight: 500;\n }"] });
|
|
49
49
|
}
|
|
50
50
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yScoreComponent, [{
|
|
51
51
|
type: Component,
|
|
@@ -100,7 +100,7 @@ export class A11ySrOverlayComponent {
|
|
|
100
100
|
i0.ɵɵconditionalCreate(0, A11ySrOverlayComponent_Conditional_0_Template, 2, 0);
|
|
101
101
|
} if (rf & 2) {
|
|
102
102
|
i0.ɵɵconditional(ctx.showOverlay() ? 0 : -1);
|
|
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(
|
|
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(--%NS%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(--%NS%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(--%NS%prism-font-sans, system-ui, sans-serif);\n }\n\n .prism-a11y-sr-ov__badge--active[_ngcontent-%COMP%] {\n background: var(--%NS%prism-primary-from);\n box-shadow: 0 0 0 2px white, 0 0 0 4px rgba(124, 58, 237, 0.4);\n }"] });
|
|
104
104
|
}
|
|
105
105
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11ySrOverlayComponent, [{
|
|
106
106
|
type: Component,
|
|
@@ -77,7 +77,7 @@ export class A11ySrComponent {
|
|
|
77
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);
|
|
78
78
|
} if (rf & 2) {
|
|
79
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(
|
|
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(--%NS%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(--%NS%prism-bg-surface);\n border: 1px solid var(--%NS%prism-border);\n border-radius: 8px;\n }\n\n .sr-step[_ngcontent-%COMP%] {\n font-family: var(--%NS%font-mono);\n font-size: 11px;\n color: var(--%NS%prism-text-ghost);\n font-weight: 600;\n }\n\n .sr-text[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--%NS%prism-text);\n line-height: 1.5;\n }\n\n .sr-name[_ngcontent-%COMP%] {\n color: var(--%NS%prism-primary);\n font-weight: 600;\n font-style: normal;\n }\n\n .sr-text[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n font-family: var(--%NS%font-mono);\n font-size: 11.5px;\n color: var(--%NS%prism-text-muted);\n padding: 1px 5px;\n background: var(--%NS%prism-input-bg);\n border-radius: var(--%NS%radius-xs);\n }"] });
|
|
81
81
|
}
|
|
82
82
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11ySrComponent, [{
|
|
83
83
|
type: Component,
|
|
@@ -3,6 +3,6 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export declare class A11ySrService {
|
|
4
4
|
buildAnnouncementList(root: Element, getById?: (id: string) => Element | null): SrAnnouncement[];
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<A11ySrService, never>;
|
|
6
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
6
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=a11y-sr.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11y-sr.service.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-sr.service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;;AAwCtD,qBACa,aAAa;IACxB,qBAAqB,CACnB,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GACvC,cAAc,EAAE;yCAJR,aAAa
|
|
1
|
+
{"version":3,"file":"a11y-sr.service.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-sr.service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;;AAwCtD,qBACa,aAAa;IACxB,qBAAqB,CACnB,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GACvC,cAAc,EAAE;yCAJR,aAAa;;CAYzB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { A11yComponentMeta, A11yScoreResult, A11yThresholds } from './a11y.types.js';
|
|
2
|
+
/**
|
|
3
|
+
* A component's standing, derived with the same precedence
|
|
4
|
+
* `checkA11yThresholds` uses library-wide.
|
|
5
|
+
*
|
|
6
|
+
* Browser-safe and deliberately so, even though the build step is its main
|
|
7
|
+
* caller: the derivation is written down once and read from both sides. The
|
|
8
|
+
* build-time hook stores the result in the component's meta for the navigation
|
|
9
|
+
* marker, and the panel tab grades the *live* audit with the very same rule.
|
|
10
|
+
* The two look at different numbers — the report is a snapshot, the audit is
|
|
11
|
+
* running now — but they must never grade the same number differently, which
|
|
12
|
+
* is what a second hardcoded scale next to this one would guarantee.
|
|
13
|
+
*/
|
|
14
|
+
export declare function deriveA11ySummary(score: A11yScoreResult, thresholds: A11yThresholds): NonNullable<A11yComponentMeta['summary']>;
|
|
15
|
+
//# sourceMappingURL=a11y-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a11y-summary.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,cAAc,EACf,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,cAAc,GACzB,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAuB3C"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A component's standing, derived with the same precedence
|
|
3
|
+
* `checkA11yThresholds` uses library-wide.
|
|
4
|
+
*
|
|
5
|
+
* Browser-safe and deliberately so, even though the build step is its main
|
|
6
|
+
* caller: the derivation is written down once and read from both sides. The
|
|
7
|
+
* build-time hook stores the result in the component's meta for the navigation
|
|
8
|
+
* marker, and the panel tab grades the *live* audit with the very same rule.
|
|
9
|
+
* The two look at different numbers — the report is a snapshot, the audit is
|
|
10
|
+
* running now — but they must never grade the same number differently, which
|
|
11
|
+
* is what a second hardcoded scale next to this one would guarantee.
|
|
12
|
+
*/
|
|
13
|
+
export function deriveA11ySummary(score, thresholds) {
|
|
14
|
+
if (score.critical > thresholds.critical ||
|
|
15
|
+
score.serious > thresholds.serious) {
|
|
16
|
+
const parts = [];
|
|
17
|
+
if (score.critical > 0)
|
|
18
|
+
parts.push(`${score.critical} critical`);
|
|
19
|
+
if (score.serious > 0)
|
|
20
|
+
parts.push(`${score.serious} serious`);
|
|
21
|
+
// Only reachable with a negative configured threshold: the branch fires
|
|
22
|
+
// on `0 > threshold` with both counts still at zero, and `parts` stays
|
|
23
|
+
// empty. Fall back to the score-based label rather than ship "A11y: ".
|
|
24
|
+
const label = parts.length > 0
|
|
25
|
+
? `A11y: ${parts.join(', ')}`
|
|
26
|
+
: `A11y score ${score.score}`;
|
|
27
|
+
return { variant: 'danger', label };
|
|
28
|
+
}
|
|
29
|
+
if (score.moderate > thresholds.moderate || score.score < thresholds.score) {
|
|
30
|
+
return { variant: 'warn', label: `A11y score ${score.score}` };
|
|
31
|
+
}
|
|
32
|
+
return { variant: 'ok', label: `A11y score ${score.score}` };
|
|
33
|
+
}
|
|
@@ -133,7 +133,7 @@ export class A11yTreeNodeComponent {
|
|
|
133
133
|
i0.ɵɵrepeater(ctx.stateEntries());
|
|
134
134
|
i0.ɵɵadvance(2);
|
|
135
135
|
i0.ɵɵconditional(ctx.expanded() && ctx.node().children.length ? 9 : -1);
|
|
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(
|
|
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(--%NS%font-mono);\n font-size: 12.5px;\n line-height: 1.8;\n color: var(--%NS%prism-text-2);\n }\n .aria-tree-line--hidden[_ngcontent-%COMP%] { opacity: 0.4; }\n\n .indent[_ngcontent-%COMP%] {\n color: var(--%NS%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(--%NS%prism-text-muted);\n padding: 0;\n width: 12px;\n flex-shrink: 0;\n }\n\n .role[_ngcontent-%COMP%] { color: var(--%NS%prism-primary); font-weight: 600; }\n .name[_ngcontent-%COMP%] { color: var(--%NS%prism-text); }\n .attr[_ngcontent-%COMP%] { color: var(--%NS%prism-text-ghost); }"] });
|
|
137
137
|
}
|
|
138
138
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yTreeNodeComponent, [{
|
|
139
139
|
type: Component,
|
|
@@ -183,7 +183,7 @@ export class A11yTreeComponent {
|
|
|
183
183
|
i0.ɵɵconditionalCreate(0, A11yTreeComponent_Conditional_0_Template, 2, 0, "div", 0)(1, A11yTreeComponent_Conditional_1_Template, 2, 3, "div", 1);
|
|
184
184
|
} if (rf & 2) {
|
|
185
185
|
i0.ɵɵconditional(!ctx.rendererService.renderedElement() ? 0 : ctx.tree() ? 1 : -1);
|
|
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(
|
|
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(--%NS%prism-text-muted); font-size: 13px;\n }"] });
|
|
187
187
|
}
|
|
188
188
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(A11yTreeComponent, [{
|
|
189
189
|
type: Component,
|
|
@@ -3,6 +3,6 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export declare class A11yTreeService {
|
|
4
4
|
buildTree(root: Element, getById?: (id: string) => Element | null): A11yNode;
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<A11yTreeService, never>;
|
|
6
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
6
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=a11y-tree.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11y-tree.service.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-tree.service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;;AAQhD,qBACa,eAAe;IAC1B,SAAS,CACP,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GACvC,QAAQ;yCAJA,eAAe
|
|
1
|
+
{"version":3,"file":"a11y-tree.service.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/a11y/a11y-tree.service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;;AAQhD,qBACa,eAAe;IAC1B,SAAS,CACP,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GACvC,QAAQ;yCAJA,eAAe;;CAO3B"}
|