@ews-admin/global-design-system 1.1.22 → 1.1.24

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.
@@ -0,0 +1,32 @@
1
+ export type Environment = "local" | "dev" | "qa" | "prod";
2
+ export interface EnvConfigOverrides {
3
+ bffUrl?: string;
4
+ loginBffUrl?: string;
5
+ appUrl?: string;
6
+ loginUrl?: string;
7
+ dashboardUrl?: string;
8
+ adminUrl?: string;
9
+ }
10
+ export interface EnvConfig {
11
+ env: Environment;
12
+ bffUrl: string;
13
+ loginBffUrl: string;
14
+ appUrl: string;
15
+ loginUrl: string;
16
+ dashboardUrl: string;
17
+ adminUrl: string;
18
+ }
19
+ /**
20
+ * Creates an environment configuration with all derived URLs.
21
+ *
22
+ * For deployed environments (dev, qa, prod), only the environment name is needed
23
+ * — all URLs follow a predictable convention.
24
+ *
25
+ * For local development, sensible defaults are provided but can be overridden
26
+ * (e.g. to point BFF URL at a mock server).
27
+ *
28
+ * @param env - The environment name (VITE_ENV value)
29
+ * @param overrides - Optional URL overrides (e.g. for local mock servers)
30
+ */
31
+ export declare function createEnvConfig(env: string, overrides?: EnvConfigOverrides): EnvConfig;
32
+ //# sourceMappingURL=env-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/utils/env-config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAuCD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,kBAAkB,GAC7B,SAAS,CASX"}
@@ -1,4 +1,6 @@
1
1
  import { type ClassValue } from "clsx";
