@expcat/tigercat-core 1.2.31 → 1.2.34

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 +174 -31
  2. package/dist/index.d.cts +106 -185
  3. package/dist/index.d.ts +106 -185
  4. package/dist/index.js +160 -31
  5. package/dist/{locale-9-B-d0mp.d.cts → locale-BiVGd2Kj.d.cts} +13 -1
  6. package/dist/{locale-Bc3zz2b0.d.ts → locale-C0cvkjts.d.ts} +13 -1
  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-D7_CDqY7.d.cts → table-export-0wTh8zf4.d.cts} +201 -4
  60. package/dist/{table-export-C-BAknOZ.d.ts → table-export-Ctz0EfNe.d.ts} +201 -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
package/dist/index.js CHANGED
@@ -1087,7 +1087,8 @@ var DEFAULT_PAGINATION_LABELS = {
1087
1087
  pageText: "page",
1088
1088
  prevPageAriaLabel: "Previous page",
1089
1089
  nextPageAriaLabel: "Next page",
1090
- pageAriaLabel: "Page {page}"
1090
+ pageAriaLabel: "Page {page}",
1091
+ pageIndicatorText: "Page {current} of {total}"
1091
1092
  };
1092
1093
  var ZH_CN_PAGINATION_LABELS = {
1093
1094
  totalText: "\u5171 {total} \u6761",
@@ -1096,7 +1097,8 @@ var ZH_CN_PAGINATION_LABELS = {
1096
1097
  pageText: "\u9875",
1097
1098
  prevPageAriaLabel: "\u4E0A\u4E00\u9875",
1098
1099
  nextPageAriaLabel: "\u4E0B\u4E00\u9875",
1099
- pageAriaLabel: "\u7B2C {page} \u9875"
1100
+ pageAriaLabel: "\u7B2C {page} \u9875",
1101
+ pageIndicatorText: "\u7B2C {current} \u9875\uFF0C\u5171 {total} \u9875"
1100
1102
  };
1101
1103
  var DEFAULT_FORM_WIZARD_LABELS = {
1102
1104
  prevText: "Previous",
@@ -1108,26 +1110,27 @@ var ZH_CN_FORM_WIZARD_LABELS = {
1108
1110
  nextText: "\u4E0B\u4E00\u6B65",
1109
1111
  finishText: "\u5B8C\u6210"
1110
1112
  };
1111
- function getFormWizardLabels(locale) {
1113
+ function getFormWizardLabels(locale, overrides) {
1112
1114
  const isZh = locale?.locale?.startsWith("zh");
1113
1115
  const defaultLabels = isZh ? ZH_CN_FORM_WIZARD_LABELS : DEFAULT_FORM_WIZARD_LABELS;
1114
1116
  return {
1115
- prevText: locale?.formWizard?.prevText ?? defaultLabels.prevText,
1116
- nextText: locale?.formWizard?.nextText ?? defaultLabels.nextText,
1117
- finishText: locale?.formWizard?.finishText ?? defaultLabels.finishText
1117
+ prevText: overrides?.prevText ?? locale?.formWizard?.prevText ?? defaultLabels.prevText,
1118
+ nextText: overrides?.nextText ?? locale?.formWizard?.nextText ?? defaultLabels.nextText,
1119
+ finishText: overrides?.finishText ?? locale?.formWizard?.finishText ?? defaultLabels.finishText
1118
1120
  };
1119
1121
  }
1120
- function getPaginationLabels(locale) {
1122
+ function getPaginationLabels(locale, overrides) {
1121
1123
  const isZh = !!locale?.locale?.startsWith("zh") || locale?.formWizard?.prevText === "\u4E0A\u4E00\u6B65" || locale?.upload?.clickToUploadText === "\u70B9\u51FB\u4E0A\u4F20";
1122
1124
  const defaultLabels = isZh ? ZH_CN_PAGINATION_LABELS : DEFAULT_PAGINATION_LABELS;
1123
1125
  return {
1124
- totalText: locale?.pagination?.totalText ?? defaultLabels.totalText,
1125
- itemsPerPageText: locale?.pagination?.itemsPerPageText ?? defaultLabels.itemsPerPageText,
1126
- jumpToText: locale?.pagination?.jumpToText ?? defaultLabels.jumpToText,
1127
- pageText: locale?.pagination?.pageText ?? defaultLabels.pageText,
1128
- prevPageAriaLabel: locale?.pagination?.prevPageAriaLabel ?? defaultLabels.prevPageAriaLabel,
1129
- nextPageAriaLabel: locale?.pagination?.nextPageAriaLabel ?? defaultLabels.nextPageAriaLabel,
1130
- pageAriaLabel: locale?.pagination?.pageAriaLabel ?? defaultLabels.pageAriaLabel
1126
+ totalText: overrides?.totalText ?? locale?.pagination?.totalText ?? defaultLabels.totalText,
1127
+ itemsPerPageText: overrides?.itemsPerPageText ?? locale?.pagination?.itemsPerPageText ?? defaultLabels.itemsPerPageText,
1128
+ jumpToText: overrides?.jumpToText ?? locale?.pagination?.jumpToText ?? defaultLabels.jumpToText,
1129
+ pageText: overrides?.pageText ?? locale?.pagination?.pageText ?? defaultLabels.pageText,
1130
+ prevPageAriaLabel: overrides?.prevPageAriaLabel ?? locale?.pagination?.prevPageAriaLabel ?? defaultLabels.prevPageAriaLabel,
1131
+ nextPageAriaLabel: overrides?.nextPageAriaLabel ?? locale?.pagination?.nextPageAriaLabel ?? defaultLabels.nextPageAriaLabel,
1132
+ pageAriaLabel: overrides?.pageAriaLabel ?? locale?.pagination?.pageAriaLabel ?? defaultLabels.pageAriaLabel,
1133
+ pageIndicatorText: overrides?.pageIndicatorText ?? locale?.pagination?.pageIndicatorText ?? defaultLabels.pageIndicatorText
1131
1134
  };
1132
1135
  }
1133
1136
  function formatPaginationTotal(template, total, range, locale) {
@@ -1137,6 +1140,9 @@ function formatPaginationTotal(template, total, range, locale) {
1137
1140
  function formatPageAriaLabel(template, page, locale) {
1138
1141
  return template.replace("{page}", formatIntlNumber(page, locale));
1139
1142
  }
1143
+ function formatPaginationPageIndicator(template, current, total, locale) {
1144
+ return template.replace("{current}", formatIntlNumber(current, locale)).replace("{total}", formatIntlNumber(total, locale));
1145
+ }
1140
1146
  var DEFAULT_TASK_BOARD_LABELS = {
1141
1147
  emptyColumnText: "No tasks",
1142
1148
  addCardText: "Add task",
@@ -1151,15 +1157,15 @@ var ZH_CN_TASK_BOARD_LABELS = {
1151
1157
  dragHintText: "\u62D6\u62FD\u4EE5\u79FB\u52A8",
1152
1158
  boardAriaLabel: "\u4EFB\u52A1\u770B\u677F"
1153
1159
  };
1154
- function getTaskBoardLabels(locale) {
1160
+ function getTaskBoardLabels(locale, overrides) {
1155
1161
  const isZh = locale?.locale?.startsWith("zh");
1156
1162
  const defaultLabels = isZh ? ZH_CN_TASK_BOARD_LABELS : DEFAULT_TASK_BOARD_LABELS;
1157
1163
  return {
1158
- emptyColumnText: locale?.taskBoard?.emptyColumnText ?? defaultLabels.emptyColumnText,
1159
- addCardText: locale?.taskBoard?.addCardText ?? defaultLabels.addCardText,
1160
- wipLimitText: locale?.taskBoard?.wipLimitText ?? defaultLabels.wipLimitText,
1161
- dragHintText: locale?.taskBoard?.dragHintText ?? defaultLabels.dragHintText,
1162
- boardAriaLabel: locale?.taskBoard?.boardAriaLabel ?? defaultLabels.boardAriaLabel
1164
+ emptyColumnText: overrides?.emptyColumnText ?? locale?.taskBoard?.emptyColumnText ?? defaultLabels.emptyColumnText,
1165
+ addCardText: overrides?.addCardText ?? locale?.taskBoard?.addCardText ?? defaultLabels.addCardText,
1166
+ wipLimitText: overrides?.wipLimitText ?? locale?.taskBoard?.wipLimitText ?? defaultLabels.wipLimitText,
1167
+ dragHintText: overrides?.dragHintText ?? locale?.taskBoard?.dragHintText ?? defaultLabels.dragHintText,
1168
+ boardAriaLabel: overrides?.boardAriaLabel ?? locale?.taskBoard?.boardAriaLabel ?? defaultLabels.boardAriaLabel
1163
1169
  };
1164
1170
  }
1165
1171
 
@@ -1614,7 +1620,8 @@ var enUS = {
1614
1620
  pageText: "page",
1615
1621
  prevPageAriaLabel: "Previous page",
1616
1622
  nextPageAriaLabel: "Next page",
1617
- pageAriaLabel: "Page {page}"
1623
+ pageAriaLabel: "Page {page}",
1624
+ pageIndicatorText: "Page {current} of {total}"
1618
1625
  },
1619
1626
  formWizard: {
1620
1627
  prevText: "Previous",
@@ -1654,6 +1661,9 @@ function deepMerge(base, override) {
1654
1661
  function defineLocale(overrides = {}) {
1655
1662
  return deepMerge(enUS, overrides);
1656
1663
  }
1664
+ function defineText(text = {}) {
1665
+ return defineLocale(text);
1666
+ }
1657
1667
 
1658
1668
  // src/utils/interaction-styles.ts
1659
1669
  var focusRingClasses = "focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tiger-focus-ring,var(--tiger-primary,#2563eb))]/40 focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--tiger-surface,#ffffff)]";
@@ -3673,6 +3683,11 @@ var tableResponsiveCardClasses = "rounded-[var(--tiger-radius-md,0.5rem)] border
3673
3683
  var tableResponsiveCardRowClasses = "grid grid-cols-[minmax(7rem,40%)_1fr] gap-3 border-b border-[var(--tiger-border,#e5e7eb)] py-2 last:border-b-0";
3674
3684
  var tableResponsiveCardLabelClasses = "text-xs font-medium uppercase tracking-wider text-[var(--tiger-text-muted,#6b7280)]";
3675
3685
  var tableResponsiveCardValueClasses = "min-w-0 text-sm text-[var(--tiger-text,#111827)] break-words";
3686
+ var tableBackgroundClasses = "bg-[var(--tiger-table-bg,var(--tiger-component-table-bg,var(--tiger-surface,#ffffff)))]";
3687
+ var tableHeaderBackgroundClasses = "bg-[var(--tiger-table-header-bg,var(--tiger-component-table-header-bg,var(--tiger-surface-muted,#f9fafb)))]";
3688
+ var tableRowHoverClasses = "hover:bg-[var(--tiger-table-hover-bg,var(--tiger-component-table-hover-bg,var(--tiger-surface-muted,#f9fafb)))] transition-colors";
3689
+ var tableRowGroupHoverClasses = "group-hover:bg-[var(--tiger-table-hover-bg,var(--tiger-component-table-hover-bg,var(--tiger-surface-muted,#f9fafb)))]";
3690
+ var tableRowStripedClasses = "bg-[var(--tiger-table-stripe-bg,var(--tiger-component-table-stripe-bg,var(--tiger-surface-muted,#f9fafb)))]/50";
3676
3691
  function getTableResponsiveTableClasses(mode) {
3677
3692
  return mode === "card" ? "max-sm:hidden" : tableResponsiveTableClasses;
3678
3693
  }
@@ -3718,6 +3733,79 @@ function getFixedColumnOffsets(columns, measuredColumnWidths = {}) {
3718
3733
  const hasFixedColumns = hasLeftFixedColumns || hasRightFixedColumns;
3719
3734
  return { leftOffsets, rightOffsets, minTableWidth, hasFixedColumns };
3720
3735
  }
3736
+ function getFixedColumnPosition(column, fixedInfo) {
3737
+ if (column.fixed === "left" || column.key in fixedInfo.leftOffsets) {
3738
+ return "left";
3739
+ }
3740
+ if (column.fixed === "right" || column.key in fixedInfo.rightOffsets) {
3741
+ return "right";
3742
+ }
3743
+ return void 0;
3744
+ }
3745
+ function getFixedColumnStyle(column, fixedInfo, zIndex) {
3746
+ const fixed = getFixedColumnPosition(column, fixedInfo);
3747
+ if (fixed === "left") {
3748
+ return {
3749
+ position: "sticky",
3750
+ left: `${fixedInfo.leftOffsets[column.key] || 0}px`,
3751
+ zIndex
3752
+ };
3753
+ }
3754
+ if (fixed === "right") {
3755
+ return {
3756
+ position: "sticky",
3757
+ right: `${fixedInfo.rightOffsets[column.key] || 0}px`,
3758
+ zIndex
3759
+ };
3760
+ }
3761
+ return void 0;
3762
+ }
3763
+ function resolveFixedCellClassName(column, context) {
3764
+ if (typeof column.fixedClassName === "function") {
3765
+ return column.fixedClassName(context) || void 0;
3766
+ }
3767
+ return column.fixedClassName || void 0;
3768
+ }
3769
+ function resolveFixedHeaderClassName(column, context) {
3770
+ if (typeof column.fixedHeaderClassName === "function") {
3771
+ return column.fixedHeaderClassName(context) || void 0;
3772
+ }
3773
+ return column.fixedHeaderClassName || void 0;
3774
+ }
3775
+ function getTableFixedCellClasses(options) {
3776
+ const fixed = getFixedColumnPosition(options.column, options.fixedInfo);
3777
+ if (!fixed) return void 0;
3778
+ const context = {
3779
+ view: options.view,
3780
+ column: options.column,
3781
+ fixed,
3782
+ record: options.record,
3783
+ rowIndex: options.rowIndex,
3784
+ striped: options.striped,
3785
+ selected: options.selected,
3786
+ hoverable: options.hoverable
3787
+ };
3788
+ return classNames(
3789
+ options.stripedActive ? tableRowStripedClasses : tableBackgroundClasses,
3790
+ options.hoverable && tableRowGroupHoverClasses,
3791
+ options.selected && options.selectedClassName,
3792
+ resolveFixedCellClassName(options.column, context)
3793
+ );
3794
+ }
3795
+ function getTableFixedHeaderCellClasses(options) {
3796
+ const fixed = getFixedColumnPosition(options.column, options.fixedInfo);
3797
+ if (!fixed) return void 0;
3798
+ const context = {
3799
+ view: options.view,
3800
+ column: options.column,
3801
+ fixed,
3802
+ stickyHeader: options.stickyHeader
3803
+ };
3804
+ return classNames(
3805
+ tableHeaderBackgroundClasses,
3806
+ resolveFixedHeaderClassName(options.column, context)
3807
+ );
3808
+ }
3721
3809
  var TABLE_VIRTUAL_RECOMMENDATION_THRESHOLD = 1e3;
3722
3810
  var TABLE_AUTO_VIRTUAL_THRESHOLD = 1e4;
3723
3811
  function getTableVirtualRecommendation(options) {
@@ -3744,7 +3832,8 @@ function getTableWrapperClasses(bordered, maxHeight) {
3744
3832
  }
3745
3833
  function getTableHeaderClasses(stickyHeader) {
3746
3834
  return classNames(
3747
- "bg-[var(--tiger-surface-muted,#f9fafb)] border-b border-[var(--tiger-border,#e5e7eb)]",
3835
+ tableHeaderBackgroundClasses,
3836
+ "border-b border-[var(--tiger-border,#e5e7eb)]",
3748
3837
  stickyHeader && "sticky top-0 z-10"
3749
3838
  );
3750
3839
  }
@@ -3763,15 +3852,15 @@ function getTableHeaderCellClasses(size, align, sortable, customClassName) {
3763
3852
  "font-medium text-[var(--tiger-text-muted,#6b7280)] text-xs uppercase tracking-wider",
3764
3853
  paddingClasses[size],
3765
3854
  alignClasses[align],
3766
- sortable && "cursor-pointer select-none hover:bg-[var(--tiger-surface,#ffffff)]/50 transition-colors",
3855
+ sortable && "cursor-pointer select-none hover:bg-[var(--tiger-table-bg,var(--tiger-component-table-bg,var(--tiger-surface,#ffffff)))]/60 transition-colors",
3767
3856
  customClassName
3768
3857
  );
3769
3858
  }
3770
3859
  function getTableRowClasses(hoverable, striped, isEven, customClassName) {
3771
3860
  return classNames(
3772
3861
  "border-b border-[var(--tiger-border,#e5e7eb)] last:border-b-0",
3773
- hoverable && "hover:bg-[var(--tiger-surface-muted,#f9fafb)] transition-colors",
3774
- striped && isEven && "bg-[var(--tiger-surface-muted,#f9fafb)]/50",
3862
+ hoverable && tableRowHoverClasses,
3863
+ striped && isEven && tableRowStripedClasses,
3775
3864
  customClassName
3776
3865
  );
3777
3866
  }
@@ -13798,17 +13887,17 @@ function getKanbanContainerClasses(className) {
13798
13887
  }
13799
13888
 
13800
13889
  // src/utils/virtual-table-utils.ts
13801
- var virtualTableContainerClasses = "tiger-virtual-table relative overflow-auto border border-[var(--tiger-border,#e5e7eb)] rounded-[var(--tiger-radius-md,0.5rem)] bg-[var(--tiger-bg,#ffffff)]";
13802
- var virtualTableHeaderClasses = "sticky top-0 z-10 bg-[var(--tiger-bg-secondary,#f9fafb)] border-b border-[var(--tiger-border,#e5e7eb)]";
13890
+ var virtualTableContainerClasses = `tiger-virtual-table relative overflow-auto border border-[var(--tiger-border,#e5e7eb)] rounded-[var(--tiger-radius-md,0.5rem)] bg-[var(--tiger-table-bg,var(--tiger-component-table-bg,var(--tiger-bg,var(--tiger-surface,#ffffff))))]`;
13891
+ var virtualTableHeaderClasses = `${tableHeaderBackgroundClasses} sticky top-0 z-10 border-b border-[var(--tiger-border,#e5e7eb)]`;
13803
13892
  var virtualTableHeaderCellClasses = "px-4 py-3 text-left text-xs font-semibold uppercase tracking-wider text-[var(--tiger-text-secondary,#6b7280)]";
13804
- var virtualTableRowClasses = "border-b border-[var(--tiger-border,#f3f4f6)] transition-colors";
13805
- var virtualTableRowHoverClasses = "hover:bg-[var(--tiger-bg-hover,#f9fafb)]";
13806
- var virtualTableRowStripedClasses = "bg-[var(--tiger-bg-secondary,#f9fafb)]/50";
13893
+ var virtualTableRowClasses = "group border-b border-[var(--tiger-border,#f3f4f6)] transition-colors";
13894
+ var virtualTableRowHoverClasses = "hover:bg-[var(--tiger-table-hover-bg,var(--tiger-component-table-hover-bg,var(--tiger-bg-hover,var(--tiger-surface-muted,#f9fafb))))] transition-colors";
13895
+ var virtualTableRowStripedClasses = "bg-[var(--tiger-table-stripe-bg,var(--tiger-component-table-stripe-bg,var(--tiger-bg-secondary,var(--tiger-surface-muted,#f9fafb))))]/50";
13807
13896
  var virtualTableRowSelectedClasses = "bg-[var(--tiger-primary,#2563eb)]/5";
13808
13897
  var virtualTableCellClasses = "px-4 py-3 text-sm text-[var(--tiger-text,#1f2937)] whitespace-nowrap";
13809
13898
  var virtualTableBorderedClasses = "[&_td]:border-r [&_th]:border-r [&_td:last-child]:border-r-0 [&_th:last-child]:border-r-0";
13810
13899
  var virtualTableEmptyClasses = "flex items-center justify-center py-12 text-sm text-[var(--tiger-text-muted,#9ca3af)]";
13811
- var virtualTableLoadingClasses = "absolute inset-0 flex items-center justify-center bg-[var(--tiger-bg,#ffffff)]/60 z-20";
13900
+ var virtualTableLoadingClasses = "absolute inset-0 flex items-center justify-center bg-[var(--tiger-table-bg,var(--tiger-component-table-bg,var(--tiger-bg,var(--tiger-surface,#ffffff))))]/60 z-20";
13812
13901
  function calculateVirtualRange(scrollTop, viewportHeight, totalRows, rowHeight, overscan = 5) {
13813
13902
  if (totalRows === 0 || rowHeight <= 0) {
13814
13903
  return { start: 0, end: 0, offsetTop: 0, totalHeight: 0 };
@@ -13859,6 +13948,31 @@ function getVirtualTableFixedCellStyle(columnKey, fixedInfo) {
13859
13948
  }
13860
13949
  return void 0;
13861
13950
  }
13951
+ function getVirtualTableFixedCellClasses(options) {
13952
+ return getTableFixedCellClasses({
13953
+ view: "virtual-table",
13954
+ column: options.column,
13955
+ record: options.record,
13956
+ rowIndex: options.rowIndex,
13957
+ striped: options.striped,
13958
+ stripedActive: options.striped && options.rowIndex % 2 === 1,
13959
+ selected: options.selected,
13960
+ hoverable: options.hoverable ?? true,
13961
+ fixedInfo: options.fixedInfo,
13962
+ selectedClassName: virtualTableRowSelectedClasses
13963
+ });
13964
+ }
13965
+ function getVirtualTableFixedHeaderCellClasses(column, fixedInfo, stickyHeader) {
13966
+ return getTableFixedHeaderCellClasses({
13967
+ view: "virtual-table",
13968
+ column,
13969
+ stickyHeader,
13970
+ fixedInfo
13971
+ });
13972
+ }
13973
+ function getVirtualTableFixedColumnPosition(column, fixedInfo) {
13974
+ return getFixedColumnPosition(column, fixedInfo);
13975
+ }
13862
13976
 
13863
13977
  // src/utils/infinite-scroll-utils.ts
13864
13978
  var infiniteScrollContainerClasses = "tiger-infinite-scroll relative overflow-auto";
@@ -16472,6 +16586,7 @@ var componentTokens = {
16472
16586
  "font-size-lg": "16px"
16473
16587
  },
16474
16588
  table: {
16589
+ bg: "#fafafa",
16475
16590
  "header-bg": "#fafafa",
16476
16591
  "header-font-weight": "600",
16477
16592
  "cell-padding-x": "16px",
@@ -17043,6 +17158,7 @@ export {
17043
17158
  defaultTransferFilter,
17044
17159
  defaultXYTooltipFormatter,
17045
17160
  defineLocale,
17161
+ defineText,
17046
17162
  deleteNumberKeyboardValue,
17047
17163
  deriveFileManagerModel,
17048
17164
  descriptionsBaseClasses,
@@ -17169,6 +17285,7 @@ export {
17169
17285
  formatIntlNumber,
17170
17286
  formatMonthYear,
17171
17287
  formatPageAriaLabel,
17288
+ formatPaginationPageIndicator,
17172
17289
  formatPaginationTotal,
17173
17290
  formatPrecision,
17174
17291
  formatProgressText,
@@ -17346,6 +17463,8 @@ export {
17346
17463
  getFileManagerContainerClasses,
17347
17464
  getFirstDayOfMonth,
17348
17465
  getFixedColumnOffsets,
17466
+ getFixedColumnPosition,
17467
+ getFixedColumnStyle,
17349
17468
  getFixedVirtualRange,
17350
17469
  getFlexClasses,
17351
17470
  getFloatingMiddleware,
@@ -17608,6 +17727,8 @@ export {
17608
17727
  getTabNavListStyle,
17609
17728
  getTabPaneClasses,
17610
17729
  getTableCellClasses,
17730
+ getTableFixedCellClasses,
17731
+ getTableFixedHeaderCellClasses,
17611
17732
  getTableHeaderCellClasses,
17612
17733
  getTableHeaderClasses,
17613
17734
  getTableResponsiveTableClasses,
@@ -17668,7 +17789,10 @@ export {
17668
17789
  getViewportWidth,
17669
17790
  getVirtualRowKey,
17670
17791
  getVirtualTableContainerClasses,
17792
+ getVirtualTableFixedCellClasses,
17671
17793
  getVirtualTableFixedCellStyle,
17794
+ getVirtualTableFixedColumnPosition,
17795
+ getVirtualTableFixedHeaderCellClasses,
17672
17796
  getVirtualTableFixedInfo,
17673
17797
  getVirtualTableRowClasses,
17674
17798
  getVisibleGroupItems,
@@ -18277,11 +18401,13 @@ export {
18277
18401
  tabNavPositionClasses,
18278
18402
  tabPaneBaseClasses,
18279
18403
  tabPaneHiddenClasses,
18404
+ tableBackgroundClasses,
18280
18405
  tableBaseClasses,
18281
18406
  tableContainerClasses,
18282
18407
  tableEmptyStateClasses,
18283
18408
  tableExportButtonClasses,
18284
18409
  tableGroupHeaderClasses,
18410
+ tableHeaderBackgroundClasses,
18285
18411
  tableLoadingOverlayClasses,
18286
18412
  tableResponsiveCardClasses,
18287
18413
  tableResponsiveCardLabelClasses,
@@ -18289,6 +18415,9 @@ export {
18289
18415
  tableResponsiveCardRowClasses,
18290
18416
  tableResponsiveCardValueClasses,
18291
18417
  tableResponsiveTableClasses,
18418
+ tableRowGroupHoverClasses,
18419
+ tableRowHoverClasses,
18420
+ tableRowStripedClasses,
18292
18421
  tableSummaryRowClasses,
18293
18422
  tabsBaseClasses,
18294
18423
  tagBaseClasses,
@@ -56,6 +56,8 @@ interface TigerLocalePagination {
56
56
  nextPageAriaLabel?: string;
57
57
  /** Page button aria-label template: supports {page} */
58
58
  pageAriaLabel?: string;
59
+ /** Simple pagination page indicator template: supports {current}, {total} */
60
+ pageIndicatorText?: string;
59
61
  }
60
62
  interface TigerLocaleFormWizard {
61
63
  prevText?: string;
@@ -88,10 +90,20 @@ interface TigerLocale {
88
90
  formWizard?: TigerLocaleFormWizard;
89
91
  taskBoard?: TigerLocaleTaskBoard;
90
92
  }
93
+ /**
94
+ * Flat custom-text overlay for single-language projects that do not need i18n.
95
+ *
96
+ * Same shape as `TigerLocale` but without the `locale` code / `direction`
97
+ * fields — it carries only the component text. Pass it to
98
+ * `<ConfigProvider locale={defineText({...})} />` for app-wide custom text, or
99
+ * to a component's `labels` prop for a one-off override. No locale data files
100
+ * are pulled in, so the bundle stays small.
101
+ */
102
+ type TigerText = Omit<Partial<TigerLocale>, 'locale' | 'direction'>;
91
103
  type TigerLocaleLazyModule = Partial<TigerLocale> | {
92
104
  default?: Partial<TigerLocale>;
93
105
  } | Record<string, unknown>;
94
106
  type TigerLocaleLoader = () => PromiseLike<TigerLocaleLazyModule>;
95
107
  type TigerLocaleInput = Partial<TigerLocale> | PromiseLike<TigerLocaleLazyModule> | TigerLocaleLoader;
96
108
 
97
- export type { TigerLocale as T, TigerLocaleInput as a, TigerLocaleLazyModule as b, TigerLocaleLoader as c, TigerLocaleDirection as d, TigerLocalePagination as e, TigerLocaleFormWizard as f, TigerLocaleTaskBoard as g, TigerLocaleCommon as h, TigerLocaleModal as i, TigerLocaleDrawer as j, TigerLocaleUpload as k };
109
+ export type { TigerLocale as T, TigerLocaleInput as a, TigerLocaleLazyModule as b, TigerLocaleLoader as c, TigerLocaleDirection as d, TigerLocalePagination as e, TigerLocaleFormWizard as f, TigerLocaleTaskBoard as g, TigerText as h, TigerLocaleDrawer as i, TigerLocaleModal as j, TigerLocaleCommon as k, TigerLocaleUpload as l };
@@ -56,6 +56,8 @@ interface TigerLocalePagination {
56
56
  nextPageAriaLabel?: string;
57
57
  /** Page button aria-label template: supports {page} */
58
58
  pageAriaLabel?: string;
59
+ /** Simple pagination page indicator template: supports {current}, {total} */
60
+ pageIndicatorText?: string;
59
61
  }
60
62
  interface TigerLocaleFormWizard {
61
63
  prevText?: string;
@@ -88,10 +90,20 @@ interface TigerLocale {
88
90
  formWizard?: TigerLocaleFormWizard;
89
91
  taskBoard?: TigerLocaleTaskBoard;
90
92
  }
93
+ /**
94
+ * Flat custom-text overlay for single-language projects that do not need i18n.
95
+ *
96
+ * Same shape as `TigerLocale` but without the `locale` code / `direction`
97
+ * fields — it carries only the component text. Pass it to
98
+ * `<ConfigProvider locale={defineText({...})} />` for app-wide custom text, or
99
+ * to a component's `labels` prop for a one-off override. No locale data files
100
+ * are pulled in, so the bundle stays small.
101
+ */
102
+ type TigerText = Omit<Partial<TigerLocale>, 'locale' | 'direction'>;
91
103
  type TigerLocaleLazyModule = Partial<TigerLocale> | {
92
104
  default?: Partial<TigerLocale>;
93
105
  } | Record<string, unknown>;
94
106
  type TigerLocaleLoader = () => PromiseLike<TigerLocaleLazyModule>;
95
107
  type TigerLocaleInput = Partial<TigerLocale> | PromiseLike<TigerLocaleLazyModule> | TigerLocaleLoader;
96
108
 
97
- export type { TigerLocale as T, TigerLocaleInput as a, TigerLocaleLazyModule as b, TigerLocaleLoader as c, TigerLocaleDirection as d, TigerLocalePagination as e, TigerLocaleFormWizard as f, TigerLocaleTaskBoard as g, TigerLocaleCommon as h, TigerLocaleModal as i, TigerLocaleDrawer as j, TigerLocaleUpload as k };
109
+ export type { TigerLocale as T, TigerLocaleInput as a, TigerLocaleLazyModule as b, TigerLocaleLoader as c, TigerLocaleDirection as d, TigerLocalePagination as e, TigerLocaleFormWizard as f, TigerLocaleTaskBoard as g, TigerText as h, TigerLocaleDrawer as i, TigerLocaleModal as j, TigerLocaleCommon as k, TigerLocaleUpload as l };
@@ -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 arSA = defineLocale({
133
134
  pageText: "\u0635\u0641\u062D\u0629",
134
135
  prevPageAriaLabel: "\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0633\u0627\u0628\u0642\u0629",
135
136
  nextPageAriaLabel: "\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u062A\u0627\u0644\u064A\u0629",
136
- pageAriaLabel: "\u0627\u0644\u0635\u0641\u062D\u0629 {page}"
137
+ pageAriaLabel: "\u0627\u0644\u0635\u0641\u062D\u0629 {page}",
138
+ pageIndicatorText: "\u0627\u0644\u0635\u0641\u062D\u0629 {current} \u0645\u0646 {total}"
137
139
  },
138
140
  formWizard: {
139
141
  prevText: "\u0627\u0644\u0633\u0627\u0628\u0642",
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-9-B-d0mp.cjs';
1
+ import { T as TigerLocale } from '../locale-BiVGd2Kj.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-C0cvkjts.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 arSA = defineLocale({
106
107
  pageText: "\u0635\u0641\u062D\u0629",
107
108
  prevPageAriaLabel: "\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0633\u0627\u0628\u0642\u0629",
108
109
  nextPageAriaLabel: "\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u062A\u0627\u0644\u064A\u0629",
109
- pageAriaLabel: "\u0627\u0644\u0635\u0641\u062D\u0629 {page}"
110
+ pageAriaLabel: "\u0627\u0644\u0635\u0641\u062D\u0629 {page}",
111
+ pageIndicatorText: "\u0627\u0644\u0635\u0641\u062D\u0629 {current} \u0645\u0646 {total}"
110
112
  },
111
113
  formWizard: {
112
114
  prevText: "\u0627\u0644\u0633\u0627\u0628\u0642",
@@ -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 deDE = defineLocale({
133
134
  pageText: "Seite",
134
135
  prevPageAriaLabel: "Vorherige Seite",
135
136
  nextPageAriaLabel: "N\xE4chste Seite",
136
- pageAriaLabel: "Seite {page}"
137
+ pageAriaLabel: "Seite {page}",
138
+ pageIndicatorText: "Seite {current} von {total}"
137
139
  },
138
140
  formWizard: {
139
141
  prevText: "Zur\xFCck",
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-9-B-d0mp.cjs';
1
+ import { T as TigerLocale } from '../locale-BiVGd2Kj.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-C0cvkjts.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 deDE = defineLocale({
106
107
  pageText: "Seite",
107
108
  prevPageAriaLabel: "Vorherige Seite",
108
109
  nextPageAriaLabel: "N\xE4chste Seite",
109
- pageAriaLabel: "Seite {page}"
110
+ pageAriaLabel: "Seite {page}",
111
+ pageIndicatorText: "Seite {current} von {total}"
110
112
  },
111
113
  formWizard: {
112
114
  prevText: "Zur\xFCck",
@@ -48,7 +48,8 @@ var enUS = {
48
48
  pageText: "page",
49
49
  prevPageAriaLabel: "Previous page",
50
50
  nextPageAriaLabel: "Next page",
51
- pageAriaLabel: "Page {page}"
51
+ pageAriaLabel: "Page {page}",
52
+ pageIndicatorText: "Page {current} of {total}"
52
53
  },
53
54
  formWizard: {
54
55
  prevText: "Previous",
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-9-B-d0mp.cjs';
1
+ import { T as TigerLocale } from '../locale-BiVGd2Kj.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-C0cvkjts.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",
@@ -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 esES = defineLocale({
133
134
  pageText: "p\xE1gina",
134
135
  prevPageAriaLabel: "P\xE1gina anterior",
135
136
  nextPageAriaLabel: "P\xE1gina siguiente",
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-BiVGd2Kj.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-C0cvkjts.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 esES = defineLocale({
106
107
  pageText: "p\xE1gina",
107
108
  prevPageAriaLabel: "P\xE1gina anterior",
108
109
  nextPageAriaLabel: "P\xE1gina siguiente",
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",
@@ -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 frFR = defineLocale({
133
134
  pageText: "page",
134
135
  prevPageAriaLabel: "Page pr\xE9c\xE9dente",
135
136
  nextPageAriaLabel: "Page suivante",
136
- pageAriaLabel: "Page {page}"
137
+ pageAriaLabel: "Page {page}",
138
+ pageIndicatorText: "Page {current} sur {total}"
137
139
  },
138
140
  formWizard: {
139
141
  prevText: "Pr\xE9c\xE9dent",
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-9-B-d0mp.cjs';
1
+ import { T as TigerLocale } from '../locale-BiVGd2Kj.cjs';
2
2
  import '../datepicker-DXzS_8l8.cjs';
3
3
 
4
4
  /**