@tylertech/forge 3.0.0-next.13 → 3.0.0-next.15

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 (738) hide show
  1. package/custom-elements.json +48615 -40598
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/app-bar/index.js +7 -0
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-area/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  20. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  21. package/dist/esm/button-toggle/index.js +1 -1
  22. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  23. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/chunk.3KEXRSB5.js +7 -0
  32. package/dist/esm/chunks/{chunk.ZGRQDDHO.js.map → chunk.3KEXRSB5.js.map} +1 -1
  33. package/dist/esm/chunks/{chunk.U6FJJGO3.js → chunk.3PKNBYMG.js} +1 -1
  34. package/dist/esm/chunks/chunk.3PKNBYMG.js.map +7 -0
  35. package/dist/esm/chunks/chunk.3TKTJ3BY.js +7 -0
  36. package/dist/esm/chunks/chunk.3TKTJ3BY.js.map +7 -0
  37. package/dist/esm/chunks/{chunk.MKJCHUJH.js → chunk.42YDA5FH.js} +2 -2
  38. package/dist/esm/chunks/chunk.447QNYAZ.js +7 -0
  39. package/dist/esm/chunks/{chunk.PYR2OCCH.js.map → chunk.447QNYAZ.js.map} +1 -1
  40. package/dist/esm/chunks/chunk.4IMRT2B3.js +7 -0
  41. package/dist/esm/chunks/{chunk.RES7WDKH.js.map → chunk.4IMRT2B3.js.map} +1 -1
  42. package/dist/esm/chunks/chunk.4JDJ33IU.js +7 -0
  43. package/dist/esm/chunks/{chunk.ARQMMZJL.js.map → chunk.4JDJ33IU.js.map} +1 -1
  44. package/dist/esm/chunks/chunk.4QCGBFLU.js +7 -0
  45. package/dist/esm/chunks/chunk.4QCGBFLU.js.map +7 -0
  46. package/dist/esm/chunks/chunk.4XN2WGMP.js +7 -0
  47. package/dist/esm/chunks/chunk.4XN2WGMP.js.map +7 -0
  48. package/dist/esm/chunks/{chunk.G73KL7P2.js → chunk.5EGEZ4IY.js} +2 -2
  49. package/dist/esm/chunks/chunk.5FCUOZSU.js +7 -0
  50. package/dist/esm/chunks/{chunk.IHAHJPMB.js.map → chunk.5FCUOZSU.js.map} +1 -1
  51. package/dist/esm/chunks/chunk.5KYKGNGY.js +7 -0
  52. package/dist/esm/chunks/{chunk.MWYQRG5W.js.map → chunk.5KYKGNGY.js.map} +1 -1
  53. package/dist/esm/chunks/chunk.5QZPUOGG.js +7 -0
  54. package/dist/esm/chunks/{chunk.7VMJLHQY.js.map → chunk.5QZPUOGG.js.map} +1 -1
  55. package/dist/esm/chunks/chunk.5ZMM75CJ.js +7 -0
  56. package/dist/esm/chunks/chunk.5ZMM75CJ.js.map +7 -0
  57. package/dist/esm/chunks/chunk.6FUXTHO6.js +7 -0
  58. package/dist/esm/chunks/{chunk.AUBOJZQ7.js.map → chunk.6FUXTHO6.js.map} +1 -1
  59. package/dist/esm/chunks/chunk.6ORVPXNN.js +7 -0
  60. package/dist/esm/chunks/{chunk.IDMDBMBR.js.map → chunk.6ORVPXNN.js.map} +1 -1
  61. package/dist/esm/chunks/chunk.6ZJIHOIG.js +7 -0
  62. package/dist/esm/chunks/chunk.6ZJIHOIG.js.map +7 -0
  63. package/dist/esm/chunks/chunk.7LOMI6J3.js +7 -0
  64. package/dist/esm/chunks/chunk.7LOMI6J3.js.map +7 -0
  65. package/dist/esm/chunks/chunk.7PVVZC7P.js +7 -0
  66. package/dist/esm/chunks/chunk.7PVVZC7P.js.map +7 -0
  67. package/dist/esm/chunks/chunk.AEO2X5OZ.js +7 -0
  68. package/dist/esm/chunks/{chunk.LOG6GQOK.js.map → chunk.AEO2X5OZ.js.map} +1 -1
  69. package/dist/esm/chunks/chunk.AIPDMLJD.js +7 -0
  70. package/dist/esm/chunks/{chunk.AMZZKEAE.js.map → chunk.AIPDMLJD.js.map} +4 -4
  71. package/dist/esm/chunks/chunk.APFDK6YA.js +7 -0
  72. package/dist/esm/chunks/chunk.APFDK6YA.js.map +7 -0
  73. package/dist/esm/chunks/{chunk.W2LN45WY.js → chunk.AR6YUJUH.js} +2 -2
  74. package/dist/esm/chunks/chunk.AVRBHXDT.js +177 -0
  75. package/dist/esm/chunks/{chunk.R6LQBI42.js.map → chunk.AVRBHXDT.js.map} +1 -1
  76. package/dist/esm/chunks/chunk.BAQYPAUM.js +7 -0
  77. package/dist/esm/chunks/{chunk.BB4UF5RX.js → chunk.BC7WB5RG.js} +2 -2
  78. package/dist/esm/chunks/chunk.BIVQ4GTK.js +7 -0
  79. package/dist/esm/chunks/chunk.BIVQ4GTK.js.map +7 -0
  80. package/dist/esm/chunks/chunk.BJD6BKGC.js +31 -0
  81. package/dist/esm/chunks/chunk.BJD6BKGC.js.map +7 -0
  82. package/dist/esm/chunks/chunk.BS73Y6IN.js +7 -0
  83. package/dist/esm/chunks/{chunk.36C6SIPW.js.map → chunk.BS73Y6IN.js.map} +1 -1
  84. package/dist/esm/chunks/chunk.BTWJPE4Y.js +7 -0
  85. package/dist/esm/chunks/{chunk.HOLCNJXC.js.map → chunk.BTWJPE4Y.js.map} +1 -1
  86. package/dist/esm/chunks/chunk.BWGDZUJV.js +12 -0
  87. package/dist/esm/chunks/chunk.BWGDZUJV.js.map +7 -0
  88. package/dist/esm/chunks/{chunk.7XFU2W25.js → chunk.BX4AQRHB.js} +2 -2
  89. package/dist/esm/chunks/{chunk.7XFU2W25.js.map → chunk.BX4AQRHB.js.map} +3 -3
  90. package/dist/esm/chunks/chunk.CBY7M4X6.js +7 -0
  91. package/dist/esm/chunks/{chunk.TU74SREL.js.map → chunk.CBY7M4X6.js.map} +1 -1
  92. package/dist/esm/chunks/{chunk.YA3RDJCV.js → chunk.CZOABXEQ.js} +2 -2
  93. package/dist/esm/chunks/{chunk.YA3RDJCV.js.map → chunk.CZOABXEQ.js.map} +2 -2
  94. package/dist/esm/chunks/chunk.DLBAZD5X.js +7 -0
  95. package/dist/esm/chunks/{chunk.QLCVRJ3Q.js.map → chunk.DLBAZD5X.js.map} +1 -1
  96. package/dist/esm/chunks/chunk.DTWXICOY.js +7 -0
  97. package/dist/esm/chunks/chunk.DTWXICOY.js.map +7 -0
  98. package/dist/esm/chunks/{chunk.KV67JXOC.js → chunk.EMCY55MX.js} +2 -2
  99. package/dist/esm/chunks/chunk.ESQWFHCF.js +7 -0
  100. package/dist/esm/chunks/chunk.ESQWFHCF.js.map +7 -0
  101. package/dist/esm/chunks/{chunk.FYWPZFLJ.js → chunk.EWT2PBEP.js} +2 -2
  102. package/dist/esm/chunks/{chunk.FYWPZFLJ.js.map → chunk.EWT2PBEP.js.map} +2 -2
  103. package/dist/esm/chunks/chunk.FJ5VNWYK.js +7 -0
  104. package/dist/esm/chunks/chunk.FJ5VNWYK.js.map +7 -0
  105. package/dist/esm/chunks/chunk.FJRCWWE2.js +7 -0
  106. package/dist/esm/chunks/chunk.FJRCWWE2.js.map +7 -0
  107. package/dist/esm/chunks/chunk.FQUZWINF.js +7 -0
  108. package/dist/esm/chunks/{chunk.5WMYF27O.js.map → chunk.FQUZWINF.js.map} +2 -2
  109. package/dist/esm/chunks/chunk.FSILMO6U.js +7 -0
  110. package/dist/esm/chunks/{chunk.3R4BUIQP.js.map → chunk.FSILMO6U.js.map} +1 -1
  111. package/dist/esm/chunks/chunk.FXGY5IVK.js +7 -0
  112. package/dist/esm/chunks/chunk.FXGY5IVK.js.map +7 -0
  113. package/dist/esm/chunks/chunk.G67LO74A.js +7 -0
  114. package/dist/esm/chunks/chunk.G67LO74A.js.map +7 -0
  115. package/dist/esm/chunks/chunk.GGQL3OZB.js +7 -0
  116. package/dist/esm/chunks/{chunk.QJCNMYD3.js.map → chunk.GGQL3OZB.js.map} +1 -1
  117. package/dist/esm/chunks/{chunk.K7FPXAFS.js → chunk.HZUQXCOQ.js} +2 -2
  118. package/dist/esm/chunks/{chunk.K7FPXAFS.js.map → chunk.HZUQXCOQ.js.map} +2 -2
  119. package/dist/esm/chunks/chunk.I7OY43HW.js +7 -0
  120. package/dist/esm/chunks/chunk.I7OY43HW.js.map +7 -0
  121. package/dist/esm/chunks/{chunk.FXIWCHLW.js → chunk.I7X25KEB.js} +2 -2
  122. package/dist/esm/chunks/chunk.ICIGXLJW.js +7 -0
  123. package/dist/esm/chunks/{chunk.NUMKGUCK.js.map → chunk.ICIGXLJW.js.map} +1 -1
  124. package/dist/esm/chunks/chunk.IHIKIZIT.js +7 -0
  125. package/dist/esm/chunks/chunk.ILUXZNGY.js +7 -0
  126. package/dist/esm/chunks/{chunk.3ZPSN2QG.js.map → chunk.ILUXZNGY.js.map} +1 -1
  127. package/dist/esm/chunks/chunk.JEZR25US.js +7 -0
  128. package/dist/esm/chunks/{chunk.3HCYRDRI.js.map → chunk.JEZR25US.js.map} +1 -1
  129. package/dist/esm/chunks/{chunk.ZRSDTCSD.js → chunk.JHELTQKA.js} +2 -2
  130. package/dist/esm/chunks/{chunk.GNDKQPDV.js → chunk.JPI4XCQL.js} +2 -2
  131. package/dist/esm/chunks/chunk.JRSFCVYQ.js +7 -0
  132. package/dist/esm/chunks/chunk.JRSFCVYQ.js.map +7 -0
  133. package/dist/esm/chunks/chunk.JZ27GPZJ.js +7 -0
  134. package/dist/esm/chunks/{chunk.7ZROQ6D3.js.map → chunk.JZ27GPZJ.js.map} +1 -1
  135. package/dist/esm/chunks/chunk.K3TJMIKD.js +7 -0
  136. package/dist/esm/chunks/{chunk.IAWYYNUU.js.map → chunk.K3TJMIKD.js.map} +1 -1
  137. package/dist/esm/chunks/{chunk.FLWNOP42.js → chunk.KDJZN6EW.js} +2 -2
  138. package/dist/esm/chunks/chunk.KGHABAFA.js +7 -0
  139. package/dist/esm/chunks/{chunk.URJQNB3S.js.map → chunk.KGHABAFA.js.map} +1 -1
  140. package/dist/esm/chunks/chunk.KR4BNI6X.js +7 -0
  141. package/dist/esm/chunks/{chunk.G7SMCLHQ.js.map → chunk.KR4BNI6X.js.map} +1 -1
  142. package/dist/esm/chunks/chunk.KUNIEX72.js +7 -0
  143. package/dist/esm/chunks/{chunk.IISWKFCX.js.map → chunk.KUNIEX72.js.map} +1 -1
  144. package/dist/esm/chunks/{chunk.675V42JS.js → chunk.KWBYYSH3.js} +2 -2
  145. package/dist/esm/chunks/chunk.L27ANAIL.js +7 -0
  146. package/dist/esm/chunks/{chunk.XNFS7YIB.js.map → chunk.L27ANAIL.js.map} +1 -1
  147. package/dist/esm/chunks/{chunk.XEFWZKHQ.js → chunk.L45HXBDS.js} +2 -2
  148. package/dist/esm/chunks/chunk.L4UXWCVD.js +7 -0
  149. package/dist/esm/chunks/{chunk.V24M62MC.js.map → chunk.L4UXWCVD.js.map} +1 -1
  150. package/dist/esm/chunks/chunk.LK6QHLW2.js +7 -0
  151. package/dist/esm/chunks/{chunk.LCR4YH3O.js.map → chunk.LK6QHLW2.js.map} +1 -1
  152. package/dist/esm/chunks/chunk.LYZXJYTW.js +7 -0
  153. package/dist/esm/chunks/{chunk.YAERJVPL.js.map → chunk.LYZXJYTW.js.map} +1 -1
  154. package/dist/esm/chunks/chunk.LZ2YQYJA.js +7 -0
  155. package/dist/esm/chunks/chunk.LZ2YQYJA.js.map +7 -0
  156. package/dist/esm/chunks/chunk.M7RYU4HQ.js +7 -0
  157. package/dist/esm/chunks/chunk.M7RYU4HQ.js.map +7 -0
  158. package/dist/esm/chunks/{chunk.HRRJIFC5.js → chunk.MHH26REX.js} +2 -2
  159. package/dist/esm/chunks/chunk.MROUV35N.js +7 -0
  160. package/dist/esm/chunks/{chunk.SIRXAA3O.js.map → chunk.MROUV35N.js.map} +1 -1
  161. package/dist/esm/chunks/chunk.MTSWCXTY.js +7 -0
  162. package/dist/esm/chunks/chunk.NBLL7VAA.js +7 -0
  163. package/dist/esm/chunks/chunk.NM7FJISF.js +7 -0
  164. package/dist/esm/chunks/chunk.NM7FJISF.js.map +7 -0
  165. package/dist/esm/chunks/chunk.NVR6KN2B.js +7 -0
  166. package/dist/esm/chunks/{chunk.BTXY3XMJ.js.map → chunk.NVR6KN2B.js.map} +1 -1
  167. package/dist/esm/chunks/chunk.O6F4U4VY.js +7 -0
  168. package/dist/esm/chunks/{chunk.5N4N6DL6.js.map → chunk.O6F4U4VY.js.map} +1 -1
  169. package/dist/esm/chunks/chunk.O6MGA3XK.js +7 -0
  170. package/dist/esm/chunks/chunk.ONII3BV3.js +7 -0
  171. package/dist/esm/chunks/chunk.ONII3BV3.js.map +7 -0
  172. package/dist/esm/chunks/chunk.OTUEB7SD.js +7 -0
  173. package/dist/esm/chunks/{chunk.JVLJH6PR.js.map → chunk.OTUEB7SD.js.map} +1 -1
  174. package/dist/esm/chunks/{chunk.PADPL4L3.js → chunk.OUIWXKO2.js} +2 -2
  175. package/dist/esm/chunks/chunk.PMSCH6VK.js +7 -0
  176. package/dist/esm/chunks/{chunk.DTLZOIUQ.js.map → chunk.PMSCH6VK.js.map} +1 -1
  177. package/dist/esm/chunks/chunk.PRJHBUU2.js +7 -0
  178. package/dist/esm/chunks/chunk.PRJHBUU2.js.map +7 -0
  179. package/dist/esm/chunks/chunk.Q2Q626DG.js +7 -0
  180. package/dist/esm/chunks/{chunk.AMLT6XJP.js.map → chunk.Q2Q626DG.js.map} +1 -1
  181. package/dist/esm/chunks/chunk.Q4YL47ZL.js +7 -0
  182. package/dist/esm/chunks/{chunk.BQ2X5SBP.js.map → chunk.Q4YL47ZL.js.map} +1 -1
  183. package/dist/esm/chunks/chunk.Q54DACHS.js +7 -0
  184. package/dist/esm/chunks/{chunk.SLJ6HDK7.js.map → chunk.Q54DACHS.js.map} +1 -1
  185. package/dist/esm/chunks/chunk.Q74SG6BV.js +7 -0
  186. package/dist/esm/chunks/{chunk.2MSL7CYM.js.map → chunk.Q74SG6BV.js.map} +1 -1
  187. package/dist/esm/chunks/chunk.QG5EYBS3.js +7 -0
  188. package/dist/esm/chunks/chunk.QG5EYBS3.js.map +7 -0
  189. package/dist/esm/chunks/chunk.QGMWM7IT.js +7 -0
  190. package/dist/esm/chunks/{chunk.QQRPV4RN.js.map → chunk.QGMWM7IT.js.map} +2 -2
  191. package/dist/esm/chunks/chunk.RCPUTZON.js +7 -0
  192. package/dist/esm/chunks/{chunk.VFKHRAWD.js.map → chunk.RCPUTZON.js.map} +1 -1
  193. package/dist/esm/chunks/chunk.SBKKBQDX.js +7 -0
  194. package/dist/esm/chunks/chunk.SBKKBQDX.js.map +7 -0
  195. package/dist/esm/chunks/chunk.SVVF632P.js +7 -0
  196. package/dist/esm/chunks/chunk.SVVF632P.js.map +7 -0
  197. package/dist/esm/chunks/chunk.T4J66YX5.js +7 -0
  198. package/dist/esm/chunks/chunk.T4J66YX5.js.map +7 -0
  199. package/dist/esm/chunks/chunk.THNCYT3E.js +7 -0
  200. package/dist/esm/chunks/{chunk.72JVXGHF.js.map → chunk.THNCYT3E.js.map} +2 -2
  201. package/dist/esm/chunks/chunk.TPXXHX5J.js +7 -0
  202. package/dist/esm/chunks/{chunk.JAWV5Y5T.js.map → chunk.TPXXHX5J.js.map} +2 -2
  203. package/dist/esm/chunks/chunk.TSUAFZGY.js +7 -0
  204. package/dist/esm/chunks/{chunk.IT7XPDAV.js.map → chunk.TSUAFZGY.js.map} +1 -1
  205. package/dist/esm/chunks/chunk.U42I3PGF.js +7 -0
  206. package/dist/esm/chunks/chunk.U42I3PGF.js.map +7 -0
  207. package/dist/esm/chunks/{chunk.GHR7T6U2.js → chunk.U7S4DJTU.js} +2 -2
  208. package/dist/esm/chunks/chunk.UOEJCU6R.js +7 -0
  209. package/dist/esm/chunks/{chunk.KV5IKYG2.js.map → chunk.UOEJCU6R.js.map} +1 -1
  210. package/dist/esm/chunks/{chunk.Z5RROENA.js → chunk.URKQICJD.js} +2 -2
  211. package/dist/esm/chunks/chunk.VG452D3L.js +7 -0
  212. package/dist/esm/chunks/{chunk.STB2FEUA.js.map → chunk.VG452D3L.js.map} +2 -2
  213. package/dist/esm/chunks/chunk.VQPSP4HV.js +7 -0
  214. package/dist/esm/chunks/{chunk.VO6YJCEU.js.map → chunk.VQPSP4HV.js.map} +1 -1
  215. package/dist/esm/chunks/chunk.W7BP2DDU.js +7 -0
  216. package/dist/esm/chunks/{chunk.WY3E33CW.js.map → chunk.W7BP2DDU.js.map} +2 -2
  217. package/dist/esm/chunks/chunk.WARVAVAW.js +7 -0
  218. package/dist/esm/chunks/{chunk.2ZU6LWHE.js.map → chunk.WARVAVAW.js.map} +1 -1
  219. package/dist/esm/chunks/chunk.WEHQUUXJ.js +7 -0
  220. package/dist/esm/chunks/{chunk.5PG6WIIX.js.map → chunk.WEHQUUXJ.js.map} +1 -1
  221. package/dist/esm/chunks/chunk.WJCZJ6XD.js +7 -0
  222. package/dist/esm/chunks/{chunk.IMLJD35R.js.map → chunk.WJCZJ6XD.js.map} +1 -1
  223. package/dist/esm/chunks/{chunk.QLOYOZN3.js → chunk.WMP2OLMG.js} +2 -2
  224. package/dist/esm/chunks/chunk.X3QZY7V4.js +7 -0
  225. package/dist/esm/chunks/{chunk.5RM65QPN.js.map → chunk.X3QZY7V4.js.map} +1 -1
  226. package/dist/esm/chunks/chunk.XQLQ73NG.js +7 -0
  227. package/dist/esm/chunks/{chunk.7V4BDSA5.js.map → chunk.XQLQ73NG.js.map} +1 -1
  228. package/dist/esm/chunks/chunk.Y4ZS3A6F.js +7 -0
  229. package/dist/esm/chunks/{chunk.QN5T26HH.js.map → chunk.Y4ZS3A6F.js.map} +2 -2
  230. package/dist/esm/chunks/chunk.YA5OQD37.js +7 -0
  231. package/dist/esm/chunks/{chunk.TBGMJQYJ.js.map → chunk.YA5OQD37.js.map} +1 -1
  232. package/dist/esm/chunks/chunk.YMSX4F3J.js +7 -0
  233. package/dist/esm/chunks/{chunk.FYVDTZLF.js.map → chunk.YMSX4F3J.js.map} +1 -1
  234. package/dist/esm/chunks/{chunk.KVCDAZ6B.js → chunk.YTBNAGLS.js} +2 -2
  235. package/dist/esm/chunks/chunk.Z37CZMMR.js +7 -0
  236. package/dist/esm/chunks/{chunk.HAKF2T2D.js.map → chunk.Z37CZMMR.js.map} +1 -1
  237. package/dist/esm/chunks/chunk.ZIRA4PYV.js +7 -0
  238. package/dist/esm/chunks/chunk.ZIRA4PYV.js.map +7 -0
  239. package/dist/esm/chunks/chunk.ZT7U7WOX.js +7 -0
  240. package/dist/esm/chunks/{chunk.HDG2GHKC.js.map → chunk.ZT7U7WOX.js.map} +1 -1
  241. package/dist/esm/chunks/{chunk.BBCZNGT3.js → chunk.ZX3CGET2.js} +2 -2
  242. package/dist/esm/circular-progress/index.js +1 -1
  243. package/dist/esm/color-picker/index.js +1 -1
  244. package/dist/esm/core/base/index.js +1 -1
  245. package/dist/esm/core/delegates/index.js +1 -1
  246. package/dist/esm/core/index.js +1 -1
  247. package/dist/esm/core/utils/index.js +1 -1
  248. package/dist/esm/date-picker/index.js +1 -1
  249. package/dist/esm/date-range-picker/index.js +1 -1
  250. package/dist/esm/dialog/index.js +1 -1
  251. package/dist/esm/divider/index.js +1 -1
  252. package/dist/esm/drawer/base/index.js +1 -1
  253. package/dist/esm/drawer/drawer/index.js +1 -1
  254. package/dist/esm/drawer/index.js +1 -1
  255. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  256. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  257. package/dist/esm/expansion-panel/index.js +1 -1
  258. package/dist/esm/file-picker/index.js +1 -1
  259. package/dist/esm/floating-action-button/index.js +1 -1
  260. package/dist/esm/floating-label/index.js +1 -1
  261. package/dist/esm/focus-indicator/index.js +1 -1
  262. package/dist/esm/icon/index.js +1 -1
  263. package/dist/esm/icon-button/index.js +1 -1
  264. package/dist/esm/index.js +1 -1
  265. package/dist/esm/inline-message/index.js +1 -1
  266. package/dist/esm/keyboard-shortcut/index.js +1 -1
  267. package/dist/esm/label/index.js +1 -1
  268. package/dist/esm/label-value/index.js +1 -1
  269. package/dist/esm/linear-progress/index.js +1 -1
  270. package/dist/esm/list/index.js +1 -1
  271. package/dist/esm/list/list/index.js +1 -1
  272. package/dist/esm/list/list-item/index.js +1 -1
  273. package/dist/esm/list-dropdown/index.js +1 -1
  274. package/dist/esm/menu/index.js +1 -1
  275. package/dist/esm/open-icon/index.js +1 -1
  276. package/dist/esm/page-state/index.js +1 -1
  277. package/dist/esm/paginator/index.js +1 -1
  278. package/dist/esm/popup/index.js +1 -1
  279. package/dist/esm/product-icon/index.js +1 -1
  280. package/dist/esm/profile-card/index.js +1 -1
  281. package/dist/esm/quantity-field/index.js +1 -1
  282. package/dist/esm/radio/index.js +1 -1
  283. package/dist/esm/radio/radio/index.js +7 -0
  284. package/dist/esm/radio/radio/index.js.map +7 -0
  285. package/dist/esm/radio/radio-group/index.js +7 -0
  286. package/dist/esm/radio/radio-group/index.js.map +7 -0
  287. package/dist/esm/ripple/index.js +1 -1
  288. package/dist/esm/scaffold/index.js +1 -1
  289. package/dist/esm/select/core/index.js +1 -1
  290. package/dist/esm/select/index.js +1 -1
  291. package/dist/esm/select/option/index.js +1 -1
  292. package/dist/esm/select/option-group/index.js +1 -1
  293. package/dist/esm/select/select/index.js +1 -1
  294. package/dist/esm/select/select-dropdown/index.js +1 -1
  295. package/dist/esm/skeleton/index.js +1 -1
  296. package/dist/esm/slider/index.js +1 -1
  297. package/dist/esm/split-button/index.js +1 -1
  298. package/dist/esm/split-view/index.js +1 -1
  299. package/dist/esm/split-view/split-view/index.js +1 -1
  300. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  301. package/dist/esm/stack/index.js +1 -1
  302. package/dist/esm/state-layer/index.js +1 -1
  303. package/dist/esm/stepper/index.js +1 -1
  304. package/dist/esm/stepper/step/index.js +1 -1
  305. package/dist/esm/stepper/stepper/index.js +1 -1
  306. package/dist/esm/switch/index.js +1 -1
  307. package/dist/esm/table/index.js +1 -1
  308. package/dist/esm/tabs/index.js +1 -1
  309. package/dist/esm/tabs/tab/index.js +1 -1
  310. package/dist/esm/tabs/tab-bar/index.js +1 -1
  311. package/dist/esm/text-field/index.js +1 -1
  312. package/dist/esm/time-picker/index.js +1 -1
  313. package/dist/esm/toast/index.js +1 -1
  314. package/dist/esm/toolbar/index.js +1 -1
  315. package/dist/esm/tooltip/index.js +1 -1
  316. package/dist/esm/view-switcher/index.js +1 -1
  317. package/dist/esm/view-switcher/view/index.js +1 -1
  318. package/dist/forge-dark.css +1 -1
  319. package/dist/forge.css +1 -1
  320. package/dist/theme/forge-theme.css +1 -1
  321. package/esm/app-bar/app-bar/app-bar-adapter.d.ts +30 -0
  322. package/esm/app-bar/app-bar/app-bar-adapter.js +71 -0
  323. package/esm/app-bar/{app-bar-constants.d.ts → app-bar/app-bar-constants.d.ts} +7 -11
  324. package/esm/app-bar/app-bar/app-bar-constants.js +32 -0
  325. package/esm/app-bar/{app-bar-foundation.d.ts → app-bar/app-bar-foundation.d.ts} +17 -16
  326. package/esm/app-bar/app-bar/app-bar-foundation.js +71 -0
  327. package/esm/app-bar/app-bar/app-bar.d.ts +66 -0
  328. package/esm/app-bar/app-bar/app-bar.js +107 -0
  329. package/esm/app-bar/app-bar/index.d.ts +10 -0
  330. package/esm/app-bar/app-bar/index.js +14 -0
  331. package/esm/app-bar/help-button/app-bar-help-button-adapter.d.ts +8 -1
  332. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +22 -1
  333. package/esm/app-bar/help-button/app-bar-help-button-constants.d.ts +7 -0
  334. package/esm/app-bar/help-button/app-bar-help-button-constants.js +11 -1
  335. package/esm/app-bar/help-button/app-bar-help-button-foundation.d.ts +4 -0
  336. package/esm/app-bar/help-button/app-bar-help-button-foundation.js +16 -0
  337. package/esm/app-bar/help-button/app-bar-help-button.d.ts +13 -2
  338. package/esm/app-bar/help-button/app-bar-help-button.js +26 -5
  339. package/esm/app-bar/index.d.ts +0 -4
  340. package/esm/app-bar/index.js +0 -8
  341. package/esm/app-bar/menu-button/app-bar-menu-button-constants.d.ts +7 -0
  342. package/esm/app-bar/menu-button/app-bar-menu-button-constants.js +9 -1
  343. package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +19 -2
  344. package/esm/app-bar/menu-button/app-bar-menu-button.js +57 -8
  345. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +6 -2
  346. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +17 -1
  347. package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +1 -0
  348. package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +3 -1
  349. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +4 -4
  350. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +9 -11
  351. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +17 -4
  352. package/esm/app-bar/notification-button/app-bar-notification-button.js +20 -5
  353. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +7 -1
  354. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +26 -3
  355. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -3
  356. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +2 -4
  357. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +5 -2
  358. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +20 -22
  359. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +31 -2
  360. package/esm/app-bar/profile-button/app-bar-profile-button.js +33 -6
  361. package/esm/app-bar/search/app-bar-search-adapter.d.ts +8 -43
  362. package/esm/app-bar/search/app-bar-search-adapter.js +23 -53
  363. package/esm/app-bar/search/app-bar-search-constants.d.ts +0 -15
  364. package/esm/app-bar/search/app-bar-search-constants.js +3 -20
  365. package/esm/app-bar/search/app-bar-search-foundation.d.ts +3 -37
  366. package/esm/app-bar/search/app-bar-search-foundation.js +27 -88
  367. package/esm/app-bar/search/app-bar-search.d.ts +1 -21
  368. package/esm/app-bar/search/app-bar-search.js +13 -39
  369. package/esm/button/base/base-button-adapter.d.ts +4 -10
  370. package/esm/button/base/base-button-adapter.js +18 -21
  371. package/esm/button/base/base-button-constants.d.ts +3 -0
  372. package/esm/button/base/base-button-foundation.d.ts +6 -7
  373. package/esm/button/base/base-button-foundation.js +18 -14
  374. package/esm/button/base/base-button.d.ts +10 -6
  375. package/esm/button/base/base-button.js +11 -2
  376. package/esm/button/button-constants.d.ts +2 -0
  377. package/esm/button/button-constants.js +2 -1
  378. package/esm/button/button-foundation.d.ts +4 -0
  379. package/esm/button/button-foundation.js +10 -0
  380. package/esm/button/button.d.ts +4 -0
  381. package/esm/button/button.js +11 -5
  382. package/esm/checkbox/checkbox.js +1 -1
  383. package/esm/circular-progress/circular-progress-adapter.d.ts +2 -2
  384. package/esm/circular-progress/circular-progress-adapter.js +15 -6
  385. package/esm/circular-progress/circular-progress-constants.d.ts +1 -2
  386. package/esm/circular-progress/circular-progress-constants.js +1 -2
  387. package/esm/circular-progress/circular-progress-foundation.d.ts +0 -1
  388. package/esm/circular-progress/circular-progress-foundation.js +3 -5
  389. package/esm/circular-progress/circular-progress.d.ts +1 -2
  390. package/esm/circular-progress/circular-progress.js +6 -11
  391. package/esm/constants.d.ts +23 -2
  392. package/esm/constants.js +11 -0
  393. package/esm/core/base/base-adapter.d.ts +4 -0
  394. package/esm/core/base/base-adapter.js +7 -1
  395. package/esm/core/base/base-component.d.ts +4 -0
  396. package/esm/core/base/base-element-internals-component.d.ts +41 -0
  397. package/esm/core/base/base-element-internals-component.js +47 -0
  398. package/esm/core/base/base-focusable-component.d.ts +11 -14
  399. package/esm/core/base/base-focusable-component.js +14 -15
  400. package/esm/core/base/base-form-associated-component.d.ts +122 -0
  401. package/esm/core/base/base-form-associated-component.js +71 -0
  402. package/esm/core/base/base-form-component.d.ts +0 -10
  403. package/esm/core/base/base-form-component.js +0 -6
  404. package/esm/core/base/base-label-aware-component.d.ts +33 -0
  405. package/esm/core/base/base-label-aware-component.js +17 -0
  406. package/esm/core/base/base-nullable-form-component.d.ts +0 -10
  407. package/esm/core/base/base-nullable-form-component.js +0 -6
  408. package/esm/core/base/index.d.ts +4 -0
  409. package/esm/core/base/index.js +4 -0
  410. package/esm/core/utils/a11y-utils.d.ts +156 -0
  411. package/esm/core/utils/a11y-utils.js +223 -0
  412. package/esm/core/utils/event-utils.d.ts +1 -0
  413. package/esm/core/utils/event-utils.js +3 -0
  414. package/esm/core/utils/feature-detection.d.ts +8 -0
  415. package/esm/core/utils/feature-detection.js +12 -0
  416. package/esm/core/utils/form-utils.d.ts +24 -0
  417. package/esm/core/utils/form-utils.js +6 -0
  418. package/esm/core/utils/index.d.ts +1 -0
  419. package/esm/core/utils/index.js +1 -0
  420. package/esm/core/utils/mixin-utils.d.ts +20 -0
  421. package/esm/core/utils/mixin-utils.js +15 -0
  422. package/esm/core/utils/reflect-utils.d.ts +1 -1
  423. package/esm/core/utils/reflect-utils.js +2 -2
  424. package/esm/core/utils/utils.d.ts +1 -1
  425. package/esm/date-picker/base/base-date-picker.d.ts +1 -1
  426. package/esm/date-picker/base/base-date-picker.js +4 -3
  427. package/esm/floating-action-button/floating-action-button-adapter.d.ts +20 -0
  428. package/esm/floating-action-button/floating-action-button-adapter.js +49 -0
  429. package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +19 -3
  430. package/esm/floating-action-button/floating-action-button-component-delegate.js +62 -14
  431. package/esm/floating-action-button/floating-action-button-constants.d.ts +19 -14
  432. package/esm/floating-action-button/floating-action-button-constants.js +15 -15
  433. package/esm/floating-action-button/floating-action-button-foundation.d.ts +27 -0
  434. package/esm/floating-action-button/floating-action-button-foundation.js +48 -0
  435. package/esm/floating-action-button/floating-action-button.d.ts +86 -25
  436. package/esm/floating-action-button/floating-action-button.js +117 -104
  437. package/esm/floating-action-button/index.d.ts +3 -1
  438. package/esm/floating-action-button/index.js +5 -3
  439. package/esm/focus-indicator/focus-indicator.js +2 -2
  440. package/esm/icon-button/icon-button-constants.d.ts +3 -3
  441. package/esm/icon-button/icon-button.d.ts +51 -0
  442. package/esm/icon-button/icon-button.js +54 -5
  443. package/esm/icon-button/index.d.ts +3 -1
  444. package/esm/icon-button/index.js +3 -1
  445. package/esm/index.d.ts +4 -4
  446. package/esm/index.js +31 -30
  447. package/esm/label/label-adapter.d.ts +2 -0
  448. package/esm/label/label-adapter.js +5 -2
  449. package/esm/label/label-aware.js +2 -1
  450. package/esm/label/label-constants.d.ts +6 -2
  451. package/esm/label/label-constants.js +12 -5
  452. package/esm/label/label-foundation.d.ts +16 -0
  453. package/esm/label/label-foundation.js +73 -8
  454. package/esm/label/label.d.ts +8 -0
  455. package/esm/label/label.js +21 -3
  456. package/esm/linear-progress/linear-progress-adapter.d.ts +2 -2
  457. package/esm/linear-progress/linear-progress-adapter.js +14 -6
  458. package/esm/linear-progress/linear-progress-constants.d.ts +0 -1
  459. package/esm/linear-progress/linear-progress-constants.js +1 -2
  460. package/esm/linear-progress/linear-progress-foundation.d.ts +1 -1
  461. package/esm/linear-progress/linear-progress-foundation.js +2 -2
  462. package/esm/linear-progress/linear-progress.d.ts +1 -1
  463. package/esm/linear-progress/linear-progress.js +5 -7
  464. package/esm/list/list-item/list-item.js +2 -2
  465. package/esm/menu/menu-adapter.d.ts +3 -3
  466. package/esm/menu/menu-constants.d.ts +1 -1
  467. package/esm/menu/menu-constants.js +1 -1
  468. package/esm/menu/menu-foundation.d.ts +1 -0
  469. package/esm/menu/menu-foundation.js +11 -4
  470. package/esm/paginator/paginator-constants.d.ts +9 -0
  471. package/esm/paginator/paginator-foundation.d.ts +5 -2
  472. package/esm/paginator/paginator-foundation.js +29 -8
  473. package/esm/paginator/paginator.d.ts +3 -1
  474. package/esm/paginator/paginator.js +3 -0
  475. package/esm/profile-card/profile-card-adapter.d.ts +5 -8
  476. package/esm/profile-card/profile-card-adapter.js +5 -16
  477. package/esm/profile-card/profile-card-constants.js +3 -3
  478. package/esm/profile-card/profile-card-foundation.d.ts +4 -1
  479. package/esm/profile-card/profile-card-foundation.js +24 -13
  480. package/esm/profile-card/profile-card.d.ts +1 -2
  481. package/esm/profile-card/profile-card.js +11 -8
  482. package/esm/radio/core/radio-group-manager.d.ts +83 -0
  483. package/esm/radio/core/radio-group-manager.js +201 -0
  484. package/esm/radio/index.d.ts +1 -2
  485. package/esm/radio/index.js +1 -6
  486. package/esm/radio/radio/index.d.ts +10 -0
  487. package/esm/radio/radio/index.js +14 -0
  488. package/esm/radio/radio/radio-adapter.d.ts +41 -0
  489. package/esm/radio/radio/radio-adapter.js +81 -0
  490. package/esm/radio/radio/radio-component-delegate.d.ts +5 -0
  491. package/esm/radio/radio/radio-component-delegate.js +6 -0
  492. package/esm/radio/radio/radio-constants.d.ts +39 -0
  493. package/esm/radio/radio/radio-constants.js +53 -0
  494. package/esm/radio/radio/radio-foundation.d.ts +70 -0
  495. package/esm/radio/radio/radio-foundation.js +199 -0
  496. package/esm/radio/radio/radio.d.ts +110 -0
  497. package/esm/radio/radio/radio.js +202 -0
  498. package/esm/radio/radio-group/index.d.ts +10 -0
  499. package/esm/radio/radio-group/index.js +14 -0
  500. package/esm/radio/radio-group/radio-group-adapter.d.ts +18 -0
  501. package/esm/radio/radio-group/radio-group-adapter.js +28 -0
  502. package/esm/radio/radio-group/radio-group-constants.d.ts +13 -0
  503. package/esm/radio/radio-group/radio-group-constants.js +19 -0
  504. package/esm/radio/radio-group/radio-group-foundation.d.ts +20 -0
  505. package/esm/radio/radio-group/radio-group-foundation.js +32 -0
  506. package/esm/radio/radio-group/radio-group.d.ts +44 -0
  507. package/esm/radio/radio-group/radio-group.js +81 -0
  508. package/esm/slider/slider.js +1 -1
  509. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  510. package/esm/switch/switch.js +1 -1
  511. package/esm/tabs/tab/tab.js +1 -1
  512. package/esm/toolbar/toolbar.js +1 -1
  513. package/package.json +1 -2
  514. package/styles/app-bar/app-bar/_configuration.scss +16 -0
  515. package/styles/app-bar/app-bar/_core.scss +99 -0
  516. package/styles/app-bar/app-bar/_token-utils.scss +30 -0
  517. package/styles/app-bar/app-bar/app-bar.scss +156 -0
  518. package/styles/app-bar/app-bar/index.scss +8 -0
  519. package/styles/app-bar/search/_configuration.scss +10 -0
  520. package/styles/app-bar/search/_core.scss +73 -0
  521. package/styles/app-bar/search/_token-utils.scss +30 -0
  522. package/styles/app-bar/search/app-bar-search.scss +51 -4
  523. package/styles/app-bar/search/index.scss +8 -0
  524. package/styles/button/button.scss +27 -5
  525. package/styles/circular-progress/_core.scss +2 -0
  526. package/styles/circular-progress/circular-progress.scss +2 -2
  527. package/styles/core/styles/elevation/index.scss +10 -0
  528. package/styles/core/styles/spacing/index.scss +1 -1
  529. package/styles/core/styles/theme/index.scss +2 -0
  530. package/styles/core/styles/tokens/app-bar/app-bar/_tokens.scss +35 -0
  531. package/styles/core/styles/tokens/app-bar/search/_tokens.scss +35 -0
  532. package/styles/core/styles/tokens/circular-progress/_tokens.scss +2 -1
  533. package/styles/core/styles/tokens/floating-action-button/_tokens.scss +66 -0
  534. package/styles/core/styles/tokens/icon-button/_tokens.scss +1 -1
  535. package/styles/core/styles/tokens/profile-card/_tokens.scss +19 -0
  536. package/styles/core/styles/tokens/radio/_tokens.scss +66 -0
  537. package/styles/core/styles/tokens/shape/_tokens.scss +6 -0
  538. package/styles/core/styles/tokens/spacing/_tokens.scss +2 -0
  539. package/styles/core/styles/tokens/theme/_token-utils.scss +2 -2
  540. package/styles/core/styles/tokens/theme/_tokens.brand.scss +22 -0
  541. package/styles/core/styles/tokens/theme/_tokens.scss +3 -0
  542. package/styles/floating-action-button/_configuration.scss +16 -0
  543. package/styles/floating-action-button/_core.scss +103 -0
  544. package/styles/floating-action-button/_token-utils.scss +30 -0
  545. package/styles/floating-action-button/floating-action-button.scss +129 -0
  546. package/styles/floating-action-button/index.scss +8 -0
  547. package/styles/focus-indicator/focus-indicator.scss +11 -28
  548. package/styles/forge.scss +0 -1
  549. package/styles/icon-button/_core.scss +0 -4
  550. package/styles/icon-button/icon-button.scss +45 -11
  551. package/styles/label/_core.scss +2 -5
  552. package/styles/label/label.scss +1 -5
  553. package/styles/list/list-item/list-item.scss +2 -0
  554. package/styles/profile-card/_configuration.scss +10 -0
  555. package/styles/profile-card/_core.scss +58 -0
  556. package/styles/profile-card/_token-utils.scss +30 -0
  557. package/styles/profile-card/index.scss +8 -0
  558. package/styles/profile-card/profile-card.scss +55 -6
  559. package/styles/radio/index.scss +6 -0
  560. package/styles/radio/radio/_configuration.scss +10 -0
  561. package/styles/radio/radio/_core.scss +123 -0
  562. package/styles/radio/radio/_token-utils.scss +30 -0
  563. package/styles/radio/radio/index.scss +8 -0
  564. package/styles/radio/radio/radio.scss +102 -0
  565. package/styles/switch/_core.scss +6 -0
  566. package/styles/theme/_theme-dark.scss +0 -3
  567. package/styles/toolbar/_mixins.scss +0 -1
  568. package/dist/esm/chunks/chunk.2MSL7CYM.js +0 -7
  569. package/dist/esm/chunks/chunk.2ZU6LWHE.js +0 -7
  570. package/dist/esm/chunks/chunk.36C6SIPW.js +0 -7
  571. package/dist/esm/chunks/chunk.36F2GVWS.js +0 -7
  572. package/dist/esm/chunks/chunk.36F2GVWS.js.map +0 -7
  573. package/dist/esm/chunks/chunk.3HCYRDRI.js +0 -7
  574. package/dist/esm/chunks/chunk.3R4BUIQP.js +0 -7
  575. package/dist/esm/chunks/chunk.3ZPSN2QG.js +0 -7
  576. package/dist/esm/chunks/chunk.4SPEX2GJ.js +0 -7
  577. package/dist/esm/chunks/chunk.4SPEX2GJ.js.map +0 -7
  578. package/dist/esm/chunks/chunk.4YFJVHXN.js +0 -7
  579. package/dist/esm/chunks/chunk.4YFJVHXN.js.map +0 -7
  580. package/dist/esm/chunks/chunk.5A2PA7TL.js +0 -7
  581. package/dist/esm/chunks/chunk.5A2PA7TL.js.map +0 -7
  582. package/dist/esm/chunks/chunk.5CSXPRL3.js +0 -7
  583. package/dist/esm/chunks/chunk.5CSXPRL3.js.map +0 -7
  584. package/dist/esm/chunks/chunk.5LVZVQXB.js +0 -7
  585. package/dist/esm/chunks/chunk.5LVZVQXB.js.map +0 -7
  586. package/dist/esm/chunks/chunk.5N4N6DL6.js +0 -7
  587. package/dist/esm/chunks/chunk.5PG6WIIX.js +0 -7
  588. package/dist/esm/chunks/chunk.5RM65QPN.js +0 -7
  589. package/dist/esm/chunks/chunk.5WMYF27O.js +0 -7
  590. package/dist/esm/chunks/chunk.6M27ERWW.js +0 -12
  591. package/dist/esm/chunks/chunk.6M27ERWW.js.map +0 -7
  592. package/dist/esm/chunks/chunk.6NTYTHAL.js +0 -7
  593. package/dist/esm/chunks/chunk.6NTYTHAL.js.map +0 -7
  594. package/dist/esm/chunks/chunk.6ZNBFKNP.js +0 -7
  595. package/dist/esm/chunks/chunk.6ZNBFKNP.js.map +0 -7
  596. package/dist/esm/chunks/chunk.72JVXGHF.js +0 -7
  597. package/dist/esm/chunks/chunk.7V4BDSA5.js +0 -7
  598. package/dist/esm/chunks/chunk.7VMJLHQY.js +0 -7
  599. package/dist/esm/chunks/chunk.7ZROQ6D3.js +0 -7
  600. package/dist/esm/chunks/chunk.AMLT6XJP.js +0 -7
  601. package/dist/esm/chunks/chunk.AMZZKEAE.js +0 -7
  602. package/dist/esm/chunks/chunk.APPY5AYL.js +0 -7
  603. package/dist/esm/chunks/chunk.APPY5AYL.js.map +0 -7
  604. package/dist/esm/chunks/chunk.ARQMMZJL.js +0 -7
  605. package/dist/esm/chunks/chunk.AUBOJZQ7.js +0 -7
  606. package/dist/esm/chunks/chunk.AUCBR6CC.js +0 -7
  607. package/dist/esm/chunks/chunk.AUCBR6CC.js.map +0 -7
  608. package/dist/esm/chunks/chunk.BQ2X5SBP.js +0 -7
  609. package/dist/esm/chunks/chunk.BTXY3XMJ.js +0 -7
  610. package/dist/esm/chunks/chunk.DTLZOIUQ.js +0 -7
  611. package/dist/esm/chunks/chunk.EJX6RI4I.js +0 -7
  612. package/dist/esm/chunks/chunk.EJX6RI4I.js.map +0 -7
  613. package/dist/esm/chunks/chunk.EWK76SPH.js +0 -7
  614. package/dist/esm/chunks/chunk.EWK76SPH.js.map +0 -7
  615. package/dist/esm/chunks/chunk.FAXYCG55.js +0 -7
  616. package/dist/esm/chunks/chunk.FAXYCG55.js.map +0 -7
  617. package/dist/esm/chunks/chunk.FFHSUJFM.js +0 -7
  618. package/dist/esm/chunks/chunk.FFHSUJFM.js.map +0 -7
  619. package/dist/esm/chunks/chunk.FYVDTZLF.js +0 -7
  620. package/dist/esm/chunks/chunk.G7SMCLHQ.js +0 -7
  621. package/dist/esm/chunks/chunk.HAKF2T2D.js +0 -7
  622. package/dist/esm/chunks/chunk.HDG2GHKC.js +0 -7
  623. package/dist/esm/chunks/chunk.HOLCNJXC.js +0 -7
  624. package/dist/esm/chunks/chunk.HSI7B43D.js +0 -7
  625. package/dist/esm/chunks/chunk.HSI7B43D.js.map +0 -7
  626. package/dist/esm/chunks/chunk.IAWYYNUU.js +0 -7
  627. package/dist/esm/chunks/chunk.IDMDBMBR.js +0 -7
  628. package/dist/esm/chunks/chunk.IHAHJPMB.js +0 -7
  629. package/dist/esm/chunks/chunk.IISWKFCX.js +0 -7
  630. package/dist/esm/chunks/chunk.IMLJD35R.js +0 -7
  631. package/dist/esm/chunks/chunk.IT7XPDAV.js +0 -7
  632. package/dist/esm/chunks/chunk.JAWV5Y5T.js +0 -7
  633. package/dist/esm/chunks/chunk.JVLJH6PR.js +0 -7
  634. package/dist/esm/chunks/chunk.KPJWP77R.js +0 -7
  635. package/dist/esm/chunks/chunk.KV5IKYG2.js +0 -7
  636. package/dist/esm/chunks/chunk.LCR4YH3O.js +0 -7
  637. package/dist/esm/chunks/chunk.LOG6GQOK.js +0 -7
  638. package/dist/esm/chunks/chunk.LUIKMPQR.js +0 -7
  639. package/dist/esm/chunks/chunk.LUIKMPQR.js.map +0 -7
  640. package/dist/esm/chunks/chunk.LUNKNRRH.js +0 -7
  641. package/dist/esm/chunks/chunk.LUNKNRRH.js.map +0 -7
  642. package/dist/esm/chunks/chunk.MWYQRG5W.js +0 -7
  643. package/dist/esm/chunks/chunk.NUMKGUCK.js +0 -7
  644. package/dist/esm/chunks/chunk.O6V3YNMO.js +0 -7
  645. package/dist/esm/chunks/chunk.O6V3YNMO.js.map +0 -7
  646. package/dist/esm/chunks/chunk.OWZREAT6.js +0 -15
  647. package/dist/esm/chunks/chunk.OWZREAT6.js.map +0 -7
  648. package/dist/esm/chunks/chunk.PMYQY3D3.js +0 -7
  649. package/dist/esm/chunks/chunk.PMYQY3D3.js.map +0 -7
  650. package/dist/esm/chunks/chunk.PYR2OCCH.js +0 -7
  651. package/dist/esm/chunks/chunk.QJCNMYD3.js +0 -7
  652. package/dist/esm/chunks/chunk.QLCVRJ3Q.js +0 -7
  653. package/dist/esm/chunks/chunk.QN5T26HH.js +0 -7
  654. package/dist/esm/chunks/chunk.QQRPV4RN.js +0 -7
  655. package/dist/esm/chunks/chunk.R6LQBI42.js +0 -177
  656. package/dist/esm/chunks/chunk.RES7WDKH.js +0 -7
  657. package/dist/esm/chunks/chunk.RP674CRC.js +0 -7
  658. package/dist/esm/chunks/chunk.S5QL4SPT.js +0 -7
  659. package/dist/esm/chunks/chunk.S5QL4SPT.js.map +0 -7
  660. package/dist/esm/chunks/chunk.SIRXAA3O.js +0 -7
  661. package/dist/esm/chunks/chunk.SLJ6HDK7.js +0 -7
  662. package/dist/esm/chunks/chunk.STB2FEUA.js +0 -7
  663. package/dist/esm/chunks/chunk.TBGMJQYJ.js +0 -7
  664. package/dist/esm/chunks/chunk.TU74SREL.js +0 -7
  665. package/dist/esm/chunks/chunk.URJQNB3S.js +0 -7
  666. package/dist/esm/chunks/chunk.V24M62MC.js +0 -7
  667. package/dist/esm/chunks/chunk.VFKHRAWD.js +0 -7
  668. package/dist/esm/chunks/chunk.VO6YJCEU.js +0 -7
  669. package/dist/esm/chunks/chunk.WMVYRDUJ.js +0 -7
  670. package/dist/esm/chunks/chunk.WMVYRDUJ.js.map +0 -7
  671. package/dist/esm/chunks/chunk.WY3E33CW.js +0 -7
  672. package/dist/esm/chunks/chunk.XLL7L2UB.js +0 -7
  673. package/dist/esm/chunks/chunk.XLL7L2UB.js.map +0 -7
  674. package/dist/esm/chunks/chunk.XNFS7YIB.js +0 -7
  675. package/dist/esm/chunks/chunk.XYAZVLPR.js +0 -7
  676. package/dist/esm/chunks/chunk.YAERJVPL.js +0 -7
  677. package/dist/esm/chunks/chunk.YBZK6LJZ.js +0 -7
  678. package/dist/esm/chunks/chunk.YKIBREM5.js +0 -7
  679. package/dist/esm/chunks/chunk.YWAUEUAH.js +0 -7
  680. package/dist/esm/chunks/chunk.YWAUEUAH.js.map +0 -7
  681. package/dist/esm/chunks/chunk.Z5ZLKM7W.js +0 -7
  682. package/dist/esm/chunks/chunk.Z5ZLKM7W.js.map +0 -7
  683. package/dist/esm/chunks/chunk.ZGRQDDHO.js +0 -7
  684. package/dist/esm/chunks/chunk.ZKM667OT.js +0 -7
  685. package/dist/esm/chunks/chunk.ZKM667OT.js.map +0 -7
  686. package/dist/floating-action-button/forge-floating-action-button.css +0 -6
  687. package/esm/app-bar/app-bar-adapter.d.ts +0 -43
  688. package/esm/app-bar/app-bar-adapter.js +0 -60
  689. package/esm/app-bar/app-bar-constants.js +0 -37
  690. package/esm/app-bar/app-bar-foundation.js +0 -70
  691. package/esm/app-bar/app-bar.d.ts +0 -38
  692. package/esm/app-bar/app-bar.js +0 -75
  693. package/esm/radio/radio-adapter.d.ts +0 -71
  694. package/esm/radio/radio-adapter.js +0 -260
  695. package/esm/radio/radio-constants.d.ts +0 -30
  696. package/esm/radio/radio-constants.js +0 -36
  697. package/esm/radio/radio-foundation.d.ts +0 -31
  698. package/esm/radio/radio-foundation.js +0 -80
  699. package/esm/radio/radio.d.ts +0 -33
  700. package/esm/radio/radio.js +0 -75
  701. package/styles/app-bar/_mixins.scss +0 -254
  702. package/styles/app-bar/_variables.scss +0 -34
  703. package/styles/app-bar/app-bar.scss +0 -22
  704. package/styles/app-bar/search/_mixins.scss +0 -238
  705. package/styles/app-bar/search/_variables.scss +0 -18
  706. package/styles/floating-action-button/_extended-fab-theme.scss +0 -238
  707. package/styles/floating-action-button/_fab-custom-properties.scss +0 -29
  708. package/styles/floating-action-button/_fab-theme.scss +0 -541
  709. package/styles/floating-action-button/_fab.mixins.scss +0 -351
  710. package/styles/floating-action-button/forge-floating-action-button.scss +0 -16
  711. package/styles/profile-card/_mixins.scss +0 -83
  712. package/styles/radio/_mixins.scss +0 -309
  713. package/styles/radio/_radio-theme.scss +0 -314
  714. package/styles/radio/radio.scss +0 -19
  715. /package/dist/esm/{chunks/chunk.U6FJJGO3.js.map → app-bar/app-bar/index.js.map} +0 -0
  716. /package/dist/esm/chunks/{chunk.MKJCHUJH.js.map → chunk.42YDA5FH.js.map} +0 -0
  717. /package/dist/esm/chunks/{chunk.G73KL7P2.js.map → chunk.5EGEZ4IY.js.map} +0 -0
  718. /package/dist/esm/chunks/{chunk.W2LN45WY.js.map → chunk.AR6YUJUH.js.map} +0 -0
  719. /package/dist/esm/chunks/{chunk.KPJWP77R.js.map → chunk.BAQYPAUM.js.map} +0 -0
  720. /package/dist/esm/chunks/{chunk.BB4UF5RX.js.map → chunk.BC7WB5RG.js.map} +0 -0
  721. /package/dist/esm/chunks/{chunk.KV67JXOC.js.map → chunk.EMCY55MX.js.map} +0 -0
  722. /package/dist/esm/chunks/{chunk.FXIWCHLW.js.map → chunk.I7X25KEB.js.map} +0 -0
  723. /package/dist/esm/chunks/{chunk.RP674CRC.js.map → chunk.IHIKIZIT.js.map} +0 -0
  724. /package/dist/esm/chunks/{chunk.ZRSDTCSD.js.map → chunk.JHELTQKA.js.map} +0 -0
  725. /package/dist/esm/chunks/{chunk.GNDKQPDV.js.map → chunk.JPI4XCQL.js.map} +0 -0
  726. /package/dist/esm/chunks/{chunk.FLWNOP42.js.map → chunk.KDJZN6EW.js.map} +0 -0
  727. /package/dist/esm/chunks/{chunk.675V42JS.js.map → chunk.KWBYYSH3.js.map} +0 -0
  728. /package/dist/esm/chunks/{chunk.XEFWZKHQ.js.map → chunk.L45HXBDS.js.map} +0 -0
  729. /package/dist/esm/chunks/{chunk.HRRJIFC5.js.map → chunk.MHH26REX.js.map} +0 -0
  730. /package/dist/esm/chunks/{chunk.YKIBREM5.js.map → chunk.MTSWCXTY.js.map} +0 -0
  731. /package/dist/esm/chunks/{chunk.YBZK6LJZ.js.map → chunk.NBLL7VAA.js.map} +0 -0
  732. /package/dist/esm/chunks/{chunk.XYAZVLPR.js.map → chunk.O6MGA3XK.js.map} +0 -0
  733. /package/dist/esm/chunks/{chunk.PADPL4L3.js.map → chunk.OUIWXKO2.js.map} +0 -0
  734. /package/dist/esm/chunks/{chunk.GHR7T6U2.js.map → chunk.U7S4DJTU.js.map} +0 -0
  735. /package/dist/esm/chunks/{chunk.Z5RROENA.js.map → chunk.URKQICJD.js.map} +0 -0
  736. /package/dist/esm/chunks/{chunk.QLOYOZN3.js.map → chunk.WMP2OLMG.js.map} +0 -0
  737. /package/dist/esm/chunks/{chunk.KVCDAZ6B.js.map → chunk.YTBNAGLS.js.map} +0 -0
  738. /package/dist/esm/chunks/{chunk.BBCZNGT3.js.map → chunk.ZX3CGET2.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/slider/slider-constants.ts", "../../src/slider/slider-utils.ts", "../../src/slider/slider-adapter.ts", "../../src/slider/slider-foundation.ts", "../../src/slider/slider.ts", "../../src/slider/slider-component-delegate.ts", "../../src/slider/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}slider`;\n\nconst attributes = {\n ARIA_LABEL: 'data-aria-label',\n ARIA_LABEL_START: 'data-aria-label-start',\n ARIA_LABEL_END: 'data-aria-label-end',\n VALUE: 'value',\n VALUE_START: 'value-start',\n VALUE_END: 'value-end',\n LABEL: 'label',\n LABEL_START: 'label-start',\n LABEL_END: 'label-end',\n MIN: 'min',\n MAX: 'max',\n STEP: 'step',\n TICKMARKS: 'tickmarks',\n LABELED: 'labeled',\n RANGE: 'range',\n DISABLED: 'disabled',\n READONLY: 'readonly'\n};\n\nconst selectors = {\n ROOT: '.forge-slider',\n TRACK: '.track',\n HANDLE_CONTAINER: '.handle-container',\n START_INPUT: 'input.start',\n END_INPUT: 'input.end',\n START_HANDLE: '.handle.start',\n START_HANDLE_THUMB: '.handle.start .handle-thumb',\n END_HANDLE: '.handle.end',\n END_HANDLE_THUMB: '.handle.end .handle-thumb',\n START_LABEL: '.handle.start .handle-label',\n START_LABEL_CONTENT: '.handle.start .handle-label-content',\n END_LABEL: '.handle.end .handle-label',\n END_LABEL_CONTENT: '.handle.end .handle-label-content',\n LABEL: '.handle-label',\n INPUT: 'input[type=range]'\n};\n\nconst classes = {\n RANGE: 'range',\n TICKMARKS: 'tickmarks',\n ON_TOP: 'on-top',\n OVERLAPPING: 'overlapping',\n HOVER: 'hover',\n HANDLE: 'handle',\n HANDLE_THUMB: 'handle-thumb',\n HANDLE_START: 'start',\n HANDLE_LABEL: 'handle-label',\n LABEL: 'handle-label',\n LABEL_CONTENT: 'handle-label-content'\n};\n\nconst events = {\n INPUT: 'forge-slider-input',\n CHANGE: 'forge-slider-change'\n};\n\nconst cssCustomProperties = {\n START_FRACTION: '--_slider-start-fraction',\n END_FRACTION: '--_slider-end-fraction',\n TICK_COUNT: '--_slider-tick-count'\n};\n\nconst numbers = {\n DEFAULT_STEP: 1,\n DEFAULT_VALUE: 50,\n DEFAULT_START_VALUE: 33,\n DEFAULT_END_VALUE: 67\n};\n\nexport const SLIDER_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n classes,\n events,\n numbers,\n cssCustomProperties\n};\n\nexport interface ISliderRangeEventData {\n valueStart: number;\n valueEnd: number;\n}\n\nexport type SliderLabelBuilder = (value: number, which?: 'start' | 'end') => string;\n", "import { ISliderComponent } from '../slider';\nimport { SLIDER_CONSTANTS } from './slider-constants';\n\nexport function createStartInputElement(component: ISliderComponent): HTMLInputElement {\n const startInput = document.createElement('input');\n startInput.type = 'range';\n startInput.id = 'start';\n startInput.min = String(component.min);\n startInput.max = String(component.max);\n startInput.step = String(component.step);\n startInput.valueAsNumber = component.valueStart;\n startInput.disabled = component.disabled;\n startInput.classList.add('start');\n \n if (component.hasAttribute(SLIDER_CONSTANTS.attributes.ARIA_LABEL_START)) {\n startInput.setAttribute('aria-label', component.getAttribute(SLIDER_CONSTANTS.attributes.ARIA_LABEL_START) as string);\n }\n startInput.setAttribute('aria-valuetext', String(component.valueStart));\n\n return startInput;\n}\n\nexport function createStartHandleElement(thumbLabel: string): HTMLElement {\n const startHandle = document.createElement('div');\n startHandle.classList.add(SLIDER_CONSTANTS.classes.HANDLE, SLIDER_CONSTANTS.classes.HANDLE_START);\n startHandle.setAttribute('part', 'handle-start');\n\n const startHandleStateLayer = document.createElement('forge-state-layer');\n startHandleStateLayer.target = 'start';\n startHandle.appendChild(startHandleStateLayer);\n\n const startHandleFocusIndicator = document.createElement('forge-focus-indicator');\n startHandleFocusIndicator.target = 'start';\n startHandle.appendChild(startHandleFocusIndicator);\n \n const startHandleThumb = document.createElement('div');\n startHandleThumb.classList.add(SLIDER_CONSTANTS.classes.HANDLE_THUMB);\n startHandleThumb.setAttribute('part', 'handle-start-thumb');\n startHandle.appendChild(startHandleThumb);\n \n const startHandleLabel = document.createElement('div');\n startHandleLabel.classList.add(SLIDER_CONSTANTS.classes.HANDLE_LABEL);\n startHandleLabel.setAttribute('part', 'handle-start-label');\n startHandle.appendChild(startHandleLabel);\n\n const startHandleLabelContent = document.createElement('span');\n startHandleLabelContent.textContent = thumbLabel;\n startHandleLabelContent.classList.add(SLIDER_CONSTANTS.classes.LABEL_CONTENT);\n startHandleLabelContent.setAttribute('part', 'handle-start-label-content');\n startHandleLabel.appendChild(startHandleLabelContent);\n \n return startHandle;\n}\n\nexport function createLabel(text: string): HTMLElement {\n const labelElement = document.createElement('div');\n labelElement.classList.add(SLIDER_CONSTANTS.classes.LABEL);\n\n const labelContentElement = document.createElement('span');\n labelContentElement.textContent = text;\n labelContentElement.classList.add(SLIDER_CONSTANTS.classes.LABEL_CONTENT);\n labelElement.appendChild(labelContentElement);\n\n return labelElement;\n}\n", "import { getShadowElement, toggleAttribute, toggleClass } from '@tylertech/forge-core';\nimport { internals } from '../constants';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { elementsOverlapping, isPointerOverElement } from '../core/utils/utils';\nimport { ISliderComponent } from '../slider';\nimport { IStateLayerComponent, STATE_LAYER_CONSTANTS } from '../state-layer';\nimport { SLIDER_CONSTANTS } from './slider-constants';\nimport { createLabel, createStartHandleElement, createStartInputElement } from './slider-utils';\n\nexport interface ISliderState {\n startFraction: number;\n endFraction: number;\n tickCount: number;\n}\n\nexport interface ISliderAdapter extends IBaseAdapter {\n addInputListener(type: keyof HTMLElementEventMap, listener: EventListener): void;\n update(state: ISliderState): void;\n updateLabels(labelStart: string, labelEnd: string): void;\n updateHandleLayering(): void;\n tryHoverStartHandle(coords: { x: number; y: number }): void;\n tryHoverEndHandle(coords: { x: number; y: number }): void;\n tryDetectOverlap(): void;\n leaveHandleContainer(): void;\n syncInputValues(valueStart: number, valueEnd: number): void;\n setRange(value: boolean): void;\n setTickmarks(value: boolean): void;\n setStep(step: number): void;\n setMin(value: number): void;\n setMax(value: number): void;\n setDisabled(value: boolean): void;\n setReadonly(value: boolean): void;\n toggleLabels(value: boolean): void;\n setStartAriaLabel(value: string | null): void;\n setEndAriaLabel(value: string | null): void;\n}\n\nexport class SliderAdapter extends BaseAdapter<ISliderComponent> implements ISliderAdapter {\n private readonly _rootElement: HTMLElement;\n private readonly _trackElement: HTMLElement;\n private readonly _handleContainerElement: HTMLElement;\n private readonly _endInputElement: HTMLInputElement;\n private readonly _endHandleElement: HTMLElement;\n private readonly _endHandleThumbElement: HTMLElement;\n private _endLabelContentElement: HTMLElement | undefined;\n private _startInputElement: HTMLInputElement | undefined;\n private _startHandleElement: HTMLElement | undefined;\n private _startHandleThumbElement: HTMLElement | undefined;\n private _startLabelContentElement: HTMLElement | undefined;\n\n constructor(component: ISliderComponent) {\n super(component);\n\n this._rootElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.ROOT);\n this._trackElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.TRACK);\n this._handleContainerElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.HANDLE_CONTAINER);\n this._endInputElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.END_INPUT) as HTMLInputElement;\n this._endHandleElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.END_HANDLE);\n this._endHandleThumbElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.END_HANDLE_THUMB);\n this._endLabelContentElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.END_LABEL_CONTENT);\n }\n\n public addInputListener(type: keyof HTMLElementEventMap, listener: EventListener): void {\n const inputs = this._getInputs();\n inputs.forEach(input => input.addEventListener(type, listener));\n }\n\n public update({ startFraction, endFraction, tickCount }: ISliderState): void {\n this._rootElement.style.setProperty(SLIDER_CONSTANTS.cssCustomProperties.START_FRACTION, String(startFraction));\n this._rootElement.style.setProperty(SLIDER_CONSTANTS.cssCustomProperties.END_FRACTION, String(endFraction));\n this._rootElement.style.setProperty(SLIDER_CONSTANTS.cssCustomProperties.TICK_COUNT, String(tickCount));\n }\n\n public updateLabels(labelStart: string, labelEnd: string): void {\n if (this._startLabelContentElement) {\n this._startLabelContentElement.textContent = labelStart;\n }\n \n if (this._endLabelContentElement) {\n this._endLabelContentElement.textContent = labelEnd;\n }\n\n this._startInputElement?.setAttribute('aria-valuetext', labelStart);\n this._endInputElement.setAttribute('aria-valuetext', labelEnd);\n }\n\n public updateHandleLayering(): void {\n const isEndFocused = this._endInputElement.matches(':focus');\n if (this._startHandleElement) {\n toggleClass(this._startHandleElement, !isEndFocused, SLIDER_CONSTANTS.classes.ON_TOP);\n }\n toggleClass(this._endHandleElement, isEndFocused, SLIDER_CONSTANTS.classes.ON_TOP);\n }\n\n public tryHoverStartHandle(coords: { x: number; y: number }): void {\n if (this._startHandleThumbElement && isPointerOverElement(coords, this._startHandleThumbElement)) {\n this._handleContainerElement.classList.add(SLIDER_CONSTANTS.classes.HOVER);\n this._startHandleElement?.classList.add(SLIDER_CONSTANTS.classes.HOVER);\n } else if (!this._startInputElement?.matches(':focus')) {\n this._handleContainerElement.classList.remove(SLIDER_CONSTANTS.classes.HOVER);\n this._startHandleElement?.classList.remove(SLIDER_CONSTANTS.classes.HOVER);\n }\n }\n\n public tryHoverEndHandle(coords: { x: number; y: number }): void {\n if (isPointerOverElement(coords, this._endHandleThumbElement)) {\n this._handleContainerElement.classList.add(SLIDER_CONSTANTS.classes.HOVER);\n this._endHandleElement.classList.add(SLIDER_CONSTANTS.classes.HOVER);\n } else if (!this._endInputElement.matches(':focus')) {\n this._handleContainerElement.classList.remove(SLIDER_CONSTANTS.classes.HOVER);\n this._endHandleElement.classList.remove(SLIDER_CONSTANTS.classes.HOVER);\n }\n }\n\n public tryDetectOverlap(): void {\n if (this._startHandleElement) {\n const isOverlapping = elementsOverlapping(this._startHandleElement, this._endHandleElement);\n toggleClass(this._endHandleElement, isOverlapping, SLIDER_CONSTANTS.classes.OVERLAPPING);\n toggleClass(this._startHandleElement, isOverlapping, SLIDER_CONSTANTS.classes.OVERLAPPING);\n }\n }\n\n public leaveHandleContainer(): void {\n this._handleContainerElement.classList.remove(SLIDER_CONSTANTS.classes.HOVER);\n }\n\n public syncInputValues(valueStart: number, valueEnd: number): void {\n if (this._startInputElement) {\n this._startInputElement.valueAsNumber = valueStart;\n }\n this._endInputElement.valueAsNumber = valueEnd;\n\n if (this._startInputElement) {\n const data = new FormData();\n data.append(this._component.nameStart, String(valueStart));\n data.append(this._component.nameEnd, String(valueEnd));\n this._component[internals].setFormValue(data);\n } else {\n this._component[internals].setFormValue(String(valueEnd));\n }\n }\n\n public setRange(value: boolean): void {\n this._rootElement.classList.toggle(SLIDER_CONSTANTS.classes.RANGE, value);\n\n if (value) {\n // Create start input\n this._startInputElement = createStartInputElement(this._component);\n this._rootElement.insertAdjacentElement('afterbegin', this._startInputElement);\n\n // Ensure the end input is updated to the valueEnd property value now that we are in range mode\n this._endInputElement.valueAsNumber = this._component.valueEnd;\n\n // Create start handle\n const thumbLabel = this._startInputElement.value;\n this._startHandleElement = createStartHandleElement(thumbLabel);\n this._handleContainerElement.insertAdjacentElement('afterbegin', this._startHandleElement);\n this._startHandleThumbElement = getShadowElement(this._component, SLIDER_CONSTANTS.selectors.START_HANDLE_THUMB);\n this._startLabelContentElement = getShadowElement(this._component, SLIDER_CONSTANTS.selectors.START_LABEL_CONTENT);\n } else {\n this._startInputElement?.remove();\n this._startHandleElement?.remove();\n\n this._startInputElement = undefined;\n this._startHandleElement = undefined;\n this._startHandleThumbElement = undefined;\n this._startLabelContentElement = undefined;\n }\n }\n\n public setTickmarks(value: boolean): void {\n this._trackElement.classList.toggle(SLIDER_CONSTANTS.classes.TICKMARKS, value);\n }\n\n public setStep(step: number): void {\n const inputs = this._getInputs();\n inputs.forEach(input => input.step = String(step));\n }\n\n public setMin(value: number): void {\n const inputs = this._getInputs();\n inputs.forEach(input => input.min = String(value));\n }\n\n public setMax(value: number): void {\n const inputs = this._getInputs();\n inputs.forEach(input => input.max = String(value));\n }\n\n public setDisabled(value: boolean): void {\n const inputs = this._getInputs();\n inputs.forEach(input => input.disabled = value);\n\n const stateLayers = this._rootElement.querySelectorAll(STATE_LAYER_CONSTANTS.elementName) as NodeListOf<IStateLayerComponent>;\n stateLayers.forEach(sl => sl.disabled = value);\n }\n\n public setReadonly(value: boolean): void {\n const inputs = this._getInputs();\n inputs.forEach(input => input.readOnly = value);\n }\n\n public toggleLabels(value: boolean): void {\n const labels = this._rootElement.querySelectorAll(SLIDER_CONSTANTS.selectors.LABEL);\n labels.forEach(label => label.remove());\n\n this._endLabelContentElement = undefined;\n this._startLabelContentElement = undefined;\n\n if (value) {\n const endLabelEl = createLabel(this._endInputElement.value);\n this._endHandleElement.insertAdjacentElement('beforeend', endLabelEl);\n this._endLabelContentElement = getShadowElement(this._component, SLIDER_CONSTANTS.selectors.END_LABEL_CONTENT);\n \n if (this._startInputElement) {\n const startLabelEl = createLabel(this._startInputElement.value);\n this._startHandleElement?.insertAdjacentElement('beforeend', startLabelEl);\n this._startLabelContentElement = getShadowElement(this._component, SLIDER_CONSTANTS.selectors.START_LABEL_CONTENT);\n }\n }\n }\n\n public setStartAriaLabel(value: string | null): void {\n if (this._startInputElement) {\n toggleAttribute(this._startInputElement, !!value, 'aria-label', value as string);\n }\n }\n\n public setEndAriaLabel(value: string | null): void {\n toggleAttribute(this._endInputElement, !!value, 'aria-label', value as string);\n }\n\n private _getInputs(): HTMLInputElement[] {\n const inputs: HTMLInputElement[] = [];\n if (this._startInputElement) {\n inputs.push(this._startInputElement);\n }\n return [...inputs, this._endInputElement];\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { ISliderAdapter } from './slider-adapter';\nimport { SLIDER_CONSTANTS, SliderLabelBuilder, ISliderRangeEventData } from './slider-constants';\n\nexport interface ISliderFoundation extends ICustomElementFoundation {\n ariaLabel: string | null;\n ariaLabelStart: string | null;\n ariaLabelEnd: string | null;\n value: number;\n valueStart: number;\n valueEnd: number;\n label: string;\n labelStart: string;\n labelEnd: string;\n labelBuilder: SliderLabelBuilder;\n min: number;\n max: number;\n step: number;\n tickmarks: boolean;\n labeled: boolean;\n range: boolean;\n disabled: boolean;\n readonly: boolean;\n}\n\nexport class SliderFoundation implements ISliderFoundation {\n // State\n private _value = SLIDER_CONSTANTS.numbers.DEFAULT_VALUE;\n private _valueStart = SLIDER_CONSTANTS.numbers.DEFAULT_START_VALUE;\n private _valueEnd = SLIDER_CONSTANTS.numbers.DEFAULT_END_VALUE;\n private _labelStart: string;\n private _labelEnd: string;\n private _labelBuilder: SliderLabelBuilder;\n private _min = 0;\n private _max = 100;\n private _step = SLIDER_CONSTANTS.numbers.DEFAULT_STEP;\n private _tickmarks = false;\n private _labeled = true;\n private _range = false;\n private _disabled = false;\n private _readonly = false;\n\n // Listeners\n private readonly _pointerEnterListener: EventListener;\n private readonly _pointerMoveListener: EventListener;\n private readonly _pointerLeaveListener: EventListener;\n private readonly _changeUpdateListener: EventListener;\n private readonly _focusListener: EventListener;\n\n constructor(private readonly _adapter: ISliderAdapter) {\n this._pointerEnterListener = (evt: PointerEvent) => this._handlePointerEnter(evt);\n this._pointerMoveListener = (evt: PointerEvent) => this._handlePointerMove(evt);\n this._pointerLeaveListener = (evt: PointerEvent) => this._handlePointerLeave(evt);\n this._changeUpdateListener = (evt: InputEvent) => this._handleInputUpdate(evt);\n this._focusListener = (evt: FocusEvent) => this._handleFocus(evt);\n }\n\n public initialize(): void {\n this._applyInputListeners();\n this._update();\n }\n\n private _update(): void {\n const {\n value: renderValue,\n valueStart: renderValueStart,\n valueEnd: renderValueEnd\n } = this._clampMinMax();\n const step = this._step <= 0 ? 1 : this._step;\n const range = Math.max(this._max - this._min, step);\n const startFraction = this._range ? ((renderValueStart ?? this._min) - this._min) / range : 0;\n const valueEnd = this._range ? renderValueEnd : renderValue;\n const endFraction = ((valueEnd ?? this.min) - this.min) / range;\n const tickCount = range / step;\n\n this._adapter.update({ startFraction, endFraction, tickCount });\n this._adapter.syncInputValues(renderValueStart, this._range ? renderValueEnd : renderValue);\n\n if (this._range) {\n this._adapter.tryDetectOverlap();\n }\n\n let labelStart = this._labelStart ?? String(renderValueStart);\n let labelEnd = this._labelEnd ?? String(this._range ? renderValueEnd : renderValue);\n\n if (typeof this._labelBuilder === 'function') {\n if (this._range) {\n labelStart = this._labelBuilder(renderValueStart, 'start');\n labelEnd = this._labelBuilder(renderValueEnd, 'end');\n } else {\n labelEnd = this._labelBuilder(renderValue);\n }\n }\n\n this._adapter.updateLabels(labelStart, labelEnd);\n }\n\n private _clampMinMax(): { value: number; valueStart: number; valueEnd: number } {\n // We make copies of our values so we can mutate them without affecting the original values\n let valueCopy = this._value;\n let valueStartCopy = this._valueStart;\n let valueEndCopy = this._valueEnd;\n\n if (this._range) {\n if (valueStartCopy > this._max) {\n valueStartCopy = this._max;\n } else if (valueStartCopy < this._min) {\n valueStartCopy = this._min;\n }\n\n if (valueEndCopy > this._max) {\n valueEndCopy = this._max;\n } else if (valueEndCopy < this._min) {\n valueEndCopy = this._min;\n }\n } else {\n if (valueCopy > this._max) {\n valueCopy = this._max;\n } else if (this._value < this._min) {\n valueCopy = this._min;\n }\n }\n\n return {\n value: valueCopy,\n valueStart: valueStartCopy,\n valueEnd: valueEndCopy\n };\n }\n\n private _applyInputListeners(): void {\n this._adapter.addInputListener('pointerenter', this._pointerEnterListener);\n this._adapter.addInputListener('pointermove', this._pointerMoveListener);\n this._adapter.addInputListener('pointerleave', this._pointerLeaveListener);\n this._adapter.addInputListener('input', this._changeUpdateListener);\n this._adapter.addInputListener('change', this._changeUpdateListener);\n this._adapter.addInputListener('focus', this._focusListener);\n }\n\n private _handlePointerEnter(evt: PointerEvent): void {\n this._handlePointerMove(evt);\n }\n\n private _handlePointerMove({ target, x, y }: PointerEvent): void {\n const isStart = (target as HTMLInputElement).id === 'start';\n if (isStart) {\n this._adapter.tryHoverStartHandle({ x, y });\n } else {\n this._adapter.tryHoverEndHandle({ x, y });\n }\n }\n\n private _handlePointerLeave(_evt: PointerEvent): void {\n this._adapter.leaveHandleContainer();\n }\n\n private _handleInputUpdate(evt: InputEvent): void {\n evt.stopPropagation(); // We don't allow the native input & change events to bubble outside of the component\n\n if (this._disabled || this._readonly) {\n this._adapter.syncInputValues(this._valueStart, this._range ? this._valueEnd : this._value);\n return;\n }\n\n const input = evt.target as HTMLInputElement;\n \n if (this._range) {\n const isStart = input.id === 'start';\n if (isStart) {\n this._valueStart = input.valueAsNumber;\n } else {\n this._valueEnd = input.valueAsNumber;\n }\n\n // Clamp values to keep start and end from going past each other\n if (this._canClamp()) {\n if (isStart) {\n this._valueStart = this._valueEnd;\n } else {\n this._valueEnd = this._valueStart;\n }\n\n // Ensure our underlying inputs are synchronized with our state since they continue moving even when we clamp\n this._adapter.syncInputValues(this._valueStart, this._valueEnd);\n this._update();\n return; // We don't dispatch events when clamping\n }\n } else {\n this._value = input.valueAsNumber;\n }\n\n const type = evt.type === 'change' ? SLIDER_CONSTANTS.events.CHANGE : SLIDER_CONSTANTS.events.INPUT;\n const data: number | ISliderRangeEventData = this._range ? { valueStart: this._valueStart, valueEnd: this._valueEnd } : this._value;\n this._adapter.emitHostEvent(type, data, true);\n this._update();\n }\n\n private _handleFocus(_evt: FocusEvent): void {\n this._adapter.updateHandleLayering();\n }\n\n private _canClamp(): boolean {\n return this._valueStart > this._valueEnd || this._valueEnd < this._valueStart;\n }\n\n public get value(): number {\n return this._value;\n }\n public set value(value: number) {\n if (this._value !== value) {\n this._value = value;\n this._update();\n }\n }\n\n public get valueStart(): number {\n return this._valueStart;\n }\n public set valueStart(value: number) {\n if (this._valueStart !== value) {\n this._valueStart = value;\n this._update();\n }\n }\n\n public get valueEnd(): number {\n return this._valueEnd;\n }\n public set valueEnd(value: number) {\n if (this._valueEnd !== value) {\n this._valueEnd = value;\n this._update();\n }\n }\n\n public get label(): string {\n return this.labelEnd;\n }\n public set label(value: string) {\n this.labelEnd = value;\n }\n\n public get labelStart(): string {\n return this._labelStart;\n }\n public set labelStart(value: string) {\n if (this._labelStart !== value) {\n this._labelStart = value;\n this._adapter.updateLabels(this._labelStart, this._labelEnd);\n }\n }\n\n public get labelEnd(): string {\n return this._labelEnd;\n }\n public set labelEnd(value: string) {\n if (this._labelEnd !== value) {\n this._labelEnd = value;\n this._adapter.updateLabels(this._labelStart, this._labelEnd);\n }\n }\n\n public get labelBuilder(): SliderLabelBuilder {\n return this._labelBuilder;\n }\n public set labelBuilder(cb: SliderLabelBuilder) {\n this._labelBuilder = cb;\n this._update();\n }\n\n public get min(): number {\n return this._min;\n }\n public set min(value: number) {\n if (this._min !== value) {\n this._min = value;\n this._adapter.setMin(this._min);\n this._update();\n this._adapter.setHostAttribute(SLIDER_CONSTANTS.attributes.MIN, String(this._min));\n }\n }\n\n public get max(): number {\n return this._max;\n }\n public set max(value: number) {\n if (this._max !== value) {\n this._max = value;\n this._adapter.setMax(this._max);\n this._update();\n this._adapter.setHostAttribute(SLIDER_CONSTANTS.attributes.MAX, String(this._max));\n }\n }\n\n public get step(): number {\n return this._step;\n }\n public set step(value: number) {\n if (this._step !== value) {\n this._step = value;\n this._adapter.setStep(this._step);\n this._update();\n this._adapter.setHostAttribute(SLIDER_CONSTANTS.attributes.STEP, String(this._step));\n }\n }\n\n public get tickmarks(): boolean {\n return this._tickmarks;\n }\n public set tickmarks(value: boolean) {\n if (this._tickmarks !== value) {\n this._tickmarks = value;\n this._adapter.setTickmarks(this._tickmarks);\n this._adapter.toggleHostAttribute(SLIDER_CONSTANTS.attributes.TICKMARKS, this._tickmarks);\n }\n }\n\n public get labeled(): boolean {\n return this._labeled;\n }\n public set labeled(value: boolean) {\n if (this._labeled !== value) {\n this._labeled = value;\n this._adapter.toggleLabels(this._labeled);\n this._update();\n this._adapter.toggleHostAttribute(SLIDER_CONSTANTS.attributes.LABELED, this._labeled);\n }\n }\n\n public get range(): boolean {\n return this._range;\n }\n public set range(value: boolean) {\n if (this._range !== value) {\n this._range = value;\n this._adapter.setRange(this._range);\n if (this._range) {\n this._applyInputListeners();\n }\n this._update();\n this._adapter.toggleHostAttribute(SLIDER_CONSTANTS.attributes.RANGE, this._range);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(value);\n this._adapter.toggleHostAttribute(SLIDER_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get readonly(): boolean {\n return this._readonly;\n }\n public set readonly(value: boolean) {\n if (this._readonly !== value) {\n this._readonly = value;\n this._adapter.setReadonly(value);\n this._adapter.toggleHostAttribute(SLIDER_CONSTANTS.attributes.READONLY, this._readonly);\n }\n }\n\n public set ariaLabel(value: string | null) {\n this.ariaLabelEnd = value;\n }\n\n public set ariaLabelStart(value: string | null) {\n this._adapter.setStartAriaLabel(value);\n }\n\n public set ariaLabelEnd(value: string | null) {\n this._adapter.setEndAriaLabel(value);\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty, toggleAttribute } from '@tylertech/forge-core';\nimport { internals } from '../constants';\nimport { BaseFormComponent, IBaseFormComponent } from '../core/base/base-form-component';\nimport { FocusIndicatorComponent } from '../focus-indicator/focus-indicator';\nimport { StateLayerComponent } from '../state-layer/state-layer';\nimport { SliderAdapter } from './slider-adapter';\nimport { SLIDER_CONSTANTS, SliderLabelBuilder, ISliderRangeEventData } from './slider-constants';\nimport { SliderFoundation } from './slider-foundation';\n\nconst template = '<template><div part=\\\"root\\\" class=\\\"forge-slider\\\"><input type=\\\"range\\\" class=\\\"end\\\" id=\\\"end\\\" min=\\\"0\\\" max=\\\"100\\\" step=\\\"1\\\" aria-valuetext=\\\"0\\\"><div class=\\\"track\\\" part=\\\"track\\\"></div><div class=\\\"handle-container-padded\\\"><div class=\\\"handle-container-block\\\"><div class=\\\"handle-container\\\"><div class=\\\"handle end\\\" part=\\\"handle-end\\\"><forge-state-layer exportparts=\\\"surface:state-layer\\\" target=\\\"end\\\"></forge-state-layer><forge-focus-indicator exportparts=\\\"indicator:focus-indicator\\\" target=\\\"end\\\"></forge-focus-indicator><div class=\\\"handle-thumb\\\" part=\\\"handle-end-thumb\\\"></div><div class=\\\"handle-label\\\" part=\\\"handle-end-label\\\"><span class=\\\"handle-label-content\\\" part=\\\"handle-end-label-content\\\"></span></div></div></div></div></div></div></template>';\nconst styles = ':host{display:-webkit-inline-box;display:inline-flex;vertical-align:middle;min-inline-size:100%}:host([hidden]){display:none}.forge-slider{--_slider-start-fraction:0;--_slider-end-fraction:0;--_slider-tick-count:100;--_slider-track-height:var(--forge-slider-track-height, 4px);--_slider-active-track-color:var(--forge-slider-active-track-color, var(--forge-theme-primary, #3f51b5));--_slider-active-track-height:var(--forge-slider-active-track-height, var(--_slider-track-height));--_slider-active-track-shape:var(--forge-slider-active-track-shape, var(--forge-shape-full, 9999px));--_slider-disabled-active-track-color:var(--forge-slider-disabled-active-track-color, var(--forge-theme-surface-container-high, #9e9e9e));--_slider-disabled-active-track-opacity:var(--forge-slider-disabled-active-track-opacity, 0.38);--_slider-disabled-handle-color:var(--forge-slider-disabled-handle-color, var(--forge-theme-surface-container-high, #9e9e9e));--_slider-disabled-inactive-track-color:var(--forge-slider-disabled-inactive-track-color, var(--forge-theme-surface-container-high, #9e9e9e));--_slider-disabled-inactive-track-opacity:var(--forge-slider-disabled-inactive-track-opacity, 0.12);--_slider-focus-handle-color:var(--forge-slider-focus-handle-color, var(--forge-theme-primary, #3f51b5));--_slider-handle-color:var(--forge-slider-handle-color, var(--forge-theme-primary, #3f51b5));--_slider-handle-height:var(--forge-slider-handle-height, 20px);--_slider-handle-shape:var(--forge-slider-handle-shape, var(--forge-shape-round, 50%));--_slider-handle-width:var(--forge-slider-handle-width, 20px);--_slider-hover-handle-color:var(--forge-slider-hover-handle-color, var(--forge-theme-primary, #3f51b5));--_slider-inactive-track-color:var(--forge-slider-inactive-track-color, var(--forge-theme-primary-container, #d1d5ed));--_slider-inactive-track-height:var(--forge-slider-inactive-track-height, var(--_slider-track-height));--_slider-inactive-track-shape:var(--forge-slider-inactive-track-shape, var(--forge-shape-full, 9999px));--_slider-label-container-shape:var(--forge-slider-label-container-shape, var(--forge-shape-full, 9999px));--_slider-label-container-color:var(--forge-slider-label-container-color, var(--forge-theme-primary, #3f51b5));--_slider-label-container-height:var(--forge-slider-label-container-height, 28px);--_slider-label-text-color:var(--forge-slider-label-text-color, var(--forge-theme-on-primary, #ffffff));--_slider-pressed-handle-color:var(--forge-slider-pressed-handle-color, var(--forge-theme-primary, #3f51b5));--_slider-state-layer-size:var(--forge-slider-state-layer-size, 40px);--_slider-with-overlap-handle-outline-color:var(--forge-slider-with-overlap-handle-outline-color, var(--forge-theme-on-primary, #ffffff));--_slider-with-overlap-handle-outline-width:var(--forge-slider-with-overlap-handle-outline-width, 1px);--_slider-with-tick-marks-active-container-color:var(--forge-slider-with-tick-marks-active-container-color, var(--forge-theme-on-primary, #ffffff));--_slider-with-tick-marks-container-size:var(--forge-slider-with-tick-marks-container-size, 2px);--_slider-with-tick-marks-disabled-active-container-color:var(--forge-slider-with-tick-marks-disabled-active-container-color, var(--forge-theme-on-surface-container-high, #000000));--_slider-with-tick-marks-disabled-inactive-container-color:var(--forge-slider-with-tick-marks-disabled-inactive-container-color, var(--forge-theme-on-surface-container-high, #000000));--_slider-with-tick-marks-inactive-container-color:var(--forge-slider-with-tick-marks-inactive-container-color, var(--forge-theme-primary, #3f51b5))}.forge-slider{-webkit-box-flex:1;flex:1;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;block-size:var(--_slider-state-layer-size);pointer-events:none;touch-action:none}.forge-slider.range :host-context([dir=rtl]) input.start{-webkit-clip-path:inset(0 0 0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))));clip-path:inset(0 0 0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))))}.forge-slider.range :host([dir=rtl]) input.start{-webkit-clip-path:inset(0 0 0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))));clip-path:inset(0 0 0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))))}.forge-slider.range input.start:dir(rtl){-webkit-clip-path:inset(0 0 0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))));clip-path:inset(0 0 0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))))}.forge-slider.range input.start{-webkit-clip-path:inset(0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))) 0 0);clip-path:inset(0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))) 0 0)}.forge-slider.range input.end{-webkit-clip-path:inset(0 0 0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))));clip-path:inset(0 0 0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))))}.forge-slider.range :host-context([dir=rtl]) input.end{-webkit-clip-path:inset(0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))) 0 0);clip-path:inset(0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))) 0 0)}.forge-slider.range :host([dir=rtl]) input.end{-webkit-clip-path:inset(0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))) 0 0);clip-path:inset(0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))) 0 0)}.forge-slider.range input.end:dir(rtl){-webkit-clip-path:inset(0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))) 0 0);clip-path:inset(0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))) 0 0)}.track{position:absolute;inset:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.track::after,.track::before{content:\\\"\\\";position:absolute;inset-inline-start:calc((var(--_slider-state-layer-size)/ 2) - var(--_slider-with-tick-marks-container-size));inset-inline-end:calc((var(--_slider-state-layer-size)/ 2) - var(--_slider-with-tick-marks-container-size));background-size:calc((100% - var(--_slider-with-tick-marks-container-size) * 2)/ var(--_slider-tick-count)) 100%}.track::before{block-size:var(--_slider-inactive-track-height);border-radius:var(--_slider-inactive-track-shape);background-color:var(--_slider-inactive-track-color)}.track::after{block-size:var(--_slider-active-track-height);border-radius:var(--_slider-active-track-shape);-webkit-clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)));clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)));background-color:var(--_slider-active-track-color)}.track.tickmarks::before{background-image:radial-gradient(circle at var(--_slider-with-tick-marks-container-size) center,var(--_slider-with-tick-marks-inactive-container-color) 0,var(--_slider-with-tick-marks-inactive-container-color) calc(var(--_slider-with-tick-marks-container-size)/ 2),transparent calc(var(--_slider-with-tick-marks-container-size)/ 2))}.track.tickmarks::after{background-image:radial-gradient(circle at var(--_slider-with-tick-marks-container-size) center,var(--_slider-with-tick-marks-active-container-color) 0,var(--_slider-with-tick-marks-active-container-color) calc(var(--_slider-with-tick-marks-container-size)/ 2),transparent calc(var(--_slider-with-tick-marks-container-size)/ 2))}.handle-container-block,.handle-container-padded{position:relative;block-size:100%;inline-size:100%}.handle-container-padded{padding-inline:calc(var(--_slider-state-layer-size)/ 2)}.handle-container{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(--_slider-state-layer-size);inline-size:var(--_slider-state-layer-size);border-radius:var(--_slider-handle-shape);display:grid;place-items:center}.handle.start{inset-inline-start:calc(0px - var(--_slider-state-layer-size)/ 2)}.handle.end{inset-inline-end:calc(0px - var(--_slider-state-layer-size)/ 2)}.handle-thumb{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);position:absolute;height:var(--_slider-handle-height);width:var(--_slider-handle-width);border-radius:var(--_slider-handle-shape);background:var(--_slider-handle-color)}.handle-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-label-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));line-height:var(--forge-typography-label-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label-text-decoration,inherit);text-decoration:var(--forge-typography-label-text-decoration,inherit);position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;padding:4px;place-items:center;border-radius:var(--_slider-label-container-shape);color:var(--_slider-label-text-color);font-weight:500;white-space:nowrap;inset-block-end:100%;min-inline-size:var(--_slider-label-container-height);min-block-size:var(--_slider-label-container-height);background:var(--_slider-label-container-color);-webkit-transition:-webkit-transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1));transition:-webkit-transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1));transition:transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1));transition:transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1)),-webkit-transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1));-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-transform:scale(0);transform:scale(0)}.handle-label::after,.handle-label::before{content:\\\"\\\";position:absolute;display:block;background:inherit}.handle-label::before{inline-size:calc(var(--_slider-label-container-height)/ 2);block-size:calc(var(--_slider-label-container-height)/ 2);bottom:calc(var(--_slider-label-container-height)/ -10);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.handle-label::after{inset:0;border-radius:inherit}.handle-label-content{z-index:1}.handle-container.hover .handle-thumb{background:var(--_slider-hover-handle-color)}:host(:not([disabled])) input.end:active~.handle-container-padded .handle.end>.handle-thumb,:host(:not([disabled])) input.start:active~.handle-container-padded .handle.start>.handle-thumb{background:var(--_slider-pressed-handle-color)}:host([disabled]) .handle-thumb{-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);background:var(--_slider-disabled-handle-color)}:host([disabled]) .handle-label{background:var(--_slider-disabled-handle-color)}:host([disabled]) .track::before{opacity:calc((1 / var(--_slider-disabled-active-track-opacity)) * var(--_slider-disabled-inactive-track-opacity));background-color:var(--_slider-disabled-inactive-track-color)}:host([disabled]) .track::after{background-color:var(--_slider-disabled-active-track-color)}:host([disabled]) .track.tickmarks::before{background-image:radial-gradient(circle at var(--_slider-with-tick-marks-container-size) center,var(--_slider-with-tick-marks-disabled-inactive-container-color) 0,var(--_slider-with-tick-marks-disabled-inactive-container-color) calc(var(--_slider-with-tick-marks-container-size)/ 2),transparent calc(var(--_slider-with-tick-marks-container-size)/ 2))}:host([disabled]) .track.tickmarks::after{background-image:radial-gradient(circle at var(--_slider-with-tick-marks-container-size) center,var(--_slider-with-tick-marks-disabled-active-container-color) 0,var(--_slider-with-tick-marks-disabled-active-container-color) calc(var(--_slider-with-tick-marks-container-size)/ 2),transparent calc(var(--_slider-with-tick-marks-container-size)/ 2))}:host([disabled]) input[type=range]{cursor:not-allowed}:host-context([dir=rtl]) .track::after{-webkit-clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))));clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))))}:host([dir=rtl]) .track::after{-webkit-clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))));clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))))}.track:dir(rtl)::after{-webkit-clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))));clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))))}input.end:focus~.handle-container-padded .handle.end>.handle-thumb,input.start:focus~.handle-container-padded .handle.start>.handle-thumb{background:var(--_slider-focus-handle-color)}.on-top.overlapping .handle-label,.on-top.overlapping .handle-label::before,.on-top.overlapping .handle-thumb{border:var(--_slider-with-overlap-handle-outline-color) solid var(--_slider-with-overlap-handle-outline-width)}.handle-container.hover .handle-label,:host(:focus-within) .handle-label,:where(:has(input:active)) .handle-label{-webkit-transform:scale(1);transform:scale(1)}input[type=range]{opacity:0;-webkit-tap-highlight-color:transparent;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;width:100%;margin:0;background:0 0;cursor:pointer;pointer-events:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=range]:focus{outline:0}input[type=range]::-webkit-slider-runnable-track{-webkit-appearance:none}input[type=range]::-moz-range-track{-moz-appearance:none;appearance:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;block-size:var(--_slider-state-layer-size);inline-size:var(--_slider-state-layer-size);-webkit-transform:scaleX(0);transform:scaleX(0);opacity:0;z-index:2}input[type=range]::-moz-range-thumb{-moz-appearance:none;appearance:none;block-size:var(--_slider-state-layer-size);inline-size:var(--_slider-state-layer-size);transform:scaleX(0);opacity:0;z-index:2}.on-top{z-index:1}@media (prefers-reduced-motion){.handle-label{-webkit-transition-duration:0;transition-duration:0}}forge-focus-indicator{--forge-focus-indicator-shape:50%;--forge-focus-indicator-outward-offset:0px}forge-state-layer{--forge-state-layer-color:var(--_slider-handle-color)}';\n\nexport interface ISliderComponent extends IBaseFormComponent<number> {\n valueStart: number;\n valueEnd: number;\n label: string;\n labelStart: string;\n labelEnd: string;\n labelBuilder: SliderLabelBuilder;\n min: number;\n max: number;\n step: number;\n range: boolean;\n tickmarks: boolean;\n labeled: boolean;\n nameStart: string;\n nameEnd: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-slider': ISliderComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-slider-input': CustomEvent<number | ISliderRangeEventData>;\n 'forge-slider-change': CustomEvent<number | ISliderRangeEventData>;\n }\n}\n\n/**\n * @tag forge-slider\n * \n * @summary Sliders allow users to make selections from a range of values.\n * \n * @description Use sliders to enable users to select a value from a continuous or discrete range of values.\n * \n * @property {number} value - The current value of the slider.\n * @property {number} valueStart - The current start value of the slider.\n * @property {number} valueEnd - The current end value of the slider.\n * @property {string} label - The label text for the slider handle.\n * @property {string} labelStart - The label text for the start slider handle.\n * @property {string} labelEnd - The label text for the end slider handle.\n * @property {SliderLabelBuilder} labelBuilder - A function that returns a label for the slider handle.\n * @property {number} min - The minimum value of the slider.\n * @property {number} max - The maximum value of the slider.\n * @property {number} step - The step value of the slider.\n * @property {boolean} range - Controls range mode.\n * @property {boolean} tickmarks - Controls if tickmarks are visible.\n * @property {boolean} labeled - Controls if labels are visible.\n * @property {boolean} disabled - Controls if the slider is disabled.\n * @property {boolean} readonly - Controls if the slider is readonly.\n * @property {string} name - The form control name.\n * @property {string} nameStart - The form control name for the start handle in range mode.\n * @property {string} nameEnd - The form control name for the end handle in range mode.\n * \n * @attribute {string} value - Sets the current value of the slider.\n * @attribute {string} value-start - Sets the current start value of the slider in range mode.\n * @attribute {string} value-end - Sets the current end value of the slider in range mode.\n * @attribute {string} label - Sets the label text for the slider handle.\n * @attribute {string} label-start - Sets the label text for the start slider handle in range mode.\n * @attribute {string} label-end - Sets the label text for the end slider handle in range mode.\n * @attribute {string} min - Sets the minimum value of the slider.\n * @attribute {string} max - Sets the maximum value of the slider.\n * @attribute {string} step - Sets the step value of the slider.\n * @attribute {string} tickmarks - Controls if tickmarks are visible.\n * @attribute {string} labeled - Controls if labels are visible.\n * @attribute {string} range - Controls range mode.\n * @attribute {string} disabled - Controls if the slider is disabled.\n * @attribute {string} readonly - Controls if the slider is readonly.\n * @attribute {string} name - Controls the form control name.\n * @attribute {string} name-start - Controls the form control name for the start handle in range mode.\n * @attribute {string} name-end - Controls the form control name for the end handle in range mode.\n * \n * @event forge-slider-input {CustomEvent} - Dispatches when the slider value changes.\n * @event forge-slider-change {CustomEvent} - Dispatches when the slider value changes and the value has been committed.\n * \n * @cssproperty --mdc-theme-primary - The primary color of the slider.\n * @cssproperty --mdc-theme-on-primary - The color of elements placed on top of the primary color (the label text for example).\n * @cssproperty --forge-slider-track-height - The height of the track.\n * @cssproperty --forge-slider-active-track-color - The color of the active track.\n * @cssproperty --forge-slider-active-track-height - The height of the active track.\n * @cssproperty --forge-slider-active-track-shape - The shape of the active track.\n * @cssproperty --forge-slider-disabled-active-track-color - The color of the active track when disabled.\n * @cssproperty --forge-slider-disabled-active-track-opacity - The opacity of the active track when disabled.\n * @cssproperty --forge-slider-disabled-handle-color - The color of the slider handle when disabled.\n * @cssproperty --forge-slider-disabled-inactive-track-color - The color of the inactive track when disabled.\n * @cssproperty --forge-slider-disabled-inactive-track-opacity - The opacity of the inactive track when disabled.\n * @cssproperty --forge-slider-focus-handle-color - The color of the slider handle when focused.\n * @cssproperty --forge-slider-handle-color - The color of the slider handle.\n * @cssproperty --forge-slider-handle-height - The height of the slider handle.\n * @cssproperty --forge-slider-handle-width - The width of the slider handle.\n * @cssproperty --forge-slider-handle-shape - The shape of the slider handle.\n * @cssproperty --forge-slider-hover-handle-color - The color of the slider handle when hovered.\n * @cssproperty --forge-slider-inactive-track-color - The color of the inactive track.\n * @cssproperty --forge-slider-inactive-track-height - The height of the inactive track.\n * @cssproperty --forge-slider-inactive-track-shape - The shape of the inactive track.\n * @cssproperty --forge-slider-label-container-shape - The shape of the label container.\n * @cssproperty --forge-slider-label-container-color - The color of the label container.\n * @cssproperty --forge-slider-label-container-height - The height of the label container.\n * @cssproperty --forge-slider-label-text-color - The color of the label text.\n * @cssproperty --forge-slider-pressed-handle-color - The color of the slider handle when pressed.\n * @cssproperty --forge-slider-state-layer-size - The size of the state layer.\n * @cssproperty --forge-slider-with-overlap-handle-outline-color - The color of the slider handle outline when overlapping.\n * @cssproperty --forge-slider-with-overlap-handle-outline-width - The width of the slider handle outline when overlapping.\n * @cssproperty --forge-slider-with-tick-marks-active-container-color - The color of the active tick mark container when tick marks are visible.\n * @cssproperty --forge-slider-with-tick-marks-container-size - The size of the tick mark container when tick marks are visible.\n * @cssproperty --forge-slider-with-tick-marks-disabled-active-container-color - The color of the active tick mark container when tick marks are visible and disabled.\n * @cssproperty --forge-slider-with-tick-marks-disabled-inactive-container-color - The color of the inactive tick mark container when tick marks are visible and disabled.\n * @cssproperty --forge-slider-with-tick-marks-inactive-container-color - The color of the inactive tick mark container when tick marks are visible.\n * \n * @csspart slider - Styles the slider container element.\n * @csspart track - Styles the track element.\n * @csspart handle-end - Styles the end handle element.\n * @csspart handle-end-thumb - Styles the end handle thumb element.\n * @csspart handle-end-label - Styles the end handle label element.\n * @csspart handle-end-label-content - Styles the end handle label content element.\n * @csspart handle-start - Styles the start handle element.\n * @csspart handle-start-thumb - Styles the start handle thumb element.\n * @csspart handle-start-label - Styles the start handle label element.\n * @csspart handle-start-label-content - Styles the start handle label content element.\n */\n@CustomElement({\n name: SLIDER_CONSTANTS.elementName,\n dependencies: [\n FocusIndicatorComponent,\n StateLayerComponent\n ]\n})\nexport class SliderComponent extends BaseFormComponent<number> implements ISliderComponent {\n public static get observedAttributes(): string[] {\n return [\n SLIDER_CONSTANTS.attributes.ARIA_LABEL,\n SLIDER_CONSTANTS.attributes.ARIA_LABEL_START,\n SLIDER_CONSTANTS.attributes.ARIA_LABEL_END,\n SLIDER_CONSTANTS.attributes.VALUE,\n SLIDER_CONSTANTS.attributes.VALUE_START,\n SLIDER_CONSTANTS.attributes.VALUE_END,\n SLIDER_CONSTANTS.attributes.LABEL,\n SLIDER_CONSTANTS.attributes.LABEL_START,\n SLIDER_CONSTANTS.attributes.LABEL_END,\n SLIDER_CONSTANTS.attributes.MAX,\n SLIDER_CONSTANTS.attributes.MIN,\n SLIDER_CONSTANTS.attributes.STEP,\n SLIDER_CONSTANTS.attributes.TICKMARKS,\n SLIDER_CONSTANTS.attributes.LABELED,\n SLIDER_CONSTANTS.attributes.RANGE,\n SLIDER_CONSTANTS.attributes.DISABLED,\n SLIDER_CONSTANTS.attributes.READONLY\n ];\n }\n\n public static formAssociated = true;\n\n public get form(): HTMLFormElement | null {\n return this[internals].form;\n }\n\n public get labels(): NodeList {\n return this[internals].labels;\n }\n\n public get name(): string {\n return this.getAttribute('name') ?? '';\n }\n public set name(value: string) {\n toggleAttribute(this, !!value, 'name', value ?? '');\n }\n\n public get nameStart(): string {\n return this.getAttribute('name-start') ?? this.name;\n }\n public set nameStart(value: string) {\n toggleAttribute(this, !!value, 'name-start', value ?? '');\n }\n\n public get nameEnd(): string {\n return this.getAttribute('name-end') ?? this.nameStart;\n }\n public set nameEnd(value: string) {\n toggleAttribute(this, !!value, 'name-end', value ?? '');\n }\n\n public readonly [internals]: ElementInternals;\n private readonly _foundation: SliderFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this[internals] = this.attachInternals();\n this._foundation = new SliderFoundation(new SliderAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case SLIDER_CONSTANTS.attributes.ARIA_LABEL:\n this._foundation.ariaLabel = newValue;\n break;\n case SLIDER_CONSTANTS.attributes.ARIA_LABEL_START:\n this._foundation.ariaLabelStart = newValue;\n break;\n case SLIDER_CONSTANTS.attributes.ARIA_LABEL_END:\n this._foundation.ariaLabelEnd = newValue;\n break;\n case SLIDER_CONSTANTS.attributes.VALUE:\n this.value = coerceNumber(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.VALUE_START:\n this.valueStart = coerceNumber(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.VALUE_END:\n this.valueEnd = coerceNumber(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n break;\n case SLIDER_CONSTANTS.attributes.LABEL_START:\n this.labelStart = newValue;\n break;\n case SLIDER_CONSTANTS.attributes.LABEL_END:\n this.labelEnd = newValue;\n break;\n case SLIDER_CONSTANTS.attributes.MIN:\n this.min = coerceNumber(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.MAX:\n this.max = coerceNumber(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.STEP:\n this.step = coerceNumber(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.TICKMARKS:\n this.tickmarks = coerceBoolean(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.LABELED:\n this.labeled = coerceBoolean(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.RANGE:\n this.range = coerceBoolean(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.READONLY:\n this.readonly = coerceBoolean(newValue);\n break;\n }\n }\n\n public formResetCallback(): void {\n if (this._foundation.range) {\n const valueStart = this.getAttribute('value-start');\n this.valueStart = valueStart !== null ? Number(valueStart) : SLIDER_CONSTANTS.numbers.DEFAULT_START_VALUE;\n const valueEnd = this.getAttribute('value-end');\n this.valueEnd = valueEnd !== null ? Number(valueEnd) : SLIDER_CONSTANTS.numbers.DEFAULT_END_VALUE;\n return;\n }\n const value = this.getAttribute('value');\n this.value = value !== null ? Number(value) : SLIDER_CONSTANTS.numbers.DEFAULT_VALUE;\n }\n\n public formStateRestoreCallback(state: string | Array<[string, string]> | null): void {\n if (state && state[0] instanceof FormData) {\n const values = Array.from(state[0]);\n const [[, valueStart], [, valueEnd]] = values;\n this.valueStart = Number(valueStart);\n this.valueEnd = Number(valueEnd);\n this.range = true;\n return;\n }\n\n this.value = Number(state);\n this.range = false;\n }\n\n public formDisabledCallback(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n @FoundationProperty()\n public declare value: number;\n\n @FoundationProperty()\n public declare valueStart: number;\n\n @FoundationProperty()\n public declare valueEnd: number;\n\n @FoundationProperty()\n public declare label: string;\n\n @FoundationProperty()\n public declare labelStart: string;\n\n @FoundationProperty()\n public declare labelEnd: string;\n\n @FoundationProperty()\n public declare labelBuilder: SliderLabelBuilder;\n\n @FoundationProperty()\n public declare min: number;\n\n @FoundationProperty()\n public declare max: number;\n\n @FoundationProperty()\n public declare step: number;\n\n @FoundationProperty()\n public declare tickmarks: boolean;\n \n @FoundationProperty()\n public declare labeled: boolean;\n\n @FoundationProperty()\n public declare range: boolean;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare readonly: boolean;\n}\n", "import { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core';\nimport { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { ISliderComponent } from '../slider';\nimport { ISliderRangeEventData, SLIDER_CONSTANTS } from './slider-constants';\n\nexport type SliderComponentDelegateProps = Partial<ISliderComponent>;\nexport interface ISliderComponentDelegateOptions extends IFormFieldComponentDelegateOptions {}\nexport interface ISliderComponentDelegateConfig extends IBaseComponentDelegateConfig<ISliderComponent, ISliderComponentDelegateOptions> {}\n\nexport class SliderComponentDelegate extends FormFieldComponentDelegate<ISliderComponent, ISliderComponentDelegateOptions> {\n constructor(config?: ISliderComponentDelegateConfig) {\n super(config);\n }\n\n public get value(): number {\n return this._element.value;\n }\n public set value(value: number) {\n this._element.value = value;\n }\n\n public get valueStart(): number {\n return this._element.valueStart;\n }\n public set valueStart(value: number) {\n this._element.valueStart = value;\n }\n\n public get valueEnd(): number {\n return this._element.valueEnd;\n }\n public set valueEnd(value: number) {\n this._element.valueEnd = value;\n }\n\n public get disabled(): boolean {\n return this._element.disabled;\n }\n public set disabled(value: boolean) {\n this._element.disabled = value;\n }\n\n public get min(): number {\n return this._element.min;\n }\n public set min(value: number) {\n this._element.min = value;\n }\n\n public get max(): number {\n return this._element.max;\n }\n public set max(value: number) {\n this._element.max = value;\n }\n\n public get step(): number {\n return this._element.step;\n }\n\n public get range(): boolean {\n return this._element.range;\n }\n public set range(value: boolean) {\n this._element.range = value;\n }\n\n public get tickmarks(): boolean {\n return this._element.tickmarks;\n }\n public set tickmarks(value: boolean) {\n this._element.tickmarks = value;\n }\n\n public get labeled(): boolean {\n return this._element.labeled;\n }\n public set labeled(value: boolean) {\n this._element.labeled = value;\n }\n\n public get labelBuilder(): (value: number, which?: 'start' | 'end') => string {\n return this._element.labelBuilder;\n }\n public set labelBuilder(value: (value: number, which?: 'start' | 'end') => string) {\n this._element.labelBuilder = value;\n }\n\n public onInput(listener: (value: number | ISliderRangeEventData) => void): void {\n this._element.addEventListener('forge-slider-input', ({ detail }: CustomEvent<number | ISliderRangeEventData>) => listener(detail));\n }\n\n public onChange(listener: (value: number | ISliderRangeEventData) => void): void {\n this._element.addEventListener('forge-slider-change', ({ detail }: CustomEvent<number | ISliderRangeEventData>) => listener(detail));\n }\n\n public onFocus(listener: (evt: Event) => void): void {\n this._element.addEventListener('focus', evt => listener(evt));\n }\n\n public onBlur(listener: (evt: Event) => void): void {\n this._element.addEventListener('blur', evt => listener(evt));\n }\n\n protected _build(): ISliderComponent {\n return document.createElement(SLIDER_CONSTANTS.elementName);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SliderComponent } from './slider';\n\nexport * from './slider-constants';\nexport * from './slider';\nexport * from './slider-component-delegate';\n\nexport function defineSliderComponent(): void {\n defineCustomElement(SliderComponent);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}slider`;\n\nconst attributes = {\n ARIA_LABEL: 'data-aria-label',\n ARIA_LABEL_START: 'data-aria-label-start',\n ARIA_LABEL_END: 'data-aria-label-end',\n VALUE: 'value',\n VALUE_START: 'value-start',\n VALUE_END: 'value-end',\n LABEL: 'label',\n LABEL_START: 'label-start',\n LABEL_END: 'label-end',\n MIN: 'min',\n MAX: 'max',\n STEP: 'step',\n TICKMARKS: 'tickmarks',\n LABELED: 'labeled',\n RANGE: 'range',\n DISABLED: 'disabled',\n READONLY: 'readonly'\n};\n\nconst selectors = {\n ROOT: '.forge-slider',\n TRACK: '.track',\n HANDLE_CONTAINER: '.handle-container',\n START_INPUT: 'input.start',\n END_INPUT: 'input.end',\n START_HANDLE: '.handle.start',\n START_HANDLE_THUMB: '.handle.start .handle-thumb',\n END_HANDLE: '.handle.end',\n END_HANDLE_THUMB: '.handle.end .handle-thumb',\n START_LABEL: '.handle.start .handle-label',\n START_LABEL_CONTENT: '.handle.start .handle-label-content',\n END_LABEL: '.handle.end .handle-label',\n END_LABEL_CONTENT: '.handle.end .handle-label-content',\n LABEL: '.handle-label',\n INPUT: 'input[type=range]'\n};\n\nconst classes = {\n RANGE: 'range',\n TICKMARKS: 'tickmarks',\n ON_TOP: 'on-top',\n OVERLAPPING: 'overlapping',\n HOVER: 'hover',\n HANDLE: 'handle',\n HANDLE_THUMB: 'handle-thumb',\n HANDLE_START: 'start',\n HANDLE_LABEL: 'handle-label',\n LABEL: 'handle-label',\n LABEL_CONTENT: 'handle-label-content'\n};\n\nconst events = {\n INPUT: 'forge-slider-input',\n CHANGE: 'forge-slider-change'\n};\n\nconst cssCustomProperties = {\n START_FRACTION: '--_slider-start-fraction',\n END_FRACTION: '--_slider-end-fraction',\n TICK_COUNT: '--_slider-tick-count'\n};\n\nconst numbers = {\n DEFAULT_STEP: 1,\n DEFAULT_VALUE: 50,\n DEFAULT_START_VALUE: 33,\n DEFAULT_END_VALUE: 67\n};\n\nexport const SLIDER_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n classes,\n events,\n numbers,\n cssCustomProperties\n};\n\nexport interface ISliderRangeEventData {\n valueStart: number;\n valueEnd: number;\n}\n\nexport type SliderLabelBuilder = (value: number, which?: 'start' | 'end') => string;\n", "import { ISliderComponent } from '../slider';\nimport { SLIDER_CONSTANTS } from './slider-constants';\n\nexport function createStartInputElement(component: ISliderComponent): HTMLInputElement {\n const startInput = document.createElement('input');\n startInput.type = 'range';\n startInput.id = 'start';\n startInput.min = String(component.min);\n startInput.max = String(component.max);\n startInput.step = String(component.step);\n startInput.valueAsNumber = component.valueStart;\n startInput.disabled = component.disabled;\n startInput.classList.add('start');\n \n if (component.hasAttribute(SLIDER_CONSTANTS.attributes.ARIA_LABEL_START)) {\n startInput.setAttribute('aria-label', component.getAttribute(SLIDER_CONSTANTS.attributes.ARIA_LABEL_START) as string);\n }\n startInput.setAttribute('aria-valuetext', String(component.valueStart));\n\n return startInput;\n}\n\nexport function createStartHandleElement(thumbLabel: string): HTMLElement {\n const startHandle = document.createElement('div');\n startHandle.classList.add(SLIDER_CONSTANTS.classes.HANDLE, SLIDER_CONSTANTS.classes.HANDLE_START);\n startHandle.setAttribute('part', 'handle-start');\n\n const startHandleStateLayer = document.createElement('forge-state-layer');\n startHandleStateLayer.target = 'start';\n startHandle.appendChild(startHandleStateLayer);\n\n const startHandleFocusIndicator = document.createElement('forge-focus-indicator');\n startHandleFocusIndicator.target = 'start';\n startHandle.appendChild(startHandleFocusIndicator);\n \n const startHandleThumb = document.createElement('div');\n startHandleThumb.classList.add(SLIDER_CONSTANTS.classes.HANDLE_THUMB);\n startHandleThumb.setAttribute('part', 'handle-start-thumb');\n startHandle.appendChild(startHandleThumb);\n \n const startHandleLabel = document.createElement('div');\n startHandleLabel.classList.add(SLIDER_CONSTANTS.classes.HANDLE_LABEL);\n startHandleLabel.setAttribute('part', 'handle-start-label');\n startHandle.appendChild(startHandleLabel);\n\n const startHandleLabelContent = document.createElement('span');\n startHandleLabelContent.textContent = thumbLabel;\n startHandleLabelContent.classList.add(SLIDER_CONSTANTS.classes.LABEL_CONTENT);\n startHandleLabelContent.setAttribute('part', 'handle-start-label-content');\n startHandleLabel.appendChild(startHandleLabelContent);\n \n return startHandle;\n}\n\nexport function createLabel(text: string): HTMLElement {\n const labelElement = document.createElement('div');\n labelElement.classList.add(SLIDER_CONSTANTS.classes.LABEL);\n\n const labelContentElement = document.createElement('span');\n labelContentElement.textContent = text;\n labelContentElement.classList.add(SLIDER_CONSTANTS.classes.LABEL_CONTENT);\n labelElement.appendChild(labelContentElement);\n\n return labelElement;\n}\n", "import { getShadowElement, toggleAttribute, toggleClass } from '@tylertech/forge-core';\nimport { internals } from '../constants';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { elementsOverlapping, isPointerOverElement } from '../core/utils/utils';\nimport { ISliderComponent } from '../slider';\nimport { IStateLayerComponent, STATE_LAYER_CONSTANTS } from '../state-layer';\nimport { SLIDER_CONSTANTS } from './slider-constants';\nimport { createLabel, createStartHandleElement, createStartInputElement } from './slider-utils';\n\nexport interface ISliderState {\n startFraction: number;\n endFraction: number;\n tickCount: number;\n}\n\nexport interface ISliderAdapter extends IBaseAdapter {\n addInputListener(type: keyof HTMLElementEventMap, listener: EventListener): void;\n update(state: ISliderState): void;\n updateLabels(labelStart: string, labelEnd: string): void;\n updateHandleLayering(): void;\n tryHoverStartHandle(coords: { x: number; y: number }): void;\n tryHoverEndHandle(coords: { x: number; y: number }): void;\n tryDetectOverlap(): void;\n leaveHandleContainer(): void;\n syncInputValues(valueStart: number, valueEnd: number): void;\n setRange(value: boolean): void;\n setTickmarks(value: boolean): void;\n setStep(step: number): void;\n setMin(value: number): void;\n setMax(value: number): void;\n setDisabled(value: boolean): void;\n setReadonly(value: boolean): void;\n toggleLabels(value: boolean): void;\n setStartAriaLabel(value: string | null): void;\n setEndAriaLabel(value: string | null): void;\n}\n\nexport class SliderAdapter extends BaseAdapter<ISliderComponent> implements ISliderAdapter {\n private readonly _rootElement: HTMLElement;\n private readonly _trackElement: HTMLElement;\n private readonly _handleContainerElement: HTMLElement;\n private readonly _endInputElement: HTMLInputElement;\n private readonly _endHandleElement: HTMLElement;\n private readonly _endHandleThumbElement: HTMLElement;\n private _endLabelContentElement: HTMLElement | undefined;\n private _startInputElement: HTMLInputElement | undefined;\n private _startHandleElement: HTMLElement | undefined;\n private _startHandleThumbElement: HTMLElement | undefined;\n private _startLabelContentElement: HTMLElement | undefined;\n\n constructor(component: ISliderComponent) {\n super(component);\n\n this._rootElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.ROOT);\n this._trackElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.TRACK);\n this._handleContainerElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.HANDLE_CONTAINER);\n this._endInputElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.END_INPUT) as HTMLInputElement;\n this._endHandleElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.END_HANDLE);\n this._endHandleThumbElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.END_HANDLE_THUMB);\n this._endLabelContentElement = getShadowElement(component, SLIDER_CONSTANTS.selectors.END_LABEL_CONTENT);\n }\n\n public addInputListener(type: keyof HTMLElementEventMap, listener: EventListener): void {\n const inputs = this._getInputs();\n inputs.forEach(input => input.addEventListener(type, listener));\n }\n\n public update({ startFraction, endFraction, tickCount }: ISliderState): void {\n this._rootElement.style.setProperty(SLIDER_CONSTANTS.cssCustomProperties.START_FRACTION, String(startFraction));\n this._rootElement.style.setProperty(SLIDER_CONSTANTS.cssCustomProperties.END_FRACTION, String(endFraction));\n this._rootElement.style.setProperty(SLIDER_CONSTANTS.cssCustomProperties.TICK_COUNT, String(tickCount));\n }\n\n public updateLabels(labelStart: string, labelEnd: string): void {\n if (this._startLabelContentElement) {\n this._startLabelContentElement.textContent = labelStart;\n }\n \n if (this._endLabelContentElement) {\n this._endLabelContentElement.textContent = labelEnd;\n }\n\n this._startInputElement?.setAttribute('aria-valuetext', labelStart);\n this._endInputElement.setAttribute('aria-valuetext', labelEnd);\n }\n\n public updateHandleLayering(): void {\n const isEndFocused = this._endInputElement.matches(':focus');\n if (this._startHandleElement) {\n toggleClass(this._startHandleElement, !isEndFocused, SLIDER_CONSTANTS.classes.ON_TOP);\n }\n toggleClass(this._endHandleElement, isEndFocused, SLIDER_CONSTANTS.classes.ON_TOP);\n }\n\n public tryHoverStartHandle(coords: { x: number; y: number }): void {\n if (this._startHandleThumbElement && isPointerOverElement(coords, this._startHandleThumbElement)) {\n this._handleContainerElement.classList.add(SLIDER_CONSTANTS.classes.HOVER);\n this._startHandleElement?.classList.add(SLIDER_CONSTANTS.classes.HOVER);\n } else if (!this._startInputElement?.matches(':focus')) {\n this._handleContainerElement.classList.remove(SLIDER_CONSTANTS.classes.HOVER);\n this._startHandleElement?.classList.remove(SLIDER_CONSTANTS.classes.HOVER);\n }\n }\n\n public tryHoverEndHandle(coords: { x: number; y: number }): void {\n if (isPointerOverElement(coords, this._endHandleThumbElement)) {\n this._handleContainerElement.classList.add(SLIDER_CONSTANTS.classes.HOVER);\n this._endHandleElement.classList.add(SLIDER_CONSTANTS.classes.HOVER);\n } else if (!this._endInputElement.matches(':focus')) {\n this._handleContainerElement.classList.remove(SLIDER_CONSTANTS.classes.HOVER);\n this._endHandleElement.classList.remove(SLIDER_CONSTANTS.classes.HOVER);\n }\n }\n\n public tryDetectOverlap(): void {\n if (this._startHandleElement) {\n const isOverlapping = elementsOverlapping(this._startHandleElement, this._endHandleElement);\n toggleClass(this._endHandleElement, isOverlapping, SLIDER_CONSTANTS.classes.OVERLAPPING);\n toggleClass(this._startHandleElement, isOverlapping, SLIDER_CONSTANTS.classes.OVERLAPPING);\n }\n }\n\n public leaveHandleContainer(): void {\n this._handleContainerElement.classList.remove(SLIDER_CONSTANTS.classes.HOVER);\n }\n\n public syncInputValues(valueStart: number, valueEnd: number): void {\n if (this._startInputElement) {\n this._startInputElement.valueAsNumber = valueStart;\n }\n this._endInputElement.valueAsNumber = valueEnd;\n\n if (this._startInputElement) {\n const data = new FormData();\n data.append(this._component.nameStart, String(valueStart));\n data.append(this._component.nameEnd, String(valueEnd));\n this._component[internals].setFormValue(data);\n } else {\n this._component[internals].setFormValue(String(valueEnd));\n }\n }\n\n public setRange(value: boolean): void {\n this._rootElement.classList.toggle(SLIDER_CONSTANTS.classes.RANGE, value);\n\n if (value) {\n // Create start input\n this._startInputElement = createStartInputElement(this._component);\n this._rootElement.insertAdjacentElement('afterbegin', this._startInputElement);\n\n // Ensure the end input is updated to the valueEnd property value now that we are in range mode\n this._endInputElement.valueAsNumber = this._component.valueEnd;\n\n // Create start handle\n const thumbLabel = this._startInputElement.value;\n this._startHandleElement = createStartHandleElement(thumbLabel);\n this._handleContainerElement.insertAdjacentElement('afterbegin', this._startHandleElement);\n this._startHandleThumbElement = getShadowElement(this._component, SLIDER_CONSTANTS.selectors.START_HANDLE_THUMB);\n this._startLabelContentElement = getShadowElement(this._component, SLIDER_CONSTANTS.selectors.START_LABEL_CONTENT);\n } else {\n this._startInputElement?.remove();\n this._startHandleElement?.remove();\n\n this._startInputElement = undefined;\n this._startHandleElement = undefined;\n this._startHandleThumbElement = undefined;\n this._startLabelContentElement = undefined;\n }\n }\n\n public setTickmarks(value: boolean): void {\n this._trackElement.classList.toggle(SLIDER_CONSTANTS.classes.TICKMARKS, value);\n }\n\n public setStep(step: number): void {\n const inputs = this._getInputs();\n inputs.forEach(input => input.step = String(step));\n }\n\n public setMin(value: number): void {\n const inputs = this._getInputs();\n inputs.forEach(input => input.min = String(value));\n }\n\n public setMax(value: number): void {\n const inputs = this._getInputs();\n inputs.forEach(input => input.max = String(value));\n }\n\n public setDisabled(value: boolean): void {\n const inputs = this._getInputs();\n inputs.forEach(input => input.disabled = value);\n\n const stateLayers = this._rootElement.querySelectorAll(STATE_LAYER_CONSTANTS.elementName) as NodeListOf<IStateLayerComponent>;\n stateLayers.forEach(sl => sl.disabled = value);\n }\n\n public setReadonly(value: boolean): void {\n const inputs = this._getInputs();\n inputs.forEach(input => input.readOnly = value);\n }\n\n public toggleLabels(value: boolean): void {\n const labels = this._rootElement.querySelectorAll(SLIDER_CONSTANTS.selectors.LABEL);\n labels.forEach(label => label.remove());\n\n this._endLabelContentElement = undefined;\n this._startLabelContentElement = undefined;\n\n if (value) {\n const endLabelEl = createLabel(this._endInputElement.value);\n this._endHandleElement.insertAdjacentElement('beforeend', endLabelEl);\n this._endLabelContentElement = getShadowElement(this._component, SLIDER_CONSTANTS.selectors.END_LABEL_CONTENT);\n \n if (this._startInputElement) {\n const startLabelEl = createLabel(this._startInputElement.value);\n this._startHandleElement?.insertAdjacentElement('beforeend', startLabelEl);\n this._startLabelContentElement = getShadowElement(this._component, SLIDER_CONSTANTS.selectors.START_LABEL_CONTENT);\n }\n }\n }\n\n public setStartAriaLabel(value: string | null): void {\n if (this._startInputElement) {\n toggleAttribute(this._startInputElement, !!value, 'aria-label', value as string);\n }\n }\n\n public setEndAriaLabel(value: string | null): void {\n toggleAttribute(this._endInputElement, !!value, 'aria-label', value as string);\n }\n\n private _getInputs(): HTMLInputElement[] {\n const inputs: HTMLInputElement[] = [];\n if (this._startInputElement) {\n inputs.push(this._startInputElement);\n }\n return [...inputs, this._endInputElement];\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { ISliderAdapter } from './slider-adapter';\nimport { SLIDER_CONSTANTS, SliderLabelBuilder, ISliderRangeEventData } from './slider-constants';\n\nexport interface ISliderFoundation extends ICustomElementFoundation {\n ariaLabel: string | null;\n ariaLabelStart: string | null;\n ariaLabelEnd: string | null;\n value: number;\n valueStart: number;\n valueEnd: number;\n label: string;\n labelStart: string;\n labelEnd: string;\n labelBuilder: SliderLabelBuilder;\n min: number;\n max: number;\n step: number;\n tickmarks: boolean;\n labeled: boolean;\n range: boolean;\n disabled: boolean;\n readonly: boolean;\n}\n\nexport class SliderFoundation implements ISliderFoundation {\n // State\n private _value = SLIDER_CONSTANTS.numbers.DEFAULT_VALUE;\n private _valueStart = SLIDER_CONSTANTS.numbers.DEFAULT_START_VALUE;\n private _valueEnd = SLIDER_CONSTANTS.numbers.DEFAULT_END_VALUE;\n private _labelStart: string;\n private _labelEnd: string;\n private _labelBuilder: SliderLabelBuilder;\n private _min = 0;\n private _max = 100;\n private _step = SLIDER_CONSTANTS.numbers.DEFAULT_STEP;\n private _tickmarks = false;\n private _labeled = true;\n private _range = false;\n private _disabled = false;\n private _readonly = false;\n\n // Listeners\n private readonly _pointerEnterListener: EventListener;\n private readonly _pointerMoveListener: EventListener;\n private readonly _pointerLeaveListener: EventListener;\n private readonly _changeUpdateListener: EventListener;\n private readonly _focusListener: EventListener;\n\n constructor(private readonly _adapter: ISliderAdapter) {\n this._pointerEnterListener = (evt: PointerEvent) => this._handlePointerEnter(evt);\n this._pointerMoveListener = (evt: PointerEvent) => this._handlePointerMove(evt);\n this._pointerLeaveListener = (evt: PointerEvent) => this._handlePointerLeave(evt);\n this._changeUpdateListener = (evt: InputEvent) => this._handleInputUpdate(evt);\n this._focusListener = (evt: FocusEvent) => this._handleFocus(evt);\n }\n\n public initialize(): void {\n this._applyInputListeners();\n this._update();\n }\n\n private _update(): void {\n const {\n value: renderValue,\n valueStart: renderValueStart,\n valueEnd: renderValueEnd\n } = this._clampMinMax();\n const step = this._step <= 0 ? 1 : this._step;\n const range = Math.max(this._max - this._min, step);\n const startFraction = this._range ? ((renderValueStart ?? this._min) - this._min) / range : 0;\n const valueEnd = this._range ? renderValueEnd : renderValue;\n const endFraction = ((valueEnd ?? this.min) - this.min) / range;\n const tickCount = range / step;\n\n this._adapter.update({ startFraction, endFraction, tickCount });\n this._adapter.syncInputValues(renderValueStart, this._range ? renderValueEnd : renderValue);\n\n if (this._range) {\n this._adapter.tryDetectOverlap();\n }\n\n let labelStart = this._labelStart ?? String(renderValueStart);\n let labelEnd = this._labelEnd ?? String(this._range ? renderValueEnd : renderValue);\n\n if (typeof this._labelBuilder === 'function') {\n if (this._range) {\n labelStart = this._labelBuilder(renderValueStart, 'start');\n labelEnd = this._labelBuilder(renderValueEnd, 'end');\n } else {\n labelEnd = this._labelBuilder(renderValue);\n }\n }\n\n this._adapter.updateLabels(labelStart, labelEnd);\n }\n\n private _clampMinMax(): { value: number; valueStart: number; valueEnd: number } {\n // We make copies of our values so we can mutate them without affecting the original values\n let valueCopy = this._value;\n let valueStartCopy = this._valueStart;\n let valueEndCopy = this._valueEnd;\n\n if (this._range) {\n if (valueStartCopy > this._max) {\n valueStartCopy = this._max;\n } else if (valueStartCopy < this._min) {\n valueStartCopy = this._min;\n }\n\n if (valueEndCopy > this._max) {\n valueEndCopy = this._max;\n } else if (valueEndCopy < this._min) {\n valueEndCopy = this._min;\n }\n } else {\n if (valueCopy > this._max) {\n valueCopy = this._max;\n } else if (this._value < this._min) {\n valueCopy = this._min;\n }\n }\n\n return {\n value: valueCopy,\n valueStart: valueStartCopy,\n valueEnd: valueEndCopy\n };\n }\n\n private _applyInputListeners(): void {\n this._adapter.addInputListener('pointerenter', this._pointerEnterListener);\n this._adapter.addInputListener('pointermove', this._pointerMoveListener);\n this._adapter.addInputListener('pointerleave', this._pointerLeaveListener);\n this._adapter.addInputListener('input', this._changeUpdateListener);\n this._adapter.addInputListener('change', this._changeUpdateListener);\n this._adapter.addInputListener('focus', this._focusListener);\n }\n\n private _handlePointerEnter(evt: PointerEvent): void {\n this._handlePointerMove(evt);\n }\n\n private _handlePointerMove({ target, x, y }: PointerEvent): void {\n const isStart = (target as HTMLInputElement).id === 'start';\n if (isStart) {\n this._adapter.tryHoverStartHandle({ x, y });\n } else {\n this._adapter.tryHoverEndHandle({ x, y });\n }\n }\n\n private _handlePointerLeave(_evt: PointerEvent): void {\n this._adapter.leaveHandleContainer();\n }\n\n private _handleInputUpdate(evt: InputEvent): void {\n evt.stopPropagation(); // We don't allow the native input & change events to bubble outside of the component\n\n if (this._disabled || this._readonly) {\n this._adapter.syncInputValues(this._valueStart, this._range ? this._valueEnd : this._value);\n return;\n }\n\n const input = evt.target as HTMLInputElement;\n \n if (this._range) {\n const isStart = input.id === 'start';\n if (isStart) {\n this._valueStart = input.valueAsNumber;\n } else {\n this._valueEnd = input.valueAsNumber;\n }\n\n // Clamp values to keep start and end from going past each other\n if (this._canClamp()) {\n if (isStart) {\n this._valueStart = this._valueEnd;\n } else {\n this._valueEnd = this._valueStart;\n }\n\n // Ensure our underlying inputs are synchronized with our state since they continue moving even when we clamp\n this._adapter.syncInputValues(this._valueStart, this._valueEnd);\n this._update();\n return; // We don't dispatch events when clamping\n }\n } else {\n this._value = input.valueAsNumber;\n }\n\n const type = evt.type === 'change' ? SLIDER_CONSTANTS.events.CHANGE : SLIDER_CONSTANTS.events.INPUT;\n const data: number | ISliderRangeEventData = this._range ? { valueStart: this._valueStart, valueEnd: this._valueEnd } : this._value;\n this._adapter.emitHostEvent(type, data, true);\n this._update();\n }\n\n private _handleFocus(_evt: FocusEvent): void {\n this._adapter.updateHandleLayering();\n }\n\n private _canClamp(): boolean {\n return this._valueStart > this._valueEnd || this._valueEnd < this._valueStart;\n }\n\n public get value(): number {\n return this._value;\n }\n public set value(value: number) {\n if (this._value !== value) {\n this._value = value;\n this._update();\n }\n }\n\n public get valueStart(): number {\n return this._valueStart;\n }\n public set valueStart(value: number) {\n if (this._valueStart !== value) {\n this._valueStart = value;\n this._update();\n }\n }\n\n public get valueEnd(): number {\n return this._valueEnd;\n }\n public set valueEnd(value: number) {\n if (this._valueEnd !== value) {\n this._valueEnd = value;\n this._update();\n }\n }\n\n public get label(): string {\n return this.labelEnd;\n }\n public set label(value: string) {\n this.labelEnd = value;\n }\n\n public get labelStart(): string {\n return this._labelStart;\n }\n public set labelStart(value: string) {\n if (this._labelStart !== value) {\n this._labelStart = value;\n this._adapter.updateLabels(this._labelStart, this._labelEnd);\n }\n }\n\n public get labelEnd(): string {\n return this._labelEnd;\n }\n public set labelEnd(value: string) {\n if (this._labelEnd !== value) {\n this._labelEnd = value;\n this._adapter.updateLabels(this._labelStart, this._labelEnd);\n }\n }\n\n public get labelBuilder(): SliderLabelBuilder {\n return this._labelBuilder;\n }\n public set labelBuilder(cb: SliderLabelBuilder) {\n this._labelBuilder = cb;\n this._update();\n }\n\n public get min(): number {\n return this._min;\n }\n public set min(value: number) {\n if (this._min !== value) {\n this._min = value;\n this._adapter.setMin(this._min);\n this._update();\n this._adapter.setHostAttribute(SLIDER_CONSTANTS.attributes.MIN, String(this._min));\n }\n }\n\n public get max(): number {\n return this._max;\n }\n public set max(value: number) {\n if (this._max !== value) {\n this._max = value;\n this._adapter.setMax(this._max);\n this._update();\n this._adapter.setHostAttribute(SLIDER_CONSTANTS.attributes.MAX, String(this._max));\n }\n }\n\n public get step(): number {\n return this._step;\n }\n public set step(value: number) {\n if (this._step !== value) {\n this._step = value;\n this._adapter.setStep(this._step);\n this._update();\n this._adapter.setHostAttribute(SLIDER_CONSTANTS.attributes.STEP, String(this._step));\n }\n }\n\n public get tickmarks(): boolean {\n return this._tickmarks;\n }\n public set tickmarks(value: boolean) {\n if (this._tickmarks !== value) {\n this._tickmarks = value;\n this._adapter.setTickmarks(this._tickmarks);\n this._adapter.toggleHostAttribute(SLIDER_CONSTANTS.attributes.TICKMARKS, this._tickmarks);\n }\n }\n\n public get labeled(): boolean {\n return this._labeled;\n }\n public set labeled(value: boolean) {\n if (this._labeled !== value) {\n this._labeled = value;\n this._adapter.toggleLabels(this._labeled);\n this._update();\n this._adapter.toggleHostAttribute(SLIDER_CONSTANTS.attributes.LABELED, this._labeled);\n }\n }\n\n public get range(): boolean {\n return this._range;\n }\n public set range(value: boolean) {\n if (this._range !== value) {\n this._range = value;\n this._adapter.setRange(this._range);\n if (this._range) {\n this._applyInputListeners();\n }\n this._update();\n this._adapter.toggleHostAttribute(SLIDER_CONSTANTS.attributes.RANGE, this._range);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(value);\n this._adapter.toggleHostAttribute(SLIDER_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get readonly(): boolean {\n return this._readonly;\n }\n public set readonly(value: boolean) {\n if (this._readonly !== value) {\n this._readonly = value;\n this._adapter.setReadonly(value);\n this._adapter.toggleHostAttribute(SLIDER_CONSTANTS.attributes.READONLY, this._readonly);\n }\n }\n\n public set ariaLabel(value: string | null) {\n this.ariaLabelEnd = value;\n }\n\n public set ariaLabelStart(value: string | null) {\n this._adapter.setStartAriaLabel(value);\n }\n\n public set ariaLabelEnd(value: string | null) {\n this._adapter.setEndAriaLabel(value);\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty, toggleAttribute } from '@tylertech/forge-core';\nimport { internals } from '../constants';\nimport { BaseFormComponent, IBaseFormComponent } from '../core/base/base-form-component';\nimport { FocusIndicatorComponent } from '../focus-indicator/focus-indicator';\nimport { StateLayerComponent } from '../state-layer/state-layer';\nimport { SliderAdapter } from './slider-adapter';\nimport { SLIDER_CONSTANTS, SliderLabelBuilder, ISliderRangeEventData } from './slider-constants';\nimport { SliderFoundation } from './slider-foundation';\n\nconst template = '<template><div part=\\\"root\\\" class=\\\"forge-slider\\\"><input type=\\\"range\\\" class=\\\"end\\\" id=\\\"end\\\" min=\\\"0\\\" max=\\\"100\\\" step=\\\"1\\\" aria-valuetext=\\\"0\\\"><div class=\\\"track\\\" part=\\\"track\\\"></div><div class=\\\"handle-container-padded\\\"><div class=\\\"handle-container-block\\\"><div class=\\\"handle-container\\\"><div class=\\\"handle end\\\" part=\\\"handle-end\\\"><forge-state-layer exportparts=\\\"surface:state-layer\\\" target=\\\"end\\\"></forge-state-layer><forge-focus-indicator part=\\\"focus-indicator\\\" target=\\\"end\\\"></forge-focus-indicator><div class=\\\"handle-thumb\\\" part=\\\"handle-end-thumb\\\"></div><div class=\\\"handle-label\\\" part=\\\"handle-end-label\\\"><span class=\\\"handle-label-content\\\" part=\\\"handle-end-label-content\\\"></span></div></div></div></div></div></div></template>';\nconst styles = ':host{display:-webkit-inline-box;display:inline-flex;vertical-align:middle;min-inline-size:100%}:host([hidden]){display:none}.forge-slider{--_slider-start-fraction:0;--_slider-end-fraction:0;--_slider-tick-count:100;--_slider-track-height:var(--forge-slider-track-height, 4px);--_slider-active-track-color:var(--forge-slider-active-track-color, var(--forge-theme-primary, #3f51b5));--_slider-active-track-height:var(--forge-slider-active-track-height, var(--_slider-track-height));--_slider-active-track-shape:var(--forge-slider-active-track-shape, var(--forge-shape-full, 9999px));--_slider-disabled-active-track-color:var(--forge-slider-disabled-active-track-color, var(--forge-theme-surface-container-high, #9e9e9e));--_slider-disabled-active-track-opacity:var(--forge-slider-disabled-active-track-opacity, 0.38);--_slider-disabled-handle-color:var(--forge-slider-disabled-handle-color, var(--forge-theme-surface-container-high, #9e9e9e));--_slider-disabled-inactive-track-color:var(--forge-slider-disabled-inactive-track-color, var(--forge-theme-surface-container-high, #9e9e9e));--_slider-disabled-inactive-track-opacity:var(--forge-slider-disabled-inactive-track-opacity, 0.12);--_slider-focus-handle-color:var(--forge-slider-focus-handle-color, var(--forge-theme-primary, #3f51b5));--_slider-handle-color:var(--forge-slider-handle-color, var(--forge-theme-primary, #3f51b5));--_slider-handle-height:var(--forge-slider-handle-height, 20px);--_slider-handle-shape:var(--forge-slider-handle-shape, var(--forge-shape-round, 50%));--_slider-handle-width:var(--forge-slider-handle-width, 20px);--_slider-hover-handle-color:var(--forge-slider-hover-handle-color, var(--forge-theme-primary, #3f51b5));--_slider-inactive-track-color:var(--forge-slider-inactive-track-color, var(--forge-theme-primary-container, #d1d5ed));--_slider-inactive-track-height:var(--forge-slider-inactive-track-height, var(--_slider-track-height));--_slider-inactive-track-shape:var(--forge-slider-inactive-track-shape, var(--forge-shape-full, 9999px));--_slider-label-container-shape:var(--forge-slider-label-container-shape, var(--forge-shape-full, 9999px));--_slider-label-container-color:var(--forge-slider-label-container-color, var(--forge-theme-primary, #3f51b5));--_slider-label-container-height:var(--forge-slider-label-container-height, 28px);--_slider-label-text-color:var(--forge-slider-label-text-color, var(--forge-theme-on-primary, #ffffff));--_slider-pressed-handle-color:var(--forge-slider-pressed-handle-color, var(--forge-theme-primary, #3f51b5));--_slider-state-layer-size:var(--forge-slider-state-layer-size, 40px);--_slider-with-overlap-handle-outline-color:var(--forge-slider-with-overlap-handle-outline-color, var(--forge-theme-on-primary, #ffffff));--_slider-with-overlap-handle-outline-width:var(--forge-slider-with-overlap-handle-outline-width, 1px);--_slider-with-tick-marks-active-container-color:var(--forge-slider-with-tick-marks-active-container-color, var(--forge-theme-on-primary, #ffffff));--_slider-with-tick-marks-container-size:var(--forge-slider-with-tick-marks-container-size, 2px);--_slider-with-tick-marks-disabled-active-container-color:var(--forge-slider-with-tick-marks-disabled-active-container-color, var(--forge-theme-on-surface-container-high, #000000));--_slider-with-tick-marks-disabled-inactive-container-color:var(--forge-slider-with-tick-marks-disabled-inactive-container-color, var(--forge-theme-on-surface-container-high, #000000));--_slider-with-tick-marks-inactive-container-color:var(--forge-slider-with-tick-marks-inactive-container-color, var(--forge-theme-primary, #3f51b5))}.forge-slider{-webkit-box-flex:1;flex:1;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;block-size:var(--_slider-state-layer-size);pointer-events:none;touch-action:none}.forge-slider.range :host-context([dir=rtl]) input.start{-webkit-clip-path:inset(0 0 0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))));clip-path:inset(0 0 0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))))}.forge-slider.range :host([dir=rtl]) input.start{-webkit-clip-path:inset(0 0 0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))));clip-path:inset(0 0 0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))))}.forge-slider.range input.start:dir(rtl){-webkit-clip-path:inset(0 0 0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))));clip-path:inset(0 0 0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))))}.forge-slider.range input.start{-webkit-clip-path:inset(0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))) 0 0);clip-path:inset(0 calc(100% - (var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2)))) 0 0)}.forge-slider.range input.end{-webkit-clip-path:inset(0 0 0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))));clip-path:inset(0 0 0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))))}.forge-slider.range :host-context([dir=rtl]) input.end{-webkit-clip-path:inset(0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))) 0 0);clip-path:inset(0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))) 0 0)}.forge-slider.range :host([dir=rtl]) input.end{-webkit-clip-path:inset(0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))) 0 0);clip-path:inset(0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))) 0 0)}.forge-slider.range input.end:dir(rtl){-webkit-clip-path:inset(0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))) 0 0);clip-path:inset(0 calc(var(--_slider-state-layer-size)/ 2 + (100% - var(--_slider-state-layer-size)) * (var(--_slider-start-fraction) + ((var(--_slider-end-fraction) - var(--_slider-start-fraction))/ 2))) 0 0)}.track{position:absolute;inset:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.track::after,.track::before{content:\\\"\\\";position:absolute;inset-inline-start:calc((var(--_slider-state-layer-size)/ 2) - var(--_slider-with-tick-marks-container-size));inset-inline-end:calc((var(--_slider-state-layer-size)/ 2) - var(--_slider-with-tick-marks-container-size));background-size:calc((100% - var(--_slider-with-tick-marks-container-size) * 2)/ var(--_slider-tick-count)) 100%}.track::before{block-size:var(--_slider-inactive-track-height);border-radius:var(--_slider-inactive-track-shape);background-color:var(--_slider-inactive-track-color)}.track::after{block-size:var(--_slider-active-track-height);border-radius:var(--_slider-active-track-shape);-webkit-clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)));clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)));background-color:var(--_slider-active-track-color)}.track.tickmarks::before{background-image:radial-gradient(circle at var(--_slider-with-tick-marks-container-size) center,var(--_slider-with-tick-marks-inactive-container-color) 0,var(--_slider-with-tick-marks-inactive-container-color) calc(var(--_slider-with-tick-marks-container-size)/ 2),transparent calc(var(--_slider-with-tick-marks-container-size)/ 2))}.track.tickmarks::after{background-image:radial-gradient(circle at var(--_slider-with-tick-marks-container-size) center,var(--_slider-with-tick-marks-active-container-color) 0,var(--_slider-with-tick-marks-active-container-color) calc(var(--_slider-with-tick-marks-container-size)/ 2),transparent calc(var(--_slider-with-tick-marks-container-size)/ 2))}.handle-container-block,.handle-container-padded{position:relative;block-size:100%;inline-size:100%}.handle-container-padded{padding-inline:calc(var(--_slider-state-layer-size)/ 2)}.handle-container{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(--_slider-state-layer-size);inline-size:var(--_slider-state-layer-size);border-radius:var(--_slider-handle-shape);display:grid;place-items:center}.handle.start{inset-inline-start:calc(0px - var(--_slider-state-layer-size)/ 2)}.handle.end{inset-inline-end:calc(0px - var(--_slider-state-layer-size)/ 2)}.handle-thumb{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);position:absolute;height:var(--_slider-handle-height);width:var(--_slider-handle-width);border-radius:var(--_slider-handle-shape);background:var(--_slider-handle-color)}.handle-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-label-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));line-height:var(--forge-typography-label-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label-text-decoration,inherit);text-decoration:var(--forge-typography-label-text-decoration,inherit);position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;padding:4px;place-items:center;border-radius:var(--_slider-label-container-shape);color:var(--_slider-label-text-color);font-weight:500;white-space:nowrap;inset-block-end:100%;min-inline-size:var(--_slider-label-container-height);min-block-size:var(--_slider-label-container-height);background:var(--_slider-label-container-color);-webkit-transition:-webkit-transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1));transition:-webkit-transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1));transition:transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1));transition:transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1)),-webkit-transform var(--forge-animation-duration-short2, 100ms) var(--forge-animation-easing-standard, cubic-bezier(.2, 0, 0, 1));-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-transform:scale(0);transform:scale(0)}.handle-label::after,.handle-label::before{content:\\\"\\\";position:absolute;display:block;background:inherit}.handle-label::before{inline-size:calc(var(--_slider-label-container-height)/ 2);block-size:calc(var(--_slider-label-container-height)/ 2);bottom:calc(var(--_slider-label-container-height)/ -10);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.handle-label::after{inset:0;border-radius:inherit}.handle-label-content{z-index:1}.handle-container.hover .handle-thumb{background:var(--_slider-hover-handle-color)}:host(:not([disabled])) input.end:active~.handle-container-padded .handle.end>.handle-thumb,:host(:not([disabled])) input.start:active~.handle-container-padded .handle.start>.handle-thumb{background:var(--_slider-pressed-handle-color)}:host([disabled]) .handle-thumb{-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);background:var(--_slider-disabled-handle-color)}:host([disabled]) .handle-label{background:var(--_slider-disabled-handle-color)}:host([disabled]) .track::before{opacity:calc((1 / var(--_slider-disabled-active-track-opacity)) * var(--_slider-disabled-inactive-track-opacity));background-color:var(--_slider-disabled-inactive-track-color)}:host([disabled]) .track::after{background-color:var(--_slider-disabled-active-track-color)}:host([disabled]) .track.tickmarks::before{background-image:radial-gradient(circle at var(--_slider-with-tick-marks-container-size) center,var(--_slider-with-tick-marks-disabled-inactive-container-color) 0,var(--_slider-with-tick-marks-disabled-inactive-container-color) calc(var(--_slider-with-tick-marks-container-size)/ 2),transparent calc(var(--_slider-with-tick-marks-container-size)/ 2))}:host([disabled]) .track.tickmarks::after{background-image:radial-gradient(circle at var(--_slider-with-tick-marks-container-size) center,var(--_slider-with-tick-marks-disabled-active-container-color) 0,var(--_slider-with-tick-marks-disabled-active-container-color) calc(var(--_slider-with-tick-marks-container-size)/ 2),transparent calc(var(--_slider-with-tick-marks-container-size)/ 2))}:host([disabled]) input[type=range]{cursor:not-allowed}:host-context([dir=rtl]) .track::after{-webkit-clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))));clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))))}:host([dir=rtl]) .track::after{-webkit-clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))));clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))))}.track:dir(rtl)::after{-webkit-clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))));clip-path:inset(0 calc(calc(var(--_slider-with-tick-marks-container-size) * min(var(--_slider-start-fraction) * 1e9,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * var(--_slider-start-fraction)) 0 calc(calc(var(--_slider-with-tick-marks-container-size) * min((1 - var(--_slider-end-fraction)) * 1000000000,1)) + calc(100% - var(--_slider-with-tick-marks-container-size) * 2) * (1 - var(--_slider-end-fraction))))}input.end:focus~.handle-container-padded .handle.end>.handle-thumb,input.start:focus~.handle-container-padded .handle.start>.handle-thumb{background:var(--_slider-focus-handle-color)}.on-top.overlapping .handle-label,.on-top.overlapping .handle-label::before,.on-top.overlapping .handle-thumb{border:var(--_slider-with-overlap-handle-outline-color) solid var(--_slider-with-overlap-handle-outline-width)}.handle-container.hover .handle-label,:host(:focus-within) .handle-label,:where(:has(input:active)) .handle-label{-webkit-transform:scale(1);transform:scale(1)}input[type=range]{opacity:0;-webkit-tap-highlight-color:transparent;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;width:100%;margin:0;background:0 0;cursor:pointer;pointer-events:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=range]:focus{outline:0}input[type=range]::-webkit-slider-runnable-track{-webkit-appearance:none}input[type=range]::-moz-range-track{-moz-appearance:none;appearance:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;block-size:var(--_slider-state-layer-size);inline-size:var(--_slider-state-layer-size);-webkit-transform:scaleX(0);transform:scaleX(0);opacity:0;z-index:2}input[type=range]::-moz-range-thumb{-moz-appearance:none;appearance:none;block-size:var(--_slider-state-layer-size);inline-size:var(--_slider-state-layer-size);transform:scaleX(0);opacity:0;z-index:2}.on-top{z-index:1}@media (prefers-reduced-motion){.handle-label{-webkit-transition-duration:0;transition-duration:0}}forge-focus-indicator{--forge-focus-indicator-shape:50%;--forge-focus-indicator-outward-offset:0px}forge-state-layer{--forge-state-layer-color:var(--_slider-handle-color)}';\n\nexport interface ISliderComponent extends IBaseFormComponent<number> {\n valueStart: number;\n valueEnd: number;\n label: string;\n labelStart: string;\n labelEnd: string;\n labelBuilder: SliderLabelBuilder;\n min: number;\n max: number;\n step: number;\n range: boolean;\n tickmarks: boolean;\n labeled: boolean;\n nameStart: string;\n nameEnd: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-slider': ISliderComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-slider-input': CustomEvent<number | ISliderRangeEventData>;\n 'forge-slider-change': CustomEvent<number | ISliderRangeEventData>;\n }\n}\n\n/**\n * @tag forge-slider\n * \n * @summary Sliders allow users to make selections from a range of values.\n * \n * @description Use sliders to enable users to select a value from a continuous or discrete range of values.\n * \n * @property {number} value - The current value of the slider.\n * @property {number} valueStart - The current start value of the slider.\n * @property {number} valueEnd - The current end value of the slider.\n * @property {string} label - The label text for the slider handle.\n * @property {string} labelStart - The label text for the start slider handle.\n * @property {string} labelEnd - The label text for the end slider handle.\n * @property {SliderLabelBuilder} labelBuilder - A function that returns a label for the slider handle.\n * @property {number} min - The minimum value of the slider.\n * @property {number} max - The maximum value of the slider.\n * @property {number} step - The step value of the slider.\n * @property {boolean} range - Controls range mode.\n * @property {boolean} tickmarks - Controls if tickmarks are visible.\n * @property {boolean} labeled - Controls if labels are visible.\n * @property {boolean} disabled - Controls if the slider is disabled.\n * @property {boolean} readonly - Controls if the slider is readonly.\n * @property {string} name - The form control name.\n * @property {string} nameStart - The form control name for the start handle in range mode.\n * @property {string} nameEnd - The form control name for the end handle in range mode.\n * \n * @attribute {string} value - Sets the current value of the slider.\n * @attribute {string} value-start - Sets the current start value of the slider in range mode.\n * @attribute {string} value-end - Sets the current end value of the slider in range mode.\n * @attribute {string} label - Sets the label text for the slider handle.\n * @attribute {string} label-start - Sets the label text for the start slider handle in range mode.\n * @attribute {string} label-end - Sets the label text for the end slider handle in range mode.\n * @attribute {string} min - Sets the minimum value of the slider.\n * @attribute {string} max - Sets the maximum value of the slider.\n * @attribute {string} step - Sets the step value of the slider.\n * @attribute {string} tickmarks - Controls if tickmarks are visible.\n * @attribute {string} labeled - Controls if labels are visible.\n * @attribute {string} range - Controls range mode.\n * @attribute {string} disabled - Controls if the slider is disabled.\n * @attribute {string} readonly - Controls if the slider is readonly.\n * @attribute {string} name - Controls the form control name.\n * @attribute {string} name-start - Controls the form control name for the start handle in range mode.\n * @attribute {string} name-end - Controls the form control name for the end handle in range mode.\n * \n * @event forge-slider-input {CustomEvent} - Dispatches when the slider value changes.\n * @event forge-slider-change {CustomEvent} - Dispatches when the slider value changes and the value has been committed.\n * \n * @cssproperty --mdc-theme-primary - The primary color of the slider.\n * @cssproperty --mdc-theme-on-primary - The color of elements placed on top of the primary color (the label text for example).\n * @cssproperty --forge-slider-track-height - The height of the track.\n * @cssproperty --forge-slider-active-track-color - The color of the active track.\n * @cssproperty --forge-slider-active-track-height - The height of the active track.\n * @cssproperty --forge-slider-active-track-shape - The shape of the active track.\n * @cssproperty --forge-slider-disabled-active-track-color - The color of the active track when disabled.\n * @cssproperty --forge-slider-disabled-active-track-opacity - The opacity of the active track when disabled.\n * @cssproperty --forge-slider-disabled-handle-color - The color of the slider handle when disabled.\n * @cssproperty --forge-slider-disabled-inactive-track-color - The color of the inactive track when disabled.\n * @cssproperty --forge-slider-disabled-inactive-track-opacity - The opacity of the inactive track when disabled.\n * @cssproperty --forge-slider-focus-handle-color - The color of the slider handle when focused.\n * @cssproperty --forge-slider-handle-color - The color of the slider handle.\n * @cssproperty --forge-slider-handle-height - The height of the slider handle.\n * @cssproperty --forge-slider-handle-width - The width of the slider handle.\n * @cssproperty --forge-slider-handle-shape - The shape of the slider handle.\n * @cssproperty --forge-slider-hover-handle-color - The color of the slider handle when hovered.\n * @cssproperty --forge-slider-inactive-track-color - The color of the inactive track.\n * @cssproperty --forge-slider-inactive-track-height - The height of the inactive track.\n * @cssproperty --forge-slider-inactive-track-shape - The shape of the inactive track.\n * @cssproperty --forge-slider-label-container-shape - The shape of the label container.\n * @cssproperty --forge-slider-label-container-color - The color of the label container.\n * @cssproperty --forge-slider-label-container-height - The height of the label container.\n * @cssproperty --forge-slider-label-text-color - The color of the label text.\n * @cssproperty --forge-slider-pressed-handle-color - The color of the slider handle when pressed.\n * @cssproperty --forge-slider-state-layer-size - The size of the state layer.\n * @cssproperty --forge-slider-with-overlap-handle-outline-color - The color of the slider handle outline when overlapping.\n * @cssproperty --forge-slider-with-overlap-handle-outline-width - The width of the slider handle outline when overlapping.\n * @cssproperty --forge-slider-with-tick-marks-active-container-color - The color of the active tick mark container when tick marks are visible.\n * @cssproperty --forge-slider-with-tick-marks-container-size - The size of the tick mark container when tick marks are visible.\n * @cssproperty --forge-slider-with-tick-marks-disabled-active-container-color - The color of the active tick mark container when tick marks are visible and disabled.\n * @cssproperty --forge-slider-with-tick-marks-disabled-inactive-container-color - The color of the inactive tick mark container when tick marks are visible and disabled.\n * @cssproperty --forge-slider-with-tick-marks-inactive-container-color - The color of the inactive tick mark container when tick marks are visible.\n * \n * @csspart slider - Styles the slider container element.\n * @csspart track - Styles the track element.\n * @csspart handle-end - Styles the end handle element.\n * @csspart handle-end-thumb - Styles the end handle thumb element.\n * @csspart handle-end-label - Styles the end handle label element.\n * @csspart handle-end-label-content - Styles the end handle label content element.\n * @csspart handle-start - Styles the start handle element.\n * @csspart handle-start-thumb - Styles the start handle thumb element.\n * @csspart handle-start-label - Styles the start handle label element.\n * @csspart handle-start-label-content - Styles the start handle label content element.\n */\n@CustomElement({\n name: SLIDER_CONSTANTS.elementName,\n dependencies: [\n FocusIndicatorComponent,\n StateLayerComponent\n ]\n})\nexport class SliderComponent extends BaseFormComponent<number> implements ISliderComponent {\n public static get observedAttributes(): string[] {\n return [\n SLIDER_CONSTANTS.attributes.ARIA_LABEL,\n SLIDER_CONSTANTS.attributes.ARIA_LABEL_START,\n SLIDER_CONSTANTS.attributes.ARIA_LABEL_END,\n SLIDER_CONSTANTS.attributes.VALUE,\n SLIDER_CONSTANTS.attributes.VALUE_START,\n SLIDER_CONSTANTS.attributes.VALUE_END,\n SLIDER_CONSTANTS.attributes.LABEL,\n SLIDER_CONSTANTS.attributes.LABEL_START,\n SLIDER_CONSTANTS.attributes.LABEL_END,\n SLIDER_CONSTANTS.attributes.MAX,\n SLIDER_CONSTANTS.attributes.MIN,\n SLIDER_CONSTANTS.attributes.STEP,\n SLIDER_CONSTANTS.attributes.TICKMARKS,\n SLIDER_CONSTANTS.attributes.LABELED,\n SLIDER_CONSTANTS.attributes.RANGE,\n SLIDER_CONSTANTS.attributes.DISABLED,\n SLIDER_CONSTANTS.attributes.READONLY\n ];\n }\n\n public static formAssociated = true;\n\n public get form(): HTMLFormElement | null {\n return this[internals].form;\n }\n\n public get labels(): NodeList {\n return this[internals].labels;\n }\n\n public get name(): string {\n return this.getAttribute('name') ?? '';\n }\n public set name(value: string) {\n toggleAttribute(this, !!value, 'name', value ?? '');\n }\n\n public get nameStart(): string {\n return this.getAttribute('name-start') ?? this.name;\n }\n public set nameStart(value: string) {\n toggleAttribute(this, !!value, 'name-start', value ?? '');\n }\n\n public get nameEnd(): string {\n return this.getAttribute('name-end') ?? this.nameStart;\n }\n public set nameEnd(value: string) {\n toggleAttribute(this, !!value, 'name-end', value ?? '');\n }\n\n public readonly [internals]: ElementInternals;\n private readonly _foundation: SliderFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this[internals] = this.attachInternals();\n this._foundation = new SliderFoundation(new SliderAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case SLIDER_CONSTANTS.attributes.ARIA_LABEL:\n this._foundation.ariaLabel = newValue;\n break;\n case SLIDER_CONSTANTS.attributes.ARIA_LABEL_START:\n this._foundation.ariaLabelStart = newValue;\n break;\n case SLIDER_CONSTANTS.attributes.ARIA_LABEL_END:\n this._foundation.ariaLabelEnd = newValue;\n break;\n case SLIDER_CONSTANTS.attributes.VALUE:\n this.value = coerceNumber(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.VALUE_START:\n this.valueStart = coerceNumber(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.VALUE_END:\n this.valueEnd = coerceNumber(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n break;\n case SLIDER_CONSTANTS.attributes.LABEL_START:\n this.labelStart = newValue;\n break;\n case SLIDER_CONSTANTS.attributes.LABEL_END:\n this.labelEnd = newValue;\n break;\n case SLIDER_CONSTANTS.attributes.MIN:\n this.min = coerceNumber(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.MAX:\n this.max = coerceNumber(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.STEP:\n this.step = coerceNumber(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.TICKMARKS:\n this.tickmarks = coerceBoolean(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.LABELED:\n this.labeled = coerceBoolean(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.RANGE:\n this.range = coerceBoolean(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case SLIDER_CONSTANTS.attributes.READONLY:\n this.readonly = coerceBoolean(newValue);\n break;\n }\n }\n\n public formResetCallback(): void {\n if (this._foundation.range) {\n const valueStart = this.getAttribute('value-start');\n this.valueStart = valueStart !== null ? Number(valueStart) : SLIDER_CONSTANTS.numbers.DEFAULT_START_VALUE;\n const valueEnd = this.getAttribute('value-end');\n this.valueEnd = valueEnd !== null ? Number(valueEnd) : SLIDER_CONSTANTS.numbers.DEFAULT_END_VALUE;\n return;\n }\n const value = this.getAttribute('value');\n this.value = value !== null ? Number(value) : SLIDER_CONSTANTS.numbers.DEFAULT_VALUE;\n }\n\n public formStateRestoreCallback(state: string | Array<[string, string]> | null): void {\n if (state && state[0] instanceof FormData) {\n const values = Array.from(state[0]);\n const [[, valueStart], [, valueEnd]] = values;\n this.valueStart = Number(valueStart);\n this.valueEnd = Number(valueEnd);\n this.range = true;\n return;\n }\n\n this.value = Number(state);\n this.range = false;\n }\n\n public formDisabledCallback(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n @FoundationProperty()\n public declare value: number;\n\n @FoundationProperty()\n public declare valueStart: number;\n\n @FoundationProperty()\n public declare valueEnd: number;\n\n @FoundationProperty()\n public declare label: string;\n\n @FoundationProperty()\n public declare labelStart: string;\n\n @FoundationProperty()\n public declare labelEnd: string;\n\n @FoundationProperty()\n public declare labelBuilder: SliderLabelBuilder;\n\n @FoundationProperty()\n public declare min: number;\n\n @FoundationProperty()\n public declare max: number;\n\n @FoundationProperty()\n public declare step: number;\n\n @FoundationProperty()\n public declare tickmarks: boolean;\n \n @FoundationProperty()\n public declare labeled: boolean;\n\n @FoundationProperty()\n public declare range: boolean;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare readonly: boolean;\n}\n", "import { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core';\nimport { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { ISliderComponent } from '../slider';\nimport { ISliderRangeEventData, SLIDER_CONSTANTS } from './slider-constants';\n\nexport type SliderComponentDelegateProps = Partial<ISliderComponent>;\nexport interface ISliderComponentDelegateOptions extends IFormFieldComponentDelegateOptions {}\nexport interface ISliderComponentDelegateConfig extends IBaseComponentDelegateConfig<ISliderComponent, ISliderComponentDelegateOptions> {}\n\nexport class SliderComponentDelegate extends FormFieldComponentDelegate<ISliderComponent, ISliderComponentDelegateOptions> {\n constructor(config?: ISliderComponentDelegateConfig) {\n super(config);\n }\n\n public get value(): number {\n return this._element.value;\n }\n public set value(value: number) {\n this._element.value = value;\n }\n\n public get valueStart(): number {\n return this._element.valueStart;\n }\n public set valueStart(value: number) {\n this._element.valueStart = value;\n }\n\n public get valueEnd(): number {\n return this._element.valueEnd;\n }\n public set valueEnd(value: number) {\n this._element.valueEnd = value;\n }\n\n public get disabled(): boolean {\n return this._element.disabled;\n }\n public set disabled(value: boolean) {\n this._element.disabled = value;\n }\n\n public get min(): number {\n return this._element.min;\n }\n public set min(value: number) {\n this._element.min = value;\n }\n\n public get max(): number {\n return this._element.max;\n }\n public set max(value: number) {\n this._element.max = value;\n }\n\n public get step(): number {\n return this._element.step;\n }\n\n public get range(): boolean {\n return this._element.range;\n }\n public set range(value: boolean) {\n this._element.range = value;\n }\n\n public get tickmarks(): boolean {\n return this._element.tickmarks;\n }\n public set tickmarks(value: boolean) {\n this._element.tickmarks = value;\n }\n\n public get labeled(): boolean {\n return this._element.labeled;\n }\n public set labeled(value: boolean) {\n this._element.labeled = value;\n }\n\n public get labelBuilder(): (value: number, which?: 'start' | 'end') => string {\n return this._element.labelBuilder;\n }\n public set labelBuilder(value: (value: number, which?: 'start' | 'end') => string) {\n this._element.labelBuilder = value;\n }\n\n public onInput(listener: (value: number | ISliderRangeEventData) => void): void {\n this._element.addEventListener('forge-slider-input', ({ detail }: CustomEvent<number | ISliderRangeEventData>) => listener(detail));\n }\n\n public onChange(listener: (value: number | ISliderRangeEventData) => void): void {\n this._element.addEventListener('forge-slider-change', ({ detail }: CustomEvent<number | ISliderRangeEventData>) => listener(detail));\n }\n\n public onFocus(listener: (evt: Event) => void): void {\n this._element.addEventListener('focus', evt => listener(evt));\n }\n\n public onBlur(listener: (evt: Event) => void): void {\n this._element.addEventListener('blur', evt => listener(evt));\n }\n\n protected _build(): ISliderComponent {\n return document.createElement(SLIDER_CONSTANTS.elementName);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SliderComponent } from './slider';\n\nexport * from './slider-constants';\nexport * from './slider';\nexport * from './slider-component-delegate';\n\nexport function defineSliderComponent(): void {\n defineCustomElement(SliderComponent);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "classes", "events", "cssCustomProperties", "numbers", "SLIDER_CONSTANTS", "createStartInputElement", "component", "startInput", "SLIDER_CONSTANTS", "createStartHandleElement", "thumbLabel", "startHandle", "startHandleStateLayer", "startHandleFocusIndicator", "startHandleThumb", "startHandleLabel", "startHandleLabelContent", "createLabel", "text", "labelElement", "labelContentElement", "SliderAdapter", "BaseAdapter", "component", "getShadowElement", "SLIDER_CONSTANTS", "type", "listener", "input", "startFraction", "endFraction", "tickCount", "labelStart", "labelEnd", "_a", "isEndFocused", "toggleClass", "coords", "_b", "_c", "isPointerOverElement", "isOverlapping", "elementsOverlapping", "valueStart", "valueEnd", "data", "internals", "value", "createStartInputElement", "thumbLabel", "createStartHandleElement", "step", "STATE_LAYER_CONSTANTS", "sl", "label", "endLabelEl", "createLabel", "startLabelEl", "toggleAttribute", "inputs", "SliderFoundation", "_adapter", "SLIDER_CONSTANTS", "evt", "_a", "_b", "renderValue", "renderValueStart", "renderValueEnd", "step", "range", "startFraction", "valueEnd", "endFraction", "tickCount", "labelStart", "labelEnd", "valueCopy", "valueStartCopy", "valueEndCopy", "target", "x", "y", "_evt", "input", "isStart", "type", "data", "value", "cb", "template", "styles", "SliderComponent", "BaseFormComponent", "attachShadowTemplate", "internals", "SliderFoundation", "SliderAdapter", "SLIDER_CONSTANTS", "_a", "value", "toggleAttribute", "name", "oldValue", "newValue", "coerceNumber", "coerceBoolean", "valueStart", "valueEnd", "state", "values", "isDisabled", "__decorateClass", "FoundationProperty", "CustomElement", "FocusIndicatorComponent", "StateLayerComponent", "SliderComponentDelegate", "FormFieldComponentDelegate", "config", "value", "listener", "detail", "evt", "SLIDER_CONSTANTS", "defineSliderComponent", "defineCustomElement", "SliderComponent"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{b,d as E}from"./chunk.FJRCWWE2.js";import{a as g}from"./chunk.3TKTJ3BY.js";import{a as l}from"./chunk.NVUMRW44.js";import{a as v}from"./chunk.T4J66YX5.js";import{a as T}from"./chunk.6ZJIHOIG.js";import{a as m,e as _,k as B}from"./chunk.TPXXHX5J.js";import{k as p}from"./chunk.J2M2MXP2.js";import{d as r}from"./chunk.M3QDAYD2.js";var c=class extends g{constructor(o){super(o)}startButtonObserver(){this._buttonChangeObserver=new MutationObserver(o=>{let s=o.reduce((t,{addedNodes:u})=>{let d=Array.from(u).filter(a=>a.nodeType===Node.ELEMENT_NODE).map(a=>a.nodeName.toLowerCase()===b.elementName?a:a.querySelector(b.elementName)).filter(a=>!!a);return t.concat(d)},[]);s.length&&(s.forEach(t=>{t.variant=this._component.variant,t.theme=this._component.theme,t.disabled=this._component.disabled,t.dense=this._component.dense}),this.setPill(this._component.pill))}),this._buttonChangeObserver.observe(this._component,{childList:!0,subtree:!0})}destroyButtonObserver(){var o;(o=this._buttonChangeObserver)==null||o.disconnect(),this._buttonChangeObserver=void 0}setVariant(o){this._getButtons().forEach(t=>t.variant=o)}setTheme(o){this._getButtons().forEach(t=>t.theme=o)}setDisabled(o){this._getButtons().forEach(t=>t.disabled=o)}setDense(o){this._getButtons().forEach(t=>t.dense=o)}setPill(o){let s=this._getButtons();s.length>2&&Array.from(s).slice(1,s.length-1).filter(({pill:d})=>d).forEach(d=>d.pill=!1);let t=s[0];t&&(t.pill=o);let u=s[s.length-1];u&&(u.pill=o)}_getButtons(){return this._component.querySelectorAll(b.elementName)}};var A=`${T}split-button`,S={VARIANT:"variant",THEME:"theme",DISABLED:"disabled",DENSE:"dense",PILL:"pill"},I={DEFAULT_VARIANT:"text",DEFAULT_THEME:"primary"},i={elementName:A,attributes:S,defaults:I};var f=class{constructor(e){this._adapter=e;this._variant=i.defaults.DEFAULT_VARIANT;this._theme=i.defaults.DEFAULT_THEME;this._disabled=!1;this._dense=!1;this._pill=!1}initialize(){this._adapter.startButtonObserver(),this._adapter.setVariant(this._variant),this._adapter.setTheme(this._theme),this._adapter.setDisabled(this._disabled),this._adapter.setDense(this._dense),this._adapter.setPill(this._pill)}destroy(){this._adapter.destroyButtonObserver()}get variant(){return this._variant}set variant(e){this._variant!==e&&(this._variant=e!=null?e:i.defaults.DEFAULT_VARIANT,this._adapter.setVariant(e),this._adapter.setHostAttribute(i.attributes.VARIANT,this._variant))}get theme(){return this._theme}set theme(e){this._theme!==e&&(this._theme=e!=null?e:i.defaults.DEFAULT_THEME,this._adapter.setTheme(this._theme),this._adapter.setHostAttribute(i.attributes.THEME,this._theme))}get disabled(){return this._disabled}set disabled(e){this._disabled!==e&&(this._disabled=e,this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled))}get dense(){return this._dense}set dense(e){this._dense!==e&&(this._dense=e,this._adapter.setDense(this._dense),this._adapter.toggleHostAttribute(i.attributes.DENSE,this._dense))}get pill(){return this._pill}set pill(e){this._pill!==e&&(this._pill=e,this._adapter.setPill(this._pill),this._adapter.toggleHostAttribute(i.attributes.PILL,this._pill))}};var N="<template><slot></slot></template>",x=":host{--_split-button-min-width:var(--forge-split-button-min-width, 0);--_split-button-gap:var(--forge-split-button-gap, var(--forge-border-thin, 1px));--_split-button-focus-indicator-offset:var(--forge-split-button-focus-indicator-offset, var(--forge-button-focus-indicator-offset, 4px));--_split-button-focus-indicator-divider-offset:var(--forge-split-button-focus-indicator-divider-offset, var(--_split-button-gap));--_split-button-focus-indicator-offset-adjusted:calc(var(--_split-button-focus-indicator-offset) + var(--_split-button-focus-indicator-divider-offset) * 2)}:host{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}:host([hidden]){display:none}::slotted(*){--forge-button-min-width:var(--_split-button-min-width);--forge-button-focus-indicator-offset:var(--_split-button-focus-indicator-offset)}::slotted(:first-child){--forge-button-shape-start-end-radius:0;--forge-button-shape-end-end-radius:0;--forge-focus-indicator-shape-start-end:0;--forge-focus-indicator-shape-end-end:0;--forge-focus-indicator-offset-inline:0 var(--_split-button-focus-indicator-offset-adjusted)}::slotted(:not(:first-child):not(:last-child)){--forge-button-shape:0;--forge-focus-indicator-shape:0;--forge-focus-indicator-offset-inline:var(--_split-button-focus-indicator-offset-adjusted)}::slotted(:last-child){--forge-button-shape-start-start-radius:0;--forge-button-shape-end-start-radius:0;--forge-focus-indicator-shape-start-start:0;--forge-focus-indicator-shape-end-start:0;--forge-focus-indicator-offset-inline:var(--_split-button-focus-indicator-offset-adjusted) 0}:host([variant=outlined]){--_split-button-focus-indicator-divider-offset:var(--forge-split-button-focus-indicator-divider-offset, 0px)}:host([variant=outlined]) ::slotted(:not(:first-child)){-webkit-margin-start:calc(-1 * var(--_split-button-gap));margin-inline-start:calc(-1 * var(--_split-button-gap))}:host(:is([variant=tonal],[variant=filled],[variant=raised],:not([variant]))) ::slotted(:not(:last-child)){-webkit-margin-end:var(--_split-button-gap);margin-inline-end:var(--_split-button-gap)}",n=class extends B{constructor(){super();_(this,N,x),this._foundation=new f(new c(this))}static get observedAttributes(){return[i.attributes.VARIANT,i.attributes.THEME,i.attributes.DISABLED,i.attributes.DENSE,i.attributes.PILL]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(o,s,t){switch(o){case i.attributes.VARIANT:this.variant=t;break;case i.attributes.THEME:this.theme=t;break;case i.attributes.DISABLED:this.disabled=p(t);break;case i.attributes.DENSE:this.dense=p(t);break;case i.attributes.PILL:this.pill=p(t);break}}};r([l()],n.prototype,"variant",2),r([l()],n.prototype,"theme",2),r([l()],n.prototype,"disabled",2),r([l()],n.prototype,"dense",2),r([l()],n.prototype,"pill",2),n=r([v({name:i.elementName,dependencies:[E]})],n);function Y(){m(n)}export{c as a,i as b,f as c,n as d,Y as e};
7
+ //# sourceMappingURL=chunk.WARVAVAW.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/split-button/split-button-adapter.ts", "../../src/split-button/split-button-constants.ts", "../../src/split-button/split-button-foundation.ts", "../../src/split-button/split-button.ts", "../../src/split-button/index.ts"],
4
4
  "sourcesContent": ["import { ButtonTheme, BUTTON_CONSTANTS, IButtonComponent } from '../button';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { ISplitButtonComponent } from './split-button';\nimport { SplitButtonVariant } from './split-button-constants';\n\nexport interface ISplitButtonAdapter extends IBaseAdapter {\n setVariant(variant: SplitButtonVariant): void;\n setTheme(theme: ButtonTheme): void;\n setDisabled(value: boolean): void;\n setDense(value: boolean): void;\n setPill(value: boolean): void;\n startButtonObserver(): void;\n destroyButtonObserver(): void;\n}\n\nexport class SplitButtonAdapter extends BaseAdapter<ISplitButtonComponent> implements ISplitButtonAdapter {\n private _buttonChangeObserver: MutationObserver | undefined;\n\n constructor(component: ISplitButtonComponent) {\n super(component);\n }\n\n public startButtonObserver(): void {\n // This observer is used to keep the buttons in sync with the split button state when they are added to DOM\n this._buttonChangeObserver = new MutationObserver(mutations => {\n // Find all `<forge-button>` elements that are contained within the added nodes\n const addedButtons = mutations.reduce((buttons, { addedNodes }) => {\n const addedButtonNodes = Array.from(addedNodes)\n .filter(node => node.nodeType === Node.ELEMENT_NODE)\n .map((node: HTMLElement) => {\n if (node.nodeName.toLowerCase() === BUTTON_CONSTANTS.elementName) {\n return node;\n }\n return node.querySelector(BUTTON_CONSTANTS.elementName);\n })\n .filter(node => !!node) as IButtonComponent[];\n return buttons.concat(addedButtonNodes);\n }, [] as IButtonComponent[]);\n\n if (!addedButtons.length) {\n return;\n }\n \n addedButtons.forEach(button => {\n button.variant = this._component.variant;\n button.theme = this._component.theme;\n button.disabled = this._component.disabled;\n button.dense = this._component.dense;\n });\n\n this.setPill(this._component.pill);\n });\n this._buttonChangeObserver.observe(this._component, { childList: true, subtree: true });\n }\n\n public destroyButtonObserver(): void {\n this._buttonChangeObserver?.disconnect();\n this._buttonChangeObserver = undefined;\n }\n\n public setVariant(variant: SplitButtonVariant): void {\n const buttons = this._getButtons();\n buttons.forEach(button => button.variant = variant);\n }\n\n public setTheme(theme: ButtonTheme): void {\n const buttons = this._getButtons();\n buttons.forEach(button => button.theme = theme);\n }\n\n public setDisabled(value: boolean): void {\n const buttons = this._getButtons();\n buttons.forEach(button => button.disabled = value);\n }\n\n public setDense(value: boolean): void {\n const buttons = this._getButtons();\n buttons.forEach(button => button.dense = value);\n }\n\n public setPill(value: boolean): void {\n const buttons = this._getButtons();\n\n // First we reset all the middle buttons to not be pill buttons\n if (buttons.length > 2) {\n Array.from(buttons)\n .slice(1, buttons.length - 1)\n .filter(({ pill }) => pill)\n .forEach(button => button.pill = false);\n }\n\n // Only the first and last buttons need to be pill shaped\n const firstButton = buttons[0];\n if (firstButton) {\n firstButton.pill = value;\n }\n\n const lastButton = buttons[buttons.length - 1];\n if (lastButton) {\n lastButton.pill = value;\n }\n }\n\n private _getButtons(): NodeListOf<IButtonComponent> {\n return this._component.querySelectorAll(BUTTON_CONSTANTS.elementName);\n }\n}\n", "import { ButtonTheme, ButtonVariant } from '../button';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}split-button`;\n\nconst attributes = {\n VARIANT: 'variant',\n THEME: 'theme',\n DISABLED: 'disabled',\n DENSE: 'dense',\n PILL: 'pill'\n};\n\nconst defaults = {\n DEFAULT_VARIANT: 'text' as SplitButtonVariant,\n DEFAULT_THEME: 'primary' as ButtonTheme\n};\n\nexport const SPLIT_BUTTON_CONSTANTS = {\n elementName,\n attributes,\n defaults\n};\n\nexport type SplitButtonVariant = Extract<ButtonVariant, 'text' | 'outlined' | 'tonal' | 'filled' | 'raised'>;\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { ButtonTheme } from '../button/button-constants';\nimport { ISplitButtonAdapter } from './split-button-adapter';\nimport { SplitButtonVariant, SPLIT_BUTTON_CONSTANTS } from './split-button-constants';\n\nexport interface ISplitButtonFoundation extends ICustomElementFoundation {\n variant: SplitButtonVariant;\n theme: ButtonTheme;\n disabled: boolean;\n dense: boolean;\n pill: boolean;\n}\n\nexport class SplitButtonFoundation implements ISplitButtonFoundation {\n private _variant: SplitButtonVariant = SPLIT_BUTTON_CONSTANTS.defaults.DEFAULT_VARIANT;\n public _theme: ButtonTheme = SPLIT_BUTTON_CONSTANTS.defaults.DEFAULT_THEME;\n private _disabled = false;\n private _dense = false;\n private _pill = false;\n\n constructor(private readonly _adapter: ISplitButtonAdapter) {}\n\n public initialize(): void {\n this._adapter.startButtonObserver();\n\n this._adapter.setVariant(this._variant);\n this._adapter.setTheme(this._theme);\n this._adapter.setDisabled(this._disabled);\n this._adapter.setDense(this._dense);\n this._adapter.setPill(this._pill);\n }\n\n public destroy(): void {\n this._adapter.destroyButtonObserver();\n }\n\n public get variant(): SplitButtonVariant {\n return this._variant;\n }\n public set variant(value: SplitButtonVariant) {\n if (this._variant !== value) {\n this._variant = value ?? SPLIT_BUTTON_CONSTANTS.defaults.DEFAULT_VARIANT;\n this._adapter.setVariant(value);\n this._adapter.setHostAttribute(SPLIT_BUTTON_CONSTANTS.attributes.VARIANT, this._variant);\n }\n }\n\n public get theme(): ButtonTheme {\n return this._theme;\n }\n public set theme(value: ButtonTheme) {\n if (this._theme !== value) {\n this._theme = value ?? SPLIT_BUTTON_CONSTANTS.defaults.DEFAULT_THEME;\n this._adapter.setTheme(this._theme);\n this._adapter.setHostAttribute(SPLIT_BUTTON_CONSTANTS.attributes.THEME, this._theme);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n this._adapter.toggleHostAttribute(SPLIT_BUTTON_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.setDense(this._dense);\n this._adapter.toggleHostAttribute(SPLIT_BUTTON_CONSTANTS.attributes.DENSE, this._dense);\n }\n }\n\n public get pill(): boolean {\n return this._pill;\n }\n public set pill(value: boolean) {\n if (this._pill !== value) {\n this._pill = value;\n this._adapter.setPill(this._pill);\n this._adapter.toggleHostAttribute(SPLIT_BUTTON_CONSTANTS.attributes.PILL, this._pill);\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { ButtonComponent, ButtonTheme } from '../button';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { SplitButtonAdapter } from './split-button-adapter';\nimport { SplitButtonVariant, SPLIT_BUTTON_CONSTANTS } from './split-button-constants';\nimport { SplitButtonFoundation } from './split-button-foundation';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{--_split-button-min-width:var(--forge-split-button-min-width, 0);--_split-button-gap:var(--forge-split-button-gap, var(--forge-border-thin, 1px));--_split-button-focus-indicator-offset:var(--forge-split-button-focus-indicator-offset, var(--forge-button-focus-indicator-offset, 4px));--_split-button-focus-indicator-divider-offset:var(--forge-split-button-focus-indicator-divider-offset, var(--_split-button-gap));--_split-button-focus-indicator-offset-adjusted:calc(var(--_split-button-focus-indicator-offset) + var(--_split-button-focus-indicator-divider-offset) * 2)}:host{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}:host([hidden]){display:none}::slotted(*){--forge-button-min-width:var(--_split-button-min-width);--forge-button-focus-indicator-offset:var(--_split-button-focus-indicator-offset)}::slotted(:first-child){--forge-button-shape-start-end-radius:0;--forge-button-shape-end-end-radius:0;--forge-focus-indicator-shape-start-end:0;--forge-focus-indicator-shape-end-end:0;--forge-focus-indicator-offset-inline:0 var(--_split-button-focus-indicator-offset-adjusted)}::slotted(:not(:first-child):not(:last-child)){--forge-button-shape:0;--forge-focus-indicator-shape:0;--forge-focus-indicator-offset-inline:var(--_split-button-focus-indicator-offset-adjusted)}::slotted(:last-child){--forge-button-shape-start-start-radius:0;--forge-button-shape-end-start-radius:0;--forge-focus-indicator-shape-start-start:0;--forge-focus-indicator-shape-end-start:0;--forge-focus-indicator-offset-inline:var(--_split-button-focus-indicator-offset-adjusted) 0}:host([variant=outlined]){--_split-button-focus-indicator-divider-offset:var(--forge-split-button-focus-indicator-divider-offset, 0px)}:host([variant=outlined]) ::slotted(:not(:first-child)){-webkit-margin-start:calc(-1 * var(--_split-button-gap));margin-inline-start:calc(-1 * var(--_split-button-gap))}:host(:is([variant=tonal],[variant=filled],[variant=raised],:not([variant]))) ::slotted(:not(:last-child)){-webkit-margin-end:var(--_split-button-gap);margin-inline-end:var(--_split-button-gap)}';\n\nexport interface ISplitButtonComponent extends IBaseComponent {\n variant: SplitButtonVariant;\n theme: ButtonTheme;\n disabled: boolean;\n dense: boolean;\n pill: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-split-button': ISplitButtonComponent;\n }\n}\n\n/**\n * @tag forge-split-button\n * \n * @summary Split buttons are used for splitting an action into two parts.\n * \n * @property {SplitButtonVariant} variant - The variant of the buttons. Valid values are `text`, `outlined`, `tonal`, `filled`, and `raised`.\n * @property {ButtonTheme} theme - The theme of the buttons. Valid values are `primary`, `secondary`, `tertiary`, `success`, `error`, `warning`, `info`.\n * @property {boolean} disabled - Whether or not the buttons are disabled.\n * @property {boolean} dense - Whether or not the buttons are dense.\n * @property {boolean} pill - Whether or not the buttons are pill-shaped.\n * \n * @attribute {SplitButtonVariant} variant - The variant of the buttons. Valid values are `text`, `outlined`, `tonal`, `filled`, and `raised`.\n * @attribute {ButtonTheme} theme - The theme of the buttons. Valid values are `primary`, `secondary`, `tertiary`, `success`, `error`, `warning`, `info`.\n * @attribute {boolean} disabled - Whether or not the buttons are disabled.\n * @attribute {boolean} dense - Whether or not the buttons are dense.\n * @attribute {boolean} pill - Whether or not the buttons are pill-shaped.\n * \n * @cssproperty --forge-split-button-min-width - The minimum width of the slotted buttons.\n * @cssproperty --forge-split-button-gap - The gap between the slotted buttons.\n * @cssproperty --forge-split-button-focus-indicator-offset - The offset of the focus indicator around the buttons.\n * @cssproperty --forge-split-button-focus-indicator-divider-offset - The offset of the focus indicator divider when using outlined buttons.\n * \n * @slot - This is a default/unnamed slot.\n */\n@CustomElement({\n name: SPLIT_BUTTON_CONSTANTS.elementName,\n dependencies: [\n ButtonComponent\n ]\n})\nexport class SplitButtonComponent extends BaseComponent implements ISplitButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n SPLIT_BUTTON_CONSTANTS.attributes.VARIANT,\n SPLIT_BUTTON_CONSTANTS.attributes.THEME,\n SPLIT_BUTTON_CONSTANTS.attributes.DISABLED,\n SPLIT_BUTTON_CONSTANTS.attributes.DENSE,\n SPLIT_BUTTON_CONSTANTS.attributes.PILL\n ];\n }\n\n private readonly _foundation: SplitButtonFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new SplitButtonFoundation(new SplitButtonAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case SPLIT_BUTTON_CONSTANTS.attributes.VARIANT:\n this.variant = newValue as SplitButtonVariant;\n break;\n case SPLIT_BUTTON_CONSTANTS.attributes.THEME:\n this.theme = newValue as ButtonTheme;\n break;\n case SPLIT_BUTTON_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case SPLIT_BUTTON_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case SPLIT_BUTTON_CONSTANTS.attributes.PILL:\n this.pill = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare variant: SplitButtonVariant;\n\n @FoundationProperty()\n public declare theme: ButtonTheme;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare dense: boolean;\n\n @FoundationProperty()\n public declare pill: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SplitButtonComponent } from './split-button';\n\nexport * from './split-button-adapter';\nexport * from './split-button-constants';\nexport * from './split-button-foundation';\nexport * from './split-button';\n\nexport function defineSplitButtonComponent(): void {\n defineCustomElement(SplitButtonComponent);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["SplitButtonAdapter", "BaseAdapter", "component", "mutations", "addedButtons", "buttons", "addedNodes", "addedButtonNodes", "node", "BUTTON_CONSTANTS", "button", "_a", "variant", "theme", "value", "pill", "firstButton", "lastButton", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "defaults", "SPLIT_BUTTON_CONSTANTS", "SplitButtonFoundation", "_adapter", "SPLIT_BUTTON_CONSTANTS", "value", "template", "styles", "SplitButtonComponent", "BaseComponent", "attachShadowTemplate", "SplitButtonFoundation", "SplitButtonAdapter", "SPLIT_BUTTON_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "ButtonComponent", "defineSplitButtonComponent", "defineCustomElement", "SplitButtonComponent"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as y}from"./chunk.FDZSLGIW.js";import{a as O}from"./chunk.3TKTJ3BY.js";import{a as r}from"./chunk.NVUMRW44.js";import{a as L}from"./chunk.T4J66YX5.js";import{a as S}from"./chunk.6ZJIHOIG.js";import{a as T,e as x,f as I,h,j as A,k as N}from"./chunk.TPXXHX5J.js";import{a as m,c as g,f as d,g as C,i as k,s as w,t as b}from"./chunk.HZUQXCOQ.js";import{b as P,k as l}from"./chunk.J2M2MXP2.js";import{a as _,b as E,d as s}from"./chunk.M3QDAYD2.js";var p=`${S}popup`,f={CONTAINER:"forge-popup",OPEN:"open",PLACEMENT:"placement",MANAGE_FOCUS:"manage-focus",ANIMATION_TYPE:"animation-type",STATIC:"static",HIDE_WHEN_CLIPPED:"hide-when-clipped",HOST:"forge-popup-host",INITIAL_FOCUS:"forge-popup-focus",CONSTRAIN_VIEWPORT_WIDTH:"constrain-viewport-width"},H={OPEN:"forge-popup--open",OPENING:"forge-popup--opening",CLOSED:"forge-popup--closed",SELECT:"forge-popup--select"},D={HOST:`.forge-popup-host, [${f.HOST}]`,CONTAINER:".forge-popup",INITIAL_FOCUS:`[${f.INITIAL_FOCUS}]`},B={OPEN:`${p}-open`,CLOSE:`${p}-close`,POSITION:`${p}-position`,BLUR:`${p}-blur`},W={ANIMATION_DURATION:120},i={elementName:p,classes:H,selectors:D,attributes:f,events:B,numbers:W},M=(o=>(o.None="none",o.Menu="menu",o.Dropdown="dropdown",o))(M||{});var c=class extends O{constructor(t){super(t);this._rootElement=I(t,i.selectors.CONTAINER)}setAttribute(t,o,a){a?a.setAttribute(t,o):this._component.setAttribute(t,o)}removeAttribute(t,o){o?o.removeAttribute(t):this._component.removeAttribute(t)}async positionPopup(){let t={element:this._component,targetElement:this._component.targetElement,placement:this._component.placement,hide:this._component.hideWhenClipped,flipOptions:{fallbackPlacements:["top-start","top","top-end","left-start","left","left-end","right-start","right","right-end"],fallbackStrategy:"initialPlacement"}},o=this._component.fallbackPlacements;o!=null&&o.length&&(t.flipOptions=E(_({},t.flipOptions),{fallbackPlacements:o})),this._component.offset&&(t.offset=this._component.offset);let a=await y(t);h(this._component,i.events.POSITION,a)}addPopup(t,o){this._component.setAttribute("tabindex","-1"),this._component.setAttribute(i.attributes.HOST,""),this._component.style.top="0",this._component.style.left="0";let a=t.ownerDocument||document;this._hostElement=A(i.selectors.HOST,t)||a.body,this._hostElement.appendChild(this._component),this.positionPopup(),o&&(this._previouslyFocusedElement=b(this._component.ownerDocument),this._component.focus())}removePopup(t){k(this._component),t&&window.requestAnimationFrame(()=>{if(this._previouslyFocusedElement){let o=b(this._component.ownerDocument);(!o||o===document.body)&&this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=void 0}}),this._hostElement=void 0}manageWindowEvents(t=!1){t?(this._windowEventCallback=o=>this._windowInteraction(o),window.addEventListener("scroll",this._windowEventCallback,!0),window.addEventListener("resize",this._windowEventCallback,!0)):this._windowEventCallback&&(window.removeEventListener("scroll",this._windowEventCallback,!0),window.removeEventListener("resize",this._windowEventCallback,!0),this._windowEventCallback=void 0)}dispatchEvent(t,o,a,F){return this._component.targetElement?!h(this._component.targetElement,t,o,a,F):!1}getCloseEventData(){return{popup:this._component}}addClass(t){d(t,this._rootElement)}removeClass(t){C(t,this._rootElement)}setAnimationEndListener(t,o){window.requestAnimationFrame(()=>{o&&o.length&&d(o,this._rootElement),this._rootElement.addEventListener("transitionend",t)})}removeEventListener(t,o){this._rootElement.removeEventListener(t,o)}setBlurListener(t){return g(this._component,o=>{this._component.contains(o)||t()},!0)}trySetInitialFocus(){window.requestAnimationFrame(()=>{let t=w(this._component,i.selectors.INITIAL_FOCUS);t&&t.length&&t[t.length-1].focus()})}_windowInteraction(t){if(this._component.open)switch(t.type){case"scroll":case"resize":this.positionPopup();break;default:break}}};var u=class{constructor(e){this._adapter=e;this._placement="bottom-start";this._fallbackPlacements=[];this._open=!1;this._manageFocus=!1;this._animationType="none";this._static=!1;this._hideWhenClipped=!1;this._blurListener=()=>this._onBlur()}disconnect(){this.open&&(this.open=!1)}_openPopup(){this._animationType!=="none"?(this._applyOpenAnimation(),this._animationType==="dropdown"&&this._adapter.addClass(i.classes.SELECT)):this._adapter.addClass(i.classes.OPEN),this._adapter.setAttribute(i.attributes.OPEN,""),this._adapter.addPopup(this.targetElement,this._manageFocus),this._adapter.trySetInitialFocus(),this._destroyBlurListener&&this._destroyBlurListener(),this._static||(this._destroyBlurListener=this._adapter.setBlurListener(this._blurListener)),this._adapter.manageWindowEvents(!0),this._adapter.dispatchEvent(i.events.OPEN)}_closePopup(){this._destroyBlurListener&&(this._destroyBlurListener(),this._destroyBlurListener=void 0),this._animationType!=="none"?this._applyCloseAnimation():this._destroyPopup()}_destroyPopup(){this._adapter.manageWindowEvents(!1),this._adapter.removePopup(this._manageFocus);let e=this._adapter.getCloseEventData();this._adapter.dispatchEvent(i.events.CLOSE,e),this._adapter.emitHostEvent(i.events.CLOSE,e),this._adapter.removeAttribute(i.attributes.OPEN)}_applyOpenAnimation(){switch(this._animationType){case"dropdown":case"menu":this._adapter.addClass(i.classes.OPENING);let e=t=>{t.propertyName==="transform"&&(this._adapter.removeClass(i.classes.OPENING),this._adapter.removeEventListener("transitionend",e))};this._adapter.setAnimationEndListener(e,i.classes.OPEN);break}}_applyCloseAnimation(){switch(this._animationType){case"dropdown":case"menu":this._adapter.removeClass(i.classes.OPEN),this._adapter.addClass(i.classes.CLOSED);let e=o=>{o.propertyName==="opacity"&&(t&&clearTimeout(t),this._destroyPopup())};this._adapter.setAnimationEndListener(e);let t=setTimeout(()=>this._destroyPopup(),i.numbers.ANIMATION_DURATION);break}}_onBlur(){this._adapter.dispatchEvent(i.events.BLUR,void 0,!0,!0)||(this.open=!1)}_applyOpen(){if(this._open){if(!this.targetElement||!m(this.targetElement))throw new Error("targetElement on Popup component must be an HTMLElement");typeof this._openCallback=="function"?this._executeOpenCallback():this._openPopup()}else typeof this._closeCallback=="function"?this._executeCloseCallback():this._closePopup()}async _executeOpenCallback(){try{await Promise.resolve(this._openCallback())!==!1?this._openPopup():this._open=!1}catch(e){this._open=!1}}async _executeCloseCallback(){try{await Promise.resolve(this._closeCallback())!==!1?this._closePopup():this._open=!0}catch(e){this._open=!0}}get targetElement(){return this._targetElement}set targetElement(e){if(!e||!m(e))throw new Error("targetElement on Popup component must be an HTMLElement");this._targetElement=e}get placement(){return this._placement}set placement(e){this._placement!==e&&(this._placement=e||"bottom-start",this._adapter.setAttribute(i.attributes.PLACEMENT,this._placement))}get fallbackPlacements(){return this._fallbackPlacements}set fallbackPlacements(e){this._fallbackPlacements=Array.isArray(e)?e:[]}get open(){return this._open}set open(e){e=!!e,this._open!==e&&(this._open=e,this._applyOpen())}get manageFocus(){return this._manageFocus}set manageFocus(e){this._manageFocus!==e&&(this._manageFocus=e)}get animationType(){return this._animationType}set animationType(e){this._animationType!==e&&(this._animationType=e)}get static(){return this._static}set static(e){this._static!==e&&(this._static=e,this._static&&this._destroyBlurListener&&(this._destroyBlurListener(),this._destroyBlurListener=void 0))}get hideWhenClipped(){return this._hideWhenClipped}set hideWhenClipped(e){this._hideWhenClipped!==e&&(this._hideWhenClipped=e)}get offset(){var e;return(e=this._offset)!=null?e:{x:0,y:0}}set offset(e){var t,o;e?this._offset={x:(t=e.x)!=null?t:0,y:(o=e.y)!=null?o:0}:this._offset=void 0,this._open&&this._adapter.positionPopup()}get openCallback(){return this._openCallback}set openCallback(e){this._openCallback=e}get closeCallback(){return this._closeCallback}set closeCallback(e){this._closeCallback=e}position(){this._adapter.positionPopup()}};var z='<template><div class="forge-popup" part="root"><slot></slot></div></template>',U=".forge-popup{min-width:112px;min-width:var(--min-width,112px);background-color:#fff;background-color:var(--forge-theme-elevated-surface,#fff);-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-box-shadow:var(--forge-theme-popup-elevation,0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12));box-shadow:var(--forge-theme-popup-elevation,0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12));color:#000;color:var(--mdc-theme-on-surface,#000);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:none;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:100%;margin:0;padding:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 24px 0;transform-origin:50% 24px 0;opacity:0;will-change:transform,opacity;-webkit-transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms cubic-bezier(0, 0, .2, 1)}.forge-popup::-webkit-scrollbar{height:var(--forge-scrollbar-height,16px);width:var(--forge-scrollbar-width,16px)}.forge-popup::-webkit-scrollbar-track{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-popup::-webkit-scrollbar-track:hover{background-color:var(--forge-scrollbar-track-container-hover,var(--forge-theme-surface-container-low,#ebebeb))}.forge-popup::-webkit-scrollbar-corner{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-popup::-webkit-scrollbar-thumb{height:var(--forge-scrollbar-thumb-min-height,32px);width:var(--forge-scrollbar-thumb-min-width,32px);border-radius:var(--forge-scrollbar-border-radius,var(--forge-shape-full,9999px));border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-color:var(--forge-scrollbar-thumb-container,var(--forge-theme-surface-container-medium,#c2c2c2));background-clip:content-box}.forge-popup::-webkit-scrollbar-thumb:hover{background-color:var(--forge-scrollbar-thumb-container-hover,var(--forge-theme-surface-container-high,#9e9e9e))}.forge-popup--opening{display:block;-webkit-transform:scale(.8);transform:scale(.8);opacity:0}.forge-popup--closed{display:block;opacity:0;-webkit-transition:opacity 120ms linear;transition:opacity 120ms linear}.forge-popup--open{display:block;-webkit-transform:scale(1);transform:scale(1);opacity:1}.forge-popup--select{border-top-left-radius:0;border-top-right-radius:0;max-height:256px;overflow-y:auto}:host{z-index:10;z-index:var(--forge-z-index-popup,10);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;position:absolute;overflow:visible}:host([hidden]){display:none}:host([constrain-viewport-width]){max-width:100vw}",n=class extends N{constructor(){super();x(this,z,U),this._foundation=new u(new c(this))}static get observedAttributes(){return[i.attributes.OPEN,i.attributes.PLACEMENT,i.attributes.MANAGE_FOCUS,i.attributes.ANIMATION_TYPE,i.attributes.STATIC,i.attributes.HIDE_WHEN_CLIPPED]}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,o,a){switch(t){case i.attributes.OPEN:this.open=P(a);break;case i.attributes.PLACEMENT:this.placement=a;break;case i.attributes.MANAGE_FOCUS:this.manageFocus=l(a);break;case i.attributes.ANIMATION_TYPE:this.animationType=a;break;case i.attributes.STATIC:this.static=l(a);break;case i.attributes.HIDE_WHEN_CLIPPED:this.hideWhenClipped=l(a);break}}position(){this._foundation.position()}};s([r()],n.prototype,"targetElement",2),s([r()],n.prototype,"placement",2),s([r()],n.prototype,"fallbackPlacements",2),s([r()],n.prototype,"open",2),s([r()],n.prototype,"manageFocus",2),s([r()],n.prototype,"animationType",2),s([r()],n.prototype,"static",2),s([r()],n.prototype,"hideWhenClipped",2),s([r()],n.prototype,"openCallback",2),s([r()],n.prototype,"closeCallback",2),s([r()],n.prototype,"offset",2),n=s([L({name:i.elementName})],n);function ge(){T(n)}export{i as a,M as b,c,u as d,n as e,ge as f};
7
+ //# sourceMappingURL=chunk.WEHQUUXJ.js.map