@mailwoman/react 9.2.0 → 9.4.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 (278) hide show
  1. package/README.md +1 -1
  2. package/fonts.css +59 -0
  3. package/lib/common/About.tsx +89 -0
  4. package/{common → lib/common}/CopyButton.tsx +1 -1
  5. package/{common → lib/common}/KindBadge.tsx +2 -7
  6. package/{common → lib/common}/LoadingIndicator.tsx +1 -1
  7. package/lib/common/confidence-tiers.ts +50 -0
  8. package/lib/common/text-tokens.ts +88 -0
  9. package/{index.ts → lib/index.ts} +44 -42
  10. package/{map → lib/map}/CompareToggle.tsx +2 -2
  11. package/{map/GeocoderDemo.tsx → lib/map/Geocoder.tsx} +45 -44
  12. package/{map/DemoControls.tsx → lib/map/GeocoderControls.tsx} +19 -19
  13. package/{map/DemoMap.tsx → lib/map/MapCanvas.tsx} +16 -16
  14. package/{map → lib/map}/OverlayLayers.tsx +3 -3
  15. package/{map → lib/map}/PlaceAutocomplete.tsx +2 -2
  16. package/{map → lib/map}/PlaceMarker.tsx +1 -1
  17. package/{map → lib/map}/ResolvedPlaceLayers.tsx +5 -4
  18. package/{map → lib/map}/ResultCamera.tsx +3 -3
  19. package/{map → lib/map}/ResultOverlay.tsx +2 -2
  20. package/{map → lib/map}/ResultPanel.tsx +4 -3
  21. package/{map → lib/map}/VersionPicker.tsx +3 -3
  22. package/lib/map/fake-runtime.ts +122 -0
  23. package/{map → lib/map}/index.ts +26 -26
  24. package/lib/map/map-debug.ts +51 -0
  25. package/{map → lib/map}/place-render.ts +5 -4
  26. package/{map → lib/map}/types.ts +51 -46
  27. package/{map/useDemoGeocode.ts → lib/map/useGeocode.ts} +11 -11
  28. package/{map → lib/map}/useMapPlaceRender.ts +2 -2
  29. package/{map → lib/map}/usePlaceAutocomplete.ts +2 -2
  30. package/{pipeline → lib/pipeline}/CandidatePicker.tsx +2 -2
  31. package/{pipeline → lib/pipeline}/ComponentTable.tsx +1 -1
  32. package/lib/pipeline/ConfidenceCell.tsx +31 -0
  33. package/lib/pipeline/FailureDiagnostic.tsx +56 -0
  34. package/{pipeline → lib/pipeline}/PipelineExplorer.tsx +5 -4
  35. package/{pipeline → lib/pipeline}/QueryForm.tsx +2 -2
  36. package/{pipeline → lib/pipeline}/ResolvedPlace.tsx +17 -4
  37. package/lib/pipeline/SpanHighlight.tsx +97 -0
  38. package/lib/pipeline/TimingPanel.tsx +65 -0
  39. package/lib/pipeline/TreeView.tsx +55 -0
  40. package/{pipeline → lib/pipeline}/copy.ts +1 -1
  41. package/{pipeline → lib/pipeline}/presets.ts +2 -1
  42. package/{pipeline → lib/pipeline}/types.ts +2 -75
  43. package/{pipeline → lib/pipeline}/useParsePipeline.ts +2 -1
  44. package/{poi → lib/poi}/LiveResultsBlock.tsx +2 -2
  45. package/{poi → lib/poi}/POIExplorer.tsx +4 -3
  46. package/{poi → lib/poi}/SubjectPanel.tsx +1 -1
  47. package/{poi → lib/poi}/runtime.ts +3 -3
  48. package/{poi → lib/poi}/types.ts +3 -2
  49. package/{poi → lib/poi}/usePOISearch.ts +5 -5
  50. package/{runtime/useDemoRuntime.ts → lib/runtime/useReleaseRuntime.ts} +24 -26
  51. package/out/common/About.d.ts +12 -0
  52. package/out/common/About.d.ts.map +1 -0
  53. package/out/common/About.js +5 -0
  54. package/out/common/About.js.map +1 -0
  55. package/out/common/ClientOnly.d.ts.map +1 -1
  56. package/out/common/ClientOnly.js.map +1 -1
  57. package/out/common/CopyButton.d.ts.map +1 -1
  58. package/out/common/CopyButton.js +1 -1
  59. package/out/common/CopyButton.js.map +1 -1
  60. package/out/common/KindBadge.d.ts +2 -9
  61. package/out/common/KindBadge.d.ts.map +1 -1
  62. package/out/common/KindBadge.js.map +1 -1
  63. package/out/common/LoadingIndicator.d.ts.map +1 -1
  64. package/out/common/LoadingIndicator.js +1 -1
  65. package/out/common/LoadingIndicator.js.map +1 -1
  66. package/out/common/PresetChips.d.ts.map +1 -1
  67. package/out/common/PresetChips.js.map +1 -1
  68. package/out/common/confidence-tiers.d.ts +36 -0
  69. package/out/common/confidence-tiers.d.ts.map +1 -0
  70. package/out/common/confidence-tiers.js +42 -0
  71. package/out/common/confidence-tiers.js.map +1 -0
  72. package/out/common/cx.d.ts.map +1 -1
  73. package/out/common/cx.js.map +1 -1
  74. package/out/common/text-tokens.d.ts +46 -0
  75. package/out/common/text-tokens.d.ts.map +1 -0
  76. package/out/common/text-tokens.js +52 -0
  77. package/out/common/text-tokens.js.map +1 -0
  78. package/out/common/useClipboard.d.ts.map +1 -1
  79. package/out/common/useClipboard.js.map +1 -1
  80. package/out/common/useDebouncedValue.d.ts.map +1 -1
  81. package/out/common/useDebouncedValue.js.map +1 -1
  82. package/out/index.d.ts +27 -18
  83. package/out/index.d.ts.map +1 -1
  84. package/out/index.js +16 -10
  85. package/out/index.js.map +1 -1
  86. package/out/map/BackendControl.d.ts.map +1 -1
  87. package/out/map/BackendControl.js.map +1 -1
  88. package/out/map/CompareToggle.d.ts +2 -2
  89. package/out/map/CompareToggle.d.ts.map +1 -1
  90. package/out/map/CompareToggle.js.map +1 -1
  91. package/out/map/{GeocoderDemo.d.ts → Geocoder.d.ts} +17 -17
  92. package/out/map/Geocoder.d.ts.map +1 -0
  93. package/out/map/{GeocoderDemo.js → Geocoder.js} +30 -30
  94. package/out/map/Geocoder.js.map +1 -0
  95. package/out/map/GeocoderControls.d.ts +63 -0
  96. package/out/map/GeocoderControls.d.ts.map +1 -0
  97. package/out/map/{DemoControls.js → GeocoderControls.js} +2 -2
  98. package/out/map/GeocoderControls.js.map +1 -0
  99. package/out/map/{DemoMap.d.ts → MapCanvas.d.ts} +16 -16
  100. package/out/map/MapCanvas.d.ts.map +1 -0
  101. package/out/map/{DemoMap.js → MapCanvas.js} +2 -2
  102. package/out/map/MapCanvas.js.map +1 -0
  103. package/out/map/OverlayLayers.d.ts +3 -3
  104. package/out/map/OverlayLayers.d.ts.map +1 -1
  105. package/out/map/OverlayLayers.js +2 -2
  106. package/out/map/OverlayLayers.js.map +1 -1
  107. package/out/map/PlaceAutocomplete.d.ts +1 -1
  108. package/out/map/PlaceAutocomplete.d.ts.map +1 -1
  109. package/out/map/PlaceAutocomplete.js +1 -1
  110. package/out/map/PlaceAutocomplete.js.map +1 -1
  111. package/out/map/PlaceMarker.d.ts +1 -1
  112. package/out/map/PlaceMarker.d.ts.map +1 -1
  113. package/out/map/PlaceMarker.js.map +1 -1
  114. package/out/map/ResolvedPlaceLayers.d.ts +4 -4
  115. package/out/map/ResolvedPlaceLayers.d.ts.map +1 -1
  116. package/out/map/ResolvedPlaceLayers.js.map +1 -1
  117. package/out/map/ResultCamera.d.ts +3 -3
  118. package/out/map/ResultCamera.d.ts.map +1 -1
  119. package/out/map/ResultCamera.js +2 -2
  120. package/out/map/ResultCamera.js.map +1 -1
  121. package/out/map/ResultOverlay.d.ts +2 -2
  122. package/out/map/ResultOverlay.d.ts.map +1 -1
  123. package/out/map/ResultOverlay.js.map +1 -1
  124. package/out/map/ResultPanel.d.ts +2 -2
  125. package/out/map/ResultPanel.d.ts.map +1 -1
  126. package/out/map/ResultPanel.js +1 -1
  127. package/out/map/ResultPanel.js.map +1 -1
  128. package/out/map/VersionPicker.d.ts +3 -3
  129. package/out/map/VersionPicker.d.ts.map +1 -1
  130. package/out/map/VersionPicker.js.map +1 -1
  131. package/out/map/fake-runtime.d.ts +38 -0
  132. package/out/map/fake-runtime.d.ts.map +1 -0
  133. package/out/map/fake-runtime.js +107 -0
  134. package/out/map/fake-runtime.js.map +1 -0
  135. package/out/map/geometry.d.ts.map +1 -1
  136. package/out/map/geometry.js.map +1 -1
  137. package/out/map/index.d.ts +19 -19
  138. package/out/map/index.d.ts.map +1 -1
  139. package/out/map/index.js +11 -11
  140. package/out/map/index.js.map +1 -1
  141. package/out/map/map-debug.d.ts +31 -0
  142. package/out/map/map-debug.d.ts.map +1 -0
  143. package/out/map/map-debug.js +31 -0
  144. package/out/map/map-debug.js.map +1 -0
  145. package/out/map/place-render.d.ts +3 -3
  146. package/out/map/place-render.d.ts.map +1 -1
  147. package/out/map/place-render.js +2 -2
  148. package/out/map/place-render.js.map +1 -1
  149. package/out/map/types.d.ts +50 -46
  150. package/out/map/types.d.ts.map +1 -1
  151. package/out/map/types.js +6 -6
  152. package/out/map/types.js.map +1 -1
  153. package/out/map/useCompareState.d.ts.map +1 -1
  154. package/out/map/useCompareState.js.map +1 -1
  155. package/out/map/{useDemoGeocode.d.ts → useGeocode.d.ts} +11 -11
  156. package/out/map/useGeocode.d.ts.map +1 -0
  157. package/out/map/{useDemoGeocode.js → useGeocode.js} +5 -5
  158. package/out/map/useGeocode.js.map +1 -0
  159. package/out/map/useMapPlaceRender.d.ts +1 -1
  160. package/out/map/useMapPlaceRender.d.ts.map +1 -1
  161. package/out/map/useMapPlaceRender.js +1 -1
  162. package/out/map/useMapPlaceRender.js.map +1 -1
  163. package/out/map/usePlaceAutocomplete.d.ts +1 -1
  164. package/out/map/usePlaceAutocomplete.d.ts.map +1 -1
  165. package/out/map/usePlaceAutocomplete.js +1 -1
  166. package/out/map/usePlaceAutocomplete.js.map +1 -1
  167. package/out/pipeline/CandidatePicker.d.ts +1 -1
  168. package/out/pipeline/CandidatePicker.d.ts.map +1 -1
  169. package/out/pipeline/CandidatePicker.js +1 -1
  170. package/out/pipeline/CandidatePicker.js.map +1 -1
  171. package/out/pipeline/ComponentTable.d.ts +1 -1
  172. package/out/pipeline/ComponentTable.d.ts.map +1 -1
  173. package/out/pipeline/ComponentTable.js.map +1 -1
  174. package/out/pipeline/ConfidenceCell.d.ts +2 -2
  175. package/out/pipeline/ConfidenceCell.d.ts.map +1 -1
  176. package/out/pipeline/ConfidenceCell.js +5 -17
  177. package/out/pipeline/ConfidenceCell.js.map +1 -1
  178. package/out/pipeline/FailureDiagnostic.d.ts +15 -0
  179. package/out/pipeline/FailureDiagnostic.d.ts.map +1 -0
  180. package/out/pipeline/FailureDiagnostic.js +21 -0
  181. package/out/pipeline/FailureDiagnostic.js.map +1 -0
  182. package/out/pipeline/PipelineExplorer.d.ts +1 -1
  183. package/out/pipeline/PipelineExplorer.d.ts.map +1 -1
  184. package/out/pipeline/PipelineExplorer.js +3 -3
  185. package/out/pipeline/PipelineExplorer.js.map +1 -1
  186. package/out/pipeline/QueryForm.d.ts +2 -2
  187. package/out/pipeline/QueryForm.d.ts.map +1 -1
  188. package/out/pipeline/QueryForm.js.map +1 -1
  189. package/out/pipeline/ResolvedPlace.d.ts +1 -1
  190. package/out/pipeline/ResolvedPlace.d.ts.map +1 -1
  191. package/out/pipeline/ResolvedPlace.js +4 -10
  192. package/out/pipeline/ResolvedPlace.js.map +1 -1
  193. package/out/pipeline/SpanHighlight.d.ts +23 -0
  194. package/out/pipeline/SpanHighlight.d.ts.map +1 -0
  195. package/out/pipeline/SpanHighlight.js +31 -0
  196. package/out/pipeline/SpanHighlight.js.map +1 -0
  197. package/out/pipeline/TimingPanel.d.ts +16 -0
  198. package/out/pipeline/TimingPanel.d.ts.map +1 -0
  199. package/out/pipeline/TimingPanel.js +20 -0
  200. package/out/pipeline/TimingPanel.js.map +1 -0
  201. package/out/pipeline/TreeView.d.ts +17 -0
  202. package/out/pipeline/TreeView.d.ts.map +1 -0
  203. package/out/pipeline/TreeView.js +15 -0
  204. package/out/pipeline/TreeView.js.map +1 -0
  205. package/out/pipeline/copy.d.ts +1 -1
  206. package/out/pipeline/copy.d.ts.map +1 -1
  207. package/out/pipeline/copy.js.map +1 -1
  208. package/out/pipeline/presets.d.ts.map +1 -1
  209. package/out/pipeline/presets.js +2 -1
  210. package/out/pipeline/presets.js.map +1 -1
  211. package/out/pipeline/types.d.ts +2 -68
  212. package/out/pipeline/types.d.ts.map +1 -1
  213. package/out/pipeline/types.js +1 -1
  214. package/out/pipeline/types.js.map +1 -1
  215. package/out/pipeline/useParsePipeline.d.ts +2 -1
  216. package/out/pipeline/useParsePipeline.d.ts.map +1 -1
  217. package/out/pipeline/useParsePipeline.js.map +1 -1
  218. package/out/poi/AbstainPanel.d.ts.map +1 -1
  219. package/out/poi/AbstainPanel.js.map +1 -1
  220. package/out/poi/LiveResultsBlock.d.ts +1 -1
  221. package/out/poi/LiveResultsBlock.d.ts.map +1 -1
  222. package/out/poi/LiveResultsBlock.js +1 -1
  223. package/out/poi/LiveResultsBlock.js.map +1 -1
  224. package/out/poi/OverpassBlock.d.ts.map +1 -1
  225. package/out/poi/OverpassBlock.js.map +1 -1
  226. package/out/poi/POIExplorer.d.ts +1 -1
  227. package/out/poi/POIExplorer.d.ts.map +1 -1
  228. package/out/poi/POIExplorer.js +2 -2
  229. package/out/poi/POIExplorer.js.map +1 -1
  230. package/out/poi/QueryInput.d.ts.map +1 -1
  231. package/out/poi/QueryInput.js.map +1 -1
  232. package/out/poi/SubjectPanel.d.ts +1 -1
  233. package/out/poi/SubjectPanel.d.ts.map +1 -1
  234. package/out/poi/SubjectPanel.js.map +1 -1
  235. package/out/poi/runtime.d.ts +1 -1
  236. package/out/poi/runtime.d.ts.map +1 -1
  237. package/out/poi/runtime.js.map +1 -1
  238. package/out/poi/types.d.ts +3 -2
  239. package/out/poi/types.d.ts.map +1 -1
  240. package/out/poi/types.js +1 -1
  241. package/out/poi/types.js.map +1 -1
  242. package/out/poi/usePOISearch.d.ts +1 -1
  243. package/out/poi/usePOISearch.d.ts.map +1 -1
  244. package/out/poi/usePOISearch.js +4 -4
  245. package/out/poi/usePOISearch.js.map +1 -1
  246. package/out/runtime/{useDemoRuntime.d.ts → useReleaseRuntime.d.ts} +20 -22
  247. package/out/runtime/useReleaseRuntime.d.ts.map +1 -0
  248. package/out/runtime/{useDemoRuntime.js → useReleaseRuntime.js} +6 -6
  249. package/out/runtime/useReleaseRuntime.js.map +1 -0
  250. package/package.json +221 -34
  251. package/styleframe.config.ts +321 -0
  252. package/styles.css +1074 -664
  253. package/tokens/index.css +115 -0
  254. package/tokens/tokens.json +521 -0
  255. package/tokens/tokens.resolver.json +185 -0
  256. package/out/map/DemoControls.d.ts +0 -64
  257. package/out/map/DemoControls.d.ts.map +0 -1
  258. package/out/map/DemoControls.js.map +0 -1
  259. package/out/map/DemoMap.d.ts.map +0 -1
  260. package/out/map/DemoMap.js.map +0 -1
  261. package/out/map/GeocoderDemo.d.ts.map +0 -1
  262. package/out/map/GeocoderDemo.js.map +0 -1
  263. package/out/map/useDemoGeocode.d.ts.map +0 -1
  264. package/out/map/useDemoGeocode.js.map +0 -1
  265. package/out/runtime/useDemoRuntime.d.ts.map +0 -1
  266. package/out/runtime/useDemoRuntime.js.map +0 -1
  267. package/pipeline/ConfidenceCell.tsx +0 -43
  268. /package/{common → lib/common}/ClientOnly.tsx +0 -0
  269. /package/{common → lib/common}/PresetChips.tsx +0 -0
  270. /package/{common → lib/common}/cx.ts +0 -0
  271. /package/{common → lib/common}/useClipboard.ts +0 -0
  272. /package/{common → lib/common}/useDebouncedValue.ts +0 -0
  273. /package/{map → lib/map}/BackendControl.tsx +0 -0
  274. /package/{map → lib/map}/geometry.ts +0 -0
  275. /package/{map → lib/map}/useCompareState.ts +0 -0
  276. /package/{poi → lib/poi}/AbstainPanel.tsx +0 -0
  277. /package/{poi → lib/poi}/OverpassBlock.tsx +0 -0
  278. /package/{poi → lib/poi}/QueryInput.tsx +0 -0
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ * @file The bare MapLibre control both debug panels portal into.
6
+ *
7
+ * `DashboardMap`'s inspector and the demo page's `_debug.tsx` panel each need an `IControl` whose
8
+ * only job is to own a container element for `createPortal`. The class was duplicated in both;
9
+ * the position and container class are the only differences, so they are parameters here.
10
+ */
11
+ import type { ControlPosition } from "maplibre-gl";
12
+ import type { IControl, MapInstance } from "react-map-gl/maplibre";
13
+ export interface DebugControlBaseOptions {
14
+ /**
15
+ * Class applied to the portal container.
16
+ */
17
+ className?: string;
18
+ /**
19
+ * Where MapLibre docks the control. @default "bottom-left"
20
+ */
21
+ position?: ControlPosition;
22
+ }
23
+ export declare class DebugControlBase implements IControl {
24
+ #private;
25
+ readonly container: HTMLElement;
26
+ constructor({ className, position }?: DebugControlBaseOptions);
27
+ onAdd(_map: MapInstance): HTMLElement;
28
+ onRemove(_map: MapInstance): void;
29
+ getDefaultPosition(): ControlPosition;
30
+ }
31
+ //# sourceMappingURL=map-debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-debug.d.ts","sourceRoot":"","sources":["../../lib/map/map-debug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAElE,MAAM,WAAW,uBAAuB;IACvC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC1B;AAED,qBAAa,gBAAiB,YAAW,QAAQ;;IAChD,SAAgB,SAAS,EAAE,WAAW,CAAA;gBAG1B,EAAE,SAAS,EAAE,QAAwB,EAAE,GAAE,uBAA4B;IAU1E,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW;IAIrC,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAIjC,kBAAkB,IAAI,eAAe;CAG5C"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ * @file The bare MapLibre control both debug panels portal into.
6
+ *
7
+ * `DashboardMap`'s inspector and the demo page's `_debug.tsx` panel each need an `IControl` whose
8
+ * only job is to own a container element for `createPortal`. The class was duplicated in both;
9
+ * the position and container class are the only differences, so they are parameters here.
10
+ */
11
+ export class DebugControlBase {
12
+ container;
13
+ #position;
14
+ constructor({ className, position = "bottom-left" } = {}) {
15
+ this.container = document.createElement("div");
16
+ if (className) {
17
+ this.container.classList.add(className);
18
+ }
19
+ this.#position = position;
20
+ }
21
+ onAdd(_map) {
22
+ return this.container;
23
+ }
24
+ onRemove(_map) {
25
+ this.container.remove();
26
+ }
27
+ getDefaultPosition() {
28
+ return this.#position;
29
+ }
30
+ }
31
+ //# sourceMappingURL=map-debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-debug.js","sourceRoot":"","sources":["../../lib/map/map-debug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgBH,MAAM,OAAO,gBAAgB;IACZ,SAAS,CAAa;IAC7B,SAAS,CAAiB;IAEnC,YAAY,EAAE,SAAS,EAAE,QAAQ,GAAG,aAAa,KAA8B,EAAE;QAChF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAE9C,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACxC,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAEM,KAAK,CAAC,IAAiB;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAA;IACtB,CAAC;IAEM,QAAQ,CAAC,IAAiB;QAChC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA;IACxB,CAAC;IAEM,kBAAkB;QACxB,OAAO,IAAI,CAAC,SAAS,CAAA;IACtB,CAAC;CACD"}
@@ -18,8 +18,8 @@
18
18
  * 4. bbox with real extent → bbox-sized approximate circle, fit the bbox
