@ng-prism/core 22.6.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 +11 -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 +3 -2
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-toolbar.component.js +89 -97
- 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/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 +19 -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 +80 -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 +13 -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 +57 -16
- 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/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 +8 -0
- package/dist/app/overview/open-in-playground.d.ts.map +1 -1
- package/dist/app/overview/open-in-playground.js +13 -0
- package/dist/app/overview/overview-matrix.d.ts +10 -4
- package/dist/app/overview/overview-matrix.d.ts.map +1 -1
- package/dist/app/overview/overview-matrix.js +3 -3
- package/dist/app/overview/prism-overview-cell.component.d.ts +6 -2
- package/dist/app/overview/prism-overview-cell.component.d.ts.map +1 -1
- package/dist/app/overview/prism-overview-cell.component.js +35 -24
- package/dist/app/overview/prism-overview-matrix.component.js +46 -55
- package/dist/app/page-renderer/prism-page-renderer.component.js +2 -2
- 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/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/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/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 +13 -1
- package/dist/app/renderer/input-bindings.d.ts.map +1 -1
- package/dist/app/renderer/input-bindings.js +22 -1
- package/dist/app/renderer/prism-renderer.component.d.ts +8 -1
- package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
- package/dist/app/renderer/prism-renderer.component.js +40 -28
- 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 +137 -82
- 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-renderer.service.d.ts +6 -0
- package/dist/app/services/prism-renderer.service.d.ts.map +1 -1
- package/dist/app/services/prism-renderer.service.js +40 -6
- 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 +42 -4
- 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 +116 -61
- 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 +4 -2
- package/dist/builder/config-loader/deprecated-options.d.ts.map +1 -1
- package/dist/builder/config-loader/deprecated-options.js +13 -2
- 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 +135 -64
- 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 +209 -57
- 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/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 +52 -15
- 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/scanner.d.ts +25 -1
- package/dist/builder/scanner/scanner.d.ts.map +1 -1
- package/dist/builder/scanner/scanner.js +60 -26
- 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 +114 -1
- 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 +43 -5
- package/dist/decorator/index.d.ts +1 -1
- package/dist/decorator/index.d.ts.map +1 -1
- package/dist/decorator/showcase.types.d.ts +79 -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 +140 -3
- 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
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { deriveA11ySummary } from '../a11y/a11y-summary.js';
|
|
2
1
|
/**
|
|
3
2
|
* The badge a panel's tab carries, if any.
|
|
4
3
|
*
|
|
@@ -18,18 +17,64 @@ export function resolvePanelBadge(panel, component, context) {
|
|
|
18
17
|
return component ? panel.badge(component) : null;
|
|
19
18
|
}
|
|
20
19
|
if (panel.id === 'controls') {
|
|
21
|
-
return
|
|
20
|
+
return countBadge(context.inputCount, 'input');
|
|
21
|
+
}
|
|
22
|
+
if (panel.id === 'events') {
|
|
23
|
+
return countBadge(context.eventCount, 'event');
|
|
22
24
|
}
|
|
23
25
|
if (panel.id === 'a11y') {
|
|
24
|
-
|
|
25
|
-
// most urgent, thing to show.
|
|
26
|
-
const result = context.a11yResult;
|
|
27
|
-
if (result === null)
|
|
28
|
-
return null;
|
|
29
|
-
return {
|
|
30
|
-
text: String(result.score),
|
|
31
|
-
variant: deriveA11ySummary(result, context.a11yThresholds).variant
|
|
32
|
-
};
|
|
26
|
+
return a11yViolationBadge(context.a11yResult);
|
|
33
27
|
}
|
|
34
28
|
return null;
|
|
35
29
|
}
|
|
30
|
+
const plural = (n, noun) => `${n} ${noun}${n === 1 ? '' : 's'}`;
|
|
31
|
+
function countBadge(n, noun) {
|
|
32
|
+
return n > 0 ? { kind: 'count', text: String(n), label: plural(n, noun) } : null;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Reads a badge the way the tab bar renders it, including badges written
|
|
36
|
+
* before 22.7 that only set `variant`.
|
|
37
|
+
*/
|
|
38
|
+
export function normalizePanelBadge(badge) {
|
|
39
|
+
if (badge === null)
|
|
40
|
+
return null;
|
|
41
|
+
if (!badge.kind && badge.variant === 'ok')
|
|
42
|
+
return null;
|
|
43
|
+
const kind = badge.kind ?? (badge.variant === 'warn' || badge.variant === 'danger' ? 'issues' : 'count');
|
|
44
|
+
const label = badge.label ?? badge.text;
|
|
45
|
+
if (kind === 'count')
|
|
46
|
+
return { kind, text: badge.text, label };
|
|
47
|
+
if (badge.text === '0')
|
|
48
|
+
return null;
|
|
49
|
+
const legacyTone = badge.variant === 'warn' || badge.variant === 'danger' ? badge.variant : undefined;
|
|
50
|
+
return { kind, text: badge.text, tone: badge.tone ?? legacyTone ?? 'danger', label };
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* What to tell the author of a panel whose badge still sets `variant`, or
|
|
54
|
+
* `null` when it does not. The panel host logs it once per panel; the badge
|
|
55
|
+
* keeps rendering through {@link normalizePanelBadge} until 23.0.0.
|
|
56
|
+
*/
|
|
57
|
+
export function deprecatedBadgeVariantNotice(panelId, badge) {
|
|
58
|
+
if (badge?.variant === undefined)
|
|
59
|
+
return null;
|
|
60
|
+
return `The badge of panel "${panelId}" sets variant, which is deprecated since 22.7.0 and will be removed in 23.0.0. It is mapped to kind and tone until then; set those instead.`;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* The a11y tab's badge, also shown on the Violations sub-tab: a number of open
|
|
64
|
+
* findings, not the score. The score is graded in the gauge, the sidebar and
|
|
65
|
+
* the panel. The tone follows the most severe violation, the same split the
|
|
66
|
+
* build gate draws.
|
|
67
|
+
*/
|
|
68
|
+
export function a11yViolationBadge(result) {
|
|
69
|
+
if (result === null)
|
|
70
|
+
return null;
|
|
71
|
+
const violations = result.critical + result.serious + result.moderate + result.minor;
|
|
72
|
+
if (violations === 0)
|
|
73
|
+
return null;
|
|
74
|
+
return {
|
|
75
|
+
kind: 'issues',
|
|
76
|
+
text: String(violations),
|
|
77
|
+
tone: result.critical + result.serious > 0 ? 'danger' : 'warn',
|
|
78
|
+
label: plural(violations, 'violation')
|
|
79
|
+
};
|
|
80
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EnvironmentInjector, type Type } from '@angular/core';
|
|
2
2
|
import type { PanelDefinition } from '../../../plugin/plugin.types.js';
|
|
3
3
|
import { PrismPanelService } from '../../services/prism-panel.service.js';
|
|
4
|
+
import { type PrismTabItem } from '../../shared/prism-tabs.component.js';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
type RenderedPanelEntry = {
|
|
6
7
|
id: string;
|
|
@@ -24,7 +25,9 @@ export declare class PrismPanelHostComponent {
|
|
|
24
25
|
*/
|
|
25
26
|
private readonly a11yThresholds;
|
|
26
27
|
private readonly inputCount;
|
|
27
|
-
|
|
28
|
+
private readonly eventLog;
|
|
29
|
+
private panelBadge;
|
|
30
|
+
protected readonly tabItems: import("@angular/core").Signal<PrismTabItem[]>;
|
|
28
31
|
private readonly builtInPanels;
|
|
29
32
|
protected readonly allPanels: import("@angular/core").Signal<PanelDefinition[]>;
|
|
30
33
|
protected readonly panelInputs: import("@angular/core").Signal<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-panel-host.component.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/panel-host/prism-panel-host.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAwD,mBAAmB,EAAkB,KAAK,IAAI,EAAa,MAAM,eAAe,CAAC;AAChJ,OAAO,KAAK,EAAiB,eAAe,EAAmB,MAAM,iCAAiC,CAAC;AAGvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;;
|
|
1
|
+
{"version":3,"file":"prism-panel-host.component.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/panel-host/prism-panel-host.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAwD,mBAAmB,EAAkB,KAAK,IAAI,EAAa,MAAM,eAAe,CAAC;AAChJ,OAAO,KAAK,EAAiB,eAAe,EAAmB,MAAM,iCAAiC,CAAC;AAGvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,sCAAsC,CAAC;;AAY7F,KAAK,kBAAkB,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,qBAQa,uBAAuB;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkC;IACtD,SAAS,CAAC,QAAQ,CAAC,YAAY,oBAA6B;IAC5D,SAAS,CAAC,QAAQ,CAAC,WAAW,sBAA+B;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAE9D;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAO5B;IAEH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAIxB;IAEH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;IAEzD,OAAO,CAAC,UAAU;IAgBlB,SAAS,CAAC,QAAQ,CAAC,QAAQ,iDAEzB;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;IAEhD,SAAS,CAAC,QAAQ,CAAC,SAAS,oDAE1B;IAEF,SAAS,CAAC,QAAQ,CAAC,WAAW;;OAE1B;IAEJ,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAE9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsD;IACrF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,uDAA8D;;IAwCpG,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,mBAAmB;yCA7IlB,uBAAuB;2CAAvB,uBAAuB;CAiKnC"}
|
|
@@ -1,73 +1,35 @@
|
|
|
1
1
|
import { NgComponentOutlet } from '@angular/common';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, computed, effect, EnvironmentInjector, inject, signal, untracked } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { PrismEventLogService } from '../../services/prism-event-log.service.js';
|
|
4
4
|
import { PrismNavigationService } from '../../services/prism-navigation.service.js';
|
|
5
5
|
import { PrismPanelService } from '../../services/prism-panel.service.js';
|
|
6
6
|
import { PrismPluginService } from '../../services/prism-plugin.service.js';
|
|
7
7
|
import { PrismRendererService } from '../../services/prism-renderer.service.js';
|
|
8
|
+
import { PrismTabsComponent } from '../../shared/prism-tabs.component.js';
|
|
8
9
|
import { PRISM_CONFIG, PRISM_MANIFEST } from '../../tokens/prism-tokens.js';
|
|
9
10
|
import { A11yAuditService } from '../a11y/a11y-audit.service.js';
|
|
10
11
|
import { resolveA11yThresholds } from '../a11y/a11y-thresholds.js';
|
|
11
12
|
import { BUILTIN_PANELS } from '../builtin-panels.js';
|
|
12
|
-
import {
|
|
13
|
+
import { addonPanelsFor } from './addon-panels.js';
|
|
14
|
+
import { deprecatedBadgeVariantNotice, normalizePanelBadge, resolvePanelBadge } from './panel-badge.js';
|
|
13
15
|
import * as i0 from "@angular/core";
|
|
14
16
|
const _forTrack0 = ($index, $item) => $item.id;
|
|
15
|
-
function
|
|
16
|
-
i0.ɵɵelement(0, "prism-icon", 6);
|
|
17
|
-
} if (rf & 2) {
|
|
18
|
-
const panel_r2 = i0.ɵɵnextContext().$implicit;
|
|
19
|
-
i0.ɵɵproperty("name", panel_r2.icon)("size", 13);
|
|
20
|
-
} }
|
|
21
|
-
function PrismPanelHostComponent_For_3_Conditional_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
22
|
-
i0.ɵɵelementStart(0, "span", 8);
|
|
23
|
-
i0.ɵɵtext(1);
|
|
24
|
-
i0.ɵɵelementEnd();
|
|
25
|
-
} if (rf & 2) {
|
|
26
|
-
const badge_r4 = i0.ɵɵnextContext();
|
|
27
|
-
i0.ɵɵclassProp("warn", badge_r4.variant === "warn")("danger", badge_r4.variant === "danger");
|
|
28
|
-
i0.ɵɵadvance();
|
|
29
|
-
i0.ɵɵtextInterpolate(badge_r4.text);
|
|
30
|
-
} }
|
|
31
|
-
function PrismPanelHostComponent_For_3_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
-
i0.ɵɵconditionalCreate(0, PrismPanelHostComponent_For_3_Conditional_3_Conditional_0_Template, 2, 5, "span", 7);
|
|
33
|
-
} if (rf & 2) {
|
|
34
|
-
i0.ɵɵconditional(ctx.variant !== "ok" ? 0 : -1);
|
|
35
|
-
} }
|
|
36
|
-
function PrismPanelHostComponent_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
38
|
-
i0.ɵɵelementStart(0, "button", 5);
|
|
39
|
-
i0.ɵɵlistener("click", function PrismPanelHostComponent_For_3_Template_button_click_0_listener() { const panel_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.panelService.activePanelId.set(panel_r2.id)); });
|
|
40
|
-
i0.ɵɵconditionalCreate(1, PrismPanelHostComponent_For_3_Conditional_1_Template, 1, 2, "prism-icon", 6);
|
|
41
|
-
i0.ɵɵtext(2);
|
|
42
|
-
i0.ɵɵconditionalCreate(3, PrismPanelHostComponent_For_3_Conditional_3_Template, 1, 1);
|
|
43
|
-
i0.ɵɵelementEnd();
|
|
44
|
-
} if (rf & 2) {
|
|
45
|
-
let tmp_15_0;
|
|
46
|
-
const panel_r2 = ctx.$implicit;
|
|
47
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
48
|
-
i0.ɵɵclassProp("p-tab--active", ctx_r2.panelService.activePanelId() === panel_r2.id);
|
|
49
|
-
i0.ɵɵattribute("aria-selected", ctx_r2.panelService.activePanelId() === panel_r2.id)("aria-controls", ctx_r2.panelService.activePanelId() === panel_r2.id ? "panel-" + panel_r2.id : null);
|
|
50
|
-
i0.ɵɵadvance();
|
|
51
|
-
i0.ɵɵconditional(panel_r2.icon ? 1 : -1);
|
|
52
|
-
i0.ɵɵadvance();
|
|
53
|
-
i0.ɵɵtextInterpolate1(" ", panel_r2.label, " ");
|
|
54
|
-
i0.ɵɵadvance();
|
|
55
|
-
i0.ɵɵconditional((tmp_15_0 = ctx_r2.panelBadge(panel_r2)) ? 3 : -1, tmp_15_0);
|
|
56
|
-
} }
|
|
57
|
-
function PrismPanelHostComponent_For_6_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
function PrismPanelHostComponent_For_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
58
18
|
i0.ɵɵelementContainer(0);
|
|
59
19
|
} }
|
|
60
|
-
function
|
|
20
|
+
function PrismPanelHostComponent_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
61
21
|
i0.ɵɵelementStart(0, "div", 4);
|
|
62
|
-
i0.ɵɵtemplate(1,
|
|
22
|
+
i0.ɵɵtemplate(1, PrismPanelHostComponent_For_5_ng_container_1_Template, 1, 0, "ng-container", 5);
|
|
63
23
|
i0.ɵɵelementEnd();
|
|
64
24
|
} if (rf & 2) {
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
i0.ɵɵproperty("hidden",
|
|
25
|
+
const entry_r1 = ctx.$implicit;
|
|
26
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
27
|
+
i0.ɵɵproperty("hidden", entry_r1.id !== ctx_r1.panelService.activePanelId());
|
|
68
28
|
i0.ɵɵadvance();
|
|
69
|
-
i0.ɵɵproperty("ngComponentOutlet",
|
|
29
|
+
i0.ɵɵproperty("ngComponentOutlet", entry_r1.component)("ngComponentOutletInputs", ctx_r1.panelInputs())("ngComponentOutletInjector", entry_r1.injector ?? ctx_r1.envInjector);
|
|
70
30
|
} }
|
|
31
|
+
/** Panels whose badge still sets `variant`, warned about once per page load. */
|
|
32
|
+
const warnedVariantBadges = new Set();
|
|
71
33
|
export class PrismPanelHostComponent {
|
|
72
34
|
pluginService = inject(PrismPluginService);
|
|
73
35
|
nav = inject(PrismNavigationService);
|
|
@@ -95,21 +57,25 @@ export class PrismPanelHostComponent {
|
|
|
95
57
|
return comp?.meta.inputs.length ?? 0;
|
|
96
58
|
}, /* @ts-ignore */
|
|
97
59
|
...(ngDevMode ? [{ debugName: "inputCount" }] : /* istanbul ignore next */ []));
|
|
60
|
+
eventLog = inject(PrismEventLogService);
|
|
98
61
|
panelBadge(panel) {
|
|
99
|
-
|
|
62
|
+
const badge = resolvePanelBadge(panel, this.nav.activeComponent(), {
|
|
100
63
|
inputCount: this.inputCount(),
|
|
64
|
+
eventCount: this.eventLog.events().length,
|
|
101
65
|
a11yResult: this.auditService.scoreResult(),
|
|
102
66
|
a11yThresholds: this.a11yThresholds()
|
|
103
67
|
});
|
|
68
|
+
const notice = deprecatedBadgeVariantNotice(panel.id, badge);
|
|
69
|
+
if (notice && !warnedVariantBadges.has(panel.id)) {
|
|
70
|
+
warnedVariantBadges.add(panel.id);
|
|
71
|
+
console.warn(`[ng-prism] ${notice}`);
|
|
72
|
+
}
|
|
73
|
+
return normalizePanelBadge(badge);
|
|
104
74
|
}
|
|
75
|
+
tabItems = computed(() => this.allPanels().map((panel) => ({ id: panel.id, label: panel.label, icon: panel.icon, badge: this.panelBadge(panel) })), /* @ts-ignore */
|
|
76
|
+
...(ngDevMode ? [{ debugName: "tabItems" }] : /* istanbul ignore next */ []));
|
|
105
77
|
builtInPanels = BUILTIN_PANELS;
|
|
106
|
-
allPanels = computed(() =>
|
|
107
|
-
const comp = this.nav.activeComponent();
|
|
108
|
-
const panels = [...this.builtInPanels.filter((p) => p.placement !== 'view'), ...this.pluginService.addonPanels()];
|
|
109
|
-
if (!comp)
|
|
110
|
-
return panels;
|
|
111
|
-
return panels.filter((p) => !p.isVisible || p.isVisible(comp));
|
|
112
|
-
}, /* @ts-ignore */
|
|
78
|
+
allPanels = computed(() => addonPanelsFor([...this.builtInPanels.filter((p) => p.placement !== 'view'), ...this.pluginService.addonPanels()], this.nav.activeComponent()), /* @ts-ignore */
|
|
113
79
|
...(ngDevMode ? [{ debugName: "allPanels" }] : /* istanbul ignore next */ []));
|
|
114
80
|
panelInputs = computed(() => ({
|
|
115
81
|
activeComponent: this.nav.activeComponent()
|
|
@@ -199,24 +165,24 @@ export class PrismPanelHostComponent {
|
|
|
199
165
|
this.renderedPanels.set(next);
|
|
200
166
|
}
|
|
201
167
|
static ɵfac = function PrismPanelHostComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismPanelHostComponent)(); };
|
|
202
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismPanelHostComponent, selectors: [["prism-panel-host"]], decls:
|
|
203
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "
|
|
204
|
-
i0.ɵɵ
|
|
205
|
-
i0.ɵɵelementEnd();
|
|
206
|
-
i0.ɵɵelementStart(
|
|
207
|
-
i0.ɵɵrepeaterCreate(
|
|
168
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismPanelHostComponent, selectors: [["prism-panel-host"]], decls: 6, vars: 3, consts: [[1, "panel"], [1, "panel-tabs"], ["ariaLabel", "Panels", "panelIdPrefix", "panel-", 3, "activeChange", "items", "active"], ["role", "tabpanel", 1, "panel-body", 3, "id"], [1, "panel-pane", 3, "hidden"], [4, "ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector"]], template: function PrismPanelHostComponent_Template(rf, ctx) { if (rf & 1) {
|
|
169
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "prism-tabs", 2);
|
|
170
|
+
i0.ɵɵlistener("activeChange", function PrismPanelHostComponent_Template_prism_tabs_activeChange_2_listener($event) { return $event && ctx.panelService.activePanelId.set($event); });
|
|
171
|
+
i0.ɵɵelementEnd()();
|
|
172
|
+
i0.ɵɵelementStart(3, "div", 3);
|
|
173
|
+
i0.ɵɵrepeaterCreate(4, PrismPanelHostComponent_For_5_Template, 2, 4, "div", 4, _forTrack0);
|
|
208
174
|
i0.ɵɵelementEnd()();
|
|
209
175
|
} if (rf & 2) {
|
|
210
176
|
i0.ɵɵadvance(2);
|
|
211
|
-
i0.ɵɵ
|
|
212
|
-
i0.ɵɵadvance(
|
|
177
|
+
i0.ɵɵproperty("items", ctx.tabItems())("active", ctx.panelService.activePanelId());
|
|
178
|
+
i0.ɵɵadvance();
|
|
213
179
|
i0.ɵɵproperty("id", "panel-" + ctx.panelService.activePanelId());
|
|
214
180
|
i0.ɵɵadvance();
|
|
215
181
|
i0.ɵɵrepeater(ctx.renderedPanelsArray());
|
|
216
|
-
} }, dependencies: [NgComponentOutlet,
|
|
182
|
+
} }, dependencies: [NgComponentOutlet, PrismTabsComponent], styles: [".panel[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n background: var(--%NS%prism-bg-surface);\n border-top: 1px solid var(--%NS%prism-border);\n}\n\n.panel-tabs[_ngcontent-%COMP%] {\n display: flex;\n flex-shrink: 0;\n height: 38px;\n padding: 0 12px;\n background: var(--%NS%prism-bg);\n border-bottom: 1px solid var(--%NS%prism-border);\n}\n\n.panel-body[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n overflow: auto;\n background: var(--%NS%prism-bg-surface);\n}\n\n.panel-body[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n}\n\n.panel-body[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--%NS%prism-border-strong);\n border-radius: 4px;\n}\n\n.panel-pane[_ngcontent-%COMP%] {\n height: 100%;\n}\n\n.panel-pane[hidden][_ngcontent-%COMP%] {\n display: none;\n}\n\n[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 2px;\n}"] });
|
|
217
183
|
}
|
|
218
184
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismPanelHostComponent, [{
|
|
219
185
|
type: Component,
|
|
220
|
-
args: [{ selector: 'prism-panel-host', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgComponentOutlet,
|
|
186
|
+
args: [{ selector: 'prism-panel-host', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgComponentOutlet, PrismTabsComponent], template: "<div class=\"panel\">\n <div class=\"panel-tabs\">\n <prism-tabs\n ariaLabel=\"Panels\"\n panelIdPrefix=\"panel-\"\n [items]=\"tabItems()\"\n [active]=\"panelService.activePanelId()\"\n (activeChange)=\"$event && panelService.activePanelId.set($event)\" />\n </div>\n <div\n class=\"panel-body\"\n [id]=\"'panel-' + panelService.activePanelId()\"\n role=\"tabpanel\">\n @for (entry of renderedPanelsArray(); track entry.id) {\n <div\n class=\"panel-pane\"\n [hidden]=\"entry.id !== panelService.activePanelId()\">\n <ng-container *ngComponentOutlet=\"entry.component; inputs: panelInputs(); injector: entry.injector ?? envInjector\" />\n </div>\n }\n </div>\n</div>\n", styles: [".panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n background: var(--prism-bg-surface);\n border-top: 1px solid var(--prism-border);\n}\n\n.panel-tabs {\n display: flex;\n flex-shrink: 0;\n height: 38px;\n padding: 0 12px;\n background: var(--prism-bg);\n border-bottom: 1px solid var(--prism-border);\n}\n\n.panel-body {\n flex: 1;\n min-height: 0;\n overflow: auto;\n background: var(--prism-bg-surface);\n}\n\n.panel-body::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n}\n\n.panel-body::-webkit-scrollbar-thumb {\n background: var(--prism-border-strong);\n border-radius: 4px;\n}\n\n.panel-pane {\n height: 100%;\n}\n\n.panel-pane[hidden] {\n display: none;\n}\n\n:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 2px;\n}\n"] }]
|
|
221
187
|
}], () => [], null); })();
|
|
222
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismPanelHostComponent, { className: "PrismPanelHostComponent", filePath: "app/panels/panel-host/prism-panel-host.component.ts", lineNumber:
|
|
188
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismPanelHostComponent, { className: "PrismPanelHostComponent", filePath: "app/panels/panel-host/prism-panel-host.component.ts", lineNumber: 36 }); })();
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Type } from '@angular/core';
|
|
2
|
+
import type { CompositionCase, RuntimeComponent } from '../../plugin/plugin.types.js';
|
|
3
|
+
/**
|
|
4
|
+
* The composition variant `variantIndex` renders in, `null` for a variant without one, which renders the class (or the
|
|
5
|
+
* `__PrismHost` of a directive) as before. Also `null` when the manifest has no wrapper to render the case in.
|
|
6
|
+
*/
|
|
7
|
+
export declare function activeCase(comp: RuntimeComponent, variantIndex: number): CompositionCase | null;
|
|
8
|
+
/** The class to create for variant `variantIndex`: the composition wrapper for a composed variant, else `comp.type`. */
|
|
9
|
+
export declare function renderTypeFor(comp: RuntimeComponent, variantIndex: number): Type<unknown>;
|
|
10
|
+
/** What a render consists of: when two are the same, a variant switch sets the inputs on the instance instead of creating a new one. */
|
|
11
|
+
export interface RenderSignature {
|
|
12
|
+
type: Type<unknown>;
|
|
13
|
+
/** `variantIndex` only for a composed variant: two composed variants are two renders even with equal inputs. */
|
|
14
|
+
variantIndex: number | null;
|
|
15
|
+
content: string | Record<string, string> | undefined;
|
|
16
|
+
}
|
|
17
|
+
export declare function renderSignature(comp: RuntimeComponent, variantIndex: number, content: RenderSignature['content']): RenderSignature;
|
|
18
|
+
/** Whether `b` renders what `a` rendered, `a` being `null` while nothing is rendered. Content compares by identity. */
|
|
19
|
+
export declare function sameRender(a: RenderSignature | null, b: RenderSignature): boolean;
|
|
20
|
+
//# sourceMappingURL=composition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../../src/app/renderer/composition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEtF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAO/F;AAED,wHAAwH;AACxH,wBAAgB,aAAa,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAEzF;AAED,wIAAwI;AACxI,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,gHAAgH;IAChH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CACxD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAMlI;AAED,uHAAuH;AACvH,wBAAgB,UAAU,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,EAAE,CAAC,EAAE,eAAe,GAAG,OAAO,CAEjF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The composition variant `variantIndex` renders in, `null` for a variant without one, which renders the class (or the
|
|
3
|
+
* `__PrismHost` of a directive) as before. Also `null` when the manifest has no wrapper to render the case in.
|
|
4
|
+
*/
|
|
5
|
+
export function activeCase(comp, variantIndex) {
|
|
6
|
+
const composition = comp.meta.composition;
|
|
7
|
+
if (!composition || !comp.composition)
|
|
8
|
+
return null;
|
|
9
|
+
const caseIndex = composition.variantCases[variantIndex] ?? -1;
|
|
10
|
+
return caseIndex < 0 ? null : (composition.cases[caseIndex] ?? null);
|
|
11
|
+
}
|
|
12
|
+
/** The class to create for variant `variantIndex`: the composition wrapper for a composed variant, else `comp.type`. */
|
|
13
|
+
export function renderTypeFor(comp, variantIndex) {
|
|
14
|
+
return activeCase(comp, variantIndex) && comp.composition ? comp.composition : comp.type;
|
|
15
|
+
}
|
|
16
|
+
export function renderSignature(comp, variantIndex, content) {
|
|
17
|
+
return {
|
|
18
|
+
type: renderTypeFor(comp, variantIndex),
|
|
19
|
+
variantIndex: activeCase(comp, variantIndex) ? variantIndex : null,
|
|
20
|
+
content
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/** Whether `b` renders what `a` rendered, `a` being `null` while nothing is rendered. Content compares by identity. */
|
|
24
|
+
export function sameRender(a, b) {
|
|
25
|
+
return a !== null && a.type === b.type && a.variantIndex === b.variantIndex && a.content === b.content;
|
|
26
|
+
}
|
|
@@ -11,6 +11,18 @@ export declare const PRISM_CONTENT_INPUT = "__prismContent__";
|
|
|
11
11
|
* component's aliased input maps to its alias. A directive renders inside the
|
|
12
12
|
* generated `__PrismHost` wrapper, which declares the inputs under their member
|
|
13
13
|
* names and binds the aliases itself.
|
|
14
|
+
*
|
|
15
|
+
* With `variantIndex`, a composed variant renders in the composition wrapper,
|
|
16
|
+
* which declares the inputs under their member names as well, and only those
|
|
17
|
+
* its case binds.
|
|
14
18
|
*/
|
|
15
|
-
export declare function buildInputBindings(comp: RuntimeComponent): Map<string, string>;
|
|
19
|
+
export declare function buildInputBindings(comp: RuntimeComponent, variantIndex?: number): Map<string, string>;
|
|
20
|
+
/**
|
|
21
|
+
* What a composed variant leaves out of {@link buildInputBindings} on purpose:
|
|
22
|
+
* the inputs its case does not bind, and `__prismContent__`, which only the
|
|
23
|
+
* `__PrismHost` of a directive declares. A value for one of them is skipped
|
|
24
|
+
* without the warning about an unknown input. Empty for a variant without a
|
|
25
|
+
* composition.
|
|
26
|
+
*/
|
|
27
|
+
export declare function unboundInputs(comp: RuntimeComponent, variantIndex: number): ReadonlySet<string>;
|
|
16
28
|
//# sourceMappingURL=input-bindings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-bindings.d.ts","sourceRoot":"","sources":["../../../src/app/renderer/input-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"input-bindings.d.ts","sourceRoot":"","sources":["../../../src/app/renderer/input-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGrE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBrG;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAI/F"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { activeCase } from './composition.js';
|
|
1
2
|
/** Synthetic input the manifest generator emits on directive wrapper classes
|
|
2
3
|
* to project per-variant `content` text into the host element. The directive
|
|
3
4
|
* itself doesn't declare it, so it isn't in `meta.inputs`, and code that
|
|
@@ -10,8 +11,17 @@ export const PRISM_CONTENT_INPUT = '__prismContent__';
|
|
|
10
11
|
* component's aliased input maps to its alias. A directive renders inside the
|
|
11
12
|
* generated `__PrismHost` wrapper, which declares the inputs under their member
|
|
12
13
|
* names and binds the aliases itself.
|
|
14
|
+
*
|
|
15
|
+
* With `variantIndex`, a composed variant renders in the composition wrapper,
|
|
16
|
+
* which declares the inputs under their member names as well, and only those
|
|
17
|
+
* its case binds.
|
|
13
18
|
*/
|
|
14
|
-
export function buildInputBindings(comp) {
|
|
19
|
+
export function buildInputBindings(comp, variantIndex) {
|
|
20
|
+
const composition = variantIndex === undefined ? null : activeCase(comp, variantIndex);
|
|
21
|
+
if (composition) {
|
|
22
|
+
const unbound = new Set(composition.unbound.map(({ name }) => name));
|
|
23
|
+
return new Map(comp.meta.inputs.filter(({ name }) => !unbound.has(name)).map(({ name }) => [name, name]));
|
|
24
|
+
}
|
|
15
25
|
const isDirective = comp.meta.componentMeta.isDirective;
|
|
16
26
|
const bindings = new Map(comp.meta.inputs.map((i) => [i.name, isDirective ? i.name : (i.alias ?? i.name)]));
|
|
17
27
|
if (isDirective) {
|
|
@@ -19,3 +29,14 @@ export function buildInputBindings(comp) {
|
|
|
19
29
|
}
|
|
20
30
|
return bindings;
|
|
21
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* What a composed variant leaves out of {@link buildInputBindings} on purpose:
|
|
34
|
+
* the inputs its case does not bind, and `__prismContent__`, which only the
|
|
35
|
+
* `__PrismHost` of a directive declares. A value for one of them is skipped
|
|
36
|
+
* without the warning about an unknown input. Empty for a variant without a
|
|
37
|
+
* composition.
|
|
38
|
+
*/
|
|
39
|
+
export function unboundInputs(comp, variantIndex) {
|
|
40
|
+
const composition = activeCase(comp, variantIndex);
|
|
41
|
+
return new Set(composition ? [...composition.unbound.map(({ name }) => name), PRISM_CONTENT_INPUT] : []);
|
|
42
|
+
}
|
|
@@ -49,7 +49,8 @@ export declare class PrismRendererComponent {
|
|
|
49
49
|
private readonly outlet;
|
|
50
50
|
private componentRef;
|
|
51
51
|
private outputSubscriptions;
|
|
52
|
-
|
|
52
|
+
/** What the instance on the canvas renders, `null` without one: a variant switch to another render creates a new instance. */
|
|
53
|
+
private lastRender;
|
|
53
54
|
private isRenderPage;
|
|
54
55
|
private readonly overlayCache;
|
|
55
56
|
readonly activeOverlay: import("@angular/core").WritableSignal<Type<unknown> | null>;
|
|
@@ -78,6 +79,12 @@ export declare class PrismRendererComponent {
|
|
|
78
79
|
protected readonly overlayInjector: import("@angular/core").Signal<import("@angular/core").EnvironmentInjector | Injector>;
|
|
79
80
|
constructor();
|
|
80
81
|
private createComponent;
|
|
82
|
+
/**
|
|
83
|
+
* Sets `values` on the instance by the bindings of the variant. A key that
|
|
84
|
+
* names no input gets a warning, an input the composition of the variant
|
|
85
|
+
* leaves unbound is skipped without one.
|
|
86
|
+
*/
|
|
87
|
+
private setInputs;
|
|
81
88
|
private cleanup;
|
|
82
89
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismRendererComponent, never>;
|
|
83
90
|
static ɵcmp: i0.ɵɵComponentDeclaration<PrismRendererComponent, "prism-renderer", never, {}, {}, never, never, true, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-renderer.component.d.ts","sourceRoot":"","sources":["../../../src/app/renderer/prism-renderer.component.ts"],"names":[],"mappings":"AACA,OAAO,EASH,QAAQ,EAGR,KAAK,IAAI,EAIZ,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"prism-renderer.component.d.ts","sourceRoot":"","sources":["../../../src/app/renderer/prism-renderer.component.ts"],"names":[],"mappings":"AACA,OAAO,EASH,QAAQ,EAGR,KAAK,IAAI,EAIZ,MAAM,eAAe,CAAC;AAavB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAG3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAIjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;;AAQhF,qBASa,sBAAsB;IAC/B,SAAS,CAAC,QAAQ,CAAC,iBAAiB,yBAAkC;IACtE,SAAS,CAAC,QAAQ,CAAC,eAAe,uBAAgC;IAClE,SAAS,CAAC,QAAQ,CAAC,aAAa,qBAA8B;IAC9D,SAAS,CAAC,QAAQ,CAAC,OAAO,sBAA+B;IACzD,SAAS,CAAC,QAAQ,CAAC,SAAS,wBAAiC;IAC7D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAE/D;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,gDAAuF;IAEvH,SAAS,CAAC,QAAQ,CAAC,YAAY,OAAgB;IAC/C,SAAS,CAAC,QAAQ,CAAC,YAAY,QAAgB;IAE/C;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmC;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAE3B;IAEH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmC;IAEhE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAEpB;IACH,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,mBAAmB,CAAsC;IACjE,8HAA8H;IAC9H,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;IACjE,QAAQ,CAAC,aAAa,+DAAsC;IAC5D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,gDAY3B;IACH;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,gDAE/B;IACF;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,gDAI5B;IACH,4GAA4G;IAC5G,SAAS,CAAC,QAAQ,CAAC,YAAY,4FAO5B;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa;;MAA6C;IAC7E,SAAS,CAAC,QAAQ,CAAC,eAAe,yFAI/B;;IA0FH,OAAO,CAAC,eAAe;IAgFvB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,OAAO;yCA7SN,sBAAsB;2CAAtB,sBAAsB;CA4TlC"}
|