@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
@@ -95,23 +95,9 @@ var CommentThread = ({
95
95
  updateExpandedKeys(next);
96
96
  }
97
97
  };
98
- const BTN_BASE = "px-1.5 py-0.5 h-auto min-h-0 text-xs rounded";
99
- const ACTION_BTN = `${BTN_BASE} text-gray-400 hover:text-gray-600 font-normal hover:bg-gray-50`;
100
- const PRIMARY_BTN = `${BTN_BASE} text-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary-hover,#1d4ed8)] font-medium hover:bg-[var(--tiger-primary,#2563eb)]/5`;
101
- const renderActionButton = (label, key, onClick, active) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
102
- _chunk56ZV3VVYjs.Button,
103
- {
104
- size: "sm",
105
- variant: "ghost",
106
- className: _tigercatcore.classNames.call(void 0,
107
- ACTION_BTN,
108
- active && "text-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] font-medium"
109
- ),
110
- onClick,
111
- children: label
112
- },
113
- key
114
- );
98
+ const BTN_BASE = "px-2 py-0.5 h-auto min-h-0 text-xs rounded-md transition-all duration-200 ease-out";
99
+ const ACTION_BTN = `${BTN_BASE} text-gray-500 dark:text-gray-400 font-medium flex items-center gap-1.5`;
100
+ const PRIMARY_BTN = `${BTN_BASE} text-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary-hover,#1d4ed8)] dark:text-blue-400 dark:hover:text-blue-300 font-semibold hover:bg-[var(--tiger-primary,#2563eb)]/10 dark:hover:bg-blue-400/10`;
115
101
  const renderNode = (node, depth, isLast) => {
116
102
  const hasChildren = !!node.children && node.children.length > 0;
117
103
  const isExpanded = expandedSet.has(node.id);
@@ -125,24 +111,70 @@ var CommentThread = ({
125
111
  const likeLabel = node.liked ? likedText : likeText;
126
112
  const likeCount = node.likes ? ` ${node.likes}` : "";
127
113
  actions.push(
128
- renderActionButton(
129
- `${likeLabel}${likeCount}`,
130
- "like",
131
- () => _optionalChain([onLike, 'optionalCall', _4 => _4(node, !node.liked)]),
132
- node.liked
114
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
115
+ _chunk56ZV3VVYjs.Button,
116
+ {
117
+ size: "sm",
118
+ variant: "ghost",
119
+ className: _tigercatcore.classNames.call(void 0,
120
+ ACTION_BTN,
121
+ "hover:text-blue-600 hover:bg-blue-50/50 dark:hover:text-blue-400 dark:hover:bg-blue-950/20",
122
+ node.liked && "text-blue-600 dark:text-blue-400 bg-blue-50/30 dark:bg-blue-950/10 font-semibold border-blue-200/40 dark:border-blue-800/30"
123
+ ),
124
+ onClick: () => _optionalChain([onLike, 'optionalCall', _4 => _4(node, !node.liked)]),
125
+ children: [
126
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { className: _tigercatcore.classNames.call(void 0, "w-3.5 h-3.5 transition-transform duration-200 active:scale-125", node.liked ? "fill-current" : "stroke-current fill-none"), viewBox: "0 0 24 24", strokeWidth: "2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6.633 10.5c.806 0 1.533-.446 2.031-1.08a9.041 9.041 0 012.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 00.322-1.672V3a.75.75 0 01.75-.75A2.25 2.25 0 0116.5 4.5c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282h3.126c1.026 0 1.945.694 2.054 1.715.045.421.068.848.068 1.285a11.95 11.95 0 01-2.649 7.521c-.388.482-.987.729-1.605.729H13.48c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 00-1.423-.23H5.904M14.25 9h2.25M5.904 18.75c.083.205.173.405.27.602.197.4-.078.898-.523.898h-.908c-.889 0-1.713-.518-1.972-1.368a12 12 0 010-7.764c.26-.85.1083-1.368 1.972-1.368h.908c.445 0 .72.498.523.898a8.963 8.963 0 00-.27.602" }) }),
127
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: `${likeLabel}${likeCount}` })
128
+ ]
129
+ },
130
+ "like"
133
131
  )
134
132
  );
135
133
  }
