@expcat/tigercat-react 1.3.3 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/dist/{chunk-3SV6J7I5.mjs → chunk-2L7QEOFD.mjs} +34 -25
  2. package/dist/{chunk-FNJDBFKM.mjs → chunk-2LYV6NBJ.mjs} +6 -1
  3. package/dist/{chunk-EEWHWEYO.js → chunk-2RBHQBSG.js} +2 -2
  4. package/dist/{chunk-Y5RQN5BO.mjs → chunk-376X7SDZ.mjs} +2 -2
  5. package/dist/{chunk-UXUYCWQC.js → chunk-3EDASNTG.js} +5 -5
  6. package/dist/{chunk-NPTXXUXF.mjs → chunk-3RBRWBUG.mjs} +9 -7
  7. package/dist/{chunk-PUZDW7NR.js → chunk-4AMSYFYC.js} +134 -20
  8. package/dist/{chunk-IG75YSX3.mjs → chunk-4MONGWU5.mjs} +4 -6
  9. package/dist/{chunk-3CJFNG54.mjs → chunk-56CTXEJS.mjs} +1 -1
  10. package/dist/{chunk-TMON4MPO.js → chunk-5ALMTE35.js} +9 -7
  11. package/dist/{chunk-MSHCPJIJ.mjs → chunk-6BOSSZM3.mjs} +8 -9
  12. package/dist/{chunk-SIY6FDKJ.js → chunk-7CHTTM6D.js} +339 -314
  13. package/dist/{chunk-RF2BA2N6.js → chunk-7PXALKLM.js} +4 -4
  14. package/dist/{chunk-DLKUDB2R.js → chunk-AF2AEZKM.js} +15 -3
  15. package/dist/{chunk-FB34UWF7.mjs → chunk-AVLIUHOS.mjs} +101 -40
  16. package/dist/{chunk-TSJYAEFZ.js → chunk-B63GEB2Y.js} +358 -305
  17. package/dist/{chunk-CFPKK5WW.js → chunk-BA6TJQZL.js} +12 -12
  18. package/dist/{chunk-LMTUM3J3.js → chunk-BEM7XG2L.js} +2 -4
  19. package/dist/{chunk-MB6U72CI.js → chunk-BEZO5IE4.js} +2 -2
  20. package/dist/{chunk-5OHVTGHS.mjs → chunk-BN4ZKCAI.mjs} +368 -315
  21. package/dist/{chunk-UHFHOTNI.js → chunk-BRA3PO53.js} +6 -7
  22. package/dist/{chunk-M7HBWFQO.js → chunk-BROIZ266.js} +11 -1
  23. package/dist/{chunk-SDZOVRVR.mjs → chunk-CAQPYJFA.mjs} +350 -325
  24. package/dist/{chunk-BFAZZUD6.js → chunk-CC5GFX6F.js} +5 -22
  25. package/dist/{chunk-LQT6ZGME.mjs → chunk-CME2IFUT.mjs} +15 -3
  26. package/dist/{chunk-KQ5I7PRM.js → chunk-CNNEUJR2.js} +28 -14
  27. package/dist/{chunk-EF5ZTNHX.js → chunk-D5MQBUP2.js} +16 -4
  28. package/dist/{chunk-RQXY2MGX.mjs → chunk-D7UR526A.mjs} +231 -184
  29. package/dist/{chunk-CBYJXDW4.js → chunk-DBMC6FPU.js} +16 -4
  30. package/dist/{chunk-WQ4FOHOU.mjs → chunk-DEIVWO2D.mjs} +3 -5
  31. package/dist/{chunk-7QZ4XT2P.mjs → chunk-DVEK5SO6.mjs} +3 -8
  32. package/dist/{chunk-TC6JLEGZ.js → chunk-EJKOUI26.js} +24 -7
  33. package/dist/{chunk-4GITZKAH.mjs → chunk-EPJ6W4VI.mjs} +14 -2
  34. package/dist/{chunk-KYP7U6FK.js → chunk-FZHBVHQ6.js} +34 -25
  35. package/dist/{chunk-WVVXZKNI.js → chunk-GDPU5MYA.js} +3 -8
  36. package/dist/{chunk-2GQCFTD7.mjs → chunk-H4MPPCTB.mjs} +23 -4
  37. package/dist/{chunk-YOAYDEWW.mjs → chunk-HHMYERHY.mjs} +3 -20
  38. package/dist/{chunk-LRPPXU74.mjs → chunk-I7FEGKX2.mjs} +19 -5
  39. package/dist/{chunk-F6IXIH6B.mjs → chunk-IZGXDHPB.mjs} +24 -5
  40. package/dist/{chunk-GQFVVAEF.js → chunk-J6OZWT3P.js} +5 -5
  41. package/dist/{chunk-IGAMV6ML.mjs → chunk-KDXKF6B2.mjs} +1 -1
  42. package/dist/{chunk-A42OLED6.mjs → chunk-KED5S2WG.mjs} +13 -2
  43. package/dist/{chunk-BJQIYELW.mjs → chunk-KGMVRIYC.mjs} +5 -5
  44. package/dist/{chunk-6GYT3EZD.mjs → chunk-KXT2TP6A.mjs} +3 -4
  45. package/dist/{chunk-BBLVRLXT.js → chunk-KYNWNTGO.js} +230 -146
  46. package/dist/{chunk-M73NMNZX.js → chunk-L24PPXLV.js} +17 -5
  47. package/dist/chunk-L3WPA2RP.js +25 -0
  48. package/dist/{chunk-V4JIZN3E.mjs → chunk-L6KSO66F.mjs} +4 -12
  49. package/dist/{chunk-4LX5UGPQ.js → chunk-LJRCEB7F.js} +168 -121
  50. package/dist/{chunk-F7H4ALKN.js → chunk-LZG24TDB.js} +8 -9
  51. package/dist/{chunk-ZYJTHGQW.js → chunk-M3FVPPMM.js} +9 -13
  52. package/dist/{chunk-GN3TSQWW.mjs → chunk-M6YXUNOU.mjs} +2 -2
  53. package/dist/{chunk-I373B74W.js → chunk-MC26ORSN.js} +102 -41
  54. package/dist/{chunk-5HFHHFQS.mjs → chunk-MTIGGMHG.mjs} +17 -5
  55. package/dist/{chunk-DKT2EYVM.mjs → chunk-MV2JQ6XQ.mjs} +3 -6
  56. package/dist/{chunk-HR5GBE3P.js → chunk-NDGA3N6H.js} +19 -7
  57. package/dist/{chunk-BO6QGXMN.mjs → chunk-NEZ445D4.mjs} +9 -9
  58. package/dist/{chunk-4U5HSR2H.js → chunk-NVI2P7VH.js} +3 -4
  59. package/dist/{chunk-NVEIVIAW.mjs → chunk-OFRKYQOZ.mjs} +133 -19
  60. package/dist/{chunk-AW5M3EL4.js → chunk-OS6M3IZF.js} +62 -12
  61. package/dist/{chunk-3ZNZLGQO.mjs → chunk-OXQOKKTP.mjs} +6 -7
  62. package/dist/{chunk-NMEVQPOD.js → chunk-PHAJXRGE.js} +2 -4
  63. package/dist/{chunk-WG3YS2QV.js → chunk-PT5T5F4H.js} +13 -2
  64. package/dist/{chunk-WNLUUD5N.mjs → chunk-QIL24WZD.mjs} +8 -12
  65. package/dist/{chunk-ZFMMAYSX.js → chunk-QLATA4UB.js} +4 -6
  66. package/dist/{chunk-KIYNHQGW.mjs → chunk-RVLV63SI.mjs} +41 -20
  67. package/dist/{chunk-3QPCQH62.mjs → chunk-RYNLPRUM.mjs} +1 -1
  68. package/dist/{chunk-6GIJ7NFV.mjs → chunk-SDZKL3IB.mjs} +3 -5
  69. package/dist/{chunk-G5USITWF.js → chunk-SH4BZYXO.js} +27 -8
  70. package/dist/{chunk-L5AMVEQL.mjs → chunk-SLEXEH7R.mjs} +60 -10
  71. package/dist/{chunk-JLRRXRZO.js → chunk-SQONS5PH.js} +4 -7
  72. package/dist/chunk-SQTOVSDU.mjs +692 -0
  73. package/dist/{chunk-3ZQMHXRY.js → chunk-TEYL5X56.js} +39 -18
  74. package/dist/{chunk-KGSDDVRC.mjs → chunk-TNTOSFGN.mjs} +4 -4
  75. package/dist/{chunk-CY5GRTAX.js → chunk-UAM3RQY4.js} +24 -5
  76. package/dist/{chunk-XRNKHQTL.js → chunk-UEAXYZSE.js} +3 -2
  77. package/dist/{chunk-7ISEWLA3.js → chunk-UKQMF3JV.js} +21 -6
  78. package/dist/{chunk-ITVLIR7T.mjs → chunk-ULWT6W6M.mjs} +13 -20
  79. package/dist/{chunk-M5GSLKUX.mjs → chunk-VAIWWELW.mjs} +15 -3
  80. package/dist/{chunk-4SO4LANY.js → chunk-VC26SAXB.js} +340 -274
  81. package/dist/{chunk-SKMZTW3K.js → chunk-WCTNQYXO.js} +16 -23
  82. package/dist/{chunk-KXNWY2Q7.mjs → chunk-WFWEMXO7.mjs} +241 -157
  83. package/dist/chunk-WHYHLUXG.mjs +25 -0
  84. package/dist/{chunk-ONTRGV5T.js → chunk-WZUADPYB.js} +6 -14
  85. package/dist/{chunk-N4PP3ENO.js → chunk-XTQUPDRI.js} +2 -2
  86. package/dist/{chunk-XATXFVKR.mjs → chunk-Y7K27DVV.mjs} +4 -3
  87. package/dist/{chunk-WI4N5DD3.mjs → chunk-YH57D4AV.mjs} +16 -4
  88. package/dist/{chunk-3MRP3XYI.js → chunk-YRVAF2ID.js} +7 -2
  89. package/dist/{chunk-5XE5VBDS.mjs → chunk-YSGM22AH.mjs} +11 -1
  90. package/dist/{chunk-6TR7JB6C.js → chunk-ZDNQGS4O.js} +4 -4
  91. package/dist/{chunk-CHBUNQIJ.mjs → chunk-ZQSMJS2Q.mjs} +23 -6
  92. package/dist/{chunk-QQFLRNI3.mjs → chunk-ZRZB3C5J.mjs} +18 -3
  93. package/dist/components/ActivityFeed.js +4 -3
  94. package/dist/components/ActivityFeed.mjs +3 -2
  95. package/dist/components/Cascader.d.mts +3 -1
  96. package/dist/components/Cascader.d.ts +3 -1
  97. package/dist/components/Cascader.js +3 -2
  98. package/dist/components/Cascader.mjs +2 -1
  99. package/dist/components/ChatWindow.js +5 -5
  100. package/dist/components/ChatWindow.mjs +4 -4
  101. package/dist/components/Checkbox.js +4 -4
  102. package/dist/components/Checkbox.mjs +3 -3
  103. package/dist/components/CheckboxGroup.js +3 -3
  104. package/dist/components/CheckboxGroup.mjs +2 -2
  105. package/dist/components/CommentThread.js +4 -4
  106. package/dist/components/CommentThread.mjs +3 -3
  107. package/dist/components/CropUpload.js +4 -4
  108. package/dist/components/CropUpload.mjs +3 -3
  109. package/dist/components/DataTableWithToolbar.d.mts +2 -2
  110. package/dist/components/DataTableWithToolbar.d.ts +2 -2
  111. package/dist/components/DataTableWithToolbar.js +11 -11
  112. package/dist/components/DataTableWithToolbar.mjs +10 -10
  113. package/dist/components/DatePicker.d.mts +1 -0
  114. package/dist/components/DatePicker.d.ts +1 -0
  115. package/dist/components/DatePicker.js +3 -2
  116. package/dist/components/DatePicker.mjs +2 -1
  117. package/dist/components/Drawer.js +3 -3
  118. package/dist/components/Drawer.mjs +2 -2
  119. package/dist/components/FileManager.d.mts +2 -1
  120. package/dist/components/FileManager.d.ts +2 -1
  121. package/dist/components/FileManager.js +3 -2
  122. package/dist/components/FileManager.mjs +2 -1
  123. package/dist/components/Form.js +3 -2
  124. package/dist/components/Form.mjs +2 -1
  125. package/dist/components/FormItem.js +4 -3
  126. package/dist/components/FormItem.mjs +3 -2
  127. package/dist/components/FormWizard.js +4 -4
  128. package/dist/components/FormWizard.mjs +3 -3
  129. package/dist/components/Image.js +4 -4
  130. package/dist/components/Image.mjs +3 -3
  131. package/dist/components/ImageGroup.js +3 -3
  132. package/dist/components/ImageGroup.mjs +2 -2
  133. package/dist/components/ImagePreview.js +2 -2
  134. package/dist/components/ImagePreview.mjs +1 -1
  135. package/dist/components/ImageViewer.d.mts +1 -1
  136. package/dist/components/ImageViewer.d.ts +1 -1
  137. package/dist/components/ImageViewer.js +2 -2
  138. package/dist/components/ImageViewer.mjs +1 -1
  139. package/dist/components/InfiniteScroll.d.mts +2 -0
  140. package/dist/components/InfiniteScroll.d.ts +2 -0
  141. package/dist/components/InfiniteScroll.js +3 -2
  142. package/dist/components/InfiniteScroll.mjs +2 -1
  143. package/dist/components/Input.js +3 -2
  144. package/dist/components/Input.mjs +2 -1
  145. package/dist/components/InputNumber.js +3 -2
  146. package/dist/components/InputNumber.mjs +2 -1
  147. package/dist/components/List.d.mts +6 -2
  148. package/dist/components/List.d.ts +6 -2
  149. package/dist/components/List.js +3 -2
  150. package/dist/components/List.mjs +2 -1
  151. package/dist/components/Loading.js +3 -2
  152. package/dist/components/Loading.mjs +2 -1
  153. package/dist/components/MarkdownEditor.js +3 -3
  154. package/dist/components/MarkdownEditor.mjs +2 -2
  155. package/dist/components/Mentions.js +2 -2
  156. package/dist/components/Mentions.mjs +1 -1
  157. package/dist/components/Menu.d.mts +8 -80
  158. package/dist/components/Menu.d.ts +8 -80
  159. package/dist/components/Menu.js +2 -2
  160. package/dist/components/Menu.mjs +1 -1
  161. package/dist/components/MenuItem.d.mts +6 -2
  162. package/dist/components/MenuItem.d.ts +6 -2
  163. package/dist/components/MenuItem.js +2 -2
  164. package/dist/components/MenuItem.mjs +1 -1
  165. package/dist/components/MenuItemGroup.d.mts +6 -2
  166. package/dist/components/MenuItemGroup.d.ts +6 -2
  167. package/dist/components/MenuItemGroup.js +2 -2
  168. package/dist/components/MenuItemGroup.mjs +1 -1
  169. package/dist/components/Message.js +2 -2
  170. package/dist/components/Message.mjs +1 -1
  171. package/dist/components/Modal.js +3 -3
  172. package/dist/components/Modal.mjs +2 -2
  173. package/dist/components/Notification.js +2 -2
  174. package/dist/components/Notification.mjs +1 -1
  175. package/dist/components/NotificationCenter.js +5 -4
  176. package/dist/components/NotificationCenter.mjs +4 -3
  177. package/dist/components/NumberKeyboard.js +3 -2
  178. package/dist/components/NumberKeyboard.mjs +2 -1
  179. package/dist/components/Radio.js +4 -4
  180. package/dist/components/Radio.mjs +3 -3
  181. package/dist/components/RadioGroup.js +3 -3
  182. package/dist/components/RadioGroup.mjs +2 -2
  183. package/dist/components/RichTextEditor.js +3 -3
  184. package/dist/components/RichTextEditor.mjs +2 -2
  185. package/dist/components/Select.d.mts +3 -1
  186. package/dist/components/Select.d.ts +3 -1
  187. package/dist/components/Select.js +3 -2
  188. package/dist/components/Select.mjs +2 -1
  189. package/dist/components/Signature.d.mts +1 -0
  190. package/dist/components/Signature.d.ts +1 -0
  191. package/dist/components/Signature.js +3 -2
  192. package/dist/components/Signature.mjs +2 -1
  193. package/dist/components/Spotlight.js +4 -2
  194. package/dist/components/Spotlight.mjs +3 -1
  195. package/dist/components/Steps.js +2 -2
  196. package/dist/components/Steps.mjs +1 -1
  197. package/dist/components/StepsItem.js +2 -2
  198. package/dist/components/StepsItem.mjs +1 -1
  199. package/dist/components/SubMenu.d.mts +6 -2
  200. package/dist/components/SubMenu.d.ts +6 -2
  201. package/dist/components/SubMenu.js +2 -2
  202. package/dist/components/SubMenu.mjs +1 -1
  203. package/dist/components/Table.d.mts +2 -2
  204. package/dist/components/Table.d.ts +2 -2
  205. package/dist/components/Table.js +9 -9
  206. package/dist/components/Table.mjs +8 -8
  207. package/dist/components/Textarea.js +3 -3
  208. package/dist/components/Textarea.mjs +2 -2
  209. package/dist/components/TimePicker.d.mts +1 -0
  210. package/dist/components/TimePicker.d.ts +1 -0
  211. package/dist/components/TimePicker.js +4 -2
  212. package/dist/components/TimePicker.mjs +3 -1
  213. package/dist/components/Tour.js +3 -2
  214. package/dist/components/Tour.mjs +2 -1
  215. package/dist/components/Transfer.d.mts +3 -1
  216. package/dist/components/Transfer.d.ts +3 -1
  217. package/dist/components/Transfer.js +3 -2
  218. package/dist/components/Transfer.mjs +2 -1
  219. package/dist/components/Tree.d.mts +3 -1
  220. package/dist/components/Tree.d.ts +3 -1
  221. package/dist/components/Tree.js +3 -2
  222. package/dist/components/Tree.mjs +2 -1
  223. package/dist/components/TreeSelect.d.mts +3 -1
  224. package/dist/components/TreeSelect.d.ts +3 -1
  225. package/dist/components/TreeSelect.js +3 -2
  226. package/dist/components/TreeSelect.mjs +2 -1
  227. package/dist/components/Upload.js +3 -2
  228. package/dist/components/Upload.mjs +2 -1
  229. package/dist/components/VirtualTable.d.mts +3 -2
  230. package/dist/components/VirtualTable.d.ts +3 -2
  231. package/dist/components/VirtualTable.js +3 -2
  232. package/dist/components/VirtualTable.mjs +2 -1
  233. package/dist/index.d.mts +33 -7
  234. package/dist/index.d.ts +33 -7
  235. package/dist/index.js +54 -54
  236. package/dist/index.mjs +53 -53
  237. package/dist/{types-CHmCMNEM.d.ts → types-0oVwMXtR.d.mts} +1 -1
  238. package/dist/{types-CHmCMNEM.d.mts → types-0oVwMXtR.d.ts} +1 -1
  239. package/dist/types-DaC4a0Ny.d.mts +80 -0
  240. package/dist/types-DaC4a0Ny.d.ts +80 -0
  241. package/package.json +2 -2
  242. package/dist/chunk-UKGQ7256.js +0 -12
  243. package/dist/chunk-UQMPEMY7.mjs +0 -12
  244. package/dist/chunk-VNVGSPBI.mjs +0 -626
  245. package/dist/{chunk-OZD75CLT.js → chunk-ANBNSUSR.js} +3 -3
  246. package/dist/{chunk-I2AUOICV.mjs → chunk-M3MOSUZO.mjs} +3 -3
  247. package/dist/{chunk-UMZ3PMUJ.js → chunk-SXHCMZ6U.js} +2 -2
  248. package/dist/{chunk-BWDQZSAB.mjs → chunk-WTSG7QXK.mjs} +3 -3
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  Select
3
- } from "./chunk-KXNWY2Q7.mjs";
3
+ } from "./chunk-WFWEMXO7.mjs";
4
4
  import {
5
5
  Radio
6
- } from "./chunk-NPTXXUXF.mjs";
7
- import {
8
- useTigerConfig
9
- } from "./chunk-QAIBQHIO.mjs";
6
+ } from "./chunk-3RBRWBUG.mjs";
10
7
  import {
11
8
  Empty
12
9
  } from "./chunk-WIWTY74F.mjs";
