@ng-prism/core 21.10.3 → 21.11.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/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.d.ts +1 -0
- package/dist/app/canvas/prism-canvas-rulers.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-rulers.component.js +4 -1
- package/dist/app/component-head/prism-component-head.component.d.ts +8 -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 +119 -49
- package/dist/app/icons/prism-icon.component.d.ts.map +1 -1
- package/dist/app/icons/prism-icon.component.js +2 -1
- package/dist/app/panels/controls/prism-controls-panel.component.d.ts.map +1 -1
- package/dist/app/panels/controls/prism-controls-panel.component.js +99 -60
- package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
- package/dist/app/renderer/prism-renderer.component.js +10 -6
- package/dist/app/services/prism-renderer.service.d.ts +9 -0
- package/dist/app/services/prism-renderer.service.d.ts.map +1 -1
- package/dist/app/services/prism-renderer.service.js +81 -30
- package/dist/app/sidebar/prism-sidebar.component.d.ts +3 -0
- package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -1
- package/dist/app/sidebar/prism-sidebar.component.js +38 -8
- package/dist/builder/scanner/component.scanner.d.ts.map +1 -1
- package/dist/builder/scanner/component.scanner.js +14 -0
- package/dist/decorator/index.d.ts +1 -1
- package/dist/decorator/index.d.ts.map +1 -1
- package/dist/decorator/showcase.types.d.ts +8 -0
- package/dist/decorator/showcase.types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-canvas-bg-pill.component.d.ts","sourceRoot":"","sources":["../../../src/app/canvas/prism-canvas-bg-pill.component.ts"],"names":[],"mappings":";AAGA,
|
|
1
|
+
{"version":3,"file":"prism-canvas-bg-pill.component.d.ts","sourceRoot":"","sources":["../../../src/app/canvas/prism-canvas-bg-pill.component.ts"],"names":[],"mappings":";AAGA,qBAmEa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAE3D,SAAS,CAAC,QAAQ,CAAC,WAAW,gGAA8B;IAC5D,SAAS,CAAC,QAAQ,CAAC,OAAO,0CAA8B;IAExD,SAAS,CAAC,KAAK,IAAI,IAAI;yCANZ,0BAA0B;2CAA1B,0BAA0B;CAStC"}
|
|
@@ -27,7 +27,7 @@ export class PrismCanvasBgPillComponent {
|
|
|
27
27
|
i0.ɵɵconditionalCreate(0, PrismCanvasBgPillComponent_Conditional_0_Template, 5, 1, "div", 0);
|
|
28
28
|
} if (rf & 2) {
|
|
29
29
|
i0.ɵɵconditional(ctx.visible() ? 0 : -1);
|
|
30
|
-
} }, styles: ["[_nghost-%COMP%] {\n position: absolute;\n top: 12px;\n right: 20px;\n pointer-events: none;\n z-index: 2;\n }\n .prism-bg-pill[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 4px 4px 4px 10px;\n border-radius: 999px;\n font-size: var(--fs-xs);\n font-family: var(--font-sans);\n background: color-mix(in srgb, var(--prism-bg-elevated) 90%, transparent);\n border: 1px solid var(--prism-border);\n color: var(--prism-text-muted);\n backdrop-filter: blur(8px);\n pointer-events: auto;\n animation: _ngcontent-%COMP%_fadeIn var(--dur-base) ease-out;\n }\n .label[_ngcontent-%COMP%] { letter-spacing: 0.02em; }\n .reset[_ngcontent-%COMP%] {\n height: 22px;\n padding: 0 10px;\n border-radius: 999px;\n background: color-mix(in srgb, var(--prism-primary) 12%, transparent);\n color: var(--prism-text);\n border: 1px solid color-mix(in srgb, var(--prism-primary) 25%, transparent);\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n cursor: pointer;\n transition: background var(--dur-fast);\n }\n .reset[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--prism-primary) 20%, transparent);\n }\n @keyframes _ngcontent-%COMP%_fadeIn {\n from { opacity: 0; transform: translateY(-4px); }\n to { opacity: 1; transform: translateY(0); }\n }"], changeDetection: 0 });
|
|
30
|
+
} }, styles: ["[_nghost-%COMP%] {\n position: absolute;\n top: var(--prism-canvas-overlay-top, 12px);\n right: var(--prism-canvas-overlay-inline, 20px);\n pointer-events: none;\n z-index: 2;\n transition: top var(--dur-base), right var(--dur-base);\n }\n .prism-bg-pill[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 4px 4px 4px 10px;\n border-radius: 999px;\n font-size: var(--fs-xs);\n font-family: var(--font-sans);\n background: color-mix(in srgb, var(--prism-bg-elevated) 90%, transparent);\n border: 1px solid var(--prism-border);\n color: var(--prism-text-muted);\n backdrop-filter: blur(8px);\n pointer-events: auto;\n animation: _ngcontent-%COMP%_fadeIn var(--dur-base) ease-out;\n }\n .label[_ngcontent-%COMP%] { letter-spacing: 0.02em; }\n .reset[_ngcontent-%COMP%] {\n height: 22px;\n padding: 0 10px;\n border-radius: 999px;\n background: color-mix(in srgb, var(--prism-primary) 12%, transparent);\n color: var(--prism-text);\n border: 1px solid color-mix(in srgb, var(--prism-primary) 25%, transparent);\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n cursor: pointer;\n transition: background var(--dur-fast);\n }\n .reset[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--prism-primary) 20%, transparent);\n }\n @keyframes _ngcontent-%COMP%_fadeIn {\n from { opacity: 0; transform: translateY(-4px); }\n to { opacity: 1; transform: translateY(0); }\n }"], changeDetection: 0 });
|
|
31
31
|
}
|
|
32
32
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismCanvasBgPillComponent, [{
|
|
33
33
|
type: Component,
|
|
@@ -46,6 +46,6 @@ export class PrismCanvasBgPillComponent {
|
|
|
46
46
|
</button>
|
|
47
47
|
</div>
|
|
48
48
|
}
|
|
49
|
-
`, styles: ["\n :host {\n position: absolute;\n top: 12px;\n right: 20px;\n pointer-events: none;\n z-index: 2;\n }\n .prism-bg-pill {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 4px 4px 4px 10px;\n border-radius: 999px;\n font-size: var(--fs-xs);\n font-family: var(--font-sans);\n background: color-mix(in srgb, var(--prism-bg-elevated) 90%, transparent);\n border: 1px solid var(--prism-border);\n color: var(--prism-text-muted);\n backdrop-filter: blur(8px);\n pointer-events: auto;\n animation: fadeIn var(--dur-base) ease-out;\n }\n .label { letter-spacing: 0.02em; }\n .reset {\n height: 22px;\n padding: 0 10px;\n border-radius: 999px;\n background: color-mix(in srgb, var(--prism-primary) 12%, transparent);\n color: var(--prism-text);\n border: 1px solid color-mix(in srgb, var(--prism-primary) 25%, transparent);\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n cursor: pointer;\n transition: background var(--dur-fast);\n }\n .reset:hover {\n background: color-mix(in srgb, var(--prism-primary) 20%, transparent);\n }\n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(-4px); }\n to { opacity: 1; transform: translateY(0); }\n }\n "] }]
|
|
49
|
+
`, styles: ["\n :host {\n position: absolute;\n top: var(--prism-canvas-overlay-top, 12px);\n right: var(--prism-canvas-overlay-inline, 20px);\n pointer-events: none;\n z-index: 2;\n transition: top var(--dur-base), right var(--dur-base);\n }\n .prism-bg-pill {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 4px 4px 4px 10px;\n border-radius: 999px;\n font-size: var(--fs-xs);\n font-family: var(--font-sans);\n background: color-mix(in srgb, var(--prism-bg-elevated) 90%, transparent);\n border: 1px solid var(--prism-border);\n color: var(--prism-text-muted);\n backdrop-filter: blur(8px);\n pointer-events: auto;\n animation: fadeIn var(--dur-base) ease-out;\n }\n .label { letter-spacing: 0.02em; }\n .reset {\n height: 22px;\n padding: 0 10px;\n border-radius: 999px;\n background: color-mix(in srgb, var(--prism-primary) 12%, transparent);\n color: var(--prism-text);\n border: 1px solid color-mix(in srgb, var(--prism-primary) 25%, transparent);\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n cursor: pointer;\n transition: background var(--dur-fast);\n }\n .reset:hover {\n background: color-mix(in srgb, var(--prism-primary) 20%, transparent);\n }\n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(-4px); }\n to { opacity: 1; transform: translateY(0); }\n }\n "] }]
|
|
50
50
|
}], null, null); })();
|
|
51
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismCanvasBgPillComponent, { className: "PrismCanvasBgPillComponent", filePath: "app/canvas/prism-canvas-bg-pill.component.ts", lineNumber:
|
|
51
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismCanvasBgPillComponent, { className: "PrismCanvasBgPillComponent", filePath: "app/canvas/prism-canvas-bg-pill.component.ts", lineNumber: 71 }); })();
|
|
@@ -2,6 +2,7 @@ import { PrismCanvasService } from '../services/prism-canvas.service.js';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class PrismCanvasRulersComponent {
|
|
4
4
|
protected readonly canvas: PrismCanvasService;
|
|
5
|
+
private readonly themeService;
|
|
5
6
|
private readonly rulerTop;
|
|
6
7
|
private readonly rulerLeft;
|
|
7
8
|
private ro;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-canvas-rulers.component.d.ts","sourceRoot":"","sources":["../../../src/app/canvas/prism-canvas-rulers.component.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;;
|
|
1
|
+
{"version":3,"file":"prism-canvas-rulers.component.d.ts","sourceRoot":"","sources":["../../../src/app/canvas/prism-canvas-rulers.component.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;;AAKzE,qBAkDa,0BAA0B;IACrC,SAAS,CAAC,QAAQ,CAAC,MAAM,qBAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAE1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAC8B;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAC8B;IAExD,OAAO,CAAC,EAAE,CAA+B;;IAqBzC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,MAAM;IA4Dd,OAAO,CAAC,MAAM;yCAvGH,0BAA0B;2CAA1B,0BAA0B;CAsKtC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, ChangeDetectionStrategy, effect, inject, viewChild, } from '@angular/core';
|
|
2
2
|
import { PrismCanvasService } from '../services/prism-canvas.service.js';
|
|
3
|
+
import { PrismThemeService } from '../services/prism-theme.service.js';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
const _c0 = ["rulerTop"];
|
|
5
6
|
const _c1 = ["rulerLeft"];
|
|
@@ -11,6 +12,7 @@ function PrismCanvasRulersComponent_Conditional_0_Template(rf, ctx) { if (rf & 1
|
|
|
11
12
|
const R = 20;
|
|
12
13
|
export class PrismCanvasRulersComponent {
|
|
13
14
|
canvas = inject(PrismCanvasService);
|
|
15
|
+
themeService = inject(PrismThemeService);
|
|
14
16
|
rulerTop = viewChild('rulerTop', ...(ngDevMode ? [{ debugName: "rulerTop" }] : []));
|
|
15
17
|
rulerLeft = viewChild('rulerLeft', ...(ngDevMode ? [{ debugName: "rulerLeft" }] : []));
|
|
16
18
|
ro = null;
|
|
@@ -18,6 +20,7 @@ export class PrismCanvasRulersComponent {
|
|
|
18
20
|
effect(() => {
|
|
19
21
|
const show = this.canvas.rulers();
|
|
20
22
|
const zoom = this.canvas.zoom();
|
|
23
|
+
this.themeService.theme();
|
|
21
24
|
if (!show) {
|
|
22
25
|
this.ro?.disconnect();
|
|
23
26
|
this.ro = null;
|
|
@@ -167,7 +170,7 @@ export class PrismCanvasRulersComponent {
|
|
|
167
170
|
}
|
|
168
171
|
`, styles: ["\n :host { display: contents; }\n\n .ruler-wrap {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 4;\n overflow: hidden;\n }\n\n .ruler { position: absolute; }\n .ruler--top {\n top: 0;\n left: 20px;\n right: 0;\n height: 20px;\n }\n .ruler--left {\n top: 20px;\n left: 0;\n bottom: 0;\n width: 20px;\n }\n .ruler-corner {\n position: absolute;\n top: 0;\n left: 0;\n width: 20px;\n height: 20px;\n background: var(--prism-bg);\n border-right: 1px solid var(--prism-border);\n border-bottom: 1px solid var(--prism-border);\n z-index: 1;\n }\n "] }]
|
|
169
172
|
}], () => [], { rulerTop: [{ type: i0.ViewChild, args: ['rulerTop', { isSignal: true }] }], rulerLeft: [{ type: i0.ViewChild, args: ['rulerLeft', { isSignal: true }] }] }); })();
|
|
170
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismCanvasRulersComponent, { className: "PrismCanvasRulersComponent", filePath: "app/canvas/prism-canvas-rulers.component.ts", lineNumber:
|
|
173
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismCanvasRulersComponent, { className: "PrismCanvasRulersComponent", filePath: "app/canvas/prism-canvas-rulers.component.ts", lineNumber: 64 }); })();
|
|
171
174
|
function stepFor(zoom) {
|
|
172
175
|
if (zoom >= 2)
|
|
173
176
|
return 10;
|
|
@@ -1,10 +1,17 @@
|
|
|
1
|
+
import type { ComponentStatus } from '../../decorator/showcase.types.js';
|
|
1
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
interface StatusBadge {
|
|
4
|
+
label: string;
|
|
5
|
+
tooltip: string;
|
|
6
|
+
}
|
|
2
7
|
export declare class PrismComponentHeadComponent {
|
|
3
8
|
private readonly navigationService;
|
|
4
9
|
private readonly auditService;
|
|
5
10
|
protected readonly comp: import("@angular/core").Signal<import("../../index.js").RuntimeComponent | null>;
|
|
6
11
|
protected readonly category: import("@angular/core").Signal<string>;
|
|
7
12
|
protected readonly variantCount: import("@angular/core").Signal<number>;
|
|
13
|
+
protected readonly status: import("@angular/core").Signal<ComponentStatus | undefined>;
|
|
14
|
+
protected readonly statusBadge: import("@angular/core").Signal<StatusBadge | null>;
|
|
8
15
|
protected readonly coveragePercent: import("@angular/core").Signal<number | null>;
|
|
9
16
|
protected readonly bundleSize: import("@angular/core").Signal<string | null>;
|
|
10
17
|
protected readonly a11yScore: import("@angular/core").Signal<number | null>;
|
|
@@ -12,4 +19,5 @@ export declare class PrismComponentHeadComponent {
|
|
|
12
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismComponentHeadComponent, never>;
|
|
13
20
|
static ɵcmp: i0.ɵɵComponentDeclaration<PrismComponentHeadComponent, "prism-component-head", never, {}, {}, never, never, true, never>;
|
|
14
21
|
}
|
|
22
|
+
export {};
|
|
15
23
|
//# sourceMappingURL=prism-component-head.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-component-head.component.d.ts","sourceRoot":"","sources":["../../../src/app/component-head/prism-component-head.component.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"prism-component-head.component.d.ts","sourceRoot":"","sources":["../../../src/app/component-head/prism-component-head.component.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;;AAEzE,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAqBD,qBAsNa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IAEzD,SAAS,CAAC,QAAQ,CAAC,IAAI,mFAErB;IAEF,SAAS,CAAC,QAAQ,CAAC,QAAQ,yCAGxB;IAEH,SAAS,CAAC,QAAQ,CAAC,YAAY,yCAG5B;IAEH,SAAS,CAAC,QAAQ,CAAC,MAAM,8DAEvB;IAEF,SAAS,CAAC,QAAQ,CAAC,WAAW,qDAG3B;IAEH,SAAS,CAAC,QAAQ,CAAC,eAAe,gDAM/B;IAEH,SAAS,CAAC,QAAQ,CAAC,UAAU,gDAS1B;IAEH,SAAS,CAAC,QAAQ,CAAC,SAAS,gDAEzB;IAEH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAM3B;yCAxDQ,2BAA2B;2CAA3B,2BAA2B;CAyDvC"}
|
|
@@ -4,56 +4,83 @@ import { PrismNavigationService } from '../services/prism-navigation.service.js'
|
|
|
4
4
|
import { A11yAuditService } from '../panels/a11y/a11y-audit.service.js';
|
|
5
5
|
import { PrismStatComponent } from './prism-stat.component.js';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
function PrismComponentHeadComponent_Conditional_0_Conditional_13_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵelement(0, "prism-icon", 14);
|
|
9
|
+
} if (rf & 2) {
|
|
10
|
+
i0.ɵɵproperty("size", 13);
|
|
11
|
+
} }
|
|
12
|
+
function PrismComponentHeadComponent_Conditional_0_Conditional_13_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
13
|
+
i0.ɵɵelement(0, "span", 15);
|
|
14
|
+
} }
|
|
15
|
+
function PrismComponentHeadComponent_Conditional_0_Conditional_13_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
+
i0.ɵɵelement(0, "span", 16);
|
|
17
|
+
} }
|
|
7
18
|
function PrismComponentHeadComponent_Conditional_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
-
i0.ɵɵelementStart(0, "
|
|
9
|
-
i0.ɵɵ
|
|
10
|
-
i0.ɵɵ
|
|
19
|
+
i0.ɵɵelementStart(0, "span");
|
|
20
|
+
i0.ɵɵconditionalCreate(1, PrismComponentHeadComponent_Conditional_0_Conditional_13_Conditional_1_Template, 1, 1, "prism-icon", 14)(2, PrismComponentHeadComponent_Conditional_0_Conditional_13_Conditional_2_Template, 1, 0, "span", 15)(3, PrismComponentHeadComponent_Conditional_0_Conditional_13_Conditional_3_Template, 1, 0, "span", 16);
|
|
21
|
+
i0.ɵɵelementStart(4, "span", 17);
|
|
22
|
+
i0.ɵɵtext(5);
|
|
23
|
+
i0.ɵɵelementEnd()();
|
|
11
24
|
} if (rf & 2) {
|
|
12
|
-
const
|
|
25
|
+
const s_r1 = ctx;
|
|
26
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
27
|
+
i0.ɵɵclassMap(i0.ɵɵinterpolate1("comp-status comp-status--", s_r1));
|
|
28
|
+
i0.ɵɵattribute("title", ctx_r1.statusBadge().tooltip);
|
|
13
29
|
i0.ɵɵadvance();
|
|
14
|
-
i0.ɵɵ
|
|
30
|
+
i0.ɵɵconditional(s_r1 === "stable" ? 1 : s_r1 === "wip" ? 2 : 3);
|
|
31
|
+
i0.ɵɵadvance(4);
|
|
32
|
+
i0.ɵɵtextInterpolate(ctx_r1.statusBadge().label);
|
|
15
33
|
} }
|
|
16
|
-
function
|
|
17
|
-
i0.ɵɵelementStart(0, "
|
|
34
|
+
function PrismComponentHeadComponent_Conditional_0_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
+
i0.ɵɵelementStart(0, "p", 7);
|
|
18
36
|
i0.ɵɵtext(1);
|
|
19
37
|
i0.ɵɵelementEnd();
|
|
20
38
|
} if (rf & 2) {
|
|
21
|
-
const
|
|
39
|
+
const c_r3 = i0.ɵɵnextContext();
|
|
22
40
|
i0.ɵɵadvance();
|
|
23
|
-
i0.ɵɵtextInterpolate(
|
|
41
|
+
i0.ɵɵtextInterpolate(c_r3.meta.showcaseConfig.description);
|
|
24
42
|
} }
|
|
25
|
-
function
|
|
26
|
-
i0.ɵɵelementStart(0, "
|
|
27
|
-
i0.ɵɵ
|
|
43
|
+
function PrismComponentHeadComponent_Conditional_0_Conditional_15_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
44
|
+
i0.ɵɵelementStart(0, "span", 18);
|
|
45
|
+
i0.ɵɵtext(1);
|
|
28
46
|
i0.ɵɵelementEnd();
|
|
29
47
|
} if (rf & 2) {
|
|
30
|
-
const
|
|
48
|
+
const tag_r4 = ctx.$implicit;
|
|
31
49
|
i0.ɵɵadvance();
|
|
32
|
-
i0.ɵɵ
|
|
50
|
+
i0.ɵɵtextInterpolate(tag_r4);
|
|
33
51
|
} }
|
|
34
|
-
function
|
|
35
|
-
i0.ɵɵ
|
|
52
|
+
function PrismComponentHeadComponent_Conditional_0_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
53
|
+
i0.ɵɵelementStart(0, "div", 8);
|
|
54
|
+
i0.ɵɵrepeaterCreate(1, PrismComponentHeadComponent_Conditional_0_Conditional_15_For_2_Template, 2, 1, "span", 18, i0.ɵɵrepeaterTrackByIdentity);
|
|
55
|
+
i0.ɵɵelementEnd();
|
|
36
56
|
} if (rf & 2) {
|
|
37
|
-
const
|
|
38
|
-
i0.ɵɵ
|
|
57
|
+
const c_r3 = i0.ɵɵnextContext();
|
|
58
|
+
i0.ɵɵadvance();
|
|
59
|
+
i0.ɵɵrepeater(c_r3.meta.showcaseConfig.tags);
|
|
39
60
|
} }
|
|
40
61
|
function PrismComponentHeadComponent_Conditional_0_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
41
62
|
i0.ɵɵelement(0, "prism-stat", 10);
|
|
42
63
|
} if (rf & 2) {
|
|
43
|
-
const
|
|
44
|
-
i0.ɵɵproperty("value",
|
|
64
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
65
|
+
i0.ɵɵproperty("value", ctx_r1.variantCount());
|
|
45
66
|
} }
|
|
46
67
|
function PrismComponentHeadComponent_Conditional_0_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
47
68
|
i0.ɵɵelement(0, "prism-stat", 11);
|
|
48
69
|
} if (rf & 2) {
|
|
49
|
-
const
|
|
50
|
-
i0.ɵɵproperty("value",
|
|
70
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
71
|
+
i0.ɵɵproperty("value", ctx_r1.coveragePercent() + "%")("pill", ctx_r1.coveragePercent() >= 90 ? "OK" : "WARN")("pillVariant", ctx_r1.coveragePercent() >= 90 ? "ok" : "warn");
|
|
51
72
|
} }
|
|
52
73
|
function PrismComponentHeadComponent_Conditional_0_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
53
74
|
i0.ɵɵelement(0, "prism-stat", 12);
|
|
54
75
|
} if (rf & 2) {
|
|
55
|
-
const
|
|
56
|
-
i0.ɵɵproperty("value",
|
|
76
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
77
|
+
i0.ɵɵproperty("value", ctx_r1.bundleSize());
|
|
78
|
+
} }
|
|
79
|
+
function PrismComponentHeadComponent_Conditional_0_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
80
|
+
i0.ɵɵelement(0, "prism-stat", 13);
|
|
81
|
+
} if (rf & 2) {
|
|
82
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
83
|
+
i0.ɵɵproperty("value", ctx_r1.a11yScore())("pillVariant", ctx_r1.a11yScore() >= 90 ? "ok" : "warn");
|
|
57
84
|
} }
|
|
58
85
|
function PrismComponentHeadComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
59
86
|
i0.ɵɵelementStart(0, "section", 0)(1, "div", 1)(2, "div")(3, "div", 2)(4, "span");
|
|
@@ -67,42 +94,65 @@ function PrismComponentHeadComponent_Conditional_0_Template(rf, ctx) { if (rf &
|
|
|
67
94
|
i0.ɵɵtext(10);
|
|
68
95
|
i0.ɵɵelementStart(11, "span", 5);
|
|
69
96
|
i0.ɵɵtext(12);
|
|
70
|
-
i0.ɵɵelementEnd()();
|
|
71
|
-
i0.ɵɵconditionalCreate(13, PrismComponentHeadComponent_Conditional_0_Conditional_13_Template, 2, 1, "p", 6);
|
|
72
|
-
i0.ɵɵconditionalCreate(14, PrismComponentHeadComponent_Conditional_0_Conditional_14_Template, 3, 0, "div", 7);
|
|
73
97
|
i0.ɵɵelementEnd();
|
|
74
|
-
i0.ɵɵ
|
|
75
|
-
i0.ɵɵ
|
|
76
|
-
i0.ɵɵconditionalCreate(
|
|
77
|
-
i0.ɵɵconditionalCreate(
|
|
78
|
-
i0.ɵɵ
|
|
98
|
+
i0.ɵɵconditionalCreate(13, PrismComponentHeadComponent_Conditional_0_Conditional_13_Template, 6, 6, "span", 6);
|
|
99
|
+
i0.ɵɵelementEnd();
|
|
100
|
+
i0.ɵɵconditionalCreate(14, PrismComponentHeadComponent_Conditional_0_Conditional_14_Template, 2, 1, "p", 7);
|
|
101
|
+
i0.ɵɵconditionalCreate(15, PrismComponentHeadComponent_Conditional_0_Conditional_15_Template, 3, 0, "div", 8);
|
|
102
|
+
i0.ɵɵelementEnd();
|
|
103
|
+
i0.ɵɵelementStart(16, "div", 9);
|
|
104
|
+
i0.ɵɵconditionalCreate(17, PrismComponentHeadComponent_Conditional_0_Conditional_17_Template, 1, 1, "prism-stat", 10);
|
|
105
|
+
i0.ɵɵconditionalCreate(18, PrismComponentHeadComponent_Conditional_0_Conditional_18_Template, 1, 3, "prism-stat", 11);
|
|
106
|
+
i0.ɵɵconditionalCreate(19, PrismComponentHeadComponent_Conditional_0_Conditional_19_Template, 1, 1, "prism-stat", 12);
|
|
107
|
+
i0.ɵɵconditionalCreate(20, PrismComponentHeadComponent_Conditional_0_Conditional_20_Template, 1, 2, "prism-stat", 13);
|
|
79
108
|
i0.ɵɵelementEnd()()();
|
|
80
109
|
} if (rf & 2) {
|
|
81
|
-
|
|
82
|
-
const
|
|
110
|
+
let tmp_7_0;
|
|
111
|
+
const c_r3 = ctx;
|
|
112
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
83
113
|
i0.ɵɵadvance(5);
|
|
84
|
-
i0.ɵɵtextInterpolate(
|
|
114
|
+
i0.ɵɵtextInterpolate(ctx_r1.category());
|
|
85
115
|
i0.ɵɵadvance();
|
|
86
116
|
i0.ɵɵproperty("size", 10);
|
|
87
117
|
i0.ɵɵadvance(2);
|
|
88
|
-
i0.ɵɵtextInterpolate(
|
|
118
|
+
i0.ɵɵtextInterpolate(c_r3.meta.showcaseConfig.title);
|
|
89
119
|
i0.ɵɵadvance(2);
|
|
90
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
120
|
+
i0.ɵɵtextInterpolate1(" ", c_r3.meta.showcaseConfig.title, " ");
|
|
91
121
|
i0.ɵɵadvance(2);
|
|
92
|
-
i0.ɵɵtextInterpolate1("<",
|
|
122
|
+
i0.ɵɵtextInterpolate1("<", c_r3.meta.componentMeta.selector, ">");
|
|
123
|
+
i0.ɵɵadvance();
|
|
124
|
+
i0.ɵɵconditional((tmp_7_0 = ctx_r1.status()) ? 13 : -1, tmp_7_0);
|
|
93
125
|
i0.ɵɵadvance();
|
|
94
|
-
i0.ɵɵconditional(
|
|
126
|
+
i0.ɵɵconditional(c_r3.meta.showcaseConfig.description ? 14 : -1);
|
|
95
127
|
i0.ɵɵadvance();
|
|
96
|
-
i0.ɵɵconditional((
|
|
128
|
+
i0.ɵɵconditional((c_r3.meta.showcaseConfig.tags == null ? null : c_r3.meta.showcaseConfig.tags.length) ? 15 : -1);
|
|
97
129
|
i0.ɵɵadvance(2);
|
|
98
|
-
i0.ɵɵconditional(
|
|
130
|
+
i0.ɵɵconditional(ctx_r1.variantCount() > 0 ? 17 : -1);
|
|
99
131
|
i0.ɵɵadvance();
|
|
100
|
-
i0.ɵɵconditional(
|
|
132
|
+
i0.ɵɵconditional(ctx_r1.coveragePercent() !== null ? 18 : -1);
|
|
101
133
|
i0.ɵɵadvance();
|
|
102
|
-
i0.ɵɵconditional(
|
|
134
|
+
i0.ɵɵconditional(ctx_r1.bundleSize() !== null ? 19 : -1);
|
|
103
135
|
i0.ɵɵadvance();
|
|
104
|
-
i0.ɵɵconditional(
|
|
136
|
+
i0.ɵɵconditional(ctx_r1.a11yScore() !== null ? 20 : -1);
|
|
105
137
|
} }
|
|
138
|
+
const STATUS_BADGES = {
|
|
139
|
+
stable: {
|
|
140
|
+
label: 'Stable',
|
|
141
|
+
tooltip: 'Migrated and production-ready',
|
|
142
|
+
},
|
|
143
|
+
beta: {
|
|
144
|
+
label: 'Beta',
|
|
145
|
+
tooltip: 'Beta — API may change',
|
|
146
|
+
},
|
|
147
|
+
wip: {
|
|
148
|
+
label: 'Work in progress',
|
|
149
|
+
tooltip: 'Migration in progress',
|
|
150
|
+
},
|
|
151
|
+
deprecated: {
|
|
152
|
+
label: 'Deprecated',
|
|
153
|
+
tooltip: 'Deprecated / Legacy — do not use in new code',
|
|
154
|
+
},
|
|
155
|
+
};
|
|
106
156
|
export class PrismComponentHeadComponent {
|
|
107
157
|
navigationService = inject(PrismNavigationService);
|
|
108
158
|
auditService = inject(A11yAuditService);
|
|
@@ -115,6 +165,11 @@ export class PrismComponentHeadComponent {
|
|
|
115
165
|
const c = this.comp();
|
|
116
166
|
return c?.meta.showcaseConfig.variants?.length ?? 0;
|
|
117
167
|
}, ...(ngDevMode ? [{ debugName: "variantCount" }] : []));
|
|
168
|
+
status = computed(() => this.comp()?.meta.showcaseConfig.status, ...(ngDevMode ? [{ debugName: "status" }] : []));
|
|
169
|
+
statusBadge = computed(() => {
|
|
170
|
+
const s = this.status();
|
|
171
|
+
return s ? STATUS_BADGES[s] : null;
|
|
172
|
+
}, ...(ngDevMode ? [{ debugName: "statusBadge" }] : []));
|
|
118
173
|
coveragePercent = computed(() => {
|
|
119
174
|
const meta = this.componentMeta();
|
|
120
175
|
const coverage = meta?.['coverage'];
|
|
@@ -143,12 +198,12 @@ export class PrismComponentHeadComponent {
|
|
|
143
198
|
: null;
|
|
144
199
|
}, ...(ngDevMode ? [{ debugName: "componentMeta" }] : []));
|
|
145
200
|
static ɵfac = function PrismComponentHeadComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismComponentHeadComponent)(); };
|
|
146
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismComponentHeadComponent, selectors: [["prism-component-head"]], decls: 1, vars: 1, consts: [[1, "comp-head"], [1, "comp-head-top"], [1, "comp-crumb"], ["name", "chevron-right", 3, "size"], [1, "comp-title"], [1, "comp-selector"], [1, "comp-desc"], [1, "comp-tags"], [1, "comp-head-stats"], ["label", "Variants", 3, "value"], ["label", "Coverage", 3, "value", "pill", "pillVariant"], ["label", "Bundle", 3, "value"], ["label", "Score", "pill", "A11y", 3, "value", "pillVariant"], [1, "comp-tag"]], template: function PrismComponentHeadComponent_Template(rf, ctx) { if (rf & 1) {
|
|
147
|
-
i0.ɵɵconditionalCreate(0, PrismComponentHeadComponent_Conditional_0_Template,
|
|
201
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismComponentHeadComponent, selectors: [["prism-component-head"]], decls: 1, vars: 1, consts: [[1, "comp-head"], [1, "comp-head-top"], [1, "comp-crumb"], ["name", "chevron-right", 3, "size"], [1, "comp-title"], [1, "comp-selector"], [3, "class"], [1, "comp-desc"], [1, "comp-tags"], [1, "comp-head-stats"], ["label", "Variants", 3, "value"], ["label", "Coverage", 3, "value", "pill", "pillVariant"], ["label", "Bundle", 3, "value"], ["label", "Score", "pill", "A11y", 3, "value", "pillVariant"], ["name", "check", 3, "size"], ["aria-hidden", "true", 1, "comp-status-ring"], ["aria-hidden", "true", 1, "comp-status-dot"], [1, "comp-status-label"], [1, "comp-tag"]], template: function PrismComponentHeadComponent_Template(rf, ctx) { if (rf & 1) {
|
|
202
|
+
i0.ɵɵconditionalCreate(0, PrismComponentHeadComponent_Conditional_0_Template, 21, 12, "section", 0);
|
|
148
203
|
} if (rf & 2) {
|
|
149
204
|
let tmp_0_0;
|
|
150
205
|
i0.ɵɵconditional((tmp_0_0 = ctx.comp()) ? 0 : -1, tmp_0_0);
|
|
151
|
-
} }, dependencies: [PrismIconComponent, PrismStatComponent], styles: ["[_nghost-%COMP%] { display: block; flex-shrink: 0; }\n\n .comp-head[_ngcontent-%COMP%] {\n padding: 12px 28px;\n background: var(--prism-bg);\n border-bottom: 1px solid var(--prism-border);\n position: relative;\n }\n .comp-head[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 6px;\n background: linear-gradient(180deg, var(--prism-primary-from) 0%, var(--prism-accent) 50%, var(--prism-primary-to) 100%);\n }\n\n .comp-head-top[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n }\n\n .comp-crumb[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: var(--fs-sm);\n color: var(--prism-text-ghost);\n margin-bottom: 6px;\n font-weight: 500;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n }\n .comp-crumb[_ngcontent-%COMP%] prism-icon[_ngcontent-%COMP%] { opacity: 0.6; }\n\n .comp-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--fs-2xl);\n font-weight: 700;\n letter-spacing: -0.02em;\n color: var(--prism-text);\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .comp-selector[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: 12px;\n color: var(--prism-primary);\n padding: 3px 8px;\n border-radius: var(--radius-sm);\n background: color-mix(in srgb, var(--prism-primary) 10%, transparent);\n border: 1px solid color-mix(in srgb, var(--prism-primary) 20%, transparent);\n font-weight: 500;\n }\n\n .comp-desc[_ngcontent-%COMP%] {\n margin: 6px 0 0;\n font-size: var(--fs-lg);\n color: var(--prism-text-2);\n max-width: 72ch;\n line-height: 1.55;\n }\n\n .comp-tags[_ngcontent-%COMP%] {\n margin-top: 10px;\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n }\n .comp-tag[_ngcontent-%COMP%] {\n padding: 2px 8px;\n font-size: 11px;\n font-weight: 500;\n border-radius: var(--radius-xs);\n background: color-mix(in srgb, var(--prism-primary) 12%, transparent);\n color: var(--prism-primary);\n border: 1px solid color-mix(in srgb, var(--prism-primary) 20%, transparent);\n }\n\n .comp-head-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 18px;\n flex-shrink: 0;\n }"], changeDetection: 0 });
|
|
206
|
+
} }, dependencies: [PrismIconComponent, PrismStatComponent], styles: ["[_nghost-%COMP%] { display: block; flex-shrink: 0; }\n\n .comp-head[_ngcontent-%COMP%] {\n padding: 12px 28px;\n background: var(--prism-bg);\n border-bottom: 1px solid var(--prism-border);\n position: relative;\n }\n .comp-head[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 6px;\n background: linear-gradient(180deg, var(--prism-primary-from) 0%, var(--prism-accent) 50%, var(--prism-primary-to) 100%);\n }\n\n .comp-head-top[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n }\n\n .comp-crumb[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: var(--fs-sm);\n color: var(--prism-text-ghost);\n margin-bottom: 6px;\n font-weight: 500;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n }\n .comp-crumb[_ngcontent-%COMP%] prism-icon[_ngcontent-%COMP%] { opacity: 0.6; }\n\n .comp-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--fs-2xl);\n font-weight: 700;\n letter-spacing: -0.02em;\n color: var(--prism-text);\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .comp-selector[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: 12px;\n color: var(--prism-primary);\n padding: 3px 8px;\n border-radius: var(--radius-sm);\n background: color-mix(in srgb, var(--prism-primary) 10%, transparent);\n border: 1px solid color-mix(in srgb, var(--prism-primary) 20%, transparent);\n font-weight: 500;\n }\n\n .comp-status[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n height: 24px;\n padding: 0 10px 0 8px;\n border-radius: 5px;\n font-size: 11.5px;\n font-weight: 600;\n letter-spacing: 0.02em;\n border: 1px solid;\n background: transparent;\n }\n .comp-status-label[_ngcontent-%COMP%] { line-height: 1; }\n .comp-status-dot[_ngcontent-%COMP%] {\n width: 7px;\n height: 7px;\n border-radius: 50%;\n background: currentColor;\n }\n .comp-status-ring[_ngcontent-%COMP%] {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n border: 1.5px solid currentColor;\n background: transparent;\n box-sizing: border-box;\n }\n .comp-status[_ngcontent-%COMP%] prism-icon[_ngcontent-%COMP%] { display: inline-flex; }\n\n .comp-status--stable[_ngcontent-%COMP%] {\n color: var(--prism-success);\n background: color-mix(in srgb, var(--prism-success) 10%, transparent);\n border-color: color-mix(in srgb, var(--prism-success) 35%, transparent);\n }\n .comp-status--beta[_ngcontent-%COMP%] {\n color: #60a5fa;\n background: color-mix(in srgb, #60a5fa 10%, transparent);\n border-color: color-mix(in srgb, #60a5fa 35%, transparent);\n }\n .comp-status--wip[_ngcontent-%COMP%] {\n color: var(--prism-warn);\n background: color-mix(in srgb, var(--prism-warn) 10%, transparent);\n border-color: color-mix(in srgb, var(--prism-warn) 35%, transparent);\n }\n .comp-status--deprecated[_ngcontent-%COMP%] {\n color: var(--prism-text-muted);\n background: var(--prism-input-bg);\n border-color: var(--prism-border-strong);\n }\n\n .comp-desc[_ngcontent-%COMP%] {\n margin: 6px 0 0;\n font-size: var(--fs-lg);\n color: var(--prism-text-2);\n max-width: 72ch;\n line-height: 1.55;\n }\n\n .comp-tags[_ngcontent-%COMP%] {\n margin-top: 10px;\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n }\n .comp-tag[_ngcontent-%COMP%] {\n padding: 2px 8px;\n font-size: 11px;\n font-weight: 500;\n border-radius: var(--radius-xs);\n background: color-mix(in srgb, var(--prism-primary) 12%, transparent);\n color: var(--prism-primary);\n border: 1px solid color-mix(in srgb, var(--prism-primary) 20%, transparent);\n }\n\n .comp-head-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 18px;\n flex-shrink: 0;\n }"], changeDetection: 0 });
|
|
152
207
|
}
|
|
153
208
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismComponentHeadComponent, [{
|
|
154
209
|
type: Component,
|
|
@@ -167,6 +222,21 @@ export class PrismComponentHeadComponent {
|
|
|
167
222
|
<span class="comp-selector"
|
|
168
223
|
><{{ c.meta.componentMeta.selector }}></span
|
|
169
224
|
>
|
|
225
|
+
@if (status(); as s) {
|
|
226
|
+
<span
|
|
227
|
+
class="comp-status comp-status--{{ s }}"
|
|
228
|
+
[attr.title]="statusBadge()!.tooltip"
|
|
229
|
+
>
|
|
230
|
+
@if (s === 'stable') {
|
|
231
|
+
<prism-icon name="check" [size]="13" />
|
|
232
|
+
} @else if (s === 'wip') {
|
|
233
|
+
<span class="comp-status-ring" aria-hidden="true"></span>
|
|
234
|
+
} @else {
|
|
235
|
+
<span class="comp-status-dot" aria-hidden="true"></span>
|
|
236
|
+
}
|
|
237
|
+
<span class="comp-status-label">{{ statusBadge()!.label }}</span>
|
|
238
|
+
</span>
|
|
239
|
+
}
|
|
170
240
|
</h1>
|
|
171
241
|
@if (c.meta.showcaseConfig.description) {
|
|
172
242
|
<p class="comp-desc">{{ c.meta.showcaseConfig.description }}</p>
|
|
@@ -202,6 +272,6 @@ export class PrismComponentHeadComponent {
|
|
|
202
272
|
</div>
|
|
203
273
|
</section>
|
|
204
274
|
}
|
|
205
|
-
`, styles: ["\n :host { display: block; flex-shrink: 0; }\n\n .comp-head {\n padding: 12px 28px;\n background: var(--prism-bg);\n border-bottom: 1px solid var(--prism-border);\n position: relative;\n }\n .comp-head::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 6px;\n background: linear-gradient(180deg, var(--prism-primary-from) 0%, var(--prism-accent) 50%, var(--prism-primary-to) 100%);\n }\n\n .comp-head-top {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n }\n\n .comp-crumb {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: var(--fs-sm);\n color: var(--prism-text-ghost);\n margin-bottom: 6px;\n font-weight: 500;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n }\n .comp-crumb prism-icon { opacity: 0.6; }\n\n .comp-title {\n margin: 0;\n font-size: var(--fs-2xl);\n font-weight: 700;\n letter-spacing: -0.02em;\n color: var(--prism-text);\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .comp-selector {\n font-family: var(--font-mono);\n font-size: 12px;\n color: var(--prism-primary);\n padding: 3px 8px;\n border-radius: var(--radius-sm);\n background: color-mix(in srgb, var(--prism-primary) 10%, transparent);\n border: 1px solid color-mix(in srgb, var(--prism-primary) 20%, transparent);\n font-weight: 500;\n }\n\n .comp-desc {\n margin: 6px 0 0;\n font-size: var(--fs-lg);\n color: var(--prism-text-2);\n max-width: 72ch;\n line-height: 1.55;\n }\n\n .comp-tags {\n margin-top: 10px;\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n }\n .comp-tag {\n padding: 2px 8px;\n font-size: 11px;\n font-weight: 500;\n border-radius: var(--radius-xs);\n background: color-mix(in srgb, var(--prism-primary) 12%, transparent);\n color: var(--prism-primary);\n border: 1px solid color-mix(in srgb, var(--prism-primary) 20%, transparent);\n }\n\n .comp-head-stats {\n display: flex;\n gap: 18px;\n flex-shrink: 0;\n }\n "] }]
|
|
275
|
+
`, styles: ["\n :host { display: block; flex-shrink: 0; }\n\n .comp-head {\n padding: 12px 28px;\n background: var(--prism-bg);\n border-bottom: 1px solid var(--prism-border);\n position: relative;\n }\n .comp-head::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 6px;\n background: linear-gradient(180deg, var(--prism-primary-from) 0%, var(--prism-accent) 50%, var(--prism-primary-to) 100%);\n }\n\n .comp-head-top {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n }\n\n .comp-crumb {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: var(--fs-sm);\n color: var(--prism-text-ghost);\n margin-bottom: 6px;\n font-weight: 500;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n }\n .comp-crumb prism-icon { opacity: 0.6; }\n\n .comp-title {\n margin: 0;\n font-size: var(--fs-2xl);\n font-weight: 700;\n letter-spacing: -0.02em;\n color: var(--prism-text);\n display: flex;\n align-items: center;\n gap: 10px;\n }\n\n .comp-selector {\n font-family: var(--font-mono);\n font-size: 12px;\n color: var(--prism-primary);\n padding: 3px 8px;\n border-radius: var(--radius-sm);\n background: color-mix(in srgb, var(--prism-primary) 10%, transparent);\n border: 1px solid color-mix(in srgb, var(--prism-primary) 20%, transparent);\n font-weight: 500;\n }\n\n .comp-status {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n height: 24px;\n padding: 0 10px 0 8px;\n border-radius: 5px;\n font-size: 11.5px;\n font-weight: 600;\n letter-spacing: 0.02em;\n border: 1px solid;\n background: transparent;\n }\n .comp-status-label { line-height: 1; }\n .comp-status-dot {\n width: 7px;\n height: 7px;\n border-radius: 50%;\n background: currentColor;\n }\n .comp-status-ring {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n border: 1.5px solid currentColor;\n background: transparent;\n box-sizing: border-box;\n }\n .comp-status prism-icon { display: inline-flex; }\n\n .comp-status--stable {\n color: var(--prism-success);\n background: color-mix(in srgb, var(--prism-success) 10%, transparent);\n border-color: color-mix(in srgb, var(--prism-success) 35%, transparent);\n }\n .comp-status--beta {\n color: #60a5fa;\n background: color-mix(in srgb, #60a5fa 10%, transparent);\n border-color: color-mix(in srgb, #60a5fa 35%, transparent);\n }\n .comp-status--wip {\n color: var(--prism-warn);\n background: color-mix(in srgb, var(--prism-warn) 10%, transparent);\n border-color: color-mix(in srgb, var(--prism-warn) 35%, transparent);\n }\n .comp-status--deprecated {\n color: var(--prism-text-muted);\n background: var(--prism-input-bg);\n border-color: var(--prism-border-strong);\n }\n\n .comp-desc {\n margin: 6px 0 0;\n font-size: var(--fs-lg);\n color: var(--prism-text-2);\n max-width: 72ch;\n line-height: 1.55;\n }\n\n .comp-tags {\n margin-top: 10px;\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n }\n .comp-tag {\n padding: 2px 8px;\n font-size: 11px;\n font-weight: 500;\n border-radius: var(--radius-xs);\n background: color-mix(in srgb, var(--prism-primary) 12%, transparent);\n color: var(--prism-primary);\n border: 1px solid color-mix(in srgb, var(--prism-primary) 20%, transparent);\n }\n\n .comp-head-stats {\n display: flex;\n gap: 18px;\n flex-shrink: 0;\n }\n "] }]
|
|
206
276
|
}], null, null); })();
|
|
207
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismComponentHeadComponent, { className: "PrismComponentHeadComponent", filePath: "app/component-head/prism-component-head.component.ts", lineNumber:
|
|
277
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismComponentHeadComponent, { className: "PrismComponentHeadComponent", filePath: "app/component-head/prism-component-head.component.ts", lineNumber: 251 }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-icon.component.d.ts","sourceRoot":"","sources":["../../../src/app/icons/prism-icon.component.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"prism-icon.component.d.ts","sourceRoot":"","sources":["../../../src/app/icons/prism-icon.component.ts"],"names":[],"mappings":";AAmDA,qBAOa,kBAAkB;IAC7B,QAAQ,CAAC,IAAI,8CAA4B;IACzC,QAAQ,CAAC,IAAI,8CAAa;IAE1B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAmC;;yCAJ3C,kBAAkB;2CAAlB,kBAAkB;CAkC9B"}
|
|
@@ -26,6 +26,7 @@ const ICONS = {
|
|
|
26
26
|
eye: '<path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"/><circle cx="12" cy="12" r="3"/>',
|
|
27
27
|
code: '<path d="m18 16 4-4-4-4M6 8l-4 4 4 4m8.5-12-5 16"/>',
|
|
28
28
|
x: '<path d="M18 6 6 18M6 6l12 12"/>',
|
|
29
|
+
check: '<path d="M20 6 9 17l-5-5"/>',
|
|
29
30
|
};
|
|
30
31
|
const SVG_NS = 'http://www.w3.org/2000/svg';
|
|
31
32
|
export class PrismIconComponent {
|
|
@@ -63,4 +64,4 @@ export class PrismIconComponent {
|
|
|
63
64
|
type: Component,
|
|
64
65
|
args: [{ selector: 'prism-icon', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: ``, styles: [":host { display: inline-flex; align-items: center; justify-content: center; }"] }]
|
|
65
66
|
}], () => [], { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] }); })();
|
|
66
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismIconComponent, { className: "PrismIconComponent", filePath: "app/icons/prism-icon.component.ts", lineNumber:
|
|
67
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismIconComponent, { className: "PrismIconComponent", filePath: "app/icons/prism-icon.component.ts", lineNumber: 59 }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-controls-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/controls/prism-controls-panel.component.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;;AAEhF,
|
|
1
|
+
{"version":3,"file":"prism-controls-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/controls/prism-controls-panel.component.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;;AAEhF,qBA+La,2BAA2B;IACtC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,yBAAkC;IACtE,SAAS,CAAC,QAAQ,CAAC,eAAe,uBAAgC;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAE5D,QAAQ,CAAC,eAAe,+DAAwC;IAEhE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,iBAAiB,GAAG,IAAI;IAOtE,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI1C,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAIxC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;yCAtB7B,2BAA2B;2CAA3B,2BAA2B;CAyBvC"}
|