@logto/core-kit 1.0.0-beta.15 → 1.0.0-beta.17

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/lib/language.js CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDefaultLanguage = exports.languageKeyGuard = exports.languageKeys = exports.getDefaultLanguageTag = void 0;
4
4
  const language_kit_1 = require("@logto/language-kit");
5
5
  const zod_1 = require("zod");
6
- const utilities_1 = require("@/utilities");
6
+ const utilities_1 = require("./utilities");
7
7
  const getDefaultLanguageTag = (language) => language_kit_1.languageTagGuard.or((0, utilities_1.fallback)('en')).parse(language);
8
8
  exports.getDefaultLanguageTag = getDefaultLanguageTag;
9
9
  /** @deprecated */
package/lib/regex.d.ts CHANGED
@@ -2,6 +2,7 @@ export declare const emailRegEx: RegExp;
2
2
  export declare const phoneRegEx: RegExp;
3
3
  export declare const usernameRegEx: RegExp;
4
4
  export declare const passwordRegEx: RegExp;
5
- export declare const redirectUriRegEx: RegExp;
5
+ export declare const webRedirectUriProtocolRegEx: RegExp;
6
+ export declare const mobileUriSchemeProtocolRegEx: RegExp;
6
7
  export declare const hexColorRegEx: RegExp;
7
8
  export declare const dateRegex: RegExp;
package/lib/regex.js CHANGED
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dateRegex = exports.hexColorRegEx = exports.redirectUriRegEx = exports.passwordRegEx = exports.usernameRegEx = exports.phoneRegEx = exports.emailRegEx = void 0;
3
+ exports.dateRegex = exports.hexColorRegEx = exports.mobileUriSchemeProtocolRegEx = exports.webRedirectUriProtocolRegEx = exports.passwordRegEx = exports.usernameRegEx = exports.phoneRegEx = exports.emailRegEx = void 0;
4
4
  exports.emailRegEx = /^\S+@\S+\.\S+$/;
5
5
  exports.phoneRegEx = /^\d+$/;
6
6
  exports.usernameRegEx = /^[A-Z_a-z]\w*$/;
7
7
  exports.passwordRegEx = /^.{6,}$/;
8
- exports.redirectUriRegEx = /^https?:\/\//;
8
+ exports.webRedirectUriProtocolRegEx = /^https?:$/;
9
+ exports.mobileUriSchemeProtocolRegEx = /^[a-z][\d_a-z]*(\.[\d_a-z]+)+:$/;
9
10
  exports.hexColorRegEx = /^#[\da-f]{3}([\da-f]{3})?$/i;
10
11
  exports.dateRegex = /^\d{4}(-\d{2}){2}/;
@@ -0,0 +1,2 @@
1
+ export declare const validateRedirectUrl: (url: string, type: 'web' | 'mobile') => boolean;
2
+ export declare const validateUriOrigin: (url: string) => boolean;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateUriOrigin = exports.validateRedirectUrl = void 0;
4
+ const regex_1 = require("../regex");
5
+ const validateRedirectUrl = (url, type) => {
6
+ try {
7
+ const { protocol } = new URL(url);
8
+ const protocolRegEx = type === 'mobile' ? regex_1.mobileUriSchemeProtocolRegEx : regex_1.webRedirectUriProtocolRegEx;
9
+ return protocolRegEx.test(protocol);
10
+ }
11
+ catch {
12
+ return false;
13
+ }
14
+ };
15
+ exports.validateRedirectUrl = validateRedirectUrl;
16
+ const validateUriOrigin = (url) => {
17
+ try {
18
+ return new URL(url).origin === url;
19
+ }
20
+ catch {
21
+ return false;
22
+ }
23
+ };
24
+ exports.validateUriOrigin = validateUriOrigin;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logto/core-kit",
3
- "version": "1.0.0-beta.15",
3
+ "version": "1.0.0-beta.17",
4
4
  "main": "lib/index.js",
5
5
  "author": "Silverhand Inc. <contact@silverhand.io>",
6
6
  "license": "MIT",
@@ -24,7 +24,7 @@
24
24
  "node": "^16.0.0"
25
25
  },
26
26
  "dependencies": {
27
- "@logto/language-kit": "^1.0.0-beta.15",
27
+ "@logto/language-kit": "^1.0.0-beta.16",
28
28
  "color": "^4.2.3",
29
29
  "nanoid": "^3.1.23",
30
30
  "zod": "^3.18.0"
@@ -32,7 +32,6 @@
32
32
  "devDependencies": {
33
33
  "@jest/types": "^29.0.3",
34
34
  "@silverhand/eslint-config": "1.0.0",
35
- "@silverhand/eslint-config-react": "1.0.0",
36
35
  "@silverhand/essentials": "^1.2.1",
37
36
  "@silverhand/ts-config": "1.0.0",
38
37
  "@types/color": "^3.0.3",
@@ -59,5 +58,5 @@
59
58
  "publishConfig": {
60
59
  "access": "public"
61
60
  },
62
- "gitHead": "a0a1d896bd7c05bc5c267345da6368aa22f5564d"
61
+ "gitHead": "ee3b88cfd082edfd9c365cc5e92484f0175f494c"
63
62
  }
@@ -126,8 +126,8 @@
126
126
  --color-danger-pressed: var(--color-error-30);
127
127
  --color-text: var(--color-neutral-10);
128
128
  --color-text-link: var(--color-primary-40);
129
- --color-icon: var(--color-neutral-50);
130
- --color-caption: var(--color-neutral-50);
129
+ --color-text-secondary: var(--color-neutral-50);
130
+ --color-placeholder: var(--color-neutral-70);
131
131
  --color-border: var(--color-neutral-80);
132
132
  --color-divider: var(--color-neutral-90);
133
133
  --color-disabled: var(--color-neutral-80);
@@ -296,8 +296,8 @@
296
296
  --color-danger-pressed: var(--color-error-80);
297
297
  --color-text: var(--color-neutral-10);
298
298
  --color-text-link: var(--color-primary-40);
299
- --color-icon: var(--color-neutral-50);
300
- --color-caption: var(--color-neutral-50);
299
+ --color-text-secondary: var(--color-neutral-50);
300
+ --color-placeholder: var(--color-neutral-70);
301
301
  --color-border: var(--color-neutral-80);
302
302
  --color-divider: var(--color-neutral-90);
303
303
  --color-disabled: var(--color-neutral-80);