@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,203 @@
1
+ /**
2
+ * HonuaMapSpec — Honua-specific source type definitions extending MapLibre Style Spec v8.
3
+ *
4
+ * Defines three custom source types (`honua-feature-service`, `honua-map-service`,
5
+ * `honua-ogc-features`) and a `HonuaStyleSpecification` that widens the MapLibre
6
+ * style's `sources` map to accept them. Standard MapLibre layer types, paint/layout
7
+ * properties, and expressions are used unchanged.
8
+ *
9
+ * These types are standalone (zero dependency on `maplibre-gl` or
10
+ * `@maplibre/maplibre-gl-style-spec`), but structurally compatible — a
11
+ * `HonuaStyleSpecification` can be narrowed to `StyleSpecification` by filtering
12
+ * out Honua sources.
13
+ *
14
+ * @module
15
+ */
16
+ /** Common fields shared by all Honua source specifications. */
17
+ export interface HonuaSourceBase {
18
+ /** Full URL to the service endpoint. */
19
+ url: string;
20
+ /** Attribution string displayed on the map. */
21
+ attribution?: string;
22
+ }
23
+ /**
24
+ * A source backed by an Esri-compatible Feature Service layer.
25
+ *
26
+ * URL format: `https://host/rest/services/{serviceId}/FeatureServer/{layerId}`
27
+ */
28
+ export interface HonuaFeatureServiceSourceSpecification extends HonuaSourceBase {
29
+ type: "honua-feature-service";
30
+ /** Server-side WHERE clause applied to all queries. */
31
+ definitionExpression?: string;
32
+ /** Fields to include in query responses. Defaults to all (`["*"]`). */
33
+ outFields?: string[];
34
+ /** Whether queries return geometry. Defaults to `true`. */
35
+ returnGeometry?: boolean;
36
+ /** Output spatial reference WKID (e.g. `4326`, `3857`). */
37
+ outSR?: number;
38
+ }
39
+ /**
40
+ * A source backed by an Esri-compatible Map Service (dynamic map export).
41
+ *
42
+ * URL format: `https://host/rest/services/{serviceId}/MapServer`
43
+ */
44
+ export interface HonuaMapServiceSourceSpecification extends HonuaSourceBase {
45
+ type: "honua-map-service";
46
+ /** Comma-separated layer IDs to include (e.g. `"0,1,3"`). */
47
+ layers?: string;
48
+ /** Export DPI. Defaults to `96`. */
49
+ dpi?: number;
50
+ /** Image format. */
51
+ format?: "png" | "png24" | "png32" | "jpg" | "gif";
52
+ /** Whether the exported image has a transparent background. */
53
+ transparent?: boolean;
54
+ }
55
+ /**
56
+ * A source backed by an OGC API Features collection.
57
+ *
58
+ * URL format: `https://host/ogc/collections/{collectionId}` or
59
+ * `https://host/ogc` (with `collectionId` specified separately).
60
+ */
61
+ export interface HonuaOgcFeaturesSourceSpecification extends HonuaSourceBase {
62
+ type: "honua-ogc-features";
63
+ /** The OGC collection identifier. Required if the URL does not include it. */
64
+ collectionId?: string;
65
+ /** Coordinate reference system URI (e.g. `"http://www.opengis.net/def/crs/OGC/1.3/CRS84"`). */
66
+ crs?: string;
67
+ /** CQL2 filter expression applied server-side. */
68
+ filter?: string;
69
+ /** Maximum items per request page. */
70
+ limit?: number;
71
+ }
72
+ /**
73
+ * A source backed by a first-party WMS 1.3.0 service.
74
+ *
75
+ * URL format: `https://host/rest/services/{serviceId}/MapServer/WMS`.
76
+ */
77
+ export interface HonuaWmsSourceSpecification extends HonuaSourceBase {
78
+ type: "honua-wms";
79
+ /** Service identifier, when not parseable from the URL. */
80
+ serviceId?: string;
81
+ /** Comma-separated layer names (the WMS `LAYERS=` value). */
82
+ layers?: string;
83
+ /** Comma-separated style names (the WMS `STYLES=` value). */
84
+ styles?: string;
85
+ /** Image MIME type. Defaults to `image/png`. */
86
+ format?: string;
87
+ /** Whether the rendered image should be transparent. */
88
+ transparent?: boolean;
89
+ /** CRS code. Defaults to `EPSG:3857`. */
90
+ crs?: string;
91
+ }
92
+ /**
93
+ * A source backed by a first-party WMTS 1.0.0 service.
94
+ *
95
+ * URL format: `https://host/rest/services/{serviceId}/MapServer/WMTS`.
96
+ */
97
+ export interface HonuaWmtsSourceSpecification extends HonuaSourceBase {
98
+ type: "honua-wmts";
99
+ /** Service identifier, when not parseable from the URL. */
100
+ serviceId?: string;
101
+ /** Layer identifier. */
102
+ layer?: string;
103
+ /** Style identifier. Defaults to `default`. */
104
+ style?: string;
105
+ /** TileMatrixSet identifier. Defaults to `WebMercatorQuad`. */
106
+ tileMatrixSet?: string;
107
+ /** Image MIME type. Defaults to `image/png`. */
108
+ format?: string;
109
+ }
110
+ /** Union of all Honua custom source types. */
111
+ export type HonuaSourceSpecification = HonuaFeatureServiceSourceSpecification | HonuaMapServiceSourceSpecification | HonuaOgcFeaturesSourceSpecification | HonuaWmsSourceSpecification | HonuaWmtsSourceSpecification;
112
+ /** Minimal layer shape compatible with MapLibre Style Spec v8. */
113
+ export interface HonuaLayerSpecification {
114
+ id: string;
115
+ type: string;
116
+ source?: string;
117
+ "source-layer"?: string;
118
+ filter?: unknown;
119
+ layout?: Record<string, unknown>;
120
+ paint?: Record<string, unknown>;
121
+ minzoom?: number;
122
+ maxzoom?: number;
123
+ metadata?: Record<string, unknown>;
124
+ }
125
+ /**
126
+ * A MapLibre Style Spec v8 document extended with Honua custom source types.
127
+ *
128
+ * Standard MapLibre sources (`vector`, `raster`, `geojson`, etc.) are accepted
129
+ * alongside Honua sources. Layer definitions use standard MapLibre types.
130
+ */
131
+ export interface HonuaStyleSpecification {
132
+ version: 8;
133
+ name?: string;
134
+ metadata?: Record<string, unknown>;
135
+ center?: [number, number];
136
+ zoom?: number;
137
+ bearing?: number;
138
+ pitch?: number;
139
+ sources: Record<string, HonuaSourceSpecification | {
140
+ type: string;
141
+ [key: string]: unknown;
142
+ }>;
143
+ layers: HonuaLayerSpecification[];
144
+ sprite?: string | {
145
+ id: string;
146
+ url: string;
147
+ }[];
148
+ glyphs?: string;
149
+ transition?: {
150
+ duration?: number;
151
+ delay?: number;
152
+ };
153
+ }
154
+ /** Test whether a source specification is any Honua custom type. */
155
+ export declare function isHonuaSource(source: {
156
+ type: string;
157
+ }): source is HonuaSourceSpecification;
158
+ /** Test whether a source is a `honua-feature-service`. */
159
+ export declare function isFeatureServiceSource(source: {
160
+ type: string;
161
+ }): source is HonuaFeatureServiceSourceSpecification;
162
+ /** Test whether a source is a `honua-map-service`. */
163
+ export declare function isMapServiceSource(source: {
164
+ type: string;
165
+ }): source is HonuaMapServiceSourceSpecification;
166
+ /** Test whether a source is a `honua-ogc-features`. */
167
+ export declare function isOgcFeaturesSource(source: {
168
+ type: string;
169
+ }): source is HonuaOgcFeaturesSourceSpecification;
170
+ /** Test whether a source is a `honua-wms`. */
171
+ export declare function isWmsSource(source: {
172
+ type: string;
173
+ }): source is HonuaWmsSourceSpecification;
174
+ /** Test whether a source is a `honua-wmts`. */
175
+ export declare function isWmtsSource(source: {
176
+ type: string;
177
+ }): source is HonuaWmtsSourceSpecification;
178
+ /** Parsed components of an OGC Features URL. */
179
+ export interface ParsedOgcFeaturesUrl {
180
+ baseUrl: string;
181
+ collectionId: string | undefined;
182
+ }
183
+ /**
184
+ * Parse an OGC Features URL into baseUrl and optional collectionId.
185
+ *
186
+ * Accepts URLs like:
187
+ * - `https://gis.example.com/ogc/collections/admin-boundaries`
188
+ * - `https://gis.example.com/ogc` (collectionId provided separately)
189
+ */
190
+ export declare function parseOgcFeaturesUrl(url: string): ParsedOgcFeaturesUrl;
191
+ /** A validation error found in a HonuaStyleSpecification. */
192
+ export interface StyleValidationError {
193
+ path: string;
194
+ message: string;
195
+ }
196
+ /**
197
+ * Validate a HonuaStyleSpecification for structural correctness.
198
+ *
199
+ * Returns an empty array if the style is valid. Does not validate MapLibre
200
+ * layer/expression semantics — use `@maplibre/maplibre-gl-style-spec` for that.
201
+ */
202
+ export declare function validateHonuaStyle(style: unknown): StyleValidationError[];
203
+ //# sourceMappingURL=specification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specification.d.ts","sourceRoot":"","sources":["../../../src/style/specification.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * HonuaMapSpec — Honua-specific source type definitions extending MapLibre Style Spec v8.
3
+ *
4
+ * Defines three custom source types (`honua-feature-service`, `honua-map-service`,
5
+ * `honua-ogc-features`) and a `HonuaStyleSpecification` that widens the MapLibre
6
+ * style's `sources` map to accept them. Standard MapLibre layer types, paint/layout
7
+ * properties, and expressions are used unchanged.
8
+ *
9
+ * These types are standalone (zero dependency on `maplibre-gl` or
10
+ * `@maplibre/maplibre-gl-style-spec`), but structurally compatible — a
11
+ * `HonuaStyleSpecification` can be narrowed to `StyleSpecification` by filtering
12
+ * out Honua sources.
13
+ *
14
+ * @module
15
+ */
16
+ // ── Type guards ──────────────────────────────────────────────
17
+ /** Test whether a source specification is any Honua custom type. */
18
+ export function isHonuaSource(source) {
19
+ return source.type.startsWith("honua-");
20
+ }
21
+ /** Test whether a source is a `honua-feature-service`. */
22
+ export function isFeatureServiceSource(source) {
23
+ return source.type === "honua-feature-service";
24
+ }
25
+ /** Test whether a source is a `honua-map-service`. */
26
+ export function isMapServiceSource(source) {
27
+ return source.type === "honua-map-service";
28
+ }
29
+ /** Test whether a source is a `honua-ogc-features`. */
30
+ export function isOgcFeaturesSource(source) {
31
+ return source.type === "honua-ogc-features";
32
+ }
33
+ /** Test whether a source is a `honua-wms`. */
34
+ export function isWmsSource(source) {
35
+ return source.type === "honua-wms";
36
+ }
37
+ /** Test whether a source is a `honua-wmts`. */
38
+ export function isWmtsSource(source) {
39
+ return source.type === "honua-wmts";
40
+ }
41
+ /**
42
+ * Parse an OGC Features URL into baseUrl and optional collectionId.
43
+ *
44
+ * Accepts URLs like:
45
+ * - `https://gis.example.com/ogc/collections/admin-boundaries`
46
+ * - `https://gis.example.com/ogc` (collectionId provided separately)
47
+ */
48
+ export function parseOgcFeaturesUrl(url) {
49
+ const absoluteUrl = parseAbsoluteHttpUrl(url);
50
+ const path = absoluteUrl ? absoluteUrl.pathname : stripQueryAndHash(url);
51
+ const normalizedPath = trimTrailingSlashes(path);
52
+ // Locate the first `/collections/` segment (case-insensitive) and split the
53
+ // path into basePath + collectionId. Linear `indexOf` scanning replaces the
54
+ // prior `/^(.*?)\/collections\/([^/?#]+)(?:\/.*)?$/i` regex, whose lazy
55
+ // leading `.*?` plus trailing alternation could backtrack super-linearly.
56
+ const collectionsToken = "/collections/";
57
+ const markerIndex = normalizedPath.toLowerCase().indexOf(collectionsToken);
58
+ if (markerIndex >= 0) {
59
+ const afterMarker = normalizedPath.slice(markerIndex + collectionsToken.length);
60
+ const nextSlash = afterMarker.indexOf("/");
61
+ const collectionId = nextSlash >= 0 ? afterMarker.slice(0, nextSlash) : afterMarker;
62
+ if (collectionId !== "") {
63
+ const basePath = normalizeCollectionBasePath(normalizedPath.slice(0, markerIndex), normalizedPath);
64
+ return {
65
+ baseUrl: joinUrlParts(absoluteUrl?.origin, basePath),
66
+ collectionId,
67
+ };
68
+ }
69
+ }
70
+ return {
71
+ baseUrl: joinUrlParts(absoluteUrl?.origin, normalizedPath),
72
+ collectionId: undefined,
73
+ };
74
+ }
75
+ function parseAbsoluteHttpUrl(url) {
76
+ try {
77
+ const parsed = new URL(url);
78
+ if (parsed.protocol === "http:" || parsed.protocol === "https:") {
79
+ return parsed;
80
+ }
81
+ }
82
+ catch {
83
+ // Relative URLs are handled by string parsing below.
84
+ }
85
+ return undefined;
86
+ }
87
+ function stripQueryAndHash(url) {
88
+ const hashIndex = url.indexOf("#");
89
+ const withoutHash = hashIndex >= 0 ? url.slice(0, hashIndex) : url;
90
+ const queryIndex = withoutHash.indexOf("?");
91
+ return queryIndex >= 0 ? withoutHash.slice(0, queryIndex) : withoutHash;
92
+ }
93
+ function trimTrailingSlashes(path) {
94
+ if (path === "/") {
95
+ return "/";
96
+ }
97
+ // Linear-time trailing-slash trim. Avoids the `/\/+$/` regex, whose
98
+ // anchored quantifier can backtrack super-linearly on long slash runs.
99
+ let end = path.length;
100
+ while (end > 0 && path.charCodeAt(end - 1) === 47 /* '/' */) {
101
+ end -= 1;
102
+ }
103
+ return end === path.length ? path : path.slice(0, end);
104
+ }
105
+ function normalizeCollectionBasePath(basePath, fullPath) {
106
+ const normalized = trimTrailingSlashes(basePath);
107
+ if (normalized.length > 0) {
108
+ return normalized;
109
+ }
110
+ return fullPath.startsWith("/") ? "/" : "";
111
+ }
112
+ function joinUrlParts(origin, path) {
113
+ if (!origin) {
114
+ return path;
115
+ }
116
+ if (path.length === 0 || path === "/") {
117
+ return origin;
118
+ }
119
+ return `${origin}${path.startsWith("/") ? path : `/${path}`}`;
120
+ }
121
+ /**
122
+ * Validate a HonuaStyleSpecification for structural correctness.
123
+ *
124
+ * Returns an empty array if the style is valid. Does not validate MapLibre
125
+ * layer/expression semantics — use `@maplibre/maplibre-gl-style-spec` for that.
126
+ */
127
+ export function validateHonuaStyle(style) {
128
+ const errors = [];
129
+ if (typeof style !== "object" || style === null) {
130
+ errors.push({ path: "", message: "Style must be a non-null object" });
131
+ return errors;
132
+ }
133
+ const s = style;
134
+ if (s.version !== 8) {
135
+ errors.push({ path: "version", message: "Version must be 8" });
136
+ }
137
+ if (typeof s.sources !== "object" || s.sources === null || Array.isArray(s.sources)) {
138
+ errors.push({ path: "sources", message: "Sources must be a non-null object" });
139
+ }
140
+ else {
141
+ for (const [name, source] of Object.entries(s.sources)) {
142
+ if (typeof source !== "object" || source === null) {
143
+ errors.push({ path: `sources.${name}`, message: "Source must be a non-null object" });
144
+ continue;
145
+ }
146
+ const src = source;
147
+ if (typeof src.type !== "string") {
148
+ errors.push({ path: `sources.${name}.type`, message: "Source type must be a string" });
149
+ continue;
150
+ }
151
+ if (isHonuaSource(src)) {
152
+ if (typeof src.url !== "string") {
153
+ errors.push({ path: `sources.${name}.url`, message: "Honua source must have a string url" });
154
+ }
155
+ }
156
+ }
157
+ }
158
+ if (!Array.isArray(s.layers)) {
159
+ errors.push({ path: "layers", message: "Layers must be an array" });
160
+ }
161
+ else {
162
+ for (let i = 0; i < s.layers.length; i++) {
163
+ const layer = s.layers[i];
164
+ if (typeof layer !== "object" || layer === null) {
165
+ errors.push({ path: `layers[${i}]`, message: "Layer must be a non-null object" });
166
+ continue;
167
+ }
168
+ const l = layer;
169
+ if (typeof l.id !== "string") {
170
+ errors.push({ path: `layers[${i}].id`, message: "Layer must have a string id" });
171
+ }
172
+ if (typeof l.type !== "string") {
173
+ errors.push({ path: `layers[${i}].type`, message: "Layer must have a string type" });
174
+ }
175
+ }
176
+ }
177
+ return errors;
178
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Shared resolvers that turn a `HonuaWmsSourceSpecification` /
3
+ * `HonuaWmtsSourceSpecification` into a runtime SDK handle. Used by both
4
+ * `src/style/factory.ts` (`createSources`) and `src/map/honua-map.ts`
5
+ * (`HonuaMap.getSource`) so the URL-parsing and handle-selection rules
6
+ * stay identical between the two surfaces.
7
+ *
8
+ * @module
9
+ */
10
+ import type { HonuaClient } from "../core/client.js";
11
+ import { HonuaWms, HonuaWmsLayer } from "../core/wms.js";
12
+ import { HonuaWmts, HonuaWmtsTileset } from "../core/wmts.js";
13
+ import type { HonuaWmsSourceSpecification, HonuaWmtsSourceSpecification } from "./specification.js";
14
+ /**
15
+ * Extract the service id from a WMS/WMTS endpoint URL. Returns
16
+ * `undefined` if the URL does not match a known service shape so the
17
+ * caller can fall back to the spec's explicit `serviceId` (or surface a
18
+ * typed error).
19
+ */
20
+ export declare function parseWmsServiceIdFromUrl(url: string): string | undefined;
21
+ /**
22
+ * Resolve a `honua-wms` source spec to a runtime handle. Returns the
23
+ * layer-bound `HonuaWmsLayer` only when `spec.layers` parses to exactly
24
+ * one non-empty layer token, because `HonuaWmsLayer` is a single-layer
25
+ * handle (its `describe()` resolves one `<Layer>` from the parsed
26
+ * Capabilities). Multi-layer composites (`LAYERS=a,b`) and
27
+ * empty / missing values stay on the service-level `HonuaWms` handle so
28
+ * `map()` / `featureInfo()` can still target the composite.
29
+ */
30
+ export declare function resolveWmsSpec(client: HonuaClient, spec: HonuaWmsSourceSpecification): HonuaWms | HonuaWmsLayer;
31
+ /**
32
+ * Resolve a `honua-wmts` source spec to a runtime handle. Returns the
33
+ * (layer × style × TileMatrixSet) `HonuaWmtsTileset` when the spec
34
+ * pins a single layer; otherwise returns the service-level `HonuaWmts`
35
+ * handle.
36
+ */
37
+ export declare function resolveWmtsSpec(client: HonuaClient, spec: HonuaWmtsSourceSpecification): HonuaWmts | HonuaWmtsTileset;
38
+ //# sourceMappingURL=wms-wmts-resolvers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wms-wmts-resolvers.d.ts","sourceRoot":"","sources":["../../../src/style/wms-wmts-resolvers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAsB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAWpG;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,2BAA2B,GAAG,QAAQ,GAAG,aAAa,CAmB/G;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,4BAA4B,GAAG,SAAS,GAAG,gBAAgB,CAkBrH"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Shared resolvers that turn a `HonuaWmsSourceSpecification` /
3
+ * `HonuaWmtsSourceSpecification` into a runtime SDK handle. Used by both
4
+ * `src/style/factory.ts` (`createSources`) and `src/map/honua-map.ts`
5
+ * (`HonuaMap.getSource`) so the URL-parsing and handle-selection rules
6
+ * stay identical between the two surfaces.
7
+ *
8
+ * @module
9
+ */
10
+ import { HonuaWms, HonuaWmsLayer, parseWmsLayerNames } from "../core/wms.js";
11
+ import { HonuaWmts, HonuaWmtsTileset } from "../core/wmts.js";
12
+ /**
13
+ * Match the canonical Esri MapServer WMS/WMTS endpoint shape
14
+ * (`/rest/services/<name>/MapServer/{WMS|WMTS}`) and the OGC web-map
15
+ * shape (`/ogc/services/<name>/{wms|wmts}`) so we can lift the service
16
+ * id out of the URL when the spec did not carry it explicitly.
17
+ */
18
+ const HONUA_WMS_WMTS_URL_RE = /\/(?:rest\/services\/([^/?#]+)\/MapServer\/(?:WMS|WMTS)|ogc\/services\/([^/?#]+)\/(?:wms|wmts))/i;
19
+ /**
20
+ * Extract the service id from a WMS/WMTS endpoint URL. Returns
21
+ * `undefined` if the URL does not match a known service shape so the
22
+ * caller can fall back to the spec's explicit `serviceId` (or surface a
23
+ * typed error).
24
+ */
25
+ export function parseWmsServiceIdFromUrl(url) {
26
+ const match = HONUA_WMS_WMTS_URL_RE.exec(url);
27
+ if (!match)
28
+ return undefined;
29
+ const id = match[1] ?? match[2];
30
+ if (!id)
31
+ return undefined;
32
+ try {
33
+ return decodeURIComponent(id);
34
+ }
35
+ catch {
36
+ return id;
37
+ }
38
+ }
39
+ /**
40
+ * Resolve a `honua-wms` source spec to a runtime handle. Returns the
41
+ * layer-bound `HonuaWmsLayer` only when `spec.layers` parses to exactly
42
+ * one non-empty layer token, because `HonuaWmsLayer` is a single-layer
43
+ * handle (its `describe()` resolves one `<Layer>` from the parsed
44
+ * Capabilities). Multi-layer composites (`LAYERS=a,b`) and
45
+ * empty / missing values stay on the service-level `HonuaWms` handle so
46
+ * `map()` / `featureInfo()` can still target the composite.
47
+ */
48
+ export function resolveWmsSpec(client, spec) {
49
+ const serviceId = spec.serviceId ?? parseWmsServiceIdFromUrl(spec.url);
50
+ if (!serviceId) {
51
+ throw new Error("honua-wms source requires either serviceId or a URL containing the service id");
52
+ }
53
+ const root = new HonuaWms({ client, serviceId });
54
+ const parsedLayers = parseWmsLayerNames(spec.layers);
55
+ if (parsedLayers.length === 1) {
56
+ const opts = {
57
+ client,
58
+ serviceId,
59
+ layerName: parsedLayers[0],
60
+ };
61
+ if (typeof spec.styles === "string" && spec.styles.length > 0) {
62
+ opts.defaultStyleId = spec.styles;
63
+ }
64
+ return new HonuaWmsLayer(opts);
65
+ }
66
+ return root;
67
+ }
68
+ /**
69
+ * Resolve a `honua-wmts` source spec to a runtime handle. Returns the
70
+ * (layer × style × TileMatrixSet) `HonuaWmtsTileset` when the spec
71
+ * pins a single layer; otherwise returns the service-level `HonuaWmts`
72
+ * handle.
73
+ */
74
+ export function resolveWmtsSpec(client, spec) {
75
+ const serviceId = spec.serviceId ?? parseWmsServiceIdFromUrl(spec.url);
76
+ if (!serviceId) {
77
+ throw new Error("honua-wmts source requires either serviceId or a URL containing the service id");
78
+ }
79
+ const root = new HonuaWmts({ client, serviceId });
80
+ if (typeof spec.layer === "string" && spec.layer.length > 0) {
81
+ const style = spec.style ?? "default";
82
+ const tms = spec.tileMatrixSet ?? "WebMercatorQuad";
83
+ return new HonuaWmtsTileset({
84
+ client,
85
+ serviceId,
86
+ layerName: spec.layer,
87
+ styleId: style,
88
+ tileMatrixSetId: tms,
89
+ });
90
+ }
91
+ return root;
92
+ }
@@ -0,0 +1,39 @@
1
+ import type { HonuaLayerSpecification } from "../style/index.js";
2
+ import type { CreateHonuaWebComponentControllerOptions, HonuaControllerStateListener, HonuaEditorModel, HonuaFeatureRecord, HonuaFeatureStateTarget, HonuaFeatureTableModel, HonuaFilterState, HonuaLayerModel, HonuaLegendItem, HonuaMeasureChangeDetail, HonuaMeasureMode, HonuaQueryFeaturesOptions, HonuaSearchOptions, HonuaSearchResult, HonuaSelectionState, HonuaSketchChangeDetail, HonuaSketchMode, HonuaViewportState, HonuaWebComponentController, HonuaWebComponentRuntimeLike, HonuaWebComponentState } from "./types.js";
3
+ export declare class HonuaInMemoryWebComponentController<T = Record<string, unknown>> implements HonuaWebComponentController<T> {
4
+ #private;
5
+ constructor(options?: CreateHonuaWebComponentControllerOptions<T> & {
6
+ runtime?: HonuaWebComponentRuntimeLike<T>;
7
+ });
8
+ getState(): HonuaWebComponentState<T>;
9
+ subscribe(listener: HonuaControllerStateListener<T>): {
10
+ remove(): void;
11
+ };
12
+ setLayerVisibility(layerId: string, visible: boolean): void;
13
+ setViewport(viewport: HonuaViewportState): void;
14
+ setFilter(filter: HonuaFilterState): void;
15
+ selectFeature(selection: HonuaSelectionState<T>): void;
16
+ clearSelection(): void;
17
+ setFeatureState(target: HonuaFeatureStateTarget, state: Record<string, unknown>): void;
18
+ removeFeatureState(target: HonuaFeatureStateTarget, key?: string): void;
19
+ queryFeatures(sourceId?: string | undefined, options?: HonuaQueryFeaturesOptions): Promise<HonuaFeatureTableModel<T>>;
20
+ search(query: string, options?: HonuaSearchOptions): Promise<readonly HonuaSearchResult<T>[]>;
21
+ applyEdit(): Promise<HonuaEditorModel>;
22
+ updateFeatures(sourceId: string, features: readonly HonuaFeatureRecord<T>[]): void;
23
+ canMeasure(): boolean;
24
+ canSketch(): boolean;
25
+ setMeasureMode(mode: HonuaMeasureMode): Promise<HonuaMeasureChangeDetail>;
26
+ setSketchMode(mode: HonuaSketchMode): Promise<HonuaSketchChangeDetail<T>>;
27
+ destroy(): void;
28
+ }
29
+ export declare function createHonuaWebComponentController<T = Record<string, unknown>>(options?: CreateHonuaWebComponentControllerOptions<T>): HonuaWebComponentController<T>;
30
+ export declare function createHonuaWebComponentControllerFromRuntime<T = Record<string, unknown>>(runtime: HonuaWebComponentRuntimeLike<T>, options?: Omit<CreateHonuaWebComponentControllerOptions<T>, "mapPackage" | "layers" | "legend" | "viewport">): HonuaWebComponentController<T>;
31
+ export declare function layersFromMapPackage(layers: readonly HonuaLayerSpecification[]): HonuaLayerModel[];
32
+ export declare function legendFromMapPackage(entries: readonly {
33
+ label: string;
34
+ color?: string;
35
+ iconUrl?: string;
36
+ minValue?: number;
37
+ maxValue?: number;
38
+ }[] | undefined, layers: readonly HonuaLayerModel[], styleLayers: readonly HonuaLayerSpecification[]): HonuaLegendItem[];
39
+ //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/web-components/controller.ts"],"names":[],"mappings":"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"}