@appcorp/stellar-solutions-modules 0.1.54 → 0.1.56

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 (112) hide show
  1. package/global-modules/bank/bank.d.ts +7 -1
  2. package/global-modules/bank/bank.js +8 -22
  3. package/global-modules/bank/constants.js +5 -5
  4. package/global-modules/bank/context.js +40 -42
  5. package/global-modules/bank/drawer.d.ts +0 -4
  6. package/global-modules/bank/drawer.js +10 -8
  7. package/global-modules/bank/form.d.ts +0 -3
  8. package/global-modules/bank/form.js +18 -15
  9. package/global-modules/bank/types.d.ts +1 -1
  10. package/global-modules/bank/validate.js +2 -2
  11. package/global-modules/branch/branch.d.ts +7 -1
  12. package/global-modules/branch/branch.js +8 -22
  13. package/global-modules/branch/constants.js +1 -1
  14. package/global-modules/branch/context.js +36 -22
  15. package/global-modules/branch/drawer.d.ts +0 -4
  16. package/global-modules/branch/drawer.js +10 -8
  17. package/global-modules/branch/form.d.ts +0 -3
  18. package/global-modules/branch/form.js +13 -14
  19. package/global-modules/branch/types.d.ts +1 -1
  20. package/global-modules/branch/validate.js +6 -6
  21. package/global-modules/payment-mode/constants.js +1 -1
  22. package/global-modules/payment-mode/context.js +8 -10
  23. package/global-modules/payment-mode/drawer.d.ts +0 -4
  24. package/global-modules/payment-mode/drawer.js +10 -8
  25. package/global-modules/payment-mode/form.d.ts +0 -3
  26. package/global-modules/payment-mode/form.js +8 -9
  27. package/global-modules/payment-mode/payment-mode.d.ts +1 -1
  28. package/global-modules/payment-mode/payment-mode.js +40 -44
  29. package/global-modules/payment-mode/types.d.ts +1 -1
  30. package/global-modules/payment-mode/validate.js +2 -2
  31. package/global-modules/preferences/constants.d.ts +0 -4
  32. package/global-modules/preferences/constants.js +14 -17
  33. package/global-modules/preferences/currency.js +2 -2
  34. package/global-modules/preferences/preferences.js +2 -6
  35. package/global-modules/tax/constants.js +1 -1
  36. package/global-modules/tax/context.js +6 -3
  37. package/global-modules/tax/drawer.d.ts +0 -4
  38. package/global-modules/tax/drawer.js +10 -8
  39. package/global-modules/tax/form.d.ts +0 -4
  40. package/global-modules/tax/form.js +8 -9
  41. package/global-modules/tax/tax.d.ts +1 -1
  42. package/global-modules/tax/tax.js +39 -43
  43. package/global-modules/tax/types.d.ts +1 -1
  44. package/index.d.ts +0 -30
  45. package/index.js +0 -46
  46. package/lib/toast-utils.d.ts +0 -44
  47. package/lib/toast-utils.js +240 -212
  48. package/lib/utils.d.ts +0 -2
  49. package/lib/utils.js +5 -12
  50. package/package.json +6 -7
  51. package/components/theme-provider.d.ts +0 -9
  52. package/components/theme-provider.js +0 -122
  53. package/components/theme-switcher.d.ts +0 -4
  54. package/components/theme-switcher.js +0 -60
  55. package/components/ui/badge.d.ts +0 -9
  56. package/components/ui/badge.js +0 -82
  57. package/components/ui/button.d.ts +0 -10
  58. package/components/ui/button.js +0 -91
  59. package/components/ui/card.d.ts +0 -9
  60. package/components/ui/card.js +0 -94
  61. package/components/ui/carousel.d.ts +0 -19
  62. package/components/ui/carousel.js +0 -168
  63. package/components/ui/checkbox.d.ts +0 -9
  64. package/components/ui/checkbox.js +0 -87
  65. package/components/ui/combobox.d.ts +0 -70
  66. package/components/ui/combobox.js +0 -315
  67. package/components/ui/command.d.ts +0 -18
  68. package/components/ui/command.js +0 -115
  69. package/components/ui/dialog.d.ts +0 -15
  70. package/components/ui/dialog.js +0 -118
  71. package/components/ui/drawer.d.ts +0 -13
  72. package/components/ui/drawer.js +0 -115
  73. package/components/ui/dropdown-menu.d.ts +0 -25
  74. package/components/ui/dropdown-menu.js +0 -148
  75. package/components/ui/enhanced-dropzone.d.ts +0 -21
  76. package/components/ui/enhanced-dropzone.js +0 -187
  77. package/components/ui/enhanced-table-footer-action.d.ts +0 -35
  78. package/components/ui/enhanced-table-footer-action.js +0 -110
  79. package/components/ui/enhanced-table-footer-page.d.ts +0 -34
  80. package/components/ui/enhanced-table-footer-page.js +0 -132
  81. package/components/ui/enhanced-table-footer-pagination.d.ts +0 -38
  82. package/components/ui/enhanced-table-footer-pagination.js +0 -116
  83. package/components/ui/enhanced-table-header-action.d.ts +0 -7
  84. package/components/ui/enhanced-table-header-action.js +0 -21
  85. package/components/ui/enhanced-table-header-search.d.ts +0 -12
  86. package/components/ui/enhanced-table-header-search.js +0 -17
  87. package/components/ui/enhanced-table.d.ts +0 -87
  88. package/components/ui/enhanced-table.js +0 -221
  89. package/components/ui/form.d.ts +0 -24
  90. package/components/ui/form.js +0 -125
  91. package/components/ui/input.d.ts +0 -8
  92. package/components/ui/input.js +0 -86
  93. package/components/ui/label.d.ts +0 -7
  94. package/components/ui/label.js +0 -68
  95. package/components/ui/popover.d.ts +0 -7
  96. package/components/ui/popover.js +0 -82
  97. package/components/ui/select.d.ts +0 -15
  98. package/components/ui/select.js +0 -127
  99. package/components/ui/separator.d.ts +0 -4
  100. package/components/ui/separator.js +0 -66
  101. package/components/ui/shadcn-io/color-picker/index.d.ts +0 -43
  102. package/components/ui/shadcn-io/color-picker/index.js +0 -304
  103. package/components/ui/shadcn-io/dropzone/index.d.ts +0 -19
  104. package/components/ui/shadcn-io/dropzone/index.js +0 -131
  105. package/components/ui/sonner.d.ts +0 -4
  106. package/components/ui/sonner.js +0 -54
  107. package/components/ui/switch.d.ts +0 -9
  108. package/components/ui/switch.js +0 -89
  109. package/components/ui/table.d.ts +0 -10
  110. package/components/ui/table.js +0 -101
  111. package/components/ui/textarea.d.ts +0 -8
  112. package/components/ui/textarea.js +0 -86
