@ng-prism/plugin-box-model 21.12.0-beta.2 → 22.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/box-model-overlay.component.js +7 -4
- package/dist/box-model-panel.component.js +3 -2
- package/dist/box-model-state.service.js +2 -1
- package/dist/schematics/ng-add/index.d.ts +4 -0
- package/dist/schematics/ng-add/index.d.ts.map +1 -0
- package/dist/schematics/ng-add/index.js +25 -0
- package/dist/schematics/ng-add/schema.d.ts +4 -0
- package/dist/schematics/ng-add/schema.d.ts.map +1 -0
- package/dist/schematics/ng-add/schema.js +1 -0
- package/package.json +8 -3
- package/schematics/collection.json +10 -0
- package/schematics/ng-add/schema.json +16 -0
|
@@ -126,7 +126,8 @@ export class BoxModelOverlayComponent {
|
|
|
126
126
|
el = inject((ElementRef));
|
|
127
127
|
destroyRef = inject(DestroyRef);
|
|
128
128
|
stateService = inject(BoxModelStateService);
|
|
129
|
-
rendererService = input.required(
|
|
129
|
+
rendererService = input.required(/* @ts-ignore */
|
|
130
|
+
...(ngDevMode ? [{ debugName: "rendererService" }] : /* istanbul ignore next */ []));
|
|
130
131
|
boxStyles = computed(() => {
|
|
131
132
|
const bm = this.stateService.hoveredBoxModel();
|
|
132
133
|
const canvas = this.el.nativeElement.parentElement;
|
|
@@ -166,7 +167,8 @@ export class BoxModelOverlayComponent {
|
|
|
166
167
|
height: `${bH - border.top - border.bottom - padding.top - padding.bottom}px`,
|
|
167
168
|
},
|
|
168
169
|
};
|
|
169
|
-
},
|
|
170
|
+
}, /* @ts-ignore */
|
|
171
|
+
...(ngDevMode ? [{ debugName: "boxStyles" }] : /* istanbul ignore next */ []));
|
|
170
172
|
contentSize = computed(() => {
|
|
171
173
|
const bm = this.stateService.hoveredBoxModel();
|
|
172
174
|
if (!bm)
|
|
@@ -175,7 +177,8 @@ export class BoxModelOverlayComponent {
|
|
|
175
177
|
const w = Math.round(content.width - border.left - border.right - padding.left - padding.right);
|
|
176
178
|
const h = Math.round(content.height - border.top - border.bottom - padding.top - padding.bottom);
|
|
177
179
|
return `${w} × ${h}`;
|
|
178
|
-
},
|
|
180
|
+
}, /* @ts-ignore */
|
|
181
|
+
...(ngDevMode ? [{ debugName: "contentSize" }] : /* istanbul ignore next */ []));
|
|
179
182
|
labelMargin(side) {
|
|
180
183
|
const bm = this.stateService.hoveredBoxModel();
|
|
181
184
|
if (!bm)
|
|
@@ -225,7 +228,7 @@ export class BoxModelOverlayComponent {
|
|
|
225
228
|
} if (rf & 2) {
|
|
226
229
|
let tmp_0_0;
|
|
227
230
|
i0.ɵɵconditional((tmp_0_0 = ctx.boxStyles()) ? 0 : -1, tmp_0_0);
|
|
228
|
-
} }, styles: ["[_nghost-%COMP%] {\n position: absolute;\n inset: 0;\n pointer-events: none;\n overflow: hidden;\n }\n .prism-bm__box[_ngcontent-%COMP%] {\n position: absolute;\n box-sizing: border-box;\n }\n .prism-bm__box--margin[_ngcontent-%COMP%] { background: rgba(245, 158, 11, 0.2); outline: 1px solid rgba(245, 158, 11, 0.5); }\n .prism-bm__box--border[_ngcontent-%COMP%] { background: rgba(234, 179, 8, 0.3); }\n .prism-bm__box--padding[_ngcontent-%COMP%] { background: rgba(16, 185, 129, 0.2); outline: 1px solid rgba(16, 185, 129, 0.4); }\n .prism-bm__box--content[_ngcontent-%COMP%] { background: rgba(59, 130, 246, 0.25); display: flex; align-items: center; justify-content: center; }\n .prism-bm__label[_ngcontent-%COMP%] {\n position: absolute;\n font-size: 10px;\n font-family: monospace;\n color: #1f2937;\n background: rgba(255,255,255,0.8);\n padding: 0 3px;\n border-radius: 2px;\n white-space: nowrap;\n line-height: 1.4;\n }\n .prism-bm__label--top[_ngcontent-%COMP%] { top: 2px; left: 50%; transform: translateX(-50%); }\n .prism-bm__label--bottom[_ngcontent-%COMP%] { bottom: 2px; left: 50%; transform: translateX(-50%); }\n .prism-bm__label--left[_ngcontent-%COMP%] { left: 2px; top: 50%; transform: translateY(-50%); }\n .prism-bm__label--right[_ngcontent-%COMP%] { right: 2px; top: 50%; transform: translateY(-50%); }\n .prism-bm__size[_ngcontent-%COMP%] {\n font-size: 11px;\n font-family: monospace;\n color: #1e3a5f;\n background: rgba(255,255,255,0.85);\n padding: 1px 5px;\n border-radius: 3px;\n white-space: nowrap;\n }"]
|
|
231
|
+
} }, styles: ["[_nghost-%COMP%] {\n position: absolute;\n inset: 0;\n pointer-events: none;\n overflow: hidden;\n }\n .prism-bm__box[_ngcontent-%COMP%] {\n position: absolute;\n box-sizing: border-box;\n }\n .prism-bm__box--margin[_ngcontent-%COMP%] { background: rgba(245, 158, 11, 0.2); outline: 1px solid rgba(245, 158, 11, 0.5); }\n .prism-bm__box--border[_ngcontent-%COMP%] { background: rgba(234, 179, 8, 0.3); }\n .prism-bm__box--padding[_ngcontent-%COMP%] { background: rgba(16, 185, 129, 0.2); outline: 1px solid rgba(16, 185, 129, 0.4); }\n .prism-bm__box--content[_ngcontent-%COMP%] { background: rgba(59, 130, 246, 0.25); display: flex; align-items: center; justify-content: center; }\n .prism-bm__label[_ngcontent-%COMP%] {\n position: absolute;\n font-size: 10px;\n font-family: monospace;\n color: #1f2937;\n background: rgba(255,255,255,0.8);\n padding: 0 3px;\n border-radius: 2px;\n white-space: nowrap;\n line-height: 1.4;\n }\n .prism-bm__label--top[_ngcontent-%COMP%] { top: 2px; left: 50%; transform: translateX(-50%); }\n .prism-bm__label--bottom[_ngcontent-%COMP%] { bottom: 2px; left: 50%; transform: translateX(-50%); }\n .prism-bm__label--left[_ngcontent-%COMP%] { left: 2px; top: 50%; transform: translateY(-50%); }\n .prism-bm__label--right[_ngcontent-%COMP%] { right: 2px; top: 50%; transform: translateY(-50%); }\n .prism-bm__size[_ngcontent-%COMP%] {\n font-size: 11px;\n font-family: monospace;\n color: #1e3a5f;\n background: rgba(255,255,255,0.85);\n padding: 1px 5px;\n border-radius: 3px;\n white-space: nowrap;\n }"] });
|
|
229
232
|
}
|
|
230
233
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BoxModelOverlayComponent, [{
|
|
231
234
|
type: Component,
|
|
@@ -77,7 +77,8 @@ function BoxModelPanelComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
77
77
|
} }
|
|
78
78
|
export class BoxModelPanelComponent {
|
|
79
79
|
stateService = inject(BoxModelStateService);
|
|
80
|
-
activeComponent = input(null,
|
|
80
|
+
activeComponent = input(null, /* @ts-ignore */
|
|
81
|
+
...(ngDevMode ? [{ debugName: "activeComponent" }] : /* istanbul ignore next */ []));
|
|
81
82
|
fmt(value) {
|
|
82
83
|
return value === 0 ? '-' : `${value}`;
|
|
83
84
|
}
|
|
@@ -104,7 +105,7 @@ export class BoxModelPanelComponent {
|
|
|
104
105
|
let tmp_0_0;
|
|
105
106
|
i0.ɵɵadvance();
|
|
106
107
|
i0.ɵɵconditional((tmp_0_0 = ctx.stateService.hoveredBoxModel()) ? 1 : 2, tmp_0_0);
|
|
107
|
-
} }, styles: ["[_nghost-%COMP%] { display: block; height: 100%; overflow: auto; }\n .prism-bmp[_ngcontent-%COMP%] {\n padding: 24px;\n font-family: var(--font-sans);\n font-size: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100%;\n }\n .prism-bmp__diagram[_ngcontent-%COMP%] { width: 100%; max-width: 340px; }\n .prism-bmp__region[_ngcontent-%COMP%] {\n border: 1px dashed; position: relative;\n display: flex; align-items: center; justify-content: center;\n font-family: var(--font-mono); font-size: 10px;\n text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600;\n }\n .prism-bmp__region--margin[_ngcontent-%COMP%] {\n border-color: color-mix(in srgb, #fbbf24 70%, transparent);\n background: color-mix(in srgb, #fbbf24 8%, transparent);\n padding: 32px; color: #fbbf24;\n }\n .prism-bmp__region--border[_ngcontent-%COMP%] {\n border-color: color-mix(in srgb, #f472b6 70%, transparent);\n background: color-mix(in srgb, #f472b6 8%, transparent);\n padding: 14px; color: #f472b6; flex: 1;\n }\n .prism-bmp__region--padding[_ngcontent-%COMP%] {\n border-color: color-mix(in srgb, #34d399 70%, transparent);\n background: color-mix(in srgb, #34d399 10%, transparent);\n padding: 20px; color: #34d399; flex: 1;\n }\n .prism-bmp__region-label[_ngcontent-%COMP%] {\n position: absolute; top: 6px; left: 50%; transform: translateX(-50%);\n font-size: 10px; font-weight: 600; text-transform: uppercase;\n letter-spacing: 0.08em; color: inherit; opacity: 0.8;\n }\n .prism-bmp__sides[_ngcontent-%COMP%] { display: flex; flex-direction: column; align-items: center; gap: 2px; padding-top: 14px; }\n .prism-bmp__inner-row[_ngcontent-%COMP%] { display: flex; align-items: center; gap: 2px; width: 100%; }\n .prism-bmp__inner-row[_ngcontent-%COMP%] > .prism-bmp__region[_ngcontent-%COMP%] { flex: 1; }\n .prism-bmp__side[_ngcontent-%COMP%] {\n font-family: var(--font-mono); font-size: 10px;\n color: var(--prism-text-muted);\n min-width: 28px; text-align: center; padding: 1px 4px;\n }\n .prism-bmp__side--dim[_ngcontent-%COMP%] { color: var(--prism-text-ghost); }\n .prism-bmp__content-box[_ngcontent-%COMP%] {\n flex: 1; text-align: center;\n font-family: var(--font-mono); font-size: 12px;\n color: var(--prism-primary);\n border: 1px solid var(--prism-primary);\n background: color-mix(in srgb, var(--prism-primary) 15%, transparent);\n border-radius: var(--radius-xs); padding: 22px 36px;\n text-transform: none; letter-spacing: 0; font-weight: 500;\n }\n .prism-bmp__empty[_ngcontent-%COMP%] { color: var(--prism-text-muted); font-size: 13px; }"]
|
|
108
|
+
} }, styles: ["[_nghost-%COMP%] { display: block; height: 100%; overflow: auto; }\n .prism-bmp[_ngcontent-%COMP%] {\n padding: 24px;\n font-family: var(--font-sans);\n font-size: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100%;\n }\n .prism-bmp__diagram[_ngcontent-%COMP%] { width: 100%; max-width: 340px; }\n .prism-bmp__region[_ngcontent-%COMP%] {\n border: 1px dashed; position: relative;\n display: flex; align-items: center; justify-content: center;\n font-family: var(--font-mono); font-size: 10px;\n text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600;\n }\n .prism-bmp__region--margin[_ngcontent-%COMP%] {\n border-color: color-mix(in srgb, #fbbf24 70%, transparent);\n background: color-mix(in srgb, #fbbf24 8%, transparent);\n padding: 32px; color: #fbbf24;\n }\n .prism-bmp__region--border[_ngcontent-%COMP%] {\n border-color: color-mix(in srgb, #f472b6 70%, transparent);\n background: color-mix(in srgb, #f472b6 8%, transparent);\n padding: 14px; color: #f472b6; flex: 1;\n }\n .prism-bmp__region--padding[_ngcontent-%COMP%] {\n border-color: color-mix(in srgb, #34d399 70%, transparent);\n background: color-mix(in srgb, #34d399 10%, transparent);\n padding: 20px; color: #34d399; flex: 1;\n }\n .prism-bmp__region-label[_ngcontent-%COMP%] {\n position: absolute; top: 6px; left: 50%; transform: translateX(-50%);\n font-size: 10px; font-weight: 600; text-transform: uppercase;\n letter-spacing: 0.08em; color: inherit; opacity: 0.8;\n }\n .prism-bmp__sides[_ngcontent-%COMP%] { display: flex; flex-direction: column; align-items: center; gap: 2px; padding-top: 14px; }\n .prism-bmp__inner-row[_ngcontent-%COMP%] { display: flex; align-items: center; gap: 2px; width: 100%; }\n .prism-bmp__inner-row[_ngcontent-%COMP%] > .prism-bmp__region[_ngcontent-%COMP%] { flex: 1; }\n .prism-bmp__side[_ngcontent-%COMP%] {\n font-family: var(--font-mono); font-size: 10px;\n color: var(--prism-text-muted);\n min-width: 28px; text-align: center; padding: 1px 4px;\n }\n .prism-bmp__side--dim[_ngcontent-%COMP%] { color: var(--prism-text-ghost); }\n .prism-bmp__content-box[_ngcontent-%COMP%] {\n flex: 1; text-align: center;\n font-family: var(--font-mono); font-size: 12px;\n color: var(--prism-primary);\n border: 1px solid var(--prism-primary);\n background: color-mix(in srgb, var(--prism-primary) 15%, transparent);\n border-radius: var(--radius-xs); padding: 22px 36px;\n text-transform: none; letter-spacing: 0; font-weight: 500;\n }\n .prism-bmp__empty[_ngcontent-%COMP%] { color: var(--prism-text-muted); font-size: 13px; }"] });
|
|
108
109
|
}
|
|
109
110
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BoxModelPanelComponent, [{
|
|
110
111
|
type: Component,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Injectable, signal } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class BoxModelStateService {
|
|
4
|
-
hoveredBoxModel = signal(null,
|
|
4
|
+
hoveredBoxModel = signal(null, /* @ts-ignore */
|
|
5
|
+
...(ngDevMode ? [{ debugName: "hoveredBoxModel" }] : /* istanbul ignore next */ []));
|
|
5
6
|
static ɵfac = function BoxModelStateService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BoxModelStateService)(); };
|
|
6
7
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: BoxModelStateService, factory: BoxModelStateService.ɵfac });
|
|
7
8
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,IAAI,EAGV,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAyBtD,wBAAgB,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAEvD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { chain, } from '@angular-devkit/schematics';
|
|
2
|
+
import { addPluginToConfig } from '@ng-prism/core/schematics/utils';
|
|
3
|
+
const PLUGIN_IMPORT_NAME = 'boxModelPlugin';
|
|
4
|
+
const PLUGIN_IMPORT_FROM = '@ng-prism/plugin-box-model';
|
|
5
|
+
const PLUGIN_CALL = 'boxModelPlugin()';
|
|
6
|
+
function injectPlugin(options) {
|
|
7
|
+
return (tree, context) => {
|
|
8
|
+
const configPath = options.configPath ?? 'ng-prism.config.ts';
|
|
9
|
+
const changed = addPluginToConfig(tree, configPath, {
|
|
10
|
+
importName: PLUGIN_IMPORT_NAME,
|
|
11
|
+
importFrom: PLUGIN_IMPORT_FROM,
|
|
12
|
+
call: PLUGIN_CALL,
|
|
13
|
+
});
|
|
14
|
+
if (changed) {
|
|
15
|
+
context.logger.info(` ${PLUGIN_IMPORT_FROM} → added to ${configPath}`);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
context.logger.info(` ${PLUGIN_IMPORT_FROM} already configured — skipped`);
|
|
19
|
+
}
|
|
20
|
+
return tree;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function ngAdd(options) {
|
|
24
|
+
return chain([injectPlugin(options)]);
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/schematics/ng-add/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-prism/plugin-box-model",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "22.0.0-beta.0",
|
|
4
4
|
"description": "CSS box model inspector for ng-prism.",
|
|
5
|
+
"ng-add": {
|
|
6
|
+
"save": "devDependencies"
|
|
7
|
+
},
|
|
8
|
+
"schematics": "./schematics/collection.json",
|
|
5
9
|
"keywords": [
|
|
6
10
|
"@ng-prism/core",
|
|
7
11
|
"box-model",
|
|
@@ -25,12 +29,13 @@
|
|
|
25
29
|
},
|
|
26
30
|
"files": [
|
|
27
31
|
"dist",
|
|
32
|
+
"schematics",
|
|
28
33
|
"!**/*.tsbuildinfo"
|
|
29
34
|
],
|
|
30
35
|
"peerDependencies": {
|
|
31
|
-
"@angular/core": ">=
|
|
36
|
+
"@angular/core": ">=20.0.0",
|
|
32
37
|
"rxjs": ">=7.0.0",
|
|
33
|
-
"@ng-prism/core": "^
|
|
38
|
+
"@ng-prism/core": "^22.0.0-0"
|
|
34
39
|
},
|
|
35
40
|
"devDependencies": {
|
|
36
41
|
"@ng-prism/core": "*"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../node_modules/@angular-devkit/schematics/collection-schema.json",
|
|
3
|
+
"schematics": {
|
|
4
|
+
"ng-add": {
|
|
5
|
+
"description": "Adds @ng-prism/plugin-box-model to the ng-prism config",
|
|
6
|
+
"factory": "../dist/schematics/ng-add/index#ngAdd",
|
|
7
|
+
"schema": "./ng-add/schema.json"
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "NgPrismPluginBoxModelNgAdd",
|
|
4
|
+
"title": "Add @ng-prism/plugin-box-model",
|
|
5
|
+
"description": "Registers @ng-prism/plugin-box-model in ng-prism.config.ts",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"configPath": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Path to ng-prism.config.ts",
|
|
11
|
+
"default": "ng-prism.config.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"required": [],
|
|
15
|
+
"additionalProperties": false
|
|
16
|
+
}
|