@expcat/tigercat-react 2.1.0 → 2.1.1

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.
Files changed (137) hide show
  1. package/dist/{chunk-RUAPTIQ7.mjs → chunk-246DAUEF.mjs} +2 -2
  2. package/dist/{chunk-PU3JY6RE.mjs → chunk-2JMI7TCM.mjs} +1 -1
  3. package/dist/chunk-2YBLMVDT.mjs +428 -0
  4. package/dist/{chunk-25D5TXZH.mjs → chunk-32MCQMBJ.mjs} +8 -6
  5. package/dist/{chunk-M5MZWOHF.mjs → chunk-3HHEVMHE.mjs} +1 -1
  6. package/dist/{chunk-HSBN5MLS.mjs → chunk-3LACOSJQ.mjs} +1 -1
  7. package/dist/{chunk-F6WV53BS.mjs → chunk-3LDDXHW2.mjs} +28 -11
  8. package/dist/{chunk-IXQAECFP.mjs → chunk-3QNIFKVF.mjs} +12 -14
  9. package/dist/{chunk-UD4DTVJZ.mjs → chunk-4C2X5PZO.mjs} +57 -25
  10. package/dist/chunk-5JETWHLJ.mjs +28 -0
  11. package/dist/{chunk-VA6PZWOH.mjs → chunk-5SEMRHBD.mjs} +14 -6
  12. package/dist/{chunk-EKILTLUO.mjs → chunk-72CJNKDY.mjs} +1 -1
  13. package/dist/{chunk-XE4YFBOZ.mjs → chunk-AUD3VOLO.mjs} +1 -1
  14. package/dist/{chunk-I4MWOYJS.mjs → chunk-AYFKHWJS.mjs} +13 -7
  15. package/dist/{chunk-RPSHILHD.mjs → chunk-BXAH2GH3.mjs} +8 -2
  16. package/dist/{chunk-EW5EO7VE.mjs → chunk-BYD7EAWK.mjs} +1 -1
  17. package/dist/{chunk-GCY55TBC.mjs → chunk-CQOLQAB5.mjs} +105 -90
  18. package/dist/{chunk-L55UK45A.mjs → chunk-CRIEUKMD.mjs} +5 -2
  19. package/dist/{chunk-DKNVSQSV.mjs → chunk-CUAXRBKO.mjs} +12 -0
  20. package/dist/{chunk-NWVNTZOP.mjs → chunk-DECUASRW.mjs} +14 -16
  21. package/dist/{chunk-XMTEMBQV.mjs → chunk-EAAWB3CK.mjs} +16 -13
  22. package/dist/{chunk-IR7VA6AO.mjs → chunk-EG7EMDKK.mjs} +1 -1
  23. package/dist/{chunk-HOYBHB7B.mjs → chunk-FNK2VWPP.mjs} +1 -1
  24. package/dist/{chunk-RJPNBYK5.mjs → chunk-FQS24AUH.mjs} +12 -3
  25. package/dist/{chunk-LADKKOJT.mjs → chunk-GBEDWXLL.mjs} +16 -10
  26. package/dist/{chunk-2ENQZECC.mjs → chunk-HAXRHSCN.mjs} +4 -3
  27. package/dist/{chunk-K4GIKSZE.mjs → chunk-I2BENK5X.mjs} +2 -1
  28. package/dist/{chunk-DNOPEJ5I.mjs → chunk-JZZPLKTW.mjs} +7 -4
  29. package/dist/{chunk-7KCQMXJA.mjs → chunk-KDURW5AS.mjs} +4 -3
  30. package/dist/{chunk-TFMEHUVZ.mjs → chunk-KKN7KLTB.mjs} +0 -1
  31. package/dist/{chunk-6MGQAJ62.mjs → chunk-KL6YJIZ3.mjs} +24 -7
  32. package/dist/{chunk-PFL4HNWM.mjs → chunk-M6ZPTGBV.mjs} +1 -2
  33. package/dist/{chunk-PXRZ6CKY.mjs → chunk-MJVSZ2UJ.mjs} +46 -16
  34. package/dist/{chunk-LZKBDQE4.mjs → chunk-MYI3FPG4.mjs} +23 -4
  35. package/dist/{chunk-OIGEBCAS.mjs → chunk-NADODEZX.mjs} +69 -1
  36. package/dist/{chunk-UKY2EPS3.mjs → chunk-NJWTZ5MO.mjs} +54 -42
  37. package/dist/{chunk-773LH7BK.mjs → chunk-O6VYD4E4.mjs} +24 -2
  38. package/dist/{chunk-G7D4QV7A.mjs → chunk-O7TV5OKS.mjs} +33 -6
  39. package/dist/{chunk-DPWRXXXW.mjs → chunk-OJ6SHHOZ.mjs} +3 -3
  40. package/dist/{chunk-UYJJLHVA.mjs → chunk-PMQJ6AYT.mjs} +23 -21
  41. package/dist/{chunk-KC55B62J.mjs → chunk-PY2VUNEJ.mjs} +143 -46
  42. package/dist/{chunk-BEJZPJIK.mjs → chunk-QOAOOD53.mjs} +10 -4
  43. package/dist/{chunk-JQJM65RJ.mjs → chunk-QU3QXUTC.mjs} +49 -23
  44. package/dist/{chunk-7EMCZVJ2.mjs → chunk-QXSUG7SN.mjs} +3 -3
  45. package/dist/{chunk-RQ4PUK6G.mjs → chunk-R7YZ6FKP.mjs} +24 -13
  46. package/dist/{chunk-YI6YWH66.mjs → chunk-RE5ZLA5D.mjs} +6 -6
  47. package/dist/{chunk-UCBW5RJN.mjs → chunk-RGVU4EMA.mjs} +11 -6
  48. package/dist/{chunk-IBSOUQGB.mjs → chunk-RRGPDFDI.mjs} +7 -4
  49. package/dist/{chunk-ZH5ZBLAN.mjs → chunk-RUQ3F3MV.mjs} +34 -7
  50. package/dist/{chunk-PGD5RPKF.mjs → chunk-SVIJ2UZA.mjs} +2 -1
  51. package/dist/{chunk-UETARXIK.mjs → chunk-SXWEFZOF.mjs} +246 -53
  52. package/dist/{chunk-H6MVW5YD.mjs → chunk-TEVEXDY2.mjs} +24 -13
  53. package/dist/{chunk-DJOFM2VO.mjs → chunk-TO6MZFNQ.mjs} +52 -40
  54. package/dist/{chunk-ZCGIZOMT.mjs → chunk-V7HJ5HLC.mjs} +6 -10
  55. package/dist/{chunk-SIDDYP3O.mjs → chunk-VJWSKJLJ.mjs} +1 -1
  56. package/dist/{chunk-ZG56T75O.mjs → chunk-WTHWLCRL.mjs} +51 -11
  57. package/dist/{chunk-KP6DEYWB.mjs → chunk-X4L3W7RQ.mjs} +1 -1
  58. package/dist/{chunk-ZMRTETN2.mjs → chunk-X6C6MNG5.mjs} +4 -3
  59. package/dist/{chunk-OGG2TQDG.mjs → chunk-XVHTJQ4T.mjs} +12 -1
  60. package/dist/{chunk-FSMJLJFL.mjs → chunk-Y6UH3EKE.mjs} +1 -1
  61. package/dist/chunk-YJ5T4XZN.mjs +81 -0
  62. package/dist/{chunk-VVNFXJMN.mjs → chunk-YNDPQVEK.mjs} +8 -1
  63. package/dist/{chunk-QGZ32NFQ.mjs → chunk-Z23KOLNU.mjs} +4 -3
  64. package/dist/{chunk-5CKMYMTS.mjs → chunk-ZATZRXMW.mjs} +27 -8
  65. package/dist/components/ActivityFeed.mjs +2 -2
  66. package/dist/components/Affix.mjs +1 -1
  67. package/dist/components/Anchor.mjs +1 -1
  68. package/dist/components/AreaChart.mjs +4 -3
  69. package/dist/components/AutoComplete.mjs +1 -1
  70. package/dist/components/BarChart.mjs +4 -3
  71. package/dist/components/Calendar.mjs +1 -1
  72. package/dist/components/Cascader.mjs +1 -1
  73. package/dist/components/ChartCanvas.mjs +1 -1
  74. package/dist/components/ChatWindow.mjs +3 -3
  75. package/dist/components/Code.mjs +3 -1
  76. package/dist/components/CollapsePanel.mjs +1 -1
  77. package/dist/components/ColorPicker.mjs +1 -1
  78. package/dist/components/CommentThread.mjs +2 -2
  79. package/dist/components/DataExport.mjs +2 -2
  80. package/dist/components/DataTableWithToolbar.mjs +6 -6
  81. package/dist/components/DonutChart.mjs +4 -4
  82. package/dist/components/Dropdown.mjs +1 -1
  83. package/dist/components/FileManager.mjs +2 -1
  84. package/dist/components/FloatButton.mjs +1 -1
  85. package/dist/components/FormItem.mjs +1 -1
  86. package/dist/components/FormWizard.mjs +1 -1
  87. package/dist/components/FunnelChart.mjs +3 -3
  88. package/dist/components/Gantt.d.mts +3 -1
  89. package/dist/components/Gantt.mjs +2 -2
  90. package/dist/components/GaugeChart.mjs +2 -2
  91. package/dist/components/HeatmapChart.mjs +3 -3
  92. package/dist/components/Image.mjs +4 -4
  93. package/dist/components/ImageGroup.mjs +2 -2
  94. package/dist/components/ImagePreview.mjs +1 -1
  95. package/dist/components/Input.mjs +1 -1
  96. package/dist/components/InputNumber.d.mts +1 -1
  97. package/dist/components/InputNumber.mjs +1 -1
  98. package/dist/components/Kanban.mjs +2 -2
  99. package/dist/components/LineChart.mjs +4 -3
  100. package/dist/components/List.mjs +2 -2
  101. package/dist/components/Loading.mjs +1 -1
  102. package/dist/components/MaskInput.mjs +1 -1
  103. package/dist/components/NotificationCenter.mjs +4 -4
  104. package/dist/components/OrgChart.mjs +2 -2
  105. package/dist/components/Pagination.mjs +1 -1
  106. package/dist/components/PieChart.mjs +3 -3
  107. package/dist/components/Popconfirm.mjs +2 -2
  108. package/dist/components/Popover.mjs +2 -2
  109. package/dist/components/QRCode.d.mts +2 -2
  110. package/dist/components/QRCode.mjs +1 -1
  111. package/dist/components/RadarChart.mjs +3 -3
  112. package/dist/components/Rate.mjs +1 -1
  113. package/dist/components/ScatterChart.mjs +4 -3
  114. package/dist/components/ScrollSpy.mjs +1 -1
  115. package/dist/components/Signature.mjs +1 -1
  116. package/dist/components/SplitButton.mjs +2 -2
  117. package/dist/components/Splitter.mjs +1 -1
  118. package/dist/components/Stepper.d.mts +2 -0
  119. package/dist/components/Stepper.mjs +2 -1
  120. package/dist/components/SunburstChart.mjs +3 -3
  121. package/dist/components/Switch.d.mts +5 -1
  122. package/dist/components/Switch.mjs +2 -1
  123. package/dist/components/Table.mjs +2 -2
  124. package/dist/components/TaskBoard.mjs +1 -1
  125. package/dist/components/Textarea.mjs +1 -1
  126. package/dist/components/Tooltip.mjs +2 -2
  127. package/dist/components/Tour.mjs +1 -1
  128. package/dist/components/TreeMapChart.mjs +3 -3
  129. package/dist/components/TreeSelect.mjs +1 -1
  130. package/dist/components/Upload.mjs +1 -1
  131. package/dist/hooks/useChartInteraction.d.mts +5 -0
  132. package/dist/hooks/useChartInteraction.mjs +1 -1
  133. package/dist/index.d.mts +1 -1
  134. package/dist/index.mjs +51 -0
  135. package/package.json +2 -2
  136. package/dist/chunk-CB4SK5AU.mjs +0 -235
  137. package/dist/chunk-KPACLRQH.mjs +0 -55
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ChartCanvas
3
- } from "./chunk-DKNVSQSV.mjs";
3
+ } from "./chunk-CUAXRBKO.mjs";
4
4
 
