@youversion/platform-react-hooks 1.21.0 → 1.22.1

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.
Files changed (97) hide show
  1. package/.turbo/turbo-build.log +21 -1
  2. package/CHANGELOG.md +21 -0
  3. package/dist/YouVersionAuthProvider-VORD6KDZ.js +80 -0
  4. package/dist/chunk-ITHJF2FD.js +17 -0
  5. package/dist/index.cjs +946 -0
  6. package/dist/index.js +788 -26
  7. package/package.json +11 -6
  8. package/tsconfig.build.json +4 -1
  9. package/dist/__tests__/mocks/auth.js +0 -43
  10. package/dist/__tests__/mocks/auth.js.map +0 -1
  11. package/dist/__tests__/mocks/bibles.js +0 -23
  12. package/dist/__tests__/mocks/bibles.js.map +0 -1
  13. package/dist/__tests__/mocks/core-mock-factory.js +0 -138
  14. package/dist/__tests__/mocks/core-mock-factory.js.map +0 -1
  15. package/dist/__tests__/utils/test-utils.js +0 -11
  16. package/dist/__tests__/utils/test-utils.js.map +0 -1
  17. package/dist/context/ReaderContext.js +0 -17
  18. package/dist/context/ReaderContext.js.map +0 -1
  19. package/dist/context/ReaderProvider.js +0 -24
  20. package/dist/context/ReaderProvider.js.map +0 -1
  21. package/dist/context/VerseSelectionContext.js +0 -6
  22. package/dist/context/VerseSelectionContext.js.map +0 -1
  23. package/dist/context/VerseSelectionProvider.js +0 -36
  24. package/dist/context/VerseSelectionProvider.js.map +0 -1
  25. package/dist/context/YouVersionAuthContext.js +0 -13
  26. package/dist/context/YouVersionAuthContext.js.map +0 -1
  27. package/dist/context/YouVersionAuthProvider.js +0 -81
  28. package/dist/context/YouVersionAuthProvider.js.map +0 -1
  29. package/dist/context/YouVersionContext.js +0 -4
  30. package/dist/context/YouVersionContext.js.map +0 -1
  31. package/dist/context/YouVersionProvider.js +0 -63
  32. package/dist/context/YouVersionProvider.js.map +0 -1
  33. package/dist/context/index.js +0 -7
  34. package/dist/context/index.js.map +0 -1
  35. package/dist/index.js.map +0 -1
  36. package/dist/test/setup.js +0 -9
  37. package/dist/test/setup.js.map +0 -1
  38. package/dist/test/utils.js +0 -7
  39. package/dist/test/utils.js.map +0 -1
  40. package/dist/types/auth.js +0 -2
  41. package/dist/types/auth.js.map +0 -1
  42. package/dist/useApiData.js +0 -46
  43. package/dist/useApiData.js.map +0 -1
  44. package/dist/useBibleClient.js +0 -18
  45. package/dist/useBibleClient.js.map +0 -1
  46. package/dist/useBook.js +0 -11
  47. package/dist/useBook.js.map +0 -1
  48. package/dist/useBooks.js +0 -11
  49. package/dist/useBooks.js.map +0 -1
  50. package/dist/useChapter.js +0 -11
  51. package/dist/useChapter.js.map +0 -1
  52. package/dist/useChapterNavigation.js +0 -57
  53. package/dist/useChapterNavigation.js.map +0 -1
  54. package/dist/useChapters.js +0 -13
  55. package/dist/useChapters.js.map +0 -1
  56. package/dist/useFilteredVersions.js +0 -29
  57. package/dist/useFilteredVersions.js.map +0 -1
  58. package/dist/useHighlights.js +0 -41
  59. package/dist/useHighlights.js.map +0 -1
  60. package/dist/useInitData.js +0 -29
  61. package/dist/useInitData.js.map +0 -1
  62. package/dist/useLanguage.js +0 -17
  63. package/dist/useLanguage.js.map +0 -1
  64. package/dist/useLanguageClient.js +0 -18
  65. package/dist/useLanguageClient.js.map +0 -1
  66. package/dist/useLanguages.js +0 -23
  67. package/dist/useLanguages.js.map +0 -1
  68. package/dist/usePassage.js +0 -11
  69. package/dist/usePassage.js.map +0 -1
  70. package/dist/useTheme.js +0 -21
  71. package/dist/useTheme.js.map +0 -1
  72. package/dist/useVOTD.js +0 -9
  73. package/dist/useVOTD.js.map +0 -1
  74. package/dist/useVerse.js +0 -11
  75. package/dist/useVerse.js.map +0 -1
  76. package/dist/useVerseSelection.js +0 -13
  77. package/dist/useVerseSelection.js.map +0 -1
  78. package/dist/useVerses.js +0 -11
  79. package/dist/useVerses.js.map +0 -1
  80. package/dist/useVersion.js +0 -11
  81. package/dist/useVersion.js.map +0 -1
  82. package/dist/useVersions.js +0 -35
  83. package/dist/useVersions.js.map +0 -1
  84. package/dist/useYVAuth.js +0 -144
  85. package/dist/useYVAuth.js.map +0 -1
  86. package/dist/utility/extractTextFromHTML.js +0 -21
  87. package/dist/utility/extractTextFromHTML.js.map +0 -1
  88. package/dist/utility/extractVersesFromHTML.js +0 -26
  89. package/dist/utility/extractVersesFromHTML.js.map +0 -1
  90. package/dist/utility/getDayOfYear.js +0 -5
  91. package/dist/utility/getDayOfYear.js.map +0 -1
  92. package/dist/utility/index.js +0 -6
  93. package/dist/utility/index.js.map +0 -1
  94. package/dist/utility/useDebounce.js +0 -24
  95. package/dist/utility/useDebounce.js.map +0 -1
  96. package/dist/utility/version.js +0 -4
  97. package/dist/utility/version.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "@youversion/platform-react-hooks",
