@mailwoman/react 10.1.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 (178) hide show
  1. package/README.md +1 -0
  2. package/lib/common/About.tsx +3 -3
  3. package/lib/common/CopyButton.tsx +6 -2
  4. package/lib/common/LoadingIndicator.tsx +10 -4
  5. package/lib/common/PresetChips.tsx +3 -1
  6. package/lib/common/confidence-tiers.ts +1 -1
  7. package/lib/common/text-tokens.ts +3 -9
  8. package/lib/index.ts +0 -1
  9. package/lib/map/AppIdentity.tsx +6 -2
  10. package/lib/map/DebugInfo.tsx +3 -16
  11. package/lib/map/Geocoder.tsx +9 -8
  12. package/lib/map/GeocoderControls.tsx +1 -13
  13. package/lib/map/GraticuleLayer.tsx +3 -1
  14. package/lib/map/MapCanvas.tsx +3 -1
  15. package/lib/map/MapChipRow.tsx +1 -1
  16. package/lib/map/MapCompass.tsx +3 -1
  17. package/lib/map/MapControlStack.tsx +3 -1
  18. package/lib/map/MapFooter.tsx +3 -1
  19. package/lib/map/OverlayLayers.tsx +13 -2
  20. package/lib/map/PlaceAutocomplete.tsx +3 -1
  21. package/lib/map/PlaceMarker.tsx +6 -2
  22. package/lib/map/ResolvedPlaceLayers.tsx +13 -5
  23. package/lib/map/ResultCamera.tsx +3 -1
  24. package/lib/map/ResultOverlay.tsx +12 -4
  25. package/lib/map/VersionPicker.tsx +1 -1
  26. package/lib/map/fake-runtime.ts +36 -7
  27. package/lib/map/map-debug.ts +3 -1
  28. package/lib/map/place-render.ts +3 -3
  29. package/lib/map/types.ts +2 -15
  30. package/lib/map/useMapPlaceRender.ts +1 -1
  31. package/lib/map/usePlaceAutocomplete.ts +2 -2
  32. package/lib/map.ts +0 -3
  33. package/lib/pipeline/ConfidenceCell.tsx +1 -1
  34. package/lib/pipeline/PipelineExplorer.tsx +6 -3
  35. package/lib/pipeline/ResolvedPlace.tsx +1 -1
  36. package/lib/pipeline/TreeView.tsx +1 -1
  37. package/lib/pipeline/types.ts +0 -4
  38. package/lib/poi/POIExplorer.tsx +6 -3
  39. package/lib/poi/runtime.ts +9 -0
  40. package/lib/poi/types.ts +27 -28
  41. package/lib/poi/usePOISearch.ts +55 -41
  42. package/lib/poi.ts +1 -0
  43. package/lib/runtime/useReleaseRuntime.ts +14 -33
  44. package/lib/search/SearchModal.tsx +227 -66
  45. package/lib/search/search.css +160 -22
  46. package/lib/search/types.ts +2 -1
  47. package/out/common/About.d.ts +1 -1
  48. package/out/common/About.js +1 -1
  49. package/out/common/About.js.map +1 -1
  50. package/out/common/CopyButton.d.ts +6 -2
  51. package/out/common/CopyButton.d.ts.map +1 -1
  52. package/out/common/CopyButton.js.map +1 -1
  53. package/out/common/LoadingIndicator.d.ts +10 -4
  54. package/out/common/LoadingIndicator.d.ts.map +1 -1
  55. package/out/common/LoadingIndicator.js.map +1 -1
  56. package/out/common/PresetChips.d.ts +3 -1
  57. package/out/common/PresetChips.d.ts.map +1 -1
  58. package/out/common/PresetChips.js.map +1 -1
  59. package/out/common/confidence-tiers.d.ts +1 -1
  60. package/out/common/confidence-tiers.d.ts.map +1 -1
  61. package/out/common/confidence-tiers.js.map +1 -1
  62. package/out/common/text-tokens.d.ts +2 -8
  63. package/out/common/text-tokens.d.ts.map +1 -1
  64. package/out/common/text-tokens.js.map +1 -1
  65. package/out/index.d.ts +1 -1
  66. package/out/index.d.ts.map +1 -1
  67. package/out/map/AppIdentity.d.ts +6 -2
  68. package/out/map/AppIdentity.d.ts.map +1 -1
  69. package/out/map/AppIdentity.js.map +1 -1
  70. package/out/map/DebugInfo.d.ts +2 -9
  71. package/out/map/DebugInfo.d.ts.map +1 -1
  72. package/out/map/DebugInfo.js +3 -6
  73. package/out/map/DebugInfo.js.map +1 -1
  74. package/out/map/Geocoder.d.ts +4 -4
  75. package/out/map/Geocoder.d.ts.map +1 -1
  76. package/out/map/Geocoder.js +4 -2
  77. package/out/map/Geocoder.js.map +1 -1
  78. package/out/map/GeocoderControls.d.ts +2 -3
  79. package/out/map/GeocoderControls.d.ts.map +1 -1
  80. package/out/map/GeocoderControls.js +2 -3
  81. package/out/map/GeocoderControls.js.map +1 -1
  82. package/out/map/GraticuleLayer.d.ts +3 -1
  83. package/out/map/GraticuleLayer.d.ts.map +1 -1
  84. package/out/map/GraticuleLayer.js.map +1 -1
  85. package/out/map/MapCanvas.d.ts +3 -1
  86. package/out/map/MapCanvas.d.ts.map +1 -1
  87. package/out/map/MapCanvas.js.map +1 -1
  88. package/out/map/MapChipRow.d.ts +1 -1
  89. package/out/map/MapCompass.d.ts +3 -1
  90. package/out/map/MapCompass.d.ts.map +1 -1
  91. package/out/map/MapCompass.js.map +1 -1
  92. package/out/map/MapControlStack.d.ts +3 -1
  93. package/out/map/MapControlStack.d.ts.map +1 -1
  94. package/out/map/MapControlStack.js.map +1 -1
  95. package/out/map/MapFooter.d.ts +3 -1
  96. package/out/map/MapFooter.d.ts.map +1 -1
  97. package/out/map/MapFooter.js.map +1 -1
  98. package/out/map/OverlayLayers.d.ts +7 -1
  99. package/out/map/OverlayLayers.d.ts.map +1 -1
  100. package/out/map/OverlayLayers.js +2 -2
  101. package/out/map/OverlayLayers.js.map +1 -1
  102. package/out/map/PlaceAutocomplete.d.ts +3 -1
  103. package/out/map/PlaceAutocomplete.d.ts.map +1 -1
  104. package/out/map/PlaceAutocomplete.js.map +1 -1
  105. package/out/map/PlaceMarker.d.ts +6 -2
  106. package/out/map/PlaceMarker.d.ts.map +1 -1
  107. package/out/map/PlaceMarker.js.map +1 -1
  108. package/out/map/ResolvedPlaceLayers.d.ts +13 -5
  109. package/out/map/ResolvedPlaceLayers.d.ts.map +1 -1
  110. package/out/map/ResolvedPlaceLayers.js.map +1 -1
  111. package/out/map/ResultCamera.d.ts +3 -1
  112. package/out/map/ResultCamera.d.ts.map +1 -1
  113. package/out/map/ResultCamera.js.map +1 -1
  114. package/out/map/ResultOverlay.d.ts +12 -4
  115. package/out/map/ResultOverlay.d.ts.map +1 -1
  116. package/out/map/ResultOverlay.js.map +1 -1
  117. package/out/map/VersionPicker.d.ts +1 -1
  118. package/out/map/fake-runtime.d.ts.map +1 -1
  119. package/out/map/fake-runtime.js +36 -7
  120. package/out/map/fake-runtime.js.map +1 -1
  121. package/out/map/map-debug.d.ts +3 -1
  122. package/out/map/map-debug.d.ts.map +1 -1
  123. package/out/map/map-debug.js.map +1 -1
  124. package/out/map/place-render.d.ts +3 -3
  125. package/out/map/place-render.d.ts.map +1 -1
  126. package/out/map/types.d.ts +2 -14
  127. package/out/map/types.d.ts.map +1 -1
  128. package/out/map/useMapPlaceRender.d.ts +1 -1
  129. package/out/map/useMapPlaceRender.d.ts.map +1 -1
  130. package/out/map/useMapPlaceRender.js.map +1 -1
  131. package/out/map/usePlaceAutocomplete.d.ts +2 -2
  132. package/out/map.d.ts +1 -3
  133. package/out/map.d.ts.map +1 -1
  134. package/out/map.js +0 -1
  135. package/out/map.js.map +1 -1
  136. package/out/pipeline/ConfidenceCell.d.ts +1 -1
  137. package/out/pipeline/ConfidenceCell.d.ts.map +1 -1
  138. package/out/pipeline/PipelineExplorer.d.ts +6 -2
  139. package/out/pipeline/PipelineExplorer.d.ts.map +1 -1
  140. package/out/pipeline/PipelineExplorer.js +1 -1
  141. package/out/pipeline/PipelineExplorer.js.map +1 -1
  142. package/out/pipeline/ResolvedPlace.d.ts +1 -1
  143. package/out/pipeline/ResolvedPlace.d.ts.map +1 -1
  144. package/out/pipeline/TreeView.js.map +1 -1
  145. package/out/pipeline/types.d.ts +0 -4
  146. package/out/pipeline/types.d.ts.map +1 -1
  147. package/out/poi/POIExplorer.d.ts +1 -1
  148. package/out/poi/POIExplorer.d.ts.map +1 -1
  149. package/out/poi/POIExplorer.js +2 -2
  150. package/out/poi/POIExplorer.js.map +1 -1
  151. package/out/poi/runtime.d.ts.map +1 -1
  152. package/out/poi/runtime.js +9 -0
  153. package/out/poi/runtime.js.map +1 -1
  154. package/out/poi/types.d.ts +24 -28
  155. package/out/poi/types.d.ts.map +1 -1
  156. package/out/poi/usePOISearch.d.ts +4 -2
  157. package/out/poi/usePOISearch.d.ts.map +1 -1
  158. package/out/poi/usePOISearch.js +42 -32
  159. package/out/poi/usePOISearch.js.map +1 -1
  160. package/out/poi.d.ts +1 -1
  161. package/out/poi.d.ts.map +1 -1
  162. package/out/poi.js.map +1 -1
  163. package/out/runtime/useReleaseRuntime.d.ts +13 -23
  164. package/out/runtime/useReleaseRuntime.d.ts.map +1 -1
  165. package/out/runtime/useReleaseRuntime.js +2 -8
  166. package/out/runtime/useReleaseRuntime.js.map +1 -1
  167. package/out/search/SearchModal.d.ts +10 -3
  168. package/out/search/SearchModal.d.ts.map +1 -1
  169. package/out/search/SearchModal.js +83 -15
  170. package/out/search/SearchModal.js.map +1 -1
  171. package/out/search/types.d.ts +2 -1
  172. package/out/search/types.d.ts.map +1 -1
  173. package/package.json +19 -29
  174. package/lib/map/BackendControl.tsx +0 -50
  175. package/out/map/BackendControl.d.ts +0 -31
  176. package/out/map/BackendControl.d.ts.map +0 -1
  177. package/out/map/BackendControl.js +0 -8
  178. package/out/map/BackendControl.js.map +0 -1
