@tylertech/forge 2.13.2 → 2.14.0-dev.1

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 (602) hide show
  1. package/custom-elements.json +2804 -504
  2. package/dist/button/forge-button.css +1 -1
  3. package/dist/esm/accordion/index.js +1 -1
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  20. package/dist/esm/button-toggle/index.js +1 -1
  21. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  22. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  23. package/dist/esm/calendar/core/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/chunk.2BNDXFI5.js +7 -0
  32. package/dist/esm/chunks/chunk.2BNDXFI5.js.map +7 -0
  33. package/dist/esm/chunks/{chunk.PYG4YVBA.js → chunk.2DXG2R3M.js} +2 -2
  34. package/dist/esm/chunks/chunk.2DXG2R3M.js.map +7 -0
  35. package/dist/esm/chunks/{chunk.UUX4QJ4D.js → chunk.3KQL7VAZ.js} +1 -1
  36. package/dist/esm/chunks/{chunk.UUX4QJ4D.js.map → chunk.3KQL7VAZ.js.map} +2 -2
  37. package/dist/esm/chunks/chunk.44IJE5UL.js +7 -0
  38. package/dist/esm/chunks/chunk.44IJE5UL.js.map +7 -0
  39. package/dist/esm/chunks/{chunk.MIYZJUXH.js → chunk.47A2CN5U.js} +2 -2
  40. package/dist/esm/chunks/{chunk.MIYZJUXH.js.map → chunk.47A2CN5U.js.map} +2 -2
  41. package/dist/esm/chunks/{chunk.OLNFXF3V.js → chunk.4BEI55KI.js} +2 -2
  42. package/dist/esm/chunks/{chunk.OLNFXF3V.js.map → chunk.4BEI55KI.js.map} +2 -2
  43. package/dist/esm/chunks/{chunk.EC6JSIQW.js → chunk.4DAIIJ37.js} +1 -1
  44. package/dist/esm/chunks/{chunk.EC6JSIQW.js.map → chunk.4DAIIJ37.js.map} +2 -2
  45. package/dist/esm/chunks/{chunk.B52LJRGH.js → chunk.4FSAAN6W.js} +2 -2
  46. package/dist/esm/chunks/{chunk.B52LJRGH.js.map → chunk.4FSAAN6W.js.map} +2 -2
  47. package/dist/esm/chunks/chunk.4NI63FGK.js +7 -0
  48. package/dist/esm/chunks/chunk.4NI63FGK.js.map +7 -0
  49. package/dist/esm/chunks/{chunk.KBMLP7UT.js → chunk.4WPFFNLH.js} +2 -2
  50. package/dist/esm/chunks/{chunk.KBMLP7UT.js.map → chunk.4WPFFNLH.js.map} +3 -3
  51. package/dist/esm/chunks/chunk.4X2OFZDL.js +7 -0
  52. package/dist/esm/chunks/chunk.4X2OFZDL.js.map +7 -0
  53. package/dist/esm/chunks/chunk.5FPFRE4H.js +7 -0
  54. package/dist/esm/chunks/chunk.5FPFRE4H.js.map +7 -0
  55. package/dist/esm/chunks/chunk.6OKJPSUE.js +7 -0
  56. package/dist/esm/chunks/chunk.6OKJPSUE.js.map +7 -0
  57. package/dist/esm/chunks/{chunk.AMFXGOSA.js → chunk.6YPD6CQM.js} +1 -1
  58. package/dist/esm/chunks/{chunk.AMFXGOSA.js.map → chunk.6YPD6CQM.js.map} +2 -2
  59. package/dist/esm/chunks/chunk.72AUOVCD.js +7 -0
  60. package/dist/esm/chunks/chunk.72AUOVCD.js.map +7 -0
  61. package/dist/esm/chunks/{chunk.X5JLUP7O.js → chunk.73AYD2BF.js} +2 -2
  62. package/dist/esm/chunks/{chunk.X5JLUP7O.js.map → chunk.73AYD2BF.js.map} +2 -2
  63. package/dist/esm/chunks/chunk.77Y3EABF.js +7 -0
  64. package/dist/esm/chunks/chunk.77Y3EABF.js.map +7 -0
  65. package/dist/esm/chunks/chunk.7A6MX6CS.js +7 -0
  66. package/dist/esm/chunks/chunk.7A6MX6CS.js.map +7 -0
  67. package/dist/esm/chunks/{chunk.V55E5JD5.js → chunk.7UKA4E5A.js} +2 -2
  68. package/dist/esm/chunks/{chunk.V55E5JD5.js.map → chunk.7UKA4E5A.js.map} +2 -2
  69. package/dist/esm/chunks/{chunk.GVQVA7P3.js → chunk.7XFU2W25.js} +1 -1
  70. package/dist/esm/chunks/{chunk.GVQVA7P3.js.map → chunk.7XFU2W25.js.map} +2 -2
  71. package/dist/esm/chunks/{chunk.MYNPY3AQ.js → chunk.AFLH5HUG.js} +2 -2
  72. package/dist/esm/chunks/{chunk.MYNPY3AQ.js.map → chunk.AFLH5HUG.js.map} +2 -2
  73. package/dist/esm/chunks/{chunk.24D46RLZ.js → chunk.ARJ3EVVO.js} +2 -2
  74. package/dist/esm/chunks/{chunk.24D46RLZ.js.map → chunk.ARJ3EVVO.js.map} +2 -2
  75. package/dist/esm/chunks/{chunk.OOW3UKT4.js → chunk.BE7PZANN.js} +2 -2
  76. package/dist/esm/chunks/{chunk.OOW3UKT4.js.map → chunk.BE7PZANN.js.map} +2 -2
  77. package/dist/esm/chunks/{chunk.3STDLL5U.js → chunk.BJE6O5ES.js} +2 -2
  78. package/dist/esm/chunks/{chunk.3STDLL5U.js.map → chunk.BJE6O5ES.js.map} +2 -2
  79. package/dist/esm/chunks/{chunk.2GY2VPJG.js → chunk.BJZ7RB5F.js} +1 -1
  80. package/dist/esm/chunks/{chunk.2GY2VPJG.js.map → chunk.BJZ7RB5F.js.map} +2 -2
  81. package/dist/esm/chunks/chunk.BTBHIIGI.js +7 -0
  82. package/dist/esm/chunks/chunk.BTBHIIGI.js.map +7 -0
  83. package/dist/esm/chunks/chunk.C7AN6FMW.js +7 -0
  84. package/dist/esm/chunks/chunk.C7AN6FMW.js.map +7 -0
  85. package/dist/esm/chunks/{chunk.NV2HNCQH.js → chunk.DFJUCHEO.js} +2 -2
  86. package/dist/esm/chunks/{chunk.NV2HNCQH.js.map → chunk.DFJUCHEO.js.map} +2 -2
  87. package/dist/esm/chunks/{chunk.AWCBH5KW.js → chunk.DONAMICM.js} +1 -1
  88. package/dist/esm/chunks/{chunk.AWCBH5KW.js.map → chunk.DONAMICM.js.map} +2 -2
  89. package/dist/esm/chunks/chunk.DQJPIDVW.js +7 -0
  90. package/dist/esm/chunks/chunk.DQJPIDVW.js.map +7 -0
  91. package/dist/esm/chunks/{chunk.PBJEZJTY.js → chunk.DT7MZR5Y.js} +2 -2
  92. package/dist/esm/chunks/{chunk.PBJEZJTY.js.map → chunk.DT7MZR5Y.js.map} +2 -2
  93. package/dist/esm/chunks/chunk.DYNEJBYK.js +7 -0
  94. package/dist/esm/chunks/{chunk.O5I3ZMDA.js.map → chunk.DYNEJBYK.js.map} +2 -2
  95. package/dist/esm/chunks/chunk.E6CYXNS2.js +7 -0
  96. package/dist/esm/chunks/chunk.E6CYXNS2.js.map +7 -0
  97. package/dist/esm/chunks/{chunk.ZFD3OE45.js → chunk.EGRUD7S7.js} +2 -2
  98. package/dist/esm/chunks/{chunk.ZFD3OE45.js.map → chunk.EGRUD7S7.js.map} +2 -2
  99. package/dist/esm/chunks/chunk.ESR2NHOS.js +7 -0
  100. package/dist/esm/chunks/chunk.ESR2NHOS.js.map +7 -0
  101. package/dist/esm/chunks/{chunk.55BOUOT6.js → chunk.F2B24WLK.js} +2 -2
  102. package/dist/esm/chunks/{chunk.55BOUOT6.js.map → chunk.F2B24WLK.js.map} +2 -2
  103. package/dist/esm/chunks/chunk.F3MP6AXF.js +29 -0
  104. package/dist/esm/chunks/chunk.F3MP6AXF.js.map +7 -0
  105. package/dist/esm/chunks/{chunk.Z4MN5NB5.js → chunk.FRYLJWYL.js} +2 -2
  106. package/dist/esm/chunks/{chunk.Z4MN5NB5.js.map → chunk.FRYLJWYL.js.map} +2 -2
  107. package/dist/esm/chunks/chunk.FVRSGKJD.js +7 -0
  108. package/dist/esm/chunks/chunk.FVRSGKJD.js.map +7 -0
  109. package/dist/esm/chunks/chunk.G3ZTZ4AN.js +7 -0
  110. package/dist/esm/chunks/chunk.G3ZTZ4AN.js.map +7 -0
  111. package/dist/esm/chunks/{chunk.MNPORZ4F.js → chunk.G45OZEIS.js} +2 -2
  112. package/dist/esm/chunks/{chunk.MNPORZ4F.js.map → chunk.G45OZEIS.js.map} +2 -2
  113. package/dist/esm/chunks/{chunk.5PXABBKU.js → chunk.G5MGGEFP.js} +2 -2
  114. package/dist/esm/chunks/{chunk.5PXABBKU.js.map → chunk.G5MGGEFP.js.map} +2 -2
  115. package/dist/esm/chunks/{chunk.Y6FFG7XO.js → chunk.GO5A4GKZ.js} +1 -1
  116. package/dist/esm/chunks/{chunk.Y6FFG7XO.js.map → chunk.GO5A4GKZ.js.map} +2 -2
  117. package/dist/esm/chunks/{chunk.L54GENPD.js → chunk.H4Z4DHPA.js} +2 -2
  118. package/dist/esm/chunks/{chunk.L54GENPD.js.map → chunk.H4Z4DHPA.js.map} +2 -2
  119. package/dist/esm/chunks/chunk.HBMNXZES.js +7 -0
  120. package/dist/esm/chunks/chunk.HBMNXZES.js.map +7 -0
  121. package/dist/esm/chunks/{chunk.Y5GQ2BA7.js → chunk.HPDBSBQJ.js} +2 -2
  122. package/dist/esm/chunks/{chunk.Y5GQ2BA7.js.map → chunk.HPDBSBQJ.js.map} +2 -2
  123. package/dist/esm/chunks/{chunk.TLS4ALGU.js → chunk.HU27X3IT.js} +2 -2
  124. package/dist/esm/chunks/{chunk.TLS4ALGU.js.map → chunk.HU27X3IT.js.map} +2 -2
  125. package/dist/esm/chunks/{chunk.ORF746AF.js → chunk.HV6SPRC4.js} +2 -2
  126. package/dist/esm/chunks/{chunk.ORF746AF.js.map → chunk.HV6SPRC4.js.map} +2 -2
  127. package/dist/esm/chunks/chunk.I5BAZWUF.js +7 -0
  128. package/dist/esm/chunks/chunk.I5BAZWUF.js.map +7 -0
  129. package/dist/esm/chunks/chunk.IGTXLDZS.js +7 -0
  130. package/dist/esm/chunks/{chunk.BYRJ7577.js.map → chunk.IGTXLDZS.js.map} +2 -2
  131. package/dist/esm/chunks/{chunk.GXUYYBVO.js → chunk.ILRWZHH3.js} +2 -2
  132. package/dist/esm/chunks/chunk.ILRWZHH3.js.map +7 -0
  133. package/dist/esm/chunks/{chunk.Z6S62LZJ.js → chunk.INCKI5IX.js} +2 -2
  134. package/dist/esm/chunks/{chunk.Z6S62LZJ.js.map → chunk.INCKI5IX.js.map} +2 -2
  135. package/dist/esm/chunks/{chunk.IMZ5PF4C.js → chunk.J2H5RXTX.js} +2 -2
  136. package/dist/esm/chunks/{chunk.IMZ5PF4C.js.map → chunk.J2H5RXTX.js.map} +2 -2
  137. package/dist/esm/chunks/{chunk.G76HB2FK.js → chunk.J2M2MXP2.js} +1 -1
  138. package/dist/esm/chunks/{chunk.G76HB2FK.js.map → chunk.J2M2MXP2.js.map} +2 -2
  139. package/dist/esm/chunks/{chunk.SVGEVCXA.js → chunk.J6WCFQSS.js} +2 -2
  140. package/dist/esm/chunks/{chunk.SVGEVCXA.js.map → chunk.J6WCFQSS.js.map} +2 -2
  141. package/dist/esm/chunks/{chunk.HWVLZ44Q.js → chunk.JEN6YP2Q.js} +2 -2
  142. package/dist/esm/chunks/{chunk.HWVLZ44Q.js.map → chunk.JEN6YP2Q.js.map} +2 -2
  143. package/dist/esm/chunks/{chunk.JXY6MTP3.js → chunk.JHBCYICS.js} +2 -2
  144. package/dist/esm/chunks/{chunk.JXY6MTP3.js.map → chunk.JHBCYICS.js.map} +2 -2
  145. package/dist/esm/chunks/chunk.JHY2CKEH.js +7 -0
  146. package/dist/esm/chunks/{chunk.VW4JVRH7.js.map → chunk.JHY2CKEH.js.map} +2 -2
  147. package/dist/esm/chunks/{chunk.FL6SJHQU.js → chunk.K2C4W3CO.js} +2 -2
  148. package/dist/esm/chunks/{chunk.FL6SJHQU.js.map → chunk.K2C4W3CO.js.map} +3 -3
  149. package/dist/esm/chunks/chunk.K6AFP52A.js +7 -0
  150. package/dist/esm/chunks/chunk.K6AFP52A.js.map +7 -0
  151. package/dist/esm/chunks/{chunk.ZAGCOV55.js → chunk.KE6GOYAB.js} +2 -2
  152. package/dist/esm/chunks/{chunk.ZAGCOV55.js.map → chunk.KE6GOYAB.js.map} +2 -2
  153. package/dist/esm/chunks/{chunk.B3IJU6XJ.js → chunk.KTGSZEAG.js} +1 -1
  154. package/dist/esm/chunks/{chunk.B3IJU6XJ.js.map → chunk.KTGSZEAG.js.map} +2 -2
  155. package/dist/esm/chunks/{chunk.BMFJLHDR.js → chunk.KU5CXXGS.js} +2 -2
  156. package/dist/esm/chunks/{chunk.BMFJLHDR.js.map → chunk.KU5CXXGS.js.map} +2 -2
  157. package/dist/esm/chunks/{chunk.ALJ3FDXL.js → chunk.KZO4DT2S.js} +2 -2
  158. package/dist/esm/chunks/{chunk.ALJ3FDXL.js.map → chunk.KZO4DT2S.js.map} +3 -3
  159. package/dist/esm/chunks/{chunk.7MVBJ37L.js → chunk.LDN4HLF7.js} +2 -2
  160. package/dist/esm/chunks/{chunk.7MVBJ37L.js.map → chunk.LDN4HLF7.js.map} +2 -2
  161. package/dist/esm/chunks/chunk.LFLREB3C.js +7 -0
  162. package/dist/esm/chunks/chunk.LFLREB3C.js.map +7 -0
  163. package/dist/esm/chunks/{chunk.E37HEAJ5.js → chunk.LIKJD4SK.js} +1 -1
  164. package/dist/esm/chunks/{chunk.E37HEAJ5.js.map → chunk.LIKJD4SK.js.map} +2 -2
  165. package/dist/esm/chunks/{chunk.S76NW5JY.js → chunk.LYOQ2RGP.js} +2 -2
  166. package/dist/esm/chunks/{chunk.S76NW5JY.js.map → chunk.LYOQ2RGP.js.map} +2 -2
  167. package/dist/esm/chunks/chunk.MHOS3IHQ.js +7 -0
  168. package/dist/esm/chunks/chunk.MHOS3IHQ.js.map +7 -0
  169. package/dist/esm/chunks/{chunk.IARIRFXO.js → chunk.MLV25D2G.js} +2 -2
  170. package/dist/esm/chunks/{chunk.IARIRFXO.js.map → chunk.MLV25D2G.js.map} +2 -2
  171. package/dist/esm/chunks/{chunk.N24NHF7Y.js → chunk.MXTDW27J.js} +2 -2
  172. package/dist/esm/chunks/{chunk.N24NHF7Y.js.map → chunk.MXTDW27J.js.map} +2 -2
  173. package/dist/esm/chunks/{chunk.LZMYHIO2.js → chunk.MZLPUI6R.js} +1 -1
  174. package/dist/esm/chunks/{chunk.LZMYHIO2.js.map → chunk.MZLPUI6R.js.map} +2 -2
  175. package/dist/esm/chunks/{chunk.SLSVRMAS.js → chunk.N4PVZUJX.js} +2 -2
  176. package/dist/esm/chunks/{chunk.SLSVRMAS.js.map → chunk.N4PVZUJX.js.map} +2 -2
  177. package/dist/esm/chunks/{chunk.YG2KLPHA.js.map → chunk.NW7NV2A2.js} +7 -7
  178. package/dist/esm/chunks/chunk.NW7NV2A2.js.map +7 -0
  179. package/dist/esm/chunks/{chunk.LGEYSCS2.js → chunk.O4FB4BV5.js} +2 -2
  180. package/dist/esm/chunks/{chunk.LGEYSCS2.js.map → chunk.O4FB4BV5.js.map} +2 -2
  181. package/dist/esm/chunks/{chunk.N46G56GG.js → chunk.O73S5LF3.js} +2 -2
  182. package/dist/esm/chunks/{chunk.N46G56GG.js.map → chunk.O73S5LF3.js.map} +2 -2
  183. package/dist/esm/chunks/{chunk.BCP2YATB.js → chunk.OV4QNVJH.js} +2 -2
  184. package/dist/esm/chunks/{chunk.BCP2YATB.js.map → chunk.OV4QNVJH.js.map} +2 -2
  185. package/dist/esm/chunks/{chunk.OJFI5I6O.js → chunk.OZ5BPXNV.js} +2 -2
  186. package/dist/esm/chunks/{chunk.OJFI5I6O.js.map → chunk.OZ5BPXNV.js.map} +2 -2
  187. package/dist/esm/chunks/{chunk.VHKQHMK3.js → chunk.P3IA2WTO.js} +2 -2
  188. package/dist/esm/chunks/{chunk.VHKQHMK3.js.map → chunk.P3IA2WTO.js.map} +3 -3
  189. package/dist/esm/chunks/{chunk.HWQEGQDD.js → chunk.PALRSBSY.js} +2 -2
  190. package/dist/esm/chunks/{chunk.HWQEGQDD.js.map → chunk.PALRSBSY.js.map} +2 -2
  191. package/dist/esm/chunks/{chunk.R4NDFXVA.js → chunk.PN26D52V.js} +2 -2
  192. package/dist/esm/chunks/{chunk.R4NDFXVA.js.map → chunk.PN26D52V.js.map} +2 -2
  193. package/dist/esm/chunks/chunk.PYIFIHDK.js +7 -0
  194. package/dist/esm/chunks/chunk.PYIFIHDK.js.map +7 -0
  195. package/dist/esm/chunks/{chunk.WEUNLYMQ.js → chunk.RB5BTA5N.js} +2 -2
  196. package/dist/esm/chunks/{chunk.WEUNLYMQ.js.map → chunk.RB5BTA5N.js.map} +2 -2
  197. package/dist/esm/chunks/{chunk.NYMNX3S7.js → chunk.RBAVT3XQ.js} +2 -2
  198. package/dist/esm/chunks/{chunk.NYMNX3S7.js.map → chunk.RBAVT3XQ.js.map} +2 -2
  199. package/dist/esm/chunks/chunk.RE5X26QT.js +29 -0
  200. package/dist/esm/chunks/chunk.RE5X26QT.js.map +7 -0
  201. package/dist/esm/chunks/chunk.RG6CDWEX.js +7 -0
  202. package/dist/esm/chunks/chunk.RG6CDWEX.js.map +7 -0
  203. package/dist/esm/chunks/chunk.RHFNK6EE.js +7 -0
  204. package/dist/esm/chunks/chunk.RHFNK6EE.js.map +7 -0
  205. package/dist/esm/chunks/{chunk.ZMXKZJRM.js → chunk.ROR6JMAE.js} +2 -2
  206. package/dist/esm/chunks/{chunk.ZMXKZJRM.js.map → chunk.ROR6JMAE.js.map} +2 -2
  207. package/dist/esm/chunks/chunk.RYMPSU4J.js +7 -0
  208. package/dist/esm/chunks/chunk.RYMPSU4J.js.map +7 -0
  209. package/dist/esm/chunks/{chunk.MBS5VMYY.js → chunk.SAQVWOVK.js} +2 -2
  210. package/dist/esm/chunks/{chunk.MBS5VMYY.js.map → chunk.SAQVWOVK.js.map} +3 -3
  211. package/dist/esm/chunks/chunk.SD4LLO5A.js +12 -0
  212. package/dist/esm/chunks/chunk.SD4LLO5A.js.map +7 -0
  213. package/dist/esm/chunks/{chunk.TCAOLSLI.js → chunk.SXTTEIIH.js} +2 -2
  214. package/dist/esm/chunks/{chunk.TCAOLSLI.js.map → chunk.SXTTEIIH.js.map} +2 -2
  215. package/dist/esm/chunks/{chunk.MWD47ZZU.js → chunk.T76JYRPR.js} +2 -2
  216. package/dist/esm/chunks/{chunk.MWD47ZZU.js.map → chunk.T76JYRPR.js.map} +3 -3
  217. package/dist/esm/chunks/chunk.TR5YMNJJ.js +7 -0
  218. package/dist/esm/chunks/chunk.TR5YMNJJ.js.map +7 -0
  219. package/dist/esm/chunks/{chunk.DRXMITOO.js → chunk.TWZXQQQO.js} +2 -2
  220. package/dist/esm/chunks/{chunk.DRXMITOO.js.map → chunk.TWZXQQQO.js.map} +3 -3
  221. package/dist/esm/chunks/chunk.U6WGJELL.js +7 -0
  222. package/dist/esm/chunks/chunk.U6WGJELL.js.map +7 -0
  223. package/dist/esm/chunks/chunk.U724KSZU.js +7 -0
  224. package/dist/esm/chunks/chunk.U724KSZU.js.map +7 -0
  225. package/dist/esm/chunks/{chunk.LZHDRATV.js → chunk.UBD2DPQN.js} +2 -2
  226. package/dist/esm/chunks/{chunk.LZHDRATV.js.map → chunk.UBD2DPQN.js.map} +2 -2
  227. package/dist/esm/chunks/{chunk.2ZQ3ZDPN.js → chunk.UF43SSFY.js} +2 -2
  228. package/dist/esm/chunks/{chunk.2ZQ3ZDPN.js.map → chunk.UF43SSFY.js.map} +2 -2
  229. package/dist/esm/chunks/chunk.ULIFS3UR.js +7 -0
  230. package/dist/esm/chunks/chunk.ULIFS3UR.js.map +7 -0
  231. package/dist/esm/chunks/{chunk.2LHBE2QZ.js → chunk.UT7QUGAO.js} +2 -2
  232. package/dist/esm/chunks/{chunk.2LHBE2QZ.js.map → chunk.UT7QUGAO.js.map} +2 -2
  233. package/dist/esm/chunks/{chunk.STS5TIUV.js → chunk.V4TCOZLK.js} +1 -1
  234. package/dist/esm/chunks/chunk.V4TCOZLK.js.map +7 -0
  235. package/dist/esm/chunks/chunk.V7WKXEZC.js +7 -0
  236. package/dist/esm/chunks/chunk.V7WKXEZC.js.map +7 -0
  237. package/dist/esm/chunks/{chunk.HHJJJ73Y.js → chunk.VAKNDCLP.js} +2 -2
  238. package/dist/esm/chunks/{chunk.HHJJJ73Y.js.map → chunk.VAKNDCLP.js.map} +3 -3
  239. package/dist/esm/chunks/chunk.VC2BG2RS.js +7 -0
  240. package/dist/esm/chunks/chunk.VC2BG2RS.js.map +7 -0
  241. package/dist/esm/chunks/{chunk.3L7T5WYL.js → chunk.WP4QOOIS.js} +2 -2
  242. package/dist/esm/chunks/{chunk.3L7T5WYL.js.map → chunk.WP4QOOIS.js.map} +2 -2
  243. package/dist/esm/chunks/chunk.WY7DECJD.js +7 -0
  244. package/dist/esm/chunks/chunk.WY7DECJD.js.map +7 -0
  245. package/dist/esm/chunks/{chunk.YONRMJU5.js → chunk.X5LGVZGO.js} +2 -2
  246. package/dist/esm/chunks/chunk.X5LGVZGO.js.map +7 -0
  247. package/dist/esm/chunks/{chunk.HPJ4AQIE.js → chunk.XHV3GQ7L.js} +2 -2
  248. package/dist/esm/chunks/{chunk.HPJ4AQIE.js.map → chunk.XHV3GQ7L.js.map} +2 -2
  249. package/dist/esm/chunks/{chunk.5TVWDATE.js → chunk.XUW3GG46.js} +2 -2
  250. package/dist/esm/chunks/{chunk.5TVWDATE.js.map → chunk.XUW3GG46.js.map} +2 -2
  251. package/dist/esm/chunks/chunk.XZ4WI7VK.js +7 -0
  252. package/dist/esm/chunks/chunk.XZ4WI7VK.js.map +7 -0
  253. package/dist/esm/chunks/{chunk.MMVZJLXE.js → chunk.Y4GKBJGI.js} +2 -2
  254. package/dist/esm/chunks/{chunk.MMVZJLXE.js.map → chunk.Y4GKBJGI.js.map} +2 -2
  255. package/dist/esm/chunks/chunk.Y66GSZJB.js +7 -0
  256. package/dist/esm/chunks/{chunk.5BDTX7CR.js.map → chunk.Y66GSZJB.js.map} +3 -3
  257. package/dist/esm/chunks/chunk.Y72NANFX.js +7 -0
  258. package/dist/esm/chunks/chunk.Y72NANFX.js.map +7 -0
  259. package/dist/esm/chunks/chunk.YBEBD4CN.js +7 -0
  260. package/dist/esm/chunks/chunk.YBEBD4CN.js.map +7 -0
  261. package/dist/esm/chunks/{chunk.D4SNVKDA.js → chunk.YI4JTY4T.js} +1 -1
  262. package/dist/esm/chunks/{chunk.D4SNVKDA.js.map → chunk.YI4JTY4T.js.map} +2 -2
  263. package/dist/esm/chunks/{chunk.E43TT4RI.js → chunk.YPZNIYQL.js} +1 -1
  264. package/dist/esm/chunks/{chunk.E43TT4RI.js.map → chunk.YPZNIYQL.js.map} +2 -2
  265. package/dist/esm/chunks/{chunk.F5I55MXD.js → chunk.ZUNZKRRK.js} +2 -2
  266. package/dist/esm/chunks/{chunk.F5I55MXD.js.map → chunk.ZUNZKRRK.js.map} +2 -2
  267. package/dist/esm/circular-progress/index.js +1 -1
  268. package/dist/esm/color-picker/index.js +1 -1
  269. package/dist/esm/core/base/index.js +1 -1
  270. package/dist/esm/core/delegates/index.js +1 -1
  271. package/dist/esm/core/index.js +1 -1
  272. package/dist/esm/core/mask/index.js +1 -1
  273. package/dist/esm/core/utils/index.js +1 -1
  274. package/dist/esm/date-picker/index.js +1 -1
  275. package/dist/esm/date-range-picker/index.js +1 -1
  276. package/dist/esm/dialog/index.js +1 -1
  277. package/dist/esm/divider/index.js +1 -1
  278. package/dist/esm/drawer/base/index.js +1 -1
  279. package/dist/esm/drawer/drawer/index.js +1 -1
  280. package/dist/esm/drawer/index.js +1 -1
  281. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  282. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  283. package/dist/esm/expansion-panel/index.js +1 -1
  284. package/dist/esm/file-picker/index.js +1 -1
  285. package/dist/esm/floating-action-button/index.js +1 -1
  286. package/dist/esm/floating-label/index.js +1 -1
  287. package/dist/esm/icon/index.js +1 -1
  288. package/dist/esm/icon-button/index.js +1 -1
  289. package/dist/esm/index.js +1 -1
  290. package/dist/esm/inline-message/index.js +1 -1
  291. package/dist/esm/keyboard-shortcut/index.js +1 -1
  292. package/dist/esm/label-value/index.js +1 -1
  293. package/dist/esm/linear-progress/index.js +1 -1
  294. package/dist/esm/list/index.js +1 -1
  295. package/dist/esm/list/list/index.js +1 -1
  296. package/dist/esm/list/list-item/index.js +1 -1
  297. package/dist/esm/list-dropdown/index.js +1 -1
  298. package/dist/esm/menu/index.js +1 -1
  299. package/dist/esm/open-icon/index.js +1 -1
  300. package/dist/esm/page-state/index.js +1 -1
  301. package/dist/esm/paginator/index.js +1 -1
  302. package/dist/esm/popup/index.js +1 -1
  303. package/dist/esm/product-icon/index.js +1 -1
  304. package/dist/esm/profile-card/index.js +1 -1
  305. package/dist/esm/quantity-field/index.js +1 -1
  306. package/dist/esm/radio/index.js +1 -1
  307. package/dist/esm/ripple/index.js +1 -1
  308. package/dist/esm/scaffold/index.js +1 -1
  309. package/dist/esm/select/core/index.js +1 -1
  310. package/dist/esm/select/index.js +1 -1
  311. package/dist/esm/select/option/index.js +1 -1
  312. package/dist/esm/select/option-group/index.js +1 -1
  313. package/dist/esm/select/select/index.js +1 -1
  314. package/dist/esm/select/select-dropdown/index.js +1 -1
  315. package/dist/esm/skeleton/index.js +1 -1
  316. package/dist/esm/slider/index.js +1 -1
  317. package/dist/esm/split-view/index.js +1 -1
  318. package/dist/esm/split-view/split-view/index.js +1 -1
  319. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  320. package/dist/esm/stack/index.js +7 -0
  321. package/dist/esm/stack/index.js.map +7 -0
  322. package/dist/esm/stepper/index.js +1 -1
  323. package/dist/esm/stepper/step/index.js +1 -1
  324. package/dist/esm/stepper/stepper/index.js +1 -1
  325. package/dist/esm/switch/index.js +1 -1
  326. package/dist/esm/table/index.js +1 -1
  327. package/dist/esm/tabs/index.js +1 -1
  328. package/dist/esm/tabs/tab/index.js +1 -1
  329. package/dist/esm/tabs/tab-bar/index.js +1 -1
  330. package/dist/esm/text-field/index.js +1 -1
  331. package/dist/esm/theme/index.js +1 -1
  332. package/dist/esm/time-picker/index.js +1 -1
  333. package/dist/esm/toast/index.js +1 -1
  334. package/dist/esm/toolbar/index.js +1 -1
  335. package/dist/esm/tooltip/index.js +1 -1
  336. package/dist/esm/utils/index.js +1 -1
  337. package/dist/esm/view-switcher/index.js +1 -1
  338. package/dist/esm/view-switcher/view/index.js +1 -1
  339. package/dist/floating-action-button/forge-floating-action-button.css +1 -1
  340. package/dist/floating-label/forge-floating-label.css +1 -1
  341. package/dist/forge.css +1 -1
  342. package/dist/utils/forge-utils.css +1 -1
  343. package/esm/app-bar/app-bar.js +1 -1
  344. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +3 -0
  345. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +5 -0
  346. package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +1 -0
  347. package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +2 -1
  348. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +4 -0
  349. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +14 -0
  350. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +2 -0
  351. package/esm/app-bar/notification-button/app-bar-notification-button.js +9 -2
  352. package/esm/autocomplete/autocomplete-adapter.d.ts +11 -10
  353. package/esm/autocomplete/autocomplete-adapter.js +4 -1
  354. package/esm/autocomplete/autocomplete-constants.d.ts +11 -12
  355. package/esm/autocomplete/autocomplete-constants.js +1 -0
  356. package/esm/autocomplete/autocomplete-foundation.d.ts +14 -7
  357. package/esm/autocomplete/autocomplete-foundation.js +26 -4
  358. package/esm/autocomplete/autocomplete-utils.d.ts +4 -5
  359. package/esm/autocomplete/autocomplete.d.ts +10 -4
  360. package/esm/autocomplete/autocomplete.js +10 -3
  361. package/esm/badge/badge.js +1 -1
  362. package/esm/busy-indicator/busy-indicator.js +2 -2
  363. package/esm/button/button-constants.d.ts +1 -0
  364. package/esm/button/button-constants.js +2 -1
  365. package/esm/button/button.d.ts +1 -1
  366. package/esm/button/button.js +6 -7
  367. package/esm/calendar/calendar-foundation.js +1 -0
  368. package/esm/calendar/calendar.js +1 -1
  369. package/esm/card/card.js +1 -1
  370. package/esm/checkbox/checkbox-adapter.d.ts +1 -2
  371. package/esm/checkbox/checkbox-adapter.js +12 -8
  372. package/esm/checkbox/checkbox-foundation.js +0 -3
  373. package/esm/chip-field/chip-field-adapter.d.ts +2 -0
  374. package/esm/chip-field/chip-field-adapter.js +8 -3
  375. package/esm/chip-field/chip-field-foundation.js +1 -0
  376. package/esm/chip-field/chip-field.js +1 -1
  377. package/esm/chips/chip/chip-adapter.d.ts +17 -2
  378. package/esm/chips/chip/chip-adapter.js +90 -15
  379. package/esm/chips/chip/chip-constants.d.ts +4 -0
  380. package/esm/chips/chip/chip-constants.js +6 -2
  381. package/esm/chips/chip/chip-foundation.d.ts +2 -0
  382. package/esm/chips/chip/chip-foundation.js +38 -13
  383. package/esm/chips/chip/chip.d.ts +2 -0
  384. package/esm/chips/chip/chip.js +5 -2
  385. package/esm/chips/chip-set/chip-set-adapter.d.ts +4 -0
  386. package/esm/chips/chip-set/chip-set-adapter.js +24 -0
  387. package/esm/chips/chip-set/chip-set-foundation.d.ts +3 -0
  388. package/esm/chips/chip-set/chip-set-foundation.js +8 -0
  389. package/esm/chips/chip-set/chip-set.d.ts +1 -0
  390. package/esm/chips/chip-set/chip-set.js +3 -0
  391. package/esm/circular-progress/circular-progress.js +1 -1
  392. package/esm/color-picker/color-picker-foundation.d.ts +1 -0
  393. package/esm/color-picker/color-picker-foundation.js +19 -8
  394. package/esm/core/mask/intermediate-time-parser.d.ts +49 -0
  395. package/esm/core/mask/intermediate-time-parser.js +106 -0
  396. package/esm/core/mask/time-input-mask.d.ts +0 -1
  397. package/esm/core/mask/time-input-mask.js +79 -58
  398. package/esm/core/mask/time-segment-parser.d.ts +22 -0
  399. package/esm/core/mask/time-segment-parser.js +46 -0
  400. package/esm/core/utils/date-utils.js +2 -2
  401. package/esm/core/utils/time-utils.d.ts +1 -0
  402. package/esm/core/utils/time-utils.js +20 -3
  403. package/esm/core/utils/utils.d.ts +0 -6
  404. package/esm/core/utils/utils.js +0 -10
  405. package/esm/date-picker/base/base-date-picker-foundation.js +2 -1
  406. package/esm/date-picker/base/base-date-picker.d.ts +2 -2
  407. package/esm/date-range-picker/date-range-picker-foundation.d.ts +2 -2
  408. package/esm/date-range-picker/date-range-picker-foundation.js +1 -1
  409. package/esm/dialog/dialog-adapter.d.ts +0 -2
  410. package/esm/dialog/dialog-adapter.js +1 -10
  411. package/esm/dialog/dialog-foundation.js +2 -3
  412. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  413. package/esm/file-picker/file-picker-adapter.js +3 -2
  414. package/esm/file-picker/file-picker-foundation.d.ts +2 -0
  415. package/esm/file-picker/file-picker-foundation.js +15 -38
  416. package/esm/file-picker/file-picker.d.ts +1 -0
  417. package/esm/file-picker/file-picker.js +3 -0
  418. package/esm/floating-action-button/floating-action-button-constants.js +1 -1
  419. package/esm/icon-button/icon-button-constants.js +1 -1
  420. package/esm/icon-button/icon-button.d.ts +1 -1
  421. package/esm/icon-button/icon-button.js +6 -6
  422. package/esm/index.d.ts +1 -0
  423. package/esm/index.js +3 -0
  424. package/esm/linear-progress/linear-progress.js +2 -2
  425. package/esm/list/list-item/list-item-foundation.js +1 -2
  426. package/esm/list/list-item/list-item.js +1 -1
  427. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.d.ts +5 -2
  428. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.js +3 -1
  429. package/esm/list-dropdown/list-dropdown-adapter.d.ts +2 -0
  430. package/esm/list-dropdown/list-dropdown-adapter.js +6 -0
  431. package/esm/list-dropdown/list-dropdown-aware-foundation.d.ts +8 -0
  432. package/esm/list-dropdown/list-dropdown-aware-foundation.js +14 -0
  433. package/esm/list-dropdown/list-dropdown-aware.d.ts +11 -2
  434. package/esm/list-dropdown/list-dropdown-aware.js +12 -0
  435. package/esm/list-dropdown/list-dropdown-constants.d.ts +10 -3
  436. package/esm/list-dropdown/list-dropdown-constants.js +2 -0
  437. package/esm/list-dropdown/list-dropdown-foundation.js +5 -6
  438. package/esm/list-dropdown/list-dropdown-utils.d.ts +1 -0
  439. package/esm/list-dropdown/list-dropdown-utils.js +40 -18
  440. package/esm/menu/menu-adapter.d.ts +2 -0
  441. package/esm/menu/menu-adapter.js +7 -0
  442. package/esm/menu/menu-constants.js +1 -1
  443. package/esm/menu/menu-foundation.d.ts +12 -3
  444. package/esm/menu/menu-foundation.js +28 -17
  445. package/esm/menu/menu.d.ts +6 -1
  446. package/esm/menu/menu.js +9 -3
  447. package/esm/popup/popup-adapter.js +9 -1
  448. package/esm/popup/popup-constants.d.ts +1 -0
  449. package/esm/popup/popup-constants.js +2 -1
  450. package/esm/popup/popup-foundation.d.ts +4 -0
  451. package/esm/popup/popup-foundation.js +7 -0
  452. package/esm/popup/popup.d.ts +2 -0
  453. package/esm/popup/popup.js +4 -1
  454. package/esm/profile-card/profile-card.js +1 -1
  455. package/esm/quantity-field/quantity-field-adapter.d.ts +2 -0
  456. package/esm/quantity-field/quantity-field-adapter.js +8 -0
  457. package/esm/quantity-field/quantity-field-foundation.js +1 -0
  458. package/esm/quantity-field/quantity-field.js +6 -0
  459. package/esm/radio/radio-adapter.d.ts +3 -3
  460. package/esm/radio/radio-adapter.js +17 -15
  461. package/esm/radio/radio-foundation.js +1 -1
  462. package/esm/ripple/forge-ripple.d.ts +4 -0
  463. package/esm/ripple/forge-ripple.js +8 -0
  464. package/esm/select/core/base-select-adapter.js +8 -6
  465. package/esm/select/core/base-select-constants.d.ts +2 -0
  466. package/esm/select/core/base-select-constants.js +3 -1
  467. package/esm/select/core/base-select-foundation.d.ts +0 -9
  468. package/esm/select/core/base-select-foundation.js +5 -26
  469. package/esm/select/core/select-utils.js +1 -1
  470. package/esm/select/option-group/option-group.d.ts +12 -1
  471. package/esm/select/option-group/option-group.js +7 -0
  472. package/esm/select/select/select.js +5 -3
  473. package/esm/slider/slider.js +1 -1
  474. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  475. package/esm/stack/index.d.ts +10 -0
  476. package/esm/stack/index.js +14 -0
  477. package/esm/stack/stack-adapter.d.ts +15 -0
  478. package/esm/stack/stack-adapter.js +18 -0
  479. package/esm/stack/stack-constants.d.ts +29 -0
  480. package/esm/stack/stack-constants.js +36 -0
  481. package/esm/stack/stack-foundation.d.ts +39 -0
  482. package/esm/stack/stack-foundation.js +70 -0
  483. package/esm/stack/stack.d.ts +41 -0
  484. package/esm/stack/stack.js +74 -0
  485. package/esm/switch/switch.js +38 -13
  486. package/esm/table/table-foundation.d.ts +7 -0
  487. package/esm/table/table-foundation.js +9 -0
  488. package/esm/table/table-utils.js +6 -3
  489. package/esm/table/table.d.ts +7 -0
  490. package/esm/table/table.js +8 -0
  491. package/esm/table/types.d.ts +8 -4
  492. package/esm/text-field/text-field.js +1 -1
  493. package/esm/time-picker/time-picker-adapter.d.ts +4 -0
  494. package/esm/time-picker/time-picker-adapter.js +8 -0
  495. package/esm/time-picker/time-picker-component-delegate.js +1 -6
  496. package/esm/time-picker/time-picker-foundation.d.ts +3 -0
  497. package/esm/time-picker/time-picker-foundation.js +46 -14
  498. package/esm/toast/toast.js +1 -1
  499. package/esm/toolbar/toolbar.js +2 -2
  500. package/esm/tooltip/tooltip-foundation.d.ts +1 -0
  501. package/esm/tooltip/tooltip-foundation.js +3 -0
  502. package/esm/tooltip/tooltip.js +1 -1
  503. package/esm/view-switcher/view-switcher.js +1 -1
  504. package/package.json +31 -4
  505. package/styles/busy-indicator/_mixins.scss +1 -0
  506. package/styles/chip-field/_selector.scss +12 -13
  507. package/styles/chip-field/chip-field.scss +1 -1
  508. package/styles/chips/chip/_mixins.scss +19 -6
  509. package/styles/field/_base.scss +2 -2
  510. package/styles/field/_selector.scss +1 -1
  511. package/styles/list/list-item/_mixins.scss +28 -17
  512. package/styles/list/list-item/_variables.scss +13 -4
  513. package/styles/popup/popup.scss +4 -0
  514. package/styles/stack/_mixins.scss +49 -0
  515. package/styles/stack/_variables.scss +6 -0
  516. package/styles/stack/stack.scss +46 -0
  517. package/styles/toolbar/_mixins.scss +1 -2
  518. package/styles/toolbar/toolbar.scss +13 -0
  519. package/styles/view-switcher/_mixins.scss +2 -0
  520. package/dist/esm/chunks/chunk.2CEW64ZM.js +0 -7
  521. package/dist/esm/chunks/chunk.2CEW64ZM.js.map +0 -7
  522. package/dist/esm/chunks/chunk.36VS7FMU.js +0 -7
  523. package/dist/esm/chunks/chunk.36VS7FMU.js.map +0 -7
  524. package/dist/esm/chunks/chunk.3MP6OFVU.js +0 -7
  525. package/dist/esm/chunks/chunk.3MP6OFVU.js.map +0 -7
  526. package/dist/esm/chunks/chunk.4K3IV4GI.js +0 -7
  527. package/dist/esm/chunks/chunk.4K3IV4GI.js.map +0 -7
  528. package/dist/esm/chunks/chunk.5BDTX7CR.js +0 -7
  529. package/dist/esm/chunks/chunk.5EQPGUZH.js +0 -7
  530. package/dist/esm/chunks/chunk.5EQPGUZH.js.map +0 -7
  531. package/dist/esm/chunks/chunk.6LXDG4W5.js +0 -7
  532. package/dist/esm/chunks/chunk.6LXDG4W5.js.map +0 -7
  533. package/dist/esm/chunks/chunk.7R6TYPPS.js +0 -7
  534. package/dist/esm/chunks/chunk.7R6TYPPS.js.map +0 -7
  535. package/dist/esm/chunks/chunk.7TDB3VFH.js +0 -7
  536. package/dist/esm/chunks/chunk.7TDB3VFH.js.map +0 -7
  537. package/dist/esm/chunks/chunk.BCD4AAI2.js +0 -7
  538. package/dist/esm/chunks/chunk.BCD4AAI2.js.map +0 -7
  539. package/dist/esm/chunks/chunk.BTI5I25G.js +0 -12
  540. package/dist/esm/chunks/chunk.BTI5I25G.js.map +0 -7
  541. package/dist/esm/chunks/chunk.BYRJ7577.js +0 -7
  542. package/dist/esm/chunks/chunk.DB2WESQC.js +0 -7
  543. package/dist/esm/chunks/chunk.DB2WESQC.js.map +0 -7
  544. package/dist/esm/chunks/chunk.DLAIQJHL.js +0 -7
  545. package/dist/esm/chunks/chunk.DLAIQJHL.js.map +0 -7
  546. package/dist/esm/chunks/chunk.DURRORXO.js +0 -29
  547. package/dist/esm/chunks/chunk.DURRORXO.js.map +0 -7
  548. package/dist/esm/chunks/chunk.EDU7RQD7.js +0 -7
  549. package/dist/esm/chunks/chunk.EDU7RQD7.js.map +0 -7
  550. package/dist/esm/chunks/chunk.ETIN6DEM.js +0 -7
  551. package/dist/esm/chunks/chunk.ETIN6DEM.js.map +0 -7
  552. package/dist/esm/chunks/chunk.F2GXZPID.js +0 -7
  553. package/dist/esm/chunks/chunk.F2GXZPID.js.map +0 -7
  554. package/dist/esm/chunks/chunk.F3Q62EMG.js +0 -7
  555. package/dist/esm/chunks/chunk.F3Q62EMG.js.map +0 -7
  556. package/dist/esm/chunks/chunk.GEMZPO6Z.js +0 -7
  557. package/dist/esm/chunks/chunk.GEMZPO6Z.js.map +0 -7
  558. package/dist/esm/chunks/chunk.GXUYYBVO.js.map +0 -7
  559. package/dist/esm/chunks/chunk.HYMB3XDK.js +0 -9
  560. package/dist/esm/chunks/chunk.HYMB3XDK.js.map +0 -7
  561. package/dist/esm/chunks/chunk.JMXJXZTS.js +0 -7
  562. package/dist/esm/chunks/chunk.JMXJXZTS.js.map +0 -7
  563. package/dist/esm/chunks/chunk.M4KJNCLO.js +0 -7
  564. package/dist/esm/chunks/chunk.M4KJNCLO.js.map +0 -7
  565. package/dist/esm/chunks/chunk.MBWEYW6M.js +0 -7
  566. package/dist/esm/chunks/chunk.MBWEYW6M.js.map +0 -7
  567. package/dist/esm/chunks/chunk.O2R6MBT5.js +0 -7
  568. package/dist/esm/chunks/chunk.O2R6MBT5.js.map +0 -7
  569. package/dist/esm/chunks/chunk.O5I3ZMDA.js +0 -7
  570. package/dist/esm/chunks/chunk.ON6FJ2D6.js +0 -7
  571. package/dist/esm/chunks/chunk.ON6FJ2D6.js.map +0 -7
  572. package/dist/esm/chunks/chunk.PCSCKTFS.js +0 -7
  573. package/dist/esm/chunks/chunk.PCSCKTFS.js.map +0 -7
  574. package/dist/esm/chunks/chunk.PYG4YVBA.js.map +0 -7
  575. package/dist/esm/chunks/chunk.Q3RRONZQ.js +0 -7
  576. package/dist/esm/chunks/chunk.Q3RRONZQ.js.map +0 -7
  577. package/dist/esm/chunks/chunk.QH4DLM3R.js +0 -7
  578. package/dist/esm/chunks/chunk.QH4DLM3R.js.map +0 -7
  579. package/dist/esm/chunks/chunk.QIJHHDYF.js +0 -7
  580. package/dist/esm/chunks/chunk.QIJHHDYF.js.map +0 -7
  581. package/dist/esm/chunks/chunk.QMRLSOAB.js +0 -7
  582. package/dist/esm/chunks/chunk.QMRLSOAB.js.map +0 -7
  583. package/dist/esm/chunks/chunk.QZHEP4X2.js +0 -29
  584. package/dist/esm/chunks/chunk.QZHEP4X2.js.map +0 -7
  585. package/dist/esm/chunks/chunk.STS5TIUV.js.map +0 -7
  586. package/dist/esm/chunks/chunk.UOWU5VVK.js +0 -7
  587. package/dist/esm/chunks/chunk.UOWU5VVK.js.map +0 -7
  588. package/dist/esm/chunks/chunk.VW4JVRH7.js +0 -7
  589. package/dist/esm/chunks/chunk.WOHCW6KW.js +0 -7
  590. package/dist/esm/chunks/chunk.WOHCW6KW.js.map +0 -7
  591. package/dist/esm/chunks/chunk.WU24GAQY.js +0 -7
  592. package/dist/esm/chunks/chunk.WU24GAQY.js.map +0 -7
  593. package/dist/esm/chunks/chunk.XSZ4S77A.js +0 -7
  594. package/dist/esm/chunks/chunk.XSZ4S77A.js.map +0 -7
  595. package/dist/esm/chunks/chunk.Y4L7AVUS.js +0 -7
  596. package/dist/esm/chunks/chunk.Y4L7AVUS.js.map +0 -7
  597. package/dist/esm/chunks/chunk.YG2KLPHA.js +0 -7
  598. package/dist/esm/chunks/chunk.YONRMJU5.js.map +0 -7
  599. package/dist/esm/chunks/chunk.YWRCWMNO.js +0 -7
  600. package/dist/esm/chunks/chunk.YWRCWMNO.js.map +0 -7
  601. package/dist/esm/chunks/chunk.ZPBGKHHM.js +0 -7
  602. package/dist/esm/chunks/chunk.ZPBGKHHM.js.map +0 -7
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{b as T}from"./chunk.DLAIQJHL.js";import{d as y}from"./chunk.TCAOLSLI.js";import{b as x}from"./chunk.O2R6MBT5.js";import{a as v}from"./chunk.5PXABBKU.js";import{a}from"./chunk.B3IJU6XJ.js";import{a as m,b as h}from"./chunk.OOW3UKT4.js";import{a as b,e as g,g as n,l as _}from"./chunk.MMVZJLXE.js";import{k as d,l as f}from"./chunk.G76HB2FK.js";import{f as i}from"./chunk.MCIQXNKY.js";var u=`${h}profile-card`,k={FULL_NAME:"full-name",EMAIL:"email",SIGN_OUT:"sign-out",PROFILE:"profile",SIGN_OUT_TEXT:"sign-out-text",PROFILE_TEXT:"profile-text",AVATAR_TEXT:"avatar-text",AVATAR_IMAGE_URL:"avatar-image-url",AVATAR_LETTER_COUNT:"avatar-letter-count"},w={FULL_NAME:".forge-profile-card__full-name",EMAIL:".forge-profile-card__email",AVATAR:".forge-profile-card__info-avatar > forge-avatar",ACTION_TOOLBAR:"#action-toolbar",PROFILE_BUTTON:"#profile-button",SIGN_OUT_BUTTON:"#sign-out-button"},O={SHOW_SIGN_OUT_BUTTON:!0,SHOW_PROFILE_BUTTON:!1,SIGN_OUT_BUTTON_TEXT:"Sign out",PROFILE_BUTTON_TEXT:"Profile"},E={SIGN_OUT:`${u}-sign-out`,PROFILE:`${u}-profile`},e={elementName:u,attributes:k,selectors:w,defaults:O,events:E};var l=class extends v{constructor(t){super(t);this._fullNameElement=n(t,e.selectors.FULL_NAME),this._emailElement=n(t,e.selectors.EMAIL),this._avatarElement=n(t,e.selectors.AVATAR),this._actionToolbar=n(t,e.selectors.ACTION_TOOLBAR),this._profileButton=n(t,e.selectors.PROFILE_BUTTON),this._signOutButton=n(t,e.selectors.SIGN_OUT_BUTTON)}setFullName(t){this._component.setAttribute(e.attributes.FULL_NAME,t),this._fullNameElement.textContent=t}setEmail(t){this._component.setAttribute(e.attributes.EMAIL,t),this._emailElement.textContent=t}setAvatarText(t){this._component.setAttribute(e.attributes.AVATAR_TEXT,t),this._avatarElement.text=t}setAvatarImageUrl(t){this._component.setAttribute(e.attributes.AVATAR_IMAGE_URL,t),this._avatarElement.imageUrl=t}setAvatarLetterCount(t){this._component.setAttribute(e.attributes.AVATAR_LETTER_COUNT,String(t)),this._avatarElement.letterCount=t}setActionToolbarVisibility(t){t?this._actionToolbar.style.removeProperty("display"):this._actionToolbar.style.display="none"}setProfileButtonVisibility(t){t?this._profileButton.style.removeProperty("display"):this._profileButton.style.display="none"}setSignOutButtonVisibility(t){t?this._signOutButton.style.removeProperty("display"):this._signOutButton.style.display="none"}setSignOutButtonText(t){this._signOutButton.textContent=t}setProfileButtonText(t){this._profileButton.textContent=t}setProfileButtonListener(t){this._profileButton.addEventListener("click",t)}setSignOutButtonListener(t){this._signOutButton.addEventListener("click",t)}removeProfileButtonListener(t){this._profileButton.removeEventListener("click",t)}removeSignOutButtonListener(t){this._signOutButton.removeEventListener("click",t)}requestProfileButtonFocus(){window.requestAnimationFrame(()=>this._profileButton.focus())}requestSignOutButtonFocus(){window.requestAnimationFrame(()=>this._signOutButton.focus())}};var s=class{constructor(r){this._adapter=r;this._showSignOutButton=e.defaults.SHOW_SIGN_OUT_BUTTON;this._showProfileButton=e.defaults.SHOW_PROFILE_BUTTON;this._signOutButtonText=e.defaults.SIGN_OUT_BUTTON_TEXT;this._profileButtonText=e.defaults.PROFILE_BUTTON_TEXT;this._profileListener=t=>this._onProfileButtonClick(t),this._signOutListener=t=>this._onSignOutButtonClick(t)}initialize(){this._adapter.setProfileButtonListener(this._profileListener),this._adapter.setSignOutButtonListener(this._signOutListener),(this._showSignOutButton||this._showProfileButton)&&this._requestInitialFocus(),this._setActionVisibility(),this._adapter.setSignOutButtonText(this._signOutButtonText),this._adapter.setProfileButtonText(this._profileButtonText)}_requestInitialFocus(){this._showSignOutButton?this._adapter.requestSignOutButtonFocus():this._showProfileButton&&this._adapter.requestProfileButtonFocus()}_setActionVisibility(){let r=this._showSignOutButton||this._showProfileButton;this._adapter.setActionToolbarVisibility(r),this._adapter.setSignOutButtonVisibility(this._showSignOutButton),this._adapter.setProfileButtonVisibility(this._showProfileButton)}_onProfileButtonClick(r){r.stopPropagation(),this._adapter.emitHostEvent(e.events.PROFILE)}_onSignOutButtonClick(r){r.stopPropagation(),this._adapter.emitHostEvent(e.events.SIGN_OUT)}get fullName(){return this._fullName}set fullName(r){this._fullName!==r&&(this._fullName=r,this._adapter.setFullName(this._fullName))}get email(){return this._email}set email(r){this._email!==r&&(this._email=r,this._adapter.setEmail(this._email))}get avatarText(){return this._avatarText}set avatarText(r){this._avatarText!==r&&(this._avatarText=r,this._adapter.setAvatarText(this._avatarText))}get avatarImageUrl(){return this._avatarImageUrl}set avatarImageUrl(r){this._avatarImageUrl!==r&&(this._avatarImageUrl=r,this._adapter.setAvatarImageUrl(this._avatarImageUrl))}get avatarLetterCount(){return this._avatarLetterCount}set avatarLetterCount(r){this._avatarLetterCount!==r&&(this._avatarLetterCount=r,this._adapter.setAvatarLetterCount(this._avatarLetterCount))}get signOut(){return this._showSignOutButton}set signOut(r){this._showSignOutButton!==r&&(this._showSignOutButton=r,this._setActionVisibility())}get profile(){return this._showProfileButton}set profile(r){this._showProfileButton!==r&&(this._showProfileButton=r,this._setActionVisibility())}get signOutText(){return this._signOutButtonText}set signOutText(r){this._signOutButtonText!==r&&(this._signOutButtonText=r||e.defaults.SIGN_OUT_BUTTON_TEXT,this._adapter.setSignOutButtonText(this._signOutButtonText))}get profileText(){return this._profileButtonText}set profileText(r){this._profileButtonText!==r&&(this._profileButtonText=r||e.defaults.PROFILE_BUTTON_TEXT,this._adapter.setProfileButtonText(this._profileButtonText))}};var A='<template><div class="forge-profile-card" part="root"><div class="forge-profile-card__info" part="info-container"><div class="forge-profile-card__info-avatar" part="avatar-container"><forge-avatar part="avatar"></forge-avatar></div><div class="forge-profile-card__info-text" part="info-text"><div class="forge-profile-card__full-name" part="name"></div><div class="forge-profile-card__email" part="email"></div></div></div><slot></slot><forge-toolbar inverted id="action-toolbar" part="footer"><forge-button type="outlined" slot="end" style="margin-right: 8px;" part="profile-button"><button type="button" id="profile-button" aria-label="View profile" part="profile-button-element">Profile</button></forge-button><forge-button slot="end" part="sign-out-button"><button type="button" id="sign-out-button" aria-label="Sign out" part="sign-out-button-element">Sign out</button></forge-button></forge-toolbar></div></template>',B='@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.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}.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-profile-card{min-width:360px;border-radius:4px}@media (max-width:399px){.forge-profile-card{width:100vw;min-width:unset;overflow:auto}}.forge-profile-card__info{padding:8px 16px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-profile-card__info-avatar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:8px;margin-right:16px;--forge-avatar-size:56px}.forge-profile-card__info-text{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:start;align-items:flex-start}.forge-profile-card__full-name{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1rem;font-size:var(--forge-typography-subtitle1-secondary-font-size, 1rem);line-height:1.75rem;line-height:var(--forge-typography-subtitle1-secondary-line-height, 1.75rem);font-weight:500;font-weight:var(--forge-typography-subtitle1-secondary-font-weight,500);letter-spacing:.01em;letter-spacing:var(--forge-typography-subtitle1-secondary-letter-spacing, .01em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle1-secondary-text-transform,inherit);line-height:1.25rem}.forge-profile-card__email{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-subtitle2-font-size, .875rem);line-height:1.375rem;line-height:var(--mdc-typography-subtitle2-line-height, 1.375rem);font-weight:500;font-weight:var(--mdc-typography-subtitle2-font-weight,500);letter-spacing:.0071428571em;letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, .0071428571em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle2-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}forge-toolbar#action-toolbar::part(root){border-bottom-left-radius:4px;border-bottom-right-radius:4px}:host{display:inline}:host([hidden]){display:none}forge-toolbar{--mdc-theme-surface:var(--forge-theme-elevated-surface)}',o=class extends _{constructor(){super();g(this,A,B),this._foundation=new s(new l(this))}static get observedAttributes(){return[e.attributes.FULL_NAME,e.attributes.EMAIL,e.attributes.SIGN_OUT,e.attributes.PROFILE,e.attributes.SIGN_OUT_TEXT,e.attributes.PROFILE_TEXT,e.attributes.AVATAR_TEXT,e.attributes.AVATAR_IMAGE_URL,e.attributes.AVATAR_LETTER_COUNT]}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(t,L,p){switch(t){case e.attributes.FULL_NAME:this.fullName=p;break;case e.attributes.EMAIL:this.email=p;break;case e.attributes.SIGN_OUT:this.signOut=d(e.attributes.SIGN_OUT);break;case e.attributes.PROFILE:this.profile=d(e.attributes.PROFILE);break;case e.attributes.SIGN_OUT_TEXT:this.signOutText=e.attributes.SIGN_OUT_TEXT;break;case e.attributes.PROFILE_TEXT:this.profileText=e.attributes.PROFILE_TEXT;break;case e.attributes.AVATAR_TEXT:this.avatarText=p;break;case e.attributes.AVATAR_IMAGE_URL:this.avatarImageUrl=p;break;case e.attributes.AVATAR_LETTER_COUNT:this.avatarLetterCount=f(p);break}}};i([a()],o.prototype,"fullName",2),i([a()],o.prototype,"email",2),i([a()],o.prototype,"signOut",2),i([a()],o.prototype,"profile",2),i([a()],o.prototype,"signOutText",2),i([a()],o.prototype,"profileText",2),i([a()],o.prototype,"avatarText",2),i([a()],o.prototype,"avatarImageUrl",2),i([a()],o.prototype,"avatarLetterCount",2),o=i([m({name:e.elementName,dependencies:[T,x,y]})],o);function Y(){b(o)}export{e as a,l as b,s as c,o as d,Y as e};
7
- //# sourceMappingURL=chunk.36VS7FMU.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/profile-card/profile-card-constants.ts", "../../src/profile-card/profile-card-adapter.ts", "../../src/profile-card/profile-card-foundation.ts", "../../src/profile-card/profile-card.ts", "../../src/profile-card/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}profile-card`;\n\nconst attributes = {\n FULL_NAME: 'full-name',\n EMAIL: 'email',\n SIGN_OUT: 'sign-out',\n PROFILE: 'profile',\n SIGN_OUT_TEXT: 'sign-out-text',\n PROFILE_TEXT: 'profile-text',\n AVATAR_TEXT: 'avatar-text',\n AVATAR_IMAGE_URL: 'avatar-image-url',\n AVATAR_LETTER_COUNT: 'avatar-letter-count'\n};\n\nconst selectors = {\n FULL_NAME: '.forge-profile-card__full-name',\n EMAIL: '.forge-profile-card__email',\n AVATAR: '.forge-profile-card__info-avatar > forge-avatar',\n ACTION_TOOLBAR: '#action-toolbar',\n PROFILE_BUTTON: '#profile-button',\n SIGN_OUT_BUTTON: '#sign-out-button'\n};\n\nconst defaults = {\n SHOW_SIGN_OUT_BUTTON: true,\n SHOW_PROFILE_BUTTON: false,\n SIGN_OUT_BUTTON_TEXT: 'Sign out',\n PROFILE_BUTTON_TEXT: 'Profile'\n};\n\nconst events = {\n SIGN_OUT: `${elementName}-sign-out`,\n PROFILE: `${elementName}-profile`\n};\n\nexport const PROFILE_CARD_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n defaults,\n events\n};\n", "import { emitEvent, getShadowElement } from '@tylertech/forge-core';\nimport { IAvatarComponent } from '../avatar';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IToolbarComponent } from '../toolbar';\nimport { IProfileCardComponent } from './profile-card';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\n\nexport interface IProfileCardAdapter extends IBaseAdapter {\n setFullName(value: string): void;\n setEmail(value: string): void;\n setAvatarText(value: string): void;\n setAvatarImageUrl(value: string): void;\n setAvatarLetterCount(count: number): void;\n setActionToolbarVisibility(isVisible: boolean): void;\n setProfileButtonVisibility(isVisible: boolean): void;\n setSignOutButtonVisibility(isVisible: boolean): void;\n setSignOutButtonText(value: string): void;\n setProfileButtonText(value: string): void;\n setProfileButtonListener(listener: (evt: Event) => void): void;\n setSignOutButtonListener(listener: (evt: Event) => void): void;\n removeProfileButtonListener(listener: (evt: Event) => void): void;\n removeSignOutButtonListener(listener: (evt: Event) => void): void;\n requestProfileButtonFocus(): void;\n requestSignOutButtonFocus(): void;\n}\n\nexport class ProfileCardAdapter extends BaseAdapter<IProfileCardComponent> implements IProfileCardAdapter {\n private _fullNameElement: HTMLElement;\n private _emailElement: HTMLElement;\n private _avatarElement: IAvatarComponent;\n private _actionToolbar: IToolbarComponent;\n private _profileButton: HTMLButtonElement;\n private _signOutButton: HTMLButtonElement;\n\n constructor(component: IProfileCardComponent) {\n super(component);\n this._fullNameElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.FULL_NAME);\n this._emailElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.EMAIL);\n this._avatarElement = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.AVATAR) as IAvatarComponent;\n this._actionToolbar = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.ACTION_TOOLBAR) as IToolbarComponent;\n this._profileButton = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.PROFILE_BUTTON) as HTMLButtonElement;\n this._signOutButton = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.SIGN_OUT_BUTTON) as HTMLButtonElement;\n }\n\n public setFullName(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.FULL_NAME, value);\n this._fullNameElement.textContent = value;\n }\n\n public setEmail(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.EMAIL, value);\n this._emailElement.textContent = value;\n }\n\n public setAvatarText(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT, value);\n this._avatarElement.text = value;\n }\n\n public setAvatarImageUrl(value: string): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL, value);\n this._avatarElement.imageUrl = value;\n }\n\n public setAvatarLetterCount(count: number): void {\n this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT, String(count));\n this._avatarElement.letterCount = count;\n }\n\n public setActionToolbarVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._actionToolbar.style.removeProperty('display');\n } else {\n this._actionToolbar.style.display = 'none';\n }\n }\n\n public setProfileButtonVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._profileButton.style.removeProperty('display');\n } else {\n this._profileButton.style.display = 'none';\n }\n }\n\n public setSignOutButtonVisibility(isVisible: boolean): void {\n if (isVisible) {\n this._signOutButton.style.removeProperty('display');\n } else {\n this._signOutButton.style.display = 'none';\n }\n }\n\n public setSignOutButtonText(value: string): void {\n this._signOutButton.textContent = value;\n }\n \n public setProfileButtonText(value: string): void {\n this._profileButton.textContent = value;\n }\n\n public setProfileButtonListener(listener: (evt: Event) => void): void {\n this._profileButton.addEventListener('click', listener);\n }\n\n public setSignOutButtonListener(listener: (evt: Event) => void): void {\n this._signOutButton.addEventListener('click', listener);\n }\n\n public removeProfileButtonListener(listener: (evt: Event) => void): void {\n this._profileButton.removeEventListener('click', listener);\n }\n\n public removeSignOutButtonListener(listener: (evt: Event) => void): void {\n this._signOutButton.removeEventListener('click', listener);\n }\n\n public requestProfileButtonFocus(): void {\n window.requestAnimationFrame(() => this._profileButton.focus());\n }\n\n public requestSignOutButtonFocus(): void {\n window.requestAnimationFrame(() => this._signOutButton.focus());\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IProfileCardAdapter } from './profile-card-adapter';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\n\nexport interface IProfileCardFoundation extends ICustomElementFoundation {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\nexport class ProfileCardFoundation implements IProfileCardFoundation {\n private _fullName: string;\n private _email: string;\n private _avatarText: string;\n private _avatarImageUrl: string;\n private _avatarLetterCount: number;\n private _showSignOutButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_SIGN_OUT_BUTTON;\n private _showProfileButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_PROFILE_BUTTON;\n private _signOutButtonText = PROFILE_CARD_CONSTANTS.defaults.SIGN_OUT_BUTTON_TEXT;\n private _profileButtonText = PROFILE_CARD_CONSTANTS.defaults.PROFILE_BUTTON_TEXT;\n private _profileListener: (evt: Event) => void;\n private _signOutListener: (evt: Event) => void;\n\n constructor(private _adapter: IProfileCardAdapter) {\n this._profileListener = evt => this._onProfileButtonClick(evt);\n this._signOutListener = evt => this._onSignOutButtonClick(evt);\n }\n\n public initialize(): void {\n this._adapter.setProfileButtonListener(this._profileListener);\n this._adapter.setSignOutButtonListener(this._signOutListener);\n\n if (this._showSignOutButton || this._showProfileButton) {\n this._requestInitialFocus();\n }\n\n this._setActionVisibility();\n this._adapter.setSignOutButtonText(this._signOutButtonText);\n this._adapter.setProfileButtonText(this._profileButtonText);\n }\n\n private _requestInitialFocus(): void {\n if (this._showSignOutButton) {\n this._adapter.requestSignOutButtonFocus();\n } else if (this._showProfileButton) {\n this._adapter.requestProfileButtonFocus();\n }\n }\n\n private _setActionVisibility(): void {\n const showActionToolbar = this._showSignOutButton || this._showProfileButton;\n this._adapter.setActionToolbarVisibility(showActionToolbar);\n this._adapter.setSignOutButtonVisibility(this._showSignOutButton);\n this._adapter.setProfileButtonVisibility(this._showProfileButton);\n }\n\n private _onProfileButtonClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.PROFILE);\n }\n\n private _onSignOutButtonClick(evt: Event): void {\n evt.stopPropagation();\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.SIGN_OUT);\n }\n\n public get fullName(): string {\n return this._fullName;\n }\n public set fullName(value: string) {\n if (this._fullName !== value) {\n this._fullName = value;\n this._adapter.setFullName(this._fullName);\n }\n }\n\n public get email(): string {\n return this._email;\n }\n public set email(value: string) {\n if (this._email !== value) {\n this._email = value;\n this._adapter.setEmail(this._email);\n }\n }\n\n public get avatarText(): string {\n return this._avatarText;\n }\n public set avatarText(value: string) {\n if (this._avatarText !== value) {\n this._avatarText = value;\n this._adapter.setAvatarText(this._avatarText);\n }\n }\n\n public get avatarImageUrl(): string {\n return this._avatarImageUrl;\n }\n public set avatarImageUrl(value: string) {\n if (this._avatarImageUrl !== value) {\n this._avatarImageUrl = value;\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n }\n }\n\n public get avatarLetterCount(): number {\n return this._avatarLetterCount;\n }\n public set avatarLetterCount(value: number) {\n if (this._avatarLetterCount !== value) {\n this._avatarLetterCount = value;\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n }\n }\n\n public get signOut(): boolean {\n return this._showSignOutButton;\n }\n public set signOut(value: boolean) {\n if (this._showSignOutButton !== value) {\n this._showSignOutButton = value;\n this._setActionVisibility();\n }\n }\n\n public get profile(): boolean {\n return this._showProfileButton;\n }\n public set profile(value: boolean) {\n if (this._showProfileButton !== value) {\n this._showProfileButton = value;\n this._setActionVisibility();\n }\n }\n\n public get signOutText(): string {\n return this._signOutButtonText;\n }\n public set signOutText(value: string) {\n if (this._signOutButtonText !== value) {\n this._signOutButtonText = value || PROFILE_CARD_CONSTANTS.defaults.SIGN_OUT_BUTTON_TEXT;\n this._adapter.setSignOutButtonText(this._signOutButtonText);\n }\n }\n\n public get profileText(): string {\n return this._profileButtonText;\n }\n public set profileText(value: string) {\n if (this._profileButtonText !== value) {\n this._profileButtonText = value || PROFILE_CARD_CONSTANTS.defaults.PROFILE_BUTTON_TEXT;\n this._adapter.setProfileButtonText(this._profileButtonText);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, coerceNumber, FoundationProperty } from '@tylertech/forge-core';\nimport { ProfileCardAdapter } from './profile-card-adapter';\nimport { ProfileCardFoundation } from './profile-card-foundation';\nimport { PROFILE_CARD_CONSTANTS } from './profile-card-constants';\nimport { ButtonComponent } from '../button';\nimport { AvatarComponent } from '../avatar';\nimport { ToolbarComponent } from '../toolbar';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-profile-card\\\" part=\\\"root\\\"><div class=\\\"forge-profile-card__info\\\" part=\\\"info-container\\\"><div class=\\\"forge-profile-card__info-avatar\\\" part=\\\"avatar-container\\\"><forge-avatar part=\\\"avatar\\\"></forge-avatar></div><div class=\\\"forge-profile-card__info-text\\\" part=\\\"info-text\\\"><div class=\\\"forge-profile-card__full-name\\\" part=\\\"name\\\"></div><div class=\\\"forge-profile-card__email\\\" part=\\\"email\\\"></div></div></div><slot></slot><forge-toolbar inverted id=\\\"action-toolbar\\\" part=\\\"footer\\\"><forge-button type=\\\"outlined\\\" slot=\\\"end\\\" style=\\\"margin-right: 8px;\\\" part=\\\"profile-button\\\"><button type=\\\"button\\\" id=\\\"profile-button\\\" aria-label=\\\"View profile\\\" part=\\\"profile-button-element\\\">Profile</button></forge-button><forge-button slot=\\\"end\\\" part=\\\"sign-out-button\\\"><button type=\\\"button\\\" id=\\\"sign-out-button\\\" aria-label=\\\"Sign out\\\" part=\\\"sign-out-button-element\\\">Sign out</button></forge-button></forge-toolbar></div></template>';\nconst styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.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}.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-profile-card{min-width:360px;border-radius:4px}@media (max-width:399px){.forge-profile-card{width:100vw;min-width:unset;overflow:auto}}.forge-profile-card__info{padding:8px 16px;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-profile-card__info-avatar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:8px;margin-right:16px;--forge-avatar-size:56px}.forge-profile-card__info-text{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:start;align-items:flex-start}.forge-profile-card__full-name{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1rem;font-size:var(--forge-typography-subtitle1-secondary-font-size, 1rem);line-height:1.75rem;line-height:var(--forge-typography-subtitle1-secondary-line-height, 1.75rem);font-weight:500;font-weight:var(--forge-typography-subtitle1-secondary-font-weight,500);letter-spacing:.01em;letter-spacing:var(--forge-typography-subtitle1-secondary-letter-spacing, .01em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle1-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle1-secondary-text-transform,inherit);line-height:1.25rem}.forge-profile-card__email{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-subtitle2-font-size, .875rem);line-height:1.375rem;line-height:var(--mdc-typography-subtitle2-line-height, 1.375rem);font-weight:500;font-weight:var(--mdc-typography-subtitle2-font-weight,500);letter-spacing:.0071428571em;letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, .0071428571em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle2-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}forge-toolbar#action-toolbar::part(root){border-bottom-left-radius:4px;border-bottom-right-radius:4px}:host{display:inline}:host([hidden]){display:none}forge-toolbar{--mdc-theme-surface:var(--forge-theme-elevated-surface)}';\n\nexport interface IProfileCardComponent extends IBaseComponent {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n signOutText: string;\n profileText: string;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-profile-card': IProfileCardComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-profile-card-sign-out': CustomEvent<void>;\n 'forge-profile-card-profile': CustomEvent<void>;\n }\n}\n\n/**\n * The web component class behind the `<forge-profile-card>` custom element.\n * \n * @tag forge-profile-card\n */\n@CustomElement({\n name: PROFILE_CARD_CONSTANTS.elementName,\n dependencies: [\n ToolbarComponent,\n ButtonComponent,\n AvatarComponent\n ]\n})\nexport class ProfileCardComponent extends BaseComponent implements IProfileCardComponent {\n public static get observedAttributes(): string[] {\n return [\n PROFILE_CARD_CONSTANTS.attributes.FULL_NAME,\n PROFILE_CARD_CONSTANTS.attributes.EMAIL,\n PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT,\n PROFILE_CARD_CONSTANTS.attributes.PROFILE,\n PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT_TEXT,\n PROFILE_CARD_CONSTANTS.attributes.PROFILE_TEXT,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL,\n PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT\n ];\n }\n\n private _foundation: ProfileCardFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ProfileCardFoundation(new ProfileCardAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case PROFILE_CARD_CONSTANTS.attributes.FULL_NAME:\n this.fullName = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.EMAIL:\n this.email = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT:\n this.signOut = coerceBoolean(PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT);\n break;\n case PROFILE_CARD_CONSTANTS.attributes.PROFILE:\n this.profile = coerceBoolean(PROFILE_CARD_CONSTANTS.attributes.PROFILE);\n break;\n case PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT_TEXT:\n this.signOutText = PROFILE_CARD_CONSTANTS.attributes.SIGN_OUT_TEXT;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.PROFILE_TEXT:\n this.profileText = PROFILE_CARD_CONSTANTS.attributes.PROFILE_TEXT;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT:\n this.avatarText = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL:\n this.avatarImageUrl = newValue;\n break;\n case PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT:\n this.avatarLetterCount = coerceNumber(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare fullName: string;\n\n @FoundationProperty()\n public declare email: string;\n\n @FoundationProperty()\n public declare signOut: boolean;\n\n @FoundationProperty()\n public declare profile: boolean;\n\n @FoundationProperty()\n public declare signOutText: string;\n\n @FoundationProperty()\n public declare profileText: string;\n\n @FoundationProperty()\n public declare avatarText: string;\n\n @FoundationProperty()\n public declare avatarImageUrl: string;\n\n @FoundationProperty()\n public declare avatarLetterCount: number;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ProfileCardComponent } from './profile-card';\n\nexport * from './profile-card-adapter';\nexport * from './profile-card-constants';\nexport * from './profile-card-foundation';\nexport * from './profile-card';\n\nexport function defineProfileCardComponent(): void {\n defineCustomElement(ProfileCardComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{g as d}from"./chunk.G76HB2FK.js";var M=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,b=/a-z/i,h=10;function T(t){if(t=t.replace(/_|\s/g,""),M.test(t)){let f=new Date(t);if(b.test(t)||f.setMinutes(f.getMinutes()+f.getTimezoneOffset()),d(f))return f}let e=[];t.indexOf("/")!==-1?e=t.split("/"):t.indexOf("-")!==-1?e=t.split("-"):(t.length===6||t.length===8)&&!isNaN(+t)&&(e=[t.substring(0,2),t.substring(2,4),t.substring(4)]);let i=e.length===3,[n,s,r]=e;if(n==="0"&&(n="1"),s==="0"&&(s="1"),typeof r=="string"&&r.length===3&&(r=r.padEnd(4,"0")),i){let f=n.length===1||n.length===2,u=s.length===1||s.length===2,g=r.length===2||r.length===4;if(!f||!u||!g)return null}else return null;if(r.length===2){let f=new Date().getFullYear()-(100-h),u=new Date().getFullYear()+h,g=String(f).slice(0,2),x=String(u).slice(0,2),D=+String(u).slice(2);r=+r<=D?`${x}${r}`:`${g}${r}`}let a=+n,o=+s,l=+r;a>12&&(a=12);let c=new Date(l,a,0).getDate();o>c&&(o=c);let m=new Date(l,a-1,o,0,0,0,0);return d(m)?m:null}function y(t){let e=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getDate()).padStart(2,"0"),n=t.getFullYear();return[e,i,n].join("/")}function C(t,e){return!t&&!e?!0:!t||!e||!d(t)||!d(e)?!1:t.setHours(0,0,0,0)===e.setHours(0,0,0,0)}function A(t,e){return new Date(e!=null?e:1970,t+1,0)}function L(t,e){return A(t,e).getDate()}function w(t,e){let i=document.createElement("div");i.innerHTML=t;for(let s=i.childNodes.length-1;s>=0;s--)i.childNodes[s].nodeName.toLowerCase()!=="svg"&&i.removeChild(i.childNodes[s]);let n=i.firstElementChild;return n&&n.nodeName.toLowerCase()==="svg"&&p(n)?(e&&n.setAttribute("viewBox",e),!n.hasAttribute("viewBox")&&e&&n.setAttribute("viewBox",e),n.removeAttribute("height"),n.removeAttribute("width"),n):null}function p(t){if(t.nodeType!==1)return!0;if(t.nodeName.toLowerCase()==="script")return!1;let e=Array.from(t.attributes);for(let n of e)if(typeof n.name=="string"&&n.name.toLowerCase().startsWith("on"))return!1;let i=Array.from(t.childNodes);for(let n of i)if(!p(n))return!1;return!0}var E=/^(0?[0-9]|1\d|2[0-3]):([0-5]\d)(:([0-5]\d))?$/,S=/^(0?[1-9]|1[0-2]):([0-5]\d)(:([0-5]\d))?\s*([AaPp][Mm])?$/,_=/^(\d\d?):?(\d\d?)(:?(\d?\d?))?\s*([AaPp][Mm]?)?$/;function Y(t){let e=t.match(E)||[null,0,0,null,0],i=e[1],n=e[2],s=e[4];return{hours:i,minutes:n,seconds:s}}function $(t){let e=t.match(S)||[null,0,0,null,0,"AM"],i=e[1],n=e[2],s=e[4],r=e[5];return{hours:i,minutes:n,seconds:s,meridiem:r}}function F(t){return E.test(t)||S.test(t)}function G(t,e,i){if(t=t&&typeof t=="string"?t.replace(/_|\s/g,""):"",/^\s*$/.test(t))return"";let n=t.match(_);if(!n)return"";let s=n[1],r=n[2],a=n[4],o=n[5];e?o="":/[AaPp][Mm]/.test(o)?o=o.toUpperCase():/^[AaPp]/.test(o)?o.toLowerCase().startsWith("a")?o="AM":o.toLowerCase().startsWith("p")&&(o="PM"):o="";let l=+s||0,c=+r||0,m=!o||e?23:12;if(l>=m?s=String(m):l<0&&(s="00"),r!==void 0&&(c>59?r="59":c<0?r="00":r=r.padStart(2,"0")),a!==void 0){let u=+a||0;u>59?a="59":u<0?a="00":a=a.padStart(2,"0")}let f=s;return r!==void 0&&(f+=`:${r}`,a===void 0&&i&&(a="00")),a!==void 0&&(f+=`:${a}`),o&&(f+=` ${o}`),f}export{M as a,b,T as c,y as d,C as e,A as f,L as g,w as h,p as i,E as j,S as k,_ as l,Y as m,$ as n,F as o,G as p};
7
- //# sourceMappingURL=chunk.3MP6OFVU.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/core/utils/date-utils.ts", "../../src/core/utils/svg-utils.ts", "../../src/core/utils/time-utils.ts"],
4
- "sourcesContent": ["import { isValidDate } from '@tylertech/forge-core';\n\nexport const ISO_8601_REGEX = /^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$/;\nexport const ISO_TIMEZONE_REGEX = /a-z/i;\nconst FUTURE_YEAR_COERCION = 10; // The number of years in the future to coerce two-digit years into current century\n\n/**\n * Parses a date string value to a `Date` object in local time.\n * @param str The date string value.\n */\nexport function parseDateString(value: string): Date | null {\n value = value.replace(/_|\\s/g, ''); // Remove potential extraneous characters\n\n // We first check if this is a valid date in ISO 8601 format and return it if so\n if (ISO_8601_REGEX.test(value)) {\n const iso8601Date = new Date(value);\n\n // This is an ISO string, but does it have a timezone? If not, we add current timezone offset\n if (!ISO_TIMEZONE_REGEX.test(value)) {\n iso8601Date.setMinutes(iso8601Date.getMinutes() + iso8601Date.getTimezoneOffset());\n }\n\n if (isValidDate(iso8601Date)) {\n return iso8601Date;\n }\n }\n\n let values: string[] = [];\n\n // We accept dates with a \"/\" or \"-\" separator and in the format of MM/DD/YYYY\n if (value.indexOf('/') !== -1) {\n values = value.split('/');\n } else if (value.indexOf('-') !== -1) {\n values = value.split('-');\n } else if ((value.length === 6 || value.length === 8) && !isNaN(+value)) {\n values = [value.substring(0, 2), value.substring(2, 4), value.substring(4)];\n }\n\n const hasMonthDayYear = values.length === 3;\n let [month, day, year] = values;\n\n // Ensure are month and year values are coerced from 0 to 1 in case of incomplete entry\n if (month === '0') {\n month = '1';\n }\n if (day === '0') {\n day = '1';\n }\n\n // Trap for the case where only 3 digit years are entered\n if (typeof year === 'string' && year.length === 3) {\n year = year.padEnd(4, '0');\n }\n \n if (hasMonthDayYear) {\n const isValidMonthLength = month.length === 1 || month.length === 2;\n const isValidDayLength = day.length === 1 || day.length === 2;\n const isValidYearLength = year.length === 2 || year.length === 4;\n\n if (!isValidMonthLength || !isValidDayLength || !isValidYearLength) {\n return null;\n }\n } else {\n return null;\n }\n\n // Check if we need to coerce two-digit years to the four-digit equivalent\n if (year.length === 2) {\n const minYear = new Date().getFullYear() - (100 - FUTURE_YEAR_COERCION);\n const maxYear = new Date().getFullYear() + FUTURE_YEAR_COERCION;\n const minYearCentury = String(minYear).slice(0, 2);\n const maxYearCentury = String(maxYear).slice(0, 2);\n const normalizedMaxYear = +String(maxYear).slice(2);\n year = +year <= normalizedMaxYear ? `${maxYearCentury}${year}` : `${minYearCentury}${year}`;\n }\n\n let numMonth = +month;\n let numDay = +day;\n const numYear = +year;\n\n if (numMonth > 12) {\n numMonth = 12;\n }\n\n const maxDaysInMonth = new Date(numYear, numMonth, 0).getDate();\n\n if (numDay > maxDaysInMonth) {\n numDay = maxDaysInMonth;\n }\n\n const parsedDate = new Date(numYear, numMonth - 1, numDay, 0, 0, 0, 0);\n return isValidDate(parsedDate) ? parsedDate : null;\n}\n\n/**\n * Formats a `Date` to a specified format.\n * @param str The date string value.\n */\nexport function formatDate(date: Date): string {\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n const year = date.getFullYear();\n return [month, day, year].join('/');\n}\n\n/**\n * Determines if two date objects are equal.\n * \n * Note: Time values are ignored.\n * @param first The date to compare.\n * @param second The date to compare the first date to. \n * @returns A boolean whether the two dates are equivalent.\n */\nexport function isSameDate(first?: Date | null, second?: Date | null): boolean {\n if (!first && !second) {\n return true;\n } else if (!first || !second) {\n return false;\n } else if (!isValidDate(first) || !isValidDate(second)) {\n return false;\n }\n return first.setHours(0, 0, 0, 0) === second.setHours(0, 0, 0, 0);\n}\n\n/** \n * Returns the last date on a month.\n * \n * @param month The month.\n * @param year The year of the month, needed for February otherwise optional.\n * @returns The last date of the given month.\n */\nexport function getLastDateOfMonth(month: number, year?: number): Date {\n return new Date(year ?? 1970, month + 1, 0);\n}\n\n/**\n * Returns the number of days in a month.\n * \n * @param month The month to find the length of.\n * @param year The year to check within, needed for February otherwise optional.\n * @returns The number of days in the month.\n */\nexport function getMonthLength(month: number, year?: number): number {\n return getLastDateOfMonth(month, year).getDate();\n}\n", "/**\n * Creates an SVG element from a string.\n */\nexport function createSvgFromString(svgContent: string, defaultViewBox?: string): SVGSVGElement | null {\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n\n // Remove all non-svg child nodes\n for (let i = div.childNodes.length - 1; i >= 0; i--) {\n if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {\n div.removeChild(div.childNodes[i]);\n }\n }\n\n const svgElm = div.firstElementChild as SVGSVGElement;\n if (svgElm && svgElm.nodeName.toLowerCase() === 'svg' && isSafeSvg(svgElm)) {\n // Check if a custom viewbox value was provided and use that if so\n if (defaultViewBox) {\n svgElm.setAttribute('viewBox', defaultViewBox);\n }\n\n // Force a default viewBox if one doesn't exist (this ensures our icon is scalable)\n if (!svgElm.hasAttribute('viewBox') && defaultViewBox) {\n svgElm.setAttribute('viewBox', defaultViewBox);\n }\n\n // Remove any height and width attributes to ensure that the icon is properly scalable\n svgElm.removeAttribute('height');\n svgElm.removeAttribute('width');\n\n return svgElm;\n }\n\n return null;\n}\n\n/**\n * Determines if the provided element is a safe SVG to use.\n * @param el The element reference to test.\n */\nexport function isSafeSvg(el: Element): boolean {\n if (el.nodeType !== 1) {\n return true;\n }\n\n // Validate no <script> tags exist\n if (el.nodeName.toLowerCase() === 'script') {\n return false;\n }\n\n // Ensure there are no inline listeners\n const attributes = Array.from(el.attributes);\n for (const attr of attributes) {\n if (typeof attr.name === 'string' && attr.name.toLowerCase().startsWith('on')) {\n return false;\n }\n }\n\n // Ensure all child nodes are valid\n const childNodes = Array.from(el.childNodes) as Element[];\n for (const node of childNodes) {\n if (!isSafeSvg(node)) {\n return false;\n }\n }\n\n return true;\n}\n", "export const TWENTY_FOUR_HOUR_TIME_REGEX = /^(0?[0-9]|1\\d|2[0-3]):([0-5]\\d)(:([0-5]\\d))?$/;\nexport const TWELVE_HOUR_TIME_REGEX = /^(0?[1-9]|1[0-2]):([0-5]\\d)(:([0-5]\\d))?\\s*([AaPp][Mm])?$/;\nexport const PARSEABLE_TIME_FORMAT = /^(\\d\\d?):?(\\d\\d?)(:?(\\d?\\d?))?\\s*([AaPp][Mm]?)?$/;\n\nexport function tokenize24HourTimeString(value: string): { hours: string; minutes: string; seconds: string } {\n const matches = value.match(TWENTY_FOUR_HOUR_TIME_REGEX) as RegExpMatchArray || [null, 0, 0, null, 0];\n const hours = matches[1];\n const minutes = matches[2];\n const seconds = matches[4];\n return { hours, minutes, seconds };\n}\n\nexport function tokenize12HourTimeString(value: string): { hours: string; minutes: string; seconds: string; meridiem: string } {\n const matches = value.match(TWELVE_HOUR_TIME_REGEX) as RegExpMatchArray || [null, 0, 0, null, 0, 'AM'];\n const hours = matches[1];\n const minutes = matches[2];\n const seconds = matches[4];\n const meridiem = matches[5];\n return { hours, minutes, seconds, meridiem };\n}\n\nexport function isSupportedTimeFormat(value: string): boolean {\n return TWENTY_FOUR_HOUR_TIME_REGEX.test(value) ||\n TWELVE_HOUR_TIME_REGEX.test(value);\n}\n\nexport function tryCoerceTimeString(str: string, use24HourTime: boolean, allowSeconds: boolean): string {\n str = str && typeof str === 'string' ? str.replace(/_|\\s/g, '') : '';\n if (/^\\s*$/.test(str)) {\n return '';\n }\n\n const matches = str.match(PARSEABLE_TIME_FORMAT);\n if (!matches) {\n return '';\n }\n\n let hoursStr = matches[1];\n let minutesStr = matches[2];\n let secondsStr = matches[4];\n let meridiem = matches[5];\n\n // Normalize the meridiem string\n if (use24HourTime) {\n meridiem = '';\n } else if (/[AaPp][Mm]/.test(meridiem)) {\n meridiem = meridiem.toUpperCase();\n } else {\n if (/^[AaPp]/.test(meridiem)) {\n if (meridiem.toLowerCase().startsWith('a')) {\n meridiem = 'AM';\n } else if (meridiem.toLowerCase().startsWith('p')) {\n meridiem = 'PM';\n }\n } else {\n meridiem = '';\n }\n }\n\n const hoursNum = +hoursStr || 0;\n const minutesNum = +minutesStr || 0;\n\n // Clamp and normalize hours\n const maxHours = !meridiem || use24HourTime ? 23 : 12;\n if (hoursNum >= maxHours) {\n hoursStr = String(maxHours);\n } else if (hoursNum < 0) {\n hoursStr = '00';\n }\n\n // Clamp and normalize minutes\n if (minutesStr !== undefined) {\n if (minutesNum > 59) {\n minutesStr = '59';\n } else if (minutesNum < 0) {\n minutesStr = '00';\n } else {\n minutesStr = minutesStr.padStart(2, '0');\n }\n }\n\n // Clamp and normalize seconds (if applicable)\n if (secondsStr !== undefined) {\n const secondsNum = +secondsStr || 0;\n if (secondsNum > 59) {\n secondsStr = '59';\n } else if (secondsNum < 0) {\n secondsStr = '00';\n } else {\n secondsStr = secondsStr.padStart(2, '0');\n }\n }\n\n // Build resulting time string\n let timeStr = hoursStr;\n if (minutesStr !== undefined) {\n timeStr += `:${minutesStr}`;\n if (secondsStr === undefined && allowSeconds) {\n secondsStr = '00';\n }\n }\n if (secondsStr !== undefined) {\n timeStr += `:${secondsStr}`;\n }\n if (meridiem) {\n timeStr += ` ${meridiem}`;\n }\n\n return timeStr;\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as C}from"./chunk.GEMZPO6Z.js";import{b as o}from"./chunk.S76NW5JY.js";import{a as V}from"./chunk.ETIN6DEM.js";import{h as P,i as N}from"./chunk.MBWEYW6M.js";import{a as k}from"./chunk.UOWU5VVK.js";import{h as L}from"./chunk.5BDTX7CR.js";import{a as G}from"./chunk.5PXABBKU.js";import{a as d}from"./chunk.B3IJU6XJ.js";import{i as S}from"./chunk.R4NDFXVA.js";import{a as y,b as c,j as I,k as x,n as B}from"./chunk.G76HB2FK.js";import{a as O,f as a}from"./chunk.MCIQXNKY.js";var U={VALUE:"value",MULTIPLE:"multiple",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold",POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",SYNC_POPUP_WIDTH:"sync-popup-width"},W=O({},U),R={CHANGE:"change"},m={attributes:W,events:R};var H=(e=>(e[e.Option=0]="Option",e[e.Group=1]="Group",e))(H||{});function D(l,b){let e=l.some(i=>E(i)),t=l.some(i=>z(i));return e&&b===1||t&&b===0}function E(l){return c(l)&&I(l)&&l.hasOwnProperty("options")&&l.hasOwnProperty("text")}function z(l){return c(l)&&I(l)&&l.hasOwnProperty("label")&&l.hasOwnProperty("value")}var F=class extends N{constructor(e){super();this._adapter=e;this._options=[];this._value=[];this._multiple=!1;this._open=!1;this._selectedValues=[];this._selectedLabels=[];this._selectedIndexes=[];this._filterString="";this._focusListener=t=>this._onFocus(t),this._blurListener=t=>this._onBlur(t),this._clickListener=t=>this._onClick(t),this._keydownListener=t=>this._onKeydown(t),this._optionsChangedListener=t=>this._onOptionsChanged(t),this._activeChangeListener=t=>this._onActiveOptionChanged(t),this._dropdownScrollEndListener=()=>this._onDropdownScrollEnd(),this._dismissListener=()=>this._onDismiss(),this._identifier=y()}_onFocus(e){}initialize(){this._optionListenerDestructor&&this._optionListenerDestructor(),this._optionListenerDestructor=this._adapter.setOptionsListener(this._optionsChangedListener),this._initializeValue()}initializeTarget(){this._adapter.initializeAccessibility(),this._adapter.setMultiple(this._multiple),this._adapter.addClickListener(this._clickListener),this._adapter.addTargetListener("blur",this._blurListener),this._adapter.addTargetListener("focus",this._focusListener),this._adapter.addTargetListener("keydown",this._keydownListener)}disconnect(){this._adapter.removeClickListener(this._clickListener),this._adapter.removeTargetListener("blur",this._blurListener),this._adapter.removeTargetListener("focus",this._focusListener),this._adapter.removeTargetListener("keydown",this._keydownListener),this._open&&this._closeDropdown(),this._optionListenerDestructor&&this._optionListenerDestructor()}appendOptions(e){this._adapter.setOptions(e,!1),this._open&&this._adapter.appendDropdownOptions(e)}selectAll(){this._multiple&&(this.value=this._flatOptions.map(e=>e.value))}deselectAll(){this._multiple&&(this.value=[])}get _flatOptions(){return D(this._options,1)?[].concat.apply([],this._options.map(e=>e.options)):this._options}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}_initializeValue(){let e=this._options.length&&this._options||this._adapter.getOptions();c(this._value)&&e.length&&this._applyValue(this._value)}_onClick(e){e.button===0&&(this._open?this._closeDropdown():this._openDropdown())}_onBlur(e){this._adapter.isFocusWithinPopup(e.relatedTarget)||this._open&&this._closeDropdown()}_openDropdown(){if(this._options=this._adapter.getOptions(),!this._flatOptions.length)return;this._open=!0;let e={options:this._options,multiple:this._multiple,selectedValues:[...this._selectedValues],id:this._identifier,optionBuilder:this._optionBuilder,syncWidth:this._syncPopupWidth,observeScroll:this._observeScroll,observeScrollThreshold:this._observeScrollThreshold,scrollEndListener:this._dropdownScrollEndListener,activeChangeCallback:this._activeChangeListener,targetWidthCallback:this._targetWidthCallback,popupClasses:this._popupClasses,optionLimit:this._optionLimit,headerBuilder:this._popupHeaderBuilder,footerBuilder:this._popupFooterBuilder,closeCallback:()=>this._closeDropdown(),selectCallback:t=>{let i=this._flatOptions,n=i.find(r=>r.value===t);if(n){let r=i.indexOf(n);this._onSelect(n,r,!0)}}};this._adapter.open(e),this._adapter.setDismissListener(this._dismissListener)}_closeDropdown(){this._open=!1,this._adapter.close()}async _onSelect(e,t,i=!0){return new Promise(async n=>{if(this._valueChanging)return Promise.resolve(!1);let r=e?e.value:"",u=e?e.label:"",v=[...this._value],f=[...this._selectedValues],g=[...this._selectedLabels],w=[...this._selectedIndexes];if(this._multiple)if(this._selectedValues.includes(r)){let h=this._selectedValues.indexOf(r);this._selectedValues.splice(h,1),this._selectedLabels.splice(h,1),this._selectedIndexes.splice(h,1)}else this._selectedValues.push(r),this._selectedLabels.push(u),this._selectedIndexes.push(t);else c(r)?(this._selectedValues[0]=r,this._selectedLabels[0]=u,this._selectedIndexes[0]=t):(this._selectedValues=[],this._selectedLabels=[],this._selectedIndexes=[]);this._value=[...this._selectedValues];let s=()=>{this._selectedValues=[...f],this._selectedLabels=[...g],this._selectedIndexes=[...w],this._value=[...v]},_=()=>{if(this._multiple){let h=this._selectedIndexes.includes(t);this._adapter.toggleOptionMultiple(t,h)}this._applySelection()},A=this.multiple?[...this._selectedValues]:this._selectedValues[0];if(this._open&&i&&!this._multiple&&this._closeDropdown(),typeof this._beforeValueChange=="function"){this._valueChanging=Promise.resolve(this._beforeValueChange.call(null,A));let h=await this._valueChanging;if(this._valueChanging=void 0,!h)return s(),this._tryUpdateDropdownPosition(),n(!1)}let T=!this._adapter.emitHostEvent(m.events.CHANGE,A,!0,!0);T?s():_(),this._tryUpdateDropdownPosition(),n(!T)})}_selectActiveOption(){let e=this._adapter.getActiveOptionIndex();e>=0&&this._nonDividerOptions[e]&&this._onSelect(this._nonDividerOptions[e],e)}_tryUpdateDropdownPosition(){this._open&&this._adapter.queueDropdownPositionUpdate()}_reset(){this._selectedValues=[],this._selectedLabels=[],this._selectedIndexes=[]}_applyValue(e){this._selectedValues=[],this._selectedLabels=[],this._options=this._adapter.getOptions(),Array.isArray(e)||(e=[e]),this._value=[];for(let t of e){this._value.includes(t)||this._value.push(t);let i=this._flatOptions.find(n=>B(n.value,t));i&&(this._selectedValues.push(i.value),this._selectedLabels.push(i.label))}this._selectedIndexes=this._selectedValues.map(t=>this._flatOptions.findIndex(i=>i.value===t)),this._adapter.patchSelectedValues(this._selectedValues)}_onDismiss(){this._closeDropdown()}_getSelectedText(){if(typeof this._selectedTextBuilder=="function"){let e=this._flatOptions.filter(t=>this._selectedValues.includes(t.value));return this._selectedTextBuilder(e)}return this._multiple?this._selectedLabels.length?`${this._selectedLabels.length} ${this._selectedLabels.length===1?"option":"options"} selected`:"":this._selectedLabels.filter(e=>e&&e.length).join(" ").trim()}_onKeydown(e){let t=e.key==="Escape"||e.keyCode===27,i=e.key==="Enter"||e.keyCode===13,n=e.key==="Space"||e.keyCode===32,r=e.key==="ArrowDown"||e.keyCode===40,u=e.key==="ArrowUp"||e.keyCode===38,v=e.keyCode>=48&&e.keyCode<=90,f=e.key==="Home"||e.keyCode===36,g=e.key==="End"||e.keyCode===35;if(e.key==="Tab"&&this._open&&!this._multiple){this._selectActiveOption();return}if(!v&&this._filterTimeout&&(window.clearTimeout(this._filterTimeout),this._filterString="",this._filterTimeout=void 0),t&&(e.preventDefault(),this._open)){this._closeDropdown();return}if(n)e.preventDefault(),this._open?this._closeDropdown():this._openDropdown();else if(i)this._open&&(e.stopPropagation(),e.preventDefault(),this._options=this._adapter.getOptions(),this._selectActiveOption());else if(u||r){if(e.preventDefault(),this._multiple&&!this._open){this._openDropdown(),this._adapter.activateFirstOption();return}if(this._flatOptions.length===0)return;let s=0;this._open?(s=this._adapter.getActiveOptionIndex(),s===-1&&(s=this._getFirstSelectedOptionIndex())):s=this._getFirstSelectedOptionIndex(),u?s=this._getPreviousHighlightableOptionIndex(s,this._nonDividerOptions):s=this._getNextHighlightableOptionIndex(s,this._nonDividerOptions),this._open?this._adapter.highlightActiveOption(s):this._onSelect(this._nonDividerOptions[s],s)}else if(f)this._open&&(e.preventDefault(),this._adapter.highlightActiveOption(this._nonDividerOptions.findIndex(s=>!s.disabled)));else if(g){if(this._open){e.preventDefault();let s=this._nonDividerOptions;for(let _=s.length-1;_>=0;_--)if(!s[_].disabled){this._adapter.highlightActiveOption(_);break}}}else v&&this._filter(e.key)}_getFirstSelectedOptionIndex(){return this._nonDividerOptions.findIndex(e=>this._selectedValues.includes(e.value))}_getPreviousHighlightableOptionIndex(e,t){let i=e;return i<=0?i=t.length-1:i--,t[i].disabled?this._getPreviousHighlightableOptionIndex(i,t):i}_getNextHighlightableOptionIndex(e,t){let i=e;return i===t.length-1?i=0:i++,t[i].disabled?this._getNextHighlightableOptionIndex(i,t):i}_filter(e){this._filterTimeout&&(window.clearTimeout(this._filterTimeout),this._filterTimeout=void 0),this._filterString+=e,this._filterTimeout=window.setTimeout(()=>{this._filterString="",this._filterTimeout=void 0},300),this._options=this._adapter.getOptions();let t=this._flatOptions.find(i=>!i.disabled&&i.label.toLowerCase().startsWith(this._filterString));if(t){let i=this._flatOptions.indexOf(t);this._open?this._adapter.highlightActiveOption(i):this._multiple||this._onSelect(t,i,!1)}}_onOptionsChanged(e){this._options=e,this._applyValue(this._value)}_onActiveOptionChanged(e){this._adapter.updateActiveDescendant(e)}get value(){return this._multiple?[...this._value]:this._value[0]}set value(e){let t;Array.isArray(e)?t=[...e]:t=e,this._applyValue(t)}get selectedIndex(){return this._multiple?[...this._selectedIndexes]:this._selectedIndexes[0]}set selectedIndex(e){this._options=this._adapter.getOptions();let t;if(Array.isArray(e)?t=[...e]:t=[e],t.sort(),this.multiple)this.value=t.map(i=>this._flatOptions[i]).filter(i=>i).map(i=>i.value);else{let i=this._flatOptions[t[t.length-1]];if(!i)return;this.value=i.value}}get options(){return this._adapter.getOptions()}set options(e){let t;D(e,1)?t=e.map(i=>O({},i)):t=e.map(i=>O({},i)),this._options=t,this._adapter.setOptions(t),this._initializeValue(),this._open&&this._adapter.setDropdownOptions(t)}get multiple(){return this._multiple}set multiple(e){this._multiple!==e&&(this._multiple=e,this._reset(),this._open&&this._closeDropdown(),this._adapter.setMultiple(this._multiple))}get open(){return this._open}set open(e){this._open!==e&&(e?this._openDropdown():this._closeDropdown())}get optionBuilder(){return this._optionBuilder}set optionBuilder(e){this._optionBuilder=e}get selectedTextBuilder(){return this._selectedTextBuilder}set selectedTextBuilder(e){this._selectedTextBuilder=e}get observeScroll(){return this._observeScroll}set observeScroll(e){this._observeScroll=e}get observeScrollThreshold(){return this._observeScrollThreshold}set observeScrollThreshold(e){this._observeScrollThreshold=e}get syncPopupWidth(){return this._syncPopupWidth}set syncPopupWidth(e){this._syncPopupWidth=e}get optionLimit(){return this._optionLimit}set optionLimit(e){this._optionLimit=e}get popupClasses(){return this._popupClasses}set popupClasses(e){this._popupClasses=e}get popupHeaderBuilder(){return this._popupHeaderBuilder}set popupHeaderBuilder(e){this._popupHeaderBuilder=e}get popupFooterBuilder(){return this._popupFooterBuilder}set popupFooterBuilder(e){this._popupFooterBuilder=e}get popupElement(){return this._adapter.popupElement}get beforeValueChange(){return this._beforeValueChange}set beforeValueChange(e){this._beforeValueChange=e}};var p=class extends V{constructor(){super()}attributeChangedCallback(e,t,i){switch(super.attributeChangedCallback(e,t,i),e){case m.attributes.MULTIPLE:this.multiple=x(i);break;case m.attributes.VALUE:this.value=i;break}}appendOptions(e){this._foundation.appendOptions(e)}selectAll(){this._foundation.selectAll()}deselectAll(){this._foundation.deselectAll()}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}};a([d()],p.prototype,"value",2),a([d()],p.prototype,"selectedIndex",2),a([d()],p.prototype,"options",2),a([d()],p.prototype,"multiple",2),a([d()],p.prototype,"open",2),a([d()],p.prototype,"optionBuilder",2),a([d()],p.prototype,"selectedTextBuilder",2),a([d()],p.prototype,"beforeValueChange",2),a([d({set:!1})],p.prototype,"popupElement",2);var M=class extends G{constructor(e){super(e)}get popupElement(){var e;return(e=this._listDropdown)==null?void 0:e.dropdownElement}getOptions(){let e=Array.from(this._component.querySelectorAll(C.elementName));if(e.length)return e.map(t=>{let i=Array.from(t.querySelectorAll(o.elementName)),n=this._createOptionsFromElements(i);return{text:t.label,options:n}});{let t=Array.from(this._component.querySelectorAll(o.elementName));return this._createOptionsFromElements(t)}}_createOptionsFromElements(e){return e.map(t=>{let i=t.hasAttribute(o.attributes.OPTION_CLASS)?t.getAttribute(o.attributes.OPTION_CLASS):t.optionClass;return typeof i=="string"&&(i=i.split(" ")),{label:t.hasAttribute(o.attributes.LABEL)?t.getAttribute(o.attributes.LABEL):c(t.label)?t.label:t.innerText,value:t.hasAttribute(o.attributes.VALUE)?t.getAttribute(o.attributes.VALUE):t.value,disabled:t.hasAttribute(o.attributes.DISABLED),divider:t.hasAttribute(o.attributes.DIVIDER),optionClass:i,leadingIcon:t.hasAttribute(o.attributes.LEADING_ICON)?t.getAttribute(o.attributes.LEADING_ICON):t.leadingIcon,leadingIconClass:t.hasAttribute(o.attributes.LEADING_ICON_CLASS)?t.getAttribute(o.attributes.LEADING_ICON_CLASS):t.leadingIconClass,leadingIconType:t.hasAttribute(o.attributes.LEADING_ICON_TYPE)?t.getAttribute(o.attributes.LEADING_ICON_TYPE):t.leadingIconType,trailingIcon:t.hasAttribute(o.attributes.TRAILING_ICON)?t.getAttribute(o.attributes.TRAILING_ICON):t.trailingIcon,trailingIconClass:t.hasAttribute(o.attributes.TRAILING_ICON_CLASS)?t.getAttribute(o.attributes.TRAILING_ICON_CLASS):t.trailingIconClass,trailingIconType:t.hasAttribute(o.attributes.TRAILING_ICON_TYPE)?t.getAttribute(o.attributes.TRAILING_ICON_TYPE):t.trailingIconType,leadingBuilder:t.leadingBuilder,trailingBuilder:t.trailingBuilder}})}open(e){this._listDropdown=new P(this._targetElement,e),this._listDropdown.open()}close(){this._listDropdown&&(this._listDropdown.close(),this._listDropdown.destroy(),this._listDropdown=void 0)}setDismissListener(e){if(!this._listDropdown||!this._listDropdown.dropdownElement)return;let t=this._listDropdown.dropdownElement;t.targetElement&&t.targetElement.addEventListener(k.events.BLUR,e)}toggleOptionMultiple(e,t){var i;(i=this._listDropdown)==null||i.toggleOptionMultiple(e,t)}getActiveOptionIndex(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.getActiveOptionIndex())!=null?t:-1}activateSelectedOption(){var e;(e=this._listDropdown)==null||e.activateSelectedOption()}activateFirstOption(){var e;(e=this._listDropdown)==null||e.activateFirstOption()}highlightActiveOption(e){var t;(t=this._listDropdown)==null||t.activateOption(e)}patchSelectedValues(e){var t;(t=this._listDropdown)==null||t.setSelectedValues(e)}setOptionsListener(e){let t=n=>{n.stopPropagation(),e(this.getOptions())};this._component.addEventListener(o.events.VALUE_CHANGE,t);let i=new MutationObserver(()=>e(this.getOptions()));return i.observe(this._component,{childList:!0,subtree:!0}),()=>{this._component.removeEventListener(o.events.VALUE_CHANGE,t),i.disconnect()}}setOptions(e,t=!0){t&&this._clearOptions();for(let i of e)if(E(i)){let n=this._createOptionGroupElement(i);for(let r of i.options){let u=this._createOptionElement(r);n.appendChild(u)}this._component.appendChild(n)}else{let n=this._createOptionElement(i);this._component.appendChild(n)}}appendDropdownOptions(e){var t;(t=this._listDropdown)==null||t.appendOptions(e)}setDropdownOptions(e){var t;(t=this._listDropdown)==null||t.setOptions(e)}scrollSelectedOptionIntoView(){var e;(e=this._listDropdown)==null||e.scrollSelectedOptionIntoView()}isFocusWithinPopup(e){return!this._listDropdown||!this._listDropdown.dropdownElement?!1:this._listDropdown.dropdownElement.contains(e)}queueDropdownPositionUpdate(){!this.popupElement||window.requestAnimationFrame(()=>{let e=this.popupElement;e==null||e.position()})}_clearOptions(){Array.from(this._component.querySelectorAll(C.elementName)).forEach(i=>S(i)),Array.from(this._component.querySelectorAll(o.elementName)).forEach(i=>S(i))}_createOptionGroupElement(e){var i;let t=document.createElement("forge-option-group");return L(e,t),t.label=(i=e.text)!=null?i:"",t}_createOptionElement(e){let t=document.createElement("forge-option");return L(e,t),t.textContent=e.label,t}};export{m as a,H as b,D as c,E as d,z as e,F as f,p as g,M as h};
7
- //# sourceMappingURL=chunk.4K3IV4GI.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/select/core/base-select-constants.ts", "../../src/select/core/select-utils.ts", "../../src/select/core/base-select-foundation.ts", "../../src/select/core/base-select.ts", "../../src/select/core/base-select-adapter.ts"],
4
- "sourcesContent": ["import { IListDropdownOption, IListDropdownOptionGroup } from '../../list-dropdown/list-dropdown-constants';\n\nexport type SelectOptionBuilder = (option: ISelectOption, parentElement: HTMLElement) => HTMLElement;\nexport type SelectSelectedTextBuilder = (selectedOptions: IListDropdownOption[]) => string;\nexport type SelectOptionListenerDestructor = () => void;\nexport type SelectBeforeValueChangeCallback<T> = (value: T | T[]) => boolean | Promise<boolean>;\n\nexport interface ISelectOption extends IListDropdownOption {}\nexport interface ISelectOptionGroup extends IListDropdownOptionGroup {}\n\nconst observedAttributes = {\n VALUE: 'value',\n MULTIPLE: 'multiple',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n SYNC_POPUP_WIDTH: 'sync-popup-width'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst events = {\n CHANGE: 'change'\n};\n\nexport const BASE_SELECT_CONSTANTS = {\n attributes,\n events\n};\n", "import { isDefined, isObject } from '@tylertech/forge-core';\nimport { ISelectOption, ISelectOptionGroup } from './base-select-constants';\n\nexport enum SelectOptionType { Option, Group }\n\n/**\n * Determines if the provided options are of the specified type.\n * @param options The options either grouped or individual.\n * @param type The type of option to detect.\n */\nexport function isSelectOptionType(options: ISelectOption[] | ISelectOptionGroup[], type: SelectOptionType): boolean {\n const isOptionGroups = options.some((o: ISelectOption | ISelectOptionGroup) => isOptionGroupObject(o));\n const isOptionTypes = options.some((o: ISelectOption | ISelectOptionGroup) => isOptionObject(o));\n return (isOptionGroups && type === SelectOptionType.Group) || (isOptionTypes && type === SelectOptionType.Option);\n}\n\nexport function isOptionGroupObject(o: ISelectOption | ISelectOptionGroup): o is ISelectOptionGroup {\n return isDefined(o) && isObject(o) && o.hasOwnProperty('options') && o.hasOwnProperty('text');\n}\n\nexport function isOptionObject(o: ISelectOption | ISelectOptionGroup): o is ISelectOption {\n return isDefined(o) && isObject(o) && o.hasOwnProperty('label') && o.hasOwnProperty('value');\n}\n", "import { isDefined, isDeepEqual, randomChars } from '@tylertech/forge-core';\nimport { OptionListenerDestructor } from '../select/select-adapter';\nimport { ISelectOption, ISelectOptionGroup, SelectSelectedTextBuilder, SelectOptionBuilder, BASE_SELECT_CONSTANTS, SelectBeforeValueChangeCallback } from './base-select-constants';\nimport { isSelectOptionType, SelectOptionType } from './select-utils';\nimport { IListDropdownConfig, ListDropdownHeaderBuilder, ListDropdownFooterBuilder } from '../../list-dropdown/list-dropdown-constants';\nimport { IBaseSelectAdapter } from './base-select-adapter';\nimport { IListDropdownAwareFoundation, ListDropdownAwareFoundation } from '../../list-dropdown/list-dropdown-aware-foundation';\n\nexport interface IBaseSelectFoundation extends IListDropdownAwareFoundation {\n value: any;\n selectedIndex: number | number[];\n options: ISelectOption[] | ISelectOptionGroup[];\n multiple: boolean;\n open: boolean;\n popupElement: HTMLElement | undefined;\n optionBuilder: SelectOptionBuilder;\n selectedTextBuilder: SelectSelectedTextBuilder;\n observeScroll: boolean;\n observeScrollThreshold: number;\n syncPopupWidth: boolean;\n beforeValueChange: SelectBeforeValueChangeCallback<any>;\n appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n selectAll(): void;\n deselectAll(): void;\n initialize(): void;\n initializeTarget(): void;\n disconnect(): void;\n}\n\nexport abstract class BaseSelectFoundation<T extends IBaseSelectAdapter> extends ListDropdownAwareFoundation implements IBaseSelectFoundation {\n protected _options: ISelectOption[] | ISelectOptionGroup[] = [];\n protected _value: any = [];\n protected _multiple = false;\n protected _open = false;\n protected _optionBuilder: SelectOptionBuilder;\n protected _selectedTextBuilder: SelectSelectedTextBuilder;\n protected _selectedValues: string[] = [];\n protected _selectedLabels: string[] = [];\n protected _selectedIndexes: number[] = [];\n protected _filterTimeout: number | undefined;\n protected _filterString = '';\n protected _identifier: string;\n protected _targetWidthCallback: () => number;\n protected _beforeValueChange: SelectBeforeValueChangeCallback<unknown>;\n private _focusListener: (evt: Event) => void;\n private _blurListener: (evt: FocusEvent) => void;\n private _clickListener: (evt: MouseEvent) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _optionsChangedListener: (options: ISelectOption[] | ISelectOptionGroup[]) => void;\n private _optionListenerDestructor: OptionListenerDestructor;\n private _activeChangeListener: (id: string) => void;\n private _dropdownScrollEndListener: () => void;\n private _valueChanging: Promise<boolean> | undefined;\n private _dismissListener: () => void;\n\n constructor(protected _adapter: T) {\n super();\n this._focusListener = evt => this._onFocus(evt);\n this._blurListener = evt => this._onBlur(evt);\n this._clickListener = evt => this._onClick(evt);\n this._keydownListener = evt => this._onKeydown(evt);\n this._optionsChangedListener = options => this._onOptionsChanged(options);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n this._dropdownScrollEndListener = () => this._onDropdownScrollEnd();\n this._dismissListener = () => this._onDismiss();\n this._identifier = randomChars();\n }\n\n protected abstract _onDropdownScrollEnd(): void;\n protected _onFocus(evt: Event): void {}\n\n public initialize(): void {\n if (this._optionListenerDestructor) {\n this._optionListenerDestructor();\n }\n this._optionListenerDestructor = this._adapter.setOptionsListener(this._optionsChangedListener);\n this._initializeValue();\n }\n\n public initializeTarget(): void {\n this._adapter.initializeAccessibility();\n this._adapter.setMultiple(this._multiple);\n this._adapter.addClickListener(this._clickListener);\n this._adapter.addTargetListener('blur', this._blurListener);\n this._adapter.addTargetListener('focus', this._focusListener);\n this._adapter.addTargetListener('keydown', this._keydownListener);\n }\n\n public disconnect(): void {\n this._adapter.removeClickListener(this._clickListener);\n this._adapter.removeTargetListener('blur', this._blurListener);\n this._adapter.removeTargetListener('focus', this._focusListener);\n this._adapter.removeTargetListener('keydown', this._keydownListener);\n\n if (this._open) {\n this._closeDropdown();\n }\n\n if (this._optionListenerDestructor) {\n this._optionListenerDestructor();\n }\n }\n\n public appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._adapter.setOptions(options, false);\n if (this._open) {\n this._adapter.appendDropdownOptions(options);\n }\n }\n\n public selectAll(): void {\n if (this._multiple) {\n this.value = this._flatOptions.map(o => o.value);\n }\n }\n\n public deselectAll(): void {\n if (this._multiple) {\n this.value = [];\n }\n }\n\n protected get _flatOptions(): ISelectOption[] {\n if (isSelectOptionType(this._options, SelectOptionType.Group)) {\n return [].concat.apply([], (this._options as ISelectOptionGroup[]).map(g => g.options)) as ISelectOption[];\n }\n return this._options as ISelectOption[];\n }\n\n private get _nonDividerOptions(): ISelectOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n protected _initializeValue(): void {\n const options = (this._options.length && this._options) || this._adapter.getOptions();\n if (isDefined(this._value) && options.length) {\n this._applyValue(this._value);\n }\n }\n\n protected _onClick(evt: MouseEvent): void {\n if (evt.button !== 0) {\n return;\n }\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n\n protected _onBlur(evt: FocusEvent): void {\n // If the blur event was triggered by an element within the popup then ignore it\n if (this._adapter.isFocusWithinPopup(evt.relatedTarget as HTMLElement)) {\n return;\n }\n\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n\n protected _openDropdown(): void {\n this._options = this._adapter.getOptions();\n\n if (!this._flatOptions.length) {\n return;\n }\n\n this._open = true;\n const config: IListDropdownConfig = {\n options: this._options,\n multiple: this._multiple,\n selectedValues: [...this._selectedValues],\n id: this._identifier,\n optionBuilder: this._optionBuilder,\n syncWidth: this._syncPopupWidth,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n scrollEndListener: this._dropdownScrollEndListener,\n activeChangeCallback: this._activeChangeListener,\n targetWidthCallback: this._targetWidthCallback,\n popupClasses: this._popupClasses,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n closeCallback: () => this._closeDropdown(),\n selectCallback: (value: any) => {\n const flatOptions = this._flatOptions;\n const option = flatOptions.find(o => o.value === value);\n if (option) {\n const index = flatOptions.indexOf(option);\n this._onSelect(option, index, true);\n }\n }\n };\n this._adapter.open(config);\n this._adapter.setDismissListener(this._dismissListener);\n }\n\n /**\n * Closes the dropdown.\n */\n protected _closeDropdown(): void {\n this._open = false;\n this._adapter.close();\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 return new Promise(async resolve => {\n if (this._valueChanging) {\n return Promise.resolve(false);\n }\n\n const value = option ? option.value : '';\n const label = option ? option.label : '';\n\n // Store the current selections in case we need to rollback (if the event was cancelled)\n const prevValues = [...this._value];\n const prevSelectedValues = [...this._selectedValues];\n const prevSelectedLabels = [...this._selectedLabels];\n const prevSelectedIndexes = [...this._selectedIndexes];\n\n if (this._multiple) {\n if (this._selectedValues.includes(value)) {\n const index = this._selectedValues.indexOf(value);\n this._selectedValues.splice(index, 1);\n this._selectedLabels.splice(index, 1);\n this._selectedIndexes.splice(index, 1);\n } else {\n this._selectedValues.push(value);\n this._selectedLabels.push(label);\n this._selectedIndexes.push(optionIndex);\n }\n } else {\n if (isDefined(value)) {\n this._selectedValues[0] = value;\n this._selectedLabels[0] = label;\n this._selectedIndexes[0] = optionIndex;\n } else {\n this._selectedValues = [];\n this._selectedLabels = [];\n this._selectedIndexes = [];\n }\n }\n\n this._value = [...this._selectedValues];\n\n const rollbackValue = (): void => {\n this._selectedValues = [...prevSelectedValues];\n this._selectedLabels = [...prevSelectedLabels];\n this._selectedIndexes = [...prevSelectedIndexes];\n this._value = [...prevValues];\n };\n\n const applyValue = (): void => {\n // If we're in multiselect mode, we need to toggle the selected option\n if (this._multiple) {\n const isSelected = this._selectedIndexes.includes(optionIndex);\n this._adapter.toggleOptionMultiple(optionIndex, isSelected);\n }\n\n this._applySelection();\n };\n\n const data = this.multiple ? [...this._selectedValues] : this._selectedValues[0];\n\n // We close the dropdown immediately if in single selection mode\n if (this._open && closeDropdown && !this._multiple) {\n this._closeDropdown();\n }\n\n // First we check to see if there is an before change callback and execute that\n if (typeof this._beforeValueChange === 'function') {\n this._valueChanging = Promise.resolve(this._beforeValueChange.call(null, data));\n const shouldContinue = await this._valueChanging;\n this._valueChanging = undefined;\n if (!shouldContinue) {\n rollbackValue();\n this._tryUpdateDropdownPosition();\n return resolve(false);\n }\n }\n\n // Now we can emit the change event AFTER the before change callback has been executed and returned true\n const cancelled = !this._adapter.emitHostEvent(BASE_SELECT_CONSTANTS.events.CHANGE, data, true, true);\n if (!cancelled) {\n applyValue();\n } else {\n rollbackValue();\n }\n\n this._tryUpdateDropdownPosition();\n resolve(!cancelled);\n });\n }\n\n private _selectActiveOption(): void {\n const activeOptionIndex = this._adapter.getActiveOptionIndex();\n if (activeOptionIndex >= 0 && this._nonDividerOptions[activeOptionIndex]) {\n this._onSelect(this._nonDividerOptions[activeOptionIndex], activeOptionIndex);\n }\n }\n\n protected _tryUpdateDropdownPosition(): void {\n if (this._open) {\n this._adapter.queueDropdownPositionUpdate();\n }\n }\n\n protected _reset(): void {\n this._selectedValues = [];\n this._selectedLabels = [];\n this._selectedIndexes = [];\n }\n\n protected _applyValue(value: string | string[]): void {\n this._selectedValues = [];\n this._selectedLabels = [];\n\n this._options = this._adapter.getOptions();\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n this._value = [];\n\n // Ensure that the values passed are actually existing options\n for (const val of value) {\n if (!this._value.includes(val)) {\n this._value.push(val);\n }\n const option = this._flatOptions.find(o => isDeepEqual(o.value, val));\n if (option) {\n this._selectedValues.push(option.value);\n this._selectedLabels.push(option.label);\n }\n }\n\n // Update the selected indexes based on the values that are now selected\n this._selectedIndexes = this._selectedValues.map(val => this._flatOptions.findIndex(o => o.value === val));\n\n // Update the selected options in the dropdown\n this._adapter.patchSelectedValues(this._selectedValues);\n }\n \n /**\n * Handles the user dismissing the dropdown.\n */\n protected _onDismiss(): void {\n this._closeDropdown();\n }\n\n /** Creates the selected text value from the selected label values. */\n protected _getSelectedText(): string {\n if (typeof this._selectedTextBuilder === 'function') {\n const selectedOptions = this._flatOptions.filter(o => this._selectedValues.includes(o.value));\n return this._selectedTextBuilder(selectedOptions);\n }\n\n if (this._multiple) {\n if (this._selectedLabels.length) {\n return `${this._selectedLabels.length} ${this._selectedLabels.length === 1 ? 'option' : 'options'} selected`;\n } else {\n return '';\n }\n }\n \n return this._selectedLabels\n .filter(v => v && v.length)\n .join(' ')\n .trim();\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n const isEscapeKey = evt.key === 'Escape' || evt.keyCode === 27;\n const isEnter = evt.key === 'Enter' || evt.keyCode === 13;\n const isSpace = evt.key === 'Space' || evt.keyCode === 32;\n const isArrowDown = evt.key === 'ArrowDown' || evt.keyCode === 40;\n const isArrowUp = evt.key === 'ArrowUp' || evt.keyCode === 38;\n const isFilterableCharacter = evt.keyCode >= 48 && evt.keyCode <= 90;\n const isHomeKey = evt.key === 'Home' || evt.keyCode === 36;\n const isEndKey = evt.key === 'End' || evt.keyCode === 35;\n const isTabKey = evt.key === 'Tab';\n\n // We automatically select the active option if the dropdown is open and in single selection mode\n if (isTabKey && this._open && !this._multiple) {\n this._selectActiveOption();\n return;\n }\n\n // If an active filter was started, clear it now\n if (!isFilterableCharacter && this._filterTimeout) {\n window.clearTimeout(this._filterTimeout);\n this._filterString = '';\n this._filterTimeout = undefined;\n }\n\n if (isEscapeKey) {\n evt.preventDefault();\n if (this._open) {\n this._closeDropdown();\n return;\n }\n }\n\n if (isSpace) {\n evt.preventDefault();\n\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n } else if (isEnter) {\n if (this._open) {\n evt.stopPropagation();\n evt.preventDefault();\n this._options = this._adapter.getOptions();\n this._selectActiveOption();\n }\n } else if (isArrowUp || isArrowDown) {\n evt.preventDefault();\n\n if (this._multiple && !this._open) {\n this._openDropdown();\n this._adapter.activateFirstOption();\n return;\n }\n\n if (this._flatOptions.length === 0) {\n return;\n }\n\n let optionIndex = 0;\n if (this._open) {\n optionIndex = this._adapter.getActiveOptionIndex();\n if (optionIndex === -1) {\n optionIndex = this._getFirstSelectedOptionIndex();\n }\n } else {\n optionIndex = this._getFirstSelectedOptionIndex();\n }\n\n if (isArrowUp) {\n optionIndex = this._getPreviousHighlightableOptionIndex(optionIndex, this._nonDividerOptions);\n } else {\n optionIndex = this._getNextHighlightableOptionIndex(optionIndex, this._nonDividerOptions);\n }\n\n // If the dropdown is open then we just move the active index, otherwise we change the selection (to mimic the native <select>)\n if (this._open) {\n this._adapter.highlightActiveOption(optionIndex);\n } else {\n this._onSelect(this._nonDividerOptions[optionIndex], optionIndex);\n }\n } else if (isHomeKey) {\n if (this._open) {\n evt.preventDefault();\n this._adapter.highlightActiveOption(this._nonDividerOptions.findIndex(o => !o.disabled));\n }\n } else if (isEndKey) {\n if (this._open) {\n evt.preventDefault();\n const options = this._nonDividerOptions;\n for (let i = options.length - 1; i >= 0; i--) {\n if (!options[i].disabled) {\n this._adapter.highlightActiveOption(i);\n break;\n }\n }\n }\n } else if (isFilterableCharacter) {\n this._filter(evt.key);\n }\n }\n\n private _getFirstSelectedOptionIndex(): number {\n return this._nonDividerOptions.findIndex(option => this._selectedValues.includes(option.value));\n }\n\n private _getPreviousHighlightableOptionIndex(startIndex: number, options: ISelectOption[]): number {\n let index = startIndex;\n if (index <= 0) {\n index = options.length - 1;\n } else {\n index--;\n }\n if (options[index].disabled) {\n return this._getPreviousHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _getNextHighlightableOptionIndex(startIndex: number, options: ISelectOption[]): number {\n let index = startIndex;\n if (index === options.length - 1) {\n index = 0;\n } else {\n index++;\n }\n if (options[index].disabled) {\n return this._getNextHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _filter(key: string): void {\n // This allows for typing numbers and/or characters while the select is focused to auto-select the closest match\n if (this._filterTimeout) {\n window.clearTimeout(this._filterTimeout);\n this._filterTimeout = undefined;\n }\n this._filterString += key;\n this._filterTimeout = window.setTimeout(() => {\n this._filterString = '';\n this._filterTimeout = undefined;\n }, 300);\n this._options = this._adapter.getOptions();\n // TODO(kieran.nichols): Enhance this to cycle through closest matches (see the native select)\n const matchedOption = this._flatOptions.find(option => !option.disabled && option.label.toLowerCase().startsWith(this._filterString));\n if (matchedOption) {\n const optionIndex = this._flatOptions.indexOf(matchedOption);\n if (this._open) {\n this._adapter.highlightActiveOption(optionIndex);\n } else if (!this._multiple) {\n this._onSelect(matchedOption, optionIndex, false);\n }\n }\n }\n\n private _onOptionsChanged(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._options = options;\n this._applyValue(this._value);\n }\n\n private _onActiveOptionChanged(id: string): void {\n this._adapter.updateActiveDescendant(id);\n }\n\n /** Gets/sets the value of the component. */\n public get value(): any {\n return this._multiple ? [...this._value] : this._value[0];\n }\n public set value(value: any) {\n let _value: string | string[];\n \n if (Array.isArray(value)) {\n _value = [ ...value ];\n } else {\n _value = value;\n }\n\n this._applyValue(_value);\n }\n\n /** Gets/sets the selected index(s). */\n public get selectedIndex(): number | number[] {\n return this._multiple ? [ ...this._selectedIndexes ] : this._selectedIndexes[0];\n }\n public set selectedIndex(indexes: number | number[]) {\n this._options = this._adapter.getOptions();\n\n let indicies: number [];\n if (Array.isArray(indexes)) {\n indicies = [ ...indexes ];\n } else {\n indicies = [indexes];\n }\n\n indicies.sort();\n\n if (this.multiple) {\n this.value = indicies\n .map(index => this._flatOptions[index])\n .filter(o => o)\n .map(o => o.value);\n } else {\n const option = this._flatOptions[indicies[indicies.length - 1]];\n if (!option) {\n return;\n }\n this.value = option.value;\n }\n }\n\n /** Gets/sets the available options. */\n public get options(): ISelectOption[] | ISelectOptionGroup[] {\n return this._adapter.getOptions();\n }\n public set options(value: ISelectOption[] | ISelectOptionGroup[]) {\n let _value: ISelectOption[] | ISelectOptionGroup[];\n if (isSelectOptionType(value, SelectOptionType.Group)) {\n _value = (value as ISelectOptionGroup[]).map(v => ({ ...v }));\n } else {\n _value = (value as ISelectOption[]).map(v => ({ ...v }));\n }\n\n this._options = _value;\n this._adapter.setOptions(_value); // Must set options before intializing value\n this._initializeValue();\n\n if (this._open) {\n this._adapter.setDropdownOptions(_value);\n }\n }\n\n /** Gets/sets the multiple select state. */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._reset();\n if (this._open) {\n this._closeDropdown();\n }\n this._adapter.setMultiple(this._multiple);\n }\n }\n\n /** Gets/sets the open state of the dropdown. */\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n /** Gets/sets the builder callback to use when building options. */\n public get optionBuilder(): SelectOptionBuilder {\n return this._optionBuilder;\n }\n public set optionBuilder(value: SelectOptionBuilder) {\n this._optionBuilder = value;\n }\n\n /** Sets the selected text builder callback that will be executed when getting the selected text to display in the field. */\n public get selectedTextBuilder(): SelectSelectedTextBuilder {\n return this._selectedTextBuilder;\n }\n public set selectedTextBuilder(fn: SelectSelectedTextBuilder) {\n this._selectedTextBuilder = fn;\n }\n\n public get observeScroll(): boolean {\n return this._observeScroll;\n }\n public set observeScroll(value: boolean) {\n this._observeScroll = value;\n }\n\n public get observeScrollThreshold(): number {\n return this._observeScrollThreshold;\n }\n public set observeScrollThreshold(value: number) {\n this._observeScrollThreshold = value;\n }\n\n public get syncPopupWidth(): boolean {\n return this._syncPopupWidth;\n }\n public set syncPopupWidth(value: boolean) {\n this._syncPopupWidth = value;\n }\n\n\n public get optionLimit(): number {\n return this._optionLimit;\n }\n public set optionLimit(value: number) {\n this._optionLimit = value;\n }\n \n public get popupClasses(): string | string[] {\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[]) {\n this._popupClasses = value;\n }\n\n public get popupHeaderBuilder(): ListDropdownHeaderBuilder {\n return this._popupHeaderBuilder;\n }\n public set popupHeaderBuilder(value: ListDropdownHeaderBuilder) {\n this._popupHeaderBuilder = value;\n }\n\n public get popupFooterBuilder(): ListDropdownFooterBuilder {\n return this._popupFooterBuilder;\n }\n public set popupFooterBuilder(value: ListDropdownFooterBuilder) {\n this._popupFooterBuilder = value;\n }\n\n /** Gets the currently active popup element when the dropdown is open. */\n public get popupElement(): HTMLElement | undefined {\n return this._adapter.popupElement;\n }\n\n /** Sets the callback to be executed when the user selects a value. */\n public get beforeValueChange(): SelectBeforeValueChangeCallback<any> {\n return this._beforeValueChange;\n }\n public set beforeValueChange(value: SelectBeforeValueChangeCallback<any>) {\n this._beforeValueChange = value;\n }\n}\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\n\nimport {\n SelectOptionBuilder,\n SelectSelectedTextBuilder,\n ISelectOption,\n ISelectOptionGroup,\n SelectBeforeValueChangeCallback,\n BASE_SELECT_CONSTANTS\n} from './base-select-constants';\nimport { IBaseSelectFoundation } from './base-select-foundation';\nimport { IListDropdownAware, ListDropdownAware } from '../../list-dropdown/list-dropdown-aware';\nimport { IPopupComponent } from '../../popup';\n\n\nexport interface IBaseSelectComponent extends IListDropdownAware {\n value: any;\n selectedIndex: number | number[];\n options: ISelectOption[] | ISelectOptionGroup[];\n multiple: boolean;\n open: boolean;\n optionBuilder: SelectOptionBuilder;\n selectedTextBuilder: SelectSelectedTextBuilder;\n popupElement: IPopupComponent | undefined;\n beforeValueChange: SelectBeforeValueChangeCallback<any>;\n appendOptions(options: ISelectOption[] | ISelectOption[]): void;\n selectAll(): void;\n deselectAll(): void;\n}\n\nexport abstract class BaseSelectComponent<T extends IBaseSelectFoundation> extends ListDropdownAware implements IBaseSelectComponent {\n protected _foundation: T;\n\n constructor() {\n super();\n }\n\n /** Gets/sets the value. */\n @FoundationProperty()\n public declare value: any;\n \n /** Gets/sets the selected index. */\n @FoundationProperty()\n public declare selectedIndex: number | number[];\n \n /** Gets/sets the available options. */\n @FoundationProperty()\n public declare options: ISelectOption[] | ISelectOptionGroup[];\n\n /** Gets/sets the multiple select state. */\n @FoundationProperty()\n public declare multiple: boolean;\n \n /** Gets the open state of the dropdown. */\n @FoundationProperty()\n public declare open: boolean;\n \n /** Sets the option builder callback that will be executed when building the option list in the dropdown. */\n @FoundationProperty()\n public declare optionBuilder: SelectOptionBuilder;\n \n /** Sets the selected text builder callback that will be executed when getting the selected text to display in the field. */\n @FoundationProperty()\n public declare selectedTextBuilder: SelectSelectedTextBuilder;\n\n /** Sets the callback to be executed when the user selects a value. */\n @FoundationProperty()\n public declare beforeValueChange: SelectBeforeValueChangeCallback<any>;\n\n /** Gets the popup element (when the dropdown is open). */\n @FoundationProperty({ set: false })\n public declare popupElement: IPopupComponent | undefined;\n \n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case BASE_SELECT_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case BASE_SELECT_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n }\n }\n\n public appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._foundation.appendOptions(options);\n }\n\n public selectAll(): void {\n this._foundation.selectAll();\n }\n \n public deselectAll(): void {\n this._foundation.deselectAll();\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n}\n", "import { isDefined, removeElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IBaseSelectComponent } from './base-select';\nimport { ListDropdown, IListDropdown } from '../../list-dropdown';\nimport { IListDropdownConfig, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';\nimport { IOptionComponent, OPTION_CONSTANTS } from '../option';\nimport { IOptionGroupComponent, OPTION_GROUP_CONSTANTS } from '../option-group';\nimport { ISelectOption, ISelectOptionGroup, SelectOptionListenerDestructor } from './base-select-constants';\nimport { isOptionGroupObject } from './select-utils';\nimport { IPopupComponent, POPUP_CONSTANTS } from '../../popup';\nimport { assignMatchingProperties } from '../../core/utils/utils';\n\nexport interface IBaseSelectAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n addClickListener(listener: (evt: Event) => void): void;\n removeClickListener(listener: (evt: Event) => void): void;\n addTargetListener(type: string, listener: (evt: Event) => void): void;\n removeTargetListener(type: string, listener: (evt: Event) => void): void;\n getOptions(): ISelectOption[] | ISelectOptionGroup[];\n setOptions(options: ISelectOption[] | ISelectOptionGroup[], clear?: boolean): void;\n open(config: IListDropdownConfig): void;\n close(): void;\n setDismissListener(listener: () => void): void;\n scrollSelectedOptionIntoView(): void;\n activateSelectedOption(): void;\n activateFirstOption(): void;\n getActiveOptionIndex(): number;\n highlightActiveOption(index: number): void;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n patchSelectedValues(selectedValues: string[]): void;\n updateActiveDescendant(id: string): void;\n setOptionsListener(listener: (options: ISelectOption[] | ISelectOptionGroup[]) => void): SelectOptionListenerDestructor;\n setDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n appendDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n setMultiple(multiple: boolean): void;\n isFocusWithinPopup(target: HTMLElement): boolean;\n queueDropdownPositionUpdate(): void;\n popupElement: HTMLElement | undefined;\n}\n\nexport abstract class BaseSelectAdapter extends BaseAdapter<IBaseSelectComponent> implements IBaseSelectAdapter {\n private _listDropdown?: IListDropdown;\n protected _targetElement: HTMLElement;\n\n constructor(component: IBaseSelectComponent) {\n super(component);\n }\n\n public abstract initializeAccessibility(): void;\n public abstract updateActiveDescendant(id: string): void;\n public abstract addClickListener(listener: (evt: Event) => void): void;\n public abstract removeClickListener(listener: (evt: Event) => void): void;\n public abstract addTargetListener(type: string, listener: (evt: Event) => void): void;\n public abstract removeTargetListener(type: string, listener: (evt: Event) => void): void;\n public abstract setMultiple(multiple: boolean): void;\n\n public get popupElement(): HTMLElement | undefined {\n return this._listDropdown?.dropdownElement;\n }\n\n public getOptions(): ISelectOption[] | ISelectOptionGroup[] {\n const optionGroupElements = Array.from(this._component.querySelectorAll(OPTION_GROUP_CONSTANTS.elementName)) as IOptionGroupComponent[];\n if (optionGroupElements.length) {\n return optionGroupElements.map(optionGroupElement => {\n const optionElements = Array.from(optionGroupElement.querySelectorAll(OPTION_CONSTANTS.elementName)) as IOptionComponent[];\n const options = this._createOptionsFromElements(optionElements);\n return { text: optionGroupElement.label, options } as ISelectOptionGroup;\n });\n } else {\n const optionElements = Array.from(this._component.querySelectorAll(OPTION_CONSTANTS.elementName)) as IOptionComponent[];\n return this._createOptionsFromElements(optionElements);\n }\n }\n\n private _createOptionsFromElements(optionElements: IOptionComponent[]): ISelectOption[] {\n return optionElements.map(o => {\n let optionClass = o.hasAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS) as string : o.optionClass;\n if (typeof optionClass === 'string') {\n optionClass = optionClass.split(' ');\n }\n\n return {\n // eslint-disable-next-line @typescript-eslint/no-extra-parens\n label: o.hasAttribute(OPTION_CONSTANTS.attributes.LABEL) ? o.getAttribute(OPTION_CONSTANTS.attributes.LABEL) as string : (isDefined(o.label) ? o.label : o.innerText),\n value: o.hasAttribute(OPTION_CONSTANTS.attributes.VALUE) ? o.getAttribute(OPTION_CONSTANTS.attributes.VALUE) : o.value,\n disabled: o.hasAttribute(OPTION_CONSTANTS.attributes.DISABLED),\n divider: o.hasAttribute(OPTION_CONSTANTS.attributes.DIVIDER),\n optionClass,\n leadingIcon: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON) as string : o.leadingIcon,\n leadingIconClass: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS) as string : o.leadingIconClass,\n leadingIconType: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE) as ListDropdownIconType : o.leadingIconType,\n trailingIcon: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON) as string : o.trailingIcon,\n trailingIconClass: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS) as string : o.trailingIconClass,\n trailingIconType: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE) as ListDropdownIconType : o.trailingIconType,\n leadingBuilder: o.leadingBuilder,\n trailingBuilder: o.trailingBuilder\n };\n });\n }\n\n public open(config: IListDropdownConfig): void {\n this._listDropdown = new ListDropdown(this._targetElement, config);\n this._listDropdown.open();\n }\n\n public close(): void {\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setDismissListener(listener: () => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n const dropdownElement = this._listDropdown.dropdownElement as IPopupComponent;\n if (dropdownElement.targetElement) {\n dropdownElement.targetElement.addEventListener(POPUP_CONSTANTS.events.BLUR, listener);\n }\n }\n\n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n this._listDropdown?.toggleOptionMultiple(index, isSelected);\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public activateSelectedOption(): void {\n this._listDropdown?.activateSelectedOption();\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public highlightActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public patchSelectedValues(selectedValues: string[]): void {\n this._listDropdown?.setSelectedValues(selectedValues);\n }\n\n public setOptionsListener(listener: (options: ISelectOption[] | ISelectOptionGroup[]) => void): SelectOptionListenerDestructor {\n // Watch for option value property changes\n const optionValueChangeListener: EventListener = evt => {\n evt.stopPropagation();\n listener(this.getOptions());\n };\n this._component.addEventListener(OPTION_CONSTANTS.events.VALUE_CHANGE, optionValueChangeListener);\n\n // Watch for DOM changes\n const observer = new MutationObserver(() => listener(this.getOptions()));\n observer.observe(this._component, { childList: true, subtree: true });\n\n return () => {\n this._component.removeEventListener(OPTION_CONSTANTS.events.VALUE_CHANGE, optionValueChangeListener);\n observer.disconnect();\n };\n }\n\n public setOptions(options: ISelectOption[] | ISelectOptionGroup[], clear = true): void {\n if (clear) {\n this._clearOptions();\n }\n\n for (const opt of options) {\n if (isOptionGroupObject(opt)) {\n const optionGroupElement = this._createOptionGroupElement(opt);\n for (const option of opt.options) {\n const optionElement = this._createOptionElement(option);\n optionGroupElement.appendChild(optionElement);\n }\n this._component.appendChild(optionGroupElement);\n } else {\n const optionElement = this._createOptionElement(opt);\n this._component.appendChild(optionElement);\n }\n }\n }\n\n public appendDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._listDropdown?.appendOptions(options);\n }\n\n public setDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._listDropdown?.setOptions(options);\n }\n\n public scrollSelectedOptionIntoView(): void {\n this._listDropdown?.scrollSelectedOptionIntoView();\n }\n\n public isFocusWithinPopup(target: HTMLElement): boolean {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._listDropdown.dropdownElement.contains(target);\n }\n\n public queueDropdownPositionUpdate(): void {\n if (!this.popupElement) {\n return;\n }\n // We need to wait for the next animation frame to ensure that the layout has been updated\n window.requestAnimationFrame(() => {\n const dropdownEl = this.popupElement as IPopupComponent | undefined;\n dropdownEl?.position();\n });\n }\n\n private _clearOptions(): void {\n // First we remove all option group elements\n const existingOptionGroupElements = Array.from(this._component.querySelectorAll(OPTION_GROUP_CONSTANTS.elementName));\n existingOptionGroupElements.forEach((optGroup: IOptionGroupComponent) => removeElement(optGroup));\n\n // Then find all top-level option elements that aren't inside of a group, and ensure that those are removed as well\n const existingOptionElements = Array.from(this._component.querySelectorAll(OPTION_CONSTANTS.elementName));\n existingOptionElements.forEach((o: HTMLElement) => removeElement(o));\n }\n\n private _createOptionGroupElement(group: ISelectOptionGroup): HTMLElement {\n const optionGroupElement = document.createElement('forge-option-group');\n assignMatchingProperties(group, optionGroupElement);\n optionGroupElement.label = group.text ?? '';\n return optionGroupElement;\n }\n\n private _createOptionElement(option: ISelectOption): HTMLElement {\n const optionElement = document.createElement('forge-option');\n assignMatchingProperties(option, optionElement);\n optionElement.textContent = option.label;\n return optionElement;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- function c(n,e){let o=n.toLowerCase().indexOf(e.toLowerCase());if(o!==-1){let u=o+e.length,t=document.createElement("span"),i=document.createElement("span");return i.style.fontWeight="bold",i.textContent=n.substring(o,u),t.appendChild(document.createTextNode(n.substring(0,o))),t.appendChild(i),t.appendChild(document.createTextNode(n.substring(u))),t}}function d(n,{capture:e=!0,pointerenter:r=!0,focusin:o=!0}={}){return new Promise(u=>{let t={once:!0,capture:e},i=()=>{o&&n.removeEventListener("focusin",s,t),u("pointerenter")},s=()=>{r&&n.removeEventListener("pointerenter",i,t),u("focusin")};r&&n.addEventListener("pointerenter",i,t),o&&n.addEventListener("focusin",s,t)})}function p(n,e){return e===0?0:n/100*e}function f(n,e){return e===0?0:n*100/e}function m(n,e,r,o=0,u=100){let t=r-e,i=n-e;return!t||!i?o:i*u/t+o}function a(...n){return Math.min(...n.map(e=>e!=null?e:Number.POSITIVE_INFINITY))}function b(...n){return Math.max(...n.map(e=>e!=null?e:Number.NEGATIVE_INFINITY))}function x(n,e){Object.keys(n).filter(r=>r in e).forEach(r=>e[r]=n[r])}export{c as a,d as b,p as c,f as d,m as e,a as f,b as g,x as h};
7
- //# sourceMappingURL=chunk.5BDTX7CR.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as c,b as m}from"./chunk.OOW3UKT4.js";import{a as s,e as l,g as p,l as b}from"./chunk.MMVZJLXE.js";import{t as d,u as n}from"./chunk.R4NDFXVA.js";import{k as a}from"./chunk.G76HB2FK.js";import{f as i}from"./chunk.MCIQXNKY.js";var u=`${m}card`,h={OUTLINED:"outlined"},f={OUTLINED:"forge-card--outlined"},x={ROOT:".forge-card"},e={elementName:u,attributes:h,classes:f,selectors:x};var v='<template><div class="forge-card" part="root"><slot></slot></div></template>',T=".forge-card{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);height:100%;height:var(--forge-card-height,100%);width:100%;width:var(--forge-card-width,100%);padding:16px;padding:var(--forge-card-padding,16px);overflow:hidden;overflow:var(--forge-card-overflow,hidden);-webkit-box-sizing:border-box;box-sizing:border-box}.forge-card--outlined{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);border-width:1px;border-style:solid;border-color:#e0e0e0;border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0)}:host{display:block}:host([hidden]){display:none}",t=class extends b{constructor(){super();this._outlined=!1;l(this,v,T),this._rootElement=p(this,e.selectors.ROOT)}static get observedAttributes(){return[e.attributes.OUTLINED]}connectedCallback(){this._applyOutlined()}attributeChangedCallback(o,g,r){if(g!==r)switch(o){case e.attributes.OUTLINED:this.outlined=a(r);break}}_applyOutlined(){d(this._rootElement,this._outlined,e.classes.OUTLINED)}get outlined(){return this._outlined}set outlined(o){this._outlined!==o&&(this._outlined=!!o,n(this,this._outlined,e.attributes.OUTLINED,String(!!this._outlined)),this._applyOutlined())}};t=i([c({name:e.elementName})],t);function A(){s(t)}export{e as a,t as b,A as c};
7
- //# sourceMappingURL=chunk.5EQPGUZH.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/card/card-constants.ts", "../../src/card/card.ts", "../../src/card/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}card`;\n\nconst attributes = {\n OUTLINED: 'outlined'\n};\n\nconst classes = {\n OUTLINED: 'forge-card--outlined'\n};\n\nconst selectors = {\n ROOT: '.forge-card'\n};\n\nexport const CARD_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors\n};\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, getShadowElement, toggleAttribute, toggleClass } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nimport { CARD_CONSTANTS } from './card-constants';\n\nconst template = '<template><div class=\\\"forge-card\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-card{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);height:100%;height:var(--forge-card-height,100%);width:100%;width:var(--forge-card-width,100%);padding:16px;padding:var(--forge-card-padding,16px);overflow:hidden;overflow:var(--forge-card-overflow,hidden);-webkit-box-sizing:border-box;box-sizing:border-box}.forge-card--outlined{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);border-width:1px;border-style:solid;border-color:#e0e0e0;border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0)}:host{display:block}:host([hidden]){display:none}';\n\nexport interface ICardComponent extends IBaseComponent {\n outlined: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-card': ICardComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-card>` component.\n * \n * @tag forge-card\n */\n@CustomElement({\n name: CARD_CONSTANTS.elementName\n})\nexport class CardComponent extends BaseComponent implements ICardComponent {\n public static get observedAttributes(): string[] {\n return [\n CARD_CONSTANTS.attributes.OUTLINED\n ];\n }\n\n private _rootElement: HTMLElement;\n private _outlined = false;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._rootElement = getShadowElement(this, CARD_CONSTANTS.selectors.ROOT);\n }\n\n public connectedCallback(): void {\n this._applyOutlined();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n if (oldValue === newValue) {\n return;\n }\n switch (name) {\n case CARD_CONSTANTS.attributes.OUTLINED:\n this.outlined = coerceBoolean(newValue);\n break;\n }\n }\n\n private _applyOutlined(): void {\n toggleClass(this._rootElement, this._outlined, CARD_CONSTANTS.classes.OUTLINED);\n }\n\n /** Gets/sets whether the card is using the outlined style or not. */\n public get outlined(): boolean {\n return this._outlined;\n }\n public set outlined(value: boolean) {\n if (this._outlined !== value) {\n this._outlined = !!value;\n toggleAttribute(this, this._outlined, CARD_CONSTANTS.attributes.OUTLINED, String(!!this._outlined));\n this._applyOutlined();\n }\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { CardComponent } from './card';\n\nexport * from './card-constants';\nexport * from './card';\n\nexport function defineCardComponent(): void {\n defineCustomElement(CardComponent);\n}\n"],
5
- "mappings": "2OAEA,GAAM,GAA2C,GAAG,QAE9C,EAAa,CACjB,SAAU,UACZ,EAEM,EAAU,CACd,SAAU,sBACZ,EAEM,EAAY,CAChB,KAAM,aACR,EAEa,EAAiB,CAC5B,cACA,aACA,UACA,WACF,EChBA,GAAM,GAAW,+EACX,EAAS,w3BAoBF,EAAN,aAA4B,EAAwC,CAUzE,aAAc,CACZ,MAAM,EAHR,KAAQ,UAAY,GAIlB,EAAqB,KAAM,EAAU,CAAM,EAC3C,KAAK,aAAe,EAAiB,KAAM,EAAe,UAAU,IAAI,CAC1E,CAbA,UAAkB,qBAA+B,CAC/C,MAAO,CACL,EAAe,WAAW,QAC5B,CACF,CAWA,AAAO,mBAA0B,CAC/B,KAAK,eAAe,CACtB,CAEA,AAAO,yBAAyB,EAAc,EAAkB,EAAwB,CACtF,GAAI,IAAa,EAGjB,OAAQ,OACD,GAAe,WAAW,SAC7B,KAAK,SAAW,EAAc,CAAQ,EACtC,MAEN,CAEA,AAAQ,gBAAuB,CAC7B,EAAY,KAAK,aAAc,KAAK,UAAW,EAAe,QAAQ,QAAQ,CAChF,CAGA,GAAW,WAAoB,CAC7B,MAAO,MAAK,SACd,CACA,GAAW,UAAS,EAAgB,CAClC,AAAI,KAAK,YAAc,GACrB,MAAK,UAAY,CAAC,CAAC,EACnB,EAAgB,KAAM,KAAK,UAAW,EAAe,WAAW,SAAU,OAAO,CAAC,CAAC,KAAK,SAAS,CAAC,EAClG,KAAK,eAAe,EAExB,CACF,EA9Ca,EAAN,GAHP,AAAC,EAAc,CACb,KAAM,EAAe,WACvB,CAAC,GACY,GCnBN,YAAqC,CAC1C,EAAoB,CAAa,CACnC",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{b as x,c as C}from"./chunk.O2R6MBT5.js";import{a as y}from"./chunk.MIYZJUXH.js";import{a as E}from"./chunk.5PXABBKU.js";import{a as l}from"./chunk.B3IJU6XJ.js";import{a as f,b as L}from"./chunk.OOW3UKT4.js";import{a as v,e as b,g as c,l as _}from"./chunk.MMVZJLXE.js";import{k as p,l as u}from"./chunk.G76HB2FK.js";import{f as s}from"./chunk.MCIQXNKY.js";var D=`${L}file-picker`,I={ACCEPT:"accept",MAX_SIZE:"max-size",CAPTURE:"capture",MULTIPLE:"multiple",DISABLED:"disabled",COMPACT:"compact",BORDERLESS:"borderless"},T={HIGHLIGHT:"highlight",DISABLED:"disabled",COMPACT:"compact",BORDERLESS:"borderless"},S={CONTAINER:"container",BUTTON:"button",INPUT:"input"},A={CONTAINER:"#container",BUTTON:"#button",INPUT:"#input",BUTTON_SLOT:"#button-slot"},P={FILES_CHANGED:`${D}-change`},i={elementName:D,attributes:I,classes:T,ids:S,selectors:A,events:P};var d=class extends E{constructor(e){super(e);this._container=c(e,i.selectors.CONTAINER),this._buttonSlot=c(e,i.selectors.BUTTON_SLOT),this._input=c(e,i.selectors.INPUT),this._inputEventListener=()=>{this._input.value="",this._input.click()},this._container.addEventListener("click",this._inputEventListener)}registerButtonSlotListener(e){this._buttonSlot.addEventListener("slotchange",e)}registerInputChangeListener(e){this._input.addEventListener("change",e)}registerDragEnterListener(e){this._container.addEventListener("dragenter",e)}registerDragLeaveListener(e){this._container.addEventListener("dragleave",e)}registerDragOverListener(e){this._container.addEventListener("dragover",e)}registerDropListener(e){this._container.addEventListener("drop",e)}removeDragEnterListener(e){this._container.removeEventListener("dragenter",e)}removeDragLeaveListener(e){this._container.removeEventListener("dragleave",e)}removeDragOverListener(e){this._container.removeEventListener("dragover",e)}removeDropListener(e){this._container.removeEventListener("drop",e)}initializeButton(){let e=this._component.querySelector("button");this._button=e||void 0}setHighlightState(e){this._container.classList.contains(i.classes.HIGHLIGHT)!==e&&this._container.classList.toggle(i.classes.HIGHLIGHT)}setAccept(e){e?this._input.setAttribute("accept",e):this._input.removeAttribute("accept")}setCapture(e){e?this._input.setAttribute("capture",e):this._input.removeAttribute("capture")}setMultiple(e){e?this._input.setAttribute("multiple",""):this._input.removeAttribute("multiple")}setDisabled(e){e?(this._container.removeEventListener("click",this._inputEventListener),this._button.setAttribute("disabled",""),this._container.setAttribute("disabled","")):(this._container.addEventListener("click",this._inputEventListener),this._button.removeAttribute("disabled"),this._container.removeAttribute("disabled"))}setCompact(e){this._container.classList.contains(i.classes.COMPACT)!==e&&this._container.classList.toggle(i.classes.COMPACT)}setBorderless(e){this._container.classList.contains(i.classes.BORDERLESS)!==e&&this._container.classList.toggle(i.classes.BORDERLESS)}};var h=class{constructor(t){this._adapter=t;this._accept=null;this._maxSize=null;this._capture=null;this._multiple=!1;this._disabled=!1;this._compact=!1;this._borderless=!1;this._buttonSlotListener=e=>this._onButtonSlotChanged(e),this._inputChangeListener=e=>this._onInputChange(e),this._dragEnterListener=e=>this._onDragEnter(e),this._dragLeaveListener=e=>this._onDragLeave(e),this._dragOverListener=e=>this._onDragOver(e),this._dropListener=e=>this._onDrop(e),this._adapter.registerButtonSlotListener(this._buttonSlotListener),this._adapter.registerInputChangeListener(this._inputChangeListener),this._compact||this._registerDragListeners()}initialize(){this._adapter.initializeButton()}_onButtonSlotChanged(t){this._adapter.initializeButton()}_onInputChange(t){let e=t.target.files;e&&this._handleFiles(e)}_onDragEnter(t){this._handleDragEvent(t,!0)}_onDragLeave(t){this._handleDragEvent(t,!1)}_onDragOver(t){this._handleDragEvent(t,!0)}_onDrop(t){if(this._handleDragEvent(t,!1),!this._disabled){let e=t.dataTransfer;if(e){let a=e.files;this._handleFiles(a)}}}_registerDragListeners(){this._adapter.registerDragEnterListener(this._dragEnterListener),this._adapter.registerDragLeaveListener(this._dragLeaveListener),this._adapter.registerDragOverListener(this._dragOverListener),this._adapter.registerDropListener(this._dropListener)}_removeDragListeners(){this._adapter.removeDragEnterListener(this._dragEnterListener),this._adapter.removeDragLeaveListener(this._dragLeaveListener),this._adapter.removeDragOverListener(this._dragOverListener),this._adapter.removeDropListener(this._dropListener)}_handleFiles(t){let e={};if(t){let a=this._sortFiles(t),o=a.legalFiles||null;!this._multiple&&o&&o.length>1&&(o=o.splice(1)),e=a}this._adapter.emitHostEvent(i.events.FILES_CHANGED,e)}_sortFiles(t){let e=[],a=[];if(!this._accept&&!this.maxSize)return e=Array.from(t),{legalFiles:e,illegalFiles:a};let o=this._accept?this._accept.split(",").map(r=>r.trim().toLowerCase()):[""];for(let r=0;r<t.length;r++)!o.some(m=>t[r].type.toLowerCase().match(m)||t[r].name.toLowerCase().match("\\"+m))||this._maxSize&&t[r].size>this._maxSize?a.push(t[r]):e.push(t[r]);return{legalFiles:e,illegalFiles:a}}_handleDragEvent(t,e){this._disabled||(t.preventDefault(),t.stopPropagation(),this._adapter.setHighlightState(e))}get accept(){return this._accept}set accept(t){this._accept!==t&&(this._accept=t,this._adapter.setAccept(t),t?this._adapter.setHostAttribute(i.attributes.ACCEPT,t):this._adapter.removeHostAttribute(i.attributes.ACCEPT))}get maxSize(){return this._maxSize}set maxSize(t){this._maxSize!==t&&(this._maxSize=t,t?this._adapter.setHostAttribute(i.attributes.MAX_SIZE,t.toString()):this._adapter.removeHostAttribute(i.attributes.MAX_SIZE))}get capture(){return this._capture}set capture(t){this._capture!==t&&(this._capture=t,this._adapter.setCapture(t),t?this._adapter.setHostAttribute(i.attributes.CAPTURE,t):this._adapter.removeHostAttribute(i.attributes.CAPTURE))}get multiple(){return this._multiple}set multiple(t){this._multiple!==t&&(this._multiple=t,this._adapter.setMultiple(t),t?this._adapter.setHostAttribute(i.attributes.MULTIPLE):this._adapter.removeHostAttribute(i.attributes.MULTIPLE))}get disabled(){return this._disabled}set disabled(t){this._disabled!==t&&(this._disabled=t,this._adapter.setDisabled(t),t?this._adapter.setHostAttribute(i.attributes.DISABLED):this._adapter.removeHostAttribute(i.attributes.DISABLED))}get compact(){return this._compact}set compact(t){this._compact!==t&&(this._compact=t,this._adapter.setCompact(t),t?(this._adapter.setHostAttribute(i.attributes.COMPACT),this._removeDragListeners()):(this._adapter.removeHostAttribute(i.attributes.COMPACT),this._registerDragListeners()))}get borderless(){return this._borderless}set borderless(t){this._borderless!==t&&(this._borderless=t,this._adapter.setBorderless(t),t?this._adapter.setHostAttribute(i.attributes.BORDERLESS):this._adapter.removeHostAttribute(i.attributes.BORDERLESS))}};var F='<template><form class="forge-file-picker" id="container" part="form"><div class="forge-file-picker__primary" id="primary" part="primary"><slot name="primary"></slot></div><slot id="button-slot"></slot><div class="forge-file-picker__secondary" id="secondary" part="secondary"><slot name="secondary"></slot></div><input type="file" class="forge-file-picker__input" id="input" part="input"></form><div class="forge-file-picker__helper-text" part="helper-text-container"><slot name="helper-text"></slot></div></template>',O=".forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-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-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);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);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text ::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;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-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));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);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;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker[disabled]{background-color:#fafafa;background-color:var(--mdc-theme-background,#fafafa);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button>button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);background-color:rgba(63,81,181,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}",n=class extends _{constructor(){super();b(this,F,O),this._foundation=new h(new d(this))}static get observedAttributes(){return[i.attributes.ACCEPT,i.attributes.MAX_SIZE,i.attributes.CAPTURE,i.attributes.MULTIPLE,i.attributes.DISABLED,i.attributes.COMPACT,i.attributes.BORDERLESS]}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(e,a,o){switch(e){case i.attributes.ACCEPT:this.accept=o;break;case i.attributes.MAX_SIZE:this.maxSize=u(o);break;case i.attributes.CAPTURE:this.capture=o;break;case i.attributes.MULTIPLE:this.multiple=p(o);break;case i.attributes.DISABLED:this.disabled=p(o);break;case i.attributes.COMPACT:this.compact=p(o);break;case i.attributes.BORDERLESS:this.borderless=p(o);break}}};s([l()],n.prototype,"accept",2),s([l()],n.prototype,"maxSize",2),s([l()],n.prototype,"capture",2),s([l()],n.prototype,"multiple",2),s([l()],n.prototype,"disabled",2),s([l()],n.prototype,"compact",2),s([l()],n.prototype,"borderless",2),n=s([f({name:i.elementName,dependencies:[x]})],n);var k=class extends y{constructor(t){super(t)}_build(){return document.createElement(i.elementName)}_configure(){var t,e,a,o;if((t=this._config.options)!=null&&t.primaryText){let r=document.createElement("span");r.slot="primary",r.textContent=this._config.options.primaryText,this._element.appendChild(r)}if((e=this._config.options)!=null&&e.secondaryText){let r=document.createElement("span");r.slot="secondary",r.textContent=this._config.options.secondaryText,this._element.appendChild(r)}if((a=this._config.options)!=null&&a.buttonText&&new C({options:{parent:this._element,text:this._config.options.buttonText},props:{type:"outlined"}}),(o=this._config.options)!=null&&o.helperText){let r=document.createElement("span");r.slot="helper-text",r.textContent=this._config.options.helperText,this._element.appendChild(r)}}onChange(t){this._element.addEventListener(i.events.FILES_CHANGED,e=>t(e.detail))}};function pe(){v(n)}export{i as a,d as b,h as c,n as d,k as e,pe as f};
7
- //# sourceMappingURL=chunk.6LXDG4W5.js.map