@@ -1,2 +1,8 @@
1
1
  import { FC } from "react";
2
- export declare const Bank: FC;
2
+ interface Props {
3
+ params: Promise<{
4
+ locale: "en" | "ur";
5
+ }>;
6
+ }
7
+ export declare const BankPage: FC<Props>;
8
+ export {};
@@ -1,37 +1,23 @@
1
+ "use client";
1
2
  "use strict";
2
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
5
  };
5
6
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Bank = void 0;
7
+ exports.BankPage = void 0;
7
8
  var react_1 = __importDefault(require("react"));
8
9
  var next_intl_1 = require("next-intl");
9
10
  var util_functions_1 = require("@react-pakistan/util-functions");
10
11
  var use_rtl_1 = require("../../hooks/use-rtl");
11
- var enhanced_table_1 = require("../../components/ui/enhanced-table");
12
- var sonner_1 = require("../../components/ui/sonner");
12
+ var enhanced_table_1 = require("@appcorp/shadcn/components/enhanced-table");
13
+ var sonner_1 = require("@appcorp/shadcn/components/sonner");
13
14
  var constants_1 = require("./constants");
14
15
  var context_1 = require("./context");
15
16
  var drawer_1 = require("./drawer");
16
- var Bank = function () {
17
- var _a = (0, context_1.useBankStateContext)(), banks = _a.banks, count = _a.count, currentPage = _a.currentPage, handleNextClick = _a.handleNextClick, handlePageLimit = _a.handlePageLimit, handlePreviousClick = _a.handlePreviousClick, headerActions = _a.headerActions, listLoading = _a.listLoading, pageLimit = _a.pageLimit, rowActions = _a.rowActions, searchOnChange = _a.searchOnChange, searchQuery = _a.searchQuery;
17
+ var BankPage = function () {
18
18
  var t = (0, next_intl_1.useTranslations)("bank");
19
+ var _a = (0, context_1.useBankStateContext)(), banks = _a.banks, count = _a.count, currentPage = _a.currentPage, handleNextClick = _a.handleNextClick, handlePageLimit = _a.handlePageLimit, handlePreviousClick = _a.handlePreviousClick, headerActions = _a.headerActions, listLoading = _a.listLoading, pageLimit = _a.pageLimit, rowActions = _a.rowActions, searchOnChange = _a.searchOnChange, searchQuery = _a.searchQuery;
19
20
  var isRTL = (0, use_rtl_1.useRTL)();
20
- var translationMap = {
21
- formLabelBankName: t("formLabelBankName"),
22
- formLabelBankAddress: t("formLabelBankAddress"),
23
- formLabelAccountTitle: t("formLabelAccountTitle"),
24
- formLabelAccountNumber: t("formLabelAccountNumber"),
25
- formLabelIBAN: t("formLabelIBAN"),
26
- formLabelSwiftCode: t("formLabelSwiftCode"),
27
- headingFormCreate: t("headingFormCreate"),
28
- srCloseDrawer: t("srCloseDrawer"),
29
- cancelBtn: t("cancelBtn"),
30
- saveBtn: t("saveBtn"),
31
- enableDescription: t("enableDescription"),
32
- setAsDefault: t("setAsDefault"),
33
- defaultDescription: t("defaultDescription"),
34
- };
35
21
  var tableHeadItems = [
36
22
  {
37
23
  label: t("tableColumnHeaderId"),
@@ -77,7 +63,7 @@ var Bank = function () {
77
63
  var totalPages = (0, util_functions_1.calculatePages)(count, pageLimit);
78
64
  return (react_1.default.createElement("div", { className: "space-y-4 ".concat(isRTL ? "rtl" : "ltr"), dir: isRTL ? "rtl" : "ltr" },
79
65
  react_1.default.createElement(enhanced_table_1.EnhancedTable, { currentPage: Number(currentPage), handleNextOnClick: handleNextClick, handleOnSelect: handlePageLimit, handlePreviousOnClick: handlePreviousClick, handleSearchInput: searchOnChange, headerActions: headerActions, isNextDisabled: (0, util_functions_1.isNextButtonDisabled)(currentPage, totalPages), isPreviousDisabled: (0, util_functions_1.isPreviousButtonDisabled)(currentPage), listOptions: (0, util_functions_1.getAvailablePageLimits)(count), loading: listLoading, nodeSelectKey: "pageLimit", pageLimit: pageLimit, rowActions: rowActions, searchDisabled: false, searchEnabled: true, searchId: "bank-search", searchPlaceholder: t("tableSearchPlaceholder"), searchValue: searchQuery, tableBodyCols: constants_1.tableBodyCols, tableBodyRows: banks, tableDescription: t("tableDescription"), tableHeadItems: tableHeadItems, tableHeading: t("tableTitle"), totalPages: Number(totalPages) }),
80
- react_1.default.createElement(drawer_1.BankDrawer, { isRTL: isRTL, translationMap: translationMap }),
66
+ react_1.default.createElement(drawer_1.BankDrawer, { isRTL: isRTL }),
81
67
  react_1.default.createElement(sonner_1.Toaster, null)));
82
68
  };
83
- exports.Bank = Bank;
69
+ exports.BankPage = BankPage;
@@ -51,12 +51,16 @@ exports.tableBodyCols = [
51
51
  },
52
52
  {
53
53
  componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
54
- key: "accountNumber",
54
+ key: "bankAddress",
55
55
  },
56
56
  {
57
57
  componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
58
58
  key: "accountTitle",
59
59
  },
60
+ {
61
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
62
+ key: "accountNumber",
63
+ },
60
64
  {
61
65
  componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
62
66
  key: "iban",
@@ -73,10 +77,6 @@ exports.tableBodyCols = [
73
77
  componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.BOOLEAN,
74
78
  key: "isDefault",
75
79
  },
76
- {
77
- componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
78
- key: "createdAt",
79
- },
80
80
  {
81
81
  componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.ACTIONS,
82
82
  key: "action",
@@ -84,10 +84,9 @@ var util_functions_1 = require("@react-pakistan/util-functions");
84
84
  var actions_1 = require("./actions");
85
85
  var constants_1 = require("./constants");
86
86
  var reducer_1 = require("./reducer");
87
- var toast_utils_1 = require("../../lib/toast-utils");
87
+ var toast_utils_1 = require("@appcorp/shadcn/lib/toast-utils");
88
88
  var types_1 = require("./types");
89
89
  var validate_1 = require("./validate");
90
- var context_1 = require("../preferences/context");
91
90
  // ============================================================================
92
91
  // MAIN HOOK
93
92
  // ============================================================================
@@ -96,7 +95,6 @@ var useBankState = function () {
96
95
  // STATE & CORE HOOKS
97
96
  // ---------------------------------------------------------------------------
98
97
  var _a = (0, react_1.useReducer)(reducer_1.bankReducer, reducer_1.initialBankState), state = _a[0], dispatch = _a[1];
99
- var activeTab = (0, context_1.usePreferenceStateContext)().activeTab;
100
98
  var theme = (0, next_themes_1.useTheme)().theme;
101
99
  var t = (0, next_intl_1.useTranslations)("bank");
102
100
  var tCommon = (0, next_intl_1.useTranslations)("common");
@@ -122,6 +120,7 @@ var useBankState = function () {
122
120
  iban: state.iban,
123
121
  swiftCode: state.swiftCode,
124
122
  isDefault: state.isDefault,
123
+ preferenceId: "preference-1",
125
124
  }); }, [
126
125
  state.id,
127
126
  state.accountNumber,
@@ -158,25 +157,24 @@ var useBankState = function () {
158
157
  var listCallback = (0, react_1.useCallback)(function (_a) {
159
158
  var data = _a.data, error = _a.error;
160
159
  if (error) {
161
- showErrorToast(tCommon("messagesNetworkError"));
160
+ showErrorToast(t("messagesNetworkError"));
162
161
  return;
163
162
  }
164
- if (data) {
165
- var banks = data.data, count = data.count;
163
+ if (data === null || data === void 0 ? void 0 : data.items) {
166
164
  dispatch({
167
165
  type: actions_1.BANK_ACTION_TYPES.SET_BANKS,
168
- payload: { banks: banks || [] },
166
+ payload: { banks: data.items },
169
167
  });
170
168
  dispatch({
171
169
  type: actions_1.BANK_ACTION_TYPES.SET_COUNT,
172
- payload: { count: count || 0 },
170
+ payload: { count: data === null || data === void 0 ? void 0 : data.count },
173
171
  });
174
172
  }
175
- }, [showErrorToast, tCommon]);
173
+ }, [showErrorToast, t]);
176
174
  var updateCallback = (0, react_1.useCallback)(function (_a) {
177
175
  var data = _a.data, error = _a.error;
178
176
  if (error) {
179
- showErrorToast(tCommon("messagesNetworkError"));
177
+ showErrorToast(t("messagesNetworkError"));
180
178
  return;
181
179
  }
182
180
  if (data) {
@@ -192,11 +190,11 @@ var useBankState = function () {
192
190
  payload: { drawer: null },
193
191
  });
194
192
  }
195
- }, [showErrorToast, showSuccessToast, t, tCommon]);
193
+ }, [showErrorToast, showSuccessToast, t]);
196
194
  var deleteCallback = (0, react_1.useCallback)(function (_a) {
197
195
  var data = _a.data, error = _a.error;
198
196
  if (error) {
199
- showErrorToast(tCommon("messagesNetworkError"));
197
+ showErrorToast(typeof "messagesNetworkError");
200
198
  return;
201
199
  }
202
200
  if (data) {
@@ -205,11 +203,11 @@ var useBankState = function () {
205
203
  type: actions_1.BANK_ACTION_TYPES.RESET_FORM,
206
204
  });
207
205
  }
208
- }, [showErrorToast, showSuccessToast, t, tCommon]);
206
+ }, [showErrorToast, showSuccessToast, t]);
209
207
  var byIdCallback = (0, react_1.useCallback)(function (_a) {
210
208
  var data = _a.data, error = _a.error;
211
209
  if (error) {
212
- showErrorToast(tCommon("messagesNetworkError"));
210
+ showErrorToast(t("messagesNetworkError"));
213
211
  return;
214
212
  }
215
213
  if (data) {
@@ -218,7 +216,7 @@ var useBankState = function () {
218
216
  payload: { form: data },
219
217
  });
220
218
  }
221
- }, [showErrorToast, tCommon]);
219
+ }, [showErrorToast, t]);
222
220
  // ---------------------------------------------------------------------------