3
- "version": "1.21.0",
3
+ "version": "1.22.1",
4
+ "description": "React hooks for accessing YouVersion Platform APIs with automatic loading/error states.",
5
+ "license": "Apache-2.0",
4
6
  "type": "module",
5
7
  "publishConfig": {
6
8
  "access": "public",
@@ -11,18 +13,18 @@
11
13
  "url": "https://github.com/youversion/platform-sdk-react",
12
14
  "directory": "packages/hooks"
13
15
  },
14
- "main": "./dist/index.js",
16
+ "main": "./dist/index.cjs",
15
17
  "module": "./dist/index.js",
16
18
  "types": "./dist/index.d.ts",
17
19
  "exports": {
18
20
  ".": {
19
21
  "types": "./dist/index.d.ts",
20
22
  "import": "./dist/index.js",
21
- "require": "./dist/index.js"
23
+ "require": "./dist/index.cjs"
22
24
  }
23
25
  },
24
26
  "dependencies": {
25
- "@youversion/platform-core": "1.21.0"
27
+ "@youversion/platform-core": "1.22.1"
26
28
  },
27
29
  "peerDependencies": {
28
30
  "react": ">=19.1.0 <20.0.0"
@@ -35,14 +37,17 @@
35
37
  "@vitest/coverage-v8": "4.0.4",
36
38
  "eslint": "9.38.0",
37
39
  "jsdom": "27.0.1",
40
+ "tsup": "8.5.0",
38
41
  "typescript": "5.9.3",
39
42
  "vitest": "4.0.4",
40
43
  "@internal/eslint-config": "0.0.0",
41
44
  "@internal/tsconfig": "0.0.0"
42
45
  },
