@mintplayer/ng-bootstrap 17.2.0 → 17.4.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.
@@ -1,12 +1,18 @@
1
- import { TemplateRef } from '@angular/core';
1
+ import { EventEmitter, TemplateRef } from '@angular/core';
2
+ import { HighlightAutoResult } from 'ngx-highlightjs';
3
+ import { BehaviorSubject } from 'rxjs';
2
4
  import * as i0 from "@angular/core";
3
5
  export declare class BsCodeSnippetComponent {
6
+ constructor();
4
7
  offcanvasVisible: boolean;
5
8
  codeToCopy: string;
6
9
  languages: string[] | null;
7
10
  lineNumbers: boolean;
8
11
  copiedTemplate: TemplateRef<any>;
12
+ detectedLanguage: EventEmitter<string>;
13
+ language$: BehaviorSubject<string>;
9
14
  copiedHtml(): void;
15
+ onHighlighted(result: HighlightAutoResult): void;
10
16
  static ɵfac: i0.ɵɵFactoryDeclaration<BsCodeSnippetComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<BsCodeSnippetComponent, "bs-code-snippet", never, { "codeToCopy": { "alias": "codeToCopy"; "required": false; }; "languages": { "alias": "languages"; "required": false; }; "lineNumbers": { "alias": "lineNumbers"; "required": false; }; }, {}, never, never, true, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<BsCodeSnippetComponent, "bs-code-snippet", never, { "codeToCopy": { "alias": "codeToCopy"; "required": false; }; "languages": { "alias": "languages"; "required": false; }; "lineNumbers": { "alias": "lineNumbers"; "required": false; }; }, { "detectedLanguage": "detectedLanguage"; }, never, never, true, never>;
12
18
  }
@@ -1,7 +1,10 @@
1
- import { Component, Input, TemplateRef, ViewChild } from '@angular/core';
1
+ import { AsyncPipe } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output, TemplateRef, ViewChild } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
2
4
  import { BsCopyDirective } from '@mintplayer/ng-bootstrap/copy';
3
5
  import { BsOffcanvasModule } from '@mintplayer/ng-bootstrap/offcanvas';
4
6
  import { HighlightModule } from 'ngx-highlightjs';
7
+ import { BehaviorSubject } from 'rxjs';
5
8
  import * as i0 from "@angular/core";
6
9
  import * as i1 from "@mintplayer/ng-bootstrap/offcanvas";
7
10
  import * as i2 from "ngx-highlightjs";
@@ -11,18 +14,25 @@ export class BsCodeSnippetComponent {
11
14
  this.codeToCopy = '';
12
15
  this.languages = null;
13
16
  this.lineNumbers = false;
17
+ this.detectedLanguage = new EventEmitter();
18
+ this.language$ = new BehaviorSubject('code');
19
+ this.language$.pipe(takeUntilDestroyed())
20
+ .subscribe((language) => this.detectedLanguage.emit(language));
14
21
  }
15
22
  copiedHtml() {
16
23
  this.offcanvasVisible = true;
17
24
  setTimeout(() => this.offcanvasVisible = false, 3000);
18
25
  }