19
19
  * 5. bare point → no outline, fly to zoom 12
20
20
  */
21
- import type { ResolvedPlaceView } from "../pipeline/types.ts";
22
- import type { BoundsTuple, PlaceBBox, PlaceGeometry } from "./geometry.ts";
21
+ import type { ResolvedPlaceView } from "@mailwoman/core/pipeline/client-result";
22
+ import type { BoundsTuple, PlaceBBox, PlaceGeometry } from "#map/geometry";
23
23
  /**
24
24
  * `[longitude, latitude]`.
25
25
  */
@@ -90,7 +90,7 @@ export interface MapPlaceRenderSpec {
90
90
  */
91
91
  export declare function computeMapPlaceRenderSpec(place: ResolvedMapPlace): MapPlaceRenderSpec;
92
92
  /**
93
- * The DECLARATIVE camera path: reshape a `center` target into a `viewState` patch a controlled `<DemoMap viewState>`
93
+ * The DECLARATIVE camera path: reshape a `center` target into a `viewState` patch a controlled `<MapCanvas viewState>`
94
94
  * can apply directly (a hard jump, no animation). Returns `null` for a `bounds` target — fitting a box to the viewport
95
95
  * needs the map's pixel dimensions, which only the live map has, so that case is applied imperatively by
96
96
  * `<ResultCamera>`. Pure + node-testable.
@@ -1 +1 @@
1
- {"version":3,"file":"place-render.d.ts","sourceRoot":"","sources":["../../map/place-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE1E;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAErC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,cAAc,CAAA;AAExD;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IAC1D;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACxB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE3D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB;;OAEG;IACH,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;IAC7B;;OAEG;IACH,MAAM,EAAE,eAAe,CAAA;CACvB;AAsBD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,GAAG,kBAAkB,CAsDrF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,eAAe,GACrB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAI9D"}
1
+ {"version":3,"file":"place-render.d.ts","sourceRoot":"","sources":["../../lib/map/place-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAG/E,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE1E;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAErC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,cAAc,CAAA;AAExD;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IAC1D;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACxB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE3D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB;;OAEG;IACH,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;IAC7B;;OAEG;IACH,MAAM,EAAE,eAAe,CAAA;CACvB;AAsBD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,GAAG,kBAAkB,CAsDrF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,eAAe,GACrB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAI9D"}
@@ -18,7 +18,7 @@
18
18
  * 4. bbox with real extent → bbox-sized approximate circle, fit the bbox
19
19
  * 5. bare point → no outline, fly to zoom 12
20
20
  */
21
- import { approxCircleGeometry, bboxToBounds, geomBounds, radiusCircleGeometry } from "./geometry.js";
21
+ import { approxCircleGeometry, bboxToBounds, geomBounds, radiusCircleGeometry } from "#map/geometry";
22
22
  /**
23
23
  * Zoom levels the imperative effect flew to, kept named so the cascade reads as intent, not magic numbers.
24
24
  */
@@ -91,7 +91,7 @@ export function computeMapPlaceRenderSpec(place) {
91
91
  };
92
92
  }