13
10
  import {
14
11
  Checkbox
15
- } from "./chunk-MSHCPJIJ.mjs";
12
+ } from "./chunk-6BOSSZM3.mjs";
13
+ import {
14
+ useTigerConfig
15
+ } from "./chunk-QAIBQHIO.mjs";
16
16
 
17
17
  // src/components/Table.tsx
18
18
  import { useEffect as useEffect2, useMemo as useMemo2, useRef, useState as useState2 } from "react";
@@ -28,7 +28,7 @@ import {
28
28
  getTableResponsiveTableClasses,
29
29
  getTableVirtualRecommendation,
30
30
  formatTableSelectRowAriaLabel,
31
- formatTableSortByText,
31
+ formatTableSortByText as formatTableSortByText2,
32
32
  getTableLabels,
33
33
  tableBaseClasses,
34
34
  tableResponsiveCardLabelClasses,
@@ -119,7 +119,8 @@ import {
119
119
  groupDataByColumn,
120
120
  getFixedColumnOffsets,
121
121
  freezeTableColumnWidths,
122
- filterHiddenColumns
122
+ filterHiddenColumns,
123
+ orderTableFixedColumns
123
124
  } from "@expcat/tigercat-core";
124
125
  import { exportTableData, downloadTableExport } from "@expcat/tigercat-core";
125
126
  function useTableState(input) {
@@ -149,7 +150,7 @@ function useTableState(input) {
149
150
  onSelectionChange,
150
151
  onSortChange,
151
152
  onFilterChange,
152
- onHiddenColumnsChange,
153
+ onHiddenColumnKeysChange,
153
154
  onPageChange,
154
155
  onExpandChange,
155
156
  onCellChange,
@@ -233,7 +234,7 @@ function useTableState(input) {
233
234
  fixed: hasOverride ? fixedOverrides[column.key] : column.fixed
234
235
  };
235
236
  });
236
- return filterHiddenColumns(mapped, effectiveHiddenColumnKeys);
237
+ return orderTableFixedColumns(filterHiddenColumns(mapped, effectiveHiddenColumnKeys));
237
238
  }, [columns, fixedOverrides, effectiveHiddenColumnKeys]);
