@forgeroute/ui 0.3.13 → 0.4.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/forgeroute-ui.mjs +511 -518
- package/fesm2022/forgeroute-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/forgeroute-ui.d.ts +199 -161
|
@@ -13891,6 +13891,8 @@ var AlertComponent = class AlertComponent {
|
|
|
13891
13891
|
this.variant = input("info", ...ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []);
|
|
13892
13892
|
this.title = input("", ...ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []);
|
|
13893
13893
|
this.dismissible = input(false, ...ngDevMode ? [{ debugName: "dismissible" }] : /* istanbul ignore next */ []);
|
|
13894
|
+
this.quiet = input(false, ...ngDevMode ? [{ debugName: "quiet" }] : /* istanbul ignore next */ []);
|
|
13895
|
+
this.compact = input(false, ...ngDevMode ? [{ debugName: "compact" }] : /* istanbul ignore next */ []);
|
|
13894
13896
|
this.dismissed = output();
|
|
13895
13897
|
}
|
|
13896
13898
|
static {
|
|
@@ -13931,12 +13933,26 @@ var AlertComponent = class AlertComponent {
|
|
|
13931
13933
|
isSignal: true,
|
|
13932
13934
|
isRequired: false,
|
|
13933
13935
|
transformFunction: null
|
|
13936
|
+
},
|
|
13937
|
+
quiet: {
|
|
13938
|
+
classPropertyName: "quiet",
|
|
13939
|
+
publicName: "quiet",
|
|
13940
|
+
isSignal: true,
|
|
13941
|
+
isRequired: false,
|
|
13942
|
+
transformFunction: null
|
|
13943
|
+
},
|
|
13944
|
+
compact: {
|
|
13945
|
+
classPropertyName: "compact",
|
|
13946
|
+
publicName: "compact",
|
|
13947
|
+
isSignal: true,
|
|
13948
|
+
isRequired: false,
|
|
13949
|
+
transformFunction: null
|
|
13934
13950
|
}
|
|
13935
13951
|
},
|
|
13936
13952
|
outputs: { dismissed: "dismissed" },
|
|
13937
13953
|
ngImport: i0,
|
|
13938
13954
|
template: `
|
|
13939
|
-
<div class="alert" [class]="'alert alert--' + variant()" [attr.role]="variant() === 'danger' ? 'alert' : 'status'">
|
|
13955
|
+
<div class="alert" [class]="'alert alert--' + variant()" [class.alert--compact]="compact()" [attr.role]="quiet() ? null : (variant() === 'danger' ? 'alert' : 'status')">
|
|
13940
13956
|
<div class="alert-content">
|
|
13941
13957
|
@if (title()) { <div class="alert-title">{{ title() }}</div> }
|
|
13942
13958
|
<div class="alert-body"><ng-content /></div>
|
|
@@ -13951,7 +13967,7 @@ var AlertComponent = class AlertComponent {
|
|
|
13951
13967
|
</div>
|
|
13952
13968
|
`,
|
|
13953
13969
|
isInline: true,
|
|
13954
|
-
styles: [":host{display:block}.alert{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;border-left:4px solid transparent;font-size:13px;line-height:1.5}.alert--info{background:#dbeafe;border-color:#3b82f6;color:#1e3a8a}.alert--success{background:#dcfce7;border-color:#22c55e;color:#14532d}.alert--warning{background:#ffedd5;border-color:#f97316;color:#7c2d12}.alert--danger{background:#fee2e2;border-color:#ef4444;color:#7f1d1d}.alert-content{flex:1;display:flex;flex-direction:column;gap:2px}.alert-title{font-weight:700}.alert-body{opacity:.9;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.alert-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;color:inherit;opacity:.6;display:flex;align-items:center;transition:opacity .15s}.alert-dismiss:hover{opacity:1}\n"],
|
|
13970
|
+
styles: [":host{display:block}.alert{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;border-left:4px solid transparent;font-size:13px;line-height:1.5}.alert--info{background:#dbeafe;border-color:#3b82f6;color:#1e3a8a}.alert--success{background:#dcfce7;border-color:#22c55e;color:#14532d}.alert--warning{background:#ffedd5;border-color:#f97316;color:#7c2d12}.alert--danger{background:#fee2e2;border-color:#ef4444;color:#7f1d1d}.alert--compact{padding:8px 12px;gap:8px;font-size:12.5px;line-height:1.4}.alert-content{flex:1;display:flex;flex-direction:column;gap:2px}.alert-title{font-weight:700}.alert-body{opacity:.9;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.alert-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;color:inherit;opacity:.6;display:flex;align-items:center;transition:opacity .15s}.alert-dismiss:hover{opacity:1}\n"],
|
|
13955
13971
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
13956
13972
|
});
|
|
13957
13973
|
}
|
|
@@ -13968,7 +13984,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
13968
13984
|
standalone: true,
|
|
13969
13985
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
13970
13986
|
template: `
|
|
13971
|
-
<div class="alert" [class]="'alert alert--' + variant()" [attr.role]="variant() === 'danger' ? 'alert' : 'status'">
|
|
13987
|
+
<div class="alert" [class]="'alert alert--' + variant()" [class.alert--compact]="compact()" [attr.role]="quiet() ? null : (variant() === 'danger' ? 'alert' : 'status')">
|
|
13972
13988
|
<div class="alert-content">
|
|
13973
13989
|
@if (title()) { <div class="alert-title">{{ title() }}</div> }
|
|
13974
13990
|
<div class="alert-body"><ng-content /></div>
|
|
@@ -13982,7 +13998,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
13982
13998
|
}
|
|
13983
13999
|
</div>
|
|
13984
14000
|
`,
|
|
13985
|
-
styles: [":host{display:block}.alert{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;border-left:4px solid transparent;font-size:13px;line-height:1.5}.alert--info{background:#dbeafe;border-color:#3b82f6;color:#1e3a8a}.alert--success{background:#dcfce7;border-color:#22c55e;color:#14532d}.alert--warning{background:#ffedd5;border-color:#f97316;color:#7c2d12}.alert--danger{background:#fee2e2;border-color:#ef4444;color:#7f1d1d}.alert-content{flex:1;display:flex;flex-direction:column;gap:2px}.alert-title{font-weight:700}.alert-body{opacity:.9;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.alert-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;color:inherit;opacity:.6;display:flex;align-items:center;transition:opacity .15s}.alert-dismiss:hover{opacity:1}\n"]
|
|
14001
|
+
styles: [":host{display:block}.alert{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;border-left:4px solid transparent;font-size:13px;line-height:1.5}.alert--info{background:#dbeafe;border-color:#3b82f6;color:#1e3a8a}.alert--success{background:#dcfce7;border-color:#22c55e;color:#14532d}.alert--warning{background:#ffedd5;border-color:#f97316;color:#7c2d12}.alert--danger{background:#fee2e2;border-color:#ef4444;color:#7f1d1d}.alert--compact{padding:8px 12px;gap:8px;font-size:12.5px;line-height:1.4}.alert-content{flex:1;display:flex;flex-direction:column;gap:2px}.alert-title{font-weight:700}.alert-body{opacity:.9;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.alert-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;color:inherit;opacity:.6;display:flex;align-items:center;transition:opacity .15s}.alert-dismiss:hover{opacity:1}\n"]
|
|
13986
14002
|
}]
|
|
13987
14003
|
}],
|
|
13988
14004
|
propDecorators: {
|
|
@@ -14010,6 +14026,22 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
14010
14026
|
required: false
|
|
14011
14027
|
}]
|
|
14012
14028
|
}],
|
|
14029
|
+
quiet: [{
|
|
14030
|
+
type: i0.Input,
|
|
14031
|
+
args: [{
|
|
14032
|
+
isSignal: true,
|
|
14033
|
+
alias: "quiet",
|
|
14034
|
+
required: false
|
|
14035
|
+
}]
|
|
14036
|
+
}],
|
|
14037
|
+
compact: [{
|
|
14038
|
+
type: i0.Input,
|
|
14039
|
+
args: [{
|
|
14040
|
+
isSignal: true,
|
|
14041
|
+
alias: "compact",
|
|
14042
|
+
required: false
|
|
14043
|
+
}]
|
|
14044
|
+
}],
|
|
14013
14045
|
dismissed: [{
|
|
14014
14046
|
type: i0.Output,
|
|
14015
14047
|
args: ["dismissed"]
|
|
@@ -14563,7 +14595,9 @@ var PhoneNumberPickerComponent = class PhoneNumberPickerComponent {
|
|
|
14563
14595
|
inputs: [
|
|
14564
14596
|
"variant",
|
|
14565
14597
|
"title",
|
|
14566
|
-
"dismissible"
|
|
14598
|
+
"dismissible",
|
|
14599
|
+
"quiet",
|
|
14600
|
+
"compact"
|
|
14567
14601
|
],
|
|
14568
14602
|
outputs: ["dismissed"]
|
|
14569
14603
|
},
|
|
@@ -22845,7 +22879,9 @@ var SendEmailComponent = class SendEmailComponent {
|
|
|
22845
22879
|
inputs: [
|
|
22846
22880
|
"variant",
|
|
22847
22881
|
"title",
|
|
22848
|
-
"dismissible"
|
|
22882
|
+
"dismissible",
|
|
22883
|
+
"quiet",
|
|
22884
|
+
"compact"
|
|
22849
22885
|
],
|
|
22850
22886
|
outputs: ["dismissed"]
|
|
22851
22887
|
}
|
|
@@ -24463,7 +24499,9 @@ var SendTextComponent = class SendTextComponent {
|
|
|
24463
24499
|
inputs: [
|
|
24464
24500
|
"variant",
|
|
24465
24501
|
"title",
|
|
24466
|
-
"dismissible"
|
|
24502
|
+
"dismissible",
|
|
24503
|
+
"quiet",
|
|
24504
|
+
"compact"
|
|
24467
24505
|
],
|
|
24468
24506
|
outputs: ["dismissed"]
|
|
24469
24507
|
}
|
|
@@ -26546,6 +26584,108 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
26546
26584
|
}]
|
|
26547
26585
|
}
|
|
26548
26586
|
});
|
|
26587
|
+
const SIZE_REM = {
|
|
26588
|
+
sm: "0.8125rem",
|
|
26589
|
+
md: "0.875rem",
|
|
26590
|
+
lg: "1rem"
|
|
26591
|
+
};
|
|
26592
|
+
var TextComponent = class TextComponent {
|
|
26593
|
+
constructor() {
|
|
26594
|
+
this.text = input("", ...ngDevMode ? [{ debugName: "text" }] : /* istanbul ignore next */ []);
|
|
26595
|
+
this.size = input("md", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
|
|
26596
|
+
this.tone = input("default", ...ngDevMode ? [{ debugName: "tone" }] : /* istanbul ignore next */ []);
|
|
26597
|
+
this.fontSize = computed(() => SIZE_REM[this.size()] ?? SIZE_REM.md, ...ngDevMode ? [{ debugName: "fontSize" }] : /* istanbul ignore next */ []);
|
|
26598
|
+
}
|
|
26599
|
+
static {
|
|
26600
|
+
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
26601
|
+
minVersion: "12.0.0",
|
|
26602
|
+
version: "22.2.2",
|
|
26603
|
+
ngImport: i0,
|
|
26604
|
+
type: TextComponent,
|
|
26605
|
+
deps: [],
|
|
26606
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
26607
|
+
});
|
|
26608
|
+
}
|
|
26609
|
+
static {
|
|
26610
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
26611
|
+
minVersion: "17.1.0",
|
|
26612
|
+
version: "22.2.2",
|
|
26613
|
+
type: TextComponent,
|
|
26614
|
+
isStandalone: true,
|
|
26615
|
+
selector: "ui-text",
|
|
26616
|
+
inputs: {
|
|
26617
|
+
text: {
|
|
26618
|
+
classPropertyName: "text",
|
|
26619
|
+
publicName: "text",
|
|
26620
|
+
isSignal: true,
|
|
26621
|
+
isRequired: false,
|
|
26622
|
+
transformFunction: null
|
|
26623
|
+
},
|
|
26624
|
+
size: {
|
|
26625
|
+
classPropertyName: "size",
|
|
26626
|
+
publicName: "size",
|
|
26627
|
+
isSignal: true,
|
|
26628
|
+
isRequired: false,
|
|
26629
|
+
transformFunction: null
|
|
26630
|
+
},
|
|
26631
|
+
tone: {
|
|
26632
|
+
classPropertyName: "tone",
|
|
26633
|
+
publicName: "tone",
|
|
26634
|
+
isSignal: true,
|
|
26635
|
+
isRequired: false,
|
|
26636
|
+
transformFunction: null
|
|
26637
|
+
}
|
|
26638
|
+
},
|
|
26639
|
+
ngImport: i0,
|
|
26640
|
+
template: `<div class="tx" [class.tx-muted]="tone() === 'muted'" [style.font-size]="fontSize()">{{ text() }}</div>`,
|
|
26641
|
+
isInline: true,
|
|
26642
|
+
styles: [":host{display:block;min-width:0}.tx{margin:0;line-height:1.5;color:#1f2937;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;-webkit-user-select:text;user-select:text}.tx-muted{color:#64748b}\n"],
|
|
26643
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
26644
|
+
});
|
|
26645
|
+
}
|
|
26646
|
+
};
|
|
26647
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
26648
|
+
minVersion: "12.0.0",
|
|
26649
|
+
version: "22.2.2",
|
|
26650
|
+
ngImport: i0,
|
|
26651
|
+
type: TextComponent,
|
|
26652
|
+
decorators: [{
|
|
26653
|
+
type: Component,
|
|
26654
|
+
args: [{
|
|
26655
|
+
selector: "ui-text",
|
|
26656
|
+
standalone: true,
|
|
26657
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
26658
|
+
template: `<div class="tx" [class.tx-muted]="tone() === 'muted'" [style.font-size]="fontSize()">{{ text() }}</div>`,
|
|
26659
|
+
styles: [":host{display:block;min-width:0}.tx{margin:0;line-height:1.5;color:#1f2937;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;-webkit-user-select:text;user-select:text}.tx-muted{color:#64748b}\n"]
|
|
26660
|
+
}]
|
|
26661
|
+
}],
|
|
26662
|
+
propDecorators: {
|
|
26663
|
+
text: [{
|
|
26664
|
+
type: i0.Input,
|
|
26665
|
+
args: [{
|
|
26666
|
+
isSignal: true,
|
|
26667
|
+
alias: "text",
|
|
26668
|
+
required: false
|
|
26669
|
+
}]
|
|
26670
|
+
}],
|
|
26671
|
+
size: [{
|
|
26672
|
+
type: i0.Input,
|
|
26673
|
+
args: [{
|
|
26674
|
+
isSignal: true,
|
|
26675
|
+
alias: "size",
|
|
26676
|
+
required: false
|
|
26677
|
+
}]
|
|
26678
|
+
}],
|
|
26679
|
+
tone: [{
|
|
26680
|
+
type: i0.Input,
|
|
26681
|
+
args: [{
|
|
26682
|
+
isSignal: true,
|
|
26683
|
+
alias: "tone",
|
|
26684
|
+
required: false
|
|
26685
|
+
}]
|
|
26686
|
+
}]
|
|
26687
|
+
}
|
|
26688
|
+
});
|
|
26549
26689
|
var ImagePreviewComponent = class ImagePreviewComponent {
|
|
26550
26690
|
constructor() {
|
|
26551
26691
|
this.src = input(null, ...ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []);
|
|
@@ -29733,6 +29873,21 @@ function provideForgerouteToast(options = {}) {
|
|
|
29733
29873
|
});
|
|
29734
29874
|
})]);
|
|
29735
29875
|
}
|
|
29876
|
+
const LAYOUT_GAP_PX = {
|
|
29877
|
+
none: 0,
|
|
29878
|
+
xs: 4,
|
|
29879
|
+
sm: 8,
|
|
29880
|
+
md: 16,
|
|
29881
|
+
lg: 24,
|
|
29882
|
+
xl: 32
|
|
29883
|
+
};
|
|
29884
|
+
const CSS_LENGTH = /^(?:0|-?(?:\d+\.?\d*|\.\d+)(?:px|rem|em|%|vh|vw|ch)|(?:calc|var)\([^;{}]*\))$/i;
|
|
29885
|
+
function resolveLayoutGap(gap, fallback) {
|
|
29886
|
+
const v = (gap ?? "").trim();
|
|
29887
|
+
if (Object.prototype.hasOwnProperty.call(LAYOUT_GAP_PX, v)) return `${LAYOUT_GAP_PX[v]}px`;
|
|
29888
|
+
if (v && CSS_LENGTH.test(v)) return v;
|
|
29889
|
+
return `${LAYOUT_GAP_PX[fallback]}px`;
|
|
29890
|
+
}
|
|
29736
29891
|
function reorderItems(items, order) {
|
|
29737
29892
|
return order.map((i) => items[i]);
|
|
29738
29893
|
}
|
|
@@ -29752,30 +29907,69 @@ function defaultLabel(item, index) {
|
|
|
29752
29907
|
if (typeof item === "number") return String(item);
|
|
29753
29908
|
return `Item ${index + 1}`;
|
|
29754
29909
|
}
|
|
29910
|
+
const DEFAULT_GAP_LIST = "0px";
|
|
29911
|
+
const DEFAULT_GAP_GRID = "12px";
|
|
29912
|
+
let nextId$2 = 0;
|
|
29755
29913
|
var ListComponent = class ListComponent {
|
|
29756
29914
|
constructor() {
|
|
29757
29915
|
this.host = inject(ElementRef);
|
|
29758
29916
|
this.injector = inject(Injector);
|
|
29759
29917
|
this.items = input([], ...ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []);
|
|
29760
29918
|
this.ordered = input(false, ...ngDevMode ? [{ debugName: "ordered" }] : /* istanbul ignore next */ []);
|
|
29919
|
+
this.layout = input("list", ...ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []);
|
|
29920
|
+
this.gridMin = input(130, ...ngDevMode ? [{ debugName: "gridMin" }] : /* istanbul ignore next */ []);
|
|
29921
|
+
this.gap = input(void 0, ...ngDevMode ? [{ debugName: "gap" }] : /* istanbul ignore next */ []);
|
|
29761
29922
|
this.reorderable = input(false, ...ngDevMode ? [{ debugName: "reorderable" }] : /* istanbul ignore next */ []);
|
|
29762
29923
|
this.disabled = input(false, ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
|
|
29924
|
+
this.moveControls = input("auto", ...ngDevMode ? [{ debugName: "moveControls" }] : /* istanbul ignore next */ []);
|
|
29925
|
+
this.dragDrop = input("auto", ...ngDevMode ? [{ debugName: "dragDrop" }] : /* istanbul ignore next */ []);
|
|
29763
29926
|
this.ariaLabel = input(void 0, ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
|
|
29764
29927
|
this.ariaLabelledby = input(void 0, ...ngDevMode ? [{ debugName: "ariaLabelledby" }] : /* istanbul ignore next */ []);
|
|
29765
29928
|
this.itemLabelFn = input(defaultLabel, ...ngDevMode ? [{ debugName: "itemLabelFn" }] : /* istanbul ignore next */ []);
|
|
29766
29929
|
this.trackBy = input((item) => item, ...ngDevMode ? [{ debugName: "trackBy" }] : /* istanbul ignore next */ []);
|
|
29930
|
+
this.moveEarlierLabel = input(void 0, ...ngDevMode ? [{ debugName: "moveEarlierLabel" }] : /* istanbul ignore next */ []);
|
|
29931
|
+
this.moveLaterLabel = input(void 0, ...ngDevMode ? [{ debugName: "moveLaterLabel" }] : /* istanbul ignore next */ []);
|
|
29932
|
+
this.helpText = input("Hold Shift and press the arrow keys to move this item. Shift plus Home or End moves it to the start or end.", ...ngDevMode ? [{ debugName: "helpText" }] : /* istanbul ignore next */ []);
|
|
29933
|
+
this.moveAnnouncement = input((label, position, total) => `${label} moved to position ${position} of ${total}`, ...ngDevMode ? [{ debugName: "moveAnnouncement" }] : /* istanbul ignore next */ []);
|
|
29934
|
+
this.itemsChange = output();
|
|
29767
29935
|
this.reorder = output();
|
|
29768
29936
|
this.rowTemplate = contentChild(TemplateRef, ...ngDevMode ? [{ debugName: "rowTemplate" }] : /* istanbul ignore next */ []);
|
|
29937
|
+
this.helpId = `ul-help-${nextId$2++}`;
|
|
29769
29938
|
this.announcement = signal("", ...ngDevMode ? [{ debugName: "announcement" }] : /* istanbul ignore next */ []);
|
|
29770
29939
|
this.movedKey = signal(void 0, ...ngDevMode ? [{ debugName: "movedKey" }] : /* istanbul ignore next */ []);
|
|
29940
|
+
this.dragIndex = signal(null, ...ngDevMode ? [{ debugName: "dragIndex" }] : /* istanbul ignore next */ []);
|
|
29941
|
+
this.overIndex = signal(null, ...ngDevMode ? [{ debugName: "overIndex" }] : /* istanbul ignore next */ []);
|
|
29771
29942
|
this.pendingFocus = null;
|
|
29772
29943
|
this.announceSeq = 0;
|
|
29773
29944
|
this.dupTokens = /* @__PURE__ */ new Map();
|
|
29945
|
+
this.isGrid = computed(() => this.layout() === "grid", ...ngDevMode ? [{ debugName: "isGrid" }] : /* istanbul ignore next */ []);
|
|
29946
|
+
this.canReorder = computed(() => this.reorderable() && !this.disabled(), ...ngDevMode ? [{ debugName: "canReorder" }] : /* istanbul ignore next */ []);
|
|
29947
|
+
this.showControls = computed(() => {
|
|
29948
|
+
if (!this.reorderable()) return false;
|
|
29949
|
+
const m = this.moveControls();
|
|
29950
|
+
return m === true || m === "auto" && !this.isGrid();
|
|
29951
|
+
}, ...ngDevMode ? [{ debugName: "showControls" }] : /* istanbul ignore next */ []);
|
|
29952
|
+
this.direct = computed(() => {
|
|
29953
|
+
if (!this.canReorder()) return false;
|
|
29954
|
+
const d = this.dragDrop();
|
|
29955
|
+
return d === true || d === "auto" && this.isGrid();
|
|
29956
|
+
}, ...ngDevMode ? [{ debugName: "direct" }] : /* istanbul ignore next */ []);
|
|
29957
|
+
this.gapCss = computed(() => {
|
|
29958
|
+
const fallback = this.isGrid() ? DEFAULT_GAP_GRID : DEFAULT_GAP_LIST;
|
|
29959
|
+
const g = this.gap();
|
|
29960
|
+
if (g == null || String(g).trim() === "") return fallback;
|
|
29961
|
+
const a = resolveLayoutGap(g, "none");
|
|
29962
|
+
return a === resolveLayoutGap(g, "xl") ? a : fallback;
|
|
29963
|
+
}, ...ngDevMode ? [{ debugName: "gapCss" }] : /* istanbul ignore next */ []);
|
|
29774
29964
|
this.rows = computed(() => {
|
|
29775
29965
|
const items = this.items();
|
|
29776
29966
|
const n = items.length;
|
|
29777
29967
|
const keyFn = this.trackBy();
|
|
29778
29968
|
const labelFn = this.itemLabelFn();
|
|
29969
|
+
const grid = this.isGrid();
|
|
29970
|
+
const earlier = this.moveEarlierLabel();
|
|
29971
|
+
const later = this.moveLaterLabel();
|
|
29972
|
+
const dragging = this.dragIndex();
|
|
29779
29973
|
const out = new Array(n);
|
|
29780
29974
|
const seen = /* @__PURE__ */ new Map();
|
|
29781
29975
|
const nextTokens = /* @__PURE__ */ new Map();
|
|
@@ -29795,14 +29989,18 @@ var ListComponent = class ListComponent {
|
|
|
29795
29989
|
key,
|
|
29796
29990
|
index: i,
|
|
29797
29991
|
label,
|
|
29798
|
-
|
|
29799
|
-
|
|
29992
|
+
earlierLabel: earlier !== void 0 ? `${earlier} ${label}` : grid ? `Move earlier ${label}` : `Move ${label} up`,
|
|
29993
|
+
laterLabel: later !== void 0 ? `${later} ${label}` : grid ? `Move later ${label}` : `Move ${label} down`,
|
|
29800
29994
|
first: i === 0,
|
|
29801
29995
|
last: i === n - 1,
|
|
29996
|
+
dragging: dragging === i,
|
|
29802
29997
|
ctx: {
|
|
29803
29998
|
$implicit: item,
|
|
29804
29999
|
index: i,
|
|
29805
|
-
count: n
|
|
30000
|
+
count: n,
|
|
30001
|
+
first: i === 0,
|
|
30002
|
+
last: i === n - 1,
|
|
30003
|
+
dragging: dragging === i
|
|
29806
30004
|
}
|
|
29807
30005
|
};
|
|
29808
30006
|
}
|
|
@@ -29810,23 +30008,52 @@ var ListComponent = class ListComponent {
|
|
|
29810
30008
|
return out;
|
|
29811
30009
|
}, ...ngDevMode ? [{ debugName: "rows" }] : /* istanbul ignore next */ []);
|
|
29812
30010
|
}
|
|
29813
|
-
canReorder() {
|
|
29814
|
-
return this.reorderable() && !this.disabled();
|
|
29815
|
-
}
|
|
29816
30011
|
rowIndexOf(el, list) {
|
|
29817
30012
|
const li = el?.closest(".ul-item") ?? null;
|
|
29818
30013
|
if (!li || li.parentElement !== list) return -1;
|
|
29819
30014
|
return Number(li.getAttribute("data-index"));
|
|
29820
30015
|
}
|
|
30016
|
+
move(from, to) {
|
|
30017
|
+
return this.apply(from, to, null);
|
|
30018
|
+
}
|
|
29821
30019
|
onKeydown(e) {
|
|
29822
|
-
if (!
|
|
29823
|
-
|
|
29824
|
-
if (!this.canReorder()) return;
|
|
30020
|
+
if (!this.canReorder() || e.ctrlKey || e.metaKey) return;
|
|
30021
|
+
const list = e.currentTarget;
|
|
29825
30022
|
const target = e.target;
|
|
29826
|
-
if (
|
|
29827
|
-
|
|
29828
|
-
|
|
29829
|
-
|
|
30023
|
+
if (e.altKey && !e.shiftKey) {
|
|
30024
|
+
if (e.key !== "ArrowUp" && e.key !== "ArrowDown") return;
|
|
30025
|
+
if (target?.closest("input, textarea, select, [contenteditable=\"\"], [contenteditable=\"true\"]")) return;
|
|
30026
|
+
const idx = this.rowIndexOf(target, list);
|
|
30027
|
+
if (idx < 0) return;
|
|
30028
|
+
const onRow = this.direct() && target?.classList.contains("ul-item") === true;
|
|
30029
|
+
if (this.apply(idx, idx + (e.key === "ArrowUp" ? -1 : 1), onRow ? "row" : "button")) e.preventDefault();
|
|
30030
|
+
return;
|
|
30031
|
+
}
|
|
30032
|
+
if (e.shiftKey && !e.altKey && this.direct()) {
|
|
30033
|
+
if (!target?.classList.contains("ul-item")) return;
|
|
30034
|
+
const idx = this.rowIndexOf(target, list);
|
|
30035
|
+
if (idx < 0) return;
|
|
30036
|
+
let to;
|
|
30037
|
+
switch (e.key) {
|
|
30038
|
+
case "ArrowUp":
|
|
30039
|
+
case "ArrowLeft":
|
|
30040
|
+
to = idx - 1;
|
|
30041
|
+
break;
|
|
30042
|
+
case "ArrowDown":
|
|
30043
|
+
case "ArrowRight":
|
|
30044
|
+
to = idx + 1;
|
|
30045
|
+
break;
|
|
30046
|
+
case "Home":
|
|
30047
|
+
to = 0;
|
|
30048
|
+
break;
|
|
30049
|
+
case "End":
|
|
30050
|
+
to = this.rows().length - 1;
|
|
30051
|
+
break;
|
|
30052
|
+
default: return;
|
|
30053
|
+
}
|
|
30054
|
+
e.preventDefault();
|
|
30055
|
+
this.apply(idx, to, "row");
|
|
30056
|
+
}
|
|
29830
30057
|
}
|
|
29831
30058
|
onClick(e) {
|
|
29832
30059
|
if (!this.canReorder()) return;
|
|
@@ -29835,34 +30062,75 @@ var ListComponent = class ListComponent {
|
|
|
29835
30062
|
if (btn.querySelector("button")?.disabled) return;
|
|
29836
30063
|
const idx = this.rowIndexOf(btn, e.currentTarget);
|
|
29837
30064
|
if (idx < 0) return;
|
|
29838
|
-
|
|
30065
|
+
const dir = btn.getAttribute("data-move") === "up" ? -1 : 1;
|
|
30066
|
+
this.apply(idx, idx + dir, "button");
|
|
29839
30067
|
}
|
|
29840
30068
|
onFocusOut(e) {
|
|
29841
30069
|
if (this.pendingFocus) return;
|
|
29842
30070
|
const next = e.relatedTarget;
|
|
29843
30071
|
if (!next || !e.currentTarget.contains(next)) this.movedKey.set(void 0);
|
|
29844
30072
|
}
|
|
29845
|
-
|
|
30073
|
+
onDragStart(e) {
|
|
30074
|
+
if (!this.direct()) return;
|
|
30075
|
+
const idx = this.rowIndexOf(e.target, e.currentTarget);
|
|
30076
|
+
if (idx < 0) return;
|
|
30077
|
+
this.dragIndex.set(idx);
|
|
30078
|
+
if (e.dataTransfer) {
|
|
30079
|
+
e.dataTransfer.effectAllowed = "move";
|
|
30080
|
+
e.dataTransfer.setData("text/plain", String(idx));
|
|
30081
|
+
}
|
|
30082
|
+
}
|
|
30083
|
+
onDragOver(e) {
|
|
30084
|
+
if (!this.direct() || this.dragIndex() === null) return;
|
|
30085
|
+
const idx = this.rowIndexOf(e.target, e.currentTarget);
|
|
30086
|
+
if (idx < 0) return;
|
|
30087
|
+
e.preventDefault();
|
|
30088
|
+
if (e.dataTransfer) e.dataTransfer.dropEffect = "move";
|
|
30089
|
+
this.overIndex.set(idx);
|
|
30090
|
+
}
|
|
30091
|
+
onDrop(e) {
|
|
30092
|
+
const from = this.dragIndex();
|
|
30093
|
+
if (!this.direct() || from === null) return;
|
|
30094
|
+
const idx = this.rowIndexOf(e.target, e.currentTarget);
|
|
30095
|
+
if (idx < 0) return;
|
|
30096
|
+
e.preventDefault();
|
|
30097
|
+
this.onDragEnd();
|
|
30098
|
+
this.apply(from, idx, null);
|
|
30099
|
+
}
|
|
30100
|
+
onDragEnd() {
|
|
30101
|
+
this.dragIndex.set(null);
|
|
30102
|
+
this.overIndex.set(null);
|
|
30103
|
+
}
|
|
30104
|
+
apply(from, to, focus) {
|
|
29846
30105
|
const rows = this.rows();
|
|
29847
|
-
const
|
|
29848
|
-
if (
|
|
30106
|
+
const n = rows.length;
|
|
30107
|
+
if (!this.canReorder() || !Number.isInteger(from) || from < 0 || from >= n) return false;
|
|
30108
|
+
const target = Math.max(0, Math.min(n - 1, Number.isFinite(to) ? to : from));
|
|
30109
|
+
if (target === from) return false;
|
|
29849
30110
|
const order = rows.map((r) => r.index);
|
|
29850
30111
|
const [moved] = order.splice(from, 1);
|
|
29851
|
-
order.splice(
|
|
30112
|
+
order.splice(target, 0, moved);
|
|
29852
30113
|
const row = rows[from];
|
|
29853
|
-
this.
|
|
29854
|
-
this.announce(
|
|
29855
|
-
|
|
29856
|
-
|
|
29857
|
-
|
|
29858
|
-
|
|
29859
|
-
|
|
29860
|
-
|
|
29861
|
-
|
|
30114
|
+
const items = reorderItems(this.items(), order);
|
|
30115
|
+
this.announce(this.moveAnnouncement()(this.itemLabelFn()(row.item, target), target + 1, n));
|
|
30116
|
+
if (focus) {
|
|
30117
|
+
this.movedKey.set(row.key);
|
|
30118
|
+
this.pendingFocus = {
|
|
30119
|
+
key: row.key,
|
|
30120
|
+
item: row.item,
|
|
30121
|
+
to: target,
|
|
30122
|
+
dir: target < from ? -1 : 1,
|
|
30123
|
+
target: focus
|
|
30124
|
+
};
|
|
30125
|
+
afterNextRender(() => this.restoreFocus(), { injector: this.injector });
|
|
30126
|
+
}
|
|
30127
|
+
this.itemsChange.emit(items);
|
|
29862
30128
|
this.reorder.emit({
|
|
30129
|
+
item: row.item,
|
|
29863
30130
|
from,
|
|
29864
|
-
to,
|
|
29865
|
-
order
|
|
30131
|
+
to: target,
|
|
30132
|
+
order,
|
|
30133
|
+
items
|
|
29866
30134
|
});
|
|
29867
30135
|
return true;
|
|
29868
30136
|
}
|
|
@@ -29886,9 +30154,15 @@ var ListComponent = class ListComponent {
|
|
|
29886
30154
|
if (idx < 0) return;
|
|
29887
30155
|
const li = this.host.nativeElement.querySelector(`:scope > .ul-list > .ul-item[data-index="${idx}"]`);
|
|
29888
30156
|
if (!li) return;
|
|
30157
|
+
if (p.target === "row") {
|
|
30158
|
+
li.focus();
|
|
30159
|
+
return;
|
|
30160
|
+
}
|
|
29889
30161
|
const pick = (d) => li.querySelector(`:scope > .ul-row > .ul-controls > [data-move="${d}"] button:not(:disabled)`);
|
|
29890
30162
|
const preferred = p.dir === -1 ? "up" : "down";
|
|
29891
|
-
|
|
30163
|
+
const btn = pick(preferred) ?? pick(preferred === "up" ? "down" : "up");
|
|
30164
|
+
if (btn) btn.focus();
|
|
30165
|
+
else if (this.direct()) li.focus();
|
|
29892
30166
|
}
|
|
29893
30167
|
static {
|
|
29894
30168
|
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
@@ -29922,6 +30196,27 @@ var ListComponent = class ListComponent {
|
|
|
29922
30196
|
isRequired: false,
|
|
29923
30197
|
transformFunction: null
|
|
29924
30198
|
},
|
|
30199
|
+
layout: {
|
|
30200
|
+
classPropertyName: "layout",
|
|
30201
|
+
publicName: "layout",
|
|
30202
|
+
isSignal: true,
|
|
30203
|
+
isRequired: false,
|
|
30204
|
+
transformFunction: null
|
|
30205
|
+
},
|
|
30206
|
+
gridMin: {
|
|
30207
|
+
classPropertyName: "gridMin",
|
|
30208
|
+
publicName: "gridMin",
|
|
30209
|
+
isSignal: true,
|
|
30210
|
+
isRequired: false,
|
|
30211
|
+
transformFunction: null
|
|
30212
|
+
},
|
|
30213
|
+
gap: {
|
|
30214
|
+
classPropertyName: "gap",
|
|
30215
|
+
publicName: "gap",
|
|
30216
|
+
isSignal: true,
|
|
30217
|
+
isRequired: false,
|
|
30218
|
+
transformFunction: null
|
|
30219
|
+
},
|
|
29925
30220
|
reorderable: {
|
|
29926
30221
|
classPropertyName: "reorderable",
|
|
29927
30222
|
publicName: "reorderable",
|
|
@@ -29936,6 +30231,20 @@ var ListComponent = class ListComponent {
|
|
|
29936
30231
|
isRequired: false,
|
|
29937
30232
|
transformFunction: null
|
|
29938
30233
|
},
|
|
30234
|
+
moveControls: {
|
|
30235
|
+
classPropertyName: "moveControls",
|
|
30236
|
+
publicName: "moveControls",
|
|
30237
|
+
isSignal: true,
|
|
30238
|
+
isRequired: false,
|
|
30239
|
+
transformFunction: null
|
|
30240
|
+
},
|
|
30241
|
+
dragDrop: {
|
|
30242
|
+
classPropertyName: "dragDrop",
|
|
30243
|
+
publicName: "dragDrop",
|
|
30244
|
+
isSignal: true,
|
|
30245
|
+
isRequired: false,
|
|
30246
|
+
transformFunction: null
|
|
30247
|
+
},
|
|
29939
30248
|
ariaLabel: {
|
|
29940
30249
|
classPropertyName: "ariaLabel",
|
|
29941
30250
|
publicName: "ariaLabel",
|
|
@@ -29963,9 +30272,40 @@ var ListComponent = class ListComponent {
|
|
|
29963
30272
|
isSignal: true,
|
|
29964
30273
|
isRequired: false,
|
|
29965
30274
|
transformFunction: null
|
|
30275
|
+
},
|
|
30276
|
+
moveEarlierLabel: {
|
|
30277
|
+
classPropertyName: "moveEarlierLabel",
|
|
30278
|
+
publicName: "moveEarlierLabel",
|
|
30279
|
+
isSignal: true,
|
|
30280
|
+
isRequired: false,
|
|
30281
|
+
transformFunction: null
|
|
30282
|
+
},
|
|
30283
|
+
moveLaterLabel: {
|
|
30284
|
+
classPropertyName: "moveLaterLabel",
|
|
30285
|
+
publicName: "moveLaterLabel",
|
|
30286
|
+
isSignal: true,
|
|
30287
|
+
isRequired: false,
|
|
30288
|
+
transformFunction: null
|
|
30289
|
+
},
|
|
30290
|
+
helpText: {
|
|
30291
|
+
classPropertyName: "helpText",
|
|
30292
|
+
publicName: "helpText",
|
|
30293
|
+
isSignal: true,
|
|
30294
|
+
isRequired: false,
|
|
30295
|
+
transformFunction: null
|
|
30296
|
+
},
|
|
30297
|
+
moveAnnouncement: {
|
|
30298
|
+
classPropertyName: "moveAnnouncement",
|
|
30299
|
+
publicName: "moveAnnouncement",
|
|
30300
|
+
isSignal: true,
|
|
30301
|
+
isRequired: false,
|
|
30302
|
+
transformFunction: null
|
|
29966
30303
|
}
|
|
29967
30304
|
},
|
|
29968
|
-
outputs: {
|
|
30305
|
+
outputs: {
|
|
30306
|
+
itemsChange: "itemsChange",
|
|
30307
|
+
reorder: "reorder"
|
|
30308
|
+
},
|
|
29969
30309
|
queries: [{
|
|
29970
30310
|
propertyName: "rowTemplate",
|
|
29971
30311
|
first: true,
|
|
@@ -29977,7 +30317,17 @@ var ListComponent = class ListComponent {
|
|
|
29977
30317
|
template: `
|
|
29978
30318
|
<ng-template #rowsTpl>
|
|
29979
30319
|
@for (row of rows(); track row.key) {
|
|
29980
|
-
<li class="ul-item"
|
|
30320
|
+
<li class="ul-item" role="listitem"
|
|
30321
|
+
[class.ul-item--moved]="row.key === movedKey()"
|
|
30322
|
+
[class.ul-item--draggable]="direct()"
|
|
30323
|
+
[class.ul-item--dragging]="row.dragging"
|
|
30324
|
+
[class.ul-item--over]="dragIndex() !== null && dragIndex() !== row.index && overIndex() === row.index"
|
|
30325
|
+
[attr.data-index]="row.index"
|
|
30326
|
+
[attr.draggable]="direct() ? 'true' : null"
|
|
30327
|
+
[attr.tabindex]="direct() ? 0 : null"
|
|
30328
|
+
[attr.aria-roledescription]="direct() ? 'sortable item' : null"
|
|
30329
|
+
[attr.aria-label]="direct() ? row.label : null"
|
|
30330
|
+
[attr.aria-describedby]="direct() ? helpId : null">
|
|
29981
30331
|
<div class="ul-row">
|
|
29982
30332
|
<div class="ul-content">
|
|
29983
30333
|
@if (rowTemplate(); as tpl) {
|
|
@@ -29986,12 +30336,12 @@ var ListComponent = class ListComponent {
|
|
|
29986
30336
|
{{ row.label }}
|
|
29987
30337
|
}
|
|
29988
30338
|
</div>
|
|
29989
|
-
@if (
|
|
30339
|
+
@if (showControls()) {
|
|
29990
30340
|
<div class="ul-controls">
|
|
29991
|
-
<ui-button variant="icon" data-move="up" [ariaLabel]="row.
|
|
30341
|
+
<ui-button variant="icon" data-move="up" [ariaLabel]="row.earlierLabel" [disabled]="disabled() || row.first">
|
|
29992
30342
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M18 15l-6-6-6 6"/></svg>
|
|
29993
30343
|
</ui-button>
|
|
29994
|
-
<ui-button variant="icon" data-move="down" [ariaLabel]="row.
|
|
30344
|
+
<ui-button variant="icon" data-move="down" [ariaLabel]="row.laterLabel" [disabled]="disabled() || row.last">
|
|
29995
30345
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M6 9l6 6 6-6"/></svg>
|
|
29996
30346
|
</ui-button>
|
|
29997
30347
|
</div>
|
|
@@ -30003,15 +30353,19 @@ var ListComponent = class ListComponent {
|
|
|
30003
30353
|
|
|
30004
30354
|
@if (rows().length) {
|
|
30005
30355
|
@if (ordered()) {
|
|
30006
|
-
<ol class="ul-list ul-list--ordered" role="list"
|
|
30356
|
+
<ol class="ul-list ul-list--ordered" role="list" [class.ul-list--grid]="isGrid()"
|
|
30357
|
+
[style.--ul-gap]="gapCss()" [style.--ul-min.px]="isGrid() ? gridMin() : null"
|
|
30007
30358
|
[attr.aria-label]="ariaLabel() || null" [attr.aria-labelledby]="ariaLabelledby() || null"
|
|
30008
|
-
(keydown)="onKeydown($event)" (click)="onClick($event)" (focusout)="onFocusOut($event)"
|
|
30359
|
+
(keydown)="onKeydown($event)" (click)="onClick($event)" (focusout)="onFocusOut($event)"
|
|
30360
|
+
(dragstart)="onDragStart($event)" (dragover)="onDragOver($event)" (drop)="onDrop($event)" (dragend)="onDragEnd()">
|
|
30009
30361
|
<ng-container [ngTemplateOutlet]="rowsTpl" />
|
|
30010
30362
|
</ol>
|
|
30011
30363
|
} @else {
|
|
30012
|
-
<ul class="ul-list ul-list--unordered" role="list"
|
|
30364
|
+
<ul class="ul-list ul-list--unordered" role="list" [class.ul-list--grid]="isGrid()"
|
|
30365
|
+
[style.--ul-gap]="gapCss()" [style.--ul-min.px]="isGrid() ? gridMin() : null"
|
|
30013
30366
|
[attr.aria-label]="ariaLabel() || null" [attr.aria-labelledby]="ariaLabelledby() || null"
|
|
30014
|
-
(keydown)="onKeydown($event)" (click)="onClick($event)" (focusout)="onFocusOut($event)"
|
|
30367
|
+
(keydown)="onKeydown($event)" (click)="onClick($event)" (focusout)="onFocusOut($event)"
|
|
30368
|
+
(dragstart)="onDragStart($event)" (dragover)="onDragOver($event)" (drop)="onDrop($event)" (dragend)="onDragEnd()">
|
|
30015
30369
|
<ng-container [ngTemplateOutlet]="rowsTpl" />
|
|
30016
30370
|
</ul>
|
|
30017
30371
|
}
|
|
@@ -30019,12 +30373,15 @@ var ListComponent = class ListComponent {
|
|
|
30019
30373
|
<ng-content select="[list-empty]" />
|
|
30020
30374
|
}
|
|
30021
30375
|
|
|
30376
|
+
@if (direct() && rows().length) {
|
|
30377
|
+
<span class="ul-sr" [id]="helpId">{{ helpText() }}</span>
|
|
30378
|
+
}
|
|
30022
30379
|
@if (reorderable()) {
|
|
30023
|
-
<div class="ul-sr" aria-live="polite" aria-atomic="true">{{ announcement() }}</div>
|
|
30380
|
+
<div class="ul-sr" role="status" aria-live="polite" aria-atomic="true">{{ announcement() }}</div>
|
|
30024
30381
|
}
|
|
30025
30382
|
`,
|
|
30026
30383
|
isInline: true,
|
|
30027
|
-
styles: [":host{display:block;min-width:0}.ul-list{margin:0;padding:0;min-width:0}.ul-list--unordered{list-style:none}.ul-list--ordered{list-style:decimal;-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.ul-list--ordered>.ul-item::marker{color:var(--text-secondary, #64748b);font-size:.875rem}.ul-item{min-width:0;transition:background-color .4s ease}.ul-item.ul-item--moved{background-color:var(--surface-hover, #f1f5f9)}.ul-row{display:flex;align-items:center;gap:8px;min-width:0}.ul-content{flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere}.ul-controls{display:flex;flex:0 0 auto;align-items:center;gap:2px}@media(pointer:coarse),(max-width:480px){.ul-controls{gap:16px}}@media(prefers-reduced-motion:reduce){.ul-item{transition:none}}@media(forced-colors:active){.ul-item.ul-item--moved{outline:2px solid Highlight;outline-offset:-2px}}.ul-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"],
|
|
30384
|
+
styles: [":host{display:block;min-width:0}.ul-list{margin:0;padding:0;min-width:0}.ul-list--unordered{list-style:none}.ul-list--ordered{list-style:decimal;-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.ul-list--ordered>.ul-item::marker{color:var(--text-secondary, #64748b);font-size:.875rem}.ul-item{min-width:0;transition:background-color .4s ease}.ul-item.ul-item--moved{background-color:var(--surface-hover, #f1f5f9)}.ul-list:not(.ul-list--grid)>.ul-item+.ul-item{margin-top:var(--ul-gap, 0px)}.ul-row{display:flex;align-items:center;gap:8px;min-width:0}.ul-content{flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere}.ul-controls{display:flex;flex:0 0 auto;align-items:center;gap:2px}.ul-list.ul-list--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--ul-min, 130px),100%),1fr));gap:var(--ul-gap, 12px);list-style:none;-webkit-padding-start:0;padding-inline-start:0}.ul-list--grid>.ul-item>.ul-row{flex-direction:column;align-items:stretch;gap:6px}.ul-list--grid>.ul-item>.ul-row>.ul-controls{align-self:center}@media(pointer:coarse),(max-width:480px){.ul-controls{gap:16px}}.ul-item--draggable{-webkit-user-select:none;user-select:none;-webkit-user-drag:element}@media(hover:hover)and (pointer:fine){.ul-item--draggable{cursor:grab}.ul-item--draggable:active{cursor:grabbing}}.ul-item--draggable:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}.ul-item--draggable:focus:not(:focus-visible){outline:none}:host ::ng-deep .ul-item--draggable img,:host ::ng-deep .ul-item--draggable ui-image-preview{pointer-events:none;-webkit-user-drag:none}.ul-item--dragging{opacity:.5}.ul-item--over{outline:2px dashed #3b82f6;outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){.ul-item{transition:none}}@media(forced-colors:active){.ul-item.ul-item--moved{outline:2px solid Highlight;outline-offset:-2px}}@media(forced-colors:active){.ul-item.ul-item--dragging{outline:2px dotted Highlight;outline-offset:2px}.ul-item.ul-item--over{outline:2px dashed Highlight;outline-offset:2px}.ul-item--draggable:focus{outline:2px solid Highlight;outline-offset:2px}}.ul-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"],
|
|
30028
30385
|
dependencies: [{
|
|
30029
30386
|
kind: "directive",
|
|
30030
30387
|
type: NgTemplateOutlet,
|
|
@@ -30079,7 +30436,17 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
30079
30436
|
template: `
|
|
30080
30437
|
<ng-template #rowsTpl>
|
|
30081
30438
|
@for (row of rows(); track row.key) {
|
|
30082
|
-
<li class="ul-item"
|
|
30439
|
+
<li class="ul-item" role="listitem"
|
|
30440
|
+
[class.ul-item--moved]="row.key === movedKey()"
|
|
30441
|
+
[class.ul-item--draggable]="direct()"
|
|
30442
|
+
[class.ul-item--dragging]="row.dragging"
|
|
30443
|
+
[class.ul-item--over]="dragIndex() !== null && dragIndex() !== row.index && overIndex() === row.index"
|
|
30444
|
+
[attr.data-index]="row.index"
|
|
30445
|
+
[attr.draggable]="direct() ? 'true' : null"
|
|
30446
|
+
[attr.tabindex]="direct() ? 0 : null"
|
|
30447
|
+
[attr.aria-roledescription]="direct() ? 'sortable item' : null"
|
|
30448
|
+
[attr.aria-label]="direct() ? row.label : null"
|
|
30449
|
+
[attr.aria-describedby]="direct() ? helpId : null">
|
|
30083
30450
|
<div class="ul-row">
|
|
30084
30451
|
<div class="ul-content">
|
|
30085
30452
|
@if (rowTemplate(); as tpl) {
|
|
@@ -30088,12 +30455,12 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
30088
30455
|
{{ row.label }}
|
|
30089
30456
|
}
|
|
30090
30457
|
</div>
|
|
30091
|
-
@if (
|
|
30458
|
+
@if (showControls()) {
|
|
30092
30459
|
<div class="ul-controls">
|
|
30093
|
-
<ui-button variant="icon" data-move="up" [ariaLabel]="row.
|
|
30460
|
+
<ui-button variant="icon" data-move="up" [ariaLabel]="row.earlierLabel" [disabled]="disabled() || row.first">
|
|
30094
30461
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M18 15l-6-6-6 6"/></svg>
|
|
30095
30462
|
</ui-button>
|
|
30096
|
-
<ui-button variant="icon" data-move="down" [ariaLabel]="row.
|
|
30463
|
+
<ui-button variant="icon" data-move="down" [ariaLabel]="row.laterLabel" [disabled]="disabled() || row.last">
|
|
30097
30464
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M6 9l6 6 6-6"/></svg>
|
|
30098
30465
|
</ui-button>
|
|
30099
30466
|
</div>
|
|
@@ -30105,15 +30472,19 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
30105
30472
|
|
|
30106
30473
|
@if (rows().length) {
|
|
30107
30474
|
@if (ordered()) {
|
|
30108
|
-
<ol class="ul-list ul-list--ordered" role="list"
|
|
30475
|
+
<ol class="ul-list ul-list--ordered" role="list" [class.ul-list--grid]="isGrid()"
|
|
30476
|
+
[style.--ul-gap]="gapCss()" [style.--ul-min.px]="isGrid() ? gridMin() : null"
|
|
30109
30477
|
[attr.aria-label]="ariaLabel() || null" [attr.aria-labelledby]="ariaLabelledby() || null"
|
|
30110
|
-
(keydown)="onKeydown($event)" (click)="onClick($event)" (focusout)="onFocusOut($event)"
|
|
30478
|
+
(keydown)="onKeydown($event)" (click)="onClick($event)" (focusout)="onFocusOut($event)"
|
|
30479
|
+
(dragstart)="onDragStart($event)" (dragover)="onDragOver($event)" (drop)="onDrop($event)" (dragend)="onDragEnd()">
|
|
30111
30480
|
<ng-container [ngTemplateOutlet]="rowsTpl" />
|
|
30112
30481
|
</ol>
|
|
30113
30482
|
} @else {
|
|
30114
|
-
<ul class="ul-list ul-list--unordered" role="list"
|
|
30483
|
+
<ul class="ul-list ul-list--unordered" role="list" [class.ul-list--grid]="isGrid()"
|
|
30484
|
+
[style.--ul-gap]="gapCss()" [style.--ul-min.px]="isGrid() ? gridMin() : null"
|
|
30115
30485
|
[attr.aria-label]="ariaLabel() || null" [attr.aria-labelledby]="ariaLabelledby() || null"
|
|
30116
|
-
(keydown)="onKeydown($event)" (click)="onClick($event)" (focusout)="onFocusOut($event)"
|
|
30486
|
+
(keydown)="onKeydown($event)" (click)="onClick($event)" (focusout)="onFocusOut($event)"
|
|
30487
|
+
(dragstart)="onDragStart($event)" (dragover)="onDragOver($event)" (drop)="onDrop($event)" (dragend)="onDragEnd()">
|
|
30117
30488
|
<ng-container [ngTemplateOutlet]="rowsTpl" />
|
|
30118
30489
|
</ul>
|
|
30119
30490
|
}
|
|
@@ -30121,11 +30492,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
30121
30492
|
<ng-content select="[list-empty]" />
|
|
30122
30493
|
}
|
|
30123
30494
|
|
|
30495
|
+
@if (direct() && rows().length) {
|
|
30496
|
+
<span class="ul-sr" [id]="helpId">{{ helpText() }}</span>
|
|
30497
|
+
}
|
|
30124
30498
|
@if (reorderable()) {
|
|
30125
|
-
<div class="ul-sr" aria-live="polite" aria-atomic="true">{{ announcement() }}</div>
|
|
30499
|
+
<div class="ul-sr" role="status" aria-live="polite" aria-atomic="true">{{ announcement() }}</div>
|
|
30126
30500
|
}
|
|
30127
30501
|
`,
|
|
30128
|
-
styles: [":host{display:block;min-width:0}.ul-list{margin:0;padding:0;min-width:0}.ul-list--unordered{list-style:none}.ul-list--ordered{list-style:decimal;-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.ul-list--ordered>.ul-item::marker{color:var(--text-secondary, #64748b);font-size:.875rem}.ul-item{min-width:0;transition:background-color .4s ease}.ul-item.ul-item--moved{background-color:var(--surface-hover, #f1f5f9)}.ul-row{display:flex;align-items:center;gap:8px;min-width:0}.ul-content{flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere}.ul-controls{display:flex;flex:0 0 auto;align-items:center;gap:2px}@media(pointer:coarse),(max-width:480px){.ul-controls{gap:16px}}@media(prefers-reduced-motion:reduce){.ul-item{transition:none}}@media(forced-colors:active){.ul-item.ul-item--moved{outline:2px solid Highlight;outline-offset:-2px}}.ul-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"]
|
|
30502
|
+
styles: [":host{display:block;min-width:0}.ul-list{margin:0;padding:0;min-width:0}.ul-list--unordered{list-style:none}.ul-list--ordered{list-style:decimal;-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.ul-list--ordered>.ul-item::marker{color:var(--text-secondary, #64748b);font-size:.875rem}.ul-item{min-width:0;transition:background-color .4s ease}.ul-item.ul-item--moved{background-color:var(--surface-hover, #f1f5f9)}.ul-list:not(.ul-list--grid)>.ul-item+.ul-item{margin-top:var(--ul-gap, 0px)}.ul-row{display:flex;align-items:center;gap:8px;min-width:0}.ul-content{flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere}.ul-controls{display:flex;flex:0 0 auto;align-items:center;gap:2px}.ul-list.ul-list--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--ul-min, 130px),100%),1fr));gap:var(--ul-gap, 12px);list-style:none;-webkit-padding-start:0;padding-inline-start:0}.ul-list--grid>.ul-item>.ul-row{flex-direction:column;align-items:stretch;gap:6px}.ul-list--grid>.ul-item>.ul-row>.ul-controls{align-self:center}@media(pointer:coarse),(max-width:480px){.ul-controls{gap:16px}}.ul-item--draggable{-webkit-user-select:none;user-select:none;-webkit-user-drag:element}@media(hover:hover)and (pointer:fine){.ul-item--draggable{cursor:grab}.ul-item--draggable:active{cursor:grabbing}}.ul-item--draggable:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}.ul-item--draggable:focus:not(:focus-visible){outline:none}:host ::ng-deep .ul-item--draggable img,:host ::ng-deep .ul-item--draggable ui-image-preview{pointer-events:none;-webkit-user-drag:none}.ul-item--dragging{opacity:.5}.ul-item--over{outline:2px dashed #3b82f6;outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){.ul-item{transition:none}}@media(forced-colors:active){.ul-item.ul-item--moved{outline:2px solid Highlight;outline-offset:-2px}}@media(forced-colors:active){.ul-item.ul-item--dragging{outline:2px dotted Highlight;outline-offset:2px}.ul-item.ul-item--over{outline:2px dashed Highlight;outline-offset:2px}.ul-item--draggable:focus{outline:2px solid Highlight;outline-offset:2px}}.ul-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"]
|
|
30129
30503
|
}]
|
|
30130
30504
|
}],
|
|
30131
30505
|
propDecorators: {
|
|
@@ -30145,6 +30519,30 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
30145
30519
|
required: false
|
|
30146
30520
|
}]
|
|
30147
30521
|
}],
|
|
30522
|
+
layout: [{
|
|
30523
|
+
type: i0.Input,
|
|
30524
|
+
args: [{
|
|
30525
|
+
isSignal: true,
|
|
30526
|
+
alias: "layout",
|
|
30527
|
+
required: false
|
|
30528
|
+
}]
|
|
30529
|
+
}],
|
|
30530
|
+
gridMin: [{
|
|
30531
|
+
type: i0.Input,
|
|
30532
|
+
args: [{
|
|
30533
|
+
isSignal: true,
|
|
30534
|
+
alias: "gridMin",
|
|
30535
|
+
required: false
|
|
30536
|
+
}]
|
|
30537
|
+
}],
|
|
30538
|
+
gap: [{
|
|
30539
|
+
type: i0.Input,
|
|
30540
|
+
args: [{
|
|
30541
|
+
isSignal: true,
|
|
30542
|
+
alias: "gap",
|
|
30543
|
+
required: false
|
|
30544
|
+
}]
|
|
30545
|
+
}],
|
|
30148
30546
|
reorderable: [{
|
|
30149
30547
|
type: i0.Input,
|
|
30150
30548
|
args: [{
|
|
@@ -30161,6 +30559,22 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
30161
30559
|
required: false
|
|
30162
30560
|
}]
|
|
30163
30561
|
}],
|
|
30562
|
+
moveControls: [{
|
|
30563
|
+
type: i0.Input,
|
|
30564
|
+
args: [{
|
|
30565
|
+
isSignal: true,
|
|
30566
|
+
alias: "moveControls",
|
|
30567
|
+
required: false
|
|
30568
|
+
}]
|
|
30569
|
+
}],
|
|
30570
|
+
dragDrop: [{
|
|
30571
|
+
type: i0.Input,
|
|
30572
|
+
args: [{
|
|
30573
|
+
isSignal: true,
|
|
30574
|
+
alias: "dragDrop",
|
|
30575
|
+
required: false
|
|
30576
|
+
}]
|
|
30577
|
+
}],
|
|
30164
30578
|
ariaLabel: [{
|
|
30165
30579
|
type: i0.Input,
|
|
30166
30580
|
args: [{
|
|
@@ -30193,8 +30607,44 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
30193
30607
|
required: false
|
|
30194
30608
|
}]
|
|
30195
30609
|
}],
|
|
30196
|
-
|
|
30197
|
-
type: i0.
|
|
30610
|
+
moveEarlierLabel: [{
|
|
30611
|
+
type: i0.Input,
|
|
30612
|
+
args: [{
|
|
30613
|
+
isSignal: true,
|
|
30614
|
+
alias: "moveEarlierLabel",
|
|
30615
|
+
required: false
|
|
30616
|
+
}]
|
|
30617
|
+
}],
|
|
30618
|
+
moveLaterLabel: [{
|
|
30619
|
+
type: i0.Input,
|
|
30620
|
+
args: [{
|
|
30621
|
+
isSignal: true,
|
|
30622
|
+
alias: "moveLaterLabel",
|
|
30623
|
+
required: false
|
|
30624
|
+
}]
|
|
30625
|
+
}],
|
|
30626
|
+
helpText: [{
|
|
30627
|
+
type: i0.Input,
|
|
30628
|
+
args: [{
|
|
30629
|
+
isSignal: true,
|
|
30630
|
+
alias: "helpText",
|
|
30631
|
+
required: false
|
|
30632
|
+
}]
|
|
30633
|
+
}],
|
|
30634
|
+
moveAnnouncement: [{
|
|
30635
|
+
type: i0.Input,
|
|
30636
|
+
args: [{
|
|
30637
|
+
isSignal: true,
|
|
30638
|
+
alias: "moveAnnouncement",
|
|
30639
|
+
required: false
|
|
30640
|
+
}]
|
|
30641
|
+
}],
|
|
30642
|
+
itemsChange: [{
|
|
30643
|
+
type: i0.Output,
|
|
30644
|
+
args: ["itemsChange"]
|
|
30645
|
+
}],
|
|
30646
|
+
reorder: [{
|
|
30647
|
+
type: i0.Output,
|
|
30198
30648
|
args: ["reorder"]
|
|
30199
30649
|
}],
|
|
30200
30650
|
rowTemplate: [{
|
|
@@ -32985,448 +33435,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
32985
33435
|
}]
|
|
32986
33436
|
}
|
|
32987
33437
|
});
|
|
32988
|
-
var SortableItemDirective = class SortableItemDirective {
|
|
32989
|
-
constructor() {
|
|
32990
|
-
this.template = inject(TemplateRef);
|
|
32991
|
-
}
|
|
32992
|
-
static ngTemplateContextGuard(_dir, _ctx) {
|
|
32993
|
-
return true;
|
|
32994
|
-
}
|
|
32995
|
-
static {
|
|
32996
|
-
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
32997
|
-
minVersion: "12.0.0",
|
|
32998
|
-
version: "22.2.2",
|
|
32999
|
-
ngImport: i0,
|
|
33000
|
-
type: SortableItemDirective,
|
|
33001
|
-
deps: [],
|
|
33002
|
-
target: i0.ɵɵFactoryTarget.Directive
|
|
33003
|
-
});
|
|
33004
|
-
}
|
|
33005
|
-
static {
|
|
33006
|
-
this.ɵdir = i0.ɵɵngDeclareDirective({
|
|
33007
|
-
minVersion: "14.0.0",
|
|
33008
|
-
version: "22.2.2",
|
|
33009
|
-
type: SortableItemDirective,
|
|
33010
|
-
isStandalone: true,
|
|
33011
|
-
selector: "ng-template[uiSortableItem]",
|
|
33012
|
-
ngImport: i0
|
|
33013
|
-
});
|
|
33014
|
-
}
|
|
33015
|
-
};
|
|
33016
|
-
i0.ɵɵngDeclareClassMetadata({
|
|
33017
|
-
minVersion: "12.0.0",
|
|
33018
|
-
version: "22.2.2",
|
|
33019
|
-
ngImport: i0,
|
|
33020
|
-
type: SortableItemDirective,
|
|
33021
|
-
decorators: [{
|
|
33022
|
-
type: Directive,
|
|
33023
|
-
args: [{
|
|
33024
|
-
selector: "ng-template[uiSortableItem]",
|
|
33025
|
-
standalone: true
|
|
33026
|
-
}]
|
|
33027
|
-
}]
|
|
33028
|
-
});
|
|
33029
|
-
let nextId$2 = 0;
|
|
33030
|
-
var SortableListComponent = class SortableListComponent {
|
|
33031
|
-
constructor() {
|
|
33032
|
-
this.items = model([], ...ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []);
|
|
33033
|
-
this.sortable = input(false, ...ngDevMode ? [{ debugName: "sortable" }] : /* istanbul ignore next */ []);
|
|
33034
|
-
this.layout = input("list", ...ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []);
|
|
33035
|
-
this.gridMin = input(130, ...ngDevMode ? [{ debugName: "gridMin" }] : /* istanbul ignore next */ []);
|
|
33036
|
-
this.ariaLabel = input("", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
|
|
33037
|
-
this.itemLabel = input((_item, index) => `Item ${index + 1}`, ...ngDevMode ? [{ debugName: "itemLabel" }] : /* istanbul ignore next */ []);
|
|
33038
|
-
this.moveControls = input(false, ...ngDevMode ? [{ debugName: "moveControls" }] : /* istanbul ignore next */ []);
|
|
33039
|
-
this.moveEarlierLabel = input("Move earlier", ...ngDevMode ? [{ debugName: "moveEarlierLabel" }] : /* istanbul ignore next */ []);
|
|
33040
|
-
this.moveLaterLabel = input("Move later", ...ngDevMode ? [{ debugName: "moveLaterLabel" }] : /* istanbul ignore next */ []);
|
|
33041
|
-
this.helpText = input("Hold Shift and press the arrow keys to move this item. Shift plus Home or End moves it to the start or end.", ...ngDevMode ? [{ debugName: "helpText" }] : /* istanbul ignore next */ []);
|
|
33042
|
-
this.moveAnnouncement = input((label, position, total) => `${label} moved to position ${position} of ${total}`, ...ngDevMode ? [{ debugName: "moveAnnouncement" }] : /* istanbul ignore next */ []);
|
|
33043
|
-
this.orderChange = output();
|
|
33044
|
-
this.itemTemplate = contentChild.required(SortableItemDirective, ...ngDevMode ? [{ debugName: "itemTemplate" }] : /* istanbul ignore next */ []);
|
|
33045
|
-
this._helpId = `sl-help-${nextId$2++}`;
|
|
33046
|
-
this._dragIndex = signal(null, ...ngDevMode ? [{ debugName: "_dragIndex" }] : /* istanbul ignore next */ []);
|
|
33047
|
-
this._overIndex = signal(null, ...ngDevMode ? [{ debugName: "_overIndex" }] : /* istanbul ignore next */ []);
|
|
33048
|
-
this._announcement = signal("", ...ngDevMode ? [{ debugName: "_announcement" }] : /* istanbul ignore next */ []);
|
|
33049
|
-
this._count = computed(() => this.items().length, ...ngDevMode ? [{ debugName: "_count" }] : /* istanbul ignore next */ []);
|
|
33050
|
-
}
|
|
33051
|
-
move(from, to) {
|
|
33052
|
-
const list = this.items();
|
|
33053
|
-
if (!this.sortable() || from < 0 || from >= list.length) return;
|
|
33054
|
-
const target = Math.max(0, Math.min(list.length - 1, to));
|
|
33055
|
-
if (target === from) return;
|
|
33056
|
-
const next = [...list];
|
|
33057
|
-
const [item] = next.splice(from, 1);
|
|
33058
|
-
next.splice(target, 0, item);
|
|
33059
|
-
this.items.set(next);
|
|
33060
|
-
this._announcement.set(this.moveAnnouncement()(this.itemLabel()(item, target), target + 1, next.length));
|
|
33061
|
-
this.orderChange.emit({
|
|
33062
|
-
item,
|
|
33063
|
-
from,
|
|
33064
|
-
to: target,
|
|
33065
|
-
items: next
|
|
33066
|
-
});
|
|
33067
|
-
}
|
|
33068
|
-
onDragStart(event, index) {
|
|
33069
|
-
if (!this.sortable()) return;
|
|
33070
|
-
this._dragIndex.set(index);
|
|
33071
|
-
if (event.dataTransfer) {
|
|
33072
|
-
event.dataTransfer.effectAllowed = "move";
|
|
33073
|
-
event.dataTransfer.setData("text/plain", String(index));
|
|
33074
|
-
}
|
|
33075
|
-
}
|
|
33076
|
-
onDragOver(event, index) {
|
|
33077
|
-
if (!this.sortable() || this._dragIndex() === null) return;
|
|
33078
|
-
event.preventDefault();
|
|
33079
|
-
if (event.dataTransfer) event.dataTransfer.dropEffect = "move";
|
|
33080
|
-
this._overIndex.set(index);
|
|
33081
|
-
}
|
|
33082
|
-
onDrop(event, index) {
|
|
33083
|
-
const from = this._dragIndex();
|
|
33084
|
-
if (!this.sortable() || from === null) return;
|
|
33085
|
-
event.preventDefault();
|
|
33086
|
-
this.onDragEnd();
|
|
33087
|
-
this.move(from, index);
|
|
33088
|
-
}
|
|
33089
|
-
onDragEnd() {
|
|
33090
|
-
this._dragIndex.set(null);
|
|
33091
|
-
this._overIndex.set(null);
|
|
33092
|
-
}
|
|
33093
|
-
onKeydown(event, index) {
|
|
33094
|
-
if (!this.sortable() || event.target !== event.currentTarget || !event.shiftKey) return;
|
|
33095
|
-
let to = null;
|
|
33096
|
-
switch (event.key) {
|
|
33097
|
-
case "ArrowUp":
|
|
33098
|
-
case "ArrowLeft":
|
|
33099
|
-
to = index - 1;
|
|
33100
|
-
break;
|
|
33101
|
-
case "ArrowDown":
|
|
33102
|
-
case "ArrowRight":
|
|
33103
|
-
to = index + 1;
|
|
33104
|
-
break;
|
|
33105
|
-
case "Home":
|
|
33106
|
-
to = 0;
|
|
33107
|
-
break;
|
|
33108
|
-
case "End": to = this._count() - 1;
|
|
33109
|
-
}
|
|
33110
|
-
if (to === null) return;
|
|
33111
|
-
event.preventDefault();
|
|
33112
|
-
this.move(index, to);
|
|
33113
|
-
}
|
|
33114
|
-
static {
|
|
33115
|
-
this.ɵfac = i0.ɵɵngDeclareFactory({
|
|
33116
|
-
minVersion: "12.0.0",
|
|
33117
|
-
version: "22.2.2",
|
|
33118
|
-
ngImport: i0,
|
|
33119
|
-
type: SortableListComponent,
|
|
33120
|
-
deps: [],
|
|
33121
|
-
target: i0.ɵɵFactoryTarget.Component
|
|
33122
|
-
});
|
|
33123
|
-
}
|
|
33124
|
-
static {
|
|
33125
|
-
this.ɵcmp = i0.ɵɵngDeclareComponent({
|
|
33126
|
-
minVersion: "17.0.0",
|
|
33127
|
-
version: "22.2.2",
|
|
33128
|
-
type: SortableListComponent,
|
|
33129
|
-
isStandalone: true,
|
|
33130
|
-
selector: "ui-sortable-list",
|
|
33131
|
-
inputs: {
|
|
33132
|
-
items: {
|
|
33133
|
-
classPropertyName: "items",
|
|
33134
|
-
publicName: "items",
|
|
33135
|
-
isSignal: true,
|
|
33136
|
-
isRequired: false,
|
|
33137
|
-
transformFunction: null
|
|
33138
|
-
},
|
|
33139
|
-
sortable: {
|
|
33140
|
-
classPropertyName: "sortable",
|
|
33141
|
-
publicName: "sortable",
|
|
33142
|
-
isSignal: true,
|
|
33143
|
-
isRequired: false,
|
|
33144
|
-
transformFunction: null
|
|
33145
|
-
},
|
|
33146
|
-
layout: {
|
|
33147
|
-
classPropertyName: "layout",
|
|
33148
|
-
publicName: "layout",
|
|
33149
|
-
isSignal: true,
|
|
33150
|
-
isRequired: false,
|
|
33151
|
-
transformFunction: null
|
|
33152
|
-
},
|
|
33153
|
-
gridMin: {
|
|
33154
|
-
classPropertyName: "gridMin",
|
|
33155
|
-
publicName: "gridMin",
|
|
33156
|
-
isSignal: true,
|
|
33157
|
-
isRequired: false,
|
|
33158
|
-
transformFunction: null
|
|
33159
|
-
},
|
|
33160
|
-
ariaLabel: {
|
|
33161
|
-
classPropertyName: "ariaLabel",
|
|
33162
|
-
publicName: "ariaLabel",
|
|
33163
|
-
isSignal: true,
|
|
33164
|
-
isRequired: false,
|
|
33165
|
-
transformFunction: null
|
|
33166
|
-
},
|
|
33167
|
-
itemLabel: {
|
|
33168
|
-
classPropertyName: "itemLabel",
|
|
33169
|
-
publicName: "itemLabel",
|
|
33170
|
-
isSignal: true,
|
|
33171
|
-
isRequired: false,
|
|
33172
|
-
transformFunction: null
|
|
33173
|
-
},
|
|
33174
|
-
moveControls: {
|
|
33175
|
-
classPropertyName: "moveControls",
|
|
33176
|
-
publicName: "moveControls",
|
|
33177
|
-
isSignal: true,
|
|
33178
|
-
isRequired: false,
|
|
33179
|
-
transformFunction: null
|
|
33180
|
-
},
|
|
33181
|
-
moveEarlierLabel: {
|
|
33182
|
-
classPropertyName: "moveEarlierLabel",
|
|
33183
|
-
publicName: "moveEarlierLabel",
|
|
33184
|
-
isSignal: true,
|
|
33185
|
-
isRequired: false,
|
|
33186
|
-
transformFunction: null
|
|
33187
|
-
},
|
|
33188
|
-
moveLaterLabel: {
|
|
33189
|
-
classPropertyName: "moveLaterLabel",
|
|
33190
|
-
publicName: "moveLaterLabel",
|
|
33191
|
-
isSignal: true,
|
|
33192
|
-
isRequired: false,
|
|
33193
|
-
transformFunction: null
|
|
33194
|
-
},
|
|
33195
|
-
helpText: {
|
|
33196
|
-
classPropertyName: "helpText",
|
|
33197
|
-
publicName: "helpText",
|
|
33198
|
-
isSignal: true,
|
|
33199
|
-
isRequired: false,
|
|
33200
|
-
transformFunction: null
|
|
33201
|
-
},
|
|
33202
|
-
moveAnnouncement: {
|
|
33203
|
-
classPropertyName: "moveAnnouncement",
|
|
33204
|
-
publicName: "moveAnnouncement",
|
|
33205
|
-
isSignal: true,
|
|
33206
|
-
isRequired: false,
|
|
33207
|
-
transformFunction: null
|
|
33208
|
-
}
|
|
33209
|
-
},
|
|
33210
|
-
outputs: {
|
|
33211
|
-
items: "itemsChange",
|
|
33212
|
-
orderChange: "orderChange"
|
|
33213
|
-
},
|
|
33214
|
-
queries: [{
|
|
33215
|
-
propertyName: "itemTemplate",
|
|
33216
|
-
first: true,
|
|
33217
|
-
predicate: SortableItemDirective,
|
|
33218
|
-
descendants: true,
|
|
33219
|
-
isSignal: true
|
|
33220
|
-
}],
|
|
33221
|
-
ngImport: i0,
|
|
33222
|
-
template: `
|
|
33223
|
-
<div class="sl" [class.sl-grid]="layout() === 'grid'" [style.--sl-min.px]="gridMin()" role="list" [attr.aria-label]="ariaLabel() || null">
|
|
33224
|
-
@for (item of items(); track item; let i = $index; let first = $first; let last = $last) {
|
|
33225
|
-
<div class="sl-item" role="listitem"
|
|
33226
|
-
[class.sl-sortable]="sortable()"
|
|
33227
|
-
[class.sl-dragging]="_dragIndex() === i"
|
|
33228
|
-
[class.sl-over]="_overIndex() === i && _dragIndex() !== null && _dragIndex() !== i"
|
|
33229
|
-
[attr.draggable]="sortable() ? 'true' : null"
|
|
33230
|
-
[attr.tabindex]="sortable() ? 0 : null"
|
|
33231
|
-
[attr.aria-roledescription]="sortable() ? 'sortable item' : null"
|
|
33232
|
-
[attr.aria-label]="sortable() ? itemLabel()(item, i) : null"
|
|
33233
|
-
[attr.aria-describedby]="sortable() ? _helpId : null"
|
|
33234
|
-
(dragstart)="onDragStart($event, i)" (dragover)="onDragOver($event, i)" (drop)="onDrop($event, i)" (dragend)="onDragEnd()"
|
|
33235
|
-
(keydown)="onKeydown($event, i)">
|
|
33236
|
-
<ng-container [ngTemplateOutlet]="itemTemplate().template"
|
|
33237
|
-
[ngTemplateOutletContext]="{ $implicit: item, index: i, first: first, last: last, dragging: _dragIndex() === i }" />
|
|
33238
|
-
@if (sortable() && moveControls()) {
|
|
33239
|
-
<div class="sl-move">
|
|
33240
|
-
<ui-icon name="chevron-up" [size]="16" [disabled]="first" [tooltip]="moveEarlierLabel() + ' ' + itemLabel()(item, i)" (iconClick)="move(i, i - 1)" />
|
|
33241
|
-
<ui-icon name="chevron-down" [size]="16" [disabled]="last" [tooltip]="moveLaterLabel() + ' ' + itemLabel()(item, i)" (iconClick)="move(i, i + 1)" />
|
|
33242
|
-
</div>
|
|
33243
|
-
}
|
|
33244
|
-
</div>
|
|
33245
|
-
}
|
|
33246
|
-
</div>
|
|
33247
|
-
@if (sortable()) {
|
|
33248
|
-
<span class="sl-sr" [id]="_helpId">{{ helpText() }}</span>
|
|
33249
|
-
}
|
|
33250
|
-
<span class="sl-sr" role="status" aria-live="polite">{{ _announcement() }}</span>
|
|
33251
|
-
`,
|
|
33252
|
-
isInline: true,
|
|
33253
|
-
styles: [":host{display:block}.sl{display:flex;flex-direction:column;gap:12px}.sl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--sl-min, 130px),1fr));gap:12px}.sl-item{position:relative;min-width:0}.sl-sortable{-webkit-user-select:none;user-select:none;-webkit-user-drag:element}@media(hover:hover)and (pointer:fine){.sl-sortable{cursor:grab}.sl-sortable:active{cursor:grabbing}}.sl-sortable:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}:host ::ng-deep .sl-sortable img,:host ::ng-deep .sl-sortable ui-image-preview{pointer-events:none;-webkit-user-drag:none}.sl-dragging{opacity:.5}.sl-over{outline:2px dashed #3b82f6;outline-offset:2px;border-radius:6px}.sl-move{display:flex;justify-content:center;gap:4px;margin-top:6px}.sl-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"],
|
|
33254
|
-
dependencies: [{
|
|
33255
|
-
kind: "directive",
|
|
33256
|
-
type: NgTemplateOutlet,
|
|
33257
|
-
selector: "[ngTemplateOutlet]",
|
|
33258
|
-
inputs: [
|
|
33259
|
-
"ngTemplateOutletContext",
|
|
33260
|
-
"ngTemplateOutlet",
|
|
33261
|
-
"ngTemplateOutletInjector"
|
|
33262
|
-
]
|
|
33263
|
-
}, {
|
|
33264
|
-
kind: "component",
|
|
33265
|
-
type: IconComponent,
|
|
33266
|
-
selector: "ui-icon",
|
|
33267
|
-
inputs: [
|
|
33268
|
-
"name",
|
|
33269
|
-
"tooltip",
|
|
33270
|
-
"ariaLabel",
|
|
33271
|
-
"size",
|
|
33272
|
-
"variant",
|
|
33273
|
-
"disabled",
|
|
33274
|
-
"loading",
|
|
33275
|
-
"interactive"
|
|
33276
|
-
],
|
|
33277
|
-
outputs: ["iconClick"]
|
|
33278
|
-
}],
|
|
33279
|
-
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
33280
|
-
});
|
|
33281
|
-
}
|
|
33282
|
-
};
|
|
33283
|
-
i0.ɵɵngDeclareClassMetadata({
|
|
33284
|
-
minVersion: "12.0.0",
|
|
33285
|
-
version: "22.2.2",
|
|
33286
|
-
ngImport: i0,
|
|
33287
|
-
type: SortableListComponent,
|
|
33288
|
-
decorators: [{
|
|
33289
|
-
type: Component,
|
|
33290
|
-
args: [{
|
|
33291
|
-
selector: "ui-sortable-list",
|
|
33292
|
-
standalone: true,
|
|
33293
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
33294
|
-
imports: [NgTemplateOutlet, IconComponent],
|
|
33295
|
-
template: `
|
|
33296
|
-
<div class="sl" [class.sl-grid]="layout() === 'grid'" [style.--sl-min.px]="gridMin()" role="list" [attr.aria-label]="ariaLabel() || null">
|
|
33297
|
-
@for (item of items(); track item; let i = $index; let first = $first; let last = $last) {
|
|
33298
|
-
<div class="sl-item" role="listitem"
|
|
33299
|
-
[class.sl-sortable]="sortable()"
|
|
33300
|
-
[class.sl-dragging]="_dragIndex() === i"
|
|
33301
|
-
[class.sl-over]="_overIndex() === i && _dragIndex() !== null && _dragIndex() !== i"
|
|
33302
|
-
[attr.draggable]="sortable() ? 'true' : null"
|
|
33303
|
-
[attr.tabindex]="sortable() ? 0 : null"
|
|
33304
|
-
[attr.aria-roledescription]="sortable() ? 'sortable item' : null"
|
|
33305
|
-
[attr.aria-label]="sortable() ? itemLabel()(item, i) : null"
|
|
33306
|
-
[attr.aria-describedby]="sortable() ? _helpId : null"
|
|
33307
|
-
(dragstart)="onDragStart($event, i)" (dragover)="onDragOver($event, i)" (drop)="onDrop($event, i)" (dragend)="onDragEnd()"
|
|
33308
|
-
(keydown)="onKeydown($event, i)">
|
|
33309
|
-
<ng-container [ngTemplateOutlet]="itemTemplate().template"
|
|
33310
|
-
[ngTemplateOutletContext]="{ $implicit: item, index: i, first: first, last: last, dragging: _dragIndex() === i }" />
|
|
33311
|
-
@if (sortable() && moveControls()) {
|
|
33312
|
-
<div class="sl-move">
|
|
33313
|
-
<ui-icon name="chevron-up" [size]="16" [disabled]="first" [tooltip]="moveEarlierLabel() + ' ' + itemLabel()(item, i)" (iconClick)="move(i, i - 1)" />
|
|
33314
|
-
<ui-icon name="chevron-down" [size]="16" [disabled]="last" [tooltip]="moveLaterLabel() + ' ' + itemLabel()(item, i)" (iconClick)="move(i, i + 1)" />
|
|
33315
|
-
</div>
|
|
33316
|
-
}
|
|
33317
|
-
</div>
|
|
33318
|
-
}
|
|
33319
|
-
</div>
|
|
33320
|
-
@if (sortable()) {
|
|
33321
|
-
<span class="sl-sr" [id]="_helpId">{{ helpText() }}</span>
|
|
33322
|
-
}
|
|
33323
|
-
<span class="sl-sr" role="status" aria-live="polite">{{ _announcement() }}</span>
|
|
33324
|
-
`,
|
|
33325
|
-
styles: [":host{display:block}.sl{display:flex;flex-direction:column;gap:12px}.sl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--sl-min, 130px),1fr));gap:12px}.sl-item{position:relative;min-width:0}.sl-sortable{-webkit-user-select:none;user-select:none;-webkit-user-drag:element}@media(hover:hover)and (pointer:fine){.sl-sortable{cursor:grab}.sl-sortable:active{cursor:grabbing}}.sl-sortable:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}:host ::ng-deep .sl-sortable img,:host ::ng-deep .sl-sortable ui-image-preview{pointer-events:none;-webkit-user-drag:none}.sl-dragging{opacity:.5}.sl-over{outline:2px dashed #3b82f6;outline-offset:2px;border-radius:6px}.sl-move{display:flex;justify-content:center;gap:4px;margin-top:6px}.sl-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"]
|
|
33326
|
-
}]
|
|
33327
|
-
}],
|
|
33328
|
-
propDecorators: {
|
|
33329
|
-
items: [{
|
|
33330
|
-
type: i0.Input,
|
|
33331
|
-
args: [{
|
|
33332
|
-
isSignal: true,
|
|
33333
|
-
alias: "items",
|
|
33334
|
-
required: false
|
|
33335
|
-
}]
|
|
33336
|
-
}, {
|
|
33337
|
-
type: i0.Output,
|
|
33338
|
-
args: ["itemsChange"]
|
|
33339
|
-
}],
|
|
33340
|
-
sortable: [{
|
|
33341
|
-
type: i0.Input,
|
|
33342
|
-
args: [{
|
|
33343
|
-
isSignal: true,
|
|
33344
|
-
alias: "sortable",
|
|
33345
|
-
required: false
|
|
33346
|
-
}]
|
|
33347
|
-
}],
|
|
33348
|
-
layout: [{
|
|
33349
|
-
type: i0.Input,
|
|
33350
|
-
args: [{
|
|
33351
|
-
isSignal: true,
|
|
33352
|
-
alias: "layout",
|
|
33353
|
-
required: false
|
|
33354
|
-
}]
|
|
33355
|
-
}],
|
|
33356
|
-
gridMin: [{
|
|
33357
|
-
type: i0.Input,
|
|
33358
|
-
args: [{
|
|
33359
|
-
isSignal: true,
|
|
33360
|
-
alias: "gridMin",
|
|
33361
|
-
required: false
|
|
33362
|
-
}]
|
|
33363
|
-
}],
|
|
33364
|
-
ariaLabel: [{
|
|
33365
|
-
type: i0.Input,
|
|
33366
|
-
args: [{
|
|
33367
|
-
isSignal: true,
|
|
33368
|
-
alias: "ariaLabel",
|
|
33369
|
-
required: false
|
|
33370
|
-
}]
|
|
33371
|
-
}],
|
|
33372
|
-
itemLabel: [{
|
|
33373
|
-
type: i0.Input,
|
|
33374
|
-
args: [{
|
|
33375
|
-
isSignal: true,
|
|
33376
|
-
alias: "itemLabel",
|
|
33377
|
-
required: false
|
|
33378
|
-
}]
|
|
33379
|
-
}],
|
|
33380
|
-
moveControls: [{
|
|
33381
|
-
type: i0.Input,
|
|
33382
|
-
args: [{
|
|
33383
|
-
isSignal: true,
|
|
33384
|
-
alias: "moveControls",
|
|
33385
|
-
required: false
|
|
33386
|
-
}]
|
|
33387
|
-
}],
|
|
33388
|
-
moveEarlierLabel: [{
|
|
33389
|
-
type: i0.Input,
|
|
33390
|
-
args: [{
|
|
33391
|
-
isSignal: true,
|
|
33392
|
-
alias: "moveEarlierLabel",
|
|
33393
|
-
required: false
|
|
33394
|
-
}]
|
|
33395
|
-
}],
|
|
33396
|
-
moveLaterLabel: [{
|
|
33397
|
-
type: i0.Input,
|
|
33398
|
-
args: [{
|
|
33399
|
-
isSignal: true,
|
|
33400
|
-
alias: "moveLaterLabel",
|
|
33401
|
-
required: false
|
|
33402
|
-
}]
|
|
33403
|
-
}],
|
|
33404
|
-
helpText: [{
|
|
33405
|
-
type: i0.Input,
|
|
33406
|
-
args: [{
|
|
33407
|
-
isSignal: true,
|
|
33408
|
-
alias: "helpText",
|
|
33409
|
-
required: false
|
|
33410
|
-
}]
|
|
33411
|
-
}],
|
|
33412
|
-
moveAnnouncement: [{
|
|
33413
|
-
type: i0.Input,
|
|
33414
|
-
args: [{
|
|
33415
|
-
isSignal: true,
|
|
33416
|
-
alias: "moveAnnouncement",
|
|
33417
|
-
required: false
|
|
33418
|
-
}]
|
|
33419
|
-
}],
|
|
33420
|
-
orderChange: [{
|
|
33421
|
-
type: i0.Output,
|
|
33422
|
-
args: ["orderChange"]
|
|
33423
|
-
}],
|
|
33424
|
-
itemTemplate: [{
|
|
33425
|
-
type: i0.ContentChild,
|
|
33426
|
-
args: [i0.forwardRef(() => SortableItemDirective), { isSignal: true }]
|
|
33427
|
-
}]
|
|
33428
|
-
}
|
|
33429
|
-
});
|
|
33430
33438
|
var KpiCardComponent = class KpiCardComponent {
|
|
33431
33439
|
constructor() {
|
|
33432
33440
|
this.sanitizer = inject(DomSanitizer);
|
|
@@ -37339,21 +37347,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
37339
37347
|
}]
|
|
37340
37348
|
}
|
|
37341
37349
|
});
|
|
37342
|
-
const LAYOUT_GAP_PX = {
|
|
37343
|
-
none: 0,
|
|
37344
|
-
xs: 4,
|
|
37345
|
-
sm: 8,
|
|
37346
|
-
md: 16,
|
|
37347
|
-
lg: 24,
|
|
37348
|
-
xl: 32
|
|
37349
|
-
};
|
|
37350
|
-
const CSS_LENGTH = /^(?:0|-?(?:\d+\.?\d*|\.\d+)(?:px|rem|em|%|vh|vw|ch)|(?:calc|var)\([^;{}]*\))$/i;
|
|
37351
|
-
function resolveLayoutGap(gap, fallback) {
|
|
37352
|
-
const v = (gap ?? "").trim();
|
|
37353
|
-
if (Object.prototype.hasOwnProperty.call(LAYOUT_GAP_PX, v)) return `${LAYOUT_GAP_PX[v]}px`;
|
|
37354
|
-
if (v && CSS_LENGTH.test(v)) return v;
|
|
37355
|
-
return `${LAYOUT_GAP_PX[fallback]}px`;
|
|
37356
|
-
}
|
|
37357
37350
|
var ColumnsComponent = class ColumnsComponent {
|
|
37358
37351
|
constructor() {
|
|
37359
37352
|
this.count = input(2, ...ngDevMode ? [{ debugName: "count" }] : /* istanbul ignore next */ []);
|
|
@@ -37807,6 +37800,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
37807
37800
|
}]
|
|
37808
37801
|
}
|
|
37809
37802
|
});
|
|
37810
|
-
export { ActionBarComponent, AlertComponent, AppShellComponent, AudioPlayerComponent, AvatarComponent, BADGE_VARIANT_STYLES, BadgeComponent, BarRowComponent, BulkMessagePanelComponent, BusinessHoursComponent, ButtonComponent, CheckboxComponent, ChipComponent, ChipGroupComponent, ColorInputComponent, ColumnFilterComponent, ColumnsComponent, ComboboxComponent, ConfirmOutletComponent, ConfirmService, ContactPickerComponent, DEFAULT_DOCUMENT_SUBJECT, DEFAULT_SIGNING_OPTIONS, DOCUMENT_PROVIDER_OPTIONS, DOCUMENT_PURPOSE_OPTIONS, DROPDOWN_GROUP, DataTableComponent, DateInputComponent, DateRangePickerComponent, DatetimeInputComponent, DetailCardComponent, DiscountSelectorComponent, DividerComponent, DocumentMergeCheckComponent, DocumentSendOptionsComponent, DocumentSignersComponent, DropdownComponent, EmptyStateComponent, ErrorComponent, ErrorStateComponent, FORGEROUTE_CONFIG, FileInputComponent, FormRowComponent, FormSectionComponent, HintComponent, IconComponent, ImagePreviewComponent, ImageRepositionComponent, ImportExportComponent, KpiCardComponent, LAYOUT_GAP_PX, ListComponent, ListItemComponent, MAX_CC, MERGE_CHECK_DEBOUNCE_MS, ModalComponent, MoreMenuComponent, MultiSelectComponent, PHONE_NUMBER_AREA_CODE_LENGTH, PHONE_NUMBER_ZIP_LENGTH, PaginationComponent, PanelInfoListComponent, PhoneNumberPickerComponent, PillTabsComponent, ProgressBarComponent, ProgressRingComponent, QrCodeComponent, QuickFilterTabsComponent, RICH_TEXT_OPTIONS, RadioComponent, RadioGroupComponent, RadioMatrixComponent, ReadonlyFieldsetComponent, RichTextEditorComponent, SEMANTIC_BADGE_MAP, SIGNER_ROLES, SIGNER_ROLE_LABEL_DEFAULT, SIGNING_LIMITS, SearchInputComponent, SectionHeaderComponent, SelectComponent, SendMessagePanelComponent, SidePanelComponent, SkeletonComponent,
|
|
37803
|
+
export { ActionBarComponent, AlertComponent, AppShellComponent, AudioPlayerComponent, AvatarComponent, BADGE_VARIANT_STYLES, BadgeComponent, BarRowComponent, BulkMessagePanelComponent, BusinessHoursComponent, ButtonComponent, CheckboxComponent, ChipComponent, ChipGroupComponent, ColorInputComponent, ColumnFilterComponent, ColumnsComponent, ComboboxComponent, ConfirmOutletComponent, ConfirmService, ContactPickerComponent, DEFAULT_DOCUMENT_SUBJECT, DEFAULT_SIGNING_OPTIONS, DOCUMENT_PROVIDER_OPTIONS, DOCUMENT_PURPOSE_OPTIONS, DROPDOWN_GROUP, DataTableComponent, DateInputComponent, DateRangePickerComponent, DatetimeInputComponent, DetailCardComponent, DiscountSelectorComponent, DividerComponent, DocumentMergeCheckComponent, DocumentSendOptionsComponent, DocumentSignersComponent, DropdownComponent, EmptyStateComponent, ErrorComponent, ErrorStateComponent, FORGEROUTE_CONFIG, FileInputComponent, FormRowComponent, FormSectionComponent, HintComponent, IconComponent, ImagePreviewComponent, ImageRepositionComponent, ImportExportComponent, KpiCardComponent, LAYOUT_GAP_PX, ListComponent, ListItemComponent, MAX_CC, MERGE_CHECK_DEBOUNCE_MS, ModalComponent, MoreMenuComponent, MultiSelectComponent, PHONE_NUMBER_AREA_CODE_LENGTH, PHONE_NUMBER_ZIP_LENGTH, PaginationComponent, PanelInfoListComponent, PhoneNumberPickerComponent, PillTabsComponent, ProgressBarComponent, ProgressRingComponent, QrCodeComponent, QuickFilterTabsComponent, RICH_TEXT_OPTIONS, RadioComponent, RadioGroupComponent, RadioMatrixComponent, ReadonlyFieldsetComponent, RichTextEditorComponent, SEMANTIC_BADGE_MAP, SIGNER_ROLES, SIGNER_ROLE_LABEL_DEFAULT, SIGNING_LIMITS, SearchInputComponent, SectionHeaderComponent, SelectComponent, SendMessagePanelComponent, SidePanelComponent, SkeletonComponent, StackComponent, StepperComponent, TableToolbarComponent, TemplatePickerComponent, TextComponent, TextInputComponent, TextareaInputComponent, TimeInputComponent, ToastComponent, ToastService, ToggleBadgeComponent, ToggleComponent, TooltipDirective, US_STATES, UiFieldValidity, VideoPickerComponent, acceptLabel, appShellGroupsStorageKey, appendVideoLink, applyVideoLine, autoVariant, buildDefaultSchedule, buildSigners, buildVideoLink, builtInActionIcon, businessTimeOptions, countersignLine, countersignPlaceLabel, createFieldReveal, decodeFilterValues, describeDocumentSigners, digitsOnly, effectiveRoles, encodeFilterValue, encodeFilterValues, errorContextInterceptor, fileMatchesAccept, formatFileSize, formatIsoDate, formatIsoDateTime, formatTime, forwardContext, getEligibleIds, getEligibleOptions, getErrorMessage, hasMappedDataFields, humanReadableMessage, iconPath, isoKey, issueToErrors, maxLengthIssue, mergeFieldText, mergeWarningLines, messagePreviewHtml, normalizeHexColor, normalizeRoles, parseBizHours, parseCcList, parseIso, parseTime, pluralize, provideForgerouteToast, reorderItems, requiredIssue, resolveLayoutGap, resolvePreset, roleNumber, sendExistingEnvelope, serializeBizHours, signerProblems, signerRoleLabel, stripVideoLink, suggestDocumentSubject, videoMessageLine };
|
|
37811
37804
|
|
|
37812
37805
|
//# sourceMappingURL=forgeroute-ui.mjs.map
|