@expcat/tigercat-core 1.2.30 → 1.2.33

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 (67) hide show
  1. package/dist/index.cjs +172 -28
  2. package/dist/index.d.cts +63 -182
  3. package/dist/index.d.ts +63 -182
  4. package/dist/index.js +159 -28
  5. package/dist/{locale-Bc3zz2b0.d.ts → locale-B_WkH8fG.d.ts} +2 -0
  6. package/dist/{locale-9-B-d0mp.d.cts → locale-Cvl0yrRV.d.cts} +2 -0
  7. package/dist/locales/ar-SA.cjs +4 -2
  8. package/dist/locales/ar-SA.d.cts +1 -1
  9. package/dist/locales/ar-SA.d.ts +1 -1
  10. package/dist/locales/ar-SA.js +4 -2
  11. package/dist/locales/de-DE.cjs +4 -2
  12. package/dist/locales/de-DE.d.cts +1 -1
  13. package/dist/locales/de-DE.d.ts +1 -1
  14. package/dist/locales/de-DE.js +4 -2
  15. package/dist/locales/en-US.cjs +2 -1
  16. package/dist/locales/en-US.d.cts +1 -1
  17. package/dist/locales/en-US.d.ts +1 -1
  18. package/dist/locales/en-US.js +2 -1
  19. package/dist/locales/es-ES.cjs +4 -2
  20. package/dist/locales/es-ES.d.cts +1 -1
  21. package/dist/locales/es-ES.d.ts +1 -1
  22. package/dist/locales/es-ES.js +4 -2
  23. package/dist/locales/fr-FR.cjs +4 -2
  24. package/dist/locales/fr-FR.d.cts +1 -1
  25. package/dist/locales/fr-FR.d.ts +1 -1
  26. package/dist/locales/fr-FR.js +4 -2
  27. package/dist/locales/id-ID.cjs +2 -1
  28. package/dist/locales/id-ID.d.cts +1 -1
  29. package/dist/locales/id-ID.d.ts +1 -1
  30. package/dist/locales/id-ID.js +2 -1
  31. package/dist/locales/ja-JP.cjs +2 -1
  32. package/dist/locales/ja-JP.d.cts +1 -1
  33. package/dist/locales/ja-JP.d.ts +1 -1
  34. package/dist/locales/ja-JP.js +2 -1
  35. package/dist/locales/ko-KR.cjs +2 -1
  36. package/dist/locales/ko-KR.d.cts +1 -1
  37. package/dist/locales/ko-KR.d.ts +1 -1
  38. package/dist/locales/ko-KR.js +2 -1
  39. package/dist/locales/pt-BR.cjs +4 -2
  40. package/dist/locales/pt-BR.d.cts +1 -1
  41. package/dist/locales/pt-BR.d.ts +1 -1
  42. package/dist/locales/pt-BR.js +4 -2
  43. package/dist/locales/th-TH.cjs +2 -1
  44. package/dist/locales/th-TH.d.cts +1 -1
  45. package/dist/locales/th-TH.d.ts +1 -1
  46. package/dist/locales/th-TH.js +2 -1
  47. package/dist/locales/vi-VN.cjs +2 -1
  48. package/dist/locales/vi-VN.d.cts +1 -1
  49. package/dist/locales/vi-VN.d.ts +1 -1
  50. package/dist/locales/vi-VN.js +2 -1
  51. package/dist/locales/zh-CN.cjs +2 -1
  52. package/dist/locales/zh-CN.d.cts +1 -1
  53. package/dist/locales/zh-CN.d.ts +1 -1
  54. package/dist/locales/zh-CN.js +2 -1
  55. package/dist/locales/zh-TW.cjs +2 -1
  56. package/dist/locales/zh-TW.d.cts +1 -1
  57. package/dist/locales/zh-TW.d.ts +1 -1
  58. package/dist/locales/zh-TW.js +2 -1
  59. package/dist/{table-export-C-BAknOZ.d.ts → table-export-C4Yqu5JI.d.ts} +196 -4
  60. package/dist/{table-export-D7_CDqY7.d.cts → table-export-DDANRyCp.d.cts} +196 -4
  61. package/dist/utils/table-export.d.cts +2 -2
  62. package/dist/utils/table-export.d.ts +2 -2
  63. package/package.json +1 -1
  64. package/tokens/figma-variables.json +12 -0
  65. package/tokens/tailwind-tokens.js +6 -3
  66. package/tokens/tokens.css +32 -15
  67. package/tokens/tokens.json +1 -0
