@ng-prism/core 22.2.0 → 22.3.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/README.md +22 -24
- package/builders.json +11 -11
- package/dist/app/canvas/canvas-bg.styles.d.ts +1 -1
- package/dist/app/canvas/canvas-bg.styles.d.ts.map +1 -1
- package/dist/app/canvas/canvas-bg.styles.js +17 -0
- package/dist/app/canvas/prism-canvas-bg-pill.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-bg-pill.component.js +3 -18
- 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 +9 -14
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts +23 -6
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-toolbar.component.js +110 -140
- package/dist/app/canvas/prism-template-popover.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-template-popover.component.js +8 -49
- package/dist/app/canvas/viewport-snap.d.ts +12 -0
- package/dist/app/canvas/viewport-snap.d.ts.map +1 -0
- package/dist/app/canvas/viewport-snap.js +23 -0
- package/dist/app/component-head/head-metrics.d.ts.map +1 -1
- package/dist/app/component-head/head-metrics.js +2 -2
- package/dist/app/component-head/prism-component-head.component.d.ts +1 -1
- package/dist/app/component-head/prism-component-head.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-component-head.component.js +17 -50
- package/dist/app/component-head/prism-head-gauge.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-head-gauge.component.js +4 -36
- package/dist/app/component-head/prism-head-info.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-head-info.component.js +3 -36
- package/dist/app/component-head/prism-stat.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-stat.component.js +3 -14
- package/dist/app/controls/boolean-control.component.d.ts.map +1 -1
- package/dist/app/controls/boolean-control.component.js +4 -12
- package/dist/app/controls/json-control.component.d.ts.map +1 -1
- package/dist/app/controls/json-control.component.js +4 -24
- package/dist/app/controls/number-control.component.d.ts.map +1 -1
- package/dist/app/controls/number-control.component.js +4 -11
- package/dist/app/controls/string-control.component.d.ts.map +1 -1
- package/dist/app/controls/string-control.component.js +4 -11
- package/dist/app/controls/union-control.component.d.ts.map +1 -1
- package/dist/app/controls/union-control.component.js +4 -16
- package/dist/app/directives/prism-resizer.directive.d.ts +24 -1
- package/dist/app/directives/prism-resizer.directive.d.ts.map +1 -1
- package/dist/app/directives/prism-resizer.directive.js +44 -7
- package/dist/app/directives/resize-value.d.ts +22 -0
- package/dist/app/directives/resize-value.d.ts.map +1 -0
- package/dist/app/directives/resize-value.js +23 -0
- package/dist/app/discovery-manifest.d.ts.map +1 -1
- package/dist/app/discovery-manifest.js +5 -7
- package/dist/app/header/prism-header-widget-host.component.d.ts.map +1 -1
- package/dist/app/header/prism-header-widget-host.component.js +4 -8
- package/dist/app/header/prism-header.component.d.ts.map +1 -1
- package/dist/app/header/prism-header.component.js +8 -77
- package/dist/app/hmr.d.ts.map +1 -1
- package/dist/app/icons/icon-registry.d.ts.map +1 -1
- package/dist/app/icons/icon-registry.js +2 -1
- package/dist/app/icons/prism-icon.component.d.ts.map +1 -1
- package/dist/app/icons/prism-icon.component.js +5 -5
- package/dist/app/index.d.ts +3 -3
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.js +3 -3
- package/dist/app/layout-menu/prism-layout-menu.component.d.ts.map +1 -1
- package/dist/app/layout-menu/prism-layout-menu.component.js +3 -77
- package/dist/app/overview/overview-panel.js +1 -1
- package/dist/app/overview/overview-visibility.d.ts.map +1 -1
- package/dist/app/overview/prism-overview-cell.component.d.ts.map +1 -1
- package/dist/app/overview/prism-overview-cell.component.js +10 -17
- package/dist/app/overview/prism-overview.component.d.ts.map +1 -1
- package/dist/app/overview/prism-overview.component.js +4 -12
- package/dist/app/page-renderer/prism-page-renderer.component.d.ts.map +1 -1
- package/dist/app/page-renderer/prism-page-renderer.component.js +4 -17
- package/dist/app/panels/a11y/a11y-audit.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-audit.service.js +14 -2
- package/dist/app/panels/a11y/a11y-core.plugin.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-core.plugin.js +1 -1
- package/dist/app/panels/a11y/a11y-dom-utils.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-dom-utils.js +9 -6
- package/dist/app/panels/a11y/a11y-header-badge.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-header-badge.component.js +6 -22
- package/dist/app/panels/a11y/a11y-keyboard-overlay.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-keyboard-overlay.component.js +6 -25
- package/dist/app/panels/a11y/a11y-keyboard.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-keyboard.component.js +5 -36
- package/dist/app/panels/a11y/a11y-keyboard.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-keyboard.service.js +2 -2
- package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-overlay-host.component.js +5 -32
- package/dist/app/panels/a11y/a11y-panel-state.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-panel.component.d.ts +1 -1
- package/dist/app/panels/a11y/a11y-panel.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-panel.component.js +7 -69
- package/dist/app/panels/a11y/a11y-perspective.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-score.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-score.component.js +4 -31
- package/dist/app/panels/a11y/a11y-sr-overlay.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-sr-overlay.component.js +8 -28
- package/dist/app/panels/a11y/a11y-sr.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-sr.component.js +5 -28
- package/dist/app/panels/a11y/a11y-sr.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-sr.service.js +4 -7
- package/dist/app/panels/a11y/a11y-summary.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-summary.js +2 -5
- package/dist/app/panels/a11y/a11y-thresholds.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-thresholds.js +1 -1
- package/dist/app/panels/a11y/a11y-tree.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-tree.component.js +9 -46
- package/dist/app/panels/a11y/a11y-tree.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-tree.service.js +3 -5
- package/dist/app/panels/a11y/a11y-violations.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-violations.component.js +7 -58
- package/dist/app/panels/a11y/a11y.types.d.ts.map +1 -1
- package/dist/app/panels/builtin-header-widgets.js +2 -2
- package/dist/app/panels/builtin-navigation-decorations.d.ts.map +1 -1
- package/dist/app/panels/builtin-navigation-decorations.js +2 -2
- package/dist/app/panels/builtin-panels.d.ts.map +1 -1
- package/dist/app/panels/builtin-panels.js +2 -7
- package/dist/app/panels/controls/controls-plugin.js +3 -3
- package/dist/app/panels/controls/non-editable-input-types.d.ts.map +1 -1
- package/dist/app/panels/controls/non-editable-input-types.js +1 -5
- package/dist/app/panels/controls/prism-controls-panel.component.d.ts.map +1 -1
- package/dist/app/panels/controls/prism-controls-panel.component.js +5 -95
- package/dist/app/panels/events/events-plugin.js +3 -3
- package/dist/app/panels/events/prism-events-panel.component.d.ts.map +1 -1
- package/dist/app/panels/events/prism-events-panel.component.js +5 -23
- package/dist/app/panels/events/prism-json-node.component.d.ts.map +1 -1
- package/dist/app/panels/events/prism-json-node.component.js +4 -86
- package/dist/app/panels/events/prism-json-node.utils.d.ts.map +1 -1
- package/dist/app/panels/panel-host/panel-badge.d.ts.map +1 -1
- package/dist/app/panels/panel-host/panel-badge.js +2 -4
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +1 -1
- 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 +12 -67
- package/dist/app/provide-prism.d.ts +1 -1
- package/dist/app/provide-prism.d.ts.map +1 -1
- package/dist/app/provide-prism.js +7 -11
- package/dist/app/renderer/known-inputs.d.ts.map +1 -1
- package/dist/app/renderer/overlay-resolver.d.ts.map +1 -1
- package/dist/app/renderer/overlay-resolver.js +1 -1
- package/dist/app/renderer/prism-renderer.component.d.ts +27 -2
- package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
- package/dist/app/renderer/prism-renderer.component.js +94 -76
- package/dist/app/renderer/projectable-content.d.ts.map +1 -1
- package/dist/app/renderer/projectable-content.js +1 -3
- package/dist/app/renderer/snippet-generator.d.ts +1 -1
- package/dist/app/renderer/snippet-generator.d.ts.map +1 -1
- package/dist/app/renderer/snippet-generator.js +7 -22
- package/dist/app/services/navigation-item.types.d.ts +1 -1
- package/dist/app/services/navigation-item.types.d.ts.map +1 -1
- package/dist/app/services/prism-canvas.service.d.ts +22 -0
- package/dist/app/services/prism-canvas.service.d.ts.map +1 -1
- package/dist/app/services/prism-canvas.service.js +49 -2
- package/dist/app/services/prism-capture.service.d.ts.map +1 -1
- package/dist/app/services/prism-capture.service.js +2 -6
- package/dist/app/services/prism-event-log.service.d.ts.map +1 -1
- package/dist/app/services/prism-event-log.service.js +1 -4
- package/dist/app/services/prism-layout.service.d.ts.map +1 -1
- package/dist/app/services/prism-layout.service.js +5 -4
- 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-manifest.service.js +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-navigation.service.js +5 -13
- package/dist/app/services/prism-panel.service.d.ts.map +1 -1
- package/dist/app/services/prism-panel.service.js +2 -5
- package/dist/app/services/prism-persistence.service.d.ts.map +1 -1
- package/dist/app/services/prism-persistence.service.js +8 -10
- package/dist/app/services/prism-plugin.service.d.ts.map +1 -1
- package/dist/app/services/prism-renderer.service.d.ts.map +1 -1
- package/dist/app/services/prism-renderer.service.js +5 -9
- package/dist/app/services/prism-search.service.d.ts.map +1 -1
- package/dist/app/services/prism-search.service.js +1 -2
- package/dist/app/services/prism-theme.service.d.ts.map +1 -1
- package/dist/app/services/prism-theme.service.js +6 -4
- package/dist/app/services/prism-url-state.service.d.ts.map +1 -1
- package/dist/app/services/prism-url-state.service.js +3 -9
- package/dist/app/services/prism-variant-bg.service.d.ts.map +1 -1
- package/dist/app/services/prism-variant-bg.service.js +3 -5
- package/dist/app/shared/prism-metric-badge.component.d.ts.map +1 -1
- package/dist/app/shared/prism-metric-badge.component.js +4 -17
- package/dist/app/shell/prism-shell.component.d.ts.map +1 -1
- package/dist/app/shell/prism-shell.component.js +20 -122
- package/dist/app/sidebar/navigation-decorations.d.ts.map +1 -1
- package/dist/app/sidebar/navigation-decorations.js +1 -1
- package/dist/app/sidebar/prism-sidebar.component.d.ts +1 -1
- package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -1
- package/dist/app/sidebar/prism-sidebar.component.js +19 -154
- package/dist/app/theme/prism-default-theme.d.ts.map +1 -1
- package/dist/app/theme/prism-default-theme.js +5 -5
- package/dist/app/tokens/prism-tokens.d.ts.map +1 -1
- package/dist/app/tokens/prism-tokens.js +1 -1
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts.map +1 -1
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.js +4 -49
- package/dist/app/variant-ribbon/spectrum.d.ts.map +1 -1
- package/dist/app/view-tab-bar/next-view-id.d.ts.map +1 -1
- package/dist/app/view-tab-bar/next-view-id.js +1 -3
- package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts.map +1 -1
- package/dist/app/view-tab-bar/prism-view-panel-host.component.js +5 -17
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts.map +1 -1
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +4 -27
- package/dist/builder/a11y/a11y-report-reader.d.ts +1 -1
- package/dist/builder/a11y/a11y-report-reader.d.ts.map +1 -1
- package/dist/builder/a11y/a11y-report-reader.js +7 -7
- package/dist/builder/build/index.d.ts.map +1 -1
- package/dist/builder/build/index.js +5 -9
- package/dist/builder/build/schema.d.ts.map +1 -1
- package/dist/builder/config-loader/config-loader.d.ts.map +1 -1
- package/dist/builder/config-loader/config-loader.js +4 -5
- package/dist/builder/manifest/host-parser.d.ts.map +1 -1
- package/dist/builder/manifest/host-parser.js +1 -1
- package/dist/builder/manifest/runtime-manifest.generator.d.ts +1 -1
- package/dist/builder/manifest/runtime-manifest.generator.d.ts.map +1 -1
- package/dist/builder/manifest/runtime-manifest.generator.js +9 -34
- package/dist/builder/plugin-runner/plugin-runner.d.ts.map +1 -1
- package/dist/builder/plugin-runner/plugin-runner.js +1 -3
- package/dist/builder/scanner/ast-utils.d.ts.map +1 -1
- package/dist/builder/scanner/ast-utils.js +2 -8
- package/dist/builder/scanner/component.scanner.d.ts.map +1 -1
- package/dist/builder/scanner/component.scanner.js +15 -22
- package/dist/builder/scanner/entry-point-discovery.d.ts.map +1 -1
- package/dist/builder/scanner/entry-point-discovery.js +3 -5
- package/dist/builder/scanner/entry-point.scanner.d.ts.map +1 -1
- package/dist/builder/scanner/entry-point.scanner.js +1 -3
- package/dist/builder/scanner/index.d.ts +1 -1
- package/dist/builder/scanner/index.d.ts.map +1 -1
- package/dist/builder/scanner/input.extractor.d.ts.map +1 -1
- package/dist/builder/scanner/input.extractor.js +11 -28
- package/dist/builder/scanner/manifest.generator.d.ts.map +1 -1
- package/dist/builder/scanner/manifest.generator.js +2 -4
- package/dist/builder/scanner/scanner.d.ts.map +1 -1
- package/dist/builder/scanner/scanner.js +4 -4
- package/dist/builder/serve/index.d.ts.map +1 -1
- package/dist/builder/serve/index.js +8 -10
- package/dist/builder/serve/schema.d.ts.map +1 -1
- package/dist/builder/shared/index.d.ts +1 -1
- package/dist/builder/shared/index.d.ts.map +1 -1
- package/dist/builder/shared/index.js +1 -1
- package/dist/builder/shared/prism-pipeline.d.ts.map +1 -1
- package/dist/builder/shared/prism-pipeline.js +18 -25
- package/dist/builder/shared/resolve-cache-dir.d.ts.map +1 -1
- package/dist/builder/shared/resolve-cache-dir.js +1 -1
- package/dist/builder/watcher/index.d.ts +1 -1
- package/dist/builder/watcher/index.d.ts.map +1 -1
- package/dist/builder/watcher/prism-watcher.d.ts.map +1 -1
- package/dist/builder/watcher/prism-watcher.js +12 -10
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/decorator/index.d.ts +1 -1
- package/dist/decorator/index.d.ts.map +1 -1
- package/dist/decorator/showcase.decorator.d.ts.map +1 -1
- package/dist/decorator/showcase.types.d.ts.map +1 -1
- package/dist/plugin/index.d.ts +4 -4
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +2 -2
- package/dist/plugin/page-helpers.d.ts +1 -1
- package/dist/plugin/page-helpers.d.ts.map +1 -1
- package/dist/plugin/page-helpers.js +2 -2
- package/dist/plugin/page.types.d.ts.map +1 -1
- package/dist/plugin/plugin.types.d.ts +1 -1
- package/dist/plugin/plugin.types.d.ts.map +1 -1
- package/dist/schematics/migrations/v21-13-manifest-cache/index.d.ts.map +1 -1
- package/dist/schematics/migrations/v21-13-manifest-cache/index.js +4 -10
- package/dist/schematics/migrations/v22-0-cache-dir-rename/index.d.ts.map +1 -1
- package/dist/schematics/migrations/v22-0-cache-dir-rename/index.js +4 -8
- package/dist/schematics/ng-add/index.d.ts.map +1 -1
- package/dist/schematics/ng-add/index.js +122 -56
- package/dist/schematics/ng-add/schema.d.ts.map +1 -1
- package/dist/schematics/utils/config-ast.d.ts.map +1 -1
- package/dist/schematics/utils/config-ast.js +8 -15
- package/dist/schematics/utils/tsconfig-paths.d.ts.map +1 -1
- package/dist/schematics/utils/tsconfig-paths.js +1 -1
- package/dist/shared/canvas-bg.type.d.ts.map +1 -1
- package/dist/shared/canvas-bg.type.js +1 -8
- package/dist/shared/canvas-layout.type.d.ts.map +1 -1
- package/dist/shared/canvas-layout.type.js +1 -4
- package/dist/shared/variant-bg.d.ts.map +1 -1
- package/dist/shared/viewport.type.d.ts +47 -0
- package/dist/shared/viewport.type.d.ts.map +1 -0
- package/dist/shared/viewport.type.js +48 -0
- package/dist/transformer/cli.js +0 -0
- package/dist/transformer/index.d.ts +2 -2
- package/dist/transformer/index.d.ts.map +1 -1
- package/dist/transformer/index.js +2 -2
- package/dist/transformer/showcase-strip.transformer.d.ts.map +1 -1
- package/dist/transformer/showcase-strip.transformer.js +6 -15
- package/dist/transformer/strip-directory.d.ts.map +1 -1
- package/dist/transformer/strip-directory.js +2 -4
- package/package.json +4 -1
- package/schematics/collection.json +7 -7
- package/schematics/migrations.json +12 -12
- package/schematics/ng-add/schema.json +22 -22
- package/src/builder/build/schema.json +36 -36
- package/src/builder/serve/schema.json +37 -37
|
@@ -1,38 +1,72 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, computed, DestroyRef, effect, ElementRef, inject, Injector, signal, untracked, viewChild, ViewContainerRef, } from '@angular/core';
|
|
2
1
|
import { NgComponentOutlet } from '@angular/common';
|
|
3
|
-
import {
|
|
2
|
+
import { ChangeDetectionStrategy, Component, computed, DestroyRef, effect, ElementRef, inject, Injector, signal, untracked, viewChild, ViewContainerRef } from '@angular/core';
|
|
3
|
+
import { VIEWPORT_MAX, VIEWPORT_MIN } from '../../shared/viewport.type.js';
|
|
4
|
+
import { CANVAS_BG_STYLES } from '../canvas/canvas-bg.styles.js';
|
|
5
|
+
import { PrismCanvasBgPillComponent } from '../canvas/prism-canvas-bg-pill.component.js';
|
|
6
|
+
import { PrismCanvasRulersComponent } from '../canvas/prism-canvas-rulers.component.js';
|
|
7
|
+
import { snapViewportWidth } from '../canvas/viewport-snap.js';
|
|
8
|
+
import { PrismResizerDirective } from '../directives/prism-resizer.directive.js';
|
|
4
9
|
import { BUILTIN_PANELS } from '../panels/builtin-panels.js';
|
|
5
|
-
import {
|
|
10
|
+
import { PrismCanvasService } from '../services/prism-canvas.service.js';
|
|
11
|
+
import { PrismCaptureService } from '../services/prism-capture.service.js';
|
|
6
12
|
import { PrismEventLogService } from '../services/prism-event-log.service.js';
|
|
13
|
+
import { PrismManifestService } from '../services/prism-manifest.service.js';
|
|
7
14
|
import { PrismNavigationService } from '../services/prism-navigation.service.js';
|
|
8
15
|
import { PrismPanelService } from '../services/prism-panel.service.js';
|
|
9
16
|
import { PrismPluginService } from '../services/prism-plugin.service.js';
|
|
10
17
|
import { PrismRendererService } from '../services/prism-renderer.service.js';
|
|
11
|
-
import { PrismCanvasService } from '../services/prism-canvas.service.js';
|
|
12
|
-
import { PrismCaptureService } from '../services/prism-capture.service.js';
|
|
13
18
|
import { PrismVariantBgService } from '../services/prism-variant-bg.service.js';
|
|
14
|
-
import {
|
|
15
|
-
import { PrismCanvasBgPillComponent } from '../canvas/prism-canvas-bg-pill.component.js';
|
|
16
|
-
import { CANVAS_BG_STYLES } from '../canvas/canvas-bg.styles.js';
|
|
19
|
+
import { PRISM_RENDERER_HOOKS } from '../tokens/prism-tokens.js';
|
|
17
20
|
import { buildKnownInputs } from './known-inputs.js';
|
|
18
21
|
import { resolveOverlay } from './overlay-resolver.js';
|
|
19
22
|
import { parseContentToNodes } from './projectable-content.js';
|
|
20
23
|
import * as i0 from "@angular/core";
|
|
21
24
|
const _c0 = ["outlet"];
|
|
25
|
+
function PrismRendererComponent_Conditional_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
26
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
27
|
+
i0.ɵɵelementStart(0, "span", 4);
|
|
28
|
+
i0.ɵɵelement(1, "span", 5);
|
|
29
|
+
i0.ɵɵelementStart(2, "span", 6);
|
|
30
|
+
i0.ɵɵtext(3);
|
|
31
|
+
i0.ɵɵelementEnd();
|
|
32
|
+
i0.ɵɵelement(4, "span", 5);
|
|
33
|
+
i0.ɵɵelementEnd();
|
|
34
|
+
i0.ɵɵelementStart(5, "div", 7);
|
|
35
|
+
i0.ɵɵlistener("valueChange", function PrismRendererComponent_Conditional_1_Conditional_3_Template_div_valueChange_5_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onViewportResize($event)); });
|
|
36
|
+
i0.ɵɵelement(6, "span", 8);
|
|
37
|
+
i0.ɵɵelementEnd();
|
|
38
|
+
i0.ɵɵelementStart(7, "div", 9);
|
|
39
|
+
i0.ɵɵlistener("valueChange", function PrismRendererComponent_Conditional_1_Conditional_3_Template_div_valueChange_7_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onViewportResize($event)); });
|
|
40
|
+
i0.ɵɵelement(8, "span", 8);
|
|
41
|
+
i0.ɵɵelementEnd();
|
|
42
|
+
} if (rf & 2) {
|
|
43
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
44
|
+
i0.ɵɵadvance(3);
|
|
45
|
+
i0.ɵɵtextInterpolate1("", ctx_r1.viewportWidth(), " px");
|
|
46
|
+
i0.ɵɵadvance(2);
|
|
47
|
+
i0.ɵɵproperty("scale", -2 / (ctx_r1.canvasService.zoom() || 1))("min", ctx_r1.VIEWPORT_MIN)("max", ctx_r1.VIEWPORT_MAX)("value", ctx_r1.viewportWidth());
|
|
48
|
+
i0.ɵɵattribute("aria-valuenow", ctx_r1.viewportWidth())("aria-valuemin", ctx_r1.VIEWPORT_MIN)("aria-valuemax", ctx_r1.VIEWPORT_MAX);
|
|
49
|
+
i0.ɵɵadvance(2);
|
|
50
|
+
i0.ɵɵproperty("scale", 2 / (ctx_r1.canvasService.zoom() || 1))("min", ctx_r1.VIEWPORT_MIN)("max", ctx_r1.VIEWPORT_MAX)("value", ctx_r1.viewportWidth());
|
|
51
|
+
i0.ɵɵattribute("aria-valuenow", ctx_r1.viewportWidth())("aria-valuemin", ctx_r1.VIEWPORT_MIN)("aria-valuemax", ctx_r1.VIEWPORT_MAX);
|
|
52
|
+
} }
|
|
22
53
|
function PrismRendererComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
23
54
|
i0.ɵɵelement(0, "div", 3)(1, "prism-canvas-rulers")(2, "prism-canvas-bg-pill");
|
|
55
|
+
i0.ɵɵconditionalCreate(3, PrismRendererComponent_Conditional_1_Conditional_3_Template, 9, 15);
|
|
24
56
|
} if (rf & 2) {
|
|
25
|
-
const
|
|
26
|
-
i0.ɵɵclassProp("visible",
|
|
57
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
58
|
+
i0.ɵɵclassProp("visible", ctx_r1.canvasService.guides());
|
|
59
|
+
i0.ɵɵadvance(3);
|
|
60
|
+
i0.ɵɵconditional(ctx_r1.viewportWidth() !== null ? 3 : -1);
|
|
27
61
|
} }
|
|
28
62
|
function PrismRendererComponent_Conditional_5_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
29
63
|
i0.ɵɵelementContainer(0);
|
|
30
64
|
} }
|
|
31
65
|
function PrismRendererComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
-
i0.ɵɵtemplate(0, PrismRendererComponent_Conditional_5_ng_container_0_Template, 1, 0, "ng-container",
|
|
66
|
+
i0.ɵɵtemplate(0, PrismRendererComponent_Conditional_5_ng_container_0_Template, 1, 0, "ng-container", 10);
|
|
33
67
|
} if (rf & 2) {
|
|
34
|
-
const
|
|
35
|
-
i0.ɵɵproperty("ngComponentOutlet",
|
|
68
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
69
|
+
i0.ɵɵproperty("ngComponentOutlet", ctx_r1.activeOverlay())("ngComponentOutletInputs", ctx_r1.overlayInputs)("ngComponentOutletInjector", ctx_r1.overlayInjector());
|
|
36
70
|
} }
|
|
37
71
|
export class PrismRendererComponent {
|
|
38
72
|
navigationService = inject(PrismNavigationService);
|
|
@@ -40,13 +74,41 @@ export class PrismRendererComponent {
|
|
|
40
74
|
canvasService = inject(PrismCanvasService);
|
|
41
75
|
capture = inject(PrismCaptureService);
|
|
42
76
|
variantBg = inject(PrismVariantBgService);
|
|
77
|
+
/**
|
|
78
|
+
* The width the canvas is actually constrained to, `null` for unconstrained.
|
|
79
|
+
*
|
|
80
|
+
* Every viewport binding reads this rather than the service directly, so
|
|
81
|
+
* capture mode cannot be constrained by any route. Previously only the grips
|
|
82
|
+
* and the dimension line sat behind the capture guard while the attributes
|
|
83
|
+
* that change `.demo-wrap`'s box did not — safe in practice, because capture
|
|
84
|
+
* never restores a persisted width and every setter is suppressed, but safe
|
|
85
|
+
* by reachability argument rather than by construction. A future caller of
|
|
86
|
+
* `setViewportWidth` during a capture run would have recorded every
|
|
87
|
+
* visual-regression baseline at the constrained width with no visible chrome
|
|
88
|
+
* to reveal it. One computed makes the guarantee structural.
|
|
89
|
+
*/
|
|
90
|
+
viewportWidth = computed(() => (this.capture.active() ? null : this.canvasService.viewportWidth()), /* @ts-ignore */
|
|
91
|
+
...(ngDevMode ? [{ debugName: "viewportWidth" }] : /* istanbul ignore next */ []));
|
|
92
|
+
VIEWPORT_MIN = VIEWPORT_MIN;
|
|
93
|
+
VIEWPORT_MAX = VIEWPORT_MAX;
|
|
94
|
+
/**
|
|
95
|
+
* A drag on either grip, rested on a preset if it came close enough.
|
|
96
|
+
*
|
|
97
|
+
* The snapping lives here and not in `PrismResizerDirective` on purpose: the
|
|
98
|
+
* directive also drives the sidebar and the panel, where there is nothing to
|
|
99
|
+
* snap to, and a generic control that knows about viewport presets would be
|
|
100
|
+
* the wrong shape.
|
|
101
|
+
*/
|
|
102
|
+
onViewportResize(width) {
|
|
103
|
+
this.canvasService.setViewportWidth(snapViewportWidth(width));
|
|
104
|
+
}
|
|
43
105
|
eventLogService = inject(PrismEventLogService);
|
|
44
106
|
manifestService = inject(PrismManifestService);
|
|
45
107
|
injector = inject(Injector);
|
|
46
108
|
destroyRef = inject(DestroyRef);
|
|
47
109
|
host = inject((ElementRef));
|
|
48
110
|
rendererHooks = inject(PRISM_RENDERER_HOOKS, {
|
|
49
|
-
optional: true
|
|
111
|
+
optional: true
|
|
50
112
|
});
|
|
51
113
|
panelService = inject(PrismPanelService);
|
|
52
114
|
pluginService = inject(PrismPluginService);
|
|
@@ -75,7 +137,7 @@ export class PrismRendererComponent {
|
|
|
75
137
|
if (!comp)
|
|
76
138
|
return 'fit';
|
|
77
139
|
const variant = comp.meta.showcaseConfig.variants?.[this.rendererService.activeVariantIndex()];
|
|
78
|
-
return
|
|
140
|
+
return variant?.canvasLayout ?? comp.meta.showcaseConfig.canvasLayout ?? 'fit';
|
|
79
141
|
}, /* @ts-ignore */
|
|
80
142
|
...(ngDevMode ? [{ debugName: "canvasLayout" }] : /* istanbul ignore next */ []));
|
|
81
143
|
overlayInputs = { rendererService: this.rendererService };
|
|
@@ -127,13 +189,10 @@ export class PrismRendererComponent {
|
|
|
127
189
|
});
|
|
128
190
|
effect(() => {
|
|
129
191
|
const panelId = this.panelService.activePanelId();
|
|
130
|
-
const allPanels = [
|
|
131
|
-
...BUILTIN_PANELS,
|
|
132
|
-
...this.pluginService.panels(),
|
|
133
|
-
];
|
|
192
|
+
const allPanels = [...BUILTIN_PANELS, ...this.pluginService.panels()];
|
|
134
193
|
const resolution = resolveOverlay(allPanels, panelId, {
|
|
135
194
|
captureActive: this.capture.active(),
|
|
136
|
-
cache: this.overlayCache
|
|
195
|
+
cache: this.overlayCache
|
|
137
196
|
});
|
|
138
197
|
if (resolution.kind === 'eager') {
|
|
139
198
|
this.activeOverlay.set(resolution.component);
|
|
@@ -156,17 +215,15 @@ export class PrismRendererComponent {
|
|
|
156
215
|
this.cleanup();
|
|
157
216
|
const renderPageTitle = comp.meta.showcaseConfig.renderPage;
|
|
158
217
|
if (renderPageTitle) {
|
|
159
|
-
const page = this.manifestService
|
|
160
|
-
.manifest()
|
|
161
|
-
.pages?.find((p) => p.type === 'component' && p.title === renderPageTitle);
|
|
218
|
+
const page = this.manifestService.manifest().pages?.find((p) => p.type === 'component' && p.title === renderPageTitle);
|
|
162
219
|
if (page) {
|
|
163
220
|
this.isRenderPage = true;
|
|
164
221
|
const injector = Injector.create({
|
|
165
222
|
providers: comp.meta.showcaseConfig.providers ?? [],
|
|
166
|
-
parent: this.injector
|
|
223
|
+
parent: this.injector
|
|
167
224
|
});
|
|
168
225
|
this.componentRef = this.outlet().createComponent(page.component, {
|
|
169
|
-
injector
|
|
226
|
+
injector
|
|
170
227
|
});
|
|
171
228
|
this.componentRef.changeDetectorRef.detectChanges();
|
|
172
229
|
this.rendererService.renderedElement.set(this.componentRef.location.nativeElement);
|
|
@@ -180,19 +237,18 @@ export class PrismRendererComponent {
|
|
|
180
237
|
performance.mark('prism:render:start', detail);
|
|
181
238
|
const injector = Injector.create({
|
|
182
239
|
providers: comp.meta.showcaseConfig.providers ?? [],
|
|
183
|
-
parent: this.injector
|
|
240
|
+
parent: this.injector
|
|
184
241
|
});
|
|
185
242
|
const content = this.rendererService.activeContent();
|
|
186
243
|
this.lastProjectedContent = content;
|
|
187
244
|
const projectableNodes = content ? parseContentToNodes(content) : undefined;
|
|
188
245
|
this.componentRef = this.outlet().createComponent(comp.type, {
|
|
189
246
|
injector,
|
|
190
|
-
projectableNodes
|
|
247
|
+
projectableNodes
|
|
191
248
|
});
|
|
192
249
|
for (const output of comp.meta.outputs) {
|
|
193
250
|
const emitter = this.componentRef.instance[output.name];
|
|
194
|
-
if (emitter &&
|
|
195
|
-
typeof emitter.subscribe === 'function') {
|
|
251
|
+
if (emitter && typeof emitter.subscribe === 'function') {
|
|
196
252
|
const sub = emitter.subscribe((v) => this.eventLogService.log(output.name, v));
|
|
197
253
|
this.outputSubscriptions.push(sub);
|
|
198
254
|
}
|
|
@@ -230,67 +286,29 @@ export class PrismRendererComponent {
|
|
|
230
286
|
i0.ɵɵviewQuerySignal(ctx.outlet, _c0, 5, ViewContainerRef);
|
|
231
287
|
} if (rf & 2) {
|
|
232
288
|
i0.ɵɵqueryAdvance();
|
|
233
|
-
} }, decls: 6, vars:
|
|
289
|
+
} }, decls: 6, vars: 14, consts: [["outlet", ""], [1, "prism-canvas-stage"], [1, "demo-wrap"], [1, "stage-crosshair"], [1, "vp-dim"], [1, "vp-dim__rule"], [1, "vp-dim__v"], ["prismResizer", "", "axis", "x", "aria-label", "Viewport width, left edge", 1, "vp-grip", 3, "valueChange", "scale", "min", "max", "value"], [1, "vp-grip__bar"], ["prismResizer", "", "axis", "x", "aria-label", "Viewport width, right edge", 1, "vp-grip", "vp-grip--end", 3, "valueChange", "scale", "min", "max", "value"], [4, "ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector"]], template: function PrismRendererComponent_Template(rf, ctx) { if (rf & 1) {
|
|
234
290
|
i0.ɵɵelementStart(0, "div", 1);
|
|
235
|
-
i0.ɵɵconditionalCreate(1, PrismRendererComponent_Conditional_1_Template,
|
|
291
|
+
i0.ɵɵconditionalCreate(1, PrismRendererComponent_Conditional_1_Template, 4, 3);
|
|
236
292
|
i0.ɵɵelementStart(2, "div", 2);
|
|
237
293
|
i0.ɵɵelementContainer(3, null, 0);
|
|
238
294
|
i0.ɵɵconditionalCreate(5, PrismRendererComponent_Conditional_5_Template, 1, 3, "ng-container");
|
|
239
295
|
i0.ɵɵelementEnd()();
|
|
240
296
|
} if (rf & 2) {
|
|
241
|
-
i0.ɵɵ
|
|
297
|
+
i0.ɵɵstyleProp("--%NS%prism-vp-w", ctx.viewportWidth(), "px")("--%NS%zoom", ctx.canvasService.zoom());
|
|
298
|
+
i0.ɵɵattribute("data-bg", ctx.variantBg.effective())("data-rulers", ctx.canvasService.rulers() ? "" : null)("data-viewport", ctx.viewportWidth() !== null ? "" : null);
|
|
242
299
|
i0.ɵɵadvance();
|
|
243
300
|
i0.ɵɵconditional(!ctx.capture.active() ? 1 : -1);
|
|
244
301
|
i0.ɵɵadvance();
|
|
245
302
|
i0.ɵɵstyleProp("--%NS%zoom", ctx.canvasService.zoom());
|
|
246
|
-
i0.ɵɵattribute("data-prism-rendered", ctx.renderedKey())("data-canvas-layout", ctx.canvasLayout());
|
|
303
|
+
i0.ɵɵattribute("data-prism-rendered", ctx.renderedKey())("data-canvas-layout", ctx.canvasLayout())("data-viewport", ctx.viewportWidth() !== null ? "" : null);
|
|
247
304
|
i0.ɵɵadvance(3);
|
|
248
305
|
i0.ɵɵconditional(ctx.activeOverlay() ? 5 : -1);
|
|
249
|
-
} }, dependencies: [PrismCanvasRulersComponent,
|
|
250
|
-
PrismCanvasBgPillComponent,
|
|
251
|
-
NgComponentOutlet], styles: ["[_nghost-%COMP%] {\n display: block;\n min-height: 0;\n flex: 1;\n }\n\n .prism-canvas-stage[_ngcontent-%COMP%] {\n position: relative;\n overflow: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 32px;\n min-height: 200px;\n height: 100%;\n background-color: var(--%NS%prism-stage);\n\n \n\n\n\n\n\n\n\n\n\n\n outline: 1px solid var(--%NS%prism-stage-edge);\n outline-offset: -1px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1),\n 0 8px 24px -12px rgba(0, 0, 0, 0.18);\n transition: filter var(--%NS%dur-base);\n --%NS%prism-canvas-overlay-top: 12px;\n --%NS%prism-canvas-overlay-inline: 20px;\n }\n .prism-canvas-stage[data-rulers][_ngcontent-%COMP%] {\n --%NS%prism-canvas-overlay-top: 28px;\n --%NS%prism-canvas-overlay-inline: 28px;\n }\n\n .stage-crosshair[_ngcontent-%COMP%] {\n position: absolute;\n inset: 0;\n pointer-events: none;\n opacity: 0;\n transition: opacity var(--%NS%dur-base);\n }\n .stage-crosshair.visible[_ngcontent-%COMP%] {\n opacity: 1;\n }\n .stage-crosshair[_ngcontent-%COMP%]::before, \n .stage-crosshair[_ngcontent-%COMP%]::after {\n content: '';\n position: absolute;\n background: color-mix(in srgb, var(--%NS%prism-primary) 20%, transparent);\n }\n .stage-crosshair[_ngcontent-%COMP%]::before {\n left: 0;\n right: 0;\n top: 50%;\n height: 1px;\n }\n .stage-crosshair[_ngcontent-%COMP%]::after {\n top: 0;\n bottom: 0;\n left: 50%;\n width: 1px;\n }\n\n .demo-wrap[_ngcontent-%COMP%] {\n position: relative;\n display: inline-block;\n transform: scale(var(--%NS%zoom, 1));\n transition: transform 0.18s;\n }\n .demo-wrap[data-canvas-layout='stretch'][_ngcontent-%COMP%] {\n display: block;\n width: 100%;\n max-width: 800px;\n }", "[data-bg=\"dots\"][_ngcontent-%COMP%] {\n background-image: radial-gradient(circle, var(--%NS%prism-dot) 1px, transparent 1px);\n background-size: 20px 20px;\n }\n\n [data-bg=\"plain\"][_ngcontent-%COMP%] {\n background-image: none;\n }\n\n \n\n\n\n\n [data-bg=\"light\"][_ngcontent-%COMP%] {\n background-color: var(--%NS%prism-void-light, #f7f5fc);\n background-image: none;\n }\n [data-bg=\"dark\"][_ngcontent-%COMP%] {\n background-color: var(--%NS%prism-void-dark, #07050f);\n background-image: none;\n }\n\n \n\n\n\n\n\n [data-bg=\"checker\"][_ngcontent-%COMP%], \n [data-bg=\"transparent\"][_ngcontent-%COMP%] {\n background-image:\n linear-gradient(45deg, var(--%NS%prism-border) 25%, transparent 25%),\n linear-gradient(-45deg, var(--%NS%prism-border) 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, var(--%NS%prism-border) 75%),\n linear-gradient(-45deg, transparent 75%, var(--%NS%prism-border) 75%);\n background-size: 16px 16px;\n background-position: 0 0, 0 8px, 8px -8px, -8px 0;\n }"] });
|
|
306
|
+
} }, dependencies: [PrismCanvasRulersComponent, PrismCanvasBgPillComponent, NgComponentOutlet, PrismResizerDirective], styles: ["[_nghost-%COMP%] {\n display: block;\n flex: 1;\n min-height: 0;\n}\n\n.prism-canvas-stage[_ngcontent-%COMP%] {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n min-height: 200px;\n padding: 32px;\n overflow: auto;\n\n \n\n\n\n\n\n\n\n\n\n\n outline: 1px solid var(--%NS%prism-stage-edge);\n outline-offset: -1px;\n background-color: var(--%NS%prism-stage);\n box-shadow:\n 0 1px 3px rgb(0 0 0 / 10%),\n 0 8px 24px -12px rgb(0 0 0 / 18%);\n transition: filter var(--%NS%dur-base);\n\n --%NS%prism-canvas-overlay-top: 12px;\n --%NS%prism-canvas-overlay-inline: 20px;\n}\n\n.prism-canvas-stage[data-rulers][_ngcontent-%COMP%] {\n --%NS%prism-canvas-overlay-top: 28px;\n --%NS%prism-canvas-overlay-inline: 28px;\n}\n\n.stage-crosshair[_ngcontent-%COMP%] {\n position: absolute;\n inset: 0;\n pointer-events: none;\n opacity: 0;\n transition: opacity var(--%NS%dur-base);\n}\n\n.stage-crosshair.visible[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n.stage-crosshair[_ngcontent-%COMP%]::before, \n.stage-crosshair[_ngcontent-%COMP%]::after {\n position: absolute;\n content: '';\n background: color-mix(in srgb, var(--%NS%prism-primary) 20%, transparent);\n}\n\n.stage-crosshair[_ngcontent-%COMP%]::before {\n top: 50%;\n right: 0;\n left: 0;\n height: 1px;\n}\n\n.stage-crosshair[_ngcontent-%COMP%]::after {\n top: 0;\n bottom: 0;\n left: 50%;\n width: 1px;\n}\n\n.demo-wrap[_ngcontent-%COMP%] {\n position: relative;\n display: inline-block;\n transform: scale(var(--%NS%zoom, 1));\n transition: transform 0.18s;\n}\n\n.demo-wrap[data-canvas-layout='stretch'][_ngcontent-%COMP%] {\n display: block;\n width: 100%;\n max-width: 800px;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.demo-wrap[data-viewport][_ngcontent-%COMP%] {\n display: grid;\n\n \n\n\n\n\n\n\n\n\n flex: none;\n\n \n\n\n\n\n\n\n justify-items: safe center;\n width: var(--%NS%prism-vp-w);\n max-width: none;\n container-type: inline-size;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.vp-grip[_ngcontent-%COMP%] {\n position: absolute;\n top: var(--%NS%prism-canvas-overlay-top, 12px);\n bottom: 0;\n left: calc(50% - var(--%NS%prism-vp-w) * var(--%NS%zoom, 1) / 2 - 4.5px);\n z-index: 4;\n display: grid;\n width: 9px;\n\n \n\n\n\n\n\n pointer-events: none;\n background: transparent;\n}\n\n.vp-grip--end[_ngcontent-%COMP%] {\n right: calc(50% - var(--%NS%prism-vp-w) * var(--%NS%zoom, 1) / 2 - 4.5px);\n left: auto;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n.vp-grip__bar[_ngcontent-%COMP%] {\n z-index: 1;\n box-sizing: content-box;\n grid-area: 1 / 1;\n place-self: center center;\n width: 3px;\n height: 34px;\n padding: 5px 3px;\n pointer-events: auto;\n background: color-mix(in srgb, var(--%NS%prism-measure) 80%, transparent);\n background-clip: content-box;\n border-radius: 2px;\n transition: background var(--%NS%dur-fast);\n}\n\n\n\n\n\n\n.vp-grip[_ngcontent-%COMP%]::after {\n grid-area: 1 / 1;\n place-self: stretch center;\n width: 1px;\n content: '';\n background: color-mix(in srgb, var(--%NS%prism-measure) 75%, transparent);\n transition: background var(--%NS%dur-fast);\n}\n\n.vp-grip[_ngcontent-%COMP%]:hover::after, \n.vp-grip.active[_ngcontent-%COMP%]::after, \n.vp-grip[_ngcontent-%COMP%]:focus-visible::after {\n background: color-mix(in srgb, var(--%NS%prism-measure) 55%, transparent);\n}\n\n.vp-grip[_ngcontent-%COMP%]:hover .vp-grip__bar[_ngcontent-%COMP%], \n.vp-grip.active[_ngcontent-%COMP%] .vp-grip__bar[_ngcontent-%COMP%], \n.vp-grip[_ngcontent-%COMP%]:focus-visible .vp-grip__bar[_ngcontent-%COMP%] {\n background: var(--%NS%prism-measure);\n background-clip: content-box;\n}\n\n\n\n\n.vp-grip[_ngcontent-%COMP%]:focus-visible {\n outline: none;\n}\n\n.vp-grip[_ngcontent-%COMP%]:focus-visible .vp-grip__bar[_ngcontent-%COMP%] {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 1px;\n}\n\n\n\n\n\n\n\n\n\n\n.vp-dim[_ngcontent-%COMP%] {\n position: absolute;\n top: var(--%NS%prism-canvas-overlay-top, 12px);\n left: 50%;\n z-index: 4;\n display: flex;\n gap: var(--%NS%sp-3);\n align-items: center;\n width: calc(var(--%NS%prism-vp-w) * var(--%NS%zoom, 1));\n pointer-events: none;\n transform: translateX(-50%);\n}\n\n\n\n\n.vp-dim__rule[_ngcontent-%COMP%] {\n position: relative;\n flex: 1;\n height: 1px;\n background: color-mix(in srgb, var(--%NS%prism-measure) 70%, transparent);\n}\n\n\n\n\n.vp-dim__rule[_ngcontent-%COMP%]::before {\n position: absolute;\n top: -3px;\n width: 1px;\n height: 7px;\n content: '';\n background: color-mix(in srgb, var(--%NS%prism-measure) 90%, transparent);\n}\n\n.vp-dim__rule[_ngcontent-%COMP%]:first-child::before {\n left: 0;\n}\n\n.vp-dim__rule[_ngcontent-%COMP%]:last-child::before {\n right: 0;\n}\n\n.vp-dim__v[_ngcontent-%COMP%] {\n flex: none;\n font-family: var(--%NS%font-mono);\n font-size: 9px;\n color: var(--%NS%prism-measure);\n white-space: nowrap;\n}", "[data-bg=\"dots\"][_ngcontent-%COMP%] {\n background-image: radial-gradient(circle, var(--%NS%prism-dot) 1px, transparent 1px);\n background-size: 20px 20px;\n }\n\n [data-bg=\"plain\"][_ngcontent-%COMP%] {\n background-image: none;\n }\n\n \n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n [data-bg=\"light\"][_ngcontent-%COMP%] {\n background-color: var(--%NS%prism-void-light, #f7f5fc);\n background-image: none;\n --%NS%prism-measure: #004d8a;\n }\n [data-bg=\"dark\"][_ngcontent-%COMP%] {\n background-color: var(--%NS%prism-void-dark, #07050f);\n background-image: none;\n --%NS%prism-measure: #41bcff;\n }\n\n \n\n\n\n\n\n [data-bg=\"checker\"][_ngcontent-%COMP%], \n [data-bg=\"transparent\"][_ngcontent-%COMP%] {\n background-image:\n linear-gradient(45deg, var(--%NS%prism-border) 25%, transparent 25%),\n linear-gradient(-45deg, var(--%NS%prism-border) 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, var(--%NS%prism-border) 75%),\n linear-gradient(-45deg, transparent 75%, var(--%NS%prism-border) 75%);\n background-size: 16px 16px;\n background-position: 0 0, 0 8px, 8px -8px, -8px 0;\n }"] });
|
|
252
307
|
}
|
|
253
308
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismRendererComponent, [{
|
|
254
309
|
type: Component,
|
|
255
|
-
args: [{ selector: 'prism-renderer', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
256
|
-
PrismCanvasRulersComponent,
|
|
257
|
-
PrismCanvasBgPillComponent,
|
|
258
|
-
NgComponentOutlet,
|
|
259
|
-
], template: `
|
|
260
|
-
<div
|
|
261
|
-
class="prism-canvas-stage"
|
|
262
|
-
[attr.data-bg]="variantBg.effective()"
|
|
263
|
-
[attr.data-rulers]="canvasService.rulers() ? '' : null"
|
|
264
|
-
>
|
|
265
|
-
@if (!capture.active()) {
|
|
266
|
-
<div
|
|
267
|
-
class="stage-crosshair"
|
|
268
|
-
[class.visible]="canvasService.guides()"
|
|
269
|
-
></div>
|
|
270
|
-
<prism-canvas-rulers />
|
|
271
|
-
<prism-canvas-bg-pill />
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
<div
|
|
275
|
-
class="demo-wrap"
|
|
276
|
-
[style.--zoom]="canvasService.zoom()"
|
|
277
|
-
[attr.data-prism-rendered]="renderedKey()"
|
|
278
|
-
[attr.data-canvas-layout]="canvasLayout()"
|
|
279
|
-
>
|
|
280
|
-
<ng-container #outlet />
|
|
281
|
-
@if (activeOverlay()) {
|
|
282
|
-
<ng-container
|
|
283
|
-
*ngComponentOutlet="
|
|
284
|
-
activeOverlay()!;
|
|
285
|
-
inputs: overlayInputs;
|
|
286
|
-
injector: overlayInjector()
|
|
287
|
-
"
|
|
288
|
-
/>
|
|
289
|
-
}
|
|
290
|
-
</div>
|
|
291
|
-
</div>
|
|
292
|
-
`, styles: ["\n :host {\n display: block;\n min-height: 0;\n flex: 1;\n }\n\n .prism-canvas-stage {\n position: relative;\n overflow: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 32px;\n min-height: 200px;\n height: 100%;\n background-color: var(--prism-stage);\n\n /* The edge is outline + shadow, never border and never extra padding.\n plugin-visual-regression screenshots .demo-wrap, which is centred in\n this element; a border would shrink the content box by 2px and move\n that centre, shifting all 15 baselines in test-workspace/vrt/baseline\n without a single component having changed. Capture mode resets this\n element's padding but not its border, and this repo has no VRT runner\n to catch the drift. outline and box-shadow do not participate in\n layout, so the box is provably unchanged. Keep it that way.\n They do still paint, and outline-offset is negative, so the line lands\n inside the box: CAPTURE_STYLES in prism-capture.service.ts sets both\n to none, which is only safe because neither is load-bearing here. */\n outline: 1px solid var(--prism-stage-edge);\n outline-offset: -1px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1),\n 0 8px 24px -12px rgba(0, 0, 0, 0.18);\n transition: filter var(--dur-base);\n --prism-canvas-overlay-top: 12px;\n --prism-canvas-overlay-inline: 20px;\n }\n .prism-canvas-stage[data-rulers] {\n --prism-canvas-overlay-top: 28px;\n --prism-canvas-overlay-inline: 28px;\n }\n\n .stage-crosshair {\n position: absolute;\n inset: 0;\n pointer-events: none;\n opacity: 0;\n transition: opacity var(--dur-base);\n }\n .stage-crosshair.visible {\n opacity: 1;\n }\n .stage-crosshair::before,\n .stage-crosshair::after {\n content: '';\n position: absolute;\n background: color-mix(in srgb, var(--prism-primary) 20%, transparent);\n }\n .stage-crosshair::before {\n left: 0;\n right: 0;\n top: 50%;\n height: 1px;\n }\n .stage-crosshair::after {\n top: 0;\n bottom: 0;\n left: 50%;\n width: 1px;\n }\n\n .demo-wrap {\n position: relative;\n display: inline-block;\n transform: scale(var(--zoom, 1));\n transition: transform 0.18s;\n }\n .demo-wrap[data-canvas-layout='stretch'] {\n display: block;\n width: 100%;\n max-width: 800px;\n }\n ", "\n [data-bg=\"dots\"] {\n background-image: radial-gradient(circle, var(--prism-dot) 1px, transparent 1px);\n background-size: 20px 20px;\n }\n\n [data-bg=\"plain\"] {\n background-image: none;\n }\n\n /* Flat, not dotted. \"light\" and \"dark\" name a surface a component was\n designed against \u2014 and they are the two backgrounds whose colour is\n absolute rather than a theme token, which is what makes them the values\n to declare for a screenshot baseline. \"dots\" already exists for anyone\n who wants the grid. */\n [data-bg=\"light\"] {\n background-color: var(--prism-void-light, #f7f5fc);\n background-image: none;\n }\n [data-bg=\"dark\"] {\n background-color: var(--prism-void-dark, #07050f);\n background-image: none;\n }\n\n /* \"transparent\" shares the checkerboard on purpose. The two say the same\n thing in the two media the canvas has: while browsing, the checkerboard\n is already the UI's word for \"no surface here\"; in a capture it becomes\n literal transparency. A stage that were really see-through in the app\n would just show the shell through the canvas, which means nothing. The\n split between the two lives entirely in CAPTURE_STYLES. */\n [data-bg=\"checker\"],\n [data-bg=\"transparent\"] {\n background-image:\n linear-gradient(45deg, var(--prism-border) 25%, transparent 25%),\n linear-gradient(-45deg, var(--prism-border) 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, var(--prism-border) 75%),\n linear-gradient(-45deg, transparent 75%, var(--prism-border) 75%);\n background-size: 16px 16px;\n background-position: 0 0, 0 8px, 8px -8px, -8px 0;\n }\n"] }]
|
|
310
|
+
args: [{ selector: 'prism-renderer', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismCanvasRulersComponent, PrismCanvasBgPillComponent, NgComponentOutlet, PrismResizerDirective], template: "<div\n class=\"prism-canvas-stage\"\n [attr.data-bg]=\"variantBg.effective()\"\n [attr.data-rulers]=\"canvasService.rulers() ? '' : null\"\n [attr.data-viewport]=\"viewportWidth() !== null ? '' : null\"\n [style.--prism-vp-w.px]=\"viewportWidth()\"\n [style.--zoom]=\"canvasService.zoom()\">\n @if (!capture.active()) {\n <div\n class=\"stage-crosshair\"\n [class.visible]=\"canvasService.guides()\"></div>\n <prism-canvas-rulers />\n <prism-canvas-bg-pill />\n @if (viewportWidth() !== null) {\n <!-- Grips and the dimension line are siblings of .demo-wrap, never\n children of it: .demo-wrap is what plugin-visual-regression\n screenshots, and anything inside it composites into every baseline.\n They sit inside the capture guard for the same reason the rulers and\n the pill do. -->\n <span class=\"vp-dim\">\n <span class=\"vp-dim__rule\"></span>\n <span class=\"vp-dim__v\">{{ viewportWidth() }} px</span>\n <span class=\"vp-dim__rule\"></span>\n </span>\n <div\n class=\"vp-grip\"\n prismResizer\n axis=\"x\"\n [scale]=\"-2 / (canvasService.zoom() || 1)\"\n [min]=\"VIEWPORT_MIN\"\n [max]=\"VIEWPORT_MAX\"\n [value]=\"viewportWidth()!\"\n (valueChange)=\"onViewportResize($event)\"\n aria-label=\"Viewport width, left edge\"\n [attr.aria-valuenow]=\"viewportWidth()\"\n [attr.aria-valuemin]=\"VIEWPORT_MIN\"\n [attr.aria-valuemax]=\"VIEWPORT_MAX\">\n <span class=\"vp-grip__bar\"></span>\n </div>\n <div\n class=\"vp-grip vp-grip--end\"\n prismResizer\n axis=\"x\"\n [scale]=\"2 / (canvasService.zoom() || 1)\"\n [min]=\"VIEWPORT_MIN\"\n [max]=\"VIEWPORT_MAX\"\n [value]=\"viewportWidth()!\"\n (valueChange)=\"onViewportResize($event)\"\n aria-label=\"Viewport width, right edge\"\n [attr.aria-valuenow]=\"viewportWidth()\"\n [attr.aria-valuemin]=\"VIEWPORT_MIN\"\n [attr.aria-valuemax]=\"VIEWPORT_MAX\">\n <span class=\"vp-grip__bar\"></span>\n </div>\n }\n }\n\n <div\n class=\"demo-wrap\"\n [style.--zoom]=\"canvasService.zoom()\"\n [attr.data-prism-rendered]=\"renderedKey()\"\n [attr.data-canvas-layout]=\"canvasLayout()\"\n [attr.data-viewport]=\"viewportWidth() !== null ? '' : null\">\n <ng-container #outlet />\n @if (activeOverlay()) {\n <ng-container *ngComponentOutlet=\"activeOverlay()!; inputs: overlayInputs; injector: overlayInjector()\" />\n }\n </div>\n</div>\n", styles: [":host {\n display: block;\n flex: 1;\n min-height: 0;\n}\n\n.prism-canvas-stage {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n min-height: 200px;\n padding: 32px;\n overflow: auto;\n\n /* The edge is outline + shadow, never border and never extra padding.\n plugin-visual-regression screenshots .demo-wrap, which is centred in\n this element; a border would shrink the content box by 2px and move\n that centre, shifting all 15 baselines in test-workspace/vrt/baseline\n without a single component having changed. Capture mode resets this\n element's padding but not its border, and this repo has no VRT runner\n to catch the drift. outline and box-shadow do not participate in\n layout, so the box is provably unchanged. Keep it that way.\n They do still paint, and outline-offset is negative, so the line lands\n inside the box: CAPTURE_STYLES in prism-capture.service.ts sets both\n to none, which is only safe because neither is load-bearing here. */\n outline: 1px solid var(--prism-stage-edge);\n outline-offset: -1px;\n background-color: var(--prism-stage);\n box-shadow:\n 0 1px 3px rgb(0 0 0 / 10%),\n 0 8px 24px -12px rgb(0 0 0 / 18%);\n transition: filter var(--dur-base);\n\n --prism-canvas-overlay-top: 12px;\n --prism-canvas-overlay-inline: 20px;\n}\n\n.prism-canvas-stage[data-rulers] {\n --prism-canvas-overlay-top: 28px;\n --prism-canvas-overlay-inline: 28px;\n}\n\n.stage-crosshair {\n position: absolute;\n inset: 0;\n pointer-events: none;\n opacity: 0;\n transition: opacity var(--dur-base);\n}\n\n.stage-crosshair.visible {\n opacity: 1;\n}\n\n.stage-crosshair::before,\n.stage-crosshair::after {\n position: absolute;\n content: '';\n background: color-mix(in srgb, var(--prism-primary) 20%, transparent);\n}\n\n.stage-crosshair::before {\n top: 50%;\n right: 0;\n left: 0;\n height: 1px;\n}\n\n.stage-crosshair::after {\n top: 0;\n bottom: 0;\n left: 50%;\n width: 1px;\n}\n\n.demo-wrap {\n position: relative;\n display: inline-block;\n transform: scale(var(--zoom, 1));\n transition: transform 0.18s;\n}\n\n.demo-wrap[data-canvas-layout='stretch'] {\n display: block;\n width: 100%;\n max-width: 800px;\n}\n\n/* max-width: none rather than min(800px, var(--prism-vp-w)): an explicitly\n requested width beats a layout default, and min() would silently cap a\n 1024 viewport at 800 on any component declaring canvasLayout:\n 'stretch'.\n\n container-type is confined to this rule, and that confinement is\n load-bearing. It implies contain: inline-size, which on the width:auto\n inline-block .demo-wrap is at rest would decouple its width from its\n contents \u2014 collapsing the box and shifting every baseline in\n test-workspace/vrt/baseline without a component having changed. Here\n the width is explicit, so containment costs nothing and is what makes\n a component's own @container rules respond. Media queries do not and\n cannot: they read the real browser viewport.\n\n grid + justify-items: center, and not text-align: center, which is the\n obvious way to centre an inline-level child and the wrong one. The\n showcase component is created through ViewContainerRef, so its host\n element carries none of this component's _ngcontent attribute and no\n scoped rule here can reach it to undo an inherited value. text-align\n would therefore leak all the way into the specimen and silently\n re-align its own text the moment the viewport is switched on \u2014 a\n canvas that lies about what it is showing. Centring at the container\n instead touches nothing inside.\n\n Shrinking is not a side effect of that choice, it is the resting\n behaviour preserved: at rest .demo-wrap is an inline-block that\n already shrink-wraps its child, so a block-level specimen sizes to its\n content here exactly as it does with the constraint off. The implicit\n auto column still fills the declared width, so a component that asks\n for width: 100% \u2014 the canvasLayout: 'stretch' case \u2014 keeps getting the\n whole viewport. */\n.demo-wrap[data-viewport] {\n display: grid;\n\n /* flex: none, and it is load-bearing. The stage is a flex container\n and this is its only item, so the default flex-shrink: 1 lets the\n box render narrower than the width just asked for whenever the\n canvas is the smaller of the two \u2014 and container-type below drops\n the automatic minimum size to zero, so nothing stops the shrink.\n The result is the one failure this whole feature cannot afford:\n the dimension line states 1024 while every @container rule in the\n specimen answers whatever the canvas happened to allow. The stage\n is overflow: auto, so refusing to shrink scrolls instead. */\n flex: none;\n\n /* safe center, not bare center. Centring is right while the specimen\n fits and wrong the moment it does not: bare centring spills an\n over-wide specimen equally past both edges, where a real viewport of\n that width clips at zero and scrolls in one direction. The safe\n keyword falls back to start exactly when the item overflows, which\n is the browser making a case distinction CSS cannot otherwise\n express. */\n justify-items: safe center;\n width: var(--prism-vp-w);\n max-width: none;\n container-type: inline-size;\n}\n\n/* Both grips derive their position arithmetically, because .demo-wrap is\n centred by the stage's own flexbox and then scaled in place by\n transform: scale(var(--zoom)): the transform preserves that centre, so\n each edge sits half the *painted* width \u2014 --prism-vp-w times --zoom \u2014 away\n from the middle. No measurement, no ResizeObserver, and nothing to\n fall out of step when either the width or the zoom changes.\n\n The grip's own [scale] input (in the template) undoes the same factor\n in the other direction: a pointer that has moved dx across the painted\n box must change --prism-vp-w by dx / zoom for the grip to stay under the\n cursor, so the directive multiplier is 2 / zoom on the right grip and\n -2 / zoom on the left, not the flat \u00B12 a permanent zoom of 1 would\n need. */\n.vp-grip {\n position: absolute;\n top: var(--prism-canvas-overlay-top, 12px);\n bottom: 0;\n left: calc(50% - var(--prism-vp-w) * var(--zoom, 1) / 2 - 4.5px);\n z-index: 4;\n display: grid;\n width: 9px;\n\n /* The element is the guide line's full-height track and nothing else\n may be clickable about it. It runs from the overlay band to the\n bottom of the stage at z-index 4, straight over prism-canvas-bg-pill\n at z-index 2, so leaving it hit-testable made part of the pill's\n Reset button unreachable whenever a viewport was on. Only the bar\n below takes pointer events back. */\n pointer-events: none;\n background: transparent;\n}\n\n.vp-grip--end {\n right: calc(50% - var(--prism-vp-w) * var(--zoom, 1) / 2 - 4.5px);\n left: auto;\n}\n\n/* The part you grab, and the only part of the grip that takes pointer\n events back. It shares the guide line's grid cell \u2014 hence the matching\n grid-area \u2014 and is raised above it so the 1px rule does not paint a\n seam down the middle of the 3px bar.\n\n The padding is the hit box and the background is the bar: content-box\n sizing plus background-clip: content-box paints 3x34 while leaving\n 9x44 clickable, so the target is comfortable without the mark growing\n to match. It is still narrow for WCAG 2.5.8, which the Width chooser\n in the tools menu answers \u2014 the same widths are reachable there, and\n both grips take Home/End and the arrow keys. */\n.vp-grip__bar {\n z-index: 1;\n box-sizing: content-box;\n grid-area: 1 / 1;\n place-self: center center;\n width: 3px;\n height: 34px;\n padding: 5px 3px;\n pointer-events: auto;\n background: color-mix(in srgb, var(--prism-measure) 80%, transparent);\n background-clip: content-box;\n border-radius: 2px;\n transition: background var(--dur-fast);\n}\n\n/* The edge itself, carried the whole height of the stage. Without it a\n grip is a floating nub that says where you may pull but not what it is\n pulling: the line is what makes the constrained region legible as a\n region rather than as two loose handles. Faint on purpose \u2014 it crosses\n the specimen, so it has to stay readable as chrome. */\n.vp-grip::after {\n grid-area: 1 / 1;\n place-self: stretch center;\n width: 1px;\n content: '';\n background: color-mix(in srgb, var(--prism-measure) 75%, transparent);\n transition: background var(--dur-fast);\n}\n\n.vp-grip:hover::after,\n.vp-grip.active::after,\n.vp-grip:focus-visible::after {\n background: color-mix(in srgb, var(--prism-measure) 55%, transparent);\n}\n\n.vp-grip:hover .vp-grip__bar,\n.vp-grip.active .vp-grip__bar,\n.vp-grip:focus-visible .vp-grip__bar {\n background: var(--prism-measure);\n background-clip: content-box;\n}\n\n/* The ring goes on the bar, not on the host: the host is the full-height\n track, and outlining that would draw a rule the length of the stage\n for a control 34px tall. */\n.vp-grip:focus-visible {\n outline: none;\n}\n\n.vp-grip:focus-visible .vp-grip__bar {\n outline: 2px solid var(--prism-primary);\n outline-offset: 1px;\n}\n\n/* The third resident of the overlay band: pill left, dimension centre,\n rail right. It reads the same --prism-canvas-overlay-top the other two\n do, so switching rulers on moves all three together.\n\n Spans the painted width rather than sitting in the middle of it as a\n badge, and carries the same --prism-vp-w * --zoom the grips do so the\n three stay locked together. A badge states a number; a dimension line\n states which distance the number measures, and that is the whole\n claim this overlay makes. */\n.vp-dim {\n position: absolute;\n top: var(--prism-canvas-overlay-top, 12px);\n left: 50%;\n z-index: 4;\n display: flex;\n gap: var(--sp-3);\n align-items: center;\n width: calc(var(--prism-vp-w) * var(--zoom, 1));\n pointer-events: none;\n transform: translateX(-50%);\n}\n\n/* Two halves with the value in the gap, rather than one rule behind it:\n a line running under the digits would need a background plate to stay\n readable, and the plate is the badge this replaced. */\n.vp-dim__rule {\n position: relative;\n flex: 1;\n height: 1px;\n background: color-mix(in srgb, var(--prism-measure) 70%, transparent);\n}\n\n/* The end ticks. They are what make the rule read as a measurement of\n the span between them instead of as a divider laid across the canvas,\n and they mark the two edges the grips can be dragged to. */\n.vp-dim__rule::before {\n position: absolute;\n top: -3px;\n width: 1px;\n height: 7px;\n content: '';\n background: color-mix(in srgb, var(--prism-measure) 90%, transparent);\n}\n\n.vp-dim__rule:first-child::before {\n left: 0;\n}\n\n.vp-dim__rule:last-child::before {\n right: 0;\n}\n\n.vp-dim__v {\n flex: none;\n font-family: var(--font-mono);\n font-size: 9px;\n color: var(--prism-measure);\n white-space: nowrap;\n}\n", "\n [data-bg=\"dots\"] {\n background-image: radial-gradient(circle, var(--prism-dot) 1px, transparent 1px);\n background-size: 20px 20px;\n }\n\n [data-bg=\"plain\"] {\n background-image: none;\n }\n\n /* Flat, not dotted. \"light\" and \"dark\" name a surface a component was\n designed against \u2014 and they are the two backgrounds whose colour is\n absolute rather than a theme token, which is what makes them the values\n to declare for a screenshot baseline. \"dots\" already exists for anyone\n who wants the grid. */\n /* These two also re-point --prism-measure, and that is not decoration.\n Every other canvas overlay is drawn in a theme colour over a theme\n surface, so the two move together. These two backgrounds are absolute:\n \"light\" stays near-white while the app runs the dark theme, and \"dark\"\n stays near-black while it runs the light one. The measurement colour\n picked for one theme is then sitting on the other theme's ground \u2014\n measured, the dark theme's blue reaches 1.8:1 on the light background,\n which is a viewport overlay you cannot see. Pinning the colour to the\n ground rather than to the theme is what makes \"always visible\" true\n instead of true-in-the-common-case.\n\n Literal values because this file is theme-independent by construction \u2014\n it is the one place that already hard-codes the two absolute grounds\n below, for the same reason. Keep them in step with --prism-measure in\n prism-default-theme.ts; semantic-colours.spec.ts fails if they drift. */\n [data-bg=\"light\"] {\n background-color: var(--prism-void-light, #f7f5fc);\n background-image: none;\n --prism-measure: #004d8a;\n }\n [data-bg=\"dark\"] {\n background-color: var(--prism-void-dark, #07050f);\n background-image: none;\n --prism-measure: #41bcff;\n }\n\n /* \"transparent\" shares the checkerboard on purpose. The two say the same\n thing in the two media the canvas has: while browsing, the checkerboard\n is already the UI's word for \"no surface here\"; in a capture it becomes\n literal transparency. A stage that were really see-through in the app\n would just show the shell through the canvas, which means nothing. The\n split between the two lives entirely in CAPTURE_STYLES. */\n [data-bg=\"checker\"],\n [data-bg=\"transparent\"] {\n background-image:\n linear-gradient(45deg, var(--prism-border) 25%, transparent 25%),\n linear-gradient(-45deg, var(--prism-border) 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, var(--prism-border) 75%),\n linear-gradient(-45deg, transparent 75%, var(--prism-border) 75%);\n background-size: 16px 16px;\n background-position: 0 0, 0 8px, 8px -8px, -8px 0;\n }\n"] }]
|
|
293
311
|
}], () => [], { outlet: [{ type: i0.ViewChild, args: ['outlet', { ...{
|
|
294
|
-
read: ViewContainerRef
|
|
312
|
+
read: ViewContainerRef
|
|
295
313
|
}, isSignal: true }] }] }); })();
|
|
296
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismRendererComponent, { className: "PrismRendererComponent", filePath: "app/renderer/prism-renderer.component.ts", lineNumber:
|
|
314
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismRendererComponent, { className: "PrismRendererComponent", filePath: "app/renderer/prism-renderer.component.ts", lineNumber: 50 }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectable-content.d.ts","sourceRoot":"","sources":["../../../src/app/renderer/projectable-content.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,wBAAgB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"projectable-content.d.ts","sourceRoot":"","sources":["../../../src/app/renderer/projectable-content.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE,EAAE,CAsCtF"}
|
|
@@ -14,9 +14,7 @@ export function parseContentToNodes(content) {
|
|
|
14
14
|
if (typeof content === 'string') {
|
|
15
15
|
return [htmlToNodes(content)];
|
|
16
16
|
}
|
|
17
|
-
const defaultNodes = content['default']
|
|
18
|
-
? htmlToNodes(content['default'])
|
|
19
|
-
: [];
|
|
17
|
+
const defaultNodes = content['default'] ? htmlToNodes(content['default']) : [];
|
|
20
18
|
const result = [defaultNodes];
|
|
21
19
|
for (const [selector, html] of Object.entries(content)) {
|
|
22
20
|
if (selector === 'default')
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { InputMeta } from '../../plugin/plugin.types.js';
|
|
2
1
|
import type { DirectiveHost } from '../../decorator/showcase.types.js';
|
|
2
|
+
import type { InputMeta } from '../../plugin/plugin.types.js';
|
|
3
3
|
export interface SnippetDirectiveOptions {
|
|
4
4
|
host?: string | DirectiveHost;
|
|
5
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippet-generator.d.ts","sourceRoot":"","sources":["../../../src/app/renderer/snippet-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"snippet-generator.d.ts","sourceRoot":"","sources":["../../../src/app/renderer/snippet-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;CACjC;AAoBD,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAClC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACzC,gBAAgB,CAAC,EAAE,uBAAuB,GAC3C,MAAM,CA4DR"}
|
|
@@ -29,15 +29,11 @@ export function generateSnippet(selector, inputs, values, explicitKeys, content,
|
|
|
29
29
|
const value = values[input.name];
|
|
30
30
|
if (value === undefined)
|
|
31
31
|
continue;
|
|
32
|
-
if (input.defaultValue !== undefined &&
|
|
33
|
-
value === input.defaultValue &&
|
|
34
|
-
!explicitKeys?.has(input.name))
|
|
32
|
+
if (input.defaultValue !== undefined && value === input.defaultValue && !explicitKeys?.has(input.name))
|
|
35
33
|
continue;
|
|
36
34
|
// Only a guess, and only sound when no default is known: a boolean input
|
|
37
35
|
// that defaults to `true` has to show its explicit `false`.
|
|
38
|
-
if (input.defaultValue === undefined &&
|
|
39
|
-
typeof value === 'boolean' &&
|
|
40
|
-
!value)
|
|
36
|
+
if (input.defaultValue === undefined && typeof value === 'boolean' && !value)
|
|
41
37
|
continue;
|
|
42
38
|
pushAttribute(attributes, input.name, value);
|
|
43
39
|
}
|
|
@@ -80,9 +76,7 @@ function directiveSelectorToAttr(selector) {
|
|
|
80
76
|
return match ? match[1] : selector;
|
|
81
77
|
}
|
|
82
78
|
function parseHostStringSimple(host) {
|
|
83
|
-
const match = host
|
|
84
|
-
.trim()
|
|
85
|
-
.match(/^<\s*([a-zA-Z][a-zA-Z0-9-]*)((?:\s+[^>]*?)?)\s*\/?\s*>$/);
|
|
79
|
+
const match = host.trim().match(/^<\s*([a-zA-Z][a-zA-Z0-9-]*)((?:\s+[^>]*?)?)\s*\/?\s*>$/);
|
|
86
80
|
if (!match)
|
|
87
81
|
return { tag: 'div', attrs: '' };
|
|
88
82
|
return { tag: match[1], attrs: match[2].trim() };
|
|
@@ -112,15 +106,11 @@ function generateDirectiveSnippet(selector, inputs, values, explicitKeys, conten
|
|
|
112
106
|
const value = values[input.name];
|
|
113
107
|
if (value === undefined)
|
|
114
108
|
continue;
|
|
115
|
-
if (input.defaultValue !== undefined &&
|
|
116
|
-
value === input.defaultValue &&
|
|
117
|
-
!explicitKeys?.has(input.name))
|
|
109
|
+
if (input.defaultValue !== undefined && value === input.defaultValue && !explicitKeys?.has(input.name))
|
|
118
110
|
continue;
|
|
119
111
|
// Only a guess, and only sound when no default is known: a boolean input
|
|
120
112
|
// that defaults to `true` has to show its explicit `false`.
|
|
121
|
-
if (input.defaultValue === undefined &&
|
|
122
|
-
typeof value === 'boolean' &&
|
|
123
|
-
!value)
|
|
113
|
+
if (input.defaultValue === undefined && typeof value === 'boolean' && !value)
|
|
124
114
|
continue;
|
|
125
115
|
pushAttribute(attributes, input.name, value);
|
|
126
116
|
}
|
|
@@ -133,10 +123,7 @@ function generateDirectiveSnippet(selector, inputs, values, explicitKeys, conten
|
|
|
133
123
|
continue;
|
|
134
124
|
pushAttribute(attributes, name, value);
|
|
135
125
|
}
|
|
136
|
-
const projectedContent = content ??
|
|
137
|
-
(typeof values['__prismContent__'] === 'string'
|
|
138
|
-
? values['__prismContent__']
|
|
139
|
-
: undefined);
|
|
126
|
+
const projectedContent = content ?? (typeof values['__prismContent__'] === 'string' ? values['__prismContent__'] : undefined);
|
|
140
127
|
const allAttrs = [...hostAttrs, directiveAttr, ...attributes].join(' ');
|
|
141
128
|
const contentHtml = resolveContentHtml(projectedContent);
|
|
142
129
|
if (!contentHtml) {
|
|
@@ -145,9 +132,7 @@ function generateDirectiveSnippet(selector, inputs, values, explicitKeys, conten
|
|
|
145
132
|
const singleLine = `<${tag} ${allAttrs} />`;
|
|
146
133
|
if (singleLine.length <= 80)
|
|
147
134
|
return singleLine;
|
|
148
|
-
const indented = [...hostAttrs, directiveAttr, ...attributes]
|
|
149
|
-
.map((a) => ` ${a}`)
|
|
150
|
-
.join('\n');
|
|
135
|
+
const indented = [...hostAttrs, directiveAttr, ...attributes].map((a) => ` ${a}`).join('\n');
|
|
151
136
|
return `<${tag}\n${indented} />`;
|
|
152
137
|
}
|
|
153
138
|
const openTag = `<${tag} ${allAttrs}>`;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { RuntimeComponent } from '../../plugin/plugin.types.js';
|
|
2
1
|
import type { StyleguidePage } from '../../plugin/page.types.js';
|
|
2
|
+
import type { RuntimeComponent } from '../../plugin/plugin.types.js';
|
|
3
3
|
export type NavigationItem = {
|
|
4
4
|
kind: 'component';
|
|
5
5
|
data: RuntimeComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-item.types.d.ts","sourceRoot":"","sources":["../../../src/app/services/navigation-item.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"navigation-item.types.d.ts","sourceRoot":"","sources":["../../../src/app/services/navigation-item.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC"}
|
|
@@ -6,12 +6,34 @@ export declare class PrismCanvasService {
|
|
|
6
6
|
readonly zoom: import("@angular/core").WritableSignal<number>;
|
|
7
7
|
readonly guides: import("@angular/core").WritableSignal<boolean>;
|
|
8
8
|
readonly rulers: import("@angular/core").WritableSignal<boolean>;
|
|
9
|
+
/**
|
|
10
|
+
* The width `.demo-wrap` is constrained to, or `null` for "as wide as it
|
|
11
|
+
* wants".
|
|
12
|
+
*
|
|
13
|
+
* Nullable rather than a `0`/`-1` sentinel because "off" is genuinely a
|
|
14
|
+
* different state and not a width: the renderer keys a whole set of CSS off
|
|
15
|
+
* `[data-viewport]`, and a falsy number would make `viewportWidth() ? ... `
|
|
16
|
+
* silently treat a legal narrow width as "off" the moment the floor ever
|
|
17
|
+
* moved to 0.
|
|
18
|
+
*/
|
|
19
|
+
readonly viewportWidth: import("@angular/core").WritableSignal<number | null>;
|
|
9
20
|
private readonly capture;
|
|
21
|
+
/**
|
|
22
|
+
* What `toggleViewport()` restores.
|
|
23
|
+
*
|
|
24
|
+
* Kept in a field rather than persisted: it exists so that flicking the rail
|
|
25
|
+
* button off and on again does not throw away a width you just dragged to,
|
|
26
|
+
* which is a within-session concern. The width that *is* worth carrying
|
|
27
|
+
* across sessions is the live one, and that is already in `viewportWidth`.
|
|
28
|
+
*/
|
|
29
|
+
private lastViewportWidth;
|
|
10
30
|
constructor();
|
|
11
31
|
setBg(bg: CanvasBg): void;
|
|
12
32
|
setZoom(z: number): void;
|
|
13
33
|
toggleGuides(): void;
|
|
14
34
|
toggleRulers(): void;
|
|
35
|
+
setViewportWidth(w: number | null): void;
|
|
36
|
+
toggleViewport(): void;
|
|
15
37
|
private loadFromStorage;
|
|
16
38
|
private save;
|
|
17
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismCanvasService, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-canvas.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-canvas.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"prism-canvas.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-canvas.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;;AAI3E,YAAY,EAAE,QAAQ,EAAE,CAAC;AAIzB,qBACa,kBAAkB;IAC3B,QAAQ,CAAC,EAAE,mDAA4B;IACvC,QAAQ,CAAC,IAAI,iDAAa;IAC1B,QAAQ,CAAC,MAAM,kDAAiB;IAChC,QAAQ,CAAC,MAAM,kDAAiB;IAEhC;;;;;;;;;OASG;IACH,QAAQ,CAAC,aAAa,wDAA+B;IAErD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IAEvD;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB,CAAoB;;IAW7C,KAAK,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAKzB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKxB,YAAY,IAAI,IAAI;IAKpB,YAAY,IAAI,IAAI;IAKpB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAYxC,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,IAAI;yCAnGH,kBAAkB;;CAqH9B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { inject, Injectable, signal } from '@angular/core';
|
|
2
2
|
import { CANVAS_BGS } from '../../shared/canvas-bg.type.js';
|
|
3
|
+
import { clampViewportWidth, VIEWPORT_DEFAULT } from '../../shared/viewport.type.js';
|
|
3
4
|
import { PrismCaptureService } from './prism-capture.service.js';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
const STORAGE_KEY = 'ng-prism-canvas';
|
|
@@ -12,7 +13,28 @@ export class PrismCanvasService {
|
|
|
12
13
|
...(ngDevMode ? [{ debugName: "guides" }] : /* istanbul ignore next */ []));
|
|
13
14
|
rulers = signal(false, /* @ts-ignore */
|
|
14
15
|
...(ngDevMode ? [{ debugName: "rulers" }] : /* istanbul ignore next */ []));
|
|
16
|
+
/**
|
|
17
|
+
* The width `.demo-wrap` is constrained to, or `null` for "as wide as it
|
|
18
|
+
* wants".
|
|
19
|
+
*
|
|
20
|
+
* Nullable rather than a `0`/`-1` sentinel because "off" is genuinely a
|
|
21
|
+
* different state and not a width: the renderer keys a whole set of CSS off
|
|
22
|
+
* `[data-viewport]`, and a falsy number would make `viewportWidth() ? ... `
|
|
23
|
+
* silently treat a legal narrow width as "off" the moment the floor ever
|
|
24
|
+
* moved to 0.
|
|
25
|
+
*/
|
|
26
|
+
viewportWidth = signal(null, /* @ts-ignore */
|
|
27
|
+
...(ngDevMode ? [{ debugName: "viewportWidth" }] : /* istanbul ignore next */ []));
|
|
15
28
|
capture = inject(PrismCaptureService);
|
|
29
|
+
/**
|
|
30
|
+
* What `toggleViewport()` restores.
|
|
31
|
+
*
|
|
32
|
+
* Kept in a field rather than persisted: it exists so that flicking the rail
|
|
33
|
+
* button off and on again does not throw away a width you just dragged to,
|
|
34
|
+
* which is a within-session concern. The width that *is* worth carrying
|
|
35
|
+
* across sessions is the live one, and that is already in `viewportWidth`.
|
|
36
|
+
*/
|
|
37
|
+
lastViewportWidth = VIEWPORT_DEFAULT;
|
|
16
38
|
constructor() {
|
|
17
39
|
// Capture mode renders for a screenshot tool: persisted zoom, guides and
|
|
18
40
|
// rulers would leak a previous session's state into the image, so the
|
|
@@ -38,6 +60,20 @@ export class PrismCanvasService {
|
|
|
38
60
|
this.rulers.update((v) => !v);
|
|
39
61
|
this.save();
|
|
40
62
|
}
|
|
63
|
+
setViewportWidth(w) {
|
|
64
|
+
if (w === null) {
|
|
65
|
+
this.viewportWidth.set(null);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const clamped = clampViewportWidth(w);
|
|
69
|
+
this.lastViewportWidth = clamped;
|
|
70
|
+
this.viewportWidth.set(clamped);
|
|
71
|
+
}
|
|
72
|
+
this.save();
|
|
73
|
+
}
|
|
74
|
+
toggleViewport() {
|
|
75
|
+
this.setViewportWidth(this.viewportWidth() === null ? this.lastViewportWidth : null);
|
|
76
|
+
}
|
|
41
77
|
loadFromStorage() {
|
|
42
78
|
try {
|
|
43
79
|
const raw = localStorage.getItem(STORAGE_KEY);
|
|
@@ -53,8 +89,15 @@ export class PrismCanvasService {
|
|
|
53
89
|
this.guides.set(d['guides']);
|
|
54
90
|
if (typeof d['rulers'] === 'boolean')
|
|
55
91
|
this.rulers.set(d['rulers']);
|
|
92
|
+
if (typeof d['viewportWidth'] === 'number') {
|
|
93
|
+
const w = clampViewportWidth(d['viewportWidth']);
|
|
94
|
+
this.lastViewportWidth = w;
|
|
95
|
+
this.viewportWidth.set(w);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Malformed JSON or no storage access: keep the field defaults.
|
|
56
100
|
}
|
|
57
|
-
catch { }
|
|
58
101
|
}
|
|
59
102
|
save() {
|
|
60
103
|
if (this.capture.active())
|
|
@@ -65,9 +108,13 @@ export class PrismCanvasService {
|
|
|
65
108
|
zoom: this.zoom(),
|
|
66
109
|
guides: this.guides(),
|
|
67
110
|
rulers: this.rulers(),
|
|
111
|
+
viewportWidth: this.viewportWidth()
|
|
68
112
|
}));
|
|
69
113
|
}
|
|
70
|
-
catch {
|
|
114
|
+
catch {
|
|
115
|
+
// Storage may be full or disabled (e.g. private browsing); the
|
|
116
|
+
// canvas state just stays unpersisted for this session.
|
|
117
|
+
}
|
|
71
118
|
}
|
|
72
119
|
static ɵfac = function PrismCanvasService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismCanvasService)(); };
|
|
73
120
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismCanvasService, factory: PrismCanvasService.ɵfac, providedIn: 'root' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-capture.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-capture.service.ts"],"names":[],"mappings":";AAEA,sFAAsF;AACtF,eAAO,MAAM,aAAa,YAAY,CAAC;AAEvC,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AAItD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,4BAA4B,
|
|
1
|
+
{"version":3,"file":"prism-capture.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-capture.service.ts"],"names":[],"mappings":";AAEA,sFAAsF;AACtF,eAAO,MAAM,aAAa,YAAY,CAAC;AAEvC,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AAItD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,4BAA4B,QAE4H,CAAC;AAiJtK;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBACa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6F;IAErH,kEAAkE;IAClE,QAAQ,CAAC,MAAM,0CAA6B;;IAM5C,OAAO,CAAC,eAAe;yCAVd,mBAAmB;;CAoB/B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAKzD"}
|
|
@@ -76,9 +76,7 @@ export const CAPTURE_TRANSPARENT_SELECTOR = `[${CAPTURE_ATTRIBUTE}] .prism-canva
|
|
|
76
76
|
* panel has no canvas, and blanking the shell around it would leave a runner
|
|
77
77
|
* with an empty screenshot rather than an honest one.
|
|
78
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))`;
|
|
79
|
+
const CAPTURE_CANVAS_ONLY_SELECTOR = `[${CAPTURE_ATTRIBUTE}] ` + `:is(.prism-shell, .prism-body, .prism-main, .prism-canvas-wrap)` + `:has(.prism-canvas-stage) > :not(:has(.prism-canvas-stage))`;
|
|
82
80
|
/**
|
|
83
81
|
* Global stylesheet applied in capture mode.
|
|
84
82
|
*
|
|
@@ -206,9 +204,7 @@ ${CAPTURE_CANVAS_ONLY_SELECTOR} {
|
|
|
206
204
|
* make zoom-locking racy.
|
|
207
205
|
*/
|
|
208
206
|
export class PrismCaptureService {
|
|
209
|
-
_active = signal(typeof window !== 'undefined'
|
|
210
|
-
? parseCaptureParam(window.location.search)
|
|
211
|
-
: false, /* @ts-ignore */
|
|
207
|
+
_active = signal(typeof window !== 'undefined' ? parseCaptureParam(window.location.search) : false, /* @ts-ignore */
|
|
212
208
|
...(ngDevMode ? [{ debugName: "_active" }] : /* istanbul ignore next */ []));
|
|
213
209
|
/** True while the app renders for an external screenshot tool. */
|
|
214
210
|
active = this._active.asReadonly();
|
|
@@ -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;
|
|
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;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAClB;AAED,qBACa,oBAAoB;IAC7B,QAAQ,CAAC,MAAM,0DAA+B;IAC9C,OAAO,CAAC,OAAO,CAAK;IAEpB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAIvC,KAAK,IAAI,IAAI;yCARJ,oBAAoB;;CAWhC"}
|