@tylertech/forge 3.0.0-next.12 → 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 (828) hide show
  1. package/README.md +1 -6
  2. package/custom-elements.json +49089 -32080
  3. package/dist/esm/accordion/index.js +1 -1
  4. package/dist/esm/app-bar/app-bar/index.js +7 -0
  5. package/dist/esm/app-bar/app-bar/index.js.map +7 -0
  6. package/dist/esm/app-bar/help-button/index.js +1 -1
  7. package/dist/esm/app-bar/index.js +1 -1
  8. package/dist/esm/app-bar/menu-button/index.js +1 -1
  9. package/dist/esm/app-bar/notification-button/index.js +1 -1
  10. package/dist/esm/app-bar/profile-button/index.js +1 -1
  11. package/dist/esm/app-bar/search/index.js +1 -1
  12. package/dist/esm/autocomplete/index.js +1 -1
  13. package/dist/esm/avatar/index.js +1 -1
  14. package/dist/esm/backdrop/index.js +1 -1
  15. package/dist/esm/badge/index.js +1 -1
  16. package/dist/esm/banner/index.js +1 -1
  17. package/dist/esm/bottom-sheet/index.js +1 -1
  18. package/dist/esm/busy-indicator/index.js +1 -1
  19. package/dist/esm/button/index.js +1 -1
  20. package/dist/esm/button-area/index.js +1 -1
  21. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  22. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  23. package/dist/esm/button-toggle/index.js +1 -1
  24. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  25. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  26. package/dist/esm/calendar/index.js +1 -1
  27. package/dist/esm/card/index.js +1 -1
  28. package/dist/esm/checkbox/index.js +1 -1
  29. package/dist/esm/chip-field/index.js +1 -1
  30. package/dist/esm/chips/chip/index.js +1 -1
  31. package/dist/esm/chips/chip-set/index.js +1 -1
  32. package/dist/esm/chips/index.js +1 -1
  33. package/dist/esm/chunks/{chunk.PLNLLKP2.js → chunk.26E4L52W.js} +2 -2
  34. package/dist/esm/chunks/chunk.2GJ54C3Q.js +7 -0
  35. package/dist/esm/chunks/chunk.2GJ54C3Q.js.map +7 -0
  36. package/dist/esm/chunks/chunk.2GYZM6ZG.js +7 -0
  37. package/dist/esm/chunks/chunk.2GYZM6ZG.js.map +7 -0
  38. package/dist/esm/chunks/chunk.2YDKRTKP.js +7 -0
  39. package/dist/esm/chunks/chunk.2YDKRTKP.js.map +7 -0
  40. package/dist/esm/chunks/chunk.3JCHXLPT.js +7 -0
  41. package/dist/esm/chunks/chunk.3JCHXLPT.js.map +7 -0
  42. package/{styles/icon-button/forge-icon-button.scss → dist/esm/chunks/chunk.3PKNBYMG.js} +1 -3
  43. package/dist/esm/chunks/chunk.3PKNBYMG.js.map +7 -0
  44. package/dist/esm/chunks/chunk.3RMBFRGC.js +7 -0
  45. package/dist/esm/chunks/chunk.3RMBFRGC.js.map +7 -0
  46. package/dist/esm/chunks/{chunk.AY43NTAK.js → chunk.3UO6S3IK.js} +2 -2
  47. package/dist/esm/chunks/chunk.3ZRQFXQU.js +7 -0
  48. package/dist/esm/chunks/{chunk.UZPZ6KUN.js.map → chunk.3ZRQFXQU.js.map} +2 -2
  49. package/dist/esm/chunks/{chunk.IXGXASHQ.js → chunk.4B5IOZAT.js} +2 -2
  50. package/dist/esm/chunks/{chunk.WK2L7BPJ.js → chunk.4QDN5PM6.js} +2 -2
  51. package/dist/esm/chunks/{chunk.YIFI5D2X.js → chunk.543K5Y4E.js} +2 -2
  52. package/dist/esm/chunks/{chunk.YIFI5D2X.js.map → chunk.543K5Y4E.js.map} +3 -3
  53. package/dist/esm/chunks/{chunk.C5ZUGOOC.js → chunk.57PXXJA6.js} +2 -2
  54. package/dist/esm/chunks/{chunk.C7VEJINB.js → chunk.5C24LZNU.js} +2 -2
  55. package/dist/esm/chunks/{chunk.C2MQN7MI.js → chunk.5H4G6BWX.js} +2 -2
  56. package/dist/esm/chunks/{chunk.CQQSOTZ5.js → chunk.5VHUMZYS.js} +2 -2
  57. package/dist/esm/chunks/chunk.6DXDNQUR.js +15 -0
  58. package/dist/esm/chunks/chunk.6DXDNQUR.js.map +7 -0
  59. package/dist/esm/chunks/chunk.6Q3SV2R2.js +7 -0
  60. package/dist/esm/chunks/chunk.6Q3SV2R2.js.map +7 -0
  61. package/dist/esm/chunks/chunk.6Y45DLA6.js +7 -0
  62. package/dist/esm/chunks/chunk.6Y45DLA6.js.map +7 -0
  63. package/dist/esm/chunks/{chunk.WJXDDQUK.js → chunk.7ABZUBTT.js} +2 -2
  64. package/dist/esm/chunks/{chunk.ZREXLSAJ.js → chunk.7BGOH44S.js} +2 -2
  65. package/dist/esm/chunks/{chunk.2WSXSOYB.js → chunk.7DHDFH5L.js} +2 -2
  66. package/dist/esm/chunks/{chunk.UVJFHSMF.js → chunk.7PP6QHOM.js} +2 -2
  67. package/dist/esm/chunks/chunk.7UXLLUTN.js +7 -0
  68. package/dist/esm/chunks/{chunk.CLD75EBJ.js → chunk.7W2UWAZX.js} +2 -2
  69. package/dist/esm/chunks/{chunk.CLD75EBJ.js.map → chunk.7W2UWAZX.js.map} +3 -3
  70. package/dist/esm/chunks/chunk.A72W7RW7.js +7 -0
  71. package/dist/esm/chunks/chunk.A72W7RW7.js.map +7 -0
  72. package/dist/esm/chunks/chunk.AEJGC4YG.js +7 -0
  73. package/dist/esm/chunks/chunk.AEJGC4YG.js.map +7 -0
  74. package/dist/esm/chunks/{chunk.NDJZYFRT.js → chunk.B46Q3AFP.js} +2 -2
  75. package/dist/esm/chunks/chunk.BFUGFHEH.js +7 -0
  76. package/dist/esm/chunks/{chunk.URFSXQKR.js.map → chunk.BFUGFHEH.js.map} +2 -2
  77. package/dist/esm/chunks/chunk.BLW6QESQ.js +12 -0
  78. package/dist/esm/chunks/chunk.BLW6QESQ.js.map +7 -0
  79. package/dist/esm/chunks/chunk.BMQYEYCT.js +7 -0
  80. package/dist/esm/chunks/chunk.BMQYEYCT.js.map +7 -0
  81. package/dist/esm/chunks/{chunk.EY37FYZ4.js → chunk.C5IB44HX.js} +2 -2
  82. package/dist/esm/chunks/chunk.CNRFOWHY.js +7 -0
  83. package/dist/esm/chunks/{chunk.YXXKPT6P.js.map → chunk.CNRFOWHY.js.map} +2 -2
  84. package/dist/esm/chunks/{chunk.6VSFLBZF.js → chunk.CTZ3AWDW.js} +2 -2
  85. package/dist/esm/chunks/{chunk.YA3RDJCV.js → chunk.CZOABXEQ.js} +2 -2
  86. package/dist/esm/chunks/{chunk.YA3RDJCV.js.map → chunk.CZOABXEQ.js.map} +2 -2
  87. package/dist/esm/chunks/chunk.DD35U4AA.js +7 -0
  88. package/dist/esm/chunks/{chunk.JCO4M4PF.js.map → chunk.DD35U4AA.js.map} +3 -3
  89. package/dist/esm/chunks/{chunk.HBCDD25D.js → chunk.DDXIHZFX.js} +2 -2
  90. package/dist/esm/chunks/{chunk.VDGJ4UDL.js → chunk.DOEG3DWJ.js} +2 -2
  91. package/dist/esm/chunks/{chunk.4USQ2AP6.js → chunk.DTKFE7YB.js} +2 -2
  92. package/dist/esm/chunks/{chunk.IJ2I25V3.js → chunk.E3GVKR4E.js} +2 -2
  93. package/dist/esm/chunks/chunk.EBSBAFCX.js +7 -0
  94. package/dist/esm/chunks/chunk.EBSBAFCX.js.map +7 -0
  95. package/dist/esm/chunks/{chunk.FK6NNHXH.js → chunk.F2EBSV5Z.js} +2 -2
  96. package/dist/esm/chunks/chunk.F6KM5FO6.js +7 -0
  97. package/dist/esm/chunks/chunk.F6KM5FO6.js.map +7 -0
  98. package/dist/esm/chunks/chunk.FB6ZLH6P.js +7 -0
  99. package/dist/esm/chunks/chunk.FB6ZLH6P.js.map +7 -0
  100. package/dist/esm/chunks/chunk.FQSL747N.js +7 -0
  101. package/dist/esm/chunks/chunk.FQSL747N.js.map +7 -0
  102. package/dist/esm/chunks/{chunk.RNUGVHZF.js → chunk.G2BNY5QQ.js} +2 -2
  103. package/dist/esm/chunks/{chunk.4JF54GDJ.js → chunk.GS72TBUD.js} +2 -2
  104. package/dist/esm/chunks/{chunk.AQ7ROWO4.js → chunk.GT3VPSXY.js} +2 -2
  105. package/dist/esm/chunks/{chunk.DABGA7I6.js → chunk.GWJ4QCSW.js} +2 -2
  106. package/dist/esm/chunks/chunk.H7GW57Q6.js +7 -0
  107. package/dist/esm/chunks/chunk.H7GW57Q6.js.map +7 -0
  108. package/dist/esm/chunks/{chunk.RXLORASN.js → chunk.HHHBS6FB.js} +2 -2
  109. package/dist/esm/chunks/chunk.I3NHK2S3.js +7 -0
  110. package/dist/esm/chunks/{chunk.HKSXC5VK.js → chunk.IEB5KRFQ.js} +2 -2
  111. package/dist/esm/chunks/chunk.IT66AOX7.js +7 -0
  112. package/dist/esm/chunks/chunk.IT66AOX7.js.map +7 -0
  113. package/dist/esm/chunks/chunk.IVUK3W34.js +7 -0
  114. package/dist/esm/chunks/{chunk.TSH7BTC3.js.map → chunk.IVUK3W34.js.map} +2 -2
  115. package/dist/esm/chunks/chunk.IW7HALLT.js +7 -0
  116. package/dist/esm/chunks/{chunk.U5XNDTSZ.js.map → chunk.IW7HALLT.js.map} +2 -2
  117. package/dist/esm/chunks/chunk.J2KHTGSB.js +7 -0
  118. package/dist/esm/chunks/chunk.J2KHTGSB.js.map +7 -0
  119. package/dist/esm/chunks/{chunk.OQAD6MFL.js → chunk.J3B5CWKT.js} +2 -2
  120. package/dist/esm/chunks/chunk.JAWV5Y5T.js +7 -0
  121. package/dist/esm/chunks/{chunk.I5SFCLDD.js.map → chunk.JAWV5Y5T.js.map} +3 -3
  122. package/dist/esm/chunks/chunk.JVK64JDZ.js +7 -0
  123. package/dist/esm/chunks/chunk.JVK64JDZ.js.map +7 -0
  124. package/dist/esm/chunks/chunk.KFDYMENL.js +7 -0
  125. package/dist/esm/chunks/chunk.KFDYMENL.js.map +7 -0
  126. package/dist/esm/chunks/{chunk.QNVVUUNQ.js → chunk.KLPF4CNX.js} +2 -2
  127. package/dist/esm/chunks/chunk.KTYYBWTN.js +7 -0
  128. package/dist/esm/chunks/chunk.KTYYBWTN.js.map +7 -0
  129. package/dist/esm/chunks/{chunk.66X366TV.js → chunk.L4Y4RO5O.js} +2 -2
  130. package/dist/esm/chunks/chunk.LCNR2RPT.js +7 -0
  131. package/dist/esm/chunks/chunk.LCNR2RPT.js.map +7 -0
  132. package/dist/esm/chunks/{chunk.RBFGJH3C.js → chunk.LMIKNDBS.js} +2 -2
  133. package/dist/esm/chunks/chunk.LOBKFTRM.js +7 -0
  134. package/dist/esm/chunks/chunk.LOBKFTRM.js.map +7 -0
  135. package/dist/esm/chunks/chunk.LS7WRRT2.js +7 -0
  136. package/dist/esm/chunks/chunk.LS7WRRT2.js.map +7 -0
  137. package/dist/esm/chunks/{chunk.R2KOYHIZ.js → chunk.LSNAGIIH.js} +2 -2
  138. package/dist/esm/chunks/chunk.LUIKMPQR.js +7 -0
  139. package/dist/esm/chunks/chunk.LUIKMPQR.js.map +7 -0
  140. package/dist/esm/chunks/{chunk.7M4HRJYP.js → chunk.LXX3YZYS.js} +2 -2
  141. package/dist/esm/chunks/chunk.MZZJY5NX.js +7 -0
  142. package/dist/esm/chunks/chunk.MZZJY5NX.js.map +7 -0
  143. package/dist/esm/chunks/{chunk.W7H2ZYNR.js → chunk.NG6UZ4OL.js} +2 -2
  144. package/dist/esm/chunks/chunk.NYYXUH3X.js +7 -0
  145. package/dist/esm/chunks/{chunk.DQVYB55P.js → chunk.NZKIFXBU.js} +2 -2
  146. package/dist/esm/chunks/{chunk.AHAARGYM.js → chunk.OED5UCYT.js} +2 -2
  147. package/dist/esm/chunks/{chunk.5ASOX23Q.js → chunk.OUACQISE.js} +2 -2
  148. package/dist/esm/chunks/{chunk.5ASOX23Q.js.map → chunk.OUACQISE.js.map} +1 -1
  149. package/dist/esm/chunks/chunk.OYO5O3NF.js +7 -0
  150. package/dist/esm/chunks/{chunk.7UJAI6P2.js → chunk.P7LC3YYW.js} +2 -2
  151. package/dist/esm/chunks/{chunk.Z6AFASMO.js → chunk.PK7R6WDF.js} +2 -2
  152. package/dist/esm/chunks/chunk.PQQVUUHU.js +7 -0
  153. package/dist/esm/chunks/{chunk.LNLO36U6.js.map → chunk.PQQVUUHU.js.map} +2 -2
  154. package/dist/esm/chunks/{chunk.WWTQAN4G.js → chunk.PSTGTQVK.js} +2 -2
  155. package/dist/esm/chunks/chunk.Q5Z6F3PI.js +7 -0
  156. package/dist/esm/chunks/chunk.Q5Z6F3PI.js.map +7 -0
  157. package/dist/esm/chunks/{chunk.OXGOCF4L.js → chunk.QFY23EWU.js} +2 -2
  158. package/dist/esm/chunks/{chunk.OXGOCF4L.js.map → chunk.QFY23EWU.js.map} +2 -2
  159. package/dist/esm/chunks/chunk.RCSBJQ4G.js +7 -0
  160. package/dist/esm/chunks/chunk.RCSBJQ4G.js.map +7 -0
  161. package/dist/esm/chunks/chunk.RDW7Z4W5.js +7 -0
  162. package/dist/esm/chunks/chunk.RDW7Z4W5.js.map +7 -0
  163. package/dist/esm/chunks/chunk.RYNQDXFA.js +7 -0
  164. package/dist/esm/chunks/{chunk.YP2NHWIW.js.map → chunk.RYNQDXFA.js.map} +2 -2
  165. package/dist/esm/chunks/{chunk.RWUJGZ3R.js → chunk.RZZBM3AW.js} +2 -2
  166. package/dist/esm/chunks/{chunk.37JFBP4X.js → chunk.SNF35Y6C.js} +2 -2
  167. package/dist/esm/chunks/chunk.SOLF23NC.js +7 -0
  168. package/dist/esm/chunks/chunk.SOLF23NC.js.map +7 -0
  169. package/dist/esm/chunks/chunk.T34DG7BU.js +7 -0
  170. package/dist/esm/chunks/chunk.TA3MVDUU.js +7 -0
  171. package/dist/esm/chunks/chunk.TA3MVDUU.js.map +7 -0
  172. package/dist/esm/chunks/{chunk.HDO3WRH7.js → chunk.THWSN3X4.js} +2 -2
  173. package/dist/esm/chunks/chunk.TLFCQSJN.js +7 -0
  174. package/dist/esm/chunks/chunk.TLFCQSJN.js.map +7 -0
  175. package/dist/esm/chunks/{chunk.E4TAHUQO.js → chunk.TZFUKJ24.js} +2 -2
  176. package/dist/esm/chunks/{chunk.SEWAMWO6.js → chunk.U5WMRBSC.js} +2 -2
  177. package/dist/esm/chunks/chunk.URCJO73M.js +7 -0
  178. package/dist/esm/chunks/chunk.URCJO73M.js.map +7 -0
  179. package/dist/esm/chunks/{chunk.PDSOXEMY.js → chunk.UWZWXNTW.js} +2 -2
  180. package/dist/esm/chunks/chunk.VD5ZL5ZN.js +7 -0
  181. package/dist/esm/chunks/{chunk.OQ75YGB6.js.map → chunk.VD5ZL5ZN.js.map} +2 -2
  182. package/dist/esm/chunks/chunk.VDZ7HBKM.js +7 -0
  183. package/dist/esm/chunks/chunk.VDZ7HBKM.js.map +7 -0
  184. package/dist/esm/chunks/{chunk.CBIHNCT5.js → chunk.W324TWF2.js} +2 -2
  185. package/dist/esm/chunks/chunk.WQGPIOL6.js +7 -0
  186. package/dist/esm/chunks/chunk.WQGPIOL6.js.map +7 -0
  187. package/dist/esm/chunks/chunk.XDANTL6C.js +7 -0
  188. package/dist/esm/chunks/chunk.XDANTL6C.js.map +7 -0
  189. package/dist/esm/chunks/chunk.XNCBGWE4.js +7 -0
  190. package/dist/esm/chunks/chunk.XNCBGWE4.js.map +7 -0
  191. package/dist/esm/chunks/{chunk.ZYVXIP42.js → chunk.YKZ25J6B.js} +2 -2
  192. package/dist/esm/chunks/chunk.Z2RB75TN.js +7 -0
  193. package/dist/esm/chunks/chunk.Z2RB75TN.js.map +7 -0
  194. package/dist/esm/chunks/chunk.Z7PBGV4K.js +7 -0
  195. package/dist/esm/chunks/{chunk.TCFKFKZW.js.map → chunk.Z7PBGV4K.js.map} +4 -4
  196. package/dist/esm/chunks/{chunk.R6NA7SV2.js → chunk.ZSD7MMVB.js} +2 -2
  197. package/dist/esm/chunks/chunk.ZSZFWZAI.js +7 -0
  198. package/dist/esm/chunks/chunk.ZSZFWZAI.js.map +7 -0
  199. package/dist/esm/chunks/chunk.ZVJMIBUM.js +7 -0
  200. package/dist/esm/chunks/chunk.ZVJMIBUM.js.map +7 -0
  201. package/dist/esm/circular-progress/index.js +1 -1
  202. package/dist/esm/color-picker/index.js +1 -1
  203. package/dist/esm/core/base/index.js +1 -1
  204. package/dist/esm/core/index.js +1 -1
  205. package/dist/esm/core/utils/index.js +1 -1
  206. package/dist/esm/date-picker/index.js +1 -1
  207. package/dist/esm/date-range-picker/index.js +1 -1
  208. package/dist/esm/dialog/index.js +1 -1
  209. package/dist/esm/divider/index.js +1 -1
  210. package/dist/esm/drawer/base/index.js +1 -1
  211. package/dist/esm/drawer/drawer/index.js +1 -1
  212. package/dist/esm/drawer/index.js +1 -1
  213. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  214. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  215. package/dist/esm/expansion-panel/index.js +1 -1
  216. package/dist/esm/file-picker/index.js +1 -1
  217. package/dist/esm/floating-action-button/index.js +1 -1
  218. package/dist/esm/focus-indicator/index.js +1 -1
  219. package/dist/esm/icon/index.js +1 -1
  220. package/dist/esm/icon-button/index.js +1 -1
  221. package/dist/esm/index.js +1 -1
  222. package/dist/esm/inline-message/index.js +1 -1
  223. package/dist/esm/keyboard-shortcut/index.js +1 -1
  224. package/dist/esm/label/index.js +7 -0
  225. package/dist/esm/label/index.js.map +7 -0
  226. package/dist/esm/label-value/index.js +1 -1
  227. package/dist/esm/linear-progress/index.js +1 -1
  228. package/dist/esm/list/index.js +1 -1
  229. package/dist/esm/list/list/index.js +1 -1
  230. package/dist/esm/list/list-item/index.js +1 -1
  231. package/dist/esm/list-dropdown/index.js +1 -1
  232. package/dist/esm/menu/index.js +1 -1
  233. package/dist/esm/open-icon/index.js +1 -1
  234. package/dist/esm/page-state/index.js +1 -1
  235. package/dist/esm/paginator/index.js +1 -1
  236. package/dist/esm/popup/index.js +1 -1
  237. package/dist/esm/product-icon/index.js +1 -1
  238. package/dist/esm/profile-card/index.js +1 -1
  239. package/dist/esm/quantity-field/index.js +1 -1
  240. package/dist/esm/radio/index.js +1 -1
  241. package/dist/esm/ripple/index.js +1 -1
  242. package/dist/esm/scaffold/index.js +1 -1
  243. package/dist/esm/select/core/index.js +1 -1
  244. package/dist/esm/select/index.js +1 -1
  245. package/dist/esm/select/option/index.js +1 -1
  246. package/dist/esm/select/option-group/index.js +1 -1
  247. package/dist/esm/select/select/index.js +1 -1
  248. package/dist/esm/select/select-dropdown/index.js +1 -1
  249. package/dist/esm/skeleton/index.js +1 -1
  250. package/dist/esm/slider/index.js +1 -1
  251. package/dist/esm/split-button/index.js +7 -0
  252. package/dist/esm/split-button/index.js.map +7 -0
  253. package/dist/esm/split-view/index.js +1 -1
  254. package/dist/esm/split-view/split-view/index.js +1 -1
  255. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  256. package/dist/esm/stack/index.js +1 -1
  257. package/dist/esm/state-layer/index.js +1 -1
  258. package/dist/esm/stepper/index.js +1 -1
  259. package/dist/esm/stepper/step/index.js +1 -1
  260. package/dist/esm/stepper/stepper/index.js +1 -1
  261. package/dist/esm/switch/index.js +1 -1
  262. package/dist/esm/table/index.js +1 -1
  263. package/dist/esm/tabs/index.js +1 -1
  264. package/dist/esm/tabs/tab/index.js +1 -1
  265. package/dist/esm/tabs/tab-bar/index.js +1 -1
  266. package/dist/esm/text-field/index.js +1 -1
  267. package/dist/esm/time-picker/index.js +1 -1
  268. package/dist/esm/toast/index.js +1 -1
  269. package/dist/esm/toolbar/index.js +1 -1
  270. package/dist/esm/tooltip/index.js +1 -1
  271. package/dist/esm/view-switcher/index.js +1 -1
  272. package/dist/esm/view-switcher/view/index.js +1 -1
  273. package/dist/forge-dark.css +1 -1
  274. package/dist/forge.css +1 -1
  275. package/dist/table/forge-table.css +1 -1
  276. package/dist/theme/forge-theme.css +1 -1
  277. package/dist/typography/forge-typography.css +1 -1
  278. package/esm/app-bar/app-bar/app-bar-adapter.d.ts +30 -0
  279. package/esm/app-bar/app-bar/app-bar-adapter.js +71 -0
  280. package/esm/app-bar/{app-bar-constants.d.ts → app-bar/app-bar-constants.d.ts} +7 -11
  281. package/esm/app-bar/app-bar/app-bar-constants.js +32 -0
  282. package/esm/app-bar/{app-bar-foundation.d.ts → app-bar/app-bar-foundation.d.ts} +17 -16
  283. package/esm/app-bar/app-bar/app-bar-foundation.js +71 -0
  284. package/esm/app-bar/app-bar/app-bar.d.ts +66 -0
  285. package/esm/app-bar/app-bar/app-bar.js +107 -0
  286. package/esm/app-bar/app-bar/index.d.ts +10 -0
  287. package/esm/app-bar/app-bar/index.js +14 -0
  288. package/esm/app-bar/help-button/app-bar-help-button-adapter.d.ts +8 -1
  289. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +22 -1
  290. package/esm/app-bar/help-button/app-bar-help-button-constants.d.ts +7 -0
  291. package/esm/app-bar/help-button/app-bar-help-button-constants.js +11 -1
  292. package/esm/app-bar/help-button/app-bar-help-button-foundation.d.ts +4 -0
  293. package/esm/app-bar/help-button/app-bar-help-button-foundation.js +16 -0
  294. package/esm/app-bar/help-button/app-bar-help-button.d.ts +13 -2
  295. package/esm/app-bar/help-button/app-bar-help-button.js +27 -6
  296. package/esm/app-bar/index.d.ts +0 -4
  297. package/esm/app-bar/index.js +0 -8
  298. package/esm/app-bar/menu-button/app-bar-menu-button-constants.d.ts +7 -0
  299. package/esm/app-bar/menu-button/app-bar-menu-button-constants.js +9 -1
  300. package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +19 -2
  301. package/esm/app-bar/menu-button/app-bar-menu-button.js +57 -8
  302. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +6 -2
  303. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +17 -1
  304. package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +1 -0
  305. package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +3 -1
  306. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +4 -4
  307. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +9 -11
  308. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +17 -4
  309. package/esm/app-bar/notification-button/app-bar-notification-button.js +20 -5
  310. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +7 -1
  311. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +26 -3
  312. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -3
  313. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +2 -4
  314. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +5 -2
  315. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +20 -22
  316. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +31 -2
  317. package/esm/app-bar/profile-button/app-bar-profile-button.js +33 -6
  318. package/esm/autocomplete/autocomplete-foundation.js +2 -2
  319. package/esm/banner/banner-constants.js +1 -1
  320. package/esm/banner/banner.js +2 -2
  321. package/esm/bottom-sheet/bottom-sheet.js +1 -1
  322. package/esm/busy-indicator/busy-indicator.js +2 -2
  323. package/esm/button/base/base-button-adapter.d.ts +68 -0
  324. package/esm/button/base/base-button-adapter.js +238 -0
  325. package/esm/button/base/base-button-constants.d.ts +44 -0
  326. package/esm/button/base/base-button-constants.js +32 -0
  327. package/esm/button/base/base-button-foundation.d.ts +74 -0
  328. package/esm/button/base/base-button-foundation.js +240 -0
  329. package/esm/button/base/base-button.d.ts +53 -0
  330. package/esm/button/base/base-button.js +112 -0
  331. package/esm/button/button-adapter.d.ts +14 -0
  332. package/esm/button/button-adapter.js +14 -0
  333. package/esm/button/button-component-delegate.d.ts +4 -4
  334. package/esm/button/button-component-delegate.js +13 -17
  335. package/esm/button/button-constants.d.ts +10 -18
  336. package/esm/button/button-constants.js +6 -22
  337. package/esm/button/button-foundation.d.ts +25 -0
  338. package/esm/button/button-foundation.js +49 -0
  339. package/esm/button/button.d.ts +126 -30
  340. package/esm/button/button.js +158 -159
  341. package/esm/button/index.d.ts +3 -1
  342. package/esm/button/index.js +3 -1
  343. package/esm/button-toggle/button-toggle/button-toggle.js +1 -1
  344. package/esm/calendar/calendar-dom-utils.js +18 -30
  345. package/esm/calendar/calendar.js +1 -1
  346. package/esm/checkbox/checkbox-adapter.d.ts +50 -59
  347. package/esm/checkbox/checkbox-adapter.js +104 -186
  348. package/esm/checkbox/checkbox-component-delegate.d.ts +18 -9
  349. package/esm/checkbox/checkbox-component-delegate.js +58 -51
  350. package/esm/checkbox/checkbox-constants.d.ts +14 -56
  351. package/esm/checkbox/checkbox-constants.js +17 -50
  352. package/esm/checkbox/checkbox-foundation.d.ts +48 -18
  353. package/esm/checkbox/checkbox-foundation.js +139 -139
  354. package/esm/checkbox/checkbox.d.ts +120 -9
  355. package/esm/checkbox/checkbox.js +235 -36
  356. package/esm/checkbox/index.d.ts +1 -1
  357. package/esm/checkbox/index.js +1 -1
  358. package/esm/chip-field/chip-field-constants.d.ts +3 -0
  359. package/esm/chip-field/chip-field-constants.js +4 -0
  360. package/esm/chip-field/chip-field-foundation.d.ts +5 -0
  361. package/esm/chip-field/chip-field-foundation.js +20 -1
  362. package/esm/chip-field/chip-field.d.ts +5 -0
  363. package/esm/chip-field/chip-field.js +19 -1
  364. package/esm/chips/chip/chip.js +1 -1
  365. package/esm/circular-progress/circular-progress-adapter.d.ts +2 -2
  366. package/esm/circular-progress/circular-progress-adapter.js +15 -6
  367. package/esm/circular-progress/circular-progress-constants.d.ts +4 -1
  368. package/esm/circular-progress/circular-progress-constants.js +2 -1
  369. package/esm/circular-progress/circular-progress-foundation.d.ts +9 -1
  370. package/esm/circular-progress/circular-progress-foundation.js +21 -2
  371. package/esm/circular-progress/circular-progress.d.ts +15 -3
  372. package/esm/circular-progress/circular-progress.js +25 -8
  373. package/esm/color-picker/color-picker.js +2 -2
  374. package/esm/constants.d.ts +16 -0
  375. package/esm/constants.js +4 -0
  376. package/esm/core/base/base-adapter.d.ts +13 -1
  377. package/esm/core/base/base-adapter.js +17 -0
  378. package/esm/core/base/base-component.d.ts +0 -38
  379. package/esm/core/base/base-component.js +0 -4
  380. package/esm/core/base/base-focusable-component.d.ts +49 -0
  381. package/esm/core/base/base-focusable-component.js +90 -0
  382. package/esm/core/base/base-form-component.d.ts +45 -0
  383. package/esm/core/base/base-form-component.js +19 -0
  384. package/esm/core/base/base-nullable-form-component.d.ts +35 -0
  385. package/esm/core/base/base-nullable-form-component.js +20 -0
  386. package/esm/core/utils/feature-detection.d.ts +10 -0
  387. package/esm/core/utils/feature-detection.js +12 -0
  388. package/esm/core/utils/index.d.ts +2 -1
  389. package/esm/core/utils/index.js +2 -1
  390. package/esm/core/utils/reflect-utils.d.ts +107 -0
  391. package/esm/core/utils/reflect-utils.js +227 -0
  392. package/esm/core/utils/utils.d.ts +1 -1
  393. package/esm/date-picker/base/base-date-picker-utils.js +5 -8
  394. package/esm/field/field-constants.d.ts +8 -0
  395. package/esm/field/field-constants.js +10 -8
  396. package/esm/file-picker/file-picker-component-delegate.js +1 -1
  397. package/esm/file-picker/file-picker.js +1 -1
  398. package/esm/floating-action-button/floating-action-button-adapter.d.ts +20 -0
  399. package/esm/floating-action-button/floating-action-button-adapter.js +49 -0
  400. package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +19 -3
  401. package/esm/floating-action-button/floating-action-button-component-delegate.js +62 -14
  402. package/esm/floating-action-button/floating-action-button-constants.d.ts +19 -14
  403. package/esm/floating-action-button/floating-action-button-constants.js +15 -15
  404. package/esm/floating-action-button/floating-action-button-foundation.d.ts +27 -0
  405. package/esm/floating-action-button/floating-action-button-foundation.js +48 -0
  406. package/esm/floating-action-button/floating-action-button.d.ts +86 -25
  407. package/esm/floating-action-button/floating-action-button.js +117 -104
  408. package/esm/floating-action-button/index.d.ts +3 -1
  409. package/esm/floating-action-button/index.js +5 -3
  410. package/esm/focus-indicator/focus-indicator-adapter.d.ts +2 -2
  411. package/esm/focus-indicator/focus-indicator-adapter.js +3 -3
  412. package/esm/focus-indicator/focus-indicator-foundation.js +3 -2
  413. package/esm/focus-indicator/focus-indicator.js +2 -2
  414. package/esm/icon-button/icon-button-adapter.d.ts +12 -0
  415. package/esm/icon-button/icon-button-adapter.js +11 -0
  416. package/esm/icon-button/icon-button-component-delegate.d.ts +0 -4
  417. package/esm/icon-button/icon-button-component-delegate.js +8 -18
  418. package/esm/icon-button/icon-button-constants.d.ts +26 -17
  419. package/esm/icon-button/icon-button-constants.js +17 -28
  420. package/esm/icon-button/icon-button-foundation.d.ts +39 -0
  421. package/esm/icon-button/icon-button-foundation.js +122 -0
  422. package/esm/icon-button/icon-button.d.ts +120 -41
  423. package/esm/icon-button/icon-button.js +156 -213
  424. package/esm/icon-button/index.d.ts +3 -1
  425. package/esm/icon-button/index.js +3 -1
  426. package/esm/index.d.ts +2 -0
  427. package/esm/index.js +6 -2
  428. package/esm/label/index.d.ts +11 -0
  429. package/esm/label/index.js +15 -0
  430. package/esm/label/label-adapter.d.ts +51 -0
  431. package/esm/label/label-adapter.js +102 -0
  432. package/esm/label/label-aware.d.ts +15 -0
  433. package/esm/label/label-aware.js +13 -0
  434. package/esm/label/label-constants.d.ts +17 -0
  435. package/esm/label/label-constants.js +31 -0
  436. package/esm/label/label-foundation.d.ts +40 -0
  437. package/esm/label/label-foundation.js +108 -0
  438. package/esm/label/label.d.ts +49 -0
  439. package/esm/label/label.js +80 -0
  440. package/esm/linear-progress/linear-progress-adapter.d.ts +2 -2
  441. package/esm/linear-progress/linear-progress-adapter.js +14 -6
  442. package/esm/linear-progress/linear-progress-constants.d.ts +3 -1
  443. package/esm/linear-progress/linear-progress-constants.js +1 -1
  444. package/esm/linear-progress/linear-progress-foundation.d.ts +6 -1
  445. package/esm/linear-progress/linear-progress-foundation.js +15 -5
  446. package/esm/linear-progress/linear-progress.d.ts +9 -2
  447. package/esm/linear-progress/linear-progress.js +16 -7
  448. package/esm/list/list/list-adapter.js +0 -1
  449. package/esm/list/list/list.js +1 -1
  450. package/esm/list/list-item/list-item-adapter.d.ts +12 -4
  451. package/esm/list/list-item/list-item-adapter.js +36 -5
  452. package/esm/list/list-item/list-item-constants.d.ts +4 -0
  453. package/esm/list/list-item/list-item-constants.js +3 -1
  454. package/esm/list/list-item/list-item-foundation.d.ts +9 -0
  455. package/esm/list/list-item/list-item-foundation.js +34 -4
  456. package/esm/list/list-item/list-item.d.ts +15 -4
  457. package/esm/list/list-item/list-item.js +29 -6
  458. package/esm/menu/menu-constants.js +1 -1
  459. package/esm/menu/menu-foundation.js +0 -4
  460. package/esm/menu/menu.js +1 -1
  461. package/esm/paginator/paginator-adapter.d.ts +4 -2
  462. package/esm/paginator/paginator-adapter.js +21 -8
  463. package/esm/paginator/paginator-constants.js +4 -4
  464. package/esm/paginator/paginator-foundation.d.ts +2 -0
  465. package/esm/paginator/paginator-foundation.js +19 -16
  466. package/esm/paginator/paginator.d.ts +1 -0
  467. package/esm/paginator/paginator.js +5 -2
  468. package/esm/profile-card/profile-card-adapter.d.ts +5 -8
  469. package/esm/profile-card/profile-card-adapter.js +5 -16
  470. package/esm/profile-card/profile-card-constants.js +3 -3
  471. package/esm/profile-card/profile-card-foundation.d.ts +4 -1
  472. package/esm/profile-card/profile-card-foundation.js +24 -13
  473. package/esm/profile-card/profile-card.d.ts +1 -2
  474. package/esm/profile-card/profile-card.js +11 -8
  475. package/esm/quantity-field/quantity-field-constants.js +2 -2
  476. package/esm/select/core/base-select-foundation.js +3 -1
  477. package/esm/slider/slider-adapter.d.ts +1 -1
  478. package/esm/slider/slider-adapter.js +3 -2
  479. package/esm/slider/slider-constants.js +3 -3
  480. package/esm/slider/slider.d.ts +6 -11
  481. package/esm/slider/slider.js +11 -7
  482. package/esm/split-button/index.d.ts +10 -0
  483. package/esm/split-button/index.js +14 -0
  484. package/esm/split-button/split-button-adapter.d.ts +30 -0
  485. package/esm/split-button/split-button-adapter.js +84 -0
  486. package/esm/split-button/split-button-constants.d.ts +21 -0
  487. package/esm/split-button/split-button-constants.js +23 -0
  488. package/esm/split-button/split-button-foundation.d.ts +37 -0
  489. package/esm/split-button/split-button-foundation.js +77 -0
  490. package/esm/split-button/split-button.d.ts +57 -0
  491. package/esm/split-button/split-button.js +103 -0
  492. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  493. package/esm/state-layer/state-layer-adapter.js +1 -0
  494. package/esm/state-layer/state-layer-foundation.js +10 -1
  495. package/esm/state-layer/state-layer.js +1 -1
  496. package/esm/stepper/stepper/stepper-foundation.js +1 -1
  497. package/esm/switch/index.d.ts +2 -0
  498. package/esm/switch/index.js +2 -0
  499. package/esm/switch/switch-adapter.d.ts +30 -4
  500. package/esm/switch/switch-adapter.js +100 -18
  501. package/esm/switch/switch-component-delegate.d.ts +22 -7
  502. package/esm/switch/switch-component-delegate.js +63 -28
  503. package/esm/switch/switch-constants.d.ts +12 -2
  504. package/esm/switch/switch-constants.js +22 -11
  505. package/esm/switch/switch-foundation.d.ts +23 -4
  506. package/esm/switch/switch-foundation.js +63 -11
  507. package/esm/switch/switch.d.ts +28 -16
  508. package/esm/switch/switch.js +65 -36
  509. package/esm/table/table-foundation.d.ts +2 -0
  510. package/esm/table/table-foundation.js +17 -6
  511. package/esm/table/table-utils.js +13 -1
  512. package/esm/table/types.d.ts +1 -0
  513. package/esm/tabs/tab/tab.js +2 -2
  514. package/esm/tabs/tab-bar/tab-bar-adapter.js +17 -20
  515. package/esm/tabs/tab-bar/tab-bar.js +1 -1
  516. package/esm/time-picker/time-picker-adapter.js +5 -8
  517. package/esm/toast/toast-adapter.d.ts +1 -1
  518. package/esm/toast/toast-adapter.js +1 -1
  519. package/esm/toast/toast.js +2 -2
  520. package/esm/toolbar/toolbar.js +1 -1
  521. package/package.json +1 -3
  522. package/styles/app-bar/app-bar/_configuration.scss +16 -0
  523. package/styles/app-bar/app-bar/_core.scss +95 -0
  524. package/styles/app-bar/app-bar/_token-utils.scss +30 -0
  525. package/styles/app-bar/app-bar/app-bar.scss +142 -0
  526. package/styles/app-bar/app-bar/index.scss +8 -0
  527. package/styles/banner/banner.scss +0 -1
  528. package/styles/bottom-sheet/bottom-sheet.scss +0 -1
  529. package/styles/busy-indicator/_mixins.scss +1 -1
  530. package/styles/busy-indicator/busy-indicator.scss +0 -1
  531. package/styles/button/_configuration.scss +16 -0
  532. package/styles/button/_core.scss +183 -0
  533. package/styles/button/_token-utils.scss +30 -0
  534. package/styles/button/button.scss +221 -0
  535. package/styles/button/index.scss +8 -0
  536. package/styles/button-toggle/button-toggle/_mixins.scss +26 -7
  537. package/styles/calendar/calendar.scss +0 -4
  538. package/styles/{button/forge-button.scss → checkbox/_configuration.scss} +4 -3
  539. package/styles/checkbox/_core.scss +157 -0
  540. package/styles/checkbox/_token-utils.scss +30 -0
  541. package/styles/checkbox/checkbox.scss +143 -7
  542. package/styles/checkbox/index.scss +8 -0
  543. package/styles/chips/chip/_mixins.scss +21 -7
  544. package/styles/circular-progress/_configuration.scss +8 -15
  545. package/styles/circular-progress/_core.scss +21 -19
  546. package/styles/circular-progress/_token-utils.scss +30 -0
  547. package/styles/circular-progress/circular-progress.scss +51 -4
  548. package/styles/circular-progress/index.scss +1 -0
  549. package/styles/color-picker/color-picker.scss +0 -3
  550. package/styles/core/styles/_utils.scss +67 -4
  551. package/styles/core/styles/elevation/index.scss +10 -0
  552. package/styles/core/styles/spacing/index.scss +8 -1
  553. package/styles/core/styles/theme/index.scss +2 -0
  554. package/styles/core/styles/tokens/_token-utils.scss +118 -0
  555. package/styles/core/styles/tokens/app-bar/app-bar/_tokens.scss +35 -0
  556. package/styles/core/styles/tokens/button/_tokens.scss +115 -0
  557. package/styles/core/styles/tokens/checkbox/_tokens.scss +69 -0
  558. package/styles/core/styles/tokens/circular-progress/_tokens.scss +14 -3
  559. package/styles/core/styles/tokens/floating-action-button/_tokens.scss +66 -0
  560. package/styles/core/styles/tokens/focus-indicator/_tokens.scss +8 -5
  561. package/styles/core/styles/tokens/icon-button/_tokens.scss +106 -0
  562. package/styles/core/styles/tokens/index.scss +0 -1
  563. package/styles/core/styles/tokens/linear-progress/_tokens.scss +14 -3
  564. package/styles/core/styles/tokens/profile-card/_tokens.scss +19 -0
  565. package/styles/core/styles/tokens/shape/_tokens.scss +6 -0
  566. package/styles/core/styles/tokens/spacing/_tokens.scss +17 -1
  567. package/styles/core/styles/tokens/split-button/_tokens.scss +21 -0
  568. package/styles/core/styles/tokens/switch/_tokens.scss +4 -4
  569. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +1 -1
  570. package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +2 -2
  571. package/styles/core/styles/tokens/theme/_token-utils.scss +9 -5
  572. package/styles/core/styles/tokens/theme/_tokens.brand.scss +22 -0
  573. package/styles/core/styles/tokens/theme/_tokens.scss +3 -0
  574. package/styles/core/styles/tokens/typography/_tokens.label.scss +0 -1
  575. package/styles/core/styles/typography/index.scss +26 -1
  576. package/styles/file-picker/_mixins.scss +1 -1
  577. package/styles/floating-action-button/_configuration.scss +16 -0
  578. package/styles/floating-action-button/_core.scss +103 -0
  579. package/styles/floating-action-button/_token-utils.scss +30 -0
  580. package/styles/floating-action-button/floating-action-button.scss +129 -0
  581. package/styles/floating-action-button/index.scss +8 -0
  582. package/styles/focus-indicator/_animations.scss +6 -4
  583. package/styles/focus-indicator/_configuration.scss +2 -15
  584. package/styles/focus-indicator/_core.scss +20 -25
  585. package/styles/focus-indicator/_token-utils.scss +31 -0
  586. package/styles/focus-indicator/focus-indicator.scss +26 -21
  587. package/styles/focus-indicator/index.scss +1 -0
  588. package/styles/forge.scss +0 -3
  589. package/styles/icon-button/_configuration.scss +16 -0
  590. package/styles/icon-button/_core.scss +141 -0
  591. package/styles/icon-button/_token-utils.scss +30 -0
  592. package/styles/icon-button/icon-button.scss +349 -0
  593. package/styles/icon-button/index.scss +8 -0
  594. package/styles/label/_core.scss +17 -0
  595. package/styles/label/index.scss +6 -0
  596. package/styles/label/label.scss +18 -0
  597. package/styles/linear-progress/_animations.scss +3 -1
  598. package/styles/linear-progress/_configuration.scss +15 -16
  599. package/styles/linear-progress/_core.scss +17 -19
  600. package/styles/linear-progress/_token-utils.scss +31 -0
  601. package/styles/linear-progress/index.scss +1 -0
  602. package/styles/linear-progress/linear-progress.scss +42 -6
  603. package/styles/list/list/_configuration.scss +2 -4
  604. package/styles/list/list/_core.scss +3 -8
  605. package/styles/list/list/_token-utils.scss +30 -0
  606. package/styles/list/list/index.scss +1 -0
  607. package/styles/list/list/list.scss +11 -0
  608. package/styles/list/list-item/_configuration.scss +5 -61
  609. package/styles/list/list-item/_core.scss +51 -56
  610. package/styles/list/list-item/_token-utils.scss +30 -0
  611. package/styles/list/list-item/index.scss +1 -0
  612. package/styles/list/list-item/list-item.scss +12 -3
  613. package/styles/menu/menu.scss +1 -1
  614. package/styles/paginator/paginator.scss +0 -1
  615. package/styles/profile-card/_configuration.scss +10 -0
  616. package/styles/profile-card/_core.scss +58 -0
  617. package/styles/profile-card/_token-utils.scss +30 -0
  618. package/styles/profile-card/index.scss +8 -0
  619. package/styles/profile-card/profile-card.scss +55 -7
  620. package/styles/slider/_configuration.scss +5 -50
  621. package/styles/slider/_core.scss +58 -63
  622. package/styles/slider/_token-utils.scss +30 -0
  623. package/styles/slider/index.scss +1 -0
  624. package/styles/slider/slider.scss +26 -3
  625. package/styles/split-button/_configuration.scss +12 -0
  626. package/styles/split-button/_token-utils.scss +30 -0
  627. package/styles/split-button/index.scss +7 -0
  628. package/styles/split-button/split-button.scss +97 -0
  629. package/styles/state-layer/_configuration.scss +2 -9
  630. package/styles/state-layer/_core.scss +11 -16
  631. package/styles/state-layer/_token-utils.scss +31 -0
  632. package/styles/state-layer/index.scss +1 -0
  633. package/styles/state-layer/state-layer.scss +7 -0
  634. package/styles/switch/_configuration.scss +2 -87
  635. package/styles/switch/_core.scss +83 -86
  636. package/styles/switch/_token-utils.scss +30 -0
  637. package/styles/switch/index.scss +1 -0
  638. package/styles/switch/switch.scss +118 -84
  639. package/styles/table/_mixins.scss +20 -2
  640. package/styles/tabs/tab/_configuration.scss +7 -49
  641. package/styles/tabs/tab/_core.scss +27 -32
  642. package/styles/tabs/tab/_token-utils.scss +30 -0
  643. package/styles/tabs/tab/index.scss +1 -0
  644. package/styles/tabs/tab/tab.scss +87 -44
  645. package/styles/tabs/tab-bar/_configuration.scss +2 -5
  646. package/styles/tabs/tab-bar/_core.scss +26 -9
  647. package/styles/tabs/tab-bar/_token-utils.scss +30 -0
  648. package/styles/tabs/tab-bar/index.scss +2 -1
  649. package/styles/tabs/tab-bar/tab-bar.scss +68 -34
  650. package/styles/theme/_theme-dark.scss +0 -3
  651. package/styles/toast/_mixins.scss +1 -1
  652. package/styles/toast/toast.scss +0 -2
  653. package/styles/toolbar/_mixins.scss +0 -1
  654. package/styles/typography/forge-typography.scss +5 -2
  655. package/dist/button/forge-button.css +0 -6
  656. package/dist/esm/chunks/chunk.2LIWNFQK.js +0 -7
  657. package/dist/esm/chunks/chunk.3X4N4ZPY.js +0 -7
  658. package/dist/esm/chunks/chunk.3X4N4ZPY.js.map +0 -7
  659. package/dist/esm/chunks/chunk.436MTO6R.js +0 -7
  660. package/dist/esm/chunks/chunk.436MTO6R.js.map +0 -7
  661. package/dist/esm/chunks/chunk.4CXLGEJO.js +0 -7
  662. package/dist/esm/chunks/chunk.4CXLGEJO.js.map +0 -7
  663. package/dist/esm/chunks/chunk.4XJYS5WH.js +0 -7
  664. package/dist/esm/chunks/chunk.4XJYS5WH.js.map +0 -7
  665. package/dist/esm/chunks/chunk.7L66GZDN.js +0 -7
  666. package/dist/esm/chunks/chunk.7PPBXNAD.js +0 -7
  667. package/dist/esm/chunks/chunk.7PPBXNAD.js.map +0 -7
  668. package/dist/esm/chunks/chunk.A3ZDCBLA.js +0 -7
  669. package/dist/esm/chunks/chunk.A3ZDCBLA.js.map +0 -7
  670. package/dist/esm/chunks/chunk.CMRVP4EA.js +0 -7
  671. package/dist/esm/chunks/chunk.CZEF72BG.js +0 -12
  672. package/dist/esm/chunks/chunk.CZEF72BG.js.map +0 -7
  673. package/dist/esm/chunks/chunk.D5ZHKPCL.js +0 -7
  674. package/dist/esm/chunks/chunk.D5ZHKPCL.js.map +0 -7
  675. package/dist/esm/chunks/chunk.DH76CMUT.js +0 -7
  676. package/dist/esm/chunks/chunk.DH76CMUT.js.map +0 -7
  677. package/dist/esm/chunks/chunk.DLQSINSS.js +0 -7
  678. package/dist/esm/chunks/chunk.DLQSINSS.js.map +0 -7
  679. package/dist/esm/chunks/chunk.G6JWSERI.js +0 -7
  680. package/dist/esm/chunks/chunk.G6JWSERI.js.map +0 -7
  681. package/dist/esm/chunks/chunk.GO5A4GKZ.js +0 -7
  682. package/dist/esm/chunks/chunk.GO5A4GKZ.js.map +0 -7
  683. package/dist/esm/chunks/chunk.GWIXDVIA.js +0 -7
  684. package/dist/esm/chunks/chunk.GWIXDVIA.js.map +0 -7
  685. package/dist/esm/chunks/chunk.HGH6SSHZ.js +0 -7
  686. package/dist/esm/chunks/chunk.HGH6SSHZ.js.map +0 -7
  687. package/dist/esm/chunks/chunk.HJ23XQDJ.js +0 -7
  688. package/dist/esm/chunks/chunk.HJ23XQDJ.js.map +0 -7
  689. package/dist/esm/chunks/chunk.I5SFCLDD.js +0 -7
  690. package/dist/esm/chunks/chunk.IURDWGLD.js +0 -7
  691. package/dist/esm/chunks/chunk.IURDWGLD.js.map +0 -7
  692. package/dist/esm/chunks/chunk.JCO4M4PF.js +0 -7
  693. package/dist/esm/chunks/chunk.LNLO36U6.js +0 -7
  694. package/dist/esm/chunks/chunk.LV7XF22P.js +0 -7
  695. package/dist/esm/chunks/chunk.LV7XF22P.js.map +0 -7
  696. package/dist/esm/chunks/chunk.MHU452GM.js +0 -7
  697. package/dist/esm/chunks/chunk.MHU452GM.js.map +0 -7
  698. package/dist/esm/chunks/chunk.MLTEGJH6.js +0 -7
  699. package/dist/esm/chunks/chunk.MWWY5TX5.js +0 -7
  700. package/dist/esm/chunks/chunk.MWWY5TX5.js.map +0 -7
  701. package/dist/esm/chunks/chunk.O5GE3FFV.js +0 -7
  702. package/dist/esm/chunks/chunk.O5GE3FFV.js.map +0 -7
  703. package/dist/esm/chunks/chunk.OQ75YGB6.js +0 -7
  704. package/dist/esm/chunks/chunk.PCOOIP2H.js +0 -7
  705. package/dist/esm/chunks/chunk.PCOOIP2H.js.map +0 -7
  706. package/dist/esm/chunks/chunk.PDICDA2V.js +0 -7
  707. package/dist/esm/chunks/chunk.PDICDA2V.js.map +0 -7
  708. package/dist/esm/chunks/chunk.Q7BWJCT5.js +0 -7
  709. package/dist/esm/chunks/chunk.Q7BWJCT5.js.map +0 -7
  710. package/dist/esm/chunks/chunk.TCFKFKZW.js +0 -7
  711. package/dist/esm/chunks/chunk.TGVLYX5F.js +0 -7
  712. package/dist/esm/chunks/chunk.TGVLYX5F.js.map +0 -7
  713. package/dist/esm/chunks/chunk.TSH7BTC3.js +0 -7
  714. package/dist/esm/chunks/chunk.U5XNDTSZ.js +0 -7
  715. package/dist/esm/chunks/chunk.UAKQY7QB.js +0 -7
  716. package/dist/esm/chunks/chunk.UAKQY7QB.js.map +0 -7
  717. package/dist/esm/chunks/chunk.UAVC4YLD.js +0 -7
  718. package/dist/esm/chunks/chunk.UAVC4YLD.js.map +0 -7
  719. package/dist/esm/chunks/chunk.URFSXQKR.js +0 -7
  720. package/dist/esm/chunks/chunk.UZPZ6KUN.js +0 -7
  721. package/dist/esm/chunks/chunk.V6443MP3.js +0 -7
  722. package/dist/esm/chunks/chunk.V6443MP3.js.map +0 -7
  723. package/dist/esm/chunks/chunk.VAAID3SH.js +0 -7
  724. package/dist/esm/chunks/chunk.VAAID3SH.js.map +0 -7
  725. package/dist/esm/chunks/chunk.VPNDAKM3.js +0 -7
  726. package/dist/esm/chunks/chunk.VPNDAKM3.js.map +0 -7
  727. package/dist/esm/chunks/chunk.WCTSXMGU.js +0 -7
  728. package/dist/esm/chunks/chunk.WCTSXMGU.js.map +0 -7
  729. package/dist/esm/chunks/chunk.WOMYKBUG.js +0 -12
  730. package/dist/esm/chunks/chunk.WOMYKBUG.js.map +0 -7
  731. package/dist/esm/chunks/chunk.WVGIT7F7.js +0 -7
  732. package/dist/esm/chunks/chunk.WVGIT7F7.js.map +0 -7
  733. package/dist/esm/chunks/chunk.YOXZOPAC.js +0 -7
  734. package/dist/esm/chunks/chunk.YOXZOPAC.js.map +0 -7
  735. package/dist/esm/chunks/chunk.YP2NHWIW.js +0 -7
  736. package/dist/esm/chunks/chunk.YPA27RX7.js +0 -7
  737. package/dist/esm/chunks/chunk.YXXKPT6P.js +0 -7
  738. package/dist/esm/chunks/chunk.ZMUDT5UK.js +0 -7
  739. package/dist/esm/chunks/chunk.ZMUDT5UK.js.map +0 -7
  740. package/dist/floating-action-button/forge-floating-action-button.css +0 -6
  741. package/dist/icon-button/forge-icon-button.css +0 -6
  742. package/esm/app-bar/app-bar-adapter.d.ts +0 -43
  743. package/esm/app-bar/app-bar-adapter.js +0 -60
  744. package/esm/app-bar/app-bar-constants.js +0 -37
  745. package/esm/app-bar/app-bar-foundation.js +0 -70
  746. package/esm/app-bar/app-bar.d.ts +0 -38
  747. package/esm/app-bar/app-bar.js +0 -75
  748. package/esm/core/utils/a11y-utils.d.ts +0 -32
  749. package/esm/core/utils/a11y-utils.js +0 -111
  750. package/styles/app-bar/_mixins.scss +0 -249
  751. package/styles/app-bar/_variables.scss +0 -34
  752. package/styles/app-bar/app-bar.scss +0 -22
  753. package/styles/button/_button-base.scss +0 -183
  754. package/styles/button/_button-filled-theme.scss +0 -60
  755. package/styles/button/_button-filled.scss +0 -71
  756. package/styles/button/_button-outlined-theme.scss +0 -175
  757. package/styles/button/_button-outlined.scss +0 -76
  758. package/styles/button/_button-protected-theme.scss +0 -60
  759. package/styles/button/_button-protected.scss +0 -88
  760. package/styles/button/_button-ripple.scss +0 -69
  761. package/styles/button/_button-shared-theme.scss +0 -447
  762. package/styles/button/_button-text-theme.scss +0 -60
  763. package/styles/button/_button-text.scss +0 -57
  764. package/styles/button/_button.mixins.scss +0 -148
  765. package/styles/button/_mixins.scss +0 -183
  766. package/styles/checkbox/_checkbox-custom-properties.scss +0 -11
  767. package/styles/checkbox/_checkbox-theme.scss +0 -577
  768. package/styles/checkbox/_checkbox.mixins.scss +0 -595
  769. package/styles/floating-action-button/_extended-fab-theme.scss +0 -238
  770. package/styles/floating-action-button/_fab-custom-properties.scss +0 -29
  771. package/styles/floating-action-button/_fab-theme.scss +0 -541
  772. package/styles/floating-action-button/_fab.mixins.scss +0 -351
  773. package/styles/floating-action-button/forge-floating-action-button.scss +0 -16
  774. package/styles/icon-button/_mixins.scss +0 -345
  775. package/styles/icon-button/_variables.scss +0 -42
  776. package/styles/profile-card/_mixins.scss +0 -83
  777. /package/dist/esm/chunks/{chunk.PLNLLKP2.js.map → chunk.26E4L52W.js.map} +0 -0
  778. /package/dist/esm/chunks/{chunk.AY43NTAK.js.map → chunk.3UO6S3IK.js.map} +0 -0
  779. /package/dist/esm/chunks/{chunk.IXGXASHQ.js.map → chunk.4B5IOZAT.js.map} +0 -0
  780. /package/dist/esm/chunks/{chunk.WK2L7BPJ.js.map → chunk.4QDN5PM6.js.map} +0 -0
  781. /package/dist/esm/chunks/{chunk.C5ZUGOOC.js.map → chunk.57PXXJA6.js.map} +0 -0
  782. /package/dist/esm/chunks/{chunk.C7VEJINB.js.map → chunk.5C24LZNU.js.map} +0 -0
  783. /package/dist/esm/chunks/{chunk.C2MQN7MI.js.map → chunk.5H4G6BWX.js.map} +0 -0
  784. /package/dist/esm/chunks/{chunk.CQQSOTZ5.js.map → chunk.5VHUMZYS.js.map} +0 -0
  785. /package/dist/esm/chunks/{chunk.WJXDDQUK.js.map → chunk.7ABZUBTT.js.map} +0 -0
  786. /package/dist/esm/chunks/{chunk.ZREXLSAJ.js.map → chunk.7BGOH44S.js.map} +0 -0
  787. /package/dist/esm/chunks/{chunk.2WSXSOYB.js.map → chunk.7DHDFH5L.js.map} +0 -0
  788. /package/dist/esm/chunks/{chunk.UVJFHSMF.js.map → chunk.7PP6QHOM.js.map} +0 -0
  789. /package/dist/esm/chunks/{chunk.7L66GZDN.js.map → chunk.7UXLLUTN.js.map} +0 -0
  790. /package/dist/esm/chunks/{chunk.NDJZYFRT.js.map → chunk.B46Q3AFP.js.map} +0 -0
  791. /package/dist/esm/chunks/{chunk.EY37FYZ4.js.map → chunk.C5IB44HX.js.map} +0 -0
  792. /package/dist/esm/chunks/{chunk.6VSFLBZF.js.map → chunk.CTZ3AWDW.js.map} +0 -0
  793. /package/dist/esm/chunks/{chunk.HBCDD25D.js.map → chunk.DDXIHZFX.js.map} +0 -0
  794. /package/dist/esm/chunks/{chunk.VDGJ4UDL.js.map → chunk.DOEG3DWJ.js.map} +0 -0
  795. /package/dist/esm/chunks/{chunk.4USQ2AP6.js.map → chunk.DTKFE7YB.js.map} +0 -0
  796. /package/dist/esm/chunks/{chunk.IJ2I25V3.js.map → chunk.E3GVKR4E.js.map} +0 -0
  797. /package/dist/esm/chunks/{chunk.FK6NNHXH.js.map → chunk.F2EBSV5Z.js.map} +0 -0
  798. /package/dist/esm/chunks/{chunk.RNUGVHZF.js.map → chunk.G2BNY5QQ.js.map} +0 -0
  799. /package/dist/esm/chunks/{chunk.4JF54GDJ.js.map → chunk.GS72TBUD.js.map} +0 -0
  800. /package/dist/esm/chunks/{chunk.AQ7ROWO4.js.map → chunk.GT3VPSXY.js.map} +0 -0
  801. /package/dist/esm/chunks/{chunk.DABGA7I6.js.map → chunk.GWJ4QCSW.js.map} +0 -0
  802. /package/dist/esm/chunks/{chunk.RXLORASN.js.map → chunk.HHHBS6FB.js.map} +0 -0
  803. /package/dist/esm/chunks/{chunk.MLTEGJH6.js.map → chunk.I3NHK2S3.js.map} +0 -0
  804. /package/dist/esm/chunks/{chunk.HKSXC5VK.js.map → chunk.IEB5KRFQ.js.map} +0 -0
  805. /package/dist/esm/chunks/{chunk.OQAD6MFL.js.map → chunk.J3B5CWKT.js.map} +0 -0
  806. /package/dist/esm/chunks/{chunk.QNVVUUNQ.js.map → chunk.KLPF4CNX.js.map} +0 -0
  807. /package/dist/esm/chunks/{chunk.66X366TV.js.map → chunk.L4Y4RO5O.js.map} +0 -0
  808. /package/dist/esm/chunks/{chunk.RBFGJH3C.js.map → chunk.LMIKNDBS.js.map} +0 -0
  809. /package/dist/esm/chunks/{chunk.R2KOYHIZ.js.map → chunk.LSNAGIIH.js.map} +0 -0
  810. /package/dist/esm/chunks/{chunk.7M4HRJYP.js.map → chunk.LXX3YZYS.js.map} +0 -0
  811. /package/dist/esm/chunks/{chunk.W7H2ZYNR.js.map → chunk.NG6UZ4OL.js.map} +0 -0
  812. /package/dist/esm/chunks/{chunk.CMRVP4EA.js.map → chunk.NYYXUH3X.js.map} +0 -0
  813. /package/dist/esm/chunks/{chunk.DQVYB55P.js.map → chunk.NZKIFXBU.js.map} +0 -0
  814. /package/dist/esm/chunks/{chunk.AHAARGYM.js.map → chunk.OED5UCYT.js.map} +0 -0
  815. /package/dist/esm/chunks/{chunk.2LIWNFQK.js.map → chunk.OYO5O3NF.js.map} +0 -0
  816. /package/dist/esm/chunks/{chunk.7UJAI6P2.js.map → chunk.P7LC3YYW.js.map} +0 -0
  817. /package/dist/esm/chunks/{chunk.Z6AFASMO.js.map → chunk.PK7R6WDF.js.map} +0 -0
  818. /package/dist/esm/chunks/{chunk.WWTQAN4G.js.map → chunk.PSTGTQVK.js.map} +0 -0
  819. /package/dist/esm/chunks/{chunk.RWUJGZ3R.js.map → chunk.RZZBM3AW.js.map} +0 -0
  820. /package/dist/esm/chunks/{chunk.37JFBP4X.js.map → chunk.SNF35Y6C.js.map} +0 -0
  821. /package/dist/esm/chunks/{chunk.YPA27RX7.js.map → chunk.T34DG7BU.js.map} +0 -0
  822. /package/dist/esm/chunks/{chunk.HDO3WRH7.js.map → chunk.THWSN3X4.js.map} +0 -0
  823. /package/dist/esm/chunks/{chunk.E4TAHUQO.js.map → chunk.TZFUKJ24.js.map} +0 -0
  824. /package/dist/esm/chunks/{chunk.SEWAMWO6.js.map → chunk.U5WMRBSC.js.map} +0 -0
  825. /package/dist/esm/chunks/{chunk.PDSOXEMY.js.map → chunk.UWZWXNTW.js.map} +0 -0
  826. /package/dist/esm/chunks/{chunk.CBIHNCT5.js.map → chunk.W324TWF2.js.map} +0 -0
  827. /package/dist/esm/chunks/{chunk.ZYVXIP42.js.map → chunk.YKZ25J6B.js.map} +0 -0
  828. /package/dist/esm/chunks/{chunk.R6NA7SV2.js.map → chunk.ZSD7MMVB.js.map} +0 -0
