@tonyclaw/llm-inspector 1.6.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 (286) hide show
  1. package/.output/nitro.json +17 -0
  2. package/.output/public/assets/alibaba-TTwafVwX.svg +1 -0
  3. package/.output/public/assets/index-B3RwBPLW.css +1 -0
  4. package/.output/public/assets/index-s4lwsWvq.js +97 -0
  5. package/.output/public/assets/main-Cp8AM0Pa.js +17 -0
  6. package/.output/public/assets/minimax-BPMzvuL-.jpeg +0 -0
  7. package/.output/public/assets/qwen-CONDcHqt.png +0 -0
  8. package/.output/public/assets/zhipuai-BPNAnxo-.svg +219 -0
  9. package/.output/server/_chunks/ssr-renderer.mjs +17 -0
  10. package/.output/server/_libs/@radix-ui/react-accessible-icon+[...].mjs +1 -0
  11. package/.output/server/_libs/@radix-ui/react-dismissable-layer+[...].mjs +210 -0
  12. package/.output/server/_libs/@radix-ui/react-navigation-menu+[...].mjs +1 -0
  13. package/.output/server/_libs/@radix-ui/react-one-time-password-field+[...].mjs +1 -0
  14. package/.output/server/_libs/@radix-ui/react-password-toggle-field+[...].mjs +1 -0
  15. package/.output/server/_libs/@radix-ui/react-use-callback-ref+[...].mjs +11 -0
  16. package/.output/server/_libs/@radix-ui/react-use-controllable-state+[...].mjs +69 -0
  17. package/.output/server/_libs/@radix-ui/react-use-effect-event+[...].mjs +1 -0
  18. package/.output/server/_libs/@radix-ui/react-use-escape-keydown+[...].mjs +17 -0
  19. package/.output/server/_libs/@radix-ui/react-use-is-hydrated+[...].mjs +1 -0
  20. package/.output/server/_libs/@radix-ui/react-use-layout-effect+[...].mjs +6 -0
  21. package/.output/server/_libs/@radix-ui/react-visually-hidden+[...].mjs +34 -0
  22. package/.output/server/_libs/ajv-formats.mjs +330 -0
  23. package/.output/server/_libs/ajv.mjs +11444 -0
  24. package/.output/server/_libs/aria-hidden.mjs +122 -0
  25. package/.output/server/_libs/atomically.mjs +152 -0
  26. package/.output/server/_libs/bail.mjs +8 -0
  27. package/.output/server/_libs/character-entities.mjs +2130 -0
  28. package/.output/server/_libs/class-variance-authority.mjs +44 -0
  29. package/.output/server/_libs/clsx.mjs +16 -0
  30. package/.output/server/_libs/comma-separated-tokens.mjs +10 -0
  31. package/.output/server/_libs/conf.mjs +635 -0
  32. package/.output/server/_libs/cookie-es.mjs +58 -0
  33. package/.output/server/_libs/core-util-is.mjs +75 -0
  34. package/.output/server/_libs/croner.mjs +1 -0
  35. package/.output/server/_libs/crossws.mjs +1 -0
  36. package/.output/server/_libs/debounce-fn.mjs +69 -0
  37. package/.output/server/_libs/decode-named-character-reference+[...].mjs +8 -0
  38. package/.output/server/_libs/detect-node-es.mjs +1 -0
  39. package/.output/server/_libs/devlop.mjs +8 -0
  40. package/.output/server/_libs/dot-prop.mjs +265 -0
  41. package/.output/server/_libs/env-paths.mjs +57 -0
  42. package/.output/server/_libs/estree-util-is-identifier-name.mjs +11 -0
  43. package/.output/server/_libs/extend.mjs +97 -0
  44. package/.output/server/_libs/fast-deep-equal.mjs +38 -0
  45. package/.output/server/_libs/fast-uri.mjs +812 -0
  46. package/.output/server/_libs/floating-ui__core.mjs +725 -0
  47. package/.output/server/_libs/floating-ui__dom.mjs +622 -0
  48. package/.output/server/_libs/floating-ui__react-dom.mjs +292 -0
  49. package/.output/server/_libs/floating-ui__utils.mjs +320 -0
  50. package/.output/server/_libs/get-nonce.mjs +9 -0
  51. package/.output/server/_libs/h3-v2.mjs +276 -0
  52. package/.output/server/_libs/h3.mjs +400 -0
  53. package/.output/server/_libs/hast-util-to-jsx-runtime.mjs +388 -0
  54. package/.output/server/_libs/hast-util-whitespace.mjs +10 -0
  55. package/.output/server/_libs/hookable.mjs +1 -0
  56. package/.output/server/_libs/html-url-attributes.mjs +26 -0
  57. package/.output/server/_libs/immediate.mjs +74 -0
  58. package/.output/server/_libs/inherits.mjs +50 -0
  59. package/.output/server/_libs/inline-style-parser.mjs +142 -0
  60. package/.output/server/_libs/is-plain-obj.mjs +10 -0
  61. package/.output/server/_libs/isarray.mjs +14 -0
  62. package/.output/server/_libs/isbot.mjs +20 -0
  63. package/.output/server/_libs/json-schema-traverse.mjs +180 -0
  64. package/.output/server/_libs/jszip.mjs +3049 -0
  65. package/.output/server/_libs/lie.mjs +273 -0
  66. package/.output/server/_libs/lucide-react.mjs +368 -0
  67. package/.output/server/_libs/mdast-util-from-markdown.mjs +717 -0
  68. package/.output/server/_libs/mdast-util-to-hast.mjs +710 -0
  69. package/.output/server/_libs/mdast-util-to-string.mjs +38 -0
  70. package/.output/server/_libs/micromark-core-commonmark.mjs +2259 -0
  71. package/.output/server/_libs/micromark-factory-destination.mjs +94 -0
  72. package/.output/server/_libs/micromark-factory-label.mjs +63 -0
  73. package/.output/server/_libs/micromark-factory-space.mjs +24 -0
  74. package/.output/server/_libs/micromark-factory-title.mjs +65 -0
  75. package/.output/server/_libs/micromark-factory-whitespace.mjs +22 -0
  76. package/.output/server/_libs/micromark-util-character.mjs +44 -0
  77. package/.output/server/_libs/micromark-util-chunked.mjs +36 -0
  78. package/.output/server/_libs/micromark-util-classify-character+[...].mjs +12 -0
  79. package/.output/server/_libs/micromark-util-combine-extensions+[...].mjs +41 -0
  80. package/.output/server/_libs/micromark-util-decode-numeric-character-reference+[...].mjs +19 -0
  81. package/.output/server/_libs/micromark-util-decode-string.mjs +21 -0
  82. package/.output/server/_libs/micromark-util-encode.mjs +1 -0
  83. package/.output/server/_libs/micromark-util-html-tag-name.mjs +69 -0
  84. package/.output/server/_libs/micromark-util-normalize-identifier+[...].mjs +6 -0
  85. package/.output/server/_libs/micromark-util-resolve-all.mjs +15 -0
  86. package/.output/server/_libs/micromark-util-sanitize-uri.mjs +41 -0
  87. package/.output/server/_libs/micromark-util-subtokenize.mjs +346 -0
  88. package/.output/server/_libs/micromark.mjs +906 -0
  89. package/.output/server/_libs/mimic-function.mjs +47 -0
  90. package/.output/server/_libs/ohash.mjs +1 -0
  91. package/.output/server/_libs/pako.mjs +4223 -0
  92. package/.output/server/_libs/process-nextick-args.mjs +48 -0
  93. package/.output/server/_libs/property-information.mjs +1209 -0
  94. package/.output/server/_libs/radix-ui.mjs +1 -0
  95. package/.output/server/_libs/radix-ui__number.mjs +6 -0
  96. package/.output/server/_libs/radix-ui__primitive.mjs +11 -0
  97. package/.output/server/_libs/radix-ui__react-accordion.mjs +1 -0
  98. package/.output/server/_libs/radix-ui__react-alert-dialog.mjs +1 -0
  99. package/.output/server/_libs/radix-ui__react-arrow.mjs +23 -0
  100. package/.output/server/_libs/radix-ui__react-aspect-ratio.mjs +1 -0
  101. package/.output/server/_libs/radix-ui__react-avatar.mjs +1 -0
  102. package/.output/server/_libs/radix-ui__react-checkbox.mjs +1 -0
  103. package/.output/server/_libs/radix-ui__react-collapsible.mjs +144 -0
  104. package/.output/server/_libs/radix-ui__react-collection.mjs +69 -0
  105. package/.output/server/_libs/radix-ui__react-compose-refs.mjs +39 -0
  106. package/.output/server/_libs/radix-ui__react-context-menu.mjs +1 -0
  107. package/.output/server/_libs/radix-ui__react-context.mjs +78 -0
  108. package/.output/server/_libs/radix-ui__react-dialog.mjs +325 -0
  109. package/.output/server/_libs/radix-ui__react-direction.mjs +9 -0
  110. package/.output/server/_libs/radix-ui__react-dropdown-menu.mjs +1 -0
  111. package/.output/server/_libs/radix-ui__react-focus-guards.mjs +29 -0
  112. package/.output/server/_libs/radix-ui__react-focus-scope.mjs +206 -0
  113. package/.output/server/_libs/radix-ui__react-form.mjs +1 -0
  114. package/.output/server/_libs/radix-ui__react-hover-card.mjs +1 -0
  115. package/.output/server/_libs/radix-ui__react-id.mjs +14 -0
  116. package/.output/server/_libs/radix-ui__react-label.mjs +1 -0
  117. package/.output/server/_libs/radix-ui__react-menu.mjs +1 -0
  118. package/.output/server/_libs/radix-ui__react-menubar.mjs +1 -0
  119. package/.output/server/_libs/radix-ui__react-popover.mjs +1 -0
  120. package/.output/server/_libs/radix-ui__react-popper.mjs +286 -0
  121. package/.output/server/_libs/radix-ui__react-portal.mjs +16 -0
  122. package/.output/server/_libs/radix-ui__react-presence.mjs +128 -0
  123. package/.output/server/_libs/radix-ui__react-primitive.mjs +42 -0
  124. package/.output/server/_libs/radix-ui__react-progress.mjs +1 -0
  125. package/.output/server/_libs/radix-ui__react-radio-group.mjs +1 -0
  126. package/.output/server/_libs/radix-ui__react-roving-focus.mjs +224 -0
  127. package/.output/server/_libs/radix-ui__react-scroll-area.mjs +721 -0
  128. package/.output/server/_libs/radix-ui__react-select.mjs +1163 -0
  129. package/.output/server/_libs/radix-ui__react-separator.mjs +28 -0
  130. package/.output/server/_libs/radix-ui__react-slider.mjs +1 -0
  131. package/.output/server/_libs/radix-ui__react-slot.mjs +99 -0
  132. package/.output/server/_libs/radix-ui__react-switch.mjs +1 -0
  133. package/.output/server/_libs/radix-ui__react-tabs.mjs +189 -0
  134. package/.output/server/_libs/radix-ui__react-toast.mjs +1 -0
  135. package/.output/server/_libs/radix-ui__react-toggle-group.mjs +1 -0
  136. package/.output/server/_libs/radix-ui__react-toggle.mjs +1 -0
  137. package/.output/server/_libs/radix-ui__react-toolbar.mjs +1 -0
  138. package/.output/server/_libs/radix-ui__react-tooltip.mjs +495 -0
  139. package/.output/server/_libs/radix-ui__react-use-previous.mjs +14 -0
  140. package/.output/server/_libs/radix-ui__react-use-size.mjs +39 -0
  141. package/.output/server/_libs/react-dom.mjs +9935 -0
  142. package/.output/server/_libs/react-markdown.mjs +147 -0
  143. package/.output/server/_libs/react-remove-scroll-bar.mjs +82 -0
  144. package/.output/server/_libs/react-remove-scroll.mjs +328 -0
  145. package/.output/server/_libs/react-style-singleton.mjs +69 -0
  146. package/.output/server/_libs/react.mjs +515 -0
  147. package/.output/server/_libs/readable-stream.mjs +1518 -0
  148. package/.output/server/_libs/remark-parse.mjs +19 -0
  149. package/.output/server/_libs/remark-rehype.mjs +21 -0
  150. package/.output/server/_libs/rou3.mjs +8 -0
  151. package/.output/server/_libs/safe-buffer.mjs +64 -0
  152. package/.output/server/_libs/semver.mjs +1984 -0
  153. package/.output/server/_libs/seroval-plugins.mjs +58 -0
  154. package/.output/server/_libs/seroval.mjs +1765 -0
  155. package/.output/server/_libs/setimmediate.mjs +1 -0
  156. package/.output/server/_libs/space-separated-tokens.mjs +6 -0
  157. package/.output/server/_libs/srvx.mjs +334 -0
  158. package/.output/server/_libs/stubborn-fs.mjs +91 -0
  159. package/.output/server/_libs/stubborn-utils.mjs +66 -0
  160. package/.output/server/_libs/style-to-js.mjs +72 -0
  161. package/.output/server/_libs/style-to-object.mjs +38 -0
  162. package/.output/server/_libs/tailwind-merge.mjs +3010 -0
  163. package/.output/server/_libs/tanstack__history.mjs +217 -0
  164. package/.output/server/_libs/tanstack__react-router.mjs +1480 -0
  165. package/.output/server/_libs/tanstack__react-store.mjs +1 -0
  166. package/.output/server/_libs/tanstack__react-virtual.mjs +44 -0
  167. package/.output/server/_libs/tanstack__router-core.mjs +4827 -0
  168. package/.output/server/_libs/tanstack__store.mjs +1 -0
  169. package/.output/server/_libs/tanstack__virtual-core.mjs +1225 -0
  170. package/.output/server/_libs/tiny-invariant.mjs +12 -0
  171. package/.output/server/_libs/tiny-warning.mjs +5 -0
  172. package/.output/server/_libs/trim-lines.mjs +41 -0
  173. package/.output/server/_libs/trough.mjs +85 -0
  174. package/.output/server/_libs/tslib.mjs +576 -0
  175. package/.output/server/_libs/ufo.mjs +54 -0
  176. package/.output/server/_libs/uint8array-extras.mjs +69 -0
  177. package/.output/server/_libs/unctx.mjs +1 -0
  178. package/.output/server/_libs/ungap__structured-clone.mjs +212 -0
  179. package/.output/server/_libs/unified.mjs +661 -0
  180. package/.output/server/_libs/unist-util-is.mjs +100 -0
  181. package/.output/server/_libs/unist-util-position.mjs +27 -0
  182. package/.output/server/_libs/unist-util-stringify-position.mjs +27 -0
  183. package/.output/server/_libs/unist-util-visit-parents.mjs +82 -0
  184. package/.output/server/_libs/unist-util-visit.mjs +24 -0
  185. package/.output/server/_libs/unstorage.mjs +1 -0
  186. package/.output/server/_libs/use-callback-ref.mjs +66 -0
  187. package/.output/server/_libs/use-sidecar.mjs +106 -0
  188. package/.output/server/_libs/use-sync-external-store.mjs +1 -0
  189. package/.output/server/_libs/util-deprecate.mjs +12 -0
  190. package/.output/server/_libs/vfile-message.mjs +138 -0
  191. package/.output/server/_libs/vfile.mjs +467 -0
  192. package/.output/server/_libs/when-exit.mjs +53 -0
  193. package/.output/server/_libs/zod.mjs +4460 -0
  194. package/.output/server/_ssr/index-ByCLZu7J.mjs +3061 -0
  195. package/.output/server/_ssr/index.mjs +1176 -0
  196. package/.output/server/_ssr/router-Bq_mxeNz.mjs +2872 -0
  197. package/.output/server/_ssr/start-HYkvq4Ni.mjs +4 -0
  198. package/.output/server/_tanstack-start-manifest_v-C4E0e9my.mjs +4 -0
  199. package/.output/server/index.mjs +393 -0
  200. package/README.md +196 -0
  201. package/package.json +91 -0
  202. package/src/assets/logos/alibaba.svg +1 -0
  203. package/src/assets/logos/anthropic.svg +1 -0
  204. package/src/assets/logos/deepseek.svg +1 -0
  205. package/src/assets/logos/minimax.jpeg +0 -0
  206. package/src/assets/logos/openai.svg +1 -0
  207. package/src/assets/logos/qwen.png +0 -0
  208. package/src/assets/logos/zhipuai.svg +219 -0
  209. package/src/cli.ts +68 -0
  210. package/src/components/ProxyViewer.tsx +325 -0
  211. package/src/components/ProxyViewerContainer.tsx +211 -0
  212. package/src/components/providers/ProviderCard.tsx +186 -0
  213. package/src/components/providers/ProviderForm.tsx +259 -0
  214. package/src/components/providers/ProviderLogo.tsx +111 -0
  215. package/src/components/providers/ProvidersPanel.tsx +259 -0
  216. package/src/components/providers/SettingsDialog.tsx +39 -0
  217. package/src/components/proxy-viewer/ConversationGroup.tsx +68 -0
  218. package/src/components/proxy-viewer/ConversationHeader.tsx +141 -0
  219. package/src/components/proxy-viewer/LogEntry.tsx +225 -0
  220. package/src/components/proxy-viewer/LogEntryHeader.tsx +250 -0
  221. package/src/components/proxy-viewer/ReplayDialog.tsx +208 -0
  222. package/src/components/proxy-viewer/ResponseView.tsx +161 -0
  223. package/src/components/proxy-viewer/StreamingChunkSequence.tsx +171 -0
  224. package/src/components/proxy-viewer/formats/anthropic/ContentBlocks.tsx +139 -0
  225. package/src/components/proxy-viewer/formats/anthropic/ResponseView.tsx +64 -0
  226. package/src/components/proxy-viewer/formats/index.tsx +24 -0
  227. package/src/components/proxy-viewer/formats/openai/ResponseView.tsx +80 -0
  228. package/src/components/proxy-viewer/index.ts +8 -0
  229. package/src/components/ui/badge.tsx +47 -0
  230. package/src/components/ui/button.tsx +47 -0
  231. package/src/components/ui/collapsible.tsx +21 -0
  232. package/src/components/ui/dialog.tsx +129 -0
  233. package/src/components/ui/json-viewer.tsx +464 -0
  234. package/src/components/ui/scroll-area.tsx +54 -0
  235. package/src/components/ui/select.tsx +178 -0
  236. package/src/components/ui/separator.tsx +28 -0
  237. package/src/components/ui/tabs.tsx +88 -0
  238. package/src/components/ui/tooltip.tsx +51 -0
  239. package/src/index.css +11 -0
  240. package/src/lib/export-logs.ts +51 -0
  241. package/src/lib/utils.ts +22 -0
  242. package/src/proxy/chunkStorage.ts +118 -0
  243. package/src/proxy/constants.ts +36 -0
  244. package/src/proxy/formats/anthropic/anthropicProvider.ts +75 -0
  245. package/src/proxy/formats/anthropic/handler.ts +74 -0
  246. package/src/proxy/formats/anthropic/index.ts +14 -0
  247. package/src/proxy/formats/anthropic/register.ts +4 -0
  248. package/src/proxy/formats/anthropic/schemas.ts +217 -0
  249. package/src/proxy/formats/anthropic/stream.ts +167 -0
  250. package/src/proxy/formats/handler.ts +46 -0
  251. package/src/proxy/formats/index.ts +12 -0
  252. package/src/proxy/formats/jsonSchema.ts +24 -0
  253. package/src/proxy/formats/openai/alibabaProvider.ts +38 -0
  254. package/src/proxy/formats/openai/handler.ts +70 -0
  255. package/src/proxy/formats/openai/index.ts +25 -0
  256. package/src/proxy/formats/openai/provider.ts +50 -0
  257. package/src/proxy/formats/openai/register.ts +4 -0
  258. package/src/proxy/formats/openai/schemas.ts +150 -0
  259. package/src/proxy/formats/openai/stream.ts +153 -0
  260. package/src/proxy/formats/protocol.ts +50 -0
  261. package/src/proxy/formats/providerRegistry.ts +51 -0
  262. package/src/proxy/formats/providers/index.ts +3 -0
  263. package/src/proxy/formats/registry.ts +61 -0
  264. package/src/proxy/handler.ts +389 -0
  265. package/src/proxy/logIndex.ts +187 -0
  266. package/src/proxy/logger.ts +99 -0
  267. package/src/proxy/providers.ts +234 -0
  268. package/src/proxy/schemas.ts +160 -0
  269. package/src/proxy/socketTracker.ts +158 -0
  270. package/src/proxy/store.ts +386 -0
  271. package/src/router.tsx +16 -0
  272. package/src/routes/__root.tsx +38 -0
  273. package/src/routes/api/config.paths.ts +14 -0
  274. package/src/routes/api/health.ts +11 -0
  275. package/src/routes/api/logs.$id.chunks.ts +36 -0
  276. package/src/routes/api/logs.$id.replay.ts +262 -0
  277. package/src/routes/api/logs.$id.ts +22 -0
  278. package/src/routes/api/logs.stream.ts +64 -0
  279. package/src/routes/api/logs.ts +30 -0
  280. package/src/routes/api/models.ts +10 -0
  281. package/src/routes/api/providers.$providerId.ts +45 -0
  282. package/src/routes/api/providers.ts +37 -0
  283. package/src/routes/api/sessions.ts +10 -0
  284. package/src/routes/index.tsx +6 -0
  285. package/src/routes/proxy/$.ts +15 -0
  286. package/styles/globals.css +121 -0
