@ethlete/components 1.0.0-next.19 → 1.0.0-next.21
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 +109 -0
- package/fesm2022/ethlete-components.mjs +9665 -7388
- package/fesm2022/ethlete-components.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ethlete-components.d.ts +602 -56
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Signal, WritableSignal, InjectionToken, ElementRef, Type, InputSignal, ViewContainerRef, Injector, Binding, StaticProvider, TemplateRef, OnInit, ComponentRef, ModelSignal, OnDestroy, computed,
|
|
2
|
+
import { Signal, WritableSignal, InjectionToken, ElementRef, Type, Provider, InputSignal, ViewContainerRef, Injector, Binding, StaticProvider, TemplateRef, OnInit, ComponentRef, ModelSignal, OnDestroy, computed, EnvironmentInjector, ApplicationRef } from '@angular/core';
|
|
3
3
|
import * as _ethlete_core from '@ethlete/core';
|
|
4
|
-
import { AnimatableDirective, ResizeEdge, DragHandleDirective, ResizeMoveEvent, OverlayRuntimePositionStrategy, Breakpoint, OverlayRuntimeRef, AnimatedLifecycleDirective, OverlayRuntimeCloseSource, AnimatedLifecycleState, OverlayRuntimeShiftOptions, AngularRenderer, OverlayRuntimeAnimationDelegate, ScrollObserverDirective, ScrollToElementOptions, ConsentHandler, ProvideColorDirective } from '@ethlete/core';
|
|
4
|
+
import { AnimatableDirective, ColorTheme, ResizeEdge, DragHandleDirective, ResizeMoveEvent, OverlayRuntimePositionStrategy, Breakpoint, OverlayRuntimeRef, AnimatedLifecycleDirective, OverlayRuntimeCloseSource, AnimatedLifecycleState, OverlayRuntimeShiftOptions, AngularRenderer, OverlayRuntimeAnimationDelegate, ScrollObserverDirective, ScrollToElementOptions, ConsentHandler, ProvideColorDirective } from '@ethlete/core';
|
|
5
5
|
import * as _angular_forms_signals from '@angular/forms/signals';
|
|
6
6
|
import { ValidationError, FormCheckboxControl, PathKind, SchemaPath, SchemaPathRules, FormValueControl } from '@angular/forms/signals';
|
|
7
7
|
import * as _ethlete_components from '@ethlete/components';
|
|
8
|
-
import { QueryArgs, QueryCreator, RequestArgs, ResponseType, AnyNewQuery, QueryErrorResponse } from '@ethlete/query';
|
|
9
|
-
import * as _angular_platform_browser from '@angular/platform-browser';
|
|
10
|
-
import { Placement, OffsetOptions, Padding } from '@floating-ui/dom';
|
|
8
|
+
import { QueryArgs, QueryCreator, RequestArgs, ResponseType, AnyNewQuery, QueryErrorResponse, AnyQueryCreator, QueryArgsOf } from '@ethlete/query';
|
|
11
9
|
import * as rxjs from 'rxjs';
|
|
12
10
|
import { Observable } from 'rxjs';
|
|
11
|
+
import * as _angular_platform_browser from '@angular/platform-browser';
|
|
12
|
+
import { Placement, OffsetOptions, Padding } from '@floating-ui/dom';
|
|
13
13
|
import * as i1 from '@angular/router';
|
|
14
14
|
|
|
15
15
|
declare class ButtonStylesDirective {
|
|
@@ -237,6 +237,7 @@ type FormFieldControl = {
|
|
|
237
237
|
name: Signal<string>;
|
|
238
238
|
required?: Signal<boolean>;
|
|
239
239
|
disabled?: Signal<boolean>;
|
|
240
|
+
readonly?: Signal<boolean>;
|
|
240
241
|
effectiveDisabled?: Signal<boolean>;
|
|
241
242
|
describedBy: WritableSignal<string | null>;
|
|
242
243
|
controlType: Signal<FormFieldControlType>;
|
|
@@ -276,6 +277,8 @@ declare class FormFieldDirective implements FormFieldDirectiveBase {
|
|
|
276
277
|
controlType: _angular_core.Signal<_ethlete_components.FormFieldControlType>;
|
|
277
278
|
focused: _angular_core.Signal<boolean>;
|
|
278
279
|
hasValue: _angular_core.Signal<boolean>;
|
|
280
|
+
isReadonly: _angular_core.Signal<boolean>;
|
|
281
|
+
isDisabled: _angular_core.Signal<boolean>;
|
|
279
282
|
usesTextFieldShell: _angular_core.Signal<boolean>;
|
|
280
283
|
shouldFloatLabel: _angular_core.Signal<boolean>;
|
|
281
284
|
describedById: _angular_core.Signal<string | null>;
|
|
@@ -668,11 +671,11 @@ declare class DropzoneDirective<TValue = unknown> implements FormValueControl<TV
|
|
|
668
671
|
/** Whether multiple files can be uploaded. The control value becomes an array. */
|
|
669
672
|
multiple: _angular_core.InputSignal<boolean>;
|
|
670
673
|
/** Emits all files of a selection that were rejected, with the reason per file. */
|
|
671
|
-
|
|
674
|
+
filesReject: _angular_core.OutputEmitterRef<DropzoneFileRejection[]>;
|
|
672
675
|
/** Emits when the upload of an entry succeeded (after the control value was updated). */
|
|
673
|
-
|
|
676
|
+
uploadSucceed: _angular_core.OutputEmitterRef<DropzoneEntry<TValue>>;
|
|
674
677
|
/** Emits when the upload of an entry failed. */
|
|
675
|
-
|
|
678
|
+
uploadFail: _angular_core.OutputEmitterRef<DropzoneEntry<TValue>>;
|
|
676
679
|
private internalEntries;
|
|
677
680
|
private internalLastRejections;
|
|
678
681
|
private dragDepth;
|
|
@@ -722,7 +725,7 @@ declare class DropzoneDirective<TValue = unknown> implements FormValueControl<TV
|
|
|
722
725
|
private syncValue;
|
|
723
726
|
private reconcileValue;
|
|
724
727
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropzoneDirective<any>, never>;
|
|
725
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DropzoneDirective<any>, "[etDropzone]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "upload": { "alias": "upload"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; "
|
|
728
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DropzoneDirective<any>, "[etDropzone]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "upload": { "alias": "upload"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; "filesReject": "filesReject"; "uploadSucceed": "uploadSucceed"; "uploadFail": "uploadFail"; }, never, never, true, never>;
|
|
726
729
|
}
|
|
727
730
|
|
|
728
731
|
declare class DropzoneComponent {
|
|
@@ -788,7 +791,7 @@ declare class DropzoneComponent {
|
|
|
788
791
|
protected removeEntryAnimated(entry: DropzoneEntry, entryElement: HTMLElement): void;
|
|
789
792
|
private defaultUploadErrorMessage;
|
|
790
793
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropzoneComponent, never>;
|
|
791
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropzoneComponent, "et-dropzone", never, { "retryLabel": { "alias": "retryLabel"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "replaceLabel": { "alias": "replaceLabel"; "required": false; "isSignal": true; }; "uploadErrorLabel": { "alias": "uploadErrorLabel"; "required": false; "isSignal": true; }; "uploadErrorMessage": { "alias": "uploadErrorMessage"; "required": false; "isSignal": true; }; }, {}, never, ["et-label", "*", "et-hint"], true, [{ directive: typeof FormFieldDirective; inputs: {}; outputs: {}; }, { directive: typeof DropzoneDirective; inputs: { "value": "value"; "touched": "touched"; "disabled": "disabled"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "upload": "upload"; "multiple": "multiple"; }; outputs: { "valueChange": "valueChange"; "touchedChange": "touchedChange"; "
|
|
794
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropzoneComponent, "et-dropzone", never, { "retryLabel": { "alias": "retryLabel"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "replaceLabel": { "alias": "replaceLabel"; "required": false; "isSignal": true; }; "uploadErrorLabel": { "alias": "uploadErrorLabel"; "required": false; "isSignal": true; }; "uploadErrorMessage": { "alias": "uploadErrorMessage"; "required": false; "isSignal": true; }; }, {}, never, ["et-label", "*", "et-hint"], true, [{ directive: typeof FormFieldDirective; inputs: {}; outputs: {}; }, { directive: typeof DropzoneDirective; inputs: { "value": "value"; "touched": "touched"; "disabled": "disabled"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "upload": "upload"; "multiple": "multiple"; }; outputs: { "valueChange": "valueChange"; "touchedChange": "touchedChange"; "filesReject": "filesReject"; "uploadSucceed": "uploadSucceed"; "uploadFail": "uploadFail"; }; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: { "etProvideColor": "color"; }; outputs: {}; }]>;
|
|
792
795
|
}
|
|
793
796
|
|
|
794
797
|
declare const DROPZONE_IMPORTS: readonly [typeof DropzoneComponent, typeof DropzoneDirective];
|
|
@@ -934,7 +937,128 @@ declare class InputComponent {
|
|
|
934
937
|
|
|
935
938
|
declare const INPUT_IMPORTS: readonly [typeof InputComponent, typeof InputDirective];
|
|
936
939
|
|
|
937
|
-
|
|
940
|
+
declare class RichTextEditorFloatingToolbarDirective {
|
|
941
|
+
private editor;
|
|
942
|
+
private document;
|
|
943
|
+
private renderer;
|
|
944
|
+
private overlayManager;
|
|
945
|
+
private destroyRef;
|
|
946
|
+
private overlayId;
|
|
947
|
+
private overlayRef;
|
|
948
|
+
private activeRange;
|
|
949
|
+
private pointerSelectingInContent;
|
|
950
|
+
constructor();
|
|
951
|
+
private selectableRange;
|
|
952
|
+
private finishContentPointerSelection;
|
|
953
|
+
/** Selection settled (key/pointer): open the toolbar or move it to the new range. */
|
|
954
|
+
private evaluate;
|
|
955
|
+
/** Selection changed while open: follow it, or close if it is no longer usable. */
|
|
956
|
+
private reposition;
|
|
957
|
+
private openOrReposition;
|
|
958
|
+
private buildAnchoredPosition;
|
|
959
|
+
private hide;
|
|
960
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextEditorFloatingToolbarDirective, never>;
|
|
961
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RichTextEditorFloatingToolbarDirective, "[etRichTextEditorFloatingToolbar]", never, {}, {}, never, never, true, never>;
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
/**
|
|
965
|
+
* Namespaces a token in the serialized Markdown (`{{type:id}}`). Apps pick their own
|
|
966
|
+
* values (`'block'`, `'mention'`, `'link'`, …); the union just nudges the common ones.
|
|
967
|
+
*/
|
|
968
|
+
type RichTextEditorTriggerType = 'block' | 'mention' | 'link' | (string & {});
|
|
969
|
+
/** A single row shown in the trigger popup and the source of an inserted token. */
|
|
970
|
+
type RichTextEditorTriggerItem = {
|
|
971
|
+
/** Stable identity, embedded in the token as `{{type:id}}`. Must match `[A-Za-z0-9._:-]+`. */
|
|
972
|
+
id: string;
|
|
973
|
+
/** Text shown in the popup row and rendered inside the inserted chip. */
|
|
974
|
+
label: string;
|
|
975
|
+
/** Optional secondary line rendered under the label in the popup. */
|
|
976
|
+
description?: string;
|
|
977
|
+
/** Arbitrary passthrough for consumers that render custom rows/chips. */
|
|
978
|
+
data?: unknown;
|
|
979
|
+
/** When `true`, the row is shown but cannot be selected. */
|
|
980
|
+
disabled?: boolean;
|
|
981
|
+
};
|
|
982
|
+
/**
|
|
983
|
+
* Where a trigger gets its items from. Either a static list, or a function of the current
|
|
984
|
+
* query returning items synchronously, as a `Promise`, or as an `Observable` (for
|
|
985
|
+
* search-as-you-type). Function sources are re-run (debounced) as the query changes.
|
|
986
|
+
*/
|
|
987
|
+
type RichTextEditorTriggerItemSource = readonly RichTextEditorTriggerItem[] | ((query: string) => RichTextEditorTriggerItem[] | Promise<RichTextEditorTriggerItem[]> | Observable<RichTextEditorTriggerItem[]>);
|
|
988
|
+
/**
|
|
989
|
+
* Resolves a stored token id back to an item so a `{{type:id}}` value can render as a
|
|
990
|
+
* labelled chip in display/read contexts. Sync, `Promise`, or `Observable`; returning
|
|
991
|
+
* `null` (or omitting the resolver) falls back to rendering the raw id.
|
|
992
|
+
*/
|
|
993
|
+
type RichTextEditorTriggerItemResolver = (id: string) => RichTextEditorTriggerItem | null | Promise<RichTextEditorTriggerItem | null> | Observable<RichTextEditorTriggerItem | null>;
|
|
994
|
+
/** A single trigger character and the domain-specific items it offers. */
|
|
995
|
+
type RichTextEditorTrigger = {
|
|
996
|
+
/** The character that opens the popup at a word boundary (e.g. `'#'`, `'@'`). */
|
|
997
|
+
char: string;
|
|
998
|
+
/** Namespaces the inserted token. Unique per editor. Must match `[a-z][a-z0-9-]*`. */
|
|
999
|
+
type: RichTextEditorTriggerType;
|
|
1000
|
+
/** The items offered while this trigger is active. */
|
|
1001
|
+
items: RichTextEditorTriggerItemSource;
|
|
1002
|
+
/** Renders stored `{{type:id}}` tokens as labelled chips. See {@link RichTextEditorTriggerItemResolver}. */
|
|
1003
|
+
resolveItem?: RichTextEditorTriggerItemResolver;
|
|
1004
|
+
/** Keep the popup open when the query contains spaces. @default false */
|
|
1005
|
+
allowSpaces?: boolean;
|
|
1006
|
+
/** Minimum query length before items are requested. @default 0 */
|
|
1007
|
+
minQueryLength?: number;
|
|
1008
|
+
/** Debounce applied to async (function) sources, in ms. @default 150 */
|
|
1009
|
+
debounceTime?: number;
|
|
1010
|
+
};
|
|
1011
|
+
/**
|
|
1012
|
+
* Declares a trigger for the rich text editor's building-block autocomplete. A thin
|
|
1013
|
+
* identity helper — kept as a function so the config type is inferred and the call site
|
|
1014
|
+
* reads intentionally. Pass the results to `[etRichTextEditorTriggers]`.
|
|
1015
|
+
*
|
|
1016
|
+
* ```ts
|
|
1017
|
+
* createRichTextEditorTrigger({ char: '#', type: 'block', items: MERGE_FIELDS })
|
|
1018
|
+
* ```
|
|
1019
|
+
*/
|
|
1020
|
+
declare const createRichTextEditorTrigger: (trigger: RichTextEditorTrigger) => RichTextEditorTrigger;
|
|
1021
|
+
|
|
1022
|
+
declare class RichTextEditorTriggersDirective {
|
|
1023
|
+
private editor;
|
|
1024
|
+
private document;
|
|
1025
|
+
private renderer;
|
|
1026
|
+
private overlayManager;
|
|
1027
|
+
private destroyRef;
|
|
1028
|
+
triggers: _angular_core.InputSignal<readonly RichTextEditorTrigger[]>;
|
|
1029
|
+
emptyLabel: _angular_core.InputSignal<string>;
|
|
1030
|
+
private readonly listboxId;
|
|
1031
|
+
private activeMatch;
|
|
1032
|
+
private activeIndex;
|
|
1033
|
+
private overlayRef;
|
|
1034
|
+
private itemsState;
|
|
1035
|
+
private errorText;
|
|
1036
|
+
private isComposing;
|
|
1037
|
+
private listenersAttached;
|
|
1038
|
+
/** Position of a trigger char the user dismissed (Escape) — suppresses reopening for that run. */
|
|
1039
|
+
private dismissed;
|
|
1040
|
+
constructor();
|
|
1041
|
+
private attachListeners;
|
|
1042
|
+
private syncDetection;
|
|
1043
|
+
private interceptPopupKeys;
|
|
1044
|
+
private moveActive;
|
|
1045
|
+
private selectActive;
|
|
1046
|
+
private insertItem;
|
|
1047
|
+
private buildChip;
|
|
1048
|
+
private deletePrecedingChip;
|
|
1049
|
+
private dismiss;
|
|
1050
|
+
private isDismissed;
|
|
1051
|
+
private openOrReposition;
|
|
1052
|
+
private close;
|
|
1053
|
+
private buildAnchoredPosition;
|
|
1054
|
+
private setAriaExpanded;
|
|
1055
|
+
private assertUniqueTriggers;
|
|
1056
|
+
private assertValidToken;
|
|
1057
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextEditorTriggersDirective, never>;
|
|
1058
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RichTextEditorTriggersDirective, "[etRichTextEditorTriggers]", never, { "triggers": { "alias": "triggers"; "required": false; "isSignal": true; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
type InlineTag = 'strong' | 'em' | 'del' | 'u' | 'code';
|
|
938
1062
|
type ListTag = 'ul' | 'ol';
|
|
939
1063
|
type HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
940
1064
|
type EditableSelection = {
|
|
@@ -945,30 +1069,149 @@ type RichTextMarkStates = {
|
|
|
945
1069
|
bold: boolean;
|
|
946
1070
|
italic: boolean;
|
|
947
1071
|
strike: boolean;
|
|
1072
|
+
underline: boolean;
|
|
1073
|
+
code: boolean;
|
|
948
1074
|
unorderedList: boolean;
|
|
949
1075
|
orderedList: boolean;
|
|
950
1076
|
link: boolean;
|
|
951
1077
|
/** Heading level of the block the selection starts in, or `null` when it is not a heading. */
|
|
952
1078
|
heading: number | null;
|
|
1079
|
+
/** Whether the selection starts inside a table cell — where block tools (headings, lists) have
|
|
1080
|
+
* no GFM representation and are disabled. */
|
|
1081
|
+
tableCell: boolean;
|
|
1082
|
+
};
|
|
1083
|
+
|
|
1084
|
+
/**
|
|
1085
|
+
* The formatting controls the rich text editor can render in its toolbar. `'divider'` renders a
|
|
1086
|
+
* visual separator and `'heading'` renders the block-style menu; every other token renders a toggle
|
|
1087
|
+
* button. Consumers pick and order them via the `tools` input or {@link provideRichTextEditorTools}.
|
|
1088
|
+
*/
|
|
1089
|
+
declare const RICH_TEXT_EDITOR_TOOLS: {
|
|
1090
|
+
readonly BOLD: "bold";
|
|
1091
|
+
readonly ITALIC: "italic";
|
|
1092
|
+
readonly UNDERLINE: "underline";
|
|
1093
|
+
readonly STRIKE: "strike";
|
|
1094
|
+
readonly CODE: "code";
|
|
1095
|
+
readonly HEADING: "heading";
|
|
1096
|
+
readonly ALIGN: "align";
|
|
1097
|
+
readonly BULLETED_LIST: "bulletedList";
|
|
1098
|
+
readonly NUMBERED_LIST: "numberedList";
|
|
1099
|
+
readonly LINK: "link";
|
|
1100
|
+
readonly TABLE: "table";
|
|
1101
|
+
readonly DIVIDER: "divider";
|
|
1102
|
+
};
|
|
1103
|
+
/**
|
|
1104
|
+
* A toolbar tool token. The `align` and `table` tools are opt-in — they only render when their
|
|
1105
|
+
* provider (`provideRichTextEditorAlignmentTool` / `provideRichTextEditorTableTool`) is present, so
|
|
1106
|
+
* their code tree-shakes away otherwise. `(string & {})` keeps the union open for custom tools.
|
|
1107
|
+
*/
|
|
1108
|
+
type RichTextEditorTool = (typeof RICH_TEXT_EDITOR_TOOLS)[keyof typeof RICH_TEXT_EDITOR_TOOLS] | (string & {});
|
|
1109
|
+
/** The default toolbar: the block-style menu first, then inline marks, lists and links. */
|
|
1110
|
+
declare const DEFAULT_RICH_TEXT_EDITOR_TOOLS: readonly RichTextEditorTool[];
|
|
1111
|
+
/** The inline marks the selection (floating) toolbar can offer — headings/lists are block-level. */
|
|
1112
|
+
declare const RICH_TEXT_EDITOR_INLINE_TOOLS: readonly RichTextEditorTool[];
|
|
1113
|
+
type RichTextEditorToolsConfig = {
|
|
1114
|
+
tools: readonly RichTextEditorTool[];
|
|
1115
|
+
};
|
|
1116
|
+
declare const injectRichTextEditorTools: {
|
|
1117
|
+
(): RichTextEditorToolsConfig;
|
|
1118
|
+
(options: _angular_core.InjectOptions & {
|
|
1119
|
+
optional?: false;
|
|
1120
|
+
}): RichTextEditorToolsConfig;
|
|
1121
|
+
(options: _angular_core.InjectOptions): RichTextEditorToolsConfig | null;
|
|
1122
|
+
};
|
|
1123
|
+
/**
|
|
1124
|
+
* Sets the default set (and order) of toolbar tools for every `et-rich-text-editor` in scope. A
|
|
1125
|
+
* per-instance `[tools]` input still wins over this. Omit both for the full default toolbar.
|
|
1126
|
+
*/
|
|
1127
|
+
declare const provideRichTextEditorTools: (tools: readonly RichTextEditorTool[]) => _angular_core.Provider[];
|
|
1128
|
+
|
|
1129
|
+
/** Icon + label + wiring for a single toggle-button tool. */
|
|
1130
|
+
type RichTextEditorToolButton = {
|
|
1131
|
+
icon: string;
|
|
1132
|
+
label: string;
|
|
1133
|
+
isActive: (editor: RichTextEditorDirective) => boolean;
|
|
1134
|
+
run: (editor: RichTextEditorDirective) => void;
|
|
1135
|
+
/** Disables the button in contexts where the tool cannot apply (e.g. lists inside a table cell). */
|
|
1136
|
+
isDisabled?: (editor: RichTextEditorDirective) => boolean;
|
|
1137
|
+
/** Link keeps its brand color, so its icon opts out of the neutral icon recolor. */
|
|
1138
|
+
allowHardcodedColor?: boolean;
|
|
1139
|
+
};
|
|
1140
|
+
/** The toggle-button tools, keyed by token (`divider`/`heading` are rendered specially). */
|
|
1141
|
+
declare const RICH_TEXT_EDITOR_TOOL_BUTTONS: Partial<Record<RichTextEditorTool, RichTextEditorToolButton>>;
|
|
1142
|
+
/** Block-style options for the heading menu. `null` is a normal paragraph. */
|
|
1143
|
+
declare const RICH_TEXT_EDITOR_HEADING_OPTIONS: readonly {
|
|
1144
|
+
level: number | null;
|
|
1145
|
+
label: string;
|
|
1146
|
+
icon: string;
|
|
1147
|
+
}[];
|
|
1148
|
+
/**
|
|
1149
|
+
* A tool contributed to the toolbar via DI. Base tools are the static {@link RICH_TEXT_EDITOR_TOOL_BUTTONS};
|
|
1150
|
+
* opt-in tools (table, alignment, or app-defined ones) register a definition through
|
|
1151
|
+
* {@link RICH_TEXT_EDITOR_TOOL} so their code only ships when provided. A tool renders either as a
|
|
1152
|
+
* toggle button (`icon` + `isActive`/`run`) or as a custom `control` component (given an `editor` input).
|
|
1153
|
+
*/
|
|
1154
|
+
type RichTextEditorToolDefinition = {
|
|
1155
|
+
/** The `tools` token this definition renders for (e.g. `'table'`). */
|
|
1156
|
+
token: string;
|
|
1157
|
+
label: string;
|
|
1158
|
+
icon?: string;
|
|
1159
|
+
allowHardcodedColor?: boolean;
|
|
1160
|
+
isActive?: (editor: RichTextEditorDirective) => boolean;
|
|
1161
|
+
run?: (editor: RichTextEditorDirective) => void;
|
|
1162
|
+
/** Disables the button in contexts where the tool cannot apply (e.g. lists inside a table cell). */
|
|
1163
|
+
isDisabled?: (editor: RichTextEditorDirective) => boolean;
|
|
1164
|
+
/** Custom control rendered instead of a toggle button; it receives the editor as an `editor` input. */
|
|
1165
|
+
control?: Type<unknown>;
|
|
1166
|
+
};
|
|
1167
|
+
/** Multi-provider token opt-in tools register their {@link RichTextEditorToolDefinition} into. */
|
|
1168
|
+
declare const RICH_TEXT_EDITOR_TOOL: InjectionToken<RichTextEditorToolDefinition[]>;
|
|
1169
|
+
|
|
1170
|
+
/**
|
|
1171
|
+
* Bridges token chips and their serialized `{{type:id}}` Markdown form. The
|
|
1172
|
+
* {@link RichTextEditorTokenCodec.serialize} direction reconstructs the token purely from the
|
|
1173
|
+
* chip's `type`/`id` data attributes (never the visible label), so `serialize(render(md))`
|
|
1174
|
+
* is byte-stable regardless of the resolved label — the base editor relies on this to avoid
|
|
1175
|
+
* re-rendering (and resetting the caret) on every keystroke.
|
|
1176
|
+
*/
|
|
1177
|
+
type RichTextEditorTokenCodec = {
|
|
1178
|
+
/** In-place: replaces every `[data-et-token]` chip in `root` with a `{{type:id}}` text node. */
|
|
1179
|
+
serialize: (root: HTMLElement) => void;
|
|
1180
|
+
/** Replaces every `{{type:id}}` in `html` with chip HTML, resolving labels synchronously. */
|
|
1181
|
+
render: (html: string) => string;
|
|
1182
|
+
/** Asynchronously resolves chip labels in `root` and patches them in place. */
|
|
1183
|
+
hydrate: (root: HTMLElement) => void;
|
|
953
1184
|
};
|
|
954
1185
|
|
|
955
1186
|
declare class RichTextEditorDirective implements FormValueControl<string>, FormFieldControl {
|
|
956
1187
|
private formField;
|
|
957
1188
|
private destroyRef;
|
|
958
1189
|
private document;
|
|
1190
|
+
private toolsConfig;
|
|
959
1191
|
/** @internal */
|
|
960
1192
|
editorDom: {
|
|
961
1193
|
root: _angular_core.WritableSignal<HTMLElement | null>;
|
|
962
1194
|
getSelection: () => EditableSelection | null;
|
|
963
1195
|
closestWithin: (node: Node | null, selector: string) => HTMLElement | null;
|
|
964
1196
|
markStates: () => RichTextMarkStates | null;
|
|
1197
|
+
activeInlineTags: () => InlineTag[];
|
|
965
1198
|
toggleInline: (tag: InlineTag) => void;
|
|
1199
|
+
insertInlineText: (text: string, tags: InlineTag[]) => void;
|
|
1200
|
+
codeExit: (key: string) => boolean;
|
|
1201
|
+
indentListItem: () => boolean;
|
|
1202
|
+
outdentListItem: () => boolean;
|
|
1203
|
+
tableExit: (key: string) => boolean;
|
|
1204
|
+
tableEnter: (key: string) => boolean;
|
|
966
1205
|
toggleList: (listTag: ListTag) => void;
|
|
967
1206
|
toggleHeading: (tag: HeadingTag) => void;
|
|
968
1207
|
applyLink: (href: string) => void;
|
|
969
1208
|
removeLink: () => void;
|
|
970
1209
|
insertToken: (node: Node) => void;
|
|
1210
|
+
insertNormalizedHtml: (html: string) => void;
|
|
1211
|
+
applyBlockAutoformat: (isReserved: (char: string) => boolean) => boolean;
|
|
1212
|
+
applyInlineAutoformat: (typed: string, isReserved: (char: string) => boolean) => boolean;
|
|
971
1213
|
handleBackspace: () => boolean;
|
|
1214
|
+
handleEnter: () => boolean;
|
|
972
1215
|
};
|
|
973
1216
|
value: _angular_core.ModelSignal<string>;
|
|
974
1217
|
touched: _angular_core.ModelSignal<boolean>;
|
|
@@ -980,6 +1223,21 @@ declare class RichTextEditorDirective implements FormValueControl<string>, FormF
|
|
|
980
1223
|
required: _angular_core.InputSignal<boolean>;
|
|
981
1224
|
name: _angular_core.InputSignal<string>;
|
|
982
1225
|
placeholder: _angular_core.InputSignal<string>;
|
|
1226
|
+
/** Which formatting tools the toolbar renders, and in what order. Falls back to the value from
|
|
1227
|
+
* `provideRichTextEditorTools` (or the full default set). */
|
|
1228
|
+
tools: _angular_core.InputSignal<readonly RichTextEditorTool[] | null>;
|
|
1229
|
+
/** Markdown autoformat while typing: `- `, `1. ` and `# `–`### ` at a line start convert into
|
|
1230
|
+
* lists/headings, and closing `**bold**`, `*italic*`, `` `code` ``, `~~strike~~`, `__`/`_` runs
|
|
1231
|
+
* convert into their marks. Registered token-trigger characters never autoformat. */
|
|
1232
|
+
autoformat: _angular_core.InputSignal<boolean>;
|
|
1233
|
+
/** Resolved toolbar tools: the `tools` input if set, otherwise the provided/default config. */
|
|
1234
|
+
resolvedTools: _angular_core.Signal<readonly RichTextEditorTool[]>;
|
|
1235
|
+
/**
|
|
1236
|
+
* @internal Codec that (de)serializes `{{type:id}}` token chips. Installed by
|
|
1237
|
+
* `[etRichTextEditorTriggers]` or a render-only provider; `null` when the building-block
|
|
1238
|
+
* feature isn't used, in which case token markdown is treated as plain text.
|
|
1239
|
+
*/
|
|
1240
|
+
tokenCodec: _angular_core.WritableSignal<RichTextEditorTokenCodec | null>;
|
|
983
1241
|
shouldDisplayError: _angular_core.Signal<boolean>;
|
|
984
1242
|
hasValue: _angular_core.Signal<boolean>;
|
|
985
1243
|
describedBy: _angular_core.WritableSignal<string | null>;
|
|
@@ -990,10 +1248,32 @@ declare class RichTextEditorDirective implements FormValueControl<string>, FormF
|
|
|
990
1248
|
boldActive: _angular_core.WritableSignal<boolean>;
|
|
991
1249
|
italicActive: _angular_core.WritableSignal<boolean>;
|
|
992
1250
|
strikeActive: _angular_core.WritableSignal<boolean>;
|
|
1251
|
+
underlineActive: _angular_core.WritableSignal<boolean>;
|
|
1252
|
+
codeActive: _angular_core.WritableSignal<boolean>;
|
|
993
1253
|
unorderedListActive: _angular_core.WritableSignal<boolean>;
|
|
994
1254
|
orderedListActive: _angular_core.WritableSignal<boolean>;
|
|
995
1255
|
linkActive: _angular_core.WritableSignal<boolean>;
|
|
996
1256
|
headingLevel: _angular_core.WritableSignal<number | null>;
|
|
1257
|
+
/** Whether the selection sits inside a table cell. Block tools (heading menu, lists) disable
|
|
1258
|
+
* themselves on it — a GFM table cell can only hold single-line inline content, so block
|
|
1259
|
+
* markup inside one would not survive serialization. */
|
|
1260
|
+
inTableCell: _angular_core.WritableSignal<boolean>;
|
|
1261
|
+
/** The heading (block-style) tool is unavailable where a heading can't apply: inside table
|
|
1262
|
+
* cells (no GFM form) and inside list items (a heading would not survive list serialization). */
|
|
1263
|
+
headingToolDisabled: _angular_core.Signal<boolean>;
|
|
1264
|
+
/**
|
|
1265
|
+
* @internal Inline marks queued for the next typed text while the selection is collapsed ("stored
|
|
1266
|
+
* marks"). `null` means "follow the caret"; a list means the next input is wrapped in exactly these.
|
|
1267
|
+
*/
|
|
1268
|
+
pendingMarks: _angular_core.WritableSignal<InlineTag[] | null>;
|
|
1269
|
+
/**
|
|
1270
|
+
* @internal Characters claimed by the token-trigger system (set by `[etRichTextEditorTriggers]`).
|
|
1271
|
+
* Autoformat rules keyed on these characters never fire, so a `#` trigger keeps opening its
|
|
1272
|
+
* autocomplete instead of becoming a heading.
|
|
1273
|
+
*/
|
|
1274
|
+
autoformatReservedChars: _angular_core.WritableSignal<readonly string[]>;
|
|
1275
|
+
/** @internal `true` while a token-trigger popup run is active — suspends all autoformat. */
|
|
1276
|
+
autoformatSuppressed: _angular_core.WritableSignal<boolean>;
|
|
997
1277
|
/** @internal */
|
|
998
1278
|
lastEmittedMarkdown: string | null;
|
|
999
1279
|
constructor();
|
|
@@ -1003,58 +1283,318 @@ declare class RichTextEditorDirective implements FormValueControl<string>, FormF
|
|
|
1003
1283
|
toggleBold(): void;
|
|
1004
1284
|
toggleItalic(): void;
|
|
1005
1285
|
toggleStrikethrough(): void;
|
|
1286
|
+
toggleUnderline(): void;
|
|
1287
|
+
toggleInlineCode(): void;
|
|
1288
|
+
/**
|
|
1289
|
+
* Runs markdown autoformat for a single typed character (called from `beforeinput`): a space may
|
|
1290
|
+
* convert a line-start prefix into a list/heading, a delimiter char may close an inline run into
|
|
1291
|
+
* its mark. Returns `true` when the character was consumed by a conversion.
|
|
1292
|
+
*/
|
|
1293
|
+
handleAutoformat(data: string): boolean;
|
|
1294
|
+
consumePendingInsert(text: string): boolean;
|
|
1295
|
+
clearPendingMarks(): void;
|
|
1006
1296
|
toggleUnorderedList(): void;
|
|
1007
1297
|
toggleOrderedList(): void;
|
|
1008
1298
|
toggleHeading(level: number): void;
|
|
1299
|
+
setHeading(level: number | null): void;
|
|
1009
1300
|
setLink(href: string): void;
|
|
1010
1301
|
promptForLink(): void;
|
|
1011
1302
|
handleBackspace(): boolean;
|
|
1012
|
-
|
|
1013
|
-
* @internal Extension seam for the follow-up `@`/`#` autocomplete: inserts an atomic inline
|
|
1014
|
-
* node (a mention/placeholder token) at the caret, then re-syncs.
|
|
1015
|
-
*/
|
|
1303
|
+
pasteHtml(html: string): boolean;
|
|
1016
1304
|
insertAtomicToken(node: Node): void;
|
|
1017
1305
|
private serializeCleanHtml;
|
|
1306
|
+
private toggleMark;
|
|
1307
|
+
private reflectMarks;
|
|
1018
1308
|
private runCommand;
|
|
1019
1309
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextEditorDirective, never>;
|
|
1020
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RichTextEditorDirective, "[etRichTextEditor]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; }, never, never, true, never>;
|
|
1310
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RichTextEditorDirective, "[etRichTextEditor]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "tools": { "alias": "tools"; "required": false; "isSignal": true; }; "autoformat": { "alias": "autoformat"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; }, never, never, true, never>;
|
|
1021
1311
|
}
|
|
1022
1312
|
|
|
1023
1313
|
declare class RichTextEditorFloatingToolbarComponent {
|
|
1024
|
-
|
|
1025
|
-
private
|
|
1026
|
-
private
|
|
1027
|
-
private
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1314
|
+
private ownColorProvider;
|
|
1315
|
+
private contextColorProvider;
|
|
1316
|
+
private ownSurfaceProvider;
|
|
1317
|
+
private contextSurfaceProvider;
|
|
1318
|
+
/** The editor whose selection this toolbar formats (passed in — the toolbar is detached from the DOM). */
|
|
1319
|
+
editor: _angular_core.InputSignal<RichTextEditorDirective>;
|
|
1320
|
+
protected readonly TOOLS: {
|
|
1321
|
+
readonly BOLD: "bold";
|
|
1322
|
+
readonly ITALIC: "italic";
|
|
1323
|
+
readonly UNDERLINE: "underline";
|
|
1324
|
+
readonly STRIKE: "strike";
|
|
1325
|
+
readonly CODE: "code";
|
|
1326
|
+
readonly HEADING: "heading";
|
|
1327
|
+
readonly ALIGN: "align";
|
|
1328
|
+
readonly BULLETED_LIST: "bulletedList";
|
|
1329
|
+
readonly NUMBERED_LIST: "numberedList";
|
|
1330
|
+
readonly LINK: "link";
|
|
1331
|
+
readonly TABLE: "table";
|
|
1332
|
+
readonly DIVIDER: "divider";
|
|
1333
|
+
};
|
|
1334
|
+
protected readonly TOOL_BUTTONS: Partial<Record<_ethlete_components.RichTextEditorTool, _ethlete_components.RichTextEditorToolButton>>;
|
|
1335
|
+
/** The inline marks from the editor's configured tools — headings/lists stay in the static toolbar. */
|
|
1336
|
+
protected inlineTools: _angular_core.Signal<_ethlete_components.RichTextEditorTool[]>;
|
|
1034
1337
|
constructor();
|
|
1035
|
-
private selectableRange;
|
|
1036
|
-
private finishContentPointerSelection;
|
|
1037
|
-
private evaluate;
|
|
1038
|
-
private reposition;
|
|
1039
|
-
private start;
|
|
1040
|
-
private updatePosition;
|
|
1041
|
-
private hide;
|
|
1042
|
-
private stop;
|
|
1043
1338
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextEditorFloatingToolbarComponent, never>;
|
|
1044
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextEditorFloatingToolbarComponent, "et-rich-text-editor-floating-toolbar", never, {}, {}, never, never, true,
|
|
1339
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextEditorFloatingToolbarComponent, "et-rich-text-editor-floating-toolbar", never, { "editor": { "alias": "editor"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideSurfaceDirective; inputs: {}; outputs: {}; }]>;
|
|
1340
|
+
}
|
|
1341
|
+
|
|
1342
|
+
/**
|
|
1343
|
+
* Optional codec the base editor uses to (de)serialize `{{type:id}}` token chips. Installed
|
|
1344
|
+
* either by `[etRichTextEditorTriggers]` (interactive authoring) or by
|
|
1345
|
+
* `provideRichTextEditorTokenRendering` (display/read-only rendering). Absent → the editor
|
|
1346
|
+
* treats token markdown as plain text.
|
|
1347
|
+
*/
|
|
1348
|
+
declare const RICH_TEXT_EDITOR_TOKEN_CODEC: InjectionToken<RichTextEditorTokenCodec>;
|
|
1349
|
+
|
|
1350
|
+
/**
|
|
1351
|
+
* The caret-anchored autocomplete list opened by `[etRichTextEditorTriggers]`. Purely
|
|
1352
|
+
* presentational: it renders items / loading / error / empty states and reports selection and
|
|
1353
|
+
* hover. Focus stays in the editor's `contenteditable` — the active row is driven by
|
|
1354
|
+
* `aria-activedescendant`, and pointer events are `preventDefault`ed so mousedown never steals it.
|
|
1355
|
+
*
|
|
1356
|
+
* Mirrors `et-menu`: neutral surface chrome, an animated block-size resize as the list changes,
|
|
1357
|
+
* and an error line in the app's error color theme.
|
|
1358
|
+
*/
|
|
1359
|
+
declare class RichTextEditorTokenPopupComponent {
|
|
1360
|
+
private ownColorProvider;
|
|
1361
|
+
private contextColorProvider;
|
|
1362
|
+
private ownSurfaceProvider;
|
|
1363
|
+
private contextSurfaceProvider;
|
|
1364
|
+
items: _angular_core.InputSignal<RichTextEditorTriggerItem[]>;
|
|
1365
|
+
activeIndex: _angular_core.InputSignal<number>;
|
|
1366
|
+
loading: _angular_core.InputSignal<boolean>;
|
|
1367
|
+
error: _angular_core.InputSignal<string | null>;
|
|
1368
|
+
emptyLabel: _angular_core.InputSignal<string>;
|
|
1369
|
+
listboxId: _angular_core.InputSignal<string>;
|
|
1370
|
+
selectItem: _angular_core.OutputEmitterRef<RichTextEditorTriggerItem>;
|
|
1371
|
+
activateItem: _angular_core.OutputEmitterRef<number>;
|
|
1372
|
+
private bodyElement;
|
|
1373
|
+
/** The app's error color theme, or `null` when none is registered (error text stays neutral). */
|
|
1374
|
+
protected errorColorTheme: ColorTheme | null;
|
|
1375
|
+
constructor();
|
|
1376
|
+
private resolveErrorTheme;
|
|
1377
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextEditorTokenPopupComponent, never>;
|
|
1378
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextEditorTokenPopupComponent, "et-rich-text-editor-token-popup", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": true; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; "isSignal": true; }; "listboxId": { "alias": "listboxId"; "required": true; "isSignal": true; }; }, { "selectItem": "selectItem"; "activateItem": "activateItem"; }, never, never, true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideSurfaceDirective; inputs: {}; outputs: {}; }]>;
|
|
1045
1379
|
}
|
|
1046
1380
|
|
|
1381
|
+
/**
|
|
1382
|
+
* Renders stored `{{type:id}}` tokens as labelled chips in a display/read-only editor without
|
|
1383
|
+
* pulling in the interactive trigger machinery (detection, popup, floating-ui). Provide it on the
|
|
1384
|
+
* component/route that shows editor values, passing the same triggers used to author them (only
|
|
1385
|
+
* `type` and `resolveItem` are consulted here).
|
|
1386
|
+
*
|
|
1387
|
+
* ```ts
|
|
1388
|
+
* providers: [provideRichTextEditorTokenRendering([
|
|
1389
|
+
* createRichTextEditorTrigger({ char: '#', type: 'block', items: [], resolveItem: id => byId(id) }),
|
|
1390
|
+
* ])]
|
|
1391
|
+
* ```
|
|
1392
|
+
*/
|
|
1393
|
+
declare const provideRichTextEditorTokenRendering: (triggers: readonly RichTextEditorTrigger[]) => Provider[];
|
|
1394
|
+
|
|
1395
|
+
/**
|
|
1396
|
+
* Registers the opt-in `'align'` tool (block text-align: left / center / right / justify). Add to a
|
|
1397
|
+
* component/route's providers and include `'align'` in the editor's `tools`. Alignment persists as a
|
|
1398
|
+
* native `text-align` style on the block (Markdown has no alignment syntax). Tree-shakes when unused.
|
|
1399
|
+
*/
|
|
1400
|
+
declare const provideRichTextEditorAlignmentTool: () => Provider;
|
|
1401
|
+
|
|
1402
|
+
declare const TEXT_ALIGNS: readonly ["left", "center", "right", "justify"];
|
|
1403
|
+
type TextAlign = (typeof TEXT_ALIGNS)[number];
|
|
1404
|
+
/**
|
|
1405
|
+
* The opt-in alignment tool's toolbar control: a menu of block alignments (left/center/right/justify).
|
|
1406
|
+
* Alignment has no Markdown form, so it is persisted as a native `text-align` style on the block (or
|
|
1407
|
+
* table cell) and round-tripped as raw HTML by the Markdown converter. Registered via
|
|
1408
|
+
* `provideRichTextEditorAlignmentTool`.
|
|
1409
|
+
*/
|
|
1410
|
+
declare class RichTextEditorAlignToolComponent {
|
|
1411
|
+
private renderer;
|
|
1412
|
+
private document;
|
|
1413
|
+
editor: _angular_core.InputSignal<RichTextEditorDirective>;
|
|
1414
|
+
protected readonly OPTIONS: {
|
|
1415
|
+
value: TextAlign;
|
|
1416
|
+
label: string;
|
|
1417
|
+
icon: string;
|
|
1418
|
+
}[];
|
|
1419
|
+
/** Alignment of the caret's block/cell — kept live so the trigger icon and menu stay in sync. */
|
|
1420
|
+
protected current: _angular_core.WritableSignal<"left" | "right" | "center" | "justify">;
|
|
1421
|
+
protected currentIcon: _angular_core.Signal<string>;
|
|
1422
|
+
/** Also locked inside lists: `text-align` on a list has no Markdown form and would not survive
|
|
1423
|
+
* serialization, so the tool disables there instead of silently losing the alignment. */
|
|
1424
|
+
protected disabled: _angular_core.Signal<boolean>;
|
|
1425
|
+
constructor();
|
|
1426
|
+
protected select(value: unknown): void;
|
|
1427
|
+
private readAlign;
|
|
1428
|
+
/**
|
|
1429
|
+
* The elements alignment applies to: inside a table, the full columns the selection touches
|
|
1430
|
+
* (GFM table alignment is per column — the serializer reads it from the header cells, so a
|
|
1431
|
+
* single aligned cell would not survive), otherwise the root-level blocks. Lists are skipped —
|
|
1432
|
+
* their alignment has no Markdown form. Read-only — returns `null` when the selection is over
|
|
1433
|
+
* loose top-level text with no block to align (see {@link wrapLooseContent}).
|
|
1434
|
+
*/
|
|
1435
|
+
private targetBlocks;
|
|
1436
|
+
/** Every cell of the columns the given cells belong to, so alignment applies column-wide. */
|
|
1437
|
+
private expandToColumns;
|
|
1438
|
+
/** Wraps the loose top-level nodes the selection touches in a paragraph (the editor doesn't wrap
|
|
1439
|
+
* the first typed line until Enter) so there is a block to align. Mutates — call only on action. */
|
|
1440
|
+
private wrapLooseContent;
|
|
1441
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextEditorAlignToolComponent, never>;
|
|
1442
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextEditorAlignToolComponent, "et-rich-text-editor-align-tool", never, { "editor": { "alias": "editor"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
/**
|
|
1446
|
+
* Registers the opt-in `'table'` tool (insert via a grid-size picker, plus row/column editing). Add
|
|
1447
|
+
* to a component/route's providers and include `'table'` in the editor's `tools`. Because the tool
|
|
1448
|
+
* component and its table DOM operations are only referenced from here, they tree-shake away for
|
|
1449
|
+
* editors that don't provide it.
|
|
1450
|
+
*/
|
|
1451
|
+
declare const provideRichTextEditorTableTool: () => Provider;
|
|
1452
|
+
|
|
1453
|
+
/** Where the caret currently sits inside a table, if anywhere. */
|
|
1454
|
+
type TableContext = {
|
|
1455
|
+
table: HTMLTableElement;
|
|
1456
|
+
row: HTMLTableRowElement;
|
|
1457
|
+
cell: HTMLTableCellElement;
|
|
1458
|
+
rowIndex: number;
|
|
1459
|
+
cellIndex: number;
|
|
1460
|
+
};
|
|
1461
|
+
|
|
1462
|
+
/**
|
|
1463
|
+
* The opt-in table tool's toolbar control: a menu that shows a grid-size picker to insert a table,
|
|
1464
|
+
* or row/column actions when the caret is inside one. Registered via `provideRichTextEditorTableTool`,
|
|
1465
|
+
* so all of this (and the table DOM ops it imports) only ships when a consumer opts in.
|
|
1466
|
+
*/
|
|
1467
|
+
declare class RichTextEditorTableToolComponent {
|
|
1468
|
+
private renderer;
|
|
1469
|
+
editor: _angular_core.InputSignal<RichTextEditorDirective>;
|
|
1470
|
+
private ops;
|
|
1471
|
+
protected readonly pickerRows: number[];
|
|
1472
|
+
protected readonly pickerCols: number[];
|
|
1473
|
+
protected hoverRows: _angular_core.WritableSignal<number>;
|
|
1474
|
+
protected hoverCols: _angular_core.WritableSignal<number>;
|
|
1475
|
+
protected sizeLabel: _angular_core.Signal<string>;
|
|
1476
|
+
/** Table context at the caret, recomputed when the menu opens (via `refreshContext`). */
|
|
1477
|
+
protected context: _angular_core.WritableSignal<TableContext | null>;
|
|
1478
|
+
protected disabled: _angular_core.Signal<boolean>;
|
|
1479
|
+
protected refreshContext(): void;
|
|
1480
|
+
protected hover(row: number, col: number): void;
|
|
1481
|
+
protected insert(row: number, col: number): void;
|
|
1482
|
+
protected addRow(position: 'above' | 'below'): void;
|
|
1483
|
+
protected addColumn(position: 'left' | 'right'): void;
|
|
1484
|
+
protected removeRow(): void;
|
|
1485
|
+
protected removeColumn(): void;
|
|
1486
|
+
protected removeTable(): void;
|
|
1487
|
+
private mutate;
|
|
1488
|
+
private currentContext;
|
|
1489
|
+
/** An empty paragraph (`<p><br></p>`) the caret can step into when exiting a table. */
|
|
1490
|
+
private emptyParagraph;
|
|
1491
|
+
/** The editor-root-level block the caret sits in, so a new table lands after it (not inside it). */
|
|
1492
|
+
private caretBlock;
|
|
1493
|
+
/** Refocuses the editor and drops the caret into `cell` (or leaves focus alone when it is gone). */
|
|
1494
|
+
private restoreCaret;
|
|
1495
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextEditorTableToolComponent, never>;
|
|
1496
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextEditorTableToolComponent, "et-rich-text-editor-table-tool", never, { "editor": { "alias": "editor"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1497
|
+
}
|
|
1498
|
+
|
|
1499
|
+
/** Config for {@link createRichTextEditorTriggerWithQuery}. */
|
|
1500
|
+
type RichTextEditorQueryTriggerConfig<TCreator extends AnyQueryCreator> = {
|
|
1501
|
+
/** The character that opens the popup at a word boundary (e.g. `'@'`). */
|
|
1502
|
+
char: string;
|
|
1503
|
+
/** Namespaces the inserted token (`{{type:id}}`). Unique per editor; matches `[a-z][a-z0-9-]*`. */
|
|
1504
|
+
type: string;
|
|
1505
|
+
/**
|
|
1506
|
+
* The query creator to run (e.g. from `createGetQuery`). Like a query stack, the query is created
|
|
1507
|
+
* **once** and re-executes reactively — never per keystroke.
|
|
1508
|
+
*/
|
|
1509
|
+
queryCreator: TCreator;
|
|
1510
|
+
/**
|
|
1511
|
+
* Builds the request args from the current query text. Runs reactively (like `withArgs`): reading
|
|
1512
|
+
* `search()` re-executes the query as the user types. Return `null` to skip a request (e.g. for an
|
|
1513
|
+
* empty query) so the popup shows no results without hitting the backend.
|
|
1514
|
+
*/
|
|
1515
|
+
args: (search: Signal<string>) => RequestArgs<QueryArgsOf<TCreator>> | null;
|
|
1516
|
+
/** Maps a successful query response to popup items. */
|
|
1517
|
+
toItems: (response: ResponseType<QueryArgsOf<TCreator>>) => RichTextEditorTriggerItem[];
|
|
1518
|
+
/** Resolves a stored token id to a chip label (see the generic factory's `resolveItem`). */
|
|
1519
|
+
resolveItem?: RichTextEditorTriggerItemResolver;
|
|
1520
|
+
/** Turns a query failure into the popup's error text. Defaults to the first error message. */
|
|
1521
|
+
toErrorMessage?: (error: QueryErrorResponse) => string;
|
|
1522
|
+
/** Keep the popup open when the query contains spaces. @default false */
|
|
1523
|
+
allowSpaces?: boolean;
|
|
1524
|
+
/** Minimum query length before items are requested. @default 0 */
|
|
1525
|
+
minQueryLength?: number;
|
|
1526
|
+
/** Debounce applied before the query text is written and results are read, in ms. @default 150 */
|
|
1527
|
+
debounceTime?: number;
|
|
1528
|
+
};
|
|
1529
|
+
/**
|
|
1530
|
+
* A query-aware wrapper around {@link createRichTextEditorTrigger} that removes the manual wiring.
|
|
1531
|
+
* Mirroring `createQueryStack`, it takes the `queryCreator` plus a reactive `args` builder: the
|
|
1532
|
+
* query is created once and re-executes as the user types (the factory owns the search signal and
|
|
1533
|
+
* the `withArgs` feature). It maps the response to items and surfaces a query failure as the popup's
|
|
1534
|
+
* error state.
|
|
1535
|
+
*
|
|
1536
|
+
* Call it from a field initializer / constructor (injection context), the same place you'd create a
|
|
1537
|
+
* query or a query stack.
|
|
1538
|
+
*
|
|
1539
|
+
* ```ts
|
|
1540
|
+
* createRichTextEditorTriggerWithQuery({
|
|
1541
|
+
* char: '@',
|
|
1542
|
+
* type: 'mention',
|
|
1543
|
+
* queryCreator: searchUsers,
|
|
1544
|
+
* args: (search) => (search() ? { queryParams: { q: search() } } : null),
|
|
1545
|
+
* toItems: (res) => res.items.map((u) => ({ id: u.id, label: u.name })),
|
|
1546
|
+
* resolveItem: (id) => userById(id),
|
|
1547
|
+
* })
|
|
1548
|
+
* ```
|
|
1549
|
+
*/
|
|
1550
|
+
declare const createRichTextEditorTriggerWithQuery: <TCreator extends AnyQueryCreator>(config: RichTextEditorQueryTriggerConfig<TCreator>) => RichTextEditorTrigger;
|
|
1551
|
+
|
|
1552
|
+
/**
|
|
1553
|
+
* Opt-in building-block autocomplete. Spread this into a component's `imports` alongside
|
|
1554
|
+
* `RICH_TEXT_EDITOR_IMPORTS` when the editor needs `#`/`@`/… triggers. Kept separate from
|
|
1555
|
+
* `RICH_TEXT_EDITOR_IMPORTS` so editors that don't use triggers tree-shake the whole feature.
|
|
1556
|
+
*/
|
|
1557
|
+
declare const RICH_TEXT_EDITOR_TRIGGERS_IMPORTS: readonly [typeof RichTextEditorTriggersDirective];
|
|
1558
|
+
|
|
1047
1559
|
declare class RichTextEditorComponent {
|
|
1048
1560
|
protected dir: RichTextEditorDirective;
|
|
1049
1561
|
private document;
|
|
1050
|
-
|
|
1562
|
+
protected editable: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
1563
|
+
protected readonly TOOLS: {
|
|
1564
|
+
readonly BOLD: "bold";
|
|
1565
|
+
readonly ITALIC: "italic";
|
|
1566
|
+
readonly UNDERLINE: "underline";
|
|
1567
|
+
readonly STRIKE: "strike";
|
|
1568
|
+
readonly CODE: "code";
|
|
1569
|
+
readonly HEADING: "heading";
|
|
1570
|
+
readonly ALIGN: "align";
|
|
1571
|
+
readonly BULLETED_LIST: "bulletedList";
|
|
1572
|
+
readonly NUMBERED_LIST: "numberedList";
|
|
1573
|
+
readonly LINK: "link";
|
|
1574
|
+
readonly TABLE: "table";
|
|
1575
|
+
readonly DIVIDER: "divider";
|
|
1576
|
+
};
|
|
1577
|
+
protected readonly HEADING_OPTIONS: readonly {
|
|
1578
|
+
level: number | null;
|
|
1579
|
+
label: string;
|
|
1580
|
+
icon: string;
|
|
1581
|
+
}[];
|
|
1582
|
+
private registeredTools;
|
|
1583
|
+
/** Every renderable tool by token: the static base buttons plus any opt-in tools provided via DI. */
|
|
1584
|
+
protected toolDefs: _angular_core.Signal<Map<string, RichTextEditorToolDefinition>>;
|
|
1585
|
+
/** The current block style option (used for the heading-menu trigger icon + label). */
|
|
1586
|
+
private currentHeading;
|
|
1587
|
+
protected currentHeadingLabel: _angular_core.Signal<string>;
|
|
1588
|
+
protected currentHeadingIcon: _angular_core.Signal<string>;
|
|
1051
1589
|
constructor();
|
|
1052
1590
|
protected syncValueFromDom(): void;
|
|
1053
|
-
protected
|
|
1591
|
+
protected selectHeading(level: unknown): void;
|
|
1592
|
+
protected interceptEditorKeydown(event: KeyboardEvent): void;
|
|
1593
|
+
protected interceptPaste(event: ClipboardEvent): void;
|
|
1054
1594
|
protected interceptFormattingCommand(event: InputEvent): void;
|
|
1055
1595
|
private renderExternalValue;
|
|
1056
1596
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextEditorComponent, never>;
|
|
1057
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextEditorComponent, "et-rich-text-editor", never, {}, {}, never, never, true, [{ directive: typeof RichTextEditorDirective; inputs: { "value": "value"; "disabled": "disabled"; "readonly": "readonly"; "hidden": "hidden"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "placeholder": "placeholder"; }; outputs: { "valueChange": "valueChange"; "touchedChange": "touchedChange"; }; }]>;
|
|
1597
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextEditorComponent, "et-rich-text-editor", never, {}, {}, never, never, true, [{ directive: typeof RichTextEditorDirective; inputs: { "value": "value"; "disabled": "disabled"; "readonly": "readonly"; "hidden": "hidden"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "placeholder": "placeholder"; "tools": "tools"; "autoformat": "autoformat"; }; outputs: { "valueChange": "valueChange"; "touchedChange": "touchedChange"; }; }, { directive: typeof RichTextEditorFloatingToolbarDirective; inputs: {}; outputs: {}; }]>;
|
|
1058
1598
|
}
|
|
1059
1599
|
|
|
1060
1600
|
declare const RICH_TEXT_EDITOR_IMPORTS: readonly [typeof RichTextEditorComponent, typeof RichTextEditorDirective];
|
|
@@ -1849,14 +2389,14 @@ declare class GridItemComponent {
|
|
|
1849
2389
|
gridResize: GridResizeDirective;
|
|
1850
2390
|
private surfaceThemes;
|
|
1851
2391
|
ariaLabel: _angular_core.InputSignal<string>;
|
|
1852
|
-
|
|
2392
|
+
remove: _angular_core.OutputEmitterRef<void>;
|
|
1853
2393
|
protected isReadOnly: _angular_core.Signal<boolean>;
|
|
1854
2394
|
private resolvedSurface;
|
|
1855
2395
|
constructor();
|
|
1856
2396
|
protected blockPointerDownWhenReadOnly(event: PointerEvent): void;
|
|
1857
2397
|
applyKeyboardShortcut(event: KeyboardEvent): void;
|
|
1858
2398
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridItemComponent, never>;
|
|
1859
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridItemComponent, "et-grid-item, [et-grid-item]", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "
|
|
2399
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridItemComponent, "et-grid-item, [et-grid-item]", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "remove": "remove"; }, never, ["*", "[etGridItemAction]"], true, [{ directive: typeof GridItemDirective; inputs: { "itemId": "itemId"; "minColSpan": "minColSpan"; "maxColSpan": "maxColSpan"; "minRowSpan": "minRowSpan"; "maxRowSpan": "maxRowSpan"; }; outputs: {}; }, { directive: typeof GridDragDirective; inputs: {}; outputs: {}; }, { directive: typeof GridResizeDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideSurfaceDirective; inputs: {}; outputs: {}; }]>;
|
|
1860
2400
|
}
|
|
1861
2401
|
|
|
1862
2402
|
declare class GridItemToolbarComponent {
|
|
@@ -1976,6 +2516,11 @@ declare const provideIcons: (...icons: IconDefinition[]) => {
|
|
|
1976
2516
|
useValue: Record<string, IconDefinition>;
|
|
1977
2517
|
};
|
|
1978
2518
|
|
|
2519
|
+
declare const ALIGN_LEFT_ICON: IconDefinition;
|
|
2520
|
+
declare const ALIGN_CENTER_ICON: IconDefinition;
|
|
2521
|
+
declare const ALIGN_RIGHT_ICON: IconDefinition;
|
|
2522
|
+
declare const ALIGN_JUSTIFY_ICON: IconDefinition;
|
|
2523
|
+
|
|
1979
2524
|
declare const ARROW_OUT_UP_RIGHT_ICON: IconDefinition;
|
|
1980
2525
|
|
|
1981
2526
|
declare const ARROW_RIGHT_ICON: IconDefinition;
|
|
@@ -1986,6 +2531,8 @@ declare const CHEVRON_ICON: IconDefinition;
|
|
|
1986
2531
|
|
|
1987
2532
|
declare const CLIPBOARD_CHECK_ICON: IconDefinition;
|
|
1988
2533
|
|
|
2534
|
+
declare const CODE_ICON: IconDefinition;
|
|
2535
|
+
|
|
1989
2536
|
declare const FILE_ICON: IconDefinition;
|
|
1990
2537
|
|
|
1991
2538
|
declare const FLOPPY_DISK_ICON: IconDefinition;
|
|
@@ -2035,6 +2582,8 @@ declare const LIST_NUMBERED_ICON: IconDefinition;
|
|
|
2035
2582
|
|
|
2036
2583
|
declare const LOCK_ICON: IconDefinition;
|
|
2037
2584
|
|
|
2585
|
+
declare const PARAGRAPH_ICON: IconDefinition;
|
|
2586
|
+
|
|
2038
2587
|
declare const PENCIL_ICON: IconDefinition;
|
|
2039
2588
|
|
|
2040
2589
|
declare const PLUS_ICON: IconDefinition;
|
|
@@ -2043,10 +2592,14 @@ declare const ROTATE_RIGHT_ICON: IconDefinition;
|
|
|
2043
2592
|
|
|
2044
2593
|
declare const STRIKETHROUGH_ICON: IconDefinition;
|
|
2045
2594
|
|
|
2595
|
+
declare const TABLE_ICON: IconDefinition;
|
|
2596
|
+
|
|
2046
2597
|
declare const TIMES_ICON: IconDefinition;
|
|
2047
2598
|
|
|
2048
2599
|
declare const TRIANGLE_EXCLAMATION_ICON: IconDefinition;
|
|
2049
2600
|
|
|
2601
|
+
declare const UNDERLINE_ICON: IconDefinition;
|
|
2602
|
+
|
|
2050
2603
|
declare const UPLOAD_ICON: IconDefinition;
|
|
2051
2604
|
|
|
2052
2605
|
declare const ICON_IMPORTS: readonly [typeof IconDirective];
|
|
@@ -2609,7 +3162,7 @@ declare class MenuItemDirective {
|
|
|
2609
3162
|
private destroyRef;
|
|
2610
3163
|
disabled: _angular_core.InputSignal<boolean>;
|
|
2611
3164
|
closeOnActivate: _angular_core.InputSignal<boolean | undefined>;
|
|
2612
|
-
|
|
3165
|
+
activate: _angular_core.OutputEmitterRef<MenuItemActivationEvent>;
|
|
2613
3166
|
/** @internal The menu whose item list this item belongs to. */
|
|
2614
3167
|
owner: MenuDirective | null;
|
|
2615
3168
|
/** @internal The submenu this item opens when it doubles as a submenu trigger. */
|
|
@@ -2640,7 +3193,7 @@ declare class MenuItemDirective {
|
|
|
2640
3193
|
protected handlePointerEnter(event: PointerEvent): void;
|
|
2641
3194
|
protected handleFocus(): void;
|
|
2642
3195
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuItemDirective, never>;
|
|
2643
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuItemDirective, "[etMenuItem]", ["etMenuItem"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "closeOnActivate": { "alias": "closeOnActivate"; "required": false; "isSignal": true; }; }, { "
|
|
3196
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuItemDirective, "[etMenuItem]", ["etMenuItem"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "closeOnActivate": { "alias": "closeOnActivate"; "required": false; "isSignal": true; }; }, { "activate": "activate"; }, never, never, true, never>;
|
|
2644
3197
|
}
|
|
2645
3198
|
|
|
2646
3199
|
declare const MENU_SELECTION_GROUP_TOKEN: InjectionToken<MenuSelectionGroupDirectiveBase<unknown>>;
|
|
@@ -2723,8 +3276,9 @@ declare class MenuCheckboxGroupComponent {
|
|
|
2723
3276
|
}
|
|
2724
3277
|
|
|
2725
3278
|
declare class MenuCheckboxItemComponent {
|
|
3279
|
+
icon: _angular_core.InputSignal<string | null>;
|
|
2726
3280
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuCheckboxItemComponent, never>;
|
|
2727
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuCheckboxItemComponent, "et-menu-checkbox-item", never, {}, {}, never, ["*"], true, [{ directive: typeof MenuItemDirective; inputs: { "closeOnActivate": "closeOnActivate"; }; outputs: { "
|
|
3281
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuCheckboxItemComponent, "et-menu-checkbox-item", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof MenuItemDirective; inputs: { "closeOnActivate": "closeOnActivate"; }; outputs: { "activate": "activate"; }; }, { directive: typeof MenuSelectionItemDirective; inputs: { "value": "value"; "checked": "checked"; "indeterminate": "indeterminate"; "touched": "touched"; "disabled": "disabled"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; }; outputs: { "checkedChange": "checkedChange"; "indeterminateChange": "indeterminateChange"; "touchedChange": "touchedChange"; }; }]>;
|
|
2728
3282
|
}
|
|
2729
3283
|
|
|
2730
3284
|
declare const MENU_ERROR_CODES: {
|
|
@@ -2760,7 +3314,7 @@ declare class MenuItemComponent {
|
|
|
2760
3314
|
variant: _angular_core.InputSignal<MenuItemVariant>;
|
|
2761
3315
|
constructor();
|
|
2762
3316
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuItemComponent, never>;
|
|
2763
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuItemComponent, "button[et-menu-item], a[et-menu-item]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["[etIcon]", "*", "et-menu-item-shortcut"], true, [{ directive: typeof MenuItemDirective; inputs: { "disabled": "disabled"; "closeOnActivate": "closeOnActivate"; }; outputs: { "
|
|
3317
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuItemComponent, "button[et-menu-item], a[et-menu-item]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["[etIcon]", "*", "et-menu-item-shortcut"], true, [{ directive: typeof MenuItemDirective; inputs: { "disabled": "disabled"; "closeOnActivate": "closeOnActivate"; }; outputs: { "activate": "activate"; }; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }]>;
|
|
2764
3318
|
}
|
|
2765
3319
|
|
|
2766
3320
|
declare class MenuItemShortcutComponent {
|
|
@@ -2774,8 +3328,9 @@ declare class MenuRadioGroupComponent {
|
|
|
2774
3328
|
}
|
|
2775
3329
|
|
|
2776
3330
|
declare class MenuRadioItemComponent {
|
|
3331
|
+
icon: _angular_core.InputSignal<string | null>;
|
|
2777
3332
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuRadioItemComponent, never>;
|
|
2778
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuRadioItemComponent, "et-menu-radio-item", never, {}, {}, never, ["*"], true, [{ directive: typeof MenuItemDirective; inputs: { "closeOnActivate": "closeOnActivate"; }; outputs: { "
|
|
3333
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuRadioItemComponent, "et-menu-radio-item", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof MenuItemDirective; inputs: { "closeOnActivate": "closeOnActivate"; }; outputs: { "activate": "activate"; }; }, { directive: typeof MenuSelectionItemDirective; inputs: { "value": "value"; "checked": "checked"; "touched": "touched"; "disabled": "disabled"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; }; outputs: { "checkedChange": "checkedChange"; "touchedChange": "touchedChange"; }; }]>;
|
|
2779
3334
|
}
|
|
2780
3335
|
|
|
2781
3336
|
declare class MenuSeparatorComponent {
|
|
@@ -2788,22 +3343,13 @@ declare class MenuComponent {
|
|
|
2788
3343
|
private contextColorProvider;
|
|
2789
3344
|
protected menu: MenuDirective | null;
|
|
2790
3345
|
protected errorColorTheme: _ethlete_core.ColorTheme;
|
|
2791
|
-
private prefersReducedMotion;
|
|
2792
|
-
private elementRef;
|
|
2793
|
-
private destroyRef;
|
|
2794
|
-
private renderer;
|
|
2795
3346
|
private headerElement;
|
|
2796
3347
|
private bodyElement;
|
|
2797
|
-
private headerDimensions;
|
|
2798
|
-
private bodyDimensions;
|
|
2799
3348
|
protected search: _angular_core.Signal<_ethlete_components.MenuSearchDirective | null>;
|
|
2800
3349
|
protected searchLoading: _angular_core.Signal<boolean>;
|
|
2801
3350
|
protected searchError: _angular_core.Signal<string | null>;
|
|
2802
3351
|
protected searchErrorId: string;
|
|
2803
|
-
private lastBlockSize;
|
|
2804
|
-
private resizeAnimation;
|
|
2805
3352
|
constructor();
|
|
2806
|
-
private animateToCurrentBlockSize;
|
|
2807
3353
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuComponent, never>;
|
|
2808
3354
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuComponent, "et-menu", never, {}, {}, never, ["input[etMenuSearch]", "*"], true, [{ directive: typeof MenuPanelDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.AutoSurfaceDirective; inputs: {}; outputs: {}; }]>;
|
|
2809
3355
|
}
|
|
@@ -6075,5 +6621,5 @@ declare const TOOLTIP_ERROR_CODES: {
|
|
|
6075
6621
|
|
|
6076
6622
|
declare const TOOLTIP_IMPORTS: readonly [typeof TooltipDirective, typeof TooltipComponent];
|
|
6077
6623
|
|
|
6078
|
-
export { ARROW_OUT_UP_RIGHT_ICON, ARROW_RIGHT_ICON, BOLD_ICON, BUTTON_ICON_ALIGNMENTS, BUTTON_IMPORTS, BUTTON_SIZES, BUTTON_SPINNER_CONFIG, BUTTON_TYPES, BUTTON_VARIANTS, BrandLoaderComponent, ButtonComponent, ButtonDirective, ButtonStylesDirective, CHECKBOX_IMPORTS, CHEVRON_ICON, CHOICE_FIELD_IMPORTS, CLIPBOARD_CHECK_ICON, CheckboxComponent, CheckboxDirective, CheckboxGroupComponent, CheckboxOptionComponent, ChoiceFieldComponent, DAILYMOTION_PLAYER_TOKEN, DEFAULT_BREAKPOINTS, DEFAULT_ICON_VARIANT, DEFAULT_NOTIFICATION_MANAGER_CONFIG, DEFAULT_PIP_WINDOW_CONFIG, DEFAULT_STREAM_PLAYER_STATE, DROPZONE_ENTRY_STATUSES, DROPZONE_ERROR_CODES, DROPZONE_FILES_ERROR_KIND, DROPZONE_FILE_CONSTRAINTS, DROPZONE_FILE_REJECTION_REASONS, DROPZONE_IMPORTS, DailymotionPlayerComponent, DailymotionPlayerDirective, DailymotionPlayerParamsDirective, DailymotionPlayerSlotComponent, DescriptionComponent, DropzoneComponent, DropzoneDirective, FACEBOOK_PLAYER_TOKEN, FILE_ICON, FLOPPY_DISK_ICON, FOCUS_FRAME_ICON, FORM_FIELD_APPEARANCES, FORM_FIELD_CONTROL_TYPES, FORM_FIELD_ERROR_CODES, FORM_FIELD_FILLS, FORM_FIELD_IMPORTS, FORM_FIELD_LABEL_MODES, FORM_FIELD_SIZES, FORM_FIELD_TOKEN, FabComponent, FacebookPlayerComponent, FacebookPlayerDirective, FacebookPlayerParamsDirective, FacebookPlayerSlotComponent, FocusRingDirective, FormErrorComponent, FormFieldComponent, FormFieldDirective, GRID_2X2_ICON, GRID_ERROR_CODES, GRID_TOKEN, GridComponent, GridDebugComponent, GridDirective, GridDragDirective, GridImports, GridItemComponent, GridItemDefaultActionsComponent, GridItemDirective, GridItemRef, GridItemToolbarComponent, GridResizeDirective, HEADING_1_ICON, HEADING_2_ICON, HEADING_3_ICON, HintComponent, ICONS_TOKEN, ICON_DIRECTIVE_TOKEN, ICON_ERROR_CODES, ICON_IMPORTS, INPUT_IMPORTS, INPUT_TEXT_ALIGNMENTS, INPUT_TYPES, ITALIC_ICON, IconButtonComponent, IconDirective, InputComponent, InputDirective, InputPrefixDirective, InputSuffixDirective, KICK_PLAYER_TOKEN, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOCK_ICON, LabelDirective, MENU_ERROR_CODES, MENU_IMPORTS, MENU_ITEM_VARIANTS, MENU_SELECTION_GROUP_MULTIPLE, MENU_SELECTION_GROUP_TOKEN, MENU_SELECTION_ITEM_KIND, MenuCheckboxGroupComponent, MenuCheckboxItemComponent, MenuComponent, MenuContextTriggerDirective, MenuDirective, MenuGroupLabelComponent, MenuItemComponent, MenuItemDirective, MenuItemShortcutComponent, MenuPanelDirective, MenuRadioGroupComponent, MenuRadioItemComponent, MenuSearchDirective, MenuSelectionGroupDirective, MenuSelectionItemDirective, MenuSeparatorComponent, MenuSurfaceDirective, MenuTriggerDirective, NAV_TABS_TOKEN, NOTIFICATION_ERROR_CODES, NOTIFICATION_IMPORTS, NOTIFICATION_STACK_CONTEXT_TOKEN, NOTIFICATION_STATUS, NavTabImports, NavTabLinkComponent, NavTabLinkDirective, NavTabsComponent, NavTabsDirective, NavTabsOutletComponent, NavTabsOutletDirective, NotificationActionDirective, NotificationComponent, NotificationDirective, NotificationDismissDirective, NotificationItemDirective, NotificationStackDirective, OVERLAY_BACK_OR_CLOSE_TOKEN, OVERLAY_BODY_TOKEN, OVERLAY_CONFIG_CLASS_KEYS, OVERLAY_CONTENT_IMPORTS, OVERLAY_ERROR_CODES, OVERLAY_FOOTER_TOKEN, OVERLAY_HEADER_TEMPLATE_TOKEN, OVERLAY_HEADER_TOKEN, OVERLAY_IMPORTS, OVERLAY_MAIN_TOKEN, OVERLAY_QUERY_PARAM_INPUT_NAME, OVERLAY_REF, OVERLAY_ROUTER_CONFIG_TOKEN, OVERLAY_ROUTER_LINK_TOKEN, OVERLAY_ROUTER_OUTLET_DISABLED_TEMPLATE_TOKEN, OVERLAY_ROUTER_OUTLET_TOKEN, OVERLAY_ROUTER_TOKEN, OVERLAY_SHARED_ROUTE_TEMPLATE_TOKEN, OverlayAnchorDirective, OverlayBackOrCloseDirective, OverlayBodyComponent, OverlayCloseDirective, OverlayContainerComponent, OverlayDirective, OverlayFooterDirective, OverlayHeaderDirective, OverlayHeaderTemplateDirective, OverlayMainDirective, OverlayOriginCloneComponent, OverlayRouteHeaderTemplateOutletComponent, OverlayRouterLinkDirective, OverlayRouterOutletComponent, OverlayRouterOutletDisabledTemplateDirective, OverlaySharedRouteTemplateDirective, OverlaySharedRouteTemplateOutletComponent, OverlaySidebarComponent, OverlaySidebarPageComponent, OverlaySurfaceDirective, OverlayTitleDirective, OverlayTriggerDirective, PENCIL_ICON, PIP_CHROME_REF_TOKEN, PIP_ENTRY_TOKEN, PIP_WINDOW_ASPECT_RATIO_TOKEN, PLUS_ICON, PipBackDirective, PipBringBackDirective, PipCellDirective, PipCloseDirective, PipCollapseOverlayDirective, PipGridToggleDirective, PipPlayerComponent, PipSlotPlaceholderComponent, PipStageDirective, PipTitleBarDirective, PipTitleBarTemplateDirective, PipWindowComponent, PipWindowParamsDirective, ProgressBarComponent, QueryParamOverlayLinkDirective, RICH_TEXT_EDITOR_IMPORTS, ROTATE_RIGHT_ICON, RadioComponent, RadioGroupComponent, RichTextEditorComponent, RichTextEditorDirective, RichTextEditorFloatingToolbarComponent, SCROLLABLE_ERROR_CODES, SCROLLABLE_IMPORTS, SELECTION_LIST_MULTIPLE, SELECTION_LIST_TOKEN, SIDEBAR_OVERLAY_CONFIG, SIDEBAR_OVERLAY_TOKEN, SNAP_HYSTERESIS, SOOP_PLAYER_TOKEN, SPLIT_BUTTON_ERROR_CODES, STREAM_CONSENT_TOKEN, STREAM_PLAYER_COMPONENT_TOKEN, STREAM_PLAYER_ERROR_CONTEXT_TOKEN, STREAM_PLAYER_ERROR_TOKEN, STREAM_PLAYER_PARAMS_TOKEN, STREAM_PLAYER_SLOT_TOKEN, STREAM_PLAYER_TOKEN, STREAM_SLOT_PLAYER_ID_TOKEN, STREAM_USER_CONSENT_PROVIDER_TOKEN, STRIKETHROUGH_ICON, SWITCH_IMPORTS, ScrollableActiveChildDirective, ScrollableButtonsDirective, ScrollableComponent, ScrollableDarkenDirective, ScrollableDirective, ScrollableDragDirective, ScrollableIgnoreChildDirective, ScrollableLoadingTemplateDirective, ScrollableMasksDirective, ScrollableNavigationDirective, ScrollableSnapDirective, SegmentedButtonComponent, SegmentedButtonGroupComponent, SelectionListControlDirective, SelectionListDirective, SelectionOptionDirective, SoopPlayerComponent, SoopPlayerDirective, SoopPlayerParamsDirective, SoopPlayerSlotComponent, SpinnerComponent, SplitButtonActionDirective, SplitButtonComponent, SplitButtonDirective, SplitButtonTriggerDirective, StreamConsentAcceptDirective, StreamConsentComponent, StreamConsentDirective, StreamImports, StreamPipChromeComponent, StreamPlayerErrorComponent, StreamPlayerErrorDirective, StreamPlayerLoadingComponent, StreamPlayerSlotDirective, SwitchComponent, SwitchDirective, TAB_BAR_FITS, TAB_BAR_ORIENTATIONS, TAB_BAR_TOKEN, TAB_BAR_TRIGGER_TOKEN, TAB_BAR_VARIANTS, TAB_ERROR_CODES, TAB_GROUP_TOKEN, TAB_PANEL_TOKEN, TAB_SIZES, TIKTOK_PLAYER_TOKEN, TIMES_ICON, TOGGLETIP_ERROR_CODES, TOGGLETIP_IMPORTS, TOOLTIP_ERROR_CODES, TOOLTIP_IMPORTS, TRIANGLE_EXCLAMATION_ICON, TWITCH_PLAYER_TOKEN, TabBarDirective, TabBarTriggerDirective, TabBarUnderlineDirective, TabComponent, TabGroupComponent, TabGroupDirective, TabImports, TabLabelDirective, TabPanelDirective, TabTriggerDirective, TextButtonComponent, TikTokPlayerComponent, TikTokPlayerDirective, TikTokPlayerParamsDirective, TikTokPlayerSlotComponent, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, TooltipComponent, TooltipDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, UPLOAD_ICON, VIMEO_PLAYER_TOKEN, VimeoPlayerComponent, VimeoPlayerDirective, VimeoPlayerParamsDirective, VimeoPlayerSlotComponent, WINDOW_CONTROL_BUTTON_KINDS, WINDOW_CONTROL_BUTTON_SIZES, WindowControlButtonComponent, YOUTUBE_PLAYER_SLOT_TOKEN, YOUTUBE_PLAYER_TOKEN, YoutubePlayerComponent, YoutubePlayerDirective, YoutubePlayerParamsDirective, YoutubePlayerSlotComponent, YoutubePlayerSlotDirective, abortFullscreenAnimation, anchoredDialogOverlayStrategy, anchoredOverlayStrategy, autoPlace, bottomSheetOverlayStrategy, buildAnchoredRuntimePositionStrategy, centeredOverlayStrategy, clampPosition, clampResizeRect, cleanupFullscreenAnimation, cleanupFullscreenAnimationStyles, compactLayout, computeGeometry, computeGridHeight, createAutoScroller, createDefaultDropzoneArgs, createDropzoneUpload, createExistingDropzoneEntry, createFileDropzoneEntry, createGridAdapter, createNotificationRef, createOverlayOpener, createOverlayRef, createOverlayStrategyController, createPipChromeAnimations, createPipChromeState, createStreamConfig, createStreamPlayerSlot, defaultDropzoneRejectionMessage, defineOverlay, defineQueryParamOverlay, deserializeGridLayout, dialogOverlayStrategy, disposeDropzoneEntry, dropzoneFiles, enableDragToDismiss, findCollision, findNextRelevantHtmlElement, findScrollableAncestor, formatFileSize, fromGridPosition, fullScreenDialogOverlayStrategy, getClosestOverlay, getOriginCoordinatesAndDimensions, hysteresisRound, iconRegistryKey, injectAnchoredDialogStrategy, injectAnchoredDialogStrategyDefaults, injectBottomSheetStrategy, injectBottomSheetStrategyDefaults, injectDialogStrategy, injectDialogStrategyDefaults, injectFormSupport, injectFullscreenDialogStrategy, injectFullscreenDialogStrategyDefaults, injectGridConfig, injectLeftSheetStrategy, injectLeftSheetStrategyDefaults, injectNotificationManager, injectNotificationManagerConfig, injectOverlayManager, injectOverlayRouter, injectOverlayScrollBlocker, injectPipChromeManager, injectPipManager, injectPipSlotPlaceholderConfig, injectRightSheetStrategy, injectRightSheetStrategyDefaults, injectSidebarOverlay, injectStreamConfig, injectStreamConsentConfig, injectStreamManager, injectStreamPlayerErrorConfig, injectStreamPlayerLoadingConfig, injectStreamScriptLoader, injectStreamUserConsentProvider, injectTopSheetStrategy, injectTopSheetStrategyDefaults, isFileAccepted, isHtmlElement, isPointerEvent, isTouchEvent, itemsCollide, leftSheetOverlayStrategy, mapLayoutToBreakpoint, mergeOverlayBreakpointConfigs, mergeOverlayConfigs, pixelRectsEqual, positionToPixelRect, positionsEqual, projectDragCell, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, provideBottomSheetStrategy, provideBottomSheetStrategyDefaults, provideDialogStrategy, provideDialogStrategyDefaults, provideFormSupport, provideFullscreenDialogStrategy, provideFullscreenDialogStrategyDefaults, provideGridConfig, provideIcons, provideLeftSheetStrategy, provideLeftSheetStrategyDefaults, provideNotificationManager, provideNotificationManagerConfig, provideNotificationManagerInstance, provideOverlay, provideOverlayManager, provideOverlayRouter, provideOverlayRouterConfig, provideOverlayRouterService, provideOverlayScrollBlocker, providePipChromeManager, providePipManager, providePipSlotPlaceholderConfig, provideRightSheetStrategy, provideRightSheetStrategyDefaults, provideSidebarOverlay, provideSidebarOverlayConfig, provideSidebarOverlayService, provideStreamConfig, provideStreamConsentConfig, provideStreamManager, provideStreamPlayerErrorConfig, provideStreamPlayerLoadingConfig, provideTopSheetStrategy, provideTopSheetStrategyDefaults, resizeSpanBounds, resolveBreakpoint, resolveClosestOverlay, resolveCollisions, rightSheetOverlayStrategy, rowsToPixelHeight, serializeGridLayout, snapResizeSpan, spanHeight, spanWidth, startFullscreenEnterAnimation, startFullscreenLeaveAnimation, toGridPosition, topSheetOverlayStrategy, transformingBottomSheetToDialogOverlayStrategy, transformingFullScreenDialogToDialogOverlayStrategy, transformingFullScreenDialogToRightSheetOverlayStrategy };
|
|
6079
|
-
export type { AnchoredDialogOverlayStrategyOptions, AnchoredOverlayStrategyOptions, AnchoredPositionOptions, AnyDropzoneUploadConfig, AutoPlaceOptions, AutoScrollPointer, AutoScroller, ButtonIconAlignment, ButtonSize, CenteredOverlayStrategyOptions, ClampPositionOptions, CompactLayoutOptions, CreateExistingDropzoneEntryOptions, CreateFileDropzoneEntryOptions, DragToDismissContext, DragToDismissRef, DropzoneEntry, DropzoneEntrySource, DropzoneEntryStatus, DropzoneExistingFileInfo, DropzoneFileConstraints, DropzoneFileRejection, DropzoneFileRejectionReason, DropzoneFileValidationChannel, DropzoneUploadConfig, EthleteIconNameRegistry, EthleteIconVariantRegistry, FacebookVideoPlayer, FacebookWindow, FindCollisionOptions, FormFieldAppearance, FormFieldControl, FormFieldControlType, FormFieldDirectiveBase, FormFieldFill, FormFieldLabelMode, FormFieldSize, FullscreenAnimationCancellable, FullscreenAnimationDeps, FullscreenAnimationState, GridAdapter, GridBreakpointConfig, GridBreakpointName, GridComponentRegistration, GridConfig, GridGeometry, GridItemActionsComponent, GridItemConfig, GridItemConstraints, GridItemPosition, GridLayoutEntry, GridSerializedState, HintComponentBase, IconDefinition, InputTextAlignment, LabelDirectiveBase, MapLayoutOptions, MenuAnchorPoint, MenuCloseReason, MenuItemActivationEvent, MenuItemActivationSource, MenuItemVariant, MenuOpenSource, MenuSelectionGroupDirectiveBase, MenuSelectionGroupItem, MenuSelectionItemKind, MenuSurfaceContext, NotificationAction, NotificationConfig, NotificationEntry, NotificationManager, NotificationManagerConfig, NotificationRef, NotificationStackContext, NotificationStatus, OverlayAutoFocusTarget, OverlayBodyDividerType, OverlayBreakpointConfig, OverlayConfig, OverlayDefinition, OverlayDefinitionConfig, OverlayDragToDismissConfig, OverlayLifecycleConfig, OverlayManager, OverlayMode, OverlayOpenConfig, OverlayOpener, OverlayOpenerConfig, OverlayRef, OverlayRole, OverlayRoute, OverlayRouter, OverlayRouterConfig, OverlayRouterNavigateConfig, OverlayRouterNavigationDirection, OverlayRouterResolvedPath, OverlayRouterTransitionType, OverlayStrategy, OverlayStrategyBreakpoint, OverlayStrategyContext, OverlayStrategyController, OverlayStrategyControllerMountConfig, OverlaySurfaceContext, PipCellData, PipChromeAnimations, PipChromeRef, PipChromeState, PipManager, PipSlotPlaceholderConfig, PixelRect, QueryParamOverlayDefinition, QueryParamOverlayDefinitionConfig, QueryParamOverlayHost, QueryParamOverlayOpener, QueryParamOverlayValue, RegisteredIconName, RegisteredIconVariant, ResizeSpanBounds, ResolveClosestOverlayOptions, ResolveCollisionsOptions, RowFloors, ScrollableActiveChildRef, ScrollableButtonPosition, ScrollableDirection, ScrollableIntersectionChange, ScrollableItemSize, ScrollableLoadingTemplatePosition, ScrollableLoadingTemplateRef, ScrollableMaskVariant, ScrollableNavigation, ScrollableNavigationItem, ScrollableScrollMode, ScrollableScrollOrigin, ScrollableScrollState, SelectionListDirectiveBase, SelectionListItem, SerializeOptions, SidebarOverlay, SidebarOverlayConfig, StreamConfig, StreamConsentConfig, StreamManager, StreamPipEntry, StreamPipWindowConfig, StreamPlayer, StreamPlayerCapabilities, StreamPlayerEntry, StreamPlayerErrorConfig, StreamPlayerErrorContext, StreamPlayerId, StreamPlayerLoadingConfig, StreamPlayerParams, StreamPlayerSlotHandle, StreamPlayerSlotOptions, StreamPlayerState, StreamScriptLoader, StreamSlotEntry, TabBarFit, TabBarOrientation, TabBarVariant, TabSize, ToggletipContent, TooltipContent, TwitchEmbed, TwitchEmbedConstructor, TwitchEmbedPlayer, TwitchPlayerParams, TwitchWindow, ViewportTransformData, VimeoDurationChangeEvent, VimeoPlaybackEvent, VimeoPlayer, VimeoPlayerOptions, VimeoWindow, WindowControlButtonKind, WindowControlButtonSize, YtPlayer, YtPlayerConfig, YtPlayerErrorEvent, YtPlayerEvent, YtPlayerStateChangeEvent, YtPlayerVars, YtWindow };
|
|
6624
|
+
export { ALIGN_CENTER_ICON, ALIGN_JUSTIFY_ICON, ALIGN_LEFT_ICON, ALIGN_RIGHT_ICON, ARROW_OUT_UP_RIGHT_ICON, ARROW_RIGHT_ICON, BOLD_ICON, BUTTON_ICON_ALIGNMENTS, BUTTON_IMPORTS, BUTTON_SIZES, BUTTON_SPINNER_CONFIG, BUTTON_TYPES, BUTTON_VARIANTS, BrandLoaderComponent, ButtonComponent, ButtonDirective, ButtonStylesDirective, CHECKBOX_IMPORTS, CHEVRON_ICON, CHOICE_FIELD_IMPORTS, CLIPBOARD_CHECK_ICON, CODE_ICON, CheckboxComponent, CheckboxDirective, CheckboxGroupComponent, CheckboxOptionComponent, ChoiceFieldComponent, DAILYMOTION_PLAYER_TOKEN, DEFAULT_BREAKPOINTS, DEFAULT_ICON_VARIANT, DEFAULT_NOTIFICATION_MANAGER_CONFIG, DEFAULT_PIP_WINDOW_CONFIG, DEFAULT_RICH_TEXT_EDITOR_TOOLS, DEFAULT_STREAM_PLAYER_STATE, DROPZONE_ENTRY_STATUSES, DROPZONE_ERROR_CODES, DROPZONE_FILES_ERROR_KIND, DROPZONE_FILE_CONSTRAINTS, DROPZONE_FILE_REJECTION_REASONS, DROPZONE_IMPORTS, DailymotionPlayerComponent, DailymotionPlayerDirective, DailymotionPlayerParamsDirective, DailymotionPlayerSlotComponent, DescriptionComponent, DropzoneComponent, DropzoneDirective, FACEBOOK_PLAYER_TOKEN, FILE_ICON, FLOPPY_DISK_ICON, FOCUS_FRAME_ICON, FORM_FIELD_APPEARANCES, FORM_FIELD_CONTROL_TYPES, FORM_FIELD_ERROR_CODES, FORM_FIELD_FILLS, FORM_FIELD_IMPORTS, FORM_FIELD_LABEL_MODES, FORM_FIELD_SIZES, FORM_FIELD_TOKEN, FabComponent, FacebookPlayerComponent, FacebookPlayerDirective, FacebookPlayerParamsDirective, FacebookPlayerSlotComponent, FocusRingDirective, FormErrorComponent, FormFieldComponent, FormFieldDirective, GRID_2X2_ICON, GRID_ERROR_CODES, GRID_TOKEN, GridComponent, GridDebugComponent, GridDirective, GridDragDirective, GridImports, GridItemComponent, GridItemDefaultActionsComponent, GridItemDirective, GridItemRef, GridItemToolbarComponent, GridResizeDirective, HEADING_1_ICON, HEADING_2_ICON, HEADING_3_ICON, HintComponent, ICONS_TOKEN, ICON_DIRECTIVE_TOKEN, ICON_ERROR_CODES, ICON_IMPORTS, INPUT_IMPORTS, INPUT_TEXT_ALIGNMENTS, INPUT_TYPES, ITALIC_ICON, IconButtonComponent, IconDirective, InputComponent, InputDirective, InputPrefixDirective, InputSuffixDirective, KICK_PLAYER_TOKEN, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOCK_ICON, LabelDirective, MENU_ERROR_CODES, MENU_IMPORTS, MENU_ITEM_VARIANTS, MENU_SELECTION_GROUP_MULTIPLE, MENU_SELECTION_GROUP_TOKEN, MENU_SELECTION_ITEM_KIND, MenuCheckboxGroupComponent, MenuCheckboxItemComponent, MenuComponent, MenuContextTriggerDirective, MenuDirective, MenuGroupLabelComponent, MenuItemComponent, MenuItemDirective, MenuItemShortcutComponent, MenuPanelDirective, MenuRadioGroupComponent, MenuRadioItemComponent, MenuSearchDirective, MenuSelectionGroupDirective, MenuSelectionItemDirective, MenuSeparatorComponent, MenuSurfaceDirective, MenuTriggerDirective, NAV_TABS_TOKEN, NOTIFICATION_ERROR_CODES, NOTIFICATION_IMPORTS, NOTIFICATION_STACK_CONTEXT_TOKEN, NOTIFICATION_STATUS, NavTabImports, NavTabLinkComponent, NavTabLinkDirective, NavTabsComponent, NavTabsDirective, NavTabsOutletComponent, NavTabsOutletDirective, NotificationActionDirective, NotificationComponent, NotificationDirective, NotificationDismissDirective, NotificationItemDirective, NotificationStackDirective, OVERLAY_BACK_OR_CLOSE_TOKEN, OVERLAY_BODY_TOKEN, OVERLAY_CONFIG_CLASS_KEYS, OVERLAY_CONTENT_IMPORTS, OVERLAY_ERROR_CODES, OVERLAY_FOOTER_TOKEN, OVERLAY_HEADER_TEMPLATE_TOKEN, OVERLAY_HEADER_TOKEN, OVERLAY_IMPORTS, OVERLAY_MAIN_TOKEN, OVERLAY_QUERY_PARAM_INPUT_NAME, OVERLAY_REF, OVERLAY_ROUTER_CONFIG_TOKEN, OVERLAY_ROUTER_LINK_TOKEN, OVERLAY_ROUTER_OUTLET_DISABLED_TEMPLATE_TOKEN, OVERLAY_ROUTER_OUTLET_TOKEN, OVERLAY_ROUTER_TOKEN, OVERLAY_SHARED_ROUTE_TEMPLATE_TOKEN, OverlayAnchorDirective, OverlayBackOrCloseDirective, OverlayBodyComponent, OverlayCloseDirective, OverlayContainerComponent, OverlayDirective, OverlayFooterDirective, OverlayHeaderDirective, OverlayHeaderTemplateDirective, OverlayMainDirective, OverlayOriginCloneComponent, OverlayRouteHeaderTemplateOutletComponent, OverlayRouterLinkDirective, OverlayRouterOutletComponent, OverlayRouterOutletDisabledTemplateDirective, OverlaySharedRouteTemplateDirective, OverlaySharedRouteTemplateOutletComponent, OverlaySidebarComponent, OverlaySidebarPageComponent, OverlaySurfaceDirective, OverlayTitleDirective, OverlayTriggerDirective, PARAGRAPH_ICON, PENCIL_ICON, PIP_CHROME_REF_TOKEN, PIP_ENTRY_TOKEN, PIP_WINDOW_ASPECT_RATIO_TOKEN, PLUS_ICON, PipBackDirective, PipBringBackDirective, PipCellDirective, PipCloseDirective, PipCollapseOverlayDirective, PipGridToggleDirective, PipPlayerComponent, PipSlotPlaceholderComponent, PipStageDirective, PipTitleBarDirective, PipTitleBarTemplateDirective, PipWindowComponent, PipWindowParamsDirective, ProgressBarComponent, QueryParamOverlayLinkDirective, RICH_TEXT_EDITOR_HEADING_OPTIONS, RICH_TEXT_EDITOR_IMPORTS, RICH_TEXT_EDITOR_INLINE_TOOLS, RICH_TEXT_EDITOR_TOKEN_CODEC, RICH_TEXT_EDITOR_TOOL, RICH_TEXT_EDITOR_TOOLS, RICH_TEXT_EDITOR_TOOL_BUTTONS, RICH_TEXT_EDITOR_TRIGGERS_IMPORTS, ROTATE_RIGHT_ICON, RadioComponent, RadioGroupComponent, RichTextEditorAlignToolComponent, RichTextEditorComponent, RichTextEditorDirective, RichTextEditorFloatingToolbarComponent, RichTextEditorFloatingToolbarDirective, RichTextEditorTableToolComponent, RichTextEditorTokenPopupComponent, RichTextEditorTriggersDirective, SCROLLABLE_ERROR_CODES, SCROLLABLE_IMPORTS, SELECTION_LIST_MULTIPLE, SELECTION_LIST_TOKEN, SIDEBAR_OVERLAY_CONFIG, SIDEBAR_OVERLAY_TOKEN, SNAP_HYSTERESIS, SOOP_PLAYER_TOKEN, SPLIT_BUTTON_ERROR_CODES, STREAM_CONSENT_TOKEN, STREAM_PLAYER_COMPONENT_TOKEN, STREAM_PLAYER_ERROR_CONTEXT_TOKEN, STREAM_PLAYER_ERROR_TOKEN, STREAM_PLAYER_PARAMS_TOKEN, STREAM_PLAYER_SLOT_TOKEN, STREAM_PLAYER_TOKEN, STREAM_SLOT_PLAYER_ID_TOKEN, STREAM_USER_CONSENT_PROVIDER_TOKEN, STRIKETHROUGH_ICON, SWITCH_IMPORTS, ScrollableActiveChildDirective, ScrollableButtonsDirective, ScrollableComponent, ScrollableDarkenDirective, ScrollableDirective, ScrollableDragDirective, ScrollableIgnoreChildDirective, ScrollableLoadingTemplateDirective, ScrollableMasksDirective, ScrollableNavigationDirective, ScrollableSnapDirective, SegmentedButtonComponent, SegmentedButtonGroupComponent, SelectionListControlDirective, SelectionListDirective, SelectionOptionDirective, SoopPlayerComponent, SoopPlayerDirective, SoopPlayerParamsDirective, SoopPlayerSlotComponent, SpinnerComponent, SplitButtonActionDirective, SplitButtonComponent, SplitButtonDirective, SplitButtonTriggerDirective, StreamConsentAcceptDirective, StreamConsentComponent, StreamConsentDirective, StreamImports, StreamPipChromeComponent, StreamPlayerErrorComponent, StreamPlayerErrorDirective, StreamPlayerLoadingComponent, StreamPlayerSlotDirective, SwitchComponent, SwitchDirective, TABLE_ICON, TAB_BAR_FITS, TAB_BAR_ORIENTATIONS, TAB_BAR_TOKEN, TAB_BAR_TRIGGER_TOKEN, TAB_BAR_VARIANTS, TAB_ERROR_CODES, TAB_GROUP_TOKEN, TAB_PANEL_TOKEN, TAB_SIZES, TEXT_ALIGNS, TIKTOK_PLAYER_TOKEN, TIMES_ICON, TOGGLETIP_ERROR_CODES, TOGGLETIP_IMPORTS, TOOLTIP_ERROR_CODES, TOOLTIP_IMPORTS, TRIANGLE_EXCLAMATION_ICON, TWITCH_PLAYER_TOKEN, TabBarDirective, TabBarTriggerDirective, TabBarUnderlineDirective, TabComponent, TabGroupComponent, TabGroupDirective, TabImports, TabLabelDirective, TabPanelDirective, TabTriggerDirective, TextButtonComponent, TikTokPlayerComponent, TikTokPlayerDirective, TikTokPlayerParamsDirective, TikTokPlayerSlotComponent, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, TooltipComponent, TooltipDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, UNDERLINE_ICON, UPLOAD_ICON, VIMEO_PLAYER_TOKEN, VimeoPlayerComponent, VimeoPlayerDirective, VimeoPlayerParamsDirective, VimeoPlayerSlotComponent, WINDOW_CONTROL_BUTTON_KINDS, WINDOW_CONTROL_BUTTON_SIZES, WindowControlButtonComponent, YOUTUBE_PLAYER_SLOT_TOKEN, YOUTUBE_PLAYER_TOKEN, YoutubePlayerComponent, YoutubePlayerDirective, YoutubePlayerParamsDirective, YoutubePlayerSlotComponent, YoutubePlayerSlotDirective, abortFullscreenAnimation, anchoredDialogOverlayStrategy, anchoredOverlayStrategy, autoPlace, bottomSheetOverlayStrategy, buildAnchoredRuntimePositionStrategy, centeredOverlayStrategy, clampPosition, clampResizeRect, cleanupFullscreenAnimation, cleanupFullscreenAnimationStyles, compactLayout, computeGeometry, computeGridHeight, createAutoScroller, createDefaultDropzoneArgs, createDropzoneUpload, createExistingDropzoneEntry, createFileDropzoneEntry, createGridAdapter, createNotificationRef, createOverlayOpener, createOverlayRef, createOverlayStrategyController, createPipChromeAnimations, createPipChromeState, createRichTextEditorTrigger, createRichTextEditorTriggerWithQuery, createStreamConfig, createStreamPlayerSlot, defaultDropzoneRejectionMessage, defineOverlay, defineQueryParamOverlay, deserializeGridLayout, dialogOverlayStrategy, disposeDropzoneEntry, dropzoneFiles, enableDragToDismiss, findCollision, findNextRelevantHtmlElement, findScrollableAncestor, formatFileSize, fromGridPosition, fullScreenDialogOverlayStrategy, getClosestOverlay, getOriginCoordinatesAndDimensions, hysteresisRound, iconRegistryKey, injectAnchoredDialogStrategy, injectAnchoredDialogStrategyDefaults, injectBottomSheetStrategy, injectBottomSheetStrategyDefaults, injectDialogStrategy, injectDialogStrategyDefaults, injectFormSupport, injectFullscreenDialogStrategy, injectFullscreenDialogStrategyDefaults, injectGridConfig, injectLeftSheetStrategy, injectLeftSheetStrategyDefaults, injectNotificationManager, injectNotificationManagerConfig, injectOverlayManager, injectOverlayRouter, injectOverlayScrollBlocker, injectPipChromeManager, injectPipManager, injectPipSlotPlaceholderConfig, injectRichTextEditorTools, injectRightSheetStrategy, injectRightSheetStrategyDefaults, injectSidebarOverlay, injectStreamConfig, injectStreamConsentConfig, injectStreamManager, injectStreamPlayerErrorConfig, injectStreamPlayerLoadingConfig, injectStreamScriptLoader, injectStreamUserConsentProvider, injectTopSheetStrategy, injectTopSheetStrategyDefaults, isFileAccepted, isHtmlElement, isPointerEvent, isTouchEvent, itemsCollide, leftSheetOverlayStrategy, mapLayoutToBreakpoint, mergeOverlayBreakpointConfigs, mergeOverlayConfigs, pixelRectsEqual, positionToPixelRect, positionsEqual, projectDragCell, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, provideBottomSheetStrategy, provideBottomSheetStrategyDefaults, provideDialogStrategy, provideDialogStrategyDefaults, provideFormSupport, provideFullscreenDialogStrategy, provideFullscreenDialogStrategyDefaults, provideGridConfig, provideIcons, provideLeftSheetStrategy, provideLeftSheetStrategyDefaults, provideNotificationManager, provideNotificationManagerConfig, provideNotificationManagerInstance, provideOverlay, provideOverlayManager, provideOverlayRouter, provideOverlayRouterConfig, provideOverlayRouterService, provideOverlayScrollBlocker, providePipChromeManager, providePipManager, providePipSlotPlaceholderConfig, provideRichTextEditorAlignmentTool, provideRichTextEditorTableTool, provideRichTextEditorTokenRendering, provideRichTextEditorTools, provideRightSheetStrategy, provideRightSheetStrategyDefaults, provideSidebarOverlay, provideSidebarOverlayConfig, provideSidebarOverlayService, provideStreamConfig, provideStreamConsentConfig, provideStreamManager, provideStreamPlayerErrorConfig, provideStreamPlayerLoadingConfig, provideTopSheetStrategy, provideTopSheetStrategyDefaults, resizeSpanBounds, resolveBreakpoint, resolveClosestOverlay, resolveCollisions, rightSheetOverlayStrategy, rowsToPixelHeight, serializeGridLayout, snapResizeSpan, spanHeight, spanWidth, startFullscreenEnterAnimation, startFullscreenLeaveAnimation, toGridPosition, topSheetOverlayStrategy, transformingBottomSheetToDialogOverlayStrategy, transformingFullScreenDialogToDialogOverlayStrategy, transformingFullScreenDialogToRightSheetOverlayStrategy };
|
|
6625
|
+
export type { AnchoredDialogOverlayStrategyOptions, AnchoredOverlayStrategyOptions, AnchoredPositionOptions, AnyDropzoneUploadConfig, AutoPlaceOptions, AutoScrollPointer, AutoScroller, ButtonIconAlignment, ButtonSize, CenteredOverlayStrategyOptions, ClampPositionOptions, CompactLayoutOptions, CreateExistingDropzoneEntryOptions, CreateFileDropzoneEntryOptions, DragToDismissContext, DragToDismissRef, DropzoneEntry, DropzoneEntrySource, DropzoneEntryStatus, DropzoneExistingFileInfo, DropzoneFileConstraints, DropzoneFileRejection, DropzoneFileRejectionReason, DropzoneFileValidationChannel, DropzoneUploadConfig, EthleteIconNameRegistry, EthleteIconVariantRegistry, FacebookVideoPlayer, FacebookWindow, FindCollisionOptions, FormFieldAppearance, FormFieldControl, FormFieldControlType, FormFieldDirectiveBase, FormFieldFill, FormFieldLabelMode, FormFieldSize, FullscreenAnimationCancellable, FullscreenAnimationDeps, FullscreenAnimationState, GridAdapter, GridBreakpointConfig, GridBreakpointName, GridComponentRegistration, GridConfig, GridGeometry, GridItemActionsComponent, GridItemConfig, GridItemConstraints, GridItemPosition, GridLayoutEntry, GridSerializedState, HintComponentBase, IconDefinition, InputTextAlignment, LabelDirectiveBase, MapLayoutOptions, MenuAnchorPoint, MenuCloseReason, MenuItemActivationEvent, MenuItemActivationSource, MenuItemVariant, MenuOpenSource, MenuSelectionGroupDirectiveBase, MenuSelectionGroupItem, MenuSelectionItemKind, MenuSurfaceContext, NotificationAction, NotificationConfig, NotificationEntry, NotificationManager, NotificationManagerConfig, NotificationRef, NotificationStackContext, NotificationStatus, OverlayAutoFocusTarget, OverlayBodyDividerType, OverlayBreakpointConfig, OverlayConfig, OverlayDefinition, OverlayDefinitionConfig, OverlayDragToDismissConfig, OverlayLifecycleConfig, OverlayManager, OverlayMode, OverlayOpenConfig, OverlayOpener, OverlayOpenerConfig, OverlayRef, OverlayRole, OverlayRoute, OverlayRouter, OverlayRouterConfig, OverlayRouterNavigateConfig, OverlayRouterNavigationDirection, OverlayRouterResolvedPath, OverlayRouterTransitionType, OverlayStrategy, OverlayStrategyBreakpoint, OverlayStrategyContext, OverlayStrategyController, OverlayStrategyControllerMountConfig, OverlaySurfaceContext, PipCellData, PipChromeAnimations, PipChromeRef, PipChromeState, PipManager, PipSlotPlaceholderConfig, PixelRect, QueryParamOverlayDefinition, QueryParamOverlayDefinitionConfig, QueryParamOverlayHost, QueryParamOverlayOpener, QueryParamOverlayValue, RegisteredIconName, RegisteredIconVariant, ResizeSpanBounds, ResolveClosestOverlayOptions, ResolveCollisionsOptions, RichTextEditorQueryTriggerConfig, RichTextEditorTool, RichTextEditorToolButton, RichTextEditorToolDefinition, RichTextEditorToolsConfig, RichTextEditorTrigger, RichTextEditorTriggerItem, RichTextEditorTriggerItemResolver, RichTextEditorTriggerItemSource, RichTextEditorTriggerType, RowFloors, ScrollableActiveChildRef, ScrollableButtonPosition, ScrollableDirection, ScrollableIntersectionChange, ScrollableItemSize, ScrollableLoadingTemplatePosition, ScrollableLoadingTemplateRef, ScrollableMaskVariant, ScrollableNavigation, ScrollableNavigationItem, ScrollableScrollMode, ScrollableScrollOrigin, ScrollableScrollState, SelectionListDirectiveBase, SelectionListItem, SerializeOptions, SidebarOverlay, SidebarOverlayConfig, StreamConfig, StreamConsentConfig, StreamManager, StreamPipEntry, StreamPipWindowConfig, StreamPlayer, StreamPlayerCapabilities, StreamPlayerEntry, StreamPlayerErrorConfig, StreamPlayerErrorContext, StreamPlayerId, StreamPlayerLoadingConfig, StreamPlayerParams, StreamPlayerSlotHandle, StreamPlayerSlotOptions, StreamPlayerState, StreamScriptLoader, StreamSlotEntry, TabBarFit, TabBarOrientation, TabBarVariant, TabSize, TextAlign, ToggletipContent, TooltipContent, TwitchEmbed, TwitchEmbedConstructor, TwitchEmbedPlayer, TwitchPlayerParams, TwitchWindow, ViewportTransformData, VimeoDurationChangeEvent, VimeoPlaybackEvent, VimeoPlayer, VimeoPlayerOptions, VimeoWindow, WindowControlButtonKind, WindowControlButtonSize, YtPlayer, YtPlayerConfig, YtPlayerErrorEvent, YtPlayerEvent, YtPlayerStateChangeEvent, YtPlayerVars, YtWindow };
|