0.2.0 • Published 2 months ago

@ory/elements-preact v0.2.0

Weekly downloads
-
License
Apache License 2....
Repository
github
Last release
2 months ago

Ory Elements

Ory Elements is a component library that makes building login, registration and account pages for Ory a breeze.

  • Reduces time to add complex auth flows to your customer experience, including multi-factor authentication and account recovery
  • Themeable and modular - use only what you need from it
  • Works with the React ecosystem (NextJS, React SPA, Preact SPA)
  • Works with the Express based ecosystem
  • Dynamically adapts the user interface to your Ory identity schema, sign-in and flow configuration

Ory Elements supports integrating with:

  • React
  • Preact
  • ExpressJs (experimental)

Getting Started

Install Ory Elements into your Preact application

npm i @ory/elements-preact --save

Ory Elements provides you with the ability to theme your application. Wrap your components with <ThemeProvider /> and import style.css from Ory Elements.

It is best to add this to your main.tsx file since it will be reused across your project. All source code is available in the Ory Elements examples/preact-spa folder.

// Ory Elements
// optional global css reset
import "@ory/elements-preact/assets/normalize.css"
// optional fontawesome icons
import "@ory/elements-preact/assets/fa-brands.min.css"
import "@ory/elements-preact/assets/fa-solid.min.css"
import "@ory/elements-preact/assets/fontawesome.min.css"

// optional fonts
import "@ory/elements-preact/assets/inter-font.css"
import "@ory/elements-preact/assets/jetbrains-mono-font.css"

// required styles for Ory Elements
import "@ory/elements-preact/style.css"

const Main = () => {
  return (
    <ThemeProvider themeOverrides={customTheme}>
      <Router>
        <Route path="/" component={Dashboard} />
        <Route path="/login" component={Login} />
        <Route path="/signup" component={Register} />
        <Route path="/verification" component={Verification} />
        <Route path="/recovery" component={Recovery} />
        <Route path="/settings" component={Settings} />
      </Router>
    </ThemeProvider>
  )
}

render(<Main />, document.getElementById("app") as HTMLElement)

Ory Elements supports integrating with Ory out of the box with the <UserAuthCard/>, <UserSettingsCard /> and <UserErrorCard />.

Each flow can be mapped using these components with only a few lines of code.

Let's create a login example, create login.tsx.

export const Login = () => {
  // do sdk calls to get the flow data from Ory
  return flow ? (
    <UserAuthCard
      flow={flow}
      flowType={"login"}
      additionalProps={{
        forgotPasswordURL: "/recovery",
        signupURL: "/signup",
      }}
      title={"Login"}
      includeScripts={true}
      onSubmit={submitFormData}
    />
  ) : (
    <div>Loading...</div>
  )
}
0.1.0-beta.17

2 months ago

0.2.0

2 months ago

0.1.0-beta.16

3 months ago

0.1.0-beta.15

4 months ago

0.1.0-beta.14

5 months ago

0.1.0-beta.13

5 months ago

0.1.0-beta.3

8 months ago

0.1.0-beta.2

8 months ago

0.1.0-beta.5

8 months ago

0.1.0-beta.4

8 months ago

0.1.0-beta.1

9 months ago

0.1.0-beta.10

7 months ago

0.1.0-beta.12

6 months ago

0.1.0-beta.11

7 months ago

0.1.0-beta.7

8 months ago

0.1.0-beta.6

8 months ago

0.1.0-beta.9

8 months ago

0.1.0-beta.8

8 months ago

0.0.1-beta.7

10 months ago

0.0.1-beta.9

9 months ago

0.0.1-beta.8

9 months ago

0.0.1-beta.10

9 months ago

0.0.1-beta.12

9 months ago

0.0.1-beta.11

9 months ago

0.0.1-beta.13

9 months ago

0.0.1-beta.6

1 year ago

0.0.1-beta.5

1 year ago

0.0.1-beta.4

1 year ago

0.0.1-alpha.30

1 year ago

0.0.1-beta.3

1 year ago

0.0.1-beta.2

1 year ago

0.0.1-beta.1

1 year ago

0.0.1-alpha.29

1 year ago

0.0.1-alpha.28

1 year ago

0.0.1-alpha.27

1 year ago

0.0.1-alpha.26

2 years ago

0.0.1-alpha.25

2 years ago

0.0.1-alpha.11

2 years ago

0.0.1-alpha.10

2 years ago

0.0.1-alpha.9

2 years ago

0.0.1-alpha.8

2 years ago

0.0.1-alpha.3

2 years ago