@ng-prism/core 22.2.0-beta.4 → 22.2.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/dist/app/canvas/canvas-bg.styles.d.ts +19 -0
- package/dist/app/canvas/canvas-bg.styles.d.ts.map +1 -0
- package/dist/app/canvas/canvas-bg.styles.js +58 -0
- package/dist/app/canvas/prism-canvas-bg-pill.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-bg-pill.component.js +3 -3
- package/dist/app/canvas/prism-canvas-rulers.component.js +1 -1
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts +31 -7
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-toolbar.component.js +158 -121
- package/dist/app/canvas/prism-template-popover.component.d.ts +0 -3
- package/dist/app/canvas/prism-template-popover.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-template-popover.component.js +43 -59
- package/dist/app/component-head/head-metrics.d.ts +41 -0
- package/dist/app/component-head/head-metrics.d.ts.map +1 -0
- package/dist/app/component-head/head-metrics.js +39 -0
- package/dist/app/component-head/prism-component-head.component.d.ts +10 -2
- package/dist/app/component-head/prism-component-head.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-component-head.component.js +107 -209
- package/dist/app/component-head/prism-head-gauge.component.d.ts +23 -0
- package/dist/app/component-head/prism-head-gauge.component.d.ts.map +1 -0
- package/dist/app/component-head/prism-head-gauge.component.js +123 -0
- package/dist/app/component-head/prism-head-info.component.d.ts +23 -0
- package/dist/app/component-head/prism-head-info.component.d.ts.map +1 -0
- package/dist/app/component-head/prism-head-info.component.js +124 -0
- package/dist/app/component-head/prism-stat.component.d.ts +10 -4
- package/dist/app/component-head/prism-stat.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-stat.component.js +34 -44
- 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 +2 -2
- 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 +44 -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/index.d.ts +3 -1
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.js +26 -1
- package/dist/app/layout-menu/prism-layout-menu.component.js +3 -3
- package/dist/app/overview/overview-panel.d.ts +3 -0
- package/dist/app/overview/overview-panel.d.ts.map +1 -0
- package/dist/app/overview/overview-panel.js +9 -0
- package/dist/app/overview/overview-visibility.d.ts +15 -0
- package/dist/app/overview/overview-visibility.d.ts.map +1 -0
- package/dist/app/overview/overview-visibility.js +18 -0
- package/dist/app/overview/prism-overview-cell.component.d.ts +29 -0
- package/dist/app/overview/prism-overview-cell.component.d.ts.map +1 -0
- package/dist/app/overview/prism-overview-cell.component.js +136 -0
- package/dist/app/overview/prism-overview.component.d.ts +17 -0
- package/dist/app/overview/prism-overview.component.d.ts.map +1 -0
- package/dist/app/overview/prism-overview.component.js +53 -0
- package/dist/app/page-renderer/prism-page-renderer.component.d.ts.map +1 -1
- package/dist/app/page-renderer/prism-page-renderer.component.js +3 -3
- 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.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-header-badge.component.js +21 -30
- 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/builtin-panels.d.ts.map +1 -1
- package/dist/app/panels/builtin-panels.js +2 -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 +8 -2
- package/dist/app/panels/panel-host/panel-badge.d.ts.map +1 -1
- package/dist/app/panels/panel-host/panel-badge.js +8 -13
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +8 -2
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts.map +1 -1
- package/dist/app/panels/panel-host/prism-panel-host.component.js +33 -22
- 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.d.ts +0 -1
- package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
- package/dist/app/renderer/prism-renderer.component.js +11 -75
- package/dist/app/renderer/projectable-content.d.ts +10 -0
- package/dist/app/renderer/projectable-content.d.ts.map +1 -0
- package/dist/app/renderer/projectable-content.js +60 -0
- 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 +7 -1
- package/dist/app/services/prism-capture.service.d.ts.map +1 -1
- package/dist/app/services/prism-capture.service.js +27 -1
- 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 -4
- package/dist/app/services/prism-layout.service.d.ts.map +1 -1
- package/dist/app/services/prism-layout.service.js +0 -8
- 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 +19 -1
- package/dist/app/services/prism-panel.service.d.ts.map +1 -1
- package/dist/app/services/prism-panel.service.js +28 -0
- 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/shared/prism-metric-badge.component.d.ts +32 -0
- package/dist/app/shared/prism-metric-badge.component.d.ts.map +1 -0
- package/dist/app/shared/prism-metric-badge.component.js +70 -0
- package/dist/app/shell/prism-shell.component.d.ts +0 -1
- package/dist/app/shell/prism-shell.component.d.ts.map +1 -1
- package/dist/app/shell/prism-shell.component.js +57 -49
- package/dist/app/sidebar/navigation-decorations.d.ts +70 -0
- package/dist/app/sidebar/navigation-decorations.d.ts.map +1 -0
- package/dist/app/sidebar/navigation-decorations.js +87 -0
- package/dist/app/sidebar/prism-sidebar.component.d.ts +29 -8
- package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -1
- package/dist/app/sidebar/prism-sidebar.component.js +129 -76
- package/dist/app/theme/prism-default-theme.d.ts.map +1 -1
- package/dist/app/theme/prism-default-theme.js +44 -4
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts +4 -1
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts.map +1 -1
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.js +13 -26
- package/dist/app/variant-ribbon/spectrum.d.ts +19 -0
- package/dist/app/variant-ribbon/spectrum.d.ts.map +1 -0
- package/dist/app/variant-ribbon/spectrum.js +15 -0
- package/dist/app/view-tab-bar/next-view-id.d.ts +12 -0
- package/dist/app/view-tab-bar/next-view-id.d.ts.map +1 -0
- package/dist/app/view-tab-bar/next-view-id.js +16 -0
- package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts +0 -1
- package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts.map +1 -1
- package/dist/app/view-tab-bar/prism-view-panel-host.component.js +11 -12
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts +0 -1
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts.map +1 -1
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +6 -13
- 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/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 +33 -0
- package/dist/plugin/plugin.types.d.ts.map +1 -1
- package/dist/transformer/cli.js +0 -0
- package/package.json +1 -1
- package/dist/app/canvas/prism-code-drawer.component.d.ts +0 -14
- package/dist/app/canvas/prism-code-drawer.component.d.ts.map +0 -1
- package/dist/app/canvas/prism-code-drawer.component.js +0 -116
- package/dist/app/component-header/prism-component-header.component.d.ts +0 -8
- package/dist/app/component-header/prism-component-header.component.d.ts.map +0 -1
- package/dist/app/component-header/prism-component-header.component.js +0 -77
- package/dist/cli/audit-a11y/aggregator.d.ts +0 -10
- package/dist/cli/audit-a11y/aggregator.d.ts.map +0 -1
- package/dist/cli/audit-a11y/aggregator.js +0 -64
- package/dist/cli/audit-a11y/auditor.d.ts +0 -14
- package/dist/cli/audit-a11y/auditor.d.ts.map +0 -1
- package/dist/cli/audit-a11y/auditor.js +0 -104
- package/dist/cli/audit-a11y/cli.d.ts +0 -3
- package/dist/cli/audit-a11y/cli.d.ts.map +0 -1
- package/dist/cli/audit-a11y/cli.js +0 -143
- package/dist/cli/audit-a11y/index.d.ts +0 -4
- package/dist/cli/audit-a11y/index.d.ts.map +0 -1
- package/dist/cli/audit-a11y/index.js +0 -3
- package/dist/cli/audit-a11y/static-server.d.ts +0 -11
- package/dist/cli/audit-a11y/static-server.d.ts.map +0 -1
- package/dist/cli/audit-a11y/static-server.js +0 -61
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import { Component, computed, inject, signal, viewChild, HostListener, ChangeDetectionStrategy, } from '@angular/core';
|
|
2
2
|
import { PrismIconComponent } from '../icons/prism-icon.component.js';
|
|
3
|
+
import { BUILTIN_NAVIGATION_DECORATIONS } from '../panels/builtin-navigation-decorations.js';
|
|
3
4
|
import { PrismNavigationService } from '../services/prism-navigation.service.js';
|
|
5
|
+
import { PrismPluginService } from '../services/prism-plugin.service.js';
|
|
4
6
|
import { PrismSearchService } from '../services/prism-search.service.js';
|
|
7
|
+
import { decorateItem, lifecycleIcon, resolveNavigationDecorations, rollupCategory, } from './navigation-decorations.js';
|
|
5
8
|
import * as i0 from "@angular/core";
|
|
6
9
|
const _c0 = ["filterInput"];
|
|
10
|
+
const _c1 = () => [];
|
|
7
11
|
const _forTrack0 = ($index, $item) => $item.name;
|
|
8
12
|
function _forTrack1($index, $item) { /* @ts-ignore */
|
|
9
13
|
return this.itemKey($item); }
|
|
14
|
+
function _forTrack2($index, $item) { /* @ts-ignore */
|
|
15
|
+
return this.itemKey($item.item); }
|
|
16
|
+
const _forTrack3 = ($index, $item) => $item.id;
|
|
10
17
|
function PrismSidebarComponent_Conditional_8_For_8_Conditional_5_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
11
18
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
12
19
|
i0.ɵɵelementStart(0, "button", 17);
|
|
@@ -47,9 +54,7 @@ function PrismSidebarComponent_Conditional_8_For_8_Template(rf, ctx) { if (rf &
|
|
|
47
54
|
i0.ɵɵattribute("aria-expanded", !ctx_r2.isCollapsed("page:" + cat_r2.name));
|
|
48
55
|
i0.ɵɵadvance();
|
|
49
56
|
i0.ɵɵproperty("size", 10);
|
|
50
|
-
i0.ɵɵadvance();
|
|
51
|
-
i0.ɵɵstyleProp("--chip", cat_r2.color);
|
|
52
|
-
i0.ɵɵadvance();
|
|
57
|
+
i0.ɵɵadvance(2);
|
|
53
58
|
i0.ɵɵtextInterpolate1(" ", cat_r2.name, " ");
|
|
54
59
|
i0.ɵɵadvance();
|
|
55
60
|
i0.ɵɵconditional(!ctx_r2.isCollapsed("page:" + cat_r2.name) ? 5 : -1);
|
|
@@ -62,7 +67,7 @@ function PrismSidebarComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
62
67
|
i0.ɵɵelementStart(5, "span");
|
|
63
68
|
i0.ɵɵtext(6);
|
|
64
69
|
i0.ɵɵelementEnd()();
|
|
65
|
-
i0.ɵɵrepeaterCreate(7, PrismSidebarComponent_Conditional_8_For_8_Template, 6,
|
|
70
|
+
i0.ɵɵrepeaterCreate(7, PrismSidebarComponent_Conditional_8_For_8_Template, 6, 6, "div", 10, _forTrack0);
|
|
66
71
|
i0.ɵɵelementEnd();
|
|
67
72
|
} if (rf & 2) {
|
|
68
73
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -73,36 +78,51 @@ function PrismSidebarComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
73
78
|
i0.ɵɵadvance();
|
|
74
79
|
i0.ɵɵrepeater(ctx_r2.pageCategories());
|
|
75
80
|
} }
|
|
76
|
-
function
|
|
77
|
-
i0.ɵɵ
|
|
78
|
-
|
|
79
|
-
i0.ɵɵ
|
|
81
|
+
function PrismSidebarComponent_For_10_For_7_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
82
|
+
i0.ɵɵtext(0);
|
|
83
|
+
} if (rf & 2) {
|
|
84
|
+
const cat_r7 = i0.ɵɵnextContext().$implicit;
|
|
85
|
+
i0.ɵɵtextInterpolate2(" ", cat_r7.rollup.problems, "/", cat_r7.items.length, " ");
|
|
86
|
+
} }
|
|
87
|
+
function PrismSidebarComponent_For_10_For_7_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
88
|
+
i0.ɵɵtext(0);
|
|
89
|
+
} if (rf & 2) {
|
|
90
|
+
const cat_r7 = i0.ɵɵnextContext().$implicit;
|
|
91
|
+
i0.ɵɵtextInterpolate1(" ", cat_r7.items.length, " ");
|
|
80
92
|
} }
|
|
81
|
-
function
|
|
93
|
+
function PrismSidebarComponent_For_10_For_7_Conditional_8_For_2_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
94
|
+
i0.ɵɵelement(0, "prism-icon", 27);
|
|
95
|
+
} if (rf & 2) {
|
|
96
|
+
const mark_r11 = ctx.$implicit;
|
|
97
|
+
i0.ɵɵclassMap("sb-health sb-health--" + mark_r11.variant);
|
|
98
|
+
i0.ɵɵproperty("name", mark_r11.icon)("size", 11);
|
|
99
|
+
} }
|
|
100
|
+
function PrismSidebarComponent_For_10_For_7_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
82
101
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
83
102
|
i0.ɵɵelementStart(0, "button", 17);
|
|
84
|
-
i0.ɵɵlistener("click", function
|
|
103
|
+
i0.ɵɵlistener("click", function PrismSidebarComponent_For_10_For_7_Conditional_8_For_2_Template_button_click_0_listener() { const row_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.onSelect(row_r10.item)); });
|
|
85
104
|
i0.ɵɵelement(1, "prism-icon", 24);
|
|
86
105
|
i0.ɵɵelementStart(2, "span", 18);
|
|
87
106
|
i0.ɵɵtext(3);
|
|
88
107
|
i0.ɵɵelementEnd();
|
|
89
|
-
i0.ɵɵ
|
|
90
|
-
i0.ɵɵ
|
|
108
|
+
i0.ɵɵelementStart(4, "span", 25);
|
|
109
|
+
i0.ɵɵrepeaterCreate(5, PrismSidebarComponent_For_10_For_7_Conditional_8_For_2_For_6_Template, 1, 4, "prism-icon", 26, _forTrack3);
|
|
110
|
+
i0.ɵɵelementEnd()();
|
|
91
111
|
} if (rf & 2) {
|
|
92
|
-
const
|
|
112
|
+
const row_r10 = ctx.$implicit;
|
|
93
113
|
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
94
|
-
i0.ɵɵclassProp("sb-item--active", ctx_r2.isActive(
|
|
95
|
-
i0.ɵɵattribute("title", ctx_r2.itemTooltip(
|
|
114
|
+
i0.ɵɵclassProp("sb-item--active", ctx_r2.isActive(row_r10.item))("sb-item--deprecated", ctx_r2.itemStatus(row_r10.item) === "deprecated");
|
|
115
|
+
i0.ɵɵattribute("title", ctx_r2.itemTooltip(row_r10.item, row_r10.decorations));
|
|
96
116
|
i0.ɵɵadvance();
|
|
97
|
-
i0.ɵɵproperty("size", 12);
|
|
117
|
+
i0.ɵɵproperty("name", row_r10.icon)("size", 12);
|
|
98
118
|
i0.ɵɵadvance(2);
|
|
99
|
-
i0.ɵɵtextInterpolate(ctx_r2.itemLabel(
|
|
100
|
-
i0.ɵɵadvance();
|
|
101
|
-
i0.ɵɵ
|
|
119
|
+
i0.ɵɵtextInterpolate(ctx_r2.itemLabel(row_r10.item));
|
|
120
|
+
i0.ɵɵadvance(2);
|
|
121
|
+
i0.ɵɵrepeater(row_r10.decorations?.marks ?? i0.ɵɵpureFunction0(8, _c1));
|
|
102
122
|
} }
|
|
103
|
-
function
|
|
123
|
+
function PrismSidebarComponent_For_10_For_7_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
104
124
|
i0.ɵɵelementStart(0, "div", 15);
|
|
105
|
-
i0.ɵɵrepeaterCreate(1,
|
|
125
|
+
i0.ɵɵrepeaterCreate(1, PrismSidebarComponent_For_10_For_7_Conditional_8_For_2_Template, 7, 9, "button", 23, _forTrack2, true);
|
|
106
126
|
i0.ɵɵelementEnd();
|
|
107
127
|
} if (rf & 2) {
|
|
108
128
|
const cat_r7 = i0.ɵɵnextContext().$implicit;
|
|
@@ -116,9 +136,9 @@ function PrismSidebarComponent_For_10_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
116
136
|
i0.ɵɵelement(2, "prism-icon", 13)(3, "span", 14);
|
|
117
137
|
i0.ɵɵtext(4);
|
|
118
138
|
i0.ɵɵelementStart(5, "span", 22);
|
|
119
|
-
i0.ɵɵ
|
|
139
|
+
i0.ɵɵconditionalCreate(6, PrismSidebarComponent_For_10_For_7_Conditional_6_Template, 1, 2)(7, PrismSidebarComponent_For_10_For_7_Conditional_7_Template, 1, 1);
|
|
120
140
|
i0.ɵɵelementEnd()();
|
|
121
|
-
i0.ɵɵconditionalCreate(
|
|
141
|
+
i0.ɵɵconditionalCreate(8, PrismSidebarComponent_For_10_For_7_Conditional_8_Template, 3, 0, "div", 15);
|
|
122
142
|
i0.ɵɵelementEnd();
|
|
123
143
|
} if (rf & 2) {
|
|
124
144
|
const cat_r7 = ctx.$implicit;
|
|
@@ -129,14 +149,15 @@ function PrismSidebarComponent_For_10_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
129
149
|
i0.ɵɵattribute("aria-expanded", !ctx_r2.isCollapsed("sec:" + section_r8.name + ":" + cat_r7.name));
|
|
130
150
|
i0.ɵɵadvance();
|
|
131
151
|
i0.ɵɵproperty("size", 10);
|
|
152
|
+
i0.ɵɵadvance(2);
|
|
153
|
+
i0.ɵɵtextInterpolate1(" ", cat_r7.name, " ");
|
|
132
154
|
i0.ɵɵadvance();
|
|
133
|
-
i0.ɵɵ
|
|
155
|
+
i0.ɵɵclassProp("sb-group-count--warn", cat_r7.rollup.variant === "warn")("sb-group-count--danger", cat_r7.rollup.variant === "danger");
|
|
156
|
+
i0.ɵɵattribute("title", cat_r7.rollup.problems ? ctx_r2.rollupTooltip(cat_r7.rollup) : null)("aria-label", cat_r7.rollup.problems ? ctx_r2.rollupTooltip(cat_r7.rollup) : null);
|
|
134
157
|
i0.ɵɵadvance();
|
|
135
|
-
i0.ɵɵ
|
|
158
|
+
i0.ɵɵconditional(cat_r7.rollup.problems ? 6 : 7);
|
|
136
159
|
i0.ɵɵadvance(2);
|
|
137
|
-
i0.ɵɵ
|
|
138
|
-
i0.ɵɵadvance();
|
|
139
|
-
i0.ɵɵconditional(!ctx_r2.isCollapsed("sec:" + section_r8.name + ":" + cat_r7.name) ? 7 : -1);
|
|
160
|
+
i0.ɵɵconditional(!ctx_r2.isCollapsed("sec:" + section_r8.name + ":" + cat_r7.name) ? 8 : -1);
|
|
140
161
|
} }
|
|
141
162
|
function PrismSidebarComponent_For_10_Template(rf, ctx) { if (rf & 1) {
|
|
142
163
|
i0.ɵɵelementStart(0, "div", 19)(1, "span", 20);
|
|
@@ -146,7 +167,7 @@ function PrismSidebarComponent_For_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
146
167
|
i0.ɵɵelementStart(4, "span");
|
|
147
168
|
i0.ɵɵtext(5);
|
|
148
169
|
i0.ɵɵelementEnd()();
|
|
149
|
-
i0.ɵɵrepeaterCreate(6, PrismSidebarComponent_For_10_For_7_Template,
|
|
170
|
+
i0.ɵɵrepeaterCreate(6, PrismSidebarComponent_For_10_For_7_Template, 9, 13, "div", 10, _forTrack0);
|
|
150
171
|
} if (rf & 2) {
|
|
151
172
|
const section_r8 = ctx.$implicit;
|
|
152
173
|
i0.ɵɵadvance(2);
|
|
@@ -159,15 +180,6 @@ function PrismSidebarComponent_For_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
159
180
|
i0.ɵɵrepeater(section_r8.categories);
|
|
160
181
|
} }
|
|
161
182
|
const STORAGE_KEY = 'ng-prism-sidebar-collapsed';
|
|
162
|
-
const CATEGORY_COLORS = {
|
|
163
|
-
'Data Display': '#f472b6',
|
|
164
|
-
Feedback: '#fbbf24',
|
|
165
|
-
Inputs: '#a78bfa',
|
|
166
|
-
Layout: '#34d399',
|
|
167
|
-
Navigation: '#60a5fa',
|
|
168
|
-
Overlay: '#c084fc',
|
|
169
|
-
Directives: '#ec4899',
|
|
170
|
-
};
|
|
171
183
|
const SECTION_ICONS = {
|
|
172
184
|
Components: 'box',
|
|
173
185
|
Directives: 'zap',
|
|
@@ -176,20 +188,14 @@ const DEFAULT_SECTION_ICON = 'box-select';
|
|
|
176
188
|
function sectionIcon(name) {
|
|
177
189
|
return SECTION_ICONS[name] ?? DEFAULT_SECTION_ICON;
|
|
178
190
|
}
|
|
179
|
-
function categoryColor(name) {
|
|
180
|
-
if (CATEGORY_COLORS[name])
|
|
181
|
-
return CATEGORY_COLORS[name];
|
|
182
|
-
let hash = 0;
|
|
183
|
-
for (let i = 0; i < name.length; i++)
|
|
184
|
-
hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
|
|
185
|
-
const hue = Math.abs(hash) % 360;
|
|
186
|
-
return `hsl(${hue}, 70%, 65%)`;
|
|
187
|
-
}
|
|
188
191
|
export class PrismSidebarComponent {
|
|
189
192
|
navigationService = inject(PrismNavigationService);
|
|
190
193
|
searchService = inject(PrismSearchService);
|
|
194
|
+
pluginService = inject(PrismPluginService);
|
|
191
195
|
filterInput = viewChild('filterInput', /* @ts-ignore */
|
|
192
196
|
...(ngDevMode ? [{ debugName: "filterInput" }] : /* istanbul ignore next */ []));
|
|
197
|
+
decorations = computed(() => resolveNavigationDecorations(BUILTIN_NAVIGATION_DECORATIONS, this.pluginService.navigationDecorations()), /* @ts-ignore */
|
|
198
|
+
...(ngDevMode ? [{ debugName: "decorations" }] : /* istanbul ignore next */ []));
|
|
193
199
|
onGlobalKey(e) {
|
|
194
200
|
if (e.key !== '/' || e.ctrlKey || e.metaKey || e.altKey)
|
|
195
201
|
return;
|
|
@@ -218,22 +224,28 @@ export class PrismSidebarComponent {
|
|
|
218
224
|
}
|
|
219
225
|
return [...catMap.entries()].map(([name, items]) => ({
|
|
220
226
|
name,
|
|
221
|
-
color: categoryColor(name),
|
|
222
227
|
items,
|
|
223
228
|
}));
|
|
224
229
|
}, /* @ts-ignore */
|
|
225
230
|
...(ngDevMode ? [{ debugName: "pageCategories" }] : /* istanbul ignore next */ []));
|
|
226
231
|
componentSections = computed(() => {
|
|
232
|
+
const defs = this.decorations();
|
|
227
233
|
return this.navigationService.sectionTree().map((section) => ({
|
|
228
234
|
name: section.name,
|
|
229
235
|
icon: sectionIcon(section.name),
|
|
230
|
-
color: categoryColor(section.name),
|
|
231
236
|
totalCount: section.totalCount,
|
|
232
|
-
categories: section.categories.map((cat) =>
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
+
categories: section.categories.map((cat) => {
|
|
238
|
+
const items = cat.items.map((item) => ({
|
|
239
|
+
item,
|
|
240
|
+
icon: lifecycleIcon(this.itemStatus(item)),
|
|
241
|
+
decorations: decorateItem(item, defs),
|
|
242
|
+
}));
|
|
243
|
+
return {
|
|
244
|
+
name: cat.name,
|
|
245
|
+
rollup: rollupCategory(items.map((row) => row.decorations)),
|
|
246
|
+
items,
|
|
247
|
+
};
|
|
248
|
+
}),
|
|
237
249
|
}));
|
|
238
250
|
}, /* @ts-ignore */
|
|
239
251
|
...(ngDevMode ? [{ debugName: "componentSections" }] : /* istanbul ignore next */ []));
|
|
@@ -266,13 +278,33 @@ export class PrismSidebarComponent {
|
|
|
266
278
|
? item.data.meta.showcaseConfig.status
|
|
267
279
|
: undefined;
|
|
268
280
|
}
|
|
269
|
-
|
|
281
|
+
/**
|
|
282
|
+
* Accessible name for the roll-up pill, for the deviating case only. The
|
|
283
|
+
* pill otherwise renders a bare number distinguished only by colour — a
|
|
284
|
+
* screen reader would read the group head as "Feedback 3 12" with nothing
|
|
285
|
+
* naming what either number means, and a colour-blind reader can't tell
|
|
286
|
+
* them apart at all.
|
|
287
|
+
*
|
|
288
|
+
* There is deliberately no zero branch: a clean category renders its plain
|
|
289
|
+
* item count and the template leaves both attributes off, because
|
|
290
|
+
* `aria-label` on a descendant feeds the group button's name-from-content
|
|
291
|
+
* and "Buttons 0 components need review" is a claim about a group that has
|
|
292
|
+
* nothing to review.
|
|
293
|
+
*/
|
|
294
|
+
rollupTooltip(rollup) {
|
|
295
|
+
const noun = rollup.problems === 1 ? 'component needs' : 'components need';
|
|
296
|
+
return `${rollup.problems} ${noun} review`;
|
|
297
|
+
}
|
|
298
|
+
itemTooltip(item, decorations) {
|
|
270
299
|
const status = this.itemStatus(item);
|
|
300
|
+
const lines = [];
|
|
271
301
|
if (status === 'wip')
|
|
272
|
-
|
|
302
|
+
lines.push('Work in progress');
|
|
273
303
|
if (status === 'deprecated')
|
|
274
|
-
|
|
275
|
-
|
|
304
|
+
lines.push('Deprecated / Legacy');
|
|
305
|
+
if (decorations)
|
|
306
|
+
lines.push(decorations.tooltip);
|
|
307
|
+
return lines.length ? lines.join('\n') : null;
|
|
276
308
|
}
|
|
277
309
|
isActive(item) {
|
|
278
310
|
const active = this.navigationService.activeItem();
|
|
@@ -313,7 +345,7 @@ export class PrismSidebarComponent {
|
|
|
313
345
|
i0.ɵɵqueryAdvance();
|
|
314
346
|
} }, hostBindings: function PrismSidebarComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
315
347
|
i0.ɵɵlistener("keydown", function PrismSidebarComponent_keydown_HostBindingHandler($event) { return ctx.onGlobalKey($event); }, i0.ɵɵresolveDocument);
|
|
316
|
-
} }, decls: 11, vars: 3, consts: [["filterInput", ""], [1, "prism-sidebar"], [1, "sb-filter"], ["name", "search", 3, "size"], ["placeholder", "Filter components\u2026", 3, "input", "value"], [1, "sb-scroll"], [1, "sb-pinned"], [1, "sb-pinned-head"], [1, "sb-pinned-head-l"], ["name", "pin", 1, "sb-pinned-pin", 3, "size"], [1, "sb-group", 3, "sb-group--collapsed"], [1, "sb-group"], [1, "sb-group-head", 3, "click"], ["name", "chevron-down", 3, "size"], [1, "sb-group-chip"], [1, "sb-group-body"], [1, "sb-item", 3, "sb-item--active"], [1, "sb-item", 3, "click"], [1, "sb-item-name"], [1, "sb-section-head"], [1, "sb-section-head-l"], [1, "sb-section-icon", 3, "name", "size"], [1, "sb-group-count"], [1, "sb-item", 3, "sb-item--active", "sb-item--deprecated"], ["name", "
|
|
348
|
+
} }, decls: 11, vars: 3, consts: [["filterInput", ""], [1, "prism-sidebar"], [1, "sb-filter"], ["name", "search", 3, "size"], ["placeholder", "Filter components\u2026", 3, "input", "value"], [1, "sb-scroll"], [1, "sb-pinned"], [1, "sb-pinned-head"], [1, "sb-pinned-head-l"], ["name", "pin", 1, "sb-pinned-pin", 3, "size"], [1, "sb-group", 3, "sb-group--collapsed"], [1, "sb-group"], [1, "sb-group-head", 3, "click"], ["name", "chevron-down", 3, "size"], [1, "sb-group-chip"], [1, "sb-group-body"], [1, "sb-item", 3, "sb-item--active"], [1, "sb-item", 3, "click"], [1, "sb-item-name"], [1, "sb-section-head"], [1, "sb-section-head-l"], [1, "sb-section-icon", 3, "name", "size"], [1, "sb-group-count"], [1, "sb-item", 3, "sb-item--active", "sb-item--deprecated"], [1, "sb-item-icon", 3, "name", "size"], [1, "sb-item-health"], [3, "name", "size", "class"], [3, "name", "size"]], template: function PrismSidebarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
317
349
|
i0.ɵɵelementStart(0, "nav", 1)(1, "div", 2);
|
|
318
350
|
i0.ɵɵelement(2, "prism-icon", 3);
|
|
319
351
|
i0.ɵɵelementStart(3, "input", 4, 0);
|
|
@@ -335,7 +367,7 @@ export class PrismSidebarComponent {
|
|
|
335
367
|
i0.ɵɵconditional(ctx.pageCategories().length > 0 ? 8 : -1);
|
|
336
368
|
i0.ɵɵadvance();
|
|
337
369
|
i0.ɵɵrepeater(ctx.componentSections());
|
|
338
|
-
} }, dependencies: [PrismIconComponent], styles: [".prism-sidebar[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n }\n\n .sb-filter[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 12px;\n padding: 0 10px;\n height: 30px;\n background: var(
|
|
370
|
+
} }, dependencies: [PrismIconComponent], styles: [".prism-sidebar[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n }\n\n .sb-filter[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 12px;\n padding: 0 10px;\n height: 30px;\n background: var(--%NS%prism-input-bg);\n border: 1px solid var(--%NS%prism-border);\n border-radius: 6px;\n color: var(--%NS%prism-text-muted);\n }\n .sb-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n background: transparent;\n border: 0;\n outline: none;\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text);\n font-family: var(--%NS%font-sans);\n }\n .sb-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder { color: var(--%NS%prism-text-muted); }\n .sb-filter[_ngcontent-%COMP%] kbd[_ngcontent-%COMP%] {\n font-family: var(--%NS%font-mono);\n font-size: 10px;\n color: var(--%NS%prism-text-ghost);\n padding: 1px 5px;\n border: 1px solid var(--%NS%prism-border);\n border-radius: 3px;\n }\n\n .sb-scroll[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 10px 0 16px;\n padding-top: 0;\n }\n .sb-scroll[_ngcontent-%COMP%]::-webkit-scrollbar { width: 8px; }\n .sb-scroll[_ngcontent-%COMP%]::-webkit-scrollbar-thumb { background: var(--%NS%prism-border-strong); border-radius: 4px; }\n .sb-scroll[_ngcontent-%COMP%]::-webkit-scrollbar-track { background: transparent; }\n\n .sb-pinned[_ngcontent-%COMP%] {\n padding: 0 0 10px;\n margin-bottom: 4px;\n border-bottom: 1px solid var(--%NS%prism-border);\n border-top: 1px solid var(--%NS%prism-border);\n }\n .sb-section-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: var(--%NS%prism-text-ghost);\n margin-top: 6px;\n }\n .sb-section-head-l[_ngcontent-%COMP%] { display: flex; align-items: center; gap: 6px; }\n .sb-section-icon[_ngcontent-%COMP%] { color: var(--%NS%prism-primary); }\n .sb-pinned-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n margin-top: 6px;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: var(--%NS%prism-text-ghost);\n }\n .sb-pinned-head-l[_ngcontent-%COMP%] { display: flex; align-items: center; gap: 6px; }\n .sb-pinned-pin[_ngcontent-%COMP%] { color: var(--%NS%prism-accent); }\n\n .sb-group[_ngcontent-%COMP%] { margin-bottom: 4px; }\n .sb-group-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n width: 100%;\n padding: 8px 14px 6px;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: var(--%NS%prism-text-ghost);\n cursor: pointer;\n user-select: none;\n background: none;\n border: none;\n text-align: left;\n font-family: var(--%NS%font-sans);\n }\n .sb-group-head[_ngcontent-%COMP%] prism-icon[_ngcontent-%COMP%] {\n transition: transform var(--%NS%dur-fast);\n color: var(--%NS%prism-text-ghost);\n }\n .sb-group--collapsed[_ngcontent-%COMP%] .sb-group-head[_ngcontent-%COMP%] prism-icon[_ngcontent-%COMP%] { transform: rotate(-90deg); }\n\n .sb-group-chip[_ngcontent-%COMP%] {\n width: 6px;\n height: 6px;\n border-radius: 2px;\n background: var(--%NS%prism-text-ghost);\n }\n .sb-group-count[_ngcontent-%COMP%] {\n margin-left: auto;\n font-family: var(--%NS%font-mono);\n font-size: 10px;\n color: var(--%NS%prism-text-ghost);\n font-weight: 500;\n }\n .sb-group-count--warn[_ngcontent-%COMP%] { color: var(--%NS%prism-mark-attention); }\n .sb-group-count--danger[_ngcontent-%COMP%] { color: var(--%NS%prism-mark-critical); }\n\n .sb-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n height: 30px;\n padding: 0 14px 0 28px;\n font-size: 13px;\n color: var(--%NS%prism-text-2);\n cursor: pointer;\n border: none;\n background: none;\n transition: background var(--%NS%dur-fast), color var(--%NS%dur-fast);\n text-align: left;\n font-family: var(--%NS%font-sans);\n }\n .sb-item[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--%NS%prism-primary) 5%, transparent);\n color: var(--%NS%prism-text);\n }\n .sb-item--active[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--%NS%prism-primary) 12%, transparent);\n font-weight: 500;\n }\n .sb-item-icon[_ngcontent-%COMP%] { flex: 0 0 12px; opacity: 0.7; }\n .sb-item-name[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n \n\n\n\n\n\n\n .sb-item-health[_ngcontent-%COMP%] {\n width: 40px;\n flex: none;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--%NS%sp-1);\n overflow: hidden;\n }\n\n \n\n\n\n\n .sb-health[_ngcontent-%COMP%] { fill: none; stroke: currentColor; stroke-width: 2; }\n .sb-health--warn[_ngcontent-%COMP%] {\n color: color-mix(in srgb, var(--%NS%prism-mark-attention) 80%, transparent);\n }\n .sb-health--danger[_ngcontent-%COMP%] { color: var(--%NS%prism-mark-critical); }\n\n .sb-item--deprecated[_ngcontent-%COMP%] .sb-item-name[_ngcontent-%COMP%] {\n text-decoration: line-through;\n text-decoration-thickness: 1px;\n color: var(--%NS%prism-text-ghost);\n opacity: 0.7;\n }\n\n\n [_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 2px;\n }"] });
|
|
339
371
|
}
|
|
340
372
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismSidebarComponent, [{
|
|
341
373
|
type: Component,
|
|
@@ -373,7 +405,7 @@ export class PrismSidebarComponent {
|
|
|
373
405
|
[attr.aria-expanded]="!isCollapsed('page:' + cat.name)"
|
|
374
406
|
>
|
|
375
407
|
<prism-icon name="chevron-down" [size]="10" />
|
|
376
|
-
<span class="sb-group-chip"
|
|
408
|
+
<span class="sb-group-chip"></span>
|
|
377
409
|
{{ cat.name }}
|
|
378
410
|
</button>
|
|
379
411
|
@if (!isCollapsed('page:' + cat.name)) {
|
|
@@ -419,27 +451,48 @@ export class PrismSidebarComponent {
|
|
|
419
451
|
"
|
|
420
452
|
>
|
|
421
453
|
<prism-icon name="chevron-down" [size]="10" />
|
|
422
|
-
<span class="sb-group-chip"
|
|
454
|
+
<span class="sb-group-chip"></span>
|
|
423
455
|
{{ cat.name }}
|
|
424
|
-
<span
|
|
456
|
+
<span
|
|
457
|
+
class="sb-group-count"
|
|
458
|
+
[class.sb-group-count--warn]="cat.rollup.variant === 'warn'"
|
|
459
|
+
[class.sb-group-count--danger]="cat.rollup.variant === 'danger'"
|
|
460
|
+
[attr.title]="
|
|
461
|
+
cat.rollup.problems ? rollupTooltip(cat.rollup) : null
|
|
462
|
+
"
|
|
463
|
+
[attr.aria-label]="
|
|
464
|
+
cat.rollup.problems ? rollupTooltip(cat.rollup) : null
|
|
465
|
+
"
|
|
466
|
+
>
|
|
467
|
+
@if (cat.rollup.problems) { {{ cat.rollup.problems }}/{{
|
|
468
|
+
cat.items.length
|
|
469
|
+
}}
|
|
470
|
+
} @else { {{ cat.items.length }} }
|
|
471
|
+
</span>
|
|
425
472
|
</button>
|
|
426
473
|
@if (!isCollapsed('sec:' + section.name + ':' + cat.name)) {
|
|
427
474
|
<div class="sb-group-body">
|
|
428
|
-
@for (
|
|
475
|
+
@for (row of cat.items; track itemKey(row.item)) {
|
|
429
476
|
<button
|
|
430
477
|
class="sb-item"
|
|
431
|
-
[class.sb-item--active]="isActive(item)"
|
|
432
|
-
[class.sb-item--deprecated]="
|
|
433
|
-
|
|
434
|
-
|
|
478
|
+
[class.sb-item--active]="isActive(row.item)"
|
|
479
|
+
[class.sb-item--deprecated]="
|
|
480
|
+
itemStatus(row.item) === 'deprecated'
|
|
481
|
+
"
|
|
482
|
+
[attr.title]="itemTooltip(row.item, row.decorations)"
|
|
483
|
+
(click)="onSelect(row.item)"
|
|
435
484
|
>
|
|
436
|
-
<prism-icon name="
|
|
437
|
-
<span class="sb-item-name">{{ itemLabel(item) }}</span>
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
<
|
|
485
|
+
<prism-icon [name]="row.icon" [size]="12" class="sb-item-icon" />
|
|
486
|
+
<span class="sb-item-name">{{ itemLabel(row.item) }}</span>
|
|
487
|
+
<span class="sb-item-health">
|
|
488
|
+
@for (mark of row.decorations?.marks ?? []; track mark.id) {
|
|
489
|
+
<prism-icon
|
|
490
|
+
[name]="mark.icon"
|
|
491
|
+
[size]="11"
|
|
492
|
+
[class]="'sb-health sb-health--' + mark.variant"
|
|
493
|
+
/>
|
|
494
|
+
}
|
|
441
495
|
</span>
|
|
442
|
-
}
|
|
443
496
|
</button>
|
|
444
497
|
}
|
|
445
498
|
</div>
|
|
@@ -448,9 +501,9 @@ export class PrismSidebarComponent {
|
|
|
448
501
|
} }
|
|
449
502
|
</div>
|
|
450
503
|
</nav>
|
|
451
|
-
`, styles: ["\n .prism-sidebar {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n }\n\n .sb-filter {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 12px;\n padding: 0 10px;\n height: 30px;\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n border-radius: 6px;\n color: var(--prism-text-muted);\n }\n .sb-filter input {\n flex: 1;\n min-width: 0;\n background: transparent;\n border: 0;\n outline: none;\n font-size: var(--fs-md);\n color: var(--prism-text);\n font-family: var(--font-sans);\n }\n .sb-filter input::placeholder { color: var(--prism-text-muted); }\n .sb-filter kbd {\n font-family: var(--font-mono);\n font-size: 10px;\n color: var(--prism-text-ghost);\n padding: 1px 5px;\n border: 1px solid var(--prism-border);\n border-radius: 3px;\n }\n\n .sb-scroll {\n flex: 1;\n overflow-y: auto;\n padding: 10px 0 16px;\n padding-top: 0;\n }\n .sb-scroll::-webkit-scrollbar { width: 8px; }\n .sb-scroll::-webkit-scrollbar-thumb { background: var(--prism-border-strong); border-radius: 4px; }\n .sb-scroll::-webkit-scrollbar-track { background: transparent; }\n\n .sb-pinned {\n padding: 0 0 10px;\n margin-bottom: 4px;\n border-bottom: 1px solid var(--prism-border);\n border-top: 1px solid var(--prism-border);\n }\n .sb-section-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: var(--prism-text-ghost);\n margin-top: 6px;\n }\n .sb-section-head-l { display: flex; align-items: center; gap: 6px; }\n .sb-section-icon { color: var(--prism-primary); }\n .sb-pinned-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n margin-top: 6px;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: var(--prism-text-ghost);\n }\n .sb-pinned-head-l { display: flex; align-items: center; gap: 6px; }\n .sb-pinned-pin { color: var(--prism-accent); }\n\n .sb-group { margin-bottom: 4px; }\n .sb-group-head {\n display: flex;\n align-items: center;\n gap: 6px;\n width: 100%;\n padding: 8px 14px 6px;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: var(--prism-text-ghost);\n cursor: pointer;\n user-select: none;\n background: none;\n border: none;\n text-align: left;\n font-family: var(--font-sans);\n }\n .sb-group-head prism-icon {\n transition: transform var(--dur-fast);\n color: var(--prism-text-ghost);\n }\n .sb-group--collapsed .sb-group-head prism-icon { transform: rotate(-90deg); }\n\n .sb-group-chip {\n width: 6px;\n height: 6px;\n border-radius: 2px;\n background: var(--
|
|
504
|
+
`, styles: ["\n .prism-sidebar {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n }\n\n .sb-filter {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 12px;\n padding: 0 10px;\n height: 30px;\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n border-radius: 6px;\n color: var(--prism-text-muted);\n }\n .sb-filter input {\n flex: 1;\n min-width: 0;\n background: transparent;\n border: 0;\n outline: none;\n font-size: var(--fs-md);\n color: var(--prism-text);\n font-family: var(--font-sans);\n }\n .sb-filter input::placeholder { color: var(--prism-text-muted); }\n .sb-filter kbd {\n font-family: var(--font-mono);\n font-size: 10px;\n color: var(--prism-text-ghost);\n padding: 1px 5px;\n border: 1px solid var(--prism-border);\n border-radius: 3px;\n }\n\n .sb-scroll {\n flex: 1;\n overflow-y: auto;\n padding: 10px 0 16px;\n padding-top: 0;\n }\n .sb-scroll::-webkit-scrollbar { width: 8px; }\n .sb-scroll::-webkit-scrollbar-thumb { background: var(--prism-border-strong); border-radius: 4px; }\n .sb-scroll::-webkit-scrollbar-track { background: transparent; }\n\n .sb-pinned {\n padding: 0 0 10px;\n margin-bottom: 4px;\n border-bottom: 1px solid var(--prism-border);\n border-top: 1px solid var(--prism-border);\n }\n .sb-section-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: var(--prism-text-ghost);\n margin-top: 6px;\n }\n .sb-section-head-l { display: flex; align-items: center; gap: 6px; }\n .sb-section-icon { color: var(--prism-primary); }\n .sb-pinned-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n margin-top: 6px;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: var(--prism-text-ghost);\n }\n .sb-pinned-head-l { display: flex; align-items: center; gap: 6px; }\n .sb-pinned-pin { color: var(--prism-accent); }\n\n .sb-group { margin-bottom: 4px; }\n .sb-group-head {\n display: flex;\n align-items: center;\n gap: 6px;\n width: 100%;\n padding: 8px 14px 6px;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: var(--prism-text-ghost);\n cursor: pointer;\n user-select: none;\n background: none;\n border: none;\n text-align: left;\n font-family: var(--font-sans);\n }\n .sb-group-head prism-icon {\n transition: transform var(--dur-fast);\n color: var(--prism-text-ghost);\n }\n .sb-group--collapsed .sb-group-head prism-icon { transform: rotate(-90deg); }\n\n .sb-group-chip {\n width: 6px;\n height: 6px;\n border-radius: 2px;\n background: var(--prism-text-ghost);\n }\n .sb-group-count {\n margin-left: auto;\n font-family: var(--font-mono);\n font-size: 10px;\n color: var(--prism-text-ghost);\n font-weight: 500;\n }\n .sb-group-count--warn { color: var(--prism-mark-attention); }\n .sb-group-count--danger { color: var(--prism-mark-critical); }\n\n .sb-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n height: 30px;\n padding: 0 14px 0 28px;\n font-size: 13px;\n color: var(--prism-text-2);\n cursor: pointer;\n border: none;\n background: none;\n transition: background var(--dur-fast), color var(--dur-fast);\n text-align: left;\n font-family: var(--font-sans);\n }\n .sb-item:hover {\n background: color-mix(in srgb, var(--prism-primary) 5%, transparent);\n color: var(--prism-text);\n }\n .sb-item--active {\n background: color-mix(in srgb, var(--prism-primary) 12%, transparent);\n font-weight: 500;\n }\n .sb-item-icon { flex: 0 0 12px; opacity: 0.7; }\n .sb-item-name {\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n /* Fixed width sized for the three built-in decoration sources (a11y,\n plugin-coverage, plugin-visual-regression) at 11px each plus two\n --sp-1 gaps, with a little headroom. navigationDecorations is an open\n extension point, so a fourth mark from a third-party plugin is\n clipped via overflow: hidden rather than allowed to grow the gutter \u2014\n the point of a fixed-width gutter is that rows never shift\n horizontally as you scan the list. */\n .sb-item-health {\n width: 40px;\n flex: none;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--sp-1);\n overflow: hidden;\n }\n\n /* Outline, not fill, and full saturation only for danger. The mechanism\n behind these marks is already deviation-driven: decorateItem returns\n null for a clean component and every source bails out at variant === 'ok'.\n What made them read as wallpaper was the drawing: a filled shape at full\n saturation, one per row, in a repo where deviating is the normal case. */\n .sb-health { fill: none; stroke: currentColor; stroke-width: 2; }\n .sb-health--warn {\n color: color-mix(in srgb, var(--prism-mark-attention) 80%, transparent);\n }\n .sb-health--danger { color: var(--prism-mark-critical); }\n\n .sb-item--deprecated .sb-item-name {\n text-decoration: line-through;\n text-decoration-thickness: 1px;\n color: var(--prism-text-ghost);\n opacity: 0.7;\n }\n\n\n :focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 2px;\n }\n "] }]
|
|
452
505
|
}], null, { filterInput: [{ type: i0.ViewChild, args: ['filterInput', { isSignal: true }] }], onGlobalKey: [{
|
|
453
506
|
type: HostListener,
|
|
454
507
|
args: ['document:keydown', ['$event']]
|
|
455
508
|
}] }); })();
|
|
456
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismSidebarComponent, { className: "PrismSidebarComponent", filePath: "app/sidebar/prism-sidebar.component.ts", lineNumber:
|
|
509
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismSidebarComponent, { className: "PrismSidebarComponent", filePath: "app/sidebar/prism-sidebar.component.ts", lineNumber: 394 }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-default-theme.d.ts","sourceRoot":"","sources":["../../../src/app/theme/prism-default-theme.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"prism-default-theme.d.ts","sourceRoot":"","sources":["../../../src/app/theme/prism-default-theme.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0CnD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0CpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0DpD,CAAC;AAEF,eAAO,MAAM,mBAAmB,wBAAmB,CAAC"}
|
|
@@ -7,6 +7,8 @@ export const PRISM_DARK_THEME = {
|
|
|
7
7
|
'--prism-bg': '#0d0b1c',
|
|
8
8
|
'--prism-bg-surface': '#131022',
|
|
9
9
|
'--prism-bg-elevated': '#1a1535',
|
|
10
|
+
'--prism-stage': '#16122b',
|
|
11
|
+
'--prism-stage-edge': 'rgba(255, 255, 255, 0.10)',
|
|
10
12
|
'--prism-text': '#ede9f8',
|
|
11
13
|
'--prism-text-2': '#b0a6c8',
|
|
12
14
|
'--prism-text-muted': '#8476a2',
|
|
@@ -24,6 +26,11 @@ export const PRISM_DARK_THEME = {
|
|
|
24
26
|
'--prism-success': '#34d399',
|
|
25
27
|
'--prism-warn': '#fbbf24',
|
|
26
28
|
'--prism-danger': '#f87171',
|
|
29
|
+
'--prism-mark-nominal': '#34d399',
|
|
30
|
+
'--prism-mark-attention': '#e8a33d',
|
|
31
|
+
'--prism-mark-critical': '#e5484d',
|
|
32
|
+
'--prism-measure': '#22d3ee',
|
|
33
|
+
'--prism-spectrum': 'linear-gradient(90deg, var(--prism-accent), var(--prism-primary), var(--prism-primary-to))',
|
|
27
34
|
};
|
|
28
35
|
export const PRISM_LIGHT_THEME = {
|
|
29
36
|
'--prism-code-tag': '#be185d',
|
|
@@ -34,6 +41,8 @@ export const PRISM_LIGHT_THEME = {
|
|
|
34
41
|
'--prism-bg': '#ffffff',
|
|
35
42
|
'--prism-bg-surface': '#faf9fd',
|
|
36
43
|
'--prism-bg-elevated': '#ffffff',
|
|
44
|
+
'--prism-stage': '#ffffff',
|
|
45
|
+
'--prism-stage-edge': 'rgba(28, 21, 48, 0.14)',
|
|
37
46
|
'--prism-text': '#1c1530',
|
|
38
47
|
'--prism-text-2': '#4d4266',
|
|
39
48
|
'--prism-text-muted': '#6b5e80',
|
|
@@ -48,9 +57,14 @@ export const PRISM_LIGHT_THEME = {
|
|
|
48
57
|
'--prism-glow-strong': 'rgba(124, 58, 237, 0.25)',
|
|
49
58
|
'--prism-input-bg': 'rgba(28, 21, 48, 0.04)',
|
|
50
59
|
'--prism-dot': 'rgba(124, 58, 237, 0.2)',
|
|
51
|
-
'--prism-success': '#
|
|
52
|
-
'--prism-warn': '#
|
|
53
|
-
'--prism-danger': '#
|
|
60
|
+
'--prism-success': '#047857',
|
|
61
|
+
'--prism-warn': '#8f6b00',
|
|
62
|
+
'--prism-danger': '#951226',
|
|
63
|
+
'--prism-mark-nominal': '#047857',
|
|
64
|
+
'--prism-mark-attention': '#8f6b00',
|
|
65
|
+
'--prism-mark-critical': '#951226',
|
|
66
|
+
'--prism-measure': '#0b93ad',
|
|
67
|
+
'--prism-spectrum': 'linear-gradient(90deg, var(--prism-accent), var(--prism-primary), var(--prism-primary-to))',
|
|
54
68
|
};
|
|
55
69
|
export const PRISM_BASE_TOKENS = {
|
|
56
70
|
'--font-sans': "'Inter', system-ui, sans-serif",
|
|
@@ -61,6 +75,13 @@ export const PRISM_BASE_TOKENS = {
|
|
|
61
75
|
'--fs-lg': '13.5px',
|
|
62
76
|
'--fs-xl': '15px',
|
|
63
77
|
'--fs-2xl': '22px',
|
|
78
|
+
'--sp-1': '2px',
|
|
79
|
+
'--sp-2': '4px',
|
|
80
|
+
'--sp-3': '8px',
|
|
81
|
+
'--sp-4': '12px',
|
|
82
|
+
'--sp-5': '16px',
|
|
83
|
+
'--sp-6': '24px',
|
|
84
|
+
'--sp-7': '40px',
|
|
64
85
|
'--radius-xs': '3px',
|
|
65
86
|
'--radius-sm': '5px',
|
|
66
87
|
'--radius-md': '7px',
|
|
@@ -69,10 +90,29 @@ export const PRISM_BASE_TOKENS = {
|
|
|
69
90
|
'--dur-fast': '0.12s',
|
|
70
91
|
'--dur-base': '0.2s',
|
|
71
92
|
'--dur-slow': '0.3s',
|
|
93
|
+
/**
|
|
94
|
+
* Chrome density. Set on the shell host, so a consuming app can compact or
|
|
95
|
+
* loosen the entire interface from CSS alone:
|
|
96
|
+
*
|
|
97
|
+
* prism-shell { --density: .8 }
|
|
98
|
+
*
|
|
99
|
+
* There is deliberately no signal, service or menu behind this — the whole
|
|
100
|
+
* control surface is the custom property.
|
|
101
|
+
*/
|
|
102
|
+
'--density': '1',
|
|
103
|
+
'--band-header': 'calc(40px * var(--density))',
|
|
104
|
+
'--band-head': 'calc(36px * var(--density))',
|
|
105
|
+
'--band-rail': 'calc(28px * var(--density))',
|
|
106
|
+
'--band-tabs': 'calc(34px * var(--density))',
|
|
72
107
|
'--prism-void-light': '#f7f5fc',
|
|
73
108
|
'--prism-void-dark': '#07050f',
|
|
74
109
|
'--prism-text-light': '#ede9f8',
|
|
75
|
-
|
|
110
|
+
/**
|
|
111
|
+
* Kept as an alias rather than removed: it is exported through
|
|
112
|
+
* PRISM_BASE_TOKENS, so a consuming stylesheet may reference it even though
|
|
113
|
+
* nothing inside this package does.
|
|
114
|
+
*/
|
|
115
|
+
'--prism-header-height': 'var(--band-header)',
|
|
76
116
|
'--prism-font-sans': 'var(--font-sans)',
|
|
77
117
|
'--prism-font-mono': 'var(--font-mono)',
|
|
78
118
|
};
|
|
@@ -7,7 +7,10 @@ export declare class PrismVariantRibbonComponent {
|
|
|
7
7
|
private readonly tabButtons;
|
|
8
8
|
protected readonly variants: import("@angular/core").Signal<import("../../index.js").Variant<unknown>[]>;
|
|
9
9
|
constructor();
|
|
10
|
-
protected
|
|
10
|
+
protected slot(index: number): {
|
|
11
|
+
i: number;
|
|
12
|
+
n: number;
|
|
13
|
+
};
|
|
11
14
|
protected prev(): void;
|
|
12
15
|
protected next(): void;
|
|
13
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismVariantRibbonComponent, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-variant-ribbon.component.d.ts","sourceRoot":"","sources":["../../../src/app/variant-ribbon/prism-variant-ribbon.component.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;;
|
|
1
|
+
{"version":3,"file":"prism-variant-ribbon.component.d.ts","sourceRoot":"","sources":["../../../src/app/variant-ribbon/prism-variant-ribbon.component.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;;AAG7E,qBAwJa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,SAAS,CAAC,QAAQ,CAAC,eAAe,uBAAgC;IAElE,OAAO,CAAC,QAAQ,CAAC,aAAa,CACwB;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CACgC;IAE3D,SAAS,CAAC,QAAQ,CAAC,QAAQ,8EAGxB;;IAsBH,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAIvD,SAAS,CAAC,IAAI,IAAI,IAAI;IAKtB,SAAS,CAAC,IAAI,IAAI,IAAI;yCA3CX,2BAA2B;2CAA3B,2BAA2B;CAgDvC"}
|