136
134
  if (showReply) {
137
135
  actions.push(
138
- renderActionButton(replyText, "reply", () => {
139
- setReplyingTo((prev) => prev === node.id ? null : node.id);
140
- setReplyValue("");
141
- })
136
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
137
+ _chunk56ZV3VVYjs.Button,
138
+ {
139
+ size: "sm",
140
+ variant: "ghost",
141
+ className: _tigercatcore.classNames.call(void 0,
142
+ ACTION_BTN,
143
+ "hover:text-emerald-600 hover:bg-emerald-50/50 dark:hover:text-emerald-400 dark:hover:bg-emerald-950/20"
144
+ ),
145
+ onClick: () => {
146
+ setReplyingTo((prev) => prev === node.id ? null : node.id);
147
+ setReplyValue("");
148
+ },
149
+ children: [
150
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { className: "w-3.5 h-3.5", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.625 12a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H8.25m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H12m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0h-.375M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z" }) }),
151
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: replyText })
152
+ ]
153
+ },
154
+ "reply"
155
+ )
142
156
  );
143
157
  }
144
158
  if (showMore) {
145
- actions.push(renderActionButton(moreText, "more", () => _optionalChain([onMore, 'optionalCall', _5 => _5(node)])));
159
+ actions.push(
160
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
161
+ _chunk56ZV3VVYjs.Button,
162
+ {
163
+ size: "sm",
164
+ variant: "ghost",
165
+ className: _tigercatcore.classNames.call(void 0,
166
+ ACTION_BTN,
167
+ "hover:text-gray-700 dark:hover:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"
168
+ ),
169
+ onClick: () => _optionalChain([onMore, 'optionalCall', _5 => _5(node)]),
170
+ children: [
171
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { className: "w-3.5 h-3.5", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM12.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM18.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0z" }) }),
172
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: moreText })
173
+ ]
174
+ },
175
+ "more"
176
+ )
177
+ );
146
178
  }
147
179
  if (node.actions && node.actions.length > 0) {
148
180
  node.actions.forEach((action, index) => {
@@ -153,7 +185,10 @@ var CommentThread = ({
153
185
  {
154
186
  size: "sm",
155
187
  variant: _nullishCoalesce(action.variant, () => ( "ghost")),
156
- className: ACTION_BTN,
188
+ className: _tigercatcore.classNames.call(void 0,
189
+ ACTION_BTN,
190
+ "hover:bg-gray-100 dark:hover:bg-gray-800"
191
+ ),
157
192
  disabled: action.disabled,
158
193
  onClick: () => {
159
194
  _optionalChain([action, 'access', _6 => _6.onClick, 'optionalCall', _7 => _7(node, action)]);
@@ -171,8 +206,8 @@ var CommentThread = ({
171
206
  {
172
207
  className: _tigercatcore.classNames.call(void 0,
173
208
  "tiger-comment-thread-item",
174
- depth === 1 && "py-4",
175
- depth === 1 && !isLast && showDivider && "border-b border-[var(--tiger-border,#e5e7eb)]"
209
+ depth === 1 && "py-5",
210
+ depth === 1 && !isLast && showDivider && "border-b border-gray-100 dark:border-gray-800/80"
176
211
  ),
177
212
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-3", children: [
178
213
  showAvatar && node.user ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -181,27 +216,27 @@ var CommentThread = ({
181
216
  size: depth === 1 ? "md" : "sm",
182
217
  src: node.user.avatar,
183
218
  text: node.user.name,
184
- className: "shrink-0 mt-0.5"
219
+ className: "shrink-0 mt-0.5 ring-1 ring-black/5 dark:ring-white/10 shadow-sm transition-transform hover:scale-105 duration-200"
185
220
  }
186
221
  ) : null,
187
222
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0", children: [
188
223
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 flex-wrap", children: [
189
- _optionalChain([node, 'access', _9 => _9.user, 'optionalAccess', _10 => _10.name]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "span", size: "sm", weight: "bold", children: node.user.name }) : null,
190
- _optionalChain([node, 'access', _11 => _11.user, 'optionalAccess', _12 => _12.title]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "span", size: "xs", color: "muted", children: node.user.title }) : null,
191
- node.tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCULFIZ5js.Tag, { size: "sm", variant: _nullishCoalesce(node.tag.variant, () => ( "default")), children: node.tag.label }) : null,
192
- _optionalChain([node, 'access', _13 => _13.tags, 'optionalAccess', _14 => _14.map, 'call', _15 => _15((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCULFIZ5js.Tag, { size: "sm", variant: _nullishCoalesce(tag.variant, () => ( "default")), children: tag.label }, `${node.id}-tag-${index}`))]),
193
- node.time ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "span", size: "xs", color: "muted", className: "ml-auto", children: _tigercatcore.formatCommentTime.call(void 0, node.time) }) : null
224
+ _optionalChain([node, 'access', _9 => _9.user, 'optionalAccess', _10 => _10.name]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "span", size: "sm", weight: "bold", className: "text-gray-900 dark:text-gray-100 hover:text-blue-600 dark:hover:text-blue-400 transition-colors cursor-pointer", children: node.user.name }) : null,
225
+ _optionalChain([node, 'access', _11 => _11.user, 'optionalAccess', _12 => _12.title]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "span", size: "xs", color: "muted", className: "bg-gray-100 dark:bg-gray-800 px-1.5 py-0.5 rounded text-gray-500 dark:text-gray-400 font-medium", children: node.user.title }) : null,
226
+ node.tag ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCULFIZ5js.Tag, { size: "sm", variant: _nullishCoalesce(node.tag.variant, () => ( "default")), className: "rounded-full px-2 py-0.5 text-[10px] font-semibold tracking-wide uppercase border border-current bg-opacity-10", children: node.tag.label }) : null,
227
+ _optionalChain([node, 'access', _13 => _13.tags, 'optionalAccess', _14 => _14.map, 'call', _15 => _15((tag, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCULFIZ5js.Tag, { size: "sm", variant: _nullishCoalesce(tag.variant, () => ( "default")), className: "rounded-full px-2 py-0.5 text-[10px] font-semibold tracking-wide uppercase border border-current bg-opacity-10", children: tag.label }, `${node.id}-tag-${index}`))]),
228
+ node.time ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "span", size: "xs", color: "muted", className: "ml-auto text-gray-400 dark:text-gray-500 font-normal", children: _tigercatcore.formatCommentTime.call(void 0, node.time) }) : null
194
229
  ] }),
