@praxisui/dialog 10.0.0-rc.40 → 10.0.0-rc.42
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/ai/component-registry.json +2 -2
- package/fesm2022/praxisui-dialog.mjs +165 -17
- package/package.json +2 -2
- package/types/praxisui-dialog.d.ts +42 -31
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-
|
|
3
|
+
"generatedAt": "2026-11-01T13:59:56.156Z",
|
|
4
4
|
"packageName": "@praxisui/dialog",
|
|
5
|
-
"packageVersion": "10.0.0-rc.
|
|
5
|
+
"packageVersion": "10.0.0-rc.42",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 1,
|
|
@@ -1579,6 +1579,7 @@ class PraxisQuickViewOverlayComponent {
|
|
|
1579
1579
|
resolution = signal(null, ...(ngDevMode ? [{ debugName: "resolution" }] : /* istanbul ignore next */ []));
|
|
1580
1580
|
bodyRenderer = signal(null, ...(ngDevMode ? [{ debugName: "bodyRenderer" }] : /* istanbul ignore next */ []));
|
|
1581
1581
|
narrowModalMode = signal(false, ...(ngDevMode ? [{ debugName: "narrowModalMode" }] : /* istanbul ignore next */ []));
|
|
1582
|
+
failedAvatarUrl = signal(null, ...(ngDevMode ? [{ debugName: "failedAvatarUrl" }] : /* istanbul ignore next */ []));
|
|
1582
1583
|
pointerEnter = new EventEmitter();
|
|
1583
1584
|
pointerLeave = new EventEmitter();
|
|
1584
1585
|
openDetail = new EventEmitter();
|
|
@@ -1593,7 +1594,7 @@ class PraxisQuickViewOverlayComponent {
|
|
|
1593
1594
|
if (!identity) {
|
|
1594
1595
|
return null;
|
|
1595
1596
|
}
|
|
1596
|
-
if (
|
|
1597
|
+
if (this.shouldUseCustomBodyRenderer() || this.summaryItems().length > 0) {
|
|
1597
1598
|
return {
|
|
1598
1599
|
...identity,
|
|
1599
1600
|
metadata: [],
|
|
@@ -1601,8 +1602,52 @@ class PraxisQuickViewOverlayComponent {
|
|
|
1601
1602
|
}
|
|
1602
1603
|
return identity;
|
|
1603
1604
|
}, ...(ngDevMode ? [{ debugName: "headerIdentity" }] : /* istanbul ignore next */ []));
|
|
1605
|
+
contextLabel = computed(() => {
|
|
1606
|
+
const res = this.resolution();
|
|
1607
|
+
const surfaceTitle = String(res?.surface?.title ?? '').trim();
|
|
1608
|
+
if (!surfaceTitle) {
|
|
1609
|
+
return null;
|
|
1610
|
+
}
|
|
1611
|
+
const mainTitle = String(res?.title ?? '').trim();
|
|
1612
|
+
return surfaceTitle.toLowerCase() === mainTitle.toLowerCase()
|
|
1613
|
+
? null
|
|
1614
|
+
: surfaceTitle;
|
|
1615
|
+
}, ...(ngDevMode ? [{ debugName: "contextLabel" }] : /* istanbul ignore next */ []));
|
|
1616
|
+
hasContextEyebrow = computed(() => {
|
|
1617
|
+
const res = this.resolution();
|
|
1618
|
+
return Boolean((res?.icon && res.icon.trim().length > 0) || this.contextLabel());
|
|
1619
|
+
}, ...(ngDevMode ? [{ debugName: "hasContextEyebrow" }] : /* istanbul ignore next */ []));
|
|
1620
|
+
safeAvatarUrl = computed(() => {
|
|
1621
|
+
const res = this.resolution();
|
|
1622
|
+
const rawCandidate = res?.avatarUrl ??
|
|
1623
|
+
(typeof res?.identity?.avatar?.value === 'string'
|
|
1624
|
+
? res.identity.avatar.value
|
|
1625
|
+
: null);
|
|
1626
|
+
if (typeof rawCandidate !== 'string') {
|
|
1627
|
+
return null;
|
|
1628
|
+
}
|
|
1629
|
+
const candidate = rawCandidate.trim();
|
|
1630
|
+
if (!candidate || this.failedAvatarUrl() === candidate) {
|
|
1631
|
+
return null;
|
|
1632
|
+
}
|
|
1633
|
+
if (candidate.startsWith('https://') ||
|
|
1634
|
+
candidate.startsWith('http://') ||
|
|
1635
|
+
(candidate.startsWith('/') && !candidate.startsWith('//'))) {
|
|
1636
|
+
return candidate;
|
|
1637
|
+
}
|
|
1638
|
+
return null;
|
|
1639
|
+
}, ...(ngDevMode ? [{ debugName: "safeAvatarUrl" }] : /* istanbul ignore next */ []));
|
|
1640
|
+
onAvatarError(failedUrl) {
|
|
1641
|
+
this.failedAvatarUrl.set(failedUrl);
|
|
1642
|
+
}
|
|
1604
1643
|
closeAriaLabel = computed(() => this.translate('quickView.closeAriaLabel', 'Fechar visualização rápida'), ...(ngDevMode ? [{ debugName: "closeAriaLabel" }] : /* istanbul ignore next */ []));
|
|
1605
1644
|
copyButtonLabel = computed(() => this.translate('quickView.copyAction', 'Copiar'), ...(ngDevMode ? [{ debugName: "copyButtonLabel" }] : /* istanbul ignore next */ []));
|
|
1645
|
+
emptyStateLabel = computed(() => this.translate('quickView.emptyAttributes', 'Nenhum atributo resumido está disponível para este registro.'), ...(ngDevMode ? [{ debugName: "emptyStateLabel" }] : /* istanbul ignore next */ []));
|
|
1646
|
+
unavailableStateLabel = computed(() => this.translate('quickView.unavailableContext', 'Este resumo não está disponível para o seu contexto atual.'), ...(ngDevMode ? [{ debugName: "unavailableStateLabel" }] : /* istanbul ignore next */ []));
|
|
1647
|
+
errorStateLabel = computed(() => this.translate('quickView.loadError', 'Não foi possível carregar o resumo deste registro.'), ...(ngDevMode ? [{ debugName: "errorStateLabel" }] : /* istanbul ignore next */ []));
|
|
1648
|
+
defaultCtaLabel = computed(() => this.translate('quickView.openDetail', 'Abrir detalhe'), ...(ngDevMode ? [{ debugName: "defaultCtaLabel" }] : /* istanbul ignore next */ []));
|
|
1649
|
+
maskedBadgeLabel = computed(() => this.translate('quickView.maskedBadge', 'LGPD'), ...(ngDevMode ? [{ debugName: "maskedBadgeLabel" }] : /* istanbul ignore next */ []));
|
|
1650
|
+
maskedFieldReasonLabel = computed(() => this.translate('quickView.maskedFieldReason', 'Dado protegido por política de governança / LGPD'), ...(ngDevMode ? [{ debugName: "maskedFieldReasonLabel" }] : /* istanbul ignore next */ []));
|
|
1606
1651
|
accessibleLabel = computed(() => {
|
|
1607
1652
|
const res = this.resolution();
|
|
1608
1653
|
const identityTitle = String(res?.identity?.title?.value ?? res?.identity?.displayLabel ?? '').trim();
|
|
@@ -1658,7 +1703,7 @@ class PraxisQuickViewOverlayComponent {
|
|
|
1658
1703
|
return presenter === 'badge' || presenter === 'chip';
|
|
1659
1704
|
}
|
|
1660
1705
|
onCopyItem(item) {
|
|
1661
|
-
if (!item.formattedValue) {
|
|
1706
|
+
if (!item.formattedValue || item.masked) {
|
|
1662
1707
|
return;
|
|
1663
1708
|
}
|
|
1664
1709
|
this.copyValue.emit({
|
|
@@ -1682,7 +1727,33 @@ class PraxisQuickViewOverlayComponent {
|
|
|
1682
1727
|
(mouseleave)="pointerLeave.emit()"
|
|
1683
1728
|
>
|
|
1684
1729
|
<header class="pdx-quick-view__header">
|
|
1730
|
+
@if (safeAvatarUrl(); as avatarSrc) {
|
|
1731
|
+
<div class="pdx-quick-view__avatar-wrap" data-testid="quick-view-avatar">
|
|
1732
|
+
<img
|
|
1733
|
+
class="pdx-quick-view__avatar-img"
|
|
1734
|
+
[src]="avatarSrc"
|
|
1735
|
+
alt=""
|
|
1736
|
+
loading="lazy"
|
|
1737
|
+
(error)="onAvatarError(avatarSrc)"
|
|
1738
|
+
/>
|
|
1739
|
+
</div>
|
|
1740
|
+
}
|
|
1685
1741
|
<div class="pdx-quick-view__heading">
|
|
1742
|
+
@if (hasContextEyebrow()) {
|
|
1743
|
+
<div class="pdx-quick-view__context" data-testid="quick-view-context">
|
|
1744
|
+
@if (resolution()?.icon; as iconName) {
|
|
1745
|
+
<span class="pdx-quick-view__context-icon-badge" aria-hidden="true">
|
|
1746
|
+
<mat-icon
|
|
1747
|
+
class="pdx-quick-view__context-icon"
|
|
1748
|
+
[praxisIcon]="iconName"
|
|
1749
|
+
></mat-icon>
|
|
1750
|
+
</span>
|
|
1751
|
+
}
|
|
1752
|
+
@if (contextLabel(); as label) {
|
|
1753
|
+
<span class="pdx-quick-view__context-label">{{ label }}</span>
|
|
1754
|
+
}
|
|
1755
|
+
</div>
|
|
1756
|
+
}
|
|
1686
1757
|
@if (headerIdentity(); as identity) {
|
|
1687
1758
|
<praxis-resource-identity
|
|
1688
1759
|
[identity]="identity"
|
|
@@ -1735,11 +1806,34 @@ class PraxisQuickViewOverlayComponent {
|
|
|
1735
1806
|
<span
|
|
1736
1807
|
class="pdx-quick-view__summary-value"
|
|
1737
1808
|
[class.pdx-quick-view__summary-value--badge]="isBadgeOrChip(item)"
|
|
1738
|
-
[
|
|
1809
|
+
[class.pdx-quick-view__summary-value--masked]="item.masked"
|
|
1810
|
+
[attr.title]="(item.masked ? (item.maskReason || maskedFieldReasonLabel()) : item.formattedValue) || null"
|
|
1739
1811
|
>
|
|
1740
1812
|
{{ item.formattedValue }}
|
|
1741
1813
|
</span>
|
|
1742
|
-
@if (item.
|
|
1814
|
+
@if (item.masked) {
|
|
1815
|
+
<span
|
|
1816
|
+
class="pdx-quick-view__masked-badge"
|
|
1817
|
+
data-testid="quick-view-masked-indicator"
|
|
1818
|
+
role="note"
|
|
1819
|
+
[attr.title]="item.maskReason || maskedFieldReasonLabel()"
|
|
1820
|
+
[attr.aria-label]="item.maskReason || maskedFieldReasonLabel()"
|
|
1821
|
+
>
|
|
1822
|
+
<svg
|
|
1823
|
+
class="pdx-quick-view__masked-icon"
|
|
1824
|
+
viewBox="0 0 16 16"
|
|
1825
|
+
fill="none"
|
|
1826
|
+
stroke="currentColor"
|
|
1827
|
+
stroke-width="1.5"
|
|
1828
|
+
aria-hidden="true"
|
|
1829
|
+
>
|
|
1830
|
+
<rect x="3.5" y="7" width="9" height="6.5" rx="1.5" />
|
|
1831
|
+
<path d="M5.5 7V5a2.5 2.5 0 0 1 5 0v2" />
|
|
1832
|
+
</svg>
|
|
1833
|
+
<span>{{ maskedBadgeLabel() }}</span>
|
|
1834
|
+
</span>
|
|
1835
|
+
}
|
|
1836
|
+
@if (item.copyable && !item.masked && item.formattedValue) {
|
|
1743
1837
|
<button
|
|
1744
1838
|
type="button"
|
|
1745
1839
|
class="pdx-quick-view__copy-btn"
|
|
@@ -1758,17 +1852,17 @@ class PraxisQuickViewOverlayComponent {
|
|
|
1758
1852
|
}
|
|
1759
1853
|
@case ('empty') {
|
|
1760
1854
|
<p class="pdx-quick-view__feedback pdx-quick-view__feedback--empty" data-testid="quick-view-empty">
|
|
1761
|
-
{{ resolution()?.failureReason ||
|
|
1855
|
+
{{ resolution()?.failureReason || emptyStateLabel() }}
|
|
1762
1856
|
</p>
|
|
1763
1857
|
}
|
|
1764
1858
|
@case ('unavailable') {
|
|
1765
1859
|
<p class="pdx-quick-view__feedback pdx-quick-view__feedback--unavailable" data-testid="quick-view-unavailable">
|
|
1766
|
-
{{ resolution()?.failureReason ||
|
|
1860
|
+
{{ resolution()?.failureReason || unavailableStateLabel() }}
|
|
1767
1861
|
</p>
|
|
1768
1862
|
}
|
|
1769
1863
|
@case ('error') {
|
|
1770
1864
|
<p class="pdx-quick-view__feedback pdx-quick-view__feedback--error" data-testid="quick-view-error">
|
|
1771
|
-
{{ resolution()?.failureReason ||
|
|
1865
|
+
{{ resolution()?.failureReason || errorStateLabel() }}
|
|
1772
1866
|
</p>
|
|
1773
1867
|
}
|
|
1774
1868
|
}
|
|
@@ -1783,16 +1877,21 @@ class PraxisQuickViewOverlayComponent {
|
|
|
1783
1877
|
data-testid="quick-view-open-detail"
|
|
1784
1878
|
(click)="openDetail.emit()"
|
|
1785
1879
|
>
|
|
1786
|
-
{{ resolution()?.ctaLabel ||
|
|
1880
|
+
{{ resolution()?.ctaLabel || defaultCtaLabel() }}
|
|
1787
1881
|
</button>
|
|
1788
1882
|
</footer>
|
|
1789
1883
|
}
|
|
1790
1884
|
</section>
|
|
1791
|
-
`, isInline: true, styles: [":host{display:block;max-width:min(
|
|
1885
|
+
`, isInline: true, styles: [":host{display:block;max-width:min(26rem,calc(100vw - 1.5rem));min-width:min(20rem,calc(100vw - 1.5rem));box-sizing:border-box}.pdx-quick-view{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);gap:.625rem;padding:.875rem 1rem;border-radius:var(--pdx-quick-view-radius, .75rem);background:var( --pdx-quick-view-bg, var(--md-sys-color-surface-container-high, var(--mat-sys-surface-container-high)) );color:var(--md-sys-color-on-surface, var(--mat-sys-on-surface));border:1px solid color-mix(in srgb,var(--md-sys-color-outline, var(--mat-sys-outline)) 36%,var(--md-sys-color-outline-variant, var(--mat-sys-outline-variant)));box-shadow:var( --pdx-quick-view-shadow, 0 18px 38px -6px color-mix(in srgb, var(--md-sys-color-shadow, #000000) 32%, transparent), 0 6px 16px -4px color-mix(in srgb, var(--md-sys-color-shadow, #000000) 18%, transparent) );outline:none;overflow:hidden}.pdx-quick-view--narrow{width:calc(100vw - 1.5rem);max-width:28rem;border-radius:var(--pdx-quick-view-narrow-radius, 1rem);padding:.75rem 1rem 1rem}.pdx-quick-view--narrow:before{content:\"\";display:block;width:2.25rem;height:.25rem;margin:0 auto .25rem;border-radius:999px;background:color-mix(in srgb,var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant)) 32%,transparent)}.pdx-quick-view__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;min-width:0;padding-bottom:.5rem;border-bottom:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant, var(--mat-sys-outline-variant)) 55%,transparent)}.pdx-quick-view__avatar-wrap{flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--md-sys-color-primary, var(--mat-sys-primary)) 12%,transparent);border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant, var(--mat-sys-outline-variant)) 60%,transparent);display:inline-flex;align-items:center;justify-content:center}.pdx-quick-view__avatar-img{width:100%;height:100%;object-fit:cover;display:block}.pdx-quick-view__heading{min-width:0;flex:1 1 auto;display:grid;gap:.25rem}.pdx-quick-view__context{display:inline-flex;align-items:center;gap:.375rem;min-width:0;margin-bottom:.0625rem}.pdx-quick-view__context-icon-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:.3125rem;background:color-mix(in srgb,var(--md-sys-color-primary, var(--mat-sys-primary)) 14%,transparent);color:var(--md-sys-color-primary, var(--mat-sys-primary))}.pdx-quick-view__context-icon{width:.875rem;height:.875rem;font-size:.875rem;line-height:1}.pdx-quick-view__context-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--md-sys-color-primary, var(--mat-sys-primary))}.pdx-quick-view__title{margin:0;font-size:.9375rem;font-weight:600;line-height:1.35;color:var(--md-sys-color-on-surface, var(--mat-sys-on-surface));overflow-wrap:anywhere}.pdx-quick-view__subtitle{margin:.25rem 0 0;font-size:.75rem;line-height:1.35;color:var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant))}.pdx-quick-view__close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:.375rem;background:transparent;color:var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant));font-size:1.125rem;line-height:1;cursor:pointer;transition:background-color .14s ease,color .14s ease}.pdx-quick-view__close:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface, var(--mat-sys-on-surface)) 8%,transparent);color:var(--md-sys-color-on-surface, var(--mat-sys-on-surface))}.pdx-quick-view__close:focus-visible{outline:2px solid var(--md-sys-color-primary, var(--mat-sys-primary));outline-offset:2px;background:color-mix(in srgb,var(--md-sys-color-on-surface, var(--mat-sys-on-surface)) 8%,transparent);color:var(--md-sys-color-on-surface, var(--mat-sys-on-surface))}.pdx-quick-view__body{min-width:0}.pdx-quick-view__summary-list{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.4375rem;min-width:0}.pdx-quick-view__summary-item{display:flex;align-items:center;justify-content:space-between;gap:.625rem;min-width:0;font-size:.8125rem;line-height:1.35}.pdx-quick-view__summary-label{color:var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant));font-weight:500;flex:0 0 auto;max-width:42%;overflow-wrap:anywhere}.pdx-quick-view__summary-value-wrap{margin:0;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:.375rem;min-width:0;text-align:right}.pdx-quick-view__summary-value{min-width:0;color:var(--md-sys-color-on-surface, var(--mat-sys-on-surface));font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdx-quick-view__summary-value--badge{padding:.125rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--md-sys-color-primary, var(--mat-sys-primary)) 14%,transparent);color:var(--md-sys-color-primary, var(--mat-sys-primary));font-size:.75rem;font-weight:600}.pdx-quick-view__summary-value--masked{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.04em;color:var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant))}.pdx-quick-view__masked-badge{display:inline-flex;align-items:center;gap:.25rem;flex:0 0 auto;padding:.0625rem .375rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--md-sys-color-tertiary, var(--mat-sys-tertiary, #d97706)) 42%,transparent);background:color-mix(in srgb,var(--md-sys-color-tertiary, var(--mat-sys-tertiary, #d97706)) 12%,transparent);color:var(--md-sys-color-tertiary, var(--mat-sys-tertiary, #d97706));font-size:.6875rem;font-weight:600;line-height:1.2}.pdx-quick-view__masked-icon{width:.75rem;height:.75rem;flex:0 0 auto}.pdx-quick-view__copy-btn{flex:0 0 auto;white-space:nowrap;border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant, var(--mat-sys-outline-variant)) 70%,transparent);background:color-mix(in srgb,var(--md-sys-color-surface-container, var(--mat-sys-surface-container)) 65%,transparent);color:var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant));border-radius:.25rem;padding:.0625rem .375rem;font-size:.6875rem;font-weight:500;opacity:.78;cursor:pointer;transition:opacity .14s ease,background-color .14s ease,color .14s ease,border-color .14s ease}.pdx-quick-view__summary-item:hover .pdx-quick-view__copy-btn,.pdx-quick-view__copy-btn:focus-visible{opacity:1}.pdx-quick-view__copy-btn:hover{background:color-mix(in srgb,var(--md-sys-color-primary, var(--mat-sys-primary)) 10%,transparent);color:var(--md-sys-color-primary, var(--mat-sys-primary));border-color:color-mix(in srgb,var(--md-sys-color-primary, var(--mat-sys-primary)) 40%,transparent)}.pdx-quick-view__copy-btn:focus-visible{outline:2px solid var(--md-sys-color-primary, var(--mat-sys-primary));outline-offset:2px}.pdx-quick-view__feedback{margin:0;font-size:.8125rem;line-height:1.4;color:var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant))}.pdx-quick-view__feedback--error{color:var(--md-sys-color-error, var(--mat-sys-error))}.pdx-quick-view__skeleton{display:grid;gap:.4375rem;padding:.125rem 0}.pdx-quick-view__skeleton-line{height:.75rem;border-radius:.25rem;background:color-mix(in srgb,var(--md-sys-color-on-surface, var(--mat-sys-on-surface)) 12%,transparent);width:75%}.pdx-quick-view__skeleton-line--wide{width:92%}.pdx-quick-view__skeleton-line--short{width:52%}.pdx-quick-view__footer{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant, var(--mat-sys-outline-variant)) 65%,transparent)}.pdx-quick-view__cta{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .8125rem;border-radius:.375rem;border:none;background:var(--md-sys-color-primary, var(--mat-sys-primary));color:var(--md-sys-color-on-primary, var(--mat-sys-on-primary));font-size:.8125rem;font-weight:600;cursor:pointer;transition:filter .14s ease,box-shadow .14s ease}.pdx-quick-view__cta:hover{filter:brightness(1.06)}.pdx-quick-view__cta:focus-visible{outline:2px solid var(--md-sys-color-primary, var(--mat-sys-primary));outline-offset:2px}.pdx-quick-view--narrow .pdx-quick-view__cta{width:100%;padding:.5rem .875rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "component", type: PraxisResourceIdentityComponent, selector: "praxis-resource-identity", inputs: ["identity", "emptyTitle", "density", "showMetadataLabels", "showKey", "showKeyLabel", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1792
1886
|
}
|
|
1793
1887
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisQuickViewOverlayComponent, decorators: [{
|
|
1794
1888
|
type: Component,
|
|
1795
|
-
args: [{ selector: 'praxis-quick-view-overlay', standalone: true, imports: [
|
|
1889
|
+
args: [{ selector: 'praxis-quick-view-overlay', standalone: true, imports: [
|
|
1890
|
+
CommonModule,
|
|
1891
|
+
MatIconModule,
|
|
1892
|
+
PraxisIconDirective,
|
|
1893
|
+
PraxisResourceIdentityComponent,
|
|
1894
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
1796
1895
|
<section
|
|
1797
1896
|
#dialogSurface
|
|
1798
1897
|
class="pdx-quick-view"
|
|
@@ -1807,7 +1906,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1807
1906
|
(mouseleave)="pointerLeave.emit()"
|
|
1808
1907
|
>
|
|
1809
1908
|
<header class="pdx-quick-view__header">
|
|
1909
|
+
@if (safeAvatarUrl(); as avatarSrc) {
|
|
1910
|
+
<div class="pdx-quick-view__avatar-wrap" data-testid="quick-view-avatar">
|
|
1911
|
+
<img
|
|
1912
|
+
class="pdx-quick-view__avatar-img"
|
|
1913
|
+
[src]="avatarSrc"
|
|
1914
|
+
alt=""
|
|
1915
|
+
loading="lazy"
|
|
1916
|
+
(error)="onAvatarError(avatarSrc)"
|
|
1917
|
+
/>
|
|
1918
|
+
</div>
|
|
1919
|
+
}
|
|
1810
1920
|
<div class="pdx-quick-view__heading">
|
|
1921
|
+
@if (hasContextEyebrow()) {
|
|
1922
|
+
<div class="pdx-quick-view__context" data-testid="quick-view-context">
|
|
1923
|
+
@if (resolution()?.icon; as iconName) {
|
|
1924
|
+
<span class="pdx-quick-view__context-icon-badge" aria-hidden="true">
|
|
1925
|
+
<mat-icon
|
|
1926
|
+
class="pdx-quick-view__context-icon"
|
|
1927
|
+
[praxisIcon]="iconName"
|
|
1928
|
+
></mat-icon>
|
|
1929
|
+
</span>
|
|
1930
|
+
}
|
|
1931
|
+
@if (contextLabel(); as label) {
|
|
1932
|
+
<span class="pdx-quick-view__context-label">{{ label }}</span>
|
|
1933
|
+
}
|
|
1934
|
+
</div>
|
|
1935
|
+
}
|
|
1811
1936
|
@if (headerIdentity(); as identity) {
|
|
1812
1937
|
<praxis-resource-identity
|
|
1813
1938
|
[identity]="identity"
|
|
@@ -1860,11 +1985,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1860
1985
|
<span
|
|
1861
1986
|
class="pdx-quick-view__summary-value"
|
|
1862
1987
|
[class.pdx-quick-view__summary-value--badge]="isBadgeOrChip(item)"
|
|
1863
|
-
[
|
|
1988
|
+
[class.pdx-quick-view__summary-value--masked]="item.masked"
|
|
1989
|
+
[attr.title]="(item.masked ? (item.maskReason || maskedFieldReasonLabel()) : item.formattedValue) || null"
|
|
1864
1990
|
>
|
|
1865
1991
|
{{ item.formattedValue }}
|
|
1866
1992
|
</span>
|
|
1867
|
-
@if (item.
|
|
1993
|
+
@if (item.masked) {
|
|
1994
|
+
<span
|
|
1995
|
+
class="pdx-quick-view__masked-badge"
|
|
1996
|
+
data-testid="quick-view-masked-indicator"
|
|
1997
|
+
role="note"
|
|
1998
|
+
[attr.title]="item.maskReason || maskedFieldReasonLabel()"
|
|
1999
|
+
[attr.aria-label]="item.maskReason || maskedFieldReasonLabel()"
|
|
2000
|
+
>
|
|
2001
|
+
<svg
|
|
2002
|
+
class="pdx-quick-view__masked-icon"
|
|
2003
|
+
viewBox="0 0 16 16"
|
|
2004
|
+
fill="none"
|
|
2005
|
+
stroke="currentColor"
|
|
2006
|
+
stroke-width="1.5"
|
|
2007
|
+
aria-hidden="true"
|
|
2008
|
+
>
|
|
2009
|
+
<rect x="3.5" y="7" width="9" height="6.5" rx="1.5" />
|
|
2010
|
+
<path d="M5.5 7V5a2.5 2.5 0 0 1 5 0v2" />
|
|
2011
|
+
</svg>
|
|
2012
|
+
<span>{{ maskedBadgeLabel() }}</span>
|
|
2013
|
+
</span>
|
|
2014
|
+
}
|
|
2015
|
+
@if (item.copyable && !item.masked && item.formattedValue) {
|
|
1868
2016
|
<button
|
|
1869
2017
|
type="button"
|
|
1870
2018
|
class="pdx-quick-view__copy-btn"
|
|
@@ -1883,17 +2031,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1883
2031
|
}
|
|
1884
2032
|
@case ('empty') {
|
|
1885
2033
|
<p class="pdx-quick-view__feedback pdx-quick-view__feedback--empty" data-testid="quick-view-empty">
|
|
1886
|
-
{{ resolution()?.failureReason ||
|
|
2034
|
+
{{ resolution()?.failureReason || emptyStateLabel() }}
|
|
1887
2035
|
</p>
|
|
1888
2036
|
}
|
|
1889
2037
|
@case ('unavailable') {
|
|
1890
2038
|
<p class="pdx-quick-view__feedback pdx-quick-view__feedback--unavailable" data-testid="quick-view-unavailable">
|
|
1891
|
-
{{ resolution()?.failureReason ||
|
|
2039
|
+
{{ resolution()?.failureReason || unavailableStateLabel() }}
|
|
1892
2040
|
</p>
|
|
1893
2041
|
}
|
|
1894
2042
|
@case ('error') {
|
|
1895
2043
|
<p class="pdx-quick-view__feedback pdx-quick-view__feedback--error" data-testid="quick-view-error">
|
|
1896
|
-
{{ resolution()?.failureReason ||
|
|
2044
|
+
{{ resolution()?.failureReason || errorStateLabel() }}
|
|
1897
2045
|
</p>
|
|
1898
2046
|
}
|
|
1899
2047
|
}
|
|
@@ -1908,12 +2056,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1908
2056
|
data-testid="quick-view-open-detail"
|
|
1909
2057
|
(click)="openDetail.emit()"
|
|
1910
2058
|
>
|
|
1911
|
-
{{ resolution()?.ctaLabel ||
|
|
2059
|
+
{{ resolution()?.ctaLabel || defaultCtaLabel() }}
|
|
1912
2060
|
</button>
|
|
1913
2061
|
</footer>
|
|
1914
2062
|
}
|
|
1915
2063
|
</section>
|
|
1916
|
-
`, styles: [":host{display:block;max-width:min(
|
|
2064
|
+
`, styles: [":host{display:block;max-width:min(26rem,calc(100vw - 1.5rem));min-width:min(20rem,calc(100vw - 1.5rem));box-sizing:border-box}.pdx-quick-view{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);gap:.625rem;padding:.875rem 1rem;border-radius:var(--pdx-quick-view-radius, .75rem);background:var( --pdx-quick-view-bg, var(--md-sys-color-surface-container-high, var(--mat-sys-surface-container-high)) );color:var(--md-sys-color-on-surface, var(--mat-sys-on-surface));border:1px solid color-mix(in srgb,var(--md-sys-color-outline, var(--mat-sys-outline)) 36%,var(--md-sys-color-outline-variant, var(--mat-sys-outline-variant)));box-shadow:var( --pdx-quick-view-shadow, 0 18px 38px -6px color-mix(in srgb, var(--md-sys-color-shadow, #000000) 32%, transparent), 0 6px 16px -4px color-mix(in srgb, var(--md-sys-color-shadow, #000000) 18%, transparent) );outline:none;overflow:hidden}.pdx-quick-view--narrow{width:calc(100vw - 1.5rem);max-width:28rem;border-radius:var(--pdx-quick-view-narrow-radius, 1rem);padding:.75rem 1rem 1rem}.pdx-quick-view--narrow:before{content:\"\";display:block;width:2.25rem;height:.25rem;margin:0 auto .25rem;border-radius:999px;background:color-mix(in srgb,var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant)) 32%,transparent)}.pdx-quick-view__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;min-width:0;padding-bottom:.5rem;border-bottom:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant, var(--mat-sys-outline-variant)) 55%,transparent)}.pdx-quick-view__avatar-wrap{flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--md-sys-color-primary, var(--mat-sys-primary)) 12%,transparent);border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant, var(--mat-sys-outline-variant)) 60%,transparent);display:inline-flex;align-items:center;justify-content:center}.pdx-quick-view__avatar-img{width:100%;height:100%;object-fit:cover;display:block}.pdx-quick-view__heading{min-width:0;flex:1 1 auto;display:grid;gap:.25rem}.pdx-quick-view__context{display:inline-flex;align-items:center;gap:.375rem;min-width:0;margin-bottom:.0625rem}.pdx-quick-view__context-icon-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:.3125rem;background:color-mix(in srgb,var(--md-sys-color-primary, var(--mat-sys-primary)) 14%,transparent);color:var(--md-sys-color-primary, var(--mat-sys-primary))}.pdx-quick-view__context-icon{width:.875rem;height:.875rem;font-size:.875rem;line-height:1}.pdx-quick-view__context-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--md-sys-color-primary, var(--mat-sys-primary))}.pdx-quick-view__title{margin:0;font-size:.9375rem;font-weight:600;line-height:1.35;color:var(--md-sys-color-on-surface, var(--mat-sys-on-surface));overflow-wrap:anywhere}.pdx-quick-view__subtitle{margin:.25rem 0 0;font-size:.75rem;line-height:1.35;color:var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant))}.pdx-quick-view__close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:.375rem;background:transparent;color:var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant));font-size:1.125rem;line-height:1;cursor:pointer;transition:background-color .14s ease,color .14s ease}.pdx-quick-view__close:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface, var(--mat-sys-on-surface)) 8%,transparent);color:var(--md-sys-color-on-surface, var(--mat-sys-on-surface))}.pdx-quick-view__close:focus-visible{outline:2px solid var(--md-sys-color-primary, var(--mat-sys-primary));outline-offset:2px;background:color-mix(in srgb,var(--md-sys-color-on-surface, var(--mat-sys-on-surface)) 8%,transparent);color:var(--md-sys-color-on-surface, var(--mat-sys-on-surface))}.pdx-quick-view__body{min-width:0}.pdx-quick-view__summary-list{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.4375rem;min-width:0}.pdx-quick-view__summary-item{display:flex;align-items:center;justify-content:space-between;gap:.625rem;min-width:0;font-size:.8125rem;line-height:1.35}.pdx-quick-view__summary-label{color:var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant));font-weight:500;flex:0 0 auto;max-width:42%;overflow-wrap:anywhere}.pdx-quick-view__summary-value-wrap{margin:0;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:.375rem;min-width:0;text-align:right}.pdx-quick-view__summary-value{min-width:0;color:var(--md-sys-color-on-surface, var(--mat-sys-on-surface));font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdx-quick-view__summary-value--badge{padding:.125rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--md-sys-color-primary, var(--mat-sys-primary)) 14%,transparent);color:var(--md-sys-color-primary, var(--mat-sys-primary));font-size:.75rem;font-weight:600}.pdx-quick-view__summary-value--masked{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.04em;color:var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant))}.pdx-quick-view__masked-badge{display:inline-flex;align-items:center;gap:.25rem;flex:0 0 auto;padding:.0625rem .375rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--md-sys-color-tertiary, var(--mat-sys-tertiary, #d97706)) 42%,transparent);background:color-mix(in srgb,var(--md-sys-color-tertiary, var(--mat-sys-tertiary, #d97706)) 12%,transparent);color:var(--md-sys-color-tertiary, var(--mat-sys-tertiary, #d97706));font-size:.6875rem;font-weight:600;line-height:1.2}.pdx-quick-view__masked-icon{width:.75rem;height:.75rem;flex:0 0 auto}.pdx-quick-view__copy-btn{flex:0 0 auto;white-space:nowrap;border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant, var(--mat-sys-outline-variant)) 70%,transparent);background:color-mix(in srgb,var(--md-sys-color-surface-container, var(--mat-sys-surface-container)) 65%,transparent);color:var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant));border-radius:.25rem;padding:.0625rem .375rem;font-size:.6875rem;font-weight:500;opacity:.78;cursor:pointer;transition:opacity .14s ease,background-color .14s ease,color .14s ease,border-color .14s ease}.pdx-quick-view__summary-item:hover .pdx-quick-view__copy-btn,.pdx-quick-view__copy-btn:focus-visible{opacity:1}.pdx-quick-view__copy-btn:hover{background:color-mix(in srgb,var(--md-sys-color-primary, var(--mat-sys-primary)) 10%,transparent);color:var(--md-sys-color-primary, var(--mat-sys-primary));border-color:color-mix(in srgb,var(--md-sys-color-primary, var(--mat-sys-primary)) 40%,transparent)}.pdx-quick-view__copy-btn:focus-visible{outline:2px solid var(--md-sys-color-primary, var(--mat-sys-primary));outline-offset:2px}.pdx-quick-view__feedback{margin:0;font-size:.8125rem;line-height:1.4;color:var(--md-sys-color-on-surface-variant, var(--mat-sys-on-surface-variant))}.pdx-quick-view__feedback--error{color:var(--md-sys-color-error, var(--mat-sys-error))}.pdx-quick-view__skeleton{display:grid;gap:.4375rem;padding:.125rem 0}.pdx-quick-view__skeleton-line{height:.75rem;border-radius:.25rem;background:color-mix(in srgb,var(--md-sys-color-on-surface, var(--mat-sys-on-surface)) 12%,transparent);width:75%}.pdx-quick-view__skeleton-line--wide{width:92%}.pdx-quick-view__skeleton-line--short{width:52%}.pdx-quick-view__footer{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant, var(--mat-sys-outline-variant)) 65%,transparent)}.pdx-quick-view__cta{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .8125rem;border-radius:.375rem;border:none;background:var(--md-sys-color-primary, var(--mat-sys-primary));color:var(--md-sys-color-on-primary, var(--mat-sys-on-primary));font-size:.8125rem;font-weight:600;cursor:pointer;transition:filter .14s ease,box-shadow .14s ease}.pdx-quick-view__cta:hover{filter:brightness(1.06)}.pdx-quick-view__cta:focus-visible{outline:2px solid var(--md-sys-color-primary, var(--mat-sys-primary));outline-offset:2px}.pdx-quick-view--narrow .pdx-quick-view__cta{width:100%;padding:.5rem .875rem}\n"] }]
|
|
1917
2065
|
}], propDecorators: { pointerEnter: [{
|
|
1918
2066
|
type: Output
|
|
1919
2067
|
}], pointerLeave: [{
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/dialog",
|
|
3
|
-
"version": "10.0.0-rc.
|
|
3
|
+
"version": "10.0.0-rc.42",
|
|
4
4
|
"description": "Dialog helpers and components for Praxis UI with Angular Material integration.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
|
7
7
|
"@angular/core": "^21.0.0",
|
|
8
8
|
"@angular/cdk": "^21.0.0",
|
|
9
9
|
"@angular/forms": "^21.0.0",
|
|
10
|
-
"@praxisui/core": "^10.0.0-rc.
|
|
10
|
+
"@praxisui/core": "^10.0.0-rc.42",
|
|
11
11
|
"@angular/material": "^21.0.0",
|
|
12
12
|
"@angular/platform-browser": "^21.0.0",
|
|
13
13
|
"rxjs": "~7.8.0"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { Injector, ViewContainerRef, InjectionToken, TemplateRef, ComponentRef, OnInit, AfterViewInit, OnChanges, OnDestroy, EventEmitter, ElementRef, SimpleChanges, Type, Provider } from '@angular/core';
|
|
3
3
|
import { OverlayRef } from '@angular/cdk/overlay';
|
|
4
4
|
import { Observable, Subject } from 'rxjs';
|
|
@@ -192,22 +192,22 @@ declare class PraxisDialogRef<T = any, R = any> {
|
|
|
192
192
|
declare class PraxisDialogTitleDirective {
|
|
193
193
|
templateRef: TemplateRef<any>;
|
|
194
194
|
constructor(templateRef: TemplateRef<any>);
|
|
195
|
-
static ɵfac:
|
|
196
|
-
static ɵdir:
|
|
195
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisDialogTitleDirective, never>;
|
|
196
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PraxisDialogTitleDirective, "ng-template[praxisDialogTitle]", never, {}, {}, never, never, true, never>;
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
declare class PraxisDialogActionsDirective {
|
|
200
200
|
templateRef: TemplateRef<any>;
|
|
201
201
|
constructor(templateRef: TemplateRef<any>);
|
|
202
|
-
static ɵfac:
|
|
203
|
-
static ɵdir:
|
|
202
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisDialogActionsDirective, never>;
|
|
203
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PraxisDialogActionsDirective, "ng-template[praxisDialogActions]", never, {}, {}, never, never, true, never>;
|
|
204
204
|
}
|
|
205
205
|
|
|
206
206
|
declare class PraxisDialogContentDirective {
|
|
207
207
|
templateRef: TemplateRef<any>;
|
|
208
208
|
constructor(templateRef: TemplateRef<any>);
|
|
209
|
-
static ɵfac:
|
|
210
|
-
static ɵdir:
|
|
209
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisDialogContentDirective, never>;
|
|
210
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PraxisDialogContentDirective, "ng-template[praxisDialogContent]", never, {}, {}, never, never, true, never>;
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
declare class PraxisDialogComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {
|
|
@@ -288,8 +288,8 @@ declare class PraxisDialogComponent implements OnInit, AfterViewInit, OnChanges,
|
|
|
288
288
|
beginOpenAnimation(): Promise<void>;
|
|
289
289
|
beginCloseAnimation(): Promise<void>;
|
|
290
290
|
private focusPrimaryAction;
|
|
291
|
-
static ɵfac:
|
|
292
|
-
static ɵcmp:
|
|
291
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisDialogComponent, never>;
|
|
292
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisDialogComponent, "praxis-dialog", never, { "title": { "alias": "title"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "actionsLayout": { "alias": "actionsLayout"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; "open": { "alias": "open"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "disableClose": { "alias": "disableClose"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; }; "overlayMode": { "alias": "overlayMode"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "position": { "alias": "position"; "required": false; }; "autoFocusedElement": { "alias": "autoFocusedElement"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; }; "id": { "alias": "id"; "required": false; }; "ariaRole": { "alias": "ariaRole"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaDescribedBy": { "alias": "ariaDescribedBy"; "required": false; }; "styles": { "alias": "styles"; "required": false; }; "titleIcon": { "alias": "titleIcon"; "required": false; }; }, { "action": "action"; "close": "close"; "opened": "opened"; "afterClosed": "afterClosed"; }, ["titleTpl", "actionsTpl", "contentTpl"], never, true, never>;
|
|
293
293
|
}
|
|
294
294
|
declare const PraxisDialogDirectives: readonly [];
|
|
295
295
|
|
|
@@ -319,8 +319,8 @@ declare class PraxisDialog {
|
|
|
319
319
|
private mergePresets;
|
|
320
320
|
closeAll(): void;
|
|
321
321
|
getDialogById(id: string): PraxisDialogRef<any> | undefined;
|
|
322
|
-
static ɵfac:
|
|
323
|
-
static ɵprov:
|
|
322
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisDialog, never>;
|
|
323
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<PraxisDialog>;
|
|
324
324
|
}
|
|
325
325
|
declare class SimpleDialogContentComponent {
|
|
326
326
|
message?: string;
|
|
@@ -330,8 +330,8 @@ declare class SimpleDialogContentComponent {
|
|
|
330
330
|
submit?: () => void;
|
|
331
331
|
private readonly dialogData;
|
|
332
332
|
constructor();
|
|
333
|
-
static ɵfac:
|
|
334
|
-
static ɵcmp:
|
|
333
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SimpleDialogContentComponent, never>;
|
|
334
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SimpleDialogContentComponent, "praxis-simple-dialog-content", never, {}, {}, never, never, true, never>;
|
|
335
335
|
}
|
|
336
336
|
|
|
337
337
|
/**
|
|
@@ -346,9 +346,10 @@ declare function providePraxisSurfaceGlobalActions(): Provider;
|
|
|
346
346
|
|
|
347
347
|
declare class PraxisQuickViewOverlayComponent {
|
|
348
348
|
private readonly i18n;
|
|
349
|
-
readonly resolution:
|
|
350
|
-
readonly bodyRenderer:
|
|
351
|
-
readonly narrowModalMode:
|
|
349
|
+
readonly resolution: _angular_core.WritableSignal<ResourceQuickViewResolution | null>;
|
|
350
|
+
readonly bodyRenderer: _angular_core.WritableSignal<PraxisQuickViewBodyRenderer | null>;
|
|
351
|
+
readonly narrowModalMode: _angular_core.WritableSignal<boolean>;
|
|
352
|
+
private readonly failedAvatarUrl;
|
|
352
353
|
readonly pointerEnter: EventEmitter<void>;
|
|
353
354
|
readonly pointerLeave: EventEmitter<void>;
|
|
354
355
|
readonly openDetail: EventEmitter<void>;
|
|
@@ -360,19 +361,29 @@ declare class PraxisQuickViewOverlayComponent {
|
|
|
360
361
|
private readonly dialogSurface?;
|
|
361
362
|
private readonly ctaButton?;
|
|
362
363
|
private readonly closeButton?;
|
|
363
|
-
protected readonly summaryItems:
|
|
364
|
-
protected readonly headerIdentity:
|
|
365
|
-
protected readonly
|
|
366
|
-
protected readonly
|
|
367
|
-
protected readonly
|
|
364
|
+
protected readonly summaryItems: _angular_core.Signal<readonly ResourceQuickViewSummaryItem[]>;
|
|
365
|
+
protected readonly headerIdentity: _angular_core.Signal<_praxisui_core.MaterializedResourceIdentity | null>;
|
|
366
|
+
protected readonly contextLabel: _angular_core.Signal<string | null>;
|
|
367
|
+
protected readonly hasContextEyebrow: _angular_core.Signal<boolean>;
|
|
368
|
+
protected readonly safeAvatarUrl: _angular_core.Signal<string | null>;
|
|
369
|
+
protected onAvatarError(failedUrl: string): void;
|
|
370
|
+
protected readonly closeAriaLabel: _angular_core.Signal<string>;
|
|
371
|
+
protected readonly copyButtonLabel: _angular_core.Signal<string>;
|
|
372
|
+
protected readonly emptyStateLabel: _angular_core.Signal<string>;
|
|
373
|
+
protected readonly unavailableStateLabel: _angular_core.Signal<string>;
|
|
374
|
+
protected readonly errorStateLabel: _angular_core.Signal<string>;
|
|
375
|
+
protected readonly defaultCtaLabel: _angular_core.Signal<string>;
|
|
376
|
+
protected readonly maskedBadgeLabel: _angular_core.Signal<string>;
|
|
377
|
+
protected readonly maskedFieldReasonLabel: _angular_core.Signal<string>;
|
|
378
|
+
protected readonly accessibleLabel: _angular_core.Signal<string>;
|
|
368
379
|
private translate;
|
|
369
|
-
protected readonly shouldUseCustomBodyRenderer:
|
|
370
|
-
protected readonly customBodyInputs:
|
|
380
|
+
protected readonly shouldUseCustomBodyRenderer: _angular_core.Signal<boolean>;
|
|
381
|
+
protected readonly customBodyInputs: _angular_core.Signal<Record<string, unknown>>;
|
|
371
382
|
focusInteractiveEntry(): void;
|
|
372
383
|
protected isBadgeOrChip(item: ResourceQuickViewSummaryItem): boolean;
|
|
373
384
|
protected onCopyItem(item: ResourceQuickViewSummaryItem): void;
|
|
374
|
-
static ɵfac:
|
|
375
|
-
static ɵcmp:
|
|
385
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisQuickViewOverlayComponent, never>;
|
|
386
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisQuickViewOverlayComponent, "praxis-quick-view-overlay", never, {}, { "pointerEnter": "pointerEnter"; "pointerLeave": "pointerLeave"; "openDetail": "openDetail"; "copyValue": "copyValue"; "dismiss": "dismiss"; }, never, never, true, never>;
|
|
376
387
|
}
|
|
377
388
|
|
|
378
389
|
/**
|
|
@@ -398,23 +409,23 @@ declare class QuickViewDialogPresenterService implements PraxisQuickViewPresente
|
|
|
398
409
|
private shouldUseNarrowModalFallback;
|
|
399
410
|
private buildOverlayConfig;
|
|
400
411
|
private resolveConnectedOrigin;
|
|
401
|
-
static ɵfac:
|
|
402
|
-
static ɵprov:
|
|
412
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<QuickViewDialogPresenterService, never>;
|
|
413
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<QuickViewDialogPresenterService>;
|
|
403
414
|
}
|
|
404
415
|
declare function providePraxisQuickViewDialogPresenter(): Provider;
|
|
405
416
|
|
|
406
417
|
declare class LongContentDialogExampleComponent {
|
|
407
418
|
readonly items: string[];
|
|
408
|
-
static ɵfac:
|
|
409
|
-
static ɵcmp:
|
|
419
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LongContentDialogExampleComponent, never>;
|
|
420
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LongContentDialogExampleComponent, "praxis-long-content-dialog-example", never, {}, {}, never, never, true, never>;
|
|
410
421
|
}
|
|
411
422
|
|
|
412
423
|
declare const PRAXIS_DIALOG_EXAMPLE_LONG_CONTENT = "praxis.long-content-example";
|
|
413
424
|
declare function providePraxisDialogExamples(): {
|
|
414
|
-
provide:
|
|
425
|
+
provide: _angular_core.InjectionToken<readonly (() => void)[]>;
|
|
415
426
|
multi: boolean;
|
|
416
427
|
useFactory: (registry: Record<string, any>) => () => void;
|
|
417
|
-
deps:
|
|
428
|
+
deps: _angular_core.InjectionToken<Record<string, _praxisui_dialog.ComponentType<any>>>[];
|
|
418
429
|
};
|
|
419
430
|
|
|
420
431
|
declare const PRAXIS_DIALOG_COMPONENT_METADATA: ComponentDocMeta;
|