@inf-monkeys-tech/monkeys-design 0.4.44 → 0.4.45

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.
@@ -188,6 +188,7 @@ function LoginPage({
188
188
  const currentMethodId = activeMethodId ?? internalMethodId;
189
189
  const activeMethod = availableMethods.find((method) => method.id === currentMethodId) ?? availableMethods[0];
190
190
  const hasTabs = availableMethods.length > 1;
191
+ const showAuthMethods = !externalPanel;
191
192
  const backgroundImage = createBackgroundImage(background?.gradient, background?.imageUrl);
192
193
  const backgroundMode = backgroundImage ? "custom" : "default";
193
194
  const logoPosition = normalizeLogoPosition(logo?.position);
@@ -311,7 +312,7 @@ function LoginPage({
311
312
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: backAction.label })
312
313
  ] }) : null,
313
314
  title ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "login-page__title", "data-login-part": "title", children: title }) : null,
314
- hasTabs ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "login-page__tabs", "data-login-part": "tabs", role: "tablist", children: availableMethods.map((method) => {
315
+ showAuthMethods && hasTabs ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "login-page__tabs", "data-login-part": "tabs", role: "tablist", children: availableMethods.map((method) => {
315
316
  const selected = method.id === activeMethod?.id;
316
317
  return /* @__PURE__ */ jsxRuntime.jsxs(
317
318
  "button",
@@ -349,7 +350,7 @@ function LoginPage({
349
350
  }
350
351
  ) : null
351
352
  ] }) : null
352
- ] }) : activeMethod ? /* @__PURE__ */ jsxRuntime.jsxs(
353
+ ] }) : showAuthMethods && activeMethod ? /* @__PURE__ */ jsxRuntime.jsxs(
353
354
  "form",
354
355
  {
355
356
  className: "login-page__form-fields",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/icons-oauth.tsx","../../../src/components/login/LoginPage.tsx"],"names":["jsx","jsxs","useMemo","useState","useEffect","React","Fragment"],"mappings":"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","file":"index.js","sourcesContent":["import React from 'react';\n\nconst FEISHU_ICON_URL =\n 'https://p1-hera.feishucdn.com/tos-cn-i-jbbdkfciu3/84a9f036fe2b44f99b899fff4beeb963~tplv-jbbdkfciu3-image:0:0.image';\n\nexport const FeishuIcon: React.FC<React.ComponentPropsWithoutRef<'img'>> = ({\n alt = 'feishu',\n width = 16,\n height = 16,\n style,\n ...props\n}) => (\n <img\n src={FEISHU_ICON_URL}\n alt={alt}\n width={width}\n height={height}\n style={{ display: 'block', ...style }}\n {...props}\n />\n);\n\nexport const WeWorkIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({\n width = 16,\n height = 16,\n style,\n ...props\n}) => (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ display: 'block', ...style }}\n {...props}\n >\n <path\n d=\"M13.9 5.25c-4.45 0-8.05 2.84-8.05 6.35 0 1.89 1.06 3.6 2.72 4.76l-.45 2.01c-.1.45.38.8.78.57l2.42-1.38c.82.25 1.69.39 2.58.39 4.45 0 8.05-2.84 8.05-6.35s-3.6-6.35-8.05-6.35Z\"\n fill=\"#1683FF\"\n />\n <path\n d=\"M10.15 3.7c-4.5 0-8.15 2.86-8.15 6.4 0 1.78.94 3.39 2.45 4.55l-.36 1.88c-.08.43.36.75.75.55l2.18-1.15c.7.18 1.44.27 2.2.27 4.5 0 8.15-2.86 8.15-6.4s-3.65-6.1-7.22-6.1Z\"\n fill=\"#07C160\"\n />\n <circle cx=\"7.2\" cy=\"9.75\" r=\"1.05\" fill=\"#FFFFFF\" />\n <circle cx=\"11.1\" cy=\"9.75\" r=\"1.05\" fill=\"#FFFFFF\" />\n <circle cx=\"15.8\" cy=\"11.9\" r=\"0.95\" fill=\"#FFFFFF\" />\n <circle cx=\"19\" cy=\"11.9\" r=\"0.95\" fill=\"#FFFFFF\" />\n </svg>\n);\n\nexport const DingtalkIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({\n className,\n width = 16,\n height = 16,\n style,\n ...props\n}) => (\n <svg\n width={width}\n height={height}\n viewBox=\"64 64 896 896\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n style={{ display: 'block', ...style }}\n {...props}\n >\n <path\n d=\"M573.7 252.5C422.5 197.4 201.3 96.7 201.3 96.7c-15.7-4.1-17.9 11.1-17.9 11.1-5 61.1 33.6 160.5 53.6 182.8 19.9 22.3 319.1 113.7 319.1 113.7S326 357.9 270.5 341.9c-55.6-16-37.9 17.8-37.9 17.8 11.4 61.7 64.9 131.8 107.2 138.4 42.2 6.6 220.1 4 220.1 4s-35.5 4.1-93.2 11.9c-42.7 5.8-97 12.5-111.1 17.8-33.1 12.5 24 62.6 24 62.6 84.7 76.8 129.7 50.5 129.7 50.5 33.3-10.7 61.4-18.5 85.2-24.2L565 743.1h84.6L603 928l205.3-271.9H700.8l22.3-38.7c.3.5.4.8.4.8S799.8 496.1 829 433.8l.6-1h-.1c5-10.8 8.6-19.7 10-25.8 17-71.3-114.5-99.4-265.8-154.5z\"\n fill=\"#1683FF\"\n />\n </svg>\n);\n\nexport const SSOIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({ width = 16, height = 16, style, ...props }) => (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ display: 'block', ...style }}\n {...props}\n >\n <path\n d=\"M12 2.65 5.35 5.4v5.2c0 4.75 2.85 8.98 6.65 10.75 3.8-1.77 6.65-6 6.65-10.75V5.4L12 2.65Z\"\n fill=\"#2563EB\"\n />\n <path\n d=\"M12 4.65 7.15 6.62v4.02c0 3.5 2 6.72 4.85 8.28 2.85-1.56 4.85-4.78 4.85-8.28V6.62L12 4.65Z\"\n fill=\"#38BDF8\"\n />\n <circle cx=\"12\" cy=\"10.1\" r=\"2.15\" fill=\"#FFFFFF\" />\n <path d=\"M12 12.25v3.3\" stroke=\"#FFFFFF\" strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n <path d=\"M12 15.05h2.2\" stroke=\"#FFFFFF\" strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n </svg>\n);\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { DingtalkIcon, FeishuIcon, SSOIcon, WeWorkIcon } from '../../icons-oauth';\nimport type { LoginPageLogoLocation, LoginPageProps } from './types';\n\nconst LOGIN_LOGO_POSITIONS: LoginPageLogoLocation[] = ['top', 'middle', 'bottom'];\n\nconst normalizeCssValue = (value?: string) => {\n const trimmed = value?.trim();\n return trimmed || undefined;\n};\n\nconst createBackgroundImage = (gradient?: string, imageUrl?: string) => {\n const resolvedGradient = normalizeCssValue(gradient);\n const resolvedImageUrl = normalizeCssValue(imageUrl);\n\n return [resolvedGradient, resolvedImageUrl ? `url(${JSON.stringify(resolvedImageUrl)})` : undefined]\n .filter(Boolean)\n .join(', ');\n};\n\nconst normalizeLogoPosition = (position?: LoginPageLogoLocation): LoginPageLogoLocation =>\n position && LOGIN_LOGO_POSITIONS.includes(position) ? position : 'bottom';\n\nconst normalizeLogoScale = (scale?: number) =>\n typeof scale === 'number' && Number.isFinite(scale) && scale > 0 ? scale : undefined;\n\nconst resolveLogoUrls = (logo?: LoginPageProps['logo']) => {\n const url = normalizeCssValue(logo?.url);\n const lightUrl = normalizeCssValue(logo?.lightUrl) || url;\n const darkUrl = normalizeCssValue(logo?.darkUrl) || url || lightUrl;\n\n return { lightUrl, darkUrl };\n};\n\nconst normalizeProviderType = (value?: string) =>\n normalizeCssValue(value)\n ?.toLowerCase()\n .replace(/^oauth[-_:]/, '')\n .replace(/[\\s_]+/g, '-');\n\nconst getDefaultExternalMethodIcon = (method: NonNullable<LoginPageProps['externalMethods']>[number]) => {\n const providerType = normalizeProviderType(method.providerType) ?? normalizeProviderType(method.id);\n\n switch (providerType) {\n case 'dingtalk':\n case 'ding-talk':\n case 'dingding':\n return <DingtalkIcon aria-hidden=\"true\" />;\n case 'feishu':\n case 'lark':\n return <FeishuIcon alt=\"\" aria-hidden=\"true\" />;\n case 'wework':\n case 'wecom':\n case 'wechat-work':\n case 'wechatwork':\n return <WeWorkIcon aria-hidden=\"true\" />;\n case 'oidc':\n case 'sso':\n case 'saml':\n case 'saml-sso':\n return <SSOIcon aria-hidden=\"true\" />;\n default:\n return null;\n }\n};\n\nexport function LoginPage({\n className,\n style,\n background,\n logo,\n primaryColor,\n radius,\n customCss,\n toolbar,\n title,\n backAction,\n methods,\n activeMethodId,\n defaultMethodId,\n onMethodChange,\n externalLabel,\n externalMethods = [],\n externalPanel,\n callout,\n}: LoginPageProps) {\n const availableMethods = useMemo(() => methods.filter((method) => !method.hidden), [methods]);\n const fallbackMethodId = defaultMethodId ?? availableMethods[0]?.id;\n const [internalMethodId, setInternalMethodId] = useState<string | undefined>(fallbackMethodId);\n const currentMethodId = activeMethodId ?? internalMethodId;\n const activeMethod = availableMethods.find((method) => method.id === currentMethodId) ?? availableMethods[0];\n const hasTabs = availableMethods.length > 1;\n const backgroundImage = createBackgroundImage(background?.gradient, background?.imageUrl);\n const backgroundMode = backgroundImage ? 'custom' : 'default';\n const logoPosition = normalizeLogoPosition(logo?.position);\n const logoScale = normalizeLogoScale(logo?.scale);\n const { lightUrl: logoLightUrl, darkUrl: logoDarkUrl } = resolveLogoUrls(logo);\n const hasLogo = Boolean(logoLightUrl || logoDarkUrl);\n const usesSeparateModeLogos = Boolean(logoLightUrl && logoDarkUrl && logoLightUrl !== logoDarkUrl);\n\n useEffect(() => {\n if (!availableMethods.length) {\n setInternalMethodId(undefined);\n return;\n }\n\n if (!currentMethodId || !availableMethods.some((method) => method.id === currentMethodId)) {\n setInternalMethodId(fallbackMethodId ?? availableMethods[0]?.id);\n }\n }, [availableMethods, currentMethodId, fallbackMethodId]);\n\n const rootStyle = useMemo<React.CSSProperties>(\n () => ({\n ...(primaryColor ? { ['--login-page-theme-primary-color' as string]: primaryColor } : null),\n ...(radius ? { ['--login-page-theme-radius' as string]: radius } : null),\n ...style,\n }),\n [primaryColor, radius, style],\n );\n\n const handleMethodChange = (methodId: string) => {\n if (activeMethodId === undefined) {\n setInternalMethodId(methodId);\n }\n onMethodChange?.(methodId);\n };\n\n const renderExternalMethod = (method: NonNullable<LoginPageProps['externalMethods']>[number]) => {\n const icon = method.icon === undefined ? getDefaultExternalMethodIcon(method) : method.icon;\n const button = (\n <button\n type=\"button\"\n className=\"login-page__oauth-button\"\n data-login-part=\"external-button\"\n data-login-method-id={method.id}\n onClick={method.onClick}\n disabled={method.disabled}\n >\n {icon ? (\n <span className=\"login-page__oauth-icon\" data-login-part=\"external-icon\">\n {icon}\n </span>\n ) : null}\n <span>{method.label}</span>\n </button>\n );\n\n return <React.Fragment key={method.id}>{method.render ? method.render(button) : button}</React.Fragment>;\n };\n\n return (\n <main\n className={['login-page', className].filter(Boolean).join(' ')}\n data-login-page\n data-login-part=\"root\"\n data-login-background={backgroundMode}\n style={rootStyle}\n >\n {customCss ? <style data-login-page-custom-css>{customCss}</style> : null}\n\n <div\n className=\"login-page__background\"\n data-login-part=\"background\"\n data-login-background={backgroundMode}\n style={backgroundImage ? { backgroundImage } : undefined}\n aria-hidden=\"true\"\n />\n\n {toolbar ? (\n <div className=\"login-page__toolbar\" data-login-part=\"toolbar\">\n {toolbar}\n </div>\n ) : null}\n\n {hasLogo ? (\n <div\n className={`login-page__logo login-page__logo--${logoPosition}`}\n data-login-part=\"logo\"\n data-logo-position={logoPosition}\n >\n {usesSeparateModeLogos ? (\n <>\n <img\n className=\"login-page__logo-image login-page__logo-image--light\"\n data-login-part=\"logo-image\"\n data-login-logo-mode=\"light\"\n src={logoLightUrl}\n alt={logo?.alt ?? ''}\n style={logoScale ? { transform: `scale(${logoScale})` } : undefined}\n />\n <img\n className=\"login-page__logo-image login-page__logo-image--dark\"\n data-login-part=\"logo-image\"\n data-login-logo-mode=\"dark\"\n src={logoDarkUrl}\n alt={logo?.alt ?? ''}\n style={logoScale ? { transform: `scale(${logoScale})` } : undefined}\n />\n </>\n ) : (\n <img\n className=\"login-page__logo-image\"\n data-login-part=\"logo-image\"\n src={logoLightUrl || logoDarkUrl}\n alt={logo?.alt ?? ''}\n style={logoScale ? { transform: `scale(${logoScale})` } : undefined}\n />\n )}\n </div>\n ) : null}\n\n <section\n className=\"login-page__form\"\n data-login-part=\"panel\"\n aria-label={typeof title === 'string' ? title : undefined}\n >\n {backAction ? (\n <button type=\"button\" className=\"login-page__back\" data-login-part=\"back\" onClick={backAction.onClick}>\n {backAction.icon ? (\n <span className=\"login-page__back-icon\" data-login-part=\"back-icon\">\n {backAction.icon}\n </span>\n ) : null}\n <span>{backAction.label}</span>\n </button>\n ) : null}\n\n {title ? (\n <h1 className=\"login-page__title\" data-login-part=\"title\">\n {title}\n </h1>\n ) : null}\n\n {hasTabs ? (\n <div className=\"login-page__tabs\" data-login-part=\"tabs\" role=\"tablist\">\n {availableMethods.map((method) => {\n const selected = method.id === activeMethod?.id;\n return (\n <button\n key={method.id}\n type=\"button\"\n role=\"tab\"\n aria-selected={selected}\n className={`login-page__tab ${selected ? 'login-page__tab--active' : ''}`}\n data-login-part=\"tab\"\n data-login-method-id={method.id}\n data-active={selected ? 'true' : 'false'}\n onClick={() => handleMethodChange(method.id)}\n >\n {method.icon ? (\n <span className=\"login-page__tab-icon\" data-login-part=\"tab-icon\">\n {method.icon}\n </span>\n ) : null}\n <span className=\"login-page__tab-label\">{method.label}</span>\n </button>\n );\n })}\n </div>\n ) : null}\n\n {externalPanel ? (\n <div className=\"login-page__external-panel\" data-login-part=\"external-panel\">\n {externalPanel.title ? (\n <div className=\"login-page__external-panel-title\" data-login-part=\"external-panel-title\">\n {externalPanel.title}\n </div>\n ) : null}\n {externalPanel.description ? (\n <p className=\"login-page__external-panel-description\" data-login-part=\"external-panel-description\">\n {externalPanel.description}\n </p>\n ) : null}\n <div className=\"login-page__external-panel-content\" data-login-part=\"external-panel-content\">\n {externalPanel.content}\n </div>\n {externalPanel.footer || externalPanel.backAction ? (\n <div className=\"login-page__external-panel-footer\" data-login-part=\"external-panel-footer\">\n {externalPanel.footer}\n {externalPanel.backAction ? (\n <button\n type=\"button\"\n className=\"login-page__external-panel-back\"\n data-login-part=\"external-panel-back\"\n onClick={externalPanel.backAction.onClick}\n >\n {externalPanel.backAction.label}\n </button>\n ) : null}\n </div>\n ) : null}\n </div>\n ) : activeMethod ? (\n <form\n className=\"login-page__form-fields\"\n data-login-part=\"form\"\n data-login-method-id={activeMethod.id}\n onSubmit={activeMethod.onSubmit}\n >\n {activeMethod.fields.map((field) => (\n <div className=\"login-page__field\" data-login-part=\"field\" data-login-field-name={field.name} key={field.name}>\n <input\n id={field.id}\n name={field.name}\n type={field.type ?? 'text'}\n value={field.value}\n placeholder={field.placeholder}\n autoComplete={field.autoComplete}\n inputMode={field.inputMode}\n maxLength={field.maxLength}\n pattern={field.pattern}\n disabled={activeMethod.disabled || activeMethod.isLoading || field.disabled}\n required={field.required}\n className=\"login-page__input\"\n data-login-part=\"input\"\n onChange={(event) => field.onChange(event.target.value)}\n />\n </div>\n ))}\n\n {activeMethod.checkbox ? (\n <label className=\"login-page__remember\" data-login-part=\"checkbox-label\" htmlFor={activeMethod.checkbox.id}>\n <input\n id={activeMethod.checkbox.id}\n type=\"checkbox\"\n className=\"login-page__checkbox\"\n data-login-part=\"checkbox\"\n checked={activeMethod.checkbox.checked}\n disabled={activeMethod.disabled || activeMethod.isLoading || activeMethod.checkbox.disabled}\n onChange={(event) => activeMethod.checkbox?.onChange(event.target.checked)}\n />\n <span>{activeMethod.checkbox.label}</span>\n </label>\n ) : null}\n\n {activeMethod.footer || activeMethod.footerAction ? (\n <div className=\"login-page__method-footer\" data-login-part=\"method-footer\">\n {activeMethod.footer}\n {activeMethod.footerAction ? (\n <button\n type=\"button\"\n className=\"login-page__method-footer-action\"\n data-login-part=\"method-footer-action\"\n data-login-method-id={activeMethod.id}\n onClick={activeMethod.footerAction.onClick}\n disabled={activeMethod.disabled || activeMethod.isLoading || activeMethod.footerAction.disabled}\n >\n {activeMethod.footerAction.label}\n </button>\n ) : null}\n </div>\n ) : null}\n\n <button\n type=\"submit\"\n className=\"login-page__submit\"\n data-login-part=\"submit-button\"\n disabled={activeMethod.disabled || activeMethod.isLoading}\n >\n {activeMethod.isLoading && activeMethod.loadingLabel ? activeMethod.loadingLabel : activeMethod.submitLabel}\n </button>\n </form>\n ) : null}\n\n {callout ? (\n <div\n className={`login-page__callout login-page__callout--${callout.tone ?? 'info'}`}\n data-login-part=\"callout\"\n data-tone={callout.tone ?? 'info'}\n >\n <div className=\"login-page__callout-title\" data-login-part=\"callout-title\">\n {callout.title}\n </div>\n {callout.description ? (\n <p className=\"login-page__callout-description\" data-login-part=\"callout-description\">\n {callout.description}\n </p>\n ) : null}\n {callout.detail ? (\n <p className=\"login-page__callout-detail\" data-login-part=\"callout-detail\">\n {callout.detail}\n </p>\n ) : null}\n {callout.action ? (\n <button\n type=\"button\"\n className=\"login-page__callout-action\"\n data-login-part=\"callout-action\"\n onClick={callout.action.onClick}\n disabled={callout.action.disabled}\n >\n {callout.action.label}\n </button>\n ) : null}\n </div>\n ) : null}\n\n {!externalPanel && externalMethods.length ? (\n <div className=\"login-page__oauth-section\" data-login-part=\"external-methods\">\n {externalLabel ? (\n <div className=\"login-page__oauth-label\" data-login-part=\"external-label\">\n {externalLabel}\n </div>\n ) : null}\n <div className=\"login-page__oauth-list\" data-login-part=\"external-list\">\n {externalMethods.map(renderExternalMethod)}\n </div>\n </div>\n ) : null}\n </section>\n </main>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/icons-oauth.tsx","../../../src/components/login/LoginPage.tsx"],"names":["jsx","jsxs","useMemo","useState","useEffect","React","Fragment"],"mappings":"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","file":"index.js","sourcesContent":["import React from 'react';\n\nconst FEISHU_ICON_URL =\n 'https://p1-hera.feishucdn.com/tos-cn-i-jbbdkfciu3/84a9f036fe2b44f99b899fff4beeb963~tplv-jbbdkfciu3-image:0:0.image';\n\nexport const FeishuIcon: React.FC<React.ComponentPropsWithoutRef<'img'>> = ({\n alt = 'feishu',\n width = 16,\n height = 16,\n style,\n ...props\n}) => (\n <img\n src={FEISHU_ICON_URL}\n alt={alt}\n width={width}\n height={height}\n style={{ display: 'block', ...style }}\n {...props}\n />\n);\n\nexport const WeWorkIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({\n width = 16,\n height = 16,\n style,\n ...props\n}) => (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ display: 'block', ...style }}\n {...props}\n >\n <path\n d=\"M13.9 5.25c-4.45 0-8.05 2.84-8.05 6.35 0 1.89 1.06 3.6 2.72 4.76l-.45 2.01c-.1.45.38.8.78.57l2.42-1.38c.82.25 1.69.39 2.58.39 4.45 0 8.05-2.84 8.05-6.35s-3.6-6.35-8.05-6.35Z\"\n fill=\"#1683FF\"\n />\n <path\n d=\"M10.15 3.7c-4.5 0-8.15 2.86-8.15 6.4 0 1.78.94 3.39 2.45 4.55l-.36 1.88c-.08.43.36.75.75.55l2.18-1.15c.7.18 1.44.27 2.2.27 4.5 0 8.15-2.86 8.15-6.4s-3.65-6.1-7.22-6.1Z\"\n fill=\"#07C160\"\n />\n <circle cx=\"7.2\" cy=\"9.75\" r=\"1.05\" fill=\"#FFFFFF\" />\n <circle cx=\"11.1\" cy=\"9.75\" r=\"1.05\" fill=\"#FFFFFF\" />\n <circle cx=\"15.8\" cy=\"11.9\" r=\"0.95\" fill=\"#FFFFFF\" />\n <circle cx=\"19\" cy=\"11.9\" r=\"0.95\" fill=\"#FFFFFF\" />\n </svg>\n);\n\nexport const DingtalkIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({\n className,\n width = 16,\n height = 16,\n style,\n ...props\n}) => (\n <svg\n width={width}\n height={height}\n viewBox=\"64 64 896 896\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n style={{ display: 'block', ...style }}\n {...props}\n >\n <path\n d=\"M573.7 252.5C422.5 197.4 201.3 96.7 201.3 96.7c-15.7-4.1-17.9 11.1-17.9 11.1-5 61.1 33.6 160.5 53.6 182.8 19.9 22.3 319.1 113.7 319.1 113.7S326 357.9 270.5 341.9c-55.6-16-37.9 17.8-37.9 17.8 11.4 61.7 64.9 131.8 107.2 138.4 42.2 6.6 220.1 4 220.1 4s-35.5 4.1-93.2 11.9c-42.7 5.8-97 12.5-111.1 17.8-33.1 12.5 24 62.6 24 62.6 84.7 76.8 129.7 50.5 129.7 50.5 33.3-10.7 61.4-18.5 85.2-24.2L565 743.1h84.6L603 928l205.3-271.9H700.8l22.3-38.7c.3.5.4.8.4.8S799.8 496.1 829 433.8l.6-1h-.1c5-10.8 8.6-19.7 10-25.8 17-71.3-114.5-99.4-265.8-154.5z\"\n fill=\"#1683FF\"\n />\n </svg>\n);\n\nexport const SSOIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({ width = 16, height = 16, style, ...props }) => (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ display: 'block', ...style }}\n {...props}\n >\n <path\n d=\"M12 2.65 5.35 5.4v5.2c0 4.75 2.85 8.98 6.65 10.75 3.8-1.77 6.65-6 6.65-10.75V5.4L12 2.65Z\"\n fill=\"#2563EB\"\n />\n <path\n d=\"M12 4.65 7.15 6.62v4.02c0 3.5 2 6.72 4.85 8.28 2.85-1.56 4.85-4.78 4.85-8.28V6.62L12 4.65Z\"\n fill=\"#38BDF8\"\n />\n <circle cx=\"12\" cy=\"10.1\" r=\"2.15\" fill=\"#FFFFFF\" />\n <path d=\"M12 12.25v3.3\" stroke=\"#FFFFFF\" strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n <path d=\"M12 15.05h2.2\" stroke=\"#FFFFFF\" strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n </svg>\n);\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { DingtalkIcon, FeishuIcon, SSOIcon, WeWorkIcon } from '../../icons-oauth';\nimport type { LoginPageLogoLocation, LoginPageProps } from './types';\n\nconst LOGIN_LOGO_POSITIONS: LoginPageLogoLocation[] = ['top', 'middle', 'bottom'];\n\nconst normalizeCssValue = (value?: string) => {\n const trimmed = value?.trim();\n return trimmed || undefined;\n};\n\nconst createBackgroundImage = (gradient?: string, imageUrl?: string) => {\n const resolvedGradient = normalizeCssValue(gradient);\n const resolvedImageUrl = normalizeCssValue(imageUrl);\n\n return [resolvedGradient, resolvedImageUrl ? `url(${JSON.stringify(resolvedImageUrl)})` : undefined]\n .filter(Boolean)\n .join(', ');\n};\n\nconst normalizeLogoPosition = (position?: LoginPageLogoLocation): LoginPageLogoLocation =>\n position && LOGIN_LOGO_POSITIONS.includes(position) ? position : 'bottom';\n\nconst normalizeLogoScale = (scale?: number) =>\n typeof scale === 'number' && Number.isFinite(scale) && scale > 0 ? scale : undefined;\n\nconst resolveLogoUrls = (logo?: LoginPageProps['logo']) => {\n const url = normalizeCssValue(logo?.url);\n const lightUrl = normalizeCssValue(logo?.lightUrl) || url;\n const darkUrl = normalizeCssValue(logo?.darkUrl) || url || lightUrl;\n\n return { lightUrl, darkUrl };\n};\n\nconst normalizeProviderType = (value?: string) =>\n normalizeCssValue(value)\n ?.toLowerCase()\n .replace(/^oauth[-_:]/, '')\n .replace(/[\\s_]+/g, '-');\n\nconst getDefaultExternalMethodIcon = (method: NonNullable<LoginPageProps['externalMethods']>[number]) => {\n const providerType = normalizeProviderType(method.providerType) ?? normalizeProviderType(method.id);\n\n switch (providerType) {\n case 'dingtalk':\n case 'ding-talk':\n case 'dingding':\n return <DingtalkIcon aria-hidden=\"true\" />;\n case 'feishu':\n case 'lark':\n return <FeishuIcon alt=\"\" aria-hidden=\"true\" />;\n case 'wework':\n case 'wecom':\n case 'wechat-work':\n case 'wechatwork':\n return <WeWorkIcon aria-hidden=\"true\" />;\n case 'oidc':\n case 'sso':\n case 'saml':\n case 'saml-sso':\n return <SSOIcon aria-hidden=\"true\" />;\n default:\n return null;\n }\n};\n\nexport function LoginPage({\n className,\n style,\n background,\n logo,\n primaryColor,\n radius,\n customCss,\n toolbar,\n title,\n backAction,\n methods,\n activeMethodId,\n defaultMethodId,\n onMethodChange,\n externalLabel,\n externalMethods = [],\n externalPanel,\n callout,\n}: LoginPageProps) {\n const availableMethods = useMemo(() => methods.filter((method) => !method.hidden), [methods]);\n const fallbackMethodId = defaultMethodId ?? availableMethods[0]?.id;\n const [internalMethodId, setInternalMethodId] = useState<string | undefined>(fallbackMethodId);\n const currentMethodId = activeMethodId ?? internalMethodId;\n const activeMethod = availableMethods.find((method) => method.id === currentMethodId) ?? availableMethods[0];\n const hasTabs = availableMethods.length > 1;\n const showAuthMethods = !externalPanel;\n const backgroundImage = createBackgroundImage(background?.gradient, background?.imageUrl);\n const backgroundMode = backgroundImage ? 'custom' : 'default';\n const logoPosition = normalizeLogoPosition(logo?.position);\n const logoScale = normalizeLogoScale(logo?.scale);\n const { lightUrl: logoLightUrl, darkUrl: logoDarkUrl } = resolveLogoUrls(logo);\n const hasLogo = Boolean(logoLightUrl || logoDarkUrl);\n const usesSeparateModeLogos = Boolean(logoLightUrl && logoDarkUrl && logoLightUrl !== logoDarkUrl);\n\n useEffect(() => {\n if (!availableMethods.length) {\n setInternalMethodId(undefined);\n return;\n }\n\n if (!currentMethodId || !availableMethods.some((method) => method.id === currentMethodId)) {\n setInternalMethodId(fallbackMethodId ?? availableMethods[0]?.id);\n }\n }, [availableMethods, currentMethodId, fallbackMethodId]);\n\n const rootStyle = useMemo<React.CSSProperties>(\n () => ({\n ...(primaryColor ? { ['--login-page-theme-primary-color' as string]: primaryColor } : null),\n ...(radius ? { ['--login-page-theme-radius' as string]: radius } : null),\n ...style,\n }),\n [primaryColor, radius, style],\n );\n\n const handleMethodChange = (methodId: string) => {\n if (activeMethodId === undefined) {\n setInternalMethodId(methodId);\n }\n onMethodChange?.(methodId);\n };\n\n const renderExternalMethod = (method: NonNullable<LoginPageProps['externalMethods']>[number]) => {\n const icon = method.icon === undefined ? getDefaultExternalMethodIcon(method) : method.icon;\n const button = (\n <button\n type=\"button\"\n className=\"login-page__oauth-button\"\n data-login-part=\"external-button\"\n data-login-method-id={method.id}\n onClick={method.onClick}\n disabled={method.disabled}\n >\n {icon ? (\n <span className=\"login-page__oauth-icon\" data-login-part=\"external-icon\">\n {icon}\n </span>\n ) : null}\n <span>{method.label}</span>\n </button>\n );\n\n return <React.Fragment key={method.id}>{method.render ? method.render(button) : button}</React.Fragment>;\n };\n\n return (\n <main\n className={['login-page', className].filter(Boolean).join(' ')}\n data-login-page\n data-login-part=\"root\"\n data-login-background={backgroundMode}\n style={rootStyle}\n >\n {customCss ? <style data-login-page-custom-css>{customCss}</style> : null}\n\n <div\n className=\"login-page__background\"\n data-login-part=\"background\"\n data-login-background={backgroundMode}\n style={backgroundImage ? { backgroundImage } : undefined}\n aria-hidden=\"true\"\n />\n\n {toolbar ? (\n <div className=\"login-page__toolbar\" data-login-part=\"toolbar\">\n {toolbar}\n </div>\n ) : null}\n\n {hasLogo ? (\n <div\n className={`login-page__logo login-page__logo--${logoPosition}`}\n data-login-part=\"logo\"\n data-logo-position={logoPosition}\n >\n {usesSeparateModeLogos ? (\n <>\n <img\n className=\"login-page__logo-image login-page__logo-image--light\"\n data-login-part=\"logo-image\"\n data-login-logo-mode=\"light\"\n src={logoLightUrl}\n alt={logo?.alt ?? ''}\n style={logoScale ? { transform: `scale(${logoScale})` } : undefined}\n />\n <img\n className=\"login-page__logo-image login-page__logo-image--dark\"\n data-login-part=\"logo-image\"\n data-login-logo-mode=\"dark\"\n src={logoDarkUrl}\n alt={logo?.alt ?? ''}\n style={logoScale ? { transform: `scale(${logoScale})` } : undefined}\n />\n </>\n ) : (\n <img\n className=\"login-page__logo-image\"\n data-login-part=\"logo-image\"\n src={logoLightUrl || logoDarkUrl}\n alt={logo?.alt ?? ''}\n style={logoScale ? { transform: `scale(${logoScale})` } : undefined}\n />\n )}\n </div>\n ) : null}\n\n <section\n className=\"login-page__form\"\n data-login-part=\"panel\"\n aria-label={typeof title === 'string' ? title : undefined}\n >\n {backAction ? (\n <button type=\"button\" className=\"login-page__back\" data-login-part=\"back\" onClick={backAction.onClick}>\n {backAction.icon ? (\n <span className=\"login-page__back-icon\" data-login-part=\"back-icon\">\n {backAction.icon}\n </span>\n ) : null}\n <span>{backAction.label}</span>\n </button>\n ) : null}\n\n {title ? (\n <h1 className=\"login-page__title\" data-login-part=\"title\">\n {title}\n </h1>\n ) : null}\n\n {showAuthMethods && hasTabs ? (\n <div className=\"login-page__tabs\" data-login-part=\"tabs\" role=\"tablist\">\n {availableMethods.map((method) => {\n const selected = method.id === activeMethod?.id;\n return (\n <button\n key={method.id}\n type=\"button\"\n role=\"tab\"\n aria-selected={selected}\n className={`login-page__tab ${selected ? 'login-page__tab--active' : ''}`}\n data-login-part=\"tab\"\n data-login-method-id={method.id}\n data-active={selected ? 'true' : 'false'}\n onClick={() => handleMethodChange(method.id)}\n >\n {method.icon ? (\n <span className=\"login-page__tab-icon\" data-login-part=\"tab-icon\">\n {method.icon}\n </span>\n ) : null}\n <span className=\"login-page__tab-label\">{method.label}</span>\n </button>\n );\n })}\n </div>\n ) : null}\n\n {externalPanel ? (\n <div className=\"login-page__external-panel\" data-login-part=\"external-panel\">\n {externalPanel.title ? (\n <div className=\"login-page__external-panel-title\" data-login-part=\"external-panel-title\">\n {externalPanel.title}\n </div>\n ) : null}\n {externalPanel.description ? (\n <p className=\"login-page__external-panel-description\" data-login-part=\"external-panel-description\">\n {externalPanel.description}\n </p>\n ) : null}\n <div className=\"login-page__external-panel-content\" data-login-part=\"external-panel-content\">\n {externalPanel.content}\n </div>\n {externalPanel.footer || externalPanel.backAction ? (\n <div className=\"login-page__external-panel-footer\" data-login-part=\"external-panel-footer\">\n {externalPanel.footer}\n {externalPanel.backAction ? (\n <button\n type=\"button\"\n className=\"login-page__external-panel-back\"\n data-login-part=\"external-panel-back\"\n onClick={externalPanel.backAction.onClick}\n >\n {externalPanel.backAction.label}\n </button>\n ) : null}\n </div>\n ) : null}\n </div>\n ) : showAuthMethods && activeMethod ? (\n <form\n className=\"login-page__form-fields\"\n data-login-part=\"form\"\n data-login-method-id={activeMethod.id}\n onSubmit={activeMethod.onSubmit}\n >\n {activeMethod.fields.map((field) => (\n <div className=\"login-page__field\" data-login-part=\"field\" data-login-field-name={field.name} key={field.name}>\n <input\n id={field.id}\n name={field.name}\n type={field.type ?? 'text'}\n value={field.value}\n placeholder={field.placeholder}\n autoComplete={field.autoComplete}\n inputMode={field.inputMode}\n maxLength={field.maxLength}\n pattern={field.pattern}\n disabled={activeMethod.disabled || activeMethod.isLoading || field.disabled}\n required={field.required}\n className=\"login-page__input\"\n data-login-part=\"input\"\n onChange={(event) => field.onChange(event.target.value)}\n />\n </div>\n ))}\n\n {activeMethod.checkbox ? (\n <label className=\"login-page__remember\" data-login-part=\"checkbox-label\" htmlFor={activeMethod.checkbox.id}>\n <input\n id={activeMethod.checkbox.id}\n type=\"checkbox\"\n className=\"login-page__checkbox\"\n data-login-part=\"checkbox\"\n checked={activeMethod.checkbox.checked}\n disabled={activeMethod.disabled || activeMethod.isLoading || activeMethod.checkbox.disabled}\n onChange={(event) => activeMethod.checkbox?.onChange(event.target.checked)}\n />\n <span>{activeMethod.checkbox.label}</span>\n </label>\n ) : null}\n\n {activeMethod.footer || activeMethod.footerAction ? (\n <div className=\"login-page__method-footer\" data-login-part=\"method-footer\">\n {activeMethod.footer}\n {activeMethod.footerAction ? (\n <button\n type=\"button\"\n className=\"login-page__method-footer-action\"\n data-login-part=\"method-footer-action\"\n data-login-method-id={activeMethod.id}\n onClick={activeMethod.footerAction.onClick}\n disabled={activeMethod.disabled || activeMethod.isLoading || activeMethod.footerAction.disabled}\n >\n {activeMethod.footerAction.label}\n </button>\n ) : null}\n </div>\n ) : null}\n\n <button\n type=\"submit\"\n className=\"login-page__submit\"\n data-login-part=\"submit-button\"\n disabled={activeMethod.disabled || activeMethod.isLoading}\n >\n {activeMethod.isLoading && activeMethod.loadingLabel ? activeMethod.loadingLabel : activeMethod.submitLabel}\n </button>\n </form>\n ) : null}\n\n {callout ? (\n <div\n className={`login-page__callout login-page__callout--${callout.tone ?? 'info'}`}\n data-login-part=\"callout\"\n data-tone={callout.tone ?? 'info'}\n >\n <div className=\"login-page__callout-title\" data-login-part=\"callout-title\">\n {callout.title}\n </div>\n {callout.description ? (\n <p className=\"login-page__callout-description\" data-login-part=\"callout-description\">\n {callout.description}\n </p>\n ) : null}\n {callout.detail ? (\n <p className=\"login-page__callout-detail\" data-login-part=\"callout-detail\">\n {callout.detail}\n </p>\n ) : null}\n {callout.action ? (\n <button\n type=\"button\"\n className=\"login-page__callout-action\"\n data-login-part=\"callout-action\"\n onClick={callout.action.onClick}\n disabled={callout.action.disabled}\n >\n {callout.action.label}\n </button>\n ) : null}\n </div>\n ) : null}\n\n {!externalPanel && externalMethods.length ? (\n <div className=\"login-page__oauth-section\" data-login-part=\"external-methods\">\n {externalLabel ? (\n <div className=\"login-page__oauth-label\" data-login-part=\"external-label\">\n {externalLabel}\n </div>\n ) : null}\n <div className=\"login-page__oauth-list\" data-login-part=\"external-list\">\n {externalMethods.map(renderExternalMethod)}\n </div>\n </div>\n ) : null}\n </section>\n </main>\n );\n}\n"]}