223
221
  // MODULE ENTITY HOOK
224
222
  // ---------------------------------------------------------------------------
@@ -241,17 +239,16 @@ var useBankState = function () {
241
239
  // EFFECTS (list refresh)
242
240
  // ---------------------------------------------------------------------------
243
241
  (0, react_1.useEffect)(function () {
244
- if (activeTab === "banking") {
245
- listFetchNow();
246
- }
247
- }, [activeTab, listFetchNow]);
242
+ listFetchNow();
243
+ // eslint-disable-next-line react-hooks/exhaustive-deps
244
+ }, [debouncedQuery, state.currentPage, state.pageLimit]);
248
245
  // ---------------------------------------------------------------------------
249
246
  // DRAWER & MODAL HANDLERS
250
247
  // ---------------------------------------------------------------------------
251
- var closeDrawer = (0, react_1.useCallback)(function () {
248
+ var closeDrawer = function () {
252
249
  dispatch({ type: actions_1.BANK_ACTION_TYPES.SET_DRAWER, payload: { drawer: null } });
253
250
  dispatch({ type: actions_1.BANK_ACTION_TYPES.RESET_FORM });
254
- }, []);
251
+ };
255
252
  // ---------------------------------------------------------------------------
256
253
  // CRUD OPERATION HANDLERS
