@ng-prism/core 22.6.0 → 22.7.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -9
- package/dist/app/canvas/canvas-bg.styles.d.ts +1 -1
- package/dist/app/canvas/canvas-bg.styles.d.ts.map +1 -1
- package/dist/app/canvas/canvas-bg.styles.js +1 -1
- package/dist/app/canvas/canvas-overlay-tokens.d.ts +12 -0
- package/dist/app/canvas/canvas-overlay-tokens.d.ts.map +1 -0
- package/dist/app/canvas/canvas-overlay-tokens.js +52 -0
- package/dist/app/canvas/prism-canvas-bg-pill.component.js +2 -2
- package/dist/app/canvas/prism-canvas-pin-row.component.js +2 -2
- package/dist/app/canvas/prism-canvas-rulers.component.d.ts +2 -0
- package/dist/app/canvas/prism-canvas-rulers.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-rulers.component.js +17 -12
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts +3 -2
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-toolbar.component.js +89 -97
- package/dist/app/canvas/prism-template-popover.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-template-popover.component.js +16 -7
- package/dist/app/component-head/head-metrics.d.ts +35 -19
- package/dist/app/component-head/head-metrics.d.ts.map +1 -1
- package/dist/app/component-head/head-metrics.js +57 -27
- package/dist/app/component-head/pipe-facts.d.ts +9 -0
- package/dist/app/component-head/pipe-facts.d.ts.map +1 -0
- package/dist/app/component-head/pipe-facts.js +15 -0
- package/dist/app/component-head/prism-component-head.component.d.ts +19 -22
- package/dist/app/component-head/prism-component-head.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-component-head.component.js +80 -96
- package/dist/app/component-head/prism-head-gauge.component.d.ts +8 -12
- package/dist/app/component-head/prism-head-gauge.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-head-gauge.component.js +51 -67
- package/dist/app/component-head/prism-head-info.component.d.ts +13 -2
- package/dist/app/component-head/prism-head-info.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-head-info.component.js +57 -16
- package/dist/app/component-head/prism-stat.component.d.ts +4 -5
- package/dist/app/component-head/prism-stat.component.d.ts.map +1 -1
- package/dist/app/component-head/prism-stat.component.js +16 -12
- package/dist/app/component-head/service-facts.d.ts +8 -0
- package/dist/app/component-head/service-facts.d.ts.map +1 -0
- package/dist/app/component-head/service-facts.js +11 -0
- package/dist/app/controls/boolean-control.component.js +2 -2
- package/dist/app/controls/json-control.component.js +2 -2
- package/dist/app/controls/union-control.component.js +4 -3
- package/dist/app/header/header-brand.d.ts +25 -0
- package/dist/app/header/header-brand.d.ts.map +1 -0
- package/dist/app/header/header-brand.js +10 -0
- package/dist/app/header/prism-header.component.d.ts +2 -2
- package/dist/app/header/prism-header.component.d.ts.map +1 -1
- package/dist/app/header/prism-header.component.js +73 -57
- package/dist/app/icons/icon-registry.d.ts.map +1 -1
- package/dist/app/icons/icon-registry.js +4 -1
- package/dist/app/index.d.ts +12 -0
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.js +12 -1
- package/dist/app/layout-menu/prism-layout-menu.component.d.ts +3 -0
- package/dist/app/layout-menu/prism-layout-menu.component.d.ts.map +1 -1
- package/dist/app/layout-menu/prism-layout-menu.component.js +72 -58
- package/dist/app/overview/open-in-playground.d.ts +8 -0
- package/dist/app/overview/open-in-playground.d.ts.map +1 -1
- package/dist/app/overview/open-in-playground.js +13 -0
- package/dist/app/overview/overview-matrix.d.ts +10 -4
- package/dist/app/overview/overview-matrix.d.ts.map +1 -1
- package/dist/app/overview/overview-matrix.js +3 -3
- package/dist/app/overview/prism-overview-cell.component.d.ts +6 -2
- package/dist/app/overview/prism-overview-cell.component.d.ts.map +1 -1
- package/dist/app/overview/prism-overview-cell.component.js +35 -24
- package/dist/app/overview/prism-overview-matrix.component.js +46 -55
- package/dist/app/page-renderer/prism-page-renderer.component.js +2 -2
- package/dist/app/panels/a11y/a11y-header-badge.component.d.ts +1 -4
- package/dist/app/panels/a11y/a11y-header-badge.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-header-badge.component.js +8 -19
- package/dist/app/panels/a11y/a11y-keyboard-overlay.component.js +2 -2
- package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts +1 -0
- package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-overlay-host.component.js +4 -3
- package/dist/app/panels/a11y/a11y-panel.component.d.ts +4 -1
- package/dist/app/panels/a11y/a11y-panel.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-panel.component.js +32 -54
- package/dist/app/panels/a11y/a11y-score.component.d.ts +8 -3
- package/dist/app/panels/a11y/a11y-score.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-score.component.js +19 -35
- package/dist/app/panels/a11y/a11y-sr-overlay.component.js +2 -2
- package/dist/app/panels/a11y/a11y-sr.component.js +2 -2
- package/dist/app/panels/a11y/a11y-summary.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-summary.js +8 -1
- package/dist/app/panels/a11y/a11y-tree.component.js +2 -2
- package/dist/app/panels/a11y/a11y-violations.component.d.ts +23 -2
- package/dist/app/panels/a11y/a11y-violations.component.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-violations.component.js +104 -89
- package/dist/app/panels/a11y/severity.d.ts +9 -0
- package/dist/app/panels/a11y/severity.d.ts.map +1 -0
- package/dist/app/panels/a11y/severity.js +12 -0
- package/dist/app/panels/controls/non-editable-input-types.d.ts +9 -1
- package/dist/app/panels/controls/non-editable-input-types.d.ts.map +1 -1
- package/dist/app/panels/controls/non-editable-input-types.js +18 -0
- package/dist/app/panels/controls/prism-controls-panel.component.d.ts +2 -1
- package/dist/app/panels/controls/prism-controls-panel.component.d.ts.map +1 -1
- package/dist/app/panels/controls/prism-controls-panel.component.js +77 -59
- package/dist/app/panels/events/prism-events-panel.component.d.ts +2 -0
- package/dist/app/panels/events/prism-events-panel.component.d.ts.map +1 -1
- package/dist/app/panels/events/prism-events-panel.component.js +20 -7
- package/dist/app/panels/events/prism-json-node.utils.d.ts +6 -0
- package/dist/app/panels/events/prism-json-node.utils.d.ts.map +1 -1
- package/dist/app/panels/events/prism-json-node.utils.js +8 -0
- package/dist/app/panels/panel-host/addon-panels.d.ts +11 -0
- package/dist/app/panels/panel-host/addon-panels.d.ts.map +1 -0
- package/dist/app/panels/panel-host/addon-panels.js +12 -0
- package/dist/app/panels/panel-host/panel-badge.d.ts +22 -0
- package/dist/app/panels/panel-host/panel-badge.d.ts.map +1 -1
- package/dist/app/panels/panel-host/panel-badge.js +56 -11
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +4 -1
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts.map +1 -1
- package/dist/app/panels/panel-host/prism-panel-host.component.js +36 -70
- package/dist/app/renderer/composition.d.ts +20 -0
- package/dist/app/renderer/composition.d.ts.map +1 -0
- package/dist/app/renderer/composition.js +26 -0
- package/dist/app/renderer/input-bindings.d.ts +13 -1
- package/dist/app/renderer/input-bindings.d.ts.map +1 -1
- package/dist/app/renderer/input-bindings.js +22 -1
- package/dist/app/renderer/prism-renderer.component.d.ts +8 -1
- package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
- package/dist/app/renderer/prism-renderer.component.js +40 -28
- package/dist/app/renderer/snippet-generator.d.ts +14 -2
- package/dist/app/renderer/snippet-generator.d.ts.map +1 -1
- package/dist/app/renderer/snippet-generator.js +137 -82
- package/dist/app/services/navigation-item.d.ts +10 -0
- package/dist/app/services/navigation-item.d.ts.map +1 -0
- package/dist/app/services/navigation-item.js +20 -0
- package/dist/app/services/navigation-item.types.d.ts +8 -0
- package/dist/app/services/navigation-item.types.d.ts.map +1 -1
- package/dist/app/services/prism-layout.service.d.ts +12 -0
- package/dist/app/services/prism-layout.service.d.ts.map +1 -1
- package/dist/app/services/prism-layout.service.js +17 -7
- package/dist/app/services/prism-manifest.service.d.ts +4 -0
- package/dist/app/services/prism-manifest.service.d.ts.map +1 -1
- package/dist/app/services/prism-manifest.service.js +4 -0
- package/dist/app/services/prism-navigation.service.d.ts +12 -0
- package/dist/app/services/prism-navigation.service.d.ts.map +1 -1
- package/dist/app/services/prism-navigation.service.js +85 -19
- package/dist/app/services/prism-panel.service.d.ts +7 -3
- package/dist/app/services/prism-panel.service.d.ts.map +1 -1
- package/dist/app/services/prism-panel.service.js +13 -4
- package/dist/app/services/prism-renderer.service.d.ts +6 -0
- package/dist/app/services/prism-renderer.service.d.ts.map +1 -1
- package/dist/app/services/prism-renderer.service.js +40 -6
- package/dist/app/services/prism-search.service.d.ts +4 -0
- package/dist/app/services/prism-search.service.d.ts.map +1 -1
- package/dist/app/services/prism-search.service.js +29 -6
- package/dist/app/services/prism-theme.service.d.ts +11 -3
- package/dist/app/services/prism-theme.service.d.ts.map +1 -1
- package/dist/app/services/prism-theme.service.js +27 -19
- package/dist/app/services/prism-url-state.service.d.ts.map +1 -1
- package/dist/app/services/prism-url-state.service.js +42 -4
- package/dist/app/shared/badge.types.d.ts +7 -0
- package/dist/app/shared/badge.types.d.ts.map +1 -0
- package/dist/app/shared/badge.types.js +9 -0
- package/dist/app/shared/brand-mark.d.ts +35 -0
- package/dist/app/shared/brand-mark.d.ts.map +1 -0
- package/dist/app/shared/brand-mark.js +52 -0
- package/dist/app/shared/metric-bar.d.ts +6 -0
- package/dist/app/shared/metric-bar.d.ts.map +1 -0
- package/dist/app/shared/metric-bar.js +7 -0
- package/dist/app/shared/prism-badge.component.d.ts +21 -0
- package/dist/app/shared/prism-badge.component.d.ts.map +1 -0
- package/dist/app/shared/prism-badge.component.js +68 -0
- package/dist/app/shared/prism-button.component.d.ts +12 -0
- package/dist/app/shared/prism-button.component.d.ts.map +1 -0
- package/dist/app/shared/prism-button.component.js +28 -0
- package/dist/app/shared/prism-icon-button.component.d.ts +17 -0
- package/dist/app/shared/prism-icon-button.component.d.ts.map +1 -0
- package/dist/app/shared/prism-icon-button.component.js +37 -0
- package/dist/app/shared/prism-list-row.component.d.ts +17 -0
- package/dist/app/shared/prism-list-row.component.d.ts.map +1 -0
- package/dist/app/shared/prism-list-row.component.js +57 -0
- package/dist/app/shared/prism-logo.component.d.ts +24 -0
- package/dist/app/shared/prism-logo.component.d.ts.map +1 -0
- package/dist/app/shared/prism-logo.component.js +77 -0
- package/dist/app/shared/prism-metric-badge.component.d.ts +9 -4
- package/dist/app/shared/prism-metric-badge.component.d.ts.map +1 -1
- package/dist/app/shared/prism-metric-badge.component.js +33 -12
- package/dist/app/shared/prism-metric-card.component.d.ts +30 -0
- package/dist/app/shared/prism-metric-card.component.d.ts.map +1 -0
- package/dist/app/shared/prism-metric-card.component.js +111 -0
- package/dist/app/shared/prism-panel-toolbar.component.d.ts +13 -0
- package/dist/app/shared/prism-panel-toolbar.component.d.ts.map +1 -0
- package/dist/app/shared/prism-panel-toolbar.component.js +28 -0
- package/dist/app/shared/prism-segmented.component.d.ts +25 -0
- package/dist/app/shared/prism-segmented.component.d.ts.map +1 -0
- package/dist/app/shared/prism-segmented.component.js +77 -0
- package/dist/app/shared/prism-tabs.component.d.ts +44 -0
- package/dist/app/shared/prism-tabs.component.d.ts.map +1 -0
- package/dist/app/shared/prism-tabs.component.js +134 -0
- package/dist/app/shared/roving-focus.d.ts +13 -0
- package/dist/app/shared/roving-focus.d.ts.map +1 -0
- package/dist/app/shared/roving-focus.js +34 -0
- package/dist/app/shell/prism-shell.component.d.ts +13 -0
- package/dist/app/shell/prism-shell.component.d.ts.map +1 -1
- package/dist/app/shell/prism-shell.component.js +57 -28
- package/dist/app/shell/should-select-first.d.ts +17 -0
- package/dist/app/shell/should-select-first.d.ts.map +1 -0
- package/dist/app/shell/should-select-first.js +13 -0
- package/dist/app/sidebar/navigation-decorations.d.ts +23 -1
- package/dist/app/sidebar/navigation-decorations.d.ts.map +1 -1
- package/dist/app/sidebar/navigation-decorations.js +33 -2
- package/dist/app/sidebar/prism-sidebar.component.d.ts +5 -15
- package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -1
- package/dist/app/sidebar/prism-sidebar.component.js +89 -77
- package/dist/app/theme/deprecated-tokens.d.ts +15 -0
- package/dist/app/theme/deprecated-tokens.d.ts.map +1 -0
- package/dist/app/theme/deprecated-tokens.js +22 -0
- package/dist/app/theme/favicon.d.ts +3 -0
- package/dist/app/theme/favicon.d.ts.map +1 -0
- package/dist/app/theme/favicon.js +3 -0
- package/dist/app/theme/prism-default-theme.d.ts.map +1 -1
- package/dist/app/theme/prism-default-theme.js +116 -61
- package/dist/app/theme/resolve-theme-tokens.d.ts +29 -0
- package/dist/app/theme/resolve-theme-tokens.d.ts.map +1 -0
- package/dist/app/theme/resolve-theme-tokens.js +43 -0
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts +4 -7
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.d.ts.map +1 -1
- package/dist/app/variant-ribbon/prism-variant-ribbon.component.js +31 -69
- package/dist/app/view-tab-bar/next-view-id.d.ts +7 -1
- package/dist/app/view-tab-bar/next-view-id.d.ts.map +1 -1
- package/dist/app/view-tab-bar/next-view-id.js +9 -1
- package/dist/app/view-tab-bar/panel-inputs.d.ts +28 -0
- package/dist/app/view-tab-bar/panel-inputs.d.ts.map +1 -0
- package/dist/app/view-tab-bar/panel-inputs.js +41 -0
- package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts +2 -3
- package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts.map +1 -1
- package/dist/app/view-tab-bar/prism-view-panel-host.component.js +9 -9
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts +6 -0
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts.map +1 -1
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +22 -29
- package/dist/builder/config-loader/deprecated-options.d.ts +4 -2
- package/dist/builder/config-loader/deprecated-options.d.ts.map +1 -1
- package/dist/builder/config-loader/deprecated-options.js +13 -2
- package/dist/builder/manifest/composition-wrapper.generator.d.ts +14 -0
- package/dist/builder/manifest/composition-wrapper.generator.d.ts.map +1 -0
- package/dist/builder/manifest/composition-wrapper.generator.js +66 -0
- package/dist/builder/manifest/host-parser.d.ts +2 -0
- package/dist/builder/manifest/host-parser.d.ts.map +1 -1
- package/dist/builder/manifest/host-parser.js +9 -4
- package/dist/builder/manifest/manifest-imports.d.ts +34 -0
- package/dist/builder/manifest/manifest-imports.d.ts.map +1 -0
- package/dist/builder/manifest/manifest-imports.js +91 -0
- package/dist/builder/manifest/runtime-manifest.generator.d.ts +13 -0
- package/dist/builder/manifest/runtime-manifest.generator.d.ts.map +1 -1
- package/dist/builder/manifest/runtime-manifest.generator.js +135 -64
- package/dist/builder/manifest/selector-element.d.ts +16 -0
- package/dist/builder/manifest/selector-element.d.ts.map +1 -0
- package/dist/builder/manifest/selector-element.js +46 -0
- package/dist/builder/manifest/template-literal.d.ts +3 -0
- package/dist/builder/manifest/template-literal.d.ts.map +1 -0
- package/dist/builder/manifest/template-literal.js +4 -0
- package/dist/builder/plugin-runner/plugin-runner.d.ts.map +1 -1
- package/dist/builder/plugin-runner/plugin-runner.js +29 -26
- package/dist/builder/scanner/api/angular-decorators.d.ts +84 -0
- package/dist/builder/scanner/api/angular-decorators.d.ts.map +1 -0
- package/dist/builder/scanner/api/angular-decorators.js +157 -0
- package/dist/builder/scanner/api/component-api.extractor.d.ts +13 -0
- package/dist/builder/scanner/api/component-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/api/component-api.extractor.js +104 -0
- package/dist/builder/scanner/api/doc-tags.d.ts +13 -0
- package/dist/builder/scanner/api/doc-tags.d.ts.map +1 -0
- package/dist/builder/scanner/api/doc-tags.js +101 -0
- package/dist/builder/scanner/api/export-index.d.ts +18 -0
- package/dist/builder/scanner/api/export-index.d.ts.map +1 -0
- package/dist/builder/scanner/api/export-index.js +22 -0
- package/dist/builder/scanner/api/member.extractor.d.ts +90 -0
- package/dist/builder/scanner/api/member.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/api/member.extractor.js +270 -0
- package/dist/builder/scanner/api/pipe-api.extractor.d.ts +12 -0
- package/dist/builder/scanner/api/pipe-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/api/pipe-api.extractor.js +52 -0
- package/dist/builder/scanner/api/service-api.extractor.d.ts +14 -0
- package/dist/builder/scanner/api/service-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/api/service-api.extractor.js +119 -0
- package/dist/builder/scanner/api/setup.reader.d.ts +26 -0
- package/dist/builder/scanner/api/setup.reader.d.ts.map +1 -0
- package/dist/builder/scanner/api/setup.reader.js +89 -0
- package/dist/builder/scanner/api/type-collector.d.ts +24 -0
- package/dist/builder/scanner/api/type-collector.d.ts.map +1 -0
- package/dist/builder/scanner/api/type-collector.js +211 -0
- package/dist/builder/scanner/ast-utils.d.ts +8 -0
- package/dist/builder/scanner/ast-utils.d.ts.map +1 -1
- package/dist/builder/scanner/ast-utils.js +37 -1
- package/dist/builder/scanner/class-hierarchy.d.ts +5 -3
- package/dist/builder/scanner/class-hierarchy.d.ts.map +1 -1
- package/dist/builder/scanner/class-hierarchy.js +12 -6
- package/dist/builder/scanner/component.scanner.d.ts +60 -6
- package/dist/builder/scanner/component.scanner.d.ts.map +1 -1
- package/dist/builder/scanner/component.scanner.js +209 -57
- package/dist/builder/scanner/composition/compose-template.d.ts +36 -0
- package/dist/builder/scanner/composition/compose-template.d.ts.map +1 -0
- package/dist/builder/scanner/composition/compose-template.js +187 -0
- package/dist/builder/scanner/composition/declarables.d.ts +54 -0
- package/dist/builder/scanner/composition/declarables.d.ts.map +1 -0
- package/dist/builder/scanner/composition/declarables.js +182 -0
- package/dist/builder/scanner/composition/match-declarables.d.ts +43 -0
- package/dist/builder/scanner/composition/match-declarables.d.ts.map +1 -0
- package/dist/builder/scanner/composition/match-declarables.js +131 -0
- package/dist/builder/scanner/composition/read-composition.d.ts +77 -0
- package/dist/builder/scanner/composition/read-composition.d.ts.map +1 -0
- package/dist/builder/scanner/composition/read-composition.js +302 -0
- package/dist/builder/scanner/composition/template-elements.d.ts +12 -0
- package/dist/builder/scanner/composition/template-elements.d.ts.map +1 -0
- package/dist/builder/scanner/composition/template-elements.js +41 -0
- package/dist/builder/scanner/index.d.ts +4 -0
- package/dist/builder/scanner/index.d.ts.map +1 -1
- package/dist/builder/scanner/index.js +2 -0
- package/dist/builder/scanner/input.extractor.d.ts +31 -2
- package/dist/builder/scanner/input.extractor.d.ts.map +1 -1
- package/dist/builder/scanner/input.extractor.js +52 -15
- package/dist/builder/scanner/pipe.scanner.d.ts +29 -0
- package/dist/builder/scanner/pipe.scanner.d.ts.map +1 -0
- package/dist/builder/scanner/pipe.scanner.js +65 -0
- package/dist/builder/scanner/scanner.d.ts +25 -1
- package/dist/builder/scanner/scanner.d.ts.map +1 -1
- package/dist/builder/scanner/scanner.js +60 -26
- package/dist/builder/scanner/service/angular-decorators.d.ts +80 -0
- package/dist/builder/scanner/service/angular-decorators.d.ts.map +1 -0
- package/dist/builder/scanner/service/angular-decorators.js +154 -0
- package/dist/builder/scanner/service/doc-tags.d.ts +13 -0
- package/dist/builder/scanner/service/doc-tags.d.ts.map +1 -0
- package/dist/builder/scanner/service/doc-tags.js +97 -0
- package/dist/builder/scanner/service/export-index.d.ts +18 -0
- package/dist/builder/scanner/service/export-index.d.ts.map +1 -0
- package/dist/builder/scanner/service/export-index.js +22 -0
- package/dist/builder/scanner/service/member.extractor.d.ts +65 -0
- package/dist/builder/scanner/service/member.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/service/member.extractor.js +216 -0
- package/dist/builder/scanner/service/pipe-api.extractor.d.ts +12 -0
- package/dist/builder/scanner/service/pipe-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/service/pipe-api.extractor.js +72 -0
- package/dist/builder/scanner/service/service-api.extractor.d.ts +14 -0
- package/dist/builder/scanner/service/service-api.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/service/service-api.extractor.js +119 -0
- package/dist/builder/scanner/service/setup.reader.d.ts +26 -0
- package/dist/builder/scanner/service/setup.reader.d.ts.map +1 -0
- package/dist/builder/scanner/service/setup.reader.js +89 -0
- package/dist/builder/scanner/service/type-collector.d.ts +23 -0
- package/dist/builder/scanner/service/type-collector.d.ts.map +1 -0
- package/dist/builder/scanner/service/type-collector.js +210 -0
- package/dist/builder/scanner/service.scanner.d.ts +26 -0
- package/dist/builder/scanner/service.scanner.d.ts.map +1 -0
- package/dist/builder/scanner/service.scanner.js +61 -0
- package/dist/builder/scanner/showcase-diagnostics.d.ts +60 -1
- package/dist/builder/scanner/showcase-diagnostics.d.ts.map +1 -1
- package/dist/builder/scanner/showcase-diagnostics.js +114 -1
- package/dist/builder/shared/prism-pipeline.d.ts +6 -0
- package/dist/builder/shared/prism-pipeline.d.ts.map +1 -1
- package/dist/builder/shared/prism-pipeline.js +43 -5
- package/dist/decorator/index.d.ts +1 -1
- package/dist/decorator/index.d.ts.map +1 -1
- package/dist/decorator/showcase.types.d.ts +79 -9
- package/dist/decorator/showcase.types.d.ts.map +1 -1
- package/dist/plugin/index.d.ts +6 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +4 -0
- package/dist/plugin/pipe.types.d.ts +36 -0
- package/dist/plugin/pipe.types.d.ts.map +1 -0
- package/dist/plugin/pipe.types.js +1 -0
- package/dist/plugin/plugin.types.d.ts +140 -3
- package/dist/plugin/plugin.types.d.ts.map +1 -1
- package/dist/plugin/service.types.d.ts +124 -0
- package/dist/plugin/service.types.d.ts.map +1 -0
- package/dist/plugin/service.types.js +1 -0
- package/dist/plugin/status.d.ts +27 -0
- package/dist/plugin/status.d.ts.map +1 -0
- package/dist/plugin/status.js +26 -0
- package/dist/shared/composition.d.ts +30 -0
- package/dist/shared/composition.d.ts.map +1 -0
- package/dist/shared/composition.js +29 -0
- package/dist/shared/pseudo-state.type.d.ts +2 -1
- package/dist/shared/pseudo-state.type.d.ts.map +1 -1
- package/dist/shared/void-elements.d.ts +3 -0
- package/dist/shared/void-elements.d.ts.map +1 -0
- package/dist/shared/void-elements.js +2 -0
- package/package.json +1 -1
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, computed, HostListener, inject, signal, viewChild } from '@angular/core';
|
|
2
2
|
import { PrismIconComponent } from '../icons/prism-icon.component.js';
|
|
3
3
|
import { BUILTIN_NAVIGATION_DECORATIONS } from '../panels/builtin-navigation-decorations.js';
|
|
4
|
+
import { itemKey, itemShowcaseConfig } from '../services/navigation-item.js';
|
|
4
5
|
import { PrismNavigationService } from '../services/prism-navigation.service.js';
|
|
5
6
|
import { PrismPluginService } from '../services/prism-plugin.service.js';
|
|
6
7
|
import { PrismSearchService } from '../services/prism-search.service.js';
|
|
7
|
-
import {
|
|
8
|
+
import { PrismBadgeComponent } from '../shared/prism-badge.component.js';
|
|
9
|
+
import { categoryCount, decorateItem, lifecycleIcon, resolveNavigationDecorations, rollupCategory, sectionFacet } from './navigation-decorations.js';
|
|
8
10
|
import * as i0 from "@angular/core";
|
|
9
11
|
const _c0 = ["filterInput"];
|
|
10
12
|
const _c1 = () => [];
|
|
@@ -18,19 +20,22 @@ function PrismSidebarComponent_Conditional_8_For_8_Conditional_5_For_2_Template(
|
|
|
18
20
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
19
21
|
i0.ɵɵelementStart(0, "button", 17);
|
|
20
22
|
i0.ɵɵlistener("click", function PrismSidebarComponent_Conditional_8_For_8_Conditional_5_For_2_Template_button_click_0_listener() { const item_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.onSelect(item_r5)); });
|
|
21
|
-
i0.ɵɵ
|
|
22
|
-
i0.ɵɵ
|
|
23
|
+
i0.ɵɵelement(1, "prism-icon", 18);
|
|
24
|
+
i0.ɵɵelementStart(2, "span", 19);
|
|
25
|
+
i0.ɵɵtext(3);
|
|
23
26
|
i0.ɵɵelementEnd()();
|
|
24
27
|
} if (rf & 2) {
|
|
25
28
|
const item_r5 = ctx.$implicit;
|
|
26
29
|
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
27
30
|
i0.ɵɵclassProp("sb-item--active", ctx_r2.isActive(item_r5));
|
|
31
|
+
i0.ɵɵadvance();
|
|
32
|
+
i0.ɵɵproperty("size", 12);
|
|
28
33
|
i0.ɵɵadvance(2);
|
|
29
34
|
i0.ɵɵtextInterpolate(ctx_r2.itemLabel(item_r5));
|
|
30
35
|
} }
|
|
31
36
|
function PrismSidebarComponent_Conditional_8_For_8_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
32
37
|
i0.ɵɵelementStart(0, "div", 15);
|
|
33
|
-
i0.ɵɵrepeaterCreate(1, PrismSidebarComponent_Conditional_8_For_8_Conditional_5_For_2_Template,
|
|
38
|
+
i0.ɵɵrepeaterCreate(1, PrismSidebarComponent_Conditional_8_For_8_Conditional_5_For_2_Template, 4, 4, "button", 16, _forTrack1, true);
|
|
34
39
|
i0.ɵɵelementEnd();
|
|
35
40
|
} if (rf & 2) {
|
|
36
41
|
const cat_r2 = i0.ɵɵnextContext().$implicit;
|
|
@@ -78,51 +83,46 @@ function PrismSidebarComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
78
83
|
i0.ɵɵadvance();
|
|
79
84
|
i0.ɵɵrepeater(ctx_r2.pageCategories());
|
|
80
85
|
} }
|
|
81
|
-
function PrismSidebarComponent_For_10_For_7_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
82
|
-
i0.ɵɵtext(0);
|
|
83
|
-
} if (rf & 2) {
|
|
84
|
-
const cat_r7 = i0.ɵɵnextContext().$implicit;
|
|
85
|
-
i0.ɵɵtextInterpolate2(" ", cat_r7.rollup.problems, "/", cat_r7.items.length, " ");
|
|
86
|
-
} }
|
|
87
86
|
function PrismSidebarComponent_For_10_For_7_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
88
|
-
i0.ɵɵ
|
|
87
|
+
i0.ɵɵelement(0, "prism-badge", 23);
|
|
89
88
|
} if (rf & 2) {
|
|
90
|
-
const
|
|
91
|
-
i0.ɵɵ
|
|
89
|
+
const chip_r9 = ctx;
|
|
90
|
+
i0.ɵɵproperty("tone", chip_r9.tone)("value", chip_r9.text);
|
|
92
91
|
} }
|
|
93
92
|
function PrismSidebarComponent_For_10_For_7_Conditional_8_For_2_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
94
|
-
i0.ɵɵelement(0, "prism-icon",
|
|
93
|
+
i0.ɵɵelement(0, "prism-icon", 28);
|
|
95
94
|
} if (rf & 2) {
|
|
96
|
-
const
|
|
97
|
-
i0.ɵɵclassMap("sb-health sb-health--" +
|
|
98
|
-
i0.ɵɵproperty("name",
|
|
95
|
+
const mark_r12 = ctx.$implicit;
|
|
96
|
+
i0.ɵɵclassMap("sb-health sb-health--" + mark_r12.variant);
|
|
97
|
+
i0.ɵɵproperty("name", mark_r12.icon)("size", 11);
|
|
98
|
+
i0.ɵɵattribute("aria-label", mark_r12.label);
|
|
99
99
|
} }
|
|
100
100
|
function PrismSidebarComponent_For_10_For_7_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
101
|
-
const
|
|
101
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
102
102
|
i0.ɵɵelementStart(0, "button", 17);
|
|
103
|
-
i0.ɵɵlistener("click", function PrismSidebarComponent_For_10_For_7_Conditional_8_For_2_Template_button_click_0_listener() { const
|
|
104
|
-
i0.ɵɵelement(1, "prism-icon",
|
|
105
|
-
i0.ɵɵelementStart(2, "span",
|
|
103
|
+
i0.ɵɵlistener("click", function PrismSidebarComponent_For_10_For_7_Conditional_8_For_2_Template_button_click_0_listener() { const row_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.onSelect(row_r11.item)); });
|
|
104
|
+
i0.ɵɵelement(1, "prism-icon", 25);
|
|
105
|
+
i0.ɵɵelementStart(2, "span", 19);
|
|
106
106
|
i0.ɵɵtext(3);
|
|
107
107
|
i0.ɵɵelementEnd();
|
|
108
|
-
i0.ɵɵelementStart(4, "span",
|
|
109
|
-
i0.ɵɵrepeaterCreate(5, PrismSidebarComponent_For_10_For_7_Conditional_8_For_2_For_6_Template, 1,
|
|
108
|
+
i0.ɵɵelementStart(4, "span", 26);
|
|
109
|
+
i0.ɵɵrepeaterCreate(5, PrismSidebarComponent_For_10_For_7_Conditional_8_For_2_For_6_Template, 1, 5, "prism-icon", 27, _forTrack3);
|
|
110
110
|
i0.ɵɵelementEnd()();
|
|
111
111
|
} if (rf & 2) {
|
|
112
|
-
const
|
|
112
|
+
const row_r11 = ctx.$implicit;
|
|
113
113
|
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
114
|
-
i0.ɵɵclassProp("sb-item--active", ctx_r2.isActive(
|
|
115
|
-
i0.ɵɵattribute("title", ctx_r2.itemTooltip(
|
|
114
|
+
i0.ɵɵclassProp("sb-item--active", ctx_r2.isActive(row_r11.item))("sb-item--deprecated", ctx_r2.itemStatus(row_r11.item) === "deprecated");
|
|
115
|
+
i0.ɵɵattribute("title", ctx_r2.itemTooltip(row_r11.item, row_r11.decorations));
|
|
116
116
|
i0.ɵɵadvance();
|
|
117
|
-
i0.ɵɵproperty("name",
|
|
117
|
+
i0.ɵɵproperty("name", row_r11.icon)("size", 12);
|
|
118
118
|
i0.ɵɵadvance(2);
|
|
119
|
-
i0.ɵɵtextInterpolate(ctx_r2.itemLabel(
|
|
119
|
+
i0.ɵɵtextInterpolate(ctx_r2.itemLabel(row_r11.item));
|
|
120
120
|
i0.ɵɵadvance(2);
|
|
121
|
-
i0.ɵɵrepeater(
|
|
121
|
+
i0.ɵɵrepeater(row_r11.decorations?.marks ?? i0.ɵɵpureFunction0(8, _c1));
|
|
122
122
|
} }
|
|
123
123
|
function PrismSidebarComponent_For_10_For_7_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
124
124
|
i0.ɵɵelementStart(0, "div", 15);
|
|
125
|
-
i0.ɵɵrepeaterCreate(1, PrismSidebarComponent_For_10_For_7_Conditional_8_For_2_Template, 7, 9, "button",
|
|
125
|
+
i0.ɵɵrepeaterCreate(1, PrismSidebarComponent_For_10_For_7_Conditional_8_For_2_Template, 7, 9, "button", 24, _forTrack2, true);
|
|
126
126
|
i0.ɵɵelementEnd();
|
|
127
127
|
} if (rf & 2) {
|
|
128
128
|
const cat_r7 = i0.ɵɵnextContext().$implicit;
|
|
@@ -136,11 +136,13 @@ function PrismSidebarComponent_For_10_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
136
136
|
i0.ɵɵelement(2, "prism-icon", 13)(3, "span", 14);
|
|
137
137
|
i0.ɵɵtext(4);
|
|
138
138
|
i0.ɵɵelementStart(5, "span", 22);
|
|
139
|
-
i0.ɵɵ
|
|
139
|
+
i0.ɵɵtext(6);
|
|
140
|
+
i0.ɵɵconditionalCreate(7, PrismSidebarComponent_For_10_For_7_Conditional_7_Template, 1, 2, "prism-badge", 23);
|
|
140
141
|
i0.ɵɵelementEnd()();
|
|
141
142
|
i0.ɵɵconditionalCreate(8, PrismSidebarComponent_For_10_For_7_Conditional_8_Template, 3, 0, "div", 15);
|
|
142
143
|
i0.ɵɵelementEnd();
|
|
143
144
|
} if (rf & 2) {
|
|
145
|
+
let tmp_29_0;
|
|
144
146
|
const cat_r7 = ctx.$implicit;
|
|
145
147
|
const section_r8 = i0.ɵɵnextContext().$implicit;
|
|
146
148
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -151,27 +153,31 @@ function PrismSidebarComponent_For_10_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
151
153
|
i0.ɵɵproperty("size", 10);
|
|
152
154
|
i0.ɵɵadvance(2);
|
|
153
155
|
i0.ɵɵtextInterpolate1(" ", cat_r7.name, " ");
|
|
156
|
+
const count_r13 = ctx_r2.countOf(cat_r7.rollup, cat_r7.items.length);
|
|
154
157
|
i0.ɵɵadvance();
|
|
155
|
-
i0.ɵɵ
|
|
156
|
-
i0.ɵɵ
|
|
158
|
+
i0.ɵɵattribute("title", count_r13.title)("aria-label", count_r13.title);
|
|
159
|
+
i0.ɵɵadvance();
|
|
160
|
+
i0.ɵɵtextInterpolate1(" ", count_r13.total, " ");
|
|
161
|
+
i0.ɵɵadvance();
|
|
162
|
+
i0.ɵɵconditional((tmp_29_0 = count_r13.chip) ? 7 : -1, tmp_29_0);
|
|
157
163
|
i0.ɵɵadvance();
|
|
158
|
-
i0.ɵɵconditional(cat_r7.rollup.problems ? 6 : 7);
|
|
159
|
-
i0.ɵɵadvance(2);
|
|
160
164
|
i0.ɵɵconditional(!ctx_r2.isCollapsed("sec:" + section_r8.name + ":" + cat_r7.name) ? 8 : -1);
|
|
161
165
|
} }
|
|
162
166
|
function PrismSidebarComponent_For_10_Template(rf, ctx) { if (rf & 1) {
|
|
163
|
-
i0.ɵɵelementStart(0, "div",
|
|
167
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "span", 8);
|
|
164
168
|
i0.ɵɵelement(2, "prism-icon", 21);
|
|
165
169
|
i0.ɵɵtext(3);
|
|
166
170
|
i0.ɵɵelementEnd();
|
|
167
171
|
i0.ɵɵelementStart(4, "span");
|
|
168
172
|
i0.ɵɵtext(5);
|
|
169
173
|
i0.ɵɵelementEnd()();
|
|
170
|
-
i0.ɵɵrepeaterCreate(6, PrismSidebarComponent_For_10_For_7_Template, 9,
|
|
174
|
+
i0.ɵɵrepeaterCreate(6, PrismSidebarComponent_For_10_For_7_Template, 9, 10, "div", 10, _forTrack0);
|
|
171
175
|
} if (rf & 2) {
|
|
172
176
|
const section_r8 = ctx.$implicit;
|
|
177
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
173
178
|
i0.ɵɵadvance(2);
|
|
174
|
-
i0.ɵɵproperty("name", section_r8.icon)("size",
|
|
179
|
+
i0.ɵɵproperty("name", section_r8.icon)("size", 11);
|
|
180
|
+
i0.ɵɵattribute("data-facet", ctx_r2.facet(section_r8.name));
|
|
175
181
|
i0.ɵɵadvance();
|
|
176
182
|
i0.ɵɵtextInterpolate1(" ", section_r8.name, " ");
|
|
177
183
|
i0.ɵɵadvance(2);
|
|
@@ -182,12 +188,27 @@ function PrismSidebarComponent_For_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
182
188
|
const STORAGE_KEY = 'ng-prism-sidebar-collapsed';
|
|
183
189
|
const SECTION_ICONS = {
|
|
184
190
|
Components: 'box',
|
|
185
|
-
Directives: 'zap'
|
|
191
|
+
Directives: 'zap',
|
|
192
|
+
Services: 'plug',
|
|
193
|
+
Pipes: 'pipette'
|
|
186
194
|
};
|
|
187
195
|
const DEFAULT_SECTION_ICON = 'box-select';
|
|
196
|
+
const SERVICE_ICON = 'plug';
|
|
197
|
+
const PIPE_ICON = 'pipette';
|
|
188
198
|
function sectionIcon(name) {
|
|
189
199
|
return SECTION_ICONS[name] ?? DEFAULT_SECTION_ICON;
|
|
190
200
|
}
|
|
201
|
+
/** The glyph of an item's kind, shown unless it is a work in progress. `undefined` for a component: `lifecycleIcon` falls back to the box. */
|
|
202
|
+
function idleIcon(item) {
|
|
203
|
+
switch (item.kind) {
|
|
204
|
+
case 'service':
|
|
205
|
+
return SERVICE_ICON;
|
|
206
|
+
case 'pipe':
|
|
207
|
+
return PIPE_ICON;
|
|
208
|
+
default:
|
|
209
|
+
return undefined;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
191
212
|
export class PrismSidebarComponent {
|
|
192
213
|
navigationService = inject(PrismNavigationService);
|
|
193
214
|
searchService = inject(PrismSearchService);
|
|
@@ -235,7 +256,7 @@ export class PrismSidebarComponent {
|
|
|
235
256
|
categories: section.categories.map((cat) => {
|
|
236
257
|
const items = cat.items.map((item) => ({
|
|
237
258
|
item,
|
|
238
|
-
icon: lifecycleIcon(this.itemStatus(item)),
|
|
259
|
+
icon: lifecycleIcon(this.itemStatus(item), idleIcon(item)),
|
|
239
260
|
decorations: decorateItem(item, defs)
|
|
240
261
|
}));
|
|
241
262
|
return {
|
|
@@ -261,31 +282,19 @@ export class PrismSidebarComponent {
|
|
|
261
282
|
return next;
|
|
262
283
|
});
|
|
263
284
|
}
|
|
264
|
-
itemKey
|
|
265
|
-
return item.kind === 'component' ? item.data.meta.className : `page:${item.data.title}`;
|
|
266
|
-
}
|
|
285
|
+
itemKey = itemKey;
|
|
267
286
|
itemLabel(item) {
|
|
268
|
-
return item.kind === '
|
|
287
|
+
return item.kind === 'page' ? item.data.title : item.data.meta.showcaseConfig.title;
|
|
269
288
|
}
|
|
270
289
|
itemStatus(item) {
|
|
271
|
-
return item
|
|
290
|
+
return itemShowcaseConfig(item)?.status;
|
|
291
|
+
}
|
|
292
|
+
/** The category head's count and problem chip. A clean category shows only its size. */
|
|
293
|
+
countOf(rollup, total) {
|
|
294
|
+
return categoryCount(rollup, total);
|
|
272
295
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
* pill otherwise renders a bare number distinguished only by colour. A
|
|
276
|
-
* screen reader would read the group head as "Feedback 3 12" with nothing
|
|
277
|
-
* naming what either number means, and a colour-blind reader can't tell
|
|
278
|
-
* them apart at all.
|
|
279
|
-
*
|
|
280
|
-
* There is no zero branch: a clean category renders its plain
|
|
281
|
-
* item count and the template leaves both attributes off, because
|
|
282
|
-
* `aria-label` on a descendant feeds the group button's name-from-content
|
|
283
|
-
* and "Buttons 0 components need review" is a claim about a group that has
|
|
284
|
-
* nothing to review.
|
|
285
|
-
*/
|
|
286
|
-
rollupTooltip(rollup) {
|
|
287
|
-
const noun = rollup.problems === 1 ? 'component needs' : 'components need';
|
|
288
|
-
return `${rollup.problems} ${noun} review`;
|
|
296
|
+
facet(sectionName) {
|
|
297
|
+
return sectionFacet(sectionName);
|
|
289
298
|
}
|
|
290
299
|
itemTooltip(item, decorations) {
|
|
291
300
|
const status = this.itemStatus(item);
|
|
@@ -300,19 +309,22 @@ export class PrismSidebarComponent {
|
|
|
300
309
|
}
|
|
301
310
|
isActive(item) {
|
|
302
311
|
const active = this.navigationService.activeItem();
|
|
303
|
-
|
|
304
|
-
return false;
|
|
305
|
-
if (item.kind === 'component') {
|
|
306
|
-
return item.data.meta.className === active.data.meta.className;
|
|
307
|
-
}
|
|
308
|
-
return item.data.title === active.data.title;
|
|
312
|
+
return active !== null && itemKey(active) === itemKey(item);
|
|
309
313
|
}
|
|
310
314
|
onSelect(item) {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
315
|
+
switch (item.kind) {
|
|
316
|
+
case 'component':
|
|
317
|
+
this.navigationService.select(item.data);
|
|
318
|
+
break;
|
|
319
|
+
case 'service':
|
|
320
|
+
this.navigationService.selectService(item.data);
|
|
321
|
+
break;
|
|
322
|
+
case 'pipe':
|
|
323
|
+
this.navigationService.selectPipe(item.data);
|
|
324
|
+
break;
|
|
325
|
+
case 'page':
|
|
326
|
+
this.navigationService.selectPage(item.data);
|
|
327
|
+
break;
|
|
316
328
|
}
|
|
317
329
|
}
|
|
318
330
|
loadCollapsed() {
|
|
@@ -340,7 +352,7 @@ export class PrismSidebarComponent {
|
|
|
340
352
|
i0.ɵɵqueryAdvance();
|
|
341
353
|
} }, hostBindings: function PrismSidebarComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
342
354
|
i0.ɵɵlistener("keydown", function PrismSidebarComponent_keydown_HostBindingHandler($event) { return ctx.onGlobalKey($event); }, i0.ɵɵresolveDocument);
|
|
343
|
-
} }, decls: 11, vars: 3, consts: [["filterInput", ""], [1, "prism-sidebar"], [1, "sb-filter"], ["name", "search", 3, "size"], ["placeholder", "Filter
|
|
355
|
+
} }, decls: 11, vars: 3, consts: [["filterInput", ""], [1, "prism-sidebar"], [1, "sb-filter"], ["name", "search", 3, "size"], ["placeholder", "Filter\u2026", 3, "input", "value"], [1, "sb-scroll"], [1, "sb-pinned"], [1, "sb-section-head", "sb-section-head--first"], [1, "sb-section-head-l"], ["name", "pin", 1, "sb-section-icon", "sb-section-icon--muted", 3, "size"], [1, "sb-group", 3, "sb-group--collapsed"], [1, "sb-group"], [1, "sb-group-head", 3, "click"], ["name", "chevron-down", 3, "size"], [1, "sb-group-chip"], [1, "sb-group-body"], [1, "sb-item", 3, "sb-item--active"], [1, "sb-item", 3, "click"], ["name", "file-text", 1, "sb-item-icon", 3, "size"], [1, "sb-item-name"], [1, "sb-section-head"], [1, "sb-section-icon", 3, "name", "size"], [1, "sb-group-count"], ["size", "sm", "dot", "", "aria-hidden", "true", 3, "tone", "value"], [1, "sb-item", 3, "sb-item--active", "sb-item--deprecated"], [1, "sb-item-icon", 3, "name", "size"], [1, "sb-item-health"], ["role", "img", 3, "name", "size", "class"], ["role", "img", 3, "name", "size"]], template: function PrismSidebarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
344
356
|
i0.ɵɵelementStart(0, "nav", 1)(1, "div", 2);
|
|
345
357
|
i0.ɵɵelement(2, "prism-icon", 3);
|
|
346
358
|
i0.ɵɵelementStart(3, "input", 4, 0);
|
|
@@ -351,7 +363,7 @@ export class PrismSidebarComponent {
|
|
|
351
363
|
i0.ɵɵelementEnd()();
|
|
352
364
|
i0.ɵɵelementStart(7, "div", 5);
|
|
353
365
|
i0.ɵɵconditionalCreate(8, PrismSidebarComponent_Conditional_8_Template, 9, 2, "div", 6);
|
|
354
|
-
i0.ɵɵrepeaterCreate(9, PrismSidebarComponent_For_10_Template, 8,
|
|
366
|
+
i0.ɵɵrepeaterCreate(9, PrismSidebarComponent_For_10_Template, 8, 5, null, null, _forTrack0);
|
|
355
367
|
i0.ɵɵelementEnd()();
|
|
356
368
|
} if (rf & 2) {
|
|
357
369
|
i0.ɵɵadvance(2);
|
|
@@ -362,13 +374,13 @@ export class PrismSidebarComponent {
|
|
|
362
374
|
i0.ɵɵconditional(ctx.pageCategories().length > 0 ? 8 : -1);
|
|
363
375
|
i0.ɵɵadvance();
|
|
364
376
|
i0.ɵɵrepeater(ctx.componentSections());
|
|
365
|
-
} }, dependencies: [PrismIconComponent], styles: [".prism-sidebar[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n}\n\n.sb-filter[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n height: 30px;\n padding: 0 10px;\n margin: 12px;\n color: var(--%NS%prism-text-muted);\n background: var(--%NS%prism-input-bg);\n border: 1px solid var(--%NS%prism-border);\n border-radius: 6px;\n}\n\n.sb-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n font-family: var(--%NS%font-sans);\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text);\n outline: none;\n background: transparent;\n border: 0;\n}\n\n.sb-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder {\n color: var(--%NS%prism-text-muted);\n}\n\n.sb-filter[_ngcontent-%COMP%] kbd[_ngcontent-%COMP%] {\n padding: 1px 5px;\n font-family: var(--%NS%font-mono);\n font-size: 10px;\n color: var(--%NS%prism-text-
|
|
377
|
+
} }, dependencies: [PrismIconComponent, PrismBadgeComponent], styles: [".prism-sidebar[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n}\n\n.sb-filter[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n height: 30px;\n padding: 0 10px;\n margin: 12px;\n color: var(--%NS%prism-text-muted);\n background: var(--%NS%prism-input-bg);\n border: 1px solid var(--%NS%prism-border);\n border-radius: 6px;\n}\n\n.sb-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n font-family: var(--%NS%font-sans);\n font-size: var(--%NS%fs-md);\n color: var(--%NS%prism-text);\n outline: none;\n background: transparent;\n border: 0;\n}\n\n.sb-filter[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder {\n color: var(--%NS%prism-text-muted);\n}\n\n.sb-filter[_ngcontent-%COMP%] kbd[_ngcontent-%COMP%] {\n padding: 1px 5px;\n font-family: var(--%NS%font-mono);\n font-size: 10px;\n color: var(--%NS%prism-text-muted);\n border: 1px solid var(--%NS%prism-border);\n border-radius: 3px;\n}\n\n.sb-scroll[_ngcontent-%COMP%] {\n flex: 1;\n padding: 0 0 16px;\n margin-right: 6px;\n overflow-y: auto;\n scrollbar-color: var(--%NS%prism-border-strong) transparent;\n scrollbar-width: thin;\n}\n\n.sb-scroll[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 8px;\n}\n\n.sb-scroll[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--%NS%prism-border-strong);\n border-radius: 4px;\n}\n\n.sb-scroll[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.sb-pinned[_ngcontent-%COMP%] {\n padding: 0 0 6px;\n}\n\n.sb-section-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 14px 6px;\n margin-top: 6px;\n font-size: 11px;\n font-weight: 600;\n color: var(--%NS%prism-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.07em;\n border-top: 1px solid var(--%NS%prism-border);\n}\n\n.sb-section-head-l[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n align-items: center;\n}\n\n.sb-section-icon[_ngcontent-%COMP%] {\n color: var(--%NS%prism-primary);\n}\n\n.sb-group[_ngcontent-%COMP%] {\n margin-bottom: 4px;\n}\n\n.sb-group-head[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n align-items: center;\n width: 100%;\n padding: 6px 14px 4px;\n font-family: var(--%NS%font-sans);\n font-size: 12.5px;\n font-weight: 500;\n color: var(--%NS%prism-text-2);\n text-align: left;\n cursor: pointer;\n user-select: none;\n background: none;\n border: none;\n}\n\n.sb-group-head[_ngcontent-%COMP%] > prism-icon[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text-muted);\n transition: transform var(--%NS%dur-fast);\n}\n\n.sb-group--collapsed[_ngcontent-%COMP%] .sb-group-head[_ngcontent-%COMP%] > prism-icon[_ngcontent-%COMP%] {\n transform: rotate(-90deg);\n}\n\n.sb-group-chip[_ngcontent-%COMP%] {\n width: 6px;\n height: 6px;\n background: var(--%NS%prism-text-ghost);\n border-radius: 2px;\n}\n\n.sb-group-count[_ngcontent-%COMP%] {\n display: inline-flex;\n gap: 6px;\n align-items: center;\n margin-left: auto;\n font-family: var(--%NS%font-mono);\n font-size: 10.5px;\n font-weight: 500;\n color: var(--%NS%prism-text-muted);\n}\n\n.sb-item[_ngcontent-%COMP%] {\n display: flex;\n gap: 10px;\n align-items: center;\n width: 100%;\n height: 30px;\n padding: 0 14px 0 28px;\n font-family: var(--%NS%font-sans);\n font-size: 13px;\n color: var(--%NS%prism-text-2);\n text-align: left;\n cursor: pointer;\n background: none;\n border: none;\n transition:\n background var(--%NS%dur-fast),\n color var(--%NS%dur-fast);\n}\n\n.sb-item[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text);\n background: color-mix(in srgb, var(--%NS%prism-primary) 5%, transparent);\n}\n\n.sb-item--active[_ngcontent-%COMP%] {\n position: relative;\n font-weight: 500;\n color: var(--%NS%prism-text);\n background: var(--%NS%prism-primary-bg);\n}\n\n.sb-item-icon[_ngcontent-%COMP%] {\n flex: 0 0 12px;\n color: var(--%NS%prism-text-muted);\n}\n\n.sb-item--active[_ngcontent-%COMP%] .sb-item-icon[_ngcontent-%COMP%] {\n color: var(--%NS%prism-primary);\n}\n\n.sb-item-name[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n\n\n\n\n\n\n\n.sb-item-health[_ngcontent-%COMP%] {\n display: flex;\n flex: none;\n gap: var(--%NS%sp-1);\n align-items: center;\n justify-content: flex-end;\n width: 40px;\n overflow: hidden;\n}\n\n\n\n\n\n\n.sb-health[_ngcontent-%COMP%] {\n fill: none;\n stroke: currentcolor;\n stroke-width: 2;\n}\n\n.sb-health--warn[_ngcontent-%COMP%] {\n color: var(--%NS%prism-warn);\n}\n\n.sb-health--danger[_ngcontent-%COMP%] {\n color: var(--%NS%prism-danger);\n}\n\n.sb-item--deprecated[_ngcontent-%COMP%] .sb-item-name[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text-muted);\n text-decoration: line-through;\n text-decoration-thickness: 1px;\n}\n\n[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 2px;\n}\n\n\n.sb-section-head--first[_ngcontent-%COMP%] {\n margin-top: 0;\n border-top: 0;\n}\n\n.sb-section-icon--muted[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text-muted);\n}\n\n\n.sb-section-icon[data-facet='cyan'][_ngcontent-%COMP%] {\n color: var(--%NS%prism-facet-cyan);\n}\n\n.sb-section-icon[data-facet='blue'][_ngcontent-%COMP%] {\n color: var(--%NS%prism-facet-blue);\n}\n\n.sb-section-icon[data-facet='violet'][_ngcontent-%COMP%] {\n color: var(--%NS%prism-facet-violet);\n}\n\n.sb-section-icon[data-facet='magenta'][_ngcontent-%COMP%] {\n color: var(--%NS%prism-facet-magenta);\n}\n\n\n\n\n.sb-item--%NS%active[_ngcontent-%COMP%]::before {\n position: absolute;\n top: 50%;\n left: 4px;\n width: 16px;\n height: 3px;\n margin-top: -1.5px;\n content: '';\n background: var(--%NS%prism-brand-ink);\n border-radius: 2px;\n transform: rotate(90deg);\n}"] });
|
|
366
378
|
}
|
|
367
379
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismSidebarComponent, [{
|
|
368
380
|
type: Component,
|
|
369
|
-
args: [{ selector: 'prism-sidebar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent], template: "<nav class=\"prism-sidebar\">\n <div class=\"sb-filter\">\n <prism-icon\n name=\"search\"\n [size]=\"12\" />\n <input\n #filterInput\n placeholder=\"Filter components\u2026\"\n [value]=\"searchService.query()\"\n (input)=\"searchService.search($any($event.target).value)\" />\n <kbd>/</kbd>\n </div>\n\n <div class=\"sb-scroll\">\n @if (pageCategories().length > 0) {\n <div class=\"sb-pinned\">\n <div class=\"sb-pinned-head\">\n <span class=\"sb-pinned-head-l\">\n <prism-icon\n name=\"pin\"\n [size]=\"10\"\n class=\"sb-pinned-pin\" />\n Pages\n </span>\n <span>{{ totalPages() }}</span>\n </div>\n @for (cat of pageCategories(); track cat.name) {\n <div\n class=\"sb-group\"\n [class.sb-group--collapsed]=\"isCollapsed('page:' + cat.name)\">\n <button\n class=\"sb-group-head\"\n (click)=\"toggleCollapse('page:' + cat.name)\"\n [attr.aria-expanded]=\"!isCollapsed('page:' + cat.name)\">\n <prism-icon\n name=\"chevron-down\"\n [size]=\"10\" />\n <span class=\"sb-group-chip\"></span>\n {{ cat.name }}\n </button>\n @if (!isCollapsed('page:' + cat.name)) {\n <div class=\"sb-group-body\">\n @for (item of cat.items; track itemKey(item)) {\n <button\n class=\"sb-item\"\n [class.sb-item--active]=\"isActive(item)\"\n (click)=\"onSelect(item)\">\n <span class=\"sb-item-name\">{{ itemLabel(item) }}</span>\n </button>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n @for (section of componentSections(); track section.name) {\n <div class=\"sb-section-head\">\n <span class=\"sb-section-head-l\">\n <prism-icon\n [name]=\"section.icon\"\n [size]=\"10\"\n class=\"sb-section-icon\" />\n {{ section.name }}\n </span>\n <span>{{ section.totalCount }}</span>\n </div>\n @for (cat of section.categories; track cat.name) {\n <div\n class=\"sb-group\"\n [class.sb-group--collapsed]=\"isCollapsed('sec:' + section.name + ':' + cat.name)\">\n <button\n class=\"sb-group-head\"\n (click)=\"toggleCollapse('sec:' + section.name + ':' + cat.name)\"\n [attr.aria-expanded]=\"!isCollapsed('sec:' + section.name + ':' + cat.name)\">\n <prism-icon\n name=\"chevron-down\"\n [size]=\"10\" />\n <span class=\"sb-group-chip\"></span>\n {{ cat.name }}\n <span\n class=\"sb-group-count\"\n [class.sb-group-count--warn]=\"cat.rollup.variant === 'warn'\"\n [class.sb-group-count--danger]=\"cat.rollup.variant === 'danger'\"\n [attr.title]=\"cat.rollup.problems ? rollupTooltip(cat.rollup) : null\"\n [attr.aria-label]=\"cat.rollup.problems ? rollupTooltip(cat.rollup) : null\">\n @if (cat.rollup.problems) {\n {{ cat.rollup.problems }}/{{ cat.items.length }}\n } @else {\n {{ cat.items.length }}\n }\n </span>\n </button>\n @if (!isCollapsed('sec:' + section.name + ':' + cat.name)) {\n <div class=\"sb-group-body\">\n @for (row of cat.items; track itemKey(row.item)) {\n <button\n class=\"sb-item\"\n [class.sb-item--active]=\"isActive(row.item)\"\n [class.sb-item--deprecated]=\"itemStatus(row.item) === 'deprecated'\"\n [attr.title]=\"itemTooltip(row.item, row.decorations)\"\n (click)=\"onSelect(row.item)\">\n <prism-icon\n [name]=\"row.icon\"\n [size]=\"12\"\n class=\"sb-item-icon\" />\n <span class=\"sb-item-name\">{{ itemLabel(row.item) }}</span>\n <span class=\"sb-item-health\">\n @for (mark of row.decorations?.marks ?? []; track mark.id) {\n <prism-icon\n [name]=\"mark.icon\"\n [size]=\"11\"\n [class]=\"'sb-health sb-health--' + mark.variant\" />\n }\n </span>\n </button>\n }\n </div>\n }\n </div>\n }\n }\n </div>\n</nav>\n", styles: [".prism-sidebar {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n}\n\n.sb-filter {\n display: flex;\n gap: 8px;\n align-items: center;\n height: 30px;\n padding: 0 10px;\n margin: 12px;\n color: var(--prism-text-muted);\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n border-radius: 6px;\n}\n\n.sb-filter input {\n flex: 1;\n min-width: 0;\n font-family: var(--font-sans);\n font-size: var(--fs-md);\n color: var(--prism-text);\n outline: none;\n background: transparent;\n border: 0;\n}\n\n.sb-filter input::placeholder {\n color: var(--prism-text-muted);\n}\n\n.sb-filter kbd {\n padding: 1px 5px;\n font-family: var(--font-mono);\n font-size: 10px;\n color: var(--prism-text-ghost);\n border: 1px solid var(--prism-border);\n border-radius: 3px;\n}\n\n.sb-scroll {\n flex: 1;\n padding: 10px 0 16px;\n padding-top: 0;\n overflow-y: auto;\n}\n\n.sb-scroll::-webkit-scrollbar {\n width: 8px;\n}\n\n.sb-scroll::-webkit-scrollbar-thumb {\n background: var(--prism-border-strong);\n border-radius: 4px;\n}\n\n.sb-scroll::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.sb-pinned {\n padding: 0 0 10px;\n margin-bottom: 4px;\n border-top: 1px solid var(--prism-border);\n border-bottom: 1px solid var(--prism-border);\n}\n\n.sb-section-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n margin-top: 6px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--prism-text-ghost);\n text-transform: uppercase;\n letter-spacing: 0.09em;\n}\n\n.sb-section-head-l {\n display: flex;\n gap: 6px;\n align-items: center;\n}\n\n.sb-section-icon {\n color: var(--prism-primary);\n}\n\n.sb-pinned-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 14px 6px;\n margin-top: 6px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--prism-text-ghost);\n text-transform: uppercase;\n letter-spacing: 0.09em;\n}\n\n.sb-pinned-head-l {\n display: flex;\n gap: 6px;\n align-items: center;\n}\n\n.sb-pinned-pin {\n color: var(--prism-accent);\n}\n\n.sb-group {\n margin-bottom: 4px;\n}\n\n.sb-group-head {\n display: flex;\n gap: 6px;\n align-items: center;\n width: 100%;\n padding: 8px 14px 6px;\n font-family: var(--font-sans);\n font-size: 10.5px;\n font-weight: 700;\n color: var(--prism-text-ghost);\n text-align: left;\n text-transform: uppercase;\n letter-spacing: 0.09em;\n cursor: pointer;\n user-select: none;\n background: none;\n border: none;\n}\n\n.sb-group-head prism-icon {\n color: var(--prism-text-ghost);\n transition: transform var(--dur-fast);\n}\n\n.sb-group--collapsed .sb-group-head prism-icon {\n transform: rotate(-90deg);\n}\n\n.sb-group-chip {\n width: 6px;\n height: 6px;\n background: var(--prism-text-ghost);\n border-radius: 2px;\n}\n\n.sb-group-count {\n margin-left: auto;\n font-family: var(--font-mono);\n font-size: 10px;\n font-weight: 500;\n color: var(--prism-text-ghost);\n}\n\n.sb-group-count--warn {\n color: var(--prism-mark-attention);\n}\n\n.sb-group-count--danger {\n color: var(--prism-mark-critical);\n}\n\n.sb-item {\n display: flex;\n gap: 10px;\n align-items: center;\n width: 100%;\n height: 30px;\n padding: 0 14px 0 28px;\n font-family: var(--font-sans);\n font-size: 13px;\n color: var(--prism-text-2);\n text-align: left;\n cursor: pointer;\n background: none;\n border: none;\n transition:\n background var(--dur-fast),\n color var(--dur-fast);\n}\n\n.sb-item:hover {\n color: var(--prism-text);\n background: color-mix(in srgb, var(--prism-primary) 5%, transparent);\n}\n\n.sb-item--active {\n font-weight: 500;\n background: color-mix(in srgb, var(--prism-primary) 12%, transparent);\n}\n\n.sb-item-icon {\n flex: 0 0 12px;\n opacity: 0.7;\n}\n\n.sb-item-name {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Fixed width sized for the three built-in decoration sources (a11y,\n plugin-coverage, plugin-visual-regression) at 11px each plus two\n --sp-1 gaps, with a little headroom. navigationDecorations is an open\n extension point, so a fourth mark from a third-party plugin is\n clipped via overflow: hidden rather than allowed to grow the gutter.\n The point of a fixed-width gutter is that rows never shift\n horizontally as you scan the list. */\n.sb-item-health {\n display: flex;\n flex: none;\n gap: var(--sp-1);\n align-items: center;\n justify-content: flex-end;\n width: 40px;\n overflow: hidden;\n}\n\n/* Outline, not fill, and full saturation only for danger. The mechanism\n behind these marks is already deviation-driven: decorateItem returns\n null for a clean component and every source bails out at variant === 'ok'.\n What made them read as wallpaper was the drawing: a filled shape at full\n saturation, one per row, in a repo where deviating is the normal case. */\n.sb-health {\n fill: none;\n stroke: currentcolor;\n stroke-width: 2;\n}\n\n.sb-health--warn {\n color: color-mix(in srgb, var(--prism-mark-attention) 80%, transparent);\n}\n\n.sb-health--danger {\n color: var(--prism-mark-critical);\n}\n\n.sb-item--deprecated .sb-item-name {\n color: var(--prism-text-ghost);\n text-decoration: line-through;\n text-decoration-thickness: 1px;\n opacity: 0.7;\n}\n\n:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 2px;\n}\n"] }]
|
|
381
|
+
args: [{ selector: 'prism-sidebar', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent, PrismBadgeComponent], template: "<nav class=\"prism-sidebar\">\n <div class=\"sb-filter\">\n <prism-icon\n name=\"search\"\n [size]=\"12\" />\n <input\n #filterInput\n placeholder=\"Filter\u2026\"\n [value]=\"searchService.query()\"\n (input)=\"searchService.search($any($event.target).value)\" />\n <kbd>/</kbd>\n </div>\n\n <div class=\"sb-scroll\">\n @if (pageCategories().length > 0) {\n <div class=\"sb-pinned\">\n <div class=\"sb-section-head sb-section-head--first\">\n <span class=\"sb-section-head-l\">\n <prism-icon\n name=\"pin\"\n [size]=\"10\"\n class=\"sb-section-icon sb-section-icon--muted\" />\n Pages\n </span>\n <span>{{ totalPages() }}</span>\n </div>\n @for (cat of pageCategories(); track cat.name) {\n <div\n class=\"sb-group\"\n [class.sb-group--collapsed]=\"isCollapsed('page:' + cat.name)\">\n <button\n class=\"sb-group-head\"\n (click)=\"toggleCollapse('page:' + cat.name)\"\n [attr.aria-expanded]=\"!isCollapsed('page:' + cat.name)\">\n <prism-icon\n name=\"chevron-down\"\n [size]=\"10\" />\n <span class=\"sb-group-chip\"></span>\n {{ cat.name }}\n </button>\n @if (!isCollapsed('page:' + cat.name)) {\n <div class=\"sb-group-body\">\n @for (item of cat.items; track itemKey(item)) {\n <button\n class=\"sb-item\"\n [class.sb-item--active]=\"isActive(item)\"\n (click)=\"onSelect(item)\">\n <prism-icon\n name=\"file-text\"\n [size]=\"12\"\n class=\"sb-item-icon\" />\n <span class=\"sb-item-name\">{{ itemLabel(item) }}</span>\n </button>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n @for (section of componentSections(); track section.name) {\n <div class=\"sb-section-head\">\n <span class=\"sb-section-head-l\">\n <prism-icon\n [name]=\"section.icon\"\n [size]=\"11\"\n class=\"sb-section-icon\"\n [attr.data-facet]=\"facet(section.name)\" />\n {{ section.name }}\n </span>\n <span>{{ section.totalCount }}</span>\n </div>\n @for (cat of section.categories; track cat.name) {\n <div\n class=\"sb-group\"\n [class.sb-group--collapsed]=\"isCollapsed('sec:' + section.name + ':' + cat.name)\">\n <button\n class=\"sb-group-head\"\n (click)=\"toggleCollapse('sec:' + section.name + ':' + cat.name)\"\n [attr.aria-expanded]=\"!isCollapsed('sec:' + section.name + ':' + cat.name)\">\n <prism-icon\n name=\"chevron-down\"\n [size]=\"10\" />\n <span class=\"sb-group-chip\"></span>\n {{ cat.name }}\n @let count = countOf(cat.rollup, cat.items.length);\n <span\n class=\"sb-group-count\"\n [attr.title]=\"count.title\"\n [attr.aria-label]=\"count.title\">\n {{ count.total }}\n @if (count.chip; as chip) {\n <prism-badge\n size=\"sm\"\n dot\n [tone]=\"chip.tone\"\n [value]=\"chip.text\"\n aria-hidden=\"true\" />\n }\n </span>\n </button>\n @if (!isCollapsed('sec:' + section.name + ':' + cat.name)) {\n <div class=\"sb-group-body\">\n @for (row of cat.items; track itemKey(row.item)) {\n <button\n class=\"sb-item\"\n [class.sb-item--active]=\"isActive(row.item)\"\n [class.sb-item--deprecated]=\"itemStatus(row.item) === 'deprecated'\"\n [attr.title]=\"itemTooltip(row.item, row.decorations)\"\n (click)=\"onSelect(row.item)\">\n <prism-icon\n [name]=\"row.icon\"\n [size]=\"12\"\n class=\"sb-item-icon\" />\n <span class=\"sb-item-name\">{{ itemLabel(row.item) }}</span>\n <span class=\"sb-item-health\">\n @for (mark of row.decorations?.marks ?? []; track mark.id) {\n <prism-icon\n [name]=\"mark.icon\"\n [size]=\"11\"\n role=\"img\"\n [attr.aria-label]=\"mark.label\"\n [class]=\"'sb-health sb-health--' + mark.variant\" />\n }\n </span>\n </button>\n }\n </div>\n }\n </div>\n }\n }\n </div>\n</nav>\n", styles: [".prism-sidebar {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n}\n\n.sb-filter {\n display: flex;\n gap: 8px;\n align-items: center;\n height: 30px;\n padding: 0 10px;\n margin: 12px;\n color: var(--prism-text-muted);\n background: var(--prism-input-bg);\n border: 1px solid var(--prism-border);\n border-radius: 6px;\n}\n\n.sb-filter input {\n flex: 1;\n min-width: 0;\n font-family: var(--font-sans);\n font-size: var(--fs-md);\n color: var(--prism-text);\n outline: none;\n background: transparent;\n border: 0;\n}\n\n.sb-filter input::placeholder {\n color: var(--prism-text-muted);\n}\n\n.sb-filter kbd {\n padding: 1px 5px;\n font-family: var(--font-mono);\n font-size: 10px;\n color: var(--prism-text-muted);\n border: 1px solid var(--prism-border);\n border-radius: 3px;\n}\n\n.sb-scroll {\n flex: 1;\n padding: 0 0 16px;\n margin-right: 6px;\n overflow-y: auto;\n scrollbar-color: var(--prism-border-strong) transparent;\n scrollbar-width: thin;\n}\n\n.sb-scroll::-webkit-scrollbar {\n width: 8px;\n}\n\n.sb-scroll::-webkit-scrollbar-thumb {\n background: var(--prism-border-strong);\n border-radius: 4px;\n}\n\n.sb-scroll::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.sb-pinned {\n padding: 0 0 6px;\n}\n\n.sb-section-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 14px 6px;\n margin-top: 6px;\n font-size: 11px;\n font-weight: 600;\n color: var(--prism-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.07em;\n border-top: 1px solid var(--prism-border);\n}\n\n.sb-section-head-l {\n display: flex;\n gap: 6px;\n align-items: center;\n}\n\n.sb-section-icon {\n color: var(--prism-primary);\n}\n\n.sb-group {\n margin-bottom: 4px;\n}\n\n.sb-group-head {\n display: flex;\n gap: 6px;\n align-items: center;\n width: 100%;\n padding: 6px 14px 4px;\n font-family: var(--font-sans);\n font-size: 12.5px;\n font-weight: 500;\n color: var(--prism-text-2);\n text-align: left;\n cursor: pointer;\n user-select: none;\n background: none;\n border: none;\n}\n\n.sb-group-head > prism-icon {\n color: var(--prism-text-muted);\n transition: transform var(--dur-fast);\n}\n\n.sb-group--collapsed .sb-group-head > prism-icon {\n transform: rotate(-90deg);\n}\n\n.sb-group-chip {\n width: 6px;\n height: 6px;\n background: var(--prism-text-ghost);\n border-radius: 2px;\n}\n\n.sb-group-count {\n display: inline-flex;\n gap: 6px;\n align-items: center;\n margin-left: auto;\n font-family: var(--font-mono);\n font-size: 10.5px;\n font-weight: 500;\n color: var(--prism-text-muted);\n}\n\n.sb-item {\n display: flex;\n gap: 10px;\n align-items: center;\n width: 100%;\n height: 30px;\n padding: 0 14px 0 28px;\n font-family: var(--font-sans);\n font-size: 13px;\n color: var(--prism-text-2);\n text-align: left;\n cursor: pointer;\n background: none;\n border: none;\n transition:\n background var(--dur-fast),\n color var(--dur-fast);\n}\n\n.sb-item:hover {\n color: var(--prism-text);\n background: color-mix(in srgb, var(--prism-primary) 5%, transparent);\n}\n\n.sb-item--active {\n position: relative;\n font-weight: 500;\n color: var(--prism-text);\n background: var(--prism-primary-bg);\n}\n\n.sb-item-icon {\n flex: 0 0 12px;\n color: var(--prism-text-muted);\n}\n\n.sb-item--active .sb-item-icon {\n color: var(--prism-primary);\n}\n\n.sb-item-name {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Fixed width sized for the three built-in decoration sources (a11y,\n plugin-coverage, plugin-visual-regression) at 11px each plus two\n --sp-1 gaps, with a little headroom. navigationDecorations is an open\n extension point, so a fourth mark from a third-party plugin is\n clipped via overflow: hidden rather than allowed to grow the gutter.\n The point of a fixed-width gutter is that rows never shift\n horizontally as you scan the list. */\n.sb-item-health {\n display: flex;\n flex: none;\n gap: var(--sp-1);\n align-items: center;\n justify-content: flex-end;\n width: 40px;\n overflow: hidden;\n}\n\n/* Outline, not fill, and full saturation only for danger. The mechanism\n behind these marks is already deviation-driven: decorateItem returns\n null for a clean component and every source bails out at variant === 'ok'.\n What made them read as wallpaper was the drawing: a filled shape at full\n saturation, one per row, in a repo where deviating is the normal case. */\n.sb-health {\n fill: none;\n stroke: currentcolor;\n stroke-width: 2;\n}\n\n.sb-health--warn {\n color: var(--prism-warn);\n}\n\n.sb-health--danger {\n color: var(--prism-danger);\n}\n\n.sb-item--deprecated .sb-item-name {\n color: var(--prism-text-muted);\n text-decoration: line-through;\n text-decoration-thickness: 1px;\n}\n\n:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 2px;\n}\n\n/* The first section sits right under the filter and needs no rule above it. */\n.sb-section-head--first {\n margin-top: 0;\n border-top: 0;\n}\n\n.sb-section-icon--muted {\n color: var(--prism-text-muted);\n}\n\n/* Section icons in the logo's facet colours. */\n.sb-section-icon[data-facet='cyan'] {\n color: var(--prism-facet-cyan);\n}\n\n.sb-section-icon[data-facet='blue'] {\n color: var(--prism-facet-blue);\n}\n\n.sb-section-icon[data-facet='violet'] {\n color: var(--prism-facet-violet);\n}\n\n.sb-section-icon[data-facet='magenta'] {\n color: var(--prism-facet-magenta);\n}\n\n/* The active entry carries a short ray of the brand light on its inner edge.\n The ink is a horizontal gradient, so the ray is drawn lying down and turned\n upright: cyan at the top, magenta at the bottom. */\n.sb-item--active::before {\n position: absolute;\n top: 50%;\n left: 4px;\n width: 16px;\n height: 3px;\n margin-top: -1.5px;\n content: '';\n background: var(--prism-brand-ink);\n border-radius: 2px;\n transform: rotate(90deg);\n}\n"] }]
|
|
370
382
|
}], null, { filterInput: [{ type: i0.ViewChild, args: ['filterInput', { isSignal: true }] }], onGlobalKey: [{
|
|
371
383
|
type: HostListener,
|
|
372
384
|
args: ['document:keydown', ['$event']]
|
|
373
385
|
}] }); })();
|
|
374
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismSidebarComponent, { className: "PrismSidebarComponent", filePath: "app/sidebar/prism-sidebar.component.ts", lineNumber:
|
|
386
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismSidebarComponent, { className: "PrismSidebarComponent", filePath: "app/sidebar/prism-sidebar.component.ts", lineNumber: 75 }); })();
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme tokens deprecated since 22.7.0 and removed in 23.0.0, with what
|
|
3
|
+
* replaces each. A `carried` token's override still reaches its successor until
|
|
4
|
+
* then; the others are no longer read by anything.
|
|
5
|
+
*
|
|
6
|
+
* Framework-free: the theme resolver warns in the browser and the builder
|
|
7
|
+
* reports the same overrides at build time.
|
|
8
|
+
*/
|
|
9
|
+
export declare const DEPRECATED_THEME_TOKENS: Readonly<Record<string, {
|
|
10
|
+
successor: string;
|
|
11
|
+
carried: boolean;
|
|
12
|
+
}>>;
|
|
13
|
+
/** What to tell a user who overrides a deprecated token. */
|
|
14
|
+
export declare function deprecatedTokenNotice(token: string): string;
|
|
15
|
+
//# sourceMappingURL=deprecated-tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deprecated-tokens.d.ts","sourceRoot":"","sources":["../../../src/app/theme/deprecated-tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAOrG,CAAC;AAEF,4DAA4D;AAC5D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK3D"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme tokens deprecated since 22.7.0 and removed in 23.0.0, with what
|
|
3
|
+
* replaces each. A `carried` token's override still reaches its successor until
|
|
4
|
+
* then; the others are no longer read by anything.
|
|
5
|
+
*
|
|
6
|
+
* Framework-free: the theme resolver warns in the browser and the builder
|
|
7
|
+
* reports the same overrides at build time.
|
|
8
|
+
*/
|
|
9
|
+
export const DEPRECATED_THEME_TOKENS = {
|
|
10
|
+
'--prism-mark-nominal': { successor: '--prism-success', carried: true },
|
|
11
|
+
'--prism-mark-attention': { successor: '--prism-warn', carried: true },
|
|
12
|
+
'--prism-mark-critical': { successor: '--prism-danger', carried: true },
|
|
13
|
+
'--prism-spectrum': { successor: '--prism-brand-gradient', carried: false },
|
|
14
|
+
'--prism-primary-from': { successor: '--prism-brand-gradient', carried: false },
|
|
15
|
+
'--prism-primary-to': { successor: '--prism-brand-gradient', carried: false }
|
|
16
|
+
};
|
|
17
|
+
/** What to tell a user who overrides a deprecated token. */
|
|
18
|
+
export function deprecatedTokenNotice(token) {
|
|
19
|
+
const { successor, carried } = DEPRECATED_THEME_TOKENS[token];
|
|
20
|
+
const effect = carried ? `Until then its value is carried over to ${successor}` : 'Nothing reads it any more';
|
|
21
|
+
return `${token} is deprecated since 22.7.0 and will be removed in 23.0.0. ${effect}; override ${successor} instead.`;
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"favicon.d.ts","sourceRoot":"","sources":["../../../src/app/theme/favicon.ts"],"names":[],"mappings":"AAEA,yFAAyF;AACzF,eAAO,MAAM,oBAAoB,QAA8F,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { BRAND_MARK_SQUARE_VIEWBOX, brandMarkSvg } from '../shared/brand-mark.js';
|
|
2
|
+
/** The brand mark as the styleguide's favicon, set at runtime by `PrismThemeService`. */
|
|
3
|
+
export const FAVICON_SVG_DATA_URI = `data:image/svg+xml,${encodeURIComponent(brandMarkSvg('fav-', BRAND_MARK_SQUARE_VIEWBOX))}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-default-theme.d.ts","sourceRoot":"","sources":["../../../src/app/theme/prism-default-theme.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prism-default-theme.d.ts","sourceRoot":"","sources":["../../../src/app/theme/prism-default-theme.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4DnD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiEpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2DpD,CAAC;AAEF,eAAO,MAAM,mBAAmB,wBAAmB,CAAC"}
|