@youversion/platform-react-ui 0.5.8 → 0.7.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/README.md CHANGED
@@ -27,17 +27,16 @@ Get your App Key at [platform.youversion.com](https://platform.youversion.com/)
27
27
 
28
28
  ## Usage
29
29
 
30
- Import styles and wrap your app:
30
+ Wrap your app with the provider and use components:
31
31
 
32
32
  ```tsx
33
- import { BibleSDKProvider, BibleTextView } from '@youversion/platform-react-ui';
34
- import '@youversion/platform-react-ui/styles.css';
33
+ import { YouVersionProvider, BibleTextView } from '@youversion/platform-react-ui';
35
34
 
36
35
  function App() {
37
36
  return (
38
- <BibleSDKProvider appKey={"YOUR_APP_KEY"}>
37
+ <YouVersionProvider appKey={"YOUR_APP_KEY"}>
39
38
  <BibleTextView reference="JHN.1.1-4" versionId={111} />
40
- </BibleSDKProvider>
39
+ </YouVersionProvider>
41
40
  );
42
41
  }
43
42
  ```
@@ -48,20 +47,20 @@ Toggle theme via the `YVPProvider`:
48
47
 
49
48
  ```tsx
50
49
  import { useState } from 'react';
51
- import { BibleSDKProvider, YVPProvider, BibleTextView } from '@youversion/platform-react-ui';
50
+ import { YouVersionProvider, YVPProvider, BibleTextView } from '@youversion/platform-react-ui';
52
51
 
53
52
  export default function App() {
54
53
  const [theme, setTheme] = useState<'light' | 'dark'>('light');
55
54
 
56
55
  return (
57
- <BibleSDKProvider appKey="YOUR_APP_KEY">
56
+ <YouVersionProvider appKey="YOUR_APP_KEY">
58
57
  <YVPProvider config={{ appKey: "YOUR_APP_KEY" }} theme={theme}>
59
58
  <button onClick={() => setTheme(theme === 'light' ? 'dark' : 'light')}>
60
59
  Toggle theme
61
60
  </button>
62
61
  <BibleTextView reference="JHN.1.1-4" versionId={111} />
63
62
  </YVPProvider>
64
- </BibleSDKProvider>
63
+ </YouVersionProvider>
65
64
  );
66
65
  }
67
66
  ```
@@ -1,24 +1,16 @@
1
1
  import React from 'react';
2
- import { type SignInWithYouVersionPermissionValues, type SignInWithYouVersionResult } from '@youversion/platform-core';
2
+ import { type SignInWithYouVersionPermissionValues } from '@youversion/platform-core';
3
3
  interface SignInAuthProps {
4
4
  /**
5
5
  * Called when the sign-in flow fails.
6
6
  * @param error - The error thrown by the sign-in flow.
7
7
  */
8
8
  onAuthError?: (error: Error) => void;
9
- /**
10
- * Called when the sign-in flow succeeds.
11
- * @param result - The result of the sign-in flow.
12
- */
13
- onSuccess?: (result: SignInWithYouVersionResult) => void;
14
9
  /**
15
10
  * Permissions that are requested but not required for sign-in to succeed.
16
11
  */
17
- optionalPermissions?: SignInWithYouVersionPermissionValues[];
18
- /**
19
- * Permissions that must be granted for sign-in to succeed.
20
- */
21
- requiredPermissions?: SignInWithYouVersionPermissionValues[];
12
+ permissions?: SignInWithYouVersionPermissionValues[];
13
+ redirectUrl: string;
22
14
  }
23
15
  export interface SignInButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, SignInAuthProps {
24
16
  /**
@@ -55,7 +47,6 @@ export interface SignInButtonProps extends React.ButtonHTMLAttributes<HTMLButton
55
47
  *
56
48
  * Key behaviors:
57
49
  * - Prevents default click behavior and triggers the SDK `signIn` method.
58
- * - Calls `onSuccess` with the SignInWithYouVersionResult when sign-in succeeds.
59
50
  * - Calls `onAuthError` when the underlying sign-in flow throws.
60
51
  *
61
52
  * @param {SignInButtonProps} props - Component props (see {@link SignInButtonProps}).
@@ -63,10 +54,10 @@ export interface SignInButtonProps extends React.ButtonHTMLAttributes<HTMLButton
63
54
  *
64
55
  * @example
65
56
  * import { SignInButton, SignInWithYouVersionPermission } from '@youversion/platform-react-ui';
66
- * import { useAuthentication } from '@youversion/platform-react-ui';
57
+ * import { useYVAuth } from '@youversion/platform-react-hooks';
67
58
  *
68
59
  * export default function UnauthenticatedView() {
69
- * const auth = useAuthentication();
60
+ * const { auth } = useYVAuth();
70
61
  *
71
62
  * return (
72
63
  * <div>
@@ -74,7 +65,6 @@ export interface SignInButtonProps extends React.ButtonHTMLAttributes<HTMLButton
74
65
  * <SignInButton
75
66
  * requiredPermissions={[SignInWithYouVersionPermission.bibles]}
76
67
  * optionalPermissions={[SignInWithYouVersionPermission.highlights]}
77
- * onSuccess={(result) => console.log('signed in', result)}
78
68
  * onAuthError={(err) => console.error(err)}
79
69
  * />
80
70
  * </div>
@@ -1 +1 @@
1
- {"version":3,"file":"SignInButton.d.ts","sourceRoot":"","sources":["../../src/components/SignInButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,KAAK,oCAAoC,EACzC,KAAK,0BAA0B,EAChC,MAAM,2BAA2B,CAAC;AAMnC,UAAU,eAAe;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACzD;;OAEG;IACH,mBAAmB,CAAC,EAAE,oCAAoC,EAAE,CAAC;IAC7D;;OAEG;IACH,mBAAmB,CAAC,EAAE,oCAAoC,EAAE,CAAC;CAC9D;AAED,MAAM,WAAW,iBACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,eAAe;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACnC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IACpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,YAAY,6FAwHxB,CAAC"}
1
+ {"version":3,"file":"SignInButton.d.ts","sourceRoot":"","sources":["../../src/components/SignInButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,oCAAoC,EAAE,MAAM,2BAA2B,CAAC;AAMtF,UAAU,eAAe;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACrC;;OAEG;IACH,WAAW,CAAC,EAAE,oCAAoC,EAAE,CAAC;IACrD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,eAAe;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACnC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IACpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,YAAY,6FA+GxB,CAAC"}
@@ -8,7 +8,7 @@ declare const meta: {
8
8
  tags: string[];
9
9
  beforeEach(): Promise<void>;
10
10
  args: {
11
- onSuccess: import("storybook/test").Mock<(...args: any[]) => any>;
11
+ redirectUrl: string;
12
12
  onAuthError: import("storybook/test").Mock<(...args: any[]) => any>;
13
13
  };
14
14
  argTypes: {
@@ -17,17 +17,7 @@ declare const meta: {
17
17
  disable: true;
18
18
  };
19
19
  };
20
- onSuccess: {
21
- table: {
22
- disable: true;
23
- };
24
- };
25
- optionalPermissions: {
26
- table: {
27
- disable: true;
28
- };
29
- };
30
- requiredPermissions: {
20
+ permissions: {
31
21
  table: {
32
22
  disable: true;
33
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SignInButton.stories.d.ts","sourceRoot":"","sources":["../../src/components/SignInButton.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoE2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAIxB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAK/B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAIvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAK9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAI5B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAKnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAKjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,KAMxC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAKhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAMvC,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAM9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAM7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAMlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAMhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAOvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAM/B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAOtC,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,KAuB3C,CAAC"}
1
+ {"version":3,"file":"SignInButton.stories.d.ts","sourceRoot":"","sources":["../../src/components/SignInButton.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0D2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAIxB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAK/B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAIvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAK9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAI5B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAKnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAKjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,KAMxC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAKhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAMvC,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAM9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAM7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAMlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAMhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAOvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAM/B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAOtC,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,KAc3C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const buttonVariants: (props?: {
4
- variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
4
+ variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost";
5
5
  size?: "default" | "sm" | "lg" | "icon";
6
6
  } & import("class-variance-authority/types").ClassProp) => string;
7
7
  type ButtonProps = React.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
@@ -1 +1 @@
1
- {"version":3,"file":"verse-of-the-day.stories.d.ts","sourceRoot":"","sources":["../../src/components/verse-of-the-day.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,QAAA,MAAM,IAAI;;;;;;;;;yBA2CE,KAAK,CAAC,aAAa,KAAG,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCd,CAAC;AAEvC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAoCrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC"}
1
+ {"version":3,"file":"verse-of-the-day.stories.d.ts","sourceRoot":"","sources":["../../src/components/verse-of-the-day.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,QAAA,MAAM,IAAI;;;;;;;;;yBA2CE,KAAK,CAAC,aAAa,KAAG,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCd,CAAC;AAEvC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAmCrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC"}