@jetv/chat-widget 0.2.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 (107) hide show
  1. package/CHANGELOG.md +114 -0
  2. package/README.md +284 -0
  3. package/dist/ExcelCore-DJOIVQMI.js +11 -0
  4. package/dist/ExcelCore-DJOIVQMI.js.map +1 -0
  5. package/dist/ExcelViewer-3YLLYYIQ.js +65 -0
  6. package/dist/ExcelViewer-3YLLYYIQ.js.map +1 -0
  7. package/dist/GerberViewerA2UI-7CNT7HX4.css +693 -0
  8. package/dist/GerberViewerA2UI-7CNT7HX4.css.map +1 -0
  9. package/dist/GerberViewerA2UI-X5FWAD5M.js +57 -0
  10. package/dist/GerberViewerA2UI-X5FWAD5M.js.map +1 -0
  11. package/dist/GraphStatsLegend-D5bPeXB_.d.cts +607 -0
  12. package/dist/GraphStatsLegend-D5bPeXB_.d.ts +607 -0
  13. package/dist/JsonRenderStandalone-EIZM62JU.js +18 -0
  14. package/dist/JsonRenderStandalone-EIZM62JU.js.map +1 -0
  15. package/dist/JsonRenderStandalone-POB4Q3N3.css +2384 -0
  16. package/dist/JsonRenderStandalone-POB4Q3N3.css.map +1 -0
  17. package/dist/JsonRenderStandalone-UsTcST4G.d.cts +23 -0
  18. package/dist/JsonRenderStandalone-UsTcST4G.d.ts +23 -0
  19. package/dist/KicadViewer-GV6ZC4AQ.js +124 -0
  20. package/dist/KicadViewer-GV6ZC4AQ.js.map +1 -0
  21. package/dist/KicadViewerCore-U7BWZHKJ.js +11 -0
  22. package/dist/KicadViewerCore-U7BWZHKJ.js.map +1 -0
  23. package/dist/PdfViewer-CHPDRK46.js +51 -0
  24. package/dist/PdfViewer-CHPDRK46.js.map +1 -0
  25. package/dist/PdfViewer-LPYGQETK.css +1899 -0
  26. package/dist/PdfViewer-LPYGQETK.css.map +1 -0
  27. package/dist/PdfViewerCore-HJPEHSRA.js +364 -0
  28. package/dist/PdfViewerCore-HJPEHSRA.js.map +1 -0
  29. package/dist/PowerPointCore-FPDR2BL4.js +11 -0
  30. package/dist/PowerPointCore-FPDR2BL4.js.map +1 -0
  31. package/dist/PowerPointViewer-LQTO6UCU.js +61 -0
  32. package/dist/PowerPointViewer-LQTO6UCU.js.map +1 -0
  33. package/dist/StepViewerCore-7W3L3R4E.js +285 -0
  34. package/dist/StepViewerCore-7W3L3R4E.js.map +1 -0
  35. package/dist/ThreeViewerCore-N3QJD5QI.js +161 -0
  36. package/dist/ThreeViewerCore-N3QJD5QI.js.map +1 -0
  37. package/dist/WordCore-JKSXK2XD.js +11 -0
  38. package/dist/WordCore-JKSXK2XD.js.map +1 -0
  39. package/dist/WordViewer-ZHCQMHOH.js +61 -0
  40. package/dist/WordViewer-ZHCQMHOH.js.map +1 -0
  41. package/dist/chunk-2SKA3F5U.js +88 -0
  42. package/dist/chunk-2SKA3F5U.js.map +1 -0
  43. package/dist/chunk-2UC7YLVX.js +318 -0
  44. package/dist/chunk-2UC7YLVX.js.map +1 -0
  45. package/dist/chunk-3R6T3LBR.js +24 -0
  46. package/dist/chunk-3R6T3LBR.js.map +1 -0
  47. package/dist/chunk-56WRZM3R.js +398 -0
  48. package/dist/chunk-56WRZM3R.js.map +1 -0
  49. package/dist/chunk-7A4FY6FK.js +10226 -0
  50. package/dist/chunk-7A4FY6FK.js.map +1 -0
  51. package/dist/chunk-7D4SUZUM.js +38 -0
  52. package/dist/chunk-7D4SUZUM.js.map +1 -0
  53. package/dist/chunk-7S67DOHQ.js +436 -0
  54. package/dist/chunk-7S67DOHQ.js.map +1 -0
  55. package/dist/chunk-CFKGNAJM.js +14013 -0
  56. package/dist/chunk-CFKGNAJM.js.map +1 -0
  57. package/dist/chunk-GAMA3VA7.js +99 -0
  58. package/dist/chunk-GAMA3VA7.js.map +1 -0
  59. package/dist/chunk-GYXTSY22.js +639 -0
  60. package/dist/chunk-GYXTSY22.js.map +1 -0
  61. package/dist/chunk-K4KGNVL5.js +77 -0
  62. package/dist/chunk-K4KGNVL5.js.map +1 -0
  63. package/dist/chunk-KQV7IKET.js +1621 -0
  64. package/dist/chunk-KQV7IKET.js.map +1 -0
  65. package/dist/chunk-O3NXUM6C.js +1871 -0
  66. package/dist/chunk-O3NXUM6C.js.map +1 -0
  67. package/dist/chunk-PZXSASDY.js +83 -0
  68. package/dist/chunk-PZXSASDY.js.map +1 -0
  69. package/dist/chunk-QLVPIM6R.js +595 -0
  70. package/dist/chunk-QLVPIM6R.js.map +1 -0
  71. package/dist/chunk-VXJWGLZ7.js +21 -0
  72. package/dist/chunk-VXJWGLZ7.js.map +1 -0
  73. package/dist/chunk-XQ562W7I.js +116 -0
  74. package/dist/chunk-XQ562W7I.js.map +1 -0
  75. package/dist/components/JsonRender/standalone.cjs +39368 -0
  76. package/dist/components/JsonRender/standalone.cjs.map +1 -0
  77. package/dist/components/JsonRender/standalone.css +2384 -0
  78. package/dist/components/JsonRender/standalone.css.map +1 -0
  79. package/dist/components/JsonRender/standalone.d.cts +16 -0
  80. package/dist/components/JsonRender/standalone.d.ts +16 -0
  81. package/dist/components/JsonRender/standalone.js +38 -0
  82. package/dist/components/JsonRender/standalone.js.map +1 -0
  83. package/dist/gerber-2d-entry-OQ4SQRBY.js +3950 -0
  84. package/dist/gerber-2d-entry-OQ4SQRBY.js.map +1 -0
  85. package/dist/gerber-3d-entry-DEHDBOO2.js +3679 -0
  86. package/dist/gerber-3d-entry-DEHDBOO2.js.map +1 -0
  87. package/dist/gerber-simulation-entry-EBDX72XE.js +1801 -0
  88. package/dist/gerber-simulation-entry-EBDX72XE.js.map +1 -0
  89. package/dist/index.cjs +60420 -0
  90. package/dist/index.cjs.map +1 -0
  91. package/dist/index.css +11935 -0
  92. package/dist/index.css.map +1 -0
  93. package/dist/index.d.cts +3664 -0
  94. package/dist/index.d.ts +3664 -0
  95. package/dist/index.js +18762 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/provenance/index.cjs +2248 -0
  98. package/dist/provenance/index.cjs.map +1 -0
  99. package/dist/provenance/index.css +52 -0
  100. package/dist/provenance/index.css.map +1 -0
  101. package/dist/provenance/index.d.cts +12 -0
  102. package/dist/provenance/index.d.ts +12 -0
  103. package/dist/provenance/index.js +27 -0
  104. package/dist/provenance/index.js.map +1 -0
  105. package/dist/resolveToArrayBuffer-AQIDZHSQ.js +23 -0
  106. package/dist/resolveToArrayBuffer-AQIDZHSQ.js.map +1 -0
  107. package/package.json +148 -0