238
239
  const totalColumnCount = useMemo(() => {
239
240
  let count = displayColumns.length;
@@ -262,7 +263,7 @@ function useTableState(input) {
262
263
  if (!isHiddenColumnsControlled) {
263
264
  setUncontrolledHiddenColumnKeys(hiddenKeys);
264
265
  }
265
- onHiddenColumnsChange?.(hiddenKeys);
266
+ onHiddenColumnKeysChange?.(hiddenKeys);
266
267
  }
267
268
  function toggleColumnLock(columnKey) {
268
269
  setFixedOverrides((prev) => {
@@ -543,11 +544,21 @@ import {
543
544
  getTableFixedHeaderCellClasses,
544
545
  getFixedColumnStyle,
545
546
  getCheckboxCellClasses,
546
- getExpandIconCellClasses
547
+ getExpandIconCellClasses,
548
+ formatTableSortByText
547
549
  } from "@expcat/tigercat-core";
548
550
  import { jsx as jsx2, jsxs } from "react/jsx-runtime";
549
551
  function renderTableHeader(ctx, view) {
550
- const { size, stickyHeader, rowSelection, expandable, columnLockable, columnDraggable } = view;
552
+ const {
553
+ size,
554
+ stickyHeader,
555
+ rowSelection,
556
+ expandable,
557
+ columnLockable,
558
+ columnDraggable,
559
+ lockColumnAriaLabel,
560
+ unlockColumnAriaLabel
561
+ } = view;
551
562
  const expandHeaderTh = expandable ? /* @__PURE__ */ jsx2("th", { className: getExpandIconCellClasses(size), "aria-label": "Expand" }) : null;
552
563
  const expandAtStart = expandable?.expandIconPosition !== "end";
553
564
  return /* @__PURE__ */ jsx2("thead", { className: getTableHeaderClasses(stickyHeader), children: /* @__PURE__ */ jsxs("tr", { children: [
@@ -605,7 +616,10 @@ function renderTableHeader(ctx, view) {
605
616
  "button",
606
617
  {
607
618
  type: "button",
608
- "aria-label": column.fixed === "left" || column.fixed === "right" ? `Unlock column ${column.title}` : `Lock column ${column.title}`,
619
+ "aria-label": formatTableSortByText(
620
+ column.fixed === "left" || column.fixed === "right" ? unlockColumnAriaLabel : lockColumnAriaLabel,
621
+ String(column.title)
622
+ ),
609
623
  className: classNames(
610
624
  "inline-flex items-center",
611
625
  column.fixed === "left" || column.fixed === "right" ? "text-[var(--tiger-primary,#2563eb)]" : "text-gray-400 hover:text-gray-700"
@@ -913,7 +927,12 @@ function renderPagination(ctx, view) {
913
927
  );
914
928
  const finalPrevAriaLabel = view.disableI18n ? finalPrevText : labels.prevPageAriaLabel;
915
929
  const finalNextAriaLabel = view.disableI18n ? finalNextText : labels.nextPageAriaLabel;
916
- const normalizedPageSizeOptions = paginationConfig.pageSizeOptions || [10, 20, 50, 100];
930
+ const normalizedPageSizeOptions = paginationConfig.pageSizeOptions || [
931
+ 10,
932
+ 20,
933
+ 50,
934
+ 100
935
+ ];
917
936
  return /* @__PURE__ */ jsxs4("div", { className: getSimplePaginationContainerClasses(), children: [
918
937
  paginationConfig.showTotal !== false && /* @__PURE__ */ jsx5("div", { className: getSimplePaginationTotalClasses(), children: finalTotalText }),
919
938
  /* @__PURE__ */ jsxs4("div", { className: getSimplePaginationControlsClasses(), children: [
@@ -1031,7 +1050,7 @@ function Table({
1031
1050
  onSelectionChange,
1032
1051
  onSortChange,
1033
1052
  onFilterChange,
1034
- onHiddenColumnsChange,
1053
+ onHiddenColumnKeysChange,
1035
1054
  onPageChange,
1036
1055
  onExpandChange,
1037
1056
  onCellChange,
@@ -1134,7 +1153,7 @@ function Table({
1134
1153
  onSelectionChange,
1135
1154
  onSortChange,
1136
1155
  onFilterChange,
1137
- onHiddenColumnsChange,
1156
+ onHiddenColumnKeysChange,
1138
1157
  onPageChange,
1139
1158
  onExpandChange,
1140
1159
  onCellChange,
@@ -1246,7 +1265,9 @@ function Table({
1246
1265
  rowSelection: internalRowSelection,
1247
1266
  expandable: internalExpandable,
1248
1267
  columnLockable,
1249
- columnDraggable
1268
+ columnDraggable,
1269
+ lockColumnAriaLabel: tableLabels.lockColumnAriaLabel,
1270
+ unlockColumnAriaLabel: tableLabels.unlockColumnAriaLabel
1250
1271
  }),
1251
1272
  renderTableBody(ctx, {
1252
1273
  size,
@@ -1293,11 +1314,11 @@ function Table({
1293
1314
  { label: tableLabels.clearSortText, value: "" },
1294
1315
  ...ctx.displayColumns.filter((column) => column.sortable).flatMap((column) => [
1295
1316
  {
1296
- label: `${formatTableSortByText(tableLabels.sortByText, column.title)} \u2191`,
1317
+ label: `${formatTableSortByText2(tableLabels.sortByText, column.title)} \u2191`,
1297
1318
  value: `${column.key}:asc`
1298
1319
  },
1299
1320
  {
1300
- label: `${formatTableSortByText(tableLabels.sortByText, column.title)} \u2193`,
1321
+ label: `${formatTableSortByText2(tableLabels.sortByText, column.title)} \u2193`,
1301
1322
  value: `${column.key}:desc`
1302
1323
  }
1303
1324
  ])
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ImagePreview
3
- } from "./chunk-6GYT3EZD.mjs";
3
+ } from "./chunk-KXT2TP6A.mjs";
4
4
 
5
5
  // src/components/ImageGroup.tsx
6
6
  import { useState, useCallback, useMemo, createContext, useRef } from "react";
@@ -22,18 +22,16 @@ import {
22
22
  messageCloseIconPath,
23
23
  isBrowser,
24
24
  ANIMATION_DURATION_MS,
25
- normalizeStringOption
25
+ normalizeStringOption,
26
+ createInstanceCounter
26
27
  } from "@expcat/tigercat-core";
27
28
  import { jsx, jsxs } from "react/jsx-runtime";
28
29
  var MESSAGE_CONTAINER_ID = "tiger-message-container";
29
30
  var MESSAGE_CLOSE_ARIA_LABEL = "Close message";
30
31
  var messageInstances = [];
31
- var instanceIdCounter = 0;
32
32
  var containerRoot = null;
33
33
  var updateCallback = null;
34
- function getNextInstanceId() {
35
- return ++instanceIdCounter;
36
- }
34
+ var getNextInstanceId = createInstanceCounter();
37
35
  var MessageItem = ({ message, onClose }) => {
38
36
  const [isVisible, setIsVisible] = useState(false);
39
37
  useEffect(() => {
@@ -1,4 +1,8 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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/NumberKeyboard.tsx
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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/NumberKeyboard.tsx
2
6
  var _react = require('react');
3
7
 
4
8
 
@@ -10,6 +14,8 @@ var _react = require('react');
10
14
 
11
15
 
12
16
 
17
+
18
+
13
19
  var _tigercatcore = require('@expcat/tigercat-core');
14
20
  var _jsxruntime = require('react/jsx-runtime');
15
21
  var NumberKeyboard = ({
@@ -21,10 +27,11 @@ var NumberKeyboard = ({
21
27
  decimalSeparator = ".",
22
28
  disabled = false,
23
29
  readonly = false,
24
- confirmText = "Done",
30
+ confirmText,
25
31
  deleteText = "Delete",
26
32
  ariaLabel = "Number keyboard",
27
33
  showConfirm = true,
34
+ locale,
28
35
  className,
29
36
  style,
30
37
  onChange,
@@ -33,17 +40,29 @@ var NumberKeyboard = ({
33
40
  onConfirm,
34
41
  ...rest
35
42
  }) => {
43
+ const config = _chunkTDODFBBOjs.useTigerConfig.call(void 0, );
44
+ const mergedLocale = _react.useMemo.call(void 0,
45
+ () => _tigercatcore.mergeTigerLocale.call(void 0, config.locale, locale),
46
+ [config.locale, locale]
47
+ );
48
+ const confirmLabel = _tigercatcore.resolveLocaleText.call(void 0, "Done", confirmText, _optionalChain([mergedLocale, 'optionalAccess', _ => _.common, 'optionalAccess', _2 => _2.okText]));
36
49
  const isControlled = value !== void 0;
37
50
  const [innerValue, setInnerValue] = _react.useState.call(void 0, () => _tigercatcore.normalizeNumberKeyboardValue.call(void 0, defaultValue));
38
51
  const currentValue = isControlled ? _tigercatcore.normalizeNumberKeyboardValue.call(void 0, value) : innerValue;
39
52
  const isDisabled = disabled || readonly;
40
53
  const keys = _react.useMemo.call(void 0,
41
- () => _tigercatcore.getNumberKeyboardKeys.call(void 0, { mode, decimalSeparator, deleteText, confirmText, showConfirm }),
42
- [confirmText, decimalSeparator, deleteText, mode, showConfirm]
54
+ () => _tigercatcore.getNumberKeyboardKeys.call(void 0, {
55
+ mode,
56
+ decimalSeparator,
57
+ deleteText,
58
+ confirmText: confirmLabel,
59
+ showConfirm
60
+ }),
61
+ [confirmLabel, decimalSeparator, deleteText, mode, showConfirm]
43
62
  );
44
63
  function emitChange(nextValue, payload) {
45
64
  if (!isControlled) setInnerValue(nextValue);
46
- _optionalChain([onChange, 'optionalCall', _ => _(nextValue, payload)]);
65
+ _optionalChain([onChange, 'optionalCall', _3 => _3(nextValue, payload)]);
47
66
  }
48
67
  function handleKeyClick(key) {
49
68
  if (isDisabled || key.type === "empty") return;
@@ -60,12 +79,12 @@ var NumberKeyboard = ({
60
79
  action,
61
80
  mode
62
81
  };
63
- _optionalChain([onKeyPress, 'optionalCall', _2 => _2(key, payload)]);
82
+ _optionalChain([onKeyPress, 'optionalCall', _4 => _4(key, payload)]);
64
83
  if (action === "confirm") {
65
- _optionalChain([onConfirm, 'optionalCall', _3 => _3(currentValue, { ...payload, value: currentValue })]);
84
+ _optionalChain([onConfirm, 'optionalCall', _5 => _5(currentValue, { ...payload, value: currentValue })]);
66
85
  return;
67
86
  }
68
- if (action === "delete") _optionalChain([onDelete, 'optionalCall', _4 => _4(nextValue, payload)]);
87
+ if (action === "delete") _optionalChain([onDelete, 'optionalCall', _6 => _6(nextValue, payload)]);
69
88
  if (nextValue !== currentValue) emitChange(nextValue, payload);
70
89
  }
71
90
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -4,13 +4,13 @@ import {
4
4
  } from "./chunk-ELRZ2ZHM.mjs";
5
5
  import {
6
6
  List
7
- } from "./chunk-A42OLED6.mjs";
7
+ } from "./chunk-KED5S2WG.mjs";
8
8
  import {
9
9
  Button
10
10
  } from "./chunk-5TE7KLE5.mjs";
11
11
  import {
12
12
  Loading
13
- } from "./chunk-FNJDBFKM.mjs";
13
+ } from "./chunk-2LYV6NBJ.mjs";
14
14
  import {
15
15
  Text
16
16
  } from "./chunk-HLS4CHWX.mjs";
@@ -208,15 +208,30 @@ var NotificationCenter = ({
208
208
  /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
209
209
  /* @__PURE__ */ jsxs("div", { className: "flex items-baseline justify-between gap-2", children: [
210
210
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
211
- /* @__PURE__ */ jsx(Text, { tag: "span", size: "sm", weight: isRead ? "normal" : "semibold", className: isRead ? "text-gray-600 dark:text-gray-400" : "text-gray-900 dark:text-gray-100", children: item.title }),
211
+ /* @__PURE__ */ jsx(
212
+ Text,
213
+ {
214
+ tag: "span",
215
+ size: "sm",
216
+ weight: isRead ? "normal" : "semibold",
217
+ className: isRead ? "text-gray-600 dark:text-gray-400" : "text-gray-900 dark:text-gray-100",
218
+ children: item.title
219
+ }
220
+ ),
212
221
  !isRead && /* @__PURE__ */ jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-blue-500 dark:bg-blue-400 shrink-0 shadow-sm shadow-blue-500/40 animate-pulse" })
213
222
  ] }),
214
223
  timeText ? /* @__PURE__ */ jsx("span", { className: "text-[11px] text-gray-400 dark:text-gray-500 font-medium whitespace-nowrap flex-shrink-0 self-center", children: timeText }) : null
215
224
  ] }),
216
- item.description ? /* @__PURE__ */ jsx("div", { className: classNames(
217
- "mt-1 text-xs leading-relaxed line-clamp-2",
218
- isRead ? "text-gray-500 dark:text-gray-400" : "text-gray-600 dark:text-gray-300"
219
- ), children: item.description }) : null
225
+ item.description ? /* @__PURE__ */ jsx(
226
+ "div",
227
+ {
228
+ className: classNames(
229
+ "mt-1 text-xs leading-relaxed line-clamp-2",
230
+ isRead ? "text-gray-500 dark:text-gray-400" : "text-gray-600 dark:text-gray-300"
231
+ ),
232
+ children: item.description
233
+ }
234
+ ) : null
220
235
  ] }),
221
236
  /* @__PURE__ */ jsx(
222
237
  Button,
@@ -245,8 +260,34 @@ var NotificationCenter = ({
245
260
  const renderList = (listItems) => {
246
261
  if (listItems.length === 0) {
247
262
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center py-14 px-4 text-center", children: [
248
- /* @__PURE__ */ jsx("div", { className: "p-3.5 bg-gray-50 dark:bg-gray-900 rounded-full mb-3 shadow-inner", children: /* @__PURE__ */ jsx("svg", { className: "w-8 h-8 text-gray-400 dark:text-gray-600 animate-pulse", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M14.857 17.082a23.848 23.848 0 0 0 5.454-1.31A8.967 8.967 0 0 1 18 9.75V9A6 6 0 0 0 6 9v.75a8.967 8.967 0 0 1-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 0 1-5.714 0m5.714 0a3 3 0 1 1-5.714 0" }) }) }),
249
- /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", color: "muted", className: "font-semibold text-gray-400 dark:text-gray-500", children: emptyText })
263
+ /* @__PURE__ */ jsx("div", { className: "p-3.5 bg-gray-50 dark:bg-gray-900 rounded-full mb-3 shadow-inner", children: /* @__PURE__ */ jsx(
264
+ "svg",
265
+ {
266
+ className: "w-8 h-8 text-gray-400 dark:text-gray-600 animate-pulse",
267
+ fill: "none",
268
+ viewBox: "0 0 24 24",
269
+ stroke: "currentColor",
270
+ strokeWidth: "1.5",
271
+ children: /* @__PURE__ */ jsx(
272
+ "path",
273
+ {
274
+ strokeLinecap: "round",
275
+ strokeLinejoin: "round",
276
+ d: "M14.857 17.082a23.848 23.848 0 0 0 5.454-1.31A8.967 8.967 0 0 1 18 9.75V9A6 6 0 0 0 6 9v.75a8.967 8.967 0 0 1-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 0 1-5.714 0m5.714 0a3 3 0 1 1-5.714 0"
277
+ }
278
+ )
279
+ }
280
+ ) }),
281
+ /* @__PURE__ */ jsx(
282
+ Text,
283
+ {
284
+ tag: "div",
285
+ size: "sm",
286
+ color: "muted",
287
+ className: "font-semibold text-gray-400 dark:text-gray-500",
288
+ children: emptyText
289
+ }
290
+ )
250
291
  ] });
251
292
  }
252
293
  return /* @__PURE__ */ jsx(
@@ -279,7 +320,16 @@ var NotificationCenter = ({
279
320
  header: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
280
321
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
281
322
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2.5", children: [
282
- /* @__PURE__ */ jsx(Text, { tag: "div", size: "base", weight: "bold", className: "text-gray-900 dark:text-gray-100", children: title }),
323
+ /* @__PURE__ */ jsx(
324
+ Text,
325
+ {
326
+ tag: "div",
327
+ size: "base",
328
+ weight: "bold",
329
+ className: "text-gray-900 dark:text-gray-100",
330
+ children: title
331
+ }
332
+ ),
283
333
  totalUnread > 0 ? /* @__PURE__ */ jsx("span", { className: "inline-flex items-center justify-center min-w-[20px] h-5 px-1.5 text-[11px] font-bold rounded-full bg-gradient-to-r from-blue-500 to-indigo-600 text-white shadow-sm shadow-blue-500/20 animate-pulse", children: totalUnread }) : null
284
334
  ] }),
285
335
  /* @__PURE__ */ jsx(
@@ -1,6 +1,6 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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; }
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkUKGQ7256js = require('./chunk-UKGQ7256.js');
3
+ var _chunkL3WPA2RPjs = require('./chunk-L3WPA2RP.js');
4
4
 
5
5
  // src/components/CheckboxGroup.tsx
6
6
  var _react = require('react');
@@ -19,7 +19,7 @@ var CheckboxGroup = ({
19
19
  className,
20
20
  ...props
21
21
  }) => {
22
- const [value, setInternalValue, isControlled] = _chunkUKGQ7256js.useControlledState.call(void 0, controlledValue, defaultValue);
22
+ const [value, setValue] = _chunkL3WPA2RPjs.useControlledState.call(void 0, controlledValue, defaultValue, onChange);
23
23
  const updateValue = (val, checked) => {
24
24
  if (disabled) return;
25
25
  const currentValue = [...value];
@@ -29,10 +29,7 @@ var CheckboxGroup = ({
29
29
  } else if (!checked && index !== -1) {
30
30
  currentValue.splice(index, 1);
31
31
  }
32
- if (!isControlled) {
33
- setInternalValue(currentValue);
34
- }
35
- _optionalChain([onChange, 'optionalCall', _ => _(currentValue)]);
32
+ setValue(currentValue);
36
33
  };
37
34
  const context = {
38
35
  value,