@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
@@ -9,25 +9,21 @@ export declare const APP_BAR_CONSTANTS: {
9
9
  selectors: {
10
10
  ROOT: string;
11
11
  TITLE: string;
12
- BOTTOM: string;
13
- BOTTOM_SLOT: string;
12
+ LOGO_TITLE_CONTAINER: string;
14
13
  CENTER_SLOT: string;
15
14
  CENTER_SECTION: string;
16
- FIXED: string;
17
- RAISED: string;
18
15
  };
19
16
  attributes: {
20
17
  TITLE_TEXT: string;
21
- FIXED: string;
22
- RAISED: string;
18
+ ELEVATION: string;
23
19
  THEME: string;
20
+ HREF: string;
21
+ TARGET: string;
24
22
  };
25
23
  classes: {
26
- DENSE: string;
27
- FIXED: string;
28
- RAISED: string;
29
- ROW: string;
30
- TITLE_INTERACTABLE: string;
31
24
  NO_CENTER: string;
25
+ LOGO_TITLE_CONTAINER: string;
32
26
  };
33
27
  };
28
+ export type AppBarElevation = 'none' | 'raised';
29
+ export type AppBarTheme = 'white' | '';
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { COMPONENT_NAME_PREFIX } from '../../constants';
7
+ export const elementName = `${COMPONENT_NAME_PREFIX}app-bar`;
8
+ const observedAttributes = {
9
+ TITLE_TEXT: 'title-text',
10
+ ELEVATION: 'elevation',
11
+ THEME: 'theme',
12
+ HREF: 'href',
13
+ TARGET: 'target'
14
+ };
15
+ const attributes = Object.assign({}, observedAttributes);
16
+ const classes = {
17
+ NO_CENTER: 'no-center',
18
+ LOGO_TITLE_CONTAINER: 'logo-title-container'
19
+ };
20
+ const selectors = {
21
+ ROOT: '.forge-app-bar',
22
+ TITLE: '.title',
23
+ LOGO_TITLE_CONTAINER: '.logo-title-container',
24
+ CENTER_SLOT: 'slot[name=center]',
25
+ CENTER_SECTION: '#center-section'
26
+ };
27
+ export const APP_BAR_CONSTANTS = {
28
+ elementName,
29
+ selectors,
30
+ attributes,
31
+ classes
32
+ };
@@ -5,31 +5,32 @@
5
5
  */
6
6
  import { ICustomElementFoundation } from '@tylertech/forge-core';
7
7
  import { IAppBarAdapter } from './app-bar-adapter';
8
+ import { AppBarElevation, AppBarTheme } from './app-bar-constants';
8
9
  export interface IAppBarFoundation extends ICustomElementFoundation {
9
10
  titleText: string;
10
- fixed: boolean;
11
- raised: boolean;
11
+ elevation: AppBarElevation;
12
+ theme: string;
13
+ href: string;
14
+ target: string;
12
15
  }
