@c-rex/utils 0.0.1 → 0.0.3

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/dist/index.d.mts CHANGED
@@ -1,5 +1,10 @@
1
- import { QueryParams } from '@c-rex/types';
2
1
  import { TreeOfContent } from '@c-rex/interfaces';
2
+ import { ClassValue } from 'clsx';
3
+
4
+ type QueryParams = {
5
+ key: string;
6
+ value: string;
7
+ };
3
8
 
4
9
  declare const createParams: (fieldsList: string[], key?: string) => {
5
10
  key: string;
@@ -10,4 +15,6 @@ declare const generateQueryParams: (params: QueryParams[]) => string;
10
15
 
11
16
  declare const generateBreadcrumbItems: (treeOfContent: TreeOfContent[]) => TreeOfContent[];
12
17
 
13
- export { createParams, generateBreadcrumbItems, generateQueryParams, updateUrlWithParams };
18
+ declare function cn(...inputs: ClassValue[]): string;
19
+
20
+ export { cn, createParams, generateBreadcrumbItems, generateQueryParams, updateUrlWithParams };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,10 @@
1
- import { QueryParams } from '@c-rex/types';
2
1
  import { TreeOfContent } from '@c-rex/interfaces';
2
+ import { ClassValue } from 'clsx';
3
+
4
+ type QueryParams = {
5
+ key: string;
6
+ value: string;
7
+ };
3
8
 
4
9
  declare const createParams: (fieldsList: string[], key?: string) => {
5
10
  key: string;
@@ -10,4 +15,6 @@ declare const generateQueryParams: (params: QueryParams[]) => string;
10
15
 
11
16
  declare const generateBreadcrumbItems: (treeOfContent: TreeOfContent[]) => TreeOfContent[];
12
17
 
13
- export { createParams, generateBreadcrumbItems, generateQueryParams, updateUrlWithParams };
18
+ declare function cn(...inputs: ClassValue[]): string;
19
+
20
+ export { cn, createParams, generateBreadcrumbItems, generateQueryParams, updateUrlWithParams };
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
+ cn: () => cn,
23
24
  createParams: () => createParams,
24
25
  generateBreadcrumbItems: () => generateBreadcrumbItems,
25
26
  generateQueryParams: () => generateQueryParams,
@@ -58,8 +59,16 @@ var generateBreadcrumbItems = (treeOfContent) => {
58
59
  });
59
60
  return result;
60
61
  };
62
+
63
+ // src/classMerge.ts
64
+ var import_clsx = require("clsx");
65
+ var import_tailwind_merge = require("tailwind-merge");
66
+ function cn(...inputs) {
67
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
68
+ }
61
69
  // Annotate the CommonJS export names for ESM import in node:
