@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 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 last:pb-0";
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
- const classes = [timelineContainerClasses];
3716
- if (mode === "left" || mode === "right") {
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 classes = [timelineItemClasses];
3725
- if (mode === "left") {
3726
- classes.push("pl-8");
3727
- } else if (mode === "right") {
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
- if (isLast) {
3737
- classes.push("pb-0");
3738
- }
3739
- return classes.join(" ");
3833
+ return `${base} pl-8`;
3740
3834
  }
3741
- function getTimelineTailClasses(mode, position, isLast = false) {
3742
- if (isLast) {
3743
- return "hidden";
3744
- }
3745
- const classes = [timelineTailClasses];
3746
- if (mode === "left") {
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
- const classes = [timelineHeadClasses];
3757
- if (mode === "left") {
3758
- classes.push("left-0 top-0 -translate-x-1/2");
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
- return timelineCustomDotClasses;
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
- const classes = [timelineContentClasses];
3778
- if (mode === "left") {
3779
- classes.push("pl-2");
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 classes.join(" ");
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 ${simple ? "items-center" : ""}`;
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 ${simple ? "text-center" : ""}`;
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,