@oussemasahbeni/keycloakify-login-shadcn 250004.0.2 → 250004.0.7
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/keycloak-theme/components/ui/alert.tsx +4 -4
- package/keycloak-theme/components/ui/dropdown-menu.tsx +5 -5
- package/keycloak-theme/components/ui/input.tsx +1 -1
- package/keycloak-theme/components/ui/select.tsx +4 -4
- package/keycloak-theme/components/ui/separator.tsx +1 -1
- package/keycloak-theme/login/KcContext.ts +23 -19
- package/keycloak-theme/login/KcPage.tsx +47 -60
- package/keycloak-theme/login/assets/img/auth-logo.svg +100 -100
- package/keycloak-theme/login/assets/img/shape.svg +71 -71
- package/keycloak-theme/login/components/LogoutOtherSessions.tsx +26 -26
- package/keycloak-theme/login/components/PasswordWrapper.tsx +35 -35
- package/keycloak-theme/login/components/Template/Template.tsx +227 -226
- package/keycloak-theme/login/components/Template/index.ts +1 -1
- package/keycloak-theme/login/components/Template/useInitializeTemplate.ts +61 -61
- package/keycloak-theme/login/components/UserProfileFormFields/AddRemoveButtonsMultiValuedAttribute.tsx +61 -61
- package/keycloak-theme/login/components/UserProfileFormFields/DO_MAKE_USER_CONFIRM_PASSWORD.ts +2 -2
- package/keycloak-theme/login/components/UserProfileFormFields/FieldErrors.tsx +28 -28
- package/keycloak-theme/login/components/UserProfileFormFields/GroupLabel.tsx +70 -70
- package/keycloak-theme/login/components/UserProfileFormFields/InputFieldByType.tsx +58 -58
- package/keycloak-theme/login/components/UserProfileFormFields/InputTag.tsx +116 -116
- package/keycloak-theme/login/components/UserProfileFormFields/InputTagSelects.tsx +135 -135
- package/keycloak-theme/login/components/UserProfileFormFields/SelectTag.tsx +114 -114
- package/keycloak-theme/login/components/UserProfileFormFields/TextareaTag.tsx +42 -42
- package/keycloak-theme/login/components/UserProfileFormFields/UserProfileFormFields.tsx +127 -127
- package/keycloak-theme/login/components/UserProfileFormFields/index.ts +1 -1
- package/keycloak-theme/login/i18n.ts +47 -51
- package/keycloak-theme/login/mocks/getKcContextMock.ts +22 -18
- package/keycloak-theme/login/pages/PageIndex.tsx +134 -134
- package/keycloak-theme/login/pages/code/Page.stories.tsx +62 -78
- package/keycloak-theme/login/pages/code/Page.tsx +89 -89
- package/keycloak-theme/login/pages/code/index.ts +3 -3
- package/keycloak-theme/login/pages/delete-account-confirm/Page.stories.tsx +39 -46
- package/keycloak-theme/login/pages/delete-account-confirm/Page.tsx +63 -63
- package/keycloak-theme/login/pages/delete-account-confirm/index.ts +3 -3
- package/keycloak-theme/login/pages/delete-credential/Page.stories.tsx +26 -30
- package/keycloak-theme/login/pages/delete-credential/Page.tsx +51 -51
- package/keycloak-theme/login/pages/delete-credential/index.ts +3 -3
- package/keycloak-theme/login/pages/error/Page.stories.tsx +47 -58
- package/keycloak-theme/login/pages/error/Page.tsx +42 -42
- package/keycloak-theme/login/pages/error/index.ts +3 -3
- package/keycloak-theme/login/pages/frontchannel-logout/Page.stories.tsx +25 -32
- package/keycloak-theme/login/pages/frontchannel-logout/Page.tsx +84 -84
- package/keycloak-theme/login/pages/frontchannel-logout/index.ts +3 -3
- package/keycloak-theme/login/pages/idp-review-user-profile/Page.stories.tsx +46 -58
- package/keycloak-theme/login/pages/idp-review-user-profile/Page.tsx +52 -52
- package/keycloak-theme/login/pages/idp-review-user-profile/index.ts +3 -3
- package/keycloak-theme/login/pages/info/Page.stories.tsx +50 -60
- package/keycloak-theme/login/pages/info/Page.tsx +92 -92
- package/keycloak-theme/login/pages/link-idp-action/Page.stories.tsx +32 -16
- package/keycloak-theme/login/pages/link-idp-action/Page.tsx +43 -43
- package/keycloak-theme/login/pages/link-idp-action/index.ts +3 -3
- package/keycloak-theme/login/pages/login/Form.tsx +242 -242
- package/keycloak-theme/login/pages/login/Info.tsx +29 -29
- package/keycloak-theme/login/pages/login/Page.stories.tsx +345 -365
- package/keycloak-theme/login/pages/login/Page.tsx +44 -44
- package/keycloak-theme/login/pages/login/SocialProviders.tsx +107 -107
- package/keycloak-theme/login/pages/login/index.ts +3 -3
- package/keycloak-theme/login/pages/login/providers/apple.svg +3 -3
- package/keycloak-theme/login/pages/login/providers/bitbucket.svg +11 -11
- package/keycloak-theme/login/pages/login/providers/discord.svg +4 -4
- package/keycloak-theme/login/pages/login/providers/facebook.svg +5 -5
- package/keycloak-theme/login/pages/login/providers/github.svg +3 -3
- package/keycloak-theme/login/pages/login/providers/gitlab.svg +7 -7
- package/keycloak-theme/login/pages/login/providers/google.svg +7 -7
- package/keycloak-theme/login/pages/login/providers/instagram.svg +31 -31
- package/keycloak-theme/login/pages/login/providers/linkedin.svg +3 -3
- package/keycloak-theme/login/pages/login/providers/microsoft.svg +6 -6
- package/keycloak-theme/login/pages/login/providers/oidc.svg +5 -5
- package/keycloak-theme/login/pages/login/providers/openshift.svg +7 -7
- package/keycloak-theme/login/pages/login/providers/paypal.svg +6 -6
- package/keycloak-theme/login/pages/login/providers/slack.svg +11 -11
- package/keycloak-theme/login/pages/login/providers/stackoverflow.svg +5 -5
- package/keycloak-theme/login/pages/login/providers/x.svg +3 -3
- package/keycloak-theme/login/pages/login/useProviderLogos.tsx +39 -39
- package/keycloak-theme/login/pages/login/useScript.tsx +62 -62
- package/keycloak-theme/login/pages/login-config-totp/Page.stories.tsx +45 -59
- package/keycloak-theme/login/pages/login-config-totp/Page.tsx +240 -240
- package/keycloak-theme/login/pages/login-config-totp/index.ts +3 -3
- package/keycloak-theme/login/pages/login-idp-link-confirm/Page.stories.tsx +30 -34
- package/keycloak-theme/login/pages/login-idp-link-confirm/Page.tsx +43 -43
- package/keycloak-theme/login/pages/login-idp-link-confirm/index.ts +3 -3
- package/keycloak-theme/login/pages/login-idp-link-confirm-override/Page.stories.tsx +16 -22
- package/keycloak-theme/login/pages/login-idp-link-confirm-override/Page.tsx +47 -47
- package/keycloak-theme/login/pages/login-idp-link-confirm-override/index.ts +3 -3
- package/keycloak-theme/login/pages/login-idp-link-email/Page.stories.tsx +54 -62
- package/keycloak-theme/login/pages/login-idp-link-email/Page.tsx +54 -54
- package/keycloak-theme/login/pages/login-idp-link-email/index.ts +3 -3
- package/keycloak-theme/login/pages/login-oauth-grant/Page.stories.tsx +39 -45
- package/keycloak-theme/login/pages/login-oauth-grant/Page.tsx +126 -126
- package/keycloak-theme/login/pages/login-oauth-grant/index.ts +3 -3
- package/keycloak-theme/login/pages/login-oauth2-device-verify-user-code/Page.stories.tsx +38 -48
- package/keycloak-theme/login/pages/login-oauth2-device-verify-user-code/Page.tsx +58 -58
- package/keycloak-theme/login/pages/login-oauth2-device-verify-user-code/index.ts +3 -3
- package/keycloak-theme/login/pages/login-otp/Page.stories.tsx +82 -96
- package/keycloak-theme/login/pages/login-otp/Page.tsx +108 -108
- package/keycloak-theme/login/pages/login-otp/index.ts +3 -3
- package/keycloak-theme/login/pages/login-page-expired/Page.stories.tsx +28 -36
- package/keycloak-theme/login/pages/login-page-expired/Page.tsx +47 -47
- package/keycloak-theme/login/pages/login-page-expired/index.ts +3 -3
- package/keycloak-theme/login/pages/login-passkeys-conditional-authenticate/Page.stories.tsx +20 -0
- package/keycloak-theme/login/pages/login-passkeys-conditional-authenticate/Page.tsx +233 -233
- package/keycloak-theme/login/pages/login-passkeys-conditional-authenticate/index.ts +3 -3
- package/keycloak-theme/login/pages/login-passkeys-conditional-authenticate/useScript.tsx +63 -63
- package/keycloak-theme/login/pages/login-password/Page.stories.tsx +55 -56
- package/keycloak-theme/login/pages/login-password/Page.tsx +149 -149
- package/keycloak-theme/login/pages/login-password/index.ts +3 -3
- package/keycloak-theme/login/pages/login-password/useScript.tsx +63 -63
- package/keycloak-theme/login/pages/login-recovery-authn-code-config/Page.stories.tsx +28 -36
- package/keycloak-theme/login/pages/login-recovery-authn-code-config/Page.tsx +181 -181
- package/keycloak-theme/login/pages/login-recovery-authn-code-config/index.ts +3 -3
- package/keycloak-theme/login/pages/login-recovery-authn-code-config/useScript.tsx +145 -145
- package/keycloak-theme/login/pages/login-recovery-authn-code-input/Page.stories.tsx +16 -22
- package/keycloak-theme/login/pages/login-recovery-authn-code-input/Page.tsx +70 -70
- package/keycloak-theme/login/pages/login-recovery-authn-code-input/index.ts +3 -3
- package/keycloak-theme/login/pages/login-reset-otp/Page.stories.tsx +62 -74
- package/keycloak-theme/login/pages/login-reset-otp/Page.tsx +86 -86
- package/keycloak-theme/login/pages/login-reset-otp/index.ts +3 -3
- package/keycloak-theme/login/pages/login-reset-password/Form.tsx +68 -68
- package/keycloak-theme/login/pages/login-reset-password/Page.stories.tsx +44 -54
- package/keycloak-theme/login/pages/login-reset-password/Page.tsx +27 -27
- package/keycloak-theme/login/pages/login-reset-password/index.ts +3 -3
- package/keycloak-theme/login/pages/login-update-password/Page.stories.tsx +40 -50
- package/keycloak-theme/login/pages/login-update-password/Page.tsx +111 -111
- package/keycloak-theme/login/pages/login-update-password/index.ts +3 -3
- package/keycloak-theme/login/pages/login-update-profile/Page.stories.tsx +28 -36
- package/keycloak-theme/login/pages/login-update-profile/Page.tsx +68 -68
- package/keycloak-theme/login/pages/login-update-profile/index.ts +3 -3
- package/keycloak-theme/login/pages/login-username/Page.stories.tsx +32 -42
- package/keycloak-theme/login/pages/login-username/Page.tsx +246 -246
- package/keycloak-theme/login/pages/login-username/index.ts +3 -3
- package/keycloak-theme/login/pages/login-username/useScript.tsx +62 -62
- package/keycloak-theme/login/pages/login-verify-email/Page.stories.tsx +68 -80
- package/keycloak-theme/login/pages/login-verify-email/Page.tsx +38 -38
- package/keycloak-theme/login/pages/login-verify-email/index.ts +3 -3
- package/keycloak-theme/login/pages/login-x509-info/Page.stories.tsx +29 -37
- package/keycloak-theme/login/pages/login-x509-info/Page.tsx +75 -75
- package/keycloak-theme/login/pages/login-x509-info/index.ts +3 -3
- package/keycloak-theme/login/pages/logout-confirm/Page.stories.tsx +34 -42
- package/keycloak-theme/login/pages/logout-confirm/Page.tsx +53 -53
- package/keycloak-theme/login/pages/logout-confirm/index.ts +3 -3
- package/keycloak-theme/login/pages/register/Form.tsx +106 -106
- package/keycloak-theme/login/pages/register/Page.stories.tsx +23 -6
- package/keycloak-theme/login/pages/register/Page.tsx +26 -26
- package/keycloak-theme/login/pages/register/TermsAcceptance.tsx +56 -56
- package/keycloak-theme/login/pages/register/index.ts +3 -3
- package/keycloak-theme/login/pages/saml-post-form/Page.stories.tsx +16 -22
- package/keycloak-theme/login/pages/saml-post-form/Page.tsx +66 -66
- package/keycloak-theme/login/pages/saml-post-form/index.ts +3 -3
- package/keycloak-theme/login/pages/select-authenticator/Page.stories.tsx +83 -95
- package/keycloak-theme/login/pages/select-authenticator/Page.tsx +100 -100
- package/keycloak-theme/login/pages/select-authenticator/index.ts +3 -3
- package/keycloak-theme/login/pages/select-organization/Page.stories.tsx +62 -49
- package/keycloak-theme/login/pages/select-organization/Page.tsx +126 -126
- package/keycloak-theme/login/pages/select-organization/index.ts +3 -3
- package/keycloak-theme/login/pages/terms/Page.stories.tsx +15 -0
- package/keycloak-theme/login/pages/terms/Page.tsx +51 -51
- package/keycloak-theme/login/pages/terms/index.ts +3 -3
- package/keycloak-theme/login/pages/update-email/Page.stories.tsx +27 -35
- package/keycloak-theme/login/pages/update-email/Page.tsx +62 -62
- package/keycloak-theme/login/pages/update-email/index.ts +3 -3
- package/keycloak-theme/login/pages/webauthn-authenticate/Page.stories.tsx +112 -126
- package/keycloak-theme/login/pages/webauthn-authenticate/Page.tsx +202 -202
- package/keycloak-theme/login/pages/webauthn-authenticate/index.ts +3 -3
- package/keycloak-theme/login/pages/webauthn-authenticate/useScript.tsx +55 -55
- package/keycloak-theme/login/pages/webauthn-error/Page.stories.tsx +54 -66
- package/keycloak-theme/login/pages/webauthn-error/Page.tsx +73 -73
- package/keycloak-theme/login/pages/webauthn-error/index.ts +3 -3
- package/keycloak-theme/login/pages/webauthn-register/Page.stories.tsx +39 -49
- package/keycloak-theme/login/pages/webauthn-register/Page.tsx +78 -78
- package/keycloak-theme/login/pages/webauthn-register/index.ts +3 -3
- package/keycloak-theme/login/pages/webauthn-register/useScript.tsx +62 -62
- package/keycloak-theme/login/shared/getColorScheme.ts +45 -0
- package/keycloak-theme/login/styleLevelCustomization.tsx +36 -17
- package/package.json +6 -5
|
@@ -38,13 +38,13 @@ const Alert = React.forwardRef<
|
|
|
38
38
|
<div className="flex items-start gap-3">
|
|
39
39
|
{showIcon && (
|
|
40
40
|
<>
|
|
41
|
-
{variant === "info" && <Info className="h-5 w-5
|
|
42
|
-
{variant === "error" && <XCircle className="h-5 w-5
|
|
41
|
+
{variant === "info" && <Info className="h-5 w-5 shrink-0" />}
|
|
42
|
+
{variant === "error" && <XCircle className="h-5 w-5 shrink-0" />}
|
|
43
43
|
{variant === "warning" && (
|
|
44
|
-
<AlertTriangle className="h-5 w-5
|
|
44
|
+
<AlertTriangle className="h-5 w-5 shrink-0" />
|
|
45
45
|
)}
|
|
46
46
|
{variant === "success" && (
|
|
47
|
-
<MdCheckCircle className="h-5 w-5
|
|
47
|
+
<MdCheckCircle className="h-5 w-5 shrink-0" />
|
|
48
48
|
)}
|
|
49
49
|
</>
|
|
50
50
|
)}
|
|
@@ -44,7 +44,7 @@ const DropdownMenuSubContent = React.forwardRef<
|
|
|
44
44
|
<DropdownMenuPrimitive.SubContent
|
|
45
45
|
ref={ref}
|
|
46
46
|
className={cn(
|
|
47
|
-
"z-50 min-w-
|
|
47
|
+
"z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
|
|
48
48
|
className
|
|
49
49
|
)}
|
|
50
50
|
{...props}
|
|
@@ -61,7 +61,7 @@ const DropdownMenuContent = React.forwardRef<
|
|
|
61
61
|
ref={ref}
|
|
62
62
|
sideOffset={sideOffset}
|
|
63
63
|
className={cn(
|
|
64
|
-
"z-50 max-h-
|
|
64
|
+
"z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",
|
|
65
65
|
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
|
|
66
66
|
className
|
|
67
67
|
)}
|
|
@@ -80,7 +80,7 @@ const DropdownMenuItem = React.forwardRef<
|
|
|
80
80
|
<DropdownMenuPrimitive.Item
|
|
81
81
|
ref={ref}
|
|
82
82
|
className={cn(
|
|
83
|
-
"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-
|
|
83
|
+
"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
84
84
|
inset && "pl-8",
|
|
85
85
|
className
|
|
86
86
|
)}
|
|
@@ -96,7 +96,7 @@ const DropdownMenuCheckboxItem = React.forwardRef<
|
|
|
96
96
|
<DropdownMenuPrimitive.CheckboxItem
|
|
97
97
|
ref={ref}
|
|
98
98
|
className={cn(
|
|
99
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-
|
|
99
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
100
100
|
className
|
|
101
101
|
)}
|
|
102
102
|
checked={checked}
|
|
@@ -119,7 +119,7 @@ const DropdownMenuRadioItem = React.forwardRef<
|
|
|
119
119
|
<DropdownMenuPrimitive.RadioItem
|
|
120
120
|
ref={ref}
|
|
121
121
|
className={cn(
|
|
122
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-
|
|
122
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
123
123
|
className
|
|
124
124
|
)}
|
|
125
125
|
{...props}
|
|
@@ -9,7 +9,7 @@ const Input = React.forwardRef<HTMLInputElement, React.ComponentProps<"input">>(
|
|
|
9
9
|
type={type}
|
|
10
10
|
className={cn(
|
|
11
11
|
"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
12
|
-
"group-
|
|
12
|
+
"group-data-[invalid=true]/field:border-destructive group-data-[invalid=true]/field:focus-visible:ring-destructive",
|
|
13
13
|
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
14
14
|
className
|
|
15
15
|
)}
|
|
@@ -17,7 +17,7 @@ const SelectTrigger = React.forwardRef<
|
|
|
17
17
|
<SelectPrimitive.Trigger
|
|
18
18
|
ref={ref}
|
|
19
19
|
className={cn(
|
|
20
|
-
"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-
|
|
20
|
+
"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
|
21
21
|
className
|
|
22
22
|
)}
|
|
23
23
|
{...props}
|
|
@@ -66,7 +66,7 @@ const SelectContent = React.forwardRef<
|
|
|
66
66
|
<SelectPrimitive.Content
|
|
67
67
|
ref={ref}
|
|
68
68
|
className={cn(
|
|
69
|
-
"relative z-50 max-h-[--radix-select-content-available-height] min-w-
|
|
69
|
+
"relative z-50 max-h-[--radix-select-content-available-height] min-w-32 overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",
|
|
70
70
|
position === "popper" &&
|
|
71
71
|
"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
72
72
|
className
|
|
@@ -79,7 +79,7 @@ const SelectContent = React.forwardRef<
|
|
|
79
79
|
className={cn(
|
|
80
80
|
"p-1",
|
|
81
81
|
position === "popper" &&
|
|
82
|
-
"h-
|
|
82
|
+
"h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"
|
|
83
83
|
)}
|
|
84
84
|
>
|
|
85
85
|
{children}
|
|
@@ -109,7 +109,7 @@ const SelectItem = React.forwardRef<
|
|
|
109
109
|
<SelectPrimitive.Item
|
|
110
110
|
ref={ref}
|
|
111
111
|
className={cn(
|
|
112
|
-
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-
|
|
112
|
+
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
113
113
|
className
|
|
114
114
|
)}
|
|
115
115
|
{...props}
|
|
@@ -15,7 +15,7 @@ const Separator = React.forwardRef<
|
|
|
15
15
|
orientation={orientation}
|
|
16
16
|
className={cn(
|
|
17
17
|
"shrink-0 bg-border",
|
|
18
|
-
orientation === "horizontal" ? "h-
|
|
18
|
+
orientation === "horizontal" ? "h-px w-full" : "h-full w-px",
|
|
19
19
|
className
|
|
20
20
|
)}
|
|
21
21
|
{...props}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type ExtendKcContext,
|
|
3
|
-
createUseKcContext
|
|
4
|
-
} from "@keycloakify/login-ui/KcContext";
|
|
5
|
-
import type { KcEnvName, ThemeName } from "../kc.gen";
|
|
6
|
-
|
|
7
|
-
export type KcContextExtension = {
|
|
8
|
-
themeName: ThemeName;
|
|
9
|
-
properties: Record<KcEnvName, string> & {};
|
|
10
|
-
// NOTE: Here you can declare more properties to extend the KcContext
|
|
11
|
-
// See: https://docs.keycloakify.dev/faq-and-help/some-values-you-need-are-missing-from-in-kccontext
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export
|
|
1
|
+
import {
|
|
2
|
+
type ExtendKcContext,
|
|
3
|
+
createUseKcContext
|
|
4
|
+
} from "@keycloakify/login-ui/KcContext";
|
|
5
|
+
import type { KcEnvName, ThemeName } from "../kc.gen";
|
|
6
|
+
|
|
7
|
+
export type KcContextExtension = {
|
|
8
|
+
themeName: ThemeName;
|
|
9
|
+
properties: Record<KcEnvName, string> & {};
|
|
10
|
+
// NOTE: Here you can declare more properties to extend the KcContext
|
|
11
|
+
// See: https://docs.keycloakify.dev/faq-and-help/some-values-you-need-are-missing-from-in-kccontext
|
|
12
|
+
client: {
|
|
13
|
+
baseUrl?: string;
|
|
14
|
+
};
|
|
15
|
+
darkMode?: boolean;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
19
|
+
export type KcContextExtensionPerPage = {};
|
|
20
|
+
|
|
21
|
+
export type KcContext = ExtendKcContext<KcContextExtension, KcContextExtensionPerPage>;
|
|
22
|
+
|
|
23
|
+
export const { useKcContext, KcContextProvider } = createUseKcContext<KcContext>();
|
|
@@ -1,60 +1,47 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import "./
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
isEnabled: loadCustomStylesheet !== undefined,
|
|
49
|
-
effect: () => {
|
|
50
|
-
assert(loadCustomStylesheet !== undefined);
|
|
51
|
-
loadCustomStylesheet();
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
return (
|
|
56
|
-
<KcClsxProvider doUseDefaultCss={doUseDefaultCss} classes={classes}>
|
|
57
|
-
{Provider === undefined ? children : <Provider>{children}</Provider>}
|
|
58
|
-
</KcClsxProvider>
|
|
59
|
-
);
|
|
60
|
-
}
|
|
1
|
+
import { useExclusiveAppInstanceEffect } from "@keycloakify/login-ui/tools/useExclusiveAppInstanceEffect";
|
|
2
|
+
import { KcClsxProvider } from "@keycloakify/login-ui/useKcClsx";
|
|
3
|
+
import type { ReactNode } from "react";
|
|
4
|
+
import { assert } from "tsafe/assert";
|
|
5
|
+
import { type KcContext, KcContextProvider } from "./KcContext";
|
|
6
|
+
import { I18nProvider } from "./i18n";
|
|
7
|
+
import "./index.css";
|
|
8
|
+
import { PageIndex } from "./pages/PageIndex";
|
|
9
|
+
import { useStyleLevelCustomization } from "./styleLevelCustomization";
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
export default function KcPage(props: { kcContext: KcContext }) {
|
|
15
|
+
const { kcContext } = props;
|
|
16
|
+
|
|
17
|
+
return (
|
|
18
|
+
<KcContextProvider kcContext={kcContext}>
|
|
19
|
+
<I18nProvider kcContext={kcContext}>
|
|
20
|
+
<StyleLevelCustomization>
|
|
21
|
+
<PageIndex />
|
|
22
|
+
</StyleLevelCustomization>
|
|
23
|
+
</I18nProvider>
|
|
24
|
+
</KcContextProvider>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function StyleLevelCustomization(props: { children: ReactNode }) {
|
|
29
|
+
const { children } = props;
|
|
30
|
+
|
|
31
|
+
const { doUseDefaultCss, classes, loadCustomStylesheet, Provider } = useStyleLevelCustomization();
|
|
32
|
+
|
|
33
|
+
useExclusiveAppInstanceEffect({
|
|
34
|
+
effectId: "loadCustomStylesheet",
|
|
35
|
+
isEnabled: loadCustomStylesheet !== undefined,
|
|
36
|
+
effect: () => {
|
|
37
|
+
assert(loadCustomStylesheet !== undefined);
|
|
38
|
+
loadCustomStylesheet();
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<KcClsxProvider doUseDefaultCss={doUseDefaultCss} classes={classes}>
|
|
44
|
+
{Provider === undefined ? children : <Provider>{children}</Provider>}
|
|
45
|
+
</KcClsxProvider>
|
|
46
|
+
);
|
|
47
|
+
}
|
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<path
|
|
3
|
-
d="M0 12.6316C0 5.65535 5.65535 0 12.6316 0H35.3684C42.3446 0 48 5.65535 48 12.6316V35.3684C48 42.3446 42.3446 48 35.3684 48H12.6316C5.65535 48 0 42.3446 0 35.3684V12.6316Z"
|
|
4
|
-
fill="#465FFF" />
|
|
5
|
-
<path
|
|
6
|
-
d="M0 12.6316C0 5.65535 5.65535 0 12.6316 0H35.3684C42.3446 0 48 5.65535 48 12.6316V35.3684C48 42.3446 42.3446 48 35.3684 48H12.6316C5.65535 48 0 42.3446 0 35.3684V12.6316Z"
|
|
7
|
-
fill="#465FFF" />
|
|
8
|
-
<g filter="url(#filter0_d_0_1)">
|
|
9
|
-
<path
|
|
10
|
-
d="M12.6357 12.6323C12.6357 11.237 13.7668 10.106 15.162 10.106C16.5573 10.106 17.6884 11.237 17.6884 12.6323V35.3691C17.6884 36.7644 16.5573 37.8954 15.162 37.8954C13.7668 37.8954 12.6357 36.7644 12.6357 35.3691V12.6323Z"
|
|
11
|
-
fill="white" />
|
|
12
|
-
</g>
|
|
13
|
-
<g filter="url(#filter1_d_0_1)">
|
|
14
|
-
<path
|
|
15
|
-
d="M22.1133 22.7353C22.1133 21.3401 23.2443 20.209 24.6396 20.209C26.0348 20.209 27.1659 21.3401 27.1659 22.7353V35.3669C27.1659 36.7621 26.0348 37.8932 24.6396 37.8932C23.2443 37.8932 22.1133 36.7621 22.1133 35.3669V22.7353Z"
|
|
16
|
-
fill="white" fill-opacity="0.9" />
|
|
17
|
-
</g>
|
|
18
|
-
<path
|
|
19
|
-
d="M0 12.6316C0 5.65535 5.65535 0 12.6316 0H35.3684C42.3446 0 48 5.65535 48 12.6316V35.3684C48 42.3446 42.3446 48 35.3684 48H12.6316C5.65535 48 0 42.3446 0 35.3684V12.6316Z"
|
|
20
|
-
fill="#465FFF" />
|
|
21
|
-
<path
|
|
22
|
-
d="M0 12.6316C0 5.65535 5.65535 0 12.6316 0H35.3684C42.3446 0 48 5.65535 48 12.6316V35.3684C48 42.3446 42.3446 48 35.3684 48H12.6316C5.65535 48 0 42.3446 0 35.3684V12.6316Z"
|
|
23
|
-
fill="#465FFF" />
|
|
24
|
-
<g filter="url(#filter2_d_0_1)">
|
|
25
|
-
<path
|
|
26
|
-
d="M12.6357 12.6323C12.6357 11.237 13.7668 10.106 15.162 10.106C16.5573 10.106 17.6884 11.237 17.6884 12.6323V35.3691C17.6884 36.7644 16.5573 37.8954 15.162 37.8954C13.7668 37.8954 12.6357 36.7644 12.6357 35.3691V12.6323Z"
|
|
27
|
-
fill="white" />
|
|
28
|
-
</g>
|
|
29
|
-
<g filter="url(#filter3_d_0_1)">
|
|
30
|
-
<path
|
|
31
|
-
d="M22.1133 22.7353C22.1133 21.3401 23.2443 20.209 24.6396 20.209C26.0348 20.209 27.1659 21.3401 27.1659 22.7353V35.3669C27.1659 36.7621 26.0348 37.8932 24.6396 37.8932C23.2443 37.8932 22.1133 36.7621 22.1133 35.3669V22.7353Z"
|
|
32
|
-
fill="white" fill-opacity="0.9" />
|
|
33
|
-
</g>
|
|
34
|
-
<g filter="url(#filter4_d_0_1)">
|
|
35
|
-
<path
|
|
36
|
-
d="M31.582 16.4189C31.582 15.0236 32.7131 13.8926 34.1083 13.8926C35.5036 13.8926 36.6346 15.0236 36.6346 16.4189V35.3663C36.6346 36.7615 35.5036 37.8926 34.1083 37.8926C32.7131 37.8926 31.582 36.7615 31.582 35.3663V16.4189Z"
|
|
37
|
-
fill="white" fill-opacity="0.7" />
|
|
38
|
-
</g>
|
|
39
|
-
<defs>
|
|
40
|
-
<filter id="filter0_d_0_1" x="11.6357" y="9.60596" width="7.05267" height="29.7894" filterUnits="userSpaceOnUse"
|
|
41
|
-
color-interpolation-filters="sRGB">
|
|
42
|
-
<feFlood flood-opacity="0" result="BackgroundImageFix" />
|
|
43
|
-
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
44
|
-
result="hardAlpha" />
|
|
45
|
-
<feOffset dy="0.5" />
|
|
46
|
-
<feGaussianBlur stdDeviation="0.5" />
|
|
47
|
-
<feComposite in2="hardAlpha" operator="out" />
|
|
48
|
-
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0" />
|
|
49
|
-
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_1" />
|
|
50
|
-
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_1" result="shape" />
|
|
51
|
-
</filter>
|
|
52
|
-
<filter id="filter1_d_0_1" x="21.1133" y="19.709" width="7.05261" height="19.6842" filterUnits="userSpaceOnUse"
|
|
53
|
-
color-interpolation-filters="sRGB">
|
|
54
|
-
<feFlood flood-opacity="0" result="BackgroundImageFix" />
|
|
55
|
-
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
56
|
-
result="hardAlpha" />
|
|
57
|
-
<feOffset dy="0.5" />
|
|
58
|
-
<feGaussianBlur stdDeviation="0.5" />
|
|
59
|
-
<feComposite in2="hardAlpha" operator="out" />
|
|
60
|
-
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0" />
|
|
61
|
-
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_1" />
|
|
62
|
-
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_1" result="shape" />
|
|
63
|
-
</filter>
|
|
64
|
-
<filter id="filter2_d_0_1" x="11.6357" y="9.60596" width="7.05267" height="29.7894" filterUnits="userSpaceOnUse"
|
|
65
|
-
color-interpolation-filters="sRGB">
|
|
66
|
-
<feFlood flood-opacity="0" result="BackgroundImageFix" />
|
|
67
|
-
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
68
|
-
result="hardAlpha" />
|
|
69
|
-
<feOffset dy="0.5" />
|
|
70
|
-
<feGaussianBlur stdDeviation="0.5" />
|
|
71
|
-
<feComposite in2="hardAlpha" operator="out" />
|
|
72
|
-
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0" />
|
|
73
|
-
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_1" />
|
|
74
|
-
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_1" result="shape" />
|
|
75
|
-
</filter>
|
|
76
|
-
<filter id="filter3_d_0_1" x="21.1133" y="19.709" width="7.05261" height="19.6842" filterUnits="userSpaceOnUse"
|
|
77
|
-
color-interpolation-filters="sRGB">
|
|
78
|
-
<feFlood flood-opacity="0" result="BackgroundImageFix" />
|
|
79
|
-
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
80
|
-
result="hardAlpha" />
|
|
81
|
-
<feOffset dy="0.5" />
|
|
82
|
-
<feGaussianBlur stdDeviation="0.5" />
|
|
83
|
-
<feComposite in2="hardAlpha" operator="out" />
|
|
84
|
-
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0" />
|
|
85
|
-
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_1" />
|
|
86
|
-
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_1" result="shape" />
|
|
87
|
-
</filter>
|
|
88
|
-
<filter id="filter4_d_0_1" x="30.582" y="13.3926" width="7.05261" height="26" filterUnits="userSpaceOnUse"
|
|
89
|
-
color-interpolation-filters="sRGB">
|
|
90
|
-
<feFlood flood-opacity="0" result="BackgroundImageFix" />
|
|
91
|
-
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
92
|
-
result="hardAlpha" />
|
|
93
|
-
<feOffset dy="0.5" />
|
|
94
|
-
<feGaussianBlur stdDeviation="0.5" />
|
|
95
|
-
<feComposite in2="hardAlpha" operator="out" />
|
|
96
|
-
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0" />
|
|
97
|
-
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_1" />
|
|
98
|
-
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_1" result="shape" />
|
|
99
|
-
</filter>
|
|
100
|
-
</defs>
|
|
1
|
+
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path
|
|
3
|
+
d="M0 12.6316C0 5.65535 5.65535 0 12.6316 0H35.3684C42.3446 0 48 5.65535 48 12.6316V35.3684C48 42.3446 42.3446 48 35.3684 48H12.6316C5.65535 48 0 42.3446 0 35.3684V12.6316Z"
|
|
4
|
+
fill="#465FFF" />
|
|
5
|
+
<path
|
|
6
|
+
d="M0 12.6316C0 5.65535 5.65535 0 12.6316 0H35.3684C42.3446 0 48 5.65535 48 12.6316V35.3684C48 42.3446 42.3446 48 35.3684 48H12.6316C5.65535 48 0 42.3446 0 35.3684V12.6316Z"
|
|
7
|
+
fill="#465FFF" />
|
|
8
|
+
<g filter="url(#filter0_d_0_1)">
|
|
9
|
+
<path
|
|
10
|
+
d="M12.6357 12.6323C12.6357 11.237 13.7668 10.106 15.162 10.106C16.5573 10.106 17.6884 11.237 17.6884 12.6323V35.3691C17.6884 36.7644 16.5573 37.8954 15.162 37.8954C13.7668 37.8954 12.6357 36.7644 12.6357 35.3691V12.6323Z"
|
|
11
|
+
fill="white" />
|
|
12
|
+
</g>
|
|
13
|
+
<g filter="url(#filter1_d_0_1)">
|
|
14
|
+
<path
|
|
15
|
+
d="M22.1133 22.7353C22.1133 21.3401 23.2443 20.209 24.6396 20.209C26.0348 20.209 27.1659 21.3401 27.1659 22.7353V35.3669C27.1659 36.7621 26.0348 37.8932 24.6396 37.8932C23.2443 37.8932 22.1133 36.7621 22.1133 35.3669V22.7353Z"
|
|
16
|
+
fill="white" fill-opacity="0.9" />
|
|
17
|
+
</g>
|
|
18
|
+
<path
|
|
19
|
+
d="M0 12.6316C0 5.65535 5.65535 0 12.6316 0H35.3684C42.3446 0 48 5.65535 48 12.6316V35.3684C48 42.3446 42.3446 48 35.3684 48H12.6316C5.65535 48 0 42.3446 0 35.3684V12.6316Z"
|
|
20
|
+
fill="#465FFF" />
|
|
21
|
+
<path
|
|
22
|
+
d="M0 12.6316C0 5.65535 5.65535 0 12.6316 0H35.3684C42.3446 0 48 5.65535 48 12.6316V35.3684C48 42.3446 42.3446 48 35.3684 48H12.6316C5.65535 48 0 42.3446 0 35.3684V12.6316Z"
|
|
23
|
+
fill="#465FFF" />
|
|
24
|
+
<g filter="url(#filter2_d_0_1)">
|
|
25
|
+
<path
|
|
26
|
+
d="M12.6357 12.6323C12.6357 11.237 13.7668 10.106 15.162 10.106C16.5573 10.106 17.6884 11.237 17.6884 12.6323V35.3691C17.6884 36.7644 16.5573 37.8954 15.162 37.8954C13.7668 37.8954 12.6357 36.7644 12.6357 35.3691V12.6323Z"
|
|
27
|
+
fill="white" />
|
|
28
|
+
</g>
|
|
29
|
+
<g filter="url(#filter3_d_0_1)">
|
|
30
|
+
<path
|
|
31
|
+
d="M22.1133 22.7353C22.1133 21.3401 23.2443 20.209 24.6396 20.209C26.0348 20.209 27.1659 21.3401 27.1659 22.7353V35.3669C27.1659 36.7621 26.0348 37.8932 24.6396 37.8932C23.2443 37.8932 22.1133 36.7621 22.1133 35.3669V22.7353Z"
|
|
32
|
+
fill="white" fill-opacity="0.9" />
|
|
33
|
+
</g>
|
|
34
|
+
<g filter="url(#filter4_d_0_1)">
|
|
35
|
+
<path
|
|
36
|
+
d="M31.582 16.4189C31.582 15.0236 32.7131 13.8926 34.1083 13.8926C35.5036 13.8926 36.6346 15.0236 36.6346 16.4189V35.3663C36.6346 36.7615 35.5036 37.8926 34.1083 37.8926C32.7131 37.8926 31.582 36.7615 31.582 35.3663V16.4189Z"
|
|
37
|
+
fill="white" fill-opacity="0.7" />
|
|
38
|
+
</g>
|
|
39
|
+
<defs>
|
|
40
|
+
<filter id="filter0_d_0_1" x="11.6357" y="9.60596" width="7.05267" height="29.7894" filterUnits="userSpaceOnUse"
|
|
41
|
+
color-interpolation-filters="sRGB">
|
|
42
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix" />
|
|
43
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
44
|
+
result="hardAlpha" />
|
|
45
|
+
<feOffset dy="0.5" />
|
|
46
|
+
<feGaussianBlur stdDeviation="0.5" />
|
|
47
|
+
<feComposite in2="hardAlpha" operator="out" />
|
|
48
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0" />
|
|
49
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_1" />
|
|
50
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_1" result="shape" />
|
|
51
|
+
</filter>
|
|
52
|
+
<filter id="filter1_d_0_1" x="21.1133" y="19.709" width="7.05261" height="19.6842" filterUnits="userSpaceOnUse"
|
|
53
|
+
color-interpolation-filters="sRGB">
|
|
54
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix" />
|
|
55
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
56
|
+
result="hardAlpha" />
|
|
57
|
+
<feOffset dy="0.5" />
|
|
58
|
+
<feGaussianBlur stdDeviation="0.5" />
|
|
59
|
+
<feComposite in2="hardAlpha" operator="out" />
|
|
60
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0" />
|
|
61
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_1" />
|
|
62
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_1" result="shape" />
|
|
63
|
+
</filter>
|
|
64
|
+
<filter id="filter2_d_0_1" x="11.6357" y="9.60596" width="7.05267" height="29.7894" filterUnits="userSpaceOnUse"
|
|
65
|
+
color-interpolation-filters="sRGB">
|
|
66
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix" />
|
|
67
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
68
|
+
result="hardAlpha" />
|
|
69
|
+
<feOffset dy="0.5" />
|
|
70
|
+
<feGaussianBlur stdDeviation="0.5" />
|
|
71
|
+
<feComposite in2="hardAlpha" operator="out" />
|
|
72
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0" />
|
|
73
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_1" />
|
|
74
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_1" result="shape" />
|
|
75
|
+
</filter>
|
|
76
|
+
<filter id="filter3_d_0_1" x="21.1133" y="19.709" width="7.05261" height="19.6842" filterUnits="userSpaceOnUse"
|
|
77
|
+
color-interpolation-filters="sRGB">
|
|
78
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix" />
|
|
79
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
80
|
+
result="hardAlpha" />
|
|
81
|
+
<feOffset dy="0.5" />
|
|
82
|
+
<feGaussianBlur stdDeviation="0.5" />
|
|
83
|
+
<feComposite in2="hardAlpha" operator="out" />
|
|
84
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0" />
|
|
85
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_1" />
|
|
86
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_1" result="shape" />
|
|
87
|
+
</filter>
|
|
88
|
+
<filter id="filter4_d_0_1" x="30.582" y="13.3926" width="7.05261" height="26" filterUnits="userSpaceOnUse"
|
|
89
|
+
color-interpolation-filters="sRGB">
|
|
90
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix" />
|
|
91
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
92
|
+
result="hardAlpha" />
|
|
93
|
+
<feOffset dy="0.5" />
|
|
94
|
+
<feGaussianBlur stdDeviation="0.5" />
|
|
95
|
+
<feComposite in2="hardAlpha" operator="out" />
|
|
96
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0" />
|
|
97
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_1" />
|
|
98
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_1" result="shape" />
|
|
99
|
+
</filter>
|
|
100
|
+
</defs>
|
|
101
101
|
</svg>
|