@forgeroute/ui 0.4.6 → 0.4.7
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/forgeroute-ui.mjs +136 -27
- package/fesm2022/forgeroute-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/forgeroute-ui.d.ts +54 -14
|
@@ -22216,9 +22216,9 @@ var FormRowComponent = class FormRowComponent {
|
|
|
22216
22216
|
transformFunction: null
|
|
22217
22217
|
} },
|
|
22218
22218
|
ngImport: i0,
|
|
22219
|
-
template: `<div class="fr-row" [style.--fr-cols]="cols()"><ng-content /></div>`,
|
|
22219
|
+
template: `<div class="fr-row" [class.fr-row--4]="cols() === 4" [style.--fr-cols]="cols()"><ng-content /></div>`,
|
|
22220
22220
|
isInline: true,
|
|
22221
|
-
styles: [":host{display:block}.fr-row{display:grid;grid-template-columns:repeat(var(--fr-cols, 2),1fr);gap:12px}.fr-row>::ng-deep .ui-span-2{grid-column:span 2}.fr-row>::ng-deep .ui-span-3{grid-column:span 3}.fr-row>::ng-deep .ui-span-all{grid-column:1 / -1}@media(max-width:480px){.fr-row{grid-template-columns:1fr}.fr-row>::ng-deep .ui-span-2,.fr-row>::ng-deep .ui-span-3,.fr-row>::ng-deep .ui-span-all{grid-column:1 / -1}}\n"],
|
|
22221
|
+
styles: [":host{display:block}.fr-row{display:grid;grid-template-columns:repeat(var(--fr-cols, 2),1fr);gap:12px}.fr-row>::ng-deep .ui-span-2{grid-column:span 2}.fr-row>::ng-deep .ui-span-3{grid-column:span 3}.fr-row>::ng-deep .ui-span-all{grid-column:1 / -1}@media(max-width:768px){.fr-row--4{grid-template-columns:repeat(2,1fr)}.fr-row--4>::ng-deep .ui-span-3{grid-column:1 / -1}}@media(max-width:480px){.fr-row{grid-template-columns:1fr}.fr-row>::ng-deep .ui-span-2,.fr-row>::ng-deep .ui-span-3,.fr-row>::ng-deep .ui-span-all{grid-column:1 / -1}}\n"],
|
|
22222
22222
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
22223
22223
|
});
|
|
22224
22224
|
}
|
|
@@ -22234,8 +22234,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
22234
22234
|
selector: "ui-form-row",
|
|
22235
22235
|
standalone: true,
|
|
22236
22236
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
22237
|
-
template: `<div class="fr-row" [style.--fr-cols]="cols()"><ng-content /></div>`,
|
|
22238
|
-
styles: [":host{display:block}.fr-row{display:grid;grid-template-columns:repeat(var(--fr-cols, 2),1fr);gap:12px}.fr-row>::ng-deep .ui-span-2{grid-column:span 2}.fr-row>::ng-deep .ui-span-3{grid-column:span 3}.fr-row>::ng-deep .ui-span-all{grid-column:1 / -1}@media(max-width:480px){.fr-row{grid-template-columns:1fr}.fr-row>::ng-deep .ui-span-2,.fr-row>::ng-deep .ui-span-3,.fr-row>::ng-deep .ui-span-all{grid-column:1 / -1}}\n"]
|
|
22237
|
+
template: `<div class="fr-row" [class.fr-row--4]="cols() === 4" [style.--fr-cols]="cols()"><ng-content /></div>`,
|
|
22238
|
+
styles: [":host{display:block}.fr-row{display:grid;grid-template-columns:repeat(var(--fr-cols, 2),1fr);gap:12px}.fr-row>::ng-deep .ui-span-2{grid-column:span 2}.fr-row>::ng-deep .ui-span-3{grid-column:span 3}.fr-row>::ng-deep .ui-span-all{grid-column:1 / -1}@media(max-width:768px){.fr-row--4{grid-template-columns:repeat(2,1fr)}.fr-row--4>::ng-deep .ui-span-3{grid-column:1 / -1}}@media(max-width:480px){.fr-row{grid-template-columns:1fr}.fr-row>::ng-deep .ui-span-2,.fr-row>::ng-deep .ui-span-3,.fr-row>::ng-deep .ui-span-all{grid-column:1 / -1}}\n"]
|
|
22239
22239
|
}]
|
|
22240
22240
|
}],
|
|
22241
22241
|
propDecorators: { cols: [{
|
|
@@ -24671,6 +24671,7 @@ var PanelInfoListComponent = class PanelInfoListComponent {
|
|
|
24671
24671
|
constructor() {
|
|
24672
24672
|
this.sections = input([], ...ngDevMode ? [{ debugName: "sections" }] : /* istanbul ignore next */ []);
|
|
24673
24673
|
this.showEmptyState = input(false, ...ngDevMode ? [{ debugName: "showEmptyState" }] : /* istanbul ignore next */ []);
|
|
24674
|
+
this.labelColon = input(false, ...ngDevMode ? [{ debugName: "labelColon" }] : /* istanbul ignore next */ []);
|
|
24674
24675
|
this.displaySections = computed(() => this.showEmptyState() ? this.sections() : this.sections().filter((s) => s.items.some((i) => !i.hidden)), ...ngDevMode ? [{ debugName: "displaySections" }] : /* istanbul ignore next */ []);
|
|
24675
24676
|
}
|
|
24676
24677
|
hrefOf(item) {
|
|
@@ -24729,6 +24730,13 @@ var PanelInfoListComponent = class PanelInfoListComponent {
|
|
|
24729
24730
|
isSignal: true,
|
|
24730
24731
|
isRequired: false,
|
|
24731
24732
|
transformFunction: null
|
|
24733
|
+
},
|
|
24734
|
+
labelColon: {
|
|
24735
|
+
classPropertyName: "labelColon",
|
|
24736
|
+
publicName: "labelColon",
|
|
24737
|
+
isSignal: true,
|
|
24738
|
+
isRequired: false,
|
|
24739
|
+
transformFunction: null
|
|
24732
24740
|
}
|
|
24733
24741
|
},
|
|
24734
24742
|
ngImport: i0,
|
|
@@ -24749,7 +24757,7 @@ var PanelInfoListComponent = class PanelInfoListComponent {
|
|
|
24749
24757
|
<div class="pil-grid-2">
|
|
24750
24758
|
@for (item of visibleItems(section); track item.label) {
|
|
24751
24759
|
<div class="pil-grid-cell">
|
|
24752
|
-
<span class="pil-label">{{ item.label }}</span>
|
|
24760
|
+
<span class="pil-label">{{ item.label }}{{ labelColon() ? ':' : '' }}</span>{{ labelColon() ? ' ' : '' }}
|
|
24753
24761
|
<span class="pil-value pil-value--block">
|
|
24754
24762
|
@if (item.badge) {
|
|
24755
24763
|
<ui-badge [label]="item.badge.label" [variant]="item.badge.variant" />
|
|
@@ -24764,8 +24772,8 @@ var PanelInfoListComponent = class PanelInfoListComponent {
|
|
|
24764
24772
|
</div>
|
|
24765
24773
|
} @else {
|
|
24766
24774
|
@for (item of visibleItems(section); track item.label) {
|
|
24767
|
-
<div class="pil-row">
|
|
24768
|
-
<span class="pil-label">{{ item.label }}</span>
|
|
24775
|
+
<div class="pil-row" [class.pil-row--inline]="labelColon()">
|
|
24776
|
+
<span class="pil-label">{{ item.label }}{{ labelColon() ? ':' : '' }}</span>{{ labelColon() ? ' ' : '' }}
|
|
24769
24777
|
<span class="pil-value">
|
|
24770
24778
|
@if (item.badges) {
|
|
24771
24779
|
<span class="pil-badges">
|
|
@@ -24802,7 +24810,7 @@ var PanelInfoListComponent = class PanelInfoListComponent {
|
|
|
24802
24810
|
}
|
|
24803
24811
|
`,
|
|
24804
24812
|
isInline: true,
|
|
24805
|
-
styles: [":host{display:flex;flex-direction:column;gap:12px}.pil-section{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.pil-section-label{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;font-weight:700;letter-spacing:.07em;color:#94a3b8;text-transform:uppercase;padding:8px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.pil-header-link{font-size:.75rem;font-weight:500;color:#2563eb;text-decoration:none;text-transform:none;letter-spacing:0}.pil-header-link:hover{text-decoration:underline}.pil-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid #f1f5f9}.pil-row:last-child{border-bottom:none}.pil-label{font-size:.8125rem;color:#64748b;flex-shrink:0}.pil-value{font-size:.875rem;font-weight:500;color:#1e293b;text-align:right;display:flex;align-items:center;justify-content:flex-end}.pil-badges{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.pil-edit-btn{margin-left:4px;flex-shrink:0}ui-empty-state{padding:12px 0}.pil-muted{color:#1e293b;font-weight:400}.pil-danger{color:#ef4444;font-weight:600}.pil-link{font-size:.875rem;font-weight:500;color:#2563eb;text-decoration:none}.pil-link:hover{text-decoration:underline}.pil-link--href{overflow-wrap:anywhere;word-break:break-word}.pil-link:focus-visible,.pil-header-link:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:2px}.pil-link-icon{display:inline-flex;align-items:center;gap:5px;font-size:.875rem;font-weight:500;color:#1e293b;text-decoration:none}.pil-link-icon svg{color:#94a3b8;flex-shrink:0}.pil-grid-2{display:grid;grid-template-columns:1fr 1fr}.pil-grid-cell{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-right:1px solid #f1f5f9}.pil-grid-cell:last-child{border-right:none}.pil-value--block{text-align:left;justify-content:flex-start}\n"],
|
|
24813
|
+
styles: [":host{display:flex;flex-direction:column;gap:12px}.pil-section{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.pil-section-label{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;font-weight:700;letter-spacing:.07em;color:#94a3b8;text-transform:uppercase;padding:8px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.pil-header-link{font-size:.75rem;font-weight:500;color:#2563eb;text-decoration:none;text-transform:none;letter-spacing:0}.pil-header-link:hover{text-decoration:underline}.pil-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid #f1f5f9}.pil-row:last-child{border-bottom:none}.pil-row--inline{justify-content:flex-start}.pil-row--inline .pil-value{text-align:left;justify-content:flex-start;flex-wrap:wrap;min-width:0;overflow-wrap:anywhere;word-break:break-word}.pil-label{font-size:.8125rem;color:#64748b;flex-shrink:0}.pil-value{font-size:.875rem;font-weight:500;color:#1e293b;text-align:right;display:flex;align-items:center;justify-content:flex-end}.pil-badges{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.pil-edit-btn{margin-left:4px;flex-shrink:0}ui-empty-state{padding:12px 0}.pil-muted{color:#1e293b;font-weight:400}.pil-danger{color:#ef4444;font-weight:600}.pil-link{font-size:.875rem;font-weight:500;color:#2563eb;text-decoration:none}.pil-link:hover{text-decoration:underline}.pil-link--href{overflow-wrap:anywhere;word-break:break-word}.pil-link:focus-visible,.pil-header-link:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:2px}.pil-link-icon{display:inline-flex;align-items:center;gap:5px;font-size:.875rem;font-weight:500;color:#1e293b;text-decoration:none}.pil-link-icon svg{color:#94a3b8;flex-shrink:0}.pil-grid-2{display:grid;grid-template-columns:1fr 1fr}.pil-grid-cell{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-right:1px solid #f1f5f9}.pil-grid-cell:last-child{border-right:none}.pil-value--block{text-align:left;justify-content:flex-start}\n"],
|
|
24806
24814
|
dependencies: [
|
|
24807
24815
|
{
|
|
24808
24816
|
kind: "component",
|
|
@@ -24905,7 +24913,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
24905
24913
|
<div class="pil-grid-2">
|
|
24906
24914
|
@for (item of visibleItems(section); track item.label) {
|
|
24907
24915
|
<div class="pil-grid-cell">
|
|
24908
|
-
<span class="pil-label">{{ item.label }}</span>
|
|
24916
|
+
<span class="pil-label">{{ item.label }}{{ labelColon() ? ':' : '' }}</span>{{ labelColon() ? ' ' : '' }}
|
|
24909
24917
|
<span class="pil-value pil-value--block">
|
|
24910
24918
|
@if (item.badge) {
|
|
24911
24919
|
<ui-badge [label]="item.badge.label" [variant]="item.badge.variant" />
|
|
@@ -24920,8 +24928,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
24920
24928
|
</div>
|
|
24921
24929
|
} @else {
|
|
24922
24930
|
@for (item of visibleItems(section); track item.label) {
|
|
24923
|
-
<div class="pil-row">
|
|
24924
|
-
<span class="pil-label">{{ item.label }}</span>
|
|
24931
|
+
<div class="pil-row" [class.pil-row--inline]="labelColon()">
|
|
24932
|
+
<span class="pil-label">{{ item.label }}{{ labelColon() ? ':' : '' }}</span>{{ labelColon() ? ' ' : '' }}
|
|
24925
24933
|
<span class="pil-value">
|
|
24926
24934
|
@if (item.badges) {
|
|
24927
24935
|
<span class="pil-badges">
|
|
@@ -24957,7 +24965,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
24957
24965
|
</div>
|
|
24958
24966
|
}
|
|
24959
24967
|
`,
|
|
24960
|
-
styles: [":host{display:flex;flex-direction:column;gap:12px}.pil-section{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.pil-section-label{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;font-weight:700;letter-spacing:.07em;color:#94a3b8;text-transform:uppercase;padding:8px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.pil-header-link{font-size:.75rem;font-weight:500;color:#2563eb;text-decoration:none;text-transform:none;letter-spacing:0}.pil-header-link:hover{text-decoration:underline}.pil-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid #f1f5f9}.pil-row:last-child{border-bottom:none}.pil-label{font-size:.8125rem;color:#64748b;flex-shrink:0}.pil-value{font-size:.875rem;font-weight:500;color:#1e293b;text-align:right;display:flex;align-items:center;justify-content:flex-end}.pil-badges{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.pil-edit-btn{margin-left:4px;flex-shrink:0}ui-empty-state{padding:12px 0}.pil-muted{color:#1e293b;font-weight:400}.pil-danger{color:#ef4444;font-weight:600}.pil-link{font-size:.875rem;font-weight:500;color:#2563eb;text-decoration:none}.pil-link:hover{text-decoration:underline}.pil-link--href{overflow-wrap:anywhere;word-break:break-word}.pil-link:focus-visible,.pil-header-link:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:2px}.pil-link-icon{display:inline-flex;align-items:center;gap:5px;font-size:.875rem;font-weight:500;color:#1e293b;text-decoration:none}.pil-link-icon svg{color:#94a3b8;flex-shrink:0}.pil-grid-2{display:grid;grid-template-columns:1fr 1fr}.pil-grid-cell{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-right:1px solid #f1f5f9}.pil-grid-cell:last-child{border-right:none}.pil-value--block{text-align:left;justify-content:flex-start}\n"]
|
|
24968
|
+
styles: [":host{display:flex;flex-direction:column;gap:12px}.pil-section{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.pil-section-label{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;font-weight:700;letter-spacing:.07em;color:#94a3b8;text-transform:uppercase;padding:8px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.pil-header-link{font-size:.75rem;font-weight:500;color:#2563eb;text-decoration:none;text-transform:none;letter-spacing:0}.pil-header-link:hover{text-decoration:underline}.pil-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid #f1f5f9}.pil-row:last-child{border-bottom:none}.pil-row--inline{justify-content:flex-start}.pil-row--inline .pil-value{text-align:left;justify-content:flex-start;flex-wrap:wrap;min-width:0;overflow-wrap:anywhere;word-break:break-word}.pil-label{font-size:.8125rem;color:#64748b;flex-shrink:0}.pil-value{font-size:.875rem;font-weight:500;color:#1e293b;text-align:right;display:flex;align-items:center;justify-content:flex-end}.pil-badges{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.pil-edit-btn{margin-left:4px;flex-shrink:0}ui-empty-state{padding:12px 0}.pil-muted{color:#1e293b;font-weight:400}.pil-danger{color:#ef4444;font-weight:600}.pil-link{font-size:.875rem;font-weight:500;color:#2563eb;text-decoration:none}.pil-link:hover{text-decoration:underline}.pil-link--href{overflow-wrap:anywhere;word-break:break-word}.pil-link:focus-visible,.pil-header-link:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:2px}.pil-link-icon{display:inline-flex;align-items:center;gap:5px;font-size:.875rem;font-weight:500;color:#1e293b;text-decoration:none}.pil-link-icon svg{color:#94a3b8;flex-shrink:0}.pil-grid-2{display:grid;grid-template-columns:1fr 1fr}.pil-grid-cell{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-right:1px solid #f1f5f9}.pil-grid-cell:last-child{border-right:none}.pil-value--block{text-align:left;justify-content:flex-start}\n"]
|
|
24961
24969
|
}]
|
|
24962
24970
|
}],
|
|
24963
24971
|
propDecorators: {
|
|
@@ -24976,6 +24984,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
24976
24984
|
alias: "showEmptyState",
|
|
24977
24985
|
required: false
|
|
24978
24986
|
}]
|
|
24987
|
+
}],
|
|
24988
|
+
labelColon: [{
|
|
24989
|
+
type: i0.Input,
|
|
24990
|
+
args: [{
|
|
24991
|
+
isSignal: true,
|
|
24992
|
+
alias: "labelColon",
|
|
24993
|
+
required: false
|
|
24994
|
+
}]
|
|
24979
24995
|
}]
|
|
24980
24996
|
}
|
|
24981
24997
|
});
|
|
@@ -26444,6 +26460,11 @@ var TimelineComponent = class TimelineComponent {
|
|
|
26444
26460
|
this.items = input([], ...ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []);
|
|
26445
26461
|
this.ariaLabel = input("", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
|
|
26446
26462
|
this.emptyMessage = input("", ...ngDevMode ? [{ debugName: "emptyMessage" }] : /* istanbul ignore next */ []);
|
|
26463
|
+
this.maxHeight = input("", ...ngDevMode ? [{ debugName: "maxHeight" }] : /* istanbul ignore next */ []);
|
|
26464
|
+
this.timePosition = input("below", ...ngDevMode ? [{ debugName: "timePosition" }] : /* istanbul ignore next */ []);
|
|
26465
|
+
}
|
|
26466
|
+
dotColor(item) {
|
|
26467
|
+
return item.dotVariant ? BADGE_VARIANT_STYLES[item.dotVariant]?.color ?? null : null;
|
|
26447
26468
|
}
|
|
26448
26469
|
static {
|
|
26449
26470
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
@@ -26483,36 +26504,70 @@ var TimelineComponent = class TimelineComponent {
|
|
|
26483
26504
|
isSignal: true,
|
|
26484
26505
|
isRequired: false,
|
|
26485
26506
|
transformFunction: null
|
|
26507
|
+
},
|
|
26508
|
+
maxHeight: {
|
|
26509
|
+
classPropertyName: "maxHeight",
|
|
26510
|
+
publicName: "maxHeight",
|
|
26511
|
+
isSignal: true,
|
|
26512
|
+
isRequired: false,
|
|
26513
|
+
transformFunction: null
|
|
26514
|
+
},
|
|
26515
|
+
timePosition: {
|
|
26516
|
+
classPropertyName: "timePosition",
|
|
26517
|
+
publicName: "timePosition",
|
|
26518
|
+
isSignal: true,
|
|
26519
|
+
isRequired: false,
|
|
26520
|
+
transformFunction: null
|
|
26486
26521
|
}
|
|
26487
26522
|
},
|
|
26488
26523
|
ngImport: i0,
|
|
26489
26524
|
template: `
|
|
26490
26525
|
@if (items().length) {
|
|
26526
|
+
@if (maxHeight()) {
|
|
26527
|
+
<div class="tl-scroll" role="region" tabindex="0" [attr.aria-label]="ariaLabel() || 'Timeline'" [style.max-height]="maxHeight()">
|
|
26528
|
+
<ng-container [ngTemplateOutlet]="listTpl" />
|
|
26529
|
+
</div>
|
|
26530
|
+
} @else {
|
|
26531
|
+
<ng-container [ngTemplateOutlet]="listTpl" />
|
|
26532
|
+
}
|
|
26533
|
+
} @else if (emptyMessage()) {
|
|
26534
|
+
<ui-hint class="tl-empty">{{ emptyMessage() }}</ui-hint>
|
|
26535
|
+
}
|
|
26536
|
+
<ng-template #listTpl>
|
|
26491
26537
|
<ol class="tl" [attr.aria-label]="ariaLabel() || null">
|
|
26492
26538
|
@for (item of items(); track item.id ?? $index) {
|
|
26493
|
-
<li class="tl-item" [class]="'tl-item tl-item--' + (item.tone ?? 'default')" [class.tl-item--icon]="!!item.icon">
|
|
26539
|
+
<li [attr.data-testid]="item.testId || null" class="tl-item" [class]="'tl-item tl-item--' + (item.tone ?? 'default')" [class.tl-item--icon]="!!item.icon" [style.--tl-color]="dotColor(item)">
|
|
26494
26540
|
<span class="tl-marker" aria-hidden="true">
|
|
26495
26541
|
@if (item.icon) { <ui-icon [name]="item.icon" [interactive]="false" [size]="12" /> }
|
|
26496
26542
|
</span>
|
|
26497
26543
|
<div class="tl-content">
|
|
26498
26544
|
<div class="tl-head">
|
|
26499
26545
|
<span class="tl-title">{{ item.title }}</span>
|
|
26500
|
-
@if (item.badge) { <
|
|
26546
|
+
@if (item.badge) { <ng-container [ngTemplateOutlet]="badgeTpl" [ngTemplateOutletContext]="{ $implicit: item.badge }" /> }
|
|
26547
|
+
@for (b of item.badges ?? []; track $index) { <ng-container [ngTemplateOutlet]="badgeTpl" [ngTemplateOutletContext]="{ $implicit: b }" /> }
|
|
26548
|
+
@if (timePosition() === 'end' && (item.time || item.dateTime)) {
|
|
26549
|
+
<time class="tl-time tl-time--end" [attr.datetime]="item.dateTime || null">{{ item.time || item.dateTime }}</time>
|
|
26550
|
+
}
|
|
26501
26551
|
</div>
|
|
26502
26552
|
@if (item.description) { <p class="tl-description">{{ item.description }}</p> }
|
|
26503
|
-
@if (item.time || item.dateTime) {
|
|
26553
|
+
@if (timePosition() !== 'end' && (item.time || item.dateTime)) {
|
|
26504
26554
|
<time class="tl-time" [attr.datetime]="item.dateTime || null">{{ item.time || item.dateTime }}</time>
|
|
26505
26555
|
}
|
|
26506
26556
|
</div>
|
|
26507
26557
|
</li>
|
|
26508
26558
|
}
|
|
26509
26559
|
</ol>
|
|
26510
|
-
|
|
26511
|
-
|
|
26512
|
-
|
|
26560
|
+
</ng-template>
|
|
26561
|
+
<ng-template #badgeTpl let-b>
|
|
26562
|
+
@if (b.tooltip) {
|
|
26563
|
+
<span class="tl-badge-tip" tabindex="0" [uiTooltip]="b.tooltip" [attr.data-testid]="b.testId || null"><ui-badge [label]="b.label" [variant]="b.variant" /></span>
|
|
26564
|
+
} @else {
|
|
26565
|
+
<ui-badge [label]="b.label" [variant]="b.variant" [attr.data-testid]="b.testId || null" />
|
|
26566
|
+
}
|
|
26567
|
+
</ng-template>
|
|
26513
26568
|
`,
|
|
26514
26569
|
isInline: true,
|
|
26515
|
-
styles: [":host{display:block}.tl{list-style:none;margin:0;padding:0}.tl-item{position:relative;display:flex;gap:12px;padding-bottom:16px;--tl-color: #475569}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:\"\";position:absolute;left:7px;top:18px;bottom:-2px;width:2px;background:#e2e8f0}.tl-item:last-child:before{display:none}.tl-item--success{--tl-color: #15803d}.tl-item--warning{--tl-color: #b45309}.tl-item--danger{--tl-color: #b91c1c}.tl-marker{flex-shrink:0;box-sizing:border-box;width:16px;height:16px;margin-top:2px;border-radius:50%;background:var(--tl-color);border:3px solid #fff;box-shadow:0 0 0 1px var(--tl-color);display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1}.tl-item--icon .tl-marker{border:none;box-shadow:none;color:#fff}.tl-content{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-word}.tl-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.tl-title{font-size:.875rem;font-weight:600;color:#1e293b;line-height:1.4}.tl-description{margin:2px 0 0;font-size:.8125rem;line-height:1.5;color:#475569}.tl-time{display:block;margin-top:2px;font-size:.75rem;color:#64748b}\n"],
|
|
26570
|
+
styles: [":host{display:block}.tl{list-style:none;margin:0;padding:0}.tl-item{position:relative;display:flex;gap:12px;padding-bottom:16px;--tl-color: #475569}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:\"\";position:absolute;left:7px;top:18px;bottom:-2px;width:2px;background:#e2e8f0}.tl-item:last-child:before{display:none}.tl-item--success{--tl-color: #15803d}.tl-item--warning{--tl-color: #b45309}.tl-item--danger{--tl-color: #b91c1c}.tl-marker{flex-shrink:0;box-sizing:border-box;width:16px;height:16px;margin-top:2px;border-radius:50%;background:var(--tl-color);border:3px solid #fff;box-shadow:0 0 0 1px var(--tl-color);display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1}.tl-item--icon .tl-marker{border:none;box-shadow:none;color:#fff}.tl-content{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-word}.tl-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.tl-badge-tip{display:inline-flex;border-radius:999px}.tl-badge-tip:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.tl-time--end{display:inline;margin:0 0 0 auto;padding-left:8px;white-space:nowrap}.tl-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-right:8px}.tl-scroll:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:4px}.tl-title{font-size:.875rem;font-weight:600;color:#1e293b;line-height:1.4}.tl-description{margin:2px 0 0;font-size:.8125rem;line-height:1.5;color:#475569}.tl-time{display:block;margin-top:2px;font-size:.75rem;color:#64748b}\n"],
|
|
26516
26571
|
dependencies: [
|
|
26517
26572
|
{
|
|
26518
26573
|
kind: "component",
|
|
@@ -26540,6 +26595,22 @@ var TimelineComponent = class TimelineComponent {
|
|
|
26540
26595
|
"interactive"
|
|
26541
26596
|
],
|
|
26542
26597
|
outputs: ["iconClick"]
|
|
26598
|
+
},
|
|
26599
|
+
{
|
|
26600
|
+
kind: "directive",
|
|
26601
|
+
type: NgTemplateOutlet,
|
|
26602
|
+
selector: "[ngTemplateOutlet]",
|
|
26603
|
+
inputs: [
|
|
26604
|
+
"ngTemplateOutletContext",
|
|
26605
|
+
"ngTemplateOutlet",
|
|
26606
|
+
"ngTemplateOutletInjector"
|
|
26607
|
+
]
|
|
26608
|
+
},
|
|
26609
|
+
{
|
|
26610
|
+
kind: "directive",
|
|
26611
|
+
type: TooltipDirective,
|
|
26612
|
+
selector: "[uiTooltip]",
|
|
26613
|
+
inputs: ["uiTooltip", "tooltipPosition"]
|
|
26543
26614
|
}
|
|
26544
26615
|
],
|
|
26545
26616
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
@@ -26560,34 +26631,56 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
26560
26631
|
imports: [
|
|
26561
26632
|
BadgeComponent,
|
|
26562
26633
|
HintComponent,
|
|
26563
|
-
IconComponent
|
|
26634
|
+
IconComponent,
|
|
26635
|
+
NgTemplateOutlet,
|
|
26636
|
+
TooltipDirective
|
|
26564
26637
|
],
|
|
26565
26638
|
template: `
|
|
26566
26639
|
@if (items().length) {
|
|
26640
|
+
@if (maxHeight()) {
|
|
26641
|
+
<div class="tl-scroll" role="region" tabindex="0" [attr.aria-label]="ariaLabel() || 'Timeline'" [style.max-height]="maxHeight()">
|
|
26642
|
+
<ng-container [ngTemplateOutlet]="listTpl" />
|
|
26643
|
+
</div>
|
|
26644
|
+
} @else {
|
|
26645
|
+
<ng-container [ngTemplateOutlet]="listTpl" />
|
|
26646
|
+
}
|
|
26647
|
+
} @else if (emptyMessage()) {
|
|
26648
|
+
<ui-hint class="tl-empty">{{ emptyMessage() }}</ui-hint>
|
|
26649
|
+
}
|
|
26650
|
+
<ng-template #listTpl>
|
|
26567
26651
|
<ol class="tl" [attr.aria-label]="ariaLabel() || null">
|
|
26568
26652
|
@for (item of items(); track item.id ?? $index) {
|
|
26569
|
-
<li class="tl-item" [class]="'tl-item tl-item--' + (item.tone ?? 'default')" [class.tl-item--icon]="!!item.icon">
|
|
26653
|
+
<li [attr.data-testid]="item.testId || null" class="tl-item" [class]="'tl-item tl-item--' + (item.tone ?? 'default')" [class.tl-item--icon]="!!item.icon" [style.--tl-color]="dotColor(item)">
|
|
26570
26654
|
<span class="tl-marker" aria-hidden="true">
|
|
26571
26655
|
@if (item.icon) { <ui-icon [name]="item.icon" [interactive]="false" [size]="12" /> }
|
|
26572
26656
|
</span>
|
|
26573
26657
|
<div class="tl-content">
|
|
26574
26658
|
<div class="tl-head">
|
|
26575
26659
|
<span class="tl-title">{{ item.title }}</span>
|
|
26576
|
-
@if (item.badge) { <
|
|
26660
|
+
@if (item.badge) { <ng-container [ngTemplateOutlet]="badgeTpl" [ngTemplateOutletContext]="{ $implicit: item.badge }" /> }
|
|
26661
|
+
@for (b of item.badges ?? []; track $index) { <ng-container [ngTemplateOutlet]="badgeTpl" [ngTemplateOutletContext]="{ $implicit: b }" /> }
|
|
26662
|
+
@if (timePosition() === 'end' && (item.time || item.dateTime)) {
|
|
26663
|
+
<time class="tl-time tl-time--end" [attr.datetime]="item.dateTime || null">{{ item.time || item.dateTime }}</time>
|
|
26664
|
+
}
|
|
26577
26665
|
</div>
|
|
26578
26666
|
@if (item.description) { <p class="tl-description">{{ item.description }}</p> }
|
|
26579
|
-
@if (item.time || item.dateTime) {
|
|
26667
|
+
@if (timePosition() !== 'end' && (item.time || item.dateTime)) {
|
|
26580
26668
|
<time class="tl-time" [attr.datetime]="item.dateTime || null">{{ item.time || item.dateTime }}</time>
|
|
26581
26669
|
}
|
|
26582
26670
|
</div>
|
|
26583
26671
|
</li>
|
|
26584
26672
|
}
|
|
26585
26673
|
</ol>
|
|
26586
|
-
|
|
26587
|
-
|
|
26588
|
-
|
|
26674
|
+
</ng-template>
|
|
26675
|
+
<ng-template #badgeTpl let-b>
|
|
26676
|
+
@if (b.tooltip) {
|
|
26677
|
+
<span class="tl-badge-tip" tabindex="0" [uiTooltip]="b.tooltip" [attr.data-testid]="b.testId || null"><ui-badge [label]="b.label" [variant]="b.variant" /></span>
|
|
26678
|
+
} @else {
|
|
26679
|
+
<ui-badge [label]="b.label" [variant]="b.variant" [attr.data-testid]="b.testId || null" />
|
|
26680
|
+
}
|
|
26681
|
+
</ng-template>
|
|
26589
26682
|
`,
|
|
26590
|
-
styles: [":host{display:block}.tl{list-style:none;margin:0;padding:0}.tl-item{position:relative;display:flex;gap:12px;padding-bottom:16px;--tl-color: #475569}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:\"\";position:absolute;left:7px;top:18px;bottom:-2px;width:2px;background:#e2e8f0}.tl-item:last-child:before{display:none}.tl-item--success{--tl-color: #15803d}.tl-item--warning{--tl-color: #b45309}.tl-item--danger{--tl-color: #b91c1c}.tl-marker{flex-shrink:0;box-sizing:border-box;width:16px;height:16px;margin-top:2px;border-radius:50%;background:var(--tl-color);border:3px solid #fff;box-shadow:0 0 0 1px var(--tl-color);display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1}.tl-item--icon .tl-marker{border:none;box-shadow:none;color:#fff}.tl-content{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-word}.tl-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.tl-title{font-size:.875rem;font-weight:600;color:#1e293b;line-height:1.4}.tl-description{margin:2px 0 0;font-size:.8125rem;line-height:1.5;color:#475569}.tl-time{display:block;margin-top:2px;font-size:.75rem;color:#64748b}\n"]
|
|
26683
|
+
styles: [":host{display:block}.tl{list-style:none;margin:0;padding:0}.tl-item{position:relative;display:flex;gap:12px;padding-bottom:16px;--tl-color: #475569}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:\"\";position:absolute;left:7px;top:18px;bottom:-2px;width:2px;background:#e2e8f0}.tl-item:last-child:before{display:none}.tl-item--success{--tl-color: #15803d}.tl-item--warning{--tl-color: #b45309}.tl-item--danger{--tl-color: #b91c1c}.tl-marker{flex-shrink:0;box-sizing:border-box;width:16px;height:16px;margin-top:2px;border-radius:50%;background:var(--tl-color);border:3px solid #fff;box-shadow:0 0 0 1px var(--tl-color);display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1}.tl-item--icon .tl-marker{border:none;box-shadow:none;color:#fff}.tl-content{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-word}.tl-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.tl-badge-tip{display:inline-flex;border-radius:999px}.tl-badge-tip:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.tl-time--end{display:inline;margin:0 0 0 auto;padding-left:8px;white-space:nowrap}.tl-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-right:8px}.tl-scroll:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:4px}.tl-title{font-size:.875rem;font-weight:600;color:#1e293b;line-height:1.4}.tl-description{margin:2px 0 0;font-size:.8125rem;line-height:1.5;color:#475569}.tl-time{display:block;margin-top:2px;font-size:.75rem;color:#64748b}\n"]
|
|
26591
26684
|
}]
|
|
26592
26685
|
}],
|
|
26593
26686
|
propDecorators: {
|
|
@@ -26614,6 +26707,22 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
26614
26707
|
alias: "emptyMessage",
|
|
26615
26708
|
required: false
|
|
26616
26709
|
}]
|
|
26710
|
+
}],
|
|
26711
|
+
maxHeight: [{
|
|
26712
|
+
type: i0.Input,
|
|
26713
|
+
args: [{
|
|
26714
|
+
isSignal: true,
|
|
26715
|
+
alias: "maxHeight",
|
|
26716
|
+
required: false
|
|
26717
|
+
}]
|
|
26718
|
+
}],
|
|
26719
|
+
timePosition: [{
|
|
26720
|
+
type: i0.Input,
|
|
26721
|
+
args: [{
|
|
26722
|
+
isSignal: true,
|
|
26723
|
+
alias: "timePosition",
|
|
26724
|
+
required: false
|
|
26725
|
+
}]
|
|
26617
26726
|
}]
|
|
26618
26727
|
}
|
|
26619
26728
|
});
|