@fusion.dev/helix 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.
Files changed (178) hide show
  1. package/custom-elements.json +8259 -4085
  2. package/dist/accordion/item/accordion-item.d.ts +9 -10
  3. package/dist/accordion/root/accordion-root.d.ts +8 -9
  4. package/dist/announcement/root/announcement-root.d.ts +7 -7
  5. package/dist/app-header/root/app-header-root.d.ts +14 -12
  6. package/dist/area-chart/root/area-chart-root.d.ts +23 -32
  7. package/dist/aura/root/aura-root.d.ts +32 -31
  8. package/dist/avatar/group/avatar-group.d.ts +8 -11
  9. package/dist/avatar/root/avatar-root.d.ts +4 -5
  10. package/dist/badge/root/badge-root.d.ts +7 -8
  11. package/dist/bar-chart/root/bar-chart-root.d.ts +17 -16
  12. package/dist/blockquote/root/blockquote-root.d.ts +4 -5
  13. package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +7 -7
  14. package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +2 -2
  15. package/dist/button/root/button-root.d.ts +16 -13
  16. package/dist/button-group/root/button-group-root.d.ts +6 -6
  17. package/dist/callout/root/callout-root.d.ts +8 -8
  18. package/dist/canvas/edge/canvas-edge.d.ts +3 -3
  19. package/dist/canvas/node/canvas-node.d.ts +17 -18
  20. package/dist/canvas/root/canvas-root.d.ts +18 -19
  21. package/dist/card/root/card-root.d.ts +14 -14
  22. package/dist/carousel/root/carousel-root.d.ts +11 -14
  23. package/dist/chat/composer/chat-composer.d.ts +10 -11
  24. package/dist/chat/message/chat-message.d.ts +18 -18
  25. package/dist/chat/root/chat-root.d.ts +15 -18
  26. package/dist/checkbox/root/checkbox-root.d.ts +17 -16
  27. package/dist/checkbox-group/root/checkbox-group-root.d.ts +6 -5
  28. package/dist/code/root/code-root.d.ts +9 -9
  29. package/dist/code-block/root/code-block-root.d.ts +14 -15
  30. package/dist/color-input/root/color-input-root.d.ts +13 -18
  31. package/dist/color-picker/root/color-picker-root.d.ts +26 -27
  32. package/dist/combobox/root/combobox-root.css.js +3 -2
  33. package/dist/combobox/root/combobox-root.d.ts +8 -8
  34. package/dist/command/root/command-root.d.ts +5 -6
  35. package/dist/copy-button/root/copy-button-root.d.ts +4 -5
  36. package/dist/data-table/root/data-table-root.d.ts +30 -37
  37. package/dist/date-input/root/date-input-root.d.ts +15 -17
  38. package/dist/date-picker/root/date-picker-root.d.ts +11 -12
  39. package/dist/description-list/item/description-list-item.d.ts +2 -2
  40. package/dist/description-list/root/description-list-root.d.ts +13 -14
  41. package/dist/dialog/root/dialog-root.d.ts +9 -10
  42. package/dist/divider/root/divider-root.d.ts +11 -12
  43. package/dist/donut-chart/root/donut-chart-root.d.ts +12 -15
  44. package/dist/drawer/root/drawer-root.d.ts +14 -13
  45. package/dist/drilldown/item/drilldown-item.d.ts +3 -4
  46. package/dist/drilldown/root/drilldown-root.d.ts +6 -9
  47. package/dist/element-events.generated.js +7 -0
  48. package/dist/empty/root/empty-root.d.ts +3 -4
  49. package/dist/file-input/root/file-input-root.d.ts +8 -12
  50. package/dist/filter-input/chip/filter-chip.d.ts +11 -10
  51. package/dist/filter-input/field/filter-field.d.ts +7 -8
  52. package/dist/filter-input/menu/filter-menu.d.ts +7 -8
  53. package/dist/filter-input/operator/filter-operator.d.ts +5 -5
  54. package/dist/filter-input/root/filter-input-root.d.ts +25 -27
  55. package/dist/flex/root/flex-root.d.ts +9 -14
  56. package/dist/format-date/root/format-date-root.d.ts +5 -8
  57. package/dist/grid/root/grid-root.d.ts +13 -11
  58. package/dist/heatmap/root/heatmap-root.d.ts +34 -31
  59. package/dist/icon/root/icon-root.d.ts +6 -6
  60. package/dist/icon-button/root/icon-button-root.d.ts +9 -10
  61. package/dist/image/root/image-root.d.ts +10 -10
  62. package/dist/input/root/input-root.d.ts +10 -13
  63. package/dist/kbd/root/kbd-root.d.ts +6 -7
  64. package/dist/legend/root/legend-root.d.ts +19 -20
  65. package/dist/lightbox/item/lightbox-item.d.ts +4 -5
  66. package/dist/lightbox/root/lightbox-root.d.ts +13 -16
  67. package/dist/line-chart/root/line-chart-root.d.ts +24 -25
  68. package/dist/list/item/list-item.d.ts +7 -8
  69. package/dist/list/root/list-root.d.ts +7 -9
  70. package/dist/listbox/root/listbox-root.d.ts +8 -9
  71. package/dist/loader/root/loader-root.d.ts +5 -7
  72. package/dist/map/buildings/map-buildings.css.d.ts +1 -0
  73. package/dist/map/buildings/map-buildings.css.js +27 -0
  74. package/dist/map/buildings/map-buildings.d.ts +28 -0
  75. package/dist/map/buildings/map-buildings.js +20 -0
  76. package/dist/map/contours/map-contours.css.d.ts +1 -0
  77. package/dist/map/contours/map-contours.css.js +8 -0
  78. package/dist/map/contours/map-contours.d.ts +25 -0
  79. package/dist/map/contours/map-contours.js +16 -0
  80. package/dist/map/index.d.ts +5 -0
  81. package/dist/map/index.js +5 -0
  82. package/dist/map/landcover/map-landcover.css.d.ts +1 -0
  83. package/dist/map/landcover/map-landcover.css.js +5 -0
  84. package/dist/map/landcover/map-landcover.d.ts +25 -0
  85. package/dist/map/landcover/map-landcover.js +16 -0
  86. package/dist/map/marker/map-marker.css.js +5 -0
  87. package/dist/map/position/map-position.css.js +5 -0
  88. package/dist/map/raster/map-raster.css.d.ts +1 -0
  89. package/dist/map/raster/map-raster.css.js +4 -0
  90. package/dist/map/raster/map-raster.d.ts +23 -0
  91. package/dist/map/raster/map-raster.js +16 -0
  92. package/dist/map/root/map-root.css.js +218 -1
  93. package/dist/map/terrain/map-terrain.css.d.ts +1 -0
  94. package/dist/map/terrain/map-terrain.css.js +12 -0
  95. package/dist/map/terrain/map-terrain.d.ts +27 -0
  96. package/dist/map/terrain/map-terrain.js +16 -0
  97. package/dist/megamenu/root/megamenu-root.d.ts +14 -14
  98. package/dist/menu/item/menu-item.d.ts +8 -8
  99. package/dist/menu/root/menu-root.d.ts +9 -9
  100. package/dist/meter/root/meter-root.d.ts +29 -38
  101. package/dist/navigation/root/navigation-root.d.ts +4 -5
  102. package/dist/notifications/group/notification-group.d.ts +9 -13
  103. package/dist/notifications/notification/notification.d.ts +27 -33
  104. package/dist/notifications/root/notifications-root.d.ts +9 -11
  105. package/dist/number-input/root/number-input-root.d.ts +16 -18
  106. package/dist/object-inspector/root/object-inspector-root.d.ts +11 -12
  107. package/dist/option/group/option-group.d.ts +3 -4
  108. package/dist/option/root/option-root.d.ts +7 -8
  109. package/dist/orb/root/orb-root.d.ts +30 -36
  110. package/dist/outline/root/outline-root.d.ts +8 -10
  111. package/dist/pagination/root/pagination-root.d.ts +13 -23
  112. package/dist/pagination/size/pagination-size.d.ts +7 -7
  113. package/dist/pagination/summary/pagination-summary.d.ts +3 -4
  114. package/dist/pin-input/root/pin-input-root.d.ts +8 -11
  115. package/dist/popover/root/popover-root.d.ts +14 -16
  116. package/dist/progress/root/progress-root.d.ts +10 -13
  117. package/dist/qr-code/root/qr-code-root.d.ts +13 -14
  118. package/dist/quote/root/quote-root.d.ts +2 -2
  119. package/dist/radio/group/radio-group.d.ts +6 -6
  120. package/dist/radio/root/radio-root.d.ts +16 -19
  121. package/dist/rating/root/rating-root.d.ts +9 -9
  122. package/dist/sandbox/preview/sandbox-preview.d.ts +18 -19
  123. package/dist/sandbox/root/sandbox-root.d.ts +27 -27
  124. package/dist/sandbox/source/sandbox-source.d.ts +9 -12
  125. package/dist/sandbox/status-bar/sandbox-status-bar.d.ts +9 -11
  126. package/dist/sandbox/terminal/sandbox-terminal.d.ts +13 -15
  127. package/dist/sandbox/toolbar/sandbox-toolbar.d.ts +8 -9
  128. package/dist/scatter-chart/root/scatter-chart-root.d.ts +18 -29
  129. package/dist/scroll-area/root/scroll-area-root.d.ts +13 -13
  130. package/dist/select/root/select-root.d.ts +14 -14
  131. package/dist/shared/mixin-control-surface/mixin-control-surface.d.ts +8 -2
  132. package/dist/shared/viewport/viewport.css.js +5 -1
  133. package/dist/skeleton/root/skeleton-root.d.ts +6 -7
  134. package/dist/skip-link/root/skip-link-root.d.ts +16 -19
  135. package/dist/slider/root/slider-root.d.ts +16 -18
  136. package/dist/sparkline/root/sparkline-root.d.ts +16 -24
  137. package/dist/speed-dial/item/speed-dial-item.d.ts +5 -5
  138. package/dist/speed-dial/root/speed-dial-root.d.ts +3 -4
  139. package/dist/splitter/root/splitter-root.d.ts +23 -32
  140. package/dist/stat/group/stat-group.d.ts +4 -5
  141. package/dist/stat/root/stat-root.d.ts +4 -5
  142. package/dist/steps/root/steps-root.d.ts +12 -13
  143. package/dist/switch/root/switch-root.d.ts +13 -17
  144. package/dist/table/cell/table-cell.css.js +5 -0
  145. package/dist/table/cell/table-cell.d.ts +4 -4
  146. package/dist/table/column/table-column.d.ts +3 -4
  147. package/dist/table/root/table-root.d.ts +5 -6
  148. package/dist/table/row/table-row.d.ts +3 -3
  149. package/dist/tabs/panel/tab-panel.d.ts +2 -3
  150. package/dist/tabs/root/tabs-root.d.ts +12 -11
  151. package/dist/tabs/tab/tab.d.ts +4 -4
  152. package/dist/tag/root/tag-root.d.ts +10 -11
  153. package/dist/text/root/text-root.d.ts +22 -30
  154. package/dist/textarea/root/textarea-root.d.ts +4 -5
  155. package/dist/time-input/root/time-input-root.d.ts +12 -14
  156. package/dist/time-picker/root/time-picker-root.d.ts +8 -10
  157. package/dist/timeline/item/timeline-item.d.ts +2 -2
  158. package/dist/timeline/root/timeline-root.d.ts +3 -3
  159. package/dist/toast/item/toast-item.d.ts +7 -8
  160. package/dist/toast/root/toast-root.d.ts +10 -12
  161. package/dist/toggle/group/toggle-group.d.ts +10 -12
  162. package/dist/toggle/root/toggle-root.d.ts +2 -3
  163. package/dist/toolbar/root/toolbar-root.d.ts +3 -3
  164. package/dist/tooltip/root/tooltip-root.d.ts +10 -10
  165. package/dist/tour/root/tour-root.d.ts +5 -6
  166. package/dist/tour/stop/tour-stop.d.ts +14 -14
  167. package/dist/tree/item/tree-item.d.ts +6 -9
  168. package/dist/tree/root/tree-root.d.ts +7 -8
  169. package/dist/trend/root/trend-root.d.ts +12 -19
  170. package/dist/video/root/video-root.d.ts +15 -21
  171. package/dist/video-playlist/item/video-playlist-item.d.ts +4 -4
  172. package/dist/video-playlist/menu/video-playlist-menu.d.ts +14 -16
  173. package/dist/video-playlist/root/video-playlist-root.d.ts +5 -5
  174. package/dist/virtual-list/root/virtual-list-root.d.ts +6 -8
  175. package/package.json +6 -6
  176. package/types/jsx.d.ts +10064 -8833
  177. package/types/svelte.d.ts +5 -0
  178. package/types/vue.d.ts +1909 -1480