195
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-sm text-[var(--tiger-text-secondary,#4b5563)] leading-relaxed break-words mt-1.5 mb-2", children: node.content }),
196
- actions.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap items-center gap-1", children: actions }) : null,
197
- replyingTo === node.id ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-3 space-y-2 bg-[var(--tiger-surface-muted,#f9fafb)] p-3 rounded-[var(--tiger-radius-md,0.5rem)]", children: [
230
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-sm text-gray-600 dark:text-gray-300 leading-relaxed break-words mt-2 mb-3 pr-2", children: node.content }),
231
+ actions.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap items-center gap-1.5", children: actions }) : null,
232
+ replyingTo === node.id ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-3 space-y-3 bg-gray-50/50 dark:bg-gray-900/30 border border-gray-100 dark:border-gray-800/80 p-4 rounded-xl shadow-sm backdrop-blur-sm transition-all duration-300", children: [
198
233
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
199
234
  _chunkWVVXZKNIjs.Textarea,
200
235
  {
201
- rows: 2,
236
+ rows: 3,
202
237
  value: replyValue,
203
238
  placeholder: replyPlaceholder,
204
- className: "bg-[var(--tiger-surface,#ffffff)]",
239
+ className: "bg-white dark:bg-gray-950 border-gray-200 dark:border-gray-800 focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 dark:focus:border-blue-400 rounded-lg shadow-inner transition-all duration-200",
205
240
  onChange: (event) => setReplyValue(event.target.value)
206
241
  }
207
242
  ),
@@ -211,6 +246,7 @@ var CommentThread = ({
211
246
  {
212
247
  size: "sm",
213
248
  variant: "ghost",
249
+ className: "px-3 py-1.5 text-xs text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 rounded-lg transition-colors",
214
250
  onClick: () => {
215
251
  setReplyingTo(null);
216
252
  setReplyValue("");
@@ -218,7 +254,16 @@ var CommentThread = ({
218
254
  children: cancelReplyText
219
255
  }
220
256
  ),
221
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk56ZV3VVYjs.Button, { size: "sm", variant: "primary", onClick: () => handleReplySubmit(node), children: replyButtonText })
257
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
258
+ _chunk56ZV3VVYjs.Button,
259
+ {
260
+ size: "sm",
261
+ variant: "primary",
262
+ className: "px-3 py-1.5 text-xs font-semibold shadow-sm hover:shadow transition-all duration-200 rounded-lg",
263
+ onClick: () => handleReplySubmit(node),
264
+ children: replyButtonText
265
+ }
266
+ )
222
267
  ] })
223
268
  ] }) : null,
