@akcelik/strct 4.20.0 → 4.22.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/akcelik-strct.mjs +815 -29
- package/fesm2022/akcelik-strct.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/_base.scss +41 -0
- package/styles/_tokens.scss +1 -0
- package/types/akcelik-strct.d.ts +259 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akcelik/strct",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.22.0",
|
|
4
4
|
"description": "UIStruct — a standalone Angular component library with a tokenised, multi-palette theme system, built for datacenter / infrastructure management UIs.",
|
|
5
5
|
"author": "Serkan Akcelik <serkan.akcelik@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
package/styles/_base.scss
CHANGED
|
@@ -129,3 +129,44 @@ kbd,
|
|
|
129
129
|
transition-duration: 0.01ms !important;
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
|
+
|
|
133
|
+
// The splitter's gutter, as a standalone handle for layouts the splitter does
|
|
134
|
+
// not own (a shell grid, a docked panel). Shipped in the theme layer because
|
|
135
|
+
// the directive attaches only the class.
|
|
136
|
+
.strct-resize {
|
|
137
|
+
flex: none;
|
|
138
|
+
position: relative;
|
|
139
|
+
width: 5px;
|
|
140
|
+
cursor: col-resize;
|
|
141
|
+
background: transparent;
|
|
142
|
+
touch-action: none;
|
|
143
|
+
}
|
|
144
|
+
.strct-resize--y {
|
|
145
|
+
width: auto;
|
|
146
|
+
height: 5px;
|
|
147
|
+
cursor: row-resize;
|
|
148
|
+
}
|
|
149
|
+
.strct-resize::after {
|
|
150
|
+
content: '';
|
|
151
|
+
position: absolute;
|
|
152
|
+
inset-block: 50%;
|
|
153
|
+
inset-inline: 50%;
|
|
154
|
+
width: 3px;
|
|
155
|
+
height: 34px;
|
|
156
|
+
transform: translate(-50%, -50%);
|
|
157
|
+
border-radius: 999px;
|
|
158
|
+
background: var(--b2);
|
|
159
|
+
transition: background 0.14s ease;
|
|
160
|
+
}
|
|
161
|
+
.strct-resize--y::after {
|
|
162
|
+
width: 34px;
|
|
163
|
+
height: 3px;
|
|
164
|
+
}
|
|
165
|
+
.strct-resize:hover::after,
|
|
166
|
+
.strct-resize--dragging::after {
|
|
167
|
+
background: var(--acc);
|
|
168
|
+
}
|
|
169
|
+
.strct-resize:focus-visible {
|
|
170
|
+
outline: 2px solid var(--acc50);
|
|
171
|
+
outline-offset: -1px;
|
|
172
|
+
}
|
package/styles/_tokens.scss
CHANGED
package/types/akcelik-strct.d.ts
CHANGED
|
@@ -5584,13 +5584,30 @@ declare class StrctSplitter {
|
|
|
5584
5584
|
/** Clamp bounds for the split (percent). */
|
|
5585
5585
|
readonly min: _angular_core.InputSignal<number>;
|
|
5586
5586
|
readonly max: _angular_core.InputSignal<number>;
|
|
5587
|
+
/**
|
|
5588
|
+
* What `split`, `minSize` and `maxSize` are measured in. A sidebar is 280px,
|
|
5589
|
+
* not 22%, so `px` sizes the start pane in pixels and drags it in pixels.
|
|
5590
|
+
*/
|
|
5591
|
+
readonly unit: _angular_core.InputSignal<"px" | "percent">;
|
|
5592
|
+
/** Bounds in `unit` for the start pane; they win over `min` / `max`. */
|
|
5593
|
+
readonly minSize: _angular_core.InputSignal<number | null>;
|
|
5594
|
+
readonly maxSize: _angular_core.InputSignal<number | null>;
|
|
5595
|
+
/** The start pane can be collapsed to nothing (Enter on the gutter). */
|
|
5596
|
+
readonly collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
5597
|
+
/** Whether it is collapsed (two-way). */
|
|
5598
|
+
readonly collapsed: _angular_core.ModelSignal<boolean>;
|
|
5587
5599
|
/** Stack panes vertically (gutter drags up/down). */
|
|
5588
5600
|
readonly vertical: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
5589
5601
|
/** Accessible name of the separator (localizable). */
|
|
5590
5602
|
readonly gutterLabel: _angular_core.InputSignal<string>;
|
|
5591
5603
|
/** Keyboard nudge step in percent. */
|
|
5592
5604
|
readonly step: _angular_core.InputSignal<number>;
|
|
5605
|
+
/** The effective bounds, in whichever unit the splitter is measured in. */
|
|
5606
|
+
protected readonly lowerBound: _angular_core.Signal<number>;
|
|
5607
|
+
protected readonly upperBound: _angular_core.Signal<number>;
|
|
5593
5608
|
protected readonly clamped: _angular_core.Signal<number>;
|
|
5609
|
+
/** The start pane's flex-basis: its size, or nothing while collapsed. */
|
|
5610
|
+
protected readonly startBasis: _angular_core.Signal<string>;
|
|
5594
5611
|
protected readonly dragging: _angular_core.WritableSignal<boolean>;
|
|
5595
5612
|
private moveHandler;
|
|
5596
5613
|
private upHandler;
|
|
@@ -5603,7 +5620,56 @@ declare class StrctSplitter {
|
|
|
5603
5620
|
private isRtl;
|
|
5604
5621
|
protected onKeydown(event: KeyboardEvent): void;
|
|
5605
5622
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctSplitter, never>;
|
|
5606
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctSplitter, "strct-splitter", never, { "split": { "alias": "split"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; "gutterLabel": { "alias": "gutterLabel"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; }, { "split": "splitChange"; }, never, ["[strctPaneStart]", "[strctPaneEnd]"], true, never>;
|
|
5623
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctSplitter, "strct-splitter", never, { "split": { "alias": "split"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "minSize": { "alias": "minSize"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; "gutterLabel": { "alias": "gutterLabel"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; }, { "split": "splitChange"; "collapsed": "collapsedChange"; }, never, ["[strctPaneStart]", "[strctPaneEnd]"], true, never>;
|
|
5624
|
+
}
|
|
5625
|
+
|
|
5626
|
+
/**
|
|
5627
|
+
* The splitter's gutter, for layouts the splitter does not own — a shell grid,
|
|
5628
|
+
* a docked panel. It draws the library's grip and brings the separator
|
|
5629
|
+
* semantics with it: `role="separator"`, a tab stop, arrows that step, Home and
|
|
5630
|
+
* End for the bounds, and Enter to collapse when `collapsible`.
|
|
5631
|
+
*
|
|
5632
|
+
* <div [strctResizeHandle]="'y'" [(size)]="panelHeight" [min]="120" [max]="600"
|
|
5633
|
+
* aria-label="Resize the task panel"></div>
|
|
5634
|
+
*
|
|
5635
|
+
* The consumer owns the size — the handle only reports it, so the value can be
|
|
5636
|
+
* persisted, clamped or animated as the layout needs.
|
|
5637
|
+
*/
|
|
5638
|
+
declare class StrctResizeHandle {
|
|
5639
|
+
/** Which axis the handle resizes along: `'x'` (default) or `'y'`. */
|
|
5640
|
+
readonly axis: _angular_core.InputSignal<"x" | "y">;
|
|
5641
|
+
/** The size being dragged, in px (two-way). */
|
|
5642
|
+
readonly size: _angular_core.ModelSignal<number>;
|
|
5643
|
+
/** Bounds, in px. */
|
|
5644
|
+
readonly min: _angular_core.InputSignal<number>;
|
|
5645
|
+
readonly max: _angular_core.InputSignal<number>;
|
|
5646
|
+
/** Arrow-key step in px; Shift multiplies it by four. */
|
|
5647
|
+
readonly step: _angular_core.InputSignal<number>;
|
|
5648
|
+
/** Enter collapses the pane the handle sizes. */
|
|
5649
|
+
readonly collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
5650
|
+
/** Whether it is collapsed (two-way). */
|
|
5651
|
+
readonly collapsed: _angular_core.ModelSignal<boolean>;
|
|
5652
|
+
/**
|
|
5653
|
+
* Which side of the handle the sized pane is on. `'before'` (default) grows
|
|
5654
|
+
* the pane as the pointer moves toward the inline/block end.
|
|
5655
|
+
*/
|
|
5656
|
+
readonly side: _angular_core.InputSignal<"before" | "after">;
|
|
5657
|
+
private readonly el;
|
|
5658
|
+
protected readonly dragging: _angular_core.WritableSignal<boolean>;
|
|
5659
|
+
private origin;
|
|
5660
|
+
private originSize;
|
|
5661
|
+
private readonly rtl;
|
|
5662
|
+
private readonly move;
|
|
5663
|
+
private readonly up;
|
|
5664
|
+
constructor();
|
|
5665
|
+
protected onDown(event: PointerEvent): void;
|
|
5666
|
+
private onMove;
|
|
5667
|
+
private onUp;
|
|
5668
|
+
private detach;
|
|
5669
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
5670
|
+
private commit;
|
|
5671
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctResizeHandle, never>;
|
|
5672
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctResizeHandle, "[strctResizeHandle]", never, { "axis": { "alias": "strctResizeHandle"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; }, { "size": "sizeChange"; "collapsed": "collapsedChange"; }, never, never, true, never>;
|
|
5607
5673
|
}
|
|
5608
5674
|
|
|
5609
5675
|
/** One transferable item. */
|
|
@@ -5935,6 +6001,40 @@ interface StrctReorderEvent {
|
|
|
5935
6001
|
from: number;
|
|
5936
6002
|
to: number;
|
|
5937
6003
|
}
|
|
6004
|
+
/** A completed move between two connected lists. */
|
|
6005
|
+
interface StrctReorderMoveEvent {
|
|
6006
|
+
/** The moved element, so the consumer can identify its own item. */
|
|
6007
|
+
item: HTMLElement;
|
|
6008
|
+
fromList: string;
|
|
6009
|
+
toList: string;
|
|
6010
|
+
fromIndex: number;
|
|
6011
|
+
toIndex: number;
|
|
6012
|
+
}
|
|
6013
|
+
/**
|
|
6014
|
+
* Connects several `[strctReorder]` lists, so a card can move between the
|
|
6015
|
+
* columns of a board — by its handle, or with Alt+ArrowLeft / Alt+ArrowRight.
|
|
6016
|
+
* Moves within one list stay on that list's `reordered`; moves across lists
|
|
6017
|
+
* come out here.
|
|
6018
|
+
*/
|
|
6019
|
+
declare class StrctReorderGroup {
|
|
6020
|
+
/** A card moved from one list to another. */
|
|
6021
|
+
readonly moved: _angular_core.OutputEmitterRef<StrctReorderMoveEvent>;
|
|
6022
|
+
/** Every list in this group, in DOM order. */
|
|
6023
|
+
readonly lists: _angular_core.WritableSignal<StrctReorder[]>;
|
|
6024
|
+
/** Where the current drag started, so a drop elsewhere knows its origin. */
|
|
6025
|
+
readonly source: _angular_core.WritableSignal<{
|
|
6026
|
+
list: StrctReorder;
|
|
6027
|
+
index: number;
|
|
6028
|
+
} | null>;
|
|
6029
|
+
register(list: StrctReorder): void;
|
|
6030
|
+
unregister(list: StrctReorder): void;
|
|
6031
|
+
/** The list next to `list` in the given direction, or null at the ends. */
|
|
6032
|
+
neighbour(list: StrctReorder, dir: -1 | 1): StrctReorder | null;
|
|
6033
|
+
/** DOM order, not registration order — columns read left to right. */
|
|
6034
|
+
ordered(): StrctReorder[];
|
|
6035
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctReorderGroup, never>;
|
|
6036
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctReorderGroup, "[strctReorderGroup]", never, {}, { "moved": "moved"; }, never, never, true, never>;
|
|
6037
|
+
}
|
|
5938
6038
|
/**
|
|
5939
6039
|
* List drag-reorder primitive — the consumer owns the array:
|
|
5940
6040
|
*
|
|
@@ -5956,6 +6056,8 @@ interface StrctReorderEvent {
|
|
|
5956
6056
|
*/
|
|
5957
6057
|
declare class StrctReorder implements OnDestroy {
|
|
5958
6058
|
private readonly host;
|
|
6059
|
+
/** The group this list belongs to, when it is one of several. */
|
|
6060
|
+
readonly group: StrctReorderGroup | null;
|
|
5959
6061
|
private readonly renderer;
|
|
5960
6062
|
private readonly doc;
|
|
5961
6063
|
private readonly announcer;
|
|
@@ -5973,11 +6075,19 @@ declare class StrctReorder implements OnDestroy {
|
|
|
5973
6075
|
* (moved item's text, new 1-based position, item count).
|
|
5974
6076
|
*/
|
|
5975
6077
|
readonly announcement: _angular_core.InputSignal<(label: string, position: number, total: number) => string>;
|
|
6078
|
+
/** This list's name inside a `[strctReorderGroup]`. */
|
|
6079
|
+
readonly listId: _angular_core.InputSignal<string>;
|
|
6080
|
+
/** What a move between lists says (localizable). */
|
|
6081
|
+
readonly moveAnnouncement: _angular_core.InputSignal<(label: string, list: string, position: number, total: number) => string>;
|
|
5976
6082
|
readonly dragIndex: _angular_core.WritableSignal<number | null>;
|
|
5977
6083
|
readonly overIndex: _angular_core.WritableSignal<number | null>;
|
|
5978
6084
|
/** Id of the sr-only instructions element the items point to. */
|
|
5979
6085
|
readonly instructionsId: string;
|
|
5980
6086
|
private hint;
|
|
6087
|
+
/** The container element — the group orders its lists by DOM position. */
|
|
6088
|
+
element(): HTMLElement;
|
|
6089
|
+
/** Move an item into this list at `index`, and say so. */
|
|
6090
|
+
acceptFrom(from: StrctReorder, fromIndex: number, index: number): void;
|
|
5981
6091
|
constructor();
|
|
5982
6092
|
items(): HTMLElement[];
|
|
5983
6093
|
indexOf(el: HTMLElement): number;
|
|
@@ -5987,7 +6097,15 @@ declare class StrctReorder implements OnDestroy {
|
|
|
5987
6097
|
protected onDragLeave(event: DragEvent): void;
|
|
5988
6098
|
ngOnDestroy(): void;
|
|
5989
6099
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctReorder, never>;
|
|
5990
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctReorder, "[strctReorder]", never, { "reorderDisabled": { "alias": "reorderDisabled"; "required": false; "isSignal": true; }; "instructions": { "alias": "instructions"; "required": false; "isSignal": true; }; "announcement": { "alias": "announcement"; "required": false; "isSignal": true; }; }, { "reordered": "reordered"; }, never, never, true, never>;
|
|
6100
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctReorder, "[strctReorder]", never, { "reorderDisabled": { "alias": "reorderDisabled"; "required": false; "isSignal": true; }; "instructions": { "alias": "instructions"; "required": false; "isSignal": true; }; "announcement": { "alias": "announcement"; "required": false; "isSignal": true; }; "listId": { "alias": "listId"; "required": false; "isSignal": true; }; "moveAnnouncement": { "alias": "moveAnnouncement"; "required": false; "isSignal": true; }; }, { "reordered": "reordered"; }, never, never, true, never>;
|
|
6101
|
+
}
|
|
6102
|
+
/**
|
|
6103
|
+
* The only place a drag may start from, when an item has one. Content that is
|
|
6104
|
+
* itself draggable — text selection, a chart brush — must not start a move.
|
|
6105
|
+
*/
|
|
6106
|
+
declare class StrctReorderHandle {
|
|
6107
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctReorderHandle, never>;
|
|
6108
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctReorderHandle, "[strctReorderHandle]", never, {}, {}, never, never, true, never>;
|
|
5991
6109
|
}
|
|
5992
6110
|
/** One draggable row inside a `[strctReorder]` container. */
|
|
5993
6111
|
declare class StrctReorderItem {
|
|
@@ -5995,9 +6113,14 @@ declare class StrctReorderItem {
|
|
|
5995
6113
|
private readonly el;
|
|
5996
6114
|
private readonly hadOwnTabindex;
|
|
5997
6115
|
protected hostTabindex(): number | null;
|
|
6116
|
+
/** The keys that apply: the sideways pair only when there is somewhere to go. */
|
|
6117
|
+
protected shortcuts(): string;
|
|
5998
6118
|
protected isDragging(): boolean;
|
|
5999
6119
|
protected isOver(): boolean;
|
|
6000
6120
|
protected index(): number;
|
|
6121
|
+
/** Where the last pointerdown landed — a drag may only start on a handle. */
|
|
6122
|
+
private fromHandle;
|
|
6123
|
+
protected onPointerDown(event: PointerEvent): void;
|
|
6001
6124
|
protected onDragStart(event: DragEvent): void;
|
|
6002
6125
|
protected onDragOver(event: DragEvent): void;
|
|
6003
6126
|
protected onDrop(event: DragEvent): void;
|
|
@@ -6246,6 +6369,138 @@ declare class StrctMediaFrame {
|
|
|
6246
6369
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctMediaFrame, "strct-media-frame", never, { "ratio": { "alias": "ratio"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "activateLabel": { "alias": "activateLabel"; "required": false; "isSignal": true; }; }, { "activated": "activated"; }, never, ["*"], true, never>;
|
|
6247
6370
|
}
|
|
6248
6371
|
|
|
6372
|
+
/** Where a window sits and how big it is, in viewport px. */
|
|
6373
|
+
interface StrctWindowBounds {
|
|
6374
|
+
x: number;
|
|
6375
|
+
y: number;
|
|
6376
|
+
width: number;
|
|
6377
|
+
height: number;
|
|
6378
|
+
}
|
|
6379
|
+
/** Every string the window's own controls use. */
|
|
6380
|
+
interface StrctWindowLabels {
|
|
6381
|
+
minimize: string;
|
|
6382
|
+
maximize: string;
|
|
6383
|
+
restore: string;
|
|
6384
|
+
close: string;
|
|
6385
|
+
/** The dock's accessible name. */
|
|
6386
|
+
dock: string;
|
|
6387
|
+
}
|
|
6388
|
+
/**
|
|
6389
|
+
* Knows which windows exist, which is on top, and which are minimised — so the
|
|
6390
|
+
* dock can list them and a click can raise one.
|
|
6391
|
+
*/
|
|
6392
|
+
declare class StrctWindowService {
|
|
6393
|
+
private topZ;
|
|
6394
|
+
readonly windows: _angular_core.WritableSignal<StrctWindow[]>;
|
|
6395
|
+
/** The minimised ones, in the order they were opened. */
|
|
6396
|
+
readonly minimized: _angular_core.Signal<StrctWindow[]>;
|
|
6397
|
+
register(w: StrctWindow): void;
|
|
6398
|
+
unregister(w: StrctWindow): void;
|
|
6399
|
+
/** Raise a window above the others; returns its new stacking offset. */
|
|
6400
|
+
raise(): number;
|
|
6401
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctWindowService, never>;
|
|
6402
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<StrctWindowService>;
|
|
6403
|
+
}
|
|
6404
|
+
/**
|
|
6405
|
+
* Some work lives in a window beside the page: a VM console stays open while
|
|
6406
|
+
* the operator browses. It can be moved, resized and minimised, and it comes
|
|
6407
|
+
* back from the dock. A modal blocks the page and a drawer is pinned to an
|
|
6408
|
+
* edge — neither is a window.
|
|
6409
|
+
*
|
|
6410
|
+
* <strct-window [(open)]="open" [(minimized)]="min" heading="APP01" palette="dark">
|
|
6411
|
+
* <ng-container strctWindowTitleMeta><strct-badge status="success">Running</strct-badge></ng-container>
|
|
6412
|
+
* <ng-container strctWindowActions>…</ng-container>
|
|
6413
|
+
* …content…
|
|
6414
|
+
* <ng-container strctWindowStatus>…</ng-container>
|
|
6415
|
+
* </strct-window>
|
|
6416
|
+
* <strct-window-dock />
|
|
6417
|
+
*/
|
|
6418
|
+
declare class StrctWindow {
|
|
6419
|
+
/** Whether the window exists on screen (two-way). */
|
|
6420
|
+
readonly open: _angular_core.ModelSignal<boolean>;
|
|
6421
|
+
/** Minimised to the dock (two-way). */
|
|
6422
|
+
readonly minimized: _angular_core.ModelSignal<boolean>;
|
|
6423
|
+
/** Filling the viewport — not browser fullscreen (two-way). */
|
|
6424
|
+
readonly maximized: _angular_core.ModelSignal<boolean>;
|
|
6425
|
+
/** Position and size in px (two-way); null lets the window place itself. */
|
|
6426
|
+
readonly bounds: _angular_core.ModelSignal<StrctWindowBounds | null>;
|
|
6427
|
+
/** The title-bar heading, and the window's accessible name. */
|
|
6428
|
+
readonly heading: _angular_core.InputSignal<string>;
|
|
6429
|
+
/** Corner resize grips. */
|
|
6430
|
+
readonly resizable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
6431
|
+
readonly minWidth: _angular_core.InputSignal<number>;
|
|
6432
|
+
readonly minHeight: _angular_core.InputSignal<number>;
|
|
6433
|
+
/** `dark` / `light` force that scheme inside the window (a console is dark). */
|
|
6434
|
+
readonly palette: _angular_core.InputSignal<"dark" | "light" | "inherit">;
|
|
6435
|
+
/** What a click outside does. A window is not dismissed like a modal. */
|
|
6436
|
+
readonly closeOnOutside: _angular_core.InputSignal<"none" | "minimize">;
|
|
6437
|
+
/** The window's own strings. */
|
|
6438
|
+
readonly labels: _angular_core.InputSignal<Partial<StrctWindowLabels>>;
|
|
6439
|
+
/** The accessible name of each resize grip. */
|
|
6440
|
+
readonly resizeLabel: _angular_core.InputSignal<(corner: string) => string>;
|
|
6441
|
+
/** The window was closed. */
|
|
6442
|
+
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
6443
|
+
protected readonly CORNERS: readonly ["nw", "ne", "sw", "se"];
|
|
6444
|
+
protected readonly titleId: string;
|
|
6445
|
+
protected readonly L: _angular_core.Signal<StrctWindowLabels>;
|
|
6446
|
+
private readonly service;
|
|
6447
|
+
private readonly doc;
|
|
6448
|
+
private readonly host;
|
|
6449
|
+
private readonly zOffset;
|
|
6450
|
+
protected readonly zIndex: _angular_core.Signal<string>;
|
|
6451
|
+
/** The palette in force outside, so `palette` only swaps the scheme. */
|
|
6452
|
+
protected readonly hostPalette: _angular_core.Signal<string>;
|
|
6453
|
+
/** Where the window is. Defaults to a slightly offset, comfortable box. */
|
|
6454
|
+
private readonly fallback;
|
|
6455
|
+
protected readonly rect: _angular_core.Signal<StrctWindowBounds>;
|
|
6456
|
+
private restoreTo;
|
|
6457
|
+
constructor();
|
|
6458
|
+
/** Raise this window above the others when it is clicked. */
|
|
6459
|
+
protected focusWindow(): void;
|
|
6460
|
+
private focusTitle;
|
|
6461
|
+
minimize(): void;
|
|
6462
|
+
/** Bring a minimised window back and raise it. */
|
|
6463
|
+
restore(): void;
|
|
6464
|
+
close(): void;
|
|
6465
|
+
private dragFrom;
|
|
6466
|
+
private readonly onMove;
|
|
6467
|
+
private readonly onUp;
|
|
6468
|
+
protected onDragStart(event: PointerEvent): void;
|
|
6469
|
+
private dragMove;
|
|
6470
|
+
private dragEnd;
|
|
6471
|
+
/** Alt+arrows move the window; Escape minimises it. */
|
|
6472
|
+
protected onTitleKeydown(event: KeyboardEvent): void;
|
|
6473
|
+
private resizeFrom;
|
|
6474
|
+
private readonly onResizeMove;
|
|
6475
|
+
private readonly onResizeUp;
|
|
6476
|
+
protected onResizeStart(event: PointerEvent, corner: string): void;
|
|
6477
|
+
private resizeMove;
|
|
6478
|
+
private resizeEnd;
|
|
6479
|
+
/** Arrows resize by 16px, Shift+arrows by 64px. */
|
|
6480
|
+
protected onResizeKeydown(event: KeyboardEvent, corner: string): void;
|
|
6481
|
+
/**
|
|
6482
|
+
* A corner drag moves the two edges it touches: the west and north edges move
|
|
6483
|
+
* the window's origin as well as its size, so the opposite corner stays put.
|
|
6484
|
+
*/
|
|
6485
|
+
private resized;
|
|
6486
|
+
private setRect;
|
|
6487
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctWindow, never>;
|
|
6488
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctWindow, "strct-window", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "minimized": { "alias": "minimized"; "required": false; "isSignal": true; }; "maximized": { "alias": "maximized"; "required": false; "isSignal": true; }; "bounds": { "alias": "bounds"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "palette": { "alias": "palette"; "required": false; "isSignal": true; }; "closeOnOutside": { "alias": "closeOnOutside"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "resizeLabel": { "alias": "resizeLabel"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "minimized": "minimizedChange"; "maximized": "maximizedChange"; "bounds": "boundsChange"; "closed": "closed"; }, never, ["[strctWindowTitleMeta]", "[strctWindowActions]", "*", "[strctWindowStatus]"], true, never>;
|
|
6489
|
+
}
|
|
6490
|
+
/**
|
|
6491
|
+
* Where minimised windows wait. Put it in a toolbar or a status bar; each entry
|
|
6492
|
+
* restores its window, and its × closes it.
|
|
6493
|
+
*/
|
|
6494
|
+
declare class StrctWindowDock {
|
|
6495
|
+
protected readonly service: StrctWindowService;
|
|
6496
|
+
/** The dock's accessible name. */
|
|
6497
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
6498
|
+
/** The name of each chip's close button. */
|
|
6499
|
+
readonly closeLabel: _angular_core.InputSignal<(heading: string) => string>;
|
|
6500
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctWindowDock, never>;
|
|
6501
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctWindowDock, "strct-window-dock", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
6502
|
+
}
|
|
6503
|
+
|
|
6249
6504
|
/**
|
|
6250
6505
|
* A value change, as one phrase: "v10.27 → v10.28". The old value is muted, the
|
|
6251
6506
|
* arrow is the library's, the new one is emphasised — and assistive tech hears
|
|
@@ -6883,5 +7138,5 @@ declare class StrctHeatmap {
|
|
|
6883
7138
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctHeatmap, "strct-heatmap", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "cols": { "alias": "cols"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "colLabelEvery": { "alias": "colLabelEvery"; "required": false; "isSignal": true; }; "colLabel": { "alias": "colLabel"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "thresholds": { "alias": "thresholds"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "summaryFormat": { "alias": "summaryFormat"; "required": false; "isSignal": true; }; "cellHeight": { "alias": "cellHeight"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "rowLabelWidth": { "alias": "rowLabelWidth"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
6884
7139
|
}
|
|
6885
7140
|
|
|
6886
|
-
export { FOCUSABLE_SELECTOR, STRCT_DP_DOW, STRCT_DP_DOW_FULL, STRCT_DP_MONTHS, STRCT_ICONS, STRCT_ICON_GROUPS, STRCT_ICON_NAMES, STRCT_MASKS, STRCT_NOTIFICATION_HISTORY_LIMIT, STRCT_PALETTES, STRCT_RAW_ICONS, STRCT_TIME_RANGE_PRESETS, STRCT_WIZARD_DEFAULTS, StrctAccordion, StrctAccordionPanel, StrctAlert, StrctAnnouncer, StrctAvatar, StrctBadge, StrctBreadcrumb, StrctBreadcrumbItem, StrctButton, StrctButtonGroup, StrctBytesPipe, StrctCard, StrctCardBlock, StrctCardFooter, StrctCardHeader, StrctCardHeaderActions, StrctCardHeaderMeta, StrctCardHeaderNote, StrctCascadeColumn, StrctCascadeHost, StrctCascadeSelect, StrctCellDef, StrctCellStatus, StrctChange, StrctChart, StrctCheckbox, StrctChips, StrctCode, StrctCodeInline, StrctColorPicker, StrctCombobox, StrctCommandPalette, StrctConfirmOutlet, StrctConfirmService, StrctContextMenu, StrctContextMenuTrigger, StrctControlDescription, StrctCopy, StrctDatagrid, StrctDatagridActionBar, StrctDatagridActionBarCaption, StrctDatepicker, StrctDatetimePicker, StrctDesc, StrctDescriptionList, StrctDiff, StrctDivider, StrctDonut, StrctDrawer, StrctDrawerFooter, StrctDropdown, StrctDropdownDivider, StrctDropdownItem, StrctDropdownItemAction, StrctDropdownTrigger, StrctDurationPipe, StrctEmptyState, StrctField, StrctFieldGroup, StrctFieldHint, StrctFieldPrefix, StrctFieldSuffix, StrctFile, StrctFilterBar, StrctFlow, StrctFlowNodeTemplate, StrctFooter, StrctGauge, StrctHeader, StrctHeatmap, StrctHero, StrctHotkeysHelp, StrctHotkeysService, StrctIcon, StrctInlineEdit, StrctInput, StrctInputMask, StrctInputOtp, StrctKbd, StrctKnob, StrctLegend, StrctList, StrctListItem, StrctListItemDescription, StrctListItemLeading, StrctListItemMeta, StrctListItemTrailing, StrctLiveIndicator, StrctLogViewer, StrctLogin, StrctMediaFrame, StrctMenuPanel, StrctMenuService, StrctMenubar, StrctMetricTile, StrctModal, StrctModalContent, StrctNav, StrctNavItem, StrctNotificationCenter, StrctNumber, StrctOverlay, StrctPageHeader, StrctPageHeaderActions, StrctPageHeaderCrumbs, StrctPageHeaderTitleMeta, StrctPagination, StrctPassword, StrctPopover, StrctPopoverTrigger, StrctProgress, StrctRadio, StrctRadioGroup, StrctRail, StrctRange, StrctRatePipe, StrctRating, StrctReorder, StrctReorderItem, StrctRowDetailDef, StrctSearchbox, StrctSectionHeader, StrctSectionHeaderActions, StrctSectionHeaderMeta, StrctSectionMenu, StrctSegmented, StrctSelect, StrctShell, StrctShellService, StrctSiPipe, StrctSignpost, StrctSignpostTrigger, StrctSkeleton, StrctSparkline, StrctSpeedDial, StrctSpinner, StrctSplitButton, StrctSplitter, StrctStack, StrctStackItem, StrctStatusDot, StrctStep, StrctStepAction, StrctSteps, StrctSubmenu, StrctTab, StrctTable, StrctTabs, StrctTag, StrctTagLeading, StrctThemeService, StrctThemeSwitcher, StrctTimeRangePicker, StrctTimeline, StrctTimelineItem, StrctToastOutlet, StrctToastService, StrctToggle, StrctToolbar, StrctToolbarCaption, StrctToolbarSpacer, StrctTooltip, StrctTour, StrctTransfer, StrctTree, StrctTreeNode, StrctTreeSelect, StrctVerticalNav, StrctWatermark, StrctWizard, StrctWizardAside, focusFirstIn, keepTabInside, lockBodyScroll, parseAnsi, provideStrctWizardDefaults, registerStrctIcon, restoreFocus, saveFocusedElement, strctComputeDiff, strctDpPad, strctFormatBytes, strctFormatDuration, strctFormatRate, strctFormatSi, strctValidationIcon, strctValidationTone, unlockBodyScroll };
|
|
6887
|
-
export type { StrctAlertType, StrctAvatarSize, StrctAvatarStatus, StrctBadgeStatus, StrctButtonSize, StrctButtonVariant, StrctCascadeOption, StrctCellContext, StrctChartAnnotation, StrctChartColor, StrctChartCurve, StrctChartSeries, StrctChartSlot, StrctChartStatus, StrctChartSummaryInfo, StrctChartThreshold, StrctChartType, StrctColumn, StrctCommandItem, StrctConfirmOptions, StrctConfirmTone, StrctDatagridColumn, StrctDatagridColumnState, StrctDatagridFilters, StrctDatagridLabels, StrctDatagridLazyState, StrctDescAlign, StrctDescItem, StrctDiffRow, StrctDonutSegment, StrctDrawerSide, StrctDrawerSize, StrctEmptyVariant, StrctFilterChip, StrctFlowDirection, StrctFlowEdge, StrctFlowNode, StrctFlowOrientation, StrctHeatmapCell, StrctHeatmapSummaryInfo, StrctHotkey, StrctIconBadge, StrctIconName, StrctKnobStatus, StrctLegendItem, StrctLiveLabels, StrctLiveState, StrctLogLine, StrctMediaState, StrctMenuItem, StrctMenuLink, StrctMenuOpenOptions, StrctMenuPlacement, StrctMenuSection, StrctMenubarItem, StrctMetricStatus, StrctModalSize, StrctMode, StrctNotification, StrctOption, StrctOverlayPlacement, StrctPalette, StrctPaletteInfo, StrctProgressSegment, StrctProgressStatus, StrctRailItem, StrctRailStatus, StrctReorderEvent, StrctRow, StrctRowId, StrctSegmentedOption, StrctSegmentedSize, StrctSignpostPosition, StrctSpeedDialDirection, StrctSpinnerSize, StrctStatus, StrctStatusDotSize, StrctStepPhase, StrctStepState, StrctStepsLabels, StrctTagStatus, StrctThresholds, StrctTimeRange, StrctTimeRangePreset, StrctTimelineState, StrctToast, StrctToastOptions, StrctToastType, StrctTooltipPosition, StrctTourStep, StrctTransferItem, StrctTreeDropEvent, StrctTreeMenuEvent, StrctTreeNodeData, StrctTreeNodeMenuFn, StrctValidationState, StrctValidationStatus, StrctWizardDefaults };
|
|
7141
|
+
export { FOCUSABLE_SELECTOR, STRCT_DP_DOW, STRCT_DP_DOW_FULL, STRCT_DP_MONTHS, STRCT_ICONS, STRCT_ICON_GROUPS, STRCT_ICON_NAMES, STRCT_MASKS, STRCT_NOTIFICATION_HISTORY_LIMIT, STRCT_PALETTES, STRCT_RAW_ICONS, STRCT_TIME_RANGE_PRESETS, STRCT_WIZARD_DEFAULTS, StrctAccordion, StrctAccordionPanel, StrctAlert, StrctAnnouncer, StrctAvatar, StrctBadge, StrctBreadcrumb, StrctBreadcrumbItem, StrctButton, StrctButtonGroup, StrctBytesPipe, StrctCard, StrctCardBlock, StrctCardFooter, StrctCardHeader, StrctCardHeaderActions, StrctCardHeaderMeta, StrctCardHeaderNote, StrctCascadeColumn, StrctCascadeHost, StrctCascadeSelect, StrctCellDef, StrctCellStatus, StrctChange, StrctChart, StrctCheckbox, StrctChips, StrctCode, StrctCodeInline, StrctColorPicker, StrctCombobox, StrctCommandPalette, StrctConfirmOutlet, StrctConfirmService, StrctContextMenu, StrctContextMenuTrigger, StrctControlDescription, StrctCopy, StrctDatagrid, StrctDatagridActionBar, StrctDatagridActionBarCaption, StrctDatepicker, StrctDatetimePicker, StrctDesc, StrctDescriptionList, StrctDiff, StrctDivider, StrctDonut, StrctDrawer, StrctDrawerFooter, StrctDropdown, StrctDropdownDivider, StrctDropdownItem, StrctDropdownItemAction, StrctDropdownTrigger, StrctDurationPipe, StrctEmptyState, StrctField, StrctFieldGroup, StrctFieldHint, StrctFieldPrefix, StrctFieldSuffix, StrctFile, StrctFilterBar, StrctFlow, StrctFlowNodeTemplate, StrctFooter, StrctGauge, StrctHeader, StrctHeatmap, StrctHero, StrctHotkeysHelp, StrctHotkeysService, StrctIcon, StrctInlineEdit, StrctInput, StrctInputMask, StrctInputOtp, StrctKbd, StrctKnob, StrctLegend, StrctList, StrctListItem, StrctListItemDescription, StrctListItemLeading, StrctListItemMeta, StrctListItemTrailing, StrctLiveIndicator, StrctLogViewer, StrctLogin, StrctMediaFrame, StrctMenuPanel, StrctMenuService, StrctMenubar, StrctMetricTile, StrctModal, StrctModalContent, StrctNav, StrctNavItem, StrctNotificationCenter, StrctNumber, StrctOverlay, StrctPageHeader, StrctPageHeaderActions, StrctPageHeaderCrumbs, StrctPageHeaderTitleMeta, StrctPagination, StrctPassword, StrctPopover, StrctPopoverTrigger, StrctProgress, StrctRadio, StrctRadioGroup, StrctRail, StrctRange, StrctRatePipe, StrctRating, StrctReorder, StrctReorderGroup, StrctReorderHandle, StrctReorderItem, StrctResizeHandle, StrctRowDetailDef, StrctSearchbox, StrctSectionHeader, StrctSectionHeaderActions, StrctSectionHeaderMeta, StrctSectionMenu, StrctSegmented, StrctSelect, StrctShell, StrctShellService, StrctSiPipe, StrctSignpost, StrctSignpostTrigger, StrctSkeleton, StrctSparkline, StrctSpeedDial, StrctSpinner, StrctSplitButton, StrctSplitter, StrctStack, StrctStackItem, StrctStatusDot, StrctStep, StrctStepAction, StrctSteps, StrctSubmenu, StrctTab, StrctTable, StrctTabs, StrctTag, StrctTagLeading, StrctThemeService, StrctThemeSwitcher, StrctTimeRangePicker, StrctTimeline, StrctTimelineItem, StrctToastOutlet, StrctToastService, StrctToggle, StrctToolbar, StrctToolbarCaption, StrctToolbarSpacer, StrctTooltip, StrctTour, StrctTransfer, StrctTree, StrctTreeNode, StrctTreeSelect, StrctVerticalNav, StrctWatermark, StrctWindow, StrctWindowDock, StrctWindowService, StrctWizard, StrctWizardAside, focusFirstIn, keepTabInside, lockBodyScroll, parseAnsi, provideStrctWizardDefaults, registerStrctIcon, restoreFocus, saveFocusedElement, strctComputeDiff, strctDpPad, strctFormatBytes, strctFormatDuration, strctFormatRate, strctFormatSi, strctValidationIcon, strctValidationTone, unlockBodyScroll };
|
|
7142
|
+
export type { StrctAlertType, StrctAvatarSize, StrctAvatarStatus, StrctBadgeStatus, StrctButtonSize, StrctButtonVariant, StrctCascadeOption, StrctCellContext, StrctChartAnnotation, StrctChartColor, StrctChartCurve, StrctChartSeries, StrctChartSlot, StrctChartStatus, StrctChartSummaryInfo, StrctChartThreshold, StrctChartType, StrctColumn, StrctCommandItem, StrctConfirmOptions, StrctConfirmTone, StrctDatagridColumn, StrctDatagridColumnState, StrctDatagridFilters, StrctDatagridLabels, StrctDatagridLazyState, StrctDescAlign, StrctDescItem, StrctDiffRow, StrctDonutSegment, StrctDrawerSide, StrctDrawerSize, StrctEmptyVariant, StrctFilterChip, StrctFlowDirection, StrctFlowEdge, StrctFlowNode, StrctFlowOrientation, StrctHeatmapCell, StrctHeatmapSummaryInfo, StrctHotkey, StrctIconBadge, StrctIconName, StrctKnobStatus, StrctLegendItem, StrctLiveLabels, StrctLiveState, StrctLogLine, StrctMediaState, StrctMenuItem, StrctMenuLink, StrctMenuOpenOptions, StrctMenuPlacement, StrctMenuSection, StrctMenubarItem, StrctMetricStatus, StrctModalSize, StrctMode, StrctNotification, StrctOption, StrctOverlayPlacement, StrctPalette, StrctPaletteInfo, StrctProgressSegment, StrctProgressStatus, StrctRailItem, StrctRailStatus, StrctReorderEvent, StrctReorderMoveEvent, StrctRow, StrctRowId, StrctSegmentedOption, StrctSegmentedSize, StrctSignpostPosition, StrctSpeedDialDirection, StrctSpinnerSize, StrctStatus, StrctStatusDotSize, StrctStepPhase, StrctStepState, StrctStepsLabels, StrctTagStatus, StrctThresholds, StrctTimeRange, StrctTimeRangePreset, StrctTimelineState, StrctToast, StrctToastOptions, StrctToastType, StrctTooltipPosition, StrctTourStep, StrctTransferItem, StrctTreeDropEvent, StrctTreeMenuEvent, StrctTreeNodeData, StrctTreeNodeMenuFn, StrctValidationState, StrctValidationStatus, StrctWindowBounds, StrctWindowLabels, StrctWizardDefaults };
|