@@ -1,16 +1,15 @@
1
1
  import { HelixHeadlessListbox } from '@fusion.dev/helix-headless/listbox';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary A list of options, one or several of which are the answer.
4
+ * @summary A list of options, from which you choose one or several.
5
5
  *
6
6
  * @description
7
7
  * A framed, scrolling list with the field's three parts around it. The frame is
8
- * the list rather than the host, so a filter that empties it leaves a box with
9
- * a message in it rather than a border collapsing to nothing.
8
+ * on the list itself, so a filter that hides every option leaves a box with a
9
+ * message in it, and the border stays in place.
10
10
  *
11
- * `--listbox-max-block-size` is what makes it scroll rather than run down the
12
- * page. The keyboard brings the active option into that box itself, so a long
13
- * list moves under the reader rather than the reader moving to find it.
11
+ * Set `--listbox-max-block-size` to make the list scroll. The keyboard scrolls
12
+ * the active option into view inside that box.
14
13
  *
15
14
  * @since 0.1.0
16
15
  * @status stable
@@ -18,9 +17,9 @@ import type { CSSResultGroup } from 'lit';
18
17
  * @aliases Options, Select list
19
18
  * @documentation https://fusion.dev/helix/components/listbox
20
19
  *
21
- * @cssproperty --listbox-background-color - The panel's fill. `transparent` where the list is already inside one.
22
- * @cssproperty --listbox-border - The panel's border, as a shorthand. `none` where the list is already inside one.
23
- * @cssproperty --listbox-max-block-size - How tall it gets before it scrolls.
20
+ * @cssproperty --listbox-background-color - The panel's fill. Set it to `transparent` when the list is already inside a panel.
21
+ * @cssproperty --listbox-border - The panel's border, as a shorthand. Set it to `none` when the list is already inside a panel.
22
+ * @cssproperty --listbox-max-block-size - Maximum height of the list before it scrolls.
24
23
  */