224
269
  hasChildren ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -226,7 +271,7 @@ var CommentThread = ({
226
271
  {
227
272
  size: "sm",
228
273
  variant: "ghost",
229
- className: _tigercatcore.classNames.call(void 0, "mt-2", PRIMARY_BTN),
274
+ className: _tigercatcore.classNames.call(void 0, "mt-2 font-semibold hover:bg-[var(--tiger-primary,#2563eb)]/10 dark:hover:bg-blue-400/10 transition-colors", PRIMARY_BTN),
230
275
  "aria-expanded": isExpanded,
231
276
  "aria-controls": repliesId,
232
277
  onClick: () => toggleExpanded(node.id),
@@ -237,7 +282,7 @@ var CommentThread = ({
237
282
  "div",
238
283
  {
239
284
  id: repliesId,
240
- className: "mt-3 ml-1 pl-4 border-l-2 border-[var(--tiger-border,#e5e7eb)] space-y-3",
285
+ className: "mt-4 ml-1 pl-4 border-l-2 border-gray-100 dark:border-gray-800 hover:border-blue-500/40 dark:hover:border-blue-400/40 space-y-4 transition-colors duration-300",
241
286
  children: [
242
287
  visibleChildren.map(
243
288
  (child, index) => renderNode(child, depth + 1, index === visibleChildren.length - 1)
@@ -269,7 +314,10 @@ var CommentThread = ({
269
314
  "data-tiger-comment-thread": true,
270
315
  "aria-label": _nullishCoalesce(divProps["aria-label"], () => ( (divProps["aria-labelledby"] ? void 0 : "\u8BC4\u8BBA\u7EBF\u7A0B"))),
271
316
  ...divProps,
272
- children: resolvedNodes.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "div", size: "sm", color: "muted", className: "text-center py-8", children: emptyText }) : resolvedNodes.map((node, index) => renderNode(node, 1, index === resolvedNodes.length - 1))
317
+ children: resolvedNodes.length === 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center justify-center border border-dashed border-gray-200 dark:border-gray-800/80 rounded-xl py-12 px-4 bg-gray-50/20 dark:bg-gray-900/5 transition-colors", children: [
318
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { className: "w-10 h-10 text-gray-300 dark:text-gray-600 mb-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.625 12a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H8.25m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H12m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0h-.375M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z" }) }),
319
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "div", size: "sm", color: "muted", className: "font-medium", children: emptyText })
320
+ ] }) : resolvedNodes.map((node, index) => renderNode(node, 1, index === resolvedNodes.length - 1))
273
321
  }
274
322
  );
275
323
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkXHT2VIDRjs = require('./chunk-XHT2VIDR.js');
3
+ var _chunkFXVKJWUPjs = require('./chunk-FXVKJWUP.js');
4
4
 
5
5
  // src/components/Kanban.tsx
6
6
  var _jsxruntime = require('react/jsx-runtime');