62
70
  0 && (module.exports = {
71
+ cn,
63
72
  createParams,
64
73
  generateBreadcrumbItems,
65
74
  generateQueryParams,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/utils.ts","../src/breadcrumbs.ts"],"sourcesContent":["export * from './utils';\nexport * from './treeOfContent';\nexport * from './breadcrumbs';","\nimport { QueryParams } from '@c-rex/types';\n//import * as Flags from 'country-flag-icons/react/3x2';\n//import { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime';\n\nexport const createParams = (fieldsList: string[], key: string = \"Fields\") =>\n fieldsList.map((item) => ({\n key: key,\n value: item,\n }));\n\nexport const updateUrlWithParams = (\n //router: AppRouterInstance,\n router: any,\n params: QueryParams[],\n) => {\n const searchParams = new URLSearchParams(window.location.search);\n\n params.forEach((param) => {\n searchParams.set(param.key, param.value.toString());\n });\n\n const queryString = searchParams.toString();\n router.push(`${window.location.pathname}?${queryString}`);\n};\n\nexport const generateQueryParams = (params: QueryParams[]): string => {\n const queryParams = params\n .map(\n (param) =>\n `${encodeURIComponent(param.key)}=${encodeURIComponent(param.value)}`,\n )\n .join(\"&\");\n return queryParams;\n};\n\n/*\nexport const getFlagIcon = (countryCode: string): JSX.Element | null => {\n if (countryCode === undefined) return null;\n \n return Flags[countryCode] || null;\n};\n\n\n*/","import { TreeOfContent } from \"@c-rex/interfaces\";\n\nexport const generateBreadcrumbItems = (\n treeOfContent: TreeOfContent[],\n): TreeOfContent[] => {\n const result: TreeOfContent[] = [];\n\n treeOfContent.forEach((item) => {\n if (item.active) {\n const filteredChildren = generateBreadcrumbItems(item.children);\n result.push(item, ...filteredChildren);\n }\n });\n\n return result;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKO,IAAM,eAAe,CAAC,YAAsB,MAAc,aAC7D,WAAW,IAAI,CAAC,UAAU;AAAA,EACtB;AAAA,EACA,OAAO;AACX,EAAE;AAEC,IAAM,sBAAsB,CAE/B,QACA,WACC;AACD,QAAM,eAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAE/D,SAAO,QAAQ,CAAC,UAAU;AACtB,iBAAa,IAAI,MAAM,KAAK,MAAM,MAAM,SAAS,CAAC;AAAA,EACtD,CAAC;AAED,QAAM,cAAc,aAAa,SAAS;AAC1C,SAAO,KAAK,GAAG,OAAO,SAAS,QAAQ,IAAI,WAAW,EAAE;AAC5D;AAEO,IAAM,sBAAsB,CAAC,WAAkC;AAClE,QAAM,cAAc,OACf;AAAA,IACG,CAAC,UACG,GAAG,mBAAmB,MAAM,GAAG,CAAC,IAAI,mBAAmB,MAAM,KAAK,CAAC;AAAA,EAC3E,EACC,KAAK,GAAG;AACb,SAAO;AACX;;;AChCO,IAAM,0BAA0B,CACnC,kBACkB;AAClB,QAAM,SAA0B,CAAC;AAEjC,gBAAc,QAAQ,CAAC,SAAS;AAC5B,QAAI,KAAK,QAAQ;AACb,YAAM,mBAAmB,wBAAwB,KAAK,QAAQ;AAC9D,aAAO,KAAK,MAAM,GAAG,gBAAgB;AAAA,IACzC;AAAA,EACJ,CAAC;AAED,SAAO;AACX;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/utils.ts","../src/breadcrumbs.ts","../src/classMerge.ts"],"sourcesContent":["export * from './utils';\nexport * from './treeOfContent';\nexport * from './breadcrumbs';\nexport * from './classMerge';","\nimport { QueryParams } from '@c-rex/types';\n//import * as Flags from 'country-flag-icons/react/3x2';\n//import { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime';\n\nexport const createParams = (fieldsList: string[], key: string = \"Fields\") =>\n fieldsList.map((item) => ({\n key: key,\n value: item,\n }));\n\nexport const updateUrlWithParams = (\n //router: AppRouterInstance,\n router: any,\n params: QueryParams[],\n) => {\n const searchParams = new URLSearchParams(window.location.search);\n\n params.forEach((param) => {\n searchParams.set(param.key, param.value.toString());\n });\n\n const queryString = searchParams.toString();\n router.push(`${window.location.pathname}?${queryString}`);\n};\n\nexport const generateQueryParams = (params: QueryParams[]): string => {\n const queryParams = params\n .map(\n (param) =>\n `${encodeURIComponent(param.key)}=${encodeURIComponent(param.value)}`,\n )\n .join(\"&\");\n return queryParams;\n};\n\n/*\nexport const getFlagIcon = (countryCode: string): JSX.Element | null => {\n if (countryCode === undefined) return null;\n \n return Flags[countryCode] || null;\n};\n\n\n*/","import { TreeOfContent } from \"@c-rex/interfaces\";\n\nexport const generateBreadcrumbItems = (\n treeOfContent: TreeOfContent[],\n): TreeOfContent[] => {\n const result: TreeOfContent[] = [];\n\n treeOfContent.forEach((item) => {\n if (item.active) {\n const filteredChildren = generateBreadcrumbItems(item.children);\n result.push(item, ...filteredChildren);\n }\n });\n\n return result;\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKO,IAAM,eAAe,CAAC,YAAsB,MAAc,aAC7D,WAAW,IAAI,CAAC,UAAU;AAAA,EACtB;AAAA,EACA,OAAO;AACX,EAAE;AAEC,IAAM,sBAAsB,CAE/B,QACA,WACC;AACD,QAAM,eAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAE/D,SAAO,QAAQ,CAAC,UAAU;AACtB,iBAAa,IAAI,MAAM,KAAK,MAAM,MAAM,SAAS,CAAC;AAAA,EACtD,CAAC;AAED,QAAM,cAAc,aAAa,SAAS;AAC1C,SAAO,KAAK,GAAG,OAAO,SAAS,QAAQ,IAAI,WAAW,EAAE;AAC5D;AAEO,IAAM,sBAAsB,CAAC,WAAkC;AAClE,QAAM,cAAc,OACf;AAAA,IACG,CAAC,UACG,GAAG,mBAAmB,MAAM,GAAG,CAAC,IAAI,mBAAmB,MAAM,KAAK,CAAC;AAAA,EAC3E,EACC,KAAK,GAAG;AACb,SAAO;AACX;;;AChCO,IAAM,0BAA0B,CACnC,kBACkB;AAClB,QAAM,SAA0B,CAAC;AAEjC,gBAAc,QAAQ,CAAC,SAAS;AAC5B,QAAI,KAAK,QAAQ;AACb,YAAM,mBAAmB,wBAAwB,KAAK,QAAQ;AAC9D,aAAO,KAAK,MAAM,GAAG,gBAAgB;AAAA,IACzC;AAAA,EACJ,CAAC;AAED,SAAO;AACX;;;ACfA,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AACxC,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC/B;","names":[]}
package/dist/index.mjs CHANGED
@@ -29,7 +29,15 @@ var generateBreadcrumbItems = (treeOfContent) => {
29
29
  });
30
30
  return result;
31
31
  };