25
24
  export declare class HelixListbox extends HelixHeadlessListbox {
26
25
  static styles: CSSResultGroup;
@@ -1,13 +1,11 @@
1
1
  import { HelixHeadlessLoader } from '@fusion.dev/helix-headless/loader';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary Says that something indeterminate is in progress.
4
+ * @summary Shows that work of unknown length is in progress.
5
5
  *
6
6
  * @description
7
- * Sized in `em`, so it matches whatever text it sits beside without being told.
8
- * The color is `currentColor` for the same reason: a loader inside a primary
9
- * button is on the accent, and one in body copy is not, and neither should have
10
- * to say so.
7
+ * Sized in `em`, so it matches the text beside it. The color is `currentColor`,
8
+ * so it matches the text color around it, including inside a primary button.
11
9
  *
12
10
  * @since 0.1.0
13
11
  * @status stable
@@ -17,7 +15,7 @@ import type { CSSResultGroup } from 'lit';
17
15
  *
18
16
  * @cssproperty --loader-color - Color of the moving arc.
19
17
  * @cssproperty --loader-size - Diameter. Defaults to 1.5em.
20
- * @cssproperty --loader-track-color - Color of the circle behind it.
18
+ * @cssproperty --loader-track-color - Color of the circle behind the arc.
21
19
  */
22
20
  export declare class HelixLoader extends HelixHeadlessLoader {
23
21
  /**
@@ -25,7 +23,7 @@ export declare class HelixLoader extends HelixHeadlessLoader {
25
23
  */
26
24
  size?: 'sm' | 'md' | 'lg';
27
25
  /**
28
- * How the waiting is drawn.
26
+ * How the loader is drawn. Leave it unset for a spinning arc, or set `pulse`.
29
27
  *
30
28
  * Unset is the turning arc, which is what most waits want.
31
29
  *
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,27 @@
1
+ import { createSheet } from '@fusion.dev/helix-core';
2
+ export const styles = createSheet(`:host {
3
+ color: var(--map-buildings-color, var(--helix-color-surface-raised));
4
+ display: none;
5
+ }
6
+
7
+ :host([tone="accent"]) {
8
+ color: var(--helix-color-accent);
9
+ }
10
+ :host([tone="danger"]) {
11
+ color: var(--helix-color-danger);
12
+ }
13
+ :host([tone="info"]) {
14
+ color: var(--helix-color-info);
15
+ }
16
+ :host([tone="neutral"]) {
17
+ color: var(--helix-color-foreground-muted);
18
+ }
19
+ :host([tone="primary"]) {
20
+ color: var(--helix-color-primary);
21
+ }
22
+ :host([tone="success"]) {
23
+ color: var(--helix-color-success);
24
+ }
25
+ :host([tone="warning"]) {
26
+ color: var(--helix-color-warning);
27
+ }`);
@@ -0,0 +1,28 @@
1
+ import { HelixHeadlessMapBuildings } from '@fusion.dev/helix-headless/map';
2
+ import type { CSSResultGroup } from 'lit';
3
+ /**
4
+ * @summary The buildings on a map, raised to their real heights in 3D.
5
+ *
6
+ * @description
7
+ * Raises the buildings in your theme's raised surface color, one step off the
8
+ * land, so they read as solid in light and dark themes. Set `tone` to color
9
+ * them by meaning.
10
+ *
11
+ * @since 0.105.0
12
+ * @status experimental
13
+ * @category media
14
+ * @aliases 3D buildings, Extrusion
15
+ * @documentation https://fusion.dev/helix/components/map
16
+ *
17
+ * @cssproperty --map-buildings-color - The buildings' color when no tone is set.
18
+ */
19
+ export declare class HelixMapBuildings extends HelixHeadlessMapBuildings {
20
+ /** The buildings' color. Uses your raised surface color unless set. */
21
+ tone?: 'accent' | 'danger' | 'info' | 'neutral' | 'primary' | 'success' | 'warning';
22
+ static styles: CSSResultGroup;
23
+ }
24
+ declare global {
25
+ interface HTMLElementTagNameMap {
26
+ 'helix-map-buildings': HelixMapBuildings;
27
+ }
28
+ }
@@ -0,0 +1,20 @@
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 } from '@fusion.dev/helix-core';
8
+ import { HelixHeadlessMapBuildings } from '@fusion.dev/helix-headless/map';
9
+ import { property } from 'lit/decorators.js';
10
+ import { styles } from './map-buildings.css.js';
11
+ let HelixMapBuildings = class HelixMapBuildings extends HelixHeadlessMapBuildings {
12
+ static { this.styles = styles; }
13
+ };
14
+ __decorate([
15
+ property({ reflect: true })
16
+ ], HelixMapBuildings.prototype, "tone", void 0);
17
+ HelixMapBuildings = __decorate([
18
+ customElement('helix-map-buildings')
19
+ ], HelixMapBuildings);
20
+ export { HelixMapBuildings };
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,8 @@
1
+ import { createSheet } from '@fusion.dev/helix-core';
2
+ export const styles = createSheet(`:host {
3
+ color: var(
4
+ --map-contours-color,
5
+ color-mix(in oklab, oklch(0.55 0.08 60) 55%, var(--helix-color-foreground))
6
+ );
7
+ display: none;
8
+ }`);
@@ -0,0 +1,25 @@
1
+ import { HelixHeadlessMapContours } from '@fusion.dev/helix-headless/map';
2
+ import type { CSSResultGroup } from 'lit';
3
+ /**
4
+ * @summary Contour lines on a map, each at one height, labeled at every fifth.
5
+ *
6
+ * @description
7
+ * Draws the lines in a brown mixed toward your theme's ink, the color of
8
+ * contours on a printed map, so they read over a light or a dark map.
9
+ *
10
+ * @since 0.105.0
11
+ * @status experimental
12
+ * @category media
13
+ * @aliases Contours, Topographic lines, Elevation lines, Isolines
14
+ * @documentation https://fusion.dev/helix/components/map
15
+ *
16
+ * @cssproperty --map-contours-color - The lines' color.
17
+ */
18
+ export declare class HelixMapContours extends HelixHeadlessMapContours {
19
+ static styles: CSSResultGroup;
20
+ }
21
+ declare global {
22
+ interface HTMLElementTagNameMap {
23
+ 'helix-map-contours': HelixMapContours;
24
+ }
25
+ }
@@ -0,0 +1,16 @@
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 } from '@fusion.dev/helix-core';
8
+ import { HelixHeadlessMapContours } from '@fusion.dev/helix-headless/map';
9
+ import { styles } from './map-contours.css.js';
10
+ let HelixMapContours = class HelixMapContours extends HelixHeadlessMapContours {
11
+ static { this.styles = styles; }
12
+ };
13
+ HelixMapContours = __decorate([
14
+ customElement('helix-map-contours')
15
+ ], HelixMapContours);
16
+ export { HelixMapContours };
@@ -1,6 +1,11 @@
1
1
  export { HelixMapArea } from './area/map-area.js';
