keycloakify 11.9.16 → 11.11.0

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.
Files changed (155) hide show
  1. package/bin/main.js +2 -1
  2. package/bin/shared/constants.d.ts +1 -1
  3. package/bin/shared/constants.js +2 -1
  4. package/bin/shared/constants.js.map +1 -1
  5. package/login/DefaultPage.js +3 -0
  6. package/login/DefaultPage.js.map +1 -1
  7. package/login/KcContext/KcContext.d.ts +19 -1
  8. package/login/KcContext/KcContext.js.map +1 -1
  9. package/login/KcContext/getKcContextMock.d.ts +1 -1
  10. package/login/KcContext/kcContextMocks.d.ts +1 -1
  11. package/login/KcContext/kcContextMocks.js +21 -2
  12. package/login/KcContext/kcContextMocks.js.map +1 -1
  13. package/login/i18n/messages_defaultSet/ar.d.ts +1 -0
  14. package/login/i18n/messages_defaultSet/ar.js +2 -1
  15. package/login/i18n/messages_defaultSet/ar.js.map +1 -1
  16. package/login/i18n/messages_defaultSet/ca.d.ts +1 -0
  17. package/login/i18n/messages_defaultSet/ca.js +2 -1
  18. package/login/i18n/messages_defaultSet/ca.js.map +1 -1
  19. package/login/i18n/messages_defaultSet/cs.d.ts +1 -0
  20. package/login/i18n/messages_defaultSet/cs.js +2 -1
  21. package/login/i18n/messages_defaultSet/cs.js.map +1 -1
  22. package/login/i18n/messages_defaultSet/da.d.ts +1 -0
  23. package/login/i18n/messages_defaultSet/da.js +2 -1
  24. package/login/i18n/messages_defaultSet/da.js.map +1 -1
  25. package/login/i18n/messages_defaultSet/de.d.ts +1 -0
  26. package/login/i18n/messages_defaultSet/de.js +2 -1
  27. package/login/i18n/messages_defaultSet/de.js.map +1 -1
  28. package/login/i18n/messages_defaultSet/el.d.ts +1 -0
  29. package/login/i18n/messages_defaultSet/el.js +2 -1
  30. package/login/i18n/messages_defaultSet/el.js.map +1 -1
  31. package/login/i18n/messages_defaultSet/en.d.ts +1 -0
  32. package/login/i18n/messages_defaultSet/en.js +2 -1
  33. package/login/i18n/messages_defaultSet/en.js.map +1 -1
  34. package/login/i18n/messages_defaultSet/es.d.ts +1 -0
  35. package/login/i18n/messages_defaultSet/es.js +2 -1
  36. package/login/i18n/messages_defaultSet/es.js.map +1 -1
  37. package/login/i18n/messages_defaultSet/fa.d.ts +1 -0
  38. package/login/i18n/messages_defaultSet/fa.js +2 -1
  39. package/login/i18n/messages_defaultSet/fa.js.map +1 -1
  40. package/login/i18n/messages_defaultSet/fi.d.ts +1 -0
  41. package/login/i18n/messages_defaultSet/fi.js +2 -1
  42. package/login/i18n/messages_defaultSet/fi.js.map +1 -1
  43. package/login/i18n/messages_defaultSet/fr.d.ts +1 -0
  44. package/login/i18n/messages_defaultSet/fr.js +2 -1
  45. package/login/i18n/messages_defaultSet/fr.js.map +1 -1
  46. package/login/i18n/messages_defaultSet/hu.d.ts +1 -0
  47. package/login/i18n/messages_defaultSet/hu.js +2 -1
  48. package/login/i18n/messages_defaultSet/hu.js.map +1 -1
  49. package/login/i18n/messages_defaultSet/index.d.ts +10 -0
  50. package/login/i18n/messages_defaultSet/it.d.ts +1 -0
  51. package/login/i18n/messages_defaultSet/it.js +2 -1
  52. package/login/i18n/messages_defaultSet/it.js.map +1 -1
  53. package/login/i18n/messages_defaultSet/ja.d.ts +1 -0
  54. package/login/i18n/messages_defaultSet/ja.js +2 -1
  55. package/login/i18n/messages_defaultSet/ja.js.map +1 -1
  56. package/login/i18n/messages_defaultSet/ka.d.ts +1 -0
  57. package/login/i18n/messages_defaultSet/ka.js +2 -1
  58. package/login/i18n/messages_defaultSet/ka.js.map +1 -1
  59. package/login/i18n/messages_defaultSet/lt.d.ts +1 -0
  60. package/login/i18n/messages_defaultSet/lt.js +2 -1
  61. package/login/i18n/messages_defaultSet/lt.js.map +1 -1
  62. package/login/i18n/messages_defaultSet/lv.d.ts +1 -0
  63. package/login/i18n/messages_defaultSet/lv.js +2 -1
  64. package/login/i18n/messages_defaultSet/lv.js.map +1 -1
  65. package/login/i18n/messages_defaultSet/nl.d.ts +1 -0
  66. package/login/i18n/messages_defaultSet/nl.js +2 -1
  67. package/login/i18n/messages_defaultSet/nl.js.map +1 -1
  68. package/login/i18n/messages_defaultSet/no.d.ts +1 -0
  69. package/login/i18n/messages_defaultSet/no.js +2 -1
  70. package/login/i18n/messages_defaultSet/no.js.map +1 -1
  71. package/login/i18n/messages_defaultSet/pl.d.ts +1 -0
  72. package/login/i18n/messages_defaultSet/pl.js +2 -1
  73. package/login/i18n/messages_defaultSet/pl.js.map +1 -1
  74. package/login/i18n/messages_defaultSet/pt-BR.d.ts +1 -0
  75. package/login/i18n/messages_defaultSet/pt-BR.js +2 -1
  76. package/login/i18n/messages_defaultSet/pt-BR.js.map +1 -1
  77. package/login/i18n/messages_defaultSet/pt.d.ts +1 -0
  78. package/login/i18n/messages_defaultSet/pt.js +2 -1
  79. package/login/i18n/messages_defaultSet/pt.js.map +1 -1
  80. package/login/i18n/messages_defaultSet/ru.d.ts +1 -0
  81. package/login/i18n/messages_defaultSet/ru.js +2 -1
  82. package/login/i18n/messages_defaultSet/ru.js.map +1 -1
  83. package/login/i18n/messages_defaultSet/sk.d.ts +1 -0
  84. package/login/i18n/messages_defaultSet/sk.js +2 -1
  85. package/login/i18n/messages_defaultSet/sk.js.map +1 -1
  86. package/login/i18n/messages_defaultSet/sv.d.ts +1 -0
  87. package/login/i18n/messages_defaultSet/sv.js +2 -1
  88. package/login/i18n/messages_defaultSet/sv.js.map +1 -1
  89. package/login/i18n/messages_defaultSet/th.d.ts +1 -0
  90. package/login/i18n/messages_defaultSet/th.js +2 -1
  91. package/login/i18n/messages_defaultSet/th.js.map +1 -1
  92. package/login/i18n/messages_defaultSet/tr.d.ts +1 -0
  93. package/login/i18n/messages_defaultSet/tr.js +2 -1
  94. package/login/i18n/messages_defaultSet/tr.js.map +1 -1
  95. package/login/i18n/messages_defaultSet/uk.d.ts +1 -0
  96. package/login/i18n/messages_defaultSet/uk.js +2 -1
  97. package/login/i18n/messages_defaultSet/uk.js.map +1 -1
  98. package/login/i18n/messages_defaultSet/zh-CN.d.ts +1 -0
  99. package/login/i18n/messages_defaultSet/zh-CN.js +2 -1
  100. package/login/i18n/messages_defaultSet/zh-CN.js.map +1 -1
  101. package/login/i18n/messages_defaultSet/zh-TW.d.ts +1 -0
  102. package/login/i18n/messages_defaultSet/zh-TW.js +2 -1
  103. package/login/i18n/messages_defaultSet/zh-TW.js.map +1 -1
  104. package/login/lib/kcClsx.d.ts +1 -1
  105. package/login/lib/kcClsx.js +1 -0
  106. package/login/lib/kcClsx.js.map +1 -1
  107. package/login/pages/LoginUsername.js +16 -9
  108. package/login/pages/LoginUsername.js.map +1 -1
  109. package/login/pages/LoginUsername.useScript.d.ts +21 -0
  110. package/login/pages/LoginUsername.useScript.js +47 -0
  111. package/login/pages/LoginUsername.useScript.js.map +1 -0
  112. package/login/pages/SelectOrganization.d.ts +7 -0
  113. package/login/pages/SelectOrganization.js +33 -0
  114. package/login/pages/SelectOrganization.js.map +1 -0
  115. package/package.json +10 -1
  116. package/src/bin/shared/constants.ts +2 -1
  117. package/src/login/DefaultPage.tsx +3 -0
  118. package/src/login/KcContext/KcContext.ts +22 -1
  119. package/src/login/KcContext/kcContextMocks.ts +30 -1
  120. package/src/login/i18n/messages_defaultSet/ar.ts +2 -1
  121. package/src/login/i18n/messages_defaultSet/ca.ts +2 -1
  122. package/src/login/i18n/messages_defaultSet/cs.ts +2 -1
  123. package/src/login/i18n/messages_defaultSet/da.ts +2 -1
  124. package/src/login/i18n/messages_defaultSet/de.ts +2 -1
  125. package/src/login/i18n/messages_defaultSet/el.ts +2 -1
  126. package/src/login/i18n/messages_defaultSet/en.ts +2 -1
  127. package/src/login/i18n/messages_defaultSet/es.ts +2 -1
  128. package/src/login/i18n/messages_defaultSet/fa.ts +2 -1
  129. package/src/login/i18n/messages_defaultSet/fi.ts +2 -1
  130. package/src/login/i18n/messages_defaultSet/fr.ts +2 -1
  131. package/src/login/i18n/messages_defaultSet/hu.ts +2 -1
  132. package/src/login/i18n/messages_defaultSet/it.ts +2 -1
  133. package/src/login/i18n/messages_defaultSet/ja.ts +2 -1
  134. package/src/login/i18n/messages_defaultSet/ka.ts +2 -1
  135. package/src/login/i18n/messages_defaultSet/lt.ts +2 -1
  136. package/src/login/i18n/messages_defaultSet/lv.ts +2 -1
  137. package/src/login/i18n/messages_defaultSet/nl.ts +2 -1
  138. package/src/login/i18n/messages_defaultSet/no.ts +2 -1
  139. package/src/login/i18n/messages_defaultSet/pl.ts +2 -1
  140. package/src/login/i18n/messages_defaultSet/pt-BR.ts +2 -1
  141. package/src/login/i18n/messages_defaultSet/pt.ts +2 -1
  142. package/src/login/i18n/messages_defaultSet/ru.ts +2 -1
  143. package/src/login/i18n/messages_defaultSet/sk.ts +2 -1
  144. package/src/login/i18n/messages_defaultSet/sv.ts +2 -1
  145. package/src/login/i18n/messages_defaultSet/th.ts +2 -1
  146. package/src/login/i18n/messages_defaultSet/tr.ts +2 -1
  147. package/src/login/i18n/messages_defaultSet/uk.ts +2 -1
  148. package/src/login/i18n/messages_defaultSet/zh-CN.ts +2 -1
  149. package/src/login/i18n/messages_defaultSet/zh-TW.ts +2 -1
  150. package/src/login/lib/kcClsx.ts +2 -0
  151. package/src/login/pages/LoginUsername.tsx +37 -1
  152. package/src/login/pages/LoginUsername.useScript.tsx +71 -0
  153. package/src/login/pages/SelectOrganization.tsx +69 -0
  154. package/stories/login/pages/SelectOrganization.stories.tsx +18 -0
  155. package/vite-plugin/index.js +2 -1
