@memberjunction/ng-ui-components 6.1.0-edge.0 → 6.1.0-edge.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -2
- package/dist/lib/left-nav/left-nav.component.d.ts +142 -3
- package/dist/lib/left-nav/left-nav.component.d.ts.map +1 -1
- package/dist/lib/left-nav/left-nav.component.js +391 -117
- package/dist/lib/left-nav/left-nav.component.js.map +1 -1
- package/dist/lib/tabs/tab-chrome-guard.d.ts +14 -0
- package/dist/lib/tabs/tab-chrome-guard.d.ts.map +1 -0
- package/dist/lib/tabs/tab-chrome-guard.js +36 -0
- package/dist/lib/tabs/tab-chrome-guard.js.map +1 -0
- package/dist/lib/tabs/tab-list.directive.d.ts +93 -0
- package/dist/lib/tabs/tab-list.directive.d.ts.map +1 -0
- package/dist/lib/tabs/tab-list.directive.js +202 -0
- package/dist/lib/tabs/tab-list.directive.js.map +1 -0
- package/dist/lib/tabs/tabs.scss +242 -0
- package/dist/lib/workspace-tabs/workspace-card.component.d.ts +63 -0
- package/dist/lib/workspace-tabs/workspace-card.component.d.ts.map +1 -0
- package/dist/lib/workspace-tabs/workspace-card.component.js +256 -0
- package/dist/lib/workspace-tabs/workspace-card.component.js.map +1 -0
- package/dist/lib/workspace-tabs/workspace-tab-store.d.ts +47 -0
- package/dist/lib/workspace-tabs/workspace-tab-store.d.ts.map +1 -0
- package/dist/lib/workspace-tabs/workspace-tab-store.js +112 -0
- package/dist/lib/workspace-tabs/workspace-tab-store.js.map +1 -0
- package/dist/lib/workspace-tabs/workspace-tab-strip.component.d.ts +75 -0
- package/dist/lib/workspace-tabs/workspace-tab-strip.component.d.ts.map +1 -0
- package/dist/lib/workspace-tabs/workspace-tab-strip.component.js +252 -0
- package/dist/lib/workspace-tabs/workspace-tab-strip.component.js.map +1 -0
- package/dist/lib/workspace-tabs/workspace-tabs.types.d.ts +40 -0
- package/dist/lib/workspace-tabs/workspace-tabs.types.d.ts.map +1 -0
- package/dist/lib/workspace-tabs/workspace-tabs.types.js +13 -0
- package/dist/lib/workspace-tabs/workspace-tabs.types.js.map +1 -0
- package/dist/lib/workspace-tabs/workspace-tip.directive.d.ts +34 -0
- package/dist/lib/workspace-tabs/workspace-tip.directive.d.ts.map +1 -0
- package/dist/lib/workspace-tabs/workspace-tip.directive.js +123 -0
- package/dist/lib/workspace-tabs/workspace-tip.directive.js.map +1 -0
- package/dist/public-api.d.ts +7 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +7 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -26,7 +26,7 @@ Components attach styles one of three ways, and one of them needs host cooperati
|
|
|
26
26
|
|
|
27
27
|
1. **Inline `styles` in the component** (most components) — nothing to do.
|
|
28
28
|
2. **`styleUrls` compiled into the component** (`page-header`, `slide-panel`) — nothing to do.
|
|
29
|
-
3. **Global stylesheets shipped as assets** — the form controls and overlay chrome (`button`, `dialog`, `dropdown`, `combobox`, `input`, `datepicker`, `splitter`, `accordion`, `window`, `chip`, `switch`/`progress`) ship their `.scss` to `dist` and expect the **host application** to import them globally.
|
|
29
|
+
3. **Global stylesheets shipped as assets** — the form controls and overlay chrome (`button`, `dialog`, `dropdown`, `combobox`, `input`, `datepicker`, `splitter`, `accordion`, `window`, `chip`, `switch`/`progress`, `tabs`) ship their `.scss` to `dist` and expect the **host application** to import them globally.
|
|
30
30
|
|
|
31
31
|
**If your app runs inside MJ Explorer (`explorer-app`), category 3 is already handled** — the shell imports all of them. A standalone host must add these to its global stylesheet:
|
|
32
32
|
|
|
@@ -42,8 +42,11 @@ Components attach styles one of three ways, and one of them needs host cooperati
|
|
|
42
42
|
@import '@memberjunction/ng-ui-components/dist/lib/splitter/splitter';
|
|
43
43
|
@import '@memberjunction/ng-ui-components/dist/lib/accordion/accordion';
|
|
44
44
|
@import '@memberjunction/ng-ui-components/dist/lib/window/window';
|
|
45
|
+
@import '@memberjunction/ng-ui-components/dist/lib/tabs/tabs';
|
|
45
46
|
```
|
|
46
47
|
|
|
48
|
+
`tabs` is the shared `.mj-tabs*` chrome consumed by BOTH `mj-workspace-tab-strip` (this package) and `mj-tabstrip` (`@memberjunction/ng-tabstrip`) — without it either strip renders as unstyled divs, so a standalone host using tab strips must include it.
|
|
49
|
+
|
|
47
50
|
All colors resolve through `--mj-*` semantic tokens, so light/dark theming requires zero component-level work.
|
|
48
51
|
|
|
49
52
|
## Forms integration
|
|
@@ -159,11 +162,48 @@ Inputs: `Padding` (default true; false removes the gutter), `Flex` (default fals
|
|
|
159
162
|
The same pair for **sub-pages inside a left-nav shell** — card-like chrome, responsive padding. Header-interior adds `Role`/`AriaLabel` inputs and the same three slots.
|
|
160
163
|
|
|
161
164
|
### `mj-left-nav` / `mj-left-nav-content` — MJLeftNavComponent
|
|
162
|
-
Canonical left rail: sections, flat + tree items (badges, descriptions, disabled), off-canvas drawer at ≤700px. Inputs: `Sections: MJLeftNavSection[]`, `ActiveId`, `ExpandedIds`, `Width` (240), `MobileTitle
|
|
165
|
+
Canonical left rail: sections, flat + tree items (badges, descriptions, disabled), off-canvas drawer at ≤700px. Inputs: `Sections: MJLeftNavSection[]`, `ActiveId`, `ExpandedIds`, `Width` (240), `MobileTitle`, `IconOnly` (per-item tooltips + accessible names for an externally-narrowed rail). Outputs: `ItemClicked`, `ItemToggled`. Slots: `[header]`, `[footer]`. Pair with `mj-left-nav-content`, which provides `Loading`/`Error` states and hides (not destroys) content while busy.
|
|
166
|
+
|
|
167
|
+
**Desktop collapse (opt-in):** set `[Collapsible]="true"` and bind `[(Collapsed)]` — the rail renders a locked-position double-angle toggle chip and, when collapsed, becomes a `CollapsedWidth` (60px) icons-only strip: labels visually hidden but kept in the a11y tree, section labels folded to divider lines, badges docked on the icon corner, item tooltips auto-enabled. The component owns presentation only — the consumer owns + persists the state (same split as `ExpandedIds`). Desktop-only; the ≤700px drawer is unaffected. There is deliberately no hover-to-peek.
|
|
168
|
+
|
|
169
|
+
```html
|
|
170
|
+
<mj-left-nav [Sections]="sections" [ActiveId]="activeId" [Collapsible]="true"
|
|
171
|
+
[(Collapsed)]="railCollapsed" (CollapsedChange)="persist($event)" />
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Collapsing a rail whose content is richer than a flat icon list:
|
|
175
|
+
|
|
176
|
+
| Content | Collapsed behavior |
|
|
177
|
+
|---|---|
|
|
178
|
+
| **Tree sections** (`item.children`) | Fold to top-level items only — no chevrons, no indentation, children hidden. A top-level item paints active (`aria-current="true"`) when the active item is one of its descendants, so the rail still shows where you are. `ExpandedIds` is untouched, so the tree returns exactly as the user left it on expand. |
|
|
179
|
+
| **Items with no `icon`** | Render an uppercase monogram from the label, so an item never collapses to a blank-but-clickable button. |
|
|
180
|
+
| **`[header]` / `[footer]` slots** | **Yours to handle.** The rail can't restyle projected content, so a wide header overflows a 60px strip — bind the same collapsed flag in your consumer and project a compact variant. |
|
|
163
181
|
|
|
164
182
|
### `mj-tab-nav` — MJTabNavComponent
|
|
165
183
|
Data-driven tab strip. `Tabs: TabConfig[]` (`key`, `label`, `icon?`, `badge?`, `badgeVariant?: 'default'|'error'|'warning'|'success'`), `ActiveKey`, `(TabChange)` emits the key.
|
|
166
184
|
|
|
185
|
+
### `mjTabList` — MJTabListDirective
|
|
186
|
+
The ARIA tabs keyboard contract, shared by every MJ tab strip. Apply to the element holding the tabs; mark each tab `role="tab"` and keep `aria-selected` truthful. Owns `role="tablist"`, the roving `tabindex` (one stop per strip), Arrow/Home/End navigation with focus-follows-selection, Enter/Space activation, and Delete/Backspace close. Emits `(TabActivateRequested)` / `(TabCloseRequested)` with the tab's index in the full list plus the element, so index-addressed and id-addressed hosts both map it onto their own model. Skips `display:none` tabs; leaves keys alone inside editable content.
|
|
187
|
+
|
|
188
|
+
### `mj-workspace-card` / `mj-workspace-tab-strip` — MJWorkspaceCardComponent, MJWorkspaceTabStripComponent
|
|
189
|
+
The **workspace** pattern: a screen where the user builds several drafts in parallel, each in a browser-style tab (open, switch, drag-reorder via CDK, close, dirty-dot, rejected/complete states). `MJWorkspaceTabStore<TState>` is the pure state machine (open-activates-existing, neighbour activation on close, reorder, lifecycle + dirty tracking — exhaustively unit-tested); `mj-workspace-tab-strip` is dumb presentation over it (renders tabs, emits intent); `mj-workspace-card` is the slotted frame — card surface, tab-strip row, `[workspaceHeader]` identity band, a single scrolling body (default slot), and an opt-in standardized footer (`ShowFooter`: primary confirm + save-as-draft + discard, only the labels vary; `[workspaceFooterNote]` caption slot). Tabs carry an opaque `State` the host owns — no app types in the framework. v1 is session-scoped (no DB persistence).
|
|
190
|
+
|
|
191
|
+
The card is a **query container** (`container-type: size`): size content inside it with `cqh`/`cqw`, never `vh`/`vw` (viewport units break the moment the card sits in a split or a smaller pane).
|
|
192
|
+
|
|
193
|
+
```html
|
|
194
|
+
<mj-workspace-card [Tabs]="store.Tabs" [ActiveId]="store.ActiveId" NewTabLabel="New entry"
|
|
195
|
+
[ShowFooter]="true" ConfirmLabel="Create entry"
|
|
196
|
+
(TabSelected)="store.Activate($event)" (TabClosed)="onClose($event)"
|
|
197
|
+
(NewTabRequested)="openBlank()" (TabReordered)="store.Reorder($event.previousIndex, $event.currentIndex)"
|
|
198
|
+
(Confirm)="create()" (SaveDraft)="keep()" (Discard)="discard()">
|
|
199
|
+
<div workspaceHeader><!-- per-workshop identity badges --></div>
|
|
200
|
+
<!-- the workshop's form/body -->
|
|
201
|
+
</mj-workspace-card>
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### `mjTip` — MJWorkspaceTipDirective
|
|
205
|
+
Delayed (~450ms still-pointer), non-interactive, token-themed hover tooltip that by default shows only when the host is truncated (`scrollWidth > clientWidth`); `mjTipAlways` forces it for hosts whose truncation can't be measured (a native `<select>`). Used by the workspace tab strip for full labels on capped tabs.
|
|
206
|
+
|
|
167
207
|
### `mj-page-search` — MJPageSearchComponent
|
|
168
208
|
Compact toolbar search input. `Placeholder`, `Value`, `Icon`; `(ValueChange)` on input.
|
|
169
209
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
1
|
+
import { EventEmitter, OnDestroy } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
/**
|
|
4
4
|
* A single item in an `<mj-left-nav>`.
|
|
@@ -86,7 +86,12 @@ export interface MJLeftNavSection {
|
|
|
86
86
|
* a `@media` override) so the in-flow section switcher stacks above the content
|
|
87
87
|
* pane rather than competing with it for horizontal space.
|
|
88
88
|
*/
|
|
89
|
-
export declare class MJLeftNavComponent {
|
|
89
|
+
export declare class MJLeftNavComponent implements OnDestroy {
|
|
90
|
+
/**
|
|
91
|
+
* DOM id of the `<aside>`, so the collapse toggle's `aria-expanded` can name the region it
|
|
92
|
+
* expands via `aria-controls`. Per-instance because a page may host more than one rail.
|
|
93
|
+
*/
|
|
94
|
+
readonly NavRegionId: string;
|
|
90
95
|
/**
|
|
91
96
|
* The sections + items that make up the rail. Sections render top-to-bottom
|
|
92
97
|
* in array order; items inside each section render in array order.
|
|
@@ -103,6 +108,140 @@ export declare class MJLeftNavComponent {
|
|
|
103
108
|
* the rail becomes a fixed-width off-canvas drawer.
|
|
104
109
|
*/
|
|
105
110
|
Width: number;
|
|
111
|
+
/**
|
|
112
|
+
* Set by a consumer that has visually collapsed the rail to an icons-only strip (via `Width` plus
|
|
113
|
+
* its own CSS hiding the labels). When true, each item gains a native `title` tooltip AND an
|
|
114
|
+
* `aria-label` carrying its full text.
|
|
115
|
+
*
|
|
116
|
+
* Why it is opt-in rather than always-on:
|
|
117
|
+
* - **Tooltip**: with labels visible, a tooltip that just repeats the label is redundant noise on
|
|
118
|
+
* every hover. Icon-only rails everywhere (VS Code's activity bar, Slack, Linear, Jira, Figma)
|
|
119
|
+
* show one; expanded rails do not.
|
|
120
|
+
* - **aria-label**: when the label IS visible it already names the button, and adding an identical
|
|
121
|
+
* aria-label is at best a no-op. When the consumer's CSS hides `.mj-left-nav__text`, the button's
|
|
122
|
+
* accessible name goes EMPTY — a screen reader announces "button" with no destination. That is
|
|
123
|
+
* the hole this closes.
|
|
124
|
+
*
|
|
125
|
+
* Leaving it false reproduces the previous markup exactly, so existing consumers are unaffected.
|
|
126
|
+
*/
|
|
127
|
+
IconOnly: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Opt-in desktop collapse: renders a compact double-angle toggle chip at the top of the rail and,
|
|
130
|
+
* when {@link Collapsed}, presents the rail as an icons-only strip ({@link CollapsedWidth} wide) —
|
|
131
|
+
* labels visually hidden but kept in the a11y tree, section labels folded to divider lines,
|
|
132
|
+
* badges docked on the icon corner, and per-item tooltips/aria auto-enabled.
|
|
133
|
+
*
|
|
134
|
+
* The component owns the PRESENTATION only — the consumer owns the STATE (bind `[(Collapsed)]`
|
|
135
|
+
* and persist it however the app persists preferences), the same split as `ExpandedIds`.
|
|
136
|
+
* Desktop-only: ≤700px the rail is the off-canvas drawer and the toggle hides.
|
|
137
|
+
*
|
|
138
|
+
* Two things to know when the rail's content is richer than a flat icon list:
|
|
139
|
+
* - **Tree sections fold to their top level while collapsed** (see {@link ShowTreeStructure});
|
|
140
|
+
* a top-level item stands in as active for an active descendant, and the tree returns intact
|
|
141
|
+
* on expand. Items with no `icon` render a monogram so they stay visible and hittable.
|
|
142
|
+
* - **The `[header]` / `[footer]` slots are yours.** The rail can't restyle projected content,
|
|
143
|
+
* so a wide header (logo lockup + wordmark, a filter box) will overflow a `CollapsedWidth`
|
|
144
|
+
* strip. Bind the same collapsed flag in the consumer and project a compact variant.
|
|
145
|
+
*
|
|
146
|
+
* Deliberately NOT included: hover-to-peek (auto-expand on pointer hover) — removed by ruling
|
|
147
|
+
* (2026-07-30): a rail that expands when the pointer grazes it moves the target the user was
|
|
148
|
+
* aiming at. Deliberate toggling beats clever hovering.
|
|
149
|
+
*/
|
|
150
|
+
Collapsible: boolean;
|
|
151
|
+
/** Whether the rail is currently collapsed to icons. Two-way bindable via `[(Collapsed)]`. */
|
|
152
|
+
Collapsed: boolean;
|
|
153
|
+
/** Emitted when the user clicks the collapse toggle. Consumer updates + persists the state. */
|
|
154
|
+
CollapsedChange: EventEmitter<boolean>;
|
|
155
|
+
/**
|
|
156
|
+
* Width of the collapsed icons-only strip. The default 60 is derived from the rail's own
|
|
157
|
+
* numbers — 8+8 container padding, 12+12 item padding, 18px icon, 1px border — so icons stay
|
|
158
|
+
* centred; retune it if those change.
|
|
159
|
+
*/
|
|
160
|
+
CollapsedWidth: number;
|
|
161
|
+
/**
|
|
162
|
+
* True below the 701px breakpoint, where the rail stops being a rail and becomes the off-canvas
|
|
163
|
+
* drawer. Tracked in TS — not just CSS — because collapse is more than styling: it also decides
|
|
164
|
+
* whether tree sections fold and whether items are named by tooltip. The collapsed STYLES are
|
|
165
|
+
* gated to ≥701px, so without this the drawer would keep the collapsed BEHAVIOR while showing
|
|
166
|
+
* full labels: a flattened tree, and a monogram beside the very label it stands in for.
|
|
167
|
+
*
|
|
168
|
+
* Mirrors the matchMedia pattern in `mj-filter-popover` (same package).
|
|
169
|
+
*/
|
|
170
|
+
private isMobileViewport;
|
|
171
|
+
private readonly zone;
|
|
172
|
+
private readonly cdr;
|
|
173
|
+
private readonly mediaQuery;
|
|
174
|
+
private readonly onMediaChange;
|
|
175
|
+
constructor();
|
|
176
|
+
ngOnDestroy(): void;
|
|
177
|
+
/**
|
|
178
|
+
* Whether the rail is collapsed *and* in a viewport where collapse means anything. Below 701px
|
|
179
|
+
* the rail is the off-canvas drawer — already dismissable, already showing full labels — so a
|
|
180
|
+
* persisted `Collapsed = true` must not follow the user down there.
|
|
181
|
+
*/
|
|
182
|
+
get IsNativelyCollapsed(): boolean;
|
|
183
|
+
/** The width the rail actually renders at, honoring the collapse state. */
|
|
184
|
+
get EffectiveWidth(): number;
|
|
185
|
+
/**
|
|
186
|
+
* Icon-only presentation is on when the consumer forces it OR the rail is natively collapsed.
|
|
187
|
+
*
|
|
188
|
+
* `IconOnly` is deliberately NOT viewport-gated: that flag means the CONSUMER's own CSS has
|
|
189
|
+
* narrowed the rail, and we can't know which breakpoints they gated it to. Withdrawing the
|
|
190
|
+
* accessible names on their behalf could leave a genuinely icons-only rail unnamed — the exact
|
|
191
|
+
* hole `IconOnly` exists to close. Native collapse is ours to gate; theirs is theirs.
|
|
192
|
+
*/
|
|
193
|
+
get EffectiveIconOnly(): boolean;
|
|
194
|
+
/**
|
|
195
|
+
* Whether tree structure (chevrons, depth indentation, expanded children) renders at all.
|
|
196
|
+
*
|
|
197
|
+
* An icons-only rail is ~60px wide and shows nothing but a centred glyph per row, which leaves a
|
|
198
|
+
* tree with no way to express itself: the chevron would eat a third of the width and shove the
|
|
199
|
+
* icon off-centre, each depth level would push its icon 14px further right until the rail clipped
|
|
200
|
+
* it, and a child's icon (optional, and usually absent on tree leaves) would say nothing about
|
|
201
|
+
* which branch it belongs to. So while icons-only, each section renders its TOP-LEVEL items only —
|
|
202
|
+
* the same choice every icon rail makes (VS Code's activity bar shows one icon per container and
|
|
203
|
+
* defers the tree to the expanded pane).
|
|
204
|
+
*
|
|
205
|
+
* Nothing is lost on the way back: `ExpandedIds` is consumer-owned and untouched here, so the tree
|
|
206
|
+
* returns exactly as the user left it the moment the rail expands.
|
|
207
|
+
*/
|
|
208
|
+
get ShowTreeStructure(): boolean;
|
|
209
|
+
/**
|
|
210
|
+
* Whether an item paints as active. Normally an exact {@link ActiveId} match — but while the tree
|
|
211
|
+
* is suppressed (see {@link ShowTreeStructure}) the active item may be a child that isn't rendered,
|
|
212
|
+
* which would leave the collapsed rail with NOTHING highlighted and no sense of place. In that
|
|
213
|
+
* state a top-level item stands in for its active descendant.
|
|
214
|
+
*/
|
|
215
|
+
IsItemActive(item: MJLeftNavItem): boolean;
|
|
216
|
+
/**
|
|
217
|
+
* `'page'` for the active item itself; `'true'` for a stand-in ancestor, which is current in the
|
|
218
|
+
* set but is not the page the user is on. Distinguishing them keeps the announcement honest.
|
|
219
|
+
*/
|
|
220
|
+
AriaCurrentFor(item: MJLeftNavItem): 'page' | 'true' | null;
|
|
221
|
+
private hasActiveDescendant;
|
|
222
|
+
/**
|
|
223
|
+
* Monogram for an icon-less item in an icons-only rail. `Array.from` rather than `charAt` so a
|
|
224
|
+
* label starting with an emoji or an astral character yields that whole character instead of half
|
|
225
|
+
* a surrogate pair. Falls back to a bullet for a blank label so the button is never empty.
|
|
226
|
+
*/
|
|
227
|
+
ItemInitial(item: MJLeftNavItem): string;
|
|
228
|
+
/**
|
|
229
|
+
* Left margin that pins the toggle chip at the collapsed band's centre in BOTH modes, so the
|
|
230
|
+
* chip never relocates on toggle (the user never re-aims). Derived, not magic:
|
|
231
|
+
* (CollapsedWidth − 38px chip)/2 from the rail edge, minus the rail's 8px container padding.
|
|
232
|
+
* 38 = the 18px icon box + 2×10px chip padding.
|
|
233
|
+
*/
|
|
234
|
+
get CollapseToggleMarginPx(): number;
|
|
235
|
+
/** Reflects the collapsed state onto the host so the collapsed CSS can scope to it. */
|
|
236
|
+
get isCollapsedHost(): boolean;
|
|
237
|
+
/** Flip + announce. The consumer receives the new value and persists it. */
|
|
238
|
+
ToggleCollapsed(): void;
|
|
239
|
+
/**
|
|
240
|
+
* The text surfaced as an icon-only item's tooltip / accessible name. Folds in the description and
|
|
241
|
+
* badge because collapsing the rail hides both: the badge survives as an unlabeled corner count,
|
|
242
|
+
* so "Batch approvals (2)" is the only place a hovering user learns what the 2 counts.
|
|
243
|
+
*/
|
|
244
|
+
ItemTooltip(item: MJLeftNavItem): string;
|
|
106
245
|
/**
|
|
107
246
|
* Label shown on the mobile drawer header and used as the switcher fallback
|
|
108
247
|
* label when no item is active. Defaults to `'Menu'`. Set to something
|
|
@@ -159,6 +298,6 @@ export declare class MJLeftNavComponent {
|
|
|
159
298
|
*/
|
|
160
299
|
HasExpandableItems(items: MJLeftNavItem[]): boolean;
|
|
161
300
|
static ɵfac: i0.ɵɵFactoryDeclaration<MJLeftNavComponent, never>;
|
|
162
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MJLeftNavComponent, "mj-left-nav", never, { "Sections": { "alias": "Sections"; "required": false; }; "ActiveId": { "alias": "ActiveId"; "required": false; }; "Width": { "alias": "Width"; "required": false; }; "MobileTitle": { "alias": "MobileTitle"; "required": false; }; "ExpandedIds": { "alias": "ExpandedIds"; "required": false; }; }, { "ItemClicked": "ItemClicked"; "ItemToggled": "ItemToggled"; }, never, ["[header]", "[footer]"], true, never>;
|
|
301
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MJLeftNavComponent, "mj-left-nav", never, { "Sections": { "alias": "Sections"; "required": false; }; "ActiveId": { "alias": "ActiveId"; "required": false; }; "Width": { "alias": "Width"; "required": false; }; "IconOnly": { "alias": "IconOnly"; "required": false; }; "Collapsible": { "alias": "Collapsible"; "required": false; }; "Collapsed": { "alias": "Collapsed"; "required": false; }; "CollapsedWidth": { "alias": "CollapsedWidth"; "required": false; }; "MobileTitle": { "alias": "MobileTitle"; "required": false; }; "ExpandedIds": { "alias": "ExpandedIds"; "required": false; }; }, { "CollapsedChange": "CollapsedChange"; "ItemClicked": "ItemClicked"; "ItemToggled": "ItemToggled"; }, never, ["[header]", "[footer]"], true, never>;
|
|
163
302
|
}
|
|
164
303
|
//# sourceMappingURL=left-nav.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"left-nav.component.d.ts","sourceRoot":"","sources":["../../../src/lib/left-nav/left-nav.component.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"left-nav.component.d.ts","sourceRoot":"","sources":["../../../src/lib/left-nav/left-nav.component.ts"],"names":[],"mappings":"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"}
|