@mailwoman/react 10.0.0 → 10.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 (389) hide show
  1. package/README.md +18 -16
  2. package/fonts.css +97 -22
  3. package/lib/common/About.tsx +10 -10
  4. package/lib/common/ClientOnly.tsx +2 -14
  5. package/lib/common/CopyButton.tsx +9 -3
  6. package/lib/common/LoadingIndicator.tsx +13 -5
  7. package/lib/common/PresetChips.tsx +11 -8
  8. package/lib/common/confidence-tiers.ts +8 -7
  9. package/lib/common/cx.ts +3 -1
  10. package/lib/common/text-tokens.ts +10 -13
  11. package/lib/common/useBuildInfo.ts +54 -0
  12. package/lib/common/useClipboard.ts +2 -11
  13. package/lib/common.ts +22 -0
  14. package/lib/index.ts +27 -18
  15. package/lib/map/AppIdentity.tsx +89 -0
  16. package/lib/map/CompareToggle.tsx +8 -31
  17. package/lib/map/DebugInfo.tsx +75 -0
  18. package/lib/map/Geocoder.tsx +65 -50
  19. package/lib/map/GeocoderControls.tsx +425 -141
  20. package/lib/map/GraticuleLayer.tsx +56 -0
  21. package/lib/map/MapCanvas.tsx +26 -13
  22. package/lib/map/MapChipRow.tsx +4 -8
  23. package/lib/map/MapCompass.tsx +18 -25
  24. package/lib/map/MapControlStack.tsx +11 -10
  25. package/lib/map/MapFooter.tsx +5 -17
  26. package/lib/map/MapProgressBar.tsx +10 -13
  27. package/lib/map/MapSearchBar.tsx +31 -17
  28. package/lib/map/MapSheet.tsx +24 -15
  29. package/lib/map/OverlayLayers.tsx +14 -3
  30. package/lib/map/PlaceAutocomplete.tsx +12 -21
  31. package/lib/map/PlaceMarker.tsx +10 -4
  32. package/lib/map/ResolvedPlaceLayers.tsx +14 -15
  33. package/lib/map/ResultCamera.tsx +10 -31
  34. package/lib/map/ResultOverlay.tsx +14 -16
  35. package/lib/map/ResultPanel.tsx +1 -20
  36. package/lib/map/VersionPicker.tsx +10 -19
  37. package/lib/map/fake-runtime.ts +46 -19
  38. package/lib/map/geometry.ts +14 -47
  39. package/lib/map/graticule.ts +80 -0
  40. package/lib/map/map-debug.ts +4 -2
  41. package/lib/map/place-render.ts +30 -62
  42. package/lib/map/types.ts +57 -116
  43. package/lib/map/useCompareState.ts +5 -4
  44. package/lib/map/useGeocode.ts +7 -5
  45. package/lib/map/useMapBearing.ts +13 -13
  46. package/lib/map/useMapLabelPick.ts +21 -30
  47. package/lib/map/useMapPlaceRender.ts +3 -7
  48. package/lib/map/usePlaceAutocomplete.ts +44 -50
  49. package/lib/map.ts +92 -0
  50. package/lib/pipeline/CandidatePicker.tsx +13 -5
  51. package/lib/pipeline/ConfidenceCell.tsx +2 -2
  52. package/lib/pipeline/FailureDiagnostic.tsx +8 -2
  53. package/lib/pipeline/PipelineExplorer.tsx +6 -3
  54. package/lib/pipeline/QueryForm.tsx +5 -2
  55. package/lib/pipeline/ResolvedPlace.tsx +2 -2
  56. package/lib/pipeline/SpanHighlight.tsx +7 -5
  57. package/lib/pipeline/TimingPanel.tsx +1 -1
  58. package/lib/pipeline/TreeView.tsx +2 -2
  59. package/lib/pipeline/copy.ts +22 -25
  60. package/lib/pipeline/presets.ts +15 -13
  61. package/lib/pipeline/types.ts +20 -17
  62. package/lib/pipeline/useParsePipeline.ts +16 -13
  63. package/lib/pipeline.ts +36 -0
  64. package/lib/poi/AbstainPanel.tsx +1 -1
  65. package/lib/poi/LiveResultsBlock.tsx +2 -1
  66. package/lib/poi/POIExplorer.tsx +29 -17
  67. package/lib/poi/QueryInput.tsx +1 -1
  68. package/lib/poi/SubjectPanel.tsx +4 -3
  69. package/lib/poi/runtime.ts +14 -16
  70. package/lib/poi/types.ts +58 -47
  71. package/lib/poi/usePOISearch.ts +91 -82
  72. package/lib/poi.ts +40 -0
  73. package/lib/runtime/useReleaseRuntime.ts +122 -90
  74. package/lib/search/SearchModal.tsx +478 -0
  75. package/lib/search/search.css +282 -0
  76. package/lib/search/types.ts +68 -0
  77. package/lib/search.ts +11 -0
  78. package/out/common/About.d.ts +6 -6
  79. package/out/common/About.d.ts.map +1 -1
  80. package/out/common/About.js +1 -1
  81. package/out/common/About.js.map +1 -1
  82. package/out/common/ClientOnly.d.ts +2 -11
  83. package/out/common/ClientOnly.d.ts.map +1 -1
  84. package/out/common/ClientOnly.js +1 -13
  85. package/out/common/ClientOnly.js.map +1 -1
  86. package/out/common/CopyButton.d.ts +9 -3
  87. package/out/common/CopyButton.d.ts.map +1 -1
  88. package/out/common/CopyButton.js.map +1 -1
  89. package/out/common/LoadingIndicator.d.ts +13 -5
  90. package/out/common/LoadingIndicator.d.ts.map +1 -1
  91. package/out/common/LoadingIndicator.js.map +1 -1
  92. package/out/common/PresetChips.d.ts +11 -8
  93. package/out/common/PresetChips.d.ts.map +1 -1
  94. package/out/common/PresetChips.js.map +1 -1
  95. package/out/common/confidence-tiers.d.ts +8 -7
  96. package/out/common/confidence-tiers.d.ts.map +1 -1
  97. package/out/common/confidence-tiers.js +7 -6
  98. package/out/common/confidence-tiers.js.map +1 -1
  99. package/out/common/cx.d.ts +3 -1
  100. package/out/common/cx.d.ts.map +1 -1
  101. package/out/common/cx.js +3 -1
  102. package/out/common/cx.js.map +1 -1
  103. package/out/common/text-tokens.d.ts +6 -11
  104. package/out/common/text-tokens.d.ts.map +1 -1
  105. package/out/common/text-tokens.js +6 -3
  106. package/out/common/text-tokens.js.map +1 -1
  107. package/out/common/useBuildInfo.d.ts +27 -0
  108. package/out/common/useBuildInfo.d.ts.map +1 -0
  109. package/out/common/useBuildInfo.js +32 -0
  110. package/out/common/useBuildInfo.js.map +1 -0
  111. package/out/common/useClipboard.d.ts +1 -3
  112. package/out/common/useClipboard.d.ts.map +1 -1
  113. package/out/common/useClipboard.js +2 -11
  114. package/out/common/useClipboard.js.map +1 -1
  115. package/out/common.d.ts +22 -0
  116. package/out/common.d.ts.map +1 -0
  117. package/out/common.js +15 -0
  118. package/out/common.js.map +1 -0
  119. package/out/index.d.ts +26 -16
  120. package/out/index.d.ts.map +1 -1
  121. package/out/index.js +21 -15
  122. package/out/index.js.map +1 -1
  123. package/out/map/AppIdentity.d.ts +46 -0
  124. package/out/map/AppIdentity.d.ts.map +1 -0
  125. package/out/map/AppIdentity.js +16 -0
  126. package/out/map/AppIdentity.js.map +1 -0
  127. package/out/map/CompareToggle.d.ts +8 -31
  128. package/out/map/CompareToggle.d.ts.map +1 -1
  129. package/out/map/CompareToggle.js +4 -1
  130. package/out/map/CompareToggle.js.map +1 -1
  131. package/out/map/DebugInfo.d.ts +27 -0
  132. package/out/map/DebugInfo.d.ts.map +1 -0
  133. package/out/map/DebugInfo.js +36 -0
  134. package/out/map/DebugInfo.js.map +1 -0
  135. package/out/map/Geocoder.d.ts +41 -30
  136. package/out/map/Geocoder.d.ts.map +1 -1
  137. package/out/map/Geocoder.js +23 -37
  138. package/out/map/Geocoder.js.map +1 -1
  139. package/out/map/GeocoderControls.d.ts +15 -44
  140. package/out/map/GeocoderControls.d.ts.map +1 -1
  141. package/out/map/GeocoderControls.js +250 -39
  142. package/out/map/GeocoderControls.js.map +1 -1
  143. package/out/map/GraticuleLayer.d.ts +30 -0
  144. package/out/map/GraticuleLayer.d.ts.map +1 -0
  145. package/out/map/GraticuleLayer.js +25 -0
  146. package/out/map/GraticuleLayer.js.map +1 -0
  147. package/out/map/MapCanvas.d.ts +26 -13
  148. package/out/map/MapCanvas.d.ts.map +1 -1
  149. package/out/map/MapCanvas.js +5 -2
  150. package/out/map/MapCanvas.js.map +1 -1
  151. package/out/map/MapChipRow.d.ts +4 -8
  152. package/out/map/MapChipRow.d.ts.map +1 -1
  153. package/out/map/MapChipRow.js.map +1 -1
  154. package/out/map/MapCompass.d.ts +14 -21
  155. package/out/map/MapCompass.d.ts.map +1 -1
  156. package/out/map/MapCompass.js +5 -1
  157. package/out/map/MapCompass.js.map +1 -1
  158. package/out/map/MapControlStack.d.ts +11 -10
  159. package/out/map/MapControlStack.d.ts.map +1 -1
  160. package/out/map/MapControlStack.js +4 -1
  161. package/out/map/MapControlStack.js.map +1 -1
  162. package/out/map/MapFooter.d.ts +5 -16
  163. package/out/map/MapFooter.d.ts.map +1 -1
  164. package/out/map/MapFooter.js +0 -14
  165. package/out/map/MapFooter.js.map +1 -1
  166. package/out/map/MapProgressBar.d.ts +10 -13
  167. package/out/map/MapProgressBar.d.ts.map +1 -1
  168. package/out/map/MapProgressBar.js.map +1 -1
  169. package/out/map/MapSearchBar.d.ts +16 -17
  170. package/out/map/MapSearchBar.d.ts.map +1 -1
  171. package/out/map/MapSearchBar.js +6 -0
  172. package/out/map/MapSearchBar.js.map +1 -1
  173. package/out/map/MapSheet.d.ts +15 -12
  174. package/out/map/MapSheet.d.ts.map +1 -1
  175. package/out/map/MapSheet.js +8 -12
  176. package/out/map/MapSheet.js.map +1 -1
  177. package/out/map/OverlayLayers.d.ts +8 -2
  178. package/out/map/OverlayLayers.d.ts.map +1 -1
  179. package/out/map/OverlayLayers.js +3 -3
  180. package/out/map/OverlayLayers.js.map +1 -1
  181. package/out/map/PlaceAutocomplete.d.ts +12 -21
  182. package/out/map/PlaceAutocomplete.d.ts.map +1 -1
  183. package/out/map/PlaceAutocomplete.js +2 -1
  184. package/out/map/PlaceAutocomplete.js.map +1 -1
  185. package/out/map/PlaceMarker.d.ts +10 -4
  186. package/out/map/PlaceMarker.d.ts.map +1 -1
  187. package/out/map/PlaceMarker.js +3 -1
  188. package/out/map/PlaceMarker.js.map +1 -1
  189. package/out/map/ResolvedPlaceLayers.d.ts +14 -15
  190. package/out/map/ResolvedPlaceLayers.d.ts.map +1 -1
  191. package/out/map/ResolvedPlaceLayers.js +1 -1
  192. package/out/map/ResolvedPlaceLayers.js.map +1 -1
  193. package/out/map/ResultCamera.d.ts +10 -31
  194. package/out/map/ResultCamera.d.ts.map +1 -1
  195. package/out/map/ResultCamera.js +3 -28
  196. package/out/map/ResultCamera.js.map +1 -1
  197. package/out/map/ResultOverlay.d.ts +14 -16
  198. package/out/map/ResultOverlay.d.ts.map +1 -1
  199. package/out/map/ResultOverlay.js +1 -2
  200. package/out/map/ResultOverlay.js.map +1 -1
  201. package/out/map/ResultPanel.d.ts +1 -20
  202. package/out/map/ResultPanel.d.ts.map +1 -1
  203. package/out/map/ResultPanel.js.map +1 -1
  204. package/out/map/VersionPicker.d.ts +7 -19
  205. package/out/map/VersionPicker.d.ts.map +1 -1
  206. package/out/map/VersionPicker.js +5 -2
  207. package/out/map/VersionPicker.js.map +1 -1
  208. package/out/map/fake-runtime.d.ts +9 -11
  209. package/out/map/fake-runtime.d.ts.map +1 -1
  210. package/out/map/fake-runtime.js +45 -19
  211. package/out/map/fake-runtime.js.map +1 -1
  212. package/out/map/geometry.d.ts +13 -34
  213. package/out/map/geometry.d.ts.map +1 -1
  214. package/out/map/geometry.js +9 -34
  215. package/out/map/geometry.js.map +1 -1
  216. package/out/map/graticule.d.ts +17 -0
  217. package/out/map/graticule.d.ts.map +1 -0
  218. package/out/map/graticule.js +67 -0
  219. package/out/map/graticule.js.map +1 -0
  220. package/out/map/map-debug.d.ts +4 -2
  221. package/out/map/map-debug.d.ts.map +1 -1
  222. package/out/map/map-debug.js +1 -1
  223. package/out/map/map-debug.js.map +1 -1
  224. package/out/map/place-render.d.ts +25 -45
  225. package/out/map/place-render.d.ts.map +1 -1
  226. package/out/map/place-render.js +4 -39
  227. package/out/map/place-render.js.map +1 -1
  228. package/out/map/types.d.ts +57 -113
  229. package/out/map/types.d.ts.map +1 -1
  230. package/out/map/types.js +1 -10
  231. package/out/map/types.js.map +1 -1
  232. package/out/map/useCompareState.d.ts +5 -4
  233. package/out/map/useCompareState.d.ts.map +1 -1
  234. package/out/map/useCompareState.js +3 -3
  235. package/out/map/useCompareState.js.map +1 -1
  236. package/out/map/useGeocode.d.ts +5 -3
  237. package/out/map/useGeocode.d.ts.map +1 -1
  238. package/out/map/useGeocode.js +4 -4
  239. package/out/map/useGeocode.js.map +1 -1
  240. package/out/map/useMapBearing.d.ts +11 -11
  241. package/out/map/useMapBearing.d.ts.map +1 -1
  242. package/out/map/useMapBearing.js +6 -11
  243. package/out/map/useMapBearing.js.map +1 -1
  244. package/out/map/useMapLabelPick.d.ts +4 -14
  245. package/out/map/useMapLabelPick.d.ts.map +1 -1
  246. package/out/map/useMapLabelPick.js +21 -30
  247. package/out/map/useMapLabelPick.js.map +1 -1
  248. package/out/map/useMapPlaceRender.d.ts +3 -7
  249. package/out/map/useMapPlaceRender.d.ts.map +1 -1
  250. package/out/map/useMapPlaceRender.js +2 -6
  251. package/out/map/useMapPlaceRender.js.map +1 -1
  252. package/out/map/usePlaceAutocomplete.d.ts +30 -28
  253. package/out/map/usePlaceAutocomplete.d.ts.map +1 -1
  254. package/out/map/usePlaceAutocomplete.js +6 -33
  255. package/out/map/usePlaceAutocomplete.js.map +1 -1
  256. package/out/map.d.ts +67 -0
  257. package/out/map.d.ts.map +1 -0
  258. package/out/map.js +45 -0
  259. package/out/map.js.map +1 -0
  260. package/out/pipeline/CandidatePicker.d.ts +12 -2
  261. package/out/pipeline/CandidatePicker.d.ts.map +1 -1
  262. package/out/pipeline/CandidatePicker.js +1 -1
  263. package/out/pipeline/CandidatePicker.js.map +1 -1
  264. package/out/pipeline/ConfidenceCell.d.ts +2 -2
  265. package/out/pipeline/ConfidenceCell.d.ts.map +1 -1
  266. package/out/pipeline/ConfidenceCell.js +1 -1
  267. package/out/pipeline/FailureDiagnostic.d.ts +8 -2
  268. package/out/pipeline/FailureDiagnostic.d.ts.map +1 -1
  269. package/out/pipeline/FailureDiagnostic.js +3 -0
  270. package/out/pipeline/FailureDiagnostic.js.map +1 -1
  271. package/out/pipeline/PipelineExplorer.d.ts +6 -2
  272. package/out/pipeline/PipelineExplorer.d.ts.map +1 -1
  273. package/out/pipeline/PipelineExplorer.js +1 -1
  274. package/out/pipeline/PipelineExplorer.js.map +1 -1
  275. package/out/pipeline/QueryForm.d.ts +5 -2
  276. package/out/pipeline/QueryForm.d.ts.map +1 -1
  277. package/out/pipeline/QueryForm.js.map +1 -1
  278. package/out/pipeline/ResolvedPlace.d.ts +1 -1
  279. package/out/pipeline/ResolvedPlace.d.ts.map +1 -1
  280. package/out/pipeline/SpanHighlight.d.ts +4 -3
  281. package/out/pipeline/SpanHighlight.d.ts.map +1 -1
  282. package/out/pipeline/SpanHighlight.js +3 -2
  283. package/out/pipeline/SpanHighlight.js.map +1 -1
  284. package/out/pipeline/TimingPanel.d.ts +1 -1
  285. package/out/pipeline/TreeView.d.ts +1 -1
  286. package/out/pipeline/TreeView.js.map +1 -1
  287. package/out/pipeline/copy.d.ts +1 -1
  288. package/out/pipeline/copy.d.ts.map +1 -1
  289. package/out/pipeline/copy.js +4 -3
  290. package/out/pipeline/copy.js.map +1 -1
  291. package/out/pipeline/presets.d.ts +5 -4
  292. package/out/pipeline/presets.d.ts.map +1 -1
  293. package/out/pipeline/presets.js +15 -13
  294. package/out/pipeline/presets.js.map +1 -1
  295. package/out/pipeline/types.d.ts +20 -17
  296. package/out/pipeline/types.d.ts.map +1 -1
  297. package/out/pipeline/types.js +2 -4
  298. package/out/pipeline/types.js.map +1 -1
  299. package/out/pipeline/useParsePipeline.d.ts +14 -9
  300. package/out/pipeline/useParsePipeline.d.ts.map +1 -1
  301. package/out/pipeline/useParsePipeline.js +7 -8
  302. package/out/pipeline/useParsePipeline.js.map +1 -1
  303. package/out/pipeline.d.ts +33 -0
  304. package/out/pipeline.d.ts.map +1 -0
  305. package/out/pipeline.js +21 -0
  306. package/out/pipeline.js.map +1 -0
  307. package/out/poi/AbstainPanel.d.ts +1 -1
  308. package/out/poi/LiveResultsBlock.d.ts +2 -1
  309. package/out/poi/LiveResultsBlock.d.ts.map +1 -1
  310. package/out/poi/LiveResultsBlock.js.map +1 -1
  311. package/out/poi/POIExplorer.d.ts +22 -12
  312. package/out/poi/POIExplorer.d.ts.map +1 -1
  313. package/out/poi/POIExplorer.js +11 -10
  314. package/out/poi/POIExplorer.js.map +1 -1
  315. package/out/poi/QueryInput.d.ts +1 -1
  316. package/out/poi/SubjectPanel.d.ts +2 -2
  317. package/out/poi/SubjectPanel.d.ts.map +1 -1
  318. package/out/poi/SubjectPanel.js +2 -1
  319. package/out/poi/SubjectPanel.js.map +1 -1
  320. package/out/poi/runtime.d.ts +5 -14
  321. package/out/poi/runtime.d.ts.map +1 -1
  322. package/out/poi/runtime.js +14 -16
  323. package/out/poi/runtime.js.map +1 -1
  324. package/out/poi/types.d.ts +53 -45
  325. package/out/poi/types.d.ts.map +1 -1
  326. package/out/poi/types.js +2 -4
  327. package/out/poi/types.js.map +1 -1
  328. package/out/poi/usePOISearch.d.ts +30 -17
  329. package/out/poi/usePOISearch.d.ts.map +1 -1
  330. package/out/poi/usePOISearch.js +48 -64
  331. package/out/poi/usePOISearch.js.map +1 -1
  332. package/out/poi.d.ts +23 -0
  333. package/out/poi.d.ts.map +1 -0
  334. package/out/poi.js +15 -0
  335. package/out/poi.js.map +1 -0
  336. package/out/runtime/useReleaseRuntime.d.ts +63 -74
  337. package/out/runtime/useReleaseRuntime.d.ts.map +1 -1
  338. package/out/runtime/useReleaseRuntime.js +31 -32
  339. package/out/runtime/useReleaseRuntime.js.map +1 -1
  340. package/out/{runtime/index.d.ts → runtime.d.ts} +1 -1
  341. package/out/runtime.d.ts.map +1 -0
  342. package/out/{runtime/index.js → runtime.js} +1 -1
  343. package/out/runtime.js.map +1 -0
  344. package/out/search/SearchModal.d.ts +40 -0
  345. package/out/search/SearchModal.d.ts.map +1 -0
  346. package/out/search/SearchModal.js +255 -0
  347. package/out/search/SearchModal.js.map +1 -0
  348. package/out/search/types.d.ts +65 -0
  349. package/out/search/types.d.ts.map +1 -0
  350. package/out/search/types.js +13 -0
  351. package/out/search/types.js.map +1 -0
  352. package/out/search.d.ts +11 -0
  353. package/out/search.d.ts.map +1 -0
  354. package/out/search.js +9 -0
  355. package/out/search.js.map +1 -0
  356. package/package.json +73 -165
  357. package/styles.css +482 -266
  358. package/tokens/index.css +24 -6
  359. package/tokens/tokens.json +114 -6
  360. package/lib/common/index.ts +0 -22
  361. package/lib/map/BackendControl.tsx +0 -51
  362. package/lib/map/index.ts +0 -95
  363. package/lib/pipeline/index.ts +0 -36
  364. package/lib/poi/index.ts +0 -39
  365. package/out/common/index.d.ts +0 -22
  366. package/out/common/index.d.ts.map +0 -1
  367. package/out/common/index.js +0 -15
  368. package/out/common/index.js.map +0 -1
  369. package/out/map/BackendControl.d.ts +0 -32
  370. package/out/map/BackendControl.d.ts.map +0 -1
  371. package/out/map/BackendControl.js +0 -8
  372. package/out/map/BackendControl.js.map +0 -1
  373. package/out/map/index.d.ts +0 -69
  374. package/out/map/index.d.ts.map +0 -1
  375. package/out/map/index.js +0 -46
  376. package/out/map/index.js.map +0 -1
  377. package/out/pipeline/index.d.ts +0 -33
  378. package/out/pipeline/index.d.ts.map +0 -1
  379. package/out/pipeline/index.js +0 -21
  380. package/out/pipeline/index.js.map +0 -1
  381. package/out/poi/index.d.ts +0 -23
  382. package/out/poi/index.d.ts.map +0 -1
  383. package/out/poi/index.js +0 -15
  384. package/out/poi/index.js.map +0 -1
  385. package/out/runtime/index.d.ts.map +0 -1
  386. package/out/runtime/index.js.map +0 -1
  387. package/styleframe.config.ts +0 -329
  388. package/vitest.node.config.ts +0 -20
  389. /package/lib/{runtime/index.ts → runtime.ts} +0 -0
