@expcat/tigercat-core 0.2.27 → 0.3.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/dist/index.cjs +319 -71
- package/dist/index.d.cts +1541 -509
- package/dist/index.d.ts +1541 -509
- package/dist/index.js +300 -71
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -186,6 +186,9 @@ __export(index_exports, {
|
|
|
186
186
|
breadcrumbItemBaseClasses: () => breadcrumbItemBaseClasses,
|
|
187
187
|
breadcrumbLinkClasses: () => breadcrumbLinkClasses,
|
|
188
188
|
breadcrumbSeparatorBaseClasses: () => breadcrumbSeparatorBaseClasses,
|
|
189
|
+
buildActivityGroups: () => buildActivityGroups,
|
|
190
|
+
buildCommentTree: () => buildCommentTree,
|
|
191
|
+
buildNotificationGroups: () => buildNotificationGroups,
|
|
189
192
|
buttonBaseClasses: () => buttonBaseClasses,
|
|
190
193
|
buttonDisabledClasses: () => buttonDisabledClasses,
|
|
191
194
|
buttonSizeClasses: () => buttonSizeClasses,
|
|
@@ -237,6 +240,7 @@ __export(index_exports, {
|
|
|
237
240
|
clampSlideIndex: () => clampSlideIndex,
|
|
238
241
|
classNames: () => classNames,
|
|
239
242
|
clearFieldErrors: () => clearFieldErrors,
|
|
243
|
+
clipCommentTreeDepth: () => clipCommentTreeDepth,
|
|
240
244
|
clockSolidIcon20PathD: () => clockSolidIcon20PathD,
|
|
241
245
|
closeIconPathD: () => closeIconPathD,
|
|
242
246
|
closeIconPathStrokeLinecap: () => closeIconPathStrokeLinecap,
|
|
@@ -293,6 +297,7 @@ __export(index_exports, {
|
|
|
293
297
|
datePickerNavButtonClasses: () => datePickerNavButtonClasses,
|
|
294
298
|
defaultAlertThemeColors: () => defaultAlertThemeColors,
|
|
295
299
|
defaultBadgeThemeColors: () => defaultBadgeThemeColors,
|
|
300
|
+
defaultChatMessageStatusInfo: () => defaultChatMessageStatusInfo,
|
|
296
301
|
defaultExpandIcon: () => defaultExpandIcon,
|
|
297
302
|
defaultIndeterminateIcon: () => defaultIndeterminateIcon,
|
|
298
303
|
defaultLinkThemeColors: () => defaultLinkThemeColors,
|
|
@@ -337,7 +342,10 @@ __export(index_exports, {
|
|
|
337
342
|
focusFirst: () => focusFirst,
|
|
338
343
|
focusRingClasses: () => focusRingClasses,
|
|
339
344
|
focusRingInsetClasses: () => focusRingInsetClasses,
|
|
345
|
+
formatActivityTime: () => formatActivityTime,
|
|
340
346
|
formatBadgeContent: () => formatBadgeContent,
|
|
347
|
+
formatChatTime: () => formatChatTime,
|
|
348
|
+
formatCommentTime: () => formatCommentTime,
|
|
341
349
|
formatDate: () => formatDate,
|
|
342
350
|
formatFileSize: () => formatFileSize,
|
|
343
351
|
formatMonthYear: () => formatMonthYear,
|
|
@@ -384,6 +392,7 @@ __export(index_exports, {
|
|
|
384
392
|
getChartEntranceTransform: () => getChartEntranceTransform,
|
|
385
393
|
getChartGridLineDasharray: () => getChartGridLineDasharray,
|
|
386
394
|
getChartInnerRect: () => getChartInnerRect,
|
|
395
|
+
getChatMessageStatusInfo: () => getChatMessageStatusInfo,
|
|
387
396
|
getCheckboxCellClasses: () => getCheckboxCellClasses,
|
|
388
397
|
getCheckboxClasses: () => getCheckboxClasses,
|
|
389
398
|
getCheckboxLabelClasses: () => getCheckboxLabelClasses,
|
|
@@ -437,6 +446,13 @@ __export(index_exports, {
|
|
|
437
446
|
getFlexClasses: () => getFlexClasses,
|
|
438
447
|
getFocusTrapNavigation: () => getFocusTrapNavigation,
|
|
439
448
|
getFocusableElements: () => getFocusableElements,
|
|
449
|
+
getFormItemAsteriskClasses: () => getFormItemAsteriskClasses,
|
|
450
|
+
getFormItemAsteriskStyle: () => getFormItemAsteriskStyle,
|
|
451
|
+
getFormItemClasses: () => getFormItemClasses,
|
|
452
|
+
getFormItemContentClasses: () => getFormItemContentClasses,
|
|
453
|
+
getFormItemErrorClasses: () => getFormItemErrorClasses,
|
|
454
|
+
getFormItemFieldClasses: () => getFormItemFieldClasses,
|
|
455
|
+
getFormItemLabelClasses: () => getFormItemLabelClasses,
|
|
440
456
|
getGridColumnClasses: () => getGridColumnClasses,
|
|
441
457
|
getGutterStyles: () => getGutterStyles,
|
|
442
458
|
getInitials: () => getInitials,
|
|
@@ -797,10 +813,12 @@ __export(index_exports, {
|
|
|
797
813
|
sliderThumbClasses: () => sliderThumbClasses,
|
|
798
814
|
sliderTooltipClasses: () => sliderTooltipClasses,
|
|
799
815
|
sliderTrackClasses: () => sliderTrackClasses,
|
|
816
|
+
sortActivityGroups: () => sortActivityGroups,
|
|
800
817
|
sortAscIcon16PathD: () => sortAscIcon16PathD,
|
|
801
818
|
sortBothIcon16PathD: () => sortBothIcon16PathD,
|
|
802
819
|
sortData: () => sortData,
|
|
803
820
|
sortDescIcon16PathD: () => sortDescIcon16PathD,
|
|
821
|
+
sortNotificationGroups: () => sortNotificationGroups,
|
|
804
822
|
stackSeriesData: () => stackSeriesData,
|
|
805
823
|
statusErrorIconPath: () => statusErrorIconPath,
|
|
806
824
|
statusIconPaths: () => statusIconPaths,
|
|
@@ -885,6 +903,7 @@ __export(index_exports, {
|
|
|
885
903
|
timelineTailClasses: () => timelineTailClasses,
|
|
886
904
|
to12HourFormat: () => to12HourFormat,
|
|
887
905
|
to24HourFormat: () => to24HourFormat,
|
|
906
|
+
toActivityTimelineItems: () => toActivityTimelineItems,
|
|
888
907
|
toggleKey: () => toggleKey,
|
|
889
908
|
togglePanelKey: () => togglePanelKey,
|
|
890
909
|
treeBaseClasses: () => treeBaseClasses,
|
|
@@ -1903,6 +1922,93 @@ function getInputErrorClasses(size = "md") {
|
|
|
1903
1922
|
);
|
|
1904
1923
|
}
|
|
1905
1924
|
|
|
1925
|
+
// src/utils/form-item-styles.ts
|
|
1926
|
+
var FORM_ITEM_SPACING = {
|
|
1927
|
+
sm: "mb-3 last:mb-0",
|
|
1928
|
+
md: "mb-4 last:mb-0",
|
|
1929
|
+
lg: "mb-6 last:mb-0"
|
|
1930
|
+
};
|
|
1931
|
+
var LABEL_TEXT_SIZE = {
|
|
1932
|
+
sm: "text-xs",
|
|
1933
|
+
md: "text-sm",
|
|
1934
|
+
lg: "text-base"
|
|
1935
|
+
};
|
|
1936
|
+
var LABEL_PADDING_TOP = {
|
|
1937
|
+
sm: "pt-1",
|
|
1938
|
+
md: "pt-2",
|
|
1939
|
+
lg: "pt-3"
|
|
1940
|
+
};
|
|
1941
|
+
var ERROR_TEXT_SIZE = {
|
|
1942
|
+
sm: "text-xs",
|
|
1943
|
+
md: "text-xs",
|
|
1944
|
+
lg: "text-sm"
|
|
1945
|
+
};
|
|
1946
|
+
function getFormItemClasses(options = {}) {
|
|
1947
|
+
const { size = "md", labelPosition = "right", hasError = false, disabled = false } = options;
|
|
1948
|
+
const layoutClasses = labelPosition === "top" ? "flex flex-col gap-2" : "flex items-start gap-4";
|
|
1949
|
+
return classNames(
|
|
1950
|
+
"tiger-form-item",
|
|
1951
|
+
"w-full",
|
|
1952
|
+
`tiger-form-item--${size}`,
|
|
1953
|
+
`tiger-form-item--label-${labelPosition}`,
|
|
1954
|
+
layoutClasses,
|
|
1955
|
+
FORM_ITEM_SPACING[size],
|
|
1956
|
+
hasError && "tiger-form-item--error",
|
|
1957
|
+
disabled && "tiger-form-item--disabled"
|
|
1958
|
+
);
|
|
1959
|
+
}
|
|
1960
|
+
function getFormItemLabelClasses(options = {}) {
|
|
1961
|
+
const { size = "md", labelPosition = "right", labelAlign = "right", isRequired = false } = options;
|
|
1962
|
+
const alignClass = labelAlign === "right" ? "text-right" : labelAlign === "left" ? "text-left" : "text-left";
|
|
1963
|
+
const positionClasses = labelPosition === "top" ? "w-full" : "shrink-0";
|
|
1964
|
+
const paddingClass = labelPosition === "top" ? "" : LABEL_PADDING_TOP[size];
|
|
1965
|
+
return classNames(
|
|
1966
|
+
"tiger-form-item__label",
|
|
1967
|
+
`tiger-form-item__label--${labelAlign}`,
|
|
1968
|
+
"font-medium",
|
|
1969
|
+
"text-[var(--tiger-text,#111827)]",
|
|
1970
|
+
LABEL_TEXT_SIZE[size],
|
|
1971
|
+
alignClass,
|
|
1972
|
+
positionClasses,
|
|
1973
|
+
paddingClass,
|
|
1974
|
+
isRequired && "tiger-form-item__label--required"
|
|
1975
|
+
);
|
|
1976
|
+
}
|
|
1977
|
+
function getFormItemContentClasses(labelPosition = "right") {
|
|
1978
|
+
return classNames(
|
|
1979
|
+
"tiger-form-item__content",
|
|
1980
|
+
labelPosition === "top" ? "w-full" : "flex-1",
|
|
1981
|
+
"min-w-0",
|
|
1982
|
+
"flex",
|
|
1983
|
+
"flex-col"
|
|
1984
|
+
);
|
|
1985
|
+
}
|
|
1986
|
+
function getFormItemFieldClasses() {
|
|
1987
|
+
return classNames("tiger-form-item__field", "w-full");
|
|
1988
|
+
}
|
|
1989
|
+
function getFormItemErrorClasses(size = "md") {
|
|
1990
|
+
return classNames(
|
|
1991
|
+
"tiger-form-item__error",
|
|
1992
|
+
"mt-1",
|
|
1993
|
+
ERROR_TEXT_SIZE[size],
|
|
1994
|
+
"text-[var(--tiger-error,#ef4444)]"
|
|
1995
|
+
);
|
|
1996
|
+
}
|
|
1997
|
+
function getFormItemAsteriskClasses() {
|
|
1998
|
+
return classNames(
|
|
1999
|
+
"tiger-form-item__asterisk",
|
|
2000
|
+
"mr-1",
|
|
2001
|
+
"font-semibold",
|
|
2002
|
+
"text-red-500",
|
|
2003
|
+
"text-[var(--tiger-error,#ef4444)]"
|
|
2004
|
+
);
|
|
2005
|
+
}
|
|
2006
|
+
function getFormItemAsteriskStyle() {
|
|
2007
|
+
return {
|
|
2008
|
+
color: "var(--tiger-error,#ef4444)"
|
|
2009
|
+
};
|
|
2010
|
+
}
|
|
2011
|
+
|
|
1906
2012
|
// src/utils/select-utils.ts
|
|
1907
2013
|
var selectBaseClasses = "relative inline-block w-full";
|
|
1908
2014
|
var SELECT_TRIGGER_BASE_CLASSES = [
|
|
@@ -3702,91 +3808,53 @@ function groupItemsIntoRows(items, column) {
|
|
|
3702
3808
|
// src/utils/timeline-utils.ts
|
|
3703
3809
|
var timelineContainerClasses = "relative";
|
|
3704
3810
|
var timelineListClasses = "list-none m-0 p-0";
|
|
3705
|
-
var timelineItemClasses = "relative pb-8
|
|
3811
|
+
var timelineItemClasses = "relative pb-8";
|
|
3706
3812
|
var timelineTailClasses = "absolute w-0.5 bg-[var(--tiger-border,#e5e7eb)]";
|
|
3707
|
-
var timelineHeadClasses = "absolute flex items-center justify-center";
|
|
3708
|
-
var timelineDotBgClass = "bg-[var(--tiger-timeline-dot,#d1d5db)]";
|
|
3709
|
-
var timelineDotClasses = `w-2.5 h-2.5 rounded-full border-2 border-[var(--tiger-surface,#ffffff)] ${timelineDotBgClass}`;
|
|
3710
|
-
var timelineCustomDotClasses = "flex items-center justify-center";
|
|
3813
|
+
var timelineHeadClasses = "absolute z-10 flex items-center justify-center";
|
|
3711
3814
|
var timelineContentClasses = "relative";
|
|
3815
|
+
var timelineCustomDotClasses = "flex items-center justify-center";
|
|
3712
3816
|
var timelineLabelClasses = "text-sm text-[var(--tiger-text-muted,#6b7280)] mb-1";
|
|
3713
3817
|
var timelineDescriptionClasses = "text-[var(--tiger-text,#374151)]";
|
|
3818
|
+
var dotBg = "bg-[var(--tiger-timeline-dot,#d1d5db)]";
|
|
3819
|
+
var timelineDotClasses = `w-2.5 h-2.5 rounded-full border-2 border-[var(--tiger-surface,#ffffff)] ${dotBg}`;
|
|
3820
|
+
var HEAD_TOP = "top-[18px]";
|
|
3821
|
+
var TAIL_TOP = "top-[23px]";
|
|
3822
|
+
var TAIL_BOTTOM = "-bottom-[23px]";
|
|
3714
3823
|
function getTimelineContainerClasses(mode) {
|
|
3715
|
-
|
|
3716
|
-
|
|
3717
|
-
classes.push("pl-0");
|
|
3718
|
-
} else if (mode === "alternate") {
|
|
3719
|
-
classes.push("flex flex-col");
|
|
3720
|
-
}
|
|
3721
|
-
return classes.join(" ");
|
|
3824
|
+
if (mode === "alternate") return `${timelineContainerClasses} flex flex-col`;
|
|
3825
|
+
return timelineContainerClasses;
|
|
3722
3826
|
}
|
|
3723
3827
|
function getTimelineItemClasses(mode, position, isLast = false) {
|
|
3724
|
-
const
|
|
3725
|
-
if (mode === "
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
classes.push("pr-8 text-right");
|
|
3729
|
-
} else if (mode === "alternate") {
|
|
3730
|
-
if (position === "left") {
|
|
3731
|
-
classes.push("pr-8 text-right flex flex-row-reverse");
|
|
3732
|
-
} else {
|
|
3733
|
-
classes.push("pl-8 flex");
|
|
3734
|
-
}
|
|
3828
|
+
const base = isLast ? "relative pb-0" : timelineItemClasses;
|
|
3829
|
+
if (mode === "right") return `${base} pr-8 text-right`;
|
|
3830
|
+
if (mode === "alternate") {
|
|
3831
|
+
return position === "left" ? `${base} pr-8 text-right flex flex-row-reverse` : `${base} pl-8 flex`;
|
|
3735
3832
|
}
|
|
3736
|
-
|
|
3737
|
-
classes.push("pb-0");
|
|
3738
|
-
}
|
|
3739
|
-
return classes.join(" ");
|
|
3833
|
+
return `${base} pl-8`;
|
|
3740
3834
|
}
|
|
3741
|
-
function getTimelineTailClasses(mode,
|
|
3742
|
-
if (isLast)
|
|
3743
|
-
|
|
3744
|
-
}
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
classes.push("left-0 -translate-x-1/2 top-[10px] bottom-0");
|
|
3748
|
-
} else if (mode === "right") {
|
|
3749
|
-
classes.push("right-0 translate-x-1/2 top-[10px] bottom-0");
|
|
3750
|
-
} else if (mode === "alternate") {
|
|
3751
|
-
classes.push("left-1/2 -translate-x-1/2 top-[10px] bottom-0");
|
|
3752
|
-
}
|
|
3753
|
-
return classes.join(" ");
|
|
3835
|
+
function getTimelineTailClasses(mode, _position, isLast = false) {
|
|
3836
|
+
if (isLast) return "hidden";
|
|
3837
|
+
const span = `${timelineTailClasses} ${TAIL_TOP} ${TAIL_BOTTOM}`;
|
|
3838
|
+
if (mode === "right") return `${span} right-0 translate-x-1/2`;
|
|
3839
|
+
if (mode === "alternate") return `${span} left-1/2 -translate-x-1/2`;
|
|
3840
|
+
return `${span} left-0 -translate-x-1/2`;
|
|
3754
3841
|
}
|
|
3755
3842
|
function getTimelineHeadClasses(mode, _position) {
|
|
3756
|
-
|
|
3757
|
-
if (mode === "
|
|
3758
|
-
|
|
3759
|
-
} else if (mode === "right") {
|
|
3760
|
-
classes.push("right-0 top-0 translate-x-1/2");
|
|
3761
|
-
} else if (mode === "alternate") {
|
|
3762
|
-
classes.push("left-1/2 -translate-x-1/2 top-0");
|
|
3763
|
-
}
|
|
3764
|
-
return classes.join(" ");
|
|
3843
|
+
if (mode === "right") return `${timelineHeadClasses} right-0 ${HEAD_TOP} translate-x-1/2`;
|
|
3844
|
+
if (mode === "alternate") return `${timelineHeadClasses} left-1/2 -translate-x-1/2 ${HEAD_TOP}`;
|
|
3845
|
+
return `${timelineHeadClasses} left-0 ${HEAD_TOP} -translate-x-1/2`;
|
|
3765
3846
|
}
|
|
3766
3847
|
function getTimelineDotClasses(color, isCustom = false) {
|
|
3767
|
-
if (isCustom)
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
const classes = [timelineDotClasses];
|
|
3771
|
-
if (color) {
|
|
3772
|
-
return classes.join(" ").replace(timelineDotBgClass, "");
|
|
3773
|
-
}
|
|
3774
|
-
return classes.join(" ");
|
|
3848
|
+
if (isCustom) return timelineCustomDotClasses;
|
|
3849
|
+
if (color) return timelineDotClasses.replace(dotBg, "");
|
|
3850
|
+
return timelineDotClasses;
|
|
3775
3851
|
}
|
|
3776
3852
|
function getTimelineContentClasses(mode, position) {
|
|
3777
|
-
|
|
3778
|
-
if (mode === "
|
|
3779
|
-
|
|
3780
|
-
} else if (mode === "right") {
|
|
3781
|
-
classes.push("pr-2");
|
|
3782
|
-
} else if (mode === "alternate") {
|
|
3783
|
-
if (position === "left") {
|
|
3784
|
-
classes.push("pr-8");
|
|
3785
|
-
} else {
|
|
3786
|
-
classes.push("pl-8");
|
|
3787
|
-
}
|
|
3853
|
+
if (mode === "right") return `${timelineContentClasses} pr-2`;
|
|
3854
|
+
if (mode === "alternate") {
|
|
3855
|
+
return position === "left" ? `${timelineContentClasses} pr-8` : `${timelineContentClasses} pl-8`;
|
|
3788
3856
|
}
|
|
3789
|
-
return
|
|
3857
|
+
return `${timelineContentClasses} pl-2`;
|
|
3790
3858
|
}
|
|
3791
3859
|
function getPendingDotClasses() {
|
|
3792
3860
|
return "w-2.5 h-2.5 rounded-full border-2 border-white bg-[var(--tiger-primary,#2563eb)] animate-pulse";
|
|
@@ -4567,7 +4635,7 @@ function getStepItemClasses(direction, isLast, simple) {
|
|
|
4567
4635
|
if (direction === "vertical") {
|
|
4568
4636
|
return `${baseClasses} flex flex-row ${!isLast ? "pb-6" : ""}`;
|
|
4569
4637
|
}
|
|
4570
|
-
return `${baseClasses} flex flex-col flex-1
|
|
4638
|
+
return `${baseClasses} flex flex-col flex-1 items-center`;
|
|
4571
4639
|
}
|
|
4572
4640
|
function getStepIconClasses(status, size, simple, isCustomIcon) {
|
|
4573
4641
|
const baseClasses = "tiger-step-icon flex items-center justify-center rounded-full border-2 transition-all duration-200";
|
|
@@ -4600,7 +4668,7 @@ function getStepContentClasses(direction, simple) {
|
|
|
4600
4668
|
if (direction === "vertical") {
|
|
4601
4669
|
return `${baseClasses} ml-4 flex-1`;
|
|
4602
4670
|
}
|
|
4603
|
-
return `${baseClasses} mt-2
|
|
4671
|
+
return `${baseClasses} mt-2 text-center`;
|
|
4604
4672
|
}
|
|
4605
4673
|
function getStepTitleClasses(status, size, clickable) {
|
|
4606
4674
|
const baseClasses = "tiger-step-title font-medium transition-colors duration-200 bg-transparent border-0 p-0";
|
|
@@ -6446,6 +6514,167 @@ function applyFloatingStyles(element, result) {
|
|
|
6446
6514
|
element.style.top = `${result.y}px`;
|
|
6447
6515
|
}
|
|
6448
6516
|
|
|
6517
|
+
// src/utils/chat-window-utils.ts
|
|
6518
|
+
var defaultChatMessageStatusInfo = {
|
|
6519
|
+
sending: { text: "\u53D1\u9001\u4E2D", className: "text-[var(--tiger-text-muted,#6b7280)]" },
|
|
6520
|
+
sent: { text: "\u5DF2\u9001\u8FBE", className: "text-[var(--tiger-text-muted,#6b7280)]" },
|
|
6521
|
+
failed: { text: "\u53D1\u9001\u5931\u8D25", className: "text-[var(--tiger-danger,#ef4444)]" }
|
|
6522
|
+
};
|
|
6523
|
+
function getChatMessageStatusInfo(status, statusMap = defaultChatMessageStatusInfo) {
|
|
6524
|
+
return statusMap[status] || defaultChatMessageStatusInfo[status];
|
|
6525
|
+
}
|
|
6526
|
+
|
|
6527
|
+
// src/utils/activity-feed-utils.ts
|
|
6528
|
+
var formatActivityTime = (value) => {
|
|
6529
|
+
if (value == null || value === "") return "";
|
|
6530
|
+
if (value instanceof Date) return value.toLocaleString();
|
|
6531
|
+
if (typeof value === "number") return new Date(value).toLocaleString();
|
|
6532
|
+
return value;
|
|
6533
|
+
};
|
|
6534
|
+
var sortActivityGroups = (groups, groupOrder) => {
|
|
6535
|
+
if (!groupOrder || groupOrder.length === 0) return groups;
|
|
6536
|
+
const orderMap = new Map(groupOrder.map((key, index) => [key, index]));
|
|
6537
|
+
return [...groups].sort((a, b) => {
|
|
6538
|
+
const aKey = String(a.key ?? a.title ?? "");
|
|
6539
|
+
const bKey = String(b.key ?? b.title ?? "");
|
|
6540
|
+
const aIndex = orderMap.has(aKey) ? orderMap.get(aKey) : Number.POSITIVE_INFINITY;
|
|
6541
|
+
const bIndex = orderMap.has(bKey) ? orderMap.get(bKey) : Number.POSITIVE_INFINITY;
|
|
6542
|
+
if (aIndex === bIndex) return 0;
|
|
6543
|
+
return aIndex - bIndex;
|
|
6544
|
+
});
|
|
6545
|
+
};
|
|
6546
|
+
var buildActivityGroups = (items, groups, groupBy, groupOrder) => {
|
|
6547
|
+
if (groups && groups.length > 0) {
|
|
6548
|
+
return sortActivityGroups(groups, groupOrder);
|
|
6549
|
+
}
|
|
6550
|
+
if (!items || items.length === 0) return [];
|
|
6551
|
+
if (groupBy) {
|
|
6552
|
+
const groupMap = /* @__PURE__ */ new Map();
|
|
6553
|
+
items.forEach((item) => {
|
|
6554
|
+
const key = groupBy(item) || "\u5176\u4ED6";
|
|
6555
|
+
const bucket = groupMap.get(key) ?? [];
|
|
6556
|
+
bucket.push(item);
|
|
6557
|
+
groupMap.set(key, bucket);
|
|
6558
|
+
});
|
|
6559
|
+
const mappedGroups = Array.from(groupMap.entries()).map(([title, groupItems]) => ({
|
|
6560
|
+
key: title,
|
|
6561
|
+
title,
|
|
6562
|
+
items: groupItems
|
|
6563
|
+
}));
|
|
6564
|
+
return sortActivityGroups(mappedGroups, groupOrder);
|
|
6565
|
+
}
|
|
6566
|
+
return [{ key: "default", title: "", items }];
|
|
6567
|
+
};
|
|
6568
|
+
var toActivityTimelineItems = (items) => {
|
|
6569
|
+
return items.map((item, index) => ({
|
|
6570
|
+
key: item.id ?? index,
|
|
6571
|
+
activity: item
|
|
6572
|
+
}));
|
|
6573
|
+
};
|
|
6574
|
+
|
|
6575
|
+
// src/utils/notification-center-utils.ts
|
|
6576
|
+
var sortNotificationGroups = (groups, groupOrder) => {
|
|
6577
|
+
if (!groupOrder || groupOrder.length === 0) {
|
|
6578
|
+
return groups;
|
|
6579
|
+
}
|
|
6580
|
+
const orderMap = /* @__PURE__ */ new Map();
|
|
6581
|
+
groupOrder.forEach((key, index) => {
|
|
6582
|
+
orderMap.set(String(key), index);
|
|
6583
|
+
});
|
|
6584
|
+
return [...groups].sort((a, b) => {
|
|
6585
|
+
const aKey = String(a.key ?? a.title);
|
|
6586
|
+
const bKey = String(b.key ?? b.title);
|
|
6587
|
+
const aIndex = orderMap.get(aKey);
|
|
6588
|
+
const bIndex = orderMap.get(bKey);
|
|
6589
|
+
if (aIndex === void 0 && bIndex === void 0) return 0;
|
|
6590
|
+
if (aIndex === void 0) return 1;
|
|
6591
|
+
if (bIndex === void 0) return -1;
|
|
6592
|
+
return aIndex - bIndex;
|
|
6593
|
+
});
|
|
6594
|
+
};
|
|
6595
|
+
var buildNotificationGroups = (items = [], groups, groupBy, groupOrder) => {
|
|
6596
|
+
if (groups && groups.length > 0) {
|
|
6597
|
+
return sortNotificationGroups(groups, groupOrder);
|
|
6598
|
+
}
|
|
6599
|
+
if (!items || items.length === 0) {
|
|
6600
|
+
return [];
|
|
6601
|
+
}
|
|
6602
|
+
const groupFn = groupBy ?? ((item) => String(item.type ?? "default"));
|
|
6603
|
+
const groupMap = /* @__PURE__ */ new Map();
|
|
6604
|
+
items.forEach((item) => {
|
|
6605
|
+
const key = groupFn(item);
|
|
6606
|
+
if (!groupMap.has(key)) {
|
|
6607
|
+
groupMap.set(key, []);
|
|
6608
|
+
}
|
|
6609
|
+
groupMap.get(key)?.push(item);
|
|
6610
|
+
});
|
|
6611
|
+
const mappedGroups = Array.from(groupMap.entries()).map(([key, groupItems]) => ({
|
|
6612
|
+
key,
|
|
6613
|
+
title: key,
|
|
6614
|
+
items: groupItems
|
|
6615
|
+
}));
|
|
6616
|
+
return sortNotificationGroups(mappedGroups, groupOrder);
|
|
6617
|
+
};
|
|
6618
|
+
|
|
6619
|
+
// src/utils/comment-thread-utils.ts
|
|
6620
|
+
var buildCommentTree = (items = []) => {
|
|
6621
|
+
if (!items || items.length === 0) return [];
|
|
6622
|
+
const nodeMap = /* @__PURE__ */ new Map();
|
|
6623
|
+
const order = [];
|
|
6624
|
+
items.forEach((item) => {
|
|
6625
|
+
nodeMap.set(item.id, {
|
|
6626
|
+
...item,
|
|
6627
|
+
children: []
|
|
6628
|
+
});
|
|
6629
|
+
order.push(item.id);
|
|
6630
|
+
});
|
|
6631
|
+
const roots = [];
|
|
6632
|
+
order.forEach((id) => {
|
|
6633
|
+
const node = nodeMap.get(id);
|
|
6634
|
+
if (!node) return;
|
|
6635
|
+
if (node.parentId === void 0 || node.parentId === null) {
|
|
6636
|
+
roots.push(node);
|
|
6637
|
+
return;
|
|
6638
|
+
}
|
|
6639
|
+
const parent = nodeMap.get(node.parentId);
|
|
6640
|
+
if (!parent) {
|
|
6641
|
+
roots.push(node);
|
|
6642
|
+
return;
|
|
6643
|
+
}
|
|
6644
|
+
if (!parent.children) parent.children = [];
|
|
6645
|
+
parent.children.push(node);
|
|
6646
|
+
});
|
|
6647
|
+
return roots;
|
|
6648
|
+
};
|
|
6649
|
+
var clipCommentTreeDepth = (nodes = [], maxDepth = 3) => {
|
|
6650
|
+
if (!nodes || nodes.length === 0) return [];
|
|
6651
|
+
if (maxDepth <= 0) return [];
|
|
6652
|
+
const cloneNode = (node, depth) => {
|
|
6653
|
+
const next = { ...node };
|
|
6654
|
+
if (node.children && node.children.length > 0 && depth < maxDepth) {
|
|
6655
|
+
next.children = node.children.map((child) => cloneNode(child, depth + 1));
|
|
6656
|
+
} else {
|
|
6657
|
+
next.children = [];
|
|
6658
|
+
}
|
|
6659
|
+
return next;
|
|
6660
|
+
};
|
|
6661
|
+
return nodes.map((node) => cloneNode(node, 1));
|
|
6662
|
+
};
|
|
6663
|
+
|
|
6664
|
+
// src/utils/composite-time-utils.ts
|
|
6665
|
+
var formatChatTime = (value) => {
|
|
6666
|
+
if (!value) return "";
|
|
6667
|
+
if (value instanceof Date) return value.toLocaleTimeString();
|
|
6668
|
+
if (typeof value === "number") return new Date(value).toLocaleTimeString();
|
|
6669
|
+
return value;
|
|
6670
|
+
};
|
|
6671
|
+
var formatCommentTime = (value) => {
|
|
6672
|
+
if (value == null || value === "") return "";
|
|
6673
|
+
if (value instanceof Date) return value.toLocaleString();
|
|
6674
|
+
if (typeof value === "number") return new Date(value).toLocaleString();
|
|
6675
|
+
return value;
|
|
6676
|
+
};
|
|
6677
|
+
|
|
6449
6678
|
// src/theme/colors.ts
|
|
6450
6679
|
var defaultThemeColors = {
|
|
6451
6680
|
primary: {
|
|
@@ -7017,6 +7246,9 @@ var version = "0.2.0";
|
|
|
7017
7246
|
breadcrumbItemBaseClasses,
|
|
7018
7247
|
breadcrumbLinkClasses,
|
|
7019
7248
|
breadcrumbSeparatorBaseClasses,
|
|
7249
|
+
buildActivityGroups,
|
|
7250
|
+
buildCommentTree,
|
|
7251
|
+
buildNotificationGroups,
|
|
7020
7252
|
buttonBaseClasses,
|
|
7021
7253
|
buttonDisabledClasses,
|
|
7022
7254
|
buttonSizeClasses,
|
|
@@ -7068,6 +7300,7 @@ var version = "0.2.0";
|
|
|
7068
7300
|
clampSlideIndex,
|
|
7069
7301
|
classNames,
|
|
7070
7302
|
clearFieldErrors,
|
|
7303
|
+
clipCommentTreeDepth,
|
|
7071
7304
|
clockSolidIcon20PathD,
|
|
7072
7305
|
closeIconPathD,
|
|
7073
7306
|
closeIconPathStrokeLinecap,
|
|
@@ -7124,6 +7357,7 @@ var version = "0.2.0";
|
|
|
7124
7357
|
datePickerNavButtonClasses,
|
|
7125
7358
|
defaultAlertThemeColors,
|
|
7126
7359
|
defaultBadgeThemeColors,
|
|
7360
|
+
defaultChatMessageStatusInfo,
|
|
7127
7361
|
defaultExpandIcon,
|
|
7128
7362
|
defaultIndeterminateIcon,
|
|
7129
7363
|
defaultLinkThemeColors,
|
|
@@ -7168,7 +7402,10 @@ var version = "0.2.0";
|
|
|
7168
7402
|
focusFirst,
|
|
7169
7403
|
focusRingClasses,
|
|
7170
7404
|
focusRingInsetClasses,
|
|
7405
|
+
formatActivityTime,
|
|
7171
7406
|
formatBadgeContent,
|
|
7407
|
+
formatChatTime,
|
|
7408
|
+
formatCommentTime,
|
|
7172
7409
|
formatDate,
|
|
7173
7410
|
formatFileSize,
|
|
7174
7411
|
formatMonthYear,
|
|
@@ -7215,6 +7452,7 @@ var version = "0.2.0";
|
|
|
7215
7452
|
getChartEntranceTransform,
|
|
7216
7453
|
getChartGridLineDasharray,
|
|
7217
7454
|
getChartInnerRect,
|
|
7455
|
+
getChatMessageStatusInfo,
|
|
7218
7456
|
getCheckboxCellClasses,
|
|
7219
7457
|
getCheckboxClasses,
|
|
7220
7458
|
getCheckboxLabelClasses,
|
|
@@ -7268,6 +7506,13 @@ var version = "0.2.0";
|
|
|
7268
7506
|
getFlexClasses,
|
|
7269
7507
|
getFocusTrapNavigation,
|
|
7270
7508
|
getFocusableElements,
|
|
7509
|
+
getFormItemAsteriskClasses,
|
|
7510
|
+
getFormItemAsteriskStyle,
|
|
7511
|
+
getFormItemClasses,
|
|
7512
|
+
getFormItemContentClasses,
|
|
7513
|
+
getFormItemErrorClasses,
|
|
7514
|
+
getFormItemFieldClasses,
|
|
7515
|
+
getFormItemLabelClasses,
|
|
7271
7516
|
getGridColumnClasses,
|
|
7272
7517
|
getGutterStyles,
|
|
7273
7518
|
getInitials,
|
|
@@ -7628,10 +7873,12 @@ var version = "0.2.0";
|
|
|
7628
7873
|
sliderThumbClasses,
|
|
7629
7874
|
sliderTooltipClasses,
|
|
7630
7875
|
sliderTrackClasses,
|
|
7876
|
+
sortActivityGroups,
|
|
7631
7877
|
sortAscIcon16PathD,
|
|
7632
7878
|
sortBothIcon16PathD,
|
|
7633
7879
|
sortData,
|
|
7634
7880
|
sortDescIcon16PathD,
|
|
7881
|
+
sortNotificationGroups,
|
|
7635
7882
|
stackSeriesData,
|
|
7636
7883
|
statusErrorIconPath,
|
|
7637
7884
|
statusIconPaths,
|
|
@@ -7716,6 +7963,7 @@ var version = "0.2.0";
|
|
|
7716
7963
|
timelineTailClasses,
|
|
7717
7964
|
to12HourFormat,
|
|
7718
7965
|
to24HourFormat,
|
|
7966
|
+
toActivityTimelineItems,
|
|
7719
7967
|
toggleKey,
|
|
7720
7968
|
togglePanelKey,
|
|
7721
7969
|
treeBaseClasses,
|