@ng-prism/core 22.2.1 → 22.4.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 +34 -36
- package/builders.json +11 -11
- package/dist/app/canvas/canvas-bg.styles.d.ts +7 -12
- package/dist/app/canvas/canvas-bg.styles.d.ts.map +1 -1
- package/dist/app/canvas/canvas-bg.styles.js +37 -22
- package/dist/app/canvas/measure-geometry.d.ts +140 -0
- package/dist/app/canvas/measure-geometry.d.ts.map +1 -0
- package/dist/app/canvas/measure-geometry.js +217 -0
- package/dist/app/canvas/measure-keyboard.d.ts +20 -0
- package/dist/app/canvas/measure-keyboard.d.ts.map +1 -0
- package/dist/app/canvas/measure-keyboard.js +34 -0
- package/dist/app/canvas/measure-quad.d.ts +114 -0
- package/dist/app/canvas/measure-quad.d.ts.map +1 -0
- package/dist/app/canvas/measure-quad.js +173 -0
- package/dist/app/canvas/measure-snap.d.ts +35 -0
- package/dist/app/canvas/measure-snap.d.ts.map +1 -0
- package/dist/app/canvas/measure-snap.js +63 -0
- package/dist/app/canvas/prism-canvas-bg-pill.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-bg-pill.component.js +3 -18
- package/dist/app/canvas/prism-canvas-measure.component.d.ts +142 -0
- package/dist/app/canvas/prism-canvas-measure.component.d.ts.map +1 -0
- package/dist/app/canvas/prism-canvas-measure.component.js +554 -0
- package/dist/app/canvas/prism-canvas-pin-row.component.d.ts +23 -0
- package/dist/app/canvas/prism-canvas-pin-row.component.d.ts.map +1 -0
- package/dist/app/canvas/prism-canvas-pin-row.component.js +64 -0
- package/dist/app/canvas/prism-canvas-rulers.component.d.ts +1 -0
- package/dist/app/canvas/prism-canvas-rulers.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-rulers.component.js +9 -14
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts +28 -28
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-toolbar.component.js +124 -162
- package/dist/app/canvas/prism-template-popover.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-template-popover.component.js +8 -49
- package/dist/app/canvas/viewport-snap.d.ts +12 -0
- package/dist/app/canvas/viewport-snap.d.ts.map +1 -0
- package/dist/app/canvas/viewport-snap.js +23 -0
- package/dist/app/component-head/head-metrics.d.ts +2 -2
- package/dist/app/component-head/head-metrics.d.ts.map +1 -1
- package/dist/app/component-head/head-metrics.js +3 -3
- package/dist/app/component-head/prism-component-head.component.d.ts +3 -3
- package/dist/app/component-head/prism-component-head.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-component-head.component.js +24 -64
- package/dist/app/component-head/prism-head-gauge.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-head-gauge.component.js +4 -36
- package/dist/app/component-head/prism-head-info.component.d.ts +1 -1
- package/dist/app/component-head/prism-head-info.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-head-info.component.js +4 -37
- package/dist/app/component-head/prism-stat.component.d.ts +1 -1
- package/dist/app/component-head/prism-stat.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-stat.component.js +4 -15
- package/dist/app/controls/boolean-control.component.d.ts.map +1 -1
- package/dist/app/controls/boolean-control.component.js +4 -12
- package/dist/app/controls/json-control.component.d.ts.map +1 -1
- package/dist/app/controls/json-control.component.js +4 -24
- package/dist/app/controls/number-control.component.d.ts.map +1 -1
- package/dist/app/controls/number-control.component.js +4 -11
- package/dist/app/controls/string-control.component.d.ts.map +1 -1
- package/dist/app/controls/string-control.component.js +4 -11
- package/dist/app/controls/union-control.component.d.ts.map +1 -1
- package/dist/app/controls/union-control.component.js +4 -16
- package/dist/app/directives/prism-resizer.directive.d.ts +24 -1
- package/dist/app/directives/prism-resizer.directive.d.ts.map +1 -1
- package/dist/app/directives/prism-resizer.directive.js +44 -7
- package/dist/app/directives/resize-value.d.ts +22 -0
- package/dist/app/directives/resize-value.d.ts.map +1 -0
- package/dist/app/directives/resize-value.js +23 -0
- package/dist/app/discovery-manifest.d.ts +2 -2
- package/dist/app/discovery-manifest.d.ts.map +1 -1
- package/dist/app/discovery-manifest.js +16 -22
- package/dist/app/header/prism-header-widget-host.component.d.ts.map +1 -1
- package/dist/app/header/prism-header-widget-host.component.js +4 -8
- package/dist/app/header/prism-header.component.d.ts.map +1 -1
- package/dist/app/header/prism-header.component.js +9 -78
- package/dist/app/hmr.d.ts.map +1 -1
- package/dist/app/icons/icon-registry.d.ts +2 -2
- package/dist/app/icons/icon-registry.d.ts.map +1 -1
- package/dist/app/icons/icon-registry.js +5 -3
- package/dist/app/icons/prism-icon.component.d.ts +2 -2
- package/dist/app/icons/prism-icon.component.d.ts.map +1 -1
- package/dist/app/icons/prism-icon.component.js +9 -9
- package/dist/app/index.d.ts +3 -3
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.js +17 -24
- package/dist/app/layout-menu/prism-layout-menu.component.d.ts.map +1 -1
- package/dist/app/layout-menu/prism-layout-menu.component.js +3 -77
- package/dist/app/overview/overview-panel.js +1 -1
- package/dist/app/overview/overview-visibility.d.ts +1 -1
- package/dist/app/overview/overview-visibility.d.ts.map +1 -1
- package/dist/app/overview/overview-visibility.js +1 -1
- package/dist/app/overview/prism-overview-cell.component.d.ts +2 -2
- package/dist/app/overview/prism-overview-cell.component.d.ts.map +1 -1
- package/dist/app/overview/prism-overview-cell.component.js +17 -25
- package/dist/app/overview/prism-overview.component.d.ts +2 -2
- package/dist/app/overview/prism-overview.component.d.ts.map +1 -1
- package/dist/app/overview/prism-overview.component.js +6 -14
- package/dist/app/page-renderer/prism-page-renderer.component.d.ts.map +1 -1
- package/dist/app/page-renderer/prism-page-renderer.component.js +4 -17
- package/dist/app/panels/a11y/a11y-audit.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-audit.service.js +14 -2
- package/dist/app/panels/a11y/a11y-core.plugin.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-core.plugin.js +1 -1
- package/dist/app/panels/a11y/a11y-dom-utils.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-dom-utils.js +9 -6
- package/dist/app/panels/a11y/a11y-header-badge.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-header-badge.component.js +6 -22
- package/dist/app/panels/a11y/a11y-keyboard-overlay.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-keyboard-overlay.component.js +6 -25
- package/dist/app/panels/a11y/a11y-keyboard.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-keyboard.component.js +5 -36
- package/dist/app/panels/a11y/a11y-keyboard.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-keyboard.service.js +2 -2
- package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-overlay-host.component.js +5 -32
- package/dist/app/panels/a11y/a11y-panel-state.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-panel.component.d.ts +1 -1
- package/dist/app/panels/a11y/a11y-panel.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-panel.component.js +7 -69
- package/dist/app/panels/a11y/a11y-perspective.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-score.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-score.component.js +4 -31
- package/dist/app/panels/a11y/a11y-sr-overlay.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-sr-overlay.component.js +8 -28
- package/dist/app/panels/a11y/a11y-sr.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-sr.component.js +5 -28
- package/dist/app/panels/a11y/a11y-sr.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-sr.service.js +4 -7
- package/dist/app/panels/a11y/a11y-summary.d.ts +3 -4
- package/dist/app/panels/a11y/a11y-summary.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-summary.js +5 -9
- package/dist/app/panels/a11y/a11y-thresholds.d.ts +1 -1
- package/dist/app/panels/a11y/a11y-thresholds.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-thresholds.js +2 -2
- package/dist/app/panels/a11y/a11y-tree.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-tree.component.js +9 -46
- package/dist/app/panels/a11y/a11y-tree.service.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-tree.service.js +3 -5
- package/dist/app/panels/a11y/a11y-violations.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-violations.component.js +7 -58
- package/dist/app/panels/a11y/a11y.types.d.ts +1 -1
- package/dist/app/panels/a11y/a11y.types.d.ts.map +1 -1
- package/dist/app/panels/builtin-header-widgets.js +2 -2
- package/dist/app/panels/builtin-navigation-decorations.d.ts +1 -1
- package/dist/app/panels/builtin-navigation-decorations.d.ts.map +1 -1
- package/dist/app/panels/builtin-navigation-decorations.js +3 -3
- package/dist/app/panels/builtin-panels.d.ts.map +1 -1
- package/dist/app/panels/builtin-panels.js +2 -7
- package/dist/app/panels/controls/controls-plugin.js +3 -3
- package/dist/app/panels/controls/non-editable-input-types.d.ts.map +1 -1
- package/dist/app/panels/controls/non-editable-input-types.js +2 -6
- package/dist/app/panels/controls/prism-controls-panel.component.d.ts.map +1 -1
- package/dist/app/panels/controls/prism-controls-panel.component.js +5 -95
- package/dist/app/panels/events/events-plugin.js +3 -3
- package/dist/app/panels/events/prism-events-panel.component.d.ts.map +1 -1
- package/dist/app/panels/events/prism-events-panel.component.js +5 -23
- package/dist/app/panels/events/prism-json-node.component.d.ts.map +1 -1
- package/dist/app/panels/events/prism-json-node.component.js +4 -86
- package/dist/app/panels/events/prism-json-node.utils.d.ts.map +1 -1
- package/dist/app/panels/panel-host/panel-badge.d.ts +1 -1
- package/dist/app/panels/panel-host/panel-badge.d.ts.map +1 -1
- package/dist/app/panels/panel-host/panel-badge.js +2 -4
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +1 -1
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts.map +1 -1
- package/dist/app/panels/panel-host/prism-panel-host.component.js +12 -67
- package/dist/app/provide-prism.d.ts +1 -1
- package/dist/app/provide-prism.d.ts.map +1 -1
- package/dist/app/provide-prism.js +8 -12
- package/dist/app/renderer/known-inputs.d.ts +1 -1
- package/dist/app/renderer/known-inputs.d.ts.map +1 -1
- package/dist/app/renderer/known-inputs.js +1 -1
- package/dist/app/renderer/overlay-resolver.d.ts +17 -3
- package/dist/app/renderer/overlay-resolver.d.ts.map +1 -1
- package/dist/app/renderer/overlay-resolver.js +10 -5
- package/dist/app/renderer/prism-renderer.component.d.ts +28 -3
- package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
- package/dist/app/renderer/prism-renderer.component.js +107 -80
- package/dist/app/renderer/projectable-content.d.ts.map +1 -1
- package/dist/app/renderer/projectable-content.js +4 -6
- package/dist/app/renderer/snippet-generator.d.ts +1 -1
- package/dist/app/renderer/snippet-generator.d.ts.map +1 -1
- package/dist/app/renderer/snippet-generator.js +7 -22
- package/dist/app/services/navigation-item.types.d.ts +1 -1
- package/dist/app/services/navigation-item.types.d.ts.map +1 -1
- package/dist/app/services/prism-canvas.service.d.ts +33 -0
- package/dist/app/services/prism-canvas.service.d.ts.map +1 -1
- package/dist/app/services/prism-canvas.service.js +71 -6
- package/dist/app/services/prism-capture.service.d.ts +24 -50
- package/dist/app/services/prism-capture.service.d.ts.map +1 -1
- package/dist/app/services/prism-capture.service.js +62 -146
- package/dist/app/services/prism-event-log.service.d.ts.map +1 -1
- package/dist/app/services/prism-event-log.service.js +1 -4
- package/dist/app/services/prism-layout.service.d.ts.map +1 -1
- package/dist/app/services/prism-layout.service.js +5 -4
- package/dist/app/services/prism-manifest.service.d.ts +1 -1
- package/dist/app/services/prism-manifest.service.d.ts.map +1 -1
- package/dist/app/services/prism-manifest.service.js +1 -1
- package/dist/app/services/prism-measure.service.d.ts +44 -0
- package/dist/app/services/prism-measure.service.d.ts.map +1 -0
- package/dist/app/services/prism-measure.service.js +91 -0
- package/dist/app/services/prism-navigation.service.d.ts +1 -1
- package/dist/app/services/prism-navigation.service.d.ts.map +1 -1
- package/dist/app/services/prism-navigation.service.js +5 -13
- package/dist/app/services/prism-panel.service.d.ts +2 -2
- package/dist/app/services/prism-panel.service.d.ts.map +1 -1
- package/dist/app/services/prism-panel.service.js +4 -7
- package/dist/app/services/prism-persistence.service.d.ts.map +1 -1
- package/dist/app/services/prism-persistence.service.js +9 -11
- package/dist/app/services/prism-plugin.service.d.ts.map +1 -1
- package/dist/app/services/prism-renderer.service.d.ts.map +1 -1
- package/dist/app/services/prism-renderer.service.js +5 -9
- package/dist/app/services/prism-search.service.d.ts.map +1 -1
- package/dist/app/services/prism-search.service.js +1 -2
- package/dist/app/services/prism-theme.service.d.ts.map +1 -1
- package/dist/app/services/prism-theme.service.js +6 -4
- package/dist/app/services/prism-url-state.service.d.ts.map +1 -1
- package/dist/app/services/prism-url-state.service.js +4 -10
- package/dist/app/services/prism-variant-bg.service.d.ts +10 -24
- package/dist/app/services/prism-variant-bg.service.d.ts.map +1 -1
- package/dist/app/services/prism-variant-bg.service.js +13 -29
- package/dist/app/shared/prism-metric-badge.component.d.ts +9 -15
- package/dist/app/shared/prism-metric-badge.component.d.ts.map +1 -1
- package/dist/app/shared/prism-metric-badge.component.js +13 -32
- package/dist/app/shell/prism-shell.component.d.ts.map +1 -1
- package/dist/app/shell/prism-shell.component.js +26 -125
- package/dist/app/sidebar/navigation-decorations.d.ts +4 -4
- package/dist/app/sidebar/navigation-decorations.d.ts.map +1 -1
- package/dist/app/sidebar/navigation-decorations.js +3 -3
- package/dist/app/sidebar/prism-sidebar.component.d.ts +3 -3
- package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -1
- package/dist/app/sidebar/prism-sidebar.component.js +21 -156
- package/dist/app/theme/prism-default-theme.d.ts.map +1 -1
- package/dist/app/theme/prism-default-theme.js +6 -6
- package/dist/app/tokens/prism-tokens.d.ts.map +1 -1
- package/dist/app/tokens/prism-tokens.js +1 -1
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts.map +1 -1
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.js +4 -49
- package/dist/app/variant-ribbon/spectrum.d.ts +1 -1
- package/dist/app/variant-ribbon/spectrum.d.ts.map +1 -1
- package/dist/app/variant-ribbon/spectrum.js +1 -1
- package/dist/app/view-tab-bar/next-view-id.d.ts +1 -1
- package/dist/app/view-tab-bar/next-view-id.d.ts.map +1 -1
- package/dist/app/view-tab-bar/next-view-id.js +2 -4
- package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts.map +1 -1
- package/dist/app/view-tab-bar/prism-view-panel-host.component.js +5 -17
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts.map +1 -1
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +4 -27
- package/dist/builder/a11y/a11y-report-reader.d.ts +2 -2
- package/dist/builder/a11y/a11y-report-reader.d.ts.map +1 -1
- package/dist/builder/a11y/a11y-report-reader.js +8 -8
- package/dist/builder/build/index.d.ts.map +1 -1
- package/dist/builder/build/index.js +5 -9
- package/dist/builder/build/schema.d.ts.map +1 -1
- package/dist/builder/config-loader/config-loader.d.ts.map +1 -1
- package/dist/builder/config-loader/config-loader.js +4 -5
- package/dist/builder/manifest/host-parser.d.ts.map +1 -1
- package/dist/builder/manifest/host-parser.js +1 -1
- package/dist/builder/manifest/runtime-manifest.generator.d.ts +1 -1
- package/dist/builder/manifest/runtime-manifest.generator.d.ts.map +1 -1
- package/dist/builder/manifest/runtime-manifest.generator.js +14 -35
- package/dist/builder/plugin-runner/plugin-runner.d.ts.map +1 -1
- package/dist/builder/plugin-runner/plugin-runner.js +2 -4
- package/dist/builder/scanner/ast-utils.d.ts +46 -2
- package/dist/builder/scanner/ast-utils.d.ts.map +1 -1
- package/dist/builder/scanner/ast-utils.js +338 -38
- package/dist/builder/scanner/class-hierarchy.d.ts +33 -0
- package/dist/builder/scanner/class-hierarchy.d.ts.map +1 -0
- package/dist/builder/scanner/class-hierarchy.js +87 -0
- package/dist/builder/scanner/component.scanner.d.ts +7 -1
- package/dist/builder/scanner/component.scanner.d.ts.map +1 -1
- package/dist/builder/scanner/component.scanner.js +113 -72
- package/dist/builder/scanner/entry-point-discovery.d.ts.map +1 -1
- package/dist/builder/scanner/entry-point-discovery.js +3 -5
- package/dist/builder/scanner/entry-point.scanner.d.ts.map +1 -1
- package/dist/builder/scanner/entry-point.scanner.js +1 -3
- package/dist/builder/scanner/index.d.ts +1 -1
- package/dist/builder/scanner/index.d.ts.map +1 -1
- package/dist/builder/scanner/input.extractor.d.ts +7 -4
- package/dist/builder/scanner/input.extractor.d.ts.map +1 -1
- package/dist/builder/scanner/input.extractor.js +157 -76
- package/dist/builder/scanner/manifest.generator.d.ts.map +1 -1
- package/dist/builder/scanner/manifest.generator.js +8 -6
- package/dist/builder/scanner/scanner.d.ts +3 -1
- package/dist/builder/scanner/scanner.d.ts.map +1 -1
- package/dist/builder/scanner/scanner.js +10 -8
- package/dist/builder/scanner/showcase-diagnostics.d.ts +25 -0
- package/dist/builder/scanner/showcase-diagnostics.d.ts.map +1 -0
- package/dist/builder/scanner/showcase-diagnostics.js +96 -0
- package/dist/builder/serve/index.d.ts.map +1 -1
- package/dist/builder/serve/index.js +8 -10
- package/dist/builder/serve/schema.d.ts.map +1 -1
- package/dist/builder/shared/index.d.ts +1 -1
- package/dist/builder/shared/index.d.ts.map +1 -1
- package/dist/builder/shared/index.js +1 -1
- package/dist/builder/shared/prism-pipeline.d.ts +1 -1
- package/dist/builder/shared/prism-pipeline.d.ts.map +1 -1
- package/dist/builder/shared/prism-pipeline.js +29 -38
- package/dist/builder/shared/resolve-cache-dir.d.ts.map +1 -1
- package/dist/builder/shared/resolve-cache-dir.js +1 -1
- package/dist/builder/watcher/index.d.ts +1 -1
- package/dist/builder/watcher/index.d.ts.map +1 -1
- package/dist/builder/watcher/prism-watcher.d.ts.map +1 -1
- package/dist/builder/watcher/prism-watcher.js +14 -12
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/decorator/index.d.ts +1 -1
- package/dist/decorator/index.d.ts.map +1 -1
- package/dist/decorator/showcase.decorator.d.ts.map +1 -1
- package/dist/decorator/showcase.types.d.ts +11 -9
- package/dist/decorator/showcase.types.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/plugin/define-config.js +1 -1
- package/dist/plugin/index.d.ts +4 -4
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +7 -11
- package/dist/plugin/page-helpers.d.ts +1 -1
- package/dist/plugin/page-helpers.d.ts.map +1 -1
- package/dist/plugin/page-helpers.js +2 -2
- package/dist/plugin/page.types.d.ts.map +1 -1
- package/dist/plugin/plugin.types.d.ts +31 -14
- package/dist/plugin/plugin.types.d.ts.map +1 -1
- package/dist/schematics/migrations/v21-13-manifest-cache/index.d.ts.map +1 -1
- package/dist/schematics/migrations/v21-13-manifest-cache/index.js +4 -10
- package/dist/schematics/migrations/v22-0-cache-dir-rename/index.d.ts.map +1 -1
- package/dist/schematics/migrations/v22-0-cache-dir-rename/index.js +6 -10
- package/dist/schematics/ng-add/index.d.ts.map +1 -1
- package/dist/schematics/ng-add/index.js +122 -56
- package/dist/schematics/ng-add/schema.d.ts.map +1 -1
- package/dist/schematics/utils/config-ast.d.ts.map +1 -1
- package/dist/schematics/utils/config-ast.js +8 -15
- package/dist/schematics/utils/tsconfig-paths.d.ts.map +1 -1
- package/dist/schematics/utils/tsconfig-paths.js +1 -1
- package/dist/shared/canvas-bg.type.d.ts +5 -6
- package/dist/shared/canvas-bg.type.d.ts.map +1 -1
- package/dist/shared/canvas-bg.type.js +5 -13
- package/dist/shared/canvas-layout.type.d.ts.map +1 -1
- package/dist/shared/canvas-layout.type.js +1 -4
- package/dist/shared/measure.type.d.ts +52 -0
- package/dist/shared/measure.type.d.ts.map +1 -0
- package/dist/shared/measure.type.js +21 -0
- package/dist/shared/variant-bg.d.ts +20 -31
- package/dist/shared/variant-bg.d.ts.map +1 -1
- package/dist/shared/variant-bg.js +20 -31
- package/dist/shared/viewport.type.d.ts +43 -0
- package/dist/shared/viewport.type.d.ts.map +1 -0
- package/dist/shared/viewport.type.js +44 -0
- package/dist/transformer/cli.js +0 -0
- package/dist/transformer/index.d.ts +2 -2
- package/dist/transformer/index.d.ts.map +1 -1
- package/dist/transformer/index.js +2 -2
- package/dist/transformer/showcase-strip.transformer.d.ts.map +1 -1
- package/dist/transformer/showcase-strip.transformer.js +7 -16
- package/dist/transformer/strip-directory.d.ts.map +1 -1
- package/dist/transformer/strip-directory.js +2 -4
- package/package.json +5 -2
- package/schematics/collection.json +7 -7
- package/schematics/migrations.json +12 -12
- package/schematics/ng-add/schema.json +22 -22
- package/src/builder/build/schema.json +36 -36
- package/src/builder/serve/schema.json +37 -37
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, inject
|
|
1
|
+
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
2
2
|
import { PrismPanelService } from '../services/prism-panel.service.js';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
const _forTrack0 = ($index, $item) => $item.id;
|
|
@@ -31,33 +31,10 @@ export class PrismViewTabBarComponent {
|
|
|
31
31
|
i0.ɵɵclassProp("prism-view-tab-bar__tab--active", ctx.panelService.activeViewId() === "renderer");
|
|
32
32
|
i0.ɵɵadvance(2);
|
|
33
33
|
i0.ɵɵrepeater(ctx.viewPanels());
|
|
34
|
-
} }, styles: ["[_nghost-%COMP%] {
|
|
34
|
+
} }, styles: ["[_nghost-%COMP%] {\n display: inline-flex;\n}\n\n.prism-view-tab-bar[_ngcontent-%COMP%] {\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n background: var(--%NS%prism-input-bg);\n border-radius: var(--%NS%radius-sm);\n}\n\n.prism-view-tab-bar__tab[_ngcontent-%COMP%] {\n padding: 2px var(--%NS%sp-4);\n font-family: var(--%NS%prism-font-sans);\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text-muted);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: var(--%NS%radius-xs);\n transition: color var(--%NS%dur-fast) var(--%NS%ease-default);\n}\n\n.prism-view-tab-bar__tab[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text-2);\n}\n\n.prism-view-tab-bar__tab[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 1px;\n}\n\n.prism-view-tab-bar__tab--active[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--%NS%prism-text);\n background: var(--%NS%prism-bg-elevated);\n box-shadow: 0 1px 2px rgb(0 0 0 / 18%);\n}"] });
|
|
35
35
|
}
|
|
36
36
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismViewTabBarComponent, [{
|
|
37
37
|
type: Component,
|
|
38
|
-
args: [{ selector: 'prism-view-tab-bar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template:
|
|
39
|
-
<div class="prism-view-tab-bar">
|
|
40
|
-
<button
|
|
41
|
-
class="prism-view-tab-bar__tab"
|
|
42
|
-
[class.prism-view-tab-bar__tab--active]="
|
|
43
|
-
panelService.activeViewId() === 'renderer'
|
|
44
|
-
"
|
|
45
|
-
(click)="panelService.activeViewId.set('renderer')"
|
|
46
|
-
>
|
|
47
|
-
Playground
|
|
48
|
-
</button>
|
|
49
|
-
@for (panel of viewPanels(); track panel.id) {
|
|
50
|
-
<button
|
|
51
|
-
class="prism-view-tab-bar__tab"
|
|
52
|
-
[class.prism-view-tab-bar__tab--active]="
|
|
53
|
-
panelService.activeViewId() === panel.id
|
|
54
|
-
"
|
|
55
|
-
(click)="panelService.activeViewId.set(panel.id)"
|
|
56
|
-
>
|
|
57
|
-
{{ panel.label }}
|
|
58
|
-
</button>
|
|
59
|
-
}
|
|
60
|
-
</div>
|
|
61
|
-
`, styles: ["\n :host { display: inline-flex; }\n\n .prism-view-tab-bar {\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n border-radius: var(--radius-sm);\n background: var(--prism-input-bg);\n }\n\n .prism-view-tab-bar__tab {\n padding: 2px var(--sp-4);\n border: 0;\n border-radius: var(--radius-xs);\n background: none;\n font-family: var(--prism-font-sans);\n font-size: var(--fs-md);\n color: var(--prism-text-muted);\n cursor: pointer;\n white-space: nowrap;\n transition: color var(--dur-fast) var(--ease-default);\n }\n .prism-view-tab-bar__tab:hover { color: var(--prism-text-2); }\n .prism-view-tab-bar__tab:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 1px;\n }\n .prism-view-tab-bar__tab--active {\n background: var(--prism-bg-elevated);\n color: var(--prism-text);\n font-weight: 500;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);\n }\n "] }]
|
|
38
|
+
args: [{ selector: 'prism-view-tab-bar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"prism-view-tab-bar\">\n <button\n class=\"prism-view-tab-bar__tab\"\n [class.prism-view-tab-bar__tab--active]=\"panelService.activeViewId() === 'renderer'\"\n (click)=\"panelService.activeViewId.set('renderer')\">\n Playground\n </button>\n @for (panel of viewPanels(); track panel.id) {\n <button\n class=\"prism-view-tab-bar__tab\"\n [class.prism-view-tab-bar__tab--active]=\"panelService.activeViewId() === panel.id\"\n (click)=\"panelService.activeViewId.set(panel.id)\">\n {{ panel.label }}\n </button>\n }\n</div>\n", styles: [":host {\n display: inline-flex;\n}\n\n.prism-view-tab-bar {\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n background: var(--prism-input-bg);\n border-radius: var(--radius-sm);\n}\n\n.prism-view-tab-bar__tab {\n padding: 2px var(--sp-4);\n font-family: var(--prism-font-sans);\n font-size: var(--fs-md);\n color: var(--prism-text-muted);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: var(--radius-xs);\n transition: color var(--dur-fast) var(--ease-default);\n}\n\n.prism-view-tab-bar__tab:hover {\n color: var(--prism-text-2);\n}\n\n.prism-view-tab-bar__tab:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 1px;\n}\n\n.prism-view-tab-bar__tab--active {\n font-weight: 500;\n color: var(--prism-text);\n background: var(--prism-bg-elevated);\n box-shadow: 0 1px 2px rgb(0 0 0 / 18%);\n}\n"] }]
|
|
62
39
|
}], null, null); })();
|
|
63
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismViewTabBarComponent, { className: "PrismViewTabBarComponent", filePath: "app/view-tab-bar/prism-view-tab-bar.component.ts", lineNumber:
|
|
40
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismViewTabBarComponent, { className: "PrismViewTabBarComponent", filePath: "app/view-tab-bar/prism-view-tab-bar.component.ts", lineNumber: 11 }); })();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { A11yComponentMeta, A11yManifestMeta, A11yReport, A11yThresholds } from '../../app/panels/a11y/a11y.types.js';
|
|
2
1
|
import { deriveA11ySummary } from '../../app/panels/a11y/a11y-summary.js';
|
|
2
|
+
import type { A11yComponentMeta, A11yManifestMeta, A11yReport, A11yThresholds } from '../../app/panels/a11y/a11y.types.js';
|
|
3
3
|
export { deriveA11ySummary };
|
|
4
4
|
export declare const DEFAULT_A11Y_REPORT_PATH = "a11y-report.json";
|
|
5
5
|
export declare function loadA11yReport(reportPath: string): A11yReport | null;
|
|
@@ -10,7 +10,7 @@ export declare function readA11yMeta(reportPath: string, thresholdsInput?: Parti
|
|
|
10
10
|
* The plural form exists because {@link readA11yForComponent} re-enters
|
|
11
11
|
* {@link loadA11yReport}, which `statSync`s the file even on a cache hit.
|
|
12
12
|
* Calling it once per scanned component turns a 300-component library into 300
|
|
13
|
-
* redundant syscalls per build, and a watch-mode rebuild repeats them all
|
|
13
|
+
* redundant syscalls per build, and a watch-mode rebuild repeats them all. So
|
|
14
14
|
* the pipeline reads the report once and looks components up in the result.
|
|
15
15
|
*/
|
|
16
16
|
export declare function readA11yForComponents(reportPath: string, thresholds: A11yThresholds): Map<string, A11yComponentMeta>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11y-report-reader.d.ts","sourceRoot":"","sources":["../../../src/builder/a11y/a11y-report-reader.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"a11y-report-reader.d.ts","sourceRoot":"","sources":["../../../src/builder/a11y/a11y-report-reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAK3H,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAI3D,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAepE;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,gBAAgB,GAAG,IAAI,CASnH;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAepH;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,iBAAiB,GAAG,IAAI,CAMhI;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,EAAE,CAkChF;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFileSync, statSync } from 'node:fs';
|
|
2
|
-
import { resolveA11yThresholds } from '../../app/panels/a11y/a11y-thresholds.js';
|
|
3
2
|
import { deriveA11ySummary } from '../../app/panels/a11y/a11y-summary.js';
|
|
3
|
+
import { resolveA11yThresholds } from '../../app/panels/a11y/a11y-thresholds.js';
|
|
4
4
|
// Re-exported so the builder side keeps one import surface for the a11y
|
|
5
5
|
// report. The derivation itself lives in `app/` because the panel tab grades
|
|
6
6
|
// the live audit with it and cannot reach into `builder/`.
|
|
@@ -28,7 +28,7 @@ export function readA11yMeta(reportPath, thresholdsInput) {
|
|
|
28
28
|
return null;
|
|
29
29
|
return {
|
|
30
30
|
total: report.total,
|
|
31
|
-
thresholds: resolveA11yThresholds(thresholdsInput)
|
|
31
|
+
thresholds: resolveA11yThresholds(thresholdsInput)
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
@@ -37,7 +37,7 @@ export function readA11yMeta(reportPath, thresholdsInput) {
|
|
|
37
37
|
* The plural form exists because {@link readA11yForComponent} re-enters
|
|
38
38
|
* {@link loadA11yReport}, which `statSync`s the file even on a cache hit.
|
|
39
39
|
* Calling it once per scanned component turns a 300-component library into 300
|
|
40
|
-
* redundant syscalls per build, and a watch-mode rebuild repeats them all
|
|
40
|
+
* redundant syscalls per build, and a watch-mode rebuild repeats them all. So
|
|
41
41
|
* the pipeline reads the report once and looks components up in the result.
|
|
42
42
|
*/
|
|
43
43
|
export function readA11yForComponents(reportPath, thresholds) {
|
|
@@ -51,7 +51,7 @@ export function readA11yForComponents(reportPath, thresholds) {
|
|
|
51
51
|
byClassName.set(className, {
|
|
52
52
|
found: true,
|
|
53
53
|
score,
|
|
54
|
-
summary: deriveA11ySummary(score, thresholds)
|
|
54
|
+
summary: deriveA11ySummary(score, thresholds)
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
return byClassName;
|
|
@@ -71,28 +71,28 @@ export function checkA11yThresholds(meta) {
|
|
|
71
71
|
violations.push({
|
|
72
72
|
metric: 'score',
|
|
73
73
|
actual: total.score,
|
|
74
|
-
threshold: t.score
|
|
74
|
+
threshold: t.score
|
|
75
75
|
});
|
|
76
76
|
}
|
|
77
77
|
if (total.critical > t.critical) {
|
|
78
78
|
violations.push({
|
|
79
79
|
metric: 'critical',
|
|
80
80
|
actual: total.critical,
|
|
81
|
-
threshold: t.critical
|
|
81
|
+
threshold: t.critical
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
84
|
if (total.serious > t.serious) {
|
|
85
85
|
violations.push({
|
|
86
86
|
metric: 'serious',
|
|
87
87
|
actual: total.serious,
|
|
88
|
-
threshold: t.serious
|
|
88
|
+
threshold: t.serious
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
if (total.moderate > t.moderate) {
|
|
92
92
|
violations.push({
|
|
93
93
|
metric: 'moderate',
|
|
94
94
|
actual: total.moderate,
|
|
95
|
-
threshold: t.moderate
|
|
95
|
+
threshold: t.moderate
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
98
|
return violations;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA0D,MAAM,2BAA2B,CAAC;AACjH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAuBtD,QAAA,MAAM,OAAO,EAAE,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAyD,CAAC;AAErH,eAAe,OAAO,CAAC"}
|
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
import { createBuilder
|
|
2
|
-
import {
|
|
1
|
+
import { createBuilder } from '@angular-devkit/architect';
|
|
2
|
+
import { createPipelineState, runPrismPipeline } from '../shared/prism-pipeline.js';
|
|
3
3
|
import { resolveCacheDir } from '../shared/resolve-cache-dir.js';
|
|
4
4
|
async function createBuildBuilder(options, context) {
|
|
5
5
|
const cacheDir = resolveCacheDir(options.cacheDir, context.workspaceRoot);
|
|
6
6
|
const pipelineOptions = {
|
|
7
7
|
entryPoint: options.entryPoint,
|
|
8
|
-
libraryImportPath: options.libraryImportPath ??
|
|
9
|
-
options.libraryProject ??
|
|
10
|
-
options.prismProject,
|
|
8
|
+
libraryImportPath: options.libraryImportPath ?? options.libraryProject ?? options.prismProject,
|
|
11
9
|
prismProject: options.prismProject,
|
|
12
10
|
configFile: options.configFile ?? 'ng-prism.config.ts',
|
|
13
|
-
cacheDir
|
|
11
|
+
cacheDir
|
|
14
12
|
};
|
|
15
13
|
await runPrismPipeline(pipelineOptions, context, createPipelineState());
|
|
16
|
-
const run = await context.scheduleTarget({ project: options.prismProject, target: 'build', configuration: '' }, options.outputPath
|
|
17
|
-
? { outputPath: { base: options.outputPath, browser: '' } }
|
|
18
|
-
: {});
|
|
14
|
+
const run = await context.scheduleTarget({ project: options.prismProject, target: 'build', configuration: '' }, options.outputPath ? { outputPath: { base: options.outputPath, browser: '' } } : {});
|
|
19
15
|
return run.result;
|
|
20
16
|
}
|
|
21
17
|
const builder = createBuilder(createBuildBuilder);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/builder/build/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/builder/build/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/builder/config-loader/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,mBAAmB;
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/builder/config-loader/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,wBAAsB,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAoCrF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import '@angular/compiler';
|
|
2
|
-
import { existsSync, readFileSync,
|
|
2
|
+
import { existsSync, readFileSync, unlinkSync, writeFileSync } from 'fs';
|
|
3
3
|
import { resolve, sep } from 'path';
|
|
4
4
|
import { pathToFileURL } from 'url';
|
|
5
5
|
import ts from 'typescript';
|
|
@@ -9,8 +9,7 @@ export async function loadConfig(options) {
|
|
|
9
9
|
const workspaceRoot = resolve(options.workspaceRoot);
|
|
10
10
|
const configPath = resolve(workspaceRoot, configFileName);
|
|
11
11
|
if (configPath !== workspaceRoot && !configPath.startsWith(workspaceRoot + sep)) {
|
|
12
|
-
throw new Error(`ng-prism: configFile "${configFileName}" resolves outside workspace root (${workspaceRoot}). ` +
|
|
13
|
-
`Provide a path relative to the workspace.`);
|
|
12
|
+
throw new Error(`ng-prism: configFile "${configFileName}" resolves outside workspace root (${workspaceRoot}). ` + `Provide a path relative to the workspace.`);
|
|
14
13
|
}
|
|
15
14
|
if (!existsSync(configPath)) {
|
|
16
15
|
return {};
|
|
@@ -21,8 +20,8 @@ export async function loadConfig(options) {
|
|
|
21
20
|
module: ts.ModuleKind.ESNext,
|
|
22
21
|
target: ts.ScriptTarget.ES2022,
|
|
23
22
|
moduleResolution: ts.ModuleResolutionKind.Bundler,
|
|
24
|
-
esModuleInterop: true
|
|
25
|
-
}
|
|
23
|
+
esModuleInterop: true
|
|
24
|
+
}
|
|
26
25
|
});
|
|
27
26
|
const uniqueSuffix = `${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
28
27
|
const tempPath = configPath.replace(/\.ts$/, `.${uniqueSuffix}.tmp.mjs`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-parser.d.ts","sourceRoot":"","sources":["../../../src/builder/manifest/host-parser.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;
|
|
1
|
+
{"version":3,"file":"host-parser.d.ts","sourceRoot":"","sources":["../../../src/builder/manifest/host-parser.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA0B/D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ScannedComponent } from '../../plugin/plugin.types.js';
|
|
2
1
|
import type { StyleguidePage } from '../../plugin/page.types.js';
|
|
2
|
+
import type { ScannedComponent } from '../../plugin/plugin.types.js';
|
|
3
3
|
export interface RuntimeManifestOptions {
|
|
4
4
|
components: ScannedComponent[];
|
|
5
5
|
libraryImportPath: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-manifest.generator.d.ts","sourceRoot":"","sources":["../../../src/builder/manifest/runtime-manifest.generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime-manifest.generator.d.ts","sourceRoot":"","sources":["../../../src/builder/manifest/runtime-manifest.generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhF,MAAM,WAAW,sBAAsB;IACnC,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAoHD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAkF/E"}
|
|
@@ -20,9 +20,7 @@ function formatInputDeclaration(input) {
|
|
|
20
20
|
const typeAnnotation = inputTypeAnnotation(input);
|
|
21
21
|
return `input.required<${typeAnnotation}>()`;
|
|
22
22
|
}
|
|
23
|
-
const def = input.defaultValue !== undefined
|
|
24
|
-
? JSON.stringify(input.defaultValue)
|
|
25
|
-
: "''";
|
|
23
|
+
const def = input.defaultValue !== undefined ? JSON.stringify(input.defaultValue) : "''";
|
|
26
24
|
const needsAnnotation = input.type === 'union' && input.values;
|
|
27
25
|
if (needsAnnotation) {
|
|
28
26
|
const typeAnnotation = inputTypeAnnotation(input);
|
|
@@ -35,10 +33,7 @@ function directiveSelector(selector) {
|
|
|
35
33
|
return match ? match[1] : selector;
|
|
36
34
|
}
|
|
37
35
|
function isBindableInput(input) {
|
|
38
|
-
if (input.type === 'string' ||
|
|
39
|
-
input.type === 'number' ||
|
|
40
|
-
input.type === 'boolean' ||
|
|
41
|
-
input.type === 'union') {
|
|
36
|
+
if (input.type === 'string' || input.type === 'number' || input.type === 'boolean' || input.type === 'union') {
|
|
42
37
|
return true;
|
|
43
38
|
}
|
|
44
39
|
return input.defaultValue !== undefined;
|
|
@@ -73,12 +68,8 @@ function generateWrapperClass(comp) {
|
|
|
73
68
|
attrs = '';
|
|
74
69
|
importsArray = `[${comp.className}]`;
|
|
75
70
|
}
|
|
76
|
-
const inputBindings = bindableInputs
|
|
77
|
-
|
|
78
|
-
.join('');
|
|
79
|
-
const outputBindings = comp.outputs
|
|
80
|
-
.map((o) => ` (${o.name})="${o.name}.emit($event)"`)
|
|
81
|
-
.join('');
|
|
71
|
+
const inputBindings = bindableInputs.map((i) => ` [${i.name}]="${i.name}()"`).join('');
|
|
72
|
+
const outputBindings = comp.outputs.map((o) => ` (${o.name})="${o.name}.emit($event)"`).join('');
|
|
82
73
|
const template = `<${tag}${attrs} ${directiveAttr}${inputBindings}${outputBindings}>{{ __prismContent__() }}</${tag}>`;
|
|
83
74
|
const members = [];
|
|
84
75
|
for (const i of bindableInputs) {
|
|
@@ -88,16 +79,7 @@ function generateWrapperClass(comp) {
|
|
|
88
79
|
members.push(` ${o.name} = output();`);
|
|
89
80
|
}
|
|
90
81
|
members.push(` __prismContent__ = input(${JSON.stringify(hostContentDefault)});`);
|
|
91
|
-
const lines = [
|
|
92
|
-
`@Component({`,
|
|
93
|
-
` standalone: true,`,
|
|
94
|
-
` imports: ${importsArray},`,
|
|
95
|
-
` template: \`${template}\`,`,
|
|
96
|
-
`})`,
|
|
97
|
-
`class ${wrapperName} {`,
|
|
98
|
-
...members,
|
|
99
|
-
`}`,
|
|
100
|
-
];
|
|
82
|
+
const lines = [`@Component({`, ` standalone: true,`, ` imports: ${importsArray},`, ` template: \`${template}\`,`, `})`, `class ${wrapperName} {`, ...members, `}`];
|
|
101
83
|
return lines.join('\n');
|
|
102
84
|
}
|
|
103
85
|
function groupComponentsByImportPath(components, fallbackImportPath) {
|
|
@@ -118,10 +100,7 @@ export function generateRuntimeManifest(options) {
|
|
|
118
100
|
const { components, libraryImportPath, pages, meta } = options;
|
|
119
101
|
const directives = components.filter((c) => c.componentMeta.isDirective);
|
|
120
102
|
const hasDirectives = directives.length > 0;
|
|
121
|
-
const lines = [
|
|
122
|
-
'// AUTO-GENERATED by ng-prism — do not edit!',
|
|
123
|
-
"import type { RuntimeManifest } from '@ng-prism/core/plugin';",
|
|
124
|
-
];
|
|
103
|
+
const lines = ['// AUTO-GENERATED by ng-prism. Do not edit!', "import type { RuntimeManifest } from '@ng-prism/core/plugin';"];
|
|
125
104
|
if (hasDirectives) {
|
|
126
105
|
lines.push("import { Component, input, output } from '@angular/core';");
|
|
127
106
|
}
|
|
@@ -157,9 +136,7 @@ export function generateRuntimeManifest(options) {
|
|
|
157
136
|
lines.push('export const PRISM_RUNTIME_MANIFEST: RuntimeManifest = {');
|
|
158
137
|
lines.push(' components: [');
|
|
159
138
|
for (const comp of components) {
|
|
160
|
-
const typeName = comp.componentMeta.isDirective
|
|
161
|
-
? `${comp.className}__PrismHost`
|
|
162
|
-
: comp.className;
|
|
139
|
+
const typeName = comp.componentMeta.isDirective ? `${comp.className}__PrismHost` : comp.className;
|
|
163
140
|
lines.push(' {');
|
|
164
141
|
lines.push(` type: ${typeName},`);
|
|
165
142
|
lines.push(` meta: ${formatMeta(comp, 6)},`);
|
|
@@ -189,6 +166,10 @@ function json(value) {
|
|
|
189
166
|
function indent(depth) {
|
|
190
167
|
return ' '.repeat(depth);
|
|
191
168
|
}
|
|
169
|
+
/** `'aria-label'` and content slots like `'[card-header]'` are only valid keys in quotes. */
|
|
170
|
+
function formatKey(key) {
|
|
171
|
+
return /^[A-Za-z_$][\w$]*$/.test(key) ? key : JSON.stringify(key);
|
|
172
|
+
}
|
|
192
173
|
function formatMeta(comp, baseIndent) {
|
|
193
174
|
const inner = baseIndent + 2;
|
|
194
175
|
const lines = [
|
|
@@ -197,7 +178,7 @@ function formatMeta(comp, baseIndent) {
|
|
|
197
178
|
`${indent(inner)}showcaseConfig: ${formatObject(comp.showcaseConfig, inner)},`,
|
|
198
179
|
`${indent(inner)}inputs: ${formatArray(comp.inputs, inner)},`,
|
|
199
180
|
`${indent(inner)}outputs: ${formatArray(comp.outputs, inner)},`,
|
|
200
|
-
`${indent(inner)}componentMeta: ${formatObject(comp.componentMeta, inner)}
|
|
181
|
+
`${indent(inner)}componentMeta: ${formatObject(comp.componentMeta, inner)},`
|
|
201
182
|
];
|
|
202
183
|
if (comp.meta && Object.keys(comp.meta).length > 0) {
|
|
203
184
|
lines.push(`${indent(inner)}meta: ${formatObject(comp.meta, inner)},`);
|
|
@@ -215,7 +196,7 @@ function formatObject(obj, baseIndent) {
|
|
|
215
196
|
: typeof value === 'object' && value !== null
|
|
216
197
|
? formatObject(value, inner)
|
|
217
198
|
: json(value);
|
|
218
|
-
return `${indent(inner)}${key}: ${formatted},`;
|
|
199
|
+
return `${indent(inner)}${formatKey(key)}: ${formatted},`;
|
|
219
200
|
});
|
|
220
201
|
return `{\n${lines.join('\n')}\n${indent(baseIndent)}}`;
|
|
221
202
|
}
|
|
@@ -224,9 +205,7 @@ function formatArray(arr, baseIndent) {
|
|
|
224
205
|
return '[]';
|
|
225
206
|
const inner = baseIndent + 2;
|
|
226
207
|
const items = arr.map((item) => {
|
|
227
|
-
const formatted = typeof item === 'object' && item !== null && !Array.isArray(item)
|
|
228
|
-
? formatObject(item, inner)
|
|
229
|
-
: json(item);
|
|
208
|
+
const formatted = typeof item === 'object' && item !== null && !Array.isArray(item) ? formatObject(item, inner) : json(item);
|
|
230
209
|
return `${indent(inner)}${formatted},`;
|
|
231
210
|
});
|
|
232
211
|
return `[\n${items.join('\n')}\n${indent(baseIndent)}]`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-runner.d.ts","sourceRoot":"","sources":["../../../src/builder/plugin-runner/plugin-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-runner.d.ts","sourceRoot":"","sources":["../../../src/builder/plugin-runner/plugin-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAoB,MAAM,8BAA8B,CAAC;AAgBnG,wBAAsB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CA4D9G"}
|
|
@@ -3,7 +3,7 @@ function pluginLabel(plugin) {
|
|
|
3
3
|
}
|
|
4
4
|
function wrapPluginError(plugin, hook, target, err) {
|
|
5
5
|
const cause = err instanceof Error ? err.message : String(err);
|
|
6
|
-
const wrapped = new Error(`ng-prism: plugin ${pluginLabel(plugin)} failed in ${hook} for ${target}
|
|
6
|
+
const wrapped = new Error(`ng-prism: plugin ${pluginLabel(plugin)} failed in ${hook} for ${target}: ${cause}`, err instanceof Error ? { cause: err } : undefined);
|
|
7
7
|
if (err instanceof Error && err.stack) {
|
|
8
8
|
wrapped.stack = `${wrapped.message}\nCaused by: ${err.stack}`;
|
|
9
9
|
}
|
|
@@ -46,9 +46,7 @@ export async function runPluginHooks(manifest, plugins) {
|
|
|
46
46
|
}
|
|
47
47
|
pages[i] = current;
|
|
48
48
|
}
|
|
49
|
-
let result = manifest.meta
|
|
50
|
-
? { components, pages, meta: manifest.meta }
|
|
51
|
-
: { components, pages };
|
|
49
|
+
let result = manifest.meta ? { components, pages, meta: manifest.meta } : { components, pages };
|
|
52
50
|
for (const plugin of plugins) {
|
|
53
51
|
if (plugin.onManifestReady) {
|
|
54
52
|
try {
|
|
@@ -1,9 +1,53 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
|
+
/**
|
|
3
|
+
* What {@link evaluateStatic} returns for a root it cannot evaluate. A symbol,
|
|
4
|
+
* so that it stays distinct from an `undefined` written on purpose.
|
|
5
|
+
*/
|
|
6
|
+
export declare const UNEVALUABLE: unique symbol;
|
|
7
|
+
export type EvaluationPath = ReadonlyArray<string | number>;
|
|
8
|
+
/** A reference in the source whose declaration has no value the evaluator can use. */
|
|
9
|
+
export interface UnresolvedReference {
|
|
10
|
+
/** The identifier, shorthand property or property access that did not resolve. */
|
|
11
|
+
node: ts.Node;
|
|
12
|
+
/**
|
|
13
|
+
* `let` and `var` are not constants. `no-value` is a declaration without an
|
|
14
|
+
* initializer: `declare const`, a compiled package's `.d.ts`, or a global
|
|
15
|
+
* of the JavaScript runtime such as `Math`. `cycle` is a constant that refers back to itself, and
|
|
16
|
+
* `runtime-value` a function or class.
|
|
17
|
+
*/
|
|
18
|
+
kind: 'let' | 'var' | 'no-value' | 'cycle' | 'runtime-value';
|
|
19
|
+
}
|
|
20
|
+
export interface UnevaluableIssue {
|
|
21
|
+
/** Where the dropped part sat in the evaluated value, with array indices as written in the source. */
|
|
22
|
+
path: EvaluationPath;
|
|
23
|
+
/** The expression, spread or property that could not be evaluated. */
|
|
24
|
+
node: ts.Node;
|
|
25
|
+
/** `runtime-value` marks functions, classes and instances, which no static evaluation can ever capture. */
|
|
26
|
+
reason: 'unsupported' | 'runtime-value';
|
|
27
|
+
/** The innermost reference that failed, when one is what made `node` unevaluable. */
|
|
28
|
+
cause?: UnresolvedReference;
|
|
29
|
+
}
|
|
30
|
+
export type UnevaluableReporter = (issue: UnevaluableIssue) => void;
|
|
31
|
+
export interface EvaluateOptions {
|
|
32
|
+
/** Called for every property, element or spread that is dropped. */
|
|
33
|
+
report?: UnevaluableReporter;
|
|
34
|
+
/** Resolves constants, enum members and imports. Without it, every reference is unevaluable. */
|
|
35
|
+
checker?: ts.TypeChecker;
|
|
36
|
+
}
|
|
2
37
|
/**
|
|
3
38
|
* Statically evaluate an AST expression node.
|
|
4
|
-
*
|
|
39
|
+
*
|
|
40
|
+
* Inside an object or array literal, whatever cannot be evaluated costs only
|
|
41
|
+
* that property or element: it is reported and left out, never the container
|
|
42
|
+
* around it. Only the root itself can come back as {@link UNEVALUABLE}.
|
|
43
|
+
*/
|
|
44
|
+
export declare function evaluateStatic(node: ts.Expression, options?: EvaluateOptions): unknown;
|
|
45
|
+
/**
|
|
46
|
+
* {@link evaluateStatic} for callers that read a few known fields and have no
|
|
47
|
+
* use for diagnostics, such as `@Component` metadata: what cannot be evaluated
|
|
48
|
+
* is left out silently, and an unevaluable root becomes `undefined`.
|
|
5
49
|
*/
|
|
6
|
-
export declare function evaluateExpression(node: ts.Expression): unknown;
|
|
50
|
+
export declare function evaluateExpression(node: ts.Expression, checker?: ts.TypeChecker): unknown;
|
|
7
51
|
/**
|
|
8
52
|
* Find a decorator by name on a class or property declaration.
|
|
9
53
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../../src/builder/scanner/ast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../../src/builder/scanner/ast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,MAAuC,CAAC;AAEzE,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AAE5D,sFAAsF;AACtF,MAAM,WAAW,mBAAmB;IAChC,kFAAkF;IAClF,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IACd;;;;;OAKG;IACH,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,eAAe,CAAC;CAChE;AAED,MAAM,WAAW,gBAAgB;IAC7B,sGAAsG;IACtG,IAAI,EAAE,cAAc,CAAC;IACrB,sEAAsE;IACtE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IACd,2GAA2G;IAC3G,MAAM,EAAE,aAAa,GAAG,eAAe,CAAC;IACxC,qFAAqF;IACrF,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC5B,oEAAoE;IACpE,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,gGAAgG;IAChG,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;CAC5B;AAmCD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAE1F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,OAAO,CAIzF;AAoYD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,SAAS,GAAG,SAAS,CAgBxH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,UAAU,GAAG,SAAS,CAOvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,GAAG,MAAM,GAAG,SAAS,CAQ1F"}
|