@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,24 +1,24 @@
|
|
|
1
|
-
import { Component, computed, effect, inject, untracked
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { PrismLayoutService } from '../services/prism-layout.service.js';
|
|
5
|
-
import { PrismNavigationService } from '../services/prism-navigation.service.js';
|
|
6
|
-
import { PrismPanelService } from '../services/prism-panel.service.js';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, effect, HostListener, inject, untracked } from '@angular/core';
|
|
2
|
+
import { PrismCanvasToolbarComponent } from '../canvas/prism-canvas-toolbar.component.js';
|
|
3
|
+
import { PrismTemplatePopoverComponent } from '../canvas/prism-template-popover.component.js';
|
|
7
4
|
import { PrismComponentHeadComponent } from '../component-head/prism-component-head.component.js';
|
|
8
|
-
import {
|
|
5
|
+
import { PrismResizerDirective } from '../directives/prism-resizer.directive.js';
|
|
9
6
|
import { PrismHeaderComponent } from '../header/prism-header.component.js';
|
|
7
|
+
import { PrismPageRendererComponent } from '../page-renderer/prism-page-renderer.component.js';
|
|
10
8
|
import { PrismPanelHostComponent } from '../panels/panel-host/prism-panel-host.component.js';
|
|
11
9
|
import { PrismRendererComponent } from '../renderer/prism-renderer.component.js';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
10
|
+
import { PrismLayoutService } from '../services/prism-layout.service.js';
|
|
11
|
+
import { PrismNavigationService } from '../services/prism-navigation.service.js';
|
|
12
|
+
import { PrismPanelService } from '../services/prism-panel.service.js';
|
|
15
13
|
import { PrismPersistenceService } from '../services/prism-persistence.service.js';
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
14
|
+
import { PrismThemeService } from '../services/prism-theme.service.js';
|
|
15
|
+
import { PrismUrlStateService } from '../services/prism-url-state.service.js';
|
|
16
|
+
import { PrismSidebarComponent } from '../sidebar/prism-sidebar.component.js';
|
|
17
|
+
import { PRISM_CONFIG } from '../tokens/prism-tokens.js';
|
|
18
|
+
import { PrismVariantRibbonComponent } from '../variant-ribbon/prism-variant-ribbon.component.js';
|
|
21
19
|
import { nextViewId } from '../view-tab-bar/next-view-id.js';
|
|
20
|
+
import { PrismViewPanelHostComponent } from '../view-tab-bar/prism-view-panel-host.component.js';
|
|
21
|
+
import { PrismViewTabBarComponent } from '../view-tab-bar/prism-view-tab-bar.component.js';
|
|
22
22
|
import * as i0 from "@angular/core";
|
|
23
23
|
function PrismShellComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
24
24
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -111,9 +111,7 @@ export class PrismShellComponent {
|
|
|
111
111
|
urlStateService = inject(PrismUrlStateService);
|
|
112
112
|
persistenceService = inject(PrismPersistenceService);
|
|
113
113
|
viewPanels = this.panelService.visibleViewPanels;
|
|
114
|
-
showPanel = computed(() => this.layout.addonsVisible() &&
|
|
115
|
-
this.panelService.activeViewId() === 'renderer' &&
|
|
116
|
-
!this.navigationService.activePage(), /* @ts-ignore */
|
|
114
|
+
showPanel = computed(() => this.layout.addonsVisible() && this.panelService.activeViewId() === 'renderer' && !this.navigationService.activePage(), /* @ts-ignore */
|
|
117
115
|
...(ngDevMode ? [{ debugName: "showPanel" }] : /* istanbul ignore next */ []));
|
|
118
116
|
shellStyle = computed(() => {
|
|
119
117
|
const sw = this.layout.sidebarVisible() ? this.layout.sidebarWidth() : 0;
|
|
@@ -200,7 +198,7 @@ export class PrismShellComponent {
|
|
|
200
198
|
PrismViewPanelHostComponent,
|
|
201
199
|
PrismResizerDirective,
|
|
202
200
|
PrismCanvasToolbarComponent,
|
|
203
|
-
PrismTemplatePopoverComponent], styles: ["[_nghost-%COMP%] {
|
|
201
|
+
PrismTemplatePopoverComponent], styles: ["[_nghost-%COMP%] {\n display: block;\n height: 100%;\n}\n\n.prism-shell[_ngcontent-%COMP%] {\n display: grid;\n grid-template-rows: var(--%NS%band-header) 1fr;\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n grid-template-columns: minmax(0, 1fr);\n height: 100vh;\n overflow: hidden;\n font-family: var(--%NS%font-sans, var(--%NS%prism-font-sans));\n color: var(--%NS%prism-text);\n background: var(--%NS%prism-void);\n}\n\n.prism-body[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: var(--%NS%sw, 264px) 4px 1fr;\n min-height: 0;\n}\n\n.prism-body--no-sidebar[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n}\n\n.prism-sidebar-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n background: var(--%NS%prism-bg);\n border-right: 1px solid var(--%NS%prism-border);\n}\n\n.prism-sidebar-wrap[_ngcontent-%COMP%] prism-sidebar[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n}\n\n.prism-sidebar-foot[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n padding: 10px 14px;\n font-size: 11px;\n color: var(--%NS%prism-text-ghost);\n border-top: 1px solid var(--%NS%prism-border);\n}\n\n.prism-sidebar-foot__logo[_ngcontent-%COMP%] {\n flex-shrink: 0;\n width: 16px;\n}\n\n.prism-sidebar-foot__link[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text-ghost);\n text-decoration: none;\n transition: color var(--%NS%dur-fast);\n}\n\n.prism-sidebar-foot__link[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text-2);\n}\n\n.prism-resizer-col[_ngcontent-%COMP%] {\n position: relative;\n z-index: 5;\n width: 4px;\n background: transparent;\n transition: background var(--%NS%dur-fast) var(--%NS%ease-default);\n}\n\n.prism-resizer-col[_ngcontent-%COMP%]:hover, \n.prism-resizer-col.active[_ngcontent-%COMP%] {\n background: var(--%NS%prism-primary);\n}\n\n.prism-main[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n background: var(--%NS%prism-void);\n}\n\n.prism-resizer-row[_ngcontent-%COMP%] {\n position: relative;\n z-index: 5;\n flex-shrink: 0;\n height: 4px;\n background: transparent;\n transition: background var(--%NS%dur-fast) var(--%NS%ease-default);\n}\n\n.prism-resizer-row[_ngcontent-%COMP%]:hover, \n.prism-resizer-row.active[_ngcontent-%COMP%] {\n background: var(--%NS%prism-primary);\n}\n\n\n\n\n.prism-canvas-wrap[_ngcontent-%COMP%] {\n position: relative;\n display: grid;\n flex: 1;\n grid-template-rows: minmax(0, 1fr);\n min-height: 0;\n overflow: hidden;\n background: var(--%NS%prism-bg-surface);\n}\n\n.prism-main__canvas[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n overflow: auto;\n}\n\n.prism-main__panel[_ngcontent-%COMP%] {\n flex-shrink: 0;\n height: var(--%NS%ph, 260px);\n min-height: 0;\n overflow: hidden;\n}\n\n.prism-shell__empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n grid-row: 1 / -1;\n gap: 8px;\n align-items: center;\n justify-content: center;\n}\n\n.prism-shell__empty-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n margin-bottom: 8px;\n color: var(--%NS%prism-text-ghost);\n}\n\n.prism-shell__empty-text[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--%NS%fs-xl);\n font-weight: 500;\n color: var(--%NS%prism-text-muted);\n}\n\n.prism-shell__empty-hint[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--%NS%fs-lg);\n color: var(--%NS%prism-text-ghost);\n}"] });
|
|
204
202
|
}
|
|
205
203
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismShellComponent, [{
|
|
206
204
|
type: Component,
|
|
@@ -216,110 +214,10 @@ export class PrismShellComponent {
|
|
|
216
214
|
PrismViewPanelHostComponent,
|
|
217
215
|
PrismResizerDirective,
|
|
218
216
|
PrismCanvasToolbarComponent,
|
|
219
|
-
PrismTemplatePopoverComponent
|
|
220
|
-
], template: `
|
|
221
|
-
<div class="prism-shell" [style]="shellStyle()">
|
|
222
|
-
<prism-header class="prism-shell__header" />
|
|
223
|
-
|
|
224
|
-
<div
|
|
225
|
-
class="prism-body"
|
|
226
|
-
[class.prism-body--no-sidebar]="!layout.sidebarVisible()"
|
|
227
|
-
>
|
|
228
|
-
@if (layout.sidebarVisible()) {
|
|
229
|
-
<aside class="prism-sidebar-wrap">
|
|
230
|
-
<prism-sidebar />
|
|
231
|
-
<div class="prism-sidebar-foot">
|
|
232
|
-
<img
|
|
233
|
-
class="prism-sidebar-foot__logo"
|
|
234
|
-
alt="ng-prism logo"
|
|
235
|
-
src="data:image/png;base64,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"
|
|
236
|
-
/>
|
|
237
|
-
<a
|
|
238
|
-
class="prism-sidebar-foot__link"
|
|
239
|
-
href="https://dyingangel666.github.io/ng-prism/#/"
|
|
240
|
-
target="_blank"
|
|
241
|
-
rel="noopener"
|
|
242
|
-
>
|
|
243
|
-
Powered by ng-prism
|
|
244
|
-
</a>
|
|
245
|
-
</div>
|
|
246
|
-
</aside>
|
|
247
|
-
<div
|
|
248
|
-
class="prism-resizer-col"
|
|
249
|
-
prismResizer
|
|
250
|
-
axis="x"
|
|
251
|
-
[min]="200"
|
|
252
|
-
[max]="360"
|
|
253
|
-
[value]="layout.sidebarWidth()"
|
|
254
|
-
(valueChange)="layout.setSidebarWidth($event)"
|
|
255
|
-
></div>
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
<main
|
|
259
|
-
class="prism-main"
|
|
260
|
-
[style.--ph.px]="showPanel() ? layout.panelHeight() : 0"
|
|
261
|
-
>
|
|
262
|
-
@if (navigationService.activeComponent()) { @if
|
|
263
|
-
(panelService.activeViewId() === 'renderer') {
|
|
264
|
-
<prism-component-head>
|
|
265
|
-
@if (viewPanels().length > 0) {
|
|
266
|
-
<prism-view-tab-bar headEnd />
|
|
267
|
-
}
|
|
268
|
-
</prism-component-head>
|
|
269
|
-
@if (layout.toolbarVisible()) {
|
|
270
|
-
<prism-variant-ribbon />
|
|
271
|
-
}
|
|
272
|
-
<div class="prism-canvas-wrap">
|
|
273
|
-
<prism-canvas-toolbar />
|
|
274
|
-
<prism-renderer />
|
|
275
|
-
<prism-template-popover />
|
|
276
|
-
</div>
|
|
277
|
-
} @else {
|
|
278
|
-
<prism-component-head>
|
|
279
|
-
<prism-view-tab-bar headEnd />
|
|
280
|
-
</prism-component-head>
|
|
281
|
-
<prism-view-panel-host class="prism-main__canvas" />
|
|
282
|
-
} @if (showPanel()) {
|
|
283
|
-
<div
|
|
284
|
-
class="prism-resizer-row"
|
|
285
|
-
prismResizer
|
|
286
|
-
axis="y"
|
|
287
|
-
[min]="200"
|
|
288
|
-
[max]="560"
|
|
289
|
-
[value]="layout.panelHeight()"
|
|
290
|
-
(valueChange)="layout.setPanelHeight($event)"
|
|
291
|
-
></div>
|
|
292
|
-
<div class="prism-main__panel">
|
|
293
|
-
<prism-panel-host />
|
|
294
|
-
</div>
|
|
295
|
-
} } @else if (navigationService.activePage()) {
|
|
296
|
-
<prism-page-renderer class="prism-main__canvas" />
|
|
297
|
-
} @else {
|
|
298
|
-
<div class="prism-shell__empty">
|
|
299
|
-
<svg
|
|
300
|
-
class="prism-shell__empty-icon"
|
|
301
|
-
viewBox="0 0 24 24"
|
|
302
|
-
fill="none"
|
|
303
|
-
stroke="currentColor"
|
|
304
|
-
stroke-width="1.5"
|
|
305
|
-
stroke-linecap="round"
|
|
306
|
-
stroke-linejoin="round"
|
|
307
|
-
>
|
|
308
|
-
<path d="M12 2L4 14h16L12 2z" />
|
|
309
|
-
<path d="M4 14l4 8h8l4-8" />
|
|
310
|
-
</svg>
|
|
311
|
-
<p class="prism-shell__empty-text">Select a component</p>
|
|
312
|
-
<p class="prism-shell__empty-hint">
|
|
313
|
-
from the sidebar to preview it here
|
|
314
|
-
</p>
|
|
315
|
-
</div>
|
|
316
|
-
}
|
|
317
|
-
</main>
|
|
318
|
-
</div>
|
|
319
|
-
</div>
|
|
320
|
-
`, styles: ["\n :host { display: block; height: 100%; }\n\n .prism-shell {\n height: 100vh;\n display: grid;\n grid-template-rows: var(--band-header) 1fr;\n background: var(--prism-void);\n font-family: var(--font-sans, var(--prism-font-sans));\n color: var(--prism-text);\n overflow: hidden;\n }\n\n .prism-body {\n display: grid;\n grid-template-columns: var(--sw, 264px) 4px 1fr;\n min-height: 0;\n }\n .prism-body--no-sidebar {\n grid-template-columns: 1fr;\n }\n\n .prism-sidebar-wrap {\n background: var(--prism-bg);\n border-right: 1px solid var(--prism-border);\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n }\n\n .prism-sidebar-wrap prism-sidebar {\n flex: 1;\n min-height: 0;\n }\n\n .prism-sidebar-foot {\n border-top: 1px solid var(--prism-border);\n padding: 10px 14px;\n font-size: 11px;\n color: var(--prism-text-ghost);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n .prism-sidebar-foot__logo {\n width: 16px;\n flex-shrink: 0;\n }\n .prism-sidebar-foot__link {\n color: var(--prism-text-ghost);\n text-decoration: none;\n transition: color var(--dur-fast);\n }\n .prism-sidebar-foot__link:hover {\n color: var(--prism-text-2);\n }\n\n .prism-resizer-col {\n width: 4px;\n background: transparent;\n transition: background var(--dur-fast) var(--ease-default);\n position: relative;\n z-index: 5;\n }\n .prism-resizer-col:hover,\n .prism-resizer-col.active {\n background: var(--prism-primary);\n }\n\n .prism-main {\n display: flex;\n flex-direction: column;\n min-height: 0;\n background: var(--prism-void);\n overflow: hidden;\n }\n\n .prism-resizer-row {\n flex-shrink: 0;\n height: 4px;\n background: transparent;\n transition: background var(--dur-fast) var(--ease-default);\n position: relative;\n z-index: 5;\n }\n .prism-resizer-row:hover,\n .prism-resizer-row.active {\n background: var(--prism-primary);\n }\n\n /* One row, not two: the canvas tools no longer occupy a band above the\n stage, they float over it from a rail absolutely positioned against\n this element. The position: relative below is what anchors it. */\n .prism-canvas-wrap {\n flex: 1;\n min-height: 0;\n display: grid;\n grid-template-rows: minmax(0, 1fr);\n background: var(--prism-bg-surface);\n overflow: hidden;\n position: relative;\n }\n .prism-main__canvas { flex: 1; min-height: 0; overflow: auto; }\n\n .prism-main__panel {\n height: var(--ph, 260px);\n flex-shrink: 0;\n overflow: hidden;\n min-height: 0;\n }\n\n .prism-shell__empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 8px;\n grid-row: 1 / -1;\n }\n .prism-shell__empty-icon {\n width: 48px;\n height: 48px;\n color: var(--prism-text-ghost);\n margin-bottom: 8px;\n }\n .prism-shell__empty-text {\n margin: 0;\n font-size: var(--fs-xl);\n font-weight: 500;\n color: var(--prism-text-muted);\n }\n .prism-shell__empty-hint {\n margin: 0;\n font-size: var(--fs-lg);\n color: var(--prism-text-ghost);\n }\n "] }]
|
|
217
|
+
PrismTemplatePopoverComponent
|
|
218
|
+
], template: "<div\n class=\"prism-shell\"\n [style]=\"shellStyle()\">\n <prism-header class=\"prism-shell__header\" />\n\n <div\n class=\"prism-body\"\n [class.prism-body--no-sidebar]=\"!layout.sidebarVisible()\">\n @if (layout.sidebarVisible()) {\n <aside class=\"prism-sidebar-wrap\">\n <prism-sidebar />\n <div class=\"prism-sidebar-foot\">\n <img\n class=\"prism-sidebar-foot__logo\"\n alt=\"ng-prism logo\"\n src=\"data:image/png;base64,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\" />\n <a\n class=\"prism-sidebar-foot__link\"\n href=\"https://dyingangel666.github.io/ng-prism/#/\"\n target=\"_blank\"\n rel=\"noopener\">\n Powered by ng-prism\n </a>\n </div>\n </aside>\n <div\n class=\"prism-resizer-col\"\n prismResizer\n axis=\"x\"\n [min]=\"200\"\n [max]=\"360\"\n [value]=\"layout.sidebarWidth()\"\n (valueChange)=\"layout.setSidebarWidth($event)\"></div>\n }\n\n <main\n class=\"prism-main\"\n [style.--ph.px]=\"showPanel() ? layout.panelHeight() : 0\">\n @if (navigationService.activeComponent()) {\n @if (panelService.activeViewId() === 'renderer') {\n <prism-component-head>\n @if (viewPanels().length > 0) {\n <prism-view-tab-bar headEnd />\n }\n </prism-component-head>\n @if (layout.toolbarVisible()) {\n <prism-variant-ribbon />\n }\n <div class=\"prism-canvas-wrap\">\n <prism-canvas-toolbar />\n <prism-renderer />\n <prism-template-popover />\n </div>\n } @else {\n <prism-component-head>\n <prism-view-tab-bar headEnd />\n </prism-component-head>\n <prism-view-panel-host class=\"prism-main__canvas\" />\n }\n @if (showPanel()) {\n <div\n class=\"prism-resizer-row\"\n prismResizer\n axis=\"y\"\n [min]=\"200\"\n [max]=\"560\"\n [value]=\"layout.panelHeight()\"\n (valueChange)=\"layout.setPanelHeight($event)\"></div>\n <div class=\"prism-main__panel\">\n <prism-panel-host />\n </div>\n }\n } @else if (navigationService.activePage()) {\n <prism-page-renderer class=\"prism-main__canvas\" />\n } @else {\n <div class=\"prism-shell__empty\">\n <svg\n class=\"prism-shell__empty-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path d=\"M12 2L4 14h16L12 2z\" />\n <path d=\"M4 14l4 8h8l4-8\" />\n </svg>\n <p class=\"prism-shell__empty-text\">Select a component</p>\n <p class=\"prism-shell__empty-hint\"> from the sidebar to preview it here </p>\n </div>\n }\n </main>\n </div>\n</div>\n", styles: [":host {\n display: block;\n height: 100%;\n}\n\n.prism-shell {\n display: grid;\n grid-template-rows: var(--band-header) 1fr;\n\n /* Declared for its minimum, not for its size. An implicit grid track is\n auto, and an auto track's minimum is the min-content width of what sits\n in it -- here the whole body, sidebar and resizer and main together. The\n track therefore grows to whatever the widest panel demands and the\n overflow: hidden below clips the remainder, instead of the viewport ever\n getting a chance to reflow. Measured at a 500px viewport the track stood\n at 763px and held the canvas at 415px however far the window was dragged\n in, so responsive behaviour inside a showcased component was impossible\n to reach.\n The rows stay bare because min-height: 0 is already spelled out on every\n level below them. The inline axis had no such counterpart anywhere, and\n the levels below zero their own minimum through overflow: hidden, which\n is why this one track is the only place that needs saying. */\n grid-template-columns: minmax(0, 1fr);\n height: 100vh;\n overflow: hidden;\n font-family: var(--font-sans, var(--prism-font-sans));\n color: var(--prism-text);\n background: var(--prism-void);\n}\n\n.prism-body {\n display: grid;\n grid-template-columns: var(--sw, 264px) 4px 1fr;\n min-height: 0;\n}\n\n.prism-body--no-sidebar {\n grid-template-columns: 1fr;\n}\n\n.prism-sidebar-wrap {\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n background: var(--prism-bg);\n border-right: 1px solid var(--prism-border);\n}\n\n.prism-sidebar-wrap prism-sidebar {\n flex: 1;\n min-height: 0;\n}\n\n.prism-sidebar-foot {\n display: flex;\n gap: 8px;\n align-items: center;\n padding: 10px 14px;\n font-size: 11px;\n color: var(--prism-text-ghost);\n border-top: 1px solid var(--prism-border);\n}\n\n.prism-sidebar-foot__logo {\n flex-shrink: 0;\n width: 16px;\n}\n\n.prism-sidebar-foot__link {\n color: var(--prism-text-ghost);\n text-decoration: none;\n transition: color var(--dur-fast);\n}\n\n.prism-sidebar-foot__link:hover {\n color: var(--prism-text-2);\n}\n\n.prism-resizer-col {\n position: relative;\n z-index: 5;\n width: 4px;\n background: transparent;\n transition: background var(--dur-fast) var(--ease-default);\n}\n\n.prism-resizer-col:hover,\n.prism-resizer-col.active {\n background: var(--prism-primary);\n}\n\n.prism-main {\n display: flex;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n background: var(--prism-void);\n}\n\n.prism-resizer-row {\n position: relative;\n z-index: 5;\n flex-shrink: 0;\n height: 4px;\n background: transparent;\n transition: background var(--dur-fast) var(--ease-default);\n}\n\n.prism-resizer-row:hover,\n.prism-resizer-row.active {\n background: var(--prism-primary);\n}\n\n/* One row, not two: the canvas tools no longer occupy a band above the\n stage, they float over it from a rail absolutely positioned against\n this element. The position: relative below is what anchors it. */\n.prism-canvas-wrap {\n position: relative;\n display: grid;\n flex: 1;\n grid-template-rows: minmax(0, 1fr);\n min-height: 0;\n overflow: hidden;\n background: var(--prism-bg-surface);\n}\n\n.prism-main__canvas {\n flex: 1;\n min-height: 0;\n overflow: auto;\n}\n\n.prism-main__panel {\n flex-shrink: 0;\n height: var(--ph, 260px);\n min-height: 0;\n overflow: hidden;\n}\n\n.prism-shell__empty {\n display: flex;\n flex-direction: column;\n grid-row: 1 / -1;\n gap: 8px;\n align-items: center;\n justify-content: center;\n}\n\n.prism-shell__empty-icon {\n width: 48px;\n height: 48px;\n margin-bottom: 8px;\n color: var(--prism-text-ghost);\n}\n\n.prism-shell__empty-text {\n margin: 0;\n font-size: var(--fs-xl);\n font-weight: 500;\n color: var(--prism-text-muted);\n}\n\n.prism-shell__empty-hint {\n margin: 0;\n font-size: var(--fs-lg);\n color: var(--prism-text-ghost);\n}\n"] }]
|
|
321
219
|
}], () => [], { onKeyDown: [{
|
|
322
220
|
type: HostListener,
|
|
323
221
|
args: ['document:keydown', ['$event']]
|
|
324
222
|
}] }); })();
|
|
325
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismShellComponent, { className: "PrismShellComponent", filePath: "app/shell/prism-shell.component.ts", lineNumber:
|
|
223
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismShellComponent, { className: "PrismShellComponent", filePath: "app/shell/prism-shell.component.ts", lineNumber: 45 }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-decorations.d.ts","sourceRoot":"","sources":["../../../src/app/sidebar/navigation-decorations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAE3E,qEAAqE;AACrE,MAAM,WAAW,QAAQ;
|
|
1
|
+
{"version":3,"file":"navigation-decorations.d.ts","sourceRoot":"","sources":["../../../src/app/sidebar/navigation-decorations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAE3E,qEAAqE;AACrE,MAAM,WAAW,QAAQ;IACrB;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC5B,wEAAwE;IACxE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC3B,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;CACrC;AAID;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CACxC,OAAO,EAAE,SAAS,8BAA8B,EAAE,EAClD,WAAW,EAAE,SAAS,8BAA8B,EAAE,GACvD,8BAA8B,EAAE,CAWlC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,8BAA8B,EAAE,GAAG,eAAe,GAAG,IAAI,CA0B1H;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,GAAG,cAAc,CAa/F;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAEzE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import type { ComponentStatus } from '../../decorator/showcase.types.js';
|
|
1
2
|
import type { NavigationItem } from '../services/navigation-item.types.js';
|
|
2
3
|
import { PrismNavigationService } from '../services/prism-navigation.service.js';
|
|
3
4
|
import { PrismSearchService } from '../services/prism-search.service.js';
|
|
4
|
-
import type { ComponentStatus } from '../../decorator/showcase.types.js';
|
|
5
5
|
import { type CategoryRollup, type ItemDecorations } from './navigation-decorations.js';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
interface SidebarCategory {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-sidebar.component.d.ts","sourceRoot":"","sources":["../../../src/app/sidebar/prism-sidebar.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prism-sidebar.component.d.ts","sourceRoot":"","sources":["../../../src/app/sidebar/prism-sidebar.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAgB,KAAK,eAAe,EAA+D,MAAM,6BAA6B,CAAC;;AAcnK,UAAU,eAAe;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,UAAU,WAAW;IACjB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;CACvC;AAED,UAAU,iBAAiB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;CAC1B;AAED,qBAQa,qBAAqB;IAC9B,SAAS,CAAC,QAAQ,CAAC,iBAAiB,yBAAkC;IACtE,SAAS,CAAC,QAAQ,CAAC,aAAa,qBAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0D;IAEtF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4H;IAGxJ,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAS7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6C;IAE1E,SAAS,CAAC,QAAQ,CAAC,UAAU,yCAE1B;IAEH,SAAS,CAAC,QAAQ,CAAC,cAAc,oDAe9B;IAEH,SAAS,CAAC,QAAQ,CAAC,iBAAiB;;;;;SAqBjC;IAEH,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI3C,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAW3C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM;IAI/C,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM;IAIjD,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,GAAG,SAAS;IAIvE;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM;IAMvD,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI;IAU/F,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO;IAUjD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAQ9C,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,aAAa;yCApJZ,qBAAqB;2CAArB,qBAAqB;CA4JjC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Component, computed, inject, signal, viewChild
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, HostListener, inject, signal, viewChild } from '@angular/core';
|
|
2
2
|
import { PrismIconComponent } from '../icons/prism-icon.component.js';
|
|
3
3
|
import { BUILTIN_NAVIGATION_DECORATIONS } from '../panels/builtin-navigation-decorations.js';
|
|
4
4
|
import { PrismNavigationService } from '../services/prism-navigation.service.js';
|
|
5
5
|
import { PrismPluginService } from '../services/prism-plugin.service.js';
|
|
6
6
|
import { PrismSearchService } from '../services/prism-search.service.js';
|
|
7
|
-
import { decorateItem, lifecycleIcon, resolveNavigationDecorations, rollupCategory
|
|
7
|
+
import { decorateItem, lifecycleIcon, resolveNavigationDecorations, rollupCategory } from './navigation-decorations.js';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
const _c0 = ["filterInput"];
|
|
10
10
|
const _c1 = () => [];
|
|
@@ -182,7 +182,7 @@ function PrismSidebarComponent_For_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
182
182
|
const STORAGE_KEY = 'ng-prism-sidebar-collapsed';
|
|
183
183
|
const SECTION_ICONS = {
|
|
184
184
|
Components: 'box',
|
|
185
|
-
Directives: 'zap'
|
|
185
|
+
Directives: 'zap'
|
|
186
186
|
};
|
|
187
187
|
const DEFAULT_SECTION_ICON = 'box-select';
|
|
188
188
|
function sectionIcon(name) {
|
|
@@ -200,9 +200,7 @@ export class PrismSidebarComponent {
|
|
|
200
200
|
if (e.key !== '/' || e.ctrlKey || e.metaKey || e.altKey)
|
|
201
201
|
return;
|
|
202
202
|
const tag = e.target.tagName;
|
|
203
|
-
if (tag === 'INPUT' ||
|
|
204
|
-
tag === 'TEXTAREA' ||
|
|
205
|
-
e.target.isContentEditable)
|
|
203
|
+
if (tag === 'INPUT' || tag === 'TEXTAREA' || e.target.isContentEditable)
|
|
206
204
|
return;
|
|
207
205
|
e.preventDefault();
|
|
208
206
|
this.filterInput()?.nativeElement.focus();
|
|
@@ -224,7 +222,7 @@ export class PrismSidebarComponent {
|
|
|
224
222
|
}
|
|
225
223
|
return [...catMap.entries()].map(([name, items]) => ({
|
|
226
224
|
name,
|
|
227
|
-
items
|
|
225
|
+
items
|
|
228
226
|
}));
|
|
229
227
|
}, /* @ts-ignore */
|
|
230
228
|
...(ngDevMode ? [{ debugName: "pageCategories" }] : /* istanbul ignore next */ []));
|
|
@@ -238,14 +236,14 @@ export class PrismSidebarComponent {
|
|
|
238
236
|
const items = cat.items.map((item) => ({
|
|
239
237
|
item,
|
|
240
238
|
icon: lifecycleIcon(this.itemStatus(item)),
|
|
241
|
-
decorations: decorateItem(item, defs)
|
|
239
|
+
decorations: decorateItem(item, defs)
|
|
242
240
|
}));
|
|
243
241
|
return {
|
|
244
242
|
name: cat.name,
|
|
245
243
|
rollup: rollupCategory(items.map((row) => row.decorations)),
|
|
246
|
-
items
|
|
244
|
+
items
|
|
247
245
|
};
|
|
248
|
-
})
|
|
246
|
+
})
|
|
249
247
|
}));
|
|
250
248
|
}, /* @ts-ignore */
|
|
251
249
|
...(ngDevMode ? [{ debugName: "componentSections" }] : /* istanbul ignore next */ []));
|
|
@@ -264,19 +262,13 @@ export class PrismSidebarComponent {
|
|
|
264
262
|
});
|
|
265
263
|
}
|
|
266
264
|
itemKey(item) {
|
|
267
|
-
return item.kind === 'component'
|
|
268
|
-
? item.data.meta.className
|
|
269
|
-
: `page:${item.data.title}`;
|
|
265
|
+
return item.kind === 'component' ? item.data.meta.className : `page:${item.data.title}`;
|
|
270
266
|
}
|
|
271
267
|
itemLabel(item) {
|
|
272
|
-
return item.kind === 'component'
|
|
273
|
-
? item.data.meta.showcaseConfig.title
|
|
274
|
-
: item.data.title;
|
|
268
|
+
return item.kind === 'component' ? item.data.meta.showcaseConfig.title : item.data.title;
|
|
275
269
|
}
|
|
276
270
|
itemStatus(item) {
|
|
277
|
-
return item.kind === 'component'
|
|
278
|
-
? item.data.meta.showcaseConfig.status
|
|
279
|
-
: undefined;
|
|
271
|
+
return item.kind === 'component' ? item.data.meta.showcaseConfig.status : undefined;
|
|
280
272
|
}
|
|
281
273
|
/**
|
|
282
274
|
* Accessible name for the roll-up pill, for the deviating case only. The
|
|
@@ -311,7 +303,7 @@ export class PrismSidebarComponent {
|
|
|
311
303
|
if (!active || active.kind !== item.kind)
|
|
312
304
|
return false;
|
|
313
305
|
if (item.kind === 'component') {
|
|
314
|
-
return
|
|
306
|
+
return item.data.meta.className === active.data.meta.className;
|
|
315
307
|
}
|
|
316
308
|
return item.data.title === active.data.title;
|
|
317
309
|
}
|
|
@@ -336,7 +328,10 @@ export class PrismSidebarComponent {
|
|
|
336
328
|
try {
|
|
337
329
|
localStorage.setItem(STORAGE_KEY, JSON.stringify([...set]));
|
|
338
330
|
}
|
|
339
|
-
catch {
|
|
331
|
+
catch {
|
|
332
|
+
// Storage may be full or disabled (e.g. private browsing); the
|
|
333
|
+
// collapsed set just stays unpersisted for this session.
|
|
334
|
+
}
|
|
340
335
|
}
|
|
341
336
|
static ɵfac = function PrismSidebarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismSidebarComponent)(); };
|
|
342
337
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismSidebarComponent, selectors: [["prism-sidebar"]], viewQuery: function PrismSidebarComponent_Query(rf, ctx) { if (rf & 1) {
|
|
@@ -367,143 +362,13 @@ export class PrismSidebarComponent {
|
|
|
367
362
|
i0.ɵɵconditional(ctx.pageCategories().length > 0 ? 8 : -1);
|
|
368
363
|
i0.ɵɵadvance();
|
|
369
364
|
i0.ɵɵrepeater(ctx.componentSections());
|
|
370
|
-
} }, dependencies: [PrismIconComponent], styles: [".prism-sidebar[_ngcontent-%COMP%] {\n
|
|
365
|
+
} }, dependencies: [PrismIconComponent], styles: [".prism-sidebar[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n}\n\n.sb-filter[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n height: 30px;\n padding: 0 10px;\n margin: 12px;\n color: var(--%NS%prism-text-muted);\n background: var(--%NS%prism-input-bg);\n border: 1px solid var(--%NS%prism-border);\n border-radius: 6px;\n}\n\n.sb-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n font-family: var(--%NS%font-sans);\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text);\n outline: none;\n background: transparent;\n border: 0;\n}\n\n.sb-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder {\n color: var(--%NS%prism-text-muted);\n}\n\n.sb-filter[_ngcontent-%COMP%] kbd[_ngcontent-%COMP%] {\n padding: 1px 5px;\n font-family: var(--%NS%font-mono);\n font-size: 10px;\n color: var(--%NS%prism-text-ghost);\n border: 1px solid var(--%NS%prism-border);\n border-radius: 3px;\n}\n\n.sb-scroll[_ngcontent-%COMP%] {\n flex: 1;\n padding: 10px 0 16px;\n padding-top: 0;\n overflow-y: auto;\n}\n\n.sb-scroll[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 8px;\n}\n\n.sb-scroll[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--%NS%prism-border-strong);\n border-radius: 4px;\n}\n\n.sb-scroll[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.sb-pinned[_ngcontent-%COMP%] {\n padding: 0 0 10px;\n margin-bottom: 4px;\n border-top: 1px solid var(--%NS%prism-border);\n border-bottom: 1px solid var(--%NS%prism-border);\n}\n\n.sb-section-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n margin-top: 6px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--%NS%prism-text-ghost);\n text-transform: uppercase;\n letter-spacing: 0.09em;\n}\n\n.sb-section-head-l[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n align-items: center;\n}\n\n.sb-section-icon[_ngcontent-%COMP%] {\n color: var(--%NS%prism-primary);\n}\n\n.sb-pinned-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n margin-top: 6px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--%NS%prism-text-ghost);\n text-transform: uppercase;\n letter-spacing: 0.09em;\n}\n\n.sb-pinned-head-l[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n align-items: center;\n}\n\n.sb-pinned-pin[_ngcontent-%COMP%] {\n color: var(--%NS%prism-accent);\n}\n\n.sb-group[_ngcontent-%COMP%] {\n margin-bottom: 4px;\n}\n\n.sb-group-head[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n align-items: center;\n width: 100%;\n padding: 8px 14px 6px;\n font-family: var(--%NS%font-sans);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--%NS%prism-text-ghost);\n text-align: left;\n text-transform: uppercase;\n letter-spacing: 0.09em;\n cursor: pointer;\n user-select: none;\n background: none;\n border: none;\n}\n\n.sb-group-head[_ngcontent-%COMP%] prism-icon[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text-ghost);\n transition: transform var(--%NS%dur-fast);\n}\n\n.sb-group--collapsed[_ngcontent-%COMP%] .sb-group-head[_ngcontent-%COMP%] prism-icon[_ngcontent-%COMP%] {\n transform: rotate(-90deg);\n}\n\n.sb-group-chip[_ngcontent-%COMP%] {\n width: 6px;\n height: 6px;\n background: var(--%NS%prism-text-ghost);\n border-radius: 2px;\n}\n\n.sb-group-count[_ngcontent-%COMP%] {\n margin-left: auto;\n font-family: var(--%NS%font-mono);\n font-size: 10px;\n font-weight: 500;\n color: var(--%NS%prism-text-ghost);\n}\n\n.sb-group-count--warn[_ngcontent-%COMP%] {\n color: var(--%NS%prism-mark-attention);\n}\n\n.sb-group-count--danger[_ngcontent-%COMP%] {\n color: var(--%NS%prism-mark-critical);\n}\n\n.sb-item[_ngcontent-%COMP%] {\n display: flex;\n gap: 10px;\n align-items: center;\n width: 100%;\n height: 30px;\n padding: 0 14px 0 28px;\n font-family: var(--%NS%font-sans);\n font-size: 13px;\n color: var(--%NS%prism-text-2);\n text-align: left;\n cursor: pointer;\n background: none;\n border: none;\n transition:\n background var(--%NS%dur-fast),\n color var(--%NS%dur-fast);\n}\n\n.sb-item[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text);\n background: color-mix(in srgb, var(--%NS%prism-primary) 5%, transparent);\n}\n\n.sb-item--active[_ngcontent-%COMP%] {\n font-weight: 500;\n background: color-mix(in srgb, var(--%NS%prism-primary) 12%, transparent);\n}\n\n.sb-item-icon[_ngcontent-%COMP%] {\n flex: 0 0 12px;\n opacity: 0.7;\n}\n\n.sb-item-name[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n\n\n\n\n\n\n\n.sb-item-health[_ngcontent-%COMP%] {\n display: flex;\n flex: none;\n gap: var(--%NS%sp-1);\n align-items: center;\n justify-content: flex-end;\n width: 40px;\n overflow: hidden;\n}\n\n\n\n\n\n\n.sb-health[_ngcontent-%COMP%] {\n fill: none;\n stroke: currentcolor;\n stroke-width: 2;\n}\n\n.sb-health--warn[_ngcontent-%COMP%] {\n color: color-mix(in srgb, var(--%NS%prism-mark-attention) 80%, transparent);\n}\n\n.sb-health--danger[_ngcontent-%COMP%] {\n color: var(--%NS%prism-mark-critical);\n}\n\n.sb-item--deprecated[_ngcontent-%COMP%] .sb-item-name[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text-ghost);\n text-decoration: line-through;\n text-decoration-thickness: 1px;\n opacity: 0.7;\n}\n\n[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 2px;\n}"] });
|
|
371
366
|
}
|
|
372
367
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismSidebarComponent, [{
|
|
373
368
|
type: Component,
|
|
374
|
-
args: [{ selector: 'prism-sidebar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent], template: `
|
|
375
|
-
<nav class="prism-sidebar">
|
|
376
|
-
<div class="sb-filter">
|
|
377
|
-
<prism-icon name="search" [size]="12" />
|
|
378
|
-
<input
|
|
379
|
-
#filterInput
|
|
380
|
-
placeholder="Filter components…"
|
|
381
|
-
[value]="searchService.query()"
|
|
382
|
-
(input)="searchService.search($any($event.target).value)"
|
|
383
|
-
/>
|
|
384
|
-
<kbd>/</kbd>
|
|
385
|
-
</div>
|
|
386
|
-
|
|
387
|
-
<div class="sb-scroll">
|
|
388
|
-
@if (pageCategories().length > 0) {
|
|
389
|
-
<div class="sb-pinned">
|
|
390
|
-
<div class="sb-pinned-head">
|
|
391
|
-
<span class="sb-pinned-head-l">
|
|
392
|
-
<prism-icon name="pin" [size]="10" class="sb-pinned-pin" />
|
|
393
|
-
Pages
|
|
394
|
-
</span>
|
|
395
|
-
<span>{{ totalPages() }}</span>
|
|
396
|
-
</div>
|
|
397
|
-
@for (cat of pageCategories(); track cat.name) {
|
|
398
|
-
<div
|
|
399
|
-
class="sb-group"
|
|
400
|
-
[class.sb-group--collapsed]="isCollapsed('page:' + cat.name)"
|
|
401
|
-
>
|
|
402
|
-
<button
|
|
403
|
-
class="sb-group-head"
|
|
404
|
-
(click)="toggleCollapse('page:' + cat.name)"
|
|
405
|
-
[attr.aria-expanded]="!isCollapsed('page:' + cat.name)"
|
|
406
|
-
>
|
|
407
|
-
<prism-icon name="chevron-down" [size]="10" />
|
|
408
|
-
<span class="sb-group-chip"></span>
|
|
409
|
-
{{ cat.name }}
|
|
410
|
-
</button>
|
|
411
|
-
@if (!isCollapsed('page:' + cat.name)) {
|
|
412
|
-
<div class="sb-group-body">
|
|
413
|
-
@for (item of cat.items; track itemKey(item)) {
|
|
414
|
-
<button
|
|
415
|
-
class="sb-item"
|
|
416
|
-
[class.sb-item--active]="isActive(item)"
|
|
417
|
-
(click)="onSelect(item)"
|
|
418
|
-
>
|
|
419
|
-
<span class="sb-item-name">{{ itemLabel(item) }}</span>
|
|
420
|
-
</button>
|
|
421
|
-
}
|
|
422
|
-
</div>
|
|
423
|
-
}
|
|
424
|
-
</div>
|
|
425
|
-
}
|
|
426
|
-
</div>
|
|
427
|
-
} @for (section of componentSections(); track section.name) {
|
|
428
|
-
<div class="sb-section-head">
|
|
429
|
-
<span class="sb-section-head-l">
|
|
430
|
-
<prism-icon
|
|
431
|
-
[name]="section.icon"
|
|
432
|
-
[size]="10"
|
|
433
|
-
class="sb-section-icon"
|
|
434
|
-
/>
|
|
435
|
-
{{ section.name }}
|
|
436
|
-
</span>
|
|
437
|
-
<span>{{ section.totalCount }}</span>
|
|
438
|
-
</div>
|
|
439
|
-
@for (cat of section.categories; track cat.name) {
|
|
440
|
-
<div
|
|
441
|
-
class="sb-group"
|
|
442
|
-
[class.sb-group--collapsed]="
|
|
443
|
-
isCollapsed('sec:' + section.name + ':' + cat.name)
|
|
444
|
-
"
|
|
445
|
-
>
|
|
446
|
-
<button
|
|
447
|
-
class="sb-group-head"
|
|
448
|
-
(click)="toggleCollapse('sec:' + section.name + ':' + cat.name)"
|
|
449
|
-
[attr.aria-expanded]="
|
|
450
|
-
!isCollapsed('sec:' + section.name + ':' + cat.name)
|
|
451
|
-
"
|
|
452
|
-
>
|
|
453
|
-
<prism-icon name="chevron-down" [size]="10" />
|
|
454
|
-
<span class="sb-group-chip"></span>
|
|
455
|
-
{{ cat.name }}
|
|
456
|
-
<span
|
|
457
|
-
class="sb-group-count"
|
|
458
|
-
[class.sb-group-count--warn]="cat.rollup.variant === 'warn'"
|
|
459
|
-
[class.sb-group-count--danger]="cat.rollup.variant === 'danger'"
|
|
460
|
-
[attr.title]="
|
|
461
|
-
cat.rollup.problems ? rollupTooltip(cat.rollup) : null
|
|
462
|
-
"
|
|
463
|
-
[attr.aria-label]="
|
|
464
|
-
cat.rollup.problems ? rollupTooltip(cat.rollup) : null
|
|
465
|
-
"
|
|
466
|
-
>
|
|
467
|
-
@if (cat.rollup.problems) { {{ cat.rollup.problems }}/{{
|
|
468
|
-
cat.items.length
|
|
469
|
-
}}
|
|
470
|
-
} @else { {{ cat.items.length }} }
|
|
471
|
-
</span>
|
|
472
|
-
</button>
|
|
473
|
-
@if (!isCollapsed('sec:' + section.name + ':' + cat.name)) {
|
|
474
|
-
<div class="sb-group-body">
|
|
475
|
-
@for (row of cat.items; track itemKey(row.item)) {
|
|
476
|
-
<button
|
|
477
|
-
class="sb-item"
|
|
478
|
-
[class.sb-item--active]="isActive(row.item)"
|
|
479
|
-
[class.sb-item--deprecated]="
|
|
480
|
-
itemStatus(row.item) === 'deprecated'
|
|
481
|
-
"
|
|
482
|
-
[attr.title]="itemTooltip(row.item, row.decorations)"
|
|
483
|
-
(click)="onSelect(row.item)"
|
|
484
|
-
>
|
|
485
|
-
<prism-icon [name]="row.icon" [size]="12" class="sb-item-icon" />
|
|
486
|
-
<span class="sb-item-name">{{ itemLabel(row.item) }}</span>
|
|
487
|
-
<span class="sb-item-health">
|
|
488
|
-
@for (mark of row.decorations?.marks ?? []; track mark.id) {
|
|
489
|
-
<prism-icon
|
|
490
|
-
[name]="mark.icon"
|
|
491
|
-
[size]="11"
|
|
492
|
-
[class]="'sb-health sb-health--' + mark.variant"
|
|
493
|
-
/>
|
|
494
|
-
}
|
|
495
|
-
</span>
|
|
496
|
-
</button>
|
|
497
|
-
}
|
|
498
|
-
</div>
|
|
499
|
-
}
|
|
500
|
-
</div>
|
|
501
|
-
} }
|
|
502
|
-
</div>
|
|
503
|
-
</nav>
|
|
504
|
-
`, styles: ["\n .prism-sidebar {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n }\n\n .sb-filter {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 12px;\n padding: 0 10px;\n height: 30px;\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n border-radius: 6px;\n color: var(--prism-text-muted);\n }\n .sb-filter input {\n flex: 1;\n min-width: 0;\n background: transparent;\n border: 0;\n outline: none;\n font-size: var(--fs-md);\n color: var(--prism-text);\n font-family: var(--font-sans);\n }\n .sb-filter input::placeholder { color: var(--prism-text-muted); }\n .sb-filter kbd {\n font-family: var(--font-mono);\n font-size: 10px;\n color: var(--prism-text-ghost);\n padding: 1px 5px;\n border: 1px solid var(--prism-border);\n border-radius: 3px;\n }\n\n .sb-scroll {\n flex: 1;\n overflow-y: auto;\n padding: 10px 0 16px;\n padding-top: 0;\n }\n .sb-scroll::-webkit-scrollbar { width: 8px; }\n .sb-scroll::-webkit-scrollbar-thumb { background: var(--prism-border-strong); border-radius: 4px; }\n .sb-scroll::-webkit-scrollbar-track { background: transparent; }\n\n .sb-pinned {\n padding: 0 0 10px;\n margin-bottom: 4px;\n border-bottom: 1px solid var(--prism-border);\n border-top: 1px solid var(--prism-border);\n }\n .sb-section-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: var(--prism-text-ghost);\n margin-top: 6px;\n }\n .sb-section-head-l { display: flex; align-items: center; gap: 6px; }\n .sb-section-icon { color: var(--prism-primary); }\n .sb-pinned-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n margin-top: 6px;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: var(--prism-text-ghost);\n }\n .sb-pinned-head-l { display: flex; align-items: center; gap: 6px; }\n .sb-pinned-pin { color: var(--prism-accent); }\n\n .sb-group { margin-bottom: 4px; }\n .sb-group-head {\n display: flex;\n align-items: center;\n gap: 6px;\n width: 100%;\n padding: 8px 14px 6px;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.09em;\n text-transform: uppercase;\n color: var(--prism-text-ghost);\n cursor: pointer;\n user-select: none;\n background: none;\n border: none;\n text-align: left;\n font-family: var(--font-sans);\n }\n .sb-group-head prism-icon {\n transition: transform var(--dur-fast);\n color: var(--prism-text-ghost);\n }\n .sb-group--collapsed .sb-group-head prism-icon { transform: rotate(-90deg); }\n\n .sb-group-chip {\n width: 6px;\n height: 6px;\n border-radius: 2px;\n background: var(--prism-text-ghost);\n }\n .sb-group-count {\n margin-left: auto;\n font-family: var(--font-mono);\n font-size: 10px;\n color: var(--prism-text-ghost);\n font-weight: 500;\n }\n .sb-group-count--warn { color: var(--prism-mark-attention); }\n .sb-group-count--danger { color: var(--prism-mark-critical); }\n\n .sb-item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n height: 30px;\n padding: 0 14px 0 28px;\n font-size: 13px;\n color: var(--prism-text-2);\n cursor: pointer;\n border: none;\n background: none;\n transition: background var(--dur-fast), color var(--dur-fast);\n text-align: left;\n font-family: var(--font-sans);\n }\n .sb-item:hover {\n background: color-mix(in srgb, var(--prism-primary) 5%, transparent);\n color: var(--prism-text);\n }\n .sb-item--active {\n background: color-mix(in srgb, var(--prism-primary) 12%, transparent);\n font-weight: 500;\n }\n .sb-item-icon { flex: 0 0 12px; opacity: 0.7; }\n .sb-item-name {\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n /* Fixed width sized for the three built-in decoration sources (a11y,\n plugin-coverage, plugin-visual-regression) at 11px each plus two\n --sp-1 gaps, with a little headroom. navigationDecorations is an open\n extension point, so a fourth mark from a third-party plugin is\n clipped via overflow: hidden rather than allowed to grow the gutter \u2014\n the point of a fixed-width gutter is that rows never shift\n horizontally as you scan the list. */\n .sb-item-health {\n width: 40px;\n flex: none;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--sp-1);\n overflow: hidden;\n }\n\n /* Outline, not fill, and full saturation only for danger. The mechanism\n behind these marks is already deviation-driven: decorateItem returns\n null for a clean component and every source bails out at variant === 'ok'.\n What made them read as wallpaper was the drawing: a filled shape at full\n saturation, one per row, in a repo where deviating is the normal case. */\n .sb-health { fill: none; stroke: currentColor; stroke-width: 2; }\n .sb-health--warn {\n color: color-mix(in srgb, var(--prism-mark-attention) 80%, transparent);\n }\n .sb-health--danger { color: var(--prism-mark-critical); }\n\n .sb-item--deprecated .sb-item-name {\n text-decoration: line-through;\n text-decoration-thickness: 1px;\n color: var(--prism-text-ghost);\n opacity: 0.7;\n }\n\n\n :focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 2px;\n }\n "] }]
|
|
369
|
+
args: [{ selector: 'prism-sidebar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent], template: "<nav class=\"prism-sidebar\">\n <div class=\"sb-filter\">\n <prism-icon\n name=\"search\"\n [size]=\"12\" />\n <input\n #filterInput\n placeholder=\"Filter components\u2026\"\n [value]=\"searchService.query()\"\n (input)=\"searchService.search($any($event.target).value)\" />\n <kbd>/</kbd>\n </div>\n\n <div class=\"sb-scroll\">\n @if (pageCategories().length > 0) {\n <div class=\"sb-pinned\">\n <div class=\"sb-pinned-head\">\n <span class=\"sb-pinned-head-l\">\n <prism-icon\n name=\"pin\"\n [size]=\"10\"\n class=\"sb-pinned-pin\" />\n Pages\n </span>\n <span>{{ totalPages() }}</span>\n </div>\n @for (cat of pageCategories(); track cat.name) {\n <div\n class=\"sb-group\"\n [class.sb-group--collapsed]=\"isCollapsed('page:' + cat.name)\">\n <button\n class=\"sb-group-head\"\n (click)=\"toggleCollapse('page:' + cat.name)\"\n [attr.aria-expanded]=\"!isCollapsed('page:' + cat.name)\">\n <prism-icon\n name=\"chevron-down\"\n [size]=\"10\" />\n <span class=\"sb-group-chip\"></span>\n {{ cat.name }}\n </button>\n @if (!isCollapsed('page:' + cat.name)) {\n <div class=\"sb-group-body\">\n @for (item of cat.items; track itemKey(item)) {\n <button\n class=\"sb-item\"\n [class.sb-item--active]=\"isActive(item)\"\n (click)=\"onSelect(item)\">\n <span class=\"sb-item-name\">{{ itemLabel(item) }}</span>\n </button>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n @for (section of componentSections(); track section.name) {\n <div class=\"sb-section-head\">\n <span class=\"sb-section-head-l\">\n <prism-icon\n [name]=\"section.icon\"\n [size]=\"10\"\n class=\"sb-section-icon\" />\n {{ section.name }}\n </span>\n <span>{{ section.totalCount }}</span>\n </div>\n @for (cat of section.categories; track cat.name) {\n <div\n class=\"sb-group\"\n [class.sb-group--collapsed]=\"isCollapsed('sec:' + section.name + ':' + cat.name)\">\n <button\n class=\"sb-group-head\"\n (click)=\"toggleCollapse('sec:' + section.name + ':' + cat.name)\"\n [attr.aria-expanded]=\"!isCollapsed('sec:' + section.name + ':' + cat.name)\">\n <prism-icon\n name=\"chevron-down\"\n [size]=\"10\" />\n <span class=\"sb-group-chip\"></span>\n {{ cat.name }}\n <span\n class=\"sb-group-count\"\n [class.sb-group-count--warn]=\"cat.rollup.variant === 'warn'\"\n [class.sb-group-count--danger]=\"cat.rollup.variant === 'danger'\"\n [attr.title]=\"cat.rollup.problems ? rollupTooltip(cat.rollup) : null\"\n [attr.aria-label]=\"cat.rollup.problems ? rollupTooltip(cat.rollup) : null\">\n @if (cat.rollup.problems) {\n {{ cat.rollup.problems }}/{{ cat.items.length }}\n } @else {\n {{ cat.items.length }}\n }\n </span>\n </button>\n @if (!isCollapsed('sec:' + section.name + ':' + cat.name)) {\n <div class=\"sb-group-body\">\n @for (row of cat.items; track itemKey(row.item)) {\n <button\n class=\"sb-item\"\n [class.sb-item--active]=\"isActive(row.item)\"\n [class.sb-item--deprecated]=\"itemStatus(row.item) === 'deprecated'\"\n [attr.title]=\"itemTooltip(row.item, row.decorations)\"\n (click)=\"onSelect(row.item)\">\n <prism-icon\n [name]=\"row.icon\"\n [size]=\"12\"\n class=\"sb-item-icon\" />\n <span class=\"sb-item-name\">{{ itemLabel(row.item) }}</span>\n <span class=\"sb-item-health\">\n @for (mark of row.decorations?.marks ?? []; track mark.id) {\n <prism-icon\n [name]=\"mark.icon\"\n [size]=\"11\"\n [class]=\"'sb-health sb-health--' + mark.variant\" />\n }\n </span>\n </button>\n }\n </div>\n }\n </div>\n }\n }\n </div>\n</nav>\n", styles: [".prism-sidebar {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n}\n\n.sb-filter {\n display: flex;\n gap: 8px;\n align-items: center;\n height: 30px;\n padding: 0 10px;\n margin: 12px;\n color: var(--prism-text-muted);\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n border-radius: 6px;\n}\n\n.sb-filter input {\n flex: 1;\n min-width: 0;\n font-family: var(--font-sans);\n font-size: var(--fs-md);\n color: var(--prism-text);\n outline: none;\n background: transparent;\n border: 0;\n}\n\n.sb-filter input::placeholder {\n color: var(--prism-text-muted);\n}\n\n.sb-filter kbd {\n padding: 1px 5px;\n font-family: var(--font-mono);\n font-size: 10px;\n color: var(--prism-text-ghost);\n border: 1px solid var(--prism-border);\n border-radius: 3px;\n}\n\n.sb-scroll {\n flex: 1;\n padding: 10px 0 16px;\n padding-top: 0;\n overflow-y: auto;\n}\n\n.sb-scroll::-webkit-scrollbar {\n width: 8px;\n}\n\n.sb-scroll::-webkit-scrollbar-thumb {\n background: var(--prism-border-strong);\n border-radius: 4px;\n}\n\n.sb-scroll::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.sb-pinned {\n padding: 0 0 10px;\n margin-bottom: 4px;\n border-top: 1px solid var(--prism-border);\n border-bottom: 1px solid var(--prism-border);\n}\n\n.sb-section-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n margin-top: 6px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--prism-text-ghost);\n text-transform: uppercase;\n letter-spacing: 0.09em;\n}\n\n.sb-section-head-l {\n display: flex;\n gap: 6px;\n align-items: center;\n}\n\n.sb-section-icon {\n color: var(--prism-primary);\n}\n\n.sb-pinned-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n margin-top: 6px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--prism-text-ghost);\n text-transform: uppercase;\n letter-spacing: 0.09em;\n}\n\n.sb-pinned-head-l {\n display: flex;\n gap: 6px;\n align-items: center;\n}\n\n.sb-pinned-pin {\n color: var(--prism-accent);\n}\n\n.sb-group {\n margin-bottom: 4px;\n}\n\n.sb-group-head {\n display: flex;\n gap: 6px;\n align-items: center;\n width: 100%;\n padding: 8px 14px 6px;\n font-family: var(--font-sans);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--prism-text-ghost);\n text-align: left;\n text-transform: uppercase;\n letter-spacing: 0.09em;\n cursor: pointer;\n user-select: none;\n background: none;\n border: none;\n}\n\n.sb-group-head prism-icon {\n color: var(--prism-text-ghost);\n transition: transform var(--dur-fast);\n}\n\n.sb-group--collapsed .sb-group-head prism-icon {\n transform: rotate(-90deg);\n}\n\n.sb-group-chip {\n width: 6px;\n height: 6px;\n background: var(--prism-text-ghost);\n border-radius: 2px;\n}\n\n.sb-group-count {\n margin-left: auto;\n font-family: var(--font-mono);\n font-size: 10px;\n font-weight: 500;\n color: var(--prism-text-ghost);\n}\n\n.sb-group-count--warn {\n color: var(--prism-mark-attention);\n}\n\n.sb-group-count--danger {\n color: var(--prism-mark-critical);\n}\n\n.sb-item {\n display: flex;\n gap: 10px;\n align-items: center;\n width: 100%;\n height: 30px;\n padding: 0 14px 0 28px;\n font-family: var(--font-sans);\n font-size: 13px;\n color: var(--prism-text-2);\n text-align: left;\n cursor: pointer;\n background: none;\n border: none;\n transition:\n background var(--dur-fast),\n color var(--dur-fast);\n}\n\n.sb-item:hover {\n color: var(--prism-text);\n background: color-mix(in srgb, var(--prism-primary) 5%, transparent);\n}\n\n.sb-item--active {\n font-weight: 500;\n background: color-mix(in srgb, var(--prism-primary) 12%, transparent);\n}\n\n.sb-item-icon {\n flex: 0 0 12px;\n opacity: 0.7;\n}\n\n.sb-item-name {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Fixed width sized for the three built-in decoration sources (a11y,\n plugin-coverage, plugin-visual-regression) at 11px each plus two\n --sp-1 gaps, with a little headroom. navigationDecorations is an open\n extension point, so a fourth mark from a third-party plugin is\n clipped via overflow: hidden rather than allowed to grow the gutter \u2014\n the point of a fixed-width gutter is that rows never shift\n horizontally as you scan the list. */\n.sb-item-health {\n display: flex;\n flex: none;\n gap: var(--sp-1);\n align-items: center;\n justify-content: flex-end;\n width: 40px;\n overflow: hidden;\n}\n\n/* Outline, not fill, and full saturation only for danger. The mechanism\n behind these marks is already deviation-driven: decorateItem returns\n null for a clean component and every source bails out at variant === 'ok'.\n What made them read as wallpaper was the drawing: a filled shape at full\n saturation, one per row, in a repo where deviating is the normal case. */\n.sb-health {\n fill: none;\n stroke: currentcolor;\n stroke-width: 2;\n}\n\n.sb-health--warn {\n color: color-mix(in srgb, var(--prism-mark-attention) 80%, transparent);\n}\n\n.sb-health--danger {\n color: var(--prism-mark-critical);\n}\n\n.sb-item--deprecated .sb-item-name {\n color: var(--prism-text-ghost);\n text-decoration: line-through;\n text-decoration-thickness: 1px;\n opacity: 0.7;\n}\n\n:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 2px;\n}\n"] }]
|
|
505
370
|
}], null, { filterInput: [{ type: i0.ViewChild, args: ['filterInput', { isSignal: true }] }], onGlobalKey: [{
|
|
506
371
|
type: HostListener,
|
|
507
372
|
args: ['document:keydown', ['$event']]
|
|
508
373
|
}] }); })();
|
|
509
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismSidebarComponent, { className: "PrismSidebarComponent", filePath: "app/sidebar/prism-sidebar.component.ts", lineNumber:
|
|
374
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismSidebarComponent, { className: "PrismSidebarComponent", filePath: "app/sidebar/prism-sidebar.component.ts", lineNumber: 48 }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-default-theme.d.ts","sourceRoot":"","sources":["../../../src/app/theme/prism-default-theme.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"prism-default-theme.d.ts","sourceRoot":"","sources":["../../../src/app/theme/prism-default-theme.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyCnD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyCpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0DpD,CAAC;AAEF,eAAO,MAAM,mBAAmB,wBAAmB,CAAC"}
|