@expcat/tigercat-vue 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 (135) hide show
  1. package/dist/{chunk-F5S26BR3.mjs → chunk-25VVIM45.mjs} +8 -2
  2. package/dist/{chunk-4Z4XMXCO.mjs → chunk-5HUZ33NC.mjs} +22 -6
  3. package/dist/{chunk-7U673KY5.mjs → chunk-7M4UUCJF.mjs} +53 -44
  4. package/dist/{chunk-6G5IMGTC.js → chunk-BXS7OSVF.js} +37 -35
  5. package/dist/{chunk-AGVXMB4Q.js → chunk-CTR462T2.js} +27 -2
  6. package/dist/{chunk-DSHV7EAX.mjs → chunk-DRQ2QXZT.mjs} +16 -2
  7. package/dist/{chunk-NZUQ2KCW.mjs → chunk-F7WZCYYD.mjs} +19 -5
  8. package/dist/{chunk-C7VGTRHE.mjs → chunk-G44EGPJB.mjs} +28 -3
  9. package/dist/{chunk-DEDRUUK4.js → chunk-IBB54GHF.js} +2 -2
  10. package/dist/{chunk-QO2JYX6Q.js → chunk-LAWBHGPK.js} +19 -5
  11. package/dist/{chunk-663C2UX7.js → chunk-LZHCKW2Z.js} +2 -2
  12. package/dist/{chunk-CNRBYRK6.js → chunk-MCRT64VS.js} +2 -2
  13. package/dist/{chunk-YS6YQKYU.js → chunk-OA3HAUBT.js} +55 -46
  14. package/dist/{chunk-EU4IGIPC.js → chunk-OKLDFVDJ.js} +8 -2
  15. package/dist/{chunk-6CSTMVB2.js → chunk-PACAXQQ4.js} +22 -6
  16. package/dist/{chunk-PKMSTN65.mjs → chunk-PHWAXBFG.mjs} +1 -1
  17. package/dist/{chunk-OF4MY6EC.mjs → chunk-U5RXZ2IL.mjs} +1 -1
  18. package/dist/{chunk-IQZX54SQ.js → chunk-UC3UXUVN.js} +16 -2
  19. package/dist/{chunk-OZLSZQXF.mjs → chunk-WH4J6PHF.mjs} +37 -35
  20. package/dist/{chunk-AQE5RZDE.mjs → chunk-ZDKGABPQ.mjs} +1 -1
  21. package/dist/components/ActivityFeed.d.mts +2 -2
  22. package/dist/components/ActivityFeed.d.ts +2 -2
  23. package/dist/components/Alert.d.mts +5 -5
  24. package/dist/components/Alert.d.ts +5 -5
  25. package/dist/components/Anchor.d.mts +2 -2
  26. package/dist/components/Anchor.d.ts +2 -2
  27. package/dist/components/BackTop.d.mts +1 -1
  28. package/dist/components/BackTop.d.ts +1 -1
  29. package/dist/components/ButtonGroup.d.mts +1 -1
  30. package/dist/components/ButtonGroup.d.ts +1 -1
  31. package/dist/components/Card.d.mts +1 -1
  32. package/dist/components/Card.d.ts +1 -1
  33. package/dist/components/CodeEditor.d.mts +1 -1
  34. package/dist/components/CodeEditor.d.ts +1 -1
  35. package/dist/components/CollapsePanel.d.mts +1 -1
  36. package/dist/components/CollapsePanel.d.ts +1 -1
  37. package/dist/components/CommentThread.d.mts +1 -1
  38. package/dist/components/CommentThread.d.ts +1 -1
  39. package/dist/components/Countdown.d.mts +1 -1
  40. package/dist/components/Countdown.d.ts +1 -1
  41. package/dist/components/CropUpload.js +4 -3
  42. package/dist/components/CropUpload.mjs +3 -2
  43. package/dist/components/DataTableWithToolbar.d.mts +3 -3
  44. package/dist/components/DataTableWithToolbar.d.ts +3 -3
  45. package/dist/components/DataTableWithToolbar.js +3 -3
  46. package/dist/components/DataTableWithToolbar.mjs +2 -2
  47. package/dist/components/DatePicker.d.mts +1 -1
  48. package/dist/components/DatePicker.d.ts +1 -1
  49. package/dist/components/Descriptions.d.mts +1 -1
  50. package/dist/components/Descriptions.d.ts +1 -1
  51. package/dist/components/Drawer.d.mts +21 -5
  52. package/dist/components/Drawer.d.ts +21 -5
  53. package/dist/components/Drawer.js +3 -2
  54. package/dist/components/Drawer.mjs +2 -1
  55. package/dist/components/Empty.d.mts +1 -1
  56. package/dist/components/Empty.d.ts +1 -1
  57. package/dist/components/FileManager.d.mts +1 -1
  58. package/dist/components/FileManager.d.ts +1 -1
  59. package/dist/components/FormWizard.d.mts +14 -4
  60. package/dist/components/FormWizard.d.ts +14 -4
  61. package/dist/components/FormWizard.js +2 -2
  62. package/dist/components/FormWizard.mjs +1 -1
  63. package/dist/components/HeatmapChart.d.mts +1 -1
  64. package/dist/components/HeatmapChart.d.ts +1 -1
  65. package/dist/components/InfiniteScroll.d.mts +1 -1
  66. package/dist/components/InfiniteScroll.d.ts +1 -1
  67. package/dist/components/Kanban.d.mts +1 -1
  68. package/dist/components/Kanban.d.ts +1 -1
  69. package/dist/components/Kanban.js +3 -3
  70. package/dist/components/Kanban.mjs +2 -2
  71. package/dist/components/List.d.mts +2 -2
  72. package/dist/components/List.d.ts +2 -2
  73. package/dist/components/MarkdownEditor.d.mts +1 -1
  74. package/dist/components/MarkdownEditor.d.ts +1 -1
  75. package/dist/components/Menu.d.mts +5 -5
  76. package/dist/components/Menu.d.ts +5 -5
  77. package/dist/components/Modal.d.mts +25 -9
  78. package/dist/components/Modal.d.ts +25 -9
  79. package/dist/components/Modal.js +3 -2
  80. package/dist/components/Modal.mjs +2 -1
  81. package/dist/components/NotificationCenter.d.mts +3 -3
  82. package/dist/components/NotificationCenter.d.ts +3 -3
  83. package/dist/components/NumberKeyboard.d.mts +1 -1
  84. package/dist/components/NumberKeyboard.d.ts +1 -1
  85. package/dist/components/Pagination.d.mts +23 -3
  86. package/dist/components/Pagination.d.ts +23 -3
  87. package/dist/components/Pagination.js +3 -2
  88. package/dist/components/Pagination.mjs +2 -1
  89. package/dist/components/Popconfirm.d.mts +5 -5
  90. package/dist/components/Popconfirm.d.ts +5 -5
  91. package/dist/components/Popover.d.mts +1 -1
  92. package/dist/components/Popover.d.ts +1 -1
  93. package/dist/components/Result.d.mts +1 -1
  94. package/dist/components/Result.d.ts +1 -1
  95. package/dist/components/ScrollSpy.d.mts +1 -1
  96. package/dist/components/ScrollSpy.d.ts +1 -1
  97. package/dist/components/Space.d.mts +1 -1
  98. package/dist/components/Space.d.ts +1 -1
  99. package/dist/components/Splitter.d.mts +1 -1
  100. package/dist/components/Splitter.d.ts +1 -1
  101. package/dist/components/Spotlight.d.mts +4 -4
  102. package/dist/components/Spotlight.d.ts +4 -4
  103. package/dist/components/Statistic.d.mts +1 -1
  104. package/dist/components/Statistic.d.ts +1 -1
  105. package/dist/components/Steps.d.mts +2 -2
  106. package/dist/components/Steps.d.ts +2 -2
  107. package/dist/components/Table.d.mts +1 -1
  108. package/dist/components/Table.d.ts +1 -1
  109. package/dist/components/Table.js +2 -2
  110. package/dist/components/Table.mjs +1 -1
  111. package/dist/components/Tabs.d.mts +2 -2
  112. package/dist/components/Tabs.d.ts +2 -2
  113. package/dist/components/Tag.d.mts +2 -2
  114. package/dist/components/Tag.d.ts +2 -2
  115. package/dist/components/TaskBoard.d.mts +12 -2
  116. package/dist/components/TaskBoard.d.ts +12 -2
  117. package/dist/components/TaskBoard.js +2 -2
  118. package/dist/components/TaskBoard.mjs +1 -1
  119. package/dist/components/TimePicker.d.mts +2 -2
  120. package/dist/components/TimePicker.d.ts +2 -2
  121. package/dist/components/Timeline.d.mts +2 -2
  122. package/dist/components/Timeline.d.ts +2 -2
  123. package/dist/components/Tour.d.mts +4 -4
  124. package/dist/components/Tour.d.ts +4 -4
  125. package/dist/components/Tree.d.mts +2 -2
  126. package/dist/components/Tree.d.ts +2 -2
  127. package/dist/components/Upload.d.mts +4 -4
  128. package/dist/components/Upload.d.ts +4 -4
  129. package/dist/components/VirtualTable.d.mts +1 -1
  130. package/dist/components/VirtualTable.d.ts +1 -1
  131. package/dist/components/VirtualTable.js +2 -2
  132. package/dist/components/VirtualTable.mjs +1 -1
  133. package/dist/index.js +11 -11
  134. package/dist/index.mjs +10 -10
  135. package/package.json +2 -2
