osl-base-extended 2.0.28 → 2.0.29
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,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Inject, inject, Injector, Injectable, InjectionToken, PLATFORM_ID, Input, Optional, Directive, EventEmitter, Output, HostListener, ViewChild, NgModule, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { Component, Inject, inject, Injector, Injectable, InjectionToken, PLATFORM_ID, Input, Optional, Directive, EventEmitter, Output, HostListener, ViewChild, NgModule, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/material/dialog';
|
|
4
4
|
import { MAT_DIALOG_DATA, MatDialogModule, MatDialog } from '@angular/material/dialog';
|
|
5
5
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
@@ -29,6 +29,9 @@ import { MatMenuModule } from '@angular/material/menu';
|
|
|
29
29
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
30
30
|
import * as i3$1 from '@angular/cdk/drag-drop';
|
|
31
31
|
import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
|
|
32
|
+
import { TemplatePortal, PortalModule } from '@angular/cdk/portal';
|
|
33
|
+
import * as i1$3 from '@angular/cdk/overlay';
|
|
34
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
32
35
|
|
|
33
36
|
class OslBaseExtended {
|
|
34
37
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: OslBaseExtended, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -5204,6 +5207,102 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
5204
5207
|
args: ['document:click', ['$event']]
|
|
5205
5208
|
}] } });
|
|
5206
5209
|
|
|
5210
|
+
class OslMenu {
|
|
5211
|
+
position = 'auto';
|
|
5212
|
+
templateRef;
|
|
5213
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: OslMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5214
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: OslMenu, isStandalone: false, selector: "osl-menu", inputs: { position: "position" }, host: { styleAttribute: "display: none" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["panel"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #panel>\n <div class=\"osl-menu-panel\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".osl-menu-panel{min-width:180px;background:#fff;border:1px solid #eaecf0;border-radius:12px;box-shadow:0 12px 32px #10182824,0 4px 12px #1018280f;overflow:hidden;animation:osl-menu-in .16s cubic-bezier(.16,1,.3,1)}@keyframes osl-menu-in{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.osl-menu-label{padding:10px 14px 7px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9ca3af;border-bottom:1px solid #f2f4f7;-webkit-user-select:none;user-select:none}.osl-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;border-left:3px solid transparent;border-bottom:1px solid #f9fafb;text-align:left;font-size:13px;font-weight:500;font-family:inherit;color:#374151;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,border-left-color .12s}.osl-menu-item:last-child{border-bottom:none}.osl-menu-item:hover{background:var(--osl-menu-accent-bg, #f5f3ff);color:var(--osl-menu-accent, var(--osl-primary, #6366f1));border-left-color:var(--osl-menu-accent, var(--osl-primary, #6366f1))}.osl-menu-item:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.osl-menu-divider{height:1px;background:#f2f4f7;margin:4px 0;border:none}.osl-menu-backdrop{background:transparent}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
5215
|
+
}
|
|
5216
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: OslMenu, decorators: [{
|
|
5217
|
+
type: Component,
|
|
5218
|
+
args: [{ selector: 'osl-menu', standalone: false, encapsulation: ViewEncapsulation.None, host: { style: 'display: none' }, template: "<ng-template #panel>\n <div class=\"osl-menu-panel\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".osl-menu-panel{min-width:180px;background:#fff;border:1px solid #eaecf0;border-radius:12px;box-shadow:0 12px 32px #10182824,0 4px 12px #1018280f;overflow:hidden;animation:osl-menu-in .16s cubic-bezier(.16,1,.3,1)}@keyframes osl-menu-in{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.osl-menu-label{padding:10px 14px 7px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9ca3af;border-bottom:1px solid #f2f4f7;-webkit-user-select:none;user-select:none}.osl-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;border-left:3px solid transparent;border-bottom:1px solid #f9fafb;text-align:left;font-size:13px;font-weight:500;font-family:inherit;color:#374151;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,border-left-color .12s}.osl-menu-item:last-child{border-bottom:none}.osl-menu-item:hover{background:var(--osl-menu-accent-bg, #f5f3ff);color:var(--osl-menu-accent, var(--osl-primary, #6366f1));border-left-color:var(--osl-menu-accent, var(--osl-primary, #6366f1))}.osl-menu-item:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.osl-menu-divider{height:1px;background:#f2f4f7;margin:4px 0;border:none}.osl-menu-backdrop{background:transparent}\n"] }]
|
|
5219
|
+
}], propDecorators: { position: [{
|
|
5220
|
+
type: Input
|
|
5221
|
+
}], templateRef: [{
|
|
5222
|
+
type: ViewChild,
|
|
5223
|
+
args: ['panel', { static: true }]
|
|
5224
|
+
}] } });
|
|
5225
|
+
class OslMenuTriggerFor {
|
|
5226
|
+
_el;
|
|
5227
|
+
_overlay;
|
|
5228
|
+
_vcr;
|
|
5229
|
+
menu;
|
|
5230
|
+
_ref = null;
|
|
5231
|
+
_subs = [];
|
|
5232
|
+
constructor(_el, _overlay, _vcr) {
|
|
5233
|
+
this._el = _el;
|
|
5234
|
+
this._overlay = _overlay;
|
|
5235
|
+
this._vcr = _vcr;
|
|
5236
|
+
}
|
|
5237
|
+
_onClick(event) {
|
|
5238
|
+
event.stopPropagation();
|
|
5239
|
+
this._ref ? this._close() : this._open();
|
|
5240
|
+
}
|
|
5241
|
+
_open() {
|
|
5242
|
+
if (!this.menu)
|
|
5243
|
+
return;
|
|
5244
|
+
this._ref = this._overlay.create({
|
|
5245
|
+
positionStrategy: this._overlay
|
|
5246
|
+
.position()
|
|
5247
|
+
.flexibleConnectedTo(this._el)
|
|
5248
|
+
.withPositions(this._positions())
|
|
5249
|
+
.withFlexibleDimensions(false)
|
|
5250
|
+
.withPush(true),
|
|
5251
|
+
scrollStrategy: this._overlay.scrollStrategies.close(),
|
|
5252
|
+
hasBackdrop: true,
|
|
5253
|
+
backdropClass: 'osl-menu-backdrop',
|
|
5254
|
+
});
|
|
5255
|
+
this._ref.attach(new TemplatePortal(this.menu.templateRef, this._vcr));
|
|
5256
|
+
this._subs = [
|
|
5257
|
+
this._ref.backdropClick().subscribe(() => this._close()),
|
|
5258
|
+
this._ref.keydownEvents().subscribe(e => { if (e.key === 'Escape')
|
|
5259
|
+
this._close(); }),
|
|
5260
|
+
];
|
|
5261
|
+
this._ref.overlayElement.addEventListener('click', () => this._close());
|
|
5262
|
+
}
|
|
5263
|
+
_close() {
|
|
5264
|
+
this._subs.forEach(s => s.unsubscribe());
|
|
5265
|
+
this._subs = [];
|
|
5266
|
+
const ref = this._ref;
|
|
5267
|
+
this._ref = null;
|
|
5268
|
+
ref?.dispose();
|
|
5269
|
+
}
|
|
5270
|
+
ngOnDestroy() {
|
|
5271
|
+
this._close();
|
|
5272
|
+
}
|
|
5273
|
+
_positions() {
|
|
5274
|
+
const pos = this.menu?.position ?? 'auto';
|
|
5275
|
+
const below = { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetY: 4 };
|
|
5276
|
+
const above = { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetY: -4 };
|
|
5277
|
+
const belowE = { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetY: 4 };
|
|
5278
|
+
const aboveE = { originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetY: -4 };
|
|
5279
|
+
const after = { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top', offsetX: 4 };
|
|
5280
|
+
const before = { originX: 'start', originY: 'top', overlayX: 'end', overlayY: 'top', offsetX: -4 };
|
|
5281
|
+
switch (pos) {
|
|
5282
|
+
case 'below': return [below, above];
|
|
5283
|
+
case 'above': return [above, below];
|
|
5284
|
+
case 'after': return [after, before];
|
|
5285
|
+
case 'before': return [before, after];
|
|
5286
|
+
default: return [below, belowE, above, aboveE];
|
|
5287
|
+
}
|
|
5288
|
+
}
|
|
5289
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: OslMenuTriggerFor, deps: [{ token: i0.ElementRef }, { token: i1$3.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
5290
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: OslMenuTriggerFor, isStandalone: false, selector: "[oslMenuTriggerFor]", inputs: { menu: ["oslMenuTriggerFor", "menu"] }, host: { listeners: { "click": "_onClick($event)" } }, ngImport: i0 });
|
|
5291
|
+
}
|
|
5292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: OslMenuTriggerFor, decorators: [{
|
|
5293
|
+
type: Directive,
|
|
5294
|
+
args: [{
|
|
5295
|
+
selector: '[oslMenuTriggerFor]',
|
|
5296
|
+
standalone: false,
|
|
5297
|
+
}]
|
|
5298
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$3.Overlay }, { type: i0.ViewContainerRef }], propDecorators: { menu: [{
|
|
5299
|
+
type: Input,
|
|
5300
|
+
args: ['oslMenuTriggerFor']
|
|
5301
|
+
}], _onClick: [{
|
|
5302
|
+
type: HostListener,
|
|
5303
|
+
args: ['click', ['$event']]
|
|
5304
|
+
}] } });
|
|
5305
|
+
|
|
5207
5306
|
class FormStructureModule {
|
|
5208
5307
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormStructureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5209
5308
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: FormStructureModule, declarations: [DynamicForm,
|
|
@@ -5225,7 +5324,9 @@ class FormStructureModule {
|
|
|
5225
5324
|
OslAutocompleteLister,
|
|
5226
5325
|
OslReportGrid,
|
|
5227
5326
|
OslReportForm,
|
|
5228
|
-
OslUserLog
|
|
5327
|
+
OslUserLog,
|
|
5328
|
+
OslMenu,
|
|
5329
|
+
OslMenuTriggerFor], imports: [NgTemplateOutlet,
|
|
5229
5330
|
NgStyle,
|
|
5230
5331
|
NgClass,
|
|
5231
5332
|
DatePipe,
|
|
@@ -5245,6 +5346,8 @@ class FormStructureModule {
|
|
|
5245
5346
|
ScrollingModule,
|
|
5246
5347
|
DragDropModule,
|
|
5247
5348
|
MatTooltipModule,
|
|
5349
|
+
OverlayModule,
|
|
5350
|
+
PortalModule,
|
|
5248
5351
|
NgxMatDatetimepicker,
|
|
5249
5352
|
NgxMatDatepickerInput], exports: [DynamicForm, OslSetup, OslGrid, OslFormGrid, Oslinput, OslUserLog,
|
|
5250
5353
|
Osltextarea,
|
|
@@ -5258,7 +5361,8 @@ class FormStructureModule {
|
|
|
5258
5361
|
OslCheckbox,
|
|
5259
5362
|
OslButton,
|
|
5260
5363
|
OslSetup,
|
|
5261
|
-
OslSearchbar, OslAutocompleteLister, OslReportGrid, OslReportForm
|
|
5364
|
+
OslSearchbar, OslAutocompleteLister, OslReportGrid, OslReportForm,
|
|
5365
|
+
OslMenu, OslMenuTriggerFor] });
|
|
5262
5366
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormStructureModule, providers: [
|
|
5263
5367
|
{ provide: AUTOCOMPLETE_LISTER_COMPONENT, useValue: OslAutocompleteLister },
|
|
5264
5368
|
], imports: [FormsModule,
|
|
@@ -5274,6 +5378,8 @@ class FormStructureModule {
|
|
|
5274
5378
|
ScrollingModule,
|
|
5275
5379
|
DragDropModule,
|
|
5276
5380
|
MatTooltipModule,
|
|
5381
|
+
OverlayModule,
|
|
5382
|
+
PortalModule,
|
|
5277
5383
|
NgxMatDatetimepicker] });
|
|
5278
5384
|
}
|
|
5279
5385
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormStructureModule, decorators: [{
|
|
@@ -5300,6 +5406,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
5300
5406
|
OslReportGrid,
|
|
5301
5407
|
OslReportForm,
|
|
5302
5408
|
OslUserLog,
|
|
5409
|
+
OslMenu,
|
|
5410
|
+
OslMenuTriggerFor,
|
|
5303
5411
|
],
|
|
5304
5412
|
imports: [
|
|
5305
5413
|
NgTemplateOutlet,
|
|
@@ -5322,6 +5430,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
5322
5430
|
ScrollingModule,
|
|
5323
5431
|
DragDropModule,
|
|
5324
5432
|
MatTooltipModule,
|
|
5433
|
+
OverlayModule,
|
|
5434
|
+
PortalModule,
|
|
5325
5435
|
NgxMatDatetimepicker,
|
|
5326
5436
|
NgxMatDatepickerInput,
|
|
5327
5437
|
],
|
|
@@ -5337,7 +5447,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
5337
5447
|
OslCheckbox,
|
|
5338
5448
|
OslButton,
|
|
5339
5449
|
OslSetup,
|
|
5340
|
-
OslSearchbar, OslAutocompleteLister, OslReportGrid, OslReportForm
|
|
5450
|
+
OslSearchbar, OslAutocompleteLister, OslReportGrid, OslReportForm,
|
|
5451
|
+
OslMenu, OslMenuTriggerFor],
|
|
5341
5452
|
providers: [
|
|
5342
5453
|
{ provide: AUTOCOMPLETE_LISTER_COMPONENT, useValue: OslAutocompleteLister },
|
|
5343
5454
|
],
|
|
@@ -6602,5 +6713,5 @@ var validation_util = /*#__PURE__*/Object.freeze({
|
|
|
6602
6713
|
* Generated bundle index. Do not edit.
|
|
6603
6714
|
*/
|
|
6604
6715
|
|
|
6605
|
-
export { array_util as ArrayUtil, date_util as DateUtil, DeleteConfirmation, DeleteConfirmationData, Dialog, DialogWrapper, DynamicForm, FormStructureModule, Httpbase, number_util as NumberUtil, object_util as ObjectUtil, OslAutocomplete, OslAutocompleteLister, OslBaseExtended, OslButton, OslCheckbox, OslDatepicker, OslDatetimepicker, OslFileUpload, OslFormGrid, OslGrid, OslRadio, OslReportForm, OslReportGrid, OslSearchbar, OslSelect, OslSetup, OslSkeletonDirective, OslSkeletonModule, OslSkeletonThemeService, OslSlideToggle, OslUserLog, Oslinput, Osltextarea, storage_util as StorageUtil, string_util as StringUtil, validation_util as ValidationUtil, baseComponent };
|
|
6716
|
+
export { array_util as ArrayUtil, date_util as DateUtil, DeleteConfirmation, DeleteConfirmationData, Dialog, DialogWrapper, DynamicForm, FormStructureModule, Httpbase, number_util as NumberUtil, object_util as ObjectUtil, OslAutocomplete, OslAutocompleteLister, OslBaseExtended, OslButton, OslCheckbox, OslDatepicker, OslDatetimepicker, OslFileUpload, OslFormGrid, OslGrid, OslMenu, OslMenuTriggerFor, OslRadio, OslReportForm, OslReportGrid, OslSearchbar, OslSelect, OslSetup, OslSkeletonDirective, OslSkeletonModule, OslSkeletonThemeService, OslSlideToggle, OslUserLog, Oslinput, Osltextarea, storage_util as StorageUtil, string_util as StringUtil, validation_util as ValidationUtil, baseComponent };
|
|
6606
6717
|
//# sourceMappingURL=osl-base-extended.mjs.map
|