@tylertech/forge 2.16.6 → 3.0.0-next.10

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 (734) hide show
  1. package/custom-elements.json +17659 -12326
  2. package/dist/button/forge-button.css +1 -1
  3. package/dist/esm/accordion/index.js +1 -1
  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-toggle/button-toggle/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  20. package/dist/esm/button-toggle/index.js +1 -1
  21. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  22. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  23. package/dist/esm/calendar/core/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.2O6IZ7XZ.js +7 -0
  32. package/dist/esm/chunks/chunk.2O6IZ7XZ.js.map +7 -0
  33. package/dist/esm/chunks/{chunk.3YT72ZWJ.js → chunk.2QSDH3PC.js} +2 -2
  34. package/dist/esm/chunks/{chunk.3YT72ZWJ.js.map → chunk.2QSDH3PC.js.map} +1 -1
  35. package/dist/esm/chunks/{chunk.FOLQAW63.js → chunk.2TQONIPK.js} +2 -2
  36. package/dist/esm/chunks/{chunk.FOLQAW63.js.map → chunk.2TQONIPK.js.map} +1 -1
  37. package/dist/esm/chunks/chunk.2VP57RZO.js +7 -0
  38. package/dist/esm/chunks/chunk.2VP57RZO.js.map +7 -0
  39. package/dist/esm/chunks/{chunk.3FAYFYXF.js → chunk.2ZTERGYF.js} +2 -2
  40. package/dist/esm/chunks/{chunk.3FAYFYXF.js.map → chunk.2ZTERGYF.js.map} +1 -1
  41. package/dist/esm/chunks/chunk.33EJTOVA.js +7 -0
  42. package/dist/esm/chunks/chunk.33EJTOVA.js.map +7 -0
  43. package/dist/esm/chunks/{chunk.BJZ7RB5F.js → chunk.3CTKWBV2.js} +1 -1
  44. package/dist/esm/chunks/{chunk.BJZ7RB5F.js.map → chunk.3CTKWBV2.js.map} +1 -1
  45. package/dist/esm/chunks/chunk.3JDFBEF7.js +7 -0
  46. package/dist/esm/chunks/chunk.44IUAOBP.js +7 -0
  47. package/dist/esm/chunks/{chunk.YPZNIYQL.js.map → chunk.44IUAOBP.js.map} +2 -2
  48. package/dist/esm/chunks/chunk.44UCSD46.js +7 -0
  49. package/dist/esm/chunks/{chunk.CN4XKIQI.js.map → chunk.44UCSD46.js.map} +3 -3
  50. package/dist/esm/chunks/chunk.46VQ2S2Z.js +7 -0
  51. package/dist/esm/chunks/{chunk.UVW3YDEX.js.map → chunk.46VQ2S2Z.js.map} +2 -2
  52. package/dist/esm/chunks/{chunk.P4Z7NC6O.js → chunk.4WB3FGEL.js} +2 -2
  53. package/dist/esm/chunks/{chunk.P4Z7NC6O.js.map → chunk.4WB3FGEL.js.map} +1 -1
  54. package/dist/esm/chunks/chunk.4WVHON6T.js +129 -0
  55. package/dist/esm/chunks/chunk.4WVHON6T.js.map +7 -0
  56. package/dist/esm/chunks/{chunk.76PI42C5.js → chunk.57IVD67K.js} +2 -2
  57. package/dist/esm/chunks/{chunk.76PI42C5.js.map → chunk.57IVD67K.js.map} +1 -1
  58. package/dist/esm/chunks/{chunk.RUK5PIER.js → chunk.5CMQ7DNL.js} +2 -2
  59. package/dist/esm/chunks/{chunk.SATUJNQX.js → chunk.5IQGVS6U.js} +2 -2
  60. package/dist/esm/chunks/{chunk.SATUJNQX.js.map → chunk.5IQGVS6U.js.map} +2 -2
  61. package/dist/esm/chunks/chunk.5M6Y2RU6.js +7 -0
  62. package/dist/esm/chunks/{chunk.KII37K76.js.map → chunk.5M6Y2RU6.js.map} +1 -1
  63. package/dist/esm/chunks/chunk.5V5ABSHI.js +7 -0
  64. package/dist/esm/chunks/{chunk.5KC43VFL.js.map → chunk.5V5ABSHI.js.map} +1 -1
  65. package/dist/esm/chunks/{chunk.D24CE6KE.js → chunk.6MPXRRMB.js} +2 -2
  66. package/dist/esm/chunks/{chunk.D24CE6KE.js.map → chunk.6MPXRRMB.js.map} +1 -1
  67. package/dist/esm/chunks/{chunk.7SULS4D2.js → chunk.6VDF54LZ.js} +2 -2
  68. package/dist/esm/chunks/{chunk.7SULS4D2.js.map → chunk.6VDF54LZ.js.map} +1 -1
  69. package/dist/esm/chunks/chunk.74DEHKGT.js +12 -0
  70. package/dist/esm/chunks/chunk.74DEHKGT.js.map +7 -0
  71. package/dist/esm/chunks/{chunk.NEFQWOLN.js → chunk.7DHFTAWI.js} +2 -2
  72. package/dist/esm/chunks/chunk.7G72CBOJ.js +7 -0
  73. package/dist/esm/chunks/chunk.7G72CBOJ.js.map +7 -0
  74. package/dist/esm/chunks/{chunk.JDLEPQKN.js → chunk.7TGGJGTG.js} +2 -2
  75. package/dist/esm/chunks/{chunk.JDLEPQKN.js.map → chunk.7TGGJGTG.js.map} +2 -2
  76. package/dist/esm/chunks/chunk.7WVTJIVR.js +7 -0
  77. package/dist/esm/chunks/{chunk.FFVZ6JMP.js.map → chunk.7WVTJIVR.js.map} +1 -1
  78. package/dist/esm/chunks/chunk.7ZQMJLHE.js +7 -0
  79. package/dist/esm/chunks/{chunk.274MFEUZ.js → chunk.AHHNJSZK.js} +2 -2
  80. package/dist/esm/chunks/{chunk.274MFEUZ.js.map → chunk.AHHNJSZK.js.map} +1 -1
  81. package/dist/esm/chunks/chunk.BBKRPL6R.js +7 -0
  82. package/dist/esm/chunks/chunk.BBKRPL6R.js.map +7 -0
  83. package/dist/esm/chunks/chunk.BIFQ4VOJ.js +7 -0
  84. package/dist/esm/chunks/chunk.BIFQ4VOJ.js.map +7 -0
  85. package/dist/esm/chunks/chunk.BNFJRFLW.js +7 -0
  86. package/dist/esm/chunks/chunk.BNFJRFLW.js.map +7 -0
  87. package/dist/esm/chunks/{chunk.4LA6HEA7.js → chunk.CFDK4RCW.js} +2 -2
  88. package/dist/esm/chunks/{chunk.4LA6HEA7.js.map → chunk.CFDK4RCW.js.map} +3 -3
  89. package/dist/esm/chunks/chunk.CRWP7H46.js +7 -0
  90. package/dist/esm/chunks/chunk.CRWP7H46.js.map +7 -0
  91. package/dist/esm/chunks/{chunk.PW7IGEHF.js → chunk.D2Y2CRRY.js} +2 -2
  92. package/dist/esm/chunks/{chunk.PW7IGEHF.js.map → chunk.D2Y2CRRY.js.map} +2 -2
  93. package/dist/esm/chunks/{chunk.U6WGJELL.js → chunk.DMCBAYQX.js} +1 -1
  94. package/dist/esm/chunks/{chunk.U6WGJELL.js.map → chunk.DMCBAYQX.js.map} +1 -1
  95. package/dist/esm/chunks/{chunk.QOA2O575.js → chunk.DTZFWZPB.js} +2 -2
  96. package/dist/esm/chunks/{chunk.QOA2O575.js.map → chunk.DTZFWZPB.js.map} +1 -1
  97. package/dist/esm/chunks/chunk.DXZ5LVFJ.js +7 -0
  98. package/dist/esm/chunks/chunk.DXZ5LVFJ.js.map +7 -0
  99. package/dist/esm/chunks/chunk.E6KWYFZG.js +7 -0
  100. package/dist/esm/chunks/{chunk.YMBLWKRP.js.map → chunk.E6KWYFZG.js.map} +1 -1
  101. package/dist/esm/chunks/{chunk.NLXSZNQI.js → chunk.E7Z3IRWV.js} +2 -2
  102. package/dist/esm/chunks/{chunk.USXO7YKN.js → chunk.ECRL6O3V.js} +2 -2
  103. package/dist/esm/chunks/{chunk.USXO7YKN.js.map → chunk.ECRL6O3V.js.map} +1 -1
  104. package/dist/esm/chunks/{chunk.4R6NK524.js → chunk.EDEYCLDU.js} +2 -2
  105. package/dist/esm/chunks/chunk.EYZ25QUP.js +7 -0
  106. package/dist/esm/chunks/chunk.EYZ25QUP.js.map +7 -0
  107. package/dist/esm/chunks/chunk.F776DWXU.js +7 -0
  108. package/dist/esm/chunks/chunk.F776DWXU.js.map +7 -0
  109. package/dist/esm/chunks/{chunk.3KQL7VAZ.js → chunk.FDZSLGIW.js} +2 -2
  110. package/dist/esm/chunks/{chunk.3KQL7VAZ.js.map → chunk.FDZSLGIW.js.map} +1 -1
  111. package/dist/esm/chunks/chunk.FIBGOPNP.js +7 -0
  112. package/dist/esm/chunks/chunk.FIBGOPNP.js.map +7 -0
  113. package/dist/esm/chunks/chunk.FUPNTFG7.js +7 -0
  114. package/dist/esm/chunks/chunk.FUPNTFG7.js.map +7 -0
  115. package/dist/esm/chunks/{chunk.MZLPUI6R.js → chunk.FYWPZFLJ.js} +2 -2
  116. package/dist/esm/chunks/{chunk.MZLPUI6R.js.map → chunk.FYWPZFLJ.js.map} +2 -2
  117. package/dist/esm/chunks/{chunk.2KXSGD3S.js → chunk.G4IN6Y46.js} +2 -2
  118. package/dist/esm/chunks/chunk.GT3XBPZY.js +7 -0
  119. package/dist/esm/chunks/chunk.GT3XBPZY.js.map +7 -0
  120. package/dist/esm/chunks/chunk.H5D54EHO.js +7 -0
  121. package/dist/esm/chunks/{chunk.S2YVOMLW.js.map → chunk.H5D54EHO.js.map} +1 -1
  122. package/dist/esm/chunks/{chunk.AVKCWA7I.js → chunk.HRGTAVNA.js} +2 -2
  123. package/dist/esm/chunks/{chunk.AVKCWA7I.js.map → chunk.HRGTAVNA.js.map} +1 -1
  124. package/dist/esm/chunks/chunk.HXJCTE47.js +7 -0
  125. package/dist/esm/chunks/{chunk.K7HRCGML.js → chunk.IDD54B5P.js} +2 -2
  126. package/dist/esm/chunks/chunk.ISC7SZSP.js +7 -0
  127. package/dist/esm/chunks/chunk.ISC7SZSP.js.map +7 -0
  128. package/dist/esm/chunks/{chunk.A4UN74PV.js → chunk.IWA3CYIB.js} +2 -2
  129. package/dist/esm/chunks/{chunk.A4UN74PV.js.map → chunk.IWA3CYIB.js.map} +1 -1
  130. package/dist/esm/chunks/{chunk.SAQSXX2T.js → chunk.J3UFSHDY.js} +2 -2
  131. package/dist/esm/chunks/{chunk.SAQSXX2T.js.map → chunk.J3UFSHDY.js.map} +2 -2
  132. package/dist/esm/chunks/chunk.JL4XB4RI.js +7 -0
  133. package/dist/esm/chunks/chunk.JL4XB4RI.js.map +7 -0
  134. package/dist/esm/chunks/chunk.JTIPXKV6.js +7 -0
  135. package/dist/esm/chunks/{chunk.G4DG233F.js.map → chunk.JTIPXKV6.js.map} +2 -2
  136. package/dist/esm/chunks/chunk.KSCUIS5C.js +7 -0
  137. package/dist/esm/chunks/chunk.KSCUIS5C.js.map +7 -0
  138. package/dist/esm/chunks/chunk.L3M6DPQB.js +12 -0
  139. package/dist/esm/chunks/chunk.L3M6DPQB.js.map +7 -0
  140. package/dist/esm/chunks/{chunk.4DAIIJ37.js → chunk.LEVFMI2Q.js} +1 -1
  141. package/dist/esm/chunks/{chunk.4DAIIJ37.js.map → chunk.LEVFMI2Q.js.map} +1 -1
  142. package/dist/esm/chunks/chunk.LHBF47UY.js +7 -0
  143. package/dist/esm/chunks/chunk.LHBF47UY.js.map +7 -0
  144. package/dist/esm/chunks/chunk.LM57DOG3.js +7 -0
  145. package/dist/esm/chunks/chunk.LM57DOG3.js.map +7 -0
  146. package/dist/esm/chunks/chunk.LYYWQGS6.js +7 -0
  147. package/dist/esm/chunks/chunk.LYYWQGS6.js.map +7 -0
  148. package/dist/esm/chunks/chunk.M2M47T4L.js +7 -0
  149. package/dist/esm/chunks/chunk.M2M47T4L.js.map +7 -0
  150. package/dist/esm/chunks/chunk.M3QDAYD2.js +7 -0
  151. package/dist/esm/chunks/chunk.MF36FG2X.js +7 -0
  152. package/dist/esm/chunks/{chunk.IZSUW7WG.js.map → chunk.MF36FG2X.js.map} +1 -1
  153. package/dist/esm/chunks/chunk.MGLWXAZO.js +18 -0
  154. package/dist/esm/chunks/{chunk.YI4JTY4T.js.map → chunk.MGLWXAZO.js.map} +2 -2
  155. package/dist/esm/chunks/{chunk.YJTE34LC.js → chunk.MGWY7YIL.js} +2 -2
  156. package/dist/esm/chunks/{chunk.YJTE34LC.js.map → chunk.MGWY7YIL.js.map} +2 -2
  157. package/dist/esm/chunks/{chunk.PADHAJLS.js → chunk.MJSLXZBM.js} +2 -2
  158. package/dist/esm/chunks/{chunk.PADHAJLS.js.map → chunk.MJSLXZBM.js.map} +2 -2
  159. package/dist/esm/chunks/{chunk.Q5YD3PKM.js → chunk.N7PQ2MUQ.js} +2 -2
  160. package/dist/esm/chunks/{chunk.Q5YD3PKM.js.map → chunk.N7PQ2MUQ.js.map} +2 -2
  161. package/dist/esm/chunks/chunk.NF4J3Q5X.js +7 -0
  162. package/dist/esm/chunks/chunk.NF4J3Q5X.js.map +7 -0
  163. package/dist/esm/chunks/chunk.NK7H3MMM.js +7 -0
  164. package/dist/esm/chunks/{chunk.HOXFK44F.js.map → chunk.NK7H3MMM.js.map} +3 -3
  165. package/dist/esm/chunks/{chunk.KTGSZEAG.js → chunk.NVUMRW44.js} +1 -1
  166. package/dist/esm/chunks/{chunk.KTGSZEAG.js.map → chunk.NVUMRW44.js.map} +1 -1
  167. package/dist/esm/chunks/{chunk.AMWDVFAU.js → chunk.OAHA3QOH.js} +2 -2
  168. package/dist/esm/chunks/{chunk.VUOTKGLB.js → chunk.OTD2SFQJ.js} +2 -2
  169. package/dist/esm/chunks/{chunk.VUOTKGLB.js.map → chunk.OTD2SFQJ.js.map} +1 -1
  170. package/dist/esm/chunks/{chunk.UW2HWAVL.js → chunk.P5QIB6OY.js} +2 -2
  171. package/dist/esm/chunks/{chunk.UW2HWAVL.js.map → chunk.P5QIB6OY.js.map} +1 -1
  172. package/dist/esm/chunks/{chunk.F5CFD2NG.js → chunk.PHBOQRF6.js} +2 -2
  173. package/dist/esm/chunks/{chunk.F5CFD2NG.js.map → chunk.PHBOQRF6.js.map} +1 -1
  174. package/dist/esm/chunks/{chunk.NMKDIHFB.js → chunk.PHTOULRR.js} +2 -2
  175. package/dist/esm/chunks/chunk.QI3GKORL.js +7 -0
  176. package/dist/esm/chunks/chunk.QI3GKORL.js.map +7 -0
  177. package/dist/esm/chunks/{chunk.6TTAKWXI.js → chunk.QL45FKVJ.js} +2 -2
  178. package/dist/esm/chunks/{chunk.6TTAKWXI.js.map → chunk.QL45FKVJ.js.map} +2 -2
  179. package/dist/esm/chunks/chunk.QLJBPFP5.js +7 -0
  180. package/dist/esm/chunks/chunk.QLJBPFP5.js.map +7 -0
  181. package/dist/esm/chunks/{chunk.XQ5CDWDY.js → chunk.QZK3WEH6.js} +2 -2
  182. package/dist/esm/chunks/chunk.RFLASSCI.js +7 -0
  183. package/dist/esm/chunks/{chunk.BESB4RGK.js.map → chunk.RFLASSCI.js.map} +1 -1
  184. package/dist/esm/chunks/{chunk.H3IPTBWM.js → chunk.RGPNNISQ.js} +2 -2
  185. package/dist/esm/chunks/{chunk.H3IPTBWM.js.map → chunk.RGPNNISQ.js.map} +1 -1
  186. package/dist/esm/chunks/chunk.SAXRW6GB.js +7 -0
  187. package/dist/esm/chunks/chunk.SAXRW6GB.js.map +7 -0
  188. package/dist/esm/chunks/chunk.SEP3L4QL.js +7 -0
  189. package/dist/esm/chunks/{chunk.T6NVM7TN.js.map → chunk.SEP3L4QL.js.map} +2 -2
  190. package/dist/esm/chunks/chunk.SN5LPTHH.js +7 -0
  191. package/dist/esm/chunks/chunk.SN5LPTHH.js.map +7 -0
  192. package/dist/esm/chunks/chunk.SQVBT7HU.js +7 -0
  193. package/dist/esm/chunks/{chunk.XMAKEISF.js.map → chunk.SQVBT7HU.js.map} +3 -3
  194. package/dist/esm/chunks/chunk.SZIM4KFZ.js +7 -0
  195. package/dist/esm/chunks/chunk.SZIM4KFZ.js.map +7 -0
  196. package/dist/esm/chunks/chunk.T5X6UNH7.js +7 -0
  197. package/dist/esm/chunks/{chunk.6CO3CIUY.js.map → chunk.T5X6UNH7.js.map} +1 -1
  198. package/dist/esm/chunks/{chunk.ZCQO3N25.js → chunk.TL6WVBGT.js} +2 -2
  199. package/dist/esm/chunks/{chunk.ZCQO3N25.js.map → chunk.TL6WVBGT.js.map} +1 -1
  200. package/dist/esm/chunks/chunk.TT2VTZJ6.js +7 -0
  201. package/dist/esm/chunks/chunk.TT2VTZJ6.js.map +7 -0
  202. package/dist/esm/chunks/{chunk.VTB27IL7.js → chunk.U4GYQOPY.js} +2 -2
  203. package/dist/esm/chunks/{chunk.ON2K3O3I.js → chunk.UCM6CGFM.js} +2 -2
  204. package/dist/esm/chunks/{chunk.ON2K3O3I.js.map → chunk.UCM6CGFM.js.map} +1 -1
  205. package/dist/esm/chunks/chunk.UKFJHDO7.js +7 -0
  206. package/dist/esm/chunks/{chunk.BKAZC53W.js.map → chunk.UKFJHDO7.js.map} +2 -2
  207. package/dist/esm/chunks/{chunk.DONAMICM.js → chunk.UV3WIHCM.js} +1 -1
  208. package/dist/esm/chunks/{chunk.DONAMICM.js.map → chunk.UV3WIHCM.js.map} +1 -1
  209. package/dist/esm/chunks/chunk.VNOJO2PF.js +7 -0
  210. package/dist/esm/chunks/{chunk.SQTM36C3.js.map → chunk.VNOJO2PF.js.map} +1 -1
  211. package/dist/esm/chunks/{chunk.EMV7JGHB.js → chunk.WBYXVMYI.js} +2 -2
  212. package/dist/esm/chunks/{chunk.EMV7JGHB.js.map → chunk.WBYXVMYI.js.map} +1 -1
  213. package/dist/esm/chunks/chunk.WH6C36MO.js +7 -0
  214. package/dist/esm/chunks/chunk.WH6C36MO.js.map +7 -0
  215. package/dist/esm/chunks/{chunk.3IXTRC6Z.js → chunk.WO7KEM5K.js} +2 -2
  216. package/dist/esm/chunks/{chunk.M6PJ3PNN.js → chunk.WYP2M5FR.js} +2 -2
  217. package/dist/esm/chunks/chunk.X3YNJSDT.js +7 -0
  218. package/dist/esm/chunks/{chunk.73GVVX4K.js.map → chunk.X3YNJSDT.js.map} +1 -1
  219. package/dist/esm/chunks/chunk.XATLSSAW.js +7 -0
  220. package/dist/esm/chunks/{chunk.D5OLAPHE.js.map → chunk.XATLSSAW.js.map} +2 -2
  221. package/dist/esm/chunks/chunk.XIQFHO5R.js +7 -0
  222. package/dist/esm/chunks/{chunk.FVRSGKJD.js.map → chunk.XIQFHO5R.js.map} +2 -2
  223. package/dist/esm/chunks/{chunk.QAWXAPHR.js → chunk.XOM2FYQ2.js} +2 -2
  224. package/dist/esm/chunks/{chunk.NX4EECNP.js → chunk.XRESQBNE.js} +2 -2
  225. package/dist/esm/chunks/{chunk.7K44O5RO.js → chunk.Y5UJ23LB.js} +2 -2
  226. package/dist/esm/chunks/chunk.YDY2IGBF.js +7 -0
  227. package/dist/esm/chunks/chunk.YDY2IGBF.js.map +7 -0
  228. package/dist/esm/chunks/{chunk.GQCUI7YS.js → chunk.YQXX5KSW.js} +2 -2
  229. package/dist/esm/chunks/{chunk.GQCUI7YS.js.map → chunk.YQXX5KSW.js.map} +1 -1
  230. package/dist/esm/chunks/chunk.YWCLKUK7.js +7 -0
  231. package/dist/esm/chunks/chunk.YWCLKUK7.js.map +7 -0
  232. package/dist/esm/chunks/chunk.YZLASVCK.js +177 -0
  233. package/dist/esm/chunks/chunk.YZLASVCK.js.map +7 -0
  234. package/dist/esm/chunks/chunk.Z4J4D5FD.js +7 -0
  235. package/dist/esm/chunks/{chunk.MSFGXRCM.js.map → chunk.Z4J4D5FD.js.map} +2 -2
  236. package/dist/esm/chunks/chunk.ZAJB7G4V.js +7 -0
  237. package/dist/esm/chunks/{chunk.MWHVRJW5.js.map → chunk.ZAJB7G4V.js.map} +1 -1
  238. package/dist/esm/chunks/chunk.ZDAXNM2P.js +7 -0
  239. package/dist/esm/chunks/{chunk.EAGRODVX.js.map → chunk.ZDAXNM2P.js.map} +2 -2
  240. package/dist/esm/chunks/chunk.ZMRDW25U.js +7 -0
  241. package/dist/esm/circular-progress/index.js +1 -1
  242. package/dist/esm/color-picker/index.js +1 -1
  243. package/dist/esm/core/base/index.js +1 -1
  244. package/dist/esm/core/delegates/index.js +1 -1
  245. package/dist/esm/core/index.js +1 -1
  246. package/dist/esm/core/mask/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 +7 -0
  262. package/dist/esm/focus-indicator/index.js.map +7 -0
  263. package/dist/esm/icon/index.js +1 -1
  264. package/dist/esm/icon-button/index.js +1 -1
  265. package/dist/esm/index.js +1 -1
  266. package/dist/esm/inline-message/index.js +1 -1
  267. package/dist/esm/keyboard-shortcut/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/ripple/index.js +1 -1
  284. package/dist/esm/scaffold/index.js +1 -1
  285. package/dist/esm/select/core/index.js +1 -1
  286. package/dist/esm/select/index.js +1 -1
  287. package/dist/esm/select/option/index.js +1 -1
  288. package/dist/esm/select/option-group/index.js +1 -1
  289. package/dist/esm/select/select/index.js +1 -1
  290. package/dist/esm/select/select-dropdown/index.js +1 -1
  291. package/dist/esm/skeleton/index.js +1 -1
  292. package/dist/esm/slider/index.js +1 -1
  293. package/dist/esm/split-view/index.js +1 -1
  294. package/dist/esm/split-view/split-view/index.js +1 -1
  295. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  296. package/dist/esm/stack/index.js +1 -1
  297. package/dist/esm/state-layer/index.js +7 -0
  298. package/dist/esm/state-layer/index.js.map +7 -0
  299. package/dist/esm/stepper/index.js +1 -1
  300. package/dist/esm/stepper/step/index.js +1 -1
  301. package/dist/esm/stepper/stepper/index.js +1 -1
  302. package/dist/esm/switch/index.js +1 -1
  303. package/dist/esm/table/index.js +1 -1
  304. package/dist/esm/tabs/index.js +1 -1
  305. package/dist/esm/tabs/tab/index.js +1 -1
  306. package/dist/esm/tabs/tab-bar/index.js +1 -1
  307. package/dist/esm/text-field/index.js +1 -1
  308. package/dist/esm/theme/index.js +1 -1
  309. package/dist/esm/time-picker/index.js +1 -1
  310. package/dist/esm/toast/index.js +1 -1
  311. package/dist/esm/toolbar/index.js +1 -1
  312. package/dist/esm/tooltip/index.js +1 -1
  313. package/dist/esm/utils/index.js +1 -1
  314. package/dist/esm/view-switcher/index.js +1 -1
  315. package/dist/esm/view-switcher/view/index.js +1 -1
  316. package/dist/forge-dark.css +1 -1
  317. package/dist/forge.css +1 -1
  318. package/dist/icon-button/forge-icon-button.css +1 -1
  319. package/dist/table/forge-table.css +1 -1
  320. package/dist/theme/forge-theme.css +1 -1
  321. package/esm/accordion/accordion.js +4 -4
  322. package/esm/app-bar/app-bar.js +6 -6
  323. package/esm/app-bar/notification-button/app-bar-notification-button.js +5 -5
  324. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +1 -1
  325. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -1
  326. package/esm/app-bar/profile-button/app-bar-profile-button.js +4 -4
  327. package/esm/app-bar/search/app-bar-search.js +6 -6
  328. package/esm/autocomplete/autocomplete-adapter.js +1 -1
  329. package/esm/autocomplete/autocomplete-component-delegate.d.ts +1 -1
  330. package/esm/autocomplete/autocomplete-constants.d.ts +4 -4
  331. package/esm/autocomplete/autocomplete.js +6 -6
  332. package/esm/avatar/avatar-component-delegate.d.ts +1 -1
  333. package/esm/avatar/avatar.js +5 -5
  334. package/esm/backdrop/backdrop-constants.d.ts +1 -1
  335. package/esm/backdrop/backdrop.js +5 -5
  336. package/esm/badge/badge-component-delegate.d.ts +1 -1
  337. package/esm/badge/badge.js +5 -5
  338. package/esm/banner/banner.js +7 -7
  339. package/esm/bottom-sheet/bottom-sheet.js +6 -6
  340. package/esm/busy-indicator/busy-indicator-adapter.js +1 -1
  341. package/esm/busy-indicator/busy-indicator-constants.d.ts +1 -1
  342. package/esm/busy-indicator/busy-indicator.js +6 -6
  343. package/esm/button/button-component-delegate.d.ts +1 -1
  344. package/esm/button/button.d.ts +1 -0
  345. package/esm/button/button.js +11 -5
  346. package/esm/button-toggle/button-toggle/button-toggle.js +7 -7
  347. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +2 -2
  348. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +5 -5
  349. package/esm/calendar/calendar-component-delegate.d.ts +1 -1
  350. package/esm/calendar/calendar-constants.d.ts +10 -10
  351. package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +0 -3
  352. package/esm/calendar/calendar-dropdown/calendar-dropdown.js +4 -13
  353. package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +2 -2
  354. package/esm/calendar/calendar-menu/calendar-menu.js +6 -6
  355. package/esm/calendar/calendar.js +7 -7
  356. package/esm/card/card-constants.d.ts +2 -2
  357. package/esm/card/card-constants.js +2 -2
  358. package/esm/card/card.d.ts +19 -8
  359. package/esm/card/card.js +34 -25
  360. package/esm/checkbox/checkbox-adapter.d.ts +1 -0
  361. package/esm/checkbox/checkbox-adapter.js +9 -2
  362. package/esm/checkbox/checkbox-component-delegate.d.ts +1 -1
  363. package/esm/checkbox/checkbox.js +4 -4
  364. package/esm/chip-field/chip-field-component-delegate.d.ts +1 -1
  365. package/esm/chip-field/chip-field-foundation.js +1 -1
  366. package/esm/chip-field/chip-field.js +1 -1
  367. package/esm/chips/chip/chip-adapter.js +2 -2
  368. package/esm/chips/chip/chip.js +7 -7
  369. package/esm/chips/chip-set/chip-set.js +5 -5
  370. package/esm/circular-progress/circular-progress-adapter.d.ts +7 -14
  371. package/esm/circular-progress/circular-progress-adapter.js +25 -25
  372. package/esm/circular-progress/circular-progress-constants.d.ts +6 -2
  373. package/esm/circular-progress/circular-progress-constants.js +8 -3
  374. package/esm/circular-progress/circular-progress-foundation.d.ts +0 -8
  375. package/esm/circular-progress/circular-progress-foundation.js +9 -27
  376. package/esm/circular-progress/circular-progress.d.ts +24 -5
  377. package/esm/circular-progress/circular-progress.js +33 -21
  378. package/esm/color-picker/color-picker-constants.d.ts +2 -2
  379. package/esm/color-picker/color-picker-foundation.d.ts +1 -0
  380. package/esm/color-picker/color-picker-foundation.js +5 -2
  381. package/esm/color-picker/color-picker.js +7 -7
  382. package/esm/core/base/base-component.d.ts +1 -2
  383. package/esm/core/delegates/base-component-delegate.d.ts +1 -1
  384. package/esm/core/delegates/base-component-delegate.js +3 -3
  385. package/esm/core/delegates/form-field-component-delegate.d.ts +1 -1
  386. package/esm/core/mask/time-segment-parser.d.ts +1 -1
  387. package/esm/core/testing/pointer.d.ts +13 -0
  388. package/esm/core/testing/pointer.js +42 -0
  389. package/esm/core/utils/utils.d.ts +33 -2
  390. package/esm/core/utils/utils.js +74 -6
  391. package/esm/date-picker/base/base-date-picker-adapter.d.ts +0 -2
  392. package/esm/date-picker/base/base-date-picker-adapter.js +0 -6
  393. package/esm/date-picker/base/base-date-picker-constants.d.ts +0 -1
  394. package/esm/date-picker/base/base-date-picker-constants.js +1 -2
  395. package/esm/date-picker/base/base-date-picker-foundation.d.ts +0 -4
  396. package/esm/date-picker/base/base-date-picker-foundation.js +1 -13
  397. package/esm/date-picker/base/base-date-picker.d.ts +0 -3
  398. package/esm/date-picker/base/base-date-picker.js +0 -6
  399. package/esm/date-picker/date-picker-adapter.js +1 -1
  400. package/esm/date-picker/date-picker-component-delegate.d.ts +1 -1
  401. package/esm/date-range-picker/date-range-picker-adapter.js +1 -1
  402. package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
  403. package/esm/dialog/dialog-adapter.d.ts +5 -5
  404. package/esm/dialog/dialog-adapter.js +31 -32
  405. package/esm/dialog/dialog-constants.d.ts +2 -2
  406. package/esm/dialog/dialog-foundation.d.ts +4 -2
  407. package/esm/dialog/dialog-foundation.js +62 -54
  408. package/esm/dialog/dialog.d.ts +4 -0
  409. package/esm/dialog/dialog.js +12 -6
  410. package/esm/drawer/base/base-drawer-constants.d.ts +1 -1
  411. package/esm/expansion-panel/expansion-panel.js +5 -5
  412. package/esm/field/field-adapter.js +1 -1
  413. package/esm/field/field-constants.d.ts +3 -3
  414. package/esm/field/field-foundation.js +0 -5
  415. package/esm/field/field.js +3 -3
  416. package/esm/file-picker/file-picker-component-delegate.d.ts +1 -1
  417. package/esm/file-picker/file-picker.js +6 -6
  418. package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +1 -1
  419. package/esm/floating-action-button/floating-action-button.js +6 -6
  420. package/esm/focus-indicator/focus-indicator-adapter.d.ts +29 -0
  421. package/esm/focus-indicator/focus-indicator-adapter.js +39 -0
  422. package/esm/focus-indicator/focus-indicator-constants.d.ts +15 -0
  423. package/esm/focus-indicator/focus-indicator-constants.js +19 -0
  424. package/esm/focus-indicator/focus-indicator-foundation.d.ts +43 -0
  425. package/esm/focus-indicator/focus-indicator-foundation.js +110 -0
  426. package/esm/focus-indicator/focus-indicator.d.ts +67 -0
  427. package/esm/focus-indicator/focus-indicator.js +112 -0
  428. package/esm/focus-indicator/index.d.ts +10 -0
  429. package/esm/focus-indicator/index.js +14 -0
  430. package/esm/icon/icon.js +5 -5
  431. package/esm/icon-button/icon-button-component-delegate.d.ts +1 -1
  432. package/esm/icon-button/icon-button.d.ts +1 -0
  433. package/esm/icon-button/icon-button.js +16 -9
  434. package/esm/index.d.ts +2 -0
  435. package/esm/index.js +6 -0
  436. package/esm/keyboard-shortcut/keyboard-shortcut.js +4 -4
  437. package/esm/label-value/label-value-component-delegate.d.ts +1 -1
  438. package/esm/label-value/label-value-constants.d.ts +1 -1
  439. package/esm/label-value/label-value.js +5 -5
  440. package/esm/linear-progress/linear-progress-adapter.d.ts +23 -0
  441. package/esm/linear-progress/linear-progress-adapter.js +34 -0
  442. package/esm/linear-progress/linear-progress-constants.d.ts +6 -2
  443. package/esm/linear-progress/linear-progress-constants.js +8 -3
  444. package/esm/linear-progress/linear-progress-foundation.d.ts +26 -0
  445. package/esm/linear-progress/linear-progress-foundation.js +53 -0
  446. package/esm/linear-progress/linear-progress.d.ts +32 -25
  447. package/esm/linear-progress/linear-progress.js +49 -107
  448. package/esm/list/list/list-adapter.js +2 -2
  449. package/esm/list/list/list.js +5 -5
  450. package/esm/list/list-item/list-item-adapter.d.ts +3 -3
  451. package/esm/list/list-item/list-item-adapter.js +2 -2
  452. package/esm/list/list-item/list-item-foundation.d.ts +1 -0
  453. package/esm/list/list-item/list-item-foundation.js +8 -1
  454. package/esm/list/list-item/list-item.js +6 -6
  455. package/esm/list-dropdown/list-dropdown-adapter.js +3 -4
  456. package/esm/list-dropdown/list-dropdown-constants.d.ts +6 -6
  457. package/esm/menu/menu-constants.d.ts +3 -3
  458. package/esm/menu/menu.js +6 -6
  459. package/esm/open-icon/open-icon.js +6 -6
  460. package/esm/paginator/paginator-constants.d.ts +1 -1
  461. package/esm/paginator/paginator.js +12 -12
  462. package/esm/popup/popup-adapter.js +2 -2
  463. package/esm/popup/popup-constants.d.ts +2 -2
  464. package/esm/popup/popup.js +5 -5
  465. package/esm/product-icon/product-icon.js +5 -5
  466. package/esm/profile-card/profile-card.js +6 -6
  467. package/esm/quantity-field/quantity-field-component-delegate.d.ts +1 -1
  468. package/esm/quantity-field/quantity-field.js +6 -6
  469. package/esm/radio/radio-adapter.d.ts +1 -0
  470. package/esm/radio/radio-adapter.js +10 -4
  471. package/esm/radio/radio.js +5 -5
  472. package/esm/ripple/forge-ripple.d.ts +2 -0
  473. package/esm/ripple/forge-ripple.js +4 -0
  474. package/esm/ripple/ripple.js +4 -4
  475. package/esm/select/core/base-select-constants.d.ts +4 -4
  476. package/esm/select/option/option.js +4 -4
  477. package/esm/select/option-group/option-group.js +3 -3
  478. package/esm/select/select/select-adapter.d.ts +1 -1
  479. package/esm/select/select/select.js +1 -1
  480. package/esm/select/select-component-delegate.d.ts +1 -1
  481. package/esm/slider/slider-adapter.d.ts +79 -0
  482. package/esm/slider/slider-adapter.js +178 -0
  483. package/esm/slider/slider-component-delegate.d.ts +19 -3
  484. package/esm/slider/slider-component-delegate.js +48 -0
  485. package/esm/slider/slider-constants.d.ts +55 -19
  486. package/esm/slider/slider-constants.js +56 -14
  487. package/esm/slider/slider-foundation.d.ts +94 -0
  488. package/esm/slider/slider-foundation.js +313 -0
  489. package/esm/slider/slider-utils.d.ts +9 -0
  490. package/esm/slider/slider-utils.js +56 -0
  491. package/esm/slider/slider.d.ts +134 -66
  492. package/esm/slider/slider.js +240 -249
  493. package/esm/split-view/split-view/split-view-constants.d.ts +1 -1
  494. package/esm/split-view/split-view/split-view.js +5 -5
  495. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +2 -2
  496. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +18 -18
  497. package/esm/split-view/split-view-panel/split-view-panel.js +7 -7
  498. package/esm/stack/stack-constants.d.ts +1 -1
  499. package/esm/stack/stack.js +5 -5
  500. package/esm/state-layer/index.d.ts +10 -0
  501. package/esm/state-layer/index.js +14 -0
  502. package/esm/state-layer/state-layer-adapter.d.ts +41 -0
  503. package/esm/state-layer/state-layer-adapter.js +101 -0
  504. package/esm/state-layer/state-layer-constants.d.ts +79 -0
  505. package/esm/state-layer/state-layer-constants.js +89 -0
  506. package/esm/state-layer/state-layer-foundation.d.ts +57 -0
  507. package/esm/state-layer/state-layer-foundation.js +237 -0
  508. package/esm/state-layer/state-layer-utils.d.ts +26 -0
  509. package/esm/state-layer/state-layer-utils.js +54 -0
  510. package/esm/state-layer/state-layer.d.ts +66 -0
  511. package/esm/state-layer/state-layer.js +96 -0
  512. package/esm/stepper/core/stepper-utils.js +1 -2
  513. package/esm/stepper/step/step-constants.d.ts +1 -1
  514. package/esm/stepper/step/step.js +13 -13
  515. package/esm/stepper/stepper/stepper-adapter.js +1 -1
  516. package/esm/stepper/stepper/stepper-constants.d.ts +2 -2
  517. package/esm/stepper/stepper/stepper-foundation.js +0 -1
  518. package/esm/stepper/stepper/stepper.js +5 -5
  519. package/esm/switch/switch-component-delegate.d.ts +1 -1
  520. package/esm/switch/switch-constants.d.ts +1 -1
  521. package/esm/switch/switch.js +19 -12
  522. package/esm/table/table.js +5 -5
  523. package/esm/table/types.d.ts +4 -4
  524. package/esm/tabs/tab/tab-adapter.d.ts +14 -40
  525. package/esm/tabs/tab/tab-adapter.js +57 -79
  526. package/esm/tabs/tab/tab-constants.d.ts +13 -14
  527. package/esm/tabs/tab/tab-constants.js +17 -10
  528. package/esm/tabs/tab/tab-foundation.d.ts +23 -23
  529. package/esm/tabs/tab/tab-foundation.js +66 -62
  530. package/esm/tabs/tab/tab.d.ts +56 -20
  531. package/esm/tabs/tab/tab.js +88 -39
  532. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +49 -87
  533. package/esm/tabs/tab-bar/tab-bar-adapter.js +114 -188
  534. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +15 -45
  535. package/esm/tabs/tab-bar/tab-bar-constants.js +22 -56
  536. package/esm/tabs/tab-bar/tab-bar-foundation.d.ts +56 -65
  537. package/esm/tabs/tab-bar/tab-bar-foundation.js +241 -302
  538. package/esm/tabs/tab-bar/tab-bar.d.ts +51 -36
  539. package/esm/tabs/tab-bar/tab-bar.js +89 -57
  540. package/esm/text-field/text-field-adapter.js +1 -2
  541. package/esm/text-field/text-field-component-delegate.d.ts +1 -1
  542. package/esm/text-field/text-field.js +1 -1
  543. package/esm/theme/theme-utils.d.ts +2 -2
  544. package/esm/time-picker/time-picker-adapter.js +1 -2
  545. package/esm/time-picker/time-picker-component-delegate.d.ts +1 -1
  546. package/esm/time-picker/time-picker-constants.d.ts +6 -6
  547. package/esm/time-picker/time-picker.js +6 -6
  548. package/esm/toast/toast-constants.d.ts +2 -2
  549. package/esm/toast/toast.js +7 -7
  550. package/esm/toolbar/toolbar.js +5 -5
  551. package/esm/tooltip/tooltip-constants.d.ts +1 -1
  552. package/esm/tooltip/tooltip.js +4 -4
  553. package/esm/view-switcher/view-switcher.js +5 -5
  554. package/package.json +2 -4
  555. package/styles/app-bar/_mixins.scss +8 -1
  556. package/styles/card/_mixins.scss +8 -7
  557. package/styles/chips/chip/_mixins.scss +0 -1
  558. package/styles/circular-progress/_animations.scss +69 -0
  559. package/styles/circular-progress/_configuration.scss +30 -0
  560. package/styles/circular-progress/_core.scss +122 -0
  561. package/styles/circular-progress/circular-progress.scss +92 -3
  562. package/styles/circular-progress/index.scss +8 -0
  563. package/styles/core/styles/core/_config.scss +6 -0
  564. package/styles/core/styles/elevation/index.scss +61 -0
  565. package/styles/core/styles/theme/index.scss +48 -0
  566. package/styles/core/styles/tokens/_color-palette.scss +299 -0
  567. package/styles/core/styles/tokens/_utils.scss +43 -0
  568. package/styles/core/styles/tokens/circular-progress/_tokens.scss +21 -0
  569. package/styles/core/styles/tokens/focus-indicator/_tokens.scss +30 -0
  570. package/styles/core/styles/tokens/index.scss +10 -0
  571. package/styles/core/styles/tokens/linear-progress/_tokens.scss +23 -0
  572. package/styles/core/styles/tokens/slider/_tokens.scss +47 -0
  573. package/styles/core/styles/tokens/state-layer/_tokens.scss +23 -0
  574. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +71 -0
  575. package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +19 -0
  576. package/styles/core/styles/tokens/theme/_elevation.scss +105 -0
  577. package/styles/core/styles/tokens/theme/_shape.scss +13 -0
  578. package/styles/core/styles/tokens/theme/_tokens.scss +133 -0
  579. package/styles/core/styles/tokens/typography/_tokens.scss +73 -0
  580. package/styles/focus-indicator/_animations.scss +36 -0
  581. package/styles/focus-indicator/_configuration.scss +23 -0
  582. package/styles/focus-indicator/_core.scss +52 -0
  583. package/styles/focus-indicator/focus-indicator.scss +55 -0
  584. package/styles/focus-indicator/index.scss +8 -0
  585. package/styles/linear-progress/_animations.scss +129 -0
  586. package/styles/linear-progress/_configuration.scss +29 -0
  587. package/styles/linear-progress/_core.scss +99 -0
  588. package/styles/linear-progress/index.scss +8 -0
  589. package/styles/linear-progress/linear-progress.scss +101 -18
  590. package/styles/list/list-item/_mixins.scss +1 -11
  591. package/styles/list/list-item/_variables.scss +0 -9
  592. package/styles/slider/_configuration.scss +60 -0
  593. package/styles/slider/_core.scss +343 -0
  594. package/styles/slider/index.scss +7 -0
  595. package/styles/slider/slider.scss +186 -14
  596. package/styles/state-layer/_configuration.scss +17 -0
  597. package/styles/state-layer/_core.scss +124 -0
  598. package/styles/state-layer/index.scss +7 -0
  599. package/styles/state-layer/state-layer.scss +38 -0
  600. package/styles/tabs/tab/_configuration.scss +64 -0
  601. package/styles/tabs/tab/_core.scss +189 -0
  602. package/styles/tabs/tab/index.scss +7 -0
  603. package/styles/tabs/tab/tab.scss +168 -15
  604. package/styles/tabs/tab-bar/_configuration.scss +13 -0
  605. package/styles/tabs/tab-bar/_core.scss +60 -0
  606. package/styles/tabs/tab-bar/index.scss +7 -0
  607. package/styles/tabs/tab-bar/tab-bar.scss +66 -5
  608. package/styles/theme/_theme-dark.scss +4 -8
  609. package/styles/theme/_theme.scss +3 -36
  610. package/dist/esm/chunks/chunk.2DAPNN6B.js +0 -29
  611. package/dist/esm/chunks/chunk.2DAPNN6B.js.map +0 -7
  612. package/dist/esm/chunks/chunk.2DXG2R3M.js +0 -73
  613. package/dist/esm/chunks/chunk.2DXG2R3M.js.map +0 -7
  614. package/dist/esm/chunks/chunk.4CWMNWZU.js +0 -7
  615. package/dist/esm/chunks/chunk.4CWMNWZU.js.map +0 -7
  616. package/dist/esm/chunks/chunk.5KC43VFL.js +0 -7
  617. package/dist/esm/chunks/chunk.6ATSOUJQ.js +0 -29
  618. package/dist/esm/chunks/chunk.6ATSOUJQ.js.map +0 -7
  619. package/dist/esm/chunks/chunk.6CO3CIUY.js +0 -7
  620. package/dist/esm/chunks/chunk.73GVVX4K.js +0 -7
  621. package/dist/esm/chunks/chunk.7BAO5IED.js +0 -7
  622. package/dist/esm/chunks/chunk.7GCT4NUC.js +0 -7
  623. package/dist/esm/chunks/chunk.7GCT4NUC.js.map +0 -7
  624. package/dist/esm/chunks/chunk.AMES2WWC.js +0 -7
  625. package/dist/esm/chunks/chunk.AMES2WWC.js.map +0 -7
  626. package/dist/esm/chunks/chunk.APHMTBRQ.js +0 -7
  627. package/dist/esm/chunks/chunk.APHMTBRQ.js.map +0 -7
  628. package/dist/esm/chunks/chunk.BESB4RGK.js +0 -7
  629. package/dist/esm/chunks/chunk.BKAZC53W.js +0 -7
  630. package/dist/esm/chunks/chunk.BL4IBI6G.js +0 -29
  631. package/dist/esm/chunks/chunk.BL4IBI6G.js.map +0 -7
  632. package/dist/esm/chunks/chunk.BTMBIAL2.js +0 -7
  633. package/dist/esm/chunks/chunk.BTMBIAL2.js.map +0 -7
  634. package/dist/esm/chunks/chunk.CE6NTUWI.js +0 -7
  635. package/dist/esm/chunks/chunk.CE6NTUWI.js.map +0 -7
  636. package/dist/esm/chunks/chunk.CG5CVENX.js +0 -7
  637. package/dist/esm/chunks/chunk.CG5CVENX.js.map +0 -7
  638. package/dist/esm/chunks/chunk.CN4XKIQI.js +0 -7
  639. package/dist/esm/chunks/chunk.CX7MOSLM.js +0 -7
  640. package/dist/esm/chunks/chunk.D5OLAPHE.js +0 -7
  641. package/dist/esm/chunks/chunk.DLALEZ73.js +0 -7
  642. package/dist/esm/chunks/chunk.DLALEZ73.js.map +0 -7
  643. package/dist/esm/chunks/chunk.DYF2MREZ.js +0 -7
  644. package/dist/esm/chunks/chunk.DYF2MREZ.js.map +0 -7
  645. package/dist/esm/chunks/chunk.EAGRODVX.js +0 -7
  646. package/dist/esm/chunks/chunk.F3MP6AXF.js +0 -29
  647. package/dist/esm/chunks/chunk.F3MP6AXF.js.map +0 -7
  648. package/dist/esm/chunks/chunk.FFVZ6JMP.js +0 -7
  649. package/dist/esm/chunks/chunk.FPLHVO6D.js +0 -7
  650. package/dist/esm/chunks/chunk.FPLHVO6D.js.map +0 -7
  651. package/dist/esm/chunks/chunk.FVRSGKJD.js +0 -7
  652. package/dist/esm/chunks/chunk.G4DG233F.js +0 -7
  653. package/dist/esm/chunks/chunk.HOXFK44F.js +0 -7
  654. package/dist/esm/chunks/chunk.HRNLQ7GB.js +0 -7
  655. package/dist/esm/chunks/chunk.HRNLQ7GB.js.map +0 -7
  656. package/dist/esm/chunks/chunk.HTH3CEDN.js +0 -7
  657. package/dist/esm/chunks/chunk.HTH3CEDN.js.map +0 -7
  658. package/dist/esm/chunks/chunk.IMEODSRH.js +0 -7
  659. package/dist/esm/chunks/chunk.IMEODSRH.js.map +0 -7
  660. package/dist/esm/chunks/chunk.ITXUKOKJ.js +0 -7
  661. package/dist/esm/chunks/chunk.ITXUKOKJ.js.map +0 -7
  662. package/dist/esm/chunks/chunk.IZSUW7WG.js +0 -7
  663. package/dist/esm/chunks/chunk.JD4APKZS.js +0 -29
  664. package/dist/esm/chunks/chunk.JD4APKZS.js.map +0 -7
  665. package/dist/esm/chunks/chunk.JRUIOKFS.js +0 -12
  666. package/dist/esm/chunks/chunk.JRUIOKFS.js.map +0 -7
  667. package/dist/esm/chunks/chunk.K4SWLH26.js +0 -7
  668. package/dist/esm/chunks/chunk.K4SWLH26.js.map +0 -7
  669. package/dist/esm/chunks/chunk.K6LBO4KJ.js +0 -7
  670. package/dist/esm/chunks/chunk.K6LBO4KJ.js.map +0 -7
  671. package/dist/esm/chunks/chunk.KII37K76.js +0 -7
  672. package/dist/esm/chunks/chunk.KRUEPHLG.js +0 -7
  673. package/dist/esm/chunks/chunk.KRUEPHLG.js.map +0 -7
  674. package/dist/esm/chunks/chunk.MCIQXNKY.js +0 -7
  675. package/dist/esm/chunks/chunk.MSFGXRCM.js +0 -7
  676. package/dist/esm/chunks/chunk.MWHVRJW5.js +0 -7
  677. package/dist/esm/chunks/chunk.PFYLJBUV.js +0 -7
  678. package/dist/esm/chunks/chunk.PFYLJBUV.js.map +0 -7
  679. package/dist/esm/chunks/chunk.PKVY6EWM.js +0 -29
  680. package/dist/esm/chunks/chunk.PKVY6EWM.js.map +0 -7
  681. package/dist/esm/chunks/chunk.RGAPFLQE.js +0 -7
  682. package/dist/esm/chunks/chunk.RGAPFLQE.js.map +0 -7
  683. package/dist/esm/chunks/chunk.ROQGMLH3.js +0 -7
  684. package/dist/esm/chunks/chunk.ROQGMLH3.js.map +0 -7
  685. package/dist/esm/chunks/chunk.S2YVOMLW.js +0 -7
  686. package/dist/esm/chunks/chunk.SQTM36C3.js +0 -7
  687. package/dist/esm/chunks/chunk.SXTM6OK4.js +0 -7
  688. package/dist/esm/chunks/chunk.SXTM6OK4.js.map +0 -7
  689. package/dist/esm/chunks/chunk.T6NVM7TN.js +0 -7
  690. package/dist/esm/chunks/chunk.UHU4FUIS.js +0 -7
  691. package/dist/esm/chunks/chunk.UVW3YDEX.js +0 -7
  692. package/dist/esm/chunks/chunk.V4TCOZLK.js +0 -29
  693. package/dist/esm/chunks/chunk.V4TCOZLK.js.map +0 -7
  694. package/dist/esm/chunks/chunk.VNLVFGQ2.js +0 -7
  695. package/dist/esm/chunks/chunk.VNLVFGQ2.js.map +0 -7
  696. package/dist/esm/chunks/chunk.VT2QJ7SM.js +0 -29
  697. package/dist/esm/chunks/chunk.VT2QJ7SM.js.map +0 -7
  698. package/dist/esm/chunks/chunk.XFAOB6LU.js +0 -7
  699. package/dist/esm/chunks/chunk.XMAKEISF.js +0 -7
  700. package/dist/esm/chunks/chunk.Y66GSZJB.js +0 -7
  701. package/dist/esm/chunks/chunk.Y66GSZJB.js.map +0 -7
  702. package/dist/esm/chunks/chunk.YG24YPYO.js +0 -7
  703. package/dist/esm/chunks/chunk.YG24YPYO.js.map +0 -7
  704. package/dist/esm/chunks/chunk.YI4JTY4T.js +0 -14
  705. package/dist/esm/chunks/chunk.YMBLWKRP.js +0 -7
  706. package/dist/esm/chunks/chunk.YPZNIYQL.js +0 -7
  707. package/styles/circular-progress/_keyframes.scss +0 -185
  708. package/styles/circular-progress/_mixins.scss +0 -320
  709. package/styles/circular-progress/_variables.scss +0 -50
  710. package/styles/linear-progress/_mixins.scss +0 -11
  711. package/styles/linear-progress/_variables.scss +0 -15
  712. package/styles/tabs/tab/_mixins.scss +0 -165
  713. package/styles/tabs/tab/_variables.scss +0 -9
  714. package/styles/tabs/tab-bar/_mixins.scss +0 -78
  715. /package/dist/esm/chunks/{chunk.7BAO5IED.js.map → chunk.3JDFBEF7.js.map} +0 -0
  716. /package/dist/esm/chunks/{chunk.RUK5PIER.js.map → chunk.5CMQ7DNL.js.map} +0 -0
  717. /package/dist/esm/chunks/{chunk.NEFQWOLN.js.map → chunk.7DHFTAWI.js.map} +0 -0
  718. /package/dist/esm/chunks/{chunk.CX7MOSLM.js.map → chunk.7ZQMJLHE.js.map} +0 -0
  719. /package/dist/esm/chunks/{chunk.NLXSZNQI.js.map → chunk.E7Z3IRWV.js.map} +0 -0
  720. /package/dist/esm/chunks/{chunk.4R6NK524.js.map → chunk.EDEYCLDU.js.map} +0 -0
  721. /package/dist/esm/chunks/{chunk.2KXSGD3S.js.map → chunk.G4IN6Y46.js.map} +0 -0
  722. /package/dist/esm/chunks/{chunk.XFAOB6LU.js.map → chunk.HXJCTE47.js.map} +0 -0
  723. /package/dist/esm/chunks/{chunk.K7HRCGML.js.map → chunk.IDD54B5P.js.map} +0 -0
  724. /package/dist/esm/chunks/{chunk.MCIQXNKY.js.map → chunk.M3QDAYD2.js.map} +0 -0
  725. /package/dist/esm/chunks/{chunk.AMWDVFAU.js.map → chunk.OAHA3QOH.js.map} +0 -0
  726. /package/dist/esm/chunks/{chunk.NMKDIHFB.js.map → chunk.PHTOULRR.js.map} +0 -0
  727. /package/dist/esm/chunks/{chunk.XQ5CDWDY.js.map → chunk.QZK3WEH6.js.map} +0 -0
  728. /package/dist/esm/chunks/{chunk.VTB27IL7.js.map → chunk.U4GYQOPY.js.map} +0 -0
  729. /package/dist/esm/chunks/{chunk.3IXTRC6Z.js.map → chunk.WO7KEM5K.js.map} +0 -0
  730. /package/dist/esm/chunks/{chunk.M6PJ3PNN.js.map → chunk.WYP2M5FR.js.map} +0 -0
  731. /package/dist/esm/chunks/{chunk.QAWXAPHR.js.map → chunk.XOM2FYQ2.js.map} +0 -0
  732. /package/dist/esm/chunks/{chunk.NX4EECNP.js.map → chunk.XRESQBNE.js.map} +0 -0
  733. /package/dist/esm/chunks/{chunk.7K44O5RO.js.map → chunk.Y5UJ23LB.js.map} +0 -0
  734. /package/dist/esm/chunks/{chunk.UHU4FUIS.js.map → chunk.ZMRDW25U.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/list/list/list-constants.ts", "../../src/list/list-item/list-item-constants.ts", "../../src/list/list-item/list-item-adapter.ts", "../../src/list/list-item/list-item-foundation.ts", "../../src/list/list-item/list-item.ts", "../../src/list/list-item/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}list`;\n\nconst attributes = {\n STATIC: 'static',\n DENSE: 'dense',\n PROPAGATE_CLICK: 'propagate-click',\n INDENTED: 'indented',\n SELECTED_VALUE: 'selected-value'\n};\n\nconst selectors = {\n FOCUSABLE_LIST_ITEMS: '.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled)'\n};\n\nexport const LIST_CONSTANTS = {\n elementName,\n attributes,\n selectors\n};\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\nimport { IListItemComponent } from './list-item';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}list-item`;\n\nconst attributes = {\n STATIC: 'static',\n TWO_LINE: 'two-line',\n THREE_LINE: 'three-line',\n ACTIVE: 'active',\n SELECTED: 'selected',\n VALUE: 'value',\n HREF: 'href',\n TARGET: 'target',\n RIPPLE: 'ripple',\n DISABLED: 'disabled',\n DENSE: 'dense',\n PROPAGATE_CLICK: 'propagate-click',\n INDENTED: 'indented',\n WRAP: 'wrap',\n DRAWER_CONTEXT: 'forge-drawer-context',\n IGNORE: 'forge-ignore'\n};\n\nconst classes = {\n LIST_ITEM: 'forge-list-item',\n STATIC: 'forge-list-item--static',\n TEXT: 'forge-list-item__text',\n TWO_LINE: 'forge-list-item--two-line',\n THREE_LINE: 'forge-list-item--three-line',\n ACTIVE: 'forge-list-item--active',\n ACTIVATED: 'forge-list-item--activated',\n SELECTED: 'forge-list-item--selected',\n DISABLED: 'forge-list-item--disabled',\n DENSE: 'forge-list-item--dense',\n INDENTED: 'forge-list-item--indented',\n WRAP: 'forge-list-item--wrap'\n};\n\nconst selectors = {\n LIST_ITEM: `.${classes.LIST_ITEM}`,\n DEFAULT_SLOT: `.${classes.TEXT} > slot`,\n CHECKBOX_RADIO_SELECTOR: 'input[type=checkbox]:not(:disabled):not([forge-ignore]),input[type=radio]:not(:disabled):not([forge-ignore])'\n};\n\nconst events = {\n SELECT: `${elementName}-select`\n};\n\nconst roles = {\n LINK: 'link',\n LIST_ITEM: 'listitem'\n};\n\nexport const LIST_ITEM_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors,\n events,\n roles\n};\n\nexport interface IListItemSelectEventData {\n value: any;\n listItem: IListItemComponent;\n}\n", "import { addClass, getShadowElement, removeClass, requireParent, isDeepEqual, toggleClass } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { createUserInteractionListener } from '../../core/utils';\nimport { IListComponent } from '../list/list';\nimport { LIST_CONSTANTS } from '../list/list-constants';\nimport { IListItemComponent } from './list-item';\nimport { LIST_ITEM_CONSTANTS } from './list-item-constants';\nimport { ForgeRipple } from '../../ripple';\n\nexport interface IListItemAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n getListItem(): IListItemComponent;\n addListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void;\n removeListener(type: string, listener: (evt: Event) => void): void;\n createRipple(): any;\n setStatic(value: boolean): void;\n setTwoLine(value: boolean): void;\n setThreeLine(value: boolean): void;\n getLineCount(): number;\n setActive(value: boolean): void;\n setSelected(value: boolean): void;\n tryToggleCheckboxRadio(value?: boolean): void;\n setFocus(): void;\n hasFocus(): boolean;\n setRole(role: string): void;\n setDisabled(disabled: boolean): void;\n setDense(dense: boolean): void;\n setIndented(indented: boolean): void;\n setWrap(value: boolean): void;\n trySelect(value: unknown): boolean | null;\n userInteractionListener(): ReturnType<typeof createUserInteractionListener>;\n}\n\nexport class ListItemAdapter extends BaseAdapter<IListItemComponent> implements IListItemAdapter {\n private _listItemElement: HTMLElement;\n private _defaultSlot: HTMLSlotElement;\n\n constructor(component: IListItemComponent) {\n super(component);\n this._initialize();\n }\n\n private _initialize(): void {\n this._listItemElement = getShadowElement(this._component, LIST_ITEM_CONSTANTS.selectors.LIST_ITEM);\n this._defaultSlot = getShadowElement(this._component, LIST_ITEM_CONSTANTS.selectors.DEFAULT_SLOT) as HTMLSlotElement;\n }\n \n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'listitem');\n }\n }\n\n public getListItem(): IListItemComponent {\n return this._component;\n }\n\n /**\n * Adds an event listener to the `<forge-list-item>` host element.\n * @param {string} type The event type.\n * @param {Function} listener The event callback.\n */\n public addListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void {\n this._listItemElement.addEventListener(type, listener, options);\n }\n\n /**\n * Removes an event listener from the `<forge-list-item>` host element.\n * @param {string} type The event type.\n * @param {Function} listener The event callback.\n */\n public removeListener(type: string, listener: (evt: Event) => void): void {\n this._listItemElement.removeEventListener(type, listener);\n }\n\n /**\n * Creates a ripple instance on the list item.\n * @returns {ForgeRipple}\n */\n public createRipple(): any {\n return new ForgeRipple(this._listItemElement);\n }\n\n /**\n * Toggles the static state of this list item.\n * @param {boolean} value The static state.\n */\n public setStatic(value: boolean): void {\n if (value) {\n this._listItemElement.tabIndex = -1;\n addClass(LIST_ITEM_CONSTANTS.classes.STATIC, this._listItemElement);\n } else {\n this._listItemElement.tabIndex = 0;\n removeClass(LIST_ITEM_CONSTANTS.classes.STATIC, this._listItemElement);\n }\n }\n\n /**\n * Sets this list item as a two-line list item.\n * @param {boolean} value The two-line state.\n */\n public setTwoLine(value: boolean): void {\n if (value) {\n addClass(LIST_ITEM_CONSTANTS.classes.TWO_LINE, this._listItemElement);\n } else {\n removeClass(LIST_ITEM_CONSTANTS.classes.TWO_LINE, this._listItemElement);\n }\n }\n\n /**\n * Sets this list item as a three-line list item.\n * @param {boolean} value The three-line state.\n */\n public setThreeLine(value: boolean): void {\n if (value) {\n addClass(LIST_ITEM_CONSTANTS.classes.THREE_LINE, this._listItemElement);\n } else {\n removeClass(LIST_ITEM_CONSTANTS.classes.THREE_LINE, this._listItemElement);\n }\n }\n\n /**\n * Determines how many lines the list item is displaying.\n */\n public getLineCount(): number {\n return this._defaultSlot.assignedNodes().filter(e => e.nodeType === Node.ELEMENT_NODE).length; // assignedElements does not exist in the polyfilled version so filtering nodes instead\n }\n\n /**\n * Toggles the active class of the list item.\n * @param {boolean} value The active state.\n */\n public setActive(value: boolean): void {\n if (value) {\n addClass(LIST_ITEM_CONSTANTS.classes.ACTIVE, this._listItemElement);\n } else {\n removeClass(LIST_ITEM_CONSTANTS.classes.ACTIVE, this._listItemElement);\n }\n }\n\n /**\n * Toggles the selected class of the list item.\n * @param {boolean} value The active state.\n */\n public setSelected(value: boolean): void {\n if (value) {\n addClass(LIST_ITEM_CONSTANTS.classes.SELECTED, this._listItemElement);\n // We are treating selected and activated as the same state, and mdc-states hooks right into --activated\n // addClass(LIST_ITEM_CONSTANTS.classes.ACTIVATED, this._listItemElement);\n } else {\n removeClass(LIST_ITEM_CONSTANTS.classes.SELECTED, this._listItemElement);\n // removeClass(LIST_ITEM_CONSTANTS.classes.ACTIVATED, this._listItemElement);\n }\n }\n\n /**\n * Attemps to toggle a checkbox or radio button within the list item if it can find one.\n */\n public tryToggleCheckboxRadio(value?: boolean): void {\n const checkable = this._component.querySelector(LIST_ITEM_CONSTANTS.selectors.CHECKBOX_RADIO_SELECTOR) as HTMLInputElement;\n if (checkable) {\n const force = typeof value === 'boolean';\n const currentState = checkable.checked;\n \n // Check if we are just toggling or forcing to a specific checked state\n checkable.checked = force ? value as boolean : !checkable.checked;\n\n if (!force || currentState !== value) {\n checkable.dispatchEvent(new Event('change', { bubbles: true }));\n }\n }\n }\n\n /** Attempts to set focus to this list item. */\n public setFocus(): void {\n this._listItemElement.focus();\n }\n\n /** Returns whether the component has focus or not. */\n public hasFocus(): boolean {\n return document.activeElement === this._component || !!this._component.shadowRoot?.activeElement;\n }\n\n /**\n * Sets the role on the list item element.\n * @param role The role.\n */\n public setRole(role: string): void {\n this._listItemElement.setAttribute('role', role);\n }\n\n public setDisabled(disabled: boolean): void {\n toggleClass(this._listItemElement, disabled, LIST_ITEM_CONSTANTS.classes.DISABLED);\n }\n\n public setDense(dense: boolean): void {\n toggleClass(this._listItemElement, dense, LIST_ITEM_CONSTANTS.classes.DENSE);\n }\n\n public setIndented(indented: boolean): void {\n toggleClass(this._listItemElement, indented, LIST_ITEM_CONSTANTS.classes.INDENTED);\n }\n\n public setWrap(value: boolean): void {\n toggleClass(this._listItemElement, value, LIST_ITEM_CONSTANTS.classes.WRAP);\n }\n\n /**\n * Attempts to set the selected state of the list item element and it's visual indicators\n * @param value The value to compare to the parent list element's selected value\n * @returns Returns whether the list item is selected or not\n */\n public trySelect(value: unknown): boolean | null {\n const list = requireParent<IListComponent>(this._component, LIST_CONSTANTS.elementName);\n if (!list || list.selectedValue === undefined) {\n return null;\n }\n\n const listValues = list.selectedValue instanceof Array ? list.selectedValue : [list.selectedValue];\n const isSelected = listValues.some(v => isDeepEqual(v, value));\n\n this.setSelected(isSelected);\n this.tryToggleCheckboxRadio(isSelected);\n return isSelected;\n }\n\n public userInteractionListener(): ReturnType<typeof createUserInteractionListener> {\n return createUserInteractionListener(this._listItemElement);\n }\n}\n", "import { ICustomElementFoundation, matchesSelectors } from '@tylertech/forge-core';\nimport { ForgeRipple } from '../../ripple';\nimport { IListItemAdapter } from './list-item-adapter';\nimport { LIST_ITEM_CONSTANTS, IListItemSelectEventData } from './list-item-constants';\n\nexport interface IListItemFoundation extends ICustomElementFoundation {\n static: boolean;\n twoLine: boolean;\n threeLine: boolean;\n active: boolean;\n selected: boolean;\n value: any;\n href: string;\n target: string;\n ripple: boolean;\n disabled: boolean;\n dense: boolean;\n wrap: boolean;\n setFocus(): void;\n}\n\n/**\n * The foundation class behind the `<forge-list-item>` component.\n */\nexport class ListItemFoundation implements IListItemFoundation {\n private _ripple = true;\n private _rippleInstance: ForgeRipple;\n private _static = false;\n private _twoLine = false;\n private _threeLine = false;\n private _active = false;\n private _selected = false;\n private _value: any;\n private _href: string;\n private _target: string;\n private _disabled = false;\n private _dense = false;\n private _propagateClick = true;\n private _indented = false;\n private _wrap = false;\n private _clickListener: (evt: MouseEvent) => void;\n private _mouseDownListener: (evt: MouseEvent) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _destroyUserInteractionListener: (() => void) | undefined;\n\n constructor(private _adapter: IListItemAdapter) {\n this._clickListener = (evt: MouseEvent) => this._onClick(evt);\n this._mouseDownListener = (evt: MouseEvent) => this._onMouseDown(evt);\n this._keydownListener = (evt: KeyboardEvent) => this._onKeydown(evt);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n this._setRipple();\n this._adapter.setStatic(this._static);\n this._adapter.setDense(this._dense);\n this._adapter.setDisabled(this._disabled);\n this._adapter.setIndented(this._indented);\n this._adapter.setWrap(this._wrap);\n\n if (!this._static) {\n this._adapter.addListener('click', this._clickListener);\n this._adapter.addListener('mousedown', this._mouseDownListener, { passive: false, capture: true });\n this._adapter.addListener('keydown', this._keydownListener);\n }\n\n if (this._threeLine) {\n this._adapter.setThreeLine(this._threeLine);\n } else if (this.twoLine) {\n this._adapter.setTwoLine(this._twoLine);\n }\n\n const isSelected = this._adapter.trySelect(this._value);\n if(isSelected != null) {\n this._selected = isSelected;\n }\n }\n\n public disconnect(): void {\n if (typeof this._destroyUserInteractionListener === 'function') {\n this._destroyUserInteractionListener();\n this._destroyUserInteractionListener = undefined;\n }\n\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n this._rippleInstance = undefined as any;\n }\n }\n\n private _onMouseDown(evt: MouseEvent): void {\n if (this._adapter.hasFocus() || !this._propagateClick) {\n evt.preventDefault();\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n if (evt.key === 'Enter' || evt.key === ' ') {\n if (evt.key === ' ') {\n evt.preventDefault();\n }\n this._select(evt.target as HTMLElement);\n }\n }\n\n /**\n * Handles clicking a list item.\n * @param evt\n */\n private _onClick(evt: MouseEvent): void {\n this._select(evt.target as HTMLElement);\n }\n\n private _select(targetElement: HTMLElement): void {\n const ignoreElement = targetElement?.hasAttribute(LIST_ITEM_CONSTANTS.attributes.IGNORE);\n if (this._static || this._disabled || ignoreElement) {\n return;\n }\n\n if (!this._adapter.hasFocus() && this._propagateClick) {\n this.setFocus();\n }\n\n if (this._href) {\n if (this._target) {\n window.open(this._href, this._target);\n } else {\n document.location.href = this._href;\n }\n return;\n }\n\n // If the target was not a checkbox or radio button, attempt to find one and toggle its checked state\n if (!matchesSelectors(targetElement, LIST_ITEM_CONSTANTS.selectors.CHECKBOX_RADIO_SELECTOR)) {\n this._adapter.tryToggleCheckboxRadio();\n }\n\n const data: IListItemSelectEventData = {\n value: this._value,\n listItem: this._adapter.getListItem()\n };\n this._adapter.emitHostEvent(LIST_ITEM_CONSTANTS.events.SELECT, data);\n }\n\n /** Gets/sets whether the list item has a ripple or not. */\n public get ripple(): boolean {\n return this._ripple;\n }\n public set ripple(value: boolean) {\n if (this._ripple !== value) {\n // We don't attach ripples to static items\n if (value && this._static) {\n return;\n }\n this._ripple = value;\n this._setRipple();\n\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.RIPPLE, String(this._ripple));\n }\n }\n\n /** Gets/sets whether the static state of this list item. */\n public get static(): boolean {\n return this._static;\n }\n public set static(value: boolean) {\n if (this._static !== value) {\n this._static = value;\n this._adapter.setStatic(this._static);\n\n // Ensure we either add or remove the ripple\n this._setRipple();\n\n // Toggle the click listener\n if (this._static) {\n this._adapter.removeListener('click', this._clickListener);\n } else {\n this._adapter.addListener('click', this._clickListener);\n }\n\n if (this._static) {\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.STATIC);\n } else {\n this._adapter.removeHostAttribute(LIST_ITEM_CONSTANTS.attributes.STATIC);\n }\n }\n }\n\n /** Gets/sets whether the list item displays two lines of text. */\n public get twoLine(): boolean {\n return this._twoLine;\n }\n public set twoLine(value: boolean) {\n if (this._twoLine !== value) {\n this._twoLine = value;\n this._adapter.setTwoLine(this._twoLine);\n\n if (this._twoLine) {\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.TWO_LINE);\n } else {\n this._adapter.removeHostAttribute(LIST_ITEM_CONSTANTS.attributes.TWO_LINE);\n }\n }\n }\n\n /** Gets/sets whether the list item displays two lines of text. */\n public get threeLine(): boolean {\n return this._threeLine;\n }\n public set threeLine(value: boolean) {\n if (this._threeLine !== value) {\n this._threeLine = value;\n\n if (this._threeLine) {\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.THREE_LINE);\n } else {\n this._adapter.removeHostAttribute(LIST_ITEM_CONSTANTS.attributes.THREE_LINE);\n }\n\n if (this._threeLine) {\n this._twoLine = false;\n }\n\n this._adapter.setTwoLine(this._twoLine);\n this._adapter.setThreeLine(this._threeLine);\n }\n }\n\n /** Gets/sets whether the list item is active or not. */\n public get active(): boolean {\n return this._active;\n }\n public set active(value: boolean) {\n if (this._active !== value) {\n this._active = value;\n this._adapter.setActive(this._active);\n if (this._active) {\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.ACTIVE);\n } else {\n this._adapter.removeHostAttribute(LIST_ITEM_CONSTANTS.attributes.ACTIVE);\n }\n }\n }\n\n /** Gets/sets whether the list item is selected or not. */\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(value: boolean) {\n if (this._selected !== value) {\n this._selected = value;\n this._adapter.setSelected(this._selected);\n this._adapter.tryToggleCheckboxRadio(this._selected);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.SELECTED, this._selected);\n }\n }\n\n /** Gets/sets the unique value for this list item. */\n public get value(): any {\n return this._value;\n }\n public set value(value: any) {\n this._value = value;\n const isSelected = this._adapter.trySelect(this._value);\n if(isSelected != null) {\n this._selected = isSelected;\n }\n }\n\n /** Gets/sets the href link that this list item will send the browser to when clicked. */\n public get href(): string {\n return this._href;\n }\n public set href(value: string) {\n if (this._href !== value) {\n this._href = value;\n if (this._href) {\n this._adapter.setRole(LIST_ITEM_CONSTANTS.roles.LINK);\n } else {\n this._adapter.setRole(LIST_ITEM_CONSTANTS.roles.LIST_ITEM);\n }\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.HREF, this._href);\n }\n }\n\n /** Gets/sets the href link target. */\n public get target(): string {\n return this._target;\n }\n public set target(value: string) {\n this._target = value;\n }\n\n /** Gets/sets the disabled state. */\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(LIST_ITEM_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n /** Gets/sets the dense state. */\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(LIST_ITEM_CONSTANTS.attributes.DENSE, this._dense);\n }\n }\n\n /** Gets/sets the dense state. */\n public get propagateClick(): boolean {\n return this._propagateClick;\n }\n public set propagateClick(value: boolean) {\n if (this._propagateClick !== value) {\n this._propagateClick = value;\n this._adapter.setHostAttribute(LIST_ITEM_CONSTANTS.attributes.PROPAGATE_CLICK, '' + !!this._propagateClick);\n }\n }\n\n public get indented(): boolean {\n return this._indented;\n }\n public set indented(value: boolean) {\n if (this._indented !== value) {\n this._indented = value;\n this._adapter.setIndented(this._indented);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.INDENTED, this._indented);\n }\n }\n\n public get wrap(): boolean {\n return this._wrap;\n }\n public set wrap(value: boolean) {\n if (this._wrap !== value) {\n this._wrap = value;\n this._adapter.setWrap(this._wrap);\n this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.WRAP, this._wrap);\n }\n }\n\n private async _setRipple(): Promise<void> {\n if (this._ripple && !this._static && !this._rippleInstance) {\n const { userInteraction, destroy } = this._adapter.userInteractionListener();\n this._destroyUserInteractionListener = destroy;\n const { type } = await userInteraction;\n this._destroyUserInteractionListener = undefined;\n if (this._ripple && !this._static && !this._rippleInstance) { // need to re-check after await\n this._rippleInstance = this._adapter.createRipple();\n if (type === 'focusin') {\n this._rippleInstance.handleFocus();\n }\n }\n } else if ((!this._ripple || this._static) && this._rippleInstance) {\n this._rippleInstance.destroy();\n this._rippleInstance = undefined as any;\n }\n }\n\n /**\n * Sets focus to this list item.\n */\n public setFocus(): void {\n this._adapter.setFocus();\n }\n}\n", "import { CustomElement, attachShadowTemplate, requireParent, elementParents, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { ListItemAdapter } from './list-item-adapter';\nimport { ListItemFoundation } from './list-item-foundation';\nimport { IListItemSelectEventData, LIST_ITEM_CONSTANTS } from './list-item-constants';\nimport { LIST_CONSTANTS } from '../list/list-constants';\nimport { IListComponent } from '../list';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst defaultTemplate = '<template><div class=\\\"forge-list-item\\\" tabindex=\\\"0\\\" part=\\\"root\\\"><slot name=\\\"leading\\\"></slot><slot name=\\\"avatar\\\"></slot><div class=\\\"forge-list-item__text\\\" part=\\\"text-container\\\"><slot></slot><slot name=\\\"title\\\"></slot><slot name=\\\"subtitle\\\"></slot><slot name=\\\"tertiary-title\\\"></slot><slot></slot></div><slot name=\\\"trailing\\\"></slot></div></template>';\nconst styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-list-item{min-height:32px;min-height:var(--forge-list-item-min-height,32px);max-height:none;max-height:var(--forge-list-item-max-height,none);height:32px;height:var(--forge-list-item-height,32px);padding:8px 16px;padding:var(--forge-list-item-padding,8px 16px);margin-left:0;margin-left:var(--forge-list-item-indent,0);-webkit-box-align:center;align-items:center;-webkit-box-align:var(--forge-list-item-align-items,center);align-items:var(--forge-list-item-align-items,center);position:relative;display:-webkit-box;display:flex;-webkit-box-pack:start;justify-content:flex-start;overflow:hidden}.forge-list-item:focus{outline:0}.forge-list-item ::slotted([slot=leading]),.forge-list-item ::slotted([slot=trailing]){font-size:1.5rem}.forge-list-item ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:0;margin-left:var(--forge-list-item-leading-margin-left,0);margin-right:32px;margin-right:var(--forge-list-item-leading-margin-right,32px);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor}.forge-list-item ::slotted([slot=trailing]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-list-item ::slotted([slot=avatar]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:0;margin-left:var(--forge-list-item-leading-margin-left,0);margin-right:32px;margin-right:var(--forge-list-item-leading-margin-right,32px);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor;margin-left:0;margin-right:16px;min-width:40px;min-height:40px;border-radius:50%;display:inline-flex;background-color:rgba(0,0,0,.54);background-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-surface--hover::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded--background-focused::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated::before{opacity:.12;opacity:var(--mdc-ripple-activated-opacity, .12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated.mdc-ripple-surface--hover::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated:hover::before{opacity:.16;opacity:var(--mdc-ripple-hover-opacity, .16)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated.mdc-ripple-upgraded--background-focused::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--activated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity, .08)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected.mdc-ripple-surface--hover::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity, .12)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected.mdc-ripple-upgraded--background-focused::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity, .2)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity, .2)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--selected:focus:hover.mdc-ripple-upgraded--background-focused:not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.28}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.12}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation):hover::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation):hover::before{opacity:.16}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::after,.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:focus:not(.forge-list-item--selected):not(.forge-list-item--activated):not(.mdc-ripple-upgraded--foreground-activation)::before{background-color:#000;background-color:var(--mdc-theme-on-surface,#000)}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:focus.forge-list-item--selected.forge-list-item--activated:not(.mdc-ripple-upgraded--foreground-activation)::before{opacity:.24}.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item--active:focus.forge-list-item--selected.forge-list-item--activated:not(.mdc-ripple-upgraded--foreground-activation):hover::before{opacity:.28}.forge-list-item__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%}.forge-list-item ::slotted([slot=title]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.forge-list-item ::slotted([slot=subtitle]),.forge-list-item ::slotted([slot=tertiary-title]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));display:block}.forge-list-item--two-line{height:56px;height:var(--forge-list-item-height,56px)}.forge-list-item--three-line{height:72px;height:var(--forge-list-item-height,72px)}.forge-list-item--dense{height:16px;height:var(--forge-list-item-height,16px)}.forge-list-item--dense ::slotted([slot=leading]),.forge-list-item--dense ::slotted([slot=trailing]){font-size:1.25rem}.forge-list-item--dense ::slotted([slot=leading]){margin-right:12px;margin-right:var(--forge-list-item-leading-margin-right,12px)}.forge-list-item--dense ::slotted(.forge-list-item__title){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit)}.forge-list-item--wrap{min-height:32px;min-height:var(--forge-list-item-min-height,32px);height:auto;height:var(--forge-list-item-height,auto)}.forge-list-item--wrap .forge-list-item__text,.forge-list-item--wrap ::slotted([slot=subtitle]),.forge-list-item--wrap ::slotted([slot=tertiary-title]),.forge-list-item--wrap ::slotted([slot=title]){text-overflow:clip;white-space:normal}.forge-list-item--indented{margin-left:56px;margin-left:var(--forge-list-item-indent,56px)}.forge-list-item--active.forge-list-item--activated:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before,.forge-list-item--active.forge-list-item--selected:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item::before{opacity:.2}.forge-list-item--active.forge-list-item--activated:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:hover::before,.forge-list-item--active.forge-list-item--selected:not(.forge-list-item--static):not(.forge-list-item--disabled).forge-list-item:hover::before{opacity:.24}.forge-list-item--activated,.forge-list-item--selected{color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-list-item--activated .forge-list-item__text .forge-list-item__subtitle,.forge-list-item--activated .forge-list-item__text ::slotted(.forge-list-item__subtitle),.forge-list-item--selected .forge-list-item__text .forge-list-item__subtitle,.forge-list-item--selected .forge-list-item__text ::slotted(.forge-list-item__subtitle){color:#6200ee;color:var(--mdc-theme-primary,#6200ee);opacity:.87}.forge-list-item--activated .forge-list-item__text .forge-list-item__tertiary-title,.forge-list-item--activated .forge-list-item__text ::slotted(.forge-list-item__tertiary-title),.forge-list-item--selected .forge-list-item__text .forge-list-item__tertiary-title,.forge-list-item--selected .forge-list-item__text ::slotted(.forge-list-item__tertiary-title){color:#6200ee;color:var(--mdc-theme-primary,#6200ee);opacity:.87}.forge-list-item--activated ::slotted([slot=leading]),.forge-list-item--activated ::slotted([slot=trailing]),.forge-list-item--selected ::slotted([slot=leading]),.forge-list-item--selected ::slotted([slot=trailing]){color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-list-item--activated ::slotted([slot=avatar].forge-list-item__avatar-icon),.forge-list-item--selected ::slotted([slot=avatar].forge-list-item__avatar-icon){background-color:rgba(0,0,0,.38);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.38));color:#000;color:var(--mdc-theme-on-surface,#000)}.forge-list-item--disabled{cursor:not-allowed;cursor:var(--forge-list-item-cursor,not-allowed);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-list-item--disabled ::slotted([slot=leading]),.forge-list-item--disabled ::slotted([slot=trailing]){cursor:not-allowed;cursor:var(--forge-list-item-cursor,not-allowed);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-list-item[role=link]{cursor:pointer}:host{display:block;contain:content}:host([hidden]){display:none}:host([forge-drawer-context=true]) .forge-list-item{margin:8px;margin:var(--forge-list-item-margin,8px);padding:0 8px;padding:var(--forge-list-item-padding,0 8px);border-radius:4px;border-radius:var(--forge-list-item-border-radius,4px);cursor:pointer;cursor:var(--forge-list-item-cursor,pointer);height:40px;height:var(--forge-list-item-height,40px);font-size:.875rem;font-weight:500}:host([forge-drawer-context=true]) .forge-list-item--static{cursor:initial}:host([forge-drawer-context=true]) .forge-list-item--indented{margin-left:64px;margin-left:var(--forge-list-item-indent,64px)}:host([forge-drawer-context=true]) .forge-list-item--two-line{min-height:56px-8px;min-height:var(--forge-list-item-min-height,56px-8px);height:56px-8px;height:var(--forge-list-item-height,56px-8px)}:host([forge-drawer-context=true]) .forge-list-item--three-line{min-height:72px-8px;min-height:var(--forge-list-item-min-height,72px-8px);height:72px-8px;height:var(--forge-list-item-height,72px-8px)}:host([forge-drawer-context=true]) .forge-list-item:first-child{margin-top:4px;margin-bottom:4px}:host([forge-drawer-context=true]) .forge-list-item--dense{height:16px;height:var(--forge-list-item-height,16px)}:host([forge-drawer-context=true]) .forge-list-item--dense ::slotted([slot=leading]),:host([forge-drawer-context=true]) .forge-list-item--dense ::slotted([slot=trailing]){font-size:1.25rem}:host([forge-drawer-context=true]) .forge-list-item--dense .forge-list-item__text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit)}:host([forge-drawer-context=true]) .forge-list-item--wrap{height:auto;height:var(--forge-list-item-height,auto);padding:4px 8px;padding:var(--forge-list-item-padding,4px 8px);min-height:40px;min-height:var(--forge-list-item-min-height,40px)}:host([forge-drawer-context=true]) .forge-list-item--disabled{cursor:not-allowed;cursor:var(--forge-list-item-cursor,not-allowed)}:host([dense]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit)}';\n\nexport interface IListItemComponent extends IBaseComponent {\n static: boolean;\n twoLine: boolean;\n threeLine: boolean;\n active: boolean;\n selected: boolean;\n value: any;\n href: string;\n target: string;\n ripple: boolean;\n disabled: boolean;\n dense: boolean;\n propagateClick: boolean;\n indented: boolean;\n wrap: boolean;\n focus(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-list-item': IListItemComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-list-item-select': CustomEvent<IListItemSelectEventData>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-list-item>` element.\n * \n * @tag forge-list-item\n */\n@CustomElement({\n name: LIST_ITEM_CONSTANTS.elementName\n})\nexport class ListItemComponent extends BaseComponent implements IListItemComponent {\n public static get observedAttributes(): string[] {\n return [\n LIST_ITEM_CONSTANTS.attributes.STATIC,\n LIST_ITEM_CONSTANTS.attributes.TWO_LINE,\n LIST_ITEM_CONSTANTS.attributes.THREE_LINE,\n LIST_ITEM_CONSTANTS.attributes.ACTIVE,\n LIST_ITEM_CONSTANTS.attributes.SELECTED,\n LIST_ITEM_CONSTANTS.attributes.VALUE,\n LIST_ITEM_CONSTANTS.attributes.HREF,\n LIST_ITEM_CONSTANTS.attributes.TARGET,\n LIST_ITEM_CONSTANTS.attributes.RIPPLE,\n LIST_ITEM_CONSTANTS.attributes.DISABLED,\n LIST_ITEM_CONSTANTS.attributes.DENSE,\n LIST_ITEM_CONSTANTS.attributes.PROPAGATE_CLICK,\n LIST_ITEM_CONSTANTS.attributes.INDENTED,\n LIST_ITEM_CONSTANTS.attributes.WRAP\n ];\n }\n\n private _foundation: ListItemFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, defaultTemplate, styles);\n this._foundation = new ListItemFoundation(new ListItemAdapter(this));\n }\n\n public connectedCallback(): void {\n // To simulate the :host-context() selector for Firefox until they implement it, we need to determine if the\n // list item is within a drawer for auto-styling the list item when included within a drawer. Check to see if\n // any of the parents of this element are a drawer.\n if (!this.hasAttribute(LIST_ITEM_CONSTANTS.attributes.DRAWER_CONTEXT) && elementParents(this).some(el => ['forge-drawer', 'forge-modal-drawer', 'forge-mini-drawer'].includes(el.tagName.toLowerCase()))) {\n this.setAttribute(LIST_ITEM_CONSTANTS.attributes.DRAWER_CONTEXT, 'true');\n }\n\n const list = requireParent<IListComponent>(this, LIST_CONSTANTS.elementName);\n if (list) {\n this._inheritParentListProps(list);\n }\n\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case LIST_ITEM_CONSTANTS.attributes.STATIC:\n this.static = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.TWO_LINE:\n this.twoLine = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.THREE_LINE:\n this.threeLine = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.ACTIVE:\n this.active = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.SELECTED:\n this.selected = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case LIST_ITEM_CONSTANTS.attributes.HREF:\n this.href = newValue;\n break;\n case LIST_ITEM_CONSTANTS.attributes.TARGET:\n this.target = newValue;\n break;\n case LIST_ITEM_CONSTANTS.attributes.RIPPLE:\n this.ripple = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.PROPAGATE_CLICK:\n this.propagateClick = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.INDENTED:\n this.indented = coerceBoolean(newValue);\n break;\n case LIST_ITEM_CONSTANTS.attributes.WRAP:\n this.wrap = coerceBoolean(newValue);\n break;\n }\n }\n\n private _inheritParentListProps(list: IListComponent): void {\n if (list.hasAttribute(LIST_CONSTANTS.attributes.STATIC)) {\n this.static = true;\n }\n if (list.hasAttribute(LIST_CONSTANTS.attributes.DENSE)) {\n this.dense = true;\n }\n if (list.getAttribute(LIST_CONSTANTS.attributes.PROPAGATE_CLICK) === 'false') {\n this.propagateClick = false;\n }\n if (list.hasAttribute(LIST_CONSTANTS.attributes.INDENTED)) {\n this.indented = true;\n }\n }\n\n /** Gets/sets whether the static state of this list item. */\n @FoundationProperty()\n public declare static: boolean;\n\n /** Gets/sets whether the list item displays two lines of text. */\n @FoundationProperty()\n public declare twoLine: boolean;\n\n /** Gets/sets whether the list item displays three lines of text. */\n @FoundationProperty()\n public declare threeLine: boolean;\n\n /** Gets/sets whether the list item is active or not. */\n @FoundationProperty()\n public declare active: boolean;\n\n /** Gets/sets whether the list item is selected or not. */\n @FoundationProperty()\n public declare selected: boolean;\n\n /** Gets/sets list item value. */\n @FoundationProperty()\n public declare value: any;\n\n /** Gets/sets the href link that this list item will send the browser to when clicked. */\n @FoundationProperty()\n public declare href: string;\n\n /** Gets/sets the href link target. Only pertains when `href` is also used. */\n @FoundationProperty()\n public declare target: string;\n\n /** Gets/sets whether the list item has a ripple or not. */\n @FoundationProperty()\n public declare ripple: boolean;\n\n /** Gets/sets whether the list item is disabled or not. */\n @FoundationProperty()\n public declare disabled: boolean;\n\n /** Gets/sets whether the list item is using dense styles or not. */\n @FoundationProperty()\n public declare dense: boolean;\n\n /** Gets/sets whether the list item allows mousedown events through to the underlying list item element. Default is true. */\n @FoundationProperty()\n public declare propagateClick: boolean;\n\n /** Gets/sets whether the list item is indented or not. Default is false. */\n @FoundationProperty()\n public declare indented: boolean;\n\n /** Gets/sets whether the list item content is wrapped or not. Default is true. */\n @FoundationProperty()\n public declare wrap: boolean;\n\n /** Sets focus to this list item. */\n public override focus(): void {\n this._foundation.setFocus();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { ListItemComponent } from './list-item';\n\nexport * from './list-item-adapter';\nexport * from './list-item-constants';\nexport * from './list-item-foundation';\nexport * from './list-item';\n\nexport function defineListItemComponent(): void {\n defineCustomElement(ListItemComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "LIST_CONSTANTS", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "selectors", "events", "roles", "LIST_ITEM_CONSTANTS", "ListItemAdapter", "BaseAdapter", "component", "getShadowElement", "LIST_ITEM_CONSTANTS", "type", "listener", "options", "ForgeRipple", "value", "addClass", "removeClass", "e", "checkable", "force", "currentState", "_a", "role", "disabled", "toggleClass", "dense", "indented", "list", "requireParent", "LIST_CONSTANTS", "isSelected", "v", "isDeepEqual", "createUserInteractionListener", "ListItemFoundation", "_adapter", "evt", "isSelected", "targetElement", "ignoreElement", "LIST_ITEM_CONSTANTS", "matchesSelectors", "data", "value", "userInteraction", "destroy", "type", "defaultTemplate", "styles", "ListItemComponent", "BaseComponent", "attachShadowTemplate", "ListItemFoundation", "ListItemAdapter", "LIST_ITEM_CONSTANTS", "elementParents", "el", "list", "requireParent", "LIST_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "defineListItemComponent", "defineCustomElement", "ListItemComponent"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as T}from"./chunk.DXZ5LVFJ.js";import{c as L}from"./chunk.NF4J3Q5X.js";import{a as D}from"./chunk.4WVHON6T.js";import{a as c,d as H}from"./chunk.RGPNNISQ.js";import{a as C}from"./chunk.LEVFMI2Q.js";import{a as w}from"./chunk.KSCUIS5C.js";import{a as s}from"./chunk.NVUMRW44.js";import{a as S}from"./chunk.5V5ABSHI.js";import{a as x,b as B}from"./chunk.DTZFWZPB.js";import{a as k,e as y,f as g}from"./chunk.NK7H3MMM.js";import{i as E,r as h,t as l}from"./chunk.CFDK4RCW.js";import{k as d}from"./chunk.J2M2MXP2.js";import{a as v,b as _,d as a}from"./chunk.M3QDAYD2.js";var p=`${B}bottom-sheet`,A={DRAGGING:"forge-bottom-sheet--dragging",FULLSCREEN:"forge-bottom-sheet--fullscreen",OPEN:"forge-bottom-sheet--open",SCROLLABLE:"forge-bottom-sheet--scrollable"},O={BACKDROP_CLOSE:"backdrop-close",ESCAPE_CLOSE:"escape-close",FULLSCREEN:"fullscreen",INITIAL_FOCUS:`${p}-focus`,OPEN:`${p}-open`,SHOW_BACKDROP:"show-backdrop"},N={BACKDROP:c.elementName,CONTAINER:".forge-bottom-sheet",CONTENT_BODY:"[forge-bottom-sheet-body]",INITIAL_FOCUS:`[${O.INITIAL_FOCUS}]`,HOST:`[${p}-host]`},P={BEFORE_CLOSE:"forge-bottom-sheet-before-close",CLOSE:"forge-bottom-sheet-close",OPEN:"forge-bottom-sheet-open",READY:"forge-bottom-sheet-ready",DRAG_START:"forge-bottom-sheet-drag-start",DRAGGED:"forge-bottom-sheet-dragged",DRAG_END:"forge-bottom-sheet-drag-end",DRAG_CANCEL:"forge-bottom-sheet-drag-cancel",FULLSCREEN:"forge-bottom-sheet-fullscreen"},o={elementName:p,classes:A,selectors:N,attributes:O,events:P};var m=class extends S{constructor(e){super(e);this._backdropElement=g(e,o.selectors.BACKDROP),this._containerElement=g(e,o.selectors.CONTAINER)}initializeAccessibility(){this._component.hasAttribute("role")||(this._component.setAttribute("role","dialog"),this._component.setAttribute("aria-modal","true"))}setVisibility(e){l(this._containerElement,e,o.classes.OPEN)}attach(){(document.querySelector(o.selectors.HOST)||document.body).appendChild(this._component)}detach(){E(this._component)}registerTransitionEndHandler(e){this._containerElement.addEventListener("transitionend",e)}deregisterTransitionEndHandler(e){this._containerElement.removeEventListener("transitionend",e)}setBodyListener(e,i,r){document.body.addEventListener(e,i,r)}removeBodyListener(e,i){document.body.removeEventListener(e,i)}setDocumentListener(e,i){document.addEventListener(e,i)}removeDocumentListener(e,i){document.removeEventListener(e,i)}registerBackdropClickHandler(e){this._backdropElement.addEventListener(c.events.BACKDROP_CLICK,e)}deregisterBackdropClickHandler(e){this._backdropElement.removeEventListener(c.events.BACKDROP_CLICK,e)}getOpenBottomSheets(e){return document.querySelectorAll(e)}trySetInitialFocus(){let e=h(this._component,o.selectors.INITIAL_FOCUS);e&&e.length&&e[e.length-1].focus()}isScrollable(){let e=this._getContentElement();return e?e.scrollHeight>e.offsetHeight:!1}isContentChild(e){let i=this._getContentElement();return i?i.contains(e):!1}initScrollable(){let e=this.isScrollable();l(this._component,e,o.classes.SCROLLABLE),l(this._containerElement,e,o.classes.SCROLLABLE)}setDragging(e){l(this._containerElement,e,o.classes.DRAGGING),l(this._component,e,o.classes.DRAGGING)}setBackdropVisiblity(e){this._backdropElement.hidden=!e}setFullscreen(e){l(this._containerElement,e,o.classes.FULLSCREEN)}tryLayoutChildren(){let e=[w.elementName,D.elementName,L.elementName,T.elementName];Array.from(this._component.querySelectorAll(e.join(","))).filter(r=>typeof r.layout=="function").forEach(r=>r.layout())}setContainerHeight(e){if(e!=null){let i=Math.min(100,100*e/window.innerHeight);this._containerElement.style.maxHeight=`${i}%`}else this._containerElement.style.removeProperty("max-height")}getContainerBounds(){return this._containerElement.getBoundingClientRect()}setDragTargetHandler(e,i){this._containerElement.addEventListener(e,i)}removeDragTargetHandler(e,i){this._containerElement.removeEventListener(e,i)}setBodyScrollHandler(e){let i=this._getContentElement();i&&i.addEventListener("scroll",e)}_getContentElement(){let e=Array.from(h(this._component,o.selectors.CONTENT_BODY,!1));return e.length?e[0]:null}};var b=class{constructor(t){this._adapter=t;this._open=!1;this._backdropClose=!0;this._escapeClose=!0;this._fullscreen=!1;this._showBackdrop=!1;this._isDragging=!1;this._bodyScrollHandler=()=>this._onBodyScroll();this._dragStartHandler=t=>this._onDragStart(t);this._dragMoveHandler=t=>this._onDragMove(t);this._dragEndHandler=()=>this._onDragEnd();this._dragCancelHandler=()=>this._onDragCancel();this._openTransitionEndHandler=e=>this._onOpenTransitionEnd(),this._closeTransitionEndHandler=e=>this._onCloseTransitionEnd(),this._documentKeydownHandler=e=>this._onDocumentKeydown(e),this._backdropClickHandler=e=>this._onBackdropClick(e)}initialize(){this._adapter.initializeAccessibility()}destroy(){this._open&&(this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler),this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler))}_setOpen(t){this._open=t,this._open?this._openBottomSheet():this._closeBottomSheet(),this._adapter.toggleHostAttribute(o.attributes.OPEN,this._open)}_openBottomSheet(){this._adapter.attach(),this._adapter.setBodyAttribute(o.attributes.OPEN,"true"),this._adapter.registerTransitionEndHandler(this._openTransitionEndHandler),this._setDocumentKeydownListener(this._escapeClose),this._setBackdropClickListener(this._backdropClose),window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{this._adapter.setVisibility(!0),this._adapter.emitHostEvent(o.events.OPEN),this._adapter.trySetInitialFocus(),this._adapter.initScrollable()})})}_closeBottomSheet(){this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler),this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler),this._adapter.registerTransitionEndHandler(this._closeTransitionEndHandler),this._adapter.setVisibility(!1)}_onCloseTransitionEnd(){this._adapter.emitHostEvent(o.events.CLOSE),this._adapter.detach(),this._adapter.getOpenBottomSheets(o.elementName).length||this._adapter.removeBodyAttribute(o.attributes.OPEN)}_onOpenTransitionEnd(){this._open&&(this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler),this._adapter.emitHostEvent(o.events.READY),this._adapter.tryLayoutChildren(),this._adapter.isScrollable()&&this._initScrollableHandlers())}_onDocumentKeydown(t){t.stopPropagation(),t.key&&(t.key==="Escape"||t.key==="Esc")&&this._tryClose()}_onBackdropClick(t){t.stopPropagation(),this._tryClose()}async _tryClose(){if(this._adapter.emitHostEvent(o.events.BEFORE_CLOSE,void 0,void 0,!0)){if(!this._beforeCloseCallback){this.open=!1;return}try{if(await Promise.resolve(this._beforeCloseCallback())){this.open=!1;return}}catch(e){return}}}_setBackdropClickListener(t){this._open&&(t?this._adapter.registerBackdropClickHandler(this._backdropClickHandler):this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler))}_setDocumentKeydownListener(t){this._open&&(t?this._adapter.addDocumentListener("keydown",this._documentKeydownHandler):this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler))}set backdropClose(t){t=!!t,this._backdropClose!==t&&(this._backdropClose=t,this._setBackdropClickListener(this._backdropClose),this._adapter.toggleHostAttribute(o.attributes.BACKDROP_CLOSE,this._backdropClose))}get backdropClose(){return this._backdropClose}set escapeClose(t){t=!!t,this._escapeClose!==t&&(this._escapeClose=t,this._setDocumentKeydownListener(this._escapeClose),this._adapter.toggleHostAttribute(o.attributes.ESCAPE_CLOSE,this._escapeClose))}get escapeClose(){return this._escapeClose}get open(){return this._open}set open(t){if(this._open!==t&&(t=!!t,t!==this._open)){let e=t?this._openCallback:this._closeCallback;e?Promise.resolve(e()).then(()=>{this._setOpen(t)}).catch(()=>{}):this._setOpen(t)}}get fullscreen(){return this._fullscreen}set fullscreen(t){this._fullscreen!==t&&(this._fullscreen=t,this._adapter.setFullscreen(this._fullscreen),this._adapter.toggleHostAttribute(o.attributes.FULLSCREEN,this._fullscreen))}get showBackdrop(){return this._showBackdrop}set showBackdrop(t){this._showBackdrop!==t&&(this._showBackdrop=t,this._adapter.setBackdropVisiblity(t),this._adapter.toggleHostAttribute(o.attributes.SHOW_BACKDROP,this._showBackdrop))}get openCallback(){return this._openCallback}set openCallback(t){this._openCallback=t}get closeCallback(){return this._closeCallback}set closeCallback(t){this._closeCallback=t}get beforeCloseCallback(){return this._beforeCloseCallback}set beforeCloseCallback(t){this._beforeCloseCallback=t}_initScrollableHandlers(){!this._fullscreen&&this._adapter.isScrollable()&&(this._adapter.setDragTargetHandler("mousedown",this._dragStartHandler),this._adapter.setDragTargetHandler("touchstart",this._dragStartHandler),this._adapter.setBodyScrollHandler(this._bodyScrollHandler))}_onBodyScroll(){!this._fullscreen&&!this._isDragging&&(this.fullscreen=!0,this._adapter.emitHostEvent(o.events.FULLSCREEN,this._fullscreen))}_onDragStart(t){if(this._fullscreen){let r=C(t);if(this._adapter.isScrollable()&&this._adapter.isContentChild(r[0]))return}t.stopPropagation();let e=this._adapter.getContainerBounds(),i=t instanceof MouseEvent?t.clientY:t.touches[0].clientY;this._dragContext={top:i-e.top,height:e.height},this._adapter.setBodyListener("mousemove",this._dragMoveHandler,{passive:!1}),this._adapter.setBodyListener("touchmove",this._dragMoveHandler,{passive:!1}),this._adapter.setBodyListener("mouseup",this._dragEndHandler),this._adapter.setBodyListener("touchend",this._dragEndHandler),this._adapter.setBodyListener("touchcancel",this._dragCancelHandler)}_onDragMove(t){if(t.stopPropagation(),t.preventDefault(),!this._dragContext)return;let e=t instanceof MouseEvent?t.clientY:t.touches[0].clientY,i={y:window.innerHeight-e+this._dragContext.top};if(!this._isDragging){if(this._isDragging=!0,!this._adapter.emitHostEvent(o.events.DRAG_START,i,!0,!0))return;this._adapter.setDragging(!0)}let r=this._fullscreen?i:{y:Math.max(i.y,this._dragContext.height)};(!this._lastPosition||r.y!==this._lastPosition.y)&&this._adapter.emitHostEvent(o.events.DRAGGED,r,!0,!0)&&(this._lastPosition=_(v({},r),{clientY:e}),this._adapter.setContainerHeight(r.y))}_onDragEnd(){if(this._lastPosition){let t=this._lastPosition.clientY,e=this._dragContext;e&&(this._fullscreen&&t>0?(this.fullscreen=!1,this._adapter.emitHostEvent(o.events.FULLSCREEN,this._fullscreen)):!this._fullscreen&&t<e.height+e.top&&(this.fullscreen=!0,this._adapter.emitHostEvent(o.events.FULLSCREEN,this._fullscreen)))}this._isDragging&&this._adapter.emitHostEvent(o.events.DRAG_END),this._dragComplete()}_onDragCancel(){this._isDragging&&this._adapter.emitHostEvent(o.events.DRAG_CANCEL),this._dragComplete()}_dragComplete(){this._adapter.setDragging(!1),this._adapter.removeBodyListener("mousemove",this._dragMoveHandler),this._adapter.removeBodyListener("touchmove",this._dragMoveHandler),this._adapter.removeBodyListener("mouseup",this._dragEndHandler),this._adapter.removeBodyListener("touchend",this._dragEndHandler),this._adapter.removeBodyListener("touchcancel",this._dragCancelHandler),this._adapter.setContainerHeight(null),this._lastPosition=void 0,this._dragContext=void 0,this._isDragging=!1}};var I='<template><forge-backdrop hidden part="backdrop"></forge-backdrop><div class="forge-bottom-sheet" part="root"><slot></slot></div></template>',R='.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-bottom-sheet{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);border-radius:4px 4px 0 0;border-radius:var(--forge-bottom-sheet-border-radius,4px 4px 0 0);max-width:50%;max-width:var(--forge-bottom-sheet-desktop-max-width,50%);-webkit-box-sizing:border-box;box-sizing:border-box;position:fixed;bottom:0;right:0;left:0;max-height:50%;margin:0 auto;display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1),-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1)}@media (max-width:600px){.forge-bottom-sheet{max-width:100%;width:100%;margin:0;border-radius:0}}.forge-bottom-sheet--open{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms);transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms)}.forge-bottom-sheet--fullscreen.forge-bottom-sheet--open{height:100%;max-height:100%;-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in;transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in}.forge-bottom-sheet--dragging{-webkit-transition:none!important;transition:none!important}.forge-bottom-sheet--scrollable{height:100%}:host{z-index:8;z-index:var(--forge-z-index-dialog,8);position:fixed}:host forge-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;position:fixed}:host([hidden]){display:none}',n=class extends HTMLElement{constructor(){super();y(this,I,R),this._foundation=new b(new m(this))}static get observedAttributes(){return[o.attributes.BACKDROP_CLOSE,o.attributes.ESCAPE_CLOSE,o.attributes.OPEN,o.attributes.FULLSCREEN,o.attributes.SHOW_BACKDROP]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,i,r){switch(e){case o.attributes.BACKDROP_CLOSE:this.backdropClose=d(r);break;case o.attributes.ESCAPE_CLOSE:this.escapeClose=d(r);break;case o.attributes.OPEN:this.open=d(r);break;case o.attributes.FULLSCREEN:this.fullscreen=d(r);break;case o.attributes.SHOW_BACKDROP:this.showBackdrop=d(r);break}}};a([s()],n.prototype,"backdropClose",2),a([s()],n.prototype,"escapeClose",2),a([s()],n.prototype,"open",2),a([s()],n.prototype,"fullscreen",2),a([s()],n.prototype,"showBackdrop",2),a([s()],n.prototype,"openCallback",2),a([s()],n.prototype,"closeCallback",2),a([s()],n.prototype,"beforeCloseCallback",2),n=a([x({name:o.elementName,dependencies:[H]})],n);function ve(){k(n)}export{o as a,m as b,b as c,n as d,ve as e};
7
+ //# sourceMappingURL=chunk.SEP3L4QL.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/bottom-sheet/bottom-sheet-constants.ts", "../../src/bottom-sheet/bottom-sheet-adapter.ts", "../../src/bottom-sheet/bottom-sheet-foundation.ts", "../../src/bottom-sheet/bottom-sheet.ts", "../../src/bottom-sheet/index.ts"],
4
- "sourcesContent": ["import { BACKDROP_CONSTANTS } from '../backdrop';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}bottom-sheet`;\n\nconst classes = {\n DRAGGING: 'forge-bottom-sheet--dragging',\n FULLSCREEN: 'forge-bottom-sheet--fullscreen',\n OPEN: 'forge-bottom-sheet--open',\n SCROLLABLE: 'forge-bottom-sheet--scrollable'\n};\n\nconst attributes = {\n BACKDROP_CLOSE: 'backdrop-close',\n ESCAPE_CLOSE: 'escape-close',\n FULLSCREEN: 'fullscreen',\n INITIAL_FOCUS: `${elementName}-focus`,\n OPEN: `${elementName}-open`,\n SHOW_BACKDROP: 'show-backdrop'\n};\n\nconst selectors = {\n BACKDROP: BACKDROP_CONSTANTS.elementName,\n CONTAINER: '.forge-bottom-sheet',\n CONTENT_BODY: '[forge-bottom-sheet-body]',\n INITIAL_FOCUS: `[${attributes.INITIAL_FOCUS}]`,\n HOST: `[${elementName}-host]`\n};\n\nconst events = {\n BEFORE_CLOSE: `forge-bottom-sheet-before-close`,\n CLOSE: `forge-bottom-sheet-close`,\n OPEN: `forge-bottom-sheet-open`,\n READY: `forge-bottom-sheet-ready`,\n DRAG_START: `forge-bottom-sheet-drag-start`,\n DRAGGED: `forge-bottom-sheet-dragged`,\n DRAG_END: `forge-bottom-sheet-drag-end`,\n DRAG_CANCEL: `forge-bottom-sheet-drag-cancel`,\n FULLSCREEN: `forge-bottom-sheet-fullscreen`\n};\n\nexport const BOTTOM_SHEET_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events\n};\n\nexport interface IBottomSheetDragEventData {\n y: number;\n}\n\nexport interface IBottomSheetDragStartEventData extends IBottomSheetDragEventData {}\n\nexport interface IBottomSheetDragContext {\n top: number;\n height: number;\n}\n", "import { getShadowElement, removeElement, deepQuerySelectorAll, toggleClass } from '@tylertech/forge-core';\nimport { BACKDROP_CONSTANTS, IBackdropComponent } from '../backdrop';\nimport { CHECKBOX_CONSTANTS } from '../checkbox';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { ICON_BUTTON_CONSTANTS } from '../icon-button';\nimport { RADIO_CONSTANTS } from '../radio';\nimport { SWITCH_CONSTANTS } from '../switch';\nimport { IBottomSheetComponent } from './bottom-sheet';\nimport { BOTTOM_SHEET_CONSTANTS } from './bottom-sheet-constants';\n\nexport interface IBottomSheetAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n setVisibility(visible: boolean): void;\n attach(): void;\n detach(): void;\n registerTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n deregisterTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n setBodyListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void;\n removeBodyListener(type: string, listener: (evt: Event) => void): void;\n setDocumentListener(type: string, listener: (evt: Event) => void): void;\n removeDocumentListener(type: string, listener: (evt: Event) => void): void;\n registerBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n deregisterBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n getOpenBottomSheets: (selector: string) => NodeListOf<HTMLElement>;\n trySetInitialFocus: () => void;\n isScrollable(): boolean;\n isContentChild(el: HTMLElement): boolean;\n initScrollable(): void;\n setDragging(isDragging: boolean): void;\n setBackdropVisiblity(value: boolean): void;\n setFullscreen(value: boolean): void;\n tryLayoutChildren(): void;\n setContainerHeight(height: number | null): void;\n getContainerBounds(): DOMRect;\n setDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n setBodyScrollHandler(listener: (evt: Event) => void): void;\n}\n\n/**\n * Provides facilities for interacting with the internal DOM of `BottomSheetComponent`.\n */\nexport class BottomSheetAdapter extends BaseAdapter<IBottomSheetComponent> implements IBottomSheetAdapter {\n private _backdropElement: IBackdropComponent;\n private _containerElement: HTMLElement;\n\n constructor(component: IBottomSheetComponent) {\n super(component);\n this._backdropElement = getShadowElement(component, BOTTOM_SHEET_CONSTANTS.selectors.BACKDROP) as IBackdropComponent;\n this._containerElement = getShadowElement(component, BOTTOM_SHEET_CONSTANTS.selectors.CONTAINER);\n }\n\n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'dialog');\n this._component.setAttribute('aria-modal', 'true');\n }\n }\n\n public setVisibility(visible: boolean): void {\n toggleClass(this._containerElement, visible, BOTTOM_SHEET_CONSTANTS.classes.OPEN);\n }\n\n public attach(): void {\n const hostElement = document.querySelector(BOTTOM_SHEET_CONSTANTS.selectors.HOST) || document.body;\n hostElement.appendChild(this._component);\n }\n\n public detach(): void {\n removeElement(this._component);\n }\n\n public registerTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._containerElement.addEventListener('transitionend', handler);\n }\n\n public deregisterTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._containerElement.removeEventListener('transitionend', handler);\n }\n\n public setBodyListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void {\n document.body.addEventListener(type, listener, options);\n }\n\n public removeBodyListener(type: string, listener: (evt: Event) => void): void {\n document.body.removeEventListener(type, listener);\n }\n\n public setDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.addEventListener(type, listener);\n }\n\n public removeDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.removeEventListener(type, listener);\n }\n\n public registerBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.addEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public deregisterBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.removeEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public getOpenBottomSheets(selector: string): NodeListOf<HTMLElement> {\n return document.querySelectorAll(selector);\n }\n\n public trySetInitialFocus(): void {\n const elements = deepQuerySelectorAll(this._component, BOTTOM_SHEET_CONSTANTS.selectors.INITIAL_FOCUS);\n if (elements && elements.length) {\n const initialElement = elements[elements.length - 1] as HTMLElement;\n initialElement.focus();\n }\n }\n\n public isScrollable(): boolean {\n const contentElement = this._getContentElement();\n return contentElement ? contentElement.scrollHeight > contentElement.offsetHeight : false;\n }\n\n public isContentChild(el: HTMLElement): boolean {\n const contentElement = this._getContentElement();\n return contentElement ? contentElement.contains(el) : false;\n }\n\n public initScrollable(): void {\n const isScrollable = this.isScrollable();\n toggleClass(this._component, isScrollable, BOTTOM_SHEET_CONSTANTS.classes.SCROLLABLE);\n toggleClass(this._containerElement, isScrollable, BOTTOM_SHEET_CONSTANTS.classes.SCROLLABLE);\n }\n\n public setDragging(isDragging: boolean): void {\n toggleClass(this._containerElement, isDragging, BOTTOM_SHEET_CONSTANTS.classes.DRAGGING);\n toggleClass(this._component, isDragging, BOTTOM_SHEET_CONSTANTS.classes.DRAGGING);\n }\n\n public setBackdropVisiblity(value: boolean): void {\n this._backdropElement.hidden = !value;\n }\n\n public setFullscreen(value: boolean): void {\n toggleClass(this._containerElement, value, BOTTOM_SHEET_CONSTANTS.classes.FULLSCREEN);\n }\n\n public tryLayoutChildren(): void {\n const layoutChildren = [ICON_BUTTON_CONSTANTS.elementName, SWITCH_CONSTANTS.elementName, CHECKBOX_CONSTANTS.elementName, RADIO_CONSTANTS.elementName];\n const commonLayoutElements = Array.from(this._component.querySelectorAll(layoutChildren.join(','))) as any[];\n commonLayoutElements.filter(el => typeof el.layout === 'function').forEach(el => el.layout());\n }\n\n public setContainerHeight(height: number | null): void {\n if (height != null) {\n const percent = Math.min(100, 100 * height / window.innerHeight);\n this._containerElement.style.maxHeight = `${percent}%`;\n } else {\n this._containerElement.style.removeProperty('max-height');\n }\n }\n\n public getContainerBounds(): DOMRect {\n return this._containerElement.getBoundingClientRect() as DOMRect;\n }\n\n public setDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._containerElement.addEventListener(type, listener);\n }\n\n public removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._containerElement.removeEventListener(type, listener);\n }\n\n public setBodyScrollHandler(listener: (evt: MouseEvent) => void): void {\n const contentElement = this._getContentElement();\n if (contentElement) {\n contentElement.addEventListener('scroll', listener);\n }\n }\n\n private _getContentElement(): HTMLElement | null {\n const contentElements = Array.from(deepQuerySelectorAll(this._component, BOTTOM_SHEET_CONSTANTS.selectors.CONTENT_BODY, false)) as HTMLElement[];\n return contentElements.length ? contentElements[0] : null;\n }\n}\n", "import { ICustomElementFoundation, getEventPath } from '@tylertech/forge-core';\n\nimport { IBottomSheetAdapter } from './bottom-sheet-adapter';\nimport { BOTTOM_SHEET_CONSTANTS, IBottomSheetDragContext, IBottomSheetDragStartEventData } from './bottom-sheet-constants';\n\nexport interface IBottomSheetFoundation extends ICustomElementFoundation {\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n showBackdrop: boolean;\n openCallback: () => void | Promise<void>;\n closeCallback: () => void | Promise<void>;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n\nexport class BottomSheetFoundation implements IBottomSheetFoundation {\n private _open = false;\n private _backdropClose = true;\n private _escapeClose = true;\n private _fullscreen = false;\n private _showBackdrop = false;\n private _openCallback: () => void | Promise<void>;\n private _closeCallback: () => void | Promise<void>;\n private _beforeCloseCallback: () => boolean | Promise<boolean>;\n private _openTransitionEndHandler: (evt: TransitionEvent) => void;\n private _closeTransitionEndHandler: (evt: TransitionEvent) => void;\n private _documentKeydownHandler: (evt: KeyboardEvent) => void;\n private _backdropClickHandler: (evt: CustomEvent) => void;\n private _isDragging = false;\n private _dragContext: IBottomSheetDragContext | undefined;\n private _lastPosition: { y: number; clientY: number } | undefined;\n private _bodyScrollHandler = (): void => this._onBodyScroll();\n private _dragStartHandler = ($event: MouseEvent): void => this._onDragStart($event);\n private _dragMoveHandler = ($event: MouseEvent): void => this._onDragMove($event);\n private _dragEndHandler = (): void => this._onDragEnd();\n private _dragCancelHandler = (): void => this._onDragCancel();\n\n constructor(public _adapter: IBottomSheetAdapter) {\n this._openTransitionEndHandler = (_evt: TransitionEvent) => this._onOpenTransitionEnd();\n this._closeTransitionEndHandler = (_evt: TransitionEvent) => this._onCloseTransitionEnd();\n this._documentKeydownHandler = (evt: KeyboardEvent) => this._onDocumentKeydown(evt);\n this._backdropClickHandler = (evt: CustomEvent) => this._onBackdropClick(evt);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n }\n\n public destroy(): void {\n if (this._open) {\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private _setOpen(open: boolean): void {\n this._open = open;\n if (this._open) {\n this._openBottomSheet();\n } else {\n this._closeBottomSheet();\n }\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN, this._open);\n }\n\n private _openBottomSheet(): void {\n this._adapter.attach();\n this._adapter.setBodyAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN, 'true');\n this._adapter.registerTransitionEndHandler(this._openTransitionEndHandler);\n this._setDocumentKeydownListener(this._escapeClose);\n this._setBackdropClickListener(this._backdropClose);\n\n // Ensure transitions are triggered properly\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n this._adapter.setVisibility(true);\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.OPEN);\n this._adapter.trySetInitialFocus();\n this._adapter.initScrollable();\n });\n });\n }\n\n private _closeBottomSheet(): void {\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n this._adapter.registerTransitionEndHandler(this._closeTransitionEndHandler);\n\n this._adapter.setVisibility(false);\n }\n\n private _onCloseTransitionEnd(): void {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.CLOSE);\n this._adapter.detach();\n const openBottomSheets = this._adapter.getOpenBottomSheets(BOTTOM_SHEET_CONSTANTS.elementName);\n if (!openBottomSheets.length) {\n this._adapter.removeBodyAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN);\n }\n }\n\n private _onOpenTransitionEnd(): void {\n if (!this._open) {\n return;\n }\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.READY);\n this._adapter.tryLayoutChildren();\n if (this._adapter.isScrollable()) {\n this._initScrollableHandlers();\n }\n }\n\n private _onDocumentKeydown(evt: KeyboardEvent): void {\n evt.stopPropagation();\n if (evt.key && (evt.key === 'Escape' || evt.key === 'Esc')) {\n this._tryClose();\n }\n }\n\n private _onBackdropClick(evt: CustomEvent): void {\n evt.stopPropagation();\n this._tryClose();\n }\n\n private async _tryClose(): Promise<void> {\n const isCancelled = !this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.BEFORE_CLOSE, undefined, undefined, true);\n if (isCancelled) {\n return;\n }\n\n if (!this._beforeCloseCallback) {\n this.open = false;\n return;\n }\n\n try {\n const shouldClose = await Promise.resolve(this._beforeCloseCallback());\n if (shouldClose) {\n this.open = false;\n return;\n }\n } catch (err) {\n return;\n }\n }\n\n private _setBackdropClickListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach) {\n this._adapter.registerBackdropClickHandler(this._backdropClickHandler);\n } else {\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private _setDocumentKeydownListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach) {\n this._adapter.addDocumentListener('keydown', this._documentKeydownHandler);\n } else {\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n }\n }\n\n /** Controls whether clicking the backdrop closes the bottom sheet or not. */\n public set backdropClose(value: boolean) {\n value = Boolean(value);\n if (this._backdropClose !== value) {\n this._backdropClose = value;\n this._setBackdropClickListener(this._backdropClose);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE, this._backdropClose);\n }\n }\n public get backdropClose(): boolean {\n return this._backdropClose;\n }\n\n /** Controls whether pressing the escape key closes the sheet or not. */\n public set escapeClose(value: boolean) {\n value = Boolean(value);\n if (this._escapeClose !== value) {\n this._escapeClose = value;\n this._setDocumentKeydownListener(this._escapeClose);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE, this._escapeClose);\n }\n }\n public get escapeClose(): boolean {\n return this._escapeClose;\n }\n\n public get open(): boolean {\n return this._open;\n }\n\n public set open(value: boolean) {\n if (this._open !== value) {\n value = Boolean(value);\n if (value !== this._open) {\n const callback = value ? this._openCallback : this._closeCallback;\n if (callback) {\n Promise.resolve(callback())\n .then(() => {\n this._setOpen(value);\n })\n .catch(() => { });\n } else {\n this._setOpen(value);\n }\n }\n }\n }\n\n public get fullscreen(): boolean {\n return this._fullscreen;\n }\n public set fullscreen(value: boolean) {\n if (this._fullscreen !== value) {\n this._fullscreen = value;\n this._adapter.setFullscreen(this._fullscreen);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN, this._fullscreen);\n }\n }\n\n public get showBackdrop(): boolean {\n return this._showBackdrop;\n }\n public set showBackdrop(value: boolean) {\n if (this._showBackdrop !== value) {\n this._showBackdrop = value;\n this._adapter.setBackdropVisiblity(value);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP, this._showBackdrop);\n }\n }\n\n public get openCallback(): () => void | Promise<void> {\n return this._openCallback;\n }\n public set openCallback(callback: () => void | Promise<void>) {\n this._openCallback = callback;\n }\n\n public get closeCallback(): () => void | Promise<void> {\n return this._closeCallback;\n }\n public set closeCallback(callback: () => void | Promise<void>) {\n this._closeCallback = callback;\n }\n\n public get beforeCloseCallback(): () => boolean | Promise<boolean> {\n return this._beforeCloseCallback;\n }\n public set beforeCloseCallback(callback: () => boolean | Promise<boolean>) {\n this._beforeCloseCallback = callback;\n }\n\n /** If scrollable, allow drag to/from fullscreen, and make fullscreen on scroll. */\n private _initScrollableHandlers(): void {\n if (!this._fullscreen && this._adapter.isScrollable()) {\n this._adapter.setDragTargetHandler('mousedown', this._dragStartHandler);\n this._adapter.setDragTargetHandler('touchstart', this._dragStartHandler);\n this._adapter.setBodyScrollHandler(this._bodyScrollHandler);\n }\n }\n\n private _onBodyScroll(): void {\n if (!this._fullscreen && !this._isDragging) {\n this.fullscreen = true;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n }\n }\n\n private _onDragStart(evt: MouseEvent | TouchEvent): void {\n if (this._fullscreen) {\n const eventPath = getEventPath(evt);\n const isWithinScrollContainer = this._adapter.isScrollable() && this._adapter.isContentChild(eventPath[0]);\n if (isWithinScrollContainer) {\n // We ignore drag events that originate from within the scrollable content when in full screen mode (to allow for scroll interactions)\n return;\n }\n }\n\n evt.stopPropagation();\n const bounds = this._adapter.getContainerBounds();\n const clientY = evt instanceof MouseEvent ? evt.clientY : evt.touches[0].clientY;\n this._dragContext = {\n top: clientY - bounds.top,\n height: bounds.height\n };\n this._adapter.setBodyListener('mousemove', this._dragMoveHandler, { passive: false });\n this._adapter.setBodyListener('touchmove', this._dragMoveHandler, { passive: false });\n this._adapter.setBodyListener('mouseup', this._dragEndHandler);\n this._adapter.setBodyListener('touchend', this._dragEndHandler);\n this._adapter.setBodyListener('touchcancel', this._dragCancelHandler);\n }\n\n private _onDragMove(evt: MouseEvent | TouchEvent): void {\n evt.stopPropagation();\n evt.preventDefault();\n if (!this._dragContext) {\n return;\n }\n const clientY = evt instanceof MouseEvent ? evt.clientY : evt.touches[0].clientY;\n const height = { y: window.innerHeight - clientY + this._dragContext.top };\n\n // If this is the beginning of the move sequence, we emit the start event (to allow for preventing default) and\n // then update the surface position if not prevented\n if (!this._isDragging) {\n this._isDragging = true;\n const canDrag = this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_START, height as IBottomSheetDragStartEventData, true, true);\n if (!canDrag) {\n return;\n }\n this._adapter.setDragging(true);\n }\n\n // If not fullscreen, clamp to minimum of original height.\n const newPosition = this._fullscreen ? height : { y: Math.max(height.y, this._dragContext.height) };\n\n // Only update the position if it actually changed\n if (!this._lastPosition || newPosition.y !== this._lastPosition.y) {\n const canMove = this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAGGED, newPosition as IBottomSheetDragStartEventData, true, true);\n if (canMove) {\n this._lastPosition = { ...newPosition, clientY };\n this._adapter.setContainerHeight(newPosition.y);\n }\n }\n }\n\n private _onDragEnd(): void {\n if (this._lastPosition) {\n const clientY = this._lastPosition.clientY;\n const dragContext = this._dragContext;\n if (dragContext) {\n if (this._fullscreen && clientY > 0) {\n this.fullscreen = false;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n } else if (!this._fullscreen && clientY < dragContext.height + dragContext.top) {\n this.fullscreen = true;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n }\n }\n }\n if (this._isDragging) {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_END);\n }\n this._dragComplete();\n }\n\n private _onDragCancel(): void {\n if (this._isDragging) {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_CANCEL);\n }\n this._dragComplete();\n }\n\n private _dragComplete(): void {\n this._adapter.setDragging(false);\n this._adapter.removeBodyListener('mousemove', this._dragMoveHandler);\n this._adapter.removeBodyListener('touchmove', this._dragMoveHandler);\n this._adapter.removeBodyListener('mouseup', this._dragEndHandler);\n this._adapter.removeBodyListener('touchend', this._dragEndHandler);\n this._adapter.removeBodyListener('touchcancel', this._dragCancelHandler);\n this._adapter.setContainerHeight(null);\n this._lastPosition = undefined;\n this._dragContext = undefined;\n this._isDragging = false;\n }\n}\n", "import { attachShadowTemplate, CustomElement, FoundationProperty, ICustomElement, upgradeProperty, coerceBoolean } from '@tylertech/forge-core';\n\nimport { BackdropComponent } from '../backdrop';\nimport { BottomSheetAdapter } from './bottom-sheet-adapter';\nimport { BOTTOM_SHEET_CONSTANTS, IBottomSheetDragEventData, IBottomSheetDragStartEventData } from './bottom-sheet-constants';\nimport { BottomSheetFoundation } from './bottom-sheet-foundation';\n\nconst template = '<template><forge-backdrop hidden part=\\\"backdrop\\\"></forge-backdrop><div class=\\\"forge-bottom-sheet\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-bottom-sheet{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);border-radius:4px 4px 0 0;border-radius:var(--forge-bottom-sheet-border-radius,4px 4px 0 0);max-width:50%;max-width:var(--forge-bottom-sheet-desktop-max-width,50%);-webkit-box-sizing:border-box;box-sizing:border-box;position:fixed;bottom:0;right:0;left:0;max-height:50%;margin:0 auto;display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1),-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1)}@media (max-width:600px){.forge-bottom-sheet{max-width:100%;width:100%;margin:0;border-radius:0}}.forge-bottom-sheet--open{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms);transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms)}.forge-bottom-sheet--fullscreen.forge-bottom-sheet--open{height:100%;max-height:100%;-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in;transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in}.forge-bottom-sheet--dragging{-webkit-transition:none!important;transition:none!important}.forge-bottom-sheet--scrollable{height:100%}:host{z-index:8;z-index:var(--forge-z-index-dialog,8);position:fixed}:host forge-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;position:fixed}:host([hidden]){display:none}';\n\nexport interface IBottomSheetComponent extends ICustomElement {\n showBackdrop: boolean;\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n openCallback: () => void | Promise<void>;\n closeCallback: () => void | Promise<void>;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n\ndeclare global {\n // tslint:disable-next-line: interface-name\n interface HTMLElementTagNameMap {\n 'forge-bottom-sheet': IBottomSheetComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-bottom-sheet-open': CustomEvent<void>;\n 'forge-bottom-sheet-close': CustomEvent<void>;\n 'forge-bottom-sheet-before-close': CustomEvent<void>;\n 'forge-bottom-sheet-before-open': CustomEvent<void>;\n 'forge-bottom-sheet-ready': CustomEvent<void>;\n 'forge-bottom-sheet-drag-start': CustomEvent<IBottomSheetDragStartEventData>;\n 'forge-bottom-sheet-dragged': CustomEvent<IBottomSheetDragEventData>;\n 'forge-bottom-sheet-drag-end': CustomEvent<void>;\n 'forge-bottom-sheet-drag-cancel': CustomEvent<void>;\n 'forge-bottom-sheet-fullscreen': CustomEvent<boolean>;\n }\n}\n\n/**\n * The web component class behind the `<forge-bottom-sheet>` custom element.\n * \n * @tag forge-bottom-sheet\n */\n@CustomElement({\n name: BOTTOM_SHEET_CONSTANTS.elementName,\n dependencies: [BackdropComponent]\n})\nexport class BottomSheetComponent extends HTMLElement implements IBottomSheetComponent {\n public static get observedAttributes(): string[] {\n return [\n BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE,\n BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE,\n BOTTOM_SHEET_CONSTANTS.attributes.OPEN,\n BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN,\n BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP\n ];\n }\n\n private _foundation: BottomSheetFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BottomSheetFoundation(new BottomSheetAdapter(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 BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE:\n this.backdropClose = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE:\n this.escapeClose = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN:\n this.fullscreen = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP:\n this.showBackdrop = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Controls whether clicking the backdrop closes the bottom-sheet or not. Default is true. */\n @FoundationProperty()\n public declare backdropClose: boolean;\n\n /** Controls whether pressing the escape key closes the bottom-sheet or not. Default is true. */\n @FoundationProperty()\n public declare escapeClose: boolean;\n\n /** Controls whether the bottom-sheet is open or not. Default is false. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Controls whether the bottom-sheet is full screen or not. Default is false. */\n @FoundationProperty()\n public declare fullscreen: boolean;\n\n /** Shows a backdrop to prevent interacting with other content until the bottom sheet is dismissed. Default is false. */\n @FoundationProperty()\n public declare showBackdrop: boolean;\n\n /** The function to call when the bottom-sheet wants to open. */\n @FoundationProperty()\n public declare openCallback: () => void | Promise<void>;\n\n /** the function to call when the bottom-sheet wants to close. */\n @FoundationProperty()\n public declare closeCallback: () => void | Promise<void>;\n\n /** the function to call when the bottom-sheet wants to close. */\n @FoundationProperty()\n public declare beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { BottomSheetComponent } from './bottom-sheet';\n\nexport * from './bottom-sheet-adapter';\nexport * from './bottom-sheet-constants';\nexport * from './bottom-sheet-foundation';\nexport * from './bottom-sheet';\n\nexport function defineBottomSheetComponent(): void {\n defineCustomElement(BottomSheetComponent);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { BACKDROP_CONSTANTS } from '../backdrop';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}bottom-sheet`;\n\nconst classes = {\n DRAGGING: 'forge-bottom-sheet--dragging',\n FULLSCREEN: 'forge-bottom-sheet--fullscreen',\n OPEN: 'forge-bottom-sheet--open',\n SCROLLABLE: 'forge-bottom-sheet--scrollable'\n};\n\nconst attributes = {\n BACKDROP_CLOSE: 'backdrop-close',\n ESCAPE_CLOSE: 'escape-close',\n FULLSCREEN: 'fullscreen',\n INITIAL_FOCUS: `${elementName}-focus`,\n OPEN: `${elementName}-open`,\n SHOW_BACKDROP: 'show-backdrop'\n};\n\nconst selectors = {\n BACKDROP: BACKDROP_CONSTANTS.elementName,\n CONTAINER: '.forge-bottom-sheet',\n CONTENT_BODY: '[forge-bottom-sheet-body]',\n INITIAL_FOCUS: `[${attributes.INITIAL_FOCUS}]`,\n HOST: `[${elementName}-host]`\n};\n\nconst events = {\n BEFORE_CLOSE: `forge-bottom-sheet-before-close`,\n CLOSE: `forge-bottom-sheet-close`,\n OPEN: `forge-bottom-sheet-open`,\n READY: `forge-bottom-sheet-ready`,\n DRAG_START: `forge-bottom-sheet-drag-start`,\n DRAGGED: `forge-bottom-sheet-dragged`,\n DRAG_END: `forge-bottom-sheet-drag-end`,\n DRAG_CANCEL: `forge-bottom-sheet-drag-cancel`,\n FULLSCREEN: `forge-bottom-sheet-fullscreen`\n};\n\nexport const BOTTOM_SHEET_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events\n};\n\nexport interface IBottomSheetDragEventData {\n y: number;\n}\n\nexport interface IBottomSheetDragStartEventData extends IBottomSheetDragEventData {}\n\nexport interface IBottomSheetDragContext {\n top: number;\n height: number;\n}\n", "import { getShadowElement, removeElement, deepQuerySelectorAll, toggleClass } from '@tylertech/forge-core';\nimport { BACKDROP_CONSTANTS, IBackdropComponent } from '../backdrop';\nimport { CHECKBOX_CONSTANTS } from '../checkbox';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { ICON_BUTTON_CONSTANTS } from '../icon-button';\nimport { RADIO_CONSTANTS } from '../radio';\nimport { SWITCH_CONSTANTS } from '../switch';\nimport { IBottomSheetComponent } from './bottom-sheet';\nimport { BOTTOM_SHEET_CONSTANTS } from './bottom-sheet-constants';\n\nexport interface IBottomSheetAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n setVisibility(visible: boolean): void;\n attach(): void;\n detach(): void;\n registerTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n deregisterTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n setBodyListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void;\n removeBodyListener(type: string, listener: (evt: Event) => void): void;\n setDocumentListener(type: string, listener: (evt: Event) => void): void;\n removeDocumentListener(type: string, listener: (evt: Event) => void): void;\n registerBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n deregisterBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n getOpenBottomSheets: (selector: string) => NodeListOf<HTMLElement>;\n trySetInitialFocus: () => void;\n isScrollable(): boolean;\n isContentChild(el: HTMLElement): boolean;\n initScrollable(): void;\n setDragging(isDragging: boolean): void;\n setBackdropVisiblity(value: boolean): void;\n setFullscreen(value: boolean): void;\n tryLayoutChildren(): void;\n setContainerHeight(height: number | null): void;\n getContainerBounds(): DOMRect;\n setDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n setBodyScrollHandler(listener: (evt: Event) => void): void;\n}\n\n/**\n * Provides facilities for interacting with the internal DOM of `BottomSheetComponent`.\n */\nexport class BottomSheetAdapter extends BaseAdapter<IBottomSheetComponent> implements IBottomSheetAdapter {\n private _backdropElement: IBackdropComponent;\n private _containerElement: HTMLElement;\n\n constructor(component: IBottomSheetComponent) {\n super(component);\n this._backdropElement = getShadowElement(component, BOTTOM_SHEET_CONSTANTS.selectors.BACKDROP) as IBackdropComponent;\n this._containerElement = getShadowElement(component, BOTTOM_SHEET_CONSTANTS.selectors.CONTAINER);\n }\n\n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'dialog');\n this._component.setAttribute('aria-modal', 'true');\n }\n }\n\n public setVisibility(visible: boolean): void {\n toggleClass(this._containerElement, visible, BOTTOM_SHEET_CONSTANTS.classes.OPEN);\n }\n\n public attach(): void {\n const hostElement = document.querySelector(BOTTOM_SHEET_CONSTANTS.selectors.HOST) || document.body;\n hostElement.appendChild(this._component);\n }\n\n public detach(): void {\n removeElement(this._component);\n }\n\n public registerTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._containerElement.addEventListener('transitionend', handler);\n }\n\n public deregisterTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._containerElement.removeEventListener('transitionend', handler);\n }\n\n public setBodyListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void {\n document.body.addEventListener(type, listener, options);\n }\n\n public removeBodyListener(type: string, listener: (evt: Event) => void): void {\n document.body.removeEventListener(type, listener);\n }\n\n public setDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.addEventListener(type, listener);\n }\n\n public removeDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.removeEventListener(type, listener);\n }\n\n public registerBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.addEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public deregisterBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.removeEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public getOpenBottomSheets(selector: string): NodeListOf<HTMLElement> {\n return document.querySelectorAll(selector);\n }\n\n public trySetInitialFocus(): void {\n const elements = deepQuerySelectorAll(this._component, BOTTOM_SHEET_CONSTANTS.selectors.INITIAL_FOCUS);\n if (elements && elements.length) {\n const initialElement = elements[elements.length - 1] as HTMLElement;\n initialElement.focus();\n }\n }\n\n public isScrollable(): boolean {\n const contentElement = this._getContentElement();\n return contentElement ? contentElement.scrollHeight > contentElement.offsetHeight : false;\n }\n\n public isContentChild(el: HTMLElement): boolean {\n const contentElement = this._getContentElement();\n return contentElement ? contentElement.contains(el) : false;\n }\n\n public initScrollable(): void {\n const isScrollable = this.isScrollable();\n toggleClass(this._component, isScrollable, BOTTOM_SHEET_CONSTANTS.classes.SCROLLABLE);\n toggleClass(this._containerElement, isScrollable, BOTTOM_SHEET_CONSTANTS.classes.SCROLLABLE);\n }\n\n public setDragging(isDragging: boolean): void {\n toggleClass(this._containerElement, isDragging, BOTTOM_SHEET_CONSTANTS.classes.DRAGGING);\n toggleClass(this._component, isDragging, BOTTOM_SHEET_CONSTANTS.classes.DRAGGING);\n }\n\n public setBackdropVisiblity(value: boolean): void {\n this._backdropElement.hidden = !value;\n }\n\n public setFullscreen(value: boolean): void {\n toggleClass(this._containerElement, value, BOTTOM_SHEET_CONSTANTS.classes.FULLSCREEN);\n }\n\n public tryLayoutChildren(): void {\n const layoutChildren = [ICON_BUTTON_CONSTANTS.elementName, SWITCH_CONSTANTS.elementName, CHECKBOX_CONSTANTS.elementName, RADIO_CONSTANTS.elementName];\n const commonLayoutElements = Array.from(this._component.querySelectorAll(layoutChildren.join(','))) as any[];\n commonLayoutElements.filter(el => typeof el.layout === 'function').forEach(el => el.layout());\n }\n\n public setContainerHeight(height: number | null): void {\n if (height != null) {\n const percent = Math.min(100, 100 * height / window.innerHeight);\n this._containerElement.style.maxHeight = `${percent}%`;\n } else {\n this._containerElement.style.removeProperty('max-height');\n }\n }\n\n public getContainerBounds(): DOMRect {\n return this._containerElement.getBoundingClientRect() as DOMRect;\n }\n\n public setDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._containerElement.addEventListener(type, listener);\n }\n\n public removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._containerElement.removeEventListener(type, listener);\n }\n\n public setBodyScrollHandler(listener: (evt: MouseEvent) => void): void {\n const contentElement = this._getContentElement();\n if (contentElement) {\n contentElement.addEventListener('scroll', listener);\n }\n }\n\n private _getContentElement(): HTMLElement | null {\n const contentElements = Array.from(deepQuerySelectorAll(this._component, BOTTOM_SHEET_CONSTANTS.selectors.CONTENT_BODY, false)) as HTMLElement[];\n return contentElements.length ? contentElements[0] : null;\n }\n}\n", "import { ICustomElementFoundation, getEventPath } from '@tylertech/forge-core';\n\nimport { IBottomSheetAdapter } from './bottom-sheet-adapter';\nimport { BOTTOM_SHEET_CONSTANTS, IBottomSheetDragContext, IBottomSheetDragStartEventData } from './bottom-sheet-constants';\n\nexport interface IBottomSheetFoundation extends ICustomElementFoundation {\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n showBackdrop: boolean;\n openCallback: () => void | Promise<void>;\n closeCallback: () => void | Promise<void>;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n\nexport class BottomSheetFoundation implements IBottomSheetFoundation {\n private _open = false;\n private _backdropClose = true;\n private _escapeClose = true;\n private _fullscreen = false;\n private _showBackdrop = false;\n private _openCallback: () => void | Promise<void>;\n private _closeCallback: () => void | Promise<void>;\n private _beforeCloseCallback: () => boolean | Promise<boolean>;\n private _openTransitionEndHandler: (evt: TransitionEvent) => void;\n private _closeTransitionEndHandler: (evt: TransitionEvent) => void;\n private _documentKeydownHandler: (evt: KeyboardEvent) => void;\n private _backdropClickHandler: (evt: CustomEvent) => void;\n private _isDragging = false;\n private _dragContext: IBottomSheetDragContext | undefined;\n private _lastPosition: { y: number; clientY: number } | undefined;\n private _bodyScrollHandler = (): void => this._onBodyScroll();\n private _dragStartHandler = ($event: MouseEvent): void => this._onDragStart($event);\n private _dragMoveHandler = ($event: MouseEvent): void => this._onDragMove($event);\n private _dragEndHandler = (): void => this._onDragEnd();\n private _dragCancelHandler = (): void => this._onDragCancel();\n\n constructor(public _adapter: IBottomSheetAdapter) {\n this._openTransitionEndHandler = (_evt: TransitionEvent) => this._onOpenTransitionEnd();\n this._closeTransitionEndHandler = (_evt: TransitionEvent) => this._onCloseTransitionEnd();\n this._documentKeydownHandler = (evt: KeyboardEvent) => this._onDocumentKeydown(evt);\n this._backdropClickHandler = (evt: CustomEvent) => this._onBackdropClick(evt);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n }\n\n public destroy(): void {\n if (this._open) {\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private _setOpen(open: boolean): void {\n this._open = open;\n if (this._open) {\n this._openBottomSheet();\n } else {\n this._closeBottomSheet();\n }\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN, this._open);\n }\n\n private _openBottomSheet(): void {\n this._adapter.attach();\n this._adapter.setBodyAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN, 'true');\n this._adapter.registerTransitionEndHandler(this._openTransitionEndHandler);\n this._setDocumentKeydownListener(this._escapeClose);\n this._setBackdropClickListener(this._backdropClose);\n\n // Ensure transitions are triggered properly\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n this._adapter.setVisibility(true);\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.OPEN);\n this._adapter.trySetInitialFocus();\n this._adapter.initScrollable();\n });\n });\n }\n\n private _closeBottomSheet(): void {\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n this._adapter.registerTransitionEndHandler(this._closeTransitionEndHandler);\n\n this._adapter.setVisibility(false);\n }\n\n private _onCloseTransitionEnd(): void {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.CLOSE);\n this._adapter.detach();\n const openBottomSheets = this._adapter.getOpenBottomSheets(BOTTOM_SHEET_CONSTANTS.elementName);\n if (!openBottomSheets.length) {\n this._adapter.removeBodyAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN);\n }\n }\n\n private _onOpenTransitionEnd(): void {\n if (!this._open) {\n return;\n }\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.READY);\n this._adapter.tryLayoutChildren();\n if (this._adapter.isScrollable()) {\n this._initScrollableHandlers();\n }\n }\n\n private _onDocumentKeydown(evt: KeyboardEvent): void {\n evt.stopPropagation();\n if (evt.key && (evt.key === 'Escape' || evt.key === 'Esc')) {\n this._tryClose();\n }\n }\n\n private _onBackdropClick(evt: CustomEvent): void {\n evt.stopPropagation();\n this._tryClose();\n }\n\n private async _tryClose(): Promise<void> {\n const isCancelled = !this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.BEFORE_CLOSE, undefined, undefined, true);\n if (isCancelled) {\n return;\n }\n\n if (!this._beforeCloseCallback) {\n this.open = false;\n return;\n }\n\n try {\n const shouldClose = await Promise.resolve(this._beforeCloseCallback());\n if (shouldClose) {\n this.open = false;\n return;\n }\n } catch (err) {\n return;\n }\n }\n\n private _setBackdropClickListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach) {\n this._adapter.registerBackdropClickHandler(this._backdropClickHandler);\n } else {\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private _setDocumentKeydownListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach) {\n this._adapter.addDocumentListener('keydown', this._documentKeydownHandler);\n } else {\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n }\n }\n\n /** Controls whether clicking the backdrop closes the bottom sheet or not. */\n public set backdropClose(value: boolean) {\n value = Boolean(value);\n if (this._backdropClose !== value) {\n this._backdropClose = value;\n this._setBackdropClickListener(this._backdropClose);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE, this._backdropClose);\n }\n }\n public get backdropClose(): boolean {\n return this._backdropClose;\n }\n\n /** Controls whether pressing the escape key closes the sheet or not. */\n public set escapeClose(value: boolean) {\n value = Boolean(value);\n if (this._escapeClose !== value) {\n this._escapeClose = value;\n this._setDocumentKeydownListener(this._escapeClose);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE, this._escapeClose);\n }\n }\n public get escapeClose(): boolean {\n return this._escapeClose;\n }\n\n public get open(): boolean {\n return this._open;\n }\n\n public set open(value: boolean) {\n if (this._open !== value) {\n value = Boolean(value);\n if (value !== this._open) {\n const callback = value ? this._openCallback : this._closeCallback;\n if (callback) {\n Promise.resolve(callback())\n .then(() => {\n this._setOpen(value);\n })\n .catch(() => { });\n } else {\n this._setOpen(value);\n }\n }\n }\n }\n\n public get fullscreen(): boolean {\n return this._fullscreen;\n }\n public set fullscreen(value: boolean) {\n if (this._fullscreen !== value) {\n this._fullscreen = value;\n this._adapter.setFullscreen(this._fullscreen);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN, this._fullscreen);\n }\n }\n\n public get showBackdrop(): boolean {\n return this._showBackdrop;\n }\n public set showBackdrop(value: boolean) {\n if (this._showBackdrop !== value) {\n this._showBackdrop = value;\n this._adapter.setBackdropVisiblity(value);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP, this._showBackdrop);\n }\n }\n\n public get openCallback(): () => void | Promise<void> {\n return this._openCallback;\n }\n public set openCallback(callback: () => void | Promise<void>) {\n this._openCallback = callback;\n }\n\n public get closeCallback(): () => void | Promise<void> {\n return this._closeCallback;\n }\n public set closeCallback(callback: () => void | Promise<void>) {\n this._closeCallback = callback;\n }\n\n public get beforeCloseCallback(): () => boolean | Promise<boolean> {\n return this._beforeCloseCallback;\n }\n public set beforeCloseCallback(callback: () => boolean | Promise<boolean>) {\n this._beforeCloseCallback = callback;\n }\n\n /** If scrollable, allow drag to/from fullscreen, and make fullscreen on scroll. */\n private _initScrollableHandlers(): void {\n if (!this._fullscreen && this._adapter.isScrollable()) {\n this._adapter.setDragTargetHandler('mousedown', this._dragStartHandler);\n this._adapter.setDragTargetHandler('touchstart', this._dragStartHandler);\n this._adapter.setBodyScrollHandler(this._bodyScrollHandler);\n }\n }\n\n private _onBodyScroll(): void {\n if (!this._fullscreen && !this._isDragging) {\n this.fullscreen = true;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n }\n }\n\n private _onDragStart(evt: MouseEvent | TouchEvent): void {\n if (this._fullscreen) {\n const eventPath = getEventPath(evt);\n const isWithinScrollContainer = this._adapter.isScrollable() && this._adapter.isContentChild(eventPath[0]);\n if (isWithinScrollContainer) {\n // We ignore drag events that originate from within the scrollable content when in full screen mode (to allow for scroll interactions)\n return;\n }\n }\n\n evt.stopPropagation();\n const bounds = this._adapter.getContainerBounds();\n const clientY = evt instanceof MouseEvent ? evt.clientY : evt.touches[0].clientY;\n this._dragContext = {\n top: clientY - bounds.top,\n height: bounds.height\n };\n this._adapter.setBodyListener('mousemove', this._dragMoveHandler, { passive: false });\n this._adapter.setBodyListener('touchmove', this._dragMoveHandler, { passive: false });\n this._adapter.setBodyListener('mouseup', this._dragEndHandler);\n this._adapter.setBodyListener('touchend', this._dragEndHandler);\n this._adapter.setBodyListener('touchcancel', this._dragCancelHandler);\n }\n\n private _onDragMove(evt: MouseEvent | TouchEvent): void {\n evt.stopPropagation();\n evt.preventDefault();\n if (!this._dragContext) {\n return;\n }\n const clientY = evt instanceof MouseEvent ? evt.clientY : evt.touches[0].clientY;\n const height = { y: window.innerHeight - clientY + this._dragContext.top };\n\n // If this is the beginning of the move sequence, we emit the start event (to allow for preventing default) and\n // then update the surface position if not prevented\n if (!this._isDragging) {\n this._isDragging = true;\n const canDrag = this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_START, height as IBottomSheetDragStartEventData, true, true);\n if (!canDrag) {\n return;\n }\n this._adapter.setDragging(true);\n }\n\n // If not fullscreen, clamp to minimum of original height.\n const newPosition = this._fullscreen ? height : { y: Math.max(height.y, this._dragContext.height) };\n\n // Only update the position if it actually changed\n if (!this._lastPosition || newPosition.y !== this._lastPosition.y) {\n const canMove = this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAGGED, newPosition as IBottomSheetDragStartEventData, true, true);\n if (canMove) {\n this._lastPosition = { ...newPosition, clientY };\n this._adapter.setContainerHeight(newPosition.y);\n }\n }\n }\n\n private _onDragEnd(): void {\n if (this._lastPosition) {\n const clientY = this._lastPosition.clientY;\n const dragContext = this._dragContext;\n if (dragContext) {\n if (this._fullscreen && clientY > 0) {\n this.fullscreen = false;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n } else if (!this._fullscreen && clientY < dragContext.height + dragContext.top) {\n this.fullscreen = true;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n }\n }\n }\n if (this._isDragging) {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_END);\n }\n this._dragComplete();\n }\n\n private _onDragCancel(): void {\n if (this._isDragging) {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_CANCEL);\n }\n this._dragComplete();\n }\n\n private _dragComplete(): void {\n this._adapter.setDragging(false);\n this._adapter.removeBodyListener('mousemove', this._dragMoveHandler);\n this._adapter.removeBodyListener('touchmove', this._dragMoveHandler);\n this._adapter.removeBodyListener('mouseup', this._dragEndHandler);\n this._adapter.removeBodyListener('touchend', this._dragEndHandler);\n this._adapter.removeBodyListener('touchcancel', this._dragCancelHandler);\n this._adapter.setContainerHeight(null);\n this._lastPosition = undefined;\n this._dragContext = undefined;\n this._isDragging = false;\n }\n}\n", "import { attachShadowTemplate, CustomElement, FoundationProperty, ICustomElement, upgradeProperty, coerceBoolean } from '@tylertech/forge-core';\n\nimport { BackdropComponent } from '../backdrop';\nimport { BottomSheetAdapter } from './bottom-sheet-adapter';\nimport { BOTTOM_SHEET_CONSTANTS, IBottomSheetDragEventData, IBottomSheetDragStartEventData } from './bottom-sheet-constants';\nimport { BottomSheetFoundation } from './bottom-sheet-foundation';\n\nconst template = '<template><forge-backdrop hidden part=\\\"backdrop\\\"></forge-backdrop><div class=\\\"forge-bottom-sheet\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-bottom-sheet{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);border-radius:4px 4px 0 0;border-radius:var(--forge-bottom-sheet-border-radius,4px 4px 0 0);max-width:50%;max-width:var(--forge-bottom-sheet-desktop-max-width,50%);-webkit-box-sizing:border-box;box-sizing:border-box;position:fixed;bottom:0;right:0;left:0;max-height:50%;margin:0 auto;display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1),-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1)}@media (max-width:600px){.forge-bottom-sheet{max-width:100%;width:100%;margin:0;border-radius:0}}.forge-bottom-sheet--open{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms);transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms)}.forge-bottom-sheet--fullscreen.forge-bottom-sheet--open{height:100%;max-height:100%;-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in;transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in}.forge-bottom-sheet--dragging{-webkit-transition:none!important;transition:none!important}.forge-bottom-sheet--scrollable{height:100%}:host{z-index:8;z-index:var(--forge-z-index-dialog,8);position:fixed}:host forge-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;position:fixed}:host([hidden]){display:none}';\n\nexport interface IBottomSheetComponent extends ICustomElement {\n showBackdrop: boolean;\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n openCallback: () => void | Promise<void>;\n closeCallback: () => void | Promise<void>;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n\ndeclare global {\n // tslint:disable-next-line: interface-name\n interface HTMLElementTagNameMap {\n 'forge-bottom-sheet': IBottomSheetComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-bottom-sheet-open': CustomEvent<void>;\n 'forge-bottom-sheet-close': CustomEvent<void>;\n 'forge-bottom-sheet-before-close': CustomEvent<void>;\n 'forge-bottom-sheet-before-open': CustomEvent<void>;\n 'forge-bottom-sheet-ready': CustomEvent<void>;\n 'forge-bottom-sheet-drag-start': CustomEvent<IBottomSheetDragStartEventData>;\n 'forge-bottom-sheet-dragged': CustomEvent<IBottomSheetDragEventData>;\n 'forge-bottom-sheet-drag-end': CustomEvent<void>;\n 'forge-bottom-sheet-drag-cancel': CustomEvent<void>;\n 'forge-bottom-sheet-fullscreen': CustomEvent<boolean>;\n }\n}\n\n/**\n * The web component class behind the `<forge-bottom-sheet>` custom element.\n * \n * @tag forge-bottom-sheet\n */\n@CustomElement({\n name: BOTTOM_SHEET_CONSTANTS.elementName,\n dependencies: [BackdropComponent]\n})\nexport class BottomSheetComponent extends HTMLElement implements IBottomSheetComponent {\n public static get observedAttributes(): string[] {\n return [\n BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE,\n BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE,\n BOTTOM_SHEET_CONSTANTS.attributes.OPEN,\n BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN,\n BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP\n ];\n }\n\n private _foundation: BottomSheetFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BottomSheetFoundation(new BottomSheetAdapter(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 BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE:\n this.backdropClose = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE:\n this.escapeClose = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN:\n this.fullscreen = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP:\n this.showBackdrop = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Controls whether clicking the backdrop closes the bottom-sheet or not. Default is true. */\n @FoundationProperty()\n public declare backdropClose: boolean;\n\n /** Controls whether pressing the escape key closes the bottom-sheet or not. Default is true. */\n @FoundationProperty()\n public declare escapeClose: boolean;\n\n /** Controls whether the bottom-sheet is open or not. Default is false. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Controls whether the bottom-sheet is full screen or not. Default is false. */\n @FoundationProperty()\n public declare fullscreen: boolean;\n\n /** Shows a backdrop to prevent interacting with other content until the bottom sheet is dismissed. Default is false. */\n @FoundationProperty()\n public declare showBackdrop: boolean;\n\n /** The function to call when the bottom-sheet wants to open. */\n @FoundationProperty()\n public declare openCallback: () => void | Promise<void>;\n\n /** the function to call when the bottom-sheet wants to close. */\n @FoundationProperty()\n public declare closeCallback: () => void | Promise<void>;\n\n /** the function to call when the bottom-sheet wants to close. */\n @FoundationProperty()\n public declare beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { BottomSheetComponent } from './bottom-sheet';\n\nexport * from './bottom-sheet-adapter';\nexport * from './bottom-sheet-constants';\nexport * from './bottom-sheet-foundation';\nexport * from './bottom-sheet';\n\nexport function defineBottomSheetComponent(): void {\n defineCustomElement(BottomSheetComponent);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "attributes", "selectors", "BACKDROP_CONSTANTS", "events", "BOTTOM_SHEET_CONSTANTS", "BottomSheetAdapter", "BaseAdapter", "component", "getShadowElement", "BOTTOM_SHEET_CONSTANTS", "visible", "toggleClass", "removeElement", "handler", "type", "listener", "options", "BACKDROP_CONSTANTS", "selector", "elements", "deepQuerySelectorAll", "contentElement", "el", "isScrollable", "isDragging", "value", "layoutChildren", "ICON_BUTTON_CONSTANTS", "SWITCH_CONSTANTS", "CHECKBOX_CONSTANTS", "RADIO_CONSTANTS", "height", "percent", "contentElements", "BottomSheetFoundation", "_adapter", "$event", "_evt", "evt", "open", "BOTTOM_SHEET_CONSTANTS", "err", "attach", "value", "callback", "eventPath", "getEventPath", "bounds", "clientY", "height", "newPosition", "__spreadProps", "__spreadValues", "dragContext", "template", "styles", "BottomSheetComponent", "attachShadowTemplate", "BottomSheetFoundation", "BottomSheetAdapter", "BOTTOM_SHEET_CONSTANTS", "name", "_oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "BackdropComponent", "defineBottomSheetComponent", "defineCustomElement", "BottomSheetComponent"]
7
7
  }