5
5
  // src/components/OrgChart.tsx
6
6
  import { useMemo, useState } from "react";
@@ -3,9 +3,10 @@ import {
3
3
  } from "./chunk-HKAZXG74.mjs";
4
4
 
5
5
  // src/utils/use-popup.ts
6
- import { useCallback, useMemo, useRef, useState } from "react";
6
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
7
7
  import {
8
8
  buildTriggerHandlerMap,
9
+ createFloatingHoverDelayController,
9
10
  restoreFocus
10
11
  } from "@expcat/tigercat-core";
11
12
  function usePopup(options) {
@@ -33,6 +34,18 @@ function usePopup(options) {
33
34
  },
34
35
  [disabled, isControlled, onOpenChange]
35
36
  );
37
+ const setVisibleRef = useRef(setVisible);
38
+ setVisibleRef.current = setVisible;
39
+ const hoverControllerRef = useRef(
40
+ null
41
+ );
42
+ if (hoverControllerRef.current === null) {
43
+ hoverControllerRef.current = createFloatingHoverDelayController({
44
+ show: () => setVisibleRef.current(true),
45
+ hide: () => setVisibleRef.current(false)
46
+ });
47
+ }
48
+ const hoverController = hoverControllerRef.current;
36
49
  const restoreTriggerFocus = useCallback(() => {
37
50
  const trigger2 = triggerRef.current;
38
51
  const target = trigger2?.querySelector(
@@ -43,19 +56,32 @@ function usePopup(options) {
43
56
  }, 0);
44
57
  }, []);
