@kishannareshpal/expo-pdf 0.2.3 โ†’ 0.2.5

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/.bun-version ADDED
@@ -0,0 +1 @@
1
+ 1.3.6
package/.node-version CHANGED
@@ -1 +1 @@
1
- v24.12.0
1
+ lts/*
package/CHANGELOG.md CHANGED
@@ -13,6 +13,45 @@
13
13
  _This version does not introduce any user-facing changes._
14
14
  -->
15
15
 
16
+ ## 0.2.5 - 2026-01-18
17
+
18
+
19
+ **Full Changelog**: https://github.com/kishannareshpal/expo-pdf/compare/v0.2.4...v0.2.5
20
+
21
+
22
+ ## 0.2.4 - 2026-01-18
23
+
24
+
25
+ ### ๐Ÿ“š Documentation
26
+
27
+ - docs: update readme with prior art and uniwind info ([41eed16](https://github.com/kishannareshpal/expo-pdf/commit/41eed169f5f1e8edcaf819e42706020f27bdf5f9)) by `Kishan Jadav`
28
+ - docs: fix typo ([75204b4](https://github.com/kishannareshpal/expo-pdf/commit/75204b4b04466b3c62ccb78f3fc28b2472c08e9f)) by `Kishan Jadav`
29
+
30
+
31
+ ### ๐Ÿงน Chores
32
+
33
+ - chore: add uniwind styled component example ([592aafd](https://github.com/kishannareshpal/expo-pdf/commit/592aafdc40aed850a733d1f9eadf8c7410de8143)) by `Kishan Jadav`
34
+
35
+
36
+ ### ๐Ÿ“ฆ Other Changes
37
+
38
+ - ci: relax pr req and push directly from ci ([baa6a52](https://github.com/kishannareshpal/expo-pdf/commit/baa6a527771ce25aa8dddca055b8cd77f6874453)) by `Kishan Jadav`
39
+ - ci: try admin priv. for merging release pr ([f4f3496](https://github.com/kishannareshpal/expo-pdf/commit/f4f349616e7fc26e4bc68630016ba1825106ad76)) by `Kishan Jadav`
40
+ - ci: merge release pr ([90b2b2d](https://github.com/kishannareshpal/expo-pdf/commit/90b2b2dd96aecf4734899d70e85cbf0f878450cc)) by `Kishan Jadav`
41
+ - ci: fix changelog update ([ca9f012](https://github.com/kishannareshpal/expo-pdf/commit/ca9f0123887c567e325fab9ddc159a01e49bbae8)) by `Kishan Jadav`
42
+ - ci: fix pr not merging on release again ([b933332](https://github.com/kishannareshpal/expo-pdf/commit/b9333328a19d0518192aecfab78f5096726c7c7c)) by `Kishan Jadav`
43
+ - ci: fix pr not merging on release ([e3cc3bb](https://github.com/kishannareshpal/expo-pdf/commit/e3cc3bb3f5cc7c19baa8ad97d1229b7d37aee662)) by `Kishan Jadav`
44
+ - ci: release to create pr to allow push ([60dfc8a](https://github.com/kishannareshpal/expo-pdf/commit/60dfc8a7058dd84e27d071d5ba317e9e306a5b8f)) by `Kishan Jadav`
45
+ - ci: tidy release action summary ([64de3d7](https://github.com/kishannareshpal/expo-pdf/commit/64de3d7607f7625994704a66cdedbad25412b695)) by `Kishan Jadav`
46
+ - ci: fix gen release notes format ([14d6d2a](https://github.com/kishannareshpal/expo-pdf/commit/14d6d2a391de506e5c7cb201d8616c5e07d145ed)) by `Kishan Jadav`
47
+ - ci: update release notes format to include link to commit and author name ([d4c88fa](https://github.com/kishannareshpal/expo-pdf/commit/d4c88fa4c20cad9aaa8165acec262dbdde62c15b)) by `Kishan Jadav`
48
+ - ci: include generated summary notes in action summary ([23412a6](https://github.com/kishannareshpal/expo-pdf/commit/23412a6efb602afd1ec2a0a96ac348d714954f69)) by `Kishan Jadav`
49
+ - ci: improve release process, update docs preview ([5503c3e](https://github.com/kishannareshpal/expo-pdf/commit/5503c3ec4bafe49ed7a68a2ec8ce821118ad3757)) by `Kishan Jadav`
50
+
51
+
52
+ **Full Changelog**: https://github.com/kishannareshpal/expo-pdf/compare/v0.2.3...v0.2.4
53
+
54
+
16
55
  ## 0.2.3 - 2026-01-11
17
56
 
18
57
  _This version does not introduce any user-facing changes._
package/README.md CHANGED
@@ -5,9 +5,9 @@
5
5
 
6
6
  A cross-platform, high-performance PDF viewer for React Native and Expo, built on top of native PDF rendering engines.
7
7
 
8
- | [iOS](./docs/demo-ios.mp4) | [Android](./docs/demo-android.mp4) |
9
- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
10
- | <video src="https://github.com/user-attachments/assets/57000914-4f7a-4139-9079-9cfd8ece740b" /> | <video src="https://github.com/user-attachments/assets/14faf4f1-b7cc-4e8b-97a5-c0da94fd26c2" /> |
8
+ | [iOS](./docs/preview-ios.mp4) | [Android](./docs/preview-android.mp4) |
9
+ | ----------------------------------------------------------- | --------------------------------------------------------------- |
10
+ | ![iOS preview](./docs/preview-ios.gif) | ![Android preview](./docs/preview-android.gif) |
11
11
 
12
12
  ## Features
13
13
 
@@ -188,7 +188,7 @@ export const App = () => {
188
188
  <td><code>uri</code></td>
189
189
  <td>Required</td>
190
190
  <td><code>string</code></td>
191
- <td>PDF document URL or local file path.</td>
191
+ <td>PDF document local file URI.</td>
192
192
  <td>-</td>
193
193
  </tr>
194
194
  <tr>
@@ -202,7 +202,7 @@ export const App = () => {
202
202
  <td><code>pagingEnabled</code></td>
203
203
  <td>No</td>
204
204
  <td><code>boolean</code></td>
205
- <td>Enables page-by-page snapping instead of free scrolling.</td>
205
+ <td>Enables page-by-page snapping instead of free scrolling in vertical direction by default, unless the <code>horizontal</code> prop is provided to page horizontally instead.</td>
206
206
  <td><code>false</code></td>
207
207
  </tr>
208
208
  <tr>
@@ -223,7 +223,7 @@ export const App = () => {
223
223
  <td><code>pageGap</code></td>
224
224
  <td>No</td>
225
225
  <td><code>number</code></td>
226
- <td>Space (in points/pixels) between adjacent pages.</td>
226
+ <td>Space between adjacent pages.</td>
227
227
  <td><code>0</code></td>
228
228
  </tr>
229
229
  <tr>
@@ -237,7 +237,7 @@ export const App = () => {
237
237
  <td><code>fitMode</code></td>
238
238
  <td>No</td>
239
239
  <td><a href="#fitmode"><code>FitMode</code></a></td>
240
- <td>How the document is scaled to fit within the viewer (e.g., width or height).</td>
240
+ <td>How the document is scaled to fit within the viewer.</td>
241
241
  <td><code>"width"</code></td>
242
242
  </tr>
243
243
  <tr>
@@ -257,14 +257,14 @@ export const App = () => {
257
257
  <tr>
258
258
  <td><code>onPageChanged</code></td>
259
259
  <td>No</td>
260
- <td><a href="#onpagechangedeventpayload"><code>(OnPageChangedPayload) =&gt; void</code></a></td>
260
+ <td><a href="#onpagechangedeventpayload"><code>(OnPageChangedEventPayload) =&gt; void</code></a></td>
261
261
  <td>Triggered when the currently visible page index changes.</td>
262
262
  <td>-</td>
263
263
  </tr>
264
264
  <tr>
265
265
  <td><code>onError</code></td>
266
266
  <td>No</td>
267
- <td><a href="#onerroreventpayload"><code>(OnErrorPayload) =&gt; void</code></a></td>
267
+ <td><a href="#onerroreventpayload"><code>(OnErrorEventPayload) =&gt; void</code></a></td>
268
268
  <td>Triggered when the PDF fails to load, decrypt, or render.</td>
269
269
  <td>-</td>
270
270
  </tr>
@@ -308,6 +308,44 @@ export const App = () => {
308
308
  }
309
309
  ```
310
310
 
311
+ ## Support for CSS using `uniwind` (TailwindCSS)
312
+
313
+ To use `uniwind` class names, you must wrap the component with the [`withUniwind`](https://docs.uniwind.dev/api/with-uniwind#withuniwind) Higher-Order Component (HOC).
314
+ This allows the component to process the `className` prop and convert it into native styles.
315
+
316
+ ```tsx
317
+ // src/lib/styled.tsx
318
+ import { PdfView as PdfViewPrimitive } from '@kishannareshpal/expo-pdf';
319
+ import { ComponentProps } from 'react';
320
+ import { withUniwind } from 'uniwind';
321
+
322
+ export const StyledPdfViewPrimitive = withUniwind(PdfViewPrimitive);
323
+ export type StyledPdfViewPrimitiveProps = ComponentProps<
324
+ typeof StyledPdfViewPrimitive
325
+ >;
326
+ ```
327
+
328
+ ```tsx
329
+ // src/app.tsx
330
+ import { StyledPdfView } from '@/lib/styled';
331
+
332
+ const App = () => {
333
+ return (
334
+ <StyledPdfView
335
+ className="flex-1 rounded-4xl bg-red-500"
336
+ uri="..."
337
+ ...
338
+ />
339
+ )
340
+ }
341
+ ```
342
+
343
+ ## References
344
+
345
+ ### Prior art
346
+
347
+ This project is inspired by [`react-native-pdf`](https://github.com/wonday/react-native-pdf) and maintained to the more modern React Native and Expo ecosystem.
348
+
311
349
  ## Contributing
312
350
 
313
351
  Contributions are welcome!
@@ -320,21 +358,23 @@ Please read [CONTRIBUTING.md](./CONTRIBUTING.md)
320
358
 
321
359
  > **NOTE**
322
360
  >
323
- > This package follows semantic versioning with the format: `major.minor.patch`.
361
+ > This package follows semantic versioning with the format: `major.minor.patch(-beta.n|next)`.
324
362
  >
325
363
  > - Major version: Increment when making incompatible API changes.
326
364
  > - Minor version: Increment when adding new functionality in a backward-compatible way.
327
365
  > - Patch version: Increment when fixing bugs in a backward-compatible manner.
328
-
329
- 1. Bump `package.json` version using one of `npm version patch|minor|major` - this will create a new `tag`.
330
- 2. `git push --tags` to push the new changes including the newly created tag.
331
- 3. Navigate to [Create a New Release](https://github.com/kishannareshpal/expo-pdf/releases/new)
332
- 4. Select the latest tag you've created above.
333
- 5. Use the same name as the tag for the release title.
334
- 6. Click <kbd>Generate release notes</kbd>, and/or edit the description to detail the changes.
335
- 7. Click the green <kbd>Publish release</kbd> button.
336
- 8. A GitHub action will automatically run to publish the new version of the package to the registry.
337
- - Monitor the status at [kishannareshpal/expo-pdf/actions](https://github.com/kishannareshpal/expo-pdf/actions)
366
+ >
367
+ > **Only approved repository members with access to our NPM account can publish new versions.**
368
+
369
+ 1. Ensure all changes ready for release are merged into `main`.
370
+ 2. Go to the [`โœณ๏ธ Release Package`](https://github.com/kishannareshpal/expo-pdf/actions/workflows/release.yml) workflow
371
+ 3. Click the `Run workflow` dropdown button and configure the inputs:
372
+ - `Dry run`: Uncheck this to perform the actual release (Default is `true` to test the build/versioning without publishing - only useful when updating the `release.yml` workflow during maintenance)
373
+ - `NPM tag`: Leave as `latest` for standard releases, or use `beta` / `next` for pre-releases.
374
+ - `Version override`: Leave as `auto` to let it automatically increment the patch version (or beta version if `beta` was specified above).
375
+ if you to bump the minor or major version, you must specify that here (e.g. `1.2.0` or `2.0.0`)
376
+ 4. Click the `Run workflow` button to publish ๐Ÿš€
377
+ - Monitor the status at [**kishannareshpal/expo-pdf/actions**](https://github.com/kishannareshpal/expo-pdf/actions)
338
378
 
339
379
  ## License
340
380
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kishannareshpal/expo-pdf",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "author": "Kishan Jadav <kishan_jadav@hotmail.com> (https://github.com/kishannareshpal)",
5
5
  "repository": "https://github.com/kishannareshpal/expo-pdf",
6
6
  "main": "build/index.js",
@@ -0,0 +1,2 @@
1
+
2
+ **Full Changelog**: https://github.com/kishannareshpal/expo-pdf/compare/v0.2.4...v0.2.5