@expcat/tigercat-react 1.2.23 → 1.2.30

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 (51) hide show
  1. package/dist/{chunk-7YUD6VIC.js → chunk-4LBTPCGE.js} +47 -16
  2. package/dist/{chunk-MMGZEG7G.mjs → chunk-56DP32W7.mjs} +93 -45
  3. package/dist/{chunk-36WZNVQ5.mjs → chunk-5XE5VBDS.mjs} +2 -3
  4. package/dist/{chunk-2DH6MGC6.js → chunk-7KPALCG3.js} +11 -7
  5. package/dist/{chunk-LKKZLYCA.mjs → chunk-CPNDCACQ.mjs} +1 -1
  6. package/dist/{chunk-T7ACOL7K.mjs → chunk-E43YLPOJ.mjs} +64 -15
  7. package/dist/{chunk-XHT2VIDR.js → chunk-FXVKJWUP.js} +19 -9
  8. package/dist/{chunk-RUZQN7X3.js → chunk-FZIF5LZW.js} +52 -25
  9. package/dist/{chunk-X37Q7VME.mjs → chunk-GYFR2O27.mjs} +11 -7
  10. package/dist/chunk-I5YYA7FB.mjs +244 -0
  11. package/dist/{chunk-3FEFHD3E.mjs → chunk-IUOTJ73N.mjs} +1 -0
  12. package/dist/{chunk-EX63M5ID.js → chunk-JCINYGGM.js} +93 -45
  13. package/dist/{chunk-CSH2QOOH.js → chunk-K5B4XXAI.js} +2 -2
  14. package/dist/{chunk-UE52NMPO.js → chunk-KTV3ZDSQ.js} +1 -0
  15. package/dist/{chunk-5EZWYEGJ.js → chunk-KYOO6JCF.js} +67 -18
  16. package/dist/{chunk-XPA2YCQO.js → chunk-M7HBWFQO.js} +1 -2
  17. package/dist/{chunk-6CAKUMWV.mjs → chunk-OXPKFDG6.mjs} +46 -15
  18. package/dist/{chunk-DTYDPMNR.js → chunk-P4INKEQ3.js} +76 -9
  19. package/dist/{chunk-5XS6PXBX.mjs → chunk-PKWHSCFK.mjs} +52 -25
  20. package/dist/{chunk-J5R4Q2QM.mjs → chunk-UQOMRXTD.mjs} +74 -7
  21. package/dist/chunk-UVWLYRAC.js +244 -0
  22. package/dist/{chunk-ZB55SAGI.mjs → chunk-WWDCH2XX.mjs} +19 -9
  23. package/dist/components/ActivityFeed.js +2 -2
  24. package/dist/components/ActivityFeed.mjs +1 -1
  25. package/dist/components/ChatWindow.js +3 -2
  26. package/dist/components/ChatWindow.mjs +2 -1
  27. package/dist/components/CommentThread.js +2 -2
  28. package/dist/components/CommentThread.mjs +1 -1
  29. package/dist/components/CropUpload.js +2 -2
  30. package/dist/components/CropUpload.mjs +1 -1
  31. package/dist/components/DataTableWithToolbar.js +4 -3
  32. package/dist/components/DataTableWithToolbar.mjs +3 -2
  33. package/dist/components/FormWizard.js +3 -3
  34. package/dist/components/FormWizard.mjs +2 -2
  35. package/dist/components/Kanban.js +3 -3
  36. package/dist/components/Kanban.mjs +2 -2
  37. package/dist/components/NotificationCenter.js +2 -2
  38. package/dist/components/NotificationCenter.mjs +1 -1
  39. package/dist/components/Steps.js +2 -2
  40. package/dist/components/Steps.mjs +1 -1
  41. package/dist/components/StepsItem.js +2 -2
  42. package/dist/components/StepsItem.mjs +1 -1
  43. package/dist/components/Table.js +3 -2
  44. package/dist/components/Table.mjs +2 -1
  45. package/dist/components/TaskBoard.js +2 -2
  46. package/dist/components/TaskBoard.mjs +1 -1
  47. package/dist/index.js +15 -15
  48. package/dist/index.mjs +14 -14
  49. package/package.json +2 -2
  50. package/dist/chunk-DXMSDLVJ.js +0 -168
  51. package/dist/chunk-GBJILZTY.mjs +0 -168
