@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.
@@ -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.26",
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.26",
179
- "@igo2/utils": "^19.0.0-next.26",
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,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@igo2/common/resizable-bar" />
5
+ export * from './public_api';
@@ -0,0 +1,2 @@
1
+ export * from './shared/resize.directive';
2
+ export * from './resizable-bar.component';
@@ -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
+ }
@@ -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);