@drawboard/authagonal-login 0.1.5 → 0.1.6

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.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Sign In — Authagonal</title>
8
- <script type="module" crossorigin src="/assets/index-B_dF6q3E.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-DTO3Ht6k.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-CDKtEFn6.css">
10
10
  </head>
11
11
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drawboard/authagonal-login",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "Default login UI for Authagonal — runtime-configurable via branding.json",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
package/src/branding.ts CHANGED
@@ -12,6 +12,7 @@ export interface BrandingConfig {
12
12
  customCssUrl: string | null;
13
13
  welcomeTitle: LocalizedString;
14
14
  welcomeSubtitle: LocalizedString;
15
+ languages: { code: string; label: string }[] | null;
15
16
  }
16
17
 
17
18
  const defaults: BrandingConfig = {
@@ -23,6 +24,7 @@ const defaults: BrandingConfig = {
23
24
  customCssUrl: null,
24
25
  welcomeTitle: null,
25
26
  welcomeSubtitle: null,
27
+ languages: null,
26
28
  };
27
29
 
28
30
  export async function loadBranding(): Promise<BrandingConfig> {
@@ -9,7 +9,7 @@ interface AuthLayoutProps {
9
9
  children: ReactNode;
10
10
  }
11
11
 
12
- const LANGUAGES: { code: string; label: string }[] = [
12
+ const ALL_LANGUAGES: { code: string; label: string }[] = [
13
13
  { code: 'en', label: 'English' },
14
14
  { code: 'zh-Hans', label: '中文' },
15
15
  { code: 'de', label: 'Deutsch' },
@@ -17,6 +17,7 @@ const LANGUAGES: { code: string; label: string }[] = [
17
17
  { code: 'es', label: 'Español' },
18
18
  { code: 'vi', label: 'Tiếng Việt' },
19
19
  { code: 'pt', label: 'Português' },
20
+ { code: 'tlh', label: 'tlhIngan' },
20
21
  ];
21
22
 
22
23
  export default function AuthLayout({ children }: AuthLayoutProps) {
@@ -48,7 +49,7 @@ export default function AuthLayout({ children }: AuthLayoutProps) {
48
49
  </div>
49
50
  {children}
50
51
  <div className="language-picker">
51
- {LANGUAGES.map((lang) => (
52
+ {(branding.languages ?? ALL_LANGUAGES.filter(l => l.code !== 'tlh')).map((lang) => (
52
53
  <button
53
54
  key={lang.code}
54
55
  type="button"
package/src/i18n/index.ts CHANGED
@@ -9,6 +9,7 @@ import fr from './fr.json';
9
9
  import es from './es.json';
10
10
  import vi from './vi.json';
11
11
  import pt from './pt.json';
12
+ import tlh from './tlh.json';
12
13
 
13
14
  i18n
14
15
  .use(LanguageDetector)
@@ -22,6 +23,7 @@ i18n
22
23
  es: { translation: es },
23
24
  vi: { translation: vi },
24
25
  pt: { translation: pt },
26
+ tlh: { translation: tlh },
25
27
  },
26
28
  fallbackLng: 'en',
27
29
  interpolation: {
@@ -0,0 +1,54 @@
1
+ {
2
+ "signIn": "yI'el",
3
+ "email": "QIn nab",
4
+ "password": "mu'wIj pegh",
5
+ "emailPlaceholder": "SoH@pIqaD.tlh",
6
+ "passwordPlaceholder": "mu'wIj pegh yIngu'",
7
+ "signingIn": "'elmeH...",
8
+ "forgotPassword": "mu'wIj pegh lIjpu'?",
9
+ "ssoChecking": "'elmeH mIw vItlhutlh...",
10
+ "ssoNotice": "DIvI' potlh 'elmeH mIw lo'",
11
+ "continueWithSso": "SSO yIlo' yI'el",
12
+ "errorInvalidCredentials": "QIn nab pagh mu'wIj pegh muj",
13
+ "errorLockedOut": "De'wI' botlh. {{seconds}} lup yIloS",
14
+ "errorEmailNotConfirmed": "QIn nab yIchov",
15
+ "errorSsoRequired": "SSO 'elmeH mIw nIteb lo'nISlu'",
16
+ "errorEmailRequired": "QIn nab nIteb nISlu'",
17
+ "errorPasswordRequired": "mu'wIj pegh nIteb nISlu'",
18
+ "errorUnexpected": "Qagh qaS. yInIDqa'.",
19
+ "resetYourPassword": "mu'wIj pegh yIchoH",
20
+ "resetSubtitle": "QIn nab yIngu'. mu'wIj pegh choHmeH lIngwI' DangeH.",
21
+ "sending": "ngeHmeH...",
22
+ "sendResetLink": "choHmeH lIngwI' yIngeH",
23
+ "backToSignIn": "yI'el lutvam yIchegh",
24
+ "checkYourEmail": "QIn nab yISam",
25
+ "resetEmailSent": "QIn nab tu'lu'chugh, choHmeH lIngwI' DaHjaj DangeH.",
26
+ "setNewPassword": "mu'wIj pegh chu' yIchen",
27
+ "newPassword": "mu'wIj pegh chu'",
28
+ "newPasswordPlaceholder": "mu'wIj pegh chu' yIngu'",
29
+ "confirmPassword": "mu'wIj pegh chu' yIchov",
30
+ "confirmPasswordPlaceholder": "mu'wIj pegh chu' yIchov",
31
+ "resetting": "choHmeH...",
32
+ "resetPassword": "mu'wIj pegh yIchoH",
33
+ "passwordResetSuccess": "mu'wIj pegh choHta'",
34
+ "passwordResetSuccessMessage": "mu'wIj pegh choHlu'pu'. DaH mu'wIj pegh chu' DayI'el.",
35
+ "invalidLink": "lIngwI' muj",
36
+ "invalidOrExpiredLink": "lIngwI' muj pagh Qav.",
37
+ "requestNewResetLink": "lIngwI' chu' yItlhob",
38
+ "passwordNotMeetRequirements": "mu'wIj pegh pItlh pus",
39
+ "passwordsDoNotMatch": "mu'wIj pegh rap be'",
40
+ "passwordWeakError": "mu'wIj pegh pItlh pus",
41
+ "signInTitle": "yI'el — {{appName}}",
42
+ "ruleMinLength": "ngI' {{count}} mI' chen",
43
+ "ruleUppercase": "ngaS tIn",
44
+ "ruleLowercase": "ngaS mach",
45
+ "ruleDigit": "mI'",
46
+ "ruleSpecialChar": "Degh le'",
47
+ "continueWith": "{{provider}} yIlo' yI'el",
48
+ "or": "pagh",
49
+ "signedInAs": "{{name}} 'oH SoH",
50
+ "signedInMessage": "SoH 'elpu'.",
51
+ "welcomeTitle": "{{appName}} yI'el",
52
+ "welcomeSubtitle": "De'wI' yI'el",
53
+ "signOut": "yImej"
54
+ }