257
254
  // ---------------------------------------------------------------------------
@@ -296,6 +293,9 @@ var useBankState = function () {
296
293
  // FORM HANDLERS
297
294
  // ---------------------------------------------------------------------------
298
295
  var handleInputChange = (0, react_1.useCallback)(function (key, value) {
296
+ dispatch({
297
+ type: actions_1.BANK_ACTION_TYPES.RESET_ERRORS,
298
+ });
299
299
  dispatch({
300
300
  type: actions_1.BANK_ACTION_TYPES.SET_INPUT_FIELD,
301
301
  payload: { key: key, value: value },
@@ -310,63 +310,61 @@ var useBankState = function () {
310
310
  },
311
311
  errorCallback: function (errors) {
312
312
  dispatch({ type: actions_1.BANK_ACTION_TYPES.SET_ERRORS, payload: { errors: errors } });
313
- (0, toast_utils_1.generateThemeToast)({
314
- variant: toast_utils_1.TOAST_VARIANT.ERROR,
315
- description: tCommon("messagesValidationError"),
316
- });
313
+ showErrorToast(tCommon("messagesValidationError"));
317
314
  },
318
315
  });
319
- }, [updateParams, updateFetchNow, tCommon]);
316
+ }, [updateParams, updateFetchNow, showErrorToast, tCommon]);
320
317
  // ---------------------------------------------------------------------------
321
318
  // PAGINATION HANDLERS
322
319
  // ---------------------------------------------------------------------------
323
- var handleNextClick = (0, react_1.useCallback)(function () {
320
+ var handleNextClick = function () {
324
321
  dispatch({
325
322
  type: actions_1.BANK_ACTION_TYPES.SET_CURRENT_PAGE,
326
323
  payload: { currentPage: state.currentPage + 1 },
327
324
  });
328
- }, [state.currentPage]);
329
- var handlePreviousClick = (0, react_1.useCallback)(function () {
325
+ };
326
+ var handlePreviousClick = function () {
330
327
  dispatch({
331
328
  type: actions_1.BANK_ACTION_TYPES.SET_CURRENT_PAGE,
332
329
  payload: { currentPage: state.currentPage - 1 },
333
330
  });
334
- }, [state.currentPage]);
335
- var handlePageLimit = (0, react_1.useCallback)(function (k, v) {
331
+ };
332
+ var handlePageLimit = function (k, v) {
333
+ var val = __assign({}, v);
336
334
  dispatch({
337
335
  type: actions_1.BANK_ACTION_TYPES.SET_PAGE_LIMIT,
338
- payload: { pageLimit: v },
336
+ payload: { pageLimit: Number(val.option) },
339
337
  });
340
- }, []);
338
+ };
341
339
  // ---------------------------------------------------------------------------
342
340
  // SEARCH HANDLERS
343
341
  // ---------------------------------------------------------------------------
344
- var searchOnChange = (0, react_1.useCallback)(function (k, v) {
342
+ var searchOnChange = function (k, v) {
345
343
  dispatch({
346
344
  type: actions_1.BANK_ACTION_TYPES.SET_SEARCH_QUERY,
347
345
  payload: { searchQuery: v },
348
346
  });
349
- }, []);
350
- var clearSearch = (0, react_1.useCallback)(function () {
347
+ };
348
+ var clearSearch = function () {
351
349
  dispatch({
352
350
  type: actions_1.BANK_ACTION_TYPES.SET_SEARCH_QUERY,
353
351
  payload: { searchQuery: "" },
354
352
  });
355
- }, []);
353
+ };
356
354
  // ---------------------------------------------------------------------------
