@fusion.dev/helix-headless 0.105.0 → 0.106.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.
- package/custom-elements.json +7324 -3890
- package/dist/accordion/item/accordion-item.d.ts +17 -16
- package/dist/accordion/root/accordion-root.d.ts +13 -17
- package/dist/announcement/root/announcement-root.d.ts +24 -31
- package/dist/app-header/root/app-header-root.d.ts +14 -14
- package/dist/area-chart/root/area-chart-root.d.ts +29 -48
- package/dist/avatar/group/avatar-group.d.ts +6 -8
- package/dist/avatar/root/avatar-root.d.ts +11 -11
- package/dist/badge/root/badge-root.d.ts +14 -15
- package/dist/bar-chart/root/bar-chart-root.d.ts +40 -44
- package/dist/blockquote/root/blockquote-root.d.ts +5 -7
- package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +25 -33
- package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +12 -11
- package/dist/button/root/button-root.d.ts +16 -17
- package/dist/button-group/root/button-group-root.d.ts +9 -10
- package/dist/callout/root/callout-root.d.ts +10 -15
- package/dist/canvas/edge/canvas-edge.d.ts +21 -21
- package/dist/canvas/node/canvas-node.d.ts +43 -45
- package/dist/canvas/root/canvas-root.d.ts +100 -99
- package/dist/card/root/card-root.d.ts +10 -12
- package/dist/carousel/root/carousel-root.d.ts +32 -33
- package/dist/chat/composer/chat-composer.d.ts +24 -26
- package/dist/chat/message/chat-message.d.ts +30 -33
- package/dist/chat/root/chat-root.d.ts +63 -80
- package/dist/checkbox/root/checkbox-root.d.ts +30 -32
- package/dist/checkbox-group/root/checkbox-group-root.d.ts +25 -25
- package/dist/code/root/code-root.d.ts +6 -10
- package/dist/code-block/root/code-block-root.d.ts +35 -48
- package/dist/color-input/root/color-input-root.d.ts +52 -56
- package/dist/color-picker/root/color-picker-root.d.ts +49 -49
- package/dist/combobox/root/combobox-root.d.ts +52 -53
- package/dist/command/root/command-root.d.ts +35 -40
- package/dist/copy-button/root/copy-button-root.d.ts +24 -26
- package/dist/data-table/root/data-table-root.d.ts +106 -107
- package/dist/date-input/root/date-input-root.d.ts +54 -53
- package/dist/date-picker/root/date-picker-root.d.ts +25 -21
- package/dist/description-list/item/description-list-item.d.ts +7 -7
- package/dist/description-list/root/description-list-root.d.ts +10 -15
- package/dist/dialog/root/dialog-root.d.ts +22 -19
- package/dist/divider/root/divider-root.d.ts +12 -13
- package/dist/donut-chart/root/donut-chart-root.d.ts +19 -20
- package/dist/drawer/root/drawer-root.d.ts +19 -18
- package/dist/drilldown/item/drilldown-item.d.ts +28 -28
- package/dist/drilldown/root/drilldown-root.d.ts +22 -28
- package/dist/element-events.generated.js +7 -0
- package/dist/empty/root/empty-root.d.ts +16 -19
- package/dist/file-input/root/file-input-root.d.ts +32 -32
- package/dist/filter-input/chip/filter-chip.d.ts +36 -39
- package/dist/filter-input/field/filter-field.d.ts +25 -31
- package/dist/filter-input/menu/filter-menu.d.ts +50 -47
- package/dist/filter-input/operator/filter-operator.d.ts +15 -20
- package/dist/filter-input/root/filter-input-root.d.ts +80 -98
- package/dist/format-date/root/format-date-root.d.ts +19 -27
- package/dist/heatmap/root/heatmap-root.d.ts +40 -41
- package/dist/icon/root/icon-root.d.ts +21 -23
- package/dist/icon-button/root/icon-button-root.d.ts +12 -14
- package/dist/image/root/image-root.d.ts +30 -30
- package/dist/input/root/input-root.d.ts +36 -35
- package/dist/kbd/root/kbd-root.d.ts +13 -15
- package/dist/legend/root/legend-root.d.ts +18 -16
- package/dist/lightbox/item/lightbox-item.d.ts +13 -15
- package/dist/lightbox/root/lightbox-root.d.ts +40 -41
- package/dist/line-chart/root/line-chart-root.d.ts +20 -29
- package/dist/list/item/list-item.d.ts +17 -22
- package/dist/list/root/list-root.d.ts +6 -7
- package/dist/listbox/root/listbox-root.d.ts +42 -41
- package/dist/loader/root/loader-root.d.ts +16 -20
- package/dist/map/area/map-area.d.ts +6 -0
- package/dist/map/area/map-area.js +3 -0
- package/dist/map/buildings/map-buildings.d.ts +45 -0
- package/dist/map/buildings/map-buildings.js +37 -0
- package/dist/map/contours/map-contours.d.ts +61 -0
- package/dist/map/contours/map-contours.js +54 -0
- package/dist/map/index.d.ts +7 -0
- package/dist/map/index.js +5 -0
- package/dist/map/landcover/map-landcover.d.ts +47 -0
- package/dist/map/landcover/map-landcover.js +37 -0
- package/dist/map/marker/map-marker.d.ts +11 -4
- package/dist/map/marker/map-marker.js +13 -1
- package/dist/map/points/map-points.d.ts +7 -1
- package/dist/map/points/map-points.js +3 -0
- package/dist/map/raster/map-raster.d.ts +84 -0
- package/dist/map/raster/map-raster.js +96 -0
- package/dist/map/root/map-root.d.ts +169 -7
- package/dist/map/root/map-root.js +352 -4
- package/dist/map/route/map-route.d.ts +6 -0
- package/dist/map/route/map-route.js +3 -0
- package/dist/map/terrain/map-terrain.d.ts +68 -0
- package/dist/map/terrain/map-terrain.js +58 -0
- package/dist/megamenu/root/megamenu-root.d.ts +27 -25
- package/dist/menu/item/menu-item.d.ts +30 -31
- package/dist/menu/root/menu-root.d.ts +25 -29
- package/dist/meter/root/meter-root.d.ts +22 -21
- package/dist/navigation/root/navigation-root.d.ts +13 -16
- package/dist/notifications/group/notification-group.d.ts +27 -28
- package/dist/notifications/notification/notification.d.ts +35 -42
- package/dist/notifications/root/notifications-root.d.ts +22 -24
- package/dist/number-input/root/number-input-root.d.ts +46 -50
- package/dist/object-inspector/root/object-inspector-root.d.ts +46 -58
- package/dist/option/group/option-group.d.ts +11 -11
- package/dist/option/root/option-root.d.ts +28 -33
- package/dist/outline/root/outline-root.d.ts +18 -17
- package/dist/pagination/root/pagination-root.d.ts +37 -39
- package/dist/pagination/size/pagination-size.d.ts +37 -43
- package/dist/pagination/summary/pagination-summary.d.ts +12 -14
- package/dist/pin-input/root/pin-input-root.d.ts +32 -38
- package/dist/popover/root/popover-root.d.ts +16 -21
- package/dist/progress/root/progress-root.d.ts +16 -14
- package/dist/qr-code/root/qr-code-root.d.ts +22 -25
- package/dist/quote/root/quote-root.d.ts +5 -6
- package/dist/radio/group/radio-group.d.ts +26 -28
- package/dist/radio/root/radio-root.d.ts +24 -28
- package/dist/rating/root/rating-root.d.ts +27 -30
- package/dist/scatter-chart/root/scatter-chart-root.d.ts +43 -55
- package/dist/scroll-area/root/scroll-area-root.d.ts +15 -21
- package/dist/select/root/select-root.d.ts +41 -44
- package/dist/skeleton/root/skeleton-root.d.ts +7 -8
- package/dist/skip-link/root/skip-link-root.d.ts +21 -28
- package/dist/slider/root/slider-root.d.ts +36 -39
- package/dist/sparkline/root/sparkline-root.d.ts +22 -28
- package/dist/speed-dial/item/speed-dial-item.d.ts +21 -21
- package/dist/speed-dial/root/speed-dial-root.d.ts +25 -27
- package/dist/splitter/root/splitter-root.d.ts +37 -41
- package/dist/stat/group/stat-group.d.ts +4 -4
- package/dist/stat/root/stat-root.d.ts +8 -9
- package/dist/steps/root/steps-root.d.ts +11 -14
- package/dist/steps/step/step.d.ts +22 -29
- package/dist/switch/root/switch-root.d.ts +20 -24
- package/dist/table/cell/table-cell.d.ts +18 -8
- package/dist/table/cell/table-cell.js +5 -1
- package/dist/table/column/table-column.d.ts +62 -55
- package/dist/table/root/table-root.d.ts +16 -17
- package/dist/table/row/table-row.d.ts +3 -3
- package/dist/tabs/panel/tab-panel.d.ts +3 -3
- package/dist/tabs/root/tabs-root.d.ts +19 -17
- package/dist/tabs/tab/tab.d.ts +6 -6
- package/dist/tag/root/tag-root.d.ts +11 -12
- package/dist/textarea/root/textarea-root.d.ts +29 -32
- package/dist/time-input/root/time-input-root.d.ts +70 -69
- package/dist/time-picker/root/time-picker-root.d.ts +58 -66
- package/dist/timeline/item/timeline-item.d.ts +18 -24
- package/dist/timeline/root/timeline-root.d.ts +13 -21
- package/dist/toast/item/toast-item.d.ts +21 -22
- package/dist/toast/root/toast-root.d.ts +18 -23
- package/dist/toggle/group/toggle-group.d.ts +23 -25
- package/dist/toggle/root/toggle-root.d.ts +8 -8
- package/dist/toolbar/root/toolbar-root.d.ts +7 -10
- package/dist/tooltip/root/tooltip-root.d.ts +41 -47
- package/dist/tour/root/tour-root.d.ts +24 -26
- package/dist/tour/stop/tour-stop.d.ts +39 -48
- package/dist/tree/item/tree-item.d.ts +23 -25
- package/dist/tree/root/tree-root.d.ts +13 -12
- package/dist/trend/root/trend-root.d.ts +18 -19
- package/dist/video/root/video-root.d.ts +108 -101
- package/dist/video-playlist/item/video-playlist-item.d.ts +23 -28
- package/dist/video-playlist/menu/video-playlist-menu.d.ts +17 -21
- package/dist/video-playlist/root/video-playlist-root.d.ts +21 -25
- package/dist/virtual-list/root/virtual-list-root.d.ts +27 -26
- package/package.json +5 -5
- package/types/jsx.d.ts +10363 -9520
- package/types/svelte.d.ts +5 -0
- package/types/vue.d.ts +1440 -1032
|
@@ -3,22 +3,22 @@ import { type PropertyValues, type TemplateResult } from 'lit';
|
|
|
3
3
|
import { HelixHeadlessOption } from '../../option/root/option-root.js';
|
|
4
4
|
declare const HelixHeadlessListbox_base: (new (...args: any[]) => import("@fusion.dev/helix-core").CollectionElement) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerValueInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinFieldInterface) & typeof HelixFormElement;
|
|
5
5
|
/**
|
|
6
|
-
* @summary A list of options,
|
|
6
|
+
* @summary A list of options, from which you choose one or several.
|
|
7
7
|
*
|
|
8
8
|
* @description
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* The listbox is the control, and options are its items. A Select is a listbox
|
|
10
|
+
* with a trigger in front of it, a Combobox is a listbox with a text input, and
|
|
11
|
+
* a command palette is a listbox in a dialog. They differ only in what opens
|
|
12
|
+
* the list and what filters it.
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
* `Checkbox.Group`'s
|
|
16
|
-
*
|
|
17
|
-
*
|
|
14
|
+
* With `multiple` set, `value` is a comma-separated string, like
|
|
15
|
+
* `Checkbox.Group`'s, because `MixinControllerValue` holds a string. The form
|
|
16
|
+
* receives one entry per selected option, as a native `<select multiple>` sends
|
|
17
|
+
* it, so your server does not split on commas.
|
|
18
18
|
*
|
|
19
|
-
*
|
|
20
|
-
* is where the keyboard is
|
|
21
|
-
* `aria-activedescendant`
|
|
19
|
+
* Selected and active are separate. The selected option is the value. The
|
|
20
|
+
* active option is where the keyboard is: the arrow keys move it, and
|
|
21
|
+
* `aria-activedescendant` points to it while focus stays on the list.
|
|
22
22
|
*
|
|
23
23
|
* @since 0.1.0
|
|
24
24
|
* @status stable
|
|
@@ -27,28 +27,28 @@ declare const HelixHeadlessListbox_base: (new (...args: any[]) => import("@fusio
|
|
|
27
27
|
* @documentation https://fusion.dev/helix/components/listbox
|
|
28
28
|
*
|
|
29
29
|
* @slot - The options, and any groups of them.
|
|
30
|
-
* @slot filter-icon - The
|
|
31
|
-
* @slot hint -
|
|
32
|
-
* @slot label -
|
|
30
|
+
* @slot filter-icon - The icon in the filter field. Defaults to a magnifying glass.
|
|
31
|
+
* @slot hint - The hint, for content richer than plain text.
|
|
32
|
+
* @slot label - The label, for content richer than plain text.
|
|
33
33
|
*
|
|
34
|
-
* @event {Event} change -
|
|
35
|
-
* @event {HelixBeforeChangeEvent} helix-before-change - Fired when the
|
|
36
|
-
* @event {HelixFilterEvent} helix-filter - Fired before the list
|
|
37
|
-
* @event {Event} input -
|
|
34
|
+
* @event {Event} change - Fired after the value changes.
|
|
35
|
+
* @event {HelixBeforeChangeEvent} helix-before-change - Fired when the value is about to change, and cancelable.
|
|
36
|
+
* @event {HelixFilterEvent} helix-filter - Fired before the list is filtered, and cancelable.
|
|
37
|
+
* @event {Event} input - Fired after the value changes.
|
|
38
38
|
*
|
|
39
|
-
* @csspart empty -
|
|
40
|
-
* @csspart feedback -
|
|
41
|
-
* @csspart filter-icon - The
|
|
42
|
-
* @csspart filter-mark - The
|
|
39
|
+
* @csspart empty - The text shown when the filter hides every option.
|
|
40
|
+
* @csspart feedback - The message that says what is wrong with the value.
|
|
41
|
+
* @csspart filter-icon - The icon beside the filter field.
|
|
42
|
+
* @csspart filter-mark - The default icon beside the filter field, shown when none is slotted.
|
|
43
43
|
* @csspart hint - Help under the list.
|
|
44
|
-
* @csspart items - The list
|
|
45
|
-
* @csspart label - The
|
|
46
|
-
* @csspart live -
|
|
47
|
-
* @csspart loading -
|
|
48
|
-
* @csspart search - The region
|
|
49
|
-
* @csspart search-field - The field
|
|
44
|
+
* @csspart items - The list of options.
|
|
45
|
+
* @csspart label - The label above the list.
|
|
46
|
+
* @csspart live - A copy of the empty and loading text, in a region that screen readers announce when it changes. Visually hidden in the styled tier.
|
|
47
|
+
* @csspart loading - The text shown while the options load.
|
|
48
|
+
* @csspart search - The region that holds the filter field.
|
|
49
|
+
* @csspart search-field - The filter field.
|
|
50
50
|
*
|
|
51
|
-
* @cssstate invalid -
|
|
51
|
+
* @cssstate invalid - The control has an error to show, from the browser's validation or from your `feedback`.
|
|
52
52
|
*/
|
|
53
53
|
export declare class HelixHeadlessListbox extends HelixHeadlessListbox_base {
|
|
54
54
|
protected readonly aria: AriaForwardController;
|
|
@@ -62,11 +62,11 @@ export declare class HelixHeadlessListbox extends HelixHeadlessListbox_base {
|
|
|
62
62
|
*/
|
|
63
63
|
autocomplete: string;
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
65
|
+
* The filter text the list starts with, when `filter` is not set.
|
|
66
66
|
*/
|
|
67
67
|
defaultFilter: string;
|
|
68
68
|
/**
|
|
69
|
-
*
|
|
69
|
+
* The text shown when the filter hides every option.
|
|
70
70
|
*
|
|
71
71
|
* From `MixinCollection`, which every collection in the library now shares,
|
|
72
72
|
* and re-declared here only to keep this list's own wording: "No matches" is
|
|
@@ -77,7 +77,7 @@ export declare class HelixHeadlessListbox extends HelixHeadlessListbox_base {
|
|
|
77
77
|
/** What the list is narrowed to, whoever set it. */
|
|
78
78
|
private filterState;
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
80
|
+
* The text the list is filtered by, if any.
|
|
81
81
|
*
|
|
82
82
|
* Filtering hides rather than removes, so nothing about the value changes and
|
|
83
83
|
* the list is still the consumer's own elements in their own order. Reading
|
|
@@ -87,7 +87,7 @@ export declare class HelixHeadlessListbox extends HelixHeadlessListbox_base {
|
|
|
87
87
|
get filter(): string;
|
|
88
88
|
set filter(next: string);
|
|
89
89
|
/**
|
|
90
|
-
* Whether the list
|
|
90
|
+
* Whether the list shows a field for filtering it.
|
|
91
91
|
*
|
|
92
92
|
* The field lives here rather than in whatever frames the list, because the
|
|
93
93
|
* filtering already does: `filter`, the empty state and the keyboard are all
|
|
@@ -96,11 +96,11 @@ export declare class HelixHeadlessListbox extends HelixHeadlessListbox_base {
|
|
|
96
96
|
*/
|
|
97
97
|
filterable: boolean;
|
|
98
98
|
/**
|
|
99
|
-
* Placeholder for the field
|
|
99
|
+
* Placeholder text for the filter field.
|
|
100
100
|
*/
|
|
101
101
|
filterLabel: string;
|
|
102
102
|
/**
|
|
103
|
-
* Whether more than one option can be
|
|
103
|
+
* Whether more than one option can be chosen.
|
|
104
104
|
*/
|
|
105
105
|
multiple: boolean;
|
|
106
106
|
/**
|
|
@@ -151,14 +151,15 @@ export declare class HelixHeadlessListbox extends HelixHeadlessListbox_base {
|
|
|
151
151
|
get selectedIndex(): number;
|
|
152
152
|
set selectedIndex(at: number);
|
|
153
153
|
/**
|
|
154
|
-
*
|
|
154
|
+
* The kind of list, as the platform names it: `select-one` or
|
|
155
|
+
* `select-multiple`.
|
|
155
156
|
*
|
|
156
157
|
* Derived rather than declared, because `multiple` already decides it and a
|
|
157
158
|
* second property could disagree.
|
|
158
159
|
*/
|
|
159
160
|
get type(): string;
|
|
160
161
|
/**
|
|
161
|
-
* Every option, in the order
|
|
162
|
+
* Every option, in the order they appear.
|
|
162
163
|
*
|
|
163
164
|
* Descendants rather than children, because a group puts a level between the
|
|
164
165
|
* list and its options and the keyboard has to move through a grouped list
|
|
@@ -179,7 +180,7 @@ export declare class HelixHeadlessListbox extends HelixHeadlessListbox_base {
|
|
|
179
180
|
private get groups();
|
|
180
181
|
/** The options a filter has left showing. */
|
|
181
182
|
private get shown();
|
|
182
|
-
/** The chosen values,
|
|
183
|
+
/** The chosen values, as an array whether or not `multiple` is set. */
|
|
183
184
|
get values(): string[];
|
|
184
185
|
/**
|
|
185
186
|
* Applies a choice, announcing first so a listener can refuse it.
|
|
@@ -219,7 +220,7 @@ export declare class HelixHeadlessListbox extends HelixHeadlessListbox_base {
|
|
|
219
220
|
*/
|
|
220
221
|
navigate(event: KeyboardEvent): void;
|
|
221
222
|
/**
|
|
222
|
-
*
|
|
223
|
+
* Scrolls the chosen option to the middle of the list.
|
|
223
224
|
*
|
|
224
225
|
* A method rather than something this does on its own, because a listbox
|
|
225
226
|
* opening on its answer usually wants it merely *visible* and the browser
|
|
@@ -266,7 +267,7 @@ export declare class HelixHeadlessListbox extends HelixHeadlessListbox_base {
|
|
|
266
267
|
* their answer moved when it did not is worse than telling them nothing.
|
|
267
268
|
*/
|
|
268
269
|
private readonly handleFilter;
|
|
269
|
-
/** Requests a
|
|
270
|
+
/** Requests a new filter, and returns whether the request went through. */
|
|
270
271
|
requestFilter(next: string): boolean;
|
|
271
272
|
/**
|
|
272
273
|
* Sends the keys that belong to the list to the list.
|
|
@@ -1,28 +1,23 @@
|
|
|
1
1
|
import { HelixElement } from '@fusion.dev/helix-core';
|
|
2
2
|
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
3
3
|
/**
|
|
4
|
-
* @summary
|
|
4
|
+
* @summary Shows that work of unknown length is in progress.
|
|
5
5
|
*
|
|
6
6
|
* @description
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* on its own, and it costs one element.
|
|
7
|
+
* Draws two concentric circles: a track and a moving arc. The track shows the
|
|
8
|
+
* arc as a proportion of a whole, and costs one element.
|
|
10
9
|
*
|
|
11
|
-
* **The center is a slot
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* wraps it. Nothing is rendered when nothing is slotted, so an unbranded loader
|
|
15
|
-
* is still two circles and no extra box.
|
|
10
|
+
* **The center is a slot, empty by default.** Put your logo there once, where
|
|
11
|
+
* your app wraps the loader. When nothing is slotted, nothing extra is
|
|
12
|
+
* rendered.
|
|
16
13
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* wordmark upside down twice a second is worse than no wordmark.
|
|
14
|
+
* Slotted content does not rotate. Only the arc moves, so a logo stays
|
|
15
|
+
* readable.
|
|
20
16
|
*
|
|
21
|
-
* The
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* never had.
|
|
17
|
+
* The role is set on the host through `ElementInternals`. A `role` in the
|
|
18
|
+
* shadow root would leave the host itself without a role in the light DOM, and
|
|
19
|
+
* a `role` attribute on the host would be missing from React server-rendered
|
|
20
|
+
* markup.
|
|
26
21
|
*
|
|
27
22
|
* @since 0.1.0
|
|
28
23
|
* @status stable
|
|
@@ -30,16 +25,17 @@ import { type PropertyValues, type TemplateResult } from 'lit';
|
|
|
30
25
|
* @aliases Spinner, Busy, Activity
|
|
31
26
|
* @documentation https://fusion.dev/helix/components/loader
|
|
32
27
|
*
|
|
33
|
-
* @slot -
|
|
28
|
+
* @slot - An icon or logo that stays still at the center. Empty by default.
|
|
34
29
|
*
|
|
35
30
|
* @csspart indicator - The arc that turns.
|
|
36
|
-
* @csspart mark - The region
|
|
31
|
+
* @csspart mark - The region that holds the slotted content at the center.
|
|
37
32
|
* @csspart svg - The rotating circle pair.
|
|
38
33
|
* @csspart track - The full circle behind the indicator.
|
|
39
34
|
*/
|
|
40
35
|
export declare class HelixHeadlessLoader extends HelixElement {
|
|
41
36
|
/**
|
|
42
|
-
*
|
|
37
|
+
* The loader's name, announced by screen readers while the work is in
|
|
38
|
+
* progress.
|
|
43
39
|
*/
|
|
44
40
|
label: string;
|
|
45
41
|
protected willUpdate(changed: PropertyValues): void;
|
|
@@ -20,6 +20,12 @@ import { type MapPoint } from '../route/map-route.js';
|
|
|
20
20
|
export declare class HelixHeadlessMapArea extends HelixElement {
|
|
21
21
|
/** More about the area. Read after its label in the frame's list. */
|
|
22
22
|
description?: string;
|
|
23
|
+
/**
|
|
24
|
+
* A name this layer shares with other layers, such as a route and its
|
|
25
|
+
* dotted legs. The layers menu shows layers in the same group as one entry,
|
|
26
|
+
* named by the first of them, and its checkbox shows or hides them all.
|
|
27
|
+
*/
|
|
28
|
+
group?: string;
|
|
23
29
|
/** Marks this as a layer for the frame and the connector, whatever its tag. */
|
|
24
30
|
readonly isMapLayer = true;
|
|
25
31
|
/** @internal Which kind of layer, which is how the connector draws it. */
|
|
@@ -25,6 +25,9 @@ let HelixHeadlessMapArea = class HelixHeadlessMapArea extends HelixElement {
|
|
|
25
25
|
__decorate([
|
|
26
26
|
property()
|
|
27
27
|
], HelixHeadlessMapArea.prototype, "description", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
property()
|
|
30
|
+
], HelixHeadlessMapArea.prototype, "group", void 0);
|
|
28
31
|
__decorate([
|
|
29
32
|
property()
|
|
30
33
|
], HelixHeadlessMapArea.prototype, "label", void 0);
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { HelixElement } from '@fusion.dev/helix-core';
|
|
2
|
+
import { nothing, type PropertyValues } from 'lit';
|
|
3
|
+
/**
|
|
4
|
+
* @summary The buildings on a map, raised to their real heights in 3D.
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* `connectMap` raises the buildings in the map's tiles to the heights the tiles
|
|
8
|
+
* record, under the map's place names. Tilt the map to see the heights. The
|
|
9
|
+
* buildings appear from zoom 13, where the tiles start to carry them.
|
|
10
|
+
*
|
|
11
|
+
* MapLibre draws the buildings. Leaflet draws maps flat, so a Leaflet map shows
|
|
12
|
+
* none. The frame lists the layer by its `label` for screen readers.
|
|
13
|
+
*
|
|
14
|
+
* @since 0.105.0
|
|
15
|
+
* @status experimental
|
|
16
|
+
* @category media
|
|
17
|
+
* @aliases 3D buildings, Extrusion
|
|
18
|
+
* @documentation https://fusion.dev/helix/components/map
|
|
19
|
+
*
|
|
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
|
+
*/
|
|
22
|
+
export declare class HelixHeadlessMapBuildings extends HelixElement {
|
|
23
|
+
/** More about the buildings. Read after the label in the frame's list. */
|
|
24
|
+
description?: string;
|
|
25
|
+
/**
|
|
26
|
+
* A name this layer shares with other layers, such as a route and its
|
|
27
|
+
* dotted legs. The layers menu shows layers in the same group as one entry,
|
|
28
|
+
* named by the first of them, and its checkbox shows or hides them all.
|
|
29
|
+
*/
|
|
30
|
+
group?: string;
|
|
31
|
+
/** Marks this as a layer for the frame and the connector, whatever its tag. */
|
|
32
|
+
readonly isMapLayer = true;
|
|
33
|
+
/** @internal Which kind of layer, which is how the connector draws it. */
|
|
34
|
+
readonly layerKind: 'buildings';
|
|
35
|
+
/** The layer's name in the frame's list. */
|
|
36
|
+
label: string;
|
|
37
|
+
/** Tells the frame and the connector the layer was renamed or recolored. */
|
|
38
|
+
protected updated(changed: PropertyValues): void;
|
|
39
|
+
protected render(): typeof nothing;
|
|
40
|
+
}
|
|
41
|
+
declare global {
|
|
42
|
+
interface HTMLElementTagNameMap {
|
|
43
|
+
'helix-headless-map-buildings': HelixHeadlessMapBuildings;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { customElement, HelixElement, HelixMapPartChangeEvent } from '@fusion.dev/helix-core';
|
|
8
|
+
import { nothing } from 'lit';
|
|
9
|
+
import { property } from 'lit/decorators.js';
|
|
10
|
+
let HelixHeadlessMapBuildings = class HelixHeadlessMapBuildings extends HelixElement {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.isMapLayer = true;
|
|
14
|
+
this.layerKind = 'buildings';
|
|
15
|
+
this.label = '3D buildings';
|
|
16
|
+
}
|
|
17
|
+
updated(changed) {
|
|
18
|
+
super.updated(changed);
|
|
19
|
+
this.dispatchEvent(new HelixMapPartChangeEvent({ kind: 'layer' }));
|
|
20
|
+
}
|
|
21
|
+
render() {
|
|
22
|
+
return nothing;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
__decorate([
|
|
26
|
+
property()
|
|
27
|
+
], HelixHeadlessMapBuildings.prototype, "description", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
property()
|
|
30
|
+
], HelixHeadlessMapBuildings.prototype, "group", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
property()
|
|
33
|
+
], HelixHeadlessMapBuildings.prototype, "label", void 0);
|
|
34
|
+
HelixHeadlessMapBuildings = __decorate([
|
|
35
|
+
customElement('helix-headless-map-buildings')
|
|
36
|
+
], HelixHeadlessMapBuildings);
|
|
37
|
+
export { HelixHeadlessMapBuildings };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { HelixElement } from '@fusion.dev/helix-core';
|
|
2
|
+
import { nothing, type PropertyValues } from 'lit';
|
|
3
|
+
import type { MapTerrainEncoding } from '../terrain/map-terrain.js';
|
|
4
|
+
/**
|
|
5
|
+
* @summary Contour lines on a map, each at one height, labeled at every fifth.
|
|
6
|
+
*
|
|
7
|
+
* @description
|
|
8
|
+
* `connectMap` traces lines of equal height from elevation tiles, the same
|
|
9
|
+
* tiles `helix-map-terrain` reads, and draws them under the roads. The lines
|
|
10
|
+
* are closer together as the map zooms in, and every fifth, the index line,
|
|
11
|
+
* is heavier and labeled with its height. They show from zoom 9.
|
|
12
|
+
*
|
|
13
|
+
* Set `src` to an elevation tile URL with `{z}`, `{x}`, and `{y}` in it, and
|
|
14
|
+
* `encoding` to how its tiles store heights. Set `unit` to `feet` to label
|
|
15
|
+
* the heights in feet. Put the provider's credit in `attribution`.
|
|
16
|
+
*
|
|
17
|
+
* MapLibre draws the lines. The frame lists the layer by its `label` for
|
|
18
|
+
* screen readers.
|
|
19
|
+
*
|
|
20
|
+
* @since 0.105.0
|
|
21
|
+
* @status experimental
|
|
22
|
+
* @category media
|
|
23
|
+
* @aliases Contours, Topographic lines, Elevation lines, Isolines
|
|
24
|
+
* @documentation https://fusion.dev/helix/components/map
|
|
25
|
+
*
|
|
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
|
+
*/
|
|
28
|
+
export declare class HelixHeadlessMapContours extends HelixElement {
|
|
29
|
+
/** The elevation provider's credit, shown in the frame's footer. Links in it stay links. */
|
|
30
|
+
attribution?: string;
|
|
31
|
+
/** More about the lines. Read after the label in the frame's list. */
|
|
32
|
+
description?: string;
|
|
33
|
+
/** How the tiles store heights in their colors: `terrarium` or `mapbox`. */
|
|
34
|
+
encoding: MapTerrainEncoding;
|
|
35
|
+
/**
|
|
36
|
+
* A name this layer shares with other layers, such as a route and its
|
|
37
|
+
* dotted legs. The layers menu shows layers in the same group as one entry,
|
|
38
|
+
* named by the first of them, and its checkbox shows or hides them all.
|
|
39
|
+
*/
|
|
40
|
+
group?: string;
|
|
41
|
+
/** Marks this as a layer for the frame and the connector, whatever its tag. */
|
|
42
|
+
readonly isMapLayer = true;
|
|
43
|
+
/** @internal Which kind of layer, which is how the connector draws it. */
|
|
44
|
+
readonly layerKind: 'contours';
|
|
45
|
+
/** The layer's name in the frame's list. */
|
|
46
|
+
label: string;
|
|
47
|
+
/** The deepest zoom the provider has tiles for. */
|
|
48
|
+
maxZoom?: number;
|
|
49
|
+
/** One elevation tile URL with `{z}`, `{x}`, and `{y}` in it. */
|
|
50
|
+
src?: string;
|
|
51
|
+
/** The unit the heights are labeled in: `meters` or `feet`. */
|
|
52
|
+
unit: 'feet' | 'meters';
|
|
53
|
+
/** Tells the frame and the connector the layer changed. */
|
|
54
|
+
protected updated(changed: PropertyValues): void;
|
|
55
|
+
protected render(): typeof nothing;
|
|
56
|
+
}
|
|
57
|
+
declare global {
|
|
58
|
+
interface HTMLElementTagNameMap {
|
|
59
|
+
'helix-headless-map-contours': HelixHeadlessMapContours;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { customElement, HelixElement, HelixMapPartChangeEvent } from '@fusion.dev/helix-core';
|
|
8
|
+
import { nothing } from 'lit';
|
|
9
|
+
import { property } from 'lit/decorators.js';
|
|
10
|
+
let HelixHeadlessMapContours = class HelixHeadlessMapContours extends HelixElement {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.encoding = 'terrarium';
|
|
14
|
+
this.isMapLayer = true;
|
|
15
|
+
this.layerKind = 'contours';
|
|
16
|
+
this.label = 'Contour lines';
|
|
17
|
+
this.unit = 'meters';
|
|
18
|
+
}
|
|
19
|
+
updated(changed) {
|
|
20
|
+
super.updated(changed);
|
|
21
|
+
this.dispatchEvent(new HelixMapPartChangeEvent({ kind: 'layer' }));
|
|
22
|
+
}
|
|
23
|
+
render() {
|
|
24
|
+
return nothing;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
__decorate([
|
|
28
|
+
property()
|
|
29
|
+
], HelixHeadlessMapContours.prototype, "attribution", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
property()
|
|
32
|
+
], HelixHeadlessMapContours.prototype, "description", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
property()
|
|
35
|
+
], HelixHeadlessMapContours.prototype, "encoding", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
property()
|
|
38
|
+
], HelixHeadlessMapContours.prototype, "group", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
property()
|
|
41
|
+
], HelixHeadlessMapContours.prototype, "label", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
property({ attribute: 'max-zoom', type: Number })
|
|
44
|
+
], HelixHeadlessMapContours.prototype, "maxZoom", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
property()
|
|
47
|
+
], HelixHeadlessMapContours.prototype, "src", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
property()
|
|
50
|
+
], HelixHeadlessMapContours.prototype, "unit", void 0);
|
|
51
|
+
HelixHeadlessMapContours = __decorate([
|
|
52
|
+
customElement('helix-headless-map-contours')
|
|
53
|
+
], HelixHeadlessMapContours);
|
|
54
|
+
export { HelixHeadlessMapContours };
|
package/dist/map/index.d.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
export { HelixHeadlessMapArea } from './area/map-area.js';
|
|
2
|
+
export { HelixHeadlessMapBuildings } from './buildings/map-buildings.js';
|
|
3
|
+
export { HelixHeadlessMapContours } from './contours/map-contours.js';
|
|
4
|
+
export { HelixHeadlessMapLandcover } from './landcover/map-landcover.js';
|
|
2
5
|
export { HelixHeadlessMapMarker } from './marker/map-marker.js';
|
|
3
6
|
export type { MapPointsCollection, MapPointsInView, MapPointsPlace, } from './points/map-points.js';
|
|
4
7
|
export { HelixHeadlessMapPoints } from './points/map-points.js';
|
|
5
8
|
export { HelixHeadlessMapPosition } from './position/map-position.js';
|
|
9
|
+
export { HelixHeadlessMapRaster } from './raster/map-raster.js';
|
|
10
|
+
export type { MapType } from './root/map-root.js';
|
|
6
11
|
export { HelixHeadlessMap } from './root/map-root.js';
|
|
7
12
|
export type { MapPoint } from './route/map-route.js';
|
|
8
13
|
export { HelixHeadlessMapRoute } from './route/map-route.js';
|
|
14
|
+
export type { MapTerrainEncoding } from './terrain/map-terrain.js';
|
|
15
|
+
export { HelixHeadlessMapTerrain } from './terrain/map-terrain.js';
|
package/dist/map/index.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
export { HelixHeadlessMapArea } from './area/map-area.js';
|
|
2
|
+
export { HelixHeadlessMapBuildings } from './buildings/map-buildings.js';
|
|
3
|
+
export { HelixHeadlessMapContours } from './contours/map-contours.js';
|
|
4
|
+
export { HelixHeadlessMapLandcover } from './landcover/map-landcover.js';
|
|
2
5
|
export { HelixHeadlessMapMarker } from './marker/map-marker.js';
|
|
3
6
|
export { HelixHeadlessMapPoints } from './points/map-points.js';
|
|
4
7
|
export { HelixHeadlessMapPosition } from './position/map-position.js';
|
|
8
|
+
export { HelixHeadlessMapRaster } from './raster/map-raster.js';
|
|
5
9
|
export { HelixHeadlessMap } from './root/map-root.js';
|
|
6
10
|
export { HelixHeadlessMapRoute } from './route/map-route.js';
|
|
11
|
+
export { HelixHeadlessMapTerrain } from './terrain/map-terrain.js';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { HelixElement } from '@fusion.dev/helix-core';
|
|
2
|
+
import { nothing, type PropertyValues } from 'lit';
|
|
3
|
+
/**
|
|
4
|
+
* @summary What covers the ground on a map: forest, grass, farmland, wetland, sand, rock, and ice.
|
|
5
|
+
*
|
|
6
|
+
* @description
|
|
7
|
+
* `connectMap` colors the ground by what covers it, from the land cover in
|
|
8
|
+
* the map's own tiles: forest and grass in greens, farmland in wheat,
|
|
9
|
+
* wetland in teal, sand in tan, rock in gray, and ice in pale blue. Each is
|
|
10
|
+
* mixed into the map's land color, so the colors sit in a light or a dark
|
|
11
|
+
* theme. It draws over the map's parks, and under its water and roads.
|
|
12
|
+
*
|
|
13
|
+
* MapLibre draws it, from tiles in the OpenMapTiles schema. The frame lists
|
|
14
|
+
* the layer by its `label` for screen readers.
|
|
15
|
+
*
|
|
16
|
+
* @since 0.105.0
|
|
17
|
+
* @status experimental
|
|
18
|
+
* @category media
|
|
19
|
+
* @aliases Land cover, Land use, Vegetation, Ground cover
|
|
20
|
+
* @documentation https://fusion.dev/helix/components/map
|
|
21
|
+
*
|
|
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
|
+
*/
|
|
24
|
+
export declare class HelixHeadlessMapLandcover extends HelixElement {
|
|
25
|
+
/** More about the land cover. Read after the label in the frame's list. */
|
|
26
|
+
description?: string;
|
|
27
|
+
/**
|
|
28
|
+
* A name this layer shares with other layers, such as a route and its
|
|
29
|
+
* dotted legs. The layers menu shows layers in the same group as one entry,
|
|
30
|
+
* named by the first of them, and its checkbox shows or hides them all.
|
|
31
|
+
*/
|
|
32
|
+
group?: string;
|
|
33
|
+
/** Marks this as a layer for the frame and the connector, whatever its tag. */
|
|
34
|
+
readonly isMapLayer = true;
|
|
35
|
+
/** @internal Which kind of layer, which is how the connector draws it. */
|
|
36
|
+
readonly layerKind: 'landcover';
|
|
37
|
+
/** The layer's name in the frame's list. */
|
|
38
|
+
label: string;
|
|
39
|
+
/** Tells the frame and the connector the layer was renamed or recolored. */
|
|
40
|
+
protected updated(changed: PropertyValues): void;
|
|
41
|
+
protected render(): typeof nothing;
|
|
42
|
+
}
|
|
43
|
+
declare global {
|
|
44
|
+
interface HTMLElementTagNameMap {
|
|
45
|
+
'helix-headless-map-landcover': HelixHeadlessMapLandcover;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { customElement, HelixElement, HelixMapPartChangeEvent } from '@fusion.dev/helix-core';
|
|
8
|
+
import { nothing } from 'lit';
|
|
9
|
+
import { property } from 'lit/decorators.js';
|
|
10
|
+
let HelixHeadlessMapLandcover = class HelixHeadlessMapLandcover extends HelixElement {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.isMapLayer = true;
|
|
14
|
+
this.layerKind = 'landcover';
|
|
15
|
+
this.label = 'Land cover';
|
|
16
|
+
}
|
|
17
|
+
updated(changed) {
|
|
18
|
+
super.updated(changed);
|
|
19
|
+
this.dispatchEvent(new HelixMapPartChangeEvent({ kind: 'layer' }));
|
|
20
|
+
}
|
|
21
|
+
render() {
|
|
22
|
+
return nothing;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
__decorate([
|
|
26
|
+
property()
|
|
27
|
+
], HelixHeadlessMapLandcover.prototype, "description", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
property()
|
|
30
|
+
], HelixHeadlessMapLandcover.prototype, "group", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
property()
|
|
33
|
+
], HelixHeadlessMapLandcover.prototype, "label", void 0);
|
|
34
|
+
HelixHeadlessMapLandcover = __decorate([
|
|
35
|
+
customElement('helix-headless-map-landcover')
|
|
36
|
+
], HelixHeadlessMapLandcover);
|
|
37
|
+
export { HelixHeadlessMapLandcover };
|
|
@@ -29,6 +29,7 @@ import { type PropertyValues, type TemplateResult } from 'lit';
|
|
|
29
29
|
* @csspart marker - The button, holding the point and the name.
|
|
30
30
|
* @csspart point - The dot on the place, holding the icon if there is one.
|
|
31
31
|
*
|
|
32
|
+
* @cssstate behind - On the far side of a globe, out of sight until the globe turns it into view.
|
|
32
33
|
* @cssstate cluster - Shows several markers as one count.
|
|
33
34
|
* @cssstate clustered - Hidden inside another marker's cluster.
|
|
34
35
|
* @cssstate current - Holds the map's tab stop.
|
|
@@ -49,6 +50,12 @@ export declare class HelixHeadlessMapMarker extends HelixElement {
|
|
|
49
50
|
* Empty while it stands only for itself.
|
|
50
51
|
*/
|
|
51
52
|
gathered: string[];
|
|
53
|
+
/**
|
|
54
|
+
* @internal Whether the place is on the far side of a globe, written by the
|
|
55
|
+
* connector. It is hidden meanwhile, and stays in the frame's walk, so a
|
|
56
|
+
* reader reaching it turns the globe to show it.
|
|
57
|
+
*/
|
|
58
|
+
behind: boolean;
|
|
52
59
|
/**
|
|
53
60
|
* @internal Whether this stands fanned out from a spot it shares with
|
|
54
61
|
* other places, written by the connector when their cluster is pressed and
|
|
@@ -62,9 +69,9 @@ export declare class HelixHeadlessMapMarker extends HelixElement {
|
|
|
62
69
|
*/
|
|
63
70
|
gatheredBy: HelixHeadlessMapMarker | undefined;
|
|
64
71
|
/**
|
|
65
|
-
* Marks
|
|
66
|
-
*
|
|
67
|
-
*
|
|
72
|
+
* Marks the element as a map marker. The frame and the connector find
|
|
73
|
+
* markers among the frame's children by this flag, so they treat a styled
|
|
74
|
+
* marker and a headless one the same way.
|
|
68
75
|
*/
|
|
69
76
|
readonly isMapMarker = true;
|
|
70
77
|
/** The place's name. Shown next to the marker and read by screen readers. */
|
|
@@ -102,7 +109,7 @@ export declare class HelixHeadlessMapMarker extends HelixElement {
|
|
|
102
109
|
* faded, so the connector can ask before the name is ever shown.
|
|
103
110
|
*/
|
|
104
111
|
extent(): number;
|
|
105
|
-
/** Focuses the button
|
|
112
|
+
/** Focuses the marker's button. The host draws no box of its own. */
|
|
106
113
|
focus(options?: FocusOptions): void;
|
|
107
114
|
protected render(): TemplateResult;
|
|
108
115
|
}
|