@eagami/ui 5.26.0 → 5.26.1
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/fesm2022/eagami-ui.mjs +54 -54
- package/fesm2022/eagami-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/src/styles/_mixins.scss +16 -10
- package/types/eagami-ui.d.ts +17 -12
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eagami/ui",
|
|
3
|
-
"version": "5.26.
|
|
3
|
+
"version": "5.26.1",
|
|
4
4
|
"description": "Lightweight, accessible, themeable Angular UI component library and icon set built on CSS custom properties",
|
|
5
5
|
"author": "Michal Wiraszka <michal@eagami.com>",
|
|
6
6
|
"license": "MIT",
|
package/src/styles/_mixins.scss
CHANGED
|
@@ -149,10 +149,22 @@ $target-size-min: 24px;
|
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
+
// Hairline rule for a pseudo-element, so it spans its container's inner edges
|
|
153
|
+
// instead of being inset by the content's own padding. `$inset` pulls the rule
|
|
154
|
+
// in from those edges, matching a list that pads its rows.
|
|
155
|
+
@mixin divider-rule($edge: top, $inset: 0) {
|
|
156
|
+
position: absolute;
|
|
157
|
+
#{$edge}: 0;
|
|
158
|
+
inset-inline-end: $inset;
|
|
159
|
+
inset-inline-start: $inset;
|
|
160
|
+
height: var(--border-width-thin);
|
|
161
|
+
background-color: var(--color-divider);
|
|
162
|
+
content: '';
|
|
163
|
+
}
|
|
164
|
+
|
|
152
165
|
// Section wrapper in a grouped select-like option list, and the rule an
|
|
153
|
-
// unlabelled section carries in place of a heading. The rule
|
|
154
|
-
//
|
|
155
|
-
// the option padding, and stays out of the option list entirely.
|
|
166
|
+
// unlabelled section carries in place of a heading. The rule stays out of the
|
|
167
|
+
// option list entirely.
|
|
156
168
|
@mixin option-group {
|
|
157
169
|
position: relative;
|
|
158
170
|
|
|
@@ -161,13 +173,7 @@ $target-size-min: 24px;
|
|
|
161
173
|
margin-top: 0.25em;
|
|
162
174
|
|
|
163
175
|
&::before {
|
|
164
|
-
|
|
165
|
-
top: 0;
|
|
166
|
-
inset-inline-end: 0;
|
|
167
|
-
inset-inline-start: 0;
|
|
168
|
-
height: var(--border-width-thin);
|
|
169
|
-
background-color: var(--color-divider);
|
|
170
|
-
content: '';
|
|
176
|
+
@include divider-rule;
|
|
171
177
|
}
|
|
172
178
|
}
|
|
173
179
|
}
|
package/types/eagami-ui.d.ts
CHANGED
|
@@ -1231,12 +1231,14 @@ interface CommandPaletteItem<T = unknown> {
|
|
|
1231
1231
|
data?: T;
|
|
1232
1232
|
}
|
|
1233
1233
|
|
|
1234
|
+
interface PaletteEntry {
|
|
1235
|
+
item: CommandPaletteItem;
|
|
1236
|
+
flatIndex: number;
|
|
1237
|
+
disabled: boolean;
|
|
1238
|
+
}
|
|
1234
1239
|
interface GroupedItems {
|
|
1235
1240
|
group: string;
|
|
1236
|
-
items:
|
|
1237
|
-
item: CommandPaletteItem;
|
|
1238
|
-
flatIndex: number;
|
|
1239
|
-
}>;
|
|
1241
|
+
items: readonly PaletteEntry[];
|
|
1240
1242
|
}
|
|
1241
1243
|
/**
|
|
1242
1244
|
* `<ea-command-palette>` is a search-driven action launcher: a modal dialog
|
|
@@ -1274,15 +1276,17 @@ declare class CommandPaletteComponent {
|
|
|
1274
1276
|
/**
|
|
1275
1277
|
* Items bucketed by `group`, then flattened back into display order
|
|
1276
1278
|
* (ungrouped items first, then each named group). The matching
|
|
1277
|
-
* `
|
|
1278
|
-
* one-to-one with what the user sees.
|
|
1279
|
+
* `filteredEntries` array follows this same order so `flatIndex` lines up
|
|
1280
|
+
* one-to-one with what the user sees. Each entry resolves its disabled state
|
|
1281
|
+
* once here, so a consumer's `disabledWhen` runs once per match rather than
|
|
1282
|
+
* on every binding read.
|
|
1279
1283
|
*/
|
|
1280
1284
|
protected readonly groupedItems: _angular_core.Signal<GroupedItems[]>;
|
|
1281
1285
|
/**
|
|
1282
1286
|
* Flat list of matches in display order. Drives keyboard navigation and
|
|
1283
1287
|
* `aria-activedescendant`.
|
|
1284
1288
|
*/
|
|
1285
|
-
protected readonly
|
|
1289
|
+
protected readonly filteredEntries: _angular_core.Signal<PaletteEntry[]>;
|
|
1286
1290
|
private readonly _activeIndex;
|
|
1287
1291
|
/**
|
|
1288
1292
|
* Tracks what the user last did so the visual highlight only renders when
|
|
@@ -1297,10 +1301,11 @@ declare class CommandPaletteComponent {
|
|
|
1297
1301
|
*/
|
|
1298
1302
|
private readonly interaction;
|
|
1299
1303
|
protected readonly activeIndex: _angular_core.Signal<number>;
|
|
1300
|
-
protected readonly activeId: _angular_core.Signal<string |
|
|
1304
|
+
protected readonly activeId: _angular_core.Signal<string | undefined>;
|
|
1301
1305
|
constructor();
|
|
1302
1306
|
protected itemDomId(item: CommandPaletteItem): string;
|
|
1303
|
-
|
|
1307
|
+
/** Index of the first enabled entry from `start`, walking in `step`; -1 when none. */
|
|
1308
|
+
private firstEnabled;
|
|
1304
1309
|
protected isActive(flatIndex: number): boolean;
|
|
1305
1310
|
/**
|
|
1306
1311
|
* Whether the active row should render its highlighted background right
|
|
@@ -1316,8 +1321,8 @@ declare class CommandPaletteComponent {
|
|
|
1316
1321
|
/** Home/End move to the first enabled item from the given end. */
|
|
1317
1322
|
private edgeActive;
|
|
1318
1323
|
private setActiveByKeyboard;
|
|
1319
|
-
protected onItemClick(
|
|
1320
|
-
protected onItemMouseEnter(
|
|
1324
|
+
protected onItemClick(entry: PaletteEntry): void;
|
|
1325
|
+
protected onItemMouseEnter(entry: PaletteEntry): void;
|
|
1321
1326
|
protected onListMouseLeave(): void;
|
|
1322
1327
|
protected onBackdropClick(event: MouseEvent): void;
|
|
1323
1328
|
protected onDialogClose(): void;
|
|
@@ -2329,7 +2334,7 @@ declare class InputComponent implements ControlValueAccessor {
|
|
|
2329
2334
|
/** `id` of the popup element the input controls, forwarded as `aria-controls`. */
|
|
2330
2335
|
readonly ariaControls: _angular_core.InputSignal<string | undefined>;
|
|
2331
2336
|
/** `id` of the active option in a controlled popup, forwarded as `aria-activedescendant`. */
|
|
2332
|
-
readonly ariaActivedescendant: _angular_core.InputSignal<string |
|
|
2337
|
+
readonly ariaActivedescendant: _angular_core.InputSignal<string | undefined>;
|
|
2333
2338
|
/** Autocomplete behavior hint, forwarded as `aria-autocomplete`. */
|
|
2334
2339
|
readonly ariaAutocomplete: _angular_core.InputSignal<"none" | "inline" | "list" | "both" | undefined>;
|
|
2335
2340
|
/** Native input type; `password` adds a built-in show/hide toggle. */
|