@ng-doc/app 16.6.6 → 16.7.1
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/components/code/code.component.d.ts +2 -2
- package/components/index.d.ts +1 -0
- package/components/tabs/index.d.ts +1 -0
- package/components/tabs/tabs.component.d.ts +9 -0
- package/esm2022/components/code/code.component.mjs +5 -5
- package/esm2022/components/demo/demo.component.mjs +2 -2
- package/esm2022/components/demo-displayer/demo-displayer.component.mjs +2 -2
- package/esm2022/components/demo-pane/demo-pane.component.mjs +2 -2
- package/esm2022/components/index.mjs +2 -1
- package/esm2022/components/page/page.component.mjs +6 -5
- package/esm2022/components/playground/playground-properties/playground-properties.component.mjs +5 -5
- package/esm2022/components/search/search.component.mjs +5 -5
- package/esm2022/components/tabs/index.mjs +2 -0
- package/esm2022/components/tabs/ng-doc-app-components-tabs.mjs +5 -0
- package/esm2022/components/tabs/tabs.component.mjs +34 -0
- package/esm2022/interfaces/index.mjs +2 -1
- package/esm2022/interfaces/processor-options.mjs +1 -1
- package/esm2022/interfaces/tab.mjs +2 -0
- package/esm2022/processors/code-processor/code-processor.directive.mjs +2 -2
- package/esm2022/processors/html-processor/html-processor.directive.mjs +16 -13
- package/esm2022/processors/index.mjs +2 -1
- package/esm2022/processors/tabs-processor/index.mjs +2 -0
- package/esm2022/processors/tabs-processor/ng-doc-app-processors-tabs-processor.mjs +5 -0
- package/esm2022/processors/tabs-processor/tabs-processor.directive.mjs +44 -0
- package/fesm2022/ng-doc-app-components-code.mjs +4 -4
- package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo-displayer.mjs +1 -1
- package/fesm2022/ng-doc-app-components-demo-displayer.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo-pane.mjs +1 -1
- package/fesm2022/ng-doc-app-components-demo-pane.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo.mjs +1 -1
- package/fesm2022/ng-doc-app-components-demo.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-page.mjs +5 -4
- package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-playground.mjs +4 -4
- package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-search.mjs +4 -4
- package/fesm2022/ng-doc-app-components-search.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-tabs.mjs +40 -0
- package/fesm2022/ng-doc-app-components-tabs.mjs.map +1 -0
- package/fesm2022/ng-doc-app-components.mjs +1 -0
- package/fesm2022/ng-doc-app-components.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-code-processor.mjs +1 -1
- package/fesm2022/ng-doc-app-processors-code-processor.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-html-processor.mjs +15 -12
- package/fesm2022/ng-doc-app-processors-html-processor.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-tabs-processor.mjs +50 -0
- package/fesm2022/ng-doc-app-processors-tabs-processor.mjs.map +1 -0
- package/fesm2022/ng-doc-app-processors.mjs +1 -0
- package/fesm2022/ng-doc-app-processors.mjs.map +1 -1
- package/interfaces/index.d.ts +1 -0
- package/interfaces/processor-options.d.ts +1 -0
- package/interfaces/tab.d.ts +5 -0
- package/package.json +15 -3
- package/processors/html-processor/html-processor.directive.d.ts +1 -1
- package/processors/index.d.ts +1 -0
- package/processors/tabs-processor/index.d.ts +1 -0
- package/processors/tabs-processor/tabs-processor.directive.d.ts +15 -0
- package/styles/global.css +4 -0
- package/styles/main.css +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-processors-code-processor.mjs","sources":["../../../../libs/app/processors/code-processor/code-processor.directive.ts","../../../../libs/app/processors/code-processor/ng-doc-app-processors-code-processor.ts"],"sourcesContent":["import {Directive, ElementRef, ViewContainerRef} from '@angular/core';\nimport {NgDocCodeComponent} from '@ng-doc/app/components/code';\nimport {NgDocProcessorOptions} from '@ng-doc/app/interfaces';\nimport {NgDocHtmlProcessor} from '@ng-doc/app/processors/html-processor';\n\n@Directive({\n\tselector: '[ngDocCodeProcessor]',\n\tstandalone: true,\n})\nexport class NgDocCodeProcessorDirective extends NgDocHtmlProcessor<NgDocCodeComponent> {\n\tconstructor(\n\t\tprotected override readonly elementRef: ElementRef<HTMLElement>,\n\t\tprotected override readonly viewContainerRef: ViewContainerRef,\n\t) {\n\t\tsuper(elementRef, viewContainerRef, `pre code`, NgDocCodeComponent);\n\t}\n\n\tprotected override replaceElement(element: Element): Element {\n\t\treturn element.closest('pre') ?? element;\n\t}\n\n\tprotected override extractComponentOptions(element: Element): NgDocProcessorOptions<NgDocCodeComponent> {\n\t\treturn {\n\t\t\tinputs: {\n\t\t\t\tcopyButton: element.getAttribute('copyButton') !== 'false',\n\t\t\t\
|
|
1
|
+
{"version":3,"file":"ng-doc-app-processors-code-processor.mjs","sources":["../../../../libs/app/processors/code-processor/code-processor.directive.ts","../../../../libs/app/processors/code-processor/ng-doc-app-processors-code-processor.ts"],"sourcesContent":["import {Directive, ElementRef, ViewContainerRef} from '@angular/core';\nimport {NgDocCodeComponent} from '@ng-doc/app/components/code';\nimport {NgDocProcessorOptions} from '@ng-doc/app/interfaces';\nimport {NgDocHtmlProcessor} from '@ng-doc/app/processors/html-processor';\n\n@Directive({\n\tselector: '[ngDocCodeProcessor]',\n\tstandalone: true,\n})\nexport class NgDocCodeProcessorDirective extends NgDocHtmlProcessor<NgDocCodeComponent> {\n\tconstructor(\n\t\tprotected override readonly elementRef: ElementRef<HTMLElement>,\n\t\tprotected override readonly viewContainerRef: ViewContainerRef,\n\t) {\n\t\tsuper(elementRef, viewContainerRef, `pre code`, NgDocCodeComponent);\n\t}\n\n\tprotected override replaceElement(element: Element): Element {\n\t\treturn element.closest('pre') ?? element;\n\t}\n\n\tprotected override extractComponentOptions(element: Element): NgDocProcessorOptions<NgDocCodeComponent> {\n\t\treturn {\n\t\t\tinputs: {\n\t\t\t\tcopyButton: element.getAttribute('copyButton') !== 'false',\n\t\t\t\tname: element.getAttribute('name') || undefined,\n\t\t\t\tlineNumbers: element.getAttribute('lineNumbers') !== 'false',\n\t\t\t},\n\t\t\tcontent: [[element.closest('pre') ?? element]],\n\t\t};\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAKA,MAIa,2BAA4B,SAAQ,kBAAsC,CAAA;IACtF,WAC6B,CAAA,UAAmC,EACnC,gBAAkC,EAAA;QAE9D,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAU,QAAA,CAAA,EAAE,kBAAkB,CAAC,CAAC;QAHxC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QACnC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KAG9D;AAEkB,IAAA,cAAc,CAAC,OAAgB,EAAA;QACjD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC;KACzC;AAEkB,IAAA,uBAAuB,CAAC,OAAgB,EAAA;QAC1D,OAAO;AACN,YAAA,MAAM,EAAE;gBACP,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,OAAO;gBAC1D,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,SAAS;gBAC/C,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,OAAO;AAC5D,aAAA;AACD,YAAA,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC;SAC9C,CAAC;KACF;8GArBW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -15,18 +15,21 @@ class NgDocHtmlProcessor {
|
|
|
15
15
|
}
|
|
16
16
|
ngOnInit() {
|
|
17
17
|
this.elementRef.nativeElement.querySelectorAll(this.selector).forEach((elementNode) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
// check if element node has a parent node because it can be removed by another processor
|
|
19
|
+
if (elementNode.parentNode) {
|
|
20
|
+
const replaceElement = this.replaceElement(elementNode);
|
|
21
|
+
const options = this.extractComponentOptions(elementNode, this.elementRef.nativeElement);
|
|
22
|
+
// create component
|
|
23
|
+
const componentRef = this.viewContainerRef.createComponent(this.component, {
|
|
24
|
+
projectableNodes: options.content,
|
|
25
|
+
injector: this.injector,
|
|
26
|
+
});
|
|
27
|
+
// set component options
|
|
28
|
+
Object.assign(componentRef.instance, options.inputs);
|
|
29
|
+
// replace element node with component node
|
|
30
|
+
replaceElement.parentNode?.replaceChild(componentRef.location.nativeElement, replaceElement);
|
|
31
|
+
componentRef.changeDetectorRef.markForCheck();
|
|
32
|
+
}
|
|
30
33
|
});
|
|
31
34
|
}
|
|
32
35
|
replaceElement(element) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-processors-html-processor.mjs","sources":["../../../../libs/app/processors/html-processor/html-processor.directive.ts","../../../../libs/app/processors/html-processor/ng-doc-app-processors-html-processor.ts"],"sourcesContent":["import {ComponentRef, Directive, ElementRef, inject, Injector, OnInit, Type, ViewContainerRef} from '@angular/core';\nimport {NgDocProcessorOptions} from '@ng-doc/app/interfaces';\n\n/**\n * Base processor class to create a processor directive that will be used to replace\n * html nodes with an Angular component.\n */\n@Directive()\nexport abstract class NgDocHtmlProcessor<T> implements OnInit {\n\tinjector: Injector = inject(Injector);\n\n\tprotected constructor(\n\t\tprotected readonly elementRef: ElementRef<HTMLElement>,\n\t\tprotected readonly viewContainerRef: ViewContainerRef,\n\t\tprotected readonly selector: string,\n\t\tprotected readonly component: Type<T>,\n\t) {}\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.querySelectorAll(this.selector).forEach((elementNode: Element) => {\n\t\t\tconst options: NgDocProcessorOptions<T> = this.extractComponentOptions(elementNode);\n\n\t\t\t// create component\n\t\t\tconst componentRef: ComponentRef<T> = this.viewContainerRef.createComponent(this.component, {\n\t\t\t\tprojectableNodes: options.content,\n\t\t\t\tinjector: this.injector,\n\t\t\t});\n\n\t\t\t// set component options\n\t\t\tObject.assign(componentRef.instance as object, options.inputs);\n\n\t\t\t// replace element node with component node\n\t\t\
|
|
1
|
+
{"version":3,"file":"ng-doc-app-processors-html-processor.mjs","sources":["../../../../libs/app/processors/html-processor/html-processor.directive.ts","../../../../libs/app/processors/html-processor/ng-doc-app-processors-html-processor.ts"],"sourcesContent":["import {ComponentRef, Directive, ElementRef, inject, Injector, OnInit, Type, ViewContainerRef} from '@angular/core';\nimport {NgDocProcessorOptions} from '@ng-doc/app/interfaces';\n\n/**\n * Base processor class to create a processor directive that will be used to replace\n * html nodes with an Angular component.\n */\n@Directive()\nexport abstract class NgDocHtmlProcessor<T> implements OnInit {\n\tinjector: Injector = inject(Injector);\n\n\tprotected constructor(\n\t\tprotected readonly elementRef: ElementRef<HTMLElement>,\n\t\tprotected readonly viewContainerRef: ViewContainerRef,\n\t\tprotected readonly selector: string,\n\t\tprotected readonly component: Type<T>,\n\t) {}\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.querySelectorAll(this.selector).forEach((elementNode: Element) => {\n\t\t\t// check if element node has a parent node because it can be removed by another processor\n\t\t\tif (elementNode.parentNode) {\n\t\t\t\tconst replaceElement: Element = this.replaceElement(elementNode);\n\t\t\t\tconst options: NgDocProcessorOptions<T> = this.extractComponentOptions(elementNode, this.elementRef.nativeElement);\n\n\t\t\t\t// create component\n\t\t\t\tconst componentRef: ComponentRef<T> = this.viewContainerRef.createComponent(this.component, {\n\t\t\t\t\tprojectableNodes: options.content,\n\t\t\t\t\tinjector: this.injector,\n\t\t\t\t});\n\n\t\t\t\t// set component options\n\t\t\t\tObject.assign(componentRef.instance as object, options.inputs);\n\n\t\t\t\t// replace element node with component node\n\t\t\t\treplaceElement.parentNode?.replaceChild(componentRef.location.nativeElement, replaceElement);\n\n\t\t\t\tcomponentRef.changeDetectorRef.markForCheck();\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected replaceElement(element: Element): Element {\n\t\treturn element;\n\t}\n\n\tprotected abstract extractComponentOptions(element: Element, root: HTMLElement): NgDocProcessorOptions<T>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGA;;;AAGG;AACH,MACsB,kBAAkB,CAAA;AAGvC,IAAA,WAAA,CACoB,UAAmC,EACnC,gBAAkC,EAClC,QAAgB,EAChB,SAAkB,EAAA;QAHlB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QACnC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAQ;QAChB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAS;AANtC,QAAA,IAAA,CAAA,QAAQ,GAAa,MAAM,CAAC,QAAQ,CAAC,CAAC;KAOlC;IAEJ,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAoB,KAAI;;YAE9F,IAAI,WAAW,CAAC,UAAU,EAAE;gBAC3B,MAAM,cAAc,GAAY,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AACjE,gBAAA,MAAM,OAAO,GAA6B,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;;gBAGnH,MAAM,YAAY,GAAoB,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE;oBAC3F,gBAAgB,EAAE,OAAO,CAAC,OAAO;oBACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,iBAAA,CAAC,CAAC;;gBAGH,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,QAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;;AAG/D,gBAAA,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AAE7F,gBAAA,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAC9C,aAAA;AACF,SAAC,CAAC,CAAC;KACH;AAES,IAAA,cAAc,CAAC,OAAgB,EAAA;AACxC,QAAA,OAAO,OAAO,CAAC;KACf;8GApCoB,kBAAkB,EAAA,IAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAlB,kBAAkB,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBADvC,SAAS;;;ACPV;;AAEG;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Directive } from '@angular/core';
|
|
3
|
+
import { NgDocTabsComponent } from '@ng-doc/app/components/tabs';
|
|
4
|
+
import { NgDocHtmlProcessor } from '@ng-doc/app/processors/html-processor';
|
|
5
|
+
|
|
6
|
+
class NgDocTabsProcessorDirective extends NgDocHtmlProcessor {
|
|
7
|
+
constructor(elementRef, viewContainerRef) {
|
|
8
|
+
super(elementRef, viewContainerRef, `ng-doc-tab`, NgDocTabsComponent);
|
|
9
|
+
this.elementRef = elementRef;
|
|
10
|
+
this.viewContainerRef = viewContainerRef;
|
|
11
|
+
}
|
|
12
|
+
extractComponentOptions(element, root) {
|
|
13
|
+
const group = element.getAttribute('group') ?? '';
|
|
14
|
+
const tabs = Array.from(root.querySelectorAll(`ng-doc-tab[group="${group}"]`));
|
|
15
|
+
const mappedTabs = tabs.map((tab) => this.mapTabs(tab));
|
|
16
|
+
tabs.forEach((tab) => tab.remove());
|
|
17
|
+
return {
|
|
18
|
+
inputs: {
|
|
19
|
+
tabs: mappedTabs,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
replaceElement(element) {
|
|
24
|
+
const anchor = document.createElement('div');
|
|
25
|
+
return element.parentNode?.insertBefore(anchor, element) ?? element;
|
|
26
|
+
}
|
|
27
|
+
mapTabs(element) {
|
|
28
|
+
return {
|
|
29
|
+
title: element.getAttribute('name') ?? '',
|
|
30
|
+
content: element,
|
|
31
|
+
active: element.hasAttribute('active'),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocTabsProcessorDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
35
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgDocTabsProcessorDirective, isStandalone: true, selector: "[ngDocTabsProcessor]", usesInheritance: true, ngImport: i0 }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocTabsProcessorDirective, decorators: [{
|
|
38
|
+
type: Directive,
|
|
39
|
+
args: [{
|
|
40
|
+
selector: '[ngDocTabsProcessor]',
|
|
41
|
+
standalone: true,
|
|
42
|
+
}]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }]; } });
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Generated bundle index. Do not edit.
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
export { NgDocTabsProcessorDirective };
|
|
50
|
+
//# sourceMappingURL=ng-doc-app-processors-tabs-processor.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-doc-app-processors-tabs-processor.mjs","sources":["../../../../libs/app/processors/tabs-processor/tabs-processor.directive.ts","../../../../libs/app/processors/tabs-processor/ng-doc-app-processors-tabs-processor.ts"],"sourcesContent":["import {Directive, ElementRef, ViewContainerRef} from '@angular/core';\nimport {NgDocTabsComponent} from '@ng-doc/app/components/tabs';\nimport {NgDocProcessorOptions, NgDocTab} from '@ng-doc/app/interfaces';\nimport {NgDocHtmlProcessor} from '@ng-doc/app/processors/html-processor';\n\n@Directive({\n\tselector: '[ngDocTabsProcessor]',\n\tstandalone: true,\n})\nexport class NgDocTabsProcessorDirective extends NgDocHtmlProcessor<NgDocTabsComponent> {\n\tconstructor(\n\t\tprotected override readonly elementRef: ElementRef<HTMLElement>,\n\t\tprotected override readonly viewContainerRef: ViewContainerRef,\n\t) {\n\t\tsuper(elementRef, viewContainerRef, `ng-doc-tab`, NgDocTabsComponent);\n\t}\n\n\tprotected override extractComponentOptions(element: Element, root: HTMLElement): NgDocProcessorOptions<NgDocTabsComponent> {\n\t\tconst group: string | null = element.getAttribute('group') ?? '';\n\t\tconst tabs: Element[] = Array.from(root.querySelectorAll(`ng-doc-tab[group=\"${group}\"]`));\n\t\tconst mappedTabs: NgDocTab[] = tabs.map((tab: Element) => this.mapTabs(tab));\n\n\n\n\t\ttabs.forEach((tab: Element) => tab.remove());\n\n\t\treturn {\n\t\t\tinputs: {\n\t\t\t\ttabs: mappedTabs,\n\t\t\t},\n\t\t};\n\t}\n\n\tprotected override replaceElement(element: Element): Element {\n\t\tconst anchor: Element = document.createElement('div');\n\n\t\treturn element.parentNode?.insertBefore(anchor, element) ?? element;\n\t}\n\n\tprivate mapTabs(element: Element): NgDocTab {\n\t\treturn {\n\t\t\ttitle: element.getAttribute('name') ?? '',\n\t\t\tcontent: element,\n\t\t\tactive: element.hasAttribute('active'),\n\t\t};\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAKA,MAIa,2BAA4B,SAAQ,kBAAsC,CAAA;IACtF,WAC6B,CAAA,UAAmC,EACnC,gBAAkC,EAAA;QAE9D,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAY,UAAA,CAAA,EAAE,kBAAkB,CAAC,CAAC;QAH1C,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QACnC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KAG9D;IAEkB,uBAAuB,CAAC,OAAgB,EAAE,IAAiB,EAAA;QAC7E,MAAM,KAAK,GAAkB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACjE,QAAA,MAAM,IAAI,GAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAqB,kBAAA,EAAA,KAAK,CAAI,EAAA,CAAA,CAAC,CAAC,CAAC;AAC1F,QAAA,MAAM,UAAU,GAAe,IAAI,CAAC,GAAG,CAAC,CAAC,GAAY,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAI7E,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAY,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7C,OAAO;AACN,YAAA,MAAM,EAAE;AACP,gBAAA,IAAI,EAAE,UAAU;AAChB,aAAA;SACD,CAAC;KACF;AAEkB,IAAA,cAAc,CAAC,OAAgB,EAAA;QACjD,MAAM,MAAM,GAAY,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAEtD,QAAA,OAAO,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC;KACpE;AAEO,IAAA,OAAO,CAAC,OAAgB,EAAA;QAC/B,OAAO;YACN,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE;AACzC,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC;SACtC,CAAC;KACF;8GApCW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -6,6 +6,7 @@ export * from '@ng-doc/app/processors/html-processor';
|
|
|
6
6
|
export * from '@ng-doc/app/processors/icon-processor';
|
|
7
7
|
export * from '@ng-doc/app/processors/link-processor';
|
|
8
8
|
export * from '@ng-doc/app/processors/playground-processor';
|
|
9
|
+
export * from '@ng-doc/app/processors/tabs-processor';
|
|
9
10
|
export * from '@ng-doc/app/processors/tooltip-processor';
|
|
10
11
|
|
|
11
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-doc-app-processors.mjs","sources":["../../../../libs/app/processors/ng-doc-app-processors.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ng-doc-app-processors.mjs","sources":["../../../../libs/app/processors/ng-doc-app-processors.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAAA;;AAEG"}
|
package/interfaces/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-doc/app",
|
|
3
|
-
"version": "16.
|
|
3
|
+
"version": "16.7.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": ">=16.0.0",
|
|
6
6
|
"@angular/core": ">=16.0.0",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"tslib": "^2.3.0",
|
|
15
|
-
"@ng-doc/core": "16.
|
|
16
|
-
"@ng-doc/ui-kit": "16.
|
|
15
|
+
"@ng-doc/core": "16.7.1",
|
|
16
|
+
"@ng-doc/ui-kit": "16.7.1",
|
|
17
17
|
"@orama/plugin-match-highlight": "1.0.2",
|
|
18
18
|
"@orama/stemmers": "1.0.2",
|
|
19
19
|
"highlight.js": "11.5.1"
|
|
@@ -225,6 +225,12 @@
|
|
|
225
225
|
"esm": "./esm2022/components/sidebar/ng-doc-app-components-sidebar.mjs",
|
|
226
226
|
"default": "./fesm2022/ng-doc-app-components-sidebar.mjs"
|
|
227
227
|
},
|
|
228
|
+
"./components/tabs": {
|
|
229
|
+
"types": "./components/tabs/index.d.ts",
|
|
230
|
+
"esm2022": "./esm2022/components/tabs/ng-doc-app-components-tabs.mjs",
|
|
231
|
+
"esm": "./esm2022/components/tabs/ng-doc-app-components-tabs.mjs",
|
|
232
|
+
"default": "./fesm2022/ng-doc-app-components-tabs.mjs"
|
|
233
|
+
},
|
|
228
234
|
"./components/theme-toggle": {
|
|
229
235
|
"types": "./components/theme-toggle/index.d.ts",
|
|
230
236
|
"esm2022": "./esm2022/components/theme-toggle/ng-doc-app-components-theme-toggle.mjs",
|
|
@@ -321,6 +327,12 @@
|
|
|
321
327
|
"esm": "./esm2022/processors/playground-processor/ng-doc-app-processors-playground-processor.mjs",
|
|
322
328
|
"default": "./fesm2022/ng-doc-app-processors-playground-processor.mjs"
|
|
323
329
|
},
|
|
330
|
+
"./processors/tabs-processor": {
|
|
331
|
+
"types": "./processors/tabs-processor/index.d.ts",
|
|
332
|
+
"esm2022": "./esm2022/processors/tabs-processor/ng-doc-app-processors-tabs-processor.mjs",
|
|
333
|
+
"esm": "./esm2022/processors/tabs-processor/ng-doc-app-processors-tabs-processor.mjs",
|
|
334
|
+
"default": "./fesm2022/ng-doc-app-processors-tabs-processor.mjs"
|
|
335
|
+
},
|
|
324
336
|
"./processors/tooltip-processor": {
|
|
325
337
|
"types": "./processors/tooltip-processor/index.d.ts",
|
|
326
338
|
"esm2022": "./esm2022/processors/tooltip-processor/ng-doc-app-processors-tooltip-processor.mjs",
|
|
@@ -14,7 +14,7 @@ export declare abstract class NgDocHtmlProcessor<T> implements OnInit {
|
|
|
14
14
|
protected constructor(elementRef: ElementRef<HTMLElement>, viewContainerRef: ViewContainerRef, selector: string, component: Type<T>);
|
|
15
15
|
ngOnInit(): void;
|
|
16
16
|
protected replaceElement(element: Element): Element;
|
|
17
|
-
protected abstract extractComponentOptions(element: Element): NgDocProcessorOptions<T>;
|
|
17
|
+
protected abstract extractComponentOptions(element: Element, root: HTMLElement): NgDocProcessorOptions<T>;
|
|
18
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocHtmlProcessor<any>, never>;
|
|
19
19
|
static ɵdir: i0.ɵɵDirectiveDeclaration<NgDocHtmlProcessor<any>, never, never, {}, {}, never, never, false, never>;
|
|
20
20
|
}
|
package/processors/index.d.ts
CHANGED
|
@@ -6,4 +6,5 @@ export * from '@ng-doc/app/processors/html-processor';
|
|
|
6
6
|
export * from '@ng-doc/app/processors/icon-processor';
|
|
7
7
|
export * from '@ng-doc/app/processors/link-processor';
|
|
8
8
|
export * from '@ng-doc/app/processors/playground-processor';
|
|
9
|
+
export * from '@ng-doc/app/processors/tabs-processor';
|
|
9
10
|
export * from '@ng-doc/app/processors/tooltip-processor';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./tabs-processor.directive";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ElementRef, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { NgDocTabsComponent } from '@ng-doc/app/components/tabs';
|
|
3
|
+
import { NgDocProcessorOptions } from '@ng-doc/app/interfaces';
|
|
4
|
+
import { NgDocHtmlProcessor } from '@ng-doc/app/processors/html-processor';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class NgDocTabsProcessorDirective extends NgDocHtmlProcessor<NgDocTabsComponent> {
|
|
7
|
+
protected readonly elementRef: ElementRef<HTMLElement>;
|
|
8
|
+
protected readonly viewContainerRef: ViewContainerRef;
|
|
9
|
+
constructor(elementRef: ElementRef<HTMLElement>, viewContainerRef: ViewContainerRef);
|
|
10
|
+
protected extractComponentOptions(element: Element, root: HTMLElement): NgDocProcessorOptions<NgDocTabsComponent>;
|
|
11
|
+
protected replaceElement(element: Element): Element;
|
|
12
|
+
private mapTabs;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocTabsProcessorDirective, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgDocTabsProcessorDirective, "[ngDocTabsProcessor]", never, {}, {}, never, never, true, never>;
|
|
15
|
+
}
|
package/styles/global.css
CHANGED
|
@@ -308,6 +308,10 @@ mark.ng-doc-mark {
|
|
|
308
308
|
--ng-doc-dot-background: var(--ng-doc-primary);
|
|
309
309
|
/* Sidenav */
|
|
310
310
|
--ng-doc-sidenav-width: 300px;
|
|
311
|
+
/* Tabs */
|
|
312
|
+
--ng-doc-tabs-margin: calc(var(--ng-doc-base-gutter) * 4) 0px;
|
|
313
|
+
--ng-doc-tabs-border: 1px solid var(--ng-doc-base-2);
|
|
314
|
+
--ng-doc-tabs-border-radius: var(--ng-doc-base-gutter) ;
|
|
311
315
|
}
|
|
312
316
|
|
|
313
317
|
.ng-doc-tooltip {
|
package/styles/main.css
CHANGED
|
@@ -308,6 +308,10 @@ mark.ng-doc-mark {
|
|
|
308
308
|
--ng-doc-dot-background: var(--ng-doc-primary);
|
|
309
309
|
/* Sidenav */
|
|
310
310
|
--ng-doc-sidenav-width: 300px;
|
|
311
|
+
/* Tabs */
|
|
312
|
+
--ng-doc-tabs-margin: calc(var(--ng-doc-base-gutter) * 4) 0px;
|
|
313
|
+
--ng-doc-tabs-border: 1px solid var(--ng-doc-base-2);
|
|
314
|
+
--ng-doc-tabs-border-radius: var(--ng-doc-base-gutter) ;
|
|
311
315
|
}
|
|
312
316
|
|
|
313
317
|
.ng-doc-tooltip {
|