@eagami/ui 5.54.0 → 5.55.0
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 +827 -361
- package/fesm2022/eagami-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/eagami-ui.d.ts +593 -360
package/fesm2022/eagami-ui.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
import { CSP_NONCE, ChangeDetectionStrategy, Component, DestroyRef, Directive, ElementRef, HostAttributeToken, HostBinding, HostListener, Injectable, InjectionToken, Injector, PLATFORM_ID, Renderer2, RendererStyleFlags2, TemplateRef, ViewContainerRef, ViewEncapsulation, afterNextRender, afterRenderEffect, computed, contentChild, effect, forwardRef, inject, input, linkedSignal, makeEnvironmentProviders, model, output, provideEnvironmentInitializer, signal, untracked, viewChild, viewChildren } from "@angular/core";
|
|
2
|
+
import { ApplicationRef, CSP_NONCE, ChangeDetectionStrategy, Component, DOCUMENT, DestroyRef, Directive, ElementRef, EnvironmentInjector, HostAttributeToken, HostBinding, HostListener, Injectable, InjectionToken, Injector, PLATFORM_ID, Renderer2, RendererStyleFlags2, TemplateRef, ViewContainerRef, ViewEncapsulation, afterNextRender, afterRenderEffect, computed, contentChild, createComponent, effect, forwardRef, inject, input, linkedSignal, makeEnvironmentProviders, model, output, provideEnvironmentInitializer, signal, untracked, viewChild, viewChildren } from "@angular/core";
|
|
3
3
|
import { NgClass, NgComponentOutlet, NgTemplateOutlet, isPlatformBrowser } from "@angular/common";
|
|
4
4
|
import { NG_VALUE_ACCESSOR, NgControl, TouchedChangeEvent } from "@angular/forms";
|
|
5
5
|
const EAGAMI_I18N_CONFIG = new InjectionToken("EAGAMI_I18N_CONFIG");
|
|
@@ -4769,6 +4769,9 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
4769
4769
|
}],
|
|
4770
4770
|
ctorParameters: () => []
|
|
4771
4771
|
});
|
|
4772
|
+
function isInside(placement) {
|
|
4773
|
+
return placement.startsWith("inside-");
|
|
4774
|
+
}
|
|
4772
4775
|
function isCardinal(placement) {
|
|
4773
4776
|
return placement === "top" || placement === "bottom" || placement === "left" || placement === "right";
|
|
4774
4777
|
}
|
|
@@ -4804,14 +4807,52 @@ function placeRaw(anchor, popover, placement, offset, rtl) {
|
|
|
4804
4807
|
left
|
|
4805
4808
|
};
|
|
4806
4809
|
}
|
|
4810
|
+
function placeInside(anchor, popover, placement, inset, rtl) {
|
|
4811
|
+
const edges = placement.slice(7);
|
|
4812
|
+
let top = anchor.top + (anchor.height - popover.height) / 2;
|
|
4813
|
+
if (edges.startsWith("top")) top = anchor.top + inset;
|
|
4814
|
+
else if (edges.startsWith("bottom")) top = anchor.bottom - popover.height - inset;
|
|
4815
|
+
let left = anchor.left + (anchor.width - popover.width) / 2;
|
|
4816
|
+
if (edges.endsWith("start") || edges.endsWith("end")) left = edges.endsWith("start") !== rtl ? anchor.left + inset : anchor.right - popover.width - inset;
|
|
4817
|
+
return {
|
|
4818
|
+
top,
|
|
4819
|
+
left
|
|
4820
|
+
};
|
|
4821
|
+
}
|
|
4822
|
+
function clampAxis(value, size, extent, margin) {
|
|
4823
|
+
return Math.max(margin, Math.min(value, Math.max(margin, extent - size - margin)));
|
|
4824
|
+
}
|
|
4807
4825
|
function computePopoverPosition(anchorRect, popoverRect, viewport, options) {
|
|
4808
4826
|
const offset = options.offset ?? 4;
|
|
4809
4827
|
const margin = options.margin ?? 8;
|
|
4810
4828
|
const flip = options.flip ?? true;
|
|
4811
4829
|
const clamp = options.clamp ?? true;
|
|
4812
4830
|
const rtl = options.rtl ?? false;
|
|
4813
|
-
|
|
4814
|
-
|
|
4831
|
+
const point = options.point;
|
|
4832
|
+
const anchor = point ? {
|
|
4833
|
+
top: point.y,
|
|
4834
|
+
bottom: point.y,
|
|
4835
|
+
left: point.x,
|
|
4836
|
+
right: point.x,
|
|
4837
|
+
width: 0,
|
|
4838
|
+
height: 0
|
|
4839
|
+
} : anchorRect;
|
|
4840
|
+
const sizing = {
|
|
4841
|
+
anchorWidth: anchorRect.width,
|
|
4842
|
+
...options.matchAnchorWidth ? { width: anchorRect.width } : {}
|
|
4843
|
+
};
|
|
4844
|
+
const requested = options.placement;
|
|
4845
|
+
if (isInside(requested)) {
|
|
4846
|
+
const inside = placeInside(anchor, popoverRect, requested, offset, rtl);
|
|
4847
|
+
return {
|
|
4848
|
+
top: clamp ? clampAxis(inside.top, popoverRect.height, viewport.height, margin) : inside.top,
|
|
4849
|
+
left: clamp ? clampAxis(inside.left, popoverRect.width, viewport.width, margin) : inside.left,
|
|
4850
|
+
placement: requested,
|
|
4851
|
+
...sizing
|
|
4852
|
+
};
|
|
4853
|
+
}
|
|
4854
|
+
let placement = requested;
|
|
4855
|
+
let pos = placeRaw(anchor, popoverRect, placement, offset, rtl);
|
|
4815
4856
|
if (flip) {
|
|
4816
4857
|
const overflowsTop = pos.top < margin;
|
|
4817
4858
|
const overflowsBottom = pos.top + popoverRect.height > viewport.height - margin;
|
|
@@ -4820,7 +4861,7 @@ function computePopoverPosition(anchorRect, popoverRect, viewport, options) {
|
|
|
4820
4861
|
const s = side(placement);
|
|
4821
4862
|
if (s === "top" && overflowsTop || s === "bottom" && overflowsBottom || s === "left" && overflowsLeft || s === "right" && overflowsRight) {
|
|
4822
4863
|
const flipped = flipPlacement(placement);
|
|
4823
|
-
const flippedPos = placeRaw(
|
|
4864
|
+
const flippedPos = placeRaw(anchor, popoverRect, flipped, offset, rtl);
|
|
4824
4865
|
if (s === "top" && flippedPos.top + popoverRect.height <= viewport.height - margin || s === "bottom" && flippedPos.top >= margin || s === "left" && flippedPos.left + popoverRect.width <= viewport.width - margin || s === "right" && flippedPos.left >= margin) {
|
|
4825
4866
|
placement = flipped;
|
|
4826
4867
|
pos = flippedPos;
|
|
@@ -4829,26 +4870,20 @@ function computePopoverPosition(anchorRect, popoverRect, viewport, options) {
|
|
|
4829
4870
|
}
|
|
4830
4871
|
if (clamp) {
|
|
4831
4872
|
const s = side(placement);
|
|
4832
|
-
if (s === "top" || s === "bottom") {
|
|
4833
|
-
|
|
4834
|
-
pos
|
|
4835
|
-
|
|
4836
|
-
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
|
|
4840
|
-
pos = {
|
|
4841
|
-
top: Math.max(margin, Math.min(pos.top, Math.max(margin, maxTop))),
|
|
4842
|
-
left: pos.left
|
|
4843
|
-
};
|
|
4844
|
-
}
|
|
4873
|
+
if (s === "top" || s === "bottom") pos = {
|
|
4874
|
+
top: pos.top,
|
|
4875
|
+
left: clampAxis(pos.left, popoverRect.width, viewport.width, margin)
|
|
4876
|
+
};
|
|
4877
|
+
else pos = {
|
|
4878
|
+
top: clampAxis(pos.top, popoverRect.height, viewport.height, margin),
|
|
4879
|
+
left: pos.left
|
|
4880
|
+
};
|
|
4845
4881
|
}
|
|
4846
4882
|
return {
|
|
4847
4883
|
top: pos.top,
|
|
4848
4884
|
left: pos.left,
|
|
4849
4885
|
placement,
|
|
4850
|
-
|
|
4851
|
-
...options.matchAnchorWidth ? { width: anchorRect.width } : {}
|
|
4886
|
+
...sizing
|
|
4852
4887
|
};
|
|
4853
4888
|
}
|
|
4854
4889
|
const HELP_GAP = 4;
|
|
@@ -5341,6 +5376,7 @@ var PopoverComponent = class PopoverComponent {
|
|
|
5341
5376
|
anchor = input.required(...ngDevMode ? [{ debugName: "anchor" }] : /* istanbul ignore next */ []);
|
|
5342
5377
|
open = input(false, ...ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []);
|
|
5343
5378
|
placement = input("bottom-start", ...ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []);
|
|
5379
|
+
anchorPoint = input(null, ...ngDevMode ? [{ debugName: "anchorPoint" }] : /* istanbul ignore next */ []);
|
|
5344
5380
|
role = input("dialog", ...ngDevMode ? [{ debugName: "role" }] : /* istanbul ignore next */ []);
|
|
5345
5381
|
ariaLabel = input(void 0, {
|
|
5346
5382
|
...ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {},
|
|
@@ -5360,9 +5396,13 @@ var PopoverComponent = class PopoverComponent {
|
|
|
5360
5396
|
closeOnOutsideClick = input(true, ...ngDevMode ? [{ debugName: "closeOnOutsideClick" }] : /* istanbul ignore next */ []);
|
|
5361
5397
|
closeOnEscape = input(true, ...ngDevMode ? [{ debugName: "closeOnEscape" }] : /* istanbul ignore next */ []);
|
|
5362
5398
|
scrollBehavior = input("reposition", ...ngDevMode ? [{ debugName: "scrollBehavior" }] : /* istanbul ignore next */ []);
|
|
5399
|
+
contextMenu = input(false, ...ngDevMode ? [{ debugName: "contextMenu" }] : /* istanbul ignore next */ []);
|
|
5363
5400
|
closeRequested = output();
|
|
5401
|
+
openRequested = output();
|
|
5364
5402
|
position = signal(null, ...ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []);
|
|
5365
5403
|
latched = null;
|
|
5404
|
+
pointOffset = null;
|
|
5405
|
+
focusReturn = null;
|
|
5366
5406
|
effectivePlacement = computed(() => this.position()?.placement ?? this.placement(), ...ngDevMode ? [{ debugName: "effectivePlacement" }] : /* istanbul ignore next */ []);
|
|
5367
5407
|
stable = signal(false, ...ngDevMode ? [{ debugName: "stable" }] : /* istanbul ignore next */ []);
|
|
5368
5408
|
isPositioned = computed(() => this.open() && this.position() !== null && this.stable(), ...ngDevMode ? [{ debugName: "isPositioned" }] : /* istanbul ignore next */ []);
|
|
@@ -5401,10 +5441,12 @@ var PopoverComponent = class PopoverComponent {
|
|
|
5401
5441
|
this.position.set(null);
|
|
5402
5442
|
this.stable.set(false);
|
|
5403
5443
|
this.latched = null;
|
|
5444
|
+
this.pointOffset = null;
|
|
5404
5445
|
return;
|
|
5405
5446
|
}
|
|
5406
5447
|
enterTopLayer(surface, anchor);
|
|
5407
5448
|
this.placement();
|
|
5449
|
+
this.anchorPoint();
|
|
5408
5450
|
this.offset();
|
|
5409
5451
|
this.flip();
|
|
5410
5452
|
this.clamp();
|
|
@@ -5448,11 +5490,32 @@ var PopoverComponent = class PopoverComponent {
|
|
|
5448
5490
|
window.removeEventListener("resize", onViewportChange);
|
|
5449
5491
|
});
|
|
5450
5492
|
}
|
|
5493
|
+
if (typeof document !== "undefined") {
|
|
5494
|
+
effect(() => {
|
|
5495
|
+
const isOpen = this.open();
|
|
5496
|
+
const asContextMenu = this.contextMenu();
|
|
5497
|
+
untracked(() => this.trackFocusReturn(isOpen && asContextMenu));
|
|
5498
|
+
});
|
|
5499
|
+
afterRenderEffect(() => {
|
|
5500
|
+
if (this.contextMenu() && this.isPositioned()) untracked(() => this.focusFirstElement());
|
|
5501
|
+
});
|
|
5502
|
+
const onContextMenu = (event) => {
|
|
5503
|
+
if (!this.open() || !this.contextMenu() || !this.closeOnOutsideClick()) return;
|
|
5504
|
+
const target = event.target instanceof Node ? event.target : null;
|
|
5505
|
+
if (target && this.surfaceEl()?.nativeElement.contains(target)) return;
|
|
5506
|
+
this.closeRequested.emit();
|
|
5507
|
+
};
|
|
5508
|
+
document.addEventListener("contextmenu", onContextMenu, true);
|
|
5509
|
+
this.destroyRef.onDestroy(() => document.removeEventListener("contextmenu", onContextMenu, true));
|
|
5510
|
+
}
|
|
5451
5511
|
this.destroyRef.onDestroy(() => {
|
|
5452
5512
|
const surface = this.surfaceEl()?.nativeElement;
|
|
5453
5513
|
surface?.parentNode?.removeChild(surface);
|
|
5454
5514
|
});
|
|
5455
5515
|
}
|
|
5516
|
+
requestOpen(point) {
|
|
5517
|
+
this.openRequested.emit({ point });
|
|
5518
|
+
}
|
|
5456
5519
|
resolveAnchor() {
|
|
5457
5520
|
const a = this.anchor();
|
|
5458
5521
|
if (!a) return null;
|
|
@@ -5476,6 +5539,16 @@ var PopoverComponent = class PopoverComponent {
|
|
|
5476
5539
|
}
|
|
5477
5540
|
const anchorRect = anchor.getBoundingClientRect();
|
|
5478
5541
|
const surfaceRect = surface.getBoundingClientRect();
|
|
5542
|
+
const point = this.anchorPoint();
|
|
5543
|
+
if (point && this.pointOffset?.point !== point) {
|
|
5544
|
+
this.pointOffset = {
|
|
5545
|
+
point,
|
|
5546
|
+
x: point.x - anchorRect.left,
|
|
5547
|
+
y: point.y - anchorRect.top
|
|
5548
|
+
};
|
|
5549
|
+
this.latched = null;
|
|
5550
|
+
}
|
|
5551
|
+
const tracked = point ? this.pointOffset : null;
|
|
5479
5552
|
const requested = this.placement();
|
|
5480
5553
|
const placement = untracked(this.stable) && this.latched?.requested === requested ? this.latched.resolved : requested;
|
|
5481
5554
|
const result = computePopoverPosition(anchorRect, {
|
|
@@ -5490,7 +5563,11 @@ var PopoverComponent = class PopoverComponent {
|
|
|
5490
5563
|
flip: this.flip(),
|
|
5491
5564
|
clamp: this.clamp(),
|
|
5492
5565
|
matchAnchorWidth: this.matchAnchorWidth(),
|
|
5493
|
-
rtl: isRtl(anchor)
|
|
5566
|
+
rtl: isRtl(anchor),
|
|
5567
|
+
point: tracked ? {
|
|
5568
|
+
x: anchorRect.left + tracked.x,
|
|
5569
|
+
y: anchorRect.top + tracked.y
|
|
5570
|
+
} : null
|
|
5494
5571
|
});
|
|
5495
5572
|
this.latched = {
|
|
5496
5573
|
requested,
|
|
@@ -5502,7 +5579,7 @@ var PopoverComponent = class PopoverComponent {
|
|
|
5502
5579
|
if (!this.open() || !this.closeOnOutsideClick()) return;
|
|
5503
5580
|
const target = event.target;
|
|
5504
5581
|
if (!target) return;
|
|
5505
|
-
const anchor = this.resolveAnchor();
|
|
5582
|
+
const anchor = this.contextMenu() ? null : this.resolveAnchor();
|
|
5506
5583
|
const surface = this.surfaceEl()?.nativeElement;
|
|
5507
5584
|
if (anchor?.contains(target) || surface?.contains(target)) return;
|
|
5508
5585
|
if (this.press.touchedInside(anchor) || this.press.touchedInside(surface)) return;
|
|
@@ -5512,7 +5589,7 @@ var PopoverComponent = class PopoverComponent {
|
|
|
5512
5589
|
if (event.key !== "Tab" || !this.open() || !this.trapFocus()) return;
|
|
5513
5590
|
const surface = this.surfaceEl()?.nativeElement;
|
|
5514
5591
|
if (!surface) return;
|
|
5515
|
-
const focusable =
|
|
5592
|
+
const focusable = this.focusableElements(surface);
|
|
5516
5593
|
if (focusable.length === 0) {
|
|
5517
5594
|
event.preventDefault();
|
|
5518
5595
|
return;
|
|
@@ -5530,6 +5607,27 @@ var PopoverComponent = class PopoverComponent {
|
|
|
5530
5607
|
first.focus();
|
|
5531
5608
|
}
|
|
5532
5609
|
}
|
|
5610
|
+
focusableElements(surface) {
|
|
5611
|
+
return Array.from(surface.querySelectorAll("a[href], button, input, select, textarea, [tabindex]")).filter((el) => el.tabIndex >= 0 && !el.hasAttribute("disabled") && el.getClientRects().length > 0);
|
|
5612
|
+
}
|
|
5613
|
+
focusFirstElement() {
|
|
5614
|
+
const surface = this.surfaceEl()?.nativeElement;
|
|
5615
|
+
if (!surface || surface.contains(document.activeElement)) return;
|
|
5616
|
+
this.focusableElements(surface)[0]?.focus({ preventScroll: true });
|
|
5617
|
+
}
|
|
5618
|
+
trackFocusReturn(active) {
|
|
5619
|
+
if (active) {
|
|
5620
|
+
const focused = document.activeElement;
|
|
5621
|
+
this.focusReturn ??= focused instanceof HTMLElement && focused !== document.body ? focused : null;
|
|
5622
|
+
return;
|
|
5623
|
+
}
|
|
5624
|
+
const target = this.focusReturn;
|
|
5625
|
+
this.focusReturn = null;
|
|
5626
|
+
if (!target || this.open()) return;
|
|
5627
|
+
const focused = document.activeElement;
|
|
5628
|
+
const surface = this.surfaceEl()?.nativeElement;
|
|
5629
|
+
if (!focused || focused === document.body || surface?.contains(focused)) target.focus({ preventScroll: true });
|
|
5630
|
+
}
|
|
5533
5631
|
onEscape(event) {
|
|
5534
5632
|
if (!this.open() || !this.closeOnEscape()) return;
|
|
5535
5633
|
event.preventDefault();
|
|
@@ -5571,6 +5669,13 @@ var PopoverComponent = class PopoverComponent {
|
|
|
5571
5669
|
isRequired: false,
|
|
5572
5670
|
transformFunction: null
|
|
5573
5671
|
},
|
|
5672
|
+
anchorPoint: {
|
|
5673
|
+
classPropertyName: "anchorPoint",
|
|
5674
|
+
publicName: "anchorPoint",
|
|
5675
|
+
isSignal: true,
|
|
5676
|
+
isRequired: false,
|
|
5677
|
+
transformFunction: null
|
|
5678
|
+
},
|
|
5574
5679
|
role: {
|
|
5575
5680
|
classPropertyName: "role",
|
|
5576
5681
|
publicName: "role",
|
|
@@ -5661,9 +5766,19 @@ var PopoverComponent = class PopoverComponent {
|
|
|
5661
5766
|
isSignal: true,
|
|
5662
5767
|
isRequired: false,
|
|
5663
5768
|
transformFunction: null
|
|
5769
|
+
},
|
|
5770
|
+
contextMenu: {
|
|
5771
|
+
classPropertyName: "contextMenu",
|
|
5772
|
+
publicName: "contextMenu",
|
|
5773
|
+
isSignal: true,
|
|
5774
|
+
isRequired: false,
|
|
5775
|
+
transformFunction: null
|
|
5664
5776
|
}
|
|
5665
5777
|
},
|
|
5666
|
-
outputs: {
|
|
5778
|
+
outputs: {
|
|
5779
|
+
closeRequested: "closeRequested",
|
|
5780
|
+
openRequested: "openRequested"
|
|
5781
|
+
},
|
|
5667
5782
|
host: {
|
|
5668
5783
|
listeners: {
|
|
5669
5784
|
"document:click": "onDocumentClick($event)",
|
|
@@ -5737,6 +5852,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
5737
5852
|
required: false
|
|
5738
5853
|
}]
|
|
5739
5854
|
}],
|
|
5855
|
+
anchorPoint: [{
|
|
5856
|
+
type: i0.Input,
|
|
5857
|
+
args: [{
|
|
5858
|
+
isSignal: true,
|
|
5859
|
+
alias: "anchorPoint",
|
|
5860
|
+
required: false
|
|
5861
|
+
}]
|
|
5862
|
+
}],
|
|
5740
5863
|
role: [{
|
|
5741
5864
|
type: i0.Input,
|
|
5742
5865
|
args: [{
|
|
@@ -5841,10 +5964,22 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
5841
5964
|
required: false
|
|
5842
5965
|
}]
|
|
5843
5966
|
}],
|
|
5967
|
+
contextMenu: [{
|
|
5968
|
+
type: i0.Input,
|
|
5969
|
+
args: [{
|
|
5970
|
+
isSignal: true,
|
|
5971
|
+
alias: "contextMenu",
|
|
5972
|
+
required: false
|
|
5973
|
+
}]
|
|
5974
|
+
}],
|
|
5844
5975
|
closeRequested: [{
|
|
5845
5976
|
type: i0.Output,
|
|
5846
5977
|
args: ["closeRequested"]
|
|
5847
5978
|
}],
|
|
5979
|
+
openRequested: [{
|
|
5980
|
+
type: i0.Output,
|
|
5981
|
+
args: ["openRequested"]
|
|
5982
|
+
}],
|
|
5848
5983
|
onDocumentClick: [{
|
|
5849
5984
|
type: HostListener,
|
|
5850
5985
|
args: ["document:click", ["$event"]]
|
|
@@ -6284,6 +6419,7 @@ var AutocompleteComponent = class AutocompleteComponent {
|
|
|
6284
6419
|
"anchor",
|
|
6285
6420
|
"open",
|
|
6286
6421
|
"placement",
|
|
6422
|
+
"anchorPoint",
|
|
6287
6423
|
"role",
|
|
6288
6424
|
"aria-label",
|
|
6289
6425
|
"aria-labelledby",
|
|
@@ -6296,9 +6432,10 @@ var AutocompleteComponent = class AutocompleteComponent {
|
|
|
6296
6432
|
"maxWidth",
|
|
6297
6433
|
"closeOnOutsideClick",
|
|
6298
6434
|
"closeOnEscape",
|
|
6299
|
-
"scrollBehavior"
|
|
6435
|
+
"scrollBehavior",
|
|
6436
|
+
"contextMenu"
|
|
6300
6437
|
],
|
|
6301
|
-
outputs: ["closeRequested"]
|
|
6438
|
+
outputs: ["closeRequested", "openRequested"]
|
|
6302
6439
|
}
|
|
6303
6440
|
],
|
|
6304
6441
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
@@ -13204,6 +13341,7 @@ var ColorPickerComponent = class ColorPickerComponent {
|
|
|
13204
13341
|
"anchor",
|
|
13205
13342
|
"open",
|
|
13206
13343
|
"placement",
|
|
13344
|
+
"anchorPoint",
|
|
13207
13345
|
"role",
|
|
13208
13346
|
"aria-label",
|
|
13209
13347
|
"aria-labelledby",
|
|
@@ -13216,9 +13354,10 @@ var ColorPickerComponent = class ColorPickerComponent {
|
|
|
13216
13354
|
"maxWidth",
|
|
13217
13355
|
"closeOnOutsideClick",
|
|
13218
13356
|
"closeOnEscape",
|
|
13219
|
-
"scrollBehavior"
|
|
13357
|
+
"scrollBehavior",
|
|
13358
|
+
"contextMenu"
|
|
13220
13359
|
],
|
|
13221
|
-
outputs: ["closeRequested"]
|
|
13360
|
+
outputs: ["closeRequested", "openRequested"]
|
|
13222
13361
|
},
|
|
13223
13362
|
{
|
|
13224
13363
|
kind: "component",
|
|
@@ -13645,6 +13784,447 @@ function clampAlpha(value) {
|
|
|
13645
13784
|
if (value.endsWith("%")) return clamp01(parseFloat(value) / 100);
|
|
13646
13785
|
return clamp01(parseFloat(value));
|
|
13647
13786
|
}
|
|
13787
|
+
var MenuComponent = class MenuComponent {
|
|
13788
|
+
injector = inject(Injector);
|
|
13789
|
+
i18n = inject(EagamiI18nService);
|
|
13790
|
+
listEl = viewChild("listEl", ...ngDevMode ? [{ debugName: "listEl" }] : /* istanbul ignore next */ []);
|
|
13791
|
+
placement = input("bottom-start", ...ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []);
|
|
13792
|
+
size = input("md", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
|
|
13793
|
+
maxHeight = input("20rem", ...ngDevMode ? [{ debugName: "maxHeight" }] : /* istanbul ignore next */ []);
|
|
13794
|
+
disabled = input(false, ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
|
|
13795
|
+
ariaLabel = input(void 0, {
|
|
13796
|
+
...ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {},
|
|
13797
|
+
alias: "aria-label"
|
|
13798
|
+
});
|
|
13799
|
+
id = input(uniqueId("ea-menu"), ...ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []);
|
|
13800
|
+
resolvedAriaLabel = computed(() => this.ariaLabel() ?? this.i18n.messages().menu.label, ...ngDevMode ? [{ debugName: "resolvedAriaLabel" }] : /* istanbul ignore next */ []);
|
|
13801
|
+
open = model(false, ...ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []);
|
|
13802
|
+
opened = output();
|
|
13803
|
+
closed = output();
|
|
13804
|
+
triggerEl = signal(void 0, ...ngDevMode ? [{ debugName: "triggerEl" }] : /* istanbul ignore next */ []);
|
|
13805
|
+
asContextMenu = signal(false, ...ngDevMode ? [{ debugName: "asContextMenu" }] : /* istanbul ignore next */ []);
|
|
13806
|
+
anchorPoint = signal(null, ...ngDevMode ? [{ debugName: "anchorPoint" }] : /* istanbul ignore next */ []);
|
|
13807
|
+
activeItemId = signal(null, ...ngDevMode ? [{ debugName: "activeItemId" }] : /* istanbul ignore next */ []);
|
|
13808
|
+
constructor() {
|
|
13809
|
+
effect(() => {
|
|
13810
|
+
if (!this.open()) {
|
|
13811
|
+
this.activeItemId.set(null);
|
|
13812
|
+
this.asContextMenu.set(false);
|
|
13813
|
+
this.anchorPoint.set(null);
|
|
13814
|
+
return;
|
|
13815
|
+
}
|
|
13816
|
+
afterNextRender(() => {
|
|
13817
|
+
if (this.open() && !this.activeItemId()) {
|
|
13818
|
+
const first = this.getEnabledItems()[0];
|
|
13819
|
+
if (first) this.activeItemId.set(first.id);
|
|
13820
|
+
}
|
|
13821
|
+
}, { injector: this.injector });
|
|
13822
|
+
});
|
|
13823
|
+
}
|
|
13824
|
+
toggleAt(triggerEl) {
|
|
13825
|
+
if (this.disabled()) return;
|
|
13826
|
+
if (this.open()) this.close();
|
|
13827
|
+
else this.openAt(triggerEl);
|
|
13828
|
+
}
|
|
13829
|
+
openAt(triggerEl) {
|
|
13830
|
+
if (this.disabled()) return;
|
|
13831
|
+
this.asContextMenu.set(false);
|
|
13832
|
+
this.anchorPoint.set(null);
|
|
13833
|
+
this.show(triggerEl);
|
|
13834
|
+
}
|
|
13835
|
+
openAsContextMenu(anchorEl, point = null) {
|
|
13836
|
+
if (this.disabled()) return;
|
|
13837
|
+
this.asContextMenu.set(true);
|
|
13838
|
+
this.anchorPoint.set(point);
|
|
13839
|
+
this.show(anchorEl);
|
|
13840
|
+
}
|
|
13841
|
+
show(triggerEl) {
|
|
13842
|
+
this.triggerEl.set(triggerEl);
|
|
13843
|
+
this.open.set(true);
|
|
13844
|
+
this.opened.emit();
|
|
13845
|
+
afterNextRender(() => this.focusFirstItem(), { injector: this.injector });
|
|
13846
|
+
}
|
|
13847
|
+
close(restoreFocus = false) {
|
|
13848
|
+
if (!this.open()) return;
|
|
13849
|
+
const focusTrigger = restoreFocus && !this.asContextMenu();
|
|
13850
|
+
this.open.set(false);
|
|
13851
|
+
this.closed.emit();
|
|
13852
|
+
if (focusTrigger) this.triggerEl()?.focus({ preventScroll: true });
|
|
13853
|
+
}
|
|
13854
|
+
onPopoverCloseRequested() {
|
|
13855
|
+
this.close();
|
|
13856
|
+
}
|
|
13857
|
+
getEnabledItems() {
|
|
13858
|
+
const list = this.listEl()?.nativeElement;
|
|
13859
|
+
if (!list) return [];
|
|
13860
|
+
return Array.from(list.querySelectorAll("[role=\"menuitem\"]:not([disabled])"));
|
|
13861
|
+
}
|
|
13862
|
+
focusFirstItem() {
|
|
13863
|
+
this.focusItem(this.getEnabledItems()[0]);
|
|
13864
|
+
}
|
|
13865
|
+
focusItem(item) {
|
|
13866
|
+
if (!item) return;
|
|
13867
|
+
this.activeItemId.set(item.id);
|
|
13868
|
+
item.focus({ preventScroll: true });
|
|
13869
|
+
}
|
|
13870
|
+
onKeydown(event) {
|
|
13871
|
+
if (!this.open()) return;
|
|
13872
|
+
const list = this.listEl()?.nativeElement;
|
|
13873
|
+
const active = document.activeElement;
|
|
13874
|
+
if (!list || !active || !list.contains(active)) return;
|
|
13875
|
+
const items = this.getEnabledItems();
|
|
13876
|
+
if (items.length === 0) return;
|
|
13877
|
+
const current = items.indexOf(active);
|
|
13878
|
+
let next = -1;
|
|
13879
|
+
switch (event.key) {
|
|
13880
|
+
case "ArrowDown":
|
|
13881
|
+
event.preventDefault();
|
|
13882
|
+
next = current < items.length - 1 ? current + 1 : 0;
|
|
13883
|
+
break;
|
|
13884
|
+
case "ArrowUp":
|
|
13885
|
+
event.preventDefault();
|
|
13886
|
+
next = current > 0 ? current - 1 : items.length - 1;
|
|
13887
|
+
break;
|
|
13888
|
+
case "Home":
|
|
13889
|
+
event.preventDefault();
|
|
13890
|
+
next = 0;
|
|
13891
|
+
break;
|
|
13892
|
+
case "End":
|
|
13893
|
+
event.preventDefault();
|
|
13894
|
+
next = items.length - 1;
|
|
13895
|
+
break;
|
|
13896
|
+
}
|
|
13897
|
+
if (next >= 0) this.focusItem(items[next]);
|
|
13898
|
+
}
|
|
13899
|
+
onEscape(event) {
|
|
13900
|
+
if (!this.open()) return;
|
|
13901
|
+
event.preventDefault();
|
|
13902
|
+
this.close(true);
|
|
13903
|
+
}
|
|
13904
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
13905
|
+
minVersion: "12.0.0",
|
|
13906
|
+
version: "22.2.0",
|
|
13907
|
+
ngImport: i0,
|
|
13908
|
+
type: MenuComponent,
|
|
13909
|
+
deps: [],
|
|
13910
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
13911
|
+
});
|
|
13912
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
13913
|
+
minVersion: "17.2.0",
|
|
13914
|
+
version: "22.2.0",
|
|
13915
|
+
type: MenuComponent,
|
|
13916
|
+
isStandalone: true,
|
|
13917
|
+
selector: "ea-menu",
|
|
13918
|
+
inputs: {
|
|
13919
|
+
placement: {
|
|
13920
|
+
classPropertyName: "placement",
|
|
13921
|
+
publicName: "placement",
|
|
13922
|
+
isSignal: true,
|
|
13923
|
+
isRequired: false,
|
|
13924
|
+
transformFunction: null
|
|
13925
|
+
},
|
|
13926
|
+
size: {
|
|
13927
|
+
classPropertyName: "size",
|
|
13928
|
+
publicName: "size",
|
|
13929
|
+
isSignal: true,
|
|
13930
|
+
isRequired: false,
|
|
13931
|
+
transformFunction: null
|
|
13932
|
+
},
|
|
13933
|
+
maxHeight: {
|
|
13934
|
+
classPropertyName: "maxHeight",
|
|
13935
|
+
publicName: "maxHeight",
|
|
13936
|
+
isSignal: true,
|
|
13937
|
+
isRequired: false,
|
|
13938
|
+
transformFunction: null
|
|
13939
|
+
},
|
|
13940
|
+
disabled: {
|
|
13941
|
+
classPropertyName: "disabled",
|
|
13942
|
+
publicName: "disabled",
|
|
13943
|
+
isSignal: true,
|
|
13944
|
+
isRequired: false,
|
|
13945
|
+
transformFunction: null
|
|
13946
|
+
},
|
|
13947
|
+
ariaLabel: {
|
|
13948
|
+
classPropertyName: "ariaLabel",
|
|
13949
|
+
publicName: "aria-label",
|
|
13950
|
+
isSignal: true,
|
|
13951
|
+
isRequired: false,
|
|
13952
|
+
transformFunction: null
|
|
13953
|
+
},
|
|
13954
|
+
id: {
|
|
13955
|
+
classPropertyName: "id",
|
|
13956
|
+
publicName: "id",
|
|
13957
|
+
isSignal: true,
|
|
13958
|
+
isRequired: false,
|
|
13959
|
+
transformFunction: null
|
|
13960
|
+
},
|
|
13961
|
+
open: {
|
|
13962
|
+
classPropertyName: "open",
|
|
13963
|
+
publicName: "open",
|
|
13964
|
+
isSignal: true,
|
|
13965
|
+
isRequired: false,
|
|
13966
|
+
transformFunction: null
|
|
13967
|
+
}
|
|
13968
|
+
},
|
|
13969
|
+
outputs: {
|
|
13970
|
+
open: "openChange",
|
|
13971
|
+
opened: "opened",
|
|
13972
|
+
closed: "closed"
|
|
13973
|
+
},
|
|
13974
|
+
host: { listeners: {
|
|
13975
|
+
"document:keydown": "onKeydown($event)",
|
|
13976
|
+
"document:keydown.escape": "onEscape($event)"
|
|
13977
|
+
} },
|
|
13978
|
+
viewQueries: [{
|
|
13979
|
+
propertyName: "listEl",
|
|
13980
|
+
first: true,
|
|
13981
|
+
predicate: ["listEl"],
|
|
13982
|
+
descendants: true,
|
|
13983
|
+
isSignal: true
|
|
13984
|
+
}],
|
|
13985
|
+
ngImport: i0,
|
|
13986
|
+
template: "<ea-popover\n [anchor]=\"triggerEl()\"\n [open]=\"open()\"\n [placement]=\"placement()\"\n [anchorPoint]=\"anchorPoint()\"\n [contextMenu]=\"asContextMenu()\"\n role=\"menu\"\n [surfaceId]=\"id()\"\n [aria-label]=\"resolvedAriaLabel()\"\n [closeOnEscape]=\"false\"\n scrollBehavior=\"reposition\"\n (closeRequested)=\"onPopoverCloseRequested()\">\n <div\n #listEl\n class=\"ea-menu__list ea-menu__list--{{ size() }}\"\n [style.max-height]=\"maxHeight()\">\n <ng-content />\n </div>\n</ea-popover>\n",
|
|
13987
|
+
styles: [":host{display:contents}.ea-menu__list{min-width:10em;padding:.25em 0;overflow-y:auto;border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);background-color:var(--ea-menu-list-background-color, var(--color-bg-elevated))}@media(forced-colors:active){.ea-menu__list{border:1px solid CanvasText}}.ea-menu__list--2xs{font-size:var(--font-size-2xs)}.ea-menu__list--xs{font-size:var(--font-size-xs)}.ea-menu__list--sm{font-size:var(--font-size-sm)}.ea-menu__list--md{font-size:var(--font-size-md)}.ea-menu__list--lg{font-size:var(--font-size-lg)}.ea-menu__list--xl{font-size:var(--font-size-xl)}\n"],
|
|
13988
|
+
dependencies: [{
|
|
13989
|
+
kind: "component",
|
|
13990
|
+
type: PopoverComponent,
|
|
13991
|
+
selector: "ea-popover",
|
|
13992
|
+
inputs: [
|
|
13993
|
+
"anchor",
|
|
13994
|
+
"open",
|
|
13995
|
+
"placement",
|
|
13996
|
+
"anchorPoint",
|
|
13997
|
+
"role",
|
|
13998
|
+
"aria-label",
|
|
13999
|
+
"aria-labelledby",
|
|
14000
|
+
"trapFocus",
|
|
14001
|
+
"surfaceId",
|
|
14002
|
+
"offset",
|
|
14003
|
+
"flip",
|
|
14004
|
+
"clamp",
|
|
14005
|
+
"matchAnchorWidth",
|
|
14006
|
+
"maxWidth",
|
|
14007
|
+
"closeOnOutsideClick",
|
|
14008
|
+
"closeOnEscape",
|
|
14009
|
+
"scrollBehavior",
|
|
14010
|
+
"contextMenu"
|
|
14011
|
+
],
|
|
14012
|
+
outputs: ["closeRequested", "openRequested"]
|
|
14013
|
+
}],
|
|
14014
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
14015
|
+
});
|
|
14016
|
+
};
|
|
14017
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
14018
|
+
minVersion: "12.0.0",
|
|
14019
|
+
version: "22.2.0",
|
|
14020
|
+
ngImport: i0,
|
|
14021
|
+
type: MenuComponent,
|
|
14022
|
+
decorators: [{
|
|
14023
|
+
type: Component,
|
|
14024
|
+
args: [{
|
|
14025
|
+
selector: "ea-menu",
|
|
14026
|
+
imports: [PopoverComponent],
|
|
14027
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
14028
|
+
template: "<ea-popover\n [anchor]=\"triggerEl()\"\n [open]=\"open()\"\n [placement]=\"placement()\"\n [anchorPoint]=\"anchorPoint()\"\n [contextMenu]=\"asContextMenu()\"\n role=\"menu\"\n [surfaceId]=\"id()\"\n [aria-label]=\"resolvedAriaLabel()\"\n [closeOnEscape]=\"false\"\n scrollBehavior=\"reposition\"\n (closeRequested)=\"onPopoverCloseRequested()\">\n <div\n #listEl\n class=\"ea-menu__list ea-menu__list--{{ size() }}\"\n [style.max-height]=\"maxHeight()\">\n <ng-content />\n </div>\n</ea-popover>\n",
|
|
14029
|
+
styles: [":host{display:contents}.ea-menu__list{min-width:10em;padding:.25em 0;overflow-y:auto;border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);background-color:var(--ea-menu-list-background-color, var(--color-bg-elevated))}@media(forced-colors:active){.ea-menu__list{border:1px solid CanvasText}}.ea-menu__list--2xs{font-size:var(--font-size-2xs)}.ea-menu__list--xs{font-size:var(--font-size-xs)}.ea-menu__list--sm{font-size:var(--font-size-sm)}.ea-menu__list--md{font-size:var(--font-size-md)}.ea-menu__list--lg{font-size:var(--font-size-lg)}.ea-menu__list--xl{font-size:var(--font-size-xl)}\n"]
|
|
14030
|
+
}]
|
|
14031
|
+
}],
|
|
14032
|
+
ctorParameters: () => [],
|
|
14033
|
+
propDecorators: {
|
|
14034
|
+
listEl: [{
|
|
14035
|
+
type: i0.ViewChild,
|
|
14036
|
+
args: ["listEl", { isSignal: true }]
|
|
14037
|
+
}],
|
|
14038
|
+
placement: [{
|
|
14039
|
+
type: i0.Input,
|
|
14040
|
+
args: [{
|
|
14041
|
+
isSignal: true,
|
|
14042
|
+
alias: "placement",
|
|
14043
|
+
required: false
|
|
14044
|
+
}]
|
|
14045
|
+
}],
|
|
14046
|
+
size: [{
|
|
14047
|
+
type: i0.Input,
|
|
14048
|
+
args: [{
|
|
14049
|
+
isSignal: true,
|
|
14050
|
+
alias: "size",
|
|
14051
|
+
required: false
|
|
14052
|
+
}]
|
|
14053
|
+
}],
|
|
14054
|
+
maxHeight: [{
|
|
14055
|
+
type: i0.Input,
|
|
14056
|
+
args: [{
|
|
14057
|
+
isSignal: true,
|
|
14058
|
+
alias: "maxHeight",
|
|
14059
|
+
required: false
|
|
14060
|
+
}]
|
|
14061
|
+
}],
|
|
14062
|
+
disabled: [{
|
|
14063
|
+
type: i0.Input,
|
|
14064
|
+
args: [{
|
|
14065
|
+
isSignal: true,
|
|
14066
|
+
alias: "disabled",
|
|
14067
|
+
required: false
|
|
14068
|
+
}]
|
|
14069
|
+
}],
|
|
14070
|
+
ariaLabel: [{
|
|
14071
|
+
type: i0.Input,
|
|
14072
|
+
args: [{
|
|
14073
|
+
isSignal: true,
|
|
14074
|
+
alias: "aria-label",
|
|
14075
|
+
required: false
|
|
14076
|
+
}]
|
|
14077
|
+
}],
|
|
14078
|
+
id: [{
|
|
14079
|
+
type: i0.Input,
|
|
14080
|
+
args: [{
|
|
14081
|
+
isSignal: true,
|
|
14082
|
+
alias: "id",
|
|
14083
|
+
required: false
|
|
14084
|
+
}]
|
|
14085
|
+
}],
|
|
14086
|
+
open: [{
|
|
14087
|
+
type: i0.Input,
|
|
14088
|
+
args: [{
|
|
14089
|
+
isSignal: true,
|
|
14090
|
+
alias: "open",
|
|
14091
|
+
required: false
|
|
14092
|
+
}]
|
|
14093
|
+
}, {
|
|
14094
|
+
type: i0.Output,
|
|
14095
|
+
args: ["openChange"]
|
|
14096
|
+
}],
|
|
14097
|
+
opened: [{
|
|
14098
|
+
type: i0.Output,
|
|
14099
|
+
args: ["opened"]
|
|
14100
|
+
}],
|
|
14101
|
+
closed: [{
|
|
14102
|
+
type: i0.Output,
|
|
14103
|
+
args: ["closed"]
|
|
14104
|
+
}],
|
|
14105
|
+
onKeydown: [{
|
|
14106
|
+
type: HostListener,
|
|
14107
|
+
args: ["document:keydown", ["$event"]]
|
|
14108
|
+
}],
|
|
14109
|
+
onEscape: [{
|
|
14110
|
+
type: HostListener,
|
|
14111
|
+
args: ["document:keydown.escape", ["$event"]]
|
|
14112
|
+
}]
|
|
14113
|
+
}
|
|
14114
|
+
});
|
|
14115
|
+
function isContextMenuShortcut(event) {
|
|
14116
|
+
return event.key === "F10" && event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey;
|
|
14117
|
+
}
|
|
14118
|
+
function contextMenuPoint(event, fallback) {
|
|
14119
|
+
if (event instanceof MouseEvent && !fromKeyboard(event)) return {
|
|
14120
|
+
x: event.clientX,
|
|
14121
|
+
y: event.clientY
|
|
14122
|
+
};
|
|
14123
|
+
const focused = event.target instanceof Element ? event.target : fallback;
|
|
14124
|
+
const rect = focused.getBoundingClientRect();
|
|
14125
|
+
return {
|
|
14126
|
+
x: isRtl(focused) ? rect.right : rect.left,
|
|
14127
|
+
y: rect.bottom
|
|
14128
|
+
};
|
|
14129
|
+
}
|
|
14130
|
+
function fromKeyboard(event) {
|
|
14131
|
+
if (typeof PointerEvent !== "undefined" && event instanceof PointerEvent) return event.pointerType === "";
|
|
14132
|
+
return event.button === 0 && event.buttons === 0;
|
|
14133
|
+
}
|
|
14134
|
+
var ContextMenuTriggerDirective = class ContextMenuTriggerDirective {
|
|
14135
|
+
el = inject(ElementRef);
|
|
14136
|
+
target = input(void 0, {
|
|
14137
|
+
...ngDevMode ? { debugName: "target" } : /* istanbul ignore next */ {},
|
|
14138
|
+
alias: "eaContextMenuTrigger"
|
|
14139
|
+
});
|
|
14140
|
+
contextMenuPosition = input("pointer", ...ngDevMode ? [{ debugName: "contextMenuPosition" }] : /* istanbul ignore next */ []);
|
|
14141
|
+
onContextMenu(event) {
|
|
14142
|
+
this.request(event);
|
|
14143
|
+
}
|
|
14144
|
+
onKeydown(event) {
|
|
14145
|
+
if (isContextMenuShortcut(event)) this.request(event);
|
|
14146
|
+
}
|
|
14147
|
+
request(event) {
|
|
14148
|
+
const target = this.target();
|
|
14149
|
+
if (!target || event.defaultPrevented) return;
|
|
14150
|
+
if (target instanceof MenuComponent && target.disabled()) return;
|
|
14151
|
+
event.preventDefault();
|
|
14152
|
+
const host = this.el.nativeElement;
|
|
14153
|
+
const point = this.contextMenuPosition() === "pointer" ? contextMenuPoint(event, host) : null;
|
|
14154
|
+
if (target instanceof MenuComponent) target.openAsContextMenu(host, point);
|
|
14155
|
+
else target.requestOpen(point);
|
|
14156
|
+
}
|
|
14157
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
14158
|
+
minVersion: "12.0.0",
|
|
14159
|
+
version: "22.2.0",
|
|
14160
|
+
ngImport: i0,
|
|
14161
|
+
type: ContextMenuTriggerDirective,
|
|
14162
|
+
deps: [],
|
|
14163
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
14164
|
+
});
|
|
14165
|
+
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
14166
|
+
minVersion: "17.1.0",
|
|
14167
|
+
version: "22.2.0",
|
|
14168
|
+
type: ContextMenuTriggerDirective,
|
|
14169
|
+
isStandalone: true,
|
|
14170
|
+
selector: "[eaContextMenuTrigger]",
|
|
14171
|
+
inputs: {
|
|
14172
|
+
target: {
|
|
14173
|
+
classPropertyName: "target",
|
|
14174
|
+
publicName: "eaContextMenuTrigger",
|
|
14175
|
+
isSignal: true,
|
|
14176
|
+
isRequired: false,
|
|
14177
|
+
transformFunction: null
|
|
14178
|
+
},
|
|
14179
|
+
contextMenuPosition: {
|
|
14180
|
+
classPropertyName: "contextMenuPosition",
|
|
14181
|
+
publicName: "contextMenuPosition",
|
|
14182
|
+
isSignal: true,
|
|
14183
|
+
isRequired: false,
|
|
14184
|
+
transformFunction: null
|
|
14185
|
+
}
|
|
14186
|
+
},
|
|
14187
|
+
host: { listeners: {
|
|
14188
|
+
"contextmenu": "onContextMenu($event)",
|
|
14189
|
+
"keydown": "onKeydown($event)"
|
|
14190
|
+
} },
|
|
14191
|
+
ngImport: i0
|
|
14192
|
+
});
|
|
14193
|
+
};
|
|
14194
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
14195
|
+
minVersion: "12.0.0",
|
|
14196
|
+
version: "22.2.0",
|
|
14197
|
+
ngImport: i0,
|
|
14198
|
+
type: ContextMenuTriggerDirective,
|
|
14199
|
+
decorators: [{
|
|
14200
|
+
type: Directive,
|
|
14201
|
+
args: [{
|
|
14202
|
+
selector: "[eaContextMenuTrigger]",
|
|
14203
|
+
host: {
|
|
14204
|
+
"(contextmenu)": "onContextMenu($event)",
|
|
14205
|
+
"(keydown)": "onKeydown($event)"
|
|
14206
|
+
}
|
|
14207
|
+
}]
|
|
14208
|
+
}],
|
|
14209
|
+
propDecorators: {
|
|
14210
|
+
target: [{
|
|
14211
|
+
type: i0.Input,
|
|
14212
|
+
args: [{
|
|
14213
|
+
isSignal: true,
|
|
14214
|
+
alias: "eaContextMenuTrigger",
|
|
14215
|
+
required: false
|
|
14216
|
+
}]
|
|
14217
|
+
}],
|
|
14218
|
+
contextMenuPosition: [{
|
|
14219
|
+
type: i0.Input,
|
|
14220
|
+
args: [{
|
|
14221
|
+
isSignal: true,
|
|
14222
|
+
alias: "contextMenuPosition",
|
|
14223
|
+
required: false
|
|
14224
|
+
}]
|
|
14225
|
+
}]
|
|
14226
|
+
}
|
|
14227
|
+
});
|
|
13648
14228
|
var ArrowDownIconComponent = class ArrowDownIconComponent extends IconComponentBase {
|
|
13649
14229
|
static slug = "arrow-down";
|
|
13650
14230
|
static category = "feather";
|
|
@@ -13916,6 +14496,7 @@ var DataTableComponent = class DataTableComponent {
|
|
|
13916
14496
|
col: 0
|
|
13917
14497
|
}, ...ngDevMode ? [{ debugName: "activeCell" }] : /* istanbul ignore next */ []);
|
|
13918
14498
|
static PAGE_JUMP = 10;
|
|
14499
|
+
keyboardRequestPending = false;
|
|
13919
14500
|
columns = input.required(...ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []);
|
|
13920
14501
|
data = input.required(...ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []);
|
|
13921
14502
|
sizingRows = input([], ...ngDevMode ? [{ debugName: "sizingRows" }] : /* istanbul ignore next */ []);
|
|
@@ -13936,14 +14517,19 @@ var DataTableComponent = class DataTableComponent {
|
|
|
13936
14517
|
navigable = input(false, ...ngDevMode ? [{ debugName: "navigable" }] : /* istanbul ignore next */ []);
|
|
13937
14518
|
clickable = input(false, ...ngDevMode ? [{ debugName: "clickable" }] : /* istanbul ignore next */ []);
|
|
13938
14519
|
rowHref = input(void 0, ...ngDevMode ? [{ debugName: "rowHref" }] : /* istanbul ignore next */ []);
|
|
14520
|
+
loading = input(false, ...ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []);
|
|
14521
|
+
loadingRowCount = input(5, ...ngDevMode ? [{ debugName: "loadingRowCount" }] : /* istanbul ignore next */ []);
|
|
13939
14522
|
sort = model({
|
|
13940
14523
|
column: "",
|
|
13941
14524
|
direction: null
|
|
13942
14525
|
}, ...ngDevMode ? [{ debugName: "sort" }] : /* istanbul ignore next */ []);
|
|
13943
14526
|
sorted = output();
|
|
13944
14527
|
rowActivate = output();
|
|
14528
|
+
rowContextMenu = output();
|
|
13945
14529
|
noDataTemplate = contentChild("noData", ...ngDevMode ? [{ debugName: "noDataTemplate" }] : /* istanbul ignore next */ []);
|
|
13946
14530
|
resolvedNoDataText = computed(() => this.noDataText() ?? this.i18n.messages().dataTable.noData, ...ngDevMode ? [{ debugName: "resolvedNoDataText" }] : /* istanbul ignore next */ []);
|
|
14531
|
+
placeholderRows = computed(() => Array.from({ length: Math.max(0, Math.floor(this.loadingRowCount())) }, (_, i) => i), ...ngDevMode ? [{ debugName: "placeholderRows" }] : /* istanbul ignore next */ []);
|
|
14532
|
+
bodyRowCount = computed(() => this.loading() ? 0 : this.sortedData().length, ...ngDevMode ? [{ debugName: "bodyRowCount" }] : /* istanbul ignore next */ []);
|
|
13947
14533
|
hostClasses = computed(() => ({
|
|
13948
14534
|
[`ea-data-table--${this.density()}`]: true,
|
|
13949
14535
|
[`ea-data-table--${this.size()}`]: true,
|
|
@@ -13958,7 +14544,7 @@ var DataTableComponent = class DataTableComponent {
|
|
|
13958
14544
|
}), ...ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []);
|
|
13959
14545
|
constructor() {
|
|
13960
14546
|
effect(() => {
|
|
13961
|
-
const rows = this.
|
|
14547
|
+
const rows = this.bodyRowCount();
|
|
13962
14548
|
const cols = this.columns().length;
|
|
13963
14549
|
const { row, col } = untracked(this.activeCell);
|
|
13964
14550
|
const nextRow = Math.min(row, rows);
|
|
@@ -14034,6 +14620,24 @@ var DataTableComponent = class DataTableComponent {
|
|
|
14034
14620
|
event?.preventDefault();
|
|
14035
14621
|
this.rowActivate.emit(row);
|
|
14036
14622
|
}
|
|
14623
|
+
onRowContextMenu(row, rowElement, event) {
|
|
14624
|
+
if (event instanceof KeyboardEvent) {
|
|
14625
|
+
if (!isContextMenuShortcut(event)) return;
|
|
14626
|
+
} else if (this.keyboardRequestPending) {
|
|
14627
|
+
this.keyboardRequestPending = false;
|
|
14628
|
+
return;
|
|
14629
|
+
}
|
|
14630
|
+
this.rowContextMenu.emit({
|
|
14631
|
+
row,
|
|
14632
|
+
rowElement,
|
|
14633
|
+
point: contextMenuPoint(event, rowElement),
|
|
14634
|
+
event
|
|
14635
|
+
});
|
|
14636
|
+
if (event instanceof KeyboardEvent && !event.defaultPrevented) this.keyboardRequestPending = true;
|
|
14637
|
+
}
|
|
14638
|
+
clearKeyboardRequest() {
|
|
14639
|
+
this.keyboardRequestPending = false;
|
|
14640
|
+
}
|
|
14037
14641
|
onCellFocus(row, col) {
|
|
14038
14642
|
if (!this.navigable()) return;
|
|
14039
14643
|
const active = this.activeCell();
|
|
@@ -14045,7 +14649,7 @@ var DataTableComponent = class DataTableComponent {
|
|
|
14045
14649
|
onGridKeydown(event) {
|
|
14046
14650
|
if (!this.navigable()) return;
|
|
14047
14651
|
const cols = this.columns().length;
|
|
14048
|
-
const rows = this.
|
|
14652
|
+
const rows = this.bodyRowCount();
|
|
14049
14653
|
if (cols === 0) return;
|
|
14050
14654
|
const { row, col } = this.activeCell();
|
|
14051
14655
|
let nextRow = row;
|
|
@@ -14224,6 +14828,20 @@ var DataTableComponent = class DataTableComponent {
|
|
|
14224
14828
|
isRequired: false,
|
|
14225
14829
|
transformFunction: null
|
|
14226
14830
|
},
|
|
14831
|
+
loading: {
|
|
14832
|
+
classPropertyName: "loading",
|
|
14833
|
+
publicName: "loading",
|
|
14834
|
+
isSignal: true,
|
|
14835
|
+
isRequired: false,
|
|
14836
|
+
transformFunction: null
|
|
14837
|
+
},
|
|
14838
|
+
loadingRowCount: {
|
|
14839
|
+
classPropertyName: "loadingRowCount",
|
|
14840
|
+
publicName: "loadingRowCount",
|
|
14841
|
+
isSignal: true,
|
|
14842
|
+
isRequired: false,
|
|
14843
|
+
transformFunction: null
|
|
14844
|
+
},
|
|
14227
14845
|
sort: {
|
|
14228
14846
|
classPropertyName: "sort",
|
|
14229
14847
|
publicName: "sort",
|
|
@@ -14235,7 +14853,8 @@ var DataTableComponent = class DataTableComponent {
|
|
|
14235
14853
|
outputs: {
|
|
14236
14854
|
sort: "sortChange",
|
|
14237
14855
|
sorted: "sorted",
|
|
14238
|
-
rowActivate: "rowActivate"
|
|
14856
|
+
rowActivate: "rowActivate",
|
|
14857
|
+
rowContextMenu: "rowContextMenu"
|
|
14239
14858
|
},
|
|
14240
14859
|
queries: [{
|
|
14241
14860
|
propertyName: "noDataTemplate",
|
|
@@ -14245,8 +14864,8 @@ var DataTableComponent = class DataTableComponent {
|
|
|
14245
14864
|
isSignal: true
|
|
14246
14865
|
}],
|
|
14247
14866
|
ngImport: i0,
|
|
14248
|
-
template: "<ng-template\n #cellContent\n let-row\n let-col=\"col\">\n @if (col.cellTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, value: getCellValue(row, col.key) }\" />\n } @else if (col.format) {\n {{ col.format(getCellValue(row, col.key)) }}\n } @else {\n {{ getCellValue(row, col.key) }}\n }\n</ng-template>\n\n<div\n class=\"ea-data-table\"\n [ngClass]=\"hostClasses()\">\n <div class=\"ea-data-table__scroll\">\n <table\n class=\"ea-data-table__table\"\n [attr.role]=\"navigable() ? 'grid' : null\"\n [attr.aria-label]=\"caption() ? null : (ariaLabel() ?? null)\"\n (keydown)=\"onGridKeydown($event)\">\n @if (caption(); as captionText) {\n <caption class=\"ea-data-table__caption\">\n {{ captionText }}\n </caption>\n }\n <thead class=\"ea-data-table__head\">\n <tr\n class=\"ea-data-table__row ea-data-table__row--header\"\n [attr.role]=\"navigable() ? 'row' : null\">\n @for (col of columns(); track col.key; let colIndex = $index) {\n <th\n scope=\"col\"\n class=\"ea-data-table__cell ea-data-table__cell--header\"\n [attr.role]=\"navigable() ? 'columnheader' : null\"\n [attr.data-ea-cell]=\"navigable() ? '0-' + colIndex : null\"\n [class.ea-data-table__cell--sortable]=\"col.sortable\"\n [class.ea-data-table__cell--sorted]=\"\n sort().column === col.key && sort().direction\n \"\n [class.ea-data-table__cell--align-center]=\"col.align === 'center'\"\n [class.ea-data-table__cell--align-right]=\"col.align === 'right'\"\n [style.width]=\"col.width ?? null\"\n [attr.aria-sort]=\"\n sort().column === col.key && sort().direction === 'asc'\n ? 'ascending'\n : sort().column === col.key && sort().direction === 'desc'\n ? 'descending'\n : col.sortable\n ? 'none'\n : null\n \"\n (keydown.enter)=\"onHeaderKeydown($event, col)\"\n (keydown.space)=\"onHeaderKeydown($event, col)\"\n (focus)=\"onCellFocus(0, colIndex)\"\n [attr.tabindex]=\"headerTabindex(colIndex)\">\n @if (col.sortable) {\n <button\n type=\"button\"\n class=\"ea-data-table__sort-button\"\n [attr.tabindex]=\"navigable() ? -1 : null\"\n (click)=\"onHeaderClick(col)\"\n (focus)=\"onCellFocus(0, colIndex)\">\n @if (col.headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col }\" />\n } @else {\n <span class=\"ea-data-table__header-text\">{{ col.label }}</span>\n }\n <span class=\"ea-data-table__sort-icon\">\n @if (sort().column === col.key && sort().direction === 'asc') {\n <ea-icon-arrow-up />\n } @else if (\n sort().column === col.key && sort().direction === 'desc'\n ) {\n <ea-icon-arrow-down />\n } @else {\n <ea-icon-chevrons-up-down />\n }\n </span>\n </button>\n } @else if (col.headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col }\" />\n } @else {\n <span class=\"ea-data-table__header-text\">{{ col.label }}</span>\n }\n </th>\n }\n </tr>\n </thead>\n @if (sizingRows().length) {\n <tbody\n class=\"ea-data-table__sizing\"\n aria-hidden=\"true\">\n @for (row of sizingRows(); track $index) {\n <tr class=\"ea-data-table__row ea-data-table__row--sizing\">\n @for (col of columns(); track col.key) {\n <td\n class=\"ea-data-table__cell ea-data-table__cell--sizing\"\n [style.width]=\"col.width ?? null\">\n <div class=\"ea-data-table__sizing-content\">\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n }\n <tbody class=\"ea-data-table__body\">\n @if (sortedData().length === 0) {\n <tr\n class=\"ea-data-table__row ea-data-table__row--empty\"\n [attr.role]=\"navigable() ? 'row' : null\">\n <td\n class=\"ea-data-table__cell ea-data-table__cell--empty\"\n [attr.role]=\"navigable() ? 'gridcell' : null\"\n [attr.colspan]=\"columns().length\">\n <div role=\"status\">\n @if (noDataTemplate()) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate()!\" />\n } @else {\n {{ resolvedNoDataText() }}\n }\n </div>\n </td>\n </tr>\n } @else {\n @for (\n row of sortedData();\n track trackByFn($index, row);\n let rowIndex = $index\n ) {\n <tr\n class=\"ea-data-table__row\"\n [class.ea-data-table__row--inert]=\"isInert(row)\"\n [attr.role]=\"navigable() ? 'row' : null\"\n [attr.tabindex]=\"rowTabindex(row)\"\n (click)=\"onRowActivate(row, $event)\"\n (keydown.enter)=\"onRowActivate(row, $event)\"\n (keydown.space)=\"onRowActivate(row, $event)\">\n @for (col of columns(); track col.key; let colIndex = $index) {\n <td\n class=\"ea-data-table__cell\"\n [class.ea-data-table__cell--align-center]=\"col.align === 'center'\"\n [class.ea-data-table__cell--align-right]=\"col.align === 'right'\"\n [style.width]=\"col.width ?? null\"\n [attr.role]=\"navigable() ? 'gridcell' : null\"\n [attr.data-ea-cell]=\"navigable() ? rowIndex + 1 + '-' + colIndex : null\"\n [attr.tabindex]=\"bodyCellTabindex(rowIndex + 1, colIndex)\"\n (focus)=\"onCellFocus(rowIndex + 1, colIndex)\">\n @if (rowHref()?.(row); as url) {\n <a\n class=\"ea-data-table__row-link\"\n [href]=\"url\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"colIndex > 0 ? true : null\">\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n </a>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n }\n </td>\n }\n </tr>\n }\n }\n </tbody>\n </table>\n </div>\n <ng-content select=\"ea-paginator\" />\n</div>\n",
|
|
14249
|
-
styles: [".ea-data-table{--ea-data-table-font-size: var(--font-size-md);overflow:hidden;width:100%;border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);background-color:var(--ea-data-table-background-color, var(--color-bg-base))}.ea-data-table__scroll{overflow-x:auto}.ea-data-table--2xs{--ea-data-table-font-size: var(--font-size-2xs)}.ea-data-table--xs{--ea-data-table-font-size: var(--font-size-xs)}.ea-data-table--sm{--ea-data-table-font-size: var(--font-size-sm)}.ea-data-table--md{--ea-data-table-font-size: var(--font-size-md)}.ea-data-table--lg{--ea-data-table-font-size: var(--font-size-lg)}.ea-data-table--xl{--ea-data-table-font-size: var(--font-size-xl)}.ea-data-table__table{width:100%;border-spacing:0;border-collapse:collapse;font-family:var(--font-family-sans);font-size:var(--ea-data-table-font-size);color:var(--ea-data-table-color, var(--color-text-primary));table-layout:auto}.ea-data-table__caption{padding:calc(var(--ea-data-table-font-size) * .5) calc(var(--ea-data-table-font-size) * .75);text-align:start;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);caption-side:top}.ea-data-table__head{background-color:var(--ea-data-table-header-background-color, var(--color-bg-stripe))}.ea-data-table__cell--header{position:relative;font-weight:var(--font-weight-medium);font-size:var(--ea-data-table-header-font-size, calc(var(--ea-data-table-font-size) * .75));line-height:var(--text-label-sm-lh);letter-spacing:var(--letter-spacing-wide);text-transform:var(--ea-data-table-header-text-transform, uppercase);text-align:start;white-space:nowrap;color:var(--ea-data-table-header-color, var(--color-text-secondary));border-bottom:var(--border-width-thin) solid var(--color-border-subtle);-webkit-user-select:none;user-select:none}.ea-data-table__cell--sortable{cursor:pointer;transition:var(--transition-colors)}.ea-data-table__cell--sortable:hover{color:var(--ea-data-table-header-hover-color, var(--color-text-primary));background-color:var(--ea-data-table-header-hover-background-color, var(--color-state-hover))}.ea-data-table__cell--sorted{color:var(--ea-data-table-header-sorted-color, var(--color-brand-text))}.ea-data-table__sort-button{display:inline-flex;align-items:center;width:100%;padding:0;margin:0;font:inherit;text-transform:inherit;letter-spacing:inherit;border:none;background:none;color:inherit;cursor:pointer}.ea-data-table__sort-button:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}@media(forced-colors:active){.ea-data-table__sort-button:focus-visible{outline:2px solid Highlight;outline-offset:2px}}.ea-data-table__cell--align-center .ea-data-table__sort-button{justify-content:center}.ea-data-table__cell--align-right .ea-data-table__sort-button{justify-content:flex-end}.ea-data-table__header-text{display:inline;vertical-align:middle}.ea-data-table__sort-icon{display:inline-flex;vertical-align:middle;width:1em;height:1em;margin-inline-start:calc(var(--ea-data-table-font-size) * .25);opacity:.5;transition:var(--transition-opacity)}.ea-data-table__cell--sortable:hover .ea-data-table__sort-icon,.ea-data-table__cell--sorted .ea-data-table__sort-icon{opacity:1}.ea-data-table__row{border-bottom:var(--border-width-thin) solid var(--ea-data-table-row-border-color, var(--color-border-subtle));transition:var(--transition-colors)}.ea-data-table__row:last-child{border-bottom-width:0}.ea-data-table__cell{text-align:start;vertical-align:middle}.ea-data-table__cell--align-center{text-align:center}.ea-data-table__cell--align-right{text-align:end}.ea-data-table__cell--empty{text-align:center;color:var(--color-text-tertiary);font-style:italic}.ea-data-table--compact .ea-data-table__cell{padding:calc(var(--ea-data-table-font-size) * .375) calc(var(--ea-data-table-font-size) * .75)}.ea-data-table--comfortable .ea-data-table__cell{padding:calc(var(--ea-data-table-font-size) * .625) var(--ea-data-table-font-size)}.ea-data-table--spacious .ea-data-table__cell{padding:var(--ea-data-table-font-size) calc(var(--ea-data-table-font-size) * 1.5)}.ea-data-table__sizing .ea-data-table__row{border-bottom:none}.ea-data-table__sizing .ea-data-table__cell{padding-top:0;padding-bottom:0}.ea-data-table__sizing-content{overflow:hidden;visibility:hidden;height:0}.ea-data-table--sticky .ea-data-table__sizing{display:none}.ea-data-table--sticky,.ea-data-table--sticky .ea-data-table__scroll{max-height:inherit;height:inherit}.ea-data-table--sticky .ea-data-table__table{display:flex;flex-direction:column;min-width:calc(var(--ea-data-table-font-size) * 32);max-height:inherit;height:inherit}.ea-data-table--sticky .ea-data-table__head{display:block;flex-shrink:0}.ea-data-table--sticky .ea-data-table__head .ea-data-table__row--header{display:table;width:100%;table-layout:fixed}.ea-data-table--sticky .ea-data-table__body{display:block;overflow-y:auto;flex:1 1 auto;min-height:0}.ea-data-table--sticky .ea-data-table__body .ea-data-table__row{display:table;width:100%;table-layout:fixed}.ea-data-table--striped .ea-data-table__body .ea-data-table__row:nth-child(2n){background-color:var(--ea-data-table-row-stripe-background-color, var(--color-bg-stripe-subtle))}.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):hover{background-color:var(--ea-data-table-row-hover-background-color, var(--color-state-hover))}@media(forced-colors:active){.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):hover{background-color:Highlight;color:HighlightText}.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):hover .ea-data-table__cell--sorted{color:HighlightText}}.ea-data-table--clickable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert){cursor:var(--ea-data-table-row-cursor, pointer)}.ea-data-table--linked .ea-data-table__cell{position:relative}.ea-data-table__row-link{text-decoration:none;color:inherit}.ea-data-table__row-link:hover{color:inherit}.ea-data-table__row-link:after{position:absolute;inset:0;content:\"\"}.ea-data-table--nowrap .ea-data-table__cell{white-space:nowrap}.ea-data-table--bordered .ea-data-table__cell{border-inline-end:var(--border-width-thin) solid var(--color-border-subtle)}.ea-data-table--bordered .ea-data-table__cell:last-child{border-inline-end:none}.ea-data-table--navigable .ea-data-table__cell:focus-visible{outline:var(--border-width-medium) solid var(--color-border-focus);outline-offset:calc(-1 * var(--border-width-medium));box-shadow:none}\n"],
|
|
14867
|
+
template: "<ng-template\n #cellContent\n let-row\n let-col=\"col\">\n @if (col.cellTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, value: getCellValue(row, col.key) }\" />\n } @else if (col.format) {\n {{ col.format(getCellValue(row, col.key)) }}\n } @else {\n {{ getCellValue(row, col.key) }}\n }\n</ng-template>\n\n<div\n class=\"ea-data-table\"\n [ngClass]=\"hostClasses()\">\n <div class=\"ea-data-table__scroll\">\n <table\n class=\"ea-data-table__table\"\n [attr.role]=\"navigable() ? 'grid' : null\"\n [attr.aria-label]=\"caption() ? null : (ariaLabel() ?? null)\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup)=\"clearKeyboardRequest()\"\n (pointerdown)=\"clearKeyboardRequest()\">\n @if (caption(); as captionText) {\n <caption class=\"ea-data-table__caption\">\n {{ captionText }}\n </caption>\n }\n <thead class=\"ea-data-table__head\">\n <tr\n class=\"ea-data-table__row ea-data-table__row--header\"\n [attr.role]=\"navigable() ? 'row' : null\">\n @for (col of columns(); track col.key; let colIndex = $index) {\n <th\n scope=\"col\"\n class=\"ea-data-table__cell ea-data-table__cell--header\"\n [attr.role]=\"navigable() ? 'columnheader' : null\"\n [attr.data-ea-cell]=\"navigable() ? '0-' + colIndex : null\"\n [class.ea-data-table__cell--sortable]=\"col.sortable\"\n [class.ea-data-table__cell--sorted]=\"\n sort().column === col.key && sort().direction\n \"\n [class.ea-data-table__cell--align-center]=\"col.align === 'center'\"\n [class.ea-data-table__cell--align-right]=\"col.align === 'right'\"\n [style.width]=\"col.width ?? null\"\n [attr.aria-sort]=\"\n sort().column === col.key && sort().direction === 'asc'\n ? 'ascending'\n : sort().column === col.key && sort().direction === 'desc'\n ? 'descending'\n : col.sortable\n ? 'none'\n : null\n \"\n (keydown.enter)=\"onHeaderKeydown($event, col)\"\n (keydown.space)=\"onHeaderKeydown($event, col)\"\n (focus)=\"onCellFocus(0, colIndex)\"\n [attr.tabindex]=\"headerTabindex(colIndex)\">\n @if (col.sortable) {\n <button\n type=\"button\"\n class=\"ea-data-table__sort-button\"\n [attr.tabindex]=\"navigable() ? -1 : null\"\n (click)=\"onHeaderClick(col)\"\n (focus)=\"onCellFocus(0, colIndex)\">\n @if (col.headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col }\" />\n } @else {\n <span class=\"ea-data-table__header-text\">{{ col.label }}</span>\n }\n <span class=\"ea-data-table__sort-icon\">\n @if (sort().column === col.key && sort().direction === 'asc') {\n <ea-icon-arrow-up />\n } @else if (\n sort().column === col.key && sort().direction === 'desc'\n ) {\n <ea-icon-arrow-down />\n } @else {\n <ea-icon-chevrons-up-down />\n }\n </span>\n </button>\n } @else if (col.headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col }\" />\n } @else {\n <span class=\"ea-data-table__header-text\">{{ col.label }}</span>\n }\n </th>\n }\n </tr>\n </thead>\n @if (sizingRows().length) {\n <tbody\n class=\"ea-data-table__sizing\"\n aria-hidden=\"true\">\n @for (row of sizingRows(); track $index) {\n <tr class=\"ea-data-table__row ea-data-table__row--sizing\">\n @for (col of columns(); track col.key) {\n <td\n class=\"ea-data-table__cell ea-data-table__cell--sizing\"\n [style.width]=\"col.width ?? null\">\n <div class=\"ea-data-table__sizing-content\">\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n }\n <tbody class=\"ea-data-table__body\">\n @if (loading()) {\n @for (index of placeholderRows(); track index) {\n <tr\n class=\"ea-data-table__row ea-data-table__row--placeholder\"\n aria-hidden=\"true\"\n [attr.role]=\"navigable() ? 'row' : null\">\n @for (col of columns(); track col.key) {\n <td\n class=\"ea-data-table__cell\"\n [class.ea-data-table__cell--align-center]=\"col.align === 'center'\"\n [class.ea-data-table__cell--align-right]=\"col.align === 'right'\"\n [style.width]=\"col.width ?? null\"\n [attr.role]=\"navigable() ? 'gridcell' : null\">\n @if (col.placeholderTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.placeholderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col, index }\" />\n } @else {\n <span class=\"ea-data-table__placeholder\">\n <ea-skeleton height=\"1em\" />\n </span>\n }\n </td>\n }\n </tr>\n }\n } @else if (sortedData().length === 0) {\n <tr\n class=\"ea-data-table__row ea-data-table__row--empty\"\n [attr.role]=\"navigable() ? 'row' : null\">\n <td\n class=\"ea-data-table__cell ea-data-table__cell--empty\"\n [attr.role]=\"navigable() ? 'gridcell' : null\"\n [attr.colspan]=\"columns().length\">\n <div role=\"status\">\n @if (noDataTemplate()) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate()!\" />\n } @else {\n {{ resolvedNoDataText() }}\n }\n </div>\n </td>\n </tr>\n } @else {\n @for (\n row of sortedData();\n track trackByFn($index, row);\n let rowIndex = $index\n ) {\n <tr\n #rowEl\n class=\"ea-data-table__row\"\n [class.ea-data-table__row--inert]=\"isInert(row)\"\n [attr.role]=\"navigable() ? 'row' : null\"\n [attr.tabindex]=\"rowTabindex(row)\"\n (click)=\"onRowActivate(row, $event)\"\n (keydown.enter)=\"onRowActivate(row, $event)\"\n (keydown.space)=\"onRowActivate(row, $event)\"\n (keydown)=\"onRowContextMenu(row, rowEl, $event)\"\n (contextmenu)=\"onRowContextMenu(row, rowEl, $event)\">\n @for (col of columns(); track col.key; let colIndex = $index) {\n <td\n class=\"ea-data-table__cell\"\n [class.ea-data-table__cell--align-center]=\"col.align === 'center'\"\n [class.ea-data-table__cell--align-right]=\"col.align === 'right'\"\n [style.width]=\"col.width ?? null\"\n [attr.role]=\"navigable() ? 'gridcell' : null\"\n [attr.data-ea-cell]=\"navigable() ? rowIndex + 1 + '-' + colIndex : null\"\n [attr.tabindex]=\"bodyCellTabindex(rowIndex + 1, colIndex)\"\n (focus)=\"onCellFocus(rowIndex + 1, colIndex)\">\n @if (rowHref()?.(row); as url) {\n <a\n class=\"ea-data-table__row-link\"\n [href]=\"url\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"colIndex > 0 ? true : null\">\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n </a>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n }\n </td>\n }\n </tr>\n }\n }\n </tbody>\n </table>\n </div>\n <ng-content select=\"ea-paginator\" />\n</div>\n",
|
|
14868
|
+
styles: [".ea-data-table{--ea-data-table-font-size: var(--font-size-md);overflow:hidden;width:100%;border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);background-color:var(--ea-data-table-background-color, var(--color-bg-base))}.ea-data-table__scroll{overflow-x:auto}.ea-data-table--2xs{--ea-data-table-font-size: var(--font-size-2xs)}.ea-data-table--xs{--ea-data-table-font-size: var(--font-size-xs)}.ea-data-table--sm{--ea-data-table-font-size: var(--font-size-sm)}.ea-data-table--md{--ea-data-table-font-size: var(--font-size-md)}.ea-data-table--lg{--ea-data-table-font-size: var(--font-size-lg)}.ea-data-table--xl{--ea-data-table-font-size: var(--font-size-xl)}.ea-data-table__table{width:100%;border-spacing:0;border-collapse:collapse;font-family:var(--font-family-sans);font-size:var(--ea-data-table-font-size);color:var(--ea-data-table-color, var(--color-text-primary));table-layout:auto}.ea-data-table__caption{padding:calc(var(--ea-data-table-font-size) * .5) calc(var(--ea-data-table-font-size) * .75);text-align:start;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);caption-side:top}.ea-data-table__head{background-color:var(--ea-data-table-header-background-color, var(--color-bg-stripe))}.ea-data-table__cell--header{position:relative;font-weight:var(--font-weight-medium);font-size:var(--ea-data-table-header-font-size, calc(var(--ea-data-table-font-size) * .75));line-height:var(--text-label-sm-lh);letter-spacing:var(--letter-spacing-wide);text-transform:var(--ea-data-table-header-text-transform, uppercase);text-align:start;white-space:nowrap;color:var(--ea-data-table-header-color, var(--color-text-secondary));border-bottom:var(--border-width-thin) solid var(--color-border-subtle);-webkit-user-select:none;user-select:none}.ea-data-table__cell--sortable{cursor:pointer;transition:var(--transition-colors)}.ea-data-table__cell--sortable:hover{color:var(--ea-data-table-header-hover-color, var(--color-text-primary));background-color:var(--ea-data-table-header-hover-background-color, var(--color-state-hover))}.ea-data-table__cell--sorted{color:var(--ea-data-table-header-sorted-color, var(--color-brand-text))}.ea-data-table__sort-button{display:inline-flex;align-items:center;width:100%;padding:0;margin:0;font:inherit;text-transform:inherit;letter-spacing:inherit;border:none;background:none;color:inherit;cursor:pointer}.ea-data-table__sort-button:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}@media(forced-colors:active){.ea-data-table__sort-button:focus-visible{outline:2px solid Highlight;outline-offset:2px}}.ea-data-table__cell--align-center .ea-data-table__sort-button{justify-content:center}.ea-data-table__cell--align-right .ea-data-table__sort-button{justify-content:flex-end}.ea-data-table__header-text{display:inline;vertical-align:middle}.ea-data-table__sort-icon{display:inline-flex;vertical-align:middle;width:1em;height:1em;margin-inline-start:calc(var(--ea-data-table-font-size) * .25);opacity:.5;transition:var(--transition-opacity)}.ea-data-table__cell--sortable:hover .ea-data-table__sort-icon,.ea-data-table__cell--sorted .ea-data-table__sort-icon{opacity:1}.ea-data-table__row{border-bottom:var(--border-width-thin) solid var(--ea-data-table-row-border-color, var(--color-border-subtle));transition:var(--transition-colors)}.ea-data-table__row:last-child{border-bottom-width:0}.ea-data-table__cell{text-align:start;vertical-align:middle}.ea-data-table__cell--align-center{text-align:center}.ea-data-table__cell--align-right{text-align:end}.ea-data-table__cell--empty{text-align:center;color:var(--color-text-tertiary);font-style:italic}.ea-data-table--compact .ea-data-table__cell{padding:calc(var(--ea-data-table-font-size) * .375) calc(var(--ea-data-table-font-size) * .75)}.ea-data-table--comfortable .ea-data-table__cell{padding:calc(var(--ea-data-table-font-size) * .625) var(--ea-data-table-font-size)}.ea-data-table--spacious .ea-data-table__cell{padding:var(--ea-data-table-font-size) calc(var(--ea-data-table-font-size) * 1.5)}.ea-data-table__sizing .ea-data-table__row{border-bottom:none}.ea-data-table__sizing .ea-data-table__cell{padding-top:0;padding-bottom:0}.ea-data-table__sizing-content{overflow:hidden;visibility:hidden;height:0}.ea-data-table--sticky .ea-data-table__sizing{display:none}.ea-data-table--sticky,.ea-data-table--sticky .ea-data-table__scroll{max-height:inherit;height:inherit}.ea-data-table--sticky .ea-data-table__table{display:flex;flex-direction:column;min-width:calc(var(--ea-data-table-font-size) * 32);max-height:inherit;height:inherit}.ea-data-table--sticky .ea-data-table__head{display:block;flex-shrink:0}.ea-data-table--sticky .ea-data-table__head .ea-data-table__row--header{display:table;width:100%;table-layout:fixed}.ea-data-table--sticky .ea-data-table__body{display:block;overflow-y:auto;flex:1 1 auto;min-height:0}.ea-data-table--sticky .ea-data-table__body .ea-data-table__row{display:table;width:100%;table-layout:fixed}.ea-data-table--striped .ea-data-table__body .ea-data-table__row:nth-child(2n){background-color:var(--ea-data-table-row-stripe-background-color, var(--color-bg-stripe-subtle))}.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):not(.ea-data-table__row--placeholder):hover{background-color:var(--ea-data-table-row-hover-background-color, var(--color-state-hover))}@media(forced-colors:active){.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):not(.ea-data-table__row--placeholder):hover{background-color:Highlight;color:HighlightText}.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):not(.ea-data-table__row--placeholder):hover .ea-data-table__cell--sorted{color:HighlightText}}.ea-data-table--clickable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):not(.ea-data-table__row--placeholder){cursor:var(--ea-data-table-row-cursor, pointer)}.ea-data-table--linked .ea-data-table__cell{position:relative}.ea-data-table__row-link{text-decoration:none;color:inherit}.ea-data-table__row-link:hover{color:inherit}.ea-data-table__row-link:after{position:absolute;inset:0;content:\"\"}.ea-data-table__placeholder{display:inline-block;vertical-align:middle;width:100%}.ea-data-table--nowrap .ea-data-table__cell{white-space:nowrap}.ea-data-table--bordered .ea-data-table__cell{border-inline-end:var(--border-width-thin) solid var(--color-border-subtle)}.ea-data-table--bordered .ea-data-table__cell:last-child{border-inline-end:none}.ea-data-table--navigable .ea-data-table__cell:focus-visible{outline:var(--border-width-medium) solid var(--color-border-focus);outline-offset:calc(-1 * var(--border-width-medium));box-shadow:none}\n"],
|
|
14250
14869
|
dependencies: [
|
|
14251
14870
|
{
|
|
14252
14871
|
kind: "component",
|
|
@@ -14278,6 +14897,17 @@ var DataTableComponent = class DataTableComponent {
|
|
|
14278
14897
|
"ngTemplateOutlet",
|
|
14279
14898
|
"ngTemplateOutletInjector"
|
|
14280
14899
|
]
|
|
14900
|
+
},
|
|
14901
|
+
{
|
|
14902
|
+
kind: "component",
|
|
14903
|
+
type: SkeletonComponent,
|
|
14904
|
+
selector: "ea-skeleton",
|
|
14905
|
+
inputs: [
|
|
14906
|
+
"variant",
|
|
14907
|
+
"width",
|
|
14908
|
+
"height",
|
|
14909
|
+
"animated"
|
|
14910
|
+
]
|
|
14281
14911
|
}
|
|
14282
14912
|
],
|
|
14283
14913
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
@@ -14298,12 +14928,13 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
14298
14928
|
ArrowUpIconComponent,
|
|
14299
14929
|
ChevronsUpDownIconComponent,
|
|
14300
14930
|
NgClass,
|
|
14301
|
-
NgTemplateOutlet
|
|
14931
|
+
NgTemplateOutlet,
|
|
14932
|
+
SkeletonComponent
|
|
14302
14933
|
],
|
|
14303
14934
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
14304
14935
|
encapsulation: ViewEncapsulation.None,
|
|
14305
|
-
template: "<ng-template\n #cellContent\n let-row\n let-col=\"col\">\n @if (col.cellTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, value: getCellValue(row, col.key) }\" />\n } @else if (col.format) {\n {{ col.format(getCellValue(row, col.key)) }}\n } @else {\n {{ getCellValue(row, col.key) }}\n }\n</ng-template>\n\n<div\n class=\"ea-data-table\"\n [ngClass]=\"hostClasses()\">\n <div class=\"ea-data-table__scroll\">\n <table\n class=\"ea-data-table__table\"\n [attr.role]=\"navigable() ? 'grid' : null\"\n [attr.aria-label]=\"caption() ? null : (ariaLabel() ?? null)\"\n (keydown)=\"onGridKeydown($event)\">\n @if (caption(); as captionText) {\n <caption class=\"ea-data-table__caption\">\n {{ captionText }}\n </caption>\n }\n <thead class=\"ea-data-table__head\">\n <tr\n class=\"ea-data-table__row ea-data-table__row--header\"\n [attr.role]=\"navigable() ? 'row' : null\">\n @for (col of columns(); track col.key; let colIndex = $index) {\n <th\n scope=\"col\"\n class=\"ea-data-table__cell ea-data-table__cell--header\"\n [attr.role]=\"navigable() ? 'columnheader' : null\"\n [attr.data-ea-cell]=\"navigable() ? '0-' + colIndex : null\"\n [class.ea-data-table__cell--sortable]=\"col.sortable\"\n [class.ea-data-table__cell--sorted]=\"\n sort().column === col.key && sort().direction\n \"\n [class.ea-data-table__cell--align-center]=\"col.align === 'center'\"\n [class.ea-data-table__cell--align-right]=\"col.align === 'right'\"\n [style.width]=\"col.width ?? null\"\n [attr.aria-sort]=\"\n sort().column === col.key && sort().direction === 'asc'\n ? 'ascending'\n : sort().column === col.key && sort().direction === 'desc'\n ? 'descending'\n : col.sortable\n ? 'none'\n : null\n \"\n (keydown.enter)=\"onHeaderKeydown($event, col)\"\n (keydown.space)=\"onHeaderKeydown($event, col)\"\n (focus)=\"onCellFocus(0, colIndex)\"\n [attr.tabindex]=\"headerTabindex(colIndex)\">\n @if (col.sortable) {\n <button\n type=\"button\"\n class=\"ea-data-table__sort-button\"\n [attr.tabindex]=\"navigable() ? -1 : null\"\n (click)=\"onHeaderClick(col)\"\n (focus)=\"onCellFocus(0, colIndex)\">\n @if (col.headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col }\" />\n } @else {\n <span class=\"ea-data-table__header-text\">{{ col.label }}</span>\n }\n <span class=\"ea-data-table__sort-icon\">\n @if (sort().column === col.key && sort().direction === 'asc') {\n <ea-icon-arrow-up />\n } @else if (\n sort().column === col.key && sort().direction === 'desc'\n ) {\n <ea-icon-arrow-down />\n } @else {\n <ea-icon-chevrons-up-down />\n }\n </span>\n </button>\n } @else if (col.headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col }\" />\n } @else {\n <span class=\"ea-data-table__header-text\">{{ col.label }}</span>\n }\n </th>\n }\n </tr>\n </thead>\n @if (sizingRows().length) {\n <tbody\n class=\"ea-data-table__sizing\"\n aria-hidden=\"true\">\n @for (row of sizingRows(); track $index) {\n <tr class=\"ea-data-table__row ea-data-table__row--sizing\">\n @for (col of columns(); track col.key) {\n <td\n class=\"ea-data-table__cell ea-data-table__cell--sizing\"\n [style.width]=\"col.width ?? null\">\n <div class=\"ea-data-table__sizing-content\">\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n }\n <tbody class=\"ea-data-table__body\">\n @if (sortedData().length === 0) {\n <tr\n class=\"ea-data-table__row ea-data-table__row--empty\"\n [attr.role]=\"navigable() ? 'row' : null\">\n <td\n class=\"ea-data-table__cell ea-data-table__cell--empty\"\n [attr.role]=\"navigable() ? 'gridcell' : null\"\n [attr.colspan]=\"columns().length\">\n <div role=\"status\">\n @if (noDataTemplate()) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate()!\" />\n } @else {\n {{ resolvedNoDataText() }}\n }\n </div>\n </td>\n </tr>\n } @else {\n @for (\n row of sortedData();\n track trackByFn($index, row);\n let rowIndex = $index\n ) {\n <tr\n class=\"ea-data-table__row\"\n [class.ea-data-table__row--inert]=\"isInert(row)\"\n [attr.role]=\"navigable() ? 'row' : null\"\n [attr.tabindex]=\"rowTabindex(row)\"\n (click)=\"onRowActivate(row, $event)\"\n (keydown.enter)=\"onRowActivate(row, $event)\"\n (keydown.space)=\"onRowActivate(row, $event)\">\n @for (col of columns(); track col.key; let colIndex = $index) {\n <td\n class=\"ea-data-table__cell\"\n [class.ea-data-table__cell--align-center]=\"col.align === 'center'\"\n [class.ea-data-table__cell--align-right]=\"col.align === 'right'\"\n [style.width]=\"col.width ?? null\"\n [attr.role]=\"navigable() ? 'gridcell' : null\"\n [attr.data-ea-cell]=\"navigable() ? rowIndex + 1 + '-' + colIndex : null\"\n [attr.tabindex]=\"bodyCellTabindex(rowIndex + 1, colIndex)\"\n (focus)=\"onCellFocus(rowIndex + 1, colIndex)\">\n @if (rowHref()?.(row); as url) {\n <a\n class=\"ea-data-table__row-link\"\n [href]=\"url\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"colIndex > 0 ? true : null\">\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n </a>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n }\n </td>\n }\n </tr>\n }\n }\n </tbody>\n </table>\n </div>\n <ng-content select=\"ea-paginator\" />\n</div>\n",
|
|
14306
|
-
styles: [".ea-data-table{--ea-data-table-font-size: var(--font-size-md);overflow:hidden;width:100%;border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);background-color:var(--ea-data-table-background-color, var(--color-bg-base))}.ea-data-table__scroll{overflow-x:auto}.ea-data-table--2xs{--ea-data-table-font-size: var(--font-size-2xs)}.ea-data-table--xs{--ea-data-table-font-size: var(--font-size-xs)}.ea-data-table--sm{--ea-data-table-font-size: var(--font-size-sm)}.ea-data-table--md{--ea-data-table-font-size: var(--font-size-md)}.ea-data-table--lg{--ea-data-table-font-size: var(--font-size-lg)}.ea-data-table--xl{--ea-data-table-font-size: var(--font-size-xl)}.ea-data-table__table{width:100%;border-spacing:0;border-collapse:collapse;font-family:var(--font-family-sans);font-size:var(--ea-data-table-font-size);color:var(--ea-data-table-color, var(--color-text-primary));table-layout:auto}.ea-data-table__caption{padding:calc(var(--ea-data-table-font-size) * .5) calc(var(--ea-data-table-font-size) * .75);text-align:start;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);caption-side:top}.ea-data-table__head{background-color:var(--ea-data-table-header-background-color, var(--color-bg-stripe))}.ea-data-table__cell--header{position:relative;font-weight:var(--font-weight-medium);font-size:var(--ea-data-table-header-font-size, calc(var(--ea-data-table-font-size) * .75));line-height:var(--text-label-sm-lh);letter-spacing:var(--letter-spacing-wide);text-transform:var(--ea-data-table-header-text-transform, uppercase);text-align:start;white-space:nowrap;color:var(--ea-data-table-header-color, var(--color-text-secondary));border-bottom:var(--border-width-thin) solid var(--color-border-subtle);-webkit-user-select:none;user-select:none}.ea-data-table__cell--sortable{cursor:pointer;transition:var(--transition-colors)}.ea-data-table__cell--sortable:hover{color:var(--ea-data-table-header-hover-color, var(--color-text-primary));background-color:var(--ea-data-table-header-hover-background-color, var(--color-state-hover))}.ea-data-table__cell--sorted{color:var(--ea-data-table-header-sorted-color, var(--color-brand-text))}.ea-data-table__sort-button{display:inline-flex;align-items:center;width:100%;padding:0;margin:0;font:inherit;text-transform:inherit;letter-spacing:inherit;border:none;background:none;color:inherit;cursor:pointer}.ea-data-table__sort-button:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}@media(forced-colors:active){.ea-data-table__sort-button:focus-visible{outline:2px solid Highlight;outline-offset:2px}}.ea-data-table__cell--align-center .ea-data-table__sort-button{justify-content:center}.ea-data-table__cell--align-right .ea-data-table__sort-button{justify-content:flex-end}.ea-data-table__header-text{display:inline;vertical-align:middle}.ea-data-table__sort-icon{display:inline-flex;vertical-align:middle;width:1em;height:1em;margin-inline-start:calc(var(--ea-data-table-font-size) * .25);opacity:.5;transition:var(--transition-opacity)}.ea-data-table__cell--sortable:hover .ea-data-table__sort-icon,.ea-data-table__cell--sorted .ea-data-table__sort-icon{opacity:1}.ea-data-table__row{border-bottom:var(--border-width-thin) solid var(--ea-data-table-row-border-color, var(--color-border-subtle));transition:var(--transition-colors)}.ea-data-table__row:last-child{border-bottom-width:0}.ea-data-table__cell{text-align:start;vertical-align:middle}.ea-data-table__cell--align-center{text-align:center}.ea-data-table__cell--align-right{text-align:end}.ea-data-table__cell--empty{text-align:center;color:var(--color-text-tertiary);font-style:italic}.ea-data-table--compact .ea-data-table__cell{padding:calc(var(--ea-data-table-font-size) * .375) calc(var(--ea-data-table-font-size) * .75)}.ea-data-table--comfortable .ea-data-table__cell{padding:calc(var(--ea-data-table-font-size) * .625) var(--ea-data-table-font-size)}.ea-data-table--spacious .ea-data-table__cell{padding:var(--ea-data-table-font-size) calc(var(--ea-data-table-font-size) * 1.5)}.ea-data-table__sizing .ea-data-table__row{border-bottom:none}.ea-data-table__sizing .ea-data-table__cell{padding-top:0;padding-bottom:0}.ea-data-table__sizing-content{overflow:hidden;visibility:hidden;height:0}.ea-data-table--sticky .ea-data-table__sizing{display:none}.ea-data-table--sticky,.ea-data-table--sticky .ea-data-table__scroll{max-height:inherit;height:inherit}.ea-data-table--sticky .ea-data-table__table{display:flex;flex-direction:column;min-width:calc(var(--ea-data-table-font-size) * 32);max-height:inherit;height:inherit}.ea-data-table--sticky .ea-data-table__head{display:block;flex-shrink:0}.ea-data-table--sticky .ea-data-table__head .ea-data-table__row--header{display:table;width:100%;table-layout:fixed}.ea-data-table--sticky .ea-data-table__body{display:block;overflow-y:auto;flex:1 1 auto;min-height:0}.ea-data-table--sticky .ea-data-table__body .ea-data-table__row{display:table;width:100%;table-layout:fixed}.ea-data-table--striped .ea-data-table__body .ea-data-table__row:nth-child(2n){background-color:var(--ea-data-table-row-stripe-background-color, var(--color-bg-stripe-subtle))}.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):hover{background-color:var(--ea-data-table-row-hover-background-color, var(--color-state-hover))}@media(forced-colors:active){.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):hover{background-color:Highlight;color:HighlightText}.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):hover .ea-data-table__cell--sorted{color:HighlightText}}.ea-data-table--clickable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert){cursor:var(--ea-data-table-row-cursor, pointer)}.ea-data-table--linked .ea-data-table__cell{position:relative}.ea-data-table__row-link{text-decoration:none;color:inherit}.ea-data-table__row-link:hover{color:inherit}.ea-data-table__row-link:after{position:absolute;inset:0;content:\"\"}.ea-data-table--nowrap .ea-data-table__cell{white-space:nowrap}.ea-data-table--bordered .ea-data-table__cell{border-inline-end:var(--border-width-thin) solid var(--color-border-subtle)}.ea-data-table--bordered .ea-data-table__cell:last-child{border-inline-end:none}.ea-data-table--navigable .ea-data-table__cell:focus-visible{outline:var(--border-width-medium) solid var(--color-border-focus);outline-offset:calc(-1 * var(--border-width-medium));box-shadow:none}\n"]
|
|
14936
|
+
template: "<ng-template\n #cellContent\n let-row\n let-col=\"col\">\n @if (col.cellTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, value: getCellValue(row, col.key) }\" />\n } @else if (col.format) {\n {{ col.format(getCellValue(row, col.key)) }}\n } @else {\n {{ getCellValue(row, col.key) }}\n }\n</ng-template>\n\n<div\n class=\"ea-data-table\"\n [ngClass]=\"hostClasses()\">\n <div class=\"ea-data-table__scroll\">\n <table\n class=\"ea-data-table__table\"\n [attr.role]=\"navigable() ? 'grid' : null\"\n [attr.aria-label]=\"caption() ? null : (ariaLabel() ?? null)\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup)=\"clearKeyboardRequest()\"\n (pointerdown)=\"clearKeyboardRequest()\">\n @if (caption(); as captionText) {\n <caption class=\"ea-data-table__caption\">\n {{ captionText }}\n </caption>\n }\n <thead class=\"ea-data-table__head\">\n <tr\n class=\"ea-data-table__row ea-data-table__row--header\"\n [attr.role]=\"navigable() ? 'row' : null\">\n @for (col of columns(); track col.key; let colIndex = $index) {\n <th\n scope=\"col\"\n class=\"ea-data-table__cell ea-data-table__cell--header\"\n [attr.role]=\"navigable() ? 'columnheader' : null\"\n [attr.data-ea-cell]=\"navigable() ? '0-' + colIndex : null\"\n [class.ea-data-table__cell--sortable]=\"col.sortable\"\n [class.ea-data-table__cell--sorted]=\"\n sort().column === col.key && sort().direction\n \"\n [class.ea-data-table__cell--align-center]=\"col.align === 'center'\"\n [class.ea-data-table__cell--align-right]=\"col.align === 'right'\"\n [style.width]=\"col.width ?? null\"\n [attr.aria-sort]=\"\n sort().column === col.key && sort().direction === 'asc'\n ? 'ascending'\n : sort().column === col.key && sort().direction === 'desc'\n ? 'descending'\n : col.sortable\n ? 'none'\n : null\n \"\n (keydown.enter)=\"onHeaderKeydown($event, col)\"\n (keydown.space)=\"onHeaderKeydown($event, col)\"\n (focus)=\"onCellFocus(0, colIndex)\"\n [attr.tabindex]=\"headerTabindex(colIndex)\">\n @if (col.sortable) {\n <button\n type=\"button\"\n class=\"ea-data-table__sort-button\"\n [attr.tabindex]=\"navigable() ? -1 : null\"\n (click)=\"onHeaderClick(col)\"\n (focus)=\"onCellFocus(0, colIndex)\">\n @if (col.headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col }\" />\n } @else {\n <span class=\"ea-data-table__header-text\">{{ col.label }}</span>\n }\n <span class=\"ea-data-table__sort-icon\">\n @if (sort().column === col.key && sort().direction === 'asc') {\n <ea-icon-arrow-up />\n } @else if (\n sort().column === col.key && sort().direction === 'desc'\n ) {\n <ea-icon-arrow-down />\n } @else {\n <ea-icon-chevrons-up-down />\n }\n </span>\n </button>\n } @else if (col.headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col }\" />\n } @else {\n <span class=\"ea-data-table__header-text\">{{ col.label }}</span>\n }\n </th>\n }\n </tr>\n </thead>\n @if (sizingRows().length) {\n <tbody\n class=\"ea-data-table__sizing\"\n aria-hidden=\"true\">\n @for (row of sizingRows(); track $index) {\n <tr class=\"ea-data-table__row ea-data-table__row--sizing\">\n @for (col of columns(); track col.key) {\n <td\n class=\"ea-data-table__cell ea-data-table__cell--sizing\"\n [style.width]=\"col.width ?? null\">\n <div class=\"ea-data-table__sizing-content\">\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n }\n <tbody class=\"ea-data-table__body\">\n @if (loading()) {\n @for (index of placeholderRows(); track index) {\n <tr\n class=\"ea-data-table__row ea-data-table__row--placeholder\"\n aria-hidden=\"true\"\n [attr.role]=\"navigable() ? 'row' : null\">\n @for (col of columns(); track col.key) {\n <td\n class=\"ea-data-table__cell\"\n [class.ea-data-table__cell--align-center]=\"col.align === 'center'\"\n [class.ea-data-table__cell--align-right]=\"col.align === 'right'\"\n [style.width]=\"col.width ?? null\"\n [attr.role]=\"navigable() ? 'gridcell' : null\">\n @if (col.placeholderTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"col.placeholderTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col, index }\" />\n } @else {\n <span class=\"ea-data-table__placeholder\">\n <ea-skeleton height=\"1em\" />\n </span>\n }\n </td>\n }\n </tr>\n }\n } @else if (sortedData().length === 0) {\n <tr\n class=\"ea-data-table__row ea-data-table__row--empty\"\n [attr.role]=\"navigable() ? 'row' : null\">\n <td\n class=\"ea-data-table__cell ea-data-table__cell--empty\"\n [attr.role]=\"navigable() ? 'gridcell' : null\"\n [attr.colspan]=\"columns().length\">\n <div role=\"status\">\n @if (noDataTemplate()) {\n <ng-container [ngTemplateOutlet]=\"noDataTemplate()!\" />\n } @else {\n {{ resolvedNoDataText() }}\n }\n </div>\n </td>\n </tr>\n } @else {\n @for (\n row of sortedData();\n track trackByFn($index, row);\n let rowIndex = $index\n ) {\n <tr\n #rowEl\n class=\"ea-data-table__row\"\n [class.ea-data-table__row--inert]=\"isInert(row)\"\n [attr.role]=\"navigable() ? 'row' : null\"\n [attr.tabindex]=\"rowTabindex(row)\"\n (click)=\"onRowActivate(row, $event)\"\n (keydown.enter)=\"onRowActivate(row, $event)\"\n (keydown.space)=\"onRowActivate(row, $event)\"\n (keydown)=\"onRowContextMenu(row, rowEl, $event)\"\n (contextmenu)=\"onRowContextMenu(row, rowEl, $event)\">\n @for (col of columns(); track col.key; let colIndex = $index) {\n <td\n class=\"ea-data-table__cell\"\n [class.ea-data-table__cell--align-center]=\"col.align === 'center'\"\n [class.ea-data-table__cell--align-right]=\"col.align === 'right'\"\n [style.width]=\"col.width ?? null\"\n [attr.role]=\"navigable() ? 'gridcell' : null\"\n [attr.data-ea-cell]=\"navigable() ? rowIndex + 1 + '-' + colIndex : null\"\n [attr.tabindex]=\"bodyCellTabindex(rowIndex + 1, colIndex)\"\n (focus)=\"onCellFocus(rowIndex + 1, colIndex)\">\n @if (rowHref()?.(row); as url) {\n <a\n class=\"ea-data-table__row-link\"\n [href]=\"url\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"colIndex > 0 ? true : null\">\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n </a>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"cellContent\"\n [ngTemplateOutletContext]=\"{ $implicit: row, col }\" />\n }\n </td>\n }\n </tr>\n }\n }\n </tbody>\n </table>\n </div>\n <ng-content select=\"ea-paginator\" />\n</div>\n",
|
|
14937
|
+
styles: [".ea-data-table{--ea-data-table-font-size: var(--font-size-md);overflow:hidden;width:100%;border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);background-color:var(--ea-data-table-background-color, var(--color-bg-base))}.ea-data-table__scroll{overflow-x:auto}.ea-data-table--2xs{--ea-data-table-font-size: var(--font-size-2xs)}.ea-data-table--xs{--ea-data-table-font-size: var(--font-size-xs)}.ea-data-table--sm{--ea-data-table-font-size: var(--font-size-sm)}.ea-data-table--md{--ea-data-table-font-size: var(--font-size-md)}.ea-data-table--lg{--ea-data-table-font-size: var(--font-size-lg)}.ea-data-table--xl{--ea-data-table-font-size: var(--font-size-xl)}.ea-data-table__table{width:100%;border-spacing:0;border-collapse:collapse;font-family:var(--font-family-sans);font-size:var(--ea-data-table-font-size);color:var(--ea-data-table-color, var(--color-text-primary));table-layout:auto}.ea-data-table__caption{padding:calc(var(--ea-data-table-font-size) * .5) calc(var(--ea-data-table-font-size) * .75);text-align:start;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);caption-side:top}.ea-data-table__head{background-color:var(--ea-data-table-header-background-color, var(--color-bg-stripe))}.ea-data-table__cell--header{position:relative;font-weight:var(--font-weight-medium);font-size:var(--ea-data-table-header-font-size, calc(var(--ea-data-table-font-size) * .75));line-height:var(--text-label-sm-lh);letter-spacing:var(--letter-spacing-wide);text-transform:var(--ea-data-table-header-text-transform, uppercase);text-align:start;white-space:nowrap;color:var(--ea-data-table-header-color, var(--color-text-secondary));border-bottom:var(--border-width-thin) solid var(--color-border-subtle);-webkit-user-select:none;user-select:none}.ea-data-table__cell--sortable{cursor:pointer;transition:var(--transition-colors)}.ea-data-table__cell--sortable:hover{color:var(--ea-data-table-header-hover-color, var(--color-text-primary));background-color:var(--ea-data-table-header-hover-background-color, var(--color-state-hover))}.ea-data-table__cell--sorted{color:var(--ea-data-table-header-sorted-color, var(--color-brand-text))}.ea-data-table__sort-button{display:inline-flex;align-items:center;width:100%;padding:0;margin:0;font:inherit;text-transform:inherit;letter-spacing:inherit;border:none;background:none;color:inherit;cursor:pointer}.ea-data-table__sort-button:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}@media(forced-colors:active){.ea-data-table__sort-button:focus-visible{outline:2px solid Highlight;outline-offset:2px}}.ea-data-table__cell--align-center .ea-data-table__sort-button{justify-content:center}.ea-data-table__cell--align-right .ea-data-table__sort-button{justify-content:flex-end}.ea-data-table__header-text{display:inline;vertical-align:middle}.ea-data-table__sort-icon{display:inline-flex;vertical-align:middle;width:1em;height:1em;margin-inline-start:calc(var(--ea-data-table-font-size) * .25);opacity:.5;transition:var(--transition-opacity)}.ea-data-table__cell--sortable:hover .ea-data-table__sort-icon,.ea-data-table__cell--sorted .ea-data-table__sort-icon{opacity:1}.ea-data-table__row{border-bottom:var(--border-width-thin) solid var(--ea-data-table-row-border-color, var(--color-border-subtle));transition:var(--transition-colors)}.ea-data-table__row:last-child{border-bottom-width:0}.ea-data-table__cell{text-align:start;vertical-align:middle}.ea-data-table__cell--align-center{text-align:center}.ea-data-table__cell--align-right{text-align:end}.ea-data-table__cell--empty{text-align:center;color:var(--color-text-tertiary);font-style:italic}.ea-data-table--compact .ea-data-table__cell{padding:calc(var(--ea-data-table-font-size) * .375) calc(var(--ea-data-table-font-size) * .75)}.ea-data-table--comfortable .ea-data-table__cell{padding:calc(var(--ea-data-table-font-size) * .625) var(--ea-data-table-font-size)}.ea-data-table--spacious .ea-data-table__cell{padding:var(--ea-data-table-font-size) calc(var(--ea-data-table-font-size) * 1.5)}.ea-data-table__sizing .ea-data-table__row{border-bottom:none}.ea-data-table__sizing .ea-data-table__cell{padding-top:0;padding-bottom:0}.ea-data-table__sizing-content{overflow:hidden;visibility:hidden;height:0}.ea-data-table--sticky .ea-data-table__sizing{display:none}.ea-data-table--sticky,.ea-data-table--sticky .ea-data-table__scroll{max-height:inherit;height:inherit}.ea-data-table--sticky .ea-data-table__table{display:flex;flex-direction:column;min-width:calc(var(--ea-data-table-font-size) * 32);max-height:inherit;height:inherit}.ea-data-table--sticky .ea-data-table__head{display:block;flex-shrink:0}.ea-data-table--sticky .ea-data-table__head .ea-data-table__row--header{display:table;width:100%;table-layout:fixed}.ea-data-table--sticky .ea-data-table__body{display:block;overflow-y:auto;flex:1 1 auto;min-height:0}.ea-data-table--sticky .ea-data-table__body .ea-data-table__row{display:table;width:100%;table-layout:fixed}.ea-data-table--striped .ea-data-table__body .ea-data-table__row:nth-child(2n){background-color:var(--ea-data-table-row-stripe-background-color, var(--color-bg-stripe-subtle))}.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):not(.ea-data-table__row--placeholder):hover{background-color:var(--ea-data-table-row-hover-background-color, var(--color-state-hover))}@media(forced-colors:active){.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):not(.ea-data-table__row--placeholder):hover{background-color:Highlight;color:HighlightText}.ea-data-table--hoverable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):not(.ea-data-table__row--placeholder):hover .ea-data-table__cell--sorted{color:HighlightText}}.ea-data-table--clickable .ea-data-table__body .ea-data-table__row:not(.ea-data-table__row--empty):not(.ea-data-table__row--inert):not(.ea-data-table__row--placeholder){cursor:var(--ea-data-table-row-cursor, pointer)}.ea-data-table--linked .ea-data-table__cell{position:relative}.ea-data-table__row-link{text-decoration:none;color:inherit}.ea-data-table__row-link:hover{color:inherit}.ea-data-table__row-link:after{position:absolute;inset:0;content:\"\"}.ea-data-table__placeholder{display:inline-block;vertical-align:middle;width:100%}.ea-data-table--nowrap .ea-data-table__cell{white-space:nowrap}.ea-data-table--bordered .ea-data-table__cell{border-inline-end:var(--border-width-thin) solid var(--color-border-subtle)}.ea-data-table--bordered .ea-data-table__cell:last-child{border-inline-end:none}.ea-data-table--navigable .ea-data-table__cell:focus-visible{outline:var(--border-width-medium) solid var(--color-border-focus);outline-offset:calc(-1 * var(--border-width-medium));box-shadow:none}\n"]
|
|
14307
14938
|
}]
|
|
14308
14939
|
}],
|
|
14309
14940
|
ctorParameters: () => [],
|
|
@@ -14444,6 +15075,22 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
14444
15075
|
required: false
|
|
14445
15076
|
}]
|
|
14446
15077
|
}],
|
|
15078
|
+
loading: [{
|
|
15079
|
+
type: i0.Input,
|
|
15080
|
+
args: [{
|
|
15081
|
+
isSignal: true,
|
|
15082
|
+
alias: "loading",
|
|
15083
|
+
required: false
|
|
15084
|
+
}]
|
|
15085
|
+
}],
|
|
15086
|
+
loadingRowCount: [{
|
|
15087
|
+
type: i0.Input,
|
|
15088
|
+
args: [{
|
|
15089
|
+
isSignal: true,
|
|
15090
|
+
alias: "loadingRowCount",
|
|
15091
|
+
required: false
|
|
15092
|
+
}]
|
|
15093
|
+
}],
|
|
14447
15094
|
sort: [{
|
|
14448
15095
|
type: i0.Input,
|
|
14449
15096
|
args: [{
|
|
@@ -14463,6 +15110,10 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
14463
15110
|
type: i0.Output,
|
|
14464
15111
|
args: ["rowActivate"]
|
|
14465
15112
|
}],
|
|
15113
|
+
rowContextMenu: [{
|
|
15114
|
+
type: i0.Output,
|
|
15115
|
+
args: ["rowContextMenu"]
|
|
15116
|
+
}],
|
|
14466
15117
|
noDataTemplate: [{
|
|
14467
15118
|
type: i0.ContentChild,
|
|
14468
15119
|
args: ["noData", { isSignal: true }]
|
|
@@ -15814,6 +16465,7 @@ var DatePickerComponent = class DatePickerComponent {
|
|
|
15814
16465
|
"anchor",
|
|
15815
16466
|
"open",
|
|
15816
16467
|
"placement",
|
|
16468
|
+
"anchorPoint",
|
|
15817
16469
|
"role",
|
|
15818
16470
|
"aria-label",
|
|
15819
16471
|
"aria-labelledby",
|
|
@@ -15826,9 +16478,10 @@ var DatePickerComponent = class DatePickerComponent {
|
|
|
15826
16478
|
"maxWidth",
|
|
15827
16479
|
"closeOnOutsideClick",
|
|
15828
16480
|
"closeOnEscape",
|
|
15829
|
-
"scrollBehavior"
|
|
16481
|
+
"scrollBehavior",
|
|
16482
|
+
"contextMenu"
|
|
15830
16483
|
],
|
|
15831
|
-
outputs: ["closeRequested"]
|
|
16484
|
+
outputs: ["closeRequested", "openRequested"]
|
|
15832
16485
|
},
|
|
15833
16486
|
{
|
|
15834
16487
|
kind: "component",
|
|
@@ -16081,7 +16734,21 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
16081
16734
|
args: [{ providedIn: "root" }]
|
|
16082
16735
|
}]
|
|
16083
16736
|
});
|
|
16737
|
+
var DialogRef = class {
|
|
16738
|
+
isClosed = signal(false, ...ngDevMode ? [{ debugName: "isClosed" }] : /* istanbul ignore next */ []);
|
|
16739
|
+
settler = { settle: () => void 0 };
|
|
16740
|
+
closed = this.isClosed.asReadonly();
|
|
16741
|
+
result = new Promise((resolve) => {
|
|
16742
|
+
this.settler = { settle: resolve };
|
|
16743
|
+
});
|
|
16744
|
+
close(value) {
|
|
16745
|
+
if (untracked(this.isClosed)) return;
|
|
16746
|
+
this.isClosed.set(true);
|
|
16747
|
+
this.settler.settle(value);
|
|
16748
|
+
}
|
|
16749
|
+
};
|
|
16084
16750
|
const FLOATING_SURFACES = "dialog, .ea-popover__surface, .ea-tooltip, .ea-toast";
|
|
16751
|
+
const boundRefs = /* @__PURE__ */ new WeakSet();
|
|
16085
16752
|
var DialogComponent = class DialogComponent {
|
|
16086
16753
|
dialogEl = viewChild("dialogEl", ...ngDevMode ? [{ debugName: "dialogEl" }] : /* istanbul ignore next */ []);
|
|
16087
16754
|
headerEl = viewChild("headerEl", ...ngDevMode ? [{ debugName: "headerEl" }] : /* istanbul ignore next */ []);
|
|
@@ -16091,6 +16758,7 @@ var DialogComponent = class DialogComponent {
|
|
|
16091
16758
|
press = inject(PointerPressTracker);
|
|
16092
16759
|
scrollLock = inject(ScrollLock);
|
|
16093
16760
|
holdsScroll = false;
|
|
16761
|
+
boundRef = null;
|
|
16094
16762
|
width = input("md", ...ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []);
|
|
16095
16763
|
modal = input(true, ...ngDevMode ? [{ debugName: "modal" }] : /* istanbul ignore next */ []);
|
|
16096
16764
|
closeOnBackdrop = input(true, ...ngDevMode ? [{ debugName: "closeOnBackdrop" }] : /* istanbul ignore next */ []);
|
|
@@ -16114,6 +16782,12 @@ var DialogComponent = class DialogComponent {
|
|
|
16114
16782
|
this.hasHeader.set(!!header && (header.children.length > 0 || !!header.textContent?.trim()));
|
|
16115
16783
|
}
|
|
16116
16784
|
constructor() {
|
|
16785
|
+
const ref = inject(DialogRef, { optional: true });
|
|
16786
|
+
if (ref && !boundRefs.has(ref) && !untracked(ref.closed)) {
|
|
16787
|
+
boundRefs.add(ref);
|
|
16788
|
+
this.boundRef = ref;
|
|
16789
|
+
this.open.set(true);
|
|
16790
|
+
}
|
|
16117
16791
|
effect(() => {
|
|
16118
16792
|
const dialogRef = this.dialogEl()?.nativeElement;
|
|
16119
16793
|
const open = this.open();
|
|
@@ -16127,14 +16801,21 @@ var DialogComponent = class DialogComponent {
|
|
|
16127
16801
|
} else dialogRef.show();
|
|
16128
16802
|
this.opened.emit();
|
|
16129
16803
|
}
|
|
16130
|
-
} else if (dialogRef.open)
|
|
16131
|
-
|
|
16132
|
-
|
|
16133
|
-
|
|
16134
|
-
this.
|
|
16135
|
-
|
|
16804
|
+
} else if (dialogRef.open) this.closeSurface();
|
|
16805
|
+
});
|
|
16806
|
+
inject(DestroyRef).onDestroy(() => {
|
|
16807
|
+
if (this.boundRef) {
|
|
16808
|
+
boundRefs.delete(this.boundRef);
|
|
16809
|
+
this.closeSurface();
|
|
16810
|
+
} else this.dropScroll();
|
|
16136
16811
|
});
|
|
16137
|
-
|
|
16812
|
+
}
|
|
16813
|
+
closeSurface() {
|
|
16814
|
+
const dialog = this.dialogEl()?.nativeElement;
|
|
16815
|
+
if (dialog?.open) dialog.close();
|
|
16816
|
+
this.dropScroll();
|
|
16817
|
+
this.previouslyFocused?.focus?.();
|
|
16818
|
+
this.previouslyFocused = null;
|
|
16138
16819
|
}
|
|
16139
16820
|
holdScroll() {
|
|
16140
16821
|
if (!this.holdsScroll) {
|
|
@@ -16151,6 +16832,7 @@ var DialogComponent = class DialogComponent {
|
|
|
16151
16832
|
handleClose() {
|
|
16152
16833
|
this.open.set(false);
|
|
16153
16834
|
this.closed.emit();
|
|
16835
|
+
this.boundRef?.close();
|
|
16154
16836
|
}
|
|
16155
16837
|
requestClose() {
|
|
16156
16838
|
if (this.manualClose()) {
|
|
@@ -16438,6 +17120,94 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
16438
17120
|
}]
|
|
16439
17121
|
}
|
|
16440
17122
|
});
|
|
17123
|
+
var ServiceDialogRef = class extends DialogRef {
|
|
17124
|
+
teardown;
|
|
17125
|
+
constructor(teardown) {
|
|
17126
|
+
super();
|
|
17127
|
+
this.teardown = teardown;
|
|
17128
|
+
}
|
|
17129
|
+
close(value) {
|
|
17130
|
+
if (untracked(this.closed)) return;
|
|
17131
|
+
super.close(value);
|
|
17132
|
+
this.teardown();
|
|
17133
|
+
}
|
|
17134
|
+
};
|
|
17135
|
+
var DialogService = class DialogService {
|
|
17136
|
+
appRef = inject(ApplicationRef);
|
|
17137
|
+
document = inject(DOCUMENT);
|
|
17138
|
+
injector = inject(Injector);
|
|
17139
|
+
isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
|
|
17140
|
+
openDialogs = signal([], ...ngDevMode ? [{ debugName: "openDialogs" }] : /* istanbul ignore next */ []);
|
|
17141
|
+
dialogs = this.openDialogs.asReadonly();
|
|
17142
|
+
constructor() {
|
|
17143
|
+
inject(DestroyRef).onDestroy(() => this.closeAll());
|
|
17144
|
+
}
|
|
17145
|
+
open(component, options = {}) {
|
|
17146
|
+
let componentRef = null;
|
|
17147
|
+
const ref = new ServiceDialogRef(() => {
|
|
17148
|
+
this.openDialogs.update((open) => open.filter((dialog) => dialog !== ref));
|
|
17149
|
+
if (componentRef) {
|
|
17150
|
+
const host = componentRef.location.nativeElement;
|
|
17151
|
+
componentRef.destroy();
|
|
17152
|
+
host.remove();
|
|
17153
|
+
}
|
|
17154
|
+
});
|
|
17155
|
+
if (!this.isBrowser) {
|
|
17156
|
+
ref.close();
|
|
17157
|
+
return ref;
|
|
17158
|
+
}
|
|
17159
|
+
const parent = options.injector ?? this.injector;
|
|
17160
|
+
const created = createComponent(component, {
|
|
17161
|
+
environmentInjector: parent.get(EnvironmentInjector),
|
|
17162
|
+
elementInjector: Injector.create({
|
|
17163
|
+
providers: [{
|
|
17164
|
+
provide: DialogRef,
|
|
17165
|
+
useValue: ref
|
|
17166
|
+
}],
|
|
17167
|
+
parent
|
|
17168
|
+
})
|
|
17169
|
+
});
|
|
17170
|
+
if (untracked(ref.closed)) {
|
|
17171
|
+
created.destroy();
|
|
17172
|
+
return ref;
|
|
17173
|
+
}
|
|
17174
|
+
componentRef = created;
|
|
17175
|
+
for (const [name, value] of Object.entries(options.inputs ?? {})) created.setInput(name, value);
|
|
17176
|
+
this.appRef.attachView(created.hostView);
|
|
17177
|
+
this.document.body.appendChild(created.location.nativeElement);
|
|
17178
|
+
this.openDialogs.update((open) => [...open, ref]);
|
|
17179
|
+
return ref;
|
|
17180
|
+
}
|
|
17181
|
+
closeAll() {
|
|
17182
|
+
for (const ref of [...untracked(this.openDialogs)].reverse()) ref.close();
|
|
17183
|
+
}
|
|
17184
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
17185
|
+
minVersion: "12.0.0",
|
|
17186
|
+
version: "22.2.0",
|
|
17187
|
+
ngImport: i0,
|
|
17188
|
+
type: DialogService,
|
|
17189
|
+
deps: [],
|
|
17190
|
+
target: i0.ɵɵFactoryTarget.Injectable
|
|
17191
|
+
});
|
|
17192
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
17193
|
+
minVersion: "12.0.0",
|
|
17194
|
+
version: "22.2.0",
|
|
17195
|
+
ngImport: i0,
|
|
17196
|
+
type: DialogService,
|
|
17197
|
+
providedIn: "root"
|
|
17198
|
+
});
|
|
17199
|
+
};
|
|
17200
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
17201
|
+
minVersion: "12.0.0",
|
|
17202
|
+
version: "22.2.0",
|
|
17203
|
+
ngImport: i0,
|
|
17204
|
+
type: DialogService,
|
|
17205
|
+
decorators: [{
|
|
17206
|
+
type: Injectable,
|
|
17207
|
+
args: [{ providedIn: "root" }]
|
|
17208
|
+
}],
|
|
17209
|
+
ctorParameters: () => []
|
|
17210
|
+
});
|
|
16441
17211
|
const PUSH_PROPERTY = {
|
|
16442
17212
|
right: "padding-right",
|
|
16443
17213
|
left: "padding-left",
|
|
@@ -17339,6 +18109,7 @@ var DropdownComponent = class DropdownComponent {
|
|
|
17339
18109
|
"anchor",
|
|
17340
18110
|
"open",
|
|
17341
18111
|
"placement",
|
|
18112
|
+
"anchorPoint",
|
|
17342
18113
|
"role",
|
|
17343
18114
|
"aria-label",
|
|
17344
18115
|
"aria-labelledby",
|
|
@@ -17351,9 +18122,10 @@ var DropdownComponent = class DropdownComponent {
|
|
|
17351
18122
|
"maxWidth",
|
|
17352
18123
|
"closeOnOutsideClick",
|
|
17353
18124
|
"closeOnEscape",
|
|
17354
|
-
"scrollBehavior"
|
|
18125
|
+
"scrollBehavior",
|
|
18126
|
+
"contextMenu"
|
|
17355
18127
|
],
|
|
17356
|
-
outputs: ["closeRequested"]
|
|
18128
|
+
outputs: ["closeRequested", "openRequested"]
|
|
17357
18129
|
}
|
|
17358
18130
|
],
|
|
17359
18131
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
@@ -21159,316 +21931,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
21159
21931
|
}]
|
|
21160
21932
|
}
|
|
21161
21933
|
});
|
|
21162
|
-
var MenuComponent = class MenuComponent {
|
|
21163
|
-
injector = inject(Injector);
|
|
21164
|
-
i18n = inject(EagamiI18nService);
|
|
21165
|
-
listEl = viewChild("listEl", ...ngDevMode ? [{ debugName: "listEl" }] : /* istanbul ignore next */ []);
|
|
21166
|
-
placement = input("bottom-start", ...ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []);
|
|
21167
|
-
size = input("md", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
|
|
21168
|
-
maxHeight = input("20rem", ...ngDevMode ? [{ debugName: "maxHeight" }] : /* istanbul ignore next */ []);
|
|
21169
|
-
disabled = input(false, ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
|
|
21170
|
-
ariaLabel = input(void 0, {
|
|
21171
|
-
...ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {},
|
|
21172
|
-
alias: "aria-label"
|
|
21173
|
-
});
|
|
21174
|
-
id = input(uniqueId("ea-menu"), ...ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []);
|
|
21175
|
-
resolvedAriaLabel = computed(() => this.ariaLabel() ?? this.i18n.messages().menu.label, ...ngDevMode ? [{ debugName: "resolvedAriaLabel" }] : /* istanbul ignore next */ []);
|
|
21176
|
-
open = model(false, ...ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []);
|
|
21177
|
-
opened = output();
|
|
21178
|
-
closed = output();
|
|
21179
|
-
triggerEl = signal(void 0, ...ngDevMode ? [{ debugName: "triggerEl" }] : /* istanbul ignore next */ []);
|
|
21180
|
-
activeItemId = signal(null, ...ngDevMode ? [{ debugName: "activeItemId" }] : /* istanbul ignore next */ []);
|
|
21181
|
-
constructor() {
|
|
21182
|
-
effect(() => {
|
|
21183
|
-
if (!this.open()) {
|
|
21184
|
-
this.activeItemId.set(null);
|
|
21185
|
-
return;
|
|
21186
|
-
}
|
|
21187
|
-
afterNextRender(() => {
|
|
21188
|
-
if (this.open() && !this.activeItemId()) {
|
|
21189
|
-
const first = this.getEnabledItems()[0];
|
|
21190
|
-
if (first) this.activeItemId.set(first.id);
|
|
21191
|
-
}
|
|
21192
|
-
}, { injector: this.injector });
|
|
21193
|
-
});
|
|
21194
|
-
}
|
|
21195
|
-
toggleAt(triggerEl) {
|
|
21196
|
-
if (this.disabled()) return;
|
|
21197
|
-
if (this.open()) this.close();
|
|
21198
|
-
else this.openAt(triggerEl);
|
|
21199
|
-
}
|
|
21200
|
-
openAt(triggerEl) {
|
|
21201
|
-
if (this.disabled()) return;
|
|
21202
|
-
this.triggerEl.set(triggerEl);
|
|
21203
|
-
this.open.set(true);
|
|
21204
|
-
this.opened.emit();
|
|
21205
|
-
afterNextRender(() => this.focusFirstItem(), { injector: this.injector });
|
|
21206
|
-
}
|
|
21207
|
-
close(restoreFocus = false) {
|
|
21208
|
-
if (!this.open()) return;
|
|
21209
|
-
this.open.set(false);
|
|
21210
|
-
this.closed.emit();
|
|
21211
|
-
if (restoreFocus) this.triggerEl()?.focus({ preventScroll: true });
|
|
21212
|
-
}
|
|
21213
|
-
onPopoverCloseRequested() {
|
|
21214
|
-
this.close();
|
|
21215
|
-
}
|
|
21216
|
-
getEnabledItems() {
|
|
21217
|
-
const list = this.listEl()?.nativeElement;
|
|
21218
|
-
if (!list) return [];
|
|
21219
|
-
return Array.from(list.querySelectorAll("[role=\"menuitem\"]:not([disabled])"));
|
|
21220
|
-
}
|
|
21221
|
-
focusFirstItem() {
|
|
21222
|
-
this.focusItem(this.getEnabledItems()[0]);
|
|
21223
|
-
}
|
|
21224
|
-
focusItem(item) {
|
|
21225
|
-
if (!item) return;
|
|
21226
|
-
this.activeItemId.set(item.id);
|
|
21227
|
-
item.focus({ preventScroll: true });
|
|
21228
|
-
}
|
|
21229
|
-
onKeydown(event) {
|
|
21230
|
-
if (!this.open()) return;
|
|
21231
|
-
const list = this.listEl()?.nativeElement;
|
|
21232
|
-
const active = document.activeElement;
|
|
21233
|
-
if (!list || !active || !list.contains(active)) return;
|
|
21234
|
-
const items = this.getEnabledItems();
|
|
21235
|
-
if (items.length === 0) return;
|
|
21236
|
-
const current = items.indexOf(active);
|
|
21237
|
-
let next = -1;
|
|
21238
|
-
switch (event.key) {
|
|
21239
|
-
case "ArrowDown":
|
|
21240
|
-
event.preventDefault();
|
|
21241
|
-
next = current < items.length - 1 ? current + 1 : 0;
|
|
21242
|
-
break;
|
|
21243
|
-
case "ArrowUp":
|
|
21244
|
-
event.preventDefault();
|
|
21245
|
-
next = current > 0 ? current - 1 : items.length - 1;
|
|
21246
|
-
break;
|
|
21247
|
-
case "Home":
|
|
21248
|
-
event.preventDefault();
|
|
21249
|
-
next = 0;
|
|
21250
|
-
break;
|
|
21251
|
-
case "End":
|
|
21252
|
-
event.preventDefault();
|
|
21253
|
-
next = items.length - 1;
|
|
21254
|
-
break;
|
|
21255
|
-
}
|
|
21256
|
-
if (next >= 0) this.focusItem(items[next]);
|
|
21257
|
-
}
|
|
21258
|
-
onEscape(event) {
|
|
21259
|
-
if (!this.open()) return;
|
|
21260
|
-
event.preventDefault();
|
|
21261
|
-
this.close(true);
|
|
21262
|
-
}
|
|
21263
|
-
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
21264
|
-
minVersion: "12.0.0",
|
|
21265
|
-
version: "22.2.0",
|
|
21266
|
-
ngImport: i0,
|
|
21267
|
-
type: MenuComponent,
|
|
21268
|
-
deps: [],
|
|
21269
|
-
target: i0.ɵɵFactoryTarget.Component
|
|
21270
|
-
});
|
|
21271
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
21272
|
-
minVersion: "17.2.0",
|
|
21273
|
-
version: "22.2.0",
|
|
21274
|
-
type: MenuComponent,
|
|
21275
|
-
isStandalone: true,
|
|
21276
|
-
selector: "ea-menu",
|
|
21277
|
-
inputs: {
|
|
21278
|
-
placement: {
|
|
21279
|
-
classPropertyName: "placement",
|
|
21280
|
-
publicName: "placement",
|
|
21281
|
-
isSignal: true,
|
|
21282
|
-
isRequired: false,
|
|
21283
|
-
transformFunction: null
|
|
21284
|
-
},
|
|
21285
|
-
size: {
|
|
21286
|
-
classPropertyName: "size",
|
|
21287
|
-
publicName: "size",
|
|
21288
|
-
isSignal: true,
|
|
21289
|
-
isRequired: false,
|
|
21290
|
-
transformFunction: null
|
|
21291
|
-
},
|
|
21292
|
-
maxHeight: {
|
|
21293
|
-
classPropertyName: "maxHeight",
|
|
21294
|
-
publicName: "maxHeight",
|
|
21295
|
-
isSignal: true,
|
|
21296
|
-
isRequired: false,
|
|
21297
|
-
transformFunction: null
|
|
21298
|
-
},
|
|
21299
|
-
disabled: {
|
|
21300
|
-
classPropertyName: "disabled",
|
|
21301
|
-
publicName: "disabled",
|
|
21302
|
-
isSignal: true,
|
|
21303
|
-
isRequired: false,
|
|
21304
|
-
transformFunction: null
|
|
21305
|
-
},
|
|
21306
|
-
ariaLabel: {
|
|
21307
|
-
classPropertyName: "ariaLabel",
|
|
21308
|
-
publicName: "aria-label",
|
|
21309
|
-
isSignal: true,
|
|
21310
|
-
isRequired: false,
|
|
21311
|
-
transformFunction: null
|
|
21312
|
-
},
|
|
21313
|
-
id: {
|
|
21314
|
-
classPropertyName: "id",
|
|
21315
|
-
publicName: "id",
|
|
21316
|
-
isSignal: true,
|
|
21317
|
-
isRequired: false,
|
|
21318
|
-
transformFunction: null
|
|
21319
|
-
},
|
|
21320
|
-
open: {
|
|
21321
|
-
classPropertyName: "open",
|
|
21322
|
-
publicName: "open",
|
|
21323
|
-
isSignal: true,
|
|
21324
|
-
isRequired: false,
|
|
21325
|
-
transformFunction: null
|
|
21326
|
-
}
|
|
21327
|
-
},
|
|
21328
|
-
outputs: {
|
|
21329
|
-
open: "openChange",
|
|
21330
|
-
opened: "opened",
|
|
21331
|
-
closed: "closed"
|
|
21332
|
-
},
|
|
21333
|
-
host: { listeners: {
|
|
21334
|
-
"document:keydown": "onKeydown($event)",
|
|
21335
|
-
"document:keydown.escape": "onEscape($event)"
|
|
21336
|
-
} },
|
|
21337
|
-
viewQueries: [{
|
|
21338
|
-
propertyName: "listEl",
|
|
21339
|
-
first: true,
|
|
21340
|
-
predicate: ["listEl"],
|
|
21341
|
-
descendants: true,
|
|
21342
|
-
isSignal: true
|
|
21343
|
-
}],
|
|
21344
|
-
ngImport: i0,
|
|
21345
|
-
template: "<ea-popover\n [anchor]=\"triggerEl()\"\n [open]=\"open()\"\n [placement]=\"placement()\"\n role=\"menu\"\n [surfaceId]=\"id()\"\n [aria-label]=\"resolvedAriaLabel()\"\n [closeOnEscape]=\"false\"\n scrollBehavior=\"reposition\"\n (closeRequested)=\"onPopoverCloseRequested()\">\n <div\n #listEl\n class=\"ea-menu__list ea-menu__list--{{ size() }}\"\n [style.max-height]=\"maxHeight()\">\n <ng-content />\n </div>\n</ea-popover>\n",
|
|
21346
|
-
styles: [":host{display:contents}.ea-menu__list{min-width:10em;padding:.25em 0;overflow-y:auto;border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);background-color:var(--ea-menu-list-background-color, var(--color-bg-elevated))}@media(forced-colors:active){.ea-menu__list{border:1px solid CanvasText}}.ea-menu__list--2xs{font-size:var(--font-size-2xs)}.ea-menu__list--xs{font-size:var(--font-size-xs)}.ea-menu__list--sm{font-size:var(--font-size-sm)}.ea-menu__list--md{font-size:var(--font-size-md)}.ea-menu__list--lg{font-size:var(--font-size-lg)}.ea-menu__list--xl{font-size:var(--font-size-xl)}\n"],
|
|
21347
|
-
dependencies: [{
|
|
21348
|
-
kind: "component",
|
|
21349
|
-
type: PopoverComponent,
|
|
21350
|
-
selector: "ea-popover",
|
|
21351
|
-
inputs: [
|
|
21352
|
-
"anchor",
|
|
21353
|
-
"open",
|
|
21354
|
-
"placement",
|
|
21355
|
-
"role",
|
|
21356
|
-
"aria-label",
|
|
21357
|
-
"aria-labelledby",
|
|
21358
|
-
"trapFocus",
|
|
21359
|
-
"surfaceId",
|
|
21360
|
-
"offset",
|
|
21361
|
-
"flip",
|
|
21362
|
-
"clamp",
|
|
21363
|
-
"matchAnchorWidth",
|
|
21364
|
-
"maxWidth",
|
|
21365
|
-
"closeOnOutsideClick",
|
|
21366
|
-
"closeOnEscape",
|
|
21367
|
-
"scrollBehavior"
|
|
21368
|
-
],
|
|
21369
|
-
outputs: ["closeRequested"]
|
|
21370
|
-
}],
|
|
21371
|
-
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
21372
|
-
});
|
|
21373
|
-
};
|
|
21374
|
-
i0.ɵɵngDeclareClassMetadata({
|
|
21375
|
-
minVersion: "12.0.0",
|
|
21376
|
-
version: "22.2.0",
|
|
21377
|
-
ngImport: i0,
|
|
21378
|
-
type: MenuComponent,
|
|
21379
|
-
decorators: [{
|
|
21380
|
-
type: Component,
|
|
21381
|
-
args: [{
|
|
21382
|
-
selector: "ea-menu",
|
|
21383
|
-
imports: [PopoverComponent],
|
|
21384
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
21385
|
-
template: "<ea-popover\n [anchor]=\"triggerEl()\"\n [open]=\"open()\"\n [placement]=\"placement()\"\n role=\"menu\"\n [surfaceId]=\"id()\"\n [aria-label]=\"resolvedAriaLabel()\"\n [closeOnEscape]=\"false\"\n scrollBehavior=\"reposition\"\n (closeRequested)=\"onPopoverCloseRequested()\">\n <div\n #listEl\n class=\"ea-menu__list ea-menu__list--{{ size() }}\"\n [style.max-height]=\"maxHeight()\">\n <ng-content />\n </div>\n</ea-popover>\n",
|
|
21386
|
-
styles: [":host{display:contents}.ea-menu__list{min-width:10em;padding:.25em 0;overflow-y:auto;border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);background-color:var(--ea-menu-list-background-color, var(--color-bg-elevated))}@media(forced-colors:active){.ea-menu__list{border:1px solid CanvasText}}.ea-menu__list--2xs{font-size:var(--font-size-2xs)}.ea-menu__list--xs{font-size:var(--font-size-xs)}.ea-menu__list--sm{font-size:var(--font-size-sm)}.ea-menu__list--md{font-size:var(--font-size-md)}.ea-menu__list--lg{font-size:var(--font-size-lg)}.ea-menu__list--xl{font-size:var(--font-size-xl)}\n"]
|
|
21387
|
-
}]
|
|
21388
|
-
}],
|
|
21389
|
-
ctorParameters: () => [],
|
|
21390
|
-
propDecorators: {
|
|
21391
|
-
listEl: [{
|
|
21392
|
-
type: i0.ViewChild,
|
|
21393
|
-
args: ["listEl", { isSignal: true }]
|
|
21394
|
-
}],
|
|
21395
|
-
placement: [{
|
|
21396
|
-
type: i0.Input,
|
|
21397
|
-
args: [{
|
|
21398
|
-
isSignal: true,
|
|
21399
|
-
alias: "placement",
|
|
21400
|
-
required: false
|
|
21401
|
-
}]
|
|
21402
|
-
}],
|
|
21403
|
-
size: [{
|
|
21404
|
-
type: i0.Input,
|
|
21405
|
-
args: [{
|
|
21406
|
-
isSignal: true,
|
|
21407
|
-
alias: "size",
|
|
21408
|
-
required: false
|
|
21409
|
-
}]
|
|
21410
|
-
}],
|
|
21411
|
-
maxHeight: [{
|
|
21412
|
-
type: i0.Input,
|
|
21413
|
-
args: [{
|
|
21414
|
-
isSignal: true,
|
|
21415
|
-
alias: "maxHeight",
|
|
21416
|
-
required: false
|
|
21417
|
-
}]
|
|
21418
|
-
}],
|
|
21419
|
-
disabled: [{
|
|
21420
|
-
type: i0.Input,
|
|
21421
|
-
args: [{
|
|
21422
|
-
isSignal: true,
|
|
21423
|
-
alias: "disabled",
|
|
21424
|
-
required: false
|
|
21425
|
-
}]
|
|
21426
|
-
}],
|
|
21427
|
-
ariaLabel: [{
|
|
21428
|
-
type: i0.Input,
|
|
21429
|
-
args: [{
|
|
21430
|
-
isSignal: true,
|
|
21431
|
-
alias: "aria-label",
|
|
21432
|
-
required: false
|
|
21433
|
-
}]
|
|
21434
|
-
}],
|
|
21435
|
-
id: [{
|
|
21436
|
-
type: i0.Input,
|
|
21437
|
-
args: [{
|
|
21438
|
-
isSignal: true,
|
|
21439
|
-
alias: "id",
|
|
21440
|
-
required: false
|
|
21441
|
-
}]
|
|
21442
|
-
}],
|
|
21443
|
-
open: [{
|
|
21444
|
-
type: i0.Input,
|
|
21445
|
-
args: [{
|
|
21446
|
-
isSignal: true,
|
|
21447
|
-
alias: "open",
|
|
21448
|
-
required: false
|
|
21449
|
-
}]
|
|
21450
|
-
}, {
|
|
21451
|
-
type: i0.Output,
|
|
21452
|
-
args: ["openChange"]
|
|
21453
|
-
}],
|
|
21454
|
-
opened: [{
|
|
21455
|
-
type: i0.Output,
|
|
21456
|
-
args: ["opened"]
|
|
21457
|
-
}],
|
|
21458
|
-
closed: [{
|
|
21459
|
-
type: i0.Output,
|
|
21460
|
-
args: ["closed"]
|
|
21461
|
-
}],
|
|
21462
|
-
onKeydown: [{
|
|
21463
|
-
type: HostListener,
|
|
21464
|
-
args: ["document:keydown", ["$event"]]
|
|
21465
|
-
}],
|
|
21466
|
-
onEscape: [{
|
|
21467
|
-
type: HostListener,
|
|
21468
|
-
args: ["document:keydown.escape", ["$event"]]
|
|
21469
|
-
}]
|
|
21470
|
-
}
|
|
21471
|
-
});
|
|
21472
21934
|
var MenuItemComponent = class MenuItemComponent {
|
|
21473
21935
|
menu = inject(MenuComponent, { optional: true });
|
|
21474
21936
|
itemId = uniqueId("ea-menu-item");
|
|
@@ -22596,6 +23058,7 @@ var MultiSelectComponent = class MultiSelectComponent {
|
|
|
22596
23058
|
"anchor",
|
|
22597
23059
|
"open",
|
|
22598
23060
|
"placement",
|
|
23061
|
+
"anchorPoint",
|
|
22599
23062
|
"role",
|
|
22600
23063
|
"aria-label",
|
|
22601
23064
|
"aria-labelledby",
|
|
@@ -22608,9 +23071,10 @@ var MultiSelectComponent = class MultiSelectComponent {
|
|
|
22608
23071
|
"maxWidth",
|
|
22609
23072
|
"closeOnOutsideClick",
|
|
22610
23073
|
"closeOnEscape",
|
|
22611
|
-
"scrollBehavior"
|
|
23074
|
+
"scrollBehavior",
|
|
23075
|
+
"contextMenu"
|
|
22612
23076
|
],
|
|
22613
|
-
outputs: ["closeRequested"]
|
|
23077
|
+
outputs: ["closeRequested", "openRequested"]
|
|
22614
23078
|
},
|
|
22615
23079
|
{
|
|
22616
23080
|
kind: "component",
|
|
@@ -29623,6 +30087,7 @@ var TimePickerComponent = class TimePickerComponent {
|
|
|
29623
30087
|
"anchor",
|
|
29624
30088
|
"open",
|
|
29625
30089
|
"placement",
|
|
30090
|
+
"anchorPoint",
|
|
29626
30091
|
"role",
|
|
29627
30092
|
"aria-label",
|
|
29628
30093
|
"aria-labelledby",
|
|
@@ -29635,9 +30100,10 @@ var TimePickerComponent = class TimePickerComponent {
|
|
|
29635
30100
|
"maxWidth",
|
|
29636
30101
|
"closeOnOutsideClick",
|
|
29637
30102
|
"closeOnEscape",
|
|
29638
|
-
"scrollBehavior"
|
|
30103
|
+
"scrollBehavior",
|
|
30104
|
+
"contextMenu"
|
|
29639
30105
|
],
|
|
29640
|
-
outputs: ["closeRequested"]
|
|
30106
|
+
outputs: ["closeRequested", "openRequested"]
|
|
29641
30107
|
},
|
|
29642
30108
|
{
|
|
29643
30109
|
kind: "component",
|
|
@@ -73353,6 +73819,6 @@ const ICONS = [
|
|
|
73353
73819
|
ZoomInIconComponent,
|
|
73354
73820
|
ZoomOutIconComponent
|
|
73355
73821
|
].sort((a, b) => a.slug.localeCompare(b.slug));
|
|
73356
|
-
export { AccessibilityIconComponent, AccordionComponent, AccordionItemComponent, ActivityIconComponent, AirplayIconComponent, AlarmClockIconComponent, AlertCircleIconComponent, AlertComponent, AlertOctagonIconComponent, AlertTriangleIconComponent, AlignCenterIconComponent, AlignJustifyIconComponent, AlignLeftIconComponent, AlignRightIconComponent, AnchorIconComponent, AndroidIconComponent, AngularIconComponent, AnthropicIconComponent, ApertureIconComponent, ArchiveIconComponent, ArrayIconComponent, ArrowDownCircleIconComponent, ArrowDownIconComponent, ArrowDownLeftIconComponent, ArrowDownRightIconComponent, ArrowLeftCircleIconComponent, ArrowLeftIconComponent, ArrowLeftRightIconComponent, ArrowRightCircleIconComponent, ArrowRightIconComponent, ArrowUpCircleIconComponent, ArrowUpDownIconComponent, ArrowUpIconComponent, ArrowUpLeftIconComponent, ArrowUpRightIconComponent, AspectRatioIconComponent, AtSignIconComponent, AutocompleteComponent, AvatarComponent, AvatarEditorComponent, AwardIconComponent, BadgeCheckIconComponent, BadgeComponent, BanIconComponent, BarChart2IconComponent, BarChartComponent, BarChartIconComponent, BatteryChargingIconComponent, BatteryIconComponent, BellIconComponent, BellOffIconComponent, BellRingIconComponent, BitcoinIconComponent, BlueskyIconComponent, BluetoothIconComponent, BoldIconComponent, BookIconComponent, BookOpenIconComponent, BookmarkCheckIconComponent, BookmarkIconComponent, BookmarkPlusIconComponent, BoomboxIconComponent, BotIconComponent, BottleIconComponent, BoxIconComponent, BrainIconComponent, BreadcrumbsComponent, BriefcaseIconComponent, BugIconComponent, BuildingIconComponent, ButtonComponent, ButtonLinkComponent, CalculatorIconComponent, CalendarCheckIconComponent, CalendarDaysIconComponent, CalendarIconComponent, CalendarPlusIconComponent, CameraIconComponent, CameraOffIconComponent, CandleIconComponent, CardComponent, CassetteTapeIconComponent, CastIconComponent, CheckCheckIconComponent, CheckCircleIconComponent, CheckIconComponent, CheckSquareIconComponent, CheckboxComponent, ChevronDownIconComponent, ChevronLeftIconComponent, ChevronRightIconComponent, ChevronUpIconComponent, ChevronsDownIconComponent, ChevronsLeftIconComponent, ChevronsRightIconComponent, ChevronsUpDownIconComponent, ChevronsUpIconComponent, ChromeIconComponent, CircleIconComponent, ClapperboardIconComponent, ClipboardCheckIconComponent, ClipboardIconComponent, ClipboardListIconComponent, ClipboardPasteIconComponent, ClockIconComponent, CloudDrizzleIconComponent, CloudIconComponent, CloudLightningIconComponent, CloudOffIconComponent, CloudRainIconComponent, CloudSnowIconComponent, CloudSunIconComponent, CloudflareIconComponent, CodeIconComponent, CodeInputComponent, CodepenIconComponent, CodesandboxIconComponent, CoffeeIconComponent, CoinsIconComponent, ColorPickerComponent, ColumnsIconComponent, CommandIconComponent, CommandPaletteComponent, CompassIconComponent, ContrastIconComponent, CookieIconComponent, CopyIconComponent, CornerDownLeftIconComponent, CornerDownRightIconComponent, CornerLeftDownIconComponent, CornerLeftUpIconComponent, CornerRightDownIconComponent, CornerRightUpIconComponent, CornerUpLeftIconComponent, CornerUpRightIconComponent, CosineWaveIconComponent, CpuIconComponent, CreditCardIconComponent, CropIconComponent, CrosshairIconComponent, CrownIconComponent, DEFAULT_PALETTE_ROLES, DataTableComponent, DatabaseIconComponent, DatePickerComponent, DeleteIconComponent, DialogComponent, DiamondIconComponent, Dice1IconComponent, Dice2IconComponent, Dice3IconComponent, Dice4IconComponent, Dice5IconComponent, Dice6IconComponent, DiscIconComponent, DiscordIconComponent, DivideCircleIconComponent, DivideIconComponent, DivideSquareIconComponent, DividerComponent, DockerIconComponent, DollarSignIconComponent, DoubleExclamationMarkIconComponent, DoubleQuestionMarkIconComponent, DownloadCloudIconComponent, DownloadIconComponent, DrawerComponent, DribbbleIconComponent, DropboxIconComponent, DropdownComponent, DropletIconComponent, EAGAMI_ALL_LOCALES, EAGAMI_I18N_CONFIG, EAGAMI_LOCALES, EAGAMI_LOCALE_META, EagamiI18nService, EagamiIconComponent, EagamiWordmarkComponent, Edit2IconComponent, Edit3IconComponent, EditIconComponent, EjectIconComponent, EmptyStateComponent, EuroIconComponent, ExclamationMarkIconComponent, ExclamationQuestionMarkIconComponent, ExternalLinkIconComponent, EyeIconComponent, EyeOffIconComponent, Facebook2IconComponent, FacebookIconComponent, FastForwardIconComponent, FeatherIconComponent, FieldLabelComponent, FieldMessagesComponent, Figma2IconComponent, FigmaIconComponent, FileAudioIconComponent, FileCheckIconComponent, FileCodeIconComponent, FileIconComponent, FileImageIconComponent, FileMinusIconComponent, FilePdfIconComponent, FilePlusIconComponent, FileTextIconComponent, FileUploaderComponent, FileVideoIconComponent, FilmIconComponent, FilterIconComponent, FilterXIconComponent, FingerprintIconComponent, FirstPlaceMedalIconComponent, FlagIconComponent, FlameIconComponent, FlaskConicalIconComponent, FolderIconComponent, FolderMinusIconComponent, FolderOpenIconComponent, FolderPlusIconComponent, FormFieldComponent, ForwardIconComponent, FramerIconComponent, FrownIconComponent, GaugeIconComponent, GeminiIconComponent, GiftIconComponent, GitBranchIconComponent, GitCommitIconComponent, GitCompareIconComponent, GitMergeIconComponent, GitPullRequestIconComponent, Github2IconComponent, GithubIconComponent, GitlabIconComponent, GlobeIconComponent, GoogleIconComponent, GraduationCapIconComponent, GridIconComponent, GripHorizontalIconComponent, GripVerticalIconComponent, HalfCircleIconComponent, HalfHeartIconComponent, HardDriveIconComponent, HashIconComponent, HeadphonesIconComponent, HeadsetIconComponent, HeartIconComponent, HelpCircleIconComponent, HeptagonIconComponent, HexagonIconComponent, HistoryIconComponent, HomeIconComponent, HourglassIconComponent, ICONS, IconComponentBase, ImageIconComponent, ImagePlayIconComponent, ImagePlusIconComponent, ImageSearchIconComponent, ImagesIconComponent, InboxIconComponent, InfoIconComponent, InputComponent, InstagramIconComponent, ItalicIconComponent, KeyIconComponent, KeyboardIconComponent, KeyframeIconComponent, KubernetesIconComponent, LampIconComponent, LanguagesIconComponent, LaptopIconComponent, LayersIconComponent, LayoutDashboardIconComponent, LayoutIconComponent, LeafIconComponent, LeftHalfStarIconComponent, LifeBuoyIconComponent, LightbulbIconComponent, LineChartComponent, Link2IconComponent, LinkIconComponent, Linkedin2IconComponent, LinkedinIconComponent, ListChecksIconComponent, ListIconComponent, ListOrderedIconComponent, LoaderIconComponent, LockIconComponent, LogInIconComponent, LogOutIconComponent, MailCheckIconComponent, MailIconComponent, MapIconComponent, MapPinIconComponent, MastercardIconComponent, Maximize2IconComponent, MaximizeIconComponent, MegaphoneIconComponent, MehIconComponent, MenuComponent, MenuIconComponent, MenuItemComponent, MenuTriggerDirective, MessageCircleIconComponent, MessageSquareIconComponent, MicIconComponent, MicOffIconComponent, MicVocalIconComponent, MicroscopeIconComponent, MicrosoftIconComponent, Minimize2IconComponent, MinimizeIconComponent, MinusCircleIconComponent, MinusIconComponent, MinusSquareIconComponent, MongodbIconComponent, MonitorIconComponent, MonitorPlayIconComponent, MoonIconComponent, MoreHorizontalIconComponent, MoreVerticalIconComponent, MousePointerIconComponent, MoveIconComponent, MultiSelectComponent, MusicIconComponent, Navigation2IconComponent, NavigationIconComponent, NetlifyIconComponent, NewspaperIconComponent, NodejsIconComponent, NotionIconComponent, NpmIconComponent, NumberInputComponent, OctagonIconComponent, PAGE_SIZE_ALL, PackageIconComponent, PaginatorComponent, PaletteIconComponent, PaperclipIconComponent, PauseCircleIconComponent, PauseIconComponent, PaypalIconComponent, PenToolIconComponent, PentagonIconComponent, PercentIconComponent, PhoneCallIconComponent, PhoneForwardedIconComponent, PhoneIconComponent, PhoneIncomingIconComponent, PhoneMissedIconComponent, PhoneOffIconComponent, PhoneOutgoingIconComponent, PictureInPictureIconComponent, PieChartComponent, PieChartIconComponent, PinIconComponent, PinterestIconComponent, PlaneIconComponent, PlayCircleIconComponent, PlayIconComponent, PlaylistIconComponent, PlugIconComponent, PlusCircleIconComponent, PlusIconComponent, PlusSquareIconComponent, PocketIconComponent, PodcastIconComponent, PopoverComponent, PowerIconComponent, PrinterIconComponent, ProgressBarComponent, ProjectorIconComponent, PythonIconComponent, QrCodeIconComponent, QuestionExclamationMarkIconComponent, QuestionMarkIconComponent, QuoteIconComponent, RadioComponent, RadioGroupComponent, RadioIconComponent, RadioReceiverIconComponent, RadioTowerIconComponent, RangeSliderComponent, RatingComponent, ReactIconComponent, ReceiptIconComponent, RecordIconComponent, RectangleHorizontalIconComponent, RectangleVerticalIconComponent, RedditIconComponent, RedoIconComponent, RefreshCcwIconComponent, RefreshCwIconComponent, Repeat1IconComponent, RepeatIconComponent, ReplyIconComponent, RewindIconComponent, RightHalfStarIconComponent, RocketIconComponent, RotateCcwIconComponent, RotateCcwSquareIconComponent, RotateCwIconComponent, RowsIconComponent, RssIconComponent, SaveIconComponent, ScanIconComponent, ScissorsIconComponent, ScreenShareIconComponent, SearchIconComponent, SecondPlaceMedalIconComponent, SegmentedComponent, SendIconComponent, ServerIconComponent, SettingsIconComponent, Share2IconComponent, ShareIconComponent, ShieldAlertIconComponent, ShieldCheckIconComponent, ShieldIconComponent, ShieldOffIconComponent, ShopifyIconComponent, ShoppingBagIconComponent, ShoppingCartIconComponent, ShuffleIconComponent, SidebarIconComponent, SineWaveIconComponent, SkeletonComponent, SkipBackIconComponent, SkipForwardIconComponent, Slack2IconComponent, SlackIconComponent, SlashIconComponent, SliderComponent, SlidersIconComponent, SmartphoneIconComponent, SmileIconComponent, SnowflakeIconComponent, SoccerBallIconComponent, SparklesIconComponent, SpeakerIconComponent, SpinnerComponent, SpotifyIconComponent, SquareIconComponent, SquarePlayIconComponent, StarIconComponent, StepBackIconComponent, StepComponent, StepForwardIconComponent, StepperComponent, StopCircleIconComponent, StrikethroughIconComponent, StripeIconComponent, SubtitlesIconComponent, SubtitlesOffIconComponent, SunIconComponent, SunriseIconComponent, SunsetIconComponent, SvelteIconComponent, SwitchCameraIconComponent, SwitchComponent, TabComponent, TableIconComponent, TabletIconComponent, TabsComponent, TagComponent, TagIconComponent, TailwindIconComponent, TargetIconComponent, TelegramIconComponent, TerminalIconComponent, TextareaComponent, ThermometerIconComponent, ThirdPlaceMedalIconComponent, ThreadsIconComponent, ThumbsDownIconComponent, ThumbsUpIconComponent, TiktokIconComponent, TimePickerComponent, TimecodeIconComponent, TimelineComponent, TimerIconComponent, ToastComponent, ToastService, ToggleLeftIconComponent, ToggleRightIconComponent, ToolIconComponent, TooltipDirective, TranscodeIconComponent, TransferListComponent, Trash2IconComponent, TrashIconComponent, TreeComponent, TrelloIconComponent, TrendingDownIconComponent, TrendingUpIconComponent, TriangleIconComponent, TrimIconComponent, TrophyIconComponent, TruckIconComponent, TvIconComponent, Twitch2IconComponent, TwitchIconComponent, TwitterIconComponent, TypeIconComponent, UmbrellaIconComponent, UnderlineIconComponent, UndoIconComponent, UnlinkIconComponent, UnlockIconComponent, UploadCloudIconComponent, UploadIconComponent, UserCheckIconComponent, UserCircleIconComponent, UserIconComponent, UserMinusIconComponent, UserPlusIconComponent, UserXIconComponent, UsersIconComponent, VercelIconComponent, VideoIconComponent, VideoOffIconComponent, VirtualListComponent, VoicemailIconComponent, Volume1IconComponent, Volume2IconComponent, VolumeIconComponent, VolumeXIconComponent, VueIconComponent, WCAG_AA, WalletIconComponent, WandIconComponent, WatchIconComponent, WaveformIconComponent, WebcamIconComponent, WhatsappIconComponent, WifiIconComponent, WifiOffIconComponent, WindIconComponent, WordpressIconComponent, XCircleIconComponent, XIconComponent, XOctagonIconComponent, XSquareIconComponent, XTwitterIconComponent, Youtube2IconComponent, YoutubeIconComponent, ZapIconComponent, ZapOffIconComponent, ZoomInIconComponent, ZoomOutIconComponent, applyPalette, ar, computePopoverPosition, contrastRatio, de, derivePalette, el, en, esES, formatViolations, frFR, frenchSpacing, he, hexToOklch, hi, iconDisplayName, is, isGrouped, nl, oklchToHex, pl, provideEagamiUi, ptBR, relativeLuminance, ru, uk, validatePalette, visibleNodeIds, walkTree, zhCN };
|
|
73822
|
+
export { AccessibilityIconComponent, AccordionComponent, AccordionItemComponent, ActivityIconComponent, AirplayIconComponent, AlarmClockIconComponent, AlertCircleIconComponent, AlertComponent, AlertOctagonIconComponent, AlertTriangleIconComponent, AlignCenterIconComponent, AlignJustifyIconComponent, AlignLeftIconComponent, AlignRightIconComponent, AnchorIconComponent, AndroidIconComponent, AngularIconComponent, AnthropicIconComponent, ApertureIconComponent, ArchiveIconComponent, ArrayIconComponent, ArrowDownCircleIconComponent, ArrowDownIconComponent, ArrowDownLeftIconComponent, ArrowDownRightIconComponent, ArrowLeftCircleIconComponent, ArrowLeftIconComponent, ArrowLeftRightIconComponent, ArrowRightCircleIconComponent, ArrowRightIconComponent, ArrowUpCircleIconComponent, ArrowUpDownIconComponent, ArrowUpIconComponent, ArrowUpLeftIconComponent, ArrowUpRightIconComponent, AspectRatioIconComponent, AtSignIconComponent, AutocompleteComponent, AvatarComponent, AvatarEditorComponent, AwardIconComponent, BadgeCheckIconComponent, BadgeComponent, BanIconComponent, BarChart2IconComponent, BarChartComponent, BarChartIconComponent, BatteryChargingIconComponent, BatteryIconComponent, BellIconComponent, BellOffIconComponent, BellRingIconComponent, BitcoinIconComponent, BlueskyIconComponent, BluetoothIconComponent, BoldIconComponent, BookIconComponent, BookOpenIconComponent, BookmarkCheckIconComponent, BookmarkIconComponent, BookmarkPlusIconComponent, BoomboxIconComponent, BotIconComponent, BottleIconComponent, BoxIconComponent, BrainIconComponent, BreadcrumbsComponent, BriefcaseIconComponent, BugIconComponent, BuildingIconComponent, ButtonComponent, ButtonLinkComponent, CalculatorIconComponent, CalendarCheckIconComponent, CalendarDaysIconComponent, CalendarIconComponent, CalendarPlusIconComponent, CameraIconComponent, CameraOffIconComponent, CandleIconComponent, CardComponent, CassetteTapeIconComponent, CastIconComponent, CheckCheckIconComponent, CheckCircleIconComponent, CheckIconComponent, CheckSquareIconComponent, CheckboxComponent, ChevronDownIconComponent, ChevronLeftIconComponent, ChevronRightIconComponent, ChevronUpIconComponent, ChevronsDownIconComponent, ChevronsLeftIconComponent, ChevronsRightIconComponent, ChevronsUpDownIconComponent, ChevronsUpIconComponent, ChromeIconComponent, CircleIconComponent, ClapperboardIconComponent, ClipboardCheckIconComponent, ClipboardIconComponent, ClipboardListIconComponent, ClipboardPasteIconComponent, ClockIconComponent, CloudDrizzleIconComponent, CloudIconComponent, CloudLightningIconComponent, CloudOffIconComponent, CloudRainIconComponent, CloudSnowIconComponent, CloudSunIconComponent, CloudflareIconComponent, CodeIconComponent, CodeInputComponent, CodepenIconComponent, CodesandboxIconComponent, CoffeeIconComponent, CoinsIconComponent, ColorPickerComponent, ColumnsIconComponent, CommandIconComponent, CommandPaletteComponent, CompassIconComponent, ContextMenuTriggerDirective, ContrastIconComponent, CookieIconComponent, CopyIconComponent, CornerDownLeftIconComponent, CornerDownRightIconComponent, CornerLeftDownIconComponent, CornerLeftUpIconComponent, CornerRightDownIconComponent, CornerRightUpIconComponent, CornerUpLeftIconComponent, CornerUpRightIconComponent, CosineWaveIconComponent, CpuIconComponent, CreditCardIconComponent, CropIconComponent, CrosshairIconComponent, CrownIconComponent, DEFAULT_PALETTE_ROLES, DataTableComponent, DatabaseIconComponent, DatePickerComponent, DeleteIconComponent, DialogComponent, DialogRef, DialogService, DiamondIconComponent, Dice1IconComponent, Dice2IconComponent, Dice3IconComponent, Dice4IconComponent, Dice5IconComponent, Dice6IconComponent, DiscIconComponent, DiscordIconComponent, DivideCircleIconComponent, DivideIconComponent, DivideSquareIconComponent, DividerComponent, DockerIconComponent, DollarSignIconComponent, DoubleExclamationMarkIconComponent, DoubleQuestionMarkIconComponent, DownloadCloudIconComponent, DownloadIconComponent, DrawerComponent, DribbbleIconComponent, DropboxIconComponent, DropdownComponent, DropletIconComponent, EAGAMI_ALL_LOCALES, EAGAMI_I18N_CONFIG, EAGAMI_LOCALES, EAGAMI_LOCALE_META, EagamiI18nService, EagamiIconComponent, EagamiWordmarkComponent, Edit2IconComponent, Edit3IconComponent, EditIconComponent, EjectIconComponent, EmptyStateComponent, EuroIconComponent, ExclamationMarkIconComponent, ExclamationQuestionMarkIconComponent, ExternalLinkIconComponent, EyeIconComponent, EyeOffIconComponent, Facebook2IconComponent, FacebookIconComponent, FastForwardIconComponent, FeatherIconComponent, FieldLabelComponent, FieldMessagesComponent, Figma2IconComponent, FigmaIconComponent, FileAudioIconComponent, FileCheckIconComponent, FileCodeIconComponent, FileIconComponent, FileImageIconComponent, FileMinusIconComponent, FilePdfIconComponent, FilePlusIconComponent, FileTextIconComponent, FileUploaderComponent, FileVideoIconComponent, FilmIconComponent, FilterIconComponent, FilterXIconComponent, FingerprintIconComponent, FirstPlaceMedalIconComponent, FlagIconComponent, FlameIconComponent, FlaskConicalIconComponent, FolderIconComponent, FolderMinusIconComponent, FolderOpenIconComponent, FolderPlusIconComponent, FormFieldComponent, ForwardIconComponent, FramerIconComponent, FrownIconComponent, GaugeIconComponent, GeminiIconComponent, GiftIconComponent, GitBranchIconComponent, GitCommitIconComponent, GitCompareIconComponent, GitMergeIconComponent, GitPullRequestIconComponent, Github2IconComponent, GithubIconComponent, GitlabIconComponent, GlobeIconComponent, GoogleIconComponent, GraduationCapIconComponent, GridIconComponent, GripHorizontalIconComponent, GripVerticalIconComponent, HalfCircleIconComponent, HalfHeartIconComponent, HardDriveIconComponent, HashIconComponent, HeadphonesIconComponent, HeadsetIconComponent, HeartIconComponent, HelpCircleIconComponent, HeptagonIconComponent, HexagonIconComponent, HistoryIconComponent, HomeIconComponent, HourglassIconComponent, ICONS, IconComponentBase, ImageIconComponent, ImagePlayIconComponent, ImagePlusIconComponent, ImageSearchIconComponent, ImagesIconComponent, InboxIconComponent, InfoIconComponent, InputComponent, InstagramIconComponent, ItalicIconComponent, KeyIconComponent, KeyboardIconComponent, KeyframeIconComponent, KubernetesIconComponent, LampIconComponent, LanguagesIconComponent, LaptopIconComponent, LayersIconComponent, LayoutDashboardIconComponent, LayoutIconComponent, LeafIconComponent, LeftHalfStarIconComponent, LifeBuoyIconComponent, LightbulbIconComponent, LineChartComponent, Link2IconComponent, LinkIconComponent, Linkedin2IconComponent, LinkedinIconComponent, ListChecksIconComponent, ListIconComponent, ListOrderedIconComponent, LoaderIconComponent, LockIconComponent, LogInIconComponent, LogOutIconComponent, MailCheckIconComponent, MailIconComponent, MapIconComponent, MapPinIconComponent, MastercardIconComponent, Maximize2IconComponent, MaximizeIconComponent, MegaphoneIconComponent, MehIconComponent, MenuComponent, MenuIconComponent, MenuItemComponent, MenuTriggerDirective, MessageCircleIconComponent, MessageSquareIconComponent, MicIconComponent, MicOffIconComponent, MicVocalIconComponent, MicroscopeIconComponent, MicrosoftIconComponent, Minimize2IconComponent, MinimizeIconComponent, MinusCircleIconComponent, MinusIconComponent, MinusSquareIconComponent, MongodbIconComponent, MonitorIconComponent, MonitorPlayIconComponent, MoonIconComponent, MoreHorizontalIconComponent, MoreVerticalIconComponent, MousePointerIconComponent, MoveIconComponent, MultiSelectComponent, MusicIconComponent, Navigation2IconComponent, NavigationIconComponent, NetlifyIconComponent, NewspaperIconComponent, NodejsIconComponent, NotionIconComponent, NpmIconComponent, NumberInputComponent, OctagonIconComponent, PAGE_SIZE_ALL, PackageIconComponent, PaginatorComponent, PaletteIconComponent, PaperclipIconComponent, PauseCircleIconComponent, PauseIconComponent, PaypalIconComponent, PenToolIconComponent, PentagonIconComponent, PercentIconComponent, PhoneCallIconComponent, PhoneForwardedIconComponent, PhoneIconComponent, PhoneIncomingIconComponent, PhoneMissedIconComponent, PhoneOffIconComponent, PhoneOutgoingIconComponent, PictureInPictureIconComponent, PieChartComponent, PieChartIconComponent, PinIconComponent, PinterestIconComponent, PlaneIconComponent, PlayCircleIconComponent, PlayIconComponent, PlaylistIconComponent, PlugIconComponent, PlusCircleIconComponent, PlusIconComponent, PlusSquareIconComponent, PocketIconComponent, PodcastIconComponent, PopoverComponent, PowerIconComponent, PrinterIconComponent, ProgressBarComponent, ProjectorIconComponent, PythonIconComponent, QrCodeIconComponent, QuestionExclamationMarkIconComponent, QuestionMarkIconComponent, QuoteIconComponent, RadioComponent, RadioGroupComponent, RadioIconComponent, RadioReceiverIconComponent, RadioTowerIconComponent, RangeSliderComponent, RatingComponent, ReactIconComponent, ReceiptIconComponent, RecordIconComponent, RectangleHorizontalIconComponent, RectangleVerticalIconComponent, RedditIconComponent, RedoIconComponent, RefreshCcwIconComponent, RefreshCwIconComponent, Repeat1IconComponent, RepeatIconComponent, ReplyIconComponent, RewindIconComponent, RightHalfStarIconComponent, RocketIconComponent, RotateCcwIconComponent, RotateCcwSquareIconComponent, RotateCwIconComponent, RowsIconComponent, RssIconComponent, SaveIconComponent, ScanIconComponent, ScissorsIconComponent, ScreenShareIconComponent, SearchIconComponent, SecondPlaceMedalIconComponent, SegmentedComponent, SendIconComponent, ServerIconComponent, SettingsIconComponent, Share2IconComponent, ShareIconComponent, ShieldAlertIconComponent, ShieldCheckIconComponent, ShieldIconComponent, ShieldOffIconComponent, ShopifyIconComponent, ShoppingBagIconComponent, ShoppingCartIconComponent, ShuffleIconComponent, SidebarIconComponent, SineWaveIconComponent, SkeletonComponent, SkipBackIconComponent, SkipForwardIconComponent, Slack2IconComponent, SlackIconComponent, SlashIconComponent, SliderComponent, SlidersIconComponent, SmartphoneIconComponent, SmileIconComponent, SnowflakeIconComponent, SoccerBallIconComponent, SparklesIconComponent, SpeakerIconComponent, SpinnerComponent, SpotifyIconComponent, SquareIconComponent, SquarePlayIconComponent, StarIconComponent, StepBackIconComponent, StepComponent, StepForwardIconComponent, StepperComponent, StopCircleIconComponent, StrikethroughIconComponent, StripeIconComponent, SubtitlesIconComponent, SubtitlesOffIconComponent, SunIconComponent, SunriseIconComponent, SunsetIconComponent, SvelteIconComponent, SwitchCameraIconComponent, SwitchComponent, TabComponent, TableIconComponent, TabletIconComponent, TabsComponent, TagComponent, TagIconComponent, TailwindIconComponent, TargetIconComponent, TelegramIconComponent, TerminalIconComponent, TextareaComponent, ThermometerIconComponent, ThirdPlaceMedalIconComponent, ThreadsIconComponent, ThumbsDownIconComponent, ThumbsUpIconComponent, TiktokIconComponent, TimePickerComponent, TimecodeIconComponent, TimelineComponent, TimerIconComponent, ToastComponent, ToastService, ToggleLeftIconComponent, ToggleRightIconComponent, ToolIconComponent, TooltipDirective, TranscodeIconComponent, TransferListComponent, Trash2IconComponent, TrashIconComponent, TreeComponent, TrelloIconComponent, TrendingDownIconComponent, TrendingUpIconComponent, TriangleIconComponent, TrimIconComponent, TrophyIconComponent, TruckIconComponent, TvIconComponent, Twitch2IconComponent, TwitchIconComponent, TwitterIconComponent, TypeIconComponent, UmbrellaIconComponent, UnderlineIconComponent, UndoIconComponent, UnlinkIconComponent, UnlockIconComponent, UploadCloudIconComponent, UploadIconComponent, UserCheckIconComponent, UserCircleIconComponent, UserIconComponent, UserMinusIconComponent, UserPlusIconComponent, UserXIconComponent, UsersIconComponent, VercelIconComponent, VideoIconComponent, VideoOffIconComponent, VirtualListComponent, VoicemailIconComponent, Volume1IconComponent, Volume2IconComponent, VolumeIconComponent, VolumeXIconComponent, VueIconComponent, WCAG_AA, WalletIconComponent, WandIconComponent, WatchIconComponent, WaveformIconComponent, WebcamIconComponent, WhatsappIconComponent, WifiIconComponent, WifiOffIconComponent, WindIconComponent, WordpressIconComponent, XCircleIconComponent, XIconComponent, XOctagonIconComponent, XSquareIconComponent, XTwitterIconComponent, Youtube2IconComponent, YoutubeIconComponent, ZapIconComponent, ZapOffIconComponent, ZoomInIconComponent, ZoomOutIconComponent, applyPalette, ar, computePopoverPosition, contrastRatio, de, derivePalette, el, en, esES, formatViolations, frFR, frenchSpacing, he, hexToOklch, hi, iconDisplayName, is, isGrouped, nl, oklchToHex, pl, provideEagamiUi, ptBR, relativeLuminance, ru, uk, validatePalette, visibleNodeIds, walkTree, zhCN };
|
|
73357
73823
|
|
|
73358
73824
|
//# sourceMappingURL=eagami-ui.mjs.map
|