@@ -0,0 +1,292 @@
1
+ import { c as computePosition, o as offset$1, s as shift$1, f as flip$1, a as size$1, h as hide$1, b as arrow$2, l as limitShift$1 } from "./floating-ui__dom.mjs";
2
+ import { r as reactExports } from "./react.mjs";
3
+ import { r as reactDomExports } from "./react-dom.mjs";
4
+ var isClient = typeof document !== "undefined";
5
+ var noop = function noop2() {
6
+ };
7
+ var index = isClient ? reactExports.useLayoutEffect : noop;
8
+ function deepEqual(a, b) {
9
+ if (a === b) {
10
+ return true;
11
+ }
12
+ if (typeof a !== typeof b) {
13
+ return false;
14
+ }
15
+ if (typeof a === "function" && a.toString() === b.toString()) {
16
+ return true;
17
+ }
18
+ let length;
19
+ let i;
20
+ let keys;
21
+ if (a && b && typeof a === "object") {
22
+ if (Array.isArray(a)) {
23
+ length = a.length;
24
+ if (length !== b.length) return false;
25
+ for (i = length; i-- !== 0; ) {
26
+ if (!deepEqual(a[i], b[i])) {
27
+ return false;
28
+ }
29
+ }
30
+ return true;
31
+ }
32
+ keys = Object.keys(a);
33
+ length = keys.length;
34
+ if (length !== Object.keys(b).length) {
35
+ return false;
36
+ }
37
+ for (i = length; i-- !== 0; ) {
38
+ if (!{}.hasOwnProperty.call(b, keys[i])) {
39
+ return false;
40
+ }
41
+ }
42
+ for (i = length; i-- !== 0; ) {
43
+ const key = keys[i];
44
+ if (key === "_owner" && a.$$typeof) {
45
+ continue;
46
+ }
47
+ if (!deepEqual(a[key], b[key])) {
48
+ return false;
49
+ }
50
+ }
51
+ return true;
52
+ }
53
+ return a !== a && b !== b;
54
+ }
55
+ function getDPR(element) {
56
+ if (typeof window === "undefined") {
57
+ return 1;
58
+ }
59
+ const win = element.ownerDocument.defaultView || window;
60
+ return win.devicePixelRatio || 1;
61
+ }
62
+ function roundByDPR(element, value) {
63
+ const dpr = getDPR(element);
64
+ return Math.round(value * dpr) / dpr;
65
+ }
66
+ function useLatestRef(value) {
67
+ const ref = reactExports.useRef(value);
68
+ index(() => {
69
+ ref.current = value;
70
+ });
71
+ return ref;
72
+ }
73
+ function useFloating(options) {
74
+ if (options === void 0) {
75
+ options = {};
76
+ }
77
+ const {
78
+ placement = "bottom",
79
+ strategy = "absolute",
80
+ middleware = [],
81
+ platform,
82
+ elements: {
83
+ reference: externalReference,
84
+ floating: externalFloating
85
+ } = {},
86
+ transform = true,
87
+ whileElementsMounted,
88
+ open
89
+ } = options;
90
+ const [data, setData] = reactExports.useState({
91
+ x: 0,
92
+ y: 0,
93
+ strategy,
94
+ placement,
95
+ middlewareData: {},
96
+ isPositioned: false
97
+ });
98
+ const [latestMiddleware, setLatestMiddleware] = reactExports.useState(middleware);
99
+ if (!deepEqual(latestMiddleware, middleware)) {
100
+ setLatestMiddleware(middleware);
101
+ }
102
+ const [_reference, _setReference] = reactExports.useState(null);
103
+ const [_floating, _setFloating] = reactExports.useState(null);
104
+ const setReference = reactExports.useCallback((node) => {
105
+ if (node !== referenceRef.current) {
106
+ referenceRef.current = node;
107
+ _setReference(node);
108
+ }
109
+ }, []);
110
+ const setFloating = reactExports.useCallback((node) => {
111
+ if (node !== floatingRef.current) {
112
+ floatingRef.current = node;
113
+ _setFloating(node);
114
+ }
115
+ }, []);
116
+ const referenceEl = externalReference || _reference;
117
+ const floatingEl = externalFloating || _floating;
118
+ const referenceRef = reactExports.useRef(null);
119
+ const floatingRef = reactExports.useRef(null);
120
+ const dataRef = reactExports.useRef(data);
121
+ const hasWhileElementsMounted = whileElementsMounted != null;
122
+ const whileElementsMountedRef = useLatestRef(whileElementsMounted);
123
+ const platformRef = useLatestRef(platform);
124
+ const openRef = useLatestRef(open);
125
+ const update = reactExports.useCallback(() => {
126
+ if (!referenceRef.current || !floatingRef.current) {
127
+ return;
128
+ }
129
+ const config = {
130
+ placement,
131
+ strategy,
132
+ middleware: latestMiddleware
133
+ };
134
+ if (platformRef.current) {
135
+ config.platform = platformRef.current;
136
+ }
137
+ computePosition(referenceRef.current, floatingRef.current, config).then((data2) => {
138
+ const fullData = {
139
+ ...data2,
140
+ // The floating element's position may be recomputed while it's closed
141
+ // but still mounted (such as when transitioning out). To ensure
142
+ // `isPositioned` will be `false` initially on the next open, avoid
143
+ // setting it to `true` when `open === false` (must be specified).
144
+ isPositioned: openRef.current !== false
145
+ };
146
+ if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
147
+ dataRef.current = fullData;
148
+ reactDomExports.flushSync(() => {
149
+ setData(fullData);
150
+ });
151
+ }
152
+ });
153
+ }, [latestMiddleware, placement, strategy, platformRef, openRef]);
154
+ index(() => {
155
+ if (open === false && dataRef.current.isPositioned) {
156
+ dataRef.current.isPositioned = false;
157
+ setData((data2) => ({
158
+ ...data2,
159
+ isPositioned: false
160
+ }));
161
+ }
162
+ }, [open]);
163
+ const isMountedRef = reactExports.useRef(false);
164
+ index(() => {
165
+ isMountedRef.current = true;
166
+ return () => {
167
+ isMountedRef.current = false;
168
+ };
169
+ }, []);
170
+ index(() => {
171
+ if (referenceEl) referenceRef.current = referenceEl;
172
+ if (floatingEl) floatingRef.current = floatingEl;
173
+ if (referenceEl && floatingEl) {
174
+ if (whileElementsMountedRef.current) {
175
+ return whileElementsMountedRef.current(referenceEl, floatingEl, update);
176
+ }
177
+ update();
178
+ }
179
+ }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);
180
+ const refs = reactExports.useMemo(() => ({
181
+ reference: referenceRef,
182
+ floating: floatingRef,
183
+ setReference,
184
+ setFloating
185
+ }), [setReference, setFloating]);
186
+ const elements = reactExports.useMemo(() => ({
187
+ reference: referenceEl,
188
+ floating: floatingEl
189
+ }), [referenceEl, floatingEl]);
190
+ const floatingStyles = reactExports.useMemo(() => {
191
+ const initialStyles = {
192
+ position: strategy,
193
+ left: 0,
194
+ top: 0
195
+ };
196
+ if (!elements.floating) {
197
+ return initialStyles;
198
+ }
199
+ const x = roundByDPR(elements.floating, data.x);
200
+ const y = roundByDPR(elements.floating, data.y);
201
+ if (transform) {
202
+ return {
203
+ ...initialStyles,
204
+ transform: "translate(" + x + "px, " + y + "px)",
205
+ ...getDPR(elements.floating) >= 1.5 && {
206
+ willChange: "transform"
207
+ }
208
+ };
209
+ }
210
+ return {
211
+ position: strategy,
212
+ left: x,
213
+ top: y
214
+ };
215
+ }, [strategy, transform, elements.floating, data.x, data.y]);
216
+ return reactExports.useMemo(() => ({
217
+ ...data,
218
+ update,
219
+ refs,
220
+ elements,
221
+ floatingStyles
222
+ }), [data, update, refs, elements, floatingStyles]);
223
+ }
224
+ const arrow$1 = (options) => {
225
+ function isRef(value) {
226
+ return {}.hasOwnProperty.call(value, "current");
227
+ }
228
+ return {
229
+ name: "arrow",
230
+ options,
231
+ fn(state) {
232
+ const {
233
+ element,
234
+ padding
235
+ } = typeof options === "function" ? options(state) : options;
236
+ if (element && isRef(element)) {
237
+ if (element.current != null) {
238
+ return arrow$2({
239
+ element: element.current,
240
+ padding
241
+ }).fn(state);
242
+ }
243
+ return {};
244
+ }
245
+ if (element) {
246
+ return arrow$2({
247
+ element,
248
+ padding
249
+ }).fn(state);
250
+ }
251
+ return {};
252
+ }
253
+ };
254
+ };
255
+ const offset = (options, deps) => ({
256
+ ...offset$1(options),
257
+ options: [options, deps]
258
+ });
259
+ const shift = (options, deps) => ({
260
+ ...shift$1(options),
261
+ options: [options, deps]
262
+ });
263
+ const limitShift = (options, deps) => ({
264
+ ...limitShift$1(options),
265
+ options: [options, deps]
266
+ });
267
+ const flip = (options, deps) => ({
268
+ ...flip$1(options),
269
+ options: [options, deps]
270
+ });
271
+ const size = (options, deps) => ({
272
+ ...size$1(options),
273
+ options: [options, deps]
274
+ });
275
+ const hide = (options, deps) => ({
276
+ ...hide$1(options),
277
+ options: [options, deps]
278
+ });
279
+ const arrow = (options, deps) => ({
280
+ ...arrow$1(options),
281
+ options: [options, deps]
282
+ });
283
+ export {
284
+ size as a,
285
+ arrow as b,
286
+ flip as f,
287
+ hide as h,
288
+ limitShift as l,
289
+ offset as o,
290
+ shift as s,
291
+ useFloating as u
292
+ };
@@ -0,0 +1,320 @@
1
+ const sides = ["top", "right", "bottom", "left"];
2
+ const min = Math.min;
3
+ const max = Math.max;
4
+ const round = Math.round;
5
+ const floor = Math.floor;
6
+ const createCoords = (v) => ({
7
+ x: v,
8
+ y: v
9
+ });
10
+ const oppositeSideMap = {
11
+ left: "right",
12
+ right: "left",
13
+ bottom: "top",
14
+ top: "bottom"
15
+ };
16
+ const oppositeAlignmentMap = {
17
+ start: "end",
18
+ end: "start"
19
+ };
20
+ function clamp(start, value, end) {
21
+ return max(start, min(value, end));
22
+ }
23
+ function evaluate(value, param) {
24
+ return typeof value === "function" ? value(param) : value;
25
+ }
26
+ function getSide(placement) {
27
+ return placement.split("-")[0];
28
+ }
29
+ function getAlignment(placement) {
30
+ return placement.split("-")[1];
31
+ }
32
+ function getOppositeAxis(axis) {
33
+ return axis === "x" ? "y" : "x";
34
+ }
35
+ function getAxisLength(axis) {
36
+ return axis === "y" ? "height" : "width";
37
+ }
38
+ const yAxisSides = /* @__PURE__ */ new Set(["top", "bottom"]);
39
+ function getSideAxis(placement) {
40
+ return yAxisSides.has(getSide(placement)) ? "y" : "x";
41
+ }
42
+ function getAlignmentAxis(placement) {
43
+ return getOppositeAxis(getSideAxis(placement));
44
+ }
45
+ function getAlignmentSides(placement, rects, rtl) {
46
+ if (rtl === void 0) {
47
+ rtl = false;
48
+ }
49
+ const alignment = getAlignment(placement);
50
+ const alignmentAxis = getAlignmentAxis(placement);
51
+ const length = getAxisLength(alignmentAxis);
52
+ let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top";
53
+ if (rects.reference[length] > rects.floating[length]) {
54
+ mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
55
+ }
56
+ return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
57
+ }
58
+ function getExpandedPlacements(placement) {
59
+ const oppositePlacement = getOppositePlacement(placement);
60
+ return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
61
+ }
62
+ function getOppositeAlignmentPlacement(placement) {
63
+ return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]);
64
+ }
65
+ const lrPlacement = ["left", "right"];
66
+ const rlPlacement = ["right", "left"];
67
+ const tbPlacement = ["top", "bottom"];
68
+ const btPlacement = ["bottom", "top"];
69
+ function getSideList(side, isStart, rtl) {
70
+ switch (side) {
71
+ case "top":
72
+ case "bottom":
73
+ if (rtl) return isStart ? rlPlacement : lrPlacement;
74
+ return isStart ? lrPlacement : rlPlacement;
75
+ case "left":
76
+ case "right":
77
+ return isStart ? tbPlacement : btPlacement;
78
+ default:
79
+ return [];
80
+ }
81
+ }
82
+ function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
83
+ const alignment = getAlignment(placement);
84
+ let list = getSideList(getSide(placement), direction === "start", rtl);
85
+ if (alignment) {
86
+ list = list.map((side) => side + "-" + alignment);
87
+ if (flipAlignment) {
88
+ list = list.concat(list.map(getOppositeAlignmentPlacement));
89
+ }
90
+ }
91
+ return list;
92
+ }
93
+ function getOppositePlacement(placement) {
94
+ return placement.replace(/left|right|bottom|top/g, (side) => oppositeSideMap[side]);
95
+ }
96
+ function expandPaddingObject(padding) {
97
+ return {
98
+ top: 0,
99
+ right: 0,
100
+ bottom: 0,
101
+ left: 0,
102
+ ...padding
103
+ };
104
+ }
105
+ function getPaddingObject(padding) {
106
+ return typeof padding !== "number" ? expandPaddingObject(padding) : {
107
+ top: padding,
108
+ right: padding,
109
+ bottom: padding,
110
+ left: padding
111
+ };
112
+ }
113
+ function rectToClientRect(rect) {
114
+ const {
115
+ x,
116
+ y,
117
+ width,
118
+ height
119
+ } = rect;
120
+ return {
121
+ width,
122
+ height,
123
+ top: y,
124
+ left: x,
125
+ right: x + width,
126
+ bottom: y + height,
127
+ x,
128
+ y
129
+ };
130
+ }
131
+ function hasWindow() {
132
+ return typeof window !== "undefined";
133
+ }
134
+ function getNodeName(node) {
135
+ if (isNode(node)) {
136
+ return (node.nodeName || "").toLowerCase();
137
+ }
138
+ return "#document";
139
+ }
140
+ function getWindow(node) {
141
+ var _node$ownerDocument;
142
+ return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
143
+ }
144
+ function getDocumentElement(node) {
145
+ var _ref;
146
+ return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
147
+ }
148
+ function isNode(value) {
149
+ if (!hasWindow()) {
150
+ return false;
151
+ }
152
+ return value instanceof Node || value instanceof getWindow(value).Node;
153
+ }
154
+ function isElement(value) {
155
+ if (!hasWindow()) {
156
+ return false;
157
+ }
158
+ return value instanceof Element || value instanceof getWindow(value).Element;
159
+ }
160
+ function isHTMLElement(value) {
161
+ if (!hasWindow()) {
162
+ return false;
163
+ }
164
+ return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
165
+ }
166
+ function isShadowRoot(value) {
167
+ if (!hasWindow() || typeof ShadowRoot === "undefined") {
168
+ return false;
169
+ }
170
+ return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
171
+ }
172
+ const invalidOverflowDisplayValues = /* @__PURE__ */ new Set(["inline", "contents"]);
173
+ function isOverflowElement(element) {
174
+ const {
175
+ overflow,
176
+ overflowX,
177
+ overflowY,
178
+ display
179
+ } = getComputedStyle(element);
180
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
181
+ }
182
+ const tableElements = /* @__PURE__ */ new Set(["table", "td", "th"]);
183
+ function isTableElement(element) {
184
+ return tableElements.has(getNodeName(element));
185
+ }
186
+ const topLayerSelectors = [":popover-open", ":modal"];
187
+ function isTopLayer(element) {
188
+ return topLayerSelectors.some((selector) => {
189
+ try {
190
+ return element.matches(selector);
191
+ } catch (_e) {
192
+ return false;
193
+ }
194
+ });
195
+ }
196
+ const transformProperties = ["transform", "translate", "scale", "rotate", "perspective"];
197
+ const willChangeValues = ["transform", "translate", "scale", "rotate", "perspective", "filter"];
198
+ const containValues = ["paint", "layout", "strict", "content"];
199
+ function isContainingBlock(elementOrCss) {
200
+ const webkit = isWebKit();
201
+ const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
202
+ return transformProperties.some((value) => css[value] ? css[value] !== "none" : false) || (css.containerType ? css.containerType !== "normal" : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== "none" : false) || !webkit && (css.filter ? css.filter !== "none" : false) || willChangeValues.some((value) => (css.willChange || "").includes(value)) || containValues.some((value) => (css.contain || "").includes(value));
203
+ }
204
+ function getContainingBlock(element) {
205
+ let currentNode = getParentNode(element);
206
+ while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
207
+ if (isContainingBlock(currentNode)) {
208
+ return currentNode;
209
+ } else if (isTopLayer(currentNode)) {
210
+ return null;
211
+ }
212
+ currentNode = getParentNode(currentNode);
213
+ }
214
+ return null;
215
+ }
216
+ function isWebKit() {
217
+ if (typeof CSS === "undefined" || !CSS.supports) return false;
218
+ return CSS.supports("-webkit-backdrop-filter", "none");
219
+ }
220
+ const lastTraversableNodeNames = /* @__PURE__ */ new Set(["html", "body", "#document"]);
221
+ function isLastTraversableNode(node) {
222
+ return lastTraversableNodeNames.has(getNodeName(node));
223
+ }
224
+ function getComputedStyle(element) {
225
+ return getWindow(element).getComputedStyle(element);
226
+ }
227
+ function getNodeScroll(element) {
228
+ if (isElement(element)) {
229
+ return {
230
+ scrollLeft: element.scrollLeft,
231
+ scrollTop: element.scrollTop
232
+ };
233
+ }
234
+ return {
235
+ scrollLeft: element.scrollX,
236
+ scrollTop: element.scrollY
237
+ };
238
+ }
239
+ function getParentNode(node) {
240
+ if (getNodeName(node) === "html") {
241
+ return node;
242
+ }
243
+ const result = (
244
+ // Step into the shadow DOM of the parent of a slotted node.
245
+ node.assignedSlot || // DOM Element detected.
246
+ node.parentNode || // ShadowRoot detected.
247
+ isShadowRoot(node) && node.host || // Fallback.
248
+ getDocumentElement(node)
249
+ );
250
+ return isShadowRoot(result) ? result.host : result;
251
+ }
252
+ function getNearestOverflowAncestor(node) {
253
+ const parentNode = getParentNode(node);
254
+ if (isLastTraversableNode(parentNode)) {
255
+ return node.ownerDocument ? node.ownerDocument.body : node.body;
256
+ }
257
+ if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
258
+ return parentNode;
259
+ }
260
+ return getNearestOverflowAncestor(parentNode);
261
+ }
262
+ function getOverflowAncestors(node, list, traverseIframes) {
263
+ var _node$ownerDocument2;
264
+ if (list === void 0) {
265
+ list = [];
266
+ }
267
+ if (traverseIframes === void 0) {
268
+ traverseIframes = true;
269
+ }
270
+ const scrollableAncestor = getNearestOverflowAncestor(node);
271
+ const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
272
+ const win = getWindow(scrollableAncestor);
273
+ if (isBody) {
274
+ const frameElement = getFrameElement(win);
275
+ return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
276
+ }
277
+ return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
278
+ }
279
+ function getFrameElement(win) {
280
+ return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
281
+ }
282
+ export {
283
+ getParentNode as A,
284
+ isLastTraversableNode as B,
285
+ isTableElement as C,
286
+ isContainingBlock as D,
287
+ getContainingBlock as E,
288
+ getNodeName as F,
289
+ isOverflowElement as G,
290
+ getNodeScroll as H,
291
+ getFrameElement as I,
292
+ floor as J,
293
+ isWebKit as K,
294
+ getAlignmentAxis as a,
295
+ getSide as b,
296
+ getAlignment as c,
297
+ getPaddingObject as d,
298
+ evaluate as e,
299
+ clamp as f,
300
+ getSideAxis as g,
301
+ getOppositePlacement as h,
302
+ getExpandedPlacements as i,
303
+ getOppositeAxisPlacements as j,
304
+ getAlignmentSides as k,
305
+ max as l,
306
+ min as m,
307
+ getAxisLength as n,
308
+ getOppositeAxis as o,
309
+ isElement as p,
310
+ getDocumentElement as q,
311
+ rectToClientRect as r,
312
+ sides as s,
313
+ getOverflowAncestors as t,
314
+ getComputedStyle as u,
315
+ isHTMLElement as v,
316
+ createCoords as w,
317
+ round as x,
318
+ getWindow as y,
319
+ isTopLayer as z
320
+ };
@@ -0,0 +1,9 @@
1
+ var getNonce = function() {
2
+ if (typeof __webpack_nonce__ !== "undefined") {
3
+ return __webpack_nonce__;
4
+ }
5
+ return void 0;
6
+ };
7
+ export {
8
+ getNonce as g
9
+ };