monkey-style-guide 21.2.11 → 21.2.13

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.
@@ -343,7 +343,7 @@ declare class MonkeyAutocompleteComponent implements MonkeyFormFieldControl, Con
343
343
  focused: boolean;
344
344
  readonly type: string;
345
345
  readonly stateChanges: Subject<void>;
346
- protected _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>;
346
+ protected _elementRef: ElementRef<HTMLTextAreaElement | HTMLInputElement | HTMLSelectElement>;
347
347
  _onChange: any;
348
348
  _onTouched: any;
349
349
  get elementTarget(): any;
@@ -405,7 +405,7 @@ declare class MonkeyAutocompleteAddressComponent implements MonkeyFormFieldContr
405
405
  focused: boolean;
406
406
  readonly type: string;
407
407
  readonly stateChanges: Subject<void>;
408
- protected _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>;
408
+ protected _elementRef: ElementRef<HTMLTextAreaElement | HTMLInputElement | HTMLSelectElement>;
409
409
  _onChange: any;
410
410
  _onTouched: any;
411
411
  private readonly _addressService;
@@ -783,67 +783,6 @@ declare class MonkeyComplexFilterBarComponent implements OnInit, OnChanges, Afte
783
783
  static ɵcmp: i0.ɵɵComponentDeclaration<MonkeyComplexFilterBarComponent, "monkey-complex-filter-bar", never, { "key": { "alias": "key"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "complexFilterChange": "complexFilterChange"; }, never, ["*"], true, never>;
784
784
  }
785
785
 