93
93
  /**
94
- * The DECLARATIVE camera path: reshape a `center` target into a `viewState` patch a controlled `<DemoMap viewState>`
94
+ * The DECLARATIVE camera path: reshape a `center` target into a `viewState` patch a controlled `<MapCanvas viewState>`
95
95
  * can apply directly (a hard jump, no animation). Returns `null` for a `bounds` target — fitting a box to the viewport
96
96
  * needs the map's pixel dimensions, which only the live map has, so that case is applied imperatively by
97
97
  * `<ResultCamera>`. Pure + node-testable.
@@ -1 +1 @@
1
- {"version":3,"file":"place-render.js","sourceRoot":"","sources":["../../map/place-render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"place-render.js","sourceRoot":"","sources":["../../lib/map/place-render.ts"],"names":[],"mappings":"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"}
@@ -3,26 +3,29 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * Types for the geocoder-demo map surface. Mirrors the pipeline seam: the package owns the UI state
7
- * machine + the declarative map, while the host injects a {@link DemoRuntime} that owns ONNX / httpvfs
8
- * / R2 and the composed map style. {@link DemoRuntime} EXTENDS {@link PipelineRuntime} so the shared
6
+ * Types for the geocoder map surface. Mirrors the pipeline boundary: the package owns the UI state
7
+ * machine + the declarative map, while the host injects a {@link GeocoderRuntime} that owns ONNX / httpvfs
8
+ * / R2 and the composed map style. {@link GeocoderRuntime} EXTENDS {@link PipelineRuntime} so the shared
9
9
  * `runParse` / `parseStageLabels` / `loading` contract is reused, and adds the map-specific surface
10
10
  * (style, overlays, initial center, viewport bias, backend/version selection). Phase 4 adds the
11
- * `resolveMapPlace` enricher, the {@link DemoPanels} injection bag, and the {@link DemoCompareContext}.
11
+ * `resolveMapPlace` enricher, the {@link GeocoderPanels} injection bag, and the {@link CompareContext}.
12
12
  *
13
13
  * The map-spec types are imported type-only from `react-map-gl/maplibre`; nothing here loads maplibre at
14
- * runtime, so this module stays node-safe (its concrete-value CONSUMERS — `DemoMap`, `GeocoderDemo` —
15
- * are the ones gated behind the `@mailwoman/react/map` subpath).
14
+ * runtime, so this module stays node-safe (its concrete-value CONSUMERS — `MapCanvas`, `Geocoder` —
15
+ * are the ones behind the `@mailwoman/react/map` subpath).
16
16
  */