45
58
  const closeAndRestoreFocus = useCallback(() => {
46
- setVisible(false);
59
+ hoverController.closeNow();
47
60
  restoreTriggerFocus();
48
- }, [restoreTriggerFocus, setVisible]);
61
+ }, [hoverController, restoreTriggerFocus]);
62
+ const effectiveTrigger = multiTrigger ? trigger : "click";
49
63
  const handleToggle = useCallback(() => {
50
- if (!disabled) setVisible(!currentVisible);
51
- }, [disabled, currentVisible, setVisible]);
64
+ if (disabled) return;
65
+ hoverController.cancel();
66
+ setVisible(!currentVisible);
67
+ }, [disabled, currentVisible, setVisible, hoverController]);
52
68
  const handleShow = useCallback(() => {
53
- if (!disabled) setVisible(true);
54
- }, [disabled, setVisible]);
69
+ if (disabled) return;
70
+ if (effectiveTrigger === "hover") {
71
+ hoverController.enter();
72
+ return;
73
+ }
74
+ hoverController.cancel();
75
+ setVisible(true);
76
+ }, [disabled, effectiveTrigger, setVisible, hoverController]);
55
77
  const handleHide = useCallback(() => {
56
- if (!disabled) setVisible(false);
57
- }, [disabled, setVisible]);
58
- const effectiveTrigger = multiTrigger ? trigger : "click";
78
+ if (disabled) return;
79
+ if (effectiveTrigger === "hover") {
80
+ hoverController.leave();
81
+ return;
82
+ }
83
+ hoverController.closeNow();
84
+ }, [disabled, effectiveTrigger, hoverController]);
59
85
  const overlay = useAnchoredOverlay({
60
86
  enabled: currentVisible,
61
87
  referenceRef: triggerRef,
@@ -69,10 +95,24 @@ function usePopup(options) {
69
95
  if (reason === "escape") {
70
96
  closeAndRestoreFocus();
71
97
  } else {
72
- setVisible(false);
98
+ hoverController.closeNow();
73
99
  }
74
100
  }
75
101
  });
