@tolle_/tolle-ui 18.2.22 → 18.2.23
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/esm2022/lib/resizable-panel-item.component.mjs +79 -0
- package/esm2022/lib/resizable-panel.component.mjs +130 -0
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/tolle-ui.mjs +199 -1
- package/fesm2022/tolle-ui.mjs.map +1 -1
- package/lib/resizable-panel-item.component.d.ts +16 -0
- package/lib/resizable-panel.component.d.ts +28 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Component, Input, inject, HostBinding } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ResizablePanelComponent } from './resizable-panel.component';
|
|
4
|
+
import { cn } from './utils/cn';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
export class ResizablePanelItemComponent {
|
|
8
|
+
size = 1;
|
|
9
|
+
minSize = 10; // percentage or pixels
|
|
10
|
+
maxSize;
|
|
11
|
+
resizable = true;
|
|
12
|
+
class = '';
|
|
13
|
+
isLast = false;
|
|
14
|
+
container = inject(ResizablePanelComponent);
|
|
15
|
+
get computedContainerClass() {
|
|
16
|
+
return cn('relative h-full w-full overflow-hidden', this.class);
|
|
17
|
+
}
|
|
18
|
+
get computedHandleClass() {
|
|
19
|
+
const isHorizontal = this.container?.direction === 'horizontal';
|
|
20
|
+
return cn('absolute z-20', isHorizontal
|
|
21
|
+
? 'top-0 bottom-0 -right-2 w-4 cursor-col-resize'
|
|
22
|
+
: 'left-0 right-0 -bottom-2 h-4 cursor-row-resize', 'hover:bg-primary/5 active:bg-primary/10');
|
|
23
|
+
}
|
|
24
|
+
get computedHandleIndicatorClass() {
|
|
25
|
+
const isHorizontal = this.container?.direction === 'horizontal';
|
|
26
|
+
return cn('bg-muted-foreground/40 rounded-full', isHorizontal ? 'w-1 h-6' : 'h-1 w-6');
|
|
27
|
+
}
|
|
28
|
+
onHandleMouseDown(event) {
|
|
29
|
+
this.container.startResize(this, event);
|
|
30
|
+
}
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizablePanelItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ResizablePanelItemComponent, isStandalone: true, selector: "tolle-resizable-panel-item", inputs: { size: "size", minSize: "minSize", maxSize: "maxSize", resizable: "resizable", class: "class" }, host: { properties: { "style.flex": "this.size" } }, ngImport: i0, template: `
|
|
33
|
+
<div [class]="computedContainerClass">
|
|
34
|
+
<ng-content></ng-content>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<div
|
|
38
|
+
*ngIf="resizable && !isLast"
|
|
39
|
+
[class]="computedHandleClass"
|
|
40
|
+
(mousedown)="onHandleMouseDown($event)"
|
|
41
|
+
>
|
|
42
|
+
<div class="absolute inset-0 flex items-center justify-center pointer-events-none">
|
|
43
|
+
<div [class]="computedHandleIndicatorClass"></div>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
`, isInline: true, styles: [":host{display:block;position:relative;overflow:visible}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizablePanelItemComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: 'tolle-resizable-panel-item', standalone: true, imports: [CommonModule], template: `
|
|
51
|
+
<div [class]="computedContainerClass">
|
|
52
|
+
<ng-content></ng-content>
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<div
|
|
56
|
+
*ngIf="resizable && !isLast"
|
|
57
|
+
[class]="computedHandleClass"
|
|
58
|
+
(mousedown)="onHandleMouseDown($event)"
|
|
59
|
+
>
|
|
60
|
+
<div class="absolute inset-0 flex items-center justify-center pointer-events-none">
|
|
61
|
+
<div [class]="computedHandleIndicatorClass"></div>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
`, styles: [":host{display:block;position:relative;overflow:visible}\n"] }]
|
|
65
|
+
}], propDecorators: { size: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}, {
|
|
68
|
+
type: HostBinding,
|
|
69
|
+
args: ['style.flex']
|
|
70
|
+
}], minSize: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], maxSize: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], resizable: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], class: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}] } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLXBhbmVsLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9sbGUvc3JjL2xpYi9yZXNpemFibGUtcGFuZWwtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBNkJoQyxNQUFNLE9BQU8sMkJBQTJCO0lBQ0YsSUFBSSxHQUFXLENBQUMsQ0FBQztJQUM1QyxPQUFPLEdBQVcsRUFBRSxDQUFDLENBQUMsdUJBQXVCO0lBQzdDLE9BQU8sQ0FBVTtJQUNqQixTQUFTLEdBQVksSUFBSSxDQUFDO0lBQzFCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFFNUIsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUNoQixTQUFTLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFFcEQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxFQUFFLENBQ1Asd0NBQXdDLEVBQ3hDLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsS0FBSyxZQUFZLENBQUM7UUFDaEUsT0FBTyxFQUFFLENBQ1AsZUFBZSxFQUNmLFlBQVk7WUFDVixDQUFDLENBQUMsK0NBQStDO1lBQ2pELENBQUMsQ0FBQyxnREFBZ0QsRUFDcEQseUNBQXlDLENBQzFDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSw0QkFBNEI7UUFDOUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEtBQUssWUFBWSxDQUFDO1FBQ2hFLE9BQU8sRUFBRSxDQUNQLHFDQUFxQyxFQUNyQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUNyQyxDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQWlCO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO3dHQXRDVSwyQkFBMkI7NEZBQTNCLDJCQUEyQixxUEF2QjVCOzs7Ozs7Ozs7Ozs7OztHQWNULGtJQWZTLFlBQVk7OzRGQXdCWCwyQkFBMkI7a0JBM0J2QyxTQUFTOytCQUNFLDRCQUE0QixjQUMxQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFDYjs7Ozs7Ozs7Ozs7Ozs7R0FjVDs4QkFVbUMsSUFBSTtzQkFBdkMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxZQUFZO2dCQUN6QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgaW5qZWN0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlc2l6YWJsZVBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9yZXNpemFibGUtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscy9jbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvbGxlLXJlc2l6YWJsZS1wYW5lbC1pdGVtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbY2xhc3NdPVwiY29tcHV0ZWRDb250YWluZXJDbGFzc1wiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJyZXNpemFibGUgJiYgIWlzTGFzdFwiXG4gICAgICBbY2xhc3NdPVwiY29tcHV0ZWRIYW5kbGVDbGFzc1wiXG4gICAgICAobW91c2Vkb3duKT1cIm9uSGFuZGxlTW91c2VEb3duKCRldmVudClcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHBvaW50ZXItZXZlbnRzLW5vbmVcIj5cbiAgICAgICAgPGRpdiBbY2xhc3NdPVwiY29tcHV0ZWRIYW5kbGVJbmRpY2F0b3JDbGFzc1wiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICA6aG9zdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlUGFuZWxJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdzdHlsZS5mbGV4Jykgc2l6ZTogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgbWluU2l6ZTogbnVtYmVyID0gMTA7IC8vIHBlcmNlbnRhZ2Ugb3IgcGl4ZWxzXG4gIEBJbnB1dCgpIG1heFNpemU/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHJlc2l6YWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmcgPSAnJztcblxuICBpc0xhc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBjb250YWluZXIgPSBpbmplY3QoUmVzaXphYmxlUGFuZWxDb21wb25lbnQpO1xuXG4gIGdldCBjb21wdXRlZENvbnRhaW5lckNsYXNzKCkge1xuICAgIHJldHVybiBjbihcbiAgICAgICdyZWxhdGl2ZSBoLWZ1bGwgdy1mdWxsIG92ZXJmbG93LWhpZGRlbicsXG4gICAgICB0aGlzLmNsYXNzXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjb21wdXRlZEhhbmRsZUNsYXNzKCkge1xuICAgIGNvbnN0IGlzSG9yaXpvbnRhbCA9IHRoaXMuY29udGFpbmVyPy5kaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJztcbiAgICByZXR1cm4gY24oXG4gICAgICAnYWJzb2x1dGUgei0yMCcsXG4gICAgICBpc0hvcml6b250YWxcbiAgICAgICAgPyAndG9wLTAgYm90dG9tLTAgLXJpZ2h0LTIgdy00IGN1cnNvci1jb2wtcmVzaXplJ1xuICAgICAgICA6ICdsZWZ0LTAgcmlnaHQtMCAtYm90dG9tLTIgaC00IGN1cnNvci1yb3ctcmVzaXplJyxcbiAgICAgICdob3ZlcjpiZy1wcmltYXJ5LzUgYWN0aXZlOmJnLXByaW1hcnkvMTAnXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjb21wdXRlZEhhbmRsZUluZGljYXRvckNsYXNzKCkge1xuICAgIGNvbnN0IGlzSG9yaXpvbnRhbCA9IHRoaXMuY29udGFpbmVyPy5kaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJztcbiAgICByZXR1cm4gY24oXG4gICAgICAnYmctbXV0ZWQtZm9yZWdyb3VuZC80MCByb3VuZGVkLWZ1bGwnLFxuICAgICAgaXNIb3Jpem9udGFsID8gJ3ctMSBoLTYnIDogJ2gtMSB3LTYnXG4gICAgKTtcbiAgfVxuXG4gIG9uSGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jb250YWluZXIuc3RhcnRSZXNpemUodGhpcywgZXZlbnQpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { Component, Input, ContentChildren, ElementRef, inject, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { cn } from './utils/cn';
|
|
4
|
+
import { ResizablePanelItemComponent } from './resizable-panel-item.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ResizablePanelComponent {
|
|
7
|
+
direction = 'horizontal';
|
|
8
|
+
class = '';
|
|
9
|
+
panels;
|
|
10
|
+
el = inject(ElementRef);
|
|
11
|
+
cdr = inject(ChangeDetectorRef);
|
|
12
|
+
isResizing = false;
|
|
13
|
+
activePanelIndex = -1;
|
|
14
|
+
startCursorPosition = 0;
|
|
15
|
+
startPanelSizes = [];
|
|
16
|
+
mouseMoveListener;
|
|
17
|
+
mouseUpListener;
|
|
18
|
+
ngAfterContentInit() {
|
|
19
|
+
// Initialize panel sizes if needed
|
|
20
|
+
setTimeout(() => {
|
|
21
|
+
this.updatePanelSizes();
|
|
22
|
+
this.updateLastStatus();
|
|
23
|
+
});
|
|
24
|
+
this.panels.changes.subscribe(() => {
|
|
25
|
+
this.updatePanelSizes();
|
|
26
|
+
this.updateLastStatus();
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
ngOnDestroy() {
|
|
30
|
+
this.cleanupListeners();
|
|
31
|
+
}
|
|
32
|
+
updateLastStatus() {
|
|
33
|
+
const panels = this.panels.toArray();
|
|
34
|
+
panels.forEach((p, i) => p.isLast = i === panels.length - 1);
|
|
35
|
+
}
|
|
36
|
+
startResize(item, event) {
|
|
37
|
+
const panels = this.panels.toArray();
|
|
38
|
+
this.activePanelIndex = panels.indexOf(item);
|
|
39
|
+
if (this.activePanelIndex === -1 || this.activePanelIndex === panels.length - 1)
|
|
40
|
+
return;
|
|
41
|
+
this.isResizing = true;
|
|
42
|
+
this.startCursorPosition = this.direction === 'horizontal' ? event.clientX : event.clientY;
|
|
43
|
+
this.startPanelSizes = panels.map(p => p.size);
|
|
44
|
+
this.setupListeners();
|
|
45
|
+
document.body.style.cursor = this.direction === 'horizontal' ? 'col-resize' : 'row-resize';
|
|
46
|
+
document.body.style.userSelect = 'none';
|
|
47
|
+
}
|
|
48
|
+
setupListeners() {
|
|
49
|
+
this.mouseMoveListener = (e) => this.onMouseMove(e);
|
|
50
|
+
this.mouseUpListener = () => this.stopResize();
|
|
51
|
+
document.addEventListener('mousemove', this.mouseMoveListener);
|
|
52
|
+
document.addEventListener('mouseup', this.mouseUpListener);
|
|
53
|
+
}
|
|
54
|
+
cleanupListeners() {
|
|
55
|
+
if (this.mouseMoveListener)
|
|
56
|
+
document.removeEventListener('mousemove', this.mouseMoveListener);
|
|
57
|
+
if (this.mouseUpListener)
|
|
58
|
+
document.removeEventListener('mouseup', this.mouseUpListener);
|
|
59
|
+
}
|
|
60
|
+
onMouseMove(event) {
|
|
61
|
+
if (!this.isResizing)
|
|
62
|
+
return;
|
|
63
|
+
const currentPos = this.direction === 'horizontal' ? event.clientX : event.clientY;
|
|
64
|
+
const deltaPx = currentPos - this.startCursorPosition;
|
|
65
|
+
const containerSize = this.direction === 'horizontal'
|
|
66
|
+
? this.el.nativeElement.offsetWidth
|
|
67
|
+
: this.el.nativeElement.offsetHeight;
|
|
68
|
+
const deltaPercent = (deltaPx / containerSize) * 100;
|
|
69
|
+
const panels = this.panels.toArray();
|
|
70
|
+
const panelA = panels[this.activePanelIndex];
|
|
71
|
+
const panelB = panels[this.activePanelIndex + 1];
|
|
72
|
+
const newSizeA = Math.max(panelA.minSize, this.startPanelSizes[this.activePanelIndex] + deltaPercent);
|
|
73
|
+
const actualDelta = newSizeA - this.startPanelSizes[this.activePanelIndex];
|
|
74
|
+
const newSizeB = Math.max(panelB.minSize, this.startPanelSizes[this.activePanelIndex + 1] - actualDelta);
|
|
75
|
+
panelA.size = newSizeA;
|
|
76
|
+
panelB.size = this.startPanelSizes[this.activePanelIndex] + this.startPanelSizes[this.activePanelIndex + 1] - panelA.size;
|
|
77
|
+
if (panelB.size < panelB.minSize) {
|
|
78
|
+
panelB.size = panelB.minSize;
|
|
79
|
+
panelA.size = (this.startPanelSizes[this.activePanelIndex] + this.startPanelSizes[this.activePanelIndex + 1]) - panelB.minSize;
|
|
80
|
+
}
|
|
81
|
+
this.cdr.detectChanges();
|
|
82
|
+
}
|
|
83
|
+
stopResize() {
|
|
84
|
+
this.isResizing = false;
|
|
85
|
+
this.cleanupListeners();
|
|
86
|
+
document.body.style.cursor = '';
|
|
87
|
+
document.body.style.userSelect = '';
|
|
88
|
+
}
|
|
89
|
+
updatePanelSizes() {
|
|
90
|
+
const panels = this.panels.toArray();
|
|
91
|
+
const totalPanels = panels.length;
|
|
92
|
+
if (totalPanels > 0) {
|
|
93
|
+
const defaultSize = 100 / totalPanels;
|
|
94
|
+
panels.forEach(panel => {
|
|
95
|
+
if (!panel.size) {
|
|
96
|
+
panel.size = defaultSize;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
get computedContainerClass() {
|
|
102
|
+
return cn('w-full h-full', this.class);
|
|
103
|
+
}
|
|
104
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizablePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
105
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ResizablePanelComponent, isStandalone: true, selector: "tolle-resizable-panel", inputs: { direction: "direction", class: "class" }, queries: [{ propertyName: "panels", predicate: ResizablePanelItemComponent }], ngImport: i0, template: `
|
|
106
|
+
<div [class]="computedContainerClass">
|
|
107
|
+
<div class="flex" [class.flex-col]="direction === 'vertical'" [class.flex-row]="direction === 'horizontal'">
|
|
108
|
+
<ng-content></ng-content>
|
|
109
|
+
</div>
|
|
110
|
+
</div>
|
|
111
|
+
`, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
112
|
+
}
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizablePanelComponent, decorators: [{
|
|
114
|
+
type: Component,
|
|
115
|
+
args: [{ selector: 'tolle-resizable-panel', standalone: true, imports: [CommonModule], template: `
|
|
116
|
+
<div [class]="computedContainerClass">
|
|
117
|
+
<div class="flex" [class.flex-col]="direction === 'vertical'" [class.flex-row]="direction === 'horizontal'">
|
|
118
|
+
<ng-content></ng-content>
|
|
119
|
+
</div>
|
|
120
|
+
</div>
|
|
121
|
+
`, styles: [":host{display:block}\n"] }]
|
|
122
|
+
}], propDecorators: { direction: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], class: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], panels: [{
|
|
127
|
+
type: ContentChildren,
|
|
128
|
+
args: [ResizablePanelItemComponent]
|
|
129
|
+
}] } });
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9saWIvcmVzaXphYmxlLXBhbmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQStCLFVBQVUsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDakosT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBbUIvRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLFNBQVMsR0FBOEIsWUFBWSxDQUFDO0lBQ3BELEtBQUssR0FBVyxFQUFFLENBQUM7SUFFa0IsTUFBTSxDQUEwQztJQUV0RixFQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hCLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVoQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLG1CQUFtQixHQUFHLENBQUMsQ0FBQztJQUN4QixlQUFlLEdBQWEsRUFBRSxDQUFDO0lBRS9CLGlCQUFpQixDQUEyQjtJQUM1QyxlQUFlLENBQTJCO0lBRWxELGtCQUFrQjtRQUNoQixtQ0FBbUM7UUFDbkMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFD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QUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxFQUFFLENBQ1AsZUFBZSxFQUNmLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNKLENBQUM7d0dBM0hVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLDRKQUlqQiwyQkFBMkIsNkJBakJsQzs7Ozs7O0dBTVQsK0ZBUFMsWUFBWTs7NEZBY1gsdUJBQXVCO2tCQWpCbkMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLFlBQ2I7Ozs7OztHQU1UOzhCQVFRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUV3QyxNQUFNO3NCQUFuRCxlQUFlO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlckNvbnRlbnRJbml0LCBFbGVtZW50UmVmLCBpbmplY3QsIENoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBjbiB9IGZyb20gJy4vdXRpbHMvY24nO1xuaW1wb3J0IHsgUmVzaXphYmxlUGFuZWxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9yZXNpemFibGUtcGFuZWwtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2xsZS1yZXNpemFibGUtcGFuZWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtjbGFzc109XCJjb21wdXRlZENvbnRhaW5lckNsYXNzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiIFtjbGFzcy5mbGV4LWNvbF09XCJkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCdcIiBbY2xhc3MuZmxleC1yb3ddPVwiZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCdcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICA6aG9zdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIGBdXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZVBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihSZXNpemFibGVQYW5lbEl0ZW1Db21wb25lbnQpIHBhbmVscyE6IFF1ZXJ5TGlzdDxSZXNpemFibGVQYW5lbEl0ZW1Db21wb25lbnQ+O1xuXG4gIHByaXZhdGUgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBwcml2YXRlIGlzUmVzaXppbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBhY3RpdmVQYW5lbEluZGV4ID0gLTE7XG4gIHByaXZhdGUgc3RhcnRDdXJzb3JQb3NpdGlvbiA9IDA7XG4gIHByaXZhdGUgc3RhcnRQYW5lbFNpemVzOiBudW1iZXJbXSA9IFtdO1xuXG4gIHByaXZhdGUgbW91c2VNb3ZlTGlzdGVuZXI/OiAoZTogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBtb3VzZVVwTGlzdGVuZXI/OiAoZTogTW91c2VFdmVudCkgPT4gdm9pZDtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgLy8gSW5pdGlhbGl6ZSBwYW5lbCBzaXplcyBpZiBuZWVkZWRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlUGFuZWxTaXplcygpO1xuICAgICAgdGhpcy51cGRhdGVMYXN0U3RhdHVzKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnBhbmVscy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVBhbmVsU2l6ZXMoKTtcbiAgICAgIHRoaXMudXBkYXRlTGFzdFN0YXR1cygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jbGVhbnVwTGlzdGVuZXJzKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUxhc3RTdGF0dXMoKSB7XG4gICAgY29uc3QgcGFuZWxzID0gdGhpcy5wYW5lbHMudG9BcnJheSgpO1xuICAgIHBhbmVscy5mb3JFYWNoKChwLCBpKSA9PiBwLmlzTGFzdCA9IGkgPT09IHBhbmVscy5sZW5ndGggLSAxKTtcbiAgfVxuXG4gIHN0YXJ0UmVzaXplKGl0ZW06IFJlc2l6YWJsZVBhbmVsSXRlbUNvbXBvbmVudCwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBjb25zdCBwYW5lbHMgPSB0aGlzLnBhbmVscy50b0FycmF5KCk7XG4gICAgdGhpcy5hY3RpdmVQYW5lbEluZGV4ID0gcGFuZWxzLmluZGV4T2YoaXRlbSk7XG4gICAgaWYgKHRoaXMuYWN0aXZlUGFuZWxJbmRleCA9PT0gLTEgfHwgdGhpcy5hY3RpdmVQYW5lbEluZGV4ID09PSBwYW5lbHMubGVuZ3RoIC0gMSkgcmV0dXJuO1xuXG4gICAgdGhpcy5pc1Jlc2l6aW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN0YXJ0Q3Vyc29yUG9zaXRpb24gPSB0aGlzLmRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnID8gZXZlbnQuY2xpZW50WCA6IGV2ZW50LmNsaWVudFk7XG4gICAgdGhpcy5zdGFydFBhbmVsU2l6ZXMgPSBwYW5lbHMubWFwKHAgPT4gcC5zaXplKTtcblxuICAgIHRoaXMuc2V0dXBMaXN0ZW5lcnMoKTtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IHRoaXMuZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAnY29sLXJlc2l6ZScgOiAncm93LXJlc2l6ZSc7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0ID0gJ25vbmUnO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cExpc3RlbmVycygpIHtcbiAgICB0aGlzLm1vdXNlTW92ZUxpc3RlbmVyID0gKGU6IE1vdXNlRXZlbnQpID0+IHRoaXMub25Nb3VzZU1vdmUoZSk7XG4gICAgdGhpcy5tb3VzZVVwTGlzdGVuZXIgPSAoKSA9PiB0aGlzLnN0b3BSZXNpemUoKTtcblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMubW91c2VNb3ZlTGlzdGVuZXIpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm1vdXNlVXBMaXN0ZW5lcik7XG4gIH1cblxuICBwcml2YXRlIGNsZWFudXBMaXN0ZW5lcnMoKSB7XG4gICAgaWYgKHRoaXMubW91c2VNb3ZlTGlzdGVuZXIpIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMubW91c2VNb3ZlTGlzdGVuZXIpO1xuICAgIGlmICh0aGlzLm1vdXNlVXBMaXN0ZW5lcikgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMubW91c2VVcExpc3RlbmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuaXNSZXNpemluZykgcmV0dXJuO1xuXG4gICAgY29uc3QgY3VycmVudFBvcyA9IHRoaXMuZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgPyBldmVudC5jbGllbnRYIDogZXZlbnQuY2xpZW50WTtcbiAgICBjb25zdCBkZWx0YVB4ID0gY3VycmVudFBvcyAtIHRoaXMuc3RhcnRDdXJzb3JQb3NpdGlvbjtcblxuICAgIGNvbnN0IGNvbnRhaW5lclNpemUgPSB0aGlzLmRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnXG4gICAgICA/IHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aFxuICAgICAgOiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgY29uc3QgZGVsdGFQZXJjZW50ID0gKGRlbHRhUHggLyBjb250YWluZXJTaXplKSAqIDEwMDtcblxuICAgIGNvbnN0IHBhbmVscyA9IHRoaXMucGFuZWxzLnRvQXJyYXkoKTtcbiAgICBjb25zdCBwYW5lbEEgPSBwYW5lbHNbdGhpcy5hY3RpdmVQYW5lbEluZGV4XTtcbiAgICBjb25zdCBwYW5lbEIgPSBwYW5lbHNbdGhpcy5hY3RpdmVQYW5lbEluZGV4ICsgMV07XG5cbiAgICBjb25zdCBuZXdTaXplQSA9IE1hdGgubWF4KHBhbmVsQS5taW5TaXplLCB0aGlzLnN0YXJ0UGFuZWxTaXplc1t0aGlzLmFjdGl2ZVBhbmVsSW5kZXhdICsgZGVsdGFQZXJjZW50KTtcbiAgICBjb25zdCBhY3R1YWxEZWx0YSA9IG5ld1NpemVBIC0gdGhpcy5zdGFydFBhbmVsU2l6ZXNbdGhpcy5hY3RpdmVQYW5lbEluZGV4XTtcbiAgICBjb25zdCBuZXdTaXplQiA9IE1hdGgubWF4KHBhbmVsQi5taW5TaXplLCB0aGlzLnN0YXJ0UGFuZWxTaXplc1t0aGlzLmFjdGl2ZVBhbmVsSW5kZXggKyAxXSAtIGFjdHVhbERlbHRhKTtcblxuICAgIHBhbmVsQS5zaXplID0gbmV3U2l6ZUE7XG4gICAgcGFuZWxCLnNpemUgPSB0aGlzLnN0YXJ0UGFuZWxTaXplc1t0aGlzLmFjdGl2ZVBhbmVsSW5kZXhdICsgdGhpcy5zdGFydFBhbmVsU2l6ZXNbdGhpcy5hY3RpdmVQYW5lbEluZGV4ICsgMV0gLSBwYW5lbEEuc2l6ZTtcblxuICAgIGlmIChwYW5lbEIuc2l6ZSA8IHBhbmVsQi5taW5TaXplKSB7XG4gICAgICBwYW5lbEIuc2l6ZSA9IHBhbmVsQi5taW5TaXplO1xuICAgICAgcGFuZWxBLnNpemUgPSAodGhpcy5zdGFydFBhbmVsU2l6ZXNbdGhpcy5hY3RpdmVQYW5lbEluZGV4XSArIHRoaXMuc3RhcnRQYW5lbFNpemVzW3RoaXMuYWN0aXZlUGFuZWxJbmRleCArIDFdKSAtIHBhbmVsQi5taW5TaXplO1xuICAgIH1cblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcFJlc2l6ZSgpIHtcbiAgICB0aGlzLmlzUmVzaXppbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNsZWFudXBMaXN0ZW5lcnMoKTtcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9ICcnO1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUudXNlclNlbGVjdCA9ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQYW5lbFNpemVzKCkge1xuICAgIGNvbnN0IHBhbmVscyA9IHRoaXMucGFuZWxzLnRvQXJyYXkoKTtcbiAgICBjb25zdCB0b3RhbFBhbmVscyA9IHBhbmVscy5sZW5ndGg7XG5cbiAgICBpZiAodG90YWxQYW5lbHMgPiAwKSB7XG4gICAgICBjb25zdCBkZWZhdWx0U2l6ZSA9IDEwMCAvIHRvdGFsUGFuZWxzO1xuICAgICAgcGFuZWxzLmZvckVhY2gocGFuZWwgPT4ge1xuICAgICAgICBpZiAoIXBhbmVsLnNpemUpIHtcbiAgICAgICAgICBwYW5lbC5zaXplID0gZGVmYXVsdFNpemU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjb21wdXRlZENvbnRhaW5lckNsYXNzKCkge1xuICAgIHJldHVybiBjbihcbiAgICAgICd3LWZ1bGwgaC1mdWxsJyxcbiAgICAgIHRoaXMuY2xhc3NcbiAgICApO1xuICB9XG59XG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -83,4 +83,6 @@ export * from './lib/country-selector.component';
|
|
|
83
83
|
export * from './lib/phone-number-input.component';
|
|
84
84
|
export * from './lib/phone-number.service';
|
|
85
85
|
export * from './lib/country-codes.service';
|
|
86
|
-
|
|
86
|
+
export * from './lib/resizable-panel.component';
|
|
87
|
+
export * from './lib/resizable-panel-item.component';
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RvbGxlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQTtBQUN4QyxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQTtBQUMxQyxjQUFjLDRCQUE0QixDQUFBO0FBQzFDLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLHFCQUFxQixDQUFBO0FBQ25DLGNBQWMsMkJBQTJCLENBQUE7QUFDekMsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQTtBQUM3QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0b2xsZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2NuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0LWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdC1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0LXNlcGFyYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3dpdGNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYWRnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2tlbGV0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWctaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2x0aXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RvYXN0LnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2FzdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2xsZS1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbXVsdGktc2VsZWN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhbGVuZGFyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hc2tlZC1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXBpY2tlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdpbmF0aW9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtdGFibGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9sbGUtY2VsbC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY2NvcmRpb24taXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY2NvcmRpb24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kYWwuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kYWwtcmVmJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kYWwuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGFsLXN0YWNrLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RhbCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbi1ncm91cC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yYW5nZS1jYWxlbmRhci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aGVtZS5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tbGFiZWwuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tbWVudS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi1zZXBhcmF0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duLXRyaWdnZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RleHRhcmVhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbGVydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdmF0YXItZmFsbGJhY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JyZWFkY3J1bWItbGluay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJlYWRjcnVtYi1zZXBhcmF0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JyZWFkY3J1bWItaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL290cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvb3RwLXNsb3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL290cC1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcG9wb3Zlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yYWRpby1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmFkaW8taXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VnbWVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lkZWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2Fyb3VzZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcGFyYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZ3Jlc3MuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NsaWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2dnbGUtZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hvdmVyLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxhcHNpYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zY3JvbGwtYXJlYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbGVydC1kaWFsb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbGVydC1kaWFsb2cudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWxlcnQtZGlhbG9nLWR5bmFtaWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoZWV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGVldC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoZWV0LXJlZic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGVldC50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGVldC13cmFwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3VudHJ5LXNlbGVjdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waG9uZS1udW1iZXItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Bob25lLW51bWJlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvdW50cnktY29kZXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXNpemFibGUtcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc2l6YWJsZS1wYW5lbC1pdGVtLmNvbXBvbmVudCc7Il19
|
package/fesm2022/tolle-ui.mjs
CHANGED
|
@@ -13993,6 +13993,204 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
13993
13993
|
}]
|
|
13994
13994
|
}] });
|
|
13995
13995
|
|
|
13996
|
+
class ResizablePanelItemComponent {
|
|
13997
|
+
size = 1;
|
|
13998
|
+
minSize = 10; // percentage or pixels
|
|
13999
|
+
maxSize;
|
|
14000
|
+
resizable = true;
|
|
14001
|
+
class = '';
|
|
14002
|
+
isLast = false;
|
|
14003
|
+
container = inject(ResizablePanelComponent);
|
|
14004
|
+
get computedContainerClass() {
|
|
14005
|
+
return cn('relative h-full w-full overflow-hidden', this.class);
|
|
14006
|
+
}
|
|
14007
|
+
get computedHandleClass() {
|
|
14008
|
+
const isHorizontal = this.container?.direction === 'horizontal';
|
|
14009
|
+
return cn('absolute z-20', isHorizontal
|
|
14010
|
+
? 'top-0 bottom-0 -right-2 w-4 cursor-col-resize'
|
|
14011
|
+
: 'left-0 right-0 -bottom-2 h-4 cursor-row-resize', 'hover:bg-primary/5 active:bg-primary/10');
|
|
14012
|
+
}
|
|
14013
|
+
get computedHandleIndicatorClass() {
|
|
14014
|
+
const isHorizontal = this.container?.direction === 'horizontal';
|
|
14015
|
+
return cn('bg-muted-foreground/40 rounded-full', isHorizontal ? 'w-1 h-6' : 'h-1 w-6');
|
|
14016
|
+
}
|
|
14017
|
+
onHandleMouseDown(event) {
|
|
14018
|
+
this.container.startResize(this, event);
|
|
14019
|
+
}
|
|
14020
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizablePanelItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14021
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ResizablePanelItemComponent, isStandalone: true, selector: "tolle-resizable-panel-item", inputs: { size: "size", minSize: "minSize", maxSize: "maxSize", resizable: "resizable", class: "class" }, host: { properties: { "style.flex": "this.size" } }, ngImport: i0, template: `
|
|
14022
|
+
<div [class]="computedContainerClass">
|
|
14023
|
+
<ng-content></ng-content>
|
|
14024
|
+
</div>
|
|
14025
|
+
|
|
14026
|
+
<div
|
|
14027
|
+
*ngIf="resizable && !isLast"
|
|
14028
|
+
[class]="computedHandleClass"
|
|
14029
|
+
(mousedown)="onHandleMouseDown($event)"
|
|
14030
|
+
>
|
|
14031
|
+
<div class="absolute inset-0 flex items-center justify-center pointer-events-none">
|
|
14032
|
+
<div [class]="computedHandleIndicatorClass"></div>
|
|
14033
|
+
</div>
|
|
14034
|
+
</div>
|
|
14035
|
+
`, isInline: true, styles: [":host{display:block;position:relative;overflow:visible}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
14036
|
+
}
|
|
14037
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizablePanelItemComponent, decorators: [{
|
|
14038
|
+
type: Component,
|
|
14039
|
+
args: [{ selector: 'tolle-resizable-panel-item', standalone: true, imports: [CommonModule], template: `
|
|
14040
|
+
<div [class]="computedContainerClass">
|
|
14041
|
+
<ng-content></ng-content>
|
|
14042
|
+
</div>
|
|
14043
|
+
|
|
14044
|
+
<div
|
|
14045
|
+
*ngIf="resizable && !isLast"
|
|
14046
|
+
[class]="computedHandleClass"
|
|
14047
|
+
(mousedown)="onHandleMouseDown($event)"
|
|
14048
|
+
>
|
|
14049
|
+
<div class="absolute inset-0 flex items-center justify-center pointer-events-none">
|
|
14050
|
+
<div [class]="computedHandleIndicatorClass"></div>
|
|
14051
|
+
</div>
|
|
14052
|
+
</div>
|
|
14053
|
+
`, styles: [":host{display:block;position:relative;overflow:visible}\n"] }]
|
|
14054
|
+
}], propDecorators: { size: [{
|
|
14055
|
+
type: Input
|
|
14056
|
+
}, {
|
|
14057
|
+
type: HostBinding,
|
|
14058
|
+
args: ['style.flex']
|
|
14059
|
+
}], minSize: [{
|
|
14060
|
+
type: Input
|
|
14061
|
+
}], maxSize: [{
|
|
14062
|
+
type: Input
|
|
14063
|
+
}], resizable: [{
|
|
14064
|
+
type: Input
|
|
14065
|
+
}], class: [{
|
|
14066
|
+
type: Input
|
|
14067
|
+
}] } });
|
|
14068
|
+
|
|
14069
|
+
class ResizablePanelComponent {
|
|
14070
|
+
direction = 'horizontal';
|
|
14071
|
+
class = '';
|
|
14072
|
+
panels;
|
|
14073
|
+
el = inject(ElementRef);
|
|
14074
|
+
cdr = inject(ChangeDetectorRef);
|
|
14075
|
+
isResizing = false;
|
|
14076
|
+
activePanelIndex = -1;
|
|
14077
|
+
startCursorPosition = 0;
|
|
14078
|
+
startPanelSizes = [];
|
|
14079
|
+
mouseMoveListener;
|
|
14080
|
+
mouseUpListener;
|
|
14081
|
+
ngAfterContentInit() {
|
|
14082
|
+
// Initialize panel sizes if needed
|
|
14083
|
+
setTimeout(() => {
|
|
14084
|
+
this.updatePanelSizes();
|
|
14085
|
+
this.updateLastStatus();
|
|
14086
|
+
});
|
|
14087
|
+
this.panels.changes.subscribe(() => {
|
|
14088
|
+
this.updatePanelSizes();
|
|
14089
|
+
this.updateLastStatus();
|
|
14090
|
+
});
|
|
14091
|
+
}
|
|
14092
|
+
ngOnDestroy() {
|
|
14093
|
+
this.cleanupListeners();
|
|
14094
|
+
}
|
|
14095
|
+
updateLastStatus() {
|
|
14096
|
+
const panels = this.panels.toArray();
|
|
14097
|
+
panels.forEach((p, i) => p.isLast = i === panels.length - 1);
|
|
14098
|
+
}
|
|
14099
|
+
startResize(item, event) {
|
|
14100
|
+
const panels = this.panels.toArray();
|
|
14101
|
+
this.activePanelIndex = panels.indexOf(item);
|
|
14102
|
+
if (this.activePanelIndex === -1 || this.activePanelIndex === panels.length - 1)
|
|
14103
|
+
return;
|
|
14104
|
+
this.isResizing = true;
|
|
14105
|
+
this.startCursorPosition = this.direction === 'horizontal' ? event.clientX : event.clientY;
|
|
14106
|
+
this.startPanelSizes = panels.map(p => p.size);
|
|
14107
|
+
this.setupListeners();
|
|
14108
|
+
document.body.style.cursor = this.direction === 'horizontal' ? 'col-resize' : 'row-resize';
|
|
14109
|
+
document.body.style.userSelect = 'none';
|
|
14110
|
+
}
|
|
14111
|
+
setupListeners() {
|
|
14112
|
+
this.mouseMoveListener = (e) => this.onMouseMove(e);
|
|
14113
|
+
this.mouseUpListener = () => this.stopResize();
|
|
14114
|
+
document.addEventListener('mousemove', this.mouseMoveListener);
|
|
14115
|
+
document.addEventListener('mouseup', this.mouseUpListener);
|
|
14116
|
+
}
|
|
14117
|
+
cleanupListeners() {
|
|
14118
|
+
if (this.mouseMoveListener)
|
|
14119
|
+
document.removeEventListener('mousemove', this.mouseMoveListener);
|
|
14120
|
+
if (this.mouseUpListener)
|
|
14121
|
+
document.removeEventListener('mouseup', this.mouseUpListener);
|
|
14122
|
+
}
|
|
14123
|
+
onMouseMove(event) {
|
|
14124
|
+
if (!this.isResizing)
|
|
14125
|
+
return;
|
|
14126
|
+
const currentPos = this.direction === 'horizontal' ? event.clientX : event.clientY;
|
|
14127
|
+
const deltaPx = currentPos - this.startCursorPosition;
|
|
14128
|
+
const containerSize = this.direction === 'horizontal'
|
|
14129
|
+
? this.el.nativeElement.offsetWidth
|
|
14130
|
+
: this.el.nativeElement.offsetHeight;
|
|
14131
|
+
const deltaPercent = (deltaPx / containerSize) * 100;
|
|
14132
|
+
const panels = this.panels.toArray();
|
|
14133
|
+
const panelA = panels[this.activePanelIndex];
|
|
14134
|
+
const panelB = panels[this.activePanelIndex + 1];
|
|
14135
|
+
const newSizeA = Math.max(panelA.minSize, this.startPanelSizes[this.activePanelIndex] + deltaPercent);
|
|
14136
|
+
const actualDelta = newSizeA - this.startPanelSizes[this.activePanelIndex];
|
|
14137
|
+
const newSizeB = Math.max(panelB.minSize, this.startPanelSizes[this.activePanelIndex + 1] - actualDelta);
|
|
14138
|
+
panelA.size = newSizeA;
|
|
14139
|
+
panelB.size = this.startPanelSizes[this.activePanelIndex] + this.startPanelSizes[this.activePanelIndex + 1] - panelA.size;
|
|
14140
|
+
if (panelB.size < panelB.minSize) {
|
|
14141
|
+
panelB.size = panelB.minSize;
|
|
14142
|
+
panelA.size = (this.startPanelSizes[this.activePanelIndex] + this.startPanelSizes[this.activePanelIndex + 1]) - panelB.minSize;
|
|
14143
|
+
}
|
|
14144
|
+
this.cdr.detectChanges();
|
|
14145
|
+
}
|
|
14146
|
+
stopResize() {
|
|
14147
|
+
this.isResizing = false;
|
|
14148
|
+
this.cleanupListeners();
|
|
14149
|
+
document.body.style.cursor = '';
|
|
14150
|
+
document.body.style.userSelect = '';
|
|
14151
|
+
}
|
|
14152
|
+
updatePanelSizes() {
|
|
14153
|
+
const panels = this.panels.toArray();
|
|
14154
|
+
const totalPanels = panels.length;
|
|
14155
|
+
if (totalPanels > 0) {
|
|
14156
|
+
const defaultSize = 100 / totalPanels;
|
|
14157
|
+
panels.forEach(panel => {
|
|
14158
|
+
if (!panel.size) {
|
|
14159
|
+
panel.size = defaultSize;
|
|
14160
|
+
}
|
|
14161
|
+
});
|
|
14162
|
+
}
|
|
14163
|
+
}
|
|
14164
|
+
get computedContainerClass() {
|
|
14165
|
+
return cn('w-full h-full', this.class);
|
|
14166
|
+
}
|
|
14167
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizablePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14168
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ResizablePanelComponent, isStandalone: true, selector: "tolle-resizable-panel", inputs: { direction: "direction", class: "class" }, queries: [{ propertyName: "panels", predicate: ResizablePanelItemComponent }], ngImport: i0, template: `
|
|
14169
|
+
<div [class]="computedContainerClass">
|
|
14170
|
+
<div class="flex" [class.flex-col]="direction === 'vertical'" [class.flex-row]="direction === 'horizontal'">
|
|
14171
|
+
<ng-content></ng-content>
|
|
14172
|
+
</div>
|
|
14173
|
+
</div>
|
|
14174
|
+
`, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
14175
|
+
}
|
|
14176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizablePanelComponent, decorators: [{
|
|
14177
|
+
type: Component,
|
|
14178
|
+
args: [{ selector: 'tolle-resizable-panel', standalone: true, imports: [CommonModule], template: `
|
|
14179
|
+
<div [class]="computedContainerClass">
|
|
14180
|
+
<div class="flex" [class.flex-col]="direction === 'vertical'" [class.flex-row]="direction === 'horizontal'">
|
|
14181
|
+
<ng-content></ng-content>
|
|
14182
|
+
</div>
|
|
14183
|
+
</div>
|
|
14184
|
+
`, styles: [":host{display:block}\n"] }]
|
|
14185
|
+
}], propDecorators: { direction: [{
|
|
14186
|
+
type: Input
|
|
14187
|
+
}], class: [{
|
|
14188
|
+
type: Input
|
|
14189
|
+
}], panels: [{
|
|
14190
|
+
type: ContentChildren,
|
|
14191
|
+
args: [ResizablePanelItemComponent]
|
|
14192
|
+
}] } });
|
|
14193
|
+
|
|
13996
14194
|
/*
|
|
13997
14195
|
* Public API Surface of tolle
|
|
13998
14196
|
*/
|
|
@@ -14001,5 +14199,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
14001
14199
|
* Generated bundle index. Do not edit.
|
|
14002
14200
|
*/
|
|
14003
14201
|
|
|
14004
|
-
export { AccordionComponent, AccordionItemComponent, AlertComponent, AlertDialogActionComponent, AlertDialogCancelComponent, AlertDialogComponent, AlertDialogContentComponent, AlertDialogDescriptionComponent, AlertDialogDynamicComponent, AlertDialogFooterComponent, AlertDialogHeaderComponent, AlertDialogPortalComponent, AlertDialogRef, AlertDialogService, AlertDialogTitleComponent, AlertDialogTriggerComponent, AvatarComponent, AvatarFallbackComponent, BadgeComponent, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbLinkComponent, BreadcrumbSeparatorComponent, ButtonComponent, ButtonGroupComponent, CalendarComponent, CardComponent, CardContentComponent, CardFooterComponent, CardHeaderComponent, CardTitleComponent, CarouselComponent, CarouselContainerDirective, CarouselContentDirective, CarouselContext, CarouselItemDirective, CarouselNextDirective, CarouselPreviousDirective, CheckboxComponent, CollapsibleComponent, CollapsibleContentComponent, CollapsibleTriggerComponent, CountryCodesService, CountrySelectorComponent, DataTableComponent, DatePickerComponent, DateRangePickerComponent, DropdownItemComponent, DropdownLabelComponent, DropdownMenuComponent, DropdownSeparatorComponent, DropdownTriggerDirective, EmptyStateComponent, HoverCardComponent, HoverCardContentComponent, HoverCardTriggerComponent, InputComponent, LabelComponent, MaskedInputComponent, Modal, ModalComponent, ModalRef, ModalService, ModalStackService, MultiSelectComponent, OtpComponent, OtpGroupComponent, OtpSlotComponent, PaginationComponent, PhoneNumberInputComponent, PhoneNumberService, PopoverComponent, PopoverContentComponent, ProgressComponent, RadioGroupComponent, RadioItemComponent, RangeCalendarComponent, ScrollAreaComponent, SegmentedComponent, SelectComponent, SelectGroupComponent, SelectItemComponent, SelectSeparatorComponent, SeparatorComponent, SheetComponent, SheetContentComponent, SheetDescriptionComponent, SheetFooterComponent, SheetHeaderComponent, SheetRef, SheetService, SheetTitleComponent, SheetTriggerComponent, SheetWrapperComponent, SidebarComponent, SkeletonComponent, SliderComponent, SwitchComponent, TOLLE_CONFIG, TabsComponent, TabsContentComponent, TabsListComponent, TabsTriggerComponent, TagInputComponent, TextareaComponent, ThemeService, ToastContainerComponent, ToastService, ToggleComponent, ToggleGroupComponent, ToggleGroupItemComponent, TolleCellDirective, TooltipDirective, cn, provideTolleConfig };
|
|
14202
|
+
export { AccordionComponent, AccordionItemComponent, AlertComponent, AlertDialogActionComponent, AlertDialogCancelComponent, AlertDialogComponent, AlertDialogContentComponent, AlertDialogDescriptionComponent, AlertDialogDynamicComponent, AlertDialogFooterComponent, AlertDialogHeaderComponent, AlertDialogPortalComponent, AlertDialogRef, AlertDialogService, AlertDialogTitleComponent, AlertDialogTriggerComponent, AvatarComponent, AvatarFallbackComponent, BadgeComponent, BreadcrumbComponent, BreadcrumbItemComponent, BreadcrumbLinkComponent, BreadcrumbSeparatorComponent, ButtonComponent, ButtonGroupComponent, CalendarComponent, CardComponent, CardContentComponent, CardFooterComponent, CardHeaderComponent, CardTitleComponent, CarouselComponent, CarouselContainerDirective, CarouselContentDirective, CarouselContext, CarouselItemDirective, CarouselNextDirective, CarouselPreviousDirective, CheckboxComponent, CollapsibleComponent, CollapsibleContentComponent, CollapsibleTriggerComponent, CountryCodesService, CountrySelectorComponent, DataTableComponent, DatePickerComponent, DateRangePickerComponent, DropdownItemComponent, DropdownLabelComponent, DropdownMenuComponent, DropdownSeparatorComponent, DropdownTriggerDirective, EmptyStateComponent, HoverCardComponent, HoverCardContentComponent, HoverCardTriggerComponent, InputComponent, LabelComponent, MaskedInputComponent, Modal, ModalComponent, ModalRef, ModalService, ModalStackService, MultiSelectComponent, OtpComponent, OtpGroupComponent, OtpSlotComponent, PaginationComponent, PhoneNumberInputComponent, PhoneNumberService, PopoverComponent, PopoverContentComponent, ProgressComponent, RadioGroupComponent, RadioItemComponent, RangeCalendarComponent, ResizablePanelComponent, ResizablePanelItemComponent, ScrollAreaComponent, SegmentedComponent, SelectComponent, SelectGroupComponent, SelectItemComponent, SelectSeparatorComponent, SeparatorComponent, SheetComponent, SheetContentComponent, SheetDescriptionComponent, SheetFooterComponent, SheetHeaderComponent, SheetRef, SheetService, SheetTitleComponent, SheetTriggerComponent, SheetWrapperComponent, SidebarComponent, SkeletonComponent, SliderComponent, SwitchComponent, TOLLE_CONFIG, TabsComponent, TabsContentComponent, TabsListComponent, TabsTriggerComponent, TagInputComponent, TextareaComponent, ThemeService, ToastContainerComponent, ToastService, ToggleComponent, ToggleGroupComponent, ToggleGroupItemComponent, TolleCellDirective, TooltipDirective, cn, provideTolleConfig };
|
|
14005
14203
|
//# sourceMappingURL=tolle-ui.mjs.map
|