@tylertech/forge 2.21.1 → 2.21.2

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 (330) hide show
  1. package/custom-elements.json +1243 -143
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/help-button/index.js +1 -1
  4. package/dist/esm/app-bar/index.js +1 -1
  5. package/dist/esm/app-bar/menu-button/index.js +1 -1
  6. package/dist/esm/app-bar/notification-button/index.js +1 -1
  7. package/dist/esm/app-bar/profile-button/index.js +1 -1
  8. package/dist/esm/app-bar/search/index.js +1 -1
  9. package/dist/esm/autocomplete/index.js +1 -1
  10. package/dist/esm/avatar/index.js +1 -1
  11. package/dist/esm/backdrop/index.js +1 -1
  12. package/dist/esm/badge/index.js +1 -1
  13. package/dist/esm/banner/index.js +1 -1
  14. package/dist/esm/bottom-sheet/index.js +1 -1
  15. package/dist/esm/busy-indicator/index.js +1 -1
  16. package/dist/esm/button/index.js +1 -1
  17. package/dist/esm/button-area/index.js +1 -1
  18. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  20. package/dist/esm/button-toggle/index.js +1 -1
  21. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  22. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  23. package/dist/esm/calendar/index.js +1 -1
  24. package/dist/esm/checkbox/index.js +1 -1
  25. package/dist/esm/chip-field/index.js +1 -1
  26. package/dist/esm/chips/chip/index.js +1 -1
  27. package/dist/esm/chips/chip-set/index.js +1 -1
  28. package/dist/esm/chips/index.js +1 -1
  29. package/dist/esm/chunks/{chunk.G6GRI7UL.js → chunk.34KPY5LA.js} +2 -2
  30. package/dist/esm/chunks/{chunk.KQK2XX5H.js → chunk.34QUWF7V.js} +2 -2
  31. package/dist/esm/chunks/{chunk.F5LXG5X7.js → chunk.34XMCEIP.js} +2 -2
  32. package/dist/esm/chunks/chunk.356ZQ2XS.js +7 -0
  33. package/dist/esm/chunks/{chunk.45KYMP5J.js.map → chunk.356ZQ2XS.js.map} +1 -1
  34. package/dist/esm/chunks/{chunk.Y7YPNMPI.js → chunk.4E7RA4KA.js} +2 -2
  35. package/dist/esm/chunks/{chunk.Y7YPNMPI.js.map → chunk.4E7RA4KA.js.map} +2 -2
  36. package/dist/esm/chunks/{chunk.3FAYFYXF.js → chunk.4HYZFGYD.js} +2 -2
  37. package/dist/esm/chunks/{chunk.2GDEYC4V.js → chunk.4OBKQO2C.js} +2 -2
  38. package/dist/esm/chunks/{chunk.67G7HT5S.js → chunk.5TU5W4VX.js} +2 -2
  39. package/dist/esm/chunks/{chunk.UHU4FUIS.js → chunk.5XP6JI3R.js} +2 -2
  40. package/dist/esm/chunks/{chunk.TH7RLTJK.js → chunk.626HG3FA.js} +2 -2
  41. package/dist/esm/chunks/{chunk.2T6HVSO4.js → chunk.6E43KAVU.js} +2 -2
  42. package/dist/esm/chunks/{chunk.3C44DXZ2.js → chunk.6M3DKBNE.js} +2 -2
  43. package/dist/esm/chunks/{chunk.UQTJSPU4.js → chunk.6TTLHD2N.js} +2 -2
  44. package/dist/esm/chunks/chunk.6UQ4QU6Q.js +7 -0
  45. package/dist/esm/chunks/{chunk.PWHMNJ5Y.js.map → chunk.6UQ4QU6Q.js.map} +3 -3
  46. package/dist/esm/chunks/{chunk.EMV7JGHB.js → chunk.7EL6SQHJ.js} +2 -2
  47. package/dist/esm/chunks/{chunk.FCTKNIBN.js → chunk.7GETSYAV.js} +2 -2
  48. package/dist/esm/chunks/{chunk.FCTKNIBN.js.map → chunk.7GETSYAV.js.map} +2 -2
  49. package/dist/esm/chunks/{chunk.5E2BG6O3.js → chunk.AO6HECKT.js} +2 -2
  50. package/dist/esm/chunks/{chunk.ON2K3O3I.js → chunk.B3FAMC7O.js} +2 -2
  51. package/dist/esm/chunks/{chunk.76PI42C5.js → chunk.CZW42BMS.js} +2 -2
  52. package/dist/esm/chunks/{chunk.D43PPRFO.js → chunk.DTSUVDYY.js} +2 -2
  53. package/dist/esm/chunks/{chunk.XTMXGKUO.js → chunk.DX6QB7DJ.js} +2 -2
  54. package/dist/esm/chunks/chunk.E5EFBGTJ.js +12 -0
  55. package/dist/esm/chunks/{chunk.Y2I2VRMF.js → chunk.FFABH6GU.js} +2 -2
  56. package/dist/esm/chunks/{chunk.L52XPVYZ.js → chunk.FO3INOWB.js} +2 -2
  57. package/dist/esm/chunks/chunk.FTZHHRGK.js +7 -0
  58. package/dist/esm/chunks/{chunk.MXVJSEF3.js.map → chunk.FTZHHRGK.js.map} +1 -1
  59. package/dist/esm/chunks/{chunk.N6XHXCZE.js → chunk.G23TTQRE.js} +2 -2
  60. package/dist/esm/chunks/chunk.GDYEENZH.js +7 -0
  61. package/dist/esm/chunks/chunk.GDYEENZH.js.map +7 -0
  62. package/dist/esm/chunks/{chunk.DPZU5F27.js → chunk.GIEAUIYJ.js} +2 -2
  63. package/dist/esm/chunks/chunk.HBHYHMJR.js +7 -0
  64. package/dist/esm/chunks/chunk.HBHYHMJR.js.map +7 -0
  65. package/dist/esm/chunks/{chunk.44WDRTRR.js → chunk.HIS5OR6E.js} +2 -2
  66. package/dist/esm/chunks/{chunk.7BAO5IED.js → chunk.HQA6NHEQ.js} +2 -2
  67. package/dist/esm/chunks/chunk.I2Q6DCOP.js +7 -0
  68. package/dist/esm/chunks/chunk.I2Q6DCOP.js.map +7 -0
  69. package/dist/esm/chunks/{chunk.J2PHUKSR.js → chunk.I567TCRS.js} +2 -2
  70. package/dist/esm/chunks/chunk.I6TJZZMO.js +7 -0
  71. package/dist/esm/chunks/chunk.I6TJZZMO.js.map +7 -0
  72. package/dist/esm/chunks/chunk.J3PYKSC7.js +7 -0
  73. package/dist/esm/chunks/chunk.J3PYKSC7.js.map +7 -0
  74. package/dist/esm/chunks/{chunk.BINM3NUA.js → chunk.JDGO7PBU.js} +2 -2
  75. package/dist/esm/chunks/chunk.JE4JMYK4.js +29 -0
  76. package/dist/esm/chunks/chunk.JE4JMYK4.js.map +7 -0
  77. package/dist/esm/chunks/chunk.JGQ574IS.js +7 -0
  78. package/dist/esm/chunks/chunk.JGQ574IS.js.map +7 -0
  79. package/dist/esm/chunks/{chunk.APHMTBRQ.js → chunk.JIEPQLGT.js} +2 -2
  80. package/dist/esm/chunks/{chunk.7NHFZL6J.js → chunk.JOPEH3MU.js} +2 -2
  81. package/dist/esm/chunks/{chunk.43RHBWGI.js → chunk.KDGNGV2Q.js} +2 -2
  82. package/dist/esm/chunks/chunk.KZJYLYWN.js +7 -0
  83. package/dist/esm/chunks/chunk.KZJYLYWN.js.map +7 -0
  84. package/dist/esm/chunks/{chunk.M6PJ3PNN.js → chunk.L3PT6MFO.js} +2 -2
  85. package/dist/esm/chunks/{chunk.AZFF62ZK.js → chunk.LOA2PXPF.js} +2 -2
  86. package/dist/esm/chunks/{chunk.7IHNVPY5.js → chunk.MAG6CV5M.js} +2 -2
  87. package/dist/esm/chunks/{chunk.7IHNVPY5.js.map → chunk.MAG6CV5M.js.map} +3 -3
  88. package/dist/esm/chunks/{chunk.M2ATVI24.js → chunk.N24HFRA7.js} +2 -2
  89. package/dist/esm/chunks/{chunk.YJTE34LC.js → chunk.NGNONQIQ.js} +2 -2
  90. package/dist/esm/chunks/{chunk.SFTWKDQV.js → chunk.NOQTT5CC.js} +2 -2
  91. package/dist/esm/chunks/{chunk.IWICN773.js → chunk.NZI24S27.js} +2 -2
  92. package/dist/esm/chunks/{chunk.GQCUI7YS.js → chunk.O3HLTRZ7.js} +2 -2
  93. package/dist/esm/chunks/chunk.OPU47W2S.js +7 -0
  94. package/dist/esm/chunks/chunk.OPU47W2S.js.map +7 -0
  95. package/dist/esm/chunks/{chunk.IV2GMOPB.js → chunk.OQ2YXL5K.js} +2 -2
  96. package/dist/esm/chunks/{chunk.L3SL4NW6.js → chunk.OVRFFUGY.js} +2 -2
  97. package/dist/esm/chunks/{chunk.COS4RDZB.js → chunk.PIEVCFVP.js} +2 -2
  98. package/dist/esm/chunks/{chunk.IZSUW7WG.js → chunk.PITKIE6U.js} +2 -2
  99. package/dist/esm/chunks/chunk.PVKUTCJL.js +7 -0
  100. package/dist/esm/chunks/chunk.PVKUTCJL.js.map +7 -0
  101. package/dist/esm/chunks/{chunk.4R6NK524.js → chunk.PXXVBTZK.js} +2 -2
  102. package/dist/esm/chunks/chunk.Q5S2PLLO.js +7 -0
  103. package/dist/esm/chunks/chunk.Q5S2PLLO.js.map +7 -0
  104. package/dist/esm/chunks/chunk.QUQ2LN2S.js +7 -0
  105. package/dist/esm/chunks/chunk.QUQ2LN2S.js.map +7 -0
  106. package/dist/esm/chunks/chunk.QY5JYJPV.js +7 -0
  107. package/dist/esm/chunks/chunk.QY5JYJPV.js.map +7 -0
  108. package/dist/esm/chunks/{chunk.OEZZ2NEY.js → chunk.REOK5HDT.js} +2 -2
  109. package/dist/esm/chunks/{chunk.PKVY6EWM.js → chunk.RNV6JSP4.js} +2 -2
  110. package/dist/esm/chunks/chunk.RWXLU5GZ.js +7 -0
  111. package/dist/esm/chunks/chunk.RWXLU5GZ.js.map +7 -0
  112. package/dist/esm/chunks/{chunk.LM57IEFE.js → chunk.S5GROM77.js} +2 -2
  113. package/dist/esm/chunks/{chunk.F5CFD2NG.js → chunk.SFREF7YC.js} +2 -2
  114. package/dist/esm/chunks/{chunk.7SULS4D2.js → chunk.SKFSEWYY.js} +2 -2
  115. package/dist/esm/chunks/chunk.SNGYY7HZ.js +7 -0
  116. package/dist/esm/chunks/chunk.SNGYY7HZ.js.map +7 -0
  117. package/dist/esm/chunks/{chunk.6G4DOKR2.js → chunk.SQESFOGY.js} +2 -2
  118. package/dist/esm/chunks/{chunk.6G4DOKR2.js.map → chunk.SQESFOGY.js.map} +2 -2
  119. package/dist/esm/chunks/{chunk.UVL4TIK2.js → chunk.SS46JP47.js} +2 -2
  120. package/dist/esm/chunks/{chunk.KII37K76.js → chunk.SYGMZUV7.js} +2 -2
  121. package/dist/esm/chunks/{chunk.H3IPTBWM.js → chunk.T7UBP53Q.js} +2 -2
  122. package/dist/esm/chunks/{chunk.NLXSZNQI.js → chunk.TGF5WRAW.js} +2 -2
  123. package/dist/esm/chunks/{chunk.JCDIPDQR.js → chunk.TR4JGRMS.js} +2 -2
  124. package/dist/esm/chunks/{chunk.TBSCULSM.js → chunk.TT4KSKDQ.js} +2 -2
  125. package/dist/esm/chunks/{chunk.TBSCULSM.js.map → chunk.TT4KSKDQ.js.map} +1 -1
  126. package/dist/esm/chunks/{chunk.73GVVX4K.js → chunk.UA7R255A.js} +2 -2
  127. package/dist/esm/chunks/{chunk.73GVVX4K.js.map → chunk.UA7R255A.js.map} +2 -2
  128. package/dist/esm/chunks/{chunk.PADHAJLS.js → chunk.VIMC4REI.js} +2 -2
  129. package/dist/esm/chunks/{chunk.SAQSXX2T.js → chunk.VVAZNQMU.js} +2 -2
  130. package/dist/esm/chunks/{chunk.42QTJZSF.js → chunk.VXT4TNZZ.js} +2 -2
  131. package/dist/esm/chunks/{chunk.6TTAKWXI.js → chunk.WHY2OAQJ.js} +2 -2
  132. package/dist/esm/chunks/{chunk.WOTVTBJS.js → chunk.XQS6FU2G.js} +2 -2
  133. package/dist/esm/chunks/{chunk.AIUIUCZH.js → chunk.YCKKFYVM.js} +2 -2
  134. package/dist/esm/chunks/chunk.YPR3VFCP.js +7 -0
  135. package/dist/esm/chunks/chunk.YPR3VFCP.js.map +7 -0
  136. package/dist/esm/chunks/chunk.ZFBCYZNK.js +7 -0
  137. package/dist/esm/chunks/chunk.ZFBCYZNK.js.map +7 -0
  138. package/dist/esm/chunks/chunk.ZTN2FNFX.js +7 -0
  139. package/dist/esm/chunks/chunk.ZTN2FNFX.js.map +7 -0
  140. package/dist/esm/color-picker/index.js +1 -1
  141. package/dist/esm/core/base/index.js +1 -1
  142. package/dist/esm/core/index.js +1 -1
  143. package/dist/esm/core/utils/index.js +1 -1
  144. package/dist/esm/date-picker/index.js +1 -1
  145. package/dist/esm/date-range-picker/index.js +1 -1
  146. package/dist/esm/dialog/index.js +1 -1
  147. package/dist/esm/drawer/base/index.js +1 -1
  148. package/dist/esm/drawer/drawer/index.js +1 -1
  149. package/dist/esm/drawer/index.js +1 -1
  150. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  151. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  152. package/dist/esm/expansion-panel/index.js +1 -1
  153. package/dist/esm/file-picker/index.js +1 -1
  154. package/dist/esm/floating-action-button/index.js +1 -1
  155. package/dist/esm/icon/index.js +1 -1
  156. package/dist/esm/icon-button/index.js +1 -1
  157. package/dist/esm/index.js +1 -1
  158. package/dist/esm/keyboard-shortcut/index.js +1 -1
  159. package/dist/esm/label-value/index.js +1 -1
  160. package/dist/esm/list/index.js +1 -1
  161. package/dist/esm/list/list/index.js +1 -1
  162. package/dist/esm/list/list-item/index.js +1 -1
  163. package/dist/esm/list-dropdown/index.js +1 -1
  164. package/dist/esm/menu/index.js +1 -1
  165. package/dist/esm/open-icon/index.js +1 -1
  166. package/dist/esm/paginator/index.js +1 -1
  167. package/dist/esm/popup/index.js +1 -1
  168. package/dist/esm/product-icon/index.js +1 -1
  169. package/dist/esm/profile-card/index.js +1 -1
  170. package/dist/esm/quantity-field/index.js +1 -1
  171. package/dist/esm/radio/index.js +1 -1
  172. package/dist/esm/ripple/index.js +1 -1
  173. package/dist/esm/select/core/index.js +1 -1
  174. package/dist/esm/select/index.js +1 -1
  175. package/dist/esm/select/option/index.js +1 -1
  176. package/dist/esm/select/select/index.js +1 -1
  177. package/dist/esm/select/select-dropdown/index.js +1 -1
  178. package/dist/esm/slider/index.js +1 -1
  179. package/dist/esm/split-view/index.js +1 -1
  180. package/dist/esm/split-view/split-view/index.js +1 -1
  181. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  182. package/dist/esm/stack/index.js +1 -1
  183. package/dist/esm/stepper/index.js +1 -1
  184. package/dist/esm/stepper/step/index.js +1 -1
  185. package/dist/esm/stepper/stepper/index.js +1 -1
  186. package/dist/esm/switch/index.js +1 -1
  187. package/dist/esm/table/index.js +1 -1
  188. package/dist/esm/tabs/index.js +1 -1
  189. package/dist/esm/tabs/tab/index.js +1 -1
  190. package/dist/esm/tabs/tab-bar/index.js +1 -1
  191. package/dist/esm/text-field/index.js +1 -1
  192. package/dist/esm/time-picker/index.js +1 -1
  193. package/dist/esm/toast/index.js +1 -1
  194. package/dist/esm/tooltip/index.js +1 -1
  195. package/dist/esm/view-switcher/index.js +1 -1
  196. package/esm/autocomplete/autocomplete.d.ts +8 -2
  197. package/esm/button/button.d.ts +1 -0
  198. package/esm/button/button.js +18 -7
  199. package/esm/button-area/button-area-adapter.d.ts +3 -1
  200. package/esm/button-area/button-area-adapter.js +14 -5
  201. package/esm/button-area/button-area-foundation.js +1 -0
  202. package/esm/calendar/calendar-foundation.js +22 -18
  203. package/esm/calendar/calendar.d.ts +1 -0
  204. package/esm/checkbox/checkbox-adapter.d.ts +1 -0
  205. package/esm/checkbox/checkbox-adapter.js +18 -7
  206. package/esm/core/base/base-adapter.d.ts +4 -2
  207. package/esm/core/base/base-adapter.js +3 -0
  208. package/esm/core/utils/utils.d.ts +5 -2
  209. package/esm/core/utils/utils.js +21 -6
  210. package/esm/date-picker/base/base-date-picker-adapter.js +1 -3
  211. package/esm/date-picker/base/base-date-picker-foundation.js +6 -0
  212. package/esm/dialog/dialog-adapter.d.ts +2 -0
  213. package/esm/dialog/dialog-adapter.js +14 -0
  214. package/esm/dialog/dialog-foundation.js +1 -0
  215. package/esm/icon-button/icon-button.d.ts +2 -0
  216. package/esm/icon-button/icon-button.js +31 -7
  217. package/esm/list/list/list-adapter.d.ts +2 -6
  218. package/esm/list/list/list-adapter.js +29 -18
  219. package/esm/list/list/list-constants.d.ts +2 -2
  220. package/esm/list/list/list-constants.js +3 -3
  221. package/esm/list/list/list-foundation.js +6 -0
  222. package/esm/list/list-item/list-item-adapter.d.ts +3 -3
  223. package/esm/list/list-item/list-item-adapter.js +3 -3
  224. package/esm/list/list-item/list-item-foundation.d.ts +1 -0
  225. package/esm/list/list-item/list-item-foundation.js +12 -2
  226. package/esm/menu/menu-foundation.js +1 -0
  227. package/esm/menu/menu.d.ts +4 -1
  228. package/esm/open-icon/open-icon.js +2 -2
  229. package/esm/paginator/paginator-adapter.d.ts +6 -2
  230. package/esm/paginator/paginator-adapter.js +34 -54
  231. package/esm/paginator/paginator-constants.d.ts +1 -1
  232. package/esm/paginator/paginator-foundation.js +7 -17
  233. package/esm/radio/radio-adapter.d.ts +1 -0
  234. package/esm/radio/radio-adapter.js +18 -7
  235. package/esm/ripple/forge-ripple.d.ts +2 -0
  236. package/esm/ripple/forge-ripple.js +4 -0
  237. package/esm/select/core/base-select.d.ts +4 -1
  238. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  239. package/esm/switch/switch.js +15 -2
  240. package/esm/tooltip/tooltip.d.ts +1 -0
  241. package/package.json +2 -2
  242. package/dist/esm/chunks/chunk.45KYMP5J.js +0 -7
  243. package/dist/esm/chunks/chunk.4CWMNWZU.js +0 -7
  244. package/dist/esm/chunks/chunk.4CWMNWZU.js.map +0 -7
  245. package/dist/esm/chunks/chunk.5KC43VFL.js +0 -7
  246. package/dist/esm/chunks/chunk.5KC43VFL.js.map +0 -7
  247. package/dist/esm/chunks/chunk.AHDIUCUB.js +0 -7
  248. package/dist/esm/chunks/chunk.AHDIUCUB.js.map +0 -7
  249. package/dist/esm/chunks/chunk.CE6NTUWI.js +0 -7
  250. package/dist/esm/chunks/chunk.CE6NTUWI.js.map +0 -7
  251. package/dist/esm/chunks/chunk.DLALEZ73.js +0 -7
  252. package/dist/esm/chunks/chunk.DLALEZ73.js.map +0 -7
  253. package/dist/esm/chunks/chunk.DYF2MREZ.js +0 -7
  254. package/dist/esm/chunks/chunk.DYF2MREZ.js.map +0 -7
  255. package/dist/esm/chunks/chunk.ITXUKOKJ.js +0 -7
  256. package/dist/esm/chunks/chunk.ITXUKOKJ.js.map +0 -7
  257. package/dist/esm/chunks/chunk.MXVJSEF3.js +0 -7
  258. package/dist/esm/chunks/chunk.PWHMNJ5Y.js +0 -7
  259. package/dist/esm/chunks/chunk.Q7HX26UO.js +0 -7
  260. package/dist/esm/chunks/chunk.Q7HX26UO.js.map +0 -7
  261. package/dist/esm/chunks/chunk.QZ2NXIGY.js +0 -7
  262. package/dist/esm/chunks/chunk.QZ2NXIGY.js.map +0 -7
  263. package/dist/esm/chunks/chunk.RD7SYOAI.js +0 -12
  264. package/dist/esm/chunks/chunk.RLWX5BFQ.js +0 -7
  265. package/dist/esm/chunks/chunk.RLWX5BFQ.js.map +0 -7
  266. package/dist/esm/chunks/chunk.SXTM6OK4.js +0 -7
  267. package/dist/esm/chunks/chunk.SXTM6OK4.js.map +0 -7
  268. package/dist/esm/chunks/chunk.VT2QJ7SM.js +0 -29
  269. package/dist/esm/chunks/chunk.VT2QJ7SM.js.map +0 -7
  270. package/dist/esm/chunks/chunk.Y66GSZJB.js +0 -7
  271. package/dist/esm/chunks/chunk.Y66GSZJB.js.map +0 -7
  272. package/dist/esm/chunks/chunk.YG24YPYO.js +0 -7
  273. package/dist/esm/chunks/chunk.YG24YPYO.js.map +0 -7
  274. /package/dist/esm/chunks/{chunk.G6GRI7UL.js.map → chunk.34KPY5LA.js.map} +0 -0
  275. /package/dist/esm/chunks/{chunk.KQK2XX5H.js.map → chunk.34QUWF7V.js.map} +0 -0
  276. /package/dist/esm/chunks/{chunk.F5LXG5X7.js.map → chunk.34XMCEIP.js.map} +0 -0
  277. /package/dist/esm/chunks/{chunk.3FAYFYXF.js.map → chunk.4HYZFGYD.js.map} +0 -0
  278. /package/dist/esm/chunks/{chunk.2GDEYC4V.js.map → chunk.4OBKQO2C.js.map} +0 -0
  279. /package/dist/esm/chunks/{chunk.67G7HT5S.js.map → chunk.5TU5W4VX.js.map} +0 -0
  280. /package/dist/esm/chunks/{chunk.UHU4FUIS.js.map → chunk.5XP6JI3R.js.map} +0 -0
  281. /package/dist/esm/chunks/{chunk.TH7RLTJK.js.map → chunk.626HG3FA.js.map} +0 -0
  282. /package/dist/esm/chunks/{chunk.2T6HVSO4.js.map → chunk.6E43KAVU.js.map} +0 -0
  283. /package/dist/esm/chunks/{chunk.3C44DXZ2.js.map → chunk.6M3DKBNE.js.map} +0 -0
  284. /package/dist/esm/chunks/{chunk.UQTJSPU4.js.map → chunk.6TTLHD2N.js.map} +0 -0
  285. /package/dist/esm/chunks/{chunk.EMV7JGHB.js.map → chunk.7EL6SQHJ.js.map} +0 -0
  286. /package/dist/esm/chunks/{chunk.5E2BG6O3.js.map → chunk.AO6HECKT.js.map} +0 -0
  287. /package/dist/esm/chunks/{chunk.ON2K3O3I.js.map → chunk.B3FAMC7O.js.map} +0 -0
  288. /package/dist/esm/chunks/{chunk.76PI42C5.js.map → chunk.CZW42BMS.js.map} +0 -0
  289. /package/dist/esm/chunks/{chunk.D43PPRFO.js.map → chunk.DTSUVDYY.js.map} +0 -0
  290. /package/dist/esm/chunks/{chunk.XTMXGKUO.js.map → chunk.DX6QB7DJ.js.map} +0 -0
  291. /package/dist/esm/chunks/{chunk.RD7SYOAI.js.map → chunk.E5EFBGTJ.js.map} +0 -0
  292. /package/dist/esm/chunks/{chunk.Y2I2VRMF.js.map → chunk.FFABH6GU.js.map} +0 -0
  293. /package/dist/esm/chunks/{chunk.L52XPVYZ.js.map → chunk.FO3INOWB.js.map} +0 -0
  294. /package/dist/esm/chunks/{chunk.N6XHXCZE.js.map → chunk.G23TTQRE.js.map} +0 -0
  295. /package/dist/esm/chunks/{chunk.DPZU5F27.js.map → chunk.GIEAUIYJ.js.map} +0 -0
  296. /package/dist/esm/chunks/{chunk.44WDRTRR.js.map → chunk.HIS5OR6E.js.map} +0 -0
  297. /package/dist/esm/chunks/{chunk.7BAO5IED.js.map → chunk.HQA6NHEQ.js.map} +0 -0
  298. /package/dist/esm/chunks/{chunk.J2PHUKSR.js.map → chunk.I567TCRS.js.map} +0 -0
  299. /package/dist/esm/chunks/{chunk.BINM3NUA.js.map → chunk.JDGO7PBU.js.map} +0 -0
  300. /package/dist/esm/chunks/{chunk.APHMTBRQ.js.map → chunk.JIEPQLGT.js.map} +0 -0
  301. /package/dist/esm/chunks/{chunk.7NHFZL6J.js.map → chunk.JOPEH3MU.js.map} +0 -0
  302. /package/dist/esm/chunks/{chunk.43RHBWGI.js.map → chunk.KDGNGV2Q.js.map} +0 -0
  303. /package/dist/esm/chunks/{chunk.M6PJ3PNN.js.map → chunk.L3PT6MFO.js.map} +0 -0
  304. /package/dist/esm/chunks/{chunk.AZFF62ZK.js.map → chunk.LOA2PXPF.js.map} +0 -0
  305. /package/dist/esm/chunks/{chunk.M2ATVI24.js.map → chunk.N24HFRA7.js.map} +0 -0
  306. /package/dist/esm/chunks/{chunk.YJTE34LC.js.map → chunk.NGNONQIQ.js.map} +0 -0
  307. /package/dist/esm/chunks/{chunk.SFTWKDQV.js.map → chunk.NOQTT5CC.js.map} +0 -0
  308. /package/dist/esm/chunks/{chunk.IWICN773.js.map → chunk.NZI24S27.js.map} +0 -0
  309. /package/dist/esm/chunks/{chunk.GQCUI7YS.js.map → chunk.O3HLTRZ7.js.map} +0 -0
  310. /package/dist/esm/chunks/{chunk.IV2GMOPB.js.map → chunk.OQ2YXL5K.js.map} +0 -0
  311. /package/dist/esm/chunks/{chunk.L3SL4NW6.js.map → chunk.OVRFFUGY.js.map} +0 -0
  312. /package/dist/esm/chunks/{chunk.COS4RDZB.js.map → chunk.PIEVCFVP.js.map} +0 -0
  313. /package/dist/esm/chunks/{chunk.IZSUW7WG.js.map → chunk.PITKIE6U.js.map} +0 -0
  314. /package/dist/esm/chunks/{chunk.4R6NK524.js.map → chunk.PXXVBTZK.js.map} +0 -0
  315. /package/dist/esm/chunks/{chunk.OEZZ2NEY.js.map → chunk.REOK5HDT.js.map} +0 -0
  316. /package/dist/esm/chunks/{chunk.PKVY6EWM.js.map → chunk.RNV6JSP4.js.map} +0 -0
  317. /package/dist/esm/chunks/{chunk.LM57IEFE.js.map → chunk.S5GROM77.js.map} +0 -0
  318. /package/dist/esm/chunks/{chunk.F5CFD2NG.js.map → chunk.SFREF7YC.js.map} +0 -0
  319. /package/dist/esm/chunks/{chunk.7SULS4D2.js.map → chunk.SKFSEWYY.js.map} +0 -0
  320. /package/dist/esm/chunks/{chunk.UVL4TIK2.js.map → chunk.SS46JP47.js.map} +0 -0
  321. /package/dist/esm/chunks/{chunk.KII37K76.js.map → chunk.SYGMZUV7.js.map} +0 -0
  322. /package/dist/esm/chunks/{chunk.H3IPTBWM.js.map → chunk.T7UBP53Q.js.map} +0 -0
  323. /package/dist/esm/chunks/{chunk.NLXSZNQI.js.map → chunk.TGF5WRAW.js.map} +0 -0
  324. /package/dist/esm/chunks/{chunk.JCDIPDQR.js.map → chunk.TR4JGRMS.js.map} +0 -0
  325. /package/dist/esm/chunks/{chunk.PADHAJLS.js.map → chunk.VIMC4REI.js.map} +0 -0
  326. /package/dist/esm/chunks/{chunk.SAQSXX2T.js.map → chunk.VVAZNQMU.js.map} +0 -0
  327. /package/dist/esm/chunks/{chunk.42QTJZSF.js.map → chunk.VXT4TNZZ.js.map} +0 -0
  328. /package/dist/esm/chunks/{chunk.6TTAKWXI.js.map → chunk.WHY2OAQJ.js.map} +0 -0
  329. /package/dist/esm/chunks/{chunk.WOTVTBJS.js.map → chunk.XQS6FU2G.js.map} +0 -0
  330. /package/dist/esm/chunks/{chunk.AIUIUCZH.js.map → chunk.YCKKFYVM.js.map} +0 -0
