monkey-style-guide 21.2.8 → 21.2.9
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.
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { TemplateRef, ComponentRef, InputSignal, OutputEmitterRef, AfterContentInit, AfterContentChecked, OnDestroy,
|
|
2
|
+
import { TemplateRef, EventEmitter, ElementRef, ComponentRef, InputSignal, OutputEmitterRef, AfterContentInit, AfterContentChecked, OnDestroy, ChangeDetectorRef, OnChanges, OnInit, InputSignalWithTransform, AfterViewInit, SimpleChanges, Renderer2, QueryList, StaticProvider, Injector, InjectionToken, ViewContainerRef, ApplicationRef } from '@angular/core';
|
|
3
3
|
import { NgControl, AbstractControlDirective, ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
4
4
|
import * as rxjs from 'rxjs';
|
|
5
5
|
import { Observable, Subject, BehaviorSubject } from 'rxjs';
|
|
@@ -130,6 +130,35 @@ interface MonkeyTableScrollConfig {
|
|
|
130
130
|
y?: string;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
+
/** ************************
|
|
134
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
135
|
+
* This style guide was developed by Monkey Exchange Team
|
|
136
|
+
* MIT Licence
|
|
137
|
+
************************* */
|
|
138
|
+
|
|
139
|
+
declare class MonkeyToastComponent {
|
|
140
|
+
private host;
|
|
141
|
+
message: string | undefined;
|
|
142
|
+
icon: string | undefined;
|
|
143
|
+
type: MonkeyToastType;
|
|
144
|
+
isClosable: boolean;
|
|
145
|
+
actionLabel: string | undefined;
|
|
146
|
+
actionIcon: string | undefined;
|
|
147
|
+
onActionClick: EventEmitter<string>;
|
|
148
|
+
onClose: EventEmitter<string>;
|
|
149
|
+
protected _uid: string;
|
|
150
|
+
protected _id: string;
|
|
151
|
+
get id(): string;
|
|
152
|
+
set id(value: string);
|
|
153
|
+
get class(): string;
|
|
154
|
+
constructor(host: ElementRef<HTMLElement>);
|
|
155
|
+
close(): void;
|
|
156
|
+
onAnimationEnd(event: AnimationEvent): void;
|
|
157
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MonkeyToastComponent, never>;
|
|
158
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MonkeyToastComponent, "monkey-toast", never, { "message": { "alias": "message"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "type": { "alias": "type"; "required": false; }; "isClosable": { "alias": "isClosable"; "required": false; }; "actionLabel": { "alias": "actionLabel"; "required": false; }; "actionIcon": { "alias": "actionIcon"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, { "onActionClick": "onActionClick"; "onClose": "onClose"; }, never, never, true, never>;
|
|
159
|
+
static ngAcceptInputType_isClosable: unknown;
|
|
160
|
+
}
|
|
161
|
+
|
|
133
162
|
/** ************************
|
|
134
163
|
* Copyright Monkey Exchange. All Rights Reserved
|
|
135
164
|
* This style guide was developed by Monkey Exchange Team
|
|
@@ -885,6 +914,469 @@ declare class MonkeyFilterBarService {
|
|
|
885
914
|
static ɵprov: i0.ɵɵInjectableDeclaration<MonkeyFilterBarService>;
|
|
886
915
|
}
|
|
887
916
|
|
|
917
|
+
/** ************************
|
|
918
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
919
|
+
* This style guide was developed by Monkey Exchange Team
|
|
920
|
+
* MIT Licence
|
|
921
|
+
************************* */
|
|
922
|
+
/**
|
|
923
|
+
* Has the page painted its first frame?
|
|
924
|
+
*
|
|
925
|
+
* Use it to decide whether an `animate.enter` should apply:
|
|
926
|
+
*
|
|
927
|
+
* [animate.enter]="appPainted() ? 'mecx-x--entering' : ''"
|
|
928
|
+
*
|
|
929
|
+
* A component already on screen at the first paint comes in without animation;
|
|
930
|
+
* one the consumer mounts later animates normally.
|
|
931
|
+
*/
|
|
932
|
+
declare function appPainted(): boolean;
|
|
933
|
+
|
|
934
|
+
/** Which panel of which chip is open. Only one is ever open at a time. */
|
|
935
|
+
interface OpenPanel {
|
|
936
|
+
readonly key: string;
|
|
937
|
+
readonly part: 'category' | 'value';
|
|
938
|
+
}
|
|
939
|
+
/** One slot of the row: an active filter, or the one being built. */
|
|
940
|
+
interface MonkeyFilterBarV2Row {
|
|
941
|
+
readonly key: string;
|
|
942
|
+
readonly label: string;
|
|
943
|
+
readonly icon?: string;
|
|
944
|
+
readonly type: FilterType;
|
|
945
|
+
/** What the value segment shows. Empty while the answer is pending. */
|
|
946
|
+
readonly value: string;
|
|
947
|
+
/** True while the filter is being built and is not in the service yet. */
|
|
948
|
+
readonly pending: boolean;
|
|
949
|
+
}
|
|
950
|
+
declare class MonkeyFilterBarV2Component {
|
|
951
|
+
private readonly _service;
|
|
952
|
+
private readonly _hostEl;
|
|
953
|
+
private readonly _injector;
|
|
954
|
+
/** Storage key of this bar's state inside MonkeyFilterBarService. */
|
|
955
|
+
readonly key: i0.InputSignal<string>;
|
|
956
|
+
readonly config: i0.InputSignal<FilterBarConfig | undefined>;
|
|
957
|
+
/** Label of the trigger while the bar is still empty. */
|
|
958
|
+
readonly addFilterLabel: i0.InputSignal<string>;
|
|
959
|
+
readonly clearAllLabel: i0.InputSignal<string>;
|
|
960
|
+
readonly filtersChange: i0.OutputEmitterRef<{
|
|
961
|
+
search?: string;
|
|
962
|
+
filters: ActiveFilter[];
|
|
963
|
+
}>;
|
|
964
|
+
readonly searchChange: i0.OutputEmitterRef<string>;
|
|
965
|
+
/** A chip seeded by the consumer does not animate; one the user made does. */
|
|
966
|
+
readonly appPainted: typeof appPainted;
|
|
967
|
+
/**
|
|
968
|
+
* The filter being built — chosen from the trigger, not yet confirmed, so
|
|
969
|
+
* not yet in the service.
|
|
970
|
+
*
|
|
971
|
+
* It exists so the chip can be BORN where the trigger was, which is the
|
|
972
|
+
* whole point of the row's animation, without the bar reporting a filter
|
|
973
|
+
* that has no answer. Closing the panel without confirming drops it again:
|
|
974
|
+
* monkey-filter-bar has no half-filled state and neither does this one.
|
|
975
|
+
*/
|
|
976
|
+
protected readonly pending: i0.WritableSignal<FilterOption | null>;
|
|
977
|
+
protected readonly openPanel: i0.WritableSignal<OpenPanel | null>;
|
|
978
|
+
protected readonly triggerOpen: i0.WritableSignal<boolean>;
|
|
979
|
+
/**
|
|
980
|
+
* The filter whose date panel is showing the CALENDAR instead of the
|
|
981
|
+
* shortcuts, or `null`.
|
|
982
|
+
*
|
|
983
|
+
* It is the same panel, anchored to the same segment — "Personalizado" only
|
|
984
|
+
* swaps its content. No modal: the dialog would be almost all frame around a
|
|
985
|
+
* calendar, and frame is not an answer to anything.
|
|
986
|
+
*/
|
|
987
|
+
protected readonly calendarOpen: i0.WritableSignal<string | null>;
|
|
988
|
+
/** Search of the category panel. */
|
|
989
|
+
protected readonly categorySearch: i0.WritableSignal<string>;
|
|
990
|
+
/**
|
|
991
|
+
* Turns off the fade on the trigger's panel. It is written BEFORE the
|
|
992
|
+
* mutation on purpose: `animate.leave` is read the instant the node leaves,
|
|
993
|
+
* and turning it on afterwards would arrive too late.
|
|
994
|
+
*/
|
|
995
|
+
protected readonly immediateTriggerExit: i0.WritableSignal<boolean>;
|
|
996
|
+
protected textValue: string;
|
|
997
|
+
protected currencyValue: number | null;
|
|
998
|
+
protected currencyMode: 'from' | 'until';
|
|
999
|
+
protected statusValues: string[];
|
|
1000
|
+
protected dateRange: {
|
|
1001
|
+
startDate: string;
|
|
1002
|
+
endDate: string;
|
|
1003
|
+
};
|
|
1004
|
+
protected readonly serviceConfig: i0.Signal<FilterBarConfig | undefined>;
|
|
1005
|
+
protected readonly activeFilters: i0.Signal<ActiveFilter[]>;
|
|
1006
|
+
protected readonly searchValue: i0.Signal<string>;
|
|
1007
|
+
protected readonly searchPlaceholder: i0.Signal<string>;
|
|
1008
|
+
/** The slots of the row, in order: the confirmed ones, then the draft. */
|
|
1009
|
+
protected readonly rows: i0.Signal<MonkeyFilterBarV2Row[]>;
|
|
1010
|
+
/**
|
|
1011
|
+
* What the TRIGGER offers: only what can still be added.
|
|
1012
|
+
*
|
|
1013
|
+
* This is monkey-filter-bar's rule — a filter already on the row is not on
|
|
1014
|
+
* offer, because the bar holds one filter per key.
|
|
1015
|
+
*/
|
|
1016
|
+
protected readonly addOptions: i0.Signal<FilterOption[]>;
|
|
1017
|
+
/**
|
|
1018
|
+
* What a chip's CATEGORY segment offers: the whole list.
|
|
1019
|
+
*
|
|
1020
|
+
* A different list from the trigger's on purpose. Here the question is "what
|
|
1021
|
+
* else could this chip be", so the current category has to be visible — it
|
|
1022
|
+
* is the one carrying the check — and the other filters already on the row
|
|
1023
|
+
* are shown greyed out rather than hidden, which is what tells the user the
|
|
1024
|
+
* category they were looking for is already in use.
|
|
1025
|
+
*/
|
|
1026
|
+
protected readonly changeOptions: i0.Signal<FilterOption[]>;
|
|
1027
|
+
/**
|
|
1028
|
+
* While the bar is empty the trigger is the CALL and earns the label. With
|
|
1029
|
+
* filters on screen a 28px square is enough.
|
|
1030
|
+
*/
|
|
1031
|
+
protected readonly triggerVariant: i0.Signal<"text" | "icon">;
|
|
1032
|
+
/**
|
|
1033
|
+
* The glyph of the collapsed trigger is a `+`, not the funnel.
|
|
1034
|
+
*
|
|
1035
|
+
* The variant says what the button IS; the glyph says what it DOES. With
|
|
1036
|
+
* filters already on screen the button does not open "the filters", it ADDS
|
|
1037
|
+
* one more — and a funnel there reads as the wrong thing. With the bar empty
|
|
1038
|
+
* the funnel is exact.
|
|
1039
|
+
*/
|
|
1040
|
+
protected readonly triggerIcon: i0.Signal<"filter" | "add-plus">;
|
|
1041
|
+
/**
|
|
1042
|
+
* The FLIP identity changes along with the variant, and that is the fix: the
|
|
1043
|
+
* text trigger is REMOVED and the icon one is BORN in its place, instead of
|
|
1044
|
+
* one button sliding to the right. Before this, the button dragged along the
|
|
1045
|
+
* panel that was closing — the list vanished travelling sideways.
|
|
1046
|
+
*
|
|
1047
|
+
* From the second filter on the identity holds, and then the `+` really does
|
|
1048
|
+
* slide: that movement is what says "the row grew".
|
|
1049
|
+
*/
|
|
1050
|
+
protected readonly triggerFlipId: i0.Signal<"trigger-text" | "trigger-icon">;
|
|
1051
|
+
constructor();
|
|
1052
|
+
protected isOpen(rowKey: string, part: OpenPanel['part']): boolean;
|
|
1053
|
+
protected isFilterActive(optionKey: string): boolean;
|
|
1054
|
+
/** A divider goes where the type changes relative to the row above. */
|
|
1055
|
+
protected needsDivider(options: readonly FilterOption[], index: number): boolean;
|
|
1056
|
+
protected valuePlaceholder(row: MonkeyFilterBarV2Row): string;
|
|
1057
|
+
protected statusOptionsOf(row: MonkeyFilterBarV2Row): monkey_style_guide.StatusOption[];
|
|
1058
|
+
protected minDateOf(row: MonkeyFilterBarV2Row): Date | string;
|
|
1059
|
+
protected maxDateOf(row: MonkeyFilterBarV2Row): Date | string;
|
|
1060
|
+
/**
|
|
1061
|
+
* `index` is the position in the list the template walked — the one the
|
|
1062
|
+
* search filtered. Indexing the full list would pick the wrong option.
|
|
1063
|
+
*/
|
|
1064
|
+
protected onSelectCategory(index: number): void;
|
|
1065
|
+
/**
|
|
1066
|
+
* Swaps the category of a chip that already exists, from its first segment.
|
|
1067
|
+
*
|
|
1068
|
+
* The answer always falls: it belongs to the old category's domain — a list
|
|
1069
|
+
* of statuses means nothing inside a date range — so the chip goes back to
|
|
1070
|
+
* waiting, with its value panel open.
|
|
1071
|
+
*/
|
|
1072
|
+
protected onChangeCategory(row: MonkeyFilterBarV2Row, index: number): void;
|
|
1073
|
+
/**
|
|
1074
|
+
* Opening the trigger closes whatever chip panel was open: only one panel is
|
|
1075
|
+
* ever on screen, and a draft chip whose panel was abandoned goes with it.
|
|
1076
|
+
*/
|
|
1077
|
+
protected onTriggerOpenChange(open: boolean): void;
|
|
1078
|
+
protected onCategoryOpenChange(row: MonkeyFilterBarV2Row, open: boolean): void;
|
|
1079
|
+
protected onValueOpenChange(row: MonkeyFilterBarV2Row, open: boolean): void;
|
|
1080
|
+
/**
|
|
1081
|
+
* The same shortcuts monkey-filter-bar offers. "Personalizado" is the only
|
|
1082
|
+
* one that does not resolve the interval on its own: it swaps the panel's
|
|
1083
|
+
* content for the calendar, in the same place.
|
|
1084
|
+
*/
|
|
1085
|
+
protected onQuickDate(row: MonkeyFilterBarV2Row, preset: string): void;
|
|
1086
|
+
protected onDateChange(row: MonkeyFilterBarV2Row, event: {
|
|
1087
|
+
startDate: string;
|
|
1088
|
+
endDate: string;
|
|
1089
|
+
}): void;
|
|
1090
|
+
/** Cancel inside the calendar goes back to the shortcuts, panel still open. */
|
|
1091
|
+
protected onBackToShortcuts(): void;
|
|
1092
|
+
protected onStatusChange(value: string, checked: boolean): void;
|
|
1093
|
+
protected onToggleStatus(value: string): void;
|
|
1094
|
+
/**
|
|
1095
|
+
* The one place where an answer is written. Same validation as
|
|
1096
|
+
* monkey-filter-bar: an empty answer is not an answer, and the panel stays
|
|
1097
|
+
* open instead of writing a filter with nothing in it.
|
|
1098
|
+
*/
|
|
1099
|
+
protected onApply(row: MonkeyFilterBarV2Row): void;
|
|
1100
|
+
protected onRemove(row: MonkeyFilterBarV2Row): void;
|
|
1101
|
+
/** Zeroes the whole bar. The trigger goes back to being the call with a label. */
|
|
1102
|
+
protected onClearAll(): void;
|
|
1103
|
+
protected onSearchChange(value: string): void;
|
|
1104
|
+
/**
|
|
1105
|
+
* Opens a chip's answer panel, pre-filled with the answer it already holds —
|
|
1106
|
+
* this is the edit path the active-filter tag used to be.
|
|
1107
|
+
*/
|
|
1108
|
+
private _openValuePanel;
|
|
1109
|
+
/**
|
|
1110
|
+
* Closing the value panel of a chip that was never confirmed drops the chip:
|
|
1111
|
+
* monkey-filter-bar adds nothing until Apply, and a chip left on the row
|
|
1112
|
+
* with no answer would be a state it does not have.
|
|
1113
|
+
*
|
|
1114
|
+
* Closing the panel of a CONFIRMED chip changes no width — the segment shows
|
|
1115
|
+
* the same text it did before — so that path needs no FLIP.
|
|
1116
|
+
*/
|
|
1117
|
+
private _closePanel;
|
|
1118
|
+
/** Takes the draft chip off the row, ghost and all. */
|
|
1119
|
+
private _dropPending;
|
|
1120
|
+
private _optionFor;
|
|
1121
|
+
private _matchingSearch;
|
|
1122
|
+
private _resetDraft;
|
|
1123
|
+
private _emit;
|
|
1124
|
+
/**
|
|
1125
|
+
* Takes the slots that are about to leave out of the flow, at the exact
|
|
1126
|
+
* place where they are.
|
|
1127
|
+
*
|
|
1128
|
+
* This is done HERE and not by the `animate.leave` class because of ORDER:
|
|
1129
|
+
* Angular only applies the exit class the instant it removes the node, and
|
|
1130
|
+
* that happens AFTER the `afterNextRender` that runs the FLIP. The FLIP
|
|
1131
|
+
* would then measure a layout that had not collapsed yet, see no
|
|
1132
|
+
* displacement at all, and the neighbours would snap into their new place
|
|
1133
|
+
* with no animation — the chip's exit worked and the neighbours' arrival did
|
|
1134
|
+
* not.
|
|
1135
|
+
*
|
|
1136
|
+
* Released from the flow BEFORE the mutation, the row collapses in the same
|
|
1137
|
+
* pass: the FLIP measures a real before and a real after, and the ghost
|
|
1138
|
+
* fades out on top, in place. Explicit `left`/`top` are mandatory — the
|
|
1139
|
+
* static position of an absolute element inside a flex container is the
|
|
1140
|
+
* container's corner, not where the element was.
|
|
1141
|
+
*/
|
|
1142
|
+
private _releaseFromFlow;
|
|
1143
|
+
/**
|
|
1144
|
+
* Takes the row to the end of its travel, so that what has just come in is
|
|
1145
|
+
* not left hidden — and with it the trigger, which is always last in line.
|
|
1146
|
+
*
|
|
1147
|
+
* It runs BEFORE the "after" measurement on purpose. FLIP works in VIEWPORT
|
|
1148
|
+
* coordinates, so scrolling first folds the scroll offset into the same sum:
|
|
1149
|
+
* every piece slides from where the eye saw it to where it ended up, pan
|
|
1150
|
+
* included. One single synchronised movement.
|
|
1151
|
+
*
|
|
1152
|
+
* It is also what makes `scroll-behavior: smooth` unnecessary, which has no
|
|
1153
|
+
* token, guarantees nothing under reduced motion, and stalls in a throttled
|
|
1154
|
+
* tab.
|
|
1155
|
+
*
|
|
1156
|
+
* The sum comes from the LAST SLOT, never from `scrollWidth`. `scrollWidth`
|
|
1157
|
+
* at this instant is a poisoned measurement: the chip that has just been
|
|
1158
|
+
* born brings its answer panel already open, and the panel has not been
|
|
1159
|
+
* anchored yet — it is at its static position, far ahead, and counts as
|
|
1160
|
+
* overflow. The scroll would go hundreds of pixels chasing a ghost, the FLIP
|
|
1161
|
+
* would animate the whole row that distance, and the browser would clamp the
|
|
1162
|
+
* scroll back when the panel got anchored — a hard jump with no animation,
|
|
1163
|
+
* right in the middle of the chip's entrance.
|
|
1164
|
+
*
|
|
1165
|
+
* The slots do not have that problem: they are flow content, already at
|
|
1166
|
+
* their final position on the first render, and none of them is `fixed`.
|
|
1167
|
+
*/
|
|
1168
|
+
private _followEnd;
|
|
1169
|
+
/**
|
|
1170
|
+
* Measures, lets the state change, then makes everything slide from its old
|
|
1171
|
+
* position.
|
|
1172
|
+
*
|
|
1173
|
+
* `afterNextRender` and not a `setTimeout`: we need the first instant at
|
|
1174
|
+
* which the DOM ALREADY reflects the new state, and that is exactly what it
|
|
1175
|
+
* delivers.
|
|
1176
|
+
*/
|
|
1177
|
+
private _withFlip;
|
|
1178
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MonkeyFilterBarV2Component, never>;
|
|
1179
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MonkeyFilterBarV2Component, "monkey-filter-bar-v2", never, { "key": { "alias": "key"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "addFilterLabel": { "alias": "addFilterLabel"; "required": false; "isSignal": true; }; "clearAllLabel": { "alias": "clearAllLabel"; "required": false; "isSignal": true; }; }, { "filtersChange": "filtersChange"; "searchChange": "searchChange"; }, never, ["*"], true, never>;
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
/**
|
|
1183
|
+
* The segmented row that replaces the trigger once the user has picked a
|
|
1184
|
+
* filter. Two segments and a bin:
|
|
1185
|
+
*
|
|
1186
|
+
* [ icon Data de Emissão | 01/01/2025 - 31/01/2025 | 🗑 ]
|
|
1187
|
+
* category value action
|
|
1188
|
+
*
|
|
1189
|
+
* How many segments there are is the consumer's decision — the value segment
|
|
1190
|
+
* is projected as soon as there is something to answer:
|
|
1191
|
+
*
|
|
1192
|
+
* <monkey-filter-chip (remove)="drop()">
|
|
1193
|
+
* <monkey-filter-segment icon="calendar-box" text="Data" readonlySegment />
|
|
1194
|
+
* <monkey-filter-segment placeholder="Selecione" [(open)]="open" />
|
|
1195
|
+
* </monkey-filter-chip>
|
|
1196
|
+
*
|
|
1197
|
+
* The chip carries NO `overflow: hidden`. It would clip the panels the
|
|
1198
|
+
* segments open right below themselves; the ends are rounded by radius, not by
|
|
1199
|
+
* clipping.
|
|
1200
|
+
*/
|
|
1201
|
+
declare class MonkeyFilterChipComponent {
|
|
1202
|
+
/** Icon font name of the remove action, without the `mk-i-` prefix. */
|
|
1203
|
+
readonly removeIcon: i0.InputSignal<string>;
|
|
1204
|
+
readonly removeLabel: i0.InputSignal<string>;
|
|
1205
|
+
readonly remove: i0.OutputEmitterRef<void>;
|
|
1206
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MonkeyFilterChipComponent, never>;
|
|
1207
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MonkeyFilterChipComponent, "monkey-filter-chip", never, { "removeIcon": { "alias": "removeIcon"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; }, { "remove": "remove"; }, never, ["*"], true, never>;
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1210
|
+
/**
|
|
1211
|
+
* The panel every dropdown of monkey-filter-bar-v2 opens: a surface with an
|
|
1212
|
+
* optional search field on top and the projected rows below it.
|
|
1213
|
+
*
|
|
1214
|
+
* Only the WIDTH changes from one panel to the next, and it is set from the
|
|
1215
|
+
* bar's own stylesheet through a class on this host — the panel component has
|
|
1216
|
+
* no opinion on how wide a company list should be.
|
|
1217
|
+
*
|
|
1218
|
+
* `width` and not `min-width` on those classes: each panel is a fixed-width
|
|
1219
|
+
* frame in the design and a long label ellipsizes inside it. With a floor the
|
|
1220
|
+
* content would win, and the measurement would turn into a suggestion.
|
|
1221
|
+
*/
|
|
1222
|
+
declare class MonkeyFilterMenuComponent implements OnDestroy {
|
|
1223
|
+
readonly showSearch: i0.InputSignalWithTransform<boolean, unknown>;
|
|
1224
|
+
readonly searchPlaceholder: i0.InputSignal<string>;
|
|
1225
|
+
/** Lets the row list scroll instead of growing past the viewport. */
|
|
1226
|
+
readonly showScroll: i0.InputSignalWithTransform<boolean, unknown>;
|
|
1227
|
+
/** Ceiling of the scrolling list, in px. */
|
|
1228
|
+
readonly maxHeight: i0.InputSignal<number>;
|
|
1229
|
+
readonly searchChange: i0.OutputEmitterRef<string>;
|
|
1230
|
+
protected searchValue: string;
|
|
1231
|
+
private readonly _zone;
|
|
1232
|
+
private readonly _items;
|
|
1233
|
+
/** Is the list actually overflowing right now? */
|
|
1234
|
+
private readonly _overflowing;
|
|
1235
|
+
/**
|
|
1236
|
+
* Draw the track only when the content OVERFLOWS.
|
|
1237
|
+
*
|
|
1238
|
+
* Tied to `showScroll` alone, a three-row panel lost 12px of width to a
|
|
1239
|
+
* track that was never going to appear.
|
|
1240
|
+
*/
|
|
1241
|
+
protected readonly scrolling: i0.Signal<boolean>;
|
|
1242
|
+
private _observer?;
|
|
1243
|
+
constructor();
|
|
1244
|
+
ngOnDestroy(): void;
|
|
1245
|
+
protected onSearchInput(value: string): void;
|
|
1246
|
+
private _disconnect;
|
|
1247
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MonkeyFilterMenuComponent, never>;
|
|
1248
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MonkeyFilterMenuComponent, "monkey-filter-menu", never, { "showSearch": { "alias": "showSearch"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "showScroll": { "alias": "showScroll"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; }, { "searchChange": "searchChange"; }, never, ["*"], true, never>;
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
/** `text` is a plain row; `checkbox` puts a box in front of the label. */
|
|
1252
|
+
type MonkeyFilterMenuItemProperty = 'text' | 'checkbox';
|
|
1253
|
+
/**
|
|
1254
|
+
* One row of a monkey-filter-menu.
|
|
1255
|
+
*
|
|
1256
|
+
* The ROW is the click target, which is why the checkbox inside it does not
|
|
1257
|
+
* grow one of its own: the boxes sit 18px apart inside rows of 32px that touch
|
|
1258
|
+
* each other, so a 40px floor on each would make two targets OVERLAP by 8px —
|
|
1259
|
+
* inside rows that are already clickable end to end.
|
|
1260
|
+
*/
|
|
1261
|
+
declare class MonkeyFilterMenuItemComponent {
|
|
1262
|
+
readonly property: i0.InputSignal<MonkeyFilterMenuItemProperty>;
|
|
1263
|
+
/** Icon font name, without the `mk-i-` prefix. */
|
|
1264
|
+
readonly leadIcon: i0.InputSignal<string | null>;
|
|
1265
|
+
readonly label: i0.InputSignal<string>;
|
|
1266
|
+
/** Secondary line under the label — a document number, a key. */
|
|
1267
|
+
readonly description: i0.InputSignal<string | null>;
|
|
1268
|
+
readonly checked: i0.InputSignalWithTransform<boolean, unknown>;
|
|
1269
|
+
/** Already answered elsewhere: the row shows a check and stops responding. */
|
|
1270
|
+
readonly selected: i0.InputSignalWithTransform<boolean, unknown>;
|
|
1271
|
+
readonly disabled: i0.InputSignalWithTransform<boolean, unknown>;
|
|
1272
|
+
readonly itemClick: i0.OutputEmitterRef<void>;
|
|
1273
|
+
protected onClick(): void;
|
|
1274
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MonkeyFilterMenuItemComponent, never>;
|
|
1275
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MonkeyFilterMenuItemComponent, "monkey-filter-menu-item", never, { "property": { "alias": "property"; "required": false; "isSignal": true; }; "leadIcon": { "alias": "leadIcon"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
/**
|
|
1279
|
+
* One segment of a monkey-filter-chip.
|
|
1280
|
+
*
|
|
1281
|
+
* ONE component for the two roles the chip has — the category name and the
|
|
1282
|
+
* answer. Both share the same state table, the same padding, the same
|
|
1283
|
+
* typography and the same height; what changes between them is the content
|
|
1284
|
+
* (the first has an icon) and the rounding of the ends, which belongs to the
|
|
1285
|
+
* chip and not to the segment. Two components would be two copies of the same
|
|
1286
|
+
* stylesheet waiting to drift apart.
|
|
1287
|
+
*
|
|
1288
|
+
* `filled` is not an input: it is `text() !== ''`. Letting the consumer
|
|
1289
|
+
* declare "filled" with an empty text would be a state impossible to draw.
|
|
1290
|
+
*
|
|
1291
|
+
* The projected panel is `position: fixed` and anchored by script — see
|
|
1292
|
+
* `anchored-menu.ts` for why an `absolute` one cannot survive inside a row
|
|
1293
|
+
* that scrolls.
|
|
1294
|
+
*/
|
|
1295
|
+
declare class MonkeyFilterSegmentComponent {
|
|
1296
|
+
/** Category icon — usually only the chip's first segment has one. */
|
|
1297
|
+
readonly icon: i0.InputSignal<string | null>;
|
|
1298
|
+
/** The chosen value. Empty means the segment is still waiting. */
|
|
1299
|
+
readonly text: i0.InputSignal<string>;
|
|
1300
|
+
/** Waiting text, in the complement colour. */
|
|
1301
|
+
readonly placeholder: i0.InputSignal<string>;
|
|
1302
|
+
/** A segment with no panel to open. */
|
|
1303
|
+
readonly readonlySegment: i0.InputSignalWithTransform<boolean, unknown>;
|
|
1304
|
+
readonly open: i0.ModelSignal<boolean>;
|
|
1305
|
+
readonly segmentClick: i0.OutputEmitterRef<void>;
|
|
1306
|
+
readonly filled: i0.Signal<boolean>;
|
|
1307
|
+
/** What is shown: the value when there is one, the waiting text when not. */
|
|
1308
|
+
readonly label: i0.Signal<string>;
|
|
1309
|
+
private readonly _hostEl;
|
|
1310
|
+
private readonly _menuEl;
|
|
1311
|
+
constructor();
|
|
1312
|
+
toggle(): void;
|
|
1313
|
+
/**
|
|
1314
|
+
* A click outside closes. Without it the panel would only close by clicking
|
|
1315
|
+
* the segment again — behaviour no system menu has, and which left two
|
|
1316
|
+
* panels open at once on a row with several chips.
|
|
1317
|
+
*/
|
|
1318
|
+
onDocumentPointerdown(event: PointerEvent): void;
|
|
1319
|
+
/**
|
|
1320
|
+
* Escape closes and hands the focus back to the segment's button. Without
|
|
1321
|
+
* the hand-back the focus falls to `<body>` and Tab restarts from the top of
|
|
1322
|
+
* the page: whoever opened the panel from the keyboard loses their place in
|
|
1323
|
+
* the middle of the row.
|
|
1324
|
+
*/
|
|
1325
|
+
onEscape(): void;
|
|
1326
|
+
/** Closes and returns the focus. Public for whoever needs to close from outside. */
|
|
1327
|
+
closeAndFocus(): void;
|
|
1328
|
+
private focusButton;
|
|
1329
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MonkeyFilterSegmentComponent, never>;
|
|
1330
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MonkeyFilterSegmentComponent, "monkey-filter-segment", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonlySegment": { "alias": "readonlySegment"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "segmentClick": "segmentClick"; }, never, ["*"], true, never>;
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1333
|
+
/** `text` is the 28px button with a label; `icon` is the 28px square. */
|
|
1334
|
+
type MonkeyFilterTriggerVariant = 'text' | 'icon';
|
|
1335
|
+
/**
|
|
1336
|
+
* The button that adds a filter, and the panel of categories it opens.
|
|
1337
|
+
*
|
|
1338
|
+
* It is always the LAST slot of the row. While the bar is empty the trigger is
|
|
1339
|
+
* the CALL to action and earns its label; with filters on screen it becomes
|
|
1340
|
+
* the ADDITION, and a 28px square is enough.
|
|
1341
|
+
*
|
|
1342
|
+
* Both are 28px tall — the same as a chip segment — because the button turns
|
|
1343
|
+
* into a chip in place, and 1px of difference would show up as a jump at the
|
|
1344
|
+
* moment of the swap.
|
|
1345
|
+
*/
|
|
1346
|
+
declare class MonkeyFilterTriggerComponent {
|
|
1347
|
+
readonly variant: i0.InputSignal<MonkeyFilterTriggerVariant>;
|
|
1348
|
+
/** Icon font name, without the `mk-i-` prefix. */
|
|
1349
|
+
readonly icon: i0.InputSignal<string>;
|
|
1350
|
+
readonly text: i0.InputSignal<string>;
|
|
1351
|
+
readonly ariaLabel: i0.InputSignal<string>;
|
|
1352
|
+
readonly disabled: i0.InputSignalWithTransform<boolean, unknown>;
|
|
1353
|
+
/**
|
|
1354
|
+
* The panel leaves with no exit animation.
|
|
1355
|
+
*
|
|
1356
|
+
* It exists for ONE case: when the closing goes along with the trigger
|
|
1357
|
+
* itself changing place. The panel is a child of the button, so it travels
|
|
1358
|
+
* with it — and a fade on an element that has just teleported 160px does not
|
|
1359
|
+
* read as an exit, it reads as a glitch. Closing by Escape or by an outside
|
|
1360
|
+
* click is not that case and keeps its fade.
|
|
1361
|
+
*/
|
|
1362
|
+
readonly immediateExit: i0.InputSignalWithTransform<boolean, unknown>;
|
|
1363
|
+
readonly open: i0.ModelSignal<boolean>;
|
|
1364
|
+
/**
|
|
1365
|
+
* `aria-label` only on the variant with no visible label. Where there is a
|
|
1366
|
+
* label, an `aria-label` over it would swap the name the user reads for one
|
|
1367
|
+
* they cannot see — breaking voice control and the "Label in Name" criterion.
|
|
1368
|
+
*/
|
|
1369
|
+
readonly ariaLabelAttr: i0.Signal<string | null>;
|
|
1370
|
+
private readonly _hostEl;
|
|
1371
|
+
private readonly _menuEl;
|
|
1372
|
+
constructor();
|
|
1373
|
+
toggle(): void;
|
|
1374
|
+
onDocumentPointerdown(event: PointerEvent): void;
|
|
1375
|
+
onEscape(): void;
|
|
1376
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MonkeyFilterTriggerComponent, never>;
|
|
1377
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MonkeyFilterTriggerComponent, "monkey-filter-trigger", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "immediateExit": { "alias": "immediateExit"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, ["*"], true, never>;
|
|
1378
|
+
}
|
|
1379
|
+
|
|
888
1380
|
declare class MonkeyIconButtonComponent {
|
|
889
1381
|
type: 'primary' | 'secondary' | 'tertiary';
|
|
890
1382
|
size: 'sm' | 'md' | 'lg';
|
|
@@ -2171,35 +2663,6 @@ declare class MonkeyTabsModule {
|
|
|
2171
2663
|
static ɵinj: i0.ɵɵInjectorDeclaration<MonkeyTabsModule>;
|
|
2172
2664
|
}
|
|
2173
2665
|
|
|
2174
|
-
/** ************************
|
|
2175
|
-
* Copyright Monkey Exchange. All Rights Reserved
|
|
2176
|
-
* This style guide was developed by Monkey Exchange Team
|
|
2177
|
-
* MIT Licence
|
|
2178
|
-
************************* */
|
|
2179
|
-
|
|
2180
|
-
declare class MonkeyToastComponent {
|
|
2181
|
-
private host;
|
|
2182
|
-
message: string | undefined;
|
|
2183
|
-
icon: string | undefined;
|
|
2184
|
-
type: MonkeyToastType;
|
|
2185
|
-
isClosable: boolean;
|
|
2186
|
-
actionLabel: string | undefined;
|
|
2187
|
-
actionIcon: string | undefined;
|
|
2188
|
-
onActionClick: EventEmitter<string>;
|
|
2189
|
-
onClose: EventEmitter<string>;
|
|
2190
|
-
protected _uid: string;
|
|
2191
|
-
protected _id: string;
|
|
2192
|
-
get id(): string;
|
|
2193
|
-
set id(value: string);
|
|
2194
|
-
get class(): string;
|
|
2195
|
-
constructor(host: ElementRef<HTMLElement>);
|
|
2196
|
-
close(): void;
|
|
2197
|
-
onAnimationEnd(event: AnimationEvent): void;
|
|
2198
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MonkeyToastComponent, never>;
|
|
2199
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MonkeyToastComponent, "monkey-toast", never, { "message": { "alias": "message"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "type": { "alias": "type"; "required": false; }; "isClosable": { "alias": "isClosable"; "required": false; }; "actionLabel": { "alias": "actionLabel"; "required": false; }; "actionIcon": { "alias": "actionIcon"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, { "onActionClick": "onActionClick"; "onClose": "onClose"; }, never, never, true, never>;
|
|
2200
|
-
static ngAcceptInputType_isClosable: unknown;
|
|
2201
|
-
}
|
|
2202
|
-
|
|
2203
2666
|
declare class MonkeyToggleComponent {
|
|
2204
2667
|
disabled: boolean;
|
|
2205
2668
|
size: 'lg' | 'md' | 'sm';
|
|
@@ -2564,5 +3027,5 @@ declare const MECX_COUNTRY_ISO_CODE: InjectionToken<string>;
|
|
|
2564
3027
|
declare const MECX_GOOGLE_API_KEY: InjectionToken<string>;
|
|
2565
3028
|
declare function injectTokenWithWarning<T>(token: InjectionToken<T>, name?: string): T | null;
|
|
2566
3029
|
|
|
2567
|
-
export { MECX_COUNTRY_ISO_CODE, MECX_GOOGLE_API_KEY, MECX_I18N_WRAPPER, MECX_MODAL_DATA, MECX_MODAL_DEFAULT_CONFIG, MECX_POPOVER_OPTIONS, MonkeyAccordionComponent, MonkeyActionBarComponent, MonkeyAlertComponent, MonkeyAutocompleteAddressComponent, MonkeyAutocompleteComponent, MonkeyAvatarComponent, MonkeyBadgeComponent, MonkeyBadgeDirective, MonkeyBreadcrumbComponent, MonkeyButtonComponent, MonkeyCheckboxComponent, MonkeyComplexFilterBarComponent, MonkeyDateRangeComponent, MonkeyDictionaryService, MonkeyDisplayDirective, MonkeyDividerComponent, MonkeyDownloadButtonComponent, MonkeyEcxAddressService, MonkeyErrorDirective, MonkeyFilterBarComponent, MonkeyFilterBarService, MonkeyFormDirective, MonkeyFormFieldComponent, MonkeyFormFieldControl, MonkeyFormFieldModule, MonkeyHelperDirective, MonkeyIconButtonComponent, MonkeyInfoDirective, MonkeyInputCodeComponent, MonkeyInputCurrencyDirective, MonkeyInputDateRangeComponent, MonkeyInputDirective, MonkeyInputModule, MonkeyInputPhoneComponent, MonkeyInputUploadComponent, MonkeyLabelDirective, MonkeyModalActionsDirective, MonkeyModalComponent, MonkeyModalConfig, MonkeyModalContentDirective, MonkeyModalModule, MonkeyModalRef, MonkeyModalService, MonkeyModalSubtitleDirective, MonkeyModalTitleDirective, MonkeyOptionComponent, MonkeyPaginationActionComponent, MonkeyPaginationLabelComponent, MonkeyPaginationSizeComponent, MonkeyPassNumberComponent, MonkeyPassSecretNumberComponent, MonkeyPopoverContentComponent, MonkeyPopoverDirective, MonkeyPrefixDirective, MonkeyRadioButtonComponent, MonkeyScrollbarComponent, MonkeySecurityLevelComponent, MonkeySelectComponent, MonkeyStatusComponent, MonkeyStepComponent, MonkeyStepperComponent, MonkeyStepperModule, MonkeyStepperService, MonkeySuffixDirective, MonkeyTabComponent, MonkeyTabLinkDirective, MonkeyTableCellDirective, MonkeyTableColumnDirective, MonkeyTableComponent, MonkeyTableEmptyDirective, MonkeyTableHeaderCellDirective, MonkeyTableLoadingDirective, MonkeyTableRowDetailDirective, MonkeyTabsComponent, MonkeyTabsModule, MonkeyToastComponent, MonkeyToastRef, MonkeyToastService, MonkeyToggleComponent, MonkeyToggleLineButtonComponent, MonkeyToggleLineComponent, MonkeyTooltipComponent, MonkeyTooltipDirective, MonkeyUserProfileButtonComponent, MonkeyUserProfileComponent, addKeys, ariaSortOf, getCurrencySymbol, indexAtOffset, injectTokenWithWarning, interpolate, mergeOrder, offsetOfIndex, removeKeys, sameColumnState, selectionState, sortByOrder, toPx, toggleKey, totalHeight };
|
|
2568
|
-
export type { ActiveFilter, AutocompleteSuggestion, AutocompleteSuggestionType, ColumnAlign, ColumnPinned, ComplexFilterCondition, ComplexFilterGroup, ComplexFilterOperator, ComplexFilterResult, FilterBarConfig, FilterBarState, FilterOption, FilterType, GoogleApiPlaces, GoogleApiPlacesAddressComponents, GoogleApiPlacesResponse, MonkeyAlertType, MonkeyAutocompleteData, MonkeyAutocompleteResponse, MonkeyBreadcrumb, MonkeyButtonColor, MonkeyButtonType, MonkeyDownloadButtonChangeEvent, MonkeyInputUploadChangeEvent, MonkeyModalConfirmationConfig, MonkeyModalDefaultConfig, MonkeyPopoverDir, MonkeyPopoverOptions, MonkeyScrollbarOrientation, MonkeyScrollbarSize, MonkeySize, MonkeyTableCellContext, MonkeyTableColumnState, MonkeyTableScrollConfig, MonkeyTableSortKind, MonkeyToastPosition, MonkeyToastType, RowMetrics, SelectionState, SortDirection, SortState, StatusOption, ToastConfig };
|
|
3030
|
+
export { MECX_COUNTRY_ISO_CODE, MECX_GOOGLE_API_KEY, MECX_I18N_WRAPPER, MECX_MODAL_DATA, MECX_MODAL_DEFAULT_CONFIG, MECX_POPOVER_OPTIONS, MonkeyAccordionComponent, MonkeyActionBarComponent, MonkeyAlertComponent, MonkeyAutocompleteAddressComponent, MonkeyAutocompleteComponent, MonkeyAvatarComponent, MonkeyBadgeComponent, MonkeyBadgeDirective, MonkeyBreadcrumbComponent, MonkeyButtonComponent, MonkeyCheckboxComponent, MonkeyComplexFilterBarComponent, MonkeyDateRangeComponent, MonkeyDictionaryService, MonkeyDisplayDirective, MonkeyDividerComponent, MonkeyDownloadButtonComponent, MonkeyEcxAddressService, MonkeyErrorDirective, MonkeyFilterBarComponent, MonkeyFilterBarService, MonkeyFilterBarV2Component, MonkeyFilterChipComponent, MonkeyFilterMenuComponent, MonkeyFilterMenuItemComponent, MonkeyFilterSegmentComponent, MonkeyFilterTriggerComponent, MonkeyFormDirective, MonkeyFormFieldComponent, MonkeyFormFieldControl, MonkeyFormFieldModule, MonkeyHelperDirective, MonkeyIconButtonComponent, MonkeyInfoDirective, MonkeyInputCodeComponent, MonkeyInputCurrencyDirective, MonkeyInputDateRangeComponent, MonkeyInputDirective, MonkeyInputModule, MonkeyInputPhoneComponent, MonkeyInputUploadComponent, MonkeyLabelDirective, MonkeyModalActionsDirective, MonkeyModalComponent, MonkeyModalConfig, MonkeyModalContentDirective, MonkeyModalModule, MonkeyModalRef, MonkeyModalService, MonkeyModalSubtitleDirective, MonkeyModalTitleDirective, MonkeyOptionComponent, MonkeyPaginationActionComponent, MonkeyPaginationLabelComponent, MonkeyPaginationSizeComponent, MonkeyPassNumberComponent, MonkeyPassSecretNumberComponent, MonkeyPopoverContentComponent, MonkeyPopoverDirective, MonkeyPrefixDirective, MonkeyRadioButtonComponent, MonkeyScrollbarComponent, MonkeySecurityLevelComponent, MonkeySelectComponent, MonkeyStatusComponent, MonkeyStepComponent, MonkeyStepperComponent, MonkeyStepperModule, MonkeyStepperService, MonkeySuffixDirective, MonkeyTabComponent, MonkeyTabLinkDirective, MonkeyTableCellDirective, MonkeyTableColumnDirective, MonkeyTableComponent, MonkeyTableEmptyDirective, MonkeyTableHeaderCellDirective, MonkeyTableLoadingDirective, MonkeyTableRowDetailDirective, MonkeyTabsComponent, MonkeyTabsModule, MonkeyToastComponent, MonkeyToastRef, MonkeyToastService, MonkeyToggleComponent, MonkeyToggleLineButtonComponent, MonkeyToggleLineComponent, MonkeyTooltipComponent, MonkeyTooltipDirective, MonkeyUserProfileButtonComponent, MonkeyUserProfileComponent, addKeys, ariaSortOf, getCurrencySymbol, indexAtOffset, injectTokenWithWarning, interpolate, mergeOrder, offsetOfIndex, removeKeys, sameColumnState, selectionState, sortByOrder, toPx, toggleKey, totalHeight };
|
|
3031
|
+
export type { ActiveFilter, AutocompleteSuggestion, AutocompleteSuggestionType, ColumnAlign, ColumnPinned, ComplexFilterCondition, ComplexFilterGroup, ComplexFilterOperator, ComplexFilterResult, FilterBarConfig, FilterBarState, FilterOption, FilterType, GoogleApiPlaces, GoogleApiPlacesAddressComponents, GoogleApiPlacesResponse, MonkeyAlertType, MonkeyAutocompleteData, MonkeyAutocompleteResponse, MonkeyBreadcrumb, MonkeyButtonColor, MonkeyButtonType, MonkeyDownloadButtonChangeEvent, MonkeyFilterBarV2Row, MonkeyFilterMenuItemProperty, MonkeyFilterTriggerVariant, MonkeyInputUploadChangeEvent, MonkeyModalConfirmationConfig, MonkeyModalDefaultConfig, MonkeyPopoverDir, MonkeyPopoverOptions, MonkeyScrollbarOrientation, MonkeyScrollbarSize, MonkeySize, MonkeyTableCellContext, MonkeyTableColumnState, MonkeyTableScrollConfig, MonkeyTableSortKind, MonkeyToastPosition, MonkeyToastType, RowMetrics, SelectionState, SortDirection, SortState, StatusOption, ToastConfig };
|
|
Binary file
|