- {flow.ui.messages &&
- flow.ui.messages.length > 0 &&
- flow.ui.messages.map((m) => (
-
- {m.text}
-
- ))}
+
{$oidc && (
<>
@@ -292,7 +291,7 @@ export const UserAuthCard = ({
{canShowPasswordless() && (
<>
-
+
break
case "password":
- cardTitle = title || "Change Password"
- $flow =
+ if (hasPassword(flow.ui.nodes)) {
+ hasFlow = true
+ cardTitle = title || "Change Password"
+ $flow =
+ }
break
case "webauthn":
- cardTitle = title || "Manage Hardware Tokens"
- $flow =
+ if (hasWebauthn(flow.ui.nodes)) {
+ hasFlow = true
+ cardTitle = title || "Manage Hardware Tokens"
+ $flow =
+ }
break
case "lookupSecret":
- cardTitle = title || "Manage 2FA Backup Recovery Codes"
- $flow =
+ if (hasLookupSecret(flow.ui.nodes)) {
+ hasFlow = true
+ cardTitle = title || "Manage 2FA Backup Recovery Codes"
+ $flow =
+ }
break
case "oidc":
- cardTitle = title || "Social Sign In"
- $flow =
+ if (hasOIDC(flow.ui.nodes)) {
+ hasFlow = true
+ cardTitle = title || "Social Sign In"
+ $flow =
+ }
break
case "totp":
- cardTitle = title || "Manage 2FA TOTP Authenticator App"
- $flow =
+ if (hasTotp(flow.ui.nodes)) {
+ hasFlow = true
+ cardTitle = title || "Manage 2FA TOTP Authenticator App"
+ $flow =
+ }
break
default:
$flow = null
}
- return $flow ? (
+ return hasFlow ? (
{cardTitle && (
-
+
{cardTitle}
-
+
)}
{$flow}
diff --git a/src/stories/Card.stories.tsx b/src/stories/Card.stories.tsx
index 52e3a3606..564d2a8a8 100644
--- a/src/stories/Card.stories.tsx
+++ b/src/stories/Card.stories.tsx
@@ -2,6 +2,7 @@ import React from "react"
import { Story, ComponentMeta } from "@storybook/react"
import { Container } from "./storyhelper"
import { Card, CardProps, Message } from "../react-components"
+import logo from "./assets/logo.svg"
export default {
title: "Component/Card",
@@ -17,6 +18,13 @@ const Template: Story = (args: CardProps) => (
export const NormalCard = Template.bind({})
NormalCard.args = {
- header: "Normal Title",
+ heading: "Normal Title",
children: This is an error message.,
}
+
+export const LogoHeadingCard = Template.bind({})
+
+LogoHeadingCard.args = {
+ heading: "Logo Heading",
+ image: logo,
+}
diff --git a/src/stories/Ory/Auth.stories.tsx b/src/stories/Ory/Auth.stories.tsx
index c3046bb71..a89320d93 100644
--- a/src/stories/Ory/Auth.stories.tsx
+++ b/src/stories/Ory/Auth.stories.tsx
@@ -11,6 +11,7 @@ import {
import loginFlow from "./login-flow.json"
import loginFlow2FA from "./login-flow-2fa.json"
+import loginFlowUiError from "./login-flow-ui-error.json"
import loginFlowError from "./login-flow-error.json"
import registrationFlow from "./register-flow.json"
@@ -20,6 +21,8 @@ import recoveryFlow from "./recovery-flow.json"
import verificationFlow from "./verification-flow.json"
+import logo from "../assets/logo.svg"
+
export default {
title: "Ory/SelfServiceFlowCard",
component: UserAuthCard,
@@ -37,6 +40,7 @@ LoginAuthCard.args = {
title: "Sign in to your Acme account",
flow: loginFlow as SelfServiceLoginFlow,
flowType: "login",
+ cardImage: logo,
additionalProps: {
signupURL: "https://acme.com/login",
forgotPasswordURL: "https://acme.com/forgot-password",
@@ -81,11 +85,25 @@ LoginAuthCardError.args = {
},
}
+export const LoginAuthCardUiError = Template.bind({})
+
+LoginAuthCardUiError.args = {
+ title: "Sign in to your Acme account",
+ flow: loginFlowUiError as SelfServiceLoginFlow,
+ flowType: "login",
+ additionalProps: {
+ signupURL: "https://acme.com/login",
+ forgotPasswordURL: "https://acme.com/forgot-password",
+ logoutURL: "https://acme.com/logout",
+ },
+}
+
export const RegistrationAuthCard = Template.bind({})
RegistrationAuthCard.args = {
title: "Create an account for Acme",
flow: registrationFlow as SelfServiceRegistrationFlow,
+ cardImage: logo,
flowType: "registration",
additionalProps: {
loginURL: "https://acme.com/login",
diff --git a/src/stories/Ory/AuthSettings.stories.tsx b/src/stories/Ory/AuthSettings.stories.tsx
new file mode 100644
index 000000000..a3e181c52
--- /dev/null
+++ b/src/stories/Ory/AuthSettings.stories.tsx
@@ -0,0 +1,57 @@
+import React from "react"
+import { ComponentMeta, Story } from "@storybook/react"
+import { UserSettingsCard, UserSettingsCardProps } from "../../react-components"
+import { Container } from "../storyhelper"
+
+import settingsFlow from "./settings-flow.json"
+import { SelfServiceSettingsFlow } from "@ory/client"
+
+export default {
+ title: "Ory/UserSettingsCard",
+ component: UserSettingsCard,
+} as ComponentMeta
+
+const Template: Story = (
+ args: UserSettingsCardProps,
+) => (
+
+
+
+
+
+)
+
+export const UserSettingsProfileCard = Template.bind({})
+
+UserSettingsProfileCard.args = {
+ flowType: "profile",
+ flow: settingsFlow as SelfServiceSettingsFlow,
+}
+
+export const UserSettingsPasswordCard = Template.bind({})
+
+UserSettingsPasswordCard.args = {
+ flowType: "password",
+ flow: settingsFlow as SelfServiceSettingsFlow,
+}
+
+export const UserSettingsWebauthnCard = Template.bind({})
+
+UserSettingsWebauthnCard.args = {
+ flowType: "webauthn",
+ flow: settingsFlow as SelfServiceSettingsFlow,
+}
+
+export const UserSettingsTotpCard = Template.bind({})
+
+UserSettingsTotpCard.args = {
+ flowType: "totp",
+ flow: settingsFlow as SelfServiceSettingsFlow,
+}
+
+export const UserSettingsOidcCard = Template.bind({})
+
+UserSettingsOidcCard.args = {
+ flowType: "oidc",
+ flow: settingsFlow as SelfServiceSettingsFlow,
+}
diff --git a/src/stories/Ory/login-flow-ui-error.json b/src/stories/Ory/login-flow-ui-error.json
new file mode 100644
index 000000000..231a3ec62
--- /dev/null
+++ b/src/stories/Ory/login-flow-ui-error.json
@@ -0,0 +1,122 @@
+{
+ "id": "4825164f-0784-4ed3-ba8f-9d0bef2bc3f2",
+ "type": "browser",
+ "expires_at": "2022-09-27T12:07:40.581807Z",
+ "issued_at": "2022-09-27T11:37:40.581807Z",
+ "request_url": "http://test.com/self-service/login/browser?refresh=true&aal=aal1",
+ "ui": {
+ "action": "http://test.com/self-service/login?flow=4825164f-0784-4ed3-ba8f-9d0bef2bc3f2",
+ "method": "POST",
+ "nodes": [
+ {
+ "type": "input",
+ "group": "oidc",
+ "attributes": {
+ "name": "provider",
+ "type": "submit",
+ "value": "github",
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1010002,
+ "text": "Sign in with GitHub",
+ "type": "info",
+ "context": {
+ "provider": "GitHub"
+ }
+ }
+ }
+ },
+ {
+ "type": "input",
+ "group": "default",
+ "attributes": {
+ "name": "csrf_token",
+ "type": "hidden",
+ "value": "8sIxbFJwFrHHWTI4rYRfVwGjtbQ/a4z6bf5R+KMW8DBlxNcIO1mBNk7HjsleD/jSadbVlK9CJah2sZo9OrfM9g==",
+ "required": true,
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {}
+ },
+ {
+ "type": "input",
+ "group": "default",
+ "attributes": {
+ "name": "identifier",
+ "type": "text",
+ "value": "",
+ "required": true,
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [
+ {
+ "id": 4000002,
+ "text": "Property identifier is missing.",
+ "type": "error",
+ "context": {
+ "property": "identifier"
+ }
+ }
+ ],
+ "meta": {
+ "label": {
+ "id": 1070004,
+ "text": "ID",
+ "type": "info"
+ }
+ }
+ },
+ {
+ "type": "input",
+ "group": "password",
+ "attributes": {
+ "name": "password",
+ "type": "password",
+ "required": true,
+ "autocomplete": "current-password",
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1070001,
+ "text": "Password",
+ "type": "info"
+ }
+ }
+ },
+ {
+ "type": "input",
+ "group": "password",
+ "attributes": {
+ "name": "method",
+ "type": "submit",
+ "value": "password",
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1010001,
+ "text": "Sign in",
+ "type": "info",
+ "context": {}
+ }
+ }
+ }
+ ]
+ },
+ "created_at": "2022-09-27T11:37:40.673019Z",
+ "updated_at": "2022-09-27T11:37:40.673019Z",
+ "refresh": false,
+ "requested_aal": "aal1"
+}
diff --git a/src/stories/Ory/settings-flow.json b/src/stories/Ory/settings-flow.json
new file mode 100644
index 000000000..a7185d192
--- /dev/null
+++ b/src/stories/Ory/settings-flow.json
@@ -0,0 +1,308 @@
+{
+ "id": "211d1b28-6144-4b0e-9001-8f73e18c4a82",
+ "type": "browser",
+ "expires_at": "2022-08-29T14:09:37.514116692Z",
+ "issued_at": "2022-08-29T13:39:37.514116692Z",
+ "request_url": "http://test.com/self-service/settings/browser",
+ "ui": {
+ "action": "http://test.com/self-service/settings?flow=211d1b28-6144-4b0e-9001-8f73e18c4a82",
+ "method": "POST",
+ "nodes": [
+ {
+ "type": "input",
+ "group": "default",
+ "attributes": {
+ "name": "csrf_token",
+ "type": "hidden",
+ "value": "CA1DBzOMYjlLmjKDQ66PUSAPF+9nG+umyOeKvVeM5CLNlXF068/V9nEXNzk6KfXVsPYt4+Y5acxUZwPJW8bzDQ==",
+ "required": true,
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {}
+ },
+ {
+ "type": "input",
+ "group": "profile",
+ "attributes": {
+ "name": "traits.email",
+ "type": "email",
+ "value": "test@test.com",
+ "required": true,
+ "autocomplete": "email",
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1070002,
+ "text": "E-Mail",
+ "type": "info"
+ }
+ }
+ },
+ {
+ "type": "input",
+ "group": "profile",
+ "attributes": {
+ "name": "method",
+ "type": "submit",
+ "value": "profile",
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1070003,
+ "text": "Save",
+ "type": "info"
+ }
+ }
+ },
+ {
+ "type": "input",
+ "group": "password",
+ "attributes": {
+ "name": "password",
+ "type": "password",
+ "required": true,
+ "autocomplete": "new-password",
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1070001,
+ "text": "Password",
+ "type": "info"
+ }
+ }
+ },
+ {
+ "type": "input",
+ "group": "password",
+ "attributes": {
+ "name": "method",
+ "type": "submit",
+ "value": "password",
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1070003,
+ "text": "Save",
+ "type": "info"
+ }
+ }
+ },
+ {
+ "type": "input",
+ "group": "lookup_secret",
+ "attributes": {
+ "name": "lookup_secret_regenerate",
+ "type": "submit",
+ "value": "true",
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1050008,
+ "text": "Generate new backup recovery codes",
+ "type": "info"
+ }
+ }
+ },
+ {
+ "type": "input",
+ "group": "webauthn",
+ "attributes": {
+ "name": "webauthn_register_displayname",
+ "type": "text",
+ "value": "",
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1050013,
+ "text": "Name of the security key",
+ "type": "info"
+ }
+ }
+ },
+ {
+ "type": "input",
+ "group": "webauthn",
+ "attributes": {
+ "name": "webauthn_register",
+ "type": "hidden",
+ "value": "",
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {}
+ },
+ {
+ "type": "input",
+ "group": "webauthn",
+ "attributes": {
+ "name": "webauthn_register_trigger",
+ "type": "button",
+ "value": "",
+ "disabled": false,
+ "onclick": "window.__oryWebAuthnRegistration({\"publicKey\":{\"challenge\":\"\",\"rp\":{\"name\":\"Test\",\"id\":\"test.com\"},\"user\":{\"name\":\"placeholder\",\"icon\":\"https://via.placeholder.com/128\",\"displayName\":\"placeholder\",\"id\":\"\"},\"pubKeyCredParams\":[{\"type\":\"public-key\",\"alg\":-7},{\"type\":\"public-key\",\"alg\":-35},{\"type\":\"public-key\",\"alg\":-36},{\"type\":\"public-key\",\"alg\":-257},{\"type\":\"public-key\",\"alg\":-258},{\"type\":\"public-key\",\"alg\":-259},{\"type\":\"public-key\",\"alg\":-37},{\"type\":\"public-key\",\"alg\":-38},{\"type\":\"public-key\",\"alg\":-39},{\"type\":\"public-key\",\"alg\":-8}],\"authenticatorSelection\":{\"userVerification\":\"discouraged\"},\"timeout\":60000}})",
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1050012,
+ "text": "Add security key",
+ "type": "info"
+ }
+ }
+ },
+ {
+ "type": "script",
+ "group": "webauthn",
+ "attributes": {
+ "src": "http://test.com/.well-known/ory/webauthn.js",
+ "async": true,
+ "referrerpolicy": "no-referrer",
+ "crossorigin": "anonymous",
+ "integrity": "sha512-E3ctShTQEYTkfWrjztRCbP77lN7L0jJC2IOd6j8vqUKslvqhX/Ho3QxlQJIeTI78krzAWUQlDXd9JQ0PZlKhzQ==",
+ "type": "text/javascript",
+ "id": "webauthn_script",
+ "nonce": "98844887-ab03-4551-841a-693c5ac802ca",
+ "node_type": "script"
+ },
+ "messages": [],
+ "meta": {}
+ },
+ {
+ "type": "img",
+ "group": "totp",
+ "attributes": {
+ "src": "data:image/png;base64,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",
+ "id": "totp_qr",
+ "width": 256,
+ "height": 256,
+ "node_type": "img"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1050005,
+ "text": "Authenticator app QR code",
+ "type": "info"
+ }
+ }
+ },
+ {
+ "type": "text",
+ "group": "totp",
+ "attributes": {
+ "text": {
+ "id": 1050006,
+ "text": "AH4EGV22CTLLZ57BJ4CAAICBB5Z3RQNB",
+ "type": "info",
+ "context": {
+ "secret": "AH4EGV22CTLLZ57BJ4CAAICBB5Z3RQNB"
+ }
+ },
+ "id": "totp_secret_key",
+ "node_type": "text"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1050017,
+ "text": "This is your authenticator app secret. Use it if you can not scan the QR code.",
+ "type": "info"
+ }
+ }
+ },
+ {
+ "type": "input",
+ "group": "totp",
+ "attributes": {
+ "name": "totp_code",
+ "type": "text",
+ "required": true,
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1070006,
+ "text": "Verify code",
+ "type": "info"
+ }
+ }
+ },
+ {
+ "type": "input",
+ "group": "totp",
+ "attributes": {
+ "name": "method",
+ "type": "submit",
+ "value": "totp",
+ "disabled": false,
+ "node_type": "input"
+ },
+ "messages": [],
+ "meta": {
+ "label": {
+ "id": 1070003,
+ "text": "Save",
+ "type": "info"
+ }
+ }
+ }
+ ]
+ },
+ "identity": {
+ "id": "6ef63ac1-0f07-406f-87ef-ebbc87e5a3f9",
+ "schema_id": "preset://email",
+ "schema_url": "http://test.com/schemas/cHJlc2V0Oi8vZW1haWw",
+ "state": "active",
+ "state_changed_at": "2022-02-10T13:57:53.668318Z",
+ "traits": {
+ "email": "test@test.com"
+ },
+ "verifiable_addresses": [
+ {
+ "id": "3b0f2966-b5d7-4273-b8a0-b07b96c7591b",
+ "value": "test@test.com",
+ "verified": false,
+ "via": "email",
+ "status": "sent",
+ "created_at": "2022-02-10T13:57:53.705359Z",
+ "updated_at": "2022-02-10T13:57:53.705359Z"
+ }
+ ],
+ "recovery_addresses": [
+ {
+ "id": "02b54483-8de9-4b7f-ba1d-ebf8a41e74b7",
+ "value": "test@test.com",
+ "via": "email",
+ "created_at": "2022-02-10T13:57:53.712317Z",
+ "updated_at": "2022-02-10T13:57:53.712317Z"
+ }
+ ],
+ "created_at": "2022-02-10T13:57:53.676513Z",
+ "updated_at": "2022-02-10T13:57:53.676513Z"
+ },
+ "state": "show_form"
+}
diff --git a/src/stories/assets/fork.png b/src/stories/assets/fork.png
deleted file mode 100644
index 2d16e98decf5aa8dd0320e7f7d6a346f781596f9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 3433
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
JPDHLkV1oOAt=|9u
diff --git a/src/stories/assets/logo.png b/src/stories/assets/logo.png
deleted file mode 100644
index b7763a3d331cdb11b481a027d9f11ec7ee176dee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 12287
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
+
+
+
+
+
+
+
diff --git a/src/stories/assets/ory.png b/src/stories/assets/ory.png
deleted file mode 100644
index 08298cc80e8845e280221d1065bba6da825ce7ba..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 3011
zcmV;!3q16RP)@~0drDELIAGL9O(c600d`2O+f$vv5yP}QVwCUhdVAX^r`=Go@)&@s{&~7)Zs<2`yUjJ>m+ozun
zH+vYmQ18_SM}p99C+z6st^{YU3M)%lp-CxU-&gTSqUJH1*7EAGxcUF_<_Ma(aE
zH%^bmLlO+0Glam@(kS*av&G8e{`2ku{YW-_M=
zLYq=F0;?{pEJ0|~Nk(A)g_R`;ZMqlH;>
zinRT4eDS%CDZ|l+!8%4Ce}u9yhS!+yoQU&5m8{1Xyj$F5{GI+|qK)R0f4&C`$6KFX
zNhvyc$0S}$=Xx+aX#r1a6+CUo7~41z7w^A!3WzS~EN}cIq+E4rzwc7;qmP50uR?;V
z={0j(WS;`+rt=e#M!)KgGbUFiRu6_kTRSD#EMJ5E^}lNCSQ9Bk;Xs~lpR9vD+an5TS`G@$wg!L-rZ-Db3R_)BjA
zCdAhdyN_p@(XUm-Mc_zW!O_|~-umB7^LEi1vp00B0!I?@s7jbz62p=YSufLd#i+m<
z{huo^8udq;pZ4(SD)^<%MYM;b*!TNhgDyDZujX7#1Ox=ylX#gPxe9W6Ec1-)x}Z}#ivfZA`f
zQU|BU@dFp{_z+`ZoU<3Y<5I*+_nvikbjQ`TWzn8)erfam@+j(27V#X%e{*TUP+V`o
zgoK^uv3OXt;goBCN-#G`j6E2Q$cQfe(B2i^fkidZpM>y@+xl3NRyItRryxBO^{m55>e{YiI6
z#(3K?i>%Uw-}Z--K$sNW`Tw|Q7N|4nT$9LXKIU?(Cu_$#mzD2C{0pCJ_hk&VtQ~p@~}1AG&V62%d~QeIQkEQOa^5STcXJ|I3i+U8g#~Ma?T@dXU9VRA4+1jVmk7z7s2m9)G?gc_nEM^
znBY=zx5J-RW}uyaR1P_a4e-PnItK{QjldALK?hE{rof%QY*eFf;}jS)r#ey
zvt9(pd*r_iCvJd8ERA>WAVtJGxK;0n(&*Q2=;1x!mqL{
z7*1k_+Z6~gfC{)-F}?L78WLEWLH^RnlOyq8@Qe`f8CBiMJ9ZW;v+rgx1zImnMwLgf
z1D=tLCf8B!?GOcREyE#)3a@uN^Xnn#oh+R2^KA^745Wk>Dwpw=bly@RAdOy
za`ublpiS0`Xy6REtvNQVrSgF>t$=baycKS!tr8dUXYfoTDdEWl<81fALgG-l77wrv
zb|gKl;8sc@>As)hnXx31JW_izlz;^`ua>Lf)MJX~D
zvso{~abZvlTP?4iOOO85*ltsuT$1;oEu<
zN?@bWGSt2?z{=6q?sl0@qER*zMLpB%o-z#|hpe!rOuJoHWS5Iz4B}D&&YFU{$u5!F
zPwx0!q2=3p5to71*fLtsb$RTvE-+2XQW>s!=~y-Em4a4m&0N%&h|FbOM`f{U=ndxP%4Tw}O(gwl#^=Ib8aS
z;T(PFt)kmf6~1g6g0+}*|oYU7e+
z7J8%<*<+&YUFJ$IlBy^0RgTlf|iK^-m%E}KgsVL6KnKf_gARbUXmG))1j
zc>8tCy;80vyD#g{rK}V*G$UWuxgY-g^5TlQQnVUMT=*F>$eNJ{L6(Qs
zM}h;Xu;z}%1D6G_K1mk
zfqmbD;wy#&bQL8b(LP(W)#VK5-U}Q9->eM#PWTS)rA&>HQf~a##?ux1z`ny+I`uj{N*yGq^dUqw~0#wbGX@C;mLOrwZR$Lcl?s9
zm1yd&}eBFt-iSlB`<-=QP{~VE3_c2
z>Bc#VP*i9^SOKDRm`W$KAgsVRmE)kP(A4H1L0Ewde*(S-2_3|>{|5j7002ovPDHLk
FV1jV0qeK7z
diff --git a/src/stories/assets/repo-forked.png b/src/stories/assets/repo-forked.png
deleted file mode 100644
index 4baaeccca7fc5377fd2f419ce4a95694a8a840b9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 847
zcmV-V1F-ywP)@~0drDELIAGL9O(c600d`2O+f$vv5yPa=lFcmeQimHash}$B9Q>{yvpwH%iE$TRz*=tJj$|Ms^e##=VJ(j+P^na%1>ok
z-RMrecc_lupe;B;?O&6C2iRa$RdXrf!p1&H;BGh^PLd?~Z(~pGzsUeRsH%tSR_E42
z$R9#HPVi9Iu2dLneGzR{K-ZS;$^8d`&Xizv#$NOaUKGLLGroofSBzXcX&+*_+6jFSLoRPtM(j!G9Ak0g&ee1u`33Ww%hBn}7q<{x#mKK$@l#OixXAn9h$V{g~>
z(I^dSgW7-01EA+b0ifrQ3lOqV!Li9fE`VCfrapn-J$Nq=6D)wuTJ0)=ZSXd2v!Hfy
zrl#FnJZwZj8yjEPChQX*A;Q51uL%+1;Dgurh|p#5!T$@q1$I%Kt4hQ%HR=F0gw<8sDo$2c49oJ+1?cw5sof+jg1K0!IRGc
zZK$`nT#5Su&~u^y&~u^y&~sP?z`8$^4O_L>2DUZV<;za>&F})h8w3Ve-T-{^t>8^{
ze;HPQ!ZEP-b$`@w*ZsLdJ_NYy{#@ah16b?+T#0!Aki%Q|=L)$1dtdiQ4R_t2D=e8H
zXWgGGECOtP|1$@m{|SsMEUN$plBPpUd1oeDwBZWA6L4H_vcqMa@f9l^CP$I_Mk0}e
Z;t6}`gQvhe7(M_1002ovPDHLkV1mOnh}!@F
diff --git a/src/stories/assets/sign-out.png b/src/stories/assets/sign-out.png
deleted file mode 100644
index ca360272171df7c5d917f705ed90a1b18bc3b3c7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 733
zcmV<30wVp1P)@~0drDELIAGL9O(c600d`2O+f$vv5yPz4WUU80#@`Bkg;w_)aV6v
z%S(1fbe><8#E~e8!#b^VNC~({rzC_;WQTiVqZHvBkbV7wzXyA(U1CfLNHcJ;
z44$togF6?XyVqB#vyUi8UcDE=PH;W)Dj}D^#>lG#DPUXVRh$=~)_B#Nv5fq`&1e
zMGZnqK&{BD1R+2t@+twG3U8m~tMEPn19q-`5?m(wW~dW@$ms+iaykKsoK65DrxSq4
zvEB
diff --git a/src/theme/card.css.ts b/src/theme/card.css.ts
index 499ca3015..8301ec6c3 100644
--- a/src/theme/card.css.ts
+++ b/src/theme/card.css.ts
@@ -32,6 +32,13 @@ export const cardTitleStyle = style({
textAlign: "center",
})
+export const cardTitleImage = style({
+ display: "flex",
+ justifyContent: "center",
+ alignItems: "center",
+ height: pxToRem(42),
+})
+
// recipe for the card style
// this ensures we have themeable variations for the card
export const cardStyle = recipe({
diff --git a/tests/preact-spa/src/login.tsx b/tests/preact-spa/src/login.tsx
index cb1c10136..5609d901a 100644
--- a/tests/preact-spa/src/login.tsx
+++ b/tests/preact-spa/src/login.tsx
@@ -33,7 +33,6 @@ export const Login = () => {
handleFlow({ refresh: true, mfa: isMFA })
.then((flow) => setFlow(flow))
.catch((error) => {
- console.dir({ error: error.response })
switch (error.response?.status) {
case 400:
setFlow(error.response.data)
diff --git a/tests/react-spa/src/App.tsx b/tests/react-spa/src/App.tsx
index cd8240fe4..3be93273b 100644
--- a/tests/react-spa/src/App.tsx
+++ b/tests/react-spa/src/App.tsx
@@ -23,7 +23,6 @@ const Dashboard = () => {
setSession(session)
})
.catch((error) => {
- console.dir({ error })
if (error.response?.status === 403) {
if (error.response?.data.error.id === "session_aal2_required") {
return navigate("/login?aal2=true", { replace: true })
diff --git a/tests/react-spa/src/Login.tsx b/tests/react-spa/src/Login.tsx
index 93f3dbef3..e97077d6d 100644
--- a/tests/react-spa/src/Login.tsx
+++ b/tests/react-spa/src/Login.tsx
@@ -31,7 +31,6 @@ export const Login = (): JSX.Element => {
handleFlow({ refresh: true, mfa: isMFA })
.then((flow) => setFlow(flow))
.catch((error) => {
- console.dir({ error: error.response })
switch (error.response?.status) {
case 400:
setFlow(error.response.data)