@expcat/tigercat-vue 1.2.33 → 1.2.37

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 (105) hide show
  1. package/dist/{chunk-F5S26BR3.mjs → chunk-25VVIM45.mjs} +8 -2
  2. package/dist/{chunk-MCRT64VS.js → chunk-2HT6YGRY.js} +12 -2
  3. package/dist/{chunk-TOE2XSEO.js → chunk-3EVCDIZE.js} +4 -4
  4. package/dist/{chunk-A5HHG53Z.js → chunk-6DYGPOYH.js} +4 -4
  5. package/dist/{chunk-2LNNB55E.js → chunk-6XI4VDU4.js} +3 -3
  6. package/dist/{chunk-7RIWAO2A.mjs → chunk-BDTPFPSB.mjs} +2 -1
  7. package/dist/{chunk-6G5IMGTC.js → chunk-BXS7OSVF.js} +37 -35
  8. package/dist/{chunk-6CSTMVB2.js → chunk-DMNOK6OP.js} +27 -11
  9. package/dist/{chunk-JDCVS4SJ.js → chunk-EQW6IUHG.js} +2 -1
  10. package/dist/{chunk-NZUQ2KCW.mjs → chunk-F7WZCYYD.mjs} +19 -5
  11. package/dist/{chunk-YR75F34D.mjs → chunk-FATIMV7O.mjs} +1 -1
  12. package/dist/{chunk-FAYSOSR7.js → chunk-FKCZSBM6.js} +4 -4
  13. package/dist/{chunk-33YTJPF7.js → chunk-HSMN5FWL.js} +4 -4
  14. package/dist/{chunk-DEDRUUK4.js → chunk-ICECZVMX.js} +2 -2
  15. package/dist/{chunk-PHWAXBFG.mjs → chunk-ILTIUESE.mjs} +11 -1
  16. package/dist/{chunk-ZNGRSXFK.js → chunk-JE7AWY34.js} +3 -3
  17. package/dist/{chunk-OF4MY6EC.mjs → chunk-JKJ7HMFO.mjs} +1 -1
  18. package/dist/{chunk-CWQOEU6G.js → chunk-JNIKT6AL.js} +5 -5
  19. package/dist/{chunk-QO2JYX6Q.js → chunk-LAWBHGPK.js} +19 -5
  20. package/dist/{chunk-663C2UX7.js → chunk-LZHCKW2Z.js} +2 -2
  21. package/dist/{chunk-MVZGR3ZB.js → chunk-MD7S2A55.js} +2 -2
  22. package/dist/{chunk-IXJSZIAE.mjs → chunk-NP6KUJ4X.mjs} +1 -1
  23. package/dist/{chunk-RHAIJVMW.mjs → chunk-NYH6GSP7.mjs} +1 -1
  24. package/dist/{chunk-CBECE4ZO.mjs → chunk-OGDZTDZ6.mjs} +1 -1
  25. package/dist/{chunk-EU4IGIPC.js → chunk-OKLDFVDJ.js} +8 -2
  26. package/dist/{chunk-GVZRR2WP.mjs → chunk-PC2FNA4J.mjs} +2 -2
  27. package/dist/{chunk-4GYBJBFJ.mjs → chunk-QIXG7OIN.mjs} +1 -1
  28. package/dist/{chunk-IQZX54SQ.js → chunk-QJLFHHI2.js} +21 -7
  29. package/dist/{chunk-OA3HAUBT.js → chunk-RRI3F52B.js} +29 -9
  30. package/dist/{chunk-LWDA7ABQ.js → chunk-S3KTGULC.js} +4 -4
  31. package/dist/{chunk-DSHV7EAX.mjs → chunk-SZFEDBLT.mjs} +17 -3
  32. package/dist/{chunk-4CWRNKPE.mjs → chunk-U2PPTMQX.mjs} +2 -2
  33. package/dist/{chunk-4J5EK3WY.mjs → chunk-UETVHC4K.mjs} +1 -1
  34. package/dist/{chunk-DBTS5QBX.mjs → chunk-UJZPEXF5.mjs} +1 -1
  35. package/dist/{chunk-4Z4XMXCO.mjs → chunk-V2IDOR7Y.mjs} +23 -7
  36. package/dist/{chunk-H5JDEKIV.js → chunk-V6T5GRLE.js} +2 -2
  37. package/dist/{chunk-7M4UUCJF.mjs → chunk-W54LFA7A.mjs} +30 -10
  38. package/dist/{chunk-OZLSZQXF.mjs → chunk-WH4J6PHF.mjs} +37 -35
  39. package/dist/{chunk-FKLK6RHZ.js → chunk-WIQPVVUQ.js} +2 -2
  40. package/dist/{chunk-BMT5PGAQ.mjs → chunk-WT3LV7OQ.mjs} +2 -2
  41. package/dist/{chunk-PCUUTKQZ.mjs → chunk-XQRKFOXS.mjs} +1 -1
  42. package/dist/{chunk-AQE5RZDE.mjs → chunk-ZDKGABPQ.mjs} +1 -1
  43. package/dist/components/ActivityFeed.js +4 -4
  44. package/dist/components/ActivityFeed.mjs +3 -3
  45. package/dist/components/CropUpload.js +5 -4
  46. package/dist/components/CropUpload.mjs +4 -3
  47. package/dist/components/DataTableWithToolbar.d.mts +21 -1
  48. package/dist/components/DataTableWithToolbar.d.ts +21 -1
  49. package/dist/components/DataTableWithToolbar.js +3 -3
  50. package/dist/components/DataTableWithToolbar.mjs +2 -2
  51. package/dist/components/Drawer.d.mts +17 -1
  52. package/dist/components/Drawer.d.ts +17 -1
  53. package/dist/components/Drawer.js +4 -3
  54. package/dist/components/Drawer.mjs +3 -2
  55. package/dist/components/Dropdown.js +3 -3
  56. package/dist/components/Dropdown.mjs +2 -2
  57. package/dist/components/DropdownItem.js +4 -4
  58. package/dist/components/DropdownItem.mjs +3 -3
  59. package/dist/components/DropdownMenu.js +4 -4
  60. package/dist/components/DropdownMenu.mjs +2 -2
  61. package/dist/components/FormWizard.d.mts +11 -1
  62. package/dist/components/FormWizard.d.ts +11 -1
  63. package/dist/components/FormWizard.js +2 -2
  64. package/dist/components/FormWizard.mjs +1 -1
  65. package/dist/components/Kanban.js +3 -3
  66. package/dist/components/Kanban.mjs +2 -2
  67. package/dist/components/Loading.js +3 -3
  68. package/dist/components/Loading.mjs +2 -2
  69. package/dist/components/Menu.js +3 -3
  70. package/dist/components/Menu.mjs +2 -2
  71. package/dist/components/MenuItem.js +4 -4
  72. package/dist/components/MenuItem.mjs +2 -2
  73. package/dist/components/MenuItemGroup.js +4 -4
  74. package/dist/components/MenuItemGroup.mjs +2 -2
  75. package/dist/components/Modal.d.mts +17 -1
  76. package/dist/components/Modal.d.ts +17 -1
  77. package/dist/components/Modal.js +4 -3
  78. package/dist/components/Modal.mjs +3 -2
  79. package/dist/components/NotificationCenter.js +4 -4
  80. package/dist/components/NotificationCenter.mjs +3 -3
  81. package/dist/components/Pagination.d.mts +21 -1
  82. package/dist/components/Pagination.d.ts +21 -1
  83. package/dist/components/Pagination.js +3 -2
  84. package/dist/components/Pagination.mjs +2 -1
  85. package/dist/components/Popconfirm.js +4 -4
  86. package/dist/components/Popconfirm.mjs +3 -3
  87. package/dist/components/Popover.js +4 -4
  88. package/dist/components/Popover.mjs +3 -3
  89. package/dist/components/Spotlight.js +3 -3
  90. package/dist/components/Spotlight.mjs +2 -2
  91. package/dist/components/SubMenu.js +4 -4
  92. package/dist/components/SubMenu.mjs +2 -2
  93. package/dist/components/Table.d.mts +14 -4
  94. package/dist/components/Table.d.ts +14 -4
  95. package/dist/components/Table.js +2 -2
  96. package/dist/components/Table.mjs +1 -1
  97. package/dist/components/TaskBoard.d.mts +11 -1
  98. package/dist/components/TaskBoard.d.ts +11 -1
  99. package/dist/components/TaskBoard.js +2 -2
  100. package/dist/components/TaskBoard.mjs +1 -1
  101. package/dist/components/Tooltip.js +4 -4
  102. package/dist/components/Tooltip.mjs +3 -3
  103. package/dist/index.js +22 -22
  104. package/dist/index.mjs +21 -21
  105. package/package.json +2 -2
