@expcat/tigercat-react 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 (41) hide show
  1. package/dist/{chunk-VXOLIMK2.mjs → chunk-2CJKAO2I.mjs} +1 -1
  2. package/dist/{chunk-UQOMRXTD.mjs → chunk-7E24KEVK.mjs} +60 -44
  3. package/dist/{chunk-P4INKEQ3.js → chunk-7JFP3MIW.js} +60 -44
  4. package/dist/{chunk-FXVKJWUP.js → chunk-ANN5P7TJ.js} +5 -1
  5. package/dist/{chunk-D62GWQBX.mjs → chunk-CHS54PVQ.mjs} +14 -3
  6. package/dist/{chunk-IUOTJ73N.mjs → chunk-D4FXVNRW.mjs} +1 -1
  7. package/dist/{chunk-SXHP4Q7O.js → chunk-DSXII6ZF.js} +23 -10
  8. package/dist/{chunk-UHRZKZVU.mjs → chunk-FWIYDMJA.mjs} +19 -5
  9. package/dist/{chunk-KTV3ZDSQ.js → chunk-H2YHUFMK.js} +2 -2
  10. package/dist/{chunk-WWDCH2XX.mjs → chunk-JOB47R6Q.mjs} +5 -1
  11. package/dist/{chunk-VHHYTCZQ.js → chunk-L2CAJUXH.js} +2 -2
  12. package/dist/{chunk-K5B4XXAI.js → chunk-LROHXQWX.js} +2 -2
  13. package/dist/{chunk-VAZYY35F.js → chunk-MIINT2WV.js} +68 -53
  14. package/dist/{chunk-AKDBQOKX.mjs → chunk-RL6HARKE.mjs} +20 -7
  15. package/dist/{chunk-CPNDCACQ.mjs → chunk-RVO6R37N.mjs} +1 -1
  16. package/dist/{chunk-OHSJ4KTU.js → chunk-TLU3ROLT.js} +17 -6
  17. package/dist/{chunk-KEF2PEP4.js → chunk-WYKUC5MM.js} +19 -5
  18. package/dist/{chunk-AIXYHS2L.mjs → chunk-ZGPOMSGD.mjs} +70 -55
  19. package/dist/components/CropUpload.js +4 -3
  20. package/dist/components/CropUpload.mjs +3 -2
  21. package/dist/components/DataTableWithToolbar.js +3 -3
  22. package/dist/components/DataTableWithToolbar.mjs +2 -2
  23. package/dist/components/Drawer.js +3 -2
  24. package/dist/components/Drawer.mjs +2 -1
  25. package/dist/components/FormWizard.js +2 -2
  26. package/dist/components/FormWizard.mjs +1 -1
  27. package/dist/components/Kanban.js +3 -3
  28. package/dist/components/Kanban.mjs +2 -2
  29. package/dist/components/Modal.js +3 -2
  30. package/dist/components/Modal.mjs +2 -1
  31. package/dist/components/Pagination.js +3 -2
  32. package/dist/components/Pagination.mjs +2 -1
  33. package/dist/components/Table.d.mts +1 -1
  34. package/dist/components/Table.d.ts +1 -1
  35. package/dist/components/Table.js +2 -2
  36. package/dist/components/Table.mjs +1 -1
  37. package/dist/components/TaskBoard.js +2 -2
  38. package/dist/components/TaskBoard.mjs +1 -1
  39. package/dist/index.js +10 -10
  40. package/dist/index.mjs +9 -9
  41. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Table
3
- } from "./chunk-AIXYHS2L.mjs";
3
+ } from "./chunk-ZGPOMSGD.mjs";
4
4
  import {
5
5
  Select
6
6
  } from "./chunk-T4OVGM4X.mjs";