786
- declare class MonkeyFilterBarComponent implements OnInit, OnChanges, OnDestroy {
787
- protected _elementRef: ElementRef<any>;
788
- private _service;
789
- key: i0.InputSignal<string>;
790
- config: i0.InputSignal<FilterBarConfig | undefined>;
791
- filtersChange: EventEmitter<{
792
- search?: string;
793
- filters: ActiveFilter[];
794
- }>;
795
- searchChange: EventEmitter<string>;
796
- showFilterMenu: boolean;
797
- showDateSubmenu: boolean;
798
- showFilterInput: boolean;
799
- filterMenuTarget: HTMLElement | null;
800
- dateSubmenuTarget: HTMLElement | null;
801
- filterInputTarget: HTMLElement | null;
802
- isEditingFilter: boolean;
803
- activeOption: i0.WritableSignal<FilterOption | null>;
804
- textValue: string;
805
- currencyValue: number | null;
806
- currencyMode: 'from' | 'until';
807
- statusValues: string[];
808
- dateRange: {
809
- startDate: string;
810
- endDate: string;
811
- };
812
- showCustomDate: boolean;
813
- serviceConfig: i0.Signal<FilterBarConfig | undefined>;
814
- activeFilters: i0.Signal<ActiveFilter[]>;
815
- searchValue: i0.Signal<string>;
816
- searchPlaceholder: i0.Signal<string>;
817
- constructor();
818
- ngOnInit(): void;
819
- ngOnChanges(changes: SimpleChanges): void;
820
- ngOnDestroy(): void;
821
- availableFilterOptions(): FilterOption[];
822
- isFilterActive(filterKey: string): boolean;
823
- getOptionId(optionKey: string): string;
824
- getActiveFilterId(filterKey: string): string;
825
- onShowFilterMenu(btn: MonkeyButtonComponent): void;
826
- onSelectOption(option: FilterOption): void;
827
- onQuickDate(preset: string): void;
828
- onDateChange(event: {
829
- startDate: string;
830
- endDate: string;
831
- }): void;
832
- onStatusChange(val: string, checked: boolean): void;
833
- onApply(): void;
834
- onEditFilter(filter: ActiveFilter): void;
835
- onRemoveFilter(filterKey: string, event: Event): void;
836
- onClearAll(): void;
837
- onSearchChange(value: string): void;
838
- closeFilterMenu: () => void;
839
- closeDateSubmenu: () => void;
840
- closeFilterInput: () => void;
841
- private _resetInputState;
842
- private _emit;
843
- static ɵfac: i0.ɵɵFactoryDeclaration<MonkeyFilterBarComponent, never>;
844
- static ɵcmp: i0.ɵɵComponentDeclaration<MonkeyFilterBarComponent, "monkey-filter-bar", never, { "key": { "alias": "key"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "filtersChange": "filtersChange"; "searchChange": "searchChange"; }, never, ["*"], true, never>;
845
- }
846
-
847
786
  interface FilterBarState {
848
787
  search: string;
849
788
  filters: ActiveFilter[];
@@ -919,462 +858,272 @@ declare class MonkeyFilterBarService {
919
858
  * This style guide was developed by Monkey Exchange Team
920
859
  * MIT Licence
921
860
  ************************* */
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';
861
+ type MonkeyFilterBarType = 'text' | 'date' | 'currency' | 'status';
862
+ interface MonkeyFilterBarStatusOption {
863
+ readonly value: string;
864
+ readonly description: string;
938
865
  }
939
- /** One slot of the row: an active filter, or the one being built. */
940
- interface MonkeyFilterBarV2Row {
866
+ interface MonkeyFilterBarOption {
941
867
  readonly key: string;
942
868
  readonly label: string;
943
869
  readonly icon?: string;
944
- readonly type: FilterType;
945
- /** What the value segment shows. Empty while the answer is pending. */
870
+ readonly type: MonkeyFilterBarType;
871
+ readonly placeholder?: string;
872
+ readonly minDate?: Date | string;
873
+ readonly maxDate?: Date | string;
874
+ readonly currency?: string;
875
+ readonly statusOptions?: readonly MonkeyFilterBarStatusOption[];
876
+ }
877
+ interface MonkeyFilterBarConfig {
878
+ readonly filterOptions: readonly MonkeyFilterBarOption[];
879
+ }
880
+ type MonkeyFilterOperator = 'EQ' | 'NEQ' | 'LIKE' | 'NOT_LIKE' | 'STARTS_WITH' | 'ENDS_WITH' | 'IS_EMPTY' | 'BETWEEN' | 'GT' | 'LT' | 'BEFORE' | 'AFTER';
881
+ type MonkeyFilterCondition = MonkeyFilterOperator | '';
882
+ type MonkeyFilterArity = 0 | 1 | 2;
883
+ type MonkeyFilterPanel = 'none' | 'status' | 'field' | 'date-day' | 'date-range';
884
+ type MonkeyFilterOperand = {
885
+ readonly kind: 'text';
946
886
  readonly value: string;
947
- /** True while the filter is being built and is not in the service yet. */
948
- readonly pending: boolean;
887
+ } | {
888
+ readonly kind: 'number';
889
+ readonly value: number;
890
+ } | {
891
+ readonly kind: 'date';
892
+ readonly value: string;
893
+ } | {
894
+ readonly kind: 'selection';
895
+ readonly values: readonly string[];
896
+ };
897
+ interface MonkeyAppliedFilter {
898
+ readonly key: string;
899
+ readonly label: string;
900
+ readonly type: MonkeyFilterBarType;
901
+ readonly condition: MonkeyFilterOperator;
902
+ readonly operands: readonly MonkeyFilterOperand[];
949
903
  }
950
- declare class MonkeyFilterBarV2Component {
951
- private readonly _service;
904
+ interface MonkeyFilterRow {
905
+ readonly key: string;
906
+ readonly label: string;
907
+ readonly icon?: string;
908
+ readonly type: MonkeyFilterBarType;
909
+ readonly condition: MonkeyFilterCondition;
910
+ readonly operands: readonly MonkeyFilterOperand[];
911
+ }
912
+ declare function conditionsOf(type: MonkeyFilterBarType): readonly MonkeyFilterOperator[];
913
+ declare function arityOf(condition: MonkeyFilterCondition): MonkeyFilterArity;
914
+ declare function panelOf(type: MonkeyFilterBarType, condition: MonkeyFilterCondition): MonkeyFilterPanel;
915
+ declare function isComplete(row: MonkeyFilterRow): boolean;
916
+ declare function appliedFrom(rows: readonly MonkeyFilterRow[]): MonkeyAppliedFilter[];
917
+ declare function withCondition(row: MonkeyFilterRow, condition: MonkeyFilterOperator): MonkeyFilterRow;
918
+ declare function withType(row: MonkeyFilterRow, next: {
919
+ key: string;
920
+ label: string;
921
+ icon?: string;
922
+ type: MonkeyFilterBarType;
923
+ }): MonkeyFilterRow;
924
+
925
+ /** ************************
926
+ * Copyright Monkey Exchange. All Rights Reserved
927
+ * This style guide was developed by Monkey Exchange Team
928
+ * MIT Licence
929
+ ************************* */
930
+ declare function appPainted(): boolean;
931
+
932
+ interface OpenPanel {
933
+ readonly key: string;
934
+ readonly part: 'category' | 'condition' | 'value';
935
+ }
936
+ declare class MonkeyFilterBarComponent {
952
937
  private readonly _hostEl;
953
938
  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. */
939
+ private readonly _text;
940
+ private _commitTimer;
941
+ private readonly _reported;
942
+ readonly config: i0.InputSignal<MonkeyFilterBarConfig | undefined>;
943
+ readonly filters: i0.InputSignal<readonly MonkeyAppliedFilter[]>;
944
+ readonly onFiltersChange: i0.OutputEmitterRef<readonly MonkeyAppliedFilter[]>;
945
+ readonly dateFormat: i0.InputSignal<string>;
946
+ readonly disabled: i0.InputSignalWithTransform<boolean, unknown>;
947
+ readonly debounce: i0.InputSignal<number>;
966
948
  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>;
949
+ protected readonly rows: i0.WritableSignal<readonly MonkeyFilterRow[]>;
977
950
  protected readonly openPanel: i0.WritableSignal<OpenPanel | null>;
978
951
  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
952
  protected readonly calendarOpen: i0.WritableSignal<string | null>;
988
- /** Search of the category panel. */
989
953
  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
954
  protected readonly immediateTriggerExit: i0.WritableSignal<boolean>;
996
955
  protected textValue: string;
956
+ protected textValue2: string;
997
957
  protected currencyValue: number | null;
998
- protected currencyMode: 'from' | 'until';
958
+ protected currencyValue2: number | null;
999
959
  protected statusValues: string[];
1000
960
  protected dateRange: {
1001
961
  startDate: string;
1002
962
  endDate: string;
1003
963
  };
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<"icon" | "text">;
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
- */
964
+ protected dayValue: string;
965
+ protected readonly options: i0.Signal<readonly MonkeyFilterBarOption[]>;
966
+ protected readonly labels: i0.Signal<{
967
+ add: string;
968
+ addAria: string;
969
+ clear: string;
970
+ search: string;
971
+ selectCondition: string;
972
+ select: string;
973
+ confirm: string;
974
+ rangeFrom: string;
975
+ rangeTo: string;
976
+ remove: string;
977
+ }>;
978
+ protected readonly dateShortcuts: i0.Signal<{
979
+ key: string;
980
+ label: string;
981
+ }[]>;
982
+ protected readonly addOptions: i0.Signal<MonkeyFilterBarOption[]>;
983
+ protected readonly canAddFilter: i0.Signal<boolean>;
984
+ protected readonly changeOptions: i0.Signal<MonkeyFilterBarOption[]>;
985
+ protected readonly triggerVariant: i0.Signal<"text" | "icon">;
1040
986
  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
987
  protected readonly triggerFlipId: i0.Signal<"trigger-text" | "trigger-icon">;
1051
988
  constructor();
989
+ private askForAnswer;
990
+ private seedDraft;
991
+ private readDraft;
992
+ private money;
993
+ private showDate;
994
+ private open;
995
+ private closePanel;
996
+ private optionFor;
997
+ private matchingSearch;
998
+ private resetDraft;
999
+ private sameAsRows;
1000
+ private commit;
1001
+ private publish;
1002
+ private cancelCommit;
1003
+ private releaseFromFlow;
1004
+ private followEnd;
1005
+ private lastMovingSlot;
1006
+ private withFlip;
1007
+ protected operatorLabel(operator: MonkeyFilterCondition): string;
1052
1008
  protected isOpen(rowKey: string, part: OpenPanel['part']): boolean;
1053
1009
  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
- */
1010
+ protected needsDivider(options: readonly MonkeyFilterBarOption[], index: number): boolean;
1011
+ protected conditionsFor(row: MonkeyFilterRow): readonly MonkeyFilterOperator[];
1012
+ protected panelFor(row: MonkeyFilterRow): MonkeyFilterPanel;
1013
+ protected hasValueSegment(row: MonkeyFilterRow): boolean;
1014
+ protected isRange(row: MonkeyFilterRow): boolean;
1015
+ protected displayOf(row: MonkeyFilterRow): string;
1016
+ protected valuePlaceholder(row: MonkeyFilterRow): string;
1017
+ protected statusOptionsOf(row: MonkeyFilterRow): readonly monkey_style_guide.MonkeyFilterBarStatusOption[];
1018
+ protected minDateOf(row: MonkeyFilterRow): Date | string;
1019
+ protected maxDateOf(row: MonkeyFilterRow): Date | string;
1064
1020
  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
- */
1021
+ protected onChangeCategory(row: MonkeyFilterRow, index: number): void;
1022
+ protected onSelectCondition(row: MonkeyFilterRow, condition: MonkeyFilterOperator): void;
1077
1023
  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: {
1024
+ protected onCategoryOpenChange(row: MonkeyFilterRow, open: boolean): void;
1025
+ protected onConditionOpenChange(row: MonkeyFilterRow, open: boolean): void;
1026
+ protected onValueOpenChange(row: MonkeyFilterRow, open: boolean): void;
1027
+ protected onQuickDate(row: MonkeyFilterRow, key: string): void;
1028
+ protected onDateChange(row: MonkeyFilterRow, event: {
1087
1029
  startDate: string;
1088
1030
  endDate: string;
1089
1031
  }): void;
1090
- /** Cancel inside the calendar goes back to the shortcuts, panel still open. */
1091
1032
  protected onBackToShortcuts(): void;
1092
- protected onStatusChange(value: string, checked: boolean): void;
1093
1033
  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. */
1034
+ protected onApply(row: MonkeyFilterRow): void;
1035
+ protected onRemove(row: MonkeyFilterRow): void;
1102
1036
  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>;
1037
+ static ɵfac: i0.ɵɵFactoryDeclaration<MonkeyFilterBarComponent, never>;
1038
+ static ɵcmp: i0.ɵɵComponentDeclaration<MonkeyFilterBarComponent, "monkey-filter-bar", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "debounce": { "alias": "debounce"; "required": false; "isSignal": true; }; }, { "onFiltersChange": "onFiltersChange"; }, never, ["*"], true, never>;
1180
1039
  }
1181
1040
 
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
1041
  declare class MonkeyFilterChipComponent {
1202
- /** Icon font name of the remove action, without the `mk-i-` prefix. */
1203
1042
  readonly removeIcon: i0.InputSignal<string>;
1204
1043
  readonly removeLabel: i0.InputSignal<string>;
1205
- readonly remove: i0.OutputEmitterRef<void>;
1044
+ readonly disabled: i0.InputSignalWithTransform<boolean, unknown>;
1045
+ readonly onRemove: i0.OutputEmitterRef<void>;
1206
1046
  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>;
1047
+ static ɵcmp: i0.ɵɵComponentDeclaration<MonkeyFilterChipComponent, "monkey-filter-chip", never, { "removeIcon": { "alias": "removeIcon"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "onRemove": "onRemove"; }, never, ["*"], true, never>;
1208
1048
  }
1209
1049
 
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
1050
  declare class MonkeyFilterMenuComponent implements OnDestroy {
1051
+ private readonly _zone;
1052
+ private readonly _items;
1053
+ private readonly _overflowing;
1054
+ private _observer?;
1223
1055
  readonly showSearch: i0.InputSignalWithTransform<boolean, unknown>;
1224
1056
  readonly searchPlaceholder: i0.InputSignal<string>;
1225
- /** Lets the row list scroll instead of growing past the viewport. */
1226
1057
  readonly showScroll: i0.InputSignalWithTransform<boolean, unknown>;
1227
- /** Ceiling of the scrolling list, in px. */
1228
1058
  readonly maxHeight: i0.InputSignal<number>;
1229
- readonly searchChange: i0.OutputEmitterRef<string>;
1059
+ readonly onSearchChange: i0.OutputEmitterRef<string>;
1230
1060
  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
1061
  protected readonly scrolling: i0.Signal<boolean>;
1242
- private _observer?;
1243
1062
  constructor();
1063
+ private disconnect;
1244
1064
  ngOnDestroy(): void;
1245
1065
  protected onSearchInput(value: string): void;
1246
- private _disconnect;
1247
1066
  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>;
1067
+ 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; }; }, { "onSearchChange": "onSearchChange"; }, never, ["*"], true, never>;
1249
1068
  }
1250
1069
 
1251
- /** `text` is a plain row; `checkbox` puts a box in front of the label. */
1252
1070
  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
1071
  declare class MonkeyFilterMenuItemComponent {
1262
1072
  readonly property: i0.InputSignal<MonkeyFilterMenuItemProperty>;
1263
- /** Icon font name, without the `mk-i-` prefix. */
1264
1073
  readonly leadIcon: i0.InputSignal<string | null>;
1265
1074
  readonly label: i0.InputSignal<string>;
1266
- /** Secondary line under the label — a document number, a key. */
1267
1075
  readonly description: i0.InputSignal<string | null>;
1268
1076
  readonly checked: i0.InputSignalWithTransform<boolean, unknown>;
1269
- /** Already answered elsewhere: the row shows a check and stops responding. */
1270
1077
  readonly selected: i0.InputSignalWithTransform<boolean, unknown>;
1271
1078
  readonly disabled: i0.InputSignalWithTransform<boolean, unknown>;
1272
- readonly itemClick: i0.OutputEmitterRef<void>;
1079
+ readonly onItemClick: i0.OutputEmitterRef<void>;
1273
1080
  protected onClick(): void;
1274
1081
  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>;
1082
+ 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; }; }, { "onItemClick": "onItemClick"; }, never, never, true, never>;
1276
1083
  }
1277
1084
 
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
1085
  declare class MonkeyFilterSegmentComponent {
1296
- /** Category icon — usually only the chip's first segment has one. */
1086
+ private readonly _hostEl;
1087
+ private readonly _menuEl;
1297
1088
  readonly icon: i0.InputSignal<string | null>;
1298
- /** The chosen value. Empty means the segment is still waiting. */
1299
1089
  readonly text: i0.InputSignal<string>;
1300
- /** Waiting text, in the complement colour. */
1301
1090
  readonly placeholder: i0.InputSignal<string>;
1302
- /** A segment with no panel to open. */
1303
1091
  readonly readonlySegment: i0.InputSignalWithTransform<boolean, unknown>;
1304
- readonly open: i0.ModelSignal<boolean>;
1305
- readonly segmentClick: i0.OutputEmitterRef<void>;
1092
+ readonly disabled: i0.InputSignalWithTransform<boolean, unknown>;
1093
+ readonly open: i0.InputSignalWithTransform<boolean, unknown>;
1094
+ readonly onOpenChange: i0.OutputEmitterRef<boolean>;
1095
+ readonly onSegmentClick: i0.OutputEmitterRef<void>;
1306
1096
  readonly filled: i0.Signal<boolean>;
1307
- /** What is shown: the value when there is one, the waiting text when not. */
1308
1097
  readonly label: i0.Signal<string>;
1309
- private readonly _hostEl;
1310
- private readonly _menuEl;
1311
1098
  constructor();
1099
+ private focusButton;
1312
1100
  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
1101
  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
1102
  onEscape(): void;
1326
- /** Closes and returns the focus. Public for whoever needs to close from outside. */
1327
1103
  closeAndFocus(): void;
1328
- private focusButton;
1329
1104
  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>;
1105
+ 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; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "onOpenChange": "onOpenChange"; "onSegmentClick": "onSegmentClick"; }, never, ["*"], true, never>;
1331
1106
  }
1332
1107
 
1333
- /** `text` is the 28px button with a label; `icon` is the 28px square. */
1334
1108
  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
1109
  declare class MonkeyFilterTriggerComponent {
1110
+ private readonly _hostEl;
1111
+ private readonly _menuEl;
1347
1112
  readonly variant: i0.InputSignal<MonkeyFilterTriggerVariant>;
1348
- /** Icon font name, without the `mk-i-` prefix. */
1349
1113
  readonly icon: i0.InputSignal<string>;
1350
1114
  readonly text: i0.InputSignal<string>;
1351
1115
  readonly ariaLabel: i0.InputSignal<string>;
1352
1116
  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
1117
  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
- */
1118
+ readonly open: i0.InputSignalWithTransform<boolean, unknown>;
1119
+ readonly onOpenChange: i0.OutputEmitterRef<boolean>;
1369
1120
  readonly ariaLabelAttr: i0.Signal<string | null>;
1370
- private readonly _hostEl;
1371
- private readonly _menuEl;
1372
1121
  constructor();
1373
1122
  toggle(): void;
1374
1123
  onDocumentPointerdown(event: PointerEvent): void;
1375
1124
  onEscape(): void;
1376
1125
  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>;
1126
+ 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; }; }, { "onOpenChange": "onOpenChange"; }, never, ["*"], true, never>;
1378
1127
  }
