@mintplayer/ng-bootstrap 21.25.0 → 21.27.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/mintplayer-ng-bootstrap-color-picker.mjs +272 -380
- package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +147 -81
- package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
- package/package.json +1 -1
- package/types/mintplayer-ng-bootstrap-color-picker.d.ts +72 -63
- package/types/mintplayer-ng-bootstrap-dock.d.ts +41 -4
package/package.json
CHANGED
|
@@ -3,6 +3,50 @@ import { ElementRef } from '@angular/core';
|
|
|
3
3
|
import { ControlValueAccessor } from '@angular/forms';
|
|
4
4
|
import * as i1 from '@mintplayer/ng-swiper/observe-size';
|
|
5
5
|
|
|
6
|
+
interface HslColor {
|
|
7
|
+
hue: number;
|
|
8
|
+
saturation: number;
|
|
9
|
+
luminosity: number;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface HsvColor {
|
|
13
|
+
hue: number;
|
|
14
|
+
saturation: number;
|
|
15
|
+
value: number;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface RgbColor {
|
|
19
|
+
r: number;
|
|
20
|
+
g: number;
|
|
21
|
+
b: number;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
declare function hex2rgb(hex: string): RgbColor;
|
|
25
|
+
declare function rgb2hex(rgb: RgbColor): string;
|
|
26
|
+
declare function rgb2hsv(rgb: RgbColor): HsvColor;
|
|
27
|
+
declare function hsv2rgb(hsv: HsvColor): RgbColor;
|
|
28
|
+
declare function rgb2hsl(rgb: RgbColor): HslColor;
|
|
29
|
+
declare function hsl2rgb(hsl: HslColor): RgbColor;
|
|
30
|
+
declare function hsv2hsl(hsv: HsvColor): HslColor;
|
|
31
|
+
declare function hsl2hsv(hsl: HslColor): HsvColor;
|
|
32
|
+
declare function hex2hsv(hex: string): HsvColor;
|
|
33
|
+
declare function hsv2hex(hsv: HsvColor): string;
|
|
34
|
+
/** Polar position (cx, cy) on a disc of radius R → HSV (hue, saturation). */
|
|
35
|
+
declare function polar2hs(dx: number, dy: number, radius: number): {
|
|
36
|
+
hue: number;
|
|
37
|
+
saturation: number;
|
|
38
|
+
};
|
|
39
|
+
/** Inverse of polar2hs. Hue in degrees, saturation in [0, 1] → (dx, dy) on a disc of given radius. */
|
|
40
|
+
declare function hs2polar(hue: number, saturation: number, radius: number): {
|
|
41
|
+
dx: number;
|
|
42
|
+
dy: number;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Hue + Saturation pair shared between the wheel and the strips.
|
|
47
|
+
* Saturation is HSV-saturation (0..1) — at S=0 the color is white at V=1
|
|
48
|
+
* and gray at V<1. (Not HSL-saturation; HSL would put gray at S=0 regardless of L.)
|
|
49
|
+
*/
|
|
6
50
|
interface HS {
|
|
7
51
|
hue: number;
|
|
8
52
|
saturation: number;
|
|
@@ -12,7 +56,7 @@ declare class BsAlphaStripComponent {
|
|
|
12
56
|
readonly canvas: _angular_core.Signal<ElementRef<HTMLCanvasElement>>;
|
|
13
57
|
disabled: _angular_core.InputSignal<boolean>;
|
|
14
58
|
hs: _angular_core.ModelSignal<HS>;
|
|
15
|
-
|
|
59
|
+
brightness: _angular_core.ModelSignal<number>;
|
|
16
60
|
alpha: _angular_core.ModelSignal<number>;
|
|
17
61
|
alphaChange: _angular_core.OutputEmitterRef<number>;
|
|
18
62
|
private canvasContext;
|
|
@@ -20,75 +64,60 @@ declare class BsAlphaStripComponent {
|
|
|
20
64
|
constructor();
|
|
21
65
|
ngAfterViewInit(): void;
|
|
22
66
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsAlphaStripComponent, never>;
|
|
23
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsAlphaStripComponent, "bs-alpha-strip", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hs": { "alias": "hs"; "required": false; "isSignal": true; }; "
|
|
67
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsAlphaStripComponent, "bs-alpha-strip", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hs": { "alias": "hs"; "required": false; "isSignal": true; }; "brightness": { "alias": "brightness"; "required": false; "isSignal": true; }; "alpha": { "alias": "alpha"; "required": false; "isSignal": true; }; }, { "hs": "hsChange"; "brightness": "brightnessChange"; "alpha": "alphaChange"; "alphaChange": "alphaChange"; }, never, never, true, never>;
|
|
24
68
|
}
|
|
25
69
|
|
|
26
|
-
declare class
|
|
27
|
-
private element;
|
|
70
|
+
declare class BsBrightnessStripComponent {
|
|
28
71
|
readonly canvas: _angular_core.Signal<ElementRef<HTMLCanvasElement>>;
|
|
72
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
73
|
+
hs: _angular_core.ModelSignal<HS>;
|
|
74
|
+
brightness: _angular_core.ModelSignal<number>;
|
|
75
|
+
brightnessChange: _angular_core.OutputEmitterRef<number>;
|
|
76
|
+
private canvasContext;
|
|
77
|
+
resultBackground: _angular_core.Signal<string>;
|
|
78
|
+
constructor();
|
|
79
|
+
ngAfterViewInit(): void;
|
|
80
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsBrightnessStripComponent, never>;
|
|
81
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsBrightnessStripComponent, "bs-brightness-strip", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hs": { "alias": "hs"; "required": false; "isSignal": true; }; "brightness": { "alias": "brightness"; "required": false; "isSignal": true; }; }, { "hs": "hsChange"; "brightness": "brightnessChange"; "brightnessChange": "brightnessChange"; }, never, never, true, never>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
declare class BsColorWheelComponent {
|
|
85
|
+
readonly surface: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
29
86
|
width: _angular_core.ModelSignal<number>;
|
|
30
87
|
height: _angular_core.ModelSignal<number>;
|
|
31
|
-
|
|
32
|
-
luminosity: _angular_core.ModelSignal<number>;
|
|
88
|
+
brightness: _angular_core.ModelSignal<number>;
|
|
33
89
|
hs: _angular_core.ModelSignal<HS>;
|
|
34
90
|
hsChange: _angular_core.OutputEmitterRef<HS>;
|
|
35
91
|
disabled: _angular_core.InputSignal<boolean>;
|
|
36
|
-
viewInited: _angular_core.WritableSignal<boolean>;
|
|
37
92
|
private readonly isPointerDown;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
shiftY: _angular_core.Signal<number | null>;
|
|
42
|
-
innerRadius: _angular_core.Signal<number>;
|
|
93
|
+
squareSize: _angular_core.Signal<number>;
|
|
94
|
+
shiftX: _angular_core.Signal<number>;
|
|
95
|
+
shiftY: _angular_core.Signal<number>;
|
|
43
96
|
outerRadius: _angular_core.Signal<number>;
|
|
97
|
+
overlayOpacity: _angular_core.Signal<number>;
|
|
44
98
|
markerPosition: _angular_core.Signal<{
|
|
45
99
|
x: number;
|
|
46
100
|
y: number;
|
|
47
101
|
}>;
|
|
48
102
|
constructor();
|
|
49
|
-
ngAfterViewInit(): void;
|
|
50
103
|
onPointerDown(ev: MouseEvent | TouchEvent): void;
|
|
51
104
|
onPointerMove(ev: MouseEvent | TouchEvent): void;
|
|
52
|
-
|
|
53
|
-
onPointerUp(ev: MouseEvent | TouchEvent): void;
|
|
105
|
+
onPointerUp(_ev: MouseEvent | TouchEvent): void;
|
|
54
106
|
private updateColor;
|
|
55
|
-
private isInsideCircle;
|
|
56
|
-
private position2color;
|
|
57
|
-
private color2position;
|
|
58
|
-
private rgb2Hsl;
|
|
59
|
-
/**
|
|
60
|
-
* Divide 1 to n, handling floating point errors.
|
|
61
|
-
* Ensures that the value is in between 0 and 1.
|
|
62
|
-
**/
|
|
63
|
-
private bound01;
|
|
64
107
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsColorWheelComponent, never>;
|
|
65
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsColorWheelComponent, "bs-color-wheel", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
interface RgbColor {
|
|
69
|
-
r: number;
|
|
70
|
-
g: number;
|
|
71
|
-
b: number;
|
|
108
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsColorWheelComponent, "bs-color-wheel", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "brightness": { "alias": "brightness"; "required": false; "isSignal": true; }; "hs": { "alias": "hs"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "width": "widthChange"; "height": "heightChange"; "brightness": "brightnessChange"; "hs": "hsChange"; "hsChange": "hsChange"; }, never, never, true, never>;
|
|
72
109
|
}
|
|
73
110
|
|
|
74
111
|
declare class BsColorPickerValueAccessor implements ControlValueAccessor {
|
|
75
112
|
private host;
|
|
76
113
|
onValueChange?: (value: string) => void;
|
|
77
114
|
onTouched?: () => void;
|
|
115
|
+
private lastHex;
|
|
78
116
|
constructor();
|
|
79
|
-
hsl2rgb(h: number, s: number, l: number): RgbColor;
|
|
80
117
|
registerOnChange(fn: (_: any) => void): void;
|
|
81
118
|
registerOnTouched(fn: () => void): void;
|
|
82
119
|
writeValue(value: string | null): void;
|
|
83
120
|
setDisabledState(isDisabled: boolean): void;
|
|
84
|
-
private rgb2hex;
|
|
85
|
-
private hex2rgb;
|
|
86
|
-
/**
|
|
87
|
-
* Divide 1 to n, handling floating point errors.
|
|
88
|
-
* Ensures that the value is in between 0 and 1.
|
|
89
|
-
**/
|
|
90
|
-
private bound01;
|
|
91
|
-
private rgb2Hsl;
|
|
92
121
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsColorPickerValueAccessor, never>;
|
|
93
122
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsColorPickerValueAccessor, "bs-color-picker", ["bsColorPicker"], {}, {}, never, never, true, never>;
|
|
94
123
|
}
|
|
@@ -99,7 +128,7 @@ declare class BsColorPickerComponent {
|
|
|
99
128
|
disabled: _angular_core.WritableSignal<boolean>;
|
|
100
129
|
allowAlpha: _angular_core.InputSignal<boolean>;
|
|
101
130
|
hs: _angular_core.WritableSignal<HS>;
|
|
102
|
-
|
|
131
|
+
brightness: _angular_core.WritableSignal<number>;
|
|
103
132
|
alpha: _angular_core.ModelSignal<number>;
|
|
104
133
|
alphaChange: _angular_core.OutputEmitterRef<number>;
|
|
105
134
|
constructor();
|
|
@@ -107,20 +136,6 @@ declare class BsColorPickerComponent {
|
|
|
107
136
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsColorPickerComponent, "bs-color-picker", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "allowAlpha": { "alias": "allowAlpha"; "required": false; "isSignal": true; }; "alpha": { "alias": "alpha"; "required": false; "isSignal": true; }; }, { "alpha": "alphaChange"; "alphaChange": "alphaChange"; }, never, never, true, [{ directive: typeof BsColorPickerValueAccessor; inputs: {}; outputs: {}; }]>;
|
|
108
137
|
}
|
|
109
138
|
|
|
110
|
-
declare class BsLuminosityStripComponent {
|
|
111
|
-
readonly canvas: _angular_core.Signal<ElementRef<HTMLCanvasElement>>;
|
|
112
|
-
disabled: _angular_core.InputSignal<boolean>;
|
|
113
|
-
hs: _angular_core.ModelSignal<HS>;
|
|
114
|
-
luminosity: _angular_core.ModelSignal<number>;
|
|
115
|
-
luminosityChange: _angular_core.OutputEmitterRef<number>;
|
|
116
|
-
private canvasContext;
|
|
117
|
-
resultBackground: _angular_core.Signal<string>;
|
|
118
|
-
constructor();
|
|
119
|
-
ngAfterViewInit(): void;
|
|
120
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsLuminosityStripComponent, never>;
|
|
121
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsLuminosityStripComponent, "bs-luminosity-strip", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hs": { "alias": "hs"; "required": false; "isSignal": true; }; "luminosity": { "alias": "luminosity"; "required": false; "isSignal": true; }; }, { "hs": "hsChange"; "luminosity": "luminosityChange"; "luminosityChange": "luminosityChange"; }, never, never, true, never>;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
139
|
declare class BsSliderComponent {
|
|
125
140
|
private observeSize;
|
|
126
141
|
readonly track: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
@@ -148,13 +163,7 @@ declare class BsTrackDirective {
|
|
|
148
163
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsTrackDirective, "[bsTrack]", never, {}, {}, never, never, true, never>;
|
|
149
164
|
}
|
|
150
165
|
|
|
151
|
-
interface HslColor {
|
|
152
|
-
hue: number;
|
|
153
|
-
saturation: number;
|
|
154
|
-
luminosity: number;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
166
|
type HtmlColor = `#${string}`;
|
|
158
167
|
|
|
159
|
-
export { BsAlphaStripComponent, BsColorPickerComponent, BsColorPickerValueAccessor, BsColorWheelComponent,
|
|
160
|
-
export type { HS, HslColor, HtmlColor, RgbColor };
|
|
168
|
+
export { BsAlphaStripComponent, BsBrightnessStripComponent, BsColorPickerComponent, BsColorPickerValueAccessor, BsColorWheelComponent, BsSliderComponent, BsThumbDirective, BsTrackDirective, hex2hsv, hex2rgb, hs2polar, hsl2hsv, hsl2rgb, hsv2hex, hsv2hsl, hsv2rgb, polar2hs, rgb2hex, rgb2hsl, rgb2hsv };
|
|
169
|
+
export type { HS, HslColor, HsvColor, HtmlColor, RgbColor };
|
|
@@ -114,6 +114,7 @@ declare class MintDockManagerElement extends LitElement {
|
|
|
114
114
|
private cornerSnapXTargets;
|
|
115
115
|
private cornerSnapYTargets;
|
|
116
116
|
private showSnapMarkers;
|
|
117
|
+
debugLayoutIntegrity: boolean;
|
|
117
118
|
private renderSnapMarkersForCorner;
|
|
118
119
|
private clearSnapMarkers;
|
|
119
120
|
private pendingDragEndTimeout;
|
|
@@ -275,8 +276,6 @@ declare class MintDockManagerElement extends LitElement {
|
|
|
275
276
|
private getNodeAtPath;
|
|
276
277
|
private resolveSplitNode;
|
|
277
278
|
private replaceNodeInTree;
|
|
278
|
-
private cleanupEmptyStackInTree;
|
|
279
|
-
private cleanupSplitIfNecessary;
|
|
280
279
|
private dockNodeBeside;
|
|
281
280
|
private forEachStack;
|
|
282
281
|
private findStackContainingPane;
|
|
@@ -294,12 +293,42 @@ declare class MintDockManagerElement extends LitElement {
|
|
|
294
293
|
private removePaneFromLocation;
|
|
295
294
|
private addPaneToLocation;
|
|
296
295
|
private setActivePaneForLocation;
|
|
297
|
-
private cleanupLocation;
|
|
298
296
|
private reorderPaneInLocation;
|
|
299
297
|
private removeFloatingAt;
|
|
300
298
|
private removePaneFromFloating;
|
|
301
299
|
private normalizeSizesArray;
|
|
302
300
|
private normalizeSplitNode;
|
|
301
|
+
/**
|
|
302
|
+
* Bottom-up layout sanitizer. Returns a normalized version of `node` where:
|
|
303
|
+
* - Empty stacks (panes.length === 0) are dropped (returned as null).
|
|
304
|
+
* - A stack's `activePane` is repaired if it no longer references one of `panes`.
|
|
305
|
+
* - Splits whose direction matches a child split are flattened, with sizes
|
|
306
|
+
* combined multiplicatively so the resulting on-screen pixel layout is
|
|
307
|
+
* identical to the pre-merge one.
|
|
308
|
+
* - Splits with 0 children become null. Splits with 1 child are unwrapped.
|
|
309
|
+
*
|
|
310
|
+
* Idempotent: passing the result back through this method yields the same
|
|
311
|
+
* structure. Mutates the input tree in place but only returns nodes that
|
|
312
|
+
* remain part of the layout.
|
|
313
|
+
*/
|
|
314
|
+
private normalizeLayoutNode;
|
|
315
|
+
/**
|
|
316
|
+
* Apply `normalizeLayoutNode` to `rootLayout` and every floating window's
|
|
317
|
+
* root, drop floating windows whose root collapses to null, and repair
|
|
318
|
+
* stale `activePane` references on each floating window. Run this at the
|
|
319
|
+
* end of every public mutation entry point (drop handlers, layout setter,
|
|
320
|
+
* pane removal) so the tree the renderer sees is always in canonical form.
|
|
321
|
+
*/
|
|
322
|
+
private normalizeAllLayouts;
|
|
323
|
+
/**
|
|
324
|
+
* Dev-mode integrity guard: walks every pane referenced by the current
|
|
325
|
+
* layout and asserts that the rendered shadow DOM contains a matching
|
|
326
|
+
* `<slot name="${pane}">`. A missing slot means the layout tree got into
|
|
327
|
+
* a state the renderer can't display — typically a missed normalize() call
|
|
328
|
+
* or a render bug. Opt in via the `debug-layout-integrity` attribute or
|
|
329
|
+
* the `debugLayoutIntegrity` property; off by default.
|
|
330
|
+
*/
|
|
331
|
+
private verifyProjectionSlots;
|
|
303
332
|
private dispatchLayoutChanged;
|
|
304
333
|
private cloneLayoutNode;
|
|
305
334
|
private cloneFloatingArray;
|
|
@@ -307,6 +336,14 @@ declare class MintDockManagerElement extends LitElement {
|
|
|
307
336
|
|
|
308
337
|
declare class BsDockManagerComponent implements AfterViewInit {
|
|
309
338
|
readonly layout: _angular_core.InputSignal<DockLayoutNode | DockLayout | null>;
|
|
339
|
+
/**
|
|
340
|
+
* Dev-mode integrity guard. When `true`, the inner web component throws
|
|
341
|
+
* after each render if any registered pane has no projection slot in the
|
|
342
|
+
* shadow DOM — a signal that the layout tree got corrupted. Off by default;
|
|
343
|
+
* enable in development to catch layout-logic bugs loudly.
|
|
344
|
+
*/
|
|
345
|
+
readonly debugLayoutIntegrity: _angular_core.InputSignal<boolean>;
|
|
346
|
+
protected readonly debugLayoutIntegrityAttr: _angular_core.Signal<"" | null>;
|
|
310
347
|
get layoutSnapshot(): DockLayoutSnapshot | null;
|
|
311
348
|
readonly layoutChange: _angular_core.OutputEmitterRef<DockLayoutSnapshot | null>;
|
|
312
349
|
readonly layoutSnapshotChange: _angular_core.OutputEmitterRef<DockLayoutSnapshot>;
|
|
@@ -324,7 +361,7 @@ declare class BsDockManagerComponent implements AfterViewInit {
|
|
|
324
361
|
private stringifyLayout;
|
|
325
362
|
private cloneLayout;
|
|
326
363
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsDockManagerComponent, never>;
|
|
327
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsDockManagerComponent, "bs-dock-manager", never, { "layout": { "alias": "layout"; "required": false; "isSignal": true; }; }, { "layoutChange": "layoutChange"; "layoutSnapshotChange": "layoutSnapshotChange"; }, ["panes"], never, true, never>;
|
|
364
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsDockManagerComponent, "bs-dock-manager", never, { "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "debugLayoutIntegrity": { "alias": "debugLayoutIntegrity"; "required": false; "isSignal": true; }; }, { "layoutChange": "layoutChange"; "layoutSnapshotChange": "layoutSnapshotChange"; }, ["panes"], never, true, never>;
|
|
328
365
|
}
|
|
329
366
|
|
|
330
367
|
export { BsDockManagerComponent, BsDockPaneComponent, MintDockManagerElement };
|