@@ -72,6 +72,7 @@ var FormWizard = ({
72
72
  nextText,
73
73
  finishText,
74
74
  locale,
75
+ labels: labelsOverride,
75
76
  beforeNext,
76
77
  autoSave,
77
78
  onChange,
@@ -86,7 +87,10 @@ var FormWizard = ({
86
87
  () => mergeTigerLocale(config.locale, locale),
87
88
  [config.locale, locale]
88
89
  );
89
- const labels = useMemo(() => getFormWizardLabels(mergedLocale), [mergedLocale]);
90
+ const labels = useMemo(
91
+ () => getFormWizardLabels(mergedLocale, labelsOverride),
92
+ [mergedLocale, labelsOverride]
93
+ );
90
94
  const [innerCurrent, setInnerCurrent] = useState(defaultCurrent);
91
95
  useEffect(() => {
92
96
  if (current !== void 0) setInnerCurrent(current);
@@ -180,52 +184,64 @@ var FormWizard = ({
180
184
  [steps]
181
185
  );
182
186
  return /* @__PURE__ */ jsxs("div", { className: wrapperClasses, style, "data-tiger-form-wizard": true, ...props, children: [
183
- showSteps && steps.length > 0 && /* @__PURE__ */ jsx("div", { className: classNames(
184
- "px-6 py-5 bg-[var(--tiger-surface-muted,#f9fafb)]/95 backdrop-blur-sm transition-all duration-300",
185
- bordered ? "border-b border-[var(--tiger-border,#e5e7eb)]" : ""
186
- ), children: /* @__PURE__ */ jsx(
187
- Steps,
187
+ showSteps && steps.length > 0 && /* @__PURE__ */ jsx(
188
+ "div",
188
189
  {
189
- current: currentIndex,
190
- direction,
191
- size,
192
- simple,
193
- clickable,
194
- onChange: handleStepChange,
195
- children: stepsNodes
190
+ className: classNames(
191
+ "px-6 py-5 bg-[var(--tiger-surface-muted,#f9fafb)]/95 backdrop-blur-sm transition-all duration-300",
192
+ bordered ? "border-b border-[var(--tiger-border,#e5e7eb)]" : ""
193
+ ),
194
+ children: /* @__PURE__ */ jsx(
195
+ Steps,
196
+ {
197
+ current: currentIndex,
198
+ direction,
199
+ size,
200
+ simple,
201
+ clickable,
202
+ onChange: handleStepChange,
203
+ children: stepsNodes
204
+ }
205
+ )
196
206
  }
197
- ) }),
207
+ ),
198
208
  /* @__PURE__ */ jsx("div", { className: "px-8 py-6 flex flex-col items-center w-full min-h-[120px] transition-all duration-300", children: contentNode }),
199
- showActions && /* @__PURE__ */ jsxs("div", { className: classNames(
200
- "flex items-center justify-between gap-3 px-8 py-4 bg-[var(--tiger-surface-muted,#f9fafb)]/95 backdrop-blur-sm transition-all duration-300",
201
- bordered ? "border-t border-[var(--tiger-border,#e5e7eb)]" : ""
202
- ), children: [
203
- !isFirst ? /* @__PURE__ */ jsx(
204
- Button,
205
- {
206
- htmlType: "button",
207
- variant: "secondary",
208
- className: "group",
209
- onClick: handlePrev,
210
- size: size === "small" ? "sm" : "md",
211
- icon: /* @__PURE__ */ jsx(ArrowLeftIcon, {}),
212
- children: resolveLocaleText(labels.prevText, prevText)
213
- }
214
- ) : /* @__PURE__ */ jsx("div", {}),
215
- /* @__PURE__ */ jsx(
216
- Button,
217
- {
218
- htmlType: "button",
219
- variant: "primary",
220
- className: "group",
221
- onClick: handleNext,
222
- size: size === "small" ? "sm" : "md",
223
- icon: isLast ? /* @__PURE__ */ jsx(CheckIcon, {}) : /* @__PURE__ */ jsx(ArrowRightIcon, {}),
224
- iconPosition: isLast ? "left" : "right",
225
- children: isLast ? resolveLocaleText(labels.finishText, finishText) : resolveLocaleText(labels.nextText, nextText)
226
- }
227
- )
228
- ] })
209
+ showActions && /* @__PURE__ */ jsxs(
210
+ "div",
211
+ {
212
+ className: classNames(
213
+ "flex items-center justify-between gap-3 px-8 py-4 bg-[var(--tiger-surface-muted,#f9fafb)]/95 backdrop-blur-sm transition-all duration-300",
214
+ bordered ? "border-t border-[var(--tiger-border,#e5e7eb)]" : ""
215
+ ),
216
+ children: [
217
+ !isFirst ? /* @__PURE__ */ jsx(
218
+ Button,
219
+ {
220
+ htmlType: "button",
221
+ variant: "secondary",
222
+ className: "group",
223
+ onClick: handlePrev,
224
+ size: size === "small" ? "sm" : "md",
225
+ icon: /* @__PURE__ */ jsx(ArrowLeftIcon, {}),
226
+ children: resolveLocaleText(labels.prevText, prevText)
227
+ }
228
+ ) : /* @__PURE__ */ jsx("div", {}),
229
+ /* @__PURE__ */ jsx(
230
+ Button,
231
+ {
232
+ htmlType: "button",
233
+ variant: "primary",
234
+ className: "group",
235
+ onClick: handleNext,
236
+ size: size === "small" ? "sm" : "md",
237
+ icon: isLast ? /* @__PURE__ */ jsx(CheckIcon, {}) : /* @__PURE__ */ jsx(ArrowRightIcon, {}),
238
+ iconPosition: isLast ? "left" : "right",
239
+ children: isLast ? resolveLocaleText(labels.finishText, finishText) : resolveLocaleText(labels.nextText, nextText)
240
+ }
241
+ )
242
+ ]
243
+ }
244
+ )
229
245
  ] });
230
246
  };
231
247
  var FormWizard_default = FormWizard;
@@ -72,6 +72,7 @@ var FormWizard = ({
72
72
  nextText,
73
73
  finishText,
74
74
  locale,
75
+ labels: labelsOverride,
75
76
  beforeNext,
76
77
  autoSave,
77
78
  onChange,
@@ -86,7 +87,10 @@ var FormWizard = ({
86
87
  () => _tigercatcore.mergeTigerLocale.call(void 0, config.locale, locale),
87
88
  [config.locale, locale]
88
89
  );
89
- const labels = _react.useMemo.call(void 0, () => _tigercatcore.getFormWizardLabels.call(void 0, mergedLocale), [mergedLocale]);
90
+ const labels = _react.useMemo.call(void 0,
91
+ () => _tigercatcore.getFormWizardLabels.call(void 0, mergedLocale, labelsOverride),
92
+ [mergedLocale, labelsOverride]
93
+ );
90
94
  const [innerCurrent, setInnerCurrent] = _react.useState.call(void 0, defaultCurrent);
91
95
  _react.useEffect.call(void 0, () => {
92
96
  if (current !== void 0) setInnerCurrent(current);
@@ -180,52 +184,64 @@ var FormWizard = ({
180
184
  [steps]
181
185
  );
182
186
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: wrapperClasses, style, "data-tiger-form-wizard": true, ...props, children: [
183
- showSteps && steps.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.classNames.call(void 0,
184
- "px-6 py-5 bg-[var(--tiger-surface-muted,#f9fafb)]/95 backdrop-blur-sm transition-all duration-300",
185
- bordered ? "border-b border-[var(--tiger-border,#e5e7eb)]" : ""
186
- ), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
187
- _chunkM7HBWFQOjs.Steps,
187
+ showSteps && steps.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
188
+ "div",
188
189
  {
189
- current: currentIndex,
190
- direction,
191
- size,
192
- simple,
193
- clickable,
194
- onChange: handleStepChange,
195
- children: stepsNodes
190
+ className: _tigercatcore.classNames.call(void 0,
191
+ "px-6 py-5 bg-[var(--tiger-surface-muted,#f9fafb)]/95 backdrop-blur-sm transition-all duration-300",
192
+ bordered ? "border-b border-[var(--tiger-border,#e5e7eb)]" : ""
193
+ ),
194
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
195
+ _chunkM7HBWFQOjs.Steps,
196
+ {
197
+ current: currentIndex,
198
+ direction,
199
+ size,
200
+ simple,
201
+ clickable,
202
+ onChange: handleStepChange,
203
+ children: stepsNodes
204
+ }
205
+ )
196
206
  }
197
- ) }),
207
+ ),
198
208
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-8 py-6 flex flex-col items-center w-full min-h-[120px] transition-all duration-300", children: contentNode }),
199
- showActions && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _tigercatcore.classNames.call(void 0,
200
- "flex items-center justify-between gap-3 px-8 py-4 bg-[var(--tiger-surface-muted,#f9fafb)]/95 backdrop-blur-sm transition-all duration-300",
201
- bordered ? "border-t border-[var(--tiger-border,#e5e7eb)]" : ""
202
- ), children: [
203
- !isFirst ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
204
- _chunk56ZV3VVYjs.Button,
205
- {
206
- htmlType: "button",
207
- variant: "secondary",
208
- className: "group",
209
- onClick: handlePrev,
210
- size: size === "small" ? "sm" : "md",
211
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ArrowLeftIcon, {}),
212
- children: _tigercatcore.resolveLocaleText.call(void 0, labels.prevText, prevText)
213
- }
214
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {}),
215
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
216
- _chunk56ZV3VVYjs.Button,
217
- {
218
- htmlType: "button",
219
- variant: "primary",
220
- className: "group",
221
- onClick: handleNext,
222
- size: size === "small" ? "sm" : "md",
223
- icon: isLast ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CheckIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ArrowRightIcon, {}),
224
- iconPosition: isLast ? "left" : "right",
225
- children: isLast ? _tigercatcore.resolveLocaleText.call(void 0, labels.finishText, finishText) : _tigercatcore.resolveLocaleText.call(void 0, labels.nextText, nextText)
226
- }
227
- )
228
- ] })
209
+ showActions && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
210
+ "div",
211
+ {
212
+ className: _tigercatcore.classNames.call(void 0,
213
+ "flex items-center justify-between gap-3 px-8 py-4 bg-[var(--tiger-surface-muted,#f9fafb)]/95 backdrop-blur-sm transition-all duration-300",
214
+ bordered ? "border-t border-[var(--tiger-border,#e5e7eb)]" : ""
215
+ ),
216
+ children: [
217
+ !isFirst ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
218
+ _chunk56ZV3VVYjs.Button,
219
+ {
220
+ htmlType: "button",
221
+ variant: "secondary",
222
+ className: "group",
223
+ onClick: handlePrev,
224
+ size: size === "small" ? "sm" : "md",
225
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ArrowLeftIcon, {}),
226
+ children: _tigercatcore.resolveLocaleText.call(void 0, labels.prevText, prevText)
227
+ }
228
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {}),
229
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
230
+ _chunk56ZV3VVYjs.Button,
231
+ {
232
+ htmlType: "button",
233
+ variant: "primary",
234
+ className: "group",
235
+ onClick: handleNext,
236
+ size: size === "small" ? "sm" : "md",
237
+ icon: isLast ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CheckIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ArrowRightIcon, {}),
238
+ iconPosition: isLast ? "left" : "right",
239
+ children: isLast ? _tigercatcore.resolveLocaleText.call(void 0, labels.finishText, finishText) : _tigercatcore.resolveLocaleText.call(void 0, labels.nextText, nextText)
240
+ }
241
+ )
242
+ ]
243
+ }
244
+ )
229
245
  ] });
