@spectrum-web-components/slider 0.12.1 → 0.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +41 -7
- package/package.json +7 -7
- package/src/HandleController.d.ts +1 -0
- package/src/HandleController.js +14 -0
- package/src/HandleController.js.map +1 -1
- package/src/SliderHandle.d.ts +1 -0
- package/src/SliderHandle.js +4 -0
- package/src/SliderHandle.js.map +1 -1
- package/src/slider.css.js +1 -1
- package/src/slider.css.js.map +1 -1
package/custom-elements.json
CHANGED
|
@@ -32,6 +32,12 @@
|
|
|
32
32
|
}
|
|
33
33
|
]
|
|
34
34
|
},
|
|
35
|
+
{
|
|
36
|
+
"kind": "javascript-module",
|
|
37
|
+
"path": "sync/sp-slider.ts",
|
|
38
|
+
"declarations": [],
|
|
39
|
+
"exports": []
|
|
40
|
+
},
|
|
35
41
|
{
|
|
36
42
|
"kind": "javascript-module",
|
|
37
43
|
"path": "src/HandleController.ts",
|
|
@@ -242,6 +248,24 @@
|
|
|
242
248
|
}
|
|
243
249
|
}
|
|
244
250
|
},
|
|
251
|
+
{
|
|
252
|
+
"kind": "method",
|
|
253
|
+
"name": "waitForUpgrade",
|
|
254
|
+
"privacy": "private",
|
|
255
|
+
"return": {
|
|
256
|
+
"type": {
|
|
257
|
+
"text": "boolean"
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
"parameters": [
|
|
261
|
+
{
|
|
262
|
+
"name": "handle",
|
|
263
|
+
"type": {
|
|
264
|
+
"text": "HTMLElement"
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
]
|
|
268
|
+
},
|
|
245
269
|
{
|
|
246
270
|
"kind": "field",
|
|
247
271
|
"name": "extractModelFromLightDom",
|
|
@@ -1430,6 +1454,16 @@
|
|
|
1430
1454
|
"tagName": "sp-slider",
|
|
1431
1455
|
"customElement": true,
|
|
1432
1456
|
"events": [
|
|
1457
|
+
{
|
|
1458
|
+
"name": "sp-slider-handle-ready",
|
|
1459
|
+
"type": {
|
|
1460
|
+
"text": "CustomEvent"
|
|
1461
|
+
},
|
|
1462
|
+
"inheritedFrom": {
|
|
1463
|
+
"name": "SliderHandle",
|
|
1464
|
+
"module": "src/SliderHandle.ts"
|
|
1465
|
+
}
|
|
1466
|
+
},
|
|
1433
1467
|
{
|
|
1434
1468
|
"description": "The value of the element has changed.",
|
|
1435
1469
|
"name": "input",
|
|
@@ -1676,6 +1710,12 @@
|
|
|
1676
1710
|
}
|
|
1677
1711
|
],
|
|
1678
1712
|
"events": [
|
|
1713
|
+
{
|
|
1714
|
+
"name": "sp-slider-handle-ready",
|
|
1715
|
+
"type": {
|
|
1716
|
+
"text": "CustomEvent"
|
|
1717
|
+
}
|
|
1718
|
+
},
|
|
1679
1719
|
{
|
|
1680
1720
|
"description": "The value of the element has changed.",
|
|
1681
1721
|
"name": "input"
|
|
@@ -1820,7 +1860,7 @@
|
|
|
1820
1860
|
{
|
|
1821
1861
|
"kind": "variable",
|
|
1822
1862
|
"name": "styles",
|
|
1823
|
-
"default": "css`\n:host{--spectrum-slider-tick-mark-width:var(\n--spectrum-slider-m-tick-mark-width,var(--spectrum-alias-border-size-thick)\n);--spectrum-slider-tick-mark-height:var(\n--spectrum-slider-m-tick-mark-height,var(--spectrum-global-dimension-size-125)\n);--spectrum-slider-tick-mark-border-radius:var(\n--spectrum-slider-m-tick-mark-border-radius,var(--spectrum-alias-border-radius-xsmall)\n);--spectrum-slider-track-border-radius:var(\n--spectrum-slider-m-track-border-radius,var(--spectrum-global-dimension-static-size-10)\n);--spectrum-slider-track-height:var(\n--spectrum-slider-m-track-height,var(--spectrum-alias-border-size-thick)\n);--spectrum-slider-handle-width:var(\n--spectrum-slider-m-handle-width,var(--spectrum-alias-control-two-size-l)\n);--spectrum-slider-handle-height:var(\n--spectrum-slider-m-handle-height,var(--spectrum-alias-control-two-size-l)\n);--spectrum-slider-handle-gap:var(\n--spectrum-slider-m-handle-gap,var(--spectrum-alias-border-size-thicker)\n);--spectrum-slider-handle-border-size:var(\n--spectrum-slider-m-handle-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-slider-handle-border-radius:var(\n--spectrum-slider-m-handle-border-radius,var(--spectrum-global-dimension-size-100)\n);--spectrum-slider-height:var(\n--spectrum-slider-m-height,var(--spectrum-global-dimension-size-400)\n);--spectrum-slider-min-width:var(\n--spectrum-slider-m-min-width,var(--spectrum-global-dimension-size-1250)\n);--spectrum-slider-animation-duration:var(\n--spectrum-slider-m-animation-duration,var(--spectrum-global-animation-duration-100)\n);--spectrum-slider-ramp-track-color-disabled:var(\n--spectrum-slider-m-ramp-track-color-disabled,var(--spectrum-global-color-gray-300)\n);--spectrum-slider-ramp-track-height:var(\n--spectrum-slider-m-ramp-track-height,var(--spectrum-global-dimension-size-200)\n);--spectrum-slider-label-gap-y:var(--spectrum-global-dimension-size-85);--spectrum-slider-controls-margin:calc(var(--spectrum-slider-handle-width)/2);--spectrum-slider-track-margin-offset:calc(var(--spectrum-slider-controls-margin)*-1);--spectrum-slider-handle-margin-top:calc(var(--spectrum-slider-handle-width)/-2);--spectrum-slider-handle-margin-left:calc(var(--spectrum-slider-handle-width)/-2);--spectrum-slider-track-handleoffset:var(--spectrum-slider-handle-gap);--spectrum-slider-track-middle-handleoffset:calc(var(--spectrum-slider-handle-gap) + var(--spectrum-slider-handle-width)/2);--spectrum-slider-input-top:calc(var(--spectrum-slider-handle-margin-top)/4);--spectrum-slider-input-left:calc(var(--spectrum-slider-handle-margin-left)/4);--spectrum-slider-ramp-margin-top:0;--spectrum-slider-range-track-reset:0;--spectrum-slide-label-text-size:var(\n--spectrum-global-dimension-font-size-75\n);--spectrum-slide-label-text-line-height:var(\n--spectrum-global-font-line-height-small,1.3\n);--spectrum-slide-label-margin-bottom:-3px;--spectrum-slider-label-gap-x:var(\n--spectrum-alias-item-control-gap-m,var(--spectrum-global-dimension-size-125)\n)}:host{display:block;min-height:var(--spectrum-slider-height);min-width:var(--spectrum-slider-min-width);position:relative;-webkit-user-select:none;user-select:none;z-index:1}:host([dir=ltr]) #controls{margin-left:var(\n--spectrum-slider-controls-margin\n)}:host([dir=rtl]) #controls{margin-right:var(\n--spectrum-slider-controls-margin\n)}#controls{box-sizing:border-box;display:inline-block;min-height:var(--spectrum-slider-height);position:relative;vertical-align:top;width:calc(100% - var(--spectrum-slider-controls-margin)*2);z-index:auto}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{left:0}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{right:0}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{right:auto}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{left:auto}#fill,.track{box-sizing:border-box;height:var(\n--spectrum-slider-track-height\n);margin-top:calc(var(--spectrum-slider-track-height)/-2);pointer-events:none;position:absolute;top:calc(var(--spectrum-slider-height)/2);z-index:1}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{padding-left:0;padding-right:var(--spectrum-slider-track-handleoffset)}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{padding-left:var(--spectrum-slider-track-handleoffset);padding-right:0}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}#fill,.track{padding-bottom:0;padding-top:0}#fill:before,.track:before{border-radius:var(--spectrum-slider-track-border-radius);content:\"\";display:block;height:100%}:host([dir=ltr]) #fill{margin-left:0}:host([dir=rtl]) #fill{margin-right:0}:host([dir=ltr]) #fill{padding-left:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset));padding-right:0}:host([dir=rtl]) #fill{padding-left:0;padding-right:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset))}#fill{padding-bottom:0;padding-top:0}:host([dir=ltr]) .spectrum-Slider-fill--right{padding-left:0;padding-right:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset))}:host([dir=rtl]) .spectrum-Slider-fill--right{padding-left:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset));padding-right:0}.spectrum-Slider-fill--right{padding-bottom:0;padding-top:0}:host([dir=ltr]) .track~.track{left:auto}:host([dir=rtl]) .track~.track{right:auto}:host([dir=ltr]) .track~.track{right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl]) .track~.track{left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr]) .track~.track{padding-left:var(\n--spectrum-slider-track-handleoffset\n);padding-right:0}:host([dir=rtl]) .track~.track{padding-left:0;padding-right:var(\n--spectrum-slider-track-handleoffset\n)}:host([dir=ltr]) .track~.track{margin-left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl]) .track~.track{margin-right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr]) .track~.track{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) .track~.track{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}.track~.track{padding-bottom:0;padding-top:0}:host([variant=range]) #value{-webkit-user-select:text;user-select:text}:host([dir=ltr][variant=range]) .track:first-of-type{padding-left:0;padding-right:var(--spectrum-slider-track-handleoffset)}:host([dir=rtl][variant=range]) .track:first-of-type{padding-left:var(--spectrum-slider-track-handleoffset);padding-right:0}:host([dir=ltr][variant=range]) .track:first-of-type{left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl][variant=range]) .track:first-of-type{right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr][variant=range]) .track:first-of-type{right:auto}:host([dir=rtl][variant=range]) .track:first-of-type{left:auto}:host([dir=ltr][variant=range]) .track:first-of-type{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl][variant=range]) .track:first-of-type{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}:host([variant=range]) .track:first-of-type{padding-bottom:0;padding-top:0}:host([dir=ltr][variant=range]) [dir=ltr] .track,:host([dir=ltr][variant=range]) [dir=rtl] .track{left:auto}:host([dir=ltr][variant=range]) [dir=rtl] .track,:host([dir=rtl][variant=range]) [dir=rtl] .track{right:auto}:host([dir=ltr][variant=range]) [dir=ltr] .track,:host([dir=ltr][variant=range]) [dir=rtl] .track{right:auto}:host([dir=ltr][variant=range]) [dir=rtl] .track,:host([dir=rtl][variant=range]) [dir=rtl] .track{left:auto}:host([dir=ltr][variant=range]) .track,:host([dir=rtl][variant=range]) .track{padding-bottom:0;padding-left:var(--spectrum-slider-track-middle-handleoffset);padding-right:var(--spectrum-slider-track-middle-handleoffset);padding-top:0}:host([dir=ltr][variant=range]) .track:last-of-type{padding-left:var(\n--spectrum-slider-track-handleoffset\n);padding-right:0}:host([dir=rtl][variant=range]) .track:last-of-type{padding-left:0;padding-right:var(\n--spectrum-slider-track-handleoffset\n)}:host([dir=ltr][variant=range]) .track:last-of-type{left:auto}:host([dir=rtl][variant=range]) .track:last-of-type{right:auto}:host([dir=ltr][variant=range]) .track:last-of-type{right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl][variant=range]) .track:last-of-type{left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr][variant=range]) .track:last-of-type{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl][variant=range]) .track:last-of-type{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}:host([variant=range]) .track:last-of-type{padding-bottom:0;padding-top:0}:host([dir=ltr]) #ramp{left:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) #ramp{right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=ltr]) #ramp{right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) #ramp{left:var(\n--spectrum-slider-track-margin-offset\n)}#ramp{height:var(--spectrum-slider-ramp-track-height);margin-top:var(\n--spectrum-slider-ramp-margin-top\n);position:absolute;top:calc(var(--spectrum-slider-ramp-track-height)/2)}:host([dir=rtl]) #ramp svg{transform:matrix(-1,0,0,1,0,0)}#ramp svg{height:100%;width:100%}:host([dir=ltr]) .handle{left:0}:host([dir=rtl]) .handle{right:0}:host([dir=ltr]) .handle{margin-left:calc(var(--spectrum-slider-handle-width)/-2);margin-right:0}:host([dir=rtl]) .handle{margin-left:0;margin-right:calc(var(--spectrum-slider-handle-width)/-2)}.handle{border-radius:var(--spectrum-slider-handle-border-radius);border-style:solid;border-width:var(--spectrum-slider-handle-border-size);box-sizing:border-box;display:inline-block;height:var(--spectrum-slider-handle-height);margin-bottom:0;margin-top:var(--spectrum-slider-handle-margin-top);outline:none;position:absolute;top:calc(var(--spectrum-slider-height)/2);transition:border-width var(--spectrum-slider-animation-duration) ease-in-out;width:var(--spectrum-slider-handle-width);z-index:2}.handle.dragging,.handle.handle-highlight,.handle:active{border-width:var(\n--spectrum-slider-handle-border-size\n)}.handle.dragging,.handle.handle-highlight,.handle.is-tophandle,.handle:active{z-index:3}.handle:before{border-radius:100%;content:\" \";display:block;height:var(--spectrum-slider-handle-height);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:box-shadow var(--spectrum-global-animation-duration-100,.13s) ease-out,width var(--spectrum-global-animation-duration-100,.13s) ease-out,height var(--spectrum-global-animation-duration-100,.13s) ease-out;width:var(--spectrum-slider-handle-width)}.handle.handle-highlight:before{height:calc(var(--spectrum-slider-handle-height) + var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n)*2);width:calc(var(--spectrum-slider-handle-width) + var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n)*2)}:host([dir=ltr]) .input{left:var(\n--spectrum-slider-input-left\n)}:host([dir=rtl]) .input{right:var(\n--spectrum-slider-input-left\n)}.input{-webkit-appearance:none;border:0;cursor:default;height:var(--spectrum-slider-handle-height);margin:0;opacity:.000001;overflow:hidden;padding:0;pointer-events:none;position:absolute;top:var(--spectrum-slider-input-top);width:var(--spectrum-slider-handle-width)}.input:focus{outline:none}#label-container{display:flex;font-size:var(--spectrum-slide-label-text-size);line-height:var(--spectrum-slide-label-text-line-height);margin-bottom:var(--spectrum-slide-label-margin-bottom);padding-top:var(\n--spectrum-fieldlabel-m-padding-top,var(--spectrum-global-dimension-size-50)\n);position:relative;width:auto}:host([dir=ltr]) #label{padding-left:0}:host([dir=rtl]) #label{padding-right:0}#label{flex-grow:1}:host([dir=ltr]) #value{padding-right:0}:host([dir=rtl]) #value{padding-left:0}:host([dir=ltr]) #value{text-align:right}:host([dir=rtl]) #value{text-align:left}#value{font-feature-settings:\"tnum\";cursor:default;flex-grow:0}:host([dir=ltr]) #value{margin-left:var(\n--spectrum-slider-label-gap-x\n)}:host([dir=rtl]) #value{margin-right:var(\n--spectrum-slider-label-gap-x\n)}.ticks{display:flex;justify-content:space-between;margin:0 var(--spectrum-slider-track-margin-offset);margin-top:calc(var(--spectrum-slider-tick-mark-height) + var(--spectrum-slider-track-height)/2);z-index:0}.tick{position:relative;width:var(--spectrum-slider-tick-mark-width)}:host([dir=ltr]) .tick:after{left:calc(50% - var(--spectrum-slider-tick-mark-width)/2)}:host([dir=rtl]) .tick:after{right:calc(50% - var(--spectrum-slider-tick-mark-width)/2)}.tick:after{border-radius:var(--spectrum-slider-tick-mark-border-radius);content:\"\";display:block;height:var(--spectrum-slider-tick-mark-height);position:absolute;top:0;width:var(--spectrum-slider-tick-mark-width)}.tick .tickLabel{align-items:center;display:flex;font-size:var(--spectrum-slide-label-text-size);justify-content:center;line-height:var(--spectrum-slide-label-text-line-height);margin-bottom:0;margin-left:calc(var(--spectrum-slider-label-gap-x)*-1);margin-right:calc(var(--spectrum-slider-label-gap-x)*-1);margin-top:calc(var(--spectrum-slider-label-gap-y) + var(--spectrum-slider-tick-mark-height))}.tick:first-of-type .tickLabel,.tick:last-of-type .tickLabel{display:block;margin-left:0;margin-right:0;position:absolute}:host([dir=ltr]) .tick:first-of-type{left:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=rtl]) .tick:first-of-type{right:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=ltr]) .tick:first-of-type .tickLabel{left:0}:host([dir=rtl]) .tick:first-of-type .tickLabel{right:0}:host([dir=ltr]) .tick:last-of-type{right:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=rtl]) .tick:last-of-type{left:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=ltr]) .tick:last-of-type .tickLabel{right:0}:host([dir=rtl]) .tick:last-of-type .tickLabel{left:0}:host([disabled]){cursor:default}:host([disabled]) .handle{cursor:default;pointer-events:none}.spectrum-Slider-handleContainer,.spectrum-Slider-trackContainer{margin-left:calc(var(--spectrum-slider-handle-width)/2*-1);position:absolute;top:calc(var(--spectrum-slider-track-height)/2 - 1px);width:calc(100% + var(--spectrum-slider-handle-width))}.spectrum-Slider-trackContainer{height:var(--spectrum-slider-height);overflow:hidden}:host{--spectrum-slider-m-focus-ring-size:var(\n--spectrum-alias-focus-ring-size,var(--spectrum-global-dimension-static-size-25)\n);--spectrum-slider-m-handle-border-color-key-focus:var(\n--spectrum-global-color-gray-800\n);--spectrum-slider-m-handle-focus-ring-color-key-focus:var(\n--spectrum-alias-focus-color,var(--spectrum-global-color-blue-400)\n);--spectrum-slider-m-label-text-color:var(\n--spectrum-alias-label-text-color,var(--spectrum-global-color-gray-700)\n);--spectrum-slider-m-label-text-color-disabled:var(\n--spectrum-alias-text-color-disabled,var(--spectrum-global-color-gray-500)\n)}.track:before{background:var(\n--spectrum-slider-m-track-color,var(--spectrum-global-color-gray-400)\n)}#label-container{color:var(\n--spectrum-slider-m-label-text-color\n)}:host([variant=filled]) .track:first-child:before{background:var(\n--spectrum-slider-m-track-fill-color,var(--spectrum-global-color-gray-700)\n)}#fill:before{background:var(\n--spectrum-slider-m-track-fill-color,var(--spectrum-global-color-gray-700)\n)}#ramp path{fill:var(\n--spectrum-slider-m-track-color,var(--spectrum-global-color-gray-400)\n)}.handle{background:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-slider-m-handle-border-color,var(--spectrum-global-color-gray-700)\n)}.handle:hover{border-color:var(\n--spectrum-slider-m-handle-border-color-hover,var(--spectrum-global-color-gray-800)\n)}.handle.handle-highlight{border-color:var(\n--spectrum-slider-m-handle-border-color-key-focus,var(--spectrum-global-color-gray-800)\n)}.handle.handle-highlight:before{box-shadow:0 0 0 var(\n--spectrum-slider-m-focus-ring-size,var(--spectrum-alias-focus-ring-size)\n) var(--spectrum-slider-m-handle-focus-ring-color-key-focus)}.handle.dragging,.handle:active{border-color:var(\n--spectrum-slider-m-handle-border-color-down,var(--spectrum-global-color-gray-800)\n)}:host([variant=ramp]) .handle{box-shadow:0 0 0 4px var(\n--spectrum-alias-background-color-default,var(--spectrum-global-color-gray-100)\n)}.input{background:transparent}.tick:after{background-color:var(\n--spectrum-slider-m-tick-mark-color,var(--spectrum-global-color-gray-400)\n)}.handle.dragging{background:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-slider-m-handle-border-color-down,var(--spectrum-global-color-gray-800)\n)}:host([variant=range]) .track:not(:first-of-type):not(:last-of-type):before{background:var(\n--spectrum-slider-m-track-fill-color,var(--spectrum-global-color-gray-700)\n)}:host([disabled]) #label-container{color:var(\n--spectrum-slider-m-label-text-color-disabled\n)}:host([disabled]) .handle{background:var(\n--spectrum-alias-background-color-default,var(--spectrum-global-color-gray-100)\n);border-color:var(\n--spectrum-slider-m-handle-border-color-disabled,var(--spectrum-global-color-gray-400)\n)}:host([disabled]) .handle:active,:host([disabled]) .handle:hover{background:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-slider-m-handle-border-color-disabled,var(--spectrum-global-color-gray-400)\n)}:host([disabled]) .track:before{background:var(\n--spectrum-slider-m-track-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host([disabled][variant=filled]) .track:first-child:before{background:var(\n--spectrum-slider-m-track-fill-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host([disabled]) #fill:before{background:var(\n--spectrum-slider-m-track-fill-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host([disabled]) #ramp path{fill:var(\n--spectrum-slider-ramp-track-color-disabled\n)}:host([disabled][variant=range]) .track:not(:first-of-type):not(:last-of-type):before{background:var(\n--spectrum-slider-m-track-fill-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host{--spectrum-slider-handle-default-background-color:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);--spectrum-slider-handle-default-border-color:var(\n--spectrum-slider-m-handle-border-color,var(--spectrum-global-color-gray-700)\n)}sp-field-label{padding-bottom:0;padding-top:0}:host(:focus){outline:0}:host([editable]){display:grid;grid-template-areas:\"label .\" \"slider number\";grid-template-columns:1fr auto}:host([editable]) #label-container{grid-area:label}:host([editable]) #label-container+div{grid-area:slider}:host([editable]) sp-number-field{--spectrum-stepper-width:var(\n--spectrum-slider-editable-number-field-width,var(--spectrum-global-dimension-size-1000)\n);grid-area:number}:host([hide-stepper]) sp-number-field{--spectrum-stepper-width:var(\n--spectrum-slider-editable-number-field-width,var(--spectrum-global-dimension-size-900)\n)}:host([editable][dir=ltr]) sp-number-field{margin-left:var(--spectrum-global-dimension-size-200)}:host([editable][dir=rtl]) sp-number-field{margin-right:var(--spectrum-global-dimension-size-200)}:host([editable]) output{opacity:0}:host([disabled]){pointer-events:none}#track,:host([dragging]){touch-action:pan-x;-webkit-user-select:none;user-select:none}.handle{pointer-events:none}.not-exact.ticks{justify-content:start}:host([dir=ltr]) .not-exact .tick{padding-right:var(--sp-slider-tick-offset)}:host([dir=rtl]) .not-exact .tick{padding-left:var(--sp-slider-tick-offset)}:host([dir=ltr]) .not-exact .tick:after{left:auto;transform:translate(-50%)}:host([dir=rtl]) .not-exact .tick:after{right:auto;transform:translate(50%)}.track:before{background-size:var(--spectrum-slider-track-background-size)!important}:host([dir=ltr]) .track:before{background:var(\n--spectrum-slider-track-color,var(--spectrum-global-color-gray-300)\n)}:host([dir=rtl]) .track:before{background:var(\n--spectrum-slider-track-color-rtl,var(\n--spectrum-slider-track-color,var(--spectrum-global-color-gray-300)\n)\n)}:host([dir=ltr]) .track:last-of-type:before{background-position:100%}:host([dir=rtl]) .track:first-of-type:before{background-position:100%}.track:not(:first-of-type):not(:last-of-type){padding-left:calc(var(--spectrum-slider-handle-width)/2 + var(--spectrum-slider-track-handleoffset))!important;padding-right:calc(var(--spectrum-slider-handle-width)/2 + var(--spectrum-slider-track-handleoffset))!important}:host([dir=ltr][variant=range]) .track,:host([dir=rtl][variant=range]) .track{margin:var(--spectrum-slider-range-track-reset);margin-top:calc(var(--spectrum-slider-track-height)/-2)}:host([dir=ltr]) .track:not(:first-of-type):not(:last-of-type){left:var(--spectrum-slider-track-segment-position)}:host([dir=rtl]) .track:not(:first-of-type):not(:last-of-type){right:var(--spectrum-slider-track-segment-position)}.visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host([label-visibility=value][dir=ltr]) #value{margin-left:auto}:host([label-visibility=value][dir=rtl]) #value{margin-right:auto}:host([label-visibility=none]) #label-container{margin:0;padding:0}\n`"
|
|
1863
|
+
"default": "css`\n:host{--spectrum-slider-tick-mark-width:var(\n--spectrum-slider-m-tick-mark-width,var(--spectrum-alias-border-size-thick)\n);--spectrum-slider-tick-mark-height:var(\n--spectrum-slider-m-tick-mark-height,var(--spectrum-global-dimension-size-125)\n);--spectrum-slider-tick-mark-border-radius:var(\n--spectrum-slider-m-tick-mark-border-radius,var(--spectrum-alias-border-radius-xsmall)\n);--spectrum-slider-track-border-radius:var(\n--spectrum-slider-m-track-border-radius,var(--spectrum-global-dimension-static-size-10)\n);--spectrum-slider-track-height:var(\n--spectrum-slider-m-track-height,var(--spectrum-alias-border-size-thick)\n);--spectrum-slider-handle-width:var(\n--spectrum-slider-m-handle-width,var(--spectrum-alias-control-two-size-l)\n);--spectrum-slider-handle-height:var(\n--spectrum-slider-m-handle-height,var(--spectrum-alias-control-two-size-l)\n);--spectrum-slider-handle-gap:var(\n--spectrum-slider-m-handle-gap,var(--spectrum-alias-border-size-thicker)\n);--spectrum-slider-handle-border-size:var(\n--spectrum-slider-m-handle-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-slider-handle-border-radius:var(\n--spectrum-slider-m-handle-border-radius,var(--spectrum-global-dimension-size-100)\n);--spectrum-slider-height:var(\n--spectrum-slider-m-height,var(--spectrum-global-dimension-size-400)\n);--spectrum-slider-min-width:var(\n--spectrum-slider-m-min-width,var(--spectrum-global-dimension-size-1250)\n);--spectrum-slider-animation-duration:var(\n--spectrum-slider-m-animation-duration,var(--spectrum-global-animation-duration-100)\n);--spectrum-slider-ramp-track-color-disabled:var(\n--spectrum-slider-m-ramp-track-color-disabled,var(--spectrum-global-color-gray-300)\n);--spectrum-slider-ramp-track-height:var(\n--spectrum-slider-m-ramp-track-height,var(--spectrum-global-dimension-size-200)\n);--spectrum-slider-label-gap-y:var(--spectrum-global-dimension-size-85);--spectrum-slider-controls-margin:calc(var(--spectrum-slider-handle-width)/2);--spectrum-slider-track-margin-offset:calc(var(--spectrum-slider-controls-margin)*-1);--spectrum-slider-handle-margin-top:calc(var(--spectrum-slider-handle-width)/-2);--spectrum-slider-handle-margin-left:calc(var(--spectrum-slider-handle-width)/-2);--spectrum-slider-track-handleoffset:var(--spectrum-slider-handle-gap);--spectrum-slider-track-middle-handleoffset:calc(var(--spectrum-slider-handle-gap) + var(--spectrum-slider-handle-width)/2);--spectrum-slider-input-top:calc(var(--spectrum-slider-handle-margin-top)/4);--spectrum-slider-input-left:calc(var(--spectrum-slider-handle-margin-left)/4);--spectrum-slider-ramp-margin-top:0;--spectrum-slider-range-track-reset:0;--spectrum-slide-label-text-size:var(\n--spectrum-global-dimension-font-size-75\n);--spectrum-slide-label-text-line-height:var(\n--spectrum-global-font-line-height-small,1.3\n);--spectrum-slide-label-margin-bottom:-3px;--spectrum-slider-label-gap-x:var(\n--spectrum-alias-item-control-gap-m,var(--spectrum-global-dimension-size-125)\n)}:host{display:block;min-height:var(--spectrum-slider-height);min-width:var(--spectrum-slider-min-width);position:relative;-webkit-user-select:none;user-select:none;z-index:1}:host([dir=ltr]) #controls{margin-left:var(\n--spectrum-slider-controls-margin\n)}:host([dir=rtl]) #controls{margin-right:var(\n--spectrum-slider-controls-margin\n)}#controls{box-sizing:border-box;display:inline-block;min-height:var(--spectrum-slider-height);position:relative;vertical-align:top;width:calc(100% - var(--spectrum-slider-controls-margin)*2);z-index:auto}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{left:0}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{right:0}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{right:auto}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{left:auto}#fill,.track{box-sizing:border-box;height:var(\n--spectrum-slider-track-height\n);margin-top:calc(var(--spectrum-slider-track-height)/-2);pointer-events:none;position:absolute;top:calc(var(--spectrum-slider-height)/2);z-index:1}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{padding-left:0;padding-right:var(--spectrum-slider-track-handleoffset)}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{padding-left:var(--spectrum-slider-track-handleoffset);padding-right:0}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}#fill,.track{padding-bottom:0;padding-top:0}#fill:before,.track:before{border-radius:var(--spectrum-slider-track-border-radius);content:\"\";display:block;height:100%}:host([dir=ltr]) #fill{margin-left:0}:host([dir=rtl]) #fill{margin-right:0}:host([dir=ltr]) #fill{padding-left:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset));padding-right:0}:host([dir=rtl]) #fill{padding-left:0;padding-right:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset))}#fill{padding-bottom:0;padding-top:0}:host([dir=ltr]) .spectrum-Slider-fill--right{padding-left:0;padding-right:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset))}:host([dir=rtl]) .spectrum-Slider-fill--right{padding-left:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset));padding-right:0}.spectrum-Slider-fill--right{padding-bottom:0;padding-top:0}:host([dir=ltr]) .track~.track{left:auto}:host([dir=rtl]) .track~.track{right:auto}:host([dir=ltr]) .track~.track{right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl]) .track~.track{left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr]) .track~.track{padding-left:var(\n--spectrum-slider-track-handleoffset\n);padding-right:0}:host([dir=rtl]) .track~.track{padding-left:0;padding-right:var(\n--spectrum-slider-track-handleoffset\n)}:host([dir=ltr]) .track~.track{margin-left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl]) .track~.track{margin-right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr]) .track~.track{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) .track~.track{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}.track~.track{padding-bottom:0;padding-top:0}:host([variant=range]) #value{-webkit-user-select:text;user-select:text}:host([dir=ltr][variant=range]) .track:first-of-type{padding-left:0;padding-right:var(--spectrum-slider-track-handleoffset)}:host([dir=rtl][variant=range]) .track:first-of-type{padding-left:var(--spectrum-slider-track-handleoffset);padding-right:0}:host([dir=ltr][variant=range]) .track:first-of-type{left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl][variant=range]) .track:first-of-type{right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr][variant=range]) .track:first-of-type{right:auto}:host([dir=rtl][variant=range]) .track:first-of-type{left:auto}:host([dir=ltr][variant=range]) .track:first-of-type{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl][variant=range]) .track:first-of-type{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}:host([variant=range]) .track:first-of-type{padding-bottom:0;padding-top:0}:host([dir=ltr][variant=range]) [dir=ltr] .track,:host([dir=ltr][variant=range]) [dir=rtl] .track{left:auto}:host([dir=ltr][variant=range]) [dir=rtl] .track,:host([dir=rtl][variant=range]) [dir=rtl] .track{right:auto}:host([dir=ltr][variant=range]) [dir=ltr] .track,:host([dir=ltr][variant=range]) [dir=rtl] .track{right:auto}:host([dir=ltr][variant=range]) [dir=rtl] .track,:host([dir=rtl][variant=range]) [dir=rtl] .track{left:auto}:host([dir=ltr][variant=range]) .track,:host([dir=rtl][variant=range]) .track{padding-bottom:0;padding-left:var(--spectrum-slider-track-middle-handleoffset);padding-right:var(--spectrum-slider-track-middle-handleoffset);padding-top:0}:host([dir=ltr][variant=range]) .track:last-of-type{padding-left:var(\n--spectrum-slider-track-handleoffset\n);padding-right:0}:host([dir=rtl][variant=range]) .track:last-of-type{padding-left:0;padding-right:var(\n--spectrum-slider-track-handleoffset\n)}:host([dir=ltr][variant=range]) .track:last-of-type{left:auto}:host([dir=rtl][variant=range]) .track:last-of-type{right:auto}:host([dir=ltr][variant=range]) .track:last-of-type{right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl][variant=range]) .track:last-of-type{left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr][variant=range]) .track:last-of-type{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl][variant=range]) .track:last-of-type{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}:host([variant=range]) .track:last-of-type{padding-bottom:0;padding-top:0}:host([dir=ltr]) #ramp{left:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) #ramp{right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=ltr]) #ramp{right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) #ramp{left:var(\n--spectrum-slider-track-margin-offset\n)}#ramp{height:var(--spectrum-slider-ramp-track-height);margin-top:var(\n--spectrum-slider-ramp-margin-top\n);position:absolute;top:calc(var(--spectrum-slider-ramp-track-height)/2)}:host([dir=rtl]) #ramp svg{transform:matrix(-1,0,0,1,0,0)}#ramp svg{height:100%;width:100%}:host([dir=ltr]) .handle{left:0}:host([dir=rtl]) .handle{right:0}:host([dir=ltr]) .handle{margin-left:calc(var(--spectrum-slider-handle-width)/-2);margin-right:0}:host([dir=rtl]) .handle{margin-left:0;margin-right:calc(var(--spectrum-slider-handle-width)/-2)}.handle{border-radius:var(--spectrum-slider-handle-border-radius);border-style:solid;border-width:var(--spectrum-slider-handle-border-size);box-sizing:border-box;display:inline-block;height:var(--spectrum-slider-handle-height);margin-bottom:0;margin-top:var(--spectrum-slider-handle-margin-top);outline:none;position:absolute;top:calc(var(--spectrum-slider-height)/2);transition:border-width var(--spectrum-slider-animation-duration) ease-in-out;width:var(--spectrum-slider-handle-width);z-index:2}.handle.dragging,.handle.handle-highlight,.handle:active{border-width:var(\n--spectrum-slider-handle-border-size\n)}.handle.dragging,.handle.handle-highlight,.handle.is-tophandle,.handle:active{z-index:3}.handle:before{border-radius:100%;content:\" \";display:block;height:var(--spectrum-slider-handle-height);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:box-shadow var(--spectrum-global-animation-duration-100,.13s) ease-out,width var(--spectrum-global-animation-duration-100,.13s) ease-out,height var(--spectrum-global-animation-duration-100,.13s) ease-out;width:var(--spectrum-slider-handle-width)}.handle.handle-highlight:before{height:calc(var(--spectrum-slider-handle-height) + var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n)*2);width:calc(var(--spectrum-slider-handle-width) + var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n)*2)}:host([dir=ltr]) .input{left:var(\n--spectrum-slider-input-left\n)}:host([dir=rtl]) .input{right:var(\n--spectrum-slider-input-left\n)}.input{-webkit-appearance:none;border:0;cursor:default;height:var(--spectrum-slider-handle-height);margin:0;opacity:.000001;overflow:hidden;padding:0;pointer-events:none;position:absolute;top:var(--spectrum-slider-input-top);width:var(--spectrum-slider-handle-width)}.input:focus{outline:none}#label-container{display:flex;font-size:var(--spectrum-slide-label-text-size);line-height:var(--spectrum-slide-label-text-line-height);margin-bottom:var(--spectrum-slide-label-margin-bottom);padding-top:var(\n--spectrum-fieldlabel-m-padding-top,var(--spectrum-global-dimension-size-50)\n);position:relative;width:auto}:host([dir=ltr]) #label{padding-left:0}:host([dir=rtl]) #label{padding-right:0}#label{flex-grow:1}:host([dir=ltr]) #value{padding-right:0}:host([dir=rtl]) #value{padding-left:0}:host([dir=ltr]) #value{text-align:right}:host([dir=rtl]) #value{text-align:left}#value{font-feature-settings:\"tnum\";cursor:default;flex-grow:0}:host([dir=ltr]) #value{margin-left:var(\n--spectrum-slider-label-gap-x\n)}:host([dir=rtl]) #value{margin-right:var(\n--spectrum-slider-label-gap-x\n)}.ticks{display:flex;justify-content:space-between;margin:0 var(--spectrum-slider-track-margin-offset);margin-top:calc(var(--spectrum-slider-tick-mark-height) + var(--spectrum-slider-track-height)/2);z-index:0}.tick{position:relative;width:var(--spectrum-slider-tick-mark-width)}:host([dir=ltr]) .tick:after{left:calc(50% - var(--spectrum-slider-tick-mark-width)/2)}:host([dir=rtl]) .tick:after{right:calc(50% - var(--spectrum-slider-tick-mark-width)/2)}.tick:after{border-radius:var(--spectrum-slider-tick-mark-border-radius);content:\"\";display:block;height:var(--spectrum-slider-tick-mark-height);position:absolute;top:0;width:var(--spectrum-slider-tick-mark-width)}.tick .tickLabel{align-items:center;display:flex;font-size:var(--spectrum-slide-label-text-size);justify-content:center;line-height:var(--spectrum-slide-label-text-line-height);margin-bottom:0;margin-left:calc(var(--spectrum-slider-label-gap-x)*-1);margin-right:calc(var(--spectrum-slider-label-gap-x)*-1);margin-top:calc(var(--spectrum-slider-label-gap-y) + var(--spectrum-slider-tick-mark-height))}.tick:first-of-type .tickLabel,.tick:last-of-type .tickLabel{display:block;margin-left:0;margin-right:0;position:absolute}:host([dir=ltr]) .tick:first-of-type{left:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=rtl]) .tick:first-of-type{right:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=ltr]) .tick:first-of-type .tickLabel{left:0}:host([dir=rtl]) .tick:first-of-type .tickLabel{right:0}:host([dir=ltr]) .tick:last-of-type{right:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=rtl]) .tick:last-of-type{left:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=ltr]) .tick:last-of-type .tickLabel{right:0}:host([dir=rtl]) .tick:last-of-type .tickLabel{left:0}:host([disabled]){cursor:default}:host([disabled]) .handle{cursor:default;pointer-events:none}.spectrum-Slider-handleContainer,.spectrum-Slider-trackContainer{margin-left:calc(var(--spectrum-slider-handle-width)/2*-1);position:absolute;top:calc(var(--spectrum-slider-track-height)/2 - 1px);width:calc(100% + var(--spectrum-slider-handle-width))}.spectrum-Slider-trackContainer{height:var(--spectrum-slider-height);overflow:hidden}:host{--spectrum-slider-m-focus-ring-size:var(\n--spectrum-alias-focus-ring-size,var(--spectrum-global-dimension-static-size-25)\n);--spectrum-slider-m-handle-border-color-key-focus:var(\n--spectrum-global-color-gray-800\n);--spectrum-slider-m-handle-focus-ring-color-key-focus:var(\n--spectrum-alias-focus-color,var(--spectrum-global-color-blue-400)\n);--spectrum-slider-m-label-text-color:var(\n--spectrum-alias-label-text-color,var(--spectrum-global-color-gray-700)\n);--spectrum-slider-m-label-text-color-disabled:var(\n--spectrum-alias-text-color-disabled,var(--spectrum-global-color-gray-500)\n)}.track:before{background:var(\n--spectrum-slider-m-track-color,var(--spectrum-global-color-gray-400)\n)}#label-container{color:var(\n--spectrum-slider-m-label-text-color\n)}:host([variant=filled]) .track:first-child:before{background:var(\n--spectrum-slider-m-track-fill-color,var(--spectrum-global-color-gray-700)\n)}#fill:before{background:var(\n--spectrum-slider-m-track-fill-color,var(--spectrum-global-color-gray-700)\n)}#ramp path{fill:var(\n--spectrum-slider-m-track-color,var(--spectrum-global-color-gray-400)\n)}.handle{background:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-slider-m-handle-border-color,var(--spectrum-global-color-gray-700)\n)}.handle:hover{border-color:var(\n--spectrum-slider-m-handle-border-color-hover,var(--spectrum-global-color-gray-800)\n)}.handle.handle-highlight{border-color:var(\n--spectrum-slider-m-handle-border-color-key-focus,var(--spectrum-global-color-gray-800)\n)}.handle.handle-highlight:before{box-shadow:0 0 0 var(\n--spectrum-slider-m-focus-ring-size,var(--spectrum-alias-focus-ring-size)\n) var(--spectrum-slider-m-handle-focus-ring-color-key-focus)}.handle.dragging,.handle:active{border-color:var(\n--spectrum-slider-m-handle-border-color-down,var(--spectrum-global-color-gray-800)\n)}:host([variant=ramp]) .handle{box-shadow:0 0 0 4px var(\n--spectrum-alias-background-color-default,var(--spectrum-global-color-gray-100)\n)}.input{background:transparent}.tick:after{background-color:var(\n--spectrum-slider-m-tick-mark-color,var(--spectrum-global-color-gray-400)\n)}.handle.dragging{background:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-slider-m-handle-border-color-down,var(--spectrum-global-color-gray-800)\n)}:host([variant=range]) .track:not(:first-of-type):not(:last-of-type):before{background:var(\n--spectrum-slider-m-track-fill-color,var(--spectrum-global-color-gray-700)\n)}:host([disabled]) #label-container{color:var(\n--spectrum-slider-m-label-text-color-disabled\n)}:host([disabled]) .handle{background:var(\n--spectrum-alias-background-color-default,var(--spectrum-global-color-gray-100)\n);border-color:var(\n--spectrum-slider-m-handle-border-color-disabled,var(--spectrum-global-color-gray-400)\n)}:host([disabled]) .handle:active,:host([disabled]) .handle:hover{background:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-slider-m-handle-border-color-disabled,var(--spectrum-global-color-gray-400)\n)}:host([disabled]) .track:before{background:var(\n--spectrum-slider-m-track-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host([disabled][variant=filled]) .track:first-child:before{background:var(\n--spectrum-slider-m-track-fill-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host([disabled]) #fill:before{background:var(\n--spectrum-slider-m-track-fill-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host([disabled]) #ramp path{fill:var(\n--spectrum-slider-ramp-track-color-disabled\n)}:host([disabled][variant=range]) .track:not(:first-of-type):not(:last-of-type):before{background:var(\n--spectrum-slider-m-track-fill-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host{--spectrum-slider-handle-default-background-color:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);--spectrum-slider-handle-default-border-color:var(\n--spectrum-slider-m-handle-border-color,var(--spectrum-global-color-gray-700)\n)}sp-field-label{padding-bottom:0;padding-top:0}:host(:focus){outline:0}:host([editable]){display:grid;grid-template-areas:\"label .\" \"slider number\";grid-template-columns:1fr auto}:host([editable]) #label-container{grid-area:label}:host([editable]) #label-container+div{grid-area:slider}:host([editable]) sp-number-field{--spectrum-stepper-width:var(\n--spectrum-slider-editable-number-field-width,var(--spectrum-global-dimension-size-1000)\n);grid-area:number}:host([hide-stepper]) sp-number-field{--spectrum-stepper-width:var(\n--spectrum-slider-editable-number-field-width,var(--spectrum-global-dimension-size-900)\n)}:host([editable][dir=ltr]) sp-number-field{margin-left:var(--spectrum-global-dimension-size-200)}:host([editable][dir=rtl]) sp-number-field{margin-right:var(--spectrum-global-dimension-size-200)}:host([editable]) output{opacity:0}:host([disabled]){pointer-events:none}#track,:host([dragging]){touch-action:none;-webkit-user-select:none;user-select:none}.not-exact.ticks{justify-content:start}:host([dir=ltr]) .not-exact .tick{padding-right:var(--sp-slider-tick-offset)}:host([dir=rtl]) .not-exact .tick{padding-left:var(--sp-slider-tick-offset)}:host([dir=ltr]) .not-exact .tick:after{left:auto;transform:translate(-50%)}:host([dir=rtl]) .not-exact .tick:after{right:auto;transform:translate(50%)}.track:before{background-size:var(--spectrum-slider-track-background-size)!important}:host([dir=ltr]) .track:before{background:var(\n--spectrum-slider-track-color,var(--spectrum-global-color-gray-300)\n)}:host([dir=rtl]) .track:before{background:var(\n--spectrum-slider-track-color-rtl,var(\n--spectrum-slider-track-color,var(--spectrum-global-color-gray-300)\n)\n)}:host([dir=ltr]) .track:last-of-type:before{background-position:100%}:host([dir=rtl]) .track:first-of-type:before{background-position:100%}.track:not(:first-of-type):not(:last-of-type){padding-left:calc(var(--spectrum-slider-handle-width)/2 + var(--spectrum-slider-track-handleoffset))!important;padding-right:calc(var(--spectrum-slider-handle-width)/2 + var(--spectrum-slider-track-handleoffset))!important}:host([dir=ltr][variant=range]) .track,:host([dir=rtl][variant=range]) .track{margin:var(--spectrum-slider-range-track-reset);margin-top:calc(var(--spectrum-slider-track-height)/-2)}:host([dir=ltr]) .track:not(:first-of-type):not(:last-of-type){left:var(--spectrum-slider-track-segment-position)}:host([dir=rtl]) .track:not(:first-of-type):not(:last-of-type){right:var(--spectrum-slider-track-segment-position)}.visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host([label-visibility=value][dir=ltr]) #value{margin-left:auto}:host([label-visibility=value][dir=rtl]) #value{margin-right:auto}:host([label-visibility=none]) #label-container{margin:0;padding:0}\n`"
|
|
1824
1864
|
}
|
|
1825
1865
|
],
|
|
1826
1866
|
"exports": [
|
|
@@ -1854,12 +1894,6 @@
|
|
|
1854
1894
|
}
|
|
1855
1895
|
}
|
|
1856
1896
|
]
|
|
1857
|
-
},
|
|
1858
|
-
{
|
|
1859
|
-
"kind": "javascript-module",
|
|
1860
|
-
"path": "sync/sp-slider.ts",
|
|
1861
|
-
"declarations": [],
|
|
1862
|
-
"exports": []
|
|
1863
1897
|
}
|
|
1864
1898
|
]
|
|
1865
1899
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spectrum-web-components/slider",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.3",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -50,14 +50,14 @@
|
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@internationalized/number": "^3.0.0",
|
|
52
52
|
"@spectrum-web-components/base": "^0.5.1",
|
|
53
|
-
"@spectrum-web-components/field-label": "^0.7.
|
|
54
|
-
"@spectrum-web-components/number-field": "^0.3.
|
|
55
|
-
"@spectrum-web-components/shared": "^0.13.
|
|
56
|
-
"@spectrum-web-components/theme": "^0.9.
|
|
53
|
+
"@spectrum-web-components/field-label": "^0.7.3",
|
|
54
|
+
"@spectrum-web-components/number-field": "^0.3.3",
|
|
55
|
+
"@spectrum-web-components/shared": "^0.13.3",
|
|
56
|
+
"@spectrum-web-components/theme": "^0.9.3",
|
|
57
57
|
"tslib": "^2.0.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@spectrum-css/slider": "^3.0.
|
|
60
|
+
"@spectrum-css/slider": "^3.0.11"
|
|
61
61
|
},
|
|
62
62
|
"types": "./src/index.d.ts",
|
|
63
63
|
"customElements": "custom-elements.json",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"./sp-*.js",
|
|
66
66
|
"./sync/sp-*.js"
|
|
67
67
|
],
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "279380c6d72c0819fe224b405844af9ddcb87f8a"
|
|
69
69
|
}
|
|
@@ -61,6 +61,7 @@ export declare class HandleController implements Controller {
|
|
|
61
61
|
hostConnected(): void;
|
|
62
62
|
hostDisconnected(): void;
|
|
63
63
|
hostUpdate(): void;
|
|
64
|
+
private waitForUpgrade;
|
|
64
65
|
private extractModelFromLightDom;
|
|
65
66
|
get activeHandle(): string;
|
|
66
67
|
get activeHandleInputId(): string;
|
package/src/HandleController.js
CHANGED
|
@@ -11,6 +11,7 @@ governing permissions and limitations under the License.
|
|
|
11
11
|
*/
|
|
12
12
|
import { html } from '@spectrum-web-components/base';
|
|
13
13
|
import { classMap, ifDefined, styleMap, } from '@spectrum-web-components/base/src/directives.js';
|
|
14
|
+
import { SliderHandle, } from './SliderHandle.js';
|
|
14
15
|
export class HandleController {
|
|
15
16
|
constructor(host) {
|
|
16
17
|
this.handles = new Map();
|
|
@@ -26,6 +27,10 @@ export class HandleController {
|
|
|
26
27
|
if (handles.length === 0) {
|
|
27
28
|
handles = [this.host];
|
|
28
29
|
}
|
|
30
|
+
// extractModelFromLightDom depends on slotted handles already having been upgraded
|
|
31
|
+
if (handles.some((h) => this.waitForUpgrade(h))) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
29
34
|
this.handles = new Map();
|
|
30
35
|
this.handleOrder = [];
|
|
31
36
|
handles.forEach((handle, index) => {
|
|
@@ -173,6 +178,15 @@ export class HandleController {
|
|
|
173
178
|
hostUpdate() {
|
|
174
179
|
this.updateModel();
|
|
175
180
|
}
|
|
181
|
+
// Since extractModelFromLightDom bails on the first un-upgraded handle,
|
|
182
|
+
// a maximum of one listener will be set up per extraction attempt.
|
|
183
|
+
waitForUpgrade(handle) {
|
|
184
|
+
if (handle instanceof SliderHandle) {
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
handle.addEventListener('sp-slider-handle-ready', () => this.extractModelFromLightDom(), { once: true, passive: true });
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
176
190
|
get activeHandle() {
|
|
177
191
|
return this.handleOrder[this.handleOrder.length - 1];
|
|
178
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandleController.js","sourceRoot":"","sources":["HandleController.ts"],"names":[],"mappings":"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","sourcesContent":["/*\nCopyright 2021 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { html, TemplateResult } from '@spectrum-web-components/base';\nimport {\n classMap,\n ifDefined,\n styleMap,\n} from '@spectrum-web-components/base/src/directives.js';\nimport { Slider } from './Slider.js';\nimport {\n Controller,\n SliderHandle,\n SliderNormalization,\n} from './SliderHandle.js';\n\ninterface HandleReference {\n handle: HTMLElement;\n input: HTMLInputElement;\n}\n\ninterface HandleComponents extends HandleReference {\n model: SliderHandle;\n}\n\ninterface RangeAndClamp {\n range: { min: number; max: number };\n clamp: { min: number; max: number };\n}\ninterface ModelValue extends RangeAndClamp {\n name: string;\n value: number;\n normalizedValue: number;\n step: number;\n highlight: boolean;\n ariaLabel?: string;\n normalization: SliderNormalization;\n handle: SliderHandle;\n}\n\ninterface InputWithModel extends HTMLInputElement {\n model: ModelValue;\n}\n\ninterface DataFromPointerEvent {\n resolvedInput: boolean;\n input: InputWithModel;\n model?: ModelValue;\n}\n\nexport interface HandleValueDictionary {\n [key: string]: number;\n}\n\nexport class HandleController implements Controller {\n private observer!: MutationObserver;\n private host!: Slider;\n private handles: Map<string, SliderHandle> = new Map();\n private model: ModelValue[] = [];\n private handleOrder: string[] = [];\n private draggingHandle?: SliderHandle;\n private handleRefMap?: WeakMap<SliderHandle, HandleReference>;\n\n constructor(host: Slider) {\n this.host = host;\n }\n\n public get values(): HandleValueDictionary {\n const result: HandleValueDictionary = {};\n for (const model of this.handles.values()) {\n result[model.handleName] = model.value;\n }\n return result;\n }\n\n public get size(): number {\n return this.handles.size;\n }\n\n public inputForHandle(handle: SliderHandle): HTMLInputElement | undefined {\n if (this.handles.has(handle.handleName)) {\n const { input } = this.getHandleElements(handle);\n return input;\n }\n /* c8 ignore next 2 */\n throw new Error(`No input for handle \"${handle.name}\"`);\n }\n\n public requestUpdate(): void {\n this.host.requestUpdate();\n }\n\n /**\n * It is possible for value attributes to be set programmatically. The <input>\n * for a particular slider needs to have an opportunity to validate any such\n * values\n *\n * @param handle Handle who's value needs validation\n */\n public setValueFromHandle(handle: SliderHandle): void {\n const elements = this.getHandleElements(handle);\n /* c8 ignore next */\n if (!elements) return;\n\n const { input } = elements;\n if (input.valueAsNumber === handle.value) {\n if (handle.dragging) {\n handle.dispatchInputEvent();\n }\n } else {\n input.valueAsNumber = handle.value;\n handle.value = input.valueAsNumber;\n this.requestUpdate();\n }\n handle.value = input.valueAsNumber;\n }\n\n public handleHasChanged(handle: SliderHandle): void {\n if (handle !== this.host) {\n this.requestUpdate();\n }\n }\n\n public formattedValueForHandle(model: ModelValue): string {\n const { handle } = model;\n const numberFormat = handle.numberFormat ?? this.host.numberFormat;\n return handle.getAriaHandleText(model.value, numberFormat);\n }\n\n public get formattedValues(): Map<string, string> {\n const result = new Map<string, string>();\n for (const model of this.model) {\n result.set(model.name, this.formattedValueForHandle(model));\n }\n return result;\n }\n\n public get focusElement(): HTMLElement {\n const { input } = this.getActiveHandleElements();\n if (\n this.host.editable &&\n !(input as InputWithModel).model.handle.dragging\n ) {\n return this.host.numberField;\n }\n return input;\n }\n\n protected handleOrientation = (): void => {\n this.updateBoundingRect();\n };\n\n public hostConnected(): void {\n if (!this.observer) {\n this.observer = new MutationObserver(this.extractModelFromLightDom);\n }\n this.observer.observe(this.host, { subtree: true, childList: true });\n this.extractModelFromLightDom();\n if ('orientation' in screen) {\n screen.orientation.addEventListener(\n 'change',\n this.handleOrientation\n );\n } else {\n window.addEventListener(\n 'orientationchange',\n this.handleOrientation\n );\n }\n }\n\n public hostDisconnected(): void {\n this.observer.disconnect();\n if ('orientation' in screen) {\n screen.orientation.removeEventListener(\n 'change',\n this.handleOrientation\n );\n } else {\n window.removeEventListener(\n 'orientationchange',\n this.handleOrientation\n );\n }\n }\n\n public hostUpdate(): void {\n this.updateModel();\n }\n\n private extractModelFromLightDom = (): void => {\n let handles = [\n ...this.host.querySelectorAll('[slot=\"handle\"]'),\n ] as SliderHandle[];\n if (handles.length === 0) {\n handles = [this.host as SliderHandle];\n }\n this.handles = new Map();\n this.handleOrder = [];\n handles.forEach((handle, index) => {\n /* c8 ignore next */\n if (!handle.handleName?.length) {\n handle.name = `handle${index + 1}`;\n }\n this.handles.set(handle.handleName, handle);\n this.handleOrder.push(handle.handleName);\n handle.handleController = this;\n });\n this.requestUpdate();\n };\n\n public get activeHandle(): string {\n return this.handleOrder[this.handleOrder.length - 1];\n }\n\n public get activeHandleInputId(): string {\n const active = this.activeHandle;\n const index = this.model.findIndex((model) => model.name === active);\n return `input-${index}`;\n }\n\n public activateHandle(name: string): void {\n const index = this.handleOrder.findIndex((item) => item === name);\n if (index >= 0) {\n this.handleOrder.splice(index, 1);\n }\n this.handleOrder.push(name);\n }\n\n private getActiveHandleElements(): HandleComponents {\n const name = this.activeHandle;\n const handleSlider = this.handles.get(name) as SliderHandle;\n const elements = this.getHandleElements(\n handleSlider\n ) as HandleReference;\n return { model: handleSlider, ...elements };\n }\n\n private getHandleElements(sliderHandle: SliderHandle): HandleReference {\n if (!this.handleRefMap) {\n this.handleRefMap = new WeakMap();\n\n const inputNodes =\n this.host.shadowRoot.querySelectorAll('.handle > input');\n for (const inputNode of inputNodes) {\n const input = inputNode as HTMLInputElement;\n const handle = input.parentElement as HTMLElement;\n const model = this.handles.get(\n handle.getAttribute('name') as string\n );\n if (model) {\n this.handleRefMap.set(model, { input, handle });\n }\n }\n }\n\n const components = this.handleRefMap.get(\n sliderHandle\n ) as HandleReference;\n return components;\n }\n\n private clearHandleComponentCache(): void {\n delete this.handleRefMap;\n }\n\n private _boundingClientRect?: DOMRect;\n\n private get boundingClientRect(): DOMRect {\n if (!this._boundingClientRect) {\n this._boundingClientRect = this.host.track.getBoundingClientRect();\n }\n return this._boundingClientRect;\n }\n\n private updateBoundingRect(): void {\n delete this._boundingClientRect;\n }\n\n /**\n * Return the `input` and `model` associated with the event and\n * whether the `input` is a `resolvedInput` meaning it was acquired\n * from the `model` rather than the event.\n */\n protected extractDataFromEvent(event: PointerEvent): DataFromPointerEvent {\n if (!this._activePointerEventData) {\n let input = (event.target as Element).querySelector(\n ':scope > .input'\n ) as InputWithModel;\n const resolvedInput = !input;\n const model = input\n ? input.model\n : this.model.find((item) => item.name === this.activeHandle);\n if (!input && !!model) {\n input = model.handle.focusElement as InputWithModel;\n }\n this._activePointerEventData = {\n input,\n model,\n resolvedInput,\n };\n }\n return this._activePointerEventData;\n }\n\n private _activePointerEventData!: DataFromPointerEvent | undefined;\n\n public handlePointerdown(event: PointerEvent): void {\n const { resolvedInput, model } = this.extractDataFromEvent(event);\n if (!model || this.host.disabled || event.button !== 0) {\n event.preventDefault();\n return;\n }\n this.host.track.setPointerCapture(event.pointerId);\n this.updateBoundingRect();\n this.host.labelEl.click();\n this.draggingHandle = model.handle;\n model.handle.dragging = true;\n this.activateHandle(model.name);\n if (resolvedInput) {\n // When the input is resolved forward the pointer event to\n // `handlePointermove` in order to update the value/UI becuase\n // the pointer event was on the track not a handle\n this.handlePointermove(event);\n }\n this.requestUpdate();\n }\n\n public handlePointerup(event: PointerEvent): void {\n const { input, model } = this.extractDataFromEvent(event);\n delete this._activePointerEventData;\n if (!model) return;\n this.host.labelEl.click();\n model.handle.highlight = false;\n delete this.draggingHandle;\n model.handle.dragging = false;\n this.requestUpdate();\n this.host.track.releasePointerCapture(event.pointerId);\n this.dispatchChangeEvent(input, model.handle);\n }\n\n public handlePointermove(event: PointerEvent): void {\n const { input, model } = this.extractDataFromEvent(event);\n if (!model) return;\n /* c8 ignore next 3 */\n if (!this.draggingHandle) {\n return;\n }\n event.stopPropagation();\n input.value = this.calculateHandlePosition(event, model).toString();\n model.handle.value = parseFloat(input.value);\n this.requestUpdate();\n }\n\n /**\n * Keep the slider value property in sync with the input element's value\n */\n private onInputChange = (event: Event): void => {\n const input = event.target as InputWithModel;\n input.model.handle.value = input.valueAsNumber;\n\n this.requestUpdate();\n this.dispatchChangeEvent(input, input.model.handle);\n };\n\n private onInputFocus = (event: Event): void => {\n const input = event.target as InputWithModel;\n let isFocusVisible;\n try {\n isFocusVisible =\n input.matches(':focus-visible') ||\n this.host.matches('.focus-visible');\n /* c8 ignore next 3 */\n } catch (error) {\n isFocusVisible = this.host.matches('.focus-visible');\n }\n input.model.handle.highlight = isFocusVisible;\n this.requestUpdate();\n };\n\n private onInputBlur = (event: Event): void => {\n const input = event.target as InputWithModel;\n input.model.handle.highlight = false;\n this.requestUpdate();\n };\n\n private onInputKeydown = (event: Event): void => {\n const input = event.target as InputWithModel;\n input.model.handle.highlight = true;\n this.requestUpdate();\n };\n\n private dispatchChangeEvent(\n input: HTMLInputElement,\n handle: SliderHandle\n ): void {\n input.valueAsNumber = handle.value;\n\n const changeEvent = new Event('change', {\n bubbles: true,\n composed: true,\n });\n\n handle.dispatchEvent(changeEvent);\n }\n\n /**\n * Returns the value under the cursor\n * @param: PointerEvent on slider\n * @return: Slider value that correlates to the position under the pointer\n */\n private calculateHandlePosition(\n event: PointerEvent | MouseEvent,\n model: ModelValue\n ): number {\n const rect = this.boundingClientRect;\n const minOffset = rect.left;\n const offset = event.clientX;\n const size = rect.width;\n\n const normalized = (offset - minOffset) / size;\n const value = model.normalization.fromNormalized(\n normalized,\n model.range.min,\n model.range.max\n );\n\n /* c8 ignore next */\n return this.host.isLTR ? value : model.range.max - value;\n }\n\n public renderHandle(\n model: ModelValue,\n index: number,\n zIndex: number,\n isMultiHandle: boolean\n ): TemplateResult {\n const classes = {\n handle: true,\n dragging: this.draggingHandle?.handleName === model.name,\n 'handle-highlight': model.highlight,\n };\n const style = {\n [this.host.isLTR ? 'left' : 'right']: `${\n model.normalizedValue * 100\n }%`,\n 'z-index': zIndex.toString(),\n // Allow setting background per-handle\n 'background-color': `var(--spectrum-slider-handle-background-color-${index}, var(--spectrum-slider-handle-default-background-color))`,\n 'border-color': `var(--spectrum-slider-handle-border-color-${index}, var(-spectrum-slider-handle-default-border-color))`,\n };\n const ariaLabelledBy = isMultiHandle ? `label input-${index}` : 'label';\n return html`\n <div\n class=${classMap(classes)}\n name=${model.name}\n style=${styleMap(style)}\n role=\"presentation\"\n >\n <input\n type=\"range\"\n class=\"input\"\n id=\"input-${index}\"\n min=${model.clamp.min}\n max=${model.clamp.max}\n step=${model.step}\n value=${model.value}\n aria-disabled=${ifDefined(\n this.host.disabled ? 'true' : undefined\n )}\n tabindex=${ifDefined(this.host.editable ? -1 : undefined)}\n aria-label=${ifDefined(model.ariaLabel)}\n aria-labelledby=${ariaLabelledBy}\n aria-valuetext=${this.formattedValueForHandle(model)}\n @change=${this.onInputChange}\n @focus=${this.onInputFocus}\n @blur=${this.onInputBlur}\n @keydown=${this.onInputKeydown}\n .model=${model}\n />\n </div>\n `;\n }\n\n public render(): TemplateResult[] {\n this.clearHandleComponentCache();\n return this.model.map((model, index) => {\n const zIndex = this.handleOrder.indexOf(model.name) + 1;\n return this.renderHandle(\n model,\n index,\n zIndex,\n this.model.length > 1\n );\n });\n }\n\n /**\n * Returns a list of track segment [start, end] tuples where the values are\n * normalized to be between 0 and 1.\n * @returns A list of track segment tuples [start, end]\n */\n public trackSegments(): [number, number][] {\n const values = this.model.map((model) => model.normalizedValue);\n values.sort((a, b) => a - b);\n\n // The first segment always starts at 0\n values.unshift(0);\n return values.map((value, index, array) => [\n value,\n array[index + 1] ?? 1,\n ]);\n }\n\n private updateModel(): void {\n const handles = [...this.handles.values()];\n\n const getRangeAndClamp = (index: number): RangeAndClamp => {\n const handle = handles[index];\n const previous = handles[index - 1];\n const next = handles[index + 1];\n\n const min =\n typeof handle.min === 'number'\n ? handle.min\n : (this.host.min as number);\n const max =\n typeof handle.max === 'number'\n ? handle.max\n : (this.host.max as number);\n\n const result: RangeAndClamp = {\n range: { min: min, max: max },\n clamp: { min: min, max: max },\n };\n\n if (handle.min === 'previous') {\n if (previous) {\n for (let j = index - 1; j >= 0; j--) {\n const item = handles[j];\n if (typeof item.min === 'number') {\n result.range.min = item.min;\n break;\n }\n }\n result.clamp.min = Math.max(\n previous.value,\n result.range.min\n );\n /* c8 ignore next 5 */\n } else {\n console.warn(\n 'First slider handle cannot have attribute min=\"previous\"'\n );\n }\n }\n if (handle.max === 'next') {\n if (next) {\n for (let j = index + 1; j < handles.length; j++) {\n const item = handles[j];\n if (typeof item.max === 'number') {\n result.range.max = item.max;\n break;\n }\n }\n result.clamp.max = Math.min(next.value, result.range.max);\n /* c8 ignore next 5 */\n } else {\n console.warn(\n 'Last slider handle cannot have attribute max=\"next\"'\n );\n }\n }\n return result;\n };\n\n const modelValues = handles.map((handle, index) => {\n const rangeAndClamp = getRangeAndClamp(index);\n const { toNormalized } = handle.normalization;\n const clampedValue = Math.max(\n Math.min(handle.value, rangeAndClamp.clamp.max),\n rangeAndClamp.clamp.min\n );\n const normalizedValue = toNormalized(\n clampedValue,\n rangeAndClamp.range.min,\n rangeAndClamp.range.max\n );\n const model = {\n name: handle.handleName,\n value: clampedValue,\n normalizedValue,\n highlight: handle.highlight,\n step: handle.step ?? this.host.step,\n normalization: handle.normalization,\n handle,\n ariaLabel:\n handle !== this.host && handle?.label.length > 0\n ? handle.label\n : undefined,\n ...rangeAndClamp,\n };\n return model;\n });\n\n this.model = modelValues;\n }\n\n public async handleUpdatesComplete(): Promise<void> {\n const updates = [...this.handles.values()]\n .filter((handle) => handle !== this.host)\n .map((handle) => handle.updateComplete);\n await Promise.all(updates);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"HandleController.js","sourceRoot":"","sources":["HandleController.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AACF,OAAO,EAAE,IAAI,EAAkB,MAAM,+BAA+B,CAAC;AACrE,OAAO,EACH,QAAQ,EACR,SAAS,EACT,QAAQ,GACX,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EAEH,YAAY,GAEf,MAAM,mBAAmB,CAAC;AAwC3B,MAAM,OAAO,gBAAgB;IASzB,YAAY,IAAY;QANhB,YAAO,GAA8B,IAAI,GAAG,EAAE,CAAC;QAC/C,UAAK,GAAiB,EAAE,CAAC;QACzB,gBAAW,GAAa,EAAE,CAAC;QAyFzB,sBAAiB,GAAG,GAAS,EAAE;YACrC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC,CAAC;QAsDM,6BAAwB,GAAG,GAAS,EAAE;YAC1C,IAAI,OAAO,GAAG;gBACV,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;aACjC,CAAC;YACpB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,OAAO,GAAG,CAAC,IAAI,CAAC,IAAoB,CAAC,CAAC;aACzC;YACD,mFAAmF;YACnF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7C,OAAO;aACV;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;;gBAC9B,oBAAoB;gBACpB,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,UAAU,0CAAE,MAAM,CAAA,EAAE;oBAC5B,MAAM,CAAC,IAAI,GAAG,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC;iBACtC;gBACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC5C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACzC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,CAAC;QAiJF;;WAEG;QACK,kBAAa,GAAG,CAAC,KAAY,EAAQ,EAAE;YAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAwB,CAAC;YAC7C,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC;YAE/C,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,KAAY,EAAQ,EAAE;YAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAwB,CAAC;YAC7C,IAAI,cAAc,CAAC;YACnB,IAAI;gBACA,cAAc;oBACV,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;wBAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACxC,sBAAsB;aACzB;YAAC,OAAO,KAAK,EAAE;gBACZ,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aACxD;YACD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC;YAC9C,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAC,KAAY,EAAQ,EAAE;YACzC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAwB,CAAC;YAC7C,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,CAAC;QAEM,mBAAc,GAAG,CAAC,KAAY,EAAQ,EAAE;YAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAwB,CAAC;YAC7C,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,CAAC;QAxVE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,IAAW,MAAM;QACb,MAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;YACvC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;SAC1C;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;IAEM,cAAc,CAAC,MAAoB;QACtC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACrC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACjD,OAAO,KAAK,CAAC;SAChB;QACD,sBAAsB;QACtB,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAC5D,CAAC;IAEM,aAAa;QAChB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACI,kBAAkB,CAAC,MAAoB;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChD,oBAAoB;QACpB,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;QAC3B,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM,CAAC,KAAK,EAAE;YACtC,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACjB,MAAM,CAAC,kBAAkB,EAAE,CAAC;aAC/B;SACJ;aAAM;YACH,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;YACnC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC;YACnC,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;QACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC;IACvC,CAAC;IAEM,gBAAgB,CAAC,MAAoB;QACxC,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;IACL,CAAC;IAEM,uBAAuB,CAAC,KAAiB;;QAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACzB,MAAM,YAAY,GAAG,MAAA,MAAM,CAAC,YAAY,mCAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QACnE,OAAO,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED,IAAW,eAAe;QACtB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;YAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;SAC/D;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAW,YAAY;QACnB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjD,IACI,IAAI,CAAC,IAAI,CAAC,QAAQ;YAClB,CAAE,KAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAClD;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;SAChC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAMM,aAAa;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SACvE;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,aAAa,IAAI,MAAM,EAAE;YACzB,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAC/B,QAAQ,EACR,IAAI,CAAC,iBAAiB,CACzB,CAAC;SACL;aAAM;YACH,MAAM,CAAC,gBAAgB,CACnB,mBAAmB,EACnB,IAAI,CAAC,iBAAiB,CACzB,CAAC;SACL;IACL,CAAC;IAEM,gBAAgB;QACnB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3B,IAAI,aAAa,IAAI,MAAM,EAAE;YACzB,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAClC,QAAQ,EACR,IAAI,CAAC,iBAAiB,CACzB,CAAC;SACL;aAAM;YACH,MAAM,CAAC,mBAAmB,CACtB,mBAAmB,EACnB,IAAI,CAAC,iBAAiB,CACzB,CAAC;SACL;IACL,CAAC;IAEM,UAAU;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,wEAAwE;IACxE,mEAAmE;IAC3D,cAAc,CAAC,MAAmB;QACtC,IAAI,MAAM,YAAY,YAAY,EAAE;YAChC,OAAO,KAAK,CAAC;SAChB;QACD,MAAM,CAAC,gBAAgB,CACnB,wBAAwB,EACxB,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EACrC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAChC,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IA2BD,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,IAAW,mBAAmB;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACrE,OAAO,SAAS,KAAK,EAAE,CAAC;IAC5B,CAAC;IAEM,cAAc,CAAC,IAAY;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClE,IAAI,KAAK,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACrC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,uBAAuB;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAiB,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CACnC,YAAY,CACI,CAAC;QACrB,uBAAS,KAAK,EAAE,YAAY,IAAK,QAAQ,EAAG;IAChD,CAAC;IAEO,iBAAiB,CAAC,YAA0B;QAChD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,EAAE,CAAC;YAElC,MAAM,UAAU,GACZ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;YAC7D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBAChC,MAAM,KAAK,GAAG,SAA6B,CAAC;gBAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,aAA4B,CAAC;gBAClD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAC1B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAW,CACxC,CAAC;gBACF,IAAI,KAAK,EAAE;oBACP,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;iBACnD;aACJ;SACJ;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CACpC,YAAY,CACI,CAAC;QACrB,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,yBAAyB;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAID,IAAY,kBAAkB;QAC1B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;SACtE;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAEO,kBAAkB;QACtB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACO,oBAAoB,CAAC,KAAmB;QAC9C,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC/B,IAAI,KAAK,GAAI,KAAK,CAAC,MAAkB,CAAC,aAAa,CAC/C,iBAAiB,CACF,CAAC;YACpB,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC;YAC7B,MAAM,KAAK,GAAG,KAAK;gBACf,CAAC,CAAC,KAAK,CAAC,KAAK;gBACb,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE;gBACnB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,YAA8B,CAAC;aACvD;YACD,IAAI,CAAC,uBAAuB,GAAG;gBAC3B,KAAK;gBACL,KAAK;gBACL,aAAa;aAChB,CAAC;SACL;QACD,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACxC,CAAC;IAIM,iBAAiB,CAAC,KAAmB;QACxC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;SACV;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;QACnC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,aAAa,EAAE;YACf,0DAA0D;YAC1D,8DAA8D;YAC9D,kDAAkD;YAClD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAEM,eAAe,CAAC,KAAmB;QACtC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,uBAAuB,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC;QAC3B,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAEM,iBAAiB,CAAC,KAAmB;QACxC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,sBAAsB;QACtB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,OAAO;SACV;QACD,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAwCO,mBAAmB,CACvB,KAAuB,EACvB,MAAoB;QAEpB,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;QAEnC,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE;YACpC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACK,uBAAuB,CAC3B,KAAgC,EAChC,KAAiB;QAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAExB,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAC5C,UAAU,EACV,KAAK,CAAC,KAAK,CAAC,GAAG,EACf,KAAK,CAAC,KAAK,CAAC,GAAG,CAClB,CAAC;QAEF,oBAAoB;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;IAC7D,CAAC;IAEM,YAAY,CACf,KAAiB,EACjB,KAAa,EACb,MAAc,EACd,aAAsB;;QAEtB,MAAM,OAAO,GAAG;YACZ,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,MAAK,KAAK,CAAC,IAAI;YACxD,kBAAkB,EAAE,KAAK,CAAC,SAAS;SACtC,CAAC;QACF,MAAM,KAAK,GAAG;YACV,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,GAClC,KAAK,CAAC,eAAe,GAAG,GAC5B,GAAG;YACH,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE;YAC5B,sCAAsC;YACtC,kBAAkB,EAAE,iDAAiD,KAAK,2DAA2D;YACrI,cAAc,EAAE,6CAA6C,KAAK,sDAAsD;SAC3H,CAAC;QACF,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACxE,OAAO,IAAI,CAAA;;wBAEK,QAAQ,CAAC,OAAO,CAAC;uBAClB,KAAK,CAAC,IAAI;wBACT,QAAQ,CAAC,KAAK,CAAC;;;;;;gCAMP,KAAK;0BACX,KAAK,CAAC,KAAK,CAAC,GAAG;0BACf,KAAK,CAAC,KAAK,CAAC,GAAG;2BACd,KAAK,CAAC,IAAI;4BACT,KAAK,CAAC,KAAK;oCACH,SAAS,CACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAC1C;+BACU,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;iCAC5C,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;sCACrB,cAAc;qCACf,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;8BAC1C,IAAI,CAAC,aAAa;6BACnB,IAAI,CAAC,YAAY;4BAClB,IAAI,CAAC,WAAW;+BACb,IAAI,CAAC,cAAc;6BACrB,KAAK;;;SAGzB,CAAC;IACN,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC,YAAY,CACpB,KAAK,EACL,KAAK,EACL,MAAM,EACN,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CACxB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACI,aAAa;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7B,uCAAuC;QACvC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;;YAAC,OAAA;gBACvC,KAAK;gBACL,MAAA,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,mCAAI,CAAC;aACxB,CAAA;SAAA,CAAC,CAAC;IACP,CAAC;IAEO,WAAW;QACf,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3C,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAiB,EAAE;YACtD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAEhC,MAAM,GAAG,GACL,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;gBAC1B,CAAC,CAAC,MAAM,CAAC,GAAG;gBACZ,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC,GAAc,CAAC;YACpC,MAAM,GAAG,GACL,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;gBAC1B,CAAC,CAAC,MAAM,CAAC,GAAG;gBACZ,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC,GAAc,CAAC;YAEpC,MAAM,MAAM,GAAkB;gBAC1B,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;gBAC7B,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;aAChC,CAAC;YAEF,IAAI,MAAM,CAAC,GAAG,KAAK,UAAU,EAAE;gBAC3B,IAAI,QAAQ,EAAE;oBACV,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;wBACjC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBACxB,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE;4BAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;4BAC5B,MAAM;yBACT;qBACJ;oBACD,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CACvB,QAAQ,CAAC,KAAK,EACd,MAAM,CAAC,KAAK,CAAC,GAAG,CACnB,CAAC;oBACF,sBAAsB;iBACzB;qBAAM;oBACH,OAAO,CAAC,IAAI,CACR,0DAA0D,CAC7D,CAAC;iBACL;aACJ;YACD,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,EAAE;gBACvB,IAAI,IAAI,EAAE;oBACN,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBACxB,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE;4BAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;4BAC5B,MAAM;yBACT;qBACJ;oBACD,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC1D,sBAAsB;iBACzB;qBAAM;oBACH,OAAO,CAAC,IAAI,CACR,qDAAqD,CACxD,CAAC;iBACL;aACJ;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;;YAC9C,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;YAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CACzB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAC/C,aAAa,CAAC,KAAK,CAAC,GAAG,CAC1B,CAAC;YACF,MAAM,eAAe,GAAG,YAAY,CAChC,YAAY,EACZ,aAAa,CAAC,KAAK,CAAC,GAAG,EACvB,aAAa,CAAC,KAAK,CAAC,GAAG,CAC1B,CAAC;YACF,MAAM,KAAK,mBACP,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,KAAK,EAAE,YAAY,EACnB,eAAe,EACf,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,IAAI,EAAE,MAAA,MAAM,CAAC,IAAI,mCAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EACnC,aAAa,EAAE,MAAM,CAAC,aAAa,EACnC,MAAM,EACN,SAAS,EACL,MAAM,KAAK,IAAI,CAAC,IAAI,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,MAAM,IAAG,CAAC;oBAC5C,CAAC,CAAC,MAAM,CAAC,KAAK;oBACd,CAAC,CAAC,SAAS,IAChB,aAAa,CACnB,CAAC;YACF,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,qBAAqB;QAC9B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aACrC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC;aACxC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC5C,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;CACJ","sourcesContent":["/*\nCopyright 2021 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { html, TemplateResult } from '@spectrum-web-components/base';\nimport {\n classMap,\n ifDefined,\n styleMap,\n} from '@spectrum-web-components/base/src/directives.js';\nimport { Slider } from './Slider.js';\nimport {\n Controller,\n SliderHandle,\n SliderNormalization,\n} from './SliderHandle.js';\n\ninterface HandleReference {\n handle: HTMLElement;\n input: HTMLInputElement;\n}\n\ninterface HandleComponents extends HandleReference {\n model: SliderHandle;\n}\n\ninterface RangeAndClamp {\n range: { min: number; max: number };\n clamp: { min: number; max: number };\n}\ninterface ModelValue extends RangeAndClamp {\n name: string;\n value: number;\n normalizedValue: number;\n step: number;\n highlight: boolean;\n ariaLabel?: string;\n normalization: SliderNormalization;\n handle: SliderHandle;\n}\n\ninterface InputWithModel extends HTMLInputElement {\n model: ModelValue;\n}\n\ninterface DataFromPointerEvent {\n resolvedInput: boolean;\n input: InputWithModel;\n model?: ModelValue;\n}\n\nexport interface HandleValueDictionary {\n [key: string]: number;\n}\n\nexport class HandleController implements Controller {\n private observer!: MutationObserver;\n private host!: Slider;\n private handles: Map<string, SliderHandle> = new Map();\n private model: ModelValue[] = [];\n private handleOrder: string[] = [];\n private draggingHandle?: SliderHandle;\n private handleRefMap?: WeakMap<SliderHandle, HandleReference>;\n\n constructor(host: Slider) {\n this.host = host;\n }\n\n public get values(): HandleValueDictionary {\n const result: HandleValueDictionary = {};\n for (const model of this.handles.values()) {\n result[model.handleName] = model.value;\n }\n return result;\n }\n\n public get size(): number {\n return this.handles.size;\n }\n\n public inputForHandle(handle: SliderHandle): HTMLInputElement | undefined {\n if (this.handles.has(handle.handleName)) {\n const { input } = this.getHandleElements(handle);\n return input;\n }\n /* c8 ignore next 2 */\n throw new Error(`No input for handle \"${handle.name}\"`);\n }\n\n public requestUpdate(): void {\n this.host.requestUpdate();\n }\n\n /**\n * It is possible for value attributes to be set programmatically. The <input>\n * for a particular slider needs to have an opportunity to validate any such\n * values\n *\n * @param handle Handle who's value needs validation\n */\n public setValueFromHandle(handle: SliderHandle): void {\n const elements = this.getHandleElements(handle);\n /* c8 ignore next */\n if (!elements) return;\n\n const { input } = elements;\n if (input.valueAsNumber === handle.value) {\n if (handle.dragging) {\n handle.dispatchInputEvent();\n }\n } else {\n input.valueAsNumber = handle.value;\n handle.value = input.valueAsNumber;\n this.requestUpdate();\n }\n handle.value = input.valueAsNumber;\n }\n\n public handleHasChanged(handle: SliderHandle): void {\n if (handle !== this.host) {\n this.requestUpdate();\n }\n }\n\n public formattedValueForHandle(model: ModelValue): string {\n const { handle } = model;\n const numberFormat = handle.numberFormat ?? this.host.numberFormat;\n return handle.getAriaHandleText(model.value, numberFormat);\n }\n\n public get formattedValues(): Map<string, string> {\n const result = new Map<string, string>();\n for (const model of this.model) {\n result.set(model.name, this.formattedValueForHandle(model));\n }\n return result;\n }\n\n public get focusElement(): HTMLElement {\n const { input } = this.getActiveHandleElements();\n if (\n this.host.editable &&\n !(input as InputWithModel).model.handle.dragging\n ) {\n return this.host.numberField;\n }\n return input;\n }\n\n protected handleOrientation = (): void => {\n this.updateBoundingRect();\n };\n\n public hostConnected(): void {\n if (!this.observer) {\n this.observer = new MutationObserver(this.extractModelFromLightDom);\n }\n this.observer.observe(this.host, { subtree: true, childList: true });\n this.extractModelFromLightDom();\n if ('orientation' in screen) {\n screen.orientation.addEventListener(\n 'change',\n this.handleOrientation\n );\n } else {\n window.addEventListener(\n 'orientationchange',\n this.handleOrientation\n );\n }\n }\n\n public hostDisconnected(): void {\n this.observer.disconnect();\n if ('orientation' in screen) {\n screen.orientation.removeEventListener(\n 'change',\n this.handleOrientation\n );\n } else {\n window.removeEventListener(\n 'orientationchange',\n this.handleOrientation\n );\n }\n }\n\n public hostUpdate(): void {\n this.updateModel();\n }\n\n // Since extractModelFromLightDom bails on the first un-upgraded handle,\n // a maximum of one listener will be set up per extraction attempt.\n private waitForUpgrade(handle: HTMLElement): boolean {\n if (handle instanceof SliderHandle) {\n return false;\n }\n handle.addEventListener(\n 'sp-slider-handle-ready',\n () => this.extractModelFromLightDom(),\n { once: true, passive: true }\n );\n return true;\n }\n\n private extractModelFromLightDom = (): void => {\n let handles = [\n ...this.host.querySelectorAll('[slot=\"handle\"]'),\n ] as SliderHandle[];\n if (handles.length === 0) {\n handles = [this.host as SliderHandle];\n }\n // extractModelFromLightDom depends on slotted handles already having been upgraded\n if (handles.some((h) => this.waitForUpgrade(h))) {\n return;\n }\n this.handles = new Map();\n this.handleOrder = [];\n handles.forEach((handle, index) => {\n /* c8 ignore next */\n if (!handle.handleName?.length) {\n handle.name = `handle${index + 1}`;\n }\n this.handles.set(handle.handleName, handle);\n this.handleOrder.push(handle.handleName);\n handle.handleController = this;\n });\n this.requestUpdate();\n };\n\n public get activeHandle(): string {\n return this.handleOrder[this.handleOrder.length - 1];\n }\n\n public get activeHandleInputId(): string {\n const active = this.activeHandle;\n const index = this.model.findIndex((model) => model.name === active);\n return `input-${index}`;\n }\n\n public activateHandle(name: string): void {\n const index = this.handleOrder.findIndex((item) => item === name);\n if (index >= 0) {\n this.handleOrder.splice(index, 1);\n }\n this.handleOrder.push(name);\n }\n\n private getActiveHandleElements(): HandleComponents {\n const name = this.activeHandle;\n const handleSlider = this.handles.get(name) as SliderHandle;\n const elements = this.getHandleElements(\n handleSlider\n ) as HandleReference;\n return { model: handleSlider, ...elements };\n }\n\n private getHandleElements(sliderHandle: SliderHandle): HandleReference {\n if (!this.handleRefMap) {\n this.handleRefMap = new WeakMap();\n\n const inputNodes =\n this.host.shadowRoot.querySelectorAll('.handle > input');\n for (const inputNode of inputNodes) {\n const input = inputNode as HTMLInputElement;\n const handle = input.parentElement as HTMLElement;\n const model = this.handles.get(\n handle.getAttribute('name') as string\n );\n if (model) {\n this.handleRefMap.set(model, { input, handle });\n }\n }\n }\n\n const components = this.handleRefMap.get(\n sliderHandle\n ) as HandleReference;\n return components;\n }\n\n private clearHandleComponentCache(): void {\n delete this.handleRefMap;\n }\n\n private _boundingClientRect?: DOMRect;\n\n private get boundingClientRect(): DOMRect {\n if (!this._boundingClientRect) {\n this._boundingClientRect = this.host.track.getBoundingClientRect();\n }\n return this._boundingClientRect;\n }\n\n private updateBoundingRect(): void {\n delete this._boundingClientRect;\n }\n\n /**\n * Return the `input` and `model` associated with the event and\n * whether the `input` is a `resolvedInput` meaning it was acquired\n * from the `model` rather than the event.\n */\n protected extractDataFromEvent(event: PointerEvent): DataFromPointerEvent {\n if (!this._activePointerEventData) {\n let input = (event.target as Element).querySelector(\n ':scope > .input'\n ) as InputWithModel;\n const resolvedInput = !input;\n const model = input\n ? input.model\n : this.model.find((item) => item.name === this.activeHandle);\n if (!input && !!model) {\n input = model.handle.focusElement as InputWithModel;\n }\n this._activePointerEventData = {\n input,\n model,\n resolvedInput,\n };\n }\n return this._activePointerEventData;\n }\n\n private _activePointerEventData!: DataFromPointerEvent | undefined;\n\n public handlePointerdown(event: PointerEvent): void {\n const { resolvedInput, model } = this.extractDataFromEvent(event);\n if (!model || this.host.disabled || event.button !== 0) {\n event.preventDefault();\n return;\n }\n this.host.track.setPointerCapture(event.pointerId);\n this.updateBoundingRect();\n this.host.labelEl.click();\n this.draggingHandle = model.handle;\n model.handle.dragging = true;\n this.activateHandle(model.name);\n if (resolvedInput) {\n // When the input is resolved forward the pointer event to\n // `handlePointermove` in order to update the value/UI becuase\n // the pointer event was on the track not a handle\n this.handlePointermove(event);\n }\n this.requestUpdate();\n }\n\n public handlePointerup(event: PointerEvent): void {\n const { input, model } = this.extractDataFromEvent(event);\n delete this._activePointerEventData;\n if (!model) return;\n this.host.labelEl.click();\n model.handle.highlight = false;\n delete this.draggingHandle;\n model.handle.dragging = false;\n this.requestUpdate();\n this.host.track.releasePointerCapture(event.pointerId);\n this.dispatchChangeEvent(input, model.handle);\n }\n\n public handlePointermove(event: PointerEvent): void {\n const { input, model } = this.extractDataFromEvent(event);\n if (!model) return;\n /* c8 ignore next 3 */\n if (!this.draggingHandle) {\n return;\n }\n event.stopPropagation();\n input.value = this.calculateHandlePosition(event, model).toString();\n model.handle.value = parseFloat(input.value);\n this.requestUpdate();\n }\n\n /**\n * Keep the slider value property in sync with the input element's value\n */\n private onInputChange = (event: Event): void => {\n const input = event.target as InputWithModel;\n input.model.handle.value = input.valueAsNumber;\n\n this.requestUpdate();\n this.dispatchChangeEvent(input, input.model.handle);\n };\n\n private onInputFocus = (event: Event): void => {\n const input = event.target as InputWithModel;\n let isFocusVisible;\n try {\n isFocusVisible =\n input.matches(':focus-visible') ||\n this.host.matches('.focus-visible');\n /* c8 ignore next 3 */\n } catch (error) {\n isFocusVisible = this.host.matches('.focus-visible');\n }\n input.model.handle.highlight = isFocusVisible;\n this.requestUpdate();\n };\n\n private onInputBlur = (event: Event): void => {\n const input = event.target as InputWithModel;\n input.model.handle.highlight = false;\n this.requestUpdate();\n };\n\n private onInputKeydown = (event: Event): void => {\n const input = event.target as InputWithModel;\n input.model.handle.highlight = true;\n this.requestUpdate();\n };\n\n private dispatchChangeEvent(\n input: HTMLInputElement,\n handle: SliderHandle\n ): void {\n input.valueAsNumber = handle.value;\n\n const changeEvent = new Event('change', {\n bubbles: true,\n composed: true,\n });\n\n handle.dispatchEvent(changeEvent);\n }\n\n /**\n * Returns the value under the cursor\n * @param: PointerEvent on slider\n * @return: Slider value that correlates to the position under the pointer\n */\n private calculateHandlePosition(\n event: PointerEvent | MouseEvent,\n model: ModelValue\n ): number {\n const rect = this.boundingClientRect;\n const minOffset = rect.left;\n const offset = event.clientX;\n const size = rect.width;\n\n const normalized = (offset - minOffset) / size;\n const value = model.normalization.fromNormalized(\n normalized,\n model.range.min,\n model.range.max\n );\n\n /* c8 ignore next */\n return this.host.isLTR ? value : model.range.max - value;\n }\n\n public renderHandle(\n model: ModelValue,\n index: number,\n zIndex: number,\n isMultiHandle: boolean\n ): TemplateResult {\n const classes = {\n handle: true,\n dragging: this.draggingHandle?.handleName === model.name,\n 'handle-highlight': model.highlight,\n };\n const style = {\n [this.host.isLTR ? 'left' : 'right']: `${\n model.normalizedValue * 100\n }%`,\n 'z-index': zIndex.toString(),\n // Allow setting background per-handle\n 'background-color': `var(--spectrum-slider-handle-background-color-${index}, var(--spectrum-slider-handle-default-background-color))`,\n 'border-color': `var(--spectrum-slider-handle-border-color-${index}, var(-spectrum-slider-handle-default-border-color))`,\n };\n const ariaLabelledBy = isMultiHandle ? `label input-${index}` : 'label';\n return html`\n <div\n class=${classMap(classes)}\n name=${model.name}\n style=${styleMap(style)}\n role=\"presentation\"\n >\n <input\n type=\"range\"\n class=\"input\"\n id=\"input-${index}\"\n min=${model.clamp.min}\n max=${model.clamp.max}\n step=${model.step}\n value=${model.value}\n aria-disabled=${ifDefined(\n this.host.disabled ? 'true' : undefined\n )}\n tabindex=${ifDefined(this.host.editable ? -1 : undefined)}\n aria-label=${ifDefined(model.ariaLabel)}\n aria-labelledby=${ariaLabelledBy}\n aria-valuetext=${this.formattedValueForHandle(model)}\n @change=${this.onInputChange}\n @focus=${this.onInputFocus}\n @blur=${this.onInputBlur}\n @keydown=${this.onInputKeydown}\n .model=${model}\n />\n </div>\n `;\n }\n\n public render(): TemplateResult[] {\n this.clearHandleComponentCache();\n return this.model.map((model, index) => {\n const zIndex = this.handleOrder.indexOf(model.name) + 1;\n return this.renderHandle(\n model,\n index,\n zIndex,\n this.model.length > 1\n );\n });\n }\n\n /**\n * Returns a list of track segment [start, end] tuples where the values are\n * normalized to be between 0 and 1.\n * @returns A list of track segment tuples [start, end]\n */\n public trackSegments(): [number, number][] {\n const values = this.model.map((model) => model.normalizedValue);\n values.sort((a, b) => a - b);\n\n // The first segment always starts at 0\n values.unshift(0);\n return values.map((value, index, array) => [\n value,\n array[index + 1] ?? 1,\n ]);\n }\n\n private updateModel(): void {\n const handles = [...this.handles.values()];\n\n const getRangeAndClamp = (index: number): RangeAndClamp => {\n const handle = handles[index];\n const previous = handles[index - 1];\n const next = handles[index + 1];\n\n const min =\n typeof handle.min === 'number'\n ? handle.min\n : (this.host.min as number);\n const max =\n typeof handle.max === 'number'\n ? handle.max\n : (this.host.max as number);\n\n const result: RangeAndClamp = {\n range: { min: min, max: max },\n clamp: { min: min, max: max },\n };\n\n if (handle.min === 'previous') {\n if (previous) {\n for (let j = index - 1; j >= 0; j--) {\n const item = handles[j];\n if (typeof item.min === 'number') {\n result.range.min = item.min;\n break;\n }\n }\n result.clamp.min = Math.max(\n previous.value,\n result.range.min\n );\n /* c8 ignore next 5 */\n } else {\n console.warn(\n 'First slider handle cannot have attribute min=\"previous\"'\n );\n }\n }\n if (handle.max === 'next') {\n if (next) {\n for (let j = index + 1; j < handles.length; j++) {\n const item = handles[j];\n if (typeof item.max === 'number') {\n result.range.max = item.max;\n break;\n }\n }\n result.clamp.max = Math.min(next.value, result.range.max);\n /* c8 ignore next 5 */\n } else {\n console.warn(\n 'Last slider handle cannot have attribute max=\"next\"'\n );\n }\n }\n return result;\n };\n\n const modelValues = handles.map((handle, index) => {\n const rangeAndClamp = getRangeAndClamp(index);\n const { toNormalized } = handle.normalization;\n const clampedValue = Math.max(\n Math.min(handle.value, rangeAndClamp.clamp.max),\n rangeAndClamp.clamp.min\n );\n const normalizedValue = toNormalized(\n clampedValue,\n rangeAndClamp.range.min,\n rangeAndClamp.range.max\n );\n const model = {\n name: handle.handleName,\n value: clampedValue,\n normalizedValue,\n highlight: handle.highlight,\n step: handle.step ?? this.host.step,\n normalization: handle.normalization,\n handle,\n ariaLabel:\n handle !== this.host && handle?.label.length > 0\n ? handle.label\n : undefined,\n ...rangeAndClamp,\n };\n return model;\n });\n\n this.model = modelValues;\n }\n\n public async handleUpdatesComplete(): Promise<void> {\n const updates = [...this.handles.values()]\n .filter((handle) => handle !== this.host)\n .map((handle) => handle.updateComplete);\n await Promise.all(updates);\n }\n}\n"]}
|
package/src/SliderHandle.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ export declare class SliderHandle extends Focusable {
|
|
|
42
42
|
getAriaHandleText: (value: number, numberFormat: NumberFormatter) => string;
|
|
43
43
|
protected update(changes: PropertyValues): void;
|
|
44
44
|
protected updated(changedProperties: PropertyValues<this>): void;
|
|
45
|
+
protected firstUpdated(changedProperties: PropertyValues<this>): void;
|
|
45
46
|
normalization: SliderNormalization;
|
|
46
47
|
dispatchInputEvent(): void;
|
|
47
48
|
protected _numberFormatCache: {
|
package/src/SliderHandle.js
CHANGED
|
@@ -87,6 +87,10 @@ export class SliderHandle extends Focusable {
|
|
|
87
87
|
(_b = this.handleController) === null || _b === void 0 ? void 0 : _b.handleHasChanged(this);
|
|
88
88
|
super.updated(changedProperties);
|
|
89
89
|
}
|
|
90
|
+
firstUpdated(changedProperties) {
|
|
91
|
+
super.firstUpdated(changedProperties);
|
|
92
|
+
this.dispatchEvent(new CustomEvent('sp-slider-handle-ready'));
|
|
93
|
+
}
|
|
90
94
|
dispatchInputEvent() {
|
|
91
95
|
const inputEvent = new Event('input', {
|
|
92
96
|
bubbles: true,
|
package/src/SliderHandle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderHandle.js","sourceRoot":"","sources":["SliderHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;;AAGF,OAAO,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,kDAAkD,CAAC;AAE7E,OAAO,EAEH,eAAe,GAClB,MAAM,2BAA2B,CAAC;AAsBnC,MAAM,CAAC,MAAM,oBAAoB,GAAwB;IACrD,YAAY,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;QAChD,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,cAAc,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;QAClD,OAAO,KAAK,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACrC,CAAC;CACJ,CAAC;AAEF,MAAM,YAAY,GAAG;IACjB,aAAa,EAAE,CAAC,KAAa,EAAuB,EAAE;QAClD,IAAI,KAAK,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QACvC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,WAAW,EAAE,CAAC,KAA0B,EAAU,EAAE;QAChD,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;CACJ,CAAC;AAEF,MAAM,YAAY,GAAG;IACjB,aAAa,EAAE,CAAC,KAAa,EAAmB,EAAE;QAC9C,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QACnC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,WAAW,EAAE,CAAC,KAAsB,EAAU,EAAE;QAC5C,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;CACJ,CAAC;AAEF;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,SAAS;IAA3C;;QAYI,gBAAW,GAAG,EAAE,CAAC;QAGjB,UAAK,GAAG,EAAE,CAAC;QAGJ,aAAQ,GAAG,KAAK,CAAC;QAGjB,cAAS,GAAG,KAAK,CAAC;QAGlB,SAAI,GAAG,EAAE,CAAC;QAST,qBAAgB,GACpB,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC;QASjD,UAAK,GAAG,EAAE,CAAC;QAGX,sBAAiB,GAGV,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YAClC,OAAO,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC;QAsBK,kBAAa,GAAwB,oBAAoB,CAAC;IAoFrE,CAAC;IA1JG,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,IAAW,YAAY;;QACnB,oBAAoB;QACpB,OAAO,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,cAAc,CAAC,IAAI,CAAC,mCAAI,IAAI,CAAC;IAC/D,CAAC;IA2CS,MAAM,CAAC,OAAuB;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE;YACjE,OAAO,IAAI,CAAC,kBAAkB,CAAC;SAClC;QACD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAES,OAAO,CAAC,iBAAuC;;QACrD,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAChC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,QAAQ,IAAI,IAAI,EAAE;gBAClB,MAAA,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,0CACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC;aAClC;SACJ;QACD,MAAA,IAAI,CAAC,gBAAgB,0CAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC9C,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAKM,kBAAkB;QACrB,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;YAClC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAKS,eAAe;;QACrB,oBAAoB;QACpB,IACI,CAAC,IAAI,CAAC,kBAAkB;YACxB,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAC5D;YACE,IAAI,eAAgC,CAAC;YACrC,IAAI;gBACA,eAAe,GAAG,IAAI,eAAe,CACjC,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,aAAa,CACrB,CAAC;gBACF,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,6BAA6B;aAChC;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,KAMF,IAAI,CAAC,aAAa,IAAI,EAAE,EANtB,EACF,KAAK,EACL,IAAI;gBACJ,6DAA6D;gBAC7D,WAAW,OAEa,EADrB,mBAAmB,cALpB,gCAML,CAA2B,CAAC;gBAC7B,IAAI,KAAK,KAAK,MAAM,EAAE;oBAClB,IAAI,CAAC,WAAW,GAAG,IAAc,CAAC;iBACrC;gBACD,eAAe,GAAG,IAAI,eAAe,CACjC,IAAI,CAAC,gBAAgB,EACrB,mBAAmB,CACtB,CAAC;aACL;YACD,IAAI,CAAC,kBAAkB,GAAG;gBACtB,QAAQ,EAAE,IAAI,CAAC,gBAAgB;gBAC/B,YAAY,EAAE,eAAe;aAChC,CAAC;SACL;QACD,oBAAoB;QACpB,OAAO,MAAA,IAAI,CAAC,kBAAkB,0CAAE,YAAY,CAAC;IACjD,CAAC;IAED,IAAW,YAAY;QACnB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC;IAEM,iBAAiB;QACpB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAEM,oBAAoB;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,KAAK,CAAC,oBAAoB,EAAE,CAAC;IACjC,CAAC;IAEO,eAAe;QACnB,MAAM,eAAe,GAAG,IAAI,WAAW,CACnC,qBAAqB,EACrB;YACI,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACJ,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE;oBACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBACjC,CAAC;aACJ;YACD,UAAU,EAAE,IAAI;SACnB,CACJ,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;CACJ;AA9IG;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CAChB;AAGX;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CACnB;AAGxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACH;AAGzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CACV;AAGjB;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;yCACpB;AAGjC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;yCACxB;AAG7B;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;sDAEyB;AAGxD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CACrB;AAGrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;mDACb;AAG3C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CACT;AAGlB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;uDAM7B;AAsBF;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;mDACkC","sourcesContent":["/*\nCopyright 2021 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport { PropertyValues } from '@spectrum-web-components/base';\nimport { property } from '@spectrum-web-components/base/src/decorators.js';\nimport { Focusable } from '@spectrum-web-components/shared/src/focusable.js';\nimport { ProvideLang } from '@spectrum-web-components/theme';\nimport {\n NumberFormatOptions,\n NumberFormatter,\n} from '@internationalized/number';\n\nexport type HandleMin = number | 'previous';\nexport type HandleMax = number | 'next';\n\nexport type HandleValues = {\n name: string;\n value: number;\n}[];\n\nexport interface Controller {\n inputForHandle(handle: SliderHandle): HTMLInputElement | undefined;\n requestUpdate(): void;\n setValueFromHandle(handle: SliderHandle): void;\n handleHasChanged(handle: SliderHandle): void;\n}\n\nexport type SliderNormalization = {\n toNormalized: (value: number, min: number, max: number) => number;\n fromNormalized: (value: number, min: number, max: number) => number;\n};\n\nexport const defaultNormalization: SliderNormalization = {\n toNormalized(value: number, min: number, max: number) {\n return (value - min) / (max - min);\n },\n fromNormalized(value: number, min: number, max: number) {\n return value * (max - min) + min;\n },\n};\n\nconst MinConverter = {\n fromAttribute: (value: string): number | 'previous' => {\n if (value === 'previous') return value;\n return parseFloat(value);\n },\n toAttribute: (value: 'previous' | number): string => {\n return value.toString();\n },\n};\n\nconst MaxConverter = {\n fromAttribute: (value: string): number | 'next' => {\n if (value === 'next') return value;\n return parseFloat(value);\n },\n toAttribute: (value: 'next' | number): string => {\n return value.toString();\n },\n};\n\n/**\n * @element sp-slider-handle\n *\n * @fires input - The value of the element has changed.\n * @fires change - An alteration to the value of the element has been committed by the user.\n */\nexport class SliderHandle extends Focusable {\n public handleController?: Controller;\n\n public get handleName(): string {\n return this.name;\n }\n\n public get focusElement(): HTMLElement {\n /* c8 ignore next */\n return this.handleController?.inputForHandle(this) ?? this;\n }\n\n _forcedUnit = '';\n\n @property({ type: Number })\n value = 10;\n\n @property({ type: Boolean, reflect: true })\n public dragging = false;\n\n @property({ type: Boolean })\n public highlight = false;\n\n @property({ type: String })\n public name = '';\n\n @property({ reflect: true, converter: MinConverter })\n public min?: number | 'previous';\n\n @property({ reflect: true, converter: MaxConverter })\n public max?: number | 'next';\n\n @property({ attribute: false })\n private resolvedLanguage =\n document.documentElement.lang || navigator.language;\n\n @property({ type: Number, reflect: true })\n public step?: number;\n\n @property({ type: Object, attribute: 'format-options' })\n public formatOptions?: NumberFormatOptions;\n\n @property({ type: String })\n public label = '';\n\n @property({ attribute: false })\n public getAriaHandleText: (\n value: number,\n numberFormat: NumberFormatter\n ) => string = (value, numberFormat) => {\n return numberFormat.format(value);\n };\n\n protected update(changes: PropertyValues): void {\n if (changes.has('formatOptions') || changes.has('resolvedLanguage')) {\n delete this._numberFormatCache;\n }\n super.update(changes);\n }\n\n protected updated(changedProperties: PropertyValues<this>): void {\n if (changedProperties.has('value')) {\n const oldValue = changedProperties.get('value');\n if (oldValue != null) {\n this.handleController /* c8 ignore next */\n ?.setValueFromHandle(this);\n }\n }\n this.handleController?.handleHasChanged(this);\n super.updated(changedProperties);\n }\n\n @property({ attribute: false })\n public normalization: SliderNormalization = defaultNormalization;\n\n public dispatchInputEvent(): void {\n const inputEvent = new Event('input', {\n bubbles: true,\n composed: true,\n });\n\n this.dispatchEvent(inputEvent);\n }\n\n protected _numberFormatCache:\n | { numberFormat: NumberFormatter; language: string }\n | undefined;\n protected getNumberFormat(): Intl.NumberFormat {\n /* c8 ignore next */\n if (\n !this._numberFormatCache ||\n this.resolvedLanguage !== this._numberFormatCache.language\n ) {\n let numberFormatter: NumberFormatter;\n try {\n numberFormatter = new NumberFormatter(\n this.resolvedLanguage,\n this.formatOptions\n );\n this._forcedUnit = '';\n // numberFormatter.format(1);\n } catch (error) {\n const {\n style,\n unit,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n unitDisplay,\n ...formatOptionsNoUnit\n } = this.formatOptions || {};\n if (style === 'unit') {\n this._forcedUnit = unit as string;\n }\n numberFormatter = new NumberFormatter(\n this.resolvedLanguage,\n formatOptionsNoUnit\n );\n }\n this._numberFormatCache = {\n language: this.resolvedLanguage,\n numberFormat: numberFormatter,\n };\n }\n /* c8 ignore next */\n return this._numberFormatCache?.numberFormat;\n }\n\n public get numberFormat(): NumberFormatter | undefined {\n if (!this.formatOptions) return;\n return this.getNumberFormat();\n }\n\n public connectedCallback(): void {\n super.connectedCallback();\n this.resolveLanguage();\n }\n\n public disconnectedCallback(): void {\n this.resolveLanguage();\n super.disconnectedCallback();\n }\n\n private resolveLanguage(): void {\n const queryThemeEvent = new CustomEvent<ProvideLang>(\n 'sp-language-context',\n {\n bubbles: true,\n composed: true,\n detail: {\n callback: (lang: string) => {\n this.resolvedLanguage = lang;\n },\n },\n cancelable: true,\n }\n );\n this.dispatchEvent(queryThemeEvent);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SliderHandle.js","sourceRoot":"","sources":["SliderHandle.ts"],"names":[],"mappings":"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","sourcesContent":["/*\nCopyright 2021 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport { PropertyValues } from '@spectrum-web-components/base';\nimport { property } from '@spectrum-web-components/base/src/decorators.js';\nimport { Focusable } from '@spectrum-web-components/shared/src/focusable.js';\nimport { ProvideLang } from '@spectrum-web-components/theme';\nimport {\n NumberFormatOptions,\n NumberFormatter,\n} from '@internationalized/number';\n\nexport type HandleMin = number | 'previous';\nexport type HandleMax = number | 'next';\n\nexport type HandleValues = {\n name: string;\n value: number;\n}[];\n\nexport interface Controller {\n inputForHandle(handle: SliderHandle): HTMLInputElement | undefined;\n requestUpdate(): void;\n setValueFromHandle(handle: SliderHandle): void;\n handleHasChanged(handle: SliderHandle): void;\n}\n\nexport type SliderNormalization = {\n toNormalized: (value: number, min: number, max: number) => number;\n fromNormalized: (value: number, min: number, max: number) => number;\n};\n\nexport const defaultNormalization: SliderNormalization = {\n toNormalized(value: number, min: number, max: number) {\n return (value - min) / (max - min);\n },\n fromNormalized(value: number, min: number, max: number) {\n return value * (max - min) + min;\n },\n};\n\nconst MinConverter = {\n fromAttribute: (value: string): number | 'previous' => {\n if (value === 'previous') return value;\n return parseFloat(value);\n },\n toAttribute: (value: 'previous' | number): string => {\n return value.toString();\n },\n};\n\nconst MaxConverter = {\n fromAttribute: (value: string): number | 'next' => {\n if (value === 'next') return value;\n return parseFloat(value);\n },\n toAttribute: (value: 'next' | number): string => {\n return value.toString();\n },\n};\n\n/**\n * @element sp-slider-handle\n *\n * @fires input - The value of the element has changed.\n * @fires change - An alteration to the value of the element has been committed by the user.\n */\nexport class SliderHandle extends Focusable {\n public handleController?: Controller;\n\n public get handleName(): string {\n return this.name;\n }\n\n public get focusElement(): HTMLElement {\n /* c8 ignore next */\n return this.handleController?.inputForHandle(this) ?? this;\n }\n\n _forcedUnit = '';\n\n @property({ type: Number })\n value = 10;\n\n @property({ type: Boolean, reflect: true })\n public dragging = false;\n\n @property({ type: Boolean })\n public highlight = false;\n\n @property({ type: String })\n public name = '';\n\n @property({ reflect: true, converter: MinConverter })\n public min?: number | 'previous';\n\n @property({ reflect: true, converter: MaxConverter })\n public max?: number | 'next';\n\n @property({ attribute: false })\n private resolvedLanguage =\n document.documentElement.lang || navigator.language;\n\n @property({ type: Number, reflect: true })\n public step?: number;\n\n @property({ type: Object, attribute: 'format-options' })\n public formatOptions?: NumberFormatOptions;\n\n @property({ type: String })\n public label = '';\n\n @property({ attribute: false })\n public getAriaHandleText: (\n value: number,\n numberFormat: NumberFormatter\n ) => string = (value, numberFormat) => {\n return numberFormat.format(value);\n };\n\n protected update(changes: PropertyValues): void {\n if (changes.has('formatOptions') || changes.has('resolvedLanguage')) {\n delete this._numberFormatCache;\n }\n super.update(changes);\n }\n\n protected updated(changedProperties: PropertyValues<this>): void {\n if (changedProperties.has('value')) {\n const oldValue = changedProperties.get('value');\n if (oldValue != null) {\n this.handleController /* c8 ignore next */\n ?.setValueFromHandle(this);\n }\n }\n this.handleController?.handleHasChanged(this);\n super.updated(changedProperties);\n }\n\n protected firstUpdated(changedProperties: PropertyValues<this>): void {\n super.firstUpdated(changedProperties);\n this.dispatchEvent(new CustomEvent('sp-slider-handle-ready'));\n }\n\n @property({ attribute: false })\n public normalization: SliderNormalization = defaultNormalization;\n\n public dispatchInputEvent(): void {\n const inputEvent = new Event('input', {\n bubbles: true,\n composed: true,\n });\n\n this.dispatchEvent(inputEvent);\n }\n\n protected _numberFormatCache:\n | { numberFormat: NumberFormatter; language: string }\n | undefined;\n protected getNumberFormat(): Intl.NumberFormat {\n /* c8 ignore next */\n if (\n !this._numberFormatCache ||\n this.resolvedLanguage !== this._numberFormatCache.language\n ) {\n let numberFormatter: NumberFormatter;\n try {\n numberFormatter = new NumberFormatter(\n this.resolvedLanguage,\n this.formatOptions\n );\n this._forcedUnit = '';\n // numberFormatter.format(1);\n } catch (error) {\n const {\n style,\n unit,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n unitDisplay,\n ...formatOptionsNoUnit\n } = this.formatOptions || {};\n if (style === 'unit') {\n this._forcedUnit = unit as string;\n }\n numberFormatter = new NumberFormatter(\n this.resolvedLanguage,\n formatOptionsNoUnit\n );\n }\n this._numberFormatCache = {\n language: this.resolvedLanguage,\n numberFormat: numberFormatter,\n };\n }\n /* c8 ignore next */\n return this._numberFormatCache?.numberFormat;\n }\n\n public get numberFormat(): NumberFormatter | undefined {\n if (!this.formatOptions) return;\n return this.getNumberFormat();\n }\n\n public connectedCallback(): void {\n super.connectedCallback();\n this.resolveLanguage();\n }\n\n public disconnectedCallback(): void {\n this.resolveLanguage();\n super.disconnectedCallback();\n }\n\n private resolveLanguage(): void {\n const queryThemeEvent = new CustomEvent<ProvideLang>(\n 'sp-language-context',\n {\n bubbles: true,\n composed: true,\n detail: {\n callback: (lang: string) => {\n this.resolvedLanguage = lang;\n },\n },\n cancelable: true,\n }\n );\n this.dispatchEvent(queryThemeEvent);\n }\n}\n"]}
|
package/src/slider.css.js
CHANGED
|
@@ -191,7 +191,7 @@ var(--spectrum-global-dimension-static-size-25)
|
|
|
191
191
|
--spectrum-slider-editable-number-field-width,var(--spectrum-global-dimension-size-1000)
|
|
192
192
|
);grid-area:number}:host([hide-stepper]) sp-number-field{--spectrum-stepper-width:var(
|
|
193
193
|
--spectrum-slider-editable-number-field-width,var(--spectrum-global-dimension-size-900)
|
|
194
|
-
)}:host([editable][dir=ltr]) sp-number-field{margin-left:var(--spectrum-global-dimension-size-200)}:host([editable][dir=rtl]) sp-number-field{margin-right:var(--spectrum-global-dimension-size-200)}:host([editable]) output{opacity:0}:host([disabled]){pointer-events:none}#track,:host([dragging]){touch-action:
|
|
194
|
+
)}:host([editable][dir=ltr]) sp-number-field{margin-left:var(--spectrum-global-dimension-size-200)}:host([editable][dir=rtl]) sp-number-field{margin-right:var(--spectrum-global-dimension-size-200)}:host([editable]) output{opacity:0}:host([disabled]){pointer-events:none}#track,:host([dragging]){touch-action:none;-webkit-user-select:none;user-select:none}.not-exact.ticks{justify-content:start}:host([dir=ltr]) .not-exact .tick{padding-right:var(--sp-slider-tick-offset)}:host([dir=rtl]) .not-exact .tick{padding-left:var(--sp-slider-tick-offset)}:host([dir=ltr]) .not-exact .tick:after{left:auto;transform:translate(-50%)}:host([dir=rtl]) .not-exact .tick:after{right:auto;transform:translate(50%)}.track:before{background-size:var(--spectrum-slider-track-background-size)!important}:host([dir=ltr]) .track:before{background:var(
|
|
195
195
|
--spectrum-slider-track-color,var(--spectrum-global-color-gray-300)
|
|
196
196
|
)}:host([dir=rtl]) .track:before{background:var(
|
|
197
197
|
--spectrum-slider-track-color-rtl,var(
|
package/src/slider.css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.css.js","sourceRoot":"","sources":["slider.css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AACF,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAC;AACpD,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4LjB,CAAC;AACF,eAAe,MAAM,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host{--spectrum-slider-tick-mark-width:var(\n--spectrum-slider-m-tick-mark-width,var(--spectrum-alias-border-size-thick)\n);--spectrum-slider-tick-mark-height:var(\n--spectrum-slider-m-tick-mark-height,var(--spectrum-global-dimension-size-125)\n);--spectrum-slider-tick-mark-border-radius:var(\n--spectrum-slider-m-tick-mark-border-radius,var(--spectrum-alias-border-radius-xsmall)\n);--spectrum-slider-track-border-radius:var(\n--spectrum-slider-m-track-border-radius,var(--spectrum-global-dimension-static-size-10)\n);--spectrum-slider-track-height:var(\n--spectrum-slider-m-track-height,var(--spectrum-alias-border-size-thick)\n);--spectrum-slider-handle-width:var(\n--spectrum-slider-m-handle-width,var(--spectrum-alias-control-two-size-l)\n);--spectrum-slider-handle-height:var(\n--spectrum-slider-m-handle-height,var(--spectrum-alias-control-two-size-l)\n);--spectrum-slider-handle-gap:var(\n--spectrum-slider-m-handle-gap,var(--spectrum-alias-border-size-thicker)\n);--spectrum-slider-handle-border-size:var(\n--spectrum-slider-m-handle-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-slider-handle-border-radius:var(\n--spectrum-slider-m-handle-border-radius,var(--spectrum-global-dimension-size-100)\n);--spectrum-slider-height:var(\n--spectrum-slider-m-height,var(--spectrum-global-dimension-size-400)\n);--spectrum-slider-min-width:var(\n--spectrum-slider-m-min-width,var(--spectrum-global-dimension-size-1250)\n);--spectrum-slider-animation-duration:var(\n--spectrum-slider-m-animation-duration,var(--spectrum-global-animation-duration-100)\n);--spectrum-slider-ramp-track-color-disabled:var(\n--spectrum-slider-m-ramp-track-color-disabled,var(--spectrum-global-color-gray-300)\n);--spectrum-slider-ramp-track-height:var(\n--spectrum-slider-m-ramp-track-height,var(--spectrum-global-dimension-size-200)\n);--spectrum-slider-label-gap-y:var(--spectrum-global-dimension-size-85);--spectrum-slider-controls-margin:calc(var(--spectrum-slider-handle-width)/2);--spectrum-slider-track-margin-offset:calc(var(--spectrum-slider-controls-margin)*-1);--spectrum-slider-handle-margin-top:calc(var(--spectrum-slider-handle-width)/-2);--spectrum-slider-handle-margin-left:calc(var(--spectrum-slider-handle-width)/-2);--spectrum-slider-track-handleoffset:var(--spectrum-slider-handle-gap);--spectrum-slider-track-middle-handleoffset:calc(var(--spectrum-slider-handle-gap) + var(--spectrum-slider-handle-width)/2);--spectrum-slider-input-top:calc(var(--spectrum-slider-handle-margin-top)/4);--spectrum-slider-input-left:calc(var(--spectrum-slider-handle-margin-left)/4);--spectrum-slider-ramp-margin-top:0;--spectrum-slider-range-track-reset:0;--spectrum-slide-label-text-size:var(\n--spectrum-global-dimension-font-size-75\n);--spectrum-slide-label-text-line-height:var(\n--spectrum-global-font-line-height-small,1.3\n);--spectrum-slide-label-margin-bottom:-3px;--spectrum-slider-label-gap-x:var(\n--spectrum-alias-item-control-gap-m,var(--spectrum-global-dimension-size-125)\n)}:host{display:block;min-height:var(--spectrum-slider-height);min-width:var(--spectrum-slider-min-width);position:relative;-webkit-user-select:none;user-select:none;z-index:1}:host([dir=ltr]) #controls{margin-left:var(\n--spectrum-slider-controls-margin\n)}:host([dir=rtl]) #controls{margin-right:var(\n--spectrum-slider-controls-margin\n)}#controls{box-sizing:border-box;display:inline-block;min-height:var(--spectrum-slider-height);position:relative;vertical-align:top;width:calc(100% - var(--spectrum-slider-controls-margin)*2);z-index:auto}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{left:0}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{right:0}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{right:auto}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{left:auto}#fill,.track{box-sizing:border-box;height:var(\n--spectrum-slider-track-height\n);margin-top:calc(var(--spectrum-slider-track-height)/-2);pointer-events:none;position:absolute;top:calc(var(--spectrum-slider-height)/2);z-index:1}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{padding-left:0;padding-right:var(--spectrum-slider-track-handleoffset)}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{padding-left:var(--spectrum-slider-track-handleoffset);padding-right:0}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}#fill,.track{padding-bottom:0;padding-top:0}#fill:before,.track:before{border-radius:var(--spectrum-slider-track-border-radius);content:\"\";display:block;height:100%}:host([dir=ltr]) #fill{margin-left:0}:host([dir=rtl]) #fill{margin-right:0}:host([dir=ltr]) #fill{padding-left:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset));padding-right:0}:host([dir=rtl]) #fill{padding-left:0;padding-right:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset))}#fill{padding-bottom:0;padding-top:0}:host([dir=ltr]) .spectrum-Slider-fill--right{padding-left:0;padding-right:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset))}:host([dir=rtl]) .spectrum-Slider-fill--right{padding-left:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset));padding-right:0}.spectrum-Slider-fill--right{padding-bottom:0;padding-top:0}:host([dir=ltr]) .track~.track{left:auto}:host([dir=rtl]) .track~.track{right:auto}:host([dir=ltr]) .track~.track{right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl]) .track~.track{left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr]) .track~.track{padding-left:var(\n--spectrum-slider-track-handleoffset\n);padding-right:0}:host([dir=rtl]) .track~.track{padding-left:0;padding-right:var(\n--spectrum-slider-track-handleoffset\n)}:host([dir=ltr]) .track~.track{margin-left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl]) .track~.track{margin-right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr]) .track~.track{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) .track~.track{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}.track~.track{padding-bottom:0;padding-top:0}:host([variant=range]) #value{-webkit-user-select:text;user-select:text}:host([dir=ltr][variant=range]) .track:first-of-type{padding-left:0;padding-right:var(--spectrum-slider-track-handleoffset)}:host([dir=rtl][variant=range]) .track:first-of-type{padding-left:var(--spectrum-slider-track-handleoffset);padding-right:0}:host([dir=ltr][variant=range]) .track:first-of-type{left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl][variant=range]) .track:first-of-type{right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr][variant=range]) .track:first-of-type{right:auto}:host([dir=rtl][variant=range]) .track:first-of-type{left:auto}:host([dir=ltr][variant=range]) .track:first-of-type{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl][variant=range]) .track:first-of-type{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}:host([variant=range]) .track:first-of-type{padding-bottom:0;padding-top:0}:host([dir=ltr][variant=range]) [dir=ltr] .track,:host([dir=ltr][variant=range]) [dir=rtl] .track{left:auto}:host([dir=ltr][variant=range]) [dir=rtl] .track,:host([dir=rtl][variant=range]) [dir=rtl] .track{right:auto}:host([dir=ltr][variant=range]) [dir=ltr] .track,:host([dir=ltr][variant=range]) [dir=rtl] .track{right:auto}:host([dir=ltr][variant=range]) [dir=rtl] .track,:host([dir=rtl][variant=range]) [dir=rtl] .track{left:auto}:host([dir=ltr][variant=range]) .track,:host([dir=rtl][variant=range]) .track{padding-bottom:0;padding-left:var(--spectrum-slider-track-middle-handleoffset);padding-right:var(--spectrum-slider-track-middle-handleoffset);padding-top:0}:host([dir=ltr][variant=range]) .track:last-of-type{padding-left:var(\n--spectrum-slider-track-handleoffset\n);padding-right:0}:host([dir=rtl][variant=range]) .track:last-of-type{padding-left:0;padding-right:var(\n--spectrum-slider-track-handleoffset\n)}:host([dir=ltr][variant=range]) .track:last-of-type{left:auto}:host([dir=rtl][variant=range]) .track:last-of-type{right:auto}:host([dir=ltr][variant=range]) .track:last-of-type{right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl][variant=range]) .track:last-of-type{left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr][variant=range]) .track:last-of-type{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl][variant=range]) .track:last-of-type{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}:host([variant=range]) .track:last-of-type{padding-bottom:0;padding-top:0}:host([dir=ltr]) #ramp{left:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) #ramp{right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=ltr]) #ramp{right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) #ramp{left:var(\n--spectrum-slider-track-margin-offset\n)}#ramp{height:var(--spectrum-slider-ramp-track-height);margin-top:var(\n--spectrum-slider-ramp-margin-top\n);position:absolute;top:calc(var(--spectrum-slider-ramp-track-height)/2)}:host([dir=rtl]) #ramp svg{transform:matrix(-1,0,0,1,0,0)}#ramp svg{height:100%;width:100%}:host([dir=ltr]) .handle{left:0}:host([dir=rtl]) .handle{right:0}:host([dir=ltr]) .handle{margin-left:calc(var(--spectrum-slider-handle-width)/-2);margin-right:0}:host([dir=rtl]) .handle{margin-left:0;margin-right:calc(var(--spectrum-slider-handle-width)/-2)}.handle{border-radius:var(--spectrum-slider-handle-border-radius);border-style:solid;border-width:var(--spectrum-slider-handle-border-size);box-sizing:border-box;display:inline-block;height:var(--spectrum-slider-handle-height);margin-bottom:0;margin-top:var(--spectrum-slider-handle-margin-top);outline:none;position:absolute;top:calc(var(--spectrum-slider-height)/2);transition:border-width var(--spectrum-slider-animation-duration) ease-in-out;width:var(--spectrum-slider-handle-width);z-index:2}.handle.dragging,.handle.handle-highlight,.handle:active{border-width:var(\n--spectrum-slider-handle-border-size\n)}.handle.dragging,.handle.handle-highlight,.handle.is-tophandle,.handle:active{z-index:3}.handle:before{border-radius:100%;content:\" \";display:block;height:var(--spectrum-slider-handle-height);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:box-shadow var(--spectrum-global-animation-duration-100,.13s) ease-out,width var(--spectrum-global-animation-duration-100,.13s) ease-out,height var(--spectrum-global-animation-duration-100,.13s) ease-out;width:var(--spectrum-slider-handle-width)}.handle.handle-highlight:before{height:calc(var(--spectrum-slider-handle-height) + var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n)*2);width:calc(var(--spectrum-slider-handle-width) + var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n)*2)}:host([dir=ltr]) .input{left:var(\n--spectrum-slider-input-left\n)}:host([dir=rtl]) .input{right:var(\n--spectrum-slider-input-left\n)}.input{-webkit-appearance:none;border:0;cursor:default;height:var(--spectrum-slider-handle-height);margin:0;opacity:.000001;overflow:hidden;padding:0;pointer-events:none;position:absolute;top:var(--spectrum-slider-input-top);width:var(--spectrum-slider-handle-width)}.input:focus{outline:none}#label-container{display:flex;font-size:var(--spectrum-slide-label-text-size);line-height:var(--spectrum-slide-label-text-line-height);margin-bottom:var(--spectrum-slide-label-margin-bottom);padding-top:var(\n--spectrum-fieldlabel-m-padding-top,var(--spectrum-global-dimension-size-50)\n);position:relative;width:auto}:host([dir=ltr]) #label{padding-left:0}:host([dir=rtl]) #label{padding-right:0}#label{flex-grow:1}:host([dir=ltr]) #value{padding-right:0}:host([dir=rtl]) #value{padding-left:0}:host([dir=ltr]) #value{text-align:right}:host([dir=rtl]) #value{text-align:left}#value{font-feature-settings:\"tnum\";cursor:default;flex-grow:0}:host([dir=ltr]) #value{margin-left:var(\n--spectrum-slider-label-gap-x\n)}:host([dir=rtl]) #value{margin-right:var(\n--spectrum-slider-label-gap-x\n)}.ticks{display:flex;justify-content:space-between;margin:0 var(--spectrum-slider-track-margin-offset);margin-top:calc(var(--spectrum-slider-tick-mark-height) + var(--spectrum-slider-track-height)/2);z-index:0}.tick{position:relative;width:var(--spectrum-slider-tick-mark-width)}:host([dir=ltr]) .tick:after{left:calc(50% - var(--spectrum-slider-tick-mark-width)/2)}:host([dir=rtl]) .tick:after{right:calc(50% - var(--spectrum-slider-tick-mark-width)/2)}.tick:after{border-radius:var(--spectrum-slider-tick-mark-border-radius);content:\"\";display:block;height:var(--spectrum-slider-tick-mark-height);position:absolute;top:0;width:var(--spectrum-slider-tick-mark-width)}.tick .tickLabel{align-items:center;display:flex;font-size:var(--spectrum-slide-label-text-size);justify-content:center;line-height:var(--spectrum-slide-label-text-line-height);margin-bottom:0;margin-left:calc(var(--spectrum-slider-label-gap-x)*-1);margin-right:calc(var(--spectrum-slider-label-gap-x)*-1);margin-top:calc(var(--spectrum-slider-label-gap-y) + var(--spectrum-slider-tick-mark-height))}.tick:first-of-type .tickLabel,.tick:last-of-type .tickLabel{display:block;margin-left:0;margin-right:0;position:absolute}:host([dir=ltr]) .tick:first-of-type{left:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=rtl]) .tick:first-of-type{right:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=ltr]) .tick:first-of-type .tickLabel{left:0}:host([dir=rtl]) .tick:first-of-type .tickLabel{right:0}:host([dir=ltr]) .tick:last-of-type{right:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=rtl]) .tick:last-of-type{left:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=ltr]) .tick:last-of-type .tickLabel{right:0}:host([dir=rtl]) .tick:last-of-type .tickLabel{left:0}:host([disabled]){cursor:default}:host([disabled]) .handle{cursor:default;pointer-events:none}.spectrum-Slider-handleContainer,.spectrum-Slider-trackContainer{margin-left:calc(var(--spectrum-slider-handle-width)/2*-1);position:absolute;top:calc(var(--spectrum-slider-track-height)/2 - 1px);width:calc(100% + var(--spectrum-slider-handle-width))}.spectrum-Slider-trackContainer{height:var(--spectrum-slider-height);overflow:hidden}:host{--spectrum-slider-m-focus-ring-size:var(\n--spectrum-alias-focus-ring-size,var(--spectrum-global-dimension-static-size-25)\n);--spectrum-slider-m-handle-border-color-key-focus:var(\n--spectrum-global-color-gray-800\n);--spectrum-slider-m-handle-focus-ring-color-key-focus:var(\n--spectrum-alias-focus-color,var(--spectrum-global-color-blue-400)\n);--spectrum-slider-m-label-text-color:var(\n--spectrum-alias-label-text-color,var(--spectrum-global-color-gray-700)\n);--spectrum-slider-m-label-text-color-disabled:var(\n--spectrum-alias-text-color-disabled,var(--spectrum-global-color-gray-500)\n)}.track:before{background:var(\n--spectrum-slider-m-track-color,var(--spectrum-global-color-gray-400)\n)}#label-container{color:var(\n--spectrum-slider-m-label-text-color\n)}:host([variant=filled]) .track:first-child:before{background:var(\n--spectrum-slider-m-track-fill-color,var(--spectrum-global-color-gray-700)\n)}#fill:before{background:var(\n--spectrum-slider-m-track-fill-color,var(--spectrum-global-color-gray-700)\n)}#ramp path{fill:var(\n--spectrum-slider-m-track-color,var(--spectrum-global-color-gray-400)\n)}.handle{background:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-slider-m-handle-border-color,var(--spectrum-global-color-gray-700)\n)}.handle:hover{border-color:var(\n--spectrum-slider-m-handle-border-color-hover,var(--spectrum-global-color-gray-800)\n)}.handle.handle-highlight{border-color:var(\n--spectrum-slider-m-handle-border-color-key-focus,var(--spectrum-global-color-gray-800)\n)}.handle.handle-highlight:before{box-shadow:0 0 0 var(\n--spectrum-slider-m-focus-ring-size,var(--spectrum-alias-focus-ring-size)\n) var(--spectrum-slider-m-handle-focus-ring-color-key-focus)}.handle.dragging,.handle:active{border-color:var(\n--spectrum-slider-m-handle-border-color-down,var(--spectrum-global-color-gray-800)\n)}:host([variant=ramp]) .handle{box-shadow:0 0 0 4px var(\n--spectrum-alias-background-color-default,var(--spectrum-global-color-gray-100)\n)}.input{background:transparent}.tick:after{background-color:var(\n--spectrum-slider-m-tick-mark-color,var(--spectrum-global-color-gray-400)\n)}.handle.dragging{background:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-slider-m-handle-border-color-down,var(--spectrum-global-color-gray-800)\n)}:host([variant=range]) .track:not(:first-of-type):not(:last-of-type):before{background:var(\n--spectrum-slider-m-track-fill-color,var(--spectrum-global-color-gray-700)\n)}:host([disabled]) #label-container{color:var(\n--spectrum-slider-m-label-text-color-disabled\n)}:host([disabled]) .handle{background:var(\n--spectrum-alias-background-color-default,var(--spectrum-global-color-gray-100)\n);border-color:var(\n--spectrum-slider-m-handle-border-color-disabled,var(--spectrum-global-color-gray-400)\n)}:host([disabled]) .handle:active,:host([disabled]) .handle:hover{background:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-slider-m-handle-border-color-disabled,var(--spectrum-global-color-gray-400)\n)}:host([disabled]) .track:before{background:var(\n--spectrum-slider-m-track-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host([disabled][variant=filled]) .track:first-child:before{background:var(\n--spectrum-slider-m-track-fill-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host([disabled]) #fill:before{background:var(\n--spectrum-slider-m-track-fill-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host([disabled]) #ramp path{fill:var(\n--spectrum-slider-ramp-track-color-disabled\n)}:host([disabled][variant=range]) .track:not(:first-of-type):not(:last-of-type):before{background:var(\n--spectrum-slider-m-track-fill-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host{--spectrum-slider-handle-default-background-color:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);--spectrum-slider-handle-default-border-color:var(\n--spectrum-slider-m-handle-border-color,var(--spectrum-global-color-gray-700)\n)}sp-field-label{padding-bottom:0;padding-top:0}:host(:focus){outline:0}:host([editable]){display:grid;grid-template-areas:\"label .\" \"slider number\";grid-template-columns:1fr auto}:host([editable]) #label-container{grid-area:label}:host([editable]) #label-container+div{grid-area:slider}:host([editable]) sp-number-field{--spectrum-stepper-width:var(\n--spectrum-slider-editable-number-field-width,var(--spectrum-global-dimension-size-1000)\n);grid-area:number}:host([hide-stepper]) sp-number-field{--spectrum-stepper-width:var(\n--spectrum-slider-editable-number-field-width,var(--spectrum-global-dimension-size-900)\n)}:host([editable][dir=ltr]) sp-number-field{margin-left:var(--spectrum-global-dimension-size-200)}:host([editable][dir=rtl]) sp-number-field{margin-right:var(--spectrum-global-dimension-size-200)}:host([editable]) output{opacity:0}:host([disabled]){pointer-events:none}#track,:host([dragging]){touch-action:pan-x;-webkit-user-select:none;user-select:none}.handle{pointer-events:none}.not-exact.ticks{justify-content:start}:host([dir=ltr]) .not-exact .tick{padding-right:var(--sp-slider-tick-offset)}:host([dir=rtl]) .not-exact .tick{padding-left:var(--sp-slider-tick-offset)}:host([dir=ltr]) .not-exact .tick:after{left:auto;transform:translate(-50%)}:host([dir=rtl]) .not-exact .tick:after{right:auto;transform:translate(50%)}.track:before{background-size:var(--spectrum-slider-track-background-size)!important}:host([dir=ltr]) .track:before{background:var(\n--spectrum-slider-track-color,var(--spectrum-global-color-gray-300)\n)}:host([dir=rtl]) .track:before{background:var(\n--spectrum-slider-track-color-rtl,var(\n--spectrum-slider-track-color,var(--spectrum-global-color-gray-300)\n)\n)}:host([dir=ltr]) .track:last-of-type:before{background-position:100%}:host([dir=rtl]) .track:first-of-type:before{background-position:100%}.track:not(:first-of-type):not(:last-of-type){padding-left:calc(var(--spectrum-slider-handle-width)/2 + var(--spectrum-slider-track-handleoffset))!important;padding-right:calc(var(--spectrum-slider-handle-width)/2 + var(--spectrum-slider-track-handleoffset))!important}:host([dir=ltr][variant=range]) .track,:host([dir=rtl][variant=range]) .track{margin:var(--spectrum-slider-range-track-reset);margin-top:calc(var(--spectrum-slider-track-height)/-2)}:host([dir=ltr]) .track:not(:first-of-type):not(:last-of-type){left:var(--spectrum-slider-track-segment-position)}:host([dir=rtl]) .track:not(:first-of-type):not(:last-of-type){right:var(--spectrum-slider-track-segment-position)}.visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host([label-visibility=value][dir=ltr]) #value{margin-left:auto}:host([label-visibility=value][dir=rtl]) #value{margin-right:auto}:host([label-visibility=none]) #label-container{margin:0;padding:0}\n`;\nexport default styles;"]}
|
|
1
|
+
{"version":3,"file":"slider.css.js","sourceRoot":"","sources":["slider.css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AACF,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAC;AACpD,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4LjB,CAAC;AACF,eAAe,MAAM,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host{--spectrum-slider-tick-mark-width:var(\n--spectrum-slider-m-tick-mark-width,var(--spectrum-alias-border-size-thick)\n);--spectrum-slider-tick-mark-height:var(\n--spectrum-slider-m-tick-mark-height,var(--spectrum-global-dimension-size-125)\n);--spectrum-slider-tick-mark-border-radius:var(\n--spectrum-slider-m-tick-mark-border-radius,var(--spectrum-alias-border-radius-xsmall)\n);--spectrum-slider-track-border-radius:var(\n--spectrum-slider-m-track-border-radius,var(--spectrum-global-dimension-static-size-10)\n);--spectrum-slider-track-height:var(\n--spectrum-slider-m-track-height,var(--spectrum-alias-border-size-thick)\n);--spectrum-slider-handle-width:var(\n--spectrum-slider-m-handle-width,var(--spectrum-alias-control-two-size-l)\n);--spectrum-slider-handle-height:var(\n--spectrum-slider-m-handle-height,var(--spectrum-alias-control-two-size-l)\n);--spectrum-slider-handle-gap:var(\n--spectrum-slider-m-handle-gap,var(--spectrum-alias-border-size-thicker)\n);--spectrum-slider-handle-border-size:var(\n--spectrum-slider-m-handle-border-size,var(--spectrum-alias-border-size-thick)\n);--spectrum-slider-handle-border-radius:var(\n--spectrum-slider-m-handle-border-radius,var(--spectrum-global-dimension-size-100)\n);--spectrum-slider-height:var(\n--spectrum-slider-m-height,var(--spectrum-global-dimension-size-400)\n);--spectrum-slider-min-width:var(\n--spectrum-slider-m-min-width,var(--spectrum-global-dimension-size-1250)\n);--spectrum-slider-animation-duration:var(\n--spectrum-slider-m-animation-duration,var(--spectrum-global-animation-duration-100)\n);--spectrum-slider-ramp-track-color-disabled:var(\n--spectrum-slider-m-ramp-track-color-disabled,var(--spectrum-global-color-gray-300)\n);--spectrum-slider-ramp-track-height:var(\n--spectrum-slider-m-ramp-track-height,var(--spectrum-global-dimension-size-200)\n);--spectrum-slider-label-gap-y:var(--spectrum-global-dimension-size-85);--spectrum-slider-controls-margin:calc(var(--spectrum-slider-handle-width)/2);--spectrum-slider-track-margin-offset:calc(var(--spectrum-slider-controls-margin)*-1);--spectrum-slider-handle-margin-top:calc(var(--spectrum-slider-handle-width)/-2);--spectrum-slider-handle-margin-left:calc(var(--spectrum-slider-handle-width)/-2);--spectrum-slider-track-handleoffset:var(--spectrum-slider-handle-gap);--spectrum-slider-track-middle-handleoffset:calc(var(--spectrum-slider-handle-gap) + var(--spectrum-slider-handle-width)/2);--spectrum-slider-input-top:calc(var(--spectrum-slider-handle-margin-top)/4);--spectrum-slider-input-left:calc(var(--spectrum-slider-handle-margin-left)/4);--spectrum-slider-ramp-margin-top:0;--spectrum-slider-range-track-reset:0;--spectrum-slide-label-text-size:var(\n--spectrum-global-dimension-font-size-75\n);--spectrum-slide-label-text-line-height:var(\n--spectrum-global-font-line-height-small,1.3\n);--spectrum-slide-label-margin-bottom:-3px;--spectrum-slider-label-gap-x:var(\n--spectrum-alias-item-control-gap-m,var(--spectrum-global-dimension-size-125)\n)}:host{display:block;min-height:var(--spectrum-slider-height);min-width:var(--spectrum-slider-min-width);position:relative;-webkit-user-select:none;user-select:none;z-index:1}:host([dir=ltr]) #controls{margin-left:var(\n--spectrum-slider-controls-margin\n)}:host([dir=rtl]) #controls{margin-right:var(\n--spectrum-slider-controls-margin\n)}#controls{box-sizing:border-box;display:inline-block;min-height:var(--spectrum-slider-height);position:relative;vertical-align:top;width:calc(100% - var(--spectrum-slider-controls-margin)*2);z-index:auto}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{left:0}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{right:0}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{right:auto}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{left:auto}#fill,.track{box-sizing:border-box;height:var(\n--spectrum-slider-track-height\n);margin-top:calc(var(--spectrum-slider-track-height)/-2);pointer-events:none;position:absolute;top:calc(var(--spectrum-slider-height)/2);z-index:1}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{padding-left:0;padding-right:var(--spectrum-slider-track-handleoffset)}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{padding-left:var(--spectrum-slider-track-handleoffset);padding-right:0}:host([dir=ltr]) #fill,:host([dir=ltr]) .track{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) #fill,:host([dir=rtl]) .track{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}#fill,.track{padding-bottom:0;padding-top:0}#fill:before,.track:before{border-radius:var(--spectrum-slider-track-border-radius);content:\"\";display:block;height:100%}:host([dir=ltr]) #fill{margin-left:0}:host([dir=rtl]) #fill{margin-right:0}:host([dir=ltr]) #fill{padding-left:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset));padding-right:0}:host([dir=rtl]) #fill{padding-left:0;padding-right:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset))}#fill{padding-bottom:0;padding-top:0}:host([dir=ltr]) .spectrum-Slider-fill--right{padding-left:0;padding-right:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset))}:host([dir=rtl]) .spectrum-Slider-fill--right{padding-left:calc(var(--spectrum-slider-controls-margin) + var(--spectrum-slider-track-handleoffset));padding-right:0}.spectrum-Slider-fill--right{padding-bottom:0;padding-top:0}:host([dir=ltr]) .track~.track{left:auto}:host([dir=rtl]) .track~.track{right:auto}:host([dir=ltr]) .track~.track{right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl]) .track~.track{left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr]) .track~.track{padding-left:var(\n--spectrum-slider-track-handleoffset\n);padding-right:0}:host([dir=rtl]) .track~.track{padding-left:0;padding-right:var(\n--spectrum-slider-track-handleoffset\n)}:host([dir=ltr]) .track~.track{margin-left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl]) .track~.track{margin-right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr]) .track~.track{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) .track~.track{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}.track~.track{padding-bottom:0;padding-top:0}:host([variant=range]) #value{-webkit-user-select:text;user-select:text}:host([dir=ltr][variant=range]) .track:first-of-type{padding-left:0;padding-right:var(--spectrum-slider-track-handleoffset)}:host([dir=rtl][variant=range]) .track:first-of-type{padding-left:var(--spectrum-slider-track-handleoffset);padding-right:0}:host([dir=ltr][variant=range]) .track:first-of-type{left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl][variant=range]) .track:first-of-type{right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr][variant=range]) .track:first-of-type{right:auto}:host([dir=rtl][variant=range]) .track:first-of-type{left:auto}:host([dir=ltr][variant=range]) .track:first-of-type{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl][variant=range]) .track:first-of-type{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}:host([variant=range]) .track:first-of-type{padding-bottom:0;padding-top:0}:host([dir=ltr][variant=range]) [dir=ltr] .track,:host([dir=ltr][variant=range]) [dir=rtl] .track{left:auto}:host([dir=ltr][variant=range]) [dir=rtl] .track,:host([dir=rtl][variant=range]) [dir=rtl] .track{right:auto}:host([dir=ltr][variant=range]) [dir=ltr] .track,:host([dir=ltr][variant=range]) [dir=rtl] .track{right:auto}:host([dir=ltr][variant=range]) [dir=rtl] .track,:host([dir=rtl][variant=range]) [dir=rtl] .track{left:auto}:host([dir=ltr][variant=range]) .track,:host([dir=rtl][variant=range]) .track{padding-bottom:0;padding-left:var(--spectrum-slider-track-middle-handleoffset);padding-right:var(--spectrum-slider-track-middle-handleoffset);padding-top:0}:host([dir=ltr][variant=range]) .track:last-of-type{padding-left:var(\n--spectrum-slider-track-handleoffset\n);padding-right:0}:host([dir=rtl][variant=range]) .track:last-of-type{padding-left:0;padding-right:var(\n--spectrum-slider-track-handleoffset\n)}:host([dir=ltr][variant=range]) .track:last-of-type{left:auto}:host([dir=rtl][variant=range]) .track:last-of-type{right:auto}:host([dir=ltr][variant=range]) .track:last-of-type{right:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=rtl][variant=range]) .track:last-of-type{left:var(\n--spectrum-slider-range-track-reset\n)}:host([dir=ltr][variant=range]) .track:last-of-type{margin-right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl][variant=range]) .track:last-of-type{margin-left:var(\n--spectrum-slider-track-margin-offset\n)}:host([variant=range]) .track:last-of-type{padding-bottom:0;padding-top:0}:host([dir=ltr]) #ramp{left:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) #ramp{right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=ltr]) #ramp{right:var(\n--spectrum-slider-track-margin-offset\n)}:host([dir=rtl]) #ramp{left:var(\n--spectrum-slider-track-margin-offset\n)}#ramp{height:var(--spectrum-slider-ramp-track-height);margin-top:var(\n--spectrum-slider-ramp-margin-top\n);position:absolute;top:calc(var(--spectrum-slider-ramp-track-height)/2)}:host([dir=rtl]) #ramp svg{transform:matrix(-1,0,0,1,0,0)}#ramp svg{height:100%;width:100%}:host([dir=ltr]) .handle{left:0}:host([dir=rtl]) .handle{right:0}:host([dir=ltr]) .handle{margin-left:calc(var(--spectrum-slider-handle-width)/-2);margin-right:0}:host([dir=rtl]) .handle{margin-left:0;margin-right:calc(var(--spectrum-slider-handle-width)/-2)}.handle{border-radius:var(--spectrum-slider-handle-border-radius);border-style:solid;border-width:var(--spectrum-slider-handle-border-size);box-sizing:border-box;display:inline-block;height:var(--spectrum-slider-handle-height);margin-bottom:0;margin-top:var(--spectrum-slider-handle-margin-top);outline:none;position:absolute;top:calc(var(--spectrum-slider-height)/2);transition:border-width var(--spectrum-slider-animation-duration) ease-in-out;width:var(--spectrum-slider-handle-width);z-index:2}.handle.dragging,.handle.handle-highlight,.handle:active{border-width:var(\n--spectrum-slider-handle-border-size\n)}.handle.dragging,.handle.handle-highlight,.handle.is-tophandle,.handle:active{z-index:3}.handle:before{border-radius:100%;content:\" \";display:block;height:var(--spectrum-slider-handle-height);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:box-shadow var(--spectrum-global-animation-duration-100,.13s) ease-out,width var(--spectrum-global-animation-duration-100,.13s) ease-out,height var(--spectrum-global-animation-duration-100,.13s) ease-out;width:var(--spectrum-slider-handle-width)}.handle.handle-highlight:before{height:calc(var(--spectrum-slider-handle-height) + var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n)*2);width:calc(var(--spectrum-slider-handle-width) + var(\n--spectrum-alias-focus-ring-gap,\nvar(--spectrum-global-dimension-static-size-25)\n)*2)}:host([dir=ltr]) .input{left:var(\n--spectrum-slider-input-left\n)}:host([dir=rtl]) .input{right:var(\n--spectrum-slider-input-left\n)}.input{-webkit-appearance:none;border:0;cursor:default;height:var(--spectrum-slider-handle-height);margin:0;opacity:.000001;overflow:hidden;padding:0;pointer-events:none;position:absolute;top:var(--spectrum-slider-input-top);width:var(--spectrum-slider-handle-width)}.input:focus{outline:none}#label-container{display:flex;font-size:var(--spectrum-slide-label-text-size);line-height:var(--spectrum-slide-label-text-line-height);margin-bottom:var(--spectrum-slide-label-margin-bottom);padding-top:var(\n--spectrum-fieldlabel-m-padding-top,var(--spectrum-global-dimension-size-50)\n);position:relative;width:auto}:host([dir=ltr]) #label{padding-left:0}:host([dir=rtl]) #label{padding-right:0}#label{flex-grow:1}:host([dir=ltr]) #value{padding-right:0}:host([dir=rtl]) #value{padding-left:0}:host([dir=ltr]) #value{text-align:right}:host([dir=rtl]) #value{text-align:left}#value{font-feature-settings:\"tnum\";cursor:default;flex-grow:0}:host([dir=ltr]) #value{margin-left:var(\n--spectrum-slider-label-gap-x\n)}:host([dir=rtl]) #value{margin-right:var(\n--spectrum-slider-label-gap-x\n)}.ticks{display:flex;justify-content:space-between;margin:0 var(--spectrum-slider-track-margin-offset);margin-top:calc(var(--spectrum-slider-tick-mark-height) + var(--spectrum-slider-track-height)/2);z-index:0}.tick{position:relative;width:var(--spectrum-slider-tick-mark-width)}:host([dir=ltr]) .tick:after{left:calc(50% - var(--spectrum-slider-tick-mark-width)/2)}:host([dir=rtl]) .tick:after{right:calc(50% - var(--spectrum-slider-tick-mark-width)/2)}.tick:after{border-radius:var(--spectrum-slider-tick-mark-border-radius);content:\"\";display:block;height:var(--spectrum-slider-tick-mark-height);position:absolute;top:0;width:var(--spectrum-slider-tick-mark-width)}.tick .tickLabel{align-items:center;display:flex;font-size:var(--spectrum-slide-label-text-size);justify-content:center;line-height:var(--spectrum-slide-label-text-line-height);margin-bottom:0;margin-left:calc(var(--spectrum-slider-label-gap-x)*-1);margin-right:calc(var(--spectrum-slider-label-gap-x)*-1);margin-top:calc(var(--spectrum-slider-label-gap-y) + var(--spectrum-slider-tick-mark-height))}.tick:first-of-type .tickLabel,.tick:last-of-type .tickLabel{display:block;margin-left:0;margin-right:0;position:absolute}:host([dir=ltr]) .tick:first-of-type{left:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=rtl]) .tick:first-of-type{right:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=ltr]) .tick:first-of-type .tickLabel{left:0}:host([dir=rtl]) .tick:first-of-type .tickLabel{right:0}:host([dir=ltr]) .tick:last-of-type{right:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=rtl]) .tick:last-of-type{left:calc(var(--spectrum-slider-tick-mark-width)/-2)}:host([dir=ltr]) .tick:last-of-type .tickLabel{right:0}:host([dir=rtl]) .tick:last-of-type .tickLabel{left:0}:host([disabled]){cursor:default}:host([disabled]) .handle{cursor:default;pointer-events:none}.spectrum-Slider-handleContainer,.spectrum-Slider-trackContainer{margin-left:calc(var(--spectrum-slider-handle-width)/2*-1);position:absolute;top:calc(var(--spectrum-slider-track-height)/2 - 1px);width:calc(100% + var(--spectrum-slider-handle-width))}.spectrum-Slider-trackContainer{height:var(--spectrum-slider-height);overflow:hidden}:host{--spectrum-slider-m-focus-ring-size:var(\n--spectrum-alias-focus-ring-size,var(--spectrum-global-dimension-static-size-25)\n);--spectrum-slider-m-handle-border-color-key-focus:var(\n--spectrum-global-color-gray-800\n);--spectrum-slider-m-handle-focus-ring-color-key-focus:var(\n--spectrum-alias-focus-color,var(--spectrum-global-color-blue-400)\n);--spectrum-slider-m-label-text-color:var(\n--spectrum-alias-label-text-color,var(--spectrum-global-color-gray-700)\n);--spectrum-slider-m-label-text-color-disabled:var(\n--spectrum-alias-text-color-disabled,var(--spectrum-global-color-gray-500)\n)}.track:before{background:var(\n--spectrum-slider-m-track-color,var(--spectrum-global-color-gray-400)\n)}#label-container{color:var(\n--spectrum-slider-m-label-text-color\n)}:host([variant=filled]) .track:first-child:before{background:var(\n--spectrum-slider-m-track-fill-color,var(--spectrum-global-color-gray-700)\n)}#fill:before{background:var(\n--spectrum-slider-m-track-fill-color,var(--spectrum-global-color-gray-700)\n)}#ramp path{fill:var(\n--spectrum-slider-m-track-color,var(--spectrum-global-color-gray-400)\n)}.handle{background:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-slider-m-handle-border-color,var(--spectrum-global-color-gray-700)\n)}.handle:hover{border-color:var(\n--spectrum-slider-m-handle-border-color-hover,var(--spectrum-global-color-gray-800)\n)}.handle.handle-highlight{border-color:var(\n--spectrum-slider-m-handle-border-color-key-focus,var(--spectrum-global-color-gray-800)\n)}.handle.handle-highlight:before{box-shadow:0 0 0 var(\n--spectrum-slider-m-focus-ring-size,var(--spectrum-alias-focus-ring-size)\n) var(--spectrum-slider-m-handle-focus-ring-color-key-focus)}.handle.dragging,.handle:active{border-color:var(\n--spectrum-slider-m-handle-border-color-down,var(--spectrum-global-color-gray-800)\n)}:host([variant=ramp]) .handle{box-shadow:0 0 0 4px var(\n--spectrum-alias-background-color-default,var(--spectrum-global-color-gray-100)\n)}.input{background:transparent}.tick:after{background-color:var(\n--spectrum-slider-m-tick-mark-color,var(--spectrum-global-color-gray-400)\n)}.handle.dragging{background:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-slider-m-handle-border-color-down,var(--spectrum-global-color-gray-800)\n)}:host([variant=range]) .track:not(:first-of-type):not(:last-of-type):before{background:var(\n--spectrum-slider-m-track-fill-color,var(--spectrum-global-color-gray-700)\n)}:host([disabled]) #label-container{color:var(\n--spectrum-slider-m-label-text-color-disabled\n)}:host([disabled]) .handle{background:var(\n--spectrum-alias-background-color-default,var(--spectrum-global-color-gray-100)\n);border-color:var(\n--spectrum-slider-m-handle-border-color-disabled,var(--spectrum-global-color-gray-400)\n)}:host([disabled]) .handle:active,:host([disabled]) .handle:hover{background:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);border-color:var(\n--spectrum-slider-m-handle-border-color-disabled,var(--spectrum-global-color-gray-400)\n)}:host([disabled]) .track:before{background:var(\n--spectrum-slider-m-track-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host([disabled][variant=filled]) .track:first-child:before{background:var(\n--spectrum-slider-m-track-fill-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host([disabled]) #fill:before{background:var(\n--spectrum-slider-m-track-fill-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host([disabled]) #ramp path{fill:var(\n--spectrum-slider-ramp-track-color-disabled\n)}:host([disabled][variant=range]) .track:not(:first-of-type):not(:last-of-type):before{background:var(\n--spectrum-slider-m-track-fill-color-disabled,var(--spectrum-global-color-gray-300)\n)}:host{--spectrum-slider-handle-default-background-color:var(\n--spectrum-slider-m-handle-background-color,var(--spectrum-alias-background-color-transparent)\n);--spectrum-slider-handle-default-border-color:var(\n--spectrum-slider-m-handle-border-color,var(--spectrum-global-color-gray-700)\n)}sp-field-label{padding-bottom:0;padding-top:0}:host(:focus){outline:0}:host([editable]){display:grid;grid-template-areas:\"label .\" \"slider number\";grid-template-columns:1fr auto}:host([editable]) #label-container{grid-area:label}:host([editable]) #label-container+div{grid-area:slider}:host([editable]) sp-number-field{--spectrum-stepper-width:var(\n--spectrum-slider-editable-number-field-width,var(--spectrum-global-dimension-size-1000)\n);grid-area:number}:host([hide-stepper]) sp-number-field{--spectrum-stepper-width:var(\n--spectrum-slider-editable-number-field-width,var(--spectrum-global-dimension-size-900)\n)}:host([editable][dir=ltr]) sp-number-field{margin-left:var(--spectrum-global-dimension-size-200)}:host([editable][dir=rtl]) sp-number-field{margin-right:var(--spectrum-global-dimension-size-200)}:host([editable]) output{opacity:0}:host([disabled]){pointer-events:none}#track,:host([dragging]){touch-action:none;-webkit-user-select:none;user-select:none}.not-exact.ticks{justify-content:start}:host([dir=ltr]) .not-exact .tick{padding-right:var(--sp-slider-tick-offset)}:host([dir=rtl]) .not-exact .tick{padding-left:var(--sp-slider-tick-offset)}:host([dir=ltr]) .not-exact .tick:after{left:auto;transform:translate(-50%)}:host([dir=rtl]) .not-exact .tick:after{right:auto;transform:translate(50%)}.track:before{background-size:var(--spectrum-slider-track-background-size)!important}:host([dir=ltr]) .track:before{background:var(\n--spectrum-slider-track-color,var(--spectrum-global-color-gray-300)\n)}:host([dir=rtl]) .track:before{background:var(\n--spectrum-slider-track-color-rtl,var(\n--spectrum-slider-track-color,var(--spectrum-global-color-gray-300)\n)\n)}:host([dir=ltr]) .track:last-of-type:before{background-position:100%}:host([dir=rtl]) .track:first-of-type:before{background-position:100%}.track:not(:first-of-type):not(:last-of-type){padding-left:calc(var(--spectrum-slider-handle-width)/2 + var(--spectrum-slider-track-handleoffset))!important;padding-right:calc(var(--spectrum-slider-handle-width)/2 + var(--spectrum-slider-track-handleoffset))!important}:host([dir=ltr][variant=range]) .track,:host([dir=rtl][variant=range]) .track{margin:var(--spectrum-slider-range-track-reset);margin-top:calc(var(--spectrum-slider-track-height)/-2)}:host([dir=ltr]) .track:not(:first-of-type):not(:last-of-type){left:var(--spectrum-slider-track-segment-position)}:host([dir=rtl]) .track:not(:first-of-type):not(:last-of-type){right:var(--spectrum-slider-track-segment-position)}.visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:host([label-visibility=value][dir=ltr]) #value{margin-left:auto}:host([label-visibility=value][dir=rtl]) #value{margin-right:auto}:host([label-visibility=none]) #label-container{margin:0;padding:0}\n`;\nexport default styles;"]}
|