@tylertech/forge 2.5.0 → 2.7.0

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 (409) hide show
  1. package/custom-elements.json +114525 -0
  2. package/dist/esm/accordion/index.js +4 -4
  3. package/dist/esm/app-bar/help-button/index.js +14 -14
  4. package/dist/esm/app-bar/index.js +24 -24
  5. package/dist/esm/app-bar/menu-button/index.js +5 -5
  6. package/dist/esm/app-bar/notification-button/index.js +6 -6
  7. package/dist/esm/app-bar/profile-button/index.js +10 -10
  8. package/dist/esm/app-bar/search/index.js +3 -3
  9. package/dist/esm/autocomplete/index.js +16 -16
  10. package/dist/esm/avatar/index.js +1 -1
  11. package/dist/esm/backdrop/index.js +1 -1
  12. package/dist/esm/badge/index.js +1 -1
  13. package/dist/esm/banner/index.js +5 -5
  14. package/dist/esm/bottom-sheet/index.js +8 -8
  15. package/dist/esm/busy-indicator/index.js +6 -6
  16. package/dist/esm/button/index.js +2 -2
  17. package/dist/esm/button-toggle/button-toggle/index.js +3 -3
  18. package/dist/esm/button-toggle/button-toggle-group/index.js +3 -3
  19. package/dist/esm/button-toggle/index.js +4 -4
  20. package/dist/esm/calendar/calendar-dropdown/index.js +3 -3
  21. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  22. package/dist/esm/calendar/index.js +9 -9
  23. package/dist/esm/card/index.js +1 -1
  24. package/dist/esm/checkbox/index.js +2 -2
  25. package/dist/esm/chip-field/index.js +6 -6
  26. package/dist/esm/chips/chip/index.js +4 -4
  27. package/dist/esm/chips/chip-set/index.js +4 -4
  28. package/dist/esm/chips/index.js +5 -5
  29. package/dist/esm/chunks/{chunk.K7P3WRAY.js → chunk.2MBI5DLT.js} +6 -6
  30. package/dist/esm/chunks/{chunk.K7P3WRAY.js.map → chunk.2MBI5DLT.js.map} +2 -2
  31. package/dist/esm/chunks/{chunk.HRZBANYY.js → chunk.2WBHHTUM.js} +2 -2
  32. package/dist/esm/chunks/{chunk.HRZBANYY.js.map → chunk.2WBHHTUM.js.map} +2 -2
  33. package/dist/esm/chunks/{chunk.WXFCZJJI.js → chunk.3EHQ3YHJ.js} +1 -1
  34. package/dist/esm/chunks/{chunk.WXFCZJJI.js.map → chunk.3EHQ3YHJ.js.map} +2 -2
  35. package/dist/esm/chunks/{chunk.R5RVCPM2.js → chunk.3QXCVTCP.js} +2 -2
  36. package/dist/esm/chunks/{chunk.R5RVCPM2.js.map → chunk.3QXCVTCP.js.map} +0 -0
  37. package/dist/esm/chunks/{chunk.NFUWLTHW.js → chunk.46BED43J.js} +3 -3
  38. package/dist/esm/chunks/{chunk.NFUWLTHW.js.map → chunk.46BED43J.js.map} +2 -2
  39. package/dist/esm/chunks/{chunk.VTXXZ5KT.js → chunk.4PF7WRP4.js} +2 -2
  40. package/dist/esm/chunks/{chunk.VTXXZ5KT.js.map → chunk.4PF7WRP4.js.map} +2 -2
  41. package/dist/esm/chunks/{chunk.KZ2QNQK2.js → chunk.4WLVFWKI.js} +2 -2
  42. package/dist/esm/chunks/{chunk.KZ2QNQK2.js.map → chunk.4WLVFWKI.js.map} +0 -0
  43. package/dist/esm/chunks/{chunk.C2MR3RDF.js → chunk.56BNM7F2.js} +1 -1
  44. package/dist/esm/chunks/{chunk.C2MR3RDF.js.map → chunk.56BNM7F2.js.map} +2 -2
  45. package/dist/esm/chunks/{chunk.3GRDFAFV.js → chunk.5OYAJ36F.js} +2 -2
  46. package/dist/esm/chunks/{chunk.3GRDFAFV.js.map → chunk.5OYAJ36F.js.map} +0 -0
  47. package/dist/esm/chunks/{chunk.4UKSUUTX.js → chunk.5U6ZT6MC.js} +2 -2
  48. package/dist/esm/chunks/{chunk.4UKSUUTX.js.map → chunk.5U6ZT6MC.js.map} +2 -2
  49. package/dist/esm/chunks/{chunk.ANNBOFGK.js → chunk.65GHMPX2.js} +2 -2
  50. package/dist/esm/chunks/{chunk.ANNBOFGK.js.map → chunk.65GHMPX2.js.map} +2 -2
  51. package/dist/esm/chunks/{chunk.LCVWXB3K.js → chunk.67B6JDOJ.js} +3 -3
  52. package/dist/esm/chunks/{chunk.LCVWXB3K.js.map → chunk.67B6JDOJ.js.map} +2 -2
  53. package/dist/esm/chunks/{chunk.EL6B2ODN.js → chunk.6ZBFCE2A.js} +1 -1
  54. package/dist/esm/chunks/{chunk.EL6B2ODN.js.map → chunk.6ZBFCE2A.js.map} +2 -2
  55. package/dist/esm/chunks/{chunk.VAPJ75PS.js → chunk.7FWTBD6Y.js} +2 -2
  56. package/dist/esm/chunks/{chunk.VAPJ75PS.js.map → chunk.7FWTBD6Y.js.map} +0 -0
  57. package/dist/esm/chunks/{chunk.KCK3G74Y.js → chunk.7UAH67PT.js} +2 -2
  58. package/dist/esm/chunks/{chunk.KCK3G74Y.js.map → chunk.7UAH67PT.js.map} +2 -2
  59. package/dist/esm/chunks/{chunk.VDKKTHAJ.js → chunk.ANME7BKM.js} +1 -1
  60. package/dist/esm/chunks/{chunk.VDKKTHAJ.js.map → chunk.ANME7BKM.js.map} +2 -2
  61. package/dist/esm/chunks/{chunk.O62N7AHR.js → chunk.BEAJZPWS.js} +2 -2
  62. package/dist/esm/chunks/{chunk.O62N7AHR.js.map → chunk.BEAJZPWS.js.map} +0 -0
  63. package/dist/esm/chunks/{chunk.BVGIWAUP.js → chunk.BVGJFMEG.js} +7 -7
  64. package/dist/esm/chunks/{chunk.BVGIWAUP.js.map → chunk.BVGJFMEG.js.map} +2 -2
  65. package/dist/esm/chunks/{chunk.R4UKTXEK.js → chunk.C73AZRT4.js} +4 -4
  66. package/dist/esm/chunks/{chunk.R4UKTXEK.js.map → chunk.C73AZRT4.js.map} +2 -2
  67. package/dist/esm/chunks/{chunk.APUL33GR.js → chunk.CLEUHAZ6.js} +2 -2
  68. package/dist/esm/chunks/{chunk.APUL33GR.js.map → chunk.CLEUHAZ6.js.map} +2 -2
  69. package/dist/esm/chunks/{chunk.U35QQZVK.js → chunk.D33KLIFD.js} +1 -1
  70. package/dist/esm/chunks/{chunk.U35QQZVK.js.map → chunk.D33KLIFD.js.map} +2 -2
  71. package/dist/esm/chunks/{chunk.5EEEKOOK.js → chunk.DLF5JAQO.js} +1 -1
  72. package/dist/esm/chunks/{chunk.5EEEKOOK.js.map → chunk.DLF5JAQO.js.map} +2 -2
  73. package/dist/esm/chunks/{chunk.ZUM5YLB2.js → chunk.E26BROOG.js} +1 -1
  74. package/dist/esm/chunks/{chunk.ZUM5YLB2.js.map → chunk.E26BROOG.js.map} +2 -2
  75. package/dist/esm/chunks/{chunk.XN65LPA3.js → chunk.EBC2HGO3.js} +3 -3
  76. package/dist/esm/chunks/chunk.EBC2HGO3.js.map +7 -0
  77. package/dist/esm/chunks/{chunk.PCYIY5OY.js → chunk.EUPO2VO2.js} +4 -3
  78. package/dist/esm/chunks/{chunk.PCYIY5OY.js.map → chunk.EUPO2VO2.js.map} +2 -2
  79. package/dist/esm/chunks/{chunk.YCW56AVX.js → chunk.FJJVIMZ2.js} +1 -1
  80. package/dist/esm/chunks/{chunk.YCW56AVX.js.map → chunk.FJJVIMZ2.js.map} +2 -2
  81. package/dist/esm/chunks/{chunk.HHHMDDTU.js → chunk.FZ6KICMD.js} +1 -1
  82. package/dist/esm/chunks/{chunk.HHHMDDTU.js.map → chunk.FZ6KICMD.js.map} +2 -2
  83. package/dist/esm/chunks/{chunk.XPC7GINT.js → chunk.GHZ75UPO.js} +3 -3
  84. package/dist/esm/chunks/{chunk.XPC7GINT.js.map → chunk.GHZ75UPO.js.map} +2 -2
  85. package/dist/esm/chunks/{chunk.SJZ54RE3.js → chunk.GL72QT42.js} +1 -1
  86. package/dist/esm/chunks/{chunk.SJZ54RE3.js.map → chunk.GL72QT42.js.map} +2 -2
  87. package/dist/esm/chunks/{chunk.G6FY472A.js → chunk.GWNR3UUX.js} +2 -2
  88. package/dist/esm/chunks/{chunk.G6FY472A.js.map → chunk.GWNR3UUX.js.map} +2 -2
  89. package/dist/esm/chunks/{chunk.2NUAEZY7.js → chunk.GXTNND2M.js} +1 -1
  90. package/dist/esm/chunks/{chunk.2NUAEZY7.js.map → chunk.GXTNND2M.js.map} +2 -2
  91. package/dist/esm/chunks/{chunk.YJ5X3WZ4.js → chunk.HASAPJMX.js} +1 -1
  92. package/dist/esm/chunks/{chunk.YJ5X3WZ4.js.map → chunk.HASAPJMX.js.map} +2 -2
  93. package/dist/esm/chunks/{chunk.SSXNS4NR.js → chunk.HAWYW54W.js} +33 -25
  94. package/dist/esm/chunks/chunk.HAWYW54W.js.map +7 -0
  95. package/dist/esm/chunks/{chunk.EWQENJ4W.js → chunk.HMM7PGGZ.js} +2 -2
  96. package/dist/esm/chunks/{chunk.EWQENJ4W.js.map → chunk.HMM7PGGZ.js.map} +2 -2
  97. package/dist/esm/chunks/{chunk.P7SAJ6M7.js → chunk.I6PJGNJS.js} +2 -2
  98. package/dist/esm/chunks/{chunk.P7SAJ6M7.js.map → chunk.I6PJGNJS.js.map} +2 -2
  99. package/dist/esm/chunks/{chunk.3ZKORL4I.js → chunk.I7BQUB7Z.js} +2 -2
  100. package/dist/esm/chunks/chunk.I7BQUB7Z.js.map +7 -0
  101. package/dist/esm/chunks/{chunk.XY3ZHN7Y.js → chunk.IBED5TWL.js} +1 -1
  102. package/dist/esm/chunks/{chunk.XY3ZHN7Y.js.map → chunk.IBED5TWL.js.map} +2 -2
  103. package/dist/esm/chunks/{chunk.4FHBJXB7.js → chunk.IGBDDH3J.js} +6 -6
  104. package/dist/esm/chunks/{chunk.4FHBJXB7.js.map → chunk.IGBDDH3J.js.map} +0 -0
  105. package/dist/esm/chunks/{chunk.N3ZPWKJ5.js → chunk.IJW2YKP3.js} +12 -12
  106. package/dist/esm/chunks/{chunk.N3ZPWKJ5.js.map → chunk.IJW2YKP3.js.map} +2 -2
  107. package/dist/esm/chunks/{chunk.ID2ITG5T.js → chunk.ITQ55IPH.js} +4 -4
  108. package/dist/esm/chunks/{chunk.ID2ITG5T.js.map → chunk.ITQ55IPH.js.map} +2 -2
  109. package/dist/esm/chunks/{chunk.IBH5GL7A.js → chunk.IUNON3UL.js} +2 -2
  110. package/dist/esm/chunks/{chunk.IBH5GL7A.js.map → chunk.IUNON3UL.js.map} +2 -2
  111. package/dist/esm/chunks/{chunk.CLQS7CFC.js → chunk.J5NUYQ4D.js} +6 -6
  112. package/dist/esm/chunks/{chunk.CLQS7CFC.js.map → chunk.J5NUYQ4D.js.map} +0 -0
  113. package/dist/esm/chunks/{chunk.5E6UZZKY.js → chunk.JC2PZ4TS.js} +7 -7
  114. package/dist/esm/chunks/{chunk.5E6UZZKY.js.map → chunk.JC2PZ4TS.js.map} +2 -2
  115. package/dist/esm/chunks/{chunk.L4N2DKAS.js → chunk.JUXKYUD4.js} +8 -8
  116. package/dist/esm/chunks/{chunk.L4N2DKAS.js.map → chunk.JUXKYUD4.js.map} +2 -2
  117. package/dist/esm/chunks/{chunk.6V463G4I.js → chunk.KCVJDJ6K.js} +1 -1
  118. package/dist/esm/chunks/{chunk.6V463G4I.js.map → chunk.KCVJDJ6K.js.map} +2 -2
  119. package/dist/esm/chunks/{chunk.YMWBTMB6.js → chunk.KNR5DXE4.js} +2 -2
  120. package/dist/esm/chunks/{chunk.YMWBTMB6.js.map → chunk.KNR5DXE4.js.map} +2 -2
  121. package/dist/esm/chunks/{chunk.S6QD4UJN.js → chunk.L344BPCW.js} +1 -1
  122. package/dist/esm/chunks/{chunk.S6QD4UJN.js.map → chunk.L344BPCW.js.map} +2 -2
  123. package/dist/esm/chunks/{chunk.ZAAM3GTQ.js → chunk.L4OUV7W6.js} +5 -5
  124. package/dist/esm/chunks/{chunk.ZAAM3GTQ.js.map → chunk.L4OUV7W6.js.map} +2 -2
  125. package/dist/esm/chunks/{chunk.PXXLO4HJ.js → chunk.LHWZ4KZU.js} +3 -3
  126. package/dist/esm/chunks/{chunk.PXXLO4HJ.js.map → chunk.LHWZ4KZU.js.map} +2 -2
  127. package/dist/esm/chunks/{chunk.PQ5LOH7W.js → chunk.LK2DN5KX.js} +4 -4
  128. package/dist/esm/chunks/{chunk.PQ5LOH7W.js.map → chunk.LK2DN5KX.js.map} +2 -2
  129. package/dist/esm/chunks/{chunk.7G2S3DCM.js → chunk.LX2HDAIF.js} +2 -2
  130. package/dist/esm/chunks/{chunk.7G2S3DCM.js.map → chunk.LX2HDAIF.js.map} +2 -2
  131. package/dist/esm/chunks/{chunk.YDPSV74L.js → chunk.M3O5VPDD.js} +3 -3
  132. package/dist/esm/chunks/{chunk.YDPSV74L.js.map → chunk.M3O5VPDD.js.map} +0 -0
  133. package/dist/esm/chunks/{chunk.CKVCNPLI.js → chunk.MBZLA635.js} +12 -12
  134. package/dist/esm/chunks/{chunk.CKVCNPLI.js.map → chunk.MBZLA635.js.map} +2 -2
  135. package/dist/esm/chunks/{chunk.JB2PM7FT.js → chunk.MF3IZXQG.js} +1 -1
  136. package/dist/esm/chunks/{chunk.JB2PM7FT.js.map → chunk.MF3IZXQG.js.map} +2 -2
  137. package/dist/esm/chunks/{chunk.EL74HZRY.js → chunk.MUP3NY6M.js} +9 -9
  138. package/dist/esm/chunks/{chunk.EL74HZRY.js.map → chunk.MUP3NY6M.js.map} +2 -2
  139. package/dist/esm/chunks/{chunk.2F6PST3N.js → chunk.OXS2O7RG.js} +1 -1
  140. package/dist/esm/chunks/{chunk.2F6PST3N.js.map → chunk.OXS2O7RG.js.map} +2 -2
  141. package/dist/esm/chunks/{chunk.U2X7YAXC.js → chunk.PKZ43JNW.js} +4 -4
  142. package/dist/esm/chunks/{chunk.U2X7YAXC.js.map → chunk.PKZ43JNW.js.map} +2 -2
  143. package/dist/esm/chunks/{chunk.WAJDLUSQ.js → chunk.QHHYCB7N.js} +1 -1
  144. package/dist/esm/chunks/{chunk.WAJDLUSQ.js.map → chunk.QHHYCB7N.js.map} +2 -2
  145. package/dist/esm/chunks/{chunk.AHMBGV4N.js → chunk.QWW6A7AF.js} +6 -6
  146. package/dist/esm/chunks/{chunk.AHMBGV4N.js.map → chunk.QWW6A7AF.js.map} +2 -2
  147. package/dist/esm/chunks/{chunk.OYO6NUZY.js → chunk.QXZZ2MTF.js} +1 -1
  148. package/dist/esm/chunks/{chunk.OYO6NUZY.js.map → chunk.QXZZ2MTF.js.map} +2 -2
  149. package/dist/esm/chunks/{chunk.SSFSLBBM.js → chunk.QYWAZCBX.js} +2 -2
  150. package/dist/esm/chunks/chunk.QYWAZCBX.js.map +7 -0
  151. package/dist/esm/chunks/{chunk.Y2TDQIA4.js → chunk.RD4RIFOZ.js} +1 -1
  152. package/dist/esm/chunks/{chunk.Y2TDQIA4.js.map → chunk.RD4RIFOZ.js.map} +2 -2
  153. package/dist/esm/chunks/{chunk.EJHMX24S.js → chunk.RL7ZFLMG.js} +6 -6
  154. package/dist/esm/chunks/{chunk.EJHMX24S.js.map → chunk.RL7ZFLMG.js.map} +2 -2
  155. package/dist/esm/chunks/{chunk.AHBDISRG.js → chunk.S3UVF647.js} +2 -2
  156. package/dist/esm/chunks/{chunk.AHBDISRG.js.map → chunk.S3UVF647.js.map} +2 -2
  157. package/dist/esm/chunks/{chunk.RWCC6E4O.js → chunk.THKWQXBJ.js} +1 -1
  158. package/dist/esm/chunks/{chunk.RWCC6E4O.js.map → chunk.THKWQXBJ.js.map} +2 -2
  159. package/dist/esm/chunks/{chunk.2TEHKM2X.js → chunk.TIUNGGBF.js} +3 -3
  160. package/dist/esm/chunks/{chunk.2TEHKM2X.js.map → chunk.TIUNGGBF.js.map} +0 -0
  161. package/dist/esm/chunks/{chunk.PSHHY3ER.js → chunk.TM46MNYN.js} +4 -4
  162. package/dist/esm/chunks/{chunk.PSHHY3ER.js.map → chunk.TM46MNYN.js.map} +2 -2
  163. package/dist/esm/chunks/{chunk.7XGNGXLR.js → chunk.TYU4RLZG.js} +1 -1
  164. package/dist/esm/chunks/{chunk.7XGNGXLR.js.map → chunk.TYU4RLZG.js.map} +2 -2
  165. package/dist/esm/chunks/{chunk.QFPOG3VH.js → chunk.U37G47LH.js} +7 -7
  166. package/dist/esm/chunks/{chunk.QFPOG3VH.js.map → chunk.U37G47LH.js.map} +2 -2
  167. package/dist/esm/chunks/{chunk.HZML57TK.js → chunk.U5ECVIX5.js} +5 -5
  168. package/dist/esm/chunks/{chunk.HZML57TK.js.map → chunk.U5ECVIX5.js.map} +2 -2
  169. package/dist/esm/chunks/{chunk.DJX5CEYP.js → chunk.UPW5HUKB.js} +5 -5
  170. package/dist/esm/chunks/{chunk.DJX5CEYP.js.map → chunk.UPW5HUKB.js.map} +2 -2
  171. package/dist/esm/chunks/{chunk.ISR3SND2.js → chunk.UQ3QTUUB.js} +2 -2
  172. package/dist/esm/chunks/{chunk.ISR3SND2.js.map → chunk.UQ3QTUUB.js.map} +2 -2
  173. package/dist/esm/chunks/{chunk.JVQP6BJ3.js → chunk.V2ELLBDP.js} +1 -1
  174. package/dist/esm/chunks/{chunk.JVQP6BJ3.js.map → chunk.V2ELLBDP.js.map} +2 -2
  175. package/dist/esm/chunks/{chunk.2LQMHAC7.js → chunk.V6Q2SM6Y.js} +1 -1
  176. package/dist/esm/chunks/{chunk.2LQMHAC7.js.map → chunk.V6Q2SM6Y.js.map} +2 -2
  177. package/dist/esm/chunks/{chunk.WVVWDQLQ.js → chunk.VXAPRFMK.js} +4 -4
  178. package/dist/esm/chunks/{chunk.WVVWDQLQ.js.map → chunk.VXAPRFMK.js.map} +2 -2
  179. package/dist/esm/chunks/{chunk.NF2CS4ZM.js → chunk.VXVE7KEM.js} +4 -4
  180. package/dist/esm/chunks/{chunk.NF2CS4ZM.js.map → chunk.VXVE7KEM.js.map} +2 -2
  181. package/dist/esm/chunks/{chunk.P7NOYP4O.js → chunk.WDD2GTIH.js} +1 -1
  182. package/dist/esm/chunks/{chunk.P7NOYP4O.js.map → chunk.WDD2GTIH.js.map} +2 -2
  183. package/dist/esm/chunks/{chunk.RNPIV3BY.js → chunk.WNVZQDNS.js} +1 -1
  184. package/dist/esm/chunks/{chunk.RNPIV3BY.js.map → chunk.WNVZQDNS.js.map} +2 -2
  185. package/dist/esm/chunks/{chunk.3MO6XU44.js → chunk.WSH4S3GM.js} +1 -1
  186. package/dist/esm/chunks/{chunk.3MO6XU44.js.map → chunk.WSH4S3GM.js.map} +2 -2
  187. package/dist/esm/chunks/{chunk.MIGASQA3.js → chunk.XHMNHBZD.js} +2 -2
  188. package/dist/esm/chunks/{chunk.MIGASQA3.js.map → chunk.XHMNHBZD.js.map} +2 -2
  189. package/dist/esm/chunks/{chunk.DB7ZQBES.js → chunk.YL2NAVJW.js} +1 -1
  190. package/dist/esm/chunks/{chunk.DB7ZQBES.js.map → chunk.YL2NAVJW.js.map} +2 -2
  191. package/dist/esm/chunks/{chunk.EXKNFD5S.js → chunk.ZLF2G3YT.js} +11 -11
  192. package/dist/esm/chunks/{chunk.EXKNFD5S.js.map → chunk.ZLF2G3YT.js.map} +2 -2
  193. package/dist/esm/chunks/{chunk.EKIW7VYG.js → chunk.ZXIDTDRC.js} +1 -1
  194. package/dist/esm/chunks/{chunk.EKIW7VYG.js.map → chunk.ZXIDTDRC.js.map} +2 -2
  195. package/dist/esm/chunks/{chunk.F2TZX24O.js → chunk.ZXMJB7OW.js} +74 -74
  196. package/dist/esm/chunks/{chunk.F2TZX24O.js.map → chunk.ZXMJB7OW.js.map} +0 -0
  197. package/dist/esm/circular-progress/index.js +1 -1
  198. package/dist/esm/color-picker/index.js +5 -5
  199. package/dist/esm/date-picker/index.js +12 -12
  200. package/dist/esm/date-range-picker/index.js +12 -12
  201. package/dist/esm/dialog/index.js +8 -8
  202. package/dist/esm/divider/index.js +1 -1
  203. package/dist/esm/drawer/drawer/index.js +1 -1
  204. package/dist/esm/drawer/index.js +4 -4
  205. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  206. package/dist/esm/drawer/modal-drawer/index.js +2 -2
  207. package/dist/esm/expansion-panel/index.js +3 -3
  208. package/dist/esm/file-picker/index.js +3 -3
  209. package/dist/esm/floating-action-button/index.js +2 -2
  210. package/dist/esm/icon/index.js +1 -1
  211. package/dist/esm/icon-button/index.js +3 -3
  212. package/dist/esm/index.js +84 -84
  213. package/dist/esm/inline-message/index.js +1 -1
  214. package/dist/esm/keyboard-shortcut/index.js +1 -1
  215. package/dist/esm/label-value/index.js +1 -1
  216. package/dist/esm/linear-progress/index.js +1 -1
  217. package/dist/esm/list/index.js +3 -3
  218. package/dist/esm/list/list/index.js +3 -3
  219. package/dist/esm/list/list-item/index.js +2 -2
  220. package/dist/esm/list-dropdown/index.js +8 -8
  221. package/dist/esm/menu/index.js +11 -11
  222. package/dist/esm/open-icon/index.js +2 -2
  223. package/dist/esm/page-state/index.js +1 -1
  224. package/dist/esm/paginator/index.js +21 -21
  225. package/dist/esm/popup/index.js +1 -1
  226. package/dist/esm/product-icon/index.js +1 -1
  227. package/dist/esm/profile-card/index.js +5 -5
  228. package/dist/esm/quantity-field/index.js +4 -4
  229. package/dist/esm/radio/index.js +2 -2
  230. package/dist/esm/ripple/index.js +1 -1
  231. package/dist/esm/scaffold/index.js +1 -1
  232. package/dist/esm/select/core/index.js +12 -12
  233. package/dist/esm/select/index.js +19 -19
  234. package/dist/esm/select/option/index.js +1 -1
  235. package/dist/esm/select/option-group/index.js +1 -1
  236. package/dist/esm/select/select/index.js +17 -17
  237. package/dist/esm/select/select-dropdown/index.js +17 -17
  238. package/dist/esm/skeleton/index.js +1 -1
  239. package/dist/esm/slider/index.js +1 -1
  240. package/dist/esm/stepper/index.js +4 -4
  241. package/dist/esm/stepper/step/index.js +3 -3
  242. package/dist/esm/stepper/stepper/index.js +4 -4
  243. package/dist/esm/switch/index.js +1 -1
  244. package/dist/esm/table/index.js +7 -7
  245. package/dist/esm/tabs/index.js +6 -6
  246. package/dist/esm/tabs/tab/index.js +3 -3
  247. package/dist/esm/tabs/tab-bar/index.js +5 -5
  248. package/dist/esm/text-field/index.js +1 -1
  249. package/dist/esm/time-picker/index.js +16 -16
  250. package/dist/esm/toast/index.js +5 -5
  251. package/dist/esm/toolbar/index.js +1 -1
  252. package/dist/esm/tooltip/index.js +1 -1
  253. package/dist/esm/view-switcher/index.js +2 -2
  254. package/dist/esm/view-switcher/view/index.js +1 -1
  255. package/esm/accordion/accordion.d.ts +2 -0
  256. package/esm/accordion/accordion.js +2 -0
  257. package/esm/app-bar/app-bar.d.ts +5 -1
  258. package/esm/app-bar/app-bar.js +5 -1
  259. package/esm/app-bar/help-button/app-bar-help-button.d.ts +5 -0
  260. package/esm/app-bar/help-button/app-bar-help-button.js +5 -0
  261. package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +5 -0
  262. package/esm/app-bar/menu-button/app-bar-menu-button.js +5 -0
  263. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +5 -0
  264. package/esm/app-bar/notification-button/app-bar-notification-button.js +5 -0
  265. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +5 -0
  266. package/esm/app-bar/profile-button/app-bar-profile-button.js +5 -0
  267. package/esm/app-bar/search/app-bar-search.d.ts +26 -0
  268. package/esm/app-bar/search/app-bar-search.js +26 -0
  269. package/esm/autocomplete/autocomplete.d.ts +2 -0
  270. package/esm/autocomplete/autocomplete.js +2 -0
  271. package/esm/avatar/avatar.d.ts +2 -0
  272. package/esm/avatar/avatar.js +2 -0
  273. package/esm/backdrop/backdrop.d.ts +2 -0
  274. package/esm/backdrop/backdrop.js +2 -0
  275. package/esm/badge/badge.d.ts +5 -0
  276. package/esm/badge/badge.js +5 -0
  277. package/esm/banner/banner.d.ts +2 -0
  278. package/esm/banner/banner.js +2 -0
  279. package/esm/bottom-sheet/bottom-sheet.d.ts +5 -0
  280. package/esm/bottom-sheet/bottom-sheet.js +5 -0
  281. package/esm/busy-indicator/busy-indicator.d.ts +5 -1
  282. package/esm/busy-indicator/busy-indicator.js +5 -1
  283. package/esm/button/button.d.ts +2 -0
  284. package/esm/button/button.js +2 -0
  285. package/esm/button-toggle/button-toggle/button-toggle.d.ts +5 -0
  286. package/esm/button-toggle/button-toggle/button-toggle.js +5 -0
  287. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +2 -1
  288. package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +5 -0
  289. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +5 -0
  290. package/esm/calendar/calendar-menu/calendar-menu.d.ts +6 -0
  291. package/esm/calendar/calendar-menu/calendar-menu.js +6 -0
  292. package/esm/calendar/calendar.d.ts +5 -0
  293. package/esm/calendar/calendar.js +5 -0
  294. package/esm/card/card.d.ts +5 -1
  295. package/esm/card/card.js +5 -1
  296. package/esm/checkbox/checkbox.d.ts +2 -0
  297. package/esm/checkbox/checkbox.js +2 -0
  298. package/esm/chip-field/chip-field.d.ts +5 -0
  299. package/esm/chip-field/chip-field.js +5 -0
  300. package/esm/chips/chip/chip.d.ts +2 -0
  301. package/esm/chips/chip/chip.js +2 -0
  302. package/esm/chips/chip-set/chip-set.d.ts +5 -0
  303. package/esm/chips/chip-set/chip-set.js +5 -0
  304. package/esm/circular-progress/circular-progress.d.ts +5 -0
  305. package/esm/circular-progress/circular-progress.js +5 -0
  306. package/esm/color-picker/color-picker.d.ts +5 -0
  307. package/esm/color-picker/color-picker.js +5 -0
  308. package/esm/date-picker/date-picker.d.ts +5 -1
  309. package/esm/date-picker/date-picker.js +5 -1
  310. package/esm/date-range-picker/date-range-picker.d.ts +5 -1
  311. package/esm/date-range-picker/date-range-picker.js +5 -1
  312. package/esm/dialog/dialog.d.ts +5 -0
  313. package/esm/dialog/dialog.js +5 -0
  314. package/esm/divider/divider.d.ts +2 -0
  315. package/esm/divider/divider.js +2 -0
  316. package/esm/drawer/drawer/drawer.d.ts +5 -0
  317. package/esm/drawer/drawer/drawer.js +5 -0
  318. package/esm/drawer/mini-drawer/mini-drawer.d.ts +5 -0
  319. package/esm/drawer/mini-drawer/mini-drawer.js +5 -0
  320. package/esm/drawer/modal-drawer/modal-drawer.d.ts +5 -0
  321. package/esm/drawer/modal-drawer/modal-drawer.js +5 -0
  322. package/esm/expansion-panel/expansion-panel.d.ts +2 -0
  323. package/esm/expansion-panel/expansion-panel.js +2 -0
  324. package/esm/file-picker/file-picker.d.ts +5 -0
  325. package/esm/file-picker/file-picker.js +5 -0
  326. package/esm/floating-action-button/floating-action-button.d.ts +5 -1
  327. package/esm/floating-action-button/floating-action-button.js +5 -1
  328. package/esm/icon/icon.d.ts +5 -0
  329. package/esm/icon/icon.js +5 -0
  330. package/esm/icon-button/icon-button.d.ts +2 -0
  331. package/esm/icon-button/icon-button.js +2 -0
  332. package/esm/inline-message/inline-message.d.ts +5 -0
  333. package/esm/inline-message/inline-message.js +5 -0
  334. package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +5 -0
  335. package/esm/keyboard-shortcut/keyboard-shortcut.js +5 -0
  336. package/esm/label-value/label-value.d.ts +5 -0
  337. package/esm/label-value/label-value.js +5 -0
  338. package/esm/linear-progress/linear-progress.d.ts +5 -0
  339. package/esm/linear-progress/linear-progress.js +5 -0
  340. package/esm/list/list/list.d.ts +2 -0
  341. package/esm/list/list/list.js +2 -0
  342. package/esm/list/list-item/list-item.d.ts +5 -1
  343. package/esm/list/list-item/list-item.js +5 -1
  344. package/esm/menu/menu.d.ts +5 -0
  345. package/esm/menu/menu.js +5 -0
  346. package/esm/open-icon/open-icon.d.ts +5 -0
  347. package/esm/open-icon/open-icon.js +5 -0
  348. package/esm/page-state/page-state.d.ts +5 -0
  349. package/esm/page-state/page-state.js +5 -0
  350. package/esm/paginator/paginator-foundation.js +29 -20
  351. package/esm/paginator/paginator.d.ts +2 -0
  352. package/esm/paginator/paginator.js +2 -0
  353. package/esm/popup/popup.d.ts +5 -0
  354. package/esm/popup/popup.js +5 -0
  355. package/esm/product-icon/product-icon.d.ts +5 -0
  356. package/esm/product-icon/product-icon.js +5 -0
  357. package/esm/profile-card/profile-card.d.ts +5 -0
  358. package/esm/profile-card/profile-card.js +5 -0
  359. package/esm/quantity-field/quantity-field.d.ts +5 -0
  360. package/esm/quantity-field/quantity-field.js +5 -0
  361. package/esm/radio/radio.d.ts +2 -0
  362. package/esm/radio/radio.js +2 -0
  363. package/esm/ripple/ripple.d.ts +5 -0
  364. package/esm/ripple/ripple.js +5 -0
  365. package/esm/scaffold/scaffold.d.ts +2 -0
  366. package/esm/scaffold/scaffold.js +2 -0
  367. package/esm/select/option/option.d.ts +2 -0
  368. package/esm/select/option/option.js +2 -0
  369. package/esm/select/option-group/option-group.d.ts +2 -0
  370. package/esm/select/option-group/option-group.js +2 -0
  371. package/esm/select/select/select.d.ts +2 -0
  372. package/esm/select/select/select.js +2 -0
  373. package/esm/select/select-dropdown/select-dropdown.d.ts +5 -0
  374. package/esm/select/select-dropdown/select-dropdown.js +5 -0
  375. package/esm/skeleton/skeleton.d.ts +5 -0
  376. package/esm/skeleton/skeleton.js +5 -0
  377. package/esm/slider/slider.d.ts +2 -0
  378. package/esm/slider/slider.js +2 -0
  379. package/esm/stepper/step/step.d.ts +5 -0
  380. package/esm/stepper/step/step.js +5 -0
  381. package/esm/stepper/stepper/stepper.d.ts +5 -0
  382. package/esm/stepper/stepper/stepper.js +5 -0
  383. package/esm/switch/switch.d.ts +2 -0
  384. package/esm/switch/switch.js +2 -0
  385. package/esm/table/table.d.ts +3 -1
  386. package/esm/table/table.js +3 -1
  387. package/esm/tabs/tab/tab.d.ts +5 -0
  388. package/esm/tabs/tab/tab.js +5 -0
  389. package/esm/tabs/tab-bar/tab-bar.d.ts +2 -0
  390. package/esm/tabs/tab-bar/tab-bar.js +2 -0
  391. package/esm/text-field/text-field.d.ts +5 -0
  392. package/esm/text-field/text-field.js +5 -0
  393. package/esm/time-picker/time-picker.d.ts +5 -0
  394. package/esm/time-picker/time-picker.js +5 -0
  395. package/esm/toast/toast.d.ts +2 -0
  396. package/esm/toast/toast.js +2 -0
  397. package/esm/toolbar/toolbar.d.ts +5 -0
  398. package/esm/toolbar/toolbar.js +5 -0
  399. package/esm/tooltip/tooltip.d.ts +5 -1
  400. package/esm/tooltip/tooltip.js +5 -1
  401. package/esm/view-switcher/view/view.d.ts +5 -0
  402. package/esm/view-switcher/view/view.js +5 -0
  403. package/esm/view-switcher/view-switcher.d.ts +5 -0
  404. package/esm/view-switcher/view-switcher.js +5 -0
  405. package/package.json +3 -2
  406. package/dist/esm/chunks/chunk.3ZKORL4I.js.map +0 -7
  407. package/dist/esm/chunks/chunk.SSFSLBBM.js.map +0 -7
  408. package/dist/esm/chunks/chunk.SSXNS4NR.js.map +0 -7
  409. package/dist/esm/chunks/chunk.XN65LPA3.js.map +0 -7
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 { 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): void;\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 public trySelect(value: unknown): void {\n const list = requireParent<IListComponent>(this._component, LIST_CONSTANTS.elementName);\n if (!list || list.selectedValue === undefined) {\n return;\n }\n\n const listValues = list.selectedValue instanceof Array ? list.selectedValue : [list.selectedValue];\n if (listValues.some(v => isDeepEqual(v, value))) {\n this.setSelected(true);\n }\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\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 this._adapter.trySelect(this._value);\n }\n\n public disconnect(): void {\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 this._adapter.trySelect(this._value);\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 _setRipple(): void {\n if (this._ripple && !this._static && !this._rippleInstance) {\n this._rippleInstance = this._adapter.createRipple();\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:auto;min-height:var(--forge-list-item-min-height,auto);max-height:auto;max-height:var(--forge-list-item-max-height,auto);height:48px;height:var(--forge-list-item-height,48px);padding:0 16px;padding:var(--forge-list-item-padding,0 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:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.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:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.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--wrap .forge-list-item__text{text-overflow:clip;white-space:normal}.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 ::slotted([slot=subtitle])::before,.forge-list-item ::slotted([slot=tertiary-title])::before{display:inline-block;width:0;height:20;content:\\\"\\\";vertical-align:0}.forge-list-item--two-line{height:72px;height:var(--forge-list-item-height,72px)}.forge-list-item--three-line{height:88px;height:var(--forge-list-item-height,88px)}.forge-list-item--dense{height:32px;height:var(--forge-list-item-height,32px)}.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--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:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.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:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);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:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);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:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.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,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12));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);font-size:.875rem;font-weight:500;height:40px}: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{height:64px}:host([forge-drawer-context=true]) .forge-list-item--three-line{height:80px}: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:32px;height:var(--forge-list-item-height,32px)}: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--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/** The custom element class behind the `<forge-list-item>` element. */\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 initializedCallback(): 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 static: boolean;\n\n /** Gets/sets whether the list item displays two lines of text. */\n @FoundationProperty()\n public twoLine: boolean;\n\n /** Gets/sets whether the list item displays three lines of text. */\n @FoundationProperty()\n public threeLine: boolean;\n\n /** Gets/sets whether the list item is active or not. */\n @FoundationProperty()\n public active: boolean;\n\n /** Gets/sets whether the list item is selected or not. */\n @FoundationProperty()\n public selected: boolean;\n\n /** Gets/sets list item value. */\n @FoundationProperty()\n public value: any;\n\n /** Gets/sets the href link that this list item will send the browser to when clicked. */\n @FoundationProperty()\n public href: string;\n\n /** Gets/sets the href link target. Only pertains when `href` is also used. */\n @FoundationProperty()\n public target: string;\n\n /** Gets/sets whether the list item has a ripple or not. */\n @FoundationProperty()\n public ripple: boolean;\n\n /** Gets/sets whether the list item is disabled or not. */\n @FoundationProperty()\n public disabled: boolean;\n\n /** Gets/sets whether the list item is using dense styles or not. */\n @FoundationProperty()\n public 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 propagateClick: boolean;\n\n /** Gets/sets whether the list item is indented or not. Default is false. */\n @FoundationProperty()\n public indented: boolean;\n\n /** Gets/sets whether the list item content is wrapped or not. Default is true. */\n @FoundationProperty()\n public 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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",
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 { 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): void;\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 public trySelect(value: unknown): void {\n const list = requireParent<IListComponent>(this._component, LIST_CONSTANTS.elementName);\n if (!list || list.selectedValue === undefined) {\n return;\n }\n\n const listValues = list.selectedValue instanceof Array ? list.selectedValue : [list.selectedValue];\n if (listValues.some(v => isDeepEqual(v, value))) {\n this.setSelected(true);\n }\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\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 this._adapter.trySelect(this._value);\n }\n\n public disconnect(): void {\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 this._adapter.trySelect(this._value);\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 _setRipple(): void {\n if (this._ripple && !this._static && !this._rippleInstance) {\n this._rippleInstance = this._adapter.createRipple();\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:auto;min-height:var(--forge-list-item-min-height,auto);max-height:auto;max-height:var(--forge-list-item-max-height,auto);height:48px;height:var(--forge-list-item-height,48px);padding:0 16px;padding:var(--forge-list-item-padding,0 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:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.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:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.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--wrap .forge-list-item__text{text-overflow:clip;white-space:normal}.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 ::slotted([slot=subtitle])::before,.forge-list-item ::slotted([slot=tertiary-title])::before{display:inline-block;width:0;height:20;content:\\\"\\\";vertical-align:0}.forge-list-item--two-line{height:72px;height:var(--forge-list-item-height,72px)}.forge-list-item--three-line{height:88px;height:var(--forge-list-item-height,88px)}.forge-list-item--dense{height:32px;height:var(--forge-list-item-height,32px)}.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--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:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.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:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);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:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);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:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.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,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12));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);font-size:.875rem;font-weight:500;height:40px}: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{height:64px}:host([forge-drawer-context=true]) .forge-list-item--three-line{height:80px}: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:32px;height:var(--forge-list-item-height,32px)}: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--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 initializedCallback(): 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 static: boolean;\n\n /** Gets/sets whether the list item displays two lines of text. */\n @FoundationProperty()\n public twoLine: boolean;\n\n /** Gets/sets whether the list item displays three lines of text. */\n @FoundationProperty()\n public threeLine: boolean;\n\n /** Gets/sets whether the list item is active or not. */\n @FoundationProperty()\n public active: boolean;\n\n /** Gets/sets whether the list item is selected or not. */\n @FoundationProperty()\n public selected: boolean;\n\n /** Gets/sets list item value. */\n @FoundationProperty()\n public value: any;\n\n /** Gets/sets the href link that this list item will send the browser to when clicked. */\n @FoundationProperty()\n public href: string;\n\n /** Gets/sets the href link target. Only pertains when `href` is also used. */\n @FoundationProperty()\n public target: string;\n\n /** Gets/sets whether the list item has a ripple or not. */\n @FoundationProperty()\n public ripple: boolean;\n\n /** Gets/sets whether the list item is disabled or not. */\n @FoundationProperty()\n public disabled: boolean;\n\n /** Gets/sets whether the list item is using dense styles or not. */\n @FoundationProperty()\n public 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 propagateClick: boolean;\n\n /** Gets/sets whether the list item is indented or not. Default is false. */\n @FoundationProperty()\n public indented: boolean;\n\n /** Gets/sets whether the list item content is wrapped or not. Default is true. */\n @FoundationProperty()\n public 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
6
  "names": []
7
7
  }
@@ -218,4 +218,4 @@ export {
218
218
  BackdropComponent,
219
219
  defineBackdropComponent
220
220
  };
221
- //# sourceMappingURL=chunk.2NUAEZY7.js.map
221
+ //# sourceMappingURL=chunk.GXTNND2M.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/backdrop/backdrop-constants.ts", "../../src/backdrop/backdrop-adapter.ts", "../../src/backdrop/backdrop-foundation.ts", "../../src/backdrop/backdrop.ts", "../../src/backdrop/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}backdrop`;\n\nconst selectors = {\n CONTAINER: '.forge-backdrop'\n};\n\nconst numbers = {\n OPACITY: 0.54,\n DELAY: 0,\n TRANSITION_DURATION: 150\n};\n\nconst attributes = {\n DELAY: 'delay',\n MAX_OPACITY: 'max-opacity',\n APPEARANCE: 'appearance',\n FIXED: 'fixed'\n};\n\nconst events = {\n BACKDROP_CLICK: `${elementName}-click`\n};\n\nexport const BACKDROP_CONSTANTS = {\n elementName,\n selectors,\n numbers,\n attributes,\n events\n};\n\nexport type BackdropAppearance = 'light' | 'dark' | undefined;\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IBackdropComponent } from './backdrop';\nimport { BACKDROP_CONSTANTS } from './backdrop-constants';\n\nexport interface IBackdropAdapter extends IBaseAdapter {\n setBackdropOpacity: (opacity: number) => void;\n addBackdropEventListener: (type: string, listener: (evt: Event) => void) => void;\n removeBackdropEventListener: (type: string, listener: (evt: Event) => void) => void;\n}\n\n/**\n * Provides facilities for interacting with the internal DOM of `BackdropComponent`.\n */\nexport class BackdropAdapter extends BaseAdapter<IBackdropComponent> implements IBackdropAdapter {\n private _backdropElement: HTMLElement;\n\n constructor(component: IBackdropComponent) {\n super(component);\n this._backdropElement = getShadowElement(component, BACKDROP_CONSTANTS.selectors.CONTAINER);\n }\n\n /**\n * Sets the backdrop element opacity.\n * @param opacity The opacity amount.\n */\n public setBackdropOpacity(opacity: number): void {\n this._backdropElement.style.opacity = opacity.toString();\n }\n\n /**\n * Adds a click event to the backdrop container element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public addBackdropEventListener(type: string, listener: (evt: Event) => void): void {\n this._backdropElement.addEventListener('click', listener);\n }\n\n /**\n * Removes a click event from the backdrop container element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public removeBackdropEventListener(type: string, listener: (evt: Event) => void): void {\n this._backdropElement.removeEventListener('click', listener);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IBackdropAdapter } from './backdrop-adapter';\nimport { BackdropAppearance, BACKDROP_CONSTANTS } from './backdrop-constants';\n\n\nexport interface IBackdropFoundation extends ICustomElementFoundation {\n fadeOut(): Promise<void>;\n fadeIn(): Promise<void>;\n appearance: BackdropAppearance;\n}\n\nexport class BackdropFoundation implements IBackdropFoundation {\n private _delay: number = BACKDROP_CONSTANTS.numbers.DELAY;\n private _maxOpacity: number = BACKDROP_CONSTANTS.numbers.OPACITY;\n private _appearance: BackdropAppearance;\n\n constructor(private _adapter: IBackdropAdapter) {\n this._adapter.addBackdropEventListener('click', this._onClick.bind(this));\n }\n\n public initialize(): void {\n this._adapter.setBackdropOpacity(0);\n this._applyAppearance();\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.DELAY, this._delay.toString());\n this.fadeIn();\n }\n\n /**\n * Starts the fade-out animation to animate the backdrop to 0% opacity.\n */\n public fadeOut(): Promise<void> {\n return new Promise<void>(resolve => {\n this._adapter.setBackdropOpacity(0);\n setTimeout(() => resolve(), BACKDROP_CONSTANTS.numbers.TRANSITION_DURATION);\n });\n }\n\n /**\n * Starts the fade-in animation to animate the backdrop to max opacity.\n */\n public fadeIn(): Promise<void> {\n return new Promise<void>(resolve => {\n setTimeout(() => {\n this._adapter.setBackdropOpacity(this._maxOpacity);\n setTimeout(() => resolve(), BACKDROP_CONSTANTS.numbers.TRANSITION_DURATION);\n }, this.delay);\n });\n }\n\n private _onClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, undefined, true, true);\n }\n\n public disconnect(): void {\n this._adapter.removeBackdropEventListener('click', this._onClick);\n }\n\n private _applyAppearance(): void {\n if (this._appearance) {\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.APPEARANCE, String(this._appearance));\n } else {\n this._adapter.removeHostAttribute(BACKDROP_CONSTANTS.attributes.APPEARANCE);\n }\n }\n\n public set delay(value: number) {\n if (this._delay !== value) {\n this._delay = value;\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.DELAY, this._delay.toString());\n }\n }\n public get delay(): number {\n return this._delay;\n }\n\n public set maxOpacity(value: number) {\n if (this._maxOpacity !== value) {\n this._maxOpacity = value;\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.MAX_OPACITY, this._maxOpacity.toString());\n }\n }\n public get maxOpacity(): number {\n return this._maxOpacity;\n }\n\n public get appearance(): BackdropAppearance {\n return this._appearance;\n }\n public set appearance(value: BackdropAppearance) {\n if (this._appearance !== value) {\n this._appearance = value;\n this._applyAppearance();\n }\n }\n}\n", "import { attachShadowTemplate, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { BackdropAdapter } from './backdrop-adapter';\nimport { BackdropAppearance, BACKDROP_CONSTANTS } from './backdrop-constants';\nimport { BackdropFoundation } from './backdrop-foundation';\n\nconst template = '<template><div class=\\\"forge-backdrop\\\" part=\\\"root\\\"></div></template>';\nconst styles = '.forge-backdrop{z-index:7;z-index:var(--forge-z-index-backdrop,7);background-color:rgba(0,0,0,.54);background-color:var(--forge-backdrop-theme-background,rgba(0,0,0,.54));position:absolute;top:0;bottom:0;left:0;right:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);opacity:0}:host{display:block}:host([hidden]){display:none}:host([fixed]) .forge-backdrop{position:fixed}:host([appearance=light]){--forge-backdrop-theme-background:rgba(255, 255, 255, 0.54)}:host([appearance=dark]){--forge-backdrop-theme-background:rgba(0, 0, 0, 0.54)}';\n\nexport interface IBackdropComponent extends IBaseComponent {\n delay: number;\n maxOpacity: number;\n appearance: BackdropAppearance;\n fadeOut(): Promise<void>;\n fadeIn(): Promise<void>;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-backdrop': IBackdropComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-backdrop-click': CustomEvent<void>;\n }\n}\n\n/**\n * A web component that renders a backdrop covering its parent container with a semi-opaque element.\n */\n@CustomElement({\n name: BACKDROP_CONSTANTS.elementName\n})\nexport class BackdropComponent extends BaseComponent {\n public static get observedAttributes(): string[] {\n return [\n BACKDROP_CONSTANTS.attributes.DELAY,\n BACKDROP_CONSTANTS.attributes.MAX_OPACITY\n ];\n }\n\n protected _foundation: BackdropFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BackdropFoundation(new BackdropAdapter(this));\n }\n\n public connectedCallback(): void {\n if (this.hasAttribute(BACKDROP_CONSTANTS.attributes.DELAY) && this.getAttribute(BACKDROP_CONSTANTS.attributes.DELAY)) {\n const inDelay = Number(this.getAttribute(BACKDROP_CONSTANTS.attributes.DELAY));\n this.delay = inDelay >= 0 ? inDelay : BACKDROP_CONSTANTS.numbers.DELAY;\n }\n\n if (this.hasAttribute(BACKDROP_CONSTANTS.attributes.MAX_OPACITY)) {\n const inMaxOpacity = Number(this.getAttribute(BACKDROP_CONSTANTS.attributes.MAX_OPACITY));\n this.maxOpacity = inMaxOpacity >= 0 && inMaxOpacity <= 1 ? inMaxOpacity : BACKDROP_CONSTANTS.numbers.OPACITY;\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 BACKDROP_CONSTANTS.attributes.DELAY:\n const delayValue = Number(newValue);\n this.delay = delayValue >= 0 ? delayValue : BACKDROP_CONSTANTS.numbers.DELAY;\n break;\n case BACKDROP_CONSTANTS.attributes.MAX_OPACITY:\n const opacityValue = Number(newValue);\n this.maxOpacity = opacityValue >= 0 && opacityValue <= 1 ? opacityValue : BACKDROP_CONSTANTS.numbers.OPACITY;\n break;\n case BACKDROP_CONSTANTS.attributes.APPEARANCE:\n this.appearance = newValue as BackdropAppearance;\n break;\n }\n }\n\n /**\n * The time in milliseconds to delay the fade in animation of the opacity.\n * Note: The element will start with 0% opacity when the component is rendered.\n */\n @FoundationProperty()\n public delay: number;\n\n /** Controls whether the theme defaults to light vs dark compatibility. */\n @FoundationProperty()\n public appearance: BackdropAppearance;\n\n /** The max opacity to fade the element to. This defines how opaque the backdrop is when visible. */\n @FoundationProperty()\n public maxOpacity: number;\n\n /**\n * Starts the fade-out animation to animate the backdrop to 0% opacity.\n */\n public fadeOut(): Promise<void> {\n return this._foundation.fadeOut();\n }\n\n /**\n * Starts the fade-in animation to animate the backdrop to max opacity.\n */\n public fadeIn(): Promise<void> {\n return this._foundation.fadeIn();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { BackdropComponent } from './backdrop';\n\nexport * from './backdrop-adapter';\nexport * from './backdrop-constants';\nexport * from './backdrop-foundation';\nexport * from './backdrop';\n\nexport function defineBackdropComponent(): void {\n defineCustomElement(BackdropComponent);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}backdrop`;\n\nconst selectors = {\n CONTAINER: '.forge-backdrop'\n};\n\nconst numbers = {\n OPACITY: 0.54,\n DELAY: 0,\n TRANSITION_DURATION: 150\n};\n\nconst attributes = {\n DELAY: 'delay',\n MAX_OPACITY: 'max-opacity',\n APPEARANCE: 'appearance',\n FIXED: 'fixed'\n};\n\nconst events = {\n BACKDROP_CLICK: `${elementName}-click`\n};\n\nexport const BACKDROP_CONSTANTS = {\n elementName,\n selectors,\n numbers,\n attributes,\n events\n};\n\nexport type BackdropAppearance = 'light' | 'dark' | undefined;\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IBackdropComponent } from './backdrop';\nimport { BACKDROP_CONSTANTS } from './backdrop-constants';\n\nexport interface IBackdropAdapter extends IBaseAdapter {\n setBackdropOpacity: (opacity: number) => void;\n addBackdropEventListener: (type: string, listener: (evt: Event) => void) => void;\n removeBackdropEventListener: (type: string, listener: (evt: Event) => void) => void;\n}\n\n/**\n * Provides facilities for interacting with the internal DOM of `BackdropComponent`.\n */\nexport class BackdropAdapter extends BaseAdapter<IBackdropComponent> implements IBackdropAdapter {\n private _backdropElement: HTMLElement;\n\n constructor(component: IBackdropComponent) {\n super(component);\n this._backdropElement = getShadowElement(component, BACKDROP_CONSTANTS.selectors.CONTAINER);\n }\n\n /**\n * Sets the backdrop element opacity.\n * @param opacity The opacity amount.\n */\n public setBackdropOpacity(opacity: number): void {\n this._backdropElement.style.opacity = opacity.toString();\n }\n\n /**\n * Adds a click event to the backdrop container element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public addBackdropEventListener(type: string, listener: (evt: Event) => void): void {\n this._backdropElement.addEventListener('click', listener);\n }\n\n /**\n * Removes a click event from the backdrop container element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public removeBackdropEventListener(type: string, listener: (evt: Event) => void): void {\n this._backdropElement.removeEventListener('click', listener);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IBackdropAdapter } from './backdrop-adapter';\nimport { BackdropAppearance, BACKDROP_CONSTANTS } from './backdrop-constants';\n\n\nexport interface IBackdropFoundation extends ICustomElementFoundation {\n fadeOut(): Promise<void>;\n fadeIn(): Promise<void>;\n appearance: BackdropAppearance;\n}\n\nexport class BackdropFoundation implements IBackdropFoundation {\n private _delay: number = BACKDROP_CONSTANTS.numbers.DELAY;\n private _maxOpacity: number = BACKDROP_CONSTANTS.numbers.OPACITY;\n private _appearance: BackdropAppearance;\n\n constructor(private _adapter: IBackdropAdapter) {\n this._adapter.addBackdropEventListener('click', this._onClick.bind(this));\n }\n\n public initialize(): void {\n this._adapter.setBackdropOpacity(0);\n this._applyAppearance();\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.DELAY, this._delay.toString());\n this.fadeIn();\n }\n\n /**\n * Starts the fade-out animation to animate the backdrop to 0% opacity.\n */\n public fadeOut(): Promise<void> {\n return new Promise<void>(resolve => {\n this._adapter.setBackdropOpacity(0);\n setTimeout(() => resolve(), BACKDROP_CONSTANTS.numbers.TRANSITION_DURATION);\n });\n }\n\n /**\n * Starts the fade-in animation to animate the backdrop to max opacity.\n */\n public fadeIn(): Promise<void> {\n return new Promise<void>(resolve => {\n setTimeout(() => {\n this._adapter.setBackdropOpacity(this._maxOpacity);\n setTimeout(() => resolve(), BACKDROP_CONSTANTS.numbers.TRANSITION_DURATION);\n }, this.delay);\n });\n }\n\n private _onClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, undefined, true, true);\n }\n\n public disconnect(): void {\n this._adapter.removeBackdropEventListener('click', this._onClick);\n }\n\n private _applyAppearance(): void {\n if (this._appearance) {\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.APPEARANCE, String(this._appearance));\n } else {\n this._adapter.removeHostAttribute(BACKDROP_CONSTANTS.attributes.APPEARANCE);\n }\n }\n\n public set delay(value: number) {\n if (this._delay !== value) {\n this._delay = value;\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.DELAY, this._delay.toString());\n }\n }\n public get delay(): number {\n return this._delay;\n }\n\n public set maxOpacity(value: number) {\n if (this._maxOpacity !== value) {\n this._maxOpacity = value;\n this._adapter.setHostAttribute(BACKDROP_CONSTANTS.attributes.MAX_OPACITY, this._maxOpacity.toString());\n }\n }\n public get maxOpacity(): number {\n return this._maxOpacity;\n }\n\n public get appearance(): BackdropAppearance {\n return this._appearance;\n }\n public set appearance(value: BackdropAppearance) {\n if (this._appearance !== value) {\n this._appearance = value;\n this._applyAppearance();\n }\n }\n}\n", "import { attachShadowTemplate, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { BackdropAdapter } from './backdrop-adapter';\nimport { BackdropAppearance, BACKDROP_CONSTANTS } from './backdrop-constants';\nimport { BackdropFoundation } from './backdrop-foundation';\n\nconst template = '<template><div class=\\\"forge-backdrop\\\" part=\\\"root\\\"></div></template>';\nconst styles = '.forge-backdrop{z-index:7;z-index:var(--forge-z-index-backdrop,7);background-color:rgba(0,0,0,.54);background-color:var(--forge-backdrop-theme-background,rgba(0,0,0,.54));position:absolute;top:0;bottom:0;left:0;right:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);opacity:0}:host{display:block}:host([hidden]){display:none}:host([fixed]) .forge-backdrop{position:fixed}:host([appearance=light]){--forge-backdrop-theme-background:rgba(255, 255, 255, 0.54)}:host([appearance=dark]){--forge-backdrop-theme-background:rgba(0, 0, 0, 0.54)}';\n\nexport interface IBackdropComponent extends IBaseComponent {\n delay: number;\n maxOpacity: number;\n appearance: BackdropAppearance;\n fadeOut(): Promise<void>;\n fadeIn(): Promise<void>;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-backdrop': IBackdropComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-backdrop-click': CustomEvent<void>;\n }\n}\n\n/**\n * A web component that renders a backdrop covering its parent container with a semi-opaque element.\n * \n * @tag forge-backdrop\n */\n@CustomElement({\n name: BACKDROP_CONSTANTS.elementName\n})\nexport class BackdropComponent extends BaseComponent {\n public static get observedAttributes(): string[] {\n return [\n BACKDROP_CONSTANTS.attributes.DELAY,\n BACKDROP_CONSTANTS.attributes.MAX_OPACITY\n ];\n }\n\n protected _foundation: BackdropFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BackdropFoundation(new BackdropAdapter(this));\n }\n\n public connectedCallback(): void {\n if (this.hasAttribute(BACKDROP_CONSTANTS.attributes.DELAY) && this.getAttribute(BACKDROP_CONSTANTS.attributes.DELAY)) {\n const inDelay = Number(this.getAttribute(BACKDROP_CONSTANTS.attributes.DELAY));\n this.delay = inDelay >= 0 ? inDelay : BACKDROP_CONSTANTS.numbers.DELAY;\n }\n\n if (this.hasAttribute(BACKDROP_CONSTANTS.attributes.MAX_OPACITY)) {\n const inMaxOpacity = Number(this.getAttribute(BACKDROP_CONSTANTS.attributes.MAX_OPACITY));\n this.maxOpacity = inMaxOpacity >= 0 && inMaxOpacity <= 1 ? inMaxOpacity : BACKDROP_CONSTANTS.numbers.OPACITY;\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 BACKDROP_CONSTANTS.attributes.DELAY:\n const delayValue = Number(newValue);\n this.delay = delayValue >= 0 ? delayValue : BACKDROP_CONSTANTS.numbers.DELAY;\n break;\n case BACKDROP_CONSTANTS.attributes.MAX_OPACITY:\n const opacityValue = Number(newValue);\n this.maxOpacity = opacityValue >= 0 && opacityValue <= 1 ? opacityValue : BACKDROP_CONSTANTS.numbers.OPACITY;\n break;\n case BACKDROP_CONSTANTS.attributes.APPEARANCE:\n this.appearance = newValue as BackdropAppearance;\n break;\n }\n }\n\n /**\n * The time in milliseconds to delay the fade in animation of the opacity.\n * Note: The element will start with 0% opacity when the component is rendered.\n */\n @FoundationProperty()\n public delay: number;\n\n /** Controls whether the theme defaults to light vs dark compatibility. */\n @FoundationProperty()\n public appearance: BackdropAppearance;\n\n /** The max opacity to fade the element to. This defines how opaque the backdrop is when visible. */\n @FoundationProperty()\n public maxOpacity: number;\n\n /**\n * Starts the fade-out animation to animate the backdrop to 0% opacity.\n */\n public fadeOut(): Promise<void> {\n return this._foundation.fadeOut();\n }\n\n /**\n * Starts the fade-in animation to animate the backdrop to max opacity.\n */\n public fadeIn(): Promise<void> {\n return this._foundation.fadeIn();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { BackdropComponent } from './backdrop';\n\nexport * from './backdrop-adapter';\nexport * from './backdrop-constants';\nexport * from './backdrop-foundation';\nexport * from './backdrop';\n\nexport function defineBackdropComponent(): void {\n defineCustomElement(BackdropComponent);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -107,4 +107,4 @@ export {
107
107
  ToolbarComponent,
108
108
  defineToolbarComponent
109
109
  };
110
- //# sourceMappingURL=chunk.YJ5X3WZ4.js.map
110
+ //# sourceMappingURL=chunk.HASAPJMX.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/toolbar/toolbar-constants.ts", "../../src/toolbar/toolbar.ts", "../../src/toolbar/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\r\n\r\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}toolbar`;\r\n\r\nconst attributes = {\r\n INVERTED: 'inverted'\r\n};\r\n\r\nconst classes = {\r\n INVERTED: 'forge-toolbar--inverted',\r\n TOOLBAR: 'forge-toolbar',\r\n SECTION: 'forge-toolbar__section',\r\n ALIGN_START: 'forge-toolbar__section--align-start',\r\n ALIGN_CENTER: 'forge-toolbar__section--align-center',\r\n ALIGN_END: 'forge-toolbar__section--align-end'\r\n};\r\n\r\nconst selectors = {\r\n TOOLBAR: `.${classes.TOOLBAR}`,\r\n START_SLOT: `.${classes.SECTION}.${classes.ALIGN_START} > slot[name=start]`,\r\n CENTER_SLOT: `.${classes.SECTION}.${classes.ALIGN_CENTER} > slot[name=center]`,\r\n END_SLOT: `.${classes.SECTION}.${classes.ALIGN_END} > slot[name=end]`\r\n};\r\n\r\nexport const TOOLBAR_CONSTANTS = {\r\n elementName,\r\n attributes,\r\n classes,\r\n selectors\r\n};\r\n", "import { CustomElement, attachShadowTemplate, getShadowElement, coerceBoolean } from '@tylertech/forge-core';\r\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\r\n\r\nimport { TOOLBAR_CONSTANTS } from './toolbar-constants';\r\n\r\nconst template = '<template><div class=\\\"forge-toolbar\\\" part=\\\"root\\\"><div class=\\\"forge-toolbar__section forge-toolbar__section--align-start\\\" part=\\\"section-start\\\"><slot name=\\\"start\\\"></slot></div><div class=\\\"forge-toolbar__section forge-toolbar__section--align-center\\\" part=\\\"section-center\\\"><slot name=\\\"center\\\"></slot></div><div class=\\\"forge-toolbar__section forge-toolbar__section--align-end\\\" part=\\\"section-end\\\"><slot name=\\\"end\\\"></slot></div></div></template>';\r\nconst styles = '.forge-toolbar{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);min-height:56px;min-height:var(--forge-toolbar-min-height,56px);height:56px;height:var(--forge-toolbar-height,56px);padding-left:16px;padding-left:var(--forge-toolbar-padding,16px);padding-right:16px;padding-right:var(--forge-toolbar-padding,16px);border-bottom:1px solid rgba(0,0,0,.12);border-bottom:var(--forge-toolbar-border-bottom,1px solid rgba(0,0,0,.12));border-top-left-radius:0;border-top-left-radius:var(--forge-toolbar-border-top-left-radius,0);border-top-right-radius:0;border-top-right-radius:var(--forge-toolbar-border-top-right-radius,0);border-bottom-left-radius:0;border-bottom-left-radius:var(--forge-toolbar-border-bottom-left-radius,0);border-bottom-right-radius:0;border-bottom-right-radius:var(--forge-toolbar-border-bottom-right-radius,0);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);display:grid;grid-template-columns:auto 1fr auto;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section--align-start{grid-column:1}.forge-toolbar__section--align-center{-webkit-box-pack:center;justify-content:center;grid-column:2}.forge-toolbar__section--align-end{-webkit-box-pack:end;justify-content:flex-end;grid-column:3}.forge-toolbar--inverted{border-top-width:1px;border-top-style:solid;border-bottom:none}:host{display:block;contain:layout}:host([hidden]){display:none}.forge-toolbar ::slotted(h1){margin:0}.forge-toolbar ::slotted(h2){margin:0}.forge-toolbar ::slotted(h3){margin:0}.forge-toolbar ::slotted(h4){margin:0}.forge-toolbar ::slotted(h5){margin:0}.forge-toolbar ::slotted(h6){margin:0}.forge-toolbar ::slotted(p){margin:0}';\r\n\r\nexport interface IToolbarComponent extends IBaseComponent {\r\n inverted: boolean;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n 'forge-toolbar': IToolbarComponent;\r\n }\r\n}\r\n\r\n@CustomElement({\r\n name: TOOLBAR_CONSTANTS.elementName\r\n})\r\nexport class ToolbarComponent extends BaseComponent implements IToolbarComponent {\r\n public static get observedAttributes(): string[] {\r\n return [\r\n TOOLBAR_CONSTANTS.attributes.INVERTED\r\n ];\r\n }\r\n \r\n private _rootElement: HTMLElement;\r\n private _inverted = false;\r\n\r\n constructor() {\r\n super();\r\n attachShadowTemplate(this, template, styles);\r\n this._rootElement = getShadowElement(this, TOOLBAR_CONSTANTS.selectors.TOOLBAR);\r\n }\r\n\r\n public connectedCallback(): void {\r\n this._initialize();\r\n }\r\n\r\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\r\n switch (name) {\r\n case TOOLBAR_CONSTANTS.attributes.INVERTED:\r\n this.inverted = coerceBoolean(newValue);\r\n break;\r\n }\r\n }\r\n\r\n private _initialize(): void {\r\n this._setInverted(this._inverted);\r\n }\r\n \r\n private _setInverted(isInverted: boolean): void {\r\n if (isInverted) {\r\n this._rootElement.classList.add(TOOLBAR_CONSTANTS.classes.INVERTED);\r\n } else {\r\n this._rootElement.classList.remove(TOOLBAR_CONSTANTS.classes.INVERTED);\r\n }\r\n }\r\n\r\n public get inverted(): boolean {\r\n return this._inverted;\r\n }\r\n public set inverted(value: boolean) {\r\n this._inverted = value;\r\n this._setInverted(this._inverted);\r\n }\r\n}\r\n", "import { defineCustomElement } from '@tylertech/forge-core';\r\n\r\nimport { ToolbarComponent } from './toolbar';\r\n\r\nexport * from './toolbar-constants';\r\nexport * from './toolbar';\r\n\r\nexport function defineToolbarComponent(): void {\r\n defineCustomElement(ToolbarComponent);\r\n}\r\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAEA,IAAM,cAA2C,GAAG;AAEpD,IAAM,aAAa;AAAA,EACjB,UAAU;AACZ;AAEA,IAAM,UAAU;AAAA,EACd,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,aAAa;AAAA,EACb,cAAc;AAAA,EACd,WAAW;AACb;AAEA,IAAM,YAAY;AAAA,EAChB,SAAS,IAAI,QAAQ;AAAA,EACrB,YAAY,IAAI,QAAQ,WAAW,QAAQ;AAAA,EAC3C,aAAa,IAAI,QAAQ,WAAW,QAAQ;AAAA,EAC5C,UAAU,IAAI,QAAQ,WAAW,QAAQ;AAC3C;AAEO,IAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ACxBA,IAAM,WAAW;AACjB,IAAM,SAAS;AAeR,IAAM,mBAAN,cAA+B,cAA2C;AAAA,EAU/E,cAAc;AACZ,UAAM;AAHR,SAAQ,YAAY;AAIlB,yBAAqB,MAAM,UAAU,MAAM;AAC3C,SAAK,eAAe,iBAAiB,MAAM,kBAAkB,UAAU,OAAO;AAAA,EAChF;AAAA,EAbA,WAAkB,qBAA+B;AAC/C,WAAO;AAAA,MACL,kBAAkB,WAAW;AAAA,IAC/B;AAAA,EACF;AAAA,EAWA,AAAO,oBAA0B;AAC/B,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,AAAO,yBAAyB,MAAc,UAAkB,UAAwB;AACtF,YAAQ;AAAA,WACD,kBAAkB,WAAW;AAChC,aAAK,WAAW,cAAc,QAAQ;AACtC;AAAA;AAAA,EAEN;AAAA,EAEA,AAAQ,cAAoB;AAC1B,SAAK,aAAa,KAAK,SAAS;AAAA,EAClC;AAAA,EAEA,AAAQ,aAAa,YAA2B;AAC9C,QAAI,YAAY;AACd,WAAK,aAAa,UAAU,IAAI,kBAAkB,QAAQ,QAAQ;AAAA,IACpE,OAAO;AACL,WAAK,aAAa,UAAU,OAAO,kBAAkB,QAAQ,QAAQ;AAAA,IACvE;AAAA,EACF;AAAA,EAEA,IAAW,WAAoB;AAC7B,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAW,SAAS,OAAgB;AAClC,SAAK,YAAY;AACjB,SAAK,aAAa,KAAK,SAAS;AAAA,EAClC;AACF;AA/Ca,mBAAN;AAAA,EAHP,AAAC,cAAc;AAAA,IACb,MAAM,kBAAkB;AAAA,EAC1B,CAAC;AAAA,GACY;;;ACdN,kCAAwC;AAC7C,sBAAoB,gBAAgB;AACtC;",
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\r\n\r\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}toolbar`;\r\n\r\nconst attributes = {\r\n INVERTED: 'inverted'\r\n};\r\n\r\nconst classes = {\r\n INVERTED: 'forge-toolbar--inverted',\r\n TOOLBAR: 'forge-toolbar',\r\n SECTION: 'forge-toolbar__section',\r\n ALIGN_START: 'forge-toolbar__section--align-start',\r\n ALIGN_CENTER: 'forge-toolbar__section--align-center',\r\n ALIGN_END: 'forge-toolbar__section--align-end'\r\n};\r\n\r\nconst selectors = {\r\n TOOLBAR: `.${classes.TOOLBAR}`,\r\n START_SLOT: `.${classes.SECTION}.${classes.ALIGN_START} > slot[name=start]`,\r\n CENTER_SLOT: `.${classes.SECTION}.${classes.ALIGN_CENTER} > slot[name=center]`,\r\n END_SLOT: `.${classes.SECTION}.${classes.ALIGN_END} > slot[name=end]`\r\n};\r\n\r\nexport const TOOLBAR_CONSTANTS = {\r\n elementName,\r\n attributes,\r\n classes,\r\n selectors\r\n};\r\n", "import { CustomElement, attachShadowTemplate, getShadowElement, coerceBoolean } from '@tylertech/forge-core';\r\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\r\n\r\nimport { TOOLBAR_CONSTANTS } from './toolbar-constants';\r\n\r\nconst template = '<template><div class=\\\"forge-toolbar\\\" part=\\\"root\\\"><div class=\\\"forge-toolbar__section forge-toolbar__section--align-start\\\" part=\\\"section-start\\\"><slot name=\\\"start\\\"></slot></div><div class=\\\"forge-toolbar__section forge-toolbar__section--align-center\\\" part=\\\"section-center\\\"><slot name=\\\"center\\\"></slot></div><div class=\\\"forge-toolbar__section forge-toolbar__section--align-end\\\" part=\\\"section-end\\\"><slot name=\\\"end\\\"></slot></div></div></template>';\r\nconst styles = '.forge-toolbar{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);min-height:56px;min-height:var(--forge-toolbar-min-height,56px);height:56px;height:var(--forge-toolbar-height,56px);padding-left:16px;padding-left:var(--forge-toolbar-padding,16px);padding-right:16px;padding-right:var(--forge-toolbar-padding,16px);border-bottom:1px solid rgba(0,0,0,.12);border-bottom:var(--forge-toolbar-border-bottom,1px solid rgba(0,0,0,.12));border-top-left-radius:0;border-top-left-radius:var(--forge-toolbar-border-top-left-radius,0);border-top-right-radius:0;border-top-right-radius:var(--forge-toolbar-border-top-right-radius,0);border-bottom-left-radius:0;border-bottom-left-radius:var(--forge-toolbar-border-bottom-left-radius,0);border-bottom-right-radius:0;border-bottom-right-radius:var(--forge-toolbar-border-bottom-right-radius,0);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);display:grid;grid-template-columns:auto 1fr auto;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section--align-start{grid-column:1}.forge-toolbar__section--align-center{-webkit-box-pack:center;justify-content:center;grid-column:2}.forge-toolbar__section--align-end{-webkit-box-pack:end;justify-content:flex-end;grid-column:3}.forge-toolbar--inverted{border-top-width:1px;border-top-style:solid;border-bottom:none}:host{display:block;contain:layout}:host([hidden]){display:none}.forge-toolbar ::slotted(h1){margin:0}.forge-toolbar ::slotted(h2){margin:0}.forge-toolbar ::slotted(h3){margin:0}.forge-toolbar ::slotted(h4){margin:0}.forge-toolbar ::slotted(h5){margin:0}.forge-toolbar ::slotted(h6){margin:0}.forge-toolbar ::slotted(p){margin:0}';\r\n\r\nexport interface IToolbarComponent extends IBaseComponent {\r\n inverted: boolean;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n 'forge-toolbar': IToolbarComponent;\r\n }\r\n}\r\n\r\n/**\r\n * The web component class behind the `<forge-toolbar>` custom element.\r\n * \r\n * @tag forge-toolbar\r\n */\r\n@CustomElement({\r\n name: TOOLBAR_CONSTANTS.elementName\r\n})\r\nexport class ToolbarComponent extends BaseComponent implements IToolbarComponent {\r\n public static get observedAttributes(): string[] {\r\n return [\r\n TOOLBAR_CONSTANTS.attributes.INVERTED\r\n ];\r\n }\r\n \r\n private _rootElement: HTMLElement;\r\n private _inverted = false;\r\n\r\n constructor() {\r\n super();\r\n attachShadowTemplate(this, template, styles);\r\n this._rootElement = getShadowElement(this, TOOLBAR_CONSTANTS.selectors.TOOLBAR);\r\n }\r\n\r\n public connectedCallback(): void {\r\n this._initialize();\r\n }\r\n\r\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\r\n switch (name) {\r\n case TOOLBAR_CONSTANTS.attributes.INVERTED:\r\n this.inverted = coerceBoolean(newValue);\r\n break;\r\n }\r\n }\r\n\r\n private _initialize(): void {\r\n this._setInverted(this._inverted);\r\n }\r\n \r\n private _setInverted(isInverted: boolean): void {\r\n if (isInverted) {\r\n this._rootElement.classList.add(TOOLBAR_CONSTANTS.classes.INVERTED);\r\n } else {\r\n this._rootElement.classList.remove(TOOLBAR_CONSTANTS.classes.INVERTED);\r\n }\r\n }\r\n\r\n public get inverted(): boolean {\r\n return this._inverted;\r\n }\r\n public set inverted(value: boolean) {\r\n this._inverted = value;\r\n this._setInverted(this._inverted);\r\n }\r\n}\r\n", "import { defineCustomElement } from '@tylertech/forge-core';\r\n\r\nimport { ToolbarComponent } from './toolbar';\r\n\r\nexport * from './toolbar-constants';\r\nexport * from './toolbar';\r\n\r\nexport function defineToolbarComponent(): void {\r\n defineCustomElement(ToolbarComponent);\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAEA,IAAM,cAA2C,GAAG;AAEpD,IAAM,aAAa;AAAA,EACjB,UAAU;AACZ;AAEA,IAAM,UAAU;AAAA,EACd,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,aAAa;AAAA,EACb,cAAc;AAAA,EACd,WAAW;AACb;AAEA,IAAM,YAAY;AAAA,EAChB,SAAS,IAAI,QAAQ;AAAA,EACrB,YAAY,IAAI,QAAQ,WAAW,QAAQ;AAAA,EAC3C,aAAa,IAAI,QAAQ,WAAW,QAAQ;AAAA,EAC5C,UAAU,IAAI,QAAQ,WAAW,QAAQ;AAC3C;AAEO,IAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ACxBA,IAAM,WAAW;AACjB,IAAM,SAAS;AAoBR,IAAM,mBAAN,cAA+B,cAA2C;AAAA,EAU/E,cAAc;AACZ,UAAM;AAHR,SAAQ,YAAY;AAIlB,yBAAqB,MAAM,UAAU,MAAM;AAC3C,SAAK,eAAe,iBAAiB,MAAM,kBAAkB,UAAU,OAAO;AAAA,EAChF;AAAA,EAbA,WAAkB,qBAA+B;AAC/C,WAAO;AAAA,MACL,kBAAkB,WAAW;AAAA,IAC/B;AAAA,EACF;AAAA,EAWA,AAAO,oBAA0B;AAC/B,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,AAAO,yBAAyB,MAAc,UAAkB,UAAwB;AACtF,YAAQ;AAAA,WACD,kBAAkB,WAAW;AAChC,aAAK,WAAW,cAAc,QAAQ;AACtC;AAAA;AAAA,EAEN;AAAA,EAEA,AAAQ,cAAoB;AAC1B,SAAK,aAAa,KAAK,SAAS;AAAA,EAClC;AAAA,EAEA,AAAQ,aAAa,YAA2B;AAC9C,QAAI,YAAY;AACd,WAAK,aAAa,UAAU,IAAI,kBAAkB,QAAQ,QAAQ;AAAA,IACpE,OAAO;AACL,WAAK,aAAa,UAAU,OAAO,kBAAkB,QAAQ,QAAQ;AAAA,IACvE;AAAA,EACF;AAAA,EAEA,IAAW,WAAoB;AAC7B,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAW,SAAS,OAAgB;AAClC,SAAK,YAAY;AACjB,SAAK,aAAa,KAAK,SAAS;AAAA,EAClC;AACF;AA/Ca,mBAAN;AAAA,EAHP,AAAC,cAAc;AAAA,IACb,MAAM,kBAAkB;AAAA,EAC1B,CAAC;AAAA,GACY;;;ACnBN,kCAAwC;AAC7C,sBAAoB,gBAAgB;AACtC;",
6
6
  "names": []
7
7
  }
@@ -5,10 +5,10 @@
5
5
  */
6
6
  import {
7
7
  SelectComponent
8
- } from "./chunk.CKVCNPLI.js";
8
+ } from "./chunk.MBZLA635.js";
9
9
  import {
10
10
  IconButtonComponent
11
- } from "./chunk.XN65LPA3.js";
11
+ } from "./chunk.EBC2HGO3.js";
12
12
  import {
13
13
  tylIconFirstPage,
14
14
  tylIconKeyboardArrowLeft,
@@ -17,11 +17,11 @@ import {
17
17
  } from "./chunk.GS2AXUCN.js";
18
18
  import {
19
19
  TooltipComponent
20
- } from "./chunk.2F6PST3N.js";
20
+ } from "./chunk.OXS2O7RG.js";
21
21
  import {
22
22
  IconComponent,
23
23
  IconRegistry
24
- } from "./chunk.3MO6XU44.js";
24
+ } from "./chunk.WSH4S3GM.js";
25
25
  import {
26
26
  BaseAdapter
27
27
  } from "./chunk.KZATVOA6.js";
@@ -323,47 +323,55 @@ var PaginatorFoundation = class {
323
323
  if (!this._hasFirstPage()) {
324
324
  return;
325
325
  }
326
- this.pageIndex = 0;
327
- this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.FIRST_PAGE);
326
+ const canPage = this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.FIRST_PAGE, { pageIndex: 0 });
327
+ if (canPage) {
328
+ this.pageIndex = 0;
329
+ }
328
330
  }
329
331
  _onPreviousPage(evt) {
330
332
  evt.stopPropagation();
331
333
  if (!this._hasPreviousPage()) {
332
334
  return;
333
335
  }
334
- this.pageIndex--;
335
- this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.PREVIOUS_PAGE);
336
+ const canPage = this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.PREVIOUS_PAGE, { pageIndex: this._pageIndex - 1 });
337
+ if (canPage) {
338
+ this.pageIndex--;
339
+ }
336
340
  }
337
341
  _onNextPage(evt) {
338
342
  evt.stopPropagation();
339
343
  if (!this._hasNextPage()) {
340
344
  return;
341
345
  }
342
- this.pageIndex++;
343
- this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.NEXT_PAGE);
346
+ const canPage = this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.NEXT_PAGE, { pageIndex: this._pageIndex + 1 });
347
+ if (canPage) {
348
+ this.pageIndex++;
349
+ }
344
350
  }
345
351
  _onLastPage(evt) {
346
352
  evt.stopPropagation();
347
353
  if (!this._hasLastPage()) {
348
354
  return;
349
355
  }
350
- this.pageIndex = this._getMaxPages();
351
- this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.LAST_PAGE);
356
+ const canPage = this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.LAST_PAGE, { pageIndex: this._getMaxPages() });
357
+ if (canPage) {
358
+ this.pageIndex = this._getMaxPages();
359
+ }
352
360
  }
353
361
  _onPageSizeChanged(evt) {
354
362
  evt.stopPropagation();
355
- this.pageIndex = 0;
356
- this.pageSize = Number(evt.target.value);
357
- this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.PAGE_SIZE);
358
- }
359
- _emitChangeEvent(type) {
360
- const detail = {
361
- type,
362
- pageSize: this._pageSize,
363
- pageIndex: this._pageIndex,
364
- offset: this._pageIndex * this._pageSize
365
- };
366
- this._adapter.emitHostEvent(PAGINATOR_CONSTANTS.events.CHANGE, detail);
363
+ const canPage = this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.PAGE_SIZE, { pageIndex: 0, pageSize: Number(evt.detail) });
364
+ if (canPage) {
365
+ this.pageIndex = 0;
366
+ this.pageSize = Number(evt.detail);
367
+ } else {
368
+ evt.preventDefault();
369
+ }
370
+ }
371
+ _emitChangeEvent(type, { pageSize = this._pageSize, pageIndex = this._pageIndex } = {}) {
372
+ const offset = pageIndex * pageSize;
373
+ const detail = { type, pageSize, pageIndex, offset };
374
+ return this._adapter.emitHostEvent(PAGINATOR_CONSTANTS.events.CHANGE, detail, true, true);
367
375
  }
368
376
  _getMaxPages() {
369
377
  return Math.ceil(this._total / this._pageSize) - 1;
@@ -717,4 +725,4 @@ export {
717
725
  PaginatorComponent,
718
726
  definePaginatorComponent
719
727
  };
720
- //# sourceMappingURL=chunk.SSXNS4NR.js.map
728
+ //# sourceMappingURL=chunk.HAWYW54W.js.map