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

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 (709) hide show
  1. package/README.md +1 -6
  2. package/custom-elements.json +53072 -38831
  3. package/dist/esm/accordion/index.js +1 -1
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-area/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  20. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  21. package/dist/esm/button-toggle/index.js +1 -1
  22. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  23. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/{chunk.4USQ2AP6.js → chunk.2MSL7CYM.js} +2 -2
  32. package/dist/esm/chunks/chunk.2ZU6LWHE.js +7 -0
  33. package/dist/esm/chunks/chunk.2ZU6LWHE.js.map +7 -0
  34. package/dist/esm/chunks/{chunk.OXGOCF4L.js → chunk.36C6SIPW.js} +2 -2
  35. package/dist/esm/chunks/{chunk.OXGOCF4L.js.map → chunk.36C6SIPW.js.map} +2 -2
  36. package/dist/esm/chunks/chunk.36F2GVWS.js +7 -0
  37. package/dist/esm/chunks/chunk.36F2GVWS.js.map +7 -0
  38. package/dist/esm/chunks/{chunk.HDO3WRH7.js → chunk.3HCYRDRI.js} +2 -2
  39. package/dist/esm/chunks/{chunk.UVJFHSMF.js → chunk.3R4BUIQP.js} +2 -2
  40. package/dist/esm/chunks/{chunk.37JFBP4X.js → chunk.3ZPSN2QG.js} +2 -2
  41. package/dist/esm/chunks/chunk.4SPEX2GJ.js +7 -0
  42. package/dist/esm/chunks/chunk.4SPEX2GJ.js.map +7 -0
  43. package/dist/esm/chunks/chunk.4YFJVHXN.js +7 -0
  44. package/dist/esm/chunks/chunk.4YFJVHXN.js.map +7 -0
  45. package/dist/esm/chunks/chunk.5A2PA7TL.js +7 -0
  46. package/dist/esm/chunks/chunk.5A2PA7TL.js.map +7 -0
  47. package/dist/esm/chunks/chunk.5CSXPRL3.js +7 -0
  48. package/dist/esm/chunks/chunk.5CSXPRL3.js.map +7 -0
  49. package/dist/esm/chunks/chunk.5LVZVQXB.js +7 -0
  50. package/dist/esm/chunks/{chunk.Q7BWJCT5.js.map → chunk.5LVZVQXB.js.map} +2 -2
  51. package/dist/esm/chunks/{chunk.HKSXC5VK.js → chunk.5N4N6DL6.js} +2 -2
  52. package/dist/esm/chunks/{chunk.AQ7ROWO4.js → chunk.5PG6WIIX.js} +2 -2
  53. package/dist/esm/chunks/{chunk.CLD75EBJ.js → chunk.5RM65QPN.js} +2 -2
  54. package/dist/esm/chunks/{chunk.CLD75EBJ.js.map → chunk.5RM65QPN.js.map} +3 -3
  55. package/dist/esm/chunks/chunk.5WMYF27O.js +7 -0
  56. package/dist/esm/chunks/chunk.5WMYF27O.js.map +7 -0
  57. package/dist/esm/chunks/{chunk.C7VEJINB.js → chunk.675V42JS.js} +2 -2
  58. package/dist/esm/chunks/chunk.6M27ERWW.js +12 -0
  59. package/dist/esm/chunks/chunk.6M27ERWW.js.map +7 -0
  60. package/dist/esm/chunks/chunk.6NTYTHAL.js +7 -0
  61. package/dist/esm/chunks/chunk.6NTYTHAL.js.map +7 -0
  62. package/dist/esm/chunks/chunk.6ZNBFKNP.js +7 -0
  63. package/dist/esm/chunks/chunk.6ZNBFKNP.js.map +7 -0
  64. package/dist/esm/chunks/{chunk.5ASOX23Q.js → chunk.72JVXGHF.js} +2 -2
  65. package/dist/esm/chunks/{chunk.5ASOX23Q.js.map → chunk.72JVXGHF.js.map} +1 -1
  66. package/dist/esm/chunks/chunk.7V4BDSA5.js +7 -0
  67. package/dist/esm/chunks/chunk.7V4BDSA5.js.map +7 -0
  68. package/dist/esm/chunks/chunk.7VMJLHQY.js +7 -0
  69. package/dist/esm/chunks/chunk.7VMJLHQY.js.map +7 -0
  70. package/dist/esm/chunks/{chunk.OQAD6MFL.js → chunk.7ZROQ6D3.js} +2 -2
  71. package/dist/esm/chunks/{chunk.W7H2ZYNR.js → chunk.AMLT6XJP.js} +2 -2
  72. package/dist/esm/chunks/{chunk.TCFKFKZW.js → chunk.AMZZKEAE.js} +2 -2
  73. package/dist/esm/chunks/{chunk.DH76CMUT.js → chunk.APPY5AYL.js} +2 -2
  74. package/dist/esm/chunks/{chunk.7M4HRJYP.js → chunk.ARQMMZJL.js} +2 -2
  75. package/dist/esm/chunks/{chunk.QNVVUUNQ.js → chunk.AUBOJZQ7.js} +2 -2
  76. package/dist/esm/chunks/chunk.AUCBR6CC.js +7 -0
  77. package/dist/esm/chunks/{chunk.UAVC4YLD.js.map → chunk.AUCBR6CC.js.map} +2 -2
  78. package/dist/esm/chunks/{chunk.RXLORASN.js → chunk.BB4UF5RX.js} +2 -2
  79. package/dist/esm/chunks/chunk.BBCZNGT3.js +7 -0
  80. package/dist/esm/chunks/chunk.BBCZNGT3.js.map +7 -0
  81. package/dist/esm/chunks/chunk.BQ2X5SBP.js +7 -0
  82. package/dist/esm/chunks/{chunk.TSH7BTC3.js.map → chunk.BQ2X5SBP.js.map} +2 -2
  83. package/dist/esm/chunks/{chunk.NDJZYFRT.js → chunk.BTXY3XMJ.js} +2 -2
  84. package/dist/esm/chunks/{chunk.AY43NTAK.js → chunk.DTLZOIUQ.js} +2 -2
  85. package/dist/esm/chunks/chunk.EJX6RI4I.js +7 -0
  86. package/dist/esm/chunks/chunk.EJX6RI4I.js.map +7 -0
  87. package/dist/esm/chunks/chunk.EWK76SPH.js +7 -0
  88. package/dist/esm/chunks/chunk.EWK76SPH.js.map +7 -0
  89. package/dist/esm/chunks/chunk.FAXYCG55.js +7 -0
  90. package/dist/esm/chunks/chunk.FAXYCG55.js.map +7 -0
  91. package/dist/esm/chunks/chunk.FFHSUJFM.js +7 -0
  92. package/dist/esm/chunks/chunk.FFHSUJFM.js.map +7 -0
  93. package/dist/esm/chunks/{chunk.PLNLLKP2.js → chunk.FLWNOP42.js} +2 -2
  94. package/dist/esm/chunks/{chunk.IJ2I25V3.js → chunk.FXIWCHLW.js} +2 -2
  95. package/dist/esm/chunks/chunk.FYVDTZLF.js +7 -0
  96. package/dist/esm/chunks/{chunk.YP2NHWIW.js.map → chunk.FYVDTZLF.js.map} +2 -2
  97. package/dist/esm/chunks/{chunk.6VSFLBZF.js → chunk.G73KL7P2.js} +2 -2
  98. package/dist/esm/chunks/chunk.G7SMCLHQ.js +7 -0
  99. package/dist/esm/chunks/chunk.G7SMCLHQ.js.map +7 -0
  100. package/dist/esm/chunks/{chunk.PDSOXEMY.js → chunk.GNDKQPDV.js} +2 -2
  101. package/dist/esm/chunks/{chunk.RWUJGZ3R.js → chunk.HAKF2T2D.js} +2 -2
  102. package/dist/esm/chunks/{chunk.ZYVXIP42.js → chunk.HDG2GHKC.js} +2 -2
  103. package/dist/esm/chunks/{chunk.EY37FYZ4.js → chunk.HOLCNJXC.js} +2 -2
  104. package/dist/esm/chunks/{chunk.DQVYB55P.js → chunk.HRRJIFC5.js} +2 -2
  105. package/dist/esm/chunks/chunk.HSI7B43D.js +7 -0
  106. package/dist/esm/chunks/chunk.HSI7B43D.js.map +7 -0
  107. package/dist/esm/chunks/chunk.IAWYYNUU.js +7 -0
  108. package/dist/esm/chunks/chunk.IAWYYNUU.js.map +7 -0
  109. package/dist/esm/chunks/{chunk.WK2L7BPJ.js → chunk.IDMDBMBR.js} +2 -2
  110. package/dist/esm/chunks/{chunk.WJXDDQUK.js → chunk.IHAHJPMB.js} +2 -2
  111. package/dist/esm/chunks/chunk.IISWKFCX.js +7 -0
  112. package/dist/esm/chunks/chunk.IISWKFCX.js.map +7 -0
  113. package/dist/esm/chunks/{chunk.DABGA7I6.js → chunk.IMLJD35R.js} +2 -2
  114. package/dist/esm/chunks/{chunk.66X366TV.js → chunk.IT7XPDAV.js} +2 -2
  115. package/dist/esm/chunks/chunk.JAWV5Y5T.js +7 -0
  116. package/dist/esm/chunks/{chunk.I5SFCLDD.js.map → chunk.JAWV5Y5T.js.map} +3 -3
  117. package/dist/esm/chunks/{chunk.RNUGVHZF.js → chunk.JVLJH6PR.js} +2 -2
  118. package/dist/esm/chunks/chunk.KPJWP77R.js +7 -0
  119. package/dist/esm/chunks/{chunk.Z6AFASMO.js → chunk.KV5IKYG2.js} +2 -2
  120. package/dist/esm/chunks/chunk.KV67JXOC.js +7 -0
  121. package/dist/esm/chunks/{chunk.OQ75YGB6.js.map → chunk.KV67JXOC.js.map} +2 -2
  122. package/dist/esm/chunks/{chunk.7UJAI6P2.js → chunk.LCR4YH3O.js} +2 -2
  123. package/dist/esm/chunks/{chunk.2WSXSOYB.js → chunk.LOG6GQOK.js} +2 -2
  124. package/dist/esm/chunks/chunk.LUIKMPQR.js +7 -0
  125. package/dist/esm/chunks/chunk.LUIKMPQR.js.map +7 -0
  126. package/dist/esm/chunks/chunk.LUNKNRRH.js +7 -0
  127. package/dist/esm/chunks/chunk.LUNKNRRH.js.map +7 -0
  128. package/dist/esm/chunks/{chunk.VDGJ4UDL.js → chunk.MKJCHUJH.js} +2 -2
  129. package/dist/esm/chunks/{chunk.IXGXASHQ.js → chunk.MWYQRG5W.js} +2 -2
  130. package/dist/esm/chunks/{chunk.CBIHNCT5.js → chunk.NUMKGUCK.js} +2 -2
  131. package/dist/esm/chunks/{chunk.R6NA7SV2.js → chunk.O6V3YNMO.js} +2 -2
  132. package/dist/esm/chunks/chunk.OWZREAT6.js +15 -0
  133. package/dist/esm/chunks/chunk.OWZREAT6.js.map +7 -0
  134. package/dist/esm/chunks/chunk.PMYQY3D3.js +7 -0
  135. package/dist/esm/chunks/chunk.PMYQY3D3.js.map +7 -0
  136. package/dist/esm/chunks/chunk.PYR2OCCH.js +7 -0
  137. package/dist/esm/chunks/{chunk.LNLO36U6.js.map → chunk.PYR2OCCH.js.map} +2 -2
  138. package/dist/esm/chunks/chunk.QJCNMYD3.js +7 -0
  139. package/dist/esm/chunks/{chunk.URFSXQKR.js.map → chunk.QJCNMYD3.js.map} +2 -2
  140. package/dist/esm/chunks/{chunk.CQQSOTZ5.js → chunk.QLCVRJ3Q.js} +2 -2
  141. package/dist/esm/chunks/chunk.QLOYOZN3.js +7 -0
  142. package/dist/esm/chunks/{chunk.JCO4M4PF.js.map → chunk.QLOYOZN3.js.map} +3 -3
  143. package/dist/esm/chunks/chunk.QN5T26HH.js +7 -0
  144. package/dist/esm/chunks/chunk.QN5T26HH.js.map +7 -0
  145. package/dist/esm/chunks/chunk.QQRPV4RN.js +7 -0
  146. package/dist/esm/chunks/{chunk.YXXKPT6P.js.map → chunk.QQRPV4RN.js.map} +2 -2
  147. package/dist/esm/chunks/{chunk.E4TAHUQO.js → chunk.R6LQBI42.js} +2 -2
  148. package/dist/esm/chunks/{chunk.FK6NNHXH.js → chunk.RES7WDKH.js} +2 -2
  149. package/dist/esm/chunks/chunk.RP674CRC.js +7 -0
  150. package/dist/esm/chunks/chunk.S5QL4SPT.js +7 -0
  151. package/dist/esm/chunks/chunk.S5QL4SPT.js.map +7 -0
  152. package/dist/esm/chunks/{chunk.SEWAMWO6.js → chunk.SIRXAA3O.js} +2 -2
  153. package/dist/esm/chunks/{chunk.WWTQAN4G.js → chunk.SLJ6HDK7.js} +2 -2
  154. package/dist/esm/chunks/chunk.STB2FEUA.js +7 -0
  155. package/dist/esm/chunks/chunk.STB2FEUA.js.map +7 -0
  156. package/dist/esm/chunks/chunk.TBGMJQYJ.js +7 -0
  157. package/dist/esm/chunks/chunk.TBGMJQYJ.js.map +7 -0
  158. package/dist/esm/chunks/{chunk.RBFGJH3C.js → chunk.TU74SREL.js} +2 -2
  159. package/dist/esm/chunks/{chunk.4JF54GDJ.js → chunk.URJQNB3S.js} +2 -2
  160. package/dist/esm/chunks/{chunk.C2MQN7MI.js → chunk.V24M62MC.js} +2 -2
  161. package/dist/esm/chunks/chunk.VFKHRAWD.js +7 -0
  162. package/dist/esm/chunks/chunk.VFKHRAWD.js.map +7 -0
  163. package/dist/esm/chunks/{chunk.R2KOYHIZ.js → chunk.VO6YJCEU.js} +2 -2
  164. package/dist/esm/chunks/{chunk.C5ZUGOOC.js → chunk.W2LN45WY.js} +2 -2
  165. package/dist/esm/chunks/{chunk.4XJYS5WH.js → chunk.WMVYRDUJ.js} +2 -2
  166. package/dist/esm/chunks/{chunk.4XJYS5WH.js.map → chunk.WMVYRDUJ.js.map} +2 -2
  167. package/dist/esm/chunks/chunk.WY3E33CW.js +7 -0
  168. package/dist/esm/chunks/chunk.WY3E33CW.js.map +7 -0
  169. package/dist/esm/chunks/{chunk.HBCDD25D.js → chunk.XEFWZKHQ.js} +2 -2
  170. package/dist/esm/chunks/{chunk.MHU452GM.js → chunk.XLL7L2UB.js} +2 -2
  171. package/dist/esm/chunks/{chunk.UZPZ6KUN.js → chunk.XNFS7YIB.js} +2 -2
  172. package/dist/esm/chunks/{chunk.UZPZ6KUN.js.map → chunk.XNFS7YIB.js.map} +2 -2
  173. package/dist/esm/chunks/chunk.XYAZVLPR.js +7 -0
  174. package/dist/esm/chunks/{chunk.AHAARGYM.js → chunk.YAERJVPL.js} +2 -2
  175. package/dist/esm/chunks/chunk.YBZK6LJZ.js +7 -0
  176. package/dist/esm/chunks/chunk.YKIBREM5.js +7 -0
  177. package/dist/esm/chunks/chunk.YWAUEUAH.js +7 -0
  178. package/dist/esm/chunks/chunk.YWAUEUAH.js.map +7 -0
  179. package/dist/esm/chunks/{chunk.YIFI5D2X.js → chunk.Z5RROENA.js} +2 -2
  180. package/dist/esm/chunks/{chunk.YIFI5D2X.js.map → chunk.Z5RROENA.js.map} +3 -3
  181. package/dist/esm/chunks/{chunk.ZREXLSAJ.js → chunk.Z5ZLKM7W.js} +2 -2
  182. package/dist/esm/chunks/chunk.ZGRQDDHO.js +7 -0
  183. package/dist/esm/chunks/{chunk.U5XNDTSZ.js.map → chunk.ZGRQDDHO.js.map} +2 -2
  184. package/dist/esm/chunks/{chunk.TGVLYX5F.js → chunk.ZKM667OT.js} +2 -2
  185. package/dist/esm/chunks/{chunk.TGVLYX5F.js.map → chunk.ZKM667OT.js.map} +2 -2
  186. package/dist/esm/chunks/chunk.ZRSDTCSD.js +7 -0
  187. package/dist/esm/chunks/chunk.ZRSDTCSD.js.map +7 -0
  188. package/dist/esm/chunks/chunk.ZSZFWZAI.js +7 -0
  189. package/dist/esm/chunks/chunk.ZSZFWZAI.js.map +7 -0
  190. package/dist/esm/circular-progress/index.js +1 -1
  191. package/dist/esm/color-picker/index.js +1 -1
  192. package/dist/esm/core/base/index.js +1 -1
  193. package/dist/esm/core/index.js +1 -1
  194. package/dist/esm/core/utils/index.js +1 -1
  195. package/dist/esm/date-picker/index.js +1 -1
  196. package/dist/esm/date-range-picker/index.js +1 -1
  197. package/dist/esm/dialog/index.js +1 -1
  198. package/dist/esm/divider/index.js +1 -1
  199. package/dist/esm/drawer/base/index.js +1 -1
  200. package/dist/esm/drawer/drawer/index.js +1 -1
  201. package/dist/esm/drawer/index.js +1 -1
  202. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  203. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  204. package/dist/esm/expansion-panel/index.js +1 -1
  205. package/dist/esm/file-picker/index.js +1 -1
  206. package/dist/esm/floating-action-button/index.js +1 -1
  207. package/dist/esm/focus-indicator/index.js +1 -1
  208. package/dist/esm/icon/index.js +1 -1
  209. package/dist/esm/icon-button/index.js +1 -1
  210. package/dist/esm/index.js +1 -1
  211. package/dist/esm/inline-message/index.js +1 -1
  212. package/dist/esm/keyboard-shortcut/index.js +1 -1
  213. package/dist/esm/label/index.js +7 -0
  214. package/dist/esm/label/index.js.map +7 -0
  215. package/dist/esm/label-value/index.js +1 -1
  216. package/dist/esm/linear-progress/index.js +1 -1
  217. package/dist/esm/list/index.js +1 -1
  218. package/dist/esm/list/list/index.js +1 -1
  219. package/dist/esm/list/list-item/index.js +1 -1
  220. package/dist/esm/list-dropdown/index.js +1 -1
  221. package/dist/esm/menu/index.js +1 -1
  222. package/dist/esm/open-icon/index.js +1 -1
  223. package/dist/esm/page-state/index.js +1 -1
  224. package/dist/esm/paginator/index.js +1 -1
  225. package/dist/esm/popup/index.js +1 -1
  226. package/dist/esm/product-icon/index.js +1 -1
  227. package/dist/esm/profile-card/index.js +1 -1
  228. package/dist/esm/quantity-field/index.js +1 -1
  229. package/dist/esm/radio/index.js +1 -1
  230. package/dist/esm/ripple/index.js +1 -1
  231. package/dist/esm/scaffold/index.js +1 -1
  232. package/dist/esm/select/core/index.js +1 -1
  233. package/dist/esm/select/index.js +1 -1
  234. package/dist/esm/select/option/index.js +1 -1
  235. package/dist/esm/select/option-group/index.js +1 -1
  236. package/dist/esm/select/select/index.js +1 -1
  237. package/dist/esm/select/select-dropdown/index.js +1 -1
  238. package/dist/esm/skeleton/index.js +1 -1
  239. package/dist/esm/slider/index.js +1 -1
  240. package/dist/esm/split-button/index.js +7 -0
  241. package/dist/esm/split-button/index.js.map +7 -0
  242. package/dist/esm/split-view/index.js +1 -1
  243. package/dist/esm/split-view/split-view/index.js +1 -1
  244. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  245. package/dist/esm/stack/index.js +1 -1
  246. package/dist/esm/state-layer/index.js +1 -1
  247. package/dist/esm/stepper/index.js +1 -1
  248. package/dist/esm/stepper/step/index.js +1 -1
  249. package/dist/esm/stepper/stepper/index.js +1 -1
  250. package/dist/esm/switch/index.js +1 -1
  251. package/dist/esm/table/index.js +1 -1
  252. package/dist/esm/tabs/index.js +1 -1
  253. package/dist/esm/tabs/tab/index.js +1 -1
  254. package/dist/esm/tabs/tab-bar/index.js +1 -1
  255. package/dist/esm/text-field/index.js +1 -1
  256. package/dist/esm/time-picker/index.js +1 -1
  257. package/dist/esm/toast/index.js +1 -1
  258. package/dist/esm/toolbar/index.js +1 -1
  259. package/dist/esm/tooltip/index.js +1 -1
  260. package/dist/esm/view-switcher/index.js +1 -1
  261. package/dist/esm/view-switcher/view/index.js +1 -1
  262. package/dist/forge-dark.css +1 -1
  263. package/dist/forge.css +1 -1
  264. package/dist/table/forge-table.css +1 -1
  265. package/dist/theme/forge-theme.css +1 -1
  266. package/dist/typography/forge-typography.css +1 -1
  267. package/esm/app-bar/app-bar.js +1 -1
  268. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  269. package/esm/app-bar/menu-button/app-bar-menu-button.js +1 -1
  270. package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
  271. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +1 -1
  272. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  273. package/esm/autocomplete/autocomplete-foundation.js +2 -2
  274. package/esm/banner/banner-constants.js +1 -1
  275. package/esm/banner/banner.js +2 -2
  276. package/esm/bottom-sheet/bottom-sheet.js +1 -1
  277. package/esm/busy-indicator/busy-indicator.js +2 -2
  278. package/esm/button/base/base-button-adapter.d.ts +72 -0
  279. package/esm/button/base/base-button-adapter.js +250 -0
  280. package/esm/button/base/base-button-constants.d.ts +41 -0
  281. package/esm/button/base/base-button-constants.js +32 -0
  282. package/esm/button/base/base-button-foundation.d.ts +75 -0
  283. package/esm/button/base/base-button-foundation.js +234 -0
  284. package/esm/button/base/base-button.d.ts +51 -0
  285. package/esm/button/base/base-button.js +106 -0
  286. package/esm/button/button-adapter.d.ts +14 -0
  287. package/esm/button/button-adapter.js +14 -0
  288. package/esm/button/button-component-delegate.d.ts +4 -4
  289. package/esm/button/button-component-delegate.js +13 -17
  290. package/esm/button/button-constants.d.ts +10 -18
  291. package/esm/button/button-constants.js +6 -22
  292. package/esm/button/button-foundation.d.ts +25 -0
  293. package/esm/button/button-foundation.js +49 -0
  294. package/esm/button/button.d.ts +126 -30
  295. package/esm/button/button.js +160 -159
  296. package/esm/button/index.d.ts +3 -1
  297. package/esm/button/index.js +3 -1
  298. package/esm/button-toggle/button-toggle/button-toggle.js +1 -1
  299. package/esm/calendar/calendar-dom-utils.js +18 -30
  300. package/esm/calendar/calendar.js +1 -1
  301. package/esm/checkbox/checkbox-adapter.d.ts +50 -59
  302. package/esm/checkbox/checkbox-adapter.js +104 -186
  303. package/esm/checkbox/checkbox-component-delegate.d.ts +18 -9
  304. package/esm/checkbox/checkbox-component-delegate.js +58 -51
  305. package/esm/checkbox/checkbox-constants.d.ts +14 -56
  306. package/esm/checkbox/checkbox-constants.js +17 -50
  307. package/esm/checkbox/checkbox-foundation.d.ts +48 -18
  308. package/esm/checkbox/checkbox-foundation.js +139 -139
  309. package/esm/checkbox/checkbox.d.ts +120 -9
  310. package/esm/checkbox/checkbox.js +235 -36
  311. package/esm/checkbox/index.d.ts +1 -1
  312. package/esm/checkbox/index.js +1 -1
  313. package/esm/chip-field/chip-field-constants.d.ts +3 -0
  314. package/esm/chip-field/chip-field-constants.js +4 -0
  315. package/esm/chip-field/chip-field-foundation.d.ts +5 -0
  316. package/esm/chip-field/chip-field-foundation.js +20 -1
  317. package/esm/chip-field/chip-field.d.ts +5 -0
  318. package/esm/chip-field/chip-field.js +19 -1
  319. package/esm/chips/chip/chip.js +1 -1
  320. package/esm/circular-progress/circular-progress-constants.d.ts +4 -0
  321. package/esm/circular-progress/circular-progress-constants.js +2 -0
  322. package/esm/circular-progress/circular-progress-foundation.d.ts +9 -0
  323. package/esm/circular-progress/circular-progress-foundation.js +21 -0
  324. package/esm/circular-progress/circular-progress.d.ts +15 -2
  325. package/esm/circular-progress/circular-progress.js +25 -3
  326. package/esm/color-picker/color-picker.js +2 -2
  327. package/esm/constants.d.ts +7 -0
  328. package/esm/constants.js +4 -0
  329. package/esm/core/base/base-adapter.d.ts +13 -1
  330. package/esm/core/base/base-adapter.js +17 -0
  331. package/esm/core/base/base-component.d.ts +0 -38
  332. package/esm/core/base/base-component.js +0 -4
  333. package/esm/core/base/base-focusable-component.d.ts +49 -0
  334. package/esm/core/base/base-focusable-component.js +90 -0
  335. package/esm/core/base/base-form-component.d.ts +45 -0
  336. package/esm/core/base/base-form-component.js +19 -0
  337. package/esm/core/base/base-nullable-form-component.d.ts +35 -0
  338. package/esm/core/base/base-nullable-form-component.js +20 -0
  339. package/esm/core/utils/feature-detection.d.ts +10 -0
  340. package/esm/core/utils/feature-detection.js +12 -0
  341. package/esm/core/utils/index.d.ts +2 -1
  342. package/esm/core/utils/index.js +2 -1
  343. package/esm/core/utils/reflect-utils.d.ts +107 -0
  344. package/esm/core/utils/reflect-utils.js +227 -0
  345. package/esm/date-picker/base/base-date-picker-utils.js +5 -8
  346. package/esm/field/field-constants.d.ts +8 -0
  347. package/esm/field/field-constants.js +10 -8
  348. package/esm/file-picker/file-picker-component-delegate.js +1 -1
  349. package/esm/file-picker/file-picker.js +1 -1
  350. package/esm/focus-indicator/focus-indicator-adapter.d.ts +2 -2
  351. package/esm/focus-indicator/focus-indicator-adapter.js +3 -3
  352. package/esm/focus-indicator/focus-indicator-foundation.js +3 -2
  353. package/esm/focus-indicator/focus-indicator.js +1 -1
  354. package/esm/icon-button/icon-button-adapter.d.ts +12 -0
  355. package/esm/icon-button/icon-button-adapter.js +11 -0
  356. package/esm/icon-button/icon-button-component-delegate.d.ts +0 -4
  357. package/esm/icon-button/icon-button-component-delegate.js +8 -18
  358. package/esm/icon-button/icon-button-constants.d.ts +26 -17
  359. package/esm/icon-button/icon-button-constants.js +17 -28
  360. package/esm/icon-button/icon-button-foundation.d.ts +39 -0
  361. package/esm/icon-button/icon-button-foundation.js +122 -0
  362. package/esm/icon-button/icon-button.d.ts +69 -41
  363. package/esm/icon-button/icon-button.js +107 -213
  364. package/esm/index.d.ts +2 -0
  365. package/esm/index.js +4 -0
  366. package/esm/label/index.d.ts +11 -0
  367. package/esm/label/index.js +15 -0
  368. package/esm/label/label-adapter.d.ts +51 -0
  369. package/esm/label/label-adapter.js +102 -0
  370. package/esm/label/label-aware.d.ts +15 -0
  371. package/esm/label/label-aware.js +13 -0
  372. package/esm/label/label-constants.d.ts +17 -0
  373. package/esm/label/label-constants.js +31 -0
  374. package/esm/label/label-foundation.d.ts +40 -0
  375. package/esm/label/label-foundation.js +106 -0
  376. package/esm/label/label.d.ts +49 -0
  377. package/esm/label/label.js +80 -0
  378. package/esm/linear-progress/linear-progress-constants.d.ts +3 -0
  379. package/esm/linear-progress/linear-progress-constants.js +1 -0
  380. package/esm/linear-progress/linear-progress-foundation.d.ts +5 -0
  381. package/esm/linear-progress/linear-progress-foundation.js +13 -3
  382. package/esm/linear-progress/linear-progress.d.ts +8 -1
  383. package/esm/linear-progress/linear-progress.js +13 -2
  384. package/esm/list/list/list-adapter.js +0 -1
  385. package/esm/list/list/list.js +1 -1
  386. package/esm/list/list-item/list-item-adapter.d.ts +12 -4
  387. package/esm/list/list-item/list-item-adapter.js +36 -5
  388. package/esm/list/list-item/list-item-constants.d.ts +4 -0
  389. package/esm/list/list-item/list-item-constants.js +3 -1
  390. package/esm/list/list-item/list-item-foundation.d.ts +9 -0
  391. package/esm/list/list-item/list-item-foundation.js +34 -4
  392. package/esm/list/list-item/list-item.d.ts +15 -4
  393. package/esm/list/list-item/list-item.js +29 -6
  394. package/esm/menu/menu-constants.js +1 -1
  395. package/esm/menu/menu-foundation.js +0 -4
  396. package/esm/menu/menu.js +1 -1
  397. package/esm/paginator/paginator-adapter.d.ts +4 -2
  398. package/esm/paginator/paginator-adapter.js +21 -8
  399. package/esm/paginator/paginator-constants.js +4 -4
  400. package/esm/paginator/paginator-foundation.d.ts +2 -0
  401. package/esm/paginator/paginator-foundation.js +19 -16
  402. package/esm/paginator/paginator.d.ts +1 -0
  403. package/esm/paginator/paginator.js +5 -2
  404. package/esm/profile-card/profile-card.js +2 -2
  405. package/esm/quantity-field/quantity-field-constants.js +2 -2
  406. package/esm/select/core/base-select-foundation.js +3 -1
  407. package/esm/slider/slider-adapter.d.ts +1 -1
  408. package/esm/slider/slider-adapter.js +3 -2
  409. package/esm/slider/slider-constants.js +3 -3
  410. package/esm/slider/slider.d.ts +6 -11
  411. package/esm/slider/slider.js +11 -7
  412. package/esm/split-button/index.d.ts +10 -0
  413. package/esm/split-button/index.js +14 -0
  414. package/esm/split-button/split-button-adapter.d.ts +30 -0
  415. package/esm/split-button/split-button-adapter.js +84 -0
  416. package/esm/split-button/split-button-constants.d.ts +21 -0
  417. package/esm/split-button/split-button-constants.js +23 -0
  418. package/esm/split-button/split-button-foundation.d.ts +37 -0
  419. package/esm/split-button/split-button-foundation.js +77 -0
  420. package/esm/split-button/split-button.d.ts +57 -0
  421. package/esm/split-button/split-button.js +103 -0
  422. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  423. package/esm/state-layer/state-layer-adapter.js +1 -0
  424. package/esm/state-layer/state-layer-foundation.js +10 -1
  425. package/esm/state-layer/state-layer.js +1 -1
  426. package/esm/stepper/stepper/stepper-foundation.js +1 -1
  427. package/esm/switch/index.d.ts +2 -0
  428. package/esm/switch/index.js +2 -0
  429. package/esm/switch/switch-adapter.d.ts +30 -4
  430. package/esm/switch/switch-adapter.js +100 -18
  431. package/esm/switch/switch-component-delegate.d.ts +22 -7
  432. package/esm/switch/switch-component-delegate.js +63 -28
  433. package/esm/switch/switch-constants.d.ts +12 -2
  434. package/esm/switch/switch-constants.js +22 -11
  435. package/esm/switch/switch-foundation.d.ts +23 -4
  436. package/esm/switch/switch-foundation.js +63 -11
  437. package/esm/switch/switch.d.ts +28 -16
  438. package/esm/switch/switch.js +65 -36
  439. package/esm/table/table-foundation.d.ts +2 -0
  440. package/esm/table/table-foundation.js +17 -6
  441. package/esm/table/table-utils.js +13 -1
  442. package/esm/table/types.d.ts +1 -0
  443. package/esm/tabs/tab/tab.js +2 -2
  444. package/esm/tabs/tab-bar/tab-bar-adapter.js +17 -20
  445. package/esm/tabs/tab-bar/tab-bar.js +1 -1
  446. package/esm/time-picker/time-picker-adapter.js +5 -8
  447. package/esm/toast/toast-adapter.d.ts +1 -1
  448. package/esm/toast/toast-adapter.js +1 -1
  449. package/esm/toast/toast.js +2 -2
  450. package/package.json +1 -2
  451. package/styles/app-bar/_mixins.scss +9 -4
  452. package/styles/banner/banner.scss +0 -1
  453. package/styles/bottom-sheet/bottom-sheet.scss +0 -1
  454. package/styles/busy-indicator/_mixins.scss +1 -1
  455. package/styles/busy-indicator/busy-indicator.scss +0 -1
  456. package/styles/button/_configuration.scss +16 -0
  457. package/styles/button/_core.scss +183 -0
  458. package/styles/button/_token-utils.scss +30 -0
  459. package/styles/button/button.scss +208 -0
  460. package/styles/button/index.scss +8 -0
  461. package/styles/button-toggle/button-toggle/_mixins.scss +26 -7
  462. package/styles/calendar/calendar.scss +0 -4
  463. package/styles/{button/forge-button.scss → checkbox/_configuration.scss} +4 -3
  464. package/styles/checkbox/_core.scss +157 -0
  465. package/styles/checkbox/_token-utils.scss +30 -0
  466. package/styles/checkbox/checkbox.scss +143 -7
  467. package/styles/checkbox/index.scss +8 -0
  468. package/styles/chips/chip/_mixins.scss +21 -7
  469. package/styles/circular-progress/_configuration.scss +8 -15
  470. package/styles/circular-progress/_core.scss +19 -19
  471. package/styles/circular-progress/_token-utils.scss +30 -0
  472. package/styles/circular-progress/circular-progress.scss +51 -4
  473. package/styles/circular-progress/index.scss +1 -0
  474. package/styles/color-picker/color-picker.scss +0 -3
  475. package/styles/core/styles/_utils.scss +67 -4
  476. package/styles/core/styles/spacing/index.scss +7 -0
  477. package/styles/core/styles/tokens/_token-utils.scss +118 -0
  478. package/styles/core/styles/tokens/button/_tokens.scss +115 -0
  479. package/styles/core/styles/tokens/checkbox/_tokens.scss +69 -0
  480. package/styles/core/styles/tokens/circular-progress/_tokens.scss +13 -3
  481. package/styles/core/styles/tokens/focus-indicator/_tokens.scss +8 -5
  482. package/styles/core/styles/tokens/icon-button/_tokens.scss +106 -0
  483. package/styles/core/styles/tokens/index.scss +0 -1
  484. package/styles/core/styles/tokens/linear-progress/_tokens.scss +14 -3
  485. package/styles/core/styles/tokens/spacing/_tokens.scss +15 -1
  486. package/styles/core/styles/tokens/split-button/_tokens.scss +21 -0
  487. package/styles/core/styles/tokens/switch/_tokens.scss +4 -4
  488. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +1 -1
  489. package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +2 -2
  490. package/styles/core/styles/tokens/theme/_token-utils.scss +8 -4
  491. package/styles/core/styles/tokens/typography/_tokens.label.scss +0 -1
  492. package/styles/core/styles/typography/index.scss +26 -1
  493. package/styles/file-picker/_mixins.scss +1 -1
  494. package/styles/focus-indicator/_animations.scss +6 -4
  495. package/styles/focus-indicator/_configuration.scss +2 -15
  496. package/styles/focus-indicator/_core.scss +20 -25
  497. package/styles/focus-indicator/_token-utils.scss +31 -0
  498. package/styles/focus-indicator/focus-indicator.scss +28 -6
  499. package/styles/focus-indicator/index.scss +1 -0
  500. package/styles/forge.scss +0 -2
  501. package/styles/icon-button/_configuration.scss +16 -0
  502. package/styles/icon-button/_core.scss +145 -0
  503. package/styles/icon-button/_token-utils.scss +30 -0
  504. package/styles/icon-button/icon-button.scss +315 -0
  505. package/styles/icon-button/index.scss +8 -0
  506. package/styles/label/_core.scss +17 -0
  507. package/styles/{icon-button/forge-icon-button.scss → label/index.scss} +1 -3
  508. package/styles/label/label.scss +18 -0
  509. package/styles/linear-progress/_animations.scss +3 -1
  510. package/styles/linear-progress/_configuration.scss +15 -16
  511. package/styles/linear-progress/_core.scss +17 -19
  512. package/styles/linear-progress/_token-utils.scss +31 -0
  513. package/styles/linear-progress/index.scss +1 -0
  514. package/styles/linear-progress/linear-progress.scss +42 -6
  515. package/styles/list/list/_configuration.scss +2 -4
  516. package/styles/list/list/_core.scss +3 -8
  517. package/styles/list/list/_token-utils.scss +30 -0
  518. package/styles/list/list/index.scss +1 -0
  519. package/styles/list/list/list.scss +11 -0
  520. package/styles/list/list-item/_configuration.scss +5 -61
  521. package/styles/list/list-item/_core.scss +51 -56
  522. package/styles/list/list-item/_token-utils.scss +30 -0
  523. package/styles/list/list-item/index.scss +1 -0
  524. package/styles/list/list-item/list-item.scss +10 -3
  525. package/styles/menu/menu.scss +1 -1
  526. package/styles/paginator/paginator.scss +0 -1
  527. package/styles/profile-card/profile-card.scss +0 -1
  528. package/styles/slider/_configuration.scss +5 -50
  529. package/styles/slider/_core.scss +58 -63
  530. package/styles/slider/_token-utils.scss +30 -0
  531. package/styles/slider/index.scss +1 -0
  532. package/styles/slider/slider.scss +26 -3
  533. package/styles/split-button/_configuration.scss +12 -0
  534. package/styles/split-button/_token-utils.scss +30 -0
  535. package/styles/split-button/index.scss +7 -0
  536. package/styles/split-button/split-button.scss +97 -0
  537. package/styles/state-layer/_configuration.scss +2 -9
  538. package/styles/state-layer/_core.scss +11 -16
  539. package/styles/state-layer/_token-utils.scss +31 -0
  540. package/styles/state-layer/index.scss +1 -0
  541. package/styles/state-layer/state-layer.scss +7 -0
  542. package/styles/switch/_configuration.scss +2 -87
  543. package/styles/switch/_core.scss +83 -86
  544. package/styles/switch/_token-utils.scss +30 -0
  545. package/styles/switch/index.scss +1 -0
  546. package/styles/switch/switch.scss +118 -84
  547. package/styles/table/_mixins.scss +20 -2
  548. package/styles/tabs/tab/_configuration.scss +7 -49
  549. package/styles/tabs/tab/_core.scss +27 -32
  550. package/styles/tabs/tab/_token-utils.scss +30 -0
  551. package/styles/tabs/tab/index.scss +1 -0
  552. package/styles/tabs/tab/tab.scss +87 -44
  553. package/styles/tabs/tab-bar/_configuration.scss +2 -5
  554. package/styles/tabs/tab-bar/_core.scss +26 -9
  555. package/styles/tabs/tab-bar/_token-utils.scss +30 -0
  556. package/styles/tabs/tab-bar/index.scss +2 -1
  557. package/styles/tabs/tab-bar/tab-bar.scss +68 -34
  558. package/styles/toast/_mixins.scss +1 -1
  559. package/styles/toast/toast.scss +0 -2
  560. package/styles/typography/forge-typography.scss +5 -2
  561. package/dist/button/forge-button.css +0 -6
  562. package/dist/esm/chunks/chunk.2LIWNFQK.js +0 -7
  563. package/dist/esm/chunks/chunk.3X4N4ZPY.js +0 -7
  564. package/dist/esm/chunks/chunk.3X4N4ZPY.js.map +0 -7
  565. package/dist/esm/chunks/chunk.436MTO6R.js +0 -7
  566. package/dist/esm/chunks/chunk.436MTO6R.js.map +0 -7
  567. package/dist/esm/chunks/chunk.4CXLGEJO.js +0 -7
  568. package/dist/esm/chunks/chunk.4CXLGEJO.js.map +0 -7
  569. package/dist/esm/chunks/chunk.7L66GZDN.js +0 -7
  570. package/dist/esm/chunks/chunk.7PPBXNAD.js +0 -7
  571. package/dist/esm/chunks/chunk.7PPBXNAD.js.map +0 -7
  572. package/dist/esm/chunks/chunk.A3ZDCBLA.js +0 -7
  573. package/dist/esm/chunks/chunk.A3ZDCBLA.js.map +0 -7
  574. package/dist/esm/chunks/chunk.CMRVP4EA.js +0 -7
  575. package/dist/esm/chunks/chunk.CZEF72BG.js +0 -12
  576. package/dist/esm/chunks/chunk.CZEF72BG.js.map +0 -7
  577. package/dist/esm/chunks/chunk.D5ZHKPCL.js +0 -7
  578. package/dist/esm/chunks/chunk.D5ZHKPCL.js.map +0 -7
  579. package/dist/esm/chunks/chunk.DLQSINSS.js +0 -7
  580. package/dist/esm/chunks/chunk.DLQSINSS.js.map +0 -7
  581. package/dist/esm/chunks/chunk.G6JWSERI.js +0 -7
  582. package/dist/esm/chunks/chunk.G6JWSERI.js.map +0 -7
  583. package/dist/esm/chunks/chunk.GO5A4GKZ.js +0 -7
  584. package/dist/esm/chunks/chunk.GO5A4GKZ.js.map +0 -7
  585. package/dist/esm/chunks/chunk.GWIXDVIA.js +0 -7
  586. package/dist/esm/chunks/chunk.GWIXDVIA.js.map +0 -7
  587. package/dist/esm/chunks/chunk.HGH6SSHZ.js +0 -7
  588. package/dist/esm/chunks/chunk.HGH6SSHZ.js.map +0 -7
  589. package/dist/esm/chunks/chunk.HJ23XQDJ.js +0 -7
  590. package/dist/esm/chunks/chunk.HJ23XQDJ.js.map +0 -7
  591. package/dist/esm/chunks/chunk.I5SFCLDD.js +0 -7
  592. package/dist/esm/chunks/chunk.IURDWGLD.js +0 -7
  593. package/dist/esm/chunks/chunk.IURDWGLD.js.map +0 -7
  594. package/dist/esm/chunks/chunk.JCO4M4PF.js +0 -7
  595. package/dist/esm/chunks/chunk.LNLO36U6.js +0 -7
  596. package/dist/esm/chunks/chunk.LV7XF22P.js +0 -7
  597. package/dist/esm/chunks/chunk.LV7XF22P.js.map +0 -7
  598. package/dist/esm/chunks/chunk.MLTEGJH6.js +0 -7
  599. package/dist/esm/chunks/chunk.MWWY5TX5.js +0 -7
  600. package/dist/esm/chunks/chunk.MWWY5TX5.js.map +0 -7
  601. package/dist/esm/chunks/chunk.O5GE3FFV.js +0 -7
  602. package/dist/esm/chunks/chunk.O5GE3FFV.js.map +0 -7
  603. package/dist/esm/chunks/chunk.OQ75YGB6.js +0 -7
  604. package/dist/esm/chunks/chunk.PCOOIP2H.js +0 -7
  605. package/dist/esm/chunks/chunk.PCOOIP2H.js.map +0 -7
  606. package/dist/esm/chunks/chunk.PDICDA2V.js +0 -7
  607. package/dist/esm/chunks/chunk.PDICDA2V.js.map +0 -7
  608. package/dist/esm/chunks/chunk.Q7BWJCT5.js +0 -7
  609. package/dist/esm/chunks/chunk.TSH7BTC3.js +0 -7
  610. package/dist/esm/chunks/chunk.U5XNDTSZ.js +0 -7
  611. package/dist/esm/chunks/chunk.UAKQY7QB.js +0 -7
  612. package/dist/esm/chunks/chunk.UAKQY7QB.js.map +0 -7
  613. package/dist/esm/chunks/chunk.UAVC4YLD.js +0 -7
  614. package/dist/esm/chunks/chunk.URFSXQKR.js +0 -7
  615. package/dist/esm/chunks/chunk.V6443MP3.js +0 -7
  616. package/dist/esm/chunks/chunk.V6443MP3.js.map +0 -7
  617. package/dist/esm/chunks/chunk.VAAID3SH.js +0 -7
  618. package/dist/esm/chunks/chunk.VAAID3SH.js.map +0 -7
  619. package/dist/esm/chunks/chunk.VPNDAKM3.js +0 -7
  620. package/dist/esm/chunks/chunk.VPNDAKM3.js.map +0 -7
  621. package/dist/esm/chunks/chunk.WCTSXMGU.js +0 -7
  622. package/dist/esm/chunks/chunk.WCTSXMGU.js.map +0 -7
  623. package/dist/esm/chunks/chunk.WOMYKBUG.js +0 -12
  624. package/dist/esm/chunks/chunk.WOMYKBUG.js.map +0 -7
  625. package/dist/esm/chunks/chunk.WVGIT7F7.js +0 -7
  626. package/dist/esm/chunks/chunk.WVGIT7F7.js.map +0 -7
  627. package/dist/esm/chunks/chunk.YOXZOPAC.js +0 -7
  628. package/dist/esm/chunks/chunk.YOXZOPAC.js.map +0 -7
  629. package/dist/esm/chunks/chunk.YP2NHWIW.js +0 -7
  630. package/dist/esm/chunks/chunk.YPA27RX7.js +0 -7
  631. package/dist/esm/chunks/chunk.YXXKPT6P.js +0 -7
  632. package/dist/esm/chunks/chunk.ZMUDT5UK.js +0 -7
  633. package/dist/esm/chunks/chunk.ZMUDT5UK.js.map +0 -7
  634. package/dist/icon-button/forge-icon-button.css +0 -6
  635. package/esm/core/utils/a11y-utils.d.ts +0 -32
  636. package/esm/core/utils/a11y-utils.js +0 -111
  637. package/styles/button/_button-base.scss +0 -183
  638. package/styles/button/_button-filled-theme.scss +0 -60
  639. package/styles/button/_button-filled.scss +0 -71
  640. package/styles/button/_button-outlined-theme.scss +0 -175
  641. package/styles/button/_button-outlined.scss +0 -76
  642. package/styles/button/_button-protected-theme.scss +0 -60
  643. package/styles/button/_button-protected.scss +0 -88
  644. package/styles/button/_button-ripple.scss +0 -69
  645. package/styles/button/_button-shared-theme.scss +0 -447
  646. package/styles/button/_button-text-theme.scss +0 -60
  647. package/styles/button/_button-text.scss +0 -57
  648. package/styles/button/_button.mixins.scss +0 -148
  649. package/styles/button/_mixins.scss +0 -183
  650. package/styles/checkbox/_checkbox-custom-properties.scss +0 -11
  651. package/styles/checkbox/_checkbox-theme.scss +0 -577
  652. package/styles/checkbox/_checkbox.mixins.scss +0 -595
  653. package/styles/icon-button/_mixins.scss +0 -345
  654. package/styles/icon-button/_variables.scss +0 -42
  655. /package/dist/esm/chunks/{chunk.4USQ2AP6.js.map → chunk.2MSL7CYM.js.map} +0 -0
  656. /package/dist/esm/chunks/{chunk.HDO3WRH7.js.map → chunk.3HCYRDRI.js.map} +0 -0
  657. /package/dist/esm/chunks/{chunk.UVJFHSMF.js.map → chunk.3R4BUIQP.js.map} +0 -0
  658. /package/dist/esm/chunks/{chunk.37JFBP4X.js.map → chunk.3ZPSN2QG.js.map} +0 -0
  659. /package/dist/esm/chunks/{chunk.HKSXC5VK.js.map → chunk.5N4N6DL6.js.map} +0 -0
  660. /package/dist/esm/chunks/{chunk.AQ7ROWO4.js.map → chunk.5PG6WIIX.js.map} +0 -0
  661. /package/dist/esm/chunks/{chunk.C7VEJINB.js.map → chunk.675V42JS.js.map} +0 -0
  662. /package/dist/esm/chunks/{chunk.OQAD6MFL.js.map → chunk.7ZROQ6D3.js.map} +0 -0
  663. /package/dist/esm/chunks/{chunk.W7H2ZYNR.js.map → chunk.AMLT6XJP.js.map} +0 -0
  664. /package/dist/esm/chunks/{chunk.TCFKFKZW.js.map → chunk.AMZZKEAE.js.map} +0 -0
  665. /package/dist/esm/chunks/{chunk.DH76CMUT.js.map → chunk.APPY5AYL.js.map} +0 -0
  666. /package/dist/esm/chunks/{chunk.7M4HRJYP.js.map → chunk.ARQMMZJL.js.map} +0 -0
  667. /package/dist/esm/chunks/{chunk.QNVVUUNQ.js.map → chunk.AUBOJZQ7.js.map} +0 -0
  668. /package/dist/esm/chunks/{chunk.RXLORASN.js.map → chunk.BB4UF5RX.js.map} +0 -0
  669. /package/dist/esm/chunks/{chunk.NDJZYFRT.js.map → chunk.BTXY3XMJ.js.map} +0 -0
  670. /package/dist/esm/chunks/{chunk.AY43NTAK.js.map → chunk.DTLZOIUQ.js.map} +0 -0
  671. /package/dist/esm/chunks/{chunk.PLNLLKP2.js.map → chunk.FLWNOP42.js.map} +0 -0
  672. /package/dist/esm/chunks/{chunk.IJ2I25V3.js.map → chunk.FXIWCHLW.js.map} +0 -0
  673. /package/dist/esm/chunks/{chunk.6VSFLBZF.js.map → chunk.G73KL7P2.js.map} +0 -0
  674. /package/dist/esm/chunks/{chunk.PDSOXEMY.js.map → chunk.GNDKQPDV.js.map} +0 -0
  675. /package/dist/esm/chunks/{chunk.RWUJGZ3R.js.map → chunk.HAKF2T2D.js.map} +0 -0
  676. /package/dist/esm/chunks/{chunk.ZYVXIP42.js.map → chunk.HDG2GHKC.js.map} +0 -0
  677. /package/dist/esm/chunks/{chunk.EY37FYZ4.js.map → chunk.HOLCNJXC.js.map} +0 -0
  678. /package/dist/esm/chunks/{chunk.DQVYB55P.js.map → chunk.HRRJIFC5.js.map} +0 -0
  679. /package/dist/esm/chunks/{chunk.WK2L7BPJ.js.map → chunk.IDMDBMBR.js.map} +0 -0
  680. /package/dist/esm/chunks/{chunk.WJXDDQUK.js.map → chunk.IHAHJPMB.js.map} +0 -0
  681. /package/dist/esm/chunks/{chunk.DABGA7I6.js.map → chunk.IMLJD35R.js.map} +0 -0
  682. /package/dist/esm/chunks/{chunk.66X366TV.js.map → chunk.IT7XPDAV.js.map} +0 -0
  683. /package/dist/esm/chunks/{chunk.RNUGVHZF.js.map → chunk.JVLJH6PR.js.map} +0 -0
  684. /package/dist/esm/chunks/{chunk.MLTEGJH6.js.map → chunk.KPJWP77R.js.map} +0 -0
  685. /package/dist/esm/chunks/{chunk.Z6AFASMO.js.map → chunk.KV5IKYG2.js.map} +0 -0
  686. /package/dist/esm/chunks/{chunk.7UJAI6P2.js.map → chunk.LCR4YH3O.js.map} +0 -0
  687. /package/dist/esm/chunks/{chunk.2WSXSOYB.js.map → chunk.LOG6GQOK.js.map} +0 -0
  688. /package/dist/esm/chunks/{chunk.VDGJ4UDL.js.map → chunk.MKJCHUJH.js.map} +0 -0
  689. /package/dist/esm/chunks/{chunk.IXGXASHQ.js.map → chunk.MWYQRG5W.js.map} +0 -0
  690. /package/dist/esm/chunks/{chunk.CBIHNCT5.js.map → chunk.NUMKGUCK.js.map} +0 -0
  691. /package/dist/esm/chunks/{chunk.R6NA7SV2.js.map → chunk.O6V3YNMO.js.map} +0 -0
  692. /package/dist/esm/chunks/{chunk.CQQSOTZ5.js.map → chunk.QLCVRJ3Q.js.map} +0 -0
  693. /package/dist/esm/chunks/{chunk.E4TAHUQO.js.map → chunk.R6LQBI42.js.map} +0 -0
  694. /package/dist/esm/chunks/{chunk.FK6NNHXH.js.map → chunk.RES7WDKH.js.map} +0 -0
  695. /package/dist/esm/chunks/{chunk.2LIWNFQK.js.map → chunk.RP674CRC.js.map} +0 -0
  696. /package/dist/esm/chunks/{chunk.SEWAMWO6.js.map → chunk.SIRXAA3O.js.map} +0 -0
  697. /package/dist/esm/chunks/{chunk.WWTQAN4G.js.map → chunk.SLJ6HDK7.js.map} +0 -0
  698. /package/dist/esm/chunks/{chunk.RBFGJH3C.js.map → chunk.TU74SREL.js.map} +0 -0
  699. /package/dist/esm/chunks/{chunk.4JF54GDJ.js.map → chunk.URJQNB3S.js.map} +0 -0
  700. /package/dist/esm/chunks/{chunk.C2MQN7MI.js.map → chunk.V24M62MC.js.map} +0 -0
  701. /package/dist/esm/chunks/{chunk.R2KOYHIZ.js.map → chunk.VO6YJCEU.js.map} +0 -0
  702. /package/dist/esm/chunks/{chunk.C5ZUGOOC.js.map → chunk.W2LN45WY.js.map} +0 -0
  703. /package/dist/esm/chunks/{chunk.HBCDD25D.js.map → chunk.XEFWZKHQ.js.map} +0 -0
  704. /package/dist/esm/chunks/{chunk.MHU452GM.js.map → chunk.XLL7L2UB.js.map} +0 -0
  705. /package/dist/esm/chunks/{chunk.YPA27RX7.js.map → chunk.XYAZVLPR.js.map} +0 -0
  706. /package/dist/esm/chunks/{chunk.AHAARGYM.js.map → chunk.YAERJVPL.js.map} +0 -0
  707. /package/dist/esm/chunks/{chunk.7L66GZDN.js.map → chunk.YBZK6LJZ.js.map} +0 -0
  708. /package/dist/esm/chunks/{chunk.CMRVP4EA.js.map → chunk.YKIBREM5.js.map} +0 -0
  709. /package/dist/esm/chunks/{chunk.ZREXLSAJ.js.map → chunk.Z5ZLKM7W.js.map} +0 -0