@@ -11,7 +11,7 @@ var Kanban = ({
11
11
  ...props
12
12
  }) => {
13
13
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14
- _chunkXHT2VIDRjs.TaskBoard,
14
+ _chunkFXVKJWUPjs.TaskBoard,
15
15
  {
16
16
  showCardCount,
17
17
  allowAddCard,
@@ -145,6 +145,7 @@ var CropUpload = ({
145
145
  open: modalVisible,
146
146
  size: "lg",
147
147
  title: modalTitle,
148
+ className: "tiger-crop-upload-modal",
148
149
  closable: true,
149
150
  maskClosable: false,
150
151
  onClose: handleCancel,
@@ -1,4 +1,8 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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; }// src/components/Table.tsx
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 _chunkTDODFBBOjs = require('./chunk-TDODFBBO.js');
4
+
5
+ // src/components/Table.tsx
2
6
  var _react = require('react'); var _react2 = _interopRequireDefault(_react);
3
7
 
4
8
 
@@ -13,6 +17,10 @@ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
13
17
 
14
18
 
15
19
 
20
+
21
+
22
+
23
+
16
24
  var _tigercatcore = require('@expcat/tigercat-core');
17
25
 
18
26
 
@@ -831,6 +839,18 @@ function renderSummaryRow(ctx, view) {
831
839
 
832
840
 
833
841
 
842
+
843
+
844
+
845
+
846
+ var DEFAULT_PREV_TEXT = "Previous";
847
+ var DEFAULT_NEXT_TEXT = "Next";
848
+ function formatDefaultTotalText(total, range) {
849
+ return `Showing ${range[0]} to ${range[1]} of ${total} results`;
850
+ }
851
+ function formatDefaultPageIndicatorText(current, total) {
852
+ return `Page ${current} of ${total}`;
853
+ }
834
854
  function renderPagination(ctx, view) {
835
855
  const { pagination } = view;
836
856
  if (pagination === false || !ctx.paginationInfo) {
@@ -839,8 +859,15 @@ function renderPagination(ctx, view) {
839
859
  const { totalPages, startIndex, endIndex, hasNext, hasPrev } = ctx.paginationInfo;
840
860
  const paginationConfig = pagination;
841
861
  const total = paginationConfig.total !== void 0 && paginationConfig.total > 0 ? paginationConfig.total : ctx.processedData.length;
862
+ const locale = view.disableI18n ? void 0 : view.locale;
863
+ const labels = locale ? _tigercatcore.getPaginationLabels.call(void 0, locale) : void 0;
864
+ const localeCode = _optionalChain([locale, 'optionalAccess', _66 => _66.locale]);
865
+ const finalTotalText = paginationConfig.totalText ? paginationConfig.totalText(total, [startIndex, endIndex]) : labels ? _tigercatcore.formatPaginationTotal.call(void 0, labels.totalText, total, [startIndex, endIndex], localeCode) : formatDefaultTotalText(total, [startIndex, endIndex]);
866
+ const finalPrevText = paginationConfig.prevText || _optionalChain([labels, 'optionalAccess', _67 => _67.prevPageAriaLabel]) || DEFAULT_PREV_TEXT;
867
+ const finalNextText = paginationConfig.nextText || _optionalChain([labels, 'optionalAccess', _68 => _68.nextPageAriaLabel]) || DEFAULT_NEXT_TEXT;
868
+ const finalPageIndicatorText = paginationConfig.pageIndicatorText ? paginationConfig.pageIndicatorText(ctx.currentPage, totalPages) : labels ? `${_tigercatcore.formatPageAriaLabel.call(void 0, labels.pageAriaLabel, ctx.currentPage, localeCode)} / ${_tigercatcore.formatIntlNumber.call(void 0, totalPages, localeCode)} ${labels.pageText}` : formatDefaultPageIndicatorText(ctx.currentPage, totalPages);
842
869
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _tigercatcore.getSimplePaginationContainerClasses.call(void 0, ), children: [
843
- paginationConfig.showTotal !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.getSimplePaginationTotalClasses.call(void 0, ), children: paginationConfig.totalText ? paginationConfig.totalText(total, [startIndex, endIndex]) : `Showing ${startIndex} to ${endIndex} of ${total} results` }),
870
+ paginationConfig.showTotal !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.getSimplePaginationTotalClasses.call(void 0, ), children: finalTotalText }),
844
871
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _tigercatcore.getSimplePaginationControlsClasses.call(void 0, ), children: [
845
872
  paginationConfig.showSizeChanger !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
846
873
  "select",
@@ -848,10 +875,7 @@ function renderPagination(ctx, view) {
848
875
  className: _tigercatcore.getSimplePaginationSelectClasses.call(void 0, ),
849
876
  value: ctx.currentPageSize,
850
877
  onChange: (e) => ctx.handlePageSizeChange(Number(e.target.value)),
851
- children: (paginationConfig.pageSizeOptions || [10, 20, 50, 100]).map((size) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "option", { value: size, children: [
852
- size,
853
- " / page"
854
- ] }, size))
878
+ children: (paginationConfig.pageSizeOptions || [10, 20, 50, 100]).map((size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "option", { value: size, children: paginationConfig.pageSizeText ? paginationConfig.pageSizeText(size) : labels ? `${_tigercatcore.formatIntlNumber.call(void 0, size, localeCode)} ${labels.itemsPerPageText}` : `${size} / page` }, size))
855
879
  }
856
880
  ),
857
881
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _tigercatcore.getSimplePaginationButtonsWrapperClasses.call(void 0, ), children: [
@@ -861,22 +885,17 @@ function renderPagination(ctx, view) {
861
885
  className: _tigercatcore.getSimplePaginationButtonClasses.call(void 0, !hasPrev),
862
886
  disabled: !hasPrev,
863
887
  onClick: () => ctx.handlePageChange(ctx.currentPage - 1),
864
- children: "Previous"
888
+ children: finalPrevText
865
889
  }
866
890
  ),
867
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _tigercatcore.getSimplePaginationPageIndicatorClasses.call(void 0, ), children: [
868
- "Page ",
869
- ctx.currentPage,
870
- " of ",
871
- totalPages
872
- ] }),
891
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _tigercatcore.getSimplePaginationPageIndicatorClasses.call(void 0, ), children: finalPageIndicatorText }),
873
892
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
874
893
  "button",