package/out/poi.d.ts CHANGED
@@ -17,7 +17,7 @@ export type { QueryInputProps } from "./poi/QueryInput.tsx";
17
17
  export { formatDistance, loadPOIRuntime, POI_DEFAULT_TEXT, POI_PRESETS } from "#poi/runtime";
18
18
  export { SubjectPanel } from "./poi/SubjectPanel.tsx";
19
19
  export type { SubjectPanelProps } from "./poi/SubjectPanel.tsx";
20
- export type { CategoryRecord, LiveSearchState, LoadPOIRuntime, POIBrandSubject, POICategorySubject, POIExplorerResult, POILiveSearch, POILiveSearchResult, POIRuntime, POISearchHit, POISubject, POISubjectBase, TaxonomyLookup, } from "#poi/types";
20
+ export type { CategoryRecord, LiveSearchState, LoadPOIRuntime, POIBrandSubject, POICategorySubject, POIExplorerResult, POILiveSearch, POILiveSearchRequest, POILiveSearchResult, POIRuntime, POISearchHit, POISubject, POISubjectBase, TaxonomyLookup, } from "#poi/types";
21
21
  export { usePOISearch } from "#poi/usePOISearch";
22
22
  export type { UsePOISearch, UsePOISearchOptions } from "#poi/usePOISearch";