26
+ onHighlighted(result) {
27
+ this.language$.next(result.language ?? 'code');
28
+ }
19
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCodeSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsCodeSnippetComponent, isStandalone: true, selector: "bs-code-snippet", inputs: { codeToCopy: "codeToCopy", languages: "languages", lineNumbers: "lineNumbers" }, viewQueries: [{ propertyName: "copiedTemplate", first: true, predicate: ["copiedTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy html\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"], dependencies: [{ kind: "directive", type: BsCopyDirective, selector: "[bsCopy]", inputs: ["bsCopy"], outputs: ["bsCopied"] }, { kind: "ngmodule", type: BsOffcanvasModule }, { kind: "directive", type: i1.BsOffcanvasContentDirective, selector: "[bsOffcanvasContent]" }, { kind: "component", type: i1.BsOffcanvasHostComponent, selector: "bs-offcanvas", inputs: ["isVisible", "position", "size", "hasBackdrop"], outputs: ["backdropClick", "isVisibleChange"] }, { kind: "ngmodule", type: HighlightModule }, { kind: "directive", type: i2.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }] }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsCodeSnippetComponent, isStandalone: true, selector: "bs-code-snippet", inputs: { codeToCopy: "codeToCopy", languages: "languages", lineNumbers: "lineNumbers" }, outputs: { detectedLanguage: "detectedLanguage" }, viewQueries: [{ propertyName: "copiedTemplate", first: true, predicate: ["copiedTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy {{ language$ | async }}\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\" (highlighted)=\"onHighlighted($event)\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: BsCopyDirective, selector: "[bsCopy]", inputs: ["bsCopy"], outputs: ["bsCopied"] }, { kind: "ngmodule", type: BsOffcanvasModule }, { kind: "directive", type: i1.BsOffcanvasContentDirective, selector: "[bsOffcanvasContent]" }, { kind: "component", type: i1.BsOffcanvasHostComponent, selector: "bs-offcanvas", inputs: ["isVisible", "position", "size", "hasBackdrop"], outputs: ["backdropClick", "isVisibleChange"] }, { kind: "ngmodule", type: HighlightModule }, { kind: "directive", type: i2.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }] }); }
21
31
  }
22
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCodeSnippetComponent, decorators: [{
23
33
  type: Component,
24
- args: [{ selector: 'bs-code-snippet', standalone: true, imports: [BsCopyDirective, BsOffcanvasModule, HighlightModule], template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy html\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"] }]
25
- }], propDecorators: { codeToCopy: [{
34
+ args: [{ selector: 'bs-code-snippet', standalone: true, imports: [AsyncPipe, BsCopyDirective, BsOffcanvasModule, HighlightModule], template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy {{ language$ | async }}\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\" (highlighted)=\"onHighlighted($event)\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"] }]
35
+ }], ctorParameters: () => [], propDecorators: { codeToCopy: [{
26
36
  type: Input
27
37
  }], languages: [{
28
38
  type: Input
@@ -31,5 +41,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
31
41
  }], copiedTemplate: [{
32
42
  type: ViewChild,
33
43
  args: ['copiedTemplate']
44
+ }], detectedLanguage: [{
45
+ type: Output
34
46
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1zbmlwcGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvY29kZS1zbmlwcGV0L3NyYy9jb2RlLXNuaXBwZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jb2RlLXNuaXBwZXQvc3JjL2NvZGUtc25pcHBldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFTbEQsTUFBTSxPQUFPLHNCQUFzQjtJQVBuQztRQVNFLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUNULGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsY0FBUyxHQUFvQixJQUFJLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7S0FRckM7SUFMQyxVQUFVO1FBQ1IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDOzhHQVhVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHVSQ1puQyxrbUJBVU0sOEVEQU0sZUFBZSwrRkFBRSxpQkFBaUIsMFRBQUUsZUFBZTs7MkZBRWxELHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDRSxpQkFBaUIsY0FHZixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDOzhCQUs5QyxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDdUIsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc0NvcHlEaXJlY3RpdmUgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvY29weSc7XG5pbXBvcnQgeyBCc09mZmNhbnZhc01vZHVsZSB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcC9vZmZjYW52YXMnO1xuaW1wb3J0IHsgSGlnaGxpZ2h0TW9kdWxlIH0gZnJvbSAnbmd4LWhpZ2hsaWdodGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtY29kZS1zbmlwcGV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZGUtc25pcHBldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZGUtc25pcHBldC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQnNDb3B5RGlyZWN0aXZlLCBCc09mZmNhbnZhc01vZHVsZSwgSGlnaGxpZ2h0TW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBCc0NvZGVTbmlwcGV0Q29tcG9uZW50IHtcblxuICBvZmZjYW52YXNWaXNpYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb2RlVG9Db3B5ID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYW5ndWFnZXM6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBsaW5lTnVtYmVycyA9IGZhbHNlO1xuICBAVmlld0NoaWxkKCdjb3BpZWRUZW1wbGF0ZScpIGNvcGllZFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb3BpZWRIdG1sKCkge1xuICAgIHRoaXMub2ZmY2FudmFzVmlzaWJsZSA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm9mZmNhbnZhc1Zpc2libGUgPSBmYWxzZSwgMzAwMCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCI+XG4gICAgPGJ1dHRvbiAjY29weUJ0biBbYnNDb3B5XT1cImNvZGVUb0NvcHlcIiAoYnNDb3BpZWQpPVwiY29waWVkSHRtbCgpXCIgY2xhc3M9XCJidG4gYnRuLWxpbmsgcm91bmRlZC0wIHRleHQtbGlnaHQgcG9zaXRpb24tYWJzb2x1dGUgY29weS1idG5cIj5cbiAgICAgICAgQ29weSBodG1sXG4gICAgPC9idXR0b24+XG4gICAgPHByZSBjbGFzcz1cIndoaXRlLXNwYWNlLW5vcm1hbFwiPlxuICAgICAgICA8Y29kZSBjbGFzcz1cImQtYmxvY2sgd2hpdGUtc3BhY2UtcHJlXCIgW2hpZ2hsaWdodF09XCJjb2RlVG9Db3B5XCIgW2xpbmVOdW1iZXJzXT1cImxpbmVOdW1iZXJzXCIgW2xhbmd1YWdlc109XCJsYW5ndWFnZXMgPz8gdW5kZWZpbmVkIVwiPjwvY29kZT5cbiAgICA8L3ByZT5cbiAgICA8YnMtb2ZmY2FudmFzIFsoaXNWaXNpYmxlKV09XCJvZmZjYW52YXNWaXNpYmxlXCIgW3Bvc2l0aW9uXT1cIidib3R0b20nXCI+XG4gICAgICAgIDxkaXYgKmJzT2ZmY2FudmFzQ29udGVudCBjbGFzcz1cInAtMyBiZy1kYXJrIHRleHQtbGlnaHRcIj5Db3BpZWQhPC9kaXY+XG4gICAgPC9icy1vZmZjYW52YXM+XG48L2Rpdj4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1zbmlwcGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvY29kZS1zbmlwcGV0L3NyYy9jb2RlLXNuaXBwZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jb2RlLXNuaXBwZXQvc3JjL2NvZGUtc25pcHBldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQXVCLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFTdkMsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQztRQUtBLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUNULGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsY0FBUyxHQUFvQixJQUFJLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFbkIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUUvRCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVMsTUFBTSxDQUFDLENBQUM7UUFYOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUN0QyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBV0QsVUFBVTtRQUNSLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUEyQjtRQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7OEdBdkJVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDBVQ2ZuQyw2cEJBVU0seUVER00sU0FBUyw4Q0FBRSxlQUFlLCtGQUFFLGlCQUFpQiwwVEFBRSxlQUFlOzsyRkFFN0Qsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLGlCQUFpQixjQUdmLElBQUksV0FDUCxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDO3dEQVV6RCxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDdUIsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ1YsZ0JBQWdCO3NCQUFoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCc0NvcHlEaXJlY3RpdmUgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvY29weSc7XG5pbXBvcnQgeyBCc09mZmNhbnZhc01vZHVsZSB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcC9vZmZjYW52YXMnO1xuaW1wb3J0IHsgSGlnaGxpZ2h0QXV0b1Jlc3VsdCwgSGlnaGxpZ2h0TW9kdWxlIH0gZnJvbSAnbmd4LWhpZ2hsaWdodGpzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1jb2RlLXNuaXBwZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kZS1zbmlwcGV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29kZS1zbmlwcGV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBc3luY1BpcGUsIEJzQ29weURpcmVjdGl2ZSwgQnNPZmZjYW52YXNNb2R1bGUsIEhpZ2hsaWdodE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgQnNDb2RlU25pcHBldENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5sYW5ndWFnZSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKGxhbmd1YWdlKSA9PiB0aGlzLmRldGVjdGVkTGFuZ3VhZ2UuZW1pdChsYW5ndWFnZSkpO1xuICB9XG5cbiAgb2ZmY2FudmFzVmlzaWJsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgY29kZVRvQ29weSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgbGFuZ3VhZ2VzOiBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBwdWJsaWMgbGluZU51bWJlcnMgPSBmYWxzZTtcbiAgQFZpZXdDaGlsZCgnY29waWVkVGVtcGxhdGUnKSBjb3BpZWRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBPdXRwdXQoKSBwdWJsaWMgZGV0ZWN0ZWRMYW5ndWFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGxhbmd1YWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignY29kZScpO1xuXG4gIGNvcGllZEh0bWwoKSB7XG4gICAgdGhpcy5vZmZjYW52YXNWaXNpYmxlID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub2ZmY2FudmFzVmlzaWJsZSA9IGZhbHNlLCAzMDAwKTtcbiAgfVxuXG4gIG9uSGlnaGxpZ2h0ZWQocmVzdWx0OiBIaWdobGlnaHRBdXRvUmVzdWx0KSB7XG4gICAgdGhpcy5sYW5ndWFnZSQubmV4dChyZXN1bHQubGFuZ3VhZ2UgPz8gJ2NvZGUnKTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIj5cbiAgICA8YnV0dG9uICNjb3B5QnRuIFtic0NvcHldPVwiY29kZVRvQ29weVwiIChic0NvcGllZCk9XCJjb3BpZWRIdG1sKClcIiBjbGFzcz1cImJ0biBidG4tbGluayByb3VuZGVkLTAgdGV4dC1saWdodCBwb3NpdGlvbi1hYnNvbHV0ZSBjb3B5LWJ0blwiPlxuICAgICAgICBDb3B5IHt7IGxhbmd1YWdlJCB8IGFzeW5jIH19XG4gICAgPC9idXR0b24+XG4gICAgPHByZSBjbGFzcz1cIndoaXRlLXNwYWNlLW5vcm1hbFwiPlxuICAgICAgICA8Y29kZSBjbGFzcz1cImQtYmxvY2sgd2hpdGUtc3BhY2UtcHJlXCIgW2hpZ2hsaWdodF09XCJjb2RlVG9Db3B5XCIgW2xpbmVOdW1iZXJzXT1cImxpbmVOdW1iZXJzXCIgW2xhbmd1YWdlc109XCJsYW5ndWFnZXMgPz8gdW5kZWZpbmVkIVwiIChoaWdobGlnaHRlZCk9XCJvbkhpZ2hsaWdodGVkKCRldmVudClcIj48L2NvZGU+XG4gICAgPC9wcmU+XG4gICAgPGJzLW9mZmNhbnZhcyBbKGlzVmlzaWJsZSldPVwib2ZmY2FudmFzVmlzaWJsZVwiIFtwb3NpdGlvbl09XCInYm90dG9tJ1wiPlxuICAgICAgICA8ZGl2ICpic09mZmNhbnZhc0NvbnRlbnQgY2xhc3M9XCJwLTMgYmctZGFyayB0ZXh0LWxpZ2h0XCI+Q29waWVkITwvZGl2PlxuICAgIDwvYnMtb2ZmY2FudmFzPlxuPC9kaXY+Il19
@@ -0,0 +1,5 @@
1
+ export * from './src/shell.module';
2
+ export * from './src/shell/shell.component';
3
+ export * from './src/shell-sidebar/shell-sidebar.directive';
4
+ export * from './src/shell-state';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NoZWxsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9zaGVsbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvc2hlbGwvc2hlbGwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NoZWxsLXNpZGViYXIvc2hlbGwtc2lkZWJhci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvc2hlbGwtc3RhdGUnOyJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludHBsYXllci1uZy1ib290c3RyYXAtc2hlbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NoZWxsL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwLXNoZWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,41 @@
1
+ import { Component, ElementRef, Input, ViewChild } from '@angular/core';
2
+ import { BehaviorSubject, map } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class BsShellComponent {
6
+ constructor() {
7
+ this.sidebarTemplate = null;
8
+ this.state$ = new BehaviorSubject('auto');
9
+ this.breakpoint$ = new BehaviorSubject('md');
10
+ this.stateClass$ = this.state$.pipe(map((state) => {
11
+ if (state === 'auto')
12
+ return null;
13
+ else
14
+ return state;
15
+ }));
16
+ this.breakpointClass$ = this.breakpoint$.pipe(map(breakpoint => `shell-${breakpoint}`));
17
+ }
18
+ set state(value) {
19
+ this.state$.next(value);
20
+ }
21
+ set breakpoint(value) {
22
+ this.breakpoint$.next(value);
23
+ }
24
+ setSize(size) {
25
+ this.rootElement.nativeElement.style.setProperty('--size', size);
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsShellComponent, selector: "bs-shell", inputs: { state: "state", breakpoint: "breakpoint" }, viewQueries: [{ propertyName: "rootElement", first: true, predicate: ["root"], descendants: true }], ngImport: i0, template: "<div class=\"sidebar-root\" [class]=\"[stateClass$ | async, breakpointClass$ | async]\" #root>\n <div class=\"sidebar position-fixed\">\n <div class=\"sidebar-body d-flex flex-column\">\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\n </div>\n </div>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".sidebar-root{--size: 15rem;transition:margin-left .3s ease-in-out}.sidebar-root .sidebar{top:0;bottom:0;left:0;width:var(--size);z-index:500;transition:margin-left .3s,width .3s}.sidebar-root .sidebar .sidebar-body{margin-top:59px;background:#333;height:calc(100% - 59px)}.sidebar-root .content{padding-left:var(--size)}.sidebar-root.shell-xs.show{margin-left:0;margin-left:var(--size)}.sidebar-root.shell-xs.show .sidebar{width:100%;margin-left:0}.sidebar-root.shell-xs.show .sidebar{width:var(--size);margin-left:0}.sidebar-root.shell-xs.hide{margin-left:0}.sidebar-root.shell-xs.hide .sidebar{width:100%;margin-left:-100%}.sidebar-root.shell-xs.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}.sidebar-root.shell-xs:not(.show):not(.hide){margin-left:0;margin-left:var(--size)}.sidebar-root.shell-xs:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}.sidebar-root.shell-xs:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}@media (max-width: 575.98px){.sidebar-root.shell-sm.show{margin-left:0}.sidebar-root.shell-sm.show .sidebar{width:100%;margin-left:0}}@media (min-width: 576px){.sidebar-root.shell-sm.show{margin-left:var(--size)}.sidebar-root.shell-sm.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 575.98px){.sidebar-root.shell-sm.hide{margin-left:0}.sidebar-root.shell-sm.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 576px){.sidebar-root.shell-sm.hide{margin-left:0}.sidebar-root.shell-sm.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 575.98px){.sidebar-root.shell-sm:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-sm:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 576px){.sidebar-root.shell-sm:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-sm:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 767.98px){.sidebar-root.shell-md.show{margin-left:0}.sidebar-root.shell-md.show .sidebar{width:100%;margin-left:0}}@media (min-width: 768px){.sidebar-root.shell-md.show{margin-left:var(--size)}.sidebar-root.shell-md.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 767.98px){.sidebar-root.shell-md.hide{margin-left:0}.sidebar-root.shell-md.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 768px){.sidebar-root.shell-md.hide{margin-left:0}.sidebar-root.shell-md.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 767.98px){.sidebar-root.shell-md:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-md:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 768px){.sidebar-root.shell-md:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-md:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 991.98px){.sidebar-root.shell-lg.show{margin-left:0}.sidebar-root.shell-lg.show .sidebar{width:100%;margin-left:0}}@media (min-width: 992px){.sidebar-root.shell-lg.show{margin-left:var(--size)}.sidebar-root.shell-lg.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 991.98px){.sidebar-root.shell-lg.hide{margin-left:0}.sidebar-root.shell-lg.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 992px){.sidebar-root.shell-lg.hide{margin-left:0}.sidebar-root.shell-lg.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 991.98px){.sidebar-root.shell-lg:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-lg:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 992px){.sidebar-root.shell-lg:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-lg:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1199.98px){.sidebar-root.shell-xl.show{margin-left:0}.sidebar-root.shell-xl.show .sidebar{width:100%;margin-left:0}}@media (min-width: 1200px){.sidebar-root.shell-xl.show{margin-left:var(--size)}.sidebar-root.shell-xl.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1199.98px){.sidebar-root.shell-xl.hide{margin-left:0}.sidebar-root.shell-xl.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1200px){.sidebar-root.shell-xl.hide{margin-left:0}.sidebar-root.shell-xl.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 1199.98px){.sidebar-root.shell-xl:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-xl:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1200px){.sidebar-root.shell-xl:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-xl:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1399.98px){.sidebar-root.shell-xxl.show{margin-left:0}.sidebar-root.shell-xxl.show .sidebar{width:100%;margin-left:0}}@media (min-width: 1400px){.sidebar-root.shell-xxl.show{margin-left:var(--size)}.sidebar-root.shell-xxl.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1399.98px){.sidebar-root.shell-xxl.hide{margin-left:0}.sidebar-root.shell-xxl.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1400px){.sidebar-root.shell-xxl.hide{margin-left:0}.sidebar-root.shell-xxl.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 1399.98px){.sidebar-root.shell-xxl:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-xxl:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1400px){.sidebar-root.shell-xxl:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-xxl:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'bs-shell', template: "<div class=\"sidebar-root\" [class]=\"[stateClass$ | async, breakpointClass$ | async]\" #root>\n <div class=\"sidebar position-fixed\">\n <div class=\"sidebar-body d-flex flex-column\">\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\n </div>\n </div>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".sidebar-root{--size: 15rem;transition:margin-left .3s ease-in-out}.sidebar-root .sidebar{top:0;bottom:0;left:0;width:var(--size);z-index:500;transition:margin-left .3s,width .3s}.sidebar-root .sidebar .sidebar-body{margin-top:59px;background:#333;height:calc(100% - 59px)}.sidebar-root .content{padding-left:var(--size)}.sidebar-root.shell-xs.show{margin-left:0;margin-left:var(--size)}.sidebar-root.shell-xs.show .sidebar{width:100%;margin-left:0}.sidebar-root.shell-xs.show .sidebar{width:var(--size);margin-left:0}.sidebar-root.shell-xs.hide{margin-left:0}.sidebar-root.shell-xs.hide .sidebar{width:100%;margin-left:-100%}.sidebar-root.shell-xs.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}.sidebar-root.shell-xs:not(.show):not(.hide){margin-left:0;margin-left:var(--size)}.sidebar-root.shell-xs:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}.sidebar-root.shell-xs:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}@media (max-width: 575.98px){.sidebar-root.shell-sm.show{margin-left:0}.sidebar-root.shell-sm.show .sidebar{width:100%;margin-left:0}}@media (min-width: 576px){.sidebar-root.shell-sm.show{margin-left:var(--size)}.sidebar-root.shell-sm.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 575.98px){.sidebar-root.shell-sm.hide{margin-left:0}.sidebar-root.shell-sm.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 576px){.sidebar-root.shell-sm.hide{margin-left:0}.sidebar-root.shell-sm.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 575.98px){.sidebar-root.shell-sm:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-sm:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 576px){.sidebar-root.shell-sm:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-sm:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 767.98px){.sidebar-root.shell-md.show{margin-left:0}.sidebar-root.shell-md.show .sidebar{width:100%;margin-left:0}}@media (min-width: 768px){.sidebar-root.shell-md.show{margin-left:var(--size)}.sidebar-root.shell-md.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 767.98px){.sidebar-root.shell-md.hide{margin-left:0}.sidebar-root.shell-md.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 768px){.sidebar-root.shell-md.hide{margin-left:0}.sidebar-root.shell-md.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 767.98px){.sidebar-root.shell-md:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-md:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 768px){.sidebar-root.shell-md:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-md:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 991.98px){.sidebar-root.shell-lg.show{margin-left:0}.sidebar-root.shell-lg.show .sidebar{width:100%;margin-left:0}}@media (min-width: 992px){.sidebar-root.shell-lg.show{margin-left:var(--size)}.sidebar-root.shell-lg.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 991.98px){.sidebar-root.shell-lg.hide{margin-left:0}.sidebar-root.shell-lg.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 992px){.sidebar-root.shell-lg.hide{margin-left:0}.sidebar-root.shell-lg.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 991.98px){.sidebar-root.shell-lg:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-lg:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 992px){.sidebar-root.shell-lg:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-lg:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1199.98px){.sidebar-root.shell-xl.show{margin-left:0}.sidebar-root.shell-xl.show .sidebar{width:100%;margin-left:0}}@media (min-width: 1200px){.sidebar-root.shell-xl.show{margin-left:var(--size)}.sidebar-root.shell-xl.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1199.98px){.sidebar-root.shell-xl.hide{margin-left:0}.sidebar-root.shell-xl.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1200px){.sidebar-root.shell-xl.hide{margin-left:0}.sidebar-root.shell-xl.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 1199.98px){.sidebar-root.shell-xl:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-xl:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1200px){.sidebar-root.shell-xl:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-xl:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1399.98px){.sidebar-root.shell-xxl.show{margin-left:0}.sidebar-root.shell-xxl.show .sidebar{width:100%;margin-left:0}}@media (min-width: 1400px){.sidebar-root.shell-xxl.show{margin-left:var(--size)}.sidebar-root.shell-xxl.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1399.98px){.sidebar-root.shell-xxl.hide{margin-left:0}.sidebar-root.shell-xxl.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1400px){.sidebar-root.shell-xxl.hide{margin-left:0}.sidebar-root.shell-xxl.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 1399.98px){.sidebar-root.shell-xxl:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-xxl:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1400px){.sidebar-root.shell-xxl:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-xxl:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}\n"] }]
33
+ }], ctorParameters: () => [], propDecorators: { rootElement: [{
34
+ type: ViewChild,
35
+ args: ['root']
36
+ }], state: [{
37
+ type: Input
38
+ }], breakpoint: [{
39
+ type: Input
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zaGVsbC9zcmMvc2hlbGwvc2hlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zaGVsbC9zcmMvc2hlbGwvc2hlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFlLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBU3hELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7UUFRQSxvQkFBZSxHQUE0QixJQUFJLENBQUM7UUFXaEQsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFlLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQWEsSUFBSSxDQUFDLENBQUM7UUFuQmxELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDaEQsSUFBSSxLQUFLLEtBQUssTUFBTTtnQkFBRSxPQUFPLElBQUksQ0FBQzs7Z0JBQzdCLE9BQU8sS0FBSyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsU0FBUyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUtELElBQWEsS0FBSyxDQUFDLEtBQW1CO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFhLFVBQVUsQ0FBQyxLQUFpQjtRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBT00sT0FBTyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs4R0EzQlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsMk1DVjdCLHNZQVNNOzsyRkRDTyxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsVUFBVTt3REFjRCxXQUFXO3NCQUE3QixTQUFTO3VCQUFDLE1BQU07Z0JBRUosS0FBSztzQkFBakIsS0FBSztnQkFJTyxVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJzU2hlbGxTdGF0ZSB9IGZyb20gJy4uL3NoZWxsLXN0YXRlJztcbmltcG9ydCB7IEJyZWFrcG9pbnQgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1zaGVsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGVsbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zaGVsbC5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgQnNTaGVsbENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc3RhdGVDbGFzcyQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcCgoc3RhdGUpID0+IHtcbiAgICAgIGlmIChzdGF0ZSA9PT0gJ2F1dG8nKSByZXR1cm4gbnVsbDtcbiAgICAgIGVsc2UgcmV0dXJuIHN0YXRlO1xuICAgIH0pKTtcbiAgICB0aGlzLmJyZWFrcG9pbnRDbGFzcyQgPSB0aGlzLmJyZWFrcG9pbnQkLnBpcGUobWFwKGJyZWFrcG9pbnQgPT4gYHNoZWxsLSR7YnJlYWtwb2ludH1gKSk7XG4gIH1cblxuICBzaWRlYmFyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgQFZpZXdDaGlsZCgncm9vdCcpIHJvb3RFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgQElucHV0KCkgc2V0IHN0YXRlKHZhbHVlOiBCc1NoZWxsU3RhdGUpIHtcbiAgICB0aGlzLnN0YXRlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBicmVha3BvaW50KHZhbHVlOiBCcmVha3BvaW50KSB7XG4gICAgdGhpcy5icmVha3BvaW50JC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnNTaGVsbFN0YXRlPignYXV0bycpO1xuICBicmVha3BvaW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnJlYWtwb2ludD4oJ21kJyk7XG4gIHN0YXRlQ2xhc3MkOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+O1xuICBicmVha3BvaW50Q2xhc3MkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgcHVibGljIHNldFNpemUoc2l6ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yb290RWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXNpemUnLCBzaXplKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNpZGViYXItcm9vdFwiIFtjbGFzc109XCJbc3RhdGVDbGFzcyQgfCBhc3luYywgYnJlYWtwb2ludENsYXNzJCB8IGFzeW5jXVwiICNyb290PlxuICAgIDxkaXYgY2xhc3M9XCJzaWRlYmFyIHBvc2l0aW9uLWZpeGVkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlYmFyLWJvZHkgZC1mbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2lkZWJhclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { Directive, TemplateRef } from '@angular/core';
2
+ import { BsShellComponent } from '../shell/shell.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../shell/shell.component";
5
+ export class BsShellSidebarDirective {
6
+ constructor(shell, template) {
7
+ this.shell = shell;
8
+ this.template = template;
9
+ shell.sidebarTemplate = template;
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellSidebarDirective, deps: [{ token: i1.BsShellComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
12
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BsShellSidebarDirective, selector: "[bsShellSidebar]", ngImport: i0 }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellSidebarDirective, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[bsShellSidebar]',
18
+ }]
19
+ }], ctorParameters: () => [{ type: i1.BsShellComponent }, { type: i0.TemplateRef }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtc2lkZWJhci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NoZWxsL3NyYy9zaGVsbC1zaWRlYmFyL3NoZWxsLXNpZGViYXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFdBQVcsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQU81RCxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDLFlBQW9CLEtBQXVCLEVBQVUsUUFBMEI7UUFBM0QsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQUM3RSxLQUFLLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQztJQUNuQyxDQUFDOzhHQUpVLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNTaGVsbENvbXBvbmVudCB9IGZyb20gJy4uL3NoZWxsL3NoZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2JzU2hlbGxTaWRlYmFyXScsXG59KVxuZXhwb3J0IGNsYXNzIEJzU2hlbGxTaWRlYmFyRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNoZWxsOiBCc1NoZWxsQ29tcG9uZW50LCBwcml2YXRlIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgc2hlbGwuc2lkZWJhclRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NoZWxsL3NyYy9zaGVsbC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQnNTaGVsbFN0YXRlID0gJ2F1dG8nIHwgJ3Nob3cnIHwgJ2hpZGUnOyJdfQ==
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { BsShellComponent } from './shell/shell.component';
4
+ import { BsShellSidebarDirective } from './shell-sidebar/shell-sidebar.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class BsShellModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsShellModule, declarations: [BsShellComponent, BsShellSidebarDirective], imports: [CommonModule], exports: [BsShellComponent, BsShellSidebarDirective] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellModule, imports: [CommonModule] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [BsShellComponent, BsShellSidebarDirective],
15
+ imports: [CommonModule],
16
+ exports: [BsShellComponent, BsShellSidebarDirective]
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zaGVsbC9zcmMvc2hlbGwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQVNsRixNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsaUJBSlQsZ0JBQWdCLEVBQUUsdUJBQXVCLGFBQzlDLFlBQVksYUFDWixnQkFBZ0IsRUFBRSx1QkFBdUI7K0dBRXhDLGFBQWEsWUFIZCxZQUFZOzsyRkFHWCxhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLHVCQUF1QixDQUFDO29CQUN6RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHVCQUF1QixDQUFDO2lCQUNyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnNTaGVsbENvbXBvbmVudCB9IGZyb20gJy4vc2hlbGwvc2hlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IEJzU2hlbGxTaWRlYmFyRGlyZWN0aXZlIH0gZnJvbSAnLi9zaGVsbC1zaWRlYmFyL3NoZWxsLXNpZGViYXIuZGlyZWN0aXZlJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0JzU2hlbGxDb21wb25lbnQsIEJzU2hlbGxTaWRlYmFyRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtCc1NoZWxsQ29tcG9uZW50LCBCc1NoZWxsU2lkZWJhckRpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgQnNTaGVsbE1vZHVsZSB7IH1cbiJdfQ==
@@ -1,10 +1,13 @@
1
+ import { AsyncPipe } from '@angular/common';
1
2
  import * as i0 from '@angular/core';
2
- import { Component, Input, ViewChild } from '@angular/core';
3
+ import { EventEmitter, Component, Input, ViewChild, Output } from '@angular/core';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
5
  import { BsCopyDirective } from '@mintplayer/ng-bootstrap/copy';
4
6
  import * as i1 from '@mintplayer/ng-bootstrap/offcanvas';
5
7
  import { BsOffcanvasModule } from '@mintplayer/ng-bootstrap/offcanvas';
6
8
  import * as i2 from 'ngx-highlightjs';
7
9
  import { HighlightModule } from 'ngx-highlightjs';
10
+ import { BehaviorSubject } from 'rxjs';
8
11
 
9
12
  class BsCodeSnippetComponent {
10
13
  constructor() {
@@ -12,18 +15,25 @@ class BsCodeSnippetComponent {
12
15
  this.codeToCopy = '';
13
16
  this.languages = null;
14
17
  this.lineNumbers = false;
18
+ this.detectedLanguage = new EventEmitter();
19
+ this.language$ = new BehaviorSubject('code');
20
+ this.language$.pipe(takeUntilDestroyed())
21
+ .subscribe((language) => this.detectedLanguage.emit(language));
15
22
  }
16
23
  copiedHtml() {
17
24
  this.offcanvasVisible = true;
18
25
  setTimeout(() => this.offcanvasVisible = false, 3000);
19
26
  }
27
+ onHighlighted(result) {
28
+ this.language$.next(result.language ?? 'code');
29
+ }
20
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCodeSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsCodeSnippetComponent, isStandalone: true, selector: "bs-code-snippet", inputs: { codeToCopy: "codeToCopy", languages: "languages", lineNumbers: "lineNumbers" }, viewQueries: [{ propertyName: "copiedTemplate", first: true, predicate: ["copiedTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy html\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"], dependencies: [{ kind: "directive", type: BsCopyDirective, selector: "[bsCopy]", inputs: ["bsCopy"], outputs: ["bsCopied"] }, { kind: "ngmodule", type: BsOffcanvasModule }, { kind: "directive", type: i1.BsOffcanvasContentDirective, selector: "[bsOffcanvasContent]" }, { kind: "component", type: i1.BsOffcanvasHostComponent, selector: "bs-offcanvas", inputs: ["isVisible", "position", "size", "hasBackdrop"], outputs: ["backdropClick", "isVisibleChange"] }, { kind: "ngmodule", type: HighlightModule }, { kind: "directive", type: i2.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }] }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsCodeSnippetComponent, isStandalone: true, selector: "bs-code-snippet", inputs: { codeToCopy: "codeToCopy", languages: "languages", lineNumbers: "lineNumbers" }, outputs: { detectedLanguage: "detectedLanguage" }, viewQueries: [{ propertyName: "copiedTemplate", first: true, predicate: ["copiedTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy {{ language$ | async }}\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\" (highlighted)=\"onHighlighted($event)\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: BsCopyDirective, selector: "[bsCopy]", inputs: ["bsCopy"], outputs: ["bsCopied"] }, { kind: "ngmodule", type: BsOffcanvasModule }, { kind: "directive", type: i1.BsOffcanvasContentDirective, selector: "[bsOffcanvasContent]" }, { kind: "component", type: i1.BsOffcanvasHostComponent, selector: "bs-offcanvas", inputs: ["isVisible", "position", "size", "hasBackdrop"], outputs: ["backdropClick", "isVisibleChange"] }, { kind: "ngmodule", type: HighlightModule }, { kind: "directive", type: i2.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }] }); }
22
32
  }
23
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCodeSnippetComponent, decorators: [{
24
34
  type: Component,
25
- args: [{ selector: 'bs-code-snippet', standalone: true, imports: [BsCopyDirective, BsOffcanvasModule, HighlightModule], template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy html\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"] }]
26
- }], propDecorators: { codeToCopy: [{
35
+ args: [{ selector: 'bs-code-snippet', standalone: true, imports: [AsyncPipe, BsCopyDirective, BsOffcanvasModule, HighlightModule], template: "<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy {{ language$ | async }}\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\" (highlighted)=\"onHighlighted($event)\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>", styles: [".copy-btn{right:0}\n"] }]
36
+ }], ctorParameters: () => [], propDecorators: { codeToCopy: [{
27
37
  type: Input
28
38
  }], languages: [{
29
39
  type: Input
@@ -32,6 +42,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
32
42
  }], copiedTemplate: [{
33
43
  type: ViewChild,
34
44
  args: ['copiedTemplate']
45
+ }], detectedLanguage: [{
46
+ type: Output
35
47
  }] } });
36
48
 
37
49
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-code-snippet.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/code-snippet/src/code-snippet.component.ts","../../../../libs/mintplayer-ng-bootstrap/code-snippet/src/code-snippet.component.html","../../../../libs/mintplayer-ng-bootstrap/code-snippet/mintplayer-ng-bootstrap-code-snippet.ts"],"sourcesContent":["import { Component, Input, TemplateRef, ViewChild } from '@angular/core';\nimport { BsCopyDirective } from '@mintplayer/ng-bootstrap/copy';\nimport { BsOffcanvasModule } from '@mintplayer/ng-bootstrap/offcanvas';\nimport { HighlightModule } from 'ngx-highlightjs';\n\n@Component({\n selector: 'bs-code-snippet',\n templateUrl: './code-snippet.component.html',\n styleUrls: ['./code-snippet.component.scss'],\n standalone: true,\n imports: [BsCopyDirective, BsOffcanvasModule, HighlightModule]\n})\nexport class BsCodeSnippetComponent {\n\n offcanvasVisible = false;\n @Input() public codeToCopy = '';\n @Input() public languages: string[] | null = null;\n @Input() public lineNumbers = false;\n @ViewChild('copiedTemplate') copiedTemplate!: TemplateRef<any>;\n\n copiedHtml() {\n this.offcanvasVisible = true;\n setTimeout(() => this.offcanvasVisible = false, 3000);\n }\n\n}\n","<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy html\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAYa,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;QASE,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;QACT,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;QAChB,IAAS,CAAA,SAAA,GAAoB,IAAI,CAAC;QAClC,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAQrC,KAAA;IALC,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,gBAAgB,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC;KACvD;8GAXU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,uRCZnC,kmBAUM,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDAM,eAAe,EAAE,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,0TAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAElD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;+BACE,iBAAiB,EAAA,UAAA,EAGf,IAAI,EACP,OAAA,EAAA,CAAC,eAAe,EAAE,iBAAiB,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,kmBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,CAAA;8BAK9C,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBACuB,cAAc,EAAA,CAAA;sBAA1C,SAAS;uBAAC,gBAAgB,CAAA;;;AElB7B;;AAEG;;;;"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-code-snippet.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/code-snippet/src/code-snippet.component.ts","../../../../libs/mintplayer-ng-bootstrap/code-snippet/src/code-snippet.component.html","../../../../libs/mintplayer-ng-bootstrap/code-snippet/mintplayer-ng-bootstrap-code-snippet.ts"],"sourcesContent":["import { AsyncPipe } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BsCopyDirective } from '@mintplayer/ng-bootstrap/copy';\nimport { BsOffcanvasModule } from '@mintplayer/ng-bootstrap/offcanvas';\nimport { HighlightAutoResult, HighlightModule } from 'ngx-highlightjs';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'bs-code-snippet',\n templateUrl: './code-snippet.component.html',\n styleUrls: ['./code-snippet.component.scss'],\n standalone: true,\n imports: [AsyncPipe, BsCopyDirective, BsOffcanvasModule, HighlightModule]\n})\nexport class BsCodeSnippetComponent {\n\n constructor() {\n this.language$.pipe(takeUntilDestroyed())\n .subscribe((language) => this.detectedLanguage.emit(language));\n }\n\n offcanvasVisible = false;\n @Input() public codeToCopy = '';\n @Input() public languages: string[] | null = null;\n @Input() public lineNumbers = false;\n @ViewChild('copiedTemplate') copiedTemplate!: TemplateRef<any>;\n @Output() public detectedLanguage = new EventEmitter<string>();\n\n language$ = new BehaviorSubject<string>('code');\n\n copiedHtml() {\n this.offcanvasVisible = true;\n setTimeout(() => this.offcanvasVisible = false, 3000);\n }\n\n onHighlighted(result: HighlightAutoResult) {\n this.language$.next(result.language ?? 'code');\n }\n\n}\n","<div class=\"position-relative\">\n <button #copyBtn [bsCopy]=\"codeToCopy\" (bsCopied)=\"copiedHtml()\" class=\"btn btn-link rounded-0 text-light position-absolute copy-btn\">\n Copy {{ language$ | async }}\n </button>\n <pre class=\"white-space-normal\">\n <code class=\"d-block white-space-pre\" [highlight]=\"codeToCopy\" [lineNumbers]=\"lineNumbers\" [languages]=\"languages ?? undefined!\" (highlighted)=\"onHighlighted($event)\"></code>\n </pre>\n <bs-offcanvas [(isVisible)]=\"offcanvasVisible\" [position]=\"'bottom'\">\n <div *bsOffcanvasContent class=\"p-3 bg-dark text-light\">Copied!</div>\n </bs-offcanvas>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, ViewChild, Input, Directive, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import { BehaviorSubject, map } from 'rxjs';
6
+
7
+ class BsShellComponent {
8
+ constructor() {
9
+ this.sidebarTemplate = null;
10
+ this.state$ = new BehaviorSubject('auto');
11
+ this.breakpoint$ = new BehaviorSubject('md');
12
+ this.stateClass$ = this.state$.pipe(map((state) => {
13
+ if (state === 'auto')
14
+ return null;
15
+ else
16
+ return state;
17
+ }));
18
+ this.breakpointClass$ = this.breakpoint$.pipe(map(breakpoint => `shell-${breakpoint}`));
19
+ }
20
+ set state(value) {
21
+ this.state$.next(value);
22
+ }
23
+ set breakpoint(value) {
24
+ this.breakpoint$.next(value);
25
+ }
26
+ setSize(size) {
27
+ this.rootElement.nativeElement.style.setProperty('--size', size);
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsShellComponent, selector: "bs-shell", inputs: { state: "state", breakpoint: "breakpoint" }, viewQueries: [{ propertyName: "rootElement", first: true, predicate: ["root"], descendants: true }], ngImport: i0, template: "<div class=\"sidebar-root\" [class]=\"[stateClass$ | async, breakpointClass$ | async]\" #root>\n <div class=\"sidebar position-fixed\">\n <div class=\"sidebar-body d-flex flex-column\">\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\n </div>\n </div>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".sidebar-root{--size: 15rem;transition:margin-left .3s ease-in-out}.sidebar-root .sidebar{top:0;bottom:0;left:0;width:var(--size);z-index:500;transition:margin-left .3s,width .3s}.sidebar-root .sidebar .sidebar-body{margin-top:59px;background:#333;height:calc(100% - 59px)}.sidebar-root .content{padding-left:var(--size)}.sidebar-root.shell-xs.show{margin-left:0;margin-left:var(--size)}.sidebar-root.shell-xs.show .sidebar{width:100%;margin-left:0}.sidebar-root.shell-xs.show .sidebar{width:var(--size);margin-left:0}.sidebar-root.shell-xs.hide{margin-left:0}.sidebar-root.shell-xs.hide .sidebar{width:100%;margin-left:-100%}.sidebar-root.shell-xs.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}.sidebar-root.shell-xs:not(.show):not(.hide){margin-left:0;margin-left:var(--size)}.sidebar-root.shell-xs:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}.sidebar-root.shell-xs:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}@media (max-width: 575.98px){.sidebar-root.shell-sm.show{margin-left:0}.sidebar-root.shell-sm.show .sidebar{width:100%;margin-left:0}}@media (min-width: 576px){.sidebar-root.shell-sm.show{margin-left:var(--size)}.sidebar-root.shell-sm.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 575.98px){.sidebar-root.shell-sm.hide{margin-left:0}.sidebar-root.shell-sm.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 576px){.sidebar-root.shell-sm.hide{margin-left:0}.sidebar-root.shell-sm.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 575.98px){.sidebar-root.shell-sm:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-sm:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 576px){.sidebar-root.shell-sm:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-sm:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 767.98px){.sidebar-root.shell-md.show{margin-left:0}.sidebar-root.shell-md.show .sidebar{width:100%;margin-left:0}}@media (min-width: 768px){.sidebar-root.shell-md.show{margin-left:var(--size)}.sidebar-root.shell-md.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 767.98px){.sidebar-root.shell-md.hide{margin-left:0}.sidebar-root.shell-md.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 768px){.sidebar-root.shell-md.hide{margin-left:0}.sidebar-root.shell-md.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 767.98px){.sidebar-root.shell-md:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-md:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 768px){.sidebar-root.shell-md:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-md:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 991.98px){.sidebar-root.shell-lg.show{margin-left:0}.sidebar-root.shell-lg.show .sidebar{width:100%;margin-left:0}}@media (min-width: 992px){.sidebar-root.shell-lg.show{margin-left:var(--size)}.sidebar-root.shell-lg.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 991.98px){.sidebar-root.shell-lg.hide{margin-left:0}.sidebar-root.shell-lg.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 992px){.sidebar-root.shell-lg.hide{margin-left:0}.sidebar-root.shell-lg.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 991.98px){.sidebar-root.shell-lg:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-lg:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 992px){.sidebar-root.shell-lg:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-lg:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1199.98px){.sidebar-root.shell-xl.show{margin-left:0}.sidebar-root.shell-xl.show .sidebar{width:100%;margin-left:0}}@media (min-width: 1200px){.sidebar-root.shell-xl.show{margin-left:var(--size)}.sidebar-root.shell-xl.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1199.98px){.sidebar-root.shell-xl.hide{margin-left:0}.sidebar-root.shell-xl.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1200px){.sidebar-root.shell-xl.hide{margin-left:0}.sidebar-root.shell-xl.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 1199.98px){.sidebar-root.shell-xl:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-xl:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1200px){.sidebar-root.shell-xl:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-xl:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1399.98px){.sidebar-root.shell-xxl.show{margin-left:0}.sidebar-root.shell-xxl.show .sidebar{width:100%;margin-left:0}}@media (min-width: 1400px){.sidebar-root.shell-xxl.show{margin-left:var(--size)}.sidebar-root.shell-xxl.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1399.98px){.sidebar-root.shell-xxl.hide{margin-left:0}.sidebar-root.shell-xxl.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1400px){.sidebar-root.shell-xxl.hide{margin-left:0}.sidebar-root.shell-xxl.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 1399.98px){.sidebar-root.shell-xxl:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-xxl:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1400px){.sidebar-root.shell-xxl:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-xxl:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'bs-shell', template: "<div class=\"sidebar-root\" [class]=\"[stateClass$ | async, breakpointClass$ | async]\" #root>\n <div class=\"sidebar position-fixed\">\n <div class=\"sidebar-body d-flex flex-column\">\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\n </div>\n </div>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".sidebar-root{--size: 15rem;transition:margin-left .3s ease-in-out}.sidebar-root .sidebar{top:0;bottom:0;left:0;width:var(--size);z-index:500;transition:margin-left .3s,width .3s}.sidebar-root .sidebar .sidebar-body{margin-top:59px;background:#333;height:calc(100% - 59px)}.sidebar-root .content{padding-left:var(--size)}.sidebar-root.shell-xs.show{margin-left:0;margin-left:var(--size)}.sidebar-root.shell-xs.show .sidebar{width:100%;margin-left:0}.sidebar-root.shell-xs.show .sidebar{width:var(--size);margin-left:0}.sidebar-root.shell-xs.hide{margin-left:0}.sidebar-root.shell-xs.hide .sidebar{width:100%;margin-left:-100%}.sidebar-root.shell-xs.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}.sidebar-root.shell-xs:not(.show):not(.hide){margin-left:0;margin-left:var(--size)}.sidebar-root.shell-xs:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}.sidebar-root.shell-xs:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}@media (max-width: 575.98px){.sidebar-root.shell-sm.show{margin-left:0}.sidebar-root.shell-sm.show .sidebar{width:100%;margin-left:0}}@media (min-width: 576px){.sidebar-root.shell-sm.show{margin-left:var(--size)}.sidebar-root.shell-sm.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 575.98px){.sidebar-root.shell-sm.hide{margin-left:0}.sidebar-root.shell-sm.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 576px){.sidebar-root.shell-sm.hide{margin-left:0}.sidebar-root.shell-sm.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 575.98px){.sidebar-root.shell-sm:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-sm:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 576px){.sidebar-root.shell-sm:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-sm:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 767.98px){.sidebar-root.shell-md.show{margin-left:0}.sidebar-root.shell-md.show .sidebar{width:100%;margin-left:0}}@media (min-width: 768px){.sidebar-root.shell-md.show{margin-left:var(--size)}.sidebar-root.shell-md.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 767.98px){.sidebar-root.shell-md.hide{margin-left:0}.sidebar-root.shell-md.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 768px){.sidebar-root.shell-md.hide{margin-left:0}.sidebar-root.shell-md.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 767.98px){.sidebar-root.shell-md:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-md:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 768px){.sidebar-root.shell-md:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-md:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 991.98px){.sidebar-root.shell-lg.show{margin-left:0}.sidebar-root.shell-lg.show .sidebar{width:100%;margin-left:0}}@media (min-width: 992px){.sidebar-root.shell-lg.show{margin-left:var(--size)}.sidebar-root.shell-lg.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 991.98px){.sidebar-root.shell-lg.hide{margin-left:0}.sidebar-root.shell-lg.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 992px){.sidebar-root.shell-lg.hide{margin-left:0}.sidebar-root.shell-lg.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 991.98px){.sidebar-root.shell-lg:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-lg:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 992px){.sidebar-root.shell-lg:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-lg:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1199.98px){.sidebar-root.shell-xl.show{margin-left:0}.sidebar-root.shell-xl.show .sidebar{width:100%;margin-left:0}}@media (min-width: 1200px){.sidebar-root.shell-xl.show{margin-left:var(--size)}.sidebar-root.shell-xl.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1199.98px){.sidebar-root.shell-xl.hide{margin-left:0}.sidebar-root.shell-xl.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1200px){.sidebar-root.shell-xl.hide{margin-left:0}.sidebar-root.shell-xl.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 1199.98px){.sidebar-root.shell-xl:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-xl:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1200px){.sidebar-root.shell-xl:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-xl:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1399.98px){.sidebar-root.shell-xxl.show{margin-left:0}.sidebar-root.shell-xxl.show .sidebar{width:100%;margin-left:0}}@media (min-width: 1400px){.sidebar-root.shell-xxl.show{margin-left:var(--size)}.sidebar-root.shell-xxl.show .sidebar{width:var(--size);margin-left:0}}@media (max-width: 1399.98px){.sidebar-root.shell-xxl.hide{margin-left:0}.sidebar-root.shell-xxl.hide .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1400px){.sidebar-root.shell-xxl.hide{margin-left:0}.sidebar-root.shell-xxl.hide .sidebar{width:var(--size);margin-left:calc(-1 * var(--size))}}@media (max-width: 1399.98px){.sidebar-root.shell-xxl:not(.show):not(.hide){margin-left:0}.sidebar-root.shell-xxl:not(.show):not(.hide) .sidebar{width:100%;margin-left:-100%}}@media (min-width: 1400px){.sidebar-root.shell-xxl:not(.show):not(.hide){margin-left:var(--size)}.sidebar-root.shell-xxl:not(.show):not(.hide) .sidebar{width:var(--size);margin-left:0}}\n"] }]
35
+ }], ctorParameters: () => [], propDecorators: { rootElement: [{
36
+ type: ViewChild,
37
+ args: ['root']
38
+ }], state: [{
39
+ type: Input
40
+ }], breakpoint: [{
41
+ type: Input
42
+ }] } });
43
+
44
+ class BsShellSidebarDirective {
45
+ constructor(shell, template) {
46
+ this.shell = shell;
47
+ this.template = template;
48
+ shell.sidebarTemplate = template;
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellSidebarDirective, deps: [{ token: BsShellComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
51
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BsShellSidebarDirective, selector: "[bsShellSidebar]", ngImport: i0 }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellSidebarDirective, decorators: [{
54
+ type: Directive,
55
+ args: [{
56
+ selector: '[bsShellSidebar]',
57
+ }]
58
+ }], ctorParameters: () => [{ type: BsShellComponent }, { type: i0.TemplateRef }] });
59
+
60
+ class BsShellModule {
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
62
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsShellModule, declarations: [BsShellComponent, BsShellSidebarDirective], imports: [CommonModule], exports: [BsShellComponent, BsShellSidebarDirective] }); }
63
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellModule, imports: [CommonModule] }); }
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsShellModule, decorators: [{
66
+ type: NgModule,
67
+ args: [{
68
+ declarations: [BsShellComponent, BsShellSidebarDirective],
69
+ imports: [CommonModule],
70
+ exports: [BsShellComponent, BsShellSidebarDirective]
71
+ }]
72
+ }] });
73
+
74
+ /**
75
+ * Generated bundle index. Do not edit.
76
+ */
77
+
78
+ export { BsShellComponent, BsShellModule, BsShellSidebarDirective };
79
+ //# sourceMappingURL=mintplayer-ng-bootstrap-shell.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-shell.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/shell/src/shell/shell.component.ts","../../../../libs/mintplayer-ng-bootstrap/shell/src/shell/shell.component.html","../../../../libs/mintplayer-ng-bootstrap/shell/src/shell-sidebar/shell-sidebar.directive.ts","../../../../libs/mintplayer-ng-bootstrap/shell/src/shell.module.ts","../../../../libs/mintplayer-ng-bootstrap/shell/mintplayer-ng-bootstrap-shell.ts"],"sourcesContent":["import { Component, ElementRef, Input, TemplateRef, ViewChild } from '@angular/core';\nimport { BehaviorSubject, Observable, map } from 'rxjs';\nimport { BsShellState } from '../shell-state';\nimport { Breakpoint } from '@mintplayer/ng-bootstrap';\n\n@Component({\n selector: 'bs-shell',\n templateUrl: './shell.component.html',\n styleUrl: './shell.component.scss'\n})\nexport class BsShellComponent {\n constructor() {\n this.stateClass$ = this.state$.pipe(map((state) => {\n if (state === 'auto') return null;\n else return state;\n }));\n this.breakpointClass$ = this.breakpoint$.pipe(map(breakpoint => `shell-${breakpoint}`));\n }\n\n sidebarTemplate: TemplateRef<any> | null = null;\n @ViewChild('root') rootElement!: ElementRef<HTMLDivElement>;\n\n @Input() set state(value: BsShellState) {\n this.state$.next(value);\n }\n\n @Input() set breakpoint(value: Breakpoint) {\n this.breakpoint$.next(value);\n }\n\n state$ = new BehaviorSubject<BsShellState>('auto');\n breakpoint$ = new BehaviorSubject<Breakpoint>('md');\n stateClass$: Observable<string | null>;\n breakpointClass$: Observable<string>;\n\n public setSize(size: string) {\n this.rootElement.nativeElement.style.setProperty('--size', size);\n }\n}\n","<div class=\"sidebar-root\" [class]=\"[stateClass$ | async, breakpointClass$ | async]\" #root>\n <div class=\"sidebar position-fixed\">\n <div class=\"sidebar-body d-flex flex-column\">\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\n </div>\n </div>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</div>","import { AfterViewInit, Directive, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { BsShellComponent } from '../shell/shell.component';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\n@Directive({\n selector: '[bsShellSidebar]',\n})\nexport class BsShellSidebarDirective {\n\n constructor(private shell: BsShellComponent, private template: TemplateRef<any>) {\n shell.sidebarTemplate = template;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsShellComponent } from './shell/shell.component';\nimport { BsShellSidebarDirective } from './shell-sidebar/shell-sidebar.directive';\n\n\n\n@NgModule({\n declarations: [BsShellComponent, BsShellSidebarDirective],\n imports: [CommonModule],\n exports: [BsShellComponent, BsShellSidebarDirective]\n})\nexport class BsShellModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsShellComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mintplayer/ng-bootstrap",
3
3
  "private": false,
4
- "version": "17.2.0",
4
+ "version": "17.4.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/MintPlayer/mintplayer-ng-bootstrap",
@@ -396,6 +396,12 @@
396
396
  "esm": "./esm2022/select2/mintplayer-ng-bootstrap-select2.mjs",
397
397
  "default": "./fesm2022/mintplayer-ng-bootstrap-select2.mjs"
398
398
  },
399
+ "./shell": {
400
+ "types": "./shell/index.d.ts",
401
+ "esm2022": "./esm2022/shell/mintplayer-ng-bootstrap-shell.mjs",
402
+ "esm": "./esm2022/shell/mintplayer-ng-bootstrap-shell.mjs",
403
+ "default": "./fesm2022/mintplayer-ng-bootstrap-shell.mjs"
404
+ },
399
405
  "./signature-pad": {
400
406
  "types": "./signature-pad/index.d.ts",
401
407
  "esm2022": "./esm2022/signature-pad/mintplayer-ng-bootstrap-signature-pad.mjs",
@@ -0,0 +1,4 @@
1
+ export * from './src/shell.module';
2
+ export * from './src/shell/shell.component';
3
+ export * from './src/shell-sidebar/shell-sidebar.directive';
4
+ export * from './src/shell-state';
@@ -0,0 +1,19 @@
1
+ import { ElementRef, TemplateRef } from '@angular/core';
2
+ import { BehaviorSubject, Observable } from 'rxjs';
3
+ import { BsShellState } from '../shell-state';
4
+ import { Breakpoint } from '@mintplayer/ng-bootstrap';
5
+ import * as i0 from "@angular/core";
6
+ export declare class BsShellComponent {
7
+ constructor();
8
+ sidebarTemplate: TemplateRef<any> | null;
9
+ rootElement: ElementRef<HTMLDivElement>;
10
+ set state(value: BsShellState);
11
+ set breakpoint(value: Breakpoint);
12
+ state$: BehaviorSubject<BsShellState>;
13
+ breakpoint$: BehaviorSubject<Breakpoint>;
14
+ stateClass$: Observable<string | null>;
15
+ breakpointClass$: Observable<string>;
16
+ setSize(size: string): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<BsShellComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<BsShellComponent, "bs-shell", never, { "state": { "alias": "state"; "required": false; }; "breakpoint": { "alias": "breakpoint"; "required": false; }; }, {}, never, ["*"], false, never>;
19
+ }
@@ -0,0 +1,10 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import { BsShellComponent } from '../shell/shell.component';
3
+ import * as i0 from "@angular/core";
4
+ export declare class BsShellSidebarDirective {
5
+ private shell;
6
+ private template;
7
+ constructor(shell: BsShellComponent, template: TemplateRef<any>);
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<BsShellSidebarDirective, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BsShellSidebarDirective, "[bsShellSidebar]", never, {}, {}, never, never, false, never>;
10
+ }
@@ -0,0 +1 @@
1
+ export type BsShellState = 'auto' | 'show' | 'hide';
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./shell/shell.component";
3
+ import * as i2 from "./shell-sidebar/shell-sidebar.directive";
4
+ import * as i3 from "@angular/common";
5
+ export declare class BsShellModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<BsShellModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<BsShellModule, [typeof i1.BsShellComponent, typeof i2.BsShellSidebarDirective], [typeof i3.CommonModule], [typeof i1.BsShellComponent, typeof i2.BsShellSidebarDirective]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<BsShellModule>;
9
+ }