357
355
  // TABLE ACTIONS (memoized)
358
356
  // ---------------------------------------------------------------------------
359
357
  var headerActions = (0, react_1.useMemo)(function () { return [
360
358
  {
361
- enabled: true,
359
+ enabled: false,
362
360
  handleOnClick: handleFilterDrawer,
363
- label: t("actionsButtonFilters"),
361
+ label: t("tableHeaderActionFilter"),
364
362
  order: 1,
365
363
  },
366
364
  {
367
365
  enabled: true,
368
366
  handleOnClick: handleCreate,
369
- label: t("actionsButtonAddItem"),
367
+ label: t("tableHeaderActionAddItem"),
370
368
  order: 2,
371
369
  },
372
370
  ]; }, [handleFilterDrawer, handleCreate, t]);
@@ -374,13 +372,13 @@ var useBankState = function () {
374
372
  {
375
373
  enabled: true,
376
374
  handleAction: handleEdit,
377
- label: t("actionsButtonEdit"),
375
+ label: t("tableHeaderActionEdit"),
378
376
  order: 1,
379
377
  },
380
378
  {
381
379
  enabled: true,
382
380
  handleAction: handleDelete,
383
- label: t("actionsButtonDelete"),
381
+ label: t("tableHeaderActionDelete"),
384
382
  order: 2,
385
383
  },
386
384
  ]; }, [handleEdit, handleDelete, t]);
@@ -22,10 +22,6 @@ import { FC } from "react";
22
22
  interface BankDrawerProps {
23
23
  /** Whether the interface is in RTL (Right-to-Left) mode */
24
24
  isRTL: boolean;
25
- /** Translation map for internationalization */
26
- translationMap: {
27
- [key: string]: string;
28
- };
29
25
  }
30
26
  export declare const BankDrawer: FC<BankDrawerProps>;
31
27
  export {};
@@ -26,10 +26,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.BankDrawer = void 0;
27
27
  var react_1 = __importDefault(require("react"));
28
28
  var lucide_react_1 = require("lucide-react");
29
- var button_1 = require("../../components/ui/button");
30
- var drawer_1 = require("../../components/ui/drawer");
29
+ var button_1 = require("@appcorp/shadcn/components/button");
30
+ var drawer_1 = require("@appcorp/shadcn/components/drawer");
31
31
  var context_1 = require("./context");
32
32
  var form_1 = require("./form");
33
+ var next_intl_1 = require("next-intl");
33
34
  // ============================================================================
34
35
  // CONSTANTS
35
36
  // ============================================================================
@@ -43,10 +44,11 @@ var getDrawerDirection = function (isRTL) {
43
44
  // COMPONENT
44
45
  // ============================================================================
45
46
  var BankDrawer = function (_a) {
47
+ var isRTL = _a.isRTL;
48
+ var t = (0, next_intl_1.useTranslations)("bank");
46
49
  // ============================================================================
47
50
  // HOOKS & STATE
48
51
  // ============================================================================
49
- var isRTL = _a.isRTL, translationMap = _a.translationMap;
50
52
  var _b = (0, context_1.useBankStateContext)(), closeDrawer = _b.closeDrawer, disableSaveButton = _b.disableSaveButton, drawer = _b.drawer, handleSubmit = _b.handleSubmit;
51
53
  // ============================================================================
52
54
  // COMPUTED VALUES
@@ -59,17 +61,17 @@ var BankDrawer = function (_a) {
59
61
  return (react_1.default.createElement(drawer_1.Drawer, { open: isDrawerOpen, onOpenChange: function (open) { return !open && closeDrawer(); }, direction: drawerDirection },
60
62
  react_1.default.createElement(drawer_1.DrawerContent, { className: "h-full ".concat(DRAWER_WIDTH, " ").concat(isRTL ? "rtl" : "ltr"), dir: isRTL ? "rtl" : "ltr" },
61
63
  react_1.default.createElement(drawer_1.DrawerHeader, { className: "flex-row items-center justify-between border-b pb-4 ".concat(isRTL ? "flex-row-reverse" : "") },
62
- react_1.default.createElement(drawer_1.DrawerTitle, { className: "text-xl font-semibold flex items-center ".concat(isRTL ? "flex-row-reverse gap-2" : "gap-2") }, (translationMap === null || translationMap === void 0 ? void 0 : translationMap.headingFormCreate) || "Create Bank"),
64
+ react_1.default.createElement(drawer_1.DrawerTitle, { className: "text-xl font-semibold flex items-center ".concat(isRTL ? "flex-row-reverse gap-2" : "gap-2") }, t("drawerTitleProduct")),
63
65
  react_1.default.createElement(drawer_1.DrawerClose, { asChild: true },
64
66
  react_1.default.createElement(button_1.Button, { variant: "ghost", size: "icon", className: "h-8 w-8" },
65
67
  react_1.default.createElement(lucide_react_1.X, { className: "h-4 w-4" }),
66
- react_1.default.createElement("span", { className: "sr-only" }, (translationMap === null || translationMap === void 0 ? void 0 : translationMap.srCloseDrawer) || "Close drawer")))),
68
+ react_1.default.createElement("span", { className: "sr-only" }, t("drawerButtonClose"))))),
67
69
  react_1.default.createElement("div", { className: "flex-1 overflow-y-auto px-4 py-6 ".concat(isRTL ? "text-right" : "text-left") },
68
- react_1.default.createElement(form_1.Form, { isRTL: isRTL, translationMap: translationMap })),
70
+ react_1.default.createElement(form_1.Form, { isRTL: isRTL })),
69
71
  react_1.default.createElement(drawer_1.DrawerFooter, { className: "border-t pt-4" },
70
72
  react_1.default.createElement("div", { className: "flex gap-2 ".concat(isRTL ? "flex-row-reverse" : "") },
71
- react_1.default.createElement(button_1.Button, { variant: "outline", onClick: closeDrawer, className: "flex-1", type: "button" }, (translationMap === null || translationMap === void 0 ? void 0 : translationMap.cancelBtn) || "Cancel"),
72
- react_1.default.createElement(button_1.Button, { onClick: handleSubmit, disabled: disableSaveButton, className: "flex-1", type: "button" }, (translationMap === null || translationMap === void 0 ? void 0 : translationMap.saveBtn) || "Save Bank"))))));
73
+ react_1.default.createElement(button_1.Button, { variant: "outline", onClick: closeDrawer, className: "flex-1", type: "button" }, t("drawerButtonClose")),
74
+ react_1.default.createElement(button_1.Button, { onClick: handleSubmit, disabled: disableSaveButton, className: "flex-1", type: "button" }, t("drawerButtonSave")))))));
73
75
  };
