@tylertech/forge 3.0.0-next.13 → 3.0.0-next.14

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 (517) hide show
  1. package/custom-elements.json +27366 -24598
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/app-bar/index.js +7 -0
  4. package/dist/esm/app-bar/app-bar/index.js.map +7 -0
  5. package/dist/esm/app-bar/help-button/index.js +1 -1
  6. package/dist/esm/app-bar/index.js +1 -1
  7. package/dist/esm/app-bar/menu-button/index.js +1 -1
  8. package/dist/esm/app-bar/notification-button/index.js +1 -1
  9. package/dist/esm/app-bar/profile-button/index.js +1 -1
  10. package/dist/esm/app-bar/search/index.js +1 -1
  11. package/dist/esm/autocomplete/index.js +1 -1
  12. package/dist/esm/avatar/index.js +1 -1
  13. package/dist/esm/backdrop/index.js +1 -1
  14. package/dist/esm/badge/index.js +1 -1
  15. package/dist/esm/banner/index.js +1 -1
  16. package/dist/esm/bottom-sheet/index.js +1 -1
  17. package/dist/esm/busy-indicator/index.js +1 -1
  18. package/dist/esm/button/index.js +1 -1
  19. package/dist/esm/button-area/index.js +1 -1
  20. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  21. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  22. package/dist/esm/button-toggle/index.js +1 -1
  23. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  24. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  25. package/dist/esm/calendar/index.js +1 -1
  26. package/dist/esm/card/index.js +1 -1
  27. package/dist/esm/checkbox/index.js +1 -1
  28. package/dist/esm/chip-field/index.js +1 -1
  29. package/dist/esm/chips/chip/index.js +1 -1
  30. package/dist/esm/chips/chip-set/index.js +1 -1
  31. package/dist/esm/chips/index.js +1 -1
  32. package/dist/esm/chunks/{chunk.FLWNOP42.js → chunk.26E4L52W.js} +2 -2
  33. package/dist/esm/chunks/chunk.2GJ54C3Q.js +7 -0
  34. package/dist/esm/chunks/chunk.2GJ54C3Q.js.map +7 -0
  35. package/dist/esm/chunks/{chunk.ZRSDTCSD.js → chunk.2GYZM6ZG.js} +2 -2
  36. package/dist/esm/chunks/chunk.2YDKRTKP.js +7 -0
  37. package/dist/esm/chunks/chunk.2YDKRTKP.js.map +7 -0
  38. package/dist/esm/chunks/chunk.3JCHXLPT.js +7 -0
  39. package/dist/esm/chunks/{chunk.LUNKNRRH.js.map → chunk.3JCHXLPT.js.map} +3 -3
  40. package/dist/esm/chunks/chunk.3PKNBYMG.js +6 -0
  41. package/dist/esm/chunks/chunk.3PKNBYMG.js.map +7 -0
  42. package/dist/esm/chunks/chunk.3RMBFRGC.js +7 -0
  43. package/dist/esm/chunks/{chunk.DTLZOIUQ.js → chunk.3UO6S3IK.js} +2 -2
  44. package/dist/esm/chunks/chunk.3ZRQFXQU.js +7 -0
  45. package/dist/esm/chunks/{chunk.XNFS7YIB.js.map → chunk.3ZRQFXQU.js.map} +1 -1
  46. package/dist/esm/chunks/{chunk.MWYQRG5W.js → chunk.4B5IOZAT.js} +2 -2
  47. package/dist/esm/chunks/{chunk.IDMDBMBR.js → chunk.4QDN5PM6.js} +2 -2
  48. package/dist/esm/chunks/{chunk.Z5RROENA.js → chunk.543K5Y4E.js} +2 -2
  49. package/dist/esm/chunks/{chunk.W2LN45WY.js → chunk.57PXXJA6.js} +2 -2
  50. package/dist/esm/chunks/{chunk.675V42JS.js → chunk.5C24LZNU.js} +2 -2
  51. package/dist/esm/chunks/{chunk.V24M62MC.js → chunk.5H4G6BWX.js} +2 -2
  52. package/dist/esm/chunks/{chunk.QLCVRJ3Q.js → chunk.5VHUMZYS.js} +2 -2
  53. package/dist/esm/chunks/{chunk.OWZREAT6.js → chunk.6DXDNQUR.js} +2 -2
  54. package/dist/esm/chunks/{chunk.7VMJLHQY.js → chunk.6Q3SV2R2.js} +2 -2
  55. package/dist/esm/chunks/chunk.6Y45DLA6.js +7 -0
  56. package/dist/esm/chunks/chunk.6Y45DLA6.js.map +7 -0
  57. package/dist/esm/chunks/{chunk.IHAHJPMB.js → chunk.7ABZUBTT.js} +2 -2
  58. package/dist/esm/chunks/{chunk.Z5ZLKM7W.js → chunk.7BGOH44S.js} +2 -2
  59. package/dist/esm/chunks/{chunk.LOG6GQOK.js → chunk.7DHDFH5L.js} +2 -2
  60. package/dist/esm/chunks/{chunk.3R4BUIQP.js → chunk.7PP6QHOM.js} +2 -2
  61. package/dist/esm/chunks/{chunk.YBZK6LJZ.js → chunk.7UXLLUTN.js} +2 -2
  62. package/dist/esm/chunks/{chunk.5RM65QPN.js → chunk.7W2UWAZX.js} +2 -2
  63. package/dist/esm/chunks/chunk.A72W7RW7.js +7 -0
  64. package/dist/esm/chunks/{chunk.STB2FEUA.js.map → chunk.A72W7RW7.js.map} +2 -2
  65. package/dist/esm/chunks/{chunk.6NTYTHAL.js → chunk.AEJGC4YG.js} +2 -2
  66. package/dist/esm/chunks/{chunk.BTXY3XMJ.js → chunk.B46Q3AFP.js} +2 -2
  67. package/dist/esm/chunks/{chunk.QJCNMYD3.js → chunk.BFUGFHEH.js} +2 -2
  68. package/dist/esm/chunks/chunk.BLW6QESQ.js +12 -0
  69. package/dist/esm/chunks/chunk.BLW6QESQ.js.map +7 -0
  70. package/dist/esm/chunks/{chunk.2ZU6LWHE.js → chunk.BMQYEYCT.js} +2 -2
  71. package/dist/esm/chunks/{chunk.HOLCNJXC.js → chunk.C5IB44HX.js} +2 -2
  72. package/dist/esm/chunks/chunk.CNRFOWHY.js +7 -0
  73. package/dist/esm/chunks/{chunk.QQRPV4RN.js.map → chunk.CNRFOWHY.js.map} +2 -2
  74. package/dist/esm/chunks/{chunk.G73KL7P2.js → chunk.CTZ3AWDW.js} +2 -2
  75. package/dist/esm/chunks/{chunk.YA3RDJCV.js → chunk.CZOABXEQ.js} +2 -2
  76. package/dist/esm/chunks/{chunk.YA3RDJCV.js.map → chunk.CZOABXEQ.js.map} +2 -2
  77. package/dist/esm/chunks/{chunk.QLOYOZN3.js → chunk.DD35U4AA.js} +2 -2
  78. package/dist/esm/chunks/{chunk.XEFWZKHQ.js → chunk.DDXIHZFX.js} +2 -2
  79. package/dist/esm/chunks/{chunk.MKJCHUJH.js → chunk.DOEG3DWJ.js} +2 -2
  80. package/dist/esm/chunks/{chunk.2MSL7CYM.js → chunk.DTKFE7YB.js} +2 -2
  81. package/dist/esm/chunks/{chunk.FXIWCHLW.js → chunk.E3GVKR4E.js} +2 -2
  82. package/dist/esm/chunks/{chunk.FFHSUJFM.js → chunk.EBSBAFCX.js} +2 -2
  83. package/dist/esm/chunks/{chunk.RES7WDKH.js → chunk.F2EBSV5Z.js} +2 -2
  84. package/dist/esm/chunks/chunk.F6KM5FO6.js +7 -0
  85. package/dist/esm/chunks/{chunk.5WMYF27O.js.map → chunk.F6KM5FO6.js.map} +2 -2
  86. package/dist/esm/chunks/{chunk.BBCZNGT3.js → chunk.FB6ZLH6P.js} +2 -2
  87. package/dist/esm/chunks/{chunk.VFKHRAWD.js → chunk.FQSL747N.js} +2 -2
  88. package/dist/esm/chunks/{chunk.JVLJH6PR.js → chunk.G2BNY5QQ.js} +2 -2
  89. package/dist/esm/chunks/{chunk.URJQNB3S.js → chunk.GS72TBUD.js} +2 -2
  90. package/dist/esm/chunks/{chunk.5PG6WIIX.js → chunk.GT3VPSXY.js} +2 -2
  91. package/dist/esm/chunks/{chunk.IMLJD35R.js → chunk.GWJ4QCSW.js} +2 -2
  92. package/dist/esm/chunks/{chunk.IISWKFCX.js → chunk.H7GW57Q6.js} +2 -2
  93. package/dist/esm/chunks/{chunk.BB4UF5RX.js → chunk.HHHBS6FB.js} +2 -2
  94. package/dist/esm/chunks/{chunk.KPJWP77R.js → chunk.I3NHK2S3.js} +2 -2
  95. package/dist/esm/chunks/{chunk.5N4N6DL6.js → chunk.IEB5KRFQ.js} +2 -2
  96. package/dist/esm/chunks/chunk.IT66AOX7.js +7 -0
  97. package/dist/esm/chunks/chunk.IT66AOX7.js.map +7 -0
  98. package/dist/esm/chunks/{chunk.BQ2X5SBP.js → chunk.IVUK3W34.js} +2 -2
  99. package/dist/esm/chunks/{chunk.ZGRQDDHO.js → chunk.IW7HALLT.js} +2 -2
  100. package/dist/esm/chunks/chunk.J2KHTGSB.js +7 -0
  101. package/dist/esm/chunks/chunk.J2KHTGSB.js.map +7 -0
  102. package/dist/esm/chunks/{chunk.7ZROQ6D3.js → chunk.J3B5CWKT.js} +2 -2
  103. package/dist/esm/chunks/{chunk.TBGMJQYJ.js → chunk.JVK64JDZ.js} +2 -2
  104. package/dist/esm/chunks/chunk.KFDYMENL.js +7 -0
  105. package/dist/esm/chunks/chunk.KFDYMENL.js.map +7 -0
  106. package/dist/esm/chunks/{chunk.AUBOJZQ7.js → chunk.KLPF4CNX.js} +2 -2
  107. package/dist/esm/chunks/chunk.KTYYBWTN.js +7 -0
  108. package/dist/esm/chunks/{chunk.QN5T26HH.js.map → chunk.KTYYBWTN.js.map} +2 -2
  109. package/dist/esm/chunks/{chunk.IT7XPDAV.js → chunk.L4Y4RO5O.js} +2 -2
  110. package/dist/esm/chunks/{chunk.IAWYYNUU.js → chunk.LCNR2RPT.js} +2 -2
  111. package/dist/esm/chunks/{chunk.TU74SREL.js → chunk.LMIKNDBS.js} +2 -2
  112. package/dist/esm/chunks/{chunk.5A2PA7TL.js → chunk.LOBKFTRM.js} +2 -2
  113. package/dist/esm/chunks/chunk.LOBKFTRM.js.map +7 -0
  114. package/dist/esm/chunks/{chunk.HSI7B43D.js → chunk.LS7WRRT2.js} +2 -2
  115. package/dist/esm/chunks/{chunk.HSI7B43D.js.map → chunk.LS7WRRT2.js.map} +2 -2
  116. package/dist/esm/chunks/{chunk.VO6YJCEU.js → chunk.LSNAGIIH.js} +2 -2
  117. package/dist/esm/chunks/{chunk.ARQMMZJL.js → chunk.LXX3YZYS.js} +2 -2
  118. package/dist/esm/chunks/chunk.MZZJY5NX.js +7 -0
  119. package/dist/esm/chunks/chunk.MZZJY5NX.js.map +7 -0
  120. package/dist/esm/chunks/{chunk.AMLT6XJP.js → chunk.NG6UZ4OL.js} +2 -2
  121. package/dist/esm/chunks/{chunk.YKIBREM5.js → chunk.NYYXUH3X.js} +2 -2
  122. package/dist/esm/chunks/{chunk.HRRJIFC5.js → chunk.NZKIFXBU.js} +2 -2
  123. package/dist/esm/chunks/{chunk.YAERJVPL.js → chunk.OED5UCYT.js} +2 -2
  124. package/dist/esm/chunks/{chunk.72JVXGHF.js → chunk.OUACQISE.js} +2 -2
  125. package/dist/esm/chunks/{chunk.72JVXGHF.js.map → chunk.OUACQISE.js.map} +1 -1
  126. package/dist/esm/chunks/{chunk.RP674CRC.js → chunk.OYO5O3NF.js} +2 -2
  127. package/dist/esm/chunks/{chunk.LCR4YH3O.js → chunk.P7LC3YYW.js} +2 -2
  128. package/dist/esm/chunks/{chunk.KV5IKYG2.js → chunk.PK7R6WDF.js} +2 -2
  129. package/dist/esm/chunks/{chunk.PYR2OCCH.js → chunk.PQQVUUHU.js} +2 -2
  130. package/dist/esm/chunks/{chunk.SLJ6HDK7.js → chunk.PSTGTQVK.js} +2 -2
  131. package/dist/esm/chunks/chunk.Q5Z6F3PI.js +7 -0
  132. package/dist/esm/chunks/chunk.Q5Z6F3PI.js.map +7 -0
  133. package/dist/esm/chunks/{chunk.36C6SIPW.js → chunk.QFY23EWU.js} +2 -2
  134. package/dist/esm/chunks/{chunk.S5QL4SPT.js → chunk.RCSBJQ4G.js} +2 -2
  135. package/dist/esm/chunks/chunk.RDW7Z4W5.js +7 -0
  136. package/dist/esm/chunks/chunk.RDW7Z4W5.js.map +7 -0
  137. package/dist/esm/chunks/{chunk.FYVDTZLF.js → chunk.RYNQDXFA.js} +2 -2
  138. package/dist/esm/chunks/{chunk.HAKF2T2D.js → chunk.RZZBM3AW.js} +2 -2
  139. package/dist/esm/chunks/{chunk.3ZPSN2QG.js → chunk.SNF35Y6C.js} +2 -2
  140. package/dist/esm/chunks/chunk.SOLF23NC.js +7 -0
  141. package/dist/esm/chunks/chunk.SOLF23NC.js.map +7 -0
  142. package/dist/esm/chunks/{chunk.XYAZVLPR.js → chunk.T34DG7BU.js} +2 -2
  143. package/dist/esm/chunks/chunk.TA3MVDUU.js +7 -0
  144. package/dist/esm/chunks/chunk.TA3MVDUU.js.map +7 -0
  145. package/dist/esm/chunks/{chunk.3HCYRDRI.js → chunk.THWSN3X4.js} +2 -2
  146. package/dist/esm/chunks/chunk.TLFCQSJN.js +7 -0
  147. package/dist/esm/chunks/chunk.TLFCQSJN.js.map +7 -0
  148. package/dist/esm/chunks/{chunk.R6LQBI42.js → chunk.TZFUKJ24.js} +2 -2
  149. package/dist/esm/chunks/{chunk.SIRXAA3O.js → chunk.U5WMRBSC.js} +2 -2
  150. package/dist/esm/chunks/chunk.URCJO73M.js +7 -0
  151. package/dist/esm/chunks/{chunk.WY3E33CW.js.map → chunk.URCJO73M.js.map} +2 -2
  152. package/dist/esm/chunks/{chunk.GNDKQPDV.js → chunk.UWZWXNTW.js} +2 -2
  153. package/dist/esm/chunks/{chunk.KV67JXOC.js → chunk.VD5ZL5ZN.js} +2 -2
  154. package/dist/esm/chunks/{chunk.G7SMCLHQ.js → chunk.VDZ7HBKM.js} +2 -2
  155. package/dist/esm/chunks/{chunk.NUMKGUCK.js → chunk.W324TWF2.js} +2 -2
  156. package/dist/esm/chunks/chunk.WQGPIOL6.js +7 -0
  157. package/dist/esm/chunks/chunk.WQGPIOL6.js.map +7 -0
  158. package/dist/esm/chunks/chunk.XDANTL6C.js +7 -0
  159. package/dist/esm/chunks/chunk.XDANTL6C.js.map +7 -0
  160. package/dist/esm/chunks/chunk.XNCBGWE4.js +7 -0
  161. package/dist/esm/chunks/chunk.XNCBGWE4.js.map +7 -0
  162. package/dist/esm/chunks/{chunk.HDG2GHKC.js → chunk.YKZ25J6B.js} +2 -2
  163. package/dist/esm/chunks/{chunk.7V4BDSA5.js → chunk.Z2RB75TN.js} +2 -2
  164. package/dist/esm/chunks/chunk.Z7PBGV4K.js +7 -0
  165. package/dist/esm/chunks/{chunk.AMZZKEAE.js.map → chunk.Z7PBGV4K.js.map} +4 -4
  166. package/dist/esm/chunks/{chunk.O6V3YNMO.js → chunk.ZSD7MMVB.js} +2 -2
  167. package/dist/esm/chunks/chunk.ZVJMIBUM.js +7 -0
  168. package/dist/esm/chunks/chunk.ZVJMIBUM.js.map +7 -0
  169. package/dist/esm/circular-progress/index.js +1 -1
  170. package/dist/esm/color-picker/index.js +1 -1
  171. package/dist/esm/core/base/index.js +1 -1
  172. package/dist/esm/core/index.js +1 -1
  173. package/dist/esm/core/utils/index.js +1 -1
  174. package/dist/esm/date-picker/index.js +1 -1
  175. package/dist/esm/date-range-picker/index.js +1 -1
  176. package/dist/esm/dialog/index.js +1 -1
  177. package/dist/esm/divider/index.js +1 -1
  178. package/dist/esm/drawer/base/index.js +1 -1
  179. package/dist/esm/drawer/drawer/index.js +1 -1
  180. package/dist/esm/drawer/index.js +1 -1
  181. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  182. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  183. package/dist/esm/expansion-panel/index.js +1 -1
  184. package/dist/esm/file-picker/index.js +1 -1
  185. package/dist/esm/floating-action-button/index.js +1 -1
  186. package/dist/esm/focus-indicator/index.js +1 -1
  187. package/dist/esm/icon/index.js +1 -1
  188. package/dist/esm/icon-button/index.js +1 -1
  189. package/dist/esm/index.js +1 -1
  190. package/dist/esm/inline-message/index.js +1 -1
  191. package/dist/esm/keyboard-shortcut/index.js +1 -1
  192. package/dist/esm/label/index.js +1 -1
  193. package/dist/esm/label-value/index.js +1 -1
  194. package/dist/esm/linear-progress/index.js +1 -1
  195. package/dist/esm/list/index.js +1 -1
  196. package/dist/esm/list/list/index.js +1 -1
  197. package/dist/esm/list/list-item/index.js +1 -1
  198. package/dist/esm/list-dropdown/index.js +1 -1
  199. package/dist/esm/menu/index.js +1 -1
  200. package/dist/esm/open-icon/index.js +1 -1
  201. package/dist/esm/page-state/index.js +1 -1
  202. package/dist/esm/paginator/index.js +1 -1
  203. package/dist/esm/popup/index.js +1 -1
  204. package/dist/esm/product-icon/index.js +1 -1
  205. package/dist/esm/profile-card/index.js +1 -1
  206. package/dist/esm/quantity-field/index.js +1 -1
  207. package/dist/esm/radio/index.js +1 -1
  208. package/dist/esm/ripple/index.js +1 -1
  209. package/dist/esm/scaffold/index.js +1 -1
  210. package/dist/esm/select/core/index.js +1 -1
  211. package/dist/esm/select/index.js +1 -1
  212. package/dist/esm/select/option/index.js +1 -1
  213. package/dist/esm/select/option-group/index.js +1 -1
  214. package/dist/esm/select/select/index.js +1 -1
  215. package/dist/esm/select/select-dropdown/index.js +1 -1
  216. package/dist/esm/skeleton/index.js +1 -1
  217. package/dist/esm/slider/index.js +1 -1
  218. package/dist/esm/split-button/index.js +1 -1
  219. package/dist/esm/split-view/index.js +1 -1
  220. package/dist/esm/split-view/split-view/index.js +1 -1
  221. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  222. package/dist/esm/stack/index.js +1 -1
  223. package/dist/esm/state-layer/index.js +1 -1
  224. package/dist/esm/stepper/index.js +1 -1
  225. package/dist/esm/stepper/step/index.js +1 -1
  226. package/dist/esm/stepper/stepper/index.js +1 -1
  227. package/dist/esm/switch/index.js +1 -1
  228. package/dist/esm/table/index.js +1 -1
  229. package/dist/esm/tabs/index.js +1 -1
  230. package/dist/esm/tabs/tab/index.js +1 -1
  231. package/dist/esm/tabs/tab-bar/index.js +1 -1
  232. package/dist/esm/text-field/index.js +1 -1
  233. package/dist/esm/time-picker/index.js +1 -1
  234. package/dist/esm/toast/index.js +1 -1
  235. package/dist/esm/toolbar/index.js +1 -1
  236. package/dist/esm/tooltip/index.js +1 -1
  237. package/dist/esm/view-switcher/index.js +1 -1
  238. package/dist/esm/view-switcher/view/index.js +1 -1
  239. package/dist/forge-dark.css +1 -1
  240. package/dist/forge.css +1 -1
  241. package/dist/theme/forge-theme.css +1 -1
  242. package/esm/app-bar/app-bar/app-bar-adapter.d.ts +30 -0
  243. package/esm/app-bar/app-bar/app-bar-adapter.js +71 -0
  244. package/esm/app-bar/{app-bar-constants.d.ts → app-bar/app-bar-constants.d.ts} +7 -11
  245. package/esm/app-bar/app-bar/app-bar-constants.js +32 -0
  246. package/esm/app-bar/{app-bar-foundation.d.ts → app-bar/app-bar-foundation.d.ts} +17 -16
  247. package/esm/app-bar/app-bar/app-bar-foundation.js +71 -0
  248. package/esm/app-bar/app-bar/app-bar.d.ts +66 -0
  249. package/esm/app-bar/app-bar/app-bar.js +107 -0
  250. package/esm/app-bar/app-bar/index.d.ts +10 -0
  251. package/esm/app-bar/app-bar/index.js +14 -0
  252. package/esm/app-bar/help-button/app-bar-help-button-adapter.d.ts +8 -1
  253. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +22 -1
  254. package/esm/app-bar/help-button/app-bar-help-button-constants.d.ts +7 -0
  255. package/esm/app-bar/help-button/app-bar-help-button-constants.js +11 -1
  256. package/esm/app-bar/help-button/app-bar-help-button-foundation.d.ts +4 -0
  257. package/esm/app-bar/help-button/app-bar-help-button-foundation.js +16 -0
  258. package/esm/app-bar/help-button/app-bar-help-button.d.ts +13 -2
  259. package/esm/app-bar/help-button/app-bar-help-button.js +26 -5
  260. package/esm/app-bar/index.d.ts +0 -4
  261. package/esm/app-bar/index.js +0 -8
  262. package/esm/app-bar/menu-button/app-bar-menu-button-constants.d.ts +7 -0
  263. package/esm/app-bar/menu-button/app-bar-menu-button-constants.js +9 -1
  264. package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +19 -2
  265. package/esm/app-bar/menu-button/app-bar-menu-button.js +57 -8
  266. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +6 -2
  267. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +17 -1
  268. package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +1 -0
  269. package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +3 -1
  270. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +4 -4
  271. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +9 -11
  272. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +17 -4
  273. package/esm/app-bar/notification-button/app-bar-notification-button.js +20 -5
  274. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +7 -1
  275. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +26 -3
  276. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -3
  277. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +2 -4
  278. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +5 -2
  279. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +20 -22
  280. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +31 -2
  281. package/esm/app-bar/profile-button/app-bar-profile-button.js +33 -6
  282. package/esm/button/base/base-button-adapter.d.ts +4 -8
  283. package/esm/button/base/base-button-adapter.js +5 -17
  284. package/esm/button/base/base-button-constants.d.ts +3 -0
  285. package/esm/button/base/base-button-foundation.d.ts +6 -7
  286. package/esm/button/base/base-button-foundation.js +10 -4
  287. package/esm/button/base/base-button.d.ts +3 -1
  288. package/esm/button/base/base-button.js +6 -0
  289. package/esm/button/button.js +3 -5
  290. package/esm/checkbox/checkbox.js +1 -1
  291. package/esm/circular-progress/circular-progress-adapter.d.ts +2 -2
  292. package/esm/circular-progress/circular-progress-adapter.js +15 -6
  293. package/esm/circular-progress/circular-progress-constants.d.ts +1 -2
  294. package/esm/circular-progress/circular-progress-constants.js +1 -2
  295. package/esm/circular-progress/circular-progress-foundation.d.ts +0 -1
  296. package/esm/circular-progress/circular-progress-foundation.js +3 -5
  297. package/esm/circular-progress/circular-progress.d.ts +1 -2
  298. package/esm/circular-progress/circular-progress.js +6 -11
  299. package/esm/constants.d.ts +9 -0
  300. package/esm/core/base/base-adapter.js +1 -1
  301. package/esm/core/utils/utils.d.ts +1 -1
  302. package/esm/floating-action-button/floating-action-button-adapter.d.ts +20 -0
  303. package/esm/floating-action-button/floating-action-button-adapter.js +49 -0
  304. package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +19 -3
  305. package/esm/floating-action-button/floating-action-button-component-delegate.js +62 -14
  306. package/esm/floating-action-button/floating-action-button-constants.d.ts +19 -14
  307. package/esm/floating-action-button/floating-action-button-constants.js +15 -15
  308. package/esm/floating-action-button/floating-action-button-foundation.d.ts +27 -0
  309. package/esm/floating-action-button/floating-action-button-foundation.js +48 -0
  310. package/esm/floating-action-button/floating-action-button.d.ts +86 -25
  311. package/esm/floating-action-button/floating-action-button.js +117 -104
  312. package/esm/floating-action-button/index.d.ts +3 -1
  313. package/esm/floating-action-button/index.js +5 -3
  314. package/esm/focus-indicator/focus-indicator.js +2 -2
  315. package/esm/icon-button/icon-button-constants.d.ts +3 -3
  316. package/esm/icon-button/icon-button.d.ts +51 -0
  317. package/esm/icon-button/icon-button.js +54 -5
  318. package/esm/icon-button/index.d.ts +3 -1
  319. package/esm/icon-button/index.js +3 -1
  320. package/esm/index.js +2 -2
  321. package/esm/label/label-foundation.js +4 -2
  322. package/esm/linear-progress/linear-progress-adapter.d.ts +2 -2
  323. package/esm/linear-progress/linear-progress-adapter.js +14 -6
  324. package/esm/linear-progress/linear-progress-constants.d.ts +0 -1
  325. package/esm/linear-progress/linear-progress-constants.js +1 -2
  326. package/esm/linear-progress/linear-progress-foundation.d.ts +1 -1
  327. package/esm/linear-progress/linear-progress-foundation.js +2 -2
  328. package/esm/linear-progress/linear-progress.d.ts +1 -1
  329. package/esm/linear-progress/linear-progress.js +5 -7
  330. package/esm/list/list-item/list-item.js +2 -2
  331. package/esm/menu/menu-constants.js +1 -1
  332. package/esm/profile-card/profile-card-adapter.d.ts +5 -8
  333. package/esm/profile-card/profile-card-adapter.js +5 -16
  334. package/esm/profile-card/profile-card-constants.js +3 -3
  335. package/esm/profile-card/profile-card-foundation.d.ts +4 -1
  336. package/esm/profile-card/profile-card-foundation.js +24 -13
  337. package/esm/profile-card/profile-card.d.ts +1 -2
  338. package/esm/profile-card/profile-card.js +11 -8
  339. package/esm/slider/slider.js +1 -1
  340. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  341. package/esm/switch/switch.js +1 -1
  342. package/esm/tabs/tab/tab.js +1 -1
  343. package/esm/toolbar/toolbar.js +1 -1
  344. package/package.json +1 -2
  345. package/styles/app-bar/app-bar/_configuration.scss +16 -0
  346. package/styles/app-bar/app-bar/_core.scss +95 -0
  347. package/styles/app-bar/app-bar/_token-utils.scss +30 -0
  348. package/styles/app-bar/app-bar/app-bar.scss +142 -0
  349. package/styles/app-bar/app-bar/index.scss +8 -0
  350. package/styles/button/button.scss +18 -5
  351. package/styles/circular-progress/_core.scss +2 -0
  352. package/styles/circular-progress/circular-progress.scss +2 -2
  353. package/styles/core/styles/elevation/index.scss +10 -0
  354. package/styles/core/styles/spacing/index.scss +1 -1
  355. package/styles/core/styles/theme/index.scss +2 -0
  356. package/styles/core/styles/tokens/app-bar/app-bar/_tokens.scss +35 -0
  357. package/styles/core/styles/tokens/circular-progress/_tokens.scss +2 -1
  358. package/styles/core/styles/tokens/floating-action-button/_tokens.scss +66 -0
  359. package/styles/core/styles/tokens/icon-button/_tokens.scss +1 -1
  360. package/styles/core/styles/tokens/profile-card/_tokens.scss +19 -0
  361. package/styles/core/styles/tokens/shape/_tokens.scss +6 -0
  362. package/styles/core/styles/tokens/spacing/_tokens.scss +2 -0
  363. package/styles/core/styles/tokens/theme/_token-utils.scss +2 -2
  364. package/styles/core/styles/tokens/theme/_tokens.brand.scss +22 -0
  365. package/styles/core/styles/tokens/theme/_tokens.scss +3 -0
  366. package/styles/floating-action-button/_configuration.scss +16 -0
  367. package/styles/floating-action-button/_core.scss +103 -0
  368. package/styles/floating-action-button/_token-utils.scss +30 -0
  369. package/styles/floating-action-button/floating-action-button.scss +129 -0
  370. package/styles/floating-action-button/index.scss +8 -0
  371. package/styles/focus-indicator/focus-indicator.scss +11 -28
  372. package/styles/forge.scss +0 -1
  373. package/styles/icon-button/_core.scss +0 -4
  374. package/styles/icon-button/icon-button.scss +45 -11
  375. package/styles/list/list-item/list-item.scss +2 -0
  376. package/styles/profile-card/_configuration.scss +10 -0
  377. package/styles/profile-card/_core.scss +58 -0
  378. package/styles/profile-card/_token-utils.scss +30 -0
  379. package/styles/profile-card/index.scss +8 -0
  380. package/styles/profile-card/profile-card.scss +55 -6
  381. package/styles/theme/_theme-dark.scss +0 -3
  382. package/styles/toolbar/_mixins.scss +0 -1
  383. package/dist/esm/chunks/chunk.36F2GVWS.js +0 -7
  384. package/dist/esm/chunks/chunk.36F2GVWS.js.map +0 -7
  385. package/dist/esm/chunks/chunk.4SPEX2GJ.js +0 -7
  386. package/dist/esm/chunks/chunk.4SPEX2GJ.js.map +0 -7
  387. package/dist/esm/chunks/chunk.4YFJVHXN.js +0 -7
  388. package/dist/esm/chunks/chunk.4YFJVHXN.js.map +0 -7
  389. package/dist/esm/chunks/chunk.5A2PA7TL.js.map +0 -7
  390. package/dist/esm/chunks/chunk.5CSXPRL3.js +0 -7
  391. package/dist/esm/chunks/chunk.5CSXPRL3.js.map +0 -7
  392. package/dist/esm/chunks/chunk.5LVZVQXB.js +0 -7
  393. package/dist/esm/chunks/chunk.5LVZVQXB.js.map +0 -7
  394. package/dist/esm/chunks/chunk.5WMYF27O.js +0 -7
  395. package/dist/esm/chunks/chunk.6M27ERWW.js +0 -12
  396. package/dist/esm/chunks/chunk.6M27ERWW.js.map +0 -7
  397. package/dist/esm/chunks/chunk.6ZNBFKNP.js +0 -7
  398. package/dist/esm/chunks/chunk.6ZNBFKNP.js.map +0 -7
  399. package/dist/esm/chunks/chunk.AMZZKEAE.js +0 -7
  400. package/dist/esm/chunks/chunk.APPY5AYL.js +0 -7
  401. package/dist/esm/chunks/chunk.APPY5AYL.js.map +0 -7
  402. package/dist/esm/chunks/chunk.AUCBR6CC.js +0 -7
  403. package/dist/esm/chunks/chunk.AUCBR6CC.js.map +0 -7
  404. package/dist/esm/chunks/chunk.EJX6RI4I.js +0 -7
  405. package/dist/esm/chunks/chunk.EJX6RI4I.js.map +0 -7
  406. package/dist/esm/chunks/chunk.EWK76SPH.js +0 -7
  407. package/dist/esm/chunks/chunk.EWK76SPH.js.map +0 -7
  408. package/dist/esm/chunks/chunk.FAXYCG55.js +0 -7
  409. package/dist/esm/chunks/chunk.FAXYCG55.js.map +0 -7
  410. package/dist/esm/chunks/chunk.LUNKNRRH.js +0 -7
  411. package/dist/esm/chunks/chunk.PMYQY3D3.js +0 -7
  412. package/dist/esm/chunks/chunk.QN5T26HH.js +0 -7
  413. package/dist/esm/chunks/chunk.QQRPV4RN.js +0 -7
  414. package/dist/esm/chunks/chunk.STB2FEUA.js +0 -7
  415. package/dist/esm/chunks/chunk.WMVYRDUJ.js +0 -7
  416. package/dist/esm/chunks/chunk.WMVYRDUJ.js.map +0 -7
  417. package/dist/esm/chunks/chunk.WY3E33CW.js +0 -7
  418. package/dist/esm/chunks/chunk.XLL7L2UB.js +0 -7
  419. package/dist/esm/chunks/chunk.XLL7L2UB.js.map +0 -7
  420. package/dist/esm/chunks/chunk.XNFS7YIB.js +0 -7
  421. package/dist/esm/chunks/chunk.YWAUEUAH.js +0 -7
  422. package/dist/esm/chunks/chunk.YWAUEUAH.js.map +0 -7
  423. package/dist/esm/chunks/chunk.ZKM667OT.js +0 -7
  424. package/dist/esm/chunks/chunk.ZKM667OT.js.map +0 -7
  425. package/dist/floating-action-button/forge-floating-action-button.css +0 -6
  426. package/esm/app-bar/app-bar-adapter.d.ts +0 -43
  427. package/esm/app-bar/app-bar-adapter.js +0 -60
  428. package/esm/app-bar/app-bar-constants.js +0 -37
  429. package/esm/app-bar/app-bar-foundation.js +0 -70
  430. package/esm/app-bar/app-bar.d.ts +0 -38
  431. package/esm/app-bar/app-bar.js +0 -75
  432. package/styles/app-bar/_mixins.scss +0 -254
  433. package/styles/app-bar/_variables.scss +0 -34
  434. package/styles/app-bar/app-bar.scss +0 -22
  435. package/styles/floating-action-button/_extended-fab-theme.scss +0 -238
  436. package/styles/floating-action-button/_fab-custom-properties.scss +0 -29
  437. package/styles/floating-action-button/_fab-theme.scss +0 -541
  438. package/styles/floating-action-button/_fab.mixins.scss +0 -351
  439. package/styles/floating-action-button/forge-floating-action-button.scss +0 -16
  440. package/styles/profile-card/_mixins.scss +0 -83
  441. /package/dist/esm/chunks/{chunk.FLWNOP42.js.map → chunk.26E4L52W.js.map} +0 -0
  442. /package/dist/esm/chunks/{chunk.ZRSDTCSD.js.map → chunk.2GYZM6ZG.js.map} +0 -0
  443. /package/dist/esm/chunks/{chunk.PMYQY3D3.js.map → chunk.3RMBFRGC.js.map} +0 -0
  444. /package/dist/esm/chunks/{chunk.DTLZOIUQ.js.map → chunk.3UO6S3IK.js.map} +0 -0
  445. /package/dist/esm/chunks/{chunk.MWYQRG5W.js.map → chunk.4B5IOZAT.js.map} +0 -0
  446. /package/dist/esm/chunks/{chunk.IDMDBMBR.js.map → chunk.4QDN5PM6.js.map} +0 -0
  447. /package/dist/esm/chunks/{chunk.Z5RROENA.js.map → chunk.543K5Y4E.js.map} +0 -0
  448. /package/dist/esm/chunks/{chunk.W2LN45WY.js.map → chunk.57PXXJA6.js.map} +0 -0
  449. /package/dist/esm/chunks/{chunk.675V42JS.js.map → chunk.5C24LZNU.js.map} +0 -0
  450. /package/dist/esm/chunks/{chunk.V24M62MC.js.map → chunk.5H4G6BWX.js.map} +0 -0
  451. /package/dist/esm/chunks/{chunk.QLCVRJ3Q.js.map → chunk.5VHUMZYS.js.map} +0 -0
  452. /package/dist/esm/chunks/{chunk.OWZREAT6.js.map → chunk.6DXDNQUR.js.map} +0 -0
  453. /package/dist/esm/chunks/{chunk.7VMJLHQY.js.map → chunk.6Q3SV2R2.js.map} +0 -0
  454. /package/dist/esm/chunks/{chunk.IHAHJPMB.js.map → chunk.7ABZUBTT.js.map} +0 -0
  455. /package/dist/esm/chunks/{chunk.Z5ZLKM7W.js.map → chunk.7BGOH44S.js.map} +0 -0
  456. /package/dist/esm/chunks/{chunk.LOG6GQOK.js.map → chunk.7DHDFH5L.js.map} +0 -0
  457. /package/dist/esm/chunks/{chunk.3R4BUIQP.js.map → chunk.7PP6QHOM.js.map} +0 -0
  458. /package/dist/esm/chunks/{chunk.YBZK6LJZ.js.map → chunk.7UXLLUTN.js.map} +0 -0
  459. /package/dist/esm/chunks/{chunk.5RM65QPN.js.map → chunk.7W2UWAZX.js.map} +0 -0
  460. /package/dist/esm/chunks/{chunk.6NTYTHAL.js.map → chunk.AEJGC4YG.js.map} +0 -0
  461. /package/dist/esm/chunks/{chunk.BTXY3XMJ.js.map → chunk.B46Q3AFP.js.map} +0 -0
  462. /package/dist/esm/chunks/{chunk.QJCNMYD3.js.map → chunk.BFUGFHEH.js.map} +0 -0
  463. /package/dist/esm/chunks/{chunk.2ZU6LWHE.js.map → chunk.BMQYEYCT.js.map} +0 -0
  464. /package/dist/esm/chunks/{chunk.HOLCNJXC.js.map → chunk.C5IB44HX.js.map} +0 -0
  465. /package/dist/esm/chunks/{chunk.G73KL7P2.js.map → chunk.CTZ3AWDW.js.map} +0 -0
  466. /package/dist/esm/chunks/{chunk.QLOYOZN3.js.map → chunk.DD35U4AA.js.map} +0 -0
  467. /package/dist/esm/chunks/{chunk.XEFWZKHQ.js.map → chunk.DDXIHZFX.js.map} +0 -0
  468. /package/dist/esm/chunks/{chunk.MKJCHUJH.js.map → chunk.DOEG3DWJ.js.map} +0 -0
  469. /package/dist/esm/chunks/{chunk.2MSL7CYM.js.map → chunk.DTKFE7YB.js.map} +0 -0
  470. /package/dist/esm/chunks/{chunk.FXIWCHLW.js.map → chunk.E3GVKR4E.js.map} +0 -0
  471. /package/dist/esm/chunks/{chunk.FFHSUJFM.js.map → chunk.EBSBAFCX.js.map} +0 -0
  472. /package/dist/esm/chunks/{chunk.RES7WDKH.js.map → chunk.F2EBSV5Z.js.map} +0 -0
  473. /package/dist/esm/chunks/{chunk.BBCZNGT3.js.map → chunk.FB6ZLH6P.js.map} +0 -0
  474. /package/dist/esm/chunks/{chunk.VFKHRAWD.js.map → chunk.FQSL747N.js.map} +0 -0
  475. /package/dist/esm/chunks/{chunk.JVLJH6PR.js.map → chunk.G2BNY5QQ.js.map} +0 -0
  476. /package/dist/esm/chunks/{chunk.URJQNB3S.js.map → chunk.GS72TBUD.js.map} +0 -0
  477. /package/dist/esm/chunks/{chunk.5PG6WIIX.js.map → chunk.GT3VPSXY.js.map} +0 -0
  478. /package/dist/esm/chunks/{chunk.IMLJD35R.js.map → chunk.GWJ4QCSW.js.map} +0 -0
  479. /package/dist/esm/chunks/{chunk.IISWKFCX.js.map → chunk.H7GW57Q6.js.map} +0 -0
  480. /package/dist/esm/chunks/{chunk.BB4UF5RX.js.map → chunk.HHHBS6FB.js.map} +0 -0
  481. /package/dist/esm/chunks/{chunk.KPJWP77R.js.map → chunk.I3NHK2S3.js.map} +0 -0
  482. /package/dist/esm/chunks/{chunk.5N4N6DL6.js.map → chunk.IEB5KRFQ.js.map} +0 -0
  483. /package/dist/esm/chunks/{chunk.BQ2X5SBP.js.map → chunk.IVUK3W34.js.map} +0 -0
  484. /package/dist/esm/chunks/{chunk.ZGRQDDHO.js.map → chunk.IW7HALLT.js.map} +0 -0
  485. /package/dist/esm/chunks/{chunk.7ZROQ6D3.js.map → chunk.J3B5CWKT.js.map} +0 -0
  486. /package/dist/esm/chunks/{chunk.TBGMJQYJ.js.map → chunk.JVK64JDZ.js.map} +0 -0
  487. /package/dist/esm/chunks/{chunk.AUBOJZQ7.js.map → chunk.KLPF4CNX.js.map} +0 -0
  488. /package/dist/esm/chunks/{chunk.IT7XPDAV.js.map → chunk.L4Y4RO5O.js.map} +0 -0
  489. /package/dist/esm/chunks/{chunk.IAWYYNUU.js.map → chunk.LCNR2RPT.js.map} +0 -0
  490. /package/dist/esm/chunks/{chunk.TU74SREL.js.map → chunk.LMIKNDBS.js.map} +0 -0
  491. /package/dist/esm/chunks/{chunk.VO6YJCEU.js.map → chunk.LSNAGIIH.js.map} +0 -0
  492. /package/dist/esm/chunks/{chunk.ARQMMZJL.js.map → chunk.LXX3YZYS.js.map} +0 -0
  493. /package/dist/esm/chunks/{chunk.AMLT6XJP.js.map → chunk.NG6UZ4OL.js.map} +0 -0
  494. /package/dist/esm/chunks/{chunk.YKIBREM5.js.map → chunk.NYYXUH3X.js.map} +0 -0
  495. /package/dist/esm/chunks/{chunk.HRRJIFC5.js.map → chunk.NZKIFXBU.js.map} +0 -0
  496. /package/dist/esm/chunks/{chunk.YAERJVPL.js.map → chunk.OED5UCYT.js.map} +0 -0
  497. /package/dist/esm/chunks/{chunk.RP674CRC.js.map → chunk.OYO5O3NF.js.map} +0 -0
  498. /package/dist/esm/chunks/{chunk.LCR4YH3O.js.map → chunk.P7LC3YYW.js.map} +0 -0
  499. /package/dist/esm/chunks/{chunk.KV5IKYG2.js.map → chunk.PK7R6WDF.js.map} +0 -0
  500. /package/dist/esm/chunks/{chunk.PYR2OCCH.js.map → chunk.PQQVUUHU.js.map} +0 -0
  501. /package/dist/esm/chunks/{chunk.SLJ6HDK7.js.map → chunk.PSTGTQVK.js.map} +0 -0
  502. /package/dist/esm/chunks/{chunk.36C6SIPW.js.map → chunk.QFY23EWU.js.map} +0 -0
  503. /package/dist/esm/chunks/{chunk.S5QL4SPT.js.map → chunk.RCSBJQ4G.js.map} +0 -0
  504. /package/dist/esm/chunks/{chunk.FYVDTZLF.js.map → chunk.RYNQDXFA.js.map} +0 -0
  505. /package/dist/esm/chunks/{chunk.HAKF2T2D.js.map → chunk.RZZBM3AW.js.map} +0 -0
  506. /package/dist/esm/chunks/{chunk.3ZPSN2QG.js.map → chunk.SNF35Y6C.js.map} +0 -0
  507. /package/dist/esm/chunks/{chunk.XYAZVLPR.js.map → chunk.T34DG7BU.js.map} +0 -0
  508. /package/dist/esm/chunks/{chunk.3HCYRDRI.js.map → chunk.THWSN3X4.js.map} +0 -0
  509. /package/dist/esm/chunks/{chunk.R6LQBI42.js.map → chunk.TZFUKJ24.js.map} +0 -0
  510. /package/dist/esm/chunks/{chunk.SIRXAA3O.js.map → chunk.U5WMRBSC.js.map} +0 -0
  511. /package/dist/esm/chunks/{chunk.GNDKQPDV.js.map → chunk.UWZWXNTW.js.map} +0 -0
  512. /package/dist/esm/chunks/{chunk.KV67JXOC.js.map → chunk.VD5ZL5ZN.js.map} +0 -0
  513. /package/dist/esm/chunks/{chunk.G7SMCLHQ.js.map → chunk.VDZ7HBKM.js.map} +0 -0
  514. /package/dist/esm/chunks/{chunk.NUMKGUCK.js.map → chunk.W324TWF2.js.map} +0 -0
  515. /package/dist/esm/chunks/{chunk.HDG2GHKC.js.map → chunk.YKZ25J6B.js.map} +0 -0
  516. /package/dist/esm/chunks/{chunk.7V4BDSA5.js.map → chunk.Z2RB75TN.js.map} +0 -0
  517. /package/dist/esm/chunks/{chunk.O6V3YNMO.js.map → chunk.ZSD7MMVB.js.map} +0 -0
