@ng-prism/core 22.5.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 +13 -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 +25 -3
- package/dist/app/canvas/prism-canvas-toolbar.component.d.ts.map +1 -1
- package/dist/app/canvas/prism-canvas-toolbar.component.js +154 -89
- 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/canvas/state-chips.d.ts +50 -0
- package/dist/app/canvas/state-chips.d.ts.map +1 -0
- package/dist/app/canvas/state-chips.js +40 -0
- 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 +20 -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 +85 -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 +14 -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 +84 -20
- 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/directives/resize-value.d.ts +1 -1
- package/dist/app/directives/resize-value.js +1 -1
- package/dist/app/discovery-manifest.d.ts +2 -2
- package/dist/app/discovery-manifest.d.ts.map +1 -1
- package/dist/app/discovery-manifest.js +15 -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 +19 -0
- package/dist/app/overview/open-in-playground.d.ts.map +1 -0
- package/dist/app/overview/open-in-playground.js +25 -0
- package/dist/app/overview/overview-matrix.d.ts +85 -0
- package/dist/app/overview/overview-matrix.d.ts.map +1 -0
- package/dist/app/overview/overview-matrix.js +98 -0
- package/dist/app/overview/overview-visibility.d.ts +10 -2
- package/dist/app/overview/overview-visibility.d.ts.map +1 -1
- package/dist/app/overview/overview-visibility.js +14 -3
- package/dist/app/overview/prism-overview-cell.component.d.ts +27 -2
- package/dist/app/overview/prism-overview-cell.component.d.ts.map +1 -1
- package/dist/app/overview/prism-overview-cell.component.js +145 -28
- package/dist/app/overview/prism-overview-matrix.component.d.ts +29 -0
- package/dist/app/overview/prism-overview-matrix.component.d.ts.map +1 -0
- package/dist/app/overview/prism-overview-matrix.component.js +155 -0
- package/dist/app/overview/prism-overview.component.d.ts +4 -0
- package/dist/app/overview/prism-overview.component.d.ts.map +1 -1
- package/dist/app/overview/prism-overview.component.js +37 -14
- package/dist/app/page-renderer/prism-page-renderer.component.js +2 -2
- package/dist/app/panels/a11y/a11y-core.plugin.d.ts.map +1 -1
- package/dist/app/panels/a11y/a11y-core.plugin.js +0 -1
- 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/controls-plugin.d.ts.map +1 -1
- package/dist/app/panels/controls/controls-plugin.js +1 -2
- 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/events-plugin.d.ts.map +1 -1
- package/dist/app/panels/events/events-plugin.js +1 -2
- 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/pseudo/pseudo-state-marker.d.ts +32 -10
- package/dist/app/pseudo/pseudo-state-marker.d.ts.map +1 -1
- package/dist/app/pseudo/pseudo-state-marker.js +83 -67
- package/dist/app/pseudo/pseudo-targets.d.ts +11 -0
- package/dist/app/pseudo/pseudo-targets.d.ts.map +1 -0
- package/dist/app/pseudo/pseudo-targets.js +46 -0
- package/dist/app/pseudo/state-fit.d.ts +28 -0
- package/dist/app/pseudo/state-fit.d.ts.map +1 -0
- package/dist/app/pseudo/state-fit.js +97 -0
- 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 +28 -0
- package/dist/app/renderer/input-bindings.d.ts.map +1 -0
- package/dist/app/renderer/input-bindings.js +42 -0
- package/dist/app/renderer/known-inputs.d.ts +8 -1
- package/dist/app/renderer/known-inputs.d.ts.map +1 -1
- package/dist/app/renderer/known-inputs.js +13 -5
- package/dist/app/renderer/prism-renderer.component.d.ts +18 -4
- package/dist/app/renderer/prism-renderer.component.d.ts.map +1 -1
- package/dist/app/renderer/prism-renderer.component.js +78 -44
- package/dist/app/renderer/projectable-content.d.ts +8 -1
- package/dist/app/renderer/projectable-content.d.ts.map +1 -1
- package/dist/app/renderer/projectable-content.js +40 -29
- package/dist/app/renderer/rendered-key.d.ts +20 -6
- package/dist/app/renderer/rendered-key.d.ts.map +1 -1
- package/dist/app/renderer/rendered-key.js +25 -8
- 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 +138 -81
- 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-pseudo-state.service.d.ts +59 -14
- package/dist/app/services/prism-pseudo-state.service.d.ts.map +1 -1
- package/dist/app/services/prism-pseudo-state.service.js +86 -29
- package/dist/app/services/prism-renderer.service.d.ts +23 -0
- package/dist/app/services/prism-renderer.service.d.ts.map +1 -1
- package/dist/app/services/prism-renderer.service.js +77 -8
- 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 +81 -12
- 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 +122 -66
- 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 +9 -0
- package/dist/builder/config-loader/deprecated-options.d.ts.map +1 -0
- package/dist/builder/config-loader/deprecated-options.js +34 -0
- 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 +137 -65
- 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 +229 -58
- 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/entry-point-discovery.d.ts +5 -0
- package/dist/builder/scanner/entry-point-discovery.d.ts.map +1 -1
- package/dist/builder/scanner/entry-point-discovery.js +14 -0
- package/dist/builder/scanner/entry-point.scanner.d.ts +3 -1
- package/dist/builder/scanner/entry-point.scanner.d.ts.map +1 -1
- package/dist/builder/scanner/entry-point.scanner.js +7 -6
- 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 +73 -17
- 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/pseudo-states.d.ts +1 -0
- package/dist/builder/scanner/pseudo-states.d.ts.map +1 -1
- package/dist/builder/scanner/pseudo-states.js +1 -1
- package/dist/builder/scanner/scanner.d.ts +27 -3
- package/dist/builder/scanner/scanner.d.ts.map +1 -1
- package/dist/builder/scanner/scanner.js +68 -24
- 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 +123 -10
- package/dist/builder/scanner/showcase-states.d.ts +17 -0
- package/dist/builder/scanner/showcase-states.d.ts.map +1 -0
- package/dist/builder/scanner/showcase-states.js +58 -0
- package/dist/builder/scanner/source-file-cache.d.ts +26 -0
- package/dist/builder/scanner/source-file-cache.d.ts.map +1 -0
- package/dist/builder/scanner/source-file-cache.js +60 -0
- 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 +71 -18
- package/dist/decorator/index.d.ts +1 -1
- package/dist/decorator/index.d.ts.map +1 -1
- package/dist/decorator/showcase.types.d.ts +102 -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 +184 -8
- 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
- package/src/builder/build/schema.json +6 -6
- package/src/builder/serve/schema.json +6 -6
|
@@ -1,17 +1,31 @@
|
|
|
1
1
|
import { computed, inject, Injectable, signal } from '@angular/core';
|
|
2
|
+
import { itemShowcaseConfig } from './navigation-item.js';
|
|
2
3
|
import { PrismManifestService } from './prism-manifest.service.js';
|
|
3
4
|
import { PrismSearchService } from './prism-search.service.js';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
const DEFAULT_SECTION_ORDER = {
|
|
6
7
|
Components: 0,
|
|
7
|
-
Directives: 10
|
|
8
|
+
Directives: 10,
|
|
9
|
+
Services: 20,
|
|
10
|
+
Pipes: 30
|
|
8
11
|
};
|
|
9
|
-
const SECTION_TIEBREAK = ['Components', 'Directives'];
|
|
12
|
+
const SECTION_TIEBREAK = ['Components', 'Directives', 'Services', 'Pipes'];
|
|
10
13
|
export function resolveSection(c) {
|
|
11
14
|
if (c.showcaseConfig.section)
|
|
12
15
|
return c.showcaseConfig.section;
|
|
13
16
|
return c.componentMeta.isDirective ? 'Directives' : 'Components';
|
|
14
17
|
}
|
|
18
|
+
/** The section an item lists under: its own `section`, else the default for what it is. */
|
|
19
|
+
function resolveItemSection(item) {
|
|
20
|
+
switch (item.kind) {
|
|
21
|
+
case 'component':
|
|
22
|
+
return resolveSection(item.data.meta);
|
|
23
|
+
case 'service':
|
|
24
|
+
return item.data.meta.showcaseConfig.section ?? 'Services';
|
|
25
|
+
case 'pipe':
|
|
26
|
+
return item.data.meta.showcaseConfig.section ?? 'Pipes';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
15
29
|
function defaultSectionOrder(name) {
|
|
16
30
|
return DEFAULT_SECTION_ORDER[name] ?? 100;
|
|
17
31
|
}
|
|
@@ -40,6 +54,37 @@ export class PrismNavigationService {
|
|
|
40
54
|
return relinked ?? null;
|
|
41
55
|
}, /* @ts-ignore */
|
|
42
56
|
...(ngDevMode ? [{ debugName: "activeComponent" }] : /* istanbul ignore next */ []));
|
|
57
|
+
activeService = computed(() => {
|
|
58
|
+
const item = this.activeItem();
|
|
59
|
+
if (item?.kind !== 'service')
|
|
60
|
+
return null;
|
|
61
|
+
const relinked = this.manifestService.services().find((s) => s.meta.className === item.data.meta.className);
|
|
62
|
+
return relinked ?? null;
|
|
63
|
+
}, /* @ts-ignore */
|
|
64
|
+
...(ngDevMode ? [{ debugName: "activeService" }] : /* istanbul ignore next */ []));
|
|
65
|
+
activePipe = computed(() => {
|
|
66
|
+
const item = this.activeItem();
|
|
67
|
+
if (item?.kind !== 'pipe')
|
|
68
|
+
return null;
|
|
69
|
+
const relinked = this.manifestService.pipes().find((p) => p.meta.className === item.data.meta.className);
|
|
70
|
+
return relinked ?? null;
|
|
71
|
+
}, /* @ts-ignore */
|
|
72
|
+
...(ngDevMode ? [{ debugName: "activePipe" }] : /* istanbul ignore next */ []));
|
|
73
|
+
/**
|
|
74
|
+
* What the active item is, for the panels that apply to one kind only.
|
|
75
|
+
* Built from the re-linked signals, so an item the manifest no longer has
|
|
76
|
+
* (and a page, which no panel targets) reports `null`.
|
|
77
|
+
*/
|
|
78
|
+
activeTarget = computed(() => {
|
|
79
|
+
if (this.activeComponent())
|
|
80
|
+
return 'component';
|
|
81
|
+
if (this.activeService())
|
|
82
|
+
return 'service';
|
|
83
|
+
if (this.activePipe())
|
|
84
|
+
return 'pipe';
|
|
85
|
+
return null;
|
|
86
|
+
}, /* @ts-ignore */
|
|
87
|
+
...(ngDevMode ? [{ debugName: "activeTarget" }] : /* istanbul ignore next */ []));
|
|
43
88
|
activePage = computed(() => {
|
|
44
89
|
const item = this.activeItem();
|
|
45
90
|
if (item?.kind !== 'page')
|
|
@@ -50,18 +95,23 @@ export class PrismNavigationService {
|
|
|
50
95
|
}, /* @ts-ignore */
|
|
51
96
|
...(ngDevMode ? [{ debugName: "activePage" }] : /* istanbul ignore next */ []));
|
|
52
97
|
sectionTree = computed(() => {
|
|
53
|
-
const
|
|
98
|
+
const items = [
|
|
99
|
+
...this.searchService.filteredComponents().map((data) => ({ kind: 'component', data })),
|
|
100
|
+
...this.searchService.filteredServices().map((data) => ({ kind: 'service', data })),
|
|
101
|
+
...this.searchService.filteredPipes().map((data) => ({ kind: 'pipe', data }))
|
|
102
|
+
];
|
|
54
103
|
const sections = new Map();
|
|
55
104
|
const sectionOrders = new Map();
|
|
56
|
-
for (const
|
|
57
|
-
const
|
|
58
|
-
const
|
|
105
|
+
for (const item of items) {
|
|
106
|
+
const config = item.data.meta.showcaseConfig;
|
|
107
|
+
const section = resolveItemSection(item);
|
|
108
|
+
const category = config.category ?? 'Uncategorized';
|
|
59
109
|
const catMap = sections.get(section) ?? new Map();
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
catMap.set(category,
|
|
110
|
+
const list = catMap.get(category) ?? [];
|
|
111
|
+
list.push(item);
|
|
112
|
+
catMap.set(category, list);
|
|
63
113
|
sections.set(section, catMap);
|
|
64
|
-
const explicit =
|
|
114
|
+
const explicit = config.sectionOrder;
|
|
65
115
|
const current = sectionOrders.get(section);
|
|
66
116
|
if (explicit !== undefined) {
|
|
67
117
|
sectionOrders.set(section, current === undefined ? explicit : Math.min(current, explicit));
|
|
@@ -71,21 +121,21 @@ export class PrismNavigationService {
|
|
|
71
121
|
for (const [name, catMap] of sections.entries()) {
|
|
72
122
|
const order = sectionOrders.get(name) ?? defaultSectionOrder(name);
|
|
73
123
|
const categories = [];
|
|
74
|
-
for (const [catName,
|
|
75
|
-
|
|
76
|
-
const oa =
|
|
77
|
-
const ob =
|
|
124
|
+
for (const [catName, catItems] of catMap.entries()) {
|
|
125
|
+
catItems.sort((a, b) => {
|
|
126
|
+
const oa = itemShowcaseConfig(a)?.componentOrder ?? Infinity;
|
|
127
|
+
const ob = itemShowcaseConfig(b)?.componentOrder ?? Infinity;
|
|
78
128
|
if (oa !== ob)
|
|
79
129
|
return oa - ob;
|
|
80
|
-
const la = a
|
|
81
|
-
const lb = b
|
|
130
|
+
const la = itemShowcaseConfig(a)?.title ?? '';
|
|
131
|
+
const lb = itemShowcaseConfig(b)?.title ?? '';
|
|
82
132
|
return la.localeCompare(lb);
|
|
83
133
|
});
|
|
84
|
-
categories.push({ name: catName, items });
|
|
134
|
+
categories.push({ name: catName, items: catItems });
|
|
85
135
|
}
|
|
86
136
|
categories.sort((a, b) => {
|
|
87
|
-
const oa = Math.min(...a.items.map((i) => (i
|
|
88
|
-
const ob = Math.min(...b.items.map((i) => (i
|
|
137
|
+
const oa = Math.min(...a.items.map((i) => itemShowcaseConfig(i)?.categoryOrder ?? Infinity));
|
|
138
|
+
const ob = Math.min(...b.items.map((i) => itemShowcaseConfig(i)?.categoryOrder ?? Infinity));
|
|
89
139
|
if (oa !== ob)
|
|
90
140
|
return oa - ob;
|
|
91
141
|
return a.name.localeCompare(b.name);
|
|
@@ -104,6 +154,12 @@ export class PrismNavigationService {
|
|
|
104
154
|
select(comp) {
|
|
105
155
|
this.activeItem.set({ kind: 'component', data: comp });
|
|
106
156
|
}
|
|
157
|
+
selectService(service) {
|
|
158
|
+
this.activeItem.set({ kind: 'service', data: service });
|
|
159
|
+
}
|
|
160
|
+
selectPipe(pipe) {
|
|
161
|
+
this.activeItem.set({ kind: 'pipe', data: pipe });
|
|
162
|
+
}
|
|
107
163
|
selectPage(page) {
|
|
108
164
|
this.activeItem.set({ kind: 'page', data: page });
|
|
109
165
|
}
|
|
@@ -118,6 +174,16 @@ export class PrismNavigationService {
|
|
|
118
174
|
this.activeItem.set({ kind: 'component', data: comps[0] });
|
|
119
175
|
return;
|
|
120
176
|
}
|
|
177
|
+
const services = this.searchService.filteredServices();
|
|
178
|
+
if (services.length > 0) {
|
|
179
|
+
this.activeItem.set({ kind: 'service', data: services[0] });
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
const pipes = this.searchService.filteredPipes();
|
|
183
|
+
if (pipes.length > 0) {
|
|
184
|
+
this.activeItem.set({ kind: 'pipe', data: pipes[0] });
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
121
187
|
this.activeItem.set(null);
|
|
122
188
|
}
|
|
123
189
|
static ɵfac = function PrismNavigationService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PrismNavigationService)(); };
|
|
@@ -20,10 +20,14 @@ export declare class PrismPanelService {
|
|
|
20
20
|
*/
|
|
21
21
|
readonly viewPanels: import("@angular/core").Signal<PanelDefinition[]>;
|
|
22
22
|
/**
|
|
23
|
-
* The view panels the active
|
|
23
|
+
* The view panels the active page actually offers.
|
|
24
24
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
25
|
+
* A service or a pipe gets the panels that apply to its kind, all of them:
|
|
26
|
+
* `isVisible` takes a component, so it has nothing to say about either. A
|
|
27
|
+
* component gets the panels that apply to components and pass their
|
|
28
|
+
* `isVisible`. Empty when none of the three is active, which is how pages end
|
|
29
|
+
* up without view tabs: it falls out of the data instead of needing a case of
|
|
30
|
+
* its own.
|
|
27
31
|
*/
|
|
28
32
|
readonly visibleViewPanels: import("@angular/core").Signal<PanelDefinition[]>;
|
|
29
33
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-panel.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-panel.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,mBAAmB,EAA8B,MAAM,eAAe,CAAC;AACrH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;
|
|
1
|
+
{"version":3,"file":"prism-panel.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-panel.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,mBAAmB,EAA8B,MAAM,eAAe,CAAC;AACrH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAMpE,qBACa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0C;IAExE,QAAQ,CAAC,aAAa,iDAA8B;IACpD,QAAQ,CAAC,YAAY,iDAA8B;IAEnD,QAAQ,CAAC,mBAAmB,6DAAsF;IAElH;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,oDAAwI;IAE3J;;;;;;;;;OASG;IACH,QAAQ,CAAC,iBAAiB,oDAUvB;IAEH;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;yCAhD/C,iBAAiB;;CA8D7B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { computed, createEnvironmentInjector, EnvironmentInjector, inject, Injectable, signal } from '@angular/core';
|
|
2
2
|
import { PRISM_BUILTIN_PANELS } from '../tokens/prism-tokens.js';
|
|
3
|
+
import { panelTargets } from '../view-tab-bar/panel-inputs.js';
|
|
3
4
|
import { PrismNavigationService } from './prism-navigation.service.js';
|
|
4
5
|
import { PrismPluginService } from './prism-plugin.service.js';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
@@ -26,16 +27,24 @@ export class PrismPanelService {
|
|
|
26
27
|
viewPanels = computed(() => [...this.builtinPanels.filter((p) => p.placement === 'view'), ...this.pluginService.viewPanels()], /* @ts-ignore */
|
|
27
28
|
...(ngDevMode ? [{ debugName: "viewPanels" }] : /* istanbul ignore next */ []));
|
|
28
29
|
/**
|
|
29
|
-
* The view panels the active
|
|
30
|
+
* The view panels the active page actually offers.
|
|
30
31
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
32
|
+
* A service or a pipe gets the panels that apply to its kind, all of them:
|
|
33
|
+
* `isVisible` takes a component, so it has nothing to say about either. A
|
|
34
|
+
* component gets the panels that apply to components and pass their
|
|
35
|
+
* `isVisible`. Empty when none of the three is active, which is how pages end
|
|
36
|
+
* up without view tabs: it falls out of the data instead of needing a case of
|
|
37
|
+
* its own.
|
|
33
38
|
*/
|
|
34
39
|
visibleViewPanels = computed(() => {
|
|
40
|
+
const target = this.navigationService.activeTarget();
|
|
41
|
+
if (target === 'service' || target === 'pipe') {
|
|
42
|
+
return this.viewPanels().filter((p) => panelTargets(p).includes(target));
|
|
43
|
+
}
|
|
35
44
|
const component = this.navigationService.activeComponent();
|
|
36
45
|
if (!component)
|
|
37
46
|
return [];
|
|
38
|
-
return this.viewPanels().filter((p) => !p.isVisible || p.isVisible(component));
|
|
47
|
+
return this.viewPanels().filter((p) => panelTargets(p).includes('component') && (!p.isVisible || p.isVisible(component)));
|
|
39
48
|
}, /* @ts-ignore */
|
|
40
49
|
...(ngDevMode ? [{ debugName: "visibleViewPanels" }] : /* istanbul ignore next */ []));
|
|
41
50
|
/**
|
|
@@ -1,24 +1,48 @@
|
|
|
1
|
+
import type { ShowcaseState } from '../../decorator/showcase.types.js';
|
|
1
2
|
import { type ForcedPseudoStates, type PseudoState } from '../../shared/pseudo-state.type.js';
|
|
2
3
|
import { PseudoStateMarker } from '../pseudo/pseudo-state-marker.js';
|
|
4
|
+
import type { StateFit } from '../pseudo/state-fit.js';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
/** Per state: forced on (`true`) or off (`false`) on top of what the variant declares. */
|
|
5
7
|
export type PseudoStateOverride = Partial<Record<PseudoState, boolean>>;
|
|
8
|
+
/** What the canvas forces, in the two layers the marker takes. */
|
|
9
|
+
export interface PseudoLayers {
|
|
10
|
+
/** The variant's own states, with the user's toggles on top: forced as they are. */
|
|
11
|
+
base: ForcedPseudoStates | null;
|
|
12
|
+
/** The active state's pseudo: forced only where {@link PrismPseudoStateService.canvasFit} says it fits. `null` when no state applies, or the toggles switched off all of it. */
|
|
13
|
+
state: ForcedPseudoStates | null;
|
|
14
|
+
}
|
|
6
15
|
/**
|
|
7
|
-
*
|
|
16
|
+
* The variant's and the active state's pseudo states with the user's toggles
|
|
17
|
+
* from the tools menu on top.
|
|
8
18
|
*
|
|
9
|
-
* Returns
|
|
10
|
-
* waits for the exact
|
|
11
|
-
* switched on from the menu applies to the whole component
|
|
12
|
-
* pointer over it would
|
|
19
|
+
* Returns the two objects it was given while nothing is toggled, so the
|
|
20
|
+
* renderer, which waits for the exact objects it handed the marker, is not sent
|
|
21
|
+
* a copy. A state switched on from the menu applies to the whole component
|
|
22
|
+
* (`true`), the way a pointer over it would, and lands in `base`, which the fit
|
|
23
|
+
* rule does not touch. One the variant or the state declares keeps its own
|
|
24
|
+
* target in its own layer, except that a state which does not fit
|
|
25
|
+
* (`stateFits: false`) is not applied, so a class only it declares is forced on
|
|
26
|
+
* the whole component instead. The state layer itself is the same either way:
|
|
27
|
+
* the marker still gets it, to see when the state fits again. A state switched
|
|
28
|
+
* off leaves both layers. Once the
|
|
29
|
+
* toggles have switched off every class the active state declares, its layer is
|
|
30
|
+
* `null`: that is the user's doing, not a state that forces nothing. A state
|
|
31
|
+
* that declares nothing itself (a slot the scanner could not evaluate) stays an
|
|
32
|
+
* empty object, so the marker can report it.
|
|
13
33
|
*/
|
|
14
|
-
export declare function
|
|
34
|
+
export declare function splitLayers(variantPseudo: ForcedPseudoStates | null, statePseudo: ForcedPseudoStates | null, override: PseudoStateOverride, stateFits?: boolean): PseudoLayers;
|
|
15
35
|
/**
|
|
16
|
-
* The pseudo states the canvas forces on the active variant
|
|
36
|
+
* The pseudo states the canvas forces on the active variant and the active
|
|
37
|
+
* component-level state.
|
|
17
38
|
*
|
|
18
|
-
* `declared` is `Variant.pseudo
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
39
|
+
* `declared` is `Variant.pseudo`, `activeState` is the `ShowcaseState` picked
|
|
40
|
+
* in `PrismRendererService.activeStateIndex`. They are two layers
|
|
41
|
+
* ({@link PseudoLayers}) because only the state's is subject to the fit rule.
|
|
42
|
+
* The tools menu can switch single states on and off on top of both; like the
|
|
43
|
+
* background override, that toggle is transient and resets when the variant, the
|
|
44
|
+
* state or the component changes. Capture mode ignores it, but applies the
|
|
45
|
+
* state: session UI state must not shape a baseline, the addressed cell must.
|
|
22
46
|
*
|
|
23
47
|
* Also owns the document's {@link PseudoStyleSheets}, which every marker shares
|
|
24
48
|
* so each stylesheet is rewritten once, whether the Playground canvas or an
|
|
@@ -29,15 +53,36 @@ export declare class PrismPseudoStateService {
|
|
|
29
53
|
private readonly renderer;
|
|
30
54
|
private readonly capture;
|
|
31
55
|
private readonly stylesheets;
|
|
56
|
+
private readonly activeVariant;
|
|
32
57
|
readonly declared: import("@angular/core").Signal<Partial<Record<PseudoState, import("../../shared/pseudo-state.type.js").PseudoTarget>> | null>;
|
|
58
|
+
/** The component-level state on the canvas, whether or not the active variant takes part in it. */
|
|
59
|
+
readonly activeState: import("@angular/core").Signal<ShowcaseState | null>;
|
|
60
|
+
/** `'states: false'` when the active variant opts out while a state is active, else `null`. */
|
|
61
|
+
readonly stateExclusion: import("@angular/core").Signal<string | null>;
|
|
62
|
+
/** What the active state forces: its pseudo, `null` when none is active or the variant opted out. */
|
|
63
|
+
private readonly statePseudo;
|
|
33
64
|
private readonly _override;
|
|
34
65
|
readonly override: import("@angular/core").Signal<Partial<Record<PseudoState, boolean>>>;
|
|
35
|
-
/**
|
|
36
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Whether the active state fits the rendered canvas. Written by the
|
|
68
|
+
* renderer from its marker, `null` while no state is applied.
|
|
69
|
+
*/
|
|
70
|
+
readonly canvasFit: import("@angular/core").WritableSignal<StateFit | null>;
|
|
71
|
+
/** `canvasFit` before the first render counts as fitting; a computed so a changed reason alone does not rebuild `layers`. */
|
|
72
|
+
private readonly stateFits;
|
|
73
|
+
/** What the canvas forces: `declared` and the active state with the user's toggles on top, which capture mode leaves out. */
|
|
74
|
+
readonly layers: import("@angular/core").Signal<PseudoLayers>;
|
|
37
75
|
constructor();
|
|
76
|
+
/** Whether `state` is forced on the canvas now: by the variant, or by the active state while it fits. */
|
|
38
77
|
isForced(state: PseudoState): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Whether the active variant declares `state`, or the active state does
|
|
80
|
+
* while it fits. A state that does not fit is not applied, so what it
|
|
81
|
+
* declares is no longer a default the menu can switch off: switching it on
|
|
82
|
+
* forces it on the whole component.
|
|
83
|
+
*/
|
|
39
84
|
isDeclared(state: PseudoState): boolean;
|
|
40
|
-
/** Flips `state` against what is forced now. Flipping it back to what the variant declares drops the toggle. */
|
|
85
|
+
/** Flips `state` against what is forced now. Flipping it back to what the variant or state declares drops the toggle. */
|
|
41
86
|
toggle(state: PseudoState): void;
|
|
42
87
|
clearOverride(): void;
|
|
43
88
|
/** A marker for one rendered component, sharing this app's rewritten stylesheets. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prism-pseudo-state.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-pseudo-state.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAiB,KAAK,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;;
|
|
1
|
+
{"version":3,"file":"prism-pseudo-state.service.d.ts","sourceRoot":"","sources":["../../../src/app/services/prism-pseudo-state.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAW,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,KAAK,kBAAkB,EAAiB,KAAK,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;;AAKvD,0FAA0F;AAC1F,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAExE,kEAAkE;AAClE,MAAM,WAAW,YAAY;IACzB,oFAAoF;IACpF,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAChC,gLAAgL;IAChL,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CACvB,aAAa,EAAE,kBAAkB,GAAG,IAAI,EACxC,WAAW,EAAE,kBAAkB,GAAG,IAAI,EACtC,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,UAAO,GACjB,YAAY,CAqBd;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBACa,uBAAuB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2C;IAEvE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAI3B;IAEH,QAAQ,CAAC,QAAQ,gIAAmF;IAEpG,mGAAmG;IACnG,QAAQ,CAAC,WAAW,uDAKjB;IAEH,+FAA+F;IAC/F,QAAQ,CAAC,cAAc,gDAA0H;IAEjJ,qGAAqG;IACrG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6H;IAEzJ,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,QAAQ,CAAC,QAAQ,wEAA+B;IAEhD;;;OAGG;IACH,QAAQ,CAAC,SAAS,0DAAiC;IAEnD,6HAA6H;IAC7H,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoD;IAE9E,6HAA6H;IAC7H,QAAQ,CAAC,MAAM,+CAGZ;;IAWH,yGAAyG;IACzG,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAMrC;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAIvC,yHAAyH;IACzH,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAYhC,aAAa,IAAI,IAAI;IAIrB,qFAAqF;IACrF,YAAY,IAAI,iBAAiB;yCA1FxB,uBAAuB;;CA6FnC"}
|
|
@@ -8,32 +8,56 @@ import { PrismNavigationService } from './prism-navigation.service.js';
|
|
|
8
8
|
import { PrismRendererService } from './prism-renderer.service.js';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* The variant's and the active state's pseudo states with the user's toggles
|
|
12
|
+
* from the tools menu on top.
|
|
12
13
|
*
|
|
13
|
-
* Returns
|
|
14
|
-
* waits for the exact
|
|
15
|
-
* switched on from the menu applies to the whole component
|
|
16
|
-
* pointer over it would
|
|
14
|
+
* Returns the two objects it was given while nothing is toggled, so the
|
|
15
|
+
* renderer, which waits for the exact objects it handed the marker, is not sent
|
|
16
|
+
* a copy. A state switched on from the menu applies to the whole component
|
|
17
|
+
* (`true`), the way a pointer over it would, and lands in `base`, which the fit
|
|
18
|
+
* rule does not touch. One the variant or the state declares keeps its own
|
|
19
|
+
* target in its own layer, except that a state which does not fit
|
|
20
|
+
* (`stateFits: false`) is not applied, so a class only it declares is forced on
|
|
21
|
+
* the whole component instead. The state layer itself is the same either way:
|
|
22
|
+
* the marker still gets it, to see when the state fits again. A state switched
|
|
23
|
+
* off leaves both layers. Once the
|
|
24
|
+
* toggles have switched off every class the active state declares, its layer is
|
|
25
|
+
* `null`: that is the user's doing, not a state that forces nothing. A state
|
|
26
|
+
* that declares nothing itself (a slot the scanner could not evaluate) stays an
|
|
27
|
+
* empty object, so the marker can report it.
|
|
17
28
|
*/
|
|
18
|
-
export function
|
|
29
|
+
export function splitLayers(variantPseudo, statePseudo, override, stateFits = true) {
|
|
19
30
|
if (Object.keys(override).length === 0)
|
|
20
|
-
return
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
if (
|
|
26
|
-
|
|
31
|
+
return { base: variantPseudo, state: statePseudo };
|
|
32
|
+
const base = {};
|
|
33
|
+
const state = {};
|
|
34
|
+
for (const name of PSEUDO_STATES) {
|
|
35
|
+
const forced = override[name];
|
|
36
|
+
if (forced === false)
|
|
37
|
+
continue;
|
|
38
|
+
const fromVariant = variantPseudo?.[name];
|
|
39
|
+
const fromState = statePseudo?.[name];
|
|
40
|
+
if (fromVariant !== undefined)
|
|
41
|
+
base[name] = fromVariant;
|
|
42
|
+
if (fromState !== undefined)
|
|
43
|
+
state[name] = fromState;
|
|
44
|
+
if (forced && fromVariant === undefined && (fromState === undefined || !stateFits))
|
|
45
|
+
base[name] = true;
|
|
27
46
|
}
|
|
28
|
-
|
|
47
|
+
const switchedOff = Object.keys(state).length === 0 && Object.keys(statePseudo ?? {}).length > 0;
|
|
48
|
+
return { base: Object.keys(base).length > 0 ? base : null, state: statePseudo && !switchedOff ? state : null };
|
|
29
49
|
}
|
|
30
50
|
/**
|
|
31
|
-
* The pseudo states the canvas forces on the active variant
|
|
51
|
+
* The pseudo states the canvas forces on the active variant and the active
|
|
52
|
+
* component-level state.
|
|
32
53
|
*
|
|
33
|
-
* `declared` is `Variant.pseudo
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
54
|
+
* `declared` is `Variant.pseudo`, `activeState` is the `ShowcaseState` picked
|
|
55
|
+
* in `PrismRendererService.activeStateIndex`. They are two layers
|
|
56
|
+
* ({@link PseudoLayers}) because only the state's is subject to the fit rule.
|
|
57
|
+
* The tools menu can switch single states on and off on top of both; like the
|
|
58
|
+
* background override, that toggle is transient and resets when the variant, the
|
|
59
|
+
* state or the component changes. Capture mode ignores it, but applies the
|
|
60
|
+
* state: session UI state must not shape a baseline, the addressed cell must.
|
|
37
61
|
*
|
|
38
62
|
* Also owns the document's {@link PseudoStyleSheets}, which every marker shares
|
|
39
63
|
* so each stylesheet is rewritten once, whether the Playground canvas or an
|
|
@@ -44,33 +68,66 @@ export class PrismPseudoStateService {
|
|
|
44
68
|
renderer = inject(PrismRendererService);
|
|
45
69
|
capture = inject(PrismCaptureService);
|
|
46
70
|
stylesheets = new PseudoStyleSheets(inject(DOCUMENT));
|
|
47
|
-
|
|
71
|
+
activeVariant = computed(() => {
|
|
48
72
|
const comp = this.navigation.activeComponent();
|
|
49
|
-
|
|
50
|
-
return null;
|
|
51
|
-
return comp.meta.showcaseConfig.variants?.[this.renderer.activeVariantIndex()]?.pseudo ?? null;
|
|
73
|
+
return comp?.meta.showcaseConfig.variants?.[this.renderer.activeVariantIndex()] ?? null;
|
|
52
74
|
}, /* @ts-ignore */
|
|
75
|
+
...(ngDevMode ? [{ debugName: "activeVariant" }] : /* istanbul ignore next */ []));
|
|
76
|
+
declared = computed(() => this.activeVariant()?.pseudo ?? null, /* @ts-ignore */
|
|
53
77
|
...(ngDevMode ? [{ debugName: "declared" }] : /* istanbul ignore next */ []));
|
|
78
|
+
/** The component-level state on the canvas, whether or not the active variant takes part in it. */
|
|
79
|
+
activeState = computed(() => {
|
|
80
|
+
const index = this.renderer.activeStateIndex();
|
|
81
|
+
if (index === null)
|
|
82
|
+
return null;
|
|
83
|
+
return this.navigation.activeComponent()?.meta.showcaseConfig.states?.[index] ?? null;
|
|
84
|
+
}, /* @ts-ignore */
|
|
85
|
+
...(ngDevMode ? [{ debugName: "activeState" }] : /* istanbul ignore next */ []));
|
|
86
|
+
/** `'states: false'` when the active variant opts out while a state is active, else `null`. */
|
|
87
|
+
stateExclusion = computed(() => (this.activeState() && this.activeVariant()?.states === false ? 'states: false' : null), /* @ts-ignore */
|
|
88
|
+
...(ngDevMode ? [{ debugName: "stateExclusion" }] : /* istanbul ignore next */ []));
|
|
89
|
+
/** What the active state forces: its pseudo, `null` when none is active or the variant opted out. */
|
|
90
|
+
statePseudo = computed(() => (this.stateExclusion() === null ? (this.activeState()?.pseudo ?? null) : null), /* @ts-ignore */
|
|
91
|
+
...(ngDevMode ? [{ debugName: "statePseudo" }] : /* istanbul ignore next */ []));
|
|
54
92
|
_override = signal({}, /* @ts-ignore */
|
|
55
93
|
...(ngDevMode ? [{ debugName: "_override" }] : /* istanbul ignore next */ []));
|
|
56
94
|
override = this._override.asReadonly();
|
|
57
|
-
/**
|
|
58
|
-
|
|
59
|
-
|
|
95
|
+
/**
|
|
96
|
+
* Whether the active state fits the rendered canvas. Written by the
|
|
97
|
+
* renderer from its marker, `null` while no state is applied.
|
|
98
|
+
*/
|
|
99
|
+
canvasFit = signal(null, /* @ts-ignore */
|
|
100
|
+
...(ngDevMode ? [{ debugName: "canvasFit" }] : /* istanbul ignore next */ []));
|
|
101
|
+
/** `canvasFit` before the first render counts as fitting; a computed so a changed reason alone does not rebuild `layers`. */
|
|
102
|
+
stateFits = computed(() => this.canvasFit()?.fits !== false, /* @ts-ignore */
|
|
103
|
+
...(ngDevMode ? [{ debugName: "stateFits" }] : /* istanbul ignore next */ []));
|
|
104
|
+
/** What the canvas forces: `declared` and the active state with the user's toggles on top, which capture mode leaves out. */
|
|
105
|
+
layers = computed(() => splitLayers(this.declared(), this.statePseudo(), this.capture.active() ? {} : this._override(), this.stateFits()), { ...(ngDevMode ? { debugName: "layers" } : /* istanbul ignore next */ {}),
|
|
106
|
+
// A reset to `{}` writes a fresh override and would hand out a new wrapper around the same two objects, which re-applies the marker for nothing.
|
|
107
|
+
equal: (a, b) => a.base === b.base && a.state === b.state });
|
|
60
108
|
constructor() {
|
|
61
109
|
effect(() => {
|
|
62
110
|
this.navigation.activeComponent();
|
|
63
111
|
this.renderer.activeVariantIndex();
|
|
112
|
+
this.renderer.activeStateIndex();
|
|
64
113
|
this._override.set({});
|
|
65
114
|
});
|
|
66
115
|
}
|
|
116
|
+
/** Whether `state` is forced on the canvas now: by the variant, or by the active state while it fits. */
|
|
67
117
|
isForced(state) {
|
|
68
|
-
|
|
118
|
+
const { base, state: layer } = this.layers();
|
|
119
|
+
return base?.[state] !== undefined || (!!this.canvasFit()?.fits && layer?.[state] !== undefined);
|
|
69
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Whether the active variant declares `state`, or the active state does
|
|
123
|
+
* while it fits. A state that does not fit is not applied, so what it
|
|
124
|
+
* declares is no longer a default the menu can switch off: switching it on
|
|
125
|
+
* forces it on the whole component.
|
|
126
|
+
*/
|
|
70
127
|
isDeclared(state) {
|
|
71
|
-
return this.declared()?.[state] !== undefined;
|
|
128
|
+
return this.declared()?.[state] !== undefined || (this.stateFits() && this.statePseudo()?.[state] !== undefined);
|
|
72
129
|
}
|
|
73
|
-
/** Flips `state` against what is forced now. Flipping it back to what the variant declares drops the toggle. */
|
|
130
|
+
/** Flips `state` against what is forced now. Flipping it back to what the variant or state declares drops the toggle. */
|
|
74
131
|
toggle(state) {
|
|
75
132
|
const forced = !this.isForced(state);
|
|
76
133
|
this._override.update((override) => {
|
|
@@ -10,14 +10,37 @@ export declare function computeVariantState(comp: RuntimeComponent, index: numbe
|
|
|
10
10
|
export declare class PrismRendererService {
|
|
11
11
|
private readonly navigationService;
|
|
12
12
|
readonly activeVariantIndex: import("@angular/core").WritableSignal<number>;
|
|
13
|
+
/**
|
|
14
|
+
* Position in `ShowcaseConfig.states` of the component-level state on the
|
|
15
|
+
* canvas, `null` for none. Part of the addressed cell next to the variant:
|
|
16
|
+
* it survives a variant change and goes with the component.
|
|
17
|
+
*/
|
|
18
|
+
readonly activeStateIndex: import("@angular/core").WritableSignal<number | null>;
|
|
13
19
|
readonly inputValues: import("@angular/core").WritableSignal<Record<string, unknown>>;
|
|
14
20
|
readonly activeContent: import("@angular/core").WritableSignal<string | Record<string, string> | undefined>;
|
|
15
21
|
readonly renderedElement: import("@angular/core").WritableSignal<Element | null>;
|
|
22
|
+
/**
|
|
23
|
+
* The element of the showcased component or directive in what the canvas
|
|
24
|
+
* renders: in a composition the one the wrapper marks, else the rendered
|
|
25
|
+
* element itself. `null` while nothing is rendered. Since 22.7.0.
|
|
26
|
+
*/
|
|
27
|
+
readonly subjectElement: import("@angular/core").Signal<Element | null>;
|
|
16
28
|
readonly dirtyInputCount: import("@angular/core").Signal<number>;
|
|
29
|
+
/** The component the variant, the state and the inputs belong to, `null` before the first. */
|
|
17
30
|
private _lastClassName;
|
|
31
|
+
constructor();
|
|
18
32
|
resetForComponent(comp: RuntimeComponent): void;
|
|
33
|
+
/**
|
|
34
|
+
* Brings the variant, the state and the inputs in line with `comp`: a full
|
|
35
|
+
* reset when it is another component than the last one, else the variant
|
|
36
|
+
* and the state clamped to what it still declares and the inputs kept.
|
|
37
|
+
* Runs on every navigation and again when the renderer mounts, which then
|
|
38
|
+
* finds the component current and keeps what an Overview cell or a restore
|
|
39
|
+
* selected.
|
|
40
|
+
*/
|
|
19
41
|
reconcileForComponent(comp: RuntimeComponent): void;
|
|
20
42
|
selectVariant(index: number): void;
|
|
43
|
+
selectState(index: number | null): void;
|
|
21
44
|
updateInput(name: string, value: unknown): void;
|
|
22
45
|
resetInputsToVariantDefaults(): void;
|
|
23
46
|
private applyVariant;
|
|
@@ -1 +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;;
|
|
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;;AAKrE,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC9D;AAED,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAC9E,oBAAoB,CA+CtB;AA+BD,qBACa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IAEpE,QAAQ,CAAC,kBAAkB,iDAAa;IACxC;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,wDAA+B;IACxD,QAAQ,CAAC,WAAW,kEAAuC;IAC3D,QAAQ,CAAC,aAAa,sFAAkE;IACxF,QAAQ,CAAC,eAAe,yDAAgC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,cAAc,iDAOpB;IAEH,QAAQ,CAAC,eAAe,yCAarB;IAEH,8FAA8F;IAC9F,OAAO,CAAC,cAAc,CAAuB;;IAc7C,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAO/C;;;;;;;OAOG;IACH,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAqDnD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOlC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIvC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI/C,4BAA4B,IAAI,IAAI;IAOpC,OAAO,CAAC,YAAY;yCAnJX,oBAAoB;;CA4JhC"}
|