phx-uikit 1.0.220 → 1.0.222

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.
@@ -1,2 +1,7 @@
1
+ declare module 'axios' {
2
+ interface AxiosRequestConfig {
3
+ _retry?: boolean;
4
+ }
5
+ }
1
6
  declare const PHXAxiosInstance: import("axios").AxiosInstance;
2
7
  export { PHXAxiosInstance };
@@ -17,23 +17,24 @@ var PHXAxiosInstance = axios_1["default"].create({
17
17
  baseURL: publicUrl
18
18
  });
19
19
  exports.PHXAxiosInstance = PHXAxiosInstance;
20
+ // Lấy header (cookie + origin) khi chạy SSR
20
21
  var getAuthHeaders = function () {
21
- if (isServer) {
22
- var cookieStore = (0, headers_1.cookies)();
23
- var cookieHeader = cookieStore
24
- .getAll()
25
- .map(function (_a) {
26
- var name = _a.name, value = _a.value;
27
- return "".concat(name, "=").concat(value);
28
- })
29
- .join('; ');
30
- return {
31
- Cookie: cookieHeader,
32
- hostname: (0, headers_1.headers)().get('origin')
33
- };
34
- }
35
- return {};
22
+ if (!isServer)
23
+ return {};
24
+ var cookieStore = (0, headers_1.cookies)();
25
+ var cookieHeader = cookieStore
26
+ .getAll()
27
+ .map(function (_a) {
28
+ var name = _a.name, value = _a.value;
29
+ return "".concat(name, "=").concat(value);
30
+ })
31
+ .join('; ');
32
+ return {
33
+ Cookie: cookieHeader,
34
+ hostname: (0, headers_1.headers)().get('origin') || undefined
35
+ };
36
36
  };
37
+ // Lưu lại refresh token từ header của response (chỉ SSR)
37
38
  var saveRefreshTokenServer = function (response) {
38
39
  var _a;
39
40
  var setCookieHeader = ((_a = response.headers['set-cookie']) === null || _a === void 0 ? void 0 : _a[0]) || '';
@@ -47,28 +48,33 @@ var saveRefreshTokenServer = function (response) {
47
48
  expires: new Date(Date.now() + 365 * 24 * 60 * 60 * 1000)
48
49
  });
49
50
  };
51
+ // Gọi API refresh-token, đồng bộ hoá với AsyncLock
50
52
  var refreshAccessToken = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
51
53
  return tslib_1.__generator(this, function (_a) {
52
54
  return [2 /*return*/, lock.acquire('refresh_token', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
53
- var currentSession, currentToken, response, newToken, updatedSession, err_1;
55
+ var currentSession, existing, url, response, newToken, updatedSession, err_1;
54
56
  return tslib_1.__generator(this, function (_a) {
55
57
  switch (_a.label) {
56
58
  case 0:
57
59
  currentSession = (0, getCookieSession_1["default"])();
58
- currentToken = currentSession === null || currentSession === void 0 ? void 0 : currentSession.access_token;
59
- // Nếu access token vẫn còn, không cần gọi lại nữa
60
- if (currentToken) {
61
- return [2 /*return*/, currentToken];
62
- }
60
+ existing = currentSession === null || currentSession === void 0 ? void 0 : currentSession.access_token;
61
+ if (existing)
62
+ return [2 /*return*/, existing
63
+ // Thực sự gọi API refresh
64
+ ];
63
65
  _a.label = 1;
64
66
  case 1:
65
67
  _a.trys.push([1, 3, , 4]);
66
- return [4 /*yield*/, axios_1["default"].post("".concat(isServer ? (0, headers_1.headers)().get('origin') : '', "/api/authenticate/refresh-token"), {}, { headers: getAuthHeaders() })];
68
+ url = "".concat(isServer ? (0, headers_1.headers)().get('origin') : '', "/api/authenticate/refresh-token");
69
+ return [4 /*yield*/, axios_1["default"].post(url, {}, { headers: getAuthHeaders() })];
67
70
  case 2:
68
71
  response = _a.sent();
69
72
  newToken = response.data.token;
70
73
  updatedSession = (0, getCookieSession_1["default"])();
71
- (0, saveCookiesClient_1["default"])({ value: tslib_1.__assign(tslib_1.__assign({}, updatedSession), { access_token: newToken }) });
74
+ (0, saveCookiesClient_1["default"])({
75
+ value: tslib_1.__assign(tslib_1.__assign({}, updatedSession), { access_token: newToken })
76
+ });
77
+ // Lưu refresh token SSR nếu cần
72
78
  if (isServer)
73
79
  saveRefreshTokenServer(response);
74
80
  return [2 /*return*/, newToken];
@@ -84,23 +90,23 @@ var refreshAccessToken = function () { return tslib_1.__awaiter(void 0, void 0,
84
90
  }); })];
85
91
  });
86
92
  }); };
