@igo2/common 19.0.0-next.26 → 19.0.0-next.27
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/igo2-common-resizable-bar.mjs +98 -0
- package/fesm2022/igo2-common-resizable-bar.mjs.map +1 -0
- package/package.json +7 -3
- package/resizable-bar/index.d.ts +5 -0
- package/resizable-bar/public_api.d.ts +2 -0
- package/resizable-bar/resizable-bar.component.d.ts +23 -0
- package/resizable-bar/shared/resize.directive.d.ts +12 -0
- package/resizable-bar/src/resizable-bar.theme.scss +23 -0
- package/src/common-theme.scss +3 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, HostListener, Output, Directive, numberAttribute, HostBinding, Input, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import { fromEvent } from 'rxjs';
|
|
4
|
+
import { NgClass } from '@angular/common';
|
|
5
|
+
import * as i2 from '@angular/material/button';
|
|
6
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
+
import * as i1 from '@angular/material/icon';
|
|
8
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
+
|
|
10
|
+
class ResizeDirective {
|
|
11
|
+
mouseMove$$;
|
|
12
|
+
mouseUp$$;
|
|
13
|
+
change = new EventEmitter();
|
|
14
|
+
onMouseDown(event) {
|
|
15
|
+
this.mouseUp$$ = fromEvent(document, 'mouseup').subscribe(() => {
|
|
16
|
+
this._unsubscribe();
|
|
17
|
+
});
|
|
18
|
+
this.mouseMove$$ = fromEvent(document, 'mousemove').subscribe((moveEvent) => {
|
|
19
|
+
this.change.emit(moveEvent);
|
|
20
|
+
});
|
|
21
|
+
event.preventDefault();
|
|
22
|
+
}
|
|
23
|
+
_unsubscribe() {
|
|
24
|
+
this.mouseUp$$.unsubscribe();
|
|
25
|
+
this.mouseUp$$ = null;
|
|
26
|
+
this.mouseMove$$.unsubscribe();
|
|
27
|
+
this.mouseMove$$ = null;
|
|
28
|
+
}
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ResizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.5", type: ResizeDirective, isStandalone: true, selector: "[igoResize]", outputs: { change: "change" }, host: { listeners: { "mousedown": "onMouseDown($event)" } }, ngImport: i0 });
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ResizeDirective, decorators: [{
|
|
33
|
+
type: Directive,
|
|
34
|
+
args: [{
|
|
35
|
+
selector: '[igoResize]'
|
|
36
|
+
}]
|
|
37
|
+
}], propDecorators: { change: [{
|
|
38
|
+
type: Output
|
|
39
|
+
}], onMouseDown: [{
|
|
40
|
+
type: HostListener,
|
|
41
|
+
args: ['mousedown', ['$event']]
|
|
42
|
+
}] } });
|
|
43
|
+
|
|
44
|
+
const ResizeAnchorType = ['top', 'left', 'bottom', 'right'];
|
|
45
|
+
const AlignmentType = ['vertical', 'horizontal'];
|
|
46
|
+
class ResizableBarComponent {
|
|
47
|
+
alignement;
|
|
48
|
+
iconRotation;
|
|
49
|
+
anchor = 'right';
|
|
50
|
+
/** En pixel */
|
|
51
|
+
min;
|
|
52
|
+
/** En pixel */
|
|
53
|
+
max;
|
|
54
|
+
change = new EventEmitter();
|
|
55
|
+
get cssClass() {
|
|
56
|
+
return `${this.alignement} ${this.anchor}`;
|
|
57
|
+
}
|
|
58
|
+
ngOnInit() {
|
|
59
|
+
this.alignement =
|
|
60
|
+
this.anchor === 'top' || this.anchor === 'bottom'
|
|
61
|
+
? 'horizontal'
|
|
62
|
+
: 'vertical';
|
|
63
|
+
this.iconRotation = this.alignement === 'vertical' ? 'rotate(90deg)' : '';
|
|
64
|
+
}
|
|
65
|
+
onChange(event) {
|
|
66
|
+
const value = this.alignement === 'horizontal' ? event.clientX : event.clientX;
|
|
67
|
+
if ((this.min && value <= this.min) || (this.max && value >= this.max)) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
this.change.emit(event);
|
|
71
|
+
}
|
|
72
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ResizableBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.5", type: ResizableBarComponent, isStandalone: true, selector: "igo-resizable-bar", inputs: { anchor: "anchor", min: ["min", "min", numberAttribute], max: ["max", "max", numberAttribute] }, outputs: { change: "change" }, host: { properties: { "class": "this.cssClass" } }, ngImport: i0, template: "<div igoResize (change)=\"onChange($event)\" class=\"resize-container\">\n <div class=\"resize-indicator\" [ngClass]=\"[alignement]\"></div>\n\n <div class=\"resize-bar\" [ngClass]=\"[alignement]\">\n <div class=\"resize-item\" [ngClass]=\"[alignement]\"></div>\n </div>\n\n <button mat-mini-fab class=\"expand-btn\" [ngClass]=\"[alignement, anchor]\">\n <mat-icon [style.transform]=\"iconRotation\">drag_handle</mat-icon>\n </button>\n</div>\n", styles: [":host{display:block;position:absolute;transform:translateZ(0);z-index:3000}:host.horizontal{left:0;right:0;height:12px}:host.vertical{top:0;bottom:0;width:3px;height:100%}:host.top{bottom:100%}:host.bottom{bottom:3px}:host.right{left:auto;right:0}:host.left{left:0;right:auto}.resize-container:hover .resize-item,.resize-container:hover .expand-btn{opacity:1}.resize-container .resize-indicator{opacity:1;pointer-events:none;position:absolute;transition-duration:.2s;transition-property:left,opacity,width;transition-timing-function:cubic-bezier(.2,0,0,1);background:#0000001a}.resize-container .resize-indicator.horizontal{left:0;right:0;bottom:-2px;height:3px}.resize-container .resize-indicator.vertical{top:0;bottom:0;right:-2px;width:3px}.resize-container .resize-bar{position:relative}.resize-container .resize-bar.horizontal{cursor:n-resize;width:100%;height:12px;bottom:-3px}.resize-container .resize-bar.vertical{cursor:e-resize;width:3px;height:100%;right:-3px;position:absolute}.resize-container .resize-item{opacity:0;position:absolute}.resize-container .resize-item.horizontal{height:3px;width:100%;bottom:2px}.resize-container .resize-item.vertical{height:100%;width:3px;right:2px}.resize-container .expand-btn{pointer-events:none;position:absolute;width:24px;height:24px;line-height:24px;opacity:0;transition:opacity .3s cubic-bezier(.2,0,0,1) 0s,transform .3s cubic-bezier(.2,0,0,1) 0s}.resize-container .expand-btn.horizontal{top:0;left:50%}.resize-container .expand-btn.vertical{top:50%}.resize-container .expand-btn.vertical.right{left:-8px}.resize-container .expand-btn.vertical.left{right:-8px}.resize-container .expand-btn .mat-icon{color:inherit;height:20px;width:20px;font-size:20px;transition:color .1s linear}\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]", exportAs: ["matButton"] }, { kind: "directive", type: ResizeDirective, selector: "[igoResize]", outputs: ["change"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
74
|
+
}
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: ResizableBarComponent, decorators: [{
|
|
76
|
+
type: Component,
|
|
77
|
+
args: [{ selector: 'igo-resizable-bar', imports: [MatIconModule, MatButtonModule, ResizeDirective, NgClass], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div igoResize (change)=\"onChange($event)\" class=\"resize-container\">\n <div class=\"resize-indicator\" [ngClass]=\"[alignement]\"></div>\n\n <div class=\"resize-bar\" [ngClass]=\"[alignement]\">\n <div class=\"resize-item\" [ngClass]=\"[alignement]\"></div>\n </div>\n\n <button mat-mini-fab class=\"expand-btn\" [ngClass]=\"[alignement, anchor]\">\n <mat-icon [style.transform]=\"iconRotation\">drag_handle</mat-icon>\n </button>\n</div>\n", styles: [":host{display:block;position:absolute;transform:translateZ(0);z-index:3000}:host.horizontal{left:0;right:0;height:12px}:host.vertical{top:0;bottom:0;width:3px;height:100%}:host.top{bottom:100%}:host.bottom{bottom:3px}:host.right{left:auto;right:0}:host.left{left:0;right:auto}.resize-container:hover .resize-item,.resize-container:hover .expand-btn{opacity:1}.resize-container .resize-indicator{opacity:1;pointer-events:none;position:absolute;transition-duration:.2s;transition-property:left,opacity,width;transition-timing-function:cubic-bezier(.2,0,0,1);background:#0000001a}.resize-container .resize-indicator.horizontal{left:0;right:0;bottom:-2px;height:3px}.resize-container .resize-indicator.vertical{top:0;bottom:0;right:-2px;width:3px}.resize-container .resize-bar{position:relative}.resize-container .resize-bar.horizontal{cursor:n-resize;width:100%;height:12px;bottom:-3px}.resize-container .resize-bar.vertical{cursor:e-resize;width:3px;height:100%;right:-3px;position:absolute}.resize-container .resize-item{opacity:0;position:absolute}.resize-container .resize-item.horizontal{height:3px;width:100%;bottom:2px}.resize-container .resize-item.vertical{height:100%;width:3px;right:2px}.resize-container .expand-btn{pointer-events:none;position:absolute;width:24px;height:24px;line-height:24px;opacity:0;transition:opacity .3s cubic-bezier(.2,0,0,1) 0s,transform .3s cubic-bezier(.2,0,0,1) 0s}.resize-container .expand-btn.horizontal{top:0;left:50%}.resize-container .expand-btn.vertical{top:50%}.resize-container .expand-btn.vertical.right{left:-8px}.resize-container .expand-btn.vertical.left{right:-8px}.resize-container .expand-btn .mat-icon{color:inherit;height:20px;width:20px;font-size:20px;transition:color .1s linear}\n"] }]
|
|
78
|
+
}], propDecorators: { anchor: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], min: [{
|
|
81
|
+
type: Input,
|
|
82
|
+
args: [{ transform: numberAttribute }]
|
|
83
|
+
}], max: [{
|
|
84
|
+
type: Input,
|
|
85
|
+
args: [{ transform: numberAttribute }]
|
|
86
|
+
}], change: [{
|
|
87
|
+
type: Output
|
|
88
|
+
}], cssClass: [{
|
|
89
|
+
type: HostBinding,
|
|
90
|
+
args: ['class']
|
|
91
|
+
}] } });
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Generated bundle index. Do not edit.
|
|
95
|
+
*/
|
|
96
|
+
|
|
97
|
+
export { AlignmentType, ResizableBarComponent, ResizeAnchorType, ResizeDirective };
|
|
98
|
+
//# sourceMappingURL=igo2-common-resizable-bar.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"igo2-common-resizable-bar.mjs","sources":["../../../packages/common/resizable-bar/src/shared/resize.directive.ts","../../../packages/common/resizable-bar/src/resizable-bar.component.ts","../../../packages/common/resizable-bar/src/resizable-bar.component.html","../../../packages/common/resizable-bar/src/igo2-common-resizable-bar.ts"],"sourcesContent":["import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\n\nimport { Subscription, fromEvent } from 'rxjs';\n\n@Directive({\n selector: '[igoResize]'\n})\nexport class ResizeDirective {\n mouseMove$$: Subscription;\n mouseUp$$: Subscription;\n\n @Output() change: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @HostListener('mousedown', ['$event'])\n onMouseDown(event: MouseEvent) {\n this.mouseUp$$ = fromEvent(document, 'mouseup').subscribe(() => {\n this._unsubscribe();\n });\n\n this.mouseMove$$ = fromEvent(document, 'mousemove').subscribe(\n (moveEvent: MouseEvent) => {\n this.change.emit(moveEvent);\n }\n );\n\n event.preventDefault();\n }\n\n private _unsubscribe(): void {\n this.mouseUp$$.unsubscribe();\n this.mouseUp$$ = null;\n\n this.mouseMove$$.unsubscribe();\n this.mouseMove$$ = null;\n }\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n numberAttribute\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { ResizeDirective } from './shared/resize.directive';\n\nexport const ResizeAnchorType = ['top', 'left', 'bottom', 'right'] as const;\nexport type ResizeAnchorType = (typeof ResizeAnchorType)[number];\n\nexport const AlignmentType = ['vertical', 'horizontal'] as const;\nexport type AlignmentType = (typeof AlignmentType)[number];\n\n@Component({\n selector: 'igo-resizable-bar',\n templateUrl: './resizable-bar.component.html',\n styleUrls: ['./resizable-bar.component.scss'],\n imports: [MatIconModule, MatButtonModule, ResizeDirective, NgClass],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ResizableBarComponent implements OnInit {\n alignement: AlignmentType;\n iconRotation: string;\n\n @Input() anchor: ResizeAnchorType = 'right';\n\n /** En pixel */\n @Input({ transform: numberAttribute }) min: number;\n\n /** En pixel */\n @Input({ transform: numberAttribute }) max: number;\n\n @Output() change = new EventEmitter<MouseEvent>();\n\n @HostBinding('class') get cssClass() {\n return `${this.alignement} ${this.anchor}`;\n }\n\n ngOnInit(): void {\n this.alignement =\n this.anchor === 'top' || this.anchor === 'bottom'\n ? 'horizontal'\n : 'vertical';\n\n this.iconRotation = this.alignement === 'vertical' ? 'rotate(90deg)' : '';\n }\n\n onChange(event: MouseEvent): void {\n const value =\n this.alignement === 'horizontal' ? event.clientX : event.clientX;\n if ((this.min && value <= this.min) || (this.max && value >= this.max)) {\n return;\n }\n this.change.emit(event);\n }\n}\n","<div igoResize (change)=\"onChange($event)\" class=\"resize-container\">\n <div class=\"resize-indicator\" [ngClass]=\"[alignement]\"></div>\n\n <div class=\"resize-bar\" [ngClass]=\"[alignement]\">\n <div class=\"resize-item\" [ngClass]=\"[alignement]\"></div>\n </div>\n\n <button mat-mini-fab class=\"expand-btn\" [ngClass]=\"[alignement, anchor]\">\n <mat-icon [style.transform]=\"iconRotation\">drag_handle</mat-icon>\n </button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@igo2/common",
|
|
3
|
-
"version": "19.0.0-next.
|
|
3
|
+
"version": "19.0.0-next.27",
|
|
4
4
|
"description": "IGO Library",
|
|
5
5
|
"author": "IGO Community",
|
|
6
6
|
"keywords": [
|
|
@@ -163,6 +163,10 @@
|
|
|
163
163
|
},
|
|
164
164
|
"./package.json": {
|
|
165
165
|
"default": "./package.json"
|
|
166
|
+
},
|
|
167
|
+
"./resizable-bar": {
|
|
168
|
+
"types": "./resizable-bar/index.d.ts",
|
|
169
|
+
"default": "./fesm2022/igo2-common-resizable-bar.mjs"
|
|
166
170
|
}
|
|
167
171
|
},
|
|
168
172
|
"dependencies": {
|
|
@@ -175,8 +179,8 @@
|
|
|
175
179
|
"@angular/material": "^19.0.0",
|
|
176
180
|
"@angular/platform-browser": "^19.0.0",
|
|
177
181
|
"@floating-ui/utils": "^0.2.0",
|
|
178
|
-
"@igo2/core": "^19.0.0-next.
|
|
179
|
-
"@igo2/utils": "^19.0.0-next.
|
|
182
|
+
"@igo2/core": "^19.0.0-next.27",
|
|
183
|
+
"@igo2/utils": "^19.0.0-next.27",
|
|
180
184
|
"angular-shepherd": "^19.0.0",
|
|
181
185
|
"ngx-color": "^10.0.0",
|
|
182
186
|
"scroll-into-view-if-needed": "^3.1.0",
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare const ResizeAnchorType: readonly ["top", "left", "bottom", "right"];
|
|
4
|
+
export type ResizeAnchorType = (typeof ResizeAnchorType)[number];
|
|
5
|
+
export declare const AlignmentType: readonly ["vertical", "horizontal"];
|
|
6
|
+
export type AlignmentType = (typeof AlignmentType)[number];
|
|
7
|
+
export declare class ResizableBarComponent implements OnInit {
|
|
8
|
+
alignement: AlignmentType;
|
|
9
|
+
iconRotation: string;
|
|
10
|
+
anchor: ResizeAnchorType;
|
|
11
|
+
/** En pixel */
|
|
12
|
+
min: number;
|
|
13
|
+
/** En pixel */
|
|
14
|
+
max: number;
|
|
15
|
+
change: EventEmitter<MouseEvent>;
|
|
16
|
+
get cssClass(): string;
|
|
17
|
+
ngOnInit(): void;
|
|
18
|
+
onChange(event: MouseEvent): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ResizableBarComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ResizableBarComponent, "igo-resizable-bar", never, { "anchor": { "alias": "anchor"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; }, { "change": "change"; }, never, never, true, never>;
|
|
21
|
+
static ngAcceptInputType_min: unknown;
|
|
22
|
+
static ngAcceptInputType_max: unknown;
|
|
23
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { Subscription } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ResizeDirective {
|
|
5
|
+
mouseMove$$: Subscription;
|
|
6
|
+
mouseUp$$: Subscription;
|
|
7
|
+
change: EventEmitter<MouseEvent>;
|
|
8
|
+
onMouseDown(event: MouseEvent): void;
|
|
9
|
+
private _unsubscribe;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ResizeDirective, never>;
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ResizeDirective, "[igoResize]", never, {}, { "change": "change"; }, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use '@angular/material' as mat;
|
|
3
|
+
|
|
4
|
+
@mixin theme($theme) {
|
|
5
|
+
@include color($theme);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
@mixin color($theme) {
|
|
9
|
+
$primary: map.get($theme, primary);
|
|
10
|
+
$accent: map.get($theme, accent);
|
|
11
|
+
$accent-color: mat.m2-get-color-from-palette($accent);
|
|
12
|
+
|
|
13
|
+
igo-resizable-bar {
|
|
14
|
+
.expand-btn {
|
|
15
|
+
color: mat.m2-get-color-from-palette($primary);
|
|
16
|
+
background-color: white;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.resize-item {
|
|
20
|
+
background-color: $accent-color;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
package/src/common-theme.scss
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
@use '../entity/src/entity.theming.scss' as entity;
|
|
4
4
|
@use '../list/src/list.theming.scss' as list;
|
|
5
5
|
@use '../panel/src/panel.theming.scss' as panel;
|
|
6
|
+
@use '../resizable-bar/src/resizable-bar.theme.scss' as resizable-bar;
|
|
7
|
+
|
|
6
8
|
@use '../tool/src/tool.theming.scss' as tool;
|
|
7
9
|
@use '../interactive-tour/src/interactive-tour.theming.scss' as interactive-tour;
|
|
8
10
|
@use '../home-button/src/home-button.theming.scss' as home-button;
|
|
@@ -12,6 +14,7 @@
|
|
|
12
14
|
@include collapsible.igo-collapsible-theming($theme);
|
|
13
15
|
@include entity.igo-entity-theming($theme);
|
|
14
16
|
@include list.igo-list-theming($theme);
|
|
17
|
+
@include resizable-bar.theme($theme);
|
|
15
18
|
@include panel.theme($theme);
|
|
16
19
|
@include tool.igo-tool-theming($theme);
|
|
17
20
|
@include interactive-tour.theme($theme);
|