@material/web 1.0.0-pre.15 → 1.0.0-pre.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/README.md +22 -17
  2. package/button/internal/_filled-button.scss +0 -1
  3. package/button/internal/_outlined-button.scss +6 -0
  4. package/button/internal/_shared.scss +7 -1
  5. package/button/internal/button.d.ts +15 -14
  6. package/button/internal/button.js +41 -39
  7. package/button/internal/button.js.map +1 -1
  8. package/button/internal/outlined-styles.css.js +1 -1
  9. package/button/internal/outlined-styles.css.js.map +1 -1
  10. package/button/internal/shared-elevation-styles.css.js +1 -1
  11. package/button/internal/shared-elevation-styles.css.js.map +1 -1
  12. package/button/internal/shared-styles.css.js +1 -1
  13. package/button/internal/shared-styles.css.js.map +1 -1
  14. package/checkbox/internal/_checkbox.scss +1 -0
  15. package/checkbox/internal/checkbox-styles.css.js +1 -1
  16. package/checkbox/internal/checkbox-styles.css.js.map +1 -1
  17. package/checkbox/internal/checkbox.d.ts +2 -2
  18. package/checkbox/internal/checkbox.js +18 -14
  19. package/checkbox/internal/checkbox.js.map +1 -1
  20. package/chips/assist-chip.js +1 -2
  21. package/chips/assist-chip.js.map +1 -1
  22. package/chips/filter-chip.js +1 -3
  23. package/chips/filter-chip.js.map +1 -1
  24. package/chips/input-chip.js +1 -5
  25. package/chips/input-chip.js.map +1 -1
  26. package/chips/internal/_assist-chip.scss +6 -0
  27. package/chips/internal/_elevated.scss +1 -1
  28. package/chips/internal/_filter-chip.scss +6 -0
  29. package/chips/internal/_input-chip.scss +32 -0
  30. package/chips/internal/_selectable.scss +17 -13
  31. package/chips/internal/_shared.scss +17 -10
  32. package/chips/internal/_suggestion-chip.scss +6 -0
  33. package/chips/internal/_trailing-icon.scss +24 -24
  34. package/chips/internal/assist-styles.css.js +1 -1
  35. package/chips/internal/assist-styles.css.js.map +1 -1
  36. package/chips/internal/elevated-styles.css.js +1 -1
  37. package/chips/internal/elevated-styles.css.js.map +1 -1
  38. package/chips/internal/filter-styles.css.js +1 -1
  39. package/chips/internal/filter-styles.css.js.map +1 -1
  40. package/chips/internal/input-styles.css.js +1 -1
  41. package/chips/internal/input-styles.css.js.map +1 -1
  42. package/chips/internal/selectable-styles.css.js +1 -1
  43. package/chips/internal/selectable-styles.css.js.map +1 -1
  44. package/chips/internal/shared-styles.css.js +1 -1
  45. package/chips/internal/shared-styles.css.js.map +1 -1
  46. package/chips/internal/suggestion-styles.css.js +1 -1
  47. package/chips/internal/suggestion-styles.css.js.map +1 -1
  48. package/chips/internal/trailing-icon-styles.css.js +1 -1
  49. package/chips/internal/trailing-icon-styles.css.js.map +1 -1
  50. package/chips/suggestion-chip.js +1 -2
  51. package/chips/suggestion-chip.js.map +1 -1
  52. package/elevation/internal/_elevation.scss +14 -7
  53. package/elevation/internal/elevation-styles.css.js +1 -1
  54. package/elevation/internal/elevation-styles.css.js.map +1 -1
  55. package/fab/branded-fab.d.ts +0 -1
  56. package/fab/internal/_fab.scss +11 -10
  57. package/fab/internal/_shared.scss +4 -1
  58. package/fab/internal/fab-styles.css.js +1 -1
  59. package/fab/internal/fab-styles.css.js.map +1 -1
  60. package/fab/internal/fab.d.ts +0 -1
  61. package/fab/internal/shared-styles.css.js +1 -1
  62. package/fab/internal/shared-styles.css.js.map +1 -1
  63. package/fab/internal/shared.d.ts +0 -9
  64. package/fab/internal/shared.js +2 -18
  65. package/fab/internal/shared.js.map +1 -1
  66. package/field/internal/filled-styles.css.js +1 -1
  67. package/field/internal/filled-styles.css.js.map +1 -1
  68. package/field/internal/outlined-styles.css.js +1 -1
  69. package/field/internal/outlined-styles.css.js.map +1 -1
  70. package/icon/internal/_icon.scss +10 -5
  71. package/icon/internal/icon-styles.css.js +1 -1
  72. package/icon/internal/icon-styles.css.js.map +1 -1
  73. package/iconbutton/internal/_icon-button.scss +4 -0
  74. package/iconbutton/internal/_shared.scss +9 -0
  75. package/iconbutton/internal/icon-button.d.ts +16 -3
  76. package/iconbutton/internal/icon-button.js +31 -7
  77. package/iconbutton/internal/icon-button.js.map +1 -1
  78. package/iconbutton/internal/shared-styles.css.js +1 -1
  79. package/iconbutton/internal/shared-styles.css.js.map +1 -1
  80. package/iconbutton/internal/standard-styles.css.js +1 -1
  81. package/iconbutton/internal/standard-styles.css.js.map +1 -1
  82. package/internal/controller/form-submitter.d.ts +12 -0
  83. package/internal/controller/form-submitter.js +3 -1
  84. package/internal/controller/form-submitter.js.map +1 -1
  85. package/labs/badge/internal/_badge.scss +11 -8
  86. package/labs/navigationbar/internal/_navigation-bar.scss +11 -9
  87. package/labs/navigationbar/internal/navigation-bar-styles.css.js +1 -1
  88. package/labs/navigationbar/internal/navigation-bar-styles.css.js.map +1 -1
  89. package/labs/navigationdrawer/internal/_navigation-drawer-modal.scss +11 -8
  90. package/labs/navigationdrawer/internal/_navigation-drawer.scss +11 -8
  91. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js +1 -1
  92. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js.map +1 -1
  93. package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js +1 -1
  94. package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js.map +1 -1
  95. package/labs/navigationtab/internal/_navigation-tab.scss +10 -10
  96. package/labs/segmentedbutton/internal/_outlined-segmented-button.scss +1 -3
  97. package/labs/segmentedbutton/internal/outlined-styles.css.js +1 -1
  98. package/labs/segmentedbutton/internal/outlined-styles.css.js.map +1 -1
  99. package/list/internal/_list.scss +6 -2
  100. package/list/internal/list-styles.css.js +1 -1
  101. package/list/internal/list-styles.css.js.map +1 -1
  102. package/list/internal/listitem/_list-item.scss +83 -93
  103. package/list/internal/listitem/forced-colors-styles.css.js +1 -1
  104. package/list/internal/listitem/forced-colors-styles.css.js.map +1 -1
  105. package/list/internal/listitem/forced-colors-styles.scss +6 -6
  106. package/list/internal/listitem/list-item-styles.css.js +1 -1
  107. package/list/internal/listitem/list-item-styles.css.js.map +1 -1
  108. package/menu/internal/_menu.scss +6 -3
  109. package/menu/internal/menu-styles.css.js +1 -1
  110. package/menu/internal/menu-styles.css.js.map +1 -1
  111. package/menu/internal/menu.js +6 -6
  112. package/menu/internal/menu.js.map +1 -1
  113. package/menu/internal/menuitem/_menu-item.scss +7 -4
  114. package/menu/internal/menuitem/menu-item-styles.css.js +1 -1
  115. package/menu/internal/menuitem/menu-item-styles.css.js.map +1 -1
  116. package/package.json +1 -1
  117. package/progress/harness.js +2 -4
  118. package/progress/harness.js.map +1 -1
  119. package/progress/internal/_circular-progress.scss +4 -4
  120. package/progress/internal/_linear-progress.scss +93 -132
  121. package/progress/internal/circular-progress-styles.css.js +1 -1
  122. package/progress/internal/circular-progress-styles.css.js.map +1 -1
  123. package/progress/internal/circular-progress.js +1 -1
  124. package/progress/internal/circular-progress.js.map +1 -1
  125. package/progress/internal/linear-progress-styles.css.js +1 -1
  126. package/progress/internal/linear-progress-styles.css.js.map +1 -1
  127. package/progress/internal/linear-progress.d.ts +0 -11
  128. package/progress/internal/linear-progress.js +4 -48
  129. package/progress/internal/linear-progress.js.map +1 -1
  130. package/radio/internal/radio.d.ts +1 -1
  131. package/radio/internal/radio.js.map +1 -1
  132. package/ripple/internal/_ripple.scss +1 -1
  133. package/ripple/internal/ripple-styles.css.js +1 -1
  134. package/ripple/internal/ripple-styles.css.js.map +1 -1
  135. package/select/internal/_filled-select.scss +0 -1
  136. package/select/internal/_outlined-select.scss +0 -1
  137. package/select/internal/_shared.scss +0 -1
  138. package/select/internal/filled-select-styles.css.js +1 -1
  139. package/select/internal/filled-select-styles.css.js.map +1 -1
  140. package/select/internal/outlined-select-styles.css.js +1 -1
  141. package/select/internal/outlined-select-styles.css.js.map +1 -1
  142. package/slider/internal/_slider.scss +33 -28
  143. package/slider/internal/forced-colors-styles.css.js +1 -1
  144. package/slider/internal/forced-colors-styles.css.js.map +1 -1
  145. package/slider/internal/slider-styles.css.js +1 -1
  146. package/slider/internal/slider-styles.css.js.map +1 -1
  147. package/slider/internal/slider.d.ts +22 -8
  148. package/slider/internal/slider.js +113 -22
  149. package/slider/internal/slider.js.map +1 -1
  150. package/switch/internal/_switch.scss +9 -1
  151. package/switch/internal/switch-styles.css.js +1 -1
  152. package/switch/internal/switch-styles.css.js.map +1 -1
  153. package/switch/internal/switch.d.ts +1 -1
  154. package/switch/internal/switch.js +2 -2
  155. package/switch/internal/switch.js.map +1 -1
  156. package/tabs/internal/_tab.scss +76 -20
  157. package/tabs/internal/tab-styles.css.js +1 -1
  158. package/tabs/internal/tab-styles.css.js.map +1 -1
  159. package/tabs/internal/tab.js +0 -1
  160. package/tabs/internal/tab.js.map +1 -1
  161. package/textfield/internal/filled-styles.css.js +1 -1
  162. package/textfield/internal/filled-styles.css.js.map +1 -1
  163. package/textfield/internal/outlined-styles.css.js +1 -1
  164. package/textfield/internal/outlined-styles.css.js.map +1 -1
  165. package/textfield/internal/text-field.d.ts +11 -10
  166. package/textfield/internal/text-field.js +60 -32
  167. package/textfield/internal/text-field.js.map +1 -1
  168. package/tokens/_md-comp-filled-field.scss +2 -2
  169. package/tokens/_md-comp-filled-select.scss +3 -0
  170. package/tokens/_md-comp-filled-text-field.scss +3 -1
  171. package/tokens/_md-comp-list-item.scss +117 -103
  172. package/tokens/_md-comp-menu-item.scss +3 -3
  173. package/tokens/_md-comp-outlined-field.scss +2 -1
  174. package/tokens/_md-comp-outlined-select.scss +8 -0
  175. package/tokens/_md-comp-outlined-text-field.scss +3 -1
  176. package/chips/internal/assist-forced-colors-styles.css.d.ts +0 -1
  177. package/chips/internal/assist-forced-colors-styles.css.js +0 -9
  178. package/chips/internal/assist-forced-colors-styles.css.js.map +0 -1
  179. package/chips/internal/assist-forced-colors-styles.scss +0 -27
  180. package/chips/internal/filter-forced-colors-styles.css.d.ts +0 -1
  181. package/chips/internal/filter-forced-colors-styles.css.js +0 -9
  182. package/chips/internal/filter-forced-colors-styles.css.js.map +0 -1
  183. package/chips/internal/filter-forced-colors-styles.scss +0 -34
  184. package/chips/internal/input-forced-colors-styles.css.d.ts +0 -1
  185. package/chips/internal/input-forced-colors-styles.css.js +0 -9
  186. package/chips/internal/input-forced-colors-styles.css.js.map +0 -1
  187. package/chips/internal/input-forced-colors-styles.scss +0 -39
  188. package/chips/internal/suggestion-forced-colors-styles.css.d.ts +0 -1
  189. package/chips/internal/suggestion-forced-colors-styles.css.js +0 -9
  190. package/chips/internal/suggestion-forced-colors-styles.css.js.map +0 -1
  191. package/chips/internal/suggestion-forced-colors-styles.scss +0 -27
  192. package/internal/sass/_theme.scss +0 -249