32
+
33
+ // src/classMerge.ts
34
+ import { clsx } from "clsx";
35
+ import { twMerge } from "tailwind-merge";
36
+ function cn(...inputs) {
37
+ return twMerge(clsx(inputs));
38
+ }
32
39
  export {
40
+ cn,
33
41
  createParams,
34
42
  generateBreadcrumbItems,
35
43
  generateQueryParams,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.ts","../src/breadcrumbs.ts"],"sourcesContent":["\nimport { QueryParams } from '@c-rex/types';\n//import * as Flags from 'country-flag-icons/react/3x2';\n//import { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime';\n\nexport const createParams = (fieldsList: string[], key: string = \"Fields\") =>\n fieldsList.map((item) => ({\n key: key,\n value: item,\n }));\n\nexport const updateUrlWithParams = (\n //router: AppRouterInstance,\n router: any,\n params: QueryParams[],\n) => {\n const searchParams = new URLSearchParams(window.location.search);\n\n params.forEach((param) => {\n searchParams.set(param.key, param.value.toString());\n });\n\n const queryString = searchParams.toString();\n router.push(`${window.location.pathname}?${queryString}`);\n};\n\nexport const generateQueryParams = (params: QueryParams[]): string => {\n const queryParams = params\n .map(\n (param) =>\n `${encodeURIComponent(param.key)}=${encodeURIComponent(param.value)}`,\n )\n .join(\"&\");\n return queryParams;\n};\n\n/*\nexport const getFlagIcon = (countryCode: string): JSX.Element | null => {\n if (countryCode === undefined) return null;\n \n return Flags[countryCode] || null;\n};\n\n\n*/","import { TreeOfContent } from \"@c-rex/interfaces\";\n\nexport const generateBreadcrumbItems = (\n treeOfContent: TreeOfContent[],\n): TreeOfContent[] => {\n const result: TreeOfContent[] = [];\n\n treeOfContent.forEach((item) => {\n if (item.active) {\n const filteredChildren = generateBreadcrumbItems(item.children);\n result.push(item, ...filteredChildren);\n }\n });\n\n return result;\n};\n"],"mappings":";AAKO,IAAM,eAAe,CAAC,YAAsB,MAAc,aAC7D,WAAW,IAAI,CAAC,UAAU;AAAA,EACtB;AAAA,EACA,OAAO;AACX,EAAE;AAEC,IAAM,sBAAsB,CAE/B,QACA,WACC;AACD,QAAM,eAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAE/D,SAAO,QAAQ,CAAC,UAAU;AACtB,iBAAa,IAAI,MAAM,KAAK,MAAM,MAAM,SAAS,CAAC;AAAA,EACtD,CAAC;AAED,QAAM,cAAc,aAAa,SAAS;AAC1C,SAAO,KAAK,GAAG,OAAO,SAAS,QAAQ,IAAI,WAAW,EAAE;AAC5D;AAEO,IAAM,sBAAsB,CAAC,WAAkC;AAClE,QAAM,cAAc,OACf;AAAA,IACG,CAAC,UACG,GAAG,mBAAmB,MAAM,GAAG,CAAC,IAAI,mBAAmB,MAAM,KAAK,CAAC;AAAA,EAC3E,EACC,KAAK,GAAG;AACb,SAAO;AACX;;;AChCO,IAAM,0BAA0B,CACnC,kBACkB;AAClB,QAAM,SAA0B,CAAC;AAEjC,gBAAc,QAAQ,CAAC,SAAS;AAC5B,QAAI,KAAK,QAAQ;AACb,YAAM,mBAAmB,wBAAwB,KAAK,QAAQ;AAC9D,aAAO,KAAK,MAAM,GAAG,gBAAgB;AAAA,IACzC;AAAA,EACJ,CAAC;AAED,SAAO;AACX;","names":[]}
1
+ {"version":3,"sources":["../src/utils.ts","../src/breadcrumbs.ts","../src/classMerge.ts"],"sourcesContent":["\nimport { QueryParams } from '@c-rex/types';\n//import * as Flags from 'country-flag-icons/react/3x2';\n//import { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime';\n\nexport const createParams = (fieldsList: string[], key: string = \"Fields\") =>\n fieldsList.map((item) => ({\n key: key,\n value: item,\n }));\n\nexport const updateUrlWithParams = (\n //router: AppRouterInstance,\n router: any,\n params: QueryParams[],\n) => {\n const searchParams = new URLSearchParams(window.location.search);\n\n params.forEach((param) => {\n searchParams.set(param.key, param.value.toString());\n });\n\n const queryString = searchParams.toString();\n router.push(`${window.location.pathname}?${queryString}`);\n};\n\nexport const generateQueryParams = (params: QueryParams[]): string => {\n const queryParams = params\n .map(\n (param) =>\n `${encodeURIComponent(param.key)}=${encodeURIComponent(param.value)}`,\n )\n .join(\"&\");\n return queryParams;\n};\n\n/*\nexport const getFlagIcon = (countryCode: string): JSX.Element | null => {\n if (countryCode === undefined) return null;\n \n return Flags[countryCode] || null;\n};\n\n\n*/","import { TreeOfContent } from \"@c-rex/interfaces\";\n\nexport const generateBreadcrumbItems = (\n treeOfContent: TreeOfContent[],\n): TreeOfContent[] => {\n const result: TreeOfContent[] = [];\n\n treeOfContent.forEach((item) => {\n if (item.active) {\n const filteredChildren = generateBreadcrumbItems(item.children);\n result.push(item, ...filteredChildren);\n }\n });\n\n return result;\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";AAKO,IAAM,eAAe,CAAC,YAAsB,MAAc,aAC7D,WAAW,IAAI,CAAC,UAAU;AAAA,EACtB;AAAA,EACA,OAAO;AACX,EAAE;AAEC,IAAM,sBAAsB,CAE/B,QACA,WACC;AACD,QAAM,eAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAE/D,SAAO,QAAQ,CAAC,UAAU;AACtB,iBAAa,IAAI,MAAM,KAAK,MAAM,MAAM,SAAS,CAAC;AAAA,EACtD,CAAC;AAED,QAAM,cAAc,aAAa,SAAS;AAC1C,SAAO,KAAK,GAAG,OAAO,SAAS,QAAQ,IAAI,WAAW,EAAE;AAC5D;AAEO,IAAM,sBAAsB,CAAC,WAAkC;AAClE,QAAM,cAAc,OACf;AAAA,IACG,CAAC,UACG,GAAG,mBAAmB,MAAM,GAAG,CAAC,IAAI,mBAAmB,MAAM,KAAK,CAAC;AAAA,EAC3E,EACC,KAAK,GAAG;AACb,SAAO;AACX;;;AChCO,IAAM,0BAA0B,CACnC,kBACkB;AAClB,QAAM,SAA0B,CAAC;AAEjC,gBAAc,QAAQ,CAAC,SAAS;AAC5B,QAAI,KAAK,QAAQ;AACb,YAAM,mBAAmB,wBAAwB,KAAK,QAAQ;AAC9D,aAAO,KAAK,MAAM,GAAG,gBAAgB;AAAA,IACzC;AAAA,EACJ,CAAC;AAED,SAAO;AACX;;;ACfA,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AACxC,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC/B;","names":[]}
package/package.json CHANGED
@@ -1,10 +1,15 @@
1
1
  {
2
2
  "name": "@c-rex/utils",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",
7
- "files": ["dist"],
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
8
13
  "exports": {
9
14
  ".": {
10
15
  "types": "./dist/index.d.ts",
@@ -18,7 +23,7 @@
18
23
  "dev": "tsup src/index.ts --format cjs,esm --dts --watch",
19
24
  "build": "tsup src/index.ts --format cjs,esm --dts",
20
25
  "test:watch": "jest --watch",
21
- "test": "jest --coverage"
26
+ "test": "jest"
22
27
  },
23
28
  "devDependencies": {
24
29
  "@c-rex/eslint-config": "*",
@@ -28,9 +33,13 @@
28
33
  "@types/node": "^22.13.10",
29
34
  "eslint": "^9.23.0",
30
35
  "jest": "^29.7.0",
31
- "typescript": "latest"
36
+ "jest-environment-jsdom": "^29.7.0",
37
+ "ts-jest": "^29.3.2",
38
+ "typescript": "^5.8.3"
32
39
  },
33
40
  "dependencies": {
34
- "@c-rex/interfaces": "*"
41
+ "@c-rex/interfaces": "*",
42
+ "clsx": "^2.1.1",
43
+ "tailwind-merge": "^3.2.0"
35
44
  }
36
45
  }