@eztrak/shared 0.1.0 → 0.2.1
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.
- package/README.md +59 -0
- package/dist/chunk-BDNXC2WX.mjs +72 -0
- package/dist/chunk-BDNXC2WX.mjs.map +1 -0
- package/dist/chunk-WARJTN5T.mjs +212 -0
- package/dist/chunk-WARJTN5T.mjs.map +1 -0
- package/dist/hooks/index.d.mts +13 -0
- package/dist/hooks/index.d.ts +13 -0
- package/dist/hooks/index.js +99 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/index.mjs +9 -0
- package/dist/hooks/index.mjs.map +1 -0
- package/dist/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +294 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +49 -3
- package/dist/utils/index.d.mts +40 -1
- package/dist/utils/index.d.ts +40 -1
- package/dist/utils/index.js +223 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/index.mjs +43 -3
- package/package.json +20 -1
- package/dist/chunk-IY5UXNBB.mjs +0 -11
- package/dist/chunk-IY5UXNBB.mjs.map +0 -1
package/dist/utils/index.js
CHANGED
|
@@ -30,7 +30,27 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
// src/utils/index.ts
|
|
31
31
|
var utils_exports = {};
|
|
32
32
|
__export(utils_exports, {
|
|
33
|
-
|
|
33
|
+
capitalizeText: () => capitalizeText,
|
|
34
|
+
checkIfExistsInArray: () => checkIfExistsInArray,
|
|
35
|
+
cn: () => cn,
|
|
36
|
+
convertCommaDataToArray: () => convertCommaDataToArray,
|
|
37
|
+
currencyFormatter: () => currencyFormatter,
|
|
38
|
+
deserializeJson: () => deserializeJson,
|
|
39
|
+
flattenTableData: () => flattenTableData,
|
|
40
|
+
formatDate: () => formatDate,
|
|
41
|
+
formatDateTime: () => formatDateTime,
|
|
42
|
+
getApiError: () => getApiError,
|
|
43
|
+
getErrorMessages: () => getErrorMessages,
|
|
44
|
+
getFieldsByCategory: () => getFieldsByCategory,
|
|
45
|
+
getFieldsByInputType: () => getFieldsByInputType,
|
|
46
|
+
getFieldsByName: () => getFieldsByName,
|
|
47
|
+
isEmpty: () => isEmpty,
|
|
48
|
+
normalizeApiListItems: () => normalizeApiListItems,
|
|
49
|
+
parseCurrencyValueToNumber: () => parseCurrencyValueToNumber,
|
|
50
|
+
removeByPropertyValues: () => removeByPropertyValues,
|
|
51
|
+
toDateInputValue: () => toDateInputValue,
|
|
52
|
+
toLowerCaseText: () => toLowerCaseText,
|
|
53
|
+
truncateText: () => truncateText
|
|
34
54
|
});
|
|
35
55
|
module.exports = __toCommonJS(utils_exports);
|
|
36
56
|
|
|
@@ -40,8 +60,209 @@ var import_tailwind_merge = require("tailwind-merge");
|
|
|
40
60
|
function cn(...inputs) {
|
|
41
61
|
return (0, import_tailwind_merge.twMerge)((0, import_clsx.default)(inputs));
|
|
42
62
|
}
|
|
63
|
+
|
|
64
|
+
// src/utils/helpers.ts
|
|
65
|
+
var truncateText = (text, maxLength = 20) => {
|
|
66
|
+
if (!text) return "";
|
|
67
|
+
if (text.length <= maxLength) {
|
|
68
|
+
return text;
|
|
69
|
+
}
|
|
70
|
+
return text.slice(0, maxLength - 3) + "...";
|
|
71
|
+
};
|
|
72
|
+
function getApiError(apiError) {
|
|
73
|
+
if (!apiError) return "An unknown error occurred";
|
|
74
|
+
if (typeof apiError === "string") {
|
|
75
|
+
return apiError;
|
|
76
|
+
}
|
|
77
|
+
const error = apiError;
|
|
78
|
+
if (error.response?.data) {
|
|
79
|
+
const responseData = error.response.data;
|
|
80
|
+
if (typeof responseData === "string") {
|
|
81
|
+
return responseData;
|
|
82
|
+
}
|
|
83
|
+
const errors = responseData.errors;
|
|
84
|
+
if (errors && typeof errors === "object") {
|
|
85
|
+
for (const key in errors) {
|
|
86
|
+
const messages = errors[key];
|
|
87
|
+
if (Array.isArray(messages) && messages.length > 0) {
|
|
88
|
+
return String(messages[0]);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (responseData.message) {
|
|
93
|
+
return String(responseData.message);
|
|
94
|
+
}
|
|
95
|
+
if (responseData.title) {
|
|
96
|
+
return String(responseData.title);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (error.message) {
|
|
100
|
+
return error.message;
|
|
101
|
+
}
|
|
102
|
+
return "An unknown error occurred";
|
|
103
|
+
}
|
|
104
|
+
var normalizeApiListItems = (responseData) => {
|
|
105
|
+
if (responseData == null) return [];
|
|
106
|
+
if (Array.isArray(responseData)) return responseData;
|
|
107
|
+
const record = responseData;
|
|
108
|
+
const data = record.data;
|
|
109
|
+
if (data && typeof data === "object" && !Array.isArray(data) && Array.isArray(data.items)) {
|
|
110
|
+
return data.items;
|
|
111
|
+
}
|
|
112
|
+
const returnModel = record.returnModel;
|
|
113
|
+
if (Array.isArray(returnModel?.items)) return returnModel.items;
|
|
114
|
+
if (Array.isArray(data)) return data;
|
|
115
|
+
if (typeof data === "object" && data !== null) {
|
|
116
|
+
return [data];
|
|
117
|
+
}
|
|
118
|
+
return [];
|
|
119
|
+
};
|
|
120
|
+
function capitalizeText(name) {
|
|
121
|
+
if (!name) return "";
|
|
122
|
+
return name.split(" ").map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join(" ");
|
|
123
|
+
}
|
|
124
|
+
function toLowerCaseText(text) {
|
|
125
|
+
if (!text) return "";
|
|
126
|
+
return text.toLowerCase();
|
|
127
|
+
}
|
|
128
|
+
var formatDate = (dateString) => {
|
|
129
|
+
if (dateString === null || dateString === void 0) return "-";
|
|
130
|
+
const date = new Date(dateString);
|
|
131
|
+
if (isNaN(date.getTime())) {
|
|
132
|
+
return dateString;
|
|
133
|
+
}
|
|
134
|
+
const month = (date.getMonth() + 1).toString().padStart(2, "0");
|
|
135
|
+
const day = date.getDate().toString().padStart(2, "0");
|
|
136
|
+
const year = date.getFullYear().toString().slice(-2);
|
|
137
|
+
return `${month}/${day}/${year}`;
|
|
138
|
+
};
|
|
139
|
+
var isEmpty = (obj) => {
|
|
140
|
+
return Object.keys(obj).length === 0;
|
|
141
|
+
};
|
|
142
|
+
var toDateInputValue = (date) => {
|
|
143
|
+
if (!date) return "";
|
|
144
|
+
let d;
|
|
145
|
+
if (typeof date === "string") {
|
|
146
|
+
if (/^\d{4}-\d{2}-\d{2}$/.test(date)) {
|
|
147
|
+
return date;
|
|
148
|
+
}
|
|
149
|
+
d = new Date(date);
|
|
150
|
+
} else {
|
|
151
|
+
d = new Date(date);
|
|
152
|
+
}
|
|
153
|
+
if (isNaN(d.getTime())) return "";
|
|
154
|
+
const localDate = new Date(d.getTime() - d.getTimezoneOffset() * 6e4);
|
|
155
|
+
const year = localDate.getFullYear();
|
|
156
|
+
const month = (localDate.getMonth() + 1).toString().padStart(2, "0");
|
|
157
|
+
const day = localDate.getDate().toString().padStart(2, "0");
|
|
158
|
+
return `${year}-${month}-${day}`;
|
|
159
|
+
};
|
|
160
|
+
function convertCommaDataToArray(data) {
|
|
161
|
+
if (!data || data.trim() === "") {
|
|
162
|
+
return [];
|
|
163
|
+
}
|
|
164
|
+
return data.split(",").map((item) => item.trim());
|
|
165
|
+
}
|
|
166
|
+
function checkIfExistsInArray(array, searchValue) {
|
|
167
|
+
return array.includes(searchValue);
|
|
168
|
+
}
|
|
169
|
+
var currencyFormatter = (value) => {
|
|
170
|
+
return value?.toLocaleString("en-US", {
|
|
171
|
+
style: "currency",
|
|
172
|
+
currency: "USD"
|
|
173
|
+
}) ?? "";
|
|
174
|
+
};
|
|
175
|
+
var parseCurrencyValueToNumber = (value) => {
|
|
176
|
+
if (value == null || value === "") return 0;
|
|
177
|
+
const raw = typeof value === "object" && value !== null && "value" in value ? value.value : value;
|
|
178
|
+
const stringValue = raw == null || raw === "" ? "" : String(raw);
|
|
179
|
+
const numericValue = stringValue.replace(/[$,]/g, "");
|
|
180
|
+
return parseFloat(numericValue) || 0;
|
|
181
|
+
};
|
|
182
|
+
function flattenTableData(data, columns) {
|
|
183
|
+
if (!Array.isArray(data)) return [];
|
|
184
|
+
return data.map((row) => {
|
|
185
|
+
const flatRow = { ...row };
|
|
186
|
+
(columns ?? []).forEach((col) => {
|
|
187
|
+
const key = col.field;
|
|
188
|
+
if (!key) return;
|
|
189
|
+
if (key.includes(".")) {
|
|
190
|
+
const value = key.split(".").reduce(
|
|
191
|
+
(acc, part) => acc?.[part],
|
|
192
|
+
row
|
|
193
|
+
);
|
|
194
|
+
flatRow[key] = value ?? "";
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
return flatRow;
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
var getErrorMessages = (error) => {
|
|
201
|
+
if (error?.data?.errors) {
|
|
202
|
+
return Object.values(error.data.errors).flat().join("\n");
|
|
203
|
+
}
|
|
204
|
+
return error?.data?.title ?? error?.data?.error?.name?.[0] ?? "Failed to save";
|
|
205
|
+
};
|
|
206
|
+
var getFieldsByCategory = (fields = [], key) => {
|
|
207
|
+
return fields?.filter(({ category = "" }) => category === key);
|
|
208
|
+
};
|
|
209
|
+
var getFieldsByName = (fields = [], key) => {
|
|
210
|
+
return fields.filter(({ name = "" }) => name === key);
|
|
211
|
+
};
|
|
212
|
+
var deserializeJson = (jsonString) => {
|
|
213
|
+
try {
|
|
214
|
+
return JSON.parse(jsonString);
|
|
215
|
+
} catch (error) {
|
|
216
|
+
console.error("Error parsing JSON:", error);
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
var formatDateTime = (dateString) => {
|
|
221
|
+
if (!dateString) return "Invalid Date";
|
|
222
|
+
const date = new Date(dateString);
|
|
223
|
+
if (isNaN(date.getTime())) return "Invalid Date";
|
|
224
|
+
const options = {
|
|
225
|
+
year: "numeric",
|
|
226
|
+
month: "numeric",
|
|
227
|
+
day: "numeric",
|
|
228
|
+
hour: "numeric",
|
|
229
|
+
minute: "numeric",
|
|
230
|
+
hour12: true
|
|
231
|
+
};
|
|
232
|
+
return date.toLocaleString("en-US", options);
|
|
233
|
+
};
|
|
234
|
+
var removeByPropertyValues = (items = [], property, values = [], { caseInsensitive = false } = {}) => {
|
|
235
|
+
if (!Array.isArray(items) || !property) return Array.isArray(items) ? items : [];
|
|
236
|
+
const normalize = (v) => caseInsensitive && typeof v === "string" ? v.toLowerCase() : v;
|
|
237
|
+
const valuesArr = Array.isArray(values) ? values : [values];
|
|
238
|
+
const toRemove = new Set(valuesArr.map(normalize));
|
|
239
|
+
return items.filter((item) => !toRemove.has(normalize(item?.[property])));
|
|
240
|
+
};
|
|
241
|
+
var getFieldsByInputType = (fields = [], key) => {
|
|
242
|
+
return fields.filter(({ inputType = "" }) => inputType === key);
|
|
243
|
+
};
|
|
43
244
|
// Annotate the CommonJS export names for ESM import in node:
|
|
44
245
|
0 && (module.exports = {
|
|
45
|
-
|
|
246
|
+
capitalizeText,
|
|
247
|
+
checkIfExistsInArray,
|
|
248
|
+
cn,
|
|
249
|
+
convertCommaDataToArray,
|
|
250
|
+
currencyFormatter,
|
|
251
|
+
deserializeJson,
|
|
252
|
+
flattenTableData,
|
|
253
|
+
formatDate,
|
|
254
|
+
formatDateTime,
|
|
255
|
+
getApiError,
|
|
256
|
+
getErrorMessages,
|
|
257
|
+
getFieldsByCategory,
|
|
258
|
+
getFieldsByInputType,
|
|
259
|
+
getFieldsByName,
|
|
260
|
+
isEmpty,
|
|
261
|
+
normalizeApiListItems,
|
|
262
|
+
parseCurrencyValueToNumber,
|
|
263
|
+
removeByPropertyValues,
|
|
264
|
+
toDateInputValue,
|
|
265
|
+
toLowerCaseText,
|
|
266
|
+
truncateText
|
|
46
267
|
});
|
|
47
268
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/index.ts","../../src/utils/cn.ts"],"sourcesContent":["export { cn } from \"./cn\";\r\n","import clsx from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: Parameters<typeof clsx>) {\r\n return twMerge(clsx(inputs));\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,kBAAiB;AACjB,4BAAwB;AAEjB,SAAS,MAAM,QAAiC;AACrD,aAAO,mCAAQ,YAAAA,SAAK,MAAM,CAAC;AAC7B;","names":["clsx"]}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/index.ts","../../src/utils/cn.ts","../../src/utils/helpers.ts"],"sourcesContent":["export { cn } from \"./cn\";\r\nexport * from \"./helpers\";\r\n","import clsx from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: Parameters<typeof clsx>) {\r\n return twMerge(clsx(inputs));\r\n}\r\n","export const truncateText = (text: string | null | undefined, maxLength = 20) => {\n if (!text) return \"\";\n if (text.length <= maxLength) {\n return text;\n }\n return text.slice(0, maxLength - 3) + \"...\";\n};\n\nexport function getApiError(apiError: unknown): string {\n if (!apiError) return \"An unknown error occurred\";\n\n if (typeof apiError === \"string\") {\n return apiError;\n }\n\n const error = apiError as {\n response?: { data?: Record<string, unknown> };\n message?: string;\n };\n\n if (error.response?.data) {\n const responseData = error.response.data;\n\n if (typeof responseData === \"string\") {\n return responseData;\n }\n\n const errors = responseData.errors;\n if (errors && typeof errors === \"object\") {\n for (const key in errors) {\n const messages = (errors as Record<string, unknown>)[key];\n if (Array.isArray(messages) && messages.length > 0) {\n return String(messages[0]);\n }\n }\n }\n\n if (responseData.message) {\n return String(responseData.message);\n }\n\n if (responseData.title) {\n return String(responseData.title);\n }\n }\n\n if (error.message) {\n return error.message;\n }\n\n return \"An unknown error occurred\";\n}\n\nexport const normalizeApiListItems = (responseData: unknown): unknown[] => {\n if (responseData == null) return [];\n if (Array.isArray(responseData)) return responseData;\n\n const record = responseData as Record<string, unknown>;\n const data = record.data;\n\n if (\n data &&\n typeof data === \"object\" &&\n !Array.isArray(data) &&\n Array.isArray((data as { items?: unknown[] }).items)\n ) {\n return (data as { items: unknown[] }).items;\n }\n\n const returnModel = record.returnModel as { items?: unknown[] } | undefined;\n if (Array.isArray(returnModel?.items)) return returnModel.items;\n if (Array.isArray(data)) return data;\n if (typeof data === \"object\" && data !== null) {\n return [data];\n }\n return [];\n};\n\nexport function capitalizeText(name: string | null | undefined): string {\n if (!name) return \"\";\n return name\n .split(\" \")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(\" \");\n}\n\nexport function toLowerCaseText(text: string | null | undefined): string {\n if (!text) return \"\";\n return text.toLowerCase();\n}\n\nexport const formatDate = (dateString: string | null | undefined): string => {\n if (dateString === null || dateString === undefined) return \"-\";\n const date = new Date(dateString);\n\n if (isNaN(date.getTime())) {\n return dateString;\n }\n\n const month = (date.getMonth() + 1).toString().padStart(2, \"0\");\n const day = date.getDate().toString().padStart(2, \"0\");\n const year = date.getFullYear().toString().slice(-2);\n return `${month}/${day}/${year}`;\n};\n\nexport const isEmpty = (obj: object): boolean => {\n return Object.keys(obj).length === 0;\n};\n\nexport const toDateInputValue = (date: string | Date | null | undefined): string => {\n if (!date) return \"\";\n\n let d: Date;\n\n if (typeof date === \"string\") {\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(date)) {\n return date;\n }\n d = new Date(date);\n } else {\n d = new Date(date);\n }\n\n if (isNaN(d.getTime())) return \"\";\n\n const localDate = new Date(d.getTime() - d.getTimezoneOffset() * 60000);\n const year = localDate.getFullYear();\n const month = (localDate.getMonth() + 1).toString().padStart(2, \"0\");\n const day = localDate.getDate().toString().padStart(2, \"0\");\n\n return `${year}-${month}-${day}`;\n};\n\nexport function convertCommaDataToArray(data: string | null | undefined): string[] {\n if (!data || data.trim() === \"\") {\n return [];\n }\n return data.split(\",\").map((item) => item.trim());\n}\n\nexport function checkIfExistsInArray<T>(array: T[], searchValue: T): boolean {\n return array.includes(searchValue);\n}\n\nexport const currencyFormatter = (value: number | null | undefined): string => {\n return value?.toLocaleString(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n }) ?? \"\";\n};\n\nexport const parseCurrencyValueToNumber = (value: unknown): number => {\n if (value == null || value === \"\") return 0;\n\n const raw =\n typeof value === \"object\" && value !== null && \"value\" in value\n ? (value as { value: unknown }).value\n : value;\n\n const stringValue = raw == null || raw === \"\" ? \"\" : String(raw);\n const numericValue = stringValue.replace(/[$,]/g, \"\");\n return parseFloat(numericValue) || 0;\n};\n\nexport function flattenTableData<T extends Record<string, unknown>>(\n data: T[] | null | undefined,\n columns: { field?: string }[] | null | undefined\n): T[] {\n if (!Array.isArray(data)) return [];\n return data.map((row) => {\n const flatRow = { ...row };\n (columns ?? []).forEach((col) => {\n const key = col.field;\n if (!key) return;\n if (key.includes(\".\")) {\n const value = key.split(\".\").reduce<unknown>(\n (acc, part) => (acc as Record<string, unknown> | undefined)?.[part],\n row\n );\n (flatRow as Record<string, unknown>)[key] = value ?? \"\";\n }\n });\n return flatRow;\n });\n}\n\nexport const getErrorMessages = (error: {\n data?: {\n errors?: Record<string, string[]>;\n title?: string;\n error?: { name?: string[] };\n };\n} | null | undefined): string => {\n if (error?.data?.errors) {\n return Object.values(error.data.errors).flat().join(\"\\n\");\n }\n return (\n error?.data?.title ??\n error?.data?.error?.name?.[0] ??\n \"Failed to save\"\n );\n};\n\nexport const getFieldsByCategory = <T extends { category?: string }>(\n fields: T[] = [],\n key: string\n): T[] => {\n return fields?.filter(({ category = \"\" }) => category === key);\n};\n\nexport const getFieldsByName = <T extends { name?: string }>(\n fields: T[] = [],\n key: string\n): T[] => {\n return fields.filter(({ name = \"\" }) => name === key);\n};\n\nexport const deserializeJson = <T = unknown>(jsonString: string): T | null => {\n try {\n return JSON.parse(jsonString) as T;\n } catch (error) {\n console.error(\"Error parsing JSON:\", error);\n return null;\n }\n};\n\nexport const formatDateTime = (dateString: string | null | undefined): string => {\n if (!dateString) return \"Invalid Date\";\n const date = new Date(dateString);\n if (isNaN(date.getTime())) return \"Invalid Date\";\n const options: Intl.DateTimeFormatOptions = {\n year: \"numeric\",\n month: \"numeric\",\n day: \"numeric\",\n hour: \"numeric\",\n minute: \"numeric\",\n hour12: true,\n };\n return date.toLocaleString(\"en-US\", options);\n};\n\nexport const removeByPropertyValues = <T extends Record<string, unknown>>(\n items: T[] = [],\n property: keyof T & string,\n values: unknown[] = [],\n { caseInsensitive = false }: { caseInsensitive?: boolean } = {}\n): T[] => {\n if (!Array.isArray(items) || !property) return Array.isArray(items) ? items : [];\n const normalize = (v: unknown) =>\n caseInsensitive && typeof v === \"string\" ? v.toLowerCase() : v;\n const valuesArr = Array.isArray(values) ? values : [values];\n const toRemove = new Set(valuesArr.map(normalize));\n return items.filter((item) => !toRemove.has(normalize(item?.[property])));\n};\n\nexport const getFieldsByInputType = <T extends { inputType?: string }>(\n fields: T[] = [],\n key: string\n): T[] => {\n return fields.filter(({ inputType = \"\" }) => inputType === key);\n};\n"],"mappings":"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","names":["clsx"]}
|
package/dist/utils/index.mjs
CHANGED
|
@@ -1,7 +1,47 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
capitalizeText,
|
|
3
|
+
checkIfExistsInArray,
|
|
4
|
+
cn,
|
|
5
|
+
convertCommaDataToArray,
|
|
6
|
+
currencyFormatter,
|
|
7
|
+
deserializeJson,
|
|
8
|
+
flattenTableData,
|
|
9
|
+
formatDate,
|
|
10
|
+
formatDateTime,
|
|
11
|
+
getApiError,
|
|
12
|
+
getErrorMessages,
|
|
13
|
+
getFieldsByCategory,
|
|
14
|
+
getFieldsByInputType,
|
|
15
|
+
getFieldsByName,
|
|
16
|
+
isEmpty,
|
|
17
|
+
normalizeApiListItems,
|
|
18
|
+
parseCurrencyValueToNumber,
|
|
19
|
+
removeByPropertyValues,
|
|
20
|
+
toDateInputValue,
|
|
21
|
+
toLowerCaseText,
|
|
22
|
+
truncateText
|
|
23
|
+
} from "../chunk-WARJTN5T.mjs";
|
|
4
24
|
export {
|
|
5
|
-
|
|
25
|
+
capitalizeText,
|
|
26
|
+
checkIfExistsInArray,
|
|
27
|
+
cn,
|
|
28
|
+
convertCommaDataToArray,
|
|
29
|
+
currencyFormatter,
|
|
30
|
+
deserializeJson,
|
|
31
|
+
flattenTableData,
|
|
32
|
+
formatDate,
|
|
33
|
+
formatDateTime,
|
|
34
|
+
getApiError,
|
|
35
|
+
getErrorMessages,
|
|
36
|
+
getFieldsByCategory,
|
|
37
|
+
getFieldsByInputType,
|
|
38
|
+
getFieldsByName,
|
|
39
|
+
isEmpty,
|
|
40
|
+
normalizeApiListItems,
|
|
41
|
+
parseCurrencyValueToNumber,
|
|
42
|
+
removeByPropertyValues,
|
|
43
|
+
toDateInputValue,
|
|
44
|
+
toLowerCaseText,
|
|
45
|
+
truncateText
|
|
6
46
|
};
|
|
7
47
|
//# sourceMappingURL=index.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eztrak/shared",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Shared hooks, utils, and UI for Eztrak federation apps",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"types": "./dist/utils/index.d.ts",
|
|
18
18
|
"import": "./dist/utils/index.mjs",
|
|
19
19
|
"require": "./dist/utils/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./hooks": {
|
|
22
|
+
"types": "./dist/hooks/index.d.ts",
|
|
23
|
+
"import": "./dist/hooks/index.mjs",
|
|
24
|
+
"require": "./dist/hooks/index.js"
|
|
20
25
|
}
|
|
21
26
|
},
|
|
22
27
|
"scripts": {
|
|
@@ -27,10 +32,24 @@
|
|
|
27
32
|
"clsx": "^2.1.1",
|
|
28
33
|
"tailwind-merge": "^3.0.1"
|
|
29
34
|
},
|
|
35
|
+
"peerDependencies": {
|
|
36
|
+
"react": "^18.0.0",
|
|
37
|
+
"react-dom": "^18.0.0",
|
|
38
|
+
"react-router-dom": "^6.0.0 || ^7.0.0"
|
|
39
|
+
},
|
|
40
|
+
"peerDependenciesMeta": {
|
|
41
|
+
"react-router-dom": {
|
|
42
|
+
"optional": true
|
|
43
|
+
}
|
|
44
|
+
},
|
|
30
45
|
"publishConfig": {
|
|
31
46
|
"access": "public"
|
|
32
47
|
},
|
|
33
48
|
"devDependencies": {
|
|
49
|
+
"@types/react": "^18.3.0",
|
|
50
|
+
"react": "^18.3.1",
|
|
51
|
+
"react-dom": "^18.3.1",
|
|
52
|
+
"react-router-dom": "^7.0.0",
|
|
34
53
|
"tsup": "^8.0.0",
|
|
35
54
|
"typescript": "^5.7.0"
|
|
36
55
|
}
|
package/dist/chunk-IY5UXNBB.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/cn.ts"],"sourcesContent":["import clsx from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: Parameters<typeof clsx>) {\r\n return twMerge(clsx(inputs));\r\n}\r\n"],"mappings":";AAAA,OAAO,UAAU;AACjB,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAiC;AACrD,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;","names":[]}
|