@expcat/tigercat-core 1.3.4 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/icons/registry.cjs +1 -3
  2. package/dist/icons/registry.js +1 -3
  3. package/dist/index.cjs +526 -190
  4. package/dist/index.d.cts +366 -268
  5. package/dist/index.d.ts +366 -268
  6. package/dist/index.js +508 -189
  7. package/dist/{locale-BuZwW3Ok.d.ts → locale-9tTj1QdZ.d.ts} +166 -1
  8. package/dist/{locale-DDFn0b6z.d.cts → locale-DxwhmqfF.d.cts} +166 -1
  9. package/dist/locales/ar-SA.cjs +61 -2
  10. package/dist/locales/ar-SA.d.cts +1 -1
  11. package/dist/locales/ar-SA.d.ts +1 -1
  12. package/dist/locales/ar-SA.js +61 -2
  13. package/dist/locales/de-DE.cjs +61 -2
  14. package/dist/locales/de-DE.d.cts +1 -1
  15. package/dist/locales/de-DE.d.ts +1 -1
  16. package/dist/locales/de-DE.js +61 -2
  17. package/dist/locales/en-US.cjs +61 -1
  18. package/dist/locales/en-US.d.cts +1 -1
  19. package/dist/locales/en-US.d.ts +1 -1
  20. package/dist/locales/en-US.js +59 -1
  21. package/dist/locales/es-ES.cjs +61 -2
  22. package/dist/locales/es-ES.d.cts +1 -1
  23. package/dist/locales/es-ES.d.ts +1 -1
  24. package/dist/locales/es-ES.js +61 -2
  25. package/dist/locales/fr-FR.cjs +61 -2
  26. package/dist/locales/fr-FR.d.cts +1 -1
  27. package/dist/locales/fr-FR.d.ts +1 -1
  28. package/dist/locales/fr-FR.js +61 -2
  29. package/dist/locales/id-ID.cjs +2 -1
  30. package/dist/locales/id-ID.d.cts +1 -1
  31. package/dist/locales/id-ID.d.ts +1 -1
  32. package/dist/locales/id-ID.js +2 -1
  33. package/dist/locales/ja-JP.cjs +2 -1
  34. package/dist/locales/ja-JP.d.cts +1 -1
  35. package/dist/locales/ja-JP.d.ts +1 -1
  36. package/dist/locales/ja-JP.js +2 -1
  37. package/dist/locales/ko-KR.cjs +2 -1
  38. package/dist/locales/ko-KR.d.cts +1 -1
  39. package/dist/locales/ko-KR.d.ts +1 -1
  40. package/dist/locales/ko-KR.js +2 -1
  41. package/dist/locales/pt-BR.cjs +61 -2
  42. package/dist/locales/pt-BR.d.cts +1 -1
  43. package/dist/locales/pt-BR.d.ts +1 -1
  44. package/dist/locales/pt-BR.js +61 -2
  45. package/dist/locales/th-TH.cjs +2 -1
  46. package/dist/locales/th-TH.d.cts +1 -1
  47. package/dist/locales/th-TH.d.ts +1 -1
  48. package/dist/locales/th-TH.js +2 -1
  49. package/dist/locales/vi-VN.cjs +2 -1
  50. package/dist/locales/vi-VN.d.cts +1 -1
  51. package/dist/locales/vi-VN.d.ts +1 -1
  52. package/dist/locales/vi-VN.js +2 -1
  53. package/dist/locales/zh-CN.cjs +61 -1
  54. package/dist/locales/zh-CN.d.cts +1 -1
  55. package/dist/locales/zh-CN.d.ts +1 -1
  56. package/dist/locales/zh-CN.js +59 -1
  57. package/dist/locales/zh-TW.cjs +2 -1
  58. package/dist/locales/zh-TW.d.cts +1 -1
  59. package/dist/locales/zh-TW.d.ts +1 -1
  60. package/dist/locales/zh-TW.js +2 -1
  61. package/dist/{table-export-DOqFkseW.d.cts → table-export-BMBH75rj.d.cts} +1 -1
  62. package/dist/{table-export-CZ7wtGf4.d.ts → table-export-GRimhvlM.d.ts} +1 -1
  63. package/dist/tailwind/modern.cjs +1 -1
  64. package/dist/tailwind/modern.js +1 -1
  65. package/dist/utils/table-export.cjs +7 -0
  66. package/dist/utils/table-export.d.cts +2 -2
  67. package/dist/utils/table-export.d.ts +2 -2
  68. package/dist/utils/table-export.js +7 -0
  69. package/package.json +2 -10
  70. package/tokens/tailwind-tokens.js +3 -6
  71. package/tokens/tokens.css +15 -30
