@honua/app-platform 0.0.20-alpha.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 (840) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +11 -0
  3. package/app/index.d.ts +164 -0
  4. package/app/index.d.ts.map +1 -0
  5. package/app/index.js +424 -0
  6. package/app-controller/controller.d.ts +425 -0
  7. package/app-controller/controller.d.ts.map +1 -0
  8. package/app-controller/controller.js +1173 -0
  9. package/app-controller/index.d.ts +14 -0
  10. package/app-controller/index.d.ts.map +1 -0
  11. package/app-controller/index.js +12 -0
  12. package/app-workspace/index.d.ts +421 -0
  13. package/app-workspace/index.d.ts.map +1 -0
  14. package/app-workspace/index.js +722 -0
  15. package/collaboration/client.d.ts +40 -0
  16. package/collaboration/client.d.ts.map +1 -0
  17. package/collaboration/client.js +299 -0
  18. package/collaboration/errors.d.ts +15 -0
  19. package/collaboration/errors.d.ts.map +1 -0
  20. package/collaboration/errors.js +17 -0
  21. package/collaboration/fixture.d.ts +41 -0
  22. package/collaboration/fixture.d.ts.map +1 -0
  23. package/collaboration/fixture.js +362 -0
  24. package/collaboration/index.d.ts +18 -0
  25. package/collaboration/index.d.ts.map +1 -0
  26. package/collaboration/index.js +14 -0
  27. package/collaboration/types.d.ts +240 -0
  28. package/collaboration/types.d.ts.map +1 -0
  29. package/collaboration/types.js +1 -0
  30. package/contract/analytics-sources.d.ts +149 -0
  31. package/contract/analytics-sources.d.ts.map +1 -0
  32. package/contract/analytics-sources.js +235 -0
  33. package/contract/edit-session.d.ts +203 -0
  34. package/contract/edit-session.d.ts.map +1 -0
  35. package/contract/edit-session.js +760 -0
  36. package/contract/edit-sketch.d.ts +91 -0
  37. package/contract/edit-sketch.d.ts.map +1 -0
  38. package/contract/edit-sketch.js +281 -0
  39. package/contract/index.d.ts +63 -0
  40. package/contract/index.d.ts.map +1 -0
  41. package/contract/index.js +52 -0
  42. package/contract/jobs.d.ts +149 -0
  43. package/contract/jobs.d.ts.map +1 -0
  44. package/contract/jobs.js +40 -0
  45. package/contract/pmtiles.d.ts +162 -0
  46. package/contract/pmtiles.d.ts.map +1 -0
  47. package/contract/pmtiles.js +155 -0
  48. package/contract/source.d.ts +447 -0
  49. package/contract/source.d.ts.map +1 -0
  50. package/contract/source.js +3909 -0
  51. package/contract/spatial-aggregation.d.ts +336 -0
  52. package/contract/spatial-aggregation.d.ts.map +1 -0
  53. package/contract/spatial-aggregation.js +298 -0
  54. package/contract/temporal.d.ts +455 -0
  55. package/contract/temporal.d.ts.map +1 -0
  56. package/contract/temporal.js +146 -0
  57. package/contract/tiles.d.ts +370 -0
  58. package/contract/tiles.d.ts.map +1 -0
  59. package/contract/tiles.js +519 -0
  60. package/contract/types.d.ts +694 -0
  61. package/contract/types.d.ts.map +1 -0
  62. package/contract/types.js +183 -0
  63. package/contract/widget-source.d.ts +205 -0
  64. package/contract/widget-source.d.ts.map +1 -0
  65. package/contract/widget-source.js +1473 -0
  66. package/control-plane/client.d.ts +95 -0
  67. package/control-plane/client.d.ts.map +1 -0
  68. package/control-plane/client.js +374 -0
  69. package/control-plane/index.d.ts +18 -0
  70. package/control-plane/index.d.ts.map +1 -0
  71. package/control-plane/index.js +14 -0
  72. package/control-plane/types.d.ts +233 -0
  73. package/control-plane/types.d.ts.map +1 -0
  74. package/control-plane/types.js +7 -0
  75. package/controls/basemap-style-binding.d.ts +54 -0
  76. package/controls/basemap-style-binding.d.ts.map +1 -0
  77. package/controls/basemap-style-binding.js +199 -0
  78. package/controls/basemap-switcher.d.ts +95 -0
  79. package/controls/basemap-switcher.d.ts.map +1 -0
  80. package/controls/basemap-switcher.js +379 -0
  81. package/controls/element-utils.d.ts +48 -0
  82. package/controls/element-utils.d.ts.map +1 -0
  83. package/controls/element-utils.js +78 -0
  84. package/controls/index.d.ts +33 -0
  85. package/controls/index.d.ts.map +1 -0
  86. package/controls/index.js +30 -0
  87. package/controls/layer-list.d.ts +98 -0
  88. package/controls/layer-list.d.ts.map +1 -0
  89. package/controls/layer-list.js +375 -0
  90. package/controls/legend-derive.d.ts +53 -0
  91. package/controls/legend-derive.d.ts.map +1 -0
  92. package/controls/legend-derive.js +196 -0
  93. package/controls/legend.d.ts +104 -0
  94. package/controls/legend.d.ts.map +1 -0
  95. package/controls/legend.js +381 -0
  96. package/controls/swipe-control.d.ts +80 -0
  97. package/controls/swipe-control.d.ts.map +1 -0
  98. package/controls/swipe-control.js +368 -0
  99. package/controls/types.d.ts +227 -0
  100. package/controls/types.d.ts.map +1 -0
  101. package/controls/types.js +11 -0
  102. package/core/auth/client-credentials-provider.d.ts +51 -0
  103. package/core/auth/client-credentials-provider.d.ts.map +1 -0
  104. package/core/auth/client-credentials-provider.js +115 -0
  105. package/core/auth/credential-store.d.ts +52 -0
  106. package/core/auth/credential-store.d.ts.map +1 -0
  107. package/core/auth/credential-store.js +82 -0
  108. package/core/auth/index.d.ts +23 -0
  109. package/core/auth/index.d.ts.map +1 -0
  110. package/core/auth/index.js +20 -0
  111. package/core/auth/oauth2-provider.d.ts +114 -0
  112. package/core/auth/oauth2-provider.d.ts.map +1 -0
  113. package/core/auth/oauth2-provider.js +408 -0
  114. package/core/auth/pkce.d.ts +25 -0
  115. package/core/auth/pkce.d.ts.map +1 -0
  116. package/core/auth/pkce.js +46 -0
  117. package/core/auth/static-providers.d.ts +20 -0
  118. package/core/auth/static-providers.d.ts.map +1 -0
  119. package/core/auth/static-providers.js +26 -0
  120. package/core/auth/token-endpoint.d.ts +40 -0
  121. package/core/auth/token-endpoint.d.ts.map +1 -0
  122. package/core/auth/token-endpoint.js +133 -0
  123. package/core/auth/types.d.ts +144 -0
  124. package/core/auth/types.d.ts.map +1 -0
  125. package/core/auth/types.js +8 -0
  126. package/core/batch.d.ts +37 -0
  127. package/core/batch.d.ts.map +1 -0
  128. package/core/batch.js +79 -0
  129. package/core/cache-state.d.ts +79 -0
  130. package/core/cache-state.d.ts.map +1 -0
  131. package/core/cache-state.js +87 -0
  132. package/core/client.d.ts +607 -0
  133. package/core/client.d.ts.map +1 -0
  134. package/core/client.js +1716 -0
  135. package/core/compatibility.d.ts +18 -0
  136. package/core/compatibility.d.ts.map +1 -0
  137. package/core/compatibility.js +245 -0
  138. package/core/errors.d.ts +139 -0
  139. package/core/errors.d.ts.map +1 -0
  140. package/core/errors.js +176 -0
  141. package/core/esri-geojson.d.ts +66 -0
  142. package/core/esri-geojson.d.ts.map +1 -0
  143. package/core/esri-geojson.js +363 -0
  144. package/core/geoparquet-sql.d.ts +162 -0
  145. package/core/geoparquet-sql.d.ts.map +1 -0
  146. package/core/geoparquet-sql.js +333 -0
  147. package/core/geoservices.d.ts +34 -0
  148. package/core/geoservices.d.ts.map +1 -0
  149. package/core/geoservices.js +434 -0
  150. package/core/grpc-adapter.d.ts +23 -0
  151. package/core/grpc-adapter.d.ts.map +1 -0
  152. package/core/grpc-adapter.js +688 -0
  153. package/core/odata.d.ts +347 -0
  154. package/core/odata.d.ts.map +1 -0
  155. package/core/odata.js +913 -0
  156. package/core/ogc-conformance.d.ts +35 -0
  157. package/core/ogc-conformance.d.ts.map +1 -0
  158. package/core/ogc-conformance.js +134 -0
  159. package/core/ogc-endpoint-layout.d.ts +70 -0
  160. package/core/ogc-endpoint-layout.d.ts.map +1 -0
  161. package/core/ogc-endpoint-layout.js +173 -0
  162. package/core/ogc-features.d.ts +23 -0
  163. package/core/ogc-features.d.ts.map +1 -0
  164. package/core/ogc-features.js +129 -0
  165. package/core/ogc-maps.d.ts +49 -0
  166. package/core/ogc-maps.d.ts.map +1 -0
  167. package/core/ogc-maps.js +126 -0
  168. package/core/ogc-processes.d.ts +118 -0
  169. package/core/ogc-processes.d.ts.map +1 -0
  170. package/core/ogc-processes.js +423 -0
  171. package/core/ogc-records.d.ts +75 -0
  172. package/core/ogc-records.d.ts.map +1 -0
  173. package/core/ogc-records.js +251 -0
  174. package/core/ogc-tiles.d.ts +125 -0
  175. package/core/ogc-tiles.d.ts.map +1 -0
  176. package/core/ogc-tiles.js +183 -0
  177. package/core/path-utils.d.ts +69 -0
  178. package/core/path-utils.d.ts.map +1 -0
  179. package/core/path-utils.js +123 -0
  180. package/core/pbf-decoder.d.ts +39 -0
  181. package/core/pbf-decoder.d.ts.map +1 -0
  182. package/core/pbf-decoder.js +702 -0
  183. package/core/process-runner.d.ts +104 -0
  184. package/core/process-runner.d.ts.map +1 -0
  185. package/core/process-runner.js +315 -0
  186. package/core/protocol-transport.d.ts +76 -0
  187. package/core/protocol-transport.d.ts.map +1 -0
  188. package/core/protocol-transport.js +15 -0
  189. package/core/query-builder.d.ts +261 -0
  190. package/core/query-builder.d.ts.map +1 -0
  191. package/core/query-builder.js +538 -0
  192. package/core/request-pipeline.d.ts +88 -0
  193. package/core/request-pipeline.d.ts.map +1 -0
  194. package/core/request-pipeline.js +273 -0
  195. package/core/spatial-filter.d.ts +93 -0
  196. package/core/spatial-filter.d.ts.map +1 -0
  197. package/core/spatial-filter.js +153 -0
  198. package/core/stac-static.d.ts +51 -0
  199. package/core/stac-static.d.ts.map +1 -0
  200. package/core/stac-static.js +195 -0
  201. package/core/stac.d.ts +67 -0
  202. package/core/stac.d.ts.map +1 -0
  203. package/core/stac.js +259 -0
  204. package/core/surfaces.d.ts +540 -0
  205. package/core/surfaces.d.ts.map +1 -0
  206. package/core/surfaces.js +1964 -0
  207. package/core/terrain-elevation.d.ts +114 -0
  208. package/core/terrain-elevation.d.ts.map +1 -0
  209. package/core/terrain-elevation.js +150 -0
  210. package/core/types.d.ts +1404 -0
  211. package/core/types.d.ts.map +1 -0
  212. package/core/types.js +13 -0
  213. package/core/wfs-capabilities.d.ts +153 -0
  214. package/core/wfs-capabilities.d.ts.map +1 -0
  215. package/core/wfs-capabilities.js +490 -0
  216. package/core/wfs-filter.d.ts +118 -0
  217. package/core/wfs-filter.d.ts.map +1 -0
  218. package/core/wfs-filter.js +634 -0
  219. package/core/wfs.d.ts +232 -0
  220. package/core/wfs.d.ts.map +1 -0
  221. package/core/wfs.js +426 -0
  222. package/core/wire-shared.d.ts +32 -0
  223. package/core/wire-shared.d.ts.map +1 -0
  224. package/core/wire-shared.js +76 -0
  225. package/core/wms-axis.d.ts +36 -0
  226. package/core/wms-axis.d.ts.map +1 -0
  227. package/core/wms-axis.js +73 -0
  228. package/core/wms-capabilities.d.ts +110 -0
  229. package/core/wms-capabilities.d.ts.map +1 -0
  230. package/core/wms-capabilities.js +559 -0
  231. package/core/wms-types.d.ts +128 -0
  232. package/core/wms-types.d.ts.map +1 -0
  233. package/core/wms-types.js +32 -0
  234. package/core/wms.d.ts +144 -0
  235. package/core/wms.d.ts.map +1 -0
  236. package/core/wms.js +338 -0
  237. package/core/wmts-capabilities.d.ts +82 -0
  238. package/core/wmts-capabilities.d.ts.map +1 -0
  239. package/core/wmts-capabilities.js +402 -0
  240. package/core/wmts.d.ts +103 -0
  241. package/core/wmts.d.ts.map +1 -0
  242. package/core/wmts.js +332 -0
  243. package/core/xml-text.d.ts +20 -0
  244. package/core/xml-text.d.ts.map +1 -0
  245. package/core/xml-text.js +85 -0
  246. package/esri-compat/basemap-gallery.d.ts +38 -0
  247. package/esri-compat/basemap-gallery.d.ts.map +1 -0
  248. package/esri-compat/basemap-gallery.js +159 -0
  249. package/esri-compat/basemap-layer-list.d.ts +35 -0
  250. package/esri-compat/basemap-layer-list.d.ts.map +1 -0
  251. package/esri-compat/basemap-layer-list.js +139 -0
  252. package/esri-compat/basemap.d.ts +32 -0
  253. package/esri-compat/basemap.d.ts.map +1 -0
  254. package/esri-compat/basemap.js +84 -0
  255. package/esri-compat/bookmarks.d.ts +36 -0
  256. package/esri-compat/bookmarks.d.ts.map +1 -0
  257. package/esri-compat/bookmarks.js +108 -0
  258. package/esri-compat/class-breaks-renderer.d.ts +50 -0
  259. package/esri-compat/class-breaks-renderer.d.ts.map +1 -0
  260. package/esri-compat/class-breaks-renderer.js +164 -0
  261. package/esri-compat/color.d.ts +22 -0
  262. package/esri-compat/color.d.ts.map +1 -0
  263. package/esri-compat/color.js +106 -0
  264. package/esri-compat/controls.d.ts +174 -0
  265. package/esri-compat/controls.d.ts.map +1 -0
  266. package/esri-compat/controls.js +479 -0
  267. package/esri-compat/coordinate-conversion.d.ts +41 -0
  268. package/esri-compat/coordinate-conversion.d.ts.map +1 -0
  269. package/esri-compat/coordinate-conversion.js +125 -0
  270. package/esri-compat/directions.d.ts +45 -0
  271. package/esri-compat/directions.d.ts.map +1 -0
  272. package/esri-compat/directions.js +123 -0
  273. package/esri-compat/editor.d.ts +47 -0
  274. package/esri-compat/editor.d.ts.map +1 -0
  275. package/esri-compat/editor.js +170 -0
  276. package/esri-compat/esri-config.d.ts +16 -0
  277. package/esri-compat/esri-config.d.ts.map +1 -0
  278. package/esri-compat/esri-config.js +23 -0
  279. package/esri-compat/esri-request.d.ts +17 -0
  280. package/esri-compat/esri-request.d.ts.map +1 -0
  281. package/esri-compat/esri-request.js +127 -0
  282. package/esri-compat/event-bus.d.ts +106 -0
  283. package/esri-compat/event-bus.d.ts.map +1 -0
  284. package/esri-compat/event-bus.js +90 -0
  285. package/esri-compat/expand.d.ts +36 -0
  286. package/esri-compat/expand.d.ts.map +1 -0
  287. package/esri-compat/expand.js +97 -0
  288. package/esri-compat/extent.d.ts +43 -0
  289. package/esri-compat/extent.d.ts.map +1 -0
  290. package/esri-compat/extent.js +140 -0
  291. package/esri-compat/feature-filter.d.ts +55 -0
  292. package/esri-compat/feature-filter.d.ts.map +1 -0
  293. package/esri-compat/feature-filter.js +109 -0
  294. package/esri-compat/feature-form.d.ts +64 -0
  295. package/esri-compat/feature-form.d.ts.map +1 -0
  296. package/esri-compat/feature-form.js +137 -0
  297. package/esri-compat/feature-layer.d.ts +173 -0
  298. package/esri-compat/feature-layer.d.ts.map +1 -0
  299. package/esri-compat/feature-layer.js +661 -0
  300. package/esri-compat/feature-set.d.ts +32 -0
  301. package/esri-compat/feature-set.d.ts.map +1 -0
  302. package/esri-compat/feature-set.js +80 -0
  303. package/esri-compat/feature-table.d.ts +141 -0
  304. package/esri-compat/feature-table.d.ts.map +1 -0
  305. package/esri-compat/feature-table.js +500 -0
  306. package/esri-compat/feature-templates.d.ts +41 -0
  307. package/esri-compat/feature-templates.d.ts.map +1 -0
  308. package/esri-compat/feature-templates.js +97 -0
  309. package/esri-compat/feature.d.ts +33 -0
  310. package/esri-compat/feature.d.ts.map +1 -0
  311. package/esri-compat/feature.js +83 -0
  312. package/esri-compat/geojson-layer.d.ts +86 -0
  313. package/esri-compat/geojson-layer.d.ts.map +1 -0
  314. package/esri-compat/geojson-layer.js +191 -0
  315. package/esri-compat/geometry-engine.d.ts +107 -0
  316. package/esri-compat/geometry-engine.d.ts.map +1 -0
  317. package/esri-compat/geometry-engine.js +266 -0
  318. package/esri-compat/graphic.d.ts +46 -0
  319. package/esri-compat/graphic.d.ts.map +1 -0
  320. package/esri-compat/graphic.js +103 -0
  321. package/esri-compat/graphics-layer.d.ts +49 -0
  322. package/esri-compat/graphics-layer.d.ts.map +1 -0
  323. package/esri-compat/graphics-layer.js +185 -0
  324. package/esri-compat/group-layer.d.ts +48 -0
  325. package/esri-compat/group-layer.d.ts.map +1 -0
  326. package/esri-compat/group-layer.js +212 -0
  327. package/esri-compat/identify.d.ts +71 -0
  328. package/esri-compat/identify.d.ts.map +1 -0
  329. package/esri-compat/identify.js +299 -0
  330. package/esri-compat/identity-manager.d.ts +74 -0
  331. package/esri-compat/identity-manager.d.ts.map +1 -0
  332. package/esri-compat/identity-manager.js +245 -0
  333. package/esri-compat/imagery-layer.d.ts +78 -0
  334. package/esri-compat/imagery-layer.d.ts.map +1 -0
  335. package/esri-compat/imagery-layer.js +167 -0
  336. package/esri-compat/label-class.d.ts +31 -0
  337. package/esri-compat/label-class.d.ts.map +1 -0
  338. package/esri-compat/label-class.js +102 -0
  339. package/esri-compat/layer-list.d.ts +77 -0
  340. package/esri-compat/layer-list.d.ts.map +1 -0
  341. package/esri-compat/layer-list.js +342 -0
  342. package/esri-compat/legend.d.ts +53 -0
  343. package/esri-compat/legend.d.ts.map +1 -0
  344. package/esri-compat/legend.js +254 -0
  345. package/esri-compat/map-image-layer.d.ts +162 -0
  346. package/esri-compat/map-image-layer.d.ts.map +1 -0
  347. package/esri-compat/map-image-layer.js +709 -0
  348. package/esri-compat/map-view.d.ts +323 -0
  349. package/esri-compat/map-view.d.ts.map +1 -0
  350. package/esri-compat/map-view.js +1175 -0
  351. package/esri-compat/map.d.ts +47 -0
  352. package/esri-compat/map.d.ts.map +1 -0
  353. package/esri-compat/map.js +209 -0
  354. package/esri-compat/measurement-2d.d.ts +61 -0
  355. package/esri-compat/measurement-2d.d.ts.map +1 -0
  356. package/esri-compat/measurement-2d.js +184 -0
  357. package/esri-compat/measurement.d.ts +45 -0
  358. package/esri-compat/measurement.d.ts.map +1 -0
  359. package/esri-compat/measurement.js +193 -0
  360. package/esri-compat/oauth-info.d.ts +50 -0
  361. package/esri-compat/oauth-info.d.ts.map +1 -0
  362. package/esri-compat/oauth-info.js +142 -0
  363. package/esri-compat/picture-marker-symbol.d.ts +35 -0
  364. package/esri-compat/picture-marker-symbol.d.ts.map +1 -0
  365. package/esri-compat/picture-marker-symbol.js +126 -0
  366. package/esri-compat/point.d.ts +31 -0
  367. package/esri-compat/point.d.ts.map +1 -0
  368. package/esri-compat/point.js +102 -0
  369. package/esri-compat/polygon.d.ts +31 -0
  370. package/esri-compat/polygon.d.ts.map +1 -0
  371. package/esri-compat/polygon.js +107 -0
  372. package/esri-compat/polyline.d.ts +31 -0
  373. package/esri-compat/polyline.d.ts.map +1 -0
  374. package/esri-compat/polyline.js +107 -0
  375. package/esri-compat/popup-template.d.ts +55 -0
  376. package/esri-compat/popup-template.d.ts.map +1 -0
  377. package/esri-compat/popup-template.js +128 -0
  378. package/esri-compat/popup.d.ts +54 -0
  379. package/esri-compat/popup.d.ts.map +1 -0
  380. package/esri-compat/popup.js +312 -0
  381. package/esri-compat/print.d.ts +47 -0
  382. package/esri-compat/print.d.ts.map +1 -0
  383. package/esri-compat/print.js +105 -0
  384. package/esri-compat/query.d.ts +58 -0
  385. package/esri-compat/query.d.ts.map +1 -0
  386. package/esri-compat/query.js +128 -0
  387. package/esri-compat/reactive-utils.d.ts +24 -0
  388. package/esri-compat/reactive-utils.d.ts.map +1 -0
  389. package/esri-compat/reactive-utils.js +193 -0
  390. package/esri-compat/request.d.ts +41 -0
  391. package/esri-compat/request.d.ts.map +1 -0
  392. package/esri-compat/request.js +253 -0
  393. package/esri-compat/route-layer.d.ts +59 -0
  394. package/esri-compat/route-layer.d.ts.map +1 -0
  395. package/esri-compat/route-layer.js +223 -0
  396. package/esri-compat/route-task.d.ts +88 -0
  397. package/esri-compat/route-task.d.ts.map +1 -0
  398. package/esri-compat/route-task.js +225 -0
  399. package/esri-compat/scene-view.d.ts +41 -0
  400. package/esri-compat/scene-view.d.ts.map +1 -0
  401. package/esri-compat/scene-view.js +68 -0
  402. package/esri-compat/search.d.ts +112 -0
  403. package/esri-compat/search.d.ts.map +1 -0
  404. package/esri-compat/search.js +820 -0
  405. package/esri-compat/simple-fill-symbol.d.ts +27 -0
  406. package/esri-compat/simple-fill-symbol.d.ts.map +1 -0
  407. package/esri-compat/simple-fill-symbol.js +85 -0
  408. package/esri-compat/simple-line-symbol.d.ts +27 -0
  409. package/esri-compat/simple-line-symbol.d.ts.map +1 -0
  410. package/esri-compat/simple-line-symbol.js +85 -0
  411. package/esri-compat/simple-marker-symbol.d.ts +29 -0
  412. package/esri-compat/simple-marker-symbol.d.ts.map +1 -0
  413. package/esri-compat/simple-marker-symbol.js +92 -0
  414. package/esri-compat/simple-renderer.d.ts +29 -0
  415. package/esri-compat/simple-renderer.d.ts.map +1 -0
  416. package/esri-compat/simple-renderer.js +92 -0
  417. package/esri-compat/sketch.d.ts +64 -0
  418. package/esri-compat/sketch.d.ts.map +1 -0
  419. package/esri-compat/sketch.js +227 -0
  420. package/esri-compat/spatial-reference.d.ts +31 -0
  421. package/esri-compat/spatial-reference.d.ts.map +1 -0
  422. package/esri-compat/spatial-reference.js +102 -0
  423. package/esri-compat/swipe.d.ts +34 -0
  424. package/esri-compat/swipe.d.ts.map +1 -0
  425. package/esri-compat/swipe.js +93 -0
  426. package/esri-compat/table-list.d.ts +36 -0
  427. package/esri-compat/table-list.d.ts.map +1 -0
  428. package/esri-compat/table-list.js +126 -0
  429. package/esri-compat/text-symbol.d.ts +37 -0
  430. package/esri-compat/text-symbol.d.ts.map +1 -0
  431. package/esri-compat/text-symbol.js +123 -0
  432. package/esri-compat/tile-layer.d.ts +52 -0
  433. package/esri-compat/tile-layer.d.ts.map +1 -0
  434. package/esri-compat/tile-layer.js +168 -0
  435. package/esri-compat/time-slider.d.ts +70 -0
  436. package/esri-compat/time-slider.d.ts.map +1 -0
  437. package/esri-compat/time-slider.js +208 -0
  438. package/esri-compat/track.d.ts +51 -0
  439. package/esri-compat/track.d.ts.map +1 -0
  440. package/esri-compat/track.js +174 -0
  441. package/esri-compat/unique-value-renderer.d.ts +41 -0
  442. package/esri-compat/unique-value-renderer.d.ts.map +1 -0
  443. package/esri-compat/unique-value-renderer.js +127 -0
  444. package/esri-compat/url.d.ts +13 -0
  445. package/esri-compat/url.d.ts.map +1 -0
  446. package/esri-compat/url.js +68 -0
  447. package/esri-compat/vector-tile-layer.d.ts +47 -0
  448. package/esri-compat/vector-tile-layer.d.ts.map +1 -0
  449. package/esri-compat/vector-tile-layer.js +130 -0
  450. package/esri-compat/web-map.d.ts +14 -0
  451. package/esri-compat/web-map.d.ts.map +1 -0
  452. package/esri-compat/web-map.js +24 -0
  453. package/esri-compat/wfs-layer.d.ts +64 -0
  454. package/esri-compat/wfs-layer.d.ts.map +1 -0
  455. package/esri-compat/wfs-layer.js +145 -0
  456. package/esri-compat/wms-layer.d.ts +76 -0
  457. package/esri-compat/wms-layer.d.ts.map +1 -0
  458. package/esri-compat/wms-layer.js +157 -0
  459. package/exploration/context.d.ts +25 -0
  460. package/exploration/context.d.ts.map +1 -0
  461. package/exploration/context.js +396 -0
  462. package/exploration/index.d.ts +27 -0
  463. package/exploration/index.d.ts.map +1 -0
  464. package/exploration/index.js +24 -0
  465. package/exploration/presets.d.ts +27 -0
  466. package/exploration/presets.d.ts.map +1 -0
  467. package/exploration/presets.js +114 -0
  468. package/exploration/reducer.d.ts +23 -0
  469. package/exploration/reducer.d.ts.map +1 -0
  470. package/exploration/reducer.js +332 -0
  471. package/exploration/selection.d.ts +25 -0
  472. package/exploration/selection.d.ts.map +1 -0
  473. package/exploration/selection.js +34 -0
  474. package/exploration/selectors.d.ts +56 -0
  475. package/exploration/selectors.d.ts.map +1 -0
  476. package/exploration/selectors.js +110 -0
  477. package/exploration/types.d.ts +294 -0
  478. package/exploration/types.d.ts.map +1 -0
  479. package/exploration/types.js +33 -0
  480. package/expr/expression.d.ts +457 -0
  481. package/expr/expression.d.ts.map +1 -0
  482. package/expr/expression.js +663 -0
  483. package/expr/index.d.ts +32 -0
  484. package/expr/index.d.ts.map +1 -0
  485. package/expr/index.js +30 -0
  486. package/filter-registry/index.d.ts +145 -0
  487. package/filter-registry/index.d.ts.map +1 -0
  488. package/filter-registry/index.js +531 -0
  489. package/gen/honua/v1/feature_service_pb.d.ts +918 -0
  490. package/gen/honua/v1/feature_service_pb.d.ts.map +1 -0
  491. package/gen/honua/v1/feature_service_pb.js +375 -0
  492. package/generated-app/errors.d.ts +41 -0
  493. package/generated-app/errors.d.ts.map +1 -0
  494. package/generated-app/errors.js +41 -0
  495. package/generated-app/index.d.ts +17 -0
  496. package/generated-app/index.d.ts.map +1 -0
  497. package/generated-app/index.js +12 -0
  498. package/generated-app/manifest.d.ts +183 -0
  499. package/generated-app/manifest.d.ts.map +1 -0
  500. package/generated-app/manifest.js +14 -0
  501. package/generated-app/projection.d.ts +44 -0
  502. package/generated-app/projection.d.ts.map +1 -0
  503. package/generated-app/projection.js +234 -0
  504. package/generated-app/runtime.d.ts +215 -0
  505. package/generated-app/runtime.d.ts.map +1 -0
  506. package/generated-app/runtime.js +1196 -0
  507. package/geocoding/index.d.ts +106 -0
  508. package/geocoding/index.d.ts.map +1 -0
  509. package/geocoding/index.js +278 -0
  510. package/interactions/detail-model.d.ts +54 -0
  511. package/interactions/detail-model.d.ts.map +1 -0
  512. package/interactions/detail-model.js +105 -0
  513. package/interactions/exploration-bindings.d.ts +120 -0
  514. package/interactions/exploration-bindings.d.ts.map +1 -0
  515. package/interactions/exploration-bindings.js +218 -0
  516. package/interactions/feature-state.d.ts +144 -0
  517. package/interactions/feature-state.d.ts.map +1 -0
  518. package/interactions/feature-state.js +169 -0
  519. package/interactions/hit-test.d.ts +112 -0
  520. package/interactions/hit-test.d.ts.map +1 -0
  521. package/interactions/hit-test.js +291 -0
  522. package/interactions/index.d.ts +31 -0
  523. package/interactions/index.d.ts.map +1 -0
  524. package/interactions/index.js +24 -0
  525. package/interactions/share-state.d.ts +36 -0
  526. package/interactions/share-state.d.ts.map +1 -0
  527. package/interactions/share-state.js +123 -0
  528. package/map/feature-service-adapter.d.ts +138 -0
  529. package/map/feature-service-adapter.d.ts.map +1 -0
  530. package/map/feature-service-adapter.js +279 -0
  531. package/map/honua-map.d.ts +203 -0
  532. package/map/honua-map.d.ts.map +1 -0
  533. package/map/honua-map.js +347 -0
  534. package/map/index.d.ts +27 -0
  535. package/map/index.d.ts.map +1 -0
  536. package/map/index.js +22 -0
  537. package/map/maplibre-target.d.ts +103 -0
  538. package/map/maplibre-target.d.ts.map +1 -0
  539. package/map/maplibre-target.js +164 -0
  540. package/map/webmap-maplibre.d.ts +60 -0
  541. package/map/webmap-maplibre.d.ts.map +1 -0
  542. package/map/webmap-maplibre.js +212 -0
  543. package/operate/client.d.ts +94 -0
  544. package/operate/client.d.ts.map +1 -0
  545. package/operate/client.js +361 -0
  546. package/operate/index.d.ts +22 -0
  547. package/operate/index.d.ts.map +1 -0
  548. package/operate/index.js +19 -0
  549. package/operate/types.d.ts +397 -0
  550. package/operate/types.d.ts.map +1 -0
  551. package/operate/types.js +17 -0
  552. package/operator/client.d.ts +60 -0
  553. package/operator/client.d.ts.map +1 -0
  554. package/operator/client.js +20 -0
  555. package/operator/controllers/approval.d.ts +52 -0
  556. package/operator/controllers/approval.d.ts.map +1 -0
  557. package/operator/controllers/approval.js +123 -0
  558. package/operator/controllers/base.d.ts +27 -0
  559. package/operator/controllers/base.d.ts.map +1 -0
  560. package/operator/controllers/base.js +53 -0
  561. package/operator/controllers/builder-workspace.d.ts +55 -0
  562. package/operator/controllers/builder-workspace.d.ts.map +1 -0
  563. package/operator/controllers/builder-workspace.js +108 -0
  564. package/operator/controllers/chat.d.ts +61 -0
  565. package/operator/controllers/chat.d.ts.map +1 -0
  566. package/operator/controllers/chat.js +154 -0
  567. package/operator/controllers/clarification.d.ts +52 -0
  568. package/operator/controllers/clarification.d.ts.map +1 -0
  569. package/operator/controllers/clarification.js +121 -0
  570. package/operator/controllers/execution.d.ts +60 -0
  571. package/operator/controllers/execution.d.ts.map +1 -0
  572. package/operator/controllers/execution.js +286 -0
  573. package/operator/controllers/index.d.ts +23 -0
  574. package/operator/controllers/index.d.ts.map +1 -0
  575. package/operator/controllers/index.js +15 -0
  576. package/operator/controllers/map-workspace.d.ts +85 -0
  577. package/operator/controllers/map-workspace.d.ts.map +1 -0
  578. package/operator/controllers/map-workspace.js +296 -0
  579. package/operator/controllers/plan-review.d.ts +66 -0
  580. package/operator/controllers/plan-review.d.ts.map +1 -0
  581. package/operator/controllers/plan-review.js +124 -0
  582. package/operator/errors.d.ts +62 -0
  583. package/operator/errors.d.ts.map +1 -0
  584. package/operator/errors.js +75 -0
  585. package/operator/i18n/index.d.ts +10 -0
  586. package/operator/i18n/index.d.ts.map +1 -0
  587. package/operator/i18n/index.js +8 -0
  588. package/operator/i18n/messages.d.ts +19 -0
  589. package/operator/i18n/messages.d.ts.map +1 -0
  590. package/operator/i18n/messages.js +54 -0
  591. package/operator/index.d.ts +19 -0
  592. package/operator/index.d.ts.map +1 -0
  593. package/operator/index.js +15 -0
  594. package/operator/telemetry.d.ts +26 -0
  595. package/operator/telemetry.d.ts.map +1 -0
  596. package/operator/telemetry.js +9 -0
  597. package/operator/theming/index.d.ts +12 -0
  598. package/operator/theming/index.d.ts.map +1 -0
  599. package/operator/theming/index.js +9 -0
  600. package/operator/theming/provider.d.ts +27 -0
  601. package/operator/theming/provider.d.ts.map +1 -0
  602. package/operator/theming/provider.js +26 -0
  603. package/operator/theming/tokens.d.ts +28 -0
  604. package/operator/theming/tokens.d.ts.map +1 -0
  605. package/operator/theming/tokens.js +65 -0
  606. package/operator/workspace/events.d.ts +70 -0
  607. package/operator/workspace/events.d.ts.map +1 -0
  608. package/operator/workspace/events.js +9 -0
  609. package/operator/workspace/index.d.ts +12 -0
  610. package/operator/workspace/index.d.ts.map +1 -0
  611. package/operator/workspace/index.js +8 -0
  612. package/operator/workspace/types.d.ts +178 -0
  613. package/operator/workspace/types.d.ts.map +1 -0
  614. package/operator/workspace/types.js +47 -0
  615. package/operator/workspace/workspace.d.ts +58 -0
  616. package/operator/workspace/workspace.d.ts.map +1 -0
  617. package/operator/workspace/workspace.js +339 -0
  618. package/package.json +105 -0
  619. package/realtime/exploration.d.ts +16 -0
  620. package/realtime/exploration.d.ts.map +1 -0
  621. package/realtime/exploration.js +32 -0
  622. package/realtime/honua-server.d.ts +123 -0
  623. package/realtime/honua-server.d.ts.map +1 -0
  624. package/realtime/honua-server.js +188 -0
  625. package/realtime/index.d.ts +20 -0
  626. package/realtime/index.d.ts.map +1 -0
  627. package/realtime/index.js +14 -0
  628. package/realtime/projections.d.ts +30 -0
  629. package/realtime/projections.d.ts.map +1 -0
  630. package/realtime/projections.js +51 -0
  631. package/realtime/reducer.d.ts +14 -0
  632. package/realtime/reducer.d.ts.map +1 -0
  633. package/realtime/reducer.js +351 -0
  634. package/realtime/sse.d.ts +23 -0
  635. package/realtime/sse.d.ts.map +1 -0
  636. package/realtime/sse.js +143 -0
  637. package/realtime/store.d.ts +18 -0
  638. package/realtime/store.d.ts.map +1 -0
  639. package/realtime/store.js +63 -0
  640. package/realtime/types.d.ts +190 -0
  641. package/realtime/types.d.ts.map +1 -0
  642. package/realtime/types.js +10 -0
  643. package/replica-sync/client.d.ts +32 -0
  644. package/replica-sync/client.d.ts.map +1 -0
  645. package/replica-sync/client.js +52 -0
  646. package/replica-sync/errors.d.ts +22 -0
  647. package/replica-sync/errors.d.ts.map +1 -0
  648. package/replica-sync/errors.js +29 -0
  649. package/replica-sync/fixture.d.ts +40 -0
  650. package/replica-sync/fixture.d.ts.map +1 -0
  651. package/replica-sync/fixture.js +364 -0
  652. package/replica-sync/index.d.ts +22 -0
  653. package/replica-sync/index.d.ts.map +1 -0
  654. package/replica-sync/index.js +17 -0
  655. package/replica-sync/types.d.ts +270 -0
  656. package/replica-sync/types.d.ts.map +1 -0
  657. package/replica-sync/types.js +13 -0
  658. package/runtime/diff.d.ts +31 -0
  659. package/runtime/diff.d.ts.map +1 -0
  660. package/runtime/diff.js +143 -0
  661. package/runtime/errors.d.ts +40 -0
  662. package/runtime/errors.d.ts.map +1 -0
  663. package/runtime/errors.js +35 -0
  664. package/runtime/index.d.ts +59 -0
  665. package/runtime/index.d.ts.map +1 -0
  666. package/runtime/index.js +40 -0
  667. package/runtime/legend.d.ts +23 -0
  668. package/runtime/legend.d.ts.map +1 -0
  669. package/runtime/legend.js +38 -0
  670. package/runtime/load-package.d.ts +125 -0
  671. package/runtime/load-package.d.ts.map +1 -0
  672. package/runtime/load-package.js +272 -0
  673. package/runtime/map-package-fetch.d.ts +107 -0
  674. package/runtime/map-package-fetch.d.ts.map +1 -0
  675. package/runtime/map-package-fetch.js +336 -0
  676. package/runtime/map-package-realtime.d.ts +169 -0
  677. package/runtime/map-package-realtime.d.ts.map +1 -0
  678. package/runtime/map-package-realtime.js +350 -0
  679. package/runtime/map-package-validation.d.ts +30 -0
  680. package/runtime/map-package-validation.d.ts.map +1 -0
  681. package/runtime/map-package-validation.js +257 -0
  682. package/runtime/map-package-watch.d.ts +78 -0
  683. package/runtime/map-package-watch.d.ts.map +1 -0
  684. package/runtime/map-package-watch.js +695 -0
  685. package/runtime/map-package.d.ts +167 -0
  686. package/runtime/map-package.d.ts.map +1 -0
  687. package/runtime/map-package.js +15 -0
  688. package/runtime/ogc-styles.d.ts +110 -0
  689. package/runtime/ogc-styles.d.ts.map +1 -0
  690. package/runtime/ogc-styles.js +195 -0
  691. package/runtime/pmtiles-protocol.d.ts +77 -0
  692. package/runtime/pmtiles-protocol.d.ts.map +1 -0
  693. package/runtime/pmtiles-protocol.js +120 -0
  694. package/runtime/popups.d.ts +62 -0
  695. package/runtime/popups.d.ts.map +1 -0
  696. package/runtime/popups.js +95 -0
  697. package/runtime/query-tiles.d.ts +217 -0
  698. package/runtime/query-tiles.d.ts.map +1 -0
  699. package/runtime/query-tiles.js +801 -0
  700. package/runtime/runtime.d.ts +243 -0
  701. package/runtime/runtime.d.ts.map +1 -0
  702. package/runtime/runtime.js +1147 -0
  703. package/runtime/source-bridge.d.ts +99 -0
  704. package/runtime/source-bridge.d.ts.map +1 -0
  705. package/runtime/source-bridge.js +428 -0
  706. package/runtime/style-compose.d.ts +46 -0
  707. package/runtime/style-compose.d.ts.map +1 -0
  708. package/runtime/style-compose.js +144 -0
  709. package/runtime/style-interactions.d.ts +141 -0
  710. package/runtime/style-interactions.d.ts.map +1 -0
  711. package/runtime/style-interactions.js +574 -0
  712. package/runtime/style-spec-validation.d.ts +23 -0
  713. package/runtime/style-spec-validation.d.ts.map +1 -0
  714. package/runtime/style-spec-validation.js +357 -0
  715. package/scene-workspace/analysis-widgets.d.ts +334 -0
  716. package/scene-workspace/analysis-widgets.d.ts.map +1 -0
  717. package/scene-workspace/analysis-widgets.js +424 -0
  718. package/scene-workspace/cesium-adapter.d.ts +438 -0
  719. package/scene-workspace/cesium-adapter.d.ts.map +1 -0
  720. package/scene-workspace/cesium-adapter.js +493 -0
  721. package/scene-workspace/index.d.ts +21 -0
  722. package/scene-workspace/index.d.ts.map +1 -0
  723. package/scene-workspace/index.js +14 -0
  724. package/scene-workspace/primitives.d.ts +162 -0
  725. package/scene-workspace/primitives.d.ts.map +1 -0
  726. package/scene-workspace/primitives.js +255 -0
  727. package/scene-workspace/scene-discovery.d.ts +196 -0
  728. package/scene-workspace/scene-discovery.d.ts.map +1 -0
  729. package/scene-workspace/scene-discovery.js +228 -0
  730. package/scene-workspace/scene-view.d.ts +209 -0
  731. package/scene-workspace/scene-view.d.ts.map +1 -0
  732. package/scene-workspace/scene-view.js +267 -0
  733. package/scene-workspace/types.d.ts +229 -0
  734. package/scene-workspace/types.d.ts.map +1 -0
  735. package/scene-workspace/types.js +23 -0
  736. package/scene-workspace/workspace.d.ts +13 -0
  737. package/scene-workspace/workspace.d.ts.map +1 -0
  738. package/scene-workspace/workspace.js +391 -0
  739. package/share/denial.d.ts +78 -0
  740. package/share/denial.d.ts.map +1 -0
  741. package/share/denial.js +61 -0
  742. package/share/embed-token.d.ts +71 -0
  743. package/share/embed-token.d.ts.map +1 -0
  744. package/share/embed-token.js +99 -0
  745. package/share/index.d.ts +35 -0
  746. package/share/index.d.ts.map +1 -0
  747. package/share/index.js +30 -0
  748. package/share/open-data.d.ts +114 -0
  749. package/share/open-data.d.ts.map +1 -0
  750. package/share/open-data.js +81 -0
  751. package/share/types.d.ts +163 -0
  752. package/share/types.d.ts.map +1 -0
  753. package/share/types.js +17 -0
  754. package/studio/capability-manifest.d.ts +285 -0
  755. package/studio/capability-manifest.d.ts.map +1 -0
  756. package/studio/capability-manifest.js +59 -0
  757. package/studio/chart-spec.d.ts +85 -0
  758. package/studio/chart-spec.d.ts.map +1 -0
  759. package/studio/chart-spec.js +106 -0
  760. package/studio/index.d.ts +34 -0
  761. package/studio/index.d.ts.map +1 -0
  762. package/studio/index.js +27 -0
  763. package/studio/provenance.d.ts +131 -0
  764. package/studio/provenance.d.ts.map +1 -0
  765. package/studio/provenance.js +39 -0
  766. package/studio/publish.d.ts +64 -0
  767. package/studio/publish.d.ts.map +1 -0
  768. package/studio/publish.js +13 -0
  769. package/studio/types.d.ts +278 -0
  770. package/studio/types.d.ts.map +1 -0
  771. package/studio/types.js +71 -0
  772. package/studio/validate.d.ts +45 -0
  773. package/studio/validate.d.ts.map +1 -0
  774. package/studio/validate.js +255 -0
  775. package/studio/validation.d.ts +112 -0
  776. package/studio/validation.d.ts.map +1 -0
  777. package/studio/validation.js +42 -0
  778. package/style/factory.d.ts +30 -0
  779. package/style/factory.d.ts.map +1 -0
  780. package/style/factory.js +61 -0
  781. package/style/index.d.ts +25 -0
  782. package/style/index.d.ts.map +1 -0
  783. package/style/index.js +24 -0
  784. package/style/specification.d.ts +203 -0
  785. package/style/specification.d.ts.map +1 -0
  786. package/style/specification.js +178 -0
  787. package/style/wms-wmts-resolvers.d.ts +38 -0
  788. package/style/wms-wmts-resolvers.d.ts.map +1 -0
  789. package/style/wms-wmts-resolvers.js +92 -0
  790. package/web-components/controller.d.ts +39 -0
  791. package/web-components/controller.d.ts.map +1 -0
  792. package/web-components/controller.js +640 -0
  793. package/web-components/elements.d.ts +210 -0
  794. package/web-components/elements.d.ts.map +1 -0
  795. package/web-components/elements.js +1651 -0
  796. package/web-components/index.d.ts +24 -0
  797. package/web-components/index.d.ts.map +1 -0
  798. package/web-components/index.js +22 -0
  799. package/web-components/maplibre-renderer.d.ts +22 -0
  800. package/web-components/maplibre-renderer.d.ts.map +1 -0
  801. package/web-components/maplibre-renderer.js +474 -0
  802. package/web-components/types.d.ts +397 -0
  803. package/web-components/types.d.ts.map +1 -0
  804. package/web-components/types.js +1 -0
  805. package/webmap/contract.d.ts +28 -0
  806. package/webmap/contract.d.ts.map +1 -0
  807. package/webmap/contract.js +130 -0
  808. package/webmap/convert-basemap.d.ts +17 -0
  809. package/webmap/convert-basemap.d.ts.map +1 -0
  810. package/webmap/convert-basemap.js +78 -0
  811. package/webmap/convert-extent.d.ts +17 -0
  812. package/webmap/convert-extent.d.ts.map +1 -0
  813. package/webmap/convert-extent.js +114 -0
  814. package/webmap/convert-label.d.ts +13 -0
  815. package/webmap/convert-label.d.ts.map +1 -0
  816. package/webmap/convert-label.js +125 -0
  817. package/webmap/convert-layer.d.ts +22 -0
  818. package/webmap/convert-layer.d.ts.map +1 -0
  819. package/webmap/convert-layer.js +181 -0
  820. package/webmap/convert-popup.d.ts +34 -0
  821. package/webmap/convert-popup.d.ts.map +1 -0
  822. package/webmap/convert-popup.js +68 -0
  823. package/webmap/convert-renderer.d.ts +17 -0
  824. package/webmap/convert-renderer.d.ts.map +1 -0
  825. package/webmap/convert-renderer.js +161 -0
  826. package/webmap/convert-symbol.d.ts +17 -0
  827. package/webmap/convert-symbol.d.ts.map +1 -0
  828. package/webmap/convert-symbol.js +122 -0
  829. package/webmap/index.d.ts +44 -0
  830. package/webmap/index.d.ts.map +1 -0
  831. package/webmap/index.js +33 -0
  832. package/webmap/parse.d.ts +25 -0
  833. package/webmap/parse.d.ts.map +1 -0
  834. package/webmap/parse.js +83 -0
  835. package/webmap/types.d.ts +264 -0
  836. package/webmap/types.d.ts.map +1 -0
  837. package/webmap/types.js +13 -0
  838. package/webmap/warnings.d.ts +30 -0
  839. package/webmap/warnings.d.ts.map +1 -0
  840. package/webmap/warnings.js +37 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exploration-bindings.d.ts","sourceRoot":"","sources":["../../../src/interactions/exploration-bindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAWpD,OAAO,KAAK,EACV,2BAA2B,EAC3B,mCAAmC,EACnC,yBAAyB,EACzB,gCAAgC,EACjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,sBAAsB,EACtB,YAAY,EAEZ,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,eAAe,EAEf,cAAc,EACd,eAAe,EACf,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,qCAAsC,SAAQ,uBAAuB;IACpF,8EAA8E;IAC9E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,yBAAyB,EAC/B,OAAO,EAAE,qCAAqC,GAC7C,eAAe,CASjB;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,+BAA+B,CAAC;CAC7D;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,6BACf,SAAQ,gCAAgC,EACtC,+BAA+B;IACjC,mDAAmD;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,2BAA2B,CAAC;IACpD,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,yBAAyB,EAAE,CAAC,EAAE,yBAAyB,KAAK,OAAO,CAAC;CAC3F;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,IAAI,WAAW,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,KAAK,IAAI,GAAG,WAAW,GAAG,wBAAwB,CAAC;CACxG;AAED,MAAM,WAAW,kCAAkC;IACjD,gFAAgF;IAChF,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,kEAAkE;IAClE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gCAAgC;IAC/C,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAClD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CACP,QAAQ,EAAE,2BAA2B,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7E,OAAO,CAAC,EAAE,mCAAmC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GACpF,WAAW,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,2BAA2B;IAC1C,oFAAoF;IACpF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACnD,cAAc,CAAC,WAAW,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/D,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9G,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACxF,cAAc,CACZ,QAAQ,EAAE,2BAA2B,CAAC,yBAAyB,CAAC,EAChE,OAAO,CAAC,EAAE,6BAA6B,GACtC,WAAW,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,uCAAwC,SAAQ,6BAA6B;IAC5F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,yBAAyB,KAAK,OAAO,CAAC;CACxE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,yBAAyB,EAC/B,OAAO,EAAE,gCAAgC,GACxC,wBAAwB,CAiC1B;AAED,mFAAmF;AACnF,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,yBAAyB,EAC/B,MAAM,EAAE,0BAA0B,EAClC,OAAO,GAAE,kCAAuC,GAC/C,wBAAwB,CAsC1B;AAED,kFAAkF;AAClF,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,yBAAyB,EAC/B,QAAQ,EAAE,2BAA2B,CAAC,yBAAyB,CAAC,EAChE,OAAO,GAAE,6BAAkC,GAC1C,WAAW,CA0Bb;AAED,0DAA0D;AAC1D,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,yBAAyB,GAAG,gCAAgC,CAYjH;AAED,4GAA4G;AAC5G,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,yBAAyB,GAAG,uBAAuB,CAuB/F;AAED,4EAA4E;AAC5E,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,oBAAoB,EACzB,IAAI,EAAE,yBAAyB,EAC/B,OAAO,EAAE,uCAAuC,GAC/C,wBAAwB,CAc1B;AAED,MAAM,MAAM,uBAAuB,GAAG,CACpC,SAAS,EAAE,aAAa,CAAC,sBAAsB,CAAC,EAChD,KAAK,EAAE,0BAA0B,KAC9B,IAAI,CAAC;AAEV,oEAAoE;AACpE,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,yBAAyB,EAC/B,QAAQ,EAAE,uBAAuB,EACjC,OAAO,CAAC,EAAE,+BAA+B,GACxC,WAAW,CAEb;AAED,MAAM,WAAW,gCAAgC;IAC/C,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACvG,cAAc,IAAI,IAAI,CAAC;IACvB,SAAS,CAAC,QAAQ,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,+BAA+B,GAAG,WAAW,CAAC;CACtG;AAED,kFAAkF;AAClF,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,yBAAyB,GAAG,gCAAgC,CAYjH"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Interaction bindings between map/table/detail surfaces and