102
+ useEffect(() => {
103
+ if (!multiTrigger || effectiveTrigger !== "hover" || !currentVisible) return;
104
+ const el = floatingRef.current;
105
+ if (!el) return;
106
+ const handleEnter = () => hoverController.enter();
107
+ const handleLeave = () => hoverController.leave();
108
+ el.addEventListener("mouseenter", handleEnter);
109
+ el.addEventListener("mouseleave", handleLeave);
110
+ return () => {
111
+ el.removeEventListener("mouseenter", handleEnter);
112
+ el.removeEventListener("mouseleave", handleLeave);
113
+ };
114
+ }, [multiTrigger, effectiveTrigger, currentVisible, hoverController]);
115
+ useEffect(() => () => hoverController.dispose(), [hoverController]);
76
116
  const triggerHandlers = useMemo(() => {
77
117
  if (!multiTrigger) {
78
118
  return { onClick: handleToggle };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  usePopup
3
- } from "./chunk-ZG56T75O.mjs";
3
+ } from "./chunk-WTHWLCRL.mjs";
4
4
  import {
5
5
  renderOverlayPortal
6
6
  } from "./chunk-HKAZXG74.mjs";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  useChartInteraction
3
- } from "./chunk-DNOPEJ5I.mjs";
3
+ } from "./chunk-JZZPLKTW.mjs";
4
4
  import {
5
5
  ChartTooltip
6
6
  } from "./chunk-YORCCCQX.mjs";
7
7
  import {
8
8
  ChartCanvas
9
- } from "./chunk-DKNVSQSV.mjs";
9
+ } from "./chunk-CUAXRBKO.mjs";
10
10
  import {
11
11
  ChartLegend
12
12
  } from "./chunk-F2ITBDUS.mjs";
@@ -87,6 +87,7 @@ var TreeMapChart = ({
87
87
  wrapperClasses
88
88
  } = useChartInteraction({
89
89
  hoverable,
90
+ showTooltip,
90
91
  hoveredIndexProp,
91
92
  selectable,
92
93
  selectedIndexProp,
@@ -200,7 +201,7 @@ var TreeMapChart = ({
200
201
  ] })
201
202
  }
202
203
  );