@@ -1,168 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
-
3
- var _chunkPR3PQUKMjs = require('./chunk-PR3PQUKM.js');
4
-
5
-
6
- var _chunk3MRP3XYIjs = require('./chunk-3MRP3XYI.js');
7
-
8
-
9
- var _chunkQYYAXM5Fjs = require('./chunk-QYYAXM5F.js');
10
-
11
-
12
- var _chunkVCULFIZ5js = require('./chunk-VCULFIZ5.js');
13
-
14
-
15
- var _chunkUF3DXKCIjs = require('./chunk-UF3DXKCI.js');
16
-
17
-
18
- var _chunkUIO6O4MIjs = require('./chunk-UIO6O4MI.js');
19
-
20
-
21
- var _chunk4MQCUKICjs = require('./chunk-4MQCUKIC.js');
22
-
23
- // src/components/ActivityFeed.tsx
24
- var _react = require('react');
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
- var _tigercatcore = require('@expcat/tigercat-core');
38
- var _jsxruntime = require('react/jsx-runtime');
39
- var renderAction = (item, action, index) => {
40
- const key = _nullishCoalesce(action.key, () => ( `${item.id}-action-${index}`));
41
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42
- _chunkQYYAXM5Fjs.Link,
43
- {
44
- size: "sm",
45
- variant: "primary",
46
- href: action.href,
47
- target: action.target,
48
- disabled: action.disabled,
49
- onClick: () => _optionalChain([action, 'access', _ => _.onClick, 'optionalCall', _2 => _2(item, action)]),
50
- children: action.label
51
- },
52
- key
53
- );
54
- };
55
- var ActivityFeed = ({
56
- items = [],
57
- groups,
58
- groupBy,
59
- groupOrder,
60
- loading = false,
61
- loadingText = "\u52A0\u8F7D\u4E2D...",
62
- emptyText = "\u6682\u65E0\u52A8\u6001",
63
- showAvatar = true,
64
- showTime = true,
65
- showGroupTitle = true,
66
- renderItem,
67
- renderGroupHeader,
68
- className,
69
- ...props
70
- }) => {
71
- const resolvedGroups = _react.useMemo.call(void 0,
72
- () => _tigercatcore.buildActivityGroups.call(void 0, items, groups, groupBy, groupOrder),
73
- [items, groups, groupBy, groupOrder]
74
- );
75
- const wrapperClasses = _tigercatcore.classNames.call(void 0,
76
- "tiger-activity-feed",
77
- "flex",
78
- "flex-col",
79
- "gap-6",
80
- "w-full",
81
- className
82
- );
83
- const renderDefaultItem = (item, index, group) => {
84
- if (renderItem) return renderItem(item, index, group);
85
- const titleText = _nullishCoalesce(item.title, () => ( (typeof item.content === "string" || typeof item.content === "number" ? String(item.content) : "")));
86
- const descriptionText = item.description;
87
- const timeText = showTime ? _tigercatcore.formatActivityTime.call(void 0, item.time) : "";
88
- const actionNodes = _optionalChain([item, 'access', _3 => _3.actions, 'optionalAccess', _4 => _4.map, 'call', _5 => _5(
89
- (action, actionIndex) => renderAction(item, action, actionIndex)
90
- )]);
91
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.activityItemClasses, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _tigercatcore.activityItemLayoutClasses, children: [
92
- showAvatar && item.user ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4MQCUKICjs.Avatar, { size: "sm", src: item.user.avatar, text: item.user.name, className: "shrink-0" }) : null,
93
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _tigercatcore.activityItemBodyClasses, children: [
94
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _tigercatcore.activityItemHeaderClasses, children: [
95
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _tigercatcore.activityItemTitleGroupClasses, children: [
96
- titleText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "div", size: "sm", weight: "medium", className: "truncate", children: titleText }) : null,
97
- item.status ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCULFIZ5js.Tag, { variant: _nullishCoalesce(item.status.variant, () => ( "default")), size: "sm", className: "shrink-0", children: item.status.label }) : null
98
- ] }),
99
- timeText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "div", size: "xs", color: "muted", className: "shrink-0 whitespace-nowrap", children: timeText }) : null
100
- ] }),
101
- descriptionText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "div", size: "sm", color: "muted", className: _tigercatcore.activityItemDescriptionClasses, children: descriptionText }) : null,
102
- _optionalChain([actionNodes, 'optionalAccess', _6 => _6.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.activityItemActionsClasses, children: actionNodes }) : null
103
- ] })
104
- ] }) });
105
- };
106
- if (loading) {
107
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
108
- "div",
109
- {
110
- className: wrapperClasses,
111
- role: "feed",
112
- "aria-label": "\u52A8\u6001",
113
- "aria-busy": true,
114
- ...props,
115
- "data-tiger-activity-feed": true,
116
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUIO6O4MIjs.Card, { variant: "bordered", size: "sm", className: "tiger-activity-feed-loading", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center py-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3MRP3XYIjs.Loading, { text: loadingText }) }) })
117
- }
118
- );
119
- }
120
- if (resolvedGroups.length === 0) {
121
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
122
- "div",
123
- {
124
- className: wrapperClasses,
125
- role: "feed",
126
- "aria-label": "\u52A8\u6001",
127
- ...props,
128
- "data-tiger-activity-feed": true,
129
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUIO6O4MIjs.Card, { variant: "bordered", size: "sm", className: "tiger-activity-feed-empty", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center py-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "div", size: "sm", color: "muted", children: emptyText }) }) })
130
- }
131
- );
132
- }
133
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
134
- "div",
135
- {
136
- className: wrapperClasses,
137
- role: "feed",
138
- "aria-label": "\u52A8\u6001",
139
- ...props,
140
- "data-tiger-activity-feed": true,
141
- children: resolvedGroups.map((group, groupIndex) => {
142
- const headerNode = _optionalChain([renderGroupHeader, 'optionalCall', _7 => _7(group)]);
143
- const groupTitle = group.title;
144
- const timelineItems = _tigercatcore.toActivityTimelineItems.call(void 0, group.items);
145
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3", children: [
146
- showGroupTitle && groupTitle ? _nullishCoalesce(headerNode, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "div", size: "sm", weight: "medium", color: "muted", children: groupTitle }))) : null,
147
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
148
- _chunkPR3PQUKMjs.Timeline,
149
- {
150
- items: timelineItems,
151
- renderItem: (timelineItem, index) => {
152
- const activity = timelineItem.activity;
153
- if (!activity) return null;
154
- return renderDefaultItem(activity, index, group);
155
- }
156
- }
157
- )
158
- ] }, _nullishCoalesce(group.key, () => ( groupIndex)));
159
- })
160
- }
161
- );
162
- };
163
- var ActivityFeed_default = ActivityFeed;
164
-
165
-
166
-
167
-
168
- exports.ActivityFeed = ActivityFeed; exports.ActivityFeed_default = ActivityFeed_default;
@@ -1,168 +0,0 @@
1
- import {
2
- Timeline
3
- } from "./chunk-JVTAKNRO.mjs";
4
- import {
5
- Loading
6
- } from "./chunk-FNJDBFKM.mjs";
7
- import {
8
- Link
9
- } from "./chunk-XZVQ3PJS.mjs";
10
- import {
11
- Tag
12
- } from "./chunk-TGKNEMD4.mjs";
13
- import {
14
- Text
15
- } from "./chunk-HLS4CHWX.mjs";
16
- import {
17
- Card
18
- } from "./chunk-P6E3DILH.mjs";
19
- import {
20
- Avatar
21
- } from "./chunk-4ZZ7YRTB.mjs";
22
-
23
- // src/components/ActivityFeed.tsx
24
- import { useMemo } from "react";
25
- import {
26
- classNames,
27
- buildActivityGroups,
28
- formatActivityTime,
29
- toActivityTimelineItems,
30
- activityItemClasses,
31
- activityItemLayoutClasses,
32
- activityItemBodyClasses,
33
- activityItemHeaderClasses,
34
- activityItemTitleGroupClasses,
35
- activityItemDescriptionClasses,
36
- activityItemActionsClasses
37
- } from "@expcat/tigercat-core";
38
- import { jsx, jsxs } from "react/jsx-runtime";
39
- var renderAction = (item, action, index) => {
40
- const key = action.key ?? `${item.id}-action-${index}`;
41
- return /* @__PURE__ */ jsx(
42
- Link,
43
- {
44
- size: "sm",
45
- variant: "primary",
46
- href: action.href,
47
- target: action.target,
48
- disabled: action.disabled,
49
- onClick: () => action.onClick?.(item, action),
50
- children: action.label
51
- },
52
- key
53
- );
54
- };
55
- var ActivityFeed = ({
56
- items = [],
57
- groups,
58
- groupBy,
59
- groupOrder,
60
- loading = false,
61
- loadingText = "\u52A0\u8F7D\u4E2D...",
62
- emptyText = "\u6682\u65E0\u52A8\u6001",
63
- showAvatar = true,
64
- showTime = true,
65
- showGroupTitle = true,
66
- renderItem,
67
- renderGroupHeader,
68
- className,
69
- ...props
70
- }) => {
71
- const resolvedGroups = useMemo(
72
- () => buildActivityGroups(items, groups, groupBy, groupOrder),
73
- [items, groups, groupBy, groupOrder]
74
- );
75
- const wrapperClasses = classNames(
76
- "tiger-activity-feed",
77
- "flex",
78
- "flex-col",
79
- "gap-6",
80
- "w-full",
81
- className
82
- );
83
- const renderDefaultItem = (item, index, group) => {
84
- if (renderItem) return renderItem(item, index, group);
85
- const titleText = item.title ?? (typeof item.content === "string" || typeof item.content === "number" ? String(item.content) : "");
86
- const descriptionText = item.description;
87
- const timeText = showTime ? formatActivityTime(item.time) : "";
88
- const actionNodes = item.actions?.map(
89
- (action, actionIndex) => renderAction(item, action, actionIndex)
90
- );
91
- return /* @__PURE__ */ jsx("div", { className: activityItemClasses, children: /* @__PURE__ */ jsxs("div", { className: activityItemLayoutClasses, children: [
92
- showAvatar && item.user ? /* @__PURE__ */ jsx(Avatar, { size: "sm", src: item.user.avatar, text: item.user.name, className: "shrink-0" }) : null,
93
- /* @__PURE__ */ jsxs("div", { className: activityItemBodyClasses, children: [
94
- /* @__PURE__ */ jsxs("div", { className: activityItemHeaderClasses, children: [
95
- /* @__PURE__ */ jsxs("div", { className: activityItemTitleGroupClasses, children: [
96
- titleText ? /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", weight: "medium", className: "truncate", children: titleText }) : null,
97
- item.status ? /* @__PURE__ */ jsx(Tag, { variant: item.status.variant ?? "default", size: "sm", className: "shrink-0", children: item.status.label }) : null
98
- ] }),
99
- timeText ? /* @__PURE__ */ jsx(Text, { tag: "div", size: "xs", color: "muted", className: "shrink-0 whitespace-nowrap", children: timeText }) : null
100
- ] }),
101
- descriptionText ? /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", color: "muted", className: activityItemDescriptionClasses, children: descriptionText }) : null,
102
- actionNodes?.length ? /* @__PURE__ */ jsx("div", { className: activityItemActionsClasses, children: actionNodes }) : null
103
- ] })
104
- ] }) });
105
- };
106
- if (loading) {
107
- return /* @__PURE__ */ jsx(
108
- "div",
109
- {
110
- className: wrapperClasses,
111
- role: "feed",
112
- "aria-label": "\u52A8\u6001",
113
- "aria-busy": true,
114
- ...props,
115
- "data-tiger-activity-feed": true,
116
- children: /* @__PURE__ */ jsx(Card, { variant: "bordered", size: "sm", className: "tiger-activity-feed-loading", children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-4", children: /* @__PURE__ */ jsx(Loading, { text: loadingText }) }) })
117
- }
118
- );
119
- }
120
- if (resolvedGroups.length === 0) {
121
- return /* @__PURE__ */ jsx(
122
- "div",
123
- {
124
- className: wrapperClasses,
125
- role: "feed",
126
- "aria-label": "\u52A8\u6001",
127
- ...props,
128
- "data-tiger-activity-feed": true,
129
- children: /* @__PURE__ */ jsx(Card, { variant: "bordered", size: "sm", className: "tiger-activity-feed-empty", children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-6", children: /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", color: "muted", children: emptyText }) }) })
130
- }
131
- );
132
- }
133
- return /* @__PURE__ */ jsx(
134
- "div",
135
- {
136
- className: wrapperClasses,
137
- role: "feed",
138
- "aria-label": "\u52A8\u6001",
139
- ...props,
140
- "data-tiger-activity-feed": true,
141
- children: resolvedGroups.map((group, groupIndex) => {
142
- const headerNode = renderGroupHeader?.(group);
143
- const groupTitle = group.title;
144
- const timelineItems = toActivityTimelineItems(group.items);
145
- return /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
146
- showGroupTitle && groupTitle ? headerNode ?? /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", weight: "medium", color: "muted", children: groupTitle }) : null,
147
- /* @__PURE__ */ jsx(
148
- Timeline,
149
- {
150
- items: timelineItems,
151
- renderItem: (timelineItem, index) => {
152
- const activity = timelineItem.activity;
153
- if (!activity) return null;
154
- return renderDefaultItem(activity, index, group);
155
- }
156
- }
157
- )
158
- ] }, group.key ?? groupIndex);
159
- })
160
- }
161
- );
162
- };
163
- var ActivityFeed_default = ActivityFeed;
164
-
165
- export {
166
- ActivityFeed,
167
- ActivityFeed_default
168
- };