74
76
  exports.BankDrawer = BankDrawer;
75
77
  // ============================================================================
@@ -14,9 +14,6 @@
14
14
  import { FC } from "react";
15
15
  interface Props {
16
16
  isRTL: boolean;
17
- translationMap: {
18
- [key: string]: string;
19
- };
20
17
  }
21
18
  export declare const Form: FC<Props>;
22
19
  export {};
@@ -19,14 +19,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.Form = void 0;
20
20
  var react_1 = __importDefault(require("react"));
21
21
  var next_intl_1 = require("next-intl");
22
- var input_1 = require("../../components/ui/input");
23
- var switch_1 = require("../../components/ui/switch");
22
+ var input_1 = require("@appcorp/shadcn/components/input");
23
+ var switch_1 = require("@appcorp/shadcn/components/switch");
24
24
  var context_1 = require("./context");
25
25
  var Form = function (_a) {
26
- var isRTL = _a.isRTL, translationMap = _a.translationMap;
27
- var t = (0, next_intl_1.useTranslations)("bankPage");
28
- var ui = (0, next_intl_1.useTranslations)("ui");
29
- var _b = (0, context_1.useBankStateContext)(), accountNumber = _b.accountNumber, bankAddress = _b.bankAddress, bankName = _b.bankName, enabled = _b.enabled, errors = _b.errors, handleInputChange = _b.handleInputChange, iban = _b.iban, isDefault = _b.isDefault, swiftCode = _b.swiftCode;
26
+ var isRTL = _a.isRTL;
27
+ var t = (0, next_intl_1.useTranslations)("bank");
28
+ var _b = (0, context_1.useBankStateContext)(), accountNumber = _b.accountNumber, accountTitle = _b.accountTitle, bankAddress = _b.bankAddress, bankName = _b.bankName, enabled = _b.enabled, errors = _b.errors, handleInputChange = _b.handleInputChange, iban = _b.iban, isDefault = _b.isDefault, swiftCode = _b.swiftCode;
30
29
  // Helper function to translate validation error keys
31
30
  var getTranslatedError = function (key) {
32
31
  if (!errors[key])
@@ -41,22 +40,26 @@ var Form = function (_a) {
41
40
  react_1.default.createElement("div", { className: "space-y-4" },
42
41
  react_1.default.createElement("div", { className: "space-y-4" },
43
42
  react_1.default.createElement("div", { className: "space-y-2" },
44
- react_1.default.createElement(input_1.Input, { id: "bankName", type: "text", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.formLabelBankName) || "Bank Name", value: bankName || "", onChange: function (e) { return handleInputChange("bankName", e.target.value); }, placeholder: t("placeholderBankName"), info: t("infoBankName"), error: getTranslatedError("bankName"), required: true })),
43
+ react_1.default.createElement(input_1.Input, { id: "bankName", type: "text", label: t("formLabelBankName"), value: bankName || "", onChange: function (e) { return handleInputChange("bankName", e.target.value); }, placeholder: t("formPlaceholderBankName"), info: t("formInfoBankName"), error: getTranslatedError("bankName"), required: true })),
45
44
  react_1.default.createElement("div", { className: "space-y-2" },
46
- react_1.default.createElement(input_1.Input, { id: "bankAddress", type: "text", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.formLabelBankAddress) || "Bank Address", value: bankAddress || "", onChange: function (e) { return handleInputChange("bankAddress", e.target.value); }, placeholder: t("placeholderBankAddress"), info: t("infoBankAddress"), error: getTranslatedError("bankAddress"), required: true })),
45
+ react_1.default.createElement(input_1.Input, { id: "accountTitle", type: "text", label: t("formLabelAccountTitle"), value: accountTitle || "", onChange: function (e) {
46
+ return handleInputChange("accountTitle", e.target.value);
47
+ }, placeholder: t("formPlaceholderAccountTitle"), info: t("formInfoAccountTitle"), error: getTranslatedError("accountTitle"), required: true })),
47
48
  react_1.default.createElement("div", { className: "space-y-2" },
48
- react_1.default.createElement(input_1.Input, { id: "accountNumber", type: "text", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.formLabelAccountNumber) || "Account Number", value: accountNumber || "", onChange: function (e) {
49
+ react_1.default.createElement(input_1.Input, { id: "accountNumber", type: "text", label: t("formLabelAccountNumber"), value: accountNumber || "", onChange: function (e) {
49
50
  return handleInputChange("accountNumber", e.target.value);
50
- }, placeholder: t("placeholderAccountNumber"), info: t("infoAccountNumber"), error: getTranslatedError("accountNumber"), required: true }))),
51
+ }, placeholder: t("formPlaceholderAccountNumber"), info: t("formInfoAccountNumber"), error: getTranslatedError("accountNumber"), required: true }))),
52
+ react_1.default.createElement("div", { className: "space-y-2" },
53
+ react_1.default.createElement(input_1.Input, { id: "bankAddress", type: "text", label: t("formLabelBankAddress"), value: bankAddress || "", onChange: function (e) { return handleInputChange("bankAddress", e.target.value); }, placeholder: t("formPlaceholderBankAddress"), info: t("formInfoBankAddress"), error: getTranslatedError("bankAddress") })),
51
54
  react_1.default.createElement("div", { className: "space-y-4" },
52
55
  react_1.default.createElement("div", { className: "space-y-2" },
53
- react_1.default.createElement(input_1.Input, { id: "iban", type: "text", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.formLabelIBAN) || "IBAN", value: iban || "", onChange: function (e) { return handleInputChange("iban", e.target.value); }, placeholder: t("placeholderIBAN"), info: t("infoIBAN"), error: getTranslatedError("iban") })),
56
+ react_1.default.createElement(input_1.Input, { id: "iban", type: "text", label: t("formLabelIBAN"), value: iban || "", onChange: function (e) { return handleInputChange("iban", e.target.value); }, placeholder: t("formPlaceholderIBAN"), info: t("formInfoIBAN"), error: getTranslatedError("iban") })),
54
57
  react_1.default.createElement("div", { className: "space-y-2" },
55
- react_1.default.createElement(input_1.Input, { id: "swiftCode", type: "text", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.formLabelSwiftCode) || "SWIFT Code", value: swiftCode || "", onChange: function (e) { return handleInputChange("swiftCode", e.target.value); }, placeholder: t("placeholderSwiftCode"), info: t("infoSwiftCode"), error: getTranslatedError("swiftCode") }))),
58
+ react_1.default.createElement(input_1.Input, { id: "swiftCode", type: "text", label: t("formLabelSwiftCode"), value: swiftCode || "", onChange: function (e) { return handleInputChange("swiftCode", e.target.value); }, placeholder: t("formPlaceholderSwiftCode"), info: t("formInfoSwiftCode"), error: getTranslatedError("swiftCode") }))),
56
59
  react_1.default.createElement("div", { className: "space-y-4" },
57
- react_1.default.createElement(switch_1.Switch, { label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.enabled) || "Enabled", id: "enabled", checked: enabled || false, onCheckedChange: function (checked) { return handleInputChange("enabled", checked); }, info: enabled ? ui("switch.infoEnabled") : ui("switch.infoDisabled"), error: getTranslatedError("enabled") }),
58
- react_1.default.createElement(switch_1.Switch, { label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.setAsDefault) || "Set as Default", id: "isDefault", checked: isDefault || false, onCheckedChange: function (checked) {
60
+ react_1.default.createElement(switch_1.Switch, { label: t("formLabelEnabled"), id: "enabled", checked: enabled || false, onCheckedChange: function (checked) { return handleInputChange("enabled", checked); }, info: t("formInfoEnabled"), error: getTranslatedError("enabled") }),
61
+ react_1.default.createElement(switch_1.Switch, { label: t("formLabelDefault"), id: "isDefault", checked: isDefault || false, onCheckedChange: function (checked) {
59
62
  return handleInputChange("isDefault", checked);
60
- }, info: isDefault ? ui("switch.infoEnabled") : ui("switch.infoDisabled"), error: getTranslatedError("isDefault") })))));
63
+ }, info: t("formInfoDefault"), error: getTranslatedError("isDefault") })))));
61
64
  };