@@ -48,7 +48,8 @@ var jaJP = {
48
48
  pageText: "\u30DA\u30FC\u30B8",
49
49
  prevPageAriaLabel: "\u524D\u306E\u30DA\u30FC\u30B8",
50
50
  nextPageAriaLabel: "\u6B21\u306E\u30DA\u30FC\u30B8",
51
- pageAriaLabel: "{page} \u30DA\u30FC\u30B8"
51
+ pageAriaLabel: "{page} \u30DA\u30FC\u30B8",
52
+ pageIndicatorText: "\u5168 {total} \u30DA\u30FC\u30B8\u4E2D {current} \u30DA\u30FC\u30B8"
52
53
  },
53
54
  formWizard: {
54
55
  prevText: "\u524D\u3078",
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-9-B-d0mp.cjs';
1
+ import { T as TigerLocale } from '../locale-Cvl0yrRV.cjs';
2
2
  import '../datepicker-DXzS_8l8.cjs';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-Bc3zz2b0.js';
1
+ import { T as TigerLocale } from '../locale-B_WkH8fG.js';
2
2
  import '../datepicker-DXzS_8l8.js';
3
3
 
4
4
  /**
@@ -24,7 +24,8 @@ var jaJP = {
24
24
  pageText: "\u30DA\u30FC\u30B8",
25
25
  prevPageAriaLabel: "\u524D\u306E\u30DA\u30FC\u30B8",
26
26
  nextPageAriaLabel: "\u6B21\u306E\u30DA\u30FC\u30B8",
27
- pageAriaLabel: "{page} \u30DA\u30FC\u30B8"
27
+ pageAriaLabel: "{page} \u30DA\u30FC\u30B8",
28
+ pageIndicatorText: "\u5168 {total} \u30DA\u30FC\u30B8\u4E2D {current} \u30DA\u30FC\u30B8"
28
29
  },
29
30
  formWizard: {
30
31
  prevText: "\u524D\u3078",
@@ -48,7 +48,8 @@ var koKR = {
48
48
  pageText: "\uD398\uC774\uC9C0",
49
49
  prevPageAriaLabel: "\uC774\uC804 \uD398\uC774\uC9C0",
50
50
  nextPageAriaLabel: "\uB2E4\uC74C \uD398\uC774\uC9C0",
51
- pageAriaLabel: "{page} \uD398\uC774\uC9C0"
51
+ pageAriaLabel: "{page} \uD398\uC774\uC9C0",
52
+ pageIndicatorText: "\uC804\uCCB4 {total}\uD398\uC774\uC9C0 \uC911 {current}\uD398\uC774\uC9C0"
52
53
  },
53
54
  formWizard: {
54
55
  prevText: "\uC774\uC804",
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-9-B-d0mp.cjs';
1
+ import { T as TigerLocale } from '../locale-Cvl0yrRV.cjs';
2
2
  import '../datepicker-DXzS_8l8.cjs';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-Bc3zz2b0.js';
1
+ import { T as TigerLocale } from '../locale-B_WkH8fG.js';
2
2
  import '../datepicker-DXzS_8l8.js';
3
3
 
4
4
  /**
@@ -24,7 +24,8 @@ var koKR = {
24
24
  pageText: "\uD398\uC774\uC9C0",
25
25
  prevPageAriaLabel: "\uC774\uC804 \uD398\uC774\uC9C0",
26
26
  nextPageAriaLabel: "\uB2E4\uC74C \uD398\uC774\uC9C0",
27
- pageAriaLabel: "{page} \uD398\uC774\uC9C0"
27
+ pageAriaLabel: "{page} \uD398\uC774\uC9C0",
28
+ pageIndicatorText: "\uC804\uCCB4 {total}\uD398\uC774\uC9C0 \uC911 {current}\uD398\uC774\uC9C0"
28
29
  },
29
30
  formWizard: {
30
31
  prevText: "\uC774\uC804",
@@ -51,7 +51,8 @@ var enUS = {
51
51
  pageText: "page",
52
52
  prevPageAriaLabel: "Previous page",
53
53
  nextPageAriaLabel: "Next page",
54
- pageAriaLabel: "Page {page}"
54
+ pageAriaLabel: "Page {page}",
55
+ pageIndicatorText: "Page {current} of {total}"
55
56
  },
56
57
  formWizard: {
57
58
  prevText: "Previous",
@@ -133,7 +134,8 @@ var ptBR = defineLocale({
133
134
  pageText: "p\xE1gina",
134
135
  prevPageAriaLabel: "P\xE1gina anterior",
135
136
  nextPageAriaLabel: "Pr\xF3xima p\xE1gina",
136
- pageAriaLabel: "P\xE1gina {page}"
137
+ pageAriaLabel: "P\xE1gina {page}",
138
+ pageIndicatorText: "P\xE1gina {current} de {total}"
137
139
  },
138
140
  formWizard: {
139
141
  prevText: "Anterior",
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-9-B-d0mp.cjs';
1
+ import { T as TigerLocale } from '../locale-Cvl0yrRV.cjs';
2
2
  import '../datepicker-DXzS_8l8.cjs';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-Bc3zz2b0.js';
1
+ import { T as TigerLocale } from '../locale-B_WkH8fG.js';
2
2
  import '../datepicker-DXzS_8l8.js';
3
3
 
4
4
  /**
@@ -24,7 +24,8 @@ var enUS = {
24
24
  pageText: "page",
25
25
  prevPageAriaLabel: "Previous page",
26
26
  nextPageAriaLabel: "Next page",
27
- pageAriaLabel: "Page {page}"
27
+ pageAriaLabel: "Page {page}",
28
+ pageIndicatorText: "Page {current} of {total}"
28
29
  },
29
30
  formWizard: {
30
31
  prevText: "Previous",
@@ -106,7 +107,8 @@ var ptBR = defineLocale({
106
107
  pageText: "p\xE1gina",
107
108
  prevPageAriaLabel: "P\xE1gina anterior",
108
109
  nextPageAriaLabel: "Pr\xF3xima p\xE1gina",
109
- pageAriaLabel: "P\xE1gina {page}"
110
+ pageAriaLabel: "P\xE1gina {page}",
111
+ pageIndicatorText: "P\xE1gina {current} de {total}"
110
112
  },
111
113
  formWizard: {
112
114
  prevText: "Anterior",
@@ -48,7 +48,8 @@ var thTH = {
48
48
  pageText: "\u0E2B\u0E19\u0E49\u0E32",
49
49
  prevPageAriaLabel: "\u0E2B\u0E19\u0E49\u0E32\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32",
50
50
  nextPageAriaLabel: "\u0E2B\u0E19\u0E49\u0E32\u0E16\u0E31\u0E14\u0E44\u0E1B",
51
- pageAriaLabel: "\u0E2B\u0E19\u0E49\u0E32 {page}"
51
+ pageAriaLabel: "\u0E2B\u0E19\u0E49\u0E32 {page}",
52
+ pageIndicatorText: "\u0E2B\u0E19\u0E49\u0E32 {current} \u0E08\u0E32\u0E01 {total}"
52
53
  },
53
54
  formWizard: {
54
55
  prevText: "\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32",
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-9-B-d0mp.cjs';
1
+ import { T as TigerLocale } from '../locale-Cvl0yrRV.cjs';
2
2
  import '../datepicker-DXzS_8l8.cjs';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-Bc3zz2b0.js';
1
+ import { T as TigerLocale } from '../locale-B_WkH8fG.js';
2
2
  import '../datepicker-DXzS_8l8.js';
3
3
 
4
4
  /**
@@ -24,7 +24,8 @@ var thTH = {
24
24
  pageText: "\u0E2B\u0E19\u0E49\u0E32",
25
25
  prevPageAriaLabel: "\u0E2B\u0E19\u0E49\u0E32\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32",
26
26
  nextPageAriaLabel: "\u0E2B\u0E19\u0E49\u0E32\u0E16\u0E31\u0E14\u0E44\u0E1B",
27
- pageAriaLabel: "\u0E2B\u0E19\u0E49\u0E32 {page}"
27
+ pageAriaLabel: "\u0E2B\u0E19\u0E49\u0E32 {page}",
28
+ pageIndicatorText: "\u0E2B\u0E19\u0E49\u0E32 {current} \u0E08\u0E32\u0E01 {total}"
28
29
  },
29
30
  formWizard: {
30
31
  prevText: "\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32",
@@ -48,7 +48,8 @@ var viVN = {
48
48
  pageText: "trang",
49
49
  prevPageAriaLabel: "Trang tr\u01B0\u1EDBc",
50
50
  nextPageAriaLabel: "Trang sau",
51
- pageAriaLabel: "Trang {page}"
51
+ pageAriaLabel: "Trang {page}",
52
+ pageIndicatorText: "Trang {current} / {total}"
52
53
  },
53
54
  formWizard: {
54
55
  prevText: "Tr\u01B0\u1EDBc",
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-9-B-d0mp.cjs';
1
+ import { T as TigerLocale } from '../locale-Cvl0yrRV.cjs';
2
2
  import '../datepicker-DXzS_8l8.cjs';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-Bc3zz2b0.js';
1
+ import { T as TigerLocale } from '../locale-B_WkH8fG.js';
2
2
  import '../datepicker-DXzS_8l8.js';
3
3
 
4
4
  /**
@@ -24,7 +24,8 @@ var viVN = {
24
24
  pageText: "trang",
25
25
  prevPageAriaLabel: "Trang tr\u01B0\u1EDBc",
26
26
  nextPageAriaLabel: "Trang sau",
27
- pageAriaLabel: "Trang {page}"
27
+ pageAriaLabel: "Trang {page}",
28
+ pageIndicatorText: "Trang {current} / {total}"
28
29
  },
29
30
  formWizard: {
30
31
  prevText: "Tr\u01B0\u1EDBc",
@@ -48,7 +48,8 @@ var zhCN = {
48
48
  pageText: "\u9875",
49
49
  prevPageAriaLabel: "\u4E0A\u4E00\u9875",
50
50
  nextPageAriaLabel: "\u4E0B\u4E00\u9875",
51
- pageAriaLabel: "\u7B2C {page} \u9875"
51
+ pageAriaLabel: "\u7B2C {page} \u9875",
52
+ pageIndicatorText: "\u7B2C {current} \u9875\uFF0C\u5171 {total} \u9875"
52
53
  },
53
54
  formWizard: {
54
55
  prevText: "\u4E0A\u4E00\u6B65",
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-9-B-d0mp.cjs';
1
+ import { T as TigerLocale } from '../locale-Cvl0yrRV.cjs';
2
2
  import '../datepicker-DXzS_8l8.cjs';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-Bc3zz2b0.js';
1
+ import { T as TigerLocale } from '../locale-B_WkH8fG.js';
2
2
  import '../datepicker-DXzS_8l8.js';
3
3
 
4
4
  /**
@@ -24,7 +24,8 @@ var zhCN = {
24
24
  pageText: "\u9875",
25
25
  prevPageAriaLabel: "\u4E0A\u4E00\u9875",
26
26
  nextPageAriaLabel: "\u4E0B\u4E00\u9875",
27
- pageAriaLabel: "\u7B2C {page} \u9875"
27
+ pageAriaLabel: "\u7B2C {page} \u9875",
28
+ pageIndicatorText: "\u7B2C {current} \u9875\uFF0C\u5171 {total} \u9875"
28
29
  },
29
30
  formWizard: {
30
31
  prevText: "\u4E0A\u4E00\u6B65",
@@ -48,7 +48,8 @@ var zhTW = {
48
48
  pageText: "\u9801",
49
49
  prevPageAriaLabel: "\u4E0A\u4E00\u9801",
50
50
  nextPageAriaLabel: "\u4E0B\u4E00\u9801",
51
- pageAriaLabel: "\u7B2C {page} \u9801"
51
+ pageAriaLabel: "\u7B2C {page} \u9801",
52
+ pageIndicatorText: "\u7B2C {current} \u9801\uFF0C\u5171 {total} \u9801"
52
53
  },
53
54
  formWizard: {
54
55
  prevText: "\u4E0A\u4E00\u6B65",
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-9-B-d0mp.cjs';
1
+ import { T as TigerLocale } from '../locale-Cvl0yrRV.cjs';
2
2
  import '../datepicker-DXzS_8l8.cjs';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-Bc3zz2b0.js';
1
+ import { T as TigerLocale } from '../locale-B_WkH8fG.js';
2
2
  import '../datepicker-DXzS_8l8.js';
3
3
 
4
4
  /**
@@ -24,7 +24,8 @@ var zhTW = {
24
24
  pageText: "\u9801",
25
25
  prevPageAriaLabel: "\u4E0A\u4E00\u9801",
26
26
  nextPageAriaLabel: "\u4E0B\u4E00\u9801",
27
- pageAriaLabel: "\u7B2C {page} \u9801"
27
+ pageAriaLabel: "\u7B2C {page} \u9801",
28
+ pageIndicatorText: "\u7B2C {current} \u9801\uFF0C\u5171 {total} \u9801"
28
29
  },
29
30
  formWizard: {
30
31
  prevText: "\u4E0A\u4E00\u6B65",
@@ -1,4 +1,169 @@
1
- import { a as TigerLocaleInput } from './locale-Bc3zz2b0.js';
1
+ import { a as TigerLocaleInput } from './locale-B_WkH8fG.js';
2
+
3
+ /**
4
+ * Pagination component types and interfaces
5
+ */
6
+
7
+ /**
8
+ * Pagination size type
9
+ */
10
+ type PaginationSize = 'small' | 'medium' | 'large';
11
+ /**
12
+ * Pagination alignment type
13
+ */
14
+ type PaginationAlign = 'left' | 'center' | 'right';
15
+ /**
16
+ * Page size option type
17
+ */
18
+ interface PaginationPageSizeOption {
19
+ value: number;
20
+ label?: string;
21
+ }
22
+ type PaginationPageSizeOptionItem = number | PaginationPageSizeOption;
23
+ /**
24
+ * Quick jumper validation scheduling strategy.
25
+ */
26
+ interface PaginationQuickJumperValidationOptions {
27
+ /**
28
+ * Debounce delay before validation is scheduled during idle time.
29
+ * @default 120
30
+ */
31
+ delay?: number;
32
+ /**
33
+ * Maximum time to wait for requestIdleCallback before running validation.
34
+ * @default 250
35
+ */
36
+ timeout?: number;
37
+ }
38
+ /**
39
+ * Base pagination props interface
40
+ */
41
+ interface PaginationProps {
42
+ /**
43
+ * Current page number (1-indexed)
44
+ * @default 1
45
+ */
46
+ current?: number;
47
+ /**
48
+ * Default current page (for uncontrolled mode)
49
+ * @default 1
50
+ */
51
+ defaultCurrent?: number;
52
+ /**
53
+ * Total number of items
54
+ * @default 0
55
+ */
56
+ total?: number;
57
+ /**
58
+ * Number of items per page
59
+ * @default 10
60
+ */
61
+ pageSize?: number;
62
+ /**
63
+ * Default page size (for uncontrolled mode)
64
+ * @default 10
65
+ */
66
+ defaultPageSize?: number;
67
+ /**
68
+ * Available page size options
69
+ * @default [10, 20, 50, 100]
70
+ */
71
+ pageSizeOptions?: PaginationPageSizeOptionItem[];
72
+ /**
73
+ * Whether to show quick jumper (input for page number)
74
+ * @default false
75
+ */
76
+ showQuickJumper?: boolean;
77
+ /**
78
+ * Quick jumper delayed validation timing.
79
+ */
80
+ quickJumperValidation?: PaginationQuickJumperValidationOptions;
81
+ /**
82
+ * Whether to show page size selector
83
+ * @default false
84
+ */
85
+ showSizeChanger?: boolean;
86
+ /**
87
+ * Whether to show total count
88
+ * @default true
89
+ */
90
+ showTotal?: boolean;
91
+ /**
92
+ * Custom total text renderer
93
+ * @param total - Total number of items
94
+ * @param range - Current page range [start, end]
95
+ * @returns Custom text to display
96
+ */
97
+ totalText?: (total: number, range: [number, number]) => string;
98
+ /**
99
+ * Simple mode - only show prev/next buttons
100
+ * @default false
101
+ */
102
+ simple?: boolean;
103
+ /**
104
+ * Size of pagination
105
+ * @default 'medium'
106
+ */
107
+ size?: PaginationSize;
108
+ /**
109
+ * Alignment of pagination
110
+ * @default 'center'
111
+ */
112
+ align?: PaginationAlign;
113
+ /**
114
+ * Whether pagination is disabled
115
+ * @default false
116
+ */
117
+ disabled?: boolean;
118
+ /**
119
+ * Whether to hide pagination on single page
120
+ * @default false
121
+ */
122
+ hideOnSinglePage?: boolean;
123
+ /**
124
+ * Whether to show fewer page buttons around current page
125
+ * @default false
126
+ */
127
+ showLessItems?: boolean;
128
+ /**
129
+ * Additional CSS classes
130
+ */
131
+ className?: string;
132
+ /**
133
+ * Custom styles
134
+ */
135
+ style?: Record<string, string | number>;
136
+ /**
137
+ * Locale configuration. Accepts a sync locale, promise, or lazy loader.
138
+ */
139
+ locale?: TigerLocaleInput;
140
+ }
141
+ /**
142
+ * Page change event info
143
+ */
144
+ interface PageChangeInfo {
145
+ /**
146
+ * New current page
147
+ */
148
+ current: number;
149
+ /**
150
+ * Current page size
151
+ */
152
+ pageSize: number;
153
+ }
154
+ /**
155
+ * Page size change event info
156
+ */
157
+ interface PageSizeChangeInfo {
158
+ /**
159
+ * Current page (might be adjusted)
160
+ */
161
+ current: number;
162
+ /**
163
+ * New page size
164
+ */
165
+ pageSize: number;
166
+ }
2
167
 
3
168
  /**
4
169
  * Table component types and interfaces
@@ -10,6 +175,7 @@ import { a as TigerLocaleInput } from './locale-Bc3zz2b0.js';
10
175
  type TableSize = 'sm' | 'md' | 'lg';
11
176
  type TableExportFormat = 'csv' | 'excel';
12
177
  type TableResponsiveMode = 'card' | 'scroll';
178
+ type TableFixedPosition = 'left' | 'right';
13
179
  /**
14
180
  * Sort direction
15
181
  */
@@ -31,6 +197,24 @@ interface SortState {
31
197
  * Column alignment
32
198
  */
33
199
  type ColumnAlign = 'left' | 'center' | 'right';
200
+ interface TableFixedHeaderClassNameContext<T = Record<string, unknown>> {
201
+ view: 'table' | 'virtual-table';
202
+ column: TableColumn<T>;
203
+ fixed: TableFixedPosition;
204
+ stickyHeader: boolean;
205
+ }
206
+ interface TableFixedCellClassNameContext<T = Record<string, unknown>> {
207
+ view: 'table' | 'virtual-table';
208
+ column: TableColumn<T>;
209
+ fixed: TableFixedPosition;
210
+ record: T;
211
+ rowIndex: number;
212
+ striped: boolean;
213
+ selected: boolean;
214
+ hoverable: boolean;
215
+ }
216
+ type TableFixedHeaderClassName<T = Record<string, unknown>> = string | ((context: TableFixedHeaderClassNameContext<T>) => string | undefined | null | false);
217
+ type TableFixedCellClassName<T = Record<string, unknown>> = string | ((context: TableFixedCellClassNameContext<T>) => string | undefined | null | false);
34
218
  /**
35
219
  * Filter type
36
220
  */
@@ -119,7 +303,7 @@ interface TableColumn<T = Record<string, unknown>> {
119
303
  * Whether column is fixed
120
304
  * @default false
121
305
  */
122
- fixed?: 'left' | 'right' | false;
306
+ fixed?: TableFixedPosition | false;
123
307
  /**
124
308
  * Custom render function for cell content
125
309
  * Framework-specific implementations will handle this differently
@@ -133,10 +317,18 @@ interface TableColumn<T = Record<string, unknown>> {
133
317
  * CSS class for column cells
134
318
  */
135
319
  className?: string;
320
+ /**
321
+ * CSS class for fixed column cells, or a resolver based on row state.
322
+ */
323
+ fixedClassName?: TableFixedCellClassName<T>;
136
324
  /**
137
325
  * CSS class for header cell
138
326
  */
139
327
  headerClassName?: string;
328
+ /**
329
+ * CSS class for fixed column header cells, or a resolver for sticky header state.
330
+ */
331
+ fixedHeaderClassName?: TableFixedHeaderClassName<T>;
140
332
  }
141
333
  /**
142
334
  * Pagination configuration
@@ -172,7 +364,7 @@ interface PaginationConfig {
172
364
  * Available page size options
173
365
  * @default [10, 20, 50, 100]
174
366
  */
175
- pageSizeOptions?: number[];
367
+ pageSizeOptions?: PaginationPageSizeOptionItem[];
176
368
  /**
177
369
  * Whether to show page size selector
178
370
  * @default true
@@ -510,4 +702,4 @@ declare function downloadTableExport(content: string, filename?: string, format?
510
702
  */
511
703
  declare const tableExportButtonClasses = "inline-flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] text-[var(--tiger-text,#111827)] bg-[var(--tiger-surface,#ffffff)] hover:bg-[var(--tiger-surface-muted,#f9fafb)] transition-colors";
512
704
 
513
- export { type ColumnAlign as C, type ExpandableConfig as E, type FilterOption as F, type PaginationConfig as P, type RowSelectionConfig as R, type SortDirection as S, type TableResponsiveMode as T, type TableColumn as a, type TableSize as b, type TableProps as c, type FilterRule as d, type ColumnFilter as e, type SortState as f, exportTableToCsv as g, exportTableToExcel as h, downloadCsv as i, downloadExcel as j, exportTableData as k, downloadTableExport as l, type TableExportFormat as m, type FilterType as n, tableExportButtonClasses as t };
705
+ export { type PageChangeInfo as A, type PageSizeChangeInfo as B, type ColumnAlign as C, type ExpandableConfig as E, type FilterOption as F, type PaginationQuickJumperValidationOptions as P, type RowSelectionConfig as R, type SortDirection as S, type TableResponsiveMode as T, type TableColumn as a, type TableFixedPosition as b, type TableSize as c, type PaginationAlign as d, type PaginationSize as e, type TableProps as f, type PaginationConfig as g, type FilterRule as h, type ColumnFilter as i, type SortState as j, exportTableToCsv as k, exportTableToExcel as l, downloadCsv as m, downloadExcel as n, exportTableData as o, downloadTableExport as p, type TableExportFormat as q, type TableFixedHeaderClassNameContext as r, type TableFixedCellClassNameContext as s, tableExportButtonClasses as t, type TableFixedHeaderClassName as u, type TableFixedCellClassName as v, type FilterType as w, type PaginationPageSizeOption as x, type PaginationPageSizeOptionItem as y, type PaginationProps as z };