@@ -1,4 +1,8 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } 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; }// src/components/Pagination.ts
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } 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
+
3
+ var _chunk25EYT2CBjs = require('./chunk-25EYT2CB.js');
4
+
5
+ // src/components/Pagination.ts
2
6
 
3
7
 
4
8
 
@@ -32,6 +36,7 @@ var _vue = require('vue');
32
36
 
33
37
 
34
38
 
39
+
35
40
 
36
41
 
37
42
  var _tigercatcore = require('@expcat/tigercat-core');
@@ -184,6 +189,13 @@ var Pagination = _vue.defineComponent.call(void 0, {
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 = _vue.defineComponent.call(void 0, {
194
206
  const attrsRecord = attrs;
195
207
  const attrsClass = attrsRecord.class;
196
208
  const attrsStyle = attrsRecord.style;
209
+ const config = _chunk25EYT2CBjs.useTigerConfig.call(void 0, );
197
210
  const resolvedLocale = _vue.ref.call(void 0,
198
211
  _tigercatcore.getImmediateTigerLocale.call(void 0, props.locale)
199
212
  );
@@ -218,9 +231,10 @@ var Pagination = _vue.defineComponent.call(void 0, {
218
231
  },
219
232
  { immediate: true }
220
233
  );
221
- const labels = _vue.computed.call(void 0, () => _tigercatcore.getPaginationLabels.call(void 0, resolvedLocale.value));
222
- const localeCode = _vue.computed.call(void 0, () => _optionalChain([resolvedLocale, 'access', _ => _.value, 'optionalAccess', _2 => _2.locale]));
223
- const isRtl = _vue.computed.call(void 0, () => _tigercatcore.getLocaleDirection.call(void 0, resolvedLocale.value) === "rtl");
234
+ const mergedLocale = _vue.computed.call(void 0, () => _tigercatcore.mergeTigerLocale.call(void 0, config.value.locale, resolvedLocale.value));
235
+ const labels = _vue.computed.call(void 0, () => _tigercatcore.getPaginationLabels.call(void 0, mergedLocale.value, props.labels));
236
+ const localeCode = _vue.computed.call(void 0, () => _optionalChain([mergedLocale, 'access', _ => _.value, 'optionalAccess', _2 => _2.locale]));
237
+ const isRtl = _vue.computed.call(void 0, () => _tigercatcore.getLocaleDirection.call(void 0, mergedLocale.value) === "rtl");
224
238
  const internalCurrent = _vue.ref.call(void 0, props.defaultCurrent);
225
239
  const internalPageSize = _vue.ref.call(void 0, props.defaultPageSize);
226
240
  const quickJumperValue = _vue.ref.call(void 0, "");
@@ -334,7 +348,7 @@ var Pagination = _vue.defineComponent.call(void 0, {
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 || (_optionalChain([resolvedLocale, 'access', _3 => _3.value, 'optionalAccess', _4 => _4.pagination, 'optionalAccess', _5 => _5.totalText]) ? (value, range) => _tigercatcore.formatPaginationTotal.call(void 0, labels.value.totalText, value, range, localeCode.value) : _tigercatcore.defaultTotalText);
351
+ const totalTextFn = props.totalText || (_optionalChain([props, 'access', _3 => _3.labels, 'optionalAccess', _4 => _4.totalText]) || _optionalChain([mergedLocale, 'access', _5 => _5.value, 'optionalAccess', _6 => _6.pagination, 'optionalAccess', _7 => _7.totalText]) ? (value, range) => _tigercatcore.formatPaginationTotal.call(void 0, labels.value.totalText, value, range, localeCode.value) : _tigercatcore.defaultTotalText);
338
352
  elements.push(
339
353
  _vue.h.call(void 0, "span", { class: _tigercatcore.getTotalTextClasses.call(void 0, size) }, totalTextFn(props.total, pageRange.value))
340
354
  );
@@ -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 _chunkEU4IGIPCjs = require('./chunk-EU4IGIPC.js');
3
+ var _chunkOKLDFVDJjs = require('./chunk-OKLDFVDJ.js');
4
4
 
5
5
  // src/components/Kanban.ts
6
6
  var _vue = require('vue');
@@ -56,7 +56,7 @@ var Kanban = _vue.defineComponent.call(void 0, {
56
56
  emit("card-add", colId);
57
57
  };
58
58
  return () => _vue.h.call(void 0,
59
- _chunkEU4IGIPCjs.TaskBoard,
59
+ _chunkOKLDFVDJjs.TaskBoard,
60
60
  {
61
61
  ...attrs,
62
62
  columns: props.columns,
@@ -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 _chunkFAYSOSR7js = require('./chunk-FAYSOSR7.js');
3
+ var _chunkFKCZSBM6js = require('./chunk-FKCZSBM6.js');
4
4
 
5
5
  // src/components/DropdownItem.ts
6
6
  var _vue = require('vue');
@@ -47,7 +47,7 @@ var DropdownItem = _vue.defineComponent.call(void 0, {
47
47
  const attrsRecord = attrs;
48
48
  const attrsClass = attrsRecord.class;
49
49
  const attrsStyle = attrsRecord.style;
50
- const context = _vue.inject.call(void 0, _chunkFAYSOSR7js.DropdownContextKey, null);
50
+ const context = _vue.inject.call(void 0, _chunkFKCZSBM6js.DropdownContextKey, null);
51
51
  const handleClick = (event) => {
52
52
  if (props.disabled) {
53
53
  event.preventDefault();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  renderVueBodyTeleport,
3
3
  useVueFloating
4
- } from "./chunk-7RIWAO2A.mjs";
4
+ } from "./chunk-BDTPFPSB.mjs";
5
5
 
6
6
  // src/components/Menu.ts
7
7
  import {
@@ -2,7 +2,7 @@ import {
2
2
  useVueClickOutside,
3
3
  useVueEscapeKey,
4
4
  useVueFloating
5
- } from "./chunk-7RIWAO2A.mjs";
5
+ } from "./chunk-BDTPFPSB.mjs";
6
6
 
7
7
  // src/components/Dropdown.ts
8
8
  import {
@@ -3,7 +3,7 @@ import {
3
3
  useVueBodyScrollLock,
4
4
  useVueEscapeKey,
5
5
  useVueFocusTrap
6
- } from "./chunk-7RIWAO2A.mjs";
6
+ } from "./chunk-BDTPFPSB.mjs";
7
7
 
8
8
  // src/components/Spotlight.ts
9
9
  import {
@@ -81,6 +81,10 @@ var TaskBoard = _vue.defineComponent.call(void 0, {
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 = _vue.defineComponent.call(void 0, {
94
98
  setup(props, { slots, attrs, emit }) {
95
99
  const config = _chunk25EYT2CBjs.useTigerConfig.call(void 0, );
96
100
  const mergedLocale = _vue.computed.call(void 0, () => _tigercatcore.mergeTigerLocale.call(void 0, config.value.locale, props.locale));
97
- const labels = _vue.computed.call(void 0, () => _tigercatcore.getTaskBoardLabels.call(void 0, mergedLocale.value));
101
+ const labels = _vue.computed.call(void 0, () => _tigercatcore.getTaskBoardLabels.call(void 0, mergedLocale.value, props.labels));
98
102
  const innerColumns = _vue.ref.call(void 0, _nullishCoalesce(_nullishCoalesce(props.columns, () => ( props.defaultColumns)), () => ( [])));
99
103
  _vue.watch.call(void 0,
100
104
  () => props.columns,
@@ -251,7 +255,9 @@ var TaskBoard = _vue.defineComponent.call(void 0, {
251
255
  `(${column.cards.length}/${column.wipLimit})`
252
256
  ) : _vue.h.call(void 0,
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,9 +1,9 @@
1
1
  import {
2
2
  useFloatingPopup
3
- } from "./chunk-DBTS5QBX.mjs";
3
+ } from "./chunk-UJZPEXF5.mjs";
4
4
  import {
5
5
  renderVueBodyTeleport
6
- } from "./chunk-7RIWAO2A.mjs";
6
+ } from "./chunk-BDTPFPSB.mjs";
7
7
 
8
8
  // src/components/Popover.ts
9
9
  import { defineComponent, computed, h } from "vue";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-LBGTABIU.mjs";
4
4
  import {
5
5
  Loading
6
- } from "./chunk-PCUUTKQZ.mjs";
6
+ } from "./chunk-XQRKFOXS.mjs";
7
7
  import {
8
8
  Link
9
9
  } from "./chunk-3MO7A4GU.mjs";
@@ -1,9 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } 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 _chunk25EYT2CBjs = require('./chunk-25EYT2CB.js');
3
4
 
4
5
 
5
6
 
6
- var _chunkJDCVS4SJjs = require('./chunk-JDCVS4SJ.js');
7
+
8
+
9
+ var _chunkEQW6IUHGjs = require('./chunk-EQW6IUHG.js');
7
10
 
8
11
  // src/components/Drawer.ts
9
12
 
@@ -40,6 +43,7 @@ var _vue = require('vue');
40
43
 
41
44
 
42
45
 
46
+
43
47
 
44
48
 
45
49
  var _tigercatcore = require('@expcat/tigercat-core');
@@ -193,6 +197,13 @@ var Drawer = _vue.defineComponent.call(void 0, {
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 = _vue.defineComponent.call(void 0, {
205
216
  },
206
217
  emits: ["update:open", "close", "after-enter", "after-leave"],
207
218
  setup(props, { slots, emit, attrs }) {
219
+ const config = _chunk25EYT2CBjs.useTigerConfig.call(void 0, );
220
+ const mergedLocale = _vue.computed.call(void 0, () => _tigercatcore.mergeTigerLocale.call(void 0, config.value.locale, props.locale));
208
221
  const instanceId = _vue.ref.call(void 0, createDrawerId());
209
222
  const hasBeenOpened = _vue.ref.call(void 0, false);
210
223
  const deferredRendered = _vue.ref.call(void 0, props.open);
@@ -263,10 +276,10 @@ var Drawer = _vue.defineComponent.call(void 0, {
263
276
  };
264
277
  const escapeEnabled = _vue.computed.call(void 0, () => props.open);
265
278
  let cleanupEscape;
266
- _chunkJDCVS4SJjs.useVueBodyScrollLock.call(void 0, escapeEnabled);
267
- _chunkJDCVS4SJjs.useVueFocusTrap.call(void 0, { enabled: escapeEnabled, containerRef: dialogRef });
279
+ _chunkEQW6IUHGjs.useVueBodyScrollLock.call(void 0, escapeEnabled);
280
+ _chunkEQW6IUHGjs.useVueFocusTrap.call(void 0, { enabled: escapeEnabled, containerRef: dialogRef });
268
281
  _vue.onMounted.call(void 0, () => {
269
- cleanupEscape = _chunkJDCVS4SJjs.useVueEscapeKey.call(void 0, {
282
+ cleanupEscape = _chunkEQW6IUHGjs.useVueEscapeKey.call(void 0, {
270
283
  enabled: escapeEnabled,
271
284
  onEscape: handleClose
272
285
  });
@@ -337,8 +350,9 @@ var Drawer = _vue.defineComponent.call(void 0, {
337
350
  const resolvedCloseAriaLabel = _tigercatcore.resolveLocaleText.call(void 0,
338
351
  "Close drawer",
339
352
  props.closeAriaLabel,
340
- _optionalChain([props, 'access', _2 => _2.locale, 'optionalAccess', _3 => _3.drawer, 'optionalAccess', _4 => _4.closeAriaLabel]),
341
- _optionalChain([props, 'access', _5 => _5.locale, 'optionalAccess', _6 => _6.common, 'optionalAccess', _7 => _7.closeText])
353
+ _optionalChain([props, 'access', _2 => _2.labels, 'optionalAccess', _3 => _3.closeAriaLabel]),
354
+ _optionalChain([mergedLocale, 'access', _4 => _4.value, 'optionalAccess', _5 => _5.drawer, 'optionalAccess', _6 => _6.closeAriaLabel]),
355
+ _optionalChain([mergedLocale, 'access', _7 => _7.value, 'optionalAccess', _8 => _8.common, 'optionalAccess', _9 => _9.closeText])
342
356
  );
343
357
  const closeIcon = _vue.h.call(void 0,
344
358
  "svg",
@@ -417,7 +431,7 @@ var Drawer = _vue.defineComponent.call(void 0, {
417
431
  },
418
432
  [mask, panel]
419
433
  );
420
- return _chunkJDCVS4SJjs.renderVueBodyTeleport.call(void 0, [root], props.disableTeleport);
434
+ return _chunkEQW6IUHGjs.renderVueBodyTeleport.call(void 0, [root], props.disableTeleport);
421
435
  };
422
436
  }
423
437
  });
@@ -29,6 +29,8 @@ var _vue = require('vue');
29
29
 
30
30
 
31
31
 
32
+
33
+
32
34
  var _tigercatcore = require('@expcat/tigercat-core');
33
35
 
34
36
 
@@ -126,6 +128,10 @@ var tableProps = {
126
128
  type: String,
127
129
  default: "scroll"
128
130
  },
131
+ cardBreakpoint: {
132
+ type: String,
133
+ default: "sm"
134
+ },
129
135
  // --- v0.6.0 props ---
130
136
  virtual: { type: Boolean, default: false },
131
137
  autoVirtual: { type: Boolean, default: true },
@@ -1256,7 +1262,10 @@ var Table = _vue.defineComponent.call(void 0, {
1256
1262
  ref: tableRef,
1257
1263
  class: _tigercatcore.classNames.call(void 0,
1258
1264
  _tigercatcore.tableBaseClasses,
1259
- _tigercatcore.getTableResponsiveTableClasses.call(void 0, resolvedProps.responsiveMode),
1265
+ _tigercatcore.getTableResponsiveTableClasses.call(void 0,
1266
+ resolvedProps.responsiveMode,
1267
+ resolvedProps.cardBreakpoint
1268
+ ),
1260
1269
  resolvedProps.tableLayout === "fixed" ? "table-fixed" : "table-auto"
1261
1270
  ),
1262
1271
  style: ctx.fixedColumnsInfo.value.hasFixedColumns && ctx.fixedColumnsInfo.value.minTableWidth ? { minWidth: `${ctx.fixedColumnsInfo.value.minTableWidth}px` } : void 0
@@ -1275,20 +1284,30 @@ var Table = _vue.defineComponent.call(void 0, {
1275
1284
  ) : tableInner;
1276
1285
  const cardContent = resolvedProps.responsiveMode === "card" ? _vue.h.call(void 0,
1277
1286
  "div",
1278
- { class: _tigercatcore.tableResponsiveCardListClasses, "data-tiger-table-mobile": "card" },
1287
+ {
1288
+ class: _tigercatcore.getTableResponsiveCardListClasses.call(void 0, resolvedProps.cardBreakpoint),
1289
+ "data-tiger-table-mobile": "card"
1290
+ },
1279
1291
  ctx.paginatedData.value.length === 0 ? [_vue.h.call(void 0, "div", { class: _tigercatcore.tableResponsiveCardClasses }, resolvedProps.emptyText)] : ctx.paginatedData.value.map((record, index) => {
1280
1292
  const key = ctx.paginatedRowKeys.value[index];
1281
1293
  const isExpanded = ctx.expandedRowKeySet.value.has(key);
1282
1294
  const isRowExpandable = resolvedProps.expandable ? resolvedProps.expandable.rowExpandable ? resolvedProps.expandable.rowExpandable(record) : true : false;
1283
- const rows = ctx.displayColumns.value.map((column) => {
1295
+ const { titleColumn, bodyColumns } = _tigercatcore.getCardColumns.call(void 0, ctx.displayColumns.value);
1296
+ const renderCardCellContent = (column) => {
1284
1297
  const dataKey = column.dataKey || column.key;
1285
- const cellValue = record[dataKey];
1286
- const cellContent = _nullishCoalesce(_optionalChain([slots, 'access', _86 => _86[`cell-${column.key}`], 'optionalCall', _87 => _87({ record, index })]), () => ( (column.render ? column.render(record, index) : cellValue)));
1287
- return _vue.h.call(void 0, "div", { key: column.key, class: _tigercatcore.tableResponsiveCardRowClasses }, [
1298
+ return _nullishCoalesce(_optionalChain([slots, 'access', _86 => _86[`cell-${column.key}`], 'optionalCall', _87 => _87({ record, index })]), () => ( (column.render ? column.render(record, index) : record[dataKey])));
1299
+ };
1300
+ const titleNode = titleColumn ? _vue.h.call(void 0, "div", { class: _tigercatcore.tableResponsiveCardTitleClasses }, [
1301
+ renderCardCellContent(titleColumn)
1302
+ ]) : null;
1303
+ const rows = bodyColumns.map(
1304
+ (column) => _vue.h.call(void 0, "div", { key: column.key, class: _tigercatcore.tableResponsiveCardRowClasses }, [
1288
1305
  _vue.h.call(void 0, "div", { class: _tigercatcore.tableResponsiveCardLabelClasses }, column.title),
1289
- _vue.h.call(void 0, "div", { class: _tigercatcore.tableResponsiveCardValueClasses }, [cellContent])
1290
- ]);
1291
- });
1306
+ _vue.h.call(void 0, "div", { class: _tigercatcore.tableResponsiveCardValueClasses }, [
1307
+ renderCardCellContent(column)
1308
+ ])
1309
+ ])
1310
+ );
1292
1311
  const controls = [];
1293
1312
  if (resolvedProps.rowSelection && resolvedProps.rowSelection.showCheckbox !== false) {
1294
1313
  const checkboxProps = _optionalChain([resolvedProps, 'access', _88 => _88.rowSelection, 'access', _89 => _89.getCheckboxProps, 'optionalCall', _90 => _90(record)]) || {};
@@ -1329,6 +1348,7 @@ var Table = _vue.defineComponent.call(void 0, {
1329
1348
  },
1330
1349
  [
1331
1350
  controls.length ? _vue.h.call(void 0, "div", { class: "mb-2 flex items-center gap-3" }, controls) : null,
1351
+ titleNode,
1332
1352
  ...rows,
1333
1353
  expandedContent ? _vue.h.call(void 0,
1334
1354
  "div",
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkJDCVS4SJjs = require('./chunk-JDCVS4SJ.js');
5
+ var _chunkEQW6IUHGjs = require('./chunk-EQW6IUHG.js');
6
6
 
7
7
  // src/utils/use-floating-popup.ts
8
8
  var _vue = require('vue');
@@ -36,7 +36,7 @@ function useFloatingPopup(options) {
36
36
  x,
37
37
  y,
38
38
  placement: actualPlacement
39
- } = _chunkJDCVS4SJjs.useVueFloating.call(void 0, {
39
+ } = _chunkEQW6IUHGjs.useVueFloating.call(void 0, {
40
40
  referenceRef: triggerRef,
41
41
  floatingRef,
42
42
  enabled: currentVisible,
@@ -56,7 +56,7 @@ function useFloatingPopup(options) {
56
56
  outsideClickCleanup = void 0;
57
57
  escapeKeyCleanup = void 0;
58
58
  if (visible && trigger === "click") {
59
- outsideClickCleanup = _chunkJDCVS4SJjs.useVueClickOutside.call(void 0, {
59
+ outsideClickCleanup = _chunkEQW6IUHGjs.useVueClickOutside.call(void 0, {
60
60
  enabled: currentVisible,
61
61
  refs: [containerRef, floatingRef],
62
62
  onOutsideClick: () => setVisible(false),
@@ -64,7 +64,7 @@ function useFloatingPopup(options) {
64
64
  });
65
65
  }
66
66
  if (visible && trigger !== "manual") {
67
- escapeKeyCleanup = _chunkJDCVS4SJjs.useVueEscapeKey.call(void 0, {
67
+ escapeKeyCleanup = _chunkEQW6IUHGjs.useVueEscapeKey.call(void 0, {
68
68
  enabled: currentVisible,
69
69
  onEscape: () => setVisible(false)
70
70
  });
@@ -1,9 +1,12 @@
1
+ import {
2
+ useTigerConfig
3
+ } from "./chunk-VG6E4NX6.mjs";
1
4
  import {
2
5
  renderVueBodyTeleport,
3
6
  useVueBodyScrollLock,
4
7
  useVueEscapeKey,
5
8
  useVueFocusTrap
6
- } from "./chunk-7RIWAO2A.mjs";
9
+ } from "./chunk-BDTPFPSB.mjs";
7
10
 
8
11
  // src/components/Drawer.ts
9
12
  import {
@@ -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,9 +1,9 @@
1
1
  import {
2
2
  useFloatingPopup
3
- } from "./chunk-DBTS5QBX.mjs";
3
+ } from "./chunk-UJZPEXF5.mjs";
4
4
  import {
5
5
  renderVueBodyTeleport
6
- } from "./chunk-7RIWAO2A.mjs";
6
+ } from "./chunk-BDTPFPSB.mjs";
7
7
 
8
8
  // src/components/Popconfirm.ts
9
9
  import { defineComponent, computed, h, cloneVNode, isVNode } from "vue";
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-PO5GVU4Q.mjs";
11
11
  import {
12
12
  Loading
13
- } from "./chunk-PCUUTKQZ.mjs";
13
+ } from "./chunk-XQRKFOXS.mjs";
14
14
  import {
15
15
  Text
16
16
  } from "./chunk-NN6AINLG.mjs";
@@ -2,7 +2,7 @@ import {
2
2
  useVueClickOutside,
3
3
  useVueEscapeKey,
4
4
  useVueFloating
5
- } from "./chunk-7RIWAO2A.mjs";
5
+ } from "./chunk-BDTPFPSB.mjs";
6
6
 
7
7
  // src/utils/use-floating-popup.ts
8
8
  import { computed, ref, watch, onBeforeUnmount } from "vue";
@@ -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";
@@ -6,7 +9,7 @@ import {
6
9
  useVueBodyScrollLock,
7
10
  useVueEscapeKey,
8
11
  useVueFocusTrap
9
- } from "./chunk-7RIWAO2A.mjs";
12
+ } from "./chunk-BDTPFPSB.mjs";
10
13
 
11
14
  // src/components/Modal.ts
12
15
  import {
@@ -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
  )
@@ -10,7 +10,7 @@ var _chunkS6Q7TD6Hjs = require('./chunk-S6Q7TD6H.js');
10
10
  var _chunk4VLNT2EDjs = require('./chunk-4VLNT2ED.js');
11
11
 
12
12
 
13
- var _chunk2LNNB55Ejs = require('./chunk-2LNNB55E.js');
13
+ var _chunk6XI4VDU4js = require('./chunk-6XI4VDU4.js');
14
14
 
15
15
 
16
16
  var _chunkTGHB5XSTjs = require('./chunk-TGHB5XST.js');
@@ -489,7 +489,7 @@ var NotificationCenter = _vue.defineComponent.call(void 0, {
489
489
  renderReadFilterButtons()
490
490
  ]);
491
491
  const content = props.loading ? _vue.h.call(void 0, "div", { class: "flex items-center justify-center py-16" }, [
492
- _vue.h.call(void 0, _chunk2LNNB55Ejs.Loading, { text: props.loadingText, class: "text-blue-500 dark:text-blue-400 font-medium" })
492
+ _vue.h.call(void 0, _chunk6XI4VDU4js.Loading, { text: props.loadingText, class: "text-blue-500 dark:text-blue-400 font-medium" })
493
493
  ]) : resolvedGroups.value.length > 0 ? _vue.h.call(void 0, "div", { class: "-mx-4 -mb-4" }, [renderTabs()]) : _vue.h.call(void 0, "div", { class: "-mx-4 -mb-4 max-h-[380px] overflow-y-auto" }, [
494
494
  renderList(filteredFlatItems.value)
495
495
  ]);