@@ -7,8 +7,10 @@ import { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';
7
7
  import { IListItemComponent } from './list-item';
8
8
  export interface IListItemAdapter extends IBaseAdapter<IListItemComponent> {
9
9
  initialize(): void;
10
- setHref(href: string, target: string): void;
11
- setHrefTarget(target: string): void;
10
+ setHref(href: string): void;
11
+ setAnchorTarget(target: string): void;
12
+ setAnchorDownload(download: string): void;
13
+ setAnchorRel(rel: string): void;
12
14
  setNonInteractive(value: boolean): void;
13
15
  setDisabled(value: boolean): void;
14
16
  setActive(value: boolean): void;
@@ -17,6 +19,8 @@ export interface IListItemAdapter extends IBaseAdapter<IListItemComponent> {
17
19
  isFocused(): boolean;
18
20
  setFocus(): void;
19
21
  animateStateLayer(): void;
22
+ clickAnchor(): void;
23
+ clickHost(): void;
20
24
  }
21
25
  export declare class ListItemAdapter extends BaseAdapter<IListItemComponent> implements IListItemAdapter {
22
26
  private _rootElement;
@@ -24,8 +28,10 @@ export declare class ListItemAdapter extends BaseAdapter<IListItemComponent> imp
24
28
  private _stateLayerElement;
25
29
  constructor(component: IListItemComponent);
26
30
  initialize(): void;
27
- setHref(href: string, target: string): void;
28
- setHrefTarget(target: string): void;
31
+ setHref(href: string): void;
32
+ setAnchorTarget(target: string): void;
33
+ setAnchorDownload(download: string): void;
34
+ setAnchorRel(rel: string): void;
29
35
  setNonInteractive(value: boolean): void;
30
36
  setDisabled(value: boolean): void;
31
37
  setActive(value: boolean): void;
@@ -42,6 +48,8 @@ export declare class ListItemAdapter extends BaseAdapter<IListItemComponent> imp
42
48
  isFocused(): boolean;
43
49
  setFocus(): void;
44
50
  animateStateLayer(): void;
51
+ clickAnchor(): void;
52
+ clickHost(): void;
45
53
  private _createAnchorRootElement;
46
54
  private _createDefaultRootElement;
47
55
  private _getParentList;
@@ -28,10 +28,10 @@ export class ListItemAdapter extends BaseAdapter {
28
28
  this._setRole(list);
29
29
  }
30
30
  }
31
- setHref(href, target) {
31
+ setHref(href) {
32
32
  if (href) {
33
33
  if (this._rootElement.tagName !== 'A') {
34
- const anchor = this._createAnchorRootElement(target);
34
+ const anchor = this._createAnchorRootElement();
35
35
  this._rootElement = replaceElement(this._rootElement, anchor);
36
36
  }
37
37
  this._rootElement.href = href;
@@ -41,11 +41,21 @@ export class ListItemAdapter extends BaseAdapter {
41
41
  this._rootElement = replaceElement(this._rootElement, defaultEl);
42
42
  }
43
43
  }
44
- setHrefTarget(target) {
44
+ setAnchorTarget(target) {
45
45
  if (this._rootElement.tagName === 'A') {
46
46
  this._rootElement.target = target;
47
47
  }
48
48
  }
49
+ setAnchorDownload(download) {
50
+ if (this._rootElement.tagName === 'A') {
51
+ this._rootElement.download = download;
52
+ }
53
+ }
54
+ setAnchorRel(rel) {
55
+ if (this._rootElement.tagName === 'A') {
56
+ this._rootElement.rel = rel;
57
+ }
58
+ }
49
59
  setNonInteractive(value) {
50
60
  this._rootElement.tabIndex = value ? -1 : 0;
51
61
  if (value) {
@@ -125,11 +135,32 @@ export class ListItemAdapter extends BaseAdapter {
125
135
  animateStateLayer() {
126
136
  this._stateLayerElement.playAnimation();
127
137
  }
128
- _createAnchorRootElement(target) {
138
+ clickAnchor() {
139
+ if (this._rootElement.tagName === 'A') {
140
+ this._rootElement.click();
141
+ }
142
+ }
143
+ clickHost() {
144
+ // Calling click() on the prototype ensures we don't end up in an infinite
145
+ // recursion since the host overrides the HTMLElement.click() method
146
+ HTMLElement.prototype.click.call(this._component);
147
+ }
148
+ _createAnchorRootElement() {
129
149
  const a = document.createElement('a');
130
150
  a.classList.add(LIST_ITEM_CONSTANTS.classes.ROOT);
131
151
  a.setAttribute('part', 'root');
132
- a.target = target;
152
+ if (this._component.href) {
153
+ a.href = this._component.href;
154
+ }
155
+ if (this._component.target) {
156
+ a.target = this._component.target;
157
+ }
158
+ if (this._component.download) {
159
+ a.download = this._component.download;
160
+ }
161
+ if (this._component.rel) {
162
+ a.rel = this._component.rel;
163
+ }
133
164
  return a;
134
165
  }
135
166
  _createDefaultRootElement() {
@@ -9,6 +9,8 @@ export declare const LIST_ITEM_CONSTANTS: {
9
9
  observedAttributes: {
10
10
  HREF: string;
11
11
  TARGET: string;
12
+ DOWNLOAD: string;
13
+ REL: string;
12
14
  STATIC: string;
13
15
  NON_INTERACTIVE: string;
14
16
  DISABLED: string;
@@ -25,6 +27,8 @@ export declare const LIST_ITEM_CONSTANTS: {
25
27
  attributes: {
26
28
  HREF: string;
27
29
  TARGET: string;
30
+ DOWNLOAD: string;
31
+ REL: string;
28
32
  STATIC: string;
29
33
  NON_INTERACTIVE: string;
30
34
  DISABLED: string;
@@ -8,6 +8,8 @@ const elementName = `${COMPONENT_NAME_PREFIX}list-item`;
8
8
  const observedAttributes = {
9
9
  HREF: 'href',
10
10
  TARGET: 'target',
11
+ DOWNLOAD: 'download',
12
+ REL: 'rel',
11
13
  STATIC: 'static',
12
14
  NON_INTERACTIVE: 'non-interactive',
13
15
  DISABLED: 'disabled',
@@ -27,7 +29,7 @@ const classes = {
27
29
  };
28
30
  const selectors = {
29
31
  ROOT: `.${classes.ROOT}`,
30
- CHECKBOX_RADIO_SELECTOR: 'input[type=checkbox]:not(:disabled):not([forge-ignore]),input[type=radio]:not(:disabled):not([forge-ignore])',
32
+ CHECKBOX_RADIO_SELECTOR: ':is(input[type=checkbox], input[type=radio], forge-checkbox):not(:disabled):not([forge-ignore])',
31
33
  SWITCH_SELECTOR: 'forge-switch:not([disabled]):not([forge-ignore])',
32
34
  IGNORE: '[forge-ignore],[data-forge-ignore]'
33
35
  };
@@ -8,6 +8,8 @@ import { IListItemAdapter } from './list-item-adapter';
8
8
  export interface IListItemFoundation extends ICustomElementFoundation {
9
9
  href: string;
10
10
  target: string;
11
+ download: string;
12
+ rel: string;
11
13
  static: boolean;
12
14
  nonInteractive: boolean;
13
15
  disabled: boolean;
@@ -26,6 +28,8 @@ export declare class ListItemFoundation implements IListItemFoundation {
26
28
  private _adapter;
27
29
  private _href;
28
30
  private _target;
31
+ private _download;
32
+ private _rel;
29
33
  private _nonInteractive;
30
34
  private _disabled;
31
35
  private _selected;
@@ -44,6 +48,7 @@ export declare class ListItemFoundation implements IListItemFoundation {
44
48
  initialize(): void;
45
49
  disconnect(): void;
46
50
  setFocus(): void;
51
+ click(): void;
47
52
  private _onPointerDown;
48
53
  private _onKeydown;
49
54
  private _onClick;
@@ -52,6 +57,10 @@ export declare class ListItemFoundation implements IListItemFoundation {
52
57
  set href(value: string);
53
58
  get target(): string;
54
59
  set target(value: string);
60
+ get download(): string;
61
+ set download(value: string);
62
+ get rel(): string;
63
+ set rel(value: string);
55
64
  get static(): boolean;
56
65
  set static(value: boolean);
57
66
  get nonInteractive(): boolean;
@@ -7,7 +7,9 @@ import { LIST_ITEM_CONSTANTS } from './list-item-constants';
7
7
  export class ListItemFoundation {
8
8
  constructor(_adapter) {
9
9
  this._adapter = _adapter;
10
- this._target = '_blank';
10
+ this._target = '';
11
+ this._download = '';
12
+ this._rel = '';
11
13
  this._nonInteractive = false;
12
14
  this._disabled = false;
13
15
  this._selected = false;
@@ -40,6 +42,14 @@ export class ListItemFoundation {
40
42
  setFocus() {
41
43
  this._adapter.setFocus();
42
44
  }
45
+ click() {
46
+ if (this._href) {
47
+ this._adapter.clickAnchor();
48
+ }
49
+ else {
50
+ this._adapter.clickHost();
51
+ }
52
+ }
43
53
  _onPointerDown(evt) {
44
54
  if (this._adapter.isFocused()) {
45
55
  evt.preventDefault();
@@ -47,7 +57,7 @@ export class ListItemFoundation {
47
57
  }
48
58
  _onKeydown(evt) {
49
59
  if (evt.key === 'Enter' || evt.key === ' ') {
50
- if (evt.key === ' ') {
60
+ if (!this._href && evt.key === ' ') {
51
61
  evt.preventDefault();
52
62
  }
53
63
  this._adapter.animateStateLayer();
@@ -81,7 +91,7 @@ export class ListItemFoundation {
81
91
  set href(value) {
82
92
  if (this._href !== value) {
83
93
  this._href = value;
84
- this._adapter.setHref(this._href, this._target);
94
+ this._adapter.setHref(this._href);
85
95
  this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.HREF, !!this._href, this._href);
86
96
  }
87
97
  }
@@ -92,11 +102,31 @@ export class ListItemFoundation {
92
102
  if (this._target !== value) {
93
103
  this._target = value;
94
104
  if (this._href) {
95
- this._adapter.setHrefTarget(this._target);
105
+ this._adapter.setAnchorTarget(this._target);
96
106
  }
97
107
  this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.TARGET, !!this._target, this._target);
98
108
  }
99
109
  }
110
+ get download() {
111
+ return this._download;
112
+ }
113
+ set download(value) {
114
+ if (this._download !== value) {
115
+ this._download = value;
116
+ this._adapter.setAnchorDownload(this._download);
117
+ this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.DOWNLOAD, !!this._download, this._download);
118
+ }
119
+ }
120
+ get rel() {
121
+ return this._rel;
122
+ }
123
+ set rel(value) {
124
+ if (this._rel !== value) {
125
+ this._rel = value;
126
+ this._adapter.setAnchorRel(this._rel);
127
+ this._adapter.toggleHostAttribute(LIST_ITEM_CONSTANTS.attributes.REL, !!this._rel, this._rel);
128
+ }
129
+ }
100
130
  get static() {
101
131
  return this.nonInteractive;
102
132
  }
@@ -8,6 +8,8 @@ import { IListItemSelectEventData } from './list-item-constants';
8
8
  export interface IListItemComponent<T = unknown> extends ICustomElement {
9
9
  href: string;
10
10
  target: string;
11
+ download: string;
12
+ rel: string;
11
13
  /** @deprecated Use nonInteractive instead. */
12
14
  static: boolean;
13
15
  nonInteractive: boolean;
@@ -35,7 +37,10 @@ declare global {
35
37
  *
36
38
  * @summary List items are individual rows of content inside of a list.
37
39
  *
38
- * @property {string} href - The href of the list item. This forces the list item to render as an anchor element.
40
+ * @property {string} href - The href of the anchor. This forces the list item to render as an anchor element.
41
+ * @property {string} target - The target of the anchor when an `href` is set. Defaults to `'_blank'`.
42
+ * @property {boolean} download - The anchor download attribute.
43
+ * @property {boolean} rel - The anchor rel attribute.
39
44
  * @property {string} target - The target of the list item when an `href` is set. Defaults to `'_blank'`.
40
45
  * @property {boolean} nonInteractive - If true, the list item will not be interactive.
41
46
  * @property {boolean} static - If true, the list item will not be interactive. Deprecated use `nonInteractive` instead.
@@ -50,7 +55,10 @@ declare global {
50
55
  * @property {boolean} threeLine - Sets the list item height to support at least three lines of text.
51
56
  * @property {boolean} wrap - Sets the list item to wrap its text content.
52
57
  *
53
- * @attribute {string} href - The href of the list item. This forces the list item to render as an anchor element.
58
+ * @attribute {string} href - The href of the anchor This forces the list item to render as an anchor element.
59
+ * @attribute {string} target - The target of the anchor when an `href` is set. Defaults to `'_blank'`.
60
+ * @attribute {boolean} download - The anchor download attribute.
61
+ * @attribute {boolean} rel - The anchor rel attribute.
54
62
  * @attribute {string} target - The target of the list item when an `href` is set. Defaults to `'_blank'`.
55
63
  * @attribute {boolean} non-interactive - If true, the list item will not be interactive.
56
64
  * @attribute {boolean} static - If true, the list item will not be interactive. Deprecated use `non-interactive` instead.
@@ -80,8 +88,8 @@ declare global {
80
88
  *
81
89
  * @csspart root - The root container element.
82
90
  * @csspart text-container - The container for the text content.
83
- * @csspart focus-indicator__indicator - The forwarded focus indicator's internal indicator element.
84
- * @csspart state-layer__surface - The forwarded state layer's internal surface element.
91
+ * @csspart focus-indicator - The forwarded focus indicator's internal indicator element.
92
+ * @csspart state-layer - The forwarded state layer's internal surface element.
85
93
  *
86
94
  * @cssprop --forge-list-item-background-color - The background color.
87
95
  * @cssprop --forge-list-item-shape - The shape of the list item.
@@ -132,6 +140,8 @@ export declare class ListItemComponent extends HTMLElement implements IListItemC
132
140
  focus(): void;
133
141
  href: string;
134
142
  target: string;
143
+ download: string;
144
+ rel: string;
135
145
  /** @deprecated Use nonInteractive instead. */
136
146
  static: boolean;
137
147
  nonInteractive: boolean;
@@ -145,4 +155,5 @@ export declare class ListItemComponent extends HTMLElement implements IListItemC
145
155
  twoLine: boolean;
146
156
  threeLine: boolean;
147
157
  wrap: boolean;
158
+ click(): void;
148
159
  }
@@ -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 exportparts=\"indicator: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{--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,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;