@@ -0,0 +1,99 @@
1
+ // src/contexts/ResourceContext.tsx
2
+ import { createContext, useContext } from "react";
3
+ var ResourceContext = createContext(null);
4
+ function useResourceContext() {
5
+ return useContext(ResourceContext);
6
+ }
7
+
8
+ // src/components/JsonRender/domain/injectStyles.ts
9
+ function injectStyles(id, css) {
10
+ if (typeof document === "undefined") return;
11
+ let el = document.getElementById(id);
12
+ if (!el) {
13
+ el = document.createElement("style");
14
+ el.id = id;
15
+ document.head.appendChild(el);
16
+ }
17
+ if (el.textContent !== css) {
18
+ el.textContent = css;
19
+ }
20
+ }
21
+
22
+ // src/hooks/useResource.ts
23
+ import { useState, useEffect, useRef } from "react";
24
+ var cache = /* @__PURE__ */ new Map();
25
+ var inflight = /* @__PURE__ */ new Map();
26
+ function useResource(input) {
27
+ const ctx = useResourceContext();
28
+ const [state, setState] = useState(() => {
29
+ if (input.url) return { loading: false, url: input.url };
30
+ if (input.content) return { loading: false, content: input.content };
31
+ if (input.resource_id) {
32
+ const cached = cache.get(input.resource_id);
33
+ if (cached) return cached;
34
+ return { loading: true };
35
+ }
36
+ return { loading: false, error: "No resource input provided" };
37
+ });
38
+ const prevIdRef = useRef(void 0);
39
+ useEffect(() => {
40
+ if (input.url) {
41
+ setState({ loading: false, url: input.url });
42
+ return;
43
+ }
44
+ if (!input.resource_id) {
45
+ if (input.content) setState({ loading: false, content: input.content });
46
+ return;
47
+ }
48
+ if (prevIdRef.current === input.resource_id && !state.loading) return;
49
+ prevIdRef.current = input.resource_id;
50
+ const cached = cache.get(input.resource_id);
51
+ if (cached) {
52
+ setState(cached);
53
+ return;
54
+ }
55
+ if (!ctx) {
56
+ setState({ loading: false, error: "No ResourceProvider in tree" });
57
+ return;
58
+ }
59
+ let cancelled = false;
60
+ setState({ loading: true });
61
+ const resourceId = input.resource_id;
62
+ let promise = inflight.get(resourceId);
63
+ if (!promise) {
64
+ promise = ctx.resolveResource(resourceId).then((result) => {
65
+ const resolved = {
66
+ loading: false,
67
+ url: result.url ?? result.contentUrl,
68
+ content: result.content,
69
+ mimeType: result.mimeType,
70
+ fileName: result.fileName,
71
+ gitPath: result.gitPath
72
+ };
73
+ cache.set(resourceId, resolved);
74
+ return resolved;
75
+ }).catch((err) => {
76
+ return { loading: false, error: String(err?.message ?? err) };
77
+ }).finally(() => {
78
+ inflight.delete(resourceId);
79
+ });
80
+ inflight.set(resourceId, promise);
81
+ }
82
+ promise.then((resolved) => {
83
+ if (cancelled) return;
84
+ setState(resolved);
85
+ });
86
+ return () => {
87
+ cancelled = true;
88
+ };
89
+ }, [input.url, input.resource_id, input.content, ctx]);
90
+ return state;
91
+ }
92
+
93
+ export {
94
+ ResourceContext,
95
+ useResourceContext,
96
+ injectStyles,
97
+ useResource
98
+ };
99
+ //# sourceMappingURL=chunk-GAMA3VA7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/contexts/ResourceContext.tsx","../src/components/JsonRender/domain/injectStyles.ts","../src/hooks/useResource.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { ResourceResolveResult, DirectoryFileEntry, ListDirectoryFilesOptions } from '../types.js'\n\nexport interface ResourceContextValue {\n resolveResource(resourceId: string): Promise<ResourceResolveResult>\n resolvePreviewUrl?(resourceId: string, format: 'html' | 'pdf'): Promise<string>\n listDirectoryFiles?(dirPrefix: string, options?: ListDirectoryFilesOptions): Promise<DirectoryFileEntry[]>\n sessionId?: number\n}\n\nexport const ResourceContext = createContext<ResourceContextValue | null>(null)\n\nexport function useResourceContext(): ResourceContextValue | null {\n return useContext(ResourceContext)\n}\n","/**\n * Inject or update a <style> element in document.head.\n * Unlike the old ensureStyles pattern, this always updates textContent\n * so that HMR/hot-reload picks up CSS changes during development.\n */\nexport function injectStyles(id: string, css: string): void {\n if (typeof document === 'undefined') return\n let el = document.getElementById(id) as HTMLStyleElement | null\n if (!el) {\n el = document.createElement('style')\n el.id = id\n document.head.appendChild(el)\n }\n if (el.textContent !== css) {\n el.textContent = css\n }\n}\n","import { useState, useEffect, useRef } from 'react'\nimport { useResourceContext } from '../contexts/ResourceContext.js'\n\nexport interface ResourceInput {\n resource_id?: string\n url?: string\n content?: string\n}\n\nexport interface ResourceState {\n loading: boolean\n error?: string\n url?: string\n content?: string\n mimeType?: string\n fileName?: string\n gitPath?: string\n}\n\nconst cache = new Map<string, ResourceState>()\nconst inflight = new Map<string, Promise<ResourceState>>()\n\n/**\n * Resolve a resource from url, resource_id, or inline content.\n * Priority: url > resource_id > content.\n */\nexport function useResource(input: ResourceInput): ResourceState {\n const ctx = useResourceContext()\n const [state, setState] = useState<ResourceState>(() => {\n if (input.url) return { loading: false, url: input.url }\n if (input.content) return { loading: false, content: input.content }\n if (input.resource_id) {\n const cached = cache.get(input.resource_id)\n if (cached) return cached\n return { loading: true }\n }\n return { loading: false, error: 'No resource input provided' }\n })\n\n const prevIdRef = useRef<string | undefined>(undefined)\n\n useEffect(() => {\n if (input.url) {\n setState({ loading: false, url: input.url })\n return\n }\n if (!input.resource_id) {\n if (input.content) setState({ loading: false, content: input.content })\n return\n }\n\n if (prevIdRef.current === input.resource_id && !state.loading) return\n prevIdRef.current = input.resource_id\n\n const cached = cache.get(input.resource_id)\n if (cached) {\n setState(cached)\n return\n }\n\n if (!ctx) {\n setState({ loading: false, error: 'No ResourceProvider in tree' })\n return\n }\n\n let cancelled = false\n setState({ loading: true })\n\n const resourceId = input.resource_id\n\n let promise = inflight.get(resourceId)\n if (!promise) {\n promise = ctx.resolveResource(resourceId).then(result => {\n const resolved: ResourceState = {\n loading: false,\n url: result.url ?? result.contentUrl,\n content: result.content,\n mimeType: result.mimeType,\n fileName: result.fileName,\n gitPath: result.gitPath,\n }\n cache.set(resourceId, resolved)\n return resolved\n }).catch(err => {\n return { loading: false, error: String(err?.message ?? err) } as ResourceState\n }).finally(() => {\n inflight.delete(resourceId)\n })\n inflight.set(resourceId, promise)\n }\n\n promise.then(resolved => {\n if (cancelled) return\n setState(resolved)\n })\n\n return () => { cancelled = true }\n }, [input.url, input.resource_id, input.content, ctx])\n\n return state\n}\n"],"mappings":";AAAA,SAAS,eAAe,kBAAkB;AAUnC,IAAM,kBAAkB,cAA2C,IAAI;AAEvE,SAAS,qBAAkD;AAChE,SAAO,WAAW,eAAe;AACnC;;;ACTO,SAAS,aAAa,IAAY,KAAmB;AAC1D,MAAI,OAAO,aAAa,YAAa;AACrC,MAAI,KAAK,SAAS,eAAe,EAAE;AACnC,MAAI,CAAC,IAAI;AACP,SAAK,SAAS,cAAc,OAAO;AACnC,OAAG,KAAK;AACR,aAAS,KAAK,YAAY,EAAE;AAAA,EAC9B;AACA,MAAI,GAAG,gBAAgB,KAAK;AAC1B,OAAG,cAAc;AAAA,EACnB;AACF;;;AChBA,SAAS,UAAU,WAAW,cAAc;AAmB5C,IAAM,QAAQ,oBAAI,IAA2B;AAC7C,IAAM,WAAW,oBAAI,IAAoC;AAMlD,SAAS,YAAY,OAAqC;AAC/D,QAAM,MAAM,mBAAmB;AAC/B,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAwB,MAAM;AACtD,QAAI,MAAM,IAAK,QAAO,EAAE,SAAS,OAAO,KAAK,MAAM,IAAI;AACvD,QAAI,MAAM,QAAS,QAAO,EAAE,SAAS,OAAO,SAAS,MAAM,QAAQ;AACnE,QAAI,MAAM,aAAa;AACrB,YAAM,SAAS,MAAM,IAAI,MAAM,WAAW;AAC1C,UAAI,OAAQ,QAAO;AACnB,aAAO,EAAE,SAAS,KAAK;AAAA,IACzB;AACA,WAAO,EAAE,SAAS,OAAO,OAAO,6BAA6B;AAAA,EAC/D,CAAC;AAED,QAAM,YAAY,OAA2B,MAAS;AAEtD,YAAU,MAAM;AACd,QAAI,MAAM,KAAK;AACb,eAAS,EAAE,SAAS,OAAO,KAAK,MAAM,IAAI,CAAC;AAC3C;AAAA,IACF;AACA,QAAI,CAAC,MAAM,aAAa;AACtB,UAAI,MAAM,QAAS,UAAS,EAAE,SAAS,OAAO,SAAS,MAAM,QAAQ,CAAC;AACtE;AAAA,IACF;AAEA,QAAI,UAAU,YAAY,MAAM,eAAe,CAAC,MAAM,QAAS;AAC/D,cAAU,UAAU,MAAM;AAE1B,UAAM,SAAS,MAAM,IAAI,MAAM,WAAW;AAC1C,QAAI,QAAQ;AACV,eAAS,MAAM;AACf;AAAA,IACF;AAEA,QAAI,CAAC,KAAK;AACR,eAAS,EAAE,SAAS,OAAO,OAAO,8BAA8B,CAAC;AACjE;AAAA,IACF;AAEA,QAAI,YAAY;AAChB,aAAS,EAAE,SAAS,KAAK,CAAC;AAE1B,UAAM,aAAa,MAAM;AAEzB,QAAI,UAAU,SAAS,IAAI,UAAU;AACrC,QAAI,CAAC,SAAS;AACZ,gBAAU,IAAI,gBAAgB,UAAU,EAAE,KAAK,YAAU;AACvD,cAAM,WAA0B;AAAA,UAC9B,SAAS;AAAA,UACT,KAAK,OAAO,OAAO,OAAO;AAAA,UAC1B,SAAS,OAAO;AAAA,UAChB,UAAU,OAAO;AAAA,UACjB,UAAU,OAAO;AAAA,UACjB,SAAS,OAAO;AAAA,QAClB;AACA,cAAM,IAAI,YAAY,QAAQ;AAC9B,eAAO;AAAA,MACT,CAAC,EAAE,MAAM,SAAO;AACd,eAAO,EAAE,SAAS,OAAO,OAAO,OAAO,KAAK,WAAW,GAAG,EAAE;AAAA,MAC9D,CAAC,EAAE,QAAQ,MAAM;AACf,iBAAS,OAAO,UAAU;AAAA,MAC5B,CAAC;AACD,eAAS,IAAI,YAAY,OAAO;AAAA,IAClC;AAEA,YAAQ,KAAK,cAAY;AACvB,UAAI,UAAW;AACf,eAAS,QAAQ;AAAA,IACnB,CAAC;AAED,WAAO,MAAM;AAAE,kBAAY;AAAA,IAAK;AAAA,EAClC,GAAG,CAAC,MAAM,KAAK,MAAM,aAAa,MAAM,SAAS,GAAG,CAAC;AAErD,SAAO;AACT;","names":[]}