@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
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { PSEUDO_STATES } from '../../shared/pseudo-state.type.js';
|
|
2
|
+
/** True when `states` forces at least one state on at least one target. */
|
|
3
|
+
export function forcesAnyState(states) {
|
|
4
|
+
return !!states && PSEUDO_STATES.some((state) => hasTarget(states[state]));
|
|
5
|
+
}
|
|
6
|
+
/** True when `target` names something: `true`, or a selector that is not blank. */
|
|
7
|
+
export function hasTarget(target) {
|
|
8
|
+
if (target === true)
|
|
9
|
+
return true;
|
|
10
|
+
if (typeof target === 'string')
|
|
11
|
+
return target.trim() !== '';
|
|
12
|
+
return Array.isArray(target) && target.some((selector) => typeof selector === 'string' && selector.trim() !== '');
|
|
13
|
+
}
|
|
14
|
+
const warnedSelectors = new Set();
|
|
15
|
+
/**
|
|
16
|
+
* The elements under `root` a target names. `root` counts: a selector can name
|
|
17
|
+
* the component's host, and `true` includes it.
|
|
18
|
+
*/
|
|
19
|
+
export function resolveTargets(root, target) {
|
|
20
|
+
const targets = new Set();
|
|
21
|
+
if (target === undefined)
|
|
22
|
+
return targets;
|
|
23
|
+
if (target === true) {
|
|
24
|
+
targets.add(root);
|
|
25
|
+
for (const el of Array.from(root.querySelectorAll('*')))
|
|
26
|
+
targets.add(el);
|
|
27
|
+
return targets;
|
|
28
|
+
}
|
|
29
|
+
for (const selector of typeof target === 'string' ? [target] : target) {
|
|
30
|
+
if (typeof selector !== 'string' || selector.trim() === '')
|
|
31
|
+
continue;
|
|
32
|
+
try {
|
|
33
|
+
if (root.matches(selector))
|
|
34
|
+
targets.add(root);
|
|
35
|
+
for (const el of Array.from(root.querySelectorAll(selector)))
|
|
36
|
+
targets.add(el);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
if (!warnedSelectors.has(selector)) {
|
|
40
|
+
warnedSelectors.add(selector);
|
|
41
|
+
console.warn(`[ng-prism] "${selector}" in forced pseudo states is not a valid selector, skipping it.`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return targets;
|
|
46
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ForcedPseudoStates, type PseudoState, type PseudoTarget } from '../../shared/pseudo-state.type.js';
|
|
2
|
+
/** Whether a state can be forced on a rendered component, and if not, why. */
|
|
3
|
+
export type StateFit = {
|
|
4
|
+
fits: true;
|
|
5
|
+
} | {
|
|
6
|
+
fits: false;
|
|
7
|
+
reason: string;
|
|
8
|
+
};
|
|
9
|
+
/** `true` is the whole component, a selector list reads as its selectors joined with `, `. */
|
|
10
|
+
export declare function describeTarget(target: PseudoTarget): string;
|
|
11
|
+
/**
|
|
12
|
+
* The subset of `elements` the browser could put into `state`: what a user
|
|
13
|
+
* could focus, or hover, or press. Forcing a state on anything else would show
|
|
14
|
+
* something the component can never be in.
|
|
15
|
+
*
|
|
16
|
+
* `focus-within` is not filtered. Whether some descendant takes focus cannot be
|
|
17
|
+
* told without a browser API for focusability.
|
|
18
|
+
*/
|
|
19
|
+
export declare function reachableTargets(root: Element, state: PseudoState, elements: Iterable<Element>): Element[];
|
|
20
|
+
/**
|
|
21
|
+
* Fits when every pseudo-class of `pseudo` has at least one reachable target
|
|
22
|
+
* under `root`. The reason names the first pseudo-class, in
|
|
23
|
+
* {@link PSEUDO_STATES} order, that does not. Focus on the whole component is
|
|
24
|
+
* decided on what could take focus ({@link fitCandidates}); which elements get
|
|
25
|
+
* the class is not affected.
|
|
26
|
+
*/
|
|
27
|
+
export declare function evaluateStateFit(root: Element, pseudo: ForcedPseudoStates): StateFit;
|
|
28
|
+
//# sourceMappingURL=state-fit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-fit.d.ts","sourceRoot":"","sources":["../../../src/app/pseudo/state-fit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAiB,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAGhI,8EAA8E;AAC9E,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAG3D;AA4BD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,EAAE,CAc1G;AAyBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,GAAG,QAAQ,CAkBpF"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { PSEUDO_STATES } from '../../shared/pseudo-state.type.js';
|
|
2
|
+
import { forcesAnyState, resolveTargets } from './pseudo-targets.js';
|
|
3
|
+
/** `true` is the whole component, a selector list reads as its selectors joined with `, `. */
|
|
4
|
+
export function describeTarget(target) {
|
|
5
|
+
if (target === true)
|
|
6
|
+
return 'the component';
|
|
7
|
+
return typeof target === 'string' ? target : target.join(', ');
|
|
8
|
+
}
|
|
9
|
+
function isDisabled(el) {
|
|
10
|
+
return el.matches(':disabled');
|
|
11
|
+
}
|
|
12
|
+
/** Under `[inert]` within the component: an `inert` outside `root` is not the component's doing. */
|
|
13
|
+
function isInert(root, el) {
|
|
14
|
+
const inert = el.closest('[inert]');
|
|
15
|
+
return inert !== null && root.contains(inert);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Whether `el` or something inside it receives the pointer. `pointer-events`
|
|
19
|
+
* inherits, so a subtree of `none` is unreachable unless a descendant sets it
|
|
20
|
+
* back, and then the browser hands that descendant the hover.
|
|
21
|
+
*/
|
|
22
|
+
function takesPointer(el, known) {
|
|
23
|
+
let reachable = known.get(el);
|
|
24
|
+
if (reachable === undefined) {
|
|
25
|
+
reachable = getComputedStyle(el).pointerEvents !== 'none' || Array.from(el.children).some((child) => takesPointer(child, known));
|
|
26
|
+
known.set(el, reachable);
|
|
27
|
+
}
|
|
28
|
+
return reachable;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The subset of `elements` the browser could put into `state`: what a user
|
|
32
|
+
* could focus, or hover, or press. Forcing a state on anything else would show
|
|
33
|
+
* something the component can never be in.
|
|
34
|
+
*
|
|
35
|
+
* `focus-within` is not filtered. Whether some descendant takes focus cannot be
|
|
36
|
+
* told without a browser API for focusability.
|
|
37
|
+
*/
|
|
38
|
+
export function reachableTargets(root, state, elements) {
|
|
39
|
+
switch (state) {
|
|
40
|
+
case 'focus':
|
|
41
|
+
case 'focus-visible':
|
|
42
|
+
return Array.from(elements).filter((el) => !isDisabled(el) && !isInert(root, el));
|
|
43
|
+
case 'hover':
|
|
44
|
+
case 'active': {
|
|
45
|
+
const known = new Map();
|
|
46
|
+
return Array.from(elements).filter((el) => takesPointer(el, known));
|
|
47
|
+
}
|
|
48
|
+
case 'focus-within':
|
|
49
|
+
return Array.from(elements);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** What can take focus at all, whether or not it is disabled or inert now. */
|
|
53
|
+
const FOCUSABLE = 'button, input, select, textarea, a[href], area[href], summary, iframe, [tabindex], [contenteditable]:not([contenteditable="false"])';
|
|
54
|
+
/**
|
|
55
|
+
* The targets the fit of `state` is decided on. For focus on the whole
|
|
56
|
+
* component (`true`) that is what could take focus at all: the host is never
|
|
57
|
+
* `:disabled`, so a component whose only focusable element is disabled would
|
|
58
|
+
* otherwise fit, and show the plain default under a focus label. A component
|
|
59
|
+
* with nothing focusable in it keeps every element, as before.
|
|
60
|
+
*/
|
|
61
|
+
function fitCandidates(state, target, targets) {
|
|
62
|
+
if (target !== true || (state !== 'focus' && state !== 'focus-visible'))
|
|
63
|
+
return targets;
|
|
64
|
+
const focusable = Array.from(targets).filter((el) => el.matches(FOCUSABLE));
|
|
65
|
+
return focusable.length > 0 ? new Set(focusable) : targets;
|
|
66
|
+
}
|
|
67
|
+
/** Why `elements`, all of them unreachable for `state`, are: the first applicable of disabled, inert and pointer-events. */
|
|
68
|
+
function unreachableReason(state, elements) {
|
|
69
|
+
if (state === 'hover' || state === 'active')
|
|
70
|
+
return 'has pointer-events: none';
|
|
71
|
+
return Array.from(elements).some(isDisabled) ? 'is disabled' : 'is inert';
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Fits when every pseudo-class of `pseudo` has at least one reachable target
|
|
75
|
+
* under `root`. The reason names the first pseudo-class, in
|
|
76
|
+
* {@link PSEUDO_STATES} order, that does not. Focus on the whole component is
|
|
77
|
+
* decided on what could take focus ({@link fitCandidates}); which elements get
|
|
78
|
+
* the class is not affected.
|
|
79
|
+
*/
|
|
80
|
+
export function evaluateStateFit(root, pseudo) {
|
|
81
|
+
if (!forcesAnyState(pseudo))
|
|
82
|
+
return { fits: false, reason: 'forces no state' };
|
|
83
|
+
for (const state of PSEUDO_STATES) {
|
|
84
|
+
const target = pseudo[state];
|
|
85
|
+
// Like the marker, which gives an empty selector no element to mark.
|
|
86
|
+
if (target === undefined || !forcesAnyState({ [state]: target }))
|
|
87
|
+
continue;
|
|
88
|
+
const targets = resolveTargets(root, target);
|
|
89
|
+
const label = describeTarget(target);
|
|
90
|
+
if (targets.size === 0)
|
|
91
|
+
return { fits: false, reason: `${label} matches nothing` };
|
|
92
|
+
const candidates = fitCandidates(state, target, targets);
|
|
93
|
+
if (reachableTargets(root, state, candidates).length === 0)
|
|
94
|
+
return { fits: false, reason: `${label} ${unreachableReason(state, candidates)}` };
|
|
95
|
+
}
|
|
96
|
+
return { fits: true };
|
|
97
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { RuntimeComponent } from '../../plugin/plugin.types.js';
|
|
2
|
+
/** Synthetic input the manifest generator emits on directive wrapper classes
|
|
3
|
+
* to project per-variant `content` text into the host element. The directive
|
|
4
|
+
* itself doesn't declare it, so it isn't in `meta.inputs`, and code that
|
|
5
|
+
* validates / filters inputs against that list must allow this key through.
|
|
6
|
+
*/
|
|
7
|
+
export declare const PRISM_CONTENT_INPUT = "__prismContent__";
|
|
8
|
+
/**
|
|
9
|
+
* The inputs a variant may set, by class member name, each mapped to the name
|
|
10
|
+
* `ComponentRef.setInput` takes. Angular resolves that by the public name, so a
|
|
11
|
+
* component's aliased input maps to its alias. A directive renders inside the
|
|
12
|
+
* generated `__PrismHost` wrapper, which declares the inputs under their member
|
|
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.
|
|
18
|
+
*/
|
|
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>;
|
|
28
|
+
//# sourceMappingURL=input-bindings.d.ts.map
|
|
@@ -0,0 +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;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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { activeCase } from './composition.js';
|
|
2
|
+
/** Synthetic input the manifest generator emits on directive wrapper classes
|
|
3
|
+
* to project per-variant `content` text into the host element. The directive
|
|
4
|
+
* itself doesn't declare it, so it isn't in `meta.inputs`, and code that
|
|
5
|
+
* validates / filters inputs against that list must allow this key through.
|
|
6
|
+
*/
|
|
7
|
+
export const PRISM_CONTENT_INPUT = '__prismContent__';
|
|
8
|
+
/**
|
|
9
|
+
* The inputs a variant may set, by class member name, each mapped to the name
|
|
10
|
+
* `ComponentRef.setInput` takes. Angular resolves that by the public name, so a
|
|
11
|
+
* component's aliased input maps to its alias. A directive renders inside the
|
|
12
|
+
* generated `__PrismHost` wrapper, which declares the inputs under their member
|
|
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.
|
|
18
|
+
*/
|
|
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
|
+
}
|
|
25
|
+
const isDirective = comp.meta.componentMeta.isDirective;
|
|
26
|
+
const bindings = new Map(comp.meta.inputs.map((i) => [i.name, isDirective ? i.name : (i.alias ?? i.name)]));
|
|
27
|
+
if (isDirective) {
|
|
28
|
+
bindings.set(PRISM_CONTENT_INPUT, PRISM_CONTENT_INPUT);
|
|
29
|
+
}
|
|
30
|
+
return bindings;
|
|
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
|
+
}
|
|
@@ -5,5 +5,12 @@ import type { RuntimeComponent } from '../../plugin/plugin.types.js';
|
|
|
5
5
|
* validates / filters inputs against that list must allow this key through.
|
|
6
6
|
*/
|
|
7
7
|
export declare const PRISM_CONTENT_INPUT = "__prismContent__";
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* The inputs a variant may set, by class member name, each mapped to the name
|
|
10
|
+
* `ComponentRef.setInput` takes. Angular resolves that by the public name, so a
|
|
11
|
+
* component's aliased input maps to its alias. A directive renders inside the
|
|
12
|
+
* generated `__PrismHost` wrapper, which declares the inputs under their member
|
|
13
|
+
* names and binds the aliases itself.
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildInputBindings(comp: RuntimeComponent): Map<string, string>;
|
|
9
16
|
//# sourceMappingURL=known-inputs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"known-inputs.d.ts","sourceRoot":"","sources":["../../../src/app/renderer/known-inputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD,wBAAgB,
|
|
1
|
+
{"version":3,"file":"known-inputs.d.ts","sourceRoot":"","sources":["../../../src/app/renderer/known-inputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAQ9E"}
|
|
@@ -4,10 +4,18 @@
|
|
|
4
4
|
* validates / filters inputs against that list must allow this key through.
|
|
5
5
|
*/
|
|
6
6
|
export const PRISM_CONTENT_INPUT = '__prismContent__';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
/**
|
|
8
|
+
* The inputs a variant may set, by class member name, each mapped to the name
|
|
9
|
+
* `ComponentRef.setInput` takes. Angular resolves that by the public name, so a
|
|
10
|
+
* component's aliased input maps to its alias. A directive renders inside the
|
|
11
|
+
* generated `__PrismHost` wrapper, which declares the inputs under their member
|
|
12
|
+
* names and binds the aliases itself.
|
|
13
|
+
*/
|
|
14
|
+
export function buildInputBindings(comp) {
|
|
15
|
+
const isDirective = comp.meta.componentMeta.isDirective;
|
|
16
|
+
const bindings = new Map(comp.meta.inputs.map((i) => [i.name, isDirective ? i.name : (i.alias ?? i.name)]));
|
|
17
|
+
if (isDirective) {
|
|
18
|
+
bindings.set(PRISM_CONTENT_INPUT, PRISM_CONTENT_INPUT);
|
|
11
19
|
}
|
|
12
|
-
return
|
|
20
|
+
return bindings;
|
|
13
21
|
}
|
|
@@ -49,18 +49,26 @@ 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>;
|
|
56
57
|
/**
|
|
57
|
-
* Identifier of the currently rendered component/variant
|
|
58
|
-
* Held back until the
|
|
58
|
+
* Identifier of the currently rendered component/variant, and of the active state.
|
|
59
|
+
* Held back until the forced pseudo states and the state are in place, see {@link resolveRenderedKey}.
|
|
59
60
|
*/
|
|
60
61
|
protected readonly renderedKey: import("@angular/core").Signal<string | null>;
|
|
62
|
+
/**
|
|
63
|
+
* Why the active state is not part of what the canvas shows, `null` when it is
|
|
64
|
+
* or none is active. A runner reads it next to `data-prism-rendered` and
|
|
65
|
+
* reports the cell as excluded rather than taking a picture of it.
|
|
66
|
+
*/
|
|
67
|
+
protected readonly excludedReason: import("@angular/core").Signal<string | null>;
|
|
61
68
|
/**
|
|
62
69
|
* The states forced on the canvas, space-separated, `null` for none. Capture
|
|
63
|
-
* mode keys the room it leaves for focus rings on it.
|
|
70
|
+
* mode keys the room it leaves for focus rings on it. The active state's
|
|
71
|
+
* pseudo-classes count only while it fits.
|
|
64
72
|
*/
|
|
65
73
|
protected readonly forcedStates: import("@angular/core").Signal<string | null>;
|
|
66
74
|
/** Resolved canvas layout for the active variant. Variant overrides component config; defaults to 'fit'. */
|
|
@@ -71,6 +79,12 @@ export declare class PrismRendererComponent {
|
|
|
71
79
|
protected readonly overlayInjector: import("@angular/core").Signal<import("@angular/core").EnvironmentInjector | Injector>;
|
|
72
80
|
constructor();
|
|
73
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;
|
|
74
88
|
private cleanup;
|
|
75
89
|
static ɵfac: i0.ɵɵFactoryDeclaration<PrismRendererComponent, never>;
|
|
76
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,
|
|
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"}
|