@ng-prism/core 22.5.0 → 22.7.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -9
- 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 +1 -1
- package/dist/app/canvas/canvas-overlay-tokens.d.ts +12 -0
- package/dist/app/canvas/canvas-overlay-tokens.d.ts.map +1 -0
- package/dist/app/canvas/canvas-overlay-tokens.js +52 -0
- package/dist/app/canvas/prism-canvas-bg-pill.component.js +2 -2
- package/dist/app/canvas/prism-canvas-pin-row.component.js +2 -2
- package/dist/app/canvas/prism-canvas-rulers.component.d.ts +2 -0
- package/dist/app/canvas/prism-canvas-rulers.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-rulers.component.js +17 -12
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts +25 -3
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-toolbar.component.js +154 -89
- package/dist/app/canvas/prism-template-popover.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-template-popover.component.js +16 -7
- package/dist/app/canvas/state-chips.d.ts +50 -0
- package/dist/app/canvas/state-chips.d.ts.map +1 -0
- package/dist/app/canvas/state-chips.js +40 -0
- package/dist/app/component-head/head-metrics.d.ts +35 -19
- package/dist/app/component-head/head-metrics.d.ts.map +1 -1
- package/dist/app/component-head/head-metrics.js +57 -27
- package/dist/app/component-head/pipe-facts.d.ts +9 -0
- package/dist/app/component-head/pipe-facts.d.ts.map +1 -0
- package/dist/app/component-head/pipe-facts.js +15 -0
- package/dist/app/component-head/prism-component-head.component.d.ts +20 -22
- package/dist/app/component-head/prism-component-head.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-component-head.component.js +85 -96
- package/dist/app/component-head/prism-head-gauge.component.d.ts +8 -12
- package/dist/app/component-head/prism-head-gauge.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-head-gauge.component.js +51 -67
- package/dist/app/component-head/prism-head-info.component.d.ts +14 -2
- package/dist/app/component-head/prism-head-info.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-head-info.component.js +84 -20
- package/dist/app/component-head/prism-stat.component.d.ts +4 -5
- package/dist/app/component-head/prism-stat.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-stat.component.js +16 -12
- package/dist/app/component-head/service-facts.d.ts +8 -0
- package/dist/app/component-head/service-facts.d.ts.map +1 -0
- package/dist/app/component-head/service-facts.js +11 -0
- package/dist/app/controls/boolean-control.component.js +2 -2
- package/dist/app/controls/json-control.component.js +2 -2
- package/dist/app/controls/union-control.component.js +4 -3
- package/dist/app/directives/resize-value.d.ts +1 -1
- package/dist/app/directives/resize-value.js +1 -1
- package/dist/app/discovery-manifest.d.ts +2 -2
- package/dist/app/discovery-manifest.d.ts.map +1 -1
- package/dist/app/discovery-manifest.js +15 -3
- package/dist/app/header/header-brand.d.ts +25 -0
- package/dist/app/header/header-brand.d.ts.map +1 -0
- package/dist/app/header/header-brand.js +10 -0
- package/dist/app/header/prism-header.component.d.ts +2 -2
- package/dist/app/header/prism-header.component.d.ts.map +1 -1
- package/dist/app/header/prism-header.component.js +73 -57
- package/dist/app/icons/icon-registry.d.ts.map +1 -1
- package/dist/app/icons/icon-registry.js +4 -1
- package/dist/app/index.d.ts +12 -0
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.js +12 -1
- package/dist/app/layout-menu/prism-layout-menu.component.d.ts +3 -0
- package/dist/app/layout-menu/prism-layout-menu.component.d.ts.map +1 -1
- package/dist/app/layout-menu/prism-layout-menu.component.js +72 -58
- package/dist/app/overview/open-in-playground.d.ts +19 -0
- package/dist/app/overview/open-in-playground.d.ts.map +1 -0
- package/dist/app/overview/open-in-playground.js +25 -0
- package/dist/app/overview/overview-matrix.d.ts +85 -0
- package/dist/app/overview/overview-matrix.d.ts.map +1 -0
- package/dist/app/overview/overview-matrix.js +98 -0
- package/dist/app/overview/overview-visibility.d.ts +10 -2
- package/dist/app/overview/overview-visibility.d.ts.map +1 -1
- package/dist/app/overview/overview-visibility.js +14 -3
- package/dist/app/overview/prism-overview-cell.component.d.ts +27 -2
- package/dist/app/overview/prism-overview-cell.component.d.ts.map +1 -1
- package/dist/app/overview/prism-overview-cell.component.js +145 -28
- package/dist/app/overview/prism-overview-matrix.component.d.ts +29 -0
- package/dist/app/overview/prism-overview-matrix.component.d.ts.map +1 -0
- package/dist/app/overview/prism-overview-matrix.component.js +155 -0
- package/dist/app/overview/prism-overview.component.d.ts +4 -0
- package/dist/app/overview/prism-overview.component.d.ts.map +1 -1
- package/dist/app/overview/prism-overview.component.js +37 -14
- package/dist/app/page-renderer/prism-page-renderer.component.js +2 -2
- package/dist/app/panels/a11y/a11y-core.plugin.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-core.plugin.js +0 -1
- package/dist/app/panels/a11y/a11y-header-badge.component.d.ts +1 -4
- package/dist/app/panels/a11y/a11y-header-badge.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-header-badge.component.js +8 -19
- package/dist/app/panels/a11y/a11y-keyboard-overlay.component.js +2 -2
- package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts +1 -0
- package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-overlay-host.component.js +4 -3
- package/dist/app/panels/a11y/a11y-panel.component.d.ts +4 -1
- package/dist/app/panels/a11y/a11y-panel.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-panel.component.js +32 -54
- package/dist/app/panels/a11y/a11y-score.component.d.ts +8 -3
- package/dist/app/panels/a11y/a11y-score.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-score.component.js +19 -35
- package/dist/app/panels/a11y/a11y-sr-overlay.component.js +2 -2
- package/dist/app/panels/a11y/a11y-sr.component.js +2 -2
- package/dist/app/panels/a11y/a11y-summary.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-summary.js +8 -1
- package/dist/app/panels/a11y/a11y-tree.component.js +2 -2
- package/dist/app/panels/a11y/a11y-violations.component.d.ts +23 -2
- package/dist/app/panels/a11y/a11y-violations.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-violations.component.js +104 -89
- package/dist/app/panels/a11y/severity.d.ts +9 -0
- package/dist/app/panels/a11y/severity.d.ts.map +1 -0
- package/dist/app/panels/a11y/severity.js +12 -0
- package/dist/app/panels/controls/controls-plugin.d.ts.map +1 -1
- package/dist/app/panels/controls/controls-plugin.js +1 -2
- package/dist/app/panels/controls/non-editable-input-types.d.ts +9 -1
- package/dist/app/panels/controls/non-editable-input-types.d.ts.map +1 -1
- package/dist/app/panels/controls/non-editable-input-types.js +18 -0
- package/dist/app/panels/controls/prism-controls-panel.component.d.ts +2 -1
- package/dist/app/panels/controls/prism-controls-panel.component.d.ts.map +1 -1
- package/dist/app/panels/controls/prism-controls-panel.component.js +77 -59
- package/dist/app/panels/events/events-plugin.d.ts.map +1 -1
- package/dist/app/panels/events/events-plugin.js +1 -2
- package/dist/app/panels/events/prism-events-panel.component.d.ts +2 -0
- package/dist/app/panels/events/prism-events-panel.component.d.ts.map +1 -1
- package/dist/app/panels/events/prism-events-panel.component.js +20 -7
- package/dist/app/panels/events/prism-json-node.utils.d.ts +6 -0
- package/dist/app/panels/events/prism-json-node.utils.d.ts.map +1 -1
- package/dist/app/panels/events/prism-json-node.utils.js +8 -0
- package/dist/app/panels/panel-host/addon-panels.d.ts +11 -0
- package/dist/app/panels/panel-host/addon-panels.d.ts.map +1 -0
- package/dist/app/panels/panel-host/addon-panels.js +12 -0
- package/dist/app/panels/panel-host/panel-badge.d.ts +22 -0
- package/dist/app/panels/panel-host/panel-badge.d.ts.map +1 -1
- package/dist/app/panels/panel-host/panel-badge.js +56 -11
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +4 -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 +36 -70
- package/dist/app/pseudo/pseudo-state-marker.d.ts +32 -10
- package/dist/app/pseudo/pseudo-state-marker.d.ts.map +1 -1
- package/dist/app/pseudo/pseudo-state-marker.js +83 -67
- package/dist/app/pseudo/pseudo-targets.d.ts +11 -0
- package/dist/app/pseudo/pseudo-targets.d.ts.map +1 -0
- package/dist/app/pseudo/pseudo-targets.js +46 -0
- package/dist/app/pseudo/state-fit.d.ts +28 -0
- package/dist/app/pseudo/state-fit.d.ts.map +1 -0
- package/dist/app/pseudo/state-fit.js +97 -0
- package/dist/app/renderer/composition.d.ts +20 -0
- package/dist/app/renderer/composition.d.ts.map +1 -0
- package/dist/app/renderer/composition.js +26 -0
- package/dist/app/renderer/input-bindings.d.ts +28 -0
- package/dist/app/renderer/input-bindings.d.ts.map +1 -0
- package/dist/app/renderer/input-bindings.js +42 -0
- package/dist/app/renderer/known-inputs.d.ts +8 -1
- package/dist/app/renderer/known-inputs.d.ts.map +1 -1
- package/dist/app/renderer/known-inputs.js +13 -5
- package/dist/app/renderer/prism-renderer.component.d.ts +18 -4
- package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
- package/dist/app/renderer/prism-renderer.component.js +78 -44
- package/dist/app/renderer/projectable-content.d.ts +8 -1
- package/dist/app/renderer/projectable-content.d.ts.map +1 -1
- package/dist/app/renderer/projectable-content.js +40 -29
- package/dist/app/renderer/rendered-key.d.ts +20 -6
- package/dist/app/renderer/rendered-key.d.ts.map +1 -1
- package/dist/app/renderer/rendered-key.js +25 -8
- package/dist/app/renderer/snippet-generator.d.ts +14 -2
- package/dist/app/renderer/snippet-generator.d.ts.map +1 -1
- package/dist/app/renderer/snippet-generator.js +138 -81
- package/dist/app/services/navigation-item.d.ts +10 -0
- package/dist/app/services/navigation-item.d.ts.map +1 -0
- package/dist/app/services/navigation-item.js +20 -0
- package/dist/app/services/navigation-item.types.d.ts +8 -0
- package/dist/app/services/navigation-item.types.d.ts.map +1 -1
- package/dist/app/services/prism-layout.service.d.ts +12 -0
- package/dist/app/services/prism-layout.service.d.ts.map +1 -1
- package/dist/app/services/prism-layout.service.js +17 -7
- package/dist/app/services/prism-manifest.service.d.ts +4 -0
- package/dist/app/services/prism-manifest.service.d.ts.map +1 -1
- package/dist/app/services/prism-manifest.service.js +4 -0
- package/dist/app/services/prism-navigation.service.d.ts +12 -0
- package/dist/app/services/prism-navigation.service.d.ts.map +1 -1
- package/dist/app/services/prism-navigation.service.js +85 -19
- package/dist/app/services/prism-panel.service.d.ts +7 -3
- package/dist/app/services/prism-panel.service.d.ts.map +1 -1
- package/dist/app/services/prism-panel.service.js +13 -4
- package/dist/app/services/prism-pseudo-state.service.d.ts +59 -14
- package/dist/app/services/prism-pseudo-state.service.d.ts.map +1 -1
- package/dist/app/services/prism-pseudo-state.service.js +86 -29
- package/dist/app/services/prism-renderer.service.d.ts +23 -0
- package/dist/app/services/prism-renderer.service.d.ts.map +1 -1
- package/dist/app/services/prism-renderer.service.js +77 -8
- package/dist/app/services/prism-search.service.d.ts +4 -0
- package/dist/app/services/prism-search.service.d.ts.map +1 -1
- package/dist/app/services/prism-search.service.js +29 -6
- package/dist/app/services/prism-theme.service.d.ts +11 -3
- package/dist/app/services/prism-theme.service.d.ts.map +1 -1
- package/dist/app/services/prism-theme.service.js +27 -19
- package/dist/app/services/prism-url-state.service.d.ts.map +1 -1
- package/dist/app/services/prism-url-state.service.js +81 -12
- package/dist/app/shared/badge.types.d.ts +7 -0
- package/dist/app/shared/badge.types.d.ts.map +1 -0
- package/dist/app/shared/badge.types.js +9 -0
- package/dist/app/shared/brand-mark.d.ts +35 -0
- package/dist/app/shared/brand-mark.d.ts.map +1 -0
- package/dist/app/shared/brand-mark.js +52 -0
- package/dist/app/shared/metric-bar.d.ts +6 -0
- package/dist/app/shared/metric-bar.d.ts.map +1 -0
- package/dist/app/shared/metric-bar.js +7 -0
- package/dist/app/shared/prism-badge.component.d.ts +21 -0
- package/dist/app/shared/prism-badge.component.d.ts.map +1 -0
- package/dist/app/shared/prism-badge.component.js +68 -0
- package/dist/app/shared/prism-button.component.d.ts +12 -0
- package/dist/app/shared/prism-button.component.d.ts.map +1 -0
- package/dist/app/shared/prism-button.component.js +28 -0
- package/dist/app/shared/prism-icon-button.component.d.ts +17 -0
- package/dist/app/shared/prism-icon-button.component.d.ts.map +1 -0
- package/dist/app/shared/prism-icon-button.component.js +37 -0
- package/dist/app/shared/prism-list-row.component.d.ts +17 -0
- package/dist/app/shared/prism-list-row.component.d.ts.map +1 -0
- package/dist/app/shared/prism-list-row.component.js +57 -0
- package/dist/app/shared/prism-logo.component.d.ts +24 -0
- package/dist/app/shared/prism-logo.component.d.ts.map +1 -0
- package/dist/app/shared/prism-logo.component.js +77 -0
- package/dist/app/shared/prism-metric-badge.component.d.ts +9 -4
- package/dist/app/shared/prism-metric-badge.component.d.ts.map +1 -1
- package/dist/app/shared/prism-metric-badge.component.js +33 -12
- package/dist/app/shared/prism-metric-card.component.d.ts +30 -0
- package/dist/app/shared/prism-metric-card.component.d.ts.map +1 -0
- package/dist/app/shared/prism-metric-card.component.js +111 -0
- package/dist/app/shared/prism-panel-toolbar.component.d.ts +13 -0
- package/dist/app/shared/prism-panel-toolbar.component.d.ts.map +1 -0
- package/dist/app/shared/prism-panel-toolbar.component.js +28 -0
- package/dist/app/shared/prism-segmented.component.d.ts +25 -0
- package/dist/app/shared/prism-segmented.component.d.ts.map +1 -0
- package/dist/app/shared/prism-segmented.component.js +77 -0
- package/dist/app/shared/prism-tabs.component.d.ts +44 -0
- package/dist/app/shared/prism-tabs.component.d.ts.map +1 -0
- package/dist/app/shared/prism-tabs.component.js +134 -0
- package/dist/app/shared/roving-focus.d.ts +13 -0
- package/dist/app/shared/roving-focus.d.ts.map +1 -0
- package/dist/app/shared/roving-focus.js +34 -0
- package/dist/app/shell/prism-shell.component.d.ts +13 -0
- package/dist/app/shell/prism-shell.component.d.ts.map +1 -1
- package/dist/app/shell/prism-shell.component.js +57 -28
- package/dist/app/shell/should-select-first.d.ts +17 -0
- package/dist/app/shell/should-select-first.d.ts.map +1 -0
- package/dist/app/shell/should-select-first.js +13 -0
- package/dist/app/sidebar/navigation-decorations.d.ts +23 -1
- package/dist/app/sidebar/navigation-decorations.d.ts.map +1 -1
- package/dist/app/sidebar/navigation-decorations.js +33 -2
- package/dist/app/sidebar/prism-sidebar.component.d.ts +5 -15
- package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -1
- package/dist/app/sidebar/prism-sidebar.component.js +89 -77
- package/dist/app/theme/deprecated-tokens.d.ts +15 -0
- package/dist/app/theme/deprecated-tokens.d.ts.map +1 -0
- package/dist/app/theme/deprecated-tokens.js +22 -0
- package/dist/app/theme/favicon.d.ts +3 -0
- package/dist/app/theme/favicon.d.ts.map +1 -0
- package/dist/app/theme/favicon.js +3 -0
- package/dist/app/theme/prism-default-theme.d.ts.map +1 -1
- package/dist/app/theme/prism-default-theme.js +122 -66
- package/dist/app/theme/resolve-theme-tokens.d.ts +29 -0
- package/dist/app/theme/resolve-theme-tokens.d.ts.map +1 -0
- package/dist/app/theme/resolve-theme-tokens.js +43 -0
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts +4 -7
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts.map +1 -1
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.js +31 -69
- package/dist/app/view-tab-bar/next-view-id.d.ts +7 -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 +9 -1
- package/dist/app/view-tab-bar/panel-inputs.d.ts +28 -0
- package/dist/app/view-tab-bar/panel-inputs.d.ts.map +1 -0
- package/dist/app/view-tab-bar/panel-inputs.js +41 -0
- package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts +2 -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 +9 -9
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts +6 -0
- 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 +22 -29
- package/dist/builder/config-loader/deprecated-options.d.ts +9 -0
- package/dist/builder/config-loader/deprecated-options.d.ts.map +1 -0
- package/dist/builder/config-loader/deprecated-options.js +34 -0
- package/dist/builder/manifest/composition-wrapper.generator.d.ts +14 -0
- package/dist/builder/manifest/composition-wrapper.generator.d.ts.map +1 -0
- package/dist/builder/manifest/composition-wrapper.generator.js +66 -0
- package/dist/builder/manifest/host-parser.d.ts +2 -0
- package/dist/builder/manifest/host-parser.d.ts.map +1 -1
- package/dist/builder/manifest/host-parser.js +9 -4
- package/dist/builder/manifest/manifest-imports.d.ts +34 -0
- package/dist/builder/manifest/manifest-imports.d.ts.map +1 -0
- package/dist/builder/manifest/manifest-imports.js +91 -0
- package/dist/builder/manifest/runtime-manifest.generator.d.ts +13 -0
- package/dist/builder/manifest/runtime-manifest.generator.d.ts.map +1 -1
- package/dist/builder/manifest/runtime-manifest.generator.js +137 -65
- package/dist/builder/manifest/selector-element.d.ts +16 -0
- package/dist/builder/manifest/selector-element.d.ts.map +1 -0
- package/dist/builder/manifest/selector-element.js +46 -0
- package/dist/builder/manifest/template-literal.d.ts +3 -0
- package/dist/builder/manifest/template-literal.d.ts.map +1 -0
- package/dist/builder/manifest/template-literal.js +4 -0
- package/dist/builder/plugin-runner/plugin-runner.d.ts.map +1 -1
- package/dist/builder/plugin-runner/plugin-runner.js +29 -26
- package/dist/builder/scanner/api/angular-decorators.d.ts +84 -0
- package/dist/builder/scanner/api/angular-decorators.d.ts.map +1 -0
- package/dist/builder/scanner/api/angular-decorators.js +157 -0
- package/dist/builder/scanner/api/component-api.extractor.d.ts +13 -0
- package/dist/builder/scanner/api/component-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/api/component-api.extractor.js +104 -0
- package/dist/builder/scanner/api/doc-tags.d.ts +13 -0
- package/dist/builder/scanner/api/doc-tags.d.ts.map +1 -0
- package/dist/builder/scanner/api/doc-tags.js +101 -0
- package/dist/builder/scanner/api/export-index.d.ts +18 -0
- package/dist/builder/scanner/api/export-index.d.ts.map +1 -0
- package/dist/builder/scanner/api/export-index.js +22 -0
- package/dist/builder/scanner/api/member.extractor.d.ts +90 -0
- package/dist/builder/scanner/api/member.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/api/member.extractor.js +270 -0
- package/dist/builder/scanner/api/pipe-api.extractor.d.ts +12 -0
- package/dist/builder/scanner/api/pipe-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/api/pipe-api.extractor.js +52 -0
- package/dist/builder/scanner/api/service-api.extractor.d.ts +14 -0
- package/dist/builder/scanner/api/service-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/api/service-api.extractor.js +119 -0
- package/dist/builder/scanner/api/setup.reader.d.ts +26 -0
- package/dist/builder/scanner/api/setup.reader.d.ts.map +1 -0
- package/dist/builder/scanner/api/setup.reader.js +89 -0
- package/dist/builder/scanner/api/type-collector.d.ts +24 -0
- package/dist/builder/scanner/api/type-collector.d.ts.map +1 -0
- package/dist/builder/scanner/api/type-collector.js +211 -0
- package/dist/builder/scanner/ast-utils.d.ts +8 -0
- package/dist/builder/scanner/ast-utils.d.ts.map +1 -1
- package/dist/builder/scanner/ast-utils.js +37 -1
- package/dist/builder/scanner/class-hierarchy.d.ts +5 -3
- package/dist/builder/scanner/class-hierarchy.d.ts.map +1 -1
- package/dist/builder/scanner/class-hierarchy.js +12 -6
- package/dist/builder/scanner/component.scanner.d.ts +60 -6
- package/dist/builder/scanner/component.scanner.d.ts.map +1 -1
- package/dist/builder/scanner/component.scanner.js +229 -58
- package/dist/builder/scanner/composition/compose-template.d.ts +36 -0
- package/dist/builder/scanner/composition/compose-template.d.ts.map +1 -0
- package/dist/builder/scanner/composition/compose-template.js +187 -0
- package/dist/builder/scanner/composition/declarables.d.ts +54 -0
- package/dist/builder/scanner/composition/declarables.d.ts.map +1 -0
- package/dist/builder/scanner/composition/declarables.js +182 -0
- package/dist/builder/scanner/composition/match-declarables.d.ts +43 -0
- package/dist/builder/scanner/composition/match-declarables.d.ts.map +1 -0
- package/dist/builder/scanner/composition/match-declarables.js +131 -0
- package/dist/builder/scanner/composition/read-composition.d.ts +77 -0
- package/dist/builder/scanner/composition/read-composition.d.ts.map +1 -0
- package/dist/builder/scanner/composition/read-composition.js +302 -0
- package/dist/builder/scanner/composition/template-elements.d.ts +12 -0
- package/dist/builder/scanner/composition/template-elements.d.ts.map +1 -0
- package/dist/builder/scanner/composition/template-elements.js +41 -0
- package/dist/builder/scanner/entry-point-discovery.d.ts +5 -0
- package/dist/builder/scanner/entry-point-discovery.d.ts.map +1 -1
- package/dist/builder/scanner/entry-point-discovery.js +14 -0
- package/dist/builder/scanner/entry-point.scanner.d.ts +3 -1
- package/dist/builder/scanner/entry-point.scanner.d.ts.map +1 -1
- package/dist/builder/scanner/entry-point.scanner.js +7 -6
- package/dist/builder/scanner/index.d.ts +4 -0
- package/dist/builder/scanner/index.d.ts.map +1 -1
- package/dist/builder/scanner/index.js +2 -0
- package/dist/builder/scanner/input.extractor.d.ts +31 -2
- package/dist/builder/scanner/input.extractor.d.ts.map +1 -1
- package/dist/builder/scanner/input.extractor.js +73 -17
- package/dist/builder/scanner/pipe.scanner.d.ts +29 -0
- package/dist/builder/scanner/pipe.scanner.d.ts.map +1 -0
- package/dist/builder/scanner/pipe.scanner.js +65 -0
- package/dist/builder/scanner/pseudo-states.d.ts +1 -0
- package/dist/builder/scanner/pseudo-states.d.ts.map +1 -1
- package/dist/builder/scanner/pseudo-states.js +1 -1
- package/dist/builder/scanner/scanner.d.ts +27 -3
- package/dist/builder/scanner/scanner.d.ts.map +1 -1
- package/dist/builder/scanner/scanner.js +68 -24
- package/dist/builder/scanner/service/angular-decorators.d.ts +80 -0
- package/dist/builder/scanner/service/angular-decorators.d.ts.map +1 -0
- package/dist/builder/scanner/service/angular-decorators.js +154 -0
- package/dist/builder/scanner/service/doc-tags.d.ts +13 -0
- package/dist/builder/scanner/service/doc-tags.d.ts.map +1 -0
- package/dist/builder/scanner/service/doc-tags.js +97 -0
- package/dist/builder/scanner/service/export-index.d.ts +18 -0
- package/dist/builder/scanner/service/export-index.d.ts.map +1 -0
- package/dist/builder/scanner/service/export-index.js +22 -0
- package/dist/builder/scanner/service/member.extractor.d.ts +65 -0
- package/dist/builder/scanner/service/member.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/service/member.extractor.js +216 -0
- package/dist/builder/scanner/service/pipe-api.extractor.d.ts +12 -0
- package/dist/builder/scanner/service/pipe-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/service/pipe-api.extractor.js +72 -0
- package/dist/builder/scanner/service/service-api.extractor.d.ts +14 -0
- package/dist/builder/scanner/service/service-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/service/service-api.extractor.js +119 -0
- package/dist/builder/scanner/service/setup.reader.d.ts +26 -0
- package/dist/builder/scanner/service/setup.reader.d.ts.map +1 -0
- package/dist/builder/scanner/service/setup.reader.js +89 -0
- package/dist/builder/scanner/service/type-collector.d.ts +23 -0
- package/dist/builder/scanner/service/type-collector.d.ts.map +1 -0
- package/dist/builder/scanner/service/type-collector.js +210 -0
- package/dist/builder/scanner/service.scanner.d.ts +26 -0
- package/dist/builder/scanner/service.scanner.d.ts.map +1 -0
- package/dist/builder/scanner/service.scanner.js +61 -0
- package/dist/builder/scanner/showcase-diagnostics.d.ts +60 -1
- package/dist/builder/scanner/showcase-diagnostics.d.ts.map +1 -1
- package/dist/builder/scanner/showcase-diagnostics.js +123 -10
- package/dist/builder/scanner/showcase-states.d.ts +17 -0
- package/dist/builder/scanner/showcase-states.d.ts.map +1 -0
- package/dist/builder/scanner/showcase-states.js +58 -0
- package/dist/builder/scanner/source-file-cache.d.ts +26 -0
- package/dist/builder/scanner/source-file-cache.d.ts.map +1 -0
- package/dist/builder/scanner/source-file-cache.js +60 -0
- package/dist/builder/shared/prism-pipeline.d.ts +6 -0
- package/dist/builder/shared/prism-pipeline.d.ts.map +1 -1
- package/dist/builder/shared/prism-pipeline.js +71 -18
- package/dist/decorator/index.d.ts +1 -1
- package/dist/decorator/index.d.ts.map +1 -1
- package/dist/decorator/showcase.types.d.ts +102 -9
- package/dist/decorator/showcase.types.d.ts.map +1 -1
- package/dist/plugin/index.d.ts +6 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +4 -0
- package/dist/plugin/pipe.types.d.ts +36 -0
- package/dist/plugin/pipe.types.d.ts.map +1 -0
- package/dist/plugin/pipe.types.js +1 -0
- package/dist/plugin/plugin.types.d.ts +184 -8
- package/dist/plugin/plugin.types.d.ts.map +1 -1
- package/dist/plugin/service.types.d.ts +124 -0
- package/dist/plugin/service.types.d.ts.map +1 -0
- package/dist/plugin/service.types.js +1 -0
- package/dist/plugin/status.d.ts +27 -0
- package/dist/plugin/status.d.ts.map +1 -0
- package/dist/plugin/status.js +26 -0
- package/dist/shared/composition.d.ts +30 -0
- package/dist/shared/composition.d.ts.map +1 -0
- package/dist/shared/composition.js +29 -0
- package/dist/shared/pseudo-state.type.d.ts +2 -1
- package/dist/shared/pseudo-state.type.d.ts.map +1 -1
- package/dist/shared/void-elements.d.ts +3 -0
- package/dist/shared/void-elements.d.ts.map +1 -0
- package/dist/shared/void-elements.js +2 -0
- package/package.json +1 -1
- package/src/builder/build/schema.json +6 -6
- package/src/builder/serve/schema.json +6 -6
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
import { type HeadMetric } from './head-metrics.js';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
/**
|
|
4
|
-
* Measurement disclosure for the component head.
|
|
4
|
+
* Measurement disclosure for the component head, right behind the status.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* readout is one click away and never disappears.
|
|
11
|
-
*
|
|
12
|
-
* It knows no individual metric. The list arrives already resolved, in the
|
|
13
|
-
* same shape `decorateItem` produces for the sidebar, which is less code than
|
|
14
|
-
* the five @if branches it replaces and keeps the colour rule in one place.
|
|
6
|
+
* One soft badge in the tone of the worst metric ("VRT diff 10.26%"), or of the
|
|
7
|
+
* first measured one when everything is fine. How many metrics were measured
|
|
8
|
+
* is in the tooltip, not on the chip. The readout behind it lists every metric
|
|
9
|
+
* with its threshold.
|
|
15
10
|
*/
|
|
16
11
|
export declare class PrismHeadGaugeComponent {
|
|
17
12
|
readonly metrics: import("@angular/core").InputSignal<readonly HeadMetric[]>;
|
|
18
|
-
protected readonly
|
|
19
|
-
protected readonly
|
|
13
|
+
protected readonly chip: import("@angular/core").Signal<import("./head-metrics.js").GaugeChip | null>;
|
|
14
|
+
protected readonly tone: import("@angular/core").Signal<import("../shared/badge.types.js").BadgeTone>;
|
|
15
|
+
protected readonly title: import("@angular/core").Signal<string>;
|
|
20
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismHeadGaugeComponent, never>;
|
|
21
17
|
static ɵcmp: i0.ɵɵComponentDeclaration<PrismHeadGaugeComponent, "prism-head-gauge", never, { "metrics": { "alias": "metrics"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
22
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-head-gauge.component.d.ts","sourceRoot":"","sources":["../../../src/app/component-head/prism-head-gauge.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prism-head-gauge.component.d.ts","sourceRoot":"","sources":["../../../src/app/component-head/prism-head-gauge.component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;;AAG/D;;;;;;;GAOG;AACH,qBAQa,uBAAuB;IAChC,QAAQ,CAAC,OAAO,6DAA2C;IAC3D,SAAS,CAAC,QAAQ,CAAC,IAAI,+EAA6C;IACpE,SAAS,CAAC,QAAQ,CAAC,IAAI,+EAIpB;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,yCAKrB;yCAbM,uBAAuB;2CAAvB,uBAAuB;CAcnC"}
|
|
@@ -1,91 +1,75 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { toneForStatus } from '../shared/badge.types.js';
|
|
3
|
+
import { PrismBadgeComponent } from '../shared/prism-badge.component.js';
|
|
4
|
+
import { gaugeChip } from './head-metrics.js';
|
|
3
5
|
import { PrismStatComponent } from './prism-stat.component.js';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
7
|
const _forTrack0 = ($index, $item) => $item.id;
|
|
6
|
-
function
|
|
7
|
-
i0.ɵɵ
|
|
8
|
-
i0.ɵɵtext(1);
|
|
9
|
-
i0.ɵɵelementEnd();
|
|
8
|
+
function PrismHeadGaugeComponent_Conditional_0_For_11_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
+
i0.ɵɵelement(0, "prism-stat", 4);
|
|
10
10
|
} if (rf & 2) {
|
|
11
|
-
const
|
|
12
|
-
i0.ɵɵ
|
|
13
|
-
i0.ɵɵtextInterpolate1("+", ctx_r0.summary().others);
|
|
11
|
+
const m_r1 = ctx.$implicit;
|
|
12
|
+
i0.ɵɵproperty("label", m_r1.label)("threshold", m_r1.threshold)("value", m_r1.value)("variant", m_r1.variant);
|
|
14
13
|
} }
|
|
15
|
-
function
|
|
16
|
-
i0.ɵɵelementStart(0, "
|
|
17
|
-
i0.ɵɵ
|
|
14
|
+
function PrismHeadGaugeComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
15
|
+
i0.ɵɵelementStart(0, "button", 0);
|
|
16
|
+
i0.ɵɵelement(1, "prism-badge", 1);
|
|
18
17
|
i0.ɵɵelementEnd();
|
|
19
|
-
i0.ɵɵ
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
i0.ɵɵ
|
|
24
|
-
i0.ɵɵ
|
|
25
|
-
i0.ɵɵ
|
|
26
|
-
i0.ɵɵ
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
i0.ɵɵelementStart(0, "span", 2);
|
|
30
|
-
i0.ɵɵtext(1);
|
|
18
|
+
i0.ɵɵelementStart(2, "div", 2)(3, "div", 3)(4, "span");
|
|
19
|
+
i0.ɵɵtext(5, "Metric");
|
|
20
|
+
i0.ɵɵelementEnd();
|
|
21
|
+
i0.ɵɵelementStart(6, "span");
|
|
22
|
+
i0.ɵɵtext(7, "Threshold");
|
|
23
|
+
i0.ɵɵelementEnd();
|
|
24
|
+
i0.ɵɵelementStart(8, "span");
|
|
25
|
+
i0.ɵɵtext(9, "Value");
|
|
26
|
+
i0.ɵɵelementEnd()();
|
|
27
|
+
i0.ɵɵrepeaterCreate(10, PrismHeadGaugeComponent_Conditional_0_For_11_Template, 1, 4, "prism-stat", 4, _forTrack0);
|
|
31
28
|
i0.ɵɵelementEnd();
|
|
32
29
|
} if (rf & 2) {
|
|
33
|
-
const
|
|
30
|
+
const c_r2 = ctx;
|
|
31
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
32
|
+
i0.ɵɵattribute("aria-label", c_r2.metric.label + " " + c_r2.metric.value + ". " + ctx_r2.title())("title", ctx_r2.title());
|
|
34
33
|
i0.ɵɵadvance();
|
|
35
|
-
i0.ɵɵ
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
i0.ɵɵelement(0, "prism-stat", 4);
|
|
39
|
-
} if (rf & 2) {
|
|
40
|
-
const m_r3 = ctx.$implicit;
|
|
41
|
-
i0.ɵɵproperty("label", m_r3.label)("value", m_r3.value)("variant", m_r3.variant);
|
|
34
|
+
i0.ɵɵproperty("tone", ctx_r2.tone())("label", c_r2.metric.label)("value", c_r2.metric.value);
|
|
35
|
+
i0.ɵɵadvance(9);
|
|
36
|
+
i0.ɵɵrepeater(ctx_r2.metrics());
|
|
42
37
|
} }
|
|
43
38
|
/**
|
|
44
|
-
* Measurement disclosure for the component head.
|
|
45
|
-
*
|
|
46
|
-
* Replaces four always-present stat tiles with one element of fixed width at a
|
|
47
|
-
* fixed position, so the row does not shift when you switch components. It
|
|
48
|
-
* shows a plain count in the nominal green while everything is within
|
|
49
|
-
* threshold, and the worst value in plain text when it is not. The full
|
|
50
|
-
* readout is one click away and never disappears.
|
|
39
|
+
* Measurement disclosure for the component head, right behind the status.
|
|
51
40
|
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* the
|
|
41
|
+
* One soft badge in the tone of the worst metric ("VRT diff 10.26%"), or of the
|
|
42
|
+
* first measured one when everything is fine. How many metrics were measured
|
|
43
|
+
* is in the tooltip, not on the chip. The readout behind it lists every metric
|
|
44
|
+
* with its threshold.
|
|
55
45
|
*/
|
|
56
46
|
export class PrismHeadGaugeComponent {
|
|
57
47
|
metrics = input.required(/* @ts-ignore */
|
|
58
48
|
...(ngDevMode ? [{ debugName: "metrics" }] : /* istanbul ignore next */ []));
|
|
59
|
-
|
|
60
|
-
...(ngDevMode ? [{ debugName: "
|
|
61
|
-
|
|
62
|
-
const
|
|
63
|
-
return
|
|
64
|
-
|
|
65
|
-
|
|
49
|
+
chip = computed(() => gaugeChip(this.metrics()), /* @ts-ignore */
|
|
50
|
+
...(ngDevMode ? [{ debugName: "chip" }] : /* istanbul ignore next */ []));
|
|
51
|
+
tone = computed(() => {
|
|
52
|
+
const chip = this.chip();
|
|
53
|
+
return chip ? toneForStatus(chip.variant) : 'neutral';
|
|
54
|
+
}, /* @ts-ignore */
|
|
55
|
+
...(ngDevMode ? [{ debugName: "tone" }] : /* istanbul ignore next */ []));
|
|
56
|
+
title = computed(() => {
|
|
57
|
+
const chip = this.chip();
|
|
58
|
+
if (!chip)
|
|
59
|
+
return '';
|
|
60
|
+
return `${chip.measured} ${chip.measured === 1 ? 'metric' : 'metrics'} measured. Show all`;
|
|
66
61
|
}, /* @ts-ignore */
|
|
67
|
-
...(ngDevMode ? [{ debugName: "
|
|
62
|
+
...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
|
|
68
63
|
static ɵfac = function PrismHeadGaugeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismHeadGaugeComponent)(); };
|
|
69
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismHeadGaugeComponent, selectors: [["prism-head-gauge"]], inputs: { metrics: [1, "metrics"] }, decls:
|
|
70
|
-
i0.ɵɵ
|
|
71
|
-
i0.ɵɵelement(1, "span", 1);
|
|
72
|
-
i0.ɵɵconditionalCreate(2, PrismHeadGaugeComponent_Conditional_2_Template, 3, 3)(3, PrismHeadGaugeComponent_Conditional_3_Template, 2, 1, "span", 2);
|
|
73
|
-
i0.ɵɵelementEnd();
|
|
74
|
-
i0.ɵɵelementStart(4, "div", 3);
|
|
75
|
-
i0.ɵɵrepeaterCreate(5, PrismHeadGaugeComponent_For_6_Template, 1, 3, "prism-stat", 4, _forTrack0);
|
|
76
|
-
i0.ɵɵelementEnd();
|
|
64
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismHeadGaugeComponent, selectors: [["prism-head-gauge"]], inputs: { metrics: [1, "metrics"] }, decls: 1, vars: 1, consts: [["type", "button", "popovertarget", "prism-head-gauge", 1, "gauge"], ["dot", "", 3, "tone", "label", "value"], ["popover", "", "id", "prism-head-gauge", "role", "dialog", "aria-label", "Component metrics", 1, "gauge-card"], ["aria-hidden", "true", 1, "gauge-card__row", "gauge-card__row--head"], [3, "label", "threshold", "value", "variant"]], template: function PrismHeadGaugeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
+
i0.ɵɵconditionalCreate(0, PrismHeadGaugeComponent_Conditional_0_Template, 12, 5);
|
|
77
66
|
} if (rf & 2) {
|
|
78
|
-
let
|
|
79
|
-
i0.ɵɵ
|
|
80
|
-
|
|
81
|
-
i0.ɵɵadvance(2);
|
|
82
|
-
i0.ɵɵconditional((tmp_5_0 = ctx.summary().worst) ? 2 : 3, tmp_5_0);
|
|
83
|
-
i0.ɵɵadvance(3);
|
|
84
|
-
i0.ɵɵrepeater(ctx.metrics());
|
|
85
|
-
} }, dependencies: [PrismStatComponent], styles: ["[_nghost-%COMP%] {\n display: inline-flex;\n}\n\n.gauge[_ngcontent-%COMP%] {\n display: inline-flex;\n gap: var(--%NS%sp-2);\n align-items: center;\n height: 20px;\n padding: 0 var(--%NS%sp-3);\n anchor-name: --prism-head-gauge;\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-xs);\n font-variant-numeric: tabular-nums;\n color: var(--%NS%prism-text-muted);\n white-space: nowrap;\n cursor: pointer;\n background: transparent;\n border: 1px solid var(--%NS%prism-border);\n border-radius: var(--%NS%radius-xs);\n}\n\n.gauge[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 1px;\n}\n\n.gauge__dot[_ngcontent-%COMP%] {\n width: 5px;\n height: 5px;\n background: currentcolor;\n border-radius: 50%;\n opacity: 0.5;\n}\n\n.gauge__more[_ngcontent-%COMP%] {\n opacity: 0.6;\n}\n\n\n\n\n.gauge--ok[_ngcontent-%COMP%] {\n color: var(--%NS%prism-mark-nominal);\n border-color: color-mix(in srgb, var(--%NS%prism-mark-nominal) 40%, transparent);\n}\n\n.gauge--warn[_ngcontent-%COMP%] {\n color: var(--%NS%prism-mark-attention);\n border-color: color-mix(in srgb, var(--%NS%prism-mark-attention) 40%, transparent);\n}\n\n.gauge--danger[_ngcontent-%COMP%] {\n color: var(--%NS%prism-mark-critical);\n border-color: color-mix(in srgb, var(--%NS%prism-mark-critical) 45%, transparent);\n}\n\n.gauge--ok[_ngcontent-%COMP%] .gauge__dot[_ngcontent-%COMP%], \n.gauge--warn[_ngcontent-%COMP%] .gauge__dot[_ngcontent-%COMP%], \n.gauge--danger[_ngcontent-%COMP%] .gauge__dot[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n.gauge-card[_ngcontent-%COMP%] {\n inset: auto;\n gap: 1px;\n min-width: 200px;\n padding: var(--%NS%sp-2);\n margin: 0;\n position-area: block-end span-inline-start;\n position-anchor: --prism-head-gauge;\n position-try-fallbacks: flip-block, flip-inline;\n background: var(--%NS%prism-bg-elevated);\n border: 1px solid var(--%NS%prism-border-strong);\n border-radius: var(--%NS%radius-md);\n box-shadow: 0 8px 28px -10px rgb(0 0 0 / 45%);\n}\n\n\n\n\n\n.gauge-card[_ngcontent-%COMP%]:popover-open {\n display: flex;\n flex-direction: column;\n}"] });
|
|
67
|
+
let tmp_0_0;
|
|
68
|
+
i0.ɵɵconditional((tmp_0_0 = ctx.chip()) ? 0 : -1, tmp_0_0);
|
|
69
|
+
} }, dependencies: [PrismBadgeComponent, PrismStatComponent], styles: ["[_nghost-%COMP%] {\n display: inline-flex;\n}\n\n.gauge[_ngcontent-%COMP%] {\n display: inline-flex;\n padding: 0;\n anchor-name: --prism-head-gauge;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 4px;\n}\n\n.gauge[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 2px;\n}\n\n.gauge-card[_ngcontent-%COMP%] {\n inset: auto;\n gap: 1px;\n min-width: 200px;\n padding: var(--%NS%sp-2);\n margin: 0;\n position-area: block-end span-inline-end;\n position-anchor: --prism-head-gauge;\n position-try-fallbacks: flip-block, flip-inline;\n background: var(--%NS%prism-bg-elevated);\n border: 1px solid var(--%NS%prism-border);\n border-radius: var(--%NS%radius-md);\n box-shadow: var(--%NS%prism-shadow-md);\n}\n\n\n\n\n\n.gauge-card[_ngcontent-%COMP%]:popover-open {\n display: flex;\n flex-direction: column;\n}\n\n.gauge-card__row--head[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: minmax(110px, 1fr) 90px 70px;\n gap: var(--%NS%sp-4);\n padding: var(--%NS%sp-2) var(--%NS%sp-3) var(--%NS%sp-1);\n font-size: var(--%NS%fs-xs);\n font-weight: 600;\n color: var(--%NS%prism-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n}\n\n.gauge-card__row--head[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n text-align: right;\n}"] });
|
|
86
70
|
}
|
|
87
71
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismHeadGaugeComponent, [{
|
|
88
72
|
type: Component,
|
|
89
|
-
args: [{ selector: 'prism-head-gauge', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismStatComponent], template: "<button\n
|
|
73
|
+
args: [{ selector: 'prism-head-gauge', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismBadgeComponent, PrismStatComponent], template: "@if (chip(); as c) {\n <button\n class=\"gauge\"\n type=\"button\"\n popovertarget=\"prism-head-gauge\"\n [attr.aria-label]=\"c.metric.label + ' ' + c.metric.value + '. ' + title()\"\n [attr.title]=\"title()\">\n <prism-badge\n dot\n [tone]=\"tone()\"\n [label]=\"c.metric.label\"\n [value]=\"c.metric.value\" />\n </button>\n\n <div\n popover\n id=\"prism-head-gauge\"\n class=\"gauge-card\"\n role=\"dialog\"\n aria-label=\"Component metrics\">\n <div\n class=\"gauge-card__row gauge-card__row--head\"\n aria-hidden=\"true\">\n <span>Metric</span>\n <span>Threshold</span>\n <span>Value</span>\n </div>\n @for (m of metrics(); track m.id) {\n <prism-stat\n [label]=\"m.label\"\n [threshold]=\"m.threshold\"\n [value]=\"m.value\"\n [variant]=\"m.variant\" />\n }\n </div>\n}\n", styles: [":host {\n display: inline-flex;\n}\n\n.gauge {\n display: inline-flex;\n padding: 0;\n anchor-name: --prism-head-gauge;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 4px;\n}\n\n.gauge:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 2px;\n}\n\n.gauge-card {\n inset: auto;\n gap: 1px;\n min-width: 200px;\n padding: var(--sp-2);\n margin: 0;\n position-area: block-end span-inline-end;\n position-anchor: --prism-head-gauge;\n position-try-fallbacks: flip-block, flip-inline;\n background: var(--prism-bg-elevated);\n border: 1px solid var(--prism-border);\n border-radius: var(--radius-md);\n box-shadow: var(--prism-shadow-md);\n}\n\n/* display belongs on :popover-open and nowhere else (see the note in\n prism-template-popover.component.ts). An author display on the base\n rule outranks the UA's [popover]:not(:popover-open) { display: none }\n and pins the readout open. */\n.gauge-card:popover-open {\n display: flex;\n flex-direction: column;\n}\n\n.gauge-card__row--head {\n display: grid;\n grid-template-columns: minmax(110px, 1fr) 90px 70px;\n gap: var(--sp-4);\n padding: var(--sp-2) var(--sp-3) var(--sp-1);\n font-size: var(--fs-xs);\n font-weight: 600;\n color: var(--prism-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n}\n\n.gauge-card__row--head span:last-child {\n text-align: right;\n}\n"] }]
|
|
90
74
|
}], null, { metrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "metrics", required: true }] }] }); })();
|
|
91
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismHeadGaugeComponent, { className: "PrismHeadGaugeComponent", filePath: "app/component-head/prism-head-gauge.component.ts", lineNumber:
|
|
75
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismHeadGaugeComponent, { className: "PrismHeadGaugeComponent", filePath: "app/component-head/prism-head-gauge.component.ts", lineNumber: 23 }); })();
|
|
@@ -7,17 +7,29 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
* them permanently on screen cost a 128px band to say something that belongs
|
|
8
8
|
* behind one glyph.
|
|
9
9
|
*
|
|
10
|
+
* A service has no selector, so its code block shows the class name instead,
|
|
11
|
+
* and `facts` carries the plain lines that stand in for the variant and state
|
|
12
|
+
* counts a service does not have. A pipe has none either; its code block is
|
|
13
|
+
* whatever `code` says, which is how it is written in a template.
|
|
14
|
+
*
|
|
10
15
|
* Opening is click-only, through the native Popover API. Escape, click-outside
|
|
11
16
|
* dismissal and top-layer placement come with it declaratively; a hover panel
|
|
12
17
|
* would mean rebuilding all three by hand, and crossing the gap between icon
|
|
13
18
|
* and card without the card closing is its own problem.
|
|
14
19
|
*/
|
|
15
20
|
export declare class PrismHeadInfoComponent {
|
|
16
|
-
readonly selector: import("@angular/core").InputSignal<string>;
|
|
21
|
+
readonly selector: import("@angular/core").InputSignal<string | undefined>;
|
|
22
|
+
/** Replaces the code block, which otherwise shows the selector of a component or the class name of a service. */
|
|
23
|
+
readonly code: import("@angular/core").InputSignal<string | undefined>;
|
|
24
|
+
readonly className: import("@angular/core").InputSignal<string | undefined>;
|
|
17
25
|
readonly description: import("@angular/core").InputSignal<string | undefined>;
|
|
18
26
|
readonly tags: import("@angular/core").InputSignal<readonly string[]>;
|
|
19
27
|
readonly variantCount: import("@angular/core").InputSignal<number>;
|
|
28
|
+
readonly stateCount: import("@angular/core").InputSignal<number>;
|
|
29
|
+
readonly facts: import("@angular/core").InputSignal<readonly string[]>;
|
|
30
|
+
protected readonly label: import("@angular/core").Signal<"Component details" | "Service details" | "Pipe details">;
|
|
31
|
+
protected readonly codeBlock: import("@angular/core").Signal<string>;
|
|
20
32
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismHeadInfoComponent, never>;
|
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PrismHeadInfoComponent, "prism-head-info", never, { "selector": { "alias": "selector"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "tags": { "alias": "tags"; "required": false; "isSignal": true; }; "variantCount": { "alias": "variantCount"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PrismHeadInfoComponent, "prism-head-info", never, { "selector": { "alias": "selector"; "required": false; "isSignal": true; }; "code": { "alias": "code"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "tags": { "alias": "tags"; "required": false; "isSignal": true; }; "variantCount": { "alias": "variantCount"; "required": false; "isSignal": true; }; "stateCount": { "alias": "stateCount"; "required": false; "isSignal": true; }; "facts": { "alias": "facts"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
22
34
|
}
|
|
23
35
|
//# sourceMappingURL=prism-head-info.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-head-info.component.d.ts","sourceRoot":"","sources":["../../../src/app/component-head/prism-head-info.component.ts"],"names":[],"mappings":";AAGA
|
|
1
|
+
{"version":3,"file":"prism-head-info.component.d.ts","sourceRoot":"","sources":["../../../src/app/component-head/prism-head-info.component.ts"],"names":[],"mappings":";AAGA;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAQa,sBAAsB;IAC/B,QAAQ,CAAC,QAAQ,0DAAwC;IACzD,iHAAiH;IACjH,QAAQ,CAAC,IAAI,0DAAwC;IACrD,QAAQ,CAAC,SAAS,0DAAwC;IAC1D,QAAQ,CAAC,WAAW,0DAAwC;IAC5D,QAAQ,CAAC,IAAI,yDAAgC;IAC7C,QAAQ,CAAC,YAAY,8CAAoB;IACzC,QAAQ,CAAC,UAAU,8CAAoB;IACvC,QAAQ,CAAC,KAAK,yDAAgC;IAE9C,SAAS,CAAC,QAAQ,CAAC,KAAK,2FAGrB;IAEH,SAAS,CAAC,QAAQ,CAAC,SAAS,yCAOzB;yCAvBM,sBAAsB;2CAAtB,sBAAsB;CAwBlC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
|
2
2
|
import { PrismIconComponent } from '../icons/prism-icon.component.js';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
function PrismHeadInfoComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -10,27 +10,57 @@ function PrismHeadInfoComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
10
10
|
i0.ɵɵadvance();
|
|
11
11
|
i0.ɵɵtextInterpolate(ctx_r0.description());
|
|
12
12
|
} }
|
|
13
|
+
function PrismHeadInfoComponent_Conditional_6_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵtext(0);
|
|
15
|
+
} if (rf & 2) {
|
|
16
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
17
|
+
i0.ɵɵtextInterpolate2(" ", ctx_r0.variantCount(), " ", ctx_r0.variantCount() === 1 ? "variant" : "variants", " ");
|
|
18
|
+
} }
|
|
19
|
+
function PrismHeadInfoComponent_Conditional_6_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
i0.ɵɵtext(0, " \u00B7 ");
|
|
21
|
+
} }
|
|
22
|
+
function PrismHeadInfoComponent_Conditional_6_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵtext(0);
|
|
24
|
+
} if (rf & 2) {
|
|
25
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
26
|
+
i0.ɵɵtextInterpolate2(" ", ctx_r0.stateCount(), " ", ctx_r0.stateCount() === 1 ? "state" : "states", " ");
|
|
27
|
+
} }
|
|
13
28
|
function PrismHeadInfoComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
14
29
|
i0.ɵɵelementStart(0, "p", 5);
|
|
15
|
-
i0.ɵɵ
|
|
30
|
+
i0.ɵɵconditionalCreate(1, PrismHeadInfoComponent_Conditional_6_Conditional_1_Template, 1, 2);
|
|
31
|
+
i0.ɵɵconditionalCreate(2, PrismHeadInfoComponent_Conditional_6_Conditional_2_Template, 1, 0);
|
|
32
|
+
i0.ɵɵconditionalCreate(3, PrismHeadInfoComponent_Conditional_6_Conditional_3_Template, 1, 2);
|
|
16
33
|
i0.ɵɵelementEnd();
|
|
17
34
|
} if (rf & 2) {
|
|
18
35
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
19
36
|
i0.ɵɵadvance();
|
|
20
|
-
i0.ɵɵ
|
|
37
|
+
i0.ɵɵconditional(ctx_r0.variantCount() > 0 ? 1 : -1);
|
|
38
|
+
i0.ɵɵadvance();
|
|
39
|
+
i0.ɵɵconditional(ctx_r0.variantCount() > 0 && ctx_r0.stateCount() > 0 ? 2 : -1);
|
|
40
|
+
i0.ɵɵadvance();
|
|
41
|
+
i0.ɵɵconditional(ctx_r0.stateCount() > 0 ? 3 : -1);
|
|
21
42
|
} }
|
|
22
|
-
function
|
|
43
|
+
function PrismHeadInfoComponent_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
44
|
+
i0.ɵɵelementStart(0, "p", 5);
|
|
45
|
+
i0.ɵɵtext(1);
|
|
46
|
+
i0.ɵɵelementEnd();
|
|
47
|
+
} if (rf & 2) {
|
|
48
|
+
const fact_r2 = ctx.$implicit;
|
|
49
|
+
i0.ɵɵadvance();
|
|
50
|
+
i0.ɵɵtextInterpolate(fact_r2);
|
|
51
|
+
} }
|
|
52
|
+
function PrismHeadInfoComponent_Conditional_9_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
23
53
|
i0.ɵɵelementStart(0, "span", 7);
|
|
24
54
|
i0.ɵɵtext(1);
|
|
25
55
|
i0.ɵɵelementEnd();
|
|
26
56
|
} if (rf & 2) {
|
|
27
|
-
const
|
|
57
|
+
const tag_r3 = ctx.$implicit;
|
|
28
58
|
i0.ɵɵadvance();
|
|
29
|
-
i0.ɵɵtextInterpolate(
|
|
59
|
+
i0.ɵɵtextInterpolate(tag_r3);
|
|
30
60
|
} }
|
|
31
|
-
function
|
|
61
|
+
function PrismHeadInfoComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
32
62
|
i0.ɵɵelementStart(0, "div", 6);
|
|
33
|
-
i0.ɵɵrepeaterCreate(1,
|
|
63
|
+
i0.ɵɵrepeaterCreate(1, PrismHeadInfoComponent_Conditional_9_For_2_Template, 2, 1, "span", 7, i0.ɵɵrepeaterTrackByIdentity);
|
|
34
64
|
i0.ɵɵelementEnd();
|
|
35
65
|
} if (rf & 2) {
|
|
36
66
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -45,22 +75,50 @@ function PrismHeadInfoComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
45
75
|
* them permanently on screen cost a 128px band to say something that belongs
|
|
46
76
|
* behind one glyph.
|
|
47
77
|
*
|
|
78
|
+
* A service has no selector, so its code block shows the class name instead,
|
|
79
|
+
* and `facts` carries the plain lines that stand in for the variant and state
|
|
80
|
+
* counts a service does not have. A pipe has none either; its code block is
|
|
81
|
+
* whatever `code` says, which is how it is written in a template.
|
|
82
|
+
*
|
|
48
83
|
* Opening is click-only, through the native Popover API. Escape, click-outside
|
|
49
84
|
* dismissal and top-layer placement come with it declaratively; a hover panel
|
|
50
85
|
* would mean rebuilding all three by hand, and crossing the gap between icon
|
|
51
86
|
* and card without the card closing is its own problem.
|
|
52
87
|
*/
|
|
53
88
|
export class PrismHeadInfoComponent {
|
|
54
|
-
selector = input
|
|
89
|
+
selector = input(undefined, /* @ts-ignore */
|
|
55
90
|
...(ngDevMode ? [{ debugName: "selector" }] : /* istanbul ignore next */ []));
|
|
91
|
+
/** Replaces the code block, which otherwise shows the selector of a component or the class name of a service. */
|
|
92
|
+
code = input(undefined, /* @ts-ignore */
|
|
93
|
+
...(ngDevMode ? [{ debugName: "code" }] : /* istanbul ignore next */ []));
|
|
94
|
+
className = input(undefined, /* @ts-ignore */
|
|
95
|
+
...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
|
|
56
96
|
description = input(undefined, /* @ts-ignore */
|
|
57
97
|
...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
|
|
58
98
|
tags = input([], /* @ts-ignore */
|
|
59
99
|
...(ngDevMode ? [{ debugName: "tags" }] : /* istanbul ignore next */ []));
|
|
60
100
|
variantCount = input(0, /* @ts-ignore */
|
|
61
101
|
...(ngDevMode ? [{ debugName: "variantCount" }] : /* istanbul ignore next */ []));
|
|
102
|
+
stateCount = input(0, /* @ts-ignore */
|
|
103
|
+
...(ngDevMode ? [{ debugName: "stateCount" }] : /* istanbul ignore next */ []));
|
|
104
|
+
facts = input([], /* @ts-ignore */
|
|
105
|
+
...(ngDevMode ? [{ debugName: "facts" }] : /* istanbul ignore next */ []));
|
|
106
|
+
label = computed(() => {
|
|
107
|
+
if (this.selector() !== undefined)
|
|
108
|
+
return 'Component details';
|
|
109
|
+
return this.code() === undefined ? 'Service details' : 'Pipe details';
|
|
110
|
+
}, /* @ts-ignore */
|
|
111
|
+
...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
112
|
+
codeBlock = computed(() => {
|
|
113
|
+
const code = this.code();
|
|
114
|
+
if (code !== undefined)
|
|
115
|
+
return code;
|
|
116
|
+
const selector = this.selector();
|
|
117
|
+
return selector ? `<${selector}>` : (this.className() ?? '');
|
|
118
|
+
}, /* @ts-ignore */
|
|
119
|
+
...(ngDevMode ? [{ debugName: "codeBlock" }] : /* istanbul ignore next */ []));
|
|
62
120
|
static ɵfac = function PrismHeadInfoComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismHeadInfoComponent)(); };
|
|
63
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismHeadInfoComponent, selectors: [["prism-head-info"]], inputs: { selector: [1, "selector"], description: [1, "description"], tags: [1, "tags"], variantCount: [1, "variantCount"] }, decls:
|
|
121
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismHeadInfoComponent, selectors: [["prism-head-info"]], inputs: { selector: [1, "selector"], code: [1, "code"], className: [1, "className"], description: [1, "description"], tags: [1, "tags"], variantCount: [1, "variantCount"], stateCount: [1, "stateCount"], facts: [1, "facts"] }, decls: 10, vars: 8, consts: [["type", "button", "popovertarget", "prism-head-info", 1, "info-btn"], ["name", "info", 3, "size"], ["popover", "", "id", "prism-head-info", "role", "dialog", 1, "info-card"], [1, "info-card__selector"], [1, "info-card__desc"], [1, "info-card__meta"], [1, "info-card__tags"], [1, "info-card__tag"]], template: function PrismHeadInfoComponent_Template(rf, ctx) { if (rf & 1) {
|
|
64
122
|
i0.ɵɵelementStart(0, "button", 0);
|
|
65
123
|
i0.ɵɵelement(1, "prism-icon", 1);
|
|
66
124
|
i0.ɵɵelementEnd();
|
|
@@ -68,24 +126,30 @@ export class PrismHeadInfoComponent {
|
|
|
68
126
|
i0.ɵɵtext(4);
|
|
69
127
|
i0.ɵɵelementEnd();
|
|
70
128
|
i0.ɵɵconditionalCreate(5, PrismHeadInfoComponent_Conditional_5_Template, 2, 1, "p", 4);
|
|
71
|
-
i0.ɵɵconditionalCreate(6, PrismHeadInfoComponent_Conditional_6_Template,
|
|
72
|
-
i0.ɵɵ
|
|
129
|
+
i0.ɵɵconditionalCreate(6, PrismHeadInfoComponent_Conditional_6_Template, 4, 3, "p", 5);
|
|
130
|
+
i0.ɵɵrepeaterCreate(7, PrismHeadInfoComponent_For_8_Template, 2, 1, "p", 5, i0.ɵɵrepeaterTrackByIdentity);
|
|
131
|
+
i0.ɵɵconditionalCreate(9, PrismHeadInfoComponent_Conditional_9_Template, 3, 0, "div", 6);
|
|
73
132
|
i0.ɵɵelementEnd();
|
|
74
133
|
} if (rf & 2) {
|
|
134
|
+
i0.ɵɵattribute("title", ctx.label())("aria-label", ctx.label());
|
|
75
135
|
i0.ɵɵadvance();
|
|
76
136
|
i0.ɵɵproperty("size", 13);
|
|
77
|
-
i0.ɵɵadvance(
|
|
78
|
-
i0.ɵɵ
|
|
137
|
+
i0.ɵɵadvance();
|
|
138
|
+
i0.ɵɵattribute("aria-label", ctx.label());
|
|
139
|
+
i0.ɵɵadvance(2);
|
|
140
|
+
i0.ɵɵtextInterpolate(ctx.codeBlock());
|
|
79
141
|
i0.ɵɵadvance();
|
|
80
142
|
i0.ɵɵconditional(ctx.description() ? 5 : -1);
|
|
81
143
|
i0.ɵɵadvance();
|
|
82
|
-
i0.ɵɵconditional(ctx.variantCount() > 0 ? 6 : -1);
|
|
144
|
+
i0.ɵɵconditional(ctx.variantCount() > 0 || ctx.stateCount() > 0 ? 6 : -1);
|
|
83
145
|
i0.ɵɵadvance();
|
|
84
|
-
i0.ɵɵ
|
|
85
|
-
|
|
146
|
+
i0.ɵɵrepeater(ctx.facts());
|
|
147
|
+
i0.ɵɵadvance(2);
|
|
148
|
+
i0.ɵɵconditional(ctx.tags().length ? 9 : -1);
|
|
149
|
+
} }, dependencies: [PrismIconComponent], styles: ["[_nghost-%COMP%] {\n display: inline-flex;\n}\n\n.info-btn[_ngcontent-%COMP%] {\n display: grid;\n place-items: center;\n width: 20px;\n height: 20px;\n padding: 0;\n anchor-name: --prism-head-info;\n color: var(--%NS%prism-text-muted);\n cursor: pointer;\n background: transparent;\n border: 0;\n border-radius: var(--%NS%radius-xs);\n}\n\n.info-btn[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text-2);\n}\n\n.info-btn[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 1px;\n}\n\n.info-card[_ngcontent-%COMP%] {\n inset: auto;\n width: 320px;\n max-width: calc(100vw - var(--%NS%sp-6));\n padding: var(--%NS%sp-4);\n margin: 0;\n position-area: block-end span-inline-end;\n position-anchor: --prism-head-info;\n position-try-fallbacks: flip-block, flip-inline;\n color: var(--%NS%prism-text-2);\n background: var(--%NS%prism-bg-elevated);\n border: 1px solid var(--%NS%prism-border);\n border-radius: var(--%NS%radius-md);\n box-shadow: var(--%NS%prism-shadow-md);\n}\n\n.info-card__selector[_ngcontent-%COMP%] {\n display: block;\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-primary);\n user-select: all;\n}\n\n.info-card__desc[_ngcontent-%COMP%] {\n margin: var(--%NS%sp-3) 0 0;\n font-size: var(--%NS%fs-lg);\n line-height: 1.55;\n}\n\n\n\n\n.info-card__meta[_ngcontent-%COMP%] {\n margin: var(--%NS%sp-3) 0 0;\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text-muted);\n}\n\n.info-card__tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: var(--%NS%sp-2);\n margin-top: var(--%NS%sp-4);\n}\n\n.info-card__tag[_ngcontent-%COMP%] {\n padding: 1px var(--%NS%sp-3);\n font-size: var(--%NS%fs-xs);\n color: var(--%NS%prism-text-muted);\n border: 1px solid var(--%NS%prism-border);\n border-radius: var(--%NS%radius-xs);\n}"] });
|
|
86
150
|
}
|
|
87
151
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismHeadInfoComponent, [{
|
|
88
152
|
type: Component,
|
|
89
|
-
args: [{ selector: 'prism-head-info', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent], template: "<button\n class=\"info-btn\"\n type=\"button\"\n popovertarget=\"prism-head-info\"\n title=\"
|
|
90
|
-
}], null, { selector: [{ type: i0.Input, args: [{ isSignal: true, alias: "selector", required: true }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], tags: [{ type: i0.Input, args: [{ isSignal: true, alias: "tags", required: false }] }], variantCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "variantCount", required: false }] }] }); })();
|
|
91
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismHeadInfoComponent, { className: "PrismHeadInfoComponent", filePath: "app/component-head/prism-head-info.component.ts", lineNumber:
|
|
153
|
+
args: [{ selector: 'prism-head-info', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent], template: "<button\n class=\"info-btn\"\n type=\"button\"\n popovertarget=\"prism-head-info\"\n [attr.title]=\"label()\"\n [attr.aria-label]=\"label()\">\n <prism-icon\n name=\"info\"\n [size]=\"13\" />\n</button>\n\n<div\n popover\n id=\"prism-head-info\"\n class=\"info-card\"\n role=\"dialog\"\n [attr.aria-label]=\"label()\">\n <code class=\"info-card__selector\">{{ codeBlock() }}</code>\n @if (description()) {\n <p class=\"info-card__desc\">{{ description() }}</p>\n }\n @if (variantCount() > 0 || stateCount() > 0) {\n <p class=\"info-card__meta\">\n @if (variantCount() > 0) {\n {{ variantCount() }} {{ variantCount() === 1 ? 'variant' : 'variants' }}\n }\n @if (variantCount() > 0 && stateCount() > 0) {\n ·\n }\n @if (stateCount() > 0) {\n {{ stateCount() }} {{ stateCount() === 1 ? 'state' : 'states' }}\n }\n </p>\n }\n @for (fact of facts(); track fact) {\n <p class=\"info-card__meta\">{{ fact }}</p>\n }\n @if (tags().length) {\n <div class=\"info-card__tags\">\n @for (tag of tags(); track tag) {\n <span class=\"info-card__tag\">{{ tag }}</span>\n }\n </div>\n }\n</div>\n", styles: [":host {\n display: inline-flex;\n}\n\n.info-btn {\n display: grid;\n place-items: center;\n width: 20px;\n height: 20px;\n padding: 0;\n anchor-name: --prism-head-info;\n color: var(--prism-text-muted);\n cursor: pointer;\n background: transparent;\n border: 0;\n border-radius: var(--radius-xs);\n}\n\n.info-btn:hover {\n color: var(--prism-text-2);\n}\n\n.info-btn:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 1px;\n}\n\n.info-card {\n inset: auto;\n width: 320px;\n max-width: calc(100vw - var(--sp-6));\n padding: var(--sp-4);\n margin: 0;\n position-area: block-end span-inline-end;\n position-anchor: --prism-head-info;\n position-try-fallbacks: flip-block, flip-inline;\n color: var(--prism-text-2);\n background: var(--prism-bg-elevated);\n border: 1px solid var(--prism-border);\n border-radius: var(--radius-md);\n box-shadow: var(--prism-shadow-md);\n}\n\n.info-card__selector {\n display: block;\n font-family: var(--font-mono);\n font-size: var(--fs-md);\n color: var(--prism-primary);\n user-select: all;\n}\n\n.info-card__desc {\n margin: var(--sp-3) 0 0;\n font-size: var(--fs-lg);\n line-height: 1.55;\n}\n\n/* A plain fact about the component, not a measurement. It sits here with\n the selector and the tags rather than in the gauge, whose numbers all\n answer \"did this pass its threshold\". A count cannot. */\n.info-card__meta {\n margin: var(--sp-3) 0 0;\n font-size: var(--fs-md);\n color: var(--prism-text-muted);\n}\n\n.info-card__tags {\n display: flex;\n flex-wrap: wrap;\n gap: var(--sp-2);\n margin-top: var(--sp-4);\n}\n\n.info-card__tag {\n padding: 1px var(--sp-3);\n font-size: var(--fs-xs);\n color: var(--prism-text-muted);\n border: 1px solid var(--prism-border);\n border-radius: var(--radius-xs);\n}\n"] }]
|
|
154
|
+
}], null, { selector: [{ type: i0.Input, args: [{ isSignal: true, alias: "selector", required: false }] }], code: [{ type: i0.Input, args: [{ isSignal: true, alias: "code", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], tags: [{ type: i0.Input, args: [{ isSignal: true, alias: "tags", required: false }] }], variantCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "variantCount", required: false }] }], stateCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateCount", required: false }] }], facts: [{ type: i0.Input, args: [{ isSignal: true, alias: "facts", required: false }] }] }); })();
|
|
155
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismHeadInfoComponent, { className: "PrismHeadInfoComponent", filePath: "app/component-head/prism-head-info.component.ts", lineNumber: 30 }); })();
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import type { MetricVariant } from './head-metrics.js';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
/**
|
|
4
|
-
* One
|
|
5
|
-
*
|
|
6
|
-
* Was a right-aligned tile in the old head. The pill it used to carry is gone
|
|
7
|
-
* rather than restyled, because it duplicated the caption directly beneath it.
|
|
4
|
+
* One row of the gauge's readout: metric, threshold, value. The three columns
|
|
5
|
+
* line up with the readout's header row through the shared grid template.
|
|
8
6
|
*/
|
|
9
7
|
export declare class PrismStatComponent {
|
|
10
8
|
readonly label: import("@angular/core").InputSignal<string>;
|
|
9
|
+
readonly threshold: import("@angular/core").InputSignal<string>;
|
|
11
10
|
readonly value: import("@angular/core").InputSignal<string | number>;
|
|
12
11
|
readonly variant: import("@angular/core").InputSignal<MetricVariant>;
|
|
13
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismStatComponent, never>;
|
|
14
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PrismStatComponent, "prism-stat", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PrismStatComponent, "prism-stat", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
15
14
|
}
|
|
16
15
|
//# sourceMappingURL=prism-stat.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-stat.component.d.ts","sourceRoot":"","sources":["../../../src/app/component-head/prism-stat.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;;AAEvD
|
|
1
|
+
{"version":3,"file":"prism-stat.component.d.ts","sourceRoot":"","sources":["../../../src/app/component-head/prism-stat.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;;AAEvD;;;GAGG;AACH,qBAOa,kBAAkB;IAC3B,QAAQ,CAAC,KAAK,8CAA4B;IAC1C,QAAQ,CAAC,SAAS,8CAAa;IAC/B,QAAQ,CAAC,KAAK,uDAAqC;IACnD,QAAQ,CAAC,OAAO,qDAA8B;yCAJrC,kBAAkB;2CAAlB,kBAAkB;CAK9B"}
|
|
@@ -1,38 +1,42 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
/**
|
|
4
|
-
* One
|
|
5
|
-
*
|
|
6
|
-
* Was a right-aligned tile in the old head. The pill it used to carry is gone
|
|
7
|
-
* rather than restyled, because it duplicated the caption directly beneath it.
|
|
4
|
+
* One row of the gauge's readout: metric, threshold, value. The three columns
|
|
5
|
+
* line up with the readout's header row through the shared grid template.
|
|
8
6
|
*/
|
|
9
7
|
export class PrismStatComponent {
|
|
10
8
|
label = input.required(/* @ts-ignore */
|
|
11
9
|
...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
10
|
+
threshold = input('', /* @ts-ignore */
|
|
11
|
+
...(ngDevMode ? [{ debugName: "threshold" }] : /* istanbul ignore next */ []));
|
|
12
12
|
value = input.required(/* @ts-ignore */
|
|
13
13
|
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
14
14
|
variant = input('ok', /* @ts-ignore */
|
|
15
15
|
...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
16
16
|
static ɵfac = function PrismStatComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismStatComponent)(); };
|
|
17
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismStatComponent, selectors: [["prism-stat"]], inputs: { label: [1, "label"], value: [1, "value"], variant: [1, "variant"] }, decls:
|
|
18
|
-
i0.ɵɵdomElementStart(0, "div", 0);
|
|
19
|
-
i0.ɵɵdomElement(
|
|
20
|
-
i0.ɵɵdomElementStart(2, "span", 2);
|
|
17
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismStatComponent, selectors: [["prism-stat"]], inputs: { label: [1, "label"], threshold: [1, "threshold"], value: [1, "value"], variant: [1, "variant"] }, decls: 8, vars: 9, consts: [[1, "stat"], [1, "stat__lbl"], ["aria-hidden", "true", 1, "stat__dot"], [1, "stat__thr"], [1, "stat__val"]], template: function PrismStatComponent_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
+
i0.ɵɵdomElementStart(0, "div", 0)(1, "span", 1);
|
|
19
|
+
i0.ɵɵdomElement(2, "span", 2);
|
|
21
20
|
i0.ɵɵtext(3);
|
|
22
21
|
i0.ɵɵdomElementEnd();
|
|
23
22
|
i0.ɵɵdomElementStart(4, "span", 3);
|
|
24
23
|
i0.ɵɵtext(5);
|
|
24
|
+
i0.ɵɵdomElementEnd();
|
|
25
|
+
i0.ɵɵdomElementStart(6, "span", 4);
|
|
26
|
+
i0.ɵɵtext(7);
|
|
25
27
|
i0.ɵɵdomElementEnd()();
|
|
26
28
|
} if (rf & 2) {
|
|
27
29
|
i0.ɵɵclassProp("stat--ok", ctx.variant() === "ok")("stat--warn", ctx.variant() === "warn")("stat--danger", ctx.variant() === "danger");
|
|
28
30
|
i0.ɵɵadvance(3);
|
|
29
31
|
i0.ɵɵtextInterpolate(ctx.label());
|
|
30
32
|
i0.ɵɵadvance(2);
|
|
33
|
+
i0.ɵɵtextInterpolate(ctx.threshold());
|
|
34
|
+
i0.ɵɵadvance(2);
|
|
31
35
|
i0.ɵɵtextInterpolate(ctx.value());
|
|
32
|
-
} }, styles: [".stat[_ngcontent-%COMP%] {\n display:
|
|
36
|
+
} }, styles: [".stat[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: var(--%NS%prism-stat-columns, minmax(110px, 1fr) 90px 70px);\n gap: var(--%NS%sp-4);\n align-items: center;\n padding: var(--%NS%sp-2) var(--%NS%sp-3);\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text-2);\n border-radius: var(--%NS%radius-xs);\n}\n\n.stat__dot[_ngcontent-%COMP%] {\n display: inline-block;\n flex: none;\n width: 6px;\n height: 6px;\n margin-right: var(--%NS%sp-3);\n vertical-align: 1px;\n background: transparent;\n border-radius: 50%;\n}\n\n.stat__lbl[_ngcontent-%COMP%] {\n white-space: nowrap;\n}\n\n.stat__thr[_ngcontent-%COMP%] {\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-sm);\n color: var(--%NS%prism-text-muted);\n white-space: nowrap;\n}\n\n.stat__val[_ngcontent-%COMP%] {\n font-family: var(--%NS%font-mono);\n font-variant-numeric: tabular-nums;\n color: var(--%NS%prism-text);\n text-align: right;\n}\n\n\n\n\n\n.stat--ok[_ngcontent-%COMP%] .stat__dot[_ngcontent-%COMP%] {\n background: var(--%NS%prism-success);\n}\n\n.stat--ok[_ngcontent-%COMP%] .stat__val[_ngcontent-%COMP%] {\n color: var(--%NS%prism-success);\n}\n\n.stat--warn[_ngcontent-%COMP%] .stat__dot[_ngcontent-%COMP%] {\n background: var(--%NS%prism-warn);\n}\n\n.stat--warn[_ngcontent-%COMP%] .stat__val[_ngcontent-%COMP%] {\n color: var(--%NS%prism-warn);\n}\n\n.stat--danger[_ngcontent-%COMP%] .stat__dot[_ngcontent-%COMP%] {\n background: var(--%NS%prism-danger);\n}\n\n.stat--danger[_ngcontent-%COMP%] .stat__val[_ngcontent-%COMP%] {\n color: var(--%NS%prism-danger);\n}"] });
|
|
33
37
|
}
|
|
34
38
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismStatComponent, [{
|
|
35
39
|
type: Component,
|
|
36
|
-
args: [{ selector: 'prism-stat', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"stat\"\n [class.stat--ok]=\"variant() === 'ok'\"\n [class.stat--warn]=\"variant() === 'warn'\"\n [class.stat--danger]=\"variant() === 'danger'\">\n <span\n class=\"stat__dot\"\n
|
|
37
|
-
}], null, { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] }); })();
|
|
38
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismStatComponent, { className: "PrismStatComponent", filePath: "app/component-head/prism-stat.component.ts", lineNumber:
|
|
40
|
+
args: [{ selector: 'prism-stat', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"stat\"\n [class.stat--ok]=\"variant() === 'ok'\"\n [class.stat--warn]=\"variant() === 'warn'\"\n [class.stat--danger]=\"variant() === 'danger'\">\n <span class=\"stat__lbl\"\n ><span\n class=\"stat__dot\"\n aria-hidden=\"true\"></span\n >{{ label() }}</span\n >\n <span class=\"stat__thr\">{{ threshold() }}</span>\n <span class=\"stat__val\">{{ value() }}</span>\n</div>\n", styles: [".stat {\n display: grid;\n grid-template-columns: var(--prism-stat-columns, minmax(110px, 1fr) 90px 70px);\n gap: var(--sp-4);\n align-items: center;\n padding: var(--sp-2) var(--sp-3);\n font-size: var(--fs-md);\n color: var(--prism-text-2);\n border-radius: var(--radius-xs);\n}\n\n.stat__dot {\n display: inline-block;\n flex: none;\n width: 6px;\n height: 6px;\n margin-right: var(--sp-3);\n vertical-align: 1px;\n background: transparent;\n border-radius: 50%;\n}\n\n.stat__lbl {\n white-space: nowrap;\n}\n\n.stat__thr {\n font-family: var(--font-mono);\n font-size: var(--fs-sm);\n color: var(--prism-text-muted);\n white-space: nowrap;\n}\n\n.stat__val {\n font-family: var(--font-mono);\n font-variant-numeric: tabular-nums;\n color: var(--prism-text);\n text-align: right;\n}\n\n/* Four states, four treatments. \"ok\" gets the nominal green, and \"none\"\n does not: a metric with no data has nothing to report, and\n colouring it green would claim a clean result the tool never measured.\n That is the one distinction worth keeping grey. */\n.stat--ok .stat__dot {\n background: var(--prism-success);\n}\n\n.stat--ok .stat__val {\n color: var(--prism-success);\n}\n\n.stat--warn .stat__dot {\n background: var(--prism-warn);\n}\n\n.stat--warn .stat__val {\n color: var(--prism-warn);\n}\n\n.stat--danger .stat__dot {\n background: var(--prism-danger);\n}\n\n.stat--danger .stat__val {\n color: var(--prism-danger);\n}\n"] }]
|
|
41
|
+
}], null, { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], threshold: [{ type: i0.Input, args: [{ isSignal: true, alias: "threshold", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] }); })();
|
|
42
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismStatComponent, { className: "PrismStatComponent", filePath: "app/component-head/prism-stat.component.ts", lineNumber: 15 }); })();
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ServiceProvision } from '../../plugin/service.types.js';
|
|
2
|
+
/**
|
|
3
|
+
* The plain facts about a service for the head's info popover: how it gets into
|
|
4
|
+
* an injector, and where to import it from. The import path is optional on a
|
|
5
|
+
* scanned service, so a service the scanner could not place just has one fact.
|
|
6
|
+
*/
|
|
7
|
+
export declare function serviceFacts(provision: ServiceProvision, importPath: string | undefined): string[];
|
|
8
|
+
//# sourceMappingURL=service-facts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-facts.d.ts","sourceRoot":"","sources":["../../../src/app/component-head/service-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAKlG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The plain facts about a service for the head's info popover: how it gets into
|
|
3
|
+
* an injector, and where to import it from. The import path is optional on a
|
|
4
|
+
* scanned service, so a service the scanner could not place just has one fact.
|
|
5
|
+
*/
|
|
6
|
+
export function serviceFacts(provision, importPath) {
|
|
7
|
+
const facts = [provision === 'auto' ? 'Provided automatically' : 'Needs a providers entry'];
|
|
8
|
+
if (importPath)
|
|
9
|
+
facts.push(importPath);
|
|
10
|
+
return facts;
|
|
11
|
+
}
|