43
46
  "scripts": {
44
- "dev": "tsc --watch",
45
- "build": "tsc -p tsconfig.build.json",
47
+ "dev": "tsup src/index.ts --format cjs,esm --watch --dts",
48
+ "build:js": "tsup src/index.ts --format cjs,esm",
49
+ "build:types": "tsc -p tsconfig.build.json",
50
+ "build": "pnpm build:js && pnpm build:types",
46
51
  "lint": "eslint . --max-warnings 0",
47
52
  "typecheck": "tsc --noEmit",
48
53
  "test": "vitest run",
@@ -1,7 +1,10 @@
1
1
  {
2
2
  "extends": "./tsconfig.json",
3
3
  "compilerOptions": {
4
- "rootDir": "src"
4
+ "rootDir": "src",
5
+ "emitDeclarationOnly": true,
6
+ "declaration": true,
7
+ "declarationMap": true
5
8
  },
6
9
  "include": ["src"],
7
10
  "exclude": ["node_modules", "dist", "**/*.test.ts", "**/*.test.tsx"]
@@ -1,43 +0,0 @@
1
- import { vi } from 'vitest';
2
- import { SignInWithYouVersionResult, YouVersionUserInfo } from '@youversion/platform-core';
3
- /**
4
- * Creates a mock user info object for testing
5
- * @param overrides Optional properties to override the default values
6
- */
7
- export const createMockUserInfo = (overrides = {}) => {
8
- const mockUserInfo = new YouVersionUserInfo({
9
- id: '123',
10
- name: 'John Doe',
11
- email: 'john@example.com',
12
- avatar_url: 'https://example.com/avatar.jpg?w={width}&h={height}',
13
- ...overrides,
14
- });
15
- // Mock the getAvatarUrl method for testing
16
- vi.spyOn(mockUserInfo, 'getAvatarUrl').mockImplementation((width = 200, height = 200) => {
17
- try {
18
- return new URL(`https://example.com/avatar.jpg?w=${width}&h=${height}`);
19
- }
20
- catch {
21
- return null;
22
- }
23
- });
24
- return mockUserInfo;
25
- };
26
- /**
27
- * Creates a mock auth result for testing
28
- * @param overrides Optional properties to override the default values
29
- */
30
- export const createMockAuthResult = (overrides = {}) => {
31
- const mockUserInfo = createMockUserInfo();
32
- return new SignInWithYouVersionResult({
33
- ...mockUserInfo,
34
- accessToken: 'access-token',
35
- idToken: 'id-token',
36
- refreshToken: 'refresh-token',
37
- expiresIn: 3600,
38
- yvpUserId: 'test-yvp-user-id',
39
- profilePicture: 'https://example.com/profile.jpg',
40
- ...overrides,
41
- });
42
- };
43
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/__tests__/mocks/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE3F;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,YAAiC,EAAE,EAAsB,EAAE;IAC5F,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC;QAC1C,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,kBAAkB;QACzB,UAAU,EAAE,qDAAqD;QACjE,GAAG,SAAS;KACb,CAAC,CAAC;IAEH,2CAA2C;IAC3C,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,EAAE;QACtF,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,oCAAoC,KAAK,MAAM,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,YAAqC,EAAE,EACX,EAAE;IAC9B,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAC1C,OAAO,IAAI,0BAA0B,CAAC;QACpC,GAAG,YAAY;QACf,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,UAAU;QACnB,YAAY,EAAE,eAAe;QAC7B,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,kBAAkB;QAC7B,cAAc,EAAE,iCAAiC;QACjD,GAAG,SAAS;KACb,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Creates a mock Bible book for testing
3
- * @param overrides Optional properties to override defaults
4
- */
5
- export const createMockBook = (overrides) => ({
6
- id: 'GEN',
7
- title: 'Genesis',
8
- full_title: 'The First Book of Moses, Commonly Called Genesis',
9
- abbreviation: 'Gen',
10
- canon: 'old_testament',
11
- ...overrides,
12
- });
13
- /**
14
- * Creates a mock Bible passage for testing
15
- * @param overrides Optional properties to override defaults
16
- */
17
- export const createMockPassage = (overrides) => ({
18
- id: 'JHN.3.16',
19
- content: '<p>For God so loved the world...</p>',
20
- reference: 'John 3:16',
21
- ...overrides,
22
- });
23
- //# sourceMappingURL=bibles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bibles.js","sourceRoot":"","sources":["../../../src/__tests__/mocks/bibles.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAA8B,EAAa,EAAE,CAAC,CAAC;IAC5E,EAAE,EAAE,KAAK;IACT,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE,kDAAkD;IAC9D,YAAY,EAAE,KAAK;IACnB,KAAK,EAAE,eAAe;IACtB,GAAG,SAAS;CACb,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAiC,EAAgB,EAAE,CAAC,CAAC;IACrF,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,sCAAsC;IAC/C,SAAS,EAAE,WAAW;IACtB,GAAG,SAAS;CACb,CAAC,CAAC"}
@@ -1,138 +0,0 @@
1
- import { vi } from 'vitest';
2
- class MockYouVersionUserInfo {
3
- name;
4
- userId;
5
- email;
6
- avatarUrlFormat;
7
- constructor(data) {
8
- this.name = data.name;
9
- this.userId = data.id;
10
- this.email = data.email;
11
- this.avatarUrlFormat = data.avatar_url;
12
- }
13
- getAvatarUrl(width = 200, height = 200) {
14
- if (!this.avatarUrlFormat) {
15
- return null;
16
- }
17
- try {
18
- let urlString = this.avatarUrlFormat;
19
- if (urlString.startsWith('//')) {
20
- urlString = 'https:' + urlString;
21
- }
22
- urlString = urlString.replace('{width}', width.toString());
23
- urlString = urlString.replace('{height}', height.toString());
24
- return new URL(urlString);
25
- }
26
- catch {
27
- return null;
28
- }
29
- }
30
- get avatarUrl() {
31
- return this.getAvatarUrl();
32
- }
33
- }
34
- class MockSignInWithYouVersionResult {
35
- accessToken;
36
- expiryDate;
37
- refreshToken;
38
- idToken;
39
- yvpUserId;
40
- name;
41
- profilePicture;
42
- email;
43
- constructor(props) {
44
- this.accessToken = props.accessToken;
45
- this.expiryDate = props.expiresIn ? new Date(Date.now() + props.expiresIn * 1000) : new Date();
46
- this.refreshToken = props.refreshToken;
47
- this.idToken = props.idToken;
48
- this.yvpUserId = props.yvpUserId;
49
- this.name = props.name;
50
- this.profilePicture = props.profilePicture;
51
- this.email = props.email;
52
- }
53
- }
54
- export function createSimpleCoreMockFactory() {
55
- const mockConfiguration = {
56
- accessToken: null,
57
- idToken: null,
58
- refreshToken: null,
59
- appKey: '',
60
- apiHost: 'test-api.example.com',
61
- installationId: null,
62
- clearAuthTokens: vi.fn(() => {
63
- mockConfiguration.accessToken = null;
64
- mockConfiguration.idToken = null;
65
- mockConfiguration.refreshToken = null;
66
- }),
67
- saveAuthData: vi.fn((accessToken, refreshToken, idToken, installationId) => {
68
- mockConfiguration.accessToken = accessToken;
69
- mockConfiguration.refreshToken = refreshToken;
70
- mockConfiguration.idToken = idToken;
71
- mockConfiguration.installationId = installationId;
72
- }),
73
- };
74
- return {
75
- YouVersionAPIUsers: {
76
- signIn: vi.fn(),
77
- handleAuthCallback: vi.fn(),
78
- userInfo: vi.fn(),
79
- refreshTokenIfNeeded: vi.fn(),
80
- },
81
- YouVersionPlatformConfiguration: mockConfiguration,
82
- SignInWithYouVersionPermission: {
83
- bibles: 'bibles',
84
- highlights: 'highlights',
85
- votd: 'votd',
86
- demographics: 'demographics',
87
- bibleActivity: 'bible_activity',
88
- },
89
- YouVersionUserInfo: MockYouVersionUserInfo,
90
- SignInWithYouVersionResult: MockSignInWithYouVersionResult,
91
- };
92
- }
93
- export function createGetterCoreMockFactory() {
94
- let mockInstallationId = 'auto-generated-installation-id';
95
- let mockIdToken = null;
96
- let mockRefreshToken = null;
97
- let mockAccessToken = null;
98
- return {
99
- YouVersionAPIUsers: {
100
- handleAuthCallback: vi.fn(),
101
- userInfo: vi.fn(),
102
- refreshTokenIfNeeded: vi.fn(),
103
- },
104
- YouVersionPlatformConfiguration: {
105
- appKey: '',
106
- get installationId() {
107
- return mockInstallationId;
108
- },
109
- set installationId(value) {
110
- if (value)
111
- mockInstallationId = value;
112
- },
113
- apiHost: 'test-api.example.com',
114
- get idToken() {
115
- return mockIdToken;
116
- },
117
- get refreshToken() {
118
- return mockRefreshToken;
119
- },
120
- get accessToken() {
121
- return mockAccessToken;
122
- },
123
- clearAuthTokens: vi.fn(() => {
124
- mockIdToken = null;
125
- mockRefreshToken = null;
126
- mockAccessToken = null;
127
- }),
128
- saveAuthData: vi.fn((accessToken, refreshToken, idToken) => {
129
- mockAccessToken = accessToken;
130
- mockRefreshToken = refreshToken;
131
- mockIdToken = idToken;
132
- }),
133
- },
134
- YouVersionUserInfo: MockYouVersionUserInfo,
135
- SignInWithYouVersionResult: MockSignInWithYouVersionResult,
136
- };
137
- }
138
- //# sourceMappingURL=core-mock-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core-mock-factory.js","sourceRoot":"","sources":["../../../src/__tests__/mocks/core-mock-factory.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import React from 'react';
3
- import { YouVersionProvider } from '../../context/YouVersionProvider';
4
- /**
5
- * Creates a test wrapper component with YouVersionAuthProvider
6
- * @param config Optional auth configuration
7
- */
8
- export const createAuthProviderWrapper = () => {
9
- return ({ children }) => (_jsx(YouVersionProvider, { appKey: "test-app-key", apiHost: "test-api.example.com", includeAuth: true, authRedirectUrl: "http://test.example.com", children: children }));
10
- };
11
- //# sourceMappingURL=test-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../../src/__tests__/utils/test-utils.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAuD,EAAE;IAChG,OAAO,CAAC,EAAE,QAAQ,EAAiC,EAAE,EAAE,CAAC,CACtD,KAAC,kBAAkB,IACjB,MAAM,EAAC,cAAc,EACrB,OAAO,EAAC,sBAAsB,EAC9B,WAAW,EAAE,IAAI,EACjB,eAAe,EAAC,yBAAyB,YAExC,QAAQ,GACU,CACtB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,17 +0,0 @@
1
- 'use client';
2
- import { createContext, useContext } from 'react';
3
- /**
4
- * @deprecated No replacement needed. Remove usage. Will be removed in the next major version.
5
- */
6
- export const ReaderContext = createContext(null);
7
- /**
8
- * @deprecated No replacement needed. Remove usage. Will be removed in the next major version.
9
- */
10
- export function useReaderContext() {
11
- const context = useContext(ReaderContext);
12
- if (!context) {
13
- throw new Error('useReaderContext() must be used within a ReaderProvider');
14
- }
15
- return context;
16
- }
17
- //# sourceMappingURL=ReaderContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReaderContext.js","sourceRoot":"","sources":["../../src/context/ReaderContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAclD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,24 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useState } from 'react';
4
- import { ReaderContext } from './ReaderContext';
5
- /**
6
- * @deprecated No replacement needed. Remove usage. Will be removed in the next major version.
7
- */
8
- export function ReaderProvider(props) {
9
- const [currentVersion, setCurrentVersion] = useState(props.currentVersion);
10
- const [currentBook, setCurrentBook] = useState(props.currentBook);
11
- const [currentChapter, setCurrentChapter] = useState(props.currentChapter);
12
- const [currentVerse, setCurrentVerse] = useState(props.currentVerse);
13
- return (_jsx(ReaderContext.Provider, { value: {
14
- currentVersion,
15
- currentBook,
16
- currentChapter,
17
- currentVerse,
18
- setVersion: setCurrentVersion,
19
- setChapter: setCurrentChapter,
20
- setBook: setCurrentBook,
21
- setVerse: setCurrentVerse,
22
- }, children: props.children }));
23
- }
24
- //# sourceMappingURL=ReaderProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReaderProvider.js","sourceRoot":"","sources":["../../src/context/ReaderProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAA0B,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAUhD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAA6C;IAC1E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAe,KAAK,CAAC,cAAc,CAAC,CAAC;IACzF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAY,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAe,KAAK,CAAC,cAAc,CAAC,CAAC;IACzF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAoB,KAAK,CAAC,YAAY,CAAC,CAAC;IAExF,OAAO,CACL,KAAC,aAAa,CAAC,QAAQ,IACrB,KAAK,EAAE;YACL,cAAc;YACd,WAAW;YACX,cAAc;YACd,YAAY;YACZ,UAAU,EAAE,iBAAiB;YAC7B,UAAU,EAAE,iBAAiB;YAC7B,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,eAAe;SAC1B,YAEA,KAAK,CAAC,QAAQ,GACQ,CAC1B,CAAC;AACJ,CAAC"}
@@ -1,6 +0,0 @@
1
- import { createContext } from 'react';
2
- /**
3
- * @deprecated No replacement needed. Remove usage. Will be removed in the next major version.
4
- */
5
- export const VerseSelectionContext = createContext(null);
6
- //# sourceMappingURL=VerseSelectionContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VerseSelectionContext.js","sourceRoot":"","sources":["../../src/context/VerseSelectionContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAatC;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAmC,IAAI,CAAC,CAAC"}
@@ -1,36 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useCallback, useState } from 'react';
3
- import { VerseSelectionContext } from './VerseSelectionContext';
4
- /**
5
- * @deprecated No replacement needed. Remove usage. Will be removed in the next major version.
6
- */
7
- export function VerseSelectionProvider({ children }) {
8
- const [selectedVerseUsfms, setSelectedVerseUsfms] = useState(new Set());
9
- const toggleVerse = useCallback((usfm) => {
10
- setSelectedVerseUsfms((prev) => {
11
- const newSet = new Set(prev); // Make a new set to trigger rerender
12
- if (newSet.has(usfm)) {
13
- newSet.delete(usfm);
14
- }
15
- else {
16
- newSet.add(usfm);
17
- }
18
- return newSet;
19
- });
20
- }, []);
21
- const isSelected = useCallback((usfm) => {
22
- return selectedVerseUsfms.has(usfm);
23
- }, [selectedVerseUsfms]);
24
- const clearSelection = useCallback(() => {
25
- setSelectedVerseUsfms(new Set());
26
- }, []);
27
- const value = {
28
- selectedVerseUsfms,
29
- toggleVerse,
30
- isSelected,
31
- clearSelection,
32
- selectedCount: selectedVerseUsfms.size,
33
- };
34
- return _jsx(VerseSelectionContext.Provider, { value: value, children: children });
35
- }
36
- //# sourceMappingURL=VerseSelectionProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VerseSelectionProvider.js","sourceRoot":"","sources":["../../src/context/VerseSelectionProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,QAAQ,EAAqB;IACpE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAErF,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QAC/C,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqC;YACnE,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,IAAY,EAAE,EAAE;QACf,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,EACD,CAAC,kBAAkB,CAAC,CACrB,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,qBAAqB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG;QACZ,kBAAkB;QAClB,WAAW;QACX,UAAU;QACV,cAAc;QACd,aAAa,EAAE,kBAAkB,CAAC,IAAI;KACvC,CAAC;IAEF,OAAO,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAkC,CAAC;AACnG,CAAC"}
@@ -1,13 +0,0 @@
1
- 'use client';
2
- import { createContext, useContext } from 'react';
3
- export const YouVersionAuthContext = createContext(null);
4
- export function useYouVersionAuthContext() {
5
- const context = useContext(YouVersionAuthContext);
6
- if (!context) {
7
- throw new Error('useYouVersionAuthContext must be used within an auth provider. ' +
8
- 'Make sure your app is wrapped with <YouVersionAuthProvider> from @youversion/platform-react-hooks ' +
9
- 'or create your own provider using YouVersionAuthContext from @youversion/platform-react-hooks.');
10
- }
11
- return context;
12
- }
13
- //# sourceMappingURL=YouVersionAuthContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"YouVersionAuthContext.js","sourceRoot":"","sources":["../../src/context/YouVersionAuthContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGlD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAA0B,IAAI,CAAC,CAAC;AAElF,MAAM,UAAU,wBAAwB;IACtC,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAElD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,iEAAiE;YAC/D,oGAAoG;YACpG,gGAAgG,CACnG,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,81 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import React, { useEffect, useState } from 'react';
4
- import { YouVersionAPIUsers, YouVersionPlatformConfiguration, } from '@youversion/platform-core';
5
- import { YouVersionAuthContext } from './YouVersionAuthContext';
6
- export default function YouVersionAuthProvider({ config, children, }) {
7
- const [userInfo, setUserInfo] = useState(null);
8
- const [isLoading, setIsLoading] = useState(true);
9
- const [error, setError] = useState(null);
10
- useEffect(() => {
11
- let mounted = true;
12
- const initAuth = async () => {
13
- // Set configuration
14
- YouVersionPlatformConfiguration.appKey = config.appKey;
15
- YouVersionPlatformConfiguration.apiHost = config.apiHost ?? 'api.youversion.com';
16
- if (typeof window !== 'undefined') {
17
- // Check for OAuth callback
18
- const urlParams = new URLSearchParams(window.location.search);
19
- const isOAuthCallback = urlParams.has('state') || urlParams.has('error');
20
- if (isOAuthCallback) {
21
- try {
22
- const result = await YouVersionAPIUsers.handleAuthCallback();
23
- if (result && YouVersionPlatformConfiguration.idToken) {
24
- const info = YouVersionAPIUsers.userInfo(YouVersionPlatformConfiguration.idToken);
25
- if (!mounted)
26
- return;
27
- setUserInfo(info);
28
- }
29
- }
30
- catch (err) {
31
- if (!mounted)
32
- return;
33
- setError(err);
34
- }
35
- }
36
- else {
37
- // Check for existing token
38
- const refreshToken = YouVersionPlatformConfiguration.refreshToken;
39
- if (refreshToken) {
40
- try {
41
- await YouVersionAPIUsers.refreshTokenIfNeeded();
42
- const idToken = YouVersionPlatformConfiguration.idToken;
43
- if (idToken) {
44
- const info = YouVersionAPIUsers.userInfo(idToken);
45
- if (!mounted)
46
- return;
47
- setUserInfo(info);
48
- }
49
- else {
50
- if (!mounted)
51
- return;
52
- setUserInfo(null);
53
- }
54
- }
55
- catch {
56
- if (!mounted)
57
- return;
58
- setUserInfo(null);
59
- }
60
- }
61
- }
62
- }
63
- if (!mounted)
64
- return;
65
- setIsLoading(false);
66
- };
67
- void initAuth();
68
- return () => {
69
- mounted = false;
70
- };
71
- }, []); // eslint-disable-line react-hooks/exhaustive-deps
72
- const value = {
73
- userInfo,
74
- setUserInfo,
75
- isLoading,
76
- error,
77
- redirectUri: config.redirectUri,
78
- };
79
- return _jsx(YouVersionAuthContext.Provider, { value: value, children: children });
80
- }
81
- //# sourceMappingURL=YouVersionAuthProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"YouVersionAuthProvider.js","sourceRoot":"","sources":["../../src/context/YouVersionAuthProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- 'use client';
2
- import { createContext } from 'react';
3
- export const YouVersionContext = createContext(null);
4
- //# sourceMappingURL=YouVersionContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"YouVersionContext.js","sourceRoot":"","sources":["../../src/context/YouVersionContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAUtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAA+B,IAAI,CAAC,CAAC"}
@@ -1,63 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { lazy, Suspense, useEffect, useState } from 'react';
4
- import { YouVersionContext } from './YouVersionContext';
5
- import { YouVersionPlatformConfiguration } from '@youversion/platform-core';
6
- const AuthProvider = lazy(() => import('./YouVersionAuthProvider'));
7
- function useResolvedTheme(theme) {
8
- const [resolved, setResolved] = useState(() => {
9
- if (theme !== 'system')
10
- return theme;
11
- if (typeof window === 'undefined')
12
- return 'light';
13
- return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
14
- });
15
- useEffect(() => {
16
- if (theme !== 'system') {
17
- setResolved(theme);
18
- return;
19
- }
20
- if (typeof window === 'undefined')
21
- return;
22
- const mediaQueryList = window.matchMedia('(prefers-color-scheme: dark)');
23
- setResolved(mediaQueryList.matches ? 'dark' : 'light');
24
- const handler = (e) => {
25
- setResolved(e.matches ? 'dark' : 'light');
26
- };
27
- mediaQueryList.addEventListener('change', handler);
28
- return () => mediaQueryList.removeEventListener('change', handler);
29
- }, [theme]);
30
- return resolved;
31
- }
32
- export function YouVersionProvider(props) {
33
- const { appKey, apiHost = 'api.youversion.com', includeAuth, theme = 'light', children } = props;
34
- const resolvedTheme = useResolvedTheme(theme);
35
- // Syncing appKey and apiHost to YouVersionPlatformConfiguration
36
- // so that this can be in sync with any other code that uses
37
- // the YouVersionPlatformConfiguration, of which a lot of our
38
- // core package uses this configuration.
39
- useEffect(() => {
40
- YouVersionPlatformConfiguration.appKey = appKey;
41
- YouVersionPlatformConfiguration.apiHost = apiHost;
42
- }, [appKey, apiHost]);
43
- if (includeAuth) {
44
- const { authRedirectUrl } = props;
45
- // Installation ID gets set automatically by YouVersionPlatformConfiguration
46
- return (_jsx(YouVersionContext.Provider, { value: {
47
- appKey,
48
- apiHost,
49
- installationId: YouVersionPlatformConfiguration.installationId,
50
- theme: resolvedTheme,
51
- authEnabled: !!includeAuth,
52
- }, children: _jsx(Suspense, { children: _jsx(AuthProvider, { config: { appKey, apiHost, redirectUri: authRedirectUrl }, children: children }) }) }));
53
- }
54
- // Installation ID gets set automatically by YouVersionPlatformConfiguration
55
- return (_jsx(YouVersionContext.Provider, { value: {
56
- appKey,
57
- apiHost,
58
- installationId: YouVersionPlatformConfiguration.installationId,
59
- theme: resolvedTheme,
60
- authEnabled: !!includeAuth,
61
- }, children: children }));
62
- }
63
- //# sourceMappingURL=YouVersionProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"YouVersionProvider.js","sourceRoot":"","sources":["../../src/context/YouVersionProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export * from './YouVersionContext';
2
- export * from './YouVersionProvider';
3
- export * from './ReaderContext';
4
- export * from './ReaderProvider';
5
- export * from './VerseSelectionProvider';
6
- export * from './VerseSelectionContext';
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAE3B,aAAa;AACb,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -1,9 +0,0 @@
1
- // Vitest setup file
2
- import { afterEach } from 'vitest';
3
- import { cleanup } from '@testing-library/react';
4
- import '@testing-library/jest-dom/vitest';
5
- // Clean up after each test
6
- afterEach(() => {
7
- cleanup();
8
- });
9
- //# sourceMappingURL=setup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,kCAAkC,CAAC;AAE1C,2BAA2B;AAC3B,SAAS,CAAC,GAAG,EAAE;IACb,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { YouVersionContext } from '../context';
3
- export const createYVWrapper = (appKey = 'test-app-key', { theme } = {}) => {
4
- const Wrapper = ({ children }) => (_jsx(YouVersionContext.Provider, { value: { appKey, theme }, children: children }));
5
- return Wrapper;
6
- };
7
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/test/utils.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAM,GAAG,cAAc,EACvB,EAAE,KAAK,KAAmC,EAAE,EACJ,EAAE;IAC1C,MAAM,OAAO,GAAG,CAAC,EAAE,QAAQ,EAA2B,EAAE,EAAE,CAAC,CACzD,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAG,QAAQ,GAA8B,CAC9F,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}