2
+ export { HelixMapBuildings } from './buildings/map-buildings.js';
3
+ export { HelixMapContours } from './contours/map-contours.js';
4
+ export { HelixMapLandcover } from './landcover/map-landcover.js';
2
5
  export { HelixMapMarker } from './marker/map-marker.js';
3
6
  export { HelixMapPoints } from './points/map-points.js';
4
7
  export { HelixMapPosition } from './position/map-position.js';
8
+ export { HelixMapRaster } from './raster/map-raster.js';
5
9
  export { HelixMap } from './root/map-root.js';
6
10
  export { HelixMapRoute } from './route/map-route.js';
11
+ export { HelixMapTerrain } from './terrain/map-terrain.js';
package/dist/map/index.js CHANGED
@@ -1,6 +1,11 @@
1
1
  export { HelixMapArea } from './area/map-area.js';
2
+ export { HelixMapBuildings } from './buildings/map-buildings.js';
3
+ export { HelixMapContours } from './contours/map-contours.js';
4
+ export { HelixMapLandcover } from './landcover/map-landcover.js';
2
5
  export { HelixMapMarker } from './marker/map-marker.js';
3
6
  export { HelixMapPoints } from './points/map-points.js';
4
7
  export { HelixMapPosition } from './position/map-position.js';
