@react-pdf-kit/viewer 2.8.0-beta.0 → 2.8.0-beta.10

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 (205) hide show
  1. package/README.md +44 -30
  2. package/dist/{AnnotationLayer-C6UTOVmc.js → AnnotationLayer-CyOYh0Tw.js} +2 -2
  3. package/dist/{Button-BNlmxWrV.js → Button-DBu3SaMk.js} +1 -1
  4. package/dist/CanvasLayer-CJqCJ30J.js +111 -0
  5. package/dist/{Checkbox-Brta-YKG.js → Checkbox-CSIEUyO8.js} +4 -4
  6. package/dist/{Combination-DqNkTtir.js → Combination-11kyhTGt.js} +15 -15
  7. package/dist/Container-BuamPhw4.js +18 -0
  8. package/dist/{DocumentDialog-C9G7lVTh.js → DocumentDialog-cRr9sSSH.js} +4 -4
  9. package/dist/{DropDown-DikL-krI.js → DropDown-CM6xEwZC.js} +2 -2
  10. package/dist/{Input-DjSWOjCI.js → Input-Dpo1Xfxe.js} +1 -1
  11. package/dist/{LoaderIcon-D9YjinGf.js → LoaderIcon-B3ddfd0D.js} +1 -1
  12. package/dist/{LoadingIndicator-DiWoWs4Y.js → LoadingIndicator-0E8WHnSN.js} +8 -8
  13. package/dist/MenuItem-lItnKNd5.js +31 -0
  14. package/dist/{MenuSeparator-D1H5l8Ej.js → MenuSeparator-CaFxd8b5.js} +1 -1
  15. package/dist/Paginate.module-DhE7N8AA.js +9 -0
  16. package/dist/PaginationContext-DIzsZhFd.js +194 -0
  17. package/dist/{PasswordModal-BIr84lGN.js → PasswordModal-CxHFn0pB.js} +13 -13
  18. package/dist/{RPDropFileZone-D1C3ouep.js → RPDropFileZone-Bq1bzWmO.js} +1 -1
  19. package/dist/RPLayout.module-BH5r8dDc.js +14 -0
  20. package/dist/RPPages-U8QNLlIa.js +686 -0
  21. package/dist/{RPTooltip-ZZoFqP7C.js → RPTooltip-QWwWh4HW.js} +127 -95
  22. package/dist/SearchTool.module-DY8Ucfb_.js +17 -0
  23. package/dist/{SkipLink-CdcjClGB.js → SkipLink-Dj83gZdk.js} +3 -3
  24. package/dist/{TextLayer-DWGFN9SF.js → TextLayer-D-V9kogG.js} +5 -5
  25. package/dist/{Thumbnail-CU1p9tZ6.js → Thumbnail-BXMk0OWF.js} +8 -8
  26. package/dist/{Thumbnails-VMbfTvqt.js → Thumbnails-BIuN8LZ8.js} +2 -2
  27. package/dist/assets/AnnotationLayer.css +1 -1
  28. package/dist/assets/CanvasLayer.css +1 -0
  29. package/dist/assets/LoadingIndicator.css +1 -1
  30. package/dist/assets/MenuItem.css +1 -1
  31. package/dist/assets/Paginate.css +1 -1
  32. package/dist/assets/PasswordModal.css +1 -1
  33. package/dist/assets/RPLayout.css +1 -1
  34. package/dist/assets/RPPages.css +1 -1
  35. package/dist/assets/SearchTool.css +1 -1
  36. package/dist/assets/SkipLink.css +1 -1
  37. package/dist/assets/TextLayer.css +1 -1
  38. package/dist/assets/Thumbnail.css +1 -1
  39. package/dist/assets/style.js +1 -1
  40. package/dist/{clsx-B7LyVm5O.js → clsx-DSGuh5YW.js} +1 -1
  41. package/dist/components/RPController.js +39 -39
  42. package/dist/components/RPDropFileZone.js +1 -1
  43. package/dist/components/RPPages.js +1 -1
  44. package/dist/components/RPProvider.js +1 -1
  45. package/dist/components/icons/LoaderIcon.js +1 -1
  46. package/dist/components/layout/Container.js +1 -1
  47. package/dist/components/layout/LayoutContainer.js +7 -7
  48. package/dist/components/layout/LayoutWrapper.js +5 -5
  49. package/dist/components/layout/RPDefaultLayout.js +56 -55
  50. package/dist/components/layout/RPLayout.js +39 -38
  51. package/dist/components/layout/SkipLink.js +1 -1
  52. package/dist/components/layout/sidebar/RPSidebar.js +3 -3
  53. package/dist/components/layout/sidebar/Thumbnail.js +1 -1
  54. package/dist/components/layout/sidebar/Thumbnails.js +1 -1
  55. package/dist/components/layout/toolbar/DarkModeTool.js +2 -2
  56. package/dist/components/layout/toolbar/DocumentDialog.js +1 -1
  57. package/dist/components/layout/toolbar/DocumentProperties.js +7 -7
  58. package/dist/components/layout/toolbar/FileDownloadTool.js +7 -7
  59. package/dist/components/layout/toolbar/FileUploadTool.js +7 -7
  60. package/dist/components/layout/toolbar/FullScreenTool.js +10 -9
  61. package/dist/components/layout/toolbar/MenuItem.js +1 -1
  62. package/dist/components/layout/toolbar/MenuSeparator.js +1 -1
  63. package/dist/components/layout/toolbar/MostPageTool.js +25 -31
  64. package/dist/components/layout/toolbar/OtherTool.js +6 -6
  65. package/dist/components/layout/toolbar/Paginate.js +20 -5
  66. package/dist/components/layout/toolbar/PrintTool.js +7 -7
  67. package/dist/components/layout/toolbar/RPMenuItem.js +3 -3
  68. package/dist/components/layout/toolbar/RPMoreOptions.js +6 -6
  69. package/dist/components/layout/toolbar/RPToolbar.js +1 -1
  70. package/dist/components/layout/toolbar/RotateTool.js +12 -12
  71. package/dist/components/layout/toolbar/ScrollModeTool.js +18 -18
  72. package/dist/components/layout/toolbar/SearchCloseButton.js +3 -3
  73. package/dist/components/layout/toolbar/SearchResultNavigator.js +3 -3
  74. package/dist/components/layout/toolbar/SearchTool.js +134 -122
  75. package/dist/components/layout/toolbar/SelectionModeTool.js +12 -12
  76. package/dist/components/layout/toolbar/ThumbnailTool.js +2 -2
  77. package/dist/components/layout/toolbar/ToolbarCustom.js +2 -2
  78. package/dist/components/layout/toolbar/ToolbarDefault.js +2 -2
  79. package/dist/components/layout/toolbar/ViewModeTool.js +18 -18
  80. package/dist/components/layout/toolbar/ZoomTool.js +86 -84
  81. package/dist/components/layout/toolbar/tools/DocumentPropertiesTool.js +3 -3
  82. package/dist/components/layout/toolbar/tools/DualPageTool.js +2 -2
  83. package/dist/components/layout/toolbar/tools/DualPageWithCoverTool.js +1 -1
  84. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +2 -2
  85. package/dist/components/layout/toolbar/tools/FileUploadTool.js +2 -2
  86. package/dist/components/layout/toolbar/tools/FirstPageTool.js +1 -1
  87. package/dist/components/layout/toolbar/tools/FullScreenTool.js +2 -2
  88. package/dist/components/layout/toolbar/tools/HorizontalScrollingTool.js +4 -4
  89. package/dist/components/layout/toolbar/tools/InputPageTool.js +37 -26
  90. package/dist/components/layout/toolbar/tools/LastPageTool.js +1 -1
  91. package/dist/components/layout/toolbar/tools/NextPageTool.js +3 -3
  92. package/dist/components/layout/toolbar/tools/PageScrollingTool.js +2 -2
  93. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +3 -3
  94. package/dist/components/layout/toolbar/tools/PrintTool.js +2 -2
  95. package/dist/components/layout/toolbar/tools/RotateClockwiseTool.js +2 -2
  96. package/dist/components/layout/toolbar/tools/RotateCounterclockwiseTool.js +2 -2
  97. package/dist/components/layout/toolbar/tools/SelectionModeSwitcherTool.js +2 -2
  98. package/dist/components/layout/toolbar/tools/SinglePageTool.js +2 -2
  99. package/dist/components/layout/toolbar/tools/ThemeSwitcherTool.js +2 -2
  100. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +2 -2
  101. package/dist/components/layout/toolbar/tools/VerticalScrollingTool.js +2 -2
  102. package/dist/components/layout/toolbar/tools/ZoomInTool.js +25 -23
  103. package/dist/components/layout/toolbar/tools/ZoomLevelDisplay.js +1 -1
  104. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +6 -6
  105. package/dist/components/layout/toolbar/tools/ZoomOutTool.js +25 -23
  106. package/dist/components/layout/toolbar/tools/more-options/DocumentProperties.js +2 -2
  107. package/dist/components/layout/toolbar/tools/more-options/FileDownloadTool.js +2 -2
  108. package/dist/components/layout/toolbar/tools/more-options/FileUploadTool.js +2 -2
  109. package/dist/components/layout/toolbar/tools/more-options/FullScreenTool.js +2 -2
  110. package/dist/components/layout/toolbar/tools/more-options/MostPageTool.js +5 -5
  111. package/dist/components/layout/toolbar/tools/more-options/PrintTool.js +2 -2
  112. package/dist/components/layout/toolbar/tools/more-options/RotateTool.js +4 -4
  113. package/dist/components/layout/toolbar/tools/more-options/ScrollModeTool.js +8 -8
  114. package/dist/components/layout/toolbar/tools/more-options/SelectionModeTool.js +4 -4
  115. package/dist/components/layout/toolbar/tools/more-options/ViewModeTool.js +4 -4
  116. package/dist/components/page/AnnotationLayer.js +1 -1
  117. package/dist/components/page/CanvasLayer.js +2 -48
  118. package/dist/components/page/DualPage.js +2 -2
  119. package/dist/components/page/DualPageWithCover.js +2 -2
  120. package/dist/components/page/RPPage.js +94 -2
  121. package/dist/components/page/SinglePage.js +2 -2
  122. package/dist/components/page/TextHighlightLayer.js +1 -1
  123. package/dist/components/page/TextLayer.js +1 -1
  124. package/dist/components/ui/Button.js +1 -1
  125. package/dist/components/ui/Checkbox.js +1 -1
  126. package/dist/components/ui/DropDown.js +1 -1
  127. package/dist/components/ui/Input.js +1 -1
  128. package/dist/components/ui/LoadingIndicator.js +1 -1
  129. package/dist/components/ui/PasswordModal.js +1 -1
  130. package/dist/components/ui/RPTooltip.js +1 -1
  131. package/dist/contexts/DimensionPagesContext.js +38 -22
  132. package/dist/contexts/ElementPageContext.js +46 -39
  133. package/dist/contexts/ElementThumbnailContext.js +1 -1
  134. package/dist/contexts/LoaderContext.js +1 -1
  135. package/dist/contexts/LocalizationContext.js +12 -6
  136. package/dist/contexts/PaginationContext.js +1 -1
  137. package/dist/contexts/RenderQueueProvider.js +26 -18
  138. package/dist/contexts/RenderedPagesCache.js +32 -13
  139. package/dist/contexts/VirtualScrollContext.js +10 -13
  140. package/dist/contexts/ZoomContext.js +119 -61
  141. package/dist/{de_DE--0LF-SJR.js → de_DE-x4Z-jQrz.js} +54 -6
  142. package/dist/{dist-7FA4Do6I.js → dist-B2hwhF6G.js} +7 -7
  143. package/dist/{dist-BRVqFn7R.js → dist-BfuBBQ14.js} +6 -6
  144. package/dist/{dist-C3WNMuW2.js → dist-CNbFpoT1.js} +2 -2
  145. package/dist/{dist-bK-AHWLF.js → dist-CgoP608h.js} +7 -7
  146. package/dist/{dist-CKteKPPA.js → dist-VbpVNBs6.js} +7 -7
  147. package/dist/icons.js +1 -1
  148. package/dist/{lib-BiapEtK1.js → lib-CSInlR9T.js} +142 -237
  149. package/dist/{main-B74-PfMa.js → main-DCzVrq0G.js} +3 -3
  150. package/dist/main.js +5 -5
  151. package/dist/style-CJtyyrJx.js +5 -0
  152. package/dist/types/components/page/CanvasLayer.d.ts +4 -1
  153. package/dist/types/components/ui/RPTooltip.d.ts +3 -2
  154. package/dist/types/contexts/RenderQueueProvider.d.ts +2 -0
  155. package/dist/types/contexts/RenderedPagesCache.d.ts +3 -0
  156. package/dist/types/contexts/VirtualScrollContext.d.ts +0 -3
  157. package/dist/types/locales/de_DE.json.d.ts +11 -2
  158. package/dist/types/locales/en_US.json.d.ts +11 -2
  159. package/dist/types/locales/it_IT.json.d.ts +11 -2
  160. package/dist/types/locales/pt_PT.json.d.ts +11 -2
  161. package/dist/types/locales/th_TH.json.d.ts +11 -2
  162. package/dist/types/locales/zh_CN.json.d.ts +11 -2
  163. package/dist/types/utils/Queue.d.ts +1 -0
  164. package/dist/types/utils/const.d.ts +3 -0
  165. package/dist/types/utils/constants.d.ts +9 -0
  166. package/dist/types/utils/documentLayout.d.ts +60 -0
  167. package/dist/types/utils/hooks/usePinch.d.ts +14 -1
  168. package/dist/types/utils/hooks/usePresentPage.d.ts +2 -2
  169. package/dist/types/utils/hooks/useZoomOrigin.d.ts +4 -0
  170. package/dist/types/utils/types.d.ts +25 -2
  171. package/dist/types/utils/zoom.d.ts +2 -0
  172. package/dist/utils/Queue.js +5 -0
  173. package/dist/utils/const.js +2 -2
  174. package/dist/utils/constants.js +2 -2
  175. package/dist/utils/documentLayout.js +141 -0
  176. package/dist/utils/hooks/useLicense.js +2 -2
  177. package/dist/utils/hooks/useLoadPdf.js +73 -63
  178. package/dist/utils/hooks/useLocalization.js +1 -1
  179. package/dist/utils/hooks/usePaginate.js +1 -1
  180. package/dist/utils/hooks/usePinch.js +109 -56
  181. package/dist/utils/hooks/usePresentPage.js +33 -57
  182. package/dist/utils/hooks/useScrollToPage.js +1 -1
  183. package/dist/utils/hooks/useSearch.js +66 -67
  184. package/dist/utils/hooks/useZoomOrigin.js +37 -0
  185. package/dist/utils/renderPage.js +21 -14
  186. package/dist/utils/types.js +3 -3
  187. package/dist/utils/zoom.js +8 -2
  188. package/package.json +1 -1
  189. package/dist/Container-DTWaZzc7.js +0 -16
  190. package/dist/MenuItem-BJDWfzAw.js +0 -15
  191. package/dist/Paginate.module-B0GMw-MB.js +0 -8
  192. package/dist/PaginationContext-C5CJiEW-.js +0 -242
  193. package/dist/RPLayout.module-Vc3h4xxS.js +0 -14
  194. package/dist/RPPage-BsDixmqF.js +0 -91
  195. package/dist/RPPages-BkEFexWu.js +0 -1007
  196. package/dist/SearchTool.module-DUkVXfOn.js +0 -16
  197. package/dist/assets/RPPage.css +0 -1
  198. package/dist/contexts/VirtualGridContext.js +0 -18
  199. package/dist/style-BPQRJJJ7.js +0 -5
  200. package/dist/types/contexts/VirtualGridContext.d.ts +0 -9
  201. package/dist/types/utils/calculatePage.d.ts +0 -12
  202. package/dist/types/utils/hooks/useVirtualReactWindow.d.ts +0 -17
  203. package/dist/utils/calculatePage.js +0 -30
  204. package/dist/utils/hooks/useVirtualReactWindow.js +0 -86
  205. /package/dist/{TextHighlightLayer-BSVgBxR3.js → TextHighlightLayer-3vIZbRyL.js} +0 -0