1379
1128
 
1380
1129
  declare class MonkeyIconButtonComponent {
@@ -1404,7 +1153,7 @@ declare class MonkeyInputCurrencyDirective implements MonkeyFormFieldControl, On
1404
1153
  private el;
1405
1154
  private renderer;
1406
1155
  private currencyPipe;
1407
- protected _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>;
1156
+ protected _elementRef: ElementRef<HTMLTextAreaElement | HTMLInputElement | HTMLSelectElement>;
1408
1157
  protected _uid: string;
1409
1158
  protected _id: string;
1410
1159
  readonly stateChanges: Subject<void>;
@@ -1453,7 +1202,7 @@ declare class MonkeyInputCurrencyDirective implements MonkeyFormFieldControl, On
1453
1202
  ************************* */
1454
1203
 
1455
1204
  declare class MonkeyInputDirective implements MonkeyFormFieldControl, OnChanges, OnDestroy {
1456
- protected _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>;
1205
+ protected _elementRef: ElementRef<HTMLTextAreaElement | HTMLInputElement | HTMLSelectElement>;
1457
1206
  protected _uid: string;
1458
1207
  protected _id: string;
1459
1208
  readonly stateChanges: Subject<void>;
@@ -1567,7 +1316,7 @@ declare class MonkeyInputDateRangeComponent implements MonkeyFormFieldControl, C
1567
1316
  focused: boolean;
1568
1317
  readonly type: string;
1569
1318
  readonly stateChanges: Subject<void>;
1570
- protected _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>;
1319
+ protected _elementRef: ElementRef<HTMLTextAreaElement | HTMLInputElement | HTMLSelectElement>;
1571
1320
  _onChange: any;
1572
1321
  _onTouched: any;
1573
1322
  showPopOver: boolean;
@@ -1984,7 +1733,7 @@ declare class MonkeyRadioButtonComponent implements MonkeyFormFieldControl, Cont
1984
1733
  private _destroyRef;
1985
1734
  private readonly idGenerator;
1986
1735
  ngControl: NgControl | null;
1987
- protected _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>;
1736
+ protected _elementRef: ElementRef<HTMLTextAreaElement | HTMLInputElement | HTMLSelectElement>;
1988
1737
  focused: boolean;
1989
1738
  _disabled: boolean;
1990
1739
  readonly id: string;
@@ -2130,7 +1879,7 @@ declare class MonkeySelectComponent implements MonkeyFormFieldControl, ControlVa
2130
1879
  private _destroyRef;
2131
1880
  private readonly idGenerator;
2132
1881
  ngControl: NgControl | null;
2133
- protected _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>;
1882
+ protected _elementRef: ElementRef<HTMLTextAreaElement | HTMLInputElement | HTMLSelectElement>;
2134
1883
  readonly currency: boolean;
2135
1884
  focused: boolean;
2136
1885
  _disabled: boolean;
@@ -2592,7 +2341,7 @@ declare class MonkeyTabLinkDirective implements OnInit {
2592
2341
  private router;
2593
2342
  disabled: boolean;
2594
2343
  get isDisabled(): boolean;
2595
- get tabIndex(): 0 | -1;
2344
+ get tabIndex(): -1 | 0;
2596
2345
  private destroyRef;
2597
2346
  private el;
2598
2347
  constructor(router: Router);
@@ -3027,5 +2776,5 @@ declare const MECX_COUNTRY_ISO_CODE: InjectionToken<string>;
3027
2776
  declare const MECX_GOOGLE_API_KEY: InjectionToken<string>;
3028
2777
  declare function injectTokenWithWarning<T>(token: InjectionToken<T>, name?: string): T | null;
3029
2778
 
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 };
2779
+ 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, 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, appliedFrom, ariaSortOf, arityOf, conditionsOf, getCurrencySymbol, indexAtOffset, injectTokenWithWarning, interpolate, isComplete, mergeOrder, offsetOfIndex, panelOf, removeKeys, sameColumnState, selectionState, sortByOrder, toPx, toggleKey, totalHeight, withCondition, withType };
2780
+ export type { ActiveFilter, AutocompleteSuggestion, AutocompleteSuggestionType, ColumnAlign, ColumnPinned, ComplexFilterCondition, ComplexFilterGroup, ComplexFilterOperator, ComplexFilterResult, FilterBarConfig, FilterBarState, FilterOption, FilterType, GoogleApiPlaces, GoogleApiPlacesAddressComponents, GoogleApiPlacesResponse, MonkeyAlertType, MonkeyAppliedFilter, MonkeyAutocompleteData, MonkeyAutocompleteResponse, MonkeyBreadcrumb, MonkeyButtonColor, MonkeyButtonType, MonkeyDownloadButtonChangeEvent, MonkeyFilterArity, MonkeyFilterBarConfig, MonkeyFilterBarOption, MonkeyFilterBarStatusOption, MonkeyFilterBarType, MonkeyFilterCondition, MonkeyFilterMenuItemProperty, MonkeyFilterOperand, MonkeyFilterOperator, MonkeyFilterPanel, MonkeyFilterRow, MonkeyFilterTriggerVariant, MonkeyInputUploadChangeEvent, MonkeyModalConfirmationConfig, MonkeyModalDefaultConfig, MonkeyPopoverDir, MonkeyPopoverOptions, MonkeyScrollbarOrientation, MonkeyScrollbarSize, MonkeySize, MonkeyTableCellContext, MonkeyTableColumnState, MonkeyTableScrollConfig, MonkeyTableSortKind, MonkeyToastPosition, MonkeyToastType, RowMetrics, SelectionState, SortDirection, SortState, StatusOption, ToastConfig };