@ethlete/components 1.0.0-next.79 → 1.0.0-next.81
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/CHANGELOG.md +41 -0
- package/design/anchored-dialog.ts +98 -0
- package/design/button.ts +13 -1
- package/design/config.json +6 -1
- package/design/dialog.ts +5 -3
- package/design/form-field.ts +3 -0
- package/design/menu.ts +8 -4
- package/design/notification.ts +8 -4
- package/design/sdk/components/accordion/accordion.ts +5 -1
- package/design/sdk/components/anchored-dialog/anchored-dialog.css +63 -0
- package/design/sdk/components/anchored-dialog/anchored-dialog.ts +75 -0
- package/design/sdk/components/avatar/avatar.ts +3 -2
- package/design/sdk/components/badge/badge.ts +2 -1
- package/design/sdk/components/banner/banner.ts +2 -1
- package/design/sdk/components/bracket/bracket.ts +2 -1
- package/design/sdk/components/breadcrumb/breadcrumb.ts +2 -1
- package/design/sdk/components/button/button.css +11 -3
- package/design/sdk/components/button/button.ts +17 -4
- package/design/sdk/components/calendar/calendar.ts +2 -1
- package/design/sdk/components/card/card.ts +2 -1
- package/design/sdk/components/carousel/carousel.ts +2 -1
- package/design/sdk/components/chart/chart.ts +2 -1
- package/design/sdk/components/checkbox/checkbox.css +65 -0
- package/design/sdk/components/checkbox/checkbox.ts +180 -0
- package/design/sdk/components/chip/chip.ts +2 -1
- package/design/sdk/components/copy-button/copy-button.ts +2 -1
- package/design/sdk/components/description-list/description-list.ts +2 -1
- package/design/sdk/components/dialog/dialog.ts +2 -1
- package/design/sdk/components/divider/divider.ts +2 -1
- package/design/sdk/components/empty-state/empty-state.ts +2 -1
- package/design/sdk/components/grid/grid.ts +3 -2
- package/design/sdk/components/input/input.ts +2 -1
- package/design/sdk/components/kbd/kbd.ts +2 -1
- package/design/sdk/components/loader/loader.ts +2 -1
- package/design/sdk/components/masonry/masonry.ts +3 -2
- package/design/sdk/components/match/match.ts +2 -1
- package/design/sdk/components/menu/menu.ts +19 -7
- package/design/sdk/components/notification/notification.ts +2 -1
- package/design/sdk/components/otp-input/otp-input.ts +2 -1
- package/design/sdk/components/pagination/pagination.ts +2 -1
- package/design/sdk/components/picture/picture.ts +2 -1
- package/design/sdk/components/progress-steps/progress-steps.ts +2 -1
- package/design/sdk/components/query-error/query-error.ts +2 -1
- package/design/sdk/components/radio-group/radio-group.css +46 -0
- package/design/sdk/components/radio-group/radio-group.ts +167 -0
- package/design/sdk/components/scheduler/scheduler.ts +2 -1
- package/design/sdk/components/scrollable/scrollable.ts +2 -2
- package/design/sdk/components/scrollbar/scrollbar.ts +2 -1
- package/design/sdk/components/select/shared/select-part.ts +11 -2
- package/design/sdk/components/select-panel/select-panel.ts +2 -1
- package/design/sdk/components/skeleton/skeleton.ts +2 -1
- package/design/sdk/components/slider/slider.ts +2 -1
- package/design/sdk/components/standings/standings.ts +2 -1
- package/design/sdk/components/stat-tile/stat-tile.ts +2 -1
- package/design/sdk/components/stream/stream.ts +6 -1
- package/design/sdk/components/switch/switch.css +4 -2
- package/design/sdk/components/switch/switch.ts +2 -2
- package/design/sdk/components/table/table.ts +2 -1
- package/design/sdk/components/textarea/textarea.ts +4 -3
- package/design/sdk/components/timeline/timeline.ts +2 -2
- package/design/sdk/components/toolbar/toolbar.ts +2 -1
- package/design/sdk/foundations/colors/colors.css +16 -0
- package/design/sdk/foundations/colors/colors.ts +1 -1
- package/design/sdk/foundations/colors/shared/contrast.ts +1 -1
- package/design/sdk/lint-baseline.json +6 -0
- package/design/sdk/pictures.json +1195 -0
- package/design/sdk/ready.json +64 -0
- package/design/sdk/rule-baseline.json +104 -0
- package/design/select.ts +9 -5
- package/design/textarea.ts +2 -0
- package/design/tooltip.ts +5 -5
- package/fesm2022/ethlete-components.mjs +1190 -973
- package/fesm2022/ethlete-components.mjs.map +1 -1
- package/generators/generators.json +2 -0
- package/package.json +1 -1
- package/src/lib/button/button-properties-styles.component.css +6 -6
- package/src/lib/button/button.component.css +11 -7
- package/src/lib/button/button.types.ts +33 -0
- package/src/lib/button/icon-button.component.css +3 -3
- package/src/lib/button/window-control-button.component.css +70 -3
- package/src/lib/calendar/calendar.component.css +2 -2
- package/src/lib/chip/chip.component.css +4 -4
- package/src/lib/focus-ring/focus-ring-styles.component.css +20 -5
- package/src/lib/forms/switch/switch.component.css +1 -14
- package/src/lib/kbd/kbd.component.css +1 -1
- package/src/lib/menu/menu.component.css +2 -2
- package/src/lib/notification/notification.component.css +3 -3
- package/types/ethlete-components.d.ts +171 -139
|
@@ -3930,6 +3930,8 @@ export declare class ButtonComponent {
|
|
|
3930
3930
|
variant: import("@angular/core").InputSignal<ButtonVariant>;
|
|
3931
3931
|
size: import("@angular/core").InputSignal<ButtonSize>;
|
|
3932
3932
|
iconAlignment: import("@angular/core").InputSignal<ButtonIconAlignment>;
|
|
3933
|
+
/** Lets the projected contents fill the space beside the icon, e.g. to push a trailing element to the far edge. */
|
|
3934
|
+
stretchContents: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
3933
3935
|
canAnimate: {
|
|
3934
3936
|
state: import("@angular/core").Signal<boolean>;
|
|
3935
3937
|
};
|
|
@@ -3955,6 +3957,11 @@ export declare class ButtonComponent {
|
|
|
3955
3957
|
"required": false;
|
|
3956
3958
|
"isSignal": true;
|
|
3957
3959
|
};
|
|
3960
|
+
"stretchContents": {
|
|
3961
|
+
"alias": "stretchContents";
|
|
3962
|
+
"required": false;
|
|
3963
|
+
"isSignal": true;
|
|
3964
|
+
};
|
|
3958
3965
|
}, {}, never, ["*", "[etIcon]"], true, [{
|
|
3959
3966
|
directive: typeof ButtonDirective;
|
|
3960
3967
|
inputs: {
|
|
@@ -4175,10 +4182,21 @@ export declare const WINDOW_CONTROL_BUTTON_KINDS: {
|
|
|
4175
4182
|
readonly CLOSE: "close";
|
|
4176
4183
|
};
|
|
4177
4184
|
export type WindowControlButtonKind = (typeof WINDOW_CONTROL_BUTTON_KINDS)[keyof typeof WINDOW_CONTROL_BUTTON_KINDS];
|
|
4185
|
+
export declare const WINDOW_CONTROL_BUTTON_SHAPES: {
|
|
4186
|
+
readonly SQUARE: "square";
|
|
4187
|
+
readonly ROUND: "round";
|
|
4188
|
+
readonly CAPTION: "caption";
|
|
4189
|
+
};
|
|
4190
|
+
export type WindowControlButtonShape = (typeof WINDOW_CONTROL_BUTTON_SHAPES)[keyof typeof WINDOW_CONTROL_BUTTON_SHAPES];
|
|
4178
4191
|
export declare class WindowControlButtonComponent {
|
|
4179
4192
|
protected buttonDir: ButtonDirective;
|
|
4180
4193
|
size: import("@angular/core").InputSignal<WindowControlButtonSize>;
|
|
4181
4194
|
kind: import("@angular/core").InputSignal<WindowControlButtonKind>;
|
|
4195
|
+
/**
|
|
4196
|
+
* `square` is a Windows-style tile with a red close hover; `round` is a GNOME (Adwaita) style circle;
|
|
4197
|
+
* `caption` is a 46px wide, full-height Windows caption tile with a 10px glyph.
|
|
4198
|
+
*/
|
|
4199
|
+
shape: import("@angular/core").InputSignal<WindowControlButtonShape>;
|
|
4182
4200
|
canAnimate: {
|
|
4183
4201
|
state: import("@angular/core").Signal<boolean>;
|
|
4184
4202
|
};
|
|
@@ -4198,6 +4216,11 @@ export declare class WindowControlButtonComponent {
|
|
|
4198
4216
|
"required": false;
|
|
4199
4217
|
"isSignal": true;
|
|
4200
4218
|
};
|
|
4219
|
+
"shape": {
|
|
4220
|
+
"alias": "shape";
|
|
4221
|
+
"required": false;
|
|
4222
|
+
"isSignal": true;
|
|
4223
|
+
};
|
|
4201
4224
|
}, {}, never, ["*"], true, [{
|
|
4202
4225
|
directive: typeof ButtonDirective;
|
|
4203
4226
|
inputs: {
|
|
@@ -6387,6 +6410,7 @@ export declare class TooltipDirective {
|
|
|
6387
6410
|
private overlayManager;
|
|
6388
6411
|
private focusVisibleTracker;
|
|
6389
6412
|
private renderer;
|
|
6413
|
+
private hasTouchInput;
|
|
6390
6414
|
content: import("@angular/core").InputSignal<TooltipContent | null>;
|
|
6391
6415
|
ariaDescription: import("@angular/core").InputSignal<string | null>;
|
|
6392
6416
|
/**
|
|
@@ -6416,22 +6440,20 @@ export declare class TooltipDirective {
|
|
|
6416
6440
|
private appliedDescriptionId;
|
|
6417
6441
|
private isBrowser;
|
|
6418
6442
|
private hasContent;
|
|
6443
|
+
private canShow;
|
|
6444
|
+
protected suppressNativeLongPress: import("@angular/core").Signal<boolean>;
|
|
6419
6445
|
private accessibleDescription;
|
|
6420
6446
|
constructor();
|
|
6421
6447
|
show(): void;
|
|
6422
6448
|
hide(): void;
|
|
6423
6449
|
private setupHoverBehavior;
|
|
6450
|
+
private setupLongPressBehavior;
|
|
6424
6451
|
/**
|
|
6425
6452
|
* A tooltip can outlive the hover that opened it - a `pointercancel`, a scroll that moves the
|
|
6426
6453
|
* trigger out from under the pointer, or a browser that synthesizes an enter with no matching
|
|
6427
6454
|
* leave. A press anywhere else is unambiguous, so treat it as a dismissal.
|
|
6428
6455
|
*/
|
|
6429
6456
|
private dismissOnOutsidePointer;
|
|
6430
|
-
/**
|
|
6431
|
-
* Escape is consumed here rather than left to the runtime: a shown tooltip counts as the topmost
|
|
6432
|
-
* overlay, so a dialog beneath it would otherwise ignore the key - and a hover-shown tooltip has no
|
|
6433
|
-
* focused host for a host listener to catch it on.
|
|
6434
|
-
*/
|
|
6435
6457
|
private dismissOnEscape;
|
|
6436
6458
|
private setupFocusBehavior;
|
|
6437
6459
|
private syncHostDescription;
|
|
@@ -7045,6 +7067,8 @@ export declare class PieChartComponent {
|
|
|
7045
7067
|
outputs: {};
|
|
7046
7068
|
}]>;
|
|
7047
7069
|
}
|
|
7070
|
+
/** Which way the flow runs: left to right in columns, or top to bottom in rows. */
|
|
7071
|
+
export type SankeyChartDirection = 'horizontal' | 'vertical';
|
|
7048
7072
|
/** Where a keyboard-focused link sits among its source's outgoing links. `position` counts from 1. */
|
|
7049
7073
|
export type SankeyChartLinkKeyHintContext = {
|
|
7050
7074
|
position: number;
|
|
@@ -7127,8 +7151,6 @@ export type SankeyChartLinkInput = {
|
|
|
7127
7151
|
};
|
|
7128
7152
|
/** Formats a value for the tooltips and the table. */
|
|
7129
7153
|
export type SankeyChartValueFormatter = ChartValueFormatter;
|
|
7130
|
-
/** Which way the flow runs: left to right in columns, or top to bottom in rows. */
|
|
7131
|
-
export type SankeyChartDirection = 'horizontal' | 'vertical';
|
|
7132
7154
|
/** Where a node's label sits along the flow: before the node (first column), after it, or on a chip centred on it (large middle-column nodes). */
|
|
7133
7155
|
export type SankeyChartLabelSide = 'start' | 'end' | 'center';
|
|
7134
7156
|
/** A node with its geometry in plot pixels, ready to render. */
|
|
@@ -17350,6 +17372,7 @@ export declare class MenuItemDirective {
|
|
|
17350
17372
|
private pointerInside;
|
|
17351
17373
|
protected role: Signal<string>;
|
|
17352
17374
|
protected isActive: Signal<boolean>;
|
|
17375
|
+
protected activeSource: Signal<"pointer" | "keyboard" | null>;
|
|
17353
17376
|
protected isHighlightHeld: Signal<boolean>;
|
|
17354
17377
|
protected tabIndex: Signal<-1 | 0>;
|
|
17355
17378
|
constructor();
|
|
@@ -17359,6 +17382,7 @@ export declare class MenuItemDirective {
|
|
|
17359
17382
|
protected handlePointerMove(event: PointerEvent): void;
|
|
17360
17383
|
protected handlePointerLeave(): void;
|
|
17361
17384
|
protected handleFocus(): void;
|
|
17385
|
+
private keyboardTookOver;
|
|
17362
17386
|
static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemDirective, never>;
|
|
17363
17387
|
static ɵdir: i0.ɵɵDirectiveDeclaration<MenuItemDirective, "[etMenuItem]", ["etMenuItem"], {
|
|
17364
17388
|
"disabled": {
|
|
@@ -19320,6 +19344,7 @@ export declare class SelectDirective<TValue = unknown> extends FieldStateControl
|
|
|
19320
19344
|
virtualizedItems: Signal<SelectItem[]>;
|
|
19321
19345
|
private pendingActiveScrollItem;
|
|
19322
19346
|
private anchorBoxAtPointerMove;
|
|
19347
|
+
private openSource;
|
|
19323
19348
|
/** True once `maxSelection` is reached (multi select) - further adds are ignored. */
|
|
19324
19349
|
isFull: Signal<boolean>;
|
|
19325
19350
|
/**
|
|
@@ -19380,6 +19405,7 @@ export declare class SelectDirective<TValue = unknown> extends FieldStateControl
|
|
|
19380
19405
|
* single mode. Returns whether the value was committed.
|
|
19381
19406
|
*/
|
|
19382
19407
|
commitCustomValue(raw: string): boolean;
|
|
19408
|
+
private showFromKeyboard;
|
|
19383
19409
|
private toggleMultiValue;
|
|
19384
19410
|
private handleMultiSelectShortcut;
|
|
19385
19411
|
private toggleVisibleSelection;
|
|
@@ -19406,6 +19432,7 @@ export declare class SelectDirective<TValue = unknown> extends FieldStateControl
|
|
|
19406
19432
|
private resolveAnchorElement;
|
|
19407
19433
|
private handleFrameClick;
|
|
19408
19434
|
private handlePanelMounted;
|
|
19435
|
+
private handleMousePointerMove;
|
|
19409
19436
|
private handlePanelBeforeClosed;
|
|
19410
19437
|
private handlePanelKeydown;
|
|
19411
19438
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectDirective<any>, never>;
|
|
@@ -19727,34 +19754,6 @@ export declare class SelectOptionDirective {
|
|
|
19727
19754
|
};
|
|
19728
19755
|
}, {}, never, never, true, never>;
|
|
19729
19756
|
}
|
|
19730
|
-
/** Config for {@link selectOptionsFromQuery}. */
|
|
19731
|
-
export type SelectOptionsFromQueryConfig<TCreator extends AnyQueryCreator, TOption> = {
|
|
19732
|
-
/**
|
|
19733
|
-
* The query creator to run (e.g. from `createGetQuery`). Its pages run on a paged query stack that
|
|
19734
|
-
* restarts when the debounced search query changes - never per keystroke.
|
|
19735
|
-
*/
|
|
19736
|
-
queryCreator: TCreator;
|
|
19737
|
-
/**
|
|
19738
|
-
* Builds the request args from the debounced search query and the current `page`. Return `null`
|
|
19739
|
-
* to skip a request (e.g. for an empty query) - `options` is empty while skipped.
|
|
19740
|
-
*/
|
|
19741
|
-
args: (query: Signal<string>, page: Signal<number>) => RequestArgs<QueryArgsOf<TCreator>> | null;
|
|
19742
|
-
/**
|
|
19743
|
-
* Maps a successful response to the option slice for the **current page**. The factory appends
|
|
19744
|
-
* each page's slice to the accumulated `options` (and resets when the query changes).
|
|
19745
|
-
*/
|
|
19746
|
-
toOptions: (response: ResponseType<QueryArgsOf<TCreator>>) => TOption[];
|
|
19747
|
-
/** Derives whether more pages exist from the latest page's response - drives `hasMoreItems` and gates `loadMore()`. */
|
|
19748
|
-
toHasMore?: (response: ResponseType<QueryArgsOf<TCreator>>) => boolean;
|
|
19749
|
-
/** Turns a query failure into the select's error text. Defaults to the first error message, else `SELECT_LABELS.error`. */
|
|
19750
|
-
toErrorMessage?: (error: QueryErrorResponse) => string;
|
|
19751
|
-
/** Minimum query length before requests run. @default 0 */
|
|
19752
|
-
minQueryLength?: number;
|
|
19753
|
-
/** Debounce applied to the query before it reaches `args`, in ms. @default 300 */
|
|
19754
|
-
debounceTime?: number;
|
|
19755
|
-
/** The page `args` receives on first load and after each query change. @default 1 */
|
|
19756
|
-
initialPage?: number;
|
|
19757
|
-
};
|
|
19758
19757
|
export type SelectOptionsFromQuery<TOption> = {
|
|
19759
19758
|
/** The mapped options - render them with an `@for` of `et-select-option`s (`filterMode="external"`). */
|
|
19760
19759
|
options: Signal<TOption[]>;
|
|
@@ -19774,38 +19773,6 @@ export type SelectOptionsFromQuery<TOption> = {
|
|
|
19774
19773
|
*/
|
|
19775
19774
|
loadMore: () => void;
|
|
19776
19775
|
};
|
|
19777
|
-
/**
|
|
19778
|
-
* Feeds a select's options from an `@ethlete/query` query as the user searches. It takes the
|
|
19779
|
-
* `queryCreator` plus a reactive `args` builder and runs them on a `createPagedQueryStack`: the stack
|
|
19780
|
-
* restarts at `initialPage` as the (debounced) search query changes. Bind the returned bundle with
|
|
19781
|
-
* `[etSelectOptions]` - it wires the async state and the query/load-more plumbing - and render
|
|
19782
|
-
* `options` yourself:
|
|
19783
|
-
*
|
|
19784
|
-
* ```ts
|
|
19785
|
-
* users = selectOptionsFromQuery({
|
|
19786
|
-
* queryCreator: searchUsers,
|
|
19787
|
-
* args: (query, page) => (query() ? { queryParams: { q: query(), page: page() } } : null),
|
|
19788
|
-
* toOptions: (res) => res.items,
|
|
19789
|
-
* toHasMore: (res) => res.page < res.totalPages,
|
|
19790
|
-
* });
|
|
19791
|
-
* ```
|
|
19792
|
-
*
|
|
19793
|
-
* ```html
|
|
19794
|
-
* <et-select [formField]="form.assignee" [etSelectOptions]="users">
|
|
19795
|
-
* <input etSelectSearch placeholder="Search users" />
|
|
19796
|
-
* @for (user of users.options(); track user.id) {
|
|
19797
|
-
* <et-select-option [value]="user.id">{{ user.name }}</et-select-option>
|
|
19798
|
-
* }
|
|
19799
|
-
* </et-select>
|
|
19800
|
-
* ```
|
|
19801
|
-
*
|
|
19802
|
-
* To intercept a single binding, wire `loading`, `loadError`, `hasMoreItems`, `queryChange`, `loadMore` and
|
|
19803
|
-
* `filterMode="external"` by hand instead - see the select guide's async options section.
|
|
19804
|
-
*
|
|
19805
|
-
* Call it from a field initializer / constructor (injection context), the same place you'd create
|
|
19806
|
-
* a query or a query stack.
|
|
19807
|
-
*/
|
|
19808
|
-
export declare const selectOptionsFromQuery: <TCreator extends AnyQueryCreator, TOption>(config: SelectOptionsFromQueryConfig<TCreator, TOption>) => SelectOptionsFromQuery<TOption>;
|
|
19809
19776
|
/**
|
|
19810
19777
|
* Wires an async options bundle - the return value of `selectOptionsFromQuery` or
|
|
19811
19778
|
* `selectOptionsFromV2Query` - into a select with a single binding, replacing the manual
|
|
@@ -20095,6 +20062,66 @@ export declare class SelectOptionComponent {
|
|
|
20095
20062
|
outputs: {};
|
|
20096
20063
|
}]>;
|
|
20097
20064
|
}
|
|
20065
|
+
/** Config for {@link selectOptionsFromQuery}. */
|
|
20066
|
+
export type SelectOptionsFromQueryConfig<TCreator extends AnyQueryCreator, TOption> = {
|
|
20067
|
+
/**
|
|
20068
|
+
* The query creator to run (e.g. from `createGetQuery`). Its pages run on a paged query stack that
|
|
20069
|
+
* restarts when the debounced search query changes - never per keystroke.
|
|
20070
|
+
*/
|
|
20071
|
+
queryCreator: TCreator;
|
|
20072
|
+
/**
|
|
20073
|
+
* Builds the request args from the debounced search query and the current `page`. Return `null`
|
|
20074
|
+
* to skip a request (e.g. for an empty query) - `options` is empty while skipped.
|
|
20075
|
+
*/
|
|
20076
|
+
args: (query: Signal<string>, page: Signal<number>) => RequestArgs<QueryArgsOf<TCreator>> | null;
|
|
20077
|
+
/**
|
|
20078
|
+
* Maps a successful response to the option slice for the **current page**. The factory appends
|
|
20079
|
+
* each page's slice to the accumulated `options` (and resets when the query changes).
|
|
20080
|
+
*/
|
|
20081
|
+
toOptions: (response: ResponseType<QueryArgsOf<TCreator>>) => TOption[];
|
|
20082
|
+
/** Derives whether more pages exist from the latest page's response - drives `hasMoreItems` and gates `loadMore()`. */
|
|
20083
|
+
toHasMore?: (response: ResponseType<QueryArgsOf<TCreator>>) => boolean;
|
|
20084
|
+
/** Turns a query failure into the select's error text. Defaults to the first error message, else `SELECT_LABELS.error`. */
|
|
20085
|
+
toErrorMessage?: (error: QueryErrorResponse) => string;
|
|
20086
|
+
/** Minimum query length before requests run. @default 0 */
|
|
20087
|
+
minQueryLength?: number;
|
|
20088
|
+
/** Debounce applied to the query before it reaches `args`, in ms. @default 300 */
|
|
20089
|
+
debounceTime?: number;
|
|
20090
|
+
/** The page `args` receives on first load and after each query change. @default 1 */
|
|
20091
|
+
initialPage?: number;
|
|
20092
|
+
};
|
|
20093
|
+
/**
|
|
20094
|
+
* Feeds a select's options from an `@ethlete/query` query as the user searches. It takes the
|
|
20095
|
+
* `queryCreator` plus a reactive `args` builder and runs them on a `createPagedQueryStack`: the stack
|
|
20096
|
+
* restarts at `initialPage` as the (debounced) search query changes. Bind the returned bundle with
|
|
20097
|
+
* `[etSelectOptions]` - it wires the async state and the query/load-more plumbing - and render
|
|
20098
|
+
* `options` yourself:
|
|
20099
|
+
*
|
|
20100
|
+
* ```ts
|
|
20101
|
+
* users = selectOptionsFromQuery({
|
|
20102
|
+
* queryCreator: searchUsers,
|
|
20103
|
+
* args: (query, page) => (query() ? { queryParams: { q: query(), page: page() } } : null),
|
|
20104
|
+
* toOptions: (res) => res.items,
|
|
20105
|
+
* toHasMore: (res) => res.page < res.totalPages,
|
|
20106
|
+
* });
|
|
20107
|
+
* ```
|
|
20108
|
+
*
|
|
20109
|
+
* ```html
|
|
20110
|
+
* <et-select [formField]="form.assignee" [etSelectOptions]="users">
|
|
20111
|
+
* <input etSelectSearch placeholder="Search users" />
|
|
20112
|
+
* @for (user of users.options(); track user.id) {
|
|
20113
|
+
* <et-select-option [value]="user.id">{{ user.name }}</et-select-option>
|
|
20114
|
+
* }
|
|
20115
|
+
* </et-select>
|
|
20116
|
+
* ```
|
|
20117
|
+
*
|
|
20118
|
+
* To intercept a single binding, wire `loading`, `loadError`, `hasMoreItems`, `queryChange`, `loadMore` and
|
|
20119
|
+
* `filterMode="external"` by hand instead - see the select guide's async options section.
|
|
20120
|
+
*
|
|
20121
|
+
* Call it from a field initializer / constructor (injection context), the same place you'd create
|
|
20122
|
+
* a query or a query stack.
|
|
20123
|
+
*/
|
|
20124
|
+
export declare const selectOptionsFromQuery: <TCreator extends AnyQueryCreator, TOption>(config: SelectOptionsFromQueryConfig<TCreator, TOption>) => SelectOptionsFromQuery<TOption>;
|
|
20098
20125
|
/** The args accepted by the creator's `prepare()` - includes `mock`/`config` extras. */
|
|
20099
20126
|
export type V2PrepareArgsOf<TCreator extends AnyV2QueryCreator | AnyLegacyQueryCreator> = Parameters<TCreator['prepare']>[0];
|
|
20100
20127
|
/** Config for {@link selectOptionsFromV2Query}. */
|
|
@@ -24711,6 +24738,11 @@ export type AnchoredOverlayStrategyOptions = {
|
|
|
24711
24738
|
fallbackPlacements?: Placement[];
|
|
24712
24739
|
offset?: OffsetOptions | null;
|
|
24713
24740
|
arrowPadding?: Padding | null;
|
|
24741
|
+
/**
|
|
24742
|
+
* The element the arrow points at, when it is not the origin the pane is placed against - e.g. a pane
|
|
24743
|
+
* anchored to a toolbar whose arrow points at the button inside it. A function receives the origin.
|
|
24744
|
+
*/
|
|
24745
|
+
arrowAnchor?: Element | ((origin: Element) => Element | null | undefined);
|
|
24714
24746
|
viewportPadding?: Padding | null;
|
|
24715
24747
|
shift?: boolean | OverlayRuntimeShiftOptions;
|
|
24716
24748
|
autoResize?: boolean;
|
|
@@ -24735,7 +24767,7 @@ export type CenteredOverlayStrategyOptions = {
|
|
|
24735
24767
|
minWidth?: number | string;
|
|
24736
24768
|
minHeight?: number | string;
|
|
24737
24769
|
};
|
|
24738
|
-
export type AnchoredPositionOptions = Pick<AnchoredOverlayStrategyOptions, 'placement' | 'fallbackPlacements' | 'offset' | 'arrowPadding' | 'viewportPadding' | 'shift' | 'autoResize' | 'minAvailableSpace' | 'autoHide' | 'autoCloseIfReferenceHidden' | 'mirrorWidth'>;
|
|
24770
|
+
export type AnchoredPositionOptions = Pick<AnchoredOverlayStrategyOptions, 'placement' | 'fallbackPlacements' | 'offset' | 'arrowPadding' | 'arrowAnchor' | 'viewportPadding' | 'shift' | 'autoResize' | 'minAvailableSpace' | 'autoHide' | 'autoCloseIfReferenceHidden' | 'mirrorWidth'>;
|
|
24739
24771
|
export declare const buildAnchoredRuntimePositionStrategy: (options?: AnchoredPositionOptions) => (origin?: Element) => OverlayRuntimePositionStrategy;
|
|
24740
24772
|
export declare const anchoredOverlayStrategy: (options?: AnchoredOverlayStrategyOptions) => (() => OverlayStrategyBreakpoint[]);
|
|
24741
24773
|
export declare const centeredOverlayStrategy: (options?: CenteredOverlayStrategyOptions) => (() => OverlayStrategyBreakpoint[]);
|
|
@@ -25449,7 +25481,7 @@ export declare const injectProgressStepLabels: () => import("@angular/core").Sig
|
|
|
25449
25481
|
export declare const PROGRESS_STEP_LABELS: import("@angular/core").InjectionToken<import("@ethlete/core").LabelsSource<ProgressStepLabels>>;
|
|
25450
25482
|
/**
|
|
25451
25483
|
* Makes a step written as a `routerLink` the `current` step while its link is active in the router.
|
|
25452
|
-
* Opt in per step; a step without it keeps the `
|
|
25484
|
+
* Opt in per step; a step without it keeps the `stepState` you set. Set `etProgressStepExact` to match
|
|
25453
25485
|
* the link's URL exactly instead of any URL beneath it.
|
|
25454
25486
|
*
|
|
25455
25487
|
* @example
|
|
@@ -25483,7 +25515,7 @@ export declare const PROGRESS_STEP_STATES: {
|
|
|
25483
25515
|
export type ProgressStepState = (typeof PROGRESS_STEP_STATES)[keyof typeof PROGRESS_STEP_STATES];
|
|
25484
25516
|
/**
|
|
25485
25517
|
* One step in an `et-progress-steps` row: a numbered marker that becomes an icon once resolved, plus
|
|
25486
|
-
* a label. `
|
|
25518
|
+
* a label. `stepState` is yours to set per step - nothing is derived from position, so a skipped or
|
|
25487
25519
|
* out-of-order step is exactly as easy to render as a strictly linear one.
|
|
25488
25520
|
*
|
|
25489
25521
|
* `complete` marks a step as done in the surrounding color theme; `success`, `warning` and `error`
|
|
@@ -25494,7 +25526,7 @@ export type ProgressStepState = (typeof PROGRESS_STEP_STATES)[keyof typeof PROGR
|
|
|
25494
25526
|
* covers, what it produced, why it failed:
|
|
25495
25527
|
*
|
|
25496
25528
|
* @example
|
|
25497
|
-
* <et-progress-step
|
|
25529
|
+
* <et-progress-step stepState="current">
|
|
25498
25530
|
* Payment
|
|
25499
25531
|
* <span etProgressStepDescription>Card ending 4242</span>
|
|
25500
25532
|
* </et-progress-step>
|
|
@@ -25504,14 +25536,14 @@ export type ProgressStepState = (typeof PROGRESS_STEP_STATES)[keyof typeof PROGR
|
|
|
25504
25536
|
* belong, and the whole step becomes the target:
|
|
25505
25537
|
*
|
|
25506
25538
|
* @example
|
|
25507
|
-
* <a [routerLink]="['/checkout/account']"
|
|
25539
|
+
* <a [routerLink]="['/checkout/account']" stepState="complete" et-progress-step>Account</a>
|
|
25508
25540
|
*/
|
|
25509
25541
|
export declare class ProgressStepComponent {
|
|
25510
25542
|
private provideColor;
|
|
25511
25543
|
private semanticThemes;
|
|
25512
25544
|
private labels;
|
|
25513
25545
|
private elementRef;
|
|
25514
|
-
|
|
25546
|
+
stepState: import("@angular/core").InputSignal<ProgressStepState>;
|
|
25515
25547
|
protected role: string | null;
|
|
25516
25548
|
private currentSource;
|
|
25517
25549
|
protected resolvedState: Signal<ProgressStepState>;
|
|
@@ -25521,8 +25553,8 @@ export declare class ProgressStepComponent {
|
|
|
25521
25553
|
constructor();
|
|
25522
25554
|
static ɵfac: i0.ɵɵFactoryDeclaration<ProgressStepComponent, never>;
|
|
25523
25555
|
static ɵcmp: i0.ɵɵComponentDeclaration<ProgressStepComponent, "et-progress-step, [et-progress-step]", never, {
|
|
25524
|
-
"
|
|
25525
|
-
"alias": "
|
|
25556
|
+
"stepState": {
|
|
25557
|
+
"alias": "stepState";
|
|
25526
25558
|
"required": false;
|
|
25527
25559
|
"isSignal": true;
|
|
25528
25560
|
};
|
|
@@ -25544,13 +25576,13 @@ export type ProgressStepsOrientation = (typeof PROGRESS_STEPS_ORIENTATIONS)[keyo
|
|
|
25544
25576
|
/**
|
|
25545
25577
|
* Lays out a row - or, with `orientation="vertical"`, a column - of `et-progress-step`s with automatic
|
|
25546
25578
|
* step numbering and a connecting line between them. Project the steps in order, each with its own
|
|
25547
|
-
* `
|
|
25579
|
+
* `stepState`.
|
|
25548
25580
|
*
|
|
25549
25581
|
* @example
|
|
25550
25582
|
* <et-progress-steps>
|
|
25551
|
-
* <et-progress-step
|
|
25552
|
-
* <et-progress-step
|
|
25553
|
-
* <et-progress-step
|
|
25583
|
+
* <et-progress-step stepState="complete">Account</et-progress-step>
|
|
25584
|
+
* <et-progress-step stepState="current">Shipping</et-progress-step>
|
|
25585
|
+
* <et-progress-step stepState="upcoming">Payment</et-progress-step>
|
|
25554
25586
|
* </et-progress-steps>
|
|
25555
25587
|
*/
|
|
25556
25588
|
export declare class ProgressStepsComponent {
|
|
@@ -35055,6 +35087,65 @@ export declare class TimelineComponent {
|
|
|
35055
35087
|
}
|
|
35056
35088
|
export declare const TIMELINE_IMPORTS: readonly [typeof TimelineComponent, typeof TimelineItemComponent];
|
|
35057
35089
|
export type ToggletipContent = string | TemplateRef<unknown>;
|
|
35090
|
+
export declare class ToggletipComponent {
|
|
35091
|
+
private ownColorProvider;
|
|
35092
|
+
private triggerColorProvider;
|
|
35093
|
+
protected injector: Injector;
|
|
35094
|
+
toggletipId: import("@angular/core").InputSignal<string>;
|
|
35095
|
+
protected contentId: import("@angular/core").InputSignal<string>;
|
|
35096
|
+
content: import("@angular/core").InputSignal<ToggletipContent>;
|
|
35097
|
+
colorProvider: import("@angular/core").InputSignal<ProvideColorDirective | null>;
|
|
35098
|
+
hasTemplate: import("@angular/core").Signal<boolean>;
|
|
35099
|
+
contentText: import("@angular/core").Signal<string | null>;
|
|
35100
|
+
contentTemplate: import("@angular/core").Signal<TemplateRef<unknown> | null>;
|
|
35101
|
+
constructor();
|
|
35102
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ToggletipComponent, never>;
|
|
35103
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ToggletipComponent, "et-toggletip", never, {
|
|
35104
|
+
"toggletipId": {
|
|
35105
|
+
"alias": "toggletipId";
|
|
35106
|
+
"required": true;
|
|
35107
|
+
"isSignal": true;
|
|
35108
|
+
};
|
|
35109
|
+
"contentId": {
|
|
35110
|
+
"alias": "contentId";
|
|
35111
|
+
"required": true;
|
|
35112
|
+
"isSignal": true;
|
|
35113
|
+
};
|
|
35114
|
+
"content": {
|
|
35115
|
+
"alias": "content";
|
|
35116
|
+
"required": true;
|
|
35117
|
+
"isSignal": true;
|
|
35118
|
+
};
|
|
35119
|
+
"colorProvider": {
|
|
35120
|
+
"alias": "colorProvider";
|
|
35121
|
+
"required": true;
|
|
35122
|
+
"isSignal": true;
|
|
35123
|
+
};
|
|
35124
|
+
}, {}, never, never, true, [{
|
|
35125
|
+
directive: typeof i1$1.ProvideColorDirective;
|
|
35126
|
+
inputs: {};
|
|
35127
|
+
outputs: {};
|
|
35128
|
+
}, {
|
|
35129
|
+
directive: typeof i1$1.AutoSurfaceDirective;
|
|
35130
|
+
inputs: {};
|
|
35131
|
+
outputs: {};
|
|
35132
|
+
}]>;
|
|
35133
|
+
}
|
|
35134
|
+
export declare class ToggletipCloseDirective {
|
|
35135
|
+
protected overlayRef: OverlayRef<ToggletipComponent, unknown>;
|
|
35136
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ToggletipCloseDirective, never>;
|
|
35137
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ToggletipCloseDirective, "[etToggletipClose]", never, {}, {}, never, never, true, never>;
|
|
35138
|
+
}
|
|
35139
|
+
export declare class ToggletipTriggerDirective {
|
|
35140
|
+
private button;
|
|
35141
|
+
private destroyRef;
|
|
35142
|
+
private elementRef;
|
|
35143
|
+
private toggletip;
|
|
35144
|
+
constructor();
|
|
35145
|
+
isOpen(): boolean;
|
|
35146
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ToggletipTriggerDirective, never>;
|
|
35147
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ToggletipTriggerDirective, "[etToggletipTrigger]", ["etToggletipTrigger"], {}, {}, never, never, true, never>;
|
|
35148
|
+
}
|
|
35058
35149
|
export declare class ToggletipDirective {
|
|
35059
35150
|
private destroyRef;
|
|
35060
35151
|
private reportError;
|
|
@@ -35150,65 +35241,6 @@ export declare class ToggletipDirective {
|
|
|
35150
35241
|
"open": "etToggletipOpenChange";
|
|
35151
35242
|
}, never, never, true, never>;
|
|
35152
35243
|
}
|
|
35153
|
-
export declare class ToggletipComponent {
|
|
35154
|
-
private ownColorProvider;
|
|
35155
|
-
private triggerColorProvider;
|
|
35156
|
-
protected injector: Injector;
|
|
35157
|
-
toggletipId: import("@angular/core").InputSignal<string>;
|
|
35158
|
-
protected contentId: import("@angular/core").InputSignal<string>;
|
|
35159
|
-
content: import("@angular/core").InputSignal<ToggletipContent>;
|
|
35160
|
-
colorProvider: import("@angular/core").InputSignal<ProvideColorDirective | null>;
|
|
35161
|
-
hasTemplate: import("@angular/core").Signal<boolean>;
|
|
35162
|
-
contentText: import("@angular/core").Signal<string | null>;
|
|
35163
|
-
contentTemplate: import("@angular/core").Signal<TemplateRef<unknown> | null>;
|
|
35164
|
-
constructor();
|
|
35165
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ToggletipComponent, never>;
|
|
35166
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ToggletipComponent, "et-toggletip", never, {
|
|
35167
|
-
"toggletipId": {
|
|
35168
|
-
"alias": "toggletipId";
|
|
35169
|
-
"required": true;
|
|
35170
|
-
"isSignal": true;
|
|
35171
|
-
};
|
|
35172
|
-
"contentId": {
|
|
35173
|
-
"alias": "contentId";
|
|
35174
|
-
"required": true;
|
|
35175
|
-
"isSignal": true;
|
|
35176
|
-
};
|
|
35177
|
-
"content": {
|
|
35178
|
-
"alias": "content";
|
|
35179
|
-
"required": true;
|
|
35180
|
-
"isSignal": true;
|
|
35181
|
-
};
|
|
35182
|
-
"colorProvider": {
|
|
35183
|
-
"alias": "colorProvider";
|
|
35184
|
-
"required": true;
|
|
35185
|
-
"isSignal": true;
|
|
35186
|
-
};
|
|
35187
|
-
}, {}, never, never, true, [{
|
|
35188
|
-
directive: typeof i1$1.ProvideColorDirective;
|
|
35189
|
-
inputs: {};
|
|
35190
|
-
outputs: {};
|
|
35191
|
-
}, {
|
|
35192
|
-
directive: typeof i1$1.AutoSurfaceDirective;
|
|
35193
|
-
inputs: {};
|
|
35194
|
-
outputs: {};
|
|
35195
|
-
}]>;
|
|
35196
|
-
}
|
|
35197
|
-
export declare class ToggletipCloseDirective {
|
|
35198
|
-
protected overlayRef: OverlayRef<ToggletipComponent, unknown>;
|
|
35199
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ToggletipCloseDirective, never>;
|
|
35200
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ToggletipCloseDirective, "[etToggletipClose]", never, {}, {}, never, never, true, never>;
|
|
35201
|
-
}
|
|
35202
|
-
export declare class ToggletipTriggerDirective {
|
|
35203
|
-
private button;
|
|
35204
|
-
private destroyRef;
|
|
35205
|
-
private elementRef;
|
|
35206
|
-
private toggletip;
|
|
35207
|
-
constructor();
|
|
35208
|
-
isOpen(): boolean;
|
|
35209
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ToggletipTriggerDirective, never>;
|
|
35210
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ToggletipTriggerDirective, "[etToggletipTrigger]", ["etToggletipTrigger"], {}, {}, never, never, true, never>;
|
|
35211
|
-
}
|
|
35212
35244
|
export declare const TOGGLETIP_ERROR_CODES: {
|
|
35213
35245
|
readonly TEMPLATE_TOGGLETIP_REQUIRES_LABEL: 1500;
|
|
35214
35246
|
readonly TRIGGER_REQUIRES_BUTTON: 1501;
|
|
@@ -35788,5 +35820,5 @@ export declare const provideUnsavedChangesLabels: (labels: import("@ethlete/core
|
|
|
35788
35820
|
export declare const injectUnsavedChangesLabels: () => import("@angular/core").Signal<UnsavedChangesLabels>;
|
|
35789
35821
|
export declare const UNSAVED_CHANGES_LABELS: import("@angular/core").InjectionToken<import("@ethlete/core").LabelsSource<UnsavedChangesLabels>>;
|
|
35790
35822
|
/** The version of `@ethlete/components` this build was cut from. */
|
|
35791
|
-
export declare const COMPONENTS_VERSION = "1.0.0-next.
|
|
35823
|
+
export declare const COMPONENTS_VERSION = "1.0.0-next.81";
|
|
35792
35824
|
export { type AppointmentTreeNode, BRACKET_DATA_LAYOUT, BRACKET_ERROR_CODES, BRACKET_ROUND_MIRROR_TYPE, BRACKET_SWISS_GROUP_COLOR_TYPE, type Bracket, type BracketByeSlotSource, type BracketComponents, type BracketContinueComponent, type BracketDataLayout, type BracketDataSource, type BracketDrawing, type BracketEdge, type BracketExternalSlotSource, type BracketGradient, type BracketGradientStop, BracketMap, type BracketMatch, type BracketMatchComponent, type BracketMatchFactor, type BracketMatchId, type BracketMatchOutcomeSlotSource, type BracketMatchParticipant, type BracketMatchPosition, type BracketMatchRelation, type BracketMatchRelationNone, type BracketMatchRelationNothingToOne, type BracketMatchRelationOneToNothing, type BracketMatchRelationOneToOne, type BracketMatchRelationTwoToNothing, type BracketMatchRelationTwoToOne, type BracketMatchShortId, type BracketMatchSlot, type BracketMatchSource, type BracketMatchStatus, type BracketParticipant, type BracketParticipantMatch, type BracketPickMigration, type BracketPickMigrationOptions, type BracketPickSet, type BracketRect, type BracketRound, type BracketRoundHeaderComponent, type BracketRoundId, type BracketRoundMapWithSwissData, type BracketRoundMirrorType, type BracketRoundPosition, type BracketRoundRelation, type BracketRoundRelationNone, type BracketRoundRelationNothingToOne, type BracketRoundRelationOneToNothing, type BracketRoundRelationOneToOne, type BracketRoundRelationTwoToNothing, type BracketRoundRelationTwoToOne, type BracketRoundShortId, type BracketRoundSource, type BracketRoundSwissData, type BracketRoundSwissGroup, type BracketRoundSwissGroupId, type BracketRoundSwissGroupMap, type BracketRoundType, BracketRuntimeError, type BracketSeedSlotSource, type BracketSlotResolutionPolicy, type BracketSlotSource, type BracketSlotSourceKind, type BracketStandingRankSide, type BracketStandingRankSlotSource, type BracketSwissBucketSlotSource, type BracketSwissColors, type BracketSwissGroupColorType, type BracketWarning, COMMON_BRACKET_ROUND_TYPE, type CalendarBandPosition, type CalendarInterval, type CalendarPrecision, type CalendarSelectionFlags, type CalendarView, type CalendarWeekStartsOn, type CascaderCompareWith, type CascaderDataSource, type CascaderNode, type CommonBracketRoundType, type ComputedBracketGrid, type CreateBracketGridConfig, type CreateBracketOptions, type CreateGridAdapterOptions, DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE, type DateRangeSide, type DateRangeSide as TimeRangeInputSide, type DateRangeValue, type DateRangeValue as DateTimeRangeValue, type DateRangeValue as TimeRangeValue, type DoubleEliminationBracketRoundType, type DurationFormatSpec, type DurationSegment, type DurationUnit, GROUP_BRACKET_ROUND_TYPE, type GridAdapter, type GridAdapterBreakpoints, type GridConfig, type GroupBracketRoundType, type MatchParticipantId, type MatchParticipantShortId, type MatchParticipantSide, type ParticipantMatchResult, type PlaceholderBracketShape, type RichTextEditorHeadingLevel, type RichTextEditorImageFailure, type RichTextEditorImageFailureReason, type RichTextEditorImageUpload, type RichTextEditorImageUploadContext, type RichTextEditorImageUploadFn, type RichTextEditorTokenChip, type RichTextEditorTokenCodec, SINGLE_ELIMINATION_BRACKET_ROUND_TYPE, SWISS_BRACKET_ROUND_TYPE, type SchedulerAgendaDay, type SchedulerMonthDayCell, type SchedulerTimeGridAllDayEntry, type SchedulerTimeGridBlock, type SchedulerTimeGridDay, type SchedulerTimeGridSegment, type ScrollableActiveChildRef, type ScrollableButtonPosition, type ScrollableButtonsConfig, type ScrollableChrome, type ScrollableChromeSlot, type ScrollableDirection, type ScrollableIntersectionChange, type ScrollableItemSize, type ScrollableLoadingTemplatePosition, type ScrollableLoadingTemplateRef, type ScrollableMaskVariant, type ScrollableNavigation, type ScrollableNavigationConfig, type ScrollableNavigationItem, type ScrollableScrollMode, type ScrollableScrollOrigin, type ScrollableScrollState, type ScrollbarGeometry, type ScrollbarOrientation, type ScrollbarTarget, type SerializeOptions, type SingleEliminationBracketRoundType, type StandingPick, type StandingPickOutcome, type SwissBracketRoundType, TOURNAMENT_MODE, type TournamentMode, bracketSlot, createBracket, createPlaceholderBracketSource, injectRichTextEditorTools, isBracketSlotPredictable, migrateBracketPicks, resolveBracketSlot, standingRankSides, swapStandingRank, validateBracketSource };
|