@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
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input, model, viewChildren } from '@angular/core';
|
|
2
|
+
import { nextRovingIndex, rovingTabStop } from './roving-focus.js';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const _c0 = ["segment"];
|
|
5
|
+
const _forTrack0 = ($index, $item) => $item.value;
|
|
6
|
+
function PrismSegmentedComponent_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
7
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
8
|
+
i0.ɵɵdomElementStart(0, "button", 3, 0);
|
|
9
|
+
i0.ɵɵdomListener("click", function PrismSegmentedComponent_For_2_Template_button_click_0_listener() { const option_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.choose(option_r2)); });
|
|
10
|
+
i0.ɵɵtext(2);
|
|
11
|
+
i0.ɵɵdomElementEnd();
|
|
12
|
+
} if (rf & 2) {
|
|
13
|
+
const option_r2 = ctx.$implicit;
|
|
14
|
+
const ɵ$index_3_r4 = ctx.$index;
|
|
15
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
16
|
+
i0.ɵɵclassProp("prism-segment--on", option_r2.value === ctx_r2.value());
|
|
17
|
+
i0.ɵɵattribute("aria-checked", option_r2.value === ctx_r2.value())("tabindex", ctx_r2.isFocusable(ɵ$index_3_r4) ? 0 : -1)("title", option_r2.title ?? null);
|
|
18
|
+
i0.ɵɵadvance(2);
|
|
19
|
+
i0.ɵɵtextInterpolate1(" ", option_r2.label, " ");
|
|
20
|
+
} }
|
|
21
|
+
/**
|
|
22
|
+
* A choice between a few values: the view switch (Playground / Overview / API),
|
|
23
|
+
* zoom levels, fit modes. A radio group with a roving tabindex; the active
|
|
24
|
+
* segment sits raised on the track with a line in the brand ink under it.
|
|
25
|
+
*/
|
|
26
|
+
export class PrismSegmentedComponent {
|
|
27
|
+
options = input.required(/* @ts-ignore */
|
|
28
|
+
...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
|
|
29
|
+
value = model(null, /* @ts-ignore */
|
|
30
|
+
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
31
|
+
ariaLabel = input(null, /* @ts-ignore */
|
|
32
|
+
...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
33
|
+
size = input('md', /* @ts-ignore */
|
|
34
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
35
|
+
segments = viewChildren('segment', /* @ts-ignore */
|
|
36
|
+
...(ngDevMode ? [{ debugName: "segments" }] : /* istanbul ignore next */ []));
|
|
37
|
+
choose(option) {
|
|
38
|
+
this.value.set(option.value);
|
|
39
|
+
}
|
|
40
|
+
onKey(event) {
|
|
41
|
+
const options = this.options();
|
|
42
|
+
const current = Math.max(0, this.segments().findIndex((s) => s.nativeElement === event.target));
|
|
43
|
+
const next = nextRovingIndex(current, event.key, options.length);
|
|
44
|
+
if (next === null)
|
|
45
|
+
return;
|
|
46
|
+
event.preventDefault();
|
|
47
|
+
this.value.set(options[next].value);
|
|
48
|
+
this.segments()[next]?.nativeElement.focus();
|
|
49
|
+
}
|
|
50
|
+
/** The segment in the tab order: the chosen one, or the first when the value matches none. */
|
|
51
|
+
isFocusable(index) {
|
|
52
|
+
return (index ===
|
|
53
|
+
rovingTabStop(this.options().map((option) => option.value), this.value()));
|
|
54
|
+
}
|
|
55
|
+
static ɵfac = function PrismSegmentedComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismSegmentedComponent)(); };
|
|
56
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismSegmentedComponent, selectors: [["prism-segmented"]], viewQuery: function PrismSegmentedComponent_Query(rf, ctx) { if (rf & 1) {
|
|
57
|
+
i0.ɵɵviewQuerySignal(ctx.segments, _c0, 5);
|
|
58
|
+
} if (rf & 2) {
|
|
59
|
+
i0.ɵɵqueryAdvance();
|
|
60
|
+
} }, hostVars: 2, hostBindings: function PrismSegmentedComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
61
|
+
i0.ɵɵclassProp("prism-segmented--sm", ctx.size() === "sm");
|
|
62
|
+
} }, inputs: { options: [1, "options"], value: [1, "value"], ariaLabel: [1, "ariaLabel"], size: [1, "size"] }, outputs: { value: "valueChange" }, decls: 3, vars: 1, consts: [["segment", ""], ["role", "radiogroup", 1, "prism-segmented", 3, "keydown"], ["type", "button", "role", "radio", 1, "prism-segment", 3, "prism-segment--on"], ["type", "button", "role", "radio", 1, "prism-segment", 3, "click"]], template: function PrismSegmentedComponent_Template(rf, ctx) { if (rf & 1) {
|
|
63
|
+
i0.ɵɵdomElementStart(0, "div", 1);
|
|
64
|
+
i0.ɵɵdomListener("keydown", function PrismSegmentedComponent_Template_div_keydown_0_listener($event) { return ctx.onKey($event); });
|
|
65
|
+
i0.ɵɵrepeaterCreate(1, PrismSegmentedComponent_For_2_Template, 3, 6, "button", 2, _forTrack0);
|
|
66
|
+
i0.ɵɵdomElementEnd();
|
|
67
|
+
} if (rf & 2) {
|
|
68
|
+
i0.ɵɵattribute("aria-label", ctx.ariaLabel());
|
|
69
|
+
i0.ɵɵadvance();
|
|
70
|
+
i0.ɵɵrepeater(ctx.options());
|
|
71
|
+
} }, styles: ["[_nghost-%COMP%] {\n display: inline-flex;\n}\n\n.prism-segmented[_ngcontent-%COMP%] {\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n background: var(--%NS%prism-input-bg);\n border-radius: 6px;\n box-shadow: inset 0 0 0 1px var(--%NS%prism-border);\n}\n\n.prism-segment[_ngcontent-%COMP%] {\n position: relative;\n padding: 2px 12px;\n font-family: var(--%NS%font-sans);\n font-size: var(--%NS%fs-md);\n font-weight: 500;\n color: var(--%NS%prism-text-muted);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 4px;\n transition: color var(--%NS%dur-fast) var(--%NS%ease-default);\n}\n\n.prism-segment[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text-2);\n}\n\n.prism-segment--on[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text);\n background: var(--%NS%prism-bg-elevated);\n box-shadow: var(--%NS%prism-shadow-sm);\n}\n\n.prism-segment--%NS%on[_ngcontent-%COMP%]::after {\n position: absolute;\n right: 10px;\n bottom: 1px;\n left: 10px;\n height: 1.5px;\n content: '';\n background: var(--%NS%prism-brand-ink);\n border-radius: 2px;\n}\n\n.prism-segment[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 1px;\n}\n\n.prism-segmented--sm[_nghost-%COMP%] .prism-segment[_ngcontent-%COMP%] {\n padding: 1px 9px;\n font-family: var(--%NS%font-mono);\n font-size: var(--%NS%fs-sm);\n}"] });
|
|
72
|
+
}
|
|
73
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismSegmentedComponent, [{
|
|
74
|
+
type: Component,
|
|
75
|
+
args: [{ selector: 'prism-segmented', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: { '[class.prism-segmented--sm]': "size() === 'sm'" }, template: "<div\n class=\"prism-segmented\"\n role=\"radiogroup\"\n [attr.aria-label]=\"ariaLabel()\"\n (keydown)=\"onKey($event)\">\n @for (option of options(); track option.value; let i = $index) {\n <button\n #segment\n type=\"button\"\n role=\"radio\"\n class=\"prism-segment\"\n [class.prism-segment--on]=\"option.value === value()\"\n [attr.aria-checked]=\"option.value === value()\"\n [attr.tabindex]=\"isFocusable(i) ? 0 : -1\"\n [attr.title]=\"option.title ?? null\"\n (click)=\"choose(option)\">\n {{ option.label }}\n </button>\n }\n</div>\n", styles: [":host {\n display: inline-flex;\n}\n\n.prism-segmented {\n display: inline-flex;\n gap: 2px;\n padding: 2px;\n background: var(--prism-input-bg);\n border-radius: 6px;\n box-shadow: inset 0 0 0 1px var(--prism-border);\n}\n\n.prism-segment {\n position: relative;\n padding: 2px 12px;\n font-family: var(--font-sans);\n font-size: var(--fs-md);\n font-weight: 500;\n color: var(--prism-text-muted);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n border-radius: 4px;\n transition: color var(--dur-fast) var(--ease-default);\n}\n\n.prism-segment:hover {\n color: var(--prism-text-2);\n}\n\n.prism-segment--on {\n color: var(--prism-text);\n background: var(--prism-bg-elevated);\n box-shadow: var(--prism-shadow-sm);\n}\n\n.prism-segment--on::after {\n position: absolute;\n right: 10px;\n bottom: 1px;\n left: 10px;\n height: 1.5px;\n content: '';\n background: var(--prism-brand-ink);\n border-radius: 2px;\n}\n\n.prism-segment:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: 1px;\n}\n\n:host(.prism-segmented--sm) .prism-segment {\n padding: 1px 9px;\n font-family: var(--font-mono);\n font-size: var(--fs-sm);\n}\n"] }]
|
|
76
|
+
}], null, { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], segments: [{ type: i0.ViewChildren, args: ['segment', { isSignal: true }] }] }); })();
|
|
77
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismSegmentedComponent, { className: "PrismSegmentedComponent", filePath: "app/shared/prism-segmented.component.ts", lineNumber: 23 }); })();
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { BadgeTone } from './badge.types.js';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/** A tab's badge: `count` is a plain quantity, `issues` a number of open findings. */
|
|
4
|
+
export interface PrismTabBadge {
|
|
5
|
+
kind: 'count' | 'issues';
|
|
6
|
+
text: string;
|
|
7
|
+
tone?: BadgeTone;
|
|
8
|
+
/** Read after the tab's label by assistive technology, e.g. "A11y, 1 violation". Same name as on `PanelBadge`. */
|
|
9
|
+
label: string;
|
|
10
|
+
}
|
|
11
|
+
export interface PrismTabItem {
|
|
12
|
+
id: string;
|
|
13
|
+
label: string;
|
|
14
|
+
icon?: string;
|
|
15
|
+
badge?: PrismTabBadge | null;
|
|
16
|
+
title?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The one tab bar of the chrome: variant ribbon and panel tabs (`md`), sub-tabs
|
|
20
|
+
* inside panels (`sm`).
|
|
21
|
+
*
|
|
22
|
+
* One indicator per size: `md` underlines the active tab in the brand ink, `sm`
|
|
23
|
+
* in the primary colour. Full tab semantics with a roving tabindex: arrow keys,
|
|
24
|
+
* Home and End move between tabs and select them.
|
|
25
|
+
*/
|
|
26
|
+
export declare class PrismTabsComponent {
|
|
27
|
+
readonly items: import("@angular/core").InputSignal<readonly PrismTabItem[]>;
|
|
28
|
+
readonly active: import("@angular/core").ModelSignal<string | null>;
|
|
29
|
+
readonly size: import("@angular/core").InputSignal<"md" | "sm">;
|
|
30
|
+
readonly ariaLabel: import("@angular/core").InputSignal<string | null>;
|
|
31
|
+
/** When set, each tab points at `<prefix><id>` through `aria-controls`. */
|
|
32
|
+
readonly panelIdPrefix: import("@angular/core").InputSignal<string | null>;
|
|
33
|
+
private readonly tabs;
|
|
34
|
+
/** The tab in the tab order: the active one, or the first when the active id matches none. */
|
|
35
|
+
protected readonly tabStop: import("@angular/core").Signal<number>;
|
|
36
|
+
constructor();
|
|
37
|
+
protected select(item: PrismTabItem): void;
|
|
38
|
+
protected onKey(event: KeyboardEvent): void;
|
|
39
|
+
protected panelId(item: PrismTabItem): string | null;
|
|
40
|
+
protected accessibleName(item: PrismTabItem): string;
|
|
41
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrismTabsComponent, never>;
|
|
42
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PrismTabsComponent, "prism-tabs", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "panelIdPrefix": { "alias": "panelIdPrefix"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; }, never, never, true, never>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=prism-tabs.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-tabs.component.d.ts","sourceRoot":"","sources":["../../../src/app/shared/prism-tabs.component.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;;AAGlD,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kHAAkH;IAClH,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,qBASa,kBAAkB;IAC3B,QAAQ,CAAC,KAAK,+DAA6C;IAC3D,QAAQ,CAAC,MAAM,qDAA8B;IAC7C,QAAQ,CAAC,IAAI,mDAA4B;IACzC,QAAQ,CAAC,SAAS,qDAA8B;IAChD,2EAA2E;IAC3E,QAAQ,CAAC,aAAa,qDAA8B;IAEpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsD;IAE3E,8FAA8F;IAC9F,SAAS,CAAC,QAAQ,CAAC,OAAO,yCAKxB;;IAUF,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAI1C,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAc3C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI;IAMpD,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM;yCAlD3C,kBAAkB;2CAAlB,kBAAkB;CAqD9B"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, effect, input, model, viewChildren } from '@angular/core';
|
|
2
|
+
import { PrismIconComponent } from '../icons/prism-icon.component.js';
|
|
3
|
+
import { nextRovingIndex, rovingTabStop } from './roving-focus.js';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const _c0 = ["tab"];
|
|
6
|
+
const _forTrack0 = ($index, $item) => $item.id;
|
|
7
|
+
function PrismTabsComponent_For_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵelement(0, "prism-icon", 4);
|
|
9
|
+
} if (rf & 2) {
|
|
10
|
+
const item_r2 = i0.ɵɵnextContext().$implicit;
|
|
11
|
+
i0.ɵɵproperty("name", item_r2.icon)("size", 13);
|
|
12
|
+
} }
|
|
13
|
+
function PrismTabsComponent_For_2_Conditional_5_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelementStart(0, "span", 6);
|
|
15
|
+
i0.ɵɵtext(1);
|
|
16
|
+
i0.ɵɵelementEnd();
|
|
17
|
+
} if (rf & 2) {
|
|
18
|
+
const badge_r4 = i0.ɵɵnextContext();
|
|
19
|
+
i0.ɵɵadvance();
|
|
20
|
+
i0.ɵɵtextInterpolate(badge_r4.text);
|
|
21
|
+
} }
|
|
22
|
+
function PrismTabsComponent_For_2_Conditional_5_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵelementStart(0, "span", 7);
|
|
24
|
+
i0.ɵɵtext(1);
|
|
25
|
+
i0.ɵɵelementEnd();
|
|
26
|
+
} if (rf & 2) {
|
|
27
|
+
const badge_r4 = i0.ɵɵnextContext();
|
|
28
|
+
i0.ɵɵattribute("data-tone", badge_r4.tone ?? "danger");
|
|
29
|
+
i0.ɵɵadvance();
|
|
30
|
+
i0.ɵɵtextInterpolate(badge_r4.text);
|
|
31
|
+
} }
|
|
32
|
+
function PrismTabsComponent_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵconditionalCreate(0, PrismTabsComponent_For_2_Conditional_5_Conditional_0_Template, 2, 1, "span", 6)(1, PrismTabsComponent_For_2_Conditional_5_Conditional_1_Template, 2, 2, "span", 7);
|
|
34
|
+
} if (rf & 2) {
|
|
35
|
+
i0.ɵɵconditional(ctx.kind === "count" ? 0 : 1);
|
|
36
|
+
} }
|
|
37
|
+
function PrismTabsComponent_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
38
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
39
|
+
i0.ɵɵelementStart(0, "button", 3, 0);
|
|
40
|
+
i0.ɵɵlistener("click", function PrismTabsComponent_For_2_Template_button_click_0_listener() { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.select(item_r2)); });
|
|
41
|
+
i0.ɵɵconditionalCreate(2, PrismTabsComponent_For_2_Conditional_2_Template, 1, 2, "prism-icon", 4);
|
|
42
|
+
i0.ɵɵelementStart(3, "span", 5);
|
|
43
|
+
i0.ɵɵtext(4);
|
|
44
|
+
i0.ɵɵelementEnd();
|
|
45
|
+
i0.ɵɵconditionalCreate(5, PrismTabsComponent_For_2_Conditional_5_Template, 2, 1);
|
|
46
|
+
i0.ɵɵelementEnd();
|
|
47
|
+
} if (rf & 2) {
|
|
48
|
+
let tmp_19_0;
|
|
49
|
+
const item_r2 = ctx.$implicit;
|
|
50
|
+
const $index_r5 = ctx.$index;
|
|
51
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
52
|
+
i0.ɵɵclassProp("prism-tab--active", item_r2.id === ctx_r2.active());
|
|
53
|
+
i0.ɵɵattribute("aria-selected", item_r2.id === ctx_r2.active())("tabindex", $index_r5 === ctx_r2.tabStop() ? 0 : -1)("aria-controls", ctx_r2.panelId(item_r2))("aria-label", ctx_r2.accessibleName(item_r2))("title", item_r2.title ?? null);
|
|
54
|
+
i0.ɵɵadvance(2);
|
|
55
|
+
i0.ɵɵconditional(item_r2.icon ? 2 : -1);
|
|
56
|
+
i0.ɵɵadvance(2);
|
|
57
|
+
i0.ɵɵtextInterpolate(item_r2.label);
|
|
58
|
+
i0.ɵɵadvance();
|
|
59
|
+
i0.ɵɵconditional((tmp_19_0 = item_r2.badge) ? 5 : -1, tmp_19_0);
|
|
60
|
+
} }
|
|
61
|
+
/**
|
|
62
|
+
* The one tab bar of the chrome: variant ribbon and panel tabs (`md`), sub-tabs
|
|
63
|
+
* inside panels (`sm`).
|
|
64
|
+
*
|
|
65
|
+
* One indicator per size: `md` underlines the active tab in the brand ink, `sm`
|
|
66
|
+
* in the primary colour. Full tab semantics with a roving tabindex: arrow keys,
|
|
67
|
+
* Home and End move between tabs and select them.
|
|
68
|
+
*/
|
|
69
|
+
export class PrismTabsComponent {
|
|
70
|
+
items = input.required(/* @ts-ignore */
|
|
71
|
+
...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
72
|
+
active = model(null, /* @ts-ignore */
|
|
73
|
+
...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
|
|
74
|
+
size = input('md', /* @ts-ignore */
|
|
75
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
76
|
+
ariaLabel = input(null, /* @ts-ignore */
|
|
77
|
+
...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
78
|
+
/** When set, each tab points at `<prefix><id>` through `aria-controls`. */
|
|
79
|
+
panelIdPrefix = input(null, /* @ts-ignore */
|
|
80
|
+
...(ngDevMode ? [{ debugName: "panelIdPrefix" }] : /* istanbul ignore next */ []));
|
|
81
|
+
tabs = viewChildren('tab', /* @ts-ignore */
|
|
82
|
+
...(ngDevMode ? [{ debugName: "tabs" }] : /* istanbul ignore next */ []));
|
|
83
|
+
/** The tab in the tab order: the active one, or the first when the active id matches none. */
|
|
84
|
+
tabStop = computed(() => rovingTabStop(this.items().map((item) => item.id), this.active()), /* @ts-ignore */
|
|
85
|
+
...(ngDevMode ? [{ debugName: "tabStop" }] : /* istanbul ignore next */ []));
|
|
86
|
+
constructor() {
|
|
87
|
+
effect(() => {
|
|
88
|
+
const index = this.items().findIndex((item) => item.id === this.active());
|
|
89
|
+
this.tabs()[index]?.nativeElement.scrollIntoView?.({ block: 'nearest', inline: 'nearest' });
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
select(item) {
|
|
93
|
+
this.active.set(item.id);
|
|
94
|
+
}
|
|
95
|
+
onKey(event) {
|
|
96
|
+
const items = this.items();
|
|
97
|
+
const current = Math.max(0, this.tabs().findIndex((tab) => tab.nativeElement === event.target));
|
|
98
|
+
const next = nextRovingIndex(current, event.key, items.length);
|
|
99
|
+
if (next === null)
|
|
100
|
+
return;
|
|
101
|
+
event.preventDefault();
|
|
102
|
+
this.active.set(items[next].id);
|
|
103
|
+
this.tabs()[next]?.nativeElement.focus();
|
|
104
|
+
}
|
|
105
|
+
panelId(item) {
|
|
106
|
+
const prefix = this.panelIdPrefix();
|
|
107
|
+
return prefix === null ? null : prefix + item.id;
|
|
108
|
+
}
|
|
109
|
+
accessibleName(item) {
|
|
110
|
+
return item.badge ? `${item.label}, ${item.badge.label}` : item.label;
|
|
111
|
+
}
|
|
112
|
+
static ɵfac = function PrismTabsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismTabsComponent)(); };
|
|
113
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismTabsComponent, selectors: [["prism-tabs"]], viewQuery: function PrismTabsComponent_Query(rf, ctx) { if (rf & 1) {
|
|
114
|
+
i0.ɵɵviewQuerySignal(ctx.tabs, _c0, 5);
|
|
115
|
+
} if (rf & 2) {
|
|
116
|
+
i0.ɵɵqueryAdvance();
|
|
117
|
+
} }, hostVars: 2, hostBindings: function PrismTabsComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
118
|
+
i0.ɵɵclassProp("prism-tabs--sm", ctx.size() === "sm");
|
|
119
|
+
} }, inputs: { items: [1, "items"], active: [1, "active"], size: [1, "size"], ariaLabel: [1, "ariaLabel"], panelIdPrefix: [1, "panelIdPrefix"] }, outputs: { active: "activeChange" }, decls: 3, vars: 1, consts: [["tab", ""], ["role", "tablist", 1, "prism-tabs", 3, "keydown"], ["type", "button", "role", "tab", 1, "prism-tab", 3, "prism-tab--active"], ["type", "button", "role", "tab", 1, "prism-tab", 3, "click"], ["aria-hidden", "true", 3, "name", "size"], [1, "prism-tab__label"], ["aria-hidden", "true", 1, "prism-tab__count"], ["aria-hidden", "true", 1, "prism-tab__issues"]], template: function PrismTabsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
120
|
+
i0.ɵɵelementStart(0, "div", 1);
|
|
121
|
+
i0.ɵɵlistener("keydown", function PrismTabsComponent_Template_div_keydown_0_listener($event) { return ctx.onKey($event); });
|
|
122
|
+
i0.ɵɵrepeaterCreate(1, PrismTabsComponent_For_2_Template, 6, 10, "button", 2, _forTrack0);
|
|
123
|
+
i0.ɵɵelementEnd();
|
|
124
|
+
} if (rf & 2) {
|
|
125
|
+
i0.ɵɵattribute("aria-label", ctx.ariaLabel());
|
|
126
|
+
i0.ɵɵadvance();
|
|
127
|
+
i0.ɵɵrepeater(ctx.items());
|
|
128
|
+
} }, dependencies: [PrismIconComponent], styles: ["[_nghost-%COMP%] {\n display: flex;\n min-width: 0;\n height: 100%;\n}\n\n.prism-tabs[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n gap: 2px;\n align-items: stretch;\n min-width: 0;\n overflow-x: auto;\n scrollbar-width: none;\n}\n\n.prism-tabs[_ngcontent-%COMP%]::-webkit-scrollbar {\n display: none;\n}\n\n.prism-tab[_ngcontent-%COMP%] {\n position: relative;\n display: flex;\n flex: none;\n gap: 7px;\n align-items: center;\n padding: 0 12px;\n font-family: var(--%NS%font-sans);\n font-size: 13px;\n font-weight: 500;\n color: var(--%NS%prism-text-muted);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n transition: color var(--%NS%dur-fast) var(--%NS%ease-default);\n}\n\n.prism-tab[_ngcontent-%COMP%]:hover {\n color: var(--%NS%prism-text-2);\n}\n\n.prism-tab--active[_ngcontent-%COMP%] {\n color: var(--%NS%prism-text);\n}\n\n\n.prism-tab--%NS%active[_ngcontent-%COMP%]::after {\n position: absolute;\n right: 8px;\n bottom: 0;\n left: 8px;\n height: 2px;\n content: '';\n background: var(--%NS%prism-brand-ink);\n border-radius: 2px;\n}\n\n.prism-tab[_ngcontent-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: -2px;\n border-radius: var(--%NS%radius-xs);\n}\n\n.prism-tabs--sm[_nghost-%COMP%] .prism-tab[_ngcontent-%COMP%] {\n gap: 6px;\n padding: 0 10px;\n font-size: 12.5px;\n}\n\n.prism-tabs--sm[_nghost-%COMP%] .prism-tab--%NS%active[_ngcontent-%COMP%]::after {\n right: 6px;\n left: 6px;\n height: 1.5px;\n background: var(--%NS%prism-primary);\n}\n\n.prism-tab__count[_ngcontent-%COMP%] {\n font-family: var(--%NS%font-mono);\n font-size: 10.5px;\n font-weight: 500;\n font-variant-numeric: tabular-nums;\n color: var(--%NS%prism-text-muted);\n}\n\n.prism-tab__issues[_ngcontent-%COMP%] {\n display: grid;\n place-items: center;\n min-width: 16px;\n height: 16px;\n padding: 0 5px;\n font-family: var(--%NS%font-mono);\n font-size: 10px;\n font-weight: 700;\n font-variant-numeric: tabular-nums;\n border-radius: 8px;\n}\n\n.prism-tab__issues[data-tone='danger'][_ngcontent-%COMP%] {\n color: var(--%NS%prism-danger);\n background: var(--%NS%prism-danger-bg);\n}\n\n.prism-tab__issues[data-tone='warn'][_ngcontent-%COMP%] {\n color: var(--%NS%prism-warn);\n background: var(--%NS%prism-warn-bg);\n}\n\n.prism-tab__issues[data-tone='primary'][_ngcontent-%COMP%] {\n color: var(--%NS%prism-primary);\n background: var(--%NS%prism-primary-bg);\n}"] });
|
|
129
|
+
}
|
|
130
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismTabsComponent, [{
|
|
131
|
+
type: Component,
|
|
132
|
+
args: [{ selector: 'prism-tabs', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PrismIconComponent], host: { '[class.prism-tabs--sm]': "size() === 'sm'" }, template: "<div\n class=\"prism-tabs\"\n role=\"tablist\"\n [attr.aria-label]=\"ariaLabel()\"\n (keydown)=\"onKey($event)\">\n @for (item of items(); track item.id) {\n <button\n #tab\n type=\"button\"\n role=\"tab\"\n class=\"prism-tab\"\n [class.prism-tab--active]=\"item.id === active()\"\n [attr.aria-selected]=\"item.id === active()\"\n [attr.tabindex]=\"$index === tabStop() ? 0 : -1\"\n [attr.aria-controls]=\"panelId(item)\"\n [attr.aria-label]=\"accessibleName(item)\"\n [attr.title]=\"item.title ?? null\"\n (click)=\"select(item)\">\n @if (item.icon) {\n <prism-icon\n [name]=\"item.icon\"\n [size]=\"13\"\n aria-hidden=\"true\" />\n }\n <span class=\"prism-tab__label\">{{ item.label }}</span>\n @if (item.badge; as badge) {\n @if (badge.kind === 'count') {\n <span\n class=\"prism-tab__count\"\n aria-hidden=\"true\"\n >{{ badge.text }}</span\n >\n } @else {\n <span\n class=\"prism-tab__issues\"\n [attr.data-tone]=\"badge.tone ?? 'danger'\"\n aria-hidden=\"true\"\n >{{ badge.text }}</span\n >\n }\n }\n </button>\n }\n</div>\n", styles: [":host {\n display: flex;\n min-width: 0;\n height: 100%;\n}\n\n.prism-tabs {\n display: flex;\n flex: 1;\n gap: 2px;\n align-items: stretch;\n min-width: 0;\n overflow-x: auto;\n scrollbar-width: none;\n}\n\n.prism-tabs::-webkit-scrollbar {\n display: none;\n}\n\n.prism-tab {\n position: relative;\n display: flex;\n flex: none;\n gap: 7px;\n align-items: center;\n padding: 0 12px;\n font-family: var(--font-sans);\n font-size: 13px;\n font-weight: 500;\n color: var(--prism-text-muted);\n white-space: nowrap;\n cursor: pointer;\n background: none;\n border: 0;\n transition: color var(--dur-fast) var(--ease-default);\n}\n\n.prism-tab:hover {\n color: var(--prism-text-2);\n}\n\n.prism-tab--active {\n color: var(--prism-text);\n}\n\n/* md: the brand ink, the one gradient a tab ever carries. */\n.prism-tab--active::after {\n position: absolute;\n right: 8px;\n bottom: 0;\n left: 8px;\n height: 2px;\n content: '';\n background: var(--prism-brand-ink);\n border-radius: 2px;\n}\n\n.prism-tab:focus-visible {\n outline: 2px solid var(--prism-primary);\n outline-offset: -2px;\n border-radius: var(--radius-xs);\n}\n\n:host(.prism-tabs--sm) .prism-tab {\n gap: 6px;\n padding: 0 10px;\n font-size: 12.5px;\n}\n\n:host(.prism-tabs--sm) .prism-tab--active::after {\n right: 6px;\n left: 6px;\n height: 1.5px;\n background: var(--prism-primary);\n}\n\n.prism-tab__count {\n font-family: var(--font-mono);\n font-size: 10.5px;\n font-weight: 500;\n font-variant-numeric: tabular-nums;\n color: var(--prism-text-muted);\n}\n\n.prism-tab__issues {\n display: grid;\n place-items: center;\n min-width: 16px;\n height: 16px;\n padding: 0 5px;\n font-family: var(--font-mono);\n font-size: 10px;\n font-weight: 700;\n font-variant-numeric: tabular-nums;\n border-radius: 8px;\n}\n\n.prism-tab__issues[data-tone='danger'] {\n color: var(--prism-danger);\n background: var(--prism-danger-bg);\n}\n\n.prism-tab__issues[data-tone='warn'] {\n color: var(--prism-warn);\n background: var(--prism-warn-bg);\n}\n\n.prism-tab__issues[data-tone='primary'] {\n color: var(--prism-primary);\n background: var(--prism-primary-bg);\n}\n"] }]
|
|
133
|
+
}], () => [], { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }, { type: i0.Output, args: ["activeChange"] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], panelIdPrefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelIdPrefix", required: false }] }], tabs: [{ type: i0.ViewChildren, args: ['tab', { isSignal: true }] }] }); })();
|
|
134
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismTabsComponent, { className: "PrismTabsComponent", filePath: "app/shared/prism-tabs.component.ts", lineNumber: 40 }); })();
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a roving focus moves for a key, following the WAI-ARIA tabs and radio
|
|
3
|
+
* group patterns: arrows step and wrap, Home and End jump to the ends. `null`
|
|
4
|
+
* when the key does not move focus.
|
|
5
|
+
*/
|
|
6
|
+
export declare function nextRovingIndex(current: number, key: string, count: number): number | null;
|
|
7
|
+
/**
|
|
8
|
+
* The one item of a roving group that is in the tab order: the active one, or
|
|
9
|
+
* the first when nothing matches (the active panel was filtered out, or no
|
|
10
|
+
* value is set), so the group can always be reached. `-1` for an empty group.
|
|
11
|
+
*/
|
|
12
|
+
export declare function rovingTabStop<T>(values: readonly T[], active: T | null): number;
|
|
13
|
+
//# sourceMappingURL=roving-focus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roving-focus.d.ts","sourceRoot":"","sources":["../../../src/app/shared/roving-focus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgB1F;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,MAAM,CAK/E"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a roving focus moves for a key, following the WAI-ARIA tabs and radio
|
|
3
|
+
* group patterns: arrows step and wrap, Home and End jump to the ends. `null`
|
|
4
|
+
* when the key does not move focus.
|
|
5
|
+
*/
|
|
6
|
+
export function nextRovingIndex(current, key, count) {
|
|
7
|
+
if (count <= 0)
|
|
8
|
+
return null;
|
|
9
|
+
switch (key) {
|
|
10
|
+
case 'ArrowRight':
|
|
11
|
+
case 'ArrowDown':
|
|
12
|
+
return (current + 1) % count;
|
|
13
|
+
case 'ArrowLeft':
|
|
14
|
+
case 'ArrowUp':
|
|
15
|
+
return (current - 1 + count) % count;
|
|
16
|
+
case 'Home':
|
|
17
|
+
return 0;
|
|
18
|
+
case 'End':
|
|
19
|
+
return count - 1;
|
|
20
|
+
default:
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The one item of a roving group that is in the tab order: the active one, or
|
|
26
|
+
* the first when nothing matches (the active panel was filtered out, or no
|
|
27
|
+
* value is set), so the group can always be reached. `-1` for an empty group.
|
|
28
|
+
*/
|
|
29
|
+
export function rovingTabStop(values, active) {
|
|
30
|
+
if (values.length === 0)
|
|
31
|
+
return -1;
|
|
32
|
+
const index = active === null ? -1 : values.indexOf(active);
|
|
33
|
+
return index < 0 ? 0 : index;
|
|
34
|
+
}
|
|
@@ -7,9 +7,22 @@ export declare class PrismShellComponent {
|
|
|
7
7
|
protected readonly navigationService: PrismNavigationService;
|
|
8
8
|
private readonly themeService;
|
|
9
9
|
protected readonly layout: PrismLayoutService;
|
|
10
|
+
protected readonly sidebarBounds: {
|
|
11
|
+
readonly min: 200;
|
|
12
|
+
readonly max: 360;
|
|
13
|
+
readonly default: 280;
|
|
14
|
+
};
|
|
15
|
+
protected readonly panelBounds: {
|
|
16
|
+
readonly min: 200;
|
|
17
|
+
readonly max: 560;
|
|
18
|
+
readonly default: 300;
|
|
19
|
+
};
|
|
10
20
|
protected readonly panelService: PrismPanelService;
|
|
11
21
|
private readonly urlStateService;
|
|
12
22
|
private readonly persistenceService;
|
|
23
|
+
private readonly variantBg;
|
|
24
|
+
/** Overlays on the canvas follow its ground: light and dark are absolute, the others follow the theme. */
|
|
25
|
+
protected readonly overlayTokens: import("@angular/core").Signal<Record<string, string>>;
|
|
13
26
|
protected readonly viewPanels: import("@angular/core").Signal<import("../../plugin/plugin.types.js").PanelDefinition[]>;
|
|
14
27
|
protected readonly showPanel: import("@angular/core").Signal<boolean>;
|
|
15
28
|
protected readonly shellStyle: import("@angular/core").Signal<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-shell.component.d.ts","sourceRoot":"","sources":["../../../src/app/shell/prism-shell.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prism-shell.component.d.ts","sourceRoot":"","sources":["../../../src/app/shell/prism-shell.component.ts"],"names":[],"mappings":"AAYA,OAAO,EAAgB,kBAAkB,EAAiB,MAAM,qCAAqC,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;;AAcvE,qBAuBa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,yBAAkC;IACtE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,SAAS,CAAC,QAAQ,CAAC,MAAM,qBAA8B;IACvD,SAAS,CAAC,QAAQ,CAAC,aAAa;;;;MAAiB;IACjD,SAAS,CAAC,QAAQ,CAAC,WAAW;;;;MAAgB;IAC9C,SAAS,CAAC,QAAQ,CAAC,YAAY,oBAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAmC;IACtE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAE3D,0GAA0G;IAC1G,SAAS,CAAC,QAAQ,CAAC,aAAa,yDAAmE;IAEnG,SAAS,CAAC,QAAQ,CAAC,UAAU,2FAAuC;IAEpE,SAAS,CAAC,QAAQ,CAAC,SAAS,0CAA0I;IAEtK,SAAS,CAAC,QAAQ,CAAC,UAAU,yCAI1B;;IAwCH,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;yCA/DlC,mBAAmB;2CAAnB,mBAAmB;CAmF/B"}
|