203
- const tooltip = showTooltip && hoverable ? /* @__PURE__ */ jsx(
204
+ const tooltip = showTooltip ? /* @__PURE__ */ jsx(
204
205
  ChartTooltip,
205
206
  {
206
207
  content: tooltipContent,
@@ -2,6 +2,7 @@
2
2
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
3
3
  import {
4
4
  classNames,
5
+ createProgrammaticScrollLock,
5
6
  createScrollSpyObserver,
6
7
  createScrollSpyPayload,
7
8
  flattenScrollSpyItems,
@@ -42,6 +43,7 @@ var ScrollSpy = ({
42
43
  const activeKeyString = currentActiveKey === void 0 ? "" : getScrollSpyKeyString(currentActiveKey);
43
44
  const getContainerRef = useRef(getContainer);
44
45
  getContainerRef.current = getContainer;
46
+ const scrollLockRef = useRef(createProgrammaticScrollLock(() => getContainerRef.current()));
45
47
  const onActiveKeyChangeRef = useRef(onActiveKeyChange);
46
48
  onActiveKeyChangeRef.current = onActiveKeyChange;
47
49
  const emitActive = useCallback(
@@ -68,15 +70,24 @@ var ScrollSpy = ({
68
70
  offsetTop,
69
71
  targetOffset,
70
72
  bounds,
71
- onChange: (item) => emitActive(item, "scroll")
73
+ onChange: (item) => {
74
+ if (scrollLockRef.current.isLocked()) return;
75
+ emitActive(item, "scroll");
76
+ }
72
77
  });
73
78
  }, [bounds, emitActive, items, offsetTop, targetOffset]);
79
+ useEffect(() => {
80
+ return () => {
81
+ scrollLockRef.current.dispose();
82
+ };
83
+ }, []);
74
84
  const handleClick = useCallback(
75
85
  (item, event) => {
76
86
  event.preventDefault();
77
87
  if (item.disabled) return;
78
88
  onClick?.(item, event);
79
89
  emitActive(item, "click");
90
+ scrollLockRef.current.lock();
80
91
  scrollToScrollSpyItem(item, getContainerRef.current(), targetOffset ?? offsetTop);
81
92
  },
82
93
  [emitActive, offsetTop, onClick, targetOffset]
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Pagination
3
- } from "./chunk-PFL4HNWM.mjs";
3
+ } from "./chunk-M6ZPTGBV.mjs";
4
4
  import {
5
5
  VirtualList
6
6
  } from "./chunk-Y5X3G2LD.mjs";
@@ -0,0 +1,81 @@
1
+ import {
2
+ useTigerConfig
3
+ } from "./chunk-YSIXURBW.mjs";
4
+
5
+ // src/components/Code.tsx
6
+ import { useEffect, useMemo, useState } from "react";
7
+ import {
8
+ codeBlockPreClasses,
9
+ copyTextToClipboard,
10
+ getCodeBlockContainerClasses,
11
+ getCodeBlockCopyButtonClasses,
12
+ getCodeLabels,
13
+ mergeTigerLocale,
14
+ resolveLocaleText
15
+ } from "@expcat/tigercat-core";
16
+ import { jsx, jsxs } from "react/jsx-runtime";
17
+ var Code = ({
18
+ code,
19
+ copyable = true,
20
+ copyLabel,
21
+ copiedLabel,
22
+ copyFailedLabel,
23
+ locale,
24
+ labels: labelsOverride,
25
+ onCopy,
26
+ className,
27
+ ...props
28
+ }) => {
29
+ const config = useTigerConfig();
30
+ const mergedLocale = useMemo(
31
+ () => mergeTigerLocale(config.locale, locale),
32
+ [config.locale, locale]
33
+ );
34
+ const labels = useMemo(
35
+ () => getCodeLabels(mergedLocale, labelsOverride),
36
+ [mergedLocale, labelsOverride]
37
+ );
38
+ const resolvedCopyLabel = resolveLocaleText(labels.copyLabel, copyLabel);
39
+ const resolvedCopiedLabel = resolveLocaleText(labels.copiedLabel, copiedLabel);
40
+ const resolvedCopyFailedLabel = resolveLocaleText(labels.copyFailedLabel, copyFailedLabel);
41
+ const [copyStatus, setCopyStatus] = useState("idle");
42
+ useEffect(() => {
43
+ if (copyStatus === "idle") return;
44
+ const timer = window.setTimeout(() => {
45
+ setCopyStatus("idle");
46
+ }, 1500);
47
+ return () => window.clearTimeout(timer);
48
+ }, [copyStatus]);
49
+ const handleCopy = async () => {
50
+ if (!copyable) return;
51
+ const ok = await copyTextToClipboard(code);
52
+ if (ok) {
53
+ setCopyStatus("copied");
54
+ onCopy?.(code);
55
+ } else {
56
+ setCopyStatus("failed");
57
+ }
58
+ };
59
+ const containerClasses = getCodeBlockContainerClasses(className);
60
+ const copyButtonClasses = getCodeBlockCopyButtonClasses(copyStatus);
61
+ const buttonLabel = copyStatus === "failed" ? resolvedCopyFailedLabel : copyStatus === "copied" ? resolvedCopiedLabel : resolvedCopyLabel;
62
+ return /* @__PURE__ */ jsxs("div", { className: containerClasses, ...props, children: [
63
+ /* @__PURE__ */ jsx("pre", { className: codeBlockPreClasses, children: /* @__PURE__ */ jsx("code", { className: "block", children: code }) }),
64
+ copyable && /* @__PURE__ */ jsx(
65
+ "button",
66
+ {
67
+ type: "button",
68
+ className: copyButtonClasses,
69
+ onClick: handleCopy,
70
+ "aria-label": buttonLabel,
71
+ children: buttonLabel
72
+ }
73
+ )
74
+ ] });
75
+ };
76
+ var Code_default = Code;
77
+
78
+ export {
79
+ Code,
80
+ Code_default
81
+ };
@@ -58,6 +58,9 @@ var CollapsePanel = ({
58
58
  collapseContext.handlePanelClick(panelKey);
59
59
  }
60
60
  }, [disabled, collapseContext, panelKey]);
61
+ const handleExtraClick = useCallback((event) => {
62
+ event.stopPropagation();
63
+ }, []);
61
64
  const handleKeyDown = useCallback(
62
65
  (event) => {
63
66
  if (disabled) {
@@ -119,7 +122,7 @@ var CollapsePanel = ({
119
122
  children: [
120
123
  showArrow && collapseContext.expandIconPosition === "start" && arrowIcon,
121
124
  /* @__PURE__ */ jsx("span", { className: collapseHeaderTextClasses, children: header }),
122
- extra && /* @__PURE__ */ jsx("span", { className: "ml-auto", children: extra }),
125
+ extra && /* @__PURE__ */ jsx("span", { className: "ml-auto", onClick: handleExtraClick, children: extra }),
123
126
  showArrow && collapseContext.expandIconPosition === "end" && arrowIcon
124
127
  ]
125
128
  }
@@ -131,6 +134,10 @@ var CollapsePanel = ({
131
134
  "data-tiger-collapse-content": "",
132
135
  className: collapsePanelContentWrapperClasses,
133
136
  style: initialContentStyleRef.current,
137
+ ...!isActive ? {
138
+ inert: true,
139
+ "aria-hidden": true
140
+ } : {},
134
141
  children: /* @__PURE__ */ jsx("div", { className: collapsePanelContentBaseClasses, children })
135
142
  }
136
143
  )
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  useChartInteraction
3
- } from "./chunk-DNOPEJ5I.mjs";
3
+ } from "./chunk-JZZPLKTW.mjs";
4
4
  import {
5
5
  ChartTooltip
6
6
  } from "./chunk-YORCCCQX.mjs";
7
7
  import {
8
8
  ChartCanvas
9
- } from "./chunk-DKNVSQSV.mjs";
9
+ } from "./chunk-CUAXRBKO.mjs";
10
10
  import {
11
11
  ChartLegend
12
12
  } from "./chunk-F2ITBDUS.mjs";
@@ -86,6 +86,7 @@ var PieChart = ({
86
86
  wrapperClasses
87
87
  } = useChartInteraction({
88
88
  hoverable,
89
+ showTooltip,
89
90
  hoveredIndexProp,
90
91
  selectable,
91
92
  selectedIndexProp,
@@ -288,7 +289,7 @@ var PieChart = ({
288
289
  ChartTooltip,
289
290
  {
290
291
  content: tooltipContent,
291
- open: hoverable && resolvedHoveredIndex !== null && tooltipContent !== "",
292
+ open: resolvedHoveredIndex !== null && tooltipContent !== "",
292
293
  x: tooltipPosition.x,
293
294
  y: tooltipPosition.y
294
295
  }
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-XZVQ3PJS.mjs";
7
7
  import {
8
8
  Loading
9
- } from "./chunk-K4GIKSZE.mjs";
9
+ } from "./chunk-I2BENK5X.mjs";
10
10
  import {
11
11
  Tag
12
12
  } from "./chunk-7EXOY7GD.mjs";
@@ -19,6 +19,9 @@ import {
19
19
  import {
20
20
  Avatar
21
21
  } from "./chunk-OO562MFD.mjs";
22
+ import {
23
+ useTigerConfig
24
+ } from "./chunk-YSIXURBW.mjs";
22
25
 
23
26
  // src/components/ActivityFeed.tsx
24
27
  import { useMemo } from "react";
@@ -26,6 +29,9 @@ import {
26
29
  classNames,
27
30
  buildActivityGroups,
28
31
  formatActivityTime,
32
+ getActivityFeedLabels,
33
+ mergeTigerLocale,
34
+ resolveLocaleText,
29
35
  toActivityTimelineItems,
30
36
  activityItemClasses,
31
37
  activityItemLayoutClasses,
@@ -97,8 +103,10 @@ var ActivityFeed = ({
97
103
  groupBy,
98
104
  groupOrder,
99
105
  loading = false,
100
- loadingText = "\u52A0\u8F7D\u4E2D...",
101
- emptyText = "\u6682\u65E0\u52A8\u6001",
106
+ loadingText,
107
+ emptyText,
108
+ locale,
109
+ labels: labelsOverride,
102
110
  showAvatar = true,
103
111
  showTime = true,
104
112
  showGroupTitle = true,
@@ -107,6 +115,17 @@ var ActivityFeed = ({
107
115
  className,
108
116
  ...props
109
117
  }) => {
118
+ const config = useTigerConfig();
119
+ const mergedLocale = useMemo(
120
+ () => mergeTigerLocale(config.locale, locale),
121
+ [config.locale, locale]
122
+ );
123
+ const labels = useMemo(
124
+ () => getActivityFeedLabels(mergedLocale, labelsOverride),
125
+ [mergedLocale, labelsOverride]
126
+ );
127
+ const resolvedLoadingText = resolveLocaleText(labels.loadingText, loadingText);
128
+ const resolvedEmptyText = resolveLocaleText(labels.emptyText, emptyText);
110
129
  const resolvedGroups = useMemo(
111
130
  () => buildActivityGroups(items, groups, groupBy, groupOrder),
112
131
  [items, groups, groupBy, groupOrder]
@@ -176,7 +195,7 @@ var ActivityFeed = ({
176
195
  {
177
196
  className: wrapperClasses,
178
197
  role: "feed",
179
- "aria-label": "\u52A8\u6001",
198
+ "aria-label": "Activity",
180
199
  "aria-busy": true,
181
200
  ...props,
182
201
  "data-tiger-activity-feed": true,
@@ -186,7 +205,7 @@ var ActivityFeed = ({
186
205
  variant: "bordered",
187
206
  size: "sm",
188
207
  className: classNames("tiger-activity-feed-loading", activityFeedStateCardClasses),
189
- children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ jsx(Loading, { text: loadingText, className: activityFeedLoadingClasses }) })
208
+ children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ jsx(Loading, { text: resolvedLoadingText, className: activityFeedLoadingClasses }) })
190
209
  }
191
210
  )
192
211
  }
@@ -198,7 +217,7 @@ var ActivityFeed = ({
198
217
  {
199
218
  className: wrapperClasses,
200
219
  role: "feed",
201
- "aria-label": "\u52A8\u6001",
220
+ "aria-label": "Activity",
202
221
  ...props,
203
222
  "data-tiger-activity-feed": true,
204
223
  children: /* @__PURE__ */ jsx(
@@ -226,7 +245,7 @@ var ActivityFeed = ({
226
245
  )
227
246
  }
228
247
  ),
229
- /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", color: "muted", className: "font-medium", children: emptyText })
248
+ /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", color: "muted", className: "font-medium", children: resolvedEmptyText })
230
249
  ] })
231
250
  }
232
251
  )
@@ -238,7 +257,7 @@ var ActivityFeed = ({
238
257
  {
239
258
  className: wrapperClasses,
240
259
  role: "feed",
241
- "aria-label": "\u52A8\u6001",
260
+ "aria-label": "Activity",
242
261
  ...props,
243
262
  "data-tiger-activity-feed": true,
244
263
  children: resolvedGroups.map((group, groupIndex) => {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  ActivityFeed,
3
3
  ActivityFeed_default
4
- } from "../chunk-5CKMYMTS.mjs";
4
+ } from "../chunk-ZATZRXMW.mjs";
5
5
  import "../chunk-QB5472NM.mjs";
6
6
  import "../chunk-XZVQ3PJS.mjs";
7
- import "../chunk-K4GIKSZE.mjs";
7
+ import "../chunk-I2BENK5X.mjs";
8
8
  import "../chunk-7EXOY7GD.mjs";
9
9
  import "../chunk-HLS4CHWX.mjs";
10
10
  import "../chunk-IXV5YBCZ.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Affix
3
- } from "../chunk-XMTEMBQV.mjs";
3
+ } from "../chunk-EAAWB3CK.mjs";
4
4
  export {
5
5
  Affix
6
6
  };
@@ -3,7 +3,7 @@ import {
3
3
  AnchorLink,
4
4
  Anchor_default,
5
5
  useAnchorContext
6
- } from "../chunk-IXQAECFP.mjs";
6
+ } from "../chunk-3QNIFKVF.mjs";
7
7
  export {
8
8
  Anchor,
9
9
  AnchorLink,
@@ -1,12 +1,13 @@
1
1
  import {
2
2
  AreaChart,
3
3
  AreaChart_default
4
- } from "../chunk-RQ4PUK6G.mjs";
5
- import "../chunk-DNOPEJ5I.mjs";
4
+ } from "../chunk-R7YZ6FKP.mjs";
5
+ import "../chunk-5JETWHLJ.mjs";
6
+ import "../chunk-JZZPLKTW.mjs";
6
7
  import "../chunk-SDLMB34Y.mjs";
7
8
  import "../chunk-YORCCCQX.mjs";
8
9
  import "../chunk-RQSQXQN6.mjs";
9
- import "../chunk-DKNVSQSV.mjs";
10
+ import "../chunk-CUAXRBKO.mjs";
10
11
  import "../chunk-677VSTPW.mjs";
11
12
  import "../chunk-F2ITBDUS.mjs";
12
13
  export {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AutoComplete
3
- } from "../chunk-2ENQZECC.mjs";
3
+ } from "../chunk-HAXRHSCN.mjs";
4
4
  import "../chunk-HKAZXG74.mjs";
5
5
  import "../chunk-YSIXURBW.mjs";
6
6
  import "../chunk-TGXBCKOU.mjs";
@@ -1,12 +1,13 @@
1
1
  import {
2
2
  BarChart,
3
3
  BarChart_default
4
- } from "../chunk-I4MWOYJS.mjs";
5
- import "../chunk-DNOPEJ5I.mjs";
4
+ } from "../chunk-AYFKHWJS.mjs";
5
+ import "../chunk-5JETWHLJ.mjs";
6
+ import "../chunk-JZZPLKTW.mjs";
6
7
  import "../chunk-SDLMB34Y.mjs";
7
8
  import "../chunk-YORCCCQX.mjs";
8
9
  import "../chunk-RQSQXQN6.mjs";
9
- import "../chunk-DKNVSQSV.mjs";
10
+ import "../chunk-CUAXRBKO.mjs";
10
11
  import "../chunk-677VSTPW.mjs";
11
12
  import "../chunk-F2ITBDUS.mjs";
12
13
  export {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Calendar,
3
3
  Calendar_default
4
- } from "../chunk-BEJZPJIK.mjs";
4
+ } from "../chunk-QOAOOD53.mjs";
5
5
  import "../chunk-YSIXURBW.mjs";
6
6
  import "../chunk-TGXBCKOU.mjs";
7
7
  export {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Cascader
3
- } from "../chunk-UETARXIK.mjs";
3
+ } from "../chunk-SXWEFZOF.mjs";
4
4
  import "../chunk-HKAZXG74.mjs";
5
5
  import "../chunk-YSIXURBW.mjs";
6
6
  import "../chunk-TGXBCKOU.mjs";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ChartCanvas,
3
3
  ChartCanvas_default
4
- } from "../chunk-DKNVSQSV.mjs";
4
+ } from "../chunk-CUAXRBKO.mjs";
5
5
  export {
6
6
  ChartCanvas,
7
7
  ChartCanvas_default as default
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  ChatWindow,
3
3
  ChatWindow_default
4
- } from "../chunk-PXRZ6CKY.mjs";
4
+ } from "../chunk-MJVSZ2UJ.mjs";
5
5
  import "../chunk-Y5X3G2LD.mjs";
6
- import "../chunk-F6WV53BS.mjs";
6
+ import "../chunk-3LDDXHW2.mjs";
7
7
  import "../chunk-F6T3OLTQ.mjs";
8
8
  import "../chunk-W7BC4I2Y.mjs";
9
- import "../chunk-UYJJLHVA.mjs";
9
+ import "../chunk-PMQJ6AYT.mjs";
10
10
  import "../chunk-34VGG7AK.mjs";
11
11
  import "../chunk-MEFARVQI.mjs";
12
12
  import "../chunk-5TE7KLE5.mjs";
@@ -1,7 +1,9 @@
1
1
  import {
2
2
  Code,
3
3
  Code_default
4
- } from "../chunk-KPACLRQH.mjs";
4
+ } from "../chunk-YJ5T4XZN.mjs";
5
+ import "../chunk-YSIXURBW.mjs";
6
+ import "../chunk-TGXBCKOU.mjs";
5
7
  export {
6
8
  Code,
7
9
  Code_default as default
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  CollapsePanel,
3
3
  CollapsePanel_default
4
- } from "../chunk-VVNFXJMN.mjs";
4
+ } from "../chunk-YNDPQVEK.mjs";
5
5
  import "../chunk-Y6557RWE.mjs";
6
6
  export {
7
7
  CollapsePanel,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ColorPicker
3
- } from "../chunk-6MGQAJ62.mjs";
3
+ } from "../chunk-KL6YJIZ3.mjs";
4
4
  import "../chunk-HKAZXG74.mjs";
