@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
package/README.md
CHANGED
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
- **Zero-config discovery**: TypeScript Compiler API scans your library at build time
|
|
14
14
|
- **Signal-native**: works with `input()` / `output()` signals
|
|
15
15
|
- **Directive support**: showcase directives with configurable host elements
|
|
16
|
+
- **Compositions**: show a component with the parts it works with, such as a form field with its input, as a compiled Angular template with `template`, `host: { template }` and `imports`
|
|
17
|
+
- **Services and pipes**: `@Showcase` on a service or pipe gives it an API page, no canvas needed
|
|
16
18
|
- **Plugin architecture**: JSDoc, A11y, Figma, Performance, Box Model, Coverage
|
|
17
19
|
- **Live Controls**: auto-generated input controls with type-aware editors
|
|
18
20
|
- **Code Snippets**: live-updating Angular template snippets per variant
|
|
@@ -72,6 +74,8 @@ ng run my-lib:prism
|
|
|
72
74
|
|
|
73
75
|
Open `http://localhost:4400`. Your component appears in the sidebar with live controls, code snippets, and variant tabs.
|
|
74
76
|
|
|
77
|
+
Using Claude Code? The [ng-prism plugin](https://ng-prism.github.io/ng-prism/#/guide/ai-agents) teaches it to write showcases, check them in the browser and set up ng-prism.
|
|
78
|
+
|
|
75
79
|
## Configuration
|
|
76
80
|
|
|
77
81
|
```typescript
|
|
@@ -93,7 +97,7 @@ export default defineConfig({
|
|
|
93
97
|
|
|
94
98
|
## Directives
|
|
95
99
|
|
|
96
|
-
|
|
100
|
+
A directive renders on the element its selector names. To put it on another element or component, or inside other markup, such as an input in its form field, configure `host`:
|
|
97
101
|
|
|
98
102
|
```typescript
|
|
99
103
|
@Showcase({
|
|
@@ -133,14 +137,14 @@ Link to a `@Showcase`-decorated component for combined API docs + custom renderi
|
|
|
133
137
|
|
|
134
138
|
## Official Plugins
|
|
135
139
|
|
|
136
|
-
| Plugin | Package | Description
|
|
137
|
-
| --------- | ------------------------------------ |
|
|
138
|
-
| JSDoc | `@ng-prism/plugin-jsdoc` | API
|
|
139
|
-
| Figma | `@ng-prism/plugin-figma` | Figma design embed + visual diff
|
|
140
|
-
| Box Model | `@ng-prism/plugin-box-model` | CSS box model inspector
|
|
141
|
-
| Perf | `@ng-prism/plugin-perf` | Render performance profiling
|
|
142
|
-
| Coverage | `@ng-prism/plugin-coverage` | Per-component test coverage from Istanbul/v8
|
|
143
|
-
| VRT | `@ng-prism/plugin-visual-regression` | Per-variant visual regression report from a screenshot runner
|
|
140
|
+
| Plugin | Package | Description |
|
|
141
|
+
| --------- | ------------------------------------ | --------------------------------------------------------------------------- |
|
|
142
|
+
| JSDoc | `@ng-prism/plugin-jsdoc` | API pages for components, directives, services and pipes, with linked types |
|
|
143
|
+
| Figma | `@ng-prism/plugin-figma` | Figma design embed + visual diff |
|
|
144
|
+
| Box Model | `@ng-prism/plugin-box-model` | CSS box model inspector |
|
|
145
|
+
| Perf | `@ng-prism/plugin-perf` | Render performance profiling |
|
|
146
|
+
| Coverage | `@ng-prism/plugin-coverage` | Per-component test coverage from Istanbul/v8 |
|
|
147
|
+
| VRT | `@ng-prism/plugin-visual-regression` | Per-variant visual regression report from a screenshot runner |
|
|
144
148
|
|
|
145
149
|
> **Note:** Accessibility auditing (axe-core) is built into ng-prism core, so no plugin is needed.
|
|
146
150
|
|
|
@@ -10,5 +10,5 @@
|
|
|
10
10
|
* `dark` override it. Capture mode is unaffected: `CAPTURE_STYLES` is a global
|
|
11
11
|
* stylesheet using `!important`.
|
|
12
12
|
*/
|
|
13
|
-
export declare const CANVAS_BG_STYLES = "\n [data-bg=\"dots\"] {\n background-image: radial-gradient(circle, var(--prism-dot) 1px, transparent 1px);\n background-size: 20px 20px;\n }\n\n [data-bg=\"plain\"] {\n background-image: none;\n }\n\n /* Flat, not dotted. \"light\" and \"dark\" name the surface a component was\n designed against, and their colour is absolute rather than a theme token,\n which makes them the values to declare for a screenshot baseline. Use\n \"dots\" for the grid. */\n /* These two also re-point --prism-measure. Other overlays use theme colours\n on theme surfaces, but these grounds ignore the theme: \"light\" stays\n near-white in the dark theme and \"dark\" stays near-black in the light one.\n The dark theme's magenta reaches only 2.85:1 on the light ground, under the\n 4.5:1 its 9px readout needs, so the measurement colour has to follow the\n ground, not the theme.\n\n --prism-measure-plate follows it for the same reason. It is the surface\n the measuring tool's value label paints itself on, so the label reads as a\n gap in the measurement line rather than a badge on top of it. At its\n --prism-stage fallback it would be the theme's stage under a re-pointed\n foreground: the light theme's magenta on the dark theme's stage reads\n 3.71:1, the dark theme's on white 3.08:1. Pinned to the ground the same way,\n the pairs reach 4.54:1 and 6.57:1. A color-mix against the ground would\n work too, but this file already states both grounds literally, and one\n mechanism per decision is enough.\n\n Literal values because this file is theme-independent, like the two\n grounds below. Keep them in step with --prism-measure in\n prism-default-theme.ts; semantic-colours.spec.ts fails if they drift. */\n [data-bg=\"light\"] {\n background-color: var(--prism-void-light, #f7f5fc);\n background-image: none;\n --prism-measure: #ca00c1;\n --prism-measure-plate: var(--prism-void-light, #f7f5fc);\n }\n [data-bg=\"dark\"] {\n background-color: var(--prism-void-dark, #07050f);\n background-image: none;\n --prism-measure: #f632ff;\n --prism-measure-plate: var(--prism-void-dark, #07050f);\n }\n\n /* \"transparent\" shares the checkerboard. In the app the checkerboard is\n already the UI's sign for \"no surface\", and a see-through stage would only\n show the shell behind it. Only CAPTURE_STYLES tells the two apart. */\n [data-bg=\"checker\"],\n [data-bg=\"transparent\"] {\n background-image:\n linear-gradient(45deg, var(--prism-border) 25%, transparent 25%),\n linear-gradient(-45deg, var(--prism-border) 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, var(--prism-border) 75%),\n linear-gradient(-45deg, transparent 75%, var(--prism-border) 75%);\n background-size: 16px 16px;\n background-position: 0 0, 0 8px, 8px -8px, -8px 0;\n }\n";
|
|
13
|
+
export declare const CANVAS_BG_STYLES = "\n [data-bg=\"dots\"] {\n background-image: radial-gradient(circle, var(--prism-dot) 1px, transparent 1px);\n background-size: 20px 20px;\n }\n\n [data-bg=\"plain\"] {\n background-image: none;\n }\n\n /* Flat, not dotted. \"light\" and \"dark\" name the surface a component was\n designed against, and their colour is absolute rather than a theme token,\n which makes them the values to declare for a screenshot baseline. Use\n \"dots\" for the grid. */\n /* These two also re-point --prism-measure. Other overlays use theme colours\n on theme surfaces, but these grounds ignore the theme: \"light\" stays\n near-white in the dark theme and \"dark\" stays near-black in the light one.\n The dark theme's magenta reaches only 2.85:1 on the light ground, under the\n 4.5:1 its 9px readout needs, so the measurement colour has to follow the\n ground, not the theme.\n\n --prism-measure-plate follows it for the same reason. It is the surface\n the measuring tool's value label paints itself on, so the label reads as a\n gap in the measurement line rather than a badge on top of it. At its\n --prism-stage fallback it would be the theme's stage under a re-pointed\n foreground: the light theme's magenta on the dark theme's stage reads\n 3.71:1, the dark theme's on white 3.08:1. Pinned to the ground the same way,\n the pairs reach 4.54:1 and 6.57:1. A color-mix against the ground would\n work too, but this file already states both grounds literally, and one\n mechanism per decision is enough.\n\n Literal values because this file is theme-independent, like the two\n grounds below. Keep them in step with --prism-measure in canvas-overlay-tokens.ts and\n prism-default-theme.ts; semantic-colours.spec.ts fails if they drift. */\n [data-bg=\"light\"] {\n background-color: var(--prism-void-light, #f7f5fc);\n background-image: none;\n --prism-measure: #ca00c1;\n --prism-measure-plate: var(--prism-void-light, #f7f5fc);\n }\n [data-bg=\"dark\"] {\n background-color: var(--prism-void-dark, #07050f);\n background-image: none;\n --prism-measure: #f632ff;\n --prism-measure-plate: var(--prism-void-dark, #07050f);\n }\n\n /* \"transparent\" shares the checkerboard. In the app the checkerboard is\n already the UI's sign for \"no surface\", and a see-through stage would only\n show the shell behind it. Only CAPTURE_STYLES tells the two apart. */\n [data-bg=\"checker\"],\n [data-bg=\"transparent\"] {\n background-image:\n linear-gradient(45deg, var(--prism-border) 25%, transparent 25%),\n linear-gradient(-45deg, var(--prism-border) 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, var(--prism-border) 75%),\n linear-gradient(-45deg, transparent 75%, var(--prism-border) 75%);\n background-size: 16px 16px;\n background-position: 0 0, 0 8px, 8px -8px, -8px 0;\n }\n";
|
|
14
14
|
//# sourceMappingURL=canvas-bg.styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-bg.styles.d.ts","sourceRoot":"","sources":["../../../src/app/canvas/canvas-bg.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"canvas-bg.styles.d.ts","sourceRoot":"","sources":["../../../src/app/canvas/canvas-bg.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,04FA4D5B,CAAC"}
|
|
@@ -42,7 +42,7 @@ export const CANVAS_BG_STYLES = `
|
|
|
42
42
|
mechanism per decision is enough.
|
|
43
43
|
|
|
44
44
|
Literal values because this file is theme-independent, like the two
|
|
45
|
-
grounds below. Keep them in step with --prism-measure in
|
|
45
|
+
grounds below. Keep them in step with --prism-measure in canvas-overlay-tokens.ts and
|
|
46
46
|
prism-default-theme.ts; semantic-colours.spec.ts fails if they drift. */
|
|
47
47
|
[data-bg="light"] {
|
|
48
48
|
background-color: var(--prism-void-light, #f7f5fc);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CanvasBg } from '../../shared/canvas-bg.type.js';
|
|
2
|
+
/**
|
|
3
|
+
* The overlay tokens for a ground, bound on `.prism-canvas-wrap`. The four
|
|
4
|
+
* theme-following grounds get none: there the defaults in the stylesheet,
|
|
5
|
+
* which point at the theme, apply.
|
|
6
|
+
*/
|
|
7
|
+
export declare function canvasOverlayTokens(bg: CanvasBg): Record<string, string>;
|
|
8
|
+
/** The zoom readout's tooltip, which also carries the viewport width the rail no longer prints. */
|
|
9
|
+
export declare function zoomTitle(zoom: number, viewportWidth: number | null): string;
|
|
10
|
+
/** A rail toggle's tooltip: the tool and whether it is on. */
|
|
11
|
+
export declare function railToggleTitle(label: string, on: boolean): string;
|
|
12
|
+
//# sourceMappingURL=canvas-overlay-tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canvas-overlay-tokens.d.ts","sourceRoot":"","sources":["../../../src/app/canvas/canvas-overlay-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAoC/D;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIxE;AAED,mGAAmG;AACnG,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE5E;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM,CAElE"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Overlay colours for the two absolute canvas grounds.
|
|
3
|
+
*
|
|
4
|
+
* `light` and `dark` paint the same colour whatever the app theme is, so the
|
|
5
|
+
* tool rail, the background pill and the pin row on top of them have to follow
|
|
6
|
+
* the ground, not the theme: a dark rail on a light canvas under the dark theme
|
|
7
|
+
* is the case this exists for. The values are the theme surfaces of the matching
|
|
8
|
+
* theme, held to 4.5:1 for text and 3:1 for contours by the spec next to this.
|
|
9
|
+
* The measurement colours repeat the ground's from `CANVAS_BG_STYLES`.
|
|
10
|
+
*/
|
|
11
|
+
const ON_LIGHT = {
|
|
12
|
+
'--prism-canvas-overlay-bg': '#ffffff',
|
|
13
|
+
'--prism-canvas-overlay-fg': '#0f172a',
|
|
14
|
+
'--prism-canvas-overlay-muted': '#334155',
|
|
15
|
+
'--prism-canvas-overlay-border': '#7b8aa0',
|
|
16
|
+
'--prism-canvas-overlay-primary': '#1d4ed8',
|
|
17
|
+
'--prism-canvas-overlay-active': 'color-mix(in srgb, #2563eb 10%, transparent)',
|
|
18
|
+
// The pin row sits on the plate outside the stage, so it needs the ground's
|
|
19
|
+
// measurement colour too. Same literals as CANVAS_BG_STYLES.
|
|
20
|
+
'--prism-measure': '#ca00c1',
|
|
21
|
+
'--prism-measure-plate': 'var(--prism-void-light, #f7f5fc)'
|
|
22
|
+
};
|
|
23
|
+
const ON_DARK = {
|
|
24
|
+
'--prism-canvas-overlay-bg': '#1a2335',
|
|
25
|
+
'--prism-canvas-overlay-fg': '#f1f5f9',
|
|
26
|
+
'--prism-canvas-overlay-muted': '#cbd5e1',
|
|
27
|
+
'--prism-canvas-overlay-border': '#64748b',
|
|
28
|
+
'--prism-canvas-overlay-primary': '#60a5fa',
|
|
29
|
+
'--prism-canvas-overlay-active': 'color-mix(in srgb, #60a5fa 16%, transparent)',
|
|
30
|
+
'--prism-measure': '#f632ff',
|
|
31
|
+
'--prism-measure-plate': 'var(--prism-void-dark, #07050f)'
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The overlay tokens for a ground, bound on `.prism-canvas-wrap`. The four
|
|
35
|
+
* theme-following grounds get none: there the defaults in the stylesheet,
|
|
36
|
+
* which point at the theme, apply.
|
|
37
|
+
*/
|
|
38
|
+
export function canvasOverlayTokens(bg) {
|
|
39
|
+
if (bg === 'light')
|
|
40
|
+
return ON_LIGHT;
|
|
41
|
+
if (bg === 'dark')
|
|
42
|
+
return ON_DARK;
|
|
43
|
+
return {};
|
|
44
|
+
}
|
|
45
|
+
/** The zoom readout's tooltip, which also carries the viewport width the rail no longer prints. */
|
|
46
|
+
export function zoomTitle(zoom, viewportWidth) {
|
|
47
|
+
return `Zoom ${Math.round(zoom * 100)}% · Width ${viewportWidth === null ? 'auto' : `${viewportWidth}px`}`;
|
|
48
|
+
}
|
|
49
|
+
/** A rail toggle's tooltip: the tool and whether it is on. */
|
|
50
|
+
export function railToggleTitle(label, on) {
|
|
51
|
+
return `${label}: ${on ? 'on' : 'off'}`;
|
|
52
|
+
}
|
|
@@ -27,10 +27,10 @@ export class PrismCanvasBgPillComponent {
|
|
|
27
27
|
i0.ɵɵconditionalCreate(0, PrismCanvasBgPillComponent_Conditional_0_Template, 5, 1, "div", 0);
|
|
28
28
|
} if (rf & 2) {
|
|
29
29
|
i0.ɵɵconditional(ctx.visible() ? 0 : -1);
|
|
30
|
-
} }, styles: ["\n\n\n\n\n\n[_nghost-%COMP%] {\n position: absolute;\n top: var(--%NS%prism-canvas-overlay-top, 12px);\n left: var(--%NS%prism-canvas-overlay-inline, 20px);\n z-index: 2;\n pointer-events: none;\n transition:\n top var(--%NS%dur-base),\n left var(--%NS%dur-base);\n}\n\n.prism-bg-pill[_ngcontent-%COMP%] {\n display: inline-flex;\n gap: 8px;\n align-items: center;\n padding: 4px 4px 4px 10px;\n font-family: var(--%NS%font-sans);\n font-size: var(--%NS%fs-xs);\n color: var(--%NS%prism-
|
|
30
|
+
} }, styles: ["\n\n\n\n\n\n[_nghost-%COMP%] {\n position: absolute;\n top: var(--%NS%prism-canvas-overlay-top, 12px);\n left: var(--%NS%prism-canvas-overlay-inline, 20px);\n z-index: 2;\n pointer-events: none;\n transition:\n top var(--%NS%dur-base),\n left var(--%NS%dur-base);\n}\n\n.prism-bg-pill[_ngcontent-%COMP%] {\n display: inline-flex;\n gap: 8px;\n align-items: center;\n padding: 4px 4px 4px 10px;\n font-family: var(--%NS%font-sans);\n font-size: var(--%NS%fs-xs);\n color: var(--%NS%prism-canvas-overlay-muted);\n pointer-events: auto;\n background: color-mix(in srgb, var(--%NS%prism-canvas-overlay-bg) 92%, transparent);\n border: 1px solid var(--%NS%prism-canvas-overlay-border);\n border-radius: 999px;\n backdrop-filter: blur(8px);\n animation: _ngcontent-%COMP%_fade-in var(--%NS%dur-base) ease-out;\n}\n\n.label[_ngcontent-%COMP%] {\n letter-spacing: 0.02em;\n}\n\n.reset[_ngcontent-%COMP%] {\n height: 22px;\n padding: 0 10px;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n color: var(--%NS%prism-canvas-overlay-fg);\n cursor: pointer;\n background: var(--%NS%prism-canvas-overlay-active);\n border: 1px solid color-mix(in srgb, var(--%NS%prism-canvas-overlay-primary) 45%, transparent);\n border-radius: 999px;\n transition: background var(--%NS%dur-fast);\n}\n\n.reset[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--%NS%prism-canvas-overlay-primary) 22%, transparent);\n}\n\n@keyframes _ngcontent-%COMP%_fade-in {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}"] });
|
|
31
31
|
}
|
|
32
32
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismCanvasBgPillComponent, [{
|
|
33
33
|
type: Component,
|
|
34
|
-
args: [{ selector: 'prism-canvas-bg-pill', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (visible()) {\n <div class=\"prism-bg-pill\">\n <span class=\"label\">Recommended: {{ recommended() }}</span>\n <button\n type=\"button\"\n class=\"reset\"\n title=\"Reset to recommended background\"\n aria-label=\"Reset to recommended background\"\n (click)=\"reset()\">\n Reset\n </button>\n </div>\n}\n", styles: ["/* Top left, opposite the tool rail. Both used to claim the right corner and\n the rail won, hiding a notice whose whole job is to be noticed. The rail\n is permanent and the notice is not, so the permanent thing keeps the\n corner it sits in and this moves. Nothing else occupies the left corner:\n the zoom badge that used to live here was a duplicate of the readout the\n rail carries. */\n:host {\n position: absolute;\n top: var(--prism-canvas-overlay-top, 12px);\n left: var(--prism-canvas-overlay-inline, 20px);\n z-index: 2;\n pointer-events: none;\n transition:\n top var(--dur-base),\n left var(--dur-base);\n}\n\n.prism-bg-pill {\n display: inline-flex;\n gap: 8px;\n align-items: center;\n padding: 4px 4px 4px 10px;\n font-family: var(--font-sans);\n font-size: var(--fs-xs);\n color: var(--prism-
|
|
34
|
+
args: [{ selector: 'prism-canvas-bg-pill', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (visible()) {\n <div class=\"prism-bg-pill\">\n <span class=\"label\">Recommended: {{ recommended() }}</span>\n <button\n type=\"button\"\n class=\"reset\"\n title=\"Reset to recommended background\"\n aria-label=\"Reset to recommended background\"\n (click)=\"reset()\">\n Reset\n </button>\n </div>\n}\n", styles: ["/* Top left, opposite the tool rail. Both used to claim the right corner and\n the rail won, hiding a notice whose whole job is to be noticed. The rail\n is permanent and the notice is not, so the permanent thing keeps the\n corner it sits in and this moves. Nothing else occupies the left corner:\n the zoom badge that used to live here was a duplicate of the readout the\n rail carries. */\n:host {\n position: absolute;\n top: var(--prism-canvas-overlay-top, 12px);\n left: var(--prism-canvas-overlay-inline, 20px);\n z-index: 2;\n pointer-events: none;\n transition:\n top var(--dur-base),\n left var(--dur-base);\n}\n\n.prism-bg-pill {\n display: inline-flex;\n gap: 8px;\n align-items: center;\n padding: 4px 4px 4px 10px;\n font-family: var(--font-sans);\n font-size: var(--fs-xs);\n color: var(--prism-canvas-overlay-muted);\n pointer-events: auto;\n background: color-mix(in srgb, var(--prism-canvas-overlay-bg) 92%, transparent);\n border: 1px solid var(--prism-canvas-overlay-border);\n border-radius: 999px;\n backdrop-filter: blur(8px);\n animation: fade-in var(--dur-base) ease-out;\n}\n\n.label {\n letter-spacing: 0.02em;\n}\n\n.reset {\n height: 22px;\n padding: 0 10px;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n color: var(--prism-canvas-overlay-fg);\n cursor: pointer;\n background: var(--prism-canvas-overlay-active);\n border: 1px solid color-mix(in srgb, var(--prism-canvas-overlay-primary) 45%, transparent);\n border-radius: 999px;\n transition: background var(--dur-fast);\n}\n\n.reset:hover {\n background: color-mix(in srgb, var(--prism-canvas-overlay-primary) 22%, transparent);\n}\n\n@keyframes fade-in {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n"] }]
|
|
35
35
|
}], null, null); })();
|
|
36
36
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismCanvasBgPillComponent, { className: "PrismCanvasBgPillComponent", filePath: "app/canvas/prism-canvas-bg-pill.component.ts", lineNumber: 11 }); })();
|
|
@@ -55,10 +55,10 @@ export class PrismCanvasPinRowComponent {
|
|
|
55
55
|
i0.ɵɵconditionalCreate(0, PrismCanvasPinRowComponent_Conditional_0_Template, 3, 0, "div", 0);
|
|
56
56
|
} if (rf & 2) {
|
|
57
57
|
i0.ɵɵconditional(ctx.chips().length > 0 ? 0 : -1);
|
|
58
|
-
} }, dependencies: [PrismIconComponent], styles: [".pin-row[_ngcontent-%COMP%] {\n display: flex;\n gap: var(--%NS%sp-2);\n align-items: center;\n padding: var(--%NS%sp-2) var(--%NS%sp-3);\n overflow-x: auto;\n background: var(--%NS%prism-bg
|
|
58
|
+
} }, dependencies: [PrismIconComponent], styles: [".pin-row[_ngcontent-%COMP%] {\n display: flex;\n gap: var(--%NS%sp-2);\n align-items: center;\n padding: var(--%NS%sp-2) var(--%NS%sp-3);\n overflow-x: auto;\n background: var(--%NS%prism-canvas-overlay-bg);\n border-top: 1px solid var(--%NS%prism-border);\n}\n\n.pin-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n gap: var(--%NS%sp-1);\n align-items: center;\n padding: var(--%NS%sp-1) var(--%NS%sp-2);\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-xs);\n font-variant-numeric: tabular-nums;\n color: var(--%NS%prism-measure);\n white-space: nowrap;\n border: 1px solid var(--%NS%prism-canvas-overlay-border);\n border-radius: var(--%NS%radius-xs);\n}\n\n.pin-chip__x[_ngcontent-%COMP%] {\n display: grid;\n place-items: center;\n padding: 0;\n color: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n opacity: 0.6;\n}\n\n.pin-chip__x[_ngcontent-%COMP%]:hover, \n.pin-chip__x[_ngcontent-%COMP%]:focus-visible {\n opacity: 1;\n}"] });
|
|
59
59
|
}
|
|
60
60
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismCanvasPinRowComponent, [{
|
|
61
61
|
type: Component,
|
|
62
|
-
args: [{ selector: 'prism-canvas-pin-row', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent], template: "@if (chips().length > 0) {\n <div\n class=\"pin-row\"\n role=\"group\"\n aria-label=\"Pinned measurements\">\n @for (chip of chips(); track $index) {\n <span class=\"pin-chip\">\n {{ chip }}\n <button\n type=\"button\"\n class=\"pin-chip__x\"\n (click)=\"remove($index)\"\n [attr.aria-label]=\"'Remove measurement ' + chip\">\n <prism-icon\n name=\"x\"\n [size]=\"10\" />\n </button>\n </span>\n }\n </div>\n}\n", styles: [".pin-row {\n display: flex;\n gap: var(--sp-2);\n align-items: center;\n padding: var(--sp-2) var(--sp-3);\n overflow-x: auto;\n background: var(--prism-bg
|
|
62
|
+
args: [{ selector: 'prism-canvas-pin-row', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent], template: "@if (chips().length > 0) {\n <div\n class=\"pin-row\"\n role=\"group\"\n aria-label=\"Pinned measurements\">\n @for (chip of chips(); track $index) {\n <span class=\"pin-chip\">\n {{ chip }}\n <button\n type=\"button\"\n class=\"pin-chip__x\"\n (click)=\"remove($index)\"\n [attr.aria-label]=\"'Remove measurement ' + chip\">\n <prism-icon\n name=\"x\"\n [size]=\"10\" />\n </button>\n </span>\n }\n </div>\n}\n", styles: [".pin-row {\n display: flex;\n gap: var(--sp-2);\n align-items: center;\n padding: var(--sp-2) var(--sp-3);\n overflow-x: auto;\n background: var(--prism-canvas-overlay-bg);\n border-top: 1px solid var(--prism-border);\n}\n\n.pin-chip {\n display: inline-flex;\n gap: var(--sp-1);\n align-items: center;\n padding: var(--sp-1) var(--sp-2);\n font-family: var(--font-mono);\n font-size: var(--fs-xs);\n font-variant-numeric: tabular-nums;\n color: var(--prism-measure);\n white-space: nowrap;\n border: 1px solid var(--prism-canvas-overlay-border);\n border-radius: var(--radius-xs);\n}\n\n.pin-chip__x {\n display: grid;\n place-items: center;\n padding: 0;\n color: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n opacity: 0.6;\n}\n\n.pin-chip__x:hover,\n.pin-chip__x:focus-visible {\n opacity: 1;\n}\n"] }]
|
|
63
63
|
}], null, null); })();
|
|
64
64
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismCanvasPinRowComponent, { className: "PrismCanvasPinRowComponent", filePath: "app/canvas/prism-canvas-pin-row.component.ts", lineNumber: 28 }); })();
|
|
@@ -4,6 +4,8 @@ export declare class PrismCanvasRulersComponent {
|
|
|
4
4
|
protected readonly rulerSize = "20px";
|
|
5
5
|
protected readonly canvas: PrismCanvasService;
|
|
6
6
|
private readonly themeService;
|
|
7
|
+
private readonly variantBg;
|
|
8
|
+
private readonly host;
|
|
7
9
|
private readonly rulerTop;
|
|
8
10
|
private readonly rulerLeft;
|
|
9
11
|
private ro;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-canvas-rulers.component.d.ts","sourceRoot":"","sources":["../../../src/app/canvas/prism-canvas-rulers.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;;
|
|
1
|
+
{"version":3,"file":"prism-canvas-rulers.component.d.ts","sourceRoot":"","sources":["../../../src/app/canvas/prism-canvas-rulers.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;;AAMzE,qBAWa,0BAA0B;IACnC,SAAS,CAAC,QAAQ,CAAC,SAAS,UAAY;IAExC,SAAS,CAAC,QAAQ,CAAC,MAAM,qBAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+C;IAEpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwD;IACjF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyD;IAEnF,OAAO,CAAC,EAAE,CAA+B;;IAwBzC,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,MAAM;IAgEd,OAAO,CAAC,MAAM;yCAjHL,0BAA0B;2CAA1B,0BAA0B;CAoLtC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, effect, inject, viewChild } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, effect, ElementRef, inject, viewChild } from '@angular/core';
|
|
2
2
|
import { PrismCanvasService } from '../services/prism-canvas.service.js';
|
|
3
3
|
import { PrismThemeService } from '../services/prism-theme.service.js';
|
|
4
|
+
import { PrismVariantBgService } from '../services/prism-variant-bg.service.js';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
const _c0 = ["rulerTop"];
|
|
6
7
|
const _c1 = ["rulerLeft"];
|
|
@@ -14,6 +15,8 @@ export class PrismCanvasRulersComponent {
|
|
|
14
15
|
rulerSize = `${R}px`;
|
|
15
16
|
canvas = inject(PrismCanvasService);
|
|
16
17
|
themeService = inject(PrismThemeService);
|
|
18
|
+
variantBg = inject(PrismVariantBgService);
|
|
19
|
+
host = inject(ElementRef);
|
|
17
20
|
rulerTop = viewChild('rulerTop', /* @ts-ignore */
|
|
18
21
|
...(ngDevMode ? [{ debugName: "rulerTop" }] : /* istanbul ignore next */ []));
|
|
19
22
|
rulerLeft = viewChild('rulerLeft', /* @ts-ignore */
|
|
@@ -24,6 +27,8 @@ export class PrismCanvasRulersComponent {
|
|
|
24
27
|
const show = this.canvas.rulers();
|
|
25
28
|
const zoom = this.canvas.zoom();
|
|
26
29
|
this.themeService.theme();
|
|
30
|
+
// The rulers sit on the canvas, so they follow its ground, not the theme.
|
|
31
|
+
this.variantBg.effective();
|
|
27
32
|
if (!show) {
|
|
28
33
|
this.ro?.disconnect();
|
|
29
34
|
this.ro = null;
|
|
@@ -64,10 +69,10 @@ export class PrismCanvasRulersComponent {
|
|
|
64
69
|
el.style.height = h + 'px';
|
|
65
70
|
const ctx = el.getContext('2d');
|
|
66
71
|
ctx.scale(dpr, dpr);
|
|
67
|
-
const cs = getComputedStyle(
|
|
68
|
-
const bg = cs.getPropertyValue('--prism-bg').trim() || '#
|
|
69
|
-
const fg = cs.getPropertyValue('--prism-
|
|
70
|
-
const border = cs.getPropertyValue('--prism-border').trim() || '
|
|
72
|
+
const cs = getComputedStyle(this.host.nativeElement);
|
|
73
|
+
const bg = cs.getPropertyValue('--prism-canvas-overlay-bg').trim() || '#1a2335';
|
|
74
|
+
const fg = cs.getPropertyValue('--prism-canvas-overlay-muted').trim() || '#cbd5e1';
|
|
75
|
+
const border = cs.getPropertyValue('--prism-border').trim() || '#1f2b3e';
|
|
71
76
|
ctx.fillStyle = bg;
|
|
72
77
|
ctx.fillRect(0, 0, w, h);
|
|
73
78
|
ctx.strokeStyle = border;
|
|
@@ -113,10 +118,10 @@ export class PrismCanvasRulersComponent {
|
|
|
113
118
|
el.style.height = h + 'px';
|
|
114
119
|
const ctx = el.getContext('2d');
|
|
115
120
|
ctx.scale(dpr, dpr);
|
|
116
|
-
const cs = getComputedStyle(
|
|
117
|
-
const bg = cs.getPropertyValue('--prism-bg').trim() || '#
|
|
118
|
-
const fg = cs.getPropertyValue('--prism-
|
|
119
|
-
const border = cs.getPropertyValue('--prism-border').trim() || '
|
|
121
|
+
const cs = getComputedStyle(this.host.nativeElement);
|
|
122
|
+
const bg = cs.getPropertyValue('--prism-canvas-overlay-bg').trim() || '#1a2335';
|
|
123
|
+
const fg = cs.getPropertyValue('--prism-canvas-overlay-muted').trim() || '#cbd5e1';
|
|
124
|
+
const border = cs.getPropertyValue('--prism-border').trim() || '#1f2b3e';
|
|
120
125
|
ctx.fillStyle = bg;
|
|
121
126
|
ctx.fillRect(0, 0, w, h);
|
|
122
127
|
ctx.strokeStyle = border;
|
|
@@ -161,13 +166,13 @@ export class PrismCanvasRulersComponent {
|
|
|
161
166
|
i0.ɵɵconditionalCreate(0, PrismCanvasRulersComponent_Conditional_0_Template, 6, 0, "div", 2);
|
|
162
167
|
} if (rf & 2) {
|
|
163
168
|
i0.ɵɵconditional(ctx.canvas.rulers() ? 0 : -1);
|
|
164
|
-
} }, styles: ["\n\n\n[_nghost-%COMP%] {\n display: contents;\n}\n\n.ruler-wrap[_ngcontent-%COMP%] {\n position: absolute;\n inset: 0;\n z-index: 4;\n overflow: hidden;\n pointer-events: none;\n}\n\n.ruler[_ngcontent-%COMP%] {\n position: absolute;\n}\n\n.ruler--top[_ngcontent-%COMP%] {\n top: 0;\n right: 0;\n left: var(--%NS%prism-ruler-size);\n height: var(--%NS%prism-ruler-size);\n}\n\n.ruler--left[_ngcontent-%COMP%] {\n top: var(--%NS%prism-ruler-size);\n bottom: 0;\n left: 0;\n width: var(--%NS%prism-ruler-size);\n}\n\n.ruler-corner[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: var(--%NS%prism-ruler-size);\n height: var(--%NS%prism-ruler-size);\n background: var(--%NS%prism-bg);\n border-right: 1px solid var(--%NS%prism-border);\n border-bottom: 1px solid var(--%NS%prism-border);\n}"] });
|
|
169
|
+
} }, styles: ["\n\n\n[_nghost-%COMP%] {\n display: contents;\n}\n\n.ruler-wrap[_ngcontent-%COMP%] {\n position: absolute;\n inset: 0;\n z-index: 4;\n overflow: hidden;\n pointer-events: none;\n}\n\n.ruler[_ngcontent-%COMP%] {\n position: absolute;\n}\n\n.ruler--top[_ngcontent-%COMP%] {\n top: 0;\n right: 0;\n left: var(--%NS%prism-ruler-size);\n height: var(--%NS%prism-ruler-size);\n}\n\n.ruler--left[_ngcontent-%COMP%] {\n top: var(--%NS%prism-ruler-size);\n bottom: 0;\n left: 0;\n width: var(--%NS%prism-ruler-size);\n}\n\n.ruler-corner[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: var(--%NS%prism-ruler-size);\n height: var(--%NS%prism-ruler-size);\n background: var(--%NS%prism-canvas-overlay-bg);\n border-right: 1px solid var(--%NS%prism-border);\n border-bottom: 1px solid var(--%NS%prism-border);\n}"] });
|
|
165
170
|
}
|
|
166
171
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismCanvasRulersComponent, [{
|
|
167
172
|
type: Component,
|
|
168
|
-
args: [{ selector: 'prism-canvas-rulers', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: { '[style.--prism-ruler-size]': 'rulerSize' }, template: "@if (canvas.rulers()) {\n <div class=\"ruler-wrap\">\n <canvas\n #rulerTop\n class=\"ruler ruler--top\"></canvas>\n <canvas\n #rulerLeft\n class=\"ruler ruler--left\"></canvas>\n <div class=\"ruler-corner\"></div>\n </div>\n}\n", styles: ["/* --prism-ruler-size is bound from the host rather than declared here. The\n gutter width is also the canvas size the two rulers are painted at, so R in\n the component is the one place it may be written down. */\n:host {\n display: contents;\n}\n\n.ruler-wrap {\n position: absolute;\n inset: 0;\n z-index: 4;\n overflow: hidden;\n pointer-events: none;\n}\n\n.ruler {\n position: absolute;\n}\n\n.ruler--top {\n top: 0;\n right: 0;\n left: var(--prism-ruler-size);\n height: var(--prism-ruler-size);\n}\n\n.ruler--left {\n top: var(--prism-ruler-size);\n bottom: 0;\n left: 0;\n width: var(--prism-ruler-size);\n}\n\n.ruler-corner {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: var(--prism-ruler-size);\n height: var(--prism-ruler-size);\n background: var(--prism-bg);\n border-right: 1px solid var(--prism-border);\n border-bottom: 1px solid var(--prism-border);\n}\n"] }]
|
|
173
|
+
args: [{ selector: 'prism-canvas-rulers', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: { '[style.--prism-ruler-size]': 'rulerSize' }, template: "@if (canvas.rulers()) {\n <div class=\"ruler-wrap\">\n <canvas\n #rulerTop\n class=\"ruler ruler--top\"></canvas>\n <canvas\n #rulerLeft\n class=\"ruler ruler--left\"></canvas>\n <div class=\"ruler-corner\"></div>\n </div>\n}\n", styles: ["/* --prism-ruler-size is bound from the host rather than declared here. The\n gutter width is also the canvas size the two rulers are painted at, so R in\n the component is the one place it may be written down. */\n:host {\n display: contents;\n}\n\n.ruler-wrap {\n position: absolute;\n inset: 0;\n z-index: 4;\n overflow: hidden;\n pointer-events: none;\n}\n\n.ruler {\n position: absolute;\n}\n\n.ruler--top {\n top: 0;\n right: 0;\n left: var(--prism-ruler-size);\n height: var(--prism-ruler-size);\n}\n\n.ruler--left {\n top: var(--prism-ruler-size);\n bottom: 0;\n left: 0;\n width: var(--prism-ruler-size);\n}\n\n.ruler-corner {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: var(--prism-ruler-size);\n height: var(--prism-ruler-size);\n background: var(--prism-canvas-overlay-bg);\n border-right: 1px solid var(--prism-border);\n border-bottom: 1px solid var(--prism-border);\n}\n"] }]
|
|
169
174
|
}], () => [], { rulerTop: [{ type: i0.ViewChild, args: ['rulerTop', { isSignal: true }] }], rulerLeft: [{ type: i0.ViewChild, args: ['rulerLeft', { isSignal: true }] }] }); })();
|
|
170
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismCanvasRulersComponent, { className: "PrismCanvasRulersComponent", filePath: "app/canvas/prism-canvas-rulers.component.ts", lineNumber:
|
|
175
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismCanvasRulersComponent, { className: "PrismCanvasRulersComponent", filePath: "app/canvas/prism-canvas-rulers.component.ts", lineNumber: 19 }); })();
|
|
171
176
|
function stepFor(zoom) {
|
|
172
177
|
if (zoom >= 2)
|
|
173
178
|
return 10;
|
|
@@ -3,6 +3,7 @@ import { type PseudoState } from '../../shared/pseudo-state.type.js';
|
|
|
3
3
|
import { PrismCanvasService } from '../services/prism-canvas.service.js';
|
|
4
4
|
import { PrismPseudoStateService } from '../services/prism-pseudo-state.service.js';
|
|
5
5
|
import { PrismVariantBgService } from '../services/prism-variant-bg.service.js';
|
|
6
|
+
import { type StateChip } from './state-chips.js';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
/**
|
|
8
9
|
* The canvas tools, as a rail floating over the canvas.
|
|
@@ -10,8 +11,7 @@ import * as i0 from "@angular/core";
|
|
|
10
11
|
* Things you toggle constantly (guides, rulers, the viewport constraint) get
|
|
11
12
|
* their own button; things you set once (background, forced state, zoom,
|
|
12
13
|
* viewport width) live in the menu. The template is a view rather than a setting and keeps its own
|
|
13
|
-
* button. Zoom
|
|
14
|
-
* only appears while the viewport constraint is on.
|
|
14
|
+
* button. Zoom is shown as a readout, with the viewport width in its tooltip.
|
|
15
15
|
*
|
|
16
16
|
* The host generates no box. The rail must be a direct child of
|
|
17
17
|
* `.prism-canvas-wrap` outside the stage, because that is what capture mode's
|
|
@@ -23,15 +23,37 @@ export declare class PrismCanvasToolbarComponent {
|
|
|
23
23
|
protected readonly canvas: PrismCanvasService;
|
|
24
24
|
protected readonly variantBg: PrismVariantBgService;
|
|
25
25
|
protected readonly pseudoState: PrismPseudoStateService;
|
|
26
|
+
private readonly navigation;
|
|
27
|
+
private readonly renderer;
|
|
26
28
|
/**
|
|
27
29
|
* The pseudo states the canvas can force, as toggles. Several can be on at
|
|
28
30
|
* once (`:hover` with `:focus-visible`). The active ones carry `is-on`, the
|
|
29
|
-
* ones the variant declares the `is-rec` edge, as in the
|
|
31
|
+
* ones the variant or the active state declares the `is-rec` edge, as in the
|
|
32
|
+
* Canvas group.
|
|
30
33
|
*/
|
|
31
34
|
protected readonly states: readonly PseudoState[];
|
|
32
35
|
protected stateTitle(state: PseudoState): string;
|
|
36
|
+
/** The variant first. Otherwise the active state, which {@link PrismPseudoStateService.isDeclared} only counts while it fits. */
|
|
37
|
+
private declaredBy;
|
|
38
|
+
/** The component's declared states, as chips above the toggles. Empty for a component without any, which then shows no row. */
|
|
39
|
+
private readonly declaredStates;
|
|
40
|
+
/** Whether the shown variant has `states: false`. `stateExclusion` says so only while a state is active, the chips need it before. */
|
|
41
|
+
private readonly variantOptsOut;
|
|
42
|
+
/**
|
|
43
|
+
* Whether each declared state fits the rendered component. Measured after
|
|
44
|
+
* the render because the fit depends on the DOM, which a control or a
|
|
45
|
+
* variant change rewrites: a state can lose its target to a toggled input.
|
|
46
|
+
* Equal results keep the old array, so typing into a text control does not
|
|
47
|
+
* re-render the menu for nothing.
|
|
48
|
+
*/
|
|
49
|
+
private readonly fits;
|
|
50
|
+
protected readonly chips: import("@angular/core").Signal<StateChip[]>;
|
|
51
|
+
constructor();
|
|
52
|
+
protected pickState(chip: StateChip): void;
|
|
33
53
|
/** Angular templates resolve names against the component, not the global scope. */
|
|
34
54
|
protected readonly Math: Math;
|
|
55
|
+
protected readonly zoomTitle: import("@angular/core").Signal<string>;
|
|
56
|
+
protected railTitle(label: string, on: boolean): string;
|
|
35
57
|
protected setBg(bg: CanvasBg): void;
|
|
36
58
|
/**
|
|
37
59
|
* Every {@link CanvasBg}, taken from the type's canonical list.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-canvas-toolbar.component.d.ts","sourceRoot":"","sources":["../../../src/app/canvas/prism-canvas-toolbar.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prism-canvas-toolbar.component.d.ts","sourceRoot":"","sources":["../../../src/app/canvas/prism-canvas-toolbar.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAIpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAGhF,OAAO,EAAgD,KAAK,SAAS,EAAe,MAAM,kBAAkB,CAAC;;AAE7G;;;;;;;;;;;;;GAaG;AACH,qBAQa,2BAA2B;IACpC,SAAS,CAAC,QAAQ,CAAC,MAAM,qBAA8B;IACvD,SAAS,CAAC,QAAQ,CAAC,SAAS,wBAAiC;IAC7D,SAAS,CAAC,QAAQ,CAAC,WAAW,0BAAmC;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;IAEzD;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,yBAAiB;IAE1C,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;IAIhD,iIAAiI;IACjI,OAAO,CAAC,UAAU;IAQlB,+HAA+H;IAC/H,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiH;IAEhJ,sIAAsI;IACtI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAE7B;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwF;IAE7G,SAAS,CAAC,QAAQ,CAAC,KAAK,8CAAsH;;IAwB9I,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAI1C,mFAAmF;IACnF,SAAS,CAAC,QAAQ,CAAC,IAAI,OAAQ;IAE/B,SAAS,CAAC,QAAQ,CAAC,SAAS,yCAA8E;IAE1G,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM;IAIvD,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAQnC;;;;;;;;;;OAUG;IACH,SAAS,CAAC,QAAQ,CAAC,GAAG,sBAAc;IAEpC;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI;IAY9C,SAAS,CAAC,QAAQ,CAAC,KAAK;;;QAKtB;IAEF;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,oBAAkB;IAE9C,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;yCA1I9B,2BAA2B;2CAA3B,2BAA2B;CA6IvC"}
|