@appcorp/stellar-solutions-modules 0.1.33 → 0.1.35

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 (157) hide show
  1. package/README.md +128 -19
  2. package/components/theme-switcher.d.ts +4 -0
  3. package/components/theme-switcher.js +60 -0
  4. package/components/ui/badge.d.ts +9 -0
  5. package/components/ui/badge.js +82 -0
  6. package/components/ui/button.d.ts +10 -0
  7. package/components/ui/button.js +91 -0
  8. package/components/ui/checkbox.d.ts +9 -0
  9. package/components/ui/checkbox.js +87 -0
  10. package/components/ui/drawer.d.ts +13 -0
  11. package/components/ui/drawer.js +115 -0
  12. package/components/ui/dropdown-menu.d.ts +25 -0
  13. package/components/ui/dropdown-menu.js +148 -0
  14. package/components/ui/enhanced-table-footer-action.d.ts +34 -0
  15. package/components/ui/enhanced-table-footer-action.js +117 -0
  16. package/components/ui/enhanced-table-footer-page.d.ts +32 -0
  17. package/components/ui/enhanced-table-footer-page.js +140 -0
  18. package/components/ui/enhanced-table-footer-pagination.d.ts +38 -0
  19. package/components/ui/enhanced-table-footer-pagination.js +122 -0
  20. package/components/ui/enhanced-table-header-action.d.ts +7 -0
  21. package/components/ui/enhanced-table-header-action.js +21 -0
  22. package/components/ui/enhanced-table-header-search.d.ts +12 -0
  23. package/components/ui/enhanced-table-header-search.js +17 -0
  24. package/components/ui/enhanced-table.d.ts +65 -0
  25. package/components/ui/enhanced-table.js +87 -0
  26. package/components/ui/input.d.ts +8 -0
  27. package/components/ui/input.js +86 -0
  28. package/components/ui/label.d.ts +7 -0
  29. package/components/ui/label.js +68 -0
  30. package/components/ui/popover.d.ts +7 -0
  31. package/components/ui/popover.js +82 -0
  32. package/components/ui/select.d.ts +15 -0
  33. package/components/ui/select.js +127 -0
  34. package/components/ui/sonner.d.ts +4 -0
  35. package/components/ui/sonner.js +54 -0
  36. package/components/ui/switch.d.ts +9 -0
  37. package/components/ui/switch.js +89 -0
  38. package/components/ui/table.d.ts +10 -0
  39. package/components/ui/table.js +101 -0
  40. package/global-modules/bank/actions.d.ts +200 -0
  41. package/global-modules/bank/actions.js +124 -0
  42. package/global-modules/bank/bank.d.ts +2 -0
  43. package/global-modules/bank/bank.js +87 -0
  44. package/global-modules/bank/constants.d.ts +45 -0
  45. package/global-modules/bank/constants.js +98 -0
  46. package/global-modules/bank/context.d.ts +41 -0
  47. package/global-modules/bank/context.js +419 -0
  48. package/global-modules/bank/drawer.d.ts +31 -0
  49. package/global-modules/bank/drawer.js +114 -0
  50. package/global-modules/bank/form.d.ts +22 -0
  51. package/global-modules/bank/form.js +68 -0
  52. package/global-modules/bank/reducer.d.ts +25 -0
  53. package/global-modules/bank/reducer.js +161 -0
  54. package/global-modules/bank/types.d.ts +217 -0
  55. package/global-modules/bank/types.js +81 -0
  56. package/global-modules/bank/validate.d.ts +13 -0
  57. package/global-modules/bank/validate.js +22 -0
  58. package/global-modules/branch/actions.d.ts +154 -37
  59. package/global-modules/branch/actions.js +148 -6
  60. package/global-modules/branch/branch.d.ts +2 -2
  61. package/global-modules/branch/branch.js +46 -32
  62. package/global-modules/branch/constants.d.ts +34 -24
  63. package/global-modules/branch/constants.js +101 -122
  64. package/global-modules/branch/context.d.ts +33 -2
  65. package/global-modules/branch/context.js +195 -164
  66. package/global-modules/branch/drawer.d.ts +26 -3
  67. package/global-modules/branch/drawer.js +101 -6
  68. package/global-modules/branch/form.d.ts +15 -1
  69. package/global-modules/branch/form.js +54 -71
  70. package/global-modules/branch/reducer.d.ts +23 -2
  71. package/global-modules/branch/reducer.js +148 -118
  72. package/global-modules/branch/types.d.ts +196 -69
  73. package/global-modules/branch/types.js +66 -7
  74. package/global-modules/branch/validate.d.ts +1 -1
  75. package/global-modules/branch/validate.js +15 -11
  76. package/global-modules/payment-mode/actions.d.ts +154 -37
  77. package/global-modules/payment-mode/actions.js +148 -6
  78. package/global-modules/payment-mode/constants.d.ts +34 -17
  79. package/global-modules/payment-mode/constants.js +90 -66
  80. package/global-modules/payment-mode/context.d.ts +33 -2
  81. package/global-modules/payment-mode/context.js +185 -163
  82. package/global-modules/payment-mode/drawer.d.ts +26 -3
  83. package/global-modules/payment-mode/drawer.js +104 -9
  84. package/global-modules/payment-mode/form.d.ts +16 -2
  85. package/global-modules/payment-mode/form.js +45 -74
  86. package/global-modules/payment-mode/payment-mode.d.ts +25 -2
  87. package/global-modules/payment-mode/payment-mode.js +90 -23
  88. package/global-modules/payment-mode/reducer.d.ts +23 -2
  89. package/global-modules/payment-mode/reducer.js +140 -114
  90. package/global-modules/payment-mode/types.d.ts +327 -112
  91. package/global-modules/payment-mode/types.js +162 -11
  92. package/global-modules/payment-mode/validate.d.ts +1 -1
  93. package/global-modules/payment-mode/validate.js +7 -5
  94. package/global-modules/preferences/actions.d.ts +126 -27
  95. package/global-modules/preferences/actions.js +128 -4
  96. package/global-modules/preferences/constants.d.ts +46 -31
  97. package/global-modules/preferences/constants.js +129 -66
  98. package/global-modules/preferences/context.d.ts +2 -2
  99. package/global-modules/preferences/context.js +43 -43
  100. package/global-modules/preferences/currency.js +15 -10
  101. package/global-modules/preferences/preferences.d.ts +2 -2
  102. package/global-modules/preferences/preferences.js +3 -5
  103. package/global-modules/preferences/validate.d.ts +1 -1
  104. package/global-modules/preferences/validate.js +7 -7
  105. package/global-modules/tax/actions.d.ts +155 -38
  106. package/global-modules/tax/actions.js +149 -7
  107. package/global-modules/tax/constants.d.ts +31 -39
  108. package/global-modules/tax/constants.js +83 -114
  109. package/global-modules/tax/context.d.ts +33 -2
  110. package/global-modules/tax/context.js +146 -132
  111. package/global-modules/tax/drawer.d.ts +26 -3
  112. package/global-modules/tax/drawer.js +101 -6
  113. package/global-modules/tax/form.d.ts +20 -3
  114. package/global-modules/tax/form.js +101 -74
  115. package/global-modules/tax/reducer.d.ts +23 -2
  116. package/global-modules/tax/reducer.js +143 -24
  117. package/global-modules/tax/tax.d.ts +25 -2
  118. package/global-modules/tax/tax.js +92 -28
  119. package/global-modules/tax/types.d.ts +332 -102
  120. package/global-modules/tax/types.js +179 -11
  121. package/global-modules/tax/validate.d.ts +1 -1
  122. package/global-modules/tax/validate.js +9 -8
  123. package/hooks/use-rtl.d.ts +44 -0
  124. package/hooks/use-rtl.js +75 -0
  125. package/lib/themes.d.ts +147 -0
  126. package/lib/themes.js +150 -0
  127. package/lib/toast-utils.d.ts +44 -0
  128. package/lib/toast-utils.js +212 -0
  129. package/lib/utils.d.ts +2 -0
  130. package/lib/utils.js +12 -0
  131. package/package.json +21 -4
  132. package/supabase/supabase.d.ts +80 -1
  133. package/supabase/supabase.js +281 -6
  134. package/global-modules/branch/form-elements.d.ts +0 -3
  135. package/global-modules/branch/form-elements.js +0 -41
  136. package/global-modules/payment-mode/form-elements.d.ts +0 -3
  137. package/global-modules/payment-mode/form-elements.js +0 -41
  138. package/global-modules/preferences/bank.d.ts +0 -2
  139. package/global-modules/preferences/bank.js +0 -11
  140. package/global-modules/preferences/branch-drawer.js +0 -36
  141. package/global-modules/preferences/branch-form-elements.js +0 -30
  142. package/global-modules/preferences/branch-form.d.ts +0 -0
  143. package/global-modules/preferences/branch-form.js +0 -33
  144. package/global-modules/preferences/branch.d.ts +0 -0
  145. package/global-modules/preferences/branch.js +0 -106
  146. package/global-modules/preferences/payment-mode-drawer.d.ts +0 -0
  147. package/global-modules/preferences/payment-mode-drawer.js +0 -36
  148. package/global-modules/preferences/payment-mode-form-elements.d.ts +0 -0
  149. package/global-modules/preferences/payment-mode-form-elements.js +0 -30
  150. package/global-modules/preferences/payment-mode-form.d.ts +0 -0
  151. package/global-modules/preferences/payment-mode-form.js +0 -33
  152. package/global-modules/preferences/payment-mode.d.ts +0 -0
  153. package/global-modules/preferences/payment-mode.js +0 -94
  154. package/global-modules/tax/form-elements.d.ts +0 -3
  155. package/global-modules/tax/form-elements.js +0 -41
  156. /package/{global-modules/preferences/branch-drawer.d.ts → constants.d.ts} +0 -0
  157. /package/{global-modules/preferences/branch-form-elements.d.ts → constants.js} +0 -0
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ /**
3
+ * Bank Actions
4
+ *
5
+ * This module defines all action types and interfaces for the Bank state management.
6
+ * Actions are organized by functionality and follow consistent naming patterns.
7
+ *
8
+ * Organization:
9
+ * - Action Types Enum (grouped by functionality)
10
+ * - Reset Actions (form/error reset)
11
+ * - Form Data Actions (input fields, form state)
12
+ * - UI State Actions (drawers, buttons)
13
+ * - List Management Actions (banks, pagination)
14
+ * - Search Actions (queries)
15
+ * - Union Type Export
16
+ * - Action Creators (helper functions)
17
+ * - Type Utilities (guards and helpers)
18
+ *
19
+ * Naming Convention: Bank{Operation}{Target}Action
20
+ * Examples: BankSetInputFieldAction, BankResetFormAction
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.isResetAction = exports.isBankAction = exports.bankActionCreators = exports.BANK_ACTION_TYPES = void 0;
24
+ // ============================================================================
25
+ // ACTION TYPES ENUM
26
+ // ============================================================================
27
+ var BANK_ACTION_TYPES;
28
+ (function (BANK_ACTION_TYPES) {
29
+ // Reset Actions
30
+ BANK_ACTION_TYPES["RESET_ERRORS"] = "RESET_ERRORS";
31
+ BANK_ACTION_TYPES["RESET_FORM"] = "RESET_FORM";
32
+ // Form Data Actions
33
+ BANK_ACTION_TYPES["SET_INPUT_FIELD"] = "SET_INPUT_FIELD";
34
+ BANK_ACTION_TYPES["SET_FORM"] = "SET_FORM";
35
+ BANK_ACTION_TYPES["SET_ERRORS"] = "SET_ERRORS";
36
+ // UI State Actions
37
+ BANK_ACTION_TYPES["SET_DISABLE_SAVE_BUTTON"] = "SET_DISABLE_SAVE_BUTTON";
38
+ BANK_ACTION_TYPES["SET_DRAWER"] = "SET_DRAWER";
39
+ // List Management Actions
40
+ BANK_ACTION_TYPES["SET_BANKS"] = "SET_BANKS";
41
+ BANK_ACTION_TYPES["SET_COUNT"] = "SET_COUNT";
42
+ BANK_ACTION_TYPES["SET_CURRENT_PAGE"] = "SET_CURRENT_PAGE";
43
+ BANK_ACTION_TYPES["SET_PAGE_LIMIT"] = "SET_PAGE_LIMIT";
44
+ // Search Actions
45
+ BANK_ACTION_TYPES["SET_SEARCH_QUERY"] = "SET_SEARCH_QUERY";
46
+ })(BANK_ACTION_TYPES || (exports.BANK_ACTION_TYPES = BANK_ACTION_TYPES = {}));
47
+ // ============================================================================
48
+ // ACTION CREATORS (Optional Helper Functions)
49
+ // ============================================================================
50
+ /**
51
+ * Action creators for common bank operations
52
+ * These provide type-safe action creation with better developer experience
53
+ */
54
+ exports.bankActionCreators = {
55
+ // Reset Actions
56
+ resetErrors: function () { return ({
57
+ type: BANK_ACTION_TYPES.RESET_ERRORS,
58
+ }); },
59
+ resetForm: function () { return ({
60
+ type: BANK_ACTION_TYPES.RESET_FORM,
61
+ }); },
62
+ // Form Actions
63
+ setInputField: function (key, value) { return ({
64
+ type: BANK_ACTION_TYPES.SET_INPUT_FIELD,
65
+ payload: { key: key, value: value },
66
+ }); },
67
+ setForm: function (form) { return ({
68
+ type: BANK_ACTION_TYPES.SET_FORM,
69
+ payload: { form: form },
70
+ }); },
71
+ setErrors: function (errors) { return ({
72
+ type: BANK_ACTION_TYPES.SET_ERRORS,
73
+ payload: { errors: errors },
74
+ }); },
75
+ // UI Actions
76
+ setDisableSaveButton: function (disableSaveButton) { return ({
77
+ type: BANK_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON,
78
+ payload: { disableSaveButton: disableSaveButton },
79
+ }); },
80
+ setDrawer: function (drawer) { return ({
81
+ type: BANK_ACTION_TYPES.SET_DRAWER,
82
+ payload: { drawer: drawer },
83
+ }); },
84
+ // List Actions
85
+ setBanks: function (banks) { return ({
86
+ type: BANK_ACTION_TYPES.SET_BANKS,
87
+ payload: { banks: banks },
88
+ }); },
89
+ setCount: function (count) { return ({
90
+ type: BANK_ACTION_TYPES.SET_COUNT,
91
+ payload: { count: count },
92
+ }); },
93
+ setCurrentPage: function (currentPage) { return ({
94
+ type: BANK_ACTION_TYPES.SET_CURRENT_PAGE,
95
+ payload: { currentPage: currentPage },
96
+ }); },
97
+ setPageLimit: function (pageLimit) { return ({
98
+ type: BANK_ACTION_TYPES.SET_PAGE_LIMIT,
99
+ payload: { pageLimit: pageLimit },
100
+ }); },
101
+ // Search Actions
102
+ setSearchQuery: function (searchQuery) { return ({
103
+ type: BANK_ACTION_TYPES.SET_SEARCH_QUERY,
104
+ payload: { searchQuery: searchQuery },
105
+ }); },
106
+ };
107
+ /**
108
+ * Runtime type guards for action validation
109
+ */
110
+ var isBankAction = function (action) {
111
+ return (typeof action === "object" &&
112
+ action !== null &&
113
+ "type" in action &&
114
+ Object.values(BANK_ACTION_TYPES).includes(action.type));
115
+ };
116
+ exports.isBankAction = isBankAction;
117
+ /**
118
+ * Type guard for reset actions
119
+ */
120
+ var isResetAction = function (action) {
121
+ return (action.type === BANK_ACTION_TYPES.RESET_ERRORS ||
122
+ action.type === BANK_ACTION_TYPES.RESET_FORM);
123
+ };
124
+ exports.isResetAction = isResetAction;
@@ -0,0 +1,2 @@
1
+ import { FC } from "react";
2
+ export declare const Bank: FC;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Bank = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var next_intl_1 = require("next-intl");
9
+ var util_functions_1 = require("@react-pakistan/util-functions");
10
+ 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");
14
+ var constants_1 = require("./constants");
15
+ var context_1 = require("./context");
16
+ var drawer_1 = require("./drawer");
17
+ var Bank = function () {
18
+ 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
+ var t = (0, next_intl_1.useTranslations)("bankPage");
20
+ var isRTL = (0, use_rtl_1.useRTL)();
21
+ var translationMap = {
22
+ formLabelBankName: t("formLabelBankName"),
23
+ formLabelBankAddress: t("formLabelBankAddress"),
24
+ formLabelAccountTitle: t("formLabelAccountTitle"),
25
+ formLabelAccountNumber: t("formLabelAccountNumber"),
26
+ formLabelIBAN: t("formLabelIBAN"),
27
+ formLabelSwiftCode: t("formLabelSwiftCode"),
28
+ headingFormCreate: t("headingFormCreate"),
29
+ srCloseDrawer: t("srCloseDrawer"),
30
+ cancelBtn: t("cancelBtn"),
31
+ saveBtn: t("saveBtn"),
32
+ enableDescription: t("enableDescription"),
33
+ setAsDefault: t("setAsDefault"),
34
+ defaultDescription: t("defaultDescription"),
35
+ };
36
+ var tableHeadItems = [
37
+ {
38
+ label: t("tableColumnHeaderId"),
39
+ width: "5%",
40
+ },
41
+ {
42
+ label: t("tableColumnHeaderBankName"),
43
+ width: "15%",
44
+ },
45
+ {
46
+ label: t("tableColumnHeaderBankAddress"),
47
+ width: "15%",
48
+ },
49
+ {
50
+ label: t("tableColumnHeaderAccountTitle"),
51
+ width: "15%",
52
+ },
53
+ {
54
+ label: t("tableColumnHeaderAccountNumber"),
55
+ width: "15%",
56
+ },
57
+ {
58
+ label: t("tableColumnHeaderIBAN"),
59
+ width: "10%",
60
+ },
61
+ {
62
+ label: t("tableColumnHeaderSwiftCode"),
63
+ width: "10%",
64
+ },
65
+ {
66
+ label: t("tableColumnHeaderEnabled"),
67
+ width: "5%",
68
+ },
69
+ {
70
+ label: t("tableColumnHeaderIsDefault"),
71
+ width: "5%",
72
+ },
73
+ {
74
+ label: t("tableColumnHeaderActions"),
75
+ width: "5%",
76
+ },
77
+ ];
78
+ var totalPages = (0, util_functions_1.calculatePages)(count, pageLimit);
79
+ return (react_1.default.createElement("div", { className: "space-y-4 ".concat(isRTL ? "rtl" : "ltr"), dir: isRTL ? "rtl" : "ltr" },
80
+ react_1.default.createElement("div", { className: "flex items-center justify-between ".concat(isRTL ? "flex-row-reverse" : "") },
81
+ react_1.default.createElement("div", null),
82
+ react_1.default.createElement(theme_switcher_1.ThemeSwitcher, null)),
83
+ 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("tableHeaderSearchPlaceholder"), searchValue: searchQuery, tableBodyCols: constants_1.tableBodyCols, tableBodyRows: banks, tableDescription: t("tableDescription"), tableHeadItems: tableHeadItems, tableHeading: t("tableTitle"), totalPages: Number(totalPages) }),
84
+ react_1.default.createElement(drawer_1.BankDrawer, { isRTL: isRTL, translationMap: translationMap }),
85
+ react_1.default.createElement(sonner_1.Toaster, null)));
86
+ };
87
+ exports.Bank = Bank;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Bank Constants
3
+ *
4
+ * This module defines all constants used throughout the Bank module.
5
+ * Constants are organized by functionality and follow consistent naming patterns.
6
+ *
7
+ * Organization:
8
+ * - Page Configuration (pagination, limits)
9
+ * - API Routes (backend endpoints)
10
+ * - Table Configuration (column definitions)
11
+ * - Toast Messages (user feedback)
12
+ *
13
+ * Naming Convention: Descriptive names with clear purpose
14
+ */
15
+ import { VISTA_TABLE_CELL_TYPE } from "@appcorp/app-corp-vista/type/vista-table-type";
16
+ /**
17
+ * Default page limit for pagination
18
+ */
19
+ export declare const pageLimit: number;
20
+ /**
21
+ * API endpoints for bank operations
22
+ */
23
+ export declare const BANK_API_ROUTES: {
24
+ readonly BANK: "/api/bank";
25
+ readonly BANKS: "/api/banks";
26
+ readonly BANK_BY_ID: "/api/bank/bank-by-id";
27
+ };
28
+ /**
29
+ * Table column definitions for bank listing
30
+ */
31
+ export declare const tableBodyCols: {
32
+ componentType: VISTA_TABLE_CELL_TYPE;
33
+ key: string;
34
+ }[];
35
+ /**
36
+ * Toast error messages for user feedback
37
+ */
38
+ export declare const toastErrors: {
39
+ fetchInvoiceError: string;
40
+ formSubmittedSuccess: string;
41
+ genericError: string;
42
+ networkError: string;
43
+ submitFormError: string;
44
+ validationError: string;
45
+ };
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ /**
3
+ * Bank Constants
4
+ *
5
+ * This module defines all constants used throughout the Bank module.
6
+ * Constants are organized by functionality and follow consistent naming patterns.
7
+ *
8
+ * Organization:
9
+ * - Page Configuration (pagination, limits)
10
+ * - API Routes (backend endpoints)
11
+ * - Table Configuration (column definitions)
12
+ * - Toast Messages (user feedback)
13
+ *
14
+ * Naming Convention: Descriptive names with clear purpose
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.toastErrors = exports.tableBodyCols = exports.BANK_API_ROUTES = exports.pageLimit = void 0;
18
+ var vista_table_type_1 = require("@appcorp/app-corp-vista/type/vista-table-type");
19
+ // ============================================================================
20
+ // PAGE CONFIGURATION
21
+ // ============================================================================
22
+ /**
23
+ * Default page limit for pagination
24
+ */
25
+ exports.pageLimit = Number(process.env.NEXT_PUBLIC_PAGE_LIMIT);
26
+ // ============================================================================
27
+ // API ROUTES
28
+ // ============================================================================
29
+ /**
30
+ * API endpoints for bank operations
31
+ */
32
+ exports.BANK_API_ROUTES = {
33
+ BANK: "/api/bank",
34
+ BANKS: "/api/banks",
35
+ BANK_BY_ID: "/api/bank/bank-by-id",
36
+ };
37
+ // ============================================================================
38
+ // TABLE CONFIGURATION
39
+ // ============================================================================
40
+ /**
41
+ * Table column definitions for bank listing
42
+ */
43
+ exports.tableBodyCols = [
44
+ {
45
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.ID,
46
+ key: "id",
47
+ },
48
+ {
49
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.BOLD_TEXT,
50
+ key: "bankName",
51
+ },
52
+ {
53
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
54
+ key: "accountNumber",
55
+ },
56
+ {
57
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
58
+ key: "accountTitle",
59
+ },
60
+ {
61
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
62
+ key: "iban",
63
+ },
64
+ {
65
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
66
+ key: "swiftCode",
67
+ },
68
+ {
69
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.BOOLEAN,
70
+ key: "enabled",
71
+ },
72
+ {
73
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.BOOLEAN,
74
+ key: "isDefault",
75
+ },
76
+ {
77
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
78
+ key: "createdAt",
79
+ },
80
+ {
81
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.ACTIONS,
82
+ key: "action",
83
+ },
84
+ ];
85
+ // ============================================================================
86
+ // TOAST MESSAGES
87
+ // ============================================================================
88
+ /**
89
+ * Toast error messages for user feedback
90
+ */
91
+ exports.toastErrors = {
92
+ fetchInvoiceError: "Error Fetching Invoice",
93
+ formSubmittedSuccess: "Form Submitted Successfully",
94
+ genericError: "Something Went Wrong",
95
+ networkError: "Network Error Occurred",
96
+ submitFormError: "Error Submitting Form",
97
+ validationError: "Validation Failed",
98
+ };
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Bank State Context
3
+ *
4
+ * This module provides comprehensive state management for the Bank feature including:
5
+ * - CRUD operations (create, read, update, delete)
6
+ * - Form validation and error handling
7
+ * - Search and filtering functionality
8
+ * - Pagination controls
9
+ * - Internationalization support
10
+ * - Theme-aware toast notifications
11
+ *
12
+ * Organization:
13
+ * - Types & Interfaces
14
+ * - Main Hook (useBankState)
15
+ * - State & Core Hooks
16
+ * - Debounced Values
17
+ * - API Parameters (memoized)
18
+ * - API Callbacks (with error handling)
19
+ * - Module Entity Hook
20
+ * - Effects (list refresh)
21
+ * - Drawer & Modal Handlers
22
+ * - CRUD Operation Handlers
23
+ * - Form Handlers
24
+ * - Pagination Handlers
25
+ * - Search Handlers
26
+ * - Table Actions (memoized)
27
+ * - Return State
28
+ * - Context Setup
29
+ * - Provider Component
30
+ * - Custom Hook
31
+ */
32
+ import React, { FC, ReactNode } from "react";
33
+ import { BankContextType, BankState } from "./types";
34
+ type State = BankContextType & BankState;
35
+ interface StateProviderProps {
36
+ children: ReactNode;
37
+ }
38
+ export declare const BankStateContext: React.Context<State>;
39
+ export declare const BankStateContextProvider: FC<StateProviderProps>;
40
+ export declare const useBankStateContext: () => State;
41
+ export {};