230
246
  };
231
247
  var FormWizard_default = FormWizard;
@@ -271,6 +271,7 @@ var TaskBoard = ({
271
271
  renderColumnFooter,
272
272
  renderEmptyColumn,
273
273
  locale,
274
+ labels: labelsOverride,
274
275
  className,
275
276
  style,
276
277
  ...rest
@@ -280,7 +281,10 @@ var TaskBoard = ({
280
281
  () => _tigercatcore.mergeTigerLocale.call(void 0, config.locale, locale),
281
282
  [config.locale, locale]
282
283
  );
283
- const labels = _react.useMemo.call(void 0, () => _tigercatcore.getTaskBoardLabels.call(void 0, mergedLocale), [mergedLocale]);
284
+ const labels = _react.useMemo.call(void 0,
285
+ () => _tigercatcore.getTaskBoardLabels.call(void 0, mergedLocale, labelsOverride),
286
+ [mergedLocale, labelsOverride]
287
+ );
284
288
  const [innerColumns, setInnerColumns] = _react.useState.call(void 0, defaultColumns);
285
289
  _react.useEffect.call(void 0, () => {
286
290
  if (controlledColumns !== void 0) setInnerColumns(controlledColumns);
@@ -1,3 +1,6 @@
1
+ import {
2
+ useTigerConfig
3
+ } from "./chunk-QAIBQHIO.mjs";
1
4
  import {
2
5
  renderBodyPortal,
3
6
  useBodyScrollLock,
@@ -30,7 +33,8 @@ import {
30
33
  resolveLocaleText,
31
34
  resolveSwipeGesture,
32
35
  restoreFocus,
33
- shouldCloseOnMaskClick
36
+ shouldCloseOnMaskClick,
37
+ mergeTigerLocale
34
38
  } from "@expcat/tigercat-core";
35
39
  import { jsx, jsxs } from "react/jsx-runtime";
36
40
  var CloseIcon = () => /* @__PURE__ */ jsx(
@@ -76,11 +80,17 @@ var Drawer = ({
76
80
  onAfterLeave,
77
81
  closeAriaLabel,
78
82
  locale,
83
+ labels,
79
84
  children,
80
85
  footer,
81
86
  style,
82
87
  ...rest
83
88
  }) => {
89
+ const config = useTigerConfig();
90
+ const mergedLocale = useMemo(
91
+ () => mergeTigerLocale(config.locale, locale),
92
+ [config.locale, locale]
93
+ );
84
94
  const [hasBeenOpened, setHasBeenOpened] = React.useState(open);
85
95
  const [deferredRendered, setDeferredRendered] = React.useState(open);
86
96
  useEffect(() => {
@@ -142,8 +152,9 @@ var Drawer = ({
142
152
  const resolvedCloseAriaLabel = resolveLocaleText(
143
153
  "Close drawer",
144
154
  closeAriaLabel,
145
- locale?.drawer?.closeAriaLabel,
146
- locale?.common?.closeText
155
+ labels?.closeAriaLabel,
156
+ mergedLocale?.drawer?.closeAriaLabel,
157
+ mergedLocale?.common?.closeText
147
158
  );
148
159
  useEffect(() => {
149
160
  if (open) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Modal
3
- } from "./chunk-AKDBQOKX.mjs";
3
+ } from "./chunk-RL6HARKE.mjs";
4
4
  import {
5
5
  ImageCropper
6
6
  } from "./chunk-SY23FAXK.mjs";
@@ -1,5 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 _chunkTDODFBBOjs = require('./chunk-TDODFBBO.js');
4
+
5
+
3
6
  var _chunk56ZV3VVYjs = require('./chunk-56ZV3VVY.js');
4
7
 
5
8
 
@@ -32,6 +35,7 @@ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
32
35
 
33
36
 
34
37
 
38
+
35
39
 
36
40
 
37
41
  var _tigercatcore = require('@expcat/tigercat-core');
@@ -61,10 +65,16 @@ var Modal = ({
61
65
  okText,
62
66
  cancelText,
63
67
  locale,
68
+ labels,
64
69
  style,
65
70
  draggable: isDraggable = false,
66
71
  ...rest
67
72
  }) => {
73
+ const config = _chunkTDODFBBOjs.useTigerConfig.call(void 0, );
74
+ const mergedLocale = _react.useMemo.call(void 0,
75
+ () => _tigercatcore.mergeTigerLocale.call(void 0, config.locale, locale),
76
+ [config.locale, locale]
77
+ );
68
78
  const [hasBeenOpened, setHasBeenOpened] = _react2.default.useState(open);
69
79
  const [dragOffset, setDragOffset] = _react2.default.useState({ x: 0, y: 0 });
70
80
  _react.useEffect.call(void 0, () => {
@@ -126,20 +136,23 @@ var Modal = ({
126
136
  const resolvedCloseAriaLabel = _tigercatcore.resolveLocaleText.call(void 0,
127
137
  "Close",
128
138
  closeAriaLabel,
129
- _optionalChain([locale, 'optionalAccess', _6 => _6.modal, 'optionalAccess', _7 => _7.closeAriaLabel]),
130
- _optionalChain([locale, 'optionalAccess', _8 => _8.common, 'optionalAccess', _9 => _9.closeText])
139
+ _optionalChain([labels, 'optionalAccess', _6 => _6.closeAriaLabel]),
140
+ _optionalChain([mergedLocale, 'optionalAccess', _7 => _7.modal, 'optionalAccess', _8 => _8.closeAriaLabel]),
141
+ _optionalChain([mergedLocale, 'optionalAccess', _9 => _9.common, 'optionalAccess', _10 => _10.closeText])
131
142
  );
132
143
  const resolvedCancelText = _tigercatcore.resolveLocaleText.call(void 0,
133
144
  "\u53D6\u6D88",
134
145
  cancelText,
135
- _optionalChain([locale, 'optionalAccess', _10 => _10.modal, 'optionalAccess', _11 => _11.cancelText]),
136
- _optionalChain([locale, 'optionalAccess', _12 => _12.common, 'optionalAccess', _13 => _13.cancelText])
146
+ _optionalChain([labels, 'optionalAccess', _11 => _11.cancelText]),
147
+ _optionalChain([mergedLocale, 'optionalAccess', _12 => _12.modal, 'optionalAccess', _13 => _13.cancelText]),
148
+ _optionalChain([mergedLocale, 'optionalAccess', _14 => _14.common, 'optionalAccess', _15 => _15.cancelText])
137
149
  );
138
150
  const resolvedOkText = _tigercatcore.resolveLocaleText.call(void 0,
139
151
  "\u786E\u5B9A",
140
152
  okText,
141
- _optionalChain([locale, 'optionalAccess', _14 => _14.modal, 'optionalAccess', _15 => _15.okText]),
142
- _optionalChain([locale, 'optionalAccess', _16 => _16.common, 'optionalAccess', _17 => _17.okText])
153
+ _optionalChain([labels, 'optionalAccess', _16 => _16.okText]),
154
+ _optionalChain([mergedLocale, 'optionalAccess', _17 => _17.modal, 'optionalAccess', _18 => _18.okText]),
155
+ _optionalChain([mergedLocale, 'optionalAccess', _19 => _19.common, 'optionalAccess', _20 => _20.okText])
143
156
  );
144
157
  const reactId = _react.useId.call(void 0, );
145
158
  const modalId = _react.useMemo.call(void 0, () => `tiger-modal-${reactId}`, [reactId]);
@@ -175,7 +188,7 @@ var Modal = ({
175
188
  }, []);
176
189
  const handleTouchStart = _react.useCallback.call(void 0,
177
190
  (event) => {
178
- _optionalChain([dialogDivProps, 'access', _18 => _18.onTouchStart, 'optionalCall', _19 => _19(event)]);
191
+ _optionalChain([dialogDivProps, 'access', _21 => _21.onTouchStart, 'optionalCall', _22 => _22(event)]);
179
192
  if (!open || !mobileSheet) return;
180
193
  const point = _tigercatcore.getGestureTouchPoint.call(void 0, event.touches);
181
194
  touchStartRef.current = point;
@@ -185,7 +198,7 @@ var Modal = ({
185
198
  );
186
199
  const handleTouchMove = _react.useCallback.call(void 0,
187
200
  (event) => {
188
- _optionalChain([dialogDivProps, 'access', _20 => _20.onTouchMove, 'optionalCall', _21 => _21(event)]);
201
+ _optionalChain([dialogDivProps, 'access', _23 => _23.onTouchMove, 'optionalCall', _24 => _24(event)]);
189
202
  if (!touchStartRef.current) return;
190
203
  const point = _tigercatcore.getGestureTouchPoint.call(void 0, event.touches);
191
204
  if (point) {
@@ -196,7 +209,7 @@ var Modal = ({
196
209
  );
197
210
  const handleTouchEnd = _react.useCallback.call(void 0,
198
211
  (event) => {
199
- _optionalChain([dialogDivProps, 'access', _22 => _22.onTouchEnd, 'optionalCall', _23 => _23(event)]);
212
+ _optionalChain([dialogDivProps, 'access', _25 => _25.onTouchEnd, 'optionalCall', _26 => _26(event)]);
200
213
  const gesture = _tigercatcore.resolveSwipeGesture.call(void 0,
201
214
  touchStartRef.current,
202
215
  _nullishCoalesce(_tigercatcore.getGestureTouchPoint.call(void 0, event.changedTouches), () => ( touchCurrentRef.current)),
@@ -211,7 +224,7 @@ var Modal = ({
211
224
  );
212
225
  const handleTouchCancel = _react.useCallback.call(void 0,
213
226
  (event) => {
214
- _optionalChain([dialogDivProps, 'access', _24 => _24.onTouchCancel, 'optionalCall', _25 => _25(event)]);
227
+ _optionalChain([dialogDivProps, 'access', _27 => _27.onTouchCancel, 'optionalCall', _28 => _28(event)]);
215
228
  resetTouchGesture();
216
229
  },
217
230
  [dialogDivProps, resetTouchGesture]
@@ -1,3 +1,7 @@
1
+ import {
2
+ useTigerConfig
3
+ } from "./chunk-QAIBQHIO.mjs";
4
+
1
5
  // src/components/Pagination.tsx
2
6
  import { useState, useCallback, useEffect, useMemo, useRef } from "react";
3
7
  import {
@@ -24,7 +28,8 @@ import {
24
28
  getPaginationJumperPage,
25
29
  getValidatedPaginationJumperValue,
26
30
  isLazyTigerLocale,
27
- resolveTigerLocale
31
+ resolveTigerLocale,
32
+ mergeTigerLocale
28
33
  } from "@expcat/tigercat-core";
29
34
  import { jsx, jsxs } from "react/jsx-runtime";
30
35
  var Pagination = ({
@@ -50,9 +55,11 @@ var Pagination = ({
50
55
  onChange,
51
56
  onPageSizeChange,
52
57
  locale,
58
+ labels: labelsOverride,
53
59
  ...props
54
60
  }) => {
55
61
  const { "aria-label": ariaLabelProp, ...navProps } = props;
62
+ const config = useTigerConfig();
56
63
  const immediateLocale = useMemo(() => getImmediateTigerLocale(locale), [locale]);
57
64
  const [loadedLocale, setLoadedLocale] = useState(
58
65
  immediateLocale
@@ -72,9 +79,16 @@ var Pagination = ({
72
79
  };
73
80
  }, [locale, immediateLocale]);
74
81
  const resolvedLocale = isLazyTigerLocale(locale) ? loadedLocale : immediateLocale;
75
- const labels = useMemo(() => getPaginationLabels(resolvedLocale), [resolvedLocale]);
76
- const localeCode = resolvedLocale?.locale;
77
- const isRtl = getLocaleDirection(resolvedLocale) === "rtl";
82
+ const mergedLocale = useMemo(
83
+ () => mergeTigerLocale(config.locale, resolvedLocale),
84
+ [config.locale, resolvedLocale]
85
+ );
86
+ const labels = useMemo(
87
+ () => getPaginationLabels(mergedLocale, labelsOverride),
88
+ [mergedLocale, labelsOverride]
89
+ );
90
+ const localeCode = mergedLocale?.locale;
91
+ const isRtl = getLocaleDirection(mergedLocale) === "rtl";
78
92
  const [internalCurrent, setInternalCurrent] = useState(defaultCurrent);
79
93
  const [internalPageSize, setInternalPageSize] = useState(defaultPageSize);
80
94
  const [quickJumperValue, setQuickJumperValue] = useState("");
@@ -176,7 +190,7 @@ var Pagination = ({
176
190
  const nextDisabled = validatedCurrentPage >= totalPages || disabled;
177
191
  const elements = [];
178
192
  if (showTotal) {
179
- const totalTextFn = totalText || (resolvedLocale?.pagination?.totalText ? (value, range) => formatPaginationTotal(labels.totalText, value, range, localeCode) : defaultTotalText);
193
+ const totalTextFn = totalText || (labelsOverride?.totalText || mergedLocale?.pagination?.totalText ? (value, range) => formatPaginationTotal(labels.totalText, value, range, localeCode) : defaultTotalText);
180
194
  elements.push(
181
195
  /* @__PURE__ */ jsx("span", { className: getTotalTextClasses(size), children: totalTextFn(total, pageRange) }, "total")
182
196
  );
@@ -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 _chunkSXHP4Q7Ojs = require('./chunk-SXHP4Q7O.js');
3
+ var _chunkDSXII6ZFjs = require('./chunk-DSXII6ZF.js');
4
4
 
5
5
 
6
6
  var _chunkFI53LYZ6js = require('./chunk-FI53LYZ6.js');
@@ -140,7 +140,7 @@ var CropUpload = ({
140
140
  }
141
141
  ),
142
142
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
143
- _chunkSXHP4Q7Ojs.Modal,
143
+ _chunkDSXII6ZFjs.Modal,
144
144
  {
145
145
  open: modalVisible,
146
146
  size: "lg",
@@ -271,6 +271,7 @@ var TaskBoard = ({
271
271
  renderColumnFooter,
272
272
  renderEmptyColumn,
273
273
  locale,
274
+ labels: labelsOverride,
274
275
  className,
275
276
  style,
276
277
  ...rest
@@ -280,7 +281,10 @@ var TaskBoard = ({
280
281
  () => mergeTigerLocale(config.locale, locale),
281
282
  [config.locale, locale]
282
283
  );
283
- const labels = useMemo(() => getTaskBoardLabels(mergedLocale), [mergedLocale]);
284
+ const labels = useMemo(
285
+ () => getTaskBoardLabels(mergedLocale, labelsOverride),
286
+ [mergedLocale, labelsOverride]
287
+ );
284
288
  const [innerColumns, setInnerColumns] = useState(defaultColumns);
285
289
  useEffect(() => {
286
290
  if (controlledColumns !== void 0) setInnerColumns(controlledColumns);
@@ -1,6 +1,6 @@
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 _chunkVAZYY35Fjs = require('./chunk-VAZYY35F.js');
3
+ var _chunkMIINT2WVjs = require('./chunk-MIINT2WV.js');
4
4
 
5
5
 
6
6
  var _chunk6Z4LLPZAjs = require('./chunk-6Z4LLPZA.js');
@@ -248,7 +248,7 @@ var DataTableWithToolbar = ({
248
248
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: wrapperClasses, "data-tiger-data-table-with-toolbar": true, children: [
249
249
  renderToolbar(),
250
250
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
251
- _chunkVAZYY35Fjs.Table,
251
+ _chunkMIINT2WVjs.Table,
252
252
  {
253
253
  ...remainingTableProps,
254
254
  bordered,
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkFXVKJWUPjs = require('./chunk-FXVKJWUP.js');
3
+ var _chunkANN5P7TJjs = require('./chunk-ANN5P7TJ.js');
4
4
 
5
5
  // src/components/Kanban.tsx
6
6
  var _jsxruntime = require('react/jsx-runtime');
@@ -11,7 +11,7 @@ var Kanban = ({
11
11
  ...props
12
12
  }) => {
13
13
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14
- _chunkFXVKJWUPjs.TaskBoard,
14
+ _chunkANN5P7TJjs.TaskBoard,
15
15
  {
16
16
  showCardCount,
17
17
  allowAddCard,