17
+ import type { ParseResult, ResolvedPlaceView } from "@mailwoman/core/pipeline/client-result";
17
18
  import type { ReactNode } from "react";
18
19
  import type { LayerSpecification, SourceSpecification } from "react-map-gl/maplibre";
19
- import type { ParseResult, PipelineRuntime, ResolvedPlaceView } from "../pipeline/types.ts";
20
- import type { DemoMapStyle } from "./DemoMap.tsx";
21
- import type { ResolvedMapPlace } from "./place-render.ts";
20
+ import type { LngLat, ResolvedMapPlace } from "#map/place-render";
21
+ import type { PipelineRuntime } from "#pipeline/types";
22
+ import type { MapCanvasStyle } from "./MapCanvas.tsx";
22
23
  /**
23
24
  * `[longitude, latitude]`.
25
+ *
26
+ * @deprecated Alias kept for existing imports — {@link LngLat} (from `@mailwoman/react/map`) is the canonical name.
24
27
  */
25
- export type LngLatTuple = [number, number];
28
+ export type LngLatTuple = LngLat;
26
29
  /**
27
30
  * A viewport bias handed to `runParse` — the map's current center (and optionally zoom) as a soft prior.
28
31
  */
@@ -30,7 +33,7 @@ export interface MapBias {
30
33
  /**
31
34
  * Map center as `[lon, lat]`, typically read from `map.getCenter()`.
32
35
  */
33
- center: LngLatTuple;
36
+ center: LngLat;
34
37
  /**
35
38
  * Current zoom, if the host wants distance-aware biasing.
36
39
  */
@@ -82,7 +85,7 @@ export interface Suggestion {
82
85
  /**
83
86
  * A selectable model bundle (version tag + a display label the picker shows).
84
87
  */
85
- export interface DemoVersionOption {
88
+ export interface VersionOption {
86
89
  /**
87
90
  * The version tag (e.g. a git tag or model-card version).
88
91
  */
@@ -93,21 +96,21 @@ export interface DemoVersionOption {
93
96
  label?: string;
94
97
  }
95
98
  /**
96
- * Which neural backend the demo is currently running on.
99
+ * Which neural backend the geocoder is currently running on.
97
100
  */
98
- export type DemoBackend = "webgpu" | "wasm";
101
+ export type InferenceBackend = "webgpu" | "wasm";
99
102
  /**
100
- * The injected demo runtime. Extends {@link PipelineRuntime} (shared `runParse` / `parseStageLabels` / `loading` /
101
- * `ready`) with the map + version/backend surface the demo needs. The host composes `mapStyle` (via cartographer's
103
+ * The injected geocoder runtime. Extends {@link PipelineRuntime} (shared `runParse` / `parseStageLabels` / `loading` /
104
+ * `ready`) with the map + version/backend surface the geocoder needs. The host composes `mapStyle` (via cartographer's
102
105
  * `StyleSpecificationComposer` + the tile-worker TileJSON), supplies the overlay specs, the initial center (from
103
106
  * geolocation), the FST autocomplete, and the calibrator — nothing in the package imports `@mailwoman/cartographer`,
104
- * `@mailwoman/neural-web`, httpvfs, or Docusaurus.
107
+ * `@mailwoman/neural`'s web loader, httpvfs, or Docusaurus.
105
108
  */
106
- export interface DemoRuntime extends PipelineRuntime {
109
+ export interface GeocoderRuntime extends PipelineRuntime {
107
110
  /**
108
111
  * The composed basemap style (URL or `StyleSpecification`).
109
112
  */
110
- mapStyle: DemoMapStyle;
113
+ mapStyle: MapCanvasStyle;
111
114
  /**
112
115
  * Host-supplied overlays (coverage, race-dots, …).
113
116
  */
@@ -115,13 +118,13 @@ export interface DemoRuntime extends PipelineRuntime {
115
118
  /**
116
119
  * Initial map center as `[lon, lat]` (the host's browser-geolocation result).
117
120
  */
118
- initialCenter: LngLatTuple;
121
+ initialCenter: LngLat;
119
122
  /**
120
123
  * Initial zoom for the first camera.
121
124
  */
122
125
  initialZoom?: number;
123
126
  /**
124
- * A bias-aware parse. The map demo feeds the current viewport center as a soft prior; when absent the host falls back
127
+ * A bias-aware parse. The geocoder feeds the current viewport center as a soft prior; when absent the host falls back
125
128
  * to the base {@link PipelineRuntime.runParse}. Kept separate so the shared `runParse` contract is unchanged.
126
129
  */
127
130
  runParseWithBias?: (input: string, bias: MapBias | null, hooks: {
@@ -137,16 +140,16 @@ export interface DemoRuntime extends PipelineRuntime {
137
140
  calibrator?: (raw: number) => number | null;
138
141
  /**
139
142
  * Enrich the selected candidate into the richer {@link ResolvedMapPlace} the declarative map render consumes (bbox,
140
- * street tier + uncertainty, a pre-fetched crisp polygon) — the fields that live on the demo's `ResolvedHit` but not
143
+ * street tier + uncertainty, a pre-fetched crisp polygon) — the fields that live on the host's `ResolvedHit` but not
141
144
  * on the shared {@link ResolvedPlaceView}. The host owns this because those extras (and the async polygon fetch in the
142
- * real demo) are host/gazetteer concerns; the package keeps {@link ParseResult} unpolluted. Absent → the candidate
145
+ * real runtime) are host/gazetteer concerns; the package keeps {@link ParseResult} unpolluted. Absent → the candidate
143
146
  * renders as a bare point (marker + a mid-zoom fly-to). Returning `null` also renders nothing.
144
147
  */
145
148
  resolveMapPlace?: (candidate: ResolvedPlaceView, result: ParseResult) => ResolvedMapPlace | null;
146
149
  /**
147
150
  * The selectable model bundles the version picker offers.
148
151
  */
149
- availableVersions?: DemoVersionOption[];
152
+ availableVersions?: VersionOption[];
150
153
  /**
151
154
  * The currently-selected model version.
152
155
  */
@@ -169,9 +172,10 @@ export interface DemoRuntime extends PipelineRuntime {
169
172
  setForceWASM?: (forceWASM: boolean) => void;
170
173
  }
171
174
  /**
172
- * The compare-mode state a {@link DemoPanels.compare} render-prop receives (the second parse itself stays host-side).
175
+ * The compare-mode state a {@link GeocoderPanels.compare} render-prop receives (the second parse itself stays
176
+ * host-side).
173
177
  */
174
- export interface DemoCompareContext {
178
+ export interface CompareContext {
175
179
  /**
176
180
  * The current primary parse result, or `null` before the first submit.
177
181
  */
@@ -186,12 +190,12 @@ export interface DemoCompareContext {
186
190
  compareVersion: string | null;
187
191
  }
188
192
  /**
189
- * The state a {@link DemoPanels.result} render-prop receives, so a host can render its OWN result block (the docs
193
+ * The state a {@link GeocoderPanels.result} render-prop receives, so a host can render its OWN result block (a
190
194
  * `<ResultPanel>` with its span-highlight / timing / hierarchy / precision detail) in place of the package's default
191
195
  * {@link ResultPanel}. Everything the default panel needs is passed through; the candidate-selection state stays owned
192
- * by the package (`useDemoGeocode`).
196
+ * by the package (`useGeocode`).
193
197
  */
194
- export interface DemoResultContext {
198
+ export interface ResultContext {
195
199
  /**
196
200
  * The current parse+resolve result.
197
201
  */
@@ -210,14 +214,14 @@ export interface DemoResultContext {
210
214
  onSelectCandidate: (index: number) => void;
211
215
  }
212
216
  /**
213
- * Host-injected panels for {@link GeocoderDemo}, the map analogue of `PipelinePanels`. Each is an already-rendered
214
- * `ReactNode` (or a thunk of the parse result / compare state) so the package needs neither the heavy docs visualizers
215
- * (ModelVisualizer, VersionCompare, AboutDemo, PermalinkButton) nor their data types. Every field is optional — the
216
- * fake-runtime Storybook stories pass none and still render the whole demo.
217
+ * Host-injected panels for {@link Geocoder}, the map analogue of `PipelinePanels`. Each is an already-rendered
218
+ * `ReactNode` (or a thunk of the parse result / compare state) so the package needs neither the heavy host visualizers
219
+ * (ModelVisualizer, VersionCompare, About, PermalinkButton) nor their data types. Every field is optional — the
220
+ * fake-runtime Storybook stories pass none and still render the whole geocoder.
217
221
  */
218
- export interface DemoPanels {
222
+ export interface GeocoderPanels {
219
223
  /**
220
- * Rendered at the top of the control panel (e.g. the docs "About this demo").
224
+ * Rendered at the top of the control panel (e.g. the host's "About this geocoder").
221
225
  */
222
226
  header?: ReactNode;
223
227
  /**
@@ -229,9 +233,9 @@ export interface DemoPanels {
229
233
  */
230
234
  footer?: ReactNode;
231
235
  /**
232
- * A device-location / proximity-bias control, rendered between the query form and the autocomplete list (the demo's
233
- * "📍 Use my location" row). Host-owned so the geolocation permission + the bias it feeds into the host's
234
- * {@link DemoRuntime.runParseWithBias} stay a host concern.
236
+ * A device-location / proximity-bias control, rendered between the query form and the autocomplete list (the "📍 Use
237
+ * my location" row). Host-owned so the geolocation permission + the bias it feeds into the host's
238
+ * {@link GeocoderRuntime.runParseWithBias} stay a host concern.
235
239
  */
236
240
  bias?: ReactNode;
237
241
  /**
@@ -239,7 +243,7 @@ export interface DemoPanels {
239
243
  */
240
244
  extras?: (result: ParseResult) => ReactNode;
241
245
  /**
242
- * Rendered just above the result block (present or empty). The demo's opt-in display toggles live here — calibrated
246
+ * Rendered just above the result block (present or empty). The opt-in display toggles live here — calibrated
243
247
  * confidence + dev-mode — because the host owns both the toggle state AND the {@link result} / {@link debugDrawer}
244
248
  * renderers those toggles drive.
245
249
  */
@@ -248,10 +252,10 @@ export interface DemoPanels {
248
252
  }) => ReactNode;
249
253
  /**
250
254
  * Replace the package's default {@link ResultPanel} entirely. When provided, the host renders its own result block
251
- * (the docs `<ResultPanel>` — span highlight, timing, hierarchy, precision detail, calibrated confidences) from the
252
- * {@link DemoResultContext}. Absent → the built-in panel renders.
255
+ * (span highlight, timing, hierarchy, precision detail, calibrated confidences) from the {@link ResultContext}. Absent
256
+ * → the built-in panel renders.
253
257
  */
254
- result?: (context: DemoResultContext) => ReactNode;
258
+ result?: (context: ResultContext) => ReactNode;
255
259
  /**
256
260
  * Rendered in place of the resolved-place panel when nothing resolved (host's FailureDiagnostic). Ignored when
257
261
  * {@link result} is set.
@@ -260,17 +264,17 @@ export interface DemoPanels {
260
264
  /**
261
265
  * The version-compare view — the host renders its own diff from the compare state it owns.
262
266
  */
263
- compare?: (context: DemoCompareContext) => ReactNode;
267
+ compare?: (context: CompareContext) => ReactNode;
264
268
  /**
265
269
  * The model-visualizer / debug drawer, mounted beside the map (host's ModelVisualizer). A render-prop so the host can
266
- * trace the CURRENT result (its input) — the package passes the live parse result; the host gates on its own dev-mode
267
- * state and returns `null` when the drawer is closed.
270
+ * trace the CURRENT result (its input) — the package passes the live parse result; the host decides on its own
271
+ * dev-mode state and returns `null` when the drawer is closed.
268
272
  */
269
273
  debugDrawer?: (context: {
270
274
  result: ParseResult | null;
271
275
  }) => ReactNode;
272
276
  /**
273
- * Extra map controls mounted as `<DemoMap>` children (host's DebugControl / LayerToggle via `useControl`).
277
+ * Extra map controls mounted as `<MapCanvas>` children (host's DebugControl / LayerToggle via `useControl`).
274
278
  */
275
279
  mapControls?: ReactNode;
276
280
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../map/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/map/types.ts"],"names":[],"mappings":"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"}
package/out/map/types.js CHANGED
@@ -3,16 +3,16 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * Types for the geocoder-demo map surface. Mirrors the pipeline seam: the package owns the UI state
7
- * machine + the declarative map, while the host injects a {@link DemoRuntime} that owns ONNX / httpvfs
8
- * / R2 and the composed map style. {@link DemoRuntime} EXTENDS {@link PipelineRuntime} so the shared
6
+ * Types for the geocoder map surface. Mirrors the pipeline boundary: the package owns the UI state
7
+ * machine + the declarative map, while the host injects a {@link GeocoderRuntime} that owns ONNX / httpvfs
8
+ * / R2 and the composed map style. {@link GeocoderRuntime} EXTENDS {@link PipelineRuntime} so the shared
9
9
  * `runParse` / `parseStageLabels` / `loading` contract is reused, and adds the map-specific surface
10
10
  * (style, overlays, initial center, viewport bias, backend/version selection). Phase 4 adds the
11
- * `resolveMapPlace` enricher, the {@link DemoPanels} injection bag, and the {@link DemoCompareContext}.
11
+ * `resolveMapPlace` enricher, the {@link GeocoderPanels} injection bag, and the {@link CompareContext}.
12
12
  *
13
13
  * The map-spec types are imported type-only from `react-map-gl/maplibre`; nothing here loads maplibre at
14
- * runtime, so this module stays node-safe (its concrete-value CONSUMERS — `DemoMap`, `GeocoderDemo` —
15
- * are the ones gated behind the `@mailwoman/react/map` subpath).
14
+ * runtime, so this module stays node-safe (its concrete-value CONSUMERS — `MapCanvas`, `Geocoder` —
15
+ * are the ones behind the `@mailwoman/react/map` subpath).
16
16
  */
17
17
  export {};
18
18
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../map/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/map/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCompareState.d.ts","sourceRoot":"","sources":["../../map/useCompareState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B;;OAEG;IACH,cAAc,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAA;IAC9C;;OAEG;IACH,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACnD;;OAEG;IACH,cAAc,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAA;CAChD;AAED,wBAAgB,eAAe,IAAI,eAAe,CAiBjD"}
1
+ {"version":3,"file":"useCompareState.d.ts","sourceRoot":"","sources":["../../lib/map/useCompareState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B;;OAEG;IACH,cAAc,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAA;IAC9C;;OAEG;IACH,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACnD;;OAEG;IACH,cAAc,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAA;CAChD;AAED,wBAAgB,eAAe,IAAI,eAAe,CAiBjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCompareState.js","sourceRoot":"","sources":["../../map/useCompareState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAyB7C,MAAM,UAAU,eAAe;IAC9B,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC1D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEzE,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,IAAa,EAAE,EAAE;QACpD,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAEzB,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;IACF,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,cAAsB,EAAE,EAAE;QAC7D,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACrE,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAA;AAC1F,CAAC"}
1
+ {"version":3,"file":"useCompareState.js","sourceRoot":"","sources":["../../lib/map/useCompareState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAyB7C,MAAM,UAAU,eAAe;IAC9B,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC1D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEzE,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,IAAa,EAAE,EAAE;QACpD,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAEzB,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;IACF,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,cAAsB,EAAE,EAAE;QAC7D,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACrE,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAA;AAC1F,CAAC"}
@@ -3,9 +3,9 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * `useDemoGeocode` — the parse+resolve state machine for the geocoder map demo. It REUSES the pipeline's
6
+ * `useGeocode` — the parse+resolve state machine for the geocoder map. It REUSES the pipeline's
7
7
  * `useParsePipeline` (text / busy / stage / result / candidate selection) and layers on the two map-only
8
- * concerns the demo adds over the base explorer:
8
+ * concerns the geocoder adds over the base explorer:
9
9
  *
10
10
  * 1. Viewport bias — when the runtime exposes `runParseWithBias`, the current map center (read through
11
11
  * an injected `getBias`, itself reading the `MapRef`) rides along as a soft proximity prior. The
@@ -17,14 +17,14 @@
17
17
  * No maplibre import at module scope — the map handle is reached only through the injected `getBias`
18
18
  * callback, so this hook stays independent of the map binding.
19
19
  */
20
- import { type UseParsePipeline } from "../pipeline/useParsePipeline.ts";
21
- import type { ResolvedMapPlace } from "./place-render.ts";
22
- import type { DemoRuntime, MapBias } from "./types.ts";
23
- export interface UseDemoGeocodeOptions {
20
+ import type { ResolvedMapPlace } from "#map/place-render";
21
+ import type { GeocoderRuntime, MapBias } from "#map/types";
22
+ import { type UseParsePipeline } from "#pipeline/useParsePipeline";
23
+ export interface UseGeocodeOptions {
24
24
  /**
25
- * The injected demo runtime (extends `PipelineRuntime` with the map + bias surface).
25
+ * The injected geocoder runtime (extends `PipelineRuntime` with the map + bias surface).
26
26
  */
27
- runtime: DemoRuntime;
27
+ runtime: GeocoderRuntime;
28
28
  /**
29
29
  * Address to pre-fill.
30
30
  */
@@ -34,11 +34,11 @@ export interface UseDemoGeocodeOptions {
34
34
  */
35
35
  getBias?: () => MapBias | null;
36
36
  }
37
- export interface UseDemoGeocode extends UseParsePipeline {
37
+ export interface UseGeocode extends UseParsePipeline {
38
38
  /**
39
39
  * The selected candidate enriched into the map-render shape (bbox / tier / polygon), or `null`.
40
40
  */
41
41
  mapPlace: ResolvedMapPlace | null;
42
42
  }
43
- export declare function useDemoGeocode({ runtime, defaultText, getBias }: UseDemoGeocodeOptions): UseDemoGeocode;
44
- //# sourceMappingURL=useDemoGeocode.d.ts.map
43
+ export declare function useGeocode({ runtime, defaultText, getBias }: UseGeocodeOptions): UseGeocode;
44
+ //# sourceMappingURL=useGeocode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGeocode.d.ts","sourceRoot":"","sources":["../../lib/map/useGeocode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE1D,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAEpF,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,OAAO,EAAE,eAAe,CAAA;IACxB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,OAAO,GAAG,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IACnD;;OAEG;IACH,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;CACjC;AAED,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,UAAU,CAyB3F"}
@@ -3,9 +3,9 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * `useDemoGeocode` — the parse+resolve state machine for the geocoder map demo. It REUSES the pipeline's
6
+ * `useGeocode` — the parse+resolve state machine for the geocoder map. It REUSES the pipeline's
7
7
  * `useParsePipeline` (text / busy / stage / result / candidate selection) and layers on the two map-only
8
- * concerns the demo adds over the base explorer:
8
+ * concerns the geocoder adds over the base explorer:
9
9
  *
10
10
  * 1. Viewport bias — when the runtime exposes `runParseWithBias`, the current map center (read through
11
11
  * an injected `getBias`, itself reading the `MapRef`) rides along as a soft proximity prior. The
@@ -18,8 +18,8 @@
18
18
  * callback, so this hook stays independent of the map binding.
19
19
  */
20
20
  import { useMemo } from "react";
21
- import { useParsePipeline } from "../pipeline/useParsePipeline.js";
22
- export function useDemoGeocode({ runtime, defaultText, getBias }) {
21
+ import { useParsePipeline } from "#pipeline/useParsePipeline";
22
+ export function useGeocode({ runtime, defaultText, getBias }) {
23
23
  // Bind the viewport bias into a derived `runParse` so `useParsePipeline` is reused unchanged. When the runtime has no
24
24
  // bias-aware parse, pass it straight through.
25
25
  const geoRuntime = useMemo(() => {
@@ -41,4 +41,4 @@ export function useDemoGeocode({ runtime, defaultText, getBias }) {
41
41
  }, [pipeline.selectedCandidate, pipeline.result, runtime]);
42
42
  return { ...pipeline, mapPlace };
43
43
  }
44
- //# sourceMappingURL=useDemoGeocode.js.map
44
+ //# sourceMappingURL=useGeocode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGeocode.js","sourceRoot":"","sources":["../../lib/map/useGeocode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAK/B,OAAO,EAAE,gBAAgB,EAAyB,MAAM,4BAA4B,CAAA;AAwBpF,MAAM,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAqB;IAC9E,sHAAsH;IACtH,8CAA8C;IAC9C,MAAM,UAAU,GAAG,OAAO,CAAkB,GAAG,EAAE;QAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAA;QAEzC,IAAI,CAAC,QAAQ;YAAE,OAAO,OAAO,CAAA;QAE7B,OAAO;YACN,GAAG,OAAO;YACV,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,KAAK,CAAC;SACvE,CAAA;IACF,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;IAEtB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAA;IAEvE,MAAM,QAAQ,GAAG,OAAO,CAA0B,GAAG,EAAE;QACtD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAEhE,OAAO,OAAO,CAAC,eAAe;YAC7B,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC;YACtE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAA;IAC9B,CAAC,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAE1D,OAAO,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAA;AACjC,CAAC"}
@@ -9,7 +9,7 @@
9
9
  * but memoization, so it stays trivially correct. A `null` place (no result yet, or a result with no
10
10
  * candidate) yields `null` — the overlays render nothing.
11
11
  */
12
- import type { MapPlaceRenderSpec, ResolvedMapPlace } from "./place-render.ts";
12
+ import type { MapPlaceRenderSpec, ResolvedMapPlace } from "#map/place-render";
13
13
  /**
14
14
  * Memoize the render spec for a resolved place; `null` in → `null` out (nothing to draw).
15
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useMapPlaceRender.d.ts","sourceRoot":"","sources":["../../map/useMapPlaceRender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAE7E;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,kBAAkB,GAAG,IAAI,CAEvG"}
1
+ {"version":3,"file":"useMapPlaceRender.d.ts","sourceRoot":"","sources":["../../lib/map/useMapPlaceRender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAE7E;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,kBAAkB,GAAG,IAAI,CAEvG"}
@@ -10,7 +10,7 @@
10
10
  * candidate) yields `null` — the overlays render nothing.
11
11
  */
12
12
  import { useMemo } from "react";
13
- import { computeMapPlaceRenderSpec } from "./place-render.js";
13
+ import { computeMapPlaceRenderSpec } from "#map/place-render";
14
14
  /**
15
15
  * Memoize the render spec for a resolved place; `null` in → `null` out (nothing to draw).
16
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useMapPlaceRender.js","sourceRoot":"","sources":["../../map/useMapPlaceRender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAG7D;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA0C;IAC3E,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;AACjF,CAAC"}
1
+ {"version":3,"file":"useMapPlaceRender.js","sourceRoot":"","sources":["../../lib/map/useMapPlaceRender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAG7D;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA0C;IAC3E,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;AACjF,CAAC"}
@@ -15,7 +15,7 @@
15
15
  * the presentational {@link PlaceAutocomplete} listbox renders `suggestions` / `activeIndex`.
16
16
  */
17
17
  import { type KeyboardEvent } from "react";
18
- import type { Suggestion } from "./types.ts";
18
+ import type { Suggestion } from "#map/types";
19
19
  export interface UsePlaceAutocompleteOptions {
20
20
  /**
21
21
  * The current input text.
@@ -1 +1 @@
1
- {"version":3,"file":"usePlaceAutocomplete.d.ts","sourceRoot":"","sources":["../../map/usePlaceAutocomplete.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAoC,MAAM,OAAO,CAAA;AAG5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,MAAM,WAAW,2BAA2B;IAC3C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;IACvD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,UAAU,CAAA;IAChB,eAAe,EAAE,OAAO,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,YAAY,EAAE,KAAK,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC;;OAEG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IAChE;;OAEG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB;;OAEG;IACH,UAAU,EAAE,sBAAsB,CAAA;IAClC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CACnC;AAyBD,wBAAgB,oBAAoB,CAAC,EACpC,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,QAAY,EACZ,UAAgB,GAChB,EAAE,2BAA2B,GAAG,oBAAoB,CAmHpD"}
1
+ {"version":3,"file":"usePlaceAutocomplete.d.ts","sourceRoot":"","sources":["../../lib/map/usePlaceAutocomplete.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAoC,MAAM,OAAO,CAAA;AAG5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,MAAM,WAAW,2BAA2B;IAC3C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;IACvD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,UAAU,CAAA;IAChB,eAAe,EAAE,OAAO,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,YAAY,EAAE,KAAK,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC;;OAEG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IAChE;;OAEG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB;;OAEG;IACH,UAAU,EAAE,sBAAsB,CAAA;IAClC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CACnC;AAyBD,wBAAgB,oBAAoB,CAAC,EACpC,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,QAAY,EACZ,UAAgB,GAChB,EAAE,2BAA2B,GAAG,oBAAoB,CAmHpD"}
@@ -15,7 +15,7 @@
15
15
  * the presentational {@link PlaceAutocomplete} listbox renders `suggestions` / `activeIndex`.
16
16
  */
17
17
  import { useCallback, useEffect, useState } from "react";
18
- import { useDebouncedValue } from "../common/useDebouncedValue.js";
18
+ import { useDebouncedValue } from "#common/useDebouncedValue";
19
19
  const LISTBOX_ID = "mw-demo-suggest-list";
20
20
  /**
21
21
  * Stable empty list for the derived no-suggestions state — a fresh `[]` per render would churn the identity every
@@ -1 +1 @@
1
- {"version":3,"file":"usePlaceAutocomplete.js","sourceRoot":"","sources":["../../map/usePlaceAutocomplete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePlaceAutocomplete.js","sourceRoot":"","sources":["../../lib/map/usePlaceAutocomplete.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@
6
6
  * `CandidatePicker` — the ranked list of alternate gazetteer candidates; clicking one selects it.
7
7
  * Presentational; the selected index is owned by the caller (the pipeline hook).
8
8
  */
9
+ import type { ResolvedPlaceView } from "@mailwoman/core/pipeline/client-result";
9
10
  import type { ReactNode } from "react";
10
- import type { ResolvedPlaceView } from "./types.ts";
11
11
  export interface CandidatePickerProps {
12
12
  candidates: ResolvedPlaceView[];
13
13
  selectedIndex: number;
@@ -1 +1 @@
1
- {"version":3,"file":"CandidatePicker.d.ts","sourceRoot":"","sources":["../../pipeline/CandidatePicker.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,iBAAiB,EAAE,CAAA;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC;AAED,wBAAgB,eAAe,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,oBAAoB,GAAG,SAAS,CAwBxG"}
1
+ {"version":3,"file":"CandidatePicker.d.ts","sourceRoot":"","sources":["../../lib/pipeline/CandidatePicker.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,iBAAiB,EAAE,CAAA;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC;AAED,wBAAgB,eAAe,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,oBAAoB,GAAG,SAAS,CAwBxG"}