875
894
  {
876
895
  className: _tigercatcore.getSimplePaginationButtonClasses.call(void 0, !hasNext),
877
896
  disabled: !hasNext,
878
897
  onClick: () => ctx.handlePageChange(ctx.currentPage + 1),
879
- children: "Next"
898
+ children: finalNextText
880
899
  }
881
900
  )
882
901
  ] })
@@ -948,6 +967,7 @@ function Table({
948
967
  className,
949
968
  ...props
950
969
  }) {
970
+ const config = _chunkTDODFBBOjs.useTigerConfig.call(void 0, );
951
971
  const wrapperRef = _react.useRef.call(void 0, null);
952
972
  const tableRef = _react.useRef.call(void 0, null);
953
973
  const [measuredColumnWidths, setMeasuredColumnWidths] = _react.useState.call(void 0, {});
@@ -955,6 +975,31 @@ function Table({
955
975
  const internalRowSelection = rowSelection;
956
976
  const internalExpandable = expandable;
957
977
  const internalRowClassName = rowClassName;
978
+ const paginationLocaleInput = pagination !== false && typeof pagination === "object" ? pagination.locale : void 0;
979
+ const isPaginationI18nDisabled = paginationLocaleInput === false;
980
+ const immediatePaginationLocale = _react.useMemo.call(void 0,
981
+ () => paginationLocaleInput && !isPaginationI18nDisabled ? _tigercatcore.getImmediateTigerLocale.call(void 0, paginationLocaleInput) : void 0,
982
+ [isPaginationI18nDisabled, paginationLocaleInput]
983
+ );
984
+ const [resolvedPaginationLocale, setResolvedPaginationLocale] = _react.useState.call(void 0, immediatePaginationLocale);
985
+ _react.useEffect.call(void 0, () => {
986
+ let active = true;
987
+ setResolvedPaginationLocale(immediatePaginationLocale);
988
+ if (paginationLocaleInput && !isPaginationI18nDisabled && _tigercatcore.isLazyTigerLocale.call(void 0, paginationLocaleInput)) {
989
+ _tigercatcore.resolveTigerLocale.call(void 0, paginationLocaleInput).then((nextLocale) => {
990
+ if (active) setResolvedPaginationLocale(nextLocale);
991
+ }).catch(() => {
992
+ if (active) setResolvedPaginationLocale(immediatePaginationLocale);
993
+ });
994
+ }
995
+ return () => {
996
+ active = false;
997
+ };
998
+ }, [isPaginationI18nDisabled, paginationLocaleInput, immediatePaginationLocale]);
999
+ const paginationLocale = _react.useMemo.call(void 0,
1000
+ () => isPaginationI18nDisabled ? void 0 : _tigercatcore.mergeTigerLocale.call(void 0, config.locale, resolvedPaginationLocale),
1001
+ [config.locale, isPaginationI18nDisabled, resolvedPaginationLocale]
1002
+ );
958
1003
  const ctx = useTableState({
959
1004
  columns,
960
1005
  dataSource,
@@ -1091,7 +1136,7 @@ function Table({
1091
1136
  const key = ctx.pageRowKeys[index];
1092
1137
  const isExpanded = ctx.expandedRowKeySet.has(key);
1093
1138
  const isRowExpandable = internalExpandable ? internalExpandable.rowExpandable ? internalExpandable.rowExpandable(record) : true : false;
1094
- const expandedContent = internalExpandable && isExpanded && isRowExpandable ? _optionalChain([internalExpandable, 'access', _66 => _66.expandedRowRender, 'optionalCall', _67 => _67(record, index)]) : null;
1139
+ const expandedContent = internalExpandable && isExpanded && isRowExpandable ? _optionalChain([internalExpandable, 'access', _69 => _69.expandedRowRender, 'optionalCall', _70 => _70(record, index)]) : null;
1095
1140
  const expandedNode = expandedContent;
1096
1141
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1097
1142
  "div",
@@ -1099,13 +1144,13 @@ function Table({
1099
1144
  className: _tigercatcore.tableResponsiveCardClasses,
1100
1145
  onClick: () => ctx.handleRowClick(record, index, key),
1101
1146
  children: [
1102
- _optionalChain([internalRowSelection, 'optionalAccess', _68 => _68.showCheckbox]) !== false && internalRowSelection || internalExpandable && isRowExpandable ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-2 flex items-center gap-3", children: [
1147
+ _optionalChain([internalRowSelection, 'optionalAccess', _71 => _71.showCheckbox]) !== false && internalRowSelection || internalExpandable && isRowExpandable ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-2 flex items-center gap-3", children: [
1103
1148
  internalRowSelection && internalRowSelection.showCheckbox !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1104
1149
  "input",
1105
1150
  {
1106
1151
  type: internalRowSelection.type === "radio" ? "radio" : "checkbox",
1107
1152
  checked: ctx.selectedRowKeySet.has(key),
1108
- disabled: _optionalChain([internalRowSelection, 'access', _69 => _69.getCheckboxProps, 'optionalCall', _70 => _70(record), 'optionalAccess', _71 => _71.disabled]),
1153
+ disabled: _optionalChain([internalRowSelection, 'access', _72 => _72.getCheckboxProps, 'optionalCall', _73 => _73(record), 'optionalAccess', _74 => _74.disabled]),
1109
1154
  onClick: (event) => event.stopPropagation(),
1110
1155
  onChange: (event) => ctx.handleSelectRow(key, event.target.checked)
1111
1156
  }
@@ -1152,7 +1197,11 @@ function Table({
1152
1197
  ]
1153
1198
  }
1154
1199
  ),
1155
- renderPagination(ctx, { pagination })
1200
+ renderPagination(ctx, {
1201
+ pagination,
1202
+ locale: paginationLocale,
1203
+ disableI18n: isPaginationI18nDisabled
1204
+ })
1156
1205
  ]
1157
1206
  }
1158
1207
  );
@@ -10,7 +10,6 @@ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
10
10
 
11
11
 
12
12
 
13
-
14
13
  var _tigercatcore = require('@expcat/tigercat-core');
15
14
  var _jsxruntime = require('react/jsx-runtime');
16
15
  var StepsContext = _react.createContext.call(void 0, null);
@@ -65,7 +64,7 @@ var StepsItem = ({
65
64
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: iconClasses, children: icon });
66
65
  }
67
66
  if (stepStatus === "finish") {
68
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: iconClasses, "aria-hidden": "true", children: _tigercatcore.stepFinishChar });
67
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: iconClasses, "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { className: "w-4 h-4 shrink-0 transition-transform duration-300 animate-fade-in", fill: "none", stroke: "currentColor", strokeWidth: "3", viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M4.5 12.75l6 6 9-13.5" }) }) });
69
68
  }