13
- /**
14
- * Provides facilities and helper methods for creating an app-bar component.
15
- */
16
16
  export declare class AppBarFoundation implements IAppBarFoundation {
17
17
  private _adapter;
18
18
  private _titleText;
19
- private _fixed;
20
- private _raised;
21
- private _bottomSlotListener;
19
+ private _elevation;
20
+ private _theme;
21
+ private _href;
22
+ private _target;
22
23
  private _centerSlotListener;
23
24
  constructor(_adapter: IAppBarAdapter);
24
25
  initialize(): void;
25
- private _onBottomSlotChanged;
26
- private _onCenterSlotChanged;
27
- /** Gets/sets the title text. */
28
26
  get titleText(): string;
29
27
  set titleText(value: string);
30
- /** Gets/sets the fixed state. */
31
- get fixed(): boolean;
32
- set fixed(value: boolean);
33
- get raised(): boolean;
34
- set raised(value: boolean);
28
+ get elevation(): AppBarElevation;
29
+ set elevation(value: AppBarElevation);
30
+ get theme(): AppBarTheme;
31
+ set theme(value: AppBarTheme);
32
+ get href(): string;
33
+ set href(value: string);
34
+ get target(): string;
35
+ set target(value: string);
35
36
  }
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { APP_BAR_CONSTANTS } from './app-bar-constants';
7
+ export class AppBarFoundation {
8
+ constructor(_adapter) {
9
+ this._adapter = _adapter;
10
+ this._titleText = '';
11
+ this._elevation = 'raised';
12
+ this._href = '';
13
+ this._target = '';
14
+ this._centerSlotListener = (_evt) => this._adapter.setCenterSlotVisibility();
15
+ }
16
+ initialize() {
17
+ this._adapter.initialize();
18
+ this._adapter.addCenterSlotListener(this._centerSlotListener);
19
+ this._adapter.setCenterSlotVisibility();
20
+ }
21
+ get titleText() {
22
+ return this._titleText;
23
+ }
24
+ set titleText(value) {
25
+ if (this._titleText !== value) {
26
+ this._titleText = value !== null && value !== void 0 ? value : '';
27
+ this._adapter.setTitleText(this._titleText);
28
+ this._adapter.setHostAttribute(APP_BAR_CONSTANTS.attributes.TITLE_TEXT, value);
29
+ }
30
+ }
31
+ get elevation() {
32
+ return this._elevation;
33
+ }
34
+ set elevation(value) {
35
+ if (this._elevation !== value) {
36
+ this._elevation = value;
37
+ this._adapter.setHostAttribute(APP_BAR_CONSTANTS.attributes.ELEVATION, value);
38
+ }
39
+ }
40
+ get theme() {
41
+ return this._theme;
42
+ }
43
+ set theme(value) {
44
+ if (this._theme !== value) {
45
+ this._theme = value !== null && value !== void 0 ? value : '';
46
+ this._adapter.toggleHostAttribute(APP_BAR_CONSTANTS.attributes.THEME, !!this._theme, this._theme);
47
+ }
48
+ }
49
+ get href() {
50
+ var _a;
51
+ return (_a = this._href) !== null && _a !== void 0 ? _a : '';
52
+ }
53
+ set href(value) {
54
+ if (this._href !== value) {
55
+ this._href = (value === null || value === void 0 ? void 0 : value.trim().length) ? value.trim() : '';
56
+ this._adapter.setHref(this._href);
57
+ this._adapter.toggleHostAttribute(APP_BAR_CONSTANTS.attributes.HREF, !!this._href, this._href);
58
+ }
59
+ }
60
+ get target() {
61
+ var _a;
62
+ return (_a = this._target) !== null && _a !== void 0 ? _a : '';
63
+ }
64
+ set target(value) {
65
+ if (this._target !== value) {
66
+ this._target = (value === null || value === void 0 ? void 0 : value.trim().length) ? value.trim() : '';
67
+ this._adapter.setTarget(this._target);
68
+ this._adapter.toggleHostAttribute(APP_BAR_CONSTANTS.attributes.TARGET, !!this._target, this._target);
69
+ }
70
+ }
71
+ }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { AppBarElevation, AppBarTheme } from './app-bar-constants';
7
+ import { BaseComponent, IBaseComponent } from '../../core/base/base-component';
8
+ export interface IAppBarComponent extends IBaseComponent {
9
+ titleText: string;
10
+ elevation: AppBarElevation;
11
+ theme: AppBarTheme;
12
+ href: string;
13
+ target: string;
14
+ }
15
+ declare global {
16
+ interface HTMLElementTagNameMap {
17
+ 'forge-app-bar': IAppBarComponent;
18
+ }
19
+ }
20
+ /**
21
+ * @tag forge-app-bar
22
+ *
23
+ * @description App bars are a collection of components placed as a horizontal bar at the top of the screen. They typically contain a logo, title, and optional application-wide actions.
24
+ *
25
+ * @property {string} titleText - The text to display in the title.
26
+ * @property {AppBarElevation} elevation - The elevation of the app bar.
27
+ * @property {AppBarTheme} theme - The theme of the app bar.
28
+ * @property {string} href - The href that will be used to make the logo and title area a clickable link.
29
+ *
30
+ * @attribute {string} title-text - The text to display in the title.
31
+ * @attribute {string} elevation - The elevation of the app bar.
32
+ * @attribute {string} theme - The theme of the app bar.
33
+ * @attribute {string} href - The href that will be used to make the logo and title area a clickable link
34
+ *
35
+ * @cssproperty --forge-app-bar-background - The background color of the app bar.
36
+ * @cssproperty --forge-app-bar-foreground - The text color of the app bar.
37
+ * @cssproperty --forge-app-bar-z-index - The `z-index` of the app bar.
38
+ * @cssproperty --forge-app-bar-elevation - The elevation of the app bar.
39
+ * @cssproperty --forge-app-bar-height - The height of the app bar.
40
+ * @cssproperty --forge-app-bar-row-padding - The inline padding of the app bar.
41
+ * @cssproperty --forge-app-bar-logo-gap - The space between the logo and title.
42
+ * @cssproperty --forge-app-bar-title-padding - The padding around the title element.
43
+ * @cssproperty --forge-app-bar-transition-duration - The transition duration for animations.
44
+ * @cssproperty --forge-app-bar-transition-timing - The transition timing function for animations.
45
+ *
46
+ * @csspart root - The root container element.
47
+ * @csspart title - The title element.
48
+ *
49
+ * @slot logo - Reserved for the brand logo.
50
+ * @slot title - Reserved for the application title. This will overwrite the `titleText` property/attribute.
51
+ * @slot start - Places content at the beginning of the app bar.
52
+ * @slot center - Places content in the center of the app bar.
53
+ * @slot end - Places content at the end of the app bar.
54
+ */
55
+ export declare class AppBarComponent extends BaseComponent implements IAppBarComponent {
56
+ static get observedAttributes(): string[];
57
+ private _foundation;
58
+ constructor();
59
+ connectedCallback(): void;
60
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
61
+ titleText: string;
62
+ elevation: AppBarElevation;
63
+ theme: AppBarTheme;
64
+ href: string;
65
+ target: string;
66
+ }
@@ -0,0 +1,107 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { __decorate } from "tslib";
7
+ import { CustomElement, attachShadowTemplate, FoundationProperty } from '@tylertech/forge-core';
8
+ import { AppBarAdapter } from './app-bar-adapter';
9
+ import { AppBarFoundation } from './app-bar-foundation';
10
+ import { APP_BAR_CONSTANTS } from './app-bar-constants';
11
+ import { BaseComponent } from '../../core/base/base-component';
12
+ const template = '<template><div class=\"forge-app-bar\" part=\"root\"><div class=\"row\"><div class=\"section\"><slot name=\"start\"></slot><div class=\"logo-title-container\"><slot name=\"logo\"></slot><slot name=\"title\"><h1 class=\"title\" part=\"title\"></h1></slot></div></div><div id=\"center-section\" class=\"section\"><slot name=\"center\"></slot></div><div class=\"section\"><slot name=\"end\"></slot></div></div><div><slot name=\"bottom\"></slot></div></div></template>';
13
+ const styles = ':host{--_app-bar-background:var(--forge-app-bar-background, var(--forge-theme-brand, #283593));--_app-bar-foreground:var(--forge-app-bar-foreground, var(--forge-theme-on-brand, #ffffff))}:host{display:block}:host([hidden]){display:none}:host(:not(theme)){--forge-theme-primary:var(--_app-bar-foreground);--forge-theme-on-primary:rgba(0, 0, 0, 0.87);--forge-theme-text-medium:rgba(255, 255, 255, 0.54)}.forge-app-bar{--_app-bar-z-index:var(--forge-app-bar-z-index, var(--forge-z-index-header, 4));--_app-bar-elevation:var(--forge-app-bar-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));--_app-bar-height:var(--forge-app-bar-height, 56px);--_app-bar-row-padding:var(--forge-app-bar-row-padding, var(--forge-spacing-xxsmall, 4px));--_app-bar-logo-gap:var(--forge-app-bar-logo-gap, var(--forge-spacing-medium, 16px));--_app-bar-logo-font-size:var(--forge-app-bar-logo-font-size, calc(var(--forge-typography-font-size, 1rem) * 2.5));--_app-bar-title-padding:var(--forge-app-bar-title-padding, var(--forge-spacing-xsmall, 8px));--_app-bar-transition-duration:var(--forge-app-bar-transition-duration, var(--forge-animation-duration-short4, 200ms));--_app-bar-transition-timing:var(--forge-app-bar-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)))}.forge-app-bar{background:var(--_app-bar-background);color:var(--_app-bar-foreground);position:relative;z-index:var(--_app-bar-z-index);display:grid;grid-template-rows:1fr auto;-webkit-transition-property:background-color,-webkit-box-shadow;transition-property:background-color,-webkit-box-shadow;transition-property:box-shadow,background-color;transition-property:box-shadow,background-color,-webkit-box-shadow;-webkit-transition-duration:var(--_app-bar-transition-duration);transition-duration:var(--_app-bar-transition-duration);-webkit-transition-timing-function:var(--_app-bar-transition-timing);transition-timing-function:var(--_app-bar-transition-timing);-webkit-box-sizing:border-box;box-sizing:border-box;width:100%}.forge-app-bar .row{display:grid;-webkit-box-align:center;align-items:center;grid-template-columns:1fr 1fr 1fr;height:var(--_app-bar-height);padding-inline:var(--_app-bar-row-padding)}.forge-app-bar.no-center .row{grid-template-columns:1fr auto}.forge-app-bar .section{display:-webkit-inline-box;display:inline-flex;-webkit-box-flex:1;flex:1 1 auto;-webkit-box-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:0;height:100%}.forge-app-bar .section:last-child{justify-self:end}.forge-app-bar h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-heading4-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-heading4-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading4-font-size-scale, 1.25)));font-weight:var(--forge-typography-heading4-font-weight,500);line-height:var(--forge-typography-heading4-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading4-line-height-scale, 1.5)));letter-spacing:var(--forge-typography-heading4-letter-spacing, .005em);text-transform:var(--forge-typography-heading4-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-heading4-text-decoration,inherit);text-decoration:var(--forge-typography-heading4-text-decoration,inherit);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forge-app-bar a{outline:0;text-decoration:none;color:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%}.forge-app-bar a forge-state-layer{--forge-state-layer-color:var(--_app-bar-foreground)}.forge-app-bar a forge-focus-indicator{--forge-focus-indicator-color:var(--_app-bar-foreground);--forge-focus-indicator-shape:4px;--forge-focus-indicator-offset-block:4px}.forge-app-bar .logo-title-container{position:relative;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;gap:var(--_app-bar-logo-gap);min-width:0;padding-inline:var(--_app-bar-title-padding)}:host(:is(:not([elevation]),[elevation=raised])) .forge-app-bar{-webkit-box-shadow:var(--_app-bar-elevation);box-shadow:var(--_app-bar-elevation)}::slotted(forge-tab-bar){--forge-tab-bar-divider-thickness:0}::slotted([slot=logo]){font-size:var(--_app-bar-logo-font-size);height:1em;width:1em}:host([theme=white]){--forge-theme-primary:black;--forge-theme-on-primary:rgba(255, 255, 255, 0.87);--forge-theme-text-medium:rgba(0, 0, 0, 0.54)}:host([theme=white]) .forge-app-bar{--_app-bar-background:var(--forge-app-bar-background, white);--_app-bar-foreground:var(--forge-app-bar-foreground, black)}';
14
+ /**
15
+ * @tag forge-app-bar
16
+ *
17
+ * @description App bars are a collection of components placed as a horizontal bar at the top of the screen. They typically contain a logo, title, and optional application-wide actions.
18
+ *
19
+ * @property {string} titleText - The text to display in the title.
20
+ * @property {AppBarElevation} elevation - The elevation of the app bar.
21
+ * @property {AppBarTheme} theme - The theme of the app bar.
22
+ * @property {string} href - The href that will be used to make the logo and title area a clickable link.
23
+ *
24
+ * @attribute {string} title-text - The text to display in the title.
25
+ * @attribute {string} elevation - The elevation of the app bar.
26
+ * @attribute {string} theme - The theme of the app bar.
27
+ * @attribute {string} href - The href that will be used to make the logo and title area a clickable link
28
+ *
29
+ * @cssproperty --forge-app-bar-background - The background color of the app bar.
30
+ * @cssproperty --forge-app-bar-foreground - The text color of the app bar.
31
+ * @cssproperty --forge-app-bar-z-index - The `z-index` of the app bar.
32
+ * @cssproperty --forge-app-bar-elevation - The elevation of the app bar.
33
+ * @cssproperty --forge-app-bar-height - The height of the app bar.
34
+ * @cssproperty --forge-app-bar-row-padding - The inline padding of the app bar.
35
+ * @cssproperty --forge-app-bar-logo-gap - The space between the logo and title.
36
+ * @cssproperty --forge-app-bar-title-padding - The padding around the title element.
37
+ * @cssproperty --forge-app-bar-transition-duration - The transition duration for animations.
38
+ * @cssproperty --forge-app-bar-transition-timing - The transition timing function for animations.
39
+ *
40
+ * @csspart root - The root container element.
41
+ * @csspart title - The title element.
42
+ *
43
+ * @slot logo - Reserved for the brand logo.
44
+ * @slot title - Reserved for the application title. This will overwrite the `titleText` property/attribute.
45
+ * @slot start - Places content at the beginning of the app bar.
46
+ * @slot center - Places content in the center of the app bar.
47
+ * @slot end - Places content at the end of the app bar.
48
+ */
49
+ let AppBarComponent = class AppBarComponent extends BaseComponent {
50
+ static get observedAttributes() {
51
+ return [
52
+ APP_BAR_CONSTANTS.attributes.TITLE_TEXT,
53
+ APP_BAR_CONSTANTS.attributes.ELEVATION,
54
+ APP_BAR_CONSTANTS.attributes.THEME,
55
+ APP_BAR_CONSTANTS.attributes.HREF,
56
+ APP_BAR_CONSTANTS.attributes.TARGET
57
+ ];
58
+ }
59
+ constructor() {
60
+ super();
61
+ attachShadowTemplate(this, template, styles);
62
+ this._foundation = new AppBarFoundation(new AppBarAdapter(this));
63
+ }
64
+ connectedCallback() {
65
+ this._foundation.initialize();
66
+ }
67
+ attributeChangedCallback(name, oldValue, newValue) {
68
+ switch (name) {
69
+ case APP_BAR_CONSTANTS.attributes.TITLE_TEXT:
70
+ this.titleText = newValue;
71
+ break;
72
+ case APP_BAR_CONSTANTS.attributes.ELEVATION:
73
+ this.elevation = newValue;
74
+ break;
75
+ case APP_BAR_CONSTANTS.attributes.THEME:
76
+ this.theme = newValue;
77
+ break;
78
+ case APP_BAR_CONSTANTS.attributes.HREF:
79
+ this.href = newValue;
80
+ break;
81
+ case APP_BAR_CONSTANTS.attributes.TARGET:
82
+ this.target = newValue;
83
+ break;
84
+ }
85
+ }
86
+ };
87
+ __decorate([
88
+ FoundationProperty()
89
+ ], AppBarComponent.prototype, "titleText", void 0);
90
+ __decorate([
91
+ FoundationProperty()
92
+ ], AppBarComponent.prototype, "elevation", void 0);
93
+ __decorate([
94
+ FoundationProperty()
95
+ ], AppBarComponent.prototype, "theme", void 0);
96
+ __decorate([
97
+ FoundationProperty()
98
+ ], AppBarComponent.prototype, "href", void 0);
99
+ __decorate([
100
+ FoundationProperty()
101
+ ], AppBarComponent.prototype, "target", void 0);
102
+ AppBarComponent = __decorate([
103
+ CustomElement({
104
+ name: APP_BAR_CONSTANTS.elementName
105
+ })
106
+ ], AppBarComponent);
107
+ export { AppBarComponent };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ export * from './app-bar-adapter';
7
+ export * from './app-bar-constants';
8
+ export * from './app-bar-foundation';
9
+ export * from './app-bar';
10
+ export declare function defineAppBarComponent(): void;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
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
+ export * from './app-bar';
12
+ export function defineAppBarComponent() {
13
+ defineCustomElement(AppBarComponent);
14
+ }
@@ -5,14 +5,21 @@
5
5
  */