package/README.md CHANGED
@@ -32,6 +32,10 @@
32
32
  - **Modern Browser Compatibility**: The React PDF Viewer components seamlessly across modern browsers, eliminating compatibility headaches.
33
33
  - **Active Development & Support**: With regular updates and a responsive support team, React PDF Kit evolves to meet developer needs.
34
34
 
35
+ <p align="center">
36
+ <img src="https://github.com/user-attachments/assets/8803229a-2f59-48d1-aecc-628ae759862f" alt="React PDF Kit demo">
37
+ </p>
38
+
35
39
  # 📜 Background
36
40
 
37
41
  As developers ourselves, we faced many issues such as browser incompatibility and customizability while trying to render a PDF document or working with PDF libraries. Having faced issues using PDF libraries, we want the solution to be flexible for React.js developers and teams. More importantly, the technical document must be easy to use!
@@ -47,7 +51,7 @@ As developers ourselves, we faced many issues such as browser incompatibility an
47
51
  - 📂 **Document Management Tools**, including features like downloading and printing.
48
52
  - 👁️ **Accessibility Support** to built-in support for ARIA attributes and tooltips, catering to diverse user bases.
49
53
 
50
- For the full feature set, visit [React PDF Kit Features](https://www.react-pdf-kit.dev/features?utm_source=github&utm_medium=referral).
54
+ For the full feature set, visit [React PDF Kit Features](https://www.react-pdf-kit.dev/features).
51
55
 
52
56
  # :zap: Quick Start Guide
53
57
 
@@ -78,23 +82,13 @@ As newer PDF.js versions rely on more modern browser APIs, minimum supported bro
78
82
 
79
83
  React PDF Kit v2.0.0 defaults to PDF.js `5.4.530`.
80
84
 
81
- | Chrome | Firefox | Edge | Safari | Safari iOS | Chrome Android |
82
- | ------ | ------- | ---- | ------ | ---------- | -------------- |
83
- | 126+ | 126+ | 126+ | 18.4+ | 18.4+ | 126+ |
84
-
85
- <Aside>
86
- It's currently not recommended to use a PDF.js worker version beyond `5.4.530` because it will support fewer browser versions.
87
- </Aside>
88
-
89
- #### Using PDF.js 4.10.38
85
+ | Configuration | Chrome | Firefox | Edge | Safari | Safari iOS | Chrome Android |
86
+ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------- | ---- | ------ | ---------- | -------------- |
87
+ | React PDF Kit v2 | 126+ | 126+ | 126+ | 18.4+ | 18.4+ | 126+ |
88
+ | [React PDF Kit v2 + Polyfills](https://www.react-pdf-kit.dev/docs/usage-guide/legacy-browser-support.html#polyfills-library) | 119+ | 121+ | 119+ | 18.3+ | 18.3+ | 119+ |
89
+ | [React PDF Kit v2 + Polyfills + Legacy PDF.js Worker](https://www.react-pdf-kit.dev/docs/usage-guide/legacy-browser-support.html#override-the-pdfjs-worker) | 101+ | 101+ | 101+ | 16.5+ | 16.5+ | 101+ |
90
90
 
91
- If you need broader browser compatibility, you can continue using PDF.js `4.10.38`, which supports:
92
-
93
- | Chrome | Firefox | Edge | Safari | Safari iOS | Chrome Android |
94
- | ------ | ------- | ---- | ------ | ---------- | -------------- |
95
- | 119+ | 115+ | 115+ | 17.4+ | 17.4+ | 126+ |
96
-
97
- To change the version of PDF.js used, refer to [Dependency Override](https://docs.react-pdf-kit.dev/usage-guide/overriding-dependency?utm_source=github&utm_medium=referral) guide.
91
+ To change the version of PDF.js used, refer to [Dependency Override](https://www.react-pdf-kit.dev/docs/usage-guide/overriding-dependency) guide.
98
92
 
99
93
  ## 2. Install the Package
100
94
 
@@ -133,25 +127,33 @@ yarn add @react-pdf-kit/viewer
133
127
  pnpm add @react-pdf-kit/viewer
134
128
  ```
135
129
 
136
- For more information on how to use different package managers, please visit our [installation guide](https://docs.react-pdf-kit.dev/introduction/getting-started/#installation?utm_source=github&utm_medium=referral).
130
+ For more information on how to use different package managers, please visit our [installation guide](https://www.react-pdf-kit.dev/docs/introduction/getting-started/#installation).
137
131
 
138
132
  ## 3. Import and Use the Component
139
133
 
140
134
  The following structure demonstrates how to build a React PDF viewer by importing and assembling components. This modular approach gives you the flexibility to customize the viewer as needed.
141
135
 
142
136
  ```tsx
143
- <RPConfig> {/* Configuration license and pdfjs-dist worker */}
144
- <RPTheme> {/* Theme customization (optional) */}
145
- <RPProvider> {/* Viewer context provider */}
146
- <RPLayout toolbar> {/* Provide the default toolbar structure */}
147
- <RPPages /> {/* Render the actual PDF content */}
137
+ <RPConfig>
138
+ {' '}
139
+ {/* Configuration license and pdfjs-dist worker */}
140
+ <RPTheme>
141
+ {' '}
142
+ {/* Theme customization (optional) */}
143
+ <RPProvider>
144
+ {' '}
145
+ {/* Viewer context provider */}
146
+ <RPLayout toolbar>
147
+ {' '}
148
+ {/* Provide the default toolbar structure */}
149
+ <RPPages /> {/* Render the actual PDF content */}
148
150
  </RPLayout>
149
151
  </RPProvider>
150
152
  </RPTheme>
151
153
  </RPConfig>
152
154
  ```
153
155
 
154
- _Remark: For more information on each component, please refer to [Component](https://docs.react-pdf-kit.dev/components/overview?utm_source=github&utm_medium=referral)._
156
+ _Remark: For more information on each component, please refer to [Component](https://www.react-pdf-kit.dev/docs/components/overview)._
155
157
 
156
158
  ### Basic Usage
157
159
 
@@ -176,7 +178,7 @@ const App = () => {
176
178
  export default App
177
179
  ```
178
180
 
179
- The PDF viewer will automatically adjust to fit its container's dimensions. You can control the size by setting the `style` prop on `RPLayout`. For more information on using React PDF, visit our [basic usage guide](https://docs.react-pdf-kit.dev/introduction/basic-usage?utm_source=github&utm_medium=referral)
181
+ The PDF viewer will automatically adjust to fit its container's dimensions. You can control the size by setting the `style` prop on `RPLayout`. For more information on using React PDF, visit our [basic usage guide](https://www.react-pdf-kit.dev/docs/introduction/basic-usage)
180
182
 
181
183
  You may also check out our [Starter Toolkit](#pushpin-starter-toolkit) for examples to get you started.
182
184
 
@@ -186,6 +188,17 @@ To enhance React PDF Kit further, we offer built-in hooks and props that let you
186
188
 
187
189
  For detailed usage, refer to our [Documentation][reactpdf-docs].
188
190
 
191
+ ### 5. Localization
192
+
193
+ React PDF Kit supports multiple languages out of the box. Pass a locale JSON file to `RPConfig` to translate all viewer text:
194
+
195
+ ```jsx
196
+ import zhCN from './localization/zh_CN.json'
197
+ ;<RPConfig localization={zhCN}>{/* ... */}</RPConfig>
198
+ ```
199
+
200
+ We ship locale files for English, Italian, Portuguese, Thai, and Chinese (Simplified). You can also create your own -- see the [Localization Guide](./localization/README.md) for the full list of translation keys and instructions on adding a new language. If you've created a locale we don't support yet, feel free to open a PR to share it with the community!
201
+
189
202
  # :pushpin: Starter Toolkit
190
203
 
191
204
  Here are some sample projects to get started on React PDF quickly:
@@ -215,7 +228,7 @@ Here are some sample projects to get started on React PDF quickly:
215
228
 
216
229
  # 📝 Changelog
217
230
 
218
- Check out our latest release [v2.0.0 (20 February 2026)](https://docs.react-pdf-kit.dev/introduction/changelog/#v200-20-february-2026?utm_source=github&utm_medium=referral)
231
+ Check out our latest release [v2.7.3 (9 July 2026)](https://www.react-pdf-kit.dev/docs/introduction/changelog/#v273-9-July-2026)
219
232
 
220
233
  # :raising_hand: Need Help?
221
234
 
@@ -223,17 +236,18 @@ We are more than happy to help you. If you have any questions, run into any erro
223
236
 
224
237
  # :page_facing_up: License
225
238
 
226
- React PDF Kit is distributed under our proprietary license. Please refer to our [License page](https://www.react-pdf-kit.dev/license-agreement?utm_source=github&utm_medium=referral) file for more details.
239
+ React PDF Kit is distributed under our proprietary license. Please refer to our [License page](https://www.react-pdf-kit.dev/license-agreement) file for more details.
227
240
 
228
- If you would like to use React PDF commercially, please purchase a license from [our website][reactpdf] or reach out to us directly at [https://www.react-pdf-kit.dev/contact-us](https://www.react-pdf-kit.dev/contact-us?utm_source=github&utm_medium=referral).
241
+ If you would like to use React PDF commercially, please purchase a license from [our website][reactpdf] or reach out to us directly at [https://www.react-pdf-kit.dev/contact-us](https://www.react-pdf-kit.dev/contact-us).
229
242
 
230
243
  # Acknowledgement
231
244
 
232
245
  - [pdf.js](https://github.com/mozilla/pdf.js)
246
+ - [node-forge](https://github.com/digitalbazaar/forge)
233
247
  - [Img Shields](https://shields.io)
234
248
  - [React.js](https://reactjs.org/)
235
249
 
236
- [reactpdf]: https://www.react-pdf-kit.dev/?utm_source=github&utm_medium=referral
237
- [reactpdf-docs]: https://docs.react-pdf-kit.dev/?utm_source=github&utm_medium=referral
250
+ [reactpdf]: https://www.react-pdf-kit.dev/
251
+ [reactpdf-docs]: https://www.react-pdf-kit.dev/docs/
238
252
  [npm]: https://www.npmjs.com/package/@react-pdf-kit/viewer
239
253
  [twitter]: https://www.x.com/ReactPDF
@@ -2,7 +2,7 @@ import { AnnotationSubType as e } from "./utils/types.js";
2
2
  import { useDocumentContext as t } from "./contexts/RPDocumentContext.js";
3
3
  import { useInitialStateContext as n } from "./contexts/InitialStateContext.js";
4
4
  import { useScrollModeContext as r } from "./contexts/ScrollModeContext.js";
5
- import { r as i } from "./PaginationContext-C5CJiEW-.js";
5
+ import { r as i } from "./PaginationContext-DIzsZhFd.js";
6
6
  import { usePrintContext as a } from "./contexts/PrintContext.js";
7
7
  import { SimpleLinkService as o } from "./utils/link_service.js";
8
8
  import { annotationEventsHandler as s, bindLayerEvents as c, enhanceLinkAccessibility as l, fixTabIndexAccessibility as u, handleAnnotationWidget as d, insertDateText as f, unbindLayerEvents as p } from "./utils/annotations.js";
@@ -11,7 +11,7 @@ import { useCallback as h, useEffect as g, useMemo as _, useRef as v, useState a
11
11
  import { AnnotationLayer as b } from "pdfjs-dist";
12
12
  import { jsx as x } from "react/jsx-runtime";
13
13
  import './assets/AnnotationLayer.css';//#region lib/components/page/AnnotationLayer.module.css
14
- var S = { "rp-annotation-layer": "_rp-annotation-layer_rwxfx_1" }, C = "https://unpkg.com/pdfjs-dist@4.4.168/web/images/", w = (w) => {
14
+ var S = { "rp-annotation-layer": "_rp-annotation-layer_foiun_1" }, C = "https://unpkg.com/pdfjs-dist@4.4.168/web/images/", w = (w) => {
15
15
  let { pageNumber: T } = w, E = v(null), { pages: D, pdf: O } = t(), { interactiveForm: k } = n(), A = v(), [j, M] = y(), { goToPage: N } = i(), { scrollMode: P } = r(), { print: F } = a(), { download: I } = m(), L = v(null), R = _(() => D.get(T), [D, T]), z = _(() => R?.page.getViewport(), [R]);
16
16
  g(() => {
17
17
  A.current &&= (A.current.div.replaceChildren(), void 0);
@@ -1,4 +1,4 @@
1
- import { t as e } from "./clsx-B7LyVm5O.js";
1
+ import { t as e } from "./clsx-DSGuh5YW.js";
2
2
  import { withRef as t } from "./utils/withRef.js";
3
3
  import { jsx as n } from "react/jsx-runtime";
4
4
  import './assets/Button.css';//#region lib/components/ui/Button.module.css
@@ -0,0 +1,111 @@
1
+ import { useDocumentContext as e } from "./contexts/RPDocumentContext.js";
2
+ import { useInitialStateContext as t } from "./contexts/InitialStateContext.js";
3
+ import { useZoomContext as n } from "./contexts/ZoomContext.js";
4
+ import { usePagesRotateContext as r } from "./contexts/PagesRotateContext.js";
5
+ import { useRenderQueue as i } from "./contexts/RenderQueueProvider.js";
6
+ import { useRenderedPagesCache as a } from "./contexts/RenderedPagesCache.js";
7
+ import { useCallback as o, useEffect as s, useRef as c } from "react";
8
+ import { jsx as l } from "react/jsx-runtime";
9
+ import './assets/CanvasLayer.css';//#region lib/components/page/RPPage.module.css
10
+ var u = {
11
+ "rp-page-wrapper": "_rp-page-wrapper_1iuev_1",
12
+ "rp-page": "_rp-page_1iuev_1",
13
+ "rp-canvas-layer": "_rp-canvas-layer_1iuev_17",
14
+ "rp-loader-wrapper": "_rp-loader-wrapper_1iuev_40"
15
+ }, d = (d) => {
16
+ let { pageNumber: f, onLoaded: p, onLoading: m } = d, h = c(null), g = c(null), _ = c(null), { pages: v } = e(), { pageRotate: y } = r(), { currentZoom: b, targetZoom: x, isZooming: S } = n(), { interactiveForm: C } = t(), { hasRenderedPage: w, markRenderedPage: T } = a(), E = i(), D = c(`page-${f}`), O = c(0), k = c(""), A = c(null), j = c(0), M = c(!1), N = o((e, t = !1) => {
17
+ e && (e.width = 0, e.height = 0, t && e.parentNode && e.parentNode.removeChild(e));
18
+ }, []), P = o((e = g.current) => {
19
+ if (!e) return;
20
+ let t = j.current, n = t ? (x || b || t || 1) / t : 1;
21
+ e.style.setProperty("--rp-canvas-scale-ratio", String(n));
22
+ }, [b, x]), F = o(() => {
23
+ let e = document.createElement("canvas");
24
+ return e.dataset.rp = `page-${f}-canvas`, e.style.opacity = "0", e.style.position = "absolute", e.style.inset = "0", P(e), e;
25
+ }, [f, P]), I = o(() => {
26
+ E.removeQueue(D.current), A.current &&= (A.current.cancel(), null);
27
+ }, [E]), L = o(() => {
28
+ _.current && !_.current.parentNode && (N(_.current), _.current = null);
29
+ }, [N]), R = o((e) => {
30
+ if (!M.current) return N(e), !1;
31
+ let t = h.current;
32
+ if (!t) return N(e), !1;
33
+ let n = g.current;
34
+ return n?.parentNode ? n.replaceWith(e) : t.appendChild(e), e.style.opacity = "1", g.current = e, N(n), !0;
35
+ }, [N]);
36
+ return s(() => (M.current = !0, () => {
37
+ M.current = !1, I(), N(_.current), N(g.current), _.current = null, g.current = null;
38
+ }), [I, N]), s(() => {
39
+ P();
40
+ }, [P]), s(() => {
41
+ D.current = `page-${f}`, k.current = "", j.current = 0, N(_.current, !0), N(g.current, !0), _.current = null, g.current = null;
42
+ }, [N, f]), s(() => {
43
+ S && (I(), L());
44
+ }, [
45
+ I,
46
+ L,
47
+ S
48
+ ]), s(() => {
49
+ if (!v || b === 0 || S) return;
50
+ let e = v.get(f), t = h.current;
51
+ if (!e || !t) return;
52
+ let n = y[f] ?? e.defaultRotation ?? 0, r = `${f}:${b}:${n}:${C ? "forms" : "static"}`;
53
+ if (k.current === r) return;
54
+ let i = g.current, a = !!i && i.width > 0 && i.height > 0, o = O.current + 1;
55
+ O.current = o, I(), L(), m && !a && m({
56
+ renderKey: r,
57
+ hasRenderedBefore: w(r)
58
+ });
59
+ let s = F();
60
+ return _.current = s, E.enqueue(D.current, {
61
+ page: e.page,
62
+ canvasElem: s,
63
+ options: {
64
+ scale: b,
65
+ rotate: n,
66
+ renderForms: !0,
67
+ interactiveForm: C
68
+ },
69
+ onLoaded: () => {
70
+ if (O.current !== o || _.current !== s) {
71
+ N(s);
72
+ return;
73
+ }
74
+ if (j.current = b, P(s), !R(s)) {
75
+ _.current = null;
76
+ return;
77
+ }
78
+ _.current = null, k.current = r, T(r), A.current = null, p?.();
79
+ },
80
+ onRenderTask: (e) => {
81
+ O.current === o && (A.current = e);
82
+ }
83
+ }, 3), () => {
84
+ I(), _.current === s && (N(s), _.current = null);
85
+ };
86
+ }, [
87
+ I,
88
+ N,
89
+ L,
90
+ F,
91
+ b,
92
+ w,
93
+ C,
94
+ S,
95
+ T,
96
+ p,
97
+ m,
98
+ f,
99
+ y,
100
+ v,
101
+ E,
102
+ R,
103
+ P
104
+ ]), /* @__PURE__ */ l("div", {
105
+ className: u["rp-canvas-layer"],
106
+ "data-rp": `page-${f}-canvasLayer`,
107
+ ref: h
108
+ });
109
+ };
110
+ //#endregion
111
+ export { u as n, d as t };
@@ -1,9 +1,9 @@
1
- import { d as e, f as t, i as n, l as r, n as i, t as a } from "./dist-bK-AHWLF.js";
2
- import { t as o } from "./dist-C3WNMuW2.js";
1
+ import { d as e, f as t, i as n, l as r, n as i, t as a } from "./dist-CgoP608h.js";
2
+ import { t as o } from "./dist-CNbFpoT1.js";
3
3
  import { CheckIcon as s } from "./components/icons/CheckIcon.js";
4
4
  import * as c from "react";
5
5
  import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
6
- import './assets/Checkbox.css';//#region node_modules/.pnpm/@radix-ui+react-use-previous@1.1.1_@types+react@18.3.27_react@19.2.0/node_modules/@radix-ui/react-use-previous/dist/index.mjs
6
+ import './assets/Checkbox.css';//#region node_modules/@radix-ui/react-use-previous/dist/index.mjs
7
7
  function f(e) {
8
8
  let t = c.useRef({
9
9
  value: e,
@@ -12,7 +12,7 @@ function f(e) {
12
12
  return c.useMemo(() => (t.current.value !== e && (t.current.previous = t.current.value, t.current.value = e), t.current.previous), [e]);
13
13
  }
14
14
  //#endregion
15
- //#region node_modules/.pnpm/@radix-ui+react-checkbox@1.3.3_@types+react-dom@18.3.7_@types+react@18.3.27__@types+rea_cb5de23141bd54a8bfa4180b5db14bd0/node_modules/@radix-ui/react-checkbox/dist/index.mjs
15
+ //#region node_modules/@radix-ui/react-checkbox/dist/index.mjs
16
16
  var p = "Checkbox", [m, h] = r(p), [g, _] = m(p);
17
17
  function v(e) {
18
18
  let { __scopeCheckbox: t, checked: n, children: r, defaultChecked: i, disabled: o, form: s, name: l, onCheckedChange: d, required: f, value: m = "on", internal_do_not_use_render: h } = e, [_, v] = a({
@@ -1,9 +1,9 @@
1
- import { d as e, i as t } from "./dist-bK-AHWLF.js";
2
- import { i as n } from "./dist-BRVqFn7R.js";
1
+ import { d as e, i as t } from "./dist-CgoP608h.js";
2
+ import { i as n } from "./dist-BfuBBQ14.js";
3
3
  import * as r from "react";
4
4
  import { useState as i } from "react";
5
5
  import { jsx as a } from "react/jsx-runtime";
6
- //#region node_modules/.pnpm/@radix-ui+react-focus-guards@1.1.3_@types+react@18.3.27_react@19.2.0/node_modules/@radix-ui/react-focus-guards/dist/index.mjs
6
+ //#region node_modules/@radix-ui/react-focus-guards/dist/index.mjs
7
7
  var o = 0;
8
8
  function s() {
9
9
  r.useEffect(() => {
@@ -18,7 +18,7 @@ function c() {
18
18
  return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e;
19
19
  }
20
20
  //#endregion
21
- //#region node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.7_@types+react-dom@18.3.7_@types+react@18.3.27__@types+_c9bbb58fdda48c8c67e5a2aa62d74a2f/node_modules/@radix-ui/react-focus-scope/dist/index.mjs
21
+ //#region node_modules/@radix-ui/react-focus-scope/dist/index.mjs
22
22
  var l = "focusScope.autoFocusOnMount", u = "focusScope.autoFocusOnUnmount", d = {
23
23
  bubbles: !1,
24
24
  cancelable: !0
@@ -157,7 +157,7 @@ function w(e) {
157
157
  return e.filter((e) => e.tagName !== "A");
158
158
  }
159
159
  //#endregion
160
- //#region node_modules/.pnpm/aria-hidden@1.2.6/node_modules/aria-hidden/dist/es2015/index.js
160
+ //#region node_modules/aria-hidden/dist/es2015/index.js
161
161
  var T = function(e) {
162
162
  return typeof document > "u" ? null : (Array.isArray(e) ? e[0] : e).ownerDocument.body;
163
163
  }, E = /* @__PURE__ */ new WeakMap(), D = /* @__PURE__ */ new WeakMap(), O = {}, k = 0, A = function(e) {
@@ -217,15 +217,15 @@ function re(e, t, n) {
217
217
  return e.concat(a || Array.prototype.slice.call(t));
218
218
  }
219
219
  //#endregion
220
- //#region node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@18.3.27_react@19.2.0/node_modules/react-remove-scroll-bar/dist/es2015/constants.js
220
+ //#region node_modules/react-remove-scroll-bar/dist/es2015/constants.js
221
221
  var N = "right-scroll-bar-position", P = "width-before-scroll-bar", ie = "with-scroll-bars-hidden", ae = "--removed-body-scroll-bar-size";
222
222
  //#endregion
223
- //#region node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.27_react@19.2.0/node_modules/use-callback-ref/dist/es2015/assignRef.js
223
+ //#region node_modules/use-callback-ref/dist/es2015/assignRef.js
224
224
  function F(e, t) {
225
225
  return typeof e == "function" ? e(t) : e && (e.current = t), e;
226
226
  }
227
227
  //#endregion
228
- //#region node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.27_react@19.2.0/node_modules/use-callback-ref/dist/es2015/useRef.js
228
+ //#region node_modules/use-callback-ref/dist/es2015/useRef.js
229
229
  function oe(e, t) {
230
230
  var n = i(function() {
231
231
  return {
@@ -245,7 +245,7 @@ function oe(e, t) {
245
245
  return n.callback = t, n.facade;
246
246
  }
247
247
  //#endregion
248
- //#region node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.27_react@19.2.0/node_modules/use-callback-ref/dist/es2015/useMergeRef.js
248
+ //#region node_modules/use-callback-ref/dist/es2015/useMergeRef.js
249
249
  var se = typeof window < "u" ? r.useLayoutEffect : r.useEffect, ce = /* @__PURE__ */ new WeakMap();
250
250
  function le(e, t) {
251
251
  var n = oe(t || null, function(t) {
@@ -267,7 +267,7 @@ function le(e, t) {
267
267
  }, [e]), n;
268
268
  }
269
269
  //#endregion
270
- //#region node_modules/.pnpm/use-sidecar@1.1.3_@types+react@18.3.27_react@19.2.0/node_modules/use-sidecar/dist/es2015/medium.js
270
+ //#region node_modules/use-sidecar/dist/es2015/medium.js
271
271
  function ue(e) {
272
272
  return e;
273
273
  }
@@ -334,7 +334,7 @@ function fe(e) {
334
334
  }, e), t;
335
335
  }
336
336
  //#endregion
337
- //#region node_modules/.pnpm/use-sidecar@1.1.3_@types+react@18.3.27_react@19.2.0/node_modules/use-sidecar/dist/es2015/exports.js
337
+ //#region node_modules/use-sidecar/dist/es2015/exports.js
338
338
  var I = function(e) {
339
339
  var t = e.sideCar, n = M(e, ["sideCar"]);
340
340
  if (!t) throw Error("Sidecar: please provide `sideCar` property to import the right car");
@@ -347,7 +347,7 @@ function pe(e, t) {
347
347
  return e.useMedium(t), I;
348
348
  }
349
349
  //#endregion
350
- //#region node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@18.3.27_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/medium.js
350
+ //#region node_modules/react-remove-scroll/dist/es2015/medium.js
351
351
  var L = fe(), R = function() {}, z = r.forwardRef(function(e, t) {
352
352
  var n = r.useRef(null), i = r.useState({
353
353
  onScrollCapture: R,
@@ -393,13 +393,13 @@ z.defaultProps = {
393
393
  zeroRight: N
394
394
  };
395
395
  //#endregion
396
- //#region node_modules/.pnpm/get-nonce@1.0.1/node_modules/get-nonce/dist/es2015/index.js
396
+ //#region node_modules/get-nonce/dist/es2015/index.js
397
397
  var B, me = function() {
398
398
  if (B) return B;
399
399
  if (typeof __webpack_nonce__ < "u") return __webpack_nonce__;
400
400
  };
401
401
  //#endregion
402
- //#region node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@18.3.27_react@19.2.0/node_modules/react-style-singleton/dist/es2015/singleton.js
402
+ //#region node_modules/react-style-singleton/dist/es2015/singleton.js
403
403
  function he() {
404
404
  if (!document) return null;
405
405
  var e = document.createElement("style");
@@ -683,7 +683,7 @@ function Be(e) {
683
683
  return t;
684
684
  }
685
685
  //#endregion
686
- //#region node_modules/.pnpm/react-remove-scroll@2.7.1_@types+react@18.3.27_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/sidecar.js
686
+ //#region node_modules/react-remove-scroll/dist/es2015/sidecar.js
687
687
  var Ve = pe(L, ze), He = r.forwardRef(function(e, t) {
688
688
  return r.createElement(z, j({}, e, {
689
689
  ref: t,
@@ -0,0 +1,18 @@
1
+ import { useLocalizationContext as e } from "./contexts/LocalizationContext.js";
2
+ import { t } from "./clsx-DSGuh5YW.js";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ import './assets/Container.css';//#region lib/components/layout/Container.module.css
5
+ var r = { "rp-container": "_rp-container_f63gc_1" }, i = (e) => e.replace(/_/g, "-"), a = (a) => {
6
+ let { children: o, getContainerRef: s, style: c, className: l } = a, { locale: u } = e();
7
+ return /* @__PURE__ */ n("div", {
8
+ tabIndex: 0,
9
+ ref: s,
10
+ "data-rp": "container",
11
+ lang: u ? i(u) : void 0,
12
+ className: t(r["rp-container"], l),
13
+ style: c,
14
+ children: o
15
+ });
16
+ };
17
+ //#endregion
18
+ export { a as t };
@@ -3,15 +3,15 @@ import { useLayoutContainer as t } from "./contexts/LayoutContainerContext.js";
3
3
  import { useLocalizationContext as n } from "./contexts/LocalizationContext.js";
4
4
  import { useOtherToolContext as r } from "./contexts/OtherToolContext.js";
5
5
  import { dateFormatter as i } from "./utils/dateFormatter.js";
6
- import { c as a, d as o, f as s, i as c, l, n as u, o as d, t as f } from "./dist-bK-AHWLF.js";
7
- import { n as p, r as m, t as h } from "./dist-BRVqFn7R.js";
8
- import { i as g, n as ee, r as _, t as v } from "./Combination-DqNkTtir.js";
6
+ import { c as a, d as o, f as s, i as c, l, n as u, o as d, t as f } from "./dist-CgoP608h.js";
7
+ import { n as p, r as m, t as h } from "./dist-BfuBBQ14.js";
8
+ import { i as g, n as ee, r as _, t as v } from "./Combination-11kyhTGt.js";
9
9
  import { CloseIcon as te } from "./components/icons/CloseIcon.js";
10
10
  import { t as y } from "./PropertyItem-evJWWmWZ.js";
11
11
  import * as b from "react";
12
12
  import { useMemo as x } from "react";
13
13
  import { Fragment as S, jsx as C, jsxs as w } from "react/jsx-runtime";
14
- import './assets/DocumentDialog.css';//#region node_modules/.pnpm/@radix-ui+react-dialog@1.1.15_@types+react-dom@18.3.7_@types+react@18.3.27__@types+reac_2e279b9f45eaccf149bfa3a9b35ce50c/node_modules/@radix-ui/react-dialog/dist/index.mjs
14
+ import './assets/DocumentDialog.css';//#region node_modules/@radix-ui/react-dialog/dist/index.mjs
15
15
  var T = "Dialog", [E, ne] = l(T), [D, O] = E(T), k = (e) => {
16
16
  let { __scopeDialog: t, children: n, open: r, defaultOpen: i, onOpenChange: a, modal: o = !0 } = e, s = b.useRef(null), c = b.useRef(null), [l, u] = f({
17
17
  prop: r,
@@ -1,5 +1,5 @@
1
- import { t as e } from "./clsx-B7LyVm5O.js";
2
- import { a as t, i as n, s as r, t as i } from "./dist-CKteKPPA.js";
1
+ import { t as e } from "./clsx-DSGuh5YW.js";
2
+ import { a as t, i as n, s as r, t as i } from "./dist-VbpVNBs6.js";
3
3
  import { jsx as a, jsxs as o } from "react/jsx-runtime";
4
4
  import './assets/DropDown.css';var s = {
5
5
  "rp-dropdown-content": "_rp-dropdown-content_1vzkq_1",
@@ -1,4 +1,4 @@
1
- import { t as e } from "./clsx-B7LyVm5O.js";
1
+ import { t as e } from "./clsx-DSGuh5YW.js";
2
2
  import { withRef as t } from "./utils/withRef.js";
3
3
  import { useId as n } from "react";
4
4
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- import { t as e } from "./clsx-B7LyVm5O.js";
1
+ import { t as e } from "./clsx-DSGuh5YW.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  import './assets/LoaderIcon.css';//#region lib/assets/loader.png
4
4
  var n = "data:image/png;base64,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", r = {
@@ -1,15 +1,15 @@
1
1
  import { useLocalizationContext as e } from "./contexts/LocalizationContext.js";
2
2
  import { usePrintContext as t } from "./contexts/PrintContext.js";
3
- import { t as n } from "./clsx-B7LyVm5O.js";
3
+ import { t as n } from "./clsx-DSGuh5YW.js";
4
4
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
5
  import './assets/LoadingIndicator.css';var a = {
6
- "rp-loading-overlay": "_rp-loading-overlay_wazy2_1",
7
- "rp-loading-modal": "_rp-loading-modal_wazy2_14",
8
- "rp-loading-title": "_rp-loading-title_wazy2_27",
9
- "rp-loading-progress-bar": "_rp-loading-progress-bar_wazy2_35",
10
- "rp-loading-progress": "_rp-loading-progress_wazy2_35",
11
- "rp-loading-cancel-button": "_rp-loading-cancel-button_wazy2_55",
12
- loading: "_loading_wazy2_1"
6
+ "rp-loading-overlay": "_rp-loading-overlay_8gxoj_1",
7
+ "rp-loading-modal": "_rp-loading-modal_8gxoj_14",
8
+ "rp-loading-title": "_rp-loading-title_8gxoj_27",
9
+ "rp-loading-progress-bar": "_rp-loading-progress-bar_8gxoj_35",
10
+ "rp-loading-progress": "_rp-loading-progress_8gxoj_35",
11
+ "rp-loading-cancel-button": "_rp-loading-cancel-button_8gxoj_55",
12
+ loading: "_loading_8gxoj_1"
13
13
  }, o = ({ percentage: o }) => {
14
14
  let { cancel: s } = t(), { localeMessages: c } = e();
15
15
  return o < 1 ? null : /* @__PURE__ */ r("div", {
@@ -0,0 +1,31 @@
1
+ import { t as e } from "./clsx-DSGuh5YW.js";
2
+ import { r as t } from "./dist-VbpVNBs6.js";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ import './assets/MenuItem.css';//#region lib/components/layout/toolbar/MenuItem.module.css
5
+ var r = { "rp-menu-item": "_rp-menu-item_1q6of_1" }, i = (i) => {
6
+ let { children: a, className: o, disabled: s = !1, onClick: c, onSelect: l, ...u } = i, d = (e) => {
7
+ if (s) {
8
+ e?.preventDefault(), e?.stopPropagation();
9
+ return;
10
+ }
11
+ c?.(e);
12
+ }, f = (e) => {
13
+ if (s) {
14
+ e?.preventDefault(), e?.stopPropagation();
15
+ return;
16
+ }
17
+ l?.(e);
18
+ };
19
+ return /* @__PURE__ */ n(t, {
20
+ ...u,
21
+ tabIndex: 0,
22
+ className: e(r["rp-menu-item"], o),
23
+ disabled: s,
24
+ "aria-disabled": s,
25
+ onClick: d,
26
+ onSelect: f,
27
+ children: a
28
+ });
29
+ };
30
+ //#endregion
31
+ export { i as t };
@@ -1,4 +1,4 @@
1
- import { o as e } from "./dist-CKteKPPA.js";
1
+ import { o as e } from "./dist-VbpVNBs6.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  import './assets/MenuSeparator.css';//#region lib/components/layout/toolbar/MenuSeparator.module.css
4
4
  var n = { "rp-menu-separator": "_rp-menu-separator_17dlz_1" }, r = () => /* @__PURE__ */ t(e, { className: n["rp-menu-separator"] });
@@ -0,0 +1,9 @@
1
+ import './assets/Paginate.css';//#region lib/components/layout/toolbar/Paginate.module.css
2
+ var e = {
3
+ "rp-paginate": "_rp-paginate_3amlb_1",
4
+ "rp-page-input": "_rp-page-input_3amlb_6",
5
+ "rp-total-page": "_rp-total-page_3amlb_29",
6
+ "rp-sr-only": "_rp-sr-only_3amlb_36"
7
+ };
8
+ //#endregion
9
+ export { e as t };