@appcorp/stellar-solutions-modules 0.1.34 → 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
@@ -1,143 +1,112 @@
1
1
  "use strict";
2
- var _a;
2
+ /**
3
+ * Tax Constants
4
+ *
5
+ * This module defines all constants used throughout the Tax 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
+ * - Form Configuration (form elements and schema)
13
+ *
14
+ * Naming Convention: Descriptive names with clear purpose
15
+ */
3
16
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.validationError = exports.toastErrors = exports.PREFERENCE_API_ROUTES = exports.tableBodyCols = exports.staticFormElements = exports.pageLimit = void 0;
5
- var form_schema_1 = require("@appcorp/app-corp-vista/utils/form-schema");
6
- // import { Currency } from './currency';
7
- // import { PaymentMode } from './payment-mode';
8
- // import { Branch } from './branch';
9
- // import { Tax } from '../tax/tax';
10
- // import { Bank } from './bank';
11
- // import { ReactNode } from 'react';
17
+ exports.tableBodyCols = exports.TAX_API_ROUTES = exports.pageLimit = void 0;
12
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
+ */
13
25
  exports.pageLimit = Number(process.env.NEXT_PUBLIC_PAGE_LIMIT);
14
- exports.staticFormElements = (_a = {},
15
- _a[form_schema_1.VISTA_FORM_ELEMENTS.TEXT_INPUT_V1] = [
16
- {
17
- enabled: true,
18
- error: '',
19
- handleOnChange: function () { return void 0; },
20
- id: 'taxName',
21
- label: 'formLabelTaxName',
22
- order: 1,
23
- placeholder: 'Tax Name...',
24
- required: true,
25
- type: 'text',
26
- value: '',
27
- },
28
- {
29
- enabled: true,
30
- error: '',
31
- handleOnChange: function () { return void 0; },
32
- id: 'taxRate',
33
- label: 'formLabelTaxRate',
34
- order: 2,
35
- placeholder: 'Tax Rate...',
36
- required: true,
37
- type: 'number',
38
- value: '',
39
- },
40
- ],
41
- _a[form_schema_1.VISTA_FORM_ELEMENTS.TOGGLE_V1] = [
42
- {
43
- id: 'enabled',
44
- enabled: true,
45
- value: false,
46
- order: 3,
47
- handleOnChange: function () { return void 0; },
48
- label: 'Enabled',
49
- required: true,
50
- },
51
- {
52
- id: 'isDefault',
53
- enabled: true,
54
- value: false,
55
- order: 4,
56
- handleOnChange: function () { return void 0; },
57
- label: 'IsDefault',
58
- required: true,
59
- },
60
- ],
61
- _a[form_schema_1.VISTA_FORM_ELEMENTS.TEXT_AREA_V1] = [
62
- {
63
- enabled: true,
64
- handleOnChange: function () { return void 0; },
65
- id: 'description',
66
- label: 'formLabelDescription',
67
- order: 5,
68
- placeholder: 'Tax Description...',
69
- required: false,
70
- value: '',
71
- },
72
- ],
73
- _a);
26
+ // ============================================================================
27
+ // API ROUTES
28
+ // ============================================================================
29
+ /**
30
+ * API endpoints for tax operations
31
+ */
32
+ exports.TAX_API_ROUTES = {
33
+ TAX: "/api/tax",
34
+ TAXES: "/api/taxes",
35
+ TAX_BY_ID: "/api/tax/tax-by-id",
36
+ };
37
+ // ============================================================================
38
+ // TABLE CONFIGURATION
39
+ // ============================================================================
40
+ /**
41
+ * Table column definitions for tax listing
42
+ */
74
43
  exports.tableBodyCols = [
75
44
  {
76
45
  componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.ID,
77
- key: 'id',
46
+ key: "id",
78
47
  },
79
48
  {
80
49
  componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.BOLD_TEXT,
81
- key: 'taxName',
50
+ key: "taxName",
82
51
  },
83
52
  {
84
53
  componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
85
- key: 'taxRate',
54
+ key: "taxRate",
86
55
  },
87
56
  {
88
57
  componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
89
- key: 'description',
58
+ key: "description",
90
59
  },
91
60
  {
92
61
  componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.BOOLEAN,
93
- key: 'enabled',
62
+ key: "enabled",
94
63
  },
95
64
  {
96
65
  componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.BOOLEAN,
97
- key: 'isDefault',
66
+ key: "isDefault",
98
67
  },
99
68
  {
100
- componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.CREATED_UPDATED_AT,
69
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
70
+ key: "createdAt",
101
71
  },
102
72
  {
103
73
  componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.ACTIONS,
74
+ key: "action",
104
75
  },
105
76
  ];