@@ -10,14 +10,17 @@ import { ListItemFoundation } from './list-item-foundation';
10
10
  import { LIST_ITEM_CONSTANTS } from './list-item-constants';
11
11
  import { StateLayerComponent } from '../../state-layer';
12
12
  import { FocusIndicatorComponent } from '../../focus-indicator';
13
- const template = '<template><div class=\"forge-list-item\" tabindex=\"0\" part=\"root\"><slot name=\"leading\"></slot><slot name=\"avatar\"></slot><div class=\"text-container\" part=\"text-container\"><slot></slot><slot name=\"title\"></slot><slot name=\"primary-text\"></slot><slot name=\"subtitle\"></slot><slot name=\"secondary-text\"></slot><slot name=\"tertiary-text\"></slot><slot name=\"tertiary-title\"></slot></div><slot name=\"trailing\"></slot><forge-state-layer exportparts=\"surface:state-layer__surface\"></forge-state-layer><forge-focus-indicator exportparts=\"indicator:focus-indicator__indicator\" inward></forge-focus-indicator></div></template>';
14
- const styles = ':host{--_indent:var(--forge-list-item-indent, 56px);--_dense-indent:var(--forge-list-item-dense-indent, 48px);display:block;outline:0}:host([hidden]){display:none}:host([non-interactive]) .forge-list-item{cursor:initial}:host([disabled]) .forge-list-item{cursor:var(--_disabled-cursor);opacity:var(--_disabled-opacity)}:host([two-line]) .forge-list-item{height:var(--_two-line-height);min-height:var(--_two-line-height)}:host([three-line]) .forge-list-item{height:var(--_three-line-height);min-height:var(--_three-line-height)}:host([dense]) .forge-list-item{height:var(--_dense-one-line-height);min-height:var(--_dense-one-line-height)}:host([dense]) .text-container{font-size:var(--_dense-font-size)}:host([dense][indented]){-webkit-margin-start:var(--_dense-indent);margin-inline-start:var(--_dense-indent)}:host([dense][two-line]) .forge-list-item{height:var(--_dense-two-line-height);min-height:var(--_dense-two-line-height)}:host([dense][three-line]) .forge-list-item{height:var(--_dense-three-line-height);min-height:var(--_dense-three-line-height)}:host([selected]) .forge-list-item{color:var(--_selected-color)}:host([selected]) .forge-list-item::before{content:\"\";position:absolute;inset:0;border-radius:inherit;opacity:var(--_selected-opacity);background-color:var(--_selected-color)}:host([selected]) .forge-list-item ::slotted([slot=leading]),:host([selected]) .forge-list-item ::slotted([slot=trailing]){color:var(--_selected-color)}:host([selected]) .forge-list-item ::slotted([slot=leading]){color:var(--_leading-selected-color)}:host([selected]) .forge-list-item ::slotted([slot=trailing]){color:var(--_trailing-selected-color)}:host([selected]) .text-container{color:var(--_selected-color)}:host([selected]) forge-state-layer{--forge-state-layer-color:var(--_selected-color)}:host([indented]){-webkit-margin-start:var(--_indent);margin-inline-start:var(--_indent)}.forge-list-item{--_background-color:var(--forge-list-item-background-color, transparent);--_shape:var(--forge-list-item-shape, 0);--_padding:var(--forge-list-item-padding, 8px 16px);--_margin:var(--forge-list-item-margin, 0);--_height:var(--forge-list-item-height, 48px);--_dense-height:var(--forge-list-item-dense-height, 32px);--_cursor:var(--forge-list-item-cursor, pointer);--_supporting-text-color:var(--forge-list-item-supporting-text-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.54)));--_supporting-text-font-size:var(--forge-list-item-supporting-text-font-size, var(--forge-typography-body2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 1))));--_supporting-text-font-weight:var(--forge-list-item-supporting-text-font-weight, var(--forge-typography-body2-font-weight, 400));--_supporting-text-line-height:var(--forge-list-item-supporting-text-line-height, 1.5rem);--_selected-color:var(--forge-list-item-selected-color, var(--forge-theme-primary, #3f51b5));--_selected-opacity:var(--forge-list-item-selected-opacity, 0.08);--_selected-leading-color:var(--forge-list-item-selected-leading-color, var(--_selected-color));--_selected-trailing-color:var(--forge-list-item-selected-trailing-color, var(--_selected-color));--_selected-supporting-text-color:var(--forge-list-item-selected-supporting-text-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.54)));--_disabled-opacity:var(--forge-list-item-disabled-opacity, 0.38);--_disabled-cursor:var(--forge-list-item-disabled-cursor, not-allowed);--_one-line-height:var(--forge-list-item-one-line-height, var(--_height));--_two-line-height:var(--forge-list-item-two-line-height, var(--forge-list-item-height, 72px));--_three-line-height:var(--forge-list-item-three-line-height, var(--forge-list-item-height, 88px));--_dense-one-line-height:var(--forge-list-item-dense-one-line-height, var(--_dense-height));--_dense-two-line-height:var(--forge-list-item-dense-two-line-height, var(--forge-list-item-dense-height, 56px));--_dense-three-line-height:var(--forge-list-item-dense-three-line-height, var(--forge-list-item-dense-height, 72px));--_dense-font-size:var(--forge-list-item-dense-font-size, 0.875rem);--_dense-leading-margin-end:var(--forge-list-item-dense-leading-margin-end, var(--forge-list-item-leading-margin-end, 24px));--_dense-trailing-margin-start:var(--forge-list-item-dense-trailing-margin-start, var(--forge-list-item-trailing-margin-start, 24px));--_leading-margin-start:var(--forge-list-item-leading-margin-start, 0);--_leading-margin-end:var(--forge-list-item-leading-margin-end, 32px);--_leading-selected-color:var(--forge-list-item-leading-selected-color, var(--_selected-color));--_trailing-margin-start:var(--forge-list-item-trailing-margin-start, 32px);--_trailing-margin-end:var(--forge-list-item-trailing-margin-end, 0);--_trailing-selected-color:var(--forge-list-item-trailing-selected-color, var(--_selected-color));--_avatar-background-color:var(--forge-list-item-avatar-background-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.54)));--_avatar-color:var(--forge-list-item-avatar-color, var(--forge-theme-on-primary, #ffffff));--_avatar-shape:var(--forge-list-item-avatar-shape, var(--forge-shape-round, 50%));--_avatar-margin-start:var(--forge-list-item-avatar-margin-start, 0);--_avatar-margin-end:var(--forge-list-item-avatar-margin-end, 16px);--_avatar-size:var(--forge-list-item-avatar-size, 40px);position:relative;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;text-decoration:none;background-color:var(--_background-color);border-radius:var(--_shape);-webkit-tap-highlight-color:transparent;height:var(--_height);min-height:var(--_height);padding:var(--_padding);margin:var(--_margin);cursor:var(--_cursor)}a.forge-list-item{color:inherit}.text-container{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body2-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));letter-spacing:var(--forge-typography-body2-letter-spacing, .015625em);text-transform:var(--forge-typography-body2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body2-text-decoration,inherit);text-decoration:var(--forge-typography-body2-text-decoration,inherit);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:var(--_supporting-text-font-size);font-weight:var(--_supporting-text-font-weight);line-height:var(--_supporting-text-line-height);-webkit-box-flex:1;flex:1}slot[name=secondary-text]::slotted(*),slot[name=subtitle]::slotted(*),slot[name=tertiary-text]::slotted(*),slot[name=tertiary-title]::slotted(*){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body1-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-body1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, .875)));font-weight:var(--forge-typography-body1-font-weight,400);line-height:var(--forge-typography-body1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.125)));letter-spacing:var(--forge-typography-body1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-body1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body1-text-decoration,inherit);text-decoration:var(--forge-typography-body1-text-decoration,inherit);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--_supporting-text-color);display:block}:host([selected]) slot[name=secondary-text]::slotted(*),:host([selected]) slot[name=subtitle]::slotted(*),:host([selected]) slot[name=tertiary-text]::slotted(*),:host([selected]) slot[name=tertiary-title]::slotted(*){color:var(--_selected-supporting-text-color)}::slotted([slot=avatar]){background-color:var(--_avatar-background-color);color:var(--_avatar-color);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor;-webkit-margin-start:var(--_avatar-margin-start);margin-inline-start:var(--_avatar-margin-start);-webkit-margin-end:var(--_avatar-margin-end);margin-inline-end:var(--_avatar-margin-end);min-width:var(--_avatar-size);min-height:var(--_avatar-size);border-radius:var(--_avatar-shape)}::slotted([slot=leading]),::slotted([slot=trailing]){color:var(--_supporting-text-color);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor}::slotted([slot=leading]){-webkit-margin-start:var(--_leading-margin-start);margin-inline-start:var(--_leading-margin-start);-webkit-margin-end:var(--_leading-margin-end);margin-inline-end:var(--_leading-margin-end)}:host([selected]) ::slotted([slot=leading]){color:var(--_leading-selected-color)}:host([dense]) ::slotted([slot=leading]){-webkit-margin-end:var(--_dense-leading-margin-end);margin-inline-end:var(--_dense-leading-margin-end)}::slotted([slot=trailing]){-webkit-margin-start:var(--_trailing-margin-start);margin-inline-start:var(--_trailing-margin-start);-webkit-margin-end:var(--_trailing-margin-end);margin-inline-end:var(--_trailing-margin-end)}:host([selected]) ::slotted([slot=trailing]){color:var(--_trailing-selected-color)}:host([dense]) ::slotted([slot=trailing]){-webkit-margin-start:var(--_dense-trailing-margin-start);margin-inline-start:var(--_dense-trailing-margin-start)}:host([wrap]) .forge-list-item{height:auto}:host([wrap]) .text-container{white-space:normal;overflow:visible;text-overflow:clip}:host([wrap]) slot[name=secondary-text]::slotted(*),:host([wrap]) slot[name=subtitle]::slotted(*),:host([wrap]) slot[name=tertiary-text]::slotted(*),:host([wrap]) slot[name=tertiary-title]::slotted(*){white-space:normal;overflow:visible;text-overflow:clip}forge-focus-indicator{--forge-focus-indicator-shape:var(--forge-shape-medium, 4px)}forge-state-layer{border-radius:inherit}';
13
+ const template = '<template><div class=\"forge-list-item\" tabindex=\"0\" part=\"root\"><slot name=\"leading\"></slot><slot name=\"avatar\"></slot><div class=\"text-container\" part=\"text-container\"><slot></slot><slot name=\"title\"></slot><slot name=\"primary-text\"></slot><slot name=\"subtitle\"></slot><slot name=\"secondary-text\"></slot><slot name=\"tertiary-text\"></slot><slot name=\"tertiary-title\"></slot></div><slot name=\"trailing\"></slot><forge-state-layer exportparts=\"surface:state-layer\"></forge-state-layer><forge-focus-indicator part=\"focus-indicator\" inward></forge-focus-indicator></div></template>';
14
+ const styles = ':host{--_list-item-indent:var(--forge-list-item-indent, 56px);--_list-item-dense-indent:var(--forge-list-item-dense-indent, 48px)}:host{display:block;outline:0}:host([hidden]){display:none}:host([non-interactive]) .forge-list-item{cursor:initial}:host([disabled]) .forge-list-item{cursor:var(--_list-item-disabled-cursor);opacity:var(--_list-item-disabled-opacity)}:host([two-line]) .forge-list-item{height:var(--_list-item-two-line-height);min-height:var(--_list-item-two-line-height)}:host([three-line]) .forge-list-item{height:var(--_list-item-three-line-height);min-height:var(--_list-item-three-line-height)}:host([dense]) .forge-list-item{height:var(--_list-item-dense-one-line-height);min-height:var(--_list-item-dense-one-line-height)}:host([dense]) .text-container{font-size:var(--_list-item-dense-font-size)}:host([dense][indented]){-webkit-margin-start:var(--_list-item-dense-indent);margin-inline-start:var(--_list-item-dense-indent)}:host([dense][two-line]) .forge-list-item{height:var(--_list-item-dense-two-line-height);min-height:var(--_list-item-dense-two-line-height)}:host([dense][three-line]) .forge-list-item{height:var(--_list-item-dense-three-line-height);min-height:var(--_list-item-dense-three-line-height)}:host([selected]) .forge-list-item{color:var(--_list-item-selected-color)}:host([selected]) .forge-list-item::before{content:\"\";position:absolute;inset:0;border-radius:inherit;opacity:var(--_list-item-selected-opacity);background-color:var(--_list-item-selected-color)}:host([selected]) .forge-list-item ::slotted([slot=leading]),:host([selected]) .forge-list-item ::slotted([slot=trailing]){color:var(--_list-item-selected-color)}:host([selected]) .forge-list-item ::slotted([slot=leading]){color:var(--_list-item-leading-selected-color)}:host([selected]) .forge-list-item ::slotted([slot=trailing]){color:var(--_list-item-trailing-selected-color)}:host([selected]) .text-container{color:var(--_list-item-selected-color)}:host([selected]) forge-state-layer{--forge-state-layer-color:var(--_list-item-selected-color)}:host([indented]){-webkit-margin-start:var(--_list-item-indent);margin-inline-start:var(--_list-item-indent)}.forge-list-item{--_list-item-background-color:var(--forge-list-item-background-color, transparent);--_list-item-shape:var(--forge-list-item-shape, 0);--_list-item-padding:var(--forge-list-item-padding, 8px 16px);--_list-item-margin:var(--forge-list-item-margin, 0);--_list-item-height:var(--forge-list-item-height, 48px);--_list-item-dense-height:var(--forge-list-item-dense-height, 32px);--_list-item-cursor:var(--forge-list-item-cursor, pointer);--_list-item-supporting-text-color:var(--forge-list-item-supporting-text-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.54)));--_list-item-supporting-text-font-size:var(--forge-list-item-supporting-text-font-size, var(--forge-typography-body2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 1))));--_list-item-supporting-text-font-weight:var(--forge-list-item-supporting-text-font-weight, var(--forge-typography-body2-font-weight, 400));--_list-item-supporting-text-line-height:var(--forge-list-item-supporting-text-line-height, 1.5rem);--_list-item-selected-color:var(--forge-list-item-selected-color, var(--forge-theme-primary, #3f51b5));--_list-item-selected-opacity:var(--forge-list-item-selected-opacity, 0.08);--_list-item-selected-leading-color:var(--forge-list-item-selected-leading-color, var(--_list-item-selected-color));--_list-item-selected-trailing-color:var(--forge-list-item-selected-trailing-color, var(--_list-item-selected-color));--_list-item-selected-supporting-text-color:var(--forge-list-item-selected-supporting-text-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.54)));--_list-item-disabled-opacity:var(--forge-list-item-disabled-opacity, 0.38);--_list-item-disabled-cursor:var(--forge-list-item-disabled-cursor, not-allowed);--_list-item-one-line-height:var(--forge-list-item-one-line-height, var(--_list-item-height));--_list-item-two-line-height:var(--forge-list-item-two-line-height, var(--forge-list-item-height, 72px));--_list-item-three-line-height:var(--forge-list-item-three-line-height, var(--forge-list-item-height, 88px));--_list-item-dense-one-line-height:var(--forge-list-item-dense-one-line-height, var(--_list-item-dense-height));--_list-item-dense-two-line-height:var(--forge-list-item-dense-two-line-height, var(--forge-list-item-dense-height, 56px));--_list-item-dense-three-line-height:var(--forge-list-item-dense-three-line-height, var(--forge-list-item-dense-height, 72px));--_list-item-dense-font-size:var(--forge-list-item-dense-font-size, 0.875rem);--_list-item-dense-leading-margin-end:var(--forge-list-item-dense-leading-margin-end, var(--forge-list-item-leading-margin-end, 24px));--_list-item-dense-trailing-margin-start:var(--forge-list-item-dense-trailing-margin-start, var(--forge-list-item-trailing-margin-start, 24px));--_list-item-leading-margin-start:var(--forge-list-item-leading-margin-start, 0);--_list-item-leading-margin-end:var(--forge-list-item-leading-margin-end, 32px);--_list-item-leading-selected-color:var(--forge-list-item-leading-selected-color, var(--_list-item-selected-color));--_list-item-trailing-margin-start:var(--forge-list-item-trailing-margin-start, 32px);--_list-item-trailing-margin-end:var(--forge-list-item-trailing-margin-end, 0);--_list-item-trailing-selected-color:var(--forge-list-item-trailing-selected-color, var(--_list-item-selected-color));--_list-item-avatar-background-color:var(--forge-list-item-avatar-background-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.54)));--_list-item-avatar-color:var(--forge-list-item-avatar-color, var(--forge-theme-on-primary, #ffffff));--_list-item-avatar-shape:var(--forge-list-item-avatar-shape, var(--forge-shape-round, 50%));--_list-item-avatar-margin-start:var(--forge-list-item-avatar-margin-start, 0);--_list-item-avatar-margin-end:var(--forge-list-item-avatar-margin-end, 16px);--_list-item-avatar-size:var(--forge-list-item-avatar-size, 40px)}.forge-list-item{position:relative;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;text-decoration:none;background-color:var(--_list-item-background-color);border-radius:var(--_list-item-shape);-webkit-tap-highlight-color:transparent;height:var(--_list-item-height);min-height:var(--_list-item-height);padding:var(--_list-item-padding);margin:var(--_list-item-margin);cursor:var(--_list-item-cursor)}a.forge-list-item{color:inherit}.text-container{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body2-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));letter-spacing:var(--forge-typography-body2-letter-spacing, .015625em);text-transform:var(--forge-typography-body2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body2-text-decoration,inherit);text-decoration:var(--forge-typography-body2-text-decoration,inherit);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:var(--_list-item-supporting-text-font-size);font-weight:var(--_list-item-supporting-text-font-weight);line-height:var(--_list-item-supporting-text-line-height);-webkit-box-flex:1;flex:1}slot[name=secondary-text]::slotted(*),slot[name=subtitle]::slotted(*),slot[name=tertiary-text]::slotted(*),slot[name=tertiary-title]::slotted(*){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body1-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-body1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, .875)));font-weight:var(--forge-typography-body1-font-weight,400);line-height:var(--forge-typography-body1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.125)));letter-spacing:var(--forge-typography-body1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-body1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body1-text-decoration,inherit);text-decoration:var(--forge-typography-body1-text-decoration,inherit);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--_list-item-supporting-text-color);display:block}:host([selected]) slot[name=secondary-text]::slotted(*),:host([selected]) slot[name=subtitle]::slotted(*),:host([selected]) slot[name=tertiary-text]::slotted(*),:host([selected]) slot[name=tertiary-title]::slotted(*){color:var(--_list-item-selected-supporting-text-color)}::slotted([slot=avatar]){background-color:var(--_list-item-avatar-background-color);color:var(--_list-item-avatar-color);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor;-webkit-margin-start:var(--_list-item-avatar-margin-start);margin-inline-start:var(--_list-item-avatar-margin-start);-webkit-margin-end:var(--_list-item-avatar-margin-end);margin-inline-end:var(--_list-item-avatar-margin-end);min-width:var(--_list-item-avatar-size);min-height:var(--_list-item-avatar-size);border-radius:var(--_list-item-avatar-shape)}::slotted([slot=leading]),::slotted([slot=trailing]){color:var(--_list-item-supporting-text-color);display:-webkit-inline-box;display:inline-flex;flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;fill:currentColor}::slotted([slot=leading]){-webkit-margin-start:var(--_list-item-leading-margin-start);margin-inline-start:var(--_list-item-leading-margin-start);-webkit-margin-end:var(--_list-item-leading-margin-end);margin-inline-end:var(--_list-item-leading-margin-end)}:host([selected]) ::slotted([slot=leading]){color:var(--_list-item-leading-selected-color)}:host([dense]) ::slotted([slot=leading]){-webkit-margin-end:var(--_list-item-dense-leading-margin-end);margin-inline-end:var(--_list-item-dense-leading-margin-end)}::slotted([slot=trailing]){-webkit-margin-start:var(--_list-item-trailing-margin-start);margin-inline-start:var(--_list-item-trailing-margin-start);-webkit-margin-end:var(--_list-item-trailing-margin-end);margin-inline-end:var(--_list-item-trailing-margin-end)}:host([selected]) ::slotted([slot=trailing]){color:var(--_list-item-trailing-selected-color)}:host([dense]) ::slotted([slot=trailing]){-webkit-margin-start:var(--_list-item-dense-trailing-margin-start);margin-inline-start:var(--_list-item-dense-trailing-margin-start)}:host([wrap]) .forge-list-item{height:auto}:host([wrap]) .text-container{white-space:normal;overflow:visible;text-overflow:clip}:host([wrap]) slot[name=secondary-text]::slotted(*),:host([wrap]) slot[name=subtitle]::slotted(*),:host([wrap]) slot[name=tertiary-text]::slotted(*),:host([wrap]) slot[name=tertiary-title]::slotted(*){white-space:normal;overflow:visible;text-overflow:clip}forge-focus-indicator{z-index:1;--forge-focus-indicator-shape:var(--forge-shape-medium, 4px)}forge-state-layer{border-radius:inherit}';
15
15
  /**
16
16
  * @tag forge-list-item
17
17
  *
18
18
  * @summary List items are individual rows of content inside of a list.
19
19
  *
20
- * @property {string} href - The href of the list item. This forces the list item to render as an anchor element.
20
+ * @property {string} href - The href of the anchor. This forces the list item to render as an anchor element.
21
+ * @property {string} target - The target of the anchor when an `href` is set. Defaults to `'_blank'`.
22
+ * @property {boolean} download - The anchor download attribute.
23
+ * @property {boolean} rel - The anchor rel attribute.
21
24
  * @property {string} target - The target of the list item when an `href` is set. Defaults to `'_blank'`.
22
25
  * @property {boolean} nonInteractive - If true, the list item will not be interactive.
23
26
  * @property {boolean} static - If true, the list item will not be interactive. Deprecated use `nonInteractive` instead.
@@ -32,7 +35,10 @@ const styles = ':host{--_indent:var(--forge-list-item-indent, 56px);--_dense-ind
32
35
  * @property {boolean} threeLine - Sets the list item height to support at least three lines of text.
33
36
  * @property {boolean} wrap - Sets the list item to wrap its text content.
34
37
  *
35
- * @attribute {string} href - The href of the list item. This forces the list item to render as an anchor element.
38
+ * @attribute {string} href - The href of the anchor This forces the list item to render as an anchor element.
39
+ * @attribute {string} target - The target of the anchor when an `href` is set. Defaults to `'_blank'`.
40
+ * @attribute {boolean} download - The anchor download attribute.
41
+ * @attribute {boolean} rel - The anchor rel attribute.
36
42
  * @attribute {string} target - The target of the list item when an `href` is set. Defaults to `'_blank'`.
37
43
  * @attribute {boolean} non-interactive - If true, the list item will not be interactive.
38
44
  * @attribute {boolean} static - If true, the list item will not be interactive. Deprecated use `non-interactive` instead.
@@ -62,8 +68,8 @@ const styles = ':host{--_indent:var(--forge-list-item-indent, 56px);--_dense-ind
62
68
  *
63
69
  * @csspart root - The root container element.
64
70
  * @csspart text-container - The container for the text content.
65
- * @csspart focus-indicator__indicator - The forwarded focus indicator's internal indicator element.
66
- * @csspart state-layer__surface - The forwarded state layer's internal surface element.
71
+ * @csspart focus-indicator - The forwarded focus indicator's internal indicator element.
72
+ * @csspart state-layer - The forwarded state layer's internal surface element.
67
73
  *
68
74
  * @cssprop --forge-list-item-background-color - The background color.
69
75
  * @cssprop --forge-list-item-shape - The shape of the list item.
@@ -109,6 +115,8 @@ let ListItemComponent = class ListItemComponent extends HTMLElement {
109
115
  return [
110
116
  LIST_ITEM_CONSTANTS.observedAttributes.HREF,
111
117
  LIST_ITEM_CONSTANTS.observedAttributes.TARGET,
118
+ LIST_ITEM_CONSTANTS.observedAttributes.DOWNLOAD,
119
+ LIST_ITEM_CONSTANTS.observedAttributes.REL,
112
120
  LIST_ITEM_CONSTANTS.observedAttributes.STATIC,
113
121
  LIST_ITEM_CONSTANTS.observedAttributes.NON_INTERACTIVE,
114
122
  LIST_ITEM_CONSTANTS.observedAttributes.DISABLED,
@@ -142,6 +150,12 @@ let ListItemComponent = class ListItemComponent extends HTMLElement {
142
150
  case LIST_ITEM_CONSTANTS.observedAttributes.TARGET:
143
151
  this.target = newValue;
144
152
  break;
153
+ case LIST_ITEM_CONSTANTS.observedAttributes.DOWNLOAD:
154
+ this.download = newValue;
155
+ break;
156
+ case LIST_ITEM_CONSTANTS.observedAttributes.REL:
157
+ this.rel = newValue;
158
+ break;
145
159
  case LIST_ITEM_CONSTANTS.observedAttributes.NON_INTERACTIVE:
146
160
  case LIST_ITEM_CONSTANTS.observedAttributes.STATIC:
147
161
  this.nonInteractive = coerceBoolean(newValue);
@@ -181,6 +195,9 @@ let ListItemComponent = class ListItemComponent extends HTMLElement {
181
195
  focus() {
182
196
  this._foundation.setFocus();
183
197
  }
198
+ click() {
199
+ this._foundation.click();
200
+ }
184
201
  };
185
202
  __decorate([
186
203
  FoundationProperty()
@@ -188,6 +205,12 @@ __decorate([
188
205
  __decorate([
189
206
  FoundationProperty()
190
207
  ], ListItemComponent.prototype, "target", void 0);
208
+ __decorate([
209
+ FoundationProperty()
210
+ ], ListItemComponent.prototype, "download", void 0);
211
+ __decorate([
212
+ FoundationProperty()
213
+ ], ListItemComponent.prototype, "rel", void 0);
191
214
  __decorate([
192
215
  FoundationProperty()
193
216
  ], ListItemComponent.prototype, "static", void 0);
@@ -10,7 +10,7 @@ const classes = {
10
10
  MENU: 'mdc-menu'
11
11
  };
12
12
  const selectors = {
13
- TOGGLE: `.${elementName}__toggle,[${elementName}-toggle],button,[type=button],[role=button],a,[tabindex]:not([tabindex^="-"])`,
13
+ TOGGLE: `.${elementName}__toggle,[${elementName}-toggle],forge-button,forge-icon-button,forge-fab,button,[type=button],[role=button],a,[tabindex]:not([tabindex^="-"])`,
14
14
  MENU_LIST: 'forge-list'
15
15
  };
16
16
  const attributes = {
@@ -413,8 +413,6 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
413
413
  else {
414
414
  this.optionsFactory = undefined;
415
415
  // Intentional shallow copy of member properties. These member objects have properties that are references to functions.
416
- // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone
417
- // function to the core library.
418
416
  this._options = options.map(o => (Object.assign({}, o)));
419
417
  if (this._open) {
420
418
  this._mapIconToLeadingIcon();
@@ -433,8 +431,6 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
433
431
  return [];
434
432
  }
435
433
  // Intentional shallow copy of member properties. These member objects have properties that are references to functions.
436
- // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone
437
- // function to the core library.
438
434
  return this._flatOptions.map(o => (Object.assign({}, o)));
439
435
  }
440
436
  set optionsFactory(factory) {
package/esm/menu/menu.js CHANGED
@@ -16,7 +16,7 @@ import { MenuAdapter } from './menu-adapter';
16
16
  import { MENU_CONSTANTS } from './menu-constants';
17
17
  import { MenuFoundation } from './menu-foundation';
18
18
  const template = '<template><slot></slot></template>';
19
- const styles = ':host{display:inline-block}:host([hidden]){display:none}';
19
+ const styles = ':host{display:-webkit-inline-box;display:inline-flex}:host([hidden]){display:none}';
20
20
  /**
21
21
  * The web component class behind the `<forge-menu>` custom element.
22
22
  *
@@ -42,7 +42,8 @@ export interface IPaginatorAdapter extends IBaseAdapter {
42
42
  enableLastPageButton(): void;
43
43
  setAlternative(alternative: boolean): void;
44
44
  setAlignment(alignment: PaginatorAlternativeAlignment): void;
45
- handleFocusMove(from: PaginatorFieldIdentifier): void;
45
+ hasFocus(): boolean;
46
+ handleFocusMove(from?: PaginatorFieldIdentifier | null, options?: FocusOptions): void;
46
47
  }
47
48
  /**
48
49
  * Provides facilities for interacting with the internal DOM of `PaginatorComponent`.
@@ -95,6 +96,7 @@ export declare class PaginatorAdapter extends BaseAdapter<IPaginatorComponent> i
95
96
  enableLastPageButton(): void;
96
97
  setAlternative(alternative: boolean): void;
97
98
  setAlignment(alignment: PaginatorAlternativeAlignment): void;
98
- handleFocusMove(from: PaginatorFieldIdentifier): void;
99
+ hasFocus(): boolean;
100
+ handleFocusMove(from?: PaginatorFieldIdentifier, options?: FocusOptions): void;
99
101
  private _tryFocus;
100
102
  }
@@ -146,8 +146,11 @@ export class PaginatorAdapter extends BaseAdapter {
146
146
  break;
147
147
  }
148
148
  }
149
- handleFocusMove(from) {
150
- if (!this._component.matches(':focus')) {
149
+ hasFocus() {
150
+ return this._component.matches(':focus');
151
+ }
152
+ handleFocusMove(from, options) {
153
+ if (from && !this.hasFocus()) {
151
154
  return; // We can only move focus elsewhere within the element if the element already contains focus
152
155
  }
153
156
  switch (from) {
@@ -157,7 +160,7 @@ export class PaginatorAdapter extends BaseAdapter {
157
160
  this._lastPageButton,
158
161
  this._previousPageButton,
159
162
  this._pageSizeSelect
160
- ]);
163
+ ], options);
161
164
  break;
162
165
  case 'last':
163
166
  this._tryFocus([
@@ -165,7 +168,7 @@ export class PaginatorAdapter extends BaseAdapter {
165
168
  this._firstPageButton,
166
169
  this._nextPageButton,
167
170
  this._pageSizeSelect
168
- ]);
171
+ ], options);
169
172
  break;
170
173
  case 'previous':
171
174
  this._tryFocus([
@@ -181,7 +184,7 @@ export class PaginatorAdapter extends BaseAdapter {
181
184
  this._firstPageButton,
182
185
  this._lastPageButton,
183
186
  this._pageSizeSelect
184
- ]);
187
+ ], options);
185
188
  break;
186
189
  case 'page-size':
187
190
  this._tryFocus([
@@ -189,14 +192,24 @@ export class PaginatorAdapter extends BaseAdapter {
189
192
  this._lastPageButton,
190
193
  this._firstPageButton,
191
194
  this._previousPageButton
192
- ]);
195
+ ], options);
196
+ break;
197
+ default:
198
+ this._tryFocus([
199
+ this._firstPageButton,
200
+ this._previousPageButton,
201
+ this._nextPageButton,
202
+ this._lastPageButton,
203
+ this._pageSizeSelect
204
+ ], options);
193
205
  break;
194
206
  }
195
207
  }
196
- _tryFocus(elements) {
208
+ _tryFocus(elements, options) {
209
+ const preventScroll = typeof (options === null || options === void 0 ? void 0 : options.preventScroll) === 'boolean' ? options.preventScroll : true;
197
210
  for (const el of elements) {
198
211
  if (el && el.isConnected && !el.disabled) {
199
- el.focus();
212
+ el.focus(Object.assign(Object.assign({}, options), { preventScroll }));
200
213
  return;
201
214
  }
202
215
  }
@@ -24,11 +24,11 @@ const selectors = {
24
24
  LABEL: `.${classes.LABEL}`,
25
25
  PAGE_SIZE_SELECT: `.${classes.PAGE_SIZE_OPTIONS}`,
26
26
  RANGE_LABEL: `.${classes.RANGE_LABEL}`,
27
- FIRST_PAGE_BUTTON: `.${classes.FIRST_PAGE_BUTTON} > button`,
27
+ FIRST_PAGE_BUTTON: `.${classes.FIRST_PAGE_BUTTON}`,
28
28
  FIRST_PAGE_ICON_BUTTON: `.${classes.FIRST_PAGE_BUTTON}`,
29
- PREVIOUS_PAGE_BUTTON: `.${classes.PREVIOUS_PAGE_BUTTON} > button`,
30
- NEXT_PAGE_BUTTON: `.${classes.NEXT_PAGE_BUTTON} > button`,
31
- LAST_PAGE_BUTTON: `.${classes.LAST_PAGE_BUTTON} > button`,
29
+ PREVIOUS_PAGE_BUTTON: `.${classes.PREVIOUS_PAGE_BUTTON}`,
30
+ NEXT_PAGE_BUTTON: `.${classes.NEXT_PAGE_BUTTON}`,
31
+ LAST_PAGE_BUTTON: `.${classes.LAST_PAGE_BUTTON}`,
32
32
  LAST_PAGE_ICON_BUTTON: `.${classes.LAST_PAGE_BUTTON}`,
33
33
  ROOT: `.${classes.ROOT}`,
34
34
  RANGE_LABEL_ALTERNATIVE: `.${classes.RANGE_LABEL_ALTERNATIVE}`
@@ -13,6 +13,7 @@ export interface IPaginatorFoundation extends ICustomElementFoundation {
13
13
  total: number;
14
14
  pageSizeOptions: number[] | boolean;
15
15
  pageSizeLabel: string;
16
+ focus(options?: FocusOptions): void;
16
17
  }
17
18
  export declare class PaginatorFoundation {
18
19
  private _adapter;
@@ -36,6 +37,7 @@ export declare class PaginatorFoundation {
36
37
  constructor(_adapter: IPaginatorAdapter);
37
38
  initialize(): void;
38
39
  disconnect(): void;
40
+ focus(options?: FocusOptions): void;
39
41
  private _attachListeners;
40
42
  private _detachListeners;
41
43
  private _onFirstPage;
@@ -36,6 +36,9 @@ export class PaginatorFoundation {
36
36
  disconnect() {
37
37
  this._detachListeners();
38
38
  }
39
+ focus(options) {
40
+ this._adapter.handleFocusMove(null, options);
41
+ }
39
42
  _attachListeners() {
40
43
  this._adapter.attachPageSizeChangeListener(this._pageSizeListener);
41
44
  this._adapter.attachFirstPageListener(this._firstPageListener);
@@ -58,7 +61,7 @@ export class PaginatorFoundation {
58
61
  const firstPage = 0;
59
62
  const canPage = this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.FIRST_PAGE, { pageIndex: firstPage });
60
63
  if (canPage) {
61
- this._applyPageIndex(firstPage, { fromField: 'first' });
64
+ this._applyPageIndex(firstPage);
62
65
  }
63
66
  }
64
67
  _onPreviousPage(evt) {
@@ -69,7 +72,7 @@ export class PaginatorFoundation {
69
72
  const prevPage = this._pageIndex - 1;
70
73
  const canPage = this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.PREVIOUS_PAGE, { pageIndex: prevPage });
71
74
  if (canPage) {
72
- this._applyPageIndex(prevPage, { fromField: 'previous' });
75
+ this._applyPageIndex(prevPage);
73
76
  }
74
77
  }
75
78
  _onNextPage(evt) {
@@ -80,7 +83,7 @@ export class PaginatorFoundation {
80
83
  const nextPage = this._pageIndex + 1;
81
84
  const canPage = this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.NEXT_PAGE, { pageIndex: nextPage });
82
85
  if (canPage) {
83
- this._applyPageIndex(nextPage, { fromField: 'next' });
86
+ this._applyPageIndex(nextPage);
84
87
  }
85
88
  }
86
89
  _onLastPage(evt) {
@@ -91,7 +94,7 @@ export class PaginatorFoundation {
91
94
  const lastPage = this._getMaxPages();
92
95
  const canPage = this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.LAST_PAGE, { pageIndex: lastPage });
93
96
  if (canPage) {
94
- this._applyPageIndex(lastPage, { fromField: 'last' });
97
+ this._applyPageIndex(lastPage);
95
98
  }
96
99
  }
97
100
  _onPageSizeChanged(evt) {
@@ -99,7 +102,7 @@ export class PaginatorFoundation {
99
102
  const pageSize = Number(evt.detail);
100
103
  const canPage = this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.PAGE_SIZE, { pageIndex: 0, pageSize });
101
104
  if (canPage) {
102
- this._applyPageIndex(0, { fromField: 'page-size' });
105
+ this._applyPageIndex(0);
103
106
  this._applyPageSize(pageSize);
104
107
  }
105
108
  else {
@@ -127,32 +130,32 @@ export class PaginatorFoundation {
127
130
  }
128
131
  this._adapter.setRangeLabel(this._rangeLabel);
129
132
  }
130
- _syncInteractionState(fromField = null) {
133
+ _syncInteractionState() {
131
134
  this._adapter.enableFirstPageButton();
132
135
  this._adapter.enablePreviousPageButton();
133
136
  this._adapter.enableNextPageButton();
134
137
  this._adapter.enableLastPageButton();
135
138
  if (!this._hasFirstPage()) {
136
- if (fromField) {
137
- this._adapter.handleFocusMove(fromField);
139
+ if (this._adapter.hasFocus()) {
140
+ this._adapter.handleFocusMove('first');
138
141
  }
139
142
  this._adapter.disableFirstPageButton();
140
143
  }
141
144
  if (!this._hasPreviousPage()) {
142
- if (fromField) {
143
- this._adapter.handleFocusMove(fromField);
145
+ if (this._adapter.hasFocus()) {
146
+ this._adapter.handleFocusMove('previous');
144
147
  }
145
148
  this._adapter.disablePreviousPageButton();
146
149
  }
147
150
  if (!this._hasNextPage()) {
148
- if (fromField) {
149
- this._adapter.handleFocusMove(fromField);
151
+ if (this._adapter.hasFocus()) {
152
+ this._adapter.handleFocusMove('next');
150
153
  }
151
154
  this._adapter.disableNextPageButton();
152
155
  }
153
156
  if (!this._hasLastPage()) {
154
- if (fromField) {
155
- this._adapter.handleFocusMove(fromField);
157
+ if (this._adapter.hasFocus()) {
158
+ this._adapter.handleFocusMove('last');
156
159
  }
157
160
  this._adapter.disableLastPageButton();
158
161
  }
@@ -213,11 +216,11 @@ export class PaginatorFoundation {
213
216
  this._offset = this._pageIndex * this._pageSize;
214
217
  }
215
218
  }
216
- _applyPageIndex(value, { fromField = null } = {}) {
219
+ _applyPageIndex(value) {
217
220
  this._pageIndex = value;
218
221
  this._computeOffset();
219
222
  this._updateRangeLabel();
220
- this._syncInteractionState(fromField);
223
+ this._syncInteractionState();
221
224
  this._adapter.toggleHostAttribute(PAGINATOR_CONSTANTS.attributes.PAGE_INDEX, this._pageIndex != null, this._pageIndex.toString());
222
225
  }
223
226
  _applyPageSize(value) {
@@ -56,4 +56,5 @@ export declare class PaginatorComponent extends BaseComponent implements IPagina
56
56
  disabled: boolean;
57
57
  alternative: boolean;
58
58
  alignment: PaginatorAlternativeAlignment;
59
+ focus(options?: FocusOptions): void;
59
60
  }
@@ -14,8 +14,8 @@ import { SelectComponent } from '../select';
14
14
  import { IconComponent, IconRegistry } from '../icon';
15
15
  import { BaseComponent } from '../core/base/base-component';
16
16
  import { TooltipComponent } from '../tooltip';
17
- const template = '<template><div class=\"forge-paginator\" part=\"root\"><div class=\"forge-paginator__container\" part=\"container\"><div class=\"forge-paginator__label\" part=\"label\"></div><forge-select class=\"forge-paginator__page-size-options\" aria-label=\"Choose page size\" density=\"dense\" part=\"page-size-options\"></forge-select><div class=\"forge-paginator__range-label\" part=\"range-label\"></div><forge-icon-button class=\"forge-paginator__first-page\" part=\"first-page-button\"><button aria-label=\"First Page\" part=\"first-page-button-element\"><forge-icon name=\"first_page\" part=\"first-page-icon\"></forge-icon></button><forge-tooltip position=\"top\">Go to the first page</forge-tooltip></forge-icon-button><forge-icon-button class=\"forge-paginator__previous-page\" part=\"previous-page-button\"><button aria-label=\"Previous Page\" part=\"previous-page-button-element\"><forge-icon name=\"keyboard_arrow_left\" part=\"previous-page-button-icon\"></forge-icon></button><forge-tooltip position=\"top\">Go to the previous page</forge-tooltip></forge-icon-button><div class=\"forge-paginator__range-label--alternative\" part=\"range-label-alternative\"></div><forge-icon-button class=\"forge-paginator__next-page\" part=\"next-page-button\"><button aria-label=\"Next Page\" part=\"next-page-button-element\"><forge-icon name=\"keyboard_arrow_right\" part=\"next-page-icon\"></forge-icon></button><forge-tooltip position=\"top\">Go to the next page</forge-tooltip></forge-icon-button><forge-icon-button class=\"forge-paginator__last-page\" part=\"last-page-button\"><button aria-label=\"Last Page\" part=\"last-page-button-element\"><forge-icon name=\"last_page\" part=\"last-page-icon\"></forge-icon></button><forge-tooltip position=\"top\">Go to the last page</forge-tooltip></forge-icon-button></div></div></template>';
18
- const styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-paginator{display:inline-block}.forge-paginator--alternative{display:-webkit-box;display:flex}.forge-paginator--alternative .forge-paginator__label,.forge-paginator--alternative .forge-paginator__page-size-options,.forge-paginator--alternative .forge-paginator__range-label{display:none}.forge-paginator--alternative .forge-paginator__range-label--alternative{display:inline-block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);margin:0 12px}.forge-paginator__range-label--alternative{display:none}.forge-paginator__container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-paginator__label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:16px}.forge-paginator__page-size-options{margin-right:16px}.forge-paginator__range-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:8px}.forge-paginator__first-page,.forge-paginator__last-page,.forge-paginator__next-page,.forge-paginator__previous-page{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}:host{display:inline-block}:host([hidden]){display:none}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__container{-webkit-box-pack:center;justify-content:center}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__range-label--alternative{margin:0 auto}:host([alternative]) .forge-paginator--alignment-start .forge-paginator__container{-webkit-box-pack:start;justify-content:flex-start}:host([alternative]) .forge-paginator--alignment-end .forge-paginator__container{-webkit-box-pack:end;justify-content:flex-end}:host([alternative]) .forge-paginator .forge-paginator__container{-webkit-box-flex:1;flex:1}';
17
+ const template = '<template><div class=\"forge-paginator\" part=\"root\"><div class=\"forge-paginator__container\" part=\"container\"><div class=\"forge-paginator__label\" part=\"label\"></div><forge-select class=\"forge-paginator__page-size-options\" aria-label=\"Choose page size\" density=\"dense\" part=\"page-size-options\"></forge-select><div class=\"forge-paginator__range-label\" part=\"range-label\"></div><forge-icon-button class=\"forge-paginator__first-page\" part=\"first-page-button\" aria-label=\"First Page\" part=\"first-page-button-element\"><forge-icon name=\"first_page\" part=\"first-page-icon\"></forge-icon></forge-icon-button><forge-tooltip position=\"top\">Go to the first page</forge-tooltip><forge-icon-button class=\"forge-paginator__previous-page\" part=\"previous-page-button\" aria-label=\"Previous Page\" part=\"previous-page-button-element\"><forge-icon name=\"keyboard_arrow_left\" part=\"previous-page-button-icon\"></forge-icon></forge-icon-button><forge-tooltip position=\"top\">Go to the previous page</forge-tooltip><div class=\"forge-paginator__range-label--alternative\" part=\"range-label-alternative\"></div><forge-icon-button class=\"forge-paginator__next-page\" part=\"next-page-button\" aria-label=\"Next Page\" part=\"next-page-button-element\"><forge-icon name=\"keyboard_arrow_right\" part=\"next-page-icon\"></forge-icon></forge-icon-button><forge-tooltip position=\"top\">Go to the next page</forge-tooltip><forge-icon-button class=\"forge-paginator__last-page\" part=\"last-page-button\" aria-label=\"Last Page\" part=\"last-page-button-element\"><forge-icon name=\"last_page\" part=\"last-page-icon\"></forge-icon></forge-icon-button><forge-tooltip position=\"top\">Go to the last page</forge-tooltip></div></div></template>';
18
+ const styles = '.forge-paginator{display:inline-block}.forge-paginator--alternative{display:-webkit-box;display:flex}.forge-paginator--alternative .forge-paginator__label,.forge-paginator--alternative .forge-paginator__page-size-options,.forge-paginator--alternative .forge-paginator__range-label{display:none}.forge-paginator--alternative .forge-paginator__range-label--alternative{display:inline-block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);margin:0 12px}.forge-paginator__range-label--alternative{display:none}.forge-paginator__container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-paginator__label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:16px}.forge-paginator__page-size-options{margin-right:16px}.forge-paginator__range-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:8px}.forge-paginator__first-page,.forge-paginator__last-page,.forge-paginator__next-page,.forge-paginator__previous-page{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}:host{display:inline-block}:host([hidden]){display:none}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__container{-webkit-box-pack:center;justify-content:center}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__range-label--alternative{margin:0 auto}:host([alternative]) .forge-paginator--alignment-start .forge-paginator__container{-webkit-box-pack:start;justify-content:flex-start}:host([alternative]) .forge-paginator--alignment-end .forge-paginator__container{-webkit-box-pack:end;justify-content:flex-end}:host([alternative]) .forge-paginator .forge-paginator__container{-webkit-box-flex:1;flex:1}';
19
19
  /**
20
20
  * @tag forge-paginator
21
21
  */
