@ngutil/layout 0.0.101 → 0.0.104
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/fesm2022/ngutil-layout.mjs +77 -75
- package/fesm2022/ngutil-layout.mjs.map +1 -1
- package/index.d.ts +279 -4
- package/package.json +6 -6
- package/docking/docking-backdrop.component.d.ts +0 -6
- package/docking/docking-content.component.d.ts +0 -5
- package/docking/docking-layout.component.d.ts +0 -18
- package/docking/docking-panel.component.d.ts +0 -27
- package/docking/index.d.ts +0 -13
- package/l9/index.d.ts +0 -2
- package/l9/range.d.ts +0 -40
- package/l9/state.d.ts +0 -12
- package/services/slots.service.d.ts +0 -69
- package/sliding/index.d.ts +0 -4
- package/sliding/infinite-slide.directive.d.ts +0 -7
- package/sliding/infinite-sliding.component.d.ts +0 -48
- package/sliding/slide.directive.d.ts +0 -28
- package/sliding/sliding.component.d.ts +0 -29
|
@@ -161,46 +161,46 @@ class L9State {
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
class DockingContentComponent {
|
|
164
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
165
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
164
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: DockingContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
165
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.13", type: DockingContentComponent, isStandalone: true, selector: "nu-docking-content", exportAs: ["nuDockingContent"], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;align-items:stretch;justify-items:stretch;overflow:hidden;position:relative;z-index:10}\n"] }); }
|
|
166
166
|
}
|
|
167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: DockingContentComponent, decorators: [{
|
|
168
168
|
type: Component,
|
|
169
169
|
args: [{ selector: "nu-docking-content", exportAs: "nuDockingContent", template: `<ng-content></ng-content>`, styles: [":host{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;align-items:stretch;justify-items:stretch;overflow:hidden;position:relative;z-index:10}\n"] }]
|
|
170
170
|
}] });
|
|
171
171
|
|
|
172
172
|
class DockingBackdropComponent {
|
|
173
173
|
constructor() {
|
|
174
|
-
this.visible = input.required();
|
|
174
|
+
this.visible = input.required(...(ngDevMode ? [{ debugName: "visible" }] : []));
|
|
175
175
|
}
|
|
176
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
177
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
176
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: DockingBackdropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
177
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.13", type: DockingBackdropComponent, isStandalone: true, selector: "nu-docking-backdrop", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.state": "visible() ? 'visible' : 'hidden'" } }, ngImport: i0, template: ``, isInline: true, styles: [":host{display:flex;flex-direction:column;align-items:stretch;position:absolute;inset:0;transition:opacity .2s cubic-bezier(0,0,.2,1);z-index:200;background-color:#000}:host[state=hidden]{animation:.2s cubic-bezier(0,0,.2,1) hide;animation-fill-mode:forwards;pointer-events:none;touch-action:none;opacity:0}:host[state=visible]{visibility:visible;opacity:.7}@keyframes hide{99%{visibility:visible}to{visibility:hidden}}\n"] }); }
|
|
178
178
|
}
|
|
179
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: DockingBackdropComponent, decorators: [{
|
|
180
180
|
type: Component,
|
|
181
181
|
args: [{ selector: "nu-docking-backdrop", host: {
|
|
182
182
|
"[attr.state]": "visible() ? 'visible' : 'hidden'"
|
|
183
183
|
}, template: ``, styles: [":host{display:flex;flex-direction:column;align-items:stretch;position:absolute;inset:0;transition:opacity .2s cubic-bezier(0,0,.2,1);z-index:200;background-color:#000}:host[state=hidden]{animation:.2s cubic-bezier(0,0,.2,1) hide;animation-fill-mode:forwards;pointer-events:none;touch-action:none;opacity:0}:host[state=visible]{visibility:visible;opacity:.7}@keyframes hide{99%{visibility:visible}to{visibility:hidden}}\n"] }]
|
|
184
|
-
}] });
|
|
184
|
+
}], propDecorators: { visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: true }] }] } });
|
|
185
185
|
|
|
186
186
|
const DEFAULT_POSITION = L9Range.coerce("left");
|
|
187
187
|
class DockingPanelComponent {
|
|
188
188
|
constructor() {
|
|
189
189
|
this.#dimWatcher = inject(DimensionWatcher);
|
|
190
190
|
this.el = inject(ElementRef);
|
|
191
|
-
this.position = input(DEFAULT_POSITION, { transform: L9Range.coerce });
|
|
191
|
+
this.position = input(DEFAULT_POSITION, ...(ngDevMode ? [{ debugName: "position", transform: L9Range.coerce }] : [{ transform: L9Range.coerce }]));
|
|
192
192
|
// TODO: linkedSignal
|
|
193
|
-
this.opened = model(false);
|
|
194
|
-
this._opened = computed(() => coerceBoolAttr(this.opened()));
|
|
195
|
-
this.mode = input("rigid");
|
|
196
|
-
this.maxSize = input(undefined);
|
|
197
|
-
this.backdrop = input(false);
|
|
198
|
-
this.gridArea = computed(() => this.position().intoGridArea());
|
|
199
|
-
this.orient = computed(() => this.position().orient);
|
|
193
|
+
this.opened = model(false, ...(ngDevMode ? [{ debugName: "opened" }] : []));
|
|
194
|
+
this._opened = computed(() => coerceBoolAttr(this.opened()), ...(ngDevMode ? [{ debugName: "_opened" }] : []));
|
|
195
|
+
this.mode = input("rigid", ...(ngDevMode ? [{ debugName: "mode" }] : []));
|
|
196
|
+
this.maxSize = input(undefined, ...(ngDevMode ? [{ debugName: "maxSize" }] : []));
|
|
197
|
+
this.backdrop = input(false, ...(ngDevMode ? [{ debugName: "backdrop" }] : []));
|
|
198
|
+
this.gridArea = computed(() => this.position().intoGridArea(), ...(ngDevMode ? [{ debugName: "gridArea" }] : []));
|
|
199
|
+
this.orient = computed(() => this.position().orient, ...(ngDevMode ? [{ debugName: "orient" }] : []));
|
|
200
200
|
this.side = computed(() => {
|
|
201
201
|
const pos = this.position();
|
|
202
202
|
return pos.orient === "horizontal" ? pos.cells[0].v : pos.cells[0].h;
|
|
203
|
-
});
|
|
203
|
+
}, ...(ngDevMode ? [{ debugName: "side" }] : []));
|
|
204
204
|
this.content = viewChild.required("content", { read: ElementRef });
|
|
205
205
|
this.dimension$ = toObservable(this.content).pipe(switchMap(content => this.#dimWatcher.watch(content, "border-box")), takeUntilDestroyed());
|
|
206
206
|
this.dimension = toSignal(this.dimension$);
|
|
@@ -210,7 +210,7 @@ class DockingPanelComponent {
|
|
|
210
210
|
return 0;
|
|
211
211
|
}
|
|
212
212
|
return this.orient() === "horizontal" ? dim.height : dim.width;
|
|
213
|
-
});
|
|
213
|
+
}, ...(ngDevMode ? [{ debugName: "contentSize" }] : []));
|
|
214
214
|
}
|
|
215
215
|
#dimWatcher;
|
|
216
216
|
// readonly backdropSize = computed(() => {
|
|
@@ -231,10 +231,10 @@ class DockingPanelComponent {
|
|
|
231
231
|
close() {
|
|
232
232
|
this.opened.set(false);
|
|
233
233
|
}
|
|
234
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
235
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
234
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: DockingPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
235
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.13", type: DockingPanelComponent, isStandalone: true, selector: "nu-docking-panel", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, opened: { classPropertyName: "opened", publicName: "opened", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, maxSize: { classPropertyName: "maxSize", publicName: "maxSize", isSignal: true, isRequired: false, transformFunction: null }, backdrop: { classPropertyName: "backdrop", publicName: "backdrop", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "openedChange" }, host: { properties: { "style.grid-area": "gridArea()", "style.--nudp-content-size.px": "contentSize()", "attr.state": "_opened() ? 'opened' : 'closed'", "attr.orient": "orient()", "attr.side": "side()", "attr.mode": "mode()" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ElementRef, isSignal: true }], exportAs: ["nuDockingPanel"], ngImport: i0, template: `<div class="wrapper" #content><ng-content /></div>`, isInline: true, styles: [":host{--nudp-tx: 0;--nudp-ty: 0;--nudp-t: auto;--nudp-r: auto;--nudp-b: auto;--nudp-l: auto;display:block;position:relative;z-index:100}:host .wrapper{all:inherit;display:grid;grid-template-columns:auto;grid-template-rows:auto;align-items:stretch;justify-items:stretch;position:absolute;top:var(--nudp-t);right:var(--nudp-r);bottom:var(--nudp-b);left:var(--nudp-l);width:auto;height:auto;transition:transform .2s cubic-bezier(0,0,.2,1);transform:translate(var(--nudp-tx),var(--nudp-ty))}:host[mode=rigid]{overflow:clip}:host[mode=rigid][orient=horizontal]{transition:height .2s cubic-bezier(0,0,.2,1);height:var(--nudp-content-size)}:host[mode=rigid][orient=horizontal][state=closed]{height:0px}:host[mode=rigid][orient=vertical]{transition:width .2s cubic-bezier(0,0,.2,1);width:var(--nudp-content-size)}:host[mode=rigid][orient=vertical][state=closed]{width:0}:host[mode=over]{z-index:300}:host[orient=horizontal]{--nudp-l: 0px;--nudp-r: 0px}:host[orient=horizontal][side=top]{--nudp-t: 0px}:host[orient=horizontal][side=top][state=closed]{--nudp-ty: -100%}:host[orient=horizontal][side=bottom]{--nudp-b: 0px}:host[orient=horizontal][side=bottom][state=closed]{--nudp-ty: 100%}:host[orient=horizontal]:not([mode=rigid]){height:0px}:host[orient=vertical]{--nudp-t: 0px;--nudp-b: 0px}:host[orient=vertical][side=left]{--nudp-l: 0px}:host[orient=vertical][side=left][state=closed]{--nudp-tx: -100%}:host[orient=vertical][side=right]{--nudp-r: 0px}:host[orient=vertical][side=right][state=closed]{--nudp-tx: 100%}:host[orient=vertical]:not([mode=rigid]){width:0px}\n"] }); }
|
|
236
236
|
}
|
|
237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: DockingPanelComponent, decorators: [{
|
|
238
238
|
type: Component,
|
|
239
239
|
args: [{ selector: "nu-docking-panel", exportAs: "nuDockingPanel", host: {
|
|
240
240
|
"[style.grid-area]": "gridArea()",
|
|
@@ -244,7 +244,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
244
244
|
"[attr.side]": "side()",
|
|
245
245
|
"[attr.mode]": "mode()"
|
|
246
246
|
}, template: `<div class="wrapper" #content><ng-content /></div>`, styles: [":host{--nudp-tx: 0;--nudp-ty: 0;--nudp-t: auto;--nudp-r: auto;--nudp-b: auto;--nudp-l: auto;display:block;position:relative;z-index:100}:host .wrapper{all:inherit;display:grid;grid-template-columns:auto;grid-template-rows:auto;align-items:stretch;justify-items:stretch;position:absolute;top:var(--nudp-t);right:var(--nudp-r);bottom:var(--nudp-b);left:var(--nudp-l);width:auto;height:auto;transition:transform .2s cubic-bezier(0,0,.2,1);transform:translate(var(--nudp-tx),var(--nudp-ty))}:host[mode=rigid]{overflow:clip}:host[mode=rigid][orient=horizontal]{transition:height .2s cubic-bezier(0,0,.2,1);height:var(--nudp-content-size)}:host[mode=rigid][orient=horizontal][state=closed]{height:0px}:host[mode=rigid][orient=vertical]{transition:width .2s cubic-bezier(0,0,.2,1);width:var(--nudp-content-size)}:host[mode=rigid][orient=vertical][state=closed]{width:0}:host[mode=over]{z-index:300}:host[orient=horizontal]{--nudp-l: 0px;--nudp-r: 0px}:host[orient=horizontal][side=top]{--nudp-t: 0px}:host[orient=horizontal][side=top][state=closed]{--nudp-ty: -100%}:host[orient=horizontal][side=bottom]{--nudp-b: 0px}:host[orient=horizontal][side=bottom][state=closed]{--nudp-ty: 100%}:host[orient=horizontal]:not([mode=rigid]){height:0px}:host[orient=vertical]{--nudp-t: 0px;--nudp-b: 0px}:host[orient=vertical][side=left]{--nudp-l: 0px}:host[orient=vertical][side=left][state=closed]{--nudp-tx: -100%}:host[orient=vertical][side=right]{--nudp-r: 0px}:host[orient=vertical][side=right][state=closed]{--nudp-tx: 100%}:host[orient=vertical]:not([mode=rigid]){width:0px}\n"] }]
|
|
247
|
-
}] });
|
|
247
|
+
}], propDecorators: { position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], opened: [{ type: i0.Input, args: [{ isSignal: true, alias: "opened", required: false }] }, { type: i0.Output, args: ["openedChange"] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], maxSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxSize", required: false }] }], backdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdrop", required: false }] }], content: [{ type: i0.ViewChild, args: ["content", { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
248
248
|
|
|
249
249
|
class DockingLayoutComponent {
|
|
250
250
|
constructor() {
|
|
@@ -252,15 +252,15 @@ class DockingLayoutComponent {
|
|
|
252
252
|
* True if u want to animate panel open/close with `mode="side"`
|
|
253
253
|
*/
|
|
254
254
|
// readonly animateSide = input(false)
|
|
255
|
-
this.panels = contentChildren(DockingPanelComponent);
|
|
255
|
+
this.panels = contentChildren(DockingPanelComponent, ...(ngDevMode ? [{ debugName: "panels" }] : []));
|
|
256
256
|
this.activeOverPanel = computed(() => {
|
|
257
257
|
const panels = this.panels();
|
|
258
258
|
return panels.find(panel => panel.mode() === "over" && panel.opened());
|
|
259
|
-
});
|
|
259
|
+
}, ...(ngDevMode ? [{ debugName: "activeOverPanel" }] : []));
|
|
260
260
|
this.backdropVisible = computed(() => {
|
|
261
261
|
const active = this.activeOverPanel();
|
|
262
262
|
return active != null ? active.backdrop() !== false : false;
|
|
263
|
-
});
|
|
263
|
+
}, ...(ngDevMode ? [{ debugName: "backdropVisible" }] : []));
|
|
264
264
|
}
|
|
265
265
|
doCloseActiveOverPanel() {
|
|
266
266
|
const activePanel = this.activeOverPanel();
|
|
@@ -268,27 +268,27 @@ class DockingLayoutComponent {
|
|
|
268
268
|
activePanel.close();
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
272
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
271
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: DockingLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
272
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.13", type: DockingLayoutComponent, isStandalone: true, selector: "nu-docking", queries: [{ propertyName: "panels", predicate: DockingPanelComponent, isSignal: true }], exportAs: ["nuDocking"], ngImport: i0, template: `
|
|
273
273
|
<ng-content />
|
|
274
274
|
<nu-docking-backdrop [visible]="backdropVisible()" (click)="doCloseActiveOverPanel()"></nu-docking-backdrop>
|
|
275
275
|
`, isInline: true, styles: [":host{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;position:relative;align-items:stretch;justify-items:stretch;overflow:clip}\n"], dependencies: [{ kind: "component", type: DockingBackdropComponent, selector: "nu-docking-backdrop", inputs: ["visible"] }] }); }
|
|
276
276
|
}
|
|
277
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
277
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: DockingLayoutComponent, decorators: [{
|
|
278
278
|
type: Component,
|
|
279
279
|
args: [{ selector: "nu-docking", exportAs: "nuDocking", imports: [DockingBackdropComponent], template: `
|
|
280
280
|
<ng-content />
|
|
281
281
|
<nu-docking-backdrop [visible]="backdropVisible()" (click)="doCloseActiveOverPanel()"></nu-docking-backdrop>
|
|
282
282
|
`, styles: [":host{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;position:relative;align-items:stretch;justify-items:stretch;overflow:clip}\n"] }]
|
|
283
|
-
}] });
|
|
283
|
+
}], propDecorators: { panels: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => DockingPanelComponent), { isSignal: true }] }] } });
|
|
284
284
|
|
|
285
285
|
const members = [DockingLayoutComponent, DockingPanelComponent, DockingContentComponent];
|
|
286
286
|
class NuDockingLayout {
|
|
287
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
288
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
289
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
287
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NuDockingLayout, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
288
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.13", ngImport: i0, type: NuDockingLayout, imports: [DockingLayoutComponent, DockingPanelComponent, DockingContentComponent], exports: [DockingLayoutComponent, DockingPanelComponent, DockingContentComponent] }); }
|
|
289
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NuDockingLayout }); }
|
|
290
290
|
}
|
|
291
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
291
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: NuDockingLayout, decorators: [{
|
|
292
292
|
type: NgModule,
|
|
293
293
|
args: [{
|
|
294
294
|
imports: members,
|
|
@@ -397,10 +397,10 @@ class SlotsService extends Destructible {
|
|
|
397
397
|
delete this.#watchers[slot];
|
|
398
398
|
}), shareReplay(1));
|
|
399
399
|
}
|
|
400
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
401
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
400
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SlotsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
401
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SlotsService }); }
|
|
402
402
|
}
|
|
403
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
403
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SlotsService, decorators: [{
|
|
404
404
|
type: Injectable
|
|
405
405
|
}], ctorParameters: () => [] });
|
|
406
406
|
class SlotDirective {
|
|
@@ -427,10 +427,10 @@ class SlotDirective {
|
|
|
427
427
|
this.slotSvc.delTpl(this.#slotDef);
|
|
428
428
|
}
|
|
429
429
|
}
|
|
430
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
431
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
430
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
431
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.13", type: SlotDirective, isStandalone: true, ngImport: i0 }); }
|
|
432
432
|
}
|
|
433
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
433
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SlotDirective, decorators: [{
|
|
434
434
|
type: Directive
|
|
435
435
|
}] });
|
|
436
436
|
class SlotOutletDirective extends Destructible {
|
|
@@ -525,10 +525,10 @@ class SlotOutletDirective extends Destructible {
|
|
|
525
525
|
this.vcr.clear();
|
|
526
526
|
this.#views = [];
|
|
527
527
|
}
|
|
528
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
529
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
528
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SlotOutletDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
529
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.13", type: SlotOutletDirective, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
|
|
530
530
|
}
|
|
531
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
531
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SlotOutletDirective, decorators: [{
|
|
532
532
|
type: Directive
|
|
533
533
|
}], ctorParameters: () => [] });
|
|
534
534
|
|
|
@@ -537,10 +537,10 @@ class InfiniteSlideDirective {
|
|
|
537
537
|
constructor() {
|
|
538
538
|
this.tpl = inject(TemplateRef);
|
|
539
539
|
}
|
|
540
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
541
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
540
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: InfiniteSlideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
541
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.13", type: InfiniteSlideDirective, isStandalone: true, selector: "ng-template[nuInfiniteSlide]", exportAs: ["nuInfiniteSlide"], ngImport: i0 }); }
|
|
542
542
|
}
|
|
543
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
543
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: InfiniteSlideDirective, decorators: [{
|
|
544
544
|
type: Directive,
|
|
545
545
|
args: [{
|
|
546
546
|
selector: "ng-template[nuInfiniteSlide]",
|
|
@@ -551,25 +551,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
551
551
|
class SlideDirective {
|
|
552
552
|
constructor() {
|
|
553
553
|
this.tpl = inject(TemplateRef);
|
|
554
|
-
this.rendered = signal(false);
|
|
555
|
-
this.active = signal(false);
|
|
556
|
-
this.animation = signal(null);
|
|
554
|
+
this.rendered = signal(false, ...(ngDevMode ? [{ debugName: "rendered" }] : []));
|
|
555
|
+
this.active = signal(false, ...(ngDevMode ? [{ debugName: "active" }] : []));
|
|
556
|
+
this.animation = signal(null, ...(ngDevMode ? [{ debugName: "animation" }] : []));
|
|
557
557
|
this.activated = output();
|
|
558
558
|
this.state = output();
|
|
559
559
|
effect(() => {
|
|
560
560
|
this.activated.emit(this.active());
|
|
561
561
|
});
|
|
562
562
|
}
|
|
563
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
564
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
563
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SlideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
564
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.13", type: SlideDirective, isStandalone: true, selector: "ng-template[nuSlide]", outputs: { activated: "activated", state: "state" }, exportAs: ["nuSlide"], ngImport: i0 }); }
|
|
565
565
|
}
|
|
566
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
566
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SlideDirective, decorators: [{
|
|
567
567
|
type: Directive,
|
|
568
568
|
args: [{
|
|
569
569
|
selector: "ng-template[nuSlide]",
|
|
570
570
|
exportAs: "nuSlide"
|
|
571
571
|
}]
|
|
572
|
-
}], ctorParameters: () => [] });
|
|
572
|
+
}], ctorParameters: () => [], propDecorators: { activated: [{ type: i0.Output, args: ["activated"] }], state: [{ type: i0.Output, args: ["state"] }] } });
|
|
573
573
|
|
|
574
574
|
const absolute = { position: "absolute", top: "0px", left: "0px" };
|
|
575
575
|
const anim = `${Duration.Fast} ${Ease.Acceleration}`;
|
|
@@ -578,15 +578,15 @@ class SlidingComponent {
|
|
|
578
578
|
/**
|
|
579
579
|
* List of items
|
|
580
580
|
*/
|
|
581
|
-
this.items = contentChildren(SlideDirective);
|
|
581
|
+
this.items = contentChildren(SlideDirective, ...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
582
582
|
/**
|
|
583
583
|
* Lazily rendering items
|
|
584
584
|
*/
|
|
585
|
-
this.lazy = input(true);
|
|
585
|
+
this.lazy = input(true, ...(ngDevMode ? [{ debugName: "lazy" }] : []));
|
|
586
586
|
/**
|
|
587
587
|
* Index of the preferred item
|
|
588
588
|
*/
|
|
589
|
-
this.preferred = model(0);
|
|
589
|
+
this.preferred = model(0, ...(ngDevMode ? [{ debugName: "preferred" }] : []));
|
|
590
590
|
/**
|
|
591
591
|
* Index of the active item
|
|
592
592
|
*/
|
|
@@ -597,7 +597,7 @@ class SlidingComponent {
|
|
|
597
597
|
}
|
|
598
598
|
const index = this.preferred();
|
|
599
599
|
return clamp(index, 0, items.length - 1);
|
|
600
|
-
});
|
|
600
|
+
}, ...(ngDevMode ? [{ debugName: "active" }] : []));
|
|
601
601
|
/**
|
|
602
602
|
* Changes of the active item
|
|
603
603
|
*/
|
|
@@ -677,8 +677,8 @@ class SlidingComponent {
|
|
|
677
677
|
item.state.emit(isHiding ? 4 /* SlideState.Hidden */ : 2 /* SlideState.Shown */);
|
|
678
678
|
}
|
|
679
679
|
}
|
|
680
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
681
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
680
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SlidingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
681
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: SlidingComponent, isStandalone: true, selector: "nu-sliding", inputs: { lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: true, isRequired: false, transformFunction: null }, preferred: { classPropertyName: "preferred", publicName: "preferred", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { preferred: "preferredChange", changes: "changes" }, queries: [{ propertyName: "items", predicate: SlideDirective, isSignal: true }], ngImport: i0, template: `
|
|
682
682
|
@if (items(); as _items) {
|
|
683
683
|
@for (item of _items; track item; let index = $index) {
|
|
684
684
|
@if (item.rendered()) {
|
|
@@ -720,7 +720,7 @@ class SlidingComponent {
|
|
|
720
720
|
])
|
|
721
721
|
] }); }
|
|
722
722
|
}
|
|
723
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
723
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: SlidingComponent, decorators: [{
|
|
724
724
|
type: Component,
|
|
725
725
|
args: [{ selector: "nu-sliding", imports: [CommonModule], animations: [
|
|
726
726
|
trigger("animate", [
|
|
@@ -763,13 +763,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
763
763
|
}
|
|
764
764
|
}
|
|
765
765
|
`, styles: [":host{display:grid;grid-template-columns:1fr;grid-template-rows:1fr;overflow:hidden;position:relative}:host .nu-slide{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:stretch;position:relative;overflow:hidden}\n"] }]
|
|
766
|
-
}], ctorParameters: () => [] });
|
|
766
|
+
}], ctorParameters: () => [], propDecorators: { items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SlideDirective), { isSignal: true }] }], lazy: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazy", required: false }] }], preferred: [{ type: i0.Input, args: [{ isSignal: true, alias: "preferred", required: false }] }, { type: i0.Output, args: ["preferredChange"] }], changes: [{ type: i0.Output, args: ["changes"] }] } });
|
|
767
767
|
|
|
768
768
|
class Item {
|
|
769
769
|
// readonly data: WritableSignal<T>
|
|
770
770
|
constructor(data) {
|
|
771
771
|
this.data = data;
|
|
772
|
-
this.state = signal(0 /* SlideState.Pending
|
|
772
|
+
this.state = signal(0 /* SlideState.Pending */, ...(ngDevMode ? [{ debugName: "state" }] : []));
|
|
773
773
|
this.id = `${++uid}`;
|
|
774
774
|
// this.data = signal<T>(data)
|
|
775
775
|
}
|
|
@@ -802,16 +802,18 @@ let uid = 0;
|
|
|
802
802
|
class InfiniteSlidingComponent {
|
|
803
803
|
constructor() {
|
|
804
804
|
this.slide = contentChild.required(InfiniteSlideDirective);
|
|
805
|
-
this.data = model();
|
|
806
|
-
this.#items = linkedSignal({
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
this.
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
805
|
+
this.data = model(...(ngDevMode ? [undefined, { debugName: "data" }] : []));
|
|
806
|
+
this.#items = linkedSignal(...(ngDevMode ? [{ debugName: "#items", source: this.data,
|
|
807
|
+
computation: (data, prev) => insertData(prev?.value ?? [], data) }] : [{
|
|
808
|
+
source: this.data,
|
|
809
|
+
computation: (data, prev) => insertData(prev?.value ?? [], data)
|
|
810
|
+
}]));
|
|
811
|
+
this.items = computed(() => this.#items().filter(item => item.state() !== 4 /* SlideState.Hidden */), ...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
812
|
+
this.preferredIndex = linkedSignal(...(ngDevMode ? [{ debugName: "preferredIndex", source: computed(() => this.items().findIndex(item => item.state() === 0 /* SlideState.Pending */)),
|
|
813
|
+
computation: (index, prev) => (index > -1 ? index : prev?.value ?? 0) }] : [{
|
|
814
|
+
source: computed(() => this.items().findIndex(item => item.state() === 0 /* SlideState.Pending */)),
|
|
815
|
+
computation: (index, prev) => (index > -1 ? index : prev?.value ?? 0)
|
|
816
|
+
}]));
|
|
815
817
|
}
|
|
816
818
|
#items;
|
|
817
819
|
push(data) {
|
|
@@ -823,8 +825,8 @@ class InfiniteSlidingComponent {
|
|
|
823
825
|
update(data) {
|
|
824
826
|
this.data.set({ position: 0, data });
|
|
825
827
|
}
|
|
826
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
827
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
828
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: InfiniteSlidingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
829
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.13", type: InfiniteSlidingComponent, isStandalone: true, selector: "nu-infinite-sliding", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { data: "dataChange" }, queries: [{ propertyName: "slide", first: true, predicate: InfiniteSlideDirective, descendants: true, isSignal: true }], exportAs: ["nuInfiniteSliding"], ngImport: i0, template: `
|
|
828
830
|
<nu-sliding [lazy]="true" [preferred]="preferredIndex()">
|
|
829
831
|
@for (item of items(); track item.id) {
|
|
830
832
|
<ng-template nuSlide (state)="item.setState($event)">
|
|
@@ -837,7 +839,7 @@ class InfiniteSlidingComponent {
|
|
|
837
839
|
</nu-sliding>
|
|
838
840
|
`, isInline: true, dependencies: [{ kind: "component", type: SlidingComponent, selector: "nu-sliding", inputs: ["lazy", "preferred"], outputs: ["preferredChange", "changes"] }, { kind: "directive", type: SlideDirective, selector: "ng-template[nuSlide]", outputs: ["activated", "state"], exportAs: ["nuSlide"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
839
841
|
}
|
|
840
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
842
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.13", ngImport: i0, type: InfiniteSlidingComponent, decorators: [{
|
|
841
843
|
type: Component,
|
|
842
844
|
args: [{
|
|
843
845
|
selector: "nu-infinite-sliding",
|
|
@@ -857,7 +859,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
857
859
|
`,
|
|
858
860
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
859
861
|
}]
|
|
860
|
-
}] });
|
|
862
|
+
}], propDecorators: { slide: [{ type: i0.ContentChild, args: [i0.forwardRef(() => InfiniteSlideDirective), { isSignal: true }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }, { type: i0.Output, args: ["dataChange"] }] } });
|
|
861
863
|
function insertData(list, slideData) {
|
|
862
864
|
if (slideData == null) {
|
|
863
865
|
return list;
|