@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
|
@@ -19,6 +19,12 @@ const STYLE_ELEMENT_ID = 'ng-prism-capture-styles';
|
|
|
19
19
|
* Above `html` the backdrop is the browser's own and no stylesheet reaches it;
|
|
20
20
|
* a runner has to clear that with `omitBackground: true`.
|
|
21
21
|
*
|
|
22
|
+
* `prism-shell` is the *host element* the app bootstraps into, not the
|
|
23
|
+
* `div.prism-shell` inside its template — both are in the chain and either can
|
|
24
|
+
* be given a background, a `:host` rule being the easy way to do it by
|
|
25
|
+
* accident. `.prism-body` is the grid between the shell and `.prism-main` and
|
|
26
|
+
* is listed on the same insurance grounds.
|
|
27
|
+
*
|
|
22
28
|
* Scoped by `:has()` to a *transparent* stage, so the other five backgrounds
|
|
23
29
|
* behave exactly as before. Exported so a test can assert the invariant
|
|
24
30
|
* against the real DOM rather than against this list — the list is the
|
|
@@ -27,7 +33,52 @@ const STYLE_ELEMENT_ID = 'ng-prism-capture-styles';
|
|
|
27
33
|
* looks correct; it just silently stops testing transparency.
|
|
28
34
|
*/
|
|
29
35
|
export const CAPTURE_TRANSPARENT_SELECTOR = `[${CAPTURE_ATTRIBUTE}] .prism-canvas-stage[data-bg='transparent'],\n` +
|
|
30
|
-
`[${CAPTURE_ATTRIBUTE}] :is(html, body, .prism-shell, .prism-main, .prism-canvas-wrap):has(.prism-canvas-stage[data-bg='transparent'])`;
|
|
36
|
+
`[${CAPTURE_ATTRIBUTE}] :is(html, body, prism-shell, .prism-shell, .prism-body, .prism-main, .prism-canvas-wrap):has(.prism-canvas-stage[data-bg='transparent'])`;
|
|
37
|
+
/**
|
|
38
|
+
* Everything capture mode removes from layout so the canvas owns the viewport.
|
|
39
|
+
*
|
|
40
|
+
* The canvas is not an overlay host: `.prism-canvas-wrap` is one flex sibling
|
|
41
|
+
* among several inside `.prism-main`, which is itself one grid cell of
|
|
42
|
+
* `.prism-body` inside `.prism-shell`. A screenshot tool captures the *screen
|
|
43
|
+
* coordinates* of `.demo-wrap`, and `.demo-wrap` is centred in a stage that
|
|
44
|
+
* scrolls — so whenever the component is larger than the canvas viewport, its
|
|
45
|
+
* box extends past the canvas and the compositor fills those coordinates with
|
|
46
|
+
* whichever sibling lives there. Measured in Chromium against the real
|
|
47
|
+
* stylesheets, a 200x400 component at a 1280x720 viewport leaks 57px upwards
|
|
48
|
+
* into the variant ribbon and 121px downwards into the panel. That is neither
|
|
49
|
+
* a z-order nor a clipping bug: the capture target legitimately extends beyond
|
|
50
|
+
* its scroll container and the page paints something there.
|
|
51
|
+
*
|
|
52
|
+
* `display: none` rather than `visibility: hidden`, and this is the one thing
|
|
53
|
+
* not to "simplify" later. Keeping the layout box is the tempting minimal-churn
|
|
54
|
+
* fix — nothing re-centres, no unaffected baseline moves — and it does not
|
|
55
|
+
* work: the box still occupies its space, so what paints at those coordinates
|
|
56
|
+
* becomes `.prism-main`'s own background instead of the panel. Measured at the
|
|
57
|
+
* bottom row of a `bg: 'transparent'` capture: `#11284e` with the panel left
|
|
58
|
+
* alone, `#11284e` with `visibility: hidden`, transparent only once the panel
|
|
59
|
+
* leaves layout. The canvas is `flex: 1`; it has to reclaim the space for the
|
|
60
|
+
* stage to paint there, and only removal from layout gives it back.
|
|
61
|
+
*
|
|
62
|
+
* Written as a structural rule rather than a list of chrome selectors, because
|
|
63
|
+
* enumeration is what makes this class of bug recur: the list has to be revised
|
|
64
|
+
* every time the shell grows a region, nothing fails when it is not, and the
|
|
65
|
+
* baselines recorded in the meantime look perfectly fine while guarding the
|
|
66
|
+
* wrong image. At every level from the shell to the canvas wrap, the one child
|
|
67
|
+
* that leads to the stage survives and every sibling is removed, so a region
|
|
68
|
+
* added tomorrow is suppressed without anyone remembering this file exists.
|
|
69
|
+
*
|
|
70
|
+
* The track collapses are not cosmetic. `.prism-shell` and `.prism-body` are
|
|
71
|
+
* grids with sized tracks (`52px 1fr`, `var(--sw) 4px 1fr`); hiding the header
|
|
72
|
+
* and the sidebar without collapsing them would auto-place the survivor into
|
|
73
|
+
* the *first* track and render the canvas 52px tall or 264px wide.
|
|
74
|
+
*
|
|
75
|
+
* Scoped by `:has(.prism-canvas-stage)` throughout: a component page or a view
|
|
76
|
+
* panel has no canvas, and blanking the shell around it would leave a runner
|
|
77
|
+
* with an empty screenshot rather than an honest one.
|
|
78
|
+
*/
|
|
79
|
+
const CAPTURE_CANVAS_ONLY_SELECTOR = `[${CAPTURE_ATTRIBUTE}] ` +
|
|
80
|
+
`:is(.prism-shell, .prism-body, .prism-main, .prism-canvas-wrap)` +
|
|
81
|
+
`:has(.prism-canvas-stage) > :not(:has(.prism-canvas-stage))`;
|
|
31
82
|
/**
|
|
32
83
|
* Global stylesheet applied in capture mode.
|
|
33
84
|
*
|
|
@@ -51,6 +102,23 @@ export const CAPTURE_TRANSPARENT_SELECTOR = `[${CAPTURE_ATTRIBUTE}] .prism-canva
|
|
|
51
102
|
* layers involved. Alpha is not what the paragraph above rules out: a pattern
|
|
52
103
|
* has a phase that moves when the component resizes, an alpha channel is a
|
|
53
104
|
* per-pixel value that does not.
|
|
105
|
+
*
|
|
106
|
+
* Colour is only half of it. The rules from
|
|
107
|
+
* {@link CAPTURE_CANVAS_ONLY_SELECTOR} down hand the whole viewport to the
|
|
108
|
+
* canvas, which is what makes the declared background reach the *whole* of the
|
|
109
|
+
* capture target's box rather than only the part that happens to fit inside
|
|
110
|
+
* the canvas viewport.
|
|
111
|
+
*
|
|
112
|
+
* The stage's padding goes with them, and it buys more than the 32px it looks
|
|
113
|
+
* like. The stage is `height: 100%` under `content-box`, so its padding lands
|
|
114
|
+
* *outside* that height: the stage is 64px taller than the row it sits in,
|
|
115
|
+
* overflows it, and centres the component 32px below the true centre of what
|
|
116
|
+
* is actually painted. Dropping the padding makes the stage exactly the canvas
|
|
117
|
+
* and the component's centre the viewport's centre, which turns the guarantee
|
|
118
|
+
* crisp — a component is contained iff it fits the viewport. Measured: a
|
|
119
|
+
* 200x700 component at 1280x720 still leaks 22px past the canvas with the
|
|
120
|
+
* regions gone but the padding kept. None of that padding is ever inside a
|
|
121
|
+
* `.demo-wrap` screenshot, so nothing is lost by removing it.
|
|
54
122
|
*/
|
|
55
123
|
const CAPTURE_STYLES = `
|
|
56
124
|
[${CAPTURE_ATTRIBUTE}] *,
|
|
@@ -64,12 +132,29 @@ const CAPTURE_STYLES = `
|
|
|
64
132
|
|
|
65
133
|
[${CAPTURE_ATTRIBUTE}] .prism-canvas-stage {
|
|
66
134
|
background-image: none !important;
|
|
135
|
+
padding: 0 !important;
|
|
67
136
|
}
|
|
68
137
|
|
|
69
138
|
${CAPTURE_TRANSPARENT_SELECTOR} {
|
|
70
139
|
background-color: transparent !important;
|
|
71
140
|
background-image: none !important;
|
|
72
141
|
}
|
|
142
|
+
|
|
143
|
+
${CAPTURE_CANVAS_ONLY_SELECTOR} {
|
|
144
|
+
display: none !important;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
[${CAPTURE_ATTRIBUTE}] .prism-shell:has(.prism-canvas-stage) {
|
|
148
|
+
grid-template-rows: minmax(0, 1fr) !important;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
[${CAPTURE_ATTRIBUTE}] .prism-body:has(.prism-canvas-stage) {
|
|
152
|
+
grid-template-columns: minmax(0, 1fr) !important;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
[${CAPTURE_ATTRIBUTE}] .prism-canvas-wrap:has(.prism-canvas-stage) {
|
|
156
|
+
grid-template-rows: minmax(0, 1fr) !important;
|
|
157
|
+
}
|
|
73
158
|
`;
|
|
74
159
|
/**
|
|
75
160
|
* Capture-isolation mode.
|
|
@@ -79,8 +164,16 @@ ${CAPTURE_TRANSPARENT_SELECTOR} {
|
|
|
79
164
|
* mode strips the canvas background down to its patternless colour — keeping
|
|
80
165
|
* whatever `@Showcase({ bg })` declared, or clearing the whole paint chain to
|
|
81
166
|
* real transparency for `bg: 'transparent'` — suppresses every piece of
|
|
82
|
-
* canvas chrome,
|
|
83
|
-
*
|
|
167
|
+
* canvas chrome, removes every other shell region from layout so the canvas
|
|
168
|
+
* owns the viewport, locks zoom to 1 and freezes animation, so a variant
|
|
169
|
+
* renders identically on every run.
|
|
170
|
+
*
|
|
171
|
+
* What that buys a runner is the right to screenshot `.demo-wrap` directly:
|
|
172
|
+
* the target is composited against the declared background over its whole box,
|
|
173
|
+
* not merely over the part that fits inside the canvas viewport. The one thing
|
|
174
|
+
* the mode cannot do is make room that the viewport does not have — a
|
|
175
|
+
* component larger than the viewport still overflows, and sizing the viewport
|
|
176
|
+
* to fit is the runner's job.
|
|
84
177
|
*
|
|
85
178
|
* The flag is read once from the URL at construction time and never written
|
|
86
179
|
* back — {@link PrismUrlStateService} rebuilds the query string from scratch,
|
|
@@ -11,6 +11,6 @@ export declare class PrismEventLogService {
|
|
|
11
11
|
log(name: string, value: unknown): void;
|
|
12
12
|
clear(): void;
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismEventLogService, never>;
|
|
14
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
14
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=prism-event-log.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-event-log.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-event-log.service.ts"],"names":[],"mappings":";AAEA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,qBACa,oBAAoB;IAC/B,QAAQ,CAAC,MAAM,0DAA+B;IAC9C,OAAO,CAAC,OAAO,CAAK;IAEpB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAOvC,KAAK,IAAI,IAAI;yCAXF,oBAAoB
|
|
1
|
+
{"version":3,"file":"prism-event-log.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-event-log.service.ts"],"names":[],"mappings":";AAEA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,qBACa,oBAAoB;IAC/B,QAAQ,CAAC,MAAM,0DAA+B;IAC9C,OAAO,CAAC,OAAO,CAAK;IAEpB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAOvC,KAAK,IAAI,IAAI;yCAXF,oBAAoB;;CAchC"}
|
|
@@ -21,6 +21,6 @@ export declare class PrismLayoutService {
|
|
|
21
21
|
private loadFromStorage;
|
|
22
22
|
private saveToStorage;
|
|
23
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismLayoutService, never>;
|
|
24
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
24
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
25
25
|
}
|
|
26
26
|
//# sourceMappingURL=prism-layout.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-layout.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-layout.service.ts"],"names":[],"mappings":";AAIA,qBACa,kBAAkB;IAC7B,QAAQ,CAAC,cAAc,kDAAgB;IACvC,QAAQ,CAAC,aAAa,kDAAgB;IACtC,QAAQ,CAAC,cAAc,kDAAgB;IACvC,QAAQ,CAAC,iBAAiB,6DAAwC;IAClE,QAAQ,CAAC,YAAY,iDAAe;IACpC,QAAQ,CAAC,WAAW,iDAAe;IACnC,QAAQ,CAAC,UAAU,iDAAe;IAClC,QAAQ,CAAC,sBAAsB,kDAAiB;;IAMhD,aAAa,IAAI,IAAI;IAKrB,YAAY,IAAI,IAAI;IAKpB,aAAa,IAAI,IAAI;IAKrB,iBAAiB,IAAI,IAAI;IAKzB,qBAAqB,IAAI,IAAI;IAI7B,oBAAoB,IAAI,IAAI;IAI5B,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKjC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKhC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK/B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,aAAa;yCAnFV,kBAAkB
|
|
1
|
+
{"version":3,"file":"prism-layout.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-layout.service.ts"],"names":[],"mappings":";AAIA,qBACa,kBAAkB;IAC7B,QAAQ,CAAC,cAAc,kDAAgB;IACvC,QAAQ,CAAC,aAAa,kDAAgB;IACtC,QAAQ,CAAC,cAAc,kDAAgB;IACvC,QAAQ,CAAC,iBAAiB,6DAAwC;IAClE,QAAQ,CAAC,YAAY,iDAAe;IACpC,QAAQ,CAAC,WAAW,iDAAe;IACnC,QAAQ,CAAC,UAAU,iDAAe;IAClC,QAAQ,CAAC,sBAAsB,kDAAiB;;IAMhD,aAAa,IAAI,IAAI;IAKrB,YAAY,IAAI,IAAI;IAKpB,aAAa,IAAI,IAAI;IAKrB,iBAAiB,IAAI,IAAI;IAKzB,qBAAqB,IAAI,IAAI;IAI7B,oBAAoB,IAAI,IAAI;IAI5B,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKjC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKhC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK/B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,aAAa;yCAnFV,kBAAkB;;CA+F9B"}
|
|
@@ -10,6 +10,6 @@ export declare class PrismManifestService {
|
|
|
10
10
|
readonly groupedByCategory: import("@angular/core").Signal<Map<string, RuntimeComponent[]>>;
|
|
11
11
|
updateManifest(manifest: RuntimeManifest): void;
|
|
12
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismManifestService, never>;
|
|
13
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
13
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=prism-manifest.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-manifest.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-manifest.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAGjE,qBACa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAE7E,QAAQ,CAAC,QAAQ,kDAA+B;IAEhD,QAAQ,CAAC,UAAU,qDAAmE;IAEtF,QAAQ,CAAC,KAAK,mDAAkE;IAEhF,QAAQ,CAAC,UAAU,2CAsBhB;IAEH,QAAQ,CAAC,iBAAiB,kEAUvB;IAEH,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;yCA7CpC,oBAAoB
|
|
1
|
+
{"version":3,"file":"prism-manifest.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-manifest.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAGjE,qBACa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAE7E,QAAQ,CAAC,QAAQ,kDAA+B;IAEhD,QAAQ,CAAC,UAAU,qDAAmE;IAEtF,QAAQ,CAAC,KAAK,mDAAkE;IAEhF,QAAQ,CAAC,UAAU,2CAsBhB;IAEH,QAAQ,CAAC,iBAAiB,kEAUvB;IAEH,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;yCA7CpC,oBAAoB;;CAgDhC"}
|
|
@@ -24,6 +24,6 @@ export declare class PrismNavigationService {
|
|
|
24
24
|
selectPage(page: StyleguidePage): void;
|
|
25
25
|
selectFirst(): void;
|
|
26
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismNavigationService, never>;
|
|
27
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
27
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
28
28
|
}
|
|
29
29
|
//# sourceMappingURL=prism-navigation.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-navigation.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-navigation.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAWjE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,YAAY,EAAE,CAAC;CAC5B;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAG1D;AAeD,qBACa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE,QAAQ,CAAC,UAAU,gEAAuC;IAE1D,QAAQ,CAAC,eAAe,0DAQrB;IAEH,QAAQ,CAAC,UAAU,wDAQhB;IAEH,QAAQ,CAAC,WAAW,gDAiFjB;IAEH,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAIpC,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAItC,WAAW,IAAI,IAAI;yCArHR,sBAAsB
|
|
1
|
+
{"version":3,"file":"prism-navigation.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-navigation.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAWjE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,YAAY,EAAE,CAAC;CAC5B;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAG1D;AAeD,qBACa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE,QAAQ,CAAC,UAAU,gEAAuC;IAE1D,QAAQ,CAAC,eAAe,0DAQrB;IAEH,QAAQ,CAAC,UAAU,wDAQhB;IAEH,QAAQ,CAAC,WAAW,gDAiFjB;IAEH,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAIpC,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAItC,WAAW,IAAI,IAAI;yCArHR,sBAAsB;;CAkIlC"}
|
|
@@ -14,6 +14,6 @@ export declare class PrismPanelService {
|
|
|
14
14
|
*/
|
|
15
15
|
getInjector(panelId: string): EnvironmentInjector | null;
|
|
16
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismPanelService, never>;
|
|
17
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
17
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=prism-panel.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-panel.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-panel.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mBAAmB,EAIpB,MAAM,eAAe,CAAC;;AAIvB,qBACa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IAExE,QAAQ,CAAC,aAAa,iDAA8B;IACpD,QAAQ,CAAC,YAAY,iDAA8B;IAEnD,QAAQ,CAAC,mBAAmB,6DAE1B;IAEF;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;yCAjB7C,iBAAiB
|
|
1
|
+
{"version":3,"file":"prism-panel.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-panel.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mBAAmB,EAIpB,MAAM,eAAe,CAAC;;AAIvB,qBACa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IAExE,QAAQ,CAAC,aAAa,iDAA8B;IACpD,QAAQ,CAAC,YAAY,iDAA8B;IAEnD,QAAQ,CAAC,mBAAmB,6DAE1B;IAEF;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;yCAjB7C,iBAAiB;;CAiC7B"}
|
|
@@ -16,6 +16,6 @@ export declare class PrismPersistenceService {
|
|
|
16
16
|
private writeDebounced;
|
|
17
17
|
private serialize;
|
|
18
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismPersistenceService, never>;
|
|
19
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
19
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=prism-persistence.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-persistence.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-persistence.service.ts"],"names":[],"mappings":";AA+BA,qBACa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CACyC;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiC;IAChE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAE7C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,cAAc,CAAuB;IAE7C,IAAI,IAAI,IAAI;IAWZ,OAAO,CAAC,kBAAkB;IAmD1B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,SAAS;yCA5GN,uBAAuB
|
|
1
|
+
{"version":3,"file":"prism-persistence.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-persistence.service.ts"],"names":[],"mappings":";AA+BA,qBACa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CACyC;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiC;IAChE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAE7C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,cAAc,CAAuB;IAE7C,IAAI,IAAI,IAAI;IAWZ,OAAO,CAAC,kBAAkB;IAmD1B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,SAAS;yCA5GN,uBAAuB;;CA0InC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ControlDefinition, HeaderWidgetDefinition, PanelDefinition } from '../../plugin/plugin.types.js';
|
|
1
|
+
import type { ControlDefinition, HeaderWidgetDefinition, NavigationDecorationDefinition, PanelDefinition } from '../../plugin/plugin.types.js';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class PrismPluginService {
|
|
4
4
|
private readonly config;
|
|
@@ -9,7 +9,13 @@ export declare class PrismPluginService {
|
|
|
9
9
|
readonly headerWidgets: import("@angular/core").Signal<HeaderWidgetDefinition[]>;
|
|
10
10
|
readonly headerWidgetsStart: import("@angular/core").Signal<HeaderWidgetDefinition[]>;
|
|
11
11
|
readonly headerWidgetsEnd: import("@angular/core").Signal<HeaderWidgetDefinition[]>;
|
|
12
|
+
/**
|
|
13
|
+
* Plugin-contributed navigation markers. Built-ins are merged in by the
|
|
14
|
+
* consumer via `resolveNavigationDecorations`, the same split `panels` and
|
|
15
|
+
* `headerWidgets` already use.
|
|
16
|
+
*/
|
|
17
|
+
readonly navigationDecorations: import("@angular/core").Signal<NavigationDecorationDefinition[]>;
|
|
12
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismPluginService, never>;
|
|
13
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
19
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
14
20
|
}
|
|
15
21
|
//# sourceMappingURL=prism-plugin.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-plugin.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-plugin.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EAChB,MAAM,8BAA8B,CAAC;;AAGtC,qBACa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C,QAAQ,CAAC,MAAM,oDAQZ;IAEH,QAAQ,CAAC,WAAW,oDAElB;IAEF,QAAQ,CAAC,UAAU,oDAEjB;IAEF,QAAQ,CAAC,QAAQ,sDAQd;IAEH,QAAQ,CAAC,aAAa,2DAQnB;IAEH,QAAQ,CAAC,kBAAkB,2DAEzB;IAEF,QAAQ,CAAC,gBAAgB,2DAEvB;
|
|
1
|
+
{"version":3,"file":"prism-plugin.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-plugin.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,8BAA8B,EAC9B,eAAe,EAChB,MAAM,8BAA8B,CAAC;;AAGtC,qBACa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C,QAAQ,CAAC,MAAM,oDAQZ;IAEH,QAAQ,CAAC,WAAW,oDAElB;IAEF,QAAQ,CAAC,UAAU,oDAEjB;IAEF,QAAQ,CAAC,QAAQ,sDAQd;IAEH,QAAQ,CAAC,aAAa,2DAQnB;IAEH,QAAQ,CAAC,kBAAkB,2DAEzB;IAEF,QAAQ,CAAC,gBAAgB,2DAEvB;IAEF;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,mEAU5B;yCAhES,kBAAkB;;CAiE9B"}
|
|
@@ -41,6 +41,21 @@ export class PrismPluginService {
|
|
|
41
41
|
...(ngDevMode ? [{ debugName: "headerWidgetsStart" }] : /* istanbul ignore next */ []));
|
|
42
42
|
headerWidgetsEnd = computed(() => this.headerWidgets().filter((w) => (w.placement ?? 'end') === 'end'), /* @ts-ignore */
|
|
43
43
|
...(ngDevMode ? [{ debugName: "headerWidgetsEnd" }] : /* istanbul ignore next */ []));
|
|
44
|
+
/**
|
|
45
|
+
* Plugin-contributed navigation markers. Built-ins are merged in by the
|
|
46
|
+
* consumer via `resolveNavigationDecorations`, the same split `panels` and
|
|
47
|
+
* `headerWidgets` already use.
|
|
48
|
+
*/
|
|
49
|
+
navigationDecorations = computed(() => {
|
|
50
|
+
const result = [];
|
|
51
|
+
for (const plugin of this.config.plugins ?? []) {
|
|
52
|
+
if (plugin.navigationDecorations) {
|
|
53
|
+
result.push(...plugin.navigationDecorations);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return result;
|
|
57
|
+
}, /* @ts-ignore */
|
|
58
|
+
...(ngDevMode ? [{ debugName: "navigationDecorations" }] : /* istanbul ignore next */ []));
|
|
44
59
|
static ɵfac = function PrismPluginService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismPluginService)(); };
|
|
45
60
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismPluginService, factory: PrismPluginService.ɵfac, providedIn: 'root' });
|
|
46
61
|
}
|
|
@@ -22,6 +22,6 @@ export declare class PrismRendererService {
|
|
|
22
22
|
resetInputsToVariantDefaults(): void;
|
|
23
23
|
private applyVariant;
|
|
24
24
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismRendererService, never>;
|
|
25
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
25
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=prism-renderer.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-renderer.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-renderer.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;;AAGrE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC5D;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAC5E,oBAAoB,CA+CtB;AAaD,qBACa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IAEpE,QAAQ,CAAC,kBAAkB,iDAAa;IACxC,QAAQ,CAAC,WAAW,kEAAuC;IAC3D,QAAQ,CAAC,aAAa,sFAAkE;IACxF,QAAQ,CAAC,eAAe,yDAAgC;IAExD,QAAQ,CAAC,eAAe,yCAcrB;IAEH,OAAO,CAAC,cAAc,CAAuB;IAE7C,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAM/C,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IA2CnD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMlC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI/C,4BAA4B,IAAI,IAAI;IAMpC,OAAO,CAAC,YAAY;yCA3FT,oBAAoB
|
|
1
|
+
{"version":3,"file":"prism-renderer.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-renderer.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;;AAGrE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC5D;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAC5E,oBAAoB,CA+CtB;AAaD,qBACa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IAEpE,QAAQ,CAAC,kBAAkB,iDAAa;IACxC,QAAQ,CAAC,WAAW,kEAAuC;IAC3D,QAAQ,CAAC,aAAa,sFAAkE;IACxF,QAAQ,CAAC,eAAe,yDAAgC;IAExD,QAAQ,CAAC,eAAe,yCAcrB;IAEH,OAAO,CAAC,cAAc,CAAuB;IAE7C,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAM/C,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IA2CnD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMlC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI/C,4BAA4B,IAAI,IAAI;IAMpC,OAAO,CAAC,YAAY;yCA3FT,oBAAoB;;CAqGhC"}
|
|
@@ -8,6 +8,6 @@ export declare class PrismSearchService {
|
|
|
8
8
|
search(q: string): void;
|
|
9
9
|
clear(): void;
|
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismSearchService, never>;
|
|
11
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=prism-search.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-search.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-search.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAGjE,qBACa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE,QAAQ,CAAC,KAAK,iDAAc;IAE5B,QAAQ,CAAC,kBAAkB,8EAYxB;IAEH,QAAQ,CAAC,aAAa,mDAQnB;IAEH,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvB,KAAK,IAAI,IAAI;yCAjCF,kBAAkB
|
|
1
|
+
{"version":3,"file":"prism-search.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-search.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAGjE,qBACa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE,QAAQ,CAAC,KAAK,iDAAc;IAE5B,QAAQ,CAAC,kBAAkB,8EAYxB;IAEH,QAAQ,CAAC,aAAa,mDAQnB;IAEH,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvB,KAAK,IAAI,IAAI;yCAjCF,kBAAkB;;CAoC9B"}
|
|
@@ -16,6 +16,6 @@ export declare class PrismThemeService {
|
|
|
16
16
|
private applyFavicon;
|
|
17
17
|
private readStoredTheme;
|
|
18
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismThemeService, never>;
|
|
19
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
19
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=prism-theme.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-theme.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-theme.service.ts"],"names":[],"mappings":";AAUA,qBACa,iBAAiB;IAC5B,QAAQ,CAAC,KAAK,2DAAoD;IAClE,QAAQ,CAAC,MAAM,0CAA2C;IAE1D,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,cAAc,CAA8B;;IAYpD,MAAM,IAAI,IAAI;IAId,oBAAoB,CAAC,MAAM,EAAE;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACrC,GAAG,IAAI;IAOR,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,eAAe;yCA/DZ,iBAAiB
|
|
1
|
+
{"version":3,"file":"prism-theme.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-theme.service.ts"],"names":[],"mappings":";AAUA,qBACa,iBAAiB;IAC5B,QAAQ,CAAC,KAAK,2DAAoD;IAClE,QAAQ,CAAC,MAAM,0CAA2C;IAE1D,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,cAAc,CAA8B;;IAYpD,MAAM,IAAI,IAAI;IAId,oBAAoB,CAAC,MAAM,EAAE;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACrC,GAAG,IAAI;IAOR,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,eAAe;yCA/DZ,iBAAiB;;CAsE7B"}
|
|
@@ -11,6 +11,6 @@ export declare class PrismUrlStateService {
|
|
|
11
11
|
private restoreFromUrl;
|
|
12
12
|
private writeToUrl;
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismUrlStateService, never>;
|
|
14
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
14
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=prism-url-state.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-url-state.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-url-state.service.ts"],"names":[],"mappings":";AAgBA,qBACa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAE7C,OAAO,CAAC,YAAY,CAAS;IAE7B,IAAI,IAAI,IAAI;IAqBZ,OAAO,CAAC,cAAc;IA6CtB,OAAO,CAAC,UAAU;yCA5EP,oBAAoB
|
|
1
|
+
{"version":3,"file":"prism-url-state.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-url-state.service.ts"],"names":[],"mappings":";AAgBA,qBACa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAE7C,OAAO,CAAC,YAAY,CAAS;IAE7B,IAAI,IAAI,IAAI;IAqBZ,OAAO,CAAC,cAAc;IA6CtB,OAAO,CAAC,UAAU;yCA5EP,oBAAoB;;CAyHhC"}
|
|
@@ -45,6 +45,6 @@ export declare class PrismVariantBgService {
|
|
|
45
45
|
setOverride(bg: CanvasBg): void;
|
|
46
46
|
clearOverride(): void;
|
|
47
47
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismVariantBgService, never>;
|
|
48
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
48
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
49
49
|
}
|
|
50
50
|
//# sourceMappingURL=prism-variant-bg.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-variant-bg.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-variant-bg.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;;AAU/D,qBACa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IAEvD,QAAQ,CAAC,WAAW,kDAOjB;IAEH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,QAAQ,CAAC,QAAQ,kDAA+B;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,QAAQ,CAAC,SAAS,2CAIhB;IAEF,gFAAgF;IAChF,QAAQ,CAAC,WAAW,0CAMjB;;IAUH,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAI/B,aAAa,IAAI,IAAI;yCA3EV,qBAAqB
|
|
1
|
+
{"version":3,"file":"prism-variant-bg.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-variant-bg.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;;AAU/D,qBACa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IAEvD,QAAQ,CAAC,WAAW,kDAOjB;IAEH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,QAAQ,CAAC,QAAQ,kDAA+B;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,QAAQ,CAAC,SAAS,2CAIhB;IAEF,gFAAgF;IAChF,QAAQ,CAAC,WAAW,0CAMjB;;IAUH,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAI/B,aAAa,IAAI,IAAI;yCA3EV,qBAAqB;;CA8EjC"}
|
|
@@ -183,7 +183,7 @@ export class PrismShellComponent {
|
|
|
183
183
|
i0.ɵɵadvance();
|
|
184
184
|
i0.ɵɵconditional(ctx.layout.sidebarVisible() ? 3 : -1);
|
|
185
185
|
i0.ɵɵadvance();
|
|
186
|
-
i0.ɵɵstyleProp("
|
|
186
|
+
i0.ɵɵstyleProp("--%NS%ph", ctx.showPanel() ? ctx.layout.panelHeight() : 0, "px");
|
|
187
187
|
i0.ɵɵadvance();
|
|
188
188
|
i0.ɵɵconditional(ctx.navigationService.activeComponent() ? 5 : ctx.navigationService.activePage() ? 6 : 7);
|
|
189
189
|
} }, dependencies: [PrismHeaderComponent,
|
|
@@ -197,7 +197,7 @@ export class PrismShellComponent {
|
|
|
197
197
|
PrismViewPanelHostComponent,
|
|
198
198
|
PrismResizerDirective,
|
|
199
199
|
PrismCanvasToolbarComponent,
|
|
200
|
-
PrismTemplatePopoverComponent], styles: ["[_nghost-%COMP%] { display: block; height: 100%; }\n\n .prism-shell[_ngcontent-%COMP%] {\n height: 100vh;\n display: grid;\n grid-template-rows: 52px 1fr;\n background: var(
|
|
200
|
+
PrismTemplatePopoverComponent], styles: ["[_nghost-%COMP%] { display: block; height: 100%; }\n\n .prism-shell[_ngcontent-%COMP%] {\n height: 100vh;\n display: grid;\n grid-template-rows: 52px 1fr;\n background: var(--%NS%prism-void);\n font-family: var(--%NS%font-sans, var(--%NS%prism-font-sans));\n color: var(--%NS%prism-text);\n overflow: hidden;\n }\n\n .prism-body[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: var(--%NS%sw, 264px) 4px 1fr;\n min-height: 0;\n }\n .prism-body--no-sidebar[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .prism-sidebar-wrap[_ngcontent-%COMP%] {\n background: var(--%NS%prism-bg);\n border-right: 1px solid var(--%NS%prism-border);\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n }\n\n .prism-sidebar-wrap[_ngcontent-%COMP%] prism-sidebar[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n }\n\n .prism-sidebar-foot[_ngcontent-%COMP%] {\n border-top: 1px solid var(--%NS%prism-border);\n padding: 10px 14px;\n font-size: 11px;\n color: var(--%NS%prism-text-ghost);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n .prism-sidebar-foot__logo[_ngcontent-%COMP%] {\n width: 16px;\n flex-shrink: 0;\n }\n .prism-sidebar-foot__link[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text-ghost);\n text-decoration: none;\n transition: color var(--%NS%dur-fast);\n }\n .prism-sidebar-foot__link[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text-2);\n }\n\n .prism-resizer-col[_ngcontent-%COMP%] {\n width: 4px;\n background: transparent;\n transition: background var(--%NS%dur-fast) var(--%NS%ease-default);\n position: relative;\n z-index: 5;\n }\n .prism-resizer-col[_ngcontent-%COMP%]:hover, \n .prism-resizer-col.active[_ngcontent-%COMP%] {\n background: var(--%NS%prism-primary);\n }\n\n .prism-main[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n min-height: 0;\n background: var(--%NS%prism-void);\n overflow: hidden;\n }\n\n .prism-resizer-row[_ngcontent-%COMP%] {\n flex-shrink: 0;\n height: 4px;\n background: transparent;\n transition: background var(--%NS%dur-fast) var(--%NS%ease-default);\n position: relative;\n z-index: 5;\n }\n .prism-resizer-row[_ngcontent-%COMP%]:hover, \n .prism-resizer-row.active[_ngcontent-%COMP%] {\n background: var(--%NS%prism-primary);\n }\n\n .prism-canvas-wrap[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n display: grid;\n grid-template-rows: auto minmax(0, 1fr);\n background: var(--%NS%prism-bg-surface);\n overflow: hidden;\n position: relative;\n }\n .prism-main__view-bar[_ngcontent-%COMP%] { flex-shrink: 0; }\n .prism-main__canvas[_ngcontent-%COMP%] { flex: 1; min-height: 0; overflow: auto; }\n\n .prism-main__panel[_ngcontent-%COMP%] {\n height: var(--%NS%ph, 260px);\n flex-shrink: 0;\n overflow: hidden;\n min-height: 0;\n }\n\n .prism-shell__empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 8px;\n grid-row: 1 / -1;\n }\n .prism-shell__empty-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n color: var(--%NS%prism-text-ghost);\n margin-bottom: 8px;\n }\n .prism-shell__empty-text[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--%NS%fs-xl);\n font-weight: 500;\n color: var(--%NS%prism-text-muted);\n }\n .prism-shell__empty-hint[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--%NS%fs-lg);\n color: var(--%NS%prism-text-ghost);\n }"] });
|
|
201
201
|
}
|
|
202
202
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismShellComponent, [{
|
|
203
203
|
type: Component,
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { ComponentStatus } from '../../decorator/showcase.types.js';
|
|
2
|
+
import type { NavigationDecorationDefinition } from '../../plugin/plugin.types.js';
|
|
3
|
+
import type { NavigationItem } from '../services/navigation-item.types.js';
|
|
4
|
+
/** One source's verdict on one component, resolved for rendering. */
|
|
5
|
+
export interface ItemMark {
|
|
6
|
+
/**
|
|
7
|
+
* The definition's id. `resolveNavigationDecorations` guarantees these are
|
|
8
|
+
* unique, so this is the only field safe to `@for track` by — `icon` is a
|
|
9
|
+
* free-form string on a public extension point and two sources can pick the
|
|
10
|
+
* same one.
|
|
11
|
+
*/
|
|
12
|
+
id: string;
|
|
13
|
+
icon: string;
|
|
14
|
+
variant: 'warn' | 'danger';
|
|
15
|
+
label: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ItemDecorations {
|
|
18
|
+
/** Ordered marks — never empty; `decorateItem` returns null instead. */
|
|
19
|
+
marks: ItemMark[];
|
|
20
|
+
/** Worst variant across `marks`. Drives the group roll-up. */
|
|
21
|
+
worst: 'warn' | 'danger';
|
|
22
|
+
/** Newline-joined labels for the item's `title` attribute. */
|
|
23
|
+
tooltip: string;
|
|
24
|
+
}
|
|
25
|
+
export interface CategoryRollup {
|
|
26
|
+
/** Number of items in the category carrying at least one mark. */
|
|
27
|
+
problems: number;
|
|
28
|
+
/** Worst variant among them, or null for a clean category. */
|
|
29
|
+
variant: 'warn' | 'danger' | null;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Built-ins first, then plugin contributions, de-duplicated by id and sorted
|
|
33
|
+
* by `order`.
|
|
34
|
+
*
|
|
35
|
+
* Built-ins win a collision: a plugin must not be able to silence or restyle a
|
|
36
|
+
* core source by claiming its id. Sorting is by `order` alone — the reading
|
|
37
|
+
* contract says position names the source, so registration order must not leak
|
|
38
|
+
* into the result.
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolveNavigationDecorations(builtin: readonly NavigationDecorationDefinition[], fromPlugins: readonly NavigationDecorationDefinition[]): NavigationDecorationDefinition[];
|
|
41
|
+
/**
|
|
42
|
+
* Runs every definition against one item.
|
|
43
|
+
*
|
|
44
|
+
* Returns `null` rather than an empty result for a clean component, so callers
|
|
45
|
+
* cannot accidentally render an empty marker container.
|
|
46
|
+
*/
|
|
47
|
+
export declare function decorateItem(item: NavigationItem, defs: readonly NavigationDecorationDefinition[]): ItemDecorations | null;
|
|
48
|
+
/**
|
|
49
|
+
* Counts the items in one category that carry at least one mark.
|
|
50
|
+
*
|
|
51
|
+
* Items, not marks: a component with three findings is one thing to look at,
|
|
52
|
+
* and a group head reading "3" for a single broken component would overstate
|
|
53
|
+
* the work.
|
|
54
|
+
*
|
|
55
|
+
* Takes each item's already-resolved `ItemDecorations` rather than the raw
|
|
56
|
+
* items — callers already run `decorateItem` once per item to render its
|
|
57
|
+
* marks, and recomputing it here would both waste the work and let the
|
|
58
|
+
* roll-up drift from what actually renders.
|
|
59
|
+
*/
|
|
60
|
+
export declare function rollupCategory(decorations: readonly (ItemDecorations | null)[]): CategoryRollup;
|
|
61
|
+
/**
|
|
62
|
+
* The left icon slot carries lifecycle — what the author declared — in form
|
|
63
|
+
* alone. Colour in the sidebar means exactly one thing, measured quality, so a
|
|
64
|
+
* work-in-progress component must never look like a finding.
|
|
65
|
+
*/
|
|
66
|
+
export declare function lifecycleIcon(status: ComponentStatus | undefined): string;
|
|
67
|
+
//# sourceMappingURL=navigation-decorations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-decorations.d.ts","sourceRoot":"","sources":["../../../src/app/sidebar/navigation-decorations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAE3E,qEAAqE;AACrE,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;CACnC;AAID;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,SAAS,8BAA8B,EAAE,EAClD,WAAW,EAAE,SAAS,8BAA8B,EAAE,GACrD,8BAA8B,EAAE,CAWlC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,SAAS,8BAA8B,EAAE,GAC9C,eAAe,GAAG,IAAI,CAuBxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,GAC/C,cAAc,CAahB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAEzE"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
const SEVERITY = { warn: 1, danger: 2 };
|
|
2
|
+
/**
|
|
3
|
+
* Built-ins first, then plugin contributions, de-duplicated by id and sorted
|
|
4
|
+
* by `order`.
|
|
5
|
+
*
|
|
6
|
+
* Built-ins win a collision: a plugin must not be able to silence or restyle a
|
|
7
|
+
* core source by claiming its id. Sorting is by `order` alone — the reading
|
|
8
|
+
* contract says position names the source, so registration order must not leak
|
|
9
|
+
* into the result.
|
|
10
|
+
*/
|
|
11
|
+
export function resolveNavigationDecorations(builtin, fromPlugins) {
|
|
12
|
+
const seen = new Set();
|
|
13
|
+
const result = [];
|
|
14
|
+
for (const def of [...builtin, ...fromPlugins]) {
|
|
15
|
+
if (seen.has(def.id))
|
|
16
|
+
continue;
|
|
17
|
+
seen.add(def.id);
|
|
18
|
+
result.push(def);
|
|
19
|
+
}
|
|
20
|
+
return result.sort((a, b) => (a.order ?? 0) - (b.order ?? 0));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Runs every definition against one item.
|
|
24
|
+
*
|
|
25
|
+
* Returns `null` rather than an empty result for a clean component, so callers
|
|
26
|
+
* cannot accidentally render an empty marker container.
|
|
27
|
+
*/
|
|
28
|
+
export function decorateItem(item, defs) {
|
|
29
|
+
if (item.kind !== 'component')
|
|
30
|
+
return null;
|
|
31
|
+
const marks = [];
|
|
32
|
+
for (const def of defs) {
|
|
33
|
+
const badge = def.badge(item.data);
|
|
34
|
+
if (!badge)
|
|
35
|
+
continue;
|
|
36
|
+
marks.push({
|
|
37
|
+
id: def.id,
|
|
38
|
+
icon: def.icon,
|
|
39
|
+
variant: badge.variant,
|
|
40
|
+
label: badge.label,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
if (marks.length === 0)
|
|
44
|
+
return null;
|
|
45
|
+
let worst = 'warn';
|
|
46
|
+
for (const mark of marks) {
|
|
47
|
+
if (SEVERITY[mark.variant] > SEVERITY[worst])
|
|
48
|
+
worst = mark.variant;
|
|
49
|
+
}
|
|
50
|
+
return { marks, worst, tooltip: marks.map((m) => m.label).join('\n') };
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Counts the items in one category that carry at least one mark.
|
|
54
|
+
*
|
|
55
|
+
* Items, not marks: a component with three findings is one thing to look at,
|
|
56
|
+
* and a group head reading "3" for a single broken component would overstate
|
|
57
|
+
* the work.
|
|
58
|
+
*
|
|
59
|
+
* Takes each item's already-resolved `ItemDecorations` rather than the raw
|
|
60
|
+
* items — callers already run `decorateItem` once per item to render its
|
|
61
|
+
* marks, and recomputing it here would both waste the work and let the
|
|
62
|
+
* roll-up drift from what actually renders.
|
|
63
|
+
*/
|
|
64
|
+
export function rollupCategory(decorations) {
|
|
65
|
+
let problems = 0;
|
|
66
|
+
let variant = null;
|
|
67
|
+
for (const decoration of decorations) {
|
|
68
|
+
if (!decoration)
|
|
69
|
+
continue;
|
|
70
|
+
problems++;
|
|
71
|
+
if (!variant || SEVERITY[decoration.worst] > SEVERITY[variant]) {
|
|
72
|
+
variant = decoration.worst;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return { problems, variant };
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The left icon slot carries lifecycle — what the author declared — in form
|
|
79
|
+
* alone. Colour in the sidebar means exactly one thing, measured quality, so a
|
|
80
|
+
* work-in-progress component must never look like a finding.
|
|
81
|
+
*/
|
|
82
|
+
export function lifecycleIcon(status) {
|
|
83
|
+
return status === 'wip' ? 'box-select' : 'box';
|
|
84
|
+
}
|
|
@@ -2,16 +2,30 @@ import type { NavigationItem } from '../services/navigation-item.types.js';
|
|
|
2
2
|
import { PrismNavigationService } from '../services/prism-navigation.service.js';
|
|
3
3
|
import { PrismSearchService } from '../services/prism-search.service.js';
|
|
4
4
|
import type { ComponentStatus } from '../../decorator/showcase.types.js';
|
|
5
|
+
import { type CategoryRollup, type ItemDecorations } from './navigation-decorations.js';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
interface SidebarCategory {
|
|
7
8
|
name: string;
|
|
8
9
|
color: string;
|
|
9
10
|
items: NavigationItem[];
|
|
10
11
|
}
|
|
12
|
+
interface SidebarItem {
|
|
13
|
+
item: NavigationItem;
|
|
14
|
+
icon: string;
|
|
15
|
+
decorations: ItemDecorations | null;
|
|
16
|
+
}
|
|
17
|
+
interface ComponentCategory {
|
|
18
|
+
name: string;
|
|
19
|
+
color: string;
|
|
20
|
+
items: SidebarItem[];
|
|
21
|
+
rollup: CategoryRollup;
|
|
22
|
+
}
|
|
11
23
|
export declare class PrismSidebarComponent {
|
|
12
24
|
protected readonly navigationService: PrismNavigationService;
|
|
13
25
|
protected readonly searchService: PrismSearchService;
|
|
26
|
+
private readonly pluginService;
|
|
14
27
|
private readonly filterInput;
|
|
28
|
+
private readonly decorations;
|
|
15
29
|
protected onGlobalKey(e: KeyboardEvent): void;
|
|
16
30
|
private readonly collapsedSet;
|
|
17
31
|
protected readonly totalPages: import("@angular/core").Signal<number>;
|
|
@@ -21,18 +35,21 @@ export declare class PrismSidebarComponent {
|
|
|
21
35
|
icon: string;
|
|
22
36
|
color: string;
|
|
23
37
|
totalCount: number;
|
|
24
|
-
categories:
|
|
25
|
-
name: string;
|
|
26
|
-
color: string;
|
|
27
|
-
items: NavigationItem[];
|
|
28
|
-
}[];
|
|
38
|
+
categories: ComponentCategory[];
|
|
29
39
|
}[]>;
|
|
30
40
|
protected isCollapsed(key: string): boolean;
|
|
31
41
|
protected toggleCollapse(key: string): void;
|
|
32
42
|
protected itemKey(item: NavigationItem): string;
|
|
33
43
|
protected itemLabel(item: NavigationItem): string;
|
|
34
44
|
protected itemStatus(item: NavigationItem): ComponentStatus | undefined;
|
|
35
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Accessible name for the roll-up pill. The pill otherwise renders a bare
|
|
47
|
+
* number distinguished only by colour — a screen reader would read the
|
|
48
|
+
* group head as "Feedback 3 12" with nothing naming what either number
|
|
49
|
+
* means, and a colour-blind reader can't tell them apart at all.
|
|
50
|
+
*/
|
|
51
|
+
protected rollupTooltip(rollup: CategoryRollup): string;
|
|
52
|
+
protected itemTooltip(item: NavigationItem, decorations: ItemDecorations | null): string | null;
|
|
36
53
|
protected isActive(item: NavigationItem): boolean;
|
|
37
54
|
protected onSelect(item: NavigationItem): void;
|
|
38
55
|
private loadCollapsed;
|