@@ -89,6 +89,9 @@ let PaginatorComponent = class PaginatorComponent extends BaseComponent {
89
89
  break;
90
90
  }
91
91
  }
92
+ focus(options) {
93
+ this._foundation.focus(options);
94
+ }
92
95
  };
93
96
  __decorate([
94
97
  FoundationProperty()
@@ -3,6 +3,7 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
+ import { ExperimentalFocusOptions } from '../constants';
6
7
  import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';
7
8
  import { IProfileCardComponent } from './profile-card';
8
9
  export interface IProfileCardAdapter extends IBaseAdapter {
@@ -19,10 +20,8 @@ export interface IProfileCardAdapter extends IBaseAdapter {
19
20
  setProfileButtonText(value: string): void;
20
21
  setProfileButtonListener(listener: (evt: Event) => void): void;
21
22
  setSignOutButtonListener(listener: (evt: Event) => void): void;
22
- removeProfileButtonListener(listener: (evt: Event) => void): void;
23
- removeSignOutButtonListener(listener: (evt: Event) => void): void;
24
- requestProfileButtonFocus(): void;
25
- requestSignOutButtonFocus(): void;
23
+ requestProfileButtonFocus(options?: ExperimentalFocusOptions): void;
24
+ requestSignOutButtonFocus(options?: ExperimentalFocusOptions): void;
26
25
  }
27
26
  export declare class ProfileCardAdapter extends BaseAdapter<IProfileCardComponent> implements IProfileCardAdapter {
28
27
  private _fullNameElement;
@@ -45,8 +44,6 @@ export declare class ProfileCardAdapter extends BaseAdapter<IProfileCardComponen
45
44
  setProfileButtonText(value: string): void;
46
45
  setProfileButtonListener(listener: (evt: Event) => void): void;
47
46
  setSignOutButtonListener(listener: (evt: Event) => void): void;
48
- removeProfileButtonListener(listener: (evt: Event) => void): void;
49
- removeSignOutButtonListener(listener: (evt: Event) => void): void;
50
- requestProfileButtonFocus(): void;
51
- requestSignOutButtonFocus(): void;
47
+ requestProfileButtonFocus(options?: ExperimentalFocusOptions): void;
48
+ requestSignOutButtonFocus(options?: ExperimentalFocusOptions): void;
52
49
  }
@@ -18,17 +18,14 @@ export class ProfileCardAdapter extends BaseAdapter {
18
18
  this._signOutButton = getShadowElement(component, PROFILE_CARD_CONSTANTS.selectors.SIGN_OUT_BUTTON);
19
19
  }
20
20
  setFullName(value) {
21
- this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.FULL_NAME, value);
22
21
  this._fullNameElement.textContent = value;
23
22
  }
24
23
  setEmail(value) {
25
- this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.EMAIL, value);
26
24
  this._emailElement.textContent = value;
27
25
  }
28
26
  setAvatarText(value) {
29
- this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_TEXT, value);
30
- this._avatarElement.text = value;
31
27
  removeAllChildren(this._avatarElement);
28
+ this._avatarElement.text = value;
32
29
  }
