@brftech/filex 0.1.56

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 (41) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +93 -0
  3. package/dist/ArchiveViewer-CMaBM4yZ.js +98 -0
  4. package/dist/ArchiveViewer-CMaBM4yZ.js.map +1 -0
  5. package/dist/CsvViewer-D5_c7bkP.js +131 -0
  6. package/dist/CsvViewer-D5_c7bkP.js.map +1 -0
  7. package/dist/DrawioViewer-CBOqWzaj.js +140 -0
  8. package/dist/DrawioViewer-CBOqWzaj.js.map +1 -0
  9. package/dist/EpubViewer-Cs6yZIP2.js +143 -0
  10. package/dist/EpubViewer-Cs6yZIP2.js.map +1 -0
  11. package/dist/IpynbViewer-wJhbhUla.js +171 -0
  12. package/dist/IpynbViewer-wJhbhUla.js.map +1 -0
  13. package/dist/MermaidViewer-k_XVXoc5.js +127 -0
  14. package/dist/MermaidViewer-k_XVXoc5.js.map +1 -0
  15. package/dist/PsdViewer-Bo4imBCF.js +109 -0
  16. package/dist/PsdViewer-Bo4imBCF.js.map +1 -0
  17. package/dist/TiffViewer-D73-Gyt-.js +130 -0
  18. package/dist/TiffViewer-D73-Gyt-.js.map +1 -0
  19. package/dist/UTIF-DSbsvqXu.js +3104 -0
  20. package/dist/UTIF-DSbsvqXu.js.map +1 -0
  21. package/dist/Viewer3D-Ba-RPIRz.js +60 -0
  22. package/dist/Viewer3D-Ba-RPIRz.js.map +1 -0
  23. package/dist/_commonjsHelpers-DaMA6jEr.js +9 -0
  24. package/dist/_commonjsHelpers-DaMA6jEr.js.map +1 -0
  25. package/dist/filex.js +5 -0
  26. package/dist/filex.js.map +1 -0
  27. package/dist/filex.umd.cjs +304 -0
  28. package/dist/filex.umd.cjs.map +1 -0
  29. package/dist/index-UFULWo35.js +10736 -0
  30. package/dist/index-UFULWo35.js.map +1 -0
  31. package/dist/index-idz8Cz5t.js +10623 -0
  32. package/dist/index-idz8Cz5t.js.map +1 -0
  33. package/dist/index.d.ts +23 -0
  34. package/dist/katex-yuB6V-q6.js +11616 -0
  35. package/dist/katex-yuB6V-q6.js.map +1 -0
  36. package/dist/papaparse.min-VB1HBwYX.js +441 -0
  37. package/dist/papaparse.min-VB1HBwYX.js.map +1 -0
  38. package/dist/style.css +1 -0
  39. package/dist/useViewerFetch-czqbd2Lj.js +25 -0
  40. package/dist/useViewerFetch-czqbd2Lj.js.map +1 -0
  41. package/package.json +63 -0
