@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
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { BaseButtonFoundation, IBaseButtonFoundation } from '../button/base/base-button-foundation';
7
+ import { ButtonTheme } from '../button/button-constants';
8
+ import { IFloatingActionButtonAdapter } from './floating-action-button-adapter';
9
+ import { FloatingActionButtonDensity, FloatingActionButtonElevation } from './floating-action-button-constants';
10
+ export interface IFloatingActionButtonFoundation extends IBaseButtonFoundation {
11
+ theme: ButtonTheme;
12
+ density: FloatingActionButtonDensity;
13
+ elevation: FloatingActionButtonElevation;
14
+ }
15
+ export declare class FloatingActionButtonFoundation extends BaseButtonFoundation<IFloatingActionButtonAdapter> implements IFloatingActionButtonFoundation {
16
+ private _theme;
17
+ private _density;
18
+ private _elevation;
19
+ constructor(adapter: IFloatingActionButtonAdapter);
20
+ destroy(): void;
21
+ get theme(): ButtonTheme;
22
+ set theme(value: ButtonTheme);
23
+ get density(): FloatingActionButtonDensity;
24
+ set density(value: FloatingActionButtonDensity);
25
+ get elevation(): FloatingActionButtonElevation;
26
+ set elevation(value: FloatingActionButtonElevation);
27
+ }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { BaseButtonFoundation } from '../button/base/base-button-foundation';
7
+ import { FLOATING_ACTION_BUTTON_CONSTANTS } from './floating-action-button-constants';
8
+ export class FloatingActionButtonFoundation extends BaseButtonFoundation {
9
+ constructor(adapter) {
10
+ super(adapter);
11
+ this._theme = FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_THEME;
12
+ this._density = FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_DENSITY;
13
+ this._elevation = FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_ELEVATION;
14
+ }
15
+ destroy() {
16
+ this._adapter.destroy();
17
+ }
18
+ get theme() {
19
+ return this._theme;
20
+ }
21
+ set theme(value) {
22
+ if (this._theme !== value) {
23
+ this._theme = value !== null && value !== void 0 ? value : FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_THEME;
24
+ const hasAttr = this._theme !== FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_THEME;
25
+ this._adapter.toggleHostAttribute(FLOATING_ACTION_BUTTON_CONSTANTS.attributes.THEME, hasAttr, this._theme);
26
+ }
27
+ }
28
+ get density() {
29
+ return this._density;
30
+ }
31
+ set density(value) {
32
+ if (this._density !== value) {
33
+ this._density = value !== null && value !== void 0 ? value : FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_DENSITY;
34
+ const hasAttr = this._density !== FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_DENSITY;
35
+ this._adapter.toggleHostAttribute(FLOATING_ACTION_BUTTON_CONSTANTS.attributes.DENSITY, hasAttr, this._density);
36
+ }
37
+ }
38
+ get elevation() {
39
+ return this._elevation;
40
+ }
41
+ set elevation(value) {
42
+ if (this._elevation !== value) {
43
+ this._elevation = value !== null && value !== void 0 ? value : FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_ELEVATION;
44
+ const hasAttr = this._elevation !== FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_ELEVATION;
45
+ this._adapter.toggleHostAttribute(FLOATING_ACTION_BUTTON_CONSTANTS.attributes.ELEVATION, hasAttr, this._elevation);
46
+ }
47
+ }
48
+ }
@@ -3,11 +3,14 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { BaseComponent, IBaseComponent } from '../core/base/base-component';
7
- export interface IFloatingActionButtonComponent extends IBaseComponent {
8
- exited: boolean;
9
- mini: boolean;
10
- extended: boolean;
6
+ import { ButtonTheme } from '../button';
7
+ import { BaseButton, IBaseButton } from '../button/base/base-button';
8
+ import { FloatingActionButtonDensity, FloatingActionButtonElevation } from './floating-action-button-constants';
9
+ import { FloatingActionButtonFoundation } from './floating-action-button-foundation';
10
+ export interface IFloatingActionButtonComponent extends IBaseButton {
11
+ theme: ButtonTheme;
12
+ density: FloatingActionButtonDensity;
13
+ elevation: FloatingActionButtonElevation;
11
14
  }
12
15
  declare global {
13
16
  interface HTMLElementTagNameMap {
@@ -15,30 +18,88 @@ declare global {
15
18
  }
16
19
  }
17
20
  /**
18
- * The custom element class behind the `<forge-fab>` element.
19
- *
20
21
  * @tag forge-fab
22
+ *
23
+ * @summary Floating action buttons are used to represent the most important action on a page.
24
+ *
25
+ * @property {ButtonTheme} theme - Sets the theme of the button.
26
+ * @property {FloatingActionButtonDensity} density - Sets the density of the button.
27
+ * @property {FloatingActionButtonElevation} elevation - Sets the elevation of the button.
28
+ * @property {string} type - The type of button. Defaults to `button`. Valid values are `button`, `submit`, and `reset`.
29
+ * @property {boolean} disabled - Whether or not the button is disabled.
30
+ * @property {boolean} popoverIcon - Whether or not the button shows a built-in popover icon.
31
+ * @property {string} name - The name of the button.
32
+ * @property {string} value - The form value of the button.
33
+ * @property {boolean} dense - Whether or not the button is dense.
34
+ * @property {boolean} anchor - Whether or not the button is an `<a>` element.
35
+ * @property {string} href - The href of the anchor.
36
+ * @property {string} target - The target of the anchor.
37
+ * @property {string} download - The download of the anchor.
38
+ * @property {string} rel - The rel of the anchor.
39
+ * @property {HTMLFormElement | null} form - The form reference of the button if within a `<form>` element.
40
+ *
41
+ * @attribute {string} theme - Sets the theme of the button.
42
+ * @attribute {string} density - Sets the density of the button.
43
+ * @attribute {string} elevation - Sets the elevation of the button.
44
+ * @attribute {string} type - The type of button. Defaults to `button`. Valid values are `button`, `submit`, and `reset`.
45
+ * @attribute {boolean} disabled - Whether or not the button is disabled.
46
+ * @attribute {boolean} popover-icon - Whether or not the button shows a built-in popover icon.
47
+ * @attribute {string} name - The name of the button.
48
+ * @attribute {string} value - The form value of the button.
49
+ * @attribute {boolean} dense - Whether or not the button is dense.
50
+ * @attribute {boolean} anchor - Whether or not the button is an `<a>` element.
51
+ * @attribute {string} href - The href of the anchor.
52
+ * @attribute {string} target - The target of the anchor.
53
+ * @attribute {string} download - The download of the anchor.
54
+ * @attribute {string} rel - The rel of the anchor.
55
+ *
56
+ * @fires click - Fires when the button is clicked.
57
+ *
58
+ * @cssproperty --forge-fab-background-display - The display property.
59
+ * @cssproperty --forge-fab-gap - The gap between the icon and the label.
60
+ * @cssproperty --forge-fab-background - The background color.
61
+ * @cssproperty --forge-fab-color - The text color.
62
+ * @cssproperty --forge-fab-size - The height and min-width of the button.
63
+ * @cssproperty --forge-fab-padding - The inline padding of the button.
64
+ * @cssproperty --forge-fab-shadow - The box shadow of the button.
65
+ * @cssproperty --forge-fab-hover-shadow - The box shadow of the button when hovered.
66
+ * @cssproperty --forge-fab-active-shadow - The box shadow of the button when active.
67
+ * @cssproperty --forge-fab-lowered-shadow - The box shadow of the button when lowered.
68
+ * @cssproperty --forge-fab-lowered-hover-shadow - The box shadow of the button when lowered and hovered.
69
+ * @cssproperty --forge-fab-lowered-active-shadow - The box shadow of the button when lowered and active.
70
+ * @cssproperty --forge-fab-transition-duration - The transition duration.
71
+ * @cssproperty --forge-fab-transition-timing - The transition timing function.
72
+ * @cssproperty --forge-fab-shape - The border radius of the button.
73
+ * @cssproperty --forge-fab-shape-start-start - The start-start border radius.
74
+ * @cssproperty --forge-fab-shape-start-end - The start-end border radius.
75
+ * @cssproperty --forge-fab-shape-end-start - The end-start border radius.
76
+ * @cssproperty --forge-fab-shape-end-end - The end-end border radius.
77
+ * @cssproperty --forge-fab-extended-padding - The inline padding of the extended button.
78
+ * @cssproperty --forge-fab-extended-min-width - The min-width of the extended button.
79
+ * @cssproperty --forge-fab-density-small-size - The height and min-width of the small density button.
80
+ * @cssproperty --forge-fab-density-medium-size - The height and min-width of the medium density (default) button.
81
+ * @cssproperty --forge-fab-density-large-size - The height and min-width of the large density button.
82
+ * @cssproperty --forge-fab-disabled-cursor - The cursor when disabled.
83
+ * @cssproperty --forge-fab-disabled-background - The background color when disabled.
84
+ * @cssproperty --forge-fab-disabled-color - The text color when disabled.
85
+ * @cssproperty --forge-fab-disabled-opacity - The opacity when disabled.
86
+ *
87
+ * @csspart root - The root container element.
88
+ * @csspart focus-indicator - The focus-indicator indicator element.
89
+ * @csspart state-layer - The state-layer surface element.
90
+ *
91
+ * @slot - This is a default/unnamed slot. Typically used for icon-only or label-only FABs. If the content forces the width to be large than the height, then the FAB will be in extended mode.
92
+ * @slot start - An element to logically render at the start of the button content.
93
+ * @slot label - Reserved specifically for label text. This forces the button into extended mode.
94
+ * @slot end - An element to logically render at the end of the button content.
21
95
  */
22
- export declare class FloatingActionButton extends BaseComponent implements IFloatingActionButtonComponent {
96
+ export declare class FloatingActionButtonComponent extends BaseButton<FloatingActionButtonFoundation> implements IFloatingActionButtonComponent {
23
97
  static get observedAttributes(): string[];
24
- private _rippleInstance;
25
- private _isExtended;
26
- private _isMini;
27
- private _isExited;
28
- private _buttonElement;
98
+ protected readonly _foundation: FloatingActionButtonFoundation;
29
99
  constructor();
30
- connectedCallback(): void;
31
100
  disconnectedCallback(): void;
32
101
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
33
- private _initialize;
34
- private _sync;
35
- /** Gets/sets the exited state. */
36
- set exited(value: boolean);
37
- get exited(): boolean;
38
- /** Gets/sets the mini state. */
39
- set mini(value: boolean);
40
- get mini(): boolean;
41
- /** Gets/sets the extended state. */
42
- set extended(value: boolean);
43
- get extended(): boolean;
102
+ theme: ButtonTheme;
103
+ density: FloatingActionButtonDensity;
104
+ elevation: FloatingActionButtonElevation;
44
105
  }
@@ -4,127 +4,140 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { __decorate } from "tslib";
7
- import { coerceBoolean, CustomElement, ensureChildren, toggleClass } from '@tylertech/forge-core';
8
- import { BaseComponent } from '../core/base/base-component';
9
- import { ForgeRipple } from '../ripple';
7
+ import { attachShadowTemplate, CustomElement, FoundationProperty } from '@tylertech/forge-core';
8
+ import { BaseButton } from '../button/base/base-button';
9
+ import { BASE_BUTTON_CONSTANTS } from '../button/base/base-button-constants';
10
+ import { FocusIndicatorComponent } from '../focus-indicator';
11
+ import { IconComponent } from '../icon/icon';
12
+ import { StateLayerComponent } from '../state-layer';
13
+ import { FloatingActionButtonAdapter } from './floating-action-button-adapter';
10
14
  import { FLOATING_ACTION_BUTTON_CONSTANTS } from './floating-action-button-constants';
15
+ import { FloatingActionButtonFoundation } from './floating-action-button-foundation';
16
+ const template = '<template><div class=\"forge-fab\" part=\"root\"><slot name=\"start\"></slot><slot></slot><slot name=\"label\"></slot><slot name=\"end\"></slot><forge-focus-indicator target=\":host\" part=\"focus-indicator\"></forge-focus-indicator><forge-state-layer target=\":host\" exportparts=\"surface:state-layer\"></forge-state-layer></div></template>';
17
+ const styles = ':host{--_fab-display:var(--forge-fab-display, inline-flex);--_fab-disabled-cursor:var(--forge-fab-disabled-cursor, not-allowed)}:host{display:var(--_fab-display);position:relative;outline:0;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}.forge-fab{--_fab-gap:var(--forge-fab-spacing, var(--forge-spacing-xsmall, 8px));--_fab-background:var(--forge-fab-background, var(--forge-theme-secondary, #ffc107));--_fab-color:var(--forge-fab-color, var(--forge-theme-on-secondary, #000000));--_fab-size:var(--forge-fab-size, 56px);--_fab-padding:var(--forge-fab-padding, var(--forge-spacing-xsmall, 8px));--_fab-shadow:var(--forge-fab-shadow, 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12));--_fab-hover-shadow:var(--forge-fab-hover-shadow, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));--_fab-active-shadow:var(--forge-fab-active-shadow, 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12));--_fab-lowered-shadow:var(--forge-fab-lowered-shadow, 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12));--_fab-lowered-hover-shadow:var(--forge-fab-lowered-hover-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));--_fab-lowered-active-shadow:var(--forge-fab-lowered-active-shadow, 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12));--_fab-transition-duration:var(--forge-fab-transition-duration, var(--forge-animation-duration-short3, 150ms));--_fab-transition-timing:var(--forge-fab-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_fab-shape:var(--forge-fab-shape, var(--forge-shape-full, 9999px));--_fab-shape-start-start:var(--forge-fab-shape-start-start, var(--_fab-shape));--_fab-shape-start-end:var(--forge-fab-shape-start-end, var(--_fab-shape));--_fab-shape-end-start:var(--forge-fab-shape-end-start, var(--_fab-shape));--_fab-shape-end-end:var(--forge-fab-shape-end-end, var(--_fab-shape));--_fab-extended-padding:var(--forge-fab-extended-padding, var(--forge-spacing-medium-large, 20px));--_fab-extended-min-width:var(--forge-fab-extended-min-width, 96px);--_fab-density-small-size:var(--forge-fab-density-small-size, 40px);--_fab-density-medium-size:var(--forge-fab-density-medium-size, var(--_fab-size));--_fab-density-large-size:var(--forge-fab-density-large-size, 96px);--_fab-disabled-background:var(--forge-fab-disabled-background, var(--forge-theme-surface-container, #e0e0e0));--_fab-disabled-color:var(--forge-fab-disabled-color, var(--forge-theme-on-surface-container, #000000));--_fab-disabled-opacity:var(--forge-fab-disabled-opacity, 0.38)}.forge-fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-button-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-button-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-button-font-size-scale, .875)));font-weight:var(--forge-typography-button-font-weight,500);line-height:var(--forge-typography-button-line-height, normal);letter-spacing:var(--forge-typography-button-letter-spacing, .0714285714em);text-transform:var(--forge-typography-button-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-button-text-decoration,inherit);text-decoration:var(--forge-typography-button-text-decoration,inherit);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;gap:var(--_fab-gap);z-index:0;background:var(--_fab-background);color:var(--_fab-color);cursor:pointer;-webkit-box-shadow:var(--_fab-shadow);box-shadow:var(--_fab-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;height:var(--_fab-density-medium-size);min-width:var(--_fab-density-medium-size);padding-inline:var(--_fab-padding);border-width:medium;border-style:none;border-color:currentColor;border-top-left-radius:var(--_fab-shape-start-start);border-top-right-radius:var(--_fab-shape-start-end);border-bottom-left-radius:var(--_fab-shape-end-start);border-bottom-right-radius:var(--_fab-shape-end-end);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;-webkit-transition-property:background,color,-webkit-box-shadow;transition-property:background,color,-webkit-box-shadow;transition-property:box-shadow,background,color;transition-property:box-shadow,background,color,-webkit-box-shadow;-webkit-transition-duration:var(--_fab-transition-duration);transition-duration:var(--_fab-transition-duration);-webkit-transition-timing-function:var(--_fab-transition-timing);transition-timing-function:var(--_fab-transition-timing)}.forge-fab:hover{--_fab-shadow:var(--_fab-hover-shadow)}.forge-fab:active{--_fab-shadow:var(--_fab-active-shadow)}.forge-fab--extended{padding-inline:var(--_fab-extended-padding);min-width:var(--_fab-extended-min-width)}a{position:absolute;inset:0;text-decoration:none}forge-focus-indicator{--forge-focus-indicator-color:var(--_fab-background);--forge-focus-indicator-shape-start-start:var(--_fab-shape-start-start);--forge-focus-indicator-shape-start-end:var(--_fab-shape-start-end);--forge-focus-indicator-shape-end-start:var(--_fab-shape-end-start);--forge-focus-indicator-shape-end-end:var(--_fab-shape-end-end)}forge-state-layer{--forge-state-layer-color:var(--_fab-color)}:host(:is([dense],[density=small])) .forge-fab{--_fab-size:var(--_fab-density-small-size)}:host([density=large]) .forge-fab{--_fab-size:var(--_fab-density-large-size);--_fab-shape:var(--forge-fab-shape, var(--forge-shape-extra-large, 16px))}:host([elevation=lowered]) .forge-fab{--_fab-shadow:var(--_fab-lowered-shadow)}:host([elevation=lowered]) .forge-fab:hover{--_fab-shadow:var(--_fab-lowered-hover-shadow)}:host([elevation=lowered]) .forge-fab:active{--_fab-shadow:var(--_fab-lowered-active-shadow)}:host([disabled]){cursor:var(--_fab-disabled-cursor)}:host([disabled]) .forge-fab{--_fab-background:var(--_fab-disabled-background);--_fab-color:var(--_fab-disabled-color);pointer-events:none;opacity:var(--_fab-disabled-opacity)}:host([theme=primary]:not([disabled])) .forge-fab{--_fab-background:var(--forge-fab-background, var(--forge-theme-primary, #3f51b5));--_fab-color:var(--forge-fab-color, var(--forge-theme-on-primary, #ffffff))}:host([theme=tertiary]:not([disabled])) .forge-fab{--_fab-background:var(--forge-fab-background, var(--forge-theme-tertiary, #3d5afe));--_fab-color:var(--forge-fab-color, var(--forge-theme-on-tertiary, #ffffff))}:host([theme=success]:not([disabled])) .forge-fab{--_fab-background:var(--forge-fab-background, var(--forge-theme-success, #2e7d32));--_fab-color:var(--forge-fab-color, var(--forge-theme-on-success, #ffffff))}:host([theme=error]:not([disabled])) .forge-fab{--_fab-background:var(--forge-fab-background, var(--forge-theme-error, #b00020));--_fab-color:var(--forge-fab-color, var(--forge-theme-on-error, #ffffff))}:host([theme=warning]:not([disabled])) .forge-fab{--_fab-background:var(--forge-fab-background, var(--forge-theme-warning, #d14900));--_fab-color:var(--forge-fab-color, var(--forge-theme-on-warning, #ffffff))}:host([theme=info]:not([disabled])) .forge-fab{--_fab-background:var(--forge-fab-background, var(--forge-theme-info, #1565c0));--_fab-color:var(--forge-fab-color, var(--forge-theme-on-info, #ffffff))}';
11
18
  /**
12
- * The custom element class behind the `<forge-fab>` element.
13
- *
14
19
  * @tag forge-fab
20
+ *
21
+ * @summary Floating action buttons are used to represent the most important action on a page.
22
+ *
23
+ * @property {ButtonTheme} theme - Sets the theme of the button.
24
+ * @property {FloatingActionButtonDensity} density - Sets the density of the button.
25
+ * @property {FloatingActionButtonElevation} elevation - Sets the elevation of the button.
26
+ * @property {string} type - The type of button. Defaults to `button`. Valid values are `button`, `submit`, and `reset`.
27
+ * @property {boolean} disabled - Whether or not the button is disabled.
28
+ * @property {boolean} popoverIcon - Whether or not the button shows a built-in popover icon.
29
+ * @property {string} name - The name of the button.
30
+ * @property {string} value - The form value of the button.
31
+ * @property {boolean} dense - Whether or not the button is dense.
32
+ * @property {boolean} anchor - Whether or not the button is an `<a>` element.
33
+ * @property {string} href - The href of the anchor.
34
+ * @property {string} target - The target of the anchor.
35
+ * @property {string} download - The download of the anchor.
36
+ * @property {string} rel - The rel of the anchor.
37
+ * @property {HTMLFormElement | null} form - The form reference of the button if within a `<form>` element.
38
+ *
39
+ * @attribute {string} theme - Sets the theme of the button.
40
+ * @attribute {string} density - Sets the density of the button.
41
+ * @attribute {string} elevation - Sets the elevation of the button.
42
+ * @attribute {string} type - The type of button. Defaults to `button`. Valid values are `button`, `submit`, and `reset`.
43
+ * @attribute {boolean} disabled - Whether or not the button is disabled.
44
+ * @attribute {boolean} popover-icon - Whether or not the button shows a built-in popover icon.
45
+ * @attribute {string} name - The name of the button.
46
+ * @attribute {string} value - The form value of the button.
47
+ * @attribute {boolean} dense - Whether or not the button is dense.
48
+ * @attribute {boolean} anchor - Whether or not the button is an `<a>` element.
49
+ * @attribute {string} href - The href of the anchor.
50
+ * @attribute {string} target - The target of the anchor.
51
+ * @attribute {string} download - The download of the anchor.
52
+ * @attribute {string} rel - The rel of the anchor.
53
+ *
54
+ * @fires click - Fires when the button is clicked.
55
+ *
56
+ * @cssproperty --forge-fab-background-display - The display property.
57
+ * @cssproperty --forge-fab-gap - The gap between the icon and the label.
58
+ * @cssproperty --forge-fab-background - The background color.
59
+ * @cssproperty --forge-fab-color - The text color.
60
+ * @cssproperty --forge-fab-size - The height and min-width of the button.
61
+ * @cssproperty --forge-fab-padding - The inline padding of the button.
62
+ * @cssproperty --forge-fab-shadow - The box shadow of the button.
63
+ * @cssproperty --forge-fab-hover-shadow - The box shadow of the button when hovered.
64
+ * @cssproperty --forge-fab-active-shadow - The box shadow of the button when active.
65
+ * @cssproperty --forge-fab-lowered-shadow - The box shadow of the button when lowered.
66
+ * @cssproperty --forge-fab-lowered-hover-shadow - The box shadow of the button when lowered and hovered.
67
+ * @cssproperty --forge-fab-lowered-active-shadow - The box shadow of the button when lowered and active.
68
+ * @cssproperty --forge-fab-transition-duration - The transition duration.
69
+ * @cssproperty --forge-fab-transition-timing - The transition timing function.
70
+ * @cssproperty --forge-fab-shape - The border radius of the button.
71
+ * @cssproperty --forge-fab-shape-start-start - The start-start border radius.
72
+ * @cssproperty --forge-fab-shape-start-end - The start-end border radius.
73
+ * @cssproperty --forge-fab-shape-end-start - The end-start border radius.
74
+ * @cssproperty --forge-fab-shape-end-end - The end-end border radius.
75
+ * @cssproperty --forge-fab-extended-padding - The inline padding of the extended button.
76
+ * @cssproperty --forge-fab-extended-min-width - The min-width of the extended button.
77
+ * @cssproperty --forge-fab-density-small-size - The height and min-width of the small density button.
78
+ * @cssproperty --forge-fab-density-medium-size - The height and min-width of the medium density (default) button.
79
+ * @cssproperty --forge-fab-density-large-size - The height and min-width of the large density button.
80
+ * @cssproperty --forge-fab-disabled-cursor - The cursor when disabled.
81
+ * @cssproperty --forge-fab-disabled-background - The background color when disabled.
82
+ * @cssproperty --forge-fab-disabled-color - The text color when disabled.
83
+ * @cssproperty --forge-fab-disabled-opacity - The opacity when disabled.
84
+ *
85
+ * @csspart root - The root container element.
86
+ * @csspart focus-indicator - The focus-indicator indicator element.
87
+ * @csspart state-layer - The state-layer surface element.
88
+ *
89
+ * @slot - This is a default/unnamed slot. Typically used for icon-only or label-only FABs. If the content forces the width to be large than the height, then the FAB will be in extended mode.
90
+ * @slot start - An element to logically render at the start of the button content.
91
+ * @slot label - Reserved specifically for label text. This forces the button into extended mode.
92
+ * @slot end - An element to logically render at the end of the button content.
15
93
  */
16
- let FloatingActionButton = class FloatingActionButton extends BaseComponent {
94
+ let FloatingActionButtonComponent = class FloatingActionButtonComponent extends BaseButton {
17
95
  static get observedAttributes() {
18
96
  return [
19
- FLOATING_ACTION_BUTTON_CONSTANTS.attributes.EXITED,
20
- FLOATING_ACTION_BUTTON_CONSTANTS.attributes.MINI,
21
- FLOATING_ACTION_BUTTON_CONSTANTS.attributes.EXTENDED
97
+ ...Object.values(BASE_BUTTON_CONSTANTS.observedAttributes),
98
+ ...Object.values(FLOATING_ACTION_BUTTON_CONSTANTS.observedAttributes)
22
99
  ];
23
100
  }
24
101
  constructor() {
25
102
  super();
26
- this._isExtended = false;
27
- this._isMini = false;
28
- this._isExited = false;
29
- }
30
- connectedCallback() {
31
- if (this.children.length) {
32
- this._initialize();
33
- }
34
- else {
35
- ensureChildren(this).then(() => this._initialize());
36
- }
103
+ attachShadowTemplate(this, template, styles);
104
+ this._foundation = new FloatingActionButtonFoundation(new FloatingActionButtonAdapter(this));
37
105
  }
38
106
  disconnectedCallback() {
39
- if (this._rippleInstance) {
40
- this._rippleInstance.destroy();
41
- }
107
+ this._foundation.destroy();
42
108
  }
43
109
  attributeChangedCallback(name, oldValue, newValue) {
44
110
  switch (name) {
45
- case FLOATING_ACTION_BUTTON_CONSTANTS.attributes.EXITED:
46
- this.exited = coerceBoolean(newValue);
47
- break;
48
- case FLOATING_ACTION_BUTTON_CONSTANTS.attributes.MINI:
49
- this.mini = coerceBoolean(newValue);
50
- break;
51
- case FLOATING_ACTION_BUTTON_CONSTANTS.attributes.EXTENDED:
52
- this.extended = coerceBoolean(newValue);
53
- break;
54
- }
55
- }
56
- _initialize() {
57
- // Make sure we have a button element
58
- this._buttonElement = this.querySelector(FLOATING_ACTION_BUTTON_CONSTANTS.selectors.BUTTON);
59
- if (!this._buttonElement) {
60
- return;
111
+ case FLOATING_ACTION_BUTTON_CONSTANTS.attributes.THEME:
112
+ this.theme = newValue;
113
+ return;
114
+ case FLOATING_ACTION_BUTTON_CONSTANTS.attributes.DENSITY:
115
+ this.density = newValue;
116
+ return;
117
+ case FLOATING_ACTION_BUTTON_CONSTANTS.attributes.ELEVATION:
118
+ this.elevation = newValue;
119
+ return;
61
120
  }
62
- this._buttonElement.classList.add(FLOATING_ACTION_BUTTON_CONSTANTS.classes.BUTTON);
63
- const rippleElement = this._buttonElement.querySelector(`.${FLOATING_ACTION_BUTTON_CONSTANTS.classes.RIPPLE}`) || document.createElement('div');
64
- rippleElement.classList.add(FLOATING_ACTION_BUTTON_CONSTANTS.classes.RIPPLE);
65
- this._buttonElement.insertAdjacentElement('afterbegin', rippleElement);
66
- this._sync();
67
- if (this._rippleInstance) {
68
- this._rippleInstance.destroy();
69
- }
70
- this._rippleInstance = new ForgeRipple(this._buttonElement);
71
- }
72
- _sync() {
73
- if (!this._buttonElement) {
74
- return;
75
- }
76
- toggleClass(this._buttonElement, this._isExited, FLOATING_ACTION_BUTTON_CONSTANTS.classes.EXITED);
77
- toggleClass(this._buttonElement, this._isMini, FLOATING_ACTION_BUTTON_CONSTANTS.classes.BUTTON_MINI);
78
- toggleClass(this._buttonElement, this._isExtended, FLOATING_ACTION_BUTTON_CONSTANTS.classes.BUTTON_EXTENDED);
79
- // Check if we need to set the label class
80
- const labelElement = this.querySelector(FLOATING_ACTION_BUTTON_CONSTANTS.selectors.LABEL);
81
- if (labelElement) {
82
- labelElement.classList.add(FLOATING_ACTION_BUTTON_CONSTANTS.classes.LABEL);
83
- }
84
- // Check if we need to set the icon class
85
- const iconElement = this.querySelector(FLOATING_ACTION_BUTTON_CONSTANTS.selectors.ICON);
86
- if (iconElement) {
87
- iconElement.classList.add(FLOATING_ACTION_BUTTON_CONSTANTS.classes.ICON);
88
- iconElement.setAttribute('aria-hidden', 'true');
89
- }
90
- }
91
- /** Gets/sets the exited state. */
92
- set exited(value) {
93
- if (this._isExited !== value) {
94
- this._isExited = value;
95
- this.setAttribute(FLOATING_ACTION_BUTTON_CONSTANTS.attributes.EXITED, this._isExited.toString());
96
- this._sync();
97
- }
98
- }
99
- get exited() {
100
- return this._isExited;
101
- }
102
- /** Gets/sets the mini state. */
103
- set mini(value) {
104
- if (this._isMini !== value) {
105
- this._isMini = value;
106
- this.setAttribute(FLOATING_ACTION_BUTTON_CONSTANTS.attributes.MINI, this._isMini.toString());
107
- this._sync();
108
- }
109
- }
110
- get mini() {
111
- return this._isMini;
112
- }
113
- /** Gets/sets the extended state. */
114
- set extended(value) {
115
- if (this._isExtended !== value) {
116
- this._isExtended = value;
117
- this.setAttribute(FLOATING_ACTION_BUTTON_CONSTANTS.attributes.EXTENDED, this._isExtended.toString());
118
- this._sync();
119
- }
120
- }
121
- get extended() {
122
- return this._isExtended;
121
+ super.attributeChangedCallback(name, oldValue, newValue);
123
122
  }
124
123
  };
125
- FloatingActionButton = __decorate([
124
+ __decorate([
125
+ FoundationProperty()
126
+ ], FloatingActionButtonComponent.prototype, "theme", void 0);
127
+ __decorate([
128
+ FoundationProperty()
129
+ ], FloatingActionButtonComponent.prototype, "density", void 0);
130
+ __decorate([
131
+ FoundationProperty()
132
+ ], FloatingActionButtonComponent.prototype, "elevation", void 0);
133
+ FloatingActionButtonComponent = __decorate([
126
134
  CustomElement({
127
- name: FLOATING_ACTION_BUTTON_CONSTANTS.elementName
135
+ name: FLOATING_ACTION_BUTTON_CONSTANTS.elementName,
136
+ dependencies: [
137
+ FocusIndicatorComponent,
138
+ StateLayerComponent,
139
+ IconComponent
140
+ ]
128
141
  })
129
- ], FloatingActionButton);
130
- export { FloatingActionButton };
142
+ ], FloatingActionButtonComponent);
143
+ export { FloatingActionButtonComponent };
@@ -3,7 +3,9 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- export * from './floating-action-button-constants';
7
6
  export * from './floating-action-button';
7
+ export * from './floating-action-button-adapter';
8
8
  export * from './floating-action-button-component-delegate';
9
+ export * from './floating-action-button-constants';
10
+ export * from './floating-action-button-foundation';
9
11
  export declare function defineFloatingActionButtonComponent(): void;
@@ -4,10 +4,12 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { defineCustomElement } from '@tylertech/forge-core';
7
- import { FloatingActionButton } from './floating-action-button';
8
- export * from './floating-action-button-constants';
7
+ import { FloatingActionButtonComponent } from './floating-action-button';
9
8
  export * from './floating-action-button';
9
+ export * from './floating-action-button-adapter';
10
10
  export * from './floating-action-button-component-delegate';
11
+ export * from './floating-action-button-constants';
12
+ export * from './floating-action-button-foundation';
11
13
  export function defineFloatingActionButtonComponent() {
12
- defineCustomElement(FloatingActionButton);
14
+ defineCustomElement(FloatingActionButtonComponent);
13
15
  }
@@ -13,7 +13,7 @@ export interface IFocusIndicatorAdapter extends IBaseAdapter {
13
13
  getTargetElement(): HTMLElement | null;
14
14
  setTargetElement(el: HTMLElement | null): void;
15
15
  trySetTarget(value: string | null): void;
16
- isActive(selector: string): boolean;
16
+ isActive(selector: string, el?: HTMLElement | null): boolean;
17
17
  }
18
18
  export declare class FocusIndicatorAdapter extends BaseAdapter<IFocusIndicatorComponent> implements IFocusIndicatorAdapter {
19
19
  private _targetElement;
@@ -25,5 +25,5 @@ export declare class FocusIndicatorAdapter extends BaseAdapter<IFocusIndicatorCo
25
25
  getTargetElement(): HTMLElement | null;
26
26
  setTargetElement(el: HTMLElement | null): void;
27
27
  trySetTarget(value: string | null): void;
28
- isActive(selector: string): boolean;
28
+ isActive(selector: string, el?: HTMLElement | null): boolean;
29
29
  }
@@ -32,8 +32,8 @@ export class FocusIndicatorAdapter extends BaseAdapter {
32
32
  trySetTarget(value) {
33
33
  this._targetElement = locateTargetHeuristic(this._component, value);
34
34
  }
35
- isActive(selector) {
36
- var _a;
37
- return !!((_a = this._targetElement) === null || _a === void 0 ? void 0 : _a.matches(selector));
35
+ isActive(selector, el) {
36
+ const targetedEl = el !== null && el !== void 0 ? el : this._targetElement;
37
+ return !!(targetedEl === null || targetedEl === void 0 ? void 0 : targetedEl.matches(selector));
38
38
  }
39
39
  }
@@ -35,15 +35,16 @@ export class FocusIndicatorFoundation {
35
35
  this._adapter.removeTargetListener('pointerdown', this._interactionListener);
36
36
  }
37
37
  _onInteraction(evt) {
38
+ const target = evt.target;
38
39
  switch (evt.type) {
39
40
  case 'focusin':
40
- this.active = this._adapter.isActive(this._allowFocus ? ':focus' : ':focus-visible');
41
+ this.active = this._adapter.isActive(this._allowFocus ? ':focus' : ':focus-visible', target);
41
42
  break;
42
43
  case 'focusout':
43
44
  this.active = false;
44
45
  break;
45
46
  case 'pointerdown':
46
- this.active = this._allowFocus ? this._adapter.isActive(':focus') : this._adapter.isActive(':focus-visible');
47
+ this.active = this._allowFocus ? this._adapter.isActive(':focus', target) : this._adapter.isActive(':focus-visible', target);
47
48
  break;
48
49
  }
49
50
  }
@@ -9,8 +9,8 @@ import { BaseComponent } from '../core/base/base-component';
9
9
  import { FocusIndicatorAdapter } from './focus-indicator-adapter';
10
10
  import { FOCUS_INDICATOR_CONSTANTS } from './focus-indicator-constants';
11
11
  import { FocusIndicatorFoundation } from './focus-indicator-foundation';
12
- const template = '<template><div class=\"forge-focus-indicator\" part=\"indicator\"></div></template>';
13
- const styles = ':host{display:contents}:host([hidden]){display:none}:host([active]) .forge-focus-indicator{display:-webkit-box;display:flex}:host(:not([inward])) .forge-focus-indicator{-webkit-animation-name:outward-grow,outward-shrink;animation-name:outward-grow,outward-shrink;border-end-end-radius:calc(var(--_shape-end-end) + var(--_outward-offset));border-end-start-radius:calc(var(--_shape-end-start) + var(--_outward-offset));border-start-end-radius:calc(var(--_shape-start-end) + var(--_outward-offset));border-start-start-radius:calc(var(--_shape-start-start) + var(--_outward-offset));inset:calc(-1 * var(--_outward-offset));outline:var(--_width) solid currentColor}:host([inward]) .forge-focus-indicator{-webkit-animation-name:inward-grow,inward-shrink;animation-name:inward-grow,inward-shrink;border-end-end-radius:calc(var(--_shape-end-end) - var(--_inward-offset));border-end-start-radius:calc(var(--_shape-end-start) - var(--_inward-offset));border-start-end-radius:calc(var(--_shape-start-end) - var(--_inward-offset));border-start-start-radius:calc(var(--_shape-start-start) - var(--_inward-offset));border:var(--_width) solid currentColor;inset:var(--_inward-offset)}:host([circular]) .forge-focus-indicator{--_shape:50%}.forge-focus-indicator{--_active-width:var(--forge-focus-indicator-active-width, 6px);--_color:var(--forge-focus-indicator-color, var(--forge-theme-primary, #3f51b5));--_duration:var(--forge-focus-indicator-duration, var(--forge-animation-duration-long4, 600ms));--_outward-offset:var(--forge-focus-indicator-outward-offset, var(--forge-spacing-025, 4px));--_inward-offset:var(--forge-focus-indicator-inward-offset, 0px);--_shape:var(--forge-focus-indicator-shape, var(--forge-shape-extra-small, 1px));--_width:var(--forge-focus-indicator-width, var(--forge-border-medium, 2px));--_easing:var(--forge-focus-indicator-easing, var(--forge-animation-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)));--_shape-start-start:var(--forge-focus-indicator-shape-start-start, var(--_shape));--_shape-start-end:var(--forge-focus-indicator-shape-start-end, var(--_shape));--_shape-end-start:var(--forge-focus-indicator-shape-end-start, var(--_shape));--_shape-end-end:var(--forge-focus-indicator-shape-end-end, var(--_shape));--_margin-block:var(--forge-focus-indicator-offset-block, 0);--_margin-inline:var(--forge-focus-indicator-offset-inline, 0);-webkit-animation-delay:0s,calc(var(--_duration) * .25);animation-delay:0s,calc(var(--_duration) * .25);-webkit-animation-duration:calc(var(--_duration) * .25),calc(var(--_duration) * .75);animation-duration:calc(var(--_duration) * .25),calc(var(--_duration) * .75);-webkit-animation-timing-function:var(--_easing);animation-timing-function:var(--_easing);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--_color);display:none;pointer-events:none;position:absolute;margin-block:var(--_margin-block);margin-inline:var(--_margin-inline)}@-webkit-keyframes outward-grow{from{outline-width:0}to{outline-width:var(--_active-width)}}@keyframes outward-grow{from{outline-width:0}to{outline-width:var(--_active-width)}}@-webkit-keyframes outward-shrink{from{outline-width:var(--_active-width)}}@keyframes outward-shrink{from{outline-width:var(--_active-width)}}@-webkit-keyframes inward-grow{from{border-width:0}to{border-width:var(--_active-width)}}@keyframes inward-grow{from{border-width:0}to{border-width:var(--_active-width)}}@-webkit-keyframes inward-shrink{from{border-width:var(--_active-width)}}@keyframes inward-shrink{from{border-width:var(--_active-width)}}@media (prefers-reduced-motion){.forge-focus-indicator{-webkit-animation:none;animation:none}}';
12
+ const template = '<template></template>';
13
+ const styles = ':host{--_focus-indicator-width:var(--forge-focus-indicator-width, var(--forge-border-medium, 2px));--_focus-indicator-active-width:var(--forge-focus-indicator-active-width, 6px);--_focus-indicator-color:var(--forge-focus-indicator-color, var(--forge-theme-primary, #3f51b5));--_focus-indicator-shape:var(--forge-focus-indicator-shape, var(--forge-shape-extra-small, 1px));--_focus-indicator-duration:var(--forge-focus-indicator-duration, var(--forge-animation-duration-long4, 600ms));--_focus-indicator-easing:var(--forge-focus-indicator-easing, var(--forge-animation-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)));--_focus-indicator-shape-start-start:var(--forge-focus-indicator-shape-start-start, var(--_focus-indicator-shape));--_focus-indicator-shape-start-end:var(--forge-focus-indicator-shape-start-end, var(--_focus-indicator-shape));--_focus-indicator-shape-end-end:var(--forge-focus-indicator-shape-end-end, var(--_focus-indicator-shape));--_focus-indicator-shape-end-start:var(--forge-focus-indicator-shape-end-start, var(--_focus-indicator-shape));--_focus-indicator-outward-offset:var(--forge-focus-indicator-outward-offset, var(--forge-spacing-xxsmall, 4px));--_focus-indicator-inward-offset:var(--forge-focus-indicator-inward-offset, 0px);--_focus-indicator-offset-block:var(--forge-focus-indicator-offset-block, 0);--_focus-indicator-offset-inline:var(--forge-focus-indicator-offset-inline, 0)}:host{-webkit-animation-delay:0s,calc(var(--_focus-indicator-duration) * .25);animation-delay:0s,calc(var(--_focus-indicator-duration) * .25);-webkit-animation-duration:calc(var(--_focus-indicator-duration) * .25),calc(var(--_focus-indicator-duration) * .75);animation-duration:calc(var(--_focus-indicator-duration) * .25),calc(var(--_focus-indicator-duration) * .75);-webkit-animation-timing-function:var(--_focus-indicator-easing);animation-timing-function:var(--_focus-indicator-easing);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--_focus-indicator-color);display:none;pointer-events:none;position:absolute;margin-block:var(--_focus-indicator-offset-block);margin-inline:var(--_focus-indicator-offset-inline)}:host([hidden]){display:none}:host([active]){display:-webkit-box;display:flex}:host(:not([inward])){-webkit-animation-name:outward-grow,outward-shrink;animation-name:outward-grow,outward-shrink;border-end-end-radius:calc(var(--_focus-indicator-shape-end-end) + var(--_focus-indicator-outward-offset));border-end-start-radius:calc(var(--_focus-indicator-shape-end-start) + var(--_focus-indicator-outward-offset));border-start-end-radius:calc(var(--_focus-indicator-shape-start-end) + var(--_focus-indicator-outward-offset));border-start-start-radius:calc(var(--_focus-indicator-shape-start-start) + var(--_focus-indicator-outward-offset));inset:calc(-1 * var(--_focus-indicator-outward-offset));outline:var(--_focus-indicator-width) solid currentColor}:host([inward]){-webkit-animation-name:inward-grow,inward-shrink;animation-name:inward-grow,inward-shrink;border-end-end-radius:calc(var(--_focus-indicator-shape-end-end) - var(--_focus-indicator-inward-offset));border-end-start-radius:calc(var(--_focus-indicator-shape-end-start) - var(--_focus-indicator-inward-offset));border-start-end-radius:calc(var(--_focus-indicator-shape-start-end) - var(--_focus-indicator-inward-offset));border-start-start-radius:calc(var(--_focus-indicator-shape-start-start) - var(--_focus-indicator-inward-offset));border:var(--_focus-indicator-width) solid currentColor;inset:var(--_focus-indicator-inward-offset)}:host([circular]){--_focus-indicator-shape:var(--forge-focus-indicator-shape, 50%)}@-webkit-keyframes outward-grow{from{outline-width:0}to{outline-width:var(--_focus-indicator-active-width)}}@keyframes outward-grow{from{outline-width:0}to{outline-width:var(--_focus-indicator-active-width)}}@-webkit-keyframes outward-shrink{from{outline-width:var(--_focus-indicator-active-width)}}@keyframes outward-shrink{from{outline-width:var(--_focus-indicator-active-width)}}@-webkit-keyframes inward-grow{from{border-width:0}to{border-width:var(--_focus-indicator-active-width)}}@keyframes inward-grow{from{border-width:0}to{border-width:var(--_focus-indicator-active-width)}}@-webkit-keyframes inward-shrink{from{border-width:var(--_focus-indicator-active-width)}}@keyframes inward-shrink{from{border-width:var(--_focus-indicator-active-width)}}@media (prefers-reduced-motion){:host{-webkit-animation:none;animation:none}}';
14
14
  /**
15
15
  * @tag forge-focus-indicator
16
16
  *
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { BaseButtonAdapter, IBaseButtonAdapter } from '../button/base/base-button-adapter';
7
+ import { IIconButtonComponent } from './icon-button';
8
+ export interface IIconButtonAdapter extends IBaseButtonAdapter {
9
+ }
10
+ export declare class IconButtonAdapter extends BaseButtonAdapter implements IIconButtonAdapter {
11
+ constructor(component: IIconButtonComponent);
12
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { BaseButtonAdapter } from '../button/base/base-button-adapter';
7
+ export class IconButtonAdapter extends BaseButtonAdapter {
8
+ constructor(component) {
9
+ super(component);
10
+ }
11
+ }
@@ -20,16 +20,12 @@ export interface IIconButtonComponentDelegateOptions extends IBaseComponentDeleg
20
20
  export interface IIconButtonComponentDelegateConfig extends IBaseComponentDelegateConfig<IIconButtonComponent, IIconButtonComponentDelegateOptions> {
21
21
  }
22
22
  export declare class IconButtonComponentDelegate extends BaseComponentDelegate<IIconButtonComponent, IIconButtonComponentDelegateOptions> {
23
- private _buttonElement;
24
23
  private _iconElement?;
25
24
  constructor(config?: IIconButtonComponentDelegateConfig);
26
25
  protected _build(): IIconButtonComponent;
27
26
  get iconElement(): IIconComponent | undefined;
28
27
  get disabled(): boolean;
29
28
  set disabled(value: boolean);
30
- /** @deprecated Use buttonElement instead. */
31
- get butttonElement(): HTMLButtonElement | undefined;
32
- get buttonElement(): HTMLButtonElement | undefined;
33
29
  protected _configure(): void;
34
30
  private _configureIcon;
35
31
  onClick(listener: (evt: MouseEvent) => void): void;