106
- exports.PREFERENCE_API_ROUTES = {
107
- BRANCH: '/api/branch',
108
- BRANCHES: '/api/branches',
109
- BRANCH_BY_ID: '/api/branch/branch-by-id',
110
- CURRENCIES: '/api/currencies',
111
- CURRENCY: '/api/currency',
112
- CURRENCY_BY_ID: '/api/currency/currency-by-id',
113
- PAYMENT_MODE: '/api/payment-mode',
114
- PAYMENT_MODES: '/api/payment-modes',
115
- PAYMENT_MODE_BY_ID: '/api/payment-mode/payment-mode-by-id',
116
- PREFERENCE: '/api/preference',
117
- PREFERENCES: '/api/preferences',
118
- PREFERENCE_BY_ID: '/api/preference/preference-by-id',
119
- TAX: '/api/tax',
120
- TAXES: '/api/taxes',
121
- TAX_BY_ID: '/api/tax/tax-by-id',
122
- };
123
- exports.toastErrors = {
124
- fetchInvoiceError: 'Error Fetching Invoice',
125
- formSubmittedSuccess: 'Form Submitted Successfully',
126
- genericError: 'Something Went Wrong',
127
- networkError: 'Network Error Occurred',
128
- submitFormError: 'Error Submitting Form',
129
- validationError: 'Validation Failed',
130
- };
131
- // export const dashboardTabsMap: { [key: string]: ReactNode } = {
132
- // 'Currency': <Currency />,
133
- // 'Payment Mode': <PaymentMode />,
134
- // 'Branch': <Branch />,
135
- // 'Tax': <Tax />,
136
- // 'Bank': <Bank />,
137
- // };
138
- exports.validationError = {
139
- taxName: 'Tax Name is required',
140
- taxRate: 'Tax Rate is required',
141
- description: '',
142
- preferenceId: 'Preference id is required',
143
- };
77
+ // ============================================================================
78
+ // OPTIMIZATION SUMMARY
79
+ // ============================================================================
80
+ /*
81
+ * Constants File Optimizations Applied:
82
+ *
83
+ * 1. **Structural Organization**
84
+ * - Grouped constants by functionality with clear section headers
85
+ * - Added comprehensive JSDoc documentation for each section
86
+ * - Organized imports alphabetically and logically
87
+ *
88
+ * 2. **Internationalization**
89
+ * - Moved validation error messages to messages/en.json for i18n support
90
+ * - Moved toast messages to messages/en.json for i18n support
91
+ * - Kept only technical constants in this file
92
+ *
93
+ * 3. **Type Safety Improvements**
94
+ * - Added 'as const' assertion to API routes for better type inference
95
+ * - Used descriptive naming conventions
96
+ * - Maintained type safety for all exported constants
97
+ *
98
+ * 4. **Code Quality**
99
+ * - Logical grouping of related constants
100
+ * - Consistent formatting and structure
101
+ * - Self-documenting code with clear purpose
102
+ *
103
+ * 5. **Maintainability**
104
+ * - Easy to locate specific constants by section
105
+ * - Clear relationship between constants and their purposes
106
+ * - Modular structure for future extensions
107
+ *
108
+ * 6. **Performance Benefits**
109
+ * - Constants are evaluated once at module load time
110
+ * - No runtime overhead for constant access
111
+ * - Better tree-shaking potential with organized exports
112
+ */
@@ -1,5 +1,36 @@
1
- import React, { FC, ReactNode } from 'react';
2
- import { TaxContextType, TaxState } from './types';
1
+ /**
2
+ * Tax State Context
3
+ *
4
+ * This module provides comprehensive state management for the Tax 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 (useTaxState)
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 { TaxContextType, TaxState } from "./types";
3
34
  type State = TaxContextType & TaxState;
4
35
  interface StateProviderProps {
5
36
  children: ReactNode;