@@ -4,6 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { css } from 'lit';
7
- export const styles = css `:host{display:inline-flex;vertical-align:middle;--_active-track-color: var(--md-slider-active-track-color, var(--md-sys-color-primary, #6750a4));--_active-track-height: var(--md-slider-active-track-height, 4px);--_active-track-shape: var(--md-slider-active-track-shape, 9999px);--_disabled-active-track-color: var(--md-slider-disabled-active-track-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-active-track-opacity: var(--md-slider-disabled-active-track-opacity, 0.38);--_disabled-handle-color: var(--md-slider-disabled-handle-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-handle-elevation: var(--md-slider-disabled-handle-elevation, 0);--_disabled-inactive-track-color: var(--md-slider-disabled-inactive-track-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-inactive-track-opacity: var(--md-slider-disabled-inactive-track-opacity, 0.12);--_focus-handle-color: var(--md-slider-focus-handle-color, var(--md-sys-color-primary, #6750a4));--_handle-color: var(--md-slider-handle-color, var(--md-sys-color-primary, #6750a4));--_handle-elevation: var(--md-slider-handle-elevation, 1);--_handle-height: var(--md-slider-handle-height, 20px);--_handle-shadow-color: var(--md-slider-handle-shadow-color, var(--md-sys-color-shadow, #000));--_handle-shape: var(--md-slider-handle-shape, 9999px);--_handle-width: var(--md-slider-handle-width, 20px);--_hover-handle-color: var(--md-slider-hover-handle-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-slider-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-slider-hover-state-layer-opacity, 0.08);--_inactive-track-color: var(--md-slider-inactive-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_inactive-track-height: var(--md-slider-inactive-track-height, 4px);--_inactive-track-shape: var(--md-slider-inactive-track-shape, 9999px);--_label-container-color: var(--md-slider-label-container-color, var(--md-sys-color-primary, #6750a4));--_label-container-height: var(--md-slider-label-container-height, 28px);--_label-label-text-color: var(--md-slider-label-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-label-text-type: var(--md-slider-label-label-text-type, var(--md-sys-typescale-label-medium, 500 0.75rem / 1rem var(--md-ref-typeface-plain, Roboto)));--_pressed-handle-color: var(--md-slider-pressed-handle-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-color: var(--md-slider-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-slider-pressed-state-layer-opacity, 0.12);--_state-layer-size: var(--md-slider-state-layer-size, 40px);--_with-overlap-handle-outline-color: var(--md-slider-with-overlap-handle-outline-color, var(--md-sys-color-on-primary, #fff));--_with-overlap-handle-outline-width: var(--md-slider-with-overlap-handle-outline-width, 1px);--_with-tick-marks-active-container-color: var(--md-slider-with-tick-marks-active-container-color, var(--md-sys-color-on-primary, #fff));--_with-tick-marks-container-size: var(--md-slider-with-tick-marks-container-size, 2px);--_with-tick-marks-disabled-container-color: var(--md-slider-with-tick-marks-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_with-tick-marks-inactive-container-color: var(--md-slider-with-tick-marks-inactive-container-color, var(--md-sys-color-on-surface-variant, #49454f));min-inline-size:200px;--md-elevation-level:var(--_handle-elevation);--md-elevation-shadow-color:var(--_handle-shadow-color)}md-focus-ring{--md-focus-ring-outward-offset: -2px;--md-focus-ring-shape: 9999px}md-elevation{transition-duration:250ms}@media(prefers-reduced-motion){.label{transition-duration:0}}:host([disabled]){opacity:var(--_disabled-active-track-opacity);--md-elevation-level:var(--_disabled-handle-elevation)}.container{flex:1;display:flex;align-items:center;position:relative;block-size:var(--_state-layer-size);pointer-events:none;touch-action:none}.track{position:absolute;inset:0;display:flex;align-items:center}.track::before,.track::after{position:absolute;content:"";inset-inline-start:calc(var(--_state-layer-size)/2 - var(--_with-tick-marks-container-size));inset-inline-end:calc(var(--_state-layer-size)/2 - var(--_with-tick-marks-container-size));background-size:calc((100% - var(--_with-tick-marks-container-size)*2)/var(--slider-tick-count)) 100%}.track::before{block-size:var(--_inactive-track-height);border-radius:var(--_inactive-track-shape);background-color:var(--_inactive-track-color)}.track.tickmarks::before{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-inactive-container-color) 0, var(--_with-tick-marks-inactive-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}:host([disabled]) .track::before{opacity:calc(1/var(--_disabled-active-track-opacity)*var(--_disabled-inactive-track-opacity));background-color:var(--_disabled-inactive-track-color)}.track::after{block-size:var(--_active-track-height);border-radius:var(--_active-track-shape);clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--slider-end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--slider-end-fraction))) 0 calc(var(--_with-tick-marks-container-size) * min(var(--slider-start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--slider-start-fraction)));background-color:var(--_active-track-color)}:host-context([dir=rtl]) .track::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--slider-start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--slider-start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--slider-end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--slider-end-fraction))))}:host([dir=rtl]) .track::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--slider-start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--slider-start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--slider-end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--slider-end-fraction))))}.track:dir(rtl)::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--slider-start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--slider-start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--slider-end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--slider-end-fraction))))}.track.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-active-container-color) 0, var(--_with-tick-marks-active-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}:host([disabled]) .track::after{background-color:var(--_disabled-active-track-color)}:host([disabled]) .track.tickmarks::before,:host([disabled]) .track.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-disabled-container-color) 0, var(--_with-tick-marks-disabled-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}.handleContainerPadded{position:relative;block-size:100%;inline-size:100%;padding-inline:calc(var(--_state-layer-size)/2)}.handleContainerBlock{position:relative;block-size:100%;inline-size:100%}.handleContainer{position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:calc(100%*var(--slider-start-fraction));inline-size:calc(100%*(var(--slider-end-fraction) - var(--slider-start-fraction)))}.handle{position:absolute;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);border-radius:var(--_handle-shape);display:grid;place-items:center}.handleNub{position:absolute;height:var(--_handle-height);width:var(--_handle-width);border-radius:var(--_handle-shape);background:var(--_handle-color)}:host([disabled]) .handleNub{background:var(--_disabled-handle-color)}input.end:focus~.handleContainerPadded .handle.end>.handleNub,input.start:focus~.handleContainerPadded .handle.start>.handleNub{background:var(--_focus-handle-color)}.container>.handleContainerPadded .handle.hover>.handleNub{background:var(--_hover-handle-color)}:host(:not([disabled])) input.end:active~.handleContainerPadded .handle.end>.handleNub,:host(:not([disabled])) input.start:active~.handleContainerPadded .handle.start>.handleNub{background:var(--_pressed-handle-color)}.onTop.isOverlapping .handleNub,.onTop.isOverlapping .label,.onTop.isOverlapping .label::before{border:var(--_with-overlap-handle-outline-color) solid var(--_with-overlap-handle-outline-width)}.handle.start{inset-inline-start:calc(0px - var(--_state-layer-size)/2)}.handle.end{inset-inline-end:calc(0px - var(--_state-layer-size)/2)}.label{position:absolute;box-sizing:border-box;display:grid;padding:4px;place-items:center;border-radius:9999px;color:var(--_label-label-text-color);font:var(--_label-label-text-type);inset-block-end:100%;min-inline-size:var(--_label-container-height);min-block-size:var(--_label-container-height);background:var(--_label-container-color);transition:transform 100ms cubic-bezier(0.2, 0, 0, 1);transform-origin:center bottom;transform:scale(0)}:host(:focus-within) .label,.handleContainer.hover .label,:where(:has(input:active)) .label{transform:scale(1)}.label::before,.label::after{position:absolute;display:block;content:"";background:inherit}.label::before{inline-size:calc(var(--_label-container-height)/2);block-size:calc(var(--_label-container-height)/2);bottom:calc(var(--_label-container-height)/-10);transform:rotate(45deg)}.label::after{inset:0px;border-radius:inherit}.labelContent{z-index:1}input[type=range]{opacity:0;-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;box-sizing:border-box;height:100%;width:100%;margin:0;background:rgba(0,0,0,0);cursor:pointer;pointer-events:auto;appearance:none}input[type=range]:focus{outline:none}::-webkit-slider-runnable-track{-webkit-appearance:none}::-moz-range-track{appearance:none}::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);transform:scaleX(0);opacity:0;z-index:2}::-moz-range-thumb{appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);transform:scaleX(0);opacity:0;z-index:2}.ranged input.start{clip-path:inset(0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2))) 0 0)}:host-context([dir=rtl]) .ranged input.start{clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2))))}:host([dir=rtl]) .ranged input.start{clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2))))}.ranged input.start:dir(rtl){clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2))))}.ranged input.end{clip-path:inset(0 0 0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2)))}:host-context([dir=rtl]) .ranged input.end{clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2)) 0 0)}:host([dir=rtl]) .ranged input.end{clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2)) 0 0)}.ranged input.end:dir(rtl){clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2)) 0 0)}.onTop{z-index:1}.handle{--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-ripple{border-radius:50%;height:var(--_state-layer-size);width:var(--_state-layer-size)}/*# sourceMappingURL=slider-styles.css.map */
7
+ export const styles = css `:host{--_active-track-color: var(--md-slider-active-track-color, var(--md-sys-color-primary, #6750a4));--_active-track-height: var(--md-slider-active-track-height, 4px);--_active-track-shape: var(--md-slider-active-track-shape, 9999px);--_disabled-active-track-color: var(--md-slider-disabled-active-track-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-active-track-opacity: var(--md-slider-disabled-active-track-opacity, 0.38);--_disabled-handle-color: var(--md-slider-disabled-handle-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-handle-elevation: var(--md-slider-disabled-handle-elevation, 0);--_disabled-inactive-track-color: var(--md-slider-disabled-inactive-track-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-inactive-track-opacity: var(--md-slider-disabled-inactive-track-opacity, 0.12);--_focus-handle-color: var(--md-slider-focus-handle-color, var(--md-sys-color-primary, #6750a4));--_handle-color: var(--md-slider-handle-color, var(--md-sys-color-primary, #6750a4));--_handle-elevation: var(--md-slider-handle-elevation, 1);--_handle-height: var(--md-slider-handle-height, 20px);--_handle-shadow-color: var(--md-slider-handle-shadow-color, var(--md-sys-color-shadow, #000));--_handle-shape: var(--md-slider-handle-shape, 9999px);--_handle-width: var(--md-slider-handle-width, 20px);--_hover-handle-color: var(--md-slider-hover-handle-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-slider-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-slider-hover-state-layer-opacity, 0.08);--_inactive-track-color: var(--md-slider-inactive-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_inactive-track-height: var(--md-slider-inactive-track-height, 4px);--_inactive-track-shape: var(--md-slider-inactive-track-shape, 9999px);--_label-container-color: var(--md-slider-label-container-color, var(--md-sys-color-primary, #6750a4));--_label-container-height: var(--md-slider-label-container-height, 28px);--_label-label-text-color: var(--md-slider-label-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-label-text-type: var(--md-slider-label-label-text-type, var(--md-sys-typescale-label-medium, 500 0.75rem / 1rem var(--md-ref-typeface-plain, Roboto)));--_pressed-handle-color: var(--md-slider-pressed-handle-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-color: var(--md-slider-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-slider-pressed-state-layer-opacity, 0.12);--_state-layer-size: var(--md-slider-state-layer-size, 40px);--_with-overlap-handle-outline-color: var(--md-slider-with-overlap-handle-outline-color, var(--md-sys-color-on-primary, #fff));--_with-overlap-handle-outline-width: var(--md-slider-with-overlap-handle-outline-width, 1px);--_with-tick-marks-active-container-color: var(--md-slider-with-tick-marks-active-container-color, var(--md-sys-color-on-primary, #fff));--_with-tick-marks-container-size: var(--md-slider-with-tick-marks-container-size, 2px);--_with-tick-marks-disabled-container-color: var(--md-slider-with-tick-marks-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_with-tick-marks-inactive-container-color: var(--md-slider-with-tick-marks-inactive-container-color, var(--md-sys-color-on-surface-variant, #49454f));--_start-fraction: 0;--_end-fraction: 0;--_tick-count: 0;display:inline-flex;vertical-align:middle;min-inline-size:200px;--md-elevation-level: var(--_handle-elevation);--md-elevation-shadow-color: var(--_handle-shadow-color)}md-focus-ring{height:48px;inset:unset;width:48px}md-elevation{transition-duration:250ms}@media(prefers-reduced-motion){.label{transition-duration:0}}:host([disabled]){opacity:var(--_disabled-active-track-opacity);--md-elevation-level: var(--_disabled-handle-elevation)}.container{flex:1;display:flex;align-items:center;position:relative;block-size:var(--_state-layer-size);pointer-events:none;touch-action:none}.track{position:absolute;inset:0;display:flex;align-items:center}.track::before,.track::after{position:absolute;content:"";inset-inline-start:calc(var(--_state-layer-size)/2 - var(--_with-tick-marks-container-size));inset-inline-end:calc(var(--_state-layer-size)/2 - var(--_with-tick-marks-container-size));background-size:calc((100% - var(--_with-tick-marks-container-size)*2)/var(--_tick-count)) 100%}.track::before{block-size:var(--_inactive-track-height);border-radius:var(--_inactive-track-shape);background-color:var(--_inactive-track-color)}.track.tickmarks::before{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-inactive-container-color) 0, var(--_with-tick-marks-inactive-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}:host([disabled]) .track::before{opacity:calc(1/var(--_disabled-active-track-opacity)*var(--_disabled-inactive-track-opacity));background-color:var(--_disabled-inactive-track-color)}.track::after{block-size:var(--_active-track-height);border-radius:var(--_active-track-shape);clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))) 0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)));background-color:var(--_active-track-color)}:host-context([dir=rtl]) .track::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}:host([dir=rtl]) .track::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}.track:dir(rtl)::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}.track.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-active-container-color) 0, var(--_with-tick-marks-active-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}:host([disabled]) .track::after{background-color:var(--_disabled-active-track-color)}:host([disabled]) .track.tickmarks::before,:host([disabled]) .track.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-disabled-container-color) 0, var(--_with-tick-marks-disabled-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}.handleContainerPadded{position:relative;block-size:100%;inline-size:100%;padding-inline:calc(var(--_state-layer-size)/2)}.handleContainerBlock{position:relative;block-size:100%;inline-size:100%}.handleContainer{position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:calc(100%*var(--_start-fraction));inline-size:calc(100%*(var(--_end-fraction) - var(--_start-fraction)))}.handle{position:absolute;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);border-radius:var(--_handle-shape);display:grid;place-items:center}.handleNub{position:absolute;height:var(--_handle-height);width:var(--_handle-width);border-radius:var(--_handle-shape);background:var(--_handle-color)}:host([disabled]) .handleNub{background:var(--_disabled-handle-color)}input.end:focus~.handleContainerPadded .handle.end>.handleNub,input.start:focus~.handleContainerPadded .handle.start>.handleNub{background:var(--_focus-handle-color)}.container>.handleContainerPadded .handle.hover>.handleNub{background:var(--_hover-handle-color)}:host(:not([disabled])) input.end:active~.handleContainerPadded .handle.end>.handleNub,:host(:not([disabled])) input.start:active~.handleContainerPadded .handle.start>.handleNub{background:var(--_pressed-handle-color)}.onTop.isOverlapping .handleNub,.onTop.isOverlapping .label,.onTop.isOverlapping .label::before{border:var(--_with-overlap-handle-outline-color) solid var(--_with-overlap-handle-outline-width)}.handle.start{inset-inline-start:calc(0px - var(--_state-layer-size)/2)}.handle.end{inset-inline-end:calc(0px - var(--_state-layer-size)/2)}.label{position:absolute;box-sizing:border-box;display:grid;padding:4px;place-items:center;border-radius:9999px;color:var(--_label-label-text-color);font:var(--_label-label-text-type);inset-block-end:100%;min-inline-size:var(--_label-container-height);min-block-size:var(--_label-container-height);background:var(--_label-container-color);transition:transform 100ms cubic-bezier(0.2, 0, 0, 1);transform-origin:center bottom;transform:scale(0)}:host(:focus-within) .label,.handleContainer.hover .label,:where(:has(input:active)) .label{transform:scale(1)}.label::before,.label::after{position:absolute;display:block;content:"";background:inherit}.label::before{inline-size:calc(var(--_label-container-height)/2);block-size:calc(var(--_label-container-height)/2);bottom:calc(var(--_label-container-height)/-10);transform:rotate(45deg)}.label::after{inset:0px;border-radius:inherit}.labelContent{z-index:1}input[type=range]{opacity:0;-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;box-sizing:border-box;height:100%;width:100%;margin:0;background:rgba(0,0,0,0);cursor:pointer;pointer-events:auto;appearance:none}input[type=range]:focus{outline:none}::-webkit-slider-runnable-track{-webkit-appearance:none}::-moz-range-track{appearance:none}::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);transform:scaleX(0);opacity:0;z-index:2}::-moz-range-thumb{appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);transform:scaleX(0);opacity:0;z-index:2}.ranged input.start{clip-path:inset(0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2))) 0 0)}:host-context([dir=rtl]) .ranged input.start{clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2))))}:host([dir=rtl]) .ranged input.start{clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2))))}.ranged input.start:dir(rtl){clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2))))}.ranged input.end{clip-path:inset(0 0 0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2)))}:host-context([dir=rtl]) .ranged input.end{clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2)) 0 0)}:host([dir=rtl]) .ranged input.end{clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2)) 0 0)}.ranged input.end:dir(rtl){clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2)) 0 0)}.onTop{z-index:1}.handle{--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-ripple{border-radius:50%;height:var(--_state-layer-size);width:var(--_state-layer-size)}/*# sourceMappingURL=slider-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=slider-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider-styles.css.js","sourceRoot":"","sources":["slider-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{display:inline-flex;vertical-align:middle;--_active-track-color: var(--md-slider-active-track-color, var(--md-sys-color-primary, #6750a4));--_active-track-height: var(--md-slider-active-track-height, 4px);--_active-track-shape: var(--md-slider-active-track-shape, 9999px);--_disabled-active-track-color: var(--md-slider-disabled-active-track-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-active-track-opacity: var(--md-slider-disabled-active-track-opacity, 0.38);--_disabled-handle-color: var(--md-slider-disabled-handle-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-handle-elevation: var(--md-slider-disabled-handle-elevation, 0);--_disabled-inactive-track-color: var(--md-slider-disabled-inactive-track-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-inactive-track-opacity: var(--md-slider-disabled-inactive-track-opacity, 0.12);--_focus-handle-color: var(--md-slider-focus-handle-color, var(--md-sys-color-primary, #6750a4));--_handle-color: var(--md-slider-handle-color, var(--md-sys-color-primary, #6750a4));--_handle-elevation: var(--md-slider-handle-elevation, 1);--_handle-height: var(--md-slider-handle-height, 20px);--_handle-shadow-color: var(--md-slider-handle-shadow-color, var(--md-sys-color-shadow, #000));--_handle-shape: var(--md-slider-handle-shape, 9999px);--_handle-width: var(--md-slider-handle-width, 20px);--_hover-handle-color: var(--md-slider-hover-handle-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-slider-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-slider-hover-state-layer-opacity, 0.08);--_inactive-track-color: var(--md-slider-inactive-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_inactive-track-height: var(--md-slider-inactive-track-height, 4px);--_inactive-track-shape: var(--md-slider-inactive-track-shape, 9999px);--_label-container-color: var(--md-slider-label-container-color, var(--md-sys-color-primary, #6750a4));--_label-container-height: var(--md-slider-label-container-height, 28px);--_label-label-text-color: var(--md-slider-label-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-label-text-type: var(--md-slider-label-label-text-type, var(--md-sys-typescale-label-medium, 500 0.75rem / 1rem var(--md-ref-typeface-plain, Roboto)));--_pressed-handle-color: var(--md-slider-pressed-handle-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-color: var(--md-slider-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-slider-pressed-state-layer-opacity, 0.12);--_state-layer-size: var(--md-slider-state-layer-size, 40px);--_with-overlap-handle-outline-color: var(--md-slider-with-overlap-handle-outline-color, var(--md-sys-color-on-primary, #fff));--_with-overlap-handle-outline-width: var(--md-slider-with-overlap-handle-outline-width, 1px);--_with-tick-marks-active-container-color: var(--md-slider-with-tick-marks-active-container-color, var(--md-sys-color-on-primary, #fff));--_with-tick-marks-container-size: var(--md-slider-with-tick-marks-container-size, 2px);--_with-tick-marks-disabled-container-color: var(--md-slider-with-tick-marks-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_with-tick-marks-inactive-container-color: var(--md-slider-with-tick-marks-inactive-container-color, var(--md-sys-color-on-surface-variant, #49454f));min-inline-size:200px;--md-elevation-level:var(--_handle-elevation);--md-elevation-shadow-color:var(--_handle-shadow-color)}md-focus-ring{--md-focus-ring-outward-offset: -2px;--md-focus-ring-shape: 9999px}md-elevation{transition-duration:250ms}@media(prefers-reduced-motion){.label{transition-duration:0}}:host([disabled]){opacity:var(--_disabled-active-track-opacity);--md-elevation-level:var(--_disabled-handle-elevation)}.container{flex:1;display:flex;align-items:center;position:relative;block-size:var(--_state-layer-size);pointer-events:none;touch-action:none}.track{position:absolute;inset:0;display:flex;align-items:center}.track::before,.track::after{position:absolute;content:\"\";inset-inline-start:calc(var(--_state-layer-size)/2 - var(--_with-tick-marks-container-size));inset-inline-end:calc(var(--_state-layer-size)/2 - var(--_with-tick-marks-container-size));background-size:calc((100% - var(--_with-tick-marks-container-size)*2)/var(--slider-tick-count)) 100%}.track::before{block-size:var(--_inactive-track-height);border-radius:var(--_inactive-track-shape);background-color:var(--_inactive-track-color)}.track.tickmarks::before{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-inactive-container-color) 0, var(--_with-tick-marks-inactive-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}:host([disabled]) .track::before{opacity:calc(1/var(--_disabled-active-track-opacity)*var(--_disabled-inactive-track-opacity));background-color:var(--_disabled-inactive-track-color)}.track::after{block-size:var(--_active-track-height);border-radius:var(--_active-track-shape);clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--slider-end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--slider-end-fraction))) 0 calc(var(--_with-tick-marks-container-size) * min(var(--slider-start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--slider-start-fraction)));background-color:var(--_active-track-color)}:host-context([dir=rtl]) .track::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--slider-start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--slider-start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--slider-end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--slider-end-fraction))))}:host([dir=rtl]) .track::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--slider-start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--slider-start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--slider-end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--slider-end-fraction))))}.track:dir(rtl)::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--slider-start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--slider-start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--slider-end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--slider-end-fraction))))}.track.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-active-container-color) 0, var(--_with-tick-marks-active-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}:host([disabled]) .track::after{background-color:var(--_disabled-active-track-color)}:host([disabled]) .track.tickmarks::before,:host([disabled]) .track.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-disabled-container-color) 0, var(--_with-tick-marks-disabled-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}.handleContainerPadded{position:relative;block-size:100%;inline-size:100%;padding-inline:calc(var(--_state-layer-size)/2)}.handleContainerBlock{position:relative;block-size:100%;inline-size:100%}.handleContainer{position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:calc(100%*var(--slider-start-fraction));inline-size:calc(100%*(var(--slider-end-fraction) - var(--slider-start-fraction)))}.handle{position:absolute;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);border-radius:var(--_handle-shape);display:grid;place-items:center}.handleNub{position:absolute;height:var(--_handle-height);width:var(--_handle-width);border-radius:var(--_handle-shape);background:var(--_handle-color)}:host([disabled]) .handleNub{background:var(--_disabled-handle-color)}input.end:focus~.handleContainerPadded .handle.end>.handleNub,input.start:focus~.handleContainerPadded .handle.start>.handleNub{background:var(--_focus-handle-color)}.container>.handleContainerPadded .handle.hover>.handleNub{background:var(--_hover-handle-color)}:host(:not([disabled])) input.end:active~.handleContainerPadded .handle.end>.handleNub,:host(:not([disabled])) input.start:active~.handleContainerPadded .handle.start>.handleNub{background:var(--_pressed-handle-color)}.onTop.isOverlapping .handleNub,.onTop.isOverlapping .label,.onTop.isOverlapping .label::before{border:var(--_with-overlap-handle-outline-color) solid var(--_with-overlap-handle-outline-width)}.handle.start{inset-inline-start:calc(0px - var(--_state-layer-size)/2)}.handle.end{inset-inline-end:calc(0px - var(--_state-layer-size)/2)}.label{position:absolute;box-sizing:border-box;display:grid;padding:4px;place-items:center;border-radius:9999px;color:var(--_label-label-text-color);font:var(--_label-label-text-type);inset-block-end:100%;min-inline-size:var(--_label-container-height);min-block-size:var(--_label-container-height);background:var(--_label-container-color);transition:transform 100ms cubic-bezier(0.2, 0, 0, 1);transform-origin:center bottom;transform:scale(0)}:host(:focus-within) .label,.handleContainer.hover .label,:where(:has(input:active)) .label{transform:scale(1)}.label::before,.label::after{position:absolute;display:block;content:\"\";background:inherit}.label::before{inline-size:calc(var(--_label-container-height)/2);block-size:calc(var(--_label-container-height)/2);bottom:calc(var(--_label-container-height)/-10);transform:rotate(45deg)}.label::after{inset:0px;border-radius:inherit}.labelContent{z-index:1}input[type=range]{opacity:0;-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;box-sizing:border-box;height:100%;width:100%;margin:0;background:rgba(0,0,0,0);cursor:pointer;pointer-events:auto;appearance:none}input[type=range]:focus{outline:none}::-webkit-slider-runnable-track{-webkit-appearance:none}::-moz-range-track{appearance:none}::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);transform:scaleX(0);opacity:0;z-index:2}::-moz-range-thumb{appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);transform:scaleX(0);opacity:0;z-index:2}.ranged input.start{clip-path:inset(0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2))) 0 0)}:host-context([dir=rtl]) .ranged input.start{clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2))))}:host([dir=rtl]) .ranged input.start{clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2))))}.ranged input.start:dir(rtl){clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2))))}.ranged input.end{clip-path:inset(0 0 0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2)))}:host-context([dir=rtl]) .ranged input.end{clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2)) 0 0)}:host([dir=rtl]) .ranged input.end{clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2)) 0 0)}.ranged input.end:dir(rtl){clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--slider-start-fraction) + (var(--slider-end-fraction) - var(--slider-start-fraction)) / 2)) 0 0)}.onTop{z-index:1}.handle{--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-ripple{border-radius:50%;height:var(--_state-layer-size);width:var(--_state-layer-size)}/*# sourceMappingURL=slider-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"slider-styles.css.js","sourceRoot":"","sources":["slider-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_active-track-color: var(--md-slider-active-track-color, var(--md-sys-color-primary, #6750a4));--_active-track-height: var(--md-slider-active-track-height, 4px);--_active-track-shape: var(--md-slider-active-track-shape, 9999px);--_disabled-active-track-color: var(--md-slider-disabled-active-track-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-active-track-opacity: var(--md-slider-disabled-active-track-opacity, 0.38);--_disabled-handle-color: var(--md-slider-disabled-handle-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-handle-elevation: var(--md-slider-disabled-handle-elevation, 0);--_disabled-inactive-track-color: var(--md-slider-disabled-inactive-track-color, var(--md-sys-color-on-surface, #1d1b20));--_disabled-inactive-track-opacity: var(--md-slider-disabled-inactive-track-opacity, 0.12);--_focus-handle-color: var(--md-slider-focus-handle-color, var(--md-sys-color-primary, #6750a4));--_handle-color: var(--md-slider-handle-color, var(--md-sys-color-primary, #6750a4));--_handle-elevation: var(--md-slider-handle-elevation, 1);--_handle-height: var(--md-slider-handle-height, 20px);--_handle-shadow-color: var(--md-slider-handle-shadow-color, var(--md-sys-color-shadow, #000));--_handle-shape: var(--md-slider-handle-shape, 9999px);--_handle-width: var(--md-slider-handle-width, 20px);--_hover-handle-color: var(--md-slider-hover-handle-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-color: var(--md-slider-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--_hover-state-layer-opacity: var(--md-slider-hover-state-layer-opacity, 0.08);--_inactive-track-color: var(--md-slider-inactive-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_inactive-track-height: var(--md-slider-inactive-track-height, 4px);--_inactive-track-shape: var(--md-slider-inactive-track-shape, 9999px);--_label-container-color: var(--md-slider-label-container-color, var(--md-sys-color-primary, #6750a4));--_label-container-height: var(--md-slider-label-container-height, 28px);--_label-label-text-color: var(--md-slider-label-label-text-color, var(--md-sys-color-on-primary, #fff));--_label-label-text-type: var(--md-slider-label-label-text-type, var(--md-sys-typescale-label-medium, 500 0.75rem / 1rem var(--md-ref-typeface-plain, Roboto)));--_pressed-handle-color: var(--md-slider-pressed-handle-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-color: var(--md-slider-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--_pressed-state-layer-opacity: var(--md-slider-pressed-state-layer-opacity, 0.12);--_state-layer-size: var(--md-slider-state-layer-size, 40px);--_with-overlap-handle-outline-color: var(--md-slider-with-overlap-handle-outline-color, var(--md-sys-color-on-primary, #fff));--_with-overlap-handle-outline-width: var(--md-slider-with-overlap-handle-outline-width, 1px);--_with-tick-marks-active-container-color: var(--md-slider-with-tick-marks-active-container-color, var(--md-sys-color-on-primary, #fff));--_with-tick-marks-container-size: var(--md-slider-with-tick-marks-container-size, 2px);--_with-tick-marks-disabled-container-color: var(--md-slider-with-tick-marks-disabled-container-color, var(--md-sys-color-on-surface, #1d1b20));--_with-tick-marks-inactive-container-color: var(--md-slider-with-tick-marks-inactive-container-color, var(--md-sys-color-on-surface-variant, #49454f));--_start-fraction: 0;--_end-fraction: 0;--_tick-count: 0;display:inline-flex;vertical-align:middle;min-inline-size:200px;--md-elevation-level: var(--_handle-elevation);--md-elevation-shadow-color: var(--_handle-shadow-color)}md-focus-ring{height:48px;inset:unset;width:48px}md-elevation{transition-duration:250ms}@media(prefers-reduced-motion){.label{transition-duration:0}}:host([disabled]){opacity:var(--_disabled-active-track-opacity);--md-elevation-level: var(--_disabled-handle-elevation)}.container{flex:1;display:flex;align-items:center;position:relative;block-size:var(--_state-layer-size);pointer-events:none;touch-action:none}.track{position:absolute;inset:0;display:flex;align-items:center}.track::before,.track::after{position:absolute;content:\"\";inset-inline-start:calc(var(--_state-layer-size)/2 - var(--_with-tick-marks-container-size));inset-inline-end:calc(var(--_state-layer-size)/2 - var(--_with-tick-marks-container-size));background-size:calc((100% - var(--_with-tick-marks-container-size)*2)/var(--_tick-count)) 100%}.track::before{block-size:var(--_inactive-track-height);border-radius:var(--_inactive-track-shape);background-color:var(--_inactive-track-color)}.track.tickmarks::before{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-inactive-container-color) 0, var(--_with-tick-marks-inactive-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}:host([disabled]) .track::before{opacity:calc(1/var(--_disabled-active-track-opacity)*var(--_disabled-inactive-track-opacity));background-color:var(--_disabled-inactive-track-color)}.track::after{block-size:var(--_active-track-height);border-radius:var(--_active-track-shape);clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))) 0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)));background-color:var(--_active-track-color)}:host-context([dir=rtl]) .track::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}:host([dir=rtl]) .track::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}.track:dir(rtl)::after{clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000, 1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}.track.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-active-container-color) 0, var(--_with-tick-marks-active-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}:host([disabled]) .track::after{background-color:var(--_disabled-active-track-color)}:host([disabled]) .track.tickmarks::before,:host([disabled]) .track.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center, var(--_with-tick-marks-disabled-container-color) 0, var(--_with-tick-marks-disabled-container-color) calc(var(--_with-tick-marks-container-size) / 2), transparent calc(var(--_with-tick-marks-container-size) / 2))}.handleContainerPadded{position:relative;block-size:100%;inline-size:100%;padding-inline:calc(var(--_state-layer-size)/2)}.handleContainerBlock{position:relative;block-size:100%;inline-size:100%}.handleContainer{position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:calc(100%*var(--_start-fraction));inline-size:calc(100%*(var(--_end-fraction) - var(--_start-fraction)))}.handle{position:absolute;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);border-radius:var(--_handle-shape);display:grid;place-items:center}.handleNub{position:absolute;height:var(--_handle-height);width:var(--_handle-width);border-radius:var(--_handle-shape);background:var(--_handle-color)}:host([disabled]) .handleNub{background:var(--_disabled-handle-color)}input.end:focus~.handleContainerPadded .handle.end>.handleNub,input.start:focus~.handleContainerPadded .handle.start>.handleNub{background:var(--_focus-handle-color)}.container>.handleContainerPadded .handle.hover>.handleNub{background:var(--_hover-handle-color)}:host(:not([disabled])) input.end:active~.handleContainerPadded .handle.end>.handleNub,:host(:not([disabled])) input.start:active~.handleContainerPadded .handle.start>.handleNub{background:var(--_pressed-handle-color)}.onTop.isOverlapping .handleNub,.onTop.isOverlapping .label,.onTop.isOverlapping .label::before{border:var(--_with-overlap-handle-outline-color) solid var(--_with-overlap-handle-outline-width)}.handle.start{inset-inline-start:calc(0px - var(--_state-layer-size)/2)}.handle.end{inset-inline-end:calc(0px - var(--_state-layer-size)/2)}.label{position:absolute;box-sizing:border-box;display:grid;padding:4px;place-items:center;border-radius:9999px;color:var(--_label-label-text-color);font:var(--_label-label-text-type);inset-block-end:100%;min-inline-size:var(--_label-container-height);min-block-size:var(--_label-container-height);background:var(--_label-container-color);transition:transform 100ms cubic-bezier(0.2, 0, 0, 1);transform-origin:center bottom;transform:scale(0)}:host(:focus-within) .label,.handleContainer.hover .label,:where(:has(input:active)) .label{transform:scale(1)}.label::before,.label::after{position:absolute;display:block;content:\"\";background:inherit}.label::before{inline-size:calc(var(--_label-container-height)/2);block-size:calc(var(--_label-container-height)/2);bottom:calc(var(--_label-container-height)/-10);transform:rotate(45deg)}.label::after{inset:0px;border-radius:inherit}.labelContent{z-index:1}input[type=range]{opacity:0;-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;box-sizing:border-box;height:100%;width:100%;margin:0;background:rgba(0,0,0,0);cursor:pointer;pointer-events:auto;appearance:none}input[type=range]:focus{outline:none}::-webkit-slider-runnable-track{-webkit-appearance:none}::-moz-range-track{appearance:none}::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);transform:scaleX(0);opacity:0;z-index:2}::-moz-range-thumb{appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);transform:scaleX(0);opacity:0;z-index:2}.ranged input.start{clip-path:inset(0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2))) 0 0)}:host-context([dir=rtl]) .ranged input.start{clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2))))}:host([dir=rtl]) .ranged input.start{clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2))))}.ranged input.start:dir(rtl){clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2))))}.ranged input.end{clip-path:inset(0 0 0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2)))}:host-context([dir=rtl]) .ranged input.end{clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2)) 0 0)}:host([dir=rtl]) .ranged input.end{clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2)) 0 0)}.ranged input.end:dir(rtl){clip-path:inset(0 calc(var(--_state-layer-size) / 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction)) / 2)) 0 0)}.onTop{z-index:1}.handle{--md-ripple-hover-color: var(--_hover-state-layer-color);--md-ripple-hover-opacity: var(--_hover-state-layer-opacity);--md-ripple-pressed-color: var(--_pressed-state-layer-color);--md-ripple-pressed-opacity: var(--_pressed-state-layer-opacity)}md-ripple{border-radius:50%;height:var(--_state-layer-size);width:var(--_state-layer-size)}/*# sourceMappingURL=slider-styles.css.map */\n`;\n "]}
@@ -14,7 +14,7 @@ export declare class Slider extends LitElement {
14
14
  /** @nocollapse */
15
15
  static shadowRootOptions: ShadowRootInit;
16
16
  /** @nocollapse */
17
- static formAssociated: boolean;
17
+ static readonly formAssociated = true;
18
18
  /**
19
19
  * Whether or not the slider is disabled.
20
20
  */
@@ -43,27 +43,37 @@ export declare class Slider extends LitElement {
43
43
  * An optional label for the slider's value displayed when range is
44
44
  * false; if not set, the label is the value itself.
45
45
  */
46
- valueLabel?: string;
46
+ valueLabel: string;
47
47
  /**
48
48
  * An optional label for the slider's start value displayed when
49
49
  * range is true; if not set, the label is the valueStart itself.
50
50
  */
51
- valueLabelStart?: string;
51
+ valueLabelStart: string;
52
52
  /**
53
53
  * An optional label for the slider's end value displayed when
54
54
  * range is true; if not set, the label is the valueEnd itself.
55
55
  */
56
- valueLabelEnd?: string;
56
+ valueLabelEnd: string;
57
57
  /**
58
- * Aria label for the slider's start value displayed when
58
+ * Aria label for the slider's start handle displayed when
59
59
  * range is true.
60
60
  */
61
- ariaLabelStart?: string;
61
+ ariaLabelStart: string;
62
62
  /**
63
- * Aria label for the slider's end value displayed when
63
+ * Aria value text for the slider's start value displayed when
64
64
  * range is true.
65
65
  */
66
- ariaLabelEnd?: string;
66
+ ariaValueTextStart: string;
67
+ /**
68
+ * Aria label for the slider's end handle displayed when
69
+ * range is true.
70
+ */
71
+ ariaLabelEnd: string;
72
+ /**
73
+ * Aria value text for the slider's end value displayed when
74
+ * range is true.
75
+ */
76
+ ariaValueTextEnd: string;
67
77
  /**
68
78
  * The step between values.
69
79
  */
@@ -121,6 +131,10 @@ export declare class Slider extends LitElement {
121
131
  private handlesOverlapping;
122
132
  private renderValueStart?;
123
133
  private renderValueEnd?;
134
+ private get renderAriaLabelStart();
135
+ private get renderAriaValueTextStart();
136
+ private get renderAriaLabelEnd();
137
+ private get renderAriaValueTextEnd();
124
138
  private ripplePointerId;
125
139
  private isRedisptchingEvent;
126
140
  private action?;
@@ -63,6 +63,39 @@ export class Slider extends LitElement {
63
63
  get labels() {
64
64
  return this.internals.labels;
65
65
  }
66
+ // Note: start aria-* properties are only applied when range=true, which is
67
+ // why they do not need to handle both cases.
68
+ get renderAriaLabelStart() {
69
+ // Needed for closure conformance
70
+ const { ariaLabel } = this;
71
+ return this.ariaLabelStart || ariaLabel && `${ariaLabel} start` ||
72
+ this.valueLabelStart || String(this.valueStart);
73
+ }
74
+ get renderAriaValueTextStart() {
75
+ return this.ariaValueTextStart || this.valueLabelStart ||
76
+ String(this.valueStart);
77
+ }
78
+ // Note: end aria-* properties are applied for single and range sliders, which
79
+ // is why it needs to handle `this.range` (while start aria-* properties do
80
+ // not).
81
+ get renderAriaLabelEnd() {
82
+ // Needed for closure conformance
83
+ const { ariaLabel } = this;
84
+ if (this.range) {
85
+ return this.ariaLabelEnd || ariaLabel && `${ariaLabel} end` ||
86
+ this.valueLabelEnd || String(this.valueEnd);
87
+ }
88
+ return ariaLabel || this.valueLabel || String(this.value);
89
+ }
90
+ get renderAriaValueTextEnd() {
91
+ if (this.range) {
92
+ return this.ariaValueTextEnd || this.valueLabelEnd ||
93
+ String(this.valueEnd);
94
+ }
95
+ // Needed for conformance
96
+ const { ariaValueText } = this;
97
+ return ariaValueText || this.valueLabel || String(this.value);
98
+ }
66
99
  constructor() {
67
100
  super();
68
101
  /**
@@ -77,6 +110,41 @@ export class Slider extends LitElement {
77
110
  * The slider maximum value
78
111
  */
79
112
  this.max = 100;
113
+ /**
114
+ * An optional label for the slider's value displayed when range is
115
+ * false; if not set, the label is the value itself.
116
+ */
117
+ this.valueLabel = '';
118
+ /**
119
+ * An optional label for the slider's start value displayed when
120
+ * range is true; if not set, the label is the valueStart itself.
121
+ */
122
+ this.valueLabelStart = '';
123
+ /**
124
+ * An optional label for the slider's end value displayed when
125
+ * range is true; if not set, the label is the valueEnd itself.
126
+ */
127
+ this.valueLabelEnd = '';
128
+ /**
129
+ * Aria label for the slider's start handle displayed when
130
+ * range is true.
131
+ */
132
+ this.ariaLabelStart = '';
133
+ /**
134
+ * Aria value text for the slider's start value displayed when
135
+ * range is true.
136
+ */
137
+ this.ariaValueTextStart = '';
138
+ /**
139
+ * Aria label for the slider's end handle displayed when
140
+ * range is true.
141
+ */
142
+ this.ariaLabelEnd = '';
143
+ /**
144
+ * Aria value text for the slider's end value displayed when
145
+ * range is true.
146
+ */
147
+ this.ariaValueTextEnd = '';
80
148
  /**
81
149
  * The step between values.
82
150
  */
@@ -199,25 +267,31 @@ export class Slider extends LitElement {
199
267
  const endFraction = ((this.renderValueEnd ?? this.min) - this.min) / range;
200
268
  const containerStyles = {
201
269
  // for clipping inputs and active track.
202
- '--slider-start-fraction': String(startFraction),
203
- '--slider-end-fraction': String(endFraction),
270
+ '--_start-fraction': String(startFraction),
271
+ '--_end-fraction': String(endFraction),
204
272
  // for generating tick marks
205
- '--slider-tick-count': String(range / step),
273
+ '--_tick-count': String(range / step),
206
274
  };
207
275
  const containerClasses = { ranged: this.range };
208
276
  // optional label values to show in place of the value.
209
- const labelStart = this.valueLabelStart ?? String(this.renderValueStart);
210
- const labelEnd = (this.range ? this.valueLabelEnd : this.valueLabel) ??
277
+ const labelStart = this.valueLabelStart || String(this.renderValueStart);
278
+ const labelEnd = (this.range ? this.valueLabelEnd : this.valueLabel) ||
211
279
  String(this.renderValueEnd);
212
280
  const inputStartProps = {
213
281
  start: true,
214
282
  value: this.renderValueStart,
215
- label: labelStart
283
+ ariaLabel: this.renderAriaLabelStart,
284
+ ariaValueText: this.renderAriaValueTextStart,
285
+ ariaMin: this.min,
286
+ ariaMax: this.valueEnd ?? this.max,
216
287
  };
217
288
  const inputEndProps = {
218
289
  start: false,
219
290
  value: this.renderValueEnd,
220
- label: labelEnd
291
+ ariaLabel: this.renderAriaLabelEnd,
292
+ ariaValueText: this.renderAriaValueTextEnd,
293
+ ariaMin: this.range ? this.valueStart ?? this.min : this.min,
294
+ ariaMax: this.max,
221
295
  };
222
296
  const handleStartProps = {
223
297
  start: true,
@@ -255,7 +329,7 @@ export class Slider extends LitElement {
255
329
  return html `<div class="track ${classMap(trackClasses)}"></div>`;
256
330
  }
257
331
  renderLabel(value) {
258
- return html `<div class="label">
332
+ return html `<div class="label" aria-hidden="true">
259
333
  <span class="labelContent" part="label">${value}</span>
260
334
  </div>`;
261
335
  }
@@ -275,15 +349,11 @@ export class Slider extends LitElement {
275
349
  <md-ripple for=${name} class=${name} ?disabled=${this.disabled}></md-ripple>
276
350
  </div>`;
277
351
  }
278
- renderInput({ start, value, label }) {
352
+ renderInput({ start, value, ariaLabel, ariaValueText, ariaMin, ariaMax }) {
353
+ // Slider requires min/max set to the overall min/max for both inputs.
354
+ // This is reported to screen readers, which is why we need aria-valuemin
355
+ // and aria-valuemax.
279
356
  const name = start ? `start` : `end`;
280
- // when ranged, ensure announcement includes value info.
281
- // Needed for closure conformance
282
- let { ariaLabel } = this;
283
- const { range, ariaLabelStart, ariaLabelEnd } = this;
284
- if (range) {
285
- ariaLabel = (start ? ariaLabelStart : ariaLabelEnd) ?? null;
286
- }
287
357
  return html `<input type="range"
288
358
  class="${classMap({
289
359
  start,
@@ -302,12 +372,14 @@ export class Slider extends LitElement {
302
372
  id=${name}
303
373
  .disabled=${this.disabled}
304
374
  .min=${String(this.min)}
375
+ aria-valuemin=${ariaMin}
305
376
  .max=${String(this.max)}
377
+ aria-valuemax=${ariaMax}
306
378
  .step=${String(this.step)}
307
379
  .value=${String(value)}
308
380
  .tabIndex=${start ? 1 : 0}
309
381
  aria-label=${ariaLabel || nothing}
310
- aria-valuetext=${label}>`;
382
+ aria-valuetext=${ariaValueText}>`;
311
383
  }
312
384
  async toggleRippleHover(ripple, hovering) {
313
385
  const rippleEl = await ripple;
@@ -356,7 +428,10 @@ export class Slider extends LitElement {
356
428
  this.handleEndHover = !this.disabled && !isStart && Boolean(this.handleEnd);
357
429
  }
358
430
  async handleUp(event) {
359
- const { target, values, flipped } = this.action ?? {};
431
+ if (!this.action) {
432
+ return;
433
+ }
434
+ const { target, values, flipped } = this.action;
360
435
  // Async here for Firefox because input can be after pointerup
361
436
  // when value is calmped.
362
437
  await new Promise(requestAnimationFrame);
@@ -400,6 +475,9 @@ export class Slider extends LitElement {
400
475
  this.startOnTop = input.classList.contains('start');
401
476
  }
402
477
  needsClamping() {
478
+ if (!this.action) {
479
+ return false;
480
+ }
403
481
  const { target, fixed } = this.action;
404
482
  const isStart = target === this.inputStart;
405
483
  return isStart ? target.valueAsNumber > fixed.valueAsNumber :
@@ -409,7 +487,10 @@ export class Slider extends LitElement {
409
487
  // start > end, avoid clamping and "flip" to use the other input
410
488
  // as the action target.
411
489
  isActionFlipped() {
412
- const action = this.action;
490
+ const { action } = this;
491
+ if (!action) {
492
+ return false;
493
+ }
413
494
  const { target, fixed, values } = action;
414
495
  if (action.canFlip) {
415
496
  const coincident = values.get(target) === values.get(fixed);
@@ -425,6 +506,9 @@ export class Slider extends LitElement {
425
506
  // when flipped, apply the drag input to the flipped target and reset
426
507
  // the actual target.
427
508
  flipAction() {
509
+ if (!this.action) {
510
+ return false;
511
+ }
428
512
  const { target, fixed, values } = this.action;
429
513
  const changed = target.valueAsNumber !== fixed.valueAsNumber;
430
514
  target.valueAsNumber = fixed.valueAsNumber;
@@ -433,7 +517,7 @@ export class Slider extends LitElement {
433
517
  }
434
518
  // clamp such that start does not move beyond end and visa versa.
435
519
  clampAction() {
436
- if (!this.needsClamping()) {
520
+ if (!this.needsClamping() || !this.action) {
437
521
  return false;
438
522
  }
439
523
  const { target, fixed } = this.action;
@@ -445,7 +529,8 @@ export class Slider extends LitElement {
445
529
  if (this.isRedisptchingEvent) {
446
530
  return;
447
531
  }
448
- let stopPropagation = false, redispatch = false;
532
+ let stopPropagation = false;
533
+ let redispatch = false;
449
534
  if (this.range) {
450
535
  if (this.isActionFlipped()) {
451
536
  stopPropagation = true;
@@ -456,7 +541,7 @@ export class Slider extends LitElement {
456
541
  redispatch = false;
457
542
  }
458
543
  }
459
- const { target } = this.action;
544
+ const target = event.target;
460
545
  this.updateOnTop(target);
461
546
  // update value only on interaction
462
547
  if (this.range) {
@@ -551,9 +636,15 @@ __decorate([
551
636
  __decorate([
552
637
  property({ attribute: 'aria-label-start' })
553
638
  ], Slider.prototype, "ariaLabelStart", void 0);
639
+ __decorate([
640
+ property({ attribute: 'aria-valuetext-start' })
641
+ ], Slider.prototype, "ariaValueTextStart", void 0);
554
642
  __decorate([
555
643
  property({ attribute: 'aria-label-end' })
556
644
  ], Slider.prototype, "ariaLabelEnd", void 0);
645
+ __decorate([
646
+ property({ attribute: 'aria-valuetext-end' })
647
+ ], Slider.prototype, "ariaValueTextEnd", void 0);
557
648
  __decorate([
558
649
  property({ type: Number })
559
650
  ], Slider.prototype, "step", void 0);