@@ -81,6 +81,10 @@ var TaskBoard = defineComponent({
81
81
  type: Object,
82
82
  default: void 0
83
83
  },
84
+ labels: {
85
+ type: Object,
86
+ default: void 0
87
+ },
84
88
  className: {
85
89
  type: String,
86
90
  default: void 0
@@ -94,7 +98,7 @@ var TaskBoard = defineComponent({
94
98
  setup(props, { slots, attrs, emit }) {
95
99
  const config = useTigerConfig();
96
100
  const mergedLocale = computed(() => mergeTigerLocale(config.value.locale, props.locale));
97
- const labels = computed(() => getTaskBoardLabels(mergedLocale.value));
101
+ const labels = computed(() => getTaskBoardLabels(mergedLocale.value, props.labels));
98
102
  const innerColumns = ref(props.columns ?? props.defaultColumns ?? []);
99
103
  watch(
100
104
  () => props.columns,
@@ -251,7 +255,9 @@ var TaskBoard = defineComponent({
251
255
  `(${column.cards.length}/${column.wipLimit})`
252
256
  ) : h(
253
257
  "span",
254
- { class: "ml-2 text-xs font-normal px-1.5 py-0.5 rounded bg-[var(--tiger-border,#e5e7eb)]/20 text-[var(--tiger-text-secondary,#6b7280)] opacity-70" },
258
+ {
259
+ class: "ml-2 text-xs font-normal px-1.5 py-0.5 rounded bg-[var(--tiger-border,#e5e7eb)]/20 text-[var(--tiger-text-secondary,#6b7280)] opacity-70"
260
+ },
255
261
  String(column.cards.length)
256
262
  )
257
263
  ]),
@@ -1,3 +1,6 @@
1
+ import {
2
+ useTigerConfig
3
+ } from "./chunk-VG6E4NX6.mjs";
1
4
  import {
2
5
  Button
3
6
  } from "./chunk-PO5GVU4Q.mjs";
@@ -40,6 +43,7 @@ import {
40
43
  modalBodyClasses,
41
44
  modalFooterClasses,
42
45
  resolveLocaleText,
46
+ mergeTigerLocale,
43
47
  shouldCloseOnMaskClick,
44
48
  resolveSwipeGesture
45
49
  } from "@expcat/tigercat-core";
@@ -180,6 +184,13 @@ var Modal = defineComponent({
180
184
  type: Object,
181
185
  default: void 0
182
186
  },
187
+ /**
188
+ * Flat custom-text overrides for single-language use (no i18n needed).
189
+ */
190
+ labels: {
191
+ type: Object,
192
+ default: void 0
193
+ },
183
194
  /**
184
195
  * Whether to render a default footer when no `footer` slot is provided
185
196
  * @default false
@@ -208,6 +219,8 @@ var Modal = defineComponent({
208
219
  },
209
220
  emits: ["update:open", "close", "cancel", "ok"],
210
221
  setup(props, { slots, emit, attrs }) {
222
+ const config = useTigerConfig();
223
+ const mergedLocale = computed(() => mergeTigerLocale(config.value.locale, props.locale));
211
224
  const instanceId = ref(createModalId());
212
225
  const hasBeenOpened = ref(props.open);
213
226
  const dialogRef = ref(null);
@@ -373,8 +386,9 @@ var Modal = defineComponent({
373
386
  "aria-label": resolveLocaleText(
374
387
  "Close",
375
388
  props.closeAriaLabel,
376
- props.locale?.modal?.closeAriaLabel,
377
- props.locale?.common?.closeText
389
+ props.labels?.closeAriaLabel,
390
+ mergedLocale.value?.modal?.closeAriaLabel,
391
+ mergedLocale.value?.common?.closeText
378
392
  ),
379
393
  ref: closeButtonRef
380
394
  },
@@ -395,8 +409,9 @@ var Modal = defineComponent({
395
409
  default: () => resolveLocaleText(
396
410
  "\u53D6\u6D88",
397
411
  props.cancelText,
398
- props.locale?.modal?.cancelText,
399
- props.locale?.common?.cancelText
412
+ props.labels?.cancelText,
413
+ mergedLocale.value?.modal?.cancelText,
414
+ mergedLocale.value?.common?.cancelText
400
415
  )
401
416
  }
402
417
  ),
@@ -407,8 +422,9 @@ var Modal = defineComponent({
407
422
  default: () => resolveLocaleText(
408
423
  "\u786E\u5B9A",
409
424
  props.okText,
410
- props.locale?.modal?.okText,
411
- props.locale?.common?.okText
425
+ props.labels?.okText,
426
+ mergedLocale.value?.modal?.okText,
427
+ mergedLocale.value?.common?.okText
412
428
  )
413
429
  }
414
430
  )
@@ -649,6 +649,8 @@ import {
649
649
  classNames,
650
650
  getTableHeaderClasses,
651
651
  getTableHeaderCellClasses,
652
+ getTableFixedHeaderCellClasses,
653
+ getFixedColumnStyle,
652
654
  getCheckboxCellClasses,
653
655
  getExpandIconCellClasses
654
656
  } from "@expcat/tigercat-core";
@@ -686,17 +688,7 @@ function renderTableHeader(ctx, props, slots) {
686
688
  const isSorted = ctx.sortState.value.key === column.key;
687
689
  const sortDirection = isSorted ? ctx.sortState.value.direction : null;
688
690
  const ariaSort = column.sortable ? sortDirection === "asc" ? "ascending" : sortDirection === "desc" ? "descending" : "none" : void 0;
689
- const isFixedLeft = column.fixed === "left";
690
- const isFixedRight = column.fixed === "right";
691
- const fixedStyle = isFixedLeft ? {
692
- position: "sticky",
693
- left: `${ctx.fixedColumnsInfo.value.leftOffsets[column.key] || 0}px`,
694
- zIndex: 15
695
- } : isFixedRight ? {
696
- position: "sticky",
697
- right: `${ctx.fixedColumnsInfo.value.rightOffsets[column.key] || 0}px`,
698
- zIndex: 15
699
- } : void 0;
691
+ const fixedStyle = getFixedColumnStyle(column, ctx.fixedColumnsInfo.value, 15);
700
692
  const widthStyle = column.width ? {
701
693
  width: typeof column.width === "number" ? `${column.width}px` : column.width
702
694
  } : void 0;
@@ -747,7 +739,12 @@ function renderTableHeader(ctx, props, slots) {
747
739
  !!column.sortable,
748
740
  column.headerClassName
749
741
  ),
750
- (isFixedLeft || isFixedRight) && "bg-[var(--tiger-surface-muted,#f9fafb)]"
742
+ getTableFixedHeaderCellClasses({
743
+ view: "table",
744
+ column,
745
+ stickyHeader: props.stickyHeader,
746
+ fixedInfo: ctx.fixedColumnsInfo.value
747
+ })
751
748
  ),
752
749
  style,
753
750
  draggable: props.columnDraggable ? "true" : void 0,
@@ -798,6 +795,8 @@ import {
798
795
  classNames as classNames2,
799
796
  getTableRowClasses,
800
797
  getTableCellClasses,
798
+ getTableFixedCellClasses,
799
+ getFixedColumnStyle as getFixedColumnStyle2,
801
800
  getCheckboxCellClasses as getCheckboxCellClasses2,
802
801
  getExpandIconCellClasses as getExpandIconCellClasses2,
803
802
  getExpandedRowClasses,
@@ -931,26 +930,22 @@ function renderTableBody(ctx, props, slots) {
931
930
  ctx.displayColumns.value.forEach((column) => {
932
931
  const dataKey = column.dataKey || column.key;
933
932
  const cellValue = record[dataKey];
934
- const isFixedLeft = column.fixed === "left";
935
- const isFixedRight = column.fixed === "right";
936
- const fixedStyle = isFixedLeft ? {
937
- position: "sticky",
938
- left: `${ctx.fixedColumnsInfo.value.leftOffsets[column.key] || 0}px`,
939
- zIndex: 10
940
- } : isFixedRight ? {
941
- position: "sticky",
942
- right: `${ctx.fixedColumnsInfo.value.rightOffsets[column.key] || 0}px`,
943
- zIndex: 10
944
- } : void 0;
933
+ const fixedStyle = getFixedColumnStyle2(column, ctx.fixedColumnsInfo.value, 10);
945
934
  const widthStyle = column.width ? {
946
935
  width: typeof column.width === "number" ? `${column.width}px` : column.width
947
936
  } : void 0;
948
937
  const style = fixedStyle ? { ...widthStyle, ...fixedStyle } : widthStyle;
949
- const stickyBgClass = props.striped && index % 2 === 0 ? "bg-[var(--tiger-surface-muted,#f9fafb)]/50" : "bg-[var(--tiger-surface,#ffffff)]";
950
- const stickyCellClass = isFixedLeft || isFixedRight ? classNames2(
951
- stickyBgClass,
952
- props.hoverable && "group-hover:bg-[var(--tiger-surface-muted,#f9fafb)]"
953
- ) : void 0;
938
+ const stickyCellClass = getTableFixedCellClasses({
939
+ view: "table",
940
+ column,
941
+ record,
942
+ rowIndex: index,
943
+ striped: props.striped,
944
+ stripedActive: props.striped && index % 2 === 0,
945
+ selected: isSelected,
946
+ hoverable: props.hoverable,
947
+ fixedInfo: ctx.fixedColumnsInfo.value
948
+ });
954
949
  const isEditing = ctx.editingCell.value?.rowIndex === index && ctx.editingCell.value?.columnKey === column.key;
955
950
  const isEditableCell = ctx.isCellEditable(column.key, index);
956
951
  const cellContent = isEditing ? h3("input", {
@@ -1085,8 +1080,8 @@ function renderSummaryRow(ctx, props) {
1085
1080
  import { h as h5 } from "vue";
1086
1081
  import {
1087
1082
  formatIntlNumber,
1088
- formatPageAriaLabel,
1089
1083
  formatPaginationTotal,
1084
+ formatPaginationPageIndicator,
1090
1085
  getPaginationLabels,
1091
1086
  getSimplePaginationContainerClasses,
1092
1087
  getSimplePaginationTotalClasses,
@@ -1104,18 +1099,20 @@ function renderPagination(ctx, props, view) {
1104
1099
  const paginationConfig = props.pagination;
1105
1100
  const total = paginationConfig.total !== void 0 && paginationConfig.total > 0 ? paginationConfig.total : ctx.processedData.value.length;
1106
1101
  const locale = view?.disableI18n ? void 0 : view?.locale;
1107
- const labels = locale ? getPaginationLabels(locale) : void 0;
1102
+ const labels = getPaginationLabels(locale);
1108
1103
  const localeCode = locale?.locale;
1109
- const isZh = !!localeCode?.startsWith("zh") || locale?.formWizard?.prevText === "\u4E0A\u4E00\u6B65" || locale?.upload?.clickToUploadText === "\u70B9\u51FB\u4E0A\u4F20";
1110
- const defaultTotalText = (t, range) => isZh ? `\u5171 ${t} \u6761` : `Showing ${range[0]} to ${range[1]} of ${t} results`;
1111
- const defaultPrevText = isZh ? "\u4E0A\u4E00\u9875" : "Previous";
1112
- const defaultNextText = isZh ? "\u4E0B\u4E00\u9875" : "Next";
1113
- const defaultPageIndicatorText = (current, total2) => isZh ? `\u7B2C ${current} \u9875 / \u5171 ${total2} \u9875` : `Page ${current} of ${total2}`;
1114
- const defaultPageSizeText = (size) => isZh ? `${size} \u6761/\u9875` : `${size} / page`;
1115
- const finalTotalText = paginationConfig.totalText ? paginationConfig.totalText(total, [startIndex, endIndex]) : labels ? formatPaginationTotal(labels.totalText, total, [startIndex, endIndex], localeCode) : defaultTotalText(total, [startIndex, endIndex]);
1116
- const finalPrevText = paginationConfig.prevText || labels?.prevPageAriaLabel || defaultPrevText;
1117
- const finalNextText = paginationConfig.nextText || labels?.nextPageAriaLabel || defaultNextText;
1118
- const finalPageIndicatorText = paginationConfig.pageIndicatorText ? paginationConfig.pageIndicatorText(ctx.currentPage.value, totalPages) : labels ? `${formatPageAriaLabel(labels.pageAriaLabel, ctx.currentPage.value, localeCode)} / ${formatIntlNumber(totalPages, localeCode)} ${labels.pageText}` : defaultPageIndicatorText(ctx.currentPage.value, totalPages);
1104
+ const finalTotalText = paginationConfig.totalText ? paginationConfig.totalText(total, [startIndex, endIndex]) : formatPaginationTotal(labels.totalText, total, [startIndex, endIndex], localeCode);
1105
+ const finalPrevText = paginationConfig.prevText || labels.prevPageAriaLabel;
1106
+ const finalNextText = paginationConfig.nextText || labels.nextPageAriaLabel;
1107
+ const finalPageIndicatorText = paginationConfig.pageIndicatorText ? paginationConfig.pageIndicatorText(ctx.currentPage.value, totalPages) : formatPaginationPageIndicator(
1108
+ labels.pageIndicatorText,
1109
+ ctx.currentPage.value,
1110
+ totalPages,
1111
+ localeCode
1112
+ );
1113
+ const finalPrevAriaLabel = view?.disableI18n ? finalPrevText : labels.prevPageAriaLabel;
1114
+ const finalNextAriaLabel = view?.disableI18n ? finalNextText : labels.nextPageAriaLabel;
1115
+ const normalizedPageSizeOptions = paginationConfig.pageSizeOptions || [10, 20, 50, 100];
1119
1116
  return h5("div", { class: getSimplePaginationContainerClasses() }, [
1120
1117
  paginationConfig.showTotal !== false && h5(
1121
1118
  "div",
@@ -1128,11 +1125,18 @@ function renderPagination(ctx, props, view) {
1128
1125
  {
1129
1126
  class: getSimplePaginationSelectClasses(),
1130
1127
  value: ctx.currentPageSize.value,
1128
+ "aria-label": labels.itemsPerPageText,
1131
1129
  onChange: (e) => ctx.handlePageSizeChange(Number(e.target.value))
1132
1130
  },
1133
- (paginationConfig.pageSizeOptions || [10, 20, 50, 100]).map(
1134
- (size) => h5("option", { value: size }, paginationConfig.pageSizeText ? paginationConfig.pageSizeText(size) : labels ? `${formatIntlNumber(size, localeCode)} ${labels.itemsPerPageText}` : defaultPageSizeText(size))
1135
- )
1131
+ normalizedPageSizeOptions.map((option) => {
1132
+ const value = typeof option === "number" ? option : option.value;
1133
+ const label = typeof option === "number" ? `${formatIntlNumber(value, localeCode)} ${labels.itemsPerPageText}` : option.label ?? `${formatIntlNumber(value, localeCode)} ${labels.itemsPerPageText}`;
1134
+ return h5(
1135
+ "option",
1136
+ { value, key: value },
1137
+ paginationConfig.pageSizeText ? paginationConfig.pageSizeText(value) : label
1138
+ );
1139
+ })
1136
1140
  ),
1137
1141
  h5("div", { class: getSimplePaginationButtonsWrapperClasses() }, [
1138
1142
  h5(
@@ -1140,13 +1144,17 @@ function renderPagination(ctx, props, view) {
1140
1144
  {
1141
1145
  class: getSimplePaginationButtonClasses(!hasPrev),
1142
1146
  disabled: !hasPrev,
1147
+ "aria-label": finalPrevAriaLabel,
1143
1148
  onClick: () => ctx.handlePageChange(ctx.currentPage.value - 1)
1144
1149
  },
1145
1150
  finalPrevText
1146
1151
  ),
1147
1152
  h5(
1148
1153
  "span",
1149
- { class: getSimplePaginationPageIndicatorClasses() },
1154
+ {
1155
+ class: getSimplePaginationPageIndicatorClasses(),
1156
+ "aria-label": finalPageIndicatorText
1157
+ },
1150
1158
  finalPageIndicatorText
1151
1159
  ),
1152
1160
  h5(
@@ -1154,6 +1162,7 @@ function renderPagination(ctx, props, view) {
1154
1162
  {
1155
1163
  class: getSimplePaginationButtonClasses(!hasNext),
1156
1164
  disabled: !hasNext,
1165
+ "aria-label": finalNextAriaLabel,
1157
1166
  onClick: () => ctx.handlePageChange(ctx.currentPage.value + 1)
1158
1167
  },
1159
1168
  finalNextText
@@ -136,6 +136,10 @@ var FormWizard = _vue.defineComponent.call(void 0, {
136
136
  type: Object,
137
137
  default: void 0
138
138
  },
139
+ labels: {
140
+ type: Object,
141
+ default: void 0
142
+ },
139
143
  bordered: {
140
144
  type: Boolean,
141
145
  default: true
@@ -157,7 +161,7 @@ var FormWizard = _vue.defineComponent.call(void 0, {
157
161
  setup(props, { slots, attrs, emit }) {
158
162
  const config = _chunk25EYT2CBjs.useTigerConfig.call(void 0, );
159
163
  const mergedLocale = _vue.computed.call(void 0, () => _tigercatcore.mergeTigerLocale.call(void 0, config.value.locale, props.locale));
160
- const labels = _vue.computed.call(void 0, () => _tigercatcore.getFormWizardLabels.call(void 0, mergedLocale.value));
164
+ const labels = _vue.computed.call(void 0, () => _tigercatcore.getFormWizardLabels.call(void 0, mergedLocale.value, props.labels));
161
165
  const innerCurrent = _vue.ref.call(void 0, _nullishCoalesce(props.current, () => ( props.defaultCurrent)));
162
166
  _vue.watch.call(void 0,
163
167
  () => props.current,
@@ -291,42 +295,40 @@ var FormWizard = _vue.defineComponent.call(void 0, {
291
295
  ]) : null,
292
296
  _vue.h.call(void 0,
293
297
  "div",
294
- { class: "px-8 py-6 flex flex-col items-center w-full min-h-[120px] transition-all duration-300" },
298
+ {
299
+ class: "px-8 py-6 flex flex-col items-center w-full min-h-[120px] transition-all duration-300"
300
+ },
295
301
  { default: () => renderContent() }
296
302
  ),
297
- props.showActions ? _vue.h.call(void 0,
298
- "div",
299
- { class: actionsContainerClass },
300
- [
301
- !isFirst ? _vue.h.call(void 0,
302
- _chunk4VLNT2EDjs.Button,
303
- {
304
- type: "button",
305
- variant: "secondary",
306
- class: "group",
307
- onClick: handlePrev,
308
- size: props.size === "small" ? "sm" : "md",
309
- icon: renderArrowLeftIcon()
310
- },
311
- { default: () => _tigercatcore.resolveLocaleText.call(void 0, labels.value.prevText, props.prevText) }
312
- ) : _vue.h.call(void 0, "div"),
313
- _vue.h.call(void 0,
314
- _chunk4VLNT2EDjs.Button,
315
- {
316
- type: "button",
317
- variant: "primary",
318
- class: "group",
319
- onClick: handleNext,
320
- size: props.size === "small" ? "sm" : "md",
321
- icon: isLast ? renderCheckIcon() : renderArrowRightIcon(),
322
- iconPosition: isLast ? "left" : "right"
323
- },
324
- {
325
- default: () => isLast ? _tigercatcore.resolveLocaleText.call(void 0, labels.value.finishText, props.finishText) : _tigercatcore.resolveLocaleText.call(void 0, labels.value.nextText, props.nextText)
326
- }
327
- )
328
- ]
329
- ) : null
303
+ props.showActions ? _vue.h.call(void 0, "div", { class: actionsContainerClass }, [
304
+ !isFirst ? _vue.h.call(void 0,
305
+ _chunk4VLNT2EDjs.Button,
306
+ {
307
+ type: "button",
308
+ variant: "secondary",
309
+ class: "group",
310
+ onClick: handlePrev,
311
+ size: props.size === "small" ? "sm" : "md",
312
+ icon: renderArrowLeftIcon()
313
+ },
314
+ { default: () => _tigercatcore.resolveLocaleText.call(void 0, labels.value.prevText, props.prevText) }
315
+ ) : _vue.h.call(void 0, "div"),
316
+ _vue.h.call(void 0,
317
+ _chunk4VLNT2EDjs.Button,
318
+ {
319
+ type: "button",
320
+ variant: "primary",
321
+ class: "group",
322
+ onClick: handleNext,
323
+ size: props.size === "small" ? "sm" : "md",
324
+ icon: isLast ? renderCheckIcon() : renderArrowRightIcon(),
325
+ iconPosition: isLast ? "left" : "right"
326
+ },
327
+ {
328
+ default: () => isLast ? _tigercatcore.resolveLocaleText.call(void 0, labels.value.finishText, props.finishText) : _tigercatcore.resolveLocaleText.call(void 0, labels.value.nextText, props.nextText)
329
+ }
330
+ )
331
+ ]) : null
330
332
  ]
331
333
  );
332
334
  };
@@ -14,6 +14,9 @@ var _vue = require('vue');
14
14
 
15
15
 
16
16
 
17
+
18
+
19
+
17
20
  var _tigercatcore = require('@expcat/tigercat-core');
18
21
  var VirtualTable = _vue.defineComponent.call(void 0, {
19
22
  name: "TigerVirtualTable",
@@ -82,7 +85,15 @@ var VirtualTable = _vue.defineComponent.call(void 0, {
82
85
  "th",
83
86
  {
84
87
  key: col.key,
85
- class: _tigercatcore.virtualTableHeaderCellClasses,
88
+ class: _tigercatcore.classNames.call(void 0,
89
+ _tigercatcore.virtualTableHeaderCellClasses,
90
+ _tigercatcore.getTableFixedHeaderCellClasses.call(void 0, {
91
+ view: "virtual-table",
92
+ column: col,
93
+ stickyHeader: props.stickyHeader,
94
+ fixedInfo: fi
95
+ })
96
+ ),
86
97
  style: { ...widthStyle, ...stickyStyle }
87
98
  },
88
99
  _nullishCoalesce(col.title, () => ( ""))
@@ -107,7 +118,21 @@ var VirtualTable = _vue.defineComponent.call(void 0, {
107
118
  "td",
108
119
  {
109
120
  key: col.key,
110
- class: _tigercatcore.virtualTableCellClasses,
121
+ class: _tigercatcore.classNames.call(void 0,
122
+ _tigercatcore.virtualTableCellClasses,
123
+ _tigercatcore.getTableFixedCellClasses.call(void 0, {
124
+ view: "virtual-table",
125
+ column: col,
126
+ record: row,
127
+ rowIndex: globalIdx,
128
+ striped: props.striped,
129
+ stripedActive: props.striped && globalIdx % 2 === 1,
130
+ selected: isSelected,
131
+ hoverable: true,
132
+ fixedInfo: fi,
133
+ selectedClassName: _tigercatcore.virtualTableRowSelectedClasses
134
+ })
135
+ ),
111
136
  style: _tigercatcore.getVirtualTableFixedCellStyle.call(void 0, col.key, fi)
112
137
  },
113
138
  String(_nullishCoalesce(row[col.key], () => ( "")))
@@ -1,3 +1,6 @@
1
+ import {
2
+ useTigerConfig
3
+ } from "./chunk-VG6E4NX6.mjs";
1
4
  import {
2
5
  renderVueBodyTeleport,
3
6
  useVueBodyScrollLock,
@@ -28,6 +31,7 @@ import {
28
31
  closeIconPathStrokeWidth,
29
32
  focusFirst,
30
33
  resolveLocaleText,
34
+ mergeTigerLocale,
31
35
  mergeStyleValues,
32
36
  getDrawerMaskClasses,
33
37
  getDrawerContainerClasses,
@@ -193,6 +197,13 @@ var Drawer = defineComponent({
193
197
  type: Object,
194
198
  default: void 0
195
199
  },
200
+ /**
201
+ * Flat custom-text overrides for single-language use (no i18n needed).
202
+ */
203
+ labels: {
204
+ type: Object,
205
+ default: void 0
206
+ },
196
207
  /**
197
208
  * Disable teleport (useful for testing)
198
209
  * @default false
@@ -205,6 +216,8 @@ var Drawer = defineComponent({
205
216
  },
206
217
  emits: ["update:open", "close", "after-enter", "after-leave"],
207
218
  setup(props, { slots, emit, attrs }) {
219
+ const config = useTigerConfig();
220
+ const mergedLocale = computed(() => mergeTigerLocale(config.value.locale, props.locale));
208
221
  const instanceId = ref(createDrawerId());
209
222
  const hasBeenOpened = ref(false);
210
223
  const deferredRendered = ref(props.open);
@@ -337,8 +350,9 @@ var Drawer = defineComponent({
337
350
  const resolvedCloseAriaLabel = resolveLocaleText(
338
351
  "Close drawer",
339
352
  props.closeAriaLabel,
340
- props.locale?.drawer?.closeAriaLabel,
341
- props.locale?.common?.closeText
353
+ props.labels?.closeAriaLabel,
354
+ mergedLocale.value?.drawer?.closeAriaLabel,
355
+ mergedLocale.value?.common?.closeText
342
356
  );
343
357
  const closeIcon = h(
344
358
  "svg",
@@ -1,3 +1,7 @@
1
+ import {
2
+ useTigerConfig
3
+ } from "./chunk-VG6E4NX6.mjs";
4
+
1
5
  // src/components/Pagination.ts
2
6
  import {
3
7
  defineComponent,
@@ -33,7 +37,8 @@ import {
33
37
  getPaginationJumperPage,
34
38
  getValidatedPaginationJumperValue,
35
39
  isLazyTigerLocale,
36
- resolveTigerLocale
40
+ resolveTigerLocale,
41
+ mergeTigerLocale
37
42
  } from "@expcat/tigercat-core";
38
43
  var Pagination = defineComponent({
39
44
  name: "TigerPagination",
@@ -184,6 +189,13 @@ var Pagination = defineComponent({
184
189
  type: [Object, Function],
185
190
  default: void 0
186
191
  },
192
+ /**
193
+ * Flat custom-text overrides for single-language use (no i18n needed).
194
+ */
195
+ labels: {
196
+ type: Object,
197
+ default: void 0
198
+ },
187
199
  quickJumperValidation: {
188
200
  type: Object,
189
201
  default: void 0
@@ -194,6 +206,7 @@ var Pagination = defineComponent({
194
206
  const attrsRecord = attrs;
195
207
  const attrsClass = attrsRecord.class;
196
208
  const attrsStyle = attrsRecord.style;
209
+ const config = useTigerConfig();
197
210
  const resolvedLocale = ref(
198
211
  getImmediateTigerLocale(props.locale)
199
212
  );
@@ -218,9 +231,10 @@ var Pagination = defineComponent({
218
231
  },
219
232
  { immediate: true }
220
233
  );
221
- const labels = computed(() => getPaginationLabels(resolvedLocale.value));
222
- const localeCode = computed(() => resolvedLocale.value?.locale);
223
- const isRtl = computed(() => getLocaleDirection(resolvedLocale.value) === "rtl");
234
+ const mergedLocale = computed(() => mergeTigerLocale(config.value.locale, resolvedLocale.value));
235
+ const labels = computed(() => getPaginationLabels(mergedLocale.value, props.labels));
236
+ const localeCode = computed(() => mergedLocale.value?.locale);
237
+ const isRtl = computed(() => getLocaleDirection(mergedLocale.value) === "rtl");
224
238
  const internalCurrent = ref(props.defaultCurrent);
225
239
  const internalPageSize = ref(props.defaultPageSize);
226
240
  const quickJumperValue = ref("");
@@ -334,7 +348,7 @@ var Pagination = defineComponent({
334
348
  const prevDisabled = page <= 1 || props.disabled;
335
349
  const nextDisabled = page >= pages || props.disabled;
336
350
  if (props.showTotal) {
337
- const totalTextFn = props.totalText || (resolvedLocale.value?.pagination?.totalText ? (value, range) => formatPaginationTotal(labels.value.totalText, value, range, localeCode.value) : defaultTotalText);
351
+ const totalTextFn = props.totalText || (props.labels?.totalText || mergedLocale.value?.pagination?.totalText ? (value, range) => formatPaginationTotal(labels.value.totalText, value, range, localeCode.value) : defaultTotalText);
338
352
  elements.push(
339
353
  h("span", { class: getTotalTextClasses(size) }, totalTextFn(props.total, pageRange.value))
340
354
  );
@@ -9,11 +9,14 @@ import {
9
9
  getVirtualRowKey,
10
10
  getVirtualTableFixedInfo,
11
11
  getVirtualTableFixedCellStyle,
12
+ getTableFixedCellClasses,
13
+ getTableFixedHeaderCellClasses,
12
14
  virtualTableHeaderClasses,
13
15
  virtualTableHeaderCellClasses,
14
16
  virtualTableCellClasses,
15
17
  virtualTableEmptyClasses,
16
- virtualTableLoadingClasses
18
+ virtualTableLoadingClasses,
19
+ virtualTableRowSelectedClasses
17
20
  } from "@expcat/tigercat-core";
18
21
  var VirtualTable = defineComponent({
19
22
  name: "TigerVirtualTable",
@@ -82,7 +85,15 @@ var VirtualTable = defineComponent({
82
85
  "th",
83
86
  {
84
87
  key: col.key,
85
- class: virtualTableHeaderCellClasses,
88
+ class: classNames(
89
+ virtualTableHeaderCellClasses,
90
+ getTableFixedHeaderCellClasses({
91
+ view: "virtual-table",
92
+ column: col,
93
+ stickyHeader: props.stickyHeader,
94
+ fixedInfo: fi
95
+ })
96
+ ),
86
97
  style: { ...widthStyle, ...stickyStyle }
87
98
  },
88
99
  col.title ?? ""
@@ -107,7 +118,21 @@ var VirtualTable = defineComponent({
107
118
  "td",
108
119
  {
109
120
  key: col.key,
110
- class: virtualTableCellClasses,
121
+ class: classNames(
122
+ virtualTableCellClasses,
123
+ getTableFixedCellClasses({
124
+ view: "virtual-table",
125
+ column: col,
126
+ record: row,
127
+ rowIndex: globalIdx,
128
+ striped: props.striped,
129
+ stripedActive: props.striped && globalIdx % 2 === 1,
130
+ selected: isSelected,
131
+ hoverable: true,
132
+ fixedInfo: fi,
133
+ selectedClassName: virtualTableRowSelectedClasses
134
+ })
135
+ ),
111
136
  style: getVirtualTableFixedCellStyle(col.key, fi)
112
137
  },
113
138
  String(row[col.key] ?? "")
@@ -1,6 +1,6 @@
1
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
2
 
3
- var _chunk6CSTMVB2js = require('./chunk-6CSTMVB2.js');
3
+ var _chunkPACAXQQ4js = require('./chunk-PACAXQQ4.js');
4
4
 
5
5
 
6
6
  var _chunkWUEP3PFNjs = require('./chunk-WUEP3PFN.js');
@@ -171,7 +171,7 @@ var CropUpload = _vue.defineComponent.call(void 0, {
171
171
  ]
172
172
  );
173
173
  const modal = _vue.h.call(void 0,
174
- _chunk6CSTMVB2js.Modal,
174
+ _chunkPACAXQQ4js.Modal,
175
175
  {
176
176
  open: modalVisible.value,
177
177
  size: "lg",