@arcgis/common-components 5.1.0-next.1 → 5.1.0-next.100
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/README.md +24 -1
- package/dist/cdn/3Y4H3CAQ.js +2 -0
- package/dist/cdn/{S7T3XQPB.js → 43KGVFBF.js} +1 -1
- package/dist/cdn/B43M633Q.js +2 -0
- package/dist/cdn/DDJDHAHT.js +2 -0
- package/dist/cdn/GFUGR2W7.js +2 -0
- package/dist/cdn/{7Y42J3JI.js → GPVWNUMW.js} +1 -1
- package/dist/cdn/GSNPEBGQ.js +4 -0
- package/dist/cdn/{C6JAR4IN.js → H74W6KYI.js} +1 -1
- package/dist/cdn/{7CI55VCH.js → HYLC5GEB.js} +1 -1
- package/dist/cdn/{AXTSUI2Q.js → JJZBCHU4.js} +3 -3
- package/dist/cdn/{7PB2GGQH.js → JRF33N6C.js} +1 -1
- package/dist/cdn/LVSH5I3Q.js +2 -0
- package/dist/cdn/MHJWVKG5.js +2 -0
- package/dist/cdn/{6NYYZIHB.js → MNN3QF54.js} +1 -1
- package/dist/cdn/{GQLKGVRX.js → O3CBCQNL.js} +1 -1
- package/dist/cdn/O6ZASYX6.js +2 -0
- package/dist/cdn/{YVSTPEPS.js → OQF4LYVE.js} +1 -1
- package/dist/cdn/{ZOWIFVL3.js → P4CF7V4U.js} +1 -1
- package/dist/cdn/QEPJM6XG.js +2 -0
- package/dist/cdn/{J5X5TNVW.js → TTV4Z2RR.js} +1 -1
- package/dist/cdn/WG5GA6QX.js +2 -0
- package/dist/cdn/{7HQMPKZO.js → YZGTCNEQ.js} +1 -1
- package/dist/cdn/assets/field-pick-list/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.en-US.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/spatial-reference-picker/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/commonFunctions.js +5 -11
- package/dist/components/arcgis-ckeditor5/customElement.d.ts +1 -0
- package/dist/components/arcgis-ckeditor5/customElement.js +12 -12
- package/dist/components/arcgis-ckeditor5/types.d.ts +9 -0
- package/dist/components/arcgis-ckeditor5-popover/customElement.d.ts +1 -0
- package/dist/components/arcgis-ckeditor5-popover/customElement.js +1 -1
- package/dist/components/arcgis-color-input/customElement.d.ts +3 -2
- package/dist/components/arcgis-field-info/customElement.d.ts +3 -2
- package/dist/components/arcgis-field-info/customElement.js +16 -18
- package/dist/components/arcgis-field-info/utils/basic.d.ts +21 -2
- package/dist/components/arcgis-field-pick-list/customElement.d.ts +14 -10
- package/dist/components/arcgis-field-pick-list/customElement.js +2 -2
- package/dist/components/arcgis-field-pick-list/utils/types.d.ts +25 -3
- package/dist/components/arcgis-histogram/customElement.d.ts +46 -28
- package/dist/components/arcgis-histogram/customElement.js +81 -90
- package/dist/components/arcgis-histogram/types.d.ts +1 -3
- package/dist/components/arcgis-label-input/customElement.d.ts +6 -6
- package/dist/components/arcgis-label-input/customElement.js +22 -17
- package/dist/components/arcgis-picker-input/customElement.d.ts +3 -2
- package/dist/components/arcgis-picker-input/customElement.js +11 -11
- package/dist/components/arcgis-ramp-color/customElement.d.ts +2 -0
- package/dist/components/arcgis-ramp-color-break/customElement.d.ts +2 -0
- package/dist/components/arcgis-ramp-opacity/customElement.d.ts +1 -0
- package/dist/components/arcgis-slider/customElement.d.ts +282 -83
- package/dist/components/arcgis-slider/customElement.js +434 -360
- package/dist/components/arcgis-slider-input/customElement.d.ts +7 -0
- package/dist/components/arcgis-slider-input/customElement.js +12 -12
- package/dist/components/arcgis-spatial-reference-picker/customElement.d.ts +327 -0
- package/dist/components/arcgis-spatial-reference-picker/customElement.js +7702 -0
- package/dist/components/arcgis-spatial-reference-picker/index.d.ts +1 -0
- package/dist/components/arcgis-spatial-reference-picker/index.js +3 -0
- package/dist/components/arcgis-spatial-reference-picker-tree/customElement.d.ts +35 -0
- package/dist/components/arcgis-spatial-reference-picker-tree/customElement.js +77 -0
- package/dist/components/arcgis-spatial-reference-picker-tree/index.d.ts +1 -0
- package/dist/components/arcgis-spatial-reference-picker-tree/index.js +3 -0
- package/dist/components/arcgis-ticks/customElement.d.ts +110 -20
- package/dist/components/arcgis-ticks/customElement.js +30 -30
- package/dist/components/arcgis-ticks/types.d.ts +23 -0
- package/dist/components/arcgis-unique-values-list/customElement.d.ts +14 -5
- package/dist/components/arcgis-unique-values-list/customElement.js +158 -151
- package/dist/components/arcgis-unique-values-list/utils/basic.d.ts +14 -2
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/index.d.ts +39 -1
- package/dist/loader.js +5 -3
- package/dist/types/lumina.d.ts +15 -3
- package/dist/types/preact.d.ts +17 -3
- package/dist/types/react.d.ts +19 -3
- package/dist/types/stencil.d.ts +15 -3
- package/dist/utils/internal-types.d.ts +1 -0
- package/dist/utils/spatial-references.d.ts +1 -0
- package/dist/utils/types.d.ts +39 -22
- package/package.json +8 -6
- package/dist/cdn/6DQVLQL6.js +0 -2
- package/dist/cdn/6MGBOM6S.js +0 -2
- package/dist/cdn/BAVGT3I5.js +0 -2
- package/dist/cdn/P45VPBNI.js +0 -2
- package/dist/cdn/UTXWKXMT.js +0 -4
- package/dist/cdn/XEB2RUND.js +0 -2
- package/dist/cdn/ZL3E4ZGE.js +0 -2
- package/dist/cdn/ZP76EPVI.js +0 -2
- /package/dist/cdn/{CSDKXC4T.js → TJNYRK5P.js} +0 -0
- /package/dist/chunks/{types.js → internal-types.js} +0 -0
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import { c as
|
|
3
|
-
import { css as
|
|
4
|
-
import { LitElement as
|
|
5
|
-
import { createRef as
|
|
6
|
-
const
|
|
7
|
-
class
|
|
2
|
+
import { c as n } from "../../chunks/runtime.js";
|
|
3
|
+
import { css as l, html as o } from "lit";
|
|
4
|
+
import { LitElement as a, createEvent as i, safeStyleMap as r } from "@arcgis/lumina";
|
|
5
|
+
import { createRef as c, ref as t } from "lit/directives/ref.js";
|
|
6
|
+
const p = l`:host{display:flex}:host([disabled]){opacity:.25;pointer-events:none}button{overflow:hidden;background-color:transparent;align-items:center;border:none;border-radius:0;box-sizing:border-box;cursor:pointer;display:flex;font-family:inherit;gap:var(--calcite-space-sm);height:100%;justify-content:center;outline-color:transparent;outline-offset:0;padding:3px 0;padding-inline:3px var(--calcite-space-sm);position:relative;text-decoration:none;user-select:none;text-align:center;-webkit-appearance:none;width:100%;&:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-brand);outline-offset:var(--calcite-border-width-md)}&:hover{text-decoration:none}}.preview{border:var(--calcite-border-width-sm) solid #949494;display:flex;align-items:center;flex-grow:1}.container{display:flex;gap:5px;width:100%}::slotted([slot="preview"]){flex-grow:1;display:flex}calcite-icon{color:var(--calcite-color-text-3)}`;
|
|
7
|
+
class d extends a {
|
|
8
8
|
constructor() {
|
|
9
|
-
super(), this.panelEl =
|
|
9
|
+
super(), this.panelEl = c(), this.open = !1, this.disabled = !1, this.iconEnd = "pencil", this.label = "", this.arcgisPopoverOpen = i(), this.arcgisPopoverClose = i(), this.listenOn(document.body, "arcgisPopoverOpen", this.onPopoverOpen);
|
|
10
10
|
}
|
|
11
11
|
static {
|
|
12
12
|
this.properties = { open: 16, disabled: 7, heading: 1, iconEnd: 1, intlDone: 1, label: 1, popoverProps: 0 };
|
|
13
13
|
}
|
|
14
14
|
static {
|
|
15
|
-
this.styles =
|
|
15
|
+
this.styles = p;
|
|
16
16
|
}
|
|
17
17
|
async close() {
|
|
18
18
|
this.onPopoverClose();
|
|
@@ -48,10 +48,10 @@ class p extends l {
|
|
|
48
48
|
}
|
|
49
49
|
render() {
|
|
50
50
|
const { popoverProps: e } = this;
|
|
51
|
-
return o`<calcite-popover pointer-disabled trigger-disabled @keyup=${this.handlePopoverKeyUp} .label=${this.label} .offsetDistance=${e?.offsetDistance ?? 0} .offsetSkidding=${e?.offsetSkidding ?? 0} .flipDisabled=${e?.flipDisabled ?? !1} .open=${this.disabled ? !1 : this.open} .overlayPositioning=${e?.overlayPositioning ?? "fixed"} .placement=${e?.placement ?? "bottom"} @calcitePopoverOpen=${this.handlePopoverOpen} .referenceElement=${e?.refElement ?? this.previewContainerEl}><calcite-panel closable .heading=${this.heading} style=${
|
|
51
|
+
return o`<calcite-popover pointer-disabled trigger-disabled @keyup=${this.handlePopoverKeyUp} .label=${this.label} .offsetDistance=${e?.offsetDistance ?? 0} .offsetSkidding=${e?.offsetSkidding ?? 0} .flipDisabled=${e?.flipDisabled ?? !1} .open=${this.disabled ? !1 : this.open} .overlayPositioning=${e?.overlayPositioning ?? "fixed"} .placement=${e?.placement ?? "bottom"} @calcitePopoverOpen=${this.handlePopoverOpen} @calcitePopoverClose=${(s) => s.stopPropagation()} .referenceElement=${e?.refElement ?? this.previewContainerEl}><calcite-panel closable .heading=${this.heading} style=${r(e?.maxHeight ? { maxHeight: e.maxHeight } : void 0)} @calcitePanelClose=${this.handlePanelClose} ${t(this.panelEl)}><slot name=content></slot><calcite-button appearance=solid slot=footer width=full .label=${this.intlDone} @click=${this.onPopoverClose}>${this.intlDone}</calcite-button></calcite-panel></calcite-popover><div class="container"><div class="preview" ${t(this.setPreviewContainerRef)}><button .disabled=${this.disabled} @click=${this.handleButtonClick} type=button .ariaLabel=${this.label} ${t(this.setButtonRef)}><slot name=preview></slot>${this.iconEnd ? o`<calcite-icon .icon=${this.iconEnd} scale=s></calcite-icon>` : null}</button></div><slot name=content-end></slot></div>`;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
|
|
54
|
+
n("arcgis-picker-input", d);
|
|
55
55
|
export {
|
|
56
|
-
|
|
56
|
+
d as ArcgisPickerInput
|
|
57
57
|
};
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import type Color from "@arcgis/core/Color.js";
|
|
3
3
|
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
4
4
|
|
|
5
|
+
/** @internal */
|
|
5
6
|
export abstract class ArcgisRampColor extends LitElement {
|
|
6
7
|
/** @default "horizontal" */
|
|
7
8
|
accessor layout: "horizontal" | "vertical";
|
|
@@ -12,6 +13,7 @@ export abstract class ArcgisRampColor extends LitElement {
|
|
|
12
13
|
accessor stops: ColorStop[];
|
|
13
14
|
}
|
|
14
15
|
|
|
16
|
+
/** @internal */
|
|
15
17
|
export interface ColorStop {
|
|
16
18
|
color: Color | string;
|
|
17
19
|
value: number;
|
|
@@ -3,6 +3,7 @@ import type Color from "@arcgis/core/Color.js";
|
|
|
3
3
|
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
4
4
|
import type { ArcgisRampColor } from "../arcgis-ramp-color/customElement.js";
|
|
5
5
|
|
|
6
|
+
/** @internal */
|
|
6
7
|
export abstract class ArcgisRampColorBreak extends LitElement {
|
|
7
8
|
/** @default "horizontal" */
|
|
8
9
|
accessor layout: ArcgisRampColor["layout"];
|
|
@@ -13,6 +14,7 @@ export abstract class ArcgisRampColorBreak extends LitElement {
|
|
|
13
14
|
accessor stops: ColorBreak[];
|
|
14
15
|
}
|
|
15
16
|
|
|
17
|
+
/** @internal */
|
|
16
18
|
export interface ColorBreak {
|
|
17
19
|
color: Color | string;
|
|
18
20
|
max: number;
|
|
@@ -3,6 +3,7 @@ import type Color from "@arcgis/core/Color.js";
|
|
|
3
3
|
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
4
4
|
import type { ArcgisRampColor } from "../arcgis-ramp-color/customElement.js";
|
|
5
5
|
|
|
6
|
+
/** @internal */
|
|
6
7
|
export abstract class ArcgisRampOpacity extends LitElement {
|
|
7
8
|
accessor fillColor: Color | string;
|
|
8
9
|
/** @default "horizontal" */
|
|
@@ -1,35 +1,71 @@
|
|
|
1
1
|
/// <reference path="../../index.d.ts" />
|
|
2
|
-
/// <reference types="@arcgis/core/interfaces.d.ts" />
|
|
3
2
|
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
4
3
|
import type { T9nMeta } from "@arcgis/lumina/controllers";
|
|
5
4
|
import type { Popover as Popover } from "@esri/calcite-components/components/calcite-popover";
|
|
6
5
|
|
|
7
6
|
/**
|
|
7
|
+
* The slider component is used to filter data or collect numeric input from users. It supports single or multiple thumbs, configured via the
|
|
8
|
+
* [values](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#values) property. The slider can be displayed in a horizontal or vertical [layout](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#layout), and it supports snapping to defined [steps](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#steps),
|
|
9
|
+
* configurable value [precision](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#precision), and a custom [labelFormatter](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#labelFormatter). It also includes keyboard interaction,
|
|
10
|
+
* optional editable labels, and customizable popover content.
|
|
11
|
+
*
|
|
12
|
+
* The slider component can be set up with the [arcgis-ticks](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-ticks/) component. See the example below:
|
|
13
|
+
* ```html
|
|
14
|
+
* <arcgis-slider min="0" max="100" show-range-labels value-labels-display="always" steps="1" value-labels-placement="start">
|
|
15
|
+
* <arcgis-ticks interactive slot="content-end" style="flex:1;" min="0" max="100" mode="count" values="11" show-labels>
|
|
16
|
+
* </arcgis-ticks>
|
|
17
|
+
* </arcgis-slider>
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* > [!TIP]
|
|
21
|
+
* > Which slider should you use: `arcgis-slider` or `calcite-slider`?
|
|
22
|
+
* >
|
|
23
|
+
* > Use [calcite-slider](https://developers.arcgis.com/calcite-design-system/components/slider/) by default. It provides a consistent UI/UX and supports most common slider use cases.
|
|
24
|
+
* >
|
|
25
|
+
* > Choose `arcgis-slider` when you need more advanced behavior, such as:
|
|
26
|
+
* >
|
|
27
|
+
* > * A vertical slider via [layout](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#layout).
|
|
28
|
+
* > * More than two [values](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#values) in a single slider.
|
|
29
|
+
* > * A display range that extends beyond the interactive range using [fullRangeMin](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#fullRangeMin) and [fullRangeMax](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#fullRangeMax).
|
|
30
|
+
* > * Additional slotted content using the `content-start`, `content-end`, or `popover` [slots](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#slots).
|
|
31
|
+
*
|
|
8
32
|
* @slot [content-start] - A slot for elements before the track.
|
|
9
33
|
* @slot [content-end] - A slot for elements after the track.
|
|
10
34
|
* @slot [popover] - A slot for custom content to be rendered in the popover.
|
|
35
|
+
* @since 5.0
|
|
11
36
|
*/
|
|
12
37
|
export abstract class ArcgisSlider extends LitElement {
|
|
13
38
|
/**
|
|
14
|
-
* The
|
|
39
|
+
* The active value of the slider, based on which thumb or range (segment) is active. This returns the stored value for the active thumb,
|
|
40
|
+
* so it may reflect the thumb’s last set position.
|
|
15
41
|
*
|
|
16
|
-
*
|
|
42
|
+
*
|
|
43
|
+
* It returns:
|
|
17
44
|
* - `undefined` when no value is active
|
|
18
45
|
* - a `number` when a single value is active
|
|
19
|
-
* - `"all"` when the range is active
|
|
46
|
+
* - `"all"` when the range (segment) is active
|
|
20
47
|
*
|
|
21
|
-
* Listen to
|
|
48
|
+
* Listen to [@arcgisActiveValueChange](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#event-arcgisActiveValueChange) to be notified when a value becomes active or inactive.
|
|
22
49
|
*
|
|
23
|
-
* @see [arcgisActiveValueChange](
|
|
50
|
+
* @see [@arcgisActiveValueChange](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#event-arcgisActiveValueChange)
|
|
24
51
|
*/
|
|
25
52
|
get activeValue(): number | "all" | undefined;
|
|
26
53
|
/**
|
|
27
|
-
* When `true`, allows
|
|
54
|
+
* When `true`, allows multiple thumbs to overlap by sharing the same value.
|
|
55
|
+
* When `false`, thumbs are prevented from overlapping.
|
|
28
56
|
*
|
|
29
57
|
* @default false
|
|
30
58
|
*/
|
|
31
59
|
accessor allowValuesOverlap: boolean;
|
|
32
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* If true, the component will not be destroyed automatically when it is
|
|
62
|
+
* disconnected from the document. This is useful when you want to move the
|
|
63
|
+
* component to a different place on the page, or temporarily hide it. If this
|
|
64
|
+
* is set, make sure to call the [destroy()](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#destroy) method when you are done to
|
|
65
|
+
* prevent memory leaks.
|
|
66
|
+
*
|
|
67
|
+
* @default false
|
|
68
|
+
*/
|
|
33
69
|
accessor autoDestroyDisabled: boolean;
|
|
34
70
|
/**
|
|
35
71
|
* Indicates whether the slider is disabled.
|
|
@@ -38,63 +74,106 @@ export abstract class ArcgisSlider extends LitElement {
|
|
|
38
74
|
*/
|
|
39
75
|
accessor disabled: boolean;
|
|
40
76
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* Range mode will always display the fill between the min and max handles.
|
|
77
|
+
* Controls where the filled segment is displayed on the track for single-thumb sliders.
|
|
78
|
+
* Range sliders always display the fill between the min and max thumbs.
|
|
44
79
|
*
|
|
45
80
|
* @default "start"
|
|
46
81
|
*/
|
|
47
82
|
accessor fillPlacement: "end" | "none" | "start";
|
|
48
83
|
/**
|
|
49
|
-
*
|
|
84
|
+
* Sets the maximum value of the slider's displayed range.
|
|
85
|
+
* When specified, the slider track is scaled from [fullRangeMin](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#fullRangeMin) to `fullRangeMax`, while
|
|
86
|
+
* the thumbs remain constrained to the interactive range defined by [min](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#min) and [max](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#max).
|
|
50
87
|
*
|
|
51
|
-
* The
|
|
88
|
+
* The `fullRangeMax` must be greater than or equal to [max](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#max) property of the slider.
|
|
52
89
|
*
|
|
53
|
-
* @see [fullRangeMin](
|
|
90
|
+
* @see [fullRangeMin](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#fullRangeMin)
|
|
54
91
|
* @example
|
|
55
|
-
* Slider with a full range from 0 to 100, while only allowing thumb values between 25 and 75.
|
|
56
92
|
* ```html
|
|
93
|
+
* <!-- Slider with a full range from 0 to 100, while only allowing thumb values between 25 and 75. -->
|
|
57
94
|
* <arcgis-slider full-range-min="0" full-range-max="100" min="25" max="75" values="50"></arcgis-slider>
|
|
58
95
|
* ```
|
|
59
96
|
*/
|
|
60
97
|
accessor fullRangeMax: number | undefined;
|
|
61
98
|
/**
|
|
62
|
-
*
|
|
99
|
+
* Sets the minimum value of the slider's displayed range.
|
|
100
|
+
* When specified, the slider track is scaled from `fullRangeMin` to [fullRangeMax](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#fullRangeMax), while
|
|
101
|
+
* the thumbs remain constrained to the range defined by [min](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#min) and [max](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#max).
|
|
63
102
|
*
|
|
64
|
-
* The
|
|
103
|
+
* The `fullRangeMin` must be less than or equal to [min](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#min) property of the slider.
|
|
65
104
|
*
|
|
66
|
-
* @see [fullRangeMax](
|
|
105
|
+
* @see [fullRangeMax](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#fullRangeMax)
|
|
67
106
|
* @example
|
|
68
|
-
* Slider with a full range from 0 to 100, while only allowing thumb values between 25 and 75.
|
|
69
107
|
* ```html
|
|
108
|
+
* <!-- Slider with a full range from 0 to 100, while only allowing thumb values between 25 and 75. -->
|
|
70
109
|
* <arcgis-slider full-range-min="0" full-range-max="100" min="25" max="75" values="50"></arcgis-slider>
|
|
71
110
|
* ```
|
|
72
111
|
*/
|
|
73
112
|
accessor fullRangeMin: number | undefined;
|
|
74
113
|
/**
|
|
75
|
-
*
|
|
114
|
+
* Controls how many "small" keyboard increments are applied in order to move a thumb or range faster using the
|
|
115
|
+
* keyboard. The following keys are considered "large" increment keys:
|
|
76
116
|
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
117
|
+
* - PageUp/PageDown
|
|
118
|
+
* - Shift + Arrow keys
|
|
119
|
+
*
|
|
120
|
+
* @default 10
|
|
121
|
+
* @internal
|
|
122
|
+
*/
|
|
123
|
+
accessor keyboardLargeStep: number;
|
|
124
|
+
/**
|
|
125
|
+
* Allows customizing how slider labels are formatted for [min](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#min), [max](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#max), and thumb values.
|
|
126
|
+
* The formatted value is used for the visible labels and for the thumb’s accessible value text via `aria-valuetext`.
|
|
127
|
+
* Return `null` or `undefined` to use the default formatting.
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```js
|
|
131
|
+
* // Format labels to use "K" for thousands and "M" for millions
|
|
132
|
+
* // and use "start" and "end" for min and max labels respectively.
|
|
133
|
+
* slider.labelFormatter = (value, type, defaultFormatter) => {
|
|
134
|
+
* if (type === "min") return "start";
|
|
135
|
+
* if (type === "max") return "end";
|
|
136
|
+
* if (type !== "value") return defaultFormatter(value);
|
|
137
|
+
*
|
|
138
|
+
* const abs = Math.abs(value);
|
|
139
|
+
* if (abs >= 1_000_000) {
|
|
140
|
+
* const num = (value / 1_000_000).toLocaleString(undefined, { maximumSignificantDigits: 3 });
|
|
141
|
+
* return `${num} M`;
|
|
142
|
+
* }
|
|
143
|
+
*
|
|
144
|
+
* if (abs >= 1_000) {
|
|
145
|
+
* const num = (value / 1_000).toLocaleString(undefined, { maximumSignificantDigits: 3 });
|
|
146
|
+
* return `${num} K`;
|
|
147
|
+
* }
|
|
148
|
+
* return defaultFormatter(value);
|
|
149
|
+
* };
|
|
150
|
+
* ```
|
|
80
151
|
*/
|
|
81
|
-
accessor labelFormatter: (
|
|
152
|
+
accessor labelFormatter: (value: number, type: "max" | "min" | "value", defaultFormatter: (value: number) => string) => string | null | undefined;
|
|
82
153
|
/**
|
|
83
|
-
* Determines the layout/orientation of the Slider
|
|
154
|
+
* Determines the layout/orientation of the Slider component. By default, the slider will render horizontally with the min value on the left side
|
|
155
|
+
* of the track.
|
|
84
156
|
*
|
|
85
157
|
* @default "horizontal"
|
|
158
|
+
* @see [mirrored](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#mirrored)
|
|
86
159
|
*/
|
|
87
160
|
accessor layout: "horizontal" | "vertical";
|
|
88
161
|
/**
|
|
89
|
-
* The maximum
|
|
162
|
+
* The maximum value for the slider thumbs. Thumbs will not move past this value.
|
|
90
163
|
*
|
|
91
|
-
* To display the `max`
|
|
92
|
-
* To allow the end user to modify the max value, set [rangeLabelsEditingEnabled](
|
|
164
|
+
* To display the `max` label on the slider, set [showRangeLabels](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#showRangeLabels) to `true`.
|
|
165
|
+
* To allow the end user to modify the `max` value, set [rangeLabelsEditingEnabled](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#rangeLabelsEditingEnabled) to `true`.
|
|
93
166
|
*
|
|
94
|
-
* @see [rangeLabelsEditingEnabled](
|
|
95
|
-
* @see [showRangeLabels](
|
|
167
|
+
* @see [rangeLabelsEditingEnabled](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#rangeLabelsEditingEnabled)
|
|
168
|
+
* @see [showRangeLabels](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#showRangeLabels)
|
|
169
|
+
* @see [fullRangeMax](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#fullRangeMax)
|
|
96
170
|
*/
|
|
97
171
|
accessor max: number;
|
|
172
|
+
/**
|
|
173
|
+
* Replace localized message strings with your own strings.
|
|
174
|
+
*
|
|
175
|
+
* _**Note**: Individual message keys may change between releases._
|
|
176
|
+
*/
|
|
98
177
|
accessor messageOverrides: {
|
|
99
178
|
componentLabel?: string | undefined;
|
|
100
179
|
maximumValue?: string | undefined;
|
|
@@ -120,33 +199,59 @@ export abstract class ArcgisSlider extends LitElement {
|
|
|
120
199
|
sliderValue: string;
|
|
121
200
|
}>;
|
|
122
201
|
/**
|
|
123
|
-
* The minimum
|
|
124
|
-
*
|
|
125
|
-
* To
|
|
126
|
-
* To allow the end user to modify the min value, set [rangeLabelsEditingEnabled](#rangeLabelsEditingEnabled) to `true`.
|
|
202
|
+
* The minimum value for the slider thumbs. Thumbs will not move past this value.
|
|
203
|
+
* To display the `min` label on the slider, set [showRangeLabels](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#showRangeLabels) to `true`.
|
|
204
|
+
* To allow the end user to modify the `min` value, set [rangeLabelsEditingEnabled](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#rangeLabelsEditingEnabled) to `true`.
|
|
127
205
|
*
|
|
128
|
-
* @see [rangeLabelsEditingEnabled](
|
|
129
|
-
* @see [showRangeLabels](
|
|
206
|
+
* @see [rangeLabelsEditingEnabled](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#rangeLabelsEditingEnabled)
|
|
207
|
+
* @see [showRangeLabels](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#showRangeLabels)
|
|
130
208
|
*/
|
|
131
209
|
accessor min: number;
|
|
132
210
|
/**
|
|
133
|
-
* When `true`, the slider will display values from high to low.
|
|
211
|
+
* When `true`, the slider will display values from high to low. This inverts the direction of the slider.
|
|
134
212
|
*
|
|
135
213
|
* @default false
|
|
214
|
+
* @see [layout](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#layout)
|
|
136
215
|
*/
|
|
137
216
|
accessor mirrored: boolean;
|
|
138
217
|
/**
|
|
139
|
-
* The accessible label
|
|
218
|
+
* The accessible label for the popover. This label is used by assistive technologies and does not affect the visible UI.
|
|
140
219
|
*
|
|
141
220
|
* @default ""
|
|
221
|
+
* @see [Calcite popover](https://developers.arcgis.com/calcite-design-system/components/popover/#api-reference-properties-label)
|
|
142
222
|
*/
|
|
143
223
|
accessor popoverLabel: Popover["label"];
|
|
144
224
|
/**
|
|
145
|
-
* Determines
|
|
225
|
+
* Determines which side of the track the popover is placed on.
|
|
226
|
+
* The popover is the floating container that displays the content from the `popover` slot.
|
|
227
|
+
* * `"start"`: Positions the popover above a horizontal slider or to the left of a vertical slider.
|
|
228
|
+
* * `"end"`: Positions the popover below a horizontal slider or to the right of a vertical slider.
|
|
146
229
|
*
|
|
147
|
-
* @default "
|
|
230
|
+
* @default "start"
|
|
231
|
+
* @example
|
|
232
|
+
* ```js
|
|
233
|
+
* const slider = document.querySelector("arcgis-slider");
|
|
234
|
+
* slider.popoverPlacement = "end";
|
|
235
|
+
*
|
|
236
|
+
* // Example: Dynamic popover content based on slider value
|
|
237
|
+
* const popover = document.getElementById("popover");
|
|
238
|
+
* const unitCost = 12.5;
|
|
239
|
+
* const numberFormatter = new Intl.NumberFormat();
|
|
240
|
+
* const usd = new Intl.NumberFormat(undefined, { style: "currency", currency: "USD" });
|
|
241
|
+
*
|
|
242
|
+
* const renderPopover = () => {
|
|
243
|
+
* const value = Number(slider.values?.[0] ?? 0); // 0-100
|
|
244
|
+
* const annualCost = (value / 100) * 800 * 365 * unitCost;
|
|
245
|
+
* popover.textContent = `Est. annual cost: ${usd.format(annualCost)} (at ${numberFormatter.format(value)}%)`;
|
|
246
|
+
* slider.popoverLabel = `Cost estimate ${usd.format(annualCost)} at ${numberFormatter.format(value)} percent`;
|
|
247
|
+
* };
|
|
248
|
+
*
|
|
249
|
+
* slider.addEventListener("arcgisInput", renderPopover);
|
|
250
|
+
* slider.addEventListener("arcgisChange", renderPopover);
|
|
251
|
+
* renderPopover();
|
|
252
|
+
* ```
|
|
148
253
|
*/
|
|
149
|
-
accessor popoverPlacement: "
|
|
254
|
+
accessor popoverPlacement: "end" | "start";
|
|
150
255
|
/**
|
|
151
256
|
* Defines how slider thumb values should be rounded. This number indicates the number
|
|
152
257
|
* of decimal places slider thumb _values_ should round to when they have been moved.
|
|
@@ -162,34 +267,36 @@ export abstract class ArcgisSlider extends LitElement {
|
|
|
162
267
|
* The labels of the thumbs will display two decimal places, but the precision of the actual
|
|
163
268
|
* thumb values will not be lost even when the user slides or moves the thumb.
|
|
164
269
|
*
|
|
165
|
-
* Keep in mind this property rounds thumb [values](
|
|
166
|
-
* for formatting purposes. To format thumb `labels`, use the [labelFormatter](
|
|
270
|
+
* Keep in mind this property rounds thumb [values](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#values) and shouldn't be used exclusively
|
|
271
|
+
* for formatting purposes. To format thumb `labels`, use the [labelFormatter](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#labelFormatter)
|
|
167
272
|
* property.
|
|
168
273
|
*
|
|
169
274
|
* @default 4
|
|
170
275
|
* @example
|
|
171
|
-
* // thumb label will display 50.43
|
|
172
|
-
* // thumb value will maintain precision, so value will remain at 50.4331
|
|
173
276
|
* ```html
|
|
277
|
+
* <!-- thumb label will display 50.43 -->
|
|
278
|
+
* <!-- thumb value will maintain precision, so value will remain at 50.4331 -->
|
|
174
279
|
* <arcgis-slider min="0" max="100" values="50.4331" precision="4"></arcgis-slider>
|
|
175
280
|
* ```
|
|
176
281
|
*/
|
|
177
282
|
accessor precision: number;
|
|
178
283
|
/**
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
* This allows the user to increase or decrease the data range of the slider.
|
|
284
|
+
* When `true`, users can edit the [min](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#min) and [max](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#max) range labels via keyboard input.
|
|
285
|
+
* Editing these labels updates the slider’s interactive range.
|
|
182
286
|
*
|
|
183
287
|
* @default false
|
|
184
288
|
*/
|
|
185
289
|
accessor rangeLabelsEditingEnabled: boolean;
|
|
186
290
|
/**
|
|
187
|
-
*
|
|
188
|
-
*
|
|
291
|
+
* Controls where the [min](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#min) and [max](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#max) range labels are positioned relative to the track.
|
|
292
|
+
* This property only affects the slider when [layout](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#layout) is `"horizontal"`.
|
|
293
|
+
*
|
|
294
|
+
* - `"center"` (default): Places the [min](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#min) and [max](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#max) labels aligned with the track.
|
|
295
|
+
* - `"end"`: Places the range labels below the track.
|
|
189
296
|
*
|
|
190
297
|
* @default "center"
|
|
191
298
|
*/
|
|
192
|
-
accessor rangeLabelsPlacement: "center" | "
|
|
299
|
+
accessor rangeLabelsPlacement: "center" | "end";
|
|
193
300
|
/**
|
|
194
301
|
* Indicates if the user can drag the segment between thumbs to update thumb positions.
|
|
195
302
|
*
|
|
@@ -197,39 +304,41 @@ export abstract class ArcgisSlider extends LitElement {
|
|
|
197
304
|
*/
|
|
198
305
|
accessor segmentsDraggingDisabled: boolean;
|
|
199
306
|
/**
|
|
200
|
-
* Indicates whether
|
|
307
|
+
* Indicates whether [min](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#min) and [max](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#max) range labels are visible on the slider.
|
|
201
308
|
*
|
|
202
309
|
* @default false
|
|
203
310
|
*/
|
|
204
311
|
accessor showRangeLabels: boolean;
|
|
205
312
|
/**
|
|
206
|
-
* Sets
|
|
313
|
+
* Sets intervals on the slider that restrict user
|
|
207
314
|
* input to specific values. If an array of numbers is passed to this
|
|
208
315
|
* property, the slider thumbs may only be moved to the positions
|
|
209
316
|
* specified in the array.
|
|
210
317
|
*
|
|
318
|
+
* This can be set as comma-separated numbers in the attribute (e.g., `<arcgis-slider steps="10, 20, 30"></arcgis-slider>`)
|
|
319
|
+
* or programmatically as either a single number or an array of numbers (e.g., `slider.steps = 10`, `slider.steps = [10, 20, 30]`).
|
|
320
|
+
*
|
|
211
321
|
* If a single number is set, then steps are set along the entire
|
|
212
|
-
* slider range at an interval of the provided value.
|
|
213
|
-
*
|
|
214
|
-
* For example, if a value of `0.5` is set
|
|
215
|
-
* [min](
|
|
216
|
-
* only be able to update the thumbs to values of 0, 0.5, 1.0, 1.5, 2.0
|
|
322
|
+
* slider range at an interval of the provided value. The user may
|
|
323
|
+
* only slide the thumbs to values at the provided interval.
|
|
324
|
+
* For example, if a value of `0.5` is set and the slider
|
|
325
|
+
* [min](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#min) is `0` and [max](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#max) is `2`, then the user will
|
|
326
|
+
* only be able to update the thumbs to values of 0, 0.5, 1.0, 1.5, and 2.0.
|
|
217
327
|
*
|
|
218
328
|
* @example
|
|
219
329
|
* ```html
|
|
220
|
-
*
|
|
221
|
-
* // slider thumb snaps at values of 0.5, 1.0, 1.5, etc.
|
|
330
|
+
* <!-- In this example, the thumb snaps to every value evenly divisible by 0.5 between 0 and 10. -->
|
|
222
331
|
* <arcgis-slider min="0" max="10" steps="0.5" values="5"></arcgis-slider>
|
|
223
332
|
* ```
|
|
224
333
|
* @example
|
|
225
334
|
* ```html
|
|
226
|
-
*
|
|
227
|
-
* <arcgis-slider min="0" max="
|
|
335
|
+
* <!-- In this example, the thumb snaps to the specified values in the steps array (2, 4, 6, and 8). -->
|
|
336
|
+
* <arcgis-slider min="0" max="10" steps="2, 4, 6, 8" values="4"></arcgis-slider>
|
|
228
337
|
* ```
|
|
229
338
|
*/
|
|
230
339
|
accessor steps: number[] | number | undefined;
|
|
231
340
|
/**
|
|
232
|
-
*
|
|
341
|
+
* Controls when thumb value labels are displayed.
|
|
233
342
|
*
|
|
234
343
|
* This property can be set to one of the following values:
|
|
235
344
|
* - `"always"`: Always show the labels.
|
|
@@ -241,49 +350,139 @@ export abstract class ArcgisSlider extends LitElement {
|
|
|
241
350
|
accessor valueLabelsDisplay: "always" | "auto" | "hidden";
|
|
242
351
|
/**
|
|
243
352
|
* Indicates whether to enable editing input values via keyboard input
|
|
244
|
-
* when the user clicks a label. This allows the user to move the slider
|
|
353
|
+
* when the user clicks a thumb value label. This allows the user to move the slider
|
|
245
354
|
* thumb to precise values without sliding the thumbs.
|
|
246
355
|
*
|
|
247
|
-
* 
|
|
248
357
|
*
|
|
249
358
|
* @default false
|
|
250
359
|
*/
|
|
251
360
|
accessor valueLabelsEditingEnabled: boolean;
|
|
252
361
|
/**
|
|
253
|
-
* Determines whether the labels are placed before or after the track.
|
|
362
|
+
* Determines whether the thumb value labels are placed before or after the track.
|
|
254
363
|
*
|
|
255
|
-
* @default "
|
|
364
|
+
* @default "start"
|
|
365
|
+
*/
|
|
366
|
+
accessor valueLabelsPlacement: "end" | "start";
|
|
367
|
+
/**
|
|
368
|
+
* An array of numbers representing absolute thumb positions on the slider. This can be set as comma-separated
|
|
369
|
+
* numbers in the attribute (e.g., `<arcgis-slider values="10, 20, 30"></arcgis-slider>`) or programmatically as an
|
|
370
|
+
* array of numbers (e.g., `slider.values = [10, 20, 30]`).
|
|
256
371
|
*/
|
|
257
|
-
accessor valueLabelsPlacement: "leading" | "trailing";
|
|
258
|
-
/** An array of numbers representing absolute thumb positions on the slider. */
|
|
259
372
|
accessor values: number[];
|
|
373
|
+
/** Permanently destroys the component. */
|
|
260
374
|
destroy(): Promise<void>;
|
|
261
375
|
/**
|
|
262
|
-
* Fires when the
|
|
263
|
-
*
|
|
264
|
-
*
|
|
265
|
-
* This event does not fire when `values` changes.
|
|
266
|
-
* Use `arcgisInput` or `arcgisChange` instead.
|
|
376
|
+
* Fires when the [activeValue](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#activeValue) changes as a thumb or the range gains or loses focus.
|
|
377
|
+
* This event does not fire when [values](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#values) change. Use [@arcgisInput](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#event-arcgisInput) for continuous updates or
|
|
378
|
+
* [@arcgisChange](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#event-arcgisChange) when the interaction is committed.
|
|
267
379
|
*
|
|
268
|
-
* @
|
|
380
|
+
* @example
|
|
381
|
+
* ```js
|
|
382
|
+
* // Display the active value status of the slider in a div element
|
|
383
|
+
* const slider = document.querySelector("arcgis-slider");
|
|
384
|
+
* const status = document.getElementById("slider-status");
|
|
385
|
+
*
|
|
386
|
+
* const renderActive = () => {
|
|
387
|
+
* const active = slider.activeValue;
|
|
388
|
+
* // active is: undefined (none), number (thumb value), or "all" (range segment)
|
|
389
|
+
* status.textContent =
|
|
390
|
+
* active === "all"
|
|
391
|
+
* ? "Editing range"
|
|
392
|
+
* : active == null
|
|
393
|
+
* ? "No active thumb"
|
|
394
|
+
* : `Editing value: ${active}`;
|
|
395
|
+
* };
|
|
396
|
+
*
|
|
397
|
+
* slider.addEventListener("arcgisActiveValueChange", renderActive);
|
|
398
|
+
* // Pair with these when you need value updates:
|
|
399
|
+
* slider.addEventListener("arcgisInput", () => console.log("values", slider.values));
|
|
400
|
+
* slider.addEventListener("arcgisChange", () => console.log("committed", slider.values));
|
|
401
|
+
*
|
|
402
|
+
* renderActive();
|
|
403
|
+
* ```
|
|
404
|
+
* @see [activeValue](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#activeValue)
|
|
269
405
|
*/
|
|
270
406
|
readonly arcgisActiveValueChange: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
271
407
|
/**
|
|
272
|
-
* Fires when the thumb or range is released on the
|
|
408
|
+
* Fires when the thumb or range is released on the slider.
|
|
409
|
+
*
|
|
410
|
+
* Use [@arcgisInput](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#event-arcgisInput) for continuous updates during a drag.
|
|
273
411
|
*
|
|
274
|
-
*
|
|
275
|
-
*
|
|
412
|
+
* @example
|
|
413
|
+
* ```js
|
|
414
|
+
* const slider = document.querySelector("arcgis-slider");
|
|
415
|
+
* slider.popoverPlacement = "end";
|
|
416
|
+
*
|
|
417
|
+
* // Example: Dynamic popover content based on slider value
|
|
418
|
+
* const popover = document.getElementById("popover");
|
|
419
|
+
* const unitCost = 12.5;
|
|
420
|
+
* const numberFormatter = new Intl.NumberFormat();
|
|
421
|
+
* const usd = new Intl.NumberFormat(undefined, { style: "currency", currency: "USD" });
|
|
422
|
+
*
|
|
423
|
+
* const renderPopover = () => {
|
|
424
|
+
* const value = Number(slider.values?.[0] ?? 0); // 0-100
|
|
425
|
+
* const annualCost = (value / 100) * 800 * 365 * unitCost;
|
|
426
|
+
* popover.textContent = `Est. annual cost: ${usd.format(annualCost)} (at ${numberFormatter.format(value)}%)`;
|
|
427
|
+
* slider.popoverLabel = `Cost estimate ${usd.format(annualCost)} at ${numberFormatter.format(value)} percent`;
|
|
428
|
+
* };
|
|
429
|
+
*
|
|
430
|
+
* slider.addEventListener("arcgisChange", renderPopover);
|
|
431
|
+
* renderPopover();
|
|
432
|
+
* ```
|
|
276
433
|
*/
|
|
277
434
|
readonly arcgisChange: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
278
435
|
/**
|
|
279
|
-
* Fires
|
|
436
|
+
* Fires continuously while the thumb or range is being dragged.
|
|
437
|
+
* This event can fire frequently; consider debouncing or throttling expensive work.
|
|
280
438
|
*
|
|
281
|
-
*
|
|
282
|
-
*
|
|
283
|
-
*
|
|
439
|
+
* @example
|
|
440
|
+
* ```js
|
|
441
|
+
* import FeatureEffect from "@arcgis/core/layers/support/FeatureEffect";
|
|
442
|
+
* import FeatureFilter from "@arcgis/core/layers/support/FeatureFilter";
|
|
443
|
+
*
|
|
444
|
+
* slider.addEventListener("arcgisInput", () => {
|
|
445
|
+
* const value = slider.values[0] ?? 0;
|
|
446
|
+
* layer.featureEffect = new FeatureEffect({
|
|
447
|
+
* filter: new FeatureFilter({
|
|
448
|
+
* where: `FIELD <= ${value}`,
|
|
449
|
+
* }),
|
|
450
|
+
* includedEffect: "bloom(1.4, 0.2px, 0.1)",
|
|
451
|
+
* excludedEffect: "opacity(20%) grayscale(100%)",
|
|
452
|
+
* });
|
|
453
|
+
* });
|
|
454
|
+
* ```
|
|
284
455
|
*/
|
|
285
456
|
readonly arcgisInput: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
286
|
-
/**
|
|
457
|
+
/**
|
|
458
|
+
* Fires when the slider's range changes.
|
|
459
|
+
* This occurs when the user edits the [min](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#min) or [max](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-slider/#max) range labels (when enabled).
|
|
460
|
+
*
|
|
461
|
+
* @example
|
|
462
|
+
* ```js
|
|
463
|
+
* // Example: Keep a "budget" value inside the editable min/max range
|
|
464
|
+
* const slider = document.querySelector("arcgis-slider");
|
|
465
|
+
*
|
|
466
|
+
* const clamp = (val, min, max) => Math.min(max, Math.max(min, val));
|
|
467
|
+
*
|
|
468
|
+
* const render = () => {
|
|
469
|
+
* rangeText.textContent = `Allowed: ${slider.min}–${slider.max}`;
|
|
470
|
+
*
|
|
471
|
+
* // If your UI stores a single value, keep it inside the new range.
|
|
472
|
+
* const current = Number(slider.values?.[0] ?? slider.min);
|
|
473
|
+
* const next = clamp(current, slider.min, slider.max);
|
|
474
|
+
*
|
|
475
|
+
* if (next !== current) {
|
|
476
|
+
* slider.values = [next];
|
|
477
|
+
* }
|
|
478
|
+
*
|
|
479
|
+
* valueText.textContent = `Selected: ${next}`;
|
|
480
|
+
* };
|
|
481
|
+
*
|
|
482
|
+
* slider.addEventListener("arcgisRangeChange", render);
|
|
483
|
+
* render();
|
|
484
|
+
* ```
|
|
485
|
+
*/
|
|
287
486
|
readonly arcgisRangeChange: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
288
487
|
readonly "@eventTypes": {
|
|
289
488
|
arcgisActiveValueChange: ArcgisSlider["arcgisActiveValueChange"]["detail"];
|