@particle-academy/react-fancy 5.53.0 → 5.54.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.
Files changed (132) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/README.md +3 -1
  3. package/dist/PdfViewer.types-BEk2Jq6p.d.ts +97 -0
  4. package/dist/PdfViewer.types-DyoUBa2g.d.cts +97 -0
  5. package/dist/accordion.cjs +3 -3
  6. package/dist/accordion.js +1 -1
  7. package/dist/autocomplete.cjs +2 -2
  8. package/dist/autocomplete.js +1 -1
  9. package/dist/chart.cjs +2 -2
  10. package/dist/chart.js +1 -1
  11. package/dist/{chunk-PRP5N7NY.js → chunk-35MF32VQ.js} +3 -3
  12. package/dist/{chunk-PRP5N7NY.js.map → chunk-35MF32VQ.js.map} +1 -1
  13. package/dist/{chunk-TJTC4WNY.cjs → chunk-4DGXL6JC.cjs} +3 -3
  14. package/dist/{chunk-TJTC4WNY.cjs.map → chunk-4DGXL6JC.cjs.map} +1 -1
  15. package/dist/{chunk-QAKIG43N.cjs → chunk-5IWKZ2WK.cjs} +3 -3
  16. package/dist/{chunk-QAKIG43N.cjs.map → chunk-5IWKZ2WK.cjs.map} +1 -1
  17. package/dist/chunk-7MDHCYEB.cjs +414 -0
  18. package/dist/chunk-7MDHCYEB.cjs.map +1 -0
  19. package/dist/{chunk-546K5LRX.cjs → chunk-CVDL6C2O.cjs} +3 -3
  20. package/dist/{chunk-546K5LRX.cjs.map → chunk-CVDL6C2O.cjs.map} +1 -1
  21. package/dist/{chunk-ZULMMW5W.js → chunk-EEFWVFKO.js} +3 -3
  22. package/dist/{chunk-ZULMMW5W.js.map → chunk-EEFWVFKO.js.map} +1 -1
  23. package/dist/{chunk-SONXLQPJ.cjs → chunk-EZA6GWZL.cjs} +7 -7
  24. package/dist/chunk-EZA6GWZL.cjs.map +1 -0
  25. package/dist/{chunk-45FDQ3R5.js → chunk-FRWOWDGX.js} +3 -3
  26. package/dist/{chunk-45FDQ3R5.js.map → chunk-FRWOWDGX.js.map} +1 -1
  27. package/dist/{chunk-36HG5JK6.cjs → chunk-GISORLGW.cjs} +3 -3
  28. package/dist/{chunk-36HG5JK6.cjs.map → chunk-GISORLGW.cjs.map} +1 -1
  29. package/dist/{chunk-BDUL42VO.cjs → chunk-GLGUQGAQ.cjs} +3 -3
  30. package/dist/{chunk-BDUL42VO.cjs.map → chunk-GLGUQGAQ.cjs.map} +1 -1
  31. package/dist/{chunk-A5DN2XNM.cjs → chunk-HTNQ5XUR.cjs} +3 -3
  32. package/dist/{chunk-A5DN2XNM.cjs.map → chunk-HTNQ5XUR.cjs.map} +1 -1
  33. package/dist/{chunk-ZKJLDBXA.cjs → chunk-ICI33QMY.cjs} +9 -9
  34. package/dist/{chunk-ZKJLDBXA.cjs.map → chunk-ICI33QMY.cjs.map} +1 -1
  35. package/dist/{chunk-JUQZMNPR.cjs → chunk-IEQK3LGI.cjs} +3 -3
  36. package/dist/{chunk-JUQZMNPR.cjs.map → chunk-IEQK3LGI.cjs.map} +1 -1
  37. package/dist/{chunk-MV6BK4WG.js → chunk-IUCYRQ4J.js} +6 -6
  38. package/dist/{chunk-MV6BK4WG.js.map → chunk-IUCYRQ4J.js.map} +1 -1
  39. package/dist/{chunk-N5XMBHX7.js → chunk-JXXUTPDH.js} +3 -3
  40. package/dist/{chunk-N5XMBHX7.js.map → chunk-JXXUTPDH.js.map} +1 -1
  41. package/dist/{chunk-WONP337S.cjs → chunk-JY7HPFOE.cjs} +6 -6
  42. package/dist/{chunk-WONP337S.cjs.map → chunk-JY7HPFOE.cjs.map} +1 -1
  43. package/dist/{chunk-4TVAHZ35.js → chunk-LZHGXRFD.js} +3 -3
  44. package/dist/{chunk-4TVAHZ35.js.map → chunk-LZHGXRFD.js.map} +1 -1
  45. package/dist/chunk-MORXQ5UM.js +412 -0
  46. package/dist/chunk-MORXQ5UM.js.map +1 -0
  47. package/dist/{chunk-D4QOV56U.js → chunk-MTTRPPHH.js} +3 -3
  48. package/dist/{chunk-D4QOV56U.js.map → chunk-MTTRPPHH.js.map} +1 -1
  49. package/dist/{chunk-Y7UE37QZ.js → chunk-NHGU2BWT.js} +3 -3
  50. package/dist/{chunk-Y7UE37QZ.js.map → chunk-NHGU2BWT.js.map} +1 -1
  51. package/dist/{chunk-VOHTL6WN.js → chunk-OC5OUZSD.js} +3 -3
  52. package/dist/{chunk-VOHTL6WN.js.map → chunk-OC5OUZSD.js.map} +1 -1
  53. package/dist/{chunk-3EWO5EBI.js → chunk-QGY5FPVM.js} +4 -4
  54. package/dist/{chunk-3EWO5EBI.js.map → chunk-QGY5FPVM.js.map} +1 -1
  55. package/dist/{chunk-E4TRDGSU.cjs → chunk-SLCR7A6W.cjs} +4 -4
  56. package/dist/{chunk-E4TRDGSU.cjs.map → chunk-SLCR7A6W.cjs.map} +1 -1
  57. package/dist/{chunk-OFNA5HS5.js → chunk-T45LBTXH.js} +3 -3
  58. package/dist/{chunk-OFNA5HS5.js.map → chunk-T45LBTXH.js.map} +1 -1
  59. package/dist/{chunk-XOYRJFMU.js → chunk-TKGMH5PA.js} +3 -3
  60. package/dist/{chunk-XOYRJFMU.js.map → chunk-TKGMH5PA.js.map} +1 -1
  61. package/dist/{chunk-A5RTALZJ.js → chunk-U4Y7ZXME.js} +7 -7
  62. package/dist/chunk-U4Y7ZXME.js.map +1 -0
  63. package/dist/{chunk-S3V2C4DW.cjs → chunk-UXYFM2XT.cjs} +4 -4
  64. package/dist/{chunk-S3V2C4DW.cjs.map → chunk-UXYFM2XT.cjs.map} +1 -1
  65. package/dist/{chunk-SW2MDI2E.cjs → chunk-VP7MT7LH.cjs} +5 -5
  66. package/dist/{chunk-SW2MDI2E.cjs.map → chunk-VP7MT7LH.cjs.map} +1 -1
  67. package/dist/{chunk-5DG4CAWS.js → chunk-YAPGHVBZ.js} +3 -3
  68. package/dist/{chunk-5DG4CAWS.js.map → chunk-YAPGHVBZ.js.map} +1 -1
  69. package/dist/{chunk-UVMIJCY3.js → chunk-YJHP5FVA.js} +7 -7
  70. package/dist/chunk-YJHP5FVA.js.map +1 -0
  71. package/dist/{chunk-3YA6FDVN.cjs → chunk-YJXP6AOL.cjs} +3 -3
  72. package/dist/{chunk-3YA6FDVN.cjs.map → chunk-YJXP6AOL.cjs.map} +1 -1
  73. package/dist/{chunk-QHN63FRP.cjs → chunk-YVTFODCJ.cjs} +3 -3
  74. package/dist/{chunk-QHN63FRP.cjs.map → chunk-YVTFODCJ.cjs.map} +1 -1
  75. package/dist/{chunk-3NIXNJ3I.js → chunk-ZASX5GO4.js} +3 -3
  76. package/dist/{chunk-3NIXNJ3I.js.map → chunk-ZASX5GO4.js.map} +1 -1
  77. package/dist/{chunk-LX23ZJDM.cjs → chunk-ZGDOWJKL.cjs} +7 -7
  78. package/dist/chunk-ZGDOWJKL.cjs.map +1 -0
  79. package/dist/content-renderer.cjs +4 -4
  80. package/dist/content-renderer.js +1 -1
  81. package/dist/editor.cjs +4 -4
  82. package/dist/editor.js +2 -2
  83. package/dist/{index-AesVUjQE.d.cts → index-Bd4br4sF.d.cts} +1 -1
  84. package/dist/{index-D3wJ8hrZ.d.ts → index-Bwrc9ktU.d.ts} +1 -1
  85. package/dist/index.cjs +71 -56
  86. package/dist/index.cjs.map +1 -1
  87. package/dist/index.d.cts +16 -2
  88. package/dist/index.d.ts +16 -2
  89. package/dist/index.js +32 -17
  90. package/dist/index.js.map +1 -1
  91. package/dist/inputs.cjs +4 -4
  92. package/dist/inputs.js +2 -2
  93. package/dist/json-editor.cjs +13 -13
  94. package/dist/json-editor.js +2 -2
  95. package/dist/kanban.cjs +3 -3
  96. package/dist/kanban.js +1 -1
  97. package/dist/media-viewer.cjs +3 -3
  98. package/dist/media-viewer.d.cts +2 -2
  99. package/dist/media-viewer.d.ts +2 -2
  100. package/dist/media-viewer.js +2 -2
  101. package/dist/menu.cjs +3 -3
  102. package/dist/menu.js +1 -1
  103. package/dist/mobile-menu.cjs +3 -3
  104. package/dist/mobile-menu.js +1 -1
  105. package/dist/multi-switch.cjs +2 -2
  106. package/dist/multi-switch.js +1 -1
  107. package/dist/navbar.cjs +3 -3
  108. package/dist/navbar.js +1 -1
  109. package/dist/pdf-viewer.cjs +2 -2
  110. package/dist/pdf-viewer.d.cts +13 -1
  111. package/dist/pdf-viewer.d.ts +13 -1
  112. package/dist/pdf-viewer.js +1 -1
  113. package/dist/select.cjs +2 -2
  114. package/dist/select.js +1 -1
  115. package/dist/sidebar.cjs +3 -3
  116. package/dist/sidebar.js +1 -1
  117. package/dist/table.cjs +11 -11
  118. package/dist/table.js +1 -1
  119. package/dist/timeline.cjs +4 -4
  120. package/dist/timeline.js +1 -1
  121. package/docs/PdfViewer.md +106 -4
  122. package/package.json +1 -1
  123. package/dist/PdfViewer.types-Bgn9EmZT.d.cts +0 -22
  124. package/dist/PdfViewer.types-xnPpdjJa.d.ts +0 -22
  125. package/dist/chunk-A5RTALZJ.js.map +0 -1
  126. package/dist/chunk-HRH5BIYG.js +0 -56
  127. package/dist/chunk-HRH5BIYG.js.map +0 -1
  128. package/dist/chunk-LX23ZJDM.cjs.map +0 -1
  129. package/dist/chunk-SONXLQPJ.cjs.map +0 -1
  130. package/dist/chunk-UVMIJCY3.js.map +0 -1
  131. package/dist/chunk-XM3W5ETT.cjs +0 -58
  132. package/dist/chunk-XM3W5ETT.cjs.map +0 -1
