@tylertech/forge 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/README.md +30 -13
  2. package/dist/esm/accordion/index.js +39 -0
  3. package/dist/esm/accordion/index.js.map +7 -0
  4. package/dist/esm/app-bar/help-button/index.js +58 -0
  5. package/dist/esm/app-bar/help-button/index.js.map +7 -0
  6. package/dist/esm/app-bar/index.js +136 -0
  7. package/dist/esm/app-bar/index.js.map +7 -0
  8. package/dist/esm/app-bar/menu-button/index.js +41 -0
  9. package/dist/esm/app-bar/menu-button/index.js.map +7 -0
  10. package/dist/esm/app-bar/notification-button/index.js +46 -0
  11. package/dist/esm/app-bar/notification-button/index.js.map +7 -0
  12. package/dist/esm/app-bar/profile-button/index.js +51 -0
  13. package/dist/esm/app-bar/profile-button/index.js.map +7 -0
  14. package/dist/esm/app-bar/search/index.js +43 -0
  15. package/dist/esm/app-bar/search/index.js.map +7 -0
  16. package/dist/esm/autocomplete/index.js +77 -0
  17. package/dist/esm/autocomplete/index.js.map +7 -0
  18. package/dist/esm/avatar/index.js +33 -0
  19. package/dist/esm/avatar/index.js.map +7 -0
  20. package/dist/esm/backdrop/index.js +28 -0
  21. package/dist/esm/backdrop/index.js.map +7 -0
  22. package/dist/esm/badge/index.js +31 -0
  23. package/dist/esm/badge/index.js.map +7 -0
  24. package/dist/esm/banner/index.js +45 -0
  25. package/dist/esm/banner/index.js.map +7 -0
  26. package/dist/esm/bottom-sheet/index.js +45 -0
  27. package/dist/esm/bottom-sheet/index.js.map +7 -0
  28. package/dist/esm/busy-indicator/index.js +37 -0
  29. package/dist/esm/busy-indicator/index.js.map +7 -0
  30. package/dist/esm/button/index.js +29 -0
  31. package/dist/esm/button/index.js.map +7 -0
  32. package/dist/esm/button-toggle/button-toggle/index.js +33 -0
  33. package/dist/esm/button-toggle/button-toggle/index.js.map +7 -0
  34. package/dist/esm/button-toggle/button-toggle-group/index.js +32 -0
  35. package/dist/esm/button-toggle/button-toggle-group/index.js.map +7 -0
  36. package/dist/esm/button-toggle/index.js +46 -0
  37. package/dist/esm/button-toggle/index.js.map +7 -0
  38. package/dist/esm/calendar/calendar-dropdown/index.js +35 -0
  39. package/dist/esm/calendar/calendar-dropdown/index.js.map +7 -0
  40. package/dist/esm/calendar/calendar-menu/index.js +48 -0
  41. package/dist/esm/calendar/calendar-menu/index.js.map +7 -0
  42. package/dist/esm/calendar/core/index.js +13 -0
  43. package/dist/esm/calendar/core/index.js.map +7 -0
  44. package/dist/esm/calendar/index.js +199 -0
  45. package/dist/esm/calendar/index.js.map +7 -0
  46. package/dist/esm/card/index.js +22 -0
  47. package/dist/esm/card/index.js.map +7 -0
  48. package/dist/esm/checkbox/index.js +44 -0
  49. package/dist/esm/checkbox/index.js.map +7 -0
  50. package/dist/esm/chip-field/index.js +51 -0
  51. package/dist/esm/chip-field/index.js.map +7 -0
  52. package/dist/esm/chips/chip/index.js +42 -0
  53. package/dist/esm/chips/chip/index.js.map +7 -0
  54. package/dist/esm/chips/chip-set/index.js +42 -0
  55. package/dist/esm/chips/chip-set/index.js.map +7 -0
  56. package/dist/esm/chips/index.js +55 -0
  57. package/dist/esm/chips/index.js.map +7 -0
  58. package/dist/esm/chunks/chunk.2F6PST3N.js +476 -0
  59. package/dist/esm/chunks/chunk.2F6PST3N.js.map +7 -0
  60. package/dist/esm/chunks/chunk.2FXYTBYG.js +1450 -0
  61. package/dist/esm/chunks/chunk.2FXYTBYG.js.map +7 -0
  62. package/dist/esm/chunks/chunk.2LQMHAC7.js +187 -0
  63. package/dist/esm/chunks/chunk.2LQMHAC7.js.map +7 -0
  64. package/dist/esm/chunks/chunk.2LSEVYAC.js +342 -0
  65. package/dist/esm/chunks/chunk.2LSEVYAC.js.map +7 -0
  66. package/dist/esm/chunks/chunk.2NUAEZY7.js +221 -0
  67. package/dist/esm/chunks/chunk.2NUAEZY7.js.map +7 -0
  68. package/dist/esm/chunks/chunk.35U3UPDV.js +70 -0
  69. package/dist/esm/chunks/chunk.35U3UPDV.js.map +7 -0
  70. package/dist/esm/chunks/chunk.3KCCCXWS.js +344 -0
  71. package/dist/esm/chunks/chunk.3KCCCXWS.js.map +7 -0
  72. package/dist/esm/chunks/chunk.3NOZRZ7R.js +145 -0
  73. package/dist/esm/chunks/chunk.3NOZRZ7R.js.map +7 -0
  74. package/dist/esm/chunks/chunk.3ZKORL4I.js +212 -0
  75. package/dist/esm/chunks/chunk.3ZKORL4I.js.map +7 -0
  76. package/dist/esm/chunks/chunk.4BG22DGY.js +317 -0
  77. package/dist/esm/chunks/chunk.4BG22DGY.js.map +7 -0
  78. package/dist/esm/chunks/chunk.4HQ5VELO.js +793 -0
  79. package/dist/esm/chunks/chunk.4HQ5VELO.js.map +7 -0
  80. package/dist/esm/chunks/chunk.4JURZYE4.js +410 -0
  81. package/dist/esm/chunks/chunk.4JURZYE4.js.map +7 -0
  82. package/dist/esm/chunks/chunk.4UKSUUTX.js +296 -0
  83. package/dist/esm/chunks/chunk.4UKSUUTX.js.map +7 -0
  84. package/dist/esm/chunks/chunk.4V5O2CPU.js +417 -0
  85. package/dist/esm/chunks/chunk.4V5O2CPU.js.map +7 -0
  86. package/dist/esm/chunks/chunk.52F6VUCF.js +273 -0
  87. package/dist/esm/chunks/chunk.52F6VUCF.js.map +7 -0
  88. package/dist/esm/chunks/chunk.5EEEKOOK.js +552 -0
  89. package/dist/esm/chunks/chunk.5EEEKOOK.js.map +7 -0
  90. package/dist/esm/chunks/chunk.5NXVVSTU.js +243 -0
  91. package/dist/esm/chunks/chunk.5NXVVSTU.js.map +7 -0
  92. package/dist/esm/chunks/chunk.5VKAVHLM.js +610 -0
  93. package/dist/esm/chunks/chunk.5VKAVHLM.js.map +7 -0
  94. package/dist/esm/chunks/chunk.6KTLOA7V.js +6 -0
  95. package/dist/esm/chunks/chunk.6KTLOA7V.js.map +7 -0
  96. package/dist/esm/chunks/chunk.6V463G4I.js +105 -0
  97. package/dist/esm/chunks/chunk.6V463G4I.js.map +7 -0
  98. package/dist/esm/chunks/chunk.7FC5CPLE.js +603 -0
  99. package/dist/esm/chunks/chunk.7FC5CPLE.js.map +7 -0
  100. package/dist/esm/chunks/chunk.7G2S3DCM.js +458 -0
  101. package/dist/esm/chunks/chunk.7G2S3DCM.js.map +7 -0
  102. package/dist/esm/chunks/chunk.7I2XNJBL.js +593 -0
  103. package/dist/esm/chunks/chunk.7I2XNJBL.js.map +7 -0
  104. package/dist/esm/chunks/chunk.7KILTPJ6.js +72 -0
  105. package/dist/esm/chunks/chunk.7KILTPJ6.js.map +7 -0
  106. package/dist/esm/chunks/chunk.7XGNGXLR.js +648 -0
  107. package/dist/esm/chunks/chunk.7XGNGXLR.js.map +7 -0
  108. package/dist/esm/chunks/chunk.7Y4NHCJH.js +338 -0
  109. package/dist/esm/chunks/chunk.7Y4NHCJH.js.map +7 -0
  110. package/dist/esm/chunks/chunk.AHQ6QX3J.js +716 -0
  111. package/dist/esm/chunks/chunk.AHQ6QX3J.js.map +7 -0
  112. package/dist/esm/chunks/chunk.AYOZGYGO.js +21 -0
  113. package/dist/esm/chunks/chunk.AYOZGYGO.js.map +7 -0
  114. package/dist/esm/chunks/chunk.BKMWXPAS.js +439 -0
  115. package/dist/esm/chunks/chunk.BKMWXPAS.js.map +7 -0
  116. package/dist/esm/chunks/chunk.BOWCSPCH.js +2428 -0
  117. package/dist/esm/chunks/chunk.BOWCSPCH.js.map +7 -0
  118. package/dist/esm/chunks/chunk.BYN27JXZ.js +51 -0
  119. package/dist/esm/chunks/chunk.BYN27JXZ.js.map +7 -0
  120. package/dist/esm/chunks/chunk.BZPQIDQP.js +602 -0
  121. package/dist/esm/chunks/chunk.BZPQIDQP.js.map +7 -0
  122. package/dist/esm/chunks/chunk.C2MR3RDF.js +202 -0
  123. package/dist/esm/chunks/chunk.C2MR3RDF.js.map +7 -0
  124. package/dist/esm/chunks/chunk.C64YUJHS.js +55 -0
  125. package/dist/esm/chunks/chunk.C64YUJHS.js.map +7 -0
  126. package/dist/esm/chunks/chunk.CGHKW6S6.js +683 -0
  127. package/dist/esm/chunks/chunk.CGHKW6S6.js.map +7 -0
  128. package/dist/esm/chunks/chunk.CKS5A4YN.js +6 -0
  129. package/dist/esm/chunks/chunk.CKS5A4YN.js.map +7 -0
  130. package/dist/esm/chunks/chunk.COF6DD6T.js +293 -0
  131. package/dist/esm/chunks/chunk.COF6DD6T.js.map +7 -0
  132. package/dist/esm/chunks/chunk.D4XU5MZN.js +1203 -0
  133. package/dist/esm/chunks/chunk.D4XU5MZN.js.map +7 -0
  134. package/dist/esm/chunks/chunk.D5DMZ7ZG.js +350 -0
  135. package/dist/esm/chunks/chunk.D5DMZ7ZG.js.map +7 -0
  136. package/dist/esm/chunks/chunk.DB7ZQBES.js +244 -0
  137. package/dist/esm/chunks/chunk.DB7ZQBES.js.map +7 -0
  138. package/dist/esm/chunks/chunk.E4NCI7MS.js +6 -0
  139. package/dist/esm/chunks/chunk.E4NCI7MS.js.map +7 -0
  140. package/dist/esm/chunks/chunk.EA7XMXI5.js +200 -0
  141. package/dist/esm/chunks/chunk.EA7XMXI5.js.map +7 -0
  142. package/dist/esm/chunks/chunk.EARNUKJ2.js +401 -0
  143. package/dist/esm/chunks/chunk.EARNUKJ2.js.map +7 -0
  144. package/dist/esm/chunks/chunk.EKIW7VYG.js +419 -0
  145. package/dist/esm/chunks/chunk.EKIW7VYG.js.map +7 -0
  146. package/dist/esm/chunks/chunk.EL6B2ODN.js +52 -0
  147. package/dist/esm/chunks/chunk.EL6B2ODN.js.map +7 -0
  148. package/dist/esm/chunks/chunk.ETP6HSXO.js +513 -0
  149. package/dist/esm/chunks/chunk.ETP6HSXO.js.map +7 -0
  150. package/dist/esm/chunks/chunk.ETQIBLKP.js +978 -0
  151. package/dist/esm/chunks/chunk.ETQIBLKP.js.map +7 -0
  152. package/dist/esm/chunks/chunk.EWQENJ4W.js +505 -0
  153. package/dist/esm/chunks/chunk.EWQENJ4W.js.map +7 -0
  154. package/dist/esm/chunks/chunk.EY57VTRF.js +33 -0
  155. package/dist/esm/chunks/chunk.EY57VTRF.js.map +7 -0
  156. package/dist/esm/chunks/chunk.FBUQQD2T.js +732 -0
  157. package/dist/esm/chunks/chunk.FBUQQD2T.js.map +7 -0
  158. package/dist/esm/chunks/chunk.FMMPWQKC.js +439 -0
  159. package/dist/esm/chunks/chunk.FMMPWQKC.js.map +7 -0
  160. package/dist/esm/chunks/chunk.FWJ7SIFA.js +433 -0
  161. package/dist/esm/chunks/chunk.FWJ7SIFA.js.map +7 -0
  162. package/dist/esm/chunks/chunk.FZQCBRPK.js +6 -0
  163. package/dist/esm/chunks/chunk.FZQCBRPK.js.map +7 -0
  164. package/dist/esm/chunks/chunk.G6FY472A.js +658 -0
  165. package/dist/esm/chunks/chunk.G6FY472A.js.map +7 -0
  166. package/dist/esm/chunks/chunk.GS2AXUCN.js +150 -0
  167. package/dist/esm/chunks/chunk.GS2AXUCN.js.map +7 -0
  168. package/dist/esm/chunks/chunk.HHHMDDTU.js +297 -0
  169. package/dist/esm/chunks/chunk.HHHMDDTU.js.map +7 -0
  170. package/dist/esm/chunks/chunk.HZISALRH.js +20 -0
  171. package/dist/esm/chunks/chunk.HZISALRH.js.map +7 -0
  172. package/dist/esm/chunks/chunk.IBH5GL7A.js +258 -0
  173. package/dist/esm/chunks/chunk.IBH5GL7A.js.map +7 -0
  174. package/dist/esm/chunks/chunk.IWXT6VVJ.js +222 -0
  175. package/dist/esm/chunks/chunk.IWXT6VVJ.js.map +7 -0
  176. package/dist/esm/chunks/chunk.J6LOWXOG.js +654 -0
  177. package/dist/esm/chunks/chunk.J6LOWXOG.js.map +7 -0
  178. package/dist/esm/chunks/chunk.JICZQ2BO.js +168 -0
  179. package/dist/esm/chunks/chunk.JICZQ2BO.js.map +7 -0
  180. package/dist/esm/chunks/chunk.JKC5PU23.js +42 -0
  181. package/dist/esm/chunks/chunk.JKC5PU23.js.map +7 -0
  182. package/dist/esm/chunks/chunk.JQQOZMKQ.js +2994 -0
  183. package/dist/esm/chunks/chunk.JQQOZMKQ.js.map +7 -0
  184. package/dist/esm/chunks/chunk.JVQP6BJ3.js +1591 -0
  185. package/dist/esm/chunks/chunk.JVQP6BJ3.js.map +7 -0
  186. package/dist/esm/chunks/chunk.K2PCTUVN.js +139 -0
  187. package/dist/esm/chunks/chunk.K2PCTUVN.js.map +7 -0
  188. package/dist/esm/chunks/chunk.KCK3G74Y.js +634 -0
  189. package/dist/esm/chunks/chunk.KCK3G74Y.js.map +7 -0
  190. package/dist/esm/chunks/chunk.KI3IHPS2.js +801 -0
  191. package/dist/esm/chunks/chunk.KI3IHPS2.js.map +7 -0
  192. package/dist/esm/chunks/chunk.KRW2IAIU.js +445 -0
  193. package/dist/esm/chunks/chunk.KRW2IAIU.js.map +7 -0
  194. package/dist/esm/chunks/chunk.KZ2QNQK2.js +21 -0
  195. package/dist/esm/chunks/chunk.KZ2QNQK2.js.map +7 -0
  196. package/dist/esm/chunks/chunk.KZATVOA6.js +68 -0
  197. package/dist/esm/chunks/chunk.KZATVOA6.js.map +7 -0
  198. package/dist/esm/chunks/chunk.LCWRP2UI.js +59 -0
  199. package/dist/esm/chunks/chunk.LCWRP2UI.js.map +7 -0
  200. package/dist/esm/chunks/chunk.LM5TVNZY.js +71 -0
  201. package/dist/esm/chunks/chunk.LM5TVNZY.js.map +7 -0
  202. package/dist/esm/chunks/chunk.MAGJQ2PP.js +964 -0
  203. package/dist/esm/chunks/chunk.MAGJQ2PP.js.map +7 -0
  204. package/dist/esm/chunks/chunk.MEFT5FQC.js +158 -0
  205. package/dist/esm/chunks/chunk.MEFT5FQC.js.map +7 -0
  206. package/dist/esm/chunks/chunk.MHEJZJT3.js +6 -0
  207. package/dist/esm/chunks/chunk.MHEJZJT3.js.map +7 -0
  208. package/dist/esm/chunks/chunk.MMIZOYAS.js +147 -0
  209. package/dist/esm/chunks/chunk.MMIZOYAS.js.map +7 -0
  210. package/dist/esm/chunks/chunk.MNFGVNDI.js +6 -0
  211. package/dist/esm/chunks/chunk.MNFGVNDI.js.map +7 -0
  212. package/dist/esm/chunks/chunk.NQOD2XB3.js +840 -0
  213. package/dist/esm/chunks/chunk.NQOD2XB3.js.map +7 -0
  214. package/dist/esm/chunks/chunk.NRI7SWVX.js +1347 -0
  215. package/dist/esm/chunks/chunk.NRI7SWVX.js.map +7 -0
  216. package/dist/esm/chunks/chunk.NX5SKZLU.js +50 -0
  217. package/dist/esm/chunks/chunk.NX5SKZLU.js.map +7 -0
  218. package/dist/esm/chunks/chunk.O6UHX6FK.js +463 -0
  219. package/dist/esm/chunks/chunk.O6UHX6FK.js.map +7 -0
  220. package/dist/esm/chunks/chunk.OJI6ZRYW.js +561 -0
  221. package/dist/esm/chunks/chunk.OJI6ZRYW.js.map +7 -0
  222. package/dist/esm/chunks/chunk.OQRMHHPB.js +1335 -0
  223. package/dist/esm/chunks/chunk.OQRMHHPB.js.map +7 -0
  224. package/dist/esm/chunks/chunk.OYO6NUZY.js +52 -0
  225. package/dist/esm/chunks/chunk.OYO6NUZY.js.map +7 -0
  226. package/dist/esm/chunks/chunk.P43Z3YAS.js +507 -0
  227. package/dist/esm/chunks/chunk.P43Z3YAS.js.map +7 -0
  228. package/dist/esm/chunks/chunk.P7NOYP4O.js +73 -0
  229. package/dist/esm/chunks/chunk.P7NOYP4O.js.map +7 -0
  230. package/dist/esm/chunks/chunk.PBGL3BRX.js +27 -0
  231. package/dist/esm/chunks/chunk.PBGL3BRX.js.map +7 -0
  232. package/dist/esm/chunks/chunk.PCYIY5OY.js +461 -0
  233. package/dist/esm/chunks/chunk.PCYIY5OY.js.map +7 -0
  234. package/dist/esm/chunks/chunk.Q4YMHFRY.js +155 -0
  235. package/dist/esm/chunks/chunk.Q4YMHFRY.js.map +7 -0
  236. package/dist/esm/chunks/chunk.QD7EPCL6.js +144 -0
  237. package/dist/esm/chunks/chunk.QD7EPCL6.js.map +7 -0
  238. package/dist/esm/chunks/chunk.QQDDGRY6.js +6 -0
  239. package/dist/esm/chunks/chunk.QQDDGRY6.js.map +7 -0
  240. package/dist/esm/chunks/chunk.RNPIV3BY.js +540 -0
  241. package/dist/esm/chunks/chunk.RNPIV3BY.js.map +7 -0
  242. package/dist/esm/chunks/chunk.RR7HDQU6.js +236 -0
  243. package/dist/esm/chunks/chunk.RR7HDQU6.js.map +7 -0
  244. package/dist/esm/chunks/chunk.RV3E762Y.js +73 -0
  245. package/dist/esm/chunks/chunk.RV3E762Y.js.map +7 -0
  246. package/dist/esm/chunks/chunk.RWCC6E4O.js +52 -0
  247. package/dist/esm/chunks/chunk.RWCC6E4O.js.map +7 -0
  248. package/dist/esm/chunks/chunk.SJZ54RE3.js +56 -0
  249. package/dist/esm/chunks/chunk.SJZ54RE3.js.map +7 -0
  250. package/dist/esm/chunks/chunk.SKISCNSC.js +559 -0
  251. package/dist/esm/chunks/chunk.SKISCNSC.js.map +7 -0
  252. package/dist/esm/chunks/chunk.SKLCDWYQ.js +6 -0
  253. package/dist/esm/chunks/chunk.SKLCDWYQ.js.map +7 -0
  254. package/dist/esm/chunks/chunk.SNAZ6JSS.js +22 -0
  255. package/dist/esm/chunks/chunk.SNAZ6JSS.js.map +7 -0
  256. package/dist/esm/chunks/chunk.ST3R6JEE.js +73 -0
  257. package/dist/esm/chunks/chunk.ST3R6JEE.js.map +7 -0
  258. package/dist/esm/chunks/chunk.TLCGGWBO.js +6 -0
  259. package/dist/esm/chunks/chunk.TLCGGWBO.js.map +7 -0
  260. package/dist/esm/chunks/chunk.U35QQZVK.js +422 -0
  261. package/dist/esm/chunks/chunk.U35QQZVK.js.map +7 -0
  262. package/dist/esm/chunks/chunk.U6FJJGO3.js +6 -0
  263. package/dist/esm/chunks/chunk.U6FJJGO3.js.map +7 -0
  264. package/dist/esm/chunks/chunk.VAPJ75PS.js +21 -0
  265. package/dist/esm/chunks/chunk.VAPJ75PS.js.map +7 -0
  266. package/dist/esm/chunks/chunk.VHO7NUMI.js +37 -0
  267. package/dist/esm/chunks/chunk.VHO7NUMI.js.map +7 -0
  268. package/dist/esm/chunks/chunk.VK6LIH3B.js +13 -0
  269. package/dist/esm/chunks/chunk.VK6LIH3B.js.map +7 -0
  270. package/dist/esm/chunks/chunk.VTXXZ5KT.js +450 -0
  271. package/dist/esm/chunks/chunk.VTXXZ5KT.js.map +7 -0
  272. package/dist/esm/chunks/chunk.WAJDLUSQ.js +56 -0
  273. package/dist/esm/chunks/chunk.WAJDLUSQ.js.map +7 -0
  274. package/dist/esm/chunks/chunk.WF2MFLG4.js +6 -0
  275. package/dist/esm/chunks/chunk.WF2MFLG4.js.map +7 -0
  276. package/dist/esm/chunks/chunk.WINL2C7Q.js +6 -0
  277. package/dist/esm/chunks/chunk.WINL2C7Q.js.map +7 -0
  278. package/dist/esm/chunks/chunk.WIYLQTSX.js +3550 -0
  279. package/dist/esm/chunks/chunk.WIYLQTSX.js.map +7 -0
  280. package/dist/esm/chunks/chunk.WT4W2IFT.js +92 -0
  281. package/dist/esm/chunks/chunk.WT4W2IFT.js.map +7 -0
  282. package/dist/esm/chunks/chunk.WXFCZJJI.js +52 -0
  283. package/dist/esm/chunks/chunk.WXFCZJJI.js.map +7 -0
  284. package/dist/esm/chunks/chunk.XEF6G5NS.js +248 -0
  285. package/dist/esm/chunks/chunk.XEF6G5NS.js.map +7 -0
  286. package/dist/esm/chunks/chunk.XGMOOPIE.js +136 -0
  287. package/dist/esm/chunks/chunk.XGMOOPIE.js.map +7 -0
  288. package/dist/esm/chunks/chunk.XIDZXGD4.js +912 -0
  289. package/dist/esm/chunks/chunk.XIDZXGD4.js.map +7 -0
  290. package/dist/esm/chunks/chunk.XJVLHRVJ.js +59 -0
  291. package/dist/esm/chunks/chunk.XJVLHRVJ.js.map +7 -0
  292. package/dist/esm/chunks/chunk.XO3XVXWW.js +72 -0
  293. package/dist/esm/chunks/chunk.XO3XVXWW.js.map +7 -0
  294. package/dist/esm/chunks/chunk.XY3ZHN7Y.js +649 -0
  295. package/dist/esm/chunks/chunk.XY3ZHN7Y.js.map +7 -0
  296. package/dist/esm/chunks/chunk.Y2TDQIA4.js +307 -0
  297. package/dist/esm/chunks/chunk.Y2TDQIA4.js.map +7 -0
  298. package/dist/esm/chunks/chunk.YCW56AVX.js +176 -0
  299. package/dist/esm/chunks/chunk.YCW56AVX.js.map +7 -0
  300. package/dist/esm/chunks/chunk.YDPSV74L.js +742 -0
  301. package/dist/esm/chunks/chunk.YDPSV74L.js.map +7 -0
  302. package/dist/esm/chunks/chunk.YJ5X3WZ4.js +110 -0
  303. package/dist/esm/chunks/chunk.YJ5X3WZ4.js.map +7 -0
  304. package/dist/esm/chunks/chunk.ZABF5CI6.js +760 -0
  305. package/dist/esm/chunks/chunk.ZABF5CI6.js.map +7 -0
  306. package/dist/esm/chunks/chunk.ZG4NZM2P.js +173 -0
  307. package/dist/esm/chunks/chunk.ZG4NZM2P.js.map +7 -0
  308. package/dist/esm/chunks/chunk.ZUM5YLB2.js +291 -0
  309. package/dist/esm/chunks/chunk.ZUM5YLB2.js.map +7 -0
  310. package/dist/esm/circular-progress/index.js +28 -0
  311. package/dist/esm/circular-progress/index.js.map +7 -0
  312. package/dist/esm/color-picker/index.js +49 -0
  313. package/dist/esm/color-picker/index.js.map +7 -0
  314. package/dist/esm/core/base/index.js +21 -0
  315. package/dist/esm/core/base/index.js.map +7 -0
  316. package/dist/esm/core/delegates/index.js +20 -0
  317. package/dist/esm/core/delegates/index.js.map +7 -0
  318. package/dist/esm/core/index.js +83 -0
  319. package/dist/esm/core/index.js.map +7 -0
  320. package/dist/esm/core/mask/index.js +26 -0
  321. package/dist/esm/core/mask/index.js.map +7 -0
  322. package/dist/esm/core/utils/index.js +46 -0
  323. package/dist/esm/core/utils/index.js.map +7 -0
  324. package/dist/esm/date-picker/index.js +62 -0
  325. package/dist/esm/date-picker/index.js.map +7 -0
  326. package/dist/esm/date-range-picker/index.js +64 -0
  327. package/dist/esm/date-range-picker/index.js.map +7 -0
  328. package/dist/esm/dialog/index.js +44 -0
  329. package/dist/esm/dialog/index.js.map +7 -0
  330. package/dist/esm/divider/index.js +22 -0
  331. package/dist/esm/divider/index.js.map +7 -0
  332. package/dist/esm/drawer/base/index.js +25 -0
  333. package/dist/esm/drawer/base/index.js.map +7 -0
  334. package/dist/esm/drawer/drawer/index.js +25 -0
  335. package/dist/esm/drawer/drawer/index.js.map +7 -0
  336. package/dist/esm/drawer/index.js +56 -0
  337. package/dist/esm/drawer/index.js.map +7 -0
  338. package/dist/esm/drawer/mini-drawer/index.js +25 -0
  339. package/dist/esm/drawer/mini-drawer/index.js.map +7 -0
  340. package/dist/esm/drawer/modal-drawer/index.js +30 -0
  341. package/dist/esm/drawer/modal-drawer/index.js.map +7 -0
  342. package/dist/esm/expansion-panel/index.js +38 -0
  343. package/dist/esm/expansion-panel/index.js.map +7 -0
  344. package/dist/esm/file-picker/index.js +41 -0
  345. package/dist/esm/file-picker/index.js.map +7 -0
  346. package/dist/esm/floating-action-button/index.js +29 -0
  347. package/dist/esm/floating-action-button/index.js.map +7 -0
  348. package/dist/esm/floating-label/index.js +23 -0
  349. package/dist/esm/floating-label/index.js.map +7 -0
  350. package/dist/esm/icon/index.js +53 -0
  351. package/dist/esm/icon/index.js.map +7 -0
  352. package/dist/esm/icon-button/index.js +37 -0
  353. package/dist/esm/icon-button/index.js.map +7 -0
  354. package/dist/esm/index.js +1275 -0
  355. package/dist/esm/index.js.map +7 -0
  356. package/dist/esm/inline-message/index.js +22 -0
  357. package/dist/esm/inline-message/index.js.map +7 -0
  358. package/dist/esm/keyboard-shortcut/index.js +41 -0
  359. package/dist/esm/keyboard-shortcut/index.js.map +7 -0
  360. package/dist/esm/label-value/index.js +32 -0
  361. package/dist/esm/label-value/index.js.map +7 -0
  362. package/dist/esm/linear-progress/index.js +24 -0
  363. package/dist/esm/linear-progress/index.js.map +7 -0
  364. package/dist/esm/list/index.js +44 -0
  365. package/dist/esm/list/index.js.map +7 -0
  366. package/dist/esm/list/list/index.js +33 -0
  367. package/dist/esm/list/list/index.js.map +7 -0
  368. package/dist/esm/list/list-item/index.js +31 -0
  369. package/dist/esm/list/list-item/index.js.map +7 -0
  370. package/dist/esm/list-dropdown/index.js +55 -0
  371. package/dist/esm/list-dropdown/index.js.map +7 -0
  372. package/dist/esm/menu/index.js +53 -0
  373. package/dist/esm/menu/index.js.map +7 -0
  374. package/dist/esm/open-icon/index.js +37 -0
  375. package/dist/esm/open-icon/index.js.map +7 -0
  376. package/dist/esm/page-state/index.js +22 -0
  377. package/dist/esm/page-state/index.js.map +7 -0
  378. package/dist/esm/paginator/index.js +66 -0
  379. package/dist/esm/paginator/index.js.map +7 -0
  380. package/dist/esm/popup/index.js +31 -0
  381. package/dist/esm/popup/index.js.map +7 -0
  382. package/dist/esm/product-icon/index.js +29 -0
  383. package/dist/esm/product-icon/index.js.map +7 -0
  384. package/dist/esm/profile-card/index.js +37 -0
  385. package/dist/esm/profile-card/index.js.map +7 -0
  386. package/dist/esm/quantity-field/index.js +46 -0
  387. package/dist/esm/quantity-field/index.js.map +7 -0
  388. package/dist/esm/radio/index.js +26 -0
  389. package/dist/esm/radio/index.js.map +7 -0
  390. package/dist/esm/ripple/index.js +32 -0
  391. package/dist/esm/ripple/index.js.map +7 -0
  392. package/dist/esm/scaffold/index.js +22 -0
  393. package/dist/esm/scaffold/index.js.map +7 -0
  394. package/dist/esm/select/core/index.js +60 -0
  395. package/dist/esm/select/core/index.js.map +7 -0
  396. package/dist/esm/select/index.js +114 -0
  397. package/dist/esm/select/index.js.map +7 -0
  398. package/dist/esm/select/option/index.js +28 -0
  399. package/dist/esm/select/option/index.js.map +7 -0
  400. package/dist/esm/select/option-group/index.js +22 -0
  401. package/dist/esm/select/option-group/index.js.map +7 -0
  402. package/dist/esm/select/select/index.js +63 -0
  403. package/dist/esm/select/select/index.js.map +7 -0
  404. package/dist/esm/select/select-dropdown/index.js +59 -0
  405. package/dist/esm/select/select-dropdown/index.js.map +7 -0
  406. package/dist/esm/skeleton/index.js +22 -0
  407. package/dist/esm/skeleton/index.js.map +7 -0
  408. package/dist/esm/slider/index.js +35 -0
  409. package/dist/esm/slider/index.js.map +7 -0
  410. package/dist/esm/stepper/index.js +55 -0
  411. package/dist/esm/stepper/index.js.map +7 -0
  412. package/dist/esm/stepper/step/index.js +40 -0
  413. package/dist/esm/stepper/step/index.js.map +7 -0
  414. package/dist/esm/stepper/stepper/index.js +43 -0
  415. package/dist/esm/stepper/stepper/index.js.map +7 -0
  416. package/dist/esm/switch/index.js +34 -0
  417. package/dist/esm/switch/index.js.map +7 -0
  418. package/dist/esm/table/index.js +57 -0
  419. package/dist/esm/table/index.js.map +7 -0
  420. package/dist/esm/tabs/index.js +61 -0
  421. package/dist/esm/tabs/index.js.map +7 -0
  422. package/dist/esm/tabs/tab/index.js +33 -0
  423. package/dist/esm/tabs/tab/index.js.map +7 -0
  424. package/dist/esm/tabs/tab-bar/index.js +47 -0
  425. package/dist/esm/tabs/tab-bar/index.js.map +7 -0
  426. package/dist/esm/text-field/index.js +39 -0
  427. package/dist/esm/text-field/index.js.map +7 -0
  428. package/dist/esm/theme/index.js +17 -0
  429. package/dist/esm/theme/index.js.map +7 -0
  430. package/dist/esm/time-picker/index.js +92 -0
  431. package/dist/esm/time-picker/index.js.map +7 -0
  432. package/dist/esm/toast/index.js +42 -0
  433. package/dist/esm/toast/index.js.map +7 -0
  434. package/dist/esm/toolbar/index.js +22 -0
  435. package/dist/esm/toolbar/index.js.map +7 -0
  436. package/dist/esm/tooltip/index.js +34 -0
  437. package/dist/esm/tooltip/index.js.map +7 -0
  438. package/dist/esm/utils/index.js +17 -0
  439. package/dist/esm/utils/index.js.map +7 -0
  440. package/dist/esm/view-switcher/index.js +40 -0
  441. package/dist/esm/view-switcher/index.js.map +7 -0
  442. package/dist/esm/view-switcher/view/index.js +22 -0
  443. package/dist/esm/view-switcher/view/index.js.map +7 -0
  444. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/stepper/stepper/stepper-constants.ts", "../../src/stepper/core/stepper-utils.ts", "../../src/stepper/stepper/stepper-adapter.ts", "../../src/stepper/stepper/stepper-foundation.ts", "../../src/stepper/stepper/stepper.ts", "../../src/stepper/stepper/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}stepper`;\n\nconst classes = {\n STEPPER: 'forge-stepper',\n LINEAR: 'forge-stepper--linear',\n ALTERNATIVE: 'forge-stepper--alternative',\n CLUSTERED: 'forge-stepper--clustered',\n FIXED: 'forge-stepper--fixed',\n ALIGN_LEFT: 'forge-stepper--align-left',\n ALIGN_CENTER: 'forge-stepper--align-center',\n ALIGN_RIGHT: 'forge-stepper--align-right',\n VERTICAL: 'forge-stepper--vertical',\n FOCUSED: 'forge-stepper--focused'\n};\n\nconst selectors = {\n STEPPER: `.${classes.STEPPER}`\n};\n\nconst attributes = {\n SELECTED_INDEX: 'selected-index',\n LINEAR: 'linear',\n ALTERNATIVE: 'alternative',\n LAYOUT_MODE: 'layout-mode',\n LAYOUT_ALIGN: 'layout-align',\n DISABLED: 'disabled',\n VERTICAL: 'vertical'\n};\n\nconst strings = {\n ARROW_LEFT_KEY: 'ArrowLeft',\n ARROW_RIGHT_KEY: 'ArrowRight',\n ARROW_UP_KEY: 'ArrowUp',\n ARROW_DOWN_KEY: 'ArrowDown',\n END_KEY: 'End',\n ENTER_KEY: 'Enter',\n HOME_KEY: 'Home',\n SPACE_KEY: 'Space',\n TAB_KEY: 'Tab'\n};\n\nconst numbers = {\n ARROW_LEFT_KEYCODE: 37,\n ARROW_RIGHT_KEYCODE: 39,\n END_KEYCODE: 35,\n HOME_KEYCODE: 36,\n ENTER_KEYCODE: 13,\n SPACE_KEYCODE: 32\n};\n\nconst ACCEPTABLE_KEYS = [\n strings.ARROW_LEFT_KEY,\n strings.ARROW_RIGHT_KEY,\n strings.ARROW_DOWN_KEY,\n strings.ARROW_UP_KEY,\n strings.END_KEY,\n strings.HOME_KEY,\n strings.ENTER_KEY,\n strings.SPACE_KEY,\n strings.TAB_KEY\n];\n\nconst KEYCODE_MAP = {\n [numbers.ARROW_LEFT_KEYCODE]: strings.ARROW_LEFT_KEY,\n [numbers.ARROW_RIGHT_KEYCODE]: strings.ARROW_RIGHT_KEY,\n [numbers.END_KEYCODE]: strings.END_KEY,\n [numbers.HOME_KEYCODE]: strings.HOME_KEY,\n [numbers.ENTER_KEYCODE]: strings.ENTER_KEY,\n [numbers.SPACE_KEYCODE]: strings.SPACE_KEY\n};\n\nexport const STEPPER_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n numbers,\n strings,\n ACCEPTABLE_KEYS,\n KEYCODE_MAP\n};\n\nexport interface IStepConfiguration {\n label: string;\n optionalLabel?: string;\n editable?: boolean;\n completed?: boolean;\n error?: boolean;\n disabled?: boolean;\n vertical?: boolean;\n expanded?: boolean;\n ignoreUserExpansion?: boolean;\n}\n\nexport interface IStepperConfiguration {\n steps: IStepConfiguration[];\n selectedIndex: number;\n linear: boolean;\n alternative: boolean;\n layoutMode: StepperLayoutMode;\n layoutAlign: StepperLayoutAlign;\n vertical?: boolean;\n}\n\nexport type StepperLayoutMode = 'fixed' | 'clustered';\nexport type StepperLayoutAlign = 'left' | 'center' | 'right';\n", "import { IStepComponent, STEP_CONSTANTS } from '../step';\nimport { STEPPER_CONSTANTS, IStepConfiguration, IStepperConfiguration, StepperLayoutAlign, StepperLayoutMode } from '../stepper/stepper-constants';\n\nexport class StepperUtils {\n /**\n * Creates a step element using the provided configuration.\n * @param {IStepConfiguration} step The step configuration\n * @param {number} index The index of the step.\n * @param {number} activeStepIndex The currently active step index.\n * @param {boolean} linear Whether the stepper is in linear mode or not.\n */\n public static createStepElement(step: IStepConfiguration, index: number, stepperConfig: IStepperConfiguration): IStepComponent {\n const stepElement = document.createElement(STEP_CONSTANTS.elementName);\n\n stepElement.index = index;\n stepElement.completed = step.completed || false;\n stepElement.editable = step.editable || false;\n stepElement.selected = stepperConfig.selectedIndex === index;\n stepElement.alternative = stepperConfig.alternative;\n stepElement.error = step.error || false;\n stepElement.disabled = step.disabled || false;\n stepElement.vertical = step.vertical || false;\n stepElement.ignoreUserExpansion = step.ignoreUserExpansion || false;\n stepElement.expanded = step.expanded || false;\n\n if (stepperConfig.linear && index > stepperConfig.selectedIndex) {\n stepElement.tabIndex = -1;\n }\n\n stepElement.textContent = step.label;\n\n if (step.optionalLabel) {\n stepElement.appendChild(this.createStepOptionalLabel(step.optionalLabel));\n }\n\n return stepElement;\n }\n\n /**\n * Creates the step label element using the provided configuration.\n * @param {IStepConfiguration} step The step configuration.\n */\n public static createStepOptionalLabel(labelText: string): HTMLElement {\n const label = document.createElement('span');\n label.slot = 'optional';\n label.textContent = labelText || '';\n return label;\n }\n\n /**\n * Sets the stepper to the provided linear state.\n * @param {HTMLElement} stepperElement The stepper element.\n * @param {boolean} isLinear Whether the stepper is in linear mode or not.\n */\n public static setLinearState(stepperElement: HTMLElement, isLinear: boolean): void {\n let hasLinearClass = stepperElement.classList.contains(STEPPER_CONSTANTS.classes.LINEAR);\n\n if (hasLinearClass && !isLinear) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.LINEAR);\n hasLinearClass = false;\n }\n\n if (!hasLinearClass && isLinear) {\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.LINEAR);\n }\n }\n\n /**\n * Sets the stepper to the provided label state.\n * @param {HTMLElement} stepperElement The stepper element.\n * @param {boolean} isAlternative Whether the stepper is in alternative mode or not.\n */\n public static setAlternativeState(stepperElement: HTMLElement, isAlternative: boolean): void {\n let hasAlternativeClass = stepperElement.classList.contains(STEPPER_CONSTANTS.classes.ALTERNATIVE);\n\n if (hasAlternativeClass && !isAlternative) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.ALTERNATIVE);\n hasAlternativeClass = false;\n }\n\n if (!hasAlternativeClass && isAlternative) {\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.ALTERNATIVE);\n }\n }\n\n /**\n * Sets the stepper layout mode.\n * @param {HTMLElement} stepperElement The stepper element.\n * @param {StepperLayoutMode} mode The layout mode.\n */\n public static setLayoutMode(stepperElement: HTMLElement, mode: StepperLayoutMode): void {\n switch (mode) {\n case 'clustered':\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.FIXED)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.FIXED);\n }\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.CLUSTERED);\n break;\n case 'fixed':\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.CLUSTERED)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.CLUSTERED);\n }\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.FIXED);\n break;\n }\n }\n\n /**\n * Sets the stepper layout alignment.\n * @param {HTMLElement} stepperElement The stepper element.\n * @param {StepperLayoutAlign} mode The layout alignment.\n */\n public static setLayoutAlign(stepperElement: HTMLElement, mode: StepperLayoutAlign): void {\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.ALIGN_LEFT)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.ALIGN_LEFT);\n }\n\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.ALIGN_CENTER)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.ALIGN_CENTER);\n }\n\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.ALIGN_RIGHT)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.ALIGN_RIGHT);\n }\n\n switch (mode) {\n case 'left':\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.ALIGN_LEFT);\n break;\n case 'center':\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.ALIGN_CENTER);\n break;\n case 'right':\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.ALIGN_RIGHT);\n break;\n }\n }\n\n /**\n * Creates a stepper with all of its step elements.\n * @param {IStepperConfiguration} stepperConfiguration The stepper configuration.\n */\n public static createSteps(stepperConfiguration: IStepperConfiguration): IStepComponent[] {\n const steps: IStepComponent[] = [];\n\n stepperConfiguration.steps.forEach((step, index) => {\n const stepElement = StepperUtils.createStepElement(step, index, stepperConfiguration);\n steps.push(stepElement);\n });\n\n steps[0].setAttribute(STEP_CONSTANTS.attributes.FIRST, '');\n steps[steps.length - 1].setAttribute(STEP_CONSTANTS.attributes.LAST, '');\n\n return steps;\n }\n}\n", "import { getShadowElement, getActiveElement, toggleClass } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base';\nimport { StepperUtils } from '../core/stepper-utils';\nimport { IStepComponent } from '../step/step';\nimport { STEP_CONSTANTS } from '../step/step-constants';\nimport { IStepperComponent } from './stepper';\nimport { StepperLayoutAlign, StepperLayoutMode, STEPPER_CONSTANTS } from './stepper-constants';\n\nexport interface IStepperAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n toggleDisabled(disabled: boolean): void;\n patchSafari(): void;\n getFocusedOrSelectedStep(): IStepComponent;\n applyConfiguredSteps(steps: IStepComponent[]): void;\n setLinearState(linear: boolean): void;\n setLayoutAlign(layoutAlign: StepperLayoutAlign): void;\n setLayoutMode(layoutMode: StepperLayoutMode): void;\n setAlternativeState(alternative: boolean): void;\n setVertical(vertical: boolean): void;\n assignIndices(): void;\n addRootListener(event: string, listener: EventListener): void;\n removeRootListener(event: string, listener: EventListener): void;\n setSelected(step: IStepComponent): void;\n setSelectedByIndex(index: number): void;\n assignFirstLastStep(): void;\n getStep(index: number): IStepComponent;\n getLastStep(): IStepComponent;\n addSlotChangeListener(listener: EventListener): void;\n removeSlotChangeListener(listener: EventListener): void;\n toggleRootClass(className: string, show: boolean): void;\n isStepperFocused(): boolean;\n setStepsListener(event: string, listener: EventListener): void;\n removeStepsListener(event: string, listener: EventListener): void;\n}\n\nexport class StepperAdapter extends BaseAdapter<IStepperComponent> implements IStepperAdapter {\n private _rootElement: HTMLElement;\n private _slotElement: HTMLSlotElement;\n\n constructor(component: IStepperComponent) {\n super(component);\n this._rootElement = getShadowElement(component, STEPPER_CONSTANTS.selectors.STEPPER);\n this._slotElement = this._rootElement.querySelector('slot') as HTMLSlotElement;\n }\n\n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'tablist');\n }\n }\n\n public patchSafari(): void {\n this._applyToSteps(s => s.setAttribute('safari', ''));\n }\n\n public addSlotChangeListener(listener: EventListener): void {\n this._slotElement.addEventListener('slotchange', listener);\n }\n public removeSlotChangeListener(listener: EventListener): void {\n this._slotElement.addEventListener('slotchange', listener);\n }\n\n public getLastStep(): IStepComponent {\n const steps = this._getSteps();\n return steps.item(steps.length - 1);\n }\n\n public setSelected(step: IStepComponent): void {\n this._getSteps().forEach(s => {\n if (s === step) {\n s.selected = true;\n } else {\n s.selected = false;\n }\n });\n }\n\n public assignIndices(): void {\n const steps = this._getSteps();\n\n steps.forEach((tab, index) => {\n tab.index = index;\n });\n }\n\n public assignFirstLastStep(): void {\n const steps = this._getSteps();\n if (steps && steps.length > 1) {\n steps[0].setAttribute('first', '');\n steps[steps.length - 1].setAttribute('last', '');\n }\n }\n\n public setLayoutAlign(layoutAlign: StepperLayoutAlign): void {\n StepperUtils.setLayoutAlign(this._rootElement, layoutAlign);\n }\n public setLayoutMode(layoutMode: StepperLayoutMode): void {\n StepperUtils.setLayoutMode(this._rootElement, layoutMode);\n this._applyToSteps(s => s.setAttribute(STEP_CONSTANTS.attributes.CLUSTERED, ''));\n }\n public setAlternativeState(alternative: boolean): void {\n StepperUtils.setAlternativeState(this._rootElement, alternative);\n this._applyToSteps(step => step.alternative = alternative);\n }\n\n public setVertical(vertical: boolean): void {\n toggleClass(this._rootElement, vertical, STEPPER_CONSTANTS.classes.VERTICAL);\n this._applyToSteps(step => step.vertical = vertical);\n }\n\n public setLinearState(linear: boolean): void {\n StepperUtils.setLinearState(this._rootElement, linear);\n }\n\n public removeRootListener(event: string, listener: EventListener): void {\n this._rootElement.removeEventListener('click', listener);\n }\n public addRootListener(event: string, listener: EventListener): void {\n this._rootElement.addEventListener(event, listener);\n }\n\n public setSelectedByIndex(index: number): void {\n this._applyToSteps(step => {\n if (step.selected && step.index !== index) {\n step.selected = false;\n }\n\n if (step.index === index) {\n step.selected = true;\n }\n });\n }\n\n public applyConfiguredSteps(steps: IStepComponent[]): void {\n this._component.querySelectorAll(STEP_CONSTANTS.elementName).forEach(n => {\n this._component.removeChild(n);\n });\n\n steps.forEach(s => this._component.appendChild(s));\n }\n\n public tryGetFocusedStep(): IStepComponent | undefined {\n let focusedStep: IStepComponent = undefined as any;\n const activeElement = getActiveElement();\n this._applyToSteps(step => {\n if (activeElement === getShadowElement(step, STEP_CONSTANTS.selectors.STEP)) {\n focusedStep = step;\n }\n });\n\n return focusedStep;\n }\n\n public getFocusedOrSelectedStep(): IStepComponent {\n let focusedStep = this.tryGetFocusedStep();\n\n if (!focusedStep) {\n focusedStep = this._getSteps()[0];\n focusedStep.focus();\n }\n\n return focusedStep;\n }\n\n public getStep(index: number): IStepComponent {\n let realIndex = 0;\n const steps = this._getSteps();\n\n if (index < 0) {\n return steps.item(steps.length - 1);\n }\n\n if (steps.length > index) {\n realIndex = index;\n }\n return steps.item(realIndex);\n }\n\n public toggleDisabled(disabled: boolean): void {\n this._applyToSteps(s => s.disabled = disabled);\n }\n\n public toggleRootClass(className: string, show: boolean): void{\n toggleClass(this._rootElement, show, className);\n }\n\n public isStepperFocused(): boolean {\n return this._rootElement.classList.contains(STEPPER_CONSTANTS.classes.FOCUSED);\n }\n\n public setStepsListener(event: string, listener: EventListener): void {\n this._applyToSteps(s => s.addEventListener(event, listener));\n }\n\n public removeStepsListener(event: string, listener: EventListener): void {\n this._applyToSteps(s => s.removeEventListener(event, listener));\n }\n\n private _applyToSteps(action: (step: IStepComponent, index?: number) => void): void {\n this._getSteps().forEach(action);\n }\n\n private _getSteps(): NodeListOf<IStepComponent> {\n return this._component.querySelectorAll<IStepComponent>(STEP_CONSTANTS.elementName);\n }\n}\n", "import { getEventPath, getShadowElement, ICustomElementFoundation, isDefined, isNumber, Platform } from '@tylertech/forge-core';\nimport { STEP_CONSTANTS } from '../step/step-constants';\nimport { StepperUtils } from '../core/stepper-utils';\nimport { IStepComponent } from '../step/step';\nimport { IStepperAdapter } from './stepper-adapter';\nimport { STEPPER_CONSTANTS, IStepConfiguration, StepperLayoutAlign, StepperLayoutMode } from './stepper-constants';\n\nexport interface IStepperFoundation extends ICustomElementFoundation {\n steps: IStepConfiguration[];\n selectedIndex: number;\n linear: boolean;\n alternative: boolean;\n layoutMode: StepperLayoutMode;\n layoutAlign: StepperLayoutAlign;\n}\n\nexport class StepperFoundation implements IStepperFoundation {\n private _steps: IStepConfiguration[] = [];\n private _selectedIndex = 0;\n private _linear = false;\n private _alternative = false;\n private _layoutMode: StepperLayoutMode = 'fixed';\n private _layoutAlign: StepperLayoutAlign = 'center';\n private _initialize = false;\n private _disabled: boolean;\n private _vertical: boolean;\n\n private _clickListener: EventListener;\n private _keyListener: EventListener;\n private _slotChangeListener: EventListener;\n private _stepFocusListener: () => void;\n private _stepBlurListener: () => void;\n private _stepExpandedContentFocusInListener: (event: CustomEvent<IStepComponent>) => void;\n private _stepExpandedContentFocusOutListener: (event: CustomEvent<IStepComponent>) => void;\n\n constructor(private _adapter: IStepperAdapter) {\n this._clickListener = event => this._handleClick(event);\n this._keyListener = event => this._onKeydown(event as KeyboardEvent);\n this._stepFocusListener = () => this._onStepFocus();\n this._stepBlurListener = () => this._onStepBlur();\n this._stepExpandedContentFocusInListener = event => this._onStepExpandedContentFocusIn(event);\n this._stepExpandedContentFocusOutListener = event => this._onStepExpandedContentFocusOut(event);\n this._slotChangeListener = event => this._onSlotChange(event as Event);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n this._adapter.assignIndices();\n this._adapter.setLinearState(this._linear);\n this._adapter.setAlternativeState(this._alternative);\n this._adapter.setLayoutAlign(this._layoutAlign);\n this._adapter.setLayoutMode(this._layoutMode);\n this._adapter.addRootListener('click', this._clickListener);\n this._adapter.addHostListener('keydown', this._keyListener);\n this._adapter.assignFirstLastStep();\n this._adapter.addRootListener(STEP_CONSTANTS.events.EXPANDED_CONTENT_FOCUSIN, this._stepExpandedContentFocusInListener);\n this._adapter.addRootListener(STEP_CONSTANTS.events.EXPANDED_CONTENT_FOCUSOUT, this._stepExpandedContentFocusOutListener);\n this._applySelectedIndex();\n this._patchBrowser();\n this._adapter.setStepsListener('blur', this._stepBlurListener);\n this._adapter.setStepsListener('focus', this._stepFocusListener);\n if (!this._initialize) {\n this._adapter.addSlotChangeListener(this._slotChangeListener);\n }\n\n this._initialize = true;\n }\n\n public disconnect(): void {\n this._adapter.removeRootListener('click', this._clickListener);\n this._adapter.removeHostListener('keydown', this._keyListener);\n this._adapter.removeSlotChangeListener(this._slotChangeListener);\n this._adapter.removeStepsListener('blur', this._stepBlurListener);\n this._adapter.removeStepsListener('focus', this._stepFocusListener);\n }\n\n /** The step configurations. */\n public get steps(): IStepConfiguration[] {\n return JSON.parse(JSON.stringify(this._steps));\n }\n public set steps(value: IStepConfiguration[]) {\n if (Array.isArray(value) && value.length > 0) {\n this._steps = [...value.map(s => ({ ...s }))];\n } else {\n this._steps = [];\n return;\n }\n\n this._renderConfiguration();\n }\n\n /** The active step index. */\n public get selectedIndex(): number {\n return this._selectedIndex;\n }\n public set selectedIndex(value: number) {\n if (!isDefined(value)) {\n value = 0;\n } else if (!isNumber(value)) {\n const v = Number(value);\n value = !isNaN(v) ? v : 0;\n }\n\n if (this._selectedIndex !== value) {\n this._selectedIndex = value;\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.SELECTED_INDEX, this._selectedIndex.toString());\n this._applySelectedIndex();\n }\n }\n\n /** Whether the stepper is linear or non-linear. */\n public get linear(): boolean {\n return this._linear;\n }\n public set linear(value: boolean) {\n value = Boolean(value);\n if (this._linear !== value) {\n this._linear = value;\n this._adapter.setLinearState(this._linear);\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.LINEAR, this._linear.toString());\n }\n }\n\n /** Whether the stepper uses the default or alternative label layout mode. */\n public get alternative(): boolean {\n return this._alternative;\n }\n public set alternative(value: boolean) {\n value = Boolean(value);\n if (this._alternative !== value) {\n this._alternative = value;\n this._adapter.setAlternativeState(this._alternative);\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.ALTERNATIVE, this._alternative.toString());\n }\n }\n\n /** The layout mode of the stepper. */\n public get layoutMode(): StepperLayoutMode {\n return this._layoutMode;\n }\n public set layoutMode(value: StepperLayoutMode) {\n if (!/^(fixed|clustered)$/.test(value)) {\n return;\n }\n\n if (this._layoutMode !== value) {\n this._layoutMode = value;\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.LAYOUT_MODE, this._layoutMode);\n this._adapter.setLayoutMode(this._layoutMode);\n }\n }\n\n /** The layout alignment of the stepper. */\n public get layoutAlign(): StepperLayoutAlign {\n return this._layoutAlign;\n }\n public set layoutAlign(value: StepperLayoutAlign) {\n if (!/^(left|center|right)$/.test(value)) {\n return;\n }\n\n if (this._layoutAlign !== value) {\n this._layoutAlign = value;\n this._adapter.setLayoutAlign(this._layoutAlign);\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.LAYOUT_ALIGN, this._layoutAlign);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (value !== this._disabled) {\n this._disabled = value;\n this._applyDisabled();\n }\n }\n\n public get vertical(): boolean {\n return this._vertical;\n }\n public set vertical(value: boolean) {\n if (value !== this._vertical) {\n this._vertical = value;\n this._applyVertical();\n this._adapter.toggleHostAttribute(STEPPER_CONSTANTS.attributes.VERTICAL, this._vertical);\n }\n }\n\n private _applyVertical(): void {\n this._adapter.setVertical(this._vertical);\n }\n\n private _applyDisabled(): void {\n if (this._disabled) {\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.DISABLED, 'disabled');\n } else {\n this._adapter.removeHostAttribute(STEPPER_CONSTANTS.attributes.DISABLED);\n }\n\n this._adapter.toggleDisabled(this._disabled);\n }\n\n private _applySelectedIndex(): void {\n this._adapter.setSelectedByIndex(this._selectedIndex);\n }\n\n private _handleClick(event: Event): void {\n event.preventDefault();\n if (this._linear) {\n return;\n }\n const eventPath = getEventPath(event);\n const stepRoot = eventPath.find(el => el.classList && el.classList.contains(STEP_CONSTANTS.classes.STEP));\n const step = eventPath.find(el => el.localName === STEP_CONSTANTS.elementName) as IStepComponent | undefined;\n\n if (stepRoot && step && !step.selected && !step.disabled && this._adapter.emitHostEvent(STEP_CONSTANTS.events.SELECT, step.index, true, true)) {\n this._adapter.setSelected(step);\n this.selectedIndex = step.index;\n }\n }\n\n private _renderConfiguration(): void {\n const steps = StepperUtils.createSteps({\n steps: this._steps,\n selectedIndex: this._selectedIndex,\n alternative: this._alternative,\n layoutAlign: this._layoutAlign,\n layoutMode: this._layoutMode,\n linear: this._linear\n });\n\n this.disconnect();\n this._adapter.applyConfiguredSteps(steps);\n this.initialize();\n }\n\n private _onKeydown(event: KeyboardEvent): void {\n if (this._linear) {\n return;\n }\n\n const key = this._getKeyFromEvent(event);\n\n // If the expanded content is currently being focused, ignore stepper specific keys\n if (!this._adapter.isStepperFocused()) {\n return;\n }\n\n // Early exit if the event key isn't one of the keyboard navigation keys\n if (!key) {\n return;\n }\n\n if ([STEP_CONSTANTS.strings.HOME_KEY, STEP_CONSTANTS.strings.END_KEY, STEP_CONSTANTS.strings.ARROW_DOWN_KEY, STEPPER_CONSTANTS.strings.ARROW_UP_KEY].includes(key)) {\n event.preventDefault();\n }\n\n\n const step = this._vertical ? this._determineVerticalMoveTarget(key) : this._determineMoveTarget(key);\n\n if (step) {\n this._moveFocusTo(step);\n }\n }\n\n private _moveFocusTo(step: IStepComponent): void {\n getShadowElement(step, STEP_CONSTANTS.selectors.STEP).focus();\n }\n\n private _getKeyFromEvent(evt: KeyboardEvent): string {\n if (STEPPER_CONSTANTS.ACCEPTABLE_KEYS.includes(evt.key)) {\n return evt.key;\n }\n return STEPPER_CONSTANTS.KEYCODE_MAP[evt.keyCode];\n }\n\n private _determineMoveTarget(key: string): IStepComponent {\n const step = this._adapter.getFocusedOrSelectedStep();\n\n if (step) {\n switch (key) {\n case STEPPER_CONSTANTS.strings.ARROW_RIGHT_KEY:\n return this._adapter.getStep(step.index + 1);\n case STEPPER_CONSTANTS.strings.ARROW_LEFT_KEY:\n return this._adapter.getStep(step.index - 1);\n case STEPPER_CONSTANTS.strings.HOME_KEY:\n return this._adapter.getStep(0);\n case STEPPER_CONSTANTS.strings.END_KEY:\n return this._adapter.getLastStep();\n }\n }\n\n return step as IStepComponent;\n }\n\n private _determineVerticalMoveTarget(key: string): IStepComponent {\n const step = this._adapter.getFocusedOrSelectedStep();\n\n if (step) {\n switch (key) {\n case STEPPER_CONSTANTS.strings.ARROW_DOWN_KEY:\n return this._adapter.getStep(step.index + 1);\n case STEPPER_CONSTANTS.strings.ARROW_UP_KEY:\n return this._adapter.getStep(step.index - 1);\n case STEPPER_CONSTANTS.strings.HOME_KEY:\n return this._adapter.getStep(0);\n case STEPPER_CONSTANTS.strings.END_KEY:\n return this._adapter.getLastStep();\n }\n }\n\n return step as IStepComponent;\n }\n\n private _onSlotChange(event: Event): void {\n this.disconnect();\n this.initialize();\n }\n\n private _onStepExpandedContentFocusIn(event: CustomEvent<IStepComponent>): void {\n const step = this._adapter.getStep(event.detail.index + 1);\n if (step) {\n step.setStepTabIndex(0);\n }\n event.detail.setStepTabIndex(0);\n }\n\n private _onStepExpandedContentFocusOut(event: CustomEvent<IStepComponent>): void {\n const focusOutStep = event.target as IStepComponent;\n const step = this._adapter.getStep(focusOutStep.index + 1);\n\n if (step) {\n step.setStepTabIndex(-1);\n }\n\n focusOutStep.setStepTabIndex(-1);\n }\n\n private _onStepFocus(): void {\n this._adapter.toggleRootClass(STEPPER_CONSTANTS.classes.FOCUSED, true);\n }\n\n private _onStepBlur(): void {\n this._adapter.toggleRootClass(STEPPER_CONSTANTS.classes.FOCUSED, false);\n }\n\n private _patchBrowser(): void {\n if (new Platform().SAFARI()) {\n this._adapter.patchSafari();\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChildren, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { IStepConfiguration, StepperLayoutAlign, StepperLayoutMode } from '../stepper/stepper-constants';\nimport { StepComponent } from '../step/step';\nimport { StepperAdapter } from './stepper-adapter';\nimport { STEPPER_CONSTANTS } from './stepper-constants';\nimport { StepperFoundation } from './stepper-foundation';\n\nconst template = '<template><div class=\\\"forge-stepper\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-stepper{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;white-space:nowrap;overflow:hidden}.forge-stepper:not(.forge-stepper--vertical) ::slotted(*){display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;min-width:112px}.forge-stepper--fixed ::slotted(*){-webkit-box-flex:1;flex:1}.forge-stepper--alternative{-webkit-box-align:start;align-items:flex-start}.forge-stepper--alternative ::slotted(*){min-width:160px}.forge-stepper--align-left{-webkit-box-pack:start;justify-content:flex-start}.forge-stepper--align-center{-webkit-box-pack:center;justify-content:center}.forge-stepper--align-right{-webkit-box-pack:end;justify-content:flex-end}:host{display:block}:host([hidden]){display:none}:host([vertical]) .forge-stepper{display:unset;-webkit-box-align:unset;align-items:unset;white-space:unset;overflow:unset}';\n\nexport interface IStepperComponent extends IBaseComponent {\n steps: IStepConfiguration[];\n selectedIndex: number;\n linear: boolean;\n alternative: boolean;\n layoutMode: StepperLayoutMode;\n layoutAlign: StepperLayoutAlign;\n disabled: boolean;\n vertical: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-stepper': IStepperComponent;\n }\n}\n\n@CustomElement({\n name: STEPPER_CONSTANTS.elementName,\n dependencies: [StepComponent]\n})\nexport class StepperComponent extends BaseComponent implements IStepperComponent {\n public static get observedAttributes(): string[] {\n return [\n STEPPER_CONSTANTS.attributes.SELECTED_INDEX,\n STEPPER_CONSTANTS.attributes.LINEAR,\n STEPPER_CONSTANTS.attributes.ALTERNATIVE,\n STEPPER_CONSTANTS.attributes.LAYOUT_MODE,\n STEPPER_CONSTANTS.attributes.LAYOUT_ALIGN,\n STEPPER_CONSTANTS.attributes.DISABLED,\n STEPPER_CONSTANTS.attributes.VERTICAL\n ];\n }\n\n private _foundation: StepperFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new StepperFoundation(new StepperAdapter(this));\n }\n\n public async connectedCallback(): Promise<void> {\n await ensureChildren(this);\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case STEPPER_CONSTANTS.attributes.SELECTED_INDEX:\n this.selectedIndex = Number(newValue) || 0;\n break;\n case STEPPER_CONSTANTS.attributes.LINEAR:\n this.linear = coerceBoolean(newValue);\n break;\n case STEPPER_CONSTANTS.attributes.ALTERNATIVE:\n this.alternative = coerceBoolean(newValue);\n break;\n case STEPPER_CONSTANTS.attributes.LAYOUT_MODE:\n this.layoutMode = newValue as StepperLayoutMode;\n break;\n case STEPPER_CONSTANTS.attributes.LAYOUT_ALIGN:\n this.layoutAlign = newValue as StepperLayoutAlign;\n break;\n case STEPPER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case STEPPER_CONSTANTS.attributes.VERTICAL:\n this.vertical = coerceBoolean(newValue);\n break;\n }\n }\n\n /** The step configurations. */\n @FoundationProperty()\n public steps: IStepConfiguration[];\n\n /** The active step index. */\n @FoundationProperty()\n public selectedIndex: number;\n\n /** Whether the stepper is linear or non-linear. */\n @FoundationProperty()\n public linear: boolean;\n\n /** Whether the stepper uses the default or alternative label layout mode. */\n @FoundationProperty()\n public alternative: boolean;\n\n /** The layout mode of the stepper. */\n @FoundationProperty()\n public layoutMode: StepperLayoutMode;\n\n /** The layout alignment of the stepper. */\n @FoundationProperty()\n public layoutAlign: StepperLayoutAlign;\n\n @FoundationProperty()\n public disabled: boolean;\n\n @FoundationProperty()\n public vertical: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { StepperComponent } from './stepper';\n\nexport * from './stepper';\nexport * from './stepper-adapter';\nexport * from './stepper-constants';\nexport * from './stepper-foundation';\n\nexport function defineStepperComponent(): void {\n defineCustomElement(StepperComponent);\n}\n\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,439 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import {
7
+ PROFILE_CARD_CONSTANTS,
8
+ ProfileCardComponent
9
+ } from "./chunk.3KCCCXWS.js";
10
+ import {
11
+ AVATAR_CONSTANTS,
12
+ AvatarComponent
13
+ } from "./chunk.ZUM5YLB2.js";
14
+ import {
15
+ POPUP_CONSTANTS,
16
+ PopupComponent
17
+ } from "./chunk.5EEEKOOK.js";
18
+ import {
19
+ IconButtonComponent
20
+ } from "./chunk.7Y4NHCJH.js";
21
+ import {
22
+ TooltipComponent
23
+ } from "./chunk.2F6PST3N.js";
24
+ import {
25
+ Platform
26
+ } from "./chunk.BYN27JXZ.js";
27
+ import {
28
+ BaseAdapter
29
+ } from "./chunk.KZATVOA6.js";
30
+ import {
31
+ FoundationProperty
32
+ } from "./chunk.MMIZOYAS.js";
33
+ import {
34
+ COMPONENT_NAME_PREFIX,
35
+ CustomElement
36
+ } from "./chunk.35U3UPDV.js";
37
+ import {
38
+ BaseComponent
39
+ } from "./chunk.VK6LIH3B.js";
40
+ import {
41
+ attachLightTemplate,
42
+ defineCustomElement,
43
+ getLightElement
44
+ } from "./chunk.K2PCTUVN.js";
45
+ import {
46
+ getActiveElement,
47
+ notChildEventListener
48
+ } from "./chunk.4JURZYE4.js";
49
+ import {
50
+ coerceBoolean,
51
+ coerceNumber,
52
+ isFunction
53
+ } from "./chunk.MEFT5FQC.js";
54
+ import {
55
+ __decorateClass
56
+ } from "./chunk.LM5TVNZY.js";
57
+
58
+ // dist/build/lib/staging/src/app-bar/profile-button/app-bar-profile-button-constants.ts
59
+ var elementName = `${COMPONENT_NAME_PREFIX}app-bar-profile-button`;
60
+ var attributes = {
61
+ FULL_NAME: "full-name",
62
+ EMAIL: "email",
63
+ AVATAR_IMAGE_URL: "avatar-image-url",
64
+ AVATAR_LETTER_COUNT: "avatar-letter-count",
65
+ AVATAR_TEXT: "avatar-text",
66
+ SIGN_OUT_BUTTON: "sign-out-button",
67
+ PROFILE_BUTTON: "profile-button",
68
+ OPEN: "open"
69
+ };
70
+ var selectors = {
71
+ BUTTON: "button"
72
+ };
73
+ var APP_BAR_PROFILE_BUTTON_CONSTANTS = {
74
+ elementName,
75
+ attributes,
76
+ selectors
77
+ };
78
+
79
+ // dist/build/lib/staging/src/app-bar/profile-button/app-bar-profile-button-adapter.ts
80
+ var AppBarProfileButtonAdapter = class extends BaseAdapter {
81
+ constructor(component) {
82
+ super(component);
83
+ }
84
+ initialize() {
85
+ this._avatarElement = getLightElement(this._component, AVATAR_CONSTANTS.elementName);
86
+ this._buttonElement = getLightElement(this._component, APP_BAR_PROFILE_BUTTON_CONSTANTS.selectors.BUTTON);
87
+ }
88
+ setClickListener(listener) {
89
+ this._component.addEventListener("click", listener);
90
+ }
91
+ removeClickListener(listener) {
92
+ this._component.removeEventListener("click", listener);
93
+ }
94
+ openPopup(profileCardConfig, dismissListener, profileListener, signOutListener, profileCardContent) {
95
+ const profileCardElement = document.createElement(PROFILE_CARD_CONSTANTS.elementName);
96
+ profileCardElement.fullName = profileCardConfig.fullName;
97
+ profileCardElement.email = profileCardConfig.email;
98
+ profileCardElement.signOut = profileCardConfig.signOut;
99
+ profileCardElement.profile = profileCardConfig.profile;
100
+ profileCardElement.avatarText = profileCardConfig.avatarText;
101
+ profileCardElement.avatarImageUrl = profileCardConfig.avatarImageUrl;
102
+ profileCardElement.avatarLetterCount = profileCardConfig.avatarLetterCount;
103
+ profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.PROFILE, () => profileListener());
104
+ profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.SIGN_OUT, () => signOutListener());
105
+ if (profileCardContent) {
106
+ profileCardElement.appendChild(profileCardContent);
107
+ }
108
+ this._popupElement = document.createElement(POPUP_CONSTANTS.elementName);
109
+ this._popupElement.targetElement = this._component;
110
+ this._popupElement.placement = "bottom-end";
111
+ this._popupElement.animationType = "menu" /* Menu */;
112
+ this._popupElement.appendChild(profileCardElement);
113
+ this._popupElement.open = true;
114
+ return notChildEventListener(this._popupElement, (activeElement) => {
115
+ if (!this._popupElement) {
116
+ return;
117
+ }
118
+ if (!this._component.contains(getActiveElement())) {
119
+ dismissListener();
120
+ }
121
+ }, true);
122
+ }
123
+ closePopup() {
124
+ if (this._popupElement) {
125
+ this._popupElement.open = false;
126
+ }
127
+ }
128
+ requestFocus() {
129
+ this._buttonElement.focus();
130
+ }
131
+ setAvatarText(value) {
132
+ this._avatarElement.text = value;
133
+ }
134
+ setAvatarLetterCount(value) {
135
+ this._avatarElement.letterCount = value;
136
+ }
137
+ setAvatarImageUrl(value) {
138
+ this._avatarElement.imageUrl = value;
139
+ }
140
+ };
141
+
142
+ // dist/build/lib/staging/src/app-bar/profile-button/app-bar-profile-button-foundation.ts
143
+ var AppBarProfileButtonFoundation = class {
144
+ constructor(_adapter) {
145
+ this._adapter = _adapter;
146
+ this._avatarLetterCount = AVATAR_CONSTANTS.numbers.DEFAULT_LETTER_COUNT;
147
+ this._showSignOutButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_SIGN_OUT_BUTTON;
148
+ this._showProfileButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_PROFILE_BUTTON;
149
+ this._open = false;
150
+ this._isInitialized = false;
151
+ this._clickListener = (evt) => this._onClick(evt);
152
+ this._dismissListener = () => this._onDimiss();
153
+ this._keydownListener = (evt) => this._onKeydown(evt);
154
+ this._profileButtonListener = () => this._onProfileButtonClick();
155
+ this._signOutButtonListener = () => this._onSignOutButtonClick();
156
+ }
157
+ initialize() {
158
+ this._adapter.initialize();
159
+ this._adapter.setClickListener(this._clickListener);
160
+ this._adapter.setAvatarImageUrl(this._avatarImageUrl);
161
+ this._adapter.setAvatarLetterCount(this._avatarLetterCount);
162
+ this._adapter.setAvatarText(this._avatarText);
163
+ this._isInitialized = true;
164
+ }
165
+ disconnect() {
166
+ if (this._open) {
167
+ this._closeDropdown();
168
+ }
169
+ this._adapter.removeWindowListener("keydown", this._keydownListener);
170
+ this._adapter.removeClickListener(this._clickListener);
171
+ this._isInitialized = false;
172
+ }
173
+ _onClick(evt) {
174
+ if (!this._open) {
175
+ this._openDropdown();
176
+ } else {
177
+ this._closeDropdown();
178
+ }
179
+ }
180
+ _onKeydown(evt) {
181
+ if (evt.key === "Escape" || evt.keyCode === 27) {
182
+ this._closeDropdown();
183
+ this._adapter.requestFocus();
184
+ }
185
+ }
186
+ _onDimiss() {
187
+ if (Platform.WEBKIT) {
188
+ window.requestAnimationFrame(() => this._closeDropdown());
189
+ } else {
190
+ this._closeDropdown();
191
+ }
192
+ }
193
+ _onProfileButtonClick() {
194
+ this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.PROFILE);
195
+ this._closeDropdown();
196
+ this._adapter.requestFocus();
197
+ }
198
+ _onSignOutButtonClick() {
199
+ this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.SIGN_OUT);
200
+ this._closeDropdown();
201
+ this._adapter.requestFocus();
202
+ }
203
+ _openDropdown() {
204
+ if (this._open) {
205
+ return;
206
+ }
207
+ if (isFunction(this._cancelDismissListener)) {
208
+ this._cancelDismissListener();
209
+ }
210
+ const profileCardConfig = {
211
+ fullName: this._fullName,
212
+ email: this._email,
213
+ signOut: this._showSignOutButton,
214
+ profile: this._showProfileButton,
215
+ avatarText: this._avatarText,
216
+ avatarImageUrl: this._avatarImageUrl,
217
+ avatarLetterCount: this._avatarLetterCount
218
+ };
219
+ const profileCardContent = this._profileCardBuilder ? this._profileCardBuilder() : void 0;
220
+ this._cancelDismissListener = this._adapter.openPopup(profileCardConfig, this._dismissListener, this._profileButtonListener, this._signOutButtonListener, profileCardContent);
221
+ this._adapter.addWindowListener("keydown", this._keydownListener);
222
+ this._open = true;
223
+ if (!profileCardConfig.signOut && !profileCardConfig.profile) {
224
+ this._adapter.requestFocus();
225
+ }
226
+ }
227
+ _closeDropdown() {
228
+ if (!this._open) {
229
+ return;
230
+ }
231
+ if (isFunction(this._cancelDismissListener)) {
232
+ this._cancelDismissListener();
233
+ }
234
+ this._open = false;
235
+ this._adapter.removeWindowListener("keydown", this._keydownListener);
236
+ this._adapter.closePopup();
237
+ }
238
+ get fullName() {
239
+ return this._fullName;
240
+ }
241
+ set fullName(value) {
242
+ if (this._fullName !== value) {
243
+ this._fullName = value;
244
+ this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME, this._fullName);
245
+ }
246
+ }
247
+ get email() {
248
+ return this._email;
249
+ }
250
+ set email(value) {
251
+ if (this._email !== value) {
252
+ this._email = value;
253
+ this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL, this._email);
254
+ }
255
+ }
256
+ get avatarImageUrl() {
257
+ return this._avatarImageUrl;
258
+ }
259
+ set avatarImageUrl(value) {
260
+ if (this._avatarImageUrl !== value) {
261
+ this._avatarImageUrl = value;
262
+ if (this._isInitialized) {
263
+ this._adapter.setAvatarImageUrl(this._avatarImageUrl);
264
+ this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL, this._avatarImageUrl);
265
+ }
266
+ }
267
+ }
268
+ get avatarLetterCount() {
269
+ return this._avatarLetterCount;
270
+ }
271
+ set avatarLetterCount(value) {
272
+ if (this._avatarLetterCount !== value) {
273
+ this._avatarLetterCount = value;
274
+ if (this._isInitialized) {
275
+ this._adapter.setAvatarLetterCount(this._avatarLetterCount);
276
+ this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT, this._avatarLetterCount);
277
+ }
278
+ }
279
+ }
280
+ get avatarText() {
281
+ return this._avatarText;
282
+ }
283
+ set avatarText(value) {
284
+ if (this._avatarText !== value) {
285
+ this._avatarText = value;
286
+ if (this._isInitialized) {
287
+ this._adapter.setAvatarText(this._avatarText);
288
+ this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT, this._avatarText);
289
+ }
290
+ }
291
+ }
292
+ get signOutButton() {
293
+ return this._showSignOutButton;
294
+ }
295
+ set signOutButton(value) {
296
+ if (this._showSignOutButton !== value) {
297
+ this._showSignOutButton = value;
298
+ this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON, this._showSignOutButton);
299
+ }
300
+ }
301
+ get profileButton() {
302
+ return this._showProfileButton;
303
+ }
304
+ set profileButton(value) {
305
+ if (this._showProfileButton !== value) {
306
+ this._showProfileButton = value;
307
+ this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON, this._showProfileButton);
308
+ }
309
+ }
310
+ get open() {
311
+ return this._open;
312
+ }
313
+ set open(value) {
314
+ if (this._open !== value) {
315
+ if (value) {
316
+ this._openDropdown();
317
+ } else {
318
+ this._closeDropdown();
319
+ }
320
+ }
321
+ }
322
+ get profileCardBuilder() {
323
+ return this._profileCardBuilder;
324
+ }
325
+ set profileCardBuilder(fn) {
326
+ this._profileCardBuilder = fn;
327
+ }
328
+ };
329
+
330
+ // dist/build/lib/staging/src/app-bar/profile-button/app-bar-profile-button.ts
331
+ var template = '<template><forge-icon-button><button type="button" aria-label="View profile card"><forge-avatar aria-hidden="true"></forge-avatar></button><forge-tooltip delay="500" position="bottom">View profile</forge-tooltip></forge-icon-button></template>';
332
+ var AppBarProfileButtonComponent = class extends BaseComponent {
333
+ constructor() {
334
+ super();
335
+ this._foundation = new AppBarProfileButtonFoundation(new AppBarProfileButtonAdapter(this));
336
+ }
337
+ static get observedAttributes() {
338
+ return [
339
+ APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME,
340
+ APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL,
341
+ APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL,
342
+ APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT,
343
+ APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT,
344
+ APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON,
345
+ APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON,
346
+ APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN
347
+ ];
348
+ }
349
+ initializedCallback() {
350
+ attachLightTemplate(this, template);
351
+ }
352
+ connectedCallback() {
353
+ this._foundation.initialize();
354
+ }
355
+ disconnectedCallback() {
356
+ this._foundation.disconnect();
357
+ }
358
+ attributeChangedCallback(name, oldValue, newValue) {
359
+ switch (name) {
360
+ case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME:
361
+ this.fullName = newValue;
362
+ break;
363
+ case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL:
364
+ this.email = newValue;
365
+ break;
366
+ case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL:
367
+ this.avatarImageUrl = newValue;
368
+ break;
369
+ case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT:
370
+ this.avatarLetterCount = coerceNumber(newValue);
371
+ break;
372
+ case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT:
373
+ this.avatarText = newValue;
374
+ break;
375
+ case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON:
376
+ this.signOutButton = coerceBoolean(newValue);
377
+ break;
378
+ case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON:
379
+ this.profileButton = coerceBoolean(newValue);
380
+ break;
381
+ case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN:
382
+ this.open = coerceBoolean(newValue);
383
+ break;
384
+ }
385
+ }
386
+ };
387
+ __decorateClass([
388
+ FoundationProperty()
389
+ ], AppBarProfileButtonComponent.prototype, "fullName", 2);
390
+ __decorateClass([
391
+ FoundationProperty()
392
+ ], AppBarProfileButtonComponent.prototype, "email", 2);
393
+ __decorateClass([
394
+ FoundationProperty()
395
+ ], AppBarProfileButtonComponent.prototype, "avatarImageUrl", 2);
396
+ __decorateClass([
397
+ FoundationProperty()
398
+ ], AppBarProfileButtonComponent.prototype, "avatarLetterCount", 2);
399
+ __decorateClass([
400
+ FoundationProperty()
401
+ ], AppBarProfileButtonComponent.prototype, "avatarText", 2);
402
+ __decorateClass([
403
+ FoundationProperty()
404
+ ], AppBarProfileButtonComponent.prototype, "signOutButton", 2);
405
+ __decorateClass([
406
+ FoundationProperty()
407
+ ], AppBarProfileButtonComponent.prototype, "profileButton", 2);
408
+ __decorateClass([
409
+ FoundationProperty()
410
+ ], AppBarProfileButtonComponent.prototype, "open", 2);
411
+ __decorateClass([
412
+ FoundationProperty()
413
+ ], AppBarProfileButtonComponent.prototype, "profileCardBuilder", 2);
414
+ AppBarProfileButtonComponent = __decorateClass([
415
+ CustomElement({
416
+ name: APP_BAR_PROFILE_BUTTON_CONSTANTS.elementName,
417
+ dependencies: [
418
+ PopupComponent,
419
+ ProfileCardComponent,
420
+ IconButtonComponent,
421
+ AvatarComponent,
422
+ TooltipComponent
423
+ ]
424
+ })
425
+ ], AppBarProfileButtonComponent);
426
+
427
+ // dist/build/lib/staging/src/app-bar/profile-button/index.ts
428
+ function defineAppBarProfileButtonComponent() {
429
+ defineCustomElement(AppBarProfileButtonComponent);
430
+ }
431
+
432
+ export {
433
+ APP_BAR_PROFILE_BUTTON_CONSTANTS,
434
+ AppBarProfileButtonAdapter,
435
+ AppBarProfileButtonFoundation,
436
+ AppBarProfileButtonComponent,
437
+ defineAppBarProfileButtonComponent
438
+ };
439
+ //# sourceMappingURL=chunk.FMMPWQKC.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/app-bar/profile-button/app-bar-profile-button-constants.ts", "../../src/app-bar/profile-button/app-bar-profile-button-adapter.ts", "../../src/app-bar/profile-button/app-bar-profile-button-foundation.ts", "../../src/app-bar/profile-button/app-bar-profile-button.ts", "../../src/app-bar/profile-button/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}app-bar-profile-button`;\n\nconst attributes = {\n FULL_NAME: 'full-name',\n EMAIL: 'email',\n AVATAR_IMAGE_URL: 'avatar-image-url',\n AVATAR_LETTER_COUNT: 'avatar-letter-count',\n AVATAR_TEXT: 'avatar-text',\n SIGN_OUT_BUTTON: 'sign-out-button',\n PROFILE_BUTTON: 'profile-button',\n OPEN: 'open'\n};\n\nconst selectors = {\n BUTTON: 'button'\n};\n\nexport const APP_BAR_PROFILE_BUTTON_CONSTANTS = {\n elementName,\n attributes,\n selectors\n};\n\nexport interface IAppBarProfileCardConfig {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\nexport type AppBarProfileButtonProfileCardBuilder = () => HTMLElement;\n", "import { getLightElement, notChildEventListener, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS, IAvatarComponent } from '../../avatar';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IPopupComponent, PopupAnimationType, PopupPlacement, POPUP_CONSTANTS } from '../../popup';\nimport { IProfileCardComponent, PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonComponent } from './app-bar-profile-button';\nimport { IAppBarProfileCardConfig, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonAdapter extends IBaseAdapter {\n initialize(): void;\n setClickListener(listener: (evt: MouseEvent) => void): void;\n removeClickListener(listener: (evt: MouseEvent) => void): void;\n openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void;\n closePopup(): void;\n requestFocus(): void;\n setAvatarText(value: string): void;\n setAvatarLetterCount(value: number): void;\n setAvatarImageUrl(value: string): void;\n}\n\nexport class AppBarProfileButtonAdapter extends BaseAdapter<IAppBarProfileButtonComponent> implements IAppBarProfileButtonAdapter {\n private _avatarElement: IAvatarComponent;\n private _popupElement: IPopupComponent;\n private _buttonElement: HTMLButtonElement;\n\n constructor(component: IAppBarProfileButtonComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._avatarElement = getLightElement(this._component, AVATAR_CONSTANTS.elementName) as IAvatarComponent;\n this._buttonElement = getLightElement(this._component, APP_BAR_PROFILE_BUTTON_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n }\n\n public setClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.removeEventListener('click', listener);\n }\n\n public openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void {\n const profileCardElement = document.createElement(PROFILE_CARD_CONSTANTS.elementName) as IProfileCardComponent;\n profileCardElement.fullName = profileCardConfig.fullName;\n profileCardElement.email = profileCardConfig.email;\n profileCardElement.signOut = profileCardConfig.signOut;\n profileCardElement.profile = profileCardConfig.profile;\n profileCardElement.avatarText = profileCardConfig.avatarText;\n profileCardElement.avatarImageUrl = profileCardConfig.avatarImageUrl;\n profileCardElement.avatarLetterCount = profileCardConfig.avatarLetterCount;\n profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.PROFILE, () => profileListener());\n profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.SIGN_OUT, () => signOutListener());\n if (profileCardContent) {\n profileCardElement.appendChild(profileCardContent);\n }\n\n this._popupElement = document.createElement(POPUP_CONSTANTS.elementName) as IPopupComponent;\n this._popupElement.targetElement = this._component;\n this._popupElement.placement = 'bottom-end';\n this._popupElement.animationType = PopupAnimationType.Menu;\n this._popupElement.appendChild(profileCardElement);\n this._popupElement.open = true;\n\n return notChildEventListener(this._popupElement, activeElement => {\n if (!this._popupElement) {\n return;\n }\n if (!this._component.contains(getActiveElement())) {\n dismissListener();\n }\n }, true);\n }\n\n public closePopup(): void {\n if (this._popupElement) {\n this._popupElement.open = false;\n }\n }\n\n public requestFocus(): void {\n this._buttonElement.focus();\n }\n\n public setAvatarText(value: string): void {\n this._avatarElement.text = value;\n }\n\n public setAvatarLetterCount(value: number): void {\n this._avatarElement.letterCount = value;\n }\n\n public setAvatarImageUrl(value: string): void {\n this._avatarElement.imageUrl = value;\n }\n}\n", "import { ICustomElementFoundation, isFunction, Platform, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS } from '../../avatar';\nimport { PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { IAppBarProfileCardConfig, AppBarProfileButtonProfileCardBuilder, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonFoundation extends ICustomElementFoundation {\n fullName: string;\n email: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n signOutButton: boolean;\n profileButton: boolean;\n open: boolean;\n profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n\nexport class AppBarProfileButtonFoundation implements IAppBarProfileButtonFoundation {\n private _fullName: string;\n private _email: string;\n private _avatarImageUrl: string;\n private _avatarLetterCount = AVATAR_CONSTANTS.numbers.DEFAULT_LETTER_COUNT;\n private _avatarText: string;\n private _showSignOutButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_SIGN_OUT_BUTTON;\n private _showProfileButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_PROFILE_BUTTON;\n private _profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n private _open = false;\n private _isInitialized = false;\n private _clickListener: (evt: MouseEvent) => void;\n private _dismissListener: () => void;\n private _cancelDismissListener: () => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _profileButtonListener: () => void;\n private _signOutButtonListener: () => void;\n\n constructor(private _adapter: IAppBarProfileButtonAdapter) {\n this._clickListener = evt => this._onClick(evt);\n this._dismissListener = () => this._onDimiss();\n this._keydownListener = evt => this._onKeydown(evt);\n this._profileButtonListener = () => this._onProfileButtonClick();\n this._signOutButtonListener = () => this._onSignOutButtonClick();\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.setClickListener(this._clickListener);\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setAvatarText(this._avatarText);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.removeClickListener(this._clickListener);\n this._isInitialized = false;\n }\n\n private _onClick(evt: MouseEvent): void {\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n if (evt.key === 'Escape' || evt.keyCode === 27) {\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n }\n\n private _onDimiss(): void {\n if (Platform.WEBKIT) {\n window.requestAnimationFrame(() => this._closeDropdown());\n } else {\n this._closeDropdown();\n }\n }\n\n private _onProfileButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.PROFILE);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _onSignOutButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.SIGN_OUT);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _openDropdown(): void {\n if (this._open) {\n return;\n }\n\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n const profileCardConfig: IAppBarProfileCardConfig = {\n fullName: this._fullName,\n email: this._email,\n signOut: this._showSignOutButton,\n profile: this._showProfileButton,\n avatarText: this._avatarText,\n avatarImageUrl: this._avatarImageUrl,\n avatarLetterCount: this._avatarLetterCount\n };\n const profileCardContent = this._profileCardBuilder ? this._profileCardBuilder() : undefined;\n this._cancelDismissListener = this._adapter.openPopup(profileCardConfig, this._dismissListener, this._profileButtonListener, this._signOutButtonListener, profileCardContent);\n this._adapter.addWindowListener('keydown', this._keydownListener);\n this._open = true;\n\n // If we aren't showing the sign out or profile buttons then leave focus on our button\n if (!profileCardConfig.signOut && !profileCardConfig.profile) {\n this._adapter.requestFocus();\n }\n }\n\n private _closeDropdown(): void {\n if (!this._open) {\n return;\n }\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n this._open = false;\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.closePopup();\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.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME, 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.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL, this._email);\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 if (this._isInitialized) {\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL, this._avatarImageUrl);\n }\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 if (this._isInitialized) {\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT, this._avatarLetterCount as any);\n }\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 if (this._isInitialized) {\n this._adapter.setAvatarText(this._avatarText);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT, this._avatarText);\n }\n }\n }\n\n public get signOutButton(): boolean {\n return this._showSignOutButton;\n }\n public set signOutButton(value: boolean) {\n if (this._showSignOutButton !== value) {\n this._showSignOutButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON, this._showSignOutButton as any);\n }\n }\n\n public get profileButton(): boolean {\n return this._showProfileButton;\n }\n public set profileButton(value: boolean) {\n if (this._showProfileButton !== value) {\n this._showProfileButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON, this._showProfileButton as any);\n }\n }\n\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 public get profileCardBuilder(): AppBarProfileButtonProfileCardBuilder {\n return this._profileCardBuilder;\n }\n public set profileCardBuilder(fn: AppBarProfileButtonProfileCardBuilder) {\n this._profileCardBuilder = fn;\n }\n}\n", "import { CustomElement, attachLightTemplate, coerceNumber, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { AppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { AppBarProfileButtonFoundation } from './app-bar-profile-button-foundation';\nimport { APP_BAR_PROFILE_BUTTON_CONSTANTS, AppBarProfileButtonProfileCardBuilder } from './app-bar-profile-button-constants';\nimport { ProfileCardComponent } from '../../profile-card';\nimport { IconButtonComponent } from '../../icon-button';\nimport { AvatarComponent } from '../../avatar';\nimport { PopupComponent } from '../../popup';\nimport { TooltipComponent } from '../../tooltip';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst template = '<template><forge-icon-button><button type=\\\"button\\\" aria-label=\\\"View profile card\\\"><forge-avatar aria-hidden=\\\"true\\\"></forge-avatar></button><forge-tooltip delay=\\\"500\\\" position=\\\"bottom\\\">View profile</forge-tooltip></forge-icon-button></template>';\n\nexport interface IAppBarProfileButtonComponent extends IBaseComponent {\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n fullName: string;\n email: string;\n signOutButton: boolean;\n profileButton: boolean;\n open: boolean;\n profileCardBuilder: (fn: AppBarProfileButtonProfileCardBuilder) => void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-app-bar-profile-button': IAppBarProfileButtonComponent;\n }\n}\n\n@CustomElement({\n name: APP_BAR_PROFILE_BUTTON_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ProfileCardComponent,\n IconButtonComponent,\n AvatarComponent,\n TooltipComponent\n ]\n})\nexport class AppBarProfileButtonComponent extends BaseComponent implements IAppBarProfileButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN\n ];\n }\n\n private _foundation: AppBarProfileButtonFoundation;\n\n constructor() {\n super();\n this._foundation = new AppBarProfileButtonFoundation(new AppBarProfileButtonAdapter(this));\n }\n\n public initializedCallback(): void {\n attachLightTemplate(this, template);\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME:\n this.fullName = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL:\n this.email = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL:\n this.avatarImageUrl = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT:\n this.avatarLetterCount = coerceNumber(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT:\n this.avatarText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON:\n this.signOutButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON:\n this.profileButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public fullName: string;\n\n @FoundationProperty()\n public email: string;\n\n @FoundationProperty()\n public avatarImageUrl: string;\n\n @FoundationProperty()\n public avatarLetterCount: number;\n\n @FoundationProperty()\n public avatarText: string;\n\n @FoundationProperty()\n public signOutButton: boolean;\n\n @FoundationProperty()\n public profileButton: boolean;\n\n @FoundationProperty()\n public open: boolean;\n\n /** Sets the profile card builder callback that will be used to add extra content to the profile card. */\n @FoundationProperty()\n public profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AppBarProfileButtonComponent } from './app-bar-profile-button';\n\nexport * from './app-bar-profile-button-adapter';\nexport * from './app-bar-profile-button-constants';\nexport * from './app-bar-profile-button-foundation';\nexport * from './app-bar-profile-button';\n\nexport function defineAppBarProfileButtonComponent(): void {\n defineCustomElement(AppBarProfileButtonComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }