@fusion.dev/helix-headless 0.147.0 → 0.149.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 (296) hide show
  1. package/custom-elements.json +11222 -2332
  2. package/dist/accordion/item/accordion-item.d.ts +5 -2
  3. package/dist/accordion/item/accordion-item.js +11 -7
  4. package/dist/accordion/root/accordion-root.js +4 -6
  5. package/dist/announcement/root/announcement-root.d.ts +61 -5
  6. package/dist/announcement/root/announcement-root.js +126 -20
  7. package/dist/area-chart/root/area-chart-root.d.ts +11 -0
  8. package/dist/area-chart/root/area-chart-root.js +21 -9
  9. package/dist/avatar/group/avatar-group.d.ts +10 -2
  10. package/dist/avatar/group/avatar-group.js +10 -5
  11. package/dist/badge/count.d.ts +19 -0
  12. package/dist/badge/count.js +20 -0
  13. package/dist/badge/root/badge-root.d.ts +6 -2
  14. package/dist/badge/root/badge-root.js +8 -22
  15. package/dist/bar-chart/root/bar-chart-root.d.ts +13 -1
  16. package/dist/bar-chart/root/bar-chart-root.js +17 -4
  17. package/dist/blockquote/root/blockquote-root.d.ts +66 -8
  18. package/dist/blockquote/root/blockquote-root.js +85 -8
  19. package/dist/breadcrumbs/breadcrumb/breadcrumb.js +2 -2
  20. package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +8 -1
  21. package/dist/breadcrumbs/root/breadcrumbs-root.js +5 -2
  22. package/dist/button/root/button-root.d.ts +10 -1
  23. package/dist/button/root/button-root.js +3 -2
  24. package/dist/button-group/arrows.d.ts +14 -0
  25. package/dist/button-group/arrows.js +10 -0
  26. package/dist/button-group/root/button-group-root.d.ts +144 -3
  27. package/dist/button-group/root/button-group-root.js +142 -2
  28. package/dist/callout/root/callout-root.d.ts +16 -2
  29. package/dist/callout/root/callout-root.js +16 -4
  30. package/dist/canvas/describe.d.ts +10 -0
  31. package/dist/canvas/describe.js +9 -0
  32. package/dist/canvas/edge-pan.d.ts +61 -0
  33. package/dist/canvas/edge-pan.js +63 -0
  34. package/dist/canvas/neighbor.d.ts +17 -0
  35. package/dist/canvas/neighbor.js +1 -0
  36. package/dist/canvas/node/canvas-node.d.ts +12 -2
  37. package/dist/canvas/node/canvas-node.js +8 -3
  38. package/dist/canvas/root/canvas-document.d.ts +10 -0
  39. package/dist/canvas/root/canvas-document.js +1 -0
  40. package/dist/canvas/root/canvas-root.d.ts +168 -9
  41. package/dist/canvas/root/canvas-root.js +239 -69
  42. package/dist/canvas/snap.d.ts +42 -0
  43. package/dist/canvas/snap.js +32 -0
  44. package/dist/carousel/root/carousel-root.d.ts +9 -3
  45. package/dist/carousel/root/carousel-root.js +17 -10
  46. package/dist/chat/composer/chat-composer.d.ts +5 -0
  47. package/dist/chat/composer/chat-composer.js +4 -1
  48. package/dist/chat/message/chat-message.d.ts +9 -5
  49. package/dist/chat/message/chat-message.js +8 -4
  50. package/dist/chat/naming.js +2 -2
  51. package/dist/chat/root/chat-root.d.ts +40 -4
  52. package/dist/chat/root/chat-root.js +38 -14
  53. package/dist/checkbox/root/checkbox-root.d.ts +11 -0
  54. package/dist/checkbox/root/checkbox-root.js +8 -2
  55. package/dist/checkbox-group/root/checkbox-group-root.d.ts +24 -0
  56. package/dist/checkbox-group/root/checkbox-group-root.js +28 -12
  57. package/dist/checkbox-group/select-all.d.ts +11 -0
  58. package/dist/checkbox-group/select-all.js +5 -0
  59. package/dist/code-block/root/code-block-root.d.ts +20 -8
  60. package/dist/code-block/root/code-block-root.js +16 -5
  61. package/dist/color-input/root/color-input-root.d.ts +13 -0
  62. package/dist/color-input/root/color-input-root.js +18 -5
  63. package/dist/color-picker/root/color-picker-root.d.ts +19 -3
  64. package/dist/color-picker/root/color-picker-root.js +52 -24
  65. package/dist/color-picker/wheel.d.ts +11 -0
  66. package/dist/color-picker/wheel.js +9 -0
  67. package/dist/combobox/root/combobox-root.d.ts +106 -18
  68. package/dist/combobox/root/combobox-root.js +101 -26
  69. package/dist/command/root/command-root.d.ts +19 -9
  70. package/dist/command/root/command-root.js +9 -4
  71. package/dist/copy-button/root/copy-button-root.d.ts +5 -0
  72. package/dist/copy-button/root/copy-button-root.js +7 -2
  73. package/dist/data-table/root/data-table-root.d.ts +171 -29
  74. package/dist/data-table/root/data-table-root.js +284 -161
  75. package/dist/date-input/root/date-input-root.d.ts +32 -9
  76. package/dist/date-input/root/date-input-root.js +66 -44
  77. package/dist/date-picker/root/date-picker-root.d.ts +38 -15
  78. package/dist/date-picker/root/date-picker-root.js +52 -33
  79. package/dist/description-list/item/description-list-item.d.ts +4 -0
  80. package/dist/description-list/item/description-list-item.js +7 -1
  81. package/dist/dialog/root/dialog-root.d.ts +12 -1
  82. package/dist/dialog/root/dialog-root.js +11 -4
  83. package/dist/divider/root/divider-root.d.ts +45 -16
  84. package/dist/divider/root/divider-root.js +28 -4
  85. package/dist/donut-chart/root/donut-chart-root.d.ts +5 -0
  86. package/dist/donut-chart/root/donut-chart-root.js +8 -5
  87. package/dist/drawer/root/drawer-root.d.ts +12 -1
  88. package/dist/drawer/root/drawer-root.js +9 -2
  89. package/dist/drilldown/item/drilldown-item.js +3 -4
  90. package/dist/drilldown/root/drilldown-root.d.ts +5 -0
  91. package/dist/drilldown/root/drilldown-root.js +4 -1
  92. package/dist/element-events.generated.js +26 -3
  93. package/dist/empty/root/empty-root.d.ts +17 -3
  94. package/dist/empty/root/empty-root.js +29 -5
  95. package/dist/file-input/root/file-input-root.d.ts +18 -3
  96. package/dist/file-input/root/file-input-root.js +34 -18
  97. package/dist/file-input/status.js +2 -1
  98. package/dist/filter-input/chip/filter-chip.d.ts +13 -0
  99. package/dist/filter-input/chip/filter-chip.js +7 -3
  100. package/dist/filter-input/menu/filter-menu.d.ts +5 -0
  101. package/dist/filter-input/menu/filter-menu.js +3 -1
  102. package/dist/filter-input/root/filter-input-root.d.ts +20 -3
  103. package/dist/filter-input/root/filter-input-root.js +8 -4
  104. package/dist/format-date/fields.d.ts +20 -0
  105. package/dist/format-date/fields.js +14 -0
  106. package/dist/format-date/options.d.ts +2 -1
  107. package/dist/format-date/options.js +9 -38
  108. package/dist/format-date/root/format-date-root.d.ts +55 -5
  109. package/dist/format-date/root/format-date-root.js +29 -34
  110. package/dist/graph/root/graph-model.d.ts +11 -0
  111. package/dist/graph/root/graph-model.js +4 -0
  112. package/dist/graph/root/graph-root.d.ts +101 -14
  113. package/dist/graph/root/graph-root.js +140 -46
  114. package/dist/heatmap/root/heatmap-root.d.ts +37 -4
  115. package/dist/heatmap/root/heatmap-root.js +51 -16
  116. package/dist/icon-button/root/icon-button-root.d.ts +5 -0
  117. package/dist/icon-button/root/icon-button-root.js +1 -0
  118. package/dist/image/root/image-root.d.ts +11 -0
  119. package/dist/input/root/input-root.d.ts +5 -0
  120. package/dist/input/root/input-root.js +4 -1
  121. package/dist/kbd/root/kbd-root.js +1 -2
  122. package/dist/legend/root/legend-root.js +4 -17
  123. package/dist/lightbox/root/lightbox-root.d.ts +14 -4
  124. package/dist/lightbox/root/lightbox-root.js +25 -7
  125. package/dist/line-chart/root/line-chart-root.d.ts +5 -0
  126. package/dist/line-chart/root/line-chart-root.js +4 -2
  127. package/dist/list/item/list-item.d.ts +32 -0
  128. package/dist/list/item/list-item.js +34 -7
  129. package/dist/list/root/list-root.d.ts +87 -0
  130. package/dist/list/root/list-root.js +119 -23
  131. package/dist/listbox/reorder/index.d.ts +1 -0
  132. package/dist/listbox/reorder/index.js +4 -0
  133. package/dist/listbox/reorder/listbox-reorder.d.ts +83 -0
  134. package/dist/listbox/reorder/listbox-reorder.js +151 -0
  135. package/dist/listbox/root/listbox-root.d.ts +185 -33
  136. package/dist/listbox/root/listbox-root.js +166 -136
  137. package/dist/loader/root/loader-root.d.ts +5 -0
  138. package/dist/loader/root/loader-root.js +3 -1
  139. package/dist/map/area/map-area.d.ts +5 -0
  140. package/dist/map/area/map-area.js +3 -1
  141. package/dist/map/buildings/map-buildings.d.ts +5 -0
  142. package/dist/map/buildings/map-buildings.js +3 -1
  143. package/dist/map/contours/map-contours.d.ts +5 -0
  144. package/dist/map/contours/map-contours.js +3 -1
  145. package/dist/map/landcover/map-landcover.d.ts +5 -0
  146. package/dist/map/landcover/map-landcover.js +3 -1
  147. package/dist/map/marker/map-marker.d.ts +18 -2
  148. package/dist/map/marker/map-marker.js +13 -5
  149. package/dist/map/points/map-points.d.ts +5 -0
  150. package/dist/map/points/map-points.js +6 -4
  151. package/dist/map/position/map-position.d.ts +5 -0
  152. package/dist/map/position/map-position.js +3 -1
  153. package/dist/map/raster/map-raster.d.ts +5 -0
  154. package/dist/map/raster/map-raster.js +3 -1
  155. package/dist/map/root/map-root.d.ts +73 -16
  156. package/dist/map/root/map-root.js +122 -44
  157. package/dist/map/route/map-route.d.ts +5 -0
  158. package/dist/map/route/map-route.js +3 -1
  159. package/dist/map/terrain/map-terrain.d.ts +5 -0
  160. package/dist/map/terrain/map-terrain.js +3 -1
  161. package/dist/megamenu/root/megamenu-root.js +4 -11
  162. package/dist/menu/root/menu-root.d.ts +7 -2
  163. package/dist/menu/root/menu-root.js +3 -1
  164. package/dist/meter/root/meter-root.d.ts +16 -3
  165. package/dist/meter/root/meter-root.js +12 -5
  166. package/dist/navigation/root/navigation-root.d.ts +5 -0
  167. package/dist/navigation/root/navigation-root.js +7 -8
  168. package/dist/notifications/group/notification-group.d.ts +8 -1
  169. package/dist/notifications/group/notification-group.js +12 -6
  170. package/dist/notifications/notification/notification.d.ts +17 -1
  171. package/dist/notifications/notification/notification.js +6 -2
  172. package/dist/notifications/root/notifications-root.d.ts +49 -5
  173. package/dist/notifications/root/notifications-root.js +36 -8
  174. package/dist/number-input/root/number-input-root.d.ts +21 -8
  175. package/dist/number-input/root/number-input-root.js +26 -11
  176. package/dist/object-inspector/root/object-inspector-root.d.ts +56 -13
  177. package/dist/object-inspector/root/object-inspector-root.js +41 -30
  178. package/dist/outline/root/outline-root.d.ts +5 -0
  179. package/dist/outline/root/outline-root.js +3 -1
  180. package/dist/pagination/root/pagination-root.d.ts +7 -1
  181. package/dist/pagination/root/pagination-root.js +16 -7
  182. package/dist/pagination/size/pagination-size.d.ts +8 -3
  183. package/dist/pagination/size/pagination-size.js +5 -3
  184. package/dist/pagination/summary/pagination-summary.d.ts +8 -6
  185. package/dist/pagination/summary/pagination-summary.js +4 -9
  186. package/dist/pin-input/code.d.ts +23 -0
  187. package/dist/pin-input/code.js +21 -0
  188. package/dist/pin-input/root/pin-input-root.d.ts +9 -3
  189. package/dist/pin-input/root/pin-input-root.js +13 -23
  190. package/dist/popover/root/popover-root.d.ts +12 -2
  191. package/dist/popover/root/popover-root.js +10 -4
  192. package/dist/progress/root/progress-root.d.ts +7 -2
  193. package/dist/progress/root/progress-root.js +5 -2
  194. package/dist/qr-code/name.d.ts +3 -2
  195. package/dist/qr-code/name.js +2 -2
  196. package/dist/qr-code/root/qr-code-root.d.ts +26 -5
  197. package/dist/qr-code/root/qr-code-root.js +27 -6
  198. package/dist/radio/group/radio-group.d.ts +11 -0
  199. package/dist/radio/group/radio-group.js +8 -2
  200. package/dist/rating/root/rating-root.d.ts +12 -1
  201. package/dist/rating/root/rating-root.js +10 -3
  202. package/dist/scatter-chart/measures.d.ts +22 -0
  203. package/dist/scatter-chart/measures.js +11 -0
  204. package/dist/scatter-chart/root/scatter-chart-root.d.ts +22 -8
  205. package/dist/scatter-chart/root/scatter-chart-root.js +25 -23
  206. package/dist/select/root/select-root.d.ts +67 -8
  207. package/dist/select/root/select-root.js +45 -11
  208. package/dist/skip-link/root/skip-link-root.d.ts +5 -0
  209. package/dist/skip-link/root/skip-link-root.js +3 -1
  210. package/dist/slider/root/slider-root.d.ts +7 -2
  211. package/dist/slider/root/slider-root.js +11 -5
  212. package/dist/sparkline/readings.d.ts +15 -5
  213. package/dist/sparkline/readings.js +3 -3
  214. package/dist/sparkline/root/sparkline-root.d.ts +9 -4
  215. package/dist/sparkline/root/sparkline-root.js +9 -3
  216. package/dist/speed-dial/group/speed-dial-group.d.ts +48 -0
  217. package/dist/speed-dial/group/speed-dial-group.js +43 -0
  218. package/dist/speed-dial/index.d.ts +1 -0
  219. package/dist/speed-dial/index.js +1 -0
  220. package/dist/speed-dial/item/speed-dial-item.d.ts +26 -1
  221. package/dist/speed-dial/item/speed-dial-item.js +41 -3
  222. package/dist/speed-dial/long-press.d.ts +50 -0
  223. package/dist/speed-dial/long-press.js +48 -0
  224. package/dist/speed-dial/root/speed-dial-root.d.ts +85 -1
  225. package/dist/speed-dial/root/speed-dial-root.js +117 -5
  226. package/dist/splitter/root/splitter-root.d.ts +12 -3
  227. package/dist/splitter/root/splitter-root.js +22 -4
  228. package/dist/steps/root/steps-root.d.ts +9 -2
  229. package/dist/steps/root/steps-root.js +6 -3
  230. package/dist/steps/step/step.d.ts +12 -0
  231. package/dist/steps/step/step.js +11 -2
  232. package/dist/switch/root/switch-root.d.ts +11 -0
  233. package/dist/switch/root/switch-root.js +8 -2
  234. package/dist/table/cell/table-cell.d.ts +8 -1
  235. package/dist/table/cell/table-cell.js +6 -2
  236. package/dist/table/column/table-column.d.ts +11 -4
  237. package/dist/table/column/table-column.js +15 -10
  238. package/dist/table/grid-controller.d.ts +122 -0
  239. package/dist/table/grid-controller.js +299 -0
  240. package/dist/table/root/table-root.d.ts +154 -8
  241. package/dist/table/root/table-root.js +197 -38
  242. package/dist/table/row/table-row.d.ts +55 -1
  243. package/dist/table/row/table-row.js +60 -7
  244. package/dist/tabs/root/tabs-root.d.ts +5 -0
  245. package/dist/tabs/root/tabs-root.js +3 -1
  246. package/dist/tag/group/tag-group.d.ts +5 -0
  247. package/dist/tag/group/tag-group.js +8 -15
  248. package/dist/tag/root/tag-root.d.ts +14 -1
  249. package/dist/tag/root/tag-root.js +11 -8
  250. package/dist/textarea/root/textarea-root.d.ts +5 -0
  251. package/dist/textarea/root/textarea-root.js +3 -1
  252. package/dist/time-input/root/time-input-root.d.ts +14 -7
  253. package/dist/time-input/root/time-input-root.js +43 -32
  254. package/dist/time-picker/root/time-picker-root.d.ts +16 -7
  255. package/dist/time-picker/root/time-picker-root.js +28 -12
  256. package/dist/toast/item/toast-item.d.ts +13 -3
  257. package/dist/toast/item/toast-item.js +2 -0
  258. package/dist/toast/root/toast-root.d.ts +22 -2
  259. package/dist/toast/root/toast-root.js +24 -17
  260. package/dist/toggle/group/toggle-group.js +3 -5
  261. package/dist/toolbar/root/toolbar-root.d.ts +36 -0
  262. package/dist/toolbar/root/toolbar-root.js +43 -9
  263. package/dist/tooltip/root/tooltip-root.d.ts +27 -17
  264. package/dist/tooltip/root/tooltip-root.js +1 -2
  265. package/dist/tour/root/tour-root.d.ts +8 -2
  266. package/dist/tour/root/tour-root.js +4 -2
  267. package/dist/tour/stop/tour-stop.d.ts +5 -0
  268. package/dist/tour/stop/tour-stop.js +6 -1
  269. package/dist/tree/grip.d.ts +5 -0
  270. package/dist/tree/grip.js +1 -0
  271. package/dist/tree/item/tree-item.d.ts +24 -0
  272. package/dist/tree/item/tree-item.js +27 -5
  273. package/dist/tree/root/tree-root.d.ts +66 -1
  274. package/dist/tree/root/tree-root.js +77 -5
  275. package/dist/trend/root/trend-root.d.ts +20 -4
  276. package/dist/trend/root/trend-root.js +20 -5
  277. package/dist/video/root/video-root.d.ts +23 -3
  278. package/dist/video/root/video-root.js +56 -15
  279. package/dist/video-playlist/menu/video-playlist-menu.d.ts +5 -0
  280. package/dist/video-playlist/menu/video-playlist-menu.js +3 -1
  281. package/dist/video-playlist/root/video-playlist-root.d.ts +5 -0
  282. package/dist/video-playlist/root/video-playlist-root.js +3 -1
  283. package/dist/virtual-list/root/virtual-list-root.d.ts +19 -3
  284. package/dist/virtual-list/root/virtual-list-root.js +10 -19
  285. package/lint.json +1 -1
  286. package/package.json +7 -6
  287. package/types/jsx.d.ts +6005 -2114
  288. package/types/svelte.d.ts +1 -0
  289. package/types/vue.d.ts +1594 -676
  290. package/types/words.d.ts +3280 -0
  291. package/dist/kbd/keys.d.ts +0 -29
  292. package/dist/kbd/keys.js +0 -52
  293. package/dist/toast/hotkey.d.ts +0 -22
  294. package/dist/toast/hotkey.js +0 -23
  295. package/dist/tooltip/focus-target.d.ts +0 -6
  296. package/dist/tooltip/focus-target.js +0 -9
@@ -20,6 +20,11 @@ import { nothing, type PropertyValues } from 'lit';
20
20
  * @event {HelixMapPartChangeEvent} helix-map-part-change - The layer's name or color changed. Used by `connectMap`; pages do not need to listen for it.
21
21
  */
22
22
  export declare class HelixHeadlessMapBuildings extends HelixElement {
23
+ /**
24
+ * The key this part's words are registered under, its styled tag:
25
+ * `registerWords('de', { 'helix-map-buildings': { label: '3D-Gebäude' } })`.
26
+ */
27
+ static words: string;
23
28
  /** More about the buildings. Read after the label in the frame's list. */
24
29
  description?: string;
25
30
  /**
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { customElement, HelixElement, HelixMapPartChangeEvent } from '@fusion.dev/helix-core';
7
+ import { customElement, HelixElement, HelixMapPartChangeEvent, words } from '@fusion.dev/helix-core';
8
8
  import { nothing } from 'lit';
9
9
  import { property } from 'lit/decorators.js';
10
10
  let HelixHeadlessMapBuildings = class HelixHeadlessMapBuildings extends HelixElement {
@@ -14,6 +14,7 @@ let HelixHeadlessMapBuildings = class HelixHeadlessMapBuildings extends HelixEle
14
14
  this.layerKind = 'buildings';
15
15
  this.label = '3D buildings';
16
16
  }
17
+ static { this.words = 'helix-map-buildings'; }
17
18
  updated(changed) {
18
19
  super.updated(changed);
19
20
  this.dispatchEvent(new HelixMapPartChangeEvent({ kind: 'layer' }));
@@ -29,6 +30,7 @@ __decorate([
29
30
  property()
30
31
  ], HelixHeadlessMapBuildings.prototype, "group", void 0);
31
32
  __decorate([
33
+ words,
32
34
  property()
33
35
  ], HelixHeadlessMapBuildings.prototype, "label", void 0);
34
36
  HelixHeadlessMapBuildings = __decorate([
@@ -26,6 +26,11 @@ import type { MapTerrainEncoding } from '../terrain/map-terrain.js';
26
26
  * @event {HelixMapPartChangeEvent} helix-map-part-change - The tiles, the unit, or the layer's name or color changed. Used by `connectMap`; pages do not need to listen for it.
27
27
  */
28
28
  export declare class HelixHeadlessMapContours extends HelixElement {
29
+ /**
30
+ * The key this part's words are registered under, its styled tag:
31
+ * `registerWords('de', { 'helix-map-contours': { label: 'Höhenlinien' } })`.
32
+ */
33
+ static words: string;
29
34
  /** The elevation provider's credit, shown in the frame's footer. Links in it stay links. */
30
35
  attribution?: string;
31
36
  /** More about the lines. Read after the label in the frame's list. */
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { customElement, HelixElement, HelixMapPartChangeEvent } from '@fusion.dev/helix-core';
7
+ import { customElement, HelixElement, HelixMapPartChangeEvent, words } from '@fusion.dev/helix-core';
8
8
  import { nothing } from 'lit';
9
9
  import { property } from 'lit/decorators.js';
10
10
  let HelixHeadlessMapContours = class HelixHeadlessMapContours extends HelixElement {
@@ -16,6 +16,7 @@ let HelixHeadlessMapContours = class HelixHeadlessMapContours extends HelixEleme
16
16
  this.label = 'Contour lines';
17
17
  this.unit = 'meters';
18
18
  }
19
+ static { this.words = 'helix-map-contours'; }
19
20
  updated(changed) {
20
21
  super.updated(changed);
21
22
  this.dispatchEvent(new HelixMapPartChangeEvent({ kind: 'layer' }));
@@ -37,6 +38,7 @@ __decorate([
37
38
  property()
38
39
  ], HelixHeadlessMapContours.prototype, "group", void 0);
39
40
  __decorate([
41
+ words,
40
42
  property()
41
43
  ], HelixHeadlessMapContours.prototype, "label", void 0);
42
44
  __decorate([
@@ -22,6 +22,11 @@ import { nothing, type PropertyValues } from 'lit';
22
22
  * @event {HelixMapPartChangeEvent} helix-map-part-change - The layer's name or color changed. Used by `connectMap`; pages do not need to listen for it.
23
23
  */
24
24
  export declare class HelixHeadlessMapLandcover extends HelixElement {
25
+ /**
26
+ * The key this part's words are registered under, its styled tag:
27
+ * `registerWords('de', { 'helix-map-landcover': { label: 'Bodenbedeckung' } })`.
28
+ */
29
+ static words: string;
25
30
  /** More about the land cover. Read after the label in the frame's list. */
26
31
  description?: string;
27
32
  /**
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { customElement, HelixElement, HelixMapPartChangeEvent } from '@fusion.dev/helix-core';
7
+ import { customElement, HelixElement, HelixMapPartChangeEvent, words } from '@fusion.dev/helix-core';
8
8
  import { nothing } from 'lit';
9
9
  import { property } from 'lit/decorators.js';
10
10
  let HelixHeadlessMapLandcover = class HelixHeadlessMapLandcover extends HelixElement {
@@ -14,6 +14,7 @@ let HelixHeadlessMapLandcover = class HelixHeadlessMapLandcover extends HelixEle
14
14
  this.layerKind = 'landcover';
15
15
  this.label = 'Land cover';
16
16
  }
17
+ static { this.words = 'helix-map-landcover'; }
17
18
  updated(changed) {
18
19
  super.updated(changed);
19
20
  this.dispatchEvent(new HelixMapPartChangeEvent({ kind: 'layer' }));
@@ -29,6 +30,7 @@ __decorate([
29
30
  property()
30
31
  ], HelixHeadlessMapLandcover.prototype, "group", void 0);
31
32
  __decorate([
33
+ words,
32
34
  property()
33
35
  ], HelixHeadlessMapLandcover.prototype, "label", void 0);
34
36
  HelixHeadlessMapLandcover = __decorate([
@@ -12,7 +12,8 @@ import { type PropertyValues, type TemplateResult } from 'lit';
12
12
  * `name`, or its `label` if it has no name.
13
13
  *
14
14
  * All the markers in a map share one tab stop. The arrow keys move between
15
- * them in the order they are written.
15
+ * them in the order they are written. Taking away the marker that has focus
16
+ * moves focus to the next one, or to the one before where it was the last.
16
17
  *
17
18
  * @since 0.105.0
18
19
  * @status experimental
@@ -40,6 +41,11 @@ import { type PropertyValues, type TemplateResult } from 'lit';
40
41
  * @cssstate start - Shows its name before the point, because there was no room after it.
41
42
  */
42
43
  export declare class HelixHeadlessMapMarker extends HelixElement {
44
+ /**
45
+ * The key this part's words are registered under, its styled tag:
46
+ * `registerWords('de', { 'helix-map-marker': { passedLabel: '{label}, besucht' } })`.
47
+ */
48
+ static words: string;
43
49
  /**
44
50
  * @internal Whether the map's one tab stop is on this marker, written by the
45
51
  * frame. Not a consumer's to set: the frame keeps exactly one.
@@ -104,7 +110,12 @@ export declare class HelixHeadlessMapMarker extends HelixElement {
104
110
  * drawn muted, and its name is followed by `passed-label`.
105
111
  */
106
112
  passed: boolean;
107
- /** The word added after a passed place's name. Defaults to "passed". */
113
+ /**
114
+ * What a passed place is called. `{label}` is its name.
115
+ *
116
+ * A word without `{label}`, such as `visited`, is written after the name
117
+ * with a comma, as before the sentence held the name.
118
+ */
108
119
  passedLabel: string;
109
120
  /** Whether focus is on this marker as it is gathered, and so has to move on. */
110
121
  private handingOver;
@@ -124,6 +135,11 @@ export declare class HelixHeadlessMapMarker extends HelixElement {
124
135
  extent(): number;
125
136
  /** Focuses the marker's button. The host draws no box of its own. */
126
137
  focus(options?: FocusOptions): void;
138
+ /**
139
+ * A passed place's name in `passed-label`, or followed by a page's word
140
+ * that does not hold `{label}`.
141
+ */
142
+ private passedSaid;
127
143
  protected render(): TemplateResult;
128
144
  }
129
145
  declare global {
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { customElement, HelixElement, HelixMapPartChangeEvent, PlacementController, } from '@fusion.dev/helix-core';
7
+ import { customElement, formatNumber, formatWords, HelixElement, HelixMapPartChangeEvent, PlacementController, words, wordsLocale, } from '@fusion.dev/helix-core';
8
8
  import { html, nothing } from 'lit';
9
9
  import { property, state } from 'lit/decorators.js';
10
10
  const BOOKKEEPING = new Set([
@@ -28,9 +28,10 @@ let HelixHeadlessMapMarker = class HelixHeadlessMapMarker extends HelixElement {
28
28
  this.placement = new PlacementController(this);
29
29
  this.name = '';
30
30
  this.passed = false;
31
- this.passedLabel = 'passed';
31
+ this.passedLabel = '{label}, passed';
32
32
  this.handingOver = false;
33
33
  }
34
+ static { this.words = 'helix-map-marker'; }
34
35
  place(properties) {
35
36
  this.placement.set(properties);
36
37
  this.toggleState('placed', this.placement.get('--_map-marker-x') !== undefined);
@@ -75,12 +76,18 @@ let HelixHeadlessMapMarker = class HelixHeadlessMapMarker extends HelixElement {
75
76
  focus(options) {
76
77
  this.partNamed('marker')?.focus(options);
77
78
  }
79
+ passedSaid(name) {
80
+ return this.passedLabel.includes('{label}')
81
+ ? formatWords(this, 'passedLabel', { label: name })
82
+ : html `${name}, ${this.passedLabel}`;
83
+ }
78
84
  render() {
79
85
  const cluster = this.gathered.length > 1;
80
- const lang = cluster ? this.closest('[lang]')?.getAttribute('lang') || undefined : undefined;
86
+ const locale = cluster ? wordsLocale(this) : '';
87
+ const name = this.label ?? '';
81
88
  return html `<span part="marker" role="button" tabindex=${this.current ? '0' : '-1'} ?hidden=${this.gatheredBy !== undefined}>
82
- <span part="point" aria-hidden="true">${cluster ? new Intl.NumberFormat(lang).format(this.gathered.length) : nothing}<slot name="icon" ?hidden=${cluster} @slotchange=${() => this.requestUpdate()}></slot></span>
83
- <span part="label">${cluster ? new Intl.ListFormat(lang, { type: 'conjunction' }).format(this.gathered) : this.passed ? `${this.label ?? ''}, ${this.passedLabel}` : (this.label ?? '')}</span>
89
+ <span part="point" aria-hidden="true">${cluster ? formatNumber(this.gathered.length, locale) : nothing}<slot name="icon" ?hidden=${cluster} @slotchange=${() => this.requestUpdate()}></slot></span>
90
+ <span part="label">${cluster ? new Intl.ListFormat(locale, { type: 'conjunction' }).format(this.gathered) : this.passed ? this.passedSaid(name) : name}</span>
84
91
  </span>`;
85
92
  }
86
93
  };
@@ -118,6 +125,7 @@ __decorate([
118
125
  property({ type: Boolean })
119
126
  ], HelixHeadlessMapMarker.prototype, "passed", void 0);
120
127
  __decorate([
128
+ words,
121
129
  property({ attribute: 'passed-label' })
122
130
  ], HelixHeadlessMapMarker.prototype, "passedLabel", void 0);
123
131
  HelixHeadlessMapMarker = __decorate([
@@ -71,6 +71,11 @@ export interface MapPointsCollection {
71
71
  * @csspart places - The group of buttons, named by the layer's label.
72
72
  */
73
73
  export declare class HelixHeadlessMapPoints extends HelixElement {
74
+ /**
75
+ * The key this part's words are registered under, its styled tag:
76
+ * `registerWords('de', { 'helix-map-points': { label: 'Orte' } })`.
77
+ */
78
+ static words: string;
74
79
  /** Combines nearby points into counts. Pressing a count zooms in to it. */
75
80
  cluster: boolean;
76
81
  /**
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { customElement, HelixActivateEvent, HelixElement, HelixMapClusterEvent, HelixMapPartChangeEvent, isRtl, } from '@fusion.dev/helix-core';
7
+ import { customElement, formatWords, HelixActivateEvent, HelixElement, HelixMapClusterEvent, HelixMapPartChangeEvent, isRtl, words, } from '@fusion.dev/helix-core';
8
8
  import { html, nothing } from 'lit';
9
9
  import { property, state } from 'lit/decorators.js';
10
10
  import { repeat } from 'lit/directives/repeat.js';
@@ -12,7 +12,7 @@ let HelixHeadlessMapPoints = class HelixHeadlessMapPoints extends HelixElement {
12
12
  constructor() {
13
13
  super(...arguments);
14
14
  this.cluster = false;
15
- this.countLabel = '{count} places';
15
+ this.countLabel = '{count, plural, one {# place} other {# places}}';
16
16
  this.isMapLayer = true;
17
17
  this.label = 'Places';
18
18
  this.layerKind = 'points';
@@ -64,10 +64,10 @@ let HelixHeadlessMapPoints = class HelixHeadlessMapPoints extends HelixElement {
64
64
  }
65
65
  };
66
66
  }
67
+ static { this.words = 'helix-map-points'; }
67
68
  nameOf(one) {
68
69
  if (one.count !== undefined) {
69
- const lang = this.closest('[lang]')?.getAttribute('lang') || undefined;
70
- return this.countLabel.replace('{count}', new Intl.NumberFormat(lang).format(one.count));
70
+ return formatWords(this, 'countLabel', { count: one.count });
71
71
  }
72
72
  return one.label || one.value || '';
73
73
  }
@@ -130,6 +130,7 @@ __decorate([
130
130
  property({ type: Boolean })
131
131
  ], HelixHeadlessMapPoints.prototype, "cluster", void 0);
132
132
  __decorate([
133
+ words,
133
134
  property({ attribute: 'count-label' })
134
135
  ], HelixHeadlessMapPoints.prototype, "countLabel", void 0);
135
136
  __decorate([
@@ -142,6 +143,7 @@ __decorate([
142
143
  property()
143
144
  ], HelixHeadlessMapPoints.prototype, "group", void 0);
144
145
  __decorate([
146
+ words,
145
147
  property()
146
148
  ], HelixHeadlessMapPoints.prototype, "label", void 0);
147
149
  __decorate([
@@ -32,6 +32,11 @@ import { type PropertyValues, type TemplateResult } from 'lit';
32
32
  * @cssstate placed - Placed on the map by the connector.
33
33
  */
34
34
  export declare class HelixHeadlessMapPosition extends HelixElement {
35
+ /**
36
+ * The key this part's words are registered under, its styled tag:
37
+ * `registerWords('de', { 'helix-map-position': { label: 'Aktueller Standort' } })`.
38
+ */
39
+ static words: string;
35
40
  /** How accurate the position is, in meters. Drawn as a ring with this radius. */
36
41
  accuracy?: number;
37
42
  /**
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { customElement, HelixElement, HelixMapPartChangeEvent, PlacementController, } from '@fusion.dev/helix-core';
7
+ import { customElement, HelixElement, HelixMapPartChangeEvent, PlacementController, words, } from '@fusion.dev/helix-core';
8
8
  import { html } from 'lit';
9
9
  import { property, state } from 'lit/decorators.js';
10
10
  let HelixHeadlessMapPosition = class HelixHeadlessMapPosition extends HelixElement {
@@ -17,6 +17,7 @@ let HelixHeadlessMapPosition = class HelixHeadlessMapPosition extends HelixEleme
17
17
  this.spoken = '';
18
18
  this.spokenAt = Number.NEGATIVE_INFINITY;
19
19
  }
20
+ static { this.words = 'helix-map-position'; }
20
21
  place(properties) {
21
22
  this.placement.set(properties);
22
23
  this.toggleState('placed', this.placement.get('--_map-position-x') !== undefined);
@@ -81,6 +82,7 @@ __decorate([
81
82
  property({ reflect: true, type: Number })
82
83
  ], HelixHeadlessMapPosition.prototype, "heading", void 0);
83
84
  __decorate([
85
+ words,
84
86
  property()
85
87
  ], HelixHeadlessMapPosition.prototype, "label", void 0);
86
88
  __decorate([
@@ -29,6 +29,11 @@ import { nothing, type PropertyValues } from 'lit';
29
29
  * @event {HelixMapPartChangeEvent} helix-map-part-change - The tiles, the frame shown, the opacity, or where the tiles are drawn changed. Used by `connectMap`; pages do not need to listen for it.
30
30
  */
31
31
  export declare class HelixHeadlessMapRaster extends HelixElement {
32
+ /**
33
+ * The key this part's words are registered under, its styled tag:
34
+ * `registerWords('de', { 'helix-map-raster': { label: 'Überlagerung' } })`.
35
+ */
36
+ static words: string;
32
37
  /** The tile provider's credit, shown in the frame's footer. Links in it stay links. */
33
38
  attribution?: string;
34
39
  /** More about the layer. Read after the label in the frame's list. */
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { customElement, HelixElement, HelixMapPartChangeEvent } from '@fusion.dev/helix-core';
7
+ import { customElement, HelixElement, HelixMapPartChangeEvent, words } from '@fusion.dev/helix-core';
8
8
  import { nothing } from 'lit';
9
9
  import { property } from 'lit/decorators.js';
10
10
  const framesConverter = {
@@ -22,6 +22,7 @@ let HelixHeadlessMapRaster = class HelixHeadlessMapRaster extends HelixElement {
22
22
  this.opacity = 0.7;
23
23
  this.playing = false;
24
24
  }
25
+ static { this.words = 'helix-map-raster'; }
25
26
  connectedCallback() {
26
27
  super.connectedCallback();
27
28
  if (this.hasUpdated) {
@@ -83,6 +84,7 @@ __decorate([
83
84
  property({ type: Number })
84
85
  ], HelixHeadlessMapRaster.prototype, "interval", void 0);
85
86
  __decorate([
87
+ words,
86
88
  property()
87
89
  ], HelixHeadlessMapRaster.prototype, "label", void 0);
88
90
  __decorate([
@@ -1,4 +1,4 @@
1
- import { HelixElement, KeyboardNavigationController, type ViewportControlsPlacement, type ViewportGestureLabels, type ViewportPanDetail, type ViewportZoomDetail } from '@fusion.dev/helix-core';
1
+ import { HelixElement, KeyboardNavigationController, type ViewportControlsPlacement, type ViewportPanDetail, type ViewportZoomDetail } from '@fusion.dev/helix-core';
2
2
  import { nothing, type PropertyValues, type TemplateResult } from 'lit';
3
3
  /**
4
4
  * What `ViewportControlsPlacement` is called for a map.
@@ -67,8 +67,20 @@ declare const HelixHeadlessMap_base: (new (...args: any[]) => import("@fusion.de
67
67
  *
68
68
  * @slot - The element your renderer draws the map in, and the map's markers, routes, areas, positions, and points layers.
69
69
  * @slot attribution - The map credit, which most tile licenses require.
70
+ * @slot face-north-icon - Replaces the compass needle. It inherits `--map-needle-turn`, so `rotate: var(--map-needle-turn)` keeps it pointing north.
70
71
  * @slot footer - Content below the map, such as a legend or a scale.
72
+ * @slot fullscreen-icon - Replaces the glyph inside the fullscreen button.
71
73
  * @slot header - Content above the map, such as a title or a search field.
74
+ * @slot layers-icon - Replaces the glyph inside the layers button.
75
+ * @slot pan-down-icon - Replaces the glyph inside the pan down button.
76
+ * @slot pan-end-icon - Replaces the glyph inside the button that pans toward the end of a line of text.
77
+ * @slot pan-start-icon - Replaces the glyph inside the button that pans toward the start of a line of text.
78
+ * @slot pan-up-icon - Replaces the glyph inside the pan up button.
79
+ * @slot rotate-left-icon - Replaces the glyph inside the rotate left button.
80
+ * @slot rotate-right-icon - Replaces the glyph inside the rotate right button.
81
+ * @slot tilt-icon - Replaces the "3D" inside the 3D button.
82
+ * @slot zoom-in-icon - Replaces the glyph inside the zoom-in button.
83
+ * @slot zoom-out-icon - Replaces the glyph inside the zoom-out button.
72
84
  *
73
85
  * @event {Event} change - The layers menu changed the map type, which `map-type` now holds.
74
86
  * @event {HelixActivateEvent} helix-activate - A marker was pressed. The value is the marker's `name`, or its `label` if it has no name. A cluster sends `helix-map-cluster` instead.
@@ -122,11 +134,24 @@ declare const HelixHeadlessMap_base: (new (...args: any[]) => import("@fusion.de
122
134
  *
123
135
  * @cssstate fullscreen - The map fills the screen.
124
136
  * @cssstate idle - The user has been still long enough for the header and footer to fade.
137
+ * @cssstate layers-open - The layers menu is open.
125
138
  * @cssstate ready - The map has been drawn whole, after `helix-map-ready`.
139
+ * @cssstate rotated - The map is turned away from north, by `bearing`.
126
140
  * @cssstate sharing - The page keeps the plain wheel and one finger, with `gestures="cooperative"` or while a map with `gestures="activate"` waits to be pressed.
141
+ * @cssstate tilted - The map is tilted by `pitch`, so it no longer looks straight down.
127
142
  * @cssstate using - A map with `gestures="activate"` has been pressed and has the gestures.
128
143
  */
129
144
  export declare class HelixHeadlessMap extends HelixHeadlessMap_base {
145
+ /**
146
+ * The key this family's words are registered under, its styled tag:
147
+ * `registerWords('de', { 'helix-map': { layersLabel: 'Kartenebenen' } })`.
148
+ */
149
+ static words: string;
150
+ /**
151
+ * The hint shown when the map, waiting to be pressed with
152
+ * `gestures="activate"`, is scrolled or swiped over.
153
+ */
154
+ activateHintLabel: string;
130
155
  /**
131
156
  * The map's rotation, in degrees clockwise from north. `connectMap` keeps it
132
157
  * current, and the Face north button's needle turns with it.
@@ -137,8 +162,15 @@ export declare class HelixHeadlessMap extends HelixHeadlessMap_base {
137
162
  * the map zooms in, and pressing one zooms in to its places.
138
163
  */
139
164
  cluster: boolean;
165
+ /**
166
+ * The name of the group of controls, read by screen readers, which names
167
+ * what the controls drive rather than the mechanism.
168
+ */
169
+ controlsLabel: string;
140
170
  /** The Face north button's label. */
141
171
  faceNorthLabel: string;
172
+ /** The map's name where `label` is empty and the host has no `aria-label`. */
173
+ fallbackLabel: string;
142
174
  /** What screen readers hear when the map is tilted back to looking straight down. */
143
175
  flatLabel: string;
144
176
  /** The Hybrid map type's name. */
@@ -192,18 +224,30 @@ export declare class HelixHeadlessMap extends HelixHeadlessMap_base {
192
224
  standardLabel: string;
193
225
  /**
194
226
  * What screen readers hear when the map is tilted. `{degrees}` is the tilt
195
- * from looking straight down.
227
+ * from looking straight down, written in the locale, and each language
228
+ * writes the forms it has.
196
229
  */
197
230
  tiltedLabel: string;
198
231
  /** The 3D button's label. */
199
232
  tiltLabel: string;
200
233
  /**
201
234
  * What screen readers hear when the map is turned. `{degrees}` is the way the
202
- * top of the map faces, clockwise from north.
235
+ * top of the map faces, clockwise from north, written in the locale, and
236
+ * each language writes the forms it has.
203
237
  */
204
238
  turnedLabel: string;
239
+ /** The hint shown when one finger swipes over the map with `gestures="cooperative"`. */
240
+ twoFingerHintLabel: string;
241
+ /** The line shown while the map, with `gestures="activate"`, has the gestures. */
242
+ usingLabel: string;
243
+ /**
244
+ * The hint shown when the wheel scrolls past the map with
245
+ * `gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere.
246
+ */
247
+ wheelHintLabel: string;
205
248
  /**
206
- * What screen readers hear after a zoom. `{level}` is the zoom level.
249
+ * What screen readers hear after a zoom. `{level}` is the zoom level,
250
+ * written in the locale.
207
251
  */
208
252
  zoomedLabel: string;
209
253
  /**
@@ -323,8 +367,31 @@ export declare class HelixHeadlessMap extends HelixHeadlessMap_base {
323
367
  protected readonly keys: KeyboardNavigationController;
324
368
  /** The marker a press or a click came from, where it came from one. */
325
369
  private markerOf;
370
+ /**
371
+ * The marker focus is on, while it is.
372
+ *
373
+ * **Kept so a marker the page takes away hands focus on.** A delivery done
374
+ * or a filter changed removes a marker, and the one a reader was on went
375
+ * with focus still in it: the browser dropped focus to the page, and the
376
+ * reader was put back at its top with nothing said.
377
+ */
378
+ private focused;
326
379
  /** Moves the tab stop to the marker focus arrived at. */
327
380
  private readonly handleFocusIn;
381
+ /**
382
+ * Forgets the marker focus left, unless the page took it away.
383
+ *
384
+ * Focus leaving for nothing is a press on the page or the marker removed,
385
+ * and which one is known once the removal has finished: a marker still in
386
+ * the page was left, and one gone is owed a place for focus to land.
387
+ */
388
+ private readonly handleFocusOut;
389
+ /**
390
+ * Gives focus to the marker that took the stop of one the page took away
391
+ * with focus on it: the next, the last where it was the last, its cluster
392
+ * where it is gathered, and the region where none is left.
393
+ */
394
+ private refocus;
328
395
  /**
329
396
  * Says a marker was pressed, by click, Enter or Space: a place by its name,
330
397
  * and a cluster as a cluster, from the marker it is drawn as.
@@ -338,8 +405,6 @@ export declare class HelixHeadlessMap extends HelixHeadlessMap_base {
338
405
  */
339
406
  private readonly handleMarkerKeydown;
340
407
  private readonly handleMarkerKeyup;
341
- /** What the map says about its gestures where the page does not say it. */
342
- protected get restingGestureLabels(): ViewportGestureLabels;
343
408
  /** Which gestures the renderer takes, which `connectMap` hears from here. */
344
409
  protected gesturesChanged(): void;
345
410
  /** A marker added or taken away is a walk of a different length. */
@@ -376,7 +441,7 @@ export declare class HelixHeadlessMap extends HelixHeadlessMap_base {
376
441
  * order they are written, with its picture and name, pressed while it is
377
442
  * shown. A group's tile is pressed while any of its layers is shown.
378
443
  */
379
- private renderLayersMenu;
444
+ protected renderLayersMenu(): TemplateResult | typeof nothing;
380
445
  /**
381
446
  * The map types, as cards with a picture of the map in each: Standard,
382
447
  * Hybrid, and Satellite. One is chosen, so they are radio buttons, and the
@@ -392,7 +457,7 @@ export declare class HelixHeadlessMap extends HelixHeadlessMap_base {
392
457
  * arrows around it are the way to move and turn the map without dragging,
393
458
  * which a pointer otherwise needs.
394
459
  */
395
- private renderCompass;
460
+ protected renderCompass(pan: boolean, rotate: boolean): TemplateResult;
396
461
  /**
397
462
  * The controls, in one column in the order they are read: fullscreen, the
398
463
  * layers, 3D, zoom, and the compass with the arrows round it, last, where
@@ -414,14 +479,6 @@ export declare class HelixHeadlessMap extends HelixHeadlessMap_base {
414
479
  /** The events this family names, the surface naming none of its own. */
415
480
  protected panEvent(detail: ViewportPanDetail): Event;
416
481
  protected zoomEvent(detail: ViewportZoomDetail): Event;
417
- /**
418
- * What the group of controls is called.
419
- *
420
- * The surface is shared and this is the half that is a map: a reader meeting
421
- * the group hears what it drives rather than "view controls", which names the
422
- * mechanism.
423
- */
424
- protected get restingControlsLabel(): string;
425
482
  protected willUpdate(changed: PropertyValues): void;
426
483
  /**
427
484
  * The routes and areas, named, for a reader who cannot see the map.