@ng-prism/core 22.6.0 → 22.7.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -9
- package/dist/app/canvas/canvas-bg.styles.d.ts +1 -1
- package/dist/app/canvas/canvas-bg.styles.d.ts.map +1 -1
- package/dist/app/canvas/canvas-bg.styles.js +1 -1
- package/dist/app/canvas/canvas-overlay-tokens.d.ts +12 -0
- package/dist/app/canvas/canvas-overlay-tokens.d.ts.map +1 -0
- package/dist/app/canvas/canvas-overlay-tokens.js +52 -0
- package/dist/app/canvas/prism-canvas-bg-pill.component.js +2 -2
- package/dist/app/canvas/prism-canvas-pin-row.component.js +2 -2
- package/dist/app/canvas/prism-canvas-rulers.component.d.ts +2 -0
- package/dist/app/canvas/prism-canvas-rulers.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-rulers.component.js +17 -12
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts +3 -2
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-toolbar.component.js +89 -97
- package/dist/app/canvas/prism-template-popover.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-template-popover.component.js +16 -7
- package/dist/app/component-head/head-metrics.d.ts +35 -19
- package/dist/app/component-head/head-metrics.d.ts.map +1 -1
- package/dist/app/component-head/head-metrics.js +57 -27
- package/dist/app/component-head/pipe-facts.d.ts +9 -0
- package/dist/app/component-head/pipe-facts.d.ts.map +1 -0
- package/dist/app/component-head/pipe-facts.js +15 -0
- package/dist/app/component-head/prism-component-head.component.d.ts +19 -22
- package/dist/app/component-head/prism-component-head.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-component-head.component.js +80 -96
- package/dist/app/component-head/prism-head-gauge.component.d.ts +8 -12
- package/dist/app/component-head/prism-head-gauge.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-head-gauge.component.js +51 -67
- package/dist/app/component-head/prism-head-info.component.d.ts +13 -2
- package/dist/app/component-head/prism-head-info.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-head-info.component.js +57 -16
- package/dist/app/component-head/prism-stat.component.d.ts +4 -5
- package/dist/app/component-head/prism-stat.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-stat.component.js +16 -12
- package/dist/app/component-head/service-facts.d.ts +8 -0
- package/dist/app/component-head/service-facts.d.ts.map +1 -0
- package/dist/app/component-head/service-facts.js +11 -0
- package/dist/app/controls/boolean-control.component.js +2 -2
- package/dist/app/controls/json-control.component.js +2 -2
- package/dist/app/controls/union-control.component.js +4 -3
- package/dist/app/header/header-brand.d.ts +25 -0
- package/dist/app/header/header-brand.d.ts.map +1 -0
- package/dist/app/header/header-brand.js +10 -0
- package/dist/app/header/prism-header.component.d.ts +2 -2
- package/dist/app/header/prism-header.component.d.ts.map +1 -1
- package/dist/app/header/prism-header.component.js +73 -57
- package/dist/app/icons/icon-registry.d.ts.map +1 -1
- package/dist/app/icons/icon-registry.js +4 -1
- package/dist/app/index.d.ts +12 -0
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.js +12 -1
- package/dist/app/layout-menu/prism-layout-menu.component.d.ts +3 -0
- package/dist/app/layout-menu/prism-layout-menu.component.d.ts.map +1 -1
- package/dist/app/layout-menu/prism-layout-menu.component.js +72 -58
- package/dist/app/overview/open-in-playground.d.ts +8 -0
- package/dist/app/overview/open-in-playground.d.ts.map +1 -1
- package/dist/app/overview/open-in-playground.js +13 -0
- package/dist/app/overview/overview-matrix.d.ts +10 -4
- package/dist/app/overview/overview-matrix.d.ts.map +1 -1
- package/dist/app/overview/overview-matrix.js +3 -3
- package/dist/app/overview/prism-overview-cell.component.d.ts +6 -2
- package/dist/app/overview/prism-overview-cell.component.d.ts.map +1 -1
- package/dist/app/overview/prism-overview-cell.component.js +35 -24
- package/dist/app/overview/prism-overview-matrix.component.js +46 -55
- package/dist/app/page-renderer/prism-page-renderer.component.js +2 -2
- package/dist/app/panels/a11y/a11y-header-badge.component.d.ts +1 -4
- package/dist/app/panels/a11y/a11y-header-badge.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-header-badge.component.js +8 -19
- package/dist/app/panels/a11y/a11y-keyboard-overlay.component.js +2 -2
- package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts +1 -0
- package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-overlay-host.component.js +4 -3
- package/dist/app/panels/a11y/a11y-panel.component.d.ts +4 -1
- package/dist/app/panels/a11y/a11y-panel.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-panel.component.js +32 -54
- package/dist/app/panels/a11y/a11y-score.component.d.ts +8 -3
- package/dist/app/panels/a11y/a11y-score.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-score.component.js +19 -35
- package/dist/app/panels/a11y/a11y-sr-overlay.component.js +2 -2
- package/dist/app/panels/a11y/a11y-sr.component.js +2 -2
- package/dist/app/panels/a11y/a11y-summary.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-summary.js +8 -1
- package/dist/app/panels/a11y/a11y-tree.component.js +2 -2
- package/dist/app/panels/a11y/a11y-violations.component.d.ts +23 -2
- package/dist/app/panels/a11y/a11y-violations.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-violations.component.js +104 -89
- package/dist/app/panels/a11y/severity.d.ts +9 -0
- package/dist/app/panels/a11y/severity.d.ts.map +1 -0
- package/dist/app/panels/a11y/severity.js +12 -0
- package/dist/app/panels/controls/non-editable-input-types.d.ts +9 -1
- package/dist/app/panels/controls/non-editable-input-types.d.ts.map +1 -1
- package/dist/app/panels/controls/non-editable-input-types.js +18 -0
- package/dist/app/panels/controls/prism-controls-panel.component.d.ts +2 -1
- package/dist/app/panels/controls/prism-controls-panel.component.d.ts.map +1 -1
- package/dist/app/panels/controls/prism-controls-panel.component.js +77 -59
- package/dist/app/panels/events/prism-events-panel.component.d.ts +2 -0
- package/dist/app/panels/events/prism-events-panel.component.d.ts.map +1 -1
- package/dist/app/panels/events/prism-events-panel.component.js +20 -7
- package/dist/app/panels/events/prism-json-node.utils.d.ts +6 -0
- package/dist/app/panels/events/prism-json-node.utils.d.ts.map +1 -1
- package/dist/app/panels/events/prism-json-node.utils.js +8 -0
- package/dist/app/panels/panel-host/addon-panels.d.ts +11 -0
- package/dist/app/panels/panel-host/addon-panels.d.ts.map +1 -0
- package/dist/app/panels/panel-host/addon-panels.js +12 -0
- package/dist/app/panels/panel-host/panel-badge.d.ts +22 -0
- package/dist/app/panels/panel-host/panel-badge.d.ts.map +1 -1
- package/dist/app/panels/panel-host/panel-badge.js +56 -11
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +4 -1
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts.map +1 -1
- package/dist/app/panels/panel-host/prism-panel-host.component.js +36 -70
- package/dist/app/renderer/composition.d.ts +20 -0
- package/dist/app/renderer/composition.d.ts.map +1 -0
- package/dist/app/renderer/composition.js +26 -0
- package/dist/app/renderer/input-bindings.d.ts +13 -1
- package/dist/app/renderer/input-bindings.d.ts.map +1 -1
- package/dist/app/renderer/input-bindings.js +22 -1
- package/dist/app/renderer/prism-renderer.component.d.ts +8 -1
- package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
- package/dist/app/renderer/prism-renderer.component.js +40 -28
- package/dist/app/renderer/snippet-generator.d.ts +14 -2
- package/dist/app/renderer/snippet-generator.d.ts.map +1 -1
- package/dist/app/renderer/snippet-generator.js +137 -82
- package/dist/app/services/navigation-item.d.ts +10 -0
- package/dist/app/services/navigation-item.d.ts.map +1 -0
- package/dist/app/services/navigation-item.js +20 -0
- package/dist/app/services/navigation-item.types.d.ts +8 -0
- package/dist/app/services/navigation-item.types.d.ts.map +1 -1
- package/dist/app/services/prism-layout.service.d.ts +12 -0
- package/dist/app/services/prism-layout.service.d.ts.map +1 -1
- package/dist/app/services/prism-layout.service.js +17 -7
- package/dist/app/services/prism-manifest.service.d.ts +4 -0
- package/dist/app/services/prism-manifest.service.d.ts.map +1 -1
- package/dist/app/services/prism-manifest.service.js +4 -0
- package/dist/app/services/prism-navigation.service.d.ts +12 -0
- package/dist/app/services/prism-navigation.service.d.ts.map +1 -1
- package/dist/app/services/prism-navigation.service.js +85 -19
- package/dist/app/services/prism-panel.service.d.ts +7 -3
- package/dist/app/services/prism-panel.service.d.ts.map +1 -1
- package/dist/app/services/prism-panel.service.js +13 -4
- package/dist/app/services/prism-renderer.service.d.ts +6 -0
- package/dist/app/services/prism-renderer.service.d.ts.map +1 -1
- package/dist/app/services/prism-renderer.service.js +40 -6
- package/dist/app/services/prism-search.service.d.ts +4 -0
- package/dist/app/services/prism-search.service.d.ts.map +1 -1
- package/dist/app/services/prism-search.service.js +29 -6
- package/dist/app/services/prism-theme.service.d.ts +11 -3
- package/dist/app/services/prism-theme.service.d.ts.map +1 -1
- package/dist/app/services/prism-theme.service.js +27 -19
- package/dist/app/services/prism-url-state.service.d.ts.map +1 -1
- package/dist/app/services/prism-url-state.service.js +42 -4
- package/dist/app/shared/badge.types.d.ts +7 -0
- package/dist/app/shared/badge.types.d.ts.map +1 -0
- package/dist/app/shared/badge.types.js +9 -0
- package/dist/app/shared/brand-mark.d.ts +35 -0
- package/dist/app/shared/brand-mark.d.ts.map +1 -0
- package/dist/app/shared/brand-mark.js +52 -0
- package/dist/app/shared/metric-bar.d.ts +6 -0
- package/dist/app/shared/metric-bar.d.ts.map +1 -0
- package/dist/app/shared/metric-bar.js +7 -0
- package/dist/app/shared/prism-badge.component.d.ts +21 -0
- package/dist/app/shared/prism-badge.component.d.ts.map +1 -0
- package/dist/app/shared/prism-badge.component.js +68 -0
- package/dist/app/shared/prism-button.component.d.ts +12 -0
- package/dist/app/shared/prism-button.component.d.ts.map +1 -0
- package/dist/app/shared/prism-button.component.js +28 -0
- package/dist/app/shared/prism-icon-button.component.d.ts +17 -0
- package/dist/app/shared/prism-icon-button.component.d.ts.map +1 -0
- package/dist/app/shared/prism-icon-button.component.js +37 -0
- package/dist/app/shared/prism-list-row.component.d.ts +17 -0
- package/dist/app/shared/prism-list-row.component.d.ts.map +1 -0
- package/dist/app/shared/prism-list-row.component.js +57 -0
- package/dist/app/shared/prism-logo.component.d.ts +24 -0
- package/dist/app/shared/prism-logo.component.d.ts.map +1 -0
- package/dist/app/shared/prism-logo.component.js +77 -0
- package/dist/app/shared/prism-metric-badge.component.d.ts +9 -4
- package/dist/app/shared/prism-metric-badge.component.d.ts.map +1 -1
- package/dist/app/shared/prism-metric-badge.component.js +33 -12
- package/dist/app/shared/prism-metric-card.component.d.ts +30 -0
- package/dist/app/shared/prism-metric-card.component.d.ts.map +1 -0
- package/dist/app/shared/prism-metric-card.component.js +111 -0
- package/dist/app/shared/prism-panel-toolbar.component.d.ts +13 -0
- package/dist/app/shared/prism-panel-toolbar.component.d.ts.map +1 -0
- package/dist/app/shared/prism-panel-toolbar.component.js +28 -0
- package/dist/app/shared/prism-segmented.component.d.ts +25 -0
- package/dist/app/shared/prism-segmented.component.d.ts.map +1 -0
- package/dist/app/shared/prism-segmented.component.js +77 -0
- package/dist/app/shared/prism-tabs.component.d.ts +44 -0
- package/dist/app/shared/prism-tabs.component.d.ts.map +1 -0
- package/dist/app/shared/prism-tabs.component.js +134 -0
- package/dist/app/shared/roving-focus.d.ts +13 -0
- package/dist/app/shared/roving-focus.d.ts.map +1 -0
- package/dist/app/shared/roving-focus.js +34 -0
- package/dist/app/shell/prism-shell.component.d.ts +13 -0
- package/dist/app/shell/prism-shell.component.d.ts.map +1 -1
- package/dist/app/shell/prism-shell.component.js +57 -28
- package/dist/app/shell/should-select-first.d.ts +17 -0
- package/dist/app/shell/should-select-first.d.ts.map +1 -0
- package/dist/app/shell/should-select-first.js +13 -0
- package/dist/app/sidebar/navigation-decorations.d.ts +23 -1
- package/dist/app/sidebar/navigation-decorations.d.ts.map +1 -1
- package/dist/app/sidebar/navigation-decorations.js +33 -2
- package/dist/app/sidebar/prism-sidebar.component.d.ts +5 -15
- package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -1
- package/dist/app/sidebar/prism-sidebar.component.js +89 -77
- package/dist/app/theme/deprecated-tokens.d.ts +15 -0
- package/dist/app/theme/deprecated-tokens.d.ts.map +1 -0
- package/dist/app/theme/deprecated-tokens.js +22 -0
- package/dist/app/theme/favicon.d.ts +3 -0
- package/dist/app/theme/favicon.d.ts.map +1 -0
- package/dist/app/theme/favicon.js +3 -0
- package/dist/app/theme/prism-default-theme.d.ts.map +1 -1
- package/dist/app/theme/prism-default-theme.js +116 -61
- package/dist/app/theme/resolve-theme-tokens.d.ts +29 -0
- package/dist/app/theme/resolve-theme-tokens.d.ts.map +1 -0
- package/dist/app/theme/resolve-theme-tokens.js +43 -0
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts +4 -7
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts.map +1 -1
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.js +31 -69
- package/dist/app/view-tab-bar/next-view-id.d.ts +7 -1
- package/dist/app/view-tab-bar/next-view-id.d.ts.map +1 -1
- package/dist/app/view-tab-bar/next-view-id.js +9 -1
- package/dist/app/view-tab-bar/panel-inputs.d.ts +28 -0
- package/dist/app/view-tab-bar/panel-inputs.d.ts.map +1 -0
- package/dist/app/view-tab-bar/panel-inputs.js +41 -0
- package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts +2 -3
- package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts.map +1 -1
- package/dist/app/view-tab-bar/prism-view-panel-host.component.js +9 -9
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts +6 -0
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts.map +1 -1
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +22 -29
- package/dist/builder/config-loader/deprecated-options.d.ts +4 -2
- package/dist/builder/config-loader/deprecated-options.d.ts.map +1 -1
- package/dist/builder/config-loader/deprecated-options.js +13 -2
- package/dist/builder/manifest/composition-wrapper.generator.d.ts +14 -0
- package/dist/builder/manifest/composition-wrapper.generator.d.ts.map +1 -0
- package/dist/builder/manifest/composition-wrapper.generator.js +66 -0
- package/dist/builder/manifest/host-parser.d.ts +2 -0
- package/dist/builder/manifest/host-parser.d.ts.map +1 -1
- package/dist/builder/manifest/host-parser.js +9 -4
- package/dist/builder/manifest/manifest-imports.d.ts +34 -0
- package/dist/builder/manifest/manifest-imports.d.ts.map +1 -0
- package/dist/builder/manifest/manifest-imports.js +91 -0
- package/dist/builder/manifest/runtime-manifest.generator.d.ts +13 -0
- package/dist/builder/manifest/runtime-manifest.generator.d.ts.map +1 -1
- package/dist/builder/manifest/runtime-manifest.generator.js +135 -64
- package/dist/builder/manifest/selector-element.d.ts +16 -0
- package/dist/builder/manifest/selector-element.d.ts.map +1 -0
- package/dist/builder/manifest/selector-element.js +46 -0
- package/dist/builder/manifest/template-literal.d.ts +3 -0
- package/dist/builder/manifest/template-literal.d.ts.map +1 -0
- package/dist/builder/manifest/template-literal.js +4 -0
- package/dist/builder/plugin-runner/plugin-runner.d.ts.map +1 -1
- package/dist/builder/plugin-runner/plugin-runner.js +29 -26
- package/dist/builder/scanner/api/angular-decorators.d.ts +84 -0
- package/dist/builder/scanner/api/angular-decorators.d.ts.map +1 -0
- package/dist/builder/scanner/api/angular-decorators.js +157 -0
- package/dist/builder/scanner/api/component-api.extractor.d.ts +13 -0
- package/dist/builder/scanner/api/component-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/api/component-api.extractor.js +104 -0
- package/dist/builder/scanner/api/doc-tags.d.ts +13 -0
- package/dist/builder/scanner/api/doc-tags.d.ts.map +1 -0
- package/dist/builder/scanner/api/doc-tags.js +101 -0
- package/dist/builder/scanner/api/export-index.d.ts +18 -0
- package/dist/builder/scanner/api/export-index.d.ts.map +1 -0
- package/dist/builder/scanner/api/export-index.js +22 -0
- package/dist/builder/scanner/api/member.extractor.d.ts +90 -0
- package/dist/builder/scanner/api/member.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/api/member.extractor.js +270 -0
- package/dist/builder/scanner/api/pipe-api.extractor.d.ts +12 -0
- package/dist/builder/scanner/api/pipe-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/api/pipe-api.extractor.js +52 -0
- package/dist/builder/scanner/api/service-api.extractor.d.ts +14 -0
- package/dist/builder/scanner/api/service-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/api/service-api.extractor.js +119 -0
- package/dist/builder/scanner/api/setup.reader.d.ts +26 -0
- package/dist/builder/scanner/api/setup.reader.d.ts.map +1 -0
- package/dist/builder/scanner/api/setup.reader.js +89 -0
- package/dist/builder/scanner/api/type-collector.d.ts +24 -0
- package/dist/builder/scanner/api/type-collector.d.ts.map +1 -0
- package/dist/builder/scanner/api/type-collector.js +211 -0
- package/dist/builder/scanner/ast-utils.d.ts +8 -0
- package/dist/builder/scanner/ast-utils.d.ts.map +1 -1
- package/dist/builder/scanner/ast-utils.js +37 -1
- package/dist/builder/scanner/class-hierarchy.d.ts +5 -3
- package/dist/builder/scanner/class-hierarchy.d.ts.map +1 -1
- package/dist/builder/scanner/class-hierarchy.js +12 -6
- package/dist/builder/scanner/component.scanner.d.ts +60 -6
- package/dist/builder/scanner/component.scanner.d.ts.map +1 -1
- package/dist/builder/scanner/component.scanner.js +209 -57
- package/dist/builder/scanner/composition/compose-template.d.ts +36 -0
- package/dist/builder/scanner/composition/compose-template.d.ts.map +1 -0
- package/dist/builder/scanner/composition/compose-template.js +187 -0
- package/dist/builder/scanner/composition/declarables.d.ts +54 -0
- package/dist/builder/scanner/composition/declarables.d.ts.map +1 -0
- package/dist/builder/scanner/composition/declarables.js +182 -0
- package/dist/builder/scanner/composition/match-declarables.d.ts +43 -0
- package/dist/builder/scanner/composition/match-declarables.d.ts.map +1 -0
- package/dist/builder/scanner/composition/match-declarables.js +131 -0
- package/dist/builder/scanner/composition/read-composition.d.ts +77 -0
- package/dist/builder/scanner/composition/read-composition.d.ts.map +1 -0
- package/dist/builder/scanner/composition/read-composition.js +302 -0
- package/dist/builder/scanner/composition/template-elements.d.ts +12 -0
- package/dist/builder/scanner/composition/template-elements.d.ts.map +1 -0
- package/dist/builder/scanner/composition/template-elements.js +41 -0
- package/dist/builder/scanner/index.d.ts +4 -0
- package/dist/builder/scanner/index.d.ts.map +1 -1
- package/dist/builder/scanner/index.js +2 -0
- package/dist/builder/scanner/input.extractor.d.ts +31 -2
- package/dist/builder/scanner/input.extractor.d.ts.map +1 -1
- package/dist/builder/scanner/input.extractor.js +52 -15
- package/dist/builder/scanner/pipe.scanner.d.ts +29 -0
- package/dist/builder/scanner/pipe.scanner.d.ts.map +1 -0
- package/dist/builder/scanner/pipe.scanner.js +65 -0
- package/dist/builder/scanner/scanner.d.ts +25 -1
- package/dist/builder/scanner/scanner.d.ts.map +1 -1
- package/dist/builder/scanner/scanner.js +60 -26
- package/dist/builder/scanner/service/angular-decorators.d.ts +80 -0
- package/dist/builder/scanner/service/angular-decorators.d.ts.map +1 -0
- package/dist/builder/scanner/service/angular-decorators.js +154 -0
- package/dist/builder/scanner/service/doc-tags.d.ts +13 -0
- package/dist/builder/scanner/service/doc-tags.d.ts.map +1 -0
- package/dist/builder/scanner/service/doc-tags.js +97 -0
- package/dist/builder/scanner/service/export-index.d.ts +18 -0
- package/dist/builder/scanner/service/export-index.d.ts.map +1 -0
- package/dist/builder/scanner/service/export-index.js +22 -0
- package/dist/builder/scanner/service/member.extractor.d.ts +65 -0
- package/dist/builder/scanner/service/member.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/service/member.extractor.js +216 -0
- package/dist/builder/scanner/service/pipe-api.extractor.d.ts +12 -0
- package/dist/builder/scanner/service/pipe-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/service/pipe-api.extractor.js +72 -0
- package/dist/builder/scanner/service/service-api.extractor.d.ts +14 -0
- package/dist/builder/scanner/service/service-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/service/service-api.extractor.js +119 -0
- package/dist/builder/scanner/service/setup.reader.d.ts +26 -0
- package/dist/builder/scanner/service/setup.reader.d.ts.map +1 -0
- package/dist/builder/scanner/service/setup.reader.js +89 -0
- package/dist/builder/scanner/service/type-collector.d.ts +23 -0
- package/dist/builder/scanner/service/type-collector.d.ts.map +1 -0
- package/dist/builder/scanner/service/type-collector.js +210 -0
- package/dist/builder/scanner/service.scanner.d.ts +26 -0
- package/dist/builder/scanner/service.scanner.d.ts.map +1 -0
- package/dist/builder/scanner/service.scanner.js +61 -0
- package/dist/builder/scanner/showcase-diagnostics.d.ts +60 -1
- package/dist/builder/scanner/showcase-diagnostics.d.ts.map +1 -1
- package/dist/builder/scanner/showcase-diagnostics.js +114 -1
- package/dist/builder/shared/prism-pipeline.d.ts +6 -0
- package/dist/builder/shared/prism-pipeline.d.ts.map +1 -1
- package/dist/builder/shared/prism-pipeline.js +43 -5
- package/dist/decorator/index.d.ts +1 -1
- package/dist/decorator/index.d.ts.map +1 -1
- package/dist/decorator/showcase.types.d.ts +79 -9
- package/dist/decorator/showcase.types.d.ts.map +1 -1
- package/dist/plugin/index.d.ts +6 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +4 -0
- package/dist/plugin/pipe.types.d.ts +36 -0
- package/dist/plugin/pipe.types.d.ts.map +1 -0
- package/dist/plugin/pipe.types.js +1 -0
- package/dist/plugin/plugin.types.d.ts +140 -3
- package/dist/plugin/plugin.types.d.ts.map +1 -1
- package/dist/plugin/service.types.d.ts +124 -0
- package/dist/plugin/service.types.d.ts.map +1 -0
- package/dist/plugin/service.types.js +1 -0
- package/dist/plugin/status.d.ts +27 -0
- package/dist/plugin/status.d.ts.map +1 -0
- package/dist/plugin/status.js +26 -0
- package/dist/shared/composition.d.ts +30 -0
- package/dist/shared/composition.d.ts.map +1 -0
- package/dist/shared/composition.js +29 -0
- package/dist/shared/pseudo-state.type.d.ts +2 -1
- package/dist/shared/pseudo-state.type.d.ts.map +1 -1
- package/dist/shared/void-elements.d.ts +3 -0
- package/dist/shared/void-elements.d.ts.map +1 -0
- package/dist/shared/void-elements.js +2 -0
- package/package.json +1 -1
|
@@ -9,37 +9,30 @@ import { PrismNavigationService } from '../services/prism-navigation.service.js'
|
|
|
9
9
|
import { PrismPseudoStateService } from '../services/prism-pseudo-state.service.js';
|
|
10
10
|
import { PrismRendererService } from '../services/prism-renderer.service.js';
|
|
11
11
|
import { PrismVariantBgService } from '../services/prism-variant-bg.service.js';
|
|
12
|
+
import { PrismIconButtonComponent } from '../shared/prism-icon-button.component.js';
|
|
13
|
+
import { railToggleTitle, zoomTitle } from './canvas-overlay-tokens.js';
|
|
12
14
|
import { buildStateChips, chipFits, toggleTitle } from './state-chips.js';
|
|
13
15
|
import * as i0 from "@angular/core";
|
|
14
16
|
const _forTrack0 = ($index, $item) => $item.value;
|
|
15
17
|
const _forTrack1 = ($index, $item) => $item.index;
|
|
16
|
-
function
|
|
17
|
-
i0.ɵɵ
|
|
18
|
+
function PrismCanvasToolbarComponent_For_21_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
20
|
+
i0.ɵɵelementStart(0, "button", 20);
|
|
21
|
+
i0.ɵɵlistener("click", function PrismCanvasToolbarComponent_For_21_Template_button_click_0_listener() { const bg_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setBg(bg_r2)); });
|
|
18
22
|
i0.ɵɵtext(1);
|
|
19
23
|
i0.ɵɵelementEnd();
|
|
20
24
|
} if (rf & 2) {
|
|
21
|
-
const
|
|
25
|
+
const bg_r2 = ctx.$implicit;
|
|
26
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
27
|
+
i0.ɵɵclassProp("is-on", ctx_r2.variantBg.effective() === bg_r2)("is-rec", ctx_r2.variantBg.recommended() === bg_r2);
|
|
28
|
+
i0.ɵɵattribute("title", ctx_r2.bgTitle(bg_r2));
|
|
22
29
|
i0.ɵɵadvance();
|
|
23
|
-
i0.ɵɵtextInterpolate1("",
|
|
30
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.capitalize(bg_r2), " ");
|
|
24
31
|
} }
|
|
25
|
-
function
|
|
26
|
-
const _r2 = i0.ɵɵgetCurrentView();
|
|
27
|
-
i0.ɵɵelementStart(0, "button", 21);
|
|
28
|
-
i0.ɵɵlistener("click", function PrismCanvasToolbarComponent_For_22_Template_button_click_0_listener() { const bg_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.setBg(bg_r3)); });
|
|
29
|
-
i0.ɵɵtext(1);
|
|
30
|
-
i0.ɵɵelementEnd();
|
|
31
|
-
} if (rf & 2) {
|
|
32
|
-
const bg_r3 = ctx.$implicit;
|
|
33
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
34
|
-
i0.ɵɵclassProp("is-on", ctx_r0.variantBg.effective() === bg_r3)("is-rec", ctx_r0.variantBg.recommended() === bg_r3);
|
|
35
|
-
i0.ɵɵattribute("title", ctx_r0.bgTitle(bg_r3));
|
|
36
|
-
i0.ɵɵadvance();
|
|
37
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r0.capitalize(bg_r3), " ");
|
|
38
|
-
} }
|
|
39
|
-
function PrismCanvasToolbarComponent_Conditional_25_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
+
function PrismCanvasToolbarComponent_Conditional_24_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
40
33
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
41
|
-
i0.ɵɵelementStart(0, "button",
|
|
42
|
-
i0.ɵɵlistener("click", function
|
|
34
|
+
i0.ɵɵelementStart(0, "button", 22);
|
|
35
|
+
i0.ɵɵlistener("click", function PrismCanvasToolbarComponent_Conditional_24_For_2_Template_button_click_0_listener() { const chip_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.pickState(chip_r5)); });
|
|
43
36
|
i0.ɵɵtext(1);
|
|
44
37
|
i0.ɵɵelementEnd();
|
|
45
38
|
} if (rf & 2) {
|
|
@@ -49,52 +42,52 @@ function PrismCanvasToolbarComponent_Conditional_25_For_2_Template(rf, ctx) { if
|
|
|
49
42
|
i0.ɵɵadvance();
|
|
50
43
|
i0.ɵɵtextInterpolate1(" ", chip_r5.name, " ");
|
|
51
44
|
} }
|
|
52
|
-
function
|
|
53
|
-
i0.ɵɵelementStart(0, "div",
|
|
54
|
-
i0.ɵɵrepeaterCreate(1,
|
|
45
|
+
function PrismCanvasToolbarComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
47
|
+
i0.ɵɵrepeaterCreate(1, PrismCanvasToolbarComponent_Conditional_24_For_2_Template, 2, 7, "button", 21, _forTrack1);
|
|
55
48
|
i0.ɵɵelementEnd();
|
|
56
49
|
} if (rf & 2) {
|
|
57
|
-
const
|
|
50
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
58
51
|
i0.ɵɵadvance();
|
|
59
|
-
i0.ɵɵrepeater(
|
|
52
|
+
i0.ɵɵrepeater(ctx_r2.chips());
|
|
60
53
|
} }
|
|
61
|
-
function
|
|
54
|
+
function PrismCanvasToolbarComponent_For_27_Template(rf, ctx) { if (rf & 1) {
|
|
62
55
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
63
|
-
i0.ɵɵelementStart(0, "button",
|
|
64
|
-
i0.ɵɵlistener("click", function
|
|
56
|
+
i0.ɵɵelementStart(0, "button", 20);
|
|
57
|
+
i0.ɵɵlistener("click", function PrismCanvasToolbarComponent_For_27_Template_button_click_0_listener() { const state_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.pseudoState.toggle(state_r7)); });
|
|
65
58
|
i0.ɵɵtext(1);
|
|
66
59
|
i0.ɵɵelementEnd();
|
|
67
60
|
} if (rf & 2) {
|
|
68
61
|
const state_r7 = ctx.$implicit;
|
|
69
|
-
const
|
|
70
|
-
i0.ɵɵclassProp("is-on",
|
|
71
|
-
i0.ɵɵattribute("aria-pressed",
|
|
62
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
63
|
+
i0.ɵɵclassProp("is-on", ctx_r2.pseudoState.isForced(state_r7))("is-rec", ctx_r2.pseudoState.isDeclared(state_r7));
|
|
64
|
+
i0.ɵɵattribute("aria-pressed", ctx_r2.pseudoState.isForced(state_r7))("title", ctx_r2.stateTitle(state_r7));
|
|
72
65
|
i0.ɵɵadvance();
|
|
73
66
|
i0.ɵɵtextInterpolate1(" :", state_r7, " ");
|
|
74
67
|
} }
|
|
75
|
-
function
|
|
68
|
+
function PrismCanvasToolbarComponent_For_32_Template(rf, ctx) { if (rf & 1) {
|
|
76
69
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
77
|
-
i0.ɵɵelementStart(0, "button",
|
|
78
|
-
i0.ɵɵlistener("click", function
|
|
70
|
+
i0.ɵɵelementStart(0, "button", 20);
|
|
71
|
+
i0.ɵɵlistener("click", function PrismCanvasToolbarComponent_For_32_Template_button_click_0_listener() { const z_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.canvas.setZoom(z_r9.value)); });
|
|
79
72
|
i0.ɵɵtext(1);
|
|
80
73
|
i0.ɵɵelementEnd();
|
|
81
74
|
} if (rf & 2) {
|
|
82
75
|
const z_r9 = ctx.$implicit;
|
|
83
|
-
const
|
|
84
|
-
i0.ɵɵclassProp("is-on",
|
|
76
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
77
|
+
i0.ɵɵclassProp("is-on", ctx_r2.canvas.zoom() === z_r9.value);
|
|
85
78
|
i0.ɵɵadvance();
|
|
86
79
|
i0.ɵɵtextInterpolate1(" ", z_r9.label, " ");
|
|
87
80
|
} }
|
|
88
|
-
function
|
|
81
|
+
function PrismCanvasToolbarComponent_For_39_Template(rf, ctx) { if (rf & 1) {
|
|
89
82
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
90
|
-
i0.ɵɵelementStart(0, "button",
|
|
91
|
-
i0.ɵɵlistener("click", function
|
|
83
|
+
i0.ɵɵelementStart(0, "button", 20);
|
|
84
|
+
i0.ɵɵlistener("click", function PrismCanvasToolbarComponent_For_39_Template_button_click_0_listener() { const w_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.canvas.setViewportWidth(w_r11)); });
|
|
92
85
|
i0.ɵɵtext(1);
|
|
93
86
|
i0.ɵɵelementEnd();
|
|
94
87
|
} if (rf & 2) {
|
|
95
88
|
const w_r11 = ctx.$implicit;
|
|
96
|
-
const
|
|
97
|
-
i0.ɵɵclassProp("is-on",
|
|
89
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
90
|
+
i0.ɵɵclassProp("is-on", ctx_r2.canvas.viewportWidth() === w_r11);
|
|
98
91
|
i0.ɵɵadvance();
|
|
99
92
|
i0.ɵɵtextInterpolate1(" ", w_r11, " ");
|
|
100
93
|
} }
|
|
@@ -104,8 +97,7 @@ function PrismCanvasToolbarComponent_For_40_Template(rf, ctx) { if (rf & 1) {
|
|
|
104
97
|
* Things you toggle constantly (guides, rulers, the viewport constraint) get
|
|
105
98
|
* their own button; things you set once (background, forced state, zoom,
|
|
106
99
|
* viewport width) live in the menu. The template is a view rather than a setting and keeps its own
|
|
107
|
-
* button. Zoom
|
|
108
|
-
* only appears while the viewport constraint is on.
|
|
100
|
+
* button. Zoom is shown as a readout, with the viewport width in its tooltip.
|
|
109
101
|
*
|
|
110
102
|
* The host generates no box. The rail must be a direct child of
|
|
111
103
|
* `.prism-canvas-wrap` outside the stage, because that is what capture mode's
|
|
@@ -171,6 +163,11 @@ export class PrismCanvasToolbarComponent {
|
|
|
171
163
|
}
|
|
172
164
|
/** Angular templates resolve names against the component, not the global scope. */
|
|
173
165
|
Math = Math;
|
|
166
|
+
zoomTitle = computed(() => zoomTitle(this.canvas.zoom(), this.canvas.viewportWidth()), /* @ts-ignore */
|
|
167
|
+
...(ngDevMode ? [{ debugName: "zoomTitle" }] : /* istanbul ignore next */ []));
|
|
168
|
+
railTitle(label, on) {
|
|
169
|
+
return railToggleTitle(label, on);
|
|
170
|
+
}
|
|
174
171
|
setBg(bg) {
|
|
175
172
|
if (this.variantBg.recommended() !== null) {
|
|
176
173
|
this.variantBg.setOverride(bg);
|
|
@@ -228,86 +225,81 @@ export class PrismCanvasToolbarComponent {
|
|
|
228
225
|
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
229
226
|
}
|
|
230
227
|
static ɵfac = function PrismCanvasToolbarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismCanvasToolbarComponent)(); };
|
|
231
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismCanvasToolbarComponent, selectors: [["prism-canvas-toolbar"]], decls:
|
|
228
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismCanvasToolbarComponent, selectors: [["prism-canvas-toolbar"]], decls: 40, vars: 21, consts: [[1, "prism-toolrail"], [1, "prism-toolrail__zoom"], ["prismIconButton", "", "size", "xs", "aria-label", "Guides", 3, "click", "pressed", "title"], ["name", "crosshair", 3, "size"], ["prismIconButton", "", "size", "xs", "aria-label", "Rulers", 3, "click", "pressed", "title"], ["name", "move", 3, "size"], ["prismIconButton", "", "size", "xs", "aria-label", "Viewport width", 3, "click", "pressed", "title"], ["name", "ruler-dimension", 3, "size"], ["prismIconButton", "", "size", "xs", "aria-label", "Measure", 3, "click", "pressed", "title"], ["name", "ruler", 3, "size"], ["prismIconButton", "", "size", "xs", "popovertarget", "prism-tools", "title", "Canvas, state, zoom and width", "aria-label", "Canvas, state, zoom and width"], ["name", "sliders-horizontal", 3, "size"], [1, "prism-toolrail__sep"], ["prismIconButton", "", "size", "xs", "popovertarget", "prism-template", "title", "Angular template", "aria-label", "Angular template"], ["name", "code", 3, "size"], ["popover", "", "id", "prism-tools", "role", "dialog", "aria-label", "Canvas, state, zoom and width", 1, "prism-toolmenu"], [1, "prism-toolmenu__lbl"], [1, "prism-toolmenu__row"], ["type", "button", 3, "is-on", "is-rec"], ["type", "button", 3, "is-on"], ["type", "button", 3, "click"], ["type", "button", 1, "is-rec", 3, "is-on", "is-na"], ["type", "button", 1, "is-rec", 3, "click"]], template: function PrismCanvasToolbarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
232
229
|
i0.ɵɵelementStart(0, "div", 0)(1, "span", 1);
|
|
233
230
|
i0.ɵɵtext(2);
|
|
234
|
-
i0.ɵɵconditionalCreate(3, PrismCanvasToolbarComponent_Conditional_3_Template, 2, 1, "span", 2);
|
|
235
231
|
i0.ɵɵelementEnd();
|
|
236
|
-
i0.ɵɵelementStart(
|
|
237
|
-
i0.ɵɵlistener("click", function
|
|
238
|
-
i0.ɵɵelement(
|
|
232
|
+
i0.ɵɵelementStart(3, "button", 2);
|
|
233
|
+
i0.ɵɵlistener("click", function PrismCanvasToolbarComponent_Template_button_click_3_listener() { return ctx.canvas.toggleGuides(); });
|
|
234
|
+
i0.ɵɵelement(4, "prism-icon", 3);
|
|
239
235
|
i0.ɵɵelementEnd();
|
|
240
|
-
i0.ɵɵelementStart(
|
|
241
|
-
i0.ɵɵlistener("click", function
|
|
242
|
-
i0.ɵɵelement(
|
|
236
|
+
i0.ɵɵelementStart(5, "button", 4);
|
|
237
|
+
i0.ɵɵlistener("click", function PrismCanvasToolbarComponent_Template_button_click_5_listener() { return ctx.canvas.toggleRulers(); });
|
|
238
|
+
i0.ɵɵelement(6, "prism-icon", 5);
|
|
243
239
|
i0.ɵɵelementEnd();
|
|
244
|
-
i0.ɵɵelementStart(
|
|
245
|
-
i0.ɵɵlistener("click", function
|
|
246
|
-
i0.ɵɵelement(
|
|
240
|
+
i0.ɵɵelementStart(7, "button", 6);
|
|
241
|
+
i0.ɵɵlistener("click", function PrismCanvasToolbarComponent_Template_button_click_7_listener() { return ctx.canvas.toggleViewport(); });
|
|
242
|
+
i0.ɵɵelement(8, "prism-icon", 7);
|
|
247
243
|
i0.ɵɵelementEnd();
|
|
248
|
-
i0.ɵɵelementStart(
|
|
249
|
-
i0.ɵɵlistener("click", function
|
|
250
|
-
i0.ɵɵelement(
|
|
244
|
+
i0.ɵɵelementStart(9, "button", 8);
|
|
245
|
+
i0.ɵɵlistener("click", function PrismCanvasToolbarComponent_Template_button_click_9_listener() { return ctx.canvas.toggleMeasure(); });
|
|
246
|
+
i0.ɵɵelement(10, "prism-icon", 9);
|
|
251
247
|
i0.ɵɵelementEnd();
|
|
252
|
-
i0.ɵɵelementStart(
|
|
253
|
-
i0.ɵɵelement(
|
|
248
|
+
i0.ɵɵelementStart(11, "button", 10);
|
|
249
|
+
i0.ɵɵelement(12, "prism-icon", 11);
|
|
254
250
|
i0.ɵɵelementEnd();
|
|
255
|
-
i0.ɵɵelement(
|
|
256
|
-
i0.ɵɵelementStart(
|
|
257
|
-
i0.ɵɵelement(
|
|
251
|
+
i0.ɵɵelement(13, "span", 12);
|
|
252
|
+
i0.ɵɵelementStart(14, "button", 13);
|
|
253
|
+
i0.ɵɵelement(15, "prism-icon", 14);
|
|
258
254
|
i0.ɵɵelementEnd()();
|
|
259
|
-
i0.ɵɵelementStart(
|
|
260
|
-
i0.ɵɵtext(
|
|
255
|
+
i0.ɵɵelementStart(16, "div", 15)(17, "span", 16);
|
|
256
|
+
i0.ɵɵtext(18, "Canvas");
|
|
261
257
|
i0.ɵɵelementEnd();
|
|
262
|
-
i0.ɵɵelementStart(
|
|
263
|
-
i0.ɵɵrepeaterCreate(
|
|
258
|
+
i0.ɵɵelementStart(19, "div", 17);
|
|
259
|
+
i0.ɵɵrepeaterCreate(20, PrismCanvasToolbarComponent_For_21_Template, 2, 6, "button", 18, i0.ɵɵrepeaterTrackByIdentity);
|
|
264
260
|
i0.ɵɵelementEnd();
|
|
265
|
-
i0.ɵɵelementStart(
|
|
266
|
-
i0.ɵɵtext(
|
|
261
|
+
i0.ɵɵelementStart(22, "span", 16);
|
|
262
|
+
i0.ɵɵtext(23, "State");
|
|
267
263
|
i0.ɵɵelementEnd();
|
|
268
|
-
i0.ɵɵconditionalCreate(
|
|
269
|
-
i0.ɵɵelementStart(
|
|
270
|
-
i0.ɵɵrepeaterCreate(
|
|
264
|
+
i0.ɵɵconditionalCreate(24, PrismCanvasToolbarComponent_Conditional_24_Template, 3, 0, "div", 17);
|
|
265
|
+
i0.ɵɵelementStart(25, "div", 17);
|
|
266
|
+
i0.ɵɵrepeaterCreate(26, PrismCanvasToolbarComponent_For_27_Template, 2, 7, "button", 18, i0.ɵɵrepeaterTrackByIdentity);
|
|
271
267
|
i0.ɵɵelementEnd();
|
|
272
|
-
i0.ɵɵelementStart(
|
|
273
|
-
i0.ɵɵtext(
|
|
268
|
+
i0.ɵɵelementStart(28, "span", 16);
|
|
269
|
+
i0.ɵɵtext(29, "Zoom");
|
|
274
270
|
i0.ɵɵelementEnd();
|
|
275
|
-
i0.ɵɵelementStart(
|
|
276
|
-
i0.ɵɵrepeaterCreate(
|
|
271
|
+
i0.ɵɵelementStart(30, "div", 17);
|
|
272
|
+
i0.ɵɵrepeaterCreate(31, PrismCanvasToolbarComponent_For_32_Template, 2, 3, "button", 19, _forTrack0);
|
|
277
273
|
i0.ɵɵelementEnd();
|
|
278
|
-
i0.ɵɵelementStart(
|
|
279
|
-
i0.ɵɵtext(
|
|
274
|
+
i0.ɵɵelementStart(33, "span", 16);
|
|
275
|
+
i0.ɵɵtext(34, "Width");
|
|
280
276
|
i0.ɵɵelementEnd();
|
|
281
|
-
i0.ɵɵelementStart(
|
|
282
|
-
i0.ɵɵlistener("click", function
|
|
283
|
-
i0.ɵɵtext(
|
|
277
|
+
i0.ɵɵelementStart(35, "div", 17)(36, "button", 20);
|
|
278
|
+
i0.ɵɵlistener("click", function PrismCanvasToolbarComponent_Template_button_click_36_listener() { return ctx.canvas.setViewportWidth(null); });
|
|
279
|
+
i0.ɵɵtext(37, " Auto ");
|
|
284
280
|
i0.ɵɵelementEnd();
|
|
285
|
-
i0.ɵɵrepeaterCreate(
|
|
281
|
+
i0.ɵɵrepeaterCreate(38, PrismCanvasToolbarComponent_For_39_Template, 2, 3, "button", 19, i0.ɵɵrepeaterTrackByIdentity);
|
|
286
282
|
i0.ɵɵelementEnd()();
|
|
287
283
|
} if (rf & 2) {
|
|
288
284
|
i0.ɵɵclassProp("has-rulers", ctx.canvas.rulers());
|
|
289
|
-
i0.ɵɵadvance(2);
|
|
290
|
-
i0.ɵɵtextInterpolate1(" ", ctx.Math.round(ctx.canvas.zoom() * 100), "% ");
|
|
291
285
|
i0.ɵɵadvance();
|
|
292
|
-
i0.ɵɵ
|
|
286
|
+
i0.ɵɵattribute("title", ctx.zoomTitle());
|
|
287
|
+
i0.ɵɵadvance();
|
|
288
|
+
i0.ɵɵtextInterpolate1("", ctx.Math.round(ctx.canvas.zoom() * 100), "%");
|
|
293
289
|
i0.ɵɵadvance();
|
|
294
|
-
i0.ɵɵ
|
|
295
|
-
i0.ɵɵattribute("aria-pressed", ctx.canvas.guides());
|
|
290
|
+
i0.ɵɵproperty("pressed", ctx.canvas.guides())("title", ctx.railTitle("Guides", ctx.canvas.guides()));
|
|
296
291
|
i0.ɵɵadvance();
|
|
297
292
|
i0.ɵɵproperty("size", 14);
|
|
298
293
|
i0.ɵɵadvance();
|
|
299
|
-
i0.ɵɵ
|
|
300
|
-
i0.ɵɵattribute("aria-pressed", ctx.canvas.rulers());
|
|
294
|
+
i0.ɵɵproperty("pressed", ctx.canvas.rulers())("title", ctx.railTitle("Rulers", ctx.canvas.rulers()));
|
|
301
295
|
i0.ɵɵadvance();
|
|
302
296
|
i0.ɵɵproperty("size", 14);
|
|
303
297
|
i0.ɵɵadvance();
|
|
304
|
-
i0.ɵɵ
|
|
305
|
-
i0.ɵɵattribute("aria-pressed", ctx.canvas.viewportWidth() !== null);
|
|
298
|
+
i0.ɵɵproperty("pressed", ctx.canvas.viewportWidth() !== null)("title", ctx.railTitle("Viewport width", ctx.canvas.viewportWidth() !== null));
|
|
306
299
|
i0.ɵɵadvance();
|
|
307
300
|
i0.ɵɵproperty("size", 14);
|
|
308
301
|
i0.ɵɵadvance();
|
|
309
|
-
i0.ɵɵ
|
|
310
|
-
i0.ɵɵattribute("aria-pressed", ctx.canvas.measure());
|
|
302
|
+
i0.ɵɵproperty("pressed", ctx.canvas.measure())("title", ctx.railTitle("Measure", ctx.canvas.measure()));
|
|
311
303
|
i0.ɵɵadvance();
|
|
312
304
|
i0.ɵɵproperty("size", 14);
|
|
313
305
|
i0.ɵɵadvance(2);
|
|
@@ -317,7 +309,7 @@ export class PrismCanvasToolbarComponent {
|
|
|
317
309
|
i0.ɵɵadvance(5);
|
|
318
310
|
i0.ɵɵrepeater(ctx.bgs);
|
|
319
311
|
i0.ɵɵadvance(4);
|
|
320
|
-
i0.ɵɵconditional(ctx.chips().length > 0 ?
|
|
312
|
+
i0.ɵɵconditional(ctx.chips().length > 0 ? 24 : -1);
|
|
321
313
|
i0.ɵɵadvance(2);
|
|
322
314
|
i0.ɵɵrepeater(ctx.states);
|
|
323
315
|
i0.ɵɵadvance(5);
|
|
@@ -326,10 +318,10 @@ export class PrismCanvasToolbarComponent {
|
|
|
326
318
|
i0.ɵɵclassProp("is-on", ctx.canvas.viewportWidth() === null);
|
|
327
319
|
i0.ɵɵadvance(2);
|
|
328
320
|
i0.ɵɵrepeater(ctx.viewports);
|
|
329
|
-
} }, dependencies: [PrismIconComponent], styles: ["[_nghost-%COMP%] {\n display: contents;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n.prism-toolrail[_ngcontent-%COMP%] {\n position: absolute;\n top: var(--%NS%prism-canvas-overlay-top, 12px);\n right: var(--%NS%prism-canvas-overlay-inline, 20px);\n z-index: 5;\n display: flex;\n flex-direction: column;\n gap: var(--%NS%sp-1);\n align-items: center;\n padding: var(--%NS%sp-2);\n anchor-name: --prism-toolrail;\n background: var(--%NS%prism-bg
|
|
321
|
+
} }, dependencies: [PrismIconComponent, PrismIconButtonComponent], styles: ["[_nghost-%COMP%] {\n display: contents;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n.prism-toolrail[_ngcontent-%COMP%] {\n \n --%NS%prism-icon-button-fg: var(--%NS%prism-canvas-overlay-muted);\n --%NS%prism-icon-button-fg-hover: var(--%NS%prism-canvas-overlay-fg);\n --%NS%prism-icon-button-bg-hover: color-mix(in srgb, var(--%NS%prism-canvas-overlay-fg) 8%, transparent);\n --%NS%prism-icon-button-active-fg: var(--%NS%prism-canvas-overlay-primary);\n --%NS%prism-icon-button-active-bg: var(--%NS%prism-canvas-overlay-active);\n --%NS%prism-icon-button-focus: var(--%NS%prism-canvas-overlay-primary);\n\n position: absolute;\n top: var(--%NS%prism-canvas-overlay-top, 12px);\n right: var(--%NS%prism-canvas-overlay-inline, 20px);\n z-index: 5;\n display: flex;\n flex-direction: column;\n gap: var(--%NS%sp-1);\n align-items: center;\n padding: var(--%NS%sp-2);\n anchor-name: --prism-toolrail;\n background: var(--%NS%prism-canvas-overlay-bg);\n border: 1px solid var(--%NS%prism-canvas-overlay-border);\n border-radius: var(--%NS%radius-md);\n box-shadow: var(--%NS%prism-shadow-md);\n}\n\n.prism-toolrail.has-rulers[_ngcontent-%COMP%] {\n --%NS%prism-canvas-overlay-top: 28px;\n --%NS%prism-canvas-overlay-inline: 28px;\n}\n\n.prism-toolrail__zoom[_ngcontent-%COMP%] {\n width: 100%;\n padding-bottom: var(--%NS%sp-1);\n font-family: var(--%NS%font-mono);\n font-size: 11px;\n color: var(--%NS%prism-canvas-overlay-muted);\n text-align: center;\n cursor: default;\n border-bottom: 1px solid var(--%NS%prism-canvas-overlay-border);\n}\n\n\n.prism-toolrail[_ngcontent-%COMP%] .prism-icon-button--pressed[_ngcontent-%COMP%] {\n box-shadow: inset 0 -1.5px 0 0 var(--%NS%prism-canvas-overlay-primary);\n}\n\n.prism-toolrail__sep[_ngcontent-%COMP%] {\n width: 14px;\n height: 1px;\n margin: var(--%NS%sp-1) 0;\n background: var(--%NS%prism-canvas-overlay-border);\n}\n\n.prism-toolmenu[_ngcontent-%COMP%] {\n inset: auto;\n gap: var(--%NS%sp-2);\n padding: var(--%NS%sp-3);\n margin: 0;\n margin-inline-end: var(--%NS%sp-2);\n position-area: inline-start;\n position-anchor: --prism-toolrail;\n position-try-fallbacks: flip-inline;\n background: var(--%NS%prism-bg-elevated);\n border: 1px solid var(--%NS%prism-border);\n border-radius: var(--%NS%radius-md);\n box-shadow: var(--%NS%prism-shadow-md);\n}\n\n\n\n\n\n.prism-toolmenu[_ngcontent-%COMP%]:popover-open {\n display: flex;\n flex-direction: column;\n}\n\n.prism-toolmenu__lbl[_ngcontent-%COMP%] {\n font-size: var(--%NS%fs-xs);\n color: var(--%NS%prism-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n\n.prism-toolmenu__row[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: var(--%NS%sp-1);\n}\n\n.prism-toolmenu__row[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n padding: 2px var(--%NS%sp-3);\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text-2);\n white-space: nowrap;\n cursor: pointer;\n background: transparent;\n border: 1px solid var(--%NS%prism-border-strong);\n border-radius: var(--%NS%radius-xs);\n}\n\n.prism-toolmenu__row[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text);\n background: var(--%NS%prism-input-bg);\n}\n\n.prism-toolmenu__row[_ngcontent-%COMP%] button.is-on[_ngcontent-%COMP%] {\n color: var(--%NS%prism-primary);\n background: var(--%NS%prism-primary-bg);\n border-color: color-mix(in srgb, var(--%NS%prism-primary) 55%, transparent);\n}\n\n\n.prism-toolmenu__row[_ngcontent-%COMP%] button.is-rec[_ngcontent-%COMP%] {\n border-color: var(--%NS%prism-primary);\n}\n\n\n.prism-toolmenu__row[_ngcontent-%COMP%] button.is-na[_ngcontent-%COMP%] {\n border-style: dashed;\n}\n\n.prism-toolmenu__row[_ngcontent-%COMP%] button.is-na[_ngcontent-%COMP%]:not(.is-on) {\n color: var(--%NS%prism-text-muted);\n}"] });
|
|
330
322
|
}
|
|
331
323
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismCanvasToolbarComponent, [{
|
|
332
324
|
type: Component,
|
|
333
|
-
args: [{ selector: 'prism-canvas-toolbar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent], template: "<!-- Anchored in .prism-canvas-wrap, absolute, not fixed:\n a viewport-fixed rail would float over the sidebar and the panel, stay\n put while those are resized, and sit on top of running text in the API\n view where it has no business being. -->\n<div\n class=\"prism-toolrail\"\n [class.has-rulers]=\"canvas.rulers()\">\n <span class=\"prism-toolrail__zoom\">\n {{ Math.round(canvas.zoom() * 100) }}%\n @if (canvas.viewportWidth() !== null) {\n <span class=\"prism-toolrail__vp\">{{ canvas.viewportWidth() }}px</span>\n }\n </span>\n\n <button\n type=\"button\"\n class=\"prism-toolrail__btn\"\n [class.is-on]=\"canvas.guides()\"\n (click)=\"canvas.toggleGuides()\"\n title=\"Toggle guides\"\n aria-label=\"Toggle guides\"\n [attr.aria-pressed]=\"canvas.guides()\">\n <prism-icon\n name=\"crosshair\"\n [size]=\"14\" />\n </button>\n\n <button\n type=\"button\"\n class=\"prism-toolrail__btn\"\n [class.is-on]=\"canvas.rulers()\"\n (click)=\"canvas.toggleRulers()\"\n title=\"Toggle rulers\"\n aria-label=\"Toggle rulers\"\n [attr.aria-pressed]=\"canvas.rulers()\">\n <prism-icon\n name=\"move\"\n [size]=\"14\" />\n </button>\n\n <button\n type=\"button\"\n class=\"prism-toolrail__btn\"\n [class.is-on]=\"canvas.viewportWidth() !== null\"\n (click)=\"canvas.toggleViewport()\"\n title=\"Toggle viewport width\"\n aria-label=\"Toggle viewport width\"\n [attr.aria-pressed]=\"canvas.viewportWidth() !== null\">\n <prism-icon\n name=\"ruler-dimension\"\n [size]=\"14\" />\n </button>\n\n <button\n type=\"button\"\n class=\"prism-toolrail__btn\"\n [class.is-on]=\"canvas.measure()\"\n (click)=\"canvas.toggleMeasure()\"\n title=\"Toggle measure tool\"\n aria-label=\"Toggle measure tool\"\n [attr.aria-pressed]=\"canvas.measure()\">\n <prism-icon\n name=\"ruler\"\n [size]=\"14\" />\n </button>\n\n <button\n type=\"button\"\n class=\"prism-toolrail__btn\"\n popovertarget=\"prism-tools\"\n title=\"Canvas, state, zoom and width\"\n aria-label=\"Canvas, state, zoom and width\">\n <prism-icon\n name=\"sliders-horizontal\"\n [size]=\"14\" />\n </button>\n\n <span class=\"prism-toolrail__sep\"></span>\n\n <button\n type=\"button\"\n class=\"prism-toolrail__btn\"\n popovertarget=\"prism-template\"\n title=\"Toggle Angular template\"\n aria-label=\"Toggle Angular template\">\n <prism-icon\n name=\"code\"\n [size]=\"14\" />\n </button>\n</div>\n\n<!-- Only the choosers. The toggles stay outside: you flip guides,\n rulers and the viewport constraint constantly while working, and a\n toggle two clicks deep is the classic mistake. What you only ever\n set may live in a menu. The states are toggles too, but set once per\n variant and dropped with it, like the background. -->\n<div\n popover\n id=\"prism-tools\"\n class=\"prism-toolmenu\"\n role=\"dialog\"\n aria-label=\"Canvas, state, zoom and width\">\n <span class=\"prism-toolmenu__lbl\">Canvas</span>\n <div class=\"prism-toolmenu__row\">\n @for (bg of bgs; track bg) {\n <button\n type=\"button\"\n [class.is-on]=\"variantBg.effective() === bg\"\n [class.is-rec]=\"variantBg.recommended() === bg\"\n [attr.title]=\"bgTitle(bg)\"\n (click)=\"setBg(bg)\">\n {{ capitalize(bg) }}\n </button>\n }\n </div>\n\n <span class=\"prism-toolmenu__lbl\">State</span>\n @if (chips().length > 0) {\n <div class=\"prism-toolmenu__row\">\n @for (chip of chips(); track chip.index) {\n <button\n type=\"button\"\n class=\"is-rec\"\n [class.is-on]=\"chip.active\"\n [class.is-na]=\"!chip.fits\"\n [attr.aria-pressed]=\"chip.active\"\n [attr.title]=\"chip.title\"\n (click)=\"pickState(chip)\">\n {{ chip.name }}\n </button>\n }\n </div>\n }\n <div class=\"prism-toolmenu__row\">\n @for (state of states; track state) {\n <button\n type=\"button\"\n [class.is-on]=\"pseudoState.isForced(state)\"\n [class.is-rec]=\"pseudoState.isDeclared(state)\"\n [attr.aria-pressed]=\"pseudoState.isForced(state)\"\n [attr.title]=\"stateTitle(state)\"\n (click)=\"pseudoState.toggle(state)\">\n :{{ state }}\n </button>\n }\n </div>\n\n <span class=\"prism-toolmenu__lbl\">Zoom</span>\n <div class=\"prism-toolmenu__row\">\n @for (z of zooms; track z.value) {\n <button\n type=\"button\"\n [class.is-on]=\"canvas.zoom() === z.value\"\n (click)=\"canvas.setZoom(z.value)\">\n {{ z.label }}\n </button>\n }\n </div>\n\n <span class=\"prism-toolmenu__lbl\">Width</span>\n <div class=\"prism-toolmenu__row\">\n <button\n type=\"button\"\n [class.is-on]=\"canvas.viewportWidth() === null\"\n (click)=\"canvas.setViewportWidth(null)\">\n Auto\n </button>\n @for (w of viewports; track w) {\n <button\n type=\"button\"\n [class.is-on]=\"canvas.viewportWidth() === w\"\n (click)=\"canvas.setViewportWidth(w)\">\n {{ w }}\n </button>\n }\n </div>\n</div>\n", styles: [":host {\n display: contents;\n}\n\n/* Canvas overlays sit at --prism-canvas-overlay-*, which the stage grows\n when the rulers claim its top and left edges (see the\n .prism-canvas-stage[data-rulers] rule in prism-renderer.component.ts).\n prism-canvas-bg-pill simply inherits those; this rail cannot, because\n capture mode requires it to be a direct child of .prism-canvas-wrap\n outside the stage. So it mirrors the same values off canvas.rulers()\n instead, so keep the two in step.\n\n z-index outranks the rulers' 4 rather than matching it: the rail is a\n control and they are chrome, and the toolbar renders before the\n renderer in the shell, so an equal z-index let the rulers paint over\n the buttons. */\n.prism-toolrail {\n position: absolute;\n top: var(--prism-canvas-overlay-top, 12px);\n right: var(--prism-canvas-overlay-inline, 20px);\n z-index: 5;\n display: flex;\n flex-direction: column;\n gap: var(--sp-1);\n align-items: center;\n padding: var(--sp-2);\n anchor-name: --prism-toolrail;\n background: var(--prism-bg-elevated);\n border: 1px solid var(--prism-border-strong);\n border-radius: var(--radius-md);\n box-shadow: 0 4px 16px -6px rgb(0 0 0 / 40%);\n}\n\n.prism-toolrail.has-rulers {\n --prism-canvas-overlay-top: 28px;\n --prism-canvas-overlay-inline: 28px;\n}\n\n.prism-toolrail__zoom {\n width: 100%;\n padding-bottom: var(--sp-1);\n font-family: var(--font-mono);\n font-size: 9px;\n color: var(--prism-text-ghost);\n text-align: center;\n border-bottom: 1px solid var(--prism-border);\n}\n\n/* The one number on this rail that is not a percentage, so it takes the\n measurement colour the theme already reserves for rulers and guides\n rather than a second neutral that would read as a second zoom. */\n.prism-toolrail__vp {\n display: block;\n color: var(--prism-measure);\n}\n\n.prism-toolrail__btn {\n display: grid;\n place-items: center;\n width: 26px;\n height: 26px;\n padding: 0;\n color: var(--prism-text-muted);\n cursor: pointer;\n background: transparent;\n border: 0;\n border-radius: var(--radius-xs);\n}\n\n.prism-toolrail__btn:hover {\n color: var(--prism-text);\n}\n\n.prism-toolrail__btn:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 1px;\n}\n\n.prism-toolrail__btn.is-on {\n color: var(--prism-text);\n background: color-mix(in srgb, var(--prism-primary) 18%, transparent);\n}\n\n.prism-toolrail__sep {\n width: 14px;\n height: 1px;\n margin: var(--sp-1) 0;\n background: var(--prism-border);\n}\n\n.prism-toolmenu {\n inset: auto;\n gap: var(--sp-2);\n padding: var(--sp-3);\n margin: 0;\n margin-inline-end: var(--sp-2);\n position-area: inline-start;\n position-anchor: --prism-toolrail;\n position-try-fallbacks: flip-inline;\n background: var(--prism-bg-elevated);\n border: 1px solid var(--prism-border-strong);\n border-radius: var(--radius-md);\n box-shadow: 0 8px 28px -10px rgb(0 0 0 / 45%);\n}\n\n/* display belongs on :popover-open and nowhere else (see the note in\n prism-template-popover.component.ts). An author display on the base\n rule outranks the UA's [popover]:not(:popover-open) { display: none }\n and pins the menu open. */\n.prism-toolmenu:popover-open {\n display: flex;\n flex-direction: column;\n}\n\n.prism-toolmenu__lbl {\n font-size: var(--fs-xs);\n color: var(--prism-text-ghost);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n\n.prism-toolmenu__row {\n display: flex;\n flex-wrap: wrap;\n gap: var(--sp-1);\n}\n\n.prism-toolmenu__row button {\n padding: 2px var(--sp-3);\n font-size: var(--fs-md);\n color: var(--prism-text-2);\n white-space: nowrap;\n cursor: pointer;\n background: transparent;\n border: 1px solid var(--prism-border);\n border-radius: var(--radius-xs);\n}\n\n.prism-toolmenu__row button.is-on {\n color: var(--prism-text);\n background: color-mix(in srgb, var(--prism-primary) 16%, transparent);\n border-color: color-mix(in srgb, var(--prism-primary) 38%, transparent);\n}\n\n.prism-toolmenu__row button.is-rec {\n border-color: color-mix(in srgb, var(--prism-primary) 30%, transparent);\n}\n\n/* A state that does not fit the shown variant: still selectable, but nothing shows. The tooltip names why. */\n.prism-toolmenu__row button.is-na {\n border-style: dashed;\n}\n\n.prism-toolmenu__row button.is-na:not(.is-on) {\n color: var(--prism-text-ghost);\n}\n"] }]
|
|
325
|
+
args: [{ selector: 'prism-canvas-toolbar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent, PrismIconButtonComponent], template: "<!-- Anchored in .prism-canvas-wrap, absolute, not fixed:\n a viewport-fixed rail would float over the sidebar and the panel, stay\n put while those are resized, and sit on top of running text in the API\n view where it has no business being. -->\n<div\n class=\"prism-toolrail\"\n [class.has-rulers]=\"canvas.rulers()\">\n <span\n class=\"prism-toolrail__zoom\"\n [attr.title]=\"zoomTitle()\"\n >{{ Math.round(canvas.zoom() * 100) }}%</span\n >\n\n <button\n prismIconButton\n size=\"xs\"\n [pressed]=\"canvas.guides()\"\n (click)=\"canvas.toggleGuides()\"\n [title]=\"railTitle('Guides', canvas.guides())\"\n aria-label=\"Guides\">\n <prism-icon\n name=\"crosshair\"\n [size]=\"14\" />\n </button>\n\n <button\n prismIconButton\n size=\"xs\"\n [pressed]=\"canvas.rulers()\"\n (click)=\"canvas.toggleRulers()\"\n [title]=\"railTitle('Rulers', canvas.rulers())\"\n aria-label=\"Rulers\">\n <prism-icon\n name=\"move\"\n [size]=\"14\" />\n </button>\n\n <button\n prismIconButton\n size=\"xs\"\n [pressed]=\"canvas.viewportWidth() !== null\"\n (click)=\"canvas.toggleViewport()\"\n [title]=\"railTitle('Viewport width', canvas.viewportWidth() !== null)\"\n aria-label=\"Viewport width\">\n <prism-icon\n name=\"ruler-dimension\"\n [size]=\"14\" />\n </button>\n\n <button\n prismIconButton\n size=\"xs\"\n [pressed]=\"canvas.measure()\"\n (click)=\"canvas.toggleMeasure()\"\n [title]=\"railTitle('Measure', canvas.measure())\"\n aria-label=\"Measure\">\n <prism-icon\n name=\"ruler\"\n [size]=\"14\" />\n </button>\n\n <button\n prismIconButton\n size=\"xs\"\n popovertarget=\"prism-tools\"\n title=\"Canvas, state, zoom and width\"\n aria-label=\"Canvas, state, zoom and width\">\n <prism-icon\n name=\"sliders-horizontal\"\n [size]=\"14\" />\n </button>\n\n <span class=\"prism-toolrail__sep\"></span>\n\n <button\n prismIconButton\n size=\"xs\"\n popovertarget=\"prism-template\"\n title=\"Angular template\"\n aria-label=\"Angular template\">\n <prism-icon\n name=\"code\"\n [size]=\"14\" />\n </button>\n</div>\n\n<!-- Only the choosers. The toggles stay outside: you flip guides,\n rulers and the viewport constraint constantly while working, and a\n toggle two clicks deep is the classic mistake. What you only ever\n set may live in a menu. The states are toggles too, but set once per\n variant and dropped with it, like the background. -->\n<div\n popover\n id=\"prism-tools\"\n class=\"prism-toolmenu\"\n role=\"dialog\"\n aria-label=\"Canvas, state, zoom and width\">\n <span class=\"prism-toolmenu__lbl\">Canvas</span>\n <div class=\"prism-toolmenu__row\">\n @for (bg of bgs; track bg) {\n <button\n type=\"button\"\n [class.is-on]=\"variantBg.effective() === bg\"\n [class.is-rec]=\"variantBg.recommended() === bg\"\n [attr.title]=\"bgTitle(bg)\"\n (click)=\"setBg(bg)\">\n {{ capitalize(bg) }}\n </button>\n }\n </div>\n\n <span class=\"prism-toolmenu__lbl\">State</span>\n @if (chips().length > 0) {\n <div class=\"prism-toolmenu__row\">\n @for (chip of chips(); track chip.index) {\n <button\n type=\"button\"\n class=\"is-rec\"\n [class.is-on]=\"chip.active\"\n [class.is-na]=\"!chip.fits\"\n [attr.aria-pressed]=\"chip.active\"\n [attr.title]=\"chip.title\"\n (click)=\"pickState(chip)\">\n {{ chip.name }}\n </button>\n }\n </div>\n }\n <div class=\"prism-toolmenu__row\">\n @for (state of states; track state) {\n <button\n type=\"button\"\n [class.is-on]=\"pseudoState.isForced(state)\"\n [class.is-rec]=\"pseudoState.isDeclared(state)\"\n [attr.aria-pressed]=\"pseudoState.isForced(state)\"\n [attr.title]=\"stateTitle(state)\"\n (click)=\"pseudoState.toggle(state)\">\n :{{ state }}\n </button>\n }\n </div>\n\n <span class=\"prism-toolmenu__lbl\">Zoom</span>\n <div class=\"prism-toolmenu__row\">\n @for (z of zooms; track z.value) {\n <button\n type=\"button\"\n [class.is-on]=\"canvas.zoom() === z.value\"\n (click)=\"canvas.setZoom(z.value)\">\n {{ z.label }}\n </button>\n }\n </div>\n\n <span class=\"prism-toolmenu__lbl\">Width</span>\n <div class=\"prism-toolmenu__row\">\n <button\n type=\"button\"\n [class.is-on]=\"canvas.viewportWidth() === null\"\n (click)=\"canvas.setViewportWidth(null)\">\n Auto\n </button>\n @for (w of viewports; track w) {\n <button\n type=\"button\"\n [class.is-on]=\"canvas.viewportWidth() === w\"\n (click)=\"canvas.setViewportWidth(w)\">\n {{ w }}\n </button>\n }\n </div>\n</div>\n", styles: [":host {\n display: contents;\n}\n\n/* Canvas overlays sit at --prism-canvas-overlay-*, which the stage grows\n when the rulers claim its top and left edges (see the\n .prism-canvas-stage[data-rulers] rule in prism-renderer.component.ts).\n prism-canvas-bg-pill simply inherits those; this rail cannot, because\n capture mode requires it to be a direct child of .prism-canvas-wrap\n outside the stage. So it mirrors the same values off canvas.rulers()\n instead, so keep the two in step.\n\n z-index outranks the rulers' 4 rather than matching it: the rail is a\n control and they are chrome, and the toolbar renders before the\n renderer in the shell, so an equal z-index let the rulers paint over\n the buttons. */\n.prism-toolrail {\n /* The rail's buttons take the overlay colours of the canvas ground. */\n --prism-icon-button-fg: var(--prism-canvas-overlay-muted);\n --prism-icon-button-fg-hover: var(--prism-canvas-overlay-fg);\n --prism-icon-button-bg-hover: color-mix(in srgb, var(--prism-canvas-overlay-fg) 8%, transparent);\n --prism-icon-button-active-fg: var(--prism-canvas-overlay-primary);\n --prism-icon-button-active-bg: var(--prism-canvas-overlay-active);\n --prism-icon-button-focus: var(--prism-canvas-overlay-primary);\n\n position: absolute;\n top: var(--prism-canvas-overlay-top, 12px);\n right: var(--prism-canvas-overlay-inline, 20px);\n z-index: 5;\n display: flex;\n flex-direction: column;\n gap: var(--sp-1);\n align-items: center;\n padding: var(--sp-2);\n anchor-name: --prism-toolrail;\n background: var(--prism-canvas-overlay-bg);\n border: 1px solid var(--prism-canvas-overlay-border);\n border-radius: var(--radius-md);\n box-shadow: var(--prism-shadow-md);\n}\n\n.prism-toolrail.has-rulers {\n --prism-canvas-overlay-top: 28px;\n --prism-canvas-overlay-inline: 28px;\n}\n\n.prism-toolrail__zoom {\n width: 100%;\n padding-bottom: var(--sp-1);\n font-family: var(--font-mono);\n font-size: 11px;\n color: var(--prism-canvas-overlay-muted);\n text-align: center;\n cursor: default;\n border-bottom: 1px solid var(--prism-canvas-overlay-border);\n}\n\n/* A pressed tool also gets an edge, so \"on\" never rests on the tint alone. */\n.prism-toolrail .prism-icon-button--pressed {\n box-shadow: inset 0 -1.5px 0 0 var(--prism-canvas-overlay-primary);\n}\n\n.prism-toolrail__sep {\n width: 14px;\n height: 1px;\n margin: var(--sp-1) 0;\n background: var(--prism-canvas-overlay-border);\n}\n\n.prism-toolmenu {\n inset: auto;\n gap: var(--sp-2);\n padding: var(--sp-3);\n margin: 0;\n margin-inline-end: var(--sp-2);\n position-area: inline-start;\n position-anchor: --prism-toolrail;\n position-try-fallbacks: flip-inline;\n background: var(--prism-bg-elevated);\n border: 1px solid var(--prism-border);\n border-radius: var(--radius-md);\n box-shadow: var(--prism-shadow-md);\n}\n\n/* display belongs on :popover-open and nowhere else (see the note in\n prism-template-popover.component.ts). An author display on the base\n rule outranks the UA's [popover]:not(:popover-open) { display: none }\n and pins the menu open. */\n.prism-toolmenu:popover-open {\n display: flex;\n flex-direction: column;\n}\n\n.prism-toolmenu__lbl {\n font-size: var(--fs-xs);\n color: var(--prism-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n\n.prism-toolmenu__row {\n display: flex;\n flex-wrap: wrap;\n gap: var(--sp-1);\n}\n\n.prism-toolmenu__row button {\n padding: 2px var(--sp-3);\n font-size: var(--fs-md);\n color: var(--prism-text-2);\n white-space: nowrap;\n cursor: pointer;\n background: transparent;\n border: 1px solid var(--prism-border-strong);\n border-radius: var(--radius-xs);\n}\n\n.prism-toolmenu__row button:hover {\n color: var(--prism-text);\n background: var(--prism-input-bg);\n}\n\n.prism-toolmenu__row button.is-on {\n color: var(--prism-primary);\n background: var(--prism-primary-bg);\n border-color: color-mix(in srgb, var(--prism-primary) 55%, transparent);\n}\n\n/* The variant's own recommendation: a primary contour, so it reads without the tooltip. */\n.prism-toolmenu__row button.is-rec {\n border-color: var(--prism-primary);\n}\n\n/* A state that does not fit the shown variant: still selectable, but nothing shows. The tooltip names why. */\n.prism-toolmenu__row button.is-na {\n border-style: dashed;\n}\n\n.prism-toolmenu__row button.is-na:not(.is-on) {\n color: var(--prism-text-muted);\n}\n"] }]
|
|
334
326
|
}], () => [], null); })();
|
|
335
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismCanvasToolbarComponent, { className: "PrismCanvasToolbarComponent", filePath: "app/canvas/prism-canvas-toolbar.component.ts", lineNumber:
|
|
327
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismCanvasToolbarComponent, { className: "PrismCanvasToolbarComponent", filePath: "app/canvas/prism-canvas-toolbar.component.ts", lineNumber: 39 }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-template-popover.component.d.ts","sourceRoot":"","sources":["../../../src/app/canvas/prism-template-popover.component.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"prism-template-popover.component.d.ts","sourceRoot":"","sources":["../../../src/app/canvas/prism-template-popover.component.ts"],"names":[],"mappings":";AAqCA,qBAQa,6BAA6B;IACtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE,SAAS,CAAC,QAAQ,CAAC,MAAM,kDAAiB;IAC1C,OAAO,CAAC,gBAAgB,CAA8C;IAEtE,SAAS,CAAC,QAAQ,CAAC,OAAO,yCAiBvB;IAEH,SAAS,CAAC,QAAQ,CAAC,WAAW,yCAK3B;IAEH,SAAS,CAAC,IAAI,IAAI,IAAI;yCAjCb,6BAA6B;2CAA7B,6BAA6B;CA0CzC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core';
|
|
2
2
|
import { PrismIconComponent } from '../icons/prism-icon.component.js';
|
|
3
|
-
import {
|
|
3
|
+
import { activeCase } from '../renderer/composition.js';
|
|
4
|
+
import { unboundInputs } from '../renderer/input-bindings.js';
|
|
5
|
+
import { generateCompositionSnippet, generateSnippet, subjectAttributes } from '../renderer/snippet-generator.js';
|
|
4
6
|
import { PrismNavigationService } from '../services/prism-navigation.service.js';
|
|
5
7
|
import { PrismRendererService } from '../services/prism-renderer.service.js';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
@@ -8,7 +10,7 @@ function esc(s) {
|
|
|
8
10
|
return s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
|
9
11
|
}
|
|
10
12
|
function tokenizeXml(code) {
|
|
11
|
-
const re = /(\/\/[^\n]*)|(<\/?[\w-]+)|(\[[\w.]+\]|[\w-]+)=|"([^"]*)"|(\/>|>)|(\n)|([^<["\n/>=]+|[
|
|
13
|
+
const re = /(\/\/[^\n]*)|(<\/?[\w-]+)|(\[[\w.]+\]|[\w-]+)=|"([^"]*)"|(\/>|>)|(\n)|([^<["\n/>=]+|[\s\S])/g;
|
|
12
14
|
let out = '';
|
|
13
15
|
let m;
|
|
14
16
|
while ((m = re.exec(code)) !== null) {
|
|
@@ -46,10 +48,17 @@ export class PrismTemplatePopoverComponent {
|
|
|
46
48
|
const comp = this.navigationService.activeComponent();
|
|
47
49
|
if (!comp)
|
|
48
50
|
return '';
|
|
49
|
-
const
|
|
51
|
+
const variantIndex = this.rendererService.activeVariantIndex();
|
|
52
|
+
const variant = comp.meta.showcaseConfig.variants?.[variantIndex];
|
|
50
53
|
const explicitKeys = variant?.inputs ? new Set(Object.keys(variant.inputs)) : undefined;
|
|
54
|
+
const values = this.rendererService.inputValues();
|
|
55
|
+
const composed = activeCase(comp, variantIndex);
|
|
56
|
+
// A composed variant shows the composition as written, with the subject's current values where it stands.
|
|
57
|
+
if (composed) {
|
|
58
|
+
return generateCompositionSnippet(composed.template, subjectAttributes(comp.meta.inputs, values, explicitKeys, unboundInputs(comp, variantIndex)));
|
|
59
|
+
}
|
|
51
60
|
const directiveOptions = comp.meta.componentMeta.isDirective ? { host: comp.meta.showcaseConfig.host } : undefined;
|
|
52
|
-
return generateSnippet(comp.meta.componentMeta.selector, comp.meta.inputs,
|
|
61
|
+
return generateSnippet(comp.meta.componentMeta.selector, comp.meta.inputs, values, explicitKeys, this.rendererService.activeContent(), directiveOptions);
|
|
53
62
|
}, /* @ts-ignore */
|
|
54
63
|
...(ngDevMode ? [{ debugName: "snippet" }] : /* istanbul ignore next */ []));
|
|
55
64
|
highlighted = computed(() => {
|
|
@@ -99,10 +108,10 @@ export class PrismTemplatePopoverComponent {
|
|
|
99
108
|
i0.ɵɵproperty("size", 13);
|
|
100
109
|
i0.ɵɵadvance();
|
|
101
110
|
i0.ɵɵproperty("innerHTML", ctx.highlighted(), i0.ɵɵsanitizeHtml);
|
|
102
|
-
} }, dependencies: [PrismIconComponent], styles: ["[_nghost-%COMP%] {\n display: contents;\n}\n\n\n\n\n\n\n\n.tpl-popover[_ngcontent-%COMP%] {\n inset: auto;\n width: 520px;\n max-width: calc(100vw - var(--%NS%sp-6));\n max-height: min(420px, calc(100vh - var(--%NS%sp-7)));\n margin: var(--%NS%sp-2) 0 0 0;\n position-area: block-end span-inline-start;\n position-anchor: --prism-toolrail;\n position-try-fallbacks: flip-block, flip-inline;\n overflow: hidden;\n background: var(--%NS%prism-bg-elevated);\n border: 1px solid var(--%NS%prism-border
|
|
111
|
+
} }, dependencies: [PrismIconComponent], styles: ["[_nghost-%COMP%] {\n display: contents;\n}\n\n\n\n\n\n\n\n.tpl-popover[_ngcontent-%COMP%] {\n inset: auto;\n width: 520px;\n max-width: calc(100vw - var(--%NS%sp-6));\n max-height: min(420px, calc(100vh - var(--%NS%sp-7)));\n margin: var(--%NS%sp-2) 0 0 0;\n position-area: block-end span-inline-start;\n position-anchor: --prism-toolrail;\n position-try-fallbacks: flip-block, flip-inline;\n overflow: hidden;\n background: var(--%NS%prism-bg-elevated);\n border: 1px solid var(--%NS%prism-border);\n border-radius: var(--%NS%radius-lg, 10px);\n box-shadow: var(--%NS%prism-shadow-md);\n animation: _ngcontent-%COMP%_tpl-fade-in var(--%NS%dur-fast, 0.15s) var(--%NS%ease-default, ease-out);\n}\n\n\n\n\n\n\n\n.tpl-popover[_ngcontent-%COMP%]:popover-open {\n display: flex;\n flex-direction: column;\n}\n\n@keyframes _ngcontent-%COMP%_tpl-fade-in {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.tpl-popover-head[_ngcontent-%COMP%] {\n display: flex;\n flex-shrink: 0;\n gap: 8px;\n align-items: center;\n height: 40px;\n padding: 0 12px 0 16px;\n background: linear-gradient(180deg, var(--%NS%prism-bg-surface), var(--%NS%prism-bg-elevated));\n border-bottom: 1px solid var(--%NS%prism-border);\n}\n\n.tpl-popover-head[_ngcontent-%COMP%] > prism-icon[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text-muted);\n}\n\n.tpl-popover-head[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n flex: 1;\n font-size: var(--%NS%fs-xs);\n font-weight: 700;\n color: var(--%NS%prism-text-2);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n\n.tpl-popover-copy[_ngcontent-%COMP%] {\n display: flex;\n gap: 5px;\n align-items: center;\n height: 26px;\n padding: 0 10px;\n font-family: var(--%NS%font-sans);\n font-size: var(--%NS%fs-sm);\n font-weight: 500;\n color: var(--%NS%prism-primary);\n cursor: pointer;\n background: color-mix(in srgb, var(--%NS%prism-primary) 12%, transparent);\n border: 1px solid color-mix(in srgb, var(--%NS%prism-primary) 25%, transparent);\n border-radius: var(--%NS%radius-sm, 5px);\n transition: background var(--%NS%dur-fast);\n}\n\n.tpl-popover-copy[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--%NS%prism-primary) 20%, transparent);\n}\n\n.tpl-popover-close[_ngcontent-%COMP%] {\n display: grid;\n place-items: center;\n width: 26px;\n height: 26px;\n color: var(--%NS%prism-text-muted);\n cursor: pointer;\n background: transparent;\n border: 0;\n border-radius: var(--%NS%radius-sm, 5px);\n transition:\n background var(--%NS%dur-fast),\n color var(--%NS%dur-fast);\n}\n\n.tpl-popover-close[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text);\n background: var(--%NS%prism-input-bg);\n}\n\n.tpl-popover-body[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n padding: 14px 18px;\n margin: 0;\n overflow: auto;\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-md);\n line-height: 1.7;\n color: var(--%NS%prism-text-2);\n white-space: pre;\n background: var(--%NS%prism-bg);\n}\n\n.tpl-popover-body[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n}\n\n.tpl-popover-body[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--%NS%prism-border-strong);\n border-radius: 3px;\n}\n\n[_nghost-%COMP%] .tok-tag {\n color: var(--%NS%prism-code-tag);\n}\n\n[_nghost-%COMP%] .tok-attr {\n color: var(--%NS%prism-code-attr);\n}\n\n[_nghost-%COMP%] .tok-str {\n color: var(--%NS%prism-code-str);\n}\n\n[_nghost-%COMP%] .tok-com {\n font-style: italic;\n color: var(--%NS%prism-code-com);\n}"] });
|
|
103
112
|
}
|
|
104
113
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismTemplatePopoverComponent, [{
|
|
105
114
|
type: Component,
|
|
106
|
-
args: [{ selector: 'prism-template-popover', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent], template: "<!-- A native popover: the platform owns open, light-dismiss and Escape, so\n there is no visibility signal, no document click listener and no key\n handler here. The id is what the rail's button names in its\n popovertarget. -->\n<div\n popover\n id=\"prism-template\"\n class=\"tpl-popover\"\n role=\"dialog\"\n aria-label=\"Angular template\">\n <div class=\"tpl-popover-head\">\n <prism-icon\n name=\"code\"\n [size]=\"13\" />\n <span>Angular Template</span>\n <button\n type=\"button\"\n class=\"tpl-popover-copy\"\n (click)=\"copy()\"\n [title]=\"copied() ? 'Copied!' : 'Copy to clipboard'\">\n <prism-icon\n [name]=\"copied() ? 'shield-check' : 'copy'\"\n [size]=\"12\" />\n {{ copied() ? 'Copied' : 'Copy' }}\n </button>\n <button\n type=\"button\"\n class=\"tpl-popover-close\"\n popovertarget=\"prism-template\"\n popovertargetaction=\"hide\"\n aria-label=\"Close\"\n title=\"Close (Esc)\">\n <prism-icon\n name=\"x\"\n [size]=\"13\" />\n </button>\n </div>\n <pre\n class=\"tpl-popover-body\"\n [innerHTML]=\"highlighted()\"></pre>\n</div>\n", styles: [":host {\n display: contents;\n}\n\n/* No position of its own: a popover is in the top layer, where the\n containing block is the viewport, so the old right/top pair against the\n canvas would have parked this in the corner of the *window* and over the\n header. It hangs off the rail instead, the same way the head popovers\n hang off their triggers. Viewport units, not percentages, because a\n percentage here resolves against the position area, not the canvas. */\n.tpl-popover {\n inset: auto;\n width: 520px;\n max-width: calc(100vw - var(--sp-6));\n max-height: min(420px, calc(100vh - var(--sp-7)));\n margin: var(--sp-2) 0 0 0;\n position-area: block-end span-inline-start;\n position-anchor: --prism-toolrail;\n position-try-fallbacks: flip-block, flip-inline;\n overflow: hidden;\n background: var(--prism-bg-elevated);\n border: 1px solid var(--prism-border
|
|
115
|
+
args: [{ selector: 'prism-template-popover', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent], template: "<!-- A native popover: the platform owns open, light-dismiss and Escape, so\n there is no visibility signal, no document click listener and no key\n handler here. The id is what the rail's button names in its\n popovertarget. -->\n<div\n popover\n id=\"prism-template\"\n class=\"tpl-popover\"\n role=\"dialog\"\n aria-label=\"Angular template\">\n <div class=\"tpl-popover-head\">\n <prism-icon\n name=\"code\"\n [size]=\"13\" />\n <span>Angular Template</span>\n <button\n type=\"button\"\n class=\"tpl-popover-copy\"\n (click)=\"copy()\"\n [title]=\"copied() ? 'Copied!' : 'Copy to clipboard'\">\n <prism-icon\n [name]=\"copied() ? 'shield-check' : 'copy'\"\n [size]=\"12\" />\n {{ copied() ? 'Copied' : 'Copy' }}\n </button>\n <button\n type=\"button\"\n class=\"tpl-popover-close\"\n popovertarget=\"prism-template\"\n popovertargetaction=\"hide\"\n aria-label=\"Close\"\n title=\"Close (Esc)\">\n <prism-icon\n name=\"x\"\n [size]=\"13\" />\n </button>\n </div>\n <pre\n class=\"tpl-popover-body\"\n [innerHTML]=\"highlighted()\"></pre>\n</div>\n", styles: [":host {\n display: contents;\n}\n\n/* No position of its own: a popover is in the top layer, where the\n containing block is the viewport, so the old right/top pair against the\n canvas would have parked this in the corner of the *window* and over the\n header. It hangs off the rail instead, the same way the head popovers\n hang off their triggers. Viewport units, not percentages, because a\n percentage here resolves against the position area, not the canvas. */\n.tpl-popover {\n inset: auto;\n width: 520px;\n max-width: calc(100vw - var(--sp-6));\n max-height: min(420px, calc(100vh - var(--sp-7)));\n margin: var(--sp-2) 0 0 0;\n position-area: block-end span-inline-start;\n position-anchor: --prism-toolrail;\n position-try-fallbacks: flip-block, flip-inline;\n overflow: hidden;\n background: var(--prism-bg-elevated);\n border: 1px solid var(--prism-border);\n border-radius: var(--radius-lg, 10px);\n box-shadow: var(--prism-shadow-md);\n animation: tpl-fade-in var(--dur-fast, 0.15s) var(--ease-default, ease-out);\n}\n\n/* display belongs on :popover-open and nowhere else. The UA stylesheet\n hides a closed popover with [popover]:not(:popover-open) { display: none },\n and any author display on the base rule outranks it. The panel then\n shows permanently and neither Escape nor light-dismiss can hide it,\n because closing only drops :popover-open and leaves the author rule\n standing. */\n.tpl-popover:popover-open {\n display: flex;\n flex-direction: column;\n}\n\n@keyframes tpl-fade-in {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.tpl-popover-head {\n display: flex;\n flex-shrink: 0;\n gap: 8px;\n align-items: center;\n height: 40px;\n padding: 0 12px 0 16px;\n background: linear-gradient(180deg, var(--prism-bg-surface), var(--prism-bg-elevated));\n border-bottom: 1px solid var(--prism-border);\n}\n\n.tpl-popover-head > prism-icon {\n color: var(--prism-text-muted);\n}\n\n.tpl-popover-head > span {\n flex: 1;\n font-size: var(--fs-xs);\n font-weight: 700;\n color: var(--prism-text-2);\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n\n.tpl-popover-copy {\n display: flex;\n gap: 5px;\n align-items: center;\n height: 26px;\n padding: 0 10px;\n font-family: var(--font-sans);\n font-size: var(--fs-sm);\n font-weight: 500;\n color: var(--prism-primary);\n cursor: pointer;\n background: color-mix(in srgb, var(--prism-primary) 12%, transparent);\n border: 1px solid color-mix(in srgb, var(--prism-primary) 25%, transparent);\n border-radius: var(--radius-sm, 5px);\n transition: background var(--dur-fast);\n}\n\n.tpl-popover-copy:hover {\n background: color-mix(in srgb, var(--prism-primary) 20%, transparent);\n}\n\n.tpl-popover-close {\n display: grid;\n place-items: center;\n width: 26px;\n height: 26px;\n color: var(--prism-text-muted);\n cursor: pointer;\n background: transparent;\n border: 0;\n border-radius: var(--radius-sm, 5px);\n transition:\n background var(--dur-fast),\n color var(--dur-fast);\n}\n\n.tpl-popover-close:hover {\n color: var(--prism-text);\n background: var(--prism-input-bg);\n}\n\n.tpl-popover-body {\n flex: 1;\n min-height: 0;\n padding: 14px 18px;\n margin: 0;\n overflow: auto;\n font-family: var(--font-mono);\n font-size: var(--fs-md);\n line-height: 1.7;\n color: var(--prism-text-2);\n white-space: pre;\n background: var(--prism-bg);\n}\n\n.tpl-popover-body::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n}\n\n.tpl-popover-body::-webkit-scrollbar-thumb {\n background: var(--prism-border-strong);\n border-radius: 3px;\n}\n\n:host ::ng-deep .tok-tag {\n color: var(--prism-code-tag);\n}\n\n:host ::ng-deep .tok-attr {\n color: var(--prism-code-attr);\n}\n\n:host ::ng-deep .tok-str {\n color: var(--prism-code-str);\n}\n\n:host ::ng-deep .tok-com {\n font-style: italic;\n color: var(--prism-code-com);\n}\n"] }]
|
|
107
116
|
}], null, null); })();
|
|
108
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismTemplatePopoverComponent, { className: "PrismTemplatePopoverComponent", filePath: "app/canvas/prism-template-popover.component.ts", lineNumber:
|
|
117
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismTemplatePopoverComponent, { className: "PrismTemplatePopoverComponent", filePath: "app/canvas/prism-template-popover.component.ts", lineNumber: 46 }); })();
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { StatusTone } from '../../plugin/status.js';
|
|
2
|
+
import type { A11yScoreResult, A11yThresholds } from '../panels/a11y/a11y.types.js';
|
|
1
3
|
/**
|
|
2
4
|
* How a metric compares to its threshold.
|
|
3
5
|
*
|
|
@@ -12,30 +14,44 @@ export interface HeadMetric {
|
|
|
12
14
|
id: string;
|
|
13
15
|
label: string;
|
|
14
16
|
value: string;
|
|
17
|
+
/** What the value is graded against, for the readout's Threshold column. */
|
|
18
|
+
threshold: string;
|
|
15
19
|
variant: MetricVariant;
|
|
16
20
|
}
|
|
17
|
-
/** What the
|
|
18
|
-
export interface
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
/** The
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
others: number;
|
|
25
|
-
/** Colour role for the chip. */
|
|
26
|
-
variant: 'ok' | 'warn' | 'danger';
|
|
21
|
+
/** What the head knows about the component it introduces. */
|
|
22
|
+
export interface HeadMetricInput {
|
|
23
|
+
/** The component's `showcaseConfig.meta`, where plugins leave their verdicts. */
|
|
24
|
+
meta: Record<string, unknown> | null;
|
|
25
|
+
/** The live audit of the current variant, or `null` before it ran. */
|
|
26
|
+
a11y: A11yScoreResult | null;
|
|
27
|
+
a11yThresholds: A11yThresholds;
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
|
-
*
|
|
30
|
+
* The head's metrics, in source order: coverage, the a11y score, the visual
|
|
31
|
+
* regression headline.
|
|
30
32
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
33
|
+
* It reads verdicts rather than computing them. Coverage and visual regression
|
|
34
|
+
* take what their plugins derived at build time from their own thresholds; the
|
|
35
|
+
* a11y score is the live audit graded by `deriveA11ySummary`, the rule the tab,
|
|
36
|
+
* the sidebar and the header use. A figure without a verdict stays `none`
|
|
37
|
+
* instead of being graded on a scale of the head's own.
|
|
38
|
+
*/
|
|
39
|
+
export declare function headMetrics(input: HeadMetricInput): HeadMetric[];
|
|
40
|
+
/** What the gauge chip shows: one metric and the tone of the chip. */
|
|
41
|
+
export interface GaugeChip {
|
|
42
|
+
metric: HeadMetric;
|
|
43
|
+
variant: StatusTone;
|
|
44
|
+
/** Metrics that carry a verdict, for the tooltip. */
|
|
45
|
+
measured: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The one metric the chip shows: the worst, ties resolved by source order so
|
|
49
|
+
* the chip does not flicker between two equally bad ones; when everything is
|
|
50
|
+
* fine, the first measured one in the ok tone. `null` when nothing is
|
|
51
|
+
* measured, and the head shows no gauge.
|
|
36
52
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
53
|
+
* A pure function instead of a computed inside the component: components using
|
|
54
|
+
* signal inputs cannot be rendered through TestBed in this repo's Jest setup.
|
|
39
55
|
*/
|
|
40
|
-
export declare function
|
|
56
|
+
export declare function gaugeChip(metrics: readonly HeadMetric[]): GaugeChip | null;
|
|
41
57
|
//# sourceMappingURL=head-metrics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"head-metrics.d.ts","sourceRoot":"","sources":["../../../src/app/component-head/head-metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D,yDAAyD;AACzD,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,CAAC;CAC1B;AAED,
|
|
1
|
+
{"version":3,"file":"head-metrics.d.ts","sourceRoot":"","sources":["../../../src/app/component-head/head-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEpF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D,yDAAyD;AACzD,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,aAAa,CAAC;CAC1B;AAED,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC5B,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACrC,sEAAsE;IACtE,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;CAClC;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU,EAAE,CA+BhE;AAED,sEAAsE;AACtE,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC;IACpB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;CACpB;AASD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,GAAG,IAAI,CAY1E"}
|