@@ -23,6 +23,39 @@ __export(zh_CN_exports, {
23
23
  zhCN: () => zhCN
24
24
  });
25
25
  module.exports = __toCommonJS(zh_CN_exports);
26
+
27
+ // src/utils/locale-utils.ts
28
+ var ZH_CN_TIME_PICKER_LABELS = {
29
+ hour: "\u65F6",
30
+ minute: "\u5206",
31
+ second: "\u79D2",
32
+ now: "\u73B0\u5728",
33
+ ok: "\u786E\u5B9A",
34
+ start: "\u5F00\u59CB",
35
+ end: "\u7ED3\u675F",
36
+ clear: "\u6E05\u9664\u65F6\u95F4",
37
+ toggle: "\u6253\u5F00\u65F6\u95F4\u9009\u62E9\u5668",
38
+ dialog: "\u65F6\u95F4\u9009\u62E9\u5668",
39
+ selectTime: "\u8BF7\u9009\u62E9\u65F6\u95F4",
40
+ selectTimeRange: "\u8BF7\u9009\u62E9\u65F6\u95F4\u8303\u56F4"
41
+ };
42
+ var ZH_CN_UPLOAD_LABELS = {
43
+ dragAreaAriaLabel: "\u70B9\u51FB\u6216\u62D6\u62FD\u4E0A\u4F20\u6587\u4EF6",
44
+ buttonAriaLabel: "\u4E0A\u4F20\u6587\u4EF6",
45
+ clickToUploadText: "\u70B9\u51FB\u4E0A\u4F20",
46
+ dragAndDropText: "\u6216\u62D6\u62FD\u5230\u6B64\u5904",
47
+ acceptInfoText: "\u652F\u6301\uFF1A{accept}",
48
+ maxSizeInfoText: "\u6700\u5927\u5927\u5C0F\uFF1A{maxSize}",
49
+ selectFileText: "\u9009\u62E9\u6587\u4EF6",
50
+ uploadedFilesAriaLabel: "\u5DF2\u4E0A\u4F20\u6587\u4EF6",
51
+ successAriaLabel: "\u6210\u529F",
52
+ errorAriaLabel: "\u9519\u8BEF",
53
+ uploadingAriaLabel: "\u4E0A\u4F20\u4E2D",
54
+ removeFileAriaLabel: "\u79FB\u9664 {fileName}",
55
+ previewFileAriaLabel: "\u9884\u89C8 {fileName}"
56
+ };
57
+
58
+ // src/utils/i18n/locales/zh-CN.ts
26
59
  var zhCN = {
27
60
  locale: "zh-CN",
28
61
  direction: "ltr",
@@ -31,7 +64,10 @@ var zhCN = {
31
64
  cancelText: "\u53D6\u6D88",
32
65
  closeText: "\u5173\u95ED",
33
66
  loadingText: "\u52A0\u8F7D\u4E2D...",
34
- emptyText: "\u6682\u65E0\u6570\u636E"
67
+ emptyText: "\u6682\u65E0\u6570\u636E",
68
+ noMoreText: "\u6CA1\u6709\u66F4\u591A\u4E86",
69
+ searchPlaceholder: "\u641C\u7D22",
70
+ clearText: "\u6E05\u9664"
35
71
  },
36
72
  modal: {
37
73
  closeAriaLabel: "\u5173\u95ED",
@@ -41,6 +77,7 @@ var zhCN = {
41
77
  drawer: {
42
78
  closeAriaLabel: "\u5173\u95ED"
43
79
  },
80
+ upload: ZH_CN_UPLOAD_LABELS,
44
81
  pagination: {
45
82
  totalText: "\u5171 {total} \u6761",
46
83
  itemsPerPageText: "\u6761/\u9875",
@@ -70,6 +107,7 @@ var zhCN = {
70
107
  lockColumnAriaLabel: "\u9501\u5B9A{column}\u5217",
71
108
  unlockColumnAriaLabel: "\u53D6\u6D88\u9501\u5B9A{column}\u5217"
72
109
  },
110
+ timePicker: ZH_CN_TIME_PICKER_LABELS,
73
111
  formWizard: {
74
112
  prevText: "\u4E0A\u4E00\u6B65",
75
113
  nextText: "\u4E0B\u4E00\u6B65",
@@ -81,6 +119,28 @@ var zhCN = {
81
119
  wipLimitText: "WIP \u9650\u5236: {limit}",
82
120
  dragHintText: "\u62D6\u62FD\u4EE5\u79FB\u52A8",
83
121
  boardAriaLabel: "\u4EFB\u52A1\u770B\u677F"
122
+ },
123
+ formValidation: {
124
+ required: "\u6B64\u5B57\u6BB5\u4E3A\u5FC5\u586B\u9879",
125
+ typeString: "\u503C\u5FC5\u987B\u662F\u5B57\u7B26\u4E32",
126
+ typeNumber: "\u503C\u5FC5\u987B\u662F\u6570\u5B57",
127
+ typeBoolean: "\u503C\u5FC5\u987B\u662F\u5E03\u5C14\u503C",
128
+ typeArray: "\u503C\u5FC5\u987B\u662F\u6570\u7EC4",
129
+ typeObject: "\u503C\u5FC5\u987B\u662F\u5BF9\u8C61",
130
+ email: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u90AE\u7BB1\u5730\u5740",
131
+ phone: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u7535\u8BDD\u53F7\u7801",
132
+ url: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u7F51\u5740",
133
+ date: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u65E5\u671F",
134
+ idCard: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u8EAB\u4EFD\u8BC1\u53F7\u7801",
135
+ minLength: "\u957F\u5EA6\u4E0D\u80FD\u5C11\u4E8E {min} \u4E2A\u5B57\u7B26",
136
+ maxLength: "\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7 {max} \u4E2A\u5B57\u7B26",
137
+ minValue: "\u6570\u503C\u4E0D\u80FD\u5C0F\u4E8E {min}",
138
+ maxValue: "\u6570\u503C\u4E0D\u80FD\u5927\u4E8E {max}",
139
+ minItems: "\u81F3\u5C11\u9700\u8981 {min} \u9879",
140
+ maxItems: "\u6700\u591A\u5141\u8BB8 {max} \u9879",
141
+ patternMismatch: "\u683C\u5F0F\u4E0D\u6B63\u786E",
142
+ validatorFailed: "\u6821\u9A8C\u672A\u901A\u8FC7",
143
+ validatorError: "\u6821\u9A8C\u65F6\u53D1\u751F\u9519\u8BEF"
84
144
  }
85
145
  };
86
146
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-DDFn0b6z.cjs';
1
+ import { T as TigerLocale } from '../locale-DxwhmqfF.cjs';
2
2
  import '../datepicker-DXzS_8l8.cjs';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-BuZwW3Ok.js';
1
+ import { T as TigerLocale } from '../locale-9tTj1QdZ.js';
2
2
  import '../datepicker-DXzS_8l8.js';
3
3
 
4
4
  /**
@@ -1,3 +1,34 @@
1
+ // src/utils/locale-utils.ts
2
+ var ZH_CN_TIME_PICKER_LABELS = {
3
+ hour: "\u65F6",
4
+ minute: "\u5206",
5
+ second: "\u79D2",
6
+ now: "\u73B0\u5728",
7
+ ok: "\u786E\u5B9A",
8
+ start: "\u5F00\u59CB",
9
+ end: "\u7ED3\u675F",
10
+ clear: "\u6E05\u9664\u65F6\u95F4",
11
+ toggle: "\u6253\u5F00\u65F6\u95F4\u9009\u62E9\u5668",
12
+ dialog: "\u65F6\u95F4\u9009\u62E9\u5668",
13
+ selectTime: "\u8BF7\u9009\u62E9\u65F6\u95F4",
14
+ selectTimeRange: "\u8BF7\u9009\u62E9\u65F6\u95F4\u8303\u56F4"
15
+ };
16
+ var ZH_CN_UPLOAD_LABELS = {
17
+ dragAreaAriaLabel: "\u70B9\u51FB\u6216\u62D6\u62FD\u4E0A\u4F20\u6587\u4EF6",
18
+ buttonAriaLabel: "\u4E0A\u4F20\u6587\u4EF6",
19
+ clickToUploadText: "\u70B9\u51FB\u4E0A\u4F20",
20
+ dragAndDropText: "\u6216\u62D6\u62FD\u5230\u6B64\u5904",
21
+ acceptInfoText: "\u652F\u6301\uFF1A{accept}",
22
+ maxSizeInfoText: "\u6700\u5927\u5927\u5C0F\uFF1A{maxSize}",
23
+ selectFileText: "\u9009\u62E9\u6587\u4EF6",
24
+ uploadedFilesAriaLabel: "\u5DF2\u4E0A\u4F20\u6587\u4EF6",
25
+ successAriaLabel: "\u6210\u529F",
26
+ errorAriaLabel: "\u9519\u8BEF",
27
+ uploadingAriaLabel: "\u4E0A\u4F20\u4E2D",
28
+ removeFileAriaLabel: "\u79FB\u9664 {fileName}",
29
+ previewFileAriaLabel: "\u9884\u89C8 {fileName}"
30
+ };
31
+
1
32
  // src/utils/i18n/locales/zh-CN.ts
2
33
  var zhCN = {
3
34
  locale: "zh-CN",
@@ -7,7 +38,10 @@ var zhCN = {
7
38
  cancelText: "\u53D6\u6D88",
8
39
  closeText: "\u5173\u95ED",
9
40
  loadingText: "\u52A0\u8F7D\u4E2D...",
10
- emptyText: "\u6682\u65E0\u6570\u636E"
41
+ emptyText: "\u6682\u65E0\u6570\u636E",
42
+ noMoreText: "\u6CA1\u6709\u66F4\u591A\u4E86",
43
+ searchPlaceholder: "\u641C\u7D22",
44
+ clearText: "\u6E05\u9664"
11
45
  },
12
46
  modal: {
13
47
  closeAriaLabel: "\u5173\u95ED",
@@ -17,6 +51,7 @@ var zhCN = {
17
51
  drawer: {
18
52
  closeAriaLabel: "\u5173\u95ED"
19
53
  },
54
+ upload: ZH_CN_UPLOAD_LABELS,
20
55
  pagination: {
21
56
  totalText: "\u5171 {total} \u6761",
22
57
  itemsPerPageText: "\u6761/\u9875",
@@ -46,6 +81,7 @@ var zhCN = {
46
81
  lockColumnAriaLabel: "\u9501\u5B9A{column}\u5217",
47
82
  unlockColumnAriaLabel: "\u53D6\u6D88\u9501\u5B9A{column}\u5217"
48
83
  },
84
+ timePicker: ZH_CN_TIME_PICKER_LABELS,
49
85
  formWizard: {
50
86
  prevText: "\u4E0A\u4E00\u6B65",
51
87
  nextText: "\u4E0B\u4E00\u6B65",
@@ -57,6 +93,28 @@ var zhCN = {
57
93
  wipLimitText: "WIP \u9650\u5236: {limit}",
58
94
  dragHintText: "\u62D6\u62FD\u4EE5\u79FB\u52A8",
59
95
  boardAriaLabel: "\u4EFB\u52A1\u770B\u677F"
96
+ },
97
+ formValidation: {
98
+ required: "\u6B64\u5B57\u6BB5\u4E3A\u5FC5\u586B\u9879",
99
+ typeString: "\u503C\u5FC5\u987B\u662F\u5B57\u7B26\u4E32",
100
+ typeNumber: "\u503C\u5FC5\u987B\u662F\u6570\u5B57",
101
+ typeBoolean: "\u503C\u5FC5\u987B\u662F\u5E03\u5C14\u503C",
102
+ typeArray: "\u503C\u5FC5\u987B\u662F\u6570\u7EC4",
103
+ typeObject: "\u503C\u5FC5\u987B\u662F\u5BF9\u8C61",
104
+ email: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u90AE\u7BB1\u5730\u5740",
105
+ phone: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u7535\u8BDD\u53F7\u7801",
106
+ url: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u7F51\u5740",
107
+ date: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u65E5\u671F",
108
+ idCard: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u8EAB\u4EFD\u8BC1\u53F7\u7801",
109
+ minLength: "\u957F\u5EA6\u4E0D\u80FD\u5C11\u4E8E {min} \u4E2A\u5B57\u7B26",
110
+ maxLength: "\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7 {max} \u4E2A\u5B57\u7B26",
111
+ minValue: "\u6570\u503C\u4E0D\u80FD\u5C0F\u4E8E {min}",
112
+ maxValue: "\u6570\u503C\u4E0D\u80FD\u5927\u4E8E {max}",
113
+ minItems: "\u81F3\u5C11\u9700\u8981 {min} \u9879",
114
+ maxItems: "\u6700\u591A\u5141\u8BB8 {max} \u9879",
115
+ patternMismatch: "\u683C\u5F0F\u4E0D\u6B63\u786E",
116
+ validatorFailed: "\u6821\u9A8C\u672A\u901A\u8FC7",
117
+ validatorError: "\u6821\u9A8C\u65F6\u53D1\u751F\u9519\u8BEF"
60
118
  }
61
119
  };
62
120
  export {
@@ -31,7 +31,8 @@ var zhTW = {
31
31
  cancelText: "\u53D6\u6D88",
32
32
  closeText: "\u95DC\u9589",
33
33
  loadingText: "\u8F09\u5165\u4E2D...",
34
- emptyText: "\u66AB\u7121\u8CC7\u6599"
34
+ emptyText: "\u66AB\u7121\u8CC7\u6599",
35
+ noMoreText: "\u6C92\u6709\u66F4\u591A\u4E86"
35
36
  },
36
37
  modal: {
37
38
  closeAriaLabel: "\u95DC\u9589",
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-DDFn0b6z.cjs';
1
+ import { T as TigerLocale } from '../locale-DxwhmqfF.cjs';
2
2
  import '../datepicker-DXzS_8l8.cjs';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { T as TigerLocale } from '../locale-BuZwW3Ok.js';
1
+ import { T as TigerLocale } from '../locale-9tTj1QdZ.js';
2
2
  import '../datepicker-DXzS_8l8.js';
3
3
 
4
4
  /**
@@ -7,7 +7,8 @@ var zhTW = {
7
7
  cancelText: "\u53D6\u6D88",
8
8
  closeText: "\u95DC\u9589",
9
9
  loadingText: "\u8F09\u5165\u4E2D...",
10
- emptyText: "\u66AB\u7121\u8CC7\u6599"
10
+ emptyText: "\u66AB\u7121\u8CC7\u6599",
11
+ noMoreText: "\u6C92\u6709\u66F4\u591A\u4E86"
11
12
  },
12
13
  modal: {
13
14
  closeAriaLabel: "\u95DC\u9589",
@@ -1,4 +1,4 @@
1
- import { a as TigerLocaleInput, e as TigerLocalePagination, g as TigerLocaleTable } from './locale-DDFn0b6z.cjs';
1
+ import { a as TigerLocaleInput, e as TigerLocalePagination, g as TigerLocaleTable } from './locale-DxwhmqfF.cjs';
2
2
 
3
3
  /**
4
4
  * Pagination component types and interfaces
@@ -1,4 +1,4 @@
1
- import { a as TigerLocaleInput, e as TigerLocalePagination, g as TigerLocaleTable } from './locale-BuZwW3Ok.js';
1
+ import { a as TigerLocaleInput, e as TigerLocalePagination, g as TigerLocaleTable } from './locale-9tTj1QdZ.js';
2
2
 
3
3
  /**
4
4
  * Pagination component types and interfaces
@@ -37,7 +37,7 @@ module.exports = __toCommonJS(tailwind_entry_modern_exports);
37
37
  // src/tailwind-plugin.ts
38
38
  var import_plugin = __toESM(require("tailwindcss/plugin"), 1);
39
39
 
40
- // src/theme/index.ts
40
+ // src/theme-runtime/index.ts
41
41
  var THEME_CSS_VARS = {
42
42
  // Primary colors
43
43
  primary: "--tiger-primary",
@@ -1,7 +1,7 @@
1
1
  // src/tailwind-plugin.ts
2
2
  import plugin from "tailwindcss/plugin";
3
3
 
4
- // src/theme/index.ts
4
+ // src/theme-runtime/index.ts
5
5
  var THEME_CSS_VARS = {
6
6
  // Primary colors
7
7
  primary: "--tiger-primary",
@@ -30,6 +30,11 @@ __export(table_export_exports, {
30
30
  });
31
31
  module.exports = __toCommonJS(table_export_exports);
32
32
 
33
+ // src/utils/env.ts
34
+ function isBrowser() {
35
+ return typeof window !== "undefined" && typeof document !== "undefined";
36
+ }
37
+
33
38
  // src/utils/table-export-utils.ts
34
39
  function escapeCsvValue(value) {
35
40
  const str = value === null || value === void 0 ? "" : String(value);
@@ -66,6 +71,7 @@ function exportTableToExcel(columns, data) {
66
71
  return `<!doctype html><html><head><meta charset="utf-8"></head><body><table><thead><tr>${headerCells}</tr></thead><tbody>${bodyRows}</tbody></table></body></html>`;
67
72
  }
68
73
  function downloadCsv(csvContent, filename = "export") {
74
+ if (!isBrowser()) return;
69
75
  const blob = new Blob([csvContent], { type: "text/csv;charset=utf-8;" });
70
76
  const url = URL.createObjectURL(blob);
71
77
  const link = document.createElement("a");
@@ -78,6 +84,7 @@ function downloadCsv(csvContent, filename = "export") {
78
84
  URL.revokeObjectURL(url);
79
85
  }
80
86
  function downloadExcel(excelContent, filename = "export") {
87
+ if (!isBrowser()) return;
81
88
  const blob = new Blob([excelContent], { type: "application/vnd.ms-excel;charset=utf-8;" });
82
89
  const url = URL.createObjectURL(blob);
83
90
  const link = document.createElement("a");
@@ -1,3 +1,3 @@
1
- export { o as downloadCsv, p as downloadExcel, r as downloadTableExport, q as exportTableData, m as exportTableToCsv, n as exportTableToExcel, t as tableExportButtonClasses } from '../table-export-DOqFkseW.cjs';
2
- import '../locale-DDFn0b6z.cjs';
1
+ export { o as downloadCsv, p as downloadExcel, r as downloadTableExport, q as exportTableData, m as exportTableToCsv, n as exportTableToExcel, t as tableExportButtonClasses } from '../table-export-BMBH75rj.cjs';
2
+ import '../locale-DxwhmqfF.cjs';
3
3
  import '../datepicker-DXzS_8l8.cjs';
@@ -1,3 +1,3 @@
1
- export { o as downloadCsv, p as downloadExcel, r as downloadTableExport, q as exportTableData, m as exportTableToCsv, n as exportTableToExcel, t as tableExportButtonClasses } from '../table-export-CZ7wtGf4.js';
2
- import '../locale-BuZwW3Ok.js';
1
+ export { o as downloadCsv, p as downloadExcel, r as downloadTableExport, q as exportTableData, m as exportTableToCsv, n as exportTableToExcel, t as tableExportButtonClasses } from '../table-export-GRimhvlM.js';
2
+ import '../locale-9tTj1QdZ.js';
3
3
  import '../datepicker-DXzS_8l8.js';
@@ -1,3 +1,8 @@
1
+ // src/utils/env.ts
2
+ function isBrowser() {
3
+ return typeof window !== "undefined" && typeof document !== "undefined";
4
+ }
5
+
1
6
  // src/utils/table-export-utils.ts
2
7
  function escapeCsvValue(value) {
3
8
  const str = value === null || value === void 0 ? "" : String(value);
@@ -34,6 +39,7 @@ function exportTableToExcel(columns, data) {
34
39
  return `<!doctype html><html><head><meta charset="utf-8"></head><body><table><thead><tr>${headerCells}</tr></thead><tbody>${bodyRows}</tbody></table></body></html>`;
35
40
  }
36
41
  function downloadCsv(csvContent, filename = "export") {
42
+ if (!isBrowser()) return;
37
43
  const blob = new Blob([csvContent], { type: "text/csv;charset=utf-8;" });
38
44
  const url = URL.createObjectURL(blob);
39
45
  const link = document.createElement("a");
@@ -46,6 +52,7 @@ function downloadCsv(csvContent, filename = "export") {
46
52
  URL.revokeObjectURL(url);
47
53
  }
48
54
  function downloadExcel(excelContent, filename = "export") {
55
+ if (!isBrowser()) return;
49
56
  const blob = new Blob([excelContent], { type: "application/vnd.ms-excel;charset=utf-8;" });
50
57
  const url = URL.createObjectURL(blob);
51
58
  const link = document.createElement("a");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expcat/tigercat-core",
3
- "version": "1.3.4",
3
+ "version": "1.4.0",
4
4
  "type": "module",
5
5
  "description": "Core utilities for Tigercat UI library",
6
6
  "license": "MIT",
@@ -20,7 +20,7 @@
20
20
  "utilities"
21
21
  ],
22
22
  "main": "./dist/index.js",
23
- "module": "./dist/index.mjs",
23
+ "module": "./dist/index.js",
24
24
  "types": "./dist/index.d.ts",
25
25
  "sideEffects": false,
26
26
  "exports": {
@@ -29,14 +29,6 @@
29
29
  "import": "./dist/index.js",
30
30
  "require": "./dist/index.cjs"
31
31
  },
32
- "./types": {
33
- "types": "./dist/types/index.d.ts",
34
- "import": "./dist/types/index.js"
35
- },
36
- "./theme": {
37
- "types": "./dist/theme/index.d.ts",
38
- "import": "./dist/theme/index.js"
39
- },
40
32
  "./tailwind": {
41
33
  "types": "./dist/tailwind.d.ts",
42
34
  "import": "./dist/tailwind.js",
@@ -109,12 +109,9 @@ module.exports = {
109
109
  boxShadow: {
110
110
  'tiger-xs': '0 1px 2px 0 rgba(0,0,0,0.05)',
111
111
  'tiger-sm': '0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px -1px rgba(0,0,0,0.1)',
112
- 'tiger-md':
113
- '0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1)',
114
- 'tiger-lg':
115
- '0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)',
116
- 'tiger-xl':
117
- '0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1)'
112
+ 'tiger-md': '0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1)',
113
+ 'tiger-lg': '0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)',
114
+ 'tiger-xl': '0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1)'
118
115
  },
119
116
  fontFamily: {
120
117
  'tiger-base': [
package/tokens/tokens.css CHANGED
@@ -89,17 +89,14 @@
89
89
  --tiger-primitive-radius-xl: 12px;
90
90
  --tiger-primitive-radius-full: 9999px;
91
91
  --tiger-primitive-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
92
- --tiger-primitive-shadow-sm:
93
- 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
94
- --tiger-primitive-shadow-md:
95
- 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
92
+ --tiger-primitive-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
93
+ --tiger-primitive-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
96
94
  --tiger-primitive-shadow-lg:
97
95
  0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
98
96
  --tiger-primitive-shadow-xl:
99
97
  0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
100
98
  --tiger-primitive-font-family-base:
101
- -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue',
102
- Arial, sans-serif;
99
+ -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
103
100
  --tiger-primitive-font-family-mono:
104
101
  'SF Mono', Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
105
102
  --tiger-primitive-font-size-xs: 12px;
@@ -224,8 +221,7 @@
224
221
  --tiger-component-drawer-width-xl: 680px;
225
222
  --tiger-component-card-border-radius: 12px;
226
223
  --tiger-component-card-padding: 24px;
227
- --tiger-component-card-shadow:
228
- 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
224
+ --tiger-component-card-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
229
225
  --tiger-component-card-border-color: #e5e5e5;
230
226
  --tiger-component-badge-font-size: 12px;
231
227
  --tiger-component-badge-font-weight: 500;
@@ -408,17 +404,12 @@
408
404
  --tiger-radius-xl: 12px;
409
405
  --tiger-radius-full: 9999px;
410
406
  --tiger-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
411
- --tiger-shadow-sm:
412
- 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
413
- --tiger-shadow-md:
414
- 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
415
- --tiger-shadow-lg:
416
- 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
417
- --tiger-shadow-xl:
418
- 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
407
+ --tiger-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
408
+ --tiger-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
409
+ --tiger-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
410
+ --tiger-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
419
411
  --tiger-font-family-base:
420
- -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue',
421
- Arial, sans-serif;
412
+ -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
422
413
  --tiger-font-family-mono:
423
414
  'SF Mono', Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
424
415
  --tiger-font-size-xs: 12px;
@@ -518,8 +509,7 @@
518
509
  --tiger-select-option-padding-x: 16px;
519
510
  --tiger-modal-border-radius: 12px;
520
511
  --tiger-modal-padding: 24px;
521
- --tiger-modal-shadow:
522
- 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
512
+ --tiger-modal-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
523
513
  --tiger-modal-header-font-size: 18px;
524
514
  --tiger-modal-header-font-weight: 600;
525
515
  --tiger-modal-overlay-bg: rgba(0, 0, 0, 0.45);
@@ -528,8 +518,7 @@
528
518
  --tiger-modal-width-lg: 680px;
529
519
  --tiger-modal-width-xl: 860px;
530
520
  --tiger-drawer-padding: 24px;
531
- --tiger-drawer-shadow:
532
- 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
521
+ --tiger-drawer-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
533
522
  --tiger-drawer-header-font-size: 18px;
534
523
  --tiger-drawer-header-font-weight: 600;
535
524
  --tiger-drawer-overlay-bg: rgba(0, 0, 0, 0.45);
@@ -539,8 +528,7 @@
539
528
  --tiger-drawer-width-xl: 680px;
540
529
  --tiger-card-border-radius: 12px;
541
530
  --tiger-card-padding: 24px;
542
- --tiger-card-shadow:
543
- 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
531
+ --tiger-card-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
544
532
  --tiger-card-border-color: #e5e5e5;
545
533
  --tiger-badge-font-size: 12px;
546
534
  --tiger-badge-font-weight: 500;
@@ -570,8 +558,7 @@
570
558
  --tiger-tooltip-padding-x: 8px;
571
559
  --tiger-tooltip-padding-y: 4px;
572
560
  --tiger-tooltip-border-radius: 8px;
573
- --tiger-tooltip-shadow:
574
- 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
561
+ --tiger-tooltip-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
575
562
  --tiger-tooltip-max-width: 280px;
576
563
  --tiger-alert-border-radius: 8px;
577
564
  --tiger-alert-padding-x: 16px;
@@ -617,8 +604,7 @@
617
604
  --tiger-dropdown-item-height: 36px;
618
605
  --tiger-dropdown-item-padding-x: 16px;
619
606
  --tiger-dropdown-border-radius: 12px;
620
- --tiger-dropdown-shadow:
621
- 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
607
+ --tiger-dropdown-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
622
608
  --tiger-menu-item-height: 40px;
623
609
  --tiger-menu-item-padding-x: 16px;
624
610
  --tiger-menu-group-title-padding: 8px;
@@ -633,8 +619,7 @@
633
619
  --tiger-notification-title-font-weight: 500;
634
620
  --tiger-popover-padding: 16px;
635
621
  --tiger-popover-border-radius: 12px;
636
- --tiger-popover-shadow:
637
- 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
622
+ --tiger-popover-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
638
623
  --tiger-popover-max-width: 320px;
639
624
 
640
625
  /* Legacy variables (backward-compat with pre-0.5.0) */