codenotch-react 1.0.60 → 1.0.62

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.
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import { SpaRenderStatus } from '@echino/echino.ui.framework/components/SpaBuilder/common/ISpaRenderProps';
3
3
  interface IAumlProps {
4
4
  value: string;
5
+ verbose?: boolean;
5
6
  }
6
7
  interface IAumlState {
7
8
  loaded: boolean;
@@ -11,10 +12,9 @@ export declare class Auml extends React.Component<IAumlProps, IAumlState> {
11
12
  _refreshTokenTimer: NodeJS.Timeout | undefined;
12
13
  constructor(props: IAumlProps);
13
14
  componentDidMount(): void;
15
+ registerRefreshToken(): void;
14
16
  componentWillUnmount(): void;
15
17
  progress(s: SpaRenderStatus): void;
16
- getLogo(): React.JSX.Element;
17
- getMode(theme: boolean | undefined): "light" | "dark";
18
18
  retrieveInputs(): {
19
19
  [k: string]: string;
20
20
  };
@@ -23,6 +23,7 @@ export declare class Auml extends React.Component<IAumlProps, IAumlState> {
23
23
  msToTime(ms: number): string;
24
24
  parseJwt(token: string): any;
25
25
  render(): React.JSX.Element;
26
+ renderLoadingContent(): React.JSX.Element;
26
27
  refreshExpiredToken(): Promise<void>;
27
28
  }
28
29
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Auml.d.ts","sourceRoot":"","sources":["../../src/components/Auml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,0EAA0E,CAAC;AAU3G,UAAU,UAAU;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,UAAU;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,IAAK,SAAQ,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAE7D,kBAAkB,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;gBAEnC,KAAK,EAAE,UAAU;IAY7B,iBAAiB;IAmCjB,oBAAoB;IAQpB,QAAQ,CAAC,CAAC,EAAE,eAAe;IAO3B,OAAO;IAYP,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS;IAclC,cAAc;;;IAMd,wBAAwB,IAAI,MAAM,GAAG,IAAI;IAmCzC,2BAA2B,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM;IAO/D,QAAQ,CAAC,EAAE,EAAE,MAAM;IAmBnB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAsBtB,MAAM;IAoDA,mBAAmB;CAoC5B"}
1
+ {"version":3,"file":"Auml.d.ts","sourceRoot":"","sources":["../../src/components/Auml.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,0EAA0E,CAAC;AAW3G,UAAU,UAAU;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,UAAU;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,IAAK,SAAQ,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAE7D,kBAAkB,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;gBAEnC,KAAK,EAAE,UAAU;IAa7B,iBAAiB;IAIjB,oBAAoB;IAoCpB,oBAAoB;IAOpB,QAAQ,CAAC,CAAC,EAAE,eAAe;IAS3B,cAAc;;;IAMd,wBAAwB,IAAI,MAAM,GAAG,IAAI;IAqCzC,2BAA2B,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM;IAO/D,QAAQ,CAAC,EAAE,EAAE,MAAM;IAmBnB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAUtB,MAAM;IAkDN,oBAAoB;IAkBd,mBAAmB;CAoC5B"}
@@ -7,6 +7,7 @@ exports.Auml = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const SpaRenderWithBrowserRouter_1 = require("@echino/echino.ui.framework/components/SpaBuilder/SpaRender/SpaRenderWithBrowserRouter");
9
9
  const I18nUtils_1 = __importDefault(require("../utils/I18nUtils"));
10
+ const index_1 = require("../index");
10
11
  class Auml extends react_1.default.Component {
11
12
  constructor(props) {
12
13
  super(props);
@@ -20,18 +21,25 @@ class Auml extends react_1.default.Component {
20
21
  }
21
22
  }
22
23
  componentDidMount() {
24
+ this.registerRefreshToken();
25
+ }
26
+ registerRefreshToken() {
23
27
  try {
24
28
  // Setup a method to refresh our access token when it expires
25
29
  if (this._refreshTokenTimer) {
26
30
  clearTimeout(this._refreshTokenTimer);
27
31
  }
28
32
  if (user === null) {
29
- console.log("No user found, will not refresh the token");
33
+ if (this.props.verbose === true) {
34
+ console.log("No user found, will not refresh the token");
35
+ }
30
36
  return;
31
37
  }
32
38
  let timeToExpireMs = this.getTimeToTokenExpiration();
33
39
  if (timeToExpireMs === null) {
34
- console.log("No identity token found, attempting refreshing the token in 5 minutes");
40
+ if (this.props.verbose === true) {
41
+ console.log("No identity token found, attempting refreshing the token in 5 minutes");
42
+ }
35
43
  this._refreshTokenTimer = setTimeout(() => this.refreshExpiredToken(), 5 * 60 * 1000);
36
44
  return;
37
45
  }
@@ -59,25 +67,6 @@ class Auml extends react_1.default.Component {
59
67
  this.setState({ loaded: true });
60
68
  }
61
69
  }
62
- getLogo() {
63
- //@ts-ignore
64
- let tenant = global.tenant;
65
- if (tenant.logoUrl) {
66
- return react_1.default.createElement("img", { src: tenant.logoUrl, alt: tenant.displayName });
67
- }
68
- else {
69
- return react_1.default.createElement("div", { className: 'app-loading-title' }, tenant.displayName);
70
- }
71
- }
72
- getMode(theme) {
73
- if (theme !== undefined) {
74
- return theme ? 'dark' : 'light';
75
- }
76
- if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
77
- return 'dark';
78
- }
79
- return 'light';
80
- }
81
70
  // Get input from the query parameters in the url
82
71
  retrieveInputs() {
83
72
  return Object.fromEntries(new URLSearchParams(window.location.search).entries());
@@ -101,7 +90,9 @@ class Auml extends react_1.default.Component {
101
90
  let expires = identityTokenParsed.exp; // Timestamp in second since Unix epoch
102
91
  let timeToExpiresMs = expires * 1000 - new Date().getTime();
103
92
  let timeToExpireStr = this.msToTime(timeToExpiresMs);
104
- console.log(`Token will expire at ${new Date(expires * 1000).toISOString()} (in ${timeToExpireStr}), setting up a timer to refresh it`);
93
+ if (this.props.verbose === true) {
94
+ console.log(`Token will expire at ${new Date(expires * 1000).toISOString()} (in ${timeToExpireStr}), setting up a timer to refresh it`);
95
+ }
105
96
  // Refresh it a bit before the expiration (5 min)
106
97
  timeToExpiresMs -= 5 * 60 * 1000;
107
98
  return timeToExpiresMs;
@@ -131,24 +122,10 @@ class Auml extends react_1.default.Component {
131
122
  }).join(''));
132
123
  return JSON.parse(jsonPayload);
133
124
  }
134
- /*
135
- export interface UserInfo {
136
-
137
- id: string,
138
- roles: string[],
139
- groups: string[],
140
- email: string,
141
- firstName: string,
142
- lastName: string
143
- }
144
- */
145
125
  render() {
146
- //var clusterUrl = this.figureOutClusterUrl();
147
126
  let inputs = this.retrieveInputs();
148
- let theme = undefined;
149
- if (inputs["_theme"]) {
150
- theme = inputs["_theme"].toLowerCase() === "dark";
151
- }
127
+ const cn = (0, index_1.useCodenotch)();
128
+ let theme = cn.env.theme === "dark";
152
129
  let aumlManifest = null;
153
130
  try {
154
131
  let appManifestObj = JSON.parse(appManifest);
@@ -157,7 +134,10 @@ export interface UserInfo {
157
134
  catch { }
158
135
  let auml = this.props.value;
159
136
  try {
160
- auml = I18nUtils_1.default.compileAuml(auml);
137
+ auml = I18nUtils_1.default.compileAuml(auml, cn);
138
+ if (this.props.verbose === true) {
139
+ console.log("Compiled AUML with i18n variables: ", auml);
140
+ }
161
141
  }
162
142
  catch (err) {
163
143
  console.error("Error compiling AUML with i18n variables: " + err);
@@ -165,10 +145,26 @@ export interface UserInfo {
165
145
  return react_1.default.createElement("div", { className: "app" },
166
146
  react_1.default.createElement(SpaRenderWithBrowserRouter_1.SpaRenderWithBrowserRouter, { appDescription: auml, tenant: tenant, serviceName: serviceName, packageVersions: packageVersions, user: user, languages: languages, onProgress: (s) => this.progress(s), input: inputs, theme: theme, manifest: aumlManifest, inspectorEnabled: this.state.inspectorEnabled, children: [] }),
167
147
  !this.state.loaded &&
168
- react_1.default.createElement("div", { className: `app-loading ${this.getMode(theme)}` },
169
- this.getLogo(),
148
+ react_1.default.createElement("div", { className: `app-loading ${cn.env.theme ?? 'light'}` },
149
+ this.renderLoadingContent(),
170
150
  react_1.default.createElement("i", { className: "fas fa-circle-notch fa-spin" })));
171
151
  }
152
+ renderLoadingContent() {
153
+ try {
154
+ //@ts-ignore
155
+ let tenant = global.tenant;
156
+ if (tenant.logoUrl) {
157
+ return react_1.default.createElement("img", { src: tenant.logoUrl, alt: tenant.displayName });
158
+ }
159
+ else {
160
+ return react_1.default.createElement("div", { className: 'app-loading-title' }, tenant.displayName);
161
+ }
162
+ }
163
+ catch (e) {
164
+ console.warn("Could not load tenant information: " + e);
165
+ return react_1.default.createElement("div", { className: 'app-loading-title' }, "Loading...");
166
+ }
167
+ }
172
168
  async refreshExpiredToken() {
173
169
  console.log("Token will expire soon, requesting a new one...");
174
170
  // Using the refresh token we ask for a new access token using /portal/login/refresh
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAIjD,QAAA,MAAM,GAAG,EAAE,aAAkB,CAAC;AAM9B;;;;GAIG;AACH,iBAAS,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG,IAAI,CAqErC;AAED,iBAAS,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAoCjD;AAED;;;GAGG;AACH,iBAAS,YAAY,IAAI,aAAa,CAkLrC;AAED,OAAO,EACH,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACb,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAIjD,QAAA,MAAM,GAAG,EAAE,aAAkB,CAAC;AAM9B;;;;GAIG;AACH,iBAAS,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG,IAAI,CAyFrC;AAED,iBAAS,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAoCjD;AAED;;;GAGG;AACH,iBAAS,YAAY,IAAI,aAAa,CAkLrC;AAED,OAAO,EACH,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACb,CAAC"}
package/dist/index.js CHANGED
@@ -27,65 +27,82 @@ const MISSING_TENANT_NAME_ERROR = "Codenotch tenant name is not defined. Please
27
27
  * @returns {void}
28
28
  */
29
29
  function init(envVariables) {
30
- if (envVariables === undefined || envVariables === null) {
31
- console.warn("Codenotch environment is not defined. Please set it in the Codenotch configuration.");
32
- return;
33
- }
34
- // i18n.fr.somekey=some value
35
- let i18nLanguages = new Set();
36
- Object.keys(envVariables).forEach((key) => {
37
- try {
38
- if (key.startsWith('GLOBAL.')) {
39
- // Global variable, we set it directly on the window object
40
- let globalKey = key.substring('GLOBAL.'.length);
41
- let globalObject = typeof window !== 'undefined' ? window : globalThis;
42
- globalObject[globalKey] = JSON.parse(envVariables[key]);
43
- console.log(`Codenotch global variable ${globalKey} set!`);
44
- return;
45
- }
46
- else if (key.startsWith("i18n.")) {
47
- // Special case
48
- let parts = key.split("."); // i18n.someKey.fr
49
- let language = parts[parts.length - 1]; // fr
50
- let keyName = parts.slice(1, parts.length - 1).join("."); // someKey
51
- i18nLanguages.add(language);
52
- let value = `${envVariables[key]}`.trim();
53
- if (value.startsWith('"') && value.endsWith('"')) {
54
- // Parse like json
55
- value = JSON.parse(value);
30
+ // Ensure envVariables is an object
31
+ if (typeof envVariables === 'object' && envVariables !== null) {
32
+ let i18nLanguages = new Set();
33
+ Object.keys(envVariables).forEach((key) => {
34
+ try {
35
+ if (key.startsWith('GLOBAL.')) {
36
+ // Global variable, we set it directly on the window object
37
+ let globalKey = key.substring('GLOBAL.'.length);
38
+ let globalObject = typeof window !== 'undefined' ? window : globalThis;
39
+ globalObject[globalKey] = JSON.parse(envVariables[key]);
40
+ console.log(`Codenotch global variable ${globalKey} set!`);
41
+ return;
56
42
  }
57
- env.i18n = env.i18n ?? {};
58
- env.i18n[language] = env.i18n[language] ?? {};
59
- env.i18n[language][keyName] = value;
60
- }
61
- else {
62
- env[key] = envVariables[key];
63
- if (['appManifest', 'projectManifest'].includes(key)) {
64
- // Must be Json
65
- try {
66
- env[key] = JSON.parse(envVariables[key]);
43
+ else if (key.startsWith("i18n.")) {
44
+ // Special case
45
+ let parts = key.split("."); // i18n.someKey.fr
46
+ let language = parts[parts.length - 1]; // fr
47
+ let keyName = parts.slice(1, parts.length - 1).join("."); // someKey
48
+ i18nLanguages.add(language);
49
+ let value = `${envVariables[key]}`.trim();
50
+ if (value.startsWith('"') && value.endsWith('"')) {
51
+ // Parse like json
52
+ value = JSON.parse(value);
67
53
  }
68
- catch (error) {
69
- console.warn(`Codenotch environment variable ${key} is not a valid JSON string. Using raw value.`);
54
+ env.i18n = env.i18n ?? {};
55
+ env.i18n[language] = env.i18n[language] ?? {};
56
+ env.i18n[language][keyName] = value;
57
+ }
58
+ else {
59
+ env[key] = envVariables[key];
60
+ if (['appManifest', 'projectManifest'].includes(key)) {
61
+ // Must be Json
62
+ try {
63
+ env[key] = JSON.parse(envVariables[key]);
64
+ }
65
+ catch (error) {
66
+ console.warn(`Codenotch environment variable ${key} is not a valid JSON string. Using raw value.`);
67
+ }
70
68
  }
69
+ console.log(`Codenotch environment variable ${key} set to ${env[key]}`);
71
70
  }
72
- console.log(`Codenotch environment variable ${key} set to ${env[key]}`);
73
71
  }
74
- }
75
- catch (error) {
76
- console.error(`Error processing Codenotch environment variable ${key}:`, error);
77
- }
78
- });
79
- if (env.language === undefined) {
80
- // If current language is not defined, we set it to the first language found in i18n
81
- if (i18nLanguages.size > 0) {
82
- env.language = Array.from(i18nLanguages)[0];
83
- console.log(`Codenotch current language set to ${env.language}`);
72
+ catch (error) {
73
+ console.error(`Error processing Codenotch environment variable ${key}:`, error);
74
+ }
75
+ });
76
+ if (env.language === undefined) {
77
+ // If current language is not defined, we set it to the first language found in i18n
78
+ if (i18nLanguages.size > 0) {
79
+ env.language = Array.from(i18nLanguages)[0];
80
+ console.log(`Codenotch current language set to ${env.language}`);
81
+ }
84
82
  }
85
83
  }
84
+ // Instantiate SignalR for further use in the API
86
85
  if (env.clusterUrl && env.serviceName) {
87
86
  signalR = new SignalR_1.SignalR(env.clusterUrl, env.serviceName, false, env.accessToken);
88
87
  }
88
+ // Get theme like AEC does
89
+ try {
90
+ let urlParams = Object.fromEntries(new URLSearchParams(window.location.search).entries());
91
+ if (urlParams["_theme"]) {
92
+ let theme = urlParams["_theme"].toLowerCase();
93
+ if (theme === "light" || theme === "dark") {
94
+ env.theme = theme;
95
+ }
96
+ }
97
+ else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
98
+ env.theme = 'dark';
99
+ }
100
+ else {
101
+ env.theme = 'light';
102
+ }
103
+ }
104
+ catch {
105
+ }
89
106
  }
90
107
  function i18n(key, ...args) {
91
108
  try {
@@ -17,6 +17,7 @@ export interface ICodenotchEnv {
17
17
  theme?: 'light' | 'dark';
18
18
  appManifest?: ApplicationManifest;
19
19
  projectManifest?: ProjectManifest;
20
+ [key: string]: any;
20
21
  }
21
22
  export interface ICodenotchApi {
22
23
  readonly env: ICodenotchEnv;
@@ -1 +1 @@
1
- {"version":3,"file":"Codenotch.d.ts","sourceRoot":"","sources":["../../src/models/Codenotch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAEzB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAE5B,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1E,QAAQ,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3G,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,KAAK,gBAAgB,CAAC;IAC7D,QAAQ,CAAC,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/E,QAAQ,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7D,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9G,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,eAAe,CAAC;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,mBAAmB,GAAG,SAAS,CAAC;CAClE;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB"}
1
+ {"version":3,"file":"Codenotch.d.ts","sourceRoot":"","sources":["../../src/models/Codenotch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAEzB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;IAGlC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAE5B,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1E,QAAQ,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3G,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,KAAK,gBAAgB,CAAC;IAC7D,QAAQ,CAAC,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/E,QAAQ,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7D,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9G,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,eAAe,CAAC;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,mBAAmB,GAAG,SAAS,CAAC;CAClE;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB"}
@@ -1,5 +1,6 @@
1
+ import { ICodenotchApi } from "..";
1
2
  export default abstract class I18nUtils {
2
- static compileAuml(auml: string): string;
3
+ static compileAuml(auml: string, api: ICodenotchApi): string;
3
4
  private static injectI18n;
4
5
  }
5
6
  //# sourceMappingURL=I18nUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"I18nUtils.d.ts","sourceRoot":"","sources":["../../src/utils/I18nUtils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS;WAErB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAO/C,OAAO,CAAC,MAAM,CAAC,UAAU;CAqB5B"}
1
+ {"version":3,"file":"I18nUtils.d.ts","sourceRoot":"","sources":["../../src/utils/I18nUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,IAAI,CAAC;AAEjD,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS;WAErB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM;IAOnE,OAAO,CAAC,MAAM,CAAC,UAAU;CAqB5B"}
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const __1 = require("..");
4
3
  class I18nUtils {
5
- static compileAuml(auml) {
6
- auml = this.injectI18n(auml);
4
+ static compileAuml(auml, api) {
5
+ auml = this.injectI18n(auml, api);
7
6
  return auml;
8
7
  }
9
- static injectI18n(auml) {
10
- let i18n = (0, __1.useCodenotch)().env.i18n ?? {};
8
+ static injectI18n(auml, api) {
9
+ let i18n = api.env.i18n ?? {};
11
10
  if (Object.keys(i18n).length === 0) {
12
11
  // No i18n variables, return original auml
13
12
  return auml;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codenotch-react",
3
- "version": "1.0.60",
3
+ "version": "1.0.62",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "author": "Codenotch SA",