@@ -182,6 +182,7 @@ function LoginPage({
182
182
  const currentMethodId = activeMethodId ?? internalMethodId;
183
183
  const activeMethod = availableMethods.find((method) => method.id === currentMethodId) ?? availableMethods[0];
184
184
  const hasTabs = availableMethods.length > 1;
185
+ const showAuthMethods = !externalPanel;
185
186
  const backgroundImage = createBackgroundImage(background?.gradient, background?.imageUrl);
186
187
  const backgroundMode = backgroundImage ? "custom" : "default";
187
188
  const logoPosition = normalizeLogoPosition(logo?.position);
@@ -305,7 +306,7 @@ function LoginPage({
305
306
  /* @__PURE__ */ jsx("span", { children: backAction.label })
306
307
  ] }) : null,
307
308
  title ? /* @__PURE__ */ jsx("h1", { className: "login-page__title", "data-login-part": "title", children: title }) : null,
308
- hasTabs ? /* @__PURE__ */ jsx("div", { className: "login-page__tabs", "data-login-part": "tabs", role: "tablist", children: availableMethods.map((method) => {
309
+ showAuthMethods && hasTabs ? /* @__PURE__ */ jsx("div", { className: "login-page__tabs", "data-login-part": "tabs", role: "tablist", children: availableMethods.map((method) => {
309
310
  const selected = method.id === activeMethod?.id;
310
311
  return /* @__PURE__ */ jsxs(
311
312
  "button",
@@ -343,7 +344,7 @@ function LoginPage({
343
344
  }
344
345
  ) : null
345
346
  ] }) : null
346
- ] }) : activeMethod ? /* @__PURE__ */ jsxs(
347
+ ] }) : showAuthMethods && activeMethod ? /* @__PURE__ */ jsxs(
347
348
  "form",
348
349
  {
349
350
  className: "login-page__form-fields",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/icons-oauth.tsx","../../../src/components/login/LoginPage.tsx"],"names":["jsx","jsxs"],"mappings":"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","file":"index.mjs","sourcesContent":["import React from 'react';\n\nconst FEISHU_ICON_URL =\n 'https://p1-hera.feishucdn.com/tos-cn-i-jbbdkfciu3/84a9f036fe2b44f99b899fff4beeb963~tplv-jbbdkfciu3-image:0:0.image';\n\nexport const FeishuIcon: React.FC<React.ComponentPropsWithoutRef<'img'>> = ({\n alt = 'feishu',\n width = 16,\n height = 16,\n style,\n ...props\n}) => (\n <img\n src={FEISHU_ICON_URL}\n alt={alt}\n width={width}\n height={height}\n style={{ display: 'block', ...style }}\n {...props}\n />\n);\n\nexport const WeWorkIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({\n width = 16,\n height = 16,\n style,\n ...props\n}) => (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ display: 'block', ...style }}\n {...props}\n >\n <path\n d=\"M13.9 5.25c-4.45 0-8.05 2.84-8.05 6.35 0 1.89 1.06 3.6 2.72 4.76l-.45 2.01c-.1.45.38.8.78.57l2.42-1.38c.82.25 1.69.39 2.58.39 4.45 0 8.05-2.84 8.05-6.35s-3.6-6.35-8.05-6.35Z\"\n fill=\"#1683FF\"\n />\n <path\n d=\"M10.15 3.7c-4.5 0-8.15 2.86-8.15 6.4 0 1.78.94 3.39 2.45 4.55l-.36 1.88c-.08.43.36.75.75.55l2.18-1.15c.7.18 1.44.27 2.2.27 4.5 0 8.15-2.86 8.15-6.4s-3.65-6.1-7.22-6.1Z\"\n fill=\"#07C160\"\n />\n <circle cx=\"7.2\" cy=\"9.75\" r=\"1.05\" fill=\"#FFFFFF\" />\n <circle cx=\"11.1\" cy=\"9.75\" r=\"1.05\" fill=\"#FFFFFF\" />\n <circle cx=\"15.8\" cy=\"11.9\" r=\"0.95\" fill=\"#FFFFFF\" />\n <circle cx=\"19\" cy=\"11.9\" r=\"0.95\" fill=\"#FFFFFF\" />\n </svg>\n);\n\nexport const DingtalkIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({\n className,\n width = 16,\n height = 16,\n style,\n ...props\n}) => (\n <svg\n width={width}\n height={height}\n viewBox=\"64 64 896 896\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n style={{ display: 'block', ...style }}\n {...props}\n >\n <path\n d=\"M573.7 252.5C422.5 197.4 201.3 96.7 201.3 96.7c-15.7-4.1-17.9 11.1-17.9 11.1-5 61.1 33.6 160.5 53.6 182.8 19.9 22.3 319.1 113.7 319.1 113.7S326 357.9 270.5 341.9c-55.6-16-37.9 17.8-37.9 17.8 11.4 61.7 64.9 131.8 107.2 138.4 42.2 6.6 220.1 4 220.1 4s-35.5 4.1-93.2 11.9c-42.7 5.8-97 12.5-111.1 17.8-33.1 12.5 24 62.6 24 62.6 84.7 76.8 129.7 50.5 129.7 50.5 33.3-10.7 61.4-18.5 85.2-24.2L565 743.1h84.6L603 928l205.3-271.9H700.8l22.3-38.7c.3.5.4.8.4.8S799.8 496.1 829 433.8l.6-1h-.1c5-10.8 8.6-19.7 10-25.8 17-71.3-114.5-99.4-265.8-154.5z\"\n fill=\"#1683FF\"\n />\n </svg>\n);\n\nexport const SSOIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({ width = 16, height = 16, style, ...props }) => (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ display: 'block', ...style }}\n {...props}\n >\n <path\n d=\"M12 2.65 5.35 5.4v5.2c0 4.75 2.85 8.98 6.65 10.75 3.8-1.77 6.65-6 6.65-10.75V5.4L12 2.65Z\"\n fill=\"#2563EB\"\n />\n <path\n d=\"M12 4.65 7.15 6.62v4.02c0 3.5 2 6.72 4.85 8.28 2.85-1.56 4.85-4.78 4.85-8.28V6.62L12 4.65Z\"\n fill=\"#38BDF8\"\n />\n <circle cx=\"12\" cy=\"10.1\" r=\"2.15\" fill=\"#FFFFFF\" />\n <path d=\"M12 12.25v3.3\" stroke=\"#FFFFFF\" strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n <path d=\"M12 15.05h2.2\" stroke=\"#FFFFFF\" strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n </svg>\n);\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { DingtalkIcon, FeishuIcon, SSOIcon, WeWorkIcon } from '../../icons-oauth';\nimport type { LoginPageLogoLocation, LoginPageProps } from './types';\n\nconst LOGIN_LOGO_POSITIONS: LoginPageLogoLocation[] = ['top', 'middle', 'bottom'];\n\nconst normalizeCssValue = (value?: string) => {\n const trimmed = value?.trim();\n return trimmed || undefined;\n};\n\nconst createBackgroundImage = (gradient?: string, imageUrl?: string) => {\n const resolvedGradient = normalizeCssValue(gradient);\n const resolvedImageUrl = normalizeCssValue(imageUrl);\n\n return [resolvedGradient, resolvedImageUrl ? `url(${JSON.stringify(resolvedImageUrl)})` : undefined]\n .filter(Boolean)\n .join(', ');\n};\n\nconst normalizeLogoPosition = (position?: LoginPageLogoLocation): LoginPageLogoLocation =>\n position && LOGIN_LOGO_POSITIONS.includes(position) ? position : 'bottom';\n\nconst normalizeLogoScale = (scale?: number) =>\n typeof scale === 'number' && Number.isFinite(scale) && scale > 0 ? scale : undefined;\n\nconst resolveLogoUrls = (logo?: LoginPageProps['logo']) => {\n const url = normalizeCssValue(logo?.url);\n const lightUrl = normalizeCssValue(logo?.lightUrl) || url;\n const darkUrl = normalizeCssValue(logo?.darkUrl) || url || lightUrl;\n\n return { lightUrl, darkUrl };\n};\n\nconst normalizeProviderType = (value?: string) =>\n normalizeCssValue(value)\n ?.toLowerCase()\n .replace(/^oauth[-_:]/, '')\n .replace(/[\\s_]+/g, '-');\n\nconst getDefaultExternalMethodIcon = (method: NonNullable<LoginPageProps['externalMethods']>[number]) => {\n const providerType = normalizeProviderType(method.providerType) ?? normalizeProviderType(method.id);\n\n switch (providerType) {\n case 'dingtalk':\n case 'ding-talk':\n case 'dingding':\n return <DingtalkIcon aria-hidden=\"true\" />;\n case 'feishu':\n case 'lark':\n return <FeishuIcon alt=\"\" aria-hidden=\"true\" />;\n case 'wework':\n case 'wecom':\n case 'wechat-work':\n case 'wechatwork':\n return <WeWorkIcon aria-hidden=\"true\" />;\n case 'oidc':\n case 'sso':\n case 'saml':\n case 'saml-sso':\n return <SSOIcon aria-hidden=\"true\" />;\n default:\n return null;\n }\n};\n\nexport function LoginPage({\n className,\n style,\n background,\n logo,\n primaryColor,\n radius,\n customCss,\n toolbar,\n title,\n backAction,\n methods,\n activeMethodId,\n defaultMethodId,\n onMethodChange,\n externalLabel,\n externalMethods = [],\n externalPanel,\n callout,\n}: LoginPageProps) {\n const availableMethods = useMemo(() => methods.filter((method) => !method.hidden), [methods]);\n const fallbackMethodId = defaultMethodId ?? availableMethods[0]?.id;\n const [internalMethodId, setInternalMethodId] = useState<string | undefined>(fallbackMethodId);\n const currentMethodId = activeMethodId ?? internalMethodId;\n const activeMethod = availableMethods.find((method) => method.id === currentMethodId) ?? availableMethods[0];\n const hasTabs = availableMethods.length > 1;\n const backgroundImage = createBackgroundImage(background?.gradient, background?.imageUrl);\n const backgroundMode = backgroundImage ? 'custom' : 'default';\n const logoPosition = normalizeLogoPosition(logo?.position);\n const logoScale = normalizeLogoScale(logo?.scale);\n const { lightUrl: logoLightUrl, darkUrl: logoDarkUrl } = resolveLogoUrls(logo);\n const hasLogo = Boolean(logoLightUrl || logoDarkUrl);\n const usesSeparateModeLogos = Boolean(logoLightUrl && logoDarkUrl && logoLightUrl !== logoDarkUrl);\n\n useEffect(() => {\n if (!availableMethods.length) {\n setInternalMethodId(undefined);\n return;\n }\n\n if (!currentMethodId || !availableMethods.some((method) => method.id === currentMethodId)) {\n setInternalMethodId(fallbackMethodId ?? availableMethods[0]?.id);\n }\n }, [availableMethods, currentMethodId, fallbackMethodId]);\n\n const rootStyle = useMemo<React.CSSProperties>(\n () => ({\n ...(primaryColor ? { ['--login-page-theme-primary-color' as string]: primaryColor } : null),\n ...(radius ? { ['--login-page-theme-radius' as string]: radius } : null),\n ...style,\n }),\n [primaryColor, radius, style],\n );\n\n const handleMethodChange = (methodId: string) => {\n if (activeMethodId === undefined) {\n setInternalMethodId(methodId);\n }\n onMethodChange?.(methodId);\n };\n\n const renderExternalMethod = (method: NonNullable<LoginPageProps['externalMethods']>[number]) => {\n const icon = method.icon === undefined ? getDefaultExternalMethodIcon(method) : method.icon;\n const button = (\n <button\n type=\"button\"\n className=\"login-page__oauth-button\"\n data-login-part=\"external-button\"\n data-login-method-id={method.id}\n onClick={method.onClick}\n disabled={method.disabled}\n >\n {icon ? (\n <span className=\"login-page__oauth-icon\" data-login-part=\"external-icon\">\n {icon}\n </span>\n ) : null}\n <span>{method.label}</span>\n </button>\n );\n\n return <React.Fragment key={method.id}>{method.render ? method.render(button) : button}</React.Fragment>;\n };\n\n return (\n <main\n className={['login-page', className].filter(Boolean).join(' ')}\n data-login-page\n data-login-part=\"root\"\n data-login-background={backgroundMode}\n style={rootStyle}\n >\n {customCss ? <style data-login-page-custom-css>{customCss}</style> : null}\n\n <div\n className=\"login-page__background\"\n data-login-part=\"background\"\n data-login-background={backgroundMode}\n style={backgroundImage ? { backgroundImage } : undefined}\n aria-hidden=\"true\"\n />\n\n {toolbar ? (\n <div className=\"login-page__toolbar\" data-login-part=\"toolbar\">\n {toolbar}\n </div>\n ) : null}\n\n {hasLogo ? (\n <div\n className={`login-page__logo login-page__logo--${logoPosition}`}\n data-login-part=\"logo\"\n data-logo-position={logoPosition}\n >\n {usesSeparateModeLogos ? (\n <>\n <img\n className=\"login-page__logo-image login-page__logo-image--light\"\n data-login-part=\"logo-image\"\n data-login-logo-mode=\"light\"\n src={logoLightUrl}\n alt={logo?.alt ?? ''}\n style={logoScale ? { transform: `scale(${logoScale})` } : undefined}\n />\n <img\n className=\"login-page__logo-image login-page__logo-image--dark\"\n data-login-part=\"logo-image\"\n data-login-logo-mode=\"dark\"\n src={logoDarkUrl}\n alt={logo?.alt ?? ''}\n style={logoScale ? { transform: `scale(${logoScale})` } : undefined}\n />\n </>\n ) : (\n <img\n className=\"login-page__logo-image\"\n data-login-part=\"logo-image\"\n src={logoLightUrl || logoDarkUrl}\n alt={logo?.alt ?? ''}\n style={logoScale ? { transform: `scale(${logoScale})` } : undefined}\n />\n )}\n </div>\n ) : null}\n\n <section\n className=\"login-page__form\"\n data-login-part=\"panel\"\n aria-label={typeof title === 'string' ? title : undefined}\n >\n {backAction ? (\n <button type=\"button\" className=\"login-page__back\" data-login-part=\"back\" onClick={backAction.onClick}>\n {backAction.icon ? (\n <span className=\"login-page__back-icon\" data-login-part=\"back-icon\">\n {backAction.icon}\n </span>\n ) : null}\n <span>{backAction.label}</span>\n </button>\n ) : null}\n\n {title ? (\n <h1 className=\"login-page__title\" data-login-part=\"title\">\n {title}\n </h1>\n ) : null}\n\n {hasTabs ? (\n <div className=\"login-page__tabs\" data-login-part=\"tabs\" role=\"tablist\">\n {availableMethods.map((method) => {\n const selected = method.id === activeMethod?.id;\n return (\n <button\n key={method.id}\n type=\"button\"\n role=\"tab\"\n aria-selected={selected}\n className={`login-page__tab ${selected ? 'login-page__tab--active' : ''}`}\n data-login-part=\"tab\"\n data-login-method-id={method.id}\n data-active={selected ? 'true' : 'false'}\n onClick={() => handleMethodChange(method.id)}\n >\n {method.icon ? (\n <span className=\"login-page__tab-icon\" data-login-part=\"tab-icon\">\n {method.icon}\n </span>\n ) : null}\n <span className=\"login-page__tab-label\">{method.label}</span>\n </button>\n );\n })}\n </div>\n ) : null}\n\n {externalPanel ? (\n <div className=\"login-page__external-panel\" data-login-part=\"external-panel\">\n {externalPanel.title ? (\n <div className=\"login-page__external-panel-title\" data-login-part=\"external-panel-title\">\n {externalPanel.title}\n </div>\n ) : null}\n {externalPanel.description ? (\n <p className=\"login-page__external-panel-description\" data-login-part=\"external-panel-description\">\n {externalPanel.description}\n </p>\n ) : null}\n <div className=\"login-page__external-panel-content\" data-login-part=\"external-panel-content\">\n {externalPanel.content}\n </div>\n {externalPanel.footer || externalPanel.backAction ? (\n <div className=\"login-page__external-panel-footer\" data-login-part=\"external-panel-footer\">\n {externalPanel.footer}\n {externalPanel.backAction ? (\n <button\n type=\"button\"\n className=\"login-page__external-panel-back\"\n data-login-part=\"external-panel-back\"\n onClick={externalPanel.backAction.onClick}\n >\n {externalPanel.backAction.label}\n </button>\n ) : null}\n </div>\n ) : null}\n </div>\n ) : activeMethod ? (\n <form\n className=\"login-page__form-fields\"\n data-login-part=\"form\"\n data-login-method-id={activeMethod.id}\n onSubmit={activeMethod.onSubmit}\n >\n {activeMethod.fields.map((field) => (\n <div className=\"login-page__field\" data-login-part=\"field\" data-login-field-name={field.name} key={field.name}>\n <input\n id={field.id}\n name={field.name}\n type={field.type ?? 'text'}\n value={field.value}\n placeholder={field.placeholder}\n autoComplete={field.autoComplete}\n inputMode={field.inputMode}\n maxLength={field.maxLength}\n pattern={field.pattern}\n disabled={activeMethod.disabled || activeMethod.isLoading || field.disabled}\n required={field.required}\n className=\"login-page__input\"\n data-login-part=\"input\"\n onChange={(event) => field.onChange(event.target.value)}\n />\n </div>\n ))}\n\n {activeMethod.checkbox ? (\n <label className=\"login-page__remember\" data-login-part=\"checkbox-label\" htmlFor={activeMethod.checkbox.id}>\n <input\n id={activeMethod.checkbox.id}\n type=\"checkbox\"\n className=\"login-page__checkbox\"\n data-login-part=\"checkbox\"\n checked={activeMethod.checkbox.checked}\n disabled={activeMethod.disabled || activeMethod.isLoading || activeMethod.checkbox.disabled}\n onChange={(event) => activeMethod.checkbox?.onChange(event.target.checked)}\n />\n <span>{activeMethod.checkbox.label}</span>\n </label>\n ) : null}\n\n {activeMethod.footer || activeMethod.footerAction ? (\n <div className=\"login-page__method-footer\" data-login-part=\"method-footer\">\n {activeMethod.footer}\n {activeMethod.footerAction ? (\n <button\n type=\"button\"\n className=\"login-page__method-footer-action\"\n data-login-part=\"method-footer-action\"\n data-login-method-id={activeMethod.id}\n onClick={activeMethod.footerAction.onClick}\n disabled={activeMethod.disabled || activeMethod.isLoading || activeMethod.footerAction.disabled}\n >\n {activeMethod.footerAction.label}\n </button>\n ) : null}\n </div>\n ) : null}\n\n <button\n type=\"submit\"\n className=\"login-page__submit\"\n data-login-part=\"submit-button\"\n disabled={activeMethod.disabled || activeMethod.isLoading}\n >\n {activeMethod.isLoading && activeMethod.loadingLabel ? activeMethod.loadingLabel : activeMethod.submitLabel}\n </button>\n </form>\n ) : null}\n\n {callout ? (\n <div\n className={`login-page__callout login-page__callout--${callout.tone ?? 'info'}`}\n data-login-part=\"callout\"\n data-tone={callout.tone ?? 'info'}\n >\n <div className=\"login-page__callout-title\" data-login-part=\"callout-title\">\n {callout.title}\n </div>\n {callout.description ? (\n <p className=\"login-page__callout-description\" data-login-part=\"callout-description\">\n {callout.description}\n </p>\n ) : null}\n {callout.detail ? (\n <p className=\"login-page__callout-detail\" data-login-part=\"callout-detail\">\n {callout.detail}\n </p>\n ) : null}\n {callout.action ? (\n <button\n type=\"button\"\n className=\"login-page__callout-action\"\n data-login-part=\"callout-action\"\n onClick={callout.action.onClick}\n disabled={callout.action.disabled}\n >\n {callout.action.label}\n </button>\n ) : null}\n </div>\n ) : null}\n\n {!externalPanel && externalMethods.length ? (\n <div className=\"login-page__oauth-section\" data-login-part=\"external-methods\">\n {externalLabel ? (\n <div className=\"login-page__oauth-label\" data-login-part=\"external-label\">\n {externalLabel}\n </div>\n ) : null}\n <div className=\"login-page__oauth-list\" data-login-part=\"external-list\">\n {externalMethods.map(renderExternalMethod)}\n </div>\n </div>\n ) : null}\n </section>\n </main>\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/icons-oauth.tsx","../../../src/components/login/LoginPage.tsx"],"names":["jsx","jsxs"],"mappings":"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","file":"index.mjs","sourcesContent":["import React from 'react';\n\nconst FEISHU_ICON_URL =\n 'https://p1-hera.feishucdn.com/tos-cn-i-jbbdkfciu3/84a9f036fe2b44f99b899fff4beeb963~tplv-jbbdkfciu3-image:0:0.image';\n\nexport const FeishuIcon: React.FC<React.ComponentPropsWithoutRef<'img'>> = ({\n alt = 'feishu',\n width = 16,\n height = 16,\n style,\n ...props\n}) => (\n <img\n src={FEISHU_ICON_URL}\n alt={alt}\n width={width}\n height={height}\n style={{ display: 'block', ...style }}\n {...props}\n />\n);\n\nexport const WeWorkIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({\n width = 16,\n height = 16,\n style,\n ...props\n}) => (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ display: 'block', ...style }}\n {...props}\n >\n <path\n d=\"M13.9 5.25c-4.45 0-8.05 2.84-8.05 6.35 0 1.89 1.06 3.6 2.72 4.76l-.45 2.01c-.1.45.38.8.78.57l2.42-1.38c.82.25 1.69.39 2.58.39 4.45 0 8.05-2.84 8.05-6.35s-3.6-6.35-8.05-6.35Z\"\n fill=\"#1683FF\"\n />\n <path\n d=\"M10.15 3.7c-4.5 0-8.15 2.86-8.15 6.4 0 1.78.94 3.39 2.45 4.55l-.36 1.88c-.08.43.36.75.75.55l2.18-1.15c.7.18 1.44.27 2.2.27 4.5 0 8.15-2.86 8.15-6.4s-3.65-6.1-7.22-6.1Z\"\n fill=\"#07C160\"\n />\n <circle cx=\"7.2\" cy=\"9.75\" r=\"1.05\" fill=\"#FFFFFF\" />\n <circle cx=\"11.1\" cy=\"9.75\" r=\"1.05\" fill=\"#FFFFFF\" />\n <circle cx=\"15.8\" cy=\"11.9\" r=\"0.95\" fill=\"#FFFFFF\" />\n <circle cx=\"19\" cy=\"11.9\" r=\"0.95\" fill=\"#FFFFFF\" />\n </svg>\n);\n\nexport const DingtalkIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({\n className,\n width = 16,\n height = 16,\n style,\n ...props\n}) => (\n <svg\n width={width}\n height={height}\n viewBox=\"64 64 896 896\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n style={{ display: 'block', ...style }}\n {...props}\n >\n <path\n d=\"M573.7 252.5C422.5 197.4 201.3 96.7 201.3 96.7c-15.7-4.1-17.9 11.1-17.9 11.1-5 61.1 33.6 160.5 53.6 182.8 19.9 22.3 319.1 113.7 319.1 113.7S326 357.9 270.5 341.9c-55.6-16-37.9 17.8-37.9 17.8 11.4 61.7 64.9 131.8 107.2 138.4 42.2 6.6 220.1 4 220.1 4s-35.5 4.1-93.2 11.9c-42.7 5.8-97 12.5-111.1 17.8-33.1 12.5 24 62.6 24 62.6 84.7 76.8 129.7 50.5 129.7 50.5 33.3-10.7 61.4-18.5 85.2-24.2L565 743.1h84.6L603 928l205.3-271.9H700.8l22.3-38.7c.3.5.4.8.4.8S799.8 496.1 829 433.8l.6-1h-.1c5-10.8 8.6-19.7 10-25.8 17-71.3-114.5-99.4-265.8-154.5z\"\n fill=\"#1683FF\"\n />\n </svg>\n);\n\nexport const SSOIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({ width = 16, height = 16, style, ...props }) => (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ display: 'block', ...style }}\n {...props}\n >\n <path\n d=\"M12 2.65 5.35 5.4v5.2c0 4.75 2.85 8.98 6.65 10.75 3.8-1.77 6.65-6 6.65-10.75V5.4L12 2.65Z\"\n fill=\"#2563EB\"\n />\n <path\n d=\"M12 4.65 7.15 6.62v4.02c0 3.5 2 6.72 4.85 8.28 2.85-1.56 4.85-4.78 4.85-8.28V6.62L12 4.65Z\"\n fill=\"#38BDF8\"\n />\n <circle cx=\"12\" cy=\"10.1\" r=\"2.15\" fill=\"#FFFFFF\" />\n <path d=\"M12 12.25v3.3\" stroke=\"#FFFFFF\" strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n <path d=\"M12 15.05h2.2\" stroke=\"#FFFFFF\" strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n </svg>\n);\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { DingtalkIcon, FeishuIcon, SSOIcon, WeWorkIcon } from '../../icons-oauth';\nimport type { LoginPageLogoLocation, LoginPageProps } from './types';\n\nconst LOGIN_LOGO_POSITIONS: LoginPageLogoLocation[] = ['top', 'middle', 'bottom'];\n\nconst normalizeCssValue = (value?: string) => {\n const trimmed = value?.trim();\n return trimmed || undefined;\n};\n\nconst createBackgroundImage = (gradient?: string, imageUrl?: string) => {\n const resolvedGradient = normalizeCssValue(gradient);\n const resolvedImageUrl = normalizeCssValue(imageUrl);\n\n return [resolvedGradient, resolvedImageUrl ? `url(${JSON.stringify(resolvedImageUrl)})` : undefined]\n .filter(Boolean)\n .join(', ');\n};\n\nconst normalizeLogoPosition = (position?: LoginPageLogoLocation): LoginPageLogoLocation =>\n position && LOGIN_LOGO_POSITIONS.includes(position) ? position : 'bottom';\n\nconst normalizeLogoScale = (scale?: number) =>\n typeof scale === 'number' && Number.isFinite(scale) && scale > 0 ? scale : undefined;\n\nconst resolveLogoUrls = (logo?: LoginPageProps['logo']) => {\n const url = normalizeCssValue(logo?.url);\n const lightUrl = normalizeCssValue(logo?.lightUrl) || url;\n const darkUrl = normalizeCssValue(logo?.darkUrl) || url || lightUrl;\n\n return { lightUrl, darkUrl };\n};\n\nconst normalizeProviderType = (value?: string) =>\n normalizeCssValue(value)\n ?.toLowerCase()\n .replace(/^oauth[-_:]/, '')\n .replace(/[\\s_]+/g, '-');\n\nconst getDefaultExternalMethodIcon = (method: NonNullable<LoginPageProps['externalMethods']>[number]) => {\n const providerType = normalizeProviderType(method.providerType) ?? normalizeProviderType(method.id);\n\n switch (providerType) {\n case 'dingtalk':\n case 'ding-talk':\n case 'dingding':\n return <DingtalkIcon aria-hidden=\"true\" />;\n case 'feishu':\n case 'lark':\n return <FeishuIcon alt=\"\" aria-hidden=\"true\" />;\n case 'wework':\n case 'wecom':\n case 'wechat-work':\n case 'wechatwork':\n return <WeWorkIcon aria-hidden=\"true\" />;\n case 'oidc':\n case 'sso':\n case 'saml':\n case 'saml-sso':\n return <SSOIcon aria-hidden=\"true\" />;\n default:\n return null;\n }\n};\n\nexport function LoginPage({\n className,\n style,\n background,\n logo,\n primaryColor,\n radius,\n customCss,\n toolbar,\n title,\n backAction,\n methods,\n activeMethodId,\n defaultMethodId,\n onMethodChange,\n externalLabel,\n externalMethods = [],\n externalPanel,\n callout,\n}: LoginPageProps) {\n const availableMethods = useMemo(() => methods.filter((method) => !method.hidden), [methods]);\n const fallbackMethodId = defaultMethodId ?? availableMethods[0]?.id;\n const [internalMethodId, setInternalMethodId] = useState<string | undefined>(fallbackMethodId);\n const currentMethodId = activeMethodId ?? internalMethodId;\n const activeMethod = availableMethods.find((method) => method.id === currentMethodId) ?? availableMethods[0];\n const hasTabs = availableMethods.length > 1;\n const showAuthMethods = !externalPanel;\n const backgroundImage = createBackgroundImage(background?.gradient, background?.imageUrl);\n const backgroundMode = backgroundImage ? 'custom' : 'default';\n const logoPosition = normalizeLogoPosition(logo?.position);\n const logoScale = normalizeLogoScale(logo?.scale);\n const { lightUrl: logoLightUrl, darkUrl: logoDarkUrl } = resolveLogoUrls(logo);\n const hasLogo = Boolean(logoLightUrl || logoDarkUrl);\n const usesSeparateModeLogos = Boolean(logoLightUrl && logoDarkUrl && logoLightUrl !== logoDarkUrl);\n\n useEffect(() => {\n if (!availableMethods.length) {\n setInternalMethodId(undefined);\n return;\n }\n\n if (!currentMethodId || !availableMethods.some((method) => method.id === currentMethodId)) {\n setInternalMethodId(fallbackMethodId ?? availableMethods[0]?.id);\n }\n }, [availableMethods, currentMethodId, fallbackMethodId]);\n\n const rootStyle = useMemo<React.CSSProperties>(\n () => ({\n ...(primaryColor ? { ['--login-page-theme-primary-color' as string]: primaryColor } : null),\n ...(radius ? { ['--login-page-theme-radius' as string]: radius } : null),\n ...style,\n }),\n [primaryColor, radius, style],\n );\n\n const handleMethodChange = (methodId: string) => {\n if (activeMethodId === undefined) {\n setInternalMethodId(methodId);\n }\n onMethodChange?.(methodId);\n };\n\n const renderExternalMethod = (method: NonNullable<LoginPageProps['externalMethods']>[number]) => {\n const icon = method.icon === undefined ? getDefaultExternalMethodIcon(method) : method.icon;\n const button = (\n <button\n type=\"button\"\n className=\"login-page__oauth-button\"\n data-login-part=\"external-button\"\n data-login-method-id={method.id}\n onClick={method.onClick}\n disabled={method.disabled}\n >\n {icon ? (\n <span className=\"login-page__oauth-icon\" data-login-part=\"external-icon\">\n {icon}\n </span>\n ) : null}\n <span>{method.label}</span>\n </button>\n );\n\n return <React.Fragment key={method.id}>{method.render ? method.render(button) : button}</React.Fragment>;\n };\n\n return (\n <main\n className={['login-page', className].filter(Boolean).join(' ')}\n data-login-page\n data-login-part=\"root\"\n data-login-background={backgroundMode}\n style={rootStyle}\n >\n {customCss ? <style data-login-page-custom-css>{customCss}</style> : null}\n\n <div\n className=\"login-page__background\"\n data-login-part=\"background\"\n data-login-background={backgroundMode}\n style={backgroundImage ? { backgroundImage } : undefined}\n aria-hidden=\"true\"\n />\n\n {toolbar ? (\n <div className=\"login-page__toolbar\" data-login-part=\"toolbar\">\n {toolbar}\n </div>\n ) : null}\n\n {hasLogo ? (\n <div\n className={`login-page__logo login-page__logo--${logoPosition}`}\n data-login-part=\"logo\"\n data-logo-position={logoPosition}\n >\n {usesSeparateModeLogos ? (\n <>\n <img\n className=\"login-page__logo-image login-page__logo-image--light\"\n data-login-part=\"logo-image\"\n data-login-logo-mode=\"light\"\n src={logoLightUrl}\n alt={logo?.alt ?? ''}\n style={logoScale ? { transform: `scale(${logoScale})` } : undefined}\n />\n <img\n className=\"login-page__logo-image login-page__logo-image--dark\"\n data-login-part=\"logo-image\"\n data-login-logo-mode=\"dark\"\n src={logoDarkUrl}\n alt={logo?.alt ?? ''}\n style={logoScale ? { transform: `scale(${logoScale})` } : undefined}\n />\n </>\n ) : (\n <img\n className=\"login-page__logo-image\"\n data-login-part=\"logo-image\"\n src={logoLightUrl || logoDarkUrl}\n alt={logo?.alt ?? ''}\n style={logoScale ? { transform: `scale(${logoScale})` } : undefined}\n />\n )}\n </div>\n ) : null}\n\n <section\n className=\"login-page__form\"\n data-login-part=\"panel\"\n aria-label={typeof title === 'string' ? title : undefined}\n >\n {backAction ? (\n <button type=\"button\" className=\"login-page__back\" data-login-part=\"back\" onClick={backAction.onClick}>\n {backAction.icon ? (\n <span className=\"login-page__back-icon\" data-login-part=\"back-icon\">\n {backAction.icon}\n </span>\n ) : null}\n <span>{backAction.label}</span>\n </button>\n ) : null}\n\n {title ? (\n <h1 className=\"login-page__title\" data-login-part=\"title\">\n {title}\n </h1>\n ) : null}\n\n {showAuthMethods && hasTabs ? (\n <div className=\"login-page__tabs\" data-login-part=\"tabs\" role=\"tablist\">\n {availableMethods.map((method) => {\n const selected = method.id === activeMethod?.id;\n return (\n <button\n key={method.id}\n type=\"button\"\n role=\"tab\"\n aria-selected={selected}\n className={`login-page__tab ${selected ? 'login-page__tab--active' : ''}`}\n data-login-part=\"tab\"\n data-login-method-id={method.id}\n data-active={selected ? 'true' : 'false'}\n onClick={() => handleMethodChange(method.id)}\n >\n {method.icon ? (\n <span className=\"login-page__tab-icon\" data-login-part=\"tab-icon\">\n {method.icon}\n </span>\n ) : null}\n <span className=\"login-page__tab-label\">{method.label}</span>\n </button>\n );\n })}\n </div>\n ) : null}\n\n {externalPanel ? (\n <div className=\"login-page__external-panel\" data-login-part=\"external-panel\">\n {externalPanel.title ? (\n <div className=\"login-page__external-panel-title\" data-login-part=\"external-panel-title\">\n {externalPanel.title}\n </div>\n ) : null}\n {externalPanel.description ? (\n <p className=\"login-page__external-panel-description\" data-login-part=\"external-panel-description\">\n {externalPanel.description}\n </p>\n ) : null}\n <div className=\"login-page__external-panel-content\" data-login-part=\"external-panel-content\">\n {externalPanel.content}\n </div>\n {externalPanel.footer || externalPanel.backAction ? (\n <div className=\"login-page__external-panel-footer\" data-login-part=\"external-panel-footer\">\n {externalPanel.footer}\n {externalPanel.backAction ? (\n <button\n type=\"button\"\n className=\"login-page__external-panel-back\"\n data-login-part=\"external-panel-back\"\n onClick={externalPanel.backAction.onClick}\n >\n {externalPanel.backAction.label}\n </button>\n ) : null}\n </div>\n ) : null}\n </div>\n ) : showAuthMethods && activeMethod ? (\n <form\n className=\"login-page__form-fields\"\n data-login-part=\"form\"\n data-login-method-id={activeMethod.id}\n onSubmit={activeMethod.onSubmit}\n >\n {activeMethod.fields.map((field) => (\n <div className=\"login-page__field\" data-login-part=\"field\" data-login-field-name={field.name} key={field.name}>\n <input\n id={field.id}\n name={field.name}\n type={field.type ?? 'text'}\n value={field.value}\n placeholder={field.placeholder}\n autoComplete={field.autoComplete}\n inputMode={field.inputMode}\n maxLength={field.maxLength}\n pattern={field.pattern}\n disabled={activeMethod.disabled || activeMethod.isLoading || field.disabled}\n required={field.required}\n className=\"login-page__input\"\n data-login-part=\"input\"\n onChange={(event) => field.onChange(event.target.value)}\n />\n </div>\n ))}\n\n {activeMethod.checkbox ? (\n <label className=\"login-page__remember\" data-login-part=\"checkbox-label\" htmlFor={activeMethod.checkbox.id}>\n <input\n id={activeMethod.checkbox.id}\n type=\"checkbox\"\n className=\"login-page__checkbox\"\n data-login-part=\"checkbox\"\n checked={activeMethod.checkbox.checked}\n disabled={activeMethod.disabled || activeMethod.isLoading || activeMethod.checkbox.disabled}\n onChange={(event) => activeMethod.checkbox?.onChange(event.target.checked)}\n />\n <span>{activeMethod.checkbox.label}</span>\n </label>\n ) : null}\n\n {activeMethod.footer || activeMethod.footerAction ? (\n <div className=\"login-page__method-footer\" data-login-part=\"method-footer\">\n {activeMethod.footer}\n {activeMethod.footerAction ? (\n <button\n type=\"button\"\n className=\"login-page__method-footer-action\"\n data-login-part=\"method-footer-action\"\n data-login-method-id={activeMethod.id}\n onClick={activeMethod.footerAction.onClick}\n disabled={activeMethod.disabled || activeMethod.isLoading || activeMethod.footerAction.disabled}\n >\n {activeMethod.footerAction.label}\n </button>\n ) : null}\n </div>\n ) : null}\n\n <button\n type=\"submit\"\n className=\"login-page__submit\"\n data-login-part=\"submit-button\"\n disabled={activeMethod.disabled || activeMethod.isLoading}\n >\n {activeMethod.isLoading && activeMethod.loadingLabel ? activeMethod.loadingLabel : activeMethod.submitLabel}\n </button>\n </form>\n ) : null}\n\n {callout ? (\n <div\n className={`login-page__callout login-page__callout--${callout.tone ?? 'info'}`}\n data-login-part=\"callout\"\n data-tone={callout.tone ?? 'info'}\n >\n <div className=\"login-page__callout-title\" data-login-part=\"callout-title\">\n {callout.title}\n </div>\n {callout.description ? (\n <p className=\"login-page__callout-description\" data-login-part=\"callout-description\">\n {callout.description}\n </p>\n ) : null}\n {callout.detail ? (\n <p className=\"login-page__callout-detail\" data-login-part=\"callout-detail\">\n {callout.detail}\n </p>\n ) : null}\n {callout.action ? (\n <button\n type=\"button\"\n className=\"login-page__callout-action\"\n data-login-part=\"callout-action\"\n onClick={callout.action.onClick}\n disabled={callout.action.disabled}\n >\n {callout.action.label}\n </button>\n ) : null}\n </div>\n ) : null}\n\n {!externalPanel && externalMethods.length ? (\n <div className=\"login-page__oauth-section\" data-login-part=\"external-methods\">\n {externalLabel ? (\n <div className=\"login-page__oauth-label\" data-login-part=\"external-label\">\n {externalLabel}\n </div>\n ) : null}\n <div className=\"login-page__oauth-list\" data-login-part=\"external-list\">\n {externalMethods.map(renderExternalMethod)}\n </div>\n </div>\n ) : null}\n </section>\n </main>\n );\n}\n"]}
package/dist/index.js CHANGED
@@ -20556,6 +20556,7 @@ function LoginPage({
20556
20556
  const currentMethodId = activeMethodId ?? internalMethodId;
20557
20557
  const activeMethod = availableMethods.find((method) => method.id === currentMethodId) ?? availableMethods[0];
20558
20558
  const hasTabs = availableMethods.length > 1;
20559
+ const showAuthMethods = !externalPanel;
20559
20560
  const backgroundImage = createBackgroundImage(background?.gradient, background?.imageUrl);
20560
20561
  const backgroundMode = backgroundImage ? "custom" : "default";
20561
20562
  const logoPosition = normalizeLogoPosition(logo?.position);
@@ -20679,7 +20680,7 @@ function LoginPage({
20679
20680
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: backAction.label })
20680
20681
  ] }) : null,
20681
20682
  title ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "login-page__title", "data-login-part": "title", children: title }) : null,
20682
- hasTabs ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "login-page__tabs", "data-login-part": "tabs", role: "tablist", children: availableMethods.map((method) => {
20683
+ showAuthMethods && hasTabs ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "login-page__tabs", "data-login-part": "tabs", role: "tablist", children: availableMethods.map((method) => {
20683
20684
  const selected = method.id === activeMethod?.id;
20684
20685
  return /* @__PURE__ */ jsxRuntime.jsxs(
20685
20686
  "button",
@@ -20717,7 +20718,7 @@ function LoginPage({
20717
20718
  }
20718
20719
  ) : null
20719
20720
  ] }) : null
20720
- ] }) : activeMethod ? /* @__PURE__ */ jsxRuntime.jsxs(
20721
+ ] }) : showAuthMethods && activeMethod ? /* @__PURE__ */ jsxRuntime.jsxs(
20721
20722
  "form",
20722
20723
  {
20723
20724
  className: "login-page__form-fields",