@@ -1,58 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkM5SEYDSS_cjs = require('./chunk-M5SEYDSS.cjs');
4
- var chunkZU5Q77OT_cjs = require('./chunk-ZU5Q77OT.cjs');
5
- var react = require('react');
6
- var jsxRuntime = require('react/jsx-runtime');
7
-
8
- var PdfViewer = react.forwardRef(
9
- ({ src, title = "PDF document", className, style, frame = false, frameProps }, ref) => {
10
- const viewer = /* @__PURE__ */ jsxRuntime.jsx(
11
- "div",
12
- {
13
- ref,
14
- "data-react-fancy-pdf-viewer": "",
15
- className: chunkZU5Q77OT_cjs.cn(
16
- "relative h-full min-h-[20rem] w-full overflow-hidden rounded-md bg-zinc-100 dark:bg-zinc-900",
17
- className
18
- ),
19
- style,
20
- children: /* @__PURE__ */ jsxRuntime.jsxs("object", { data: src, type: "application/pdf", className: "h-full w-full", children: [
21
- /* @__PURE__ */ jsxRuntime.jsx(
22
- "iframe",
23
- {
24
- src,
25
- title,
26
- className: "h-full w-full border-0"
27
- }
28
- ),
29
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col items-center justify-center gap-2 p-4 text-center text-sm text-[color:var(--fancy-text-muted,var(--color-zinc-500))] dark:text-[color:var(--fancy-text-muted-dark,var(--color-zinc-400))]", children: [
30
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "This browser can't display the PDF inline." }),
31
- /* @__PURE__ */ jsxRuntime.jsx(
32
- "a",
33
- {
34
- href: src,
35
- download: true,
36
- className: "font-medium text-blue-600 hover:underline dark:text-blue-400",
37
- children: "Download PDF"
38
- }
39
- )
40
- ] })
41
- ] })
42
- }
43
- );
44
- if (!frame) return viewer;
45
- return (
46
- // The browser variant, because the plugin swallows the pointer: hover over
47
- // the PDF never reaches the frame, so controls over it could not be
48
- // revealed, and its top-right corner is the PDF toolbar's. In the address
49
- // bar they are reachable and collide with nothing.
50
- /* @__PURE__ */ jsxRuntime.jsx(chunkM5SEYDSS_cjs.FauxClient, { variant: "browser", url: title, controls: { zoom: false }, fill: true, ...frameProps, children: viewer })
51
- );
52
- }
53
- );
54
- PdfViewer.displayName = "PdfViewer";
55
-
56
- exports.PdfViewer = PdfViewer;
57
- //# sourceMappingURL=chunk-XM3W5ETT.cjs.map
58
- //# sourceMappingURL=chunk-XM3W5ETT.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/PdfViewer/PdfViewer.tsx"],"names":["forwardRef","jsx","cn","jsxs","FauxClient"],"mappings":";;;;;;;AAeO,IAAM,SAAA,GAAYA,gBAAA;AAAA,EACvB,CAAC,EAAE,GAAA,EAAK,KAAA,GAAQ,cAAA,EAAgB,SAAA,EAAW,KAAA,EAAO,KAAA,GAAQ,KAAA,EAAO,UAAA,EAAW,EAAG,GAAA,KAAQ;AACrF,IAAA,MAAM,MAAA,mBACJC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,6BAAA,EAA4B,EAAA;AAAA,QAC5B,SAAA,EAAWC,oBAAA;AAAA,UACT,8FAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,KAAA;AAAA,QAEA,0CAAC,QAAA,EAAA,EAAO,IAAA,EAAM,KAAK,IAAA,EAAK,iBAAA,EAAkB,WAAU,eAAA,EAClD,QAAA,EAAA;AAAA,0BAAAD,cAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,GAAA;AAAA,cACA,KAAA;AAAA,cACA,SAAA,EAAU;AAAA;AAAA,WACZ;AAAA,0BACAE,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gNAAA,EACb,QAAA,EAAA;AAAA,4BAAAF,cAAA,CAAC,UAAK,QAAA,EAAA,4CAAA,EAA+C,CAAA;AAAA,4BACrDA,cAAA;AAAA,cAAC,GAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAM,GAAA;AAAA,gBACN,QAAA,EAAQ,IAAA;AAAA,gBACR,SAAA,EAAU,8DAAA;AAAA,gBACX,QAAA,EAAA;AAAA;AAAA;AAED,WAAA,EACF;AAAA,SAAA,EACF;AAAA;AAAA,KACF;AAGF,IAAA,IAAI,CAAC,OAAO,OAAO,MAAA;AAMnB,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKEA,cAAA,CAACG,4BAAA,EAAA,EAAW,OAAA,EAAQ,SAAA,EAAU,KAAK,KAAA,EAAO,QAAA,EAAU,EAAE,IAAA,EAAM,OAAM,EAAG,IAAA,EAAI,IAAA,EAAE,GAAG,YAC3E,QAAA,EAAA,MAAA,EACH;AAAA;AAAA,EAEJ;AACF;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"chunk-XM3W5ETT.cjs","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { FauxClient } from \"../FauxClient\";\nimport type { PdfViewerProps } from \"./PdfViewer.types\";\n\n/**\n * A standalone PDF viewer — embeds the document via the browser's native PDF\n * plugin (`<object>`), falling back to an `<iframe>`, then to a download link.\n * Fills its container, so give it a height (a `min-h` floor is built in).\n * Renders for PDF sources inside `<MediaViewer>`.\n *\n * ```tsx\n * <PdfViewer src=\"/report.pdf\" title=\"report.pdf\" style={{ height: 600 }} />\n * ```\n */\nexport const PdfViewer = forwardRef<HTMLDivElement, PdfViewerProps>(\n ({ src, title = \"PDF document\", className, style, frame = false, frameProps }, ref) => {\n const viewer = (\n <div\n ref={ref}\n data-react-fancy-pdf-viewer=\"\"\n className={cn(\n \"relative h-full min-h-[20rem] w-full overflow-hidden rounded-md bg-zinc-100 dark:bg-zinc-900\",\n className,\n )}\n style={style}\n >\n <object data={src} type=\"application/pdf\" className=\"h-full w-full\">\n <iframe\n src={src}\n title={title}\n className=\"h-full w-full border-0\"\n />\n <div className=\"flex h-full flex-col items-center justify-center gap-2 p-4 text-center text-sm text-[color:var(--fancy-text-muted,var(--color-zinc-500))] dark:text-[color:var(--fancy-text-muted-dark,var(--color-zinc-400))]\">\n <span>This browser can&apos;t display the PDF inline.</span>\n <a\n href={src}\n download\n className=\"font-medium text-blue-600 hover:underline dark:text-blue-400\"\n >\n Download PDF\n </a>\n </div>\n </object>\n </div>\n );\n\n if (!frame) return viewer;\n\n // Full screen from the frame; zoom stays on the browser's PDF toolbar. A\n // plugin fits the page to its box, so scaling the box only re-fits it, and\n // the `#zoom=` open parameter is relative to the page's real size, which a\n // frame cannot know -- its bar would jump by uneven steps.\n return (\n // The browser variant, because the plugin swallows the pointer: hover over\n // the PDF never reaches the frame, so controls over it could not be\n // revealed, and its top-right corner is the PDF toolbar's. In the address\n // bar they are reachable and collide with nothing.\n <FauxClient variant=\"browser\" url={title} controls={{ zoom: false }} fill {...frameProps}>\n {viewer}\n </FauxClient>\n );\n },\n);\n\nPdfViewer.displayName = \"PdfViewer\";\n"]}