@ng-prism/core 21.0.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 +170 -0
- package/builders.json +14 -0
- package/dist/app/component-header/prism-component-header.component.d.ts +8 -0
- package/dist/app/component-header/prism-component-header.component.d.ts.map +1 -0
- package/dist/app/component-header/prism-component-header.component.js +77 -0
- package/dist/app/controls/boolean-control.component.d.ts +10 -0
- package/dist/app/controls/boolean-control.component.d.ts.map +1 -0
- package/dist/app/controls/boolean-control.component.js +58 -0
- package/dist/app/controls/json-control.component.d.ts +19 -0
- package/dist/app/controls/json-control.component.d.ts.map +1 -0
- package/dist/app/controls/json-control.component.js +136 -0
- package/dist/app/controls/number-control.component.d.ts +10 -0
- package/dist/app/controls/number-control.component.d.ts.map +1 -0
- package/dist/app/controls/number-control.component.js +55 -0
- package/dist/app/controls/string-control.component.d.ts +10 -0
- package/dist/app/controls/string-control.component.d.ts.map +1 -0
- package/dist/app/controls/string-control.component.js +55 -0
- package/dist/app/controls/union-control.component.d.ts +11 -0
- package/dist/app/controls/union-control.component.d.ts.map +1 -0
- package/dist/app/controls/union-control.component.js +72 -0
- package/dist/app/header/prism-header.component.d.ts +10 -0
- package/dist/app/header/prism-header.component.d.ts.map +1 -0
- package/dist/app/header/prism-header.component.js +241 -0
- package/dist/app/hmr.d.ts +4 -0
- package/dist/app/hmr.d.ts.map +1 -0
- package/dist/app/hmr.js +5 -0
- package/dist/app/index.d.ts +18 -0
- package/dist/app/index.d.ts.map +1 -0
- package/dist/app/index.js +21 -0
- package/dist/app/layout-menu/prism-layout-menu.component.d.ts +10 -0
- package/dist/app/layout-menu/prism-layout-menu.component.d.ts.map +1 -0
- package/dist/app/layout-menu/prism-layout-menu.component.js +190 -0
- package/dist/app/page-renderer/prism-icon-page.component.d.ts +8 -0
- package/dist/app/page-renderer/prism-icon-page.component.d.ts.map +1 -0
- package/dist/app/page-renderer/prism-icon-page.component.js +42 -0
- package/dist/app/page-renderer/prism-page-renderer.component.d.ts +8 -0
- package/dist/app/page-renderer/prism-page-renderer.component.d.ts.map +1 -0
- package/dist/app/page-renderer/prism-page-renderer.component.js +72 -0
- package/dist/app/page-renderer/prism-token-page.component.d.ts +8 -0
- package/dist/app/page-renderer/prism-token-page.component.d.ts.map +1 -0
- package/dist/app/page-renderer/prism-token-page.component.js +164 -0
- package/dist/app/panels/a11y/a11y-audit.service.d.ts +17 -0
- package/dist/app/panels/a11y/a11y-audit.service.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-audit.service.js +71 -0
- package/dist/app/panels/a11y/a11y-core.plugin.d.ts +3 -0
- package/dist/app/panels/a11y/a11y-core.plugin.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-core.plugin.js +8 -0
- package/dist/app/panels/a11y/a11y-dom-utils.d.ts +11 -0
- package/dist/app/panels/a11y/a11y-dom-utils.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-dom-utils.js +149 -0
- package/dist/app/panels/a11y/a11y-keyboard-overlay.component.d.ts +24 -0
- package/dist/app/panels/a11y/a11y-keyboard-overlay.component.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-keyboard-overlay.component.js +104 -0
- package/dist/app/panels/a11y/a11y-keyboard.component.d.ts +12 -0
- package/dist/app/panels/a11y/a11y-keyboard.component.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-keyboard.component.js +150 -0
- package/dist/app/panels/a11y/a11y-keyboard.service.d.ts +8 -0
- package/dist/app/panels/a11y/a11y-keyboard.service.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-keyboard.service.js +71 -0
- package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts +6 -0
- package/dist/app/panels/a11y/a11y-overlay-host.component.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-overlay-host.component.js +18 -0
- package/dist/app/panels/a11y/a11y-panel-state.service.d.ts +8 -0
- package/dist/app/panels/a11y/a11y-panel-state.service.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-panel-state.service.js +11 -0
- package/dist/app/panels/a11y/a11y-panel.component.d.ts +14 -0
- package/dist/app/panels/a11y/a11y-panel.component.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-panel.component.js +183 -0
- package/dist/app/panels/a11y/a11y-perspective.service.d.ts +8 -0
- package/dist/app/panels/a11y/a11y-perspective.service.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-perspective.service.js +11 -0
- package/dist/app/panels/a11y/a11y-score.component.d.ts +11 -0
- package/dist/app/panels/a11y/a11y-score.component.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-score.component.js +72 -0
- package/dist/app/panels/a11y/a11y-sr-overlay.component.d.ts +27 -0
- package/dist/app/panels/a11y/a11y-sr-overlay.component.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-sr-overlay.component.js +127 -0
- package/dist/app/panels/a11y/a11y-sr.component.d.ts +19 -0
- package/dist/app/panels/a11y/a11y-sr.component.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-sr.component.js +257 -0
- package/dist/app/panels/a11y/a11y-sr.service.d.ts +8 -0
- package/dist/app/panels/a11y/a11y-sr.service.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-sr.service.js +102 -0
- package/dist/app/panels/a11y/a11y-tree.component.d.ts +27 -0
- package/dist/app/panels/a11y/a11y-tree.component.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-tree.component.js +229 -0
- package/dist/app/panels/a11y/a11y-tree.service.d.ts +8 -0
- package/dist/app/panels/a11y/a11y-tree.service.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-tree.service.js +47 -0
- package/dist/app/panels/a11y/a11y-violations.component.d.ts +15 -0
- package/dist/app/panels/a11y/a11y-violations.component.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y-violations.component.js +457 -0
- package/dist/app/panels/a11y/a11y.types.d.ts +44 -0
- package/dist/app/panels/a11y/a11y.types.d.ts.map +1 -0
- package/dist/app/panels/a11y/a11y.types.js +1 -0
- package/dist/app/panels/builtin-panels.d.ts +3 -0
- package/dist/app/panels/builtin-panels.d.ts.map +1 -0
- package/dist/app/panels/builtin-panels.js +8 -0
- package/dist/app/panels/controls/controls-plugin.d.ts +3 -0
- package/dist/app/panels/controls/controls-plugin.d.ts.map +1 -0
- package/dist/app/panels/controls/controls-plugin.js +12 -0
- package/dist/app/panels/controls/prism-controls-panel.component.d.ts +13 -0
- package/dist/app/panels/controls/prism-controls-panel.component.d.ts.map +1 -0
- package/dist/app/panels/controls/prism-controls-panel.component.js +178 -0
- package/dist/app/panels/events/events-plugin.d.ts +3 -0
- package/dist/app/panels/events/events-plugin.d.ts.map +1 -0
- package/dist/app/panels/events/events-plugin.js +12 -0
- package/dist/app/panels/events/prism-events-panel.component.d.ts +9 -0
- package/dist/app/panels/events/prism-events-panel.component.d.ts.map +1 -0
- package/dist/app/panels/events/prism-events-panel.component.js +83 -0
- package/dist/app/panels/events/prism-json-node.component.d.ts +22 -0
- package/dist/app/panels/events/prism-json-node.component.d.ts.map +1 -0
- package/dist/app/panels/events/prism-json-node.component.js +350 -0
- package/dist/app/panels/events/prism-json-node.utils.d.ts +2 -0
- package/dist/app/panels/events/prism-json-node.utils.d.ts.map +1 -0
- package/dist/app/panels/events/prism-json-node.utils.js +40 -0
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts +26 -0
- package/dist/app/panels/panel-host/prism-panel-host.component.d.ts.map +1 -0
- package/dist/app/panels/panel-host/prism-panel-host.component.js +157 -0
- package/dist/app/provide-prism.d.ts +8 -0
- package/dist/app/provide-prism.d.ts.map +1 -0
- package/dist/app/provide-prism.js +21 -0
- package/dist/app/renderer/highlight-xml.d.ts +2 -0
- package/dist/app/renderer/highlight-xml.d.ts.map +1 -0
- package/dist/app/renderer/highlight-xml.js +27 -0
- package/dist/app/renderer/prism-renderer.component.d.ts +32 -0
- package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -0
- package/dist/app/renderer/prism-renderer.component.js +346 -0
- package/dist/app/renderer/snippet-generator.d.ts +7 -0
- package/dist/app/renderer/snippet-generator.d.ts.map +1 -0
- package/dist/app/renderer/snippet-generator.js +162 -0
- package/dist/app/services/navigation-item.types.d.ts +10 -0
- package/dist/app/services/navigation-item.types.d.ts.map +1 -0
- package/dist/app/services/navigation-item.types.js +1 -0
- package/dist/app/services/prism-event-log.service.d.ts +16 -0
- package/dist/app/services/prism-event-log.service.d.ts.map +1 -0
- package/dist/app/services/prism-event-log.service.js +21 -0
- package/dist/app/services/prism-layout.service.d.ts +23 -0
- package/dist/app/services/prism-layout.service.d.ts.map +1 -0
- package/dist/app/services/prism-layout.service.js +85 -0
- package/dist/app/services/prism-manifest.service.d.ts +15 -0
- package/dist/app/services/prism-manifest.service.d.ts.map +1 -0
- package/dist/app/services/prism-manifest.service.js +53 -0
- package/dist/app/services/prism-navigation.service.d.ts +18 -0
- package/dist/app/services/prism-navigation.service.d.ts.map +1 -0
- package/dist/app/services/prism-navigation.service.js +94 -0
- package/dist/app/services/prism-panel.service.d.ts +8 -0
- package/dist/app/services/prism-panel.service.d.ts.map +1 -0
- package/dist/app/services/prism-panel.service.js +12 -0
- package/dist/app/services/prism-plugin.service.d.ts +12 -0
- package/dist/app/services/prism-plugin.service.d.ts.map +1 -0
- package/dist/app/services/prism-plugin.service.js +32 -0
- package/dist/app/services/prism-renderer.service.d.ts +18 -0
- package/dist/app/services/prism-renderer.service.d.ts.map +1 -0
- package/dist/app/services/prism-renderer.service.js +84 -0
- package/dist/app/services/prism-search.service.d.ts +13 -0
- package/dist/app/services/prism-search.service.d.ts.map +1 -0
- package/dist/app/services/prism-search.service.js +39 -0
- package/dist/app/services/prism-theme.service.d.ts +9 -0
- package/dist/app/services/prism-theme.service.d.ts.map +1 -0
- package/dist/app/services/prism-theme.service.js +23 -0
- package/dist/app/services/prism-url-state.service.d.ts +16 -0
- package/dist/app/services/prism-url-state.service.d.ts.map +1 -0
- package/dist/app/services/prism-url-state.service.js +108 -0
- package/dist/app/shell/prism-shell.component.d.ts +22 -0
- package/dist/app/shell/prism-shell.component.d.ts.map +1 -0
- package/dist/app/shell/prism-shell.component.js +283 -0
- package/dist/app/sidebar/prism-sidebar.component.d.ts +14 -0
- package/dist/app/sidebar/prism-sidebar.component.d.ts.map +1 -0
- package/dist/app/sidebar/prism-sidebar.component.js +105 -0
- package/dist/app/theme/prism-default-theme.d.ts +4 -0
- package/dist/app/theme/prism-default-theme.d.ts.map +1 -0
- package/dist/app/theme/prism-default-theme.js +57 -0
- package/dist/app/tokens/prism-tokens.d.ts +11 -0
- package/dist/app/tokens/prism-tokens.d.ts.map +1 -0
- package/dist/app/tokens/prism-tokens.js +7 -0
- package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts +22 -0
- package/dist/app/view-tab-bar/prism-view-panel-host.component.d.ts.map +1 -0
- package/dist/app/view-tab-bar/prism-view-panel-host.component.js +90 -0
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts +10 -0
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.d.ts.map +1 -0
- package/dist/app/view-tab-bar/prism-view-tab-bar.component.js +65 -0
- package/dist/builder/build/index.d.ts +6 -0
- package/dist/builder/build/index.d.ts.map +1 -0
- package/dist/builder/build/index.js +15 -0
- package/dist/builder/build/schema.d.ts +9 -0
- package/dist/builder/build/schema.d.ts.map +1 -0
- package/dist/builder/build/schema.js +1 -0
- package/dist/builder/config-loader/config-loader.d.ts +8 -0
- package/dist/builder/config-loader/config-loader.d.ts.map +1 -0
- package/dist/builder/config-loader/config-loader.js +33 -0
- package/dist/builder/config-loader/index.d.ts +3 -0
- package/dist/builder/config-loader/index.d.ts.map +1 -0
- package/dist/builder/config-loader/index.js +1 -0
- package/dist/builder/icon-resolver/icon-resolver.d.ts +7 -0
- package/dist/builder/icon-resolver/icon-resolver.d.ts.map +1 -0
- package/dist/builder/icon-resolver/icon-resolver.js +12 -0
- package/dist/builder/icon-resolver/index.d.ts +2 -0
- package/dist/builder/icon-resolver/index.d.ts.map +1 -0
- package/dist/builder/icon-resolver/index.js +1 -0
- package/dist/builder/manifest/host-parser.d.ts +6 -0
- package/dist/builder/manifest/host-parser.d.ts.map +1 -0
- package/dist/builder/manifest/host-parser.js +9 -0
- package/dist/builder/manifest/index.d.ts +3 -0
- package/dist/builder/manifest/index.d.ts.map +1 -0
- package/dist/builder/manifest/index.js +1 -0
- package/dist/builder/manifest/runtime-manifest.generator.d.ts +9 -0
- package/dist/builder/manifest/runtime-manifest.generator.d.ts.map +1 -0
- package/dist/builder/manifest/runtime-manifest.generator.js +216 -0
- package/dist/builder/plugin-runner/index.d.ts +2 -0
- package/dist/builder/plugin-runner/index.d.ts.map +1 -0
- package/dist/builder/plugin-runner/index.js +1 -0
- package/dist/builder/plugin-runner/plugin-runner.d.ts +3 -0
- package/dist/builder/plugin-runner/plugin-runner.d.ts.map +1 -0
- package/dist/builder/plugin-runner/plugin-runner.js +38 -0
- package/dist/builder/scanner/ast-utils.d.ts +20 -0
- package/dist/builder/scanner/ast-utils.d.ts.map +1 -0
- package/dist/builder/scanner/ast-utils.js +100 -0
- package/dist/builder/scanner/component.scanner.d.ts +7 -0
- package/dist/builder/scanner/component.scanner.d.ts.map +1 -0
- package/dist/builder/scanner/component.scanner.js +113 -0
- package/dist/builder/scanner/entry-point-discovery.d.ts +6 -0
- package/dist/builder/scanner/entry-point-discovery.d.ts.map +1 -0
- package/dist/builder/scanner/entry-point-discovery.js +38 -0
- package/dist/builder/scanner/entry-point.scanner.d.ts +11 -0
- package/dist/builder/scanner/entry-point.scanner.d.ts.map +1 -0
- package/dist/builder/scanner/entry-point.scanner.js +19 -0
- package/dist/builder/scanner/index.d.ts +8 -0
- package/dist/builder/scanner/index.d.ts.map +1 -0
- package/dist/builder/scanner/index.js +6 -0
- package/dist/builder/scanner/input.extractor.d.ts +11 -0
- package/dist/builder/scanner/input.extractor.d.ts.map +1 -0
- package/dist/builder/scanner/input.extractor.js +169 -0
- package/dist/builder/scanner/manifest.generator.d.ts +6 -0
- package/dist/builder/scanner/manifest.generator.d.ts.map +1 -0
- package/dist/builder/scanner/manifest.generator.js +59 -0
- package/dist/builder/scanner/scanner.d.ts +16 -0
- package/dist/builder/scanner/scanner.d.ts.map +1 -0
- package/dist/builder/scanner/scanner.js +28 -0
- package/dist/builder/serve/index.d.ts +6 -0
- package/dist/builder/serve/index.d.ts.map +1 -0
- package/dist/builder/serve/index.js +48 -0
- package/dist/builder/serve/schema.d.ts +9 -0
- package/dist/builder/serve/schema.d.ts.map +1 -0
- package/dist/builder/serve/schema.js +1 -0
- package/dist/builder/shared/index.d.ts +3 -0
- package/dist/builder/shared/index.d.ts.map +1 -0
- package/dist/builder/shared/index.js +1 -0
- package/dist/builder/shared/prism-pipeline.d.ts +21 -0
- package/dist/builder/shared/prism-pipeline.d.ts.map +1 -0
- package/dist/builder/shared/prism-pipeline.js +95 -0
- package/dist/builder/token-scanner/index.d.ts +2 -0
- package/dist/builder/token-scanner/index.d.ts.map +1 -0
- package/dist/builder/token-scanner/index.js +1 -0
- package/dist/builder/token-scanner/token-scanner.d.ts +9 -0
- package/dist/builder/token-scanner/token-scanner.d.ts.map +1 -0
- package/dist/builder/token-scanner/token-scanner.js +95 -0
- package/dist/builder/watcher/index.d.ts +3 -0
- package/dist/builder/watcher/index.d.ts.map +1 -0
- package/dist/builder/watcher/index.js +1 -0
- package/dist/builder/watcher/prism-watcher.d.ts +29 -0
- package/dist/builder/watcher/prism-watcher.d.ts.map +1 -0
- package/dist/builder/watcher/prism-watcher.js +79 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +2 -0
- package/dist/decorator/index.d.ts +3 -0
- package/dist/decorator/index.d.ts.map +1 -0
- package/dist/decorator/index.js +1 -0
- package/dist/decorator/showcase.decorator.d.ts +5 -0
- package/dist/decorator/showcase.decorator.d.ts.map +1 -0
- package/dist/decorator/showcase.decorator.js +7 -0
- package/dist/decorator/showcase.types.d.ts +54 -0
- package/dist/decorator/showcase.types.d.ts.map +1 -0
- package/dist/decorator/showcase.types.js +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/plugin/define-config.d.ts +4 -0
- package/dist/plugin/define-config.d.ts.map +1 -0
- package/dist/plugin/define-config.js +4 -0
- package/dist/plugin/index.d.ts +8 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/plugin/index.js +3 -0
- package/dist/plugin/page-helpers.d.ts +19 -0
- package/dist/plugin/page-helpers.d.ts.map +1 -0
- package/dist/plugin/page-helpers.js +20 -0
- package/dist/plugin/page.types.d.ts +19 -0
- package/dist/plugin/page.types.d.ts.map +1 -0
- package/dist/plugin/page.types.js +1 -0
- package/dist/plugin/plugin.types.d.ts +98 -0
- package/dist/plugin/plugin.types.d.ts.map +1 -0
- package/dist/plugin/plugin.types.js +1 -0
- package/dist/schematics/ng-add/index.d.ts +4 -0
- package/dist/schematics/ng-add/index.d.ts.map +1 -0
- package/dist/schematics/ng-add/index.js +179 -0
- package/dist/schematics/ng-add/schema.d.ts +5 -0
- package/dist/schematics/ng-add/schema.d.ts.map +1 -0
- package/dist/schematics/ng-add/schema.js +1 -0
- package/dist/test-setup-browser.d.ts +2 -0
- package/dist/test-setup-browser.d.ts.map +1 -0
- package/dist/test-setup-browser.js +4 -0
- package/package.json +73 -0
- package/schematics/collection.json +10 -0
- package/schematics/ng-add/schema.json +20 -0
- package/src/builder/build/schema.json +35 -0
- package/src/builder/serve/schema.json +36 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable, signal } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PrismEventLogService {
|
|
4
|
+
events = signal([], ...(ngDevMode ? [{ debugName: "events" }] : []));
|
|
5
|
+
_nextId = 0;
|
|
6
|
+
log(name, value) {
|
|
7
|
+
this.events.update((prev) => [
|
|
8
|
+
{ id: this._nextId++, timestamp: Date.now(), name, value },
|
|
9
|
+
...prev,
|
|
10
|
+
]);
|
|
11
|
+
}
|
|
12
|
+
clear() {
|
|
13
|
+
this.events.set([]);
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = function PrismEventLogService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismEventLogService)(); };
|
|
16
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismEventLogService, factory: PrismEventLogService.ɵfac, providedIn: 'root' });
|
|
17
|
+
}
|
|
18
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismEventLogService, [{
|
|
19
|
+
type: Injectable,
|
|
20
|
+
args: [{ providedIn: 'root' }]
|
|
21
|
+
}], null, null); })();
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class PrismLayoutService {
|
|
3
|
+
readonly sidebarVisible: import("@angular/core").WritableSignal<boolean>;
|
|
4
|
+
readonly addonsVisible: import("@angular/core").WritableSignal<boolean>;
|
|
5
|
+
readonly toolbarVisible: import("@angular/core").WritableSignal<boolean>;
|
|
6
|
+
readonly addonsOrientation: import("@angular/core").WritableSignal<"bottom" | "right">;
|
|
7
|
+
readonly sidebarWidth: import("@angular/core").WritableSignal<number>;
|
|
8
|
+
readonly panelHeight: import("@angular/core").WritableSignal<number>;
|
|
9
|
+
readonly panelWidth: import("@angular/core").WritableSignal<number>;
|
|
10
|
+
constructor();
|
|
11
|
+
toggleSidebar(): void;
|
|
12
|
+
toggleAddons(): void;
|
|
13
|
+
toggleToolbar(): void;
|
|
14
|
+
toggleOrientation(): void;
|
|
15
|
+
setSidebarWidth(px: number): void;
|
|
16
|
+
setPanelHeight(px: number): void;
|
|
17
|
+
setPanelWidth(px: number): void;
|
|
18
|
+
private loadFromStorage;
|
|
19
|
+
private saveToStorage;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrismLayoutService, never>;
|
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PrismLayoutService>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=prism-layout.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-layout.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-layout.service.ts"],"names":[],"mappings":";AAIA,qBACa,kBAAkB;IAC7B,QAAQ,CAAC,cAAc,kDAAgB;IACvC,QAAQ,CAAC,aAAa,kDAAgB;IACtC,QAAQ,CAAC,cAAc,kDAAgB;IACvC,QAAQ,CAAC,iBAAiB,6DAAwC;IAClE,QAAQ,CAAC,YAAY,iDAAe;IACpC,QAAQ,CAAC,WAAW,iDAAe;IACnC,QAAQ,CAAC,UAAU,iDAAe;;IAMlC,aAAa,IAAI,IAAI;IAKrB,YAAY,IAAI,IAAI;IAKpB,aAAa,IAAI,IAAI;IAKrB,iBAAiB,IAAI,IAAI;IAKzB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKjC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKhC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK/B,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,aAAa;yCAjEV,kBAAkB;6CAAlB,kBAAkB;CA6E9B"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Injectable, signal } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const STORAGE_KEY = 'ng-prism-layout';
|
|
4
|
+
export class PrismLayoutService {
|
|
5
|
+
sidebarVisible = signal(true, ...(ngDevMode ? [{ debugName: "sidebarVisible" }] : []));
|
|
6
|
+
addonsVisible = signal(true, ...(ngDevMode ? [{ debugName: "addonsVisible" }] : []));
|
|
7
|
+
toolbarVisible = signal(true, ...(ngDevMode ? [{ debugName: "toolbarVisible" }] : []));
|
|
8
|
+
addonsOrientation = signal('bottom', ...(ngDevMode ? [{ debugName: "addonsOrientation" }] : []));
|
|
9
|
+
sidebarWidth = signal(280, ...(ngDevMode ? [{ debugName: "sidebarWidth" }] : []));
|
|
10
|
+
panelHeight = signal(300, ...(ngDevMode ? [{ debugName: "panelHeight" }] : []));
|
|
11
|
+
panelWidth = signal(320, ...(ngDevMode ? [{ debugName: "panelWidth" }] : []));
|
|
12
|
+
constructor() {
|
|
13
|
+
this.loadFromStorage();
|
|
14
|
+
}
|
|
15
|
+
toggleSidebar() {
|
|
16
|
+
this.sidebarVisible.update(v => !v);
|
|
17
|
+
this.saveToStorage();
|
|
18
|
+
}
|
|
19
|
+
toggleAddons() {
|
|
20
|
+
this.addonsVisible.update(v => !v);
|
|
21
|
+
this.saveToStorage();
|
|
22
|
+
}
|
|
23
|
+
toggleToolbar() {
|
|
24
|
+
this.toolbarVisible.update(v => !v);
|
|
25
|
+
this.saveToStorage();
|
|
26
|
+
}
|
|
27
|
+
toggleOrientation() {
|
|
28
|
+
this.addonsOrientation.update(v => (v === 'bottom' ? 'right' : 'bottom'));
|
|
29
|
+
this.saveToStorage();
|
|
30
|
+
}
|
|
31
|
+
setSidebarWidth(px) {
|
|
32
|
+
this.sidebarWidth.set(Math.max(160, Math.min(600, px)));
|
|
33
|
+
this.saveToStorage();
|
|
34
|
+
}
|
|
35
|
+
setPanelHeight(px) {
|
|
36
|
+
this.panelHeight.set(Math.max(100, Math.min(600, px)));
|
|
37
|
+
this.saveToStorage();
|
|
38
|
+
}
|
|
39
|
+
setPanelWidth(px) {
|
|
40
|
+
this.panelWidth.set(Math.max(200, Math.min(600, px)));
|
|
41
|
+
this.saveToStorage();
|
|
42
|
+
}
|
|
43
|
+
loadFromStorage() {
|
|
44
|
+
try {
|
|
45
|
+
const raw = localStorage.getItem(STORAGE_KEY);
|
|
46
|
+
if (!raw)
|
|
47
|
+
return;
|
|
48
|
+
const d = JSON.parse(raw);
|
|
49
|
+
if (typeof d['sidebarVisible'] === 'boolean')
|
|
50
|
+
this.sidebarVisible.set(d['sidebarVisible']);
|
|
51
|
+
if (typeof d['addonsVisible'] === 'boolean')
|
|
52
|
+
this.addonsVisible.set(d['addonsVisible']);
|
|
53
|
+
if (typeof d['toolbarVisible'] === 'boolean')
|
|
54
|
+
this.toolbarVisible.set(d['toolbarVisible']);
|
|
55
|
+
if (d['addonsOrientation'] === 'bottom' || d['addonsOrientation'] === 'right') {
|
|
56
|
+
this.addonsOrientation.set(d['addonsOrientation']);
|
|
57
|
+
}
|
|
58
|
+
if (typeof d['sidebarWidth'] === 'number')
|
|
59
|
+
this.sidebarWidth.set(Math.max(160, Math.min(600, d['sidebarWidth'])));
|
|
60
|
+
if (typeof d['panelHeight'] === 'number')
|
|
61
|
+
this.panelHeight.set(Math.max(100, Math.min(600, d['panelHeight'])));
|
|
62
|
+
if (typeof d['panelWidth'] === 'number')
|
|
63
|
+
this.panelWidth.set(Math.max(200, Math.min(600, d['panelWidth'])));
|
|
64
|
+
}
|
|
65
|
+
catch { }
|
|
66
|
+
}
|
|
67
|
+
saveToStorage() {
|
|
68
|
+
const data = {
|
|
69
|
+
sidebarVisible: this.sidebarVisible(),
|
|
70
|
+
addonsVisible: this.addonsVisible(),
|
|
71
|
+
toolbarVisible: this.toolbarVisible(),
|
|
72
|
+
addonsOrientation: this.addonsOrientation(),
|
|
73
|
+
sidebarWidth: this.sidebarWidth(),
|
|
74
|
+
panelHeight: this.panelHeight(),
|
|
75
|
+
panelWidth: this.panelWidth(),
|
|
76
|
+
};
|
|
77
|
+
localStorage.setItem(STORAGE_KEY, JSON.stringify(data));
|
|
78
|
+
}
|
|
79
|
+
static ɵfac = function PrismLayoutService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismLayoutService)(); };
|
|
80
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismLayoutService, factory: PrismLayoutService.ɵfac, providedIn: 'root' });
|
|
81
|
+
}
|
|
82
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismLayoutService, [{
|
|
83
|
+
type: Injectable,
|
|
84
|
+
args: [{ providedIn: 'root' }]
|
|
85
|
+
}], () => [], null); })();
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { RuntimeComponent, RuntimeManifest } from '../../plugin/plugin.types.js';
|
|
2
|
+
import type { StyleguidePage } from '../../plugin/page.types.js';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class PrismManifestService {
|
|
5
|
+
private readonly _manifest;
|
|
6
|
+
readonly manifest: import("@angular/core").Signal<RuntimeManifest>;
|
|
7
|
+
readonly components: import("@angular/core").Signal<RuntimeComponent[]>;
|
|
8
|
+
readonly pages: import("@angular/core").Signal<StyleguidePage[]>;
|
|
9
|
+
readonly categories: import("@angular/core").Signal<string[]>;
|
|
10
|
+
readonly groupedByCategory: import("@angular/core").Signal<Map<string, RuntimeComponent[]>>;
|
|
11
|
+
updateManifest(manifest: RuntimeManifest): void;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrismManifestService, never>;
|
|
13
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PrismManifestService>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=prism-manifest.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-manifest.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-manifest.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAGjE,qBACa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAE7E,QAAQ,CAAC,QAAQ,kDAA+B;IAEhD,QAAQ,CAAC,UAAU,qDAAmE;IAEtF,QAAQ,CAAC,KAAK,mDAAkE;IAEhF,QAAQ,CAAC,UAAU,2CAsBhB;IAEH,QAAQ,CAAC,iBAAiB,kEAUvB;IAEH,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;yCA7CpC,oBAAoB;6CAApB,oBAAoB;CAgDhC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { computed, inject, Injectable, signal } from '@angular/core';
|
|
2
|
+
import { PRISM_MANIFEST } from '../tokens/prism-tokens.js';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class PrismManifestService {
|
|
5
|
+
_manifest = signal(inject(PRISM_MANIFEST), ...(ngDevMode ? [{ debugName: "_manifest" }] : []));
|
|
6
|
+
manifest = this._manifest.asReadonly();
|
|
7
|
+
components = computed(() => this._manifest().components, ...(ngDevMode ? [{ debugName: "components" }] : []));
|
|
8
|
+
pages = computed(() => this._manifest().pages ?? [], ...(ngDevMode ? [{ debugName: "pages" }] : []));
|
|
9
|
+
categories = computed(() => {
|
|
10
|
+
const manifest = this._manifest();
|
|
11
|
+
const orderMap = new Map();
|
|
12
|
+
for (const comp of manifest.components) {
|
|
13
|
+
const cat = comp.meta.showcaseConfig.category ?? 'Uncategorized';
|
|
14
|
+
const order = comp.meta.showcaseConfig.categoryOrder ?? Infinity;
|
|
15
|
+
if (!orderMap.has(cat) || order < orderMap.get(cat)) {
|
|
16
|
+
orderMap.set(cat, order);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
for (const page of (manifest.pages ?? [])) {
|
|
20
|
+
const cat = page.category ?? 'Uncategorized';
|
|
21
|
+
if (!orderMap.has(cat)) {
|
|
22
|
+
orderMap.set(cat, Infinity);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return [...orderMap.keys()].sort((a, b) => {
|
|
26
|
+
const orderA = orderMap.get(a);
|
|
27
|
+
const orderB = orderMap.get(b);
|
|
28
|
+
if (orderA !== orderB)
|
|
29
|
+
return orderA - orderB;
|
|
30
|
+
return a.localeCompare(b);
|
|
31
|
+
});
|
|
32
|
+
}, ...(ngDevMode ? [{ debugName: "categories" }] : []));
|
|
33
|
+
groupedByCategory = computed(() => {
|
|
34
|
+
const manifest = this._manifest();
|
|
35
|
+
const map = new Map();
|
|
36
|
+
for (const comp of manifest.components) {
|
|
37
|
+
const cat = comp.meta.showcaseConfig.category ?? 'Uncategorized';
|
|
38
|
+
const list = map.get(cat) ?? [];
|
|
39
|
+
list.push(comp);
|
|
40
|
+
map.set(cat, list);
|
|
41
|
+
}
|
|
42
|
+
return map;
|
|
43
|
+
}, ...(ngDevMode ? [{ debugName: "groupedByCategory" }] : []));
|
|
44
|
+
updateManifest(manifest) {
|
|
45
|
+
this._manifest.set(manifest);
|
|
46
|
+
}
|
|
47
|
+
static ɵfac = function PrismManifestService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismManifestService)(); };
|
|
48
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismManifestService, factory: PrismManifestService.ɵfac, providedIn: 'root' });
|
|
49
|
+
}
|
|
50
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismManifestService, [{
|
|
51
|
+
type: Injectable,
|
|
52
|
+
args: [{ providedIn: 'root' }]
|
|
53
|
+
}], null, null); })();
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { RuntimeComponent } from '../../plugin/plugin.types.js';
|
|
2
|
+
import type { StyleguidePage } from '../../plugin/page.types.js';
|
|
3
|
+
import type { NavigationItem } from './navigation-item.types.js';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class PrismNavigationService {
|
|
6
|
+
private readonly searchService;
|
|
7
|
+
private readonly manifestService;
|
|
8
|
+
readonly activeItem: import("@angular/core").WritableSignal<NavigationItem | null>;
|
|
9
|
+
readonly activeComponent: import("@angular/core").Signal<RuntimeComponent | null>;
|
|
10
|
+
readonly activePage: import("@angular/core").Signal<StyleguidePage | null>;
|
|
11
|
+
readonly categoryTree: import("@angular/core").Signal<Map<string, NavigationItem[]>>;
|
|
12
|
+
select(comp: RuntimeComponent): void;
|
|
13
|
+
selectPage(page: StyleguidePage): void;
|
|
14
|
+
selectFirst(): void;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrismNavigationService, never>;
|
|
16
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PrismNavigationService>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=prism-navigation.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-navigation.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-navigation.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAIjE,qBACa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE,QAAQ,CAAC,UAAU,gEAAuC;IAE1D,QAAQ,CAAC,eAAe,0DAMrB;IAEH,QAAQ,CAAC,UAAU,wDAMhB;IAEH,QAAQ,CAAC,YAAY,gEAkDlB;IAEH,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAIpC,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAItC,WAAW,IAAI,IAAI;yCAlFR,sBAAsB;6CAAtB,sBAAsB;CA+FlC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { computed, inject, Injectable, signal } from '@angular/core';
|
|
2
|
+
import { PrismManifestService } from './prism-manifest.service.js';
|
|
3
|
+
import { PrismSearchService } from './prism-search.service.js';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class PrismNavigationService {
|
|
6
|
+
searchService = inject(PrismSearchService);
|
|
7
|
+
manifestService = inject(PrismManifestService);
|
|
8
|
+
activeItem = signal(null, ...(ngDevMode ? [{ debugName: "activeItem" }] : []));
|
|
9
|
+
activeComponent = computed(() => {
|
|
10
|
+
const item = this.activeItem();
|
|
11
|
+
if (item?.kind !== 'component')
|
|
12
|
+
return null;
|
|
13
|
+
const manifest = this.manifestService.manifest();
|
|
14
|
+
const relinked = manifest.components.find((c) => c.meta.className === item.data.meta.className);
|
|
15
|
+
return relinked ?? null;
|
|
16
|
+
}, ...(ngDevMode ? [{ debugName: "activeComponent" }] : []));
|
|
17
|
+
activePage = computed(() => {
|
|
18
|
+
const item = this.activeItem();
|
|
19
|
+
if (item?.kind !== 'page')
|
|
20
|
+
return null;
|
|
21
|
+
const manifest = this.manifestService.manifest();
|
|
22
|
+
const relinked = manifest.pages?.find((p) => p.title === item.data.title && p.type === item.data.type);
|
|
23
|
+
return relinked ?? null;
|
|
24
|
+
}, ...(ngDevMode ? [{ debugName: "activePage" }] : []));
|
|
25
|
+
categoryTree = computed(() => {
|
|
26
|
+
const map = new Map();
|
|
27
|
+
for (const comp of this.searchService.filteredComponents()) {
|
|
28
|
+
const cat = comp.meta.showcaseConfig.category ?? 'Uncategorized';
|
|
29
|
+
const list = map.get(cat) ?? [];
|
|
30
|
+
list.push({ kind: 'component', data: comp });
|
|
31
|
+
map.set(cat, list);
|
|
32
|
+
}
|
|
33
|
+
for (const page of this.searchService.filteredPages()) {
|
|
34
|
+
const cat = page.category ?? 'Uncategorized';
|
|
35
|
+
const list = map.get(cat) ?? [];
|
|
36
|
+
list.push({ kind: 'page', data: page });
|
|
37
|
+
map.set(cat, list);
|
|
38
|
+
}
|
|
39
|
+
for (const items of map.values()) {
|
|
40
|
+
items.sort((a, b) => {
|
|
41
|
+
const orderA = a.kind === 'component'
|
|
42
|
+
? (a.data.meta.showcaseConfig.componentOrder ?? Infinity)
|
|
43
|
+
: (a.data.order ?? Infinity);
|
|
44
|
+
const orderB = b.kind === 'component'
|
|
45
|
+
? (b.data.meta.showcaseConfig.componentOrder ?? Infinity)
|
|
46
|
+
: (b.data.order ?? Infinity);
|
|
47
|
+
if (orderA !== orderB)
|
|
48
|
+
return orderA - orderB;
|
|
49
|
+
const labelA = a.kind === 'component' ? a.data.meta.showcaseConfig.title : a.data.title;
|
|
50
|
+
const labelB = b.kind === 'component' ? b.data.meta.showcaseConfig.title : b.data.title;
|
|
51
|
+
return labelA.localeCompare(labelB);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
const sorted = [...map.entries()].sort(([catA, itemsA], [catB, itemsB]) => {
|
|
55
|
+
const catOrders = itemsA.map((i) => i.kind === 'component'
|
|
56
|
+
? (i.data.meta.showcaseConfig.categoryOrder ?? Infinity)
|
|
57
|
+
: (i.data.categoryOrder ?? Infinity));
|
|
58
|
+
const orderA = Math.min(...catOrders);
|
|
59
|
+
const catOrdersB = itemsB.map((i) => i.kind === 'component'
|
|
60
|
+
? (i.data.meta.showcaseConfig.categoryOrder ?? Infinity)
|
|
61
|
+
: (i.data.categoryOrder ?? Infinity));
|
|
62
|
+
const orderB = Math.min(...catOrdersB);
|
|
63
|
+
if (orderA !== orderB)
|
|
64
|
+
return orderA - orderB;
|
|
65
|
+
return catA.localeCompare(catB);
|
|
66
|
+
});
|
|
67
|
+
return new Map(sorted);
|
|
68
|
+
}, ...(ngDevMode ? [{ debugName: "categoryTree" }] : []));
|
|
69
|
+
select(comp) {
|
|
70
|
+
this.activeItem.set({ kind: 'component', data: comp });
|
|
71
|
+
}
|
|
72
|
+
selectPage(page) {
|
|
73
|
+
this.activeItem.set({ kind: 'page', data: page });
|
|
74
|
+
}
|
|
75
|
+
selectFirst() {
|
|
76
|
+
const comps = this.searchService.filteredComponents();
|
|
77
|
+
if (comps.length > 0) {
|
|
78
|
+
this.activeItem.set({ kind: 'component', data: comps[0] });
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const pages = this.searchService.filteredPages();
|
|
82
|
+
if (pages.length > 0) {
|
|
83
|
+
this.activeItem.set({ kind: 'page', data: pages[0] });
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
this.activeItem.set(null);
|
|
87
|
+
}
|
|
88
|
+
static ɵfac = function PrismNavigationService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismNavigationService)(); };
|
|
89
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismNavigationService, factory: PrismNavigationService.ɵfac, providedIn: 'root' });
|
|
90
|
+
}
|
|
91
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismNavigationService, [{
|
|
92
|
+
type: Injectable,
|
|
93
|
+
args: [{ providedIn: 'root' }]
|
|
94
|
+
}], null, null); })();
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class PrismPanelService {
|
|
3
|
+
readonly activePanelId: import("@angular/core").WritableSignal<string>;
|
|
4
|
+
readonly activeViewId: import("@angular/core").WritableSignal<string>;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrismPanelService, never>;
|
|
6
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PrismPanelService>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=prism-panel.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-panel.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-panel.service.ts"],"names":[],"mappings":";AAEA,qBACa,iBAAiB;IAC5B,QAAQ,CAAC,aAAa,iDAA8B;IACpD,QAAQ,CAAC,YAAY,iDAA8B;yCAFxC,iBAAiB;6CAAjB,iBAAiB;CAG7B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Injectable, signal } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PrismPanelService {
|
|
4
|
+
activePanelId = signal('controls', ...(ngDevMode ? [{ debugName: "activePanelId" }] : []));
|
|
5
|
+
activeViewId = signal('renderer', ...(ngDevMode ? [{ debugName: "activeViewId" }] : []));
|
|
6
|
+
static ɵfac = function PrismPanelService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismPanelService)(); };
|
|
7
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismPanelService, factory: PrismPanelService.ɵfac, providedIn: 'root' });
|
|
8
|
+
}
|
|
9
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismPanelService, [{
|
|
10
|
+
type: Injectable,
|
|
11
|
+
args: [{ providedIn: 'root' }]
|
|
12
|
+
}], null, null); })();
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ControlDefinition, PanelDefinition } from '../../plugin/plugin.types.js';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class PrismPluginService {
|
|
4
|
+
private readonly config;
|
|
5
|
+
readonly panels: import("@angular/core").Signal<PanelDefinition[]>;
|
|
6
|
+
readonly addonPanels: import("@angular/core").Signal<PanelDefinition[]>;
|
|
7
|
+
readonly viewPanels: import("@angular/core").Signal<PanelDefinition[]>;
|
|
8
|
+
readonly controls: import("@angular/core").Signal<ControlDefinition[]>;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrismPluginService, never>;
|
|
10
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PrismPluginService>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=prism-plugin.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-plugin.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-plugin.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAGvF,qBACa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C,QAAQ,CAAC,MAAM,oDAQZ;IAEH,QAAQ,CAAC,WAAW,oDAElB;IAEF,QAAQ,CAAC,UAAU,oDAEjB;IAEF,QAAQ,CAAC,QAAQ,sDAQd;yCA7BQ,kBAAkB;6CAAlB,kBAAkB;CA8B9B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { computed, inject, Injectable } from '@angular/core';
|
|
2
|
+
import { PRISM_CONFIG } from '../tokens/prism-tokens.js';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class PrismPluginService {
|
|
5
|
+
config = inject(PRISM_CONFIG);
|
|
6
|
+
panels = computed(() => {
|
|
7
|
+
const result = [];
|
|
8
|
+
for (const plugin of this.config.plugins ?? []) {
|
|
9
|
+
if (plugin.panels) {
|
|
10
|
+
result.push(...plugin.panels);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return result;
|
|
14
|
+
}, ...(ngDevMode ? [{ debugName: "panels" }] : []));
|
|
15
|
+
addonPanels = computed(() => this.panels().filter((p) => p.placement !== 'view'), ...(ngDevMode ? [{ debugName: "addonPanels" }] : []));
|
|
16
|
+
viewPanels = computed(() => this.panels().filter((p) => p.placement === 'view'), ...(ngDevMode ? [{ debugName: "viewPanels" }] : []));
|
|
17
|
+
controls = computed(() => {
|
|
18
|
+
const result = [];
|
|
19
|
+
for (const plugin of this.config.plugins ?? []) {
|
|
20
|
+
if (plugin.controls) {
|
|
21
|
+
result.push(...plugin.controls);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}, ...(ngDevMode ? [{ debugName: "controls" }] : []));
|
|
26
|
+
static ɵfac = function PrismPluginService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismPluginService)(); };
|
|
27
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismPluginService, factory: PrismPluginService.ɵfac, providedIn: 'root' });
|
|
28
|
+
}
|
|
29
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismPluginService, [{
|
|
30
|
+
type: Injectable,
|
|
31
|
+
args: [{ providedIn: 'root' }]
|
|
32
|
+
}], null, null); })();
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { RuntimeComponent } from '../../plugin/plugin.types.js';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class PrismRendererService {
|
|
4
|
+
private readonly navigationService;
|
|
5
|
+
readonly activeVariantIndex: import("@angular/core").WritableSignal<number>;
|
|
6
|
+
readonly inputValues: import("@angular/core").WritableSignal<Record<string, unknown>>;
|
|
7
|
+
readonly activeContent: import("@angular/core").WritableSignal<string | Record<string, string> | undefined>;
|
|
8
|
+
readonly renderedElement: import("@angular/core").WritableSignal<Element | null>;
|
|
9
|
+
private _lastClassName;
|
|
10
|
+
resetForComponent(comp: RuntimeComponent): void;
|
|
11
|
+
reconcileForComponent(comp: RuntimeComponent): void;
|
|
12
|
+
selectVariant(index: number): void;
|
|
13
|
+
updateInput(name: string, value: unknown): void;
|
|
14
|
+
private applyVariant;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrismRendererService, never>;
|
|
16
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PrismRendererService>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=prism-renderer.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-renderer.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-renderer.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;;AAGrE,qBACa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IAEpE,QAAQ,CAAC,kBAAkB,iDAAa;IACxC,QAAQ,CAAC,WAAW,kEAAuC;IAC3D,QAAQ,CAAC,aAAa,sFAAkE;IACxF,QAAQ,CAAC,eAAe,yDAAgC;IAExD,OAAO,CAAC,cAAc,CAAuB;IAE7C,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAM/C,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAoCnD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMlC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI/C,OAAO,CAAC,YAAY;yCA9DT,oBAAoB;6CAApB,oBAAoB;CA6FhC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { inject, Injectable, signal } from '@angular/core';
|
|
2
|
+
import { PrismNavigationService } from './prism-navigation.service.js';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class PrismRendererService {
|
|
5
|
+
navigationService = inject(PrismNavigationService);
|
|
6
|
+
activeVariantIndex = signal(0, ...(ngDevMode ? [{ debugName: "activeVariantIndex" }] : []));
|
|
7
|
+
inputValues = signal({}, ...(ngDevMode ? [{ debugName: "inputValues" }] : []));
|
|
8
|
+
activeContent = signal(undefined, ...(ngDevMode ? [{ debugName: "activeContent" }] : []));
|
|
9
|
+
renderedElement = signal(null, ...(ngDevMode ? [{ debugName: "renderedElement" }] : []));
|
|
10
|
+
_lastClassName = null;
|
|
11
|
+
resetForComponent(comp) {
|
|
12
|
+
this._lastClassName = comp.meta.className;
|
|
13
|
+
this.activeVariantIndex.set(0);
|
|
14
|
+
this.applyVariant(0, comp);
|
|
15
|
+
}
|
|
16
|
+
reconcileForComponent(comp) {
|
|
17
|
+
const prev = this._lastClassName;
|
|
18
|
+
this._lastClassName = comp.meta.className;
|
|
19
|
+
if (prev !== comp.meta.className) {
|
|
20
|
+
this.activeVariantIndex.set(0);
|
|
21
|
+
this.applyVariant(0, comp);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const variants = comp.meta.showcaseConfig.variants ?? [];
|
|
25
|
+
const maxIndex = Math.max(0, variants.length - 1);
|
|
26
|
+
const preservedIndex = Math.min(this.activeVariantIndex(), maxIndex);
|
|
27
|
+
this.activeVariantIndex.set(preservedIndex);
|
|
28
|
+
const validKeys = new Set(comp.meta.inputs.map((i) => i.name));
|
|
29
|
+
const currentValues = this.inputValues();
|
|
30
|
+
const preserved = {};
|
|
31
|
+
for (const [key, value] of Object.entries(currentValues)) {
|
|
32
|
+
if (validKeys.has(key) || key === '__prismContent__') {
|
|
33
|
+
preserved[key] = value;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const variant = variants[preservedIndex];
|
|
37
|
+
const variantInputs = variant?.inputs ?? {};
|
|
38
|
+
const merged = { ...variantInputs, ...preserved };
|
|
39
|
+
if (comp.meta.componentMeta.isDirective && variant?.content && preserved['__prismContent__'] === undefined) {
|
|
40
|
+
merged['__prismContent__'] = typeof variant.content === 'string' ? variant.content : '';
|
|
41
|
+
}
|
|
42
|
+
this.inputValues.set(merged);
|
|
43
|
+
this.activeContent.set(comp.meta.componentMeta.isDirective ? undefined : variant?.content);
|
|
44
|
+
}
|
|
45
|
+
selectVariant(index) {
|
|
46
|
+
this.activeVariantIndex.set(index);
|
|
47
|
+
const comp = this.navigationService.activeComponent();
|
|
48
|
+
if (comp)
|
|
49
|
+
this.applyVariant(index, comp);
|
|
50
|
+
}
|
|
51
|
+
updateInput(name, value) {
|
|
52
|
+
this.inputValues.update((prev) => ({ ...prev, [name]: value }));
|
|
53
|
+
}
|
|
54
|
+
applyVariant(index, comp) {
|
|
55
|
+
const defaults = {};
|
|
56
|
+
for (const input of comp.meta.inputs) {
|
|
57
|
+
if (input.defaultValue !== undefined) {
|
|
58
|
+
defaults[input.name] = input.defaultValue;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const requiredInputNames = new Set(comp.meta.inputs.filter((i) => i.required).map((i) => i.name));
|
|
62
|
+
const reset = {};
|
|
63
|
+
for (const v of comp.meta.showcaseConfig.variants ?? []) {
|
|
64
|
+
for (const key of Object.keys(v.inputs ?? {})) {
|
|
65
|
+
if (!requiredInputNames.has(key) && !(key in reset)) {
|
|
66
|
+
reset[key] = undefined;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const variant = comp.meta.showcaseConfig.variants?.[index];
|
|
71
|
+
const values = { ...reset, ...defaults, ...(variant?.inputs ?? {}) };
|
|
72
|
+
if (comp.meta.componentMeta.isDirective && variant?.content) {
|
|
73
|
+
values['__prismContent__'] = typeof variant.content === 'string' ? variant.content : '';
|
|
74
|
+
}
|
|
75
|
+
this.inputValues.set(values);
|
|
76
|
+
this.activeContent.set(comp.meta.componentMeta.isDirective ? undefined : variant?.content);
|
|
77
|
+
}
|
|
78
|
+
static ɵfac = function PrismRendererService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismRendererService)(); };
|
|
79
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismRendererService, factory: PrismRendererService.ɵfac, providedIn: 'root' });
|
|
80
|
+
}
|
|
81
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismRendererService, [{
|
|
82
|
+
type: Injectable,
|
|
83
|
+
args: [{ providedIn: 'root' }]
|
|
84
|
+
}], null, null); })();
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { StyleguidePage } from '../../plugin/page.types.js';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class PrismSearchService {
|
|
4
|
+
private readonly manifestService;
|
|
5
|
+
readonly query: import("@angular/core").WritableSignal<string>;
|
|
6
|
+
readonly filteredComponents: import("@angular/core").Signal<import("../../index.js").RuntimeComponent[]>;
|
|
7
|
+
readonly filteredPages: import("@angular/core").Signal<StyleguidePage[]>;
|
|
8
|
+
search(q: string): void;
|
|
9
|
+
clear(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrismSearchService, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PrismSearchService>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=prism-search.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-search.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-search.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAGjE,qBACa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE,QAAQ,CAAC,KAAK,iDAAc;IAE5B,QAAQ,CAAC,kBAAkB,8EAYxB;IAEH,QAAQ,CAAC,aAAa,mDAQnB;IAEH,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIvB,KAAK,IAAI,IAAI;yCAjCF,kBAAkB;6CAAlB,kBAAkB;CAoC9B"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { computed, inject, Injectable, signal } from '@angular/core';
|
|
2
|
+
import { PrismManifestService } from './prism-manifest.service.js';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class PrismSearchService {
|
|
5
|
+
manifestService = inject(PrismManifestService);
|
|
6
|
+
query = signal('', ...(ngDevMode ? [{ debugName: "query" }] : []));
|
|
7
|
+
filteredComponents = computed(() => {
|
|
8
|
+
const q = this.query().toLowerCase().trim();
|
|
9
|
+
const all = this.manifestService.components();
|
|
10
|
+
if (!q)
|
|
11
|
+
return all;
|
|
12
|
+
return all.filter((comp) => {
|
|
13
|
+
const config = comp.meta.showcaseConfig;
|
|
14
|
+
return (config.title.toLowerCase().includes(q) ||
|
|
15
|
+
(config.category?.toLowerCase().includes(q) ?? false) ||
|
|
16
|
+
(config.tags?.some((t) => t.toLowerCase().includes(q)) ?? false));
|
|
17
|
+
});
|
|
18
|
+
}, ...(ngDevMode ? [{ debugName: "filteredComponents" }] : []));
|
|
19
|
+
filteredPages = computed(() => {
|
|
20
|
+
const q = this.query().toLowerCase().trim();
|
|
21
|
+
const all = this.manifestService.pages();
|
|
22
|
+
if (!q)
|
|
23
|
+
return all;
|
|
24
|
+
return all.filter((page) => page.title.toLowerCase().includes(q) ||
|
|
25
|
+
(page.category?.toLowerCase().includes(q) ?? false));
|
|
26
|
+
}, ...(ngDevMode ? [{ debugName: "filteredPages" }] : []));
|
|
27
|
+
search(q) {
|
|
28
|
+
this.query.set(q);
|
|
29
|
+
}
|
|
30
|
+
clear() {
|
|
31
|
+
this.query.set('');
|
|
32
|
+
}
|
|
33
|
+
static ɵfac = function PrismSearchService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismSearchService)(); };
|
|
34
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismSearchService, factory: PrismSearchService.ɵfac, providedIn: 'root' });
|
|
35
|
+
}
|
|
36
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismSearchService, [{
|
|
37
|
+
type: Injectable,
|
|
38
|
+
args: [{ providedIn: 'root' }]
|
|
39
|
+
}], null, null); })();
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class PrismThemeService {
|
|
3
|
+
readonly isDark: import("@angular/core").WritableSignal<boolean>;
|
|
4
|
+
constructor();
|
|
5
|
+
toggle(): void;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrismThemeService, never>;
|
|
7
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PrismThemeService>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=prism-theme.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-theme.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-theme.service.ts"],"names":[],"mappings":";AAIA,qBACa,iBAAiB;IAC5B,QAAQ,CAAC,MAAM,kDAAgB;;IAQ/B,MAAM,IAAI,IAAI;yCATH,iBAAiB;6CAAjB,iBAAiB;CAa7B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Injectable, signal } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const STORAGE_KEY = 'ng-prism-theme';
|
|
4
|
+
export class PrismThemeService {
|
|
5
|
+
isDark = signal(true, ...(ngDevMode ? [{ debugName: "isDark" }] : []));
|
|
6
|
+
constructor() {
|
|
7
|
+
const stored = localStorage.getItem(STORAGE_KEY);
|
|
8
|
+
if (stored === 'light')
|
|
9
|
+
this.isDark.set(false);
|
|
10
|
+
else if (stored === 'dark')
|
|
11
|
+
this.isDark.set(true);
|
|
12
|
+
}
|
|
13
|
+
toggle() {
|
|
14
|
+
this.isDark.update((v) => !v);
|
|
15
|
+
localStorage.setItem(STORAGE_KEY, this.isDark() ? 'dark' : 'light');
|
|
16
|
+
}
|
|
17
|
+
static ɵfac = function PrismThemeService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismThemeService)(); };
|
|
18
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PrismThemeService, factory: PrismThemeService.ɵfac, providedIn: 'root' });
|
|
19
|
+
}
|
|
20
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrismThemeService, [{
|
|
21
|
+
type: Injectable,
|
|
22
|
+
args: [{ providedIn: 'root' }]
|
|
23
|
+
}], () => [], null); })();
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class PrismUrlStateService {
|
|
3
|
+
private readonly manifestService;
|
|
4
|
+
private readonly navigationService;
|
|
5
|
+
private readonly rendererService;
|
|
6
|
+
private readonly panelService;
|
|
7
|
+
private readonly config;
|
|
8
|
+
private readonly injector;
|
|
9
|
+
private suppressSync;
|
|
10
|
+
init(): void;
|
|
11
|
+
private restoreFromUrl;
|
|
12
|
+
private writeToUrl;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrismUrlStateService, never>;
|
|
14
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PrismUrlStateService>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=prism-url-state.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prism-url-state.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-url-state.service.ts"],"names":[],"mappings":";AAcA,qBACa,oBAAoB;IAC/B,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;IAiBZ,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,UAAU;yCAjEP,oBAAoB;6CAApB,oBAAoB;CAsGhC"}
|