@@ -3,11 +3,6 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { defineCustomElement } from '@tylertech/forge-core';
7
- import { AppBarComponent } from './app-bar';
8
- export * from './app-bar-adapter';
9
- export * from './app-bar-constants';
10
- export * from './app-bar-foundation';
11
6
  export * from './app-bar';
12
7
  export * from './search';
13
8
  export * from './menu-button';
@@ -15,6 +10,3 @@ export * from './notification-button';
15
10
  export * from './help-button';
16
11
  export * from '../profile-card';
17
12
  export * from './profile-button';
18
- export function defineAppBarComponent() {
19
- defineCustomElement(AppBarComponent);
20
- }
@@ -5,4 +5,11 @@
5
5
  */
6
6
  export declare const APP_BAR_MENU_BUTTON_CONSTANTS: {
7
7
  elementName: "forge-app-bar-menu-button";
8
+ observedAttributes: {
9
+ ICON: string;
10
+ };
11
+ attributes: {
12
+ ICON: string;
13
+ };
14
+ forwardedAttributes: string[];
8
15
  };
@@ -5,6 +5,14 @@
5
5
  */
6
6
  import { COMPONENT_NAME_PREFIX } from '../../constants';
7
7
  const elementName = `${COMPONENT_NAME_PREFIX}app-bar-menu-button`;