93
+ // Request interceptor: luôn thêm Authorization nếu có access_token
87
94
  PHXAxiosInstance.interceptors.request.use(function (config) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
88
- var currentSession, authTokenCookie, err_2, newToken;
95
+ var session, token, err_2, fresh;
89
96
  var _a;
90
97
  return tslib_1.__generator(this, function (_b) {
91
98
  switch (_b.label) {
92
99
  case 0:
93
- currentSession = (0, getCookieSession_1["default"])();
94
- authTokenCookie = (currentSession === null || currentSession === void 0 ? void 0 : currentSession.access_token) || null;
95
- if (!authTokenCookie) return [3 /*break*/, 7];
96
- config.headers.Authorization = "Bearer ".concat(authTokenCookie);
100
+ session = (0, getCookieSession_1["default"])();
101
+ token = session === null || session === void 0 ? void 0 : session.access_token;
102
+ if (!token) return [3 /*break*/, 7];
103
+ config.headers = config.headers || {};
104
+ config.headers.Authorization = "Bearer ".concat(token);
97
105
  if (!isServer) return [3 /*break*/, 7];
98
106
  _b.label = 1;
99
107
  case 1:
100
108
  _b.trys.push([1, 3, , 7]);
101
- return [4 /*yield*/, axios_1["default"].post("".concat(internalUrl, "/authen/authenticate"), {}, {
102
- headers: tslib_1.__assign({ Authorization: "Bearer ".concat(authTokenCookie) }, getAuthHeaders())
103
- })];
109
+ return [4 /*yield*/, axios_1["default"].post("".concat(internalUrl, "/authen/authenticate"), {}, { headers: tslib_1.__assign({ Authorization: "Bearer ".concat(token) }, getAuthHeaders()) })];
104
110
  case 2:
105
111
  _b.sent();
106
112
  return [3 /*break*/, 7];
@@ -109,8 +115,8 @@ PHXAxiosInstance.interceptors.request.use(function (config) { return tslib_1.__a
109
115
  if (!(((_a = err_2.response) === null || _a === void 0 ? void 0 : _a.status) === 401)) return [3 /*break*/, 5];
110
116
  return [4 /*yield*/, refreshAccessToken()];
111
117
  case 4:
112
- newToken = _b.sent();
113
- config.headers.Authorization = "Bearer ".concat(newToken);
118
+ fresh = _b.sent();
119
+ config.headers.Authorization = "Bearer ".concat(fresh);
114
120
  return [3 /*break*/, 6];
115
121
  case 5: throw err_2;
116
122
  case 6: return [3 /*break*/, 7];
@@ -118,12 +124,14 @@ PHXAxiosInstance.interceptors.request.use(function (config) { return tslib_1.__a
118
124
  }
119
125
  });
120
126
  }); });
121
- PHXAxiosInstance.interceptors.response.use(function (response) { return response; }, function (error) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
122
- var originalRequest, newToken, err_3;
127
+ // Response interceptor: bắt 401, gọi refresh retry
128
+ PHXAxiosInstance.interceptors.response.use(function (res) { return res; }, function (error) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
129
+ var originalRequest, newToken, e_1;
123
130
  var _a;
124
131
  return tslib_1.__generator(this, function (_b) {
125
132
  switch (_b.label) {
126
133
  case 0:
134
+ console.log('errorerror', error);
127
135
  originalRequest = error.config;
128
136
  if (!(((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 401 && !originalRequest._retry)) return [3 /*break*/, 4];
129
137
  originalRequest._retry = true;
@@ -133,11 +141,12 @@ PHXAxiosInstance.interceptors.response.use(function (response) { return response
133
141
  return [4 /*yield*/, refreshAccessToken()];
134
142
  case 2:
135
143
  newToken = _b.sent();
144
+ originalRequest.headers = originalRequest.headers || {};
136
145
  originalRequest.headers.Authorization = "Bearer ".concat(newToken);
137
146
  return [2 /*return*/, PHXAxiosInstance(originalRequest)];
138
147
  case 3:
139
- err_3 = _b.sent();
140
- return [2 /*return*/, Promise.reject(err_3)];
148
+ e_1 = _b.sent();
149
+ return [2 /*return*/, Promise.reject(e_1)];
141
150
  case 4: return [2 /*return*/, Promise.reject(error)];
142
151
  }
143
152
  });
@@ -1 +1 @@
1
- {"version":3,"file":"axiosInstance.js","sourceRoot":"","sources":["../../src/axiosInstance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"axiosInstance.js","sourceRoot":"","sources":["../../src/axiosInstance.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,7 @@
1
+ declare module 'axios' {
2
+ interface AxiosRequestConfig {
3
+ _retry?: boolean;
4
+ }
5
+ }
1
6
  declare const PHXAxiosInstance: import("axios").AxiosInstance;
2
7
  export { PHXAxiosInstance };
@@ -13,23 +13,24 @@ var isServer = typeof window === 'undefined';
13
13
  var PHXAxiosInstance = axios.create({
14
14
  baseURL: publicUrl
15
15
  });
16
+ // Lấy header (cookie + origin) khi chạy SSR
16
17
  var getAuthHeaders = function () {
17
- if (isServer) {
18
- var cookieStore = cookies();
19
- var cookieHeader = cookieStore
20
- .getAll()
21
- .map(function (_a) {
22
- var name = _a.name, value = _a.value;
23
- return "".concat(name, "=").concat(value);
24
- })
25
- .join('; ');
26
- return {
27
- Cookie: cookieHeader,
28
- hostname: headers().get('origin')
29
- };
30
- }
31
- return {};
18
+ if (!isServer)
19
+ return {};
20
+ var cookieStore = cookies();
21
+ var cookieHeader = cookieStore
22
+ .getAll()
23
+ .map(function (_a) {
24
+ var name = _a.name, value = _a.value;
25
+ return "".concat(name, "=").concat(value);
26
+ })
27
+ .join('; ');
28
+ return {
29
+ Cookie: cookieHeader,
30
+ hostname: headers().get('origin') || undefined
31
+ };
32
32
  };
33
+ // Lưu lại refresh token từ header của response (chỉ SSR)
33
34
  var saveRefreshTokenServer = function (response) {
34
35
  var _a;
35
36
  var setCookieHeader = ((_a = response.headers['set-cookie']) === null || _a === void 0 ? void 0 : _a[0]) || '';
@@ -43,28 +44,33 @@ var saveRefreshTokenServer = function (response) {
43
44
  expires: new Date(Date.now() + 365 * 24 * 60 * 60 * 1000)
44
45
  });
45
46
  };
47
+ // Gọi API refresh-token, đồng bộ hoá với AsyncLock
46
48
  var refreshAccessToken = function () { return __awaiter(void 0, void 0, void 0, function () {
47
49
  return __generator(this, function (_a) {
48
50
  return [2 /*return*/, lock.acquire('refresh_token', function () { return __awaiter(void 0, void 0, void 0, function () {
49
- var currentSession, currentToken, response, newToken, updatedSession, err_1;
51
+ var currentSession, existing, url, response, newToken, updatedSession, err_1;
50
52
  return __generator(this, function (_a) {
51
53
  switch (_a.label) {
52
54
  case 0:
53
55
  currentSession = PHXFuncGetCookieSession();
54
- currentToken = currentSession === null || currentSession === void 0 ? void 0 : currentSession.access_token;
55
- // Nếu access token vẫn còn, không cần gọi lại nữa
56
- if (currentToken) {
57
- return [2 /*return*/, currentToken];
58
- }
56
+ existing = currentSession === null || currentSession === void 0 ? void 0 : currentSession.access_token;
57
+ if (existing)
58
+ return [2 /*return*/, existing
59
+ // Thực sự gọi API refresh
60
+ ];
59
61
  _a.label = 1;
60
62
  case 1:
61
63
  _a.trys.push([1, 3, , 4]);
62
- return [4 /*yield*/, axios.post("".concat(isServer ? headers().get('origin') : '', "/api/authenticate/refresh-token"), {}, { headers: getAuthHeaders() })];
64
+ url = "".concat(isServer ? headers().get('origin') : '', "/api/authenticate/refresh-token");
65
+ return [4 /*yield*/, axios.post(url, {}, { headers: getAuthHeaders() })];
63
66
  case 2:
64
67
  response = _a.sent();
65
68
  newToken = response.data.token;
66
69
  updatedSession = PHXFuncGetCookieSession();
67
- saveCookiesClient({ value: __assign(__assign({}, updatedSession), { access_token: newToken }) });
70
+ saveCookiesClient({
71
+ value: __assign(__assign({}, updatedSession), { access_token: newToken })
72
+ });
73
+ // Lưu refresh token SSR nếu cần
68
74
  if (isServer)
69
75
  saveRefreshTokenServer(response);
70
76
  return [2 /*return*/, newToken];
@@ -80,23 +86,23 @@ var refreshAccessToken = function () { return __awaiter(void 0, void 0, void 0,
80
86
  }); })];
81
87
  });
82
88
  }); };
89
+ // Request interceptor: luôn thêm Authorization nếu có access_token
83
90
  PHXAxiosInstance.interceptors.request.use(function (config) { return __awaiter(void 0, void 0, void 0, function () {
84
- var currentSession, authTokenCookie, err_2, newToken;
91
+ var session, token, err_2, fresh;
85
92
  var _a;
86
93
  return __generator(this, function (_b) {
87
94
  switch (_b.label) {
88
95
  case 0:
89
- currentSession = PHXFuncGetCookieSession();
90
- authTokenCookie = (currentSession === null || currentSession === void 0 ? void 0 : currentSession.access_token) || null;
91
- if (!authTokenCookie) return [3 /*break*/, 7];
92
- config.headers.Authorization = "Bearer ".concat(authTokenCookie);
96
+ session = PHXFuncGetCookieSession();
97
+ token = session === null || session === void 0 ? void 0 : session.access_token;
98
+ if (!token) return [3 /*break*/, 7];
99
+ config.headers = config.headers || {};
100
+ config.headers.Authorization = "Bearer ".concat(token);
93
101
  if (!isServer) return [3 /*break*/, 7];
94
102
  _b.label = 1;
95
103
  case 1:
96
104
  _b.trys.push([1, 3, , 7]);
97
- return [4 /*yield*/, axios.post("".concat(internalUrl, "/authen/authenticate"), {}, {
98
- headers: __assign({ Authorization: "Bearer ".concat(authTokenCookie) }, getAuthHeaders())
99
- })];
105
+ return [4 /*yield*/, axios.post("".concat(internalUrl, "/authen/authenticate"), {}, { headers: __assign({ Authorization: "Bearer ".concat(token) }, getAuthHeaders()) })];
100
106
  case 2:
101
107
  _b.sent();
102
108
  return [3 /*break*/, 7];
@@ -105,8 +111,8 @@ PHXAxiosInstance.interceptors.request.use(function (config) { return __awaiter(v
105
111
  if (!(((_a = err_2.response) === null || _a === void 0 ? void 0 : _a.status) === 401)) return [3 /*break*/, 5];
106
112
  return [4 /*yield*/, refreshAccessToken()];
107
113
  case 4:
108
- newToken = _b.sent();
109
- config.headers.Authorization = "Bearer ".concat(newToken);
114
+ fresh = _b.sent();
115
+ config.headers.Authorization = "Bearer ".concat(fresh);
110
116
  return [3 /*break*/, 6];
111
117
  case 5: throw err_2;
112
118
  case 6: return [3 /*break*/, 7];
@@ -114,12 +120,14 @@ PHXAxiosInstance.interceptors.request.use(function (config) { return __awaiter(v
114
120
  }
115
121
  });
116
122
  }); });
117
- PHXAxiosInstance.interceptors.response.use(function (response) { return response; }, function (error) { return __awaiter(void 0, void 0, void 0, function () {
118
- var originalRequest, newToken, err_3;
123
+ // Response interceptor: bắt 401, gọi refresh retry
124
+ PHXAxiosInstance.interceptors.response.use(function (res) { return res; }, function (error) { return __awaiter(void 0, void 0, void 0, function () {
125
+ var originalRequest, newToken, e_1;
119
126
  var _a;
120
127
  return __generator(this, function (_b) {
121
128
  switch (_b.label) {
122
129
  case 0:
130
+ console.log('errorerror', error);
123
131
  originalRequest = error.config;
124
132
  if (!(((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 401 && !originalRequest._retry)) return [3 /*break*/, 4];
125
133
  originalRequest._retry = true;
@@ -129,11 +137,12 @@ PHXAxiosInstance.interceptors.response.use(function (response) { return response
129
137
  return [4 /*yield*/, refreshAccessToken()];
130
138
  case 2:
131
139
  newToken = _b.sent();
140
+ originalRequest.headers = originalRequest.headers || {};
132
141
  originalRequest.headers.Authorization = "Bearer ".concat(newToken);
133
142
  return [2 /*return*/, PHXAxiosInstance(originalRequest)];
134
143
  case 3:
135
- err_3 = _b.sent();
136
- return [2 /*return*/, Promise.reject(err_3)];
144
+ e_1 = _b.sent();
145
+ return [2 /*return*/, Promise.reject(e_1)];
137
146
  case 4: return [2 /*return*/, Promise.reject(error)];
138
147
  }
139
148
  });
@@ -1 +1 @@
1
- {"version":3,"file":"axiosInstance.js","sourceRoot":"","sources":["../../src/axiosInstance.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AACnE,OAAO,uBAAuB,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE/C,IAAM,IAAI,GAAG,IAAI,SAAS,EAAE,CAAA;AAE5B,IAAM,SAAS,GAAG,MAAM,CAAC,yBAAyB,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AACxF,IAAM,WAAW,GAAG,MAAM,CAAC,kCAAkC,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;AAE5G,IAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,WAAW,CAAA;AAE9C,IAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,SAAS;CACnB,CAAC,CAAA;AAEF,IAAM,cAAc,GAAG;IACrB,IAAI,QAAQ,EAAE;QACZ,IAAM,WAAW,GAAG,OAAO,EAAE,CAAA;QAC7B,IAAM,YAAY,GAAG,WAAW;aAC7B,MAAM,EAAE;aACR,GAAG,CAAC,UAAC,EAAe;gBAAb,IAAI,UAAA,EAAE,KAAK,WAAA;YAAO,OAAA,UAAG,IAAI,cAAI,KAAK,CAAE;QAAlB,CAAkB,CAAC;aAC5C,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;SAClC,CAAA;KACF;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,IAAM,sBAAsB,GAAG,UAAC,QAAa;;IAC3C,IAAM,eAAe,GAAG,CAAA,MAAA,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,0CAAG,CAAC,CAAC,KAAI,EAAE,CAAA;IACjE,IAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC5D,IAAM,YAAY,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,KAAI,EAAE,CAAA;IACrC,OAAO,EAAE,CAAC,GAAG,CAAC,oBAAoB,EAAE,YAAY,EAAE;QAChD,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;KAC1D,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,IAAM,kBAAkB,GAAG;;QACzB,sBAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;;;;;4BAC7B,cAAc,GAAG,uBAAuB,EAAE,CAAA;4BAC1C,YAAY,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY,CAAA;4BAEjD,kDAAkD;4BAClD,IAAI,YAAY,EAAE;gCAChB,sBAAO,YAAY,EAAA;6BACpB;;;;4BAGkB,qBAAM,KAAK,CAAC,IAAI,CAC/B,UAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,oCAAiC,EAC3E,EAAE,EACF,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,CAC9B,EAAA;;4BAJK,QAAQ,GAAG,SAIhB;4BAEK,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAA;4BAC9B,cAAc,GAAG,uBAAuB,EAAE,CAAA;4BAChD,iBAAiB,CAAC,EAAE,KAAK,wBAAO,cAAc,KAAE,YAAY,EAAE,QAAQ,GAAE,EAAE,CAAC,CAAA;4BAE3E,IAAI,QAAQ;gCAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAA;4BAE9C,sBAAO,QAAQ,EAAA;;;4BAEf,IAAI,CAAC,QAAQ,EAAE;gCACb,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAA;6BACjC;4BACD,MAAM,KAAG,CAAA;;;;iBAEZ,CAAC,EAAA;;KACH,CAAA;AAED,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,UAAO,MAAM;;;;;;gBAC/C,cAAc,GAAG,uBAAuB,EAAE,CAAA;gBAC1C,eAAe,GAAG,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY,KAAI,IAAI,CAAA;qBAExD,eAAe,EAAf,wBAAe;gBACjB,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAU,eAAe,CAAE,CAAA;qBAEtD,QAAQ,EAAR,wBAAQ;;;;gBAER,qBAAM,KAAK,CAAC,IAAI,CACd,UAAG,WAAW,yBAAsB,EACpC,EAAE,EACF;wBACE,OAAO,aACL,aAAa,EAAE,iBAAU,eAAe,CAAE,IACvC,cAAc,EAAE,CACpB;qBACF,CACF,EAAA;;gBATD,SASC,CAAA;;;;qBAEG,CAAA,CAAA,MAAA,KAAG,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,CAAA,EAA5B,wBAA4B;gBACb,qBAAM,kBAAkB,EAAE,EAAA;;gBAArC,QAAQ,GAAG,SAA0B;gBAC3C,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAU,QAAQ,CAAE,CAAA;;oBAEnD,MAAM,KAAG,CAAA;;oBAMjB,sBAAO,MAAM,EAAA;;;KACd,CAAC,CAAA;AAEF,gBAAgB,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CACxC,UAAC,QAAQ,IAAK,OAAA,QAAQ,EAAR,CAAQ,EACtB,UAAO,KAAK;;;;;;gBACJ,eAAe,GAAG,KAAK,CAAC,MAAM,CAAA;qBAEhC,CAAA,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAA,EAAzD,wBAAyD;gBAC3D,eAAe,CAAC,MAAM,GAAG,IAAI,CAAA;;;;gBAGV,qBAAM,kBAAkB,EAAE,EAAA;;gBAArC,QAAQ,GAAG,SAA0B;gBAC3C,eAAe,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAU,QAAQ,CAAE,CAAA;gBAC5D,sBAAO,gBAAgB,CAAC,eAAe,CAAC,EAAA;;;gBAExC,sBAAO,OAAO,CAAC,MAAM,CAAC,KAAG,CAAC,EAAA;oBAI9B,sBAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAA;;;KAC7B,CACF,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"axiosInstance.js","sourceRoot":"","sources":["../../src/axiosInstance.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phx-uikit",
3
- "version": "1.0.220",
3
+ "version": "1.0.222",
4
4
  "description": "PHX REACT",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",