23
23
  //# sourceMappingURL=poi.d.ts.map
package/out/poi.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"poi.d.ts","sourceRoot":"","sources":["../lib/poi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,YAAY,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,GACd,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"poi.d.ts","sourceRoot":"","sources":["../lib/poi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,YAAY,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,GACd,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA"}
package/out/poi.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"poi.js","sourceRoot":"","sources":["../lib/poi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAwB,CAAA;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA4B,CAAA;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAyB,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAuB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAsB,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAwB,CAAA;AAmBrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"poi.js","sourceRoot":"","sources":["../lib/poi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAwB,CAAA;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA4B,CAAA;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAyB,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAuB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAsB,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAwB,CAAA;AAoBrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
@@ -32,13 +32,9 @@ export interface ReleaseManifest<TRelease extends ReleaseBase = ReleaseBase> {
32
32
  */
33
33
  export interface AssetsLoadContext {
34
34
  /**
35
- * The signal aborts when a version or backend switch supersedes this load or when the component unmounts.
35
+ * The signal aborts when a version switch supersedes this load or when the component unmounts.
36
36
  */
37
37
  signal: AbortSignal;
38
- /**
39
- * Whether this load should use the CPU WASM backend instead of WebGPU.
40
- */
41
- forceWASM: boolean;
42
38
  /**
43
39
  * Sets the progress line, such as `Loading v7 model (~28 MB)…`.
44
40
  */
@@ -49,7 +45,7 @@ export interface AssetsLoadContext {
49
45
  */
50
46
  setStepIndex: (index: number) => void;
51
47
  /**
52
- * Reports the backend that the neural runtime resolved to, such as `webgpu (27 MB int8)`.
48
+ * Reports the neural runtime's backend and model size, such as `wasm (27 MB int8)`.
53
49
  */
54
50
  setBackend: (backend: string) => void;
55
51
  /**
@@ -72,9 +68,12 @@ export interface ReleaseRuntimeConfig<TAssets, TRelease extends ReleaseBase = Re
72
68
  */
73
69
  loadManifest: (signal: AbortSignal) => Promise<ReleaseManifest<TRelease> | null>;
74
70
  /**
75
- * Loads the asset bundle for one release and reports progress through `ctx`;
76
- * the hook calls it on every version or `forceWASM` change, reports a rejection through
77
- * `errorMessage`, and disposes a result that resolves after `ctx.signal` aborts.
71
+ * Loads the asset bundle for one release and reports progress through `ctx`.
72
+ *
73
+ * The hook calls it on every version change.
74
+ * It reports a rejection through `errorMessage`.
75
+ *
76
+ * It disposes a result that resolves after `ctx.signal` aborts.
78
77
  */
79
78
  loadAssets: (release: TRelease, ctx: AssetsLoadContext) => Promise<TAssets>;
80
79
  /**
@@ -89,7 +88,8 @@ export interface ReleaseRuntimeConfig<TAssets, TRelease extends ReleaseBase = Re
89
88
  disposeAssets?: (assets: TAssets) => void | Promise<void>;
90
89
  /**
91
90
  * The progress line shown before the manifest arrives.
92
- * Defaults to `Loading releases…`.
91
+ *
92
+ * @defaultValue `"Loading releases…"`
93
93
  */
94
94
  initialProgress?: string;
95
95
  }
@@ -135,27 +135,17 @@ export interface ReleaseLoaderState<TAssets, TRelease extends ReleaseBase = Rele
135
135
  */
136
136
  errorMessage: string | null;
137
137
  /**
138
- * The backend the neural runtime resolved to, such as `webgpu (27 MB int8)`;
139
- * it is `""` before the backend is known.
138
+ * The neural runtime's backend and model size, such as `wasm (27 MB int8)`;
139
+ * it is `""` before the model loads.
140
140
  */
141
141
  activeBackend: string;
142
- /**
143
- * Whether the CPU WASM backend is forced instead of WebGPU.
144
- */
145
- forceWASM: boolean;
146
142
  /**
147
143
  * Switches to another version, clearing any error and reloading the asset bundle.
148
144
  */
149
145
  selectVersion: (version: string) => void;
150
- /**
151
- * Forces or releases the CPU WASM backend.
152
- * Either change reloads the asset bundle.
153
- */
154
- setForceWASM: (forceWASM: boolean) => void;
155
146
  }
156
147
  /**
157
- * Loads the release manifest on mount and the selected release's assets whenever
158
- * the version or `forceWASM` changes.
148
+ * Loads the release manifest on mount and the selected release's assets whenever the version changes.
159
149
  *
160
150
  * Each reload aborts the previous load and disposes the old assets.
161
151
  * `ready` becomes true after the new assets load.
@@ -1 +1 @@
1
- {"version":3,"file":"useReleaseRuntime.d.ts","sourceRoot":"","sources":["../../lib/runtime/useReleaseRuntime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW;IAC1E;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IAEtB,QAAQ,EAAE,QAAQ,EAAE,CAAA;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,MAAM,EAAE,WAAW,CAAA;IAEnB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAEvC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAEzC;;OAEG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAErC;;OAEG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAErC;;;;;OAKG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,OAAO,EAAE,QAAQ,SAAS,WAAW,GAAG,WAAW;IACxF;;;;;OAKG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;IAEhF;;;;OAIG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAE3E;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzD;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,EAAE,QAAQ,SAAS,WAAW,GAAG,WAAW;IACtF;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IAE1C;;OAEG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9B;;OAEG;IACH,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAA;IAEhC;;OAEG;IACH,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAEtB,KAAK,EAAE,OAAO,CAAA;IAEd;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAA;IAExB,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAE3B;;;OAGG;IACH,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAElC;;OAEG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3B;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAExC;;;OAGG;IACH,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,SAAS,WAAW,GAAG,WAAW,EACpF,MAAM,EAAE,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAC7C,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CA2JvC"}
1
+ {"version":3,"file":"useReleaseRuntime.d.ts","sourceRoot":"","sources":["../../lib/runtime/useReleaseRuntime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW;IAC1E;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IAEtB,QAAQ,EAAE,QAAQ,EAAE,CAAA;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,MAAM,EAAE,WAAW,CAAA;IAEnB;;OAEG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAEvC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAEzC;;OAEG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAErC;;OAEG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAErC;;;;;OAKG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,OAAO,EAAE,QAAQ,SAAS,WAAW,GAAG,WAAW;IACxF;;;;;OAKG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;IAEhF;;;;;;;OAOG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAE3E;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzD;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,EAAE,QAAQ,SAAS,WAAW,GAAG,WAAW;IACtF;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IAE1C;;OAEG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAE9B;;OAEG;IACH,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAA;IAEhC;;OAEG;IACH,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAEtB,KAAK,EAAE,OAAO,CAAA;IAEd;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAA;IAExB,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAE3B;;;OAGG;IACH,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAElC;;OAEG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3B;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,SAAS,WAAW,GAAG,WAAW,EACpF,MAAM,EAAE,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAC7C,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAqJvC"}
@@ -5,8 +5,7 @@
5
5
  */
6
6
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
7
7
  /**
8
- * Loads the release manifest on mount and the selected release's assets whenever
9
- * the version or `forceWASM` changes.
8
+ * Loads the release manifest on mount and the selected release's assets whenever the version changes.
10
9
  *
11
10
  * Each reload aborts the previous load and disposes the old assets.
12
11
  * `ready` becomes true after the new assets load.
@@ -22,7 +21,6 @@ export function useReleaseRuntime(config) {
22
21
  const [errorMessage, setErrorMessage] = useState(null);
23
22
  const [activeBackend, setActiveBackend] = useState("");
24
23
  const [loadingByteFraction, setLoadingByteFraction] = useState(null);
25
- const [forceWASM, setForceWASMState] = useState(false);
26
24
  const loadManifestRef = useRef(config.loadManifest);
27
25
  const loadAssetsRef = useRef(config.loadAssets);
28
26
  const disposeAssetsRef = useRef(config.disposeAssets);
@@ -81,7 +79,6 @@ export function useReleaseRuntime(config) {
81
79
  setLoadingByteFraction(null);
82
80
  const ctx = {
83
81
  signal,
84
- forceWASM,
85
82
  setProgress: (progress) => guard(() => setLoadingProgress(progress)),
86
83
  setStepLabels: (labels) => guard(() => setLoadingStepLabels(labels)),
87
84
  setStepIndex: (index) => guard(() => setLoadingStepIndex(index)),
@@ -106,7 +103,7 @@ export function useReleaseRuntime(config) {
106
103
  }
107
104
  })();
108
105
  return () => controller.abort();
109
- }, [selectedVersion, forceWASM]);
106
+ }, [selectedVersion]);
110
107
  useEffect(() => {
111
108
  return () => {
112
109
  const live = liveAssetsRef.current;
@@ -120,7 +117,6 @@ export function useReleaseRuntime(config) {
120
117
  setSelectedVersion(version);
121
118
  setErrorMessage(null);
122
119
  }, []);
123
- const setForceWASM = useCallback((next) => setForceWASMState(next), []);
124
120
  const selectedRelease = useMemo(() => manifest?.releases.find((r) => r.version === selectedVersion) ?? null, [manifest, selectedVersion]);
125
121
  return {
126
122
  manifest,
@@ -134,9 +130,7 @@ export function useReleaseRuntime(config) {
134
130
  loadingByteFraction,
135
131
  errorMessage,
136
132
  activeBackend,
137
- forceWASM,
138
133
  selectVersion,
139
- setForceWASM,
140
134
  };
141
135
  }
142
136
  //# sourceMappingURL=useReleaseRuntime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useReleaseRuntime.js","sourceRoot":"","sources":["../../lib/runtime/useReleaseRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useReleaseRuntime.js","sourceRoot":"","sources":["../../lib/runtime/useReleaseRuntime.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,10 @@
5
5
  *
6
6
  * The docs search modal. A native `<dialog>` opened with `showModal()` supplies the focus trap, the inert
7
7
  * background, the backdrop, the close on Escape and the return of focus to the opener. The query field is an
8
- * `<input type="search">` with the ARIA combobox role. DOM focus stays on the input, and the selected hit is
9
- * named by `aria-activedescendant`. The component owns no data access: `search` is passed in.
8
+ * `<input type="search">` with the ARIA combobox role. DOM focus stays on the input, and
9
+ * `aria-activedescendant` identifies the selected hit. The component owns no data access: `search` is
10
+ * passed in. Recent queries are a per-viewer convenience in `localStorage`; the modal renders the same
11
+ * without them.
10
12
  */
11
13
  import type { SearchHit, SearchResponse } from "./types.ts";
12
14
  export interface SearchModalProps {
@@ -24,10 +26,15 @@ export interface SearchModalProps {
24
26
  * because a new identity refires the request for the current query.
25
27
  */
26
28
  search: (q: string, signal: AbortSignal) => Promise<SearchResponse>;
29
+ /**
30
+ * The `localStorage` key under which recent queries are kept.
31
+ * Absent, recent queries are not kept.
32
+ */
33
+ recentKey?: string;
27
34
  }
28
35
  /**
29
36
  * The site-relative link for a hit.
30
37
  */
31
38
  export declare function hitHref(hit: Pick<SearchHit, "url" | "anchor">): string;
32
- export declare function SearchModal({ open, onClose, onNavigate, search }: SearchModalProps): import("react").JSX.Element;
39
+ export declare function SearchModal({ open, onClose, onNavigate, search, recentKey }: SearchModalProps): import("react").JSX.Element;
33
40
  //# sourceMappingURL=SearchModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchModal.d.ts","sourceRoot":"","sources":["../../lib/search/SearchModal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC;;;;;OAKG;IACH,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;CACnE;AAiBD;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAC,GAAG,MAAM,CAEtE;AAuCD,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,gBAAgB,+BA+NlF"}
1
+ {"version":3,"file":"SearchModal.d.ts","sourceRoot":"","sources":["../../lib/search/SearchModal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC;;;;;OAKG;IACH,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;IACnE;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAkBD;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAC,GAAG,MAAM,CAEtE;AA6GD,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,gBAAgB,+BAiT7F"}
@@ -6,9 +6,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
6
  *
7
7
  * The docs search modal. A native `<dialog>` opened with `showModal()` supplies the focus trap, the inert
8
8
  * background, the backdrop, the close on Escape and the return of focus to the opener. The query field is an
9
- * `<input type="search">` with the ARIA combobox role. DOM focus stays on the input, and the selected hit is
10
- * named by `aria-activedescendant`. The component owns no data access: `search` is passed in.
9
+ * `<input type="search">` with the ARIA combobox role. DOM focus stays on the input, and
10
+ * `aria-activedescendant` identifies the selected hit. The component owns no data access: `search` is
11
+ * passed in. Recent queries are a per-viewer convenience in `localStorage`; the modal renders the same
12
+ * without them.
11
13
  */
14
+ import { stringifyJSON, tryParsingJSON } from "@mailwoman/core/json";
12
15
  import { useEffect, useId, useMemo, useRef, useState } from "react";
13
16
  import { useDebouncedValue } from "#common/useDebouncedValue";
14
17
  const DEBOUNCE_MS = 150;
@@ -18,6 +21,7 @@ const DEBOUNCE_MS = 150;
18
21
  const LOADING_ANNOUNCE_MS = 300;
19
22
  const MAX_QUERY_LENGTH = 200;
20
23
  const DEFAULT_CATEGORY = "Documentation";
24
+ const RECENT_LIMIT = 5;
21
25
  /**
22
26
  * The site-relative link for a hit.
23
27
  */
@@ -36,25 +40,68 @@ function statusText(status) {
36
40
  return `No results for “${response.query}”.`;
37
41
  return response.hits.length === 1 ? "1 result." : `${response.hits.length} results.`;
38
42
  }
39
- function highlighted(hit) {
43
+ /**
44
+ * The ranges of `text` that match a query token, case-insensitively, for emphasis in a title.
45
+ */
46
+ function tokenRanges(text, query) {
47
+ const lower = text.toLowerCase();
48
+ const ranges = [];
49
+ for (const token of new Set(query
50
+ .toLowerCase()
51
+ .split(/\s+/)
52
+ .filter((part) => part.length >= 2))) {
53
+ for (let index = lower.indexOf(token); index >= 0; index = lower.indexOf(token, index + token.length)) {
54
+ ranges.push([index, index + token.length]);
55
+ }
56
+ }
57
+ return ranges.toSorted((a, b) => a[0] - b[0]);
58
+ }
59
+ function emphasized(text, ranges) {
40
60
  const parts = [];
41
61
  let cursor = 0;
42
- for (const [start, end] of hit.highlights) {
62
+ for (const [start, end] of ranges) {
43
63
  if (start < cursor)
44
64
  continue;
45
- parts.push(hit.snippet.slice(cursor, start), _jsx("mark", { children: hit.snippet.slice(start, end) }, start));
65
+ parts.push(text.slice(cursor, start), _jsx("mark", { children: text.slice(start, end) }, start));
46
66
  cursor = end;
47
67
  }
48
- parts.push(hit.snippet.slice(cursor));
68
+ parts.push(text.slice(cursor));
49
69
  return parts;
50
70
  }
51
- function title(hit) {
52
- return hit.hierarchy
53
- .slice(1)
54
- .filter((entry) => entry !== null)
55
- .join(" › ");
71
+ /**
72
+ * The deepest heading of a hit is its title.
73
+ * The headings between the category and it are its path.
74
+ */
75
+ function headings(hit) {
76
+ const named = hit.hierarchy.slice(1).filter((entry) => entry !== null);
77
+ const title = named.at(-1) ?? hit.url;
78
+ return { title, path: named.slice(0, -1) };
79
+ }
80
+ function readRecent(key) {
81
+ if (!key)
82
+ return [];
83
+ try {
84
+ const stored = tryParsingJSON(globalThis.localStorage.getItem(key));
85
+ return Array.isArray(stored) ? stored.filter((entry) => typeof entry === "string") : [];
86
+ }
87
+ catch {
88
+ return [];
89
+ }
90
+ }
91
+ function writeRecent(key, entries) {
92
+ if (!key)
93
+ return;
94
+ try {
95
+ globalThis.localStorage.setItem(key, stringifyJSON(entries));
96
+ }
97
+ catch {
98
+ // Storage can be absent or blocked.
99
+ // The modal works without it.
100
+ }
56
101
  }
57
- export function SearchModal({ open, onClose, onNavigate, search }) {
102
+ const SearchIcon = () => (_jsxs("svg", { className: "mw-search__icon", viewBox: "0 0 20 20", "aria-hidden": "true", focusable: "false", children: [_jsx("circle", { cx: "8.5", cy: "8.5", r: "5.5", fill: "none", stroke: "currentColor", strokeWidth: "2" }), _jsx("path", { d: "M13 13l4.5 4.5", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })] }));
103
+ const Spinner = () => (_jsx("svg", { className: "mw-search__icon mw-search__icon--spinning", viewBox: "0 0 20 20", "aria-hidden": "true", focusable: "false", children: _jsx("circle", { cx: "10", cy: "10", r: "7", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeDasharray: "22 22", strokeLinecap: "round" }) }));
104
+ export function SearchModal({ open, onClose, onNavigate, search, recentKey }) {
58
105
  const dialogRef = useRef(null);
59
106
  const inputRef = useRef(null);
60
107
  const baseID = useId();
@@ -63,6 +110,7 @@ export function SearchModal({ open, onClose, onNavigate, search }) {
63
110
  const [settled, setSettled] = useState({ kind: "idle" });
64
111
  const [selected, setSelected] = useState(0);
65
112
  const [loading, setLoading] = useState(false);
113
+ const [recent, setRecent] = useState([]);
66
114
  const trimmed = query.trim().slice(0, MAX_QUERY_LENGTH);
67
115
  const debounced = useDebouncedValue(trimmed, DEBOUNCE_MS);
68
116
  useEffect(() => {
@@ -72,15 +120,16 @@ export function SearchModal({ open, onClose, onNavigate, search }) {
72
120
  if (open && !dialog.open) {
73
121
  dialog.showModal();
74
122
  inputRef.current?.focus();
123
+ setRecent(readRecent(recentKey));
75
124
  }
76
125
  else if (!open && dialog.open) {
77
126
  dialog.close();
78
127
  }
79
- }, [open]);
128
+ }, [open, recentKey]);
80
129
  useEffect(() => {
81
130
  if (debounced === "")
82
131
  return;
83
- // Aborting the earlier request is what keeps a late response from replacing newer results.
132
+ // The abort of the earlier request keeps a late response from replacing newer results.
84
133
  const controller = new AbortController();
85
134
  const loadingTimer = setTimeout(() => setLoading(true), LOADING_ANNOUNCE_MS);
86
135
  search(debounced, controller.signal).then((response) => {
@@ -124,8 +173,22 @@ export function SearchModal({ open, onClose, onNavigate, search }) {
124
173
  }, [response]);
125
174
  const ordered = groups.flatMap((group) => group.entries);
126
175
  const optionID = (order) => `${baseID}-option-${order}`;
176
+ const emphasis = response?.corrected ?? debounced;
177
+ function remember(text) {
178
+ const entries = [text, ...recent.filter((entry) => entry !== text)].slice(0, RECENT_LIMIT);
179
+ setRecent(entries);
180
+ writeRecent(recentKey, entries);
181
+ }
182
+ function forget(text) {
183
+ const entries = recent.filter((entry) => entry !== text);
184
+ setRecent(entries);
185
+ writeRecent(recentKey, entries);
186
+ }
127
187
  function go(hit) {
128
188
  const href = hitHref(hit);
189
+ if (trimmed !== "") {
190
+ remember(trimmed);
191
+ }
129
192
  onClose();
130
193
  if (onNavigate) {
131
194
  onNavigate(href);
@@ -182,6 +245,11 @@ export function SearchModal({ open, onClose, onNavigate, search }) {
182
245
  event.preventDefault();
183
246
  go(hit);
184
247
  }
185
- return (_jsxs("dialog", { ref: dialogRef, className: "mw-search", "aria-label": "Search the documentation", onClose: onClose, onClick: onDialogClick, children: [_jsx("form", { role: "search", className: "mw-search__form", onSubmit: (event) => event.preventDefault(), children: _jsx("input", { ref: inputRef, type: "search", className: "mw-search__input", role: "combobox", "aria-label": "Search the documentation", "aria-autocomplete": "list", "aria-expanded": ordered.length > 0, "aria-controls": listboxID, "aria-activedescendant": ordered.length ? optionID(selected) : undefined, autoComplete: "off", spellCheck: false, maxLength: MAX_QUERY_LENGTH, placeholder: "Search the documentation", value: query, onChange: (event) => setQuery(event.target.value), onKeyDown: onKeyDown }) }), response?.corrected !== undefined && (_jsxs("p", { className: "mw-search__corrected", children: ["Showing results for \u201C", response.corrected, "\u201D"] })), _jsx("div", { id: listboxID, role: "listbox", "aria-label": "Search results", className: "mw-search__results", children: groups.map((group, groupIndex) => (_jsxs("div", { role: "group", "aria-labelledby": `${baseID}-group-${groupIndex}`, className: "mw-search__group", children: [_jsx("div", { id: `${baseID}-group-${groupIndex}`, className: "mw-search__category", children: group.category }), group.entries.map(({ hit, order }) => (_jsxs("a", { id: optionID(order), role: "option", "aria-selected": order === selected, href: hitHref(hit), tabIndex: -1, className: "mw-search__option", onPointerMove: () => setSelected(order), onClick: (event) => onLinkClick(event, hit), children: [_jsx("span", { className: "mw-search__title", children: title(hit) }), hit.snippet !== "" && _jsx("span", { className: "mw-search__snippet", children: highlighted(hit) })] }, order)))] }, group.category))) }), _jsx("p", { "aria-live": "polite", className: "mw-search__status", children: statusText(announced) })] }));
248
+ const showRecent = trimmed === "" && recent.length > 0;
249
+ const noResults = response !== undefined && response.hits.length === 0;
250
+ return (_jsxs("dialog", { ref: dialogRef, className: "mw-search", "aria-label": "Search the documentation", onClose: onClose, onClick: onDialogClick, children: [_jsxs("form", { role: "search", className: "mw-search__form", onSubmit: (event) => event.preventDefault(), children: [_jsxs("label", { className: "mw-search__field", children: [loading ? _jsx(Spinner, {}) : _jsx(SearchIcon, {}), _jsx("input", { ref: inputRef, type: "search", className: "mw-search__input", role: "combobox", "aria-label": "Search the documentation", "aria-autocomplete": "list", "aria-expanded": ordered.length > 0, "aria-controls": listboxID, "aria-activedescendant": ordered.length ? optionID(selected) : undefined, autoComplete: "off", spellCheck: false, maxLength: MAX_QUERY_LENGTH, placeholder: "Search the documentation", value: query, onChange: (event) => setQuery(event.target.value), onKeyDown: onKeyDown })] }), _jsx("button", { type: "button", className: "mw-search__cancel", onClick: () => dialogRef.current?.close(), children: "Cancel" })] }), response?.corrected != null && (_jsxs("p", { className: "mw-search__corrected", children: ["Showing results for \u201C", response.corrected, "\u201D"] })), _jsxs("div", { className: "mw-search__body", children: [showRecent && (_jsxs("section", { className: "mw-search__recent", "aria-label": "Recent searches", children: [_jsx("div", { className: "mw-search__category", children: "Recent" }), _jsx("ul", { className: "mw-search__recent-list", children: recent.map((entry) => (_jsxs("li", { className: "mw-search__recent-item", children: [_jsx("button", { type: "button", className: "mw-search__recent-query", onClick: () => setQuery(entry), children: entry }), _jsx("button", { type: "button", className: "mw-search__recent-remove", "aria-label": `Remove “${entry}” from recent searches`, onClick: () => forget(entry), children: "\u00D7" })] }, entry))) })] })), noResults && (_jsxs("p", { className: "mw-search__empty", children: ["No results for \u201C", response.query, "\u201D. Try a different spelling or a shorter query."] })), _jsx("div", { id: listboxID, role: "listbox", "aria-label": "Search results", className: "mw-search__results", children: groups.map((group, groupIndex) => (_jsxs("div", { role: "group", "aria-labelledby": `${baseID}-group-${groupIndex}`, className: "mw-search__group", children: [_jsx("div", { id: `${baseID}-group-${groupIndex}`, className: "mw-search__category", children: group.category }), group.entries.map(({ hit, order }) => {
251
+ const { title, path } = headings(hit);
252
+ return (_jsxs("a", { id: optionID(order), role: "option", "aria-selected": order === selected, href: hitHref(hit), tabIndex: -1, className: `mw-search__option ${hit.anchor === "" ? "mw-search__option--page" : "mw-search__option--section"}`, onPointerMove: () => setSelected(order), onClick: (event) => onLinkClick(event, hit), children: [path.length > 0 && _jsx("span", { className: "mw-search__path", children: path.join(" › ") }), _jsx("span", { className: "mw-search__title", children: emphasized(title, tokenRanges(title, emphasis)) }), hit.snippet !== "" && (_jsx("span", { className: "mw-search__snippet", children: emphasized(hit.snippet, hit.highlights) }))] }, order));
253
+ })] }, group.category))) })] }), _jsxs("footer", { className: "mw-search__footer", children: [_jsx("p", { "aria-live": "polite", className: "mw-search__status", children: statusText(announced) }), _jsxs("ul", { className: "mw-search__hints", "aria-label": "Keyboard shortcuts", children: [_jsxs("li", { children: [_jsx("kbd", { children: "\u21B5" }), " open"] }), _jsxs("li", { children: [_jsx("kbd", { children: "\u2191" }), _jsx("kbd", { children: "\u2193" }), " move"] }), _jsxs("li", { children: [_jsx("kbd", { children: "esc" }), " close"] })] })] })] }));
186
254
  }
187
255
  //# sourceMappingURL=SearchModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchModal.js","sourceRoot":"","sources":["../../lib/search/SearchModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchModal.js","sourceRoot":"","sources":["../../lib/search/SearchModal.tsx"],"names":[],"mappings":"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"}
@@ -57,8 +57,9 @@ export interface SearchResponse {
57
57
  query: string;
58
58
  /**
59
59
  * The text actually searched when a token was corrected against the vocabulary.
60
+ * It is `null` when no token was.
60
61
  */
61
- corrected?: string;
62
+ corrected: string | null;
62
63
  hits: SearchHit[];
63
64
  }
64
65
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/search/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,IAAI,CAAA;AAEhC,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,SAAS;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAA;CAC1C;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,SAAS,EAAE,CAAA;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/search/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,IAAI,CAAA;AAEhC,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,SAAS;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAA;CAC1C;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,SAAS,EAAE,CAAA;CACjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailwoman/react",
3
- "version": "10.1.0",
3
+ "version": "10.2.0",
4
4
  "description": "React components + headless hooks for mailwoman — parse/geocode/POI explorers, Storybook-tested, Docusaurus-independent.",
5
5
  "license": "AGPL-3.0-only OR LicenseRef-Commercial",
6
6
  "repository": {
@@ -166,11 +166,6 @@
166
166
  "node": "./out/map/ResolvedPlaceLayers.js",
167
167
  "default": "./out/map/ResolvedPlaceLayers.js"
168
168
  },
169
- "./map/BackendControl": {
170
- "types": "./out/map/BackendControl.d.ts",
171
- "node": "./out/map/BackendControl.js",
172
- "default": "./out/map/BackendControl.js"
173
- },
174
169
  "./map/CompareToggle": {
175
170
  "types": "./out/map/CompareToggle.d.ts",
176
171
  "node": "./out/map/CompareToggle.js",
@@ -370,11 +365,6 @@
370
365
  "node": "./out/map/ResolvedPlaceLayers.js",
371
366
  "default": "./out/map/ResolvedPlaceLayers.js"
372
367
  },
373
- "./map/BackendControl": {
374
- "types": "./out/map/BackendControl.d.ts",
375
- "node": "./out/map/BackendControl.js",
376
- "default": "./out/map/BackendControl.js"
377
- },
378
368
  "./map/CompareToggle": {
379
369
  "types": "./out/map/CompareToggle.d.ts",
380
370
  "node": "./out/map/CompareToggle.js",
@@ -487,36 +477,36 @@
487
477
  "test:node": "vitest run --config vitest.node.config.ts"
488
478
  },
489
479
  "dependencies": {
490
- "@mailwoman/core": "10.1.0",
491
- "@mailwoman/kind-classifier": "10.1.0",
492
- "@mailwoman/poi-taxonomy": "10.1.0",
493
- "@mailwoman/query-shape": "10.1.0",
494
- "@mailwoman/spatial": "10.1.0",
480
+ "@mailwoman/core": "10.2.0",
481
+ "@mailwoman/kind-classifier": "10.2.0",
482
+ "@mailwoman/poi-taxonomy": "10.2.0",
483
+ "@mailwoman/query-shape": "10.2.0",
484
+ "@mailwoman/spatial": "10.2.0",
495
485
  "@types/geojson": "^7946.0.16"
496
486
  },
497
487
  "devDependencies": {
498
- "@storybook/addon-docs": "^10.6.0",
499
- "@storybook/react-vite": "^10.6.0",
488
+ "@storybook/addon-docs": "^10.6.1",
489
+ "@storybook/react-vite": "^10.6.1",
500
490
  "@styleframe/core": "^3.6.2",
501
491
  "@styleframe/license": "^2.0.2",
502
492
  "@styleframe/loader": "^3.0.4",
503
493
  "@styleframe/plugin": "^3.4.1",
504
494
  "@styleframe/transpiler": "^3.4.2",
505
- "@types/react": "^19.2.18",
506
- "@types/react-dom": "^19.2.7",
507
- "@vitejs/plugin-react": "^6.1.1",
508
- "@vitest/browser-playwright": "4.1.11",
509
- "maplibre-gl": "^6.7.0",
510
- "oxfmt": "0.66.0",
495
+ "@types/react": "^19.3.0",
496
+ "@types/react-dom": "^19.3.0",
497
+ "@vitejs/plugin-react": "^6.1.2",
498
+ "@vitest/browser-playwright": "5.0.3",
499
+ "maplibre-gl": "^6.13.0",
500
+ "oxfmt": "0.72.0",
511
501
  "playwright": "^1.63.0",
512
- "react": "^19.2.8",
513
- "react-dom": "^19.2.8",
502
+ "react": "^19.3.0",
503
+ "react-dom": "^19.3.0",
514
504
  "react-map-gl": "^8.1.3",
515
- "storybook": "^10.6.0",
505
+ "storybook": "^10.6.1",
516
506
  "styleframe": "^3.9.1",
517
507
  "typescript": "npm:@typescript/typescript6@^6.0.2",
518
- "vite": "^8.2.2",
519
- "vitest": "4.1.11"
508
+ "vite": "^8.3.3",
509
+ "vitest": "5.0.3"
520
510
  },
521
511
  "peerDependencies": {
522
512
  "maplibre-gl": ">=5",
@@ -1,50 +0,0 @@
1
- /**
2
- * @copyright Sister Software
3
- * @license AGPL-3.0
4
- * @author Teffen Ellis, et al.
5
- *
6
- * Shows the active inference backend and a checkbox that forces WASM. The host applies the change.
7
- */
8
-
9
- import type { ReactNode } from "react"
10
-
11
- /**
12
- * Props for {@link BackendControl}.
13
- */
14
- export interface BackendControlProps {
15
- /**
16
- * The backend the runtime chose, such as `webgpu (28 MB int8)`.
17
- * It is empty until known.
18
- */
19
- activeBackend?: string
20
- /**
21
- * Whether the WASM backend is forced.
22
- */
23
- forceWASM: boolean
24
- /**
25
- * Called when the visitor toggles the "Force WASM" checkbox.
26
- */
27
- onForceWASMChange: (forceWASM: boolean) => void
28
- }
29
-
30
- /**
31
- * Renders the backend indicator and the "Force WASM" checkbox.
32
- */
33
- export function BackendControl({ activeBackend, forceWASM, onForceWASMChange }: BackendControlProps): ReactNode {
34
- return (
35
- <div className="mw-demo-backend">
36
- <span className="mw-map-sheet__label">Inference backend</span>
37
-
38
- {activeBackend ? (
39
- <span className="mw-demo-backend__active">
40
- Running on <code>{activeBackend}</code>
41
- </span>
42
- ) : null}
43
-
44
- <label className="mw-map-sheet__check mw-demo-backend__toggle">
45
- <input type="checkbox" checked={forceWASM} onChange={(event) => onForceWASMChange(event.target.checked)} />
46
- Force WASM
47
- </label>
48
- </div>
49
- )
50
- }