5
5
  export {
6
6
  ColorPicker
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  CommentThread,
3
3
  CommentThread_default
4
- } from "../chunk-UD4DTVJZ.mjs";
5
- import "../chunk-UYJJLHVA.mjs";
4
+ } from "../chunk-4C2X5PZO.mjs";
5
+ import "../chunk-PMQJ6AYT.mjs";
6
6
  import "../chunk-34VGG7AK.mjs";
7
7
  import "../chunk-MEFARVQI.mjs";
8
8
  import "../chunk-5TE7KLE5.mjs";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DataExport
3
- } from "../chunk-IR7VA6AO.mjs";
4
- import "../chunk-YI6YWH66.mjs";
3
+ } from "../chunk-EG7EMDKK.mjs";
4
+ import "../chunk-RE5ZLA5D.mjs";
5
5
  import "../chunk-HKAZXG74.mjs";
6
6
  import "../chunk-YSIXURBW.mjs";
7
7
  import "../chunk-TGXBCKOU.mjs";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  DataTableWithToolbar,
3
3
  DataTableWithToolbar_default
4
- } from "../chunk-7EMCZVJ2.mjs";
5
- import "../chunk-GCY55TBC.mjs";
4
+ } from "../chunk-QXSUG7SN.mjs";
5
+ import "../chunk-CQOLQAB5.mjs";
6
6
  import "../chunk-KVCI2346.mjs";
