@expcat/tigercat-vue 2.0.0-rc.2 → 2.0.4

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 (183) hide show
  1. package/dist/{chunk-KE6RGD4Y.mjs → chunk-26OI3TEA.mjs} +25 -55
  2. package/dist/{chunk-H26JXVJX.mjs → chunk-2T2NEZRZ.mjs} +1 -1
  3. package/dist/chunk-4HUYX5WW.mjs +239 -0
  4. package/dist/{chunk-EGIQPUEL.mjs → chunk-5C32WCQY.mjs} +8 -6
  5. package/dist/{chunk-QFG452MD.mjs → chunk-5RXYJWNA.mjs} +53 -28
  6. package/dist/{chunk-IDUEWMWN.mjs → chunk-7KCOF5US.mjs} +61 -62
  7. package/dist/{chunk-RHV6DWY6.mjs → chunk-7VHXZX7Y.mjs} +20 -28
  8. package/dist/{chunk-36TZA5BH.mjs → chunk-A5QYJSHK.mjs} +0 -3
  9. package/dist/{chunk-IZRQ7LB3.mjs → chunk-AU6IC6K7.mjs} +1 -1
  10. package/dist/{chunk-O6BN5R6J.mjs → chunk-AUMTHL6N.mjs} +1 -1
  11. package/dist/{chunk-MNSVJBNH.mjs → chunk-B4MDHE3L.mjs} +18 -4
  12. package/dist/{chunk-7JT5ZIHC.mjs → chunk-BCU7GYF6.mjs} +16 -8
  13. package/dist/{chunk-7CPMXNLK.mjs → chunk-BNYA5IUB.mjs} +26 -2
  14. package/dist/{chunk-N7LWKAYS.mjs → chunk-BZ6MVFV7.mjs} +190 -174
  15. package/dist/{chunk-TK3QU367.mjs → chunk-DI6RRAGQ.mjs} +3 -3
  16. package/dist/{chunk-4ZZYQITT.mjs → chunk-FWO7RNGI.mjs} +249 -220
  17. package/dist/{chunk-SUORTZUY.mjs → chunk-GS4SV2HK.mjs} +48 -20
  18. package/dist/{chunk-EUSODI5E.mjs → chunk-HKYRRQS7.mjs} +11 -5
  19. package/dist/{chunk-D4APFWWS.mjs → chunk-IPGPLFUZ.mjs} +18 -4
  20. package/dist/{chunk-IMFHJEUX.mjs → chunk-JALHMWKW.mjs} +20 -7
  21. package/dist/{chunk-OHPXOLNB.mjs → chunk-K3WTQBE4.mjs} +40 -15
  22. package/dist/{chunk-VMYV5EWI.mjs → chunk-KICZSLOX.mjs} +9 -8
  23. package/dist/{chunk-BNNTDSLJ.mjs → chunk-KROVW4AW.mjs} +19 -60
  24. package/dist/{chunk-AQMPCLX7.mjs → chunk-NMAJD353.mjs} +248 -253
  25. package/dist/{chunk-4BO6JNA6.mjs → chunk-OAPIT53X.mjs} +4 -4
  26. package/dist/{chunk-SYRRMZT2.mjs → chunk-OQVGB7X6.mjs} +43 -29
  27. package/dist/{chunk-DWK5GUMB.mjs → chunk-OTGGPXDT.mjs} +26 -19
  28. package/dist/{chunk-5KPO3EDM.mjs → chunk-OTHJIFDV.mjs} +28 -15
  29. package/dist/{chunk-DWPZRG7A.mjs → chunk-PGF7HLLR.mjs} +43 -39
  30. package/dist/chunk-Q7Y22OFX.mjs +330 -0
  31. package/dist/{chunk-3NQUEQJT.mjs → chunk-RID7A5V7.mjs} +54 -38
  32. package/dist/{chunk-CFH5T3V2.mjs → chunk-S5RTMAQN.mjs} +2 -2
  33. package/dist/{chunk-SJ7W5I5H.mjs → chunk-TCV6YPH5.mjs} +1 -1
  34. package/dist/{chunk-LFENEILY.mjs → chunk-WC5MKASU.mjs} +110 -99
  35. package/dist/{chunk-JZCETBUV.mjs → chunk-WUQMFKQ6.mjs} +29 -16
  36. package/dist/{chunk-GWFVBG22.mjs → chunk-XGXZF27U.mjs} +28 -15
  37. package/dist/{chunk-JVQPU4M2.mjs → chunk-ZGA66PSG.mjs} +28 -15
  38. package/dist/components/ActivityFeed.d.mts +6 -6
  39. package/dist/components/ActivityFeed.mjs +3 -3
  40. package/dist/components/Alert.d.mts +3 -3
  41. package/dist/components/Anchor.d.mts +1 -1
  42. package/dist/components/AreaChart.d.mts +3 -3
  43. package/dist/components/AreaChart.mjs +1 -1
  44. package/dist/components/AutoComplete.d.mts +5 -5
  45. package/dist/components/AutoComplete.mjs +2 -1
  46. package/dist/components/Avatar.d.mts +1 -1
  47. package/dist/components/AvatarGroup.d.mts +2 -2
  48. package/dist/components/BackTop.d.mts +3 -3
  49. package/dist/components/Badge.d.mts +4 -4
  50. package/dist/components/BarChart.d.mts +2 -2
  51. package/dist/components/BarChart.mjs +1 -1
  52. package/dist/components/Breadcrumb.d.mts +3 -3
  53. package/dist/components/Button.d.mts +3 -3
  54. package/dist/components/ButtonGroup.d.mts +1 -1
  55. package/dist/components/Calendar.d.mts +2 -2
  56. package/dist/components/Card.d.mts +2 -2
  57. package/dist/components/Carousel.d.mts +2 -2
  58. package/dist/components/Cascader.d.mts +3 -3
  59. package/dist/components/Cascader.mjs +2 -1
  60. package/dist/components/ChartCanvas.d.mts +1 -1
  61. package/dist/components/ChartGrid.d.mts +1 -1
  62. package/dist/components/ChartLegend.d.mts +1 -1
  63. package/dist/components/ChatWindow.d.mts +4 -4
  64. package/dist/components/CodeEditor.d.mts +3 -3
  65. package/dist/components/Collapse.d.mts +1 -1
  66. package/dist/components/CollapsePanel.d.mts +1 -1
  67. package/dist/components/ColorPicker.mjs +2 -1
  68. package/dist/components/ColorSwatch.d.mts +2 -2
  69. package/dist/components/CommentThread.d.mts +2 -2
  70. package/dist/components/CommentThread.mjs +1 -1
  71. package/dist/components/ConfigProvider.d.mts +1 -1
  72. package/dist/components/Container.d.mts +1 -1
  73. package/dist/components/Countdown.d.mts +2 -2
  74. package/dist/components/CronEditor.d.mts +2 -2
  75. package/dist/components/CropUpload.d.mts +1 -1
  76. package/dist/components/CropUpload.mjs +4 -4
  77. package/dist/components/DataExport.d.mts +2 -2
  78. package/dist/components/DataExport.mjs +3 -3
  79. package/dist/components/DataTableWithToolbar.d.mts +11 -11
  80. package/dist/components/DataTableWithToolbar.mjs +6 -6
  81. package/dist/components/DatePicker.d.mts +3 -3
  82. package/dist/components/DatePicker.mjs +2 -1
  83. package/dist/components/Descriptions.d.mts +2 -2
  84. package/dist/components/DonutChart.d.mts +4 -4
  85. package/dist/components/Drawer.d.mts +6 -6
  86. package/dist/components/Drawer.mjs +2 -2
  87. package/dist/components/Dropdown.d.mts +2 -2
  88. package/dist/components/Dropdown.mjs +2 -2
  89. package/dist/components/Empty.d.mts +1 -1
  90. package/dist/components/FileManager.d.mts +2 -2
  91. package/dist/components/FloatButton.d.mts +5 -5
  92. package/dist/components/Form.d.mts +2 -2
  93. package/dist/components/FormItem.mjs +2 -1
  94. package/dist/components/FormWizard.d.mts +5 -5
  95. package/dist/components/FunnelChart.d.mts +3 -3
  96. package/dist/components/Gantt.d.mts +2 -2
  97. package/dist/components/GaugeChart.d.mts +2 -2
  98. package/dist/components/HeatmapChart.d.mts +3 -3
  99. package/dist/components/Icon.d.mts +2 -2
  100. package/dist/components/Image.d.mts +2 -2
  101. package/dist/components/Image.mjs +3 -3
  102. package/dist/components/ImageAnnotation.d.mts +5 -5
  103. package/dist/components/ImageCropper.d.mts +1 -1
  104. package/dist/components/ImageCropper.mjs +1 -1
  105. package/dist/components/ImageViewer.d.mts +1 -1
  106. package/dist/components/InfiniteScroll.d.mts +3 -3
  107. package/dist/components/InfiniteScroll.mjs +1 -1
  108. package/dist/components/Input.d.mts +4 -4
  109. package/dist/components/InputGroup.d.mts +1 -1
  110. package/dist/components/InputNumber.d.mts +1 -1
  111. package/dist/components/Kanban.d.mts +1 -1
  112. package/dist/components/LineChart.d.mts +2 -2
  113. package/dist/components/LineChart.mjs +1 -1
  114. package/dist/components/Link.d.mts +1 -1
  115. package/dist/components/List.d.mts +7 -7
  116. package/dist/components/Loading.d.mts +6 -6
  117. package/dist/components/Loading.mjs +2 -2
  118. package/dist/components/MarkdownEditor.d.mts +5 -5
  119. package/dist/components/Mentions.d.mts +3 -3
  120. package/dist/components/Mentions.mjs +2 -1
  121. package/dist/components/Menu.d.mts +4 -4
  122. package/dist/components/Menu.mjs +2 -2
  123. package/dist/components/Modal.d.mts +8 -8
  124. package/dist/components/Modal.mjs +2 -2
  125. package/dist/components/NotificationCenter.d.mts +5 -5
  126. package/dist/components/NotificationCenter.mjs +3 -3
  127. package/dist/components/NumberKeyboard.d.mts +5 -5
  128. package/dist/components/OrgChart.d.mts +3 -3
  129. package/dist/components/Pagination.d.mts +5 -5
  130. package/dist/components/PieChart.d.mts +4 -4
  131. package/dist/components/Popconfirm.d.mts +4 -4
  132. package/dist/components/Popconfirm.mjs +3 -3
  133. package/dist/components/Popover.d.mts +3 -3
  134. package/dist/components/Popover.mjs +3 -3
  135. package/dist/components/Progress.d.mts +3 -3
  136. package/dist/components/QRCode.d.mts +3 -3
  137. package/dist/components/RadarChart.d.mts +3 -3
  138. package/dist/components/Rate.d.mts +2 -2
  139. package/dist/components/Result.d.mts +1 -1
  140. package/dist/components/RichTextEditor.d.mts +4 -4
  141. package/dist/components/Row.d.mts +1 -1
  142. package/dist/components/ScatterChart.d.mts +2 -2
  143. package/dist/components/ScatterChart.mjs +1 -1
  144. package/dist/components/ScrollSpy.d.mts +3 -3
  145. package/dist/components/Select.d.mts +3 -3
  146. package/dist/components/Select.mjs +2 -1
  147. package/dist/components/Signature.d.mts +5 -5
  148. package/dist/components/Skeleton.d.mts +1 -1
  149. package/dist/components/Space.d.mts +2 -2
  150. package/dist/components/Splitter.d.mts +1 -1
  151. package/dist/components/Spotlight.d.mts +5 -5
  152. package/dist/components/Spotlight.mjs +2 -2
  153. package/dist/components/Steps.d.mts +3 -3
  154. package/dist/components/SunburstChart.d.mts +2 -2
  155. package/dist/components/Table.d.mts +5 -5
  156. package/dist/components/Table.mjs +3 -2
  157. package/dist/components/Tabs.d.mts +4 -4
  158. package/dist/components/Tag.d.mts +2 -2
  159. package/dist/components/TaskBoard.d.mts +2 -2
  160. package/dist/components/Text.d.mts +3 -3
  161. package/dist/components/Textarea.d.mts +3 -3
  162. package/dist/components/TimePicker.d.mts +4 -4
  163. package/dist/components/TimePicker.mjs +2 -1
  164. package/dist/components/Timeline.d.mts +4 -4
  165. package/dist/components/Tooltip.d.mts +3 -3
  166. package/dist/components/Tooltip.mjs +3 -3
  167. package/dist/components/Tour.d.mts +2 -2
  168. package/dist/components/Tour.mjs +2 -2
  169. package/dist/components/Transfer.d.mts +3 -3
  170. package/dist/components/Tree.d.mts +4 -4
  171. package/dist/components/TreeMapChart.d.mts +2 -2
  172. package/dist/components/TreeSelect.d.mts +3 -3
  173. package/dist/components/TreeSelect.mjs +2 -1
  174. package/dist/components/Upload.d.mts +4 -4
  175. package/dist/components/Upload.mjs +1 -1
  176. package/dist/components/VirtualTable.d.mts +3 -3
  177. package/dist/components/VirtualTable.mjs +1 -1
  178. package/dist/components/Watermark.d.mts +1 -1
  179. package/dist/index.d.mts +1 -1
  180. package/dist/index.mjs +4 -2
  181. package/package.json +2 -2
  182. package/dist/chunk-BDTPFPSB.mjs +0 -163
  183. package/dist/chunk-EWUHEW6W.mjs +0 -219
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-3MO7A4GU.mjs";
7
7
  import {
8
8
  Loading
9
- } from "./chunk-O6BN5R6J.mjs";
9
+ } from "./chunk-AUMTHL6N.mjs";
10
10
  import {
11
11
  Tag
12
12
  } from "./chunk-342DH5CF.mjs";