@@ -122,6 +122,7 @@ export const { getKcClsx } = createGetKcClsx({
122
122
  kcFormHeaderClass: "login-pf-header",
123
123
  kcFormSocialAccountGridItem: "pf-l-grid__item",
124
124
  kcButtonPrimaryClass: "pf-m-primary",
125
+ kcButtonSecondaryClass: "pf-m-secondary",
125
126
  kcInputHelperTextBeforeClass: "pf-c-form__helper-text pf-c-form__helper-text-before",
126
127
  "kcLogoIdP-github": "fa fa-github",
127
128
  kcLabelClass: "pf-c-form__label pf-c-form__label-text"
@@ -1 +1 @@
1
- {"version":3,"file":"kcClsx.js","sourceRoot":"","sources":["../../src/login/lib/kcClsx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kcClsx.js","sourceRoot":"","sources":["../../src/login/lib/kcClsx.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { useState } from "react";
3
3
  import { clsx } from "../../tools/clsx";
4
4
  import { getKcClsx } from "../../login/lib/kcClsx";
5
+ import { useScript } from "../../login/pages/LoginUsername.useScript";
5
6
  export default function LoginUsername(props) {
6
7
  var _a;
7
8
  const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
@@ -9,16 +10,22 @@ export default function LoginUsername(props) {
9
10
  doUseDefaultCss,
10
11
  classes
11
12
  });
12
- const { social, realm, url, usernameHidden, login, registrationDisabled, messagesPerField } = kcContext;
13
+ const { social, realm, url, usernameHidden, login, registrationDisabled, messagesPerField, enableWebAuthnConditionalUI, authenticators } = kcContext;
13
14
  const { msg, msgStr } = i18n;
14
15
  const [isLoginButtonDisabled, setIsLoginButtonDisabled] = useState(false);
15
- return (_jsx(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, displayMessage: !messagesPerField.existsError("username"), displayInfo: realm.password && realm.registrationAllowed && !registrationDisabled, infoNode: _jsx("div", Object.assign({ id: "kc-registration" }, { children: _jsxs("span", { children: [msg("noAccount"), _jsx("a", Object.assign({ tabIndex: 6, href: url.registrationUrl }, { children: msg("doRegister") }))] }) })), headerNode: msg("doLogIn"), socialProvidersNode: _jsx(_Fragment, { children: realm.password && (social === null || social === void 0 ? void 0 : social.providers) !== undefined && social.providers.length !== 0 && (_jsxs("div", Object.assign({ id: "kc-social-providers", className: kcClsx("kcFormSocialAccountSectionClass") }, { children: [_jsx("hr", {}), _jsx("h2", { children: msg("identity-provider-login-label") }), _jsx("ul", Object.assign({ className: kcClsx("kcFormSocialAccountListClass", social.providers.length > 3 && "kcFormSocialAccountListGridClass") }, { children: social.providers.map((...[p, , providers]) => (_jsx("li", { children: _jsxs("a", Object.assign({ id: `social-${p.alias}`, className: kcClsx("kcFormSocialAccountListButtonClass", providers.length > 3 && "kcFormSocialAccountGridItem"), type: "button", href: p.loginUrl }, { children: [p.iconClasses && _jsx("i", { className: clsx(kcClsx("kcCommonLogoIdP"), p.iconClasses), "aria-hidden": "true" }), _jsx("span", Object.assign({ className: clsx(kcClsx("kcFormSocialAccountNameClass"), p.iconClasses && "kc-social-icon-text") }, { children: p.displayName }))] })) }, p.alias))) }))] }))) }) }, { children: _jsx("div", Object.assign({ id: "kc-form" }, { children: _jsx("div", Object.assign({ id: "kc-form-wrapper" }, { children: realm.password && (_jsxs("form", Object.assign({ id: "kc-form-login", onSubmit: () => {
16
- setIsLoginButtonDisabled(true);
17
- return true;
18
- }, action: url.loginAction, method: "post" }, { children: [!usernameHidden && (_jsxs("div", Object.assign({ className: kcClsx("kcFormGroupClass") }, { children: [_jsx("label", Object.assign({ htmlFor: "username", className: kcClsx("kcLabelClass") }, { children: !realm.loginWithEmailAllowed
19
- ? msg("username")
20
- : !realm.registrationEmailAsUsername
21
- ? msg("usernameOrEmail")
22
- : msg("email") })), _jsx("input", { tabIndex: 2, id: "username", className: kcClsx("kcInputClass"), name: "username", defaultValue: (_a = login.username) !== null && _a !== void 0 ? _a : "", type: "text", autoFocus: true, autoComplete: "username", "aria-invalid": messagesPerField.existsError("username") }), messagesPerField.existsError("username") && (_jsx("span", Object.assign({ id: "input-error", className: kcClsx("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.getFirstError("username") })))] }))), _jsx("div", Object.assign({ className: kcClsx("kcFormGroupClass", "kcFormSettingClass") }, { children: _jsx("div", Object.assign({ id: "kc-form-options" }, { children: realm.rememberMe && !usernameHidden && (_jsx("div", Object.assign({ className: "checkbox" }, { children: _jsxs("label", { children: [_jsx("input", { tabIndex: 3, id: "rememberMe", name: "rememberMe", type: "checkbox", defaultChecked: !!login.rememberMe }), " ", msg("rememberMe")] }) }))) })) })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: kcClsx("kcFormGroupClass") }, { children: _jsx("input", { tabIndex: 4, disabled: isLoginButtonDisabled, className: kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass"), name: "login", id: "kc-login", type: "submit", value: msgStr("doLogIn") }) }))] }))) })) })) })));
16
+ const authButtonId = "authenticateWebAuthnButton";
17
+ useScript({
18
+ authButtonId,
19
+ kcContext,
20
+ i18n
21
+ });
22
+ return (_jsxs(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, displayMessage: !messagesPerField.existsError("username"), displayInfo: realm.password && realm.registrationAllowed && !registrationDisabled, infoNode: _jsx("div", Object.assign({ id: "kc-registration" }, { children: _jsxs("span", { children: [msg("noAccount"), _jsx("a", Object.assign({ tabIndex: 6, href: url.registrationUrl }, { children: msg("doRegister") }))] }) })), headerNode: msg("doLogIn"), socialProvidersNode: _jsx(_Fragment, { children: realm.password && (social === null || social === void 0 ? void 0 : social.providers) !== undefined && social.providers.length !== 0 && (_jsxs("div", Object.assign({ id: "kc-social-providers", className: kcClsx("kcFormSocialAccountSectionClass") }, { children: [_jsx("hr", {}), _jsx("h2", { children: msg("identity-provider-login-label") }), _jsx("ul", Object.assign({ className: kcClsx("kcFormSocialAccountListClass", social.providers.length > 3 && "kcFormSocialAccountListGridClass") }, { children: social.providers.map((...[p, , providers]) => (_jsx("li", { children: _jsxs("a", Object.assign({ id: `social-${p.alias}`, className: kcClsx("kcFormSocialAccountListButtonClass", providers.length > 3 && "kcFormSocialAccountGridItem"), type: "button", href: p.loginUrl }, { children: [p.iconClasses && _jsx("i", { className: clsx(kcClsx("kcCommonLogoIdP"), p.iconClasses), "aria-hidden": "true" }), _jsx("span", Object.assign({ className: clsx(kcClsx("kcFormSocialAccountNameClass"), p.iconClasses && "kc-social-icon-text") }, { children: p.displayName }))] })) }, p.alias))) }))] }))) }) }, { children: [_jsx("div", Object.assign({ id: "kc-form" }, { children: _jsx("div", Object.assign({ id: "kc-form-wrapper" }, { children: realm.password && (_jsxs("form", Object.assign({ id: "kc-form-login", onSubmit: () => {
23
+ setIsLoginButtonDisabled(true);
24
+ return true;
25
+ }, action: url.loginAction, method: "post" }, { children: [!usernameHidden && (_jsxs("div", Object.assign({ className: kcClsx("kcFormGroupClass") }, { children: [_jsx("label", Object.assign({ htmlFor: "username", className: kcClsx("kcLabelClass") }, { children: !realm.loginWithEmailAllowed
26
+ ? msg("username")
27
+ : !realm.registrationEmailAsUsername
28
+ ? msg("usernameOrEmail")
29
+ : msg("email") })), _jsx("input", { tabIndex: 2, id: "username", className: kcClsx("kcInputClass"), name: "username", defaultValue: (_a = login.username) !== null && _a !== void 0 ? _a : "", type: "text", autoFocus: true, autoComplete: "username", "aria-invalid": messagesPerField.existsError("username") }), messagesPerField.existsError("username") && (_jsx("span", Object.assign({ id: "input-error", className: kcClsx("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.getFirstError("username") })))] }))), _jsx("div", Object.assign({ className: kcClsx("kcFormGroupClass", "kcFormSettingClass") }, { children: _jsx("div", Object.assign({ id: "kc-form-options" }, { children: realm.rememberMe && !usernameHidden && (_jsx("div", Object.assign({ className: "checkbox" }, { children: _jsxs("label", { children: [_jsx("input", { tabIndex: 3, id: "rememberMe", name: "rememberMe", type: "checkbox", defaultChecked: !!login.rememberMe }), " ", msg("rememberMe")] }) }))) })) })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: kcClsx("kcFormGroupClass") }, { children: _jsx("input", { tabIndex: 4, disabled: isLoginButtonDisabled, className: kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass"), name: "login", id: "kc-login", type: "submit", value: msgStr("doLogIn") }) }))] }))) })) })), enableWebAuthnConditionalUI && (_jsxs(_Fragment, { children: [_jsxs("form", Object.assign({ id: "webauth", action: url.loginAction, method: "post" }, { children: [_jsx("input", { type: "hidden", id: "clientDataJSON", name: "clientDataJSON" }), _jsx("input", { type: "hidden", id: "authenticatorData", name: "authenticatorData" }), _jsx("input", { type: "hidden", id: "signature", name: "signature" }), _jsx("input", { type: "hidden", id: "credentialId", name: "credentialId" }), _jsx("input", { type: "hidden", id: "userHandle", name: "userHandle" }), _jsx("input", { type: "hidden", id: "error", name: "error" })] })), authenticators !== undefined && Object.keys(authenticators).length !== 0 && (_jsx(_Fragment, { children: _jsx("form", Object.assign({ id: "authn_select", className: kcClsx("kcFormClass") }, { children: authenticators.authenticators.map((authenticator, i) => (_jsx("input", { type: "hidden", name: "authn_use_chk", readOnly: true, value: authenticator.credentialId }, i))) })) })), _jsx("br", {}), _jsx("a", Object.assign({ id: authButtonId, href: "#", className: kcClsx("kcButtonSecondaryClass", "kcButtonBlockClass") }, { children: msg("passkey-doAuthenticate") }))] }))] })));
23
30
  }
24
31
  //# sourceMappingURL=LoginUsername.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginUsername.js","sourceRoot":"","sources":["../../src/login/pages/LoginUsername.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoginUsername.js","sourceRoot":"","sources":["../../src/login/pages/LoginUsername.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { KcContext } from "../../login/KcContext/KcContext";
2
+ type KcContextLike = {
3
+ url: {
4
+ resourcesPath: string;
5
+ };
6
+ isUserIdentified: "true" | "false";
7
+ challenge: string;
8
+ userVerification: KcContext.WebauthnAuthenticate["userVerification"];
9
+ rpId: string;
10
+ createTimeout: number | string;
11
+ };
12
+ type I18nLike = {
13
+ msgStr: (key: "webauthn-unsupported-browser-text") => string;
14
+ isFetchingTranslations: boolean;
15
+ };
16
+ export declare function useScript(params: {
17
+ authButtonId: string;
18
+ kcContext: KcContextLike;
19
+ i18n: I18nLike;
20
+ }): void;
21
+ export {};
@@ -0,0 +1,47 @@
1
+ import { useEffect } from "react";
2
+ import { useInsertScriptTags } from "../../tools/useInsertScriptTags";
3
+ import { assert } from "../../tools/assert";
4
+ import { waitForElementMountedOnDom } from "../../tools/waitForElementMountedOnDom";
5
+ assert();
6
+ assert();
7
+ export function useScript(params) {
8
+ const { authButtonId, kcContext, i18n } = params;
9
+ const { url, isUserIdentified, challenge, userVerification, rpId, createTimeout } = kcContext;
10
+ const { msgStr, isFetchingTranslations } = i18n;
11
+ const { insertScriptTags } = useInsertScriptTags({
12
+ componentOrHookName: "LoginUsername",
13
+ scriptTags: [
14
+ {
15
+ type: "module",
16
+ textContent: () => `
17
+
18
+ import { authenticateByWebAuthn } from "${url.resourcesPath}/js/webauthnAuthenticate.js";
19
+ const authButton = document.getElementById('${authButtonId}');
20
+ authButton.addEventListener("click", function() {
21
+ const input = {
22
+ isUserIdentified : ${isUserIdentified},
23
+ challenge : '${challenge}',
24
+ userVerification : '${userVerification}',
25
+ rpId : '${rpId}',
26
+ createTimeout : ${createTimeout},
27
+ errmsg : ${JSON.stringify(msgStr("webauthn-unsupported-browser-text"))}
28
+ };
29
+ authenticateByWebAuthn(input);
30
+ });
31
+ `
32
+ }
33
+ ]
34
+ });
35
+ useEffect(() => {
36
+ if (isFetchingTranslations) {
37
+ return;
38
+ }
39
+ (async () => {
40
+ await waitForElementMountedOnDom({
41
+ elementId: authButtonId
42
+ });
43
+ insertScriptTags();
44
+ })();
45
+ }, [isFetchingTranslations]);
46
+ }
47
+ //# sourceMappingURL=LoginUsername.useScript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginUsername.useScript.js","sourceRoot":"","sources":["../../src/login/pages/LoginUsername.useScript.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAa1F,MAAM,EAA4E,CAAC;AACnF,MAAM,EAAgE,CAAC;AAOvE,MAAM,UAAU,SAAS,CAAC,MAA0E;IAChG,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjD,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAE9F,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IAEhD,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,eAAe;QACpC,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,GAAG,EAAE,CAAC;;8DAE2B,GAAG,CAAC,aAAa;kEACb,YAAY;;;iDAG7B,gBAAgB;2CACtB,SAAS;kDACF,gBAAgB;sCAC5B,IAAI;8CACI,aAAa;uCACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;iBAIjF;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,sBAAsB,EAAE;YACxB,OAAO;SACV;QAED,CAAC,KAAK,IAAI,EAAE;YACR,MAAM,0BAA0B,CAAC;gBAC7B,SAAS,EAAE,YAAY;aAC1B,CAAC,CAAC;YAEH,gBAAgB,EAAE,CAAC;QACvB,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { PageProps } from "../../login/pages/PageProps";
3
+ import type { KcContext } from "../KcContext";
4
+ import type { I18n } from "../i18n";
5
+ export default function SelectOrganization(props: PageProps<Extract<KcContext, {
6
+ pageId: "select-organization.ftl";
7
+ }>, I18n>): React.ReactElement<any, any>;
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef, useState } from "react";
3
+ import { getKcClsx } from "../../login/lib/kcClsx";
4
+ export default function SelectOrganization(props) {
5
+ var _a;
6
+ const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
7
+ const { kcClsx } = getKcClsx({
8
+ doUseDefaultCss,
9
+ classes
10
+ });
11
+ const { url, user } = kcContext;
12
+ const { msg } = i18n;
13
+ const [isSubmitting, setIsSubmitting] = useState(false);
14
+ const formRef = useRef(null);
15
+ const organizationInputRef = useRef(null);
16
+ const onOrganizationClick = (organizationAlias) => (event) => {
17
+ event.preventDefault();
18
+ if (!organizationInputRef.current || !formRef.current) {
19
+ return;
20
+ }
21
+ organizationInputRef.current.value = organizationAlias;
22
+ setIsSubmitting(true);
23
+ if (typeof formRef.current.requestSubmit === "function") {
24
+ formRef.current.requestSubmit();
25
+ return;
26
+ }
27
+ formRef.current.submit();
28
+ };
29
+ const organizations = (_a = user.organizations) !== null && _a !== void 0 ? _a : [];
30
+ const shouldDisplayGrid = organizations.length > 3;
31
+ return (_jsx(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, headerNode: null }, { children: _jsxs("form", Object.assign({ ref: formRef, action: url.loginAction, className: "form-vertical", method: "post" }, { children: [_jsxs("div", Object.assign({ id: "kc-user-organizations", className: kcClsx("kcFormGroupClass") }, { children: [_jsx("h2", { children: msg("organization.select") }), _jsx("ul", Object.assign({ className: kcClsx("kcFormSocialAccountListClass", shouldDisplayGrid && "kcFormSocialAccountListGridClass") }, { children: organizations.map(({ alias, name }) => (_jsx("li", { children: _jsx("button", Object.assign({ id: `organization-${alias}`, className: kcClsx("kcFormSocialAccountListButtonClass", shouldDisplayGrid && "kcFormSocialAccountGridItem"), type: "button", onClick: onOrganizationClick(alias), disabled: isSubmitting }, { children: _jsx("span", Object.assign({ className: kcClsx("kcFormSocialAccountNameClass") }, { children: name !== null && name !== void 0 ? name : alias })) })) }, alias))) }))] })), _jsx("input", { ref: organizationInputRef, type: "hidden", name: "kc.org" })] })) })));
32
+ }
33
+ //# sourceMappingURL=SelectOrganization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectOrganization.js","sourceRoot":"","sources":["../../src/login/pages/SelectOrganization.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAc,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAiF;;IACxH,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACzB,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAEhC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAErB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAC9C,MAAM,oBAAoB,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAE5D,MAAM,mBAAmB,GAAG,CAAC,iBAAyB,EAAE,EAAE,CAAC,CAAC,KAAoC,EAAE,EAAE;QAChG,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,CAAC,oBAAoB,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACnD,OAAO;SACV;QAED,oBAAoB,CAAC,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAC;QACvD,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,KAAK,UAAU,EAAE;YACrD,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAChC,OAAO;SACV;QAED,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,aAAa,mCAAI,EAAE,CAAC;IAC/C,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAEnD,OAAO,CACH,KAAC,QAAQ,kBAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,gBAC5G,8BAAM,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,EAAC,eAAe,EAAC,MAAM,EAAC,MAAM,iBAChF,6BAAK,EAAE,EAAC,uBAAuB,EAAC,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,iBACjE,uBAAK,GAAG,CAAC,qBAAqB,CAAC,GAAM,EACrC,2BAAI,SAAS,EAAE,MAAM,CAAC,8BAA8B,EAAE,iBAAiB,IAAI,kCAAkC,CAAC,gBACzG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACpC,uBACI,+BACI,EAAE,EAAE,gBAAgB,KAAK,EAAE,EAC3B,SAAS,EAAE,MAAM,CAAC,oCAAoC,EAAE,iBAAiB,IAAI,6BAA6B,CAAC,EAC3G,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,EACnC,QAAQ,EAAE,YAAY,gBAEtB,6BAAM,SAAS,EAAE,MAAM,CAAC,8BAA8B,CAAC,gBAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,KAAK,IAAQ,IAC1E,IATJ,KAAK,CAUT,CACR,CAAC,IACD,KACH,EACN,gBAAO,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAG,KAC7D,IACA,CACd,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "11.9.16",
3
+ "version": "11.11.0",
4
4
  "description": "Framework to create custom Keycloak UIs",
5
5
  "repository": {
6
6
  "type": "git",
@@ -451,6 +451,9 @@
451
451
  "login/pages/LoginUsername.d.ts",
452
452
  "login/pages/LoginUsername.js",
453
453
  "login/pages/LoginUsername.js.map",
454
+ "login/pages/LoginUsername.useScript.d.ts",
455
+ "login/pages/LoginUsername.useScript.js",
456
+ "login/pages/LoginUsername.useScript.js.map",
454
457
  "login/pages/LoginVerifyEmail.d.ts",
455
458
  "login/pages/LoginVerifyEmail.js",
456
459
  "login/pages/LoginVerifyEmail.js.map",
@@ -472,6 +475,9 @@
472
475
  "login/pages/SelectAuthenticator.d.ts",
473
476
  "login/pages/SelectAuthenticator.js",
474
477
  "login/pages/SelectAuthenticator.js.map",
478
+ "login/pages/SelectOrganization.d.ts",
479
+ "login/pages/SelectOrganization.js",
480
+ "login/pages/SelectOrganization.js.map",
475
481
  "login/pages/Terms.d.ts",
476
482
  "login/pages/Terms.js",
477
483
  "login/pages/Terms.js.map",
@@ -855,6 +861,7 @@
855
861
  "src/login/pages/LoginUpdatePassword.tsx",
856
862
  "src/login/pages/LoginUpdateProfile.tsx",
857
863
  "src/login/pages/LoginUsername.tsx",
864
+ "src/login/pages/LoginUsername.useScript.tsx",
858
865
  "src/login/pages/LoginVerifyEmail.tsx",
859
866
  "src/login/pages/LoginX509Info.tsx",
860
867
  "src/login/pages/LogoutConfirm.tsx",
@@ -862,6 +869,7 @@
862
869
  "src/login/pages/Register.tsx",
863
870
  "src/login/pages/SamlPostForm.tsx",
864
871
  "src/login/pages/SelectAuthenticator.tsx",
872
+ "src/login/pages/SelectOrganization.tsx",
865
873
  "src/login/pages/Terms.tsx",
866
874
  "src/login/pages/UpdateEmail.tsx",
867
875
  "src/login/pages/WebauthnAuthenticate.tsx",
@@ -944,6 +952,7 @@
944
952
  "stories/login/pages/Register.stories.tsx",
945
953
  "stories/login/pages/SamlPostForm.stories.tsx",
946
954
  "stories/login/pages/SelectAuthenticator.stories.tsx",
955
+ "stories/login/pages/SelectOrganization.stories.tsx",
947
956
  "stories/login/pages/Terms.stories.tsx",
948
957
  "stories/login/pages/UpdateEmail.stories.tsx",
949
958
  "stories/login/pages/WebauthnAuthenticate.stories.tsx",
@@ -53,7 +53,8 @@ export const LOGIN_THEME_PAGE_IDS = [
53
53
  "login-x509-info.ftl",
54
54
  "webauthn-error.ftl",
55
55
  "login-passkeys-conditional-authenticate.ftl",
56
- "login-idp-link-confirm-override.ftl"
56
+ "login-idp-link-confirm-override.ftl",
57
+ "select-organization.ftl"
57
58
  ] as const;
58
59
 
59
60
  export const ACCOUNT_THEME_PAGE_IDS = [
@@ -43,6 +43,7 @@ const LoginX509Info = lazy(() => import("keycloakify/login/pages/LoginX509Info")
43
43
  const WebauthnError = lazy(() => import("keycloakify/login/pages/WebauthnError"));
44
44
  const LoginPasskeysConditionalAuthenticate = lazy(() => import("keycloakify/login/pages/LoginPasskeysConditionalAuthenticate"));
45
45
  const LoginIdpLinkConfirmOverride = lazy(() => import("keycloakify/login/pages/LoginIdpLinkConfirmOverride"));
46
+ const SelectOrganization = lazy(() => import("keycloakify/login/pages/SelectOrganization"));
46
47
 
47
48
  type DefaultPageProps = PageProps<KcContext, I18n> & {
48
49
  UserProfileFormFields: LazyOrNot<(props: UserProfileFormFieldsProps) => JSX.Element>;
@@ -128,6 +129,8 @@ export default function DefaultPage(props: DefaultPageProps) {
128
129
  return <LoginPasskeysConditionalAuthenticate kcContext={kcContext} {...rest} />;
129
130
  case "login-idp-link-confirm-override.ftl":
130
131
  return <LoginIdpLinkConfirmOverride kcContext={kcContext} {...rest} />;
132
+ case "select-organization.ftl":
133
+ return <SelectOrganization kcContext={kcContext} {...rest} />;
131
134
  }
132
135
  assert<Equals<typeof kcContext, never>>(false);
133
136
  })()}
@@ -61,7 +61,8 @@ export type KcContext =
61
61
  | KcContext.LoginX509Info
62
62
  | KcContext.WebauthnError
63
63
  | KcContext.LoginPasskeysConditionalAuthenticate
64
- | KcContext.LoginIdpLinkConfirmOverride;
64
+ | KcContext.LoginIdpLinkConfirmOverride
65
+ | KcContext.SelectOrganization;
65
66
 
66
67
  assert<KcContext["themeType"] extends ThemeType ? true : false>();
67
68
 
@@ -335,6 +336,16 @@ export declare namespace KcContext {
335
336
  };
336
337
  usernameHidden?: boolean;
337
338
  social?: Login["social"];
339
+
340
+ enableWebAuthnConditionalUI?: boolean;
341
+ authenticators?: {
342
+ authenticators: WebauthnAuthenticate.WebauthnAuthenticator[];
343
+ };
344
+ isUserIdentified: "true" | "false";
345
+ challenge: string;
346
+ userVerification: UserVerificationRequirement | "not specified";
347
+ rpId: string;
348
+ createTimeout: string | number;
338
349
  };
339
350
 
340
351
  export type LoginPassword = Common & {
@@ -610,6 +621,16 @@ export declare namespace KcContext {
610
621
  };
611
622
  idpDisplayName: string;
612
623
  };
624
+
625
+ export type SelectOrganization = Common & {
626
+ pageId: "select-organization.ftl";
627
+ user: {
628
+ organizations: {
629
+ alias: string;
630
+ name?: string;
631
+ }[];
632
+ };
633
+ };
613
634
  }
614
635
 
615
636
  export type UserProfile = {
@@ -342,7 +342,13 @@ export const kcContextMocks = [
342
342
  },
343
343
  usernameHidden: false,
344
344
  login: {},
345
- registrationDisabled: false
345
+ registrationDisabled: false,
346
+
347
+ challenge: "",
348
+ userVerification: "not specified",
349
+ rpId: "",
350
+ createTimeout: "0",
351
+ isUserIdentified: "false"
346
352
  }),
347
353
  id<KcContext.LoginPassword>({
348
354
  ...kcContextCommonMock,
@@ -617,6 +623,29 @@ export const kcContextMocks = [
617
623
  loginRestartFlowUrl: "#"
618
624
  },
619
625
  idpDisplayName: "Google"
626
+ }),
627
+ id<KcContext.SelectOrganization>({
628
+ pageId: "select-organization.ftl",
629
+ ...kcContextCommonMock,
630
+ user: {
631
+ organizations: [
632
+ {
633
+ alias: "acme-inc",
634
+ name: "Acme Incorporated"
635
+ },
636
+ {
637
+ alias: "northwind-traders",
638
+ name: "Northwind Traders"
639
+ },
640
+ {
641
+ alias: "contoso-labs",
642
+ name: "Contoso Labs"
643
+ },
644
+ {
645
+ alias: "shared-services"
646
+ }
647
+ ]
648
+ }
620
649
  })
621
650
  ];
622
651
 
@@ -478,7 +478,8 @@ const messages = {
478
478
  selectAnOption: "اختر خيارًا",
479
479
  remove: "إزالة",
480
480
  addValue: "أضف قيمة",
481
- languages: "اللغات"
481
+ languages: "اللغات",
482
+ "organization.select": "اختر مؤسسة للمتابعة:"
482
483
  };
483
484
 
484
485
  export default messages;
@@ -510,7 +510,8 @@ const messages = {
510
510
  selectAnOption: "Selecciona una opció",
511
511
  remove: "Elimina",
512
512
  addValue: "Afegeix valor",
513
- languages: "Idiomes"
513
+ languages: "Idiomes",
514
+ "organization.select": "Selecciona una organització per continuar:"
514
515
  };
515
516
 
516
517
  export default messages;
@@ -487,7 +487,8 @@ const messages = {
487
487
  selectAnOption: "Vyberte možnost",
488
488
  remove: "Odstranit",
489
489
  addValue: "Přidat hodnotu",
490
- languages: "Jazyky"
490
+ languages: "Jazyky",
491
+ "organization.select": "Vyberte organizaci pro pokračování:"
491
492
  };
492
493
 
493
494
  export default messages;
@@ -349,7 +349,8 @@ const messages = {
349
349
  selectAnOption: "Vælg en mulighed",
350
350
  remove: "Fjern",
351
351
  addValue: "Tilføj værdi",
352
- languages: "Sprog"
352
+ languages: "Sprog",
353
+ "organization.select": "Vælg en organisation for at fortsætte:"
353
354
  };
354
355
 
355
356
  export default messages;
@@ -536,7 +536,8 @@ const messages = {
536
536
  selectAnOption: "Wählen Sie eine Option",
537
537
  remove: "Entfernen",
538
538
  addValue: "Wert hinzufügen",
539
- languages: "Sprachen"
539
+ languages: "Sprachen",
540
+ "organization.select": "Wählen Sie eine Organisation, um fortzufahren:"
540
541
  };
541
542
 
542
543
  export default messages;
@@ -505,7 +505,8 @@ const messages = {
505
505
  selectAnOption: "Επιλέξτε μια επιλογή",
506
506
  remove: "Αφαίρεση",
507
507
  addValue: "Προσθήκη τιμής",
508
- languages: "Γλώσσες"
508
+ languages: "Γλώσσες",
509
+ "organization.select": "Επιλέξτε έναν οργανισμό για να συνεχίσετε:"
509
510
  };
510
511
 
511
512
  export default messages;
@@ -521,7 +521,8 @@ const messages = {
521
521
  selectAnOption: "Select an option",
522
522
  remove: "Remove",
523
523
  addValue: "Add value",
524
- languages: "Languages"
524
+ languages: "Languages",
525
+ "organization.select": "Select an organization to proceed:"
525
526
  };
526
527
 
527
528
  export default messages;
@@ -518,7 +518,8 @@ const messages = {
518
518
  selectAnOption: "Selecciona una opción",
519
519
  remove: "Eliminar",
520
520
  addValue: "Añadir valor",
521
- languages: "Idiomas"
521
+ languages: "Idiomas",
522
+ "organization.select": "Selecciona una organización para continuar:"
522
523
  };
523
524
 
524
525
  export default messages;
@@ -473,7 +473,8 @@ const messages = {
473
473
  selectAnOption: "یک گزینه انتخاب کنید",
474
474
  remove: "حذف",
475
475
  addValue: "افزودن مقدار",
476
- languages: "زبان‌ها"
476
+ languages: "زبان‌ها",
477
+ "organization.select": "یک سازمان را برای ادامه انتخاب کنید:"
477
478
  };
478
479
 
479
480
  export default messages;
@@ -419,7 +419,8 @@ const messages = {
419
419
  selectAnOption: "Valitse vaihtoehto",
420
420
  remove: "Poista",
421
421
  addValue: "Lisää arvo",
422
- languages: "Kielet"
422
+ languages: "Kielet",
423
+ "organization.select": "Valitse organisaatio jatkaaksesi:"
423
424
  };
424
425
 
425
426
  export default messages;
@@ -451,7 +451,8 @@ const messages = {
451
451
  selectAnOption: "Sélectionnez une option",
452
452
  remove: "Supprimer",
453
453
  addValue: "Ajouter une valeur",
454
- languages: "Langues"
454
+ languages: "Langues",
455
+ "organization.select": "Sélectionnez une organisation pour continuer :"
455
456
  };
456
457
 
457
458
  export default messages;
@@ -505,7 +505,8 @@ const messages = {
505
505
  selectAnOption: "Válasszon egy lehetőséget",
506
506
  remove: "Eltávolítás",
507
507
  addValue: "Érték hozzáadása",
508
- languages: "Nyelvek"
508
+ languages: "Nyelvek",
509
+ "organization.select": "Válasszon egy szervezetet a folytatáshoz:"
509
510
  };
510
511
 
511
512
  export default messages;
@@ -359,7 +359,8 @@ const messages = {
359
359
  selectAnOption: "Seleziona un'opzione",
360
360
  remove: "Rimuovi",
361
361
  addValue: "Aggiungi valore",
362
- languages: "Lingue"
362
+ languages: "Lingue",
363
+ "organization.select": "Seleziona un'organizzazione per continuare:"
363
364
  };
364
365
 
365
366
  export default messages;
@@ -362,7 +362,8 @@ const messages = {
362
362
  selectAnOption: "オプションを選択",
363
363
  remove: "削除",
364
364
  addValue: "値を追加",
365
- languages: "言語"
365
+ languages: "言語",
366
+ "organization.select": "続行する組織を選択してください:"
366
367
  };
367
368
 
368
369
  export default messages;
@@ -530,7 +530,8 @@ const messages = {
530
530
  selectAnOption: "აირჩიეთ ვარიანტი",
531
531
  remove: "წაშალეთ",
532
532
  addValue: "დაამატეთ მნიშვნელობა",
533
- languages: "ენები"
533
+ languages: "ენები",
534
+ "organization.select": "აირჩიეთ ორგანიზაცია გაგრძელებისთვის:"
534
535
  };
535
536
 
536
537
  export default messages;
@@ -226,7 +226,8 @@ const messages = {
226
226
  selectAnOption: "Pasirinkite parinktį",
227
227
  remove: "Pašalinti",
228
228
  addValue: "Pridėti reikšmę",
229
- languages: "Kalbos"
229
+ languages: "Kalbos",
230
+ "organization.select": "Pasirinkite organizaciją, kad galėtumėte tęsti:"
230
231
  };
231
232
 
232
233
  export default messages;
@@ -222,7 +222,8 @@ const messages = {
222
222
  selectAnOption: "Izvēlieties opciju",
223
223
  remove: "Noņemt",
224
224
  addValue: "Pievienot vērtību",
225
- languages: "Valodas"
225
+ languages: "Valodas",
226
+ "organization.select": "Izvēlieties organizāciju, lai turpinātu:"
226
227
  };
227
228
 
228
229
  export default messages;
@@ -317,7 +317,8 @@ const messages = {
317
317
  selectAnOption: "Selecteer een optie",
318
318
  remove: "Verwijderen",
319
319
  addValue: "Waarde toevoegen",
320
- languages: "Talen"
320
+ languages: "Talen",
321
+ "organization.select": "Selecteer een organisatie om door te gaan:"
321
322
  };
322
323
 
323
324
  export default messages;
@@ -221,7 +221,8 @@ const messages = {
221
221
  selectAnOption: "Velg et alternativ",
222
222
  remove: "Fjern",
223
223
  addValue: "Legg til verdi",
224
- languages: "Språk"
224
+ languages: "Språk",
225
+ "organization.select": "Velg en organisasjon for å fortsette:"
225
226
  };
226
227
 
227
228
  export default messages;
@@ -321,7 +321,8 @@ const messages = {
321
321
  selectAnOption: "Wybierz opcję",
322
322
  remove: "Usuń",
323
323
  addValue: "Dodaj wartość",
324
- languages: "Języki"
324
+ languages: "Języki",
325
+ "organization.select": "Wybierz organizację, aby kontynuować:"
325
326
  };
326
327
 
327
328
  export default messages;