@expcat/tigercat-core 1.2.23 → 1.2.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -7196,7 +7196,7 @@ function getStepsContainerClasses(direction) {
7196
7196
  return `${baseClasses2} flex flex-row items-start`;
7197
7197
  }
7198
7198
  function getStepItemClasses(direction, isLast) {
7199
- const baseClasses2 = "tiger-step-item relative";
7199
+ const baseClasses2 = "tiger-step-item relative group";
7200
7200
  if (direction === "vertical") {
7201
7201
  return `${baseClasses2} flex flex-row ${!isLast ? "pb-6" : ""}`;
7202
7202
  }
@@ -7206,12 +7206,12 @@ function getStepIconClasses(status, size, simple, isCustomIcon) {
7206
7206
  const baseClasses2 = "tiger-step-icon relative z-10 flex items-center justify-center rounded-full border-2";
7207
7207
  const sizeClasses3 = simple ? "w-6 h-6 text-xs" : size === "small" ? "w-8 h-8 text-sm" : "w-10 h-10 text-base";
7208
7208
  const iconClasses = isCustomIcon ? "" : "font-medium";
7209
- const activeClasses = "bg-[var(--tiger-primary,#2563eb)] border-[var(--tiger-primary,#2563eb)] text-white";
7209
+ const activeClasses = "bg-[var(--tiger-primary,#2563eb)] border-[var(--tiger-primary,#2563eb)] text-white ring-4 ring-[var(--tiger-primary,#2563eb)]/15 scale-105 shadow-sm transition-all duration-300";
7210
7210
  const statusClasses = {
7211
- wait: "bg-[var(--tiger-surface-muted,#f3f4f6)] border-[var(--tiger-border,#e5e7eb)] text-[var(--tiger-text-muted,#6b7280)]",
7211
+ wait: "bg-[var(--tiger-surface-muted,#f3f4f6)] border-[var(--tiger-border,#e5e7eb)] text-[var(--tiger-text-muted,#6b7280)] transition-all duration-300 group-hover:border-[var(--tiger-primary,#2563eb)]/60 group-hover:text-[var(--tiger-primary,#2563eb)]/80",
7212
7212
  process: activeClasses,
7213
- finish: activeClasses,
7214
- error: "bg-[var(--tiger-error-bg,#fef2f2)] border-[var(--tiger-error,#ef4444)] text-[var(--tiger-error,#ef4444)]"
7213
+ finish: "bg-[var(--tiger-primary,#2563eb)] border-[var(--tiger-primary,#2563eb)] text-white shadow-sm transition-all duration-300 group-hover:scale-105 group-hover:bg-[var(--tiger-primary-hover,#0369a1)]",
7214
+ error: "bg-[var(--tiger-error-bg,#fef2f2)] border-[var(--tiger-error,#ef4444)] text-[var(--tiger-error,#ef4444)] transition-all duration-300"
7215
7215
  };
7216
7216
  return `${baseClasses2} ${sizeClasses3} ${iconClasses} ${statusClasses[status]}`;
7217
7217
  }
@@ -7236,9 +7236,9 @@ function getStepTitleClasses(status, size, clickable) {
7236
7236
  const baseClasses2 = "tiger-step-title font-medium";
7237
7237
  const sizeClasses3 = size === "small" ? "text-sm" : "text-base";
7238
7238
  const statusClasses = {
7239
- wait: "text-[var(--tiger-text-muted,#6b7280)]",
7240
- process: "text-[var(--tiger-text,#111827)]",
7241
- finish: "text-[var(--tiger-text,#111827)]",
7239
+ wait: "text-[var(--tiger-text-muted,#6b7280)] transition-colors duration-300 group-hover:text-[var(--tiger-text,#111827)]",
7240
+ process: "text-[var(--tiger-text,#111827)] font-semibold transition-colors duration-300",
7241
+ finish: "text-[var(--tiger-text,#111827)] transition-colors duration-300 group-hover:text-[var(--tiger-primary,#2563eb)]",
7242
7242
  error: "text-[var(--tiger-error,#ef4444)]"
7243
7243
  };
7244
7244
  const cursorClasses = clickable ? "bg-transparent border-0 p-0 cursor-pointer hover:text-[var(--tiger-primary,#2563eb)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tiger-primary,#2563eb)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--tiger-surface,#ffffff)]" : "";
@@ -8782,29 +8782,29 @@ var imagePreviewToolbarBtnClasses = "flex items-center justify-center w-8 h-8 ro
8782
8782
  var imagePreviewNavBtnClasses = "absolute top-1/2 -translate-y-1/2 flex items-center justify-center w-10 h-10 rounded-full bg-[var(--tiger-image-toolbar-bg,rgba(0,0,0,0.6))] text-white hover:bg-white/20 transition-colors focus:outline-none focus:ring-2 focus:ring-white/50 disabled:opacity-40 disabled:cursor-not-allowed";
8783
8783
  var imagePreviewCloseBtnClasses = "absolute top-4 right-4 flex items-center justify-center w-10 h-10 rounded-full bg-[var(--tiger-image-toolbar-bg,rgba(0,0,0,0.6))] text-white hover:bg-white/20 transition-colors focus:outline-none focus:ring-2 focus:ring-white/50";
8784
8784
  var imagePreviewCounterClasses = "text-sm text-white/80 mx-2 tabular-nums";
8785
- var imageCropperContainerClasses = "relative overflow-hidden bg-[var(--tiger-image-cropper-bg,#1a1a2e)] select-none touch-none";
8785
+ var imageCropperContainerClasses = "relative overflow-hidden bg-[var(--tiger-image-cropper-bg,#0f172a)] rounded-[var(--tiger-radius-lg,0.75rem)] select-none touch-none shadow-inner border border-white/10 tiger-image-cropper-checkerboard";
8786
8786
  var imageCropperImgClasses = "absolute top-0 left-0 max-w-none pointer-events-none";
8787
8787
  var imageCropperMaskClasses = "absolute inset-0 pointer-events-none";
8788
- var imageCropperSelectionClasses = "absolute border-2 border-[var(--tiger-image-cropper-border,#ffffff)] pointer-events-none";
8789
- var imageCropperGuideClasses = "absolute border-[var(--tiger-image-cropper-border,rgba(255,255,255,0.4))] pointer-events-none";
8788
+ var imageCropperSelectionClasses = "absolute border-2 border-[var(--tiger-image-cropper-border,#ffffff)] pointer-events-none shadow-[0_0_0_9999px_rgba(0,0,0,0.65),0_0_15px_rgba(255,255,255,0.4)] transition-shadow duration-300";
8789
+ var imageCropperGuideClasses = "absolute border-[var(--tiger-image-cropper-border,rgba(255,255,255,0.25))] pointer-events-none opacity-40 transition-opacity duration-300";
8790
8790
  var imageCropperDragAreaClasses = "absolute cursor-move";
8791
8791
  function getCropperHandleClasses(handle) {
8792
- const base = "absolute w-3 h-3 bg-[var(--tiger-image-cropper-border,#ffffff)] border border-[var(--tiger-image-cropper-handle-border,rgba(0,0,0,0.3))]";
8792
+ const base = "absolute w-3.5 h-3.5 rounded-full bg-white border-2 border-[var(--tiger-primary,#2563eb)] shadow-md hover:scale-125 hover:bg-[var(--tiger-primary,#2563eb)] hover:border-white transition-all duration-200 cursor-pointer focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)]";
8793
8793
  const positionMap = {
8794
- nw: "-top-1.5 -left-1.5 cursor-nw-resize",
8795
- n: "-top-1.5 left-1/2 -translate-x-1/2 cursor-n-resize",
8796
- ne: "-top-1.5 -right-1.5 cursor-ne-resize",
8797
- e: "top-1/2 -right-1.5 -translate-y-1/2 cursor-e-resize",
8798
- se: "-bottom-1.5 -right-1.5 cursor-se-resize",
8799
- s: "-bottom-1.5 left-1/2 -translate-x-1/2 cursor-s-resize",
8800
- sw: "-bottom-1.5 -left-1.5 cursor-sw-resize",
8801
- w: "top-1/2 -left-1.5 -translate-y-1/2 cursor-w-resize"
8794
+ nw: "-top-1.75 -left-1.75 cursor-nw-resize",
8795
+ n: "-top-1.75 left-1/2 -translate-x-1/2 cursor-n-resize",
8796
+ ne: "-top-1.75 -right-1.75 cursor-ne-resize",
8797
+ e: "top-1/2 -right-1.75 -translate-y-1/2 cursor-e-resize",
8798
+ se: "-bottom-1.75 -right-1.75 cursor-se-resize",
8799
+ s: "-bottom-1.75 left-1/2 -translate-x-1/2 cursor-s-resize",
8800
+ sw: "-bottom-1.75 -left-1.75 cursor-sw-resize",
8801
+ w: "top-1/2 -left-1.75 -translate-y-1/2 cursor-w-resize"
8802
8802
  };
8803
8803
  return classNames(base, positionMap[handle]);
8804
8804
  }
8805
8805
  var CROP_HANDLES = ["nw", "n", "ne", "e", "se", "s", "sw", "w"];
8806
- var cropUploadTriggerClasses = "inline-flex items-center justify-center gap-2 px-4 py-2 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-md,0.5rem)] text-[var(--tiger-text-muted,#6b7280)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] transition-colors cursor-pointer focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:ring-offset-2";
8807
- var cropUploadTriggerDisabledClasses = "inline-flex items-center justify-center gap-2 px-4 py-2 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-md,0.5rem)] text-[var(--tiger-text-muted,#9ca3af)] cursor-not-allowed opacity-50";
8806
+ var cropUploadTriggerClasses = "inline-flex items-center justify-center gap-2.5 px-5 py-2.5 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-lg,0.75rem)] text-[var(--tiger-text-secondary,#4b5563)] bg-[var(--tiger-surface-muted,#f9fafb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] hover:scale-[1.02] active:scale-[0.98] hover:shadow-md transition-all duration-300 ease-out cursor-pointer focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:ring-offset-2 dark:bg-neutral-900 dark:hover:bg-neutral-800";
8807
+ var cropUploadTriggerDisabledClasses = "inline-flex items-center justify-center gap-2.5 px-5 py-2.5 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-lg,0.75rem)] text-[var(--tiger-text-disabled,#9ca3af)] bg-[var(--tiger-surface-muted,#f9fafb)] cursor-not-allowed opacity-60 dark:bg-neutral-900/50";
8808
8808
  var uploadPlusIconPath = "M12 4v16m8-8H4";
8809
8809
  function clampScale(scale, min, max) {
8810
8810
  return Math.min(Math.max(scale, min), max);
@@ -11866,18 +11866,18 @@ function createCountdownPayload(remaining, format = COUNTDOWN_DEFAULT_FORMAT) {
11866
11866
  }
11867
11867
 
11868
11868
  // src/utils/task-board-utils.ts
11869
- var taskBoardBaseClasses = "tiger-task-board flex gap-4 overflow-x-auto p-4 min-h-[400px]";
11870
- var taskBoardColumnClasses = "tiger-task-board-column flex flex-col shrink-0 w-72 rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] shadow-sm transition-shadow";
11871
- var taskBoardColumnHeaderClasses = "flex items-center justify-between px-3 py-2 border-b border-[var(--tiger-border,#e5e7eb)] text-sm font-semibold text-[var(--tiger-text,#1f2937)] select-none";
11872
- var taskBoardColumnBodyClasses = "flex-1 overflow-y-auto p-2 space-y-2 min-h-[80px]";
11873
- var taskBoardCardClasses = "tiger-task-board-card rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] p-3 shadow-sm cursor-grab select-none transition-opacity";
11874
- var taskBoardCardDraggingClasses = "opacity-50 shadow-lg";
11875
- var taskBoardDropIndicatorClasses = "h-1 rounded-full bg-[var(--tiger-primary,#2563eb)] my-1 transition-all";
11876
- var taskBoardColumnDropTargetClasses = "ring-2 ring-[var(--tiger-primary,#2563eb)] ring-opacity-50";
11869
+ var taskBoardBaseClasses = "tiger-task-board flex gap-5 overflow-x-auto p-6 min-h-[450px] scroll-smooth antialiased";
11870
+ var taskBoardColumnClasses = "tiger-task-board-column flex flex-col shrink-0 w-76 rounded-[var(--tiger-radius-lg,0.75rem)] border border-[var(--tiger-border,#e5e7eb)]/80 bg-[var(--tiger-surface-muted,#f9fafb)] shadow-xs transition-all duration-300 hover:shadow-md";
11871
+ var taskBoardColumnHeaderClasses = "flex items-center justify-between px-4 py-3.5 border-b border-[var(--tiger-border,#e5e7eb)]/60 text-sm font-semibold text-[var(--tiger-text,#1f2937)] select-none transition-colors";
11872
+ var taskBoardColumnBodyClasses = "flex-1 overflow-y-auto p-3 space-y-3 min-h-[100px] transition-colors";
11873
+ var taskBoardCardClasses = "tiger-task-board-card rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)]/80 bg-[var(--tiger-surface,#ffffff)] p-4 shadow-[0_1px_3px_rgba(0,0,0,0.04),_0_1px_2px_rgba(0,0,0,0.02)] cursor-grab select-none transition-all duration-200 hover:-translate-y-0.5 hover:shadow-md hover:border-[var(--tiger-primary,#2563eb)]/30 active:cursor-grabbing";
11874
+ var taskBoardCardDraggingClasses = "opacity-40 shadow-xl scale-[0.98] rotate-1";
11875
+ var taskBoardDropIndicatorClasses = "h-1.5 rounded-full bg-[var(--tiger-primary,#2563eb)] my-2 shadow-[0_0_8px_var(--tiger-primary,#2563eb)] transition-all duration-200";
11876
+ var taskBoardColumnDropTargetClasses = "ring-2 ring-[var(--tiger-primary,#2563eb)]/60 bg-[color-mix(in_srgb,var(--tiger-primary,#2563eb)_4%,transparent)]";
11877
11877
  var taskBoardColumnDraggingClasses = "opacity-50";
11878
11878
  var taskBoardEmptyClasses = "flex items-center justify-center text-[var(--tiger-text-muted,#6b7280)] text-sm py-8";
11879
11879
  var taskBoardWipExceededClasses = "text-[var(--tiger-error,#ef4444)]";
11880
- var taskBoardAddCardClasses = "flex items-center justify-center gap-1 w-full py-1.5 text-sm text-[var(--tiger-text-muted,#6b7280)] hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface-muted,#f9fafb)] rounded transition-colors cursor-pointer";
11880
+ var taskBoardAddCardClasses = "flex items-center justify-center gap-1.5 w-[calc(100%-16px)] mx-2 my-2 py-2.5 text-xs font-semibold text-[var(--tiger-text-muted,#6b7280)] border border-dashed border-[var(--tiger-border,#e5e7eb)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:shadow-xs rounded-[var(--tiger-radius-md,0.5rem)] transition-all duration-200 cursor-pointer active:scale-98";
11881
11881
  var MIME = "text/plain";
11882
11882
  function createCardDragData(cardId, columnId, index) {
11883
11883
  const data = { type: "card", cardId, columnId, index };
@@ -15584,13 +15584,13 @@ function createBuiltinRichTextEngine() {
15584
15584
  var builtinRichTextEngine = createBuiltinRichTextEngine();
15585
15585
 
15586
15586
  // src/utils/kanban-utils.ts
15587
- var kanbanCardCountClasses = "inline-flex items-center justify-center h-5 min-w-[20px] px-1.5 rounded-full text-xs font-medium bg-[var(--tiger-bg-secondary,#f3f4f6)] text-[var(--tiger-text-secondary,#6b7280)]";
15587
+ var kanbanCardCountClasses = "inline-flex items-center justify-center h-5 min-w-[22px] px-2 rounded-full text-xs font-semibold bg-[var(--tiger-border,#e5e7eb)]/60 text-[var(--tiger-text-secondary,#6b7280)]/90 backdrop-blur-xs shadow-inner";
15588
15588
  var kanbanSwimlaneClasses = "border-b border-[var(--tiger-border,#e5e7eb)] last:border-b-0";
15589
15589
  var kanbanSwimlaneHeaderClasses = "flex items-center gap-2 px-4 py-2 text-sm font-medium text-[var(--tiger-text,#1f2937)] cursor-pointer select-none hover:bg-[var(--tiger-bg-hover,#f9fafb)]";
15590
15590
  var kanbanSwimlaneDotClasses = "w-2.5 h-2.5 rounded-full shrink-0";
15591
15591
  var kanbanSwimlaneCollapsedClasses = "hidden";
15592
15592
  var kanbanFilterHighlightClasses = "bg-[var(--tiger-warning,#fbbf24)]/20";
15593
- var kanbanAddColumnClasses = "flex items-center justify-center shrink-0 w-72 min-h-[80px] rounded-[var(--tiger-radius-md,0.5rem)] border-2 border-dashed border-[var(--tiger-border,#d1d5db)] text-[var(--tiger-text-muted,#9ca3af)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] cursor-pointer transition-colors";
15593
+ var kanbanAddColumnClasses = "flex items-center justify-center shrink-0 w-76 min-h-[120px] rounded-[var(--tiger-radius-lg,0.75rem)] border-2 border-dashed border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface-muted,#f9fafb)]/40 text-sm font-medium text-[var(--tiger-text-muted,#6b7280)] hover:border-[var(--tiger-primary,#2563eb)]/80 hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:shadow-sm cursor-pointer transition-all duration-300 active:scale-98";
15594
15594
  var kanbanAddCardClasses = taskBoardAddCardClasses;
15595
15595
  function filterCards(cards, filterText) {
15596
15596
  if (!filterText.trim()) return cards;
package/dist/index.d.cts CHANGED
@@ -6,8 +6,8 @@ import { a as TigerLocaleInput, b as TigerLocaleLazyModule, c as TigerLocaleLoad
6
6
  export { h as TigerLocaleCommon, j as TigerLocaleDrawer, i as TigerLocaleModal, k as TigerLocaleUpload } from './locale-9-B-d0mp.cjs';
7
7
  import { D as DatePickerLocalePreset, a as DatePickerLocaleInput, b as DatePickerLabels, c as DateFormat, d as DatePickerSize } from './datepicker-DXzS_8l8.cjs';
8
8
  export { e as DatePickerInputDate, k as DatePickerLocaleConfig, h as DatePickerModelValue, l as DatePickerProps, g as DatePickerRangeModelValue, j as DatePickerRangeValue, m as DatePickerShortcut, f as DatePickerSingleModelValue, i as DatePickerSingleValue } from './datepicker-DXzS_8l8.cjs';
9
- import { T as TableResponsiveMode, a as TableColumn, b as TableSize, C as ColumnAlign, S as SortDirection, F as FilterOption, c as TableProps, P as PaginationConfig, d as FilterRule, e as ColumnFilter, f as SortState } from './table-export-6ISYSoVB.cjs';
10
- export { E as ExpandableConfig, n as FilterType, R as RowSelectionConfig, m as TableExportFormat, i as downloadCsv, j as downloadExcel, l as downloadTableExport, k as exportTableData, g as exportTableToCsv, h as exportTableToExcel, t as tableExportButtonClasses } from './table-export-6ISYSoVB.cjs';
9
+ import { T as TableResponsiveMode, a as TableColumn, b as TableSize, C as ColumnAlign, S as SortDirection, F as FilterOption, c as TableProps, P as PaginationConfig, d as FilterRule, e as ColumnFilter, f as SortState } from './table-export-D7_CDqY7.cjs';
10
+ export { E as ExpandableConfig, n as FilterType, R as RowSelectionConfig, m as TableExportFormat, i as downloadCsv, j as downloadExcel, l as downloadTableExport, k as exportTableData, g as exportTableToCsv, h as exportTableToExcel, t as tableExportButtonClasses } from './table-export-D7_CDqY7.cjs';
11
11
  import { Middleware, MiddlewareData } from '@floating-ui/dom';
12
12
  import { T as ThemePreset, C as ColorScheme } from './tailwind-entry-DUchHtjs.cjs';
13
13
  export { a as ThemeColorScale, h as ThemeConfig, g as ThemeMotion, i as ThemePresetName, d as ThemeRadius, b as ThemeSemanticColors, e as ThemeShadows, f as ThemeSpacing, c as ThemeTypography, l as TigercatPluginOptions, m as createTigercatPlugin, j as tigercatDarkTheme, k as tigercatPlugin, t as tigercatTheme } from './tailwind-entry-DUchHtjs.cjs';
@@ -8344,7 +8344,7 @@ declare const imagePreviewCounterClasses = "text-sm text-white/80 mx-2 tabular-n
8344
8344
  /**
8345
8345
  * Cropper container classes
8346
8346
  */
8347
- declare const imageCropperContainerClasses = "relative overflow-hidden bg-[var(--tiger-image-cropper-bg,#1a1a2e)] select-none touch-none";
8347
+ declare const imageCropperContainerClasses = "relative overflow-hidden bg-[var(--tiger-image-cropper-bg,#0f172a)] rounded-[var(--tiger-radius-lg,0.75rem)] select-none touch-none shadow-inner border border-white/10 tiger-image-cropper-checkerboard";
8348
8348
  /**
8349
8349
  * Cropper image classes (the source image)
8350
8350
  */
@@ -8356,11 +8356,11 @@ declare const imageCropperMaskClasses = "absolute inset-0 pointer-events-none";
8356
8356
  /**
8357
8357
  * Cropper selection border classes (the crop box border)
8358
8358
  */
8359
- declare const imageCropperSelectionClasses = "absolute border-2 border-[var(--tiger-image-cropper-border,#ffffff)] pointer-events-none";
8359
+ declare const imageCropperSelectionClasses = "absolute border-2 border-[var(--tiger-image-cropper-border,#ffffff)] pointer-events-none shadow-[0_0_0_9999px_rgba(0,0,0,0.65),0_0_15px_rgba(255,255,255,0.4)] transition-shadow duration-300";
8360
8360
  /**
8361
8361
  * Cropper guide line classes
8362
8362
  */
8363
- declare const imageCropperGuideClasses = "absolute border-[var(--tiger-image-cropper-border,rgba(255,255,255,0.4))] pointer-events-none";
8363
+ declare const imageCropperGuideClasses = "absolute border-[var(--tiger-image-cropper-border,rgba(255,255,255,0.25))] pointer-events-none opacity-40 transition-opacity duration-300";
8364
8364
  /**
8365
8365
  * Cropper drag area classes (inside the crop box, handles moving)
8366
8366
  */
@@ -8376,11 +8376,11 @@ declare const CROP_HANDLES: CropHandle[];
8376
8376
  /**
8377
8377
  * CropUpload trigger button classes
8378
8378
  */
8379
- declare const cropUploadTriggerClasses = "inline-flex items-center justify-center gap-2 px-4 py-2 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-md,0.5rem)] text-[var(--tiger-text-muted,#6b7280)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] transition-colors cursor-pointer focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:ring-offset-2";
8379
+ declare const cropUploadTriggerClasses = "inline-flex items-center justify-center gap-2.5 px-5 py-2.5 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-lg,0.75rem)] text-[var(--tiger-text-secondary,#4b5563)] bg-[var(--tiger-surface-muted,#f9fafb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] hover:scale-[1.02] active:scale-[0.98] hover:shadow-md transition-all duration-300 ease-out cursor-pointer focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:ring-offset-2 dark:bg-neutral-900 dark:hover:bg-neutral-800";
8380
8380
  /**
8381
8381
  * CropUpload disabled trigger classes
8382
8382
  */
8383
- declare const cropUploadTriggerDisabledClasses = "inline-flex items-center justify-center gap-2 px-4 py-2 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-md,0.5rem)] text-[var(--tiger-text-muted,#9ca3af)] cursor-not-allowed opacity-50";
8383
+ declare const cropUploadTriggerDisabledClasses = "inline-flex items-center justify-center gap-2.5 px-5 py-2.5 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-lg,0.75rem)] text-[var(--tiger-text-disabled,#9ca3af)] bg-[var(--tiger-surface-muted,#f9fafb)] cursor-not-allowed opacity-60 dark:bg-neutral-900/50";
8384
8384
  /**
8385
8385
  * Upload icon path (plus sign in a frame)
8386
8386
  */
@@ -13101,6 +13101,11 @@ interface FormWizardProps {
13101
13101
  * @default false
13102
13102
  */
13103
13103
  simple?: boolean;
13104
+ /**
13105
+ * Whether to show border around the wizard card
13106
+ * @default true
13107
+ */
13108
+ bordered?: boolean;
13104
13109
  /**
13105
13110
  * Whether to show steps header
13106
13111
  * @default true
@@ -13423,21 +13428,21 @@ declare function formatCountdown(remaining: number, format?: string): string;
13423
13428
  declare function createCountdownPayload(remaining: number, format?: string): CountdownChangePayload;
13424
13429
 
13425
13430
  /** Root wrapper — horizontal scroll container */
13426
- declare const taskBoardBaseClasses = "tiger-task-board flex gap-4 overflow-x-auto p-4 min-h-[400px]";
13431
+ declare const taskBoardBaseClasses = "tiger-task-board flex gap-5 overflow-x-auto p-6 min-h-[450px] scroll-smooth antialiased";
13427
13432
  /** Single column shell */
13428
- declare const taskBoardColumnClasses = "tiger-task-board-column flex flex-col shrink-0 w-72 rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] shadow-sm transition-shadow";
13433
+ declare const taskBoardColumnClasses = "tiger-task-board-column flex flex-col shrink-0 w-76 rounded-[var(--tiger-radius-lg,0.75rem)] border border-[var(--tiger-border,#e5e7eb)]/80 bg-[var(--tiger-surface-muted,#f9fafb)] shadow-xs transition-all duration-300 hover:shadow-md";
13429
13434
  /** Column header (sticky, never scrolls) */
13430
- declare const taskBoardColumnHeaderClasses = "flex items-center justify-between px-3 py-2 border-b border-[var(--tiger-border,#e5e7eb)] text-sm font-semibold text-[var(--tiger-text,#1f2937)] select-none";
13435
+ declare const taskBoardColumnHeaderClasses = "flex items-center justify-between px-4 py-3.5 border-b border-[var(--tiger-border,#e5e7eb)]/60 text-sm font-semibold text-[var(--tiger-text,#1f2937)] select-none transition-colors";
13431
13436
  /** Scrollable card area */
13432
- declare const taskBoardColumnBodyClasses = "flex-1 overflow-y-auto p-2 space-y-2 min-h-[80px]";
13437
+ declare const taskBoardColumnBodyClasses = "flex-1 overflow-y-auto p-3 space-y-3 min-h-[100px] transition-colors";
13433
13438
  /** Card base styles */
13434
- declare const taskBoardCardClasses = "tiger-task-board-card rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] p-3 shadow-sm cursor-grab select-none transition-opacity";
13439
+ declare const taskBoardCardClasses = "tiger-task-board-card rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)]/80 bg-[var(--tiger-surface,#ffffff)] p-4 shadow-[0_1px_3px_rgba(0,0,0,0.04),_0_1px_2px_rgba(0,0,0,0.02)] cursor-grab select-none transition-all duration-200 hover:-translate-y-0.5 hover:shadow-md hover:border-[var(--tiger-primary,#2563eb)]/30 active:cursor-grabbing";
13435
13440
  /** Card while being dragged */
13436
- declare const taskBoardCardDraggingClasses = "opacity-50 shadow-lg";
13441
+ declare const taskBoardCardDraggingClasses = "opacity-40 shadow-xl scale-[0.98] rotate-1";
13437
13442
  /** Thin line indicating the drop position */
13438
- declare const taskBoardDropIndicatorClasses = "h-1 rounded-full bg-[var(--tiger-primary,#2563eb)] my-1 transition-all";
13443
+ declare const taskBoardDropIndicatorClasses = "h-1.5 rounded-full bg-[var(--tiger-primary,#2563eb)] my-2 shadow-[0_0_8px_var(--tiger-primary,#2563eb)] transition-all duration-200";
13439
13444
  /** Column highlighted when a card hovers over it */
13440
- declare const taskBoardColumnDropTargetClasses = "ring-2 ring-[var(--tiger-primary,#2563eb)] ring-opacity-50";
13445
+ declare const taskBoardColumnDropTargetClasses = "ring-2 ring-[var(--tiger-primary,#2563eb)]/60 bg-[color-mix(in_srgb,var(--tiger-primary,#2563eb)_4%,transparent)]";
13441
13446
  /** Column being dragged */
13442
13447
  declare const taskBoardColumnDraggingClasses = "opacity-50";
13443
13448
  /** Empty column placeholder */
@@ -13445,7 +13450,7 @@ declare const taskBoardEmptyClasses = "flex items-center justify-center text-[va
13445
13450
  /** WIP exceeded badge / header tint */
13446
13451
  declare const taskBoardWipExceededClasses = "text-[var(--tiger-error,#ef4444)]";
13447
13452
  /** Add-card button inside column footer */
13448
- declare const taskBoardAddCardClasses = "flex items-center justify-center gap-1 w-full py-1.5 text-sm text-[var(--tiger-text-muted,#6b7280)] hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface-muted,#f9fafb)] rounded transition-colors cursor-pointer";
13453
+ declare const taskBoardAddCardClasses = "flex items-center justify-center gap-1.5 w-[calc(100%-16px)] mx-2 my-2 py-2.5 text-xs font-semibold text-[var(--tiger-text-muted,#6b7280)] border border-dashed border-[var(--tiger-border,#e5e7eb)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:shadow-xs rounded-[var(--tiger-radius-md,0.5rem)] transition-all duration-200 cursor-pointer active:scale-98";
13449
13454
  interface CardDragData {
13450
13455
  type: 'card';
13451
13456
  cardId: string | number;
@@ -15991,7 +15996,7 @@ interface KanbanProps extends TaskBoardProps {
15991
15996
  */
15992
15997
 
15993
15998
  /** Card count badge */
15994
- declare const kanbanCardCountClasses = "inline-flex items-center justify-center h-5 min-w-[20px] px-1.5 rounded-full text-xs font-medium bg-[var(--tiger-bg-secondary,#f3f4f6)] text-[var(--tiger-text-secondary,#6b7280)]";
15999
+ declare const kanbanCardCountClasses = "inline-flex items-center justify-center h-5 min-w-[22px] px-2 rounded-full text-xs font-semibold bg-[var(--tiger-border,#e5e7eb)]/60 text-[var(--tiger-text-secondary,#6b7280)]/90 backdrop-blur-xs shadow-inner";
15995
16000
  /** Swimlane row wrapper */
15996
16001
  declare const kanbanSwimlaneClasses = "border-b border-[var(--tiger-border,#e5e7eb)] last:border-b-0";
15997
16002
  /** Swimlane header */
@@ -16003,9 +16008,9 @@ declare const kanbanSwimlaneCollapsedClasses = "hidden";
16003
16008
  /** Filter match highlight on card */
16004
16009
  declare const kanbanFilterHighlightClasses = "bg-[var(--tiger-warning,#fbbf24)]/20";
16005
16010
  /** Add column button */
16006
- declare const kanbanAddColumnClasses = "flex items-center justify-center shrink-0 w-72 min-h-[80px] rounded-[var(--tiger-radius-md,0.5rem)] border-2 border-dashed border-[var(--tiger-border,#d1d5db)] text-[var(--tiger-text-muted,#9ca3af)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] cursor-pointer transition-colors";
16011
+ declare const kanbanAddColumnClasses = "flex items-center justify-center shrink-0 w-76 min-h-[120px] rounded-[var(--tiger-radius-lg,0.75rem)] border-2 border-dashed border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface-muted,#f9fafb)]/40 text-sm font-medium text-[var(--tiger-text-muted,#6b7280)] hover:border-[var(--tiger-primary,#2563eb)]/80 hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:shadow-sm cursor-pointer transition-all duration-300 active:scale-98";
16007
16012
  /** @deprecated Use `taskBoardAddCardClasses` instead */
16008
- declare const kanbanAddCardClasses = "flex items-center justify-center gap-1 w-full py-1.5 text-sm text-[var(--tiger-text-muted,#6b7280)] hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface-muted,#f9fafb)] rounded transition-colors cursor-pointer";
16013
+ declare const kanbanAddCardClasses = "flex items-center justify-center gap-1.5 w-[calc(100%-16px)] mx-2 my-2 py-2.5 text-xs font-semibold text-[var(--tiger-text-muted,#6b7280)] border border-dashed border-[var(--tiger-border,#e5e7eb)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:shadow-xs rounded-[var(--tiger-radius-md,0.5rem)] transition-all duration-200 cursor-pointer active:scale-98";
16009
16014
  /**
16010
16015
  * Filter cards by a search term (matches against title and description).
16011
16016
  * Returns a new array of matching cards.
package/dist/index.d.ts CHANGED
@@ -6,8 +6,8 @@ import { a as TigerLocaleInput, b as TigerLocaleLazyModule, c as TigerLocaleLoad
6
6
  export { h as TigerLocaleCommon, j as TigerLocaleDrawer, i as TigerLocaleModal, k as TigerLocaleUpload } from './locale-Bc3zz2b0.js';
7
7
  import { D as DatePickerLocalePreset, a as DatePickerLocaleInput, b as DatePickerLabels, c as DateFormat, d as DatePickerSize } from './datepicker-DXzS_8l8.js';
8
8
  export { e as DatePickerInputDate, k as DatePickerLocaleConfig, h as DatePickerModelValue, l as DatePickerProps, g as DatePickerRangeModelValue, j as DatePickerRangeValue, m as DatePickerShortcut, f as DatePickerSingleModelValue, i as DatePickerSingleValue } from './datepicker-DXzS_8l8.js';
9
- import { T as TableResponsiveMode, a as TableColumn, b as TableSize, C as ColumnAlign, S as SortDirection, F as FilterOption, c as TableProps, P as PaginationConfig, d as FilterRule, e as ColumnFilter, f as SortState } from './table-export-6ISYSoVB.js';
10
- export { E as ExpandableConfig, n as FilterType, R as RowSelectionConfig, m as TableExportFormat, i as downloadCsv, j as downloadExcel, l as downloadTableExport, k as exportTableData, g as exportTableToCsv, h as exportTableToExcel, t as tableExportButtonClasses } from './table-export-6ISYSoVB.js';
9
+ import { T as TableResponsiveMode, a as TableColumn, b as TableSize, C as ColumnAlign, S as SortDirection, F as FilterOption, c as TableProps, P as PaginationConfig, d as FilterRule, e as ColumnFilter, f as SortState } from './table-export-C-BAknOZ.js';
10
+ export { E as ExpandableConfig, n as FilterType, R as RowSelectionConfig, m as TableExportFormat, i as downloadCsv, j as downloadExcel, l as downloadTableExport, k as exportTableData, g as exportTableToCsv, h as exportTableToExcel, t as tableExportButtonClasses } from './table-export-C-BAknOZ.js';
11
11
  import { Middleware, MiddlewareData } from '@floating-ui/dom';
12
12
  import { T as ThemePreset, C as ColorScheme } from './tailwind-entry-D4_sseNi.js';
13
13
  export { a as ThemeColorScale, h as ThemeConfig, g as ThemeMotion, i as ThemePresetName, d as ThemeRadius, b as ThemeSemanticColors, e as ThemeShadows, f as ThemeSpacing, c as ThemeTypography, l as TigercatPluginOptions, m as createTigercatPlugin, j as tigercatDarkTheme, k as tigercatPlugin, t as tigercatTheme } from './tailwind-entry-D4_sseNi.js';
@@ -8344,7 +8344,7 @@ declare const imagePreviewCounterClasses = "text-sm text-white/80 mx-2 tabular-n
8344
8344
  /**
8345
8345
  * Cropper container classes
8346
8346
  */
8347
- declare const imageCropperContainerClasses = "relative overflow-hidden bg-[var(--tiger-image-cropper-bg,#1a1a2e)] select-none touch-none";
8347
+ declare const imageCropperContainerClasses = "relative overflow-hidden bg-[var(--tiger-image-cropper-bg,#0f172a)] rounded-[var(--tiger-radius-lg,0.75rem)] select-none touch-none shadow-inner border border-white/10 tiger-image-cropper-checkerboard";
8348
8348
  /**
8349
8349
  * Cropper image classes (the source image)
8350
8350
  */
@@ -8356,11 +8356,11 @@ declare const imageCropperMaskClasses = "absolute inset-0 pointer-events-none";
8356
8356
  /**
8357
8357
  * Cropper selection border classes (the crop box border)
8358
8358
  */
8359
- declare const imageCropperSelectionClasses = "absolute border-2 border-[var(--tiger-image-cropper-border,#ffffff)] pointer-events-none";
8359
+ declare const imageCropperSelectionClasses = "absolute border-2 border-[var(--tiger-image-cropper-border,#ffffff)] pointer-events-none shadow-[0_0_0_9999px_rgba(0,0,0,0.65),0_0_15px_rgba(255,255,255,0.4)] transition-shadow duration-300";
8360
8360
  /**
8361
8361
  * Cropper guide line classes
8362
8362
  */
8363
- declare const imageCropperGuideClasses = "absolute border-[var(--tiger-image-cropper-border,rgba(255,255,255,0.4))] pointer-events-none";
8363
+ declare const imageCropperGuideClasses = "absolute border-[var(--tiger-image-cropper-border,rgba(255,255,255,0.25))] pointer-events-none opacity-40 transition-opacity duration-300";
8364
8364
  /**
8365
8365
  * Cropper drag area classes (inside the crop box, handles moving)
8366
8366
  */
@@ -8376,11 +8376,11 @@ declare const CROP_HANDLES: CropHandle[];
8376
8376
  /**
8377
8377
  * CropUpload trigger button classes
8378
8378
  */
8379
- declare const cropUploadTriggerClasses = "inline-flex items-center justify-center gap-2 px-4 py-2 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-md,0.5rem)] text-[var(--tiger-text-muted,#6b7280)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] transition-colors cursor-pointer focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:ring-offset-2";
8379
+ declare const cropUploadTriggerClasses = "inline-flex items-center justify-center gap-2.5 px-5 py-2.5 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-lg,0.75rem)] text-[var(--tiger-text-secondary,#4b5563)] bg-[var(--tiger-surface-muted,#f9fafb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] hover:scale-[1.02] active:scale-[0.98] hover:shadow-md transition-all duration-300 ease-out cursor-pointer focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:ring-offset-2 dark:bg-neutral-900 dark:hover:bg-neutral-800";
8380
8380
  /**
8381
8381
  * CropUpload disabled trigger classes
8382
8382
  */
8383
- declare const cropUploadTriggerDisabledClasses = "inline-flex items-center justify-center gap-2 px-4 py-2 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-md,0.5rem)] text-[var(--tiger-text-muted,#9ca3af)] cursor-not-allowed opacity-50";
8383
+ declare const cropUploadTriggerDisabledClasses = "inline-flex items-center justify-center gap-2.5 px-5 py-2.5 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-lg,0.75rem)] text-[var(--tiger-text-disabled,#9ca3af)] bg-[var(--tiger-surface-muted,#f9fafb)] cursor-not-allowed opacity-60 dark:bg-neutral-900/50";
8384
8384
  /**
8385
8385
  * Upload icon path (plus sign in a frame)
8386
8386
  */
@@ -13101,6 +13101,11 @@ interface FormWizardProps {
13101
13101
  * @default false
13102
13102
  */
13103
13103
  simple?: boolean;
13104
+ /**
13105
+ * Whether to show border around the wizard card
13106
+ * @default true
13107
+ */
13108
+ bordered?: boolean;
13104
13109
  /**
13105
13110
  * Whether to show steps header
13106
13111
  * @default true
@@ -13423,21 +13428,21 @@ declare function formatCountdown(remaining: number, format?: string): string;
13423
13428
  declare function createCountdownPayload(remaining: number, format?: string): CountdownChangePayload;
13424
13429
 
13425
13430
  /** Root wrapper — horizontal scroll container */
13426
- declare const taskBoardBaseClasses = "tiger-task-board flex gap-4 overflow-x-auto p-4 min-h-[400px]";
13431
+ declare const taskBoardBaseClasses = "tiger-task-board flex gap-5 overflow-x-auto p-6 min-h-[450px] scroll-smooth antialiased";
13427
13432
  /** Single column shell */
13428
- declare const taskBoardColumnClasses = "tiger-task-board-column flex flex-col shrink-0 w-72 rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] shadow-sm transition-shadow";
13433
+ declare const taskBoardColumnClasses = "tiger-task-board-column flex flex-col shrink-0 w-76 rounded-[var(--tiger-radius-lg,0.75rem)] border border-[var(--tiger-border,#e5e7eb)]/80 bg-[var(--tiger-surface-muted,#f9fafb)] shadow-xs transition-all duration-300 hover:shadow-md";
13429
13434
  /** Column header (sticky, never scrolls) */
13430
- declare const taskBoardColumnHeaderClasses = "flex items-center justify-between px-3 py-2 border-b border-[var(--tiger-border,#e5e7eb)] text-sm font-semibold text-[var(--tiger-text,#1f2937)] select-none";
13435
+ declare const taskBoardColumnHeaderClasses = "flex items-center justify-between px-4 py-3.5 border-b border-[var(--tiger-border,#e5e7eb)]/60 text-sm font-semibold text-[var(--tiger-text,#1f2937)] select-none transition-colors";
13431
13436
  /** Scrollable card area */
13432
- declare const taskBoardColumnBodyClasses = "flex-1 overflow-y-auto p-2 space-y-2 min-h-[80px]";
13437
+ declare const taskBoardColumnBodyClasses = "flex-1 overflow-y-auto p-3 space-y-3 min-h-[100px] transition-colors";
13433
13438
  /** Card base styles */
13434
- declare const taskBoardCardClasses = "tiger-task-board-card rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] p-3 shadow-sm cursor-grab select-none transition-opacity";
13439
+ declare const taskBoardCardClasses = "tiger-task-board-card rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)]/80 bg-[var(--tiger-surface,#ffffff)] p-4 shadow-[0_1px_3px_rgba(0,0,0,0.04),_0_1px_2px_rgba(0,0,0,0.02)] cursor-grab select-none transition-all duration-200 hover:-translate-y-0.5 hover:shadow-md hover:border-[var(--tiger-primary,#2563eb)]/30 active:cursor-grabbing";
13435
13440
  /** Card while being dragged */
13436
- declare const taskBoardCardDraggingClasses = "opacity-50 shadow-lg";
13441
+ declare const taskBoardCardDraggingClasses = "opacity-40 shadow-xl scale-[0.98] rotate-1";
13437
13442
  /** Thin line indicating the drop position */
13438
- declare const taskBoardDropIndicatorClasses = "h-1 rounded-full bg-[var(--tiger-primary,#2563eb)] my-1 transition-all";
13443
+ declare const taskBoardDropIndicatorClasses = "h-1.5 rounded-full bg-[var(--tiger-primary,#2563eb)] my-2 shadow-[0_0_8px_var(--tiger-primary,#2563eb)] transition-all duration-200";
13439
13444
  /** Column highlighted when a card hovers over it */
13440
- declare const taskBoardColumnDropTargetClasses = "ring-2 ring-[var(--tiger-primary,#2563eb)] ring-opacity-50";
13445
+ declare const taskBoardColumnDropTargetClasses = "ring-2 ring-[var(--tiger-primary,#2563eb)]/60 bg-[color-mix(in_srgb,var(--tiger-primary,#2563eb)_4%,transparent)]";
13441
13446
  /** Column being dragged */
13442
13447
  declare const taskBoardColumnDraggingClasses = "opacity-50";
13443
13448
  /** Empty column placeholder */
@@ -13445,7 +13450,7 @@ declare const taskBoardEmptyClasses = "flex items-center justify-center text-[va
13445
13450
  /** WIP exceeded badge / header tint */
13446
13451
  declare const taskBoardWipExceededClasses = "text-[var(--tiger-error,#ef4444)]";
13447
13452
  /** Add-card button inside column footer */
13448
- declare const taskBoardAddCardClasses = "flex items-center justify-center gap-1 w-full py-1.5 text-sm text-[var(--tiger-text-muted,#6b7280)] hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface-muted,#f9fafb)] rounded transition-colors cursor-pointer";
13453
+ declare const taskBoardAddCardClasses = "flex items-center justify-center gap-1.5 w-[calc(100%-16px)] mx-2 my-2 py-2.5 text-xs font-semibold text-[var(--tiger-text-muted,#6b7280)] border border-dashed border-[var(--tiger-border,#e5e7eb)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:shadow-xs rounded-[var(--tiger-radius-md,0.5rem)] transition-all duration-200 cursor-pointer active:scale-98";
13449
13454
  interface CardDragData {
13450
13455
  type: 'card';
13451
13456
  cardId: string | number;
@@ -15991,7 +15996,7 @@ interface KanbanProps extends TaskBoardProps {
15991
15996
  */
15992
15997
 
15993
15998
  /** Card count badge */
15994
- declare const kanbanCardCountClasses = "inline-flex items-center justify-center h-5 min-w-[20px] px-1.5 rounded-full text-xs font-medium bg-[var(--tiger-bg-secondary,#f3f4f6)] text-[var(--tiger-text-secondary,#6b7280)]";
15999
+ declare const kanbanCardCountClasses = "inline-flex items-center justify-center h-5 min-w-[22px] px-2 rounded-full text-xs font-semibold bg-[var(--tiger-border,#e5e7eb)]/60 text-[var(--tiger-text-secondary,#6b7280)]/90 backdrop-blur-xs shadow-inner";
15995
16000
  /** Swimlane row wrapper */
15996
16001
  declare const kanbanSwimlaneClasses = "border-b border-[var(--tiger-border,#e5e7eb)] last:border-b-0";
15997
16002
  /** Swimlane header */
@@ -16003,9 +16008,9 @@ declare const kanbanSwimlaneCollapsedClasses = "hidden";
16003
16008
  /** Filter match highlight on card */
16004
16009
  declare const kanbanFilterHighlightClasses = "bg-[var(--tiger-warning,#fbbf24)]/20";
16005
16010
  /** Add column button */
16006
- declare const kanbanAddColumnClasses = "flex items-center justify-center shrink-0 w-72 min-h-[80px] rounded-[var(--tiger-radius-md,0.5rem)] border-2 border-dashed border-[var(--tiger-border,#d1d5db)] text-[var(--tiger-text-muted,#9ca3af)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] cursor-pointer transition-colors";
16011
+ declare const kanbanAddColumnClasses = "flex items-center justify-center shrink-0 w-76 min-h-[120px] rounded-[var(--tiger-radius-lg,0.75rem)] border-2 border-dashed border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface-muted,#f9fafb)]/40 text-sm font-medium text-[var(--tiger-text-muted,#6b7280)] hover:border-[var(--tiger-primary,#2563eb)]/80 hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:shadow-sm cursor-pointer transition-all duration-300 active:scale-98";
16007
16012
  /** @deprecated Use `taskBoardAddCardClasses` instead */
16008
- declare const kanbanAddCardClasses = "flex items-center justify-center gap-1 w-full py-1.5 text-sm text-[var(--tiger-text-muted,#6b7280)] hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface-muted,#f9fafb)] rounded transition-colors cursor-pointer";
16013
+ declare const kanbanAddCardClasses = "flex items-center justify-center gap-1.5 w-[calc(100%-16px)] mx-2 my-2 py-2.5 text-xs font-semibold text-[var(--tiger-text-muted,#6b7280)] border border-dashed border-[var(--tiger-border,#e5e7eb)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:shadow-xs rounded-[var(--tiger-radius-md,0.5rem)] transition-all duration-200 cursor-pointer active:scale-98";
16009
16014
  /**
16010
16015
  * Filter cards by a search term (matches against title and description).
16011
16016
  * Returns a new array of matching cards.
package/dist/index.js CHANGED
@@ -5332,7 +5332,7 @@ function getStepsContainerClasses(direction) {
5332
5332
  return `${baseClasses2} flex flex-row items-start`;
5333
5333
  }
5334
5334
  function getStepItemClasses(direction, isLast) {
5335
- const baseClasses2 = "tiger-step-item relative";
5335
+ const baseClasses2 = "tiger-step-item relative group";
5336
5336
  if (direction === "vertical") {
5337
5337
  return `${baseClasses2} flex flex-row ${!isLast ? "pb-6" : ""}`;
5338
5338
  }
@@ -5342,12 +5342,12 @@ function getStepIconClasses(status, size, simple, isCustomIcon) {
5342
5342
  const baseClasses2 = "tiger-step-icon relative z-10 flex items-center justify-center rounded-full border-2";
5343
5343
  const sizeClasses3 = simple ? "w-6 h-6 text-xs" : size === "small" ? "w-8 h-8 text-sm" : "w-10 h-10 text-base";
5344
5344
  const iconClasses = isCustomIcon ? "" : "font-medium";
5345
- const activeClasses = "bg-[var(--tiger-primary,#2563eb)] border-[var(--tiger-primary,#2563eb)] text-white";
5345
+ const activeClasses = "bg-[var(--tiger-primary,#2563eb)] border-[var(--tiger-primary,#2563eb)] text-white ring-4 ring-[var(--tiger-primary,#2563eb)]/15 scale-105 shadow-sm transition-all duration-300";
5346
5346
  const statusClasses = {
5347
- wait: "bg-[var(--tiger-surface-muted,#f3f4f6)] border-[var(--tiger-border,#e5e7eb)] text-[var(--tiger-text-muted,#6b7280)]",
5347
+ wait: "bg-[var(--tiger-surface-muted,#f3f4f6)] border-[var(--tiger-border,#e5e7eb)] text-[var(--tiger-text-muted,#6b7280)] transition-all duration-300 group-hover:border-[var(--tiger-primary,#2563eb)]/60 group-hover:text-[var(--tiger-primary,#2563eb)]/80",
5348
5348
  process: activeClasses,
5349
- finish: activeClasses,
5350
- error: "bg-[var(--tiger-error-bg,#fef2f2)] border-[var(--tiger-error,#ef4444)] text-[var(--tiger-error,#ef4444)]"
5349
+ finish: "bg-[var(--tiger-primary,#2563eb)] border-[var(--tiger-primary,#2563eb)] text-white shadow-sm transition-all duration-300 group-hover:scale-105 group-hover:bg-[var(--tiger-primary-hover,#0369a1)]",
5350
+ error: "bg-[var(--tiger-error-bg,#fef2f2)] border-[var(--tiger-error,#ef4444)] text-[var(--tiger-error,#ef4444)] transition-all duration-300"
5351
5351
  };
5352
5352
  return `${baseClasses2} ${sizeClasses3} ${iconClasses} ${statusClasses[status]}`;
5353
5353
  }
@@ -5372,9 +5372,9 @@ function getStepTitleClasses(status, size, clickable) {
5372
5372
  const baseClasses2 = "tiger-step-title font-medium";
5373
5373
  const sizeClasses3 = size === "small" ? "text-sm" : "text-base";
5374
5374
  const statusClasses = {
5375
- wait: "text-[var(--tiger-text-muted,#6b7280)]",
5376
- process: "text-[var(--tiger-text,#111827)]",
5377
- finish: "text-[var(--tiger-text,#111827)]",
5375
+ wait: "text-[var(--tiger-text-muted,#6b7280)] transition-colors duration-300 group-hover:text-[var(--tiger-text,#111827)]",
5376
+ process: "text-[var(--tiger-text,#111827)] font-semibold transition-colors duration-300",
5377
+ finish: "text-[var(--tiger-text,#111827)] transition-colors duration-300 group-hover:text-[var(--tiger-primary,#2563eb)]",
5378
5378
  error: "text-[var(--tiger-error,#ef4444)]"
5379
5379
  };
5380
5380
  const cursorClasses = clickable ? "bg-transparent border-0 p-0 cursor-pointer hover:text-[var(--tiger-primary,#2563eb)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tiger-primary,#2563eb)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--tiger-surface,#ffffff)]" : "";
@@ -6918,29 +6918,29 @@ var imagePreviewToolbarBtnClasses = "flex items-center justify-center w-8 h-8 ro
6918
6918
  var imagePreviewNavBtnClasses = "absolute top-1/2 -translate-y-1/2 flex items-center justify-center w-10 h-10 rounded-full bg-[var(--tiger-image-toolbar-bg,rgba(0,0,0,0.6))] text-white hover:bg-white/20 transition-colors focus:outline-none focus:ring-2 focus:ring-white/50 disabled:opacity-40 disabled:cursor-not-allowed";
6919
6919
  var imagePreviewCloseBtnClasses = "absolute top-4 right-4 flex items-center justify-center w-10 h-10 rounded-full bg-[var(--tiger-image-toolbar-bg,rgba(0,0,0,0.6))] text-white hover:bg-white/20 transition-colors focus:outline-none focus:ring-2 focus:ring-white/50";
6920
6920
  var imagePreviewCounterClasses = "text-sm text-white/80 mx-2 tabular-nums";
6921
- var imageCropperContainerClasses = "relative overflow-hidden bg-[var(--tiger-image-cropper-bg,#1a1a2e)] select-none touch-none";
6921
+ var imageCropperContainerClasses = "relative overflow-hidden bg-[var(--tiger-image-cropper-bg,#0f172a)] rounded-[var(--tiger-radius-lg,0.75rem)] select-none touch-none shadow-inner border border-white/10 tiger-image-cropper-checkerboard";
6922
6922
  var imageCropperImgClasses = "absolute top-0 left-0 max-w-none pointer-events-none";
6923
6923
  var imageCropperMaskClasses = "absolute inset-0 pointer-events-none";
6924
- var imageCropperSelectionClasses = "absolute border-2 border-[var(--tiger-image-cropper-border,#ffffff)] pointer-events-none";
6925
- var imageCropperGuideClasses = "absolute border-[var(--tiger-image-cropper-border,rgba(255,255,255,0.4))] pointer-events-none";
6924
+ var imageCropperSelectionClasses = "absolute border-2 border-[var(--tiger-image-cropper-border,#ffffff)] pointer-events-none shadow-[0_0_0_9999px_rgba(0,0,0,0.65),0_0_15px_rgba(255,255,255,0.4)] transition-shadow duration-300";
6925
+ var imageCropperGuideClasses = "absolute border-[var(--tiger-image-cropper-border,rgba(255,255,255,0.25))] pointer-events-none opacity-40 transition-opacity duration-300";
6926
6926
  var imageCropperDragAreaClasses = "absolute cursor-move";
6927
6927
  function getCropperHandleClasses(handle) {
6928
- const base = "absolute w-3 h-3 bg-[var(--tiger-image-cropper-border,#ffffff)] border border-[var(--tiger-image-cropper-handle-border,rgba(0,0,0,0.3))]";
6928
+ const base = "absolute w-3.5 h-3.5 rounded-full bg-white border-2 border-[var(--tiger-primary,#2563eb)] shadow-md hover:scale-125 hover:bg-[var(--tiger-primary,#2563eb)] hover:border-white transition-all duration-200 cursor-pointer focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)]";
6929
6929
  const positionMap = {
6930
- nw: "-top-1.5 -left-1.5 cursor-nw-resize",
6931
- n: "-top-1.5 left-1/2 -translate-x-1/2 cursor-n-resize",
6932
- ne: "-top-1.5 -right-1.5 cursor-ne-resize",
6933
- e: "top-1/2 -right-1.5 -translate-y-1/2 cursor-e-resize",
6934
- se: "-bottom-1.5 -right-1.5 cursor-se-resize",
6935
- s: "-bottom-1.5 left-1/2 -translate-x-1/2 cursor-s-resize",
6936
- sw: "-bottom-1.5 -left-1.5 cursor-sw-resize",
6937
- w: "top-1/2 -left-1.5 -translate-y-1/2 cursor-w-resize"
6930
+ nw: "-top-1.75 -left-1.75 cursor-nw-resize",
6931
+ n: "-top-1.75 left-1/2 -translate-x-1/2 cursor-n-resize",
6932
+ ne: "-top-1.75 -right-1.75 cursor-ne-resize",
6933
+ e: "top-1/2 -right-1.75 -translate-y-1/2 cursor-e-resize",
6934
+ se: "-bottom-1.75 -right-1.75 cursor-se-resize",
6935
+ s: "-bottom-1.75 left-1/2 -translate-x-1/2 cursor-s-resize",
6936
+ sw: "-bottom-1.75 -left-1.75 cursor-sw-resize",
6937
+ w: "top-1/2 -left-1.75 -translate-y-1/2 cursor-w-resize"
6938
6938
  };
6939
6939
  return classNames(base, positionMap[handle]);
6940
6940
  }
6941
6941
  var CROP_HANDLES = ["nw", "n", "ne", "e", "se", "s", "sw", "w"];
6942
- var cropUploadTriggerClasses = "inline-flex items-center justify-center gap-2 px-4 py-2 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-md,0.5rem)] text-[var(--tiger-text-muted,#6b7280)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] transition-colors cursor-pointer focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:ring-offset-2";
6943
- var cropUploadTriggerDisabledClasses = "inline-flex items-center justify-center gap-2 px-4 py-2 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-md,0.5rem)] text-[var(--tiger-text-muted,#9ca3af)] cursor-not-allowed opacity-50";
6942
+ var cropUploadTriggerClasses = "inline-flex items-center justify-center gap-2.5 px-5 py-2.5 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-lg,0.75rem)] text-[var(--tiger-text-secondary,#4b5563)] bg-[var(--tiger-surface-muted,#f9fafb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] hover:scale-[1.02] active:scale-[0.98] hover:shadow-md transition-all duration-300 ease-out cursor-pointer focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:ring-offset-2 dark:bg-neutral-900 dark:hover:bg-neutral-800";
6943
+ var cropUploadTriggerDisabledClasses = "inline-flex items-center justify-center gap-2.5 px-5 py-2.5 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-lg,0.75rem)] text-[var(--tiger-text-disabled,#9ca3af)] bg-[var(--tiger-surface-muted,#f9fafb)] cursor-not-allowed opacity-60 dark:bg-neutral-900/50";
6944
6944
  var uploadPlusIconPath = "M12 4v16m8-8H4";
6945
6945
  function clampScale(scale, min, max) {
6946
6946
  return Math.min(Math.max(scale, min), max);
@@ -10009,18 +10009,18 @@ function createCountdownPayload(remaining, format = COUNTDOWN_DEFAULT_FORMAT) {
10009
10009
  }
10010
10010
 
10011
10011
  // src/utils/task-board-utils.ts
10012
- var taskBoardBaseClasses = "tiger-task-board flex gap-4 overflow-x-auto p-4 min-h-[400px]";
10013
- var taskBoardColumnClasses = "tiger-task-board-column flex flex-col shrink-0 w-72 rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] shadow-sm transition-shadow";
10014
- var taskBoardColumnHeaderClasses = "flex items-center justify-between px-3 py-2 border-b border-[var(--tiger-border,#e5e7eb)] text-sm font-semibold text-[var(--tiger-text,#1f2937)] select-none";
10015
- var taskBoardColumnBodyClasses = "flex-1 overflow-y-auto p-2 space-y-2 min-h-[80px]";
10016
- var taskBoardCardClasses = "tiger-task-board-card rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] p-3 shadow-sm cursor-grab select-none transition-opacity";
10017
- var taskBoardCardDraggingClasses = "opacity-50 shadow-lg";
10018
- var taskBoardDropIndicatorClasses = "h-1 rounded-full bg-[var(--tiger-primary,#2563eb)] my-1 transition-all";
10019
- var taskBoardColumnDropTargetClasses = "ring-2 ring-[var(--tiger-primary,#2563eb)] ring-opacity-50";
10012
+ var taskBoardBaseClasses = "tiger-task-board flex gap-5 overflow-x-auto p-6 min-h-[450px] scroll-smooth antialiased";
10013
+ var taskBoardColumnClasses = "tiger-task-board-column flex flex-col shrink-0 w-76 rounded-[var(--tiger-radius-lg,0.75rem)] border border-[var(--tiger-border,#e5e7eb)]/80 bg-[var(--tiger-surface-muted,#f9fafb)] shadow-xs transition-all duration-300 hover:shadow-md";
10014
+ var taskBoardColumnHeaderClasses = "flex items-center justify-between px-4 py-3.5 border-b border-[var(--tiger-border,#e5e7eb)]/60 text-sm font-semibold text-[var(--tiger-text,#1f2937)] select-none transition-colors";
10015
+ var taskBoardColumnBodyClasses = "flex-1 overflow-y-auto p-3 space-y-3 min-h-[100px] transition-colors";
10016
+ var taskBoardCardClasses = "tiger-task-board-card rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)]/80 bg-[var(--tiger-surface,#ffffff)] p-4 shadow-[0_1px_3px_rgba(0,0,0,0.04),_0_1px_2px_rgba(0,0,0,0.02)] cursor-grab select-none transition-all duration-200 hover:-translate-y-0.5 hover:shadow-md hover:border-[var(--tiger-primary,#2563eb)]/30 active:cursor-grabbing";
10017
+ var taskBoardCardDraggingClasses = "opacity-40 shadow-xl scale-[0.98] rotate-1";
10018
+ var taskBoardDropIndicatorClasses = "h-1.5 rounded-full bg-[var(--tiger-primary,#2563eb)] my-2 shadow-[0_0_8px_var(--tiger-primary,#2563eb)] transition-all duration-200";
10019
+ var taskBoardColumnDropTargetClasses = "ring-2 ring-[var(--tiger-primary,#2563eb)]/60 bg-[color-mix(in_srgb,var(--tiger-primary,#2563eb)_4%,transparent)]";
10020
10020
  var taskBoardColumnDraggingClasses = "opacity-50";
10021
10021
  var taskBoardEmptyClasses = "flex items-center justify-center text-[var(--tiger-text-muted,#6b7280)] text-sm py-8";
10022
10022
  var taskBoardWipExceededClasses = "text-[var(--tiger-error,#ef4444)]";
10023
- var taskBoardAddCardClasses = "flex items-center justify-center gap-1 w-full py-1.5 text-sm text-[var(--tiger-text-muted,#6b7280)] hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface-muted,#f9fafb)] rounded transition-colors cursor-pointer";
10023
+ var taskBoardAddCardClasses = "flex items-center justify-center gap-1.5 w-[calc(100%-16px)] mx-2 my-2 py-2.5 text-xs font-semibold text-[var(--tiger-text-muted,#6b7280)] border border-dashed border-[var(--tiger-border,#e5e7eb)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:shadow-xs rounded-[var(--tiger-radius-md,0.5rem)] transition-all duration-200 cursor-pointer active:scale-98";
10024
10024
  var MIME = "text/plain";
10025
10025
  function createCardDragData(cardId, columnId, index) {
10026
10026
  const data = { type: "card", cardId, columnId, index };
@@ -13727,13 +13727,13 @@ function createBuiltinRichTextEngine() {
13727
13727
  var builtinRichTextEngine = createBuiltinRichTextEngine();
13728
13728
 
13729
13729
  // src/utils/kanban-utils.ts
13730
- var kanbanCardCountClasses = "inline-flex items-center justify-center h-5 min-w-[20px] px-1.5 rounded-full text-xs font-medium bg-[var(--tiger-bg-secondary,#f3f4f6)] text-[var(--tiger-text-secondary,#6b7280)]";
13730
+ var kanbanCardCountClasses = "inline-flex items-center justify-center h-5 min-w-[22px] px-2 rounded-full text-xs font-semibold bg-[var(--tiger-border,#e5e7eb)]/60 text-[var(--tiger-text-secondary,#6b7280)]/90 backdrop-blur-xs shadow-inner";
13731
13731
  var kanbanSwimlaneClasses = "border-b border-[var(--tiger-border,#e5e7eb)] last:border-b-0";
13732
13732
  var kanbanSwimlaneHeaderClasses = "flex items-center gap-2 px-4 py-2 text-sm font-medium text-[var(--tiger-text,#1f2937)] cursor-pointer select-none hover:bg-[var(--tiger-bg-hover,#f9fafb)]";
13733
13733
  var kanbanSwimlaneDotClasses = "w-2.5 h-2.5 rounded-full shrink-0";
13734
13734
  var kanbanSwimlaneCollapsedClasses = "hidden";
13735
13735
  var kanbanFilterHighlightClasses = "bg-[var(--tiger-warning,#fbbf24)]/20";
13736
- var kanbanAddColumnClasses = "flex items-center justify-center shrink-0 w-72 min-h-[80px] rounded-[var(--tiger-radius-md,0.5rem)] border-2 border-dashed border-[var(--tiger-border,#d1d5db)] text-[var(--tiger-text-muted,#9ca3af)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] cursor-pointer transition-colors";
13736
+ var kanbanAddColumnClasses = "flex items-center justify-center shrink-0 w-76 min-h-[120px] rounded-[var(--tiger-radius-lg,0.75rem)] border-2 border-dashed border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface-muted,#f9fafb)]/40 text-sm font-medium text-[var(--tiger-text-muted,#6b7280)] hover:border-[var(--tiger-primary,#2563eb)]/80 hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface,#ffffff)] hover:shadow-sm cursor-pointer transition-all duration-300 active:scale-98";
13737
13737
  var kanbanAddCardClasses = taskBoardAddCardClasses;
13738
13738
  function filterCards(cards, filterText) {
13739
13739
  if (!filterText.trim()) return cards;
@@ -1,6 +1,9 @@
1
+ import { a as TigerLocaleInput } from './locale-Bc3zz2b0.js';
2
+
1
3
  /**
2
4
  * Table component types and interfaces
3
5
  */
6
+
4
7
  /**
5
8
  * Table size types
6
9
  */
@@ -184,6 +187,26 @@ interface PaginationConfig {
184
187
  * Custom total text render function
185
188
  */
186
189
  totalText?: (total: number, range: [number, number]) => string;
190
+ /**
191
+ * Locale configuration for pagination text. Set to false to ignore i18n.
192
+ */
193
+ locale?: TigerLocaleInput | false;
194
+ /**
195
+ * Custom text for 'Previous' button
196
+ */
197
+ prevText?: string;
198
+ /**
199
+ * Custom text for 'Next' button
200
+ */
201
+ nextText?: string;
202
+ /**
203
+ * Custom text template for page indicator
204
+ */
205
+ pageIndicatorText?: (current: number, total: number) => string;
206
+ /**
207
+ * Custom text template for page size option
208
+ */
209
+ pageSizeText?: (size: number) => string;
187
210
  }
188
211
  /**
189
212
  * Table row selection configuration
@@ -1,6 +1,9 @@
1
+ import { a as TigerLocaleInput } from './locale-9-B-d0mp.cjs';
2
+
1
3
  /**
2
4
  * Table component types and interfaces
3
5
  */
6
+
4
7
  /**
5
8
  * Table size types
6
9
  */
@@ -184,6 +187,26 @@ interface PaginationConfig {
184
187
  * Custom total text render function
185
188
  */
186
189
  totalText?: (total: number, range: [number, number]) => string;
190
+ /**
191
+ * Locale configuration for pagination text. Set to false to ignore i18n.
192
+ */
193
+ locale?: TigerLocaleInput | false;
194
+ /**
195
+ * Custom text for 'Previous' button
196
+ */
197
+ prevText?: string;
198
+ /**
199
+ * Custom text for 'Next' button
200
+ */
201
+ nextText?: string;
202
+ /**
203
+ * Custom text template for page indicator
204
+ */
205
+ pageIndicatorText?: (current: number, total: number) => string;
206
+ /**
207
+ * Custom text template for page size option
208
+ */
209
+ pageSizeText?: (size: number) => string;
187
210
  }
188
211
  /**
189
212
  * Table row selection configuration
@@ -1 +1,3 @@
1
- export { i as downloadCsv, j as downloadExcel, l as downloadTableExport, k as exportTableData, g as exportTableToCsv, h as exportTableToExcel, t as tableExportButtonClasses } from '../table-export-6ISYSoVB.cjs';
1
+ export { i as downloadCsv, j as downloadExcel, l as downloadTableExport, k as exportTableData, g as exportTableToCsv, h as exportTableToExcel, t as tableExportButtonClasses } from '../table-export-D7_CDqY7.cjs';
2
+ import '../locale-9-B-d0mp.cjs';
3
+ import '../datepicker-DXzS_8l8.cjs';
@@ -1 +1,3 @@
1
- export { i as downloadCsv, j as downloadExcel, l as downloadTableExport, k as exportTableData, g as exportTableToCsv, h as exportTableToExcel, t as tableExportButtonClasses } from '../table-export-6ISYSoVB.js';
1
+ export { i as downloadCsv, j as downloadExcel, l as downloadTableExport, k as exportTableData, g as exportTableToCsv, h as exportTableToExcel, t as tableExportButtonClasses } from '../table-export-C-BAknOZ.js';
2
+ import '../locale-Bc3zz2b0.js';
3
+ import '../datepicker-DXzS_8l8.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expcat/tigercat-core",
3
- "version": "1.2.23",
3
+ "version": "1.2.30",
4
4
  "type": "module",
5
5
  "description": "Core utilities for Tigercat UI library",
6
6
  "license": "MIT",