70
69
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: iconClasses, children: stepIndex + 1 });
71
70
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Table
3
- } from "./chunk-T7ACOL7K.mjs";
3
+ } from "./chunk-E43YLPOJ.mjs";
4
4
  import {
5
5
  Select
6
6
  } from "./chunk-T4OVGM4X.mjs";
@@ -81,12 +81,17 @@ var DataTableWithToolbar = ({
81
81
  );
82
82
  const hasFilters = Boolean(toolbar?.filters && toolbar.filters.length > 0);
83
83
  const hasBulkActions = Boolean(toolbar?.bulkActions && toolbar.bulkActions.length > 0);
84
+ const { bordered = false, ...remainingTableProps } = tableProps;
84
85
  const selectedKeys = toolbar?.selectedKeys ?? tableProps.rowSelection?.selectedRowKeys ?? [];
85
86
  const selectedCount = toolbar?.selectedCount ?? selectedKeys.length;
86
87
  const bulkLabel = toolbar?.bulkActionsLabel ?? "\u5DF2\u9009\u62E9";
87
88
  const wrapperClasses = useMemo(
88
- () => classNames("tiger-data-table-with-toolbar flex flex-col gap-3", className),
89
- [className]
89
+ () => classNames(
90
+ "tiger-data-table-with-toolbar flex flex-col",
91
+ bordered ? "border border-[var(--tiger-border,#e5e7eb)] rounded-[var(--tiger-radius-md,0.5rem)] overflow-hidden bg-[var(--tiger-surface,#ffffff)] shadow-sm" : "gap-3.5",
92
+ className
93
+ ),
94
+ [className, bordered]
90
95
  );
91
96
  const handleSearchChange = (value) => {
92
97
  if (toolbar?.searchValue === void 0) {
@@ -131,12 +136,15 @@ var DataTableWithToolbar = ({
131
136
  return /* @__PURE__ */ jsxs(
132
137
  "div",
133
138
  {
134
- className: "tiger-data-table-toolbar flex flex-wrap items-center gap-2 pb-3",
139
+ className: classNames(
140
+ "tiger-data-table-toolbar flex flex-wrap items-center gap-3",
141
+ bordered ? "bg-[var(--tiger-surface-muted,#f9fafb)] dark:bg-gray-800/10 px-4 py-3.5 border-b border-[var(--tiger-border,#e5e7eb)]" : "bg-[var(--tiger-surface-muted,#f9fafb)]/80 dark:bg-gray-800/30 px-4 py-3.5 border border-[var(--tiger-border,#e5e7eb)] rounded-[var(--tiger-radius-md,0.5rem)] shadow-sm"
142
+ ),
135
143
  role: "toolbar",
136
144
  "aria-label": "\u6570\u636E\u8868\u683C\u5DE5\u5177\u680F",
137
145
  children: [
138
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 flex-wrap flex-1 min-w-0", children: [
139
- hasSearch ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 w-full sm:w-auto sm:min-w-[200px] sm:max-w-[320px]", children: [
146
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 flex-wrap flex-1 min-w-0", children: [
147
+ hasSearch ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 w-full sm:w-auto sm:min-w-[220px] sm:max-w-[320px]", children: [
140
148
  /* @__PURE__ */ jsx(
141
149
  Input,
142
150
  {
@@ -144,6 +152,25 @@ var DataTableWithToolbar = ({
144
152
  size: "sm",
145
153
  value: searchValue,
146
154
  placeholder: toolbar?.searchPlaceholder ?? "\u641C\u7D22",
155
+ prefix: /* @__PURE__ */ jsx(
156
+ "svg",
157
+ {
158
+ className: "w-3.5 h-3.5 text-[var(--tiger-text-secondary,#6b7280)] shrink-0",
159
+ fill: "none",
160
+ stroke: "currentColor",
161
+ strokeWidth: "2",
162
+ viewBox: "0 0 24 24",
163
+ "aria-hidden": "true",
164
+ children: /* @__PURE__ */ jsx(
165
+ "path",
166
+ {
167
+ strokeLinecap: "round",
168
+ strokeLinejoin: "round",
169
+ d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
170
+ }
171
+ )
172
+ }
173
+ ),
147
174
  onChange: (event) => handleSearchChange(String(event.currentTarget.value)),
148
175
  onKeyDown: (event) => {
149
176
  if (event.key === "Enter") {
@@ -157,7 +184,7 @@ var DataTableWithToolbar = ({
157
184
  {
158
185
  size: "sm",
159
186
  variant: "primary",
160
- className: "whitespace-nowrap shrink-0",
187
+ className: "whitespace-nowrap shrink-0 rounded-[var(--tiger-radius-md,0.5rem)] px-3",
161
188
  onClick: handleSearchSubmit,
162
189
  disabled: !onSearch && !toolbar?.onSearch,
163
190
  children: toolbar?.searchButtonText ?? "\u641C\u7D22"
@@ -192,12 +219,15 @@ var DataTableWithToolbar = ({
192
219
  );
193
220
  }) : null
194
221
  ] }),
195
- hasBulkActions ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 flex-wrap ml-auto shrink-0", children: [
196
- selectedCount > 0 ? /* @__PURE__ */ jsxs("span", { className: "text-sm text-[var(--tiger-text-muted,#6b7280)]", children: [
197
- bulkLabel,
198
- " ",
199
- selectedCount,
200
- " \u9879"
222
+ hasBulkActions ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2.5 flex-wrap ml-auto shrink-0", children: [
223
+ selectedCount > 0 ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-[var(--tiger-primary,#2563eb)]/10 text-[var(--tiger-primary,#2563eb)] text-xs font-medium border border-[var(--tiger-primary,#2563eb)]/15 shrink-0 transition-all duration-300", children: [
224
+ /* @__PURE__ */ jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-[var(--tiger-primary,#2563eb)] animate-pulse" }),
225
+ /* @__PURE__ */ jsxs("span", { children: [
226
+ bulkLabel,
227
+ " ",
228
+ selectedCount,
229
+ " \u9879"
230
+ ] })
201
231
  ] }) : null,
202
232
  toolbar?.bulkActions?.map((action) => /* @__PURE__ */ jsx(
203
233
  Button,
@@ -220,9 +250,10 @@ var DataTableWithToolbar = ({
220
250
  /* @__PURE__ */ jsx(
221
251
  Table,
222
252
  {
223
- ...tableProps,
253
+ ...remainingTableProps,
254
+ bordered,
224
255
  pagination,
225
- className: tableClassName,
256
+ className: classNames(tableClassName, bordered && "border-none rounded-none shadow-none"),
226
257
  onPageChange: handleTablePageChange
227
258
  }
228
259
  )