metawrite
Version:
Appwrite SDK with ready to go components for Svelte / SvelteKit
102 lines (101 loc) • 2.92 kB
TypeScript
/** @typedef {typeof __propDef.props} MagicUrlProps */
/** @typedef {typeof __propDef.events} MagicUrlEvents */
/** @typedef {typeof __propDef.slots} MagicUrlSlots */
/**
* Creates Magic URL Session.
*
* ### `<MagicURL />`
*
* #### Directives
*
* **let:actions**
*
* | Name | Description |
* | --------------------------- | ------------------------------------------------------------ |
* | `create(sessionId, email, url)` | Creates Magic URL Session. email is required, url is to point on complete step `string`, `sessionId` is not required |
* | `complete()` | Validates and completes Magic URL Session. |
*
* #### Example
*
* ```svelte
* <script>
* import { MagicURL } from "metawrite";
*
* let email = ""
* const url = "http://localhost:3000/page-to-complete"
*
* const successCreate = (e) => {
* console.log(e)
* }
* const failureCreate = (e) => {
* console.log(e)
* }
* const successComplete = (e) => {
* console.log(e)
* }
* const failureComplete = (e) => {
* console.log(e)
* }
* </script>
*
* <MagicURL let:actions on:successCreate on:successComplete on:failureCreate on:failureComplete>
* <input type="email" name="email" placeholder="Email" bind:value={email} />
* <button on:click={actions.create(email, url)}>Send login link</button>
* <button on:click={actions.complete()}>Confirm Login</button>
* </MagicURL>
* ```
*/
export default class MagicUrl extends SvelteComponentTyped<{}, {
successCreate: CustomEvent<any>;
failureCreate: CustomEvent<any>;
successComplete: CustomEvent<any>;
failureComplete: CustomEvent<any>;
} & {
[evt: string]: CustomEvent<any>;
}, {
default: {
actions: {
create: (sessionId: string, email: string, url: string) => Promise<import("appwrite").Models.Token>;
complete: () => Promise<void>;
};
};
loading: {};
success: {
user: any;
};
error: {
error: any;
};
}> {
}
export type MagicUrlProps = typeof __propDef.props;
export type MagicUrlEvents = typeof __propDef.events;
export type MagicUrlSlots = typeof __propDef.slots;
import { SvelteComponentTyped } from "svelte";
declare const __propDef: {
props: {};
events: {
successCreate: CustomEvent<any>;
failureCreate: CustomEvent<any>;
successComplete: CustomEvent<any>;
failureComplete: CustomEvent<any>;
} & {
[evt: string]: CustomEvent<any>;
};
slots: {
default: {
actions: {
create: (sessionId: string, email: string, url: string) => Promise<import("appwrite").Models.Token>;
complete: () => Promise<void>;
};
};
loading: {};
success: {
user: any;
};
error: {
error: any;
};
};
};
export {};