8
+ export { HelixMapRaster } from './raster/map-raster.js';
5
9
  export { HelixMap } from './root/map-root.js';
6
10
  export { HelixMapRoute } from './route/map-route.js';
11
+ export { HelixMapTerrain } from './terrain/map-terrain.js';
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,5 @@
1
+ import { createSheet } from '@fusion.dev/helix-core';
2
+ export const styles = createSheet(`:host {
3
+ color: var(--map-landcover-ground, var(--helix-color-surface));
4
+ display: none;
5
+ }`);
@@ -0,0 +1,25 @@
1
+ import { HelixHeadlessMapLandcover } from '@fusion.dev/helix-headless/map';
2
+ import type { CSSResultGroup } from 'lit';
3
+ /**
4
+ * @summary What covers the ground on a map: forest, grass, farmland, wetland, sand, rock, and ice.
5
+ *
6
+ * @description
7
+ * Mixes each cover's color into your theme's land color, so the ground is
8
+ * colored by what covers it in a light or a dark theme.
9
+ *
10
+ * @since 0.105.0
11
+ * @status experimental
12
+ * @category media
13
+ * @aliases Land cover, Land use, Vegetation, Ground cover
14
+ * @documentation https://fusion.dev/helix/components/map
15
+ *
16
+ * @cssproperty --map-landcover-ground - The land color the covers are mixed into.
17
+ */
18
+ export declare class HelixMapLandcover extends HelixHeadlessMapLandcover {
19
+ static styles: CSSResultGroup;
20
+ }
21
+ declare global {
22
+ interface HTMLElementTagNameMap {
23
+ 'helix-map-landcover': HelixMapLandcover;
24
+ }
25
+ }
@@ -0,0 +1,16 @@
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 } from '@fusion.dev/helix-core';
8
+ import { HelixHeadlessMapLandcover } from '@fusion.dev/helix-headless/map';
9
+ import { styles } from './map-landcover.css.js';
10
+ let HelixMapLandcover = class HelixMapLandcover extends HelixHeadlessMapLandcover {
11
+ static { this.styles = styles; }
12
+ };
13
+ HelixMapLandcover = __decorate([
14
+ customElement('helix-map-landcover')
15
+ ], HelixMapLandcover);
16
+ export { HelixMapLandcover };
@@ -31,6 +31,11 @@ z-index: calc(var(--helix-layer-raised) + 1);
31
31
  visibility: hidden;
