@ng-atomic/components 19.51.0 → 19.81.0
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/ng-atomic-components-atoms-chips-input.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
- package/fesm2022/ng-atomic-components-atoms-value-cell.mjs +2 -15
- package/fesm2022/ng-atomic-components-atoms-value-cell.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-extras-editor.mjs +0 -2
- package/fesm2022/ng-atomic-components-extras-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-app.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-breadcrumb-navbar.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-card.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-columns.mjs +2 -4
- package/fesm2022/ng-atomic-components-frames-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -7
- package/fesm2022/ng-atomic-components-frames-drawer.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-horizontal-divider.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-line-up.mjs +60 -72
- package/fesm2022/ng-atomic-components-frames-line-up.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +2 -4
- package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-scroll.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-side-nav.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames.mjs +0 -2
- package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs +0 -3
- package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs +0 -1
- package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-thread-message.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-tree-column.mjs +0 -7
- package/fesm2022/ng-atomic-components-molecules-tree-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-breadcrumb-navbar.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-definition-list.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs +1 -2
- package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +2 -3
- package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-navigator.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-stripe-input-section.mjs +2 -5
- package/fesm2022/ng-atomic-components-organisms-stripe-input-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-table.mjs +2 -17
- package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +4 -4
- package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-tree-section.mjs +0 -22
- package/fesm2022/ng-atomic-components-organisms-tree-section.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms.mjs +0 -1
- package/fesm2022/ng-atomic-components-organisms.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-_index.mjs +2 -4
- package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-columns.mjs +2 -2
- package/fesm2022/ng-atomic-components-pages-form.mjs +2 -4
- package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-services-global-iframe.mjs +2 -62
- package/fesm2022/ng-atomic-components-services-global-iframe.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-_index.mjs +3 -15
- package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-code-editor.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-columns.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-entrance.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-form-harness.mjs +0 -3
- package/fesm2022/ng-atomic-components-templates-form-harness.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-form.mjs +4 -4
- package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates.mjs +0 -3
- package/fesm2022/ng-atomic-components-templates.mjs.map +1 -1
- package/package.json +3 -3
- package/types/ng-atomic-components-frames-line-up.d.ts +7 -18
- package/types/ng-atomic-components-frames-line-up.d.ts.map +1 -1
- package/types/ng-atomic-components-frames.d.ts.map +1 -1
- package/types/ng-atomic-components-molecules-tree-column.d.ts +0 -2
- package/types/ng-atomic-components-molecules-tree-column.d.ts.map +1 -1
- package/types/ng-atomic-components-organisms-thread-messages-section.d.ts +1 -1
- package/types/ng-atomic-components-organisms-thread-messages-section.d.ts.map +1 -1
- package/types/ng-atomic-components-organisms-tree-section.d.ts +0 -2
- package/types/ng-atomic-components-organisms-tree-section.d.ts.map +1 -1
- package/types/ng-atomic-components-pages-form.d.ts +0 -2
- package/types/ng-atomic-components-pages-form.d.ts.map +1 -1
- package/types/ng-atomic-components-services-global-iframe.d.ts +0 -34
- package/types/ng-atomic-components-services-global-iframe.d.ts.map +1 -1
- package/types/ng-atomic-components-templates-form-harness.d.ts +0 -3
- package/types/ng-atomic-components-templates-form-harness.d.ts.map +1 -1
- package/types/ng-atomic-components-templates.d.ts +0 -1
- package/types/ng-atomic-components-templates.d.ts.map +1 -1
|
@@ -64,7 +64,7 @@ class DividerFrame extends NgAtomicComponent {
|
|
|
64
64
|
<ng-content select="[second]"></ng-content>
|
|
65
65
|
@if (dragging()) { <div class="cover"></div> }
|
|
66
66
|
</div>
|
|
67
|
-
`, isInline: true, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-divider-
|
|
67
|
+
`, isInline: true, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-divider-SUvk: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-divider-SUvk: var(--secondary-color);--background-color: #B0B0B0;--background-color-SCOPED-IN-divider-SUvk: var(--background-color);--on-background-color: #f0f0f0;--on-background-color-SCOPED-IN-divider-SUvk: var(--on-background-color);--surface-color: transparent;--surface-color-SCOPED-IN-divider-SUvk: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-divider-SUvk: var(--on-primary-color);--on-surface-color: #f0f0f0;--on-surface-color-SCOPED-IN-divider-SUvk: var(--on-surface-color);--first-content-height: 0px;--first-content-height-SCOPED-IN-divider-SUvk: var(--first-content-height);--min-first-content-height: 0px;--min-first-content-height-SCOPED-IN-divider-SUvk: var(--min-first-content-height);--max-first-content-height: calc(100% - 80px) ;--max-first-content-height-SCOPED-IN-divider-SUvk: var(--max-first-content-height)}:host{position:relative;display:flex;flex-direction:column;height:100%;width:100%}:host .container{position:relative;transition:height .3s ease}:host .container.first{height:min(max(var(--first-content-height-SCOPED-IN-divider-SUvk),var(--min-first-content-height-SCOPED-IN-divider-SUvk)),var(--max-first-content-height-SCOPED-IN-divider-SUvk));overflow:hidden;display:flex;flex-direction:column}:host .container.second{display:flex;flex-direction:column;height:calc(100% - min(max(var(--first-content-height-SCOPED-IN-divider-SUvk),var(--min-first-content-height-SCOPED-IN-divider-SUvk)),var(--max-first-content-height-SCOPED-IN-divider-SUvk)));overflow:hidden}:host .container .cover{position:absolute;top:0;left:0;width:100%;height:100%}:host mat-divider{z-index:1000;width:100%;cursor:row-resize;position:relative;border:0px}:host mat-divider:before{content:\"\";position:absolute;top:-8px;left:0;width:100%;height:8px;background-color:transparent;transition:.1s background-color}:host mat-divider:hover:before{background-color:var(--primary-color-SCOPED-IN-divider-SUvk)}:host.dragging .container{transition:none}\n"], dependencies: [{ kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
68
68
|
}
|
|
69
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: DividerFrame, decorators: [{
|
|
70
70
|
type: Component,
|
|
@@ -92,7 +92,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
92
92
|
<ng-content select="[second]"></ng-content>
|
|
93
93
|
@if (dragging()) { <div class="cover"></div> }
|
|
94
94
|
</div>
|
|
95
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-divider-
|
|
95
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-divider-SUvk: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-divider-SUvk: var(--secondary-color);--background-color: #B0B0B0;--background-color-SCOPED-IN-divider-SUvk: var(--background-color);--on-background-color: #f0f0f0;--on-background-color-SCOPED-IN-divider-SUvk: var(--on-background-color);--surface-color: transparent;--surface-color-SCOPED-IN-divider-SUvk: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-divider-SUvk: var(--on-primary-color);--on-surface-color: #f0f0f0;--on-surface-color-SCOPED-IN-divider-SUvk: var(--on-surface-color);--first-content-height: 0px;--first-content-height-SCOPED-IN-divider-SUvk: var(--first-content-height);--min-first-content-height: 0px;--min-first-content-height-SCOPED-IN-divider-SUvk: var(--min-first-content-height);--max-first-content-height: calc(100% - 80px) ;--max-first-content-height-SCOPED-IN-divider-SUvk: var(--max-first-content-height)}:host{position:relative;display:flex;flex-direction:column;height:100%;width:100%}:host .container{position:relative;transition:height .3s ease}:host .container.first{height:min(max(var(--first-content-height-SCOPED-IN-divider-SUvk),var(--min-first-content-height-SCOPED-IN-divider-SUvk)),var(--max-first-content-height-SCOPED-IN-divider-SUvk));overflow:hidden;display:flex;flex-direction:column}:host .container.second{display:flex;flex-direction:column;height:calc(100% - min(max(var(--first-content-height-SCOPED-IN-divider-SUvk),var(--min-first-content-height-SCOPED-IN-divider-SUvk)),var(--max-first-content-height-SCOPED-IN-divider-SUvk)));overflow:hidden}:host .container .cover{position:absolute;top:0;left:0;width:100%;height:100%}:host mat-divider{z-index:1000;width:100%;cursor:row-resize;position:relative;border:0px}:host mat-divider:before{content:\"\";position:absolute;top:-8px;left:0;width:100%;height:8px;background-color:transparent;transition:.1s background-color}:host mat-divider:hover:before{background-color:var(--primary-color-SCOPED-IN-divider-SUvk)}:host.dragging .container{transition:none}\n"] }]
|
|
96
96
|
}], propDecorators: { firstContent: [{ type: i0.ViewChild, args: ['first', { ...{ read: ElementRef }, isSignal: true }] }], divider: [{ type: i0.ViewChild, args: ['el', { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
97
97
|
|
|
98
98
|
/**
|
|
@@ -37,7 +37,6 @@ class DrawerFrame extends NgAtomicComponent {
|
|
|
37
37
|
this.isResizing = false;
|
|
38
38
|
this.startX = 0;
|
|
39
39
|
this.startWidth = 0;
|
|
40
|
-
// widthの変更を監視
|
|
41
40
|
effect(() => {
|
|
42
41
|
this.currentWidth.set(this.store.width());
|
|
43
42
|
});
|
|
@@ -48,15 +47,12 @@ class DrawerFrame extends NgAtomicComponent {
|
|
|
48
47
|
event.preventDefault();
|
|
49
48
|
this.isResizing = true;
|
|
50
49
|
this.startX = event.clientX;
|
|
51
|
-
// 現在の幅を取得
|
|
52
50
|
const drawer = this.el.nativeElement.querySelector('mat-drawer');
|
|
53
51
|
if (drawer) {
|
|
54
52
|
this.startWidth = drawer.offsetWidth;
|
|
55
53
|
}
|
|
56
|
-
// ドラッグ中のスタイル
|
|
57
54
|
this.renderer.setStyle(this.document.body, 'cursor', 'col-resize');
|
|
58
55
|
this.renderer.setStyle(this.document.body, 'user-select', 'none');
|
|
59
|
-
// ドキュメントレベルでイベントリスナーを追加
|
|
60
56
|
const mouseMoveListener = this.renderer.listen('document', 'mousemove', (e) => {
|
|
61
57
|
this.onMouseMove(e);
|
|
62
58
|
});
|
|
@@ -75,7 +71,6 @@ class DrawerFrame extends NgAtomicComponent {
|
|
|
75
71
|
}
|
|
76
72
|
onMouseUp() {
|
|
77
73
|
this.isResizing = false;
|
|
78
|
-
// スタイルをリセット
|
|
79
74
|
this.renderer.removeStyle(this.document.body, 'cursor');
|
|
80
75
|
this.renderer.removeStyle(this.document.body, 'user-select');
|
|
81
76
|
}
|
|
@@ -101,7 +96,7 @@ class DrawerFrame extends NgAtomicComponent {
|
|
|
101
96
|
<mat-drawer-content>
|
|
102
97
|
<ng-content select=[contents] />
|
|
103
98
|
</mat-drawer-content>
|
|
104
|
-
</mat-drawer-container>`, isInline: true, styles: [":host{--primary-color: #000000;--primary-color-SCOPED-IN-drawer-
|
|
99
|
+
</mat-drawer-container>`, isInline: true, styles: [":host{--primary-color: #000000;--primary-color-SCOPED-IN-drawer-lepj: var(--primary-color);--on-primary-color: #ffffff;--on-primary-color-SCOPED-IN-drawer-lepj: var(--on-primary-color);--content-width: 360px;--content-width-SCOPED-IN-drawer-lepj: var(--content-width);--height: 100%;--height-SCOPED-IN-drawer-lepj: var(--height);--background-color: #ffffff;--background-color-SCOPED-IN-drawer-lepj: var(--background-color);--on-background-color: #000000;--on-background-color-SCOPED-IN-drawer-lepj: var(--on-background-color);--surface-color: transparent;--surface-color-SCOPED-IN-drawer-lepj: var(--surface-color)}:host{display:contents;height:var(--height-SCOPED-IN-drawer-lepj)}:host mat-drawer{background-color:var(--background-color-SCOPED-IN-drawer-lepj)}:host mat-drawer.resizing{transition:width 0s}:host mat-drawer ::ng-deep .mat-drawer-inner-container{height:100%}:host mat-drawer-container{--mat-sidenav-content-background-color: transparent;width:100%;height:100%}:host mat-drawer-content{width:100%;height:100%}:host .resize-handle{position:absolute;left:0;top:0;width:8px;height:100%;background:transparent;cursor:col-resize;z-index:1000;transition:background .2s}:host .resize-handle:hover{background:var(--on-background-color-SCOPED-IN-drawer-lepj)}:host .resize-handle:active{background:var(--on-background-color-SCOPED-IN-drawer-lepj)}\n"], dependencies: [{ kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i1.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i1.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i1.MatDrawerContent, selector: "mat-drawer-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
105
100
|
}
|
|
106
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: DrawerFrame, decorators: [{
|
|
107
102
|
type: Component,
|
|
@@ -133,7 +128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
133
128
|
directive: DrawerFrameStore,
|
|
134
129
|
inputs: ['opened', 'mode', 'hasBackdrop', 'position', 'width', 'resizable'],
|
|
135
130
|
}
|
|
136
|
-
], styles: [":host{--primary-color: #000000;--primary-color-SCOPED-IN-drawer-
|
|
131
|
+
], styles: [":host{--primary-color: #000000;--primary-color-SCOPED-IN-drawer-lepj: var(--primary-color);--on-primary-color: #ffffff;--on-primary-color-SCOPED-IN-drawer-lepj: var(--on-primary-color);--content-width: 360px;--content-width-SCOPED-IN-drawer-lepj: var(--content-width);--height: 100%;--height-SCOPED-IN-drawer-lepj: var(--height);--background-color: #ffffff;--background-color-SCOPED-IN-drawer-lepj: var(--background-color);--on-background-color: #000000;--on-background-color-SCOPED-IN-drawer-lepj: var(--on-background-color);--surface-color: transparent;--surface-color-SCOPED-IN-drawer-lepj: var(--surface-color)}:host{display:contents;height:var(--height-SCOPED-IN-drawer-lepj)}:host mat-drawer{background-color:var(--background-color-SCOPED-IN-drawer-lepj)}:host mat-drawer.resizing{transition:width 0s}:host mat-drawer ::ng-deep .mat-drawer-inner-container{height:100%}:host mat-drawer-container{--mat-sidenav-content-background-color: transparent;width:100%;height:100%}:host mat-drawer-content{width:100%;height:100%}:host .resize-handle{position:absolute;left:0;top:0;width:8px;height:100%;background:transparent;cursor:col-resize;z-index:1000;transition:background .2s}:host .resize-handle:hover{background:var(--on-background-color-SCOPED-IN-drawer-lepj)}:host .resize-handle:active{background:var(--on-background-color-SCOPED-IN-drawer-lepj)}\n"] }]
|
|
137
132
|
}], ctorParameters: () => [] });
|
|
138
133
|
|
|
139
134
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-components-frames-drawer.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/drawer/drawer.frame.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/drawer/ng-atomic-components-frames-drawer.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, effect, inject, input, signal, ElementRef, Renderer2, HostListener } from '@angular/core';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { InjectableComponent, NgAtomicComponent, TokenizedType } from '@ng-atomic/core';\nimport { DOCUMENT } from '@angular/common';\n\n@TokenizedType()\n@Directive({ standalone: true, selector: 'frames-drawer' })\nexport class DrawerFrameStore extends InjectableComponent {\n readonly opened = input<boolean>(false);\n readonly mode = input<'side' | 'over' | 'push'>('side');\n readonly hasBackdrop = input<boolean>(true);\n readonly position = input<'start' | 'end'>('start');\n readonly width = input<string>('360px');\n readonly resizable = input<boolean>(false);\n}\n\n@Component({\n selector: 'frames-drawer',\n imports: [\n MatSidenavModule\n],\n template: `\n <mat-drawer-container [autosize]=\"true\" [hasBackdrop]=\"store.hasBackdrop()\">\n <mat-drawer \n #drawer \n [opened]=\"store.opened()\" \n [mode]=\"store.mode()\" \n [position]=\"store.position()\"\n [style.width]=\"currentWidth()\"\n [class.resizing]=\"isResizing\"\n >\n @if (store.resizable() && store.position() === 'end') {\n <div \n class=\"resize-handle\"\n (mousedown)=\"startResize($event)\"\n ></div>\n }\n <ng-content select=[drawer] />\n </mat-drawer>\n <mat-drawer-content>\n <ng-content select=[contents] />\n </mat-drawer-content>\n </mat-drawer-container>`,\n styleUrls: ['./drawer.frame.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: DrawerFrameStore,\n inputs: ['opened', 'mode', 'hasBackdrop', 'position', 'width', 'resizable'],\n }\n ]\n})\nexport class DrawerFrame extends NgAtomicComponent {\n readonly store = inject(DrawerFrameStore);\n private readonly renderer = inject(Renderer2);\n private readonly document = inject(DOCUMENT);\n private readonly el = inject(ElementRef);\n \n readonly currentWidth = signal<string>('360px');\n protected isResizing = false;\n private startX = 0;\n private startWidth = 0;\n\n constructor() {\n super();\n \n
|
|
1
|
+
{"version":3,"file":"ng-atomic-components-frames-drawer.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/drawer/drawer.frame.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/drawer/ng-atomic-components-frames-drawer.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, effect, inject, input, signal, ElementRef, Renderer2, HostListener } from '@angular/core';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { InjectableComponent, NgAtomicComponent, TokenizedType } from '@ng-atomic/core';\nimport { DOCUMENT } from '@angular/common';\n\n@TokenizedType()\n@Directive({ standalone: true, selector: 'frames-drawer' })\nexport class DrawerFrameStore extends InjectableComponent {\n readonly opened = input<boolean>(false);\n readonly mode = input<'side' | 'over' | 'push'>('side');\n readonly hasBackdrop = input<boolean>(true);\n readonly position = input<'start' | 'end'>('start');\n readonly width = input<string>('360px');\n readonly resizable = input<boolean>(false);\n}\n\n@Component({\n selector: 'frames-drawer',\n imports: [\n MatSidenavModule\n],\n template: `\n <mat-drawer-container [autosize]=\"true\" [hasBackdrop]=\"store.hasBackdrop()\">\n <mat-drawer \n #drawer \n [opened]=\"store.opened()\" \n [mode]=\"store.mode()\" \n [position]=\"store.position()\"\n [style.width]=\"currentWidth()\"\n [class.resizing]=\"isResizing\"\n >\n @if (store.resizable() && store.position() === 'end') {\n <div \n class=\"resize-handle\"\n (mousedown)=\"startResize($event)\"\n ></div>\n }\n <ng-content select=[drawer] />\n </mat-drawer>\n <mat-drawer-content>\n <ng-content select=[contents] />\n </mat-drawer-content>\n </mat-drawer-container>`,\n styleUrls: ['./drawer.frame.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: DrawerFrameStore,\n inputs: ['opened', 'mode', 'hasBackdrop', 'position', 'width', 'resizable'],\n }\n ]\n})\nexport class DrawerFrame extends NgAtomicComponent {\n readonly store = inject(DrawerFrameStore);\n private readonly renderer = inject(Renderer2);\n private readonly document = inject(DOCUMENT);\n private readonly el = inject(ElementRef);\n \n readonly currentWidth = signal<string>('360px');\n protected isResizing = false;\n private startX = 0;\n private startWidth = 0;\n\n constructor() {\n super();\n \n \n effect(() => {\n this.currentWidth.set(this.store.width());\n });\n }\n\n startResize(event: MouseEvent) {\n if (!this.store.resizable()) return;\n \n event.preventDefault();\n this.isResizing = true;\n this.startX = event.clientX;\n \n \n const drawer = this.el.nativeElement.querySelector('mat-drawer');\n if (drawer) {\n this.startWidth = drawer.offsetWidth;\n }\n \n \n this.renderer.setStyle(this.document.body, 'cursor', 'col-resize');\n this.renderer.setStyle(this.document.body, 'user-select', 'none');\n \n \n const mouseMoveListener = this.renderer.listen('document', 'mousemove', (e: MouseEvent) => {\n this.onMouseMove(e);\n });\n \n const mouseUpListener = this.renderer.listen('document', 'mouseup', () => {\n this.onMouseUp();\n mouseMoveListener();\n mouseUpListener();\n });\n }\n\n private onMouseMove(event: MouseEvent) {\n if (!this.isResizing) return;\n \n const deltaX = this.startX - event.clientX;\n const newWidth = Math.max(200, this.startWidth + deltaX);\n \n this.currentWidth.set(`min(${newWidth}px, calc(100% - 64px))`);\n }\n\n private onMouseUp() {\n this.isResizing = false;\n \n \n this.renderer.removeStyle(this.document.body, 'cursor');\n this.renderer.removeStyle(this.document.body, 'user-select');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ class EntranceFrame extends NgAtomicComponent {
|
|
|
43
43
|
(action)="dispatch($event)"
|
|
44
44
|
/>
|
|
45
45
|
</frames-overlay>
|
|
46
|
-
`, isInline: true, styles: [":host{display:block;--primary-color: inherit;--primary-color-SCOPED-IN-entrance-
|
|
46
|
+
`, isInline: true, styles: [":host{display:block;--primary-color: inherit;--primary-color-SCOPED-IN-entrance-wy0B: var(--primary-color);--on-primary-color: inherit;--on-primary-color-SCOPED-IN-entrance-wy0B: var(--on-primary-color);--surface-color: inherit;--surface-color-SCOPED-IN-entrance-wy0B: var(--surface-color);--on-surface-color: inherit;--on-surface-color-SCOPED-IN-entrance-wy0B: var(--on-surface-color);--background-color: inherit;--background-color-SCOPED-IN-entrance-wy0B: var(--background-color);--on-background-color: inherit;--on-background-color-SCOPED-IN-entrance-wy0B: var(--on-background-color);--menu-width: inherit;--menu-width-SCOPED-IN-entrance-wy0B: var(--menu-width);--menu-background-color: inherit;--menu-background-color-SCOPED-IN-entrance-wy0B: var(--menu-background-color);--menu-on-background-color: inherit;--menu-on-background-color-SCOPED-IN-entrance-wy0B: var(--menu-on-background-color);--background-primary-color: inherit;--background-primary-color-SCOPED-IN-entrance-wy0B: var(--background-primary-color);--background-on-primary-color: inherit;--background-on-primary-color-SCOPED-IN-entrance-wy0B: var(--background-on-primary-color);--background-background-color: inherit;--background-background-color-SCOPED-IN-entrance-wy0B: var(--background-background-color)}:host{display:block;width:100%;height:100%}:host templates-entrance{position:relative;width:100%;height:100%}:host *{--primary-color: var(--primary-color-SCOPED-IN-entrance-wy0B);--on-primary-color: var(--on-primary-color-SCOPED-IN-entrance-wy0B);--surface-color: var(--surface-color-SCOPED-IN-entrance-wy0B);--on-surface-color: var(--on-surface-color-SCOPED-IN-entrance-wy0B);--background-color: var(--background-color-SCOPED-IN-entrance-wy0B);--on-background-color: var(--on-background-color-SCOPED-IN-entrance-wy0B);--menu-background-color: var(--menu-background-color-SCOPED-IN-entrance-wy0B);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-entrance-wy0B)}\n"], dependencies: [{ kind: "component", type: OverlayFrame, selector: "frames-overlay" }, { kind: "directive", type: EntranceTemplateStore, selector: "templates-entrance", inputs: ["form", "actions", "fieldMap", "title"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
47
47
|
}
|
|
48
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: EntranceFrame, decorators: [{
|
|
49
49
|
type: Component,
|
|
@@ -69,7 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
69
69
|
directive: EntranceFrameStore,
|
|
70
70
|
inputs: ['isEntrance', 'actions', 'form', 'title'],
|
|
71
71
|
},
|
|
72
|
-
], styles: [":host{display:block;--primary-color: inherit;--primary-color-SCOPED-IN-entrance-
|
|
72
|
+
], styles: [":host{display:block;--primary-color: inherit;--primary-color-SCOPED-IN-entrance-wy0B: var(--primary-color);--on-primary-color: inherit;--on-primary-color-SCOPED-IN-entrance-wy0B: var(--on-primary-color);--surface-color: inherit;--surface-color-SCOPED-IN-entrance-wy0B: var(--surface-color);--on-surface-color: inherit;--on-surface-color-SCOPED-IN-entrance-wy0B: var(--on-surface-color);--background-color: inherit;--background-color-SCOPED-IN-entrance-wy0B: var(--background-color);--on-background-color: inherit;--on-background-color-SCOPED-IN-entrance-wy0B: var(--on-background-color);--menu-width: inherit;--menu-width-SCOPED-IN-entrance-wy0B: var(--menu-width);--menu-background-color: inherit;--menu-background-color-SCOPED-IN-entrance-wy0B: var(--menu-background-color);--menu-on-background-color: inherit;--menu-on-background-color-SCOPED-IN-entrance-wy0B: var(--menu-on-background-color);--background-primary-color: inherit;--background-primary-color-SCOPED-IN-entrance-wy0B: var(--background-primary-color);--background-on-primary-color: inherit;--background-on-primary-color-SCOPED-IN-entrance-wy0B: var(--background-on-primary-color);--background-background-color: inherit;--background-background-color-SCOPED-IN-entrance-wy0B: var(--background-background-color)}:host{display:block;width:100%;height:100%}:host templates-entrance{position:relative;width:100%;height:100%}:host *{--primary-color: var(--primary-color-SCOPED-IN-entrance-wy0B);--on-primary-color: var(--on-primary-color-SCOPED-IN-entrance-wy0B);--surface-color: var(--surface-color-SCOPED-IN-entrance-wy0B);--on-surface-color: var(--on-surface-color-SCOPED-IN-entrance-wy0B);--background-color: var(--background-color-SCOPED-IN-entrance-wy0B);--on-background-color: var(--on-background-color-SCOPED-IN-entrance-wy0B);--menu-background-color: var(--menu-background-color-SCOPED-IN-entrance-wy0B);--menu-on-background-color: var(--menu-on-background-color-SCOPED-IN-entrance-wy0B)}\n"] }]
|
|
73
73
|
}] });
|
|
74
74
|
|
|
75
75
|
/**
|
|
@@ -81,7 +81,7 @@ class FabFrame extends NgAtomicComponent {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
`, isInline: true, styles: [":host{--primary-color: #039be5;--primary-color-SCOPED-IN-fab-
|
|
84
|
+
`, isInline: true, styles: [":host{--primary-color: #039be5;--primary-color-SCOPED-IN-fab-1uEN: var(--primary-color);--container-color: var(--primary-color-SCOPED-IN-fab-1uEN);--container-color-SCOPED-IN-fab-1uEN: var(--container-color);--icon-color: #fff;--icon-color-SCOPED-IN-fab-1uEN: var(--icon-color);--fab-button-bottom: 16px;--fab-button-bottom-SCOPED-IN-fab-1uEN: var(--fab-button-bottom);--fab-button-right: 16px;--fab-button-right-SCOPED-IN-fab-1uEN: var(--fab-button-right)}:host{display:block;width:100%;height:100%;position:relative}:host button{position:absolute;z-index:2000;bottom:var(--fab-button-bottom-SCOPED-IN-fab-1uEN);right:var(--fab-button-right-SCOPED-IN-fab-1uEN);transition:all .3s ease;--mat-fab-container-color: var(--container-color);--mat-fab-icon-color: var(--icon-color);--mat-mdc-fab-color: var(--icon-color)}:host[hide=true] button{bottom:-120px}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
85
85
|
}
|
|
86
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: FabFrame, decorators: [{
|
|
87
87
|
type: Component,
|
|
@@ -121,7 +121,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
121
121
|
},
|
|
122
122
|
], host: {
|
|
123
123
|
'[attr.hide]': 'store.hide()',
|
|
124
|
-
}, styles: [":host{--primary-color: #039be5;--primary-color-SCOPED-IN-fab-
|
|
124
|
+
}, styles: [":host{--primary-color: #039be5;--primary-color-SCOPED-IN-fab-1uEN: var(--primary-color);--container-color: var(--primary-color-SCOPED-IN-fab-1uEN);--container-color-SCOPED-IN-fab-1uEN: var(--container-color);--icon-color: #fff;--icon-color-SCOPED-IN-fab-1uEN: var(--icon-color);--fab-button-bottom: 16px;--fab-button-bottom-SCOPED-IN-fab-1uEN: var(--fab-button-bottom);--fab-button-right: 16px;--fab-button-right-SCOPED-IN-fab-1uEN: var(--fab-button-right)}:host{display:block;width:100%;height:100%;position:relative}:host button{position:absolute;z-index:2000;bottom:var(--fab-button-bottom-SCOPED-IN-fab-1uEN);right:var(--fab-button-right-SCOPED-IN-fab-1uEN);transition:all .3s ease;--mat-fab-container-color: var(--container-color);--mat-fab-icon-color: var(--icon-color);--mat-mdc-fab-color: var(--icon-color)}:host[hide=true] button{bottom:-120px}\n"] }]
|
|
125
125
|
}] });
|
|
126
126
|
|
|
127
127
|
/**
|
|
@@ -64,7 +64,7 @@ class HorizontalDividerFrame extends NgAtomicComponent {
|
|
|
64
64
|
<ng-content select="[second]"></ng-content>
|
|
65
65
|
@if (dragging()) { <div class="cover"></div> }
|
|
66
66
|
</div>
|
|
67
|
-
`, isInline: true, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-divider-
|
|
67
|
+
`, isInline: true, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-divider-NDAl: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-divider-NDAl: var(--secondary-color);--background-color: #B0B0B0;--background-color-SCOPED-IN-divider-NDAl: var(--background-color);--on-background-color: #f0f0f0;--on-background-color-SCOPED-IN-divider-NDAl: var(--on-background-color);--surface-color: transparent;--surface-color-SCOPED-IN-divider-NDAl: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-divider-NDAl: var(--on-primary-color);--on-surface-color: #f0f0f0;--on-surface-color-SCOPED-IN-divider-NDAl: var(--on-surface-color);--first-content-width: calc(100% - 360px) ;--first-content-width-SCOPED-IN-divider-NDAl: var(--first-content-width);--min-first-content-width: 200px;--min-first-content-width-SCOPED-IN-divider-NDAl: var(--min-first-content-width);--max-first-content-width: 100%;--max-first-content-width-SCOPED-IN-divider-NDAl: var(--max-first-content-width)}:host{display:flex;flex-direction:row;position:relative;width:100%;height:100%}:host .container{position:relative}:host .container.first{flex:0 0 clamp(var(--min-first-content-width-SCOPED-IN-divider-NDAl),var(--first-content-width-SCOPED-IN-divider-NDAl),var(--max-first-content-width-SCOPED-IN-divider-NDAl));overflow:hidden}:host .container.second{flex:1;overflow:hidden}:host .cover{position:absolute;inset:0;z-index:1}:host mat-divider{flex:none;align-self:stretch;z-index:1000;height:100%;width:1px;cursor:col-resize;position:relative;border:none;background-color:var(--primary-color-SCOPED-IN-divider-NDAl);transition:background-color .1s}:host mat-divider:before{content:\"\";position:absolute;top:0;left:-8px;width:8px;height:100%;background-color:transparent;transition:background-color .1s}:host mat-divider:hover{background-color:var(--primary-color-SCOPED-IN-divider-NDAl)}:host mat-divider:hover:before{background-color:var(--primary-color-SCOPED-IN-divider-NDAl)}\n"], dependencies: [{ kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
68
68
|
}
|
|
69
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: HorizontalDividerFrame, decorators: [{
|
|
70
70
|
type: Component,
|
|
@@ -90,7 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
90
90
|
<ng-content select="[second]"></ng-content>
|
|
91
91
|
@if (dragging()) { <div class="cover"></div> }
|
|
92
92
|
</div>
|
|
93
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-divider-
|
|
93
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-divider-NDAl: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-divider-NDAl: var(--secondary-color);--background-color: #B0B0B0;--background-color-SCOPED-IN-divider-NDAl: var(--background-color);--on-background-color: #f0f0f0;--on-background-color-SCOPED-IN-divider-NDAl: var(--on-background-color);--surface-color: transparent;--surface-color-SCOPED-IN-divider-NDAl: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-divider-NDAl: var(--on-primary-color);--on-surface-color: #f0f0f0;--on-surface-color-SCOPED-IN-divider-NDAl: var(--on-surface-color);--first-content-width: calc(100% - 360px) ;--first-content-width-SCOPED-IN-divider-NDAl: var(--first-content-width);--min-first-content-width: 200px;--min-first-content-width-SCOPED-IN-divider-NDAl: var(--min-first-content-width);--max-first-content-width: 100%;--max-first-content-width-SCOPED-IN-divider-NDAl: var(--max-first-content-width)}:host{display:flex;flex-direction:row;position:relative;width:100%;height:100%}:host .container{position:relative}:host .container.first{flex:0 0 clamp(var(--min-first-content-width-SCOPED-IN-divider-NDAl),var(--first-content-width-SCOPED-IN-divider-NDAl),var(--max-first-content-width-SCOPED-IN-divider-NDAl));overflow:hidden}:host .container.second{flex:1;overflow:hidden}:host .cover{position:absolute;inset:0;z-index:1}:host mat-divider{flex:none;align-self:stretch;z-index:1000;height:100%;width:1px;cursor:col-resize;position:relative;border:none;background-color:var(--primary-color-SCOPED-IN-divider-NDAl);transition:background-color .1s}:host mat-divider:before{content:\"\";position:absolute;top:0;left:-8px;width:8px;height:100%;background-color:transparent;transition:background-color .1s}:host mat-divider:hover{background-color:var(--primary-color-SCOPED-IN-divider-NDAl)}:host mat-divider:hover:before{background-color:var(--primary-color-SCOPED-IN-divider-NDAl)}\n"] }]
|
|
94
94
|
}], propDecorators: { firstContent: [{ type: i0.ViewChild, args: ['first', { ...{ read: ElementRef }, isSignal: true }] }], divider: [{ type: i0.ViewChild, args: ['el', { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
95
95
|
|
|
96
96
|
/**
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Injectable, input, Directive, inject, ElementRef, PLATFORM_ID, viewChild, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
3
|
import { isPlatformBrowser } from '@angular/common';
|
|
4
|
-
import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
|
-
import { map, startWith, distinctUntilChanged as distinctUntilChanged$1, switchMap, filter } from 'rxjs/operators';
|
|
6
|
-
import { trigger, transition, query, style, animate } from '@angular/animations';
|
|
7
|
-
import { distinctUntilChanged, NEVER, Observable, of, fromEvent, combineLatest } from 'rxjs';
|
|
8
4
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
5
|
+
import { trigger, transition, query, style, animate } from '@angular/animations';
|
|
9
6
|
|
|
10
7
|
const LINE_UP_ANIMATIONS = [
|
|
11
8
|
trigger('hasNext', [
|
|
@@ -22,46 +19,53 @@ const LINE_UP_ANIMATIONS = [
|
|
|
22
19
|
|
|
23
20
|
class LineUpFrameService {
|
|
24
21
|
constructor() {
|
|
25
|
-
this.
|
|
26
|
-
this.sizeMap$ = toObservable(this.sizeMap).pipe(distinctUntilChanged(), takeUntilDestroyed());
|
|
22
|
+
this.state = new Map();
|
|
27
23
|
}
|
|
28
24
|
register(frame, scope) {
|
|
29
|
-
this.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return { ...record };
|
|
33
|
-
});
|
|
25
|
+
const s = this.scopeState(scope);
|
|
26
|
+
if (!s.frames.includes(frame))
|
|
27
|
+
s.frames.push(frame);
|
|
34
28
|
}
|
|
35
29
|
update(frame, mainWidth, scope) {
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
});
|
|
30
|
+
const s = this.scopeState(scope);
|
|
31
|
+
if (s.widths.get(frame) === mainWidth)
|
|
32
|
+
return;
|
|
33
|
+
s.widths.set(frame, mainWidth);
|
|
34
|
+
this.recompute(scope);
|
|
42
35
|
}
|
|
43
36
|
unregister(frame, scope) {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return { ...record };
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
findIndex(frame, scope) {
|
|
52
|
-
return this.sizeMap()[scope].frames.findIndex((value) => value === frame);
|
|
37
|
+
const s = this.scopeState(scope);
|
|
38
|
+
s.frames = s.frames.filter((f) => f !== frame);
|
|
39
|
+
s.widths.delete(frame);
|
|
40
|
+
this.recompute(scope);
|
|
53
41
|
}
|
|
54
42
|
isFirst(frame, scope) {
|
|
55
|
-
|
|
56
|
-
return Math.min(...Object.keys(this.getSizeMap(scope)).map(key => parseInt(key, 10))) === index;
|
|
57
|
-
}
|
|
58
|
-
getSizeMap(scope) {
|
|
59
|
-
return this.sizeMap()[scope].sizeMap ?? {};
|
|
43
|
+
return this.firstMeasured(scope) === frame;
|
|
60
44
|
}
|
|
61
45
|
getFollowingWidth(scope, frame) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
46
|
+
const s = this.scopeState(scope);
|
|
47
|
+
const index = s.frames.indexOf(frame);
|
|
48
|
+
if (index < 0)
|
|
49
|
+
return 0;
|
|
50
|
+
return s.frames
|
|
51
|
+
.slice(index)
|
|
52
|
+
.reduce((acc, f) => acc + (s.widths.get(f) ?? 0), 0);
|
|
53
|
+
}
|
|
54
|
+
recompute(scope) {
|
|
55
|
+
const first = this.firstMeasured(scope);
|
|
56
|
+
if (!first)
|
|
57
|
+
return;
|
|
58
|
+
const delta = Math.min(first.hostWidth() - this.getFollowingWidth(scope, first), 0);
|
|
59
|
+
first.applyTranslateX(delta);
|
|
60
|
+
}
|
|
61
|
+
firstMeasured(scope) {
|
|
62
|
+
const s = this.scopeState(scope);
|
|
63
|
+
return s.frames.find((f) => s.widths.has(f));
|
|
64
|
+
}
|
|
65
|
+
scopeState(scope) {
|
|
66
|
+
if (!this.state.has(scope))
|
|
67
|
+
this.state.set(scope, { frames: [], widths: new Map() });
|
|
68
|
+
return this.state.get(scope);
|
|
65
69
|
}
|
|
66
70
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: LineUpFrameService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
67
71
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: LineUpFrameService, providedIn: 'root' }); }
|
|
@@ -71,18 +75,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
71
75
|
args: [{ providedIn: 'root' }]
|
|
72
76
|
}] });
|
|
73
77
|
|
|
74
|
-
function fromResize(el) {
|
|
75
|
-
if (!el)
|
|
76
|
-
return NEVER;
|
|
77
|
-
return new Observable((observer) => {
|
|
78
|
-
const resizeObserver = new ResizeObserver(entries => {
|
|
79
|
-
entries.forEach((entry) => observer.next(entry));
|
|
80
|
-
});
|
|
81
|
-
resizeObserver.observe(el.nativeElement);
|
|
82
|
-
return () => resizeObserver.disconnect();
|
|
83
|
-
}).pipe(map((el) => el.contentRect?.width ?? 0), startWith(0), distinctUntilChanged$1());
|
|
84
|
-
}
|
|
85
|
-
|
|
86
78
|
class LineUpFrameStore {
|
|
87
79
|
constructor() {
|
|
88
80
|
this.scope = input('default', ...(ngDevMode ? [{ debugName: "scope" }] : []));
|
|
@@ -101,40 +93,36 @@ class LineUpFrame {
|
|
|
101
93
|
this.service = inject(LineUpFrameService);
|
|
102
94
|
this.el = inject(ElementRef);
|
|
103
95
|
this.platformId = inject(PLATFORM_ID);
|
|
104
|
-
this.resizeWindow$ = of(null).pipe(switchMap(() => {
|
|
105
|
-
return isPlatformBrowser(this.platformId)
|
|
106
|
-
? fromEvent(window, 'resize').pipe(startWith(null))
|
|
107
|
-
: of(null);
|
|
108
|
-
}));
|
|
109
|
-
this.elWidth$ = this.resizeWindow$.pipe(switchMap(() => fromResize(this.el).pipe(startWith(null))), map(() => this.el.nativeElement?.clientWidth ?? 0), takeUntilDestroyed());
|
|
110
96
|
this.main = viewChild('main', { ...(ngDevMode ? { debugName: "main" } : {}), read: ElementRef });
|
|
111
|
-
this.
|
|
112
|
-
this.mainWidth$ = combineLatest({
|
|
113
|
-
main: this.main$,
|
|
114
|
-
resize: this.resizeWindow$
|
|
115
|
-
}).pipe(switchMap(({ main }) => fromResize(main).pipe(startWith(null))), map(() => this.main()), map((main) => main?.nativeElement?.clientWidth ?? 0), takeUntilDestroyed());
|
|
116
|
-
this.allWidth$ = combineLatest({
|
|
117
|
-
map: this.service.sizeMap$,
|
|
118
|
-
window: this.resizeWindow$
|
|
119
|
-
}).pipe(map(() => this.service.getFollowingWidth(this.store.scope(), this)), takeUntilDestroyed());
|
|
120
|
-
this.delta$ = combineLatest({
|
|
121
|
-
el: this.elWidth$,
|
|
122
|
-
all: this.allWidth$,
|
|
123
|
-
}).pipe(filter(() => this.service.isFirst(this, this.store.scope())), map(({ el, all }) => Math.min(el - all, 0)), distinctUntilChanged$1(), takeUntilDestroyed());
|
|
97
|
+
this.observers = [];
|
|
124
98
|
}
|
|
125
99
|
ngOnInit() {
|
|
126
100
|
this.service.register(this, this.store.scope());
|
|
127
101
|
}
|
|
128
102
|
ngAfterViewInit() {
|
|
129
|
-
if (isPlatformBrowser(this.platformId))
|
|
130
|
-
|
|
131
|
-
|
|
103
|
+
if (!isPlatformBrowser(this.platformId))
|
|
104
|
+
return;
|
|
105
|
+
const scope = this.store.scope();
|
|
106
|
+
const mainEl = this.main()?.nativeElement;
|
|
107
|
+
if (mainEl) {
|
|
108
|
+
const mainObserver = new ResizeObserver(() => this.service.update(this, mainEl.clientWidth, scope));
|
|
109
|
+
mainObserver.observe(mainEl);
|
|
110
|
+
this.observers.push(mainObserver);
|
|
111
|
+
this.service.update(this, mainEl.clientWidth, scope);
|
|
132
112
|
}
|
|
113
|
+
const hostObserver = new ResizeObserver(() => this.service.recompute(scope));
|
|
114
|
+
hostObserver.observe(this.el.nativeElement);
|
|
115
|
+
this.observers.push(hostObserver);
|
|
133
116
|
}
|
|
134
117
|
ngOnDestroy() {
|
|
118
|
+
this.observers.forEach((observer) => observer.disconnect());
|
|
119
|
+
this.observers = [];
|
|
135
120
|
this.service.unregister(this, this.store.scope());
|
|
136
121
|
}
|
|
137
|
-
|
|
122
|
+
hostWidth() {
|
|
123
|
+
return this.el.nativeElement?.clientWidth ?? 0;
|
|
124
|
+
}
|
|
125
|
+
applyTranslateX(value) {
|
|
138
126
|
this.el.nativeElement.style.setProperty('--translate-x', `${value}px`);
|
|
139
127
|
}
|
|
140
128
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: LineUpFrame, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -143,7 +131,7 @@ class LineUpFrame {
|
|
|
143
131
|
@if (store.hasNext()) {
|
|
144
132
|
<div class="next" @hasNext><ng-content select=[next] /></div>
|
|
145
133
|
}
|
|
146
|
-
`, isInline: true, styles: [":host{--gap: 0px;--gap-SCOPED-IN-line-up-
|
|
134
|
+
`, isInline: true, styles: [":host{--gap: 0px;--gap-SCOPED-IN-line-up-jbwV: var(--gap);--background-color: #ccc;--background-color-SCOPED-IN-line-up-jbwV: var(--background-color);--next-width: 100%;--next-width-SCOPED-IN-line-up-jbwV: var(--next-width);--next-max-width: fit-content;--next-max-width-SCOPED-IN-line-up-jbwV: var(--next-max-width);--translate-x: 0px;--translate-x-SCOPED-IN-line-up-jbwV: var(--translate-x)}:host{position:relative;transform:translate(var(--translate-x-SCOPED-IN-line-up-jbwV));transition:transform .3s ease-in-out;display:flex;justify-content:flex-start;gap:var(--gap-SCOPED-IN-line-up-jbwV);width:100%;height:100%}:host .main{max-width:100%;height:100%;z-index:2}:host .next{width:100%;height:100%;z-index:1}\n"], animations: LINE_UP_ANIMATIONS, changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
147
135
|
}
|
|
148
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: LineUpFrame, decorators: [{
|
|
149
137
|
type: Component,
|
|
@@ -159,7 +147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
159
147
|
},
|
|
160
148
|
], host: {
|
|
161
149
|
'attr.has-next': 'store.hasNext()',
|
|
162
|
-
}, styles: [":host{--gap: 0px;--gap-SCOPED-IN-line-up-
|
|
150
|
+
}, styles: [":host{--gap: 0px;--gap-SCOPED-IN-line-up-jbwV: var(--gap);--background-color: #ccc;--background-color-SCOPED-IN-line-up-jbwV: var(--background-color);--next-width: 100%;--next-width-SCOPED-IN-line-up-jbwV: var(--next-width);--next-max-width: fit-content;--next-max-width-SCOPED-IN-line-up-jbwV: var(--next-max-width);--translate-x: 0px;--translate-x-SCOPED-IN-line-up-jbwV: var(--translate-x)}:host{position:relative;transform:translate(var(--translate-x-SCOPED-IN-line-up-jbwV));transition:transform .3s ease-in-out;display:flex;justify-content:flex-start;gap:var(--gap-SCOPED-IN-line-up-jbwV);width:100%;height:100%}:host .main{max-width:100%;height:100%;z-index:2}:host .next{width:100%;height:100%;z-index:1}\n"] }]
|
|
163
151
|
}], propDecorators: { main: [{ type: i0.ViewChild, args: ['main', { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
164
152
|
|
|
165
153
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-components-frames-line-up.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/line-up/line-up.animations.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/line-up/line-up.service.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/line-up/resize-observer.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/line-up/line-up.frame.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/line-up/ng-atomic-components-frames-line-up.ts"],"sourcesContent":["import { animate, query, sequence, state, style, transition, trigger, group } from '@angular/animations';\n\nexport const LINE_UP_ANIMATIONS = [\n trigger('hasNext', [\n transition(':enter', [\n query(':enter', [style({ transform: 'translateX(-100%)', })], { optional: true }),\n query(':enter', [animate('300ms linear', style({ transform: 'translateX(0%)', })),], { optional: true }),\n ]),\n transition(':leave', [\n query(':leave', [style({transform: 'translateX(0%)'})], { optional: true }),\n query(':leave', [animate('300ms linear', style({transform: 'translateX(-100%)'}))], { optional: true }),\n ]),\n ])\n];\n","import { Injectable, signal } from \"@angular/core\";\nimport { LineUpFrame } from \"./line-up.frame\";\nimport { takeUntilDestroyed, toObservable } from \"@angular/core/rxjs-interop\";\nimport { distinctUntilChanged } from \"rxjs\";\n\ninterface State {\n [scope: string]: {\n frames: LineUpFrame[];\n sizeMap: Record<number, number>;\n }\n}\n\n\n@Injectable({providedIn: 'root'})\nexport class LineUpFrameService {\n readonly sizeMap = signal<State>({});\n readonly sizeMap$ = toObservable(this.sizeMap).pipe(\n distinctUntilChanged(),\n takeUntilDestroyed(),\n );\n\n register(frame: LineUpFrame, scope: string) {\n this.sizeMap.update(record => {\n record[scope] ??= {frames: [], sizeMap: {}};\n record[scope].frames.push(frame);\n return {...record};\n });\n }\n\n update(frame: LineUpFrame, mainWidth: number, scope: string) {\n const index = this.findIndex(frame, scope);\n this.sizeMap.update(record => {\n record[scope] ??= {frames: [], sizeMap: {}};\n record[scope].sizeMap[index] = mainWidth;\n return {...record};\n })\n }\n\n unregister(frame: LineUpFrame, scope: string) {\n const index = this.findIndex(frame, scope);\n this.sizeMap.update(record => {\n record[scope].frames = [...record[scope].frames.filter((value) => value !== frame)];\n delete record[scope].sizeMap[index];\n return {...record};\n })\n }\n\n findIndex(frame: LineUpFrame, scope: string): number {\n return this.sizeMap()[scope].frames.findIndex((value) => value === frame);\n }\n\n isFirst(frame: LineUpFrame, scope: string): boolean {\n const index = this.findIndex(frame, scope);\n return Math.min(...Object.keys(this.getSizeMap(scope)).map(key => parseInt(key, 10))) === index;\n }\n\n getSizeMap(scope: string) {\n return this.sizeMap()[scope].sizeMap ?? {};\n }\n\n getFollowingWidth(scope: string, frame: LineUpFrame): number {\n return Object.entries(this.getSizeMap(scope))\n .filter(([key]) => parseInt(key, 10) >= this.findIndex(frame, scope))\n .reduce((acc, [_, width]) => width + acc, 0);\n }\n}\n","import { NEVER, Observable } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { distinctUntilChanged, map } from 'rxjs/operators';\nimport { ElementRef } from '@angular/core';\n\nexport function fromResize(el: ElementRef<Element>): Observable<number> {\n if (!el) return NEVER;\n return new Observable<any>((observer) => {\n const resizeObserver = new ResizeObserver(entries => {\n entries.forEach((entry) => observer.next(entry));\n });\n resizeObserver.observe(el.nativeElement);\n return () => resizeObserver.disconnect();\n }).pipe(\n map((el) => el.contentRect?.width ?? 0),\n startWith(0),\n distinctUntilChanged(),\n );\n}\n","import { ChangeDetectionStrategy, Component, Directive, ElementRef, OnDestroy, OnInit, PLATFORM_ID, inject, input, viewChild, AfterViewInit } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { distinctUntilChanged, filter, map, startWith, switchMap } from 'rxjs/operators';\nimport { LINE_UP_ANIMATIONS } from './line-up.animations';\nimport { LineUpFrameService } from './line-up.service';\nimport { fromResize } from './resize-observer';\nimport { combineLatest, fromEvent, of } from 'rxjs';\n\n@Directive({standalone: true, selector: 'frames-line-up'})\nexport class LineUpFrameStore {\n readonly scope = input('default');\n readonly hasNext = input(false);\n}\n\n@Component({\n imports: [],\n selector: 'frames-line-up',\n template: `\n <div class=\"main\" #main><ng-content select=[main] /></div>\n @if (store.hasNext()) {\n <div class=\"next\" @hasNext><ng-content select=[next] /></div>\n }\n `,\n styleUrls: ['./line-up.frame.scss'],\n changeDetection: ChangeDetectionStrategy.Default,\n animations: LINE_UP_ANIMATIONS,\n hostDirectives: [\n {\n directive: LineUpFrameStore,\n inputs: ['scope', 'hasNext'],\n },\n ],\n host: {\n 'attr.has-next': 'store.hasNext()',\n }\n})\nexport class LineUpFrame implements OnInit, OnDestroy, AfterViewInit {\n protected store = inject(LineUpFrameStore);\n private service = inject(LineUpFrameService);\n private el = inject(ElementRef);\n private platformId = inject(PLATFORM_ID);\n\n readonly resizeWindow$ = of(null).pipe(\n switchMap(() => {\n return isPlatformBrowser(this.platformId)\n ? fromEvent(window, 'resize').pipe(startWith(null))\n : of(null);\n }),\n )\n\n readonly elWidth$ = this.resizeWindow$.pipe(\n switchMap(() => fromResize(this.el).pipe(startWith(null))),\n map(() => this.el.nativeElement?.clientWidth ?? 0),\n takeUntilDestroyed(),\n );\n \n readonly main = viewChild('main', {read: ElementRef});\n readonly main$ = toObservable(this.main);\n readonly mainWidth$ = combineLatest({\n main: this.main$,\n resize: this.resizeWindow$\n }).pipe(\n switchMap(({main}) => fromResize(main as ElementRef).pipe(startWith(null))),\n map(() => this.main()),\n map((main) => main?.nativeElement?.clientWidth ?? 0),\n takeUntilDestroyed(),\n );\n readonly allWidth$ = combineLatest({\n map: this.service.sizeMap$,\n window: this.resizeWindow$\n }) .pipe(\n map(() => this.service.getFollowingWidth(this.store.scope(), this)),\n takeUntilDestroyed(),\n );\n\n readonly delta$ = combineLatest({\n el: this.elWidth$,\n all: this.allWidth$,\n }).pipe(\n filter(() => this.service.isFirst(this, this.store.scope())),\n map(({el, all}) => Math.min(el - all, 0)),\n distinctUntilChanged(),\n takeUntilDestroyed(),\n );\n\n ngOnInit(): void {\n this.service.register(this, this.store.scope());\n }\n\n ngAfterViewInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.mainWidth$.subscribe((width) => this.service.update(this, width, this.store.scope()));\n this.delta$.subscribe((delta) => this.setTranslateX(delta));\n }\n }\n\n ngOnDestroy(): void {\n this.service.unregister(this, this.store.scope());\n }\n\n protected setTranslateX(value: number) {\n this.el.nativeElement.style.setProperty('--translate-x', `${value}px`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["distinctUntilChanged"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-atomic-components-frames-line-up.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/frames/line-up/line-up.animations.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/line-up/line-up.service.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/line-up/line-up.frame.ts","../../../../../packages/@ng-atomic/components/src/lib/frames/line-up/ng-atomic-components-frames-line-up.ts"],"sourcesContent":["import { animate, query, sequence, state, style, transition, trigger, group } from '@angular/animations';\n\nexport const LINE_UP_ANIMATIONS = [\n trigger('hasNext', [\n transition(':enter', [\n query(':enter', [style({ transform: 'translateX(-100%)', })], { optional: true }),\n query(':enter', [animate('300ms linear', style({ transform: 'translateX(0%)', })),], { optional: true }),\n ]),\n transition(':leave', [\n query(':leave', [style({transform: 'translateX(0%)'})], { optional: true }),\n query(':leave', [animate('300ms linear', style({transform: 'translateX(-100%)'}))], { optional: true }),\n ]),\n ])\n];\n","import { Injectable } from \"@angular/core\";\nimport { LineUpFrame } from \"./line-up.frame\";\n\ninterface ScopeState {\n frames: LineUpFrame[];\n widths: Map<LineUpFrame, number>;\n}\n\n\n@Injectable({providedIn: 'root'})\nexport class LineUpFrameService {\n private readonly state = new Map<string, ScopeState>();\n\n register(frame: LineUpFrame, scope: string) {\n const s = this.scopeState(scope);\n if (!s.frames.includes(frame)) s.frames.push(frame);\n }\n\n update(frame: LineUpFrame, mainWidth: number, scope: string) {\n const s = this.scopeState(scope);\n if (s.widths.get(frame) === mainWidth) return;\n s.widths.set(frame, mainWidth);\n this.recompute(scope);\n }\n\n unregister(frame: LineUpFrame, scope: string) {\n const s = this.scopeState(scope);\n s.frames = s.frames.filter((f) => f !== frame);\n s.widths.delete(frame);\n this.recompute(scope);\n }\n\n isFirst(frame: LineUpFrame, scope: string): boolean {\n return this.firstMeasured(scope) === frame;\n }\n\n getFollowingWidth(scope: string, frame: LineUpFrame): number {\n const s = this.scopeState(scope);\n const index = s.frames.indexOf(frame);\n if (index < 0) return 0;\n return s.frames\n .slice(index)\n .reduce((acc, f) => acc + (s.widths.get(f) ?? 0), 0);\n }\n\n \n recompute(scope: string) {\n const first = this.firstMeasured(scope);\n if (!first) return;\n const delta = Math.min(first.hostWidth() - this.getFollowingWidth(scope, first), 0);\n first.applyTranslateX(delta);\n }\n\n \n private firstMeasured(scope: string): LineUpFrame | undefined {\n const s = this.scopeState(scope);\n return s.frames.find((f) => s.widths.has(f));\n }\n\n private scopeState(scope: string): ScopeState {\n if (!this.state.has(scope)) this.state.set(scope, { frames: [], widths: new Map() });\n return this.state.get(scope)!;\n }\n}\n","import { ChangeDetectionStrategy, Component, Directive, ElementRef, OnDestroy, OnInit, PLATFORM_ID, inject, input, viewChild, AfterViewInit } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { LINE_UP_ANIMATIONS } from './line-up.animations';\nimport { LineUpFrameService } from './line-up.service';\n\n@Directive({standalone: true, selector: 'frames-line-up'})\nexport class LineUpFrameStore {\n readonly scope = input('default');\n readonly hasNext = input(false);\n}\n\n@Component({\n imports: [],\n selector: 'frames-line-up',\n template: `\n <div class=\"main\" #main><ng-content select=[main] /></div>\n @if (store.hasNext()) {\n <div class=\"next\" @hasNext><ng-content select=[next] /></div>\n }\n `,\n styleUrls: ['./line-up.frame.scss'],\n changeDetection: ChangeDetectionStrategy.Default,\n animations: LINE_UP_ANIMATIONS,\n hostDirectives: [\n {\n directive: LineUpFrameStore,\n inputs: ['scope', 'hasNext'],\n },\n ],\n host: {\n 'attr.has-next': 'store.hasNext()',\n }\n})\nexport class LineUpFrame implements OnInit, OnDestroy, AfterViewInit {\n protected store = inject(LineUpFrameStore);\n private service = inject(LineUpFrameService);\n private el = inject(ElementRef);\n private platformId = inject(PLATFORM_ID);\n\n readonly main = viewChild('main', {read: ElementRef});\n private observers: ResizeObserver[] = [];\n\n ngOnInit(): void {\n this.service.register(this, this.store.scope());\n }\n\n \n \n \n \n \n ngAfterViewInit(): void {\n if (!isPlatformBrowser(this.platformId)) return;\n const scope = this.store.scope();\n const mainEl = this.main()?.nativeElement;\n if (mainEl) {\n const mainObserver = new ResizeObserver(() =>\n this.service.update(this, mainEl.clientWidth, scope));\n mainObserver.observe(mainEl);\n this.observers.push(mainObserver);\n \n this.service.update(this, mainEl.clientWidth, scope);\n }\n \n const hostObserver = new ResizeObserver(() => this.service.recompute(scope));\n hostObserver.observe(this.el.nativeElement);\n this.observers.push(hostObserver);\n }\n\n ngOnDestroy(): void {\n this.observers.forEach((observer) => observer.disconnect());\n this.observers = [];\n this.service.unregister(this, this.store.scope());\n }\n\n \n hostWidth(): number {\n return this.el.nativeElement?.clientWidth ?? 0;\n }\n\n \n applyTranslateX(value: number) {\n this.el.nativeElement.style.setProperty('--translate-x', `${value}px`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ class LoadingFrame extends NgAtomicComponent {
|
|
|
26
26
|
@if(store.isLoading()) {
|
|
27
27
|
<div class="loading"><mat-spinner /></div>
|
|
28
28
|
}
|
|
29
|
-
`, isInline: true, styles: [":host{--primary-color: inherit;--primary-color-SCOPED-IN-loading-
|
|
29
|
+
`, isInline: true, styles: [":host{--primary-color: inherit;--primary-color-SCOPED-IN-loading-kMv4: var(--primary-color);--on-primary-color: inherit;--on-primary-color-SCOPED-IN-loading-kMv4: var(--on-primary-color)}:host{position:relative;display:block;width:100%;height:100%}:host .loading{position:absolute;z-index:10000;display:flex;width:100%;height:100%;justify-content:center;align-items:center;background-color:#0006}:host .loading mat-spinner{--mat-progress-spinner-active-indicator-color: var(--primary-color)}:host .contents{position:absolute;top:0;left:0;display:block;width:100%;height:100%}:host *{--primary-color: var(--primary-color-SCOPED-IN-loading-kMv4);--on-primary-color: var(--on-primary-color-SCOPED-IN-loading-kMv4)}\n"], dependencies: [{ kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
30
|
}
|
|
31
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: LoadingFrame, decorators: [{
|
|
32
32
|
type: Component,
|
|
@@ -42,7 +42,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
42
42
|
directive: LoadingFrameStore,
|
|
43
43
|
inputs: ['isLoading'],
|
|
44
44
|
}
|
|
45
|
-
], styles: [":host{--primary-color: inherit;--primary-color-SCOPED-IN-loading-
|
|
45
|
+
], styles: [":host{--primary-color: inherit;--primary-color-SCOPED-IN-loading-kMv4: var(--primary-color);--on-primary-color: inherit;--on-primary-color-SCOPED-IN-loading-kMv4: var(--on-primary-color)}:host{position:relative;display:block;width:100%;height:100%}:host .loading{position:absolute;z-index:10000;display:flex;width:100%;height:100%;justify-content:center;align-items:center;background-color:#0006}:host .loading mat-spinner{--mat-progress-spinner-active-indicator-color: var(--primary-color)}:host .contents{position:absolute;top:0;left:0;display:block;width:100%;height:100%}:host *{--primary-color: var(--primary-color-SCOPED-IN-loading-kMv4);--on-primary-color: var(--on-primary-color-SCOPED-IN-loading-kMv4)}\n"] }]
|
|
46
46
|
}] });
|
|
47
47
|
|
|
48
48
|
/**
|
|
@@ -107,7 +107,7 @@ class RouterOutletFrame extends NgAtomicComponent {
|
|
|
107
107
|
}
|
|
108
108
|
<ng-template #main><ng-content main/></ng-template>
|
|
109
109
|
<ng-template #next><router-outlet [name]="store.name()"/></ng-template>
|
|
110
|
-
`, isInline: true, styles: [":host{display:contents;--primary-color: #ccc;--primary-color-SCOPED-IN-router-outlet-
|
|
110
|
+
`, isInline: true, styles: [":host{display:contents;--primary-color: #ccc;--primary-color-SCOPED-IN-router-outlet-vQp8: var(--primary-color);--on-primary-color: #ccc;--on-primary-color-SCOPED-IN-router-outlet-vQp8: var(--on-primary-color);--surface-color: #ccc;--surface-color-SCOPED-IN-router-outlet-vQp8: var(--surface-color);--background-color: #ccc;--background-color-SCOPED-IN-router-outlet-vQp8: var(--background-color)}:host *{--primary-color: var(--primary-color-SCOPED-IN-router-outlet-vQp8);--on-primary-color: var(--on-primary-color-SCOPED-IN-router-outlet-vQp8);--surface-color: var(--surface-color-SCOPED-IN-router-outlet-vQp8);--background-color: var(--background-color-SCOPED-IN-router-outlet-vQp8)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: OverlayFrame, selector: "frames-overlay" }, { kind: "component", type: LineUpFrame, selector: "frames-line-up" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
111
111
|
}
|
|
112
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: RouterOutletFrame, decorators: [{
|
|
113
113
|
type: Component,
|
|
@@ -142,7 +142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
142
142
|
directive: RouterOutletFrameStore,
|
|
143
143
|
inputs: ['frame', 'name', 'skip'],
|
|
144
144
|
},
|
|
145
|
-
], styles: [":host{display:contents;--primary-color: #ccc;--primary-color-SCOPED-IN-router-outlet-
|
|
145
|
+
], styles: [":host{display:contents;--primary-color: #ccc;--primary-color-SCOPED-IN-router-outlet-vQp8: var(--primary-color);--on-primary-color: #ccc;--on-primary-color-SCOPED-IN-router-outlet-vQp8: var(--on-primary-color);--surface-color: #ccc;--surface-color-SCOPED-IN-router-outlet-vQp8: var(--surface-color);--background-color: #ccc;--background-color-SCOPED-IN-router-outlet-vQp8: var(--background-color)}:host *{--primary-color: var(--primary-color-SCOPED-IN-router-outlet-vQp8);--on-primary-color: var(--on-primary-color-SCOPED-IN-router-outlet-vQp8);--surface-color: var(--surface-color-SCOPED-IN-router-outlet-vQp8);--background-color: var(--background-color-SCOPED-IN-router-outlet-vQp8)}\n"] }]
|
|
146
146
|
}], ctorParameters: () => [], propDecorators: { events: [{
|
|
147
147
|
type: Output
|
|
148
148
|
}], outlet: [{ type: i0.ViewChild, args: [i0.forwardRef(() => RouterOutlet), { isSignal: true }] }] } });
|
|
@@ -163,7 +163,6 @@ const canDeactivateFn = (component) => {
|
|
|
163
163
|
current.set(frame);
|
|
164
164
|
frame.events.emit('deactivated');
|
|
165
165
|
}
|
|
166
|
-
// MEMO(NozomuMiyamoto): RouterOutletFrameの幅を変更するアニメーションの最適化のために遅延させている。
|
|
167
166
|
return of(true).pipe(delay(0));
|
|
168
167
|
};
|
|
169
168
|
const canActivateFn = () => {
|
|
@@ -171,7 +170,6 @@ const canActivateFn = () => {
|
|
|
171
170
|
if (current()) {
|
|
172
171
|
current().events.emit('activated');
|
|
173
172
|
}
|
|
174
|
-
// MEMO(NozomuMiyamoto): RouterOutletFrameの幅を変更するアニメーションの最適化のために遅延させている。
|
|
175
173
|
return of(true).pipe(delay(0));
|
|
176
174
|
};
|
|
177
175
|
function ngAtomicRoute(route) {
|