@@ -0,0 +1,60 @@
1
+ import { d as w, o as f, w as m, r as _, a as o, c as r, b as x, e as s, t as c, f as d, g as y, _ as k } from "./index-idz8Cz5t.js";
2
+ const g = { class: "filex-viewer-3d" }, h = {
3
+ key: 1,
4
+ class: "filex-viewer-fallback"
5
+ }, b = {
6
+ key: 2,
7
+ class: "filex-viewer-fallback"
8
+ }, D = /* @__PURE__ */ w({
9
+ __name: "Viewer3D",
10
+ props: {
11
+ url: {},
12
+ mime: {},
13
+ ext: {},
14
+ t: { type: Function }
15
+ },
16
+ setup(a) {
17
+ const e = a, u = /* @__PURE__ */ new Set(["glb", "gltf", "usdz"]), v = y(() => u.has((e.ext || "").toLowerCase())), t = d(null), n = d(!1);
18
+ async function i() {
19
+ if (n.value = !1, t.value = null, !v.value) {
20
+ t.value = e.t ? e.t("viewer.format_unsupported_3d") : `3D format ".${e.ext}" not supported in browser preview — please download.`;
21
+ return;
22
+ }
23
+ try {
24
+ await import(
25
+ /* @vite-ignore */
26
+ "@google/model-viewer"
27
+ ), n.value = !0;
28
+ } catch {
29
+ t.value = e.t ? e.t("viewer.peer_not_installed") : "3D viewer requires `@google/model-viewer` — install or use download.";
30
+ }
31
+ }
32
+ return f(i), m(() => e.url, () => {
33
+ i();
34
+ }), (S, l) => {
35
+ const p = _("model-viewer");
36
+ return o(), r("div", g, [
37
+ n.value && !t.value ? (o(), x(p, {
38
+ key: 0,
39
+ src: a.url,
40
+ "auto-rotate": "",
41
+ "camera-controls": "",
42
+ "touch-action": "pan-y",
43
+ "shadow-intensity": "1",
44
+ alt: a.ext + " model",
45
+ style: { width: "100%", height: "100%", "min-height": "480px", display: "block" }
46
+ }, null, 8, ["src", "alt"])) : t.value ? (o(), r("div", h, [
47
+ l[0] || (l[0] = s("span", { class: "filex-viewer-fallback__icon" }, "📦", -1)),
48
+ s("p", null, c(t.value), 1)
49
+ ])) : (o(), r("div", b, [
50
+ l[1] || (l[1] = s("span", { class: "filex-viewer-fallback__icon" }, "⏳", -1)),
51
+ s("p", null, c(a.t ? a.t("viewer.loading") : "Loading…"), 1)
52
+ ]))
53
+ ]);
54
+ };
55
+ }
56
+ }), C = /* @__PURE__ */ k(D, [["__scopeId", "data-v-d5c3ab71"]]);
57
+ export {
58
+ C as default
59
+ };
60
+ //# sourceMappingURL=Viewer3D-Ba-RPIRz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Viewer3D-Ba-RPIRz.js","sources":["../../core/src/viewers/Viewer3D.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\n/**\r\n * Viewer3D — 3D model preview via `@google/model-viewer`.\r\n *\r\n * Lazy-imports the `@google/model-viewer` web component (~80 KB).\r\n *\r\n * Format support: model-viewer **only** understands glTF (`.gltf`,\r\n * `.glb`) and USDZ (iOS). For unsupported formats (`.stl`, `.obj`,\r\n * `.fbx`, `.3ds`) we deliberately render a download fallback instead\r\n * of feeding them to model-viewer — earlier code did the latter,\r\n * which surfaced as `JSON.parse(<ascii STL>)` SyntaxError because\r\n * model-viewer parses the response body as glTF JSON. (sweep-2026-05-09\r\n * bugs 19-20.)\r\n *\r\n * GLB rendering size: model-viewer mounts its canvas inside a\r\n * shadow root that doesn't always inherit `height: 100%` from\r\n * flexbox parents — we pin explicit sizing on the host element\r\n * to avoid the \"Framebuffer is incomplete: zero size\" warning.\r\n * (sweep-2026-05-09 bug 21.)\r\n */\r\nimport { computed, onMounted, ref, watch } from 'vue';\r\n\r\nconst props = defineProps<{\r\n url: string;\r\n mime?: string;\r\n ext: string;\r\n /** Locale-aware error/loading messages. */\r\n t?: (key: string) => string;\r\n}>();\r\n\r\nconst SUPPORTED_EXTS = new Set(['glb', 'gltf', 'usdz']);\r\n\r\nconst isSupported = computed(() => SUPPORTED_EXTS.has((props.ext || '').toLowerCase()));\r\n\r\nconst error = ref<string | null>(null);\r\nconst ready = ref(false);\r\n\r\nasync function load(): Promise<void> {\r\n ready.value = false;\r\n error.value = null;\r\n // Bail out early for formats model-viewer can't parse — feeding\r\n // them to <model-viewer> triggers JSON.parse SyntaxError because\r\n // it expects glTF JSON.\r\n if (!isSupported.value) {\r\n error.value = props.t\r\n ? props.t('viewer.format_unsupported_3d')\r\n : `3D format \".${props.ext}\" not supported in browser preview — please download.`;\r\n return;\r\n }\r\n try {\r\n await import(/* @vite-ignore */ '@google/model-viewer');\r\n ready.value = true;\r\n } catch {\r\n error.value = props.t\r\n ? props.t('viewer.peer_not_installed')\r\n : '3D viewer requires `@google/model-viewer` — install or use download.';\r\n }\r\n}\r\n\r\nonMounted(load);\r\n\r\nwatch(() => props.url, () => {\r\n // Re-evaluate on URL change (different file may need different\r\n // fallback message).\r\n load();\r\n});\r\n</script>\r\n\r\n<template>\r\n <div class=\"filex-viewer-3d\">\r\n <model-viewer\r\n v-if=\"ready && !error\"\r\n :src=\"url\"\r\n auto-rotate\r\n camera-controls\r\n touch-action=\"pan-y\"\r\n shadow-intensity=\"1\"\r\n :alt=\"ext + ' model'\"\r\n style=\"width: 100%; height: 100%; min-height: 480px; display: block\"\r\n />\r\n <div v-else-if=\"error\" class=\"filex-viewer-fallback\">\r\n <span class=\"filex-viewer-fallback__icon\">📦</span>\r\n <p>{{ error }}</p>\r\n </div>\r\n <div v-else class=\"filex-viewer-fallback\">\r\n <span class=\"filex-viewer-fallback__icon\">⏳</span>\r\n <p>{{ t ? t('viewer.loading') : 'Loading…' }}</p>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<style scoped>\r\n.filex-viewer-3d {\r\n width: 100%;\r\n height: 100%;\r\n min-height: 480px;\r\n background: #1a1a1a;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n.filex-viewer-3d :deep(model-viewer) {\r\n width: 100%;\r\n height: 100%;\r\n min-height: 480px;\r\n background: #1a1a1a;\r\n display: block;\r\n}\r\n.filex-viewer-fallback {\r\n text-align: center;\r\n color: #c8cdd6;\r\n padding: 32px;\r\n max-width: 480px;\r\n}\r\n.filex-viewer-fallback__icon {\r\n font-size: 48px;\r\n display: block;\r\n margin-bottom: 12px;\r\n}\r\n</style>\r\n"],"names":["props","__props","SUPPORTED_EXTS","isSupported","computed","error","ref","ready","load","onMounted","watch","_openBlock","_createElementBlock","_hoisted_1","_createBlock","_component_model_viewer","_hoisted_2","_cache","_createElementVNode","_hoisted_3","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;AAsBA,UAAMA,IAAQC,GAQRC,IAAiB,oBAAI,IAAI,CAAC,OAAO,QAAQ,MAAM,CAAC,GAEhDC,IAAcC,EAAS,MAAMF,EAAe,KAAKF,EAAM,OAAO,IAAI,YAAA,CAAa,CAAC,GAEhFK,IAAQC,EAAmB,IAAI,GAC/BC,IAAQD,EAAI,EAAK;AAEvB,mBAAeE,IAAsB;AAMnC,UALAD,EAAM,QAAQ,IACdF,EAAM,QAAQ,MAIV,CAACF,EAAY,OAAO;AACtB,QAAAE,EAAM,QAAQL,EAAM,IAChBA,EAAM,EAAE,8BAA8B,IACtC,eAAeA,EAAM,GAAG;AAC5B;AAAA,MACF;AACA,UAAI;AACF,cAAM;AAAA;AAAA,UAA0B;AAAA,QAAA,GAChCO,EAAM,QAAQ;AAAA,MAChB,QAAQ;AACN,QAAAF,EAAM,QAAQL,EAAM,IAChBA,EAAM,EAAE,2BAA2B,IACnC;AAAA,MACN;AAAA,IACF;AAEA,WAAAS,EAAUD,CAAI,GAEdE,EAAM,MAAMV,EAAM,KAAK,MAAM;AAG3B,MAAAQ,EAAA;AAAA,IACF,CAAC;;AAIC,aAAAG,EAAA,GAAAC,EAmBM,OAnBNC,GAmBM;AAAA,QAjBIN,EAAA,UAAUF,EAAA,cADlBS,EASEC,GAAA;AAAA;UAPC,KAAKd,EAAA;AAAA,UACN,eAAA;AAAA,UACA,mBAAA;AAAA,UACA,gBAAa;AAAA,UACb,oBAAiB;AAAA,UAChB,KAAKA,EAAA,MAAG;AAAA,UACT,OAAA,EAAA,OAAA,QAAA,QAAA,QAAA,cAAA,SAAA,SAAA,QAAA;AAAA,QAAA,+BAEcI,EAAA,SAAhBM,EAAA,GAAAC,EAGM,OAHNI,GAGM;AAAA,UAFJC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAmD,QAAA,EAA7C,OAAM,8BAAA,GAA8B,MAAE,EAAA;AAAA,UAC5CA,EAAkB,aAAZb,EAAA,KAAK,GAAA,CAAA;AAAA,QAAA,OAEbM,EAAA,GAAAC,EAGM,OAHNO,GAGM;AAAA,UAFJF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAkD,QAAA,EAA5C,OAAM,8BAAA,GAA8B,KAAC,EAAA;AAAA,UAC3CA,EAAiD,KAAA,MAAAE,EAA3CnB,EAAA,IAAIA,EAAA,EAAC,gBAAA,IAAA,UAAA,GAAA,CAAA;AAAA,QAAA;;;;;"}
@@ -0,0 +1,9 @@
1
+ var o = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
2
+ function l(e) {
3
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
4
+ }
5
+ export {
6
+ o as c,
7
+ l as g
8
+ };
9
+ //# sourceMappingURL=_commonjsHelpers-DaMA6jEr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers-DaMA6jEr.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
package/dist/filex.js ADDED
@@ -0,0 +1,5 @@
1
+ import { p as m } from "./index-idz8Cz5t.js";
2
+ export {
3
+ m as FilexElement
4
+ };
5
+ //# sourceMappingURL=filex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filex.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}