32
32
  }
33
33
 
34
+ :host(:state(behind)) {
35
+ opacity: 0;
36
+ pointer-events: none;
37
+ }
38
+
34
39
  [part="marker"] {
35
40
  align-items: center;
36
41
  cursor: pointer;
@@ -12,6 +12,7 @@ var(--helix-color-surface)
12
12
  --_map-position-size: var(--map-position-size, 1.25rem);
13
13
 
14
14
  --_map-position-heading: 0deg;
15
+ --_map-position-pitch: 0deg;
15
16
  --_map-position-radius: 0px;
16
17
  --_map-position-x: 0px;
17
18
  --_map-position-y: 0px;
@@ -32,6 +33,10 @@ visibility: hidden;
32
33
 
33
34
  [part="position"] {
34
35
  display: block;
36
+ left: 0;
37
+ position: absolute;
38
+ top: 0;
39
+ transform: rotateX(var(--_map-position-pitch));
35
40
  }
36
41
 
37
42
  [part="accuracy"] {
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,4 @@
1
+ import { createSheet } from '@fusion.dev/helix-core';
2
+ export const styles = createSheet(`:host {
3
+ display: none;
4
+ }`);
@@ -0,0 +1,23 @@
1
+ import { HelixHeadlessMapRaster } from '@fusion.dev/helix-headless/map';
2
+ import type { CSSResultGroup } from 'lit';
3
+ /**
4
+ * @summary Map tiles laid over a map, such as weather radar.
5
+ *
6
+ * @description
7
+ * The tiles keep their own colors, such as a radar provider's scale, and draw
8
+ * at `opacity` so the map shows through.
9
+ *
10
+ * @since 0.105.0
11
+ * @status experimental
12
+ * @category media
13
+ * @aliases Weather radar, Tile overlay, Raster layer
14
+ * @documentation https://fusion.dev/helix/components/map
15
+ */
16
+ export declare class HelixMapRaster extends HelixHeadlessMapRaster {
17
+ static styles: CSSResultGroup;
18
+ }
19
+ declare global {
20
+ interface HTMLElementTagNameMap {
21
+ 'helix-map-raster': HelixMapRaster;
22
+ }
23
+ }
@@ -0,0 +1,16 @@
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 } from '@fusion.dev/helix-core';
8
+ import { HelixHeadlessMapRaster } from '@fusion.dev/helix-headless/map';
9
+ import { styles } from './map-raster.css.js';
10
+ let HelixMapRaster = class HelixMapRaster extends HelixHeadlessMapRaster {
11
+ static { this.styles = styles; }
12
+ };
13
+ HelixMapRaster = __decorate([
14
+ customElement('helix-map-raster')
15
+ ], HelixMapRaster);
16
+ export { HelixMapRaster };
@@ -73,11 +73,228 @@ background-color: var(--viewport-control-background-color, transparent);
73
73
  }
74
74
 
75
75
  :host([material]) [part="controls"] button:hover {
76
- background-color: var(--helix-color-surface-raised);
76
+ background-color: color-mix(
77
+ in oklab,
78
+ var(--helix-color-foreground) 10%,
79
+ var(--helix-color-surface-overlay)
80
+ );
77
81
  }
78
82
 
