@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.
Files changed (132) hide show
  1. package/README.md +24 -1
  2. package/dist/cdn/3Y4H3CAQ.js +2 -0
  3. package/dist/cdn/{S7T3XQPB.js → 43KGVFBF.js} +1 -1
  4. package/dist/cdn/B43M633Q.js +2 -0
  5. package/dist/cdn/DDJDHAHT.js +2 -0
  6. package/dist/cdn/GFUGR2W7.js +2 -0
  7. package/dist/cdn/{7Y42J3JI.js → GPVWNUMW.js} +1 -1
  8. package/dist/cdn/GSNPEBGQ.js +4 -0
  9. package/dist/cdn/{C6JAR4IN.js → H74W6KYI.js} +1 -1
  10. package/dist/cdn/{7CI55VCH.js → HYLC5GEB.js} +1 -1
  11. package/dist/cdn/{AXTSUI2Q.js → JJZBCHU4.js} +3 -3
  12. package/dist/cdn/{7PB2GGQH.js → JRF33N6C.js} +1 -1
  13. package/dist/cdn/LVSH5I3Q.js +2 -0
  14. package/dist/cdn/MHJWVKG5.js +2 -0
  15. package/dist/cdn/{6NYYZIHB.js → MNN3QF54.js} +1 -1
  16. package/dist/cdn/{GQLKGVRX.js → O3CBCQNL.js} +1 -1
  17. package/dist/cdn/O6ZASYX6.js +2 -0
  18. package/dist/cdn/{YVSTPEPS.js → OQF4LYVE.js} +1 -1
  19. package/dist/cdn/{ZOWIFVL3.js → P4CF7V4U.js} +1 -1
  20. package/dist/cdn/QEPJM6XG.js +2 -0
  21. package/dist/cdn/{J5X5TNVW.js → TTV4Z2RR.js} +1 -1
  22. package/dist/cdn/WG5GA6QX.js +2 -0
  23. package/dist/cdn/{7HQMPKZO.js → YZGTCNEQ.js} +1 -1
  24. package/dist/cdn/assets/field-pick-list/t9n/messages.no.json +1 -1
  25. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.ar.json +1 -0
  26. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.bg.json +1 -0
  27. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.bs.json +1 -0
  28. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.ca.json +1 -0
  29. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.cs.json +1 -0
  30. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.da.json +1 -0
  31. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.de.json +1 -0
  32. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.el.json +1 -0
  33. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.en-US.json +1 -0
  34. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.en.json +1 -0
  35. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.es.json +1 -0
  36. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.et.json +1 -0
  37. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.fi.json +1 -0
  38. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.fr.json +1 -0
  39. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.he.json +1 -0
  40. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.hr.json +1 -0
  41. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.hu.json +1 -0
  42. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.id.json +1 -0
  43. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.it.json +1 -0
  44. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.ja.json +1 -0
  45. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.ko.json +1 -0
  46. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.lt.json +1 -0
  47. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.lv.json +1 -0
  48. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.nl.json +1 -0
  49. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.no.json +1 -0
  50. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.pl.json +1 -0
  51. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.pt-BR.json +1 -0
  52. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.pt-PT.json +1 -0
  53. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.ro.json +1 -0
  54. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.ru.json +1 -0
  55. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.sk.json +1 -0
  56. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.sl.json +1 -0
  57. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.sr.json +1 -0
  58. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.sv.json +1 -0
  59. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.th.json +1 -0
  60. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.tr.json +1 -0
  61. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.uk.json +1 -0
  62. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.vi.json +1 -0
  63. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.zh-CN.json +1 -0
  64. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.zh-HK.json +1 -0
  65. package/dist/cdn/assets/spatial-reference-picker/t9n/messages.zh-TW.json +1 -0
  66. package/dist/cdn/index.js +1 -1
  67. package/dist/cdn/main.css +1 -1
  68. package/dist/chunks/commonFunctions.js +5 -11
  69. package/dist/components/arcgis-ckeditor5/customElement.d.ts +1 -0
  70. package/dist/components/arcgis-ckeditor5/customElement.js +12 -12
  71. package/dist/components/arcgis-ckeditor5/types.d.ts +9 -0
  72. package/dist/components/arcgis-ckeditor5-popover/customElement.d.ts +1 -0
  73. package/dist/components/arcgis-ckeditor5-popover/customElement.js +1 -1
  74. package/dist/components/arcgis-color-input/customElement.d.ts +3 -2
  75. package/dist/components/arcgis-field-info/customElement.d.ts +3 -2
  76. package/dist/components/arcgis-field-info/customElement.js +16 -18
  77. package/dist/components/arcgis-field-info/utils/basic.d.ts +21 -2
  78. package/dist/components/arcgis-field-pick-list/customElement.d.ts +14 -10
  79. package/dist/components/arcgis-field-pick-list/customElement.js +2 -2
  80. package/dist/components/arcgis-field-pick-list/utils/types.d.ts +25 -3
  81. package/dist/components/arcgis-histogram/customElement.d.ts +46 -28
  82. package/dist/components/arcgis-histogram/customElement.js +81 -90
  83. package/dist/components/arcgis-histogram/types.d.ts +1 -3
  84. package/dist/components/arcgis-label-input/customElement.d.ts +6 -6
  85. package/dist/components/arcgis-label-input/customElement.js +22 -17
  86. package/dist/components/arcgis-picker-input/customElement.d.ts +3 -2
  87. package/dist/components/arcgis-picker-input/customElement.js +11 -11
  88. package/dist/components/arcgis-ramp-color/customElement.d.ts +2 -0
  89. package/dist/components/arcgis-ramp-color-break/customElement.d.ts +2 -0
  90. package/dist/components/arcgis-ramp-opacity/customElement.d.ts +1 -0
  91. package/dist/components/arcgis-slider/customElement.d.ts +282 -83
  92. package/dist/components/arcgis-slider/customElement.js +434 -360
  93. package/dist/components/arcgis-slider-input/customElement.d.ts +7 -0
  94. package/dist/components/arcgis-slider-input/customElement.js +12 -12
  95. package/dist/components/arcgis-spatial-reference-picker/customElement.d.ts +327 -0
  96. package/dist/components/arcgis-spatial-reference-picker/customElement.js +7702 -0
  97. package/dist/components/arcgis-spatial-reference-picker/index.d.ts +1 -0
  98. package/dist/components/arcgis-spatial-reference-picker/index.js +3 -0
  99. package/dist/components/arcgis-spatial-reference-picker-tree/customElement.d.ts +35 -0
  100. package/dist/components/arcgis-spatial-reference-picker-tree/customElement.js +77 -0
  101. package/dist/components/arcgis-spatial-reference-picker-tree/index.d.ts +1 -0
  102. package/dist/components/arcgis-spatial-reference-picker-tree/index.js +3 -0
  103. package/dist/components/arcgis-ticks/customElement.d.ts +110 -20
  104. package/dist/components/arcgis-ticks/customElement.js +30 -30
  105. package/dist/components/arcgis-ticks/types.d.ts +23 -0
  106. package/dist/components/arcgis-unique-values-list/customElement.d.ts +14 -5
  107. package/dist/components/arcgis-unique-values-list/customElement.js +158 -151
  108. package/dist/components/arcgis-unique-values-list/utils/basic.d.ts +14 -2
  109. package/dist/docs/api.json +1 -1
  110. package/dist/docs/docs.json +1 -1
  111. package/dist/docs/vscode.html-custom-data.json +1 -1
  112. package/dist/docs/web-types.json +1 -1
  113. package/dist/index.d.ts +39 -1
  114. package/dist/loader.js +5 -3
  115. package/dist/types/lumina.d.ts +15 -3
  116. package/dist/types/preact.d.ts +17 -3
  117. package/dist/types/react.d.ts +19 -3
  118. package/dist/types/stencil.d.ts +15 -3
  119. package/dist/utils/internal-types.d.ts +1 -0
  120. package/dist/utils/spatial-references.d.ts +1 -0
  121. package/dist/utils/types.d.ts +39 -22
  122. package/package.json +8 -6
  123. package/dist/cdn/6DQVLQL6.js +0 -2
  124. package/dist/cdn/6MGBOM6S.js +0 -2
  125. package/dist/cdn/BAVGT3I5.js +0 -2
  126. package/dist/cdn/P45VPBNI.js +0 -2
  127. package/dist/cdn/UTXWKXMT.js +0 -4
  128. package/dist/cdn/XEB2RUND.js +0 -2
  129. package/dist/cdn/ZL3E4ZGE.js +0 -2
  130. package/dist/cdn/ZP76EPVI.js +0 -2
  131. /package/dist/cdn/{CSDKXC4T.js → TJNYRK5P.js} +0 -0
  132. /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 s } from "../../chunks/runtime.js";
