@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,16 +1,28 @@
|
|
|
1
1
|
import { computed, effect, Injectable, signal } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { deprecatedTokenNotice } from '../theme/deprecated-tokens.js';
|
|
3
|
+
import { FAVICON_SVG_DATA_URI } from '../theme/favicon.js';
|
|
4
|
+
import { resolveThemeTokens } from '../theme/resolve-theme-tokens.js';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
const STORAGE_KEY = 'ng-prism-theme';
|
|
5
|
-
const FAVICON_DATA_URI = `data:image/x-icon;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAA////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAQAAgAAAAAABAADAAAAAAAMAAMAAAAAAAwAA4AAAAAAHAADgAAAAAAcAAPAAAAAADwAA8AAAAAAPAAD4AAAAAB8AAPwAAAAAPwAA/AAAAAA/AAD+AAAAAH8AAP4AAAAAfwAA/wAAAAD/AAD/AAAAAP8AAP+AAAAB/wAA/8AAAAP/AAD/wAAAA/8AAP/gAAAH/wAA/+AAAAf/AAD/8AAAD/8AAP/wAAAP/wAA//gAAB//AAD//AAAP/8AAP/8AAA//wAA//4AAH//AAD//gAAf/8AAP//AAD//wAA//8AAP//AAD//4AB//8AAP//wAP//wAA///AA///AAD//+AH//8AAP//4Af//wAA///wD///AAD///AP//8AAP//+B///wAA///8P///AAD///w///8AAP///n///wAA////////AAD///////8AACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYzzAWAAKoGgACqBoAAqgaAAKoGgACqBoAAqgaAAKoGgACqBqoA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`;
|
|
6
7
|
export class PrismThemeService {
|
|
7
8
|
theme = signal(this.readStoredTheme(), /* @ts-ignore */
|
|
8
9
|
...(ngDevMode ? [{ debugName: "theme" }] : /* istanbul ignore next */ []));
|
|
9
10
|
isDark = computed(() => this.theme() === 'dark', /* @ts-ignore */
|
|
10
11
|
...(ngDevMode ? [{ debugName: "isDark" }] : /* istanbul ignore next */ []));
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
overrides = signal({}, /* @ts-ignore */
|
|
13
|
+
...(ngDevMode ? [{ debugName: "overrides" }] : /* istanbul ignore next */ []));
|
|
14
|
+
/** Every token of the active mode, including the user's overrides. */
|
|
15
|
+
appTokens = computed(() => resolveThemeTokens(this.theme(), this.overrides()).tokens, /* @ts-ignore */
|
|
16
|
+
...(ngDevMode ? [{ debugName: "appTokens" }] : /* istanbul ignore next */ []));
|
|
17
|
+
/**
|
|
18
|
+
* The dark set, for the header: since 22.7 it is a navy brand band in both
|
|
19
|
+
* themes. Bound as an inline style on the header host, so tokens composed
|
|
20
|
+
* from others (tints, status surfaces) are evaluated there again rather than
|
|
21
|
+
* inherited already resolved against the light theme.
|
|
22
|
+
*/
|
|
23
|
+
headerTokens = computed(() => resolveThemeTokens('dark', this.overrides()).tokens, /* @ts-ignore */
|
|
24
|
+
...(ngDevMode ? [{ debugName: "headerTokens" }] : /* istanbul ignore next */ []));
|
|
25
|
+
warnedDeprecations = new Set();
|
|
14
26
|
constructor() {
|
|
15
27
|
this.applyFavicon();
|
|
16
28
|
effect(() => {
|
|
@@ -24,25 +36,21 @@ export class PrismThemeService {
|
|
|
24
36
|
this.theme.update((t) => (t === 'dark' ? 'light' : 'dark'));
|
|
25
37
|
}
|
|
26
38
|
applyConfigOverrides(config) {
|
|
27
|
-
this.
|
|
28
|
-
this.darkOverrides = config.darkTheme ?? {};
|
|
29
|
-
this.lightOverrides = config.lightTheme ?? {};
|
|
39
|
+
this.overrides.set({ theme: config.theme, darkTheme: config.darkTheme, lightTheme: config.lightTheme });
|
|
30
40
|
this.applyTokens();
|
|
31
41
|
}
|
|
32
42
|
applyTokens() {
|
|
33
|
-
const
|
|
34
|
-
const base = isDark ? PRISM_DARK_THEME : PRISM_LIGHT_THEME;
|
|
35
|
-
const specific = isDark ? this.darkOverrides : this.lightOverrides;
|
|
36
|
-
const merged = {
|
|
37
|
-
...PRISM_BASE_TOKENS,
|
|
38
|
-
...base,
|
|
39
|
-
...specific,
|
|
40
|
-
...this.configOverrides
|
|
41
|
-
};
|
|
43
|
+
const { tokens, deprecatedOverrides } = resolveThemeTokens(this.theme(), this.overrides());
|
|
42
44
|
const style = document.documentElement.style;
|
|
43
|
-
for (const [key, value] of Object.entries(
|
|
45
|
+
for (const [key, value] of Object.entries(tokens)) {
|
|
44
46
|
style.setProperty(key, value);
|
|
45
47
|
}
|
|
48
|
+
for (const token of deprecatedOverrides) {
|
|
49
|
+
if (this.warnedDeprecations.has(token))
|
|
50
|
+
continue;
|
|
51
|
+
this.warnedDeprecations.add(token);
|
|
52
|
+
console.warn(`[ng-prism] ${deprecatedTokenNotice(token)}`);
|
|
53
|
+
}
|
|
46
54
|
}
|
|
47
55
|
applyFavicon() {
|
|
48
56
|
let link = document.querySelector('link[rel="icon"]');
|
|
@@ -52,7 +60,7 @@ export class PrismThemeService {
|
|
|
52
60
|
document.head.appendChild(link);
|
|
53
61
|
}
|
|
54
62
|
link.type = 'image/svg+xml';
|
|
55
|
-
link.href =
|
|
63
|
+
link.href = FAVICON_SVG_DATA_URI;
|
|
56
64
|
}
|
|
57
65
|
readStoredTheme() {
|
|
58
66
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-url-state.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-url-state.service.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"prism-url-state.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-url-state.service.ts"],"names":[],"mappings":";AAoDA,qBACa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAE7C,OAAO,CAAC,YAAY,CAAS;IAE7B,IAAI,IAAI,IAAI;IAsBZ,OAAO,CAAC,cAAc;IAyEtB,OAAO,CAAC,UAAU;yCAzGT,oBAAoB;;CAiJhC"}
|
|
@@ -6,6 +6,8 @@ import { PrismPanelService } from './prism-panel.service.js';
|
|
|
6
6
|
import { PrismRendererService } from './prism-renderer.service.js';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
const PARAM_COMPONENT = 'component';
|
|
9
|
+
const PARAM_SERVICE = 'service';
|
|
10
|
+
const PARAM_PIPE = 'pipe';
|
|
9
11
|
const PARAM_PAGE = 'page';
|
|
10
12
|
const PARAM_VARIANT = 'variant';
|
|
11
13
|
const PARAM_STATE = 'state';
|
|
@@ -27,6 +29,25 @@ function parseStateIndex(param, count) {
|
|
|
27
29
|
const index = Number(param);
|
|
28
30
|
return index < count ? index : null;
|
|
29
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* What a URL addresses, `null` for nothing. The same precedence as the restore,
|
|
34
|
+
* prefixed per kind so a component, a service and a pipe of one name still differ.
|
|
35
|
+
*/
|
|
36
|
+
function navKey(params) {
|
|
37
|
+
const component = params.get(PARAM_COMPONENT);
|
|
38
|
+
const service = params.get(PARAM_SERVICE);
|
|
39
|
+
const pipe = params.get(PARAM_PIPE);
|
|
40
|
+
const page = params.get(PARAM_PAGE);
|
|
41
|
+
if (component !== null)
|
|
42
|
+
return `${PARAM_COMPONENT}:${component}`;
|
|
43
|
+
if (service !== null)
|
|
44
|
+
return `${PARAM_SERVICE}:${service}`;
|
|
45
|
+
if (pipe !== null)
|
|
46
|
+
return `${PARAM_PIPE}:${pipe}`;
|
|
47
|
+
if (page !== null)
|
|
48
|
+
return `${PARAM_PAGE}:${page}`;
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
30
51
|
export class PrismUrlStateService {
|
|
31
52
|
manifestService = inject(PrismManifestService);
|
|
32
53
|
navigationService = inject(PrismNavigationService);
|
|
@@ -54,6 +75,8 @@ export class PrismUrlStateService {
|
|
|
54
75
|
restoreFromUrl() {
|
|
55
76
|
const params = new URLSearchParams(window.location.search);
|
|
56
77
|
const componentClassName = params.get(PARAM_COMPONENT);
|
|
78
|
+
const serviceClassName = params.get(PARAM_SERVICE);
|
|
79
|
+
const pipeClassName = params.get(PARAM_PIPE);
|
|
57
80
|
const pageTitle = params.get(PARAM_PAGE);
|
|
58
81
|
const variantParam = params.get(PARAM_VARIANT);
|
|
59
82
|
const stateParam = params.get(PARAM_STATE);
|
|
@@ -84,6 +107,18 @@ export class PrismUrlStateService {
|
|
|
84
107
|
stateIndex = parseStateIndex(stateParam, comp.meta.showcaseConfig.states?.length ?? 0);
|
|
85
108
|
}
|
|
86
109
|
}
|
|
110
|
+
else if (serviceClassName) {
|
|
111
|
+
const service = this.manifestService.services().find((s) => s.meta.className === serviceClassName);
|
|
112
|
+
if (service) {
|
|
113
|
+
this.navigationService.selectService(service);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
else if (pipeClassName) {
|
|
117
|
+
const pipe = this.manifestService.pipes().find((p) => p.meta.className === pipeClassName);
|
|
118
|
+
if (pipe) {
|
|
119
|
+
this.navigationService.selectPipe(pipe);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
87
122
|
else if (pageTitle) {
|
|
88
123
|
const page = this.manifestService.pages().find((p) => p.title === pageTitle);
|
|
89
124
|
if (page) {
|
|
@@ -116,6 +151,12 @@ export class PrismUrlStateService {
|
|
|
116
151
|
params.set(PARAM_STATE, String(stateIndex));
|
|
117
152
|
}
|
|
118
153
|
}
|
|
154
|
+
else if (item?.kind === 'service') {
|
|
155
|
+
params.set(PARAM_SERVICE, item.data.meta.className);
|
|
156
|
+
}
|
|
157
|
+
else if (item?.kind === 'pipe') {
|
|
158
|
+
params.set(PARAM_PIPE, item.data.meta.className);
|
|
159
|
+
}
|
|
119
160
|
else if (item?.kind === 'page') {
|
|
120
161
|
params.set(PARAM_PAGE, item.data.title);
|
|
121
162
|
}
|
|
@@ -129,10 +170,7 @@ export class PrismUrlStateService {
|
|
|
129
170
|
const newUrl = queryString ? `${window.location.pathname}?${queryString}` : window.location.pathname;
|
|
130
171
|
if (newUrl === window.location.pathname + window.location.search)
|
|
131
172
|
return;
|
|
132
|
-
|
|
133
|
-
const prevNavKey = currentParams.get(PARAM_COMPONENT) ?? currentParams.get(PARAM_PAGE);
|
|
134
|
-
const newNavKey = params.get(PARAM_COMPONENT) ?? params.get(PARAM_PAGE);
|
|
135
|
-
if (prevNavKey !== newNavKey) {
|
|
173
|
+
if (navKey(new URLSearchParams(window.location.search)) !== navKey(params)) {
|
|
136
174
|
window.history.pushState(null, '', newUrl);
|
|
137
175
|
}
|
|
138
176
|
else {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { StatusTone } from '../../plugin/status.js';
|
|
2
|
+
/** Colour roles of `prism-badge`. */
|
|
3
|
+
export type BadgeTone = 'neutral' | 'primary' | 'success' | 'warn' | 'danger';
|
|
4
|
+
export type { StatusTone };
|
|
5
|
+
/** The badge tone that shows a status verdict. */
|
|
6
|
+
export declare function toneForStatus(status: StatusTone): BadgeTone;
|
|
7
|
+
//# sourceMappingURL=badge.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.types.d.ts","sourceRoot":"","sources":["../../../src/app/shared/badge.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,qCAAqC;AACrC,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE9E,YAAY,EAAE,UAAU,EAAE,CAAC;AAQ3B,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAE3D"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ng-prism symbol, the mark without the wordmark, as data.
|
|
3
|
+
*
|
|
4
|
+
* Kept as data rather than an SVG file because two consumers draw it with
|
|
5
|
+
* different gradient ids: the logo component renders one instance per place it
|
|
6
|
+
* appears (header and sidebar footer at the same time), and SVG gradient ids are
|
|
7
|
+
* document-global; the favicon serialises it once into a data URI. The geometry
|
|
8
|
+
* is copied verbatim from `docs/assets/brand/ng-prism-symbol.svg` (2048 × 1608
|
|
9
|
+
* canvas), which `brand-mark.spec.ts` checks, and must not be edited: the brand
|
|
10
|
+
* guide forbids reshaping the mark.
|
|
11
|
+
*/
|
|
12
|
+
export interface BrandMarkGradient {
|
|
13
|
+
id: string;
|
|
14
|
+
/** End points on the mark's canvas (`gradientUnits="userSpaceOnUse"`). */
|
|
15
|
+
x1: number;
|
|
16
|
+
y1: number;
|
|
17
|
+
x2: number;
|
|
18
|
+
y2: number;
|
|
19
|
+
stops: ReadonlyArray<readonly [offset: string, colour: string]>;
|
|
20
|
+
}
|
|
21
|
+
export interface BrandMarkFacet {
|
|
22
|
+
d: string;
|
|
23
|
+
/** A gradient id from {@link BRAND_MARK_GRADIENTS}, or a solid colour. */
|
|
24
|
+
gradient?: string;
|
|
25
|
+
colour?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare const BRAND_MARK_GRADIENTS: readonly BrandMarkGradient[];
|
|
28
|
+
export declare const BRAND_MARK_FACETS: readonly BrandMarkFacet[];
|
|
29
|
+
/** The mark's bounding box on the kit canvas, trimmed to the facets. */
|
|
30
|
+
export declare const BRAND_MARK_VIEWBOX = "4 31 2036 1561";
|
|
31
|
+
/** The same box padded to a square, for icons the browser would otherwise letterbox. */
|
|
32
|
+
export declare const BRAND_MARK_SQUARE_VIEWBOX = "4 -206.5 2036 2036";
|
|
33
|
+
/** The mark as a standalone SVG document, with every gradient id prefixed. */
|
|
34
|
+
export declare function brandMarkSvg(idPrefix: string, viewBox: string): string;
|
|
35
|
+
//# sourceMappingURL=brand-mark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand-mark.d.ts","sourceRoot":"","sources":["../../../src/app/shared/brand-mark.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,cAAc;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAa5D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAyBtD,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAEnD,wFAAwF;AACxF,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAE9D,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUtE"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export const BRAND_MARK_GRADIENTS = [
|
|
2
|
+
{
|
|
3
|
+
id: 'face',
|
|
4
|
+
x1: -70.82,
|
|
5
|
+
y1: 873,
|
|
6
|
+
x2: 1100.42,
|
|
7
|
+
y2: 749.3,
|
|
8
|
+
stops: [
|
|
9
|
+
['40.42%', '#009ffc'],
|
|
10
|
+
['67.49%', '#00c6fb'],
|
|
11
|
+
['82.34%', '#49f6f8']
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
];
|
|
15
|
+
export const BRAND_MARK_FACETS = [
|
|
16
|
+
{
|
|
17
|
+
colour: '#3106f6',
|
|
18
|
+
d: 'M1053.51 31.812c9.37 10.809 19.49 20.61 29.96 30.32 35.87 37.122 73.82 73.917 110.43 110.453l215.58 214.468 169.94 168.283c23.07 22.717 47.38 47.997 70.8 69.826 4.17 13.173 11.29 29.35 16.69 42.449a3701 3701 0 0 1 25.26 62.599 26975 26975 0 0 0 115.93 287.11l146.16 359.23 66.97 167.96c6.07 15.1 11.88 32.2 18.1 46.88l-7.24-5.64c-7.7-5.08-24.72-19.84-32.41-26.22l-60.41-50.27c-135.74-113.75-256.61-234.53-380.45-360.84-11.75-13.02-28.21-28.74-40.81-41.42l-79.66-79.49-151.14-151.378c-32.93-32.934-68.42-67.049-100.47-100.626a28039 28039 0 0 0-133.23-743.694'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
colour: '#f700f9',
|
|
22
|
+
d: 'M1448.35 674.906c51.55-11.708 102.85-25.917 154.41-37.781 15.64-3.6 32.09-7.446 47.46-11.963 4.17 13.173 11.29 29.35 16.69 42.449a3701 3701 0 0 1 25.26 62.599 26975 26975 0 0 0 115.93 287.11l146.16 359.23 66.97 167.96c6.07 15.1 11.88 32.2 18.1 46.88l-7.24-5.64c-7.7-5.08-24.72-19.84-32.41-26.22l-60.41-50.27c-135.74-113.75-256.61-234.53-380.45-360.84 30.58-42.53 60.14-89.62 91.03-131.24-7.28-10.63-16.61-27.397-23.53-39.006l-46.65-78.695a18161 18161 0 0 1-131.32-224.573'
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
colour: '#c100fa',
|
|
26
|
+
d: 'M1649.85 1017.18q41.28 69.57 83.73 138.42c55.8 91.85 111.63 181.63 174.17 269.17 14.42 20.5 29.31 40.67 44.64 60.5 8.77 11.26 77.67 94.5 79.7 100.48-7.7-5.08-24.72-19.84-32.41-26.22l-60.41-50.27c-135.74-113.75-256.61-234.53-380.45-360.84 30.58-42.53 60.14-89.62 91.03-131.24'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
colour: '#003eef',
|
|
30
|
+
d: 'M1053.51 31.812c9.37 10.809 19.49 20.61 29.96 30.32-.28 3.047-.1 5.061 1.59 7.675 9.7 14.996 20.76 29.977 31 44.562 15.36 22.225 30.21 44.8 44.54 67.708 42.63 68.046 86.18 145.279 126.4 215.155l81.63 139.638 49.34 85.769c9.07 15.787 19.51 35.08 29.25 50.197a21969 21969 0 0 0-260.48 102.67 28039 28039 0 0 0-133.23-743.694m-29.8 819.248.97-.413c12.65 13.985 28.6 29.213 42.02 43.082l99.79 103.909a14350 14350 0 0 1 279.56 310.012l84.53 96.72c21.16 24.19 42.87 48.42 62.92 73.53l-.49 1.05c-70.75 2.03-145.11.93-216.13.95l-356.6.24-357.765.38c-67.064.11-139.804 1.48-206.636-.25l-.594.17-.77-.55c14.229-20.57 45.62-54.64 62.926-74.58l113.796-130.37c104.279-117.57 201.671-227.47 311.138-340.567a4601 4601 0 0 1 81.335-83.313'
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
gradient: 'face',
|
|
34
|
+
d: 'M1023.71 851.06c.91 11.38.49 26.534.49 38.254l-.01 62.574v180.942c0 31.11-.9 68.03.34 98.8L615.124 1410.9l-108.499 47.09c-9.121 3.92-44.322 18.33-50.746 22.28l-.594.17-.77-.55c14.229-20.57 45.62-54.64 62.926-74.58l113.796-130.37c104.279-117.57 201.671-227.47 311.138-340.567a4601 4601 0 0 1 81.335-83.313M399.122 627.639c5.671 4.62 49.844 17.931 59.109 20.982l93.111 30.634 53.266 17.387c5.398 1.736 19.646 6.733 24.703 7.751 39.309 14.47 87.882 28.542 128.189 41.65 29.211 9.5 74.168 25.382 103.252 32.989-8.936 11.333-37.673 36.649-49.413 48.193a14201 14201 0 0 1-131.93 128.405 20351 20351 0 0 1-524.563 496.86l-91.483 84.66c-7.802 7.3-40.624 38.88-47.162 42.82-.98 1.56-9.543 9.26-11.222 10.78 7.876-18.63 15.647-40.79 23.25-60.01l57.855-144.6a40219 40219 0 0 1 214.547-523.048l71.549-171.414a2143 2143 0 0 0 16.549-39.962c2.47-6.084 7.243-18.875 10.393-24.077m311.872-311.39c5.424-6.894 16.027-16.241 22.627-22.653a2689 2689 0 0 0 37.456-37.23 11776 11776 0 0 1 143.325-142.395l51.588-50.559c10.371-10.047 23.121-21.418 32.698-31.861-7.62 53.57-20.233 114.027-30.241 167.77l-49.438 268.318-42.68 227.449c-4.477 22.83-8.414 45.795-12.696 68.664-.785 4.19-1.543 9.196-2.637 13.253l-.244 2.027c-29.084-7.607-74.041-23.489-103.252-32.989-40.307-13.108-88.88-27.18-128.189-41.65-5.057-1.018-19.305-6.015-24.703-7.751l-53.266-17.387-93.111-30.634c-9.265-3.051-53.438-16.362-59.109-20.982a24629 24629 0 0 1 247.986-248.387c21.129-21.121 43.28-41.718 63.886-63.003m0 0c5.424-6.894 16.027-16.241 22.627-22.653a2689 2689 0 0 0 37.456-37.23 11776 11776 0 0 1 143.325-142.395l51.588-50.559c10.371-10.047 23.121-21.418 32.698-31.861-7.62 53.57-20.233 114.027-30.241 167.77l-49.438 268.318-42.68 227.449c-4.477 22.83-8.414 45.795-12.696 68.664-.785 4.19-1.543 9.196-2.637 13.253-5.02-6.684-29.896-87.135-34.15-100.108a19789 19789 0 0 1-115.852-360.648'
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
colour: '#3a50fc',
|
|
38
|
+
d: 'm1023.71 851.06.97-.413c12.65 13.985 28.6 29.213 42.02 43.082l99.79 103.909a14350 14350 0 0 1 279.56 310.012l84.53 96.72c21.16 24.19 42.87 48.42 62.92 73.53-12.08.2-514.71-222.99-568.97-246.27-1.24-30.77-.34-67.69-.34-98.8V951.888l.01-62.574c0-11.72.42-26.874-.49-38.254M629.311 704.393c39.309 14.47 87.882 28.542 128.189 41.65 29.211 9.5 74.168 25.382 103.252 32.989-8.936 11.333-37.673 36.649-49.413 48.193a14201 14201 0 0 1-131.93 128.405 20351 20351 0 0 1-524.563 496.86l-91.483 84.66c-7.802 7.3-40.624 38.88-47.162 42.82 3.036-5.46 16.048-21.18 20.233-26.32a3448 3448 0 0 0 37.57-46.45 4793 4793 0 0 0 111.042-147.66 15900 15900 0 0 0 281.423-409.101l101.828-152.475c19.515-29.383 42.978-63.442 61.014-93.571'
|
|
39
|
+
}
|
|
40
|
+
];
|
|
41
|
+
/** The mark's bounding box on the kit canvas, trimmed to the facets. */
|
|
42
|
+
export const BRAND_MARK_VIEWBOX = '4 31 2036 1561';
|
|
43
|
+
/** The same box padded to a square, for icons the browser would otherwise letterbox. */
|
|
44
|
+
export const BRAND_MARK_SQUARE_VIEWBOX = '4 -206.5 2036 2036';
|
|
45
|
+
/** The mark as a standalone SVG document, with every gradient id prefixed. */
|
|
46
|
+
export function brandMarkSvg(idPrefix, viewBox) {
|
|
47
|
+
const gradients = BRAND_MARK_GRADIENTS.map((g) => `<linearGradient id="${idPrefix}${g.id}" x1="${g.x1}" y1="${g.y1}" x2="${g.x2}" y2="${g.y2}" gradientUnits="userSpaceOnUse">` +
|
|
48
|
+
g.stops.map(([offset, colour]) => `<stop offset="${offset}" stop-color="${colour}"/>`).join('') +
|
|
49
|
+
'</linearGradient>').join('');
|
|
50
|
+
const facets = BRAND_MARK_FACETS.map((f) => `<path fill="${f.gradient ? `url(#${idPrefix}${f.gradient})` : f.colour}" d="${f.d}"/>`).join('');
|
|
51
|
+
return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${viewBox}"><defs>${gradients}</defs>${facets}</svg>`;
|
|
52
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metric-bar.d.ts","sourceRoot":"","sources":["../../../src/app/shared/metric-bar.ts"],"names":[],"mappings":"AAKA,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAExG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const clamp = (n) => Math.min(1, Math.max(0, n));
|
|
2
|
+
/** `0.4736` → `'47.36%'`, without float noise. */
|
|
3
|
+
const percent = (fraction) => `${Math.round(clamp(fraction) * 10000) / 100}%`;
|
|
4
|
+
/** Fill width and threshold tick of a metric card's bar, both clamped to the track. */
|
|
5
|
+
export function barGeometry(fraction, threshold) {
|
|
6
|
+
return { width: percent(fraction), tick: threshold === undefined ? null : percent(threshold) };
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { BadgeTone } from './badge.types.js';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* The one badge of the styleguide chrome.
|
|
5
|
+
*
|
|
6
|
+
* Words are set in the sans face and never in capitals; only `value` is mono,
|
|
7
|
+
* with tabular figures, so numbers line up. `soft` fills with the tone's `-bg`
|
|
8
|
+
* tint, `outline` draws its contour instead; both keep 4.5:1 for the text.
|
|
9
|
+
*/
|
|
10
|
+
export declare class PrismBadgeComponent {
|
|
11
|
+
readonly tone: import("@angular/core").InputSignal<BadgeTone>;
|
|
12
|
+
readonly variant: import("@angular/core").InputSignal<"soft" | "outline">;
|
|
13
|
+
readonly size: import("@angular/core").InputSignal<"md" | "sm">;
|
|
14
|
+
/** A leading dot in the tone's colour. */
|
|
15
|
+
readonly dot: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
16
|
+
readonly label: import("@angular/core").InputSignal<string | null>;
|
|
17
|
+
readonly value: import("@angular/core").InputSignal<string | null>;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrismBadgeComponent, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PrismBadgeComponent, "prism-badge", never, { "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "dot": { "alias": "dot"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=prism-badge.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-badge.component.d.ts","sourceRoot":"","sources":["../../../src/app/shared/prism-badge.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;;AAElD;;;;;;GAMG;AACH,qBAUa,mBAAmB;IAC5B,QAAQ,CAAC,IAAI,iDAA+B;IAC5C,QAAQ,CAAC,OAAO,0DAAqC;IACrD,QAAQ,CAAC,IAAI,mDAA4B;IACzC,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,qEAAiD;IAC7D,QAAQ,CAAC,KAAK,qDAA8B;IAC5C,QAAQ,CAAC,KAAK,qDAA8B;yCAPnC,mBAAmB;2CAAnB,mBAAmB;CAQ/B"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const _c0 = ["*"];
|
|
4
|
+
function PrismBadgeComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
5
|
+
i0.ɵɵdomElement(0, "span", 0);
|
|
6
|
+
} }
|
|
7
|
+
function PrismBadgeComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵdomElementStart(0, "span", 1);
|
|
9
|
+
i0.ɵɵtext(1);
|
|
10
|
+
i0.ɵɵdomElementEnd();
|
|
11
|
+
} if (rf & 2) {
|
|
12
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
13
|
+
i0.ɵɵadvance();
|
|
14
|
+
i0.ɵɵtextInterpolate(ctx_r0.label());
|
|
15
|
+
} }
|
|
16
|
+
function PrismBadgeComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
i0.ɵɵdomElementStart(0, "span", 2);
|
|
18
|
+
i0.ɵɵtext(1);
|
|
19
|
+
i0.ɵɵdomElementEnd();
|
|
20
|
+
} if (rf & 2) {
|
|
21
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
22
|
+
i0.ɵɵadvance();
|
|
23
|
+
i0.ɵɵtextInterpolate(ctx_r0.value());
|
|
24
|
+
} }
|
|
25
|
+
/**
|
|
26
|
+
* The one badge of the styleguide chrome.
|
|
27
|
+
*
|
|
28
|
+
* Words are set in the sans face and never in capitals; only `value` is mono,
|
|
29
|
+
* with tabular figures, so numbers line up. `soft` fills with the tone's `-bg`
|
|
30
|
+
* tint, `outline` draws its contour instead; both keep 4.5:1 for the text.
|
|
31
|
+
*/
|
|
32
|
+
export class PrismBadgeComponent {
|
|
33
|
+
tone = input('neutral', /* @ts-ignore */
|
|
34
|
+
...(ngDevMode ? [{ debugName: "tone" }] : /* istanbul ignore next */ []));
|
|
35
|
+
variant = input('soft', /* @ts-ignore */
|
|
36
|
+
...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
37
|
+
size = input('md', /* @ts-ignore */
|
|
38
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
39
|
+
/** A leading dot in the tone's colour. */
|
|
40
|
+
dot = input(false, { ...(ngDevMode ? { debugName: "dot" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
41
|
+
label = input(null, /* @ts-ignore */
|
|
42
|
+
...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
43
|
+
value = input(null, /* @ts-ignore */
|
|
44
|
+
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
45
|
+
static ɵfac = function PrismBadgeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismBadgeComponent)(); };
|
|
46
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismBadgeComponent, selectors: [["prism-badge"]], hostVars: 2, hostBindings: function PrismBadgeComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
47
|
+
i0.ɵɵclassMap("prism-badge prism-badge--" + ctx.tone() + " prism-badge--" + ctx.variant() + " prism-badge--" + ctx.size());
|
|
48
|
+
} }, inputs: { tone: [1, "tone"], variant: [1, "variant"], size: [1, "size"], dot: [1, "dot"], label: [1, "label"], value: [1, "value"] }, ngContentSelectors: _c0, decls: 4, vars: 3, consts: [["aria-hidden", "true", 1, "prism-badge__dot"], [1, "prism-badge__label"], [1, "prism-badge__value"]], template: function PrismBadgeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
+
i0.ɵɵprojectionDef();
|
|
50
|
+
i0.ɵɵconditionalCreate(0, PrismBadgeComponent_Conditional_0_Template, 1, 0, "span", 0);
|
|
51
|
+
i0.ɵɵconditionalCreate(1, PrismBadgeComponent_Conditional_1_Template, 2, 1, "span", 1);
|
|
52
|
+
i0.ɵɵconditionalCreate(2, PrismBadgeComponent_Conditional_2_Template, 2, 1, "span", 2);
|
|
53
|
+
i0.ɵɵprojection(3);
|
|
54
|
+
} if (rf & 2) {
|
|
55
|
+
i0.ɵɵconditional(ctx.dot() ? 0 : -1);
|
|
56
|
+
i0.ɵɵadvance();
|
|
57
|
+
i0.ɵɵconditional(ctx.label() ? 1 : -1);
|
|
58
|
+
i0.ɵɵadvance();
|
|
59
|
+
i0.ɵɵconditional(ctx.value() ? 2 : -1);
|
|
60
|
+
} }, styles: ["[_nghost-%COMP%] {\n --%NS%prism-badge-fg: var(--%NS%prism-text-muted);\n --%NS%prism-badge-bg: var(--%NS%prism-input-bg);\n\n display: inline-flex;\n flex: none;\n gap: 5px;\n align-items: center;\n height: 20px;\n padding: 0 7px;\n font-family: var(--%NS%font-sans);\n font-size: 11px;\n font-weight: 500;\n line-height: 1;\n color: var(--%NS%prism-badge-fg);\n white-space: nowrap;\n background: var(--%NS%prism-badge-bg);\n border-radius: 4px;\n}\n\n.prism-badge--sm[_nghost-%COMP%] {\n gap: 4px;\n height: 16px;\n padding: 0 5px;\n font-size: 10px;\n}\n\n.prism-badge--primary[_nghost-%COMP%] {\n --%NS%prism-badge-fg: var(--%NS%prism-primary);\n --%NS%prism-badge-bg: var(--%NS%prism-primary-bg);\n}\n\n.prism-badge--success[_nghost-%COMP%] {\n --%NS%prism-badge-fg: var(--%NS%prism-success);\n --%NS%prism-badge-bg: var(--%NS%prism-success-bg);\n}\n\n.prism-badge--warn[_nghost-%COMP%] {\n --%NS%prism-badge-fg: var(--%NS%prism-warn);\n --%NS%prism-badge-bg: var(--%NS%prism-warn-bg);\n}\n\n.prism-badge--danger[_nghost-%COMP%] {\n --%NS%prism-badge-fg: var(--%NS%prism-danger);\n --%NS%prism-badge-bg: var(--%NS%prism-danger-bg);\n}\n\n.prism-badge--outline[_nghost-%COMP%] {\n background: transparent;\n box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--%NS%prism-badge-fg) 65%, transparent);\n}\n\n.prism-badge--neutral.prism-badge--outline[_nghost-%COMP%] {\n box-shadow: inset 0 0 0 1px var(--%NS%prism-border-strong);\n}\n\n.prism-badge__dot[_ngcontent-%COMP%] {\n box-sizing: border-box;\n flex: none;\n width: 6px;\n height: 6px;\n background: var(--%NS%prism-badge-dot-fill, currentcolor);\n border-radius: 50%;\n box-shadow: inset 0 0 0 1.5px currentcolor;\n}\n\n.prism-badge--sm[_nghost-%COMP%] .prism-badge__dot[_ngcontent-%COMP%] {\n width: 5px;\n height: 5px;\n}\n\n.prism-badge__value[_ngcontent-%COMP%] {\n font-family: var(--%NS%font-mono);\n font-weight: 600;\n font-variant-numeric: tabular-nums;\n}"] });
|
|
61
|
+
}
|
|
62
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismBadgeComponent, [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{ selector: 'prism-badge', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
65
|
+
'[class]': "'prism-badge prism-badge--' + tone() + ' prism-badge--' + variant() + ' prism-badge--' + size()"
|
|
66
|
+
}, template: "@if (dot()) {\n <span\n class=\"prism-badge__dot\"\n aria-hidden=\"true\"></span>\n}\n@if (label()) {\n <span class=\"prism-badge__label\">{{ label() }}</span>\n}\n@if (value()) {\n <span class=\"prism-badge__value\">{{ value() }}</span>\n}\n<ng-content />\n", styles: [":host {\n --prism-badge-fg: var(--prism-text-muted);\n --prism-badge-bg: var(--prism-input-bg);\n\n display: inline-flex;\n flex: none;\n gap: 5px;\n align-items: center;\n height: 20px;\n padding: 0 7px;\n font-family: var(--font-sans);\n font-size: 11px;\n font-weight: 500;\n line-height: 1;\n color: var(--prism-badge-fg);\n white-space: nowrap;\n background: var(--prism-badge-bg);\n border-radius: 4px;\n}\n\n:host(.prism-badge--sm) {\n gap: 4px;\n height: 16px;\n padding: 0 5px;\n font-size: 10px;\n}\n\n:host(.prism-badge--primary) {\n --prism-badge-fg: var(--prism-primary);\n --prism-badge-bg: var(--prism-primary-bg);\n}\n\n:host(.prism-badge--success) {\n --prism-badge-fg: var(--prism-success);\n --prism-badge-bg: var(--prism-success-bg);\n}\n\n:host(.prism-badge--warn) {\n --prism-badge-fg: var(--prism-warn);\n --prism-badge-bg: var(--prism-warn-bg);\n}\n\n:host(.prism-badge--danger) {\n --prism-badge-fg: var(--prism-danger);\n --prism-badge-bg: var(--prism-danger-bg);\n}\n\n:host(.prism-badge--outline) {\n background: transparent;\n box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--prism-badge-fg) 65%, transparent);\n}\n\n:host(.prism-badge--neutral.prism-badge--outline) {\n box-shadow: inset 0 0 0 1px var(--prism-border-strong);\n}\n\n.prism-badge__dot {\n box-sizing: border-box;\n flex: none;\n width: 6px;\n height: 6px;\n background: var(--prism-badge-dot-fill, currentcolor);\n border-radius: 50%;\n box-shadow: inset 0 0 0 1.5px currentcolor;\n}\n\n:host(.prism-badge--sm) .prism-badge__dot {\n width: 5px;\n height: 5px;\n}\n\n.prism-badge__value {\n font-family: var(--font-mono);\n font-weight: 600;\n font-variant-numeric: tabular-nums;\n}\n"] }]
|
|
67
|
+
}], null, { tone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tone", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], dot: [{ type: i0.Input, args: [{ isSignal: true, alias: "dot", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }] }); })();
|
|
68
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismBadgeComponent, { className: "PrismBadgeComponent", filePath: "app/shared/prism-badge.component.ts", lineNumber: 21 }); })();
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
* Text buttons for toolbar actions. `primary` fills with the brand blue,
|
|
4
|
+
* `secondary` draws a contour, `ghost` neither. Secondary goes before primary.
|
|
5
|
+
*/
|
|
6
|
+
export declare class PrismButtonComponent {
|
|
7
|
+
readonly variant: import("@angular/core").InputSignal<"primary" | "secondary" | "ghost">;
|
|
8
|
+
readonly size: import("@angular/core").InputSignal<"md" | "sm">;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrismButtonComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PrismButtonComponent, "button[prismButton]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=prism-button.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-button.component.d.ts","sourceRoot":"","sources":["../../../src/app/shared/prism-button.component.ts"],"names":[],"mappings":";AAEA;;;GAGG;AACH,qBAWa,oBAAoB;IAC7B,QAAQ,CAAC,OAAO,yEAAyD;IACzE,QAAQ,CAAC,IAAI,mDAA4B;yCAFhC,oBAAoB;2CAApB,oBAAoB;CAGhC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const _c0 = ["*"];
|
|
4
|
+
/**
|
|
5
|
+
* Text buttons for toolbar actions. `primary` fills with the brand blue,
|
|
6
|
+
* `secondary` draws a contour, `ghost` neither. Secondary goes before primary.
|
|
7
|
+
*/
|
|
8
|
+
export class PrismButtonComponent {
|
|
9
|
+
variant = input('secondary', /* @ts-ignore */
|
|
10
|
+
...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
11
|
+
size = input('sm', /* @ts-ignore */
|
|
12
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
13
|
+
static ɵfac = function PrismButtonComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismButtonComponent)(); };
|
|
14
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismButtonComponent, selectors: [["button", "prismButton", ""]], hostAttrs: ["type", "button"], hostVars: 2, hostBindings: function PrismButtonComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
15
|
+
i0.ɵɵclassMap("prism-button prism-button--" + ctx.variant() + " prism-button--" + ctx.size());
|
|
16
|
+
} }, inputs: { variant: [1, "variant"], size: [1, "size"] }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function PrismButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
i0.ɵɵprojectionDef();
|
|
18
|
+
i0.ɵɵprojection(0);
|
|
19
|
+
} }, styles: ["[_nghost-%COMP%] {\n display: inline-flex;\n flex: none;\n gap: 6px;\n align-items: center;\n height: 26px;\n padding: 0 11px;\n font-family: var(--%NS%font-sans);\n font-size: 12px;\n font-weight: 500;\n color: var(--%NS%prism-text-2);\n white-space: nowrap;\n cursor: pointer;\n background: transparent;\n border: 1px solid var(--%NS%prism-border-strong);\n border-radius: 5px;\n transition:\n color var(--%NS%dur-fast) var(--%NS%ease-default),\n background var(--%NS%dur-fast) var(--%NS%ease-default);\n}\n\n.prism-button--md[_nghost-%COMP%] {\n height: 30px;\n padding: 0 14px;\n font-size: 12.5px;\n}\n\n.prism-button--%NS%secondary[_nghost-%COMP%]:hover:not(:disabled) {\n color: var(--%NS%prism-text);\n background: var(--%NS%prism-input-bg);\n}\n\n.prism-button--primary[_nghost-%COMP%] {\n color: var(--%NS%prism-on-primary);\n background: var(--%NS%prism-primary-fill);\n border-color: var(--%NS%prism-primary-fill);\n}\n\n.prism-button--%NS%primary[_nghost-%COMP%]:hover:not(:disabled) {\n background: var(--%NS%prism-primary-fill-hover);\n border-color: var(--%NS%prism-primary-fill-hover);\n}\n\n.prism-button--ghost[_nghost-%COMP%] {\n border-color: transparent;\n}\n\n.prism-button--%NS%ghost[_nghost-%COMP%]:hover:not(:disabled) {\n color: var(--%NS%prism-text);\n background: var(--%NS%prism-input-bg);\n}\n\n[_nghost-%COMP%]:disabled {\n color: var(--%NS%prism-text-muted);\n cursor: default;\n background: transparent;\n border-color: var(--%NS%prism-border);\n}\n\n[_nghost-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-primary);\n outline-offset: 2px;\n}"] });
|
|
20
|
+
}
|
|
21
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismButtonComponent, [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: 'button[prismButton]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
24
|
+
type: 'button',
|
|
25
|
+
'[class]': "'prism-button prism-button--' + variant() + ' prism-button--' + size()"
|
|
26
|
+
}, template: "<ng-content />\n", styles: [":host {\n display: inline-flex;\n flex: none;\n gap: 6px;\n align-items: center;\n height: 26px;\n padding: 0 11px;\n font-family: var(--font-sans);\n font-size: 12px;\n font-weight: 500;\n color: var(--prism-text-2);\n white-space: nowrap;\n cursor: pointer;\n background: transparent;\n border: 1px solid var(--prism-border-strong);\n border-radius: 5px;\n transition:\n color var(--dur-fast) var(--ease-default),\n background var(--dur-fast) var(--ease-default);\n}\n\n:host(.prism-button--md) {\n height: 30px;\n padding: 0 14px;\n font-size: 12.5px;\n}\n\n:host(.prism-button--secondary:hover:not(:disabled)) {\n color: var(--prism-text);\n background: var(--prism-input-bg);\n}\n\n:host(.prism-button--primary) {\n color: var(--prism-on-primary);\n background: var(--prism-primary-fill);\n border-color: var(--prism-primary-fill);\n}\n\n:host(.prism-button--primary:hover:not(:disabled)) {\n background: var(--prism-primary-fill-hover);\n border-color: var(--prism-primary-fill-hover);\n}\n\n:host(.prism-button--ghost) {\n border-color: transparent;\n}\n\n:host(.prism-button--ghost:hover:not(:disabled)) {\n color: var(--prism-text);\n background: var(--prism-input-bg);\n}\n\n:host(:disabled) {\n color: var(--prism-text-muted);\n cursor: default;\n background: transparent;\n border-color: var(--prism-border);\n}\n\n:host(:focus-visible) {\n outline: 2px solid var(--prism-primary);\n outline-offset: 2px;\n}\n"] }]
|
|
27
|
+
}], null, { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] }); })();
|
|
28
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismButtonComponent, { className: "PrismButtonComponent", filePath: "app/shared/prism-button.component.ts", lineNumber: 18 }); })();
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/**
|
|
3
|
+
* The ghost icon button of header, component head, toolbars and the tool rail.
|
|
4
|
+
*
|
|
5
|
+
* md 32 px (header), sm 28 px (component head), xs 26 px (toolbars, rail).
|
|
6
|
+
* `pressed` makes it a toggle (`aria-pressed`) with the active tint. Colours run
|
|
7
|
+
* through `--prism-icon-button-*`, so a surface such as the tool rail can bend
|
|
8
|
+
* them to its own tokens.
|
|
9
|
+
*/
|
|
10
|
+
export declare class PrismIconButtonComponent {
|
|
11
|
+
readonly size: import("@angular/core").InputSignal<"md" | "sm" | "xs">;
|
|
12
|
+
/** `null` for a plain button, a boolean for a toggle. */
|
|
13
|
+
readonly pressed: import("@angular/core").InputSignal<boolean | null>;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrismIconButtonComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PrismIconButtonComponent, "button[prismIconButton]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "pressed": { "alias": "pressed"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=prism-icon-button.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-icon-button.component.d.ts","sourceRoot":"","sources":["../../../src/app/shared/prism-icon-button.component.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AACH,qBAaa,wBAAwB;IACjC,QAAQ,CAAC,IAAI,0DAAmC;IAChD,yDAAyD;IACzD,QAAQ,CAAC,OAAO,sDAA+B;yCAHtC,wBAAwB;2CAAxB,wBAAwB;CAIpC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const _c0 = ["*"];
|
|
4
|
+
/**
|
|
5
|
+
* The ghost icon button of header, component head, toolbars and the tool rail.
|
|
6
|
+
*
|
|
7
|
+
* md 32 px (header), sm 28 px (component head), xs 26 px (toolbars, rail).
|
|
8
|
+
* `pressed` makes it a toggle (`aria-pressed`) with the active tint. Colours run
|
|
9
|
+
* through `--prism-icon-button-*`, so a surface such as the tool rail can bend
|
|
10
|
+
* them to its own tokens.
|
|
11
|
+
*/
|
|
12
|
+
export class PrismIconButtonComponent {
|
|
13
|
+
size = input('md', /* @ts-ignore */
|
|
14
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
15
|
+
/** `null` for a plain button, a boolean for a toggle. */
|
|
16
|
+
pressed = input(null, /* @ts-ignore */
|
|
17
|
+
...(ngDevMode ? [{ debugName: "pressed" }] : /* istanbul ignore next */ []));
|
|
18
|
+
static ɵfac = function PrismIconButtonComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismIconButtonComponent)(); };
|
|
19
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrismIconButtonComponent, selectors: [["button", "prismIconButton", ""]], hostAttrs: ["type", "button"], hostVars: 5, hostBindings: function PrismIconButtonComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
20
|
+
i0.ɵɵattribute("aria-pressed", ctx.pressed());
|
|
21
|
+
i0.ɵɵclassMap("prism-icon-button prism-icon-button--" + ctx.size());
|
|
22
|
+
i0.ɵɵclassProp("prism-icon-button--pressed", ctx.pressed() === true);
|
|
23
|
+
} }, inputs: { size: [1, "size"], pressed: [1, "pressed"] }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function PrismIconButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
+
i0.ɵɵprojectionDef();
|
|
25
|
+
i0.ɵɵprojection(0);
|
|
26
|
+
} }, styles: ["[_nghost-%COMP%] {\n display: inline-grid;\n flex: none;\n place-items: center;\n width: 32px;\n height: 32px;\n padding: 0;\n color: var(--%NS%prism-icon-button-fg, var(--%NS%prism-text-muted));\n cursor: pointer;\n background: transparent;\n border: 0;\n border-radius: 6px;\n transition:\n color var(--%NS%dur-fast) var(--%NS%ease-default),\n background var(--%NS%dur-fast) var(--%NS%ease-default);\n}\n\n.prism-icon-button--sm[_nghost-%COMP%] {\n width: 28px;\n height: 28px;\n border-radius: 5px;\n}\n\n.prism-icon-button--xs[_nghost-%COMP%] {\n width: 26px;\n height: 26px;\n border-radius: 4px;\n}\n\n[_nghost-%COMP%]:hover:not(:disabled) {\n color: var(--%NS%prism-icon-button-fg-hover, var(--%NS%prism-text));\n background: var(--%NS%prism-icon-button-bg-hover, var(--%NS%prism-input-bg));\n}\n\n.prism-icon-button--pressed[_nghost-%COMP%] {\n color: var(--%NS%prism-icon-button-active-fg, var(--%NS%prism-primary));\n background: var(--%NS%prism-icon-button-active-bg, var(--%NS%prism-primary-bg));\n}\n\n\n[_nghost-%COMP%]:disabled {\n color: var(--%NS%prism-border-strong);\n cursor: default;\n}\n\n[_nghost-%COMP%]:focus-visible {\n outline: 2px solid var(--%NS%prism-icon-button-focus, var(--%NS%prism-primary));\n outline-offset: 1px;\n}"] });
|
|
27
|
+
}
|
|
28
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismIconButtonComponent, [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'button[prismIconButton]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
31
|
+
type: 'button',
|
|
32
|
+
'[class]': "'prism-icon-button prism-icon-button--' + size()",
|
|
33
|
+
'[class.prism-icon-button--pressed]': 'pressed() === true',
|
|
34
|
+
'[attr.aria-pressed]': 'pressed()'
|
|
35
|
+
}, template: "<ng-content />\n", styles: [":host {\n display: inline-grid;\n flex: none;\n place-items: center;\n width: 32px;\n height: 32px;\n padding: 0;\n color: var(--prism-icon-button-fg, var(--prism-text-muted));\n cursor: pointer;\n background: transparent;\n border: 0;\n border-radius: 6px;\n transition:\n color var(--dur-fast) var(--ease-default),\n background var(--dur-fast) var(--ease-default);\n}\n\n:host(.prism-icon-button--sm) {\n width: 28px;\n height: 28px;\n border-radius: 5px;\n}\n\n:host(.prism-icon-button--xs) {\n width: 26px;\n height: 26px;\n border-radius: 4px;\n}\n\n:host(:hover:not(:disabled)) {\n color: var(--prism-icon-button-fg-hover, var(--prism-text));\n background: var(--prism-icon-button-bg-hover, var(--prism-input-bg));\n}\n\n:host(.prism-icon-button--pressed) {\n color: var(--prism-icon-button-active-fg, var(--prism-primary));\n background: var(--prism-icon-button-active-bg, var(--prism-primary-bg));\n}\n\n/* Disabled stays legible as a contour colour rather than fading text out. */\n:host(:disabled) {\n color: var(--prism-border-strong);\n cursor: default;\n}\n\n:host(:focus-visible) {\n outline: 2px solid var(--prism-icon-button-focus, var(--prism-primary));\n outline-offset: 1px;\n}\n"] }]
|
|
36
|
+
}], null, { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], pressed: [{ type: i0.Input, args: [{ isSignal: true, alias: "pressed", required: false }] }] }); })();
|
|
37
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PrismIconButtonComponent, { className: "PrismIconButtonComponent", filePath: "app/shared/prism-icon-button.component.ts", lineNumber: 24 }); })();
|