7
7
  import "../chunk-IIWUQK2P.mjs";
8
8
  import "../chunk-AKNWUI7K.mjs";
9
- import "../chunk-HOYBHB7B.mjs";
10
- import "../chunk-PFL4HNWM.mjs";
11
- import "../chunk-ZG56T75O.mjs";
12
- import "../chunk-F6WV53BS.mjs";
9
+ import "../chunk-FNK2VWPP.mjs";
10
+ import "../chunk-M6ZPTGBV.mjs";
11
+ import "../chunk-WTHWLCRL.mjs";
12
+ import "../chunk-3LDDXHW2.mjs";
13
13
  import "../chunk-F6T3OLTQ.mjs";
14
14
  import "../chunk-W7BC4I2Y.mjs";
15
15
  import "../chunk-34VGG7AK.mjs";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  DonutChart,
3
3
  DonutChart_default
4
- } from "../chunk-EW5EO7VE.mjs";
5
- import "../chunk-QGZ32NFQ.mjs";
6
- import "../chunk-DNOPEJ5I.mjs";
4
+ } from "../chunk-BYD7EAWK.mjs";
5
+ import "../chunk-Z23KOLNU.mjs";
6
+ import "../chunk-JZZPLKTW.mjs";
7
7
  import "../chunk-YORCCCQX.mjs";
8
- import "../chunk-DKNVSQSV.mjs";
8
+ import "../chunk-CUAXRBKO.mjs";
9
9
  import "../chunk-F2ITBDUS.mjs";
10
10
  export {
11
11
  DonutChart,