@@ -3,12 +3,13 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * `useParsePipeline` — the headless core of the pipeline explorer. Owns the query text, the
7
- * busy/stage flags, the parse result, and the candidate selection; delegates the actual parse+resolve
8
- * to the injected {@link PipelineRuntime}. No model or gazetteer code lives here — it just drives the
9
- * contract and shapes the UI state.
6
+ * The headless core of the pipeline explorer. It owns query text, busy/stage flags, result and candidate selection.
7
+ * It delegates parse and resolve to the injected {@link PipelineRuntime}.
10
8
  */
11
9
  import { useCallback, useState } from "react";
10
+ /**
11
+ * Drives the injected runtime and exposes the explorer's UI state.
12
+ */
12
13
  export function useParsePipeline({ runtime, defaultText }) {
13
14
  const [text, setText] = useState(defaultText);
14
15
  const [busy, setBusy] = useState(false);
@@ -16,9 +17,8 @@ export function useParsePipeline({ runtime, defaultText }) {
16
17
  const [result, setResult] = useState(null);
17
18
  const [selectedCandidateIndex, setSelectedCandidateIndex] = useState(0);
18
19
  const [parseError, setParseError] = useState(null);
19
- // `query` exists because `setText` does not reach this closure before the call after it runs. A preset that called
20
- // `setText(value)` then `submit()` parsed the PREVIOUS text — the field showed the preset and the map answered the
21
- // address before it. A caller that already knows the query passes it; the field's own submit passes nothing.
20
+ // `setText` does not reach this closure before the call after it runs,
21
+ // so a caller that already knows the query passes it.
22
22
  const submit = useCallback(async (query) => {
23
23
  if (!runtime.ready || busy)
24
24
  return;
@@ -40,7 +40,6 @@ export function useParsePipeline({ runtime, defaultText }) {
40
40
  }
41
41
  }, [runtime, text, busy]);
42
42
  const reset = useCallback(() => setResult(null), []);
43
- // Derived during render — no effect needed.
44
43
  const selectedCandidate = result ? (result.candidates[selectedCandidateIndex] ?? result.candidates[0] ?? null) : null;
45
44
  return {
46
45
  text,
@@ -1 +1 @@
1
- {"version":3,"file":"useParsePipeline.js","sourceRoot":"","sources":["../../lib/pipeline/useParsePipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAsC7C,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,WAAW,EAA2B;IACjF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IAC7C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAA;IAC9D,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACvE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEjE,mHAAmH;IACnH,mHAAmH;IACnH,6GAA6G;IAC7G,MAAM,MAAM,GAAG,WAAW,CACzB,KAAK,EAAE,KAAc,EAAE,EAAE;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI;YAAE,OAAM;QAElC,MAAM,KAAK,GAAG,KAAK,IAAI,IAAI,CAAA;QAE3B,OAAO,CAAC,IAAI,CAAC,CAAA;QACb,aAAa,CAAC,CAAC,CAAC,CAAA;QAChB,aAAa,CAAC,IAAI,CAAC,CAAA;QAEnB,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;YACxE,yBAAyB,CAAC,CAAC,CAAC,CAAA;YAC5B,SAAS,CAAC,MAAM,CAAC,CAAA;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,aAAa,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACtE,CAAC;gBAAS,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,CAAA;YACd,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;QAClB,CAAC;IACF,CAAC,EACD,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CACrB,CAAA;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAEpD,4CAA4C;IAC5C,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAErH,OAAO;QACN,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,UAAU;QACV,MAAM;QACN,UAAU;QACV,sBAAsB;QACtB,eAAe,EAAE,yBAAyB;QAC1C,iBAAiB;QACjB,MAAM;QACN,KAAK;KACL,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"useParsePipeline.js","sourceRoot":"","sources":["../../lib/pipeline/useParsePipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AA0C7C;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,WAAW,EAA2B;IACjF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IAC7C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAA;IAC9D,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACvE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEjE,uEAAuE;IACvE,sDAAsD;IACtD,MAAM,MAAM,GAAG,WAAW,CACzB,KAAK,EAAE,KAAc,EAAE,EAAE;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI;YAAE,OAAM;QAElC,MAAM,KAAK,GAAG,KAAK,IAAI,IAAI,CAAA;QAE3B,OAAO,CAAC,IAAI,CAAC,CAAA;QACb,aAAa,CAAC,CAAC,CAAC,CAAA;QAChB,aAAa,CAAC,IAAI,CAAC,CAAA;QAEnB,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;YACxE,yBAAyB,CAAC,CAAC,CAAC,CAAA;YAC5B,SAAS,CAAC,MAAM,CAAC,CAAA;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,aAAa,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACtE,CAAC;gBAAS,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,CAAA;YACd,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;QAClB,CAAC;IACF,CAAC,EACD,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CACrB,CAAA;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAEpD,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAErH,OAAO;QACN,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,UAAU;QACV,MAAM;QACN,UAAU;QACV,sBAAsB;QACtB,eAAe,EAAE,yBAAyB;QAC1C,iBAAiB;QACjB,MAAM;QACN,KAAK;KACL,CAAA;AACF,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ * @file Pipeline explorer components, visualizers, hooks and interfaces.
6
+ */
7
+ export { About } from "./common/About.tsx";
8
+ export { FailureDiagnostic } from "./pipeline/FailureDiagnostic.tsx";
9
+ export type { FailureDiagnosticProps } from "./pipeline/FailureDiagnostic.tsx";
10
+ export { SpanHighlight } from "./pipeline/SpanHighlight.tsx";
11
+ export type { SpanHighlightProps } from "./pipeline/SpanHighlight.tsx";
12
+ export { TimingPanel } from "./pipeline/TimingPanel.tsx";
13
+ export type { TimingPanelProps } from "./pipeline/TimingPanel.tsx";
14
+ export { TreeView } from "./pipeline/TreeView.tsx";
15
+ export type { TreeViewProps } from "./pipeline/TreeView.tsx";
16
+ export { CandidatePicker } from "./pipeline/CandidatePicker.tsx";
17
+ export type { CandidatePickerProps } from "./pipeline/CandidatePicker.tsx";
18
+ export { ComponentTable } from "./pipeline/ComponentTable.tsx";
19
+ export type { ComponentTableProps } from "./pipeline/ComponentTable.tsx";
20
+ export { ConfidenceCell } from "./pipeline/ConfidenceCell.tsx";
21
+ export type { ConfidenceCellProps } from "./pipeline/ConfidenceCell.tsx";
22
+ export { buildParsePayload } from "#pipeline/copy";
23
+ export { PIPELINE_DEFAULT_ADDRESS, PIPELINE_PRESETS } from "#pipeline/presets";
24
+ export { PipelineExplorer } from "./pipeline/PipelineExplorer.tsx";
25
+ export type { PipelineExplorerProps } from "./pipeline/PipelineExplorer.tsx";
26
+ export { QueryForm } from "./pipeline/QueryForm.tsx";
27
+ export type { QueryFormProps } from "./pipeline/QueryForm.tsx";
28
+ export { ResolvedPlace } from "./pipeline/ResolvedPlace.tsx";
29
+ export type { ResolvedPlaceProps } from "./pipeline/ResolvedPlace.tsx";
30
+ export type { PipelineLoadingState, PipelinePanels, PipelineRuntime } from "#pipeline/types";
31
+ export { useParsePipeline } from "#pipeline/useParsePipeline";
32
+ export type { UseParsePipeline, UseParsePipelineOptions } from "#pipeline/useParsePipeline";
33
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../lib/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,YAAY,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAE5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ * @file Pipeline explorer components, visualizers, hooks and interfaces.
6
+ */
7
+ export { About } from "./common/About.js";
8
+ export { FailureDiagnostic } from "./pipeline/FailureDiagnostic.js";
9
+ export { SpanHighlight } from "./pipeline/SpanHighlight.js";
10
+ export { TimingPanel } from "./pipeline/TimingPanel.js";
11
+ export { TreeView } from "./pipeline/TreeView.js";
12
+ export { CandidatePicker } from "./pipeline/CandidatePicker.js";
13
+ export { ComponentTable } from "./pipeline/ComponentTable.js";
14
+ export { ConfidenceCell } from "./pipeline/ConfidenceCell.js";
15
+ export { buildParsePayload } from "#pipeline/copy";
16
+ export { PIPELINE_DEFAULT_ADDRESS, PIPELINE_PRESETS } from "#pipeline/presets";
17
+ export { PipelineExplorer } from "./pipeline/PipelineExplorer.js";
18
+ export { QueryForm } from "./pipeline/QueryForm.js";
19
+ export { ResolvedPlace } from "./pipeline/ResolvedPlace.js";
20
+ export { useParsePipeline } from "#pipeline/useParsePipeline";
21
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../lib/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAoB,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAkC,CAAA;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA8B,CAAA;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA4B,CAAA;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAyB,CAAA;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAAgC,CAAA;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA+B,CAAA;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA+B,CAAA;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAiC,CAAA;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAA0B,CAAA;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA8B,CAAA;AAK5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA"}
@@ -3,7 +3,7 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * `AbstainPanel` — shown when the query carries no POI intent (it parses as an address). Names the
6
+ * `AbstainPanel` — shown when the query has no POI intent (it parses as an address). Names the
7
7
  * classifier's kind so the abstention is legible. Presentational.
8
8
  */
9
9
  import type { ReactNode } from "react";
@@ -11,7 +11,8 @@ import type { ReactNode } from "react";
11
11
  import type { LiveSearchState } from "#poi/types";
12
12
  export interface LiveResultsBlockProps {
13
13
  /**
14
- * Subject label for empty-state copy — a category ("No hospital results near …") or a brand ("No chevron results …").
14
+ * Subject label for empty-state copy — a category ("No hospital results near …")
15
+ * or a brand ("No chevron results …").
15
16
  */
16
17
  subjectLabel: string;
17
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"LiveResultsBlock.d.ts","sourceRoot":"","sources":["../../lib/poi/LiveResultsBlock.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,eAAe,CAAA;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,qBAAqB,GAAG,SAAS,CA6C5G"}
1
+ {"version":3,"file":"LiveResultsBlock.d.ts","sourceRoot":"","sources":["../../lib/poi/LiveResultsBlock.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,eAAe,CAAA;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,qBAAqB,GAAG,SAAS,CA6C5G"}
@@ -1 +1 @@
1
- {"version":3,"file":"LiveResultsBlock.js","sourceRoot":"","sources":["../../lib/poi/LiveResultsBlock.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAgB7C,MAAM,UAAU,gBAAgB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAyB;IAChG,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;IAE1C,OAAO,CACN,eAAK,SAAS,EAAC,SAAS,aACvB,eAAK,SAAS,EAAC,kBAAkB,aAChC,wCAAqB,EACrB,iBACC,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAClD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,mDAAmD,YAE3G,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,GAClD,IACJ,EAEL,CAAC,SAAS,CAAC,CAAC,CAAC,CACb,YAAG,SAAS,EAAC,UAAU,kFAAoE,CAC3F,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAC9B,YAAG,SAAS,EAAC,UAAU,YAAE,KAAK,CAAC,OAAO,GAAK,CAC3C,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAChC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACpB,aAAG,SAAS,EAAC,UAAU,oBAClB,YAAY,CAAC,WAAW,EAAE,oBAAgB,KAAK,CAAC,UAAU,SAC3D,CACJ,CAAC,CAAC,CAAC,CACH,8BACC,aAAG,SAAS,EAAC,kBAAkB,sBAAO,KAAK,CAAC,UAAU,6BAA0B,EAChF,aAAI,SAAS,EAAC,kBAAkB,YAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,yBACC,eAAM,SAAS,EAAC,eAAe,YAAE,GAAG,CAAC,IAAI,GAAQ,EACjD,gBAAM,SAAS,EAAC,eAAe,aAC7B,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,cAAK,GAAG,CAAC,OAAO,IACxC,KAJC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAKtB,CACL,CAAC,GACE,IACH,CACH,CACD,CAAC,CAAC,CAAC,IAAI,IACH,CACN,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"LiveResultsBlock.js","sourceRoot":"","sources":["../../lib/poi/LiveResultsBlock.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAiB7C,MAAM,UAAU,gBAAgB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAyB;IAChG,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;IAE1C,OAAO,CACN,eAAK,SAAS,EAAC,SAAS,aACvB,eAAK,SAAS,EAAC,kBAAkB,aAChC,wCAAqB,EACrB,iBACC,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAClD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,mDAAmD,YAE3G,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,GAClD,IACJ,EAEL,CAAC,SAAS,CAAC,CAAC,CAAC,CACb,YAAG,SAAS,EAAC,UAAU,kFAAoE,CAC3F,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAC9B,YAAG,SAAS,EAAC,UAAU,YAAE,KAAK,CAAC,OAAO,GAAK,CAC3C,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAChC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACpB,aAAG,SAAS,EAAC,UAAU,oBAClB,YAAY,CAAC,WAAW,EAAE,oBAAgB,KAAK,CAAC,UAAU,SAC3D,CACJ,CAAC,CAAC,CAAC,CACH,8BACC,aAAG,SAAS,EAAC,kBAAkB,sBAAO,KAAK,CAAC,UAAU,6BAA0B,EAChF,aAAI,SAAS,EAAC,kBAAkB,YAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,yBACC,eAAM,SAAS,EAAC,eAAe,YAAE,GAAG,CAAC,IAAI,GAAQ,EACjD,gBAAM,SAAS,EAAC,eAAe,aAC7B,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,cAAK,GAAG,CAAC,OAAO,IACxC,KAJC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAKtB,CACL,CAAC,GACE,IACH,CACH,CACD,CAAC,CAAC,CAAC,IAAI,IACH,CACN,CAAA;AACF,CAAC"}
@@ -2,38 +2,48 @@
2
2
  * @copyright Sister Software
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
- *
6
- * `POIExplorer` — the composed POI-intent tester. Detects a POI subject in free text, shows the
7
- * category + OverpassQL export, and (when a live-search probe is injected) searches the published
8
- * poi.db layer. The intent path is self-contained — no weights, no network. All runtime concerns are
9
- * in {@link usePOISearch}; this file is composition + a `ClientOnly` SSR boundary.
10
5
  */
11
6
  import { type ReactNode } from "react";
12
7
  import type { LoadPOIRuntime, POILiveSearch } from "#poi/types";
13
8
  import { type Preset } from "../common/PresetChips.tsx";
9
+ /**
10
+ * Props for {@linkcode POIExplorer}.
11
+ */
14
12
  export interface POIExplorerProps {
15
13
  /**
16
- * Query to pre-fill in the input.
14
+ * The query that pre-fills the input.
17
15
  */
18
16
  defaultText?: string;
19
17
  /**
20
- * Example chips. @default the built-in POI presets
18
+ * The example chips.
19
+ *
20
+ * @defaultValue POI_PRESETS
21
21
  */
22
22
  presets?: ReadonlyArray<Preset>;
23
23
  /**
24
- * Override the taxonomy-runtime loader (stories/tests inject a mock).
24
+ * A replacement loader for the taxonomy runtime, such as a mock in stories and tests.
25
25
  */
26
26
  loadRuntime?: LoadPOIRuntime;
27
27
  /**
28
- * Live poi.db probe. Absent ⇒ intent-only (no live-results affordance).
28
+ * The live poi.db search.
29
+ * Without it, the explorer shows only the detected intent.
29
30
  */
30
31
  runLiveSearch?: POILiveSearch;
31
32
  /**
32
- * Whether {@link runLiveSearch} can serve BRAND subjects (fetch by QID). Default false: a brand subject shows the
33
- * intent + QID chip but no live block. The docs' httpvfs probe leaves this off (brand-wide byte-range hydration is
34
- * pathological — measured); a server-side backend can enable it.
33
+ * Whether {@link runLiveSearch} can search brand subjects by Wikidata QID.
34
+ *
35
+ * When it is false, a brand subject shows its intent and QID chip without a live block.
36
+ * A byte-range probe over httpvfs should leave it off because a brand-wide
37
+ * lookup reads too much of the database.
35
38
  */
36
39
  brandLiveSearch?: boolean;
37
40
  }
41
+ /**
42
+ * Renders a POI-intent tester that detects a POI subject in free text.
43
+ *
44
+ * It shows the matched category or brand and, for categories, an OverpassQL export.
45
+ * When `runLiveSearch` is set, it can also search the published poi.db.
46
+ * It renders only on the client.
47
+ */
38
48
  export declare function POIExplorer({ defaultText, presets, loadRuntime, runLiveSearch, brandLiveSearch, }: POIExplorerProps): ReactNode;
39
49
  //# sourceMappingURL=POIExplorer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"POIExplorer.d.ts","sourceRoot":"","sources":["../../lib/poi/POIExplorer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAA;AAGhD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAK/D,OAAO,EAAe,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAOpE,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB;AAoED,wBAAgB,WAAW,CAAC,EAC3B,WAA8B,EAC9B,OAAqB,EACrB,WAAW,EACX,aAAa,EACb,eAAe,GACf,EAAE,gBAAgB,GAAG,SAAS,CAoB9B"}
1
+ {"version":3,"file":"POIExplorer.d.ts","sourceRoot":"","sources":["../../lib/poi/POIExplorer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAA;AAGhD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAK/D,OAAO,EAAe,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAOpE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB;AAsED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,EAC3B,WAA8B,EAC9B,OAAqB,EACrB,WAAW,EACX,aAAa,EACb,eAAe,GACf,EAAE,gBAAgB,GAAG,SAAS,CAoB9B"}
@@ -3,11 +3,6 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
3
3
  * @copyright Sister Software
4
4
  * @license AGPL-3.0
5
5
  * @author Teffen Ellis, et al.
6
- *
7
- * `POIExplorer` — the composed POI-intent tester. Detects a POI subject in free text, shows the
8
- * category + OverpassQL export, and (when a live-search probe is injected) searches the published
9
- * poi.db layer. The intent path is self-contained — no weights, no network. All runtime concerns are
10
- * in {@link usePOISearch}; this file is composition + a `ClientOnly` SSR boundary.
11
6
  */
12
7
  import { useState } from "react";
13
8
  import { POI_DEFAULT_TEXT, POI_PRESETS } from "#poi/runtime";
@@ -29,14 +24,20 @@ function POIExplorerInner({ defaultText, presets, loadRuntime, runLiveSearch, br
29
24
  brandLiveSearch,
30
25
  });
31
26
  const subject = result?.subject;
32
- // The live block appears whenever the subject COULD be live-searched with an anchor — i.e. capable minus the
33
- // anchor-present requirement (`canSearchLive` also requires an anchor; the block itself renders the "add an anchor"
34
- // hint, so it must show one step earlier). Category: not build-local. Brand: brand-capable probe + a QID.
27
+ // A category is searchable unless it is build-local.
28
+ // A brand needs a QID and a brand-capable probe.
35
29
  const showLiveBlock = Boolean(runLiveSearch &&
36
30
  subject &&
37
- (subject.kind === "brand" ? brandLiveSearch && subject.wikidata !== undefined : !subject.buildLocal));
38
- return (_jsxs("div", { className: "mw-poi-explorer", children: [_jsx(QueryInput, { id: "mw-poi-input", label: "Query", value: text, onChange: setText, placeholder: POI_DEFAULT_TEXT }), _jsx(PresetChips, { presets: presets, onPick: setText }), result ? (_jsxs("div", { className: "mw-result", children: [_jsx(KindBadge, { kindResult: result.kindResult }), subject ? (_jsxs(_Fragment, { children: [_jsx(SubjectPanel, { subject: subject }), subject.kind === "category" ? (_jsx(OverpassBlock, { overpassQL: result.overpassQL, overpassError: result.overpassError })) : null, showLiveBlock ? (_jsx(LiveResultsBlock, { subjectLabel: subject.kind === "brand" ? subject.name : subject.category.label, anchor: subject.remainder, state: liveSearch, onSearch: searchLive })) : null] })) : (_jsx(AbstainPanel, { kind: result.kindResult.kind }))] })) : null] }));
31
+ (subject.kind === "brand" ? brandLiveSearch && subject.wikidata !== null : !subject.buildLocal));
32
+ return (_jsxs("div", { className: "mw-poi-explorer", children: [_jsx(QueryInput, { id: "mw-poi-input", label: "Query", value: text, onChange: setText, placeholder: POI_DEFAULT_TEXT }), _jsx(PresetChips, { presets: presets, onPick: setText }), result ? (_jsxs("div", { className: "mw-result", children: [_jsx(KindBadge, { kindResult: result.kindResult }), subject ? (_jsxs(_Fragment, { children: [_jsx(SubjectPanel, { subject: subject }), subject.kind === "category" ? (_jsx(OverpassBlock, { overpassQL: result.overpassQL ?? undefined, overpassError: result.overpassError ?? undefined })) : null, showLiveBlock ? (_jsx(LiveResultsBlock, { subjectLabel: subject.kind === "brand" ? subject.name : subject.category.label, anchor: subject.remainder, state: liveSearch, onSearch: searchLive })) : null] })) : (_jsx(AbstainPanel, { kind: result.kindResult.kind }))] })) : null] }));
39
33
  }
34
+ /**
35
+ * Renders a POI-intent tester that detects a POI subject in free text.
36
+ *
37
+ * It shows the matched category or brand and, for categories, an OverpassQL export.
38
+ * When `runLiveSearch` is set, it can also search the published poi.db.
39
+ * It renders only on the client.
40
+ */
40
41
  export function POIExplorer({ defaultText = POI_DEFAULT_TEXT, presets = POI_PRESETS, loadRuntime, runLiveSearch, brandLiveSearch, }) {
41
42
  return (_jsx(ClientOnly, { fallback: _jsx("div", { className: "mw-poi-explorer", children: _jsx("p", { children: "Loading POI tester\u2026" }) }), children: () => (_jsx(POIExplorerInner, { defaultText: defaultText, presets: presets, loadRuntime: loadRuntime, runLiveSearch: runLiveSearch, brandLiveSearch: brandLiveSearch })) }));
42
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"POIExplorer.js","sourceRoot":"","sources":["../../lib/poi/POIExplorer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"POIExplorer.js","sourceRoot":"","sources":["../../lib/poi/POIExplorer.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * `QueryInput` — the labelled text field for the POI explorer. Controlled; presentational only.
6
+ * `QueryInput` — the labeled text field for the POI explorer. Controlled. presentational only.
7
7
  */
8
8
  import type { ReactNode } from "react";
9
9
  export interface QueryInputProps {
@@ -3,8 +3,8 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * `SubjectPanel` — renders the detected POI subject. For a CATEGORY: the category chip, the optional
7
- * build-local badge + note. For a BRAND: the brand-name chip + a Wikidata QID chip (linked). Both
6
+ * `SubjectPanel` — renders the detected POI subject. For a category: the category chip, the optional
7
+ * build-local badge + note. For a brand: the brand-name chip + a Wikidata QID chip (linked). Both
8
8
  * share the match-detail list (matched phrase, confidence, anchor). Presentational.
9
9
  */
10
10
  import type { ReactNode } from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"SubjectPanel.d.ts","sourceRoot":"","sources":["../../lib/poi/SubjectPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,UAAU,CAAA;CACnB;AAoBD,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,SAAS,CA4CtE"}
1
+ {"version":3,"file":"SubjectPanel.d.ts","sourceRoot":"","sources":["../../lib/poi/SubjectPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,UAAU,CAAA;CACnB;AAqBD,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,SAAS,CA4CtE"}
@@ -1,6 +1,7 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
- * The shared match-detail list (matched phrase, confidence, anchor) — identical for category + brand subjects.
3
+ * The shared match-detail list (matched phrase, confidence, anchor) —
4
+ * identical for category + brand subjects.
4
5
  */
5
6
  function MatchDetail({ subject }) {
6
7
  return (_jsxs("dl", { className: "mw-subject__detail", children: [_jsx("dt", { children: "matched phrase" }), _jsx("dd", { children: _jsx("code", { children: subject.matchedPhrase }) }), _jsx("dt", { children: "confidence" }), _jsxs("dd", { children: [Math.round(subject.confidence * 100), "%"] }), _jsx("dt", { children: "anchor" }), _jsx("dd", { children: subject.remainder || _jsx("em", { children: "none \u2014 global query" }) })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"SubjectPanel.js","sourceRoot":"","sources":["../../lib/poi/SubjectPanel.tsx"],"names":[],"mappings":";AAkBA;;GAEG;AACH,SAAS,WAAW,CAAC,EAAE,OAAO,EAAqB;IAClD,OAAO,CACN,cAAI,SAAS,EAAC,oBAAoB,aACjC,0CAAuB,EACvB,uBACC,yBAAO,OAAO,CAAC,aAAa,GAAQ,GAChC,EACL,sCAAmB,EACnB,yBAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,SAAO,EAChD,kCAAe,EACf,uBAAK,OAAO,CAAC,SAAS,IAAI,oDAA4B,GAAM,IACxD,CACL,CAAA;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAE,OAAO,EAAqB;IAC1D,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,CACN,8BACC,eAAK,SAAS,EAAC,iBAAiB,aAC/B,eAAM,SAAS,EAAC,kBAAkB,YAAE,OAAO,CAAC,IAAI,GAAQ,EACxD,eAAM,SAAS,EAAC,4CAA4C,sBAAa,EACxE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CACnB,YACC,SAAS,EAAC,iBAAiB,EAC3B,IAAI,EAAE,iCAAiC,OAAO,CAAC,QAAQ,EAAE,EACzD,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,YAAY,YAEf,OAAO,CAAC,QAAQ,GACd,CACJ,CAAC,CAAC,CAAC,IAAI,IACH,EAEN,KAAC,WAAW,IAAC,OAAO,EAAE,OAAO,GAAI,EAEjC,YAAG,SAAS,EAAC,kBAAkB,0GAE3B,IACF,CACH,CAAA;IACF,CAAC;IAED,OAAO,CACN,8BACC,eAAK,SAAS,EAAC,iBAAiB,aAC/B,eAAM,SAAS,EAAC,kBAAkB,YAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAQ,EACjE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,mBAAmB,4BAAmB,CAAC,CAAC,CAAC,IAAI,IAC9E,EAEN,KAAC,WAAW,IAAC,OAAO,EAAE,OAAO,GAAI,EAEhC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CACrB,YAAG,SAAS,EAAC,kBAAkB,8GAE3B,CACJ,CAAC,CAAC,CAAC,IAAI,IACN,CACH,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"SubjectPanel.js","sourceRoot":"","sources":["../../lib/poi/SubjectPanel.tsx"],"names":[],"mappings":";AAkBA;;;GAGG;AACH,SAAS,WAAW,CAAC,EAAE,OAAO,EAAqB;IAClD,OAAO,CACN,cAAI,SAAS,EAAC,oBAAoB,aACjC,0CAAuB,EACvB,uBACC,yBAAO,OAAO,CAAC,aAAa,GAAQ,GAChC,EACL,sCAAmB,EACnB,yBAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,SAAO,EAChD,kCAAe,EACf,uBAAK,OAAO,CAAC,SAAS,IAAI,oDAA4B,GAAM,IACxD,CACL,CAAA;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAE,OAAO,EAAqB;IAC1D,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,CACN,8BACC,eAAK,SAAS,EAAC,iBAAiB,aAC/B,eAAM,SAAS,EAAC,kBAAkB,YAAE,OAAO,CAAC,IAAI,GAAQ,EACxD,eAAM,SAAS,EAAC,4CAA4C,sBAAa,EACxE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CACnB,YACC,SAAS,EAAC,iBAAiB,EAC3B,IAAI,EAAE,iCAAiC,OAAO,CAAC,QAAQ,EAAE,EACzD,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,YAAY,YAEf,OAAO,CAAC,QAAQ,GACd,CACJ,CAAC,CAAC,CAAC,IAAI,IACH,EAEN,KAAC,WAAW,IAAC,OAAO,EAAE,OAAO,GAAI,EAEjC,YAAG,SAAS,EAAC,kBAAkB,0GAE3B,IACF,CACH,CAAA;IACF,CAAC;IAED,OAAO,CACN,8BACC,eAAK,SAAS,EAAC,iBAAiB,aAC/B,eAAM,SAAS,EAAC,kBAAkB,YAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAQ,EACjE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,mBAAmB,4BAAmB,CAAC,CAAC,CAAC,IAAI,IAC9E,EAEN,KAAC,WAAW,IAAC,OAAO,EAAE,OAAO,GAAI,EAEhC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CACrB,YAAG,SAAS,EAAC,kBAAkB,8GAE3B,CACJ,CAAC,CAAC,CAAC,IAAI,IACN,CACH,CAAA;AACF,CAAC"}
@@ -2,26 +2,17 @@
2
2
  * @copyright Sister Software
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
- *
6
- * The default POI runtime loader + presentation helpers. `loadPOIRuntime` dynamically imports the
7
- * ~2k-record Overture taxonomy snapshot (so bundlers code-split it into its own chunk, fetched only
8
- * when the explorer actually mounts) and wires the kind classifier over it. Pure + browser-safe: no
9
- * network, no DOM — the whole intent path runs offline.
10
5
  */
11
6
  import type { POIRuntime } from "#poi/types";
12
7
  /**
13
- * Build the POI runtime, dynamically importing the taxonomy + brand JSON so the tables land in their own chunk. A
14
- * static import would inline the whole snapshot into every consumer's bundle.
8
+ * Loads the browser POI runtime, importing the taxonomy and brand tables dynamically
9
+ * so they land in their own chunk instead of every consumer's bundle.
15
10
  *
16
- * The lexicon unions categories then brands, mirroring the Node runtime's `poiTaxonomyLookup` precedence: a phrase that
17
- * matches a taxonomy CATEGORY wins (the curated set); only on a category miss does the chain-brand table fire,
18
- * returning a `kind: "brand"` match carrying the brand's canonical name + Wikidata QID. (The Node path also chains
19
- * `@mailwoman/variant-aliases` regional slang; the browser tester leaves that out — one fewer package + data table for
20
- * a demo, and the QID-keyed brand table already covers the headline brands.)
11
+ * Its lexicon tries exact categories and then brands only, a subset of the Node `poiTaxonomyLookup` chain.
21
12
  */
22
13
  export declare function loadPOIRuntime(): Promise<POIRuntime>;
23
14
  /**
24
- * Default example queries for the POI explorer — a mix of category, build-local, and chain-brand subjects.
15
+ * Default example queries for the POI explorer — a mix of category, build-local and chain-brand subjects.
25
16
  */
26
17
  export declare const POI_PRESETS: readonly [{
27
18
  readonly label: "Drinking fountain";
@@ -40,7 +31,7 @@ export declare const POI_PRESETS: readonly [{
40
31
  readonly value: "applebee's near Chicago";
41
32
  }];
42
33
  /**
43
- * Query the POI explorer opens on — the first preset, so the two stay in step.
34
+ * Holds the query the POI explorer opens on, taken from the first preset so the two stay in step.
44
35
  */
45
36
  export declare const POI_DEFAULT_TEXT: "drinking fountain near Springfield";
46
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../lib/poi/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C;;;;;;;;;GASG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CAiC1D;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;aACrB,KAAK,EAAE,mBAAmB;aAAE,KAAK,EAAE,oCAAoC;;aACvE,KAAK,EAAE,cAAc;aAAE,KAAK,EAAE,cAAc;;aAC5C,KAAK,EAAE,oBAAoB;aAAE,KAAK,EAAE,iCAAiC;;aACrE,KAAK,EAAE,iBAAiB;aAAE,KAAK,EAAE,sBAAsB;;aACvD,KAAK,EAAE,oBAAoB;aAAE,KAAK,EAAE,yBAAyB;EACtD,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,gBAAgB,sCAAuB,CAAA;AAEpD;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIxD"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../lib/poi/runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C;;;;;GAKG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CAwC1D;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;aACrB,KAAK,EAAE,mBAAmB;aAAE,KAAK,EAAE,oCAAoC;;aACvE,KAAK,EAAE,cAAc;aAAE,KAAK,EAAE,cAAc;;aAC5C,KAAK,EAAE,oBAAoB;aAAE,KAAK,EAAE,iCAAiC;;aACrE,KAAK,EAAE,iBAAiB;aAAE,KAAK,EAAE,sBAAsB;;aACvD,KAAK,EAAE,oBAAoB;aAAE,KAAK,EAAE,yBAAyB;EACtD,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,gBAAgB,sCAAuB,CAAA;AAEpD;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIxD"}
@@ -2,23 +2,14 @@
2
2
  * @copyright Sister Software
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
- *
6
- * The default POI runtime loader + presentation helpers. `loadPOIRuntime` dynamically imports the
7
- * ~2k-record Overture taxonomy snapshot (so bundlers code-split it into its own chunk, fetched only
8
- * when the explorer actually mounts) and wires the kind classifier over it. Pure + browser-safe: no
9
- * network, no DOM — the whole intent path runs offline.
10
5
  */
11
6
  import { createKindClassifier } from "@mailwoman/kind-classifier";
12
7
  import { createPOIBrandLookup, createPOITaxonomyLookup } from "@mailwoman/poi-taxonomy/table";
13
8
  /**
14
- * Build the POI runtime, dynamically importing the taxonomy + brand JSON so the tables land in their own chunk. A
15
- * static import would inline the whole snapshot into every consumer's bundle.
9
+ * Loads the browser POI runtime, importing the taxonomy and brand tables dynamically
10
+ * so they land in their own chunk instead of every consumer's bundle.
16
11
  *
17
- * The lexicon unions categories then brands, mirroring the Node runtime's `poiTaxonomyLookup` precedence: a phrase that
18
- * matches a taxonomy CATEGORY wins (the curated set); only on a category miss does the chain-brand table fire,
19
- * returning a `kind: "brand"` match carrying the brand's canonical name + Wikidata QID. (The Node path also chains
20
- * `@mailwoman/variant-aliases` regional slang; the browser tester leaves that out — one fewer package + data table for
21
- * a demo, and the QID-keyed brand table already covers the headline brands.)
12
+ * Its lexicon tries exact categories and then brands only, a subset of the Node `poiTaxonomyLookup` chain.
22
13
  */
23
14
  export async function loadPOIRuntime() {
24
15
  const [table, brandTable] = await Promise.all([
@@ -27,8 +18,6 @@ export async function loadPOIRuntime() {
27
18
  ]);
28
19
  const lookup = createPOITaxonomyLookup(table);
29
20
  const brands = createPOIBrandLookup(brandTable);
30
- // Adapt the taxonomy + brand lookups to the `POIPhraseLookup` shape the classifier expects: categories first, brands
31
- // on a category miss.
32
21
  const lexicon = (phrase, locale) => {
33
22
  const categoryHits = lookup.lookupPOICategory(phrase, locale);
34
23
  if (categoryHits.length) {
@@ -37,6 +26,11 @@ export async function loadPOIRuntime() {
37
26
  categoryID: match.category.id,
38
27
  matchedPhrase: match.matchedPhrase,
39
28
  confidence: match.confidence,
29
+ mechanism: "exact",
30
+ inputPhrase: phrase,
31
+ wikidata: null,
32
+ reading: "preference",
33
+ countryScope: null,
40
34
  }));
41
35
  }
42
36
  return brands.lookupPOIBrand(phrase).map((match) => ({
@@ -45,12 +39,16 @@ export async function loadPOIRuntime() {
45
39
  wikidata: match.brand.wikidata,
46
40
  matchedPhrase: match.matchedPhrase,
47
41
  confidence: match.confidence,
42
+ mechanism: "exact",
43
+ inputPhrase: phrase,
44
+ reading: "preference",
45
+ countryScope: null,
48
46
  }));
49
47
  };
50
48
  return { lookup, lexicon, classify: createKindClassifier({ poiLexicon: lexicon }) };
51
49
  }
52
50
  /**
53
- * Default example queries for the POI explorer — a mix of category, build-local, and chain-brand subjects.
51
+ * Default example queries for the POI explorer — a mix of category, build-local and chain-brand subjects.
54
52
  */
55
53
  export const POI_PRESETS = [
56
54
  { label: "Drinking fountain", value: "drinking fountain near Springfield" },
@@ -60,7 +58,7 @@ export const POI_PRESETS = [
60
58
  { label: "Applebee's (brand)", value: "applebee's near Chicago" },
61
59
  ];
62
60
  /**
63
- * Query the POI explorer opens on — the first preset, so the two stay in step.
61
+ * Holds the query the POI explorer opens on, taken from the first preset so the two stay in step.
64
62
  */
65
63
  export const POI_DEFAULT_TEXT = POI_PRESETS[0].value;
66
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../lib/poi/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAI7F;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IACnC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,MAAM,CAAC,4CAA4C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3E,MAAM,CAAC,0CAA0C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KACzE,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAsD,CAAC,CAAA;IAC9F,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAwD,CAAC,CAAA;IAE7F,qHAAqH;IACrH,sBAAsB;IACtB,MAAM,OAAO,GAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACnD,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAE7D,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACnC,IAAI,EAAE,UAAU;gBAChB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;gBAC7B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,UAAU,EAAE,KAAK,CAAC,UAAU;aAC5B,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpD,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;YAC5B,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;YAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,UAAU,EAAE,KAAK,CAAC,UAAU;SAC5B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;AACpF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,oCAAoC,EAAE;IAC3E,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;IAChD,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,iCAAiC,EAAE;IACzE,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,yBAAyB,EAAE;CACxD,CAAA;AAEV;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AAEpD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC/C,IAAI,SAAS,GAAG,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAA;IAEzD,OAAO,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;AAC7C,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../lib/poi/runtime.ts"],"names":[],"mappings":"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"}