@elasticias/ui 1.0.13 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/styles/_patterns.scss
CHANGED
|
@@ -888,7 +888,8 @@
|
|
|
888
888
|
than inventing a third kind of icon button. */
|
|
889
889
|
|
|
890
890
|
.ef-theme-toggle,
|
|
891
|
-
.ef-app-top__logout
|
|
891
|
+
.ef-app-top__logout,
|
|
892
|
+
.ef-app-top__action {
|
|
892
893
|
appearance: none;
|
|
893
894
|
background: var(--paper-alt);
|
|
894
895
|
border: 1px solid var(--rule);
|
|
@@ -906,13 +907,15 @@
|
|
|
906
907
|
}
|
|
907
908
|
|
|
908
909
|
.ef-theme-toggle:hover,
|
|
909
|
-
.ef-app-top__logout:hover
|
|
910
|
+
.ef-app-top__logout:hover,
|
|
911
|
+
.ef-app-top__action:hover {
|
|
910
912
|
color: var(--text);
|
|
911
913
|
border-color: var(--ink-400);
|
|
912
914
|
}
|
|
913
915
|
|
|
914
916
|
.ef-theme-toggle:focus-visible,
|
|
915
|
-
.ef-app-top__logout:focus-visible
|
|
917
|
+
.ef-app-top__logout:focus-visible,
|
|
918
|
+
.ef-app-top__action:focus-visible {
|
|
916
919
|
outline: 0;
|
|
917
920
|
border-color: var(--tenant-400);
|
|
918
921
|
box-shadow: 0 0 0 4px var(--tenant-100);
|
|
@@ -920,7 +923,8 @@
|
|
|
920
923
|
}
|
|
921
924
|
|
|
922
925
|
.ef-theme-toggle i,
|
|
923
|
-
.ef-app-top__logout i
|
|
926
|
+
.ef-app-top__logout i,
|
|
927
|
+
.ef-app-top__action i {
|
|
924
928
|
font-size: 14px;
|
|
925
929
|
line-height: 1;
|
|
926
930
|
}
|
package/types/elasticias-ui.d.ts
CHANGED
|
@@ -1079,6 +1079,24 @@ declare class EfTooltipDirective {
|
|
|
1079
1079
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<EfTooltipDirective, "[efTooltip]", never, {}, {}, never, never, true, [{ directive: typeof i1.Tooltip; inputs: { "pTooltip": "efTooltip"; "tooltipPosition": "efTooltipPosition"; "tooltipDisabled": "efTooltipDisabled"; "tooltipStyleClass": "efTooltipStyleClass"; "tooltipEvent": "efTooltipEvent"; "showDelay": "efTooltipShowDelay"; "hideDelay": "efTooltipHideDelay"; "appendTo": "efTooltipAppendTo"; "autoHide": "efTooltipAutoHide"; "escape": "efTooltipEscape"; "life": "efTooltipLife"; }; outputs: {}; }]>;
|
|
1080
1080
|
}
|
|
1081
1081
|
|
|
1082
|
+
/**
|
|
1083
|
+
* The three tiers a shortcut can belong to, outer to inner: a Global
|
|
1084
|
+
* shortcut works anywhere in the app, a Screen shortcut works anywhere on
|
|
1085
|
+
* the current screen, a Row shortcut only while a row's menu is open.
|
|
1086
|
+
* `list()` returns groups in registration order, which is really "whatever
|
|
1087
|
+
* happened to construct first." This fixes the section order so it
|
|
1088
|
+
* always reads outer to inner regardless of what rendered when.
|
|
1089
|
+
*/
|
|
1090
|
+
/** One action and every key bound to it, which is what a reader wants: the
|
|
1091
|
+
* action once, its bindings beside it. */
|
|
1092
|
+
interface ShortcutActionView {
|
|
1093
|
+
labelKey: string;
|
|
1094
|
+
keys: string[];
|
|
1095
|
+
}
|
|
1096
|
+
interface ShortcutGroupView {
|
|
1097
|
+
group: string;
|
|
1098
|
+
actions: ShortcutActionView[];
|
|
1099
|
+
}
|
|
1082
1100
|
/**
|
|
1083
1101
|
* The keyboard-shortcuts reference: every registration currently sitting
|
|
1084
1102
|
* in `EfShortcutService`, grouped and rendered with the same `.kbd` chip
|
|
@@ -1098,10 +1116,16 @@ declare class EfShortcutsDialogComponent {
|
|
|
1098
1116
|
private readonly shortcutService;
|
|
1099
1117
|
/** Two-way open state. */
|
|
1100
1118
|
readonly visible: _angular_core.ModelSignal<boolean>;
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
*
|
|
1104
|
-
|
|
1119
|
+
/** `list()`, reordered Global → Screen → Row, with the bindings for one
|
|
1120
|
+
* action collapsed onto a single row.
|
|
1121
|
+
*
|
|
1122
|
+
* An action can be reachable by more than one key: opening this dialog
|
|
1123
|
+
* answers to both `?` and `mod+/`. Listing registrations verbatim
|
|
1124
|
+
* printed that action's name twice, once per binding, which reads as a
|
|
1125
|
+
* duplicate rather than as a choice. An unrecognised group (a future
|
|
1126
|
+
* tier this component does not know about) sorts last rather than
|
|
1127
|
+
* being dropped. */
|
|
1128
|
+
protected readonly groups: _angular_core.Signal<ShortcutGroupView[]>;
|
|
1105
1129
|
protected readonly closeAction: EfDialogAction[];
|
|
1106
1130
|
protected formatKeys(keys: string): string;
|
|
1107
1131
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfShortcutsDialogComponent, never>;
|
|
@@ -4694,8 +4718,8 @@ declare class EfEmptyStateComponent {
|
|
|
4694
4718
|
/**
|
|
4695
4719
|
* Comptoir smart bar — the search/filter card every list screen
|
|
4696
4720
|
* starts with. Composes:
|
|
4697
|
-
* 1. Search input (with
|
|
4698
|
-
* action buttons.
|
|
4721
|
+
* 1. Search input (with an optional keyboard-shortcut hint chip) +
|
|
4722
|
+
* Effacer / Rechercher action buttons.
|
|
4699
4723
|
* 2. A filter-row slot for `[filters]` (pill-group + filter-pill +
|
|
4700
4724
|
* preset-pill + "+ Plus de filtres").
|
|
4701
4725
|
* 3. A drawer slot for `[drawer]` (advanced filters via
|
|
@@ -4705,6 +4729,12 @@ declare class EfEmptyStateComponent {
|
|
|
4705
4729
|
* for two-way binding, or watch the (search) output for explicit
|
|
4706
4730
|
* Rechercher clicks.
|
|
4707
4731
|
*
|
|
4732
|
+
* `shortcut` defaults to `'mod+k'`: this component registers it with
|
|
4733
|
+
* `EfShortcutService` and focuses the search input when it fires (the
|
|
4734
|
+
* user still has to type and submit; the shortcut only gets them into
|
|
4735
|
+
* the field). Pass `[shortcut]="null"` on a screen with a second smart
|
|
4736
|
+
* bar so only one of them claims the binding.
|
|
4737
|
+
*
|
|
4708
4738
|
* ```html
|
|
4709
4739
|
* <ef-smart-bar
|
|
4710
4740
|
* [(searchText)]="searchQuery"
|
|
@@ -4724,6 +4754,12 @@ declare class EfEmptyStateComponent {
|
|
|
4724
4754
|
* ```
|
|
4725
4755
|
*/
|
|
4726
4756
|
declare class EfSmartBarComponent {
|
|
4757
|
+
private readonly shortcuts;
|
|
4758
|
+
/** Distinguishes this instance's registration from any other
|
|
4759
|
+
* ef-smart-bar on screen, the same convention ef-row-actions uses. */
|
|
4760
|
+
private static nextInstanceId;
|
|
4761
|
+
private readonly instanceId;
|
|
4762
|
+
private readonly searchInput;
|
|
4727
4763
|
/** Two-way bound search input. */
|
|
4728
4764
|
readonly searchText: _angular_core.ModelSignal<string>;
|
|
4729
4765
|
readonly placeholderKey: _angular_core.InputSignal<string>;
|
|
@@ -4735,12 +4771,18 @@ declare class EfSmartBarComponent {
|
|
|
4735
4771
|
readonly hideClear: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4736
4772
|
readonly hideSearch: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4737
4773
|
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4774
|
+
/** Keyboard shortcut that focuses the search input. `null` opts out
|
|
4775
|
+
* (a screen with two smart bars registers the binding on only one
|
|
4776
|
+
* of them). Defaults to `'mod+k'`. */
|
|
4777
|
+
readonly shortcut: _angular_core.InputSignal<string>;
|
|
4778
|
+
protected readonly kbdLabel: _angular_core.Signal<string>;
|
|
4738
4779
|
readonly search: _angular_core.OutputEmitterRef<string>;
|
|
4739
4780
|
readonly clear: _angular_core.OutputEmitterRef<void>;
|
|
4781
|
+
constructor();
|
|
4740
4782
|
onSubmit(): void;
|
|
4741
4783
|
onClear(): void;
|
|
4742
4784
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EfSmartBarComponent, never>;
|
|
4743
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfSmartBarComponent, "ef-smart-bar", never, { "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; "placeholderKey": { "alias": "placeholderKey"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "clearLabelKey": { "alias": "clearLabelKey"; "required": false; "isSignal": true; }; "clearTitleKey": { "alias": "clearTitleKey"; "required": false; "isSignal": true; }; "searchLabelKey": { "alias": "searchLabelKey"; "required": false; "isSignal": true; }; "showKbdHint": { "alias": "showKbdHint"; "required": false; "isSignal": true; }; "hideClear": { "alias": "hideClear"; "required": false; "isSignal": true; }; "hideSearch": { "alias": "hideSearch"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, { "searchText": "searchTextChange"; "search": "search"; "clear": "clear"; }, never, ["[filters]", "[drawer]"], true, never>;
|
|
4785
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EfSmartBarComponent, "ef-smart-bar", never, { "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; "placeholderKey": { "alias": "placeholderKey"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "clearLabelKey": { "alias": "clearLabelKey"; "required": false; "isSignal": true; }; "clearTitleKey": { "alias": "clearTitleKey"; "required": false; "isSignal": true; }; "searchLabelKey": { "alias": "searchLabelKey"; "required": false; "isSignal": true; }; "showKbdHint": { "alias": "showKbdHint"; "required": false; "isSignal": true; }; "hideClear": { "alias": "hideClear"; "required": false; "isSignal": true; }; "hideSearch": { "alias": "hideSearch"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "shortcut": { "alias": "shortcut"; "required": false; "isSignal": true; }; }, { "searchText": "searchTextChange"; "search": "search"; "clear": "clear"; }, never, ["[filters]", "[drawer]"], true, never>;
|
|
4744
4786
|
}
|
|
4745
4787
|
|
|
4746
4788
|
/**
|