8
+ const observedAttributes = {
9
+ ICON: 'icon'
10
+ };
11
+ const attributes = Object.assign({}, observedAttributes);
12
+ const forwardedAttributes = ['aria-label', 'aria-labelledby'];
8
13
  export const APP_BAR_MENU_BUTTON_CONSTANTS = {
9
- elementName
14
+ elementName,
15
+ observedAttributes,
16
+ attributes,
17
+ forwardedAttributes
10
18
  };
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { BaseComponent, IBaseComponent } from '../../core/base/base-component';
7
7
  export interface IAppBarMenuButtonComponent extends IBaseComponent {
8
+ icon: string;
8
9
  }
9
10
  declare global {
10
11
  interface HTMLElementTagNameMap {
@@ -12,11 +13,27 @@ declare global {
12
13
  }
13
14
  }
14
15
  /**
15
- * The web component class behind the `<forge-app-bar-menu-button>` custom element.
16
- *
17
16
  * @tag forge-app-bar-menu-button
17
+ *
18
+ * @description A utility component with predefined icon and descriptions for use in an app bar `start` slot.
19
+ *
20
+ * @property {string} icon - The name of an alternative icon to display.
21
+ *
22
+ * @attribute {string} [icon] - The name of an alternative icon to display.
23
+ * @attribute {string} [aria-label] - The aria-label to apply to the button.
24
+ * @attribute {string} [aria-labelledby] - The id of an element to use as the aria-labelledby attribute.
18
25
  */
19
26
  export declare class AppBarMenuButtonComponent extends BaseComponent implements IAppBarMenuButtonComponent {
27
+ static get observedAttributes(): string[];
28
+ private _iconButtonElement;
29
+ private _iconElement;
30
+ private _forwardObserver?;
31
+ private _iconName;
20
32
  constructor();
21
33
  initializedCallback(): void;
34
+ connectedCallback(): void;
35
+ disconnectedCallback(): void;
36
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
37
+ get icon(): string;
38
+ set icon(value: string);
22
39
  }
@@ -4,35 +4,84 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { __decorate } from "tslib";
7
- import { CustomElement, attachLightTemplate } from '@tylertech/forge-core';
7
+ import { CustomElement, attachLightTemplate, toggleAttribute, getLightElement } from '@tylertech/forge-core';
8
8
  import { APP_BAR_MENU_BUTTON_CONSTANTS } from './app-bar-menu-button-constants';
9
- import { IconButtonComponent } from '../../icon-button';
9
+ import { IconButtonComponent, ICON_BUTTON_CONSTANTS } from '../../icon-button';
10
10
  import { TooltipComponent } from '../../tooltip';
11
- import { IconComponent, IconRegistry } from '../../icon';
11
+ import { IconRegistry, ICON_CONSTANTS } from '../../icon';
12
12
  import { tylIconMenu } from '@tylertech/tyler-icons/standard';
13
13
  import { BaseComponent } from '../../core/base/base-component';
14
- const template = '<template><forge-icon-button style=\"width: 48px; height: 48px; display: flex; justify-content: center; align-items: center;\" aria-label=\"Toggle navigation menu\"><forge-icon name=\"menu\"></forge-icon></forge-icon-button><forge-tooltip delay=\"500\" position=\"bottom\">Menu</forge-tooltip></template>';
14
+ import { forwardAttributes } from '../../core/utils/reflect-utils';
15
+ const template = '<template><forge-icon-button aria-label=\"Toggle menu\"><forge-icon name=\"menu\"></forge-icon></forge-icon-button><forge-tooltip delay=\"500\" position=\"bottom\">Menu</forge-tooltip></template>';
15
16
  /**
16
- * The web component class behind the `<forge-app-bar-menu-button>` custom element.
17
- *
18
17
  * @tag forge-app-bar-menu-button
18
+ *
19
+ * @description A utility component with predefined icon and descriptions for use in an app bar `start` slot.
20
+ *
21
+ * @property {string} icon - The name of an alternative icon to display.
22
+ *
23
+ * @attribute {string} [icon] - The name of an alternative icon to display.
24
+ * @attribute {string} [aria-label] - The aria-label to apply to the button.
25
+ * @attribute {string} [aria-labelledby] - The id of an element to use as the aria-labelledby attribute.
19
26
  */
20
27
  let AppBarMenuButtonComponent = class AppBarMenuButtonComponent extends BaseComponent {
28
+ static get observedAttributes() {
29
+ return Object.values(APP_BAR_MENU_BUTTON_CONSTANTS.observedAttributes);
30
+ }
31
+ ;
21
32
  constructor() {
22
33
  super();
34
+ this._iconName = tylIconMenu.name;
23
35
  IconRegistry.define(tylIconMenu);
24
36
  }
25
37
  initializedCallback() {
26
38
  attachLightTemplate(this, template);
27
39
  }
40
+ connectedCallback() {
41
+ this._iconButtonElement = getLightElement(this, ICON_BUTTON_CONSTANTS.elementName);
42
+ this._iconElement = this._iconButtonElement.querySelector(ICON_CONSTANTS.elementName);
43
+ if (this._iconElement.name !== this._iconName) {
44
+ this._iconElement.name = this._iconName;
45
+ }
46
+ const originalAriaLabel = this._iconButtonElement.getAttribute('aria-label');
47
+ this._forwardObserver = forwardAttributes(this, APP_BAR_MENU_BUTTON_CONSTANTS.forwardedAttributes, (name, value) => {
48
+ if (name === 'aria-label' && !value) {
49
+ value = originalAriaLabel;
50
+ }
51
+ toggleAttribute(this._iconButtonElement, !!value, name, value !== null && value !== void 0 ? value : undefined);
52
+ });
53
+ }
54
+ disconnectedCallback() {
55
+ var _a;
56
+ (_a = this._forwardObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
57
+ this._forwardObserver = undefined;
58
+ }
59
+ attributeChangedCallback(name, oldValue, newValue) {
60
+ switch (name) {
61
+ case APP_BAR_MENU_BUTTON_CONSTANTS.attributes.ICON:
62
+ this.icon = newValue;
63
+ break;
64
+ }
65
+ }
66
+ get icon() {
67
+ return this._iconName;
68
+ }
69
+ set icon(value) {
70
+ if (this._iconName !== value) {
71
+ this._iconName = value !== null && value !== void 0 ? value : tylIconMenu.name;
72
+ if (this._iconElement) {
73
+ this._iconElement.name = this._iconName;
74
+ }
75
+ this.setAttribute(APP_BAR_MENU_BUTTON_CONSTANTS.attributes.ICON, this._iconName);
76
+ }
77
+ }
28
78
  };
29
79
  AppBarMenuButtonComponent = __decorate([
30
80
  CustomElement({
31
81
  name: APP_BAR_MENU_BUTTON_CONSTANTS.elementName,
32
82
  dependencies: [
33
83
  IconButtonComponent,
34
- TooltipComponent,
35
- IconComponent
84
+ TooltipComponent
36
85
  ]
37
86
  })
38
87
  ], AppBarMenuButtonComponent);
@@ -7,19 +7,23 @@ import { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';
7
7
  import { IAppBarNotificationButtonComponent } from './app-bar-notification-button';
8
8
  export interface IAppBarNotificationButtonAdapter extends IBaseAdapter {
9
9
  initialize(): void;
10
+ destroy(): void;
10
11
  setIcon(icon: string): void;
11
- setCount(value: number): void;
12
+ setCount(value: number | string): void;
12
13
  setBadgeType(dot: boolean): void;
13
14
  setBadgeTheme(theme: string): void;
14
15
  setBadgeVisible(isVisible: boolean): void;
15
16
  }
16
17
  export declare class AppBarNotificationButtonAdapter extends BaseAdapter<IAppBarNotificationButtonComponent> implements IAppBarNotificationButtonAdapter {
18
+ private _iconButtonElement;
17
19
  private _badgeElement;
18
20
  private _iconElement;
21
+ private _forwardObserver?;
19
22
  constructor(component: IAppBarNotificationButtonComponent);
20
23
  setIcon(icon: string): void;
21
24
  initialize(): void;
22
- setCount(value: number): void;
25
+ destroy(): void;
26
+ setCount(value: number | string): void;
23
27
  setBadgeType(dot: boolean): void;
24
28
  setBadgeTheme(theme: string): void;
25
29
  setBadgeVisible(isVisible: boolean): void;
@@ -7,6 +7,9 @@ import { getLightElement, toggleAttribute } from '@tylertech/forge-core';
7
7
  import { BADGE_CONSTANTS } from '../../badge';
8
8
  import { BaseAdapter } from '../../core/base/base-adapter';
9
9
  import { ICON_CONSTANTS } from '../../icon';
10
+ import { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';
11
+ import { forwardAttributes } from '../../core/utils/reflect-utils';
12
+ import { ICON_BUTTON_CONSTANTS } from '../../icon-button/icon-button-constants';
10
13
  export class AppBarNotificationButtonAdapter extends BaseAdapter {
11
14
  constructor(component) {
12
15
  super(component);
@@ -15,11 +18,24 @@ export class AppBarNotificationButtonAdapter extends BaseAdapter {
15
18
  this._iconElement.name = icon;
16
19
  }
17
20
  initialize() {
21
+ this._iconButtonElement = getLightElement(this._component, ICON_BUTTON_CONSTANTS.elementName);
18
22
  this._badgeElement = getLightElement(this._component, BADGE_CONSTANTS.elementName);
19
23
  this._iconElement = getLightElement(this._component, ICON_CONSTANTS.elementName);
24
+ const originalAriaLabel = this._iconButtonElement.getAttribute('aria-label');
25
+ this._forwardObserver = forwardAttributes(this._component, APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.forwardedAttributes, (name, value) => {
26
+ if (name === 'aria-label' && !value) {
27
+ value = originalAriaLabel;
28
+ }
29
+ toggleAttribute(this._iconButtonElement, !!value, name, value !== null && value !== void 0 ? value : undefined);
30
+ });
31
+ }
32
+ destroy() {
33
+ var _a;
34
+ (_a = this._forwardObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
35
+ this._forwardObserver = undefined;
20
36
  }
21
37
  setCount(value) {
22
- this._badgeElement.textContent = value;
38
+ this._badgeElement.textContent = String(value);
23
39
  }
24
40
  setBadgeType(dot) {
25
41
  this._badgeElement.dot = dot;
@@ -12,4 +12,5 @@ export declare const APP_BAR_NOTIFICATION_BUTTON_CONSTANTS: {
12
12
  SHOW_BADGE: string;
13
13
  ICON: string;
14
14
  };
15
+ forwardedAttributes: string[];
15
16
  };
@@ -12,7 +12,9 @@ const attributes = {
12
12
  SHOW_BADGE: 'show-badge',
13
13
  ICON: 'icon'
14
14
  };
15
+ const forwardedAttributes = ['aria-label', 'aria-labelledby'];
15
16
  export const APP_BAR_NOTIFICATION_BUTTON_CONSTANTS = {
16
17
  elementName,
17
- attributes
18
+ attributes,
19
+ forwardedAttributes
18
20
  };
@@ -6,7 +6,7 @@
6
6
  import { ICustomElementFoundation } from '@tylertech/forge-core';
7
7
  import { IAppBarNotificationButtonAdapter } from './app-bar-notification-button-adapter';
8
8
  export interface IAppBarNotificationButtonFoundation extends ICustomElementFoundation {
9
- count: number;
9
+ count: number | string;
10
10
  dot: boolean;
11
11
  theme: string;
12
12
  showBadge: boolean;
@@ -22,11 +22,11 @@ export declare class AppBarNotificationButtonFoundation implements IAppBarNotifi
22
22
  private _icon;
23
23
  constructor(_adapter: IAppBarNotificationButtonAdapter);
24
24
  initialize(): void;
25
- disconnect(): void;
25
+ destroy(): void;
26
26
  get icon(): string;
27
27
  set icon(value: string);
28
- get count(): number;
29
- set count(value: number);
28
+ get count(): number | string;
29
+ set count(value: number | string);
30
30
  get dot(): boolean;
31
31
  set dot(value: boolean);
32
32
  get theme(): string;
@@ -7,7 +7,7 @@ import { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-bu
7
7
  export class AppBarNotificationButtonFoundation {
8
8
  constructor(_adapter) {
9
9
  this._adapter = _adapter;
10
- this._count = 0;
10
+ this._count = '0';
11
11
  this._dot = false;
12
12
  this._showBadge = false;
13
13
  this._isInitialized = false;
@@ -22,7 +22,8 @@ export class AppBarNotificationButtonFoundation {
22
22
  this._adapter.setIcon(this._icon);
23
23
  this._isInitialized = true;
24
24
  }
25
- disconnect() {
25
+ destroy() {
26
+ this._adapter.destroy();
26
27
  this._isInitialized = false;
27
28
  }
28
29
  get icon() {
@@ -33,8 +34,8 @@ export class AppBarNotificationButtonFoundation {
33
34
  this._icon = value;
34
35
  if (this._isInitialized) {
35
36
  this._adapter.setIcon(this._icon);
36
- this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.ICON, this._icon);
37
37
  }
38
+ this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.ICON, this._icon);
38
39
  }
39
40
  }
40
41
  get count() {
@@ -45,25 +46,21 @@ export class AppBarNotificationButtonFoundation {
45
46
  this._count = value;
46
47
  if (this._isInitialized) {
47
48
  this._adapter.setCount(this._count);
48
- this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT, this._count);
49
49
  }
50
+ this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT, this._count);
50
51
  }
51
52
  }
52
53
  get dot() {
53
54
  return this._dot;
54
55
  }
55
56
  set dot(value) {
57
+ value = Boolean(value);
56
58
  if (this._dot !== value) {
57
59
  this._dot = value;
58
60
  if (this._isInitialized) {
59
61
  this._adapter.setBadgeType(this._dot);
60
- if (this._dot) {
61
- this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT);
62
- }
63
- else {
64
- this._adapter.removeHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT);
65
- }
66
62
  }
63
+ this._adapter.toggleHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT, this._dot);
67
64
  }
68
65
  }
69
66
  get theme() {
@@ -82,12 +79,13 @@ export class AppBarNotificationButtonFoundation {
82
79
  return this._showBadge;
83
80
  }
84
81
  set showBadge(value) {
82
+ value = Boolean(value);
85
83
  if (this._showBadge !== value) {
86
84
  this._showBadge = value;
87
85
  if (this._isInitialized) {
88
86
  this._adapter.setBadgeVisible(this._showBadge);
89
- this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE, this._showBadge);
90
87
  }
88
+ this._adapter.toggleHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE, this._showBadge);
91
89
  }
92
90
  }
93
91
  }
@@ -10,16 +10,28 @@ declare global {
10
10
  }
11
11
  }
12
12
  export interface IAppBarNotificationButtonComponent extends IBaseComponent {
13
- count: number;
13
+ count: number | string;
14
14
  dot: boolean;
15
15
  showBadge: boolean;
16
16
  theme: string;
17
17
  icon: string;
18
18
  }
19
19
  /**
20
- * The web component class behind the `<forge-app-bar-notification-button>` custom element.
21
- *
22
20
  * @tag forge-app-bar-notification-button
21
+ *
22
+ * @property {number | string} count - The number to display in the badge.
23
+ * @property {boolean} dot - Whether to display the dot variant of the badge or not.
24
+ * @property {boolean} showBadge - Whether to display the badge or not.
25
+ * @property {string} theme - The theme to apply to the badge.
26
+ * @property {string} icon - The name of an alternative icon to display.
27
+ *
28
+ * @attribute {string} [count] - The number to display in the badge.
29
+ * @attribute {boolean} [dot] - Whether to display the dot variant of the badge or not.
30
+ * @attribute {boolean} [show-badge] - Whether to display the badge or not.
31
+ * @attribute {string} [theme] - The theme to apply to the badge.
32
+ * @attribute {string} [icon] - The name of an alternative icon to display.
33
+ * @attribute {string} [aria-label] - The aria-label to apply to the button.
34
+ * @attribute {string} [aria-labelledby] - The id of an element to use as the aria-labelledby attribute.
23
35
  */
24
36
  export declare class AppBarNotificationButtonComponent extends BaseComponent implements IAppBarNotificationButtonComponent {
25
37
  static get observedAttributes(): string[];
@@ -27,8 +39,9 @@ export declare class AppBarNotificationButtonComponent extends BaseComponent imp
27
39
  constructor();
28
40
  initializedCallback(): void;
29
41
  connectedCallback(): void;
42
+ disconnectedCallback(): void;
30
43
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
31
- count: number;
44
+ count: number | string;
32
45
  dot: boolean;
33
46
  theme: string;
34
47
  icon: string;
@@ -4,7 +4,7 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { __decorate } from "tslib";
7
- import { attachLightTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';
7
+ import { attachLightTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';
8
8
  import { tylIconNotifications } from '@tylertech/tyler-icons/standard';
9
9
  import { BadgeComponent } from '../../badge';
10
10
  import { BaseComponent } from '../../core/base/base-component';
@@ -14,11 +14,23 @@ import { TooltipComponent } from '../../tooltip';
14
14
  import { AppBarNotificationButtonAdapter } from './app-bar-notification-button-adapter';
15
15
  import { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';
16
16
  import { AppBarNotificationButtonFoundation } from './app-bar-notification-button-foundation';
17
- const template = '<template><forge-icon-button class=\"forge-icon-button--with-badge\" aria-label=\"Show notifications\"><forge-icon></forge-icon><forge-badge positioned app-bar-context></forge-badge></forge-icon-button><forge-tooltip delay=\"500\" position=\"bottom\">Notifications</forge-tooltip></template>';
17
+ const template = '<template><forge-icon-button aria-label=\"Show notifications\"><forge-icon></forge-icon><forge-badge slot=\"badge\"></forge-badge></forge-icon-button><forge-tooltip delay=\"500\" position=\"bottom\">Notifications</forge-tooltip></template>';
18
18
  /**
19
- * The web component class behind the `<forge-app-bar-notification-button>` custom element.
20
- *
21
19
  * @tag forge-app-bar-notification-button
20
+ *
21
+ * @property {number | string} count - The number to display in the badge.
22
+ * @property {boolean} dot - Whether to display the dot variant of the badge or not.
23
+ * @property {boolean} showBadge - Whether to display the badge or not.
24
+ * @property {string} theme - The theme to apply to the badge.
25
+ * @property {string} icon - The name of an alternative icon to display.
26
+ *
27
+ * @attribute {string} [count] - The number to display in the badge.
28
+ * @attribute {boolean} [dot] - Whether to display the dot variant of the badge or not.
29
+ * @attribute {boolean} [show-badge] - Whether to display the badge or not.
30
+ * @attribute {string} [theme] - The theme to apply to the badge.
31
+ * @attribute {string} [icon] - The name of an alternative icon to display.
32
+ * @attribute {string} [aria-label] - The aria-label to apply to the button.
33
+ * @attribute {string} [aria-labelledby] - The id of an element to use as the aria-labelledby attribute.
22
34
  */
23
35
  let AppBarNotificationButtonComponent = class AppBarNotificationButtonComponent extends BaseComponent {
24
36
  static get observedAttributes() {
@@ -41,10 +53,13 @@ let AppBarNotificationButtonComponent = class AppBarNotificationButtonComponent
41
53
  connectedCallback() {
42
54
  this._foundation.initialize();
43
55
  }
56
+ disconnectedCallback() {
57
+ this._foundation.destroy();
58
+ }
44
59
  attributeChangedCallback(name, oldValue, newValue) {
45
60
  switch (name) {
46
61
  case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT:
47
- this.count = coerceNumber(newValue);
62
+ this.count = newValue;
48
63
  break;
49
64
  case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT:
50
65
  this.dot = coerceBoolean(newValue);
@@ -4,10 +4,13 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';
7
+ import { IPopupComponent } from '../../popup';
7
8
  import { IAppBarProfileButtonComponent } from './app-bar-profile-button';
8
9
  import { IAppBarProfileCardConfig } from './app-bar-profile-button-constants';
9
10
  export interface IAppBarProfileButtonAdapter extends IBaseAdapter {
11
+ popupElement: IPopupComponent | undefined;
10
12
  initialize(): void;
13
+ destroy(): void;
11
14
  setClickListener(listener: (evt: MouseEvent) => void): void;
12
15
  removeClickListener(listener: (evt: MouseEvent) => void): void;
13
16
  openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void;
@@ -22,11 +25,14 @@ export interface IAppBarProfileButtonAdapter extends IBaseAdapter {
22
25
  }
23
26
  export declare class AppBarProfileButtonAdapter extends BaseAdapter<IAppBarProfileButtonComponent> implements IAppBarProfileButtonAdapter {
24
27
  private _avatarElement;
25
- private _buttonElement;
28
+ private _iconButtonElement;
26
29
  private _popupElement?;
27
30
  private _profileCardElement?;
31
+ private _forwardObserver?;
28
32
  constructor(component: IAppBarProfileButtonComponent);
33
+ get popupElement(): IPopupComponent | undefined;
29
34
  initialize(): void;
35
+ destroy(): void;
30
36
  setClickListener(listener: (evt: MouseEvent) => void): void;
31
37
  removeClickListener(listener: (evt: MouseEvent) => void): void;
32
38
  openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void;
@@ -3,20 +3,42 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { getLightElement, notChildEventListener, getActiveElement, removeAllChildren } from '@tylertech/forge-core';
6
+ import { getLightElement, notChildEventListener, getActiveElement, removeAllChildren, toggleAttribute } from '@tylertech/forge-core';
7
7
  import { IconComponentDelegate } from '../../icon';
8
8
  import { AVATAR_CONSTANTS } from '../../avatar';
9
9
  import { BaseAdapter } from '../../core/base/base-adapter';
10
10
  import { PopupAnimationType, POPUP_CONSTANTS } from '../../popup';
11
11
  import { PROFILE_CARD_CONSTANTS } from '../../profile-card';
12
12
  import { APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';
13
+ import { ICON_BUTTON_CONSTANTS } from '../../icon-button';
14
+ import { forwardAttributes } from '../../core/utils/reflect-utils';
13
15
  export class AppBarProfileButtonAdapter extends BaseAdapter {
14
16
  constructor(component) {
15
17
  super(component);
16
18
  }
19
+ get popupElement() {
20
+ return this._popupElement;
21
+ }
17
22
  initialize() {
18
23
  this._avatarElement = getLightElement(this._component, AVATAR_CONSTANTS.elementName);
19
- this._buttonElement = getLightElement(this._component, APP_BAR_PROFILE_BUTTON_CONSTANTS.selectors.BUTTON);
24
+ this._iconButtonElement = getLightElement(this._component, ICON_BUTTON_CONSTANTS.elementName);
25
+ const originalAriaLabel = this._iconButtonElement.getAttribute('aria-label');
26
+ this._forwardObserver = forwardAttributes(this._component, APP_BAR_PROFILE_BUTTON_CONSTANTS.forwardedAttributes, (name, value) => {
27
+ if (name === 'aria-label' && !value) {
28
+ value = originalAriaLabel;
29
+ }
30
+ toggleAttribute(this._iconButtonElement, !!value, name, value !== null && value !== void 0 ? value : undefined);
31
+ });
32
+ }
33
+ destroy() {
34
+ var _a;
35
+ (_a = this._forwardObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
36
+ this._forwardObserver = undefined;
37
+ if (this._popupElement) {
38
+ this._popupElement.remove();
39
+ this._popupElement = undefined;
40
+ this._profileCardElement = undefined;
41
+ }
20
42
  }
21
43
  setClickListener(listener) {
22
44
  this._component.addEventListener('click', listener);
@@ -47,6 +69,7 @@ export class AppBarProfileButtonAdapter extends BaseAdapter {
47
69
  this._popupElement.animationType = PopupAnimationType.Menu;
48
70
  this._popupElement.appendChild(this._profileCardElement);
49
71
  this._popupElement.open = true;
72
+ this._profileCardElement.focus();
50
73
  return notChildEventListener(this._popupElement, activeElement => {
51
74
  if (!this._popupElement) {
52
75
  return;
@@ -64,7 +87,7 @@ export class AppBarProfileButtonAdapter extends BaseAdapter {
64
87
  }
65
88
  }
66
89
  requestFocus() {
67
- this._buttonElement.focus();
90
+ this._iconButtonElement.focus();
68
91
  }
69
92
  setAvatarText(value) {
70
93
  this._avatarElement.text = value;
@@ -18,9 +18,7 @@ export declare const APP_BAR_PROFILE_BUTTON_CONSTANTS: {
18
18
  PROFILE_BUTTON_TEXT: string;
19
19
  OPEN: string;
20
20
  };
21
- selectors: {
22
- BUTTON: string;
23
- };
21
+ forwardedAttributes: string[];
24
22
  };
25
23
  export interface IAppBarProfileCardConfig {
26
24
  fullName: string;
@@ -18,11 +18,9 @@ const attributes = {
18
18
  PROFILE_BUTTON_TEXT: 'profile-button-text',
19
19
  OPEN: 'open'
20
20
  };
21
- const selectors = {
22
- BUTTON: 'forge-icon-button'
23
- };
21
+ const forwardedAttributes = ['aria-label', 'aria-labelledby'];
24
22
  export const APP_BAR_PROFILE_BUTTON_CONSTANTS = {
25
23
  elementName,
26
24
  attributes,
27
- selectors
25
+ forwardedAttributes
28
26
  };
@@ -4,6 +4,7 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { ICustomElementFoundation } from '@tylertech/forge-core';
7
+ import { IPopupComponent } from '../../popup';
7
8
  import { IAppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';
8
9
  import { AppBarProfileButtonProfileCardBuilder } from './app-bar-profile-button-constants';
9
10
  export interface IAppBarProfileButtonFoundation extends ICustomElementFoundation {
@@ -18,6 +19,7 @@ export interface IAppBarProfileButtonFoundation extends ICustomElementFoundation
18
19
  signOutButtonText: string;
19
20
  profileButtonText: string;
20
21
  open: boolean;
22
+ popupElement: IPopupComponent | undefined;
21
23
  profileCardBuilder: AppBarProfileButtonProfileCardBuilder;
22
24
  }
23
25
  export declare class AppBarProfileButtonFoundation implements IAppBarProfileButtonFoundation {
@@ -43,10 +45,10 @@ export declare class AppBarProfileButtonFoundation implements IAppBarProfileButt
43
45
  private _signOutButtonListener;
44
46
  constructor(_adapter: IAppBarProfileButtonAdapter);
45
47
  initialize(): void;
46
- disconnect(): void;
48
+ destroy(): void;
47
49
  private _onClick;
48
50
  private _onKeydown;
49
- private _onDimiss;
51
+ private _onDismiss;
50
52
  private _onProfileButtonClick;
51
53
  private _onSignOutButtonClick;
52
54
  private _openDropdown;
@@ -73,6 +75,7 @@ export declare class AppBarProfileButtonFoundation implements IAppBarProfileButt
73
75
  set profileButtonText(value: string);
74
76
  get open(): boolean;
75
77
  set open(value: boolean);
78
+ get popupElement(): IPopupComponent | undefined;
76
79
  get profileCardBuilder(): AppBarProfileButtonProfileCardBuilder;
77
80
  set profileCardBuilder(fn: AppBarProfileButtonProfileCardBuilder);
78
81
  }