79
83
  @media print {
80
84
  [part="controls"] {
81
85
  display: none;
82
86
  }
87
+ }
88
+
89
+ [part="controls"] {
90
+ align-items: center;
91
+ display: flex;
92
+ flex-direction: column;
93
+
94
+ grid-column: 1 / -1;
95
+ grid-row: 2 / 3;
96
+ }
97
+
98
+ [part="controls"] [part="zoom-in"] {
99
+ border-end-end-radius: 0;
100
+ border-end-start-radius: 0;
101
+ }
102
+ [part="controls"] [part="zoom-out"] {
103
+ border-block-start: 0;
104
+ border-start-end-radius: 0;
105
+ border-start-start-radius: 0;
106
+ margin-block-start: calc(-1 * var(--helix-space-2xs));
107
+ }
108
+
109
+ [part="tilt"] {
110
+ font-size: var(--helix-text-xs);
111
+ font-weight: var(--helix-weight-semibold);
112
+ }
113
+
114
+ [part="tilt"][aria-pressed="true"] {
115
+ background-color: var(--helix-color-primary-surface);
116
+ border-color: var(--helix-color-primary-surface);
117
+ color: var(--helix-color-foreground-on-accent);
118
+ }
119
+
120
+ [part="tilt"][aria-pressed="true"]:hover {
121
+ background-color: var(--helix-color-primary-surface-hover);
122
+ }
123
+
124
+ [part="compass"] {
125
+ border-radius: var(--helix-radii-sm);
126
+ display: grid;
127
+ grid-template-areas:
128
+ "rotl up rotr"
129
+ "start north end"
130
+ ". down .";
131
+ place-items: center;
132
+ }
133
+
134
+ [part="rotate-left"] {
135
+ grid-area: rotl;
136
+ }
137
+ [part="rotate-right"] {
138
+ grid-area: rotr;
139
+ }
140
+ [part="face-north"] {
141
+ grid-area: north;
142
+ }
143
+
144
+ [part="compass"] > :not([part="face-north"]) {
145
+ background-color: transparent;
146
+ block-size: calc(var(--helix-size-control-sm) * 0.75);
147
+ border-color: transparent;
148
+ box-shadow: none;
149
+ font-size: var(--helix-text-xs);
150
+ inline-size: calc(var(--helix-size-control-sm) * 0.75);
151
+ }
152
+
153
+ [part="compass"]:has(> :not([part="face-north"])) {
154
+ background-color: var(--viewport-control-background-color, var(--helix-color-surface-overlay));
155
+ box-shadow:
156
+ var(--helix-shadow-floating),
157
+ 0 0 0 var(--helix-border-floating) var(--helix-color-border);
158
+ }
159
+
160
+ [part="needle"] {
161
+ block-size: var(--helix-size-icon-md);
162
+ inline-size: var(--helix-size-icon-md);
163
+ transform: rotate(var(--map-needle-turn, 0deg));
164
+ }
165
+ [part="needle"] [data-end="north"] {
166
+ fill: var(--helix-color-danger);
167
+ }
168
+ [part="needle"] [data-end="south"] {
169
+ fill: var(--helix-color-foreground-muted);
170
+ }
171
+
172
+ [part="layers-menu"] {
173
+ background-color: var(--viewport-control-background-color, var(--helix-color-surface-overlay));
174
+ border: var(--helix-border-floating) solid var(--helix-color-border);
175
+ border-radius: var(--helix-radii-sm);
176
+ box-shadow: var(--helix-shadow-floating);
177
+ color: var(--helix-color-foreground);
178
+ display: grid;
179
+ gap: var(--helix-space-sm);
180
+ inline-size: min(calc(var(--helix-size-control-lg) * 6), 70vw);
181
+ inset-block-start: 0;
182
+ inset-inline-end: calc(100% + var(--helix-space-2xs));
183
+ padding: var(--helix-space-sm);
184
+ position: absolute;
185
+ }
186
+
187
+ [part="layers-menu"][hidden] {
188
+ display: none;
189
+ }
190
+
191
+ :host([controls-placement^="bottom"]) [part="layers-menu"] {
192
+ inset-block: auto 0;
193
+ }
194
+
195
+ :host([controls-placement$="start"]) [part="layers-menu"] {
196
+ inset-inline: calc(100% + var(--helix-space-2xs)) auto;
197
+ }
198
+
199
+ [part="map-types"] {
200
+ display: grid;
201
+ gap: var(--helix-space-xs);
202
+ grid-template-columns: repeat(3, 1fr);
203
+ }
204
+
205
+ [part="map-type"] {
206
+ color: var(--helix-color-foreground-muted);
207
+ cursor: pointer;
208
+ display: grid;
209
+ font-family: var(--helix-font-sans);
210
+ font-size: var(--helix-text-xs);
211
+ gap: var(--helix-space-2xs);
212
+ justify-items: center;
213
+ position: relative;
214
+ }
215
+
216
+ [part="map-type"] input {
217
+ block-size: 1px;
218
+ inline-size: 1px;
219
+ margin: 0;
220
+ opacity: 0;
221
+ pointer-events: none;
222
+ position: absolute;
223
+ }
224
+
225
+ [part="map-type-preview"] {
226
+ aspect-ratio: 4 / 3;
227
+ background-color: var(--helix-color-surface-sunken);
228
+ border: var(--helix-border-thick) solid transparent;
229
+ border-radius: var(--helix-radii-sm);
230
+ box-sizing: border-box;
231
+ display: block;
232
+ inline-size: 100%;
233
+ object-fit: cover;
234
+ }
235
+
236
+ [part="map-type"]:hover,
237
+ [part="map-type"]:has(input:checked) {
238
+ color: var(--helix-color-foreground);
239
+ }
240
+
241
+ [part="map-type"]:has(input:checked) [part="map-type-preview"] {
242
+ border-color: var(--helix-color-primary-surface);
243
+ }
244
+
245
+ [part="map-type"]:has(input:focus-visible) [part="map-type-preview"] {
246
+ outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
247
+ outline-offset: var(--helix-size-focus-offset);
248
+ }
249
+
250
+ [part="layer-choices"] {
251
+ display: grid;
252
+ gap: var(--helix-space-xs);
253
+ grid-template-columns: repeat(3, 1fr);
254
+ }
255
+
256
+ [part="layers-menu"] [part="layer-choice"] {
257
+ align-content: start;
258
+ background-color: transparent;
259
+ block-size: auto;
260
+ border: 0;
261
+ box-shadow: none;
262
+ color: var(--helix-color-foreground-muted);
263
+ display: grid;
264
+ font-size: var(--helix-text-xs);
265
+ gap: var(--helix-space-2xs);
266
+ inline-size: auto;
267
+ justify-items: center;
268
+ padding: 0;
269
+ text-align: center;
270
+ }
271
+
272
+ [part="layers-menu"] [part="layer-choice"]:hover,
273
+ [part="layers-menu"] [part="layer-choice"][aria-pressed="true"] {
274
+ background-color: transparent;
275
+ color: var(--helix-color-foreground);
276
+ }
277
+
278
+ [part="layers-menu"] [part="layer-choice"]:focus-visible {
279
+ outline: none;
280
+ }
281
+
282
+ [part="layer-icon"] {
283
+ aspect-ratio: 4 / 3;
284
+ background-color: var(--helix-color-surface-sunken);
285
+ border: var(--helix-border-thick) solid transparent;
286
+ border-radius: var(--helix-radii-sm);
287
+ box-sizing: border-box;
288
+ display: block;
289
+ inline-size: 100%;
290
+ padding: var(--helix-space-sm);
291
+ }
292
+
293
+ [part="layer-choice"][aria-pressed="true"] [part="layer-icon"] {
294
+ border-color: var(--helix-color-primary-surface);
295
+ }
296
+
297
+ [part="layer-choice"]:focus-visible [part="layer-icon"] {
298
+ outline: var(--helix-size-focus-ring) solid var(--helix-color-focus-ring);
299
+ outline-offset: var(--helix-size-focus-offset);
83
300
  }`);
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,12 @@
1
+ import { createSheet } from '@fusion.dev/helix-core';
2
+ export const styles = createSheet(`:host {
3
+ border-top-color: var(
4
+ --map-terrain-highlight-color,
5
+ color-mix(in oklab, var(--helix-color-foreground-media) 25%, transparent)
6
+ );
7
+ color: var(
8
+ --map-terrain-shadow-color,
9
+ color-mix(in oklab, var(--helix-color-surface-media) 40%, transparent)
10
+ );
11
+ display: none;
12
+ }`);
@@ -0,0 +1,27 @@
1
+ import { HelixHeadlessMapTerrain } from '@fusion.dev/helix-headless/map';
2
+ import type { CSSResultGroup } from 'lit';
3
+ /**
4
+ * @summary Hills and mountains on a map, shaded and raised in 3D.
5
+ *
6
+ * @description
7
+ * Shades the slopes with a translucent black on the side away from the light
8
+ * and a translucent white on the side toward it, so the shading reads over
9
+ * light and dark themes and over imagery.
10
+ *
11
+ * @since 0.105.0
12
+ * @status experimental
13
+ * @category media
14
+ * @aliases Terrain, Hillshade, Elevation, Relief
15
+ * @documentation https://fusion.dev/helix/components/map
16
+ *
17
+ * @cssproperty --map-terrain-highlight-color - The color of slopes that face the light.
18
+ * @cssproperty --map-terrain-shadow-color - The color of slopes that face away from the light.
19
+ */
20
+ export declare class HelixMapTerrain extends HelixHeadlessMapTerrain {
21
+ static styles: CSSResultGroup;
22
+ }
23
+ declare global {
24
+ interface HTMLElementTagNameMap {
25
+ 'helix-map-terrain': HelixMapTerrain;
26
+ }
27
+ }
@@ -0,0 +1,16 @@
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 } from '@fusion.dev/helix-core';
8
+ import { HelixHeadlessMapTerrain } from '@fusion.dev/helix-headless/map';
9
+ import { styles } from './map-terrain.css.js';
10
+ let HelixMapTerrain = class HelixMapTerrain extends HelixHeadlessMapTerrain {
11
+ static { this.styles = styles; }
12
+ };
13
+ HelixMapTerrain = __decorate([
14
+ customElement('helix-map-terrain')
15
+ ], HelixMapTerrain);
16
+ export { HelixMapTerrain };