@memberjunction/ng-tabstrip 0.9.5 → 0.9.9
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,3 +1,4 @@
|
|
|
1
|
+
import { ChangeDetectorRef } from '@angular/core';
|
|
1
2
|
import { MJTabBase } from '../tab.base';
|
|
2
3
|
import { MJTabStripComponent } from '../tab-strip/tab-strip.component';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
@@ -6,6 +7,7 @@ import * as i0 from "@angular/core";
|
|
|
6
7
|
*/
|
|
7
8
|
export declare class MJTabComponent extends MJTabBase {
|
|
8
9
|
private tabstrip;
|
|
10
|
+
private cdr;
|
|
9
11
|
private _tabSelected;
|
|
10
12
|
/**
|
|
11
13
|
* Determines if the tab is currently selected or not. This is set by the TabStrip component automatically when the SelectedTabIndex is set, do not set this directly.
|
|
@@ -20,7 +22,7 @@ export declare class MJTabComponent extends MJTabBase {
|
|
|
20
22
|
* Returns a reference to the tab strip that this tab belongs to.
|
|
21
23
|
*/
|
|
22
24
|
get TabStrip(): MJTabStripComponent;
|
|
23
|
-
constructor(tabstrip: MJTabStripComponent);
|
|
25
|
+
constructor(tabstrip: MJTabStripComponent, cdr: ChangeDetectorRef);
|
|
24
26
|
/**
|
|
25
27
|
* Event handler for when this tab is clicked to select it, generally not a great idea to call this directly, but it is possible to call directly to simulate a click.
|
|
26
28
|
* The preferred approach is to set the SelectedTabIndex property on the TabStrip component directly.
|
|
@@ -31,6 +33,6 @@ export declare class MJTabComponent extends MJTabBase {
|
|
|
31
33
|
*/
|
|
32
34
|
closeTab($event: MouseEvent): void;
|
|
33
35
|
handleContextMenu($event: MouseEvent): void;
|
|
34
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MJTabComponent, [{ host: true; }]>;
|
|
36
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MJTabComponent, [{ host: true; }, null]>;
|
|
35
37
|
static ɵcmp: i0.ɵɵComponentDeclaration<MJTabComponent, "mj-tab", never, { "TabSelected": { "alias": "TabSelected"; "required": false; }; "TabCloseable": { "alias": "TabCloseable"; "required": false; }; }, {}, never, ["*"], false, never>;
|
|
36
38
|
}
|
|
@@ -24,6 +24,7 @@ export class MJTabComponent extends MJTabBase {
|
|
|
24
24
|
}
|
|
25
25
|
set TabSelected(value) {
|
|
26
26
|
this._tabSelected = value;
|
|
27
|
+
this.cdr.detectChanges(); // Manually trigger change detection to update the view
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
30
|
* Returns a reference to the tab strip that this tab belongs to.
|
|
@@ -31,9 +32,10 @@ export class MJTabComponent extends MJTabBase {
|
|
|
31
32
|
get TabStrip() {
|
|
32
33
|
return this.tabstrip;
|
|
33
34
|
}
|
|
34
|
-
constructor(tabstrip) {
|
|
35
|
+
constructor(tabstrip, cdr) {
|
|
35
36
|
super();
|
|
36
37
|
this.tabstrip = tabstrip;
|
|
38
|
+
this.cdr = cdr;
|
|
37
39
|
this._tabSelected = false;
|
|
38
40
|
/**
|
|
39
41
|
* Determines if the tab can be closed by a user, or not. Defaults to false.
|
|
@@ -59,7 +61,7 @@ export class MJTabComponent extends MJTabBase {
|
|
|
59
61
|
this.tabstrip.handleTabContextMenu($event, this);
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
|
-
MJTabComponent.ɵfac = function MJTabComponent_Factory(t) { return new (t || MJTabComponent)(i0.ɵɵdirectiveInject(i1.MJTabStripComponent, 1)); };
|
|
64
|
+
MJTabComponent.ɵfac = function MJTabComponent_Factory(t) { return new (t || MJTabComponent)(i0.ɵɵdirectiveInject(i1.MJTabStripComponent, 1), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
63
65
|
MJTabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJTabComponent, selectors: [["mj-tab"]], inputs: { TabSelected: "TabSelected", TabCloseable: "TabCloseable" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 3, vars: 4, consts: [[1, "single-tab", 3, "ngClass", "click", "contextmenu"], ["class", "tab-close-button", 3, "click", 4, "ngIf"], [1, "tab-close-button", 3, "click"]], template: function MJTabComponent_Template(rf, ctx) { if (rf & 1) {
|
|
64
66
|
i0.ɵɵprojectionDef();
|
|
65
67
|
i0.ɵɵelementStart(0, "div", 0);
|
|
@@ -77,7 +79,7 @@ MJTabComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJTabCompone
|
|
|
77
79
|
args: [{ selector: 'mj-tab', template: "<div class=\"single-tab\" [ngClass]=\"{'single-tab-selected': TabSelected}\" (click)=\"selectTab()\" (contextmenu)=\"handleContextMenu($event)\">\r\n <ng-content><!--CONTENT PROJECTION GOES HERE--></ng-content>\r\n <span *ngIf=\"TabCloseable\" class=\"tab-close-button\" (click)=\"closeTab($event)\" >\u2716</span>\r\n</div>", styles: ["\r\n .single-tab {\r\n flex: 0 0 auto; /* Prevent tabs from shrinking */\r\n cursor: pointer;\r\n height: 26px;\r\n margin-right: 1px;\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n padding-top: 5px;\r\n border-radius: 8px 8px 0 0;\r\n border-top: solid 1px #D5D8E5;;\r\n border-left: solid 1px #D5D8E5;;\r\n border-right: solid 1px #D5D8E5;;\r\n border-bottom: 0;\r\n background-color: #D5D8E5;\r\n font-size: 14px;\r\n }\r\n .single-tab:hover {\r\n color: #bb443c;\r\n }\r\n .single-tab-selected {\r\n background-color: #F5F6FA;\r\n font-weight: bold;\r\n }\r\n \r\n .tab-close-button {\r\n cursor: pointer;\r\n margin-left: 10px;\r\n padding: 2px;\r\n font-size: 12px;\r\n border-radius: 10px;\r\n color: black;\r\n }\r\n .tab-close-button:hover {\r\n background-color: lightgray;\r\n }\r\n "] }]
|
|
78
80
|
}], () => [{ type: i1.MJTabStripComponent, decorators: [{
|
|
79
81
|
type: Host
|
|
80
|
-
}] }], { TabSelected: [{
|
|
82
|
+
}] }, { type: i0.ChangeDetectorRef }], { TabSelected: [{
|
|
81
83
|
type: Input
|
|
82
84
|
}], TabCloseable: [{
|
|
83
85
|
type: Input
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventEmitter, QueryList, ElementRef, AfterContentInit, AfterContentChecked, AfterViewInit } from '@angular/core';
|
|
1
|
+
import { EventEmitter, QueryList, ElementRef, AfterContentInit, AfterContentChecked, AfterViewInit, ChangeDetectorRef } from '@angular/core';
|
|
2
2
|
import { MJTabComponent } from '../tab/tab.component';
|
|
3
3
|
import { MJTabBodyComponent } from '../tab-body/tab-body.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -24,7 +24,9 @@ export declare class TabContextMenuEvent extends TabEvent {
|
|
|
24
24
|
mouseEvent: MouseEvent;
|
|
25
25
|
}
|
|
26
26
|
export declare class MJTabStripComponent implements AfterContentInit, AfterContentChecked, AfterViewInit {
|
|
27
|
+
private cdr;
|
|
27
28
|
protected _selectedTabIndex: number;
|
|
29
|
+
constructor(cdr: ChangeDetectorRef);
|
|
28
30
|
/**
|
|
29
31
|
* The index of the selected tab. You can get/set this value and it will change the displayed tab.
|
|
30
32
|
*/
|
|
@@ -15,17 +15,18 @@ import * as i0 from "@angular/core";
|
|
|
15
15
|
import * as i1 from "@angular/common";
|
|
16
16
|
import * as i2 from "@memberjunction/ng-container-directives";
|
|
17
17
|
const _c0 = ["tabInnerContainer"];
|
|
18
|
-
function
|
|
18
|
+
function MJTabStripComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
19
19
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
20
|
-
i0.ɵɵelementStart(0, "
|
|
21
|
-
i0.ɵɵlistener("click", function
|
|
22
|
-
i0.ɵɵ
|
|
20
|
+
i0.ɵɵelementStart(0, "div", 7);
|
|
21
|
+
i0.ɵɵlistener("click", function MJTabStripComponent_div_2_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.scrollLeft()); });
|
|
22
|
+
i0.ɵɵelement(1, "span", 8);
|
|
23
23
|
i0.ɵɵelementEnd();
|
|
24
24
|
} }
|
|
25
|
-
function
|
|
25
|
+
function MJTabStripComponent_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
26
26
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
27
|
-
i0.ɵɵelementStart(0, "
|
|
28
|
-
i0.ɵɵlistener("click", function
|
|
27
|
+
i0.ɵɵelementStart(0, "div", 9);
|
|
28
|
+
i0.ɵɵlistener("click", function MJTabStripComponent_div_6_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.scrollRight()); });
|
|
29
|
+
i0.ɵɵelement(1, "span", 10);
|
|
29
30
|
i0.ɵɵelementEnd();
|
|
30
31
|
} }
|
|
31
32
|
const _c1 = [[["mj-tab"]], [["mj-tab-body"]]];
|
|
@@ -47,7 +48,8 @@ export class TabClosedEvent extends TabEvent {
|
|
|
47
48
|
export class TabContextMenuEvent extends TabEvent {
|
|
48
49
|
}
|
|
49
50
|
export class MJTabStripComponent {
|
|
50
|
-
constructor() {
|
|
51
|
+
constructor(cdr) {
|
|
52
|
+
this.cdr = cdr;
|
|
51
53
|
this._selectedTabIndex = -1; // default to negative 1 so any valid value of 0+ will invoke a state change internally later
|
|
52
54
|
/**
|
|
53
55
|
* This event is fired before a tab is selected. If you set cancel to true, the tab will not be selected.
|
|
@@ -110,11 +112,14 @@ export class MJTabStripComponent {
|
|
|
110
112
|
// now, we have to tell each of our tabs they have been selected or not, and also to tell the bodies if they are visible or not
|
|
111
113
|
(_a = this.tabs) === null || _a === void 0 ? void 0 : _a.forEach((tab, i) => tab.TabSelected = i === index);
|
|
112
114
|
(_b = this.tabBodies) === null || _b === void 0 ? void 0 : _b.forEach((body, i) => body.TabVisible = i === index);
|
|
115
|
+
// let angular now it needs to update its change detection
|
|
116
|
+
this.cdr.detectChanges();
|
|
113
117
|
// also ask for a resize now
|
|
114
118
|
SharedService.Instance.InvokeManualResize();
|
|
115
119
|
}
|
|
116
120
|
ngAfterViewInit() {
|
|
117
121
|
this._viewInitialized = true;
|
|
122
|
+
this.SelectedTabIndex = this.SelectedTabIndex; // force a refresh of the tab visibility
|
|
118
123
|
this.syncTabIndexes();
|
|
119
124
|
this.checkTabScrollButtons();
|
|
120
125
|
}
|
|
@@ -234,7 +239,7 @@ export class MJTabStripComponent {
|
|
|
234
239
|
this.scrollTabHeader(-150);
|
|
235
240
|
}
|
|
236
241
|
}
|
|
237
|
-
MJTabStripComponent.ɵfac = function MJTabStripComponent_Factory(t) { return new (t || MJTabStripComponent)(); };
|
|
242
|
+
MJTabStripComponent.ɵfac = function MJTabStripComponent_Factory(t) { return new (t || MJTabStripComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
238
243
|
MJTabStripComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJTabStripComponent, selectors: [["mj-tabstrip"]], contentQueries: function MJTabStripComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
239
244
|
i0.ɵɵcontentQuery(dirIndex, MJTabComponent, 4);
|
|
240
245
|
i0.ɵɵcontentQuery(dirIndex, MJTabBodyComponent, 4);
|
|
@@ -249,14 +254,14 @@ MJTabStripComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJTabSt
|
|
|
249
254
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabInnerContainer = _t.first);
|
|
250
255
|
} }, hostBindings: function MJTabStripComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
251
256
|
i0.ɵɵlistener("resize", function MJTabStripComponent_resize_HostBindingHandler($event) { return ctx.onResize($event); }, false, i0.ɵɵresolveWindow);
|
|
252
|
-
} }, inputs: { SelectedTabIndex: "SelectedTabIndex" }, outputs: { BeforeTabSelected: "BeforeTabSelected", TabSelected: "TabSelected", BeforeTabClosed: "BeforeTabClosed", TabClosed: "TabClosed", TabContextMenu: "TabContextMenu" }, ngContentSelectors: _c2, decls: 9, vars: 2, consts: [["mjFillContainer", "", 1, "tabstrip-container"], [1, "tab-header-outer"], ["
|
|
257
|
+
} }, inputs: { SelectedTabIndex: "SelectedTabIndex" }, outputs: { BeforeTabSelected: "BeforeTabSelected", TabSelected: "TabSelected", BeforeTabClosed: "BeforeTabClosed", TabClosed: "TabClosed", TabContextMenu: "TabContextMenu" }, ngContentSelectors: _c2, decls: 9, vars: 2, consts: [["mjFillContainer", "", 1, "tabstrip-container"], [1, "tab-header-outer"], ["class", "tab-scroll-button tab-scroll-button-left", 3, "click", 4, "ngIf"], [1, "tab-header-inner"], ["tabInnerContainer", ""], ["class", "tab-scroll-button tab-scroll-button-right", 3, "click", 4, "ngIf"], ["mjFillContainer", "", 1, "tab-bodies"], [1, "tab-scroll-button", "tab-scroll-button-left", 3, "click"], [1, "fa-solid", "fa-caret-left"], [1, "tab-scroll-button", "tab-scroll-button-right", 3, "click"], [1, "fa-solid", "fa-caret-right"]], template: function MJTabStripComponent_Template(rf, ctx) { if (rf & 1) {
|
|
253
258
|
i0.ɵɵprojectionDef(_c1);
|
|
254
259
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
255
|
-
i0.ɵɵtemplate(2,
|
|
260
|
+
i0.ɵɵtemplate(2, MJTabStripComponent_div_2_Template, 2, 0, "div", 2);
|
|
256
261
|
i0.ɵɵelementStart(3, "div", 3, 4);
|
|
257
262
|
i0.ɵɵprojection(5);
|
|
258
263
|
i0.ɵɵelementEnd();
|
|
259
|
-
i0.ɵɵtemplate(6,
|
|
264
|
+
i0.ɵɵtemplate(6, MJTabStripComponent_div_6_Template, 2, 0, "div", 5);
|
|
260
265
|
i0.ɵɵelementEnd();
|
|
261
266
|
i0.ɵɵelementStart(7, "div", 6);
|
|
262
267
|
i0.ɵɵprojection(8, 1);
|
|
@@ -266,11 +271,11 @@ MJTabStripComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJTabSt
|
|
|
266
271
|
i0.ɵɵproperty("ngIf", ctx.showLeftButton);
|
|
267
272
|
i0.ɵɵadvance(4);
|
|
268
273
|
i0.ɵɵproperty("ngIf", ctx.showRightButton);
|
|
269
|
-
} }, dependencies: [i1.NgIf, i2.FillContainer], styles: [".tabstrip-container[_ngcontent-%COMP%] {\r\n overflow: hidden;\r\n}\r\n\r\n.tab-header-outer[_ngcontent-%COMP%] {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n overflow: hidden; \n\r\n background-color: #D5D8E5;\r\n}\r\n\r\n.tab-header-inner[_ngcontent-%COMP%] {\r\n display: flex;\r\n flex-direction: row;\r\n white-space: nowrap; \n\r\n position: relative; \n\r\n z-index: 1; \n\r\n\r\n padding-left: 5px;\r\n padding-top: 5px;\r\n background-color: #D5D8E5;\r\n border-bottom: #F5F6FA;\r\n}\r\n\r\n.tab-scroll-button-left[_ngcontent-%COMP%], .tab-scroll-button-right[_ngcontent-%COMP%] {\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n z-index: 2; \n\r\n}\r\n\r\n.tab-scroll-button-left[_ngcontent-%COMP%] {\r\n left: 0;\r\n}\r\n\r\n.tab-scroll-button-right[_ngcontent-%COMP%] {\r\n right: 0;\r\n}"] });
|
|
274
|
+
} }, dependencies: [i1.NgIf, i2.FillContainer], styles: [".tabstrip-container[_ngcontent-%COMP%] {\r\n overflow: hidden;\r\n font-size: 14px; \n\r\n}\r\n\r\n.tab-header-outer[_ngcontent-%COMP%] {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n overflow: hidden; \n\r\n background-color: #D5D8E5;\r\n}\r\n\r\n.tab-header-inner[_ngcontent-%COMP%] {\r\n display: flex;\r\n flex-direction: row;\r\n white-space: nowrap; \n\r\n position: relative; \n\r\n z-index: 1; \n\r\n\r\n padding-left: 5px;\r\n padding-top: 5px;\r\n background-color: #D5D8E5;\r\n border-bottom: #F5F6FA;\r\n}\r\n\r\n.tab-scroll-button-left[_ngcontent-%COMP%], .tab-scroll-button-right[_ngcontent-%COMP%] {\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n z-index: 2; \n\r\n}\r\n\r\n.tab-scroll-button-left[_ngcontent-%COMP%] {\r\n left: 0;\r\n}\r\n\r\n.tab-scroll-button-right[_ngcontent-%COMP%] {\r\n right: 0;\r\n}\r\n\r\n.tab-scroll-button[_ngcontent-%COMP%] {\r\n padding: 8px 10px 10px 8px;\r\n cursor: pointer;\r\n border-radius: 6px;\r\n background-color: lightblue;\r\n}\r\n.tab-scroll-button[_ngcontent-%COMP%]:hover {\r\n background-color: pink;\r\n}"] });
|
|
270
275
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJTabStripComponent, [{
|
|
271
276
|
type: Component,
|
|
272
|
-
args: [{ selector: 'mj-tabstrip', template: "<!-- mj-tabstrip.component.html -->\r\n<div class=\"tabstrip-container\" mjFillContainer>\r\n <!-- Tab Headers -->\r\n <div class=\"tab-header-outer\">\r\n <
|
|
273
|
-
}],
|
|
277
|
+
args: [{ selector: 'mj-tabstrip', template: "<!-- mj-tabstrip.component.html -->\r\n<div class=\"tabstrip-container\" mjFillContainer>\r\n <!-- Tab Headers -->\r\n <div class=\"tab-header-outer\">\r\n <div *ngIf=\"showLeftButton\" class=\"tab-scroll-button tab-scroll-button-left\" (click)=\"scrollLeft()\">\r\n <span class=\"fa-solid fa-caret-left\"></span>\r\n </div>\r\n <div class=\"tab-header-inner\" #tabInnerContainer>\r\n <ng-content select=\"mj-tab\"></ng-content> <!-- Where <mj-tab> components are projected -->\r\n </div>\r\n <div *ngIf=\"showRightButton\" class=\"tab-scroll-button tab-scroll-button-right\" (click)=\"scrollRight()\">\r\n <span class=\"fa-solid fa-caret-right\"></span>\r\n </div>\r\n </div>\r\n <!-- Tab Content -->\r\n <div class=\"tab-bodies\" mjFillContainer>\r\n <ng-content select=\"mj-tab-body\"></ng-content> <!-- Where <mj-tab-body> components are projected -->\r\n </div>\r\n</div>", styles: [".tabstrip-container {\r\n overflow: hidden;\r\n font-size: 14px; /*default font size*/\r\n}\r\n\r\n.tab-header-outer {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n overflow: hidden; /* Hide the overflow */\r\n background-color: #D5D8E5;\r\n}\r\n\r\n.tab-header-inner {\r\n display: flex;\r\n flex-direction: row;\r\n white-space: nowrap; /* Prevent wrapping of tabs */\r\n position: relative; /* Needed for z-index to work */\r\n z-index: 1; /* Place tabs above the content */\r\n\r\n padding-left: 5px;\r\n padding-top: 5px;\r\n background-color: #D5D8E5;\r\n border-bottom: #F5F6FA;\r\n}\r\n\r\n.tab-scroll-button-left, .tab-scroll-button-right {\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n z-index: 2; /* Ensure buttons are above the content */\r\n}\r\n\r\n.tab-scroll-button-left {\r\n left: 0;\r\n}\r\n\r\n.tab-scroll-button-right {\r\n right: 0;\r\n}\r\n\r\n.tab-scroll-button {\r\n padding: 8px 10px 10px 8px;\r\n cursor: pointer;\r\n border-radius: 6px;\r\n background-color: lightblue;\r\n}\r\n.tab-scroll-button:hover {\r\n background-color: pink;\r\n}\r\n\r\n "] }]
|
|
278
|
+
}], () => [{ type: i0.ChangeDetectorRef }], { SelectedTabIndex: [{
|
|
274
279
|
type: Input
|
|
275
280
|
}], BeforeTabSelected: [{
|
|
276
281
|
type: Output
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-tabstrip",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.9",
|
|
4
4
|
"description": "MemberJunction: Very simple tab strip component used in the MJ Explorer app and reusable anywhere else in an Angular project.",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@memberjunction/ng-container-directives": "^0.9.148",
|
|
27
|
-
"@memberjunction/ng-shared": "^0.9.
|
|
27
|
+
"@memberjunction/ng-shared": "^0.9.51",
|
|
28
28
|
"tslib": "^2.3.0"
|
|
29
29
|
},
|
|
30
30
|
"sideEffects": false
|