@tylertech/forge 2.8.0 → 2.10.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 (618) hide show
  1. package/custom-elements.json +4525 -246
  2. package/dist/esm/accordion/index.js +1 -34
  3. package/dist/esm/app-bar/help-button/index.js +1 -53
  4. package/dist/esm/app-bar/index.js +1 -131
  5. package/dist/esm/app-bar/menu-button/index.js +1 -36
  6. package/dist/esm/app-bar/notification-button/index.js +1 -41
  7. package/dist/esm/app-bar/profile-button/index.js +1 -46
  8. package/dist/esm/app-bar/search/index.js +1 -38
  9. package/dist/esm/autocomplete/index.js +1 -72
  10. package/dist/esm/avatar/index.js +1 -27
  11. package/dist/esm/backdrop/index.js +1 -22
  12. package/dist/esm/badge/index.js +1 -25
  13. package/dist/esm/banner/index.js +1 -40
  14. package/dist/esm/bottom-sheet/index.js +1 -40
  15. package/dist/esm/busy-indicator/index.js +1 -33
  16. package/dist/esm/button/index.js +1 -25
  17. package/dist/esm/button-toggle/button-toggle/index.js +1 -27
  18. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -26
  19. package/dist/esm/button-toggle/index.js +1 -40
  20. package/dist/esm/calendar/calendar-dropdown/index.js +1 -30
  21. package/dist/esm/calendar/calendar-menu/index.js +1 -43
  22. package/dist/esm/calendar/core/index.js +1 -7
  23. package/dist/esm/calendar/index.js +1 -194
  24. package/dist/esm/card/index.js +1 -16
  25. package/dist/esm/checkbox/index.js +1 -39
  26. package/dist/esm/chip-field/index.js +1 -46
  27. package/dist/esm/chips/chip/index.js +1 -37
  28. package/dist/esm/chips/chip-set/index.js +1 -37
  29. package/dist/esm/chips/index.js +1 -50
  30. package/dist/esm/chunks/chunk.23VA56ZY.js +7 -0
  31. package/dist/esm/chunks/{chunk.M3O5VPDD.js.map → chunk.23VA56ZY.js.map} +1 -1
  32. package/dist/esm/chunks/chunk.24D46RLZ.js +7 -0
  33. package/dist/esm/chunks/{chunk.HZISALRH.js.map → chunk.24D46RLZ.js.map} +1 -1
  34. package/dist/esm/chunks/chunk.2A3CKLXJ.js +7 -0
  35. package/dist/esm/chunks/{chunk.U5ECVIX5.js.map → chunk.2A3CKLXJ.js.map} +1 -1
  36. package/dist/esm/chunks/chunk.2GY2VPJG.js +7 -0
  37. package/dist/esm/chunks/{chunk.FWJ7SIFA.js.map → chunk.2GY2VPJG.js.map} +1 -1
  38. package/dist/esm/chunks/chunk.2YGKMENJ.js +7 -0
  39. package/dist/esm/chunks/chunk.2YGKMENJ.js.map +7 -0
  40. package/dist/esm/chunks/chunk.33Q5FK2H.js +7 -0
  41. package/dist/esm/chunks/{chunk.LX2HDAIF.js.map → chunk.33Q5FK2H.js.map} +2 -2
  42. package/dist/esm/chunks/chunk.35U4OX7S.js +7 -0
  43. package/dist/esm/chunks/{chunk.E26BROOG.js.map → chunk.35U4OX7S.js.map} +1 -1
  44. package/dist/esm/chunks/chunk.3E5QKMHL.js +7 -0
  45. package/dist/esm/chunks/{chunk.VK6LIH3B.js.map → chunk.3E5QKMHL.js.map} +1 -1
  46. package/dist/esm/chunks/chunk.444GNOS4.js +7 -0
  47. package/dist/esm/chunks/{chunk.FZ6KICMD.js.map → chunk.444GNOS4.js.map} +1 -1
  48. package/dist/esm/chunks/chunk.54QFNVMG.js +7 -0
  49. package/dist/esm/chunks/{chunk.6ZBFCE2A.js.map → chunk.54QFNVMG.js.map} +1 -1
  50. package/dist/esm/chunks/chunk.57XBS3DF.js +7 -0
  51. package/dist/esm/chunks/chunk.57XBS3DF.js.map +7 -0
  52. package/dist/esm/chunks/chunk.5HUDHTAK.js +7 -0
  53. package/dist/esm/chunks/chunk.5HUDHTAK.js.map +7 -0
  54. package/dist/esm/chunks/chunk.5QK7XR2W.js +7 -0
  55. package/dist/esm/chunks/{chunk.EUPO2VO2.js.map → chunk.5QK7XR2W.js.map} +1 -1
  56. package/dist/esm/chunks/chunk.5SRA2RH3.js +7 -0
  57. package/dist/esm/chunks/chunk.5SRA2RH3.js.map +7 -0
  58. package/dist/esm/chunks/chunk.5WMEFHVN.js +7 -0
  59. package/dist/esm/chunks/{chunk.35BJJH5E.js.map → chunk.5WMEFHVN.js.map} +1 -1
  60. package/dist/esm/chunks/chunk.5XQVZQ4U.js +7 -0
  61. package/dist/esm/chunks/chunk.5XQVZQ4U.js.map +7 -0
  62. package/dist/esm/chunks/chunk.6APYGKNX.js +7 -0
  63. package/dist/esm/chunks/{chunk.ZSHQMR4O.js.map → chunk.6APYGKNX.js.map} +1 -1
  64. package/dist/esm/chunks/chunk.6BKOGBE6.js +7 -0
  65. package/dist/esm/chunks/chunk.6BKOGBE6.js.map +7 -0
  66. package/dist/esm/chunks/chunk.6P6VQMTU.js +7 -0
  67. package/dist/esm/chunks/chunk.6P6VQMTU.js.map +7 -0
  68. package/dist/esm/chunks/chunk.7GT5LOI3.js +7 -0
  69. package/dist/esm/chunks/{chunk.V6Q2SM6Y.js.map → chunk.7GT5LOI3.js.map} +1 -1
  70. package/dist/esm/chunks/chunk.7JTKKFL4.js +7 -0
  71. package/dist/esm/chunks/{chunk.GWNR3UUX.js.map → chunk.7JTKKFL4.js.map} +1 -1
  72. package/dist/esm/chunks/chunk.7NXPOEXV.js +7 -0
  73. package/dist/esm/chunks/{chunk.7UAH67PT.js.map → chunk.7NXPOEXV.js.map} +1 -1
  74. package/dist/esm/chunks/chunk.7TQYFMM4.js +7 -0
  75. package/dist/esm/chunks/{chunk.WSH4S3GM.js.map → chunk.7TQYFMM4.js.map} +1 -1
  76. package/dist/esm/chunks/chunk.7WWP6WI6.js +7 -0
  77. package/dist/esm/chunks/chunk.7WWP6WI6.js.map +7 -0
  78. package/dist/esm/chunks/chunk.7ZS4N2FT.js +8 -0
  79. package/dist/esm/chunks/{chunk.WIYLQTSX.js.map → chunk.7ZS4N2FT.js.map} +1 -1
  80. package/dist/esm/chunks/chunk.A23NSEWA.js +7 -0
  81. package/dist/esm/chunks/{chunk.KZATVOA6.js.map → chunk.A23NSEWA.js.map} +1 -1
  82. package/dist/esm/chunks/chunk.A6I4EIPW.js +7 -0
  83. package/dist/esm/chunks/{chunk.L4OUV7W6.js.map → chunk.A6I4EIPW.js.map} +1 -1
  84. package/dist/esm/chunks/chunk.AABG6MSC.js +7 -0
  85. package/dist/esm/chunks/chunk.AABG6MSC.js.map +7 -0
  86. package/dist/esm/chunks/chunk.AFZB3MG5.js +7 -0
  87. package/dist/esm/chunks/{chunk.UQ3QTUUB.js.map → chunk.AFZB3MG5.js.map} +1 -1
  88. package/dist/esm/chunks/chunk.AHOQXJRN.js +7 -0
  89. package/dist/esm/chunks/{chunk.S3UVF647.js.map → chunk.AHOQXJRN.js.map} +1 -1
  90. package/dist/esm/chunks/chunk.AJJILT3A.js +6 -0
  91. package/dist/esm/chunks/{chunk.LM5TVNZY.js.map → chunk.AJJILT3A.js.map} +0 -0
  92. package/dist/esm/chunks/chunk.AMFXGOSA.js +7 -0
  93. package/dist/esm/chunks/{chunk.PBGL3BRX.js.map → chunk.AMFXGOSA.js.map} +1 -1
  94. package/dist/esm/chunks/chunk.AWCBH5KW.js +7 -0
  95. package/dist/esm/chunks/{chunk.RV3E762Y.js.map → chunk.AWCBH5KW.js.map} +1 -1
  96. package/dist/esm/chunks/chunk.B3IJU6XJ.js +7 -0
  97. package/dist/esm/chunks/{chunk.MMIZOYAS.js.map → chunk.B3IJU6XJ.js.map} +1 -1
  98. package/dist/esm/chunks/chunk.B5ABD4CZ.js +7 -0
  99. package/dist/esm/chunks/{chunk.WDD2GTIH.js.map → chunk.B5ABD4CZ.js.map} +1 -1
  100. package/dist/esm/chunks/chunk.BCUBTR5O.js +7 -0
  101. package/dist/esm/chunks/{chunk.3EHQ3YHJ.js.map → chunk.BCUBTR5O.js.map} +1 -1
  102. package/dist/esm/chunks/chunk.BSZ2LBJX.js +7 -0
  103. package/dist/esm/chunks/{chunk.35U3UPDV.js.map → chunk.BSZ2LBJX.js.map} +1 -1
  104. package/dist/esm/chunks/chunk.CSOY4C7A.js +7 -0
  105. package/dist/esm/chunks/{chunk.KNR5DXE4.js.map → chunk.CSOY4C7A.js.map} +1 -1
  106. package/dist/esm/chunks/chunk.CV5E5W6I.js +7 -0
  107. package/dist/esm/chunks/{chunk.YL2NAVJW.js.map → chunk.CV5E5W6I.js.map} +2 -2
  108. package/dist/esm/chunks/chunk.D3DLVPPE.js +7 -0
  109. package/dist/esm/chunks/{chunk.5U6ZT6MC.js.map → chunk.D3DLVPPE.js.map} +1 -1
  110. package/dist/esm/chunks/chunk.D4SNVKDA.js +14 -0
  111. package/dist/esm/chunks/{chunk.BYN27JXZ.js.map → chunk.D4SNVKDA.js.map} +1 -1
  112. package/dist/esm/chunks/chunk.DGDT4UQT.js +7 -0
  113. package/dist/esm/chunks/{chunk.IBED5TWL.js.map → chunk.DGDT4UQT.js.map} +1 -1
  114. package/dist/esm/chunks/chunk.DGOV5RDW.js +29 -0
  115. package/dist/esm/chunks/{chunk.TYU4RLZG.js.map → chunk.DGOV5RDW.js.map} +1 -1
  116. package/dist/esm/chunks/chunk.DGQAYNAF.js +7 -0
  117. package/dist/esm/chunks/{chunk.GHZ75UPO.js.map → chunk.DGQAYNAF.js.map} +1 -1
  118. package/dist/esm/chunks/chunk.DIYJJHWP.js +7 -0
  119. package/dist/esm/chunks/{chunk.THKWQXBJ.js.map → chunk.DIYJJHWP.js.map} +1 -1
  120. package/dist/esm/chunks/chunk.DJSOBAWA.js +7 -0
  121. package/dist/esm/chunks/{chunk.67B6JDOJ.js.map → chunk.DJSOBAWA.js.map} +1 -1
  122. package/dist/esm/chunks/chunk.DRFU6POI.js +7 -0
  123. package/dist/esm/chunks/{chunk.DLF5JAQO.js.map → chunk.DRFU6POI.js.map} +2 -2
  124. package/dist/esm/chunks/chunk.DVYJDQ55.js +7 -0
  125. package/dist/esm/chunks/chunk.DVYJDQ55.js.map +7 -0
  126. package/dist/esm/chunks/chunk.E37HEAJ5.js +7 -0
  127. package/dist/esm/chunks/{chunk.2NMHSTAO.js.map → chunk.E37HEAJ5.js.map} +3 -3
  128. package/dist/esm/chunks/chunk.E43TT4RI.js +7 -0
  129. package/dist/esm/chunks/{chunk.SNAZ6JSS.js.map → chunk.E43TT4RI.js.map} +1 -1
  130. package/dist/esm/chunks/chunk.EC6JSIQW.js +7 -0
  131. package/dist/esm/chunks/{chunk.EY57VTRF.js.map → chunk.EC6JSIQW.js.map} +1 -1
  132. package/dist/esm/chunks/chunk.EM3OQRZP.js +7 -0
  133. package/dist/esm/chunks/chunk.EM3OQRZP.js.map +7 -0
  134. package/dist/esm/chunks/chunk.ESW45SN4.js +7 -0
  135. package/dist/esm/chunks/chunk.ESW45SN4.js.map +7 -0
  136. package/dist/esm/chunks/chunk.F5I55MXD.js +7 -0
  137. package/dist/esm/chunks/chunk.F5I55MXD.js.map +7 -0
  138. package/dist/esm/chunks/chunk.G5BCWBD5.js +7 -0
  139. package/dist/esm/chunks/{chunk.EBC2HGO3.js.map → chunk.G5BCWBD5.js.map} +1 -1
  140. package/dist/esm/chunks/chunk.G76HB2FK.js +7 -0
  141. package/dist/esm/chunks/{chunk.MEFT5FQC.js.map → chunk.G76HB2FK.js.map} +1 -1
  142. package/dist/esm/chunks/chunk.GP7WDYWQ.js +7 -0
  143. package/dist/esm/chunks/chunk.GP7WDYWQ.js.map +7 -0
  144. package/dist/esm/chunks/chunk.GVQVA7P3.js +7 -0
  145. package/dist/esm/chunks/{chunk.6EGTLHJS.js.map → chunk.GVQVA7P3.js.map} +2 -2
  146. package/dist/esm/chunks/chunk.HN4PXH3D.js +7 -0
  147. package/dist/esm/chunks/{chunk.K2PCTUVN.js.map → chunk.HN4PXH3D.js.map} +1 -1
  148. package/dist/esm/chunks/chunk.I33ZJKOX.js +7 -0
  149. package/dist/esm/chunks/{chunk.TM46MNYN.js.map → chunk.I33ZJKOX.js.map} +1 -1
  150. package/dist/esm/chunks/chunk.IBQVV4HR.js +7 -0
  151. package/dist/esm/chunks/{chunk.MBZLA635.js.map → chunk.IBQVV4HR.js.map} +2 -2
  152. package/dist/esm/chunks/chunk.IGMTMR3D.js +7 -0
  153. package/dist/esm/chunks/{chunk.RD4RIFOZ.js.map → chunk.IGMTMR3D.js.map} +1 -1
  154. package/dist/esm/chunks/chunk.IJIKFXUT.js +7 -0
  155. package/dist/esm/chunks/{chunk.K7OLG7CS.js.map → chunk.IJIKFXUT.js.map} +1 -1
  156. package/dist/esm/chunks/chunk.IMK2LFWR.js +7 -0
  157. package/dist/esm/chunks/{chunk.Q4YMHFRY.js.map → chunk.IMK2LFWR.js.map} +1 -1
  158. package/dist/esm/chunks/chunk.J6ERQLHJ.js +7 -0
  159. package/dist/esm/chunks/chunk.J6ERQLHJ.js.map +7 -0
  160. package/dist/esm/chunks/chunk.JXQZMASB.js +7 -0
  161. package/dist/esm/chunks/{chunk.QYWAZCBX.js.map → chunk.JXQZMASB.js.map} +1 -1
  162. package/dist/esm/chunks/chunk.K43ZNKT2.js +7 -0
  163. package/dist/esm/chunks/{chunk.7FWTBD6Y.js.map → chunk.K43ZNKT2.js.map} +1 -1
  164. package/dist/esm/chunks/chunk.K753A3KI.js +29 -0
  165. package/dist/esm/chunks/{chunk.ZXIDTDRC.js.map → chunk.K753A3KI.js.map} +1 -1
  166. package/dist/esm/chunks/chunk.KLHXGSZU.js +7 -0
  167. package/dist/esm/chunks/{chunk.VXVE7KEM.js.map → chunk.KLHXGSZU.js.map} +1 -1
  168. package/dist/esm/chunks/chunk.KZHMDZVS.js +29 -0
  169. package/dist/esm/chunks/{chunk.ITQ55IPH.js.map → chunk.KZHMDZVS.js.map} +1 -1
  170. package/dist/esm/chunks/chunk.LZMYHIO2.js +7 -0
  171. package/dist/esm/chunks/{chunk.GS2AXUCN.js.map → chunk.LZMYHIO2.js.map} +1 -1
  172. package/dist/esm/chunks/chunk.MCIQXNKY.js +7 -0
  173. package/dist/esm/chunks/chunk.MCIQXNKY.js.map +7 -0
  174. package/dist/esm/chunks/chunk.MGTNCCW3.js +7 -0
  175. package/dist/esm/chunks/{chunk.KCVJDJ6K.js.map → chunk.MGTNCCW3.js.map} +1 -1
  176. package/dist/esm/chunks/chunk.MIYZJUXH.js +7 -0
  177. package/dist/esm/chunks/{chunk.WT4W2IFT.js.map → chunk.MIYZJUXH.js.map} +1 -1
  178. package/dist/esm/chunks/chunk.MTMZFAWU.js +7 -0
  179. package/dist/esm/chunks/chunk.MTMZFAWU.js.map +7 -0
  180. package/dist/esm/chunks/chunk.NEGJYSPB.js +7 -0
  181. package/dist/esm/chunks/chunk.NEGJYSPB.js.map +7 -0
  182. package/dist/esm/chunks/chunk.NGIBMR3Q.js +7 -0
  183. package/dist/esm/chunks/{chunk.4PF7WRP4.js.map → chunk.NGIBMR3Q.js.map} +1 -1
  184. package/dist/esm/chunks/chunk.NJHQA266.js +7 -0
  185. package/dist/esm/chunks/chunk.NJHQA266.js.map +7 -0
  186. package/dist/esm/chunks/chunk.O3G6ZLJN.js +7 -0
  187. package/dist/esm/chunks/{chunk.4WLVFWKI.js.map → chunk.O3G6ZLJN.js.map} +1 -1
  188. package/dist/esm/chunks/chunk.OAP3JDBS.js +12 -0
  189. package/dist/esm/chunks/chunk.OAP3JDBS.js.map +7 -0
  190. package/dist/esm/chunks/chunk.OHCHNL3V.js +7 -0
  191. package/dist/esm/chunks/{chunk.HASAPJMX.js.map → chunk.OHCHNL3V.js.map} +1 -1
  192. package/dist/esm/chunks/chunk.OOBE3XRM.js +29 -0
  193. package/dist/esm/chunks/{chunk.HMM7PGGZ.js.map → chunk.OOBE3XRM.js.map} +1 -1
  194. package/dist/esm/chunks/chunk.OUEF6VQ6.js +7 -0
  195. package/dist/esm/chunks/{chunk.OXS2O7RG.js.map → chunk.OUEF6VQ6.js.map} +2 -2
  196. package/dist/esm/chunks/chunk.PBTGGYKX.js +29 -0
  197. package/dist/esm/chunks/{chunk.V2ELLBDP.js.map → chunk.PBTGGYKX.js.map} +1 -1
  198. package/dist/esm/chunks/chunk.PYG4YVBA.js +73 -0
  199. package/dist/esm/chunks/chunk.PYG4YVBA.js.map +7 -0
  200. package/dist/esm/chunks/chunk.QJPH24V4.js +7 -0
  201. package/dist/esm/chunks/{chunk.GXTNND2M.js.map → chunk.QJPH24V4.js.map} +1 -1
  202. package/dist/esm/chunks/chunk.QXLPBYMX.js +7 -0
  203. package/dist/esm/chunks/{chunk.56BNM7F2.js.map → chunk.QXLPBYMX.js.map} +1 -1
  204. package/dist/esm/chunks/chunk.QZHEP4X2.js +29 -0
  205. package/dist/esm/chunks/{chunk.5VKAVHLM.js.map → chunk.QZHEP4X2.js.map} +1 -1
  206. package/dist/esm/chunks/chunk.R46EDURP.js +7 -0
  207. package/dist/esm/chunks/{chunk.JKC5PU23.js.map → chunk.R46EDURP.js.map} +1 -1
  208. package/dist/esm/chunks/chunk.R4NDFXVA.js +7 -0
  209. package/dist/esm/chunks/{chunk.4JURZYE4.js.map → chunk.R4NDFXVA.js.map} +1 -1
  210. package/dist/esm/chunks/chunk.RS5NH2NG.js +7 -0
  211. package/dist/esm/chunks/{chunk.PKZ43JNW.js.map → chunk.RS5NH2NG.js.map} +2 -2
  212. package/dist/esm/chunks/chunk.RZL6S3K3.js +7 -0
  213. package/dist/esm/chunks/chunk.RZL6S3K3.js.map +7 -0
  214. package/dist/esm/chunks/chunk.SFFYXKJW.js +7 -0
  215. package/dist/esm/chunks/{chunk.MUP3NY6M.js.map → chunk.SFFYXKJW.js.map} +2 -2
  216. package/dist/esm/chunks/chunk.SHT6BCLY.js +7 -0
  217. package/dist/esm/chunks/{chunk.BLZJIYMG.js.map → chunk.SHT6BCLY.js.map} +1 -1
  218. package/dist/esm/chunks/chunk.SNGELGOD.js +7 -0
  219. package/dist/esm/chunks/{chunk.5OYAJ36F.js.map → chunk.SNGELGOD.js.map} +1 -1
  220. package/dist/esm/chunks/{chunk.LCWRP2UI.js → chunk.STS5TIUV.js} +2 -32
  221. package/dist/esm/chunks/chunk.STS5TIUV.js.map +7 -0
  222. package/dist/esm/chunks/chunk.SVGEVCXA.js +7 -0
  223. package/dist/esm/chunks/{chunk.VHO7NUMI.js.map → chunk.SVGEVCXA.js.map} +1 -1
  224. package/dist/esm/chunks/chunk.UNTTQM6V.js +7 -0
  225. package/dist/esm/chunks/chunk.UNTTQM6V.js.map +7 -0
  226. package/dist/esm/chunks/chunk.URBXDOF7.js +7 -0
  227. package/dist/esm/chunks/{chunk.ELAJS33V.js.map → chunk.URBXDOF7.js.map} +1 -1
  228. package/dist/esm/chunks/chunk.UUX4QJ4D.js +7 -0
  229. package/dist/esm/chunks/{chunk.BKMWXPAS.js.map → chunk.UUX4QJ4D.js.map} +1 -1
  230. package/dist/esm/chunks/chunk.VEVOKTUX.js +7 -0
  231. package/dist/esm/chunks/{chunk.UPW5HUKB.js.map → chunk.VEVOKTUX.js.map} +1 -1
  232. package/dist/esm/chunks/chunk.VLTJFKGZ.js +7 -0
  233. package/dist/esm/chunks/{chunk.NX5SKZLU.js.map → chunk.VLTJFKGZ.js.map} +1 -1
  234. package/dist/esm/chunks/chunk.VMWS5OOZ.js +7 -0
  235. package/dist/esm/chunks/{chunk.QXZZ2MTF.js.map → chunk.VMWS5OOZ.js.map} +1 -1
  236. package/dist/esm/chunks/chunk.W7UTHKBF.js +7 -0
  237. package/dist/esm/chunks/chunk.W7UTHKBF.js.map +7 -0
  238. package/dist/esm/chunks/chunk.WAEWHBHE.js +7 -0
  239. package/dist/esm/chunks/{chunk.LK2DN5KX.js.map → chunk.WAEWHBHE.js.map} +1 -1
  240. package/dist/esm/chunks/chunk.WGE5R5JK.js +7 -0
  241. package/dist/esm/chunks/chunk.WGE5R5JK.js.map +7 -0
  242. package/dist/esm/chunks/chunk.WKKNDQYZ.js +7 -0
  243. package/dist/esm/chunks/chunk.WKKNDQYZ.js.map +7 -0
  244. package/dist/esm/chunks/chunk.WMO47F6Z.js +7 -0
  245. package/dist/esm/chunks/{chunk.CLEUHAZ6.js.map → chunk.WMO47F6Z.js.map} +1 -1
  246. package/dist/esm/chunks/{chunk.IUNON3UL.js → chunk.WNOSTPQQ.js} +2 -253
  247. package/dist/esm/chunks/{chunk.IUNON3UL.js.map → chunk.WNOSTPQQ.js.map} +1 -1
  248. package/dist/esm/chunks/chunk.WSGJIPQJ.js +7 -0
  249. package/dist/esm/chunks/{chunk.J5NUYQ4D.js.map → chunk.WSGJIPQJ.js.map} +1 -1
  250. package/dist/esm/chunks/chunk.WYVYTAFS.js +7 -0
  251. package/dist/esm/chunks/chunk.WYVYTAFS.js.map +7 -0
  252. package/dist/esm/chunks/chunk.WZRXUTYC.js +7 -0
  253. package/dist/esm/chunks/{chunk.2WBHHTUM.js.map → chunk.WZRXUTYC.js.map} +1 -1
  254. package/dist/esm/chunks/chunk.X2RP4QW3.js +6 -0
  255. package/dist/esm/chunks/chunk.X2RP4QW3.js.map +7 -0
  256. package/dist/esm/chunks/chunk.X77WVI2H.js +7 -0
  257. package/dist/esm/chunks/{chunk.ANME7BKM.js.map → chunk.X77WVI2H.js.map} +1 -1
  258. package/dist/esm/chunks/chunk.XURVHDKR.js +7 -0
  259. package/dist/esm/chunks/{chunk.3QXCVTCP.js.map → chunk.XURVHDKR.js.map} +1 -1
  260. package/dist/esm/chunks/chunk.XXA6KNXT.js +7 -0
  261. package/dist/esm/chunks/{chunk.I7BQUB7Z.js.map → chunk.XXA6KNXT.js.map} +1 -1
  262. package/dist/esm/chunks/chunk.XYBFFTXS.js +29 -0
  263. package/dist/esm/chunks/{chunk.WNVZQDNS.js.map → chunk.XYBFFTXS.js.map} +1 -1
  264. package/dist/esm/chunks/chunk.YFIDBZ7V.js +7 -0
  265. package/dist/esm/chunks/{chunk.ZLF2G3YT.js.map → chunk.YFIDBZ7V.js.map} +1 -1
  266. package/dist/esm/chunks/chunk.YHHIPP2F.js +7 -0
  267. package/dist/esm/chunks/{chunk.QHHYCB7N.js.map → chunk.YHHIPP2F.js.map} +1 -1
  268. package/dist/esm/chunks/chunk.ZHCQBWAG.js +7 -0
  269. package/dist/esm/chunks/{chunk.BEAJZPWS.js.map → chunk.ZHCQBWAG.js.map} +1 -1
  270. package/dist/esm/circular-progress/index.js +1 -22
  271. package/dist/esm/color-picker/index.js +1 -44
  272. package/dist/esm/core/base/index.js +1 -15
  273. package/dist/esm/core/delegates/index.js +1 -14
  274. package/dist/esm/core/index.js +1 -83
  275. package/dist/esm/core/mask/index.js +1 -20
  276. package/dist/esm/core/utils/index.js +1 -46
  277. package/dist/esm/date-picker/index.js +1 -57
  278. package/dist/esm/date-range-picker/index.js +1 -59
  279. package/dist/esm/dialog/index.js +1 -39
  280. package/dist/esm/divider/index.js +1 -16
  281. package/dist/esm/drawer/base/index.js +1 -20
  282. package/dist/esm/drawer/drawer/index.js +1 -20
  283. package/dist/esm/drawer/index.js +1 -51
  284. package/dist/esm/drawer/mini-drawer/index.js +1 -20
  285. package/dist/esm/drawer/modal-drawer/index.js +1 -25
  286. package/dist/esm/expansion-panel/index.js +1 -33
  287. package/dist/esm/file-picker/index.js +1 -36
  288. package/dist/esm/floating-action-button/index.js +1 -23
  289. package/dist/esm/floating-label/index.js +1 -17
  290. package/dist/esm/icon/index.js +1 -48
  291. package/dist/esm/icon-button/index.js +1 -32
  292. package/dist/esm/index.js +1 -1275
  293. package/dist/esm/inline-message/index.js +1 -16
  294. package/dist/esm/keyboard-shortcut/index.js +1 -35
  295. package/dist/esm/label-value/index.js +1 -26
  296. package/dist/esm/linear-progress/index.js +1 -18
  297. package/dist/esm/list/index.js +1 -38
  298. package/dist/esm/list/list/index.js +1 -27
  299. package/dist/esm/list/list-item/index.js +1 -25
  300. package/dist/esm/list-dropdown/index.js +1 -50
  301. package/dist/esm/menu/index.js +1 -48
  302. package/dist/esm/open-icon/index.js +1 -32
  303. package/dist/esm/page-state/index.js +1 -16
  304. package/dist/esm/paginator/index.js +1 -63
  305. package/dist/esm/popup/index.js +1 -25
  306. package/dist/esm/product-icon/index.js +1 -23
  307. package/dist/esm/profile-card/index.js +1 -33
  308. package/dist/esm/quantity-field/index.js +1 -41
  309. package/dist/esm/radio/index.js +1 -20
  310. package/dist/esm/ripple/index.js +1 -26
  311. package/dist/esm/scaffold/index.js +1 -16
  312. package/dist/esm/select/core/index.js +1 -55
  313. package/dist/esm/select/index.js +1 -109
  314. package/dist/esm/select/option/index.js +1 -22
  315. package/dist/esm/select/option-group/index.js +1 -16
  316. package/dist/esm/select/select/index.js +1 -58
  317. package/dist/esm/select/select-dropdown/index.js +1 -54
  318. package/dist/esm/skeleton/index.js +1 -16
  319. package/dist/esm/slider/index.js +1 -30
  320. package/dist/esm/split-view/core/index.js +7 -0
  321. package/dist/esm/split-view/core/index.js.map +7 -0
  322. package/dist/esm/split-view/index.js +7 -0
  323. package/dist/esm/split-view/index.js.map +7 -0
  324. package/dist/esm/split-view/split-view/index.js +7 -0
  325. package/dist/esm/split-view/split-view/index.js.map +7 -0
  326. package/dist/esm/split-view/split-view-panel/index.js +7 -0
  327. package/dist/esm/split-view/split-view-panel/index.js.map +7 -0
  328. package/dist/esm/stepper/index.js +1 -50
  329. package/dist/esm/stepper/step/index.js +1 -35
  330. package/dist/esm/stepper/stepper/index.js +1 -38
  331. package/dist/esm/switch/index.js +1 -29
  332. package/dist/esm/table/index.js +1 -52
  333. package/dist/esm/tabs/index.js +1 -56
  334. package/dist/esm/tabs/tab/index.js +1 -27
  335. package/dist/esm/tabs/tab-bar/index.js +1 -42
  336. package/dist/esm/text-field/index.js +1 -33
  337. package/dist/esm/theme/index.js +1 -11
  338. package/dist/esm/time-picker/index.js +1 -87
  339. package/dist/esm/toast/index.js +1 -37
  340. package/dist/esm/toolbar/index.js +1 -16
  341. package/dist/esm/tooltip/index.js +1 -28
  342. package/dist/esm/utils/index.js +1 -11
  343. package/dist/esm/view-switcher/index.js +1 -34
  344. package/dist/esm/view-switcher/view/index.js +1 -16
  345. package/dist/forge.css +1 -1
  346. package/dist/table/forge-table.css +1 -1
  347. package/esm/app-bar/app-bar.d.ts +3 -3
  348. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +6 -1
  349. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +30 -12
  350. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +4 -0
  351. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +2 -0
  352. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +8 -0
  353. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +22 -0
  354. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +4 -0
  355. package/esm/app-bar/profile-button/app-bar-profile-button.js +14 -0
  356. package/esm/autocomplete/autocomplete-adapter.d.ts +2 -0
  357. package/esm/autocomplete/autocomplete-adapter.js +4 -0
  358. package/esm/autocomplete/autocomplete-foundation.d.ts +15 -16
  359. package/esm/autocomplete/autocomplete-foundation.js +21 -13
  360. package/esm/autocomplete/autocomplete.d.ts +9 -9
  361. package/esm/bottom-sheet/bottom-sheet-adapter.js +1 -1
  362. package/esm/calendar/calendar-foundation.d.ts +14 -14
  363. package/esm/calendar/calendar-foundation.js +5 -5
  364. package/esm/calendar/calendar-utils.d.ts +1 -1
  365. package/esm/calendar/calendar-utils.js +1 -1
  366. package/esm/calendar/calendar.d.ts +7 -7
  367. package/esm/calendar/core/calendar-base.d.ts +7 -7
  368. package/esm/chip-field/chip-field-adapter.d.ts +1 -1
  369. package/esm/chip-field/chip-field-adapter.js +2 -2
  370. package/esm/chip-field/chip-field.js +1 -1
  371. package/esm/chips/chip/chip-foundation.d.ts +1 -1
  372. package/esm/chips/chip/chip.d.ts +2 -2
  373. package/esm/chips/chip/chip.js +1 -1
  374. package/esm/color-picker/color-picker-foundation.d.ts +12 -12
  375. package/esm/color-picker/color-picker-foundation.js +1 -1
  376. package/esm/color-picker/color-picker.d.ts +8 -8
  377. package/esm/core/utils/date-utils.d.ts +1 -1
  378. package/esm/core/utils/event-utils.d.ts +1 -0
  379. package/esm/core/utils/event-utils.js +3 -0
  380. package/esm/core/utils/utils.d.ts +36 -0
  381. package/esm/core/utils/utils.js +57 -0
  382. package/esm/date-picker/base/base-date-picker-adapter.d.ts +8 -8
  383. package/esm/date-picker/base/base-date-picker-constants.d.ts +5 -5
  384. package/esm/date-picker/base/base-date-picker-foundation.d.ts +21 -21
  385. package/esm/date-picker/base/base-date-picker.d.ts +8 -8
  386. package/esm/date-picker/date-picker-foundation.d.ts +6 -6
  387. package/esm/date-picker/date-picker-foundation.js +3 -1
  388. package/esm/date-picker/date-picker.d.ts +1 -1
  389. package/esm/date-range-picker/date-range-picker-foundation.d.ts +11 -11
  390. package/esm/date-range-picker/date-range-picker.d.ts +4 -4
  391. package/esm/dialog/dialog-adapter.js +2 -2
  392. package/esm/dialog/dialog-foundation.d.ts +6 -6
  393. package/esm/dialog/dialog-foundation.js +1 -1
  394. package/esm/dialog/dialog.d.ts +4 -4
  395. package/esm/field/field-adapter.d.ts +4 -4
  396. package/esm/field/field-adapter.js +4 -13
  397. package/esm/field/field-foundation.js +2 -2
  398. package/esm/file-picker/file-picker-adapter.d.ts +4 -4
  399. package/esm/file-picker/file-picker-foundation.d.ts +9 -9
  400. package/esm/file-picker/file-picker.d.ts +6 -6
  401. package/esm/floating-label/floating-label-adapter.js +1 -1
  402. package/esm/index.d.ts +1 -0
  403. package/esm/index.js +3 -0
  404. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +3 -3
  405. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +0 -1
  406. package/esm/keyboard-shortcut/keyboard-shortcut-utils.d.ts +1 -1
  407. package/esm/keyboard-shortcut/keyboard-shortcut-utils.js +5 -5
  408. package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +6 -2
  409. package/esm/keyboard-shortcut/keyboard-shortcut.js +7 -0
  410. package/esm/menu/menu.d.ts +2 -2
  411. package/esm/paginator/paginator-foundation.js +15 -12
  412. package/esm/popup/popup.d.ts +3 -3
  413. package/esm/profile-card/profile-card-adapter.d.ts +4 -0
  414. package/esm/profile-card/profile-card-adapter.js +6 -0
  415. package/esm/profile-card/profile-card-constants.d.ts +4 -0
  416. package/esm/profile-card/profile-card-constants.js +5 -1
  417. package/esm/profile-card/profile-card-foundation.d.ts +6 -0
  418. package/esm/profile-card/profile-card-foundation.js +22 -0
  419. package/esm/profile-card/profile-card.d.ts +4 -0
  420. package/esm/profile-card/profile-card.js +15 -1
  421. package/esm/quantity-field/quantity-field-adapter.d.ts +0 -2
  422. package/esm/quantity-field/quantity-field-adapter.js +2 -14
  423. package/esm/quantity-field/quantity-field-foundation.js +0 -1
  424. package/esm/quantity-field/quantity-field.js +1 -1
  425. package/esm/select/select/select.js +1 -1
  426. package/esm/split-view/core/index.d.ts +6 -0
  427. package/esm/split-view/core/index.js +6 -0
  428. package/esm/split-view/core/split-view-base.d.ts +14 -0
  429. package/esm/split-view/core/split-view-base.js +6 -0
  430. package/esm/split-view/index.d.ts +8 -0
  431. package/esm/split-view/index.js +8 -0
  432. package/esm/split-view/split-view/index.d.ts +10 -0
  433. package/esm/split-view/split-view/index.js +14 -0
  434. package/esm/split-view/split-view/split-view-adapter.d.ts +29 -0
  435. package/esm/split-view/split-view/split-view-adapter.js +62 -0
  436. package/esm/split-view/split-view/split-view-constants.d.ts +41 -0
  437. package/esm/split-view/split-view/split-view-constants.js +40 -0
  438. package/esm/split-view/split-view/split-view-foundation.d.ts +86 -0
  439. package/esm/split-view/split-view/split-view-foundation.js +179 -0
  440. package/esm/split-view/split-view/split-view.d.ts +67 -0
  441. package/esm/split-view/split-view/split-view.js +103 -0
  442. package/esm/split-view/split-view-panel/index.d.ts +11 -0
  443. package/esm/split-view/split-view-panel/index.js +15 -0
  444. package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +171 -0
  445. package/esm/split-view/split-view-panel/split-view-panel-adapter.js +295 -0
  446. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +97 -0
  447. package/esm/split-view/split-view-panel/split-view-panel-constants.js +78 -0
  448. package/esm/split-view/split-view-panel/split-view-panel-foundation.d.ts +235 -0
  449. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +667 -0
  450. package/esm/split-view/split-view-panel/split-view-panel-utils.d.ts +130 -0
  451. package/esm/split-view/split-view-panel/split-view-panel-utils.js +300 -0
  452. package/esm/split-view/split-view-panel/split-view-panel.d.ts +105 -0
  453. package/esm/split-view/split-view-panel/split-view-panel.js +173 -0
  454. package/esm/table/table-utils.d.ts +2 -2
  455. package/esm/table/table-utils.js +31 -15
  456. package/esm/table/table.d.ts +2 -2
  457. package/esm/text-field/text-field-adapter.d.ts +1 -1
  458. package/esm/text-field/text-field-adapter.js +2 -2
  459. package/esm/text-field/text-field.js +1 -1
  460. package/esm/time-picker/time-picker-foundation.d.ts +8 -8
  461. package/esm/time-picker/time-picker-foundation.js +4 -4
  462. package/esm/time-picker/time-picker-utils.d.ts +1 -1
  463. package/esm/time-picker/time-picker.d.ts +8 -8
  464. package/esm/tooltip/tooltip.d.ts +1 -1
  465. package/esm/view-switcher/view-switcher.d.ts +2 -2
  466. package/package.json +2 -2
  467. package/styles/chip-field/_base.scss +2 -2
  468. package/styles/chip-field/_selector.scss +1 -1
  469. package/styles/chip-field/_variables.scss +1 -1
  470. package/styles/chips/chip/_mixins.scss +4 -3
  471. package/styles/chips/chip/_variables.scss +3 -2
  472. package/styles/field/_base.scss +16 -4
  473. package/styles/field/_selector.scss +4 -4
  474. package/styles/quantity-field/_mixins.scss +1 -1
  475. package/styles/select/select/_selector.scss +1 -1
  476. package/styles/split-view/split-view/_mixins.scss +48 -0
  477. package/styles/split-view/split-view/split-view.scss +25 -0
  478. package/styles/split-view/split-view-panel/_mixins.scss +260 -0
  479. package/styles/split-view/split-view-panel/_variables.scss +7 -0
  480. package/styles/split-view/split-view-panel/split-view-panel.scss +23 -0
  481. package/styles/table/_mixins.scss +2 -0
  482. package/dist/esm/chunks/chunk.2MBI5DLT.js +0 -439
  483. package/dist/esm/chunks/chunk.2MBI5DLT.js.map +0 -7
  484. package/dist/esm/chunks/chunk.2NMHSTAO.js +0 -1473
  485. package/dist/esm/chunks/chunk.2WBHHTUM.js +0 -200
  486. package/dist/esm/chunks/chunk.35BJJH5E.js +0 -56
  487. package/dist/esm/chunks/chunk.35U3UPDV.js +0 -70
  488. package/dist/esm/chunks/chunk.3EHQ3YHJ.js +0 -52
  489. package/dist/esm/chunks/chunk.3QXCVTCP.js +0 -73
  490. package/dist/esm/chunks/chunk.46BED43J.js +0 -602
  491. package/dist/esm/chunks/chunk.46BED43J.js.map +0 -7
  492. package/dist/esm/chunks/chunk.4HQ5VELO.js +0 -793
  493. package/dist/esm/chunks/chunk.4HQ5VELO.js.map +0 -7
  494. package/dist/esm/chunks/chunk.4JURZYE4.js +0 -410
  495. package/dist/esm/chunks/chunk.4PF7WRP4.js +0 -450
  496. package/dist/esm/chunks/chunk.4WLVFWKI.js +0 -21
  497. package/dist/esm/chunks/chunk.56BNM7F2.js +0 -202
  498. package/dist/esm/chunks/chunk.5OYAJ36F.js +0 -21
  499. package/dist/esm/chunks/chunk.5U6ZT6MC.js +0 -296
  500. package/dist/esm/chunks/chunk.5VKAVHLM.js +0 -610
  501. package/dist/esm/chunks/chunk.67B6JDOJ.js +0 -654
  502. package/dist/esm/chunks/chunk.6EGTLHJS.js +0 -16
  503. package/dist/esm/chunks/chunk.6ZBFCE2A.js +0 -52
  504. package/dist/esm/chunks/chunk.7FWTBD6Y.js +0 -21
  505. package/dist/esm/chunks/chunk.7I2XNJBL.js +0 -593
  506. package/dist/esm/chunks/chunk.7I2XNJBL.js.map +0 -7
  507. package/dist/esm/chunks/chunk.7UAH67PT.js +0 -634
  508. package/dist/esm/chunks/chunk.ANME7BKM.js +0 -293
  509. package/dist/esm/chunks/chunk.BEAJZPWS.js +0 -72
  510. package/dist/esm/chunks/chunk.BKMWXPAS.js +0 -439
  511. package/dist/esm/chunks/chunk.BLZJIYMG.js +0 -55
  512. package/dist/esm/chunks/chunk.BVGJFMEG.js +0 -760
  513. package/dist/esm/chunks/chunk.BVGJFMEG.js.map +0 -7
  514. package/dist/esm/chunks/chunk.BYN27JXZ.js +0 -51
  515. package/dist/esm/chunks/chunk.CLEUHAZ6.js +0 -732
  516. package/dist/esm/chunks/chunk.D33KLIFD.js +0 -422
  517. package/dist/esm/chunks/chunk.D33KLIFD.js.map +0 -7
  518. package/dist/esm/chunks/chunk.DLF5JAQO.js +0 -552
  519. package/dist/esm/chunks/chunk.E26BROOG.js +0 -291
  520. package/dist/esm/chunks/chunk.EBC2HGO3.js +0 -372
  521. package/dist/esm/chunks/chunk.ELAJS33V.js +0 -145
  522. package/dist/esm/chunks/chunk.EUPO2VO2.js +0 -462
  523. package/dist/esm/chunks/chunk.EY57VTRF.js +0 -33
  524. package/dist/esm/chunks/chunk.FJJVIMZ2.js +0 -176
  525. package/dist/esm/chunks/chunk.FJJVIMZ2.js.map +0 -7
  526. package/dist/esm/chunks/chunk.FWJ7SIFA.js +0 -433
  527. package/dist/esm/chunks/chunk.FZ6KICMD.js +0 -297
  528. package/dist/esm/chunks/chunk.GHZ75UPO.js +0 -342
  529. package/dist/esm/chunks/chunk.GS2AXUCN.js +0 -150
  530. package/dist/esm/chunks/chunk.GWNR3UUX.js +0 -658
  531. package/dist/esm/chunks/chunk.GXTNND2M.js +0 -221
  532. package/dist/esm/chunks/chunk.HASAPJMX.js +0 -110
  533. package/dist/esm/chunks/chunk.HAWYW54W.js +0 -728
  534. package/dist/esm/chunks/chunk.HAWYW54W.js.map +0 -7
  535. package/dist/esm/chunks/chunk.HMM7PGGZ.js +0 -505
  536. package/dist/esm/chunks/chunk.HZISALRH.js +0 -20
  537. package/dist/esm/chunks/chunk.I6PJGNJS.js +0 -401
  538. package/dist/esm/chunks/chunk.I6PJGNJS.js.map +0 -7
  539. package/dist/esm/chunks/chunk.I7BQUB7Z.js +0 -212
  540. package/dist/esm/chunks/chunk.IBED5TWL.js +0 -649
  541. package/dist/esm/chunks/chunk.IGBDDH3J.js +0 -1203
  542. package/dist/esm/chunks/chunk.IGBDDH3J.js.map +0 -7
  543. package/dist/esm/chunks/chunk.IJW2YKP3.js +0 -1347
  544. package/dist/esm/chunks/chunk.IJW2YKP3.js.map +0 -7
  545. package/dist/esm/chunks/chunk.ITQ55IPH.js +0 -1335
  546. package/dist/esm/chunks/chunk.J5NUYQ4D.js +0 -840
  547. package/dist/esm/chunks/chunk.JC2PZ4TS.js +0 -463
  548. package/dist/esm/chunks/chunk.JC2PZ4TS.js.map +0 -7
  549. package/dist/esm/chunks/chunk.JKC5PU23.js +0 -42
  550. package/dist/esm/chunks/chunk.K2PCTUVN.js +0 -139
  551. package/dist/esm/chunks/chunk.K7OLG7CS.js +0 -244
  552. package/dist/esm/chunks/chunk.KCVJDJ6K.js +0 -105
  553. package/dist/esm/chunks/chunk.KNR5DXE4.js +0 -445
  554. package/dist/esm/chunks/chunk.KZATVOA6.js +0 -68
  555. package/dist/esm/chunks/chunk.L4OUV7W6.js +0 -236
  556. package/dist/esm/chunks/chunk.LCWRP2UI.js.map +0 -7
  557. package/dist/esm/chunks/chunk.LHWZ4KZU.js +0 -559
  558. package/dist/esm/chunks/chunk.LHWZ4KZU.js.map +0 -7
  559. package/dist/esm/chunks/chunk.LK2DN5KX.js +0 -72
  560. package/dist/esm/chunks/chunk.LM5TVNZY.js +0 -71
  561. package/dist/esm/chunks/chunk.LX2HDAIF.js +0 -458
  562. package/dist/esm/chunks/chunk.M3O5VPDD.js +0 -742
  563. package/dist/esm/chunks/chunk.MBZLA635.js +0 -684
  564. package/dist/esm/chunks/chunk.MEFT5FQC.js +0 -158
  565. package/dist/esm/chunks/chunk.MMIZOYAS.js +0 -147
  566. package/dist/esm/chunks/chunk.MUP3NY6M.js +0 -912
  567. package/dist/esm/chunks/chunk.NX5SKZLU.js +0 -50
  568. package/dist/esm/chunks/chunk.OXS2O7RG.js +0 -476
  569. package/dist/esm/chunks/chunk.PBGL3BRX.js +0 -27
  570. package/dist/esm/chunks/chunk.PKZ43JNW.js +0 -344
  571. package/dist/esm/chunks/chunk.PM7D2SUE.js +0 -297
  572. package/dist/esm/chunks/chunk.PM7D2SUE.js.map +0 -7
  573. package/dist/esm/chunks/chunk.PNKLV3BK.js +0 -513
  574. package/dist/esm/chunks/chunk.PNKLV3BK.js.map +0 -7
  575. package/dist/esm/chunks/chunk.Q4YMHFRY.js +0 -155
  576. package/dist/esm/chunks/chunk.QD7EPCL6.js +0 -144
  577. package/dist/esm/chunks/chunk.QD7EPCL6.js.map +0 -7
  578. package/dist/esm/chunks/chunk.QHHYCB7N.js +0 -56
  579. package/dist/esm/chunks/chunk.QWW6A7AF.js +0 -603
  580. package/dist/esm/chunks/chunk.QWW6A7AF.js.map +0 -7
  581. package/dist/esm/chunks/chunk.QXZZ2MTF.js +0 -52
  582. package/dist/esm/chunks/chunk.QYWAZCBX.js +0 -258
  583. package/dist/esm/chunks/chunk.RD4RIFOZ.js +0 -307
  584. package/dist/esm/chunks/chunk.RL7ZFLMG.js +0 -801
  585. package/dist/esm/chunks/chunk.RL7ZFLMG.js.map +0 -7
  586. package/dist/esm/chunks/chunk.RV3E762Y.js +0 -73
  587. package/dist/esm/chunks/chunk.S3UVF647.js +0 -168
  588. package/dist/esm/chunks/chunk.SNAZ6JSS.js +0 -22
  589. package/dist/esm/chunks/chunk.THKWQXBJ.js +0 -52
  590. package/dist/esm/chunks/chunk.TIUNGGBF.js +0 -964
  591. package/dist/esm/chunks/chunk.TIUNGGBF.js.map +0 -7
  592. package/dist/esm/chunks/chunk.TM46MNYN.js +0 -417
  593. package/dist/esm/chunks/chunk.TYU4RLZG.js +0 -648
  594. package/dist/esm/chunks/chunk.U37G47LH.js +0 -2994
  595. package/dist/esm/chunks/chunk.U37G47LH.js.map +0 -7
  596. package/dist/esm/chunks/chunk.U5ECVIX5.js +0 -561
  597. package/dist/esm/chunks/chunk.UFMUXBT4.js +0 -317
  598. package/dist/esm/chunks/chunk.UFMUXBT4.js.map +0 -7
  599. package/dist/esm/chunks/chunk.UPW5HUKB.js +0 -136
  600. package/dist/esm/chunks/chunk.UQ3QTUUB.js +0 -173
  601. package/dist/esm/chunks/chunk.V2ELLBDP.js +0 -1591
  602. package/dist/esm/chunks/chunk.V6Q2SM6Y.js +0 -187
  603. package/dist/esm/chunks/chunk.VHO7NUMI.js +0 -37
  604. package/dist/esm/chunks/chunk.VK6LIH3B.js +0 -13
  605. package/dist/esm/chunks/chunk.VXAPRFMK.js +0 -978
  606. package/dist/esm/chunks/chunk.VXAPRFMK.js.map +0 -7
  607. package/dist/esm/chunks/chunk.VXVE7KEM.js +0 -248
  608. package/dist/esm/chunks/chunk.WDD2GTIH.js +0 -73
  609. package/dist/esm/chunks/chunk.WIYLQTSX.js +0 -3550
  610. package/dist/esm/chunks/chunk.WNVZQDNS.js +0 -540
  611. package/dist/esm/chunks/chunk.WSH4S3GM.js +0 -507
  612. package/dist/esm/chunks/chunk.WT4W2IFT.js +0 -92
  613. package/dist/esm/chunks/chunk.XE7ZMJBZ.js +0 -2430
  614. package/dist/esm/chunks/chunk.XE7ZMJBZ.js.map +0 -7
  615. package/dist/esm/chunks/chunk.YL2NAVJW.js +0 -244
  616. package/dist/esm/chunks/chunk.ZLF2G3YT.js +0 -350
  617. package/dist/esm/chunks/chunk.ZSHQMR4O.js +0 -59
  618. package/dist/esm/chunks/chunk.ZXIDTDRC.js +0 -419
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/toast/toast-constants.ts", "../../src/toast/toast-adapter.ts", "../../src/toast/toast-foundation.ts", "../../src/toast/toast.ts", "../../src/toast/index.ts"],
4
4
  "sourcesContent": ["import { PopupPlacement } from '../popup/popup-constants';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}toast`;\n\nconst customCssPositionProperties = {\n TOP_MARGIN_TOP: '--forge-toast-top-margin-top',\n BOTTOM_MARGIN_BOTTOM: '--forge-toast-bottom-margin-bottom',\n TOP_LEFT_MARGIN_TOP: '--forge-toast-top-left-margin-top',\n TOP_LEFT_MARGIN_LEFT: '--forge-toast-top-left-margin-left',\n TOP_RIGHT_MARGIN_TOP: '--forge-toast-top-right-margin-top',\n TOP_RIGHT_MARGIN_RIGHT: '--forge-toast-top-right-margin-right',\n BOTTOM_LEFT_MARGIN_BOTTOM: '--forge-toast-bottom-left-margin-bottom',\n BOTTOM_LEFT_MARGIN_LEFT: '--forge-toast-bottom-left-margin-left',\n BOTTOM_RIGHT_MARGIN_RIGHT: '--forge-toast-bottom-right-margin-right',\n BOTTOM_RIGHT_MARGIN_BOTTOM: '--forge-toast-bottom-right-margin-bottom'\n};\n\nconst classes = {\n CONTAINER: 'forge-toast__container',\n MESSAGE: 'forge-toast__message',\n ACTION_BUTTON: 'forge-toast__action-button',\n CLOSE_BUTTON: 'forge-toast__close-button',\n TOP: 'forge-toast__container--top',\n TOP_LEFT: 'forge-toast__container--top-left',\n TOP_RIGHT: 'forge-toast__container--top-right',\n BOTTOM: 'forge-toast__container--bottom',\n BOTTOM_LEFT: 'forge-toast__container--bottom-left',\n BOTTOM_RIGHT: 'forge-toast__container--bottom-right',\n ACTIVE: 'forge-toast__container--active',\n CUSTOM: 'forge-toast__container--custom'\n};\n\nconst selectors = {\n CONTAINER: `.${classes.CONTAINER}`,\n MESSAGE: `.${classes.MESSAGE}`,\n ACTION_BUTTON: `.${classes.ACTION_BUTTON}`,\n CLOSE_BUTTON: `.${classes.CLOSE_BUTTON}`\n};\n\nconst attributes = {\n MESSAGE: 'message',\n ACTION_TEXT: 'action-text',\n DURATION: 'duration',\n PLACEMENT: 'placement',\n SHOW_CLOSE: 'show-close'\n};\n\nconst events = {\n ACTION: `${elementName}-action`,\n CLOSE: `${elementName}-close`\n};\n\nconst defaults = {\n PLACEMENT: 'bottom' as ToastPlacement,\n DURATION: 2750\n};\n\nexport const TOAST_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n defaults,\n events,\n customCssPositionProperties\n};\n\nexport type ToastBuilder = () => HTMLElement | string;\nexport type ToastPlacement = PopupPlacement;\n", "import { getShadowElement, isString, removeAllChildren, removeClass, removeElement, toggleElementPlaceholder } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { PopupPlacement } from '../popup';\nimport { IToastComponent } from './toast';\nimport { TOAST_CONSTANTS } from './toast-constants';\n\nexport interface IToastAdapter extends IBaseAdapter {\n setHostAttribute: (name: string, value: string) => void;\n setMessage: (value: string) => void;\n setMessageTemplate: (tpl: HTMLElement | string) => void;\n setActionVisibility: (isVisible: boolean) => void;\n setActionText: (message: string) => void;\n registerActionListener: (type: string, listener: (evt: MouseEvent) => void) => void;\n deregisterActionListener: (type: string, listener: (evt: MouseEvent) => void) => void;\n setPlacement: (placement: PopupPlacement) => void;\n setActive: (isActive: boolean) => void;\n setCloseButtonVisibility(visible: boolean): void;\n registerCloseListener(listener: (evt: Event) => void): void;\n}\n\n/**\n * The DOM adapter for the `ToastComponent` web component.\n */\nexport class ToastAdapter extends BaseAdapter<IToastComponent> implements IToastAdapter {\n private _containerElement: HTMLElement;\n private _messageElement: HTMLElement;\n private _actionButtonElement: HTMLButtonElement;\n private _actionButtonPlaceholder: Comment;\n private _closeButtonElement: HTMLButtonElement;\n\n constructor(component: IToastComponent) {\n super(component);\n this._containerElement = getShadowElement(component, TOAST_CONSTANTS.selectors.CONTAINER);\n this._messageElement = getShadowElement(component, TOAST_CONSTANTS.selectors.MESSAGE);\n this._actionButtonElement = getShadowElement(component, TOAST_CONSTANTS.selectors.ACTION_BUTTON) as HTMLButtonElement;\n this._closeButtonElement = getShadowElement(component, TOAST_CONSTANTS.selectors.CLOSE_BUTTON) as HTMLButtonElement;\n }\n\n /**\n * Sets an attrinbute on the host element.\n * @param name The attribute name.\n * @param value The attribute value.\n */\n public setHostAttribute(name: string, value: string): void {\n if (this._component.getAttribute(name) !== value) {\n this._component.setAttribute(name, value);\n }\n }\n\n /**\n * Sets the message text on the toast element.\n * @param value The message text.\n */\n public setMessage(value: string): void {\n this._messageElement.innerText = value;\n }\n\n /**\n * Sets a custom template on the message element.\n * @param tpl The message template.\n */\n public setMessageTemplate(tpl: HTMLElement | string): void {\n this._containerElement.classList.add(TOAST_CONSTANTS.classes.CUSTOM);\n if (isString(tpl)) {\n this._component.innerHTML = tpl;\n } else {\n removeAllChildren(this._messageElement);\n this._component.appendChild(tpl);\n }\n }\n\n /**\n * Toggles the visibility of the action button element.\n * @param isVisible The visibility.\n */\n public setActionVisibility(isVisible: boolean): void {\n this._actionButtonPlaceholder = toggleElementPlaceholder(\n this._component,\n isVisible,\n TOAST_CONSTANTS.elementName,\n TOAST_CONSTANTS.selectors.ACTION_BUTTON,\n this._actionButtonElement,\n this._actionButtonPlaceholder\n );\n }\n\n /**\n * Sets the action button text.\n * @param message The message text.\n */\n public setActionText(message: string): void {\n this._actionButtonElement.innerText = message;\n }\n\n /**\n * Adds an event listener to the action button element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public registerActionListener(type: string, listener: (evt: MouseEvent) => void): void {\n this._actionButtonElement.addEventListener(type, listener);\n }\n\n /**\n * Removes an event listener from the action button.\n * @param type The event type.\n * @param listener The event listener.\n */\n public deregisterActionListener(type: string, listener: (evt: MouseEvent) => void): void {\n this._actionButtonElement.removeEventListener(type, listener);\n }\n\n /**\n * Adjusts the class applied to the toast container to position it properly.\n * @param placement The screen placement position.\n */\n public setPlacement(placement: PopupPlacement): void {\n removeClass(\n [\n TOAST_CONSTANTS.classes.TOP,\n TOAST_CONSTANTS.classes.TOP_LEFT,\n TOAST_CONSTANTS.classes.TOP_RIGHT,\n TOAST_CONSTANTS.classes.BOTTOM,\n TOAST_CONSTANTS.classes.BOTTOM_LEFT,\n TOAST_CONSTANTS.classes.BOTTOM_RIGHT\n ],\n this._containerElement\n );\n\n const placementClass = this._getPlacementClass(placement);\n if (placementClass) {\n this._containerElement.classList.add(placementClass);\n }\n }\n\n /**\n * Triggers the addition of classes to the container element to hide or show the toast using CSS transitions.\n * @param isActive Active or not.\n */\n public setActive(isActive: boolean): void {\n if (isActive) {\n // We need to force a reflow here to make sure that our new transform gets applied by the active class\n window.getComputedStyle(this._containerElement).getPropertyValue('bottom');\n this._containerElement.classList.add(TOAST_CONSTANTS.classes.ACTIVE);\n } else {\n this._containerElement.classList.remove(TOAST_CONSTANTS.classes.ACTIVE);\n const animationCompletedListener = (): void => {\n this._containerElement.removeEventListener('transitionend', animationCompletedListener);\n removeElement(this._component);\n };\n this._containerElement.addEventListener('transitionend', animationCompletedListener);\n }\n }\n\n public setCloseButtonVisibility(visible: boolean): void {\n if (visible) {\n this._closeButtonElement.style.removeProperty('display');\n } else {\n this._closeButtonElement.style.display = 'none';\n }\n }\n\n public registerCloseListener(listener: (evt: Event) => void): void {\n this._closeButtonElement.addEventListener('click', listener);\n }\n\n private _getPlacementClass(placement: PopupPlacement): string | null {\n switch (placement) {\n case 'top':\n return TOAST_CONSTANTS.classes.TOP;\n case 'top-start':\n return TOAST_CONSTANTS.classes.TOP_LEFT;\n case 'top-end':\n return TOAST_CONSTANTS.classes.TOP_RIGHT;\n case 'bottom':\n return TOAST_CONSTANTS.classes.BOTTOM;\n case 'bottom-start':\n return TOAST_CONSTANTS.classes.BOTTOM_LEFT;\n case 'bottom-end':\n return TOAST_CONSTANTS.classes.BOTTOM_RIGHT;\n }\n\n return null;\n }\n}\n", "import { ICustomElementFoundation, isFunction } from '@tylertech/forge-core';\nimport { IToastAdapter } from './toast-adapter';\nimport { ToastBuilder, TOAST_CONSTANTS, ToastPlacement } from './toast-constants';\n\nexport interface IToastFoundation extends ICustomElementFoundation {\n message: string;\n actionText: string;\n duration: number;\n placement: ToastPlacement;\n showClose: boolean;\n builder: ToastBuilder | string;\n show(): void;\n hide(): void;\n}\n\n/**\n * The foundation class behind the `ToastComponent` class that manages the state of a toast component instance.\n */\nexport class ToastFoundation implements IToastFoundation {\n private _message: string;\n private _actionText: string;\n private _duration: number = TOAST_CONSTANTS.defaults.DURATION;\n private _placement: ToastPlacement = TOAST_CONSTANTS.defaults.PLACEMENT as ToastPlacement;\n private _showClose = true;\n private _hasAction = false;\n private _isActive = false;\n private _hideTimeout: number | NodeJS.Timer | undefined;\n private _builder: ToastBuilder | string;\n private _actionListener: (evt: MouseEvent) => void;\n private _closeListener: (evt: MouseEvent) => void;\n\n constructor(private _adapter: IToastAdapter) {\n this._actionListener = (evt: MouseEvent) => this._onAction(evt);\n this._closeListener = (evt: MouseEvent) => this._onClose(evt);\n }\n\n public initialize(): void {\n this._adapter.setPlacement(this._placement);\n this._adapter.registerCloseListener(this._closeListener);\n this._adapter.setCloseButtonVisibility(this._showClose);\n this._adapter.setActionVisibility(!!this._actionText);\n this.show();\n }\n\n /**\n * Starts the animation of the toast and hides it after the duration.\n */\n public show(): void {\n // Check if we were provided a builder function and call it if so (this will override the message text)\n if (isFunction(this._builder)) {\n const tpl = (this._builder as ToastBuilder)();\n this._adapter.setMessageTemplate(tpl);\n }\n\n this._isActive = true;\n this._adapter.setActive(true);\n\n if (isFinite(this._duration) && this._duration > 0) {\n this._hideTimeout = setTimeout(() => this.hide(true), this._duration);\n }\n }\n\n /**\n * Hides the toast and removes it from the DOM.\n */\n public hide(emitEvent: boolean = false): void {\n if (!this._isActive) {\n return;\n }\n\n this._isActive = false;\n this._adapter.setActive(false);\n\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout as number);\n this._hideTimeout = undefined;\n }\n\n if (emitEvent) {\n this._adapter.emitHostEvent(TOAST_CONSTANTS.events.CLOSE);\n }\n }\n\n /**\n * Handles click events from the optional action button.\n * @param {MouseEvent} evt The mouse event.\n */\n private _onAction(evt: MouseEvent): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(TOAST_CONSTANTS.events.ACTION);\n }\n\n private _onClose(evt: MouseEvent): void {\n this.hide(true);\n }\n\n /** The message to display in the toast. */\n public get message(): string {\n return this._message;\n }\n public set message(value: string) {\n if (this._message !== value) {\n this._message = value;\n this._adapter.setMessage(this._message);\n this._adapter.setHostAttribute(TOAST_CONSTANTS.attributes.MESSAGE, this._message);\n }\n }\n\n /** The text to display in the action button. */\n public get actionText(): string {\n return this._actionText;\n }\n public set actionText(value: string) {\n if (this._actionText !== value) {\n this._actionText = value;\n\n if (this._actionText) {\n if (this._hasAction) {\n this._adapter.setActionText(this._actionText);\n } else {\n this._adapter.setActionText(this._actionText);\n this._adapter.setActionVisibility(true);\n this._adapter.registerActionListener('click', this._actionListener);\n this._hasAction = true;\n }\n } else if (this._hasAction) {\n this._adapter.setActionText('');\n this._adapter.setActionVisibility(false);\n this._adapter.deregisterActionListener('click', this._actionListener);\n this._hasAction = false;\n }\n\n this._adapter.setHostAttribute(TOAST_CONSTANTS.attributes.ACTION_TEXT, this._actionText);\n }\n }\n\n /** The time in milliseconds to show the toast. */\n public get duration(): number {\n return this._duration;\n }\n public set duration(value: number) {\n if (this._duration !== value) {\n this._duration = value;\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout as number);\n this._hideTimeout = setTimeout(() => this.hide(true), this._duration);\n }\n }\n }\n\n /** The placement of the toast. */\n public get placement(): ToastPlacement {\n return this._placement;\n }\n public set placement(value: ToastPlacement) {\n if (this._placement !== value) {\n this._placement = value;\n this._adapter.setPlacement(this._placement);\n }\n\n this._adapter.setHostAttribute(TOAST_CONSTANTS.attributes.PLACEMENT, this._placement);\n }\n\n public get builder(): ToastBuilder | string {\n return this._builder;\n }\n public set builder(value: ToastBuilder | string) {\n this._builder = value;\n }\n\n public get showClose(): boolean {\n return this._showClose;\n }\n public set showClose(value: boolean) {\n if (this._showClose !== value) {\n this._showClose = value;\n this._adapter.setCloseButtonVisibility(this._showClose);\n this._adapter.setHostAttribute(TOAST_CONSTANTS.attributes.SHOW_CLOSE, this._showClose.toString());\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconClose } from '@tylertech/tyler-icons/standard';\nimport { ButtonComponent } from '../button';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { IconComponent, IconRegistry } from '../icon';\nimport { IconButtonComponent } from '../icon-button';\nimport { ToastAdapter } from './toast-adapter';\nimport { ToastBuilder, ToastPlacement, TOAST_CONSTANTS } from './toast-constants';\nimport { ToastFoundation } from './toast-foundation';\n\nconst template = '<template><div class=\\\"forge-toast__container\\\" aria-live=\\\"assertive\\\" aria-atomic=\\\"true\\\" part=\\\"root\\\"><slot></slot><div class=\\\"forge-toast__message\\\" part=\\\"message\\\"></div><div class=\\\"forge-toast__action-container\\\" part=\\\"action-container\\\"><forge-button part=\\\"action-button\\\"><button type=\\\"button\\\" class=\\\"forge-toast__action-button\\\" part=\\\"action-button-element\\\"></button></forge-button><forge-icon-button part=\\\"close-button\\\"><button type=\\\"button\\\" class=\\\"forge-toast__close-button\\\" aria-label=\\\"Close toast message\\\" part=\\\"close-button-element\\\"><forge-icon name=\\\"close\\\" part=\\\"close-button-icon\\\"></forge-icon></button></forge-icon-button></div></div></template>';\nconst styles = '.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);-webkit-transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color,#fff)}.forge-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle}.forge-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button::-moz-focus-inner{padding:0;border:0}.forge-button:active{outline:0}.forge-button:hover{cursor:pointer}.forge-button:disabled{cursor:default;pointer-events:none}.forge-button .forge-button__icon{margin-left:0;margin-right:8px;display:inline-block;font-size:1.125rem;height:1.125rem;vertical-align:top;width:1.125rem}.forge-button .forge-button__icon[dir=rtl],[dir=rtl] .forge-button .forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button__label~.forge-button__icon{margin-left:0;margin-right:8px}svg.forge-button__icon{fill:currentColor}.forge-button--outlined .forge-button__icon,.forge-button--raised .forge-button__icon,.forge-button--unelevated .forge-button__icon{margin-right:8px}.forge-button--outlined .forge-button__icon[dir=rtl],.forge-button--raised .forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__icon{margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon,.forge-button--raised .forge-button__label~.forge-button__icon,.forge-button--unelevated .forge-button__label~.forge-button__icon{margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--raised .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__label~.forge-button__icon{margin-right:8px}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-button .forge-button__ripple::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-button .forge-button__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button.mdc-ripple-upgraded .forge-button__ripple::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button.mdc-ripple-upgraded--unbounded .forge-button__ripple::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button.mdc-ripple-upgraded--foreground-activation .forge-button__ripple::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-button.mdc-ripple-upgraded--foreground-deactivation .forge-button__ripple::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-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button .forge-button__ripple{position:absolute;-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;overflow:hidden}.forge-button:not(.forge-button--outlined) .forge-button__ripple{top:0;left:0}.forge-button--raised{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1)}.forge-button--raised:focus,.forge-button--raised:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.forge-button--raised:active{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.forge-button--raised:disabled{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.forge-button--outlined{border-style:solid}.forge-button{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 8px 0 8px}.forge-button:not(:disabled){background-color:transparent}.forge-button:disabled{background-color:transparent}.forge-button:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--unelevated:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--unelevated:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--unelevated .forge-button__ripple::after,.forge-button--unelevated .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--unelevated.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--unelevated:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--unelevated.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--unelevated:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--unelevated:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--unelevated:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--unelevated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--unelevated .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--raised:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--raised:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--raised:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--raised .forge-button__ripple::after,.forge-button--raised .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--raised.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--raised:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--raised.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--raised:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--raised:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--raised:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--raised.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--raised .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 15px 0 15px;border-width:1px}.forge-button--outlined:not(:disabled){background-color:transparent}.forge-button--outlined:disabled{background-color:transparent}.forge-button--outlined:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--outlined .forge-button__ripple::after,.forge-button--outlined .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button--outlined.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--outlined:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button--outlined.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--outlined:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button--outlined:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--outlined:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button--outlined.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button--outlined .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--outlined .forge-button__ripple{top:-1px;left:-1px;border:1px solid transparent}.forge-button--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem}forge-button{display:inline-block}forge-button[hidden]{display:none}forge-button[disabled]{cursor:not-allowed}a.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);text-decoration:none}a.forge-hyperlink:visited{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}a.forge-hyperlink[disabled]{pointer-events:none;cursor:default}a.forge-hyperlink:focus,a.forge-hyperlink:hover:not([disabled]){text-decoration:underline}button.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);cursor:pointer;border:none;background-color:transparent;font-size:inherit;padding:0;outline:0;text-align:left}button.forge-hyperlink[disabled]{pointer-events:none;cursor:default}button.forge-hyperlink:hover:not([disabled]){text-decoration:underline}.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-toast__container{z-index:9;z-index:var(--forge-z-index-notification,9);-webkit-box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12);box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12);background-color:#333;background-color:var(--forge-toast-theme-background,#333);display:-webkit-box;display:flex;position:fixed;border-radius:2px;-webkit-transition:-webkit-transform 250ms 0s cubic-bezier(.4, 0, 1, 1);transition:-webkit-transform 250ms 0s cubic-bezier(.4, 0, 1, 1);transition:transform 250ms 0s cubic-bezier(.4, 0, 1, 1);transition:transform 250ms 0s cubic-bezier(.4, 0, 1, 1),-webkit-transform 250ms 0s cubic-bezier(.4, 0, 1, 1);-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-sizing:border-box;box-sizing:border-box;padding:4px 8px 4px 16px;min-height:48px}@media (max-width:599px){.forge-toast__container{bottom:0;width:100%;border-radius:0;-webkit-transform:translateY(100%);transform:translateY(100%)}}.forge-toast__container ::slotted(*){color:rgba(255,255,255,.87);color:var(--forge-toast-theme-on-background,rgba(255,255,255,.87))}@media (min-width:600px){.forge-toast__container{min-width:344px;max-width:568px}.forge-toast__container.forge-toast__container--top,.forge-toast__container.forge-toast__container--top-left,.forge-toast__container.forge-toast__container--top-right{top:0}.forge-toast__container.forge-toast__container--top{left:50%;-webkit-transform:translateX(-50%) translateY(-100%);transform:translateX(-50%) translateY(-100%);margin-top:0;margin-top:var(--forge-toast-top-margin-top,0)}.forge-toast__container.forge-toast__container--bottom{left:50%;-webkit-transform:translateX(-50%) translateY(100%);transform:translateX(-50%) translateY(100%);margin-bottom:0;margin-bottom:var(--forge-toast-bottom-margin-bottom,0)}.forge-toast__container.forge-toast__container--top-left,.forge-toast__container.forge-toast__container--top-right{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.forge-toast__container.forge-toast__container--bottom-left,.forge-toast__container.forge-toast__container--bottom-right{-webkit-transform:translateY(100%);transform:translateY(100%)}.forge-toast__container.forge-toast__container--bottom,.forge-toast__container.forge-toast__container--bottom-left,.forge-toast__container.forge-toast__container--bottom-right{bottom:0}.forge-toast__container.forge-toast__container--bottom-left{margin-bottom:24px;margin-bottom:var(--forge-toast-bottom-left-margin-bottom,24px);margin-left:24px;margin-left:var(--forge-toast-bottom-left-margin-left,24px);left:0}.forge-toast__container.forge-toast__container--bottom-right{margin-bottom:24px;margin-bottom:var(--forge-toast-bottom-right-margin-bottom,24px);margin-right:24px;margin-right:var(--forge-toast-bottom-right-margin-right,24px)}.forge-toast__container.forge-toast__container--top-left{margin-top:24px;margin-top:var(--forge-toast-top-left-margin-top,24px);margin-left:24px;margin-left:var(--forge-toast-top-left-margin-left,24px);left:0}.forge-toast__container.forge-toast__container--top-right{margin-top:24px;margin-top:var(--forge-toast-top-right-margin-top,24px);margin-right:24px;margin-right:var(--forge-toast-top-right-margin-right,24px);right:0}.forge-toast__container.forge-toast__container--bottom-right{margin-bottom:24px;margin-bottom:var(--forge-toast-bottom-right-margin-bottom,24px);margin-right:24px;margin-right:var(--forge-toast-bottom-right-margin-right,24px);right:0}}.forge-toast__container--active{-webkit-transition:-webkit-transform 250ms 0s cubic-bezier(0, 0, .2, 1);transition:-webkit-transform 250ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 250ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 250ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 250ms 0s cubic-bezier(0, 0, .2, 1)}.forge-toast__container--active>.forge-toast__message{opacity:1}.forge-toast__container--active>.forge-toast__action-button{opacity:1}@media (max-width:599px){.forge-toast__container--active{-webkit-transform:translateY(0)!important;transform:translateY(0)!important}}@media (min-width:600px){.forge-toast__container--active.forge-toast__container--bottom,.forge-toast__container--active.forge-toast__container--top{-webkit-transform:translateX(-50%) translateY(0)!important;transform:translateX(-50%) translateY(0)!important}.forge-toast__container--active.forge-toast__container--bottom-left,.forge-toast__container--active.forge-toast__container--bottom-right,.forge-toast__container--active.forge-toast__container--top-left,.forge-toast__container--active.forge-toast__container--top-right{-webkit-transform:translateY(0)!important;transform:translateY(0)!important}}.forge-toast__container--custom{min-width:0;max-width:none}.forge-toast__message{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);color:rgba(255,255,255,.87);color:var(--forge-toast-theme-on-background,rgba(255,255,255,.87));display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-transition:opacity .3s 0s cubic-bezier(.4, 0, 1, 1);transition:opacity .3s 0s cubic-bezier(.4, 0, 1, 1);opacity:0}.forge-toast__action-container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;margin-left:8px}.forge-toast__action-button{--mdc-theme-primary:#ffc107;--mdc-theme-primary:var(--forge-toast-theme-action, #ffc107)}.forge-toast__close-button{color:rgba(255,255,255,.87);color:var(--forge-toast-theme-on-background,rgba(255,255,255,.87));margin-left:8px}.forge-toast__close-button::after,.forge-toast__close-button::before{background-color:rgba(255,255,255,.87);background-color:var(--forge-toast-theme-on-background,rgba(255,255,255,.87))}:host{display:inline-block}:host([hidden]){display:none}';\n\nexport interface IToastComponent extends IBaseComponent {\n message: string;\n actionText: string;\n duration: number;\n placement: ToastPlacement;\n showClose: boolean;\n builder: ToastBuilder | string;\n hide(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-toast': IToastComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-toast-action': CustomEvent<void>;\n 'forge-toast-close': CustomEvent<void>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-toast>` web component.\n * \n * @tag forge-toast\n */\n@CustomElement({\n name: TOAST_CONSTANTS.elementName,\n dependencies: [\n ButtonComponent,\n IconButtonComponent,\n IconComponent\n ]\n})\nexport class ToastComponent extends BaseComponent implements IToastComponent {\n public static get observedAttributes(): string[] {\n return [\n TOAST_CONSTANTS.attributes.MESSAGE,\n TOAST_CONSTANTS.attributes.ACTION_TEXT,\n TOAST_CONSTANTS.attributes.DURATION,\n TOAST_CONSTANTS.attributes.PLACEMENT,\n TOAST_CONSTANTS.attributes.SHOW_CLOSE\n ];\n }\n\n private _foundation: ToastFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconClose);\n attachShadowTemplate(this, template, styles);\n this._foundation = new ToastFoundation(new ToastAdapter(this));\n }\n\n public initializedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case TOAST_CONSTANTS.attributes.MESSAGE:\n this.message = newValue;\n break;\n case TOAST_CONSTANTS.attributes.ACTION_TEXT:\n this.actionText = newValue;\n break;\n case TOAST_CONSTANTS.attributes.DURATION:\n const value = Number(newValue);\n this.duration = value && value > 0 ? value : TOAST_CONSTANTS.defaults.DURATION;\n break;\n case TOAST_CONSTANTS.attributes.PLACEMENT:\n this.placement = newValue as ToastPlacement || TOAST_CONSTANTS.defaults.PLACEMENT;\n break;\n case TOAST_CONSTANTS.attributes.SHOW_CLOSE:\n this.showClose = coerceBoolean(newValue);\n break;\n }\n }\n\n /** The message to display in the toast. */\n @FoundationProperty()\n public message: string;\n\n /** The text to display in the action button. */\n @FoundationProperty()\n public actionText: string;\n\n /** The time in milliseconds to show the toast. */\n @FoundationProperty()\n public duration: number;\n\n /** The placement of the toast. */\n @FoundationProperty()\n public placement: ToastPlacement;\n\n /** Sets the toast builder function for displaying custom content. */\n @FoundationProperty()\n public builder: ToastBuilder | string;\n\n /** Controls the visibility of the close button. */\n @FoundationProperty()\n public showClose: boolean;\n\n /** Hides the toast and removes it from the DOM. */\n public hide(): void {\n this._foundation.hide();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ToastComponent } from './toast';\n\nexport * from './toast-adapter';\nexport * from './toast-constants';\nexport * from './toast-foundation';\nexport * from './toast';\n\nexport function defineToastComponent(): void {\n defineCustomElement(ToastComponent);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{b as U}from"./chunk.BCUBTR5O.js";import{a as b,f as M,g as P,h as Y}from"./chunk.WSGJIPQJ.js";import{b as q}from"./chunk.B5ABD4CZ.js";import{d as H}from"./chunk.IGMTMR3D.js";import{d as O}from"./chunk.F5I55MXD.js";import{a as t}from"./chunk.R46EDURP.js";import{c as I}from"./chunk.D3DLVPPE.js";import{e as z}from"./chunk.7JTKKFL4.js";import{a as L}from"./chunk.EC6JSIQW.js";import{d as N}from"./chunk.K753A3KI.js";import{b as B}from"./chunk.OHCHNL3V.js";import{e as F}from"./chunk.DRFU6POI.js";import{b as R}from"./chunk.G5BCWBD5.js";import{c as w,g as k,h as A}from"./chunk.LZMYHIO2.js";import{d as D,l as C}from"./chunk.7TQYFMM4.js";import{a as n}from"./chunk.B3IJU6XJ.js";import{a as T,b as S}from"./chunk.BSZ2LBJX.js";import{a as E,e as x,g as f}from"./chunk.HN4PXH3D.js";import{o as y,t as s,u as d}from"./chunk.R4NDFXVA.js";import{b as v,k as c}from"./chunk.G76HB2FK.js";import{f as a}from"./chunk.MCIQXNKY.js";var W=`${S}select`,h={ROOT:"forge-select",OPENED:"forge-select--opened",SELECTED_TEXT:"forge-select__selected-text",DROPDOWN:"forge-select__dropdown",LABEL_FLOAT:"forge-select--label-float",GROUP_WRAPPER:"forge-select__group-wrapper"},V={ROOT:`.${h.ROOT}`,SELECTED_TEXT:`.${h.SELECTED_TEXT}`,LABEL:"label#select-label",LEADING_SLOT:"slot[name=leading]",ADDON_END_SLOT:"slot[name=addon-end]"},G={TYPE:"type",VALUE:"value",LABEL:"label",MULTIPLE:"multiple",DISABLED:"disabled",PLACEHOLDER:"placeholder",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold"},X={SCROLLED_BOTTOM:`${W}-scrolled-bottom`},o={elementName:W,classes:h,selectors:V,attributes:G,events:X};var g=class extends Y{constructor(e){super(e);this._selectElement=f(e,o.selectors.ROOT),this._leadingSlot=f(e,o.selectors.LEADING_SLOT),this._addonEndSlot=f(this._component,o.selectors.ADDON_END_SLOT),this._selectedTextElement=f(e,o.selectors.SELECTED_TEXT),this._targetElement=this._selectElement}initializeLabel(){this._labelElement=f(this._component,o.selectors.LABEL)}hasLabel(){return!!this._labelElement}initializeAccessibility(){this._component.setAttribute("role","combobox"),this._component.setAttribute("aria-haspopup","true"),this._component.setAttribute("aria-expanded","false"),(!this._component.hasAttribute("tabindex")||this._component.tabIndex===-1)&&(this._component.tabIndex=0)}initializeFloatingLabel(){return new O(this._labelElement)}setLabel(e){(!this._component.hasAttribute("aria-label")||this._component.getAttribute("aria-label")===this._labelElement.textContent)&&this._component.setAttribute("aria-label",e),this._labelElement.textContent=e}addRootClass(e){this._selectElement.classList.add(e)}removeRootClass(e){this._selectElement.classList.remove(e)}setPlaceholderText(e){d(this._selectedTextElement,!!e,"placeholder",e)}addClickListener(e){this._component.addEventListener("click",e)}removeClickListener(e){this._component.removeEventListener("click",e)}addMouseDownListener(e){this._component.addEventListener("mousedown",e)}removeMouseDownListener(e){this._component.removeEventListener("mousedown",e)}addTargetListener(e,i){this._component.addEventListener(e,i)}removeTargetListener(e,i){this._component.removeEventListener(e,i)}open(e){super.open(e),this._component.setAttribute("aria-controls",`list-dropdown-popup-${e.id}`),this._component.setAttribute("aria-expanded","true"),s(this._selectElement,!0,o.classes.OPENED)}close(){this._component.setAttribute("aria-expanded","false"),this._component.removeAttribute("aria-activedescendant"),this._component.removeAttribute("aria-controls"),s(this._selectElement,!1,o.classes.OPENED),super.close()}updateActiveDescendant(e){d(this._component,!!e,"aria-activedescendant",e)}setSelectedText(e){this._selectedTextElement.textContent=e}setLeadingListener(e){this._leadingSlot.addEventListener("slotchange",e)}removeLeadingListener(e){this._leadingSlot.removeEventListener("slotchange",e)}setAddonEndListener(e){this._addonEndSlot.addEventListener("slotchange",e)}removeAddonEndListener(e){this._addonEndSlot.removeEventListener("slotchange",e)}hasLeadingElement(){return this._leadingSlot.assignedNodes().length>0}setDisabled(e){s(this._selectElement,e,t.classes.DISABLED),d(this._component,e,"aria-disabled","true"),this._component.tabIndex=e?-1:0}setInvalid(e){s(this._selectElement,e,t.classes.INVALID),d(this._component,e,"aria-invalid","true")}setRequired(e){s(this._selectElement,e,t.classes.REQUIRED),d(this._component,e,"aria-required","true")}setRoomy(e){s(this._selectElement,e,t.classes.ROOMY)}setDense(e){s(this._selectElement,e,t.classes.DENSE)}setMultiple(e){e?this.setHostAttribute("aria-multiselectable","true"):this.removeHostAttribute("aria-multiselectable")}getLabelWidth(e,i){return y(this._labelElement.innerText,{fontSize:e,fontFamily:i})}getLabelFontMetrics(){let e=getComputedStyle(this._labelElement);return{fontSize:parseInt(e.fontSize||"16",10),fontFamily:e.fontFamily||"Roboto"}}getTargetWidth(){return this._selectElement.getBoundingClientRect().width}hasAddonEndNodes(){return this._addonEndSlot?this._addonEndSlot.assignedNodes().length>0:!1}setFocus(){this._component.focus()}isWithinSelf(e){return!!this._component.shadowRoot&&this._component.shadowRoot.contains(e)||this._component.contains(e)}};var p=class extends M{constructor(e){super(e);this._shape="default";this._label="";this._disabled=!1;this._invalid=!1;this._required=!1;this._floatLabelType="auto";this._density="default";this._isInitialized=!1;this._leadingChangeListener=i=>this._onLeadingSlotChanged(i),this._addonEndChangeListener=i=>this._onAddonEndSlotChanged(i),this._targetWidthCallback=()=>this._adapter.getTargetWidth(),this._mousedownListener=i=>this._onMouseDown(i)}initialize(){super.initialize(),super.initializeTarget(),this._initializeLabel(),this._initializeAccessibility(),this._adapter.setPlaceholderText(this._placeholder),this._applyDensity(),this._setShapeType(),this._detectLeadingElement(),this._detectAddonEndContent(),this._adapter.addMouseDownListener(this._mousedownListener),this._adapter.setLeadingListener(this._leadingChangeListener),this._adapter.setAddonEndListener(this._addonEndChangeListener),this._disabled&&this._adapter.setDisabled(!0),this._invalid&&this._adapter.setInvalid(!0),this._isInitialized=!0}disconnect(){super.disconnect(),this._adapter.removeMouseDownListener(this._mousedownListener),this._adapter.removeLeadingListener(this._leadingChangeListener),this._adapter.removeAddonEndListener(this._leadingChangeListener),this._floatingLabelInstance&&(this._floatingLabelInstance.destroy(),this._floatingLabelInstance=void 0)}_initializeLabel(){if(this._adapter.initializeLabel(),this._updateLabel(),this._floatingLabelInstance=this._adapter.initializeFloatingLabel(),this._floatLabelType==="always")this._floatLabel(!0);else{let e=!!this._getSelectedText(),i=!!this._placeholder;this._floatLabel(e||i)}}_destroyLabel(){this._floatingLabelInstance&&(this._floatingLabelInstance.destroy(),this._floatingLabelInstance=void 0)}_initializeValue(){super._initializeValue(),this._selectedValues.length&&this._floatLabel(!0)}_initializeAccessibility(){this._adapter.setMultiple(this._multiple),this._required&&this._adapter.setHostAttribute("aria-required","true"),this._disabled&&this._adapter.setHostAttribute("aria-disabled","true"),this._invalid&&this._adapter.setHostAttribute("aria-invalid","true")}_onMouseDown(e){this._adapter.isWithinSelf(e.target)&&e.preventDefault()}_onLeadingSlotChanged(e){this._detectLeadingElement()}_onAddonEndSlotChanged(e){this._detectAddonEndContent()}_detectLeadingElement(){this._adapter.hasLeadingElement()?this._adapter.addRootClass(t.classes.LEADING):this._adapter.removeRootClass(t.classes.LEADING)}_detectAddonEndContent(){this._adapter.hasAddonEndNodes()?this._adapter.addRootClass(t.classes.ADDON_END):this._adapter.removeRootClass(t.classes.ADDON_END)}_onClick(e){this._disabled||L(e).find(r=>r.classList&&r.classList.contains(t.classes.ADDON_END_CONTAINER))||(this.setFocus(),super._onClick(e))}_onFocus(e){this._disabled||(this._setFocused(),super._onFocus(e))}_floatLabel(e){!this._floatingLabelInstance||(e?this._adapter.addRootClass(o.classes.LABEL_FLOAT):this._adapter.removeRootClass(o.classes.LABEL_FLOAT),this._floatLabelType==="always"&&(e=!0),this._floatingLabelInstance.float(e,this._floatLabelType==="always"))}_onBlur(e){super._onBlur(e),this._setBlurred()}_onDismiss(){super._onDismiss(),this._setBlurred()}_onDropdownScrollEnd(){this._adapter.emitHostEvent(o.events.SCROLLED_BOTTOM)}async _onSelect(e,i,r=!0){let u=await super._onSelect(e,i,r);return u&&(this._adapter.setSelectedText(this._getSelectedText()),r&&!this._multiple&&this._adapter.setFocus()),u}_setFocused(){this._adapter.addRootClass(t.classes.FOCUSED),this._floatLabel(!0)}_setBlurred(){var e;this._adapter.removeRootClass(t.classes.FOCUSED),!this._selectedValues.length&&!((e=this._placeholder)!=null&&e.length)&&this._floatLabel(!1)}_reset(){var e;super._reset(),this._adapter.setSelectedText(""),this._floatLabel(!((e=this._placeholder)!=null&&e.length))}_updateLabel(){this._adapter.hasLabel()&&this._adapter.setLabel(this._label),this._label&&this._density!=="dense"?this._adapter.addRootClass(t.classes.LABEL):this._adapter.removeRootClass(t.classes.LABEL)}_applyValue(e){super._applyValue(e);let i=this._getSelectedText();this._adapter.setSelectedText(i),this._open||this._floatLabel(!!i||!!this._placeholder)}_applyDensity(){this._adapter.setRoomy(this._density==="roomy"),this._adapter.setDense(this._density==="dense")}_setShapeType(){this._shape==="rounded"?this._adapter.addRootClass(t.classes.SHAPE_ROUNDED):this._adapter.removeRootClass(t.classes.SHAPE_ROUNDED)}setFocus(){this._adapter.setFocus()}get label(){return this._label}set label(e){this._label!==e&&(this._label=e,this._updateLabel(),this._label?(this._initializeLabel(),this._adapter.setHostAttribute(o.attributes.LABEL,this._label)):(this._destroyLabel(),this.required=!1,this._adapter.removeHostAttribute(o.attributes.LABEL)))}get shape(){return this._shape}set shape(e){this._shape!==e&&(this._shape=e,this._isInitialized&&this._setShapeType(),this._adapter.setHostAttribute(t.attributes.SHAPE,this._shape))}get disabled(){return this._disabled}set disabled(e){this._disabled!==e&&(this._disabled=e,this._adapter.setDisabled(this._disabled),this._initializeLabel())}get invalid(){return this._invalid}set invalid(e){this._invalid!==e&&(this._invalid=e,this._adapter.setInvalid(this._invalid))}get required(){return this._required}set required(e){this._required!==e&&(this._required=e,this._adapter.setRequired(this._required),this._adapter.toggleHostAttribute(t.attributes.REQUIRED,this._required))}get density(){return this._density}set density(e){this._density!==e&&(this._density=e,this._applyDensity(),this._adapter.setHostAttribute(t.attributes.DENSITY,this._density.toString()),this._initializeLabel())}get floatLabelType(){return this._floatLabelType}set floatLabelType(e){this._floatLabelType!==e&&(this._floatLabelType=e,this._floatLabel(this._floatLabelType==="always"||!!this._placeholder),this._adapter.setHostAttribute(t.attributes.FLOAT_LABEL_TYPE,v(this._floatLabelType)?this._floatLabelType.toString():""))}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder!==e&&(this._placeholder=e,this._adapter.setPlaceholderText(this._placeholder),this._initializeLabel())}};var $='<template><div class="forge-select__wrapper" part="root"><div class="forge-select forge-field" part="container"><div class="forge-select__leading-container" part="leading-container"><slot name="leading"></slot></div><div class="forge-field__label-input-container" part="label-input-container"><div id="selected-text" class="forge-select__selected-text" part="text"></div><label id="select-label" aria-hidden="true" part="label"></label></div><forge-icon class="forge-select__dropdown-icon" name="arrow_drop_down" part="icon"></forge-icon><div class="forge-field__addon-end-container" part="addon-end-container"><slot name="addon-end"></slot></div></div><slot name="helper-text"></slot></div></template>',Q='.forge-select{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;z-index:1;z-index:var(--forge-z-index-surface,1);margin-top:0;margin-top:var(--forge-select-margin-top,0)}.forge-select.forge-field--disabled{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);cursor:not-allowed}.forge-select:not(.forge-field--dense):not(.forge-field--roomy){height:3rem;height:var(--forge-select-height,3rem)}.forge-select.forge-field--roomy:not(.forge-field--dense){height:3.5rem;height:var(--forge-select-height,3.5rem)}.forge-select.forge-field--dense:not(.forge-field--roomy){height:1.5rem;height:var(--forge-select-height,1.5rem)}.forge-field::before{content:"";display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;z-index:-1;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;max-width:100%;height:100%;pointer-events:none;border-style:solid;border-width:1px;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);background-color:transparent;background-color:var(--forge-select-theme-background,transparent);text-align:left}.forge-field[dir=rtl]::before,[dir=rtl] .forge-field::before{text-align:right}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused)::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-icon-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused):hover::before{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled)::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-field--invalid:not(.forge-field--disabled)::before{border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-field--invalid:not(.forge-field--disabled):not(.forge-field--focused):hover::before{border-color:#db8a98;border-color:var(--forge-theme-error-hover,#db8a98)}.forge-field--disabled::before{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--shape-rounded){border-radius:4px}.forge-field:not(.forge-field--shape-rounded)::before{border-radius:4px}.forge-field--shape-rounded{border-radius:28px}.forge-field--shape-rounded::before{border-radius:28px}.forge-field--disabled::before{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-field--focused::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);border-width:2px}.forge-field__label-input-container{position:relative;-webkit-box-flex:1;flex:1 1 0.0001px;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;min-width:0}.forge-field~::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;height:auto}.forge-field~::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field--roomy:not(.forge-field--dense)~::slotted([slot=helper-text]){font-size:.875rem}.forge-field--dense:not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field~::slotted([slot=helper-text]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled)~::slotted([slot=helper-text]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field:not(.forge-field--shape-rounded)~::slotted([slot=helper-text]){margin-left:12px}.forge-field--shape-rounded~::slotted([slot=helper-text]){margin-left:32px}.forge-field ::slotted([slot=leading]){display:-webkit-box;display:flex;align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=leading]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=leading]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=leading]){margin:0 4px}.forge-field ::slotted([slot=leading]:not(forge-icon-button)){padding:6px}.forge-field__addon-end-container{display:none}.forge-field--addon-end .forge-field__addon-end-container{height:100%;width:auto;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 4px;border-left-width:1px;border-left-style:solid;-webkit-transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.54);border-left-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container:hover{border-left-color:rgba(0,0,0,.87);border-left-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#3f51b5;border-left-color:var(--mdc-theme-primary,#3f51b5)}.forge-field.forge-field--invalid:not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#b00020;border-left-color:var(--mdc-theme-error,#b00020)}.forge-field.forge-field--invalid:not(.forge-field--focused):not(.forge-field--disabled) .forge-field__addon-end-container:hover{border-left-color:#db8a98;border-left-color:var(--forge-theme-error-hover,#db8a98)}.forge-field.forge-field--disabled .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.12);border-left-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=addon-end]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=addon-end]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=addon-end]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-select__leading-container{display:-webkit-box;display:flex;align-self:center}.forge-field label{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65));pointer-events:none;right:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);font-size:var(--mdc-typography-subtitle1-font-size, 1rem);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.1rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;-webkit-transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field label[dir=rtl],[dir=rtl] .forge-field label{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.forge-field--dense:not(.forge-field--roomy) label{display:none}.forge-field--required label::after{content:none}.forge-field--required label::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:"*";margin-right:4px}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{font-size:1rem}.forge-field--roomy:not(.forge-field--dense) label{font-size:1rem}.forge-field--disabled label{color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-field--invalid:not(.forge-field--disabled) label{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{top:1rem}.forge-field--roomy:not(.forge-field--dense) label{top:1.285rem}.forge-field:not(.forge-field--shape-rounded):not(.forge-field--leading) label{left:12px!important}.forge-field--shape-rounded:not(.forge-field--leading) label{left:32px!important}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end):not(.forge-field--shape-rounded) label{padding-right:12px}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end).forge-field--shape-rounded label{padding-right:32px}.forge-field label.forge-floating-label--float-above{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65))}.forge-field--disabled label.forge-floating-label--float-above{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-field--invalid:not(.forge-field--disabled) label.forge-floating-label--float-above{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label.forge-floating-label--float-above{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above{-webkit-transform:translateY(-.54rem) scale(.8125);transform:translateY(-.54rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above{-webkit-transform:translateY(-.72rem) scale(.8125);transform:translateY(-.72rem) scale(.8125);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.62rem) scale(1);transform:translateY(-.62rem) scale(1);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.8rem) scale(1);transform:translateY(-.8rem) scale(1);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.62rem) scale(.8125);transform:translateY(-.62rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.8rem) scale(.8125);transform:translateY(-.8rem) scale(.8125);cursor:auto}.forge-field .forge-select__selected-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));display:block;overflow:hidden;text-overflow:ellipsis;align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;white-space:nowrap;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0;font-size:var(--forge-select-font-size, 1rem);padding:0 12px;padding-right:0}.forge-field:not(.forge-field--disabled) .forge-select__selected-text{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--disabled .forge-select__selected-text{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{font-size:1rem;font-size:var(--forge-select-font-size, 1rem)}.forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{font-size:1rem;font-size:var(--forge-select-font-size, 1rem)}.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{font-size:.875rem;font-size:var(--forge-select-font-size, .875rem)}.forge-field .forge-select__selected-text{padding:0 12px}.forge-field--label .forge-select__selected-text{padding-top:24px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-top:29px}.forge-field--shape-rounded:not(.forge-field--leading) .forge-select__selected-text{padding-left:32px}.forge-field--leading .forge-select__selected-text{padding-left:0}.forge-field--label .forge-select__selected-text{padding-bottom:3px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-bottom:8px}.forge-field:not(.forge-field--label):not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height, 3rem)}.forge-field:not(.forge-field--label).forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{line-height:var(--forge-select-height-roomy, 3.5rem)}.forge-field:not(.forge-field--label).forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height-dense, 1.5rem)}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{padding:0 8px}.forge-field .forge-select__selected-text:empty::before{content:attr(placeholder);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field .forge-select--label .forge-select__selected-text{padding-top:25px}.forge-field .forge-select__dropdown-icon{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:24px;height:100%;-webkit-box-flex:0;flex:none;-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);pointer-events:none;margin-right:8px}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) .forge-select__dropdown-icon{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) .forge-select__dropdown-icon{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled .forge-select__dropdown-icon{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__dropdown-icon{margin-right:4px}:host{display:block;contain:layout}:host(:focus){outline:0}:host([hidden]){display:none}',l=class extends P{constructor(){super();D.define([w,A,k]),x(this,$,Q),this._foundation=new p(new g(this))}static get observedAttributes(){return[t.attributes.DENSITY,t.attributes.FLOAT_LABEL_TYPE,t.attributes.SHAPE,t.attributes.INVALID,t.attributes.REQUIRED,o.attributes.LABEL,o.attributes.MULTIPLE,o.attributes.VALUE,o.attributes.DISABLED,o.attributes.PLACEHOLDER,o.attributes.OBSERVE_SCROLL,o.attributes.OBSERVE_SCROLL_THRESHOLD,b.attributes.POPUP_CLASSES,b.attributes.OPTION_LIMIT,b.attributes.SYNC_POPUP_WIDTH]}attributeChangedCallback(e,i,r){switch(e){case t.attributes.DENSITY:this.density=r;return;case t.attributes.FLOAT_LABEL_TYPE:this.floatLabelType=r;return;case t.attributes.SHAPE:this.shape=r;break;case t.attributes.INVALID:this.invalid=c(r);return;case t.attributes.REQUIRED:this.required=c(r);return;case o.attributes.LABEL:this.label=r;return;case o.attributes.DISABLED:this.disabled=c(r);return;case o.attributes.PLACEHOLDER:this.placeholder=r;return}super.attributeChangedCallback(e,i,r)}};a([n()],l.prototype,"label",2),a([n()],l.prototype,"disabled",2),a([n()],l.prototype,"invalid",2),a([n()],l.prototype,"required",2),a([n()],l.prototype,"density",2),a([n()],l.prototype,"floatLabelType",2),a([n()],l.prototype,"shape",2),a([n()],l.prototype,"placeholder",2),l=a([T({name:o.elementName,dependencies:[H,q,F,I,z,N,C,U,B,R]})],l);function Ue(){E(l)}export{o as a,g as b,p as c,l as d,Ue as e};
7
+ //# sourceMappingURL=chunk.IBQVV4HR.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/select/select/select-constants.ts", "../../src/select/select/select-adapter.ts", "../../src/select/select/select-foundation.ts", "../../src/select/select/select.ts", "../../src/select/select/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}select`;\n\nconst classes = {\n ROOT: 'forge-select',\n OPENED: 'forge-select--opened',\n SELECTED_TEXT: 'forge-select__selected-text',\n DROPDOWN: 'forge-select__dropdown',\n LABEL_FLOAT: 'forge-select--label-float',\n GROUP_WRAPPER: 'forge-select__group-wrapper'\n};\n\nconst selectors = {\n ROOT: `.${classes.ROOT}`,\n SELECTED_TEXT: `.${classes.SELECTED_TEXT}`,\n LABEL: 'label#select-label',\n LEADING_SLOT: 'slot[name=leading]',\n ADDON_END_SLOT: 'slot[name=addon-end]'\n};\n\nconst attributes = {\n TYPE: 'type',\n VALUE: 'value',\n LABEL: 'label',\n MULTIPLE: 'multiple',\n DISABLED: 'disabled',\n PLACEHOLDER: 'placeholder',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SCROLLED_BOTTOM: `${elementName}-scrolled-bottom`\n};\n\nexport const SELECT_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events\n};\n\nexport {\n FieldDensityType as SelectDensityType,\n FieldFloatLabelType as SelectFloatLabelType,\n FieldShapeType as SelectShapeType\n} from '../../field/field-constants';\n", "import { calculateFontWidth, getShadowElement, IFontInfo, toggleClass, toggleAttribute } from '@tylertech/forge-core';\nimport { FloatingLabel, IFloatingLabel } from '../../floating-label/floating-label';\nimport { ISelectComponent } from './select';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { IBaseSelectAdapter, BaseSelectAdapter } from '../core';\nimport { IListDropdownConfig } from '../../list-dropdown/list-dropdown-constants';\nimport { FIELD_CONSTANTS } from '../../field/field-constants';\n\nexport type OptionListenerDestructor = () => void;\n\nexport interface ISelectAdapter extends IBaseSelectAdapter {\n initializeFloatingLabel(): IFloatingLabel;\n initializeLabel(): void;\n hasLabel(): boolean;\n setLabel(value: string): void;\n addRootClass(name: string): void;\n removeRootClass(name: string): void;\n setPlaceholderText(value: string): void;\n setSelectedText(value: string): void;\n addMouseDownListener(listener: (evt: MouseEvent) => void): void;\n removeMouseDownListener(listener: (evt: MouseEvent) => void): void;\n setLeadingListener(listener: (evt: Event) => void): void;\n removeLeadingListener(listener: (evt: Event) => void): void;\n setAddonEndListener(listener: (evt: Event) => void): void;\n removeAddonEndListener(listener: (evt: Event) => void): void;\n hasLeadingElement(): boolean;\n setDisabled(isDisabled: boolean): void;\n setInvalid(isInvalid: boolean): void;\n setRequired(isRequired: boolean): void;\n setRoomy(isRoomy: boolean): void;\n setDense(isDense: boolean): void;\n getLabelWidth(fontSize: number, fontFamily: string): number;\n getLabelFontMetrics(): IFontInfo;\n getTargetWidth(): number;\n hasAddonEndNodes(): boolean;\n setFocus(): void;\n isWithinSelf(element: HTMLElement): boolean;\n}\n\n/**\n * The DOM adapter behind the `<forge-select>` component.\n */\nexport class SelectAdapter extends BaseSelectAdapter implements ISelectAdapter {\n private _selectElement: HTMLElement;\n private _labelElement: HTMLLabelElement;\n private _selectedTextElement: HTMLElement;\n private _leadingSlot: HTMLSlotElement;\n private _addonEndSlot: HTMLSlotElement;\n\n constructor(component: ISelectComponent) {\n super(component);\n this._selectElement = getShadowElement(component, SELECT_CONSTANTS.selectors.ROOT);\n this._leadingSlot = getShadowElement(component, SELECT_CONSTANTS.selectors.LEADING_SLOT) as HTMLSlotElement;\n this._addonEndSlot = getShadowElement(this._component, SELECT_CONSTANTS.selectors.ADDON_END_SLOT) as HTMLSlotElement;\n this._selectedTextElement = getShadowElement(component, SELECT_CONSTANTS.selectors.SELECTED_TEXT) as HTMLElement;\n this._targetElement = this._selectElement;\n }\n\n public initializeLabel(): void {\n this._labelElement = getShadowElement(this._component, SELECT_CONSTANTS.selectors.LABEL) as HTMLLabelElement;\n }\n\n public hasLabel(): boolean {\n return !!this._labelElement;\n }\n\n public initializeAccessibility(): void {\n this._component.setAttribute('role', 'combobox');\n this._component.setAttribute('aria-haspopup', 'true');\n this._component.setAttribute('aria-expanded', 'false');\n\n // We need to ensure the host element receives a non-negative tabindex for our interactions to work properly\n if (!this._component.hasAttribute('tabindex') || this._component.tabIndex === -1) {\n this._component.tabIndex = 0;\n }\n }\n\n public initializeFloatingLabel(): IFloatingLabel {\n return new FloatingLabel(this._labelElement);\n }\n\n public setLabel(value: string): void {\n if (!this._component.hasAttribute('aria-label') || this._component.getAttribute('aria-label') === this._labelElement.textContent) {\n this._component.setAttribute('aria-label', value);\n }\n this._labelElement.textContent = value;\n }\n\n public addRootClass(name: string): void {\n this._selectElement.classList.add(name);\n }\n\n public removeRootClass(name: string): void {\n this._selectElement.classList.remove(name);\n }\n\n public setPlaceholderText(value: string): void {\n toggleAttribute(this._selectedTextElement, !!value, 'placeholder', value);\n }\n\n public addClickListener(listener: (evt: Event) => void): void {\n this._component.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: Event) => void): void {\n this._component.removeEventListener('click', listener);\n }\n\n public addMouseDownListener(listener: (evt: MouseEvent) => void): void {\n this._component.addEventListener('mousedown', listener);\n }\n\n public removeMouseDownListener(listener: (evt: MouseEvent) => void): void {\n this._component.removeEventListener('mousedown', listener);\n }\n\n public addTargetListener(type: string, listener: (evt: Event) => void): void {\n this._component.addEventListener(type, listener);\n }\n\n public removeTargetListener(type: string, listener: (evt: Event) => void): void {\n this._component.removeEventListener(type, listener);\n }\n\n public open(config: IListDropdownConfig): void {\n super.open(config);\n this._component.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n this._component.setAttribute('aria-expanded', 'true');\n toggleClass(this._selectElement, true, SELECT_CONSTANTS.classes.OPENED);\n }\n\n public close(): void {\n this._component.setAttribute('aria-expanded', 'false');\n this._component.removeAttribute('aria-activedescendant');\n this._component.removeAttribute('aria-controls');\n toggleClass(this._selectElement, false, SELECT_CONSTANTS.classes.OPENED);\n super.close();\n }\n\n public updateActiveDescendant(id: string): void {\n toggleAttribute(this._component, !!id, 'aria-activedescendant', id);\n }\n\n public setSelectedText(value: string): void {\n this._selectedTextElement.textContent = value;\n }\n\n public setLeadingListener(listener: (evt: Event) => void): void {\n this._leadingSlot.addEventListener('slotchange', listener);\n }\n\n public removeLeadingListener(listener: (evt: Event) => void): void {\n this._leadingSlot.removeEventListener('slotchange', listener);\n }\n\n public setAddonEndListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.addEventListener('slotchange', listener);\n }\n\n public removeAddonEndListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.removeEventListener('slotchange', listener);\n }\n\n public hasLeadingElement(): boolean {\n return this._leadingSlot.assignedNodes().length > 0;\n }\n\n public setDisabled(isDisabled: boolean): void {\n toggleClass(this._selectElement, isDisabled, FIELD_CONSTANTS.classes.DISABLED);\n toggleAttribute(this._component, isDisabled, 'aria-disabled', 'true');\n this._component.tabIndex = isDisabled ? -1 : 0;\n }\n\n public setInvalid(isInvalid: boolean): void {\n toggleClass(this._selectElement, isInvalid, FIELD_CONSTANTS.classes.INVALID);\n toggleAttribute(this._component, isInvalid, 'aria-invalid', 'true');\n }\n\n public setRequired(isRequired: boolean): void {\n toggleClass(this._selectElement, isRequired, FIELD_CONSTANTS.classes.REQUIRED);\n toggleAttribute(this._component, isRequired, 'aria-required', 'true');\n }\n\n public setRoomy(isRoomy: boolean): void {\n toggleClass(this._selectElement, isRoomy, FIELD_CONSTANTS.classes.ROOMY);\n }\n\n public setDense(isDense: boolean): void {\n toggleClass(this._selectElement, isDense, FIELD_CONSTANTS.classes.DENSE);\n }\n\n public setMultiple(multiple: boolean): void {\n if (multiple) {\n this.setHostAttribute('aria-multiselectable', 'true');\n } else {\n this.removeHostAttribute('aria-multiselectable');\n }\n }\n\n public getLabelWidth(fontSize: number, fontFamily: string): number {\n return calculateFontWidth(this._labelElement.innerText, { fontSize, fontFamily });\n }\n\n public getLabelFontMetrics(): IFontInfo {\n const style = getComputedStyle(this._labelElement);\n return {\n fontSize: parseInt(style.fontSize || '16', 10),\n fontFamily: style.fontFamily || 'Roboto'\n };\n }\n\n public getTargetWidth(): number {\n return this._selectElement.getBoundingClientRect().width;\n }\n\n public hasAddonEndNodes(): boolean {\n if (!this._addonEndSlot) {\n return false;\n }\n return this._addonEndSlot.assignedNodes().length > 0;\n }\n\n public setFocus(): void {\n this._component.focus();\n }\n\n public isWithinSelf(element: HTMLElement): boolean {\n const isShadowChild = !!this._component.shadowRoot && this._component.shadowRoot.contains(element);\n return isShadowChild || this._component.contains(element);\n }\n}\n", "import { isDefined, getEventPath } from '@tylertech/forge-core';\nimport { IBaseSelectFoundation, ISelectOption, BaseSelectFoundation } from '../core';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { IFloatingLabel } from '../../floating-label';\nimport { ISelectAdapter } from './select-adapter';\nimport { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from '../../field/field-constants';\n\nexport interface ISelectFoundation extends IBaseSelectFoundation {\n label: string;\n disabled: boolean;\n density: FieldDensityType;\n invalid: boolean;\n required: boolean;\n floatLabelType: FieldFloatLabelType;\n placeholder: string;\n}\n\n/**\n * The foundation class behind the `<forge-select>` component.\n */\nexport class SelectFoundation extends BaseSelectFoundation<ISelectAdapter> implements ISelectFoundation {\n private _floatingLabelInstance: IFloatingLabel | undefined;\n private _shape: FieldShapeType = 'default';\n private _label = '';\n private _disabled = false;\n private _invalid = false;\n private _required = false;\n private _floatLabelType: FieldFloatLabelType = 'auto';\n private _placeholder: string;\n private _density: FieldDensityType = 'default';\n private _isInitialized = false;\n private _leadingChangeListener: (evt: Event) => void;\n private _addonEndChangeListener: (evt: Event) => void;\n private _mousedownListener: (evt: MouseEvent) => void;\n\n constructor(adapter: ISelectAdapter) {\n super(adapter);\n this._leadingChangeListener = evt => this._onLeadingSlotChanged(evt);\n this._addonEndChangeListener = evt => this._onAddonEndSlotChanged(evt);\n this._targetWidthCallback = () => this._adapter.getTargetWidth();\n this._mousedownListener = evt => this._onMouseDown(evt);\n }\n\n public initialize(): void {\n super.initialize();\n super.initializeTarget();\n this._initializeLabel();\n this._initializeAccessibility();\n\n this._adapter.setPlaceholderText(this._placeholder);\n this._applyDensity();\n this._setShapeType();\n\n this._detectLeadingElement();\n this._detectAddonEndContent();\n this._adapter.addMouseDownListener(this._mousedownListener);\n this._adapter.setLeadingListener(this._leadingChangeListener);\n this._adapter.setAddonEndListener(this._addonEndChangeListener);\n\n if (this._disabled) {\n this._adapter.setDisabled(true);\n }\n\n if (this._invalid) {\n this._adapter.setInvalid(true);\n }\n\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n super.disconnect();\n this._adapter.removeMouseDownListener(this._mousedownListener);\n this._adapter.removeLeadingListener(this._leadingChangeListener);\n this._adapter.removeAddonEndListener(this._leadingChangeListener);\n\n if (this._floatingLabelInstance) {\n this._floatingLabelInstance.destroy();\n this._floatingLabelInstance = undefined;\n }\n }\n\n private _initializeLabel(): void {\n this._adapter.initializeLabel();\n this._updateLabel();\n this._floatingLabelInstance = this._adapter.initializeFloatingLabel();\n if (this._floatLabelType === 'always') {\n this._floatLabel(true);\n } else {\n const hasText = !!this._getSelectedText();\n const hasPlaceholder = !!this._placeholder;\n this._floatLabel(hasText || hasPlaceholder);\n }\n }\n\n private _destroyLabel(): void {\n if (this._floatingLabelInstance) {\n this._floatingLabelInstance.destroy();\n this._floatingLabelInstance = undefined;\n }\n }\n\n protected _initializeValue(): void {\n super._initializeValue();\n if (this._selectedValues.length) {\n this._floatLabel(true);\n }\n }\n\n private _initializeAccessibility(): void {\n this._adapter.setMultiple(this._multiple);\n if (this._required) {\n this._adapter.setHostAttribute('aria-required', 'true');\n }\n if (this._disabled) {\n this._adapter.setHostAttribute('aria-disabled', 'true');\n }\n if (this._invalid) {\n this._adapter.setHostAttribute('aria-invalid', 'true');\n }\n }\n\n private _onMouseDown(evt: MouseEvent): void {\n const isElementWithinSelf = this._adapter.isWithinSelf(evt.target as HTMLElement);\n if (isElementWithinSelf) {\n evt.preventDefault();\n }\n }\n\n /** Called when the `slotchange` event fires on the \"leading\" slot element. */\n private _onLeadingSlotChanged(evt: Event): void {\n this._detectLeadingElement();\n }\n\n /** Called when the `slotchange` event fires on the \"addon-end\" slot element. */\n private _onAddonEndSlotChanged(evt: Event): void {\n this._detectAddonEndContent();\n }\n\n /** Updates the component state based on the existance of elements within the \"leading\" slot. */\n private _detectLeadingElement(): void {\n if (this._adapter.hasLeadingElement()) {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.LEADING);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LEADING);\n }\n }\n\n private _detectAddonEndContent(): void {\n if (this._adapter.hasAddonEndNodes()) {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n }\n }\n\n protected _onClick(evt: MouseEvent): void {\n if (this._disabled) {\n return;\n }\n\n // We ignore clicks events that originate from without our addon-end container\n const composedPath = getEventPath(evt);\n if (composedPath.find(el => el.classList && el.classList.contains(FIELD_CONSTANTS.classes.ADDON_END_CONTAINER))) {\n return;\n }\n\n this.setFocus();\n super._onClick(evt);\n }\n\n /** Handles receiving focus on the selected text element. */\n protected _onFocus(evt: Event): void {\n if (this._disabled) {\n return;\n }\n this._setFocused();\n super._onFocus(evt);\n }\n\n protected _floatLabel(value: boolean): void {\n if (!this._floatingLabelInstance) {\n return;\n }\n\n if (value) {\n this._adapter.addRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);\n } else {\n this._adapter.removeRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);\n }\n\n if (this._floatLabelType === 'always') {\n value = true;\n }\n\n this._floatingLabelInstance.float(value, this._floatLabelType === 'always');\n }\n\n /** Handles losing focus on the selected text element. */\n protected _onBlur(evt: FocusEvent): void {\n super._onBlur(evt);\n this._setBlurred();\n }\n\n protected _onDismiss(): void {\n super._onDismiss();\n this._setBlurred();\n }\n\n protected _onDropdownScrollEnd(): void {\n this._adapter.emitHostEvent(SELECT_CONSTANTS.events.SCROLLED_BOTTOM);\n }\n\n /**\n * Handles selecting an item in the dropdown.\n * @param {ISelectOption} option The selected option.\n * @param {number} optionIndex The index of the selected option.\n */\n protected async _onSelect(option: ISelectOption, optionIndex: number, closeDropdown = true): Promise<boolean> {\n const result = await super._onSelect(option, optionIndex, closeDropdown);\n if (result) {\n this._adapter.setSelectedText(this._getSelectedText());\n if (closeDropdown && !this._multiple) {\n this._adapter.setFocus();\n }\n }\n return result;\n }\n\n /** Updates the state of the component to contain focus. */\n private _setFocused(): void {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._floatLabel(true);\n }\n\n /** Updates the state of the component to not contain focus. */\n private _setBlurred(): void {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n if (!this._selectedValues.length && !this._placeholder?.length) {\n this._floatLabel(false);\n }\n }\n\n /** Resets the state of the component to original values. */\n protected _reset(): void {\n super._reset();\n this._adapter.setSelectedText('');\n this._floatLabel(!this._placeholder?.length);\n }\n\n private _updateLabel(): void {\n if (this._adapter.hasLabel()) {\n this._adapter.setLabel(this._label);\n }\n if (this._label && this._density !== 'dense') {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.LABEL);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LABEL);\n }\n }\n\n protected _applyValue(value: string | string[]): void {\n super._applyValue(value);\n\n // Update the state of the component based on the existence of a selected value\n const text = this._getSelectedText();\n this._adapter.setSelectedText(text);\n if (!this._open) {\n this._floatLabel(!!text || !!this._placeholder);\n }\n }\n\n private _applyDensity(): void {\n this._adapter.setRoomy(this._density === 'roomy');\n this._adapter.setDense(this._density === 'dense');\n }\n\n protected _setShapeType(): void {\n if (this._shape === 'rounded') {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n }\n }\n\n public setFocus(): void {\n this._adapter.setFocus();\n }\n\n /** Gets/sets the label text. */\n public get label(): string {\n return this._label;\n }\n public set label(value: string) {\n if (this._label !== value) {\n this._label = value;\n this._updateLabel();\n if (this._label) {\n this._initializeLabel();\n this._adapter.setHostAttribute(SELECT_CONSTANTS.attributes.LABEL, this._label);\n } else {\n this._destroyLabel();\n this.required = false;\n this._adapter.removeHostAttribute(SELECT_CONSTANTS.attributes.LABEL);\n }\n }\n }\n\n public get shape(): FieldShapeType {\n return this._shape;\n }\n public set shape(value: FieldShapeType) {\n if (this._shape !== value) {\n this._shape = value;\n\n if (this._isInitialized) {\n this._setShapeType();\n }\n\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.SHAPE, this._shape);\n }\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._initializeLabel();\n }\n }\n\n /** Gets/sets the invalid state. */\n public get invalid(): boolean {\n return this._invalid;\n }\n public set invalid(value: boolean) {\n if (this._invalid !== value) {\n this._invalid = value;\n this._adapter.setInvalid(this._invalid);\n }\n }\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n public get required(): boolean {\n return this._required;\n }\n public set required(value: boolean) {\n if (this._required !== value) {\n this._required = value;\n this._adapter.setRequired(this._required);\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.REQUIRED, this._required);\n }\n }\n\n /** Gets/sets the dense state. */\n public get density(): FieldDensityType {\n return this._density;\n }\n public set density(value: FieldDensityType) {\n if (this._density !== value) {\n this._density = value;\n this._applyDensity();\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.DENSITY, this._density.toString());\n this._initializeLabel(); // This ensures label is removed while dense\n }\n }\n\n /** Gets/sets the floating label type. */\n public get floatLabelType(): FieldFloatLabelType {\n return this._floatLabelType;\n }\n public set floatLabelType(value: FieldFloatLabelType) {\n if (this._floatLabelType !== value) {\n this._floatLabelType = value;\n this._floatLabel(this._floatLabelType === 'always' || !!this._placeholder);\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE, isDefined(this._floatLabelType) ? this._floatLabelType.toString() : '');\n }\n }\n\n /** Gets/sets the placeholder text. */\n public get placeholder(): string {\n return this._placeholder;\n }\n public set placeholder(value: string) {\n if (this._placeholder !== value) {\n this._placeholder = value;\n this._adapter.setPlaceholderText(this._placeholder);\n this._initializeLabel();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown, tylIconCheckBoxOutlineBlank, tylIconCheckBox } from '@tylertech/tyler-icons/standard';\nimport { SelectAdapter } from './select-adapter';\nimport { SelectFoundation } from './select-foundation';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { OptionComponent } from '../option';\nimport { PopupComponent } from '../../popup';\nimport { ListComponent, ListItemComponent } from '../../list';\nimport { OptionGroupComponent } from '../option-group';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { BaseSelectComponent, BASE_SELECT_CONSTANTS } from '../core';\nimport { CircularProgressComponent } from '../../circular-progress';\nimport { ScaffoldComponent } from '../../scaffold';\nimport { ToolbarComponent } from '../../toolbar';\nimport { IconButtonComponent } from '../../icon-button';\nimport { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from '../../field/field-constants';\nimport { IBaseSelectComponent } from '../core/base-select';\n\nconst template = '<template><div class=\\\"forge-select__wrapper\\\" part=\\\"root\\\"><div class=\\\"forge-select forge-field\\\" part=\\\"container\\\"><div class=\\\"forge-select__leading-container\\\" part=\\\"leading-container\\\"><slot name=\\\"leading\\\"></slot></div><div class=\\\"forge-field__label-input-container\\\" part=\\\"label-input-container\\\"><div id=\\\"selected-text\\\" class=\\\"forge-select__selected-text\\\" part=\\\"text\\\"></div><label id=\\\"select-label\\\" aria-hidden=\\\"true\\\" part=\\\"label\\\"></label></div><forge-icon class=\\\"forge-select__dropdown-icon\\\" name=\\\"arrow_drop_down\\\" part=\\\"icon\\\"></forge-icon><div class=\\\"forge-field__addon-end-container\\\" part=\\\"addon-end-container\\\"><slot name=\\\"addon-end\\\"></slot></div></div><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-select{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;z-index:1;z-index:var(--forge-z-index-surface,1);margin-top:0;margin-top:var(--forge-select-margin-top,0)}.forge-select.forge-field--disabled{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);cursor:not-allowed}.forge-select:not(.forge-field--dense):not(.forge-field--roomy){height:3rem;height:var(--forge-select-height,3rem)}.forge-select.forge-field--roomy:not(.forge-field--dense){height:3.5rem;height:var(--forge-select-height,3.5rem)}.forge-select.forge-field--dense:not(.forge-field--roomy){height:1.5rem;height:var(--forge-select-height,1.5rem)}.forge-field::before{content:\\\"\\\";display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;z-index:-1;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;max-width:100%;height:100%;pointer-events:none;border-style:solid;border-width:1px;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);background-color:transparent;background-color:var(--forge-select-theme-background,transparent);text-align:left}.forge-field[dir=rtl]::before,[dir=rtl] .forge-field::before{text-align:right}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused)::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-icon-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused):hover::before{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled)::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-field--invalid:not(.forge-field--disabled)::before{border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-field--invalid:not(.forge-field--disabled):not(.forge-field--focused):hover::before{border-color:#db8a98;border-color:var(--forge-theme-error-hover,#db8a98)}.forge-field--disabled::before{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--shape-rounded){border-radius:4px}.forge-field:not(.forge-field--shape-rounded)::before{border-radius:4px}.forge-field--shape-rounded{border-radius:28px}.forge-field--shape-rounded::before{border-radius:28px}.forge-field--disabled::before{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-field--focused::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);border-width:2px}.forge-field__label-input-container{position:relative;-webkit-box-flex:1;flex:1 1 0.0001px;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;min-width:0}.forge-field~::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;height:auto}.forge-field~::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:\\\"\\\";vertical-align:0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field--roomy:not(.forge-field--dense)~::slotted([slot=helper-text]){font-size:.875rem}.forge-field--dense:not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field~::slotted([slot=helper-text]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled)~::slotted([slot=helper-text]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field:not(.forge-field--shape-rounded)~::slotted([slot=helper-text]){margin-left:12px}.forge-field--shape-rounded~::slotted([slot=helper-text]){margin-left:32px}.forge-field ::slotted([slot=leading]){display:-webkit-box;display:flex;align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=leading]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=leading]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=leading]){margin:0 4px}.forge-field ::slotted([slot=leading]:not(forge-icon-button)){padding:6px}.forge-field__addon-end-container{display:none}.forge-field--addon-end .forge-field__addon-end-container{height:100%;width:auto;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 4px;border-left-width:1px;border-left-style:solid;-webkit-transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.54);border-left-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container:hover{border-left-color:rgba(0,0,0,.87);border-left-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#3f51b5;border-left-color:var(--mdc-theme-primary,#3f51b5)}.forge-field.forge-field--invalid:not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#b00020;border-left-color:var(--mdc-theme-error,#b00020)}.forge-field.forge-field--invalid:not(.forge-field--focused):not(.forge-field--disabled) .forge-field__addon-end-container:hover{border-left-color:#db8a98;border-left-color:var(--forge-theme-error-hover,#db8a98)}.forge-field.forge-field--disabled .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.12);border-left-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=addon-end]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=addon-end]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=addon-end]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-select__leading-container{display:-webkit-box;display:flex;align-self:center}.forge-field label{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65));pointer-events:none;right:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);font-size:var(--mdc-typography-subtitle1-font-size, 1rem);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.1rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;-webkit-transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field label[dir=rtl],[dir=rtl] .forge-field label{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.forge-field--dense:not(.forge-field--roomy) label{display:none}.forge-field--required label::after{content:none}.forge-field--required label::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:\\\"*\\\";margin-right:4px}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{font-size:1rem}.forge-field--roomy:not(.forge-field--dense) label{font-size:1rem}.forge-field--disabled label{color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-field--invalid:not(.forge-field--disabled) label{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{top:1rem}.forge-field--roomy:not(.forge-field--dense) label{top:1.285rem}.forge-field:not(.forge-field--shape-rounded):not(.forge-field--leading) label{left:12px!important}.forge-field--shape-rounded:not(.forge-field--leading) label{left:32px!important}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end):not(.forge-field--shape-rounded) label{padding-right:12px}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end).forge-field--shape-rounded label{padding-right:32px}.forge-field label.forge-floating-label--float-above{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65))}.forge-field--disabled label.forge-floating-label--float-above{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-field--invalid:not(.forge-field--disabled) label.forge-floating-label--float-above{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label.forge-floating-label--float-above{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above{-webkit-transform:translateY(-.54rem) scale(.8125);transform:translateY(-.54rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above{-webkit-transform:translateY(-.72rem) scale(.8125);transform:translateY(-.72rem) scale(.8125);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.62rem) scale(1);transform:translateY(-.62rem) scale(1);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.8rem) scale(1);transform:translateY(-.8rem) scale(1);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.62rem) scale(.8125);transform:translateY(-.62rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.8rem) scale(.8125);transform:translateY(-.8rem) scale(.8125);cursor:auto}.forge-field .forge-select__selected-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));display:block;overflow:hidden;text-overflow:ellipsis;align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;white-space:nowrap;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0;font-size:var(--forge-select-font-size, 1rem);padding:0 12px;padding-right:0}.forge-field:not(.forge-field--disabled) .forge-select__selected-text{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--disabled .forge-select__selected-text{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{font-size:1rem}.forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{font-size:1rem}.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{font-size:.875rem}.forge-field .forge-select__selected-text{padding:0 12px}.forge-field--label .forge-select__selected-text{padding-top:24px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-top:29px}.forge-field--shape-rounded:not(.forge-field--leading) .forge-select__selected-text{padding-left:32px}.forge-field--leading .forge-select__selected-text{padding-left:0}.forge-field--label .forge-select__selected-text{padding-bottom:3px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-bottom:8px}.forge-field:not(.forge-field--label):not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height, 3rem)}.forge-field:not(.forge-field--label).forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{line-height:var(--forge-select-height-roomy, 3.5rem)}.forge-field:not(.forge-field--label).forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height-dense, 1.5rem)}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{padding:0 8px}.forge-field .forge-select__selected-text:empty::before{content:attr(placeholder);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field .forge-select--label .forge-select__selected-text{padding-top:25px}.forge-field .forge-select__dropdown-icon{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:24px;height:100%;-webkit-box-flex:0;flex:none;-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);pointer-events:none;margin-right:8px}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) .forge-select__dropdown-icon{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) .forge-select__dropdown-icon{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled .forge-select__dropdown-icon{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__dropdown-icon{margin-right:4px}:host{display:block;contain:layout}:host(:focus){outline:0}:host([hidden]){display:none}';\n\nexport interface ISelectComponent extends IBaseSelectComponent {\n density: FieldDensityType;\n floatLabelType: FieldFloatLabelType;\n shape: FieldShapeType;\n invalid: boolean;\n required: boolean;\n label: string;\n disabled: boolean;\n placeholder: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-select': ISelectComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-select-scrolled-bottom': CustomEvent<void>;\n 'change': CustomEvent<any>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-select>` component.\n * \n * @tag forge-select\n */\n@CustomElement({\n name: SELECT_CONSTANTS.elementName,\n dependencies: [\n OptionComponent,\n OptionGroupComponent,\n PopupComponent,\n ListComponent,\n ListItemComponent,\n CircularProgressComponent,\n IconComponent,\n ScaffoldComponent,\n ToolbarComponent,\n IconButtonComponent\n ]\n})\nexport class SelectComponent extends BaseSelectComponent<SelectFoundation> implements ISelectComponent {\n public static get observedAttributes(): string[] {\n return [\n FIELD_CONSTANTS.attributes.DENSITY,\n FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE,\n FIELD_CONSTANTS.attributes.SHAPE,\n FIELD_CONSTANTS.attributes.INVALID,\n FIELD_CONSTANTS.attributes.REQUIRED,\n SELECT_CONSTANTS.attributes.LABEL,\n SELECT_CONSTANTS.attributes.MULTIPLE,\n SELECT_CONSTANTS.attributes.VALUE,\n SELECT_CONSTANTS.attributes.DISABLED,\n SELECT_CONSTANTS.attributes.PLACEHOLDER,\n SELECT_CONSTANTS.attributes.OBSERVE_SCROLL,\n SELECT_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD,\n BASE_SELECT_CONSTANTS.attributes.POPUP_CLASSES,\n BASE_SELECT_CONSTANTS.attributes.OPTION_LIMIT,\n BASE_SELECT_CONSTANTS.attributes.SYNC_POPUP_WIDTH\n ];\n }\n\n constructor() {\n super();\n IconRegistry.define([tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new SelectFoundation(new SelectAdapter(this));\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FIELD_CONSTANTS.attributes.DENSITY:\n this.density = newValue as FieldDensityType;\n return;\n case FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE:\n this.floatLabelType = newValue as FieldFloatLabelType;\n return;\n case FIELD_CONSTANTS.attributes.SHAPE:\n this.shape = newValue as FieldShapeType;\n break;\n case FIELD_CONSTANTS.attributes.INVALID:\n this.invalid = coerceBoolean(newValue);\n return;\n case FIELD_CONSTANTS.attributes.REQUIRED:\n this.required = coerceBoolean(newValue);\n return;\n case SELECT_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n return;\n case SELECT_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n return;\n case SELECT_CONSTANTS.attributes.PLACEHOLDER:\n this.placeholder = newValue;\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n /** Gets/sets the label text. */\n @FoundationProperty()\n public label: string;\n\n /** Gets/sets the disabled state. */\n @FoundationProperty()\n public disabled: boolean;\n\n /** Gets/sets the invalid state. */\n @FoundationProperty()\n public invalid: boolean;\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n @FoundationProperty()\n public required: boolean;\n\n /** Controls the density type. */\n @FoundationProperty()\n public density: FieldDensityType;\n\n /** Whether the label should always float, never float or float as the user types. */\n @FoundationProperty()\n public floatLabelType: FieldFloatLabelType;\n\n /** The shape type to use. */\n @FoundationProperty()\n public shape: FieldShapeType;\n\n /** Gets/sets the placeholder text. */\n @FoundationProperty()\n public placeholder: string;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SelectComponent } from './select';\n\nexport * from './select-adapter';\nexport * from './select-constants';\nexport * from './select-foundation';\nexport * from './select';\n\nexport function defineSelectComponent(): void {\n defineCustomElement(SelectComponent);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}select`;\n\nconst classes = {\n ROOT: 'forge-select',\n OPENED: 'forge-select--opened',\n SELECTED_TEXT: 'forge-select__selected-text',\n DROPDOWN: 'forge-select__dropdown',\n LABEL_FLOAT: 'forge-select--label-float',\n GROUP_WRAPPER: 'forge-select__group-wrapper'\n};\n\nconst selectors = {\n ROOT: `.${classes.ROOT}`,\n SELECTED_TEXT: `.${classes.SELECTED_TEXT}`,\n LABEL: 'label#select-label',\n LEADING_SLOT: 'slot[name=leading]',\n ADDON_END_SLOT: 'slot[name=addon-end]'\n};\n\nconst attributes = {\n TYPE: 'type',\n VALUE: 'value',\n LABEL: 'label',\n MULTIPLE: 'multiple',\n DISABLED: 'disabled',\n PLACEHOLDER: 'placeholder',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SCROLLED_BOTTOM: `${elementName}-scrolled-bottom`\n};\n\nexport const SELECT_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events\n};\n\nexport {\n FieldDensityType as SelectDensityType,\n FieldFloatLabelType as SelectFloatLabelType,\n FieldShapeType as SelectShapeType\n} from '../../field/field-constants';\n", "import { calculateFontWidth, getShadowElement, IFontInfo, toggleClass, toggleAttribute } from '@tylertech/forge-core';\nimport { FloatingLabel, IFloatingLabel } from '../../floating-label/floating-label';\nimport { ISelectComponent } from './select';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { IBaseSelectAdapter, BaseSelectAdapter } from '../core';\nimport { IListDropdownConfig } from '../../list-dropdown/list-dropdown-constants';\nimport { FIELD_CONSTANTS } from '../../field/field-constants';\n\nexport type OptionListenerDestructor = () => void;\n\nexport interface ISelectAdapter extends IBaseSelectAdapter {\n initializeFloatingLabel(): IFloatingLabel;\n initializeLabel(): void;\n hasLabel(): boolean;\n setLabel(value: string): void;\n addRootClass(name: string): void;\n removeRootClass(name: string): void;\n setPlaceholderText(value: string): void;\n setSelectedText(value: string): void;\n addMouseDownListener(listener: (evt: MouseEvent) => void): void;\n removeMouseDownListener(listener: (evt: MouseEvent) => void): void;\n setLeadingListener(listener: (evt: Event) => void): void;\n removeLeadingListener(listener: (evt: Event) => void): void;\n setAddonEndListener(listener: (evt: Event) => void): void;\n removeAddonEndListener(listener: (evt: Event) => void): void;\n hasLeadingElement(): boolean;\n setDisabled(isDisabled: boolean): void;\n setInvalid(isInvalid: boolean): void;\n setRequired(isRequired: boolean): void;\n setRoomy(isRoomy: boolean): void;\n setDense(isDense: boolean): void;\n getLabelWidth(fontSize: number, fontFamily: string): number;\n getLabelFontMetrics(): IFontInfo;\n getTargetWidth(): number;\n hasAddonEndNodes(): boolean;\n setFocus(): void;\n isWithinSelf(element: HTMLElement): boolean;\n}\n\n/**\n * The DOM adapter behind the `<forge-select>` component.\n */\nexport class SelectAdapter extends BaseSelectAdapter implements ISelectAdapter {\n private _selectElement: HTMLElement;\n private _labelElement: HTMLLabelElement;\n private _selectedTextElement: HTMLElement;\n private _leadingSlot: HTMLSlotElement;\n private _addonEndSlot: HTMLSlotElement;\n\n constructor(component: ISelectComponent) {\n super(component);\n this._selectElement = getShadowElement(component, SELECT_CONSTANTS.selectors.ROOT);\n this._leadingSlot = getShadowElement(component, SELECT_CONSTANTS.selectors.LEADING_SLOT) as HTMLSlotElement;\n this._addonEndSlot = getShadowElement(this._component, SELECT_CONSTANTS.selectors.ADDON_END_SLOT) as HTMLSlotElement;\n this._selectedTextElement = getShadowElement(component, SELECT_CONSTANTS.selectors.SELECTED_TEXT) as HTMLElement;\n this._targetElement = this._selectElement;\n }\n\n public initializeLabel(): void {\n this._labelElement = getShadowElement(this._component, SELECT_CONSTANTS.selectors.LABEL) as HTMLLabelElement;\n }\n\n public hasLabel(): boolean {\n return !!this._labelElement;\n }\n\n public initializeAccessibility(): void {\n this._component.setAttribute('role', 'combobox');\n this._component.setAttribute('aria-haspopup', 'true');\n this._component.setAttribute('aria-expanded', 'false');\n\n // We need to ensure the host element receives a non-negative tabindex for our interactions to work properly\n if (!this._component.hasAttribute('tabindex') || this._component.tabIndex === -1) {\n this._component.tabIndex = 0;\n }\n }\n\n public initializeFloatingLabel(): IFloatingLabel {\n return new FloatingLabel(this._labelElement);\n }\n\n public setLabel(value: string): void {\n if (!this._component.hasAttribute('aria-label') || this._component.getAttribute('aria-label') === this._labelElement.textContent) {\n this._component.setAttribute('aria-label', value);\n }\n this._labelElement.textContent = value;\n }\n\n public addRootClass(name: string): void {\n this._selectElement.classList.add(name);\n }\n\n public removeRootClass(name: string): void {\n this._selectElement.classList.remove(name);\n }\n\n public setPlaceholderText(value: string): void {\n toggleAttribute(this._selectedTextElement, !!value, 'placeholder', value);\n }\n\n public addClickListener(listener: (evt: Event) => void): void {\n this._component.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: Event) => void): void {\n this._component.removeEventListener('click', listener);\n }\n\n public addMouseDownListener(listener: (evt: MouseEvent) => void): void {\n this._component.addEventListener('mousedown', listener);\n }\n\n public removeMouseDownListener(listener: (evt: MouseEvent) => void): void {\n this._component.removeEventListener('mousedown', listener);\n }\n\n public addTargetListener(type: string, listener: (evt: Event) => void): void {\n this._component.addEventListener(type, listener);\n }\n\n public removeTargetListener(type: string, listener: (evt: Event) => void): void {\n this._component.removeEventListener(type, listener);\n }\n\n public open(config: IListDropdownConfig): void {\n super.open(config);\n this._component.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n this._component.setAttribute('aria-expanded', 'true');\n toggleClass(this._selectElement, true, SELECT_CONSTANTS.classes.OPENED);\n }\n\n public close(): void {\n this._component.setAttribute('aria-expanded', 'false');\n this._component.removeAttribute('aria-activedescendant');\n this._component.removeAttribute('aria-controls');\n toggleClass(this._selectElement, false, SELECT_CONSTANTS.classes.OPENED);\n super.close();\n }\n\n public updateActiveDescendant(id: string): void {\n toggleAttribute(this._component, !!id, 'aria-activedescendant', id);\n }\n\n public setSelectedText(value: string): void {\n this._selectedTextElement.textContent = value;\n }\n\n public setLeadingListener(listener: (evt: Event) => void): void {\n this._leadingSlot.addEventListener('slotchange', listener);\n }\n\n public removeLeadingListener(listener: (evt: Event) => void): void {\n this._leadingSlot.removeEventListener('slotchange', listener);\n }\n\n public setAddonEndListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.addEventListener('slotchange', listener);\n }\n\n public removeAddonEndListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.removeEventListener('slotchange', listener);\n }\n\n public hasLeadingElement(): boolean {\n return this._leadingSlot.assignedNodes().length > 0;\n }\n\n public setDisabled(isDisabled: boolean): void {\n toggleClass(this._selectElement, isDisabled, FIELD_CONSTANTS.classes.DISABLED);\n toggleAttribute(this._component, isDisabled, 'aria-disabled', 'true');\n this._component.tabIndex = isDisabled ? -1 : 0;\n }\n\n public setInvalid(isInvalid: boolean): void {\n toggleClass(this._selectElement, isInvalid, FIELD_CONSTANTS.classes.INVALID);\n toggleAttribute(this._component, isInvalid, 'aria-invalid', 'true');\n }\n\n public setRequired(isRequired: boolean): void {\n toggleClass(this._selectElement, isRequired, FIELD_CONSTANTS.classes.REQUIRED);\n toggleAttribute(this._component, isRequired, 'aria-required', 'true');\n }\n\n public setRoomy(isRoomy: boolean): void {\n toggleClass(this._selectElement, isRoomy, FIELD_CONSTANTS.classes.ROOMY);\n }\n\n public setDense(isDense: boolean): void {\n toggleClass(this._selectElement, isDense, FIELD_CONSTANTS.classes.DENSE);\n }\n\n public setMultiple(multiple: boolean): void {\n if (multiple) {\n this.setHostAttribute('aria-multiselectable', 'true');\n } else {\n this.removeHostAttribute('aria-multiselectable');\n }\n }\n\n public getLabelWidth(fontSize: number, fontFamily: string): number {\n return calculateFontWidth(this._labelElement.innerText, { fontSize, fontFamily });\n }\n\n public getLabelFontMetrics(): IFontInfo {\n const style = getComputedStyle(this._labelElement);\n return {\n fontSize: parseInt(style.fontSize || '16', 10),\n fontFamily: style.fontFamily || 'Roboto'\n };\n }\n\n public getTargetWidth(): number {\n return this._selectElement.getBoundingClientRect().width;\n }\n\n public hasAddonEndNodes(): boolean {\n if (!this._addonEndSlot) {\n return false;\n }\n return this._addonEndSlot.assignedNodes().length > 0;\n }\n\n public setFocus(): void {\n this._component.focus();\n }\n\n public isWithinSelf(element: HTMLElement): boolean {\n const isShadowChild = !!this._component.shadowRoot && this._component.shadowRoot.contains(element);\n return isShadowChild || this._component.contains(element);\n }\n}\n", "import { isDefined, getEventPath } from '@tylertech/forge-core';\nimport { IBaseSelectFoundation, ISelectOption, BaseSelectFoundation } from '../core';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { IFloatingLabel } from '../../floating-label';\nimport { ISelectAdapter } from './select-adapter';\nimport { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from '../../field/field-constants';\n\nexport interface ISelectFoundation extends IBaseSelectFoundation {\n label: string;\n disabled: boolean;\n density: FieldDensityType;\n invalid: boolean;\n required: boolean;\n floatLabelType: FieldFloatLabelType;\n placeholder: string;\n}\n\n/**\n * The foundation class behind the `<forge-select>` component.\n */\nexport class SelectFoundation extends BaseSelectFoundation<ISelectAdapter> implements ISelectFoundation {\n private _floatingLabelInstance: IFloatingLabel | undefined;\n private _shape: FieldShapeType = 'default';\n private _label = '';\n private _disabled = false;\n private _invalid = false;\n private _required = false;\n private _floatLabelType: FieldFloatLabelType = 'auto';\n private _placeholder: string;\n private _density: FieldDensityType = 'default';\n private _isInitialized = false;\n private _leadingChangeListener: (evt: Event) => void;\n private _addonEndChangeListener: (evt: Event) => void;\n private _mousedownListener: (evt: MouseEvent) => void;\n\n constructor(adapter: ISelectAdapter) {\n super(adapter);\n this._leadingChangeListener = evt => this._onLeadingSlotChanged(evt);\n this._addonEndChangeListener = evt => this._onAddonEndSlotChanged(evt);\n this._targetWidthCallback = () => this._adapter.getTargetWidth();\n this._mousedownListener = evt => this._onMouseDown(evt);\n }\n\n public initialize(): void {\n super.initialize();\n super.initializeTarget();\n this._initializeLabel();\n this._initializeAccessibility();\n\n this._adapter.setPlaceholderText(this._placeholder);\n this._applyDensity();\n this._setShapeType();\n\n this._detectLeadingElement();\n this._detectAddonEndContent();\n this._adapter.addMouseDownListener(this._mousedownListener);\n this._adapter.setLeadingListener(this._leadingChangeListener);\n this._adapter.setAddonEndListener(this._addonEndChangeListener);\n\n if (this._disabled) {\n this._adapter.setDisabled(true);\n }\n\n if (this._invalid) {\n this._adapter.setInvalid(true);\n }\n\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n super.disconnect();\n this._adapter.removeMouseDownListener(this._mousedownListener);\n this._adapter.removeLeadingListener(this._leadingChangeListener);\n this._adapter.removeAddonEndListener(this._leadingChangeListener);\n\n if (this._floatingLabelInstance) {\n this._floatingLabelInstance.destroy();\n this._floatingLabelInstance = undefined;\n }\n }\n\n private _initializeLabel(): void {\n this._adapter.initializeLabel();\n this._updateLabel();\n this._floatingLabelInstance = this._adapter.initializeFloatingLabel();\n if (this._floatLabelType === 'always') {\n this._floatLabel(true);\n } else {\n const hasText = !!this._getSelectedText();\n const hasPlaceholder = !!this._placeholder;\n this._floatLabel(hasText || hasPlaceholder);\n }\n }\n\n private _destroyLabel(): void {\n if (this._floatingLabelInstance) {\n this._floatingLabelInstance.destroy();\n this._floatingLabelInstance = undefined;\n }\n }\n\n protected _initializeValue(): void {\n super._initializeValue();\n if (this._selectedValues.length) {\n this._floatLabel(true);\n }\n }\n\n private _initializeAccessibility(): void {\n this._adapter.setMultiple(this._multiple);\n if (this._required) {\n this._adapter.setHostAttribute('aria-required', 'true');\n }\n if (this._disabled) {\n this._adapter.setHostAttribute('aria-disabled', 'true');\n }\n if (this._invalid) {\n this._adapter.setHostAttribute('aria-invalid', 'true');\n }\n }\n\n private _onMouseDown(evt: MouseEvent): void {\n const isElementWithinSelf = this._adapter.isWithinSelf(evt.target as HTMLElement);\n if (isElementWithinSelf) {\n evt.preventDefault();\n }\n }\n\n /** Called when the `slotchange` event fires on the \"leading\" slot element. */\n private _onLeadingSlotChanged(evt: Event): void {\n this._detectLeadingElement();\n }\n\n /** Called when the `slotchange` event fires on the \"addon-end\" slot element. */\n private _onAddonEndSlotChanged(evt: Event): void {\n this._detectAddonEndContent();\n }\n\n /** Updates the component state based on the existance of elements within the \"leading\" slot. */\n private _detectLeadingElement(): void {\n if (this._adapter.hasLeadingElement()) {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.LEADING);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LEADING);\n }\n }\n\n private _detectAddonEndContent(): void {\n if (this._adapter.hasAddonEndNodes()) {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n }\n }\n\n protected _onClick(evt: MouseEvent): void {\n if (this._disabled) {\n return;\n }\n\n // We ignore clicks events that originate from without our addon-end container\n const composedPath = getEventPath(evt);\n if (composedPath.find(el => el.classList && el.classList.contains(FIELD_CONSTANTS.classes.ADDON_END_CONTAINER))) {\n return;\n }\n\n this.setFocus();\n super._onClick(evt);\n }\n\n /** Handles receiving focus on the selected text element. */\n protected _onFocus(evt: Event): void {\n if (this._disabled) {\n return;\n }\n this._setFocused();\n super._onFocus(evt);\n }\n\n protected _floatLabel(value: boolean): void {\n if (!this._floatingLabelInstance) {\n return;\n }\n\n if (value) {\n this._adapter.addRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);\n } else {\n this._adapter.removeRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);\n }\n\n if (this._floatLabelType === 'always') {\n value = true;\n }\n\n this._floatingLabelInstance.float(value, this._floatLabelType === 'always');\n }\n\n /** Handles losing focus on the selected text element. */\n protected _onBlur(evt: FocusEvent): void {\n super._onBlur(evt);\n this._setBlurred();\n }\n\n protected _onDismiss(): void {\n super._onDismiss();\n this._setBlurred();\n }\n\n protected _onDropdownScrollEnd(): void {\n this._adapter.emitHostEvent(SELECT_CONSTANTS.events.SCROLLED_BOTTOM);\n }\n\n /**\n * Handles selecting an item in the dropdown.\n * @param {ISelectOption} option The selected option.\n * @param {number} optionIndex The index of the selected option.\n */\n protected async _onSelect(option: ISelectOption, optionIndex: number, closeDropdown = true): Promise<boolean> {\n const result = await super._onSelect(option, optionIndex, closeDropdown);\n if (result) {\n this._adapter.setSelectedText(this._getSelectedText());\n if (closeDropdown && !this._multiple) {\n this._adapter.setFocus();\n }\n }\n return result;\n }\n\n /** Updates the state of the component to contain focus. */\n private _setFocused(): void {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._floatLabel(true);\n }\n\n /** Updates the state of the component to not contain focus. */\n private _setBlurred(): void {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n if (!this._selectedValues.length && !this._placeholder?.length) {\n this._floatLabel(false);\n }\n }\n\n /** Resets the state of the component to original values. */\n protected _reset(): void {\n super._reset();\n this._adapter.setSelectedText('');\n this._floatLabel(!this._placeholder?.length);\n }\n\n private _updateLabel(): void {\n if (this._adapter.hasLabel()) {\n this._adapter.setLabel(this._label);\n }\n if (this._label && this._density !== 'dense') {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.LABEL);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LABEL);\n }\n }\n\n protected _applyValue(value: string | string[]): void {\n super._applyValue(value);\n\n // Update the state of the component based on the existence of a selected value\n const text = this._getSelectedText();\n this._adapter.setSelectedText(text);\n if (!this._open) {\n this._floatLabel(!!text || !!this._placeholder);\n }\n }\n\n private _applyDensity(): void {\n this._adapter.setRoomy(this._density === 'roomy');\n this._adapter.setDense(this._density === 'dense');\n }\n\n protected _setShapeType(): void {\n if (this._shape === 'rounded') {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n }\n }\n\n public setFocus(): void {\n this._adapter.setFocus();\n }\n\n /** Gets/sets the label text. */\n public get label(): string {\n return this._label;\n }\n public set label(value: string) {\n if (this._label !== value) {\n this._label = value;\n this._updateLabel();\n if (this._label) {\n this._initializeLabel();\n this._adapter.setHostAttribute(SELECT_CONSTANTS.attributes.LABEL, this._label);\n } else {\n this._destroyLabel();\n this.required = false;\n this._adapter.removeHostAttribute(SELECT_CONSTANTS.attributes.LABEL);\n }\n }\n }\n\n public get shape(): FieldShapeType {\n return this._shape;\n }\n public set shape(value: FieldShapeType) {\n if (this._shape !== value) {\n this._shape = value;\n\n if (this._isInitialized) {\n this._setShapeType();\n }\n\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.SHAPE, this._shape);\n }\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._initializeLabel();\n }\n }\n\n /** Gets/sets the invalid state. */\n public get invalid(): boolean {\n return this._invalid;\n }\n public set invalid(value: boolean) {\n if (this._invalid !== value) {\n this._invalid = value;\n this._adapter.setInvalid(this._invalid);\n }\n }\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n public get required(): boolean {\n return this._required;\n }\n public set required(value: boolean) {\n if (this._required !== value) {\n this._required = value;\n this._adapter.setRequired(this._required);\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.REQUIRED, this._required);\n }\n }\n\n /** Gets/sets the dense state. */\n public get density(): FieldDensityType {\n return this._density;\n }\n public set density(value: FieldDensityType) {\n if (this._density !== value) {\n this._density = value;\n this._applyDensity();\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.DENSITY, this._density.toString());\n this._initializeLabel(); // This ensures label is removed while dense\n }\n }\n\n /** Gets/sets the floating label type. */\n public get floatLabelType(): FieldFloatLabelType {\n return this._floatLabelType;\n }\n public set floatLabelType(value: FieldFloatLabelType) {\n if (this._floatLabelType !== value) {\n this._floatLabelType = value;\n this._floatLabel(this._floatLabelType === 'always' || !!this._placeholder);\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE, isDefined(this._floatLabelType) ? this._floatLabelType.toString() : '');\n }\n }\n\n /** Gets/sets the placeholder text. */\n public get placeholder(): string {\n return this._placeholder;\n }\n public set placeholder(value: string) {\n if (this._placeholder !== value) {\n this._placeholder = value;\n this._adapter.setPlaceholderText(this._placeholder);\n this._initializeLabel();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown, tylIconCheckBoxOutlineBlank, tylIconCheckBox } from '@tylertech/tyler-icons/standard';\nimport { SelectAdapter } from './select-adapter';\nimport { SelectFoundation } from './select-foundation';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { OptionComponent } from '../option';\nimport { PopupComponent } from '../../popup';\nimport { ListComponent, ListItemComponent } from '../../list';\nimport { OptionGroupComponent } from '../option-group';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { BaseSelectComponent, BASE_SELECT_CONSTANTS } from '../core';\nimport { CircularProgressComponent } from '../../circular-progress';\nimport { ScaffoldComponent } from '../../scaffold';\nimport { ToolbarComponent } from '../../toolbar';\nimport { IconButtonComponent } from '../../icon-button';\nimport { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from '../../field/field-constants';\nimport { IBaseSelectComponent } from '../core/base-select';\n\nconst template = '<template><div class=\\\"forge-select__wrapper\\\" part=\\\"root\\\"><div class=\\\"forge-select forge-field\\\" part=\\\"container\\\"><div class=\\\"forge-select__leading-container\\\" part=\\\"leading-container\\\"><slot name=\\\"leading\\\"></slot></div><div class=\\\"forge-field__label-input-container\\\" part=\\\"label-input-container\\\"><div id=\\\"selected-text\\\" class=\\\"forge-select__selected-text\\\" part=\\\"text\\\"></div><label id=\\\"select-label\\\" aria-hidden=\\\"true\\\" part=\\\"label\\\"></label></div><forge-icon class=\\\"forge-select__dropdown-icon\\\" name=\\\"arrow_drop_down\\\" part=\\\"icon\\\"></forge-icon><div class=\\\"forge-field__addon-end-container\\\" part=\\\"addon-end-container\\\"><slot name=\\\"addon-end\\\"></slot></div></div><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-select{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;z-index:1;z-index:var(--forge-z-index-surface,1);margin-top:0;margin-top:var(--forge-select-margin-top,0)}.forge-select.forge-field--disabled{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);cursor:not-allowed}.forge-select:not(.forge-field--dense):not(.forge-field--roomy){height:3rem;height:var(--forge-select-height,3rem)}.forge-select.forge-field--roomy:not(.forge-field--dense){height:3.5rem;height:var(--forge-select-height,3.5rem)}.forge-select.forge-field--dense:not(.forge-field--roomy){height:1.5rem;height:var(--forge-select-height,1.5rem)}.forge-field::before{content:\\\"\\\";display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;z-index:-1;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;max-width:100%;height:100%;pointer-events:none;border-style:solid;border-width:1px;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);background-color:transparent;background-color:var(--forge-select-theme-background,transparent);text-align:left}.forge-field[dir=rtl]::before,[dir=rtl] .forge-field::before{text-align:right}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused)::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-icon-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused):hover::before{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled)::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-field--invalid:not(.forge-field--disabled)::before{border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-field--invalid:not(.forge-field--disabled):not(.forge-field--focused):hover::before{border-color:#db8a98;border-color:var(--forge-theme-error-hover,#db8a98)}.forge-field--disabled::before{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--shape-rounded){border-radius:4px}.forge-field:not(.forge-field--shape-rounded)::before{border-radius:4px}.forge-field--shape-rounded{border-radius:28px}.forge-field--shape-rounded::before{border-radius:28px}.forge-field--disabled::before{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-field--focused::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);border-width:2px}.forge-field__label-input-container{position:relative;-webkit-box-flex:1;flex:1 1 0.0001px;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;min-width:0}.forge-field~::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;height:auto}.forge-field~::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:\\\"\\\";vertical-align:0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field--roomy:not(.forge-field--dense)~::slotted([slot=helper-text]){font-size:.875rem}.forge-field--dense:not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field~::slotted([slot=helper-text]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled)~::slotted([slot=helper-text]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field:not(.forge-field--shape-rounded)~::slotted([slot=helper-text]){margin-left:12px}.forge-field--shape-rounded~::slotted([slot=helper-text]){margin-left:32px}.forge-field ::slotted([slot=leading]){display:-webkit-box;display:flex;align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=leading]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=leading]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=leading]){margin:0 4px}.forge-field ::slotted([slot=leading]:not(forge-icon-button)){padding:6px}.forge-field__addon-end-container{display:none}.forge-field--addon-end .forge-field__addon-end-container{height:100%;width:auto;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 4px;border-left-width:1px;border-left-style:solid;-webkit-transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.54);border-left-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container:hover{border-left-color:rgba(0,0,0,.87);border-left-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#3f51b5;border-left-color:var(--mdc-theme-primary,#3f51b5)}.forge-field.forge-field--invalid:not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#b00020;border-left-color:var(--mdc-theme-error,#b00020)}.forge-field.forge-field--invalid:not(.forge-field--focused):not(.forge-field--disabled) .forge-field__addon-end-container:hover{border-left-color:#db8a98;border-left-color:var(--forge-theme-error-hover,#db8a98)}.forge-field.forge-field--disabled .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.12);border-left-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=addon-end]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=addon-end]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=addon-end]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-select__leading-container{display:-webkit-box;display:flex;align-self:center}.forge-field label{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65));pointer-events:none;right:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);font-size:var(--mdc-typography-subtitle1-font-size, 1rem);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.1rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;-webkit-transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field label[dir=rtl],[dir=rtl] .forge-field label{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.forge-field--dense:not(.forge-field--roomy) label{display:none}.forge-field--required label::after{content:none}.forge-field--required label::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:\\\"*\\\";margin-right:4px}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{font-size:1rem}.forge-field--roomy:not(.forge-field--dense) label{font-size:1rem}.forge-field--disabled label{color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-field--invalid:not(.forge-field--disabled) label{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{top:1rem}.forge-field--roomy:not(.forge-field--dense) label{top:1.285rem}.forge-field:not(.forge-field--shape-rounded):not(.forge-field--leading) label{left:12px!important}.forge-field--shape-rounded:not(.forge-field--leading) label{left:32px!important}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end):not(.forge-field--shape-rounded) label{padding-right:12px}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end).forge-field--shape-rounded label{padding-right:32px}.forge-field label.forge-floating-label--float-above{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65))}.forge-field--disabled label.forge-floating-label--float-above{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-field--invalid:not(.forge-field--disabled) label.forge-floating-label--float-above{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label.forge-floating-label--float-above{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above{-webkit-transform:translateY(-.54rem) scale(.8125);transform:translateY(-.54rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above{-webkit-transform:translateY(-.72rem) scale(.8125);transform:translateY(-.72rem) scale(.8125);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.62rem) scale(1);transform:translateY(-.62rem) scale(1);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.8rem) scale(1);transform:translateY(-.8rem) scale(1);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.62rem) scale(.8125);transform:translateY(-.62rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.8rem) scale(.8125);transform:translateY(-.8rem) scale(.8125);cursor:auto}.forge-field .forge-select__selected-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));display:block;overflow:hidden;text-overflow:ellipsis;align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;white-space:nowrap;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0;font-size:var(--forge-select-font-size, 1rem);padding:0 12px;padding-right:0}.forge-field:not(.forge-field--disabled) .forge-select__selected-text{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--disabled .forge-select__selected-text{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{font-size:1rem;font-size:var(--forge-select-font-size, 1rem)}.forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{font-size:1rem;font-size:var(--forge-select-font-size, 1rem)}.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{font-size:.875rem;font-size:var(--forge-select-font-size, .875rem)}.forge-field .forge-select__selected-text{padding:0 12px}.forge-field--label .forge-select__selected-text{padding-top:24px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-top:29px}.forge-field--shape-rounded:not(.forge-field--leading) .forge-select__selected-text{padding-left:32px}.forge-field--leading .forge-select__selected-text{padding-left:0}.forge-field--label .forge-select__selected-text{padding-bottom:3px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-bottom:8px}.forge-field:not(.forge-field--label):not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height, 3rem)}.forge-field:not(.forge-field--label).forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{line-height:var(--forge-select-height-roomy, 3.5rem)}.forge-field:not(.forge-field--label).forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height-dense, 1.5rem)}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{padding:0 8px}.forge-field .forge-select__selected-text:empty::before{content:attr(placeholder);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field .forge-select--label .forge-select__selected-text{padding-top:25px}.forge-field .forge-select__dropdown-icon{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:24px;height:100%;-webkit-box-flex:0;flex:none;-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);pointer-events:none;margin-right:8px}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) .forge-select__dropdown-icon{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) .forge-select__dropdown-icon{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled .forge-select__dropdown-icon{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__dropdown-icon{margin-right:4px}:host{display:block;contain:layout}:host(:focus){outline:0}:host([hidden]){display:none}';\n\nexport interface ISelectComponent extends IBaseSelectComponent {\n density: FieldDensityType;\n floatLabelType: FieldFloatLabelType;\n shape: FieldShapeType;\n invalid: boolean;\n required: boolean;\n label: string;\n disabled: boolean;\n placeholder: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-select': ISelectComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-select-scrolled-bottom': CustomEvent<void>;\n 'change': CustomEvent<any>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-select>` component.\n * \n * @tag forge-select\n */\n@CustomElement({\n name: SELECT_CONSTANTS.elementName,\n dependencies: [\n OptionComponent,\n OptionGroupComponent,\n PopupComponent,\n ListComponent,\n ListItemComponent,\n CircularProgressComponent,\n IconComponent,\n ScaffoldComponent,\n ToolbarComponent,\n IconButtonComponent\n ]\n})\nexport class SelectComponent extends BaseSelectComponent<SelectFoundation> implements ISelectComponent {\n public static get observedAttributes(): string[] {\n return [\n FIELD_CONSTANTS.attributes.DENSITY,\n FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE,\n FIELD_CONSTANTS.attributes.SHAPE,\n FIELD_CONSTANTS.attributes.INVALID,\n FIELD_CONSTANTS.attributes.REQUIRED,\n SELECT_CONSTANTS.attributes.LABEL,\n SELECT_CONSTANTS.attributes.MULTIPLE,\n SELECT_CONSTANTS.attributes.VALUE,\n SELECT_CONSTANTS.attributes.DISABLED,\n SELECT_CONSTANTS.attributes.PLACEHOLDER,\n SELECT_CONSTANTS.attributes.OBSERVE_SCROLL,\n SELECT_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD,\n BASE_SELECT_CONSTANTS.attributes.POPUP_CLASSES,\n BASE_SELECT_CONSTANTS.attributes.OPTION_LIMIT,\n BASE_SELECT_CONSTANTS.attributes.SYNC_POPUP_WIDTH\n ];\n }\n\n constructor() {\n super();\n IconRegistry.define([tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new SelectFoundation(new SelectAdapter(this));\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FIELD_CONSTANTS.attributes.DENSITY:\n this.density = newValue as FieldDensityType;\n return;\n case FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE:\n this.floatLabelType = newValue as FieldFloatLabelType;\n return;\n case FIELD_CONSTANTS.attributes.SHAPE:\n this.shape = newValue as FieldShapeType;\n break;\n case FIELD_CONSTANTS.attributes.INVALID:\n this.invalid = coerceBoolean(newValue);\n return;\n case FIELD_CONSTANTS.attributes.REQUIRED:\n this.required = coerceBoolean(newValue);\n return;\n case SELECT_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n return;\n case SELECT_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n return;\n case SELECT_CONSTANTS.attributes.PLACEHOLDER:\n this.placeholder = newValue;\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n /** Gets/sets the label text. */\n @FoundationProperty()\n public label: string;\n\n /** Gets/sets the disabled state. */\n @FoundationProperty()\n public disabled: boolean;\n\n /** Gets/sets the invalid state. */\n @FoundationProperty()\n public invalid: boolean;\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n @FoundationProperty()\n public required: boolean;\n\n /** Controls the density type. */\n @FoundationProperty()\n public density: FieldDensityType;\n\n /** Whether the label should always float, never float or float as the user types. */\n @FoundationProperty()\n public floatLabelType: FieldFloatLabelType;\n\n /** The shape type to use. */\n @FoundationProperty()\n public shape: FieldShapeType;\n\n /** Gets/sets the placeholder text. */\n @FoundationProperty()\n public placeholder: string;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SelectComponent } from './select';\n\nexport * from './select-adapter';\nexport * from './select-constants';\nexport * from './select-foundation';\nexport * from './select';\n\nexport function defineSelectComponent(): void {\n defineCustomElement(SelectComponent);\n}\n"],
5
+ "mappings": "45BAEA,GAAM,GAA2C,GAAG,UAE9C,EAAU,CACd,KAAM,eACN,OAAQ,uBACR,cAAe,8BACf,SAAU,yBACV,YAAa,4BACb,cAAe,6BACjB,EAEM,EAAY,CAChB,KAAM,IAAI,EAAQ,OAClB,cAAe,IAAI,EAAQ,gBAC3B,MAAO,qBACP,aAAc,qBACd,eAAgB,sBAClB,EAEM,EAAa,CACjB,KAAM,OACN,MAAO,QACP,MAAO,QACP,SAAU,WACV,SAAU,WACV,YAAa,cACb,eAAgB,iBAChB,yBAA0B,0BAC5B,EAEM,EAAS,CACb,gBAAiB,GAAG,mBACtB,EAEa,EAAmB,CAC9B,cACA,UACA,YACA,aACA,QACF,ECAO,GAAM,GAAN,aAA4B,EAA4C,CAO7E,YAAY,EAA6B,CACvC,MAAM,CAAS,EACf,KAAK,eAAiB,EAAiB,EAAW,EAAiB,UAAU,IAAI,EACjF,KAAK,aAAe,EAAiB,EAAW,EAAiB,UAAU,YAAY,EACvF,KAAK,cAAgB,EAAiB,KAAK,WAAY,EAAiB,UAAU,cAAc,EAChG,KAAK,qBAAuB,EAAiB,EAAW,EAAiB,UAAU,aAAa,EAChG,KAAK,eAAiB,KAAK,cAC7B,CAEA,AAAO,iBAAwB,CAC7B,KAAK,cAAgB,EAAiB,KAAK,WAAY,EAAiB,UAAU,KAAK,CACzF,CAEA,AAAO,UAAoB,CACzB,MAAO,CAAC,CAAC,KAAK,aAChB,CAEA,AAAO,yBAAgC,CACrC,KAAK,WAAW,aAAa,OAAQ,UAAU,EAC/C,KAAK,WAAW,aAAa,gBAAiB,MAAM,EACpD,KAAK,WAAW,aAAa,gBAAiB,OAAO,EAGjD,EAAC,KAAK,WAAW,aAAa,UAAU,GAAK,KAAK,WAAW,WAAa,KAC5E,MAAK,WAAW,SAAW,EAE/B,CAEA,AAAO,yBAA0C,CAC/C,MAAO,IAAI,GAAc,KAAK,aAAa,CAC7C,CAEA,AAAO,SAAS,EAAqB,CACnC,AAAI,EAAC,KAAK,WAAW,aAAa,YAAY,GAAK,KAAK,WAAW,aAAa,YAAY,IAAM,KAAK,cAAc,cACnH,KAAK,WAAW,aAAa,aAAc,CAAK,EAElD,KAAK,cAAc,YAAc,CACnC,CAEA,AAAO,aAAa,EAAoB,CACtC,KAAK,eAAe,UAAU,IAAI,CAAI,CACxC,CAEA,AAAO,gBAAgB,EAAoB,CACzC,KAAK,eAAe,UAAU,OAAO,CAAI,CAC3C,CAEA,AAAO,mBAAmB,EAAqB,CAC7C,EAAgB,KAAK,qBAAsB,CAAC,CAAC,EAAO,cAAe,CAAK,CAC1E,CAEA,AAAO,iBAAiB,EAAsC,CAC5D,KAAK,WAAW,iBAAiB,QAAS,CAAQ,CACpD,CAEA,AAAO,oBAAoB,EAAsC,CAC/D,KAAK,WAAW,oBAAoB,QAAS,CAAQ,CACvD,CAEA,AAAO,qBAAqB,EAA2C,CACrE,KAAK,WAAW,iBAAiB,YAAa,CAAQ,CACxD,CAEA,AAAO,wBAAwB,EAA2C,CACxE,KAAK,WAAW,oBAAoB,YAAa,CAAQ,CAC3D,CAEA,AAAO,kBAAkB,EAAc,EAAsC,CAC3E,KAAK,WAAW,iBAAiB,EAAM,CAAQ,CACjD,CAEA,AAAO,qBAAqB,EAAc,EAAsC,CAC9E,KAAK,WAAW,oBAAoB,EAAM,CAAQ,CACpD,CAEA,AAAO,KAAK,EAAmC,CAC7C,MAAM,KAAK,CAAM,EACjB,KAAK,WAAW,aAAa,gBAAiB,uBAAuB,EAAO,IAAI,EAChF,KAAK,WAAW,aAAa,gBAAiB,MAAM,EACpD,EAAY,KAAK,eAAgB,GAAM,EAAiB,QAAQ,MAAM,CACxE,CAEA,AAAO,OAAc,CACnB,KAAK,WAAW,aAAa,gBAAiB,OAAO,EACrD,KAAK,WAAW,gBAAgB,uBAAuB,EACvD,KAAK,WAAW,gBAAgB,eAAe,EAC/C,EAAY,KAAK,eAAgB,GAAO,EAAiB,QAAQ,MAAM,EACvE,MAAM,MAAM,CACd,CAEA,AAAO,uBAAuB,EAAkB,CAC9C,EAAgB,KAAK,WAAY,CAAC,CAAC,EAAI,wBAAyB,CAAE,CACpE,CAEA,AAAO,gBAAgB,EAAqB,CAC1C,KAAK,qBAAqB,YAAc,CAC1C,CAEA,AAAO,mBAAmB,EAAsC,CAC9D,KAAK,aAAa,iBAAiB,aAAc,CAAQ,CAC3D,CAEA,AAAO,sBAAsB,EAAsC,CACjE,KAAK,aAAa,oBAAoB,aAAc,CAAQ,CAC9D,CAEA,AAAO,oBAAoB,EAAsC,CAC/D,KAAK,cAAc,iBAAiB,aAAc,CAAQ,CAC5D,CAEA,AAAO,uBAAuB,EAAsC,CAClE,KAAK,cAAc,oBAAoB,aAAc,CAAQ,CAC/D,CAEA,AAAO,mBAA6B,CAClC,MAAO,MAAK,aAAa,cAAc,EAAE,OAAS,CACpD,CAEA,AAAO,YAAY,EAA2B,CAC5C,EAAY,KAAK,eAAgB,EAAY,EAAgB,QAAQ,QAAQ,EAC7E,EAAgB,KAAK,WAAY,EAAY,gBAAiB,MAAM,EACpE,KAAK,WAAW,SAAW,EAAa,GAAK,CAC/C,CAEA,AAAO,WAAW,EAA0B,CAC1C,EAAY,KAAK,eAAgB,EAAW,EAAgB,QAAQ,OAAO,EAC3E,EAAgB,KAAK,WAAY,EAAW,eAAgB,MAAM,CACpE,CAEA,AAAO,YAAY,EAA2B,CAC5C,EAAY,KAAK,eAAgB,EAAY,EAAgB,QAAQ,QAAQ,EAC7E,EAAgB,KAAK,WAAY,EAAY,gBAAiB,MAAM,CACtE,CAEA,AAAO,SAAS,EAAwB,CACtC,EAAY,KAAK,eAAgB,EAAS,EAAgB,QAAQ,KAAK,CACzE,CAEA,AAAO,SAAS,EAAwB,CACtC,EAAY,KAAK,eAAgB,EAAS,EAAgB,QAAQ,KAAK,CACzE,CAEA,AAAO,YAAY,EAAyB,CAC1C,AAAI,EACF,KAAK,iBAAiB,uBAAwB,MAAM,EAEpD,KAAK,oBAAoB,sBAAsB,CAEnD,CAEA,AAAO,cAAc,EAAkB,EAA4B,CACjE,MAAO,GAAmB,KAAK,cAAc,UAAW,CAAE,WAAU,YAAW,CAAC,CAClF,CAEA,AAAO,qBAAiC,CACtC,GAAM,GAAQ,iBAAiB,KAAK,aAAa,EACjD,MAAO,CACL,SAAU,SAAS,EAAM,UAAY,KAAM,EAAE,EAC7C,WAAY,EAAM,YAAc,QAClC,CACF,CAEA,AAAO,gBAAyB,CAC9B,MAAO,MAAK,eAAe,sBAAsB,EAAE,KACrD,CAEA,AAAO,kBAA4B,CACjC,MAAK,MAAK,cAGH,KAAK,cAAc,cAAc,EAAE,OAAS,EAF1C,EAGX,CAEA,AAAO,UAAiB,CACtB,KAAK,WAAW,MAAM,CACxB,CAEA,AAAO,aAAa,EAA+B,CAEjD,MAAO,AADe,CAAC,CAAC,KAAK,WAAW,YAAc,KAAK,WAAW,WAAW,SAAS,CAAO,GACzE,KAAK,WAAW,SAAS,CAAO,CAC1D,CACF,EClNO,GAAM,GAAN,aAA+B,EAAkE,CAetG,YAAY,EAAyB,CACnC,MAAM,CAAO,EAdf,KAAQ,OAAyB,UACjC,KAAQ,OAAS,GACjB,KAAQ,UAAY,GACpB,KAAQ,SAAW,GACnB,KAAQ,UAAY,GACpB,KAAQ,gBAAuC,OAE/C,KAAQ,SAA6B,UACrC,KAAQ,eAAiB,GAOvB,KAAK,uBAAyB,GAAO,KAAK,sBAAsB,CAAG,EACnE,KAAK,wBAA0B,GAAO,KAAK,uBAAuB,CAAG,EACrE,KAAK,qBAAuB,IAAM,KAAK,SAAS,eAAe,EAC/D,KAAK,mBAAqB,GAAO,KAAK,aAAa,CAAG,CACxD,CAEA,AAAO,YAAmB,CACxB,MAAM,WAAW,EACjB,MAAM,iBAAiB,EACvB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAE9B,KAAK,SAAS,mBAAmB,KAAK,YAAY,EAClD,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,SAAS,qBAAqB,KAAK,kBAAkB,EAC1D,KAAK,SAAS,mBAAmB,KAAK,sBAAsB,EAC5D,KAAK,SAAS,oBAAoB,KAAK,uBAAuB,EAE1D,KAAK,WACP,KAAK,SAAS,YAAY,EAAI,EAG5B,KAAK,UACP,KAAK,SAAS,WAAW,EAAI,EAG/B,KAAK,eAAiB,EACxB,CAEA,AAAO,YAAmB,CACxB,MAAM,WAAW,EACjB,KAAK,SAAS,wBAAwB,KAAK,kBAAkB,EAC7D,KAAK,SAAS,sBAAsB,KAAK,sBAAsB,EAC/D,KAAK,SAAS,uBAAuB,KAAK,sBAAsB,EAE5D,KAAK,wBACP,MAAK,uBAAuB,QAAQ,EACpC,KAAK,uBAAyB,OAElC,CAEA,AAAQ,kBAAyB,CAI/B,GAHA,KAAK,SAAS,gBAAgB,EAC9B,KAAK,aAAa,EAClB,KAAK,uBAAyB,KAAK,SAAS,wBAAwB,EAChE,KAAK,kBAAoB,SAC3B,KAAK,YAAY,EAAI,MAChB,CACL,GAAM,GAAU,CAAC,CAAC,KAAK,iBAAiB,EAClC,EAAiB,CAAC,CAAC,KAAK,aAC9B,KAAK,YAAY,GAAW,CAAc,CAC5C,CACF,CAEA,AAAQ,eAAsB,CAC5B,AAAI,KAAK,wBACP,MAAK,uBAAuB,QAAQ,EACpC,KAAK,uBAAyB,OAElC,CAEA,AAAU,kBAAyB,CACjC,MAAM,iBAAiB,EACnB,KAAK,gBAAgB,QACvB,KAAK,YAAY,EAAI,CAEzB,CAEA,AAAQ,0BAAiC,CACvC,KAAK,SAAS,YAAY,KAAK,SAAS,EACpC,KAAK,WACP,KAAK,SAAS,iBAAiB,gBAAiB,MAAM,EAEpD,KAAK,WACP,KAAK,SAAS,iBAAiB,gBAAiB,MAAM,EAEpD,KAAK,UACP,KAAK,SAAS,iBAAiB,eAAgB,MAAM,CAEzD,CAEA,AAAQ,aAAa,EAAuB,CAE1C,AAAI,AADwB,KAAK,SAAS,aAAa,EAAI,MAAqB,GAE9E,EAAI,eAAe,CAEvB,CAGA,AAAQ,sBAAsB,EAAkB,CAC9C,KAAK,sBAAsB,CAC7B,CAGA,AAAQ,uBAAuB,EAAkB,CAC/C,KAAK,uBAAuB,CAC9B,CAGA,AAAQ,uBAA8B,CACpC,AAAI,KAAK,SAAS,kBAAkB,EAClC,KAAK,SAAS,aAAa,EAAgB,QAAQ,OAAO,EAE1D,KAAK,SAAS,gBAAgB,EAAgB,QAAQ,OAAO,CAEjE,CAEA,AAAQ,wBAA+B,CACrC,AAAI,KAAK,SAAS,iBAAiB,EACjC,KAAK,SAAS,aAAa,EAAgB,QAAQ,SAAS,EAE5D,KAAK,SAAS,gBAAgB,EAAgB,QAAQ,SAAS,CAEnE,CAEA,AAAU,SAAS,EAAuB,CAOxC,AANI,KAAK,WAML,AADiB,EAAa,CAAG,EACpB,KAAK,GAAM,EAAG,WAAa,EAAG,UAAU,SAAS,EAAgB,QAAQ,mBAAmB,CAAC,GAI9G,MAAK,SAAS,EACd,MAAM,SAAS,CAAG,EACpB,CAGA,AAAU,SAAS,EAAkB,CACnC,AAAI,KAAK,WAGT,MAAK,YAAY,EACjB,MAAM,SAAS,CAAG,EACpB,CAEA,AAAU,YAAY,EAAsB,CAC1C,AAAI,CAAC,KAAK,wBAIV,CAAI,EACF,KAAK,SAAS,aAAa,EAAiB,QAAQ,WAAW,EAE/D,KAAK,SAAS,gBAAgB,EAAiB,QAAQ,WAAW,EAGhE,KAAK,kBAAoB,UAC3B,GAAQ,IAGV,KAAK,uBAAuB,MAAM,EAAO,KAAK,kBAAoB,QAAQ,EAC5E,CAGA,AAAU,QAAQ,EAAuB,CACvC,MAAM,QAAQ,CAAG,EACjB,KAAK,YAAY,CACnB,CAEA,AAAU,YAAmB,CAC3B,MAAM,WAAW,EACjB,KAAK,YAAY,CACnB,CAEA,AAAU,sBAA6B,CACrC,KAAK,SAAS,cAAc,EAAiB,OAAO,eAAe,CACrE,CAOA,KAAgB,WAAU,EAAuB,EAAqB,EAAgB,GAAwB,CAC5G,GAAM,GAAS,KAAM,OAAM,UAAU,EAAQ,EAAa,CAAa,EACvE,MAAI,IACF,MAAK,SAAS,gBAAgB,KAAK,iBAAiB,CAAC,EACjD,GAAiB,CAAC,KAAK,WACzB,KAAK,SAAS,SAAS,GAGpB,CACT,CAGA,AAAQ,aAAoB,CAC1B,KAAK,SAAS,aAAa,EAAgB,QAAQ,OAAO,EAC1D,KAAK,YAAY,EAAI,CACvB,CAGA,AAAQ,aAAoB,CA5O9B,MA6OI,KAAK,SAAS,gBAAgB,EAAgB,QAAQ,OAAO,EACzD,CAAC,KAAK,gBAAgB,QAAU,CAAC,SAAK,eAAL,QAAmB,SACtD,KAAK,YAAY,EAAK,CAE1B,CAGA,AAAU,QAAe,CApP3B,MAqPI,MAAM,OAAO,EACb,KAAK,SAAS,gBAAgB,EAAE,EAChC,KAAK,YAAY,CAAC,SAAK,eAAL,QAAmB,OAAM,CAC7C,CAEA,AAAQ,cAAqB,CAC3B,AAAI,KAAK,SAAS,SAAS,GACzB,KAAK,SAAS,SAAS,KAAK,MAAM,EAEpC,AAAI,KAAK,QAAU,KAAK,WAAa,QACnC,KAAK,SAAS,aAAa,EAAgB,QAAQ,KAAK,EAExD,KAAK,SAAS,gBAAgB,EAAgB,QAAQ,KAAK,CAE/D,CAEA,AAAU,YAAY,EAAgC,CACpD,MAAM,YAAY,CAAK,EAGvB,GAAM,GAAO,KAAK,iBAAiB,EACnC,KAAK,SAAS,gBAAgB,CAAI,EAC7B,KAAK,OACR,KAAK,YAAY,CAAC,CAAC,GAAQ,CAAC,CAAC,KAAK,YAAY,CAElD,CAEA,AAAQ,eAAsB,CAC5B,KAAK,SAAS,SAAS,KAAK,WAAa,OAAO,EAChD,KAAK,SAAS,SAAS,KAAK,WAAa,OAAO,CAClD,CAEA,AAAU,eAAsB,CAC9B,AAAI,KAAK,SAAW,UAClB,KAAK,SAAS,aAAa,EAAgB,QAAQ,aAAa,EAEhE,KAAK,SAAS,gBAAgB,EAAgB,QAAQ,aAAa,CAEvE,CAEA,AAAO,UAAiB,CACtB,KAAK,SAAS,SAAS,CACzB,CAGA,GAAW,QAAgB,CACzB,MAAO,MAAK,MACd,CACA,GAAW,OAAM,EAAe,CAC9B,AAAI,KAAK,SAAW,GAClB,MAAK,OAAS,EACd,KAAK,aAAa,EAClB,AAAI,KAAK,OACP,MAAK,iBAAiB,EACtB,KAAK,SAAS,iBAAiB,EAAiB,WAAW,MAAO,KAAK,MAAM,GAE7E,MAAK,cAAc,EACnB,KAAK,SAAW,GAChB,KAAK,SAAS,oBAAoB,EAAiB,WAAW,KAAK,GAGzE,CAEA,GAAW,QAAwB,CACjC,MAAO,MAAK,MACd,CACA,GAAW,OAAM,EAAuB,CACtC,AAAI,KAAK,SAAW,GAClB,MAAK,OAAS,EAEV,KAAK,gBACP,KAAK,cAAc,EAGrB,KAAK,SAAS,iBAAiB,EAAgB,WAAW,MAAO,KAAK,MAAM,EAEhF,CAGA,GAAW,WAAoB,CAC7B,MAAO,MAAK,SACd,CACA,GAAW,UAAS,EAAgB,CAClC,AAAI,KAAK,YAAc,GACrB,MAAK,UAAY,EACjB,KAAK,SAAS,YAAY,KAAK,SAAS,EACxC,KAAK,iBAAiB,EAE1B,CAGA,GAAW,UAAmB,CAC5B,MAAO,MAAK,QACd,CACA,GAAW,SAAQ,EAAgB,CACjC,AAAI,KAAK,WAAa,GACpB,MAAK,SAAW,EAChB,KAAK,SAAS,WAAW,KAAK,QAAQ,EAE1C,CAGA,GAAW,WAAoB,CAC7B,MAAO,MAAK,SACd,CACA,GAAW,UAAS,EAAgB,CAClC,AAAI,KAAK,YAAc,GACrB,MAAK,UAAY,EACjB,KAAK,SAAS,YAAY,KAAK,SAAS,EACxC,KAAK,SAAS,oBAAoB,EAAgB,WAAW,SAAU,KAAK,SAAS,EAEzF,CAGA,GAAW,UAA4B,CACrC,MAAO,MAAK,QACd,CACA,GAAW,SAAQ,EAAyB,CAC1C,AAAI,KAAK,WAAa,GACpB,MAAK,SAAW,EAChB,KAAK,cAAc,EACnB,KAAK,SAAS,iBAAiB,EAAgB,WAAW,QAAS,KAAK,SAAS,SAAS,CAAC,EAC3F,KAAK,iBAAiB,EAE1B,CAGA,GAAW,iBAAsC,CAC/C,MAAO,MAAK,eACd,CACA,GAAW,gBAAe,EAA4B,CACpD,AAAI,KAAK,kBAAoB,GAC3B,MAAK,gBAAkB,EACvB,KAAK,YAAY,KAAK,kBAAoB,UAAY,CAAC,CAAC,KAAK,YAAY,EACzE,KAAK,SAAS,iBAAiB,EAAgB,WAAW,iBAAkB,EAAU,KAAK,eAAe,EAAI,KAAK,gBAAgB,SAAS,EAAI,EAAE,EAEtJ,CAGA,GAAW,cAAsB,CAC/B,MAAO,MAAK,YACd,CACA,GAAW,aAAY,EAAe,CACpC,AAAI,KAAK,eAAiB,GACxB,MAAK,aAAe,EACpB,KAAK,SAAS,mBAAmB,KAAK,YAAY,EAClD,KAAK,iBAAiB,EAE1B,CACF,ECxXA,GAAM,GAAW,isBACX,EAAS,m4jBA4CF,EAAN,aAA8B,EAAkE,CAqBrG,aAAc,CACZ,MAAM,EACN,EAAa,OAAO,CAAC,EAAsB,EAAiB,CAA2B,CAAC,EACxF,EAAqB,KAAM,EAAU,CAAM,EAC3C,KAAK,YAAc,GAAI,GAAiB,GAAI,GAAc,IAAI,CAAC,CACjE,CAzBA,UAAkB,qBAA+B,CAC/C,MAAO,CACL,EAAgB,WAAW,QAC3B,EAAgB,WAAW,iBAC3B,EAAgB,WAAW,MAC3B,EAAgB,WAAW,QAC3B,EAAgB,WAAW,SAC3B,EAAiB,WAAW,MAC5B,EAAiB,WAAW,SAC5B,EAAiB,WAAW,MAC5B,EAAiB,WAAW,SAC5B,EAAiB,WAAW,YAC5B,EAAiB,WAAW,eAC5B,EAAiB,WAAW,yBAC5B,EAAsB,WAAW,cACjC,EAAsB,WAAW,aACjC,EAAsB,WAAW,gBACnC,CACF,CASA,AAAO,yBAAyB,EAAc,EAAkB,EAAwB,CACtF,OAAQ,OACD,GAAgB,WAAW,QAC9B,KAAK,QAAU,EACf,WACG,GAAgB,WAAW,iBAC9B,KAAK,eAAiB,EACtB,WACG,GAAgB,WAAW,MAC9B,KAAK,MAAQ,EACb,UACG,GAAgB,WAAW,QAC9B,KAAK,QAAU,EAAc,CAAQ,EACrC,WACG,GAAgB,WAAW,SAC9B,KAAK,SAAW,EAAc,CAAQ,EACtC,WACG,GAAiB,WAAW,MAC/B,KAAK,MAAQ,EACb,WACG,GAAiB,WAAW,SAC/B,KAAK,SAAW,EAAc,CAAQ,EACtC,WACG,GAAiB,WAAW,YAC/B,KAAK,YAAc,EACnB,OAEJ,MAAM,yBAAyB,EAAM,EAAU,CAAQ,CACzD,CAiCF,EA7BS,GADP,AAAC,EAAmB,GACb,AA5DI,EA4DJ,qBAIA,GADP,AAAC,EAAmB,GACb,AAhEI,EAgEJ,wBAIA,GADP,AAAC,EAAmB,GACb,AApEI,EAoEJ,uBAIA,GADP,AAAC,EAAmB,GACb,AAxEI,EAwEJ,wBAIA,GADP,AAAC,EAAmB,GACb,AA5EI,EA4EJ,uBAIA,GADP,AAAC,EAAmB,GACb,AAhFI,EAgFJ,8BAIA,GADP,AAAC,EAAmB,GACb,AApFI,EAoFJ,qBAIA,GADP,AAAC,EAAmB,GACb,AAxFI,EAwFJ,2BAxFI,EAAN,GAfP,AAAC,EAAc,CACb,KAAM,EAAiB,YACvB,aAAc,CACZ,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACF,CACF,CAAC,GACY,GCtDN,aAAuC,CAC5C,EAAoB,CAAe,CACrC",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as b}from"./chunk.A23NSEWA.js";import{a as r}from"./chunk.B3IJU6XJ.js";import{a as c,b as _}from"./chunk.BSZ2LBJX.js";import{a as d}from"./chunk.3E5QKMHL.js";import{a as g}from"./chunk.HN4PXH3D.js";import{k as p}from"./chunk.G76HB2FK.js";import{f as s}from"./chunk.MCIQXNKY.js";var o=class extends b{constructor(t){super(t)}};var u=`${_}option`,h={DISABLED:"disabled",DIVIDER:"divider",LABEL:"label",LEADING_ICON_CLASS:"leading-icon-class",LEADING_ICON_TYPE:"leading-icon-type",LEADING_ICON:"leading-icon",OPTION_CLASS:"option-class",TRAILING_ICON_CLASS:"trailing-icon-class",TRAILING_ICON_TYPE:"trailing-icon-type",TRAILING_ICON:"trailing-icon",VALUE:"value"},i={elementName:u,attributes:h};var l=class{constructor(t){this._adapter=t;this._disabled=!1;this._divider=!1;this._optionClass=[]}get value(){return this._value}set value(t){this._value!==t&&(this._value=t)}get label(){return this._label}set label(t){this._label!==t&&(this._label=t,this._adapter.toggleHostAttribute(i.attributes.LABEL,!!this._label,this._label))}get disabled(){return this._disabled}set disabled(t){this._disabled!==t&&(this._disabled=t,this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled))}get divider(){return this._divider}set divider(t){this._divider!==t&&(this._divider=t,this._adapter.toggleHostAttribute(i.attributes.DIVIDER,this._divider))}get optionClass(){return this._optionClass}set optionClass(t){t?typeof t=="string"&&(t=t.split(" ")):t=[],t=t.filter(a=>a&&!/\s+/.test(a)),this._optionClass.toString()!==t.toString()&&(this._optionClass=t,this._adapter.toggleHostAttribute(i.attributes.OPTION_CLASS,this._optionClass&&!!this._optionClass.length,this._optionClass.join(" ")))}get leadingIcon(){return this._leadingIcon}set leadingIcon(t){this._leadingIcon!==t&&(this._leadingIcon=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON,!!this._leadingIcon,this._leadingIcon))}get leadingIconClass(){return this._leadingIconClass}set leadingIconClass(t){this._leadingIconClass!==t&&(this._leadingIconClass=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON_CLASS,!!this._leadingIconClass,this._leadingIconClass))}get leadingIconType(){return this._leadingIconType}set leadingIconType(t){this._leadingIconType!==t&&(this._leadingIconType=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON_TYPE,!!this._leadingIconType,this._leadingIconType))}get trailingIcon(){return this._trailingIcon}set trailingIcon(t){this._trailingIcon!==t&&(this._trailingIcon=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON,!!this._trailingIcon,this._trailingIcon))}get trailingIconClass(){return this._trailingIconClass}set trailingIconClass(t){this._trailingIconClass!==t&&(this._trailingIconClass=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON_CLASS,!!this._trailingIconClass,this._trailingIconClass))}get trailingIconType(){return this._trailingIconType}set trailingIconType(t){this._trailingIconType!==t&&(this._trailingIconType=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON_TYPE,!!this._trailingIconType,this._trailingIconType))}get leadingBuilder(){return this._leadingBuilder}set leadingBuilder(t){this._leadingBuilder!==t&&(this._leadingBuilder=t)}get trailingBuilder(){return this._trailingBuilder}set trailingBuilder(t){this._trailingBuilder!==t&&(this._trailingBuilder=t)}};var e=class extends d{constructor(){super();this._foundation=new l(new o(this))}static get observedAttributes(){return[i.attributes.VALUE,i.attributes.LABEL,i.attributes.DISABLED,i.attributes.DIVIDER,i.attributes.OPTION_CLASS,i.attributes.LEADING_ICON,i.attributes.LEADING_ICON_CLASS,i.attributes.LEADING_ICON_TYPE,i.attributes.TRAILING_ICON,i.attributes.TRAILING_ICON_CLASS,i.attributes.TRAILING_ICON_TYPE]}initializedCallback(){this.hasAttribute("role")||this.setAttribute("role","option")}attributeChangedCallback(a,T,n){switch(a){case i.attributes.VALUE:this.value=n;break;case i.attributes.LABEL:this.label=n;break;case i.attributes.DISABLED:this.disabled=p(n);break;case i.attributes.DIVIDER:this.divider=this.hasAttribute(i.attributes.DIVIDER);break;case i.attributes.OPTION_CLASS:this.optionClass=n;break;case i.attributes.LEADING_ICON:this.leadingIcon=n;break;case i.attributes.LEADING_ICON_CLASS:this.leadingIconClass=n;break;case i.attributes.LEADING_ICON_TYPE:this.leadingIconType=n;break;case i.attributes.TRAILING_ICON:this.trailingIcon=n;break;case i.attributes.TRAILING_ICON_CLASS:this.trailingIconClass=n;break;case i.attributes.TRAILING_ICON_TYPE:this.trailingIconType=n;break}}};s([r()],e.prototype,"value",2),s([r()],e.prototype,"label",2),s([r()],e.prototype,"disabled",2),s([r()],e.prototype,"divider",2),s([r()],e.prototype,"optionClass",2),s([r()],e.prototype,"leadingIcon",2),s([r()],e.prototype,"leadingIconClass",2),s([r()],e.prototype,"leadingIconType",2),s([r()],e.prototype,"trailingIcon",2),s([r()],e.prototype,"trailingIconClass",2),s([r()],e.prototype,"trailingIconType",2),s([r()],e.prototype,"leadingBuilder",2),s([r()],e.prototype,"trailingBuilder",2),e=s([c({name:i.elementName})],e);function P(){g(e)}export{o as a,i as b,l as c,e as d,P as e};
7
+ //# sourceMappingURL=chunk.IGMTMR3D.js.map