@orangecheck/auth-client 2.14.1 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1878,17 +1878,41 @@ function SigninTab({
1878
1878
  }
1879
1879
  );
1880
1880
  }
1881
- var OAUTH_PROVIDERS = [
1882
- { id: "google", label: "Continue with Google" }
1883
- ];
1881
+ function ProviderIcon({ id }) {
1882
+ const common = {
1883
+ width: 14,
1884
+ height: 14,
1885
+ viewBox: "0 0 24 24",
1886
+ fill: "currentColor",
1887
+ "aria-hidden": true,
1888
+ style: { flex: "0 0 auto" }
1889
+ };
1890
+ if (id === "google") {
1891
+ return /* @__PURE__ */ jsx("svg", { ...common, children: /* @__PURE__ */ jsx("path", { d: "M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z" }) });
1892
+ }
1893
+ if (id === "github") {
1894
+ return /* @__PURE__ */ jsx("svg", { ...common, children: /* @__PURE__ */ jsx("path", { d: "M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" }) });
1895
+ }
1896
+ return null;
1897
+ }
1884
1898
  function ProviderSignIn({
1885
1899
  authOrigin,
1886
1900
  returnTo
1887
1901
  }) {
1902
+ const [providers, setProviders] = React3.useState([]);
1888
1903
  const [origin, setOrigin] = React3.useState("");
1889
1904
  React3.useEffect(() => {
1890
1905
  setOrigin(window.location.origin);
1891
- }, []);
1906
+ let cancelled = false;
1907
+ fetch(`${authOrigin}/api/auth/providers`, { credentials: "include" }).then((r) => r.ok ? r.json() : null).then((body) => {
1908
+ if (!cancelled && body?.providers) setProviders(body.providers);
1909
+ }).catch(() => {
1910
+ });
1911
+ return () => {
1912
+ cancelled = true;
1913
+ };
1914
+ }, [authOrigin]);
1915
+ if (providers.length === 0) return null;
1892
1916
  const providerReturnTo = origin ? `${origin}${returnTo}` : returnTo;
1893
1917
  const line = { flex: 1, height: 1, background: "var(--border, #27272a)" };
1894
1918
  return /* @__PURE__ */ jsxs("div", { "data-oc-signin-providers": "", style: { marginTop: 20 }, children: [
@@ -1913,7 +1937,7 @@ function ProviderSignIn({
1913
1937
  ]
1914
1938
  }
1915
1939
  ),
1916
- OAUTH_PROVIDERS.map((p) => /* @__PURE__ */ jsx(
1940
+ providers.map((p, i) => /* @__PURE__ */ jsxs(
1917
1941
  "a",
1918
1942
  {
1919
1943
  href: `${authOrigin}/api/auth/${p.id}/start?return_to=${encodeURIComponent(
@@ -1921,11 +1945,14 @@ function ProviderSignIn({
1921
1945
  )}`,
1922
1946
  "data-oc-signin-provider": p.id,
1923
1947
  style: {
1924
- display: "block",
1948
+ display: "flex",
1949
+ alignItems: "center",
1950
+ justifyContent: "center",
1951
+ gap: 10,
1925
1952
  boxSizing: "border-box",
1926
1953
  width: "100%",
1954
+ marginTop: i === 0 ? 0 : 8,
1927
1955
  padding: "0.6rem 0.875rem",
1928
- textAlign: "center",
1929
1956
  border: "1px solid var(--border, #27272a)",
1930
1957
  borderRadius: 6,
1931
1958
  background: "transparent",
@@ -1934,7 +1961,10 @@ function ProviderSignIn({
1934
1961
  fontSize: 12,
1935
1962
  textDecoration: "none"
1936
1963
  },
1937
- children: p.label
1964
+ children: [
1965
+ /* @__PURE__ */ jsx(ProviderIcon, { id: p.id }),
1966
+ /* @__PURE__ */ jsx("span", { children: p.label })
1967
+ ]
1938
1968
  },
1939
1969
  p.id
1940
1970
  ))