@@ -37,6 +37,43 @@ import {
37
37
  activityItemDescriptionClasses,
38
38
  activityItemActionsClasses
39
39
  } from "@expcat/tigercat-core";
40
+
41
+ // ../core/src/internal/activity-feed-styles.ts
42
+ var activityFeedActionClasses = "tiger-motion-aware inline-flex items-center px-2.5 py-1 rounded-[var(--tiger-radius-md,0.5rem)] text-xs font-semibold text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-outline-bg-hover,#eff6ff)] [transition:var(--tiger-transition-base,all_200ms_cubic-bezier(0.4,0,0.2,1))]";
43
+ var activityFeedItemSurfaceClasses = "tiger-motion-aware p-4 rounded-[var(--tiger-radius-xl,1rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] shadow-[var(--tiger-shadow-sm,0_1px_2px_rgb(0_0_0_/_0.05))] [transition:var(--tiger-transition-base,all_200ms_cubic-bezier(0.4,0,0.2,1))] hover:shadow-[var(--tiger-shadow-glass-strong,0_4px_6px_-1px_rgb(0_0_0_/_0.1))] hover:-translate-y-0.5 w-full";
44
+ var activityFeedAvatarClasses = "tiger-motion-aware shrink-0 ring-2 ring-[var(--tiger-surface,#ffffff)] shadow-[var(--tiger-shadow-sm,0_1px_2px_rgb(0_0_0_/_0.05))] [transition:var(--tiger-transition-base,all_200ms_cubic-bezier(0.4,0,0.2,1))] hover:scale-105";
45
+ var activityFeedTitleClasses = "tiger-motion-aware text-[var(--tiger-text,#111827)] hover:text-[var(--tiger-primary,#2563eb)] transition-colors cursor-pointer truncate";
46
+ var activityFeedTimeClasses = "shrink-0 whitespace-nowrap font-medium text-[var(--tiger-text-muted,#6b7280)]";
47
+ var activityFeedDescriptionClasses = "text-[var(--tiger-text-secondary,#4b5563)] leading-relaxed pl-0.5 mt-1";
48
+ var activityFeedStateCardClasses = "bg-[var(--tiger-surface,#ffffff)] border-[var(--tiger-border,#e5e7eb)] rounded-[var(--tiger-radius-xl,1rem)] shadow-[var(--tiger-shadow-sm,0_1px_2px_rgb(0_0_0_/_0.05))] overflow-hidden";
49
+ var activityFeedLoadingClasses = "text-[var(--tiger-primary,#2563eb)] font-medium";
50
+ var activityFeedEmptyIconClasses = "tiger-motion-aware w-12 h-12 text-[var(--tiger-text-muted,#9ca3af)] mb-3 animate-pulse";
51
+ var activityFeedGroupMarkerClasses = "w-1.5 h-3.5 bg-[var(--tiger-primary,#2563eb)] rounded-full shadow-sm";
52
+ var activityFeedGroupTitleClasses = "text-[var(--tiger-text,#111827)] uppercase tracking-wider";
53
+ var activityFeedDotBaseClasses = "w-3 h-3 rounded-full border-2 border-[var(--tiger-surface,#ffffff)] shadow-sm relative z-10";
54
+ var activityFeedDotPulseBaseClasses = "tiger-motion-aware absolute inline-flex h-full w-full rounded-full animate-ping opacity-75";
55
+ var dotVariantClasses = {
56
+ success: "bg-[var(--tiger-success,#16a34a)]",
57
+ warning: "bg-[var(--tiger-warning,#d97706)]",
58
+ error: "bg-[var(--tiger-error,#dc2626)]",
59
+ danger: "bg-[var(--tiger-error,#dc2626)]",
60
+ primary: "bg-[var(--tiger-primary,#2563eb)]",
61
+ info: "bg-[var(--tiger-primary,#2563eb)]"
62
+ };
63
+ var dotPulseVariantClasses = {
64
+ success: "bg-[var(--tiger-success,#16a34a)]/30",
65
+ warning: "bg-[var(--tiger-warning,#d97706)]/30",
66
+ error: "bg-[var(--tiger-error,#dc2626)]/30",
67
+ danger: "bg-[var(--tiger-error,#dc2626)]/30",
68
+ primary: "bg-[var(--tiger-primary,#2563eb)]/30",
69
+ info: "bg-[var(--tiger-primary,#2563eb)]/30"
70
+ };
71
+ var getActivityFeedDotClasses = (variant) => ({
72
+ dot: dotVariantClasses[variant ?? ""] ?? "bg-[var(--tiger-border,#d1d5db)]",
73
+ pulse: dotPulseVariantClasses[variant ?? ""] ?? ""
74
+ });
75
+
76
+ // src/components/ActivityFeed.ts
40
77
  var renderAction = (item, action, index) => {
41
78
  const key = action.key ?? `${item.id}-action-${index}`;
42
79
  return h(
@@ -49,7 +86,7 @@ var renderAction = (item, action, index) => {
49
86
  href: action.href,
50
87
  target: action.target,
51
88
  disabled: action.disabled,
52
- className: "inline-flex items-center px-2.5 py-1 rounded-lg hover:bg-blue-50/50 dark:hover:bg-blue-950/20 text-xs font-semibold transition-all duration-200",
89
+ className: activityFeedActionClasses,
53
90
  onClick: () => action.onClick?.(item, action)
54
91
  },
55
92
  {
@@ -140,10 +177,7 @@ var ActivityFeed = defineComponent({
140
177
  return h(
141
178
  "div",
142
179
  {
143
- class: classNames(
144
- activityItemClasses,
145
- "p-4 rounded-2xl border border-gray-100/70 dark:border-gray-800/40 bg-white/40 dark:bg-gray-900/15 backdrop-blur-sm shadow-sm transition-all duration-300 hover:shadow-md hover:shadow-gray-100/30 dark:hover:shadow-none hover:bg-white dark:hover:bg-gray-900/30 hover:-translate-y-0.5 w-full"
146
- )
180
+ class: classNames(activityItemClasses, activityFeedItemSurfaceClasses)
147
181
  },
148
182
  [
149
183
  h("div", { class: activityItemLayoutClasses }, [
@@ -151,7 +185,7 @@ var ActivityFeed = defineComponent({
151
185
  size: "sm",
152
186
  src: item.user.avatar,
153
187
  text: item.user.name,
154
- className: "shrink-0 ring-2 ring-white dark:ring-gray-900 shadow-sm transition-transform hover:scale-105 duration-200"
188
+ className: activityFeedAvatarClasses
155
189
  }) : null,
156
190
  h("div", { class: activityItemBodyClasses }, [
157
191
  h("div", { class: activityItemHeaderClasses }, [
@@ -162,7 +196,7 @@ var ActivityFeed = defineComponent({
162
196
  tag: "div",
163
197
  size: "sm",
164
198
  weight: "semibold",
165
- class: "text-gray-900 dark:text-gray-100 hover:text-blue-600 dark:hover:text-blue-400 transition-colors cursor-pointer truncate"
199
+ class: activityFeedTitleClasses
166
200
  },
167
201
  { default: () => titleText }
168
202
  ) : null,
@@ -182,7 +216,7 @@ var ActivityFeed = defineComponent({
182
216
  tag: "div",
183
217
  size: "xs",
184
218
  color: "muted",
185
- class: "shrink-0 whitespace-nowrap font-medium text-gray-400 dark:text-gray-500"
219
+ class: activityFeedTimeClasses
186
220
  },
187
221
  { default: () => timeText }
188
222
  ) : null
@@ -195,7 +229,7 @@ var ActivityFeed = defineComponent({
195
229
  color: "muted",
196
230
  class: classNames(
197
231
  activityItemDescriptionClasses,
198
- "text-gray-600 dark:text-gray-300 leading-relaxed pl-0.5 mt-1"
232
+ activityFeedDescriptionClasses
199
233
  )
200
234
  },
201
235
  { default: () => descriptionText }
@@ -219,7 +253,7 @@ var ActivityFeed = defineComponent({
219
253
  if (props.loading) {
220
254
  const loadingNode = slots.loading ? slots.loading() : h(Loading, {
221
255
  text: props.loadingText,
222
- class: "text-blue-500 dark:text-blue-400 font-medium"
256
+ class: activityFeedLoadingClasses
223
257
  });
224
258
  return h(
225
259
  "div",
@@ -238,7 +272,7 @@ var ActivityFeed = defineComponent({
238
272
  {
239
273
  variant: "bordered",
240
274
  size: "sm",
241
- className: "tiger-activity-feed-loading bg-white/40 dark:bg-gray-900/20 border-gray-100 dark:border-gray-800/80 backdrop-blur-sm rounded-2xl shadow-sm overflow-hidden"
275
+ className: classNames("tiger-activity-feed-loading", activityFeedStateCardClasses)
242
276
  },
243
277
  {
244
278
  default: () => h("div", { class: "flex items-center justify-center py-8" }, loadingNode)
@@ -252,7 +286,7 @@ var ActivityFeed = defineComponent({
252
286
  h(
253
287
  "svg",
254
288
  {
255
- class: "w-12 h-12 text-gray-300 dark:text-gray-600 mb-3 animate-pulse",
289
+ class: activityFeedEmptyIconClasses,
256
290
  fill: "none",
257
291
  viewBox: "0 0 24 24",
258
292
  stroke: "currentColor",
@@ -288,7 +322,7 @@ var ActivityFeed = defineComponent({
288
322
  {
289
323
  variant: "bordered",
290
324
  size: "sm",
291
- className: "tiger-activity-feed-empty bg-white/40 dark:bg-gray-900/20 border-gray-100 dark:border-gray-800/80 backdrop-blur-sm rounded-2xl shadow-sm overflow-hidden"
325
+ className: classNames("tiger-activity-feed-empty", activityFeedStateCardClasses)
292
326
  },
293
327
  {
294
328
  default: () => emptyNode
@@ -314,7 +348,7 @@ var ActivityFeed = defineComponent({
314
348
  return h("div", { key: group.key ?? groupIndex, class: "space-y-3" }, [
315
349
  props.showGroupTitle && groupTitle ? headerNode ?? h("div", { class: "flex items-center gap-2 mb-2" }, [
316
350
  h("span", {
317
- class: "w-1.5 h-3.5 bg-blue-500 rounded-full dark:bg-blue-400 shadow-sm shadow-blue-500/20"
351
+ class: activityFeedGroupMarkerClasses
318
352
  }),
319
353
  h(
320
354
  Text,
@@ -322,7 +356,7 @@ var ActivityFeed = defineComponent({
322
356
  tag: "span",
323
357
  size: "sm",
324
358
  weight: "bold",
325
- class: "text-gray-900 dark:text-gray-100 uppercase tracking-wider"
359
+ class: activityFeedGroupTitleClasses
326
360
  },
327
361
  { default: () => groupTitle }
328
362
  )
@@ -331,33 +365,15 @@ var ActivityFeed = defineComponent({
331
365
  Timeline,
332
366
  {
333
367
  items: timelineItems,
334
- style: {
335
- "--tiger-border": "rgba(156, 163, 175, 0.18)"
336
- },
337
368
  renderDot: (timelineItem) => {
338
369
  const activity = timelineItem.activity;
339
370
  const statusVariant = activity?.status?.variant ?? "default";
340
- const baseDotClass = "w-3 h-3 rounded-full border-2 border-white dark:border-gray-950 shadow-sm";
341
- let colorClass = "bg-gray-300 dark:bg-gray-700";
342
- let pulseClass = "";
343
- if (statusVariant === "success") {
344
- colorClass = "bg-emerald-500";
345
- pulseClass = "bg-emerald-500/30";
346
- } else if (statusVariant === "warning") {
347
- colorClass = "bg-amber-500";
348
- pulseClass = "bg-amber-500/30";
349
- } else if (statusVariant === "error" || statusVariant === "danger") {
350
- colorClass = "bg-rose-500";
351
- pulseClass = "bg-rose-500/30";
352
- } else if (statusVariant === "primary" || statusVariant === "info") {
353
- colorClass = "bg-blue-500";
354
- pulseClass = "bg-blue-500/30";
355
- }
371
+ const dotClasses = getActivityFeedDotClasses(statusVariant);
356
372
  return h("div", { class: "relative flex items-center justify-center w-4 h-4" }, [
357
- pulseClass ? h("span", {
358
- class: `absolute inline-flex h-full w-full rounded-full animate-ping opacity-75 ${pulseClass}`
373
+ dotClasses.pulse ? h("span", {
374
+ class: `${activityFeedDotPulseBaseClasses} ${dotClasses.pulse}`
359
375
  }) : null,
360
- h("span", { class: `${baseDotClass} ${colorClass} relative z-10` })
376
+ h("span", { class: `${activityFeedDotBaseClasses} ${dotClasses.dot}` })
361
377
  ]);
362
378
  }
363
379
  },
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  Modal
3
- } from "./chunk-D4APFWWS.mjs";
3
+ } from "./chunk-IPGPLFUZ.mjs";
4
4
  import {
5
5
  ImageCropper
6
- } from "./chunk-7JT5ZIHC.mjs";
6
+ } from "./chunk-BCU7GYF6.mjs";
7
7
  import {
8
8
  Button
9
9
  } from "./chunk-YZBQ6IR7.mjs";
@@ -3,7 +3,7 @@ import {
3
3
  useVueBodyScrollLock,
4
4
  useVueEscapeKey,
5
5
  useVueFocusTrap
6
- } from "./chunk-BDTPFPSB.mjs";
6
+ } from "./chunk-Q7Y22OFX.mjs";
7
7
  import {
8
8
  useTigerConfig
9
9
  } from "./chunk-UOJOJBEU.mjs";
@@ -1,9 +1,13 @@
1
+ import {
2
+ renderVueOverlayTeleport,
3
+ useVueAnchoredOverlay
4
+ } from "./chunk-Q7Y22OFX.mjs";
1
5
  import {
2
6
  useTigerConfig
3
7
  } from "./chunk-UOJOJBEU.mjs";
4
8
 
5
9
  // src/components/TreeSelect.ts
6
- import { defineComponent, h, ref, computed, watch, onBeforeUnmount } from "vue";
10
+ import { defineComponent, h, ref, computed } from "vue";
7
11
  import {
8
12
  treeSelectBaseClasses,
9
13
  treeSelectDropdownClasses,
@@ -130,6 +134,21 @@ var TreeSelect = defineComponent({
130
134
  const uncontrolledSearchValue = ref(props.defaultSearchValue);
131
135
  const searchQuery = computed(() => props.searchValue ?? uncontrolledSearchValue.value);
132
136
  const containerRef = ref(null);
137
+ const triggerRef = ref(null);
138
+ const dropdownRef = ref(null);
139
+ const overlay = useVueAnchoredOverlay({
140
+ enabled: isOpen,
141
+ referenceRef: triggerRef,
142
+ floatingRef: dropdownRef,
143
+ containerRef,
144
+ placement: "bottom-start",
145
+ offset: 4,
146
+ matchReferenceWidth: true,
147
+ dismissOnOutside: true,
148
+ dismissOnEscape: true,
149
+ restoreFocusOnDismiss: true,
150
+ onDismiss: closeDropdown
151
+ });
133
152
  const expandedKeys = ref(
134
153
  props.defaultExpandAll ? new Set(getAllTreeSelectKeys(props.treeData)) : /* @__PURE__ */ new Set()
135
154
  );
@@ -222,21 +241,6 @@ var TreeSelect = defineComponent({
222
241
  closeDropdown();
223
242
  }
224
243
  }
225
- function handleClickOutside(e) {
226
- if (containerRef.value && !containerRef.value.contains(e.target)) {
227
- closeDropdown();
228
- }
229
- }
230
- watch(isOpen, (val) => {
231
- if (val) {
232
- document.addEventListener("click", handleClickOutside);
233
- } else {
234
- document.removeEventListener("click", handleClickOutside);
235
- }
236
- });
237
- onBeforeUnmount(() => {
238
- document.removeEventListener("click", handleClickOutside);
239
- });
240
244
  return () => {
241
245
  const containerClasses = classNames(treeSelectBaseClasses, coerceClassValue(attrs.class));
242
246
  return h("div", { ref: containerRef, class: containerClasses }, [
@@ -244,6 +248,7 @@ var TreeSelect = defineComponent({
244
248
  h(
245
249
  "button",
246
250
  {
251
+ ref: triggerRef,
247
252
  type: "button",
248
253
  class: getTreeSelectTriggerClasses(props.size, props.disabled, isOpen.value),
249
254
  ...getPickerComboboxAria({ expanded: isOpen.value, listboxId }),
@@ -284,91 +289,97 @@ var TreeSelect = defineComponent({
284
289
  ]
285
290
  ),
286
291
  // Dropdown
287
- isOpen.value ? h(
288
- "div",
289
- {
290
- ...getPickerListboxAria({ id: listboxId }),
291
- class: treeSelectDropdownClasses
292
- },
293
- [
294
- // Search
295
- props.searchable ? h("input", {
296
- type: "text",
297
- class: treeSelectSearchClasses,
298
- placeholder: resolveLocaleText(
299
- "Search...",
300
- mergedLocale.value?.common?.searchPlaceholder
301
- ),
302
- value: searchQuery.value,
303
- "aria-label": resolveLocaleText(
304
- "Search tree",
305
- mergedLocale.value?.common?.searchPlaceholder
306
- ),
307
- onInput: (e) => updateSearchValue(e.target.value)
308
- }) : null,
309
- // Tree nodes
310
- visibleNodes.value.length > 0 ? visibleNodes.value.map((flatNode) => {
311
- const { node, level, hasChildren, isExpanded } = flatNode;
312
- const selected = isSelected(node.key);
313
- const indent = level * 20;
314
- return h(
292
+ isOpen.value ? renderVueOverlayTeleport(
293
+ h(
294
+ "div",
295
+ {
296
+ ref: dropdownRef,
297
+ ...getPickerListboxAria({ id: listboxId }),
298
+ class: classNames(treeSelectDropdownClasses, overlay.floatingClasses.value),
299
+ style: overlay.floatingStyles.value,
300
+ "data-positioned": overlay.positioned.value
301
+ },
302
+ [
303
+ // Search
304
+ props.searchable ? h("input", {
305
+ type: "text",
306
+ class: treeSelectSearchClasses,
307
+ placeholder: resolveLocaleText(
308
+ "Search...",
309
+ mergedLocale.value?.common?.searchPlaceholder
310
+ ),
311
+ value: searchQuery.value,
312
+ "aria-label": resolveLocaleText(
313
+ "Search tree",
314
+ mergedLocale.value?.common?.searchPlaceholder
315
+ ),
316
+ onInput: (e) => updateSearchValue(e.target.value)
317
+ }) : null,
318
+ // Tree nodes
319
+ visibleNodes.value.length > 0 ? visibleNodes.value.map((flatNode) => {
320
+ const { node, level, hasChildren, isExpanded } = flatNode;
321
+ const selected = isSelected(node.key);
322
+ const indent = level * 20;
323
+ return h(
324
+ "div",
325
+ {
326
+ key: node.key,
327
+ ...getPickerOptionAria({ selected, disabled: !!node.disabled }),
328
+ class: getTreeSelectNodeClasses(selected, !!node.disabled, props.size),
329
+ style: { paddingLeft: `${indent + 8}px` },
330
+ onClick: (e) => {
331
+ e.stopPropagation();
332
+ handleNodeSelect(node);
333
+ }
334
+ },
335
+ [
336
+ // Expand toggle
337
+ hasChildren ? h(
338
+ "span",
339
+ {
340
+ class: classNames(
341
+ "inline-flex items-center justify-center w-4 h-4 mr-1 transition-transform",
342
+ isExpanded ? "rotate-90" : ""
343
+ ),
344
+ onClick: (e) => {
345
+ e.stopPropagation();
346
+ toggleExpand(node.key);
347
+ }
348
+ },
349
+ [
350
+ h(
351
+ "svg",
352
+ {
353
+ class: "w-3 h-3",
354
+ viewBox: icon20ViewBox,
355
+ fill: "currentColor"
356
+ },
357
+ [
358
+ h("path", {
359
+ d: chevronRightSolidIcon20PathD,
360
+ "fill-rule": "evenodd",
361
+ "clip-rule": "evenodd"
362
+ })
363
+ ]
364
+ )
365
+ ]
366
+ ) : h("span", { class: "w-4 mr-1" }),
367
+ // Label
368
+ h("span", { class: "flex-1 truncate" }, node.label)
369
+ ]
370
+ );
371
+ }) : h(
315
372
  "div",
316
- {
317
- key: node.key,
318
- ...getPickerOptionAria({ selected, disabled: !!node.disabled }),
319
- class: getTreeSelectNodeClasses(selected, !!node.disabled, props.size),
320
- style: { paddingLeft: `${indent + 8}px` },
321
- onClick: (e) => {
322
- e.stopPropagation();
323
- handleNodeSelect(node);
324
- }
325
- },
326
- [
327
- // Expand toggle
328
- hasChildren ? h(
329
- "span",
330
- {
331
- class: classNames(
332
- "inline-flex items-center justify-center w-4 h-4 mr-1 transition-transform",
333
- isExpanded ? "rotate-90" : ""
334
- ),
335
- onClick: (e) => {
336
- e.stopPropagation();
337
- toggleExpand(node.key);
338
- }
339
- },
340
- [
341
- h(
342
- "svg",
343
- {
344
- class: "w-3 h-3",
345
- viewBox: icon20ViewBox,
346
- fill: "currentColor"
347
- },
348
- [
349
- h("path", {
350
- d: chevronRightSolidIcon20PathD,
351
- "fill-rule": "evenodd",
352
- "clip-rule": "evenodd"
353
- })
354
- ]
355
- )
356
- ]
357
- ) : h("span", { class: "w-4 mr-1" }),
358
- // Label
359
- h("span", { class: "flex-1 truncate" }, node.label)
360
- ]
361
- );
362
- }) : h(
363
- "div",
364
- { class: treeSelectEmptyClasses },
365
- resolveLocaleText(
366
- "No data",
367
- props.emptyText,
368
- mergedLocale.value?.common?.emptyText
373
+ { class: treeSelectEmptyClasses },
374
+ resolveLocaleText(
375
+ "No data",
376
+ props.emptyText,
377
+ mergedLocale.value?.common?.emptyText
378
+ )
369
379
  )
370
- )
371
- ]
380
+ ]
381
+ ),
382
+ overlay.target.value
372
383
  ) : null
373
384
  ]);
374
385
  };
@@ -349,23 +349,36 @@ var ScatterChart = defineComponent({
349
349
  y: tooltipPosition.value.y
350
350
  }) : null;
351
351
  if (!props.showLegend) {
352
- return h("div", { class: "inline-block relative" }, [chart, tooltip]);
352
+ return h(
353
+ "div",
354
+ {
355
+ class: classNames(
356
+ "relative",
357
+ props.responsive ? "block w-full min-w-0" : "inline-block"
358
+ )
359
+ },
360
+ [chart, tooltip]
361
+ );
353
362
  }
354
- return h("div", { class: wrapperClasses.value }, [
355
- chart,
356
- h(ChartLegend, {
357
- items: legendItems.value,
358
- position: props.legendPosition,
359
- markerSize: props.legendMarkerSize,
360
- gap: props.legendGap,
361
- ariaLabel: labels.value.legendAriaLabel,
362
- interactive: props.hoverable || props.selectable,
363
- onItemClick: handleLegendClick,
364
- onItemHover: handleLegendHover,
365
- onItemLeave: handleLegendLeave
366
- }),
367
- tooltip
368
- ]);
363
+ return h(
364
+ "div",
365
+ { class: classNames(wrapperClasses.value, props.responsive && "w-full min-w-0") },
366
+ [
367
+ chart,
368
+ h(ChartLegend, {
369
+ items: legendItems.value,
370
+ position: props.legendPosition,
371
+ markerSize: props.legendMarkerSize,
372
+ gap: props.legendGap,
373
+ ariaLabel: labels.value.legendAriaLabel,
374
+ interactive: props.hoverable || props.selectable,
375
+ onItemClick: handleLegendClick,
376
+ onItemHover: handleLegendHover,
377
+ onItemLeave: handleLegendLeave
378
+ }),
379
+ tooltip
380
+ ]
381
+ );
369
382
  };
370
383
  }
371
384
  });
@@ -673,22 +673,35 @@ var LineChart = defineComponent({
673
673
  y: tooltipPosition.value.y
674
674
  }) : null;
675
675
  if (!props.showLegend) {
676
- return h("div", { class: "inline-block relative" }, [chart, tooltip]);
676
+ return h(
677
+ "div",
678
+ {
679
+ class: classNames(
680
+ "relative",
681
+ props.responsive ? "block w-full min-w-0" : "inline-block"
682
+ )
683
+ },
684
+ [chart, tooltip]
685
+ );
677
686
  }
678
- return h("div", { class: wrapperClasses.value }, [
679
- chart,
680
- h(ChartLegend, {
681
- items: legendItems.value,
682
- position: props.legendPosition,
683
- markerSize: props.legendMarkerSize,
684
- gap: props.legendGap,
685
- interactive: props.hoverable || props.selectable,
686
- onItemClick: handleLegendClick,
687
- onItemHover: handleLegendHover,
688
- onItemLeave: handleLegendLeave
689
- }),
690
- tooltip
691
- ]);
687
+ return h(
688
+ "div",
689
+ { class: classNames(wrapperClasses.value, props.responsive && "w-full min-w-0") },
690
+ [
691
+ chart,
692
+ h(ChartLegend, {
693
+ items: legendItems.value,
694
+ position: props.legendPosition,
695
+ markerSize: props.legendMarkerSize,
696
+ gap: props.legendGap,
697
+ interactive: props.hoverable || props.selectable,
698
+ onItemClick: handleLegendClick,
699
+ onItemHover: handleLegendHover,
700
+ onItemLeave: handleLegendLeave
701
+ }),
702
+ tooltip
703
+ ]
704
+ );
692
705
  };
693
706
  }
694
707
  });
@@ -717,22 +717,35 @@ var AreaChart = defineComponent({
717
717
  y: tooltipPosition.value.y
718
718
  }) : null;
719
719
  if (!props.showLegend) {
720
- return h("div", { class: "inline-block relative" }, [chart, tooltip]);
720
+ return h(
721
+ "div",
722
+ {
723
+ class: classNames(
724
+ "relative",
725
+ props.responsive ? "block w-full min-w-0" : "inline-block"
726
+ )
727
+ },
728
+ [chart, tooltip]
729
+ );
721
730
  }
722
- return h("div", { class: wrapperClasses.value }, [
723
- chart,
724
- h(ChartLegend, {
725
- items: legendItems.value,
726
- position: props.legendPosition,
727
- markerSize: props.legendMarkerSize,
728
- gap: props.legendGap,
729
- interactive: props.hoverable || props.selectable,
730
- onItemClick: handleSeriesSelect,
731
- onItemHover: handleSeriesHoverEnter,
732
- onItemLeave: handleSeriesHoverLeave
733
- }),
734
- tooltip
735
- ]);
731
+ return h(
732
+ "div",
733
+ { class: classNames(wrapperClasses.value, props.responsive && "w-full min-w-0") },
734
+ [
735
+ chart,
736
+ h(ChartLegend, {
737
+ items: legendItems.value,
738
+ position: props.legendPosition,
739
+ markerSize: props.legendMarkerSize,
740
+ gap: props.legendGap,
741
+ interactive: props.hoverable || props.selectable,
742
+ onItemClick: handleSeriesSelect,
743
+ onItemHover: handleSeriesHoverEnter,
744
+ onItemLeave: handleSeriesHoverLeave
745
+ }),
746
+ tooltip
747
+ ]
748
+ );
736
749
  };
737
750
  }
738
751
  });
@@ -107,18 +107,18 @@ declare const ActivityFeed: vue.DefineComponent<vue.ExtractPropTypes<{
107
107
  default: undefined;
108
108
  };
109
109
  }>> & Readonly<{}>, {
110
+ loadingText: string;
111
+ emptyText: string;
112
+ className: string;
113
+ style: Record<string, string | number>;
114
+ loading: boolean;
115
+ groupBy: (item: ActivityItem) => string;
110
116
  items: ActivityItem[];
111
117
  groups: ActivityGroup[];
112
- groupBy: (item: ActivityItem) => string;
113
118
  groupOrder: string[];
114
- loading: boolean;
115
- loadingText: string;
116
- emptyText: string;
117
119
  showAvatar: boolean;
118
120
  showTime: boolean;
119
121
  showGroupTitle: boolean;
120
- className: string;
121
- style: Record<string, string | number>;
122
122
  }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
123
123
 
124
124
  export { ActivityFeed, type VueActivityFeedProps, ActivityFeed as default };