3
- import { css as n, html as o } from "lit";
4
- import { LitElement as l, createEvent as i, safeStyleMap as a } from "@arcgis/lumina";
5
- import { createRef as r, ref as t } from "lit/directives/ref.js";
6
- const c = n`: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 p extends l {
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 = r(), this.open = !1, this.disabled = !1, this.iconEnd = "pencil", this.label = "", this.arcgisPopoverOpen = i(), this.arcgisPopoverClose = i(), this.listenOn(document.body, "arcgisPopoverOpen", this.onPopoverOpen);
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 = c;
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=${a(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>`;
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
- s("arcgis-picker-input", p);
54
+ n("arcgis-picker-input", d);
55
55
  export {
56
- p as ArcgisPickerInput
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 currently active value of the slider.
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
- * It can be:
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 `arcgisActiveValueChange` to be notified when a value becomes active or inactive.
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](#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 the slider's values to overlap.
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
- /** @default false */
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
- * Used to configure where the fill is placed along the slider track in relation to the value handle.
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
- * Used to define the full range displayed by the slider.
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 full range is visualized by the track while the [min](#min) and [max](#max) defines the subset of allowed values for the thumbs.
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](#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
- * Used to define the full range displayed by the slider.
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 full range is visualized by the track while the [min](#min) and [max](#max) defines the subset of allowed values for the thumbs.
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](#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
- * When specified, allows users to customize labels.
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
- * Note: the formatted label is also used as the thumb's accessible value text
78
- * via `aria-valuetext`, which screen readers prefer to announce over the raw
79
- * numeric value.
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: ((value: number, type: "max" | "min" | "value", defaultFormatter: (value: number) => string) => nullish | string) | undefined;
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 widget.
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 possible data/thumb value of the slider.
162
+ * The maximum value for the slider thumbs. Thumbs will not move past this value.
90
163
  *
91
- * To display the `max` value's label on the slider, set [showRangeLabels](#showRangeLabels) to `true`.
92
- * To allow the end user to modify the max value, set [rangeLabelsEditingEnabled](#rangeLabelsEditingEnabled) to `true`.
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](#rangeLabelsEditingEnabled)
95
- * @see [showRangeLabels](#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 possible data/thumb value of the slider.
124
- *
125
- * To display the `min` value's label on the slider, set [showRangeLabels](#showRangeLabels) to `true`.
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](#rangeLabelsEditingEnabled)
129
- * @see [showRangeLabels](#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 of the popover.
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 the placement of the popover relative to the track.
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 "leading"
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: "leading" | "trailing";
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](#values) and shouldn't be used exclusively
166
- * for formatting purposes. To format thumb `labels`, use the [labelFormatter](#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
- * Indicates whether to enable editing range values via keyboard input
180
- * when the user clicks a [min](#min) or [max](#max) label.
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
- * Determines whether the range labels are placed centered with the slider track
188
- * or placed below it when the [layout](#layout) is `"horizontal"`.
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" | "trailing";
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 to min and max range labels are visible on the slider.
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 steps, or intervals, on the slider that restrict user
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. In this scenario,
213
- * the user may only slide the thumbs to values at the provided interval.
214
- * For example, if a value of `0.5` is set here, and the slider
215
- * [min](#min) is `0` and the slider [max](#max) is `10`, then the user will
216
- * only be able to update the thumbs to values of 0, 0.5, 1.0, 1.5, 2.0, etc.
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
- * // set steps at an interval of 0.5. So the
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
- * // Set steps at specific slider positions
227
- * <arcgis-slider min="0" max="100" steps="5, 10, 15, 20, 25, 30, 35, 40" values="15, 30"></arcgis-slider>
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
- * Indicates whether to show the value labels on the slider.
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
- * ![Slider with editable labels](https://developers.arcgis.com/javascript/latest/assets/img/apiref/widgets/sliders/slider-edit-label.png)
356
+ * ![Slider with editable labels](https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/sliders/slider-edit-label.avif)
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 "leading"
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 `activeValue` changes because a
263
- * thumb or range is focused and blurred.
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
- * @see [activeValue](#activeValue)
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 component.
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
- * Note: To constantly listen to the drag event,
275
- * use `arcgisInput` instead.
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 when the thumb or range is being dragged and released on the component.
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
- * Note: Fires frequently during drag. To perform
282
- * expensive operations consider using a debounce or throttle to avoid
283
- * locking up the main thread.
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
- /** Fires when the min or max values are changed by the user. */
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"];