@@ -12,11 +12,11 @@ const attributes = {
12
12
  INDENTED: 'indented',
13
13
  SELECTED_VALUE: 'selected-value'
14
14
  };
15
- const selectors = {
16
- FOCUSABLE_LIST_ITEMS: '.forge-list-item:not(.forge-list-item--static):not(.forge-list-item--disabled)'
15
+ const events = {
16
+ SCOPE_TEST: `${elementName}-item-scope-test`
17
17
  };
18
18
  export const LIST_CONSTANTS = {
19
19
  elementName,
20
20
  attributes,
21
- selectors
21
+ events
22
22
  };
@@ -28,6 +28,12 @@ export class ListFoundation {
28
28
  }
29
29
  }
30
30
  _onKeydown(evt) {
31
+ const path = evt.composedPath();
32
+ const composedBeforeUs = path.slice(0, path.indexOf(this._adapter.hostElement));
33
+ const fromListDescendant = composedBeforeUs.some((el) => el.localName === LIST_CONSTANTS.elementName.toLowerCase());
34
+ if (fromListDescendant) {
35
+ return; // We ignore keydown events coming from sub-lists because they are already handling it themselves
36
+ }
31
37
  const isArrowDown = evt.key === 'ArrowDown' || evt.keyCode === 40;
32
38
  const isArrowUp = evt.key === 'ArrowUp' || evt.keyCode === 38;
33
39
  const isHome = evt.key === 'Home' || evt.keyCode === 36;
@@ -4,7 +4,7 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';
7
- import { userInteractionListener } from '../../core/utils';
7
+ import { createUserInteractionListener } from '../../core/utils';
8
8
  import { IListItemComponent } from './list-item';
9
9
  export interface IListItemAdapter extends IBaseAdapter {
10
10
  initializeAccessibility(): void;
@@ -27,7 +27,7 @@ export interface IListItemAdapter extends IBaseAdapter {
27
27
  setIndented(indented: boolean): void;
28
28
  setWrap(value: boolean): void;
29
29
  trySelect(value: unknown): boolean | null;
30
- userInteractionListener(): ReturnType<typeof userInteractionListener>;
30
+ createUserInteractionListener(): ReturnType<typeof createUserInteractionListener>;
31
31
  }
32
32
  export declare class ListItemAdapter extends BaseAdapter<IListItemComponent> implements IListItemAdapter {
33
33
  private _listItemElement;
@@ -105,5 +105,5 @@ export declare class ListItemAdapter extends BaseAdapter<IListItemComponent> imp
105
105
  * @returns Returns whether the list item is selected or not
106
106
  */
107
107
  trySelect(value: unknown): boolean | null;
108
- userInteractionListener(): ReturnType<typeof userInteractionListener>;
108
+ createUserInteractionListener(): ReturnType<typeof createUserInteractionListener>;
109
109
  }
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { addClass, getShadowElement, removeClass, requireParent, isDeepEqual, toggleClass } from '@tylertech/forge-core';
7
7
  import { BaseAdapter } from '../../core/base/base-adapter';
8
- import { userInteractionListener } from '../../core/utils';
8
+ import { createUserInteractionListener } from '../../core/utils';
9
9
  import { LIST_CONSTANTS } from '../list/list-constants';
10
10
  import { LIST_ITEM_CONSTANTS } from './list-item-constants';
11
11
  import { ForgeRipple } from '../../ripple';
@@ -179,7 +179,7 @@ export class ListItemAdapter extends BaseAdapter {
179
179
  this.tryToggleCheckboxRadio(isSelected);
180
180
  return isSelected;
181
181
  }
182
- userInteractionListener() {
183
- return userInteractionListener(this._listItemElement);
182
+ createUserInteractionListener() {
183
+ return createUserInteractionListener(this._listItemElement);
184
184
  }
185
185
  }
@@ -43,6 +43,7 @@ export declare class ListItemFoundation implements IListItemFoundation {
43
43
  private _clickListener;
44
44
  private _mouseDownListener;
45
45
  private _keydownListener;
46
+ private _destroyUserInteractionListener;
46
47
  constructor(_adapter: IListItemAdapter);
47
48
  initialize(): void;
48
49
  disconnect(): void;
@@ -55,6 +55,10 @@ export class ListItemFoundation {
55
55
  this._rippleInstance.destroy();
56
56
  this._rippleInstance = undefined;
57
57
  }
58
+ if (typeof this._destroyUserInteractionListener === 'function') {
59
+ this._destroyUserInteractionListener();
60
+ this._destroyUserInteractionListener = undefined;
61
+ }
58
62
  }
59
63
  _onMouseDown(evt) {
60
64
  if (this._adapter.hasFocus() || !this._propagateClick) {
@@ -295,8 +299,14 @@ export class ListItemFoundation {
295
299
  }
296
300
  async _setRipple() {
297
301
  if (this._ripple && !this._static && !this._rippleInstance) {
298
- const type = await this._adapter.userInteractionListener();
299
- if (this._ripple && !this._static && !this._rippleInstance) { // need to re-check after await
302
+ const { userInteraction, destroy } = await this._adapter.createUserInteractionListener();
303
+ this._destroyUserInteractionListener = destroy;
304
+ const { type } = await userInteraction;
305
+ this._destroyUserInteractionListener = undefined;
306
+ if (!this._adapter.isConnected) {
307
+ return;
308
+ }
309
+ if (this._ripple && !this._static && !this._rippleInstance) {
300
310
  this._rippleInstance = this._adapter.createRipple();
301
311
  if (type === 'focusin') {
302
312
  this._rippleInstance.handleFocus();
@@ -295,6 +295,7 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
295
295
  if (this._open) {
296
296
  if (results && isArray(results) && results.length) {
297
297
  this._options = results;
298
+ this._mapIconToLeadingIcon();
298
299
  this._adapter.setOptions(results);
299
300
  const selectedValues = this._getSelectedValues();
300
301
  if (selectedValues.length) {
@@ -73,7 +73,10 @@ export declare class MenuComponent extends ListDropdownAware implements IMenuCom
73
73
  popupOffset: IPopupPosition;
74
74
  /** Sets the callback that will be executed for each option in the dropdown for producing custom option templates. */
75
75
  optionBuilder: MenuOptionBuilder;
76
- /** Gets the currently active popup element when the dropdown is open. */
76
+ /**
77
+ * Gets the currently active popup element when the dropdown is open.
78
+ * @readonly
79
+ */
77
80
  popupElement: HTMLElement | undefined;
78
81
  /** Force propagates the key event from another element this component. */
79
82
  propagateKeyEvent(evt: KeyboardEvent): void;
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { __decorate } from "tslib";
7
7
  import { CustomElement, attachShadowTemplate, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';
8
- import { tylIconKeyboardArrowLeft, tylIconKeyboardArrowDown } from '@tylertech/tyler-icons/standard';
8
+ import { tylIconKeyboardArrowRight, tylIconKeyboardArrowDown } from '@tylertech/tyler-icons/standard';
9
9
  import { OpenIconFoundation } from './open-icon-foundation';
10
10
  import { OpenIconAdapter } from './open-icon-adapter';
11
11
  import { OPEN_ICON_CONSTANTS } from './open-icon-constants';
@@ -21,7 +21,7 @@ const styles = '.forge-open-icon{color:#757575;color:var(--forge-theme-icon-colo
21
21
  let OpenIconComponent = class OpenIconComponent extends BaseComponent {
22
22
  constructor() {
23
23
  super();
24
- IconRegistry.define([tylIconKeyboardArrowLeft, tylIconKeyboardArrowDown]);
24
+ IconRegistry.define([tylIconKeyboardArrowRight, tylIconKeyboardArrowDown]);
25
25
  attachShadowTemplate(this, template, styles);
26
26
  this._foundation = new OpenIconFoundation(new OpenIconAdapter(this));
27
27
  }
@@ -43,7 +43,9 @@ export interface IPaginatorAdapter extends IBaseAdapter {
43
43
  setAlternative(alternative: boolean): void;
44
44
  setAlignment(alignment: PaginatorAlternativeAlignment): void;
45
45
  hasFocus(): boolean;
46
- handleFocusMove(from?: PaginatorFieldIdentifier | null, options?: FocusOptions): void;
46
+ setFocus(options?: FocusOptions): void;
47
+ getFocusedField(): PaginatorFieldIdentifier | null;
48
+ tryDisableFields(fieldsToDisable: PaginatorFieldIdentifier[]): void;
47
49
  }
48
50
  /**
49
51
  * Provides facilities for interacting with the internal DOM of `PaginatorComponent`.
@@ -97,6 +99,8 @@ export declare class PaginatorAdapter extends BaseAdapter<IPaginatorComponent> i
97
99
  setAlternative(alternative: boolean): void;
98
100
  setAlignment(alignment: PaginatorAlternativeAlignment): void;
99
101
  hasFocus(): boolean;
100
- handleFocusMove(from?: PaginatorFieldIdentifier, options?: FocusOptions): void;
102
+ setFocus(options?: FocusOptions): void;
103
+ getFocusedField(): PaginatorFieldIdentifier | null;
104
+ tryDisableFields(fieldsToDisable: PaginatorFieldIdentifier[]): void;
101
105
  private _tryFocus;
102
106
  }
@@ -149,66 +149,46 @@ export class PaginatorAdapter extends BaseAdapter {
149
149
  hasFocus() {
150
150
  return this._component.matches(':focus');
151
151
  }
152
- handleFocusMove(from, options) {
153
- if (from && !this.hasFocus()) {
154
- return; // We can only move focus elsewhere within the element if the element already contains focus
152
+ setFocus(options) {
153
+ this._tryFocus([
154
+ this._pageSizeSelect,
155
+ this._firstPageButton,
156
+ this._previousPageButton,
157
+ this._nextPageButton,
158
+ this._lastPageButton
159
+ ], options);
160
+ }
161
+ getFocusedField() {
162
+ if (this._pageSizeSelect.matches(':focus-within')) {
163
+ return 'page-size';
155
164
  }
156
- switch (from) {
157
- case 'first':
158
- this._tryFocus([
159
- this._nextPageButton,
160
- this._lastPageButton,
161
- this._previousPageButton,
162
- this._pageSizeSelect
163
- ], options);
164
- break;
165
- case 'last':
166
- this._tryFocus([
167
- this._previousPageButton,
168
- this._firstPageButton,
169
- this._nextPageButton,
170
- this._pageSizeSelect
171
- ], options);
172
- break;
173
- case 'previous':
174
- this._tryFocus([
175
- this._nextPageButton,
176
- this._lastPageButton,
177
- this._firstPageButton,
178
- this._pageSizeSelect
179
- ]);
180
- break;
181
- case 'next':
182
- this._tryFocus([
183
- this._previousPageButton,
184
- this._firstPageButton,
185
- this._lastPageButton,
186
- this._pageSizeSelect
187
- ], options);
188
- break;
189
- case 'page-size':
190
- this._tryFocus([
191
- this._nextPageButton,
192
- this._lastPageButton,
193
- this._firstPageButton,
194
- this._previousPageButton
195
- ], options);
196
- break;
197
- default:
198
- this._tryFocus([
199
- this._firstPageButton,
200
- this._previousPageButton,
201
- this._nextPageButton,
202
- this._lastPageButton,
203
- this._pageSizeSelect
204
- ], options);
205
- break;
165
+ else if (this._firstPageButton.matches(':focus-within')) {
166
+ return 'first';
167
+ }
168
+ else if (this._previousPageButton.matches(':focus-within')) {
169
+ return 'previous';
170
+ }
171
+ else if (this._nextPageButton.matches(':focus-within')) {
172
+ return 'next';
206
173
  }
174
+ else if (this._lastPageButton.matches(':focus-within')) {
175
+ return 'last';
176
+ }
177
+ return null;
178
+ }
179
+ tryDisableFields(fieldsToDisable) {
180
+ const fieldDisablers = {
181
+ 'first': () => this.disableFirstPageButton(),
182
+ 'last': () => this.disableLastPageButton(),
183
+ 'previous': () => this.disablePreviousPageButton(),
184
+ 'next': () => this.disableNextPageButton()
185
+ };
186
+ fieldsToDisable.forEach(field => { var _a; return (_a = fieldDisablers[field]) === null || _a === void 0 ? void 0 : _a.call(fieldDisablers); });
207
187
  }
208
188
  _tryFocus(elements, options) {
209
189
  const preventScroll = typeof (options === null || options === void 0 ? void 0 : options.preventScroll) === 'boolean' ? options.preventScroll : true;
210
190
  for (const el of elements) {
211
- if (el && el.isConnected && !el.disabled) {
191
+ if (el && el.isConnected && !el.disabled && el.style.display !== 'none') {
212
192
  el.focus(Object.assign(Object.assign({}, options), { preventScroll }));
213
193
  return;
214
194
  }
@@ -47,7 +47,7 @@ export declare const PAGINATOR_CONSTANTS: {
47
47
  ALIGNMENT: string;
48
48
  };
49
49
  events: {
50
- CHANGE: string;
50
+ readonly CHANGE: "forge-paginator-change";
51
51
  };
52
52
  numbers: {
53
53
  DEFAULT_PAGE_INDEX: number;
@@ -37,7 +37,7 @@ export class PaginatorFoundation {
37
37
  this._detachListeners();
38
38
  }
39
39
  focus(options) {
40
- this._adapter.handleFocusMove(null, options);
40
+ this._adapter.setFocus(options);
41
41
  }
42
42
  _attachListeners() {
43
43
  this._adapter.attachPageSizeChangeListener(this._pageSizeListener);
@@ -149,30 +149,20 @@ export class PaginatorFoundation {
149
149
  this._adapter.enablePreviousPageButton();
150
150
  this._adapter.enableNextPageButton();
151
151
  this._adapter.enableLastPageButton();
152
+ const fieldsToDisable = [];
152
153
  if (!this._hasFirstPage()) {
153
- if (this._adapter.hasFocus()) {
154
- this._adapter.handleFocusMove('first');
155
- }
156
- this._adapter.disableFirstPageButton();
154
+ fieldsToDisable.push('first');
157
155
  }
158
156
  if (!this._hasPreviousPage()) {
159
- if (this._adapter.hasFocus()) {
160
- this._adapter.handleFocusMove('previous');
161
- }
162
- this._adapter.disablePreviousPageButton();
157
+ fieldsToDisable.push('previous');
163
158
  }
164
159
  if (!this._hasNextPage()) {
165
- if (this._adapter.hasFocus()) {
166
- this._adapter.handleFocusMove('next');
167
- }
168
- this._adapter.disableNextPageButton();
160
+ fieldsToDisable.push('next');
169
161
  }
170
162
  if (!this._hasLastPage()) {
171
- if (this._adapter.hasFocus()) {
172
- this._adapter.handleFocusMove('last');
173
- }
174
- this._adapter.disableLastPageButton();
163
+ fieldsToDisable.push('last');
175
164
  }
165
+ this._adapter.tryDisableFields(fieldsToDisable);
176
166
  }
177
167
  _toggleFirstLastButtons() {
178
168
  this._toggleFirstButton();
@@ -33,6 +33,7 @@ export declare class RadioAdapter implements IRadioAdapter, ForgeRippleCapableSu
33
33
  private _nativeInputElement;
34
34
  private _inputAttributeMutationObserver?;
35
35
  private _rippleInstance;
36
+ private _destroyUserInteractionListener;
36
37
  constructor(_component: IRadioComponent);
37
38
  get root(): Element;
38
39
  get unbounded(): boolean | undefined;
@@ -6,7 +6,7 @@
6
6
  import { addClass, getShadowElement, removeClass, getActiveElement } from '@tylertech/forge-core';
7
7
  import { RADIO_CONSTANTS } from './radio-constants';
8
8
  import { ForgeRipple, ForgeRippleFoundation } from '../ripple';
9
- import { userInteractionListener } from '../core/utils';
9
+ import { createUserInteractionListener } from '../core/utils';
10
10
  export class RadioAdapter {
11
11
  constructor(_component) {
12
12
  this._component = _component;
@@ -30,16 +30,27 @@ export class RadioAdapter {
30
30
  }
31
31
  }
32
32
  async deferRippleInitialization() {
33
- const type = await userInteractionListener(this._rootElement);
34
- if (!this._rippleInstance) {
35
- this._rippleInstance = this._createRipple();
36
- if (type === 'focusin') {
37
- this._rippleInstance.handleFocus();
38
- }
33
+ if (typeof this._destroyUserInteractionListener === 'function') {
34
+ this._destroyUserInteractionListener();
35
+ }
36
+ const { userInteraction, destroy } = createUserInteractionListener(this._rootElement);
37
+ this._destroyUserInteractionListener = destroy;
38
+ const { type } = await userInteraction;
39
+ this._destroyUserInteractionListener = undefined;
40
+ if (!this._component.isConnected) {
41
+ return;
42
+ }
43
+ this._rippleInstance = this._createRipple();
44
+ if (type === 'focusin') {
45
+ this._rippleInstance.handleFocus();
39
46
  }
40
47
  }
41
48
  destroyRipple() {
42
49
  var _a;
50
+ if (typeof this._destroyUserInteractionListener === 'function') {
51
+ this._destroyUserInteractionListener();
52
+ this._destroyUserInteractionListener = undefined;
53
+ }
43
54
  (_a = this._rippleInstance) === null || _a === void 0 ? void 0 : _a.destroy();
44
55
  this._rippleInstance = undefined;
45
56
  }
@@ -7,6 +7,8 @@ import { MDCRipple, type MDCRippleAdapter, MDCRippleFoundation, type MDCRippleCa
7
7
  export declare class ForgeRipple extends MDCRipple {
8
8
  /** Manually trigger focus activation. */
9
9
  handleFocus(): void;
10
+ /** Manually trigger blur activation */
11
+ handleBlur(): void;
10
12
  /** Executes the ripple animation. */
11
13
  animate(): void;
12
14
  }
@@ -9,6 +9,10 @@ export class ForgeRipple extends MDCRipple {
9
9
  handleFocus() {
10
10
  this.foundation.handleFocus();
11
11
  }
12
+ /** Manually trigger blur activation */
13
+ handleBlur() {
14
+ this.foundation.handleBlur();
15
+ }
12
16
  /** Executes the ripple animation. */
13
17
  animate() {
14
18
  this.foundation.animateActivation(); // MDC does not expose this method, using `any` to access it.
@@ -40,7 +40,10 @@ export declare abstract class BaseSelectComponent<T extends IBaseSelectFoundatio
40
40
  selectedTextBuilder: SelectSelectedTextBuilder;
41
41
  /** Sets the callback to be executed when the user selects a value. */
42
42
  beforeValueChange: SelectBeforeValueChangeCallback<any>;
43
- /** Gets the popup element (when the dropdown is open). */
43
+ /**
44
+ * Gets the popup element (when the dropdown is open).
45
+ * @readonly
46
+ */
44
47
  popupElement: IPopupComponent | undefined;
45
48
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
46
49
  appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;
@@ -14,7 +14,7 @@ import { SplitViewPanelAdapter } from './split-view-panel-adapter';
14
14
  import { IconComponent, IconRegistry } from '../../icon';
15
15
  import { RippleComponent } from '../../ripple';
16
16
  const template = '<template><div class=\"forge-split-view-panel\" id=\"root\" part=\"root\"><div class=\"forge-split-view-panel__handle\" id=\"handle\" part=\"handle\" role=\"separator\" aria-controls=\"content\" aria-grabbed=\"false\" tabindex=\"0\"><forge-icon class=\"forge-split-view-panel__icon\" id=\"icon\" part=\"icon\"></forge-icon><forge-ripple id=\"ripple\" part=\"ripple\"></forge-ripple></div><div class=\"forge-split-view-panel__content\" id=\"content\" part=\"content\" role=\"group\"><slot></slot></div></div></template>';
17
- const styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-split-view-panel{display:-webkit-box;display:flex;width:100%;height:100%;overflow:hidden;contain:paint size}.forge-split-view-panel__handle{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54));background-color:#e0e0e0;background-color:var(--forge-theme-border-color,#e0e0e0);display:-webkit-box;display:flex;flex-shrink:0;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;outline:0}.forge-split-view-panel__content{-webkit-box-flex:1;flex:1;overflow:hidden}.forge-split-view-panel--closed{display:none}.forge-split-view-panel--disabled #handle{pointer-events:none}.forge-split-view-panel--disabled .forge-split-view-panel__icon{display:none}.forge-split-view-panel[orientation=horizontal]{min-width:8px;min-width:var(--forge-split-view-handle-width,8px);width:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-split-view-panel[orientation=horizontal] .forge-split-view-panel__handle{width:8px;width:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:uutjpx6;animation-name:uutjpx6;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes uutjpx6{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes uutjpx6{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:uutjpxb;animation-name:uutjpxb;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes uutjpxb{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes uutjpxb{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:uutjpxp;animation-name:uutjpxp;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes uutjpxp{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes uutjpxp{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:uutjpyk;animation-name:uutjpyk;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes uutjpyk{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes uutjpyk{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=vertical]{min-height:8px;min-height:var(--forge-split-view-handle-width,8px);height:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-split-view-panel[orientation=vertical] .forge-split-view-panel__handle{height:8px;height:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:uutjpyl;animation-name:uutjpyl;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes uutjpyl{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes uutjpyl{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:uutjpzl;animation-name:uutjpzl;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes uutjpzl{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes uutjpzl{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:uutjpzq;animation-name:uutjpzq;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes uutjpzq{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes uutjpzq{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:uutjq0i;animation-name:uutjq0i;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes uutjq0i{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes uutjq0i{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}:host{z-index:var(--forge-split-view-animating-layer)!important;display:block;position:relative;height:100%;width:100%;-webkit-box-flex:0;flex:0}:host([hidden]){display:none}:host(:not([resizable=start],[resizable=end])){-webkit-box-flex:1;flex:1}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel{width:100%;height:100%;min-width:0;min-height:0}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel__handle{display:none}';
17
+ const styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-split-view-panel{display:-webkit-box;display:flex;width:100%;height:100%;overflow:hidden;contain:paint size}.forge-split-view-panel__handle{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54));background-color:#e0e0e0;background-color:var(--forge-theme-border-color,#e0e0e0);display:-webkit-box;display:flex;flex-shrink:0;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;outline:0}.forge-split-view-panel__content{-webkit-box-flex:1;flex:1;overflow:hidden}.forge-split-view-panel--closed{display:none}.forge-split-view-panel--disabled #handle{pointer-events:none}.forge-split-view-panel--disabled .forge-split-view-panel__icon{display:none}.forge-split-view-panel[orientation=horizontal]{min-width:8px;min-width:var(--forge-split-view-handle-width,8px);width:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-split-view-panel[orientation=horizontal] .forge-split-view-panel__handle{width:8px;width:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:u7xut8q;animation-name:u7xut8q;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes u7xut8q{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes u7xut8q{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:u7xut8x;animation-name:u7xut8x;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes u7xut8x{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes u7xut8x{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:u7xut9f;animation-name:u7xut9f;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes u7xut9f{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes u7xut9f{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:u7xutaa;animation-name:u7xutaa;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes u7xutaa{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes u7xutaa{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=vertical]{min-height:8px;min-height:var(--forge-split-view-handle-width,8px);height:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-split-view-panel[orientation=vertical] .forge-split-view-panel__handle{height:8px;height:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:u7xutav;animation-name:u7xutav;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes u7xutav{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes u7xutav{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:u7xutbo;animation-name:u7xutbo;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes u7xutbo{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes u7xutbo{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:u7xutbu;animation-name:u7xutbu;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes u7xutbu{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes u7xutbu{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:u7xutcm;animation-name:u7xutcm;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes u7xutcm{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes u7xutcm{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}:host{z-index:var(--forge-split-view-animating-layer)!important;display:block;position:relative;height:100%;width:100%;-webkit-box-flex:0;flex:0}:host([hidden]){display:none}:host(:not([resizable=start],[resizable=end])){-webkit-box-flex:1;flex:1}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel{width:100%;height:100%;min-width:0;min-height:0}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel__handle{display:none}';
18
18
  /**
19
19
  * The custom element class behind the `<forge-split-view-panel>` element.
20
20
  *
@@ -9,9 +9,9 @@ import { MDCSwitch } from '@material/switch';
9
9
  import { MDCRipple } from '@material/ripple';
10
10
  import { SWITCH_CONSTANTS } from './switch-constants';
11
11
  import { BaseComponent } from '../core/base/base-component';
12
+ import { createUserInteractionListener } from '../core/utils';
12
13
  const template = '<template><div class=\"forge-switch__container\" part=\"root\"><button id=\"switch-btn\" class=\"mdc-switch\" type=\"button\" role=\"switch\" aria-checked=\"false\" aria-labelledby=\"switch-label\" part=\"button\"><div class=\"mdc-switch__track\" part=\"track\"></div><div class=\"mdc-switch__handle-track\" part=\"handle-track\"><div class=\"mdc-switch__handle\" part=\"handle\"><div class=\"mdc-switch__shadow\" part=\"shadow\"><div class=\"mdc-elevation-overlay\" part=\"overlay\"></div></div><div class=\"mdc-switch__ripple\" part=\"ripple\"></div><div class=\"mdc-switch__icons\" part=\"icons\"><svg class=\"mdc-switch__icon mdc-switch__icon--on\" viewBox=\"0 0 24 24\" part=\"icon-on\"><path d=\"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z\" part=\"icon-on-path\"/></svg> <svg class=\"mdc-switch__icon mdc-switch__icon--off\" viewBox=\"0 0 24 24\" part=\"icon-off\"><path d=\"M20 13H4v-2h16v2z\" part=\"icon-off-path\"/></svg></div></div></div></button> <label id=\"switch-label\" class=\"forge-switch__label\" for=\"switch-btn\" part=\"label\"><slot></slot></label></div></template>';
13
14
  const styles = '.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);-webkit-transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color,#fff)}.mdc-switch{-webkit-box-align:center;align-items:center;background:0 0;border:none;display:-webkit-inline-box;display:inline-flex;flex-shrink:0;margin:0;outline:0;overflow:visible;padding:0;position:relative}.mdc-switch__track{overflow:hidden;position:relative;width:100%}.mdc-switch__track::after,.mdc-switch__track::before{border:1px solid transparent;border-radius:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;content:\"\";height:100%;left:0;position:absolute;width:100%}.mdc-switch__track::before{-webkit-transition:-webkit-transform 75ms 0s cubic-bezier(0, 0, .2, 1);transition:-webkit-transform 75ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 75ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 75ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 75ms 0s cubic-bezier(0, 0, .2, 1);-webkit-transform:translateX(0);transform:translateX(0)}.mdc-switch__track::after{-webkit-transition:-webkit-transform 75ms 0s cubic-bezier(.4, 0, .6, 1);transition:-webkit-transform 75ms 0s cubic-bezier(.4, 0, .6, 1);transition:transform 75ms 0s cubic-bezier(.4, 0, .6, 1);transition:transform 75ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 75ms 0s cubic-bezier(.4, 0, .6, 1);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.mdc-switch__track[dir=rtl]::after,[dir=rtl] .mdc-switch__track::after{-webkit-transform:translateX(100%);transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::before{-webkit-transition:-webkit-transform 75ms 0s cubic-bezier(.4, 0, .6, 1);transition:-webkit-transform 75ms 0s cubic-bezier(.4, 0, .6, 1);transition:transform 75ms 0s cubic-bezier(.4, 0, .6, 1);transition:transform 75ms 0s cubic-bezier(.4, 0, .6, 1),-webkit-transform 75ms 0s cubic-bezier(.4, 0, .6, 1);-webkit-transform:translateX(100%);transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track[dir=rtl]::before,[dir=rtl] .mdc-switch--selected .mdc-switch__track::before{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::after{-webkit-transition:-webkit-transform 75ms 0s cubic-bezier(0, 0, .2, 1);transition:-webkit-transform 75ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 75ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 75ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 75ms 0s cubic-bezier(0, 0, .2, 1);-webkit-transform:translateX(0);transform:translateX(0)}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;-webkit-transition:-webkit-transform 75ms 0s cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 75ms 0s cubic-bezier(.4, 0, .2, 1);transition:transform 75ms 0s cubic-bezier(.4, 0, .2, 1);transition:transform 75ms 0s cubic-bezier(.4, 0, .2, 1),-webkit-transform 75ms 0s cubic-bezier(.4, 0, .2, 1);left:0;right:auto;-webkit-transform:translateX(0);transform:translateX(0)}.mdc-switch__handle-track[dir=rtl],[dir=rtl] .mdc-switch__handle-track{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{-webkit-transform:translateX(100%);transform:translateX(100%)}.mdc-switch--selected .mdc-switch__handle-track[dir=rtl],[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.mdc-switch__handle{display:-webkit-box;display:flex;pointer-events:auto;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);left:0;right:auto}.mdc-switch__handle[dir=rtl],[dir=rtl] .mdc-switch__handle{left:auto;right:0}.mdc-switch__handle::after,.mdc-switch__handle::before{border:1px solid transparent;border-radius:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;content:\"\";width:100%;height:100%;left:0;position:absolute;top:0;-webkit-transition:background-color 75ms 0s cubic-bezier(.4, 0, .2, 1),border-color 75ms 0s cubic-bezier(.4, 0, .2, 1);transition:background-color 75ms 0s cubic-bezier(.4, 0, .2, 1),border-color 75ms 0s cubic-bezier(.4, 0, .2, 1);z-index:-1}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-elevation-overlay{bottom:0;left:0;right:0;top:0}.mdc-switch__ripple{left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:-1}.mdc-switch:disabled .mdc-switch__ripple{display:none}.mdc-switch__icons{height:100%;position:relative;width:100%;z-index:1}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;-webkit-transition:opacity 30ms 0s cubic-bezier(.4, 0, 1, 1);transition:opacity 30ms 0s cubic-bezier(.4, 0, 1, 1)}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;-webkit-transition:opacity 45ms 30ms cubic-bezier(0, 0, .2, 1);transition:opacity 45ms 30ms cubic-bezier(0, 0, .2, 1)}.mdc-switch{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-switch .mdc-switch__ripple::after,.mdc-switch .mdc-switch__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-switch .mdc-switch__ripple::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-switch .mdc-switch__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-switch.mdc-ripple-upgraded--unbounded .mdc-switch__ripple::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-switch.mdc-ripple-upgraded--foreground-activation .mdc-switch__ripple::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-switch.mdc-ripple-upgraded--foreground-deactivation .mdc-switch__ripple::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-switch .mdc-switch__ripple::after,.mdc-switch .mdc-switch__ripple::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::after,.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-switch.mdc-ripple-upgraded .mdc-switch__ripple::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-switch{width:36px;width:var(--mdc-switch-track-width,36px)}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle::after{background:#3d5afe;background:var(--mdc-switch-selected-handle-color,#3d5afe)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:#3d477f;background:var(--mdc-switch-selected-hover-handle-color,#3d477f)}.mdc-switch.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:#3d477f;background:var(--mdc-switch-selected-focus-handle-color,#3d477f)}.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:#3d477f;background:var(--mdc-switch-selected-pressed-handle-color,#3d477f)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__handle::after{background:#3d5afe;background:var(--mdc-switch-disabled-selected-handle-color,#3d5afe)}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:#9e9e9e;background:var(--mdc-switch-unselected-handle-color,#9e9e9e)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:#212121;background:var(--mdc-switch-unselected-hover-handle-color,#212121)}.mdc-switch.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:#212121;background:var(--mdc-switch-unselected-focus-handle-color,#212121)}.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:#212121;background:var(--mdc-switch-unselected-pressed-handle-color,#212121)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__handle::after{background:#424242;background:var(--mdc-switch-disabled-unselected-handle-color,#424242)}.mdc-switch .mdc-switch__handle::before{background:#fff;background:var(--mdc-switch-handle-surface-color,var(--mdc-theme-surface,#fff))}.mdc-switch:enabled .mdc-switch__shadow{--mdc-elevation-box-shadow-for-gss: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);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);-webkit-box-shadow:var(--mdc-switch-handle-elevation,var(--mdc-elevation-box-shadow-for-gss));box-shadow:var(--mdc-switch-handle-elevation,var(--mdc-elevation-box-shadow-for-gss))}.mdc-switch:disabled .mdc-switch__shadow{--mdc-elevation-box-shadow-for-gss:0px 0px 0px 0px rgba(0, 0, 0, 0.2),0px 0px 0px 0px rgba(0, 0, 0, 0.14),0px 0px 0px 0px rgba(0, 0, 0, 0.12);-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);-webkit-box-shadow:var(--mdc-switch-disabled-handle-elevation,var(--mdc-elevation-box-shadow-for-gss));box-shadow:var(--mdc-switch-disabled-handle-elevation,var(--mdc-elevation-box-shadow-for-gss))}.mdc-switch .mdc-switch__handle{height:20px;height:var(--mdc-switch-handle-height,20px)}.mdc-switch:disabled .mdc-switch__handle::after{opacity:.24;opacity:var(--mdc-switch-disabled-handle-opacity, .24)}.mdc-switch .mdc-switch__handle{border-radius:10px;border-radius:var(--mdc-switch-handle-shape,10px)}.mdc-switch .mdc-switch__handle{width:20px;width:var(--mdc-switch-handle-width,20px)}.mdc-switch .mdc-switch__handle-track{width:calc(100% - 20px);width:calc(100% - var(--mdc-switch-handle-width,20px))}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__icon{fill:#ffffff;fill:var(--mdc-switch-selected-icon-color,var(--mdc-theme-on-primary,#ffffff))}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icon{fill:#ffffff;fill:var(--mdc-switch-disabled-selected-icon-color,var(--mdc-theme-on-primary,#ffffff))}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__icon{fill:#ffffff;fill:var(--mdc-switch-unselected-icon-color,var(--mdc-theme-on-primary,#ffffff))}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icon{fill:#ffffff;fill:var(--mdc-switch-disabled-unselected-icon-color,var(--mdc-theme-on-primary,#ffffff))}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icons{opacity:.54;opacity:var(--mdc-switch-disabled-selected-icon-opacity, .54)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icons{opacity:.54;opacity:var(--mdc-switch-disabled-unselected-icon-opacity, .54)}.mdc-switch.mdc-switch--selected .mdc-switch__icon{width:18px;width:var(--mdc-switch-selected-icon-size,18px);height:18px;height:var(--mdc-switch-selected-icon-size,18px)}.mdc-switch.mdc-switch--unselected .mdc-switch__icon{width:18px;width:var(--mdc-switch-unselected-icon-size,18px);height:18px;height:var(--mdc-switch-unselected-icon-size,18px)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after,.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::before{background-color:#3d5afe;background-color:var(--mdc-switch-selected-hover-state-layer-color,#3d5afe)}.mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after,.mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::before{background-color:#3d5afe;background-color:var(--mdc-switch-selected-focus-state-layer-color,#3d5afe)}.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::after,.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::before{background-color:#3d5afe;background-color:var(--mdc-switch-selected-pressed-state-layer-color,#3d5afe)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after,.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::before{background-color:#424242;background-color:var(--mdc-switch-unselected-hover-state-layer-color,#424242)}.mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after,.mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::before{background-color:#424242;background-color:var(--mdc-switch-unselected-focus-state-layer-color,#424242)}.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after,.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::before{background-color:#424242;background-color:var(--mdc-switch-unselected-pressed-state-layer-color,#424242)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before{opacity:.04;opacity:var(--mdc-switch-selected-hover-state-layer-opacity, .04)}.mdc-switch.mdc-switch--selected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-switch-selected-focus-state-layer-opacity, .12)}.mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.1;opacity:var(--mdc-switch-selected-pressed-state-layer-opacity, .1)}.mdc-switch.mdc-switch--selected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-selected-pressed-state-layer-opacity, 0.1)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before{opacity:.04;opacity:var(--mdc-switch-unselected-hover-state-layer-opacity, .04)}.mdc-switch.mdc-switch--unselected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-switch-unselected-focus-state-layer-opacity, .12)}.mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.1;opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity, .1)}.mdc-switch.mdc-switch--unselected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity, 0.1)}.mdc-switch .mdc-switch__ripple{height:48px;height:var(--mdc-switch-state-layer-size,48px);width:48px;width:var(--mdc-switch-state-layer-size,48px)}.mdc-switch .mdc-switch__track{height:14px;height:var(--mdc-switch-track-height,14px)}.mdc-switch:disabled .mdc-switch__track{opacity:.12;opacity:var(--mdc-switch-disabled-track-opacity, .12)}.mdc-switch:enabled .mdc-switch__track::after{background:#cfd6ff;background:var(--mdc-switch-selected-track-color,#cfd6ff)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:#cfd6ff;background:var(--mdc-switch-selected-hover-track-color,#cfd6ff)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:#cfd6ff;background:var(--mdc-switch-selected-focus-track-color,#cfd6ff)}.mdc-switch:enabled:active .mdc-switch__track::after{background:#cfd6ff;background:var(--mdc-switch-selected-pressed-track-color,#cfd6ff)}.mdc-switch:disabled .mdc-switch__track::after{background:#3d5afe;background:var(--mdc-switch-disabled-selected-track-color,#3d5afe)}.mdc-switch:enabled .mdc-switch__track::before{background:#e0e0e0;background:var(--mdc-switch-unselected-track-color,#e0e0e0)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:#e0e0e0;background:var(--mdc-switch-unselected-hover-track-color,#e0e0e0)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:#e0e0e0;background:var(--mdc-switch-unselected-focus-track-color,#e0e0e0)}.mdc-switch:enabled:active .mdc-switch__track::before{background:#e0e0e0;background:var(--mdc-switch-unselected-pressed-track-color,#e0e0e0)}.mdc-switch:disabled .mdc-switch__track::before{background:#424242;background:var(--mdc-switch-disabled-unselected-track-color,#424242)}.mdc-switch .mdc-switch__track{border-radius:7px;border-radius:var(--mdc-switch-track-shape,7px)}@media screen and (forced-colors:active),(-ms-high-contrast:active){.mdc-switch:disabled .mdc-switch__handle::after{opacity:1;opacity:var(--mdc-switch-disabled-handle-opacity, 1)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icon{fill:GrayText;fill:var(--mdc-switch-disabled-selected-icon-color,GrayText)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icon{fill:GrayText;fill:var(--mdc-switch-disabled-unselected-icon-color,GrayText)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icons{opacity:1;opacity:var(--mdc-switch-disabled-selected-icon-opacity, 1)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icons{opacity:1;opacity:var(--mdc-switch-disabled-unselected-icon-opacity, 1)}.mdc-switch:disabled .mdc-switch__track{opacity:1;opacity:var(--mdc-switch-disabled-track-opacity, 1)}}.forge-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;vertical-align:middle}.forge-form-field>label{-webkit-box-ordinal-group:1;order:0;margin-right:auto;padding-left:4px}.forge-form-field forge-switch~label{padding-left:8px}.forge-form-field--align-end>label{-webkit-box-ordinal-group:0;order:-1;margin-left:auto;padding-right:4px}.forge-switch__container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-switch__container.forge-switch--label-position-start{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-flow:row-reverse}.forge-switch__container.forge-switch--label-position-start .forge-switch__label{margin-left:auto;padding-right:8px}:host{display:inline-block}:host *{cursor:pointer}:host .forge-switch__label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);padding-left:8px}:host([hidden]){display:none}:host([dense]) .mdc-switch__ripple{height:28px;width:28px}:host([disabled]) *{cursor:not-allowed}:host([disabled]) .forge-switch__label{color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}';
14
- import { userInteractionListener } from '../core/utils';
15
15
  class ForgeMDCSwitch extends MDCSwitch {
16
16
  initialize() {
17
17
  // Do not call super.initialize()
@@ -20,6 +20,10 @@ class ForgeMDCSwitch extends MDCSwitch {
20
20
  }
21
21
  destroy() {
22
22
  var _a;
23
+ if (typeof this._destroyUserInteractionListener === 'function') {
24
+ this._destroyUserInteractionListener();
25
+ this._destroyUserInteractionListener = undefined;
26
+ }
23
27
  // We are not calling super.destroy() because it expects `ripple` to be set when it might not be yet
24
28
  // We instead just replicate all existing functionality, but allow for `ripple` to be undefined
25
29
  this.foundation.destroy();
@@ -27,7 +31,16 @@ class ForgeMDCSwitch extends MDCSwitch {
27
31
  this.root.removeEventListener('click', this.foundation.handleClick);
28
32
  }
29
33
  async _deferRippleInitialization() {
30
- const type = await userInteractionListener(this.root);
34
+ if (typeof this._destroyUserInteractionListener === 'function') {
35
+ this._destroyUserInteractionListener();
36
+ }
37
+ const { userInteraction, destroy } = createUserInteractionListener(this.root);
38
+ this._destroyUserInteractionListener = destroy;
39
+ const { type } = await userInteraction;
40
+ this._destroyUserInteractionListener = undefined;
41
+ if (!this.root.isConnected) {
42
+ return;
43
+ }
31
44
  this.ripple = new MDCRipple(this.root, this.createRippleFoundation());
32
45
  if (type === 'focusin') {
33
46
  // eslint-disable-next-line @typescript-eslint/dot-notation
@@ -45,6 +45,7 @@ export declare class TooltipComponent extends BaseComponent implements ITooltipC
45
45
  position: `${PopupPlacement}`;
46
46
  /** Gets the open state of the tooltip. */
47
47
  open: boolean;
48
+ /** @readonly */
48
49
  tooltipElement: HTMLElement | null;
49
50
  /** Hides the tooltip if it's open. */
50
51
  hide(): void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tylertech/forge",
3
3
  "description": "Tyler Forge™ Web Components library",
4
- "version": "2.21.1",
4
+ "version": "2.21.2",
5
5
  "author": "Tyler Technologies, Inc.",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
@@ -17,8 +17,8 @@
17
17
  "@material/button": "^14.0.0",
18
18
  "@material/card": "^14.0.0",
19
19
  "@material/checkbox": "^14.0.0",
20
- "@material/circular-progress": "^14.0.0",
21
20
  "@material/chips": "^14.0.0",
21
+ "@material/circular-progress": "^14.0.0",
22
22
  "@material/density": "^14.0.0",
23
23
  "@material/dom": "^14.0.0",
24
24
  "@material/drawer": "^14.0.0",