@yumiai/chat-widget 0.1.2 → 0.2.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 (107) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +119 -22
  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 +60113 -2970
  90. package/dist/index.cjs.map +1 -1
  91. package/dist/index.css +11342 -1708
  92. package/dist/index.css.map +1 -1
  93. package/dist/index.d.cts +3275 -77
  94. package/dist/index.d.ts +3275 -77
  95. package/dist/index.js +18078 -2540
  96. package/dist/index.js.map +1 -1
  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 +96 -17
@@ -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":[]}