62
65
  exports.Form = Form;
@@ -23,7 +23,7 @@
23
23
  * - Types: PascalCase following interface conventions
24
24
  */
25
25
  import { Dispatch } from "react";
26
- import { RowAction, HeaderAction } from "../../components/ui/enhanced-table";
26
+ import { RowAction, HeaderAction } from "@appcorp/shadcn/components/enhanced-table";
27
27
  import { BankActions } from "./actions";
28
28
  import { PreferenceBE as PreferenceTypeBE } from "@react-pakistan/util-functions/api/stellar-solutions/type";
29
29
  /**
@@ -4,8 +4,8 @@ exports.formValidation = void 0;
4
4
  var zod_1 = require("zod");
5
5
  // Validation error keys for i18n translation
6
6
  var VALIDATION_KEYS = {
7
- accountNumberRequired: "validationBankAccountNumberRequired",
8
- accountTitleRequired: "validationBankAccountTitleRequired",
7
+ accountNumberRequired: "validationAccountNumberRequired",
8
+ accountTitleRequired: "validationAccountTitleRequired",
9
9
  bankNameRequired: "validationBankNameRequired",
10
10
  preferenceIdRequired: "validationBankPreferenceIdRequired",
11
11
  };
@@ -1,2 +1,8 @@
1
1
  import { FC } from "react";
2
- export declare const Branch: FC;
2
+ interface Props {
3
+ params: Promise<{
4
+ locale: "en" | "ur";
5
+ }>;
6
+ }
7
+ export declare const BranchPage: FC<Props>;
8
+ export {};
@@ -1,34 +1,23 @@
1
+ "use client";
1
2
  "use strict";
2
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
5
  };
5
6
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Branch = void 0;
7
+ exports.BranchPage = void 0;
7
8
  var react_1 = __importDefault(require("react"));
8
9
  var next_intl_1 = require("next-intl");
9
10
  var util_functions_1 = require("@react-pakistan/util-functions");
10
11
  var use_rtl_1 = require("../../hooks/use-rtl");
11
- var enhanced_table_1 = require("../../components/ui/enhanced-table");
12
- var sonner_1 = require("../../components/ui/sonner");
13
- var theme_switcher_1 = require("../../components/theme-switcher");
12
+ var enhanced_table_1 = require("@appcorp/shadcn/components/enhanced-table");
13
+ var sonner_1 = require("@appcorp/shadcn/components/sonner");
14
14
  var constants_1 = require("./constants");
15
15
  var context_1 = require("./context");
16
16
  var drawer_1 = require("./drawer");
17
- var Branch = function () {
17
+ var BranchPage = function () {
18
18
  var _a = (0, context_1.useBranchStateContext)(), branches = _a.branches, count = _a.count, currentPage = _a.currentPage, handleNextClick = _a.handleNextClick, handlePageLimit = _a.handlePageLimit, handlePreviousClick = _a.handlePreviousClick, headerActions = _a.headerActions, listLoading = _a.listLoading, pageLimit = _a.pageLimit, rowActions = _a.rowActions, searchOnChange = _a.searchOnChange, searchQuery = _a.searchQuery;
19
19
  var t = (0, next_intl_1.useTranslations)("branch");
20
20
  var isRTL = (0, use_rtl_1.useRTL)();
21
- var translationMap = {
22
- formLabelBranchName: t("formLabelBranchName"),
23
- formLabelBranchAddress: t("formLabelBranchAddress"),
24
- formLabelPersonName: t("formLabelPersonName"),
25
- formLabelPersonPhone: t("formLabelPersonPhone"),
26
- formLabelPersonEmail: t("formLabelPersonEmail"),
27
- headingFormCreate: t("headingFormCreate"),
28
- srCloseDrawer: t("srCloseDrawer"),
29
- cancelBtn: t("cancelBtn"),
30
- saveBtn: t("saveBtn"),
31
- };
32
21
  var tableHeadItems = [
33
22
  {
34
23
  label: t("tableColumnHeaderId"),
@@ -73,11 +62,8 @@ var Branch = function () {
73
62
  ];
74
63
  var totalPages = (0, util_functions_1.calculatePages)(count, pageLimit);
75
64
  return (react_1.default.createElement("div", { className: "space-y-4 ".concat(isRTL ? "rtl" : "ltr"), dir: isRTL ? "rtl" : "ltr" },
76
- react_1.default.createElement("div", { className: "flex items-center justify-between ".concat(isRTL ? "flex-row-reverse" : "") },
77
- react_1.default.createElement("div", null),
78
- react_1.default.createElement(theme_switcher_1.ThemeSwitcher, null)),
79
- react_1.default.createElement(enhanced_table_1.EnhancedTable, { currentPage: Number(currentPage), handleNextOnClick: handleNextClick, handleOnSelect: handlePageLimit, handlePreviousOnClick: handlePreviousClick, handleSearchInput: searchOnChange, headerActions: headerActions, isNextDisabled: (0, util_functions_1.isNextButtonDisabled)(currentPage, totalPages), isPreviousDisabled: (0, util_functions_1.isPreviousButtonDisabled)(currentPage), listOptions: (0, util_functions_1.getAvailablePageLimits)(count), loading: listLoading, nodeSelectKey: "pageLimit", pageLimit: pageLimit, rowActions: rowActions, searchDisabled: false, searchEnabled: true, searchId: "branch-search", searchPlaceholder: t("tableHeaderSearchPlaceholder"), searchValue: searchQuery, tableBodyCols: constants_1.tableBodyCols, tableBodyRows: branches, tableDescription: t("tableDescription"), tableHeadItems: tableHeadItems, tableHeading: t("tableTitle"), totalPages: Number(totalPages) }),
80
- react_1.default.createElement(drawer_1.BranchDrawer, { isRTL: isRTL, translationMap: translationMap }),
65
+ react_1.default.createElement(enhanced_table_1.EnhancedTable, { currentPage: Number(currentPage), handleNextOnClick: handleNextClick, handleOnSelect: handlePageLimit, handlePreviousOnClick: handlePreviousClick, handleSearchInput: searchOnChange, headerActions: headerActions, isNextDisabled: (0, util_functions_1.isNextButtonDisabled)(currentPage, totalPages), isPreviousDisabled: (0, util_functions_1.isPreviousButtonDisabled)(currentPage), listOptions: (0, util_functions_1.getAvailablePageLimits)(count), loading: listLoading, nodeSelectKey: "pageLimit", pageLimit: pageLimit, rowActions: rowActions, searchDisabled: false, searchEnabled: true, searchId: "branch-search", searchPlaceholder: t("tableSearchPlaceholder"), searchValue: searchQuery, tableBodyCols: constants_1.tableBodyCols, tableBodyRows: branches, tableDescription: t("tableDescription"), tableHeadItems: tableHeadItems, tableHeading: t("tableTitle"), totalPages: Number(totalPages) }),
66
+ react_1.default.createElement(drawer_1.BranchDrawer, { isRTL: isRTL }),
81
67
  react_1.default.createElement(sonner_1.Toaster, null)));
82
68
  };
83
- exports.Branch = Branch;
69
+ exports.BranchPage = BranchPage;
@@ -74,7 +74,7 @@ exports.tableBodyCols = [
74
74
  key: "isDefault",
75
75
  },
76
76
  {
77
- componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
77
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.CREATED_UPDATED_AT,
78
78
  key: "createdAt",
79
79
  },
80
80
  {