3
+ * `ExplorationViewController`.
4
+ *
5
+ * These helpers keep component adapters small: maps publish source-qualified
6
+ * selection targets, tables publish the same targets, maps observe shared
7
+ * selection to update feature-state, and detail panels subscribe to the
8
+ * shared selection slice.
9
+ *
10
+ * @module
11
+ */
12
+ import { featureSelectionKey, isSourceQualifiedSelectionTarget, sourceFeatureSelectionTarget, } from "../exploration/selection.js";
13
+ import { extentToSpatialFilter, selectLinkedViewQueryProjection, subscribeExplorationSelector, } from "../exploration/selectors.js";
14
+ import { createSelectionHandler } from "./feature-state.js";
15
+ /**
16
+ * Bind a MapLibre-style selection handler to an exploration view.
17
+ *
18
+ * The map handler already knows its source and source layer, so this publishes
19
+ * source-qualified targets into the shared exploration selection slice.
20
+ */
21
+ export function bindMapSelectionToExploration(map, view, options) {
22
+ const { replaceSelection = true, onSelectionTargetsChange } = options;
23
+ return createSelectionHandler(map, {
24
+ ...options,
25
+ onSelectionTargetsChange(targets) {
26
+ view.select(targets, { replace: replaceSelection });
27
+ onSelectionTargetsChange?.(targets);
28
+ },
29
+ });
30
+ }
31
+ /**
32
+ * Reflect exploration selection into MapLibre feature-state.
33
+ *
34
+ * This is the table-to-map path: a table or detail panel can call
35
+ * `view.select(...)`; the map observes the shared selection slice and toggles
36
+ * feature-state for matching source-qualified targets.
37
+ */
38
+ export function syncFeatureStateSelection(map, view, options) {
39
+ const { source, sourceLayer, stateKey = "selected", includeRawIds = true, applyInitial = true } = options;
40
+ let active = new Map();
41
+ function apply(selection) {
42
+ const next = new Map();
43
+ for (const target of selection) {
44
+ const featureTarget = toFeatureTarget(target, source, sourceLayer, includeRawIds);
45
+ if (!featureTarget)
46
+ continue;
47
+ next.set(featureTargetKey(featureTarget), featureTarget);
48
+ }
49
+ for (const [key, target] of active) {
50
+ if (!next.has(key))
51
+ map.setFeatureState(target, { [stateKey]: false });
52
+ }
53
+ for (const [key, target] of next) {
54
+ if (!active.has(key))
55
+ map.setFeatureState(target, { [stateKey]: true });
56
+ }
57
+ active = next;
58
+ }
59
+ const unsubscribe = view.subscribe("selection", (event) => apply(event.state.selection), options.subscribeOptions);
60
+ if (applyInitial)
61
+ apply(view.state.selection);
62
+ return {
63
+ remove() {
64
+ unsubscribe();
65
+ for (const target of active.values()) {
66
+ map.setFeatureState(target, { [stateKey]: false });
67
+ }
68
+ active.clear();
69
+ },
70
+ };
71
+ }
72
+ /** Publish viewport extent changes from a map adapter into an exploration view. */
73
+ export function bindMapExtentToExploration(view, source, options = {}) {
74
+ const { applyInitial = true, publishSpatialFilter = false, coalesce = true } = options;
75
+ let active = true;
76
+ let pending = false;
77
+ let latest;
78
+ function publish(extent) {
79
+ if (!active)
80
+ return;
81
+ view.setExtent(extent);
82
+ if (publishSpatialFilter) {
83
+ view.setSpatialFilter(extent ? extentToSpatialFilter(extent) : undefined);
84
+ }
85
+ }
86
+ function enqueue(extent) {
87
+ latest = extent;
88
+ if (!coalesce) {
89
+ publish(latest);
90
+ return;
91
+ }
92
+ if (pending)
93
+ return;
94
+ pending = true;
95
+ queueMicrotask(() => {
96
+ pending = false;
97
+ publish(latest);
98
+ });
99
+ }
100
+ const handle = source.subscribe(enqueue);
101
+ if (applyInitial && source.current)
102
+ enqueue(source.current());
103
+ return {
104
+ remove() {
105
+ if (!active)
106
+ return;
107
+ active = false;
108
+ removeSourceHandle(handle);
109
+ },
110
+ };
111
+ }
112
+ /** Subscribe a table, chart, or result adapter to the shared query projection. */
113
+ export function bindQueryProjectionToExploration(view, listener, options = {}) {
114
+ const { subscription = [
115
+ "filters",
116
+ "spatialFilter",
117
+ "extent",
118
+ "sort",
119
+ "page",
120
+ "visibleFields",
121
+ "grouping",
122
+ "aggregation",
123
+ "selection",
124
+ ], applyInitial = true, equals, includeSelf, sourceId, spatialMode, } = options;
125
+ return subscribeExplorationSelector(view, subscription, (state) => selectLinkedViewQueryProjection(state, { sourceId, spatialMode }), listener, { fireImmediately: applyInitial, equals, includeSelf });
126
+ }
127
+ /** Adapter for filter bars and query-builder controls. */
128
+ export function bindFilterControlsToExploration(view) {
129
+ return {
130
+ setFilter(id, clause) {
131
+ view.setFilter(id, clause);
132
+ },
133
+ clearFilter(id) {
134
+ view.clearFilter(id);
135
+ },
136
+ subscribe(listener, options) {
137
+ return subscribeExplorationSelector(view, "filters", (state) => state.filters, listener, options);
138
+ },
139
+ };
140
+ }
141
+ /** Adapter for chart/grouped-result controls that publish grouping, aggregation, filters, and selection. */
142
+ export function bindChartToExploration(view) {
143
+ return {
144
+ setGrouping(grouping) {
145
+ view.setGrouping(grouping);
146
+ },
147
+ setAggregation(aggregation) {
148
+ view.setAggregation(aggregation);
149
+ },
150
+ selectTargets(targets, options) {
151
+ view.select(targets, options);
152
+ },
153
+ selectBucket(bucket, options) {
154
+ for (const [id, clause] of Object.entries(bucket.filters ?? {})) {
155
+ view.setFilter(id, clause);
156
+ }
157
+ if (bucket.targets) {
158
+ view.select(bucket.targets, { replace: options?.replaceSelection ?? true });
159
+ }
160
+ },
161
+ subscribeQuery(listener, options) {
162
+ return bindQueryProjectionToExploration(view, listener, options);
163
+ },
164
+ };
165
+ }
166
+ /** Reflect linked filter/query state into a MapLibre-style layer filter. */
167
+ export function syncMapLayerFilterToExploration(map, view, options) {
168
+ const unsubscribe = bindQueryProjectionToExploration(view, (projection) => map.setFilter(options.layerId, options.translate(projection)), {
169
+ ...options,
170
+ subscription: options.subscription ?? ["filters", "spatialFilter", "extent"],
171
+ });
172
+ return {
173
+ remove() {
174
+ unsubscribe();
175
+ },
176
+ };
177
+ }
178
+ /** Subscribe a detail panel to the shared exploration selection. */
179
+ export function bindDetailToSelection(view, listener, options) {
180
+ return view.subscribe("selection", (event) => listener(event.state.selection, event), options);
181
+ }
182
+ /** Small adapter for table/grid components that publish and observe selection. */
183
+ export function bindTableSelectionToExploration(view) {
184
+ return {
185
+ select(targets, options) {
186
+ view.select(targets, options);
187
+ },
188
+ clearSelection() {
189
+ view.deselect();
190
+ },
191
+ subscribe(listener, options) {
192
+ return bindDetailToSelection(view, listener, options);
193
+ },
194
+ };
195
+ }
196
+ function toFeatureTarget(target, source, sourceLayer, includeRawIds) {
197
+ if (isSourceQualifiedSelectionTarget(target)) {
198
+ if (target.sourceId !== source)
199
+ return undefined;
200
+ if ((target.sourceLayer ?? "") !== (sourceLayer ?? ""))
201
+ return undefined;
202
+ return { source, id: target.id, sourceLayer };
203
+ }
204
+ if (!includeRawIds)
205
+ return undefined;
206
+ return { source, id: target, sourceLayer };
207
+ }
208
+ function featureTargetKey(target) {
209
+ const selectionTarget = sourceFeatureSelectionTarget(target.source, target.id, { sourceLayer: target.sourceLayer });
210
+ return featureSelectionKey(selectionTarget);
211
+ }
212
+ function removeSourceHandle(handle) {
213
+ if (typeof handle === "function") {
214
+ handle();
215
+ return;
216
+ }
217
+ handle.remove();
218
+ }
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Feature-state interaction helpers.
3
+ *
4
+ * These utilities wrap MapLibre GL JS's `setFeatureState` / `removeFeatureState`
5
+ * behind duck-typed interfaces so the SDK carries no hard runtime dependency on
6
+ * `maplibre-gl`. Any object that implements {@link FeatureStateMap} works.
7
+ *
8
+ * @module
9
+ */
10
+ import type { SourceQualifiedFeatureSelectionTarget } from "../exploration/types.js";
11
+ /** Minimal subset of a MapLibre `Map` needed for feature-state operations. */
12
+ export interface FeatureStateMap {
13
+ setFeatureState(target: {
14
+ source: string;
15
+ id: string | number;
16
+ sourceLayer?: string;
17
+ }, state: Record<string, unknown>): void;
18
+ getFeatureState(target: {
19
+ source: string;
20
+ id: string | number;
21
+ sourceLayer?: string;
22
+ }): Record<string, unknown>;
23
+ removeFeatureState(target: {
24
+ source: string;
25
+ id: string | number;
26
+ sourceLayer?: string;
27
+ }, key?: string): void;
28
+ }
29
+ /** Minimal subset of a MapLibre `Map` needed for event subscription. */
30
+ export interface MapEventTarget {
31
+ on(event: string, layerOrHandler: string | ((...args: unknown[]) => void), handler?: (...args: unknown[]) => void): void;
32
+ off(event: string, layerOrHandler: string | ((...args: unknown[]) => void), handler?: (...args: unknown[]) => void): void;
33
+ }
34
+ /** A map that supports both feature state and events. */
35
+ export type InteractiveMap = FeatureStateMap & MapEventTarget;
36
+ /** Identifies a feature within a source for state operations. */
37
+ export interface FeatureTarget {
38
+ source: string;
39
+ id: string | number;
40
+ sourceLayer?: string;
41
+ }
42
+ /**
43
+ * Set state on a feature.
44
+ *
45
+ * Thin wrapper that constructs the MapLibre target object. Prefer this over
46
+ * calling `map.setFeatureState()` directly when working with Honua source IDs
47
+ * and feature IDs from query results.
48
+ */
49
+ export declare function setFeatureState(map: FeatureStateMap, source: string, id: string | number, state: Record<string, unknown>, sourceLayer?: string): void;
50
+ /** Get current state for a feature. */
51
+ export declare function getFeatureState(map: FeatureStateMap, source: string, id: string | number, sourceLayer?: string): Record<string, unknown>;
52
+ /** Remove a single state key (or all state) from a feature. */
53
+ export declare function removeFeatureState(map: FeatureStateMap, source: string, id: string | number, key?: string, sourceLayer?: string): void;
54
+ /** Options for {@link createHoverHandler}. */
55
+ export interface HoverHandlerOptions {
56
+ /** Source ID to set feature state on. */
57
+ source: string;
58
+ /** Layer ID to listen for mouse events on. */
59
+ layer: string;
60
+ /** Feature-state key to toggle. @default "hover" */
61
+ stateKey?: string;
62
+ /** Source layer (required for vector-tile sources). */
63
+ sourceLayer?: string;
64
+ }
65
+ /** Handle returned by {@link createHoverHandler} for cleanup. */
66
+ export interface HoverHandle {
67
+ /** Remove all event listeners. Call this on component teardown. */
68
+ remove(): void;
69
+ /** The currently hovered feature ID, or `undefined`. */
70
+ readonly hoveredId: string | number | undefined;
71
+ }
72
+ /**
73
+ * Create a hover handler that manages `feature-state` hover state.
74
+ *
75
+ * Wires up `mousemove` / `mouseleave` events on the specified layer and
76
+ * toggles a boolean state key (default `"hover"`) on the underlying source.
77
+ * Pair with a paint expression like:
78
+ *
79
+ * ```ts
80
+ * import { expr } from "@honua/sdk";
81
+ * const opacity = expr.case([expr.featureState("hover"), 1.0], 0.5);
82
+ * ```
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * const hover = createHoverHandler(map, {
87
+ * source: "parcels",
88
+ * layer: "parcel-fill",
89
+ * });
90
+ * // Later:
91
+ * hover.remove();
92
+ * ```
93
+ */
94
+ export declare function createHoverHandler(map: InteractiveMap, options: HoverHandlerOptions): HoverHandle;
95
+ /** Options for {@link createSelectionHandler}. */
96
+ export interface SelectionHandlerOptions {
97
+ /** Source ID to set feature state on. */
98
+ source: string;
99
+ /** Layer ID to listen for click events on. */
100
+ layer: string;
101
+ /** Feature-state key to toggle. @default "selected" */
102
+ stateKey?: string;
103
+ /** Allow multiple features to be selected simultaneously. @default false */
104
+ multiSelect?: boolean;
105
+ /** Source layer (required for vector-tile sources). */
106
+ sourceLayer?: string;
107
+ /** Called whenever the selection changes. */
108
+ onChange?: (selectedIds: ReadonlySet<string | number>) => void;
109
+ /** Called whenever the source-qualified selection changes. */
110
+ onSelectionTargetsChange?: (selectedTargets: ReadonlyArray<SourceQualifiedFeatureSelectionTarget>) => void;
111
+ }
112
+ /** Handle returned by {@link createSelectionHandler} for cleanup. */
113
+ export interface SelectionHandle {
114
+ /** Remove all event listeners and clear selection state. */
115
+ remove(): void;
116
+ /** The set of currently selected feature IDs. */
117
+ readonly selectedIds: ReadonlySet<string | number>;
118
+ /** The current source-qualified selection targets. */
119
+ readonly selectedTargets: ReadonlyArray<SourceQualifiedFeatureSelectionTarget>;
120
+ /** Programmatically clear the selection. */
121
+ clearSelection(): void;
122
+ /** Programmatically select a feature by ID. */
123
+ select(id: string | number): void;
124
+ /** Programmatically deselect a feature by ID. */
125
+ deselect(id: string | number): void;
126
+ }
127
+ /**
128
+ * Create a selection handler that manages `feature-state` selection.
129
+ *
130
+ * Wires up `click` events on the specified layer and toggles a boolean state
131
+ * key (default `"selected"`) on the underlying source. Supports single-select
132
+ * (default) and multi-select modes.
133
+ *
134
+ * @example
135
+ * ```ts
136
+ * const selection = createSelectionHandler(map, {
137
+ * source: "parcels",
138
+ * layer: "parcel-fill",
139
+ * onChange: (ids) => updateSidebar(ids),
140
+ * });
141
+ * ```
142
+ */
143
+ export declare function createSelectionHandler(map: InteractiveMap, options: SelectionHandlerOptions): SelectionHandle;
144
+ //# sourceMappingURL=feature-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-state.d.ts","sourceRoot":"","sources":["../../../src/interactions/feature-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Feature-state interaction helpers.
3
+ *
4
+ * These utilities wrap MapLibre GL JS's `setFeatureState` / `removeFeatureState`
5
+ * behind duck-typed interfaces so the SDK carries no hard runtime dependency on
6
+ * `maplibre-gl`. Any object that implements {@link FeatureStateMap} works.
7
+ *
8
+ * @module
9
+ */
10
+ import { sourceFeatureSelectionTarget } from "../exploration/selection.js";
11
+ // ── Core helpers ──────────────────────────────────────────────
12
+ /**
13
+ * Set state on a feature.
14
+ *
15
+ * Thin wrapper that constructs the MapLibre target object. Prefer this over
16
+ * calling `map.setFeatureState()` directly when working with Honua source IDs
17
+ * and feature IDs from query results.
18
+ */
19
+ export function setFeatureState(map, source, id, state, sourceLayer) {
20
+ map.setFeatureState({ source, id, sourceLayer }, state);
21
+ }
22
+ /** Get current state for a feature. */
23
+ export function getFeatureState(map, source, id, sourceLayer) {
24
+ return map.getFeatureState({ source, id, sourceLayer });
25
+ }
26
+ /** Remove a single state key (or all state) from a feature. */
27
+ export function removeFeatureState(map, source, id, key, sourceLayer) {
28
+ map.removeFeatureState({ source, id, sourceLayer }, key);
29
+ }
30
+ /**
31
+ * Create a hover handler that manages `feature-state` hover state.
32
+ *
33
+ * Wires up `mousemove` / `mouseleave` events on the specified layer and
34
+ * toggles a boolean state key (default `"hover"`) on the underlying source.
35
+ * Pair with a paint expression like:
36
+ *
37
+ * ```ts
38
+ * import { expr } from "@honua/sdk";
39
+ * const opacity = expr.case([expr.featureState("hover"), 1.0], 0.5);
40
+ * ```
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * const hover = createHoverHandler(map, {
45
+ * source: "parcels",
46
+ * layer: "parcel-fill",
47
+ * });
48
+ * // Later:
49
+ * hover.remove();
50
+ * ```
51
+ */
52
+ export function createHoverHandler(map, options) {
53
+ const { source, layer, stateKey = "hover", sourceLayer } = options;
54
+ let hoveredId;
55
+ function onMouseMove(...args) {
56
+ const e = args[0];
57
+ const featureId = e?.features?.[0]?.id;
58
+ if (featureId === undefined || featureId === null)
59
+ return;
60
+ if (hoveredId !== undefined && hoveredId !== featureId) {
61
+ map.setFeatureState({ source, id: hoveredId, sourceLayer }, { [stateKey]: false });
62
+ }
63
+ hoveredId = featureId;
64
+ map.setFeatureState({ source, id: hoveredId, sourceLayer }, { [stateKey]: true });
65
+ }
66
+ function onMouseLeave() {
67
+ if (hoveredId !== undefined) {
68
+ map.setFeatureState({ source, id: hoveredId, sourceLayer }, { [stateKey]: false });
69
+ hoveredId = undefined;
70
+ }
71
+ }
72
+ map.on("mousemove", layer, onMouseMove);
73
+ map.on("mouseleave", layer, onMouseLeave);
74
+ return {
75
+ remove() {
76
+ onMouseLeave(); // clear any lingering state
77
+ map.off("mousemove", layer, onMouseMove);
78
+ map.off("mouseleave", layer, onMouseLeave);
79
+ },
80
+ get hoveredId() {
81
+ return hoveredId;
82
+ },
83
+ };
84
+ }
85
+ /**
86
+ * Create a selection handler that manages `feature-state` selection.
87
+ *
88
+ * Wires up `click` events on the specified layer and toggles a boolean state
89
+ * key (default `"selected"`) on the underlying source. Supports single-select
90
+ * (default) and multi-select modes.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * const selection = createSelectionHandler(map, {
95
+ * source: "parcels",
96
+ * layer: "parcel-fill",
97
+ * onChange: (ids) => updateSidebar(ids),
98
+ * });
99
+ * ```
100
+ */
101
+ export function createSelectionHandler(map, options) {
102
+ const { source, layer, stateKey = "selected", multiSelect = false, sourceLayer, onChange, onSelectionTargetsChange, } = options;
103
+ const selected = new Set();
104
+ function clearAll() {
105
+ for (const id of selected) {
106
+ map.setFeatureState({ source, id, sourceLayer }, { [stateKey]: false });
107
+ }
108
+ selected.clear();
109
+ }
110
+ function notifyChange() {
111
+ onChange?.(selected);
112
+ onSelectionTargetsChange?.(selectionTargets());
113
+ }
114
+ function selectionTargets() {
115
+ return [...selected].map((id) => sourceFeatureSelectionTarget(source, id, { sourceLayer }));
116
+ }
117
+ function onClick(...args) {
118
+ const e = args[0];
119
+ const featureId = e?.features?.[0]?.id;
120
+ if (featureId === undefined || featureId === null)
121
+ return;
122
+ if (selected.has(featureId)) {
123
+ // Deselect
124
+ map.setFeatureState({ source, id: featureId, sourceLayer }, { [stateKey]: false });
125
+ selected.delete(featureId);
126
+ }
127
+ else {
128
+ // New selection
129
+ if (!multiSelect) {
130
+ clearAll();
131
+ }
132
+ map.setFeatureState({ source, id: featureId, sourceLayer }, { [stateKey]: true });
133
+ selected.add(featureId);
134
+ }
135
+ notifyChange();
136
+ }
137
+ map.on("click", layer, onClick);
138
+ return {
139
+ remove() {
140
+ clearAll();
141
+ map.off("click", layer, onClick);
142
+ },
143
+ get selectedIds() {
144
+ return selected;
145
+ },
146
+ get selectedTargets() {
147
+ return selectionTargets();
148
+ },
149
+ clearSelection() {
150
+ clearAll();
151
+ notifyChange();
152
+ },
153
+ select(id) {
154
+ if (!multiSelect) {
155
+ clearAll();
156
+ }
157
+ map.setFeatureState({ source, id, sourceLayer }, { [stateKey]: true });
158
+ selected.add(id);
159
+ notifyChange();
160
+ },
161
+ deselect(id) {
162
+ if (selected.has(id)) {
163
+ map.setFeatureState({ source, id, sourceLayer }, { [stateKey]: false });
164
+ selected.delete(id);
165
+ notifyChange();
166
+ }
167
+ },
168
+ };
169
+ }
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Renderer-neutral hit-test and pointer primitives.
3
+ *
4
+ * The helpers in this module normalize MapLibre-shaped rendered features into
5
+ * Honua source-qualified identities without importing a renderer package.
6
+ *
7
+ * @module
8
+ */
9
+ import { type QueryTileFeatureIdentityTarget, type QueryTileSourceDescriptor, type Source } from "../contract/index.js";
10
+ import type { FeatureId } from "../contract/types.js";
11
+ import type { SourceQualifiedFeatureSelectionTarget } from "../exploration/types.js";
12
+ export interface HonuaScreenPoint {
13
+ readonly x: number;
14
+ readonly y: number;
15
+ }
16
+ export interface HonuaLngLat {
17
+ readonly lng: number;
18
+ readonly lat: number;
19
+ }
20
+ export type HonuaPointerEventType = "click" | "dblclick" | "mousemove" | "mouseenter" | "mouseleave" | "pointer";
21
+ export interface HonuaPointerInput {
22
+ readonly type?: HonuaPointerEventType | string;
23
+ readonly point?: HonuaScreenPoint | readonly [number, number];
24
+ readonly lngLat?: HonuaLngLat | readonly [number, number];
25
+ readonly originalEvent?: unknown;
26
+ }
27
+ export interface HonuaPointerEvent {
28
+ readonly type: HonuaPointerEventType | string;
29
+ readonly point: HonuaScreenPoint;
30
+ readonly lngLat?: readonly [number, number];
31
+ readonly originalEvent?: unknown;
32
+ }
33
+ export type HonuaHitTestDegradedReason = "renderer-unsupported" | "lnglat-unavailable" | "geometry-unavailable" | "feature-id-unavailable" | "source-binding-unavailable" | "raster-value-unavailable" | "detail-unavailable" | "detail-aborted" | "detail-failed";
34
+ export interface HonuaHitTestDegradedState {
35
+ readonly reason: HonuaHitTestDegradedReason;
36
+ readonly message: string;
37
+ readonly layerId?: string;
38
+ readonly sourceId?: string;
39
+ readonly featureId?: FeatureId;
40
+ readonly cause?: unknown;
41
+ }
42
+ export interface HonuaHitTestRasterSample {
43
+ readonly value?: unknown;
44
+ readonly band?: number | string;
45
+ readonly metadata?: Readonly<Record<string, unknown>>;
46
+ }
47
+ export interface HonuaHitFeature {
48
+ readonly layerId?: string;
49
+ readonly sourceId?: string;
50
+ readonly sourceLayer?: string;
51
+ readonly featureId?: FeatureId;
52
+ readonly selectionTarget?: SourceQualifiedFeatureSelectionTarget;
53
+ readonly properties: Readonly<Record<string, unknown>>;
54
+ readonly geometry?: unknown;
55
+ readonly raster?: HonuaHitTestRasterSample;
56
+ readonly detail?: unknown;
57
+ readonly rawFeature: unknown;
58
+ readonly degraded: readonly HonuaHitTestDegradedState[];
59
+ }
60
+ export interface HonuaHitTestResult {
61
+ readonly point: HonuaScreenPoint;
62
+ readonly lngLat?: readonly [number, number];
63
+ readonly features: readonly HonuaHitFeature[];
64
+ readonly degraded: readonly HonuaHitTestDegradedState[];
65
+ readonly rawFeatures?: readonly unknown[];
66
+ }
67
+ export interface HonuaRenderedFeatureContext {
68
+ readonly layerId?: string;
69
+ readonly layerType?: string;
70
+ readonly sourceId?: string;
71
+ readonly sourceLayer?: string;
72
+ readonly protocol?: string;
73
+ readonly queryTileDescriptor?: QueryTileSourceDescriptor;
74
+ }
75
+ export interface HonuaHitTestFeatureOptions {
76
+ readonly featureIdProperty?: string;
77
+ readonly resolveFeatureId?: (feature: unknown, context: HonuaRenderedFeatureContext) => FeatureId | undefined;
78
+ readonly resolveFeatureContext?: (feature: unknown) => HonuaRenderedFeatureContext | undefined;
79
+ readonly queryTileSources?: Readonly<Record<string, QueryTileSourceDescriptor>>;
80
+ }
81
+ export interface HonuaHitTestOptions extends HonuaHitTestFeatureOptions {
82
+ readonly layers?: readonly string[];
83
+ readonly sourceIds?: readonly string[];
84
+ readonly sourceLayers?: readonly string[];
85
+ readonly tolerance?: number;
86
+ readonly maxResults?: number;
87
+ readonly loadDetails?: boolean;
88
+ readonly signal?: AbortSignal;
89
+ }
90
+ export interface HonuaHitTestMap {
91
+ queryRenderedFeatures?(geometry?: HonuaScreenPoint | readonly [HonuaScreenPoint, HonuaScreenPoint], options?: {
92
+ layers?: readonly string[];
93
+ }): readonly unknown[];
94
+ unproject?(point: HonuaScreenPoint | readonly [number, number]): HonuaLngLat | readonly [number, number];
95
+ }
96
+ export interface HonuaHitTestDetailContext extends HonuaRenderedFeatureContext {
97
+ readonly target: QueryTileFeatureIdentityTarget;
98
+ readonly hit: HonuaHitFeature;
99
+ }
100
+ export type HonuaHitTestDetailLoader = (context: HonuaHitTestDetailContext, options: {
101
+ readonly signal?: AbortSignal;
102
+ }) => Promise<unknown>;
103
+ export interface HonuaNormalizeHitTestOptions extends HonuaHitTestOptions {
104
+ readonly featureContexts?: Readonly<Record<string, HonuaRenderedFeatureContext>>;
105
+ readonly detailLoader?: HonuaHitTestDetailLoader;
106
+ }
107
+ export declare function hitTestMap(map: HonuaHitTestMap, input: HonuaPointerInput, options?: HonuaNormalizeHitTestOptions): Promise<HonuaHitTestResult>;
108
+ export declare function normalizePointerEvent(input: HonuaPointerInput | unknown, map?: Pick<HonuaHitTestMap, "unproject">): HonuaPointerEvent;
109
+ export declare function normalizeHitTestFeatures(features: readonly unknown[], options?: HonuaNormalizeHitTestOptions): HonuaHitFeature[];
110
+ export declare function normalizeHitFeature(feature: unknown, context: HonuaRenderedFeatureContext, options?: HonuaHitTestFeatureOptions): HonuaHitFeature;
111
+ export declare function createQueryTileDetailLoader(sources: Readonly<Record<string, Source>>, descriptors: Readonly<Record<string, QueryTileSourceDescriptor>>): HonuaHitTestDetailLoader;
112
+ //# sourceMappingURL=hit-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hit-test.d.ts","sourceRoot":"","sources":["../../../src/interactions/hit-test.ts"],"names":[],"mappings":"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"}