2
+ export { createEnvConfig } from "./env-config";
3
+ export type { EnvConfig, EnvConfigOverrides, Environment, } from "./env-config";
2
4
  /**
3
5
  * Default currency for price formatting
4
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAQ,CAAC;AAE9B;;;;GAIG;AACH,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAW,GAAG,MAAM,CAK1E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAC5B,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,GACnC,MAAM,CAQR;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAChE,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAMlC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,SAAQ,GAAG,MAAM,CAEjD;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,MAE7C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMzD;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,UAAU,OAAO;IACjB,UAAU,OAAO;IACjB,UAAU,OAAO;IACjB,UAAU,OAAO;IACjB,WAAW,QAAQ;IACnB,WAAW,QAAQ;IACnB,UAAU,OAAO;IACjB,UAAU,OAAO;IACjB,OAAO,YAAY;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,EAUlC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAQ,CAAC;AAE9B;;;;GAIG;AACH,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAW,GAAG,MAAM,CAK1E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAC5B,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,GACnC,MAAM,CAQR;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAChE,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAMlC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,SAAQ,GAAG,MAAM,CAEjD;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,MAE7C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMzD;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,UAAU,OAAO;IACjB,UAAU,OAAO;IACjB,UAAU,OAAO;IACjB,UAAU,OAAO;IACjB,WAAW,QAAQ;IACnB,WAAW,QAAQ;IACnB,UAAU,OAAO;IACjB,UAAU,OAAO;IACjB,OAAO,YAAY;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,EAUlC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ews-admin/global-design-system",
3
- "version": "1.1.22",
3
+ "version": "1.1.24",
4
4
  "description": "EWS Global Design System - Reusable components for EWS applications",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",
package/src/index.ts CHANGED
@@ -52,6 +52,7 @@ export {
52
52
  BLOOD_TYPES,
53
53
  BloodType,
54
54
  cn,
55
+ createEnvConfig,
55
56
  debounce,
56
57
  formatCurrency,
57
58
  formatDate,
@@ -59,6 +60,7 @@ export {
59
60
  generateId,
60
61
  isValidPhoneNumber,
61
62
  } from "./utils";
63
+ export type { EnvConfig, EnvConfigOverrides, Environment } from "./utils";
62
64
 
63
65
  // Hooks
64
66
  export { useDebounce, useDebouncedCallback, useSelectField } from "./hooks";
@@ -0,0 +1,83 @@
1
+ export type Environment = "local" | "dev" | "qa" | "prod";
2
+
3
+ export interface EnvConfigOverrides {
4
+ bffUrl?: string;
5
+ loginBffUrl?: string;
6
+ appUrl?: string;
7
+ loginUrl?: string;
8
+ dashboardUrl?: string;
9
+ adminUrl?: string;
10
+ }
11
+
12
+ export interface EnvConfig {
13
+ env: Environment;
14
+ bffUrl: string;
15
+ loginBffUrl: string;
16
+ appUrl: string;
17
+ loginUrl: string;
18
+ dashboardUrl: string;
19
+ adminUrl: string;
20
+ }
21
+
22
+ const LOCAL_PORTS = {
23
+ bff: 8082,
24
+ loginBff: 8080,
25
+ app: 3000,
26
+ login: 3001,
27
+ dashboard: 3002,
28
+ admin: 3008,
29
+ } as const;
30
+
31
+ function buildUrls(environment: Environment): Omit<EnvConfig, "env"> {
32
+ if (environment === "local") {
33
+ const domain = "medecine360local.com";
34
+ // APIs run at api.medecine360local.com (no "local." prefix)
35
+ // Frontend apps run at local.{app}.medecine360local.com
36
+ return {
37
+ bffUrl: `http://api.${domain}:${LOCAL_PORTS.bff}/bff/api/v1`,
38
+ loginBffUrl: `http://api.${domain}:${LOCAL_PORTS.loginBff}/login-bff/api/v1`,
39
+ appUrl: `http://local.app.${domain}:${LOCAL_PORTS.app}`,
40
+ loginUrl: `http://local.login.${domain}:${LOCAL_PORTS.login}`,
41
+ dashboardUrl: `http://local.dashboard.${domain}:${LOCAL_PORTS.dashboard}`,
42
+ adminUrl: `http://local.admin.${domain}:${LOCAL_PORTS.admin}`,
43
+ };
44
+ }
45
+
46
+ const prefix = environment === "prod" ? "" : `${environment}.`;
47
+ const domain = "medecine360.com";
48
+
49
+ return {
50
+ bffUrl: `https://${prefix}api.${domain}/bff/api/v1`,
51
+ loginBffUrl: `https://${prefix}api.${domain}/login-bff/api/v1`,
52
+ appUrl: `https://${prefix}app.${domain}`,
53
+ loginUrl: `https://${prefix}login.${domain}`,
54
+ dashboardUrl: `https://${prefix}dashboard.${domain}`,
55
+ adminUrl: `https://${prefix}admin.${domain}`,
56
+ };
57
+ }
58
+
59
+ /**
60
+ * Creates an environment configuration with all derived URLs.
61
+ *
62
+ * For deployed environments (dev, qa, prod), only the environment name is needed
63
+ * — all URLs follow a predictable convention.
64
+ *
65
+ * For local development, sensible defaults are provided but can be overridden
66
+ * (e.g. to point BFF URL at a mock server).
67
+ *
68
+ * @param env - The environment name (VITE_ENV value)
69
+ * @param overrides - Optional URL overrides (e.g. for local mock servers)
70
+ */
71
+ export function createEnvConfig(
72
+ env: string,
73
+ overrides?: EnvConfigOverrides
74
+ ): EnvConfig {
75
+ const environment = (env || "local") as Environment;
76
+ const derived = buildUrls(environment);
77
+
78
+ return {
79
+ env: environment,
80
+ ...derived,
81
+ ...overrides,
82
+ };
83
+ }
@@ -1,5 +1,12 @@
1
1
  import { clsx, type ClassValue } from "clsx";
2
2
 
3
+ export { createEnvConfig } from "./env-config";
4
+ export type {
5
+ EnvConfig,
6
+ EnvConfigOverrides,
7
+ Environment,
8
+ } from "./env-config";
9
+
3
10
  /**
4
11
  * Default currency for price formatting
5
12
  */