33
30
  setAvatarIcon(value) {
34
31
  if (value) {
@@ -40,11 +37,9 @@ export class ProfileCardAdapter extends BaseAdapter {
40
37
  }
41
38
  }
42
39
  setAvatarImageUrl(value) {
43
- this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_IMAGE_URL, value);
44
40
  this._avatarElement.imageUrl = value;
45
41
  }
46
42
  setAvatarLetterCount(count) {
47
- this._component.setAttribute(PROFILE_CARD_CONSTANTS.attributes.AVATAR_LETTER_COUNT, String(count));
48
43
  this._avatarElement.letterCount = count;
49
44
  }
50
45
  setActionToolbarVisibility(isVisible) {
@@ -83,16 +78,10 @@ export class ProfileCardAdapter extends BaseAdapter {
83
78
  setSignOutButtonListener(listener) {
84
79
  this._signOutButton.addEventListener('click', listener);
85
80
  }
86
- removeProfileButtonListener(listener) {
87
- this._profileButton.removeEventListener('click', listener);
88
- }
89
- removeSignOutButtonListener(listener) {
90
- this._signOutButton.removeEventListener('click', listener);
91
- }
92
- requestProfileButtonFocus() {
93
- window.requestAnimationFrame(() => this._profileButton.focus());
81
+ requestProfileButtonFocus(options) {
82
+ window.requestAnimationFrame(() => this._profileButton.focus(options));
94
83
  }
95
- requestSignOutButtonFocus() {
96
- window.requestAnimationFrame(() => this._signOutButton.focus());
84
+ requestSignOutButtonFocus(options) {
85
+ window.requestAnimationFrame(() => this._signOutButton.focus(options));
97
86
  }
98
87
  }
@@ -18,9 +18,9 @@ const attributes = {
18
18
  AVATAR_LETTER_COUNT: 'avatar-letter-count'
19
19
  };
20
20
  const selectors = {
21
- FULL_NAME: '.forge-profile-card__full-name',
22
- EMAIL: '.forge-profile-card__email',
23
- AVATAR: '.forge-profile-card__info-avatar > forge-avatar',
21
+ FULL_NAME: '.full-name',
22
+ EMAIL: '.email',
23
+ AVATAR: '.avatar > forge-avatar',
24
24
  ACTION_TOOLBAR: '#action-toolbar',
25
25
  PROFILE_BUTTON: '#profile-button',
26
26
  SIGN_OUT_BUTTON: '#sign-out-button'
@@ -10,10 +10,13 @@ export interface IProfileCardFoundation extends ICustomElementFoundation {
10
10
  email: string;
11
11
  signOut: boolean;
12
12
  profile: boolean;
13
+ signOutText: string;
14
+ profileText: string;
13
15
  avatarText: string;
14
16
  avatarIcon: string;
15
17
  avatarImageUrl: string;
16
18
  avatarLetterCount: number;
19
+ focus(options?: FocusOptions): void;
17
20
  }
18
21
  export declare class ProfileCardFoundation implements IProfileCardFoundation {
19
22
  private _adapter;
@@ -31,7 +34,7 @@ export declare class ProfileCardFoundation implements IProfileCardFoundation {
31
34
  private _signOutListener;
32
35
  constructor(_adapter: IProfileCardAdapter);
33
36
  initialize(): void;
34
- private _requestInitialFocus;
37
+ focus(options?: FocusOptions): void;
35
38
  private _setActionVisibility;
36
39
  private _onProfileButtonClick;
37
40
  private _onSignOutButtonClick;