6
6
  import { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';
7
7
  import { IMenuOption } from '../../menu';
8
- import { IAppBarHelpButtonComponent } from './app-bar-help-button';
8
+ import type { IAppBarHelpButtonComponent } from './app-bar-help-button';
9
9
  export interface IAppBarHelpButtonAdapter extends IBaseAdapter {
10
10
  initialize(): void;
11
+ destroy(): void;
11
12
  setMenuOptions(options: IMenuOption[]): void;
13
+ setIcon(icon: string): void;
12
14
  }
13
15
  export declare class AppBarHelpButtonAdapter extends BaseAdapter<IAppBarHelpButtonComponent> implements IAppBarHelpButtonAdapter {
14
16
  private _menuElement;
17
+ private _iconButtonElement;
18
+ private _iconElement;
19
+ private _forwardObserver?;
15
20
  constructor(component: IAppBarHelpButtonComponent);
16
21
  initialize(): void;
22
+ destroy(): void;
17
23
  setMenuOptions(options: IMenuOption[]): void;
24
+ setIcon(icon: string): void;
18
25
  }
@@ -3,17 +3,38 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { getLightElement } from '@tylertech/forge-core';
6
+ import { getLightElement, toggleAttribute } from '@tylertech/forge-core';
7
+ import { forwardAttributes } from '../../core/utils/reflect-utils';
7
8
  import { BaseAdapter } from '../../core/base/base-adapter';
8
9
  import { MENU_CONSTANTS } from '../../menu';
10
+ import { ICON_BUTTON_CONSTANTS } from '../../icon-button/icon-button-constants';
11
+ import { APP_BAR_HELP_BUTTON_CONSTANTS } from './app-bar-help-button-constants';
12
+ import { ICON_CONSTANTS } from '../../icon';
9
13
  export class AppBarHelpButtonAdapter extends BaseAdapter {
10
14
  constructor(component) {
11
15
  super(component);
12
16
  }
13
17
  initialize() {
14
18
  this._menuElement = getLightElement(this._component, MENU_CONSTANTS.elementName);
19
+ this._iconButtonElement = getLightElement(this._component, ICON_BUTTON_CONSTANTS.elementName);
20
+ this._iconElement = getLightElement(this._component, ICON_CONSTANTS.elementName);
21
+ const originalAriaLabel = this._iconButtonElement.getAttribute('aria-label');
22
+ this._forwardObserver = forwardAttributes(this._component, APP_BAR_HELP_BUTTON_CONSTANTS.forwardedAttributes, (name, value) => {
23
+ if (name === 'aria-label' && !value) {
24
+ value = originalAriaLabel;
25
+ }
26
+ toggleAttribute(this._iconButtonElement, !!value, name, value !== null && value !== void 0 ? value : undefined);
27
+ });
28
+ }
29
+ destroy() {
30
+ var _a;
31
+ (_a = this._forwardObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
32
+ this._forwardObserver = undefined;
15
33
  }
16
34
  setMenuOptions(options) {
17
35
  this._menuElement.options = options;
18
36
  }
37
+ setIcon(icon) {
38
+ this._iconElement.name = icon;
39
+ }
19
40
  }
@@ -5,4 +5,11 @@
5
5
  */
6
6
  export declare const APP_BAR_HELP_BUTTON_CONSTANTS: {
7
7
  elementName: "forge-app-bar-help-button";
8
+ attributes: {
9
+ ICON: string;
10
+ };
11
+ forwardedAttributes: string[];
12
+ defaults: {
13
+ ICON: string;
14
+ };
8
15
  };
@@ -5,6 +5,16 @@
5
5
  */
6
6
  import { COMPONENT_NAME_PREFIX } from '../../constants';
7
7
  const elementName = `${COMPONENT_NAME_PREFIX}app-bar-help-button`;
8
+ const attributes = {
9
+ ICON: 'icon'
10
+ };
11
+ const defaults = {
12
+ ICON: 'help'
13
+ };
14
+ const forwardedAttributes = ['aria-label', 'aria-labelledby'];
8
15
  export const APP_BAR_HELP_BUTTON_CONSTANTS = {
9
- elementName
16
+ elementName,
17
+ attributes,
18
+ forwardedAttributes,
19
+ defaults
10
20
  };
@@ -8,14 +8,18 @@ import { IMenuOption } from '../../menu';
8
8
  import { IAppBarHelpButtonAdapter } from './app-bar-help-button-adapter';
9
9
  export interface IAppBarHelpButtonFoundation extends ICustomElementFoundation {
10
10
  options: IMenuOption[];
11
+ icon: string;
11
12
  }
12
13
  export declare class AppBarHelpButtonFoundation implements IAppBarHelpButtonFoundation {
13
14
  private _adapter;
14
15
  private _options;
16
+ private _icon;
15
17
  private _isInitialized;
16
18
  constructor(_adapter: IAppBarHelpButtonAdapter);
17
19
  initialize(): void;
18
20
  disconnect(): void;
19
21
  get options(): IMenuOption[];
20
22
  set options(value: IMenuOption[]);
23
+ get icon(): string;
24
+ set icon(value: string);
21
25
  }
@@ -3,18 +3,22 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
+ import { APP_BAR_HELP_BUTTON_CONSTANTS } from './app-bar-help-button-constants';
6
7
  export class AppBarHelpButtonFoundation {
7
8
  constructor(_adapter) {
8
9
  this._adapter = _adapter;
9
10
  this._options = [];
11
+ this._icon = APP_BAR_HELP_BUTTON_CONSTANTS.defaults.ICON;
10
12
  this._isInitialized = false;
11
13
  }
12
14
  initialize() {
13
15
  this._adapter.initialize();
14
16
  this._adapter.setMenuOptions(this._options);
17
+ this._adapter.setIcon(this._icon);
15
18
  this._isInitialized = true;
16
19
  }
17
20
  disconnect() {
21
+ this._adapter.destroy();
18
22
  this._isInitialized = false;
19
23
  }
20
24
  get options() {
@@ -26,4 +30,16 @@ export class AppBarHelpButtonFoundation {
26
30
  this._adapter.setMenuOptions(value);
27
31
  }
28
32
  }
33
+ get icon() {
34
+ return this._icon;
35
+ }
36
+ set icon(value) {
37
+ if (this._icon !== value) {
38
+ this._icon = value || APP_BAR_HELP_BUTTON_CONSTANTS.defaults.ICON;
39
+ if (this._isInitialized) {
40
+ this._adapter.setIcon(value);
41
+ }
42
+ this._adapter.setHostAttribute(APP_BAR_HELP_BUTTON_CONSTANTS.attributes.ICON, this._icon);
43
+ }
44
+ }
29
45
  }
@@ -7,6 +7,7 @@ import { IMenuOption } from '../../menu';
7
7
  import { BaseComponent, IBaseComponent } from '../../core/base/base-component';
8
8
  export interface IAppBarHelpButtonComponent extends IBaseComponent {
9
9
  options: IMenuOption[];
10
+ icon: string;
10
11
  }
11
12
  declare global {
12
13
  interface HTMLElementTagNameMap {
@@ -14,15 +15,25 @@ declare global {
14
15
  }
15
16
  }
16
17
  /**
17
- * The web component class behind the `<forge-app-bar-help-button>` custom element.
18
- *
19
18
  * @tag forge-app-bar-help-button
19
+ *
20
+ * @description A utility component with predefined icon and descriptions for use in an app bar `end` slot.
21
+ *
22
+ * @property {IMenuOption[]} options - The menu options to display when the button is clicked
23
+ * @property {string} icon - The name of an alternative icon to display.
24
+ *
25
+ * @attribute {string} [icon] - The name of an alternative icon to display.
26
+ * @attribute {string} [aria-label] - The aria-label to apply to the button.
27
+ * @attribute {string} [aria-labelledby] - The id of an element to use as the aria-labelledby attribute.
20
28
  */
21
29
  export declare class AppBarHelpButtonComponent extends BaseComponent implements IAppBarHelpButtonComponent {
30
+ static get observedAttributes(): string[];
22
31
  private _foundation;
23
32
  constructor();
24
33
  initializedCallback(): void;
25
34
  connectedCallback(): void;
26
35
  disconnectedCallback(): void;
36
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
27
37
  options: IMenuOption[];
38
+ icon: string;
28
39
  }
@@ -12,15 +12,27 @@ import { AppBarHelpButtonFoundation } from './app-bar-help-button-foundation';
12
12
  import { APP_BAR_HELP_BUTTON_CONSTANTS } from './app-bar-help-button-constants';
13
13
  import { IconButtonComponent } from '../../icon-button';
14
14
  import { TooltipComponent } from '../../tooltip';
15
- import { IconComponent, IconRegistry } from '../../icon';
15
+ import { IconRegistry } from '../../icon';
16
16
  import { BaseComponent } from '../../core/base/base-component';
17
17
  const template = '<template><forge-menu placement=\"bottom-end\"><forge-icon-button aria-label=\"Open help menu\"><forge-icon name=\"help\"></forge-icon></forge-icon-button><forge-tooltip delay=\"500\" position=\"bottom\">Help</forge-tooltip></forge-menu></template>';
18
18
  /**
19
- * The web component class behind the `<forge-app-bar-help-button>` custom element.
20
- *
21
19
  * @tag forge-app-bar-help-button
20
+ *
21
+ * @description A utility component with predefined icon and descriptions for use in an app bar `end` slot.
22
+ *
23
+ * @property {IMenuOption[]} options - The menu options to display when the button is clicked
24
+ * @property {string} icon - The name of an alternative icon to display.
25
+ *
26
+ * @attribute {string} [icon] - The name of an alternative icon to display.
27
+ * @attribute {string} [aria-label] - The aria-label to apply to the button.
28
+ * @attribute {string} [aria-labelledby] - The id of an element to use as the aria-labelledby attribute.
22
29
  */
23
30
  let AppBarHelpButtonComponent = class AppBarHelpButtonComponent extends BaseComponent {
31
+ static get observedAttributes() {
32
+ return [
33
+ APP_BAR_HELP_BUTTON_CONSTANTS.attributes.ICON
34
+ ];
35
+ }
24
36
  constructor() {
25
37
  super();
26
38
  IconRegistry.define(tylIconHelp);
@@ -35,18 +47,27 @@ let AppBarHelpButtonComponent = class AppBarHelpButtonComponent extends BaseComp
35
47
  disconnectedCallback() {
36
48
  this._foundation.disconnect();
37
49
  }
50
+ attributeChangedCallback(name, oldValue, newValue) {
51
+ switch (name) {
52
+ case APP_BAR_HELP_BUTTON_CONSTANTS.attributes.ICON:
53
+ this.icon = newValue;
54
+ break;
55
+ }
56
+ }
38
57
  };
39
58
  __decorate([
40
59
  FoundationProperty()
41
60
  ], AppBarHelpButtonComponent.prototype, "options", void 0);
61
+ __decorate([
62
+ FoundationProperty()
63
+ ], AppBarHelpButtonComponent.prototype, "icon", void 0);
42
64
  AppBarHelpButtonComponent = __decorate([
43
65
  CustomElement({
44
66
  name: APP_BAR_HELP_BUTTON_CONSTANTS.elementName,
45
67
  dependencies: [
46
68
  MenuComponent,
47
69
  IconButtonComponent,
48
- TooltipComponent,
49
- IconComponent
70
+ TooltipComponent
50
71
  ]
51
72
  })
52
73
  ], AppBarHelpButtonComponent);
@@ -3,9 +3,6 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- export * from './app-bar-adapter';
7
- export * from './app-bar-constants';
8
- export * from './app-bar-foundation';
9
6
  export * from './app-bar';
10
7
  export * from './search';
11
8
  export * from './menu-button';
@@ -13,4 +10,3 @@ export * from './notification-button';
13
10
  export * from './help-button';
14
11
  export * from '../profile-card';
15
12
  export * from './profile-button';
16
- export declare function defineAppBarComponent(): void;