@tylertech/forge 3.0.0-next.14 → 3.0.0-next.16

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 (814) hide show
  1. package/custom-elements.json +52540 -39351
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/app-bar/index.js +1 -1
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-area/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  20. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  21. package/dist/esm/button-toggle/index.js +1 -1
  22. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  23. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/chunk.24NQGTNU.js +7 -0
  32. package/dist/esm/chunks/chunk.24NQGTNU.js.map +7 -0
  33. package/dist/esm/chunks/{chunk.PSTGTQVK.js → chunk.2JCTFKCR.js} +2 -2
  34. package/dist/esm/chunks/{chunk.3UO6S3IK.js → chunk.2OZ2HVBZ.js} +2 -2
  35. package/dist/esm/chunks/{chunk.3UO6S3IK.js.map → chunk.2OZ2HVBZ.js.map} +3 -3
  36. package/dist/esm/chunks/{chunk.4B5IOZAT.js → chunk.2YE556AM.js} +2 -2
  37. package/dist/esm/chunks/{chunk.YKZ25J6B.js → chunk.3U6A353B.js} +2 -2
  38. package/dist/esm/chunks/chunk.3VHQPHQP.js +7 -0
  39. package/dist/esm/chunks/chunk.3VHQPHQP.js.map +7 -0
  40. package/dist/esm/chunks/{chunk.LXX3YZYS.js → chunk.436USWLL.js} +2 -2
  41. package/dist/esm/chunks/{chunk.KLPF4CNX.js → chunk.4GMGQZOW.js} +2 -2
  42. package/dist/esm/chunks/{chunk.Z7PBGV4K.js → chunk.4JB3SESQ.js} +2 -2
  43. package/dist/esm/chunks/{chunk.QFY23EWU.js → chunk.4JL5LW5J.js} +2 -2
  44. package/dist/esm/chunks/chunk.4O6OEUGY.js +7 -0
  45. package/dist/esm/chunks/{chunk.RDW7Z4W5.js.map → chunk.4O6OEUGY.js.map} +2 -2
  46. package/dist/esm/chunks/chunk.4OG3OGVO.js +7 -0
  47. package/dist/esm/chunks/chunk.4OG3OGVO.js.map +7 -0
  48. package/dist/esm/chunks/chunk.4QOXI2GM.js +7 -0
  49. package/dist/esm/chunks/chunk.4QOXI2GM.js.map +7 -0
  50. package/dist/esm/chunks/chunk.55D2BMXX.js +7 -0
  51. package/dist/esm/chunks/{chunk.A72W7RW7.js → chunk.5LCWC3A7.js} +2 -2
  52. package/dist/esm/chunks/{chunk.RYNQDXFA.js → chunk.5T7TT3AB.js} +2 -2
  53. package/dist/esm/chunks/{chunk.2GYZM6ZG.js → chunk.5WVOPPBY.js} +2 -2
  54. package/dist/esm/chunks/{chunk.2GYZM6ZG.js.map → chunk.5WVOPPBY.js.map} +2 -2
  55. package/dist/esm/chunks/chunk.5XLCY232.js +7 -0
  56. package/dist/esm/chunks/chunk.5XLCY232.js.map +7 -0
  57. package/dist/esm/chunks/chunk.65WE722H.js +7 -0
  58. package/dist/esm/chunks/chunk.65WE722H.js.map +7 -0
  59. package/dist/esm/chunks/chunk.6IPX5C4B.js +7 -0
  60. package/dist/esm/chunks/chunk.6IPX5C4B.js.map +7 -0
  61. package/dist/esm/chunks/{chunk.TLFCQSJN.js → chunk.6PB5OWMP.js} +2 -2
  62. package/dist/esm/chunks/{chunk.TLFCQSJN.js.map → chunk.6PB5OWMP.js.map} +2 -2
  63. package/dist/esm/chunks/chunk.74HZVSDM.js +7 -0
  64. package/dist/esm/chunks/chunk.74HZVSDM.js.map +7 -0
  65. package/dist/esm/chunks/chunk.74JHE77R.js +7 -0
  66. package/dist/esm/chunks/{chunk.KTYYBWTN.js.map → chunk.74JHE77R.js.map} +2 -2
  67. package/dist/esm/chunks/chunk.7SYU6KRU.js +15 -0
  68. package/dist/esm/chunks/chunk.7SYU6KRU.js.map +7 -0
  69. package/dist/esm/chunks/{chunk.HHHBS6FB.js → chunk.B53Q676I.js} +2 -2
  70. package/dist/esm/chunks/{chunk.B46Q3AFP.js → chunk.BKQSLDMK.js} +2 -2
  71. package/dist/esm/chunks/{chunk.7XFU2W25.js → chunk.BX4AQRHB.js} +2 -2
  72. package/dist/esm/chunks/{chunk.7XFU2W25.js.map → chunk.BX4AQRHB.js.map} +3 -3
  73. package/dist/esm/chunks/{chunk.OUACQISE.js → chunk.BZG47SA5.js} +2 -2
  74. package/dist/esm/chunks/{chunk.OUACQISE.js.map → chunk.BZG47SA5.js.map} +1 -1
  75. package/dist/esm/chunks/{chunk.F2EBSV5Z.js → chunk.BZVLSWZR.js} +2 -2
  76. package/dist/esm/chunks/chunk.C72LM2AL.js +7 -0
  77. package/dist/esm/chunks/chunk.C72LM2AL.js.map +7 -0
  78. package/dist/esm/chunks/{chunk.BMQYEYCT.js → chunk.DGG5ABL3.js} +2 -2
  79. package/dist/esm/chunks/{chunk.PK7R6WDF.js → chunk.DPIWAXEW.js} +2 -2
  80. package/dist/esm/chunks/chunk.E62ZPQSM.js +7 -0
  81. package/dist/esm/chunks/chunk.E62ZPQSM.js.map +7 -0
  82. package/dist/esm/chunks/chunk.ECJBVX3D.js +7 -0
  83. package/dist/esm/chunks/{chunk.5VHUMZYS.js.map → chunk.ECJBVX3D.js.map} +1 -1
  84. package/dist/esm/chunks/chunk.EN2HVFJ4.js +7 -0
  85. package/dist/esm/chunks/chunk.EN2HVFJ4.js.map +7 -0
  86. package/dist/esm/chunks/chunk.EPRRK33O.js +7 -0
  87. package/dist/esm/chunks/chunk.EPRRK33O.js.map +7 -0
  88. package/dist/esm/chunks/{chunk.7PP6QHOM.js → chunk.ETDUW5K2.js} +2 -2
  89. package/dist/esm/chunks/chunk.EWFNM4WO.js +7 -0
  90. package/dist/esm/chunks/chunk.EWFNM4WO.js.map +7 -0
  91. package/dist/esm/chunks/{chunk.FYWPZFLJ.js → chunk.EWT2PBEP.js} +2 -2
  92. package/dist/esm/chunks/{chunk.FYWPZFLJ.js.map → chunk.EWT2PBEP.js.map} +2 -2
  93. package/dist/esm/chunks/{chunk.GHR7T6U2.js → chunk.FGHSNC2V.js} +2 -2
  94. package/dist/esm/chunks/{chunk.P7LC3YYW.js → chunk.FPRBYGET.js} +2 -2
  95. package/dist/esm/chunks/{chunk.7W2UWAZX.js → chunk.FQVR2QNF.js} +2 -2
  96. package/dist/esm/chunks/{chunk.IEB5KRFQ.js → chunk.FWWBFNQA.js} +2 -2
  97. package/dist/esm/chunks/{chunk.543K5Y4E.js → chunk.FZELFLPE.js} +2 -2
  98. package/dist/esm/chunks/{chunk.6Q3SV2R2.js → chunk.FZZUNYH5.js} +2 -2
  99. package/dist/esm/chunks/chunk.GHMAI3SM.js +15 -0
  100. package/dist/esm/chunks/chunk.GHMAI3SM.js.map +7 -0
  101. package/dist/esm/chunks/{chunk.CTZ3AWDW.js → chunk.GLUKTMQU.js} +2 -2
  102. package/dist/esm/chunks/{chunk.W324TWF2.js → chunk.GTBCTNMI.js} +2 -2
  103. package/dist/esm/chunks/chunk.GTGXHY4A.js +7 -0
  104. package/dist/esm/chunks/chunk.GTGXHY4A.js.map +7 -0
  105. package/dist/esm/chunks/{chunk.L4Y4RO5O.js → chunk.GURV4TDZ.js} +2 -2
  106. package/dist/esm/chunks/chunk.H6MMHAQI.js +15 -0
  107. package/dist/esm/chunks/chunk.H6MMHAQI.js.map +7 -0
  108. package/dist/esm/chunks/{chunk.FQSL747N.js → chunk.HJUFU2PV.js} +2 -2
  109. package/dist/esm/chunks/{chunk.FQSL747N.js.map → chunk.HJUFU2PV.js.map} +2 -2
  110. package/dist/esm/chunks/chunk.HPCXVNG6.js +7 -0
  111. package/dist/esm/chunks/{chunk.CZOABXEQ.js.map → chunk.HPCXVNG6.js.map} +3 -3
  112. package/dist/esm/chunks/{chunk.K7FPXAFS.js → chunk.HZUQXCOQ.js} +2 -2
  113. package/dist/esm/chunks/{chunk.K7FPXAFS.js.map → chunk.HZUQXCOQ.js.map} +2 -2
  114. package/dist/esm/chunks/{chunk.THWSN3X4.js → chunk.IA27LU2O.js} +2 -2
  115. package/dist/esm/chunks/chunk.INQZNXG6.js +7 -0
  116. package/dist/esm/chunks/chunk.INQZNXG6.js.map +7 -0
  117. package/dist/esm/chunks/chunk.IO3TM653.js +7 -0
  118. package/dist/esm/chunks/chunk.IO3TM653.js.map +7 -0
  119. package/dist/esm/chunks/{chunk.TZFUKJ24.js → chunk.JXJVPJRO.js} +2 -2
  120. package/dist/esm/chunks/{chunk.Z2RB75TN.js → chunk.K3STAW42.js} +2 -2
  121. package/dist/esm/chunks/chunk.KM5XYTE3.js +7 -0
  122. package/dist/esm/chunks/chunk.KM5XYTE3.js.map +7 -0
  123. package/dist/esm/chunks/{chunk.G2BNY5QQ.js → chunk.KPC6IS3C.js} +2 -2
  124. package/dist/esm/chunks/chunk.KPNGLSCU.js +7 -0
  125. package/dist/esm/chunks/chunk.KPNGLSCU.js.map +7 -0
  126. package/dist/esm/chunks/{chunk.VDZ7HBKM.js → chunk.KV7PGQJ7.js} +2 -2
  127. package/dist/esm/chunks/chunk.LCS2O4Y7.js +7 -0
  128. package/dist/esm/chunks/chunk.LCS2O4Y7.js.map +7 -0
  129. package/dist/esm/chunks/chunk.M4KCRUKW.js +7 -0
  130. package/dist/esm/chunks/chunk.M4KCRUKW.js.map +7 -0
  131. package/dist/esm/chunks/chunk.M5JGYRH4.js +7 -0
  132. package/dist/esm/chunks/chunk.M7RYU4HQ.js +7 -0
  133. package/dist/esm/chunks/chunk.M7RYU4HQ.js.map +7 -0
  134. package/dist/esm/chunks/chunk.N75VD4S4.js +7 -0
  135. package/dist/esm/chunks/chunk.NHOGZDLN.js +7 -0
  136. package/dist/esm/chunks/chunk.NHOGZDLN.js.map +7 -0
  137. package/dist/esm/chunks/{chunk.H7GW57Q6.js → chunk.NKEAMFO4.js} +2 -2
  138. package/dist/esm/chunks/{chunk.26E4L52W.js → chunk.NW54VA4E.js} +2 -2
  139. package/dist/esm/chunks/chunk.OJGPKHHC.js +7 -0
  140. package/dist/esm/chunks/{chunk.VD5ZL5ZN.js.map → chunk.OJGPKHHC.js.map} +2 -2
  141. package/dist/esm/chunks/chunk.OSCODMUG.js +7 -0
  142. package/dist/esm/chunks/chunk.OSCODMUG.js.map +7 -0
  143. package/dist/esm/chunks/chunk.OT3JZ6JO.js +7 -0
  144. package/dist/esm/chunks/chunk.OT3JZ6JO.js.map +7 -0
  145. package/dist/esm/chunks/{chunk.PADPL4L3.js → chunk.OUIWXKO2.js} +2 -2
  146. package/dist/esm/chunks/chunk.OXVCCHM5.js +7 -0
  147. package/dist/esm/chunks/{chunk.7ABZUBTT.js → chunk.P5XHGSJY.js} +2 -2
  148. package/dist/esm/chunks/chunk.Q5YXX4DU.js +7 -0
  149. package/dist/esm/chunks/chunk.Q5YXX4DU.js.map +7 -0
  150. package/dist/esm/chunks/chunk.QG5EYBS3.js +7 -0
  151. package/dist/esm/chunks/chunk.QG5EYBS3.js.map +7 -0
  152. package/dist/esm/chunks/{chunk.NZKIFXBU.js → chunk.QKTNCOVX.js} +2 -2
  153. package/dist/esm/chunks/{chunk.NG6UZ4OL.js → chunk.QZ57WM3D.js} +2 -2
  154. package/dist/esm/chunks/{chunk.OED5UCYT.js → chunk.R2QENXIL.js} +2 -2
  155. package/dist/esm/chunks/chunk.R53VHVKB.js +12 -0
  156. package/dist/esm/chunks/chunk.R53VHVKB.js.map +7 -0
  157. package/dist/esm/chunks/{chunk.DOEG3DWJ.js → chunk.RDQ3QGWS.js} +2 -2
  158. package/dist/esm/chunks/{chunk.GS72TBUD.js → chunk.RFKKHN7V.js} +2 -2
  159. package/dist/esm/chunks/{chunk.57PXXJA6.js → chunk.RKG66YKS.js} +2 -2
  160. package/dist/esm/chunks/chunk.RRNSZCVJ.js +7 -0
  161. package/dist/esm/chunks/chunk.RRNSZCVJ.js.map +7 -0
  162. package/dist/esm/chunks/chunk.S32JKL3M.js +7 -0
  163. package/dist/esm/chunks/chunk.S32JKL3M.js.map +7 -0
  164. package/dist/esm/chunks/chunk.SJQPD3CO.js +7 -0
  165. package/dist/esm/chunks/chunk.SJQPD3CO.js.map +7 -0
  166. package/dist/esm/chunks/{chunk.LMIKNDBS.js → chunk.T235SNYZ.js} +2 -2
  167. package/dist/esm/chunks/chunk.T4N7KZHZ.js +7 -0
  168. package/dist/esm/chunks/chunk.T4N7KZHZ.js.map +7 -0
  169. package/dist/esm/chunks/{chunk.J3B5CWKT.js → chunk.TE6ZNUAM.js} +2 -2
  170. package/dist/esm/chunks/{chunk.J3B5CWKT.js.map → chunk.TE6ZNUAM.js.map} +2 -2
  171. package/dist/esm/chunks/{chunk.DD35U4AA.js → chunk.TNEUDWZU.js} +2 -2
  172. package/dist/esm/chunks/{chunk.DD35U4AA.js.map → chunk.TNEUDWZU.js.map} +2 -2
  173. package/dist/esm/chunks/chunk.TPXXHX5J.js +7 -0
  174. package/dist/esm/chunks/{chunk.JAWV5Y5T.js.map → chunk.TPXXHX5J.js.map} +2 -2
  175. package/dist/esm/chunks/chunk.TZ67MC2N.js +7 -0
  176. package/dist/esm/chunks/{chunk.C5IB44HX.js.map → chunk.TZ67MC2N.js.map} +1 -1
  177. package/dist/esm/chunks/chunk.V3IHX6B2.js +7 -0
  178. package/dist/esm/chunks/{chunk.BFUGFHEH.js.map → chunk.V3IHX6B2.js.map} +1 -1
  179. package/dist/esm/chunks/chunk.V564JB6A.js +7 -0
  180. package/dist/esm/chunks/chunk.V564JB6A.js.map +7 -0
  181. package/dist/esm/chunks/chunk.VGIZJ32U.js +7 -0
  182. package/dist/esm/chunks/chunk.VZTV4GXC.js +7 -0
  183. package/dist/esm/chunks/chunk.VZTV4GXC.js.map +7 -0
  184. package/dist/esm/chunks/chunk.W5TDBDVY.js +7 -0
  185. package/dist/esm/chunks/{chunk.XDANTL6C.js.map → chunk.W5TDBDVY.js.map} +2 -2
  186. package/dist/esm/chunks/{chunk.U5WMRBSC.js → chunk.WA2YP4NC.js} +2 -2
  187. package/dist/esm/chunks/chunk.WFQYTXCB.js +7 -0
  188. package/dist/esm/chunks/chunk.WFQYTXCB.js.map +7 -0
  189. package/dist/esm/chunks/chunk.WNH7EHZP.js +7 -0
  190. package/dist/esm/chunks/{chunk.F6KM5FO6.js.map → chunk.WNH7EHZP.js.map} +2 -2
  191. package/dist/esm/chunks/{chunk.5C24LZNU.js → chunk.WQHKUNR7.js} +2 -2
  192. package/dist/esm/chunks/chunk.WYSUQK6Z.js +7 -0
  193. package/dist/esm/chunks/{chunk.3ZRQFXQU.js.map → chunk.WYSUQK6Z.js.map} +2 -2
  194. package/dist/esm/chunks/chunk.X57DRPFB.js +7 -0
  195. package/dist/esm/chunks/{chunk.DDXIHZFX.js → chunk.X7YTDVNT.js} +2 -2
  196. package/dist/esm/chunks/chunk.XBFH6M72.js +7 -0
  197. package/dist/esm/chunks/chunk.XBFH6M72.js.map +7 -0
  198. package/dist/esm/chunks/{chunk.7DHDFH5L.js → chunk.XOH2JCRS.js} +2 -2
  199. package/dist/esm/chunks/{chunk.IW7HALLT.js → chunk.Y6D5Z56X.js} +2 -2
  200. package/dist/esm/chunks/{chunk.IW7HALLT.js.map → chunk.Y6D5Z56X.js.map} +2 -2
  201. package/dist/esm/chunks/chunk.YBPAGWVG.js +7 -0
  202. package/dist/esm/chunks/chunk.YBPAGWVG.js.map +7 -0
  203. package/dist/esm/chunks/{chunk.KVCDAZ6B.js → chunk.YTBNAGLS.js} +2 -2
  204. package/dist/esm/chunks/chunk.YWDYBX3G.js +7 -0
  205. package/dist/esm/chunks/chunk.YWDYBX3G.js.map +7 -0
  206. package/dist/esm/chunks/{chunk.RZZBM3AW.js → chunk.ZHMV5SR4.js} +2 -2
  207. package/dist/esm/chunks/{chunk.GWJ4QCSW.js → chunk.ZLACSRD4.js} +2 -2
  208. package/dist/esm/chunks/{chunk.URCJO73M.js → chunk.ZPVRRFT7.js} +2 -2
  209. package/dist/esm/chunks/{chunk.URCJO73M.js.map → chunk.ZPVRRFT7.js.map} +1 -1
  210. package/dist/esm/chunks/chunk.ZS3T6MJS.js +7 -0
  211. package/dist/esm/chunks/{chunk.JVK64JDZ.js.map → chunk.ZS3T6MJS.js.map} +2 -2
  212. package/dist/esm/chunks/{chunk.DTKFE7YB.js → chunk.ZUTQPJ2B.js} +2 -2
  213. package/dist/esm/chunks/chunk.ZWIEYVZC.js +7 -0
  214. package/dist/esm/chunks/chunk.ZWIEYVZC.js.map +7 -0
  215. package/dist/esm/chunks/chunk.ZY3ETQ3D.js +7 -0
  216. package/dist/esm/chunks/chunk.ZY3ETQ3D.js.map +7 -0
  217. package/dist/esm/chunks/{chunk.PQQVUUHU.js → chunk.ZYCKD6K5.js} +2 -2
  218. package/dist/esm/circular-progress/index.js +1 -1
  219. package/dist/esm/color-picker/index.js +1 -1
  220. package/dist/esm/core/base/index.js +1 -1
  221. package/dist/esm/core/delegates/index.js +1 -1
  222. package/dist/esm/core/index.js +1 -1
  223. package/dist/esm/core/utils/index.js +1 -1
  224. package/dist/esm/date-picker/index.js +1 -1
  225. package/dist/esm/date-range-picker/index.js +1 -1
  226. package/dist/esm/dialog/index.js +1 -1
  227. package/dist/esm/divider/index.js +1 -1
  228. package/dist/esm/drawer/base/index.js +1 -1
  229. package/dist/esm/drawer/drawer/index.js +1 -1
  230. package/dist/esm/drawer/index.js +1 -1
  231. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  232. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  233. package/dist/esm/expansion-panel/index.js +1 -1
  234. package/dist/esm/file-picker/index.js +1 -1
  235. package/dist/esm/floating-action-button/index.js +1 -1
  236. package/dist/esm/floating-label/index.js +1 -1
  237. package/dist/esm/focus-indicator/index.js +1 -1
  238. package/dist/esm/icon/index.js +1 -1
  239. package/dist/esm/icon-button/index.js +1 -1
  240. package/dist/esm/index.js +1 -1
  241. package/dist/esm/inline-message/index.js +1 -1
  242. package/dist/esm/keyboard-shortcut/index.js +1 -1
  243. package/dist/esm/label/index.js +1 -1
  244. package/dist/esm/label-value/index.js +1 -1
  245. package/dist/esm/linear-progress/index.js +1 -1
  246. package/dist/esm/list/index.js +1 -1
  247. package/dist/esm/list/list/index.js +1 -1
  248. package/dist/esm/list/list-item/index.js +1 -1
  249. package/dist/esm/list-dropdown/index.js +1 -1
  250. package/dist/esm/menu/index.js +1 -1
  251. package/dist/esm/open-icon/index.js +1 -1
  252. package/dist/esm/overlay/index.js +7 -0
  253. package/dist/esm/overlay/index.js.map +7 -0
  254. package/dist/esm/page-state/index.js +1 -1
  255. package/dist/esm/paginator/index.js +1 -1
  256. package/dist/esm/popover/index.js +7 -0
  257. package/dist/esm/popover/index.js.map +7 -0
  258. package/dist/esm/popup/index.js +1 -1
  259. package/dist/esm/product-icon/index.js +1 -1
  260. package/dist/esm/profile-card/index.js +1 -1
  261. package/dist/esm/quantity-field/index.js +1 -1
  262. package/dist/esm/radio/index.js +1 -1
  263. package/dist/esm/radio/radio/index.js +7 -0
  264. package/dist/esm/radio/radio/index.js.map +7 -0
  265. package/dist/esm/radio/radio-group/index.js +7 -0
  266. package/dist/esm/radio/radio-group/index.js.map +7 -0
  267. package/dist/esm/ripple/index.js +1 -1
  268. package/dist/esm/scaffold/index.js +1 -1
  269. package/dist/esm/select/core/index.js +1 -1
  270. package/dist/esm/select/index.js +1 -1
  271. package/dist/esm/select/option/index.js +1 -1
  272. package/dist/esm/select/option-group/index.js +1 -1
  273. package/dist/esm/select/select/index.js +1 -1
  274. package/dist/esm/select/select-dropdown/index.js +1 -1
  275. package/dist/esm/skeleton/index.js +1 -1
  276. package/dist/esm/slider/index.js +1 -1
  277. package/dist/esm/split-button/index.js +1 -1
  278. package/dist/esm/split-view/index.js +1 -1
  279. package/dist/esm/split-view/split-view/index.js +1 -1
  280. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  281. package/dist/esm/stack/index.js +1 -1
  282. package/dist/esm/state-layer/index.js +1 -1
  283. package/dist/esm/stepper/index.js +1 -1
  284. package/dist/esm/stepper/step/index.js +1 -1
  285. package/dist/esm/stepper/stepper/index.js +1 -1
  286. package/dist/esm/switch/index.js +1 -1
  287. package/dist/esm/table/index.js +1 -1
  288. package/dist/esm/tabs/index.js +1 -1
  289. package/dist/esm/tabs/tab/index.js +1 -1
  290. package/dist/esm/tabs/tab-bar/index.js +1 -1
  291. package/dist/esm/text-field/index.js +1 -1
  292. package/dist/esm/time-picker/index.js +1 -1
  293. package/dist/esm/toast/index.js +1 -1
  294. package/dist/esm/toolbar/index.js +1 -1
  295. package/dist/esm/tooltip/index.js +1 -1
  296. package/dist/esm/view-switcher/index.js +1 -1
  297. package/dist/esm/view-switcher/view/index.js +1 -1
  298. package/dist/forge-dark.css +1 -1
  299. package/dist/forge.css +1 -1
  300. package/dist/theme/forge-theme.css +1 -1
  301. package/esm/app-bar/app-bar/app-bar.js +1 -1
  302. package/esm/app-bar/help-button/app-bar-help-button-adapter.js +3 -3
  303. package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
  304. package/esm/app-bar/menu-button/app-bar-menu-button.js +4 -4
  305. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +3 -3
  306. package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
  307. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +3 -3
  308. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -0
  309. package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
  310. package/esm/app-bar/search/app-bar-search-adapter.d.ts +8 -43
  311. package/esm/app-bar/search/app-bar-search-adapter.js +23 -53
  312. package/esm/app-bar/search/app-bar-search-constants.d.ts +0 -15
  313. package/esm/app-bar/search/app-bar-search-constants.js +3 -20
  314. package/esm/app-bar/search/app-bar-search-foundation.d.ts +3 -37
  315. package/esm/app-bar/search/app-bar-search-foundation.js +27 -88
  316. package/esm/app-bar/search/app-bar-search.d.ts +1 -21
  317. package/esm/app-bar/search/app-bar-search.js +13 -39
  318. package/esm/banner/banner.js +1 -1
  319. package/esm/button/base/base-button-adapter.d.ts +0 -5
  320. package/esm/button/base/base-button-adapter.js +18 -18
  321. package/esm/button/base/base-button-constants.d.ts +28 -28
  322. package/esm/button/base/base-button-foundation.d.ts +0 -2
  323. package/esm/button/base/base-button-foundation.js +9 -14
  324. package/esm/button/base/base-button.d.ts +11 -7
  325. package/esm/button/base/base-button.js +21 -14
  326. package/esm/button/button-constants.d.ts +2 -0
  327. package/esm/button/button-constants.js +2 -1
  328. package/esm/button/button-foundation.d.ts +4 -0
  329. package/esm/button/button-foundation.js +10 -0
  330. package/esm/button/button.d.ts +4 -0
  331. package/esm/button/button.js +10 -2
  332. package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +6 -14
  333. package/esm/button-toggle/button-toggle/button-toggle-adapter.js +19 -45
  334. package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +11 -15
  335. package/esm/button-toggle/button-toggle/button-toggle-constants.js +6 -17
  336. package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +18 -12
  337. package/esm/button-toggle/button-toggle/button-toggle-foundation.js +74 -30
  338. package/esm/button-toggle/button-toggle/button-toggle.d.ts +67 -14
  339. package/esm/button-toggle/button-toggle/button-toggle.js +82 -29
  340. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +7 -13
  341. package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +26 -91
  342. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +20 -11
  343. package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +8 -2
  344. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +20 -12
  345. package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +101 -97
  346. package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +75 -9
  347. package/esm/button-toggle/button-toggle-group/button-toggle-group.js +134 -25
  348. package/esm/calendar/calendar-dom-utils.js +1 -2
  349. package/esm/calendar/calendar-foundation.d.ts +1 -1
  350. package/esm/calendar/calendar-foundation.js +13 -16
  351. package/esm/checkbox/checkbox.js +1 -1
  352. package/esm/circular-progress/circular-progress-adapter.js +8 -12
  353. package/esm/circular-progress/circular-progress.d.ts +7 -3
  354. package/esm/circular-progress/circular-progress.js +4 -2
  355. package/esm/color-picker/color-picker.js +1 -1
  356. package/esm/constants.d.ts +15 -2
  357. package/esm/constants.js +13 -0
  358. package/esm/core/base/base-adapter.d.ts +6 -0
  359. package/esm/core/base/base-adapter.js +13 -4
  360. package/esm/core/base/base-component.d.ts +4 -0
  361. package/esm/core/base/base-form-component.d.ts +0 -10
  362. package/esm/core/base/base-form-component.js +0 -6
  363. package/esm/core/base/base-nullable-form-component.d.ts +0 -10
  364. package/esm/core/base/base-nullable-form-component.js +0 -6
  365. package/esm/core/{base/base-focusable-component.d.ts → mixins/focus/with-focusable.d.ts} +11 -14
  366. package/esm/core/{base/base-focusable-component.js → mixins/focus/with-focusable.js} +15 -16
  367. package/esm/core/mixins/form/with-form-associated.d.ts +116 -0
  368. package/esm/core/mixins/form/with-form-associated.js +71 -0
  369. package/esm/core/mixins/form/with-form-validity.d.ts +35 -0
  370. package/esm/core/mixins/form/with-form-validity.js +43 -0
  371. package/esm/core/mixins/interactions/longpress/with-longpress-listener.d.ts +33 -0
  372. package/esm/core/mixins/interactions/longpress/with-longpress-listener.js +82 -0
  373. package/esm/core/mixins/internals/with-default-aria.d.ts +32 -0
  374. package/esm/core/mixins/internals/with-default-aria.js +22 -0
  375. package/esm/core/mixins/internals/with-element-internals.d.ts +26 -0
  376. package/esm/core/mixins/internals/with-element-internals.js +22 -0
  377. package/esm/core/mixins/label/with-label-aware.d.ts +33 -0
  378. package/esm/core/mixins/label/with-label-aware.js +17 -0
  379. package/esm/core/utils/a11y-utils.d.ts +126 -0
  380. package/esm/core/utils/a11y-utils.js +169 -0
  381. package/esm/core/utils/deferred.d.ts +29 -0
  382. package/esm/core/utils/deferred.js +32 -0
  383. package/esm/core/utils/dismissible-stack.d.ts +74 -0
  384. package/esm/core/utils/dismissible-stack.js +133 -0
  385. package/esm/core/utils/event-utils.d.ts +1 -0
  386. package/esm/core/utils/event-utils.js +3 -0
  387. package/esm/core/utils/feature-detection.d.ts +13 -0
  388. package/esm/core/utils/feature-detection.js +21 -0
  389. package/esm/core/utils/form-utils.d.ts +24 -0
  390. package/{styles/checkbox/_configuration.scss → esm/core/utils/form-utils.js} +1 -5
  391. package/esm/core/utils/index.d.ts +1 -0
  392. package/esm/core/utils/index.js +1 -0
  393. package/esm/core/utils/mixin-utils.d.ts +20 -0
  394. package/esm/core/utils/mixin-utils.js +15 -0
  395. package/esm/core/utils/position-utils.d.ts +78 -0
  396. package/esm/core/utils/position-utils.js +197 -0
  397. package/esm/core/utils/reflect-utils.d.ts +1 -1
  398. package/esm/core/utils/reflect-utils.js +2 -2
  399. package/esm/core/utils/utils.d.ts +14 -0
  400. package/esm/core/utils/utils.js +25 -7
  401. package/esm/date-picker/base/base-date-picker.d.ts +1 -1
  402. package/esm/date-picker/base/base-date-picker.js +4 -3
  403. package/esm/date-range-picker/date-range-picker-foundation.d.ts +1 -0
  404. package/esm/date-range-picker/date-range-picker-foundation.js +4 -0
  405. package/esm/dialog/dialog-constants.d.ts +1 -0
  406. package/esm/dialog/dialog-constants.js +2 -1
  407. package/esm/dialog/dialog-foundation.js +3 -6
  408. package/esm/dialog/dialog.js +1 -1
  409. package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
  410. package/esm/expansion-panel/expansion-panel-adapter.js +0 -5
  411. package/esm/floating-action-button/floating-action-button.js +1 -1
  412. package/esm/icon-button/icon-button-component-delegate.js +1 -1
  413. package/esm/icon-button/icon-button.js +1 -1
  414. package/esm/index.d.ts +6 -4
  415. package/esm/index.js +36 -29
  416. package/esm/label/label-adapter.d.ts +2 -0
  417. package/esm/label/label-adapter.js +8 -5
  418. package/esm/label/label-aware.js +2 -1
  419. package/esm/label/label-constants.d.ts +6 -2
  420. package/esm/label/label-constants.js +13 -4
  421. package/esm/label/label-foundation.d.ts +16 -0
  422. package/esm/label/label-foundation.js +69 -6
  423. package/esm/label/label.d.ts +8 -0
  424. package/esm/label/label.js +21 -3
  425. package/esm/linear-progress/linear-progress-adapter.js +13 -12
  426. package/esm/linear-progress/linear-progress-constants.d.ts +6 -0
  427. package/esm/linear-progress/linear-progress-constants.js +4 -2
  428. package/esm/linear-progress/linear-progress-foundation.js +2 -1
  429. package/esm/linear-progress/linear-progress.d.ts +7 -3
  430. package/esm/linear-progress/linear-progress.js +8 -11
  431. package/esm/list/list/list.js +1 -1
  432. package/esm/list/list-item/list-item.js +1 -1
  433. package/esm/menu/menu-adapter.d.ts +3 -3
  434. package/esm/menu/menu-constants.d.ts +1 -1
  435. package/esm/menu/menu-foundation.d.ts +1 -0
  436. package/esm/menu/menu-foundation.js +11 -4
  437. package/esm/menu/menu.js +1 -5
  438. package/esm/open-icon/open-icon.js +2 -2
  439. package/esm/overlay/base/base-overlay-foundation.d.ts +50 -0
  440. package/esm/overlay/base/base-overlay-foundation.js +11 -0
  441. package/esm/overlay/base/base-overlay.d.ts +49 -0
  442. package/esm/overlay/base/base-overlay.js +106 -0
  443. package/esm/overlay/base/overlay-aware-adapter.d.ts +17 -0
  444. package/esm/overlay/base/overlay-aware-adapter.js +15 -0
  445. package/esm/overlay/base/overlay-aware-foundation.d.ts +53 -0
  446. package/esm/overlay/base/overlay-aware-foundation.js +158 -0
  447. package/esm/overlay/base/overlay-aware.d.ts +36 -0
  448. package/esm/overlay/base/overlay-aware.js +102 -0
  449. package/esm/overlay/index.d.ts +10 -0
  450. package/esm/overlay/index.js +14 -0
  451. package/esm/overlay/mixins/with-overlay-aware.d.ts +105 -0
  452. package/esm/overlay/mixins/with-overlay-aware.js +152 -0
  453. package/esm/overlay/overlay-adapter.d.ts +54 -0
  454. package/esm/overlay/overlay-adapter.js +182 -0
  455. package/esm/overlay/overlay-constants.d.ts +71 -0
  456. package/esm/overlay/overlay-constants.js +48 -0
  457. package/esm/overlay/overlay-foundation.d.ts +76 -0
  458. package/esm/overlay/overlay-foundation.js +288 -0
  459. package/esm/overlay/overlay.d.ts +90 -0
  460. package/esm/overlay/overlay.js +105 -0
  461. package/esm/paginator/paginator-constants.d.ts +9 -0
  462. package/esm/paginator/paginator-foundation.d.ts +5 -2
  463. package/esm/paginator/paginator-foundation.js +29 -8
  464. package/esm/paginator/paginator.d.ts +3 -1
  465. package/esm/paginator/paginator.js +4 -1
  466. package/esm/popover/index.d.ts +10 -0
  467. package/esm/popover/index.js +14 -0
  468. package/esm/popover/popover-adapter.d.ts +46 -0
  469. package/esm/popover/popover-adapter.js +105 -0
  470. package/esm/popover/popover-constants.d.ts +42 -0
  471. package/esm/popover/popover-constants.js +42 -0
  472. package/esm/popover/popover-foundation.d.ts +139 -0
  473. package/esm/popover/popover-foundation.js +458 -0
  474. package/esm/popover/popover.d.ts +96 -0
  475. package/esm/popover/popover.js +147 -0
  476. package/esm/popup/popup-constants.d.ts +1 -1
  477. package/esm/profile-card/profile-card.js +1 -1
  478. package/esm/radio/core/radio-group-manager.d.ts +83 -0
  479. package/esm/radio/core/radio-group-manager.js +201 -0
  480. package/esm/radio/index.d.ts +1 -2
  481. package/esm/radio/index.js +1 -6
  482. package/esm/radio/radio/index.d.ts +10 -0
  483. package/esm/radio/radio/index.js +14 -0
  484. package/esm/radio/radio/radio-adapter.d.ts +41 -0
  485. package/esm/radio/radio/radio-adapter.js +75 -0
  486. package/{styles/focus-indicator/_configuration.scss → esm/radio/radio/radio-component-delegate.d.ts} +0 -5
  487. package/{styles/list/list/_configuration.scss → esm/radio/radio/radio-component-delegate.js} +1 -5
  488. package/esm/radio/radio/radio-constants.d.ts +37 -0
  489. package/esm/radio/radio/radio-constants.js +40 -0
  490. package/esm/radio/radio/radio-foundation.d.ts +70 -0
  491. package/esm/radio/radio/radio-foundation.js +199 -0
  492. package/esm/radio/radio/radio.d.ts +115 -0
  493. package/esm/radio/radio/radio.js +204 -0
  494. package/esm/radio/radio-group/index.d.ts +10 -0
  495. package/esm/radio/radio-group/index.js +14 -0
  496. package/esm/radio/radio-group/radio-group-adapter.d.ts +18 -0
  497. package/esm/radio/radio-group/radio-group-adapter.js +26 -0
  498. package/esm/radio/radio-group/radio-group-constants.d.ts +11 -0
  499. package/esm/radio/radio-group/radio-group-constants.js +14 -0
  500. package/esm/radio/radio-group/radio-group-foundation.d.ts +20 -0
  501. package/esm/radio/radio-group/radio-group-foundation.js +32 -0
  502. package/esm/radio/radio-group/radio-group.d.ts +47 -0
  503. package/esm/radio/radio-group/radio-group.js +83 -0
  504. package/esm/slider/slider.d.ts +2 -2
  505. package/esm/slider/slider.js +2 -2
  506. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  507. package/esm/state-layer/state-layer-foundation.js +9 -10
  508. package/esm/switch/switch.js +1 -1
  509. package/esm/table/table-utils.js +2 -3
  510. package/esm/tabs/tab/tab.js +1 -1
  511. package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
  512. package/esm/tabs/tab-bar/tab-bar-adapter.js +3 -3
  513. package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
  514. package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
  515. package/esm/tabs/tab-bar/tab-bar.js +2 -2
  516. package/esm/toast/toast-constants.d.ts +1 -1
  517. package/esm/toolbar/toolbar.js +1 -1
  518. package/esm/tooltip/index.d.ts +0 -1
  519. package/esm/tooltip/index.js +0 -1
  520. package/esm/tooltip/tooltip-adapter.d.ts +30 -60
  521. package/esm/tooltip/tooltip-adapter.js +105 -97
  522. package/esm/tooltip/tooltip-constants.d.ts +44 -21
  523. package/esm/tooltip/tooltip-constants.js +27 -22
  524. package/esm/tooltip/tooltip-foundation.d.ts +72 -84
  525. package/esm/tooltip/tooltip-foundation.js +265 -192
  526. package/esm/tooltip/tooltip.d.ts +93 -26
  527. package/esm/tooltip/tooltip.js +129 -31
  528. package/package.json +2 -4
  529. package/styles/app-bar/app-bar/_core.scss +6 -0
  530. package/styles/app-bar/app-bar/app-bar.scss +31 -17
  531. package/styles/app-bar/app-bar/index.scss +0 -2
  532. package/styles/app-bar/search/_core.scss +75 -0
  533. package/styles/app-bar/search/_token-utils.scss +30 -0
  534. package/styles/app-bar/search/app-bar-search.scss +50 -4
  535. package/styles/{switch/_configuration.scss → app-bar/search/index.scss} +1 -5
  536. package/styles/button/_core.scss +2 -0
  537. package/styles/button/button.scss +40 -25
  538. package/styles/button/index.scss +0 -2
  539. package/styles/button-toggle/button-toggle/_core.scss +78 -0
  540. package/styles/button-toggle/button-toggle/_token-utils.scss +30 -0
  541. package/styles/button-toggle/button-toggle/button-toggle.scss +65 -11
  542. package/styles/button-toggle/button-toggle/index.scss +6 -0
  543. package/styles/button-toggle/button-toggle-group/_core.scss +62 -0
  544. package/styles/button-toggle/button-toggle-group/_token-utils.scss +30 -0
  545. package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +123 -3
  546. package/styles/button-toggle/button-toggle-group/index.scss +8 -0
  547. package/styles/checkbox/_core.scss +3 -0
  548. package/styles/checkbox/checkbox.scss +24 -26
  549. package/styles/checkbox/index.scss +0 -2
  550. package/styles/circular-progress/_core.scss +2 -0
  551. package/styles/circular-progress/circular-progress.scss +36 -27
  552. package/styles/circular-progress/index.scss +0 -2
  553. package/styles/core/styles/elevation/index.scss +1 -1
  554. package/styles/core/styles/tokens/_token-utils.scss +14 -5
  555. package/styles/core/styles/tokens/app-bar/search/_tokens.scss +35 -0
  556. package/styles/core/styles/tokens/button/_tokens.scss +4 -4
  557. package/styles/core/styles/tokens/button-toggle/button-toggle/_tokens.scss +68 -0
  558. package/styles/core/styles/tokens/button-toggle/button-toggle-group/_tokens.scss +48 -0
  559. package/styles/core/styles/tokens/checkbox/_tokens.scss +6 -6
  560. package/styles/core/styles/tokens/floating-action-button/_tokens.scss +1 -1
  561. package/styles/core/styles/tokens/icon-button/_tokens.scss +3 -3
  562. package/styles/core/styles/tokens/overlay/_tokens.scss +23 -0
  563. package/styles/core/styles/tokens/popover/_tokens.scss +56 -0
  564. package/styles/core/styles/tokens/profile-card/_tokens.scss +1 -1
  565. package/styles/core/styles/tokens/radio/_tokens.scss +66 -0
  566. package/styles/core/styles/tokens/switch/_tokens.scss +3 -3
  567. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +5 -5
  568. package/styles/core/styles/tokens/theme/_token-utils.scss +12 -11
  569. package/styles/core/styles/tokens/theme/_tokens.surface.scss +3 -0
  570. package/styles/core/styles/tokens/theme/_tokens.text.scss +4 -4
  571. package/styles/core/styles/tokens/theme/_tokens.utilities.scss +3 -0
  572. package/styles/core/styles/tokens/tooltip/_tokens.scss +53 -0
  573. package/styles/dialog/_mixins.scss +1 -1
  574. package/styles/drawer/mini-drawer/_mixins.scss +0 -2
  575. package/styles/floating-action-button/_core.scss +2 -0
  576. package/styles/floating-action-button/floating-action-button.scss +14 -14
  577. package/styles/floating-action-button/index.scss +0 -2
  578. package/styles/focus-indicator/_core.scss +2 -0
  579. package/styles/focus-indicator/focus-indicator.scss +7 -8
  580. package/styles/focus-indicator/index.scss +0 -2
  581. package/styles/forge.scss +0 -1
  582. package/styles/icon-button/_core.scss +2 -0
  583. package/styles/icon-button/icon-button.scss +29 -28
  584. package/styles/icon-button/index.scss +0 -2
  585. package/styles/label/_core.scss +2 -5
  586. package/styles/label/label.scss +3 -7
  587. package/styles/linear-progress/_core.scss +2 -0
  588. package/styles/linear-progress/index.scss +0 -2
  589. package/styles/linear-progress/linear-progress.scss +29 -18
  590. package/styles/list/list/_core.scss +2 -0
  591. package/styles/list/list/index.scss +0 -2
  592. package/styles/list/list/list.scss +4 -4
  593. package/styles/list/list-item/_core.scss +2 -0
  594. package/styles/list/list-item/index.scss +0 -2
  595. package/styles/list/list-item/list-item.scss +50 -44
  596. package/styles/overlay/_core.scss +46 -0
  597. package/styles/overlay/_token-utils.scss +31 -0
  598. package/styles/overlay/index.scss +6 -0
  599. package/styles/overlay/overlay.scss +66 -0
  600. package/styles/popover/_animations.scss +36 -0
  601. package/styles/popover/_core.scss +56 -0
  602. package/styles/popover/_token-utils.scss +31 -0
  603. package/styles/popover/index.scss +6 -0
  604. package/styles/popover/popover.scss +254 -0
  605. package/styles/profile-card/_core.scss +2 -0
  606. package/styles/profile-card/index.scss +0 -2
  607. package/styles/profile-card/profile-card.scss +9 -11
  608. package/styles/radio/index.scss +6 -0
  609. package/styles/radio/radio/_core.scss +126 -0
  610. package/styles/radio/radio/_token-utils.scss +30 -0
  611. package/styles/radio/radio/index.scss +6 -0
  612. package/styles/radio/radio/radio.scss +99 -0
  613. package/styles/slider/_core.scss +2 -0
  614. package/styles/slider/index.scss +0 -2
  615. package/styles/slider/slider.scss +45 -41
  616. package/styles/split-button/index.scss +0 -1
  617. package/styles/split-button/split-button.scss +3 -2
  618. package/styles/state-layer/_core.scss +3 -2
  619. package/styles/state-layer/index.scss +0 -2
  620. package/styles/state-layer/state-layer.scss +7 -8
  621. package/styles/switch/_core.scss +9 -0
  622. package/styles/switch/index.scss +0 -2
  623. package/styles/switch/switch.scss +28 -30
  624. package/styles/tabs/tab/_core.scss +2 -0
  625. package/styles/tabs/tab/index.scss +0 -2
  626. package/styles/tabs/tab/tab.scss +27 -28
  627. package/styles/tabs/tab-bar/_core.scss +2 -0
  628. package/styles/tabs/tab-bar/index.scss +0 -2
  629. package/styles/tabs/tab-bar/tab-bar.scss +21 -23
  630. package/styles/theme/_theme-dark.scss +14 -2
  631. package/styles/theme/_theme-values.scss +2 -0
  632. package/styles/toolbar/_mixins.scss +2 -1
  633. package/styles/tooltip/_animations.scss +18 -0
  634. package/styles/tooltip/_core.scss +86 -0
  635. package/styles/tooltip/_token-utils.scss +31 -0
  636. package/styles/tooltip/index.scss +6 -0
  637. package/styles/tooltip/tooltip.scss +107 -0
  638. package/dist/esm/chunks/chunk.2GJ54C3Q.js +0 -7
  639. package/dist/esm/chunks/chunk.2GJ54C3Q.js.map +0 -7
  640. package/dist/esm/chunks/chunk.2YDKRTKP.js +0 -7
  641. package/dist/esm/chunks/chunk.2YDKRTKP.js.map +0 -7
  642. package/dist/esm/chunks/chunk.3JCHXLPT.js +0 -7
  643. package/dist/esm/chunks/chunk.3JCHXLPT.js.map +0 -7
  644. package/dist/esm/chunks/chunk.3RMBFRGC.js +0 -7
  645. package/dist/esm/chunks/chunk.3RMBFRGC.js.map +0 -7
  646. package/dist/esm/chunks/chunk.3ZRQFXQU.js +0 -7
  647. package/dist/esm/chunks/chunk.4QDN5PM6.js +0 -7
  648. package/dist/esm/chunks/chunk.4QDN5PM6.js.map +0 -7
  649. package/dist/esm/chunks/chunk.5H4G6BWX.js +0 -7
  650. package/dist/esm/chunks/chunk.5H4G6BWX.js.map +0 -7
  651. package/dist/esm/chunks/chunk.5VHUMZYS.js +0 -7
  652. package/dist/esm/chunks/chunk.6DXDNQUR.js +0 -15
  653. package/dist/esm/chunks/chunk.6DXDNQUR.js.map +0 -7
  654. package/dist/esm/chunks/chunk.6Y45DLA6.js +0 -7
  655. package/dist/esm/chunks/chunk.6Y45DLA6.js.map +0 -7
  656. package/dist/esm/chunks/chunk.7BGOH44S.js +0 -7
  657. package/dist/esm/chunks/chunk.7BGOH44S.js.map +0 -7
  658. package/dist/esm/chunks/chunk.7UXLLUTN.js +0 -7
  659. package/dist/esm/chunks/chunk.AEJGC4YG.js +0 -7
  660. package/dist/esm/chunks/chunk.AEJGC4YG.js.map +0 -7
  661. package/dist/esm/chunks/chunk.BFUGFHEH.js +0 -7
  662. package/dist/esm/chunks/chunk.BLW6QESQ.js +0 -12
  663. package/dist/esm/chunks/chunk.BLW6QESQ.js.map +0 -7
  664. package/dist/esm/chunks/chunk.C5IB44HX.js +0 -7
  665. package/dist/esm/chunks/chunk.CNRFOWHY.js +0 -7
  666. package/dist/esm/chunks/chunk.CNRFOWHY.js.map +0 -7
  667. package/dist/esm/chunks/chunk.CZOABXEQ.js +0 -7
  668. package/dist/esm/chunks/chunk.E3GVKR4E.js +0 -7
  669. package/dist/esm/chunks/chunk.E3GVKR4E.js.map +0 -7
  670. package/dist/esm/chunks/chunk.EBSBAFCX.js +0 -7
  671. package/dist/esm/chunks/chunk.EBSBAFCX.js.map +0 -7
  672. package/dist/esm/chunks/chunk.F6KM5FO6.js +0 -7
  673. package/dist/esm/chunks/chunk.FB6ZLH6P.js +0 -7
  674. package/dist/esm/chunks/chunk.FB6ZLH6P.js.map +0 -7
  675. package/dist/esm/chunks/chunk.FDZSLGIW.js +0 -7
  676. package/dist/esm/chunks/chunk.FDZSLGIW.js.map +0 -7
  677. package/dist/esm/chunks/chunk.GT3VPSXY.js +0 -7
  678. package/dist/esm/chunks/chunk.GT3VPSXY.js.map +0 -7
  679. package/dist/esm/chunks/chunk.I3NHK2S3.js +0 -7
  680. package/dist/esm/chunks/chunk.IT66AOX7.js +0 -7
  681. package/dist/esm/chunks/chunk.IT66AOX7.js.map +0 -7
  682. package/dist/esm/chunks/chunk.IVUK3W34.js +0 -7
  683. package/dist/esm/chunks/chunk.IVUK3W34.js.map +0 -7
  684. package/dist/esm/chunks/chunk.J2KHTGSB.js +0 -7
  685. package/dist/esm/chunks/chunk.J2KHTGSB.js.map +0 -7
  686. package/dist/esm/chunks/chunk.JAWV5Y5T.js +0 -7
  687. package/dist/esm/chunks/chunk.JVK64JDZ.js +0 -7
  688. package/dist/esm/chunks/chunk.KFDYMENL.js +0 -7
  689. package/dist/esm/chunks/chunk.KFDYMENL.js.map +0 -7
  690. package/dist/esm/chunks/chunk.KTYYBWTN.js +0 -7
  691. package/dist/esm/chunks/chunk.LCNR2RPT.js +0 -7
  692. package/dist/esm/chunks/chunk.LCNR2RPT.js.map +0 -7
  693. package/dist/esm/chunks/chunk.LOBKFTRM.js +0 -7
  694. package/dist/esm/chunks/chunk.LOBKFTRM.js.map +0 -7
  695. package/dist/esm/chunks/chunk.LS7WRRT2.js +0 -7
  696. package/dist/esm/chunks/chunk.LS7WRRT2.js.map +0 -7
  697. package/dist/esm/chunks/chunk.LSNAGIIH.js +0 -7
  698. package/dist/esm/chunks/chunk.LSNAGIIH.js.map +0 -7
  699. package/dist/esm/chunks/chunk.LUIKMPQR.js +0 -7
  700. package/dist/esm/chunks/chunk.LUIKMPQR.js.map +0 -7
  701. package/dist/esm/chunks/chunk.MZZJY5NX.js +0 -7
  702. package/dist/esm/chunks/chunk.MZZJY5NX.js.map +0 -7
  703. package/dist/esm/chunks/chunk.NYYXUH3X.js +0 -7
  704. package/dist/esm/chunks/chunk.OYO5O3NF.js +0 -7
  705. package/dist/esm/chunks/chunk.Q5Z6F3PI.js +0 -7
  706. package/dist/esm/chunks/chunk.Q5Z6F3PI.js.map +0 -7
  707. package/dist/esm/chunks/chunk.RCSBJQ4G.js +0 -7
  708. package/dist/esm/chunks/chunk.RCSBJQ4G.js.map +0 -7
  709. package/dist/esm/chunks/chunk.RDW7Z4W5.js +0 -7
  710. package/dist/esm/chunks/chunk.SNF35Y6C.js +0 -7
  711. package/dist/esm/chunks/chunk.SNF35Y6C.js.map +0 -7
  712. package/dist/esm/chunks/chunk.SOLF23NC.js +0 -7
  713. package/dist/esm/chunks/chunk.T34DG7BU.js +0 -7
  714. package/dist/esm/chunks/chunk.TA3MVDUU.js +0 -7
  715. package/dist/esm/chunks/chunk.TA3MVDUU.js.map +0 -7
  716. package/dist/esm/chunks/chunk.UWZWXNTW.js +0 -7
  717. package/dist/esm/chunks/chunk.UWZWXNTW.js.map +0 -7
  718. package/dist/esm/chunks/chunk.VD5ZL5ZN.js +0 -7
  719. package/dist/esm/chunks/chunk.WQGPIOL6.js +0 -7
  720. package/dist/esm/chunks/chunk.WQGPIOL6.js.map +0 -7
  721. package/dist/esm/chunks/chunk.XDANTL6C.js +0 -7
  722. package/dist/esm/chunks/chunk.XNCBGWE4.js +0 -7
  723. package/dist/esm/chunks/chunk.XNCBGWE4.js.map +0 -7
  724. package/dist/esm/chunks/chunk.ZSD7MMVB.js +0 -7
  725. package/dist/esm/chunks/chunk.ZSD7MMVB.js.map +0 -7
  726. package/dist/esm/chunks/chunk.ZVJMIBUM.js +0 -7
  727. package/dist/esm/chunks/chunk.ZVJMIBUM.js.map +0 -7
  728. package/dist/tooltip/forge-tooltip.css +0 -6
  729. package/esm/radio/radio-adapter.d.ts +0 -71
  730. package/esm/radio/radio-adapter.js +0 -260
  731. package/esm/radio/radio-constants.d.ts +0 -30
  732. package/esm/radio/radio-constants.js +0 -36
  733. package/esm/radio/radio-foundation.d.ts +0 -31
  734. package/esm/radio/radio-foundation.js +0 -80
  735. package/esm/radio/radio.d.ts +0 -33
  736. package/esm/radio/radio.js +0 -75
  737. package/esm/tooltip/tooltip-utils.d.ts +0 -13
  738. package/esm/tooltip/tooltip-utils.js +0 -53
  739. package/styles/app-bar/app-bar/_configuration.scss +0 -16
  740. package/styles/app-bar/search/_mixins.scss +0 -238
  741. package/styles/app-bar/search/_variables.scss +0 -18
  742. package/styles/button/_configuration.scss +0 -16
  743. package/styles/button-toggle/button-toggle/_mixins.scss +0 -117
  744. package/styles/button-toggle/button-toggle-group/_mixins.scss +0 -79
  745. package/styles/circular-progress/_configuration.scss +0 -16
  746. package/styles/floating-action-button/_configuration.scss +0 -16
  747. package/styles/icon-button/_configuration.scss +0 -16
  748. package/styles/linear-progress/_configuration.scss +0 -28
  749. package/styles/list/list-item/_configuration.scss +0 -16
  750. package/styles/radio/_mixins.scss +0 -309
  751. package/styles/radio/_radio-theme.scss +0 -314
  752. package/styles/radio/radio.scss +0 -19
  753. package/styles/split-button/_configuration.scss +0 -12
  754. package/styles/state-layer/_configuration.scss +0 -10
  755. package/styles/tabs/tab/_configuration.scss +0 -27
  756. package/styles/tabs/tab-bar/_configuration.scss +0 -10
  757. package/styles/tooltip/_mixins.scss +0 -98
  758. package/styles/tooltip/_variables.scss +0 -18
  759. package/styles/tooltip/forge-tooltip.scss +0 -12
  760. /package/dist/esm/chunks/{chunk.PSTGTQVK.js.map → chunk.2JCTFKCR.js.map} +0 -0
  761. /package/dist/esm/chunks/{chunk.4B5IOZAT.js.map → chunk.2YE556AM.js.map} +0 -0
  762. /package/dist/esm/chunks/{chunk.YKZ25J6B.js.map → chunk.3U6A353B.js.map} +0 -0
  763. /package/dist/esm/chunks/{chunk.LXX3YZYS.js.map → chunk.436USWLL.js.map} +0 -0
  764. /package/dist/esm/chunks/{chunk.KLPF4CNX.js.map → chunk.4GMGQZOW.js.map} +0 -0
  765. /package/dist/esm/chunks/{chunk.Z7PBGV4K.js.map → chunk.4JB3SESQ.js.map} +0 -0
  766. /package/dist/esm/chunks/{chunk.QFY23EWU.js.map → chunk.4JL5LW5J.js.map} +0 -0
  767. /package/dist/esm/chunks/{chunk.NYYXUH3X.js.map → chunk.55D2BMXX.js.map} +0 -0
  768. /package/dist/esm/chunks/{chunk.A72W7RW7.js.map → chunk.5LCWC3A7.js.map} +0 -0
  769. /package/dist/esm/chunks/{chunk.RYNQDXFA.js.map → chunk.5T7TT3AB.js.map} +0 -0
  770. /package/dist/esm/chunks/{chunk.HHHBS6FB.js.map → chunk.B53Q676I.js.map} +0 -0
  771. /package/dist/esm/chunks/{chunk.B46Q3AFP.js.map → chunk.BKQSLDMK.js.map} +0 -0
  772. /package/dist/esm/chunks/{chunk.F2EBSV5Z.js.map → chunk.BZVLSWZR.js.map} +0 -0
  773. /package/dist/esm/chunks/{chunk.BMQYEYCT.js.map → chunk.DGG5ABL3.js.map} +0 -0
  774. /package/dist/esm/chunks/{chunk.PK7R6WDF.js.map → chunk.DPIWAXEW.js.map} +0 -0
  775. /package/dist/esm/chunks/{chunk.7PP6QHOM.js.map → chunk.ETDUW5K2.js.map} +0 -0
  776. /package/dist/esm/chunks/{chunk.GHR7T6U2.js.map → chunk.FGHSNC2V.js.map} +0 -0
  777. /package/dist/esm/chunks/{chunk.P7LC3YYW.js.map → chunk.FPRBYGET.js.map} +0 -0
  778. /package/dist/esm/chunks/{chunk.7W2UWAZX.js.map → chunk.FQVR2QNF.js.map} +0 -0
  779. /package/dist/esm/chunks/{chunk.IEB5KRFQ.js.map → chunk.FWWBFNQA.js.map} +0 -0
  780. /package/dist/esm/chunks/{chunk.543K5Y4E.js.map → chunk.FZELFLPE.js.map} +0 -0
  781. /package/dist/esm/chunks/{chunk.6Q3SV2R2.js.map → chunk.FZZUNYH5.js.map} +0 -0
  782. /package/dist/esm/chunks/{chunk.CTZ3AWDW.js.map → chunk.GLUKTMQU.js.map} +0 -0
  783. /package/dist/esm/chunks/{chunk.W324TWF2.js.map → chunk.GTBCTNMI.js.map} +0 -0
  784. /package/dist/esm/chunks/{chunk.L4Y4RO5O.js.map → chunk.GURV4TDZ.js.map} +0 -0
  785. /package/dist/esm/chunks/{chunk.THWSN3X4.js.map → chunk.IA27LU2O.js.map} +0 -0
  786. /package/dist/esm/chunks/{chunk.TZFUKJ24.js.map → chunk.JXJVPJRO.js.map} +0 -0
  787. /package/dist/esm/chunks/{chunk.Z2RB75TN.js.map → chunk.K3STAW42.js.map} +0 -0
  788. /package/dist/esm/chunks/{chunk.G2BNY5QQ.js.map → chunk.KPC6IS3C.js.map} +0 -0
  789. /package/dist/esm/chunks/{chunk.VDZ7HBKM.js.map → chunk.KV7PGQJ7.js.map} +0 -0
  790. /package/dist/esm/chunks/{chunk.OYO5O3NF.js.map → chunk.M5JGYRH4.js.map} +0 -0
  791. /package/dist/esm/chunks/{chunk.T34DG7BU.js.map → chunk.N75VD4S4.js.map} +0 -0
  792. /package/dist/esm/chunks/{chunk.H7GW57Q6.js.map → chunk.NKEAMFO4.js.map} +0 -0
  793. /package/dist/esm/chunks/{chunk.26E4L52W.js.map → chunk.NW54VA4E.js.map} +0 -0
  794. /package/dist/esm/chunks/{chunk.PADPL4L3.js.map → chunk.OUIWXKO2.js.map} +0 -0
  795. /package/dist/esm/chunks/{chunk.I3NHK2S3.js.map → chunk.OXVCCHM5.js.map} +0 -0
  796. /package/dist/esm/chunks/{chunk.7ABZUBTT.js.map → chunk.P5XHGSJY.js.map} +0 -0
  797. /package/dist/esm/chunks/{chunk.NZKIFXBU.js.map → chunk.QKTNCOVX.js.map} +0 -0
  798. /package/dist/esm/chunks/{chunk.NG6UZ4OL.js.map → chunk.QZ57WM3D.js.map} +0 -0
  799. /package/dist/esm/chunks/{chunk.OED5UCYT.js.map → chunk.R2QENXIL.js.map} +0 -0
  800. /package/dist/esm/chunks/{chunk.DOEG3DWJ.js.map → chunk.RDQ3QGWS.js.map} +0 -0
  801. /package/dist/esm/chunks/{chunk.GS72TBUD.js.map → chunk.RFKKHN7V.js.map} +0 -0
  802. /package/dist/esm/chunks/{chunk.57PXXJA6.js.map → chunk.RKG66YKS.js.map} +0 -0
  803. /package/dist/esm/chunks/{chunk.LMIKNDBS.js.map → chunk.T235SNYZ.js.map} +0 -0
  804. /package/dist/esm/chunks/{chunk.SOLF23NC.js.map → chunk.VGIZJ32U.js.map} +0 -0
  805. /package/dist/esm/chunks/{chunk.U5WMRBSC.js.map → chunk.WA2YP4NC.js.map} +0 -0
  806. /package/dist/esm/chunks/{chunk.5C24LZNU.js.map → chunk.WQHKUNR7.js.map} +0 -0
  807. /package/dist/esm/chunks/{chunk.7UXLLUTN.js.map → chunk.X57DRPFB.js.map} +0 -0
  808. /package/dist/esm/chunks/{chunk.DDXIHZFX.js.map → chunk.X7YTDVNT.js.map} +0 -0
  809. /package/dist/esm/chunks/{chunk.7DHDFH5L.js.map → chunk.XOH2JCRS.js.map} +0 -0
  810. /package/dist/esm/chunks/{chunk.KVCDAZ6B.js.map → chunk.YTBNAGLS.js.map} +0 -0
  811. /package/dist/esm/chunks/{chunk.RZZBM3AW.js.map → chunk.ZHMV5SR4.js.map} +0 -0
  812. /package/dist/esm/chunks/{chunk.GWJ4QCSW.js.map → chunk.ZLACSRD4.js.map} +0 -0
  813. /package/dist/esm/chunks/{chunk.DTKFE7YB.js.map → chunk.ZUTQPJ2B.js.map} +0 -0
  814. /package/dist/esm/chunks/{chunk.PQQVUUHU.js.map → chunk.ZYCKD6K5.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/button-toggle/button-toggle/button-toggle-adapter.ts", "../../src/button-toggle/button-toggle/button-toggle-constants.ts", "../../src/button-toggle/button-toggle/button-toggle-foundation.ts", "../../src/button-toggle/button-toggle/button-toggle.ts"],
4
+ "sourcesContent": ["import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IButtonToggleComponent } from './button-toggle';\nimport { isFocusable, setDefaultAria } from '../../constants';\nimport { IStateLayerComponent } from '../../state-layer/state-layer';\nimport { STATE_LAYER_CONSTANTS } from '../../state-layer/state-layer-constants';\nimport { IFocusIndicatorComponent } from '../../focus-indicator/focus-indicator';\nimport { FOCUS_INDICATOR_CONSTANTS } from '../../focus-indicator/focus-indicator-constants';\n\nexport interface IButtonToggleAdapter extends IBaseAdapter {\n initialize(): void;\n setSelected(value: boolean): void;\n setDisabled(value: boolean): void;\n forceFocusVisible(): void;\n}\n\nexport class ButtonToggleAdapter extends BaseAdapter<IButtonToggleComponent> implements IButtonToggleAdapter {\n private _focusIndicatorElement: IFocusIndicatorComponent;\n private _stateLayerElement: IStateLayerComponent;\n\n constructor(component: IButtonToggleComponent) {\n super(component);\n this._focusIndicatorElement = getShadowElement(component, FOCUS_INDICATOR_CONSTANTS.elementName) as IFocusIndicatorComponent;\n this._stateLayerElement = getShadowElement(component, STATE_LAYER_CONSTANTS.elementName) as IStateLayerComponent;\n }\n\n public initialize(): void {\n this._component[setDefaultAria]({ role: 'button' }, { setAttribute: !this._component.hasAttribute('role') });\n this._component[setDefaultAria]({\n ariaPressed: `${!!this._component.selected}`,\n ariaDisabled: `${!!this._component.disabled}`\n });\n this._component[isFocusable] = !this._component.disabled;\n }\n\n public setSelected(value: boolean): void {\n this._component[setDefaultAria]({ ariaPressed: `${!!value}` });\n }\n\n public setDisabled(value: boolean): void {\n this._component[setDefaultAria]({ ariaDisabled: `${!!value}` });\n this._component[isFocusable] = !value;\n this._stateLayerElement.disabled = value;\n }\n\n public forceFocusVisible(): void {\n this._focusIndicatorElement.active = true;\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}button-toggle`;\n\nconst observedAttributes = {\n SELECTED: 'selected',\n VALUE: 'value',\n DISABLED: 'disabled',\n READONLY: 'readonly',\n TABINDEX: 'tabindex' // Need this to support the focusable mixin\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst events = {\n SELECT: `${elementName}-select`\n};\n\nexport const BUTTON_TOGGLE_CONSTANTS = {\n elementName,\n observedAttributes,\n attributes,\n events\n};\n\nexport interface IButtonToggleSelectEventData<T = unknown> {\n value: T;\n selected: boolean;\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { task } from '../../core/utils/event-utils';\nimport { ExperimentalFocusOptions } from '../../constants';\nimport { IButtonToggleAdapter } from './button-toggle-adapter';\nimport { BUTTON_TOGGLE_CONSTANTS, IButtonToggleSelectEventData } from './button-toggle-constants';\n\nexport interface IButtonToggleFoundation extends ICustomElementFoundation {\n value: unknown;\n selected: boolean;\n disabled: boolean;\n readonly: boolean;\n destroy(): void;\n focus(options?: ExperimentalFocusOptions): void;\n click(): void;\n}\n\nexport class ButtonToggleFoundation implements IButtonToggleFoundation {\n private _value: unknown;\n private _selected = false;\n private _disabled = false;\n private _readonly = false;\n\n private _clickListener: EventListener = (evt: MouseEvent) => this._onClick(evt);\n private _keydownListener: EventListener = (evt: KeyboardEvent) => this._onKeyDown(evt);\n\n constructor(private _adapter: IButtonToggleAdapter) {}\n\n public initialize(): void {\n this._adapter.initialize();\n\n if (!this._disabled && !this._readonly) {\n this._applyListeners();\n }\n }\n\n public destroy(): void {\n this._removeListeners();\n }\n\n public focus(options: ExperimentalFocusOptions = { focusVisible: true }): void {\n this._adapter.focusHost(options);\n\n if (options.focusVisible) {\n this._adapter.forceFocusVisible();\n }\n }\n\n public click(): void {\n this._adapter.clickHost();\n }\n\n private _applyListeners(): void {\n this._adapter.addHostListener('click', this._clickListener);\n this._adapter.addHostListener('keydown', this._keydownListener);\n }\n\n private _removeListeners(): void {\n this._adapter.removeHostListener('click', this._clickListener);\n this._adapter.removeHostListener('keydown', this._keydownListener);\n }\n\n private async _onClick(_evt: MouseEvent | KeyboardEvent): Promise<void> {\n const originalSelected = this._selected;\n this._selected = !this._selected;\n\n const detail: IButtonToggleSelectEventData = {\n value: this._value,\n selected: this._selected\n };\n const evt = new CustomEvent(BUTTON_TOGGLE_CONSTANTS.events.SELECT, { detail, bubbles: true, cancelable: true });\n this._adapter.dispatchHostEvent(evt);\n\n await task();\n\n this._selected = originalSelected;\n\n if (evt.defaultPrevented) {\n return;\n }\n\n this.selected = !originalSelected;\n }\n\n private _onKeyDown(evt: KeyboardEvent): void {\n if (evt.key === ' ') {\n evt.preventDefault();\n this.click();\n }\n }\n\n public get value(): unknown {\n return this._value;\n }\n public set value(value: unknown) {\n if (this._value !== value) {\n this._value = value;\n this._adapter.setHostAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.VALUE, `${this._value}`);\n }\n }\n \n public get selected(): boolean {\n return this._selected;\n }\n public set selected(value: boolean) {\n value = !!value;\n if (this._selected !== value) {\n this._selected = value;\n this._adapter.setSelected(this._selected);\n this._adapter.toggleHostAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.SELECTED, this._selected);\n }\n }\n \n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n value = !!value;\n if (this._disabled !== value) {\n this._disabled = value;\n if (this._disabled) {\n this._removeListeners();\n } else {\n this._applyListeners();\n }\n this._adapter.setDisabled(this._disabled);\n this._adapter.toggleHostAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get readonly(): boolean {\n return this._readonly;\n }\n public set readonly(value: boolean) {\n value = !!value;\n if (this._readonly !== value) {\n this._readonly = value;\n \n if (this._readonly) {\n this._removeListeners();\n } else {\n this._applyListeners();\n }\n\n this._adapter.toggleHostAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.READONLY, this._readonly);\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { ExperimentalFocusOptions } from '../../constants';\nimport { IWithFocusable, WithFocusable } from '../../core/mixins/focus/with-focusable';\nimport { IWithElementInternals, WithElementInternals } from '../../core/mixins/internals/with-element-internals';\nimport { FocusIndicatorComponent } from '../../focus-indicator';\nimport { StateLayerComponent } from '../../state-layer';\nimport { BaseComponent } from '../../core/base/base-component';\nimport { ButtonToggleAdapter } from './button-toggle-adapter';\nimport { BUTTON_TOGGLE_CONSTANTS, IButtonToggleSelectEventData } from './button-toggle-constants';\nimport { ButtonToggleFoundation } from './button-toggle-foundation';\nimport { IWithDefaultAria, WithDefaultAria } from '../../core/mixins/internals/with-default-aria';\n\nconst template = '<template><div class=\\\"forge-button-toggle\\\" part=\\\"root\\\"><slot name=\\\"start\\\"></slot><slot></slot><slot name=\\\"end\\\"></slot><forge-focus-indicator target=\\\":host\\\" part=\\\"focus-indicator\\\"></forge-focus-indicator><forge-state-layer target=\\\":host\\\" exportparts=\\\"surface:state-layer\\\"></forge-state-layer></div></template>';\nconst styles = ':host{--_button-toggle-display:var(--forge-button-toggle-display, inline-flex)}:host{display:var(--_button-toggle-display);position:relative;outline:0;height:100%;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}.forge-button-toggle{--_button-toggle-min-width:var(--forge-button-toggle-min-width, auto);--_button-toggle-spacing:var(--forge-button-toggle-spacing, var(--forge-spacing-xsmall, 8px));--_button-toggle-padding-block:var(--forge-button-toggle-padding-block, 2px);--_button-toggle-padding-inline:var(--forge-button-toggle-padding-inline, 8px);--_button-toggle-icon-size:var(--forge-button-toggle-icon-size, var(--forge-button-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.125)));--_button-toggle-color:var(--forge-button-toggle-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)));--_button-toggle-background:var(--forge-button-toggle-background, transparent);--_button-toggle-hover-background:var(--forge-button-toggle-hover-background, var(--_button-toggle-background));--_button-toggle-active-background:var(--forge-button-toggle-active-background, var(--_button-toggle-background));--_button-toggle-cursor:var(--forge-button-toggle-cursor, pointer);--_button-toggle-border-width:var(--forge-button-toggle-border-width, medium);--_button-toggle-border-style:var(--forge-button-toggle-border-style, none);--_button-toggle-border-color:var(--forge-button-toggle-border-color, var(--forge-theme-outline-medium, #757575));--_button-toggle-shape:var(--forge-button-toggle-shape, var(--forge-shape-small, 2px));--_button-toggle-shape-start-start:var(--forge-button-toggle-shape-start-start, var(--_button-toggle-shape));--_button-toggle-shape-start-end:var(--forge-button-toggle-shape-start-end, var(--_button-toggle-shape));--_button-toggle-shape-end-start:var(--forge-button-toggle-shape-end-start, var(--_button-toggle-shape));--_button-toggle-shape-end-end:var(--forge-button-toggle-shape-end-end, var(--_button-toggle-shape));--_button-toggle-selected-background:var(--forge-button-toggle-selected-background, var(--forge-theme-tertiary-container, #d0d7ff));--_button-toggle-selected-color:var(--forge-button-toggle-selected-color, var(--forge-theme-on-tertiary-container, #213189));--_button-toggle-selected-disabled-background:var(--forge-button-toggle-selected-disabled-background, var(--forge-theme-surface-container, #e0e0e0));--_button-toggle-dense-height:var(--forge-button-toggle-dense-height, 24px);--_button-toggle-disabled-opacity:var(--forge-button-toggle-disabled-opacity, 0.38);--_button-toggle-disabled-cursor:var(--forge-button-toggle-disabled-cursor, not-allowed);--_button-toggle-disabled-color:var(--forge-button-toggle-disabled-color, var(--forge-theme-text-low, rgba(0, 0, 0, 0.38)));--_button-toggle-disabled-background:var(--forge-button-toggle-disabled-background, transparent);--_button-toggle-transition-duration:var(--forge-button-toggle-transition-duration, var(--forge-animation-duration-short3, 150ms));--_button-toggle-transition-timing:var(--forge-button-toggle-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_button-toggle-focus-indicator-color:var(--forge-button-toggle-focus-indicator-color, var(--forge-theme-primary, #3f51b5));--_button-toggle-focus-indicator-offset:var(--forge-button-toggle-focus-indicator-offset, 0px)}.forge-button-toggle{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-button-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-button-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-button-font-size-scale, .875)));font-weight:var(--forge-typography-button-font-weight,500);line-height:var(--forge-typography-button-line-height, normal);letter-spacing:var(--forge-typography-button-letter-spacing, .0714285714em);text-transform:var(--forge-typography-button-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-button-text-decoration,inherit);text-decoration:var(--forge-typography-button-text-decoration,inherit);position:relative;display:var(--_button-toggle-display);-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;gap:var(--_button-toggle-spacing);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;min-inline-size:var(--_button-toggle-min-width);inline-size:100%;border-width:var(--_button-toggle-border-width);border-style:var(--_button-toggle-border-style);border-color:var(--_button-toggle-border-color);border-start-start-radius:var(--_button-toggle-shape-start-start);border-start-end-radius:var(--_button-toggle-shape-start-end);border-end-start-radius:var(--_button-toggle-shape-end-start);border-end-end-radius:var(--_button-toggle-shape-end-end);padding-block:var(--_button-toggle-padding-block);padding-inline:var(--_button-toggle-padding-inline);outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;vertical-align:middle;text-decoration:none;white-space:nowrap;background:var(--_button-toggle-background);color:var(--_button-toggle-color);cursor:var(--_button-toggle-cursor);-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;-webkit-transition-duration:var(--_button-toggle-transition-duration);transition-duration:var(--_button-toggle-transition-duration);-webkit-transition-timing-function:var(--_button-toggle-transition-timing);transition-timing-function:var(--_button-toggle-transition-timing)}.forge-button-toggle forge-state-layer{--forge-state-layer-color:var(--_button-toggle-color)}.forge-button-toggle forge-focus-indicator{--forge-focus-indicator-outward-offset:var(--_button-toggle-focus-indicator-offset);--forge-focus-indicator-color:var(--_button-toggle-focus-indicator-color);--forge-focus-indicator-shape:var(--_button-toggle-shape);--forge-focus-indicator-shape-start-start:var(--_button-toggle-shape-start-start);--forge-focus-indicator-shape-start-end:var(--_button-toggle-shape-start-end);--forge-focus-indicator-shape-end-start:var(--_button-toggle-shape-end-start);--forge-focus-indicator-shape-end-end:var(--_button-toggle-shape-end-end)}::slotted(:is([slot=start],[slot=end])){font-size:var(--_button-toggle-icon-size)}:host([selected]) .forge-button-toggle{--_button-toggle-background:var(--_button-toggle-selected-background);--_button-toggle-color:var(--_button-toggle-selected-color);--_button-toggle-border-color:var(--_button-toggle-background)}:host([disabled]){--_button-toggle-cursor:var(--_button-toggle-disabled-cursor);cursor:not-allowed}:host([disabled]) .forge-button-toggle{--_button-toggle-background:var(--_button-toggle-disabled-background);--_button-toggle-color:var(--_button-toggle-disabled-color);opacity:var(--_button-toggle-disabled-opacity);pointer-events:none}:host([disabled][selected]) .forge-button-toggle{--_button-toggle-background:var(--_button-toggle-selected-disabled-background)}';\n\nexport interface IButtonToggleComponent<T = unknown> extends IWithElementInternals, IWithDefaultAria, IWithFocusable {\n value: T;\n selected: boolean;\n disabled: boolean;\n readonly: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-button-toggle': IButtonToggleComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-button-toggle-select': CustomEvent<IButtonToggleSelectEventData>;\n }\n}\n\nconst BaseButtonToggleClass = WithDefaultAria(WithElementInternals(WithFocusable(BaseComponent)));\n\n/**\n * @tag forge-button-toggle\n * \n * @property {unknown} value - The value of the button toggle.\n * @property {boolean} selected - Whether or not the button is selected.\n * @property {boolean} disabled - Whether or not the button is disabled.\n * @property {boolean} readonly - Whether or not the button is readonly.\n * \n * @attribute {unknown} value - The value of the button toggle.\n * @attribute {boolean} selected - Whether or not the button is selected.\n * @attribute {boolean} disabled - Whether or not the button is disabled.\n * @attribute {boolean} readonly - Whether or not the button is readonly.\n * \n * @event {CustomEvent<IButtonToggleSelectEventData>} forge-button-toggle-select - Dispatches when the user toggles the button.\n * \n * @cssproperty --forge-button-toggle-display - The `display` style for the button toggle container element.\n * @cssproperty --forge-button-toggle-min-width - The minimum width.\n * @cssproperty --forge-button-toggle-spacing - The spacing between the button toggle and its content.\n * @cssproperty --forge-button-toggle-padding-block - The padding on the block axis.\n * @cssproperty --forge-button-toggle-padding-inline - The padding on the inline axis.\n * @cssproperty --forge-button-toggle-icon-size - The font-size of start/end slotted content.\n * @cssproperty --forge-button-toggle-color - The color of the button toggle content.\n * @cssproperty --forge-button-toggle-background - The background of the button toggle.\n * @cssproperty --forge-button-toggle-hover-background - The background of the button toggle when hovered.\n * @cssproperty --forge-button-toggle-active-background - The background of the button toggle when active.\n * @cssproperty --forge-button-toggle-cursor - The cursor of the button toggle.\n * @cssproperty --forge-button-toggle-border-width - The border-width of the button toggle.\n * @cssproperty --forge-button-toggle-border-style - The border-style of the button toggle.\n * @cssproperty --forge-button-toggle-border-color - The border-color of the button toggle.\n * @cssproperty --forge-button-toggle-shape - The shape radius of the button toggle.\n * @cssproperty --forge-button-toggle-shape-start-start - The start-start shape radius of the button toggle.\n * @cssproperty --forge-button-toggle-shape-start-end - The start-end shape radius of the button toggle.\n * @cssproperty --forge-button-toggle-shape-end-start - The end-start shape radius of the button toggle.\n * @cssproperty --forge-button-toggle-shape-end-end - The end-end shape radius of the button toggle.\n * @cssproperty --forge-button-toggle-selected-background - The background of the button toggle when selected.\n * @cssproperty --forge-button-toggle-selected-color - The color of the button toggle content when selected.\n * @cssproperty --forge-button-toggle-selected-disabled-background - The background of the button toggle when selected and disabled.\n * @cssproperty --forge-button-toggle-dense-height - The height of the button toggle when dense.\n * @cssproperty --forge-button-toggle-disabled-opacity - The opacity of the button toggle when disabled.\n * @cssproperty --forge-button-toggle-disabled-cursor - The cursor of the button toggle when disabled.\n * @cssproperty --forge-button-toggle-disabled-color - The color of the button toggle content when disabled.\n * @cssproperty --forge-button-toggle-disabled-background - The background of the button toggle when disabled.\n * @cssproperty --forge-button-toggle-transition-duration - The transition-duration of various properties.\n * @cssproperty --forge-button-toggle-transition-timing - The transition-timing of various properties.\n * @cssproperty --forge-button-toggle-focus-indicator-color - The color of the focus indicator.\n * \n * @csspart root - The root container element.\n * @csspart focus-indicator - The focus indicator element.\n * @csspart state-layer - The state layer surface element.\n * \n * @slot - The default/unnamed slot for the button toggle's content.\n * @slot start - Typically reserved for content/icons that render logically before the default slot content.\n * @slot end - Typically reserved content/icons that render logically after the default slot content.\n */\n@CustomElement({\n name: BUTTON_TOGGLE_CONSTANTS.elementName,\n dependencies: [\n FocusIndicatorComponent,\n StateLayerComponent\n ]\n})\nexport class ButtonToggleComponent<T = unknown> extends BaseButtonToggleClass implements IButtonToggleComponent {\n public static get observedAttributes(): string[] {\n return Object.values(BUTTON_TOGGLE_CONSTANTS.observedAttributes);\n }\n\n private _foundation: ButtonToggleFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ButtonToggleFoundation(new ButtonToggleAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BUTTON_TOGGLE_CONSTANTS.attributes.VALUE:\n this.value = newValue as T;\n return;\n case BUTTON_TOGGLE_CONSTANTS.attributes.SELECTED:\n this.selected = coerceBoolean(newValue);\n return;\n case BUTTON_TOGGLE_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n return;\n case BUTTON_TOGGLE_CONSTANTS.attributes.READONLY:\n this.readonly = coerceBoolean(newValue);\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n @FoundationProperty()\n public declare value: T;\n\n @FoundationProperty()\n public declare selected: boolean;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare readonly: boolean;\n\n public override focus(options?: ExperimentalFocusOptions): void {\n this._foundation.focus(options);\n }\n\n public override click(): void {\n this._foundation.click();\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["ButtonToggleAdapter", "BaseAdapter", "component", "getShadowElement", "FOCUS_INDICATOR_CONSTANTS", "STATE_LAYER_CONSTANTS", "setDefaultAria", "isFocusable", "value", "elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "events", "BUTTON_TOGGLE_CONSTANTS", "ButtonToggleFoundation", "_adapter", "evt", "options", "_evt", "originalSelected", "detail", "BUTTON_TOGGLE_CONSTANTS", "task", "value", "template", "styles", "BaseButtonToggleClass", "WithDefaultAria", "WithElementInternals", "WithFocusable", "BaseComponent", "ButtonToggleComponent", "attachShadowTemplate", "ButtonToggleFoundation", "ButtonToggleAdapter", "BUTTON_TOGGLE_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "options", "__decorateClass", "FoundationProperty", "CustomElement", "FocusIndicatorComponent", "StateLayerComponent"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as c,d as w}from"./chunk.KPC6IS3C.js";import{a as A}from"./chunk.ZY3ETQ3D.js";import{a as n}from"./chunk.NVUMRW44.js";import{a as D,b as O}from"./chunk.RRNSZCVJ.js";import{a as k,e as M,f as u,k as x}from"./chunk.TPXXHX5J.js";import{i as C,s as T,t as y,u as p}from"./chunk.HZUQXCOQ.js";import{c as f,d as E,k as m}from"./chunk.J2M2MXP2.js";import{a as _,d as s}from"./chunk.M3QDAYD2.js";var l=`${O}dialog`,S={ANIMATING:"forge-dialog--animating",OPEN:"forge-dialog--open",ACTION_BUTTON:"forge-dialog__action__button",BUTTON_TEXT:"forge-button__text",SCROLLABLE:"forge-dialog--scrollable",FULLSCREEN:"forge-dialog--fullscreen",MOVEABLE:"forge-dialog--moveable"},v={BACKDROP_CLOSE:"backdrop-close",ESCAPE_CLOSE:"escape-close",FULLSCREEN:"fullscreen",POSITION_TYPE:"position-type",POSITION_X:"position-x",POSITION_Y:"position-y",MOVEABLE:"moveable",MOVE_TARGET:"move-target",OPEN:"open",BODY_OPEN:"forge-dialog-open",INITIAL_FOCUS:"forge-dialog-focus",DFEAULT_MOVE_TARGET:"forge-dialog-move-target"},L={CONTAINER:".forge-dialog",SURFACE:".forge-dialog__surface",BACKDROP:c.elementName,INITIAL_FOCUS:`[${v.INITIAL_FOCUS}]`,DFEAULT_MOVE_TARGET:`[${v.DFEAULT_MOVE_TARGET}]`,CONTENT:".forge-dialog__body"},I={BEFORE_CLOSE:`${l}-before-close`,OPEN:`${l}-open`,CLOSE:`${l}-close`,READY:`${l}-ready`,MOVE_START:`${l}-move-start`,MOVED:`${l}-move`,MOVE_END:`${l}-move-end`},H={ANIMATION_DURATION:150,BACKDROP_MAX_OPACITY:.3},i={elementName:l,classes:S,selectors:L,attributes:v,events:I,numbers:H};var b=class{constructor(t){this._adapter=t;this._open=!1;this._backdropClose=!0;this._escapeClose=!0;this._fullscreen=!1;this._positionType="absolute";this._positionX=null;this._positionY=null;this._moveable=!1;this._moveTarget=i.selectors.DFEAULT_MOVE_TARGET;this._isAnimating=!1;this._isMoving=!1;this._transitionEndHandler=e=>this._onTransitionEnd(),this._documentKeydownHandler=e=>this._onDocumentKeydown(e),this._backdropClickHandler=e=>this._onBackdropClick(e),this._moveTargetMouseDownHandler=e=>this._onMoveTargetMouseDown(e),this._moveTargetMouseMoveHandler=e=>this._onMoveTargetMouseMove(e),this._moveTargetMouseUpHandler=e=>this._onMoveTargetMouseUp(e)}initialize(){this._adapter.initializeAccessibility(),this._open&&this._moveable&&(this._adapter.setMoveable(this._moveable),this._initMoveTarget())}destroy(){this._open&&(this._removeDragHandlers(),this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler),this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler))}async _applyOpen(t){if(t){if(typeof this._openCallback=="function"&&!await this._executeOpenCallback())return;this._open=t,this._openDialog()}else{if(typeof this._closeCallback=="function"&&!await this._executeCloseCallback())return;this._open=t,this._closeDialog()}this._adapter.toggleHostAttribute(i.attributes.OPEN,this._open)}async _executeOpenCallback(){try{return await Promise.resolve(this._openCallback())!==!1}catch(t){return!1}}async _executeCloseCallback(){try{return await Promise.resolve(this._closeCallback())!==!1}catch(t){return!1}}initializeMoveTarget(){this._moveTarget||(this._moveTarget=i.selectors.DFEAULT_MOVE_TARGET),this._initMoveTarget()}resetPosition(){this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType)}async show(t){this._open||(this._open=!0,this._adapter.isConnected||this._adapter.attach(t),await this._openDialog())}async hide(t){this._open&&(this._open=!1,await this._closeDialog(),t&&this._adapter.detach())}_normalizePositionValue(t){return E(t)?`${t}px`:f(t)?t:null}_openDialog(){return this._fullscreen||(this._moveable&&this._adapter.setMoveable(this._moveable),(this._positionX!==null||this._positionY!==null)&&this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType)),this._adapter.setBodyAttribute(i.attributes.BODY_OPEN,"true"),this._adapter.registerTransitionEndHandler(this._transitionEndHandler),this._setDocumentKeydownListener(this._escapeClose),this._adapter.setAnimating(!0),this._isAnimating=!0,window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{this._adapter.setVisibility(!0),this._setBackdropClickListener(this._backdropClose),this._adapter.emitHostEvent(i.events.OPEN),this._adapter.trySetInitialFocus(),this._adapter.isScrollable()&&this._adapter.addRootClass(i.classes.SCROLLABLE)})}),new Promise(t=>{window.setTimeout(()=>{window.requestAnimationFrame(()=>{this._open&&this._isAnimating&&(this._onTransitionEnd(),t())})},i.numbers.ANIMATION_DURATION)})}_closeDialog(){return this._moveTarget&&this._removeDragHandlers(),this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler),this._escapeClose&&this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._backdropClose&&this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler),this._isAnimating=!1,this._moveContext=void 0,this._lastPosition=void 0,this._adapter.setAnimating(!0),this._adapter.setVisibility(!1),this._adapter.setSurfacePosition(null,null,null),new Promise(t=>{setTimeout(()=>{this._adapter.emitHostEvent(i.events.CLOSE),this._adapter.getOpenDialogs(`${i.elementName}[${i.attributes.OPEN}]`).length||this._adapter.removeBodyAttribute(i.attributes.BODY_OPEN),this._adapter.setAnimating(!1),t()},i.numbers.ANIMATION_DURATION)})}_onTransitionEnd(){this._isAnimating&&(this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler),this._adapter.setAnimating(!1),this._adapter.emitHostEvent(i.events.READY),this._moveable&&this._initMoveTarget(),this._isAnimating=!1)}_initMoveTarget(){!this._fullscreen&&this._moveable&&this._moveTarget&&this._adapter.setMoveTarget(this._moveTarget)&&this._adapter.setMoveTargetHandler("mousedown",this._moveTargetMouseDownHandler)}_removeDragHandlers(){this._adapter.removeDragTargetHandler("mousedown",this._moveTargetMouseDownHandler),this._adapter.removeDocumentListener("mousemove",this._moveTargetMouseMoveHandler),this._adapter.removeDocumentListener("mouseup",this._moveTargetMouseUpHandler)}_onMoveTargetMouseDown(t){t.preventDefault(),this._adapter.captureActiveElement();let e=this._adapter.getSurfaceBounds();this._moveContext={top:t.pageY-e.top,left:t.pageX-e.left,height:e.height,width:e.width},this._adapter.setDocumentListener("mousemove",this._moveTargetMouseMoveHandler),this._adapter.setDocumentListener("mouseup",this._moveTargetMouseUpHandler)}_onMoveTargetMouseMove(t){t.preventDefault();let e=this._calculateOffsetPosition(t.pageX,t.pageY,this._moveContext);if(!this._isMoving&&(this._isMoving=!0,!this._adapter.emitHostEvent(i.events.MOVE_START,e,!0,!0)))return;let o=this._clampPosition(e,this._moveContext);if((!this._lastPosition||o.x!==this._lastPosition.x||o.y!==this._lastPosition.y)&&this._adapter.emitHostEvent(i.events.MOVED,o,!0,!0)){this._lastPosition=_({},o);let d=this._normalizePositionValue(o.x),P=this._normalizePositionValue(o.y);this._adapter.setSurfacePosition(d,P,"absolute")}}_onMoveTargetMouseUp(t){this._isMoving&&this._adapter.emitHostEvent(i.events.MOVE_END),this._moveComplete()}_moveComplete(){this._adapter.tryRestoreActiveElement(),this._adapter.removeDocumentListener("mousemove",this._moveTargetMouseMoveHandler),this._adapter.removeDocumentListener("mouseup",this._moveTargetMouseUpHandler),this._lastPosition=void 0,this._moveContext=void 0,this._isMoving=!1}_onDocumentKeydown(t){t.stopPropagation(),t.key&&(t.key==="Escape"||t.key==="Esc")&&this._tryClose()}_onBackdropClick(t){t.stopPropagation(),this._tryClose()}async _tryClose(){if(this._adapter.emitHostEvent(i.events.BEFORE_CLOSE,void 0,void 0,!0)){if(!this._beforeCloseCallback){this.open=!1;return}try{if(await Promise.resolve(this._beforeCloseCallback())!==!1){this.open=!1;return}}catch(e){return}}}_setBackdropClickListener(t){this._open&&(t&&this._backdropClose?this._adapter.registerBackdropClickHandler(this._backdropClickHandler):t||this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler))}_setDocumentKeydownListener(t){this._open&&(t&&this._escapeClose?this._adapter.setDocumentListener("keydown",this._documentKeydownHandler):t||this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler))}_calculateOffsetPosition(t,e,o){return{x:t-((o==null?void 0:o.left)||0),y:e-((o==null?void 0:o.top)||0)}}_clampPosition({x:t,y:e},o){let a=0,d=0;return o&&(a=o.width,d=o.height),t<=0?t=0:t+a>=window.innerWidth&&(t=window.innerWidth-a),e<=0?e=0:e+d>=window.innerHeight&&(e=window.innerHeight-d),{x:t,y:e}}set backdropClose(t){t=!!t,this._backdropClose!==t&&(this._backdropClose=t,this._setBackdropClickListener(this._backdropClose),this._adapter.toggleHostAttribute(i.attributes.BACKDROP_CLOSE,this._backdropClose))}get backdropClose(){return this._backdropClose}set escapeClose(t){t=!!t,this._escapeClose!==t&&(this._escapeClose=!!t,this._setDocumentKeydownListener(this._escapeClose),this._adapter.toggleHostAttribute(i.attributes.ESCAPE_CLOSE,this._escapeClose))}get escapeClose(){return this._escapeClose}get open(){return this._open}set open(t){this._open!==t&&this._applyOpen(!!t)}get fullscreen(){return this._fullscreen}set fullscreen(t){this._fullscreen!==t&&(this._fullscreen=!!t,this._adapter.setFullscreen(this._fullscreen),this._adapter.toggleHostAttribute(i.attributes.FULLSCREEN,this._fullscreen))}get openCallback(){return this._openCallback}set openCallback(t){this._openCallback=t}get closeCallback(){return this._closeCallback}set closeCallback(t){this._closeCallback=t}get beforeCloseCallback(){return this._beforeCloseCallback}set beforeCloseCallback(t){this._beforeCloseCallback=t}get positionType(){return this._positionType}set positionType(t){this._positionType!==t&&(this._positionType=t,this._open&&this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType))}get positionX(){return this._positionX}set positionX(t){this._positionX!==t&&(this._positionX=this._normalizePositionValue(t),this._open&&this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType))}get positionY(){return this._positionY}set positionY(t){this._positionY!==t&&(this._positionY=this._normalizePositionValue(t),this._open&&this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType))}get moveable(){return this._moveable}set moveable(t){this._moveable!==t&&(this._moveable=!!t,this._open&&(this._adapter.setMoveable(this._moveable),this._moveable?this._initMoveTarget():(this._removeDragHandlers(),this._isMoving=!1)),this._adapter.toggleHostAttribute(i.attributes.MOVEABLE,this._moveable))}get moveTarget(){return this._moveTarget}set moveTarget(t){this._moveTarget=t}};var g=class extends A{constructor(e){super(e);this._containerElement=u(e,i.selectors.CONTAINER),this._surfaceElement=u(e,i.selectors.SURFACE)}initializeAccessibility(){this._component.hasAttribute("role")||this._component.setAttribute("role","dialog"),this._component.setAttribute("aria-modal","true")}setAnimating(e){p(this._containerElement,e,i.classes.ANIMATING)}setVisibility(e){p(this._containerElement,e,i.classes.OPEN),this._backdropElement||(this._backdropElement=document.createElement("forge-backdrop"),this._backdropElement.setAttribute("part","scrim"),this._containerElement.appendChild(this._backdropElement)),e?this._backdropElement.fadeIn():this._backdropElement.fadeOut()}attach(e=document.body){e.appendChild(this._component)}detach(){this._activeElement&&(this._activeElement=void 0),C(this._component)}registerTransitionEndHandler(e){this._surfaceElement.addEventListener("transitionend",e)}deregisterTransitionEndHandler(e){this._surfaceElement.removeEventListener("transitionend",e)}setDocumentListener(e,o){document.addEventListener(e,o)}removeDocumentListener(e,o){document.removeEventListener(e,o)}registerBackdropClickHandler(e){var o;(o=this._backdropElement)==null||o.addEventListener(c.events.BACKDROP_CLICK,e)}deregisterBackdropClickHandler(e){var o;(o=this._backdropElement)==null||o.removeEventListener(c.events.BACKDROP_CLICK,e)}getOpenDialogs(e){return document.querySelectorAll(e)}setBodyAttribute(e,o){document.body.setAttribute(e,o)}removeBodyAttribute(e){document.body.removeAttribute(e)}trySetInitialFocus(){let e=T(this._component,i.selectors.INITIAL_FOCUS);e&&e.length&&e[e.length-1].focus()}isScrollable(){let e=this._component.querySelector(i.selectors.CONTENT);return e?e.scrollHeight>e.offsetHeight:!1}addRootClass(e){this._component.classList.add(e)}setFullscreen(e){p(this._containerElement,e,i.classes.FULLSCREEN)}setMoveable(e){p(this._containerElement,e,i.classes.MOVEABLE)}setMoveTarget(e){return e?(this._moveTargetElement=this._component.querySelector(e),!!this._moveTargetElement):!1}setMoveTargetHandler(e,o){var a;(a=this._moveTargetElement)==null||a.addEventListener(e,o)}removeDragTargetHandler(e,o){var a;(a=this._moveTargetElement)==null||a.removeEventListener(e,o)}getSurfaceBounds(){return this._surfaceElement.getBoundingClientRect()}setSurfacePosition(e,o,a){a?this._surfaceElement.style.position=a==="absolute"?a:"relative":this._surfaceElement.style.removeProperty("position"),o!==null?this._surfaceElement.style.top=o:this._surfaceElement.style.removeProperty("top"),e!==null?this._surfaceElement.style.left=e:this._surfaceElement.style.removeProperty("left")}captureActiveElement(){var e;this._activeElement=y(this._component.ownerDocument),(e=this._activeElement)==null||e.blur()}tryRestoreActiveElement(){this._activeElement&&(this._activeElement.isConnected&&this._activeElement.focus(),this._activeElement=void 0)}};var N='<template><div class="forge-dialog" part="root"><div class="forge-dialog__surface" part="surface"><slot></slot></div></div></template>',B='.forge-dialog{position:fixed;top:0;bottom:0;left:0;right:0;z-index:8;z-index:var(--forge-z-index-dialog,8);-webkit-box-align:center;align-items:center;-webkit-box-align:var(--forge-dialog-align-items,center);align-items:var(--forge-dialog-align-items,center);top:0;top:var(--forge-dialog-top,0);padding:24px;padding:var(--forge-dialog-padding,24px);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;visibility:hidden}@media (max-width:599px){.forge-dialog{padding:0}}.forge-dialog--moveable:not(.forge-dialog--fullscreen) ::slotted([forge-dialog-move-target]){cursor:move}.forge-dialog--animating{visibility:visible}.forge-dialog--animating .forge-dialog--open .forge-dialog__surface{-webkit-transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1)}.forge-dialog--animating .forge-dialog__surface{-webkit-transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1)}.forge-dialog--scrollable .forge-dialog__footer,.forge-dialog--scrollable .forge-dialog__title{border-color:rgba(0,0,0,.12)}.forge-dialog--open{visibility:visible!important}.forge-dialog--open .forge-dialog__surface{-webkit-transform:scale(1);transform:scale(1);opacity:1}.forge-dialog__surface{-webkit-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);width:auto;width:var(--forge-dialog-width,auto);height:auto;height:var(--forge-dialog-height,auto);min-width:280px;min-width:var(--forge-dialog-min-width,280px);max-width:100%;max-width:var(--forge-dialog-max-width,100%);max-height:100%;max-height:var(--forge-dialog-max-height,100%);border-radius:4px;border-radius:var(--forge-dialog-border-radius,var(--mdc-shape-medium,4px));overflow:visible;overflow:var(--forge-dialog-overflow,visible);display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform:scale(.8);transform:scale(.8);opacity:0;z-index:inherit}.forge-dialog__header{margin:0;padding:0 24px 9px;border-bottom:1px solid transparent}.forge-dialog__title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1.25rem;font-size:var(--forge-typography-title-font-size, 1.25rem);line-height:2rem;line-height:var(--forge-typography-title-line-height, 2rem);font-weight:400;font-weight:var(--forge-typography-title-font-weight,400);letter-spacing:.0125em;letter-spacing:var(--forge-typography-title-letter-spacing, .0125em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-title-text-decoration,inherit);text-decoration:var(--forge-typography-title-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-title-text-transform,inherit);-webkit-box-sizing:border-box;box-sizing:border-box;margin:0}.forge-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.forge-dialog__body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);padding-top:20px;padding:0 24px 24px;overflow:auto}.forge-dialog__body--scrollable{max-height:195px;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);overflow-x:auto;overflow-y:scroll;-webkit-overflow-scrolling:touch}.forge-dialog__footer{display:-webkit-box;display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:end;justify-content:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid transparent}.forge-dialog--fullscreen{padding:0}.forge-dialog--fullscreen .forge-dialog__surface{height:100%;width:100%;min-width:auto;max-width:100%;border-radius:0}:host{display:block}:host([hidden]){display:none}',r=class extends x{constructor(){super();M(this,N,B),this._foundation=new b(new g(this))}static get observedAttributes(){return[i.attributes.BACKDROP_CLOSE,i.attributes.ESCAPE_CLOSE,i.attributes.OPEN,i.attributes.FULLSCREEN,i.attributes.POSITION_TYPE,i.attributes.POSITION_X,i.attributes.POSITION_Y,i.attributes.MOVEABLE,i.attributes.MOVE_TARGET]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,o,a){switch(e){case i.attributes.BACKDROP_CLOSE:this.backdropClose=a==="true";break;case i.attributes.ESCAPE_CLOSE:this.escapeClose=a==="true";break;case i.attributes.OPEN:this.open=m(a);break;case i.attributes.FULLSCREEN:this.fullscreen=m(a);break;case i.attributes.POSITION_TYPE:this.positionType=a;break;case i.attributes.POSITION_X:this.positionX=a;break;case i.attributes.POSITION_Y:this.positionY=a;break;case i.attributes.MOVEABLE:this.moveable=m(a);break;case i.attributes.MOVE_TARGET:this.moveTarget=a;break}}initializeMoveTarget(){this._foundation.initializeMoveTarget()}resetPosition(){this._foundation.resetPosition()}show(e){return this._foundation.show(e)}hide(e){return this._foundation.hide(e)}};s([n()],r.prototype,"backdropClose",2),s([n()],r.prototype,"escapeClose",2),s([n()],r.prototype,"open",2),s([n()],r.prototype,"fullscreen",2),s([n()],r.prototype,"openCallback",2),s([n()],r.prototype,"closeCallback",2),s([n()],r.prototype,"beforeCloseCallback",2),s([n()],r.prototype,"positionType",2),s([n()],r.prototype,"positionX",2),s([n()],r.prototype,"positionY",2),s([n()],r.prototype,"moveable",2),s([n()],r.prototype,"moveTarget",2),r=s([D({name:i.elementName,dependencies:[w]})],r);function Ee(){k(r)}export{i as a,b,g as c,r as d,Ee as e};
7
+ //# sourceMappingURL=chunk.65WE722H.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/dialog/dialog-constants.ts", "../../src/dialog/dialog-foundation.ts", "../../src/dialog/dialog-adapter.ts", "../../src/dialog/dialog.ts", "../../src/dialog/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { BACKDROP_CONSTANTS } from '../backdrop';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}dialog`;\n\nconst classes = {\n ANIMATING: 'forge-dialog--animating',\n OPEN: 'forge-dialog--open',\n ACTION_BUTTON: 'forge-dialog__action__button',\n BUTTON_TEXT: 'forge-button__text',\n SCROLLABLE: 'forge-dialog--scrollable',\n FULLSCREEN: 'forge-dialog--fullscreen',\n MOVEABLE: 'forge-dialog--moveable'\n};\n\nconst attributes = {\n BACKDROP_CLOSE: 'backdrop-close',\n ESCAPE_CLOSE: 'escape-close',\n FULLSCREEN: 'fullscreen',\n POSITION_TYPE: 'position-type',\n POSITION_X: 'position-x',\n POSITION_Y: 'position-y',\n MOVEABLE: 'moveable',\n MOVE_TARGET: 'move-target',\n OPEN: 'open',\n BODY_OPEN: 'forge-dialog-open',\n INITIAL_FOCUS: 'forge-dialog-focus',\n DFEAULT_MOVE_TARGET: 'forge-dialog-move-target'\n};\n\nconst selectors = {\n CONTAINER: '.forge-dialog',\n SURFACE: '.forge-dialog__surface',\n BACKDROP: BACKDROP_CONSTANTS.elementName,\n INITIAL_FOCUS: `[${attributes.INITIAL_FOCUS}]`,\n DFEAULT_MOVE_TARGET: `[${attributes.DFEAULT_MOVE_TARGET}]`,\n CONTENT: '.forge-dialog__body'\n};\n\nconst events = {\n BEFORE_CLOSE: `${elementName}-before-close`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n READY: `${elementName}-ready`,\n MOVE_START: `${elementName}-move-start`,\n MOVED: `${elementName}-move`,\n MOVE_END: `${elementName}-move-end`\n};\n\nconst numbers = {\n ANIMATION_DURATION: 150,\n BACKDROP_MAX_OPACITY: 0.3\n};\n\nexport const DIALOG_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IDialogMoveEventData {\n x: number;\n y: number;\n}\n\nexport interface IDialogMoveContext {\n top: number;\n left: number;\n height: number;\n width: number;\n}\n\nexport interface IDialogMoveStartEventData extends IDialogMoveEventData {}\n\nexport type DialogPositionType = 'absolute' | 'relative';\nexport type DialogStateCallback = () => boolean | void | Promise<boolean | void>;\n", "import { ICustomElementFoundation, isDefined, isNumber, isString } from '@tylertech/forge-core';\nimport { IDialogAdapter } from './dialog-adapter';\nimport { DialogPositionType, DialogStateCallback, DIALOG_CONSTANTS, IDialogMoveContext, IDialogMoveStartEventData } from './dialog-constants';\n\nexport interface IDialogFoundation extends ICustomElementFoundation {\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n openCallback: DialogStateCallback;\n closeCallback: DialogStateCallback;\n beforeCloseCallback: DialogStateCallback;\n positionType: DialogPositionType;\n positionX: number | string | null | undefined;\n positionY: number | string | null | undefined;\n moveable: boolean;\n moveTarget: string;\n initializeMoveTarget(): void;\n resetPosition(): void;\n show(parent?: HTMLElement): Promise<void>;\n hide(remove?: boolean): Promise<void>;\n}\n\nexport class DialogFoundation implements IDialogFoundation {\n // Private vars\n private _open = false;\n private _backdropClose = true;\n private _escapeClose = true;\n private _fullscreen = false;\n private _openCallback: DialogStateCallback;\n private _closeCallback: DialogStateCallback;\n private _beforeCloseCallback: DialogStateCallback;\n private _positionType: DialogPositionType = 'absolute';\n private _positionX: string | null = null;\n private _positionY: string | null = null;\n private _moveable = false;\n private _moveTarget = DIALOG_CONSTANTS.selectors.DFEAULT_MOVE_TARGET;\n private _isAnimating = false;\n private _isMoving = false;\n private _moveContext: IDialogMoveContext | undefined;\n private _lastPosition: { x: number; y: number } | undefined;\n\n // Event handlers\n private _transitionEndHandler: (evt: TransitionEvent) => void;\n private _documentKeydownHandler: (evt: KeyboardEvent) => void;\n private _backdropClickHandler: (evt: CustomEvent) => void;\n private _moveTargetMouseDownHandler: (evt: MouseEvent) => void;\n private _moveTargetMouseMoveHandler: (evt: MouseEvent) => void;\n private _moveTargetMouseUpHandler: (evt: MouseEvent) => void;\n\n constructor(public _adapter: IDialogAdapter) {\n this._transitionEndHandler = (evt: TransitionEvent) => this._onTransitionEnd();\n this._documentKeydownHandler = (evt: KeyboardEvent) => this._onDocumentKeydown(evt);\n this._backdropClickHandler = (evt: CustomEvent) => this._onBackdropClick(evt);\n this._moveTargetMouseDownHandler = (evt: MouseEvent) => this._onMoveTargetMouseDown(evt);\n this._moveTargetMouseMoveHandler = (evt: MouseEvent) => this._onMoveTargetMouseMove(evt);\n this._moveTargetMouseUpHandler = (evt: MouseEvent) => this._onMoveTargetMouseUp(evt);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n if (this._open) {\n if (this._moveable) {\n this._adapter.setMoveable(this._moveable);\n this._initMoveTarget();\n }\n }\n }\n\n public destroy(): void {\n if (this._open) {\n this._removeDragHandlers();\n this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler);\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private async _applyOpen(value: boolean): Promise<void> {\n if (value) {\n if (typeof this._openCallback === 'function' && !await this._executeOpenCallback()) {\n return;\n }\n this._open = value;\n this._openDialog();\n } else {\n if (typeof this._closeCallback === 'function' && !await this._executeCloseCallback()) {\n return;\n }\n this._open = value;\n this._closeDialog();\n }\n\n this._adapter.toggleHostAttribute(DIALOG_CONSTANTS.attributes.OPEN, this._open);\n }\n\n private async _executeOpenCallback(): Promise<boolean> {\n try {\n return await Promise.resolve(this._openCallback()) !== false;\n } catch (e) {\n return false;\n }\n }\n\n private async _executeCloseCallback(): Promise<boolean> {\n try {\n return await Promise.resolve(this._closeCallback()) !== false;\n } catch (e) {\n return false;\n }\n }\n\n public initializeMoveTarget(): void {\n if (!this._moveTarget) {\n this._moveTarget = DIALOG_CONSTANTS.selectors.DFEAULT_MOVE_TARGET;\n }\n this._initMoveTarget();\n }\n\n public resetPosition(): void {\n this._adapter.setSurfacePosition(this._positionX, this._positionY, this._positionType);\n }\n\n public async show(parent?: HTMLElement): Promise<void> {\n if (this._open) {\n return;\n }\n \n this._open = true;\n if (!this._adapter.isConnected) {\n this._adapter.attach(parent);\n }\n await this._openDialog();\n }\n\n public async hide(remove?: boolean): Promise<void> {\n if (!this._open) {\n return;\n }\n\n this._open = false;\n await this._closeDialog();\n if (remove) {\n this._adapter.detach();\n }\n }\n\n private _normalizePositionValue(value: number | string | null | undefined): string | null {\n if (isNumber(value)) {\n return `${value}px`;\n } else if (isString(value)) {\n return value;\n }\n return null;\n }\n\n private _openDialog(): Promise<void> {\n if (!this._fullscreen) {\n if (this._moveable) {\n this._adapter.setMoveable(this._moveable);\n }\n if (this._positionX !== null || this._positionY !== null) {\n this._adapter.setSurfacePosition(this._positionX, this._positionY, this._positionType);\n }\n }\n\n this._adapter.setBodyAttribute(DIALOG_CONSTANTS.attributes.BODY_OPEN, 'true');\n this._adapter.registerTransitionEndHandler(this._transitionEndHandler);\n this._setDocumentKeydownListener(this._escapeClose);\n this._adapter.setAnimating(true);\n this._isAnimating = true;\n\n // Ensure transitions are triggered properly\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n this._adapter.setVisibility(true);\n this._setBackdropClickListener(this._backdropClose); // Must come after setting visibility because the backdrop may not yet exist\n this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.OPEN);\n this._adapter.trySetInitialFocus();\n if (this._adapter.isScrollable()) {\n this._adapter.addRootClass(DIALOG_CONSTANTS.classes.SCROLLABLE);\n }\n });\n });\n\n return new Promise<void>(resolve => {\n // Wait for the dialog to finish animating open, then emit the ready event and attach any listeners\n window.setTimeout(() => {\n window.requestAnimationFrame(() => {\n if (this._open && this._isAnimating) {\n this._onTransitionEnd();\n resolve();\n }\n });\n }, DIALOG_CONSTANTS.numbers.ANIMATION_DURATION);\n });\n }\n\n private _closeDialog(): Promise<void> {\n if (this._moveTarget) {\n this._removeDragHandlers();\n }\n\n this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler);\n\n if (this._escapeClose) {\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n }\n if (this._backdropClose) {\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n\n this._isAnimating = false;\n this._moveContext = undefined;\n this._lastPosition = undefined;\n this._adapter.setAnimating(true);\n this._adapter.setVisibility(false);\n this._adapter.setSurfacePosition(null, null, null);\n\n return new Promise<void>(resolve => {\n setTimeout(() => {\n this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.CLOSE);\n const openDialogs = this._adapter.getOpenDialogs(`${DIALOG_CONSTANTS.elementName}[${DIALOG_CONSTANTS.attributes.OPEN}]`);\n if (!openDialogs.length) {\n this._adapter.removeBodyAttribute(DIALOG_CONSTANTS.attributes.BODY_OPEN);\n }\n this._adapter.setAnimating(false);\n resolve();\n }, DIALOG_CONSTANTS.numbers.ANIMATION_DURATION);\n });\n }\n\n private _onTransitionEnd(): void {\n if (!this._isAnimating) {\n return;\n }\n\n this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler);\n this._adapter.setAnimating(false);\n this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.READY);\n\n if (this._moveable) {\n this._initMoveTarget();\n }\n \n this._isAnimating = false;\n }\n\n private _initMoveTarget(): void {\n if (!this._fullscreen && this._moveable && this._moveTarget && this._adapter.setMoveTarget(this._moveTarget)) {\n this._adapter.setMoveTargetHandler('mousedown', this._moveTargetMouseDownHandler);\n }\n }\n\n private _removeDragHandlers(): void {\n this._adapter.removeDragTargetHandler('mousedown', this._moveTargetMouseDownHandler);\n this._adapter.removeDocumentListener('mousemove', this._moveTargetMouseMoveHandler);\n this._adapter.removeDocumentListener('mouseup', this._moveTargetMouseUpHandler);\n }\n\n private _onMoveTargetMouseDown(evt: MouseEvent): void {\n evt.preventDefault();\n this._adapter.captureActiveElement();\n const bounds = this._adapter.getSurfaceBounds();\n this._moveContext = {\n top: evt.pageY - bounds.top,\n left: evt.pageX - bounds.left,\n height: bounds.height,\n width: bounds.width\n };\n this._adapter.setDocumentListener('mousemove', this._moveTargetMouseMoveHandler);\n this._adapter.setDocumentListener('mouseup', this._moveTargetMouseUpHandler);\n }\n\n private _onMoveTargetMouseMove(evt: MouseEvent): void {\n evt.preventDefault();\n const position = this._calculateOffsetPosition(evt.pageX, evt.pageY, this._moveContext);\n\n // If this is the beginning of the move sequence, we emit the start event (to allow for preventing default) and\n // then update the surface position if not prevented\n if (!this._isMoving) {\n this._isMoving = true;\n const canDrag = this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.MOVE_START, position as IDialogMoveStartEventData, true, true);\n if (!canDrag) {\n return;\n }\n }\n\n // Ensure that the surface position stays within the bounds of the screen\n const newPosition = this._clampPosition(position, this._moveContext);\n\n // Only update the position if it actually changed\n if (!this._lastPosition || newPosition.x !== this._lastPosition.x || newPosition.y !== this._lastPosition.y) {\n const canMove = this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.MOVED, newPosition as IDialogMoveStartEventData, true, true);\n if (canMove) {\n this._lastPosition = { ...newPosition };\n const newX = this._normalizePositionValue(newPosition.x);\n const newY = this._normalizePositionValue(newPosition.y);\n this._adapter.setSurfacePosition(newX, newY, 'absolute');\n }\n }\n }\n\n private _onMoveTargetMouseUp(evt: MouseEvent): void {\n if (this._isMoving) {\n this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.MOVE_END);\n }\n this._moveComplete();\n }\n\n private _moveComplete(): void {\n this._adapter.tryRestoreActiveElement();\n this._adapter.removeDocumentListener('mousemove', this._moveTargetMouseMoveHandler);\n this._adapter.removeDocumentListener('mouseup', this._moveTargetMouseUpHandler);\n this._lastPosition = undefined;\n this._moveContext = undefined;\n this._isMoving = false;\n }\n\n private _onDocumentKeydown(evt: KeyboardEvent): void {\n evt.stopPropagation();\n if (evt.key && (evt.key === 'Escape' || evt.key === 'Esc')) {\n this._tryClose();\n }\n }\n\n private _onBackdropClick(evt: CustomEvent): void {\n evt.stopPropagation();\n this._tryClose();\n }\n\n private async _tryClose(): Promise<void> {\n const isCancelled = !this._adapter.emitHostEvent(DIALOG_CONSTANTS.events.BEFORE_CLOSE, undefined, undefined, true);\n if (isCancelled) {\n return;\n }\n\n if (!this._beforeCloseCallback) {\n this.open = false;\n return;\n }\n\n try {\n const shouldClose = await Promise.resolve(this._beforeCloseCallback()) !== false;\n if (shouldClose) {\n this.open = false;\n return;\n }\n } catch (err) {\n return;\n }\n }\n\n private _setBackdropClickListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach && this._backdropClose) {\n this._adapter.registerBackdropClickHandler(this._backdropClickHandler);\n } else if (!attach) {\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private _setDocumentKeydownListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach && this._escapeClose) {\n this._adapter.setDocumentListener('keydown', this._documentKeydownHandler);\n } else if (!attach) {\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n }\n }\n\n private _calculateOffsetPosition(pageX: number, pageY: number, context?: IDialogMoveContext): { x: number; y: number } {\n return {\n x: pageX - (context?.left || 0),\n y: pageY - (context?.top || 0)\n };\n }\n\n private _clampPosition({ x, y }: { x: number; y: number }, context?: IDialogMoveContext): { x: number; y: number } {\n let width = 0;\n let height = 0;\n\n if (context) {\n width = context.width;\n height = context.height;\n }\n\n if (x <= 0) {\n x = 0;\n } else if (x + width >= window.innerWidth) {\n x = window.innerWidth - width;\n }\n\n if (y <= 0) {\n y = 0;\n } else if (y + height >= window.innerHeight) {\n y = window.innerHeight - height;\n }\n\n return { x, y };\n }\n\n /** Controls whether clicking the backdrop closes the dialog or not. */\n public set backdropClose(value: boolean) {\n value = Boolean(value);\n if (this._backdropClose !== value) {\n this._backdropClose = value;\n this._setBackdropClickListener(this._backdropClose);\n this._adapter.toggleHostAttribute(DIALOG_CONSTANTS.attributes.BACKDROP_CLOSE, this._backdropClose);\n }\n }\n public get backdropClose(): boolean {\n return this._backdropClose;\n }\n\n /** Controls whether pressing the escape key closes the dialog or not. */\n public set escapeClose(value: boolean) {\n value = Boolean(value);\n if (this._escapeClose !== value) {\n this._escapeClose = !!value;\n this._setDocumentKeydownListener(this._escapeClose);\n this._adapter.toggleHostAttribute(DIALOG_CONSTANTS.attributes.ESCAPE_CLOSE, this._escapeClose);\n }\n }\n public get escapeClose(): boolean {\n return this._escapeClose;\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n this._applyOpen(!!value);\n }\n }\n\n public get fullscreen(): boolean {\n return this._fullscreen;\n }\n public set fullscreen(value: boolean) {\n if (this._fullscreen !== value) {\n this._fullscreen = !!value;\n this._adapter.setFullscreen(this._fullscreen);\n this._adapter.toggleHostAttribute(DIALOG_CONSTANTS.attributes.FULLSCREEN, this._fullscreen);\n }\n }\n\n public get openCallback(): DialogStateCallback {\n return this._openCallback;\n }\n public set openCallback(callback: DialogStateCallback) {\n this._openCallback = callback;\n }\n\n public get closeCallback(): DialogStateCallback {\n return this._closeCallback;\n }\n public set closeCallback(callback: DialogStateCallback) {\n this._closeCallback = callback;\n }\n\n public get beforeCloseCallback(): DialogStateCallback {\n return this._beforeCloseCallback;\n }\n public set beforeCloseCallback(callback: DialogStateCallback) {\n this._beforeCloseCallback = callback;\n }\n\n public get positionType(): DialogPositionType {\n return this._positionType;\n }\n public set positionType(value: DialogPositionType) {\n if (this._positionType !== value) {\n this._positionType = value;\n if (this._open) {\n this._adapter.setSurfacePosition(this._positionX, this._positionY, this._positionType);\n }\n }\n }\n\n public get positionX(): number | string | null | undefined {\n return this._positionX;\n }\n public set positionX(value: number | string | null | undefined) {\n if (this._positionX !== value) {\n this._positionX = this._normalizePositionValue(value);\n if (this._open) {\n this._adapter.setSurfacePosition(this._positionX, this._positionY, this._positionType);\n }\n }\n }\n\n public get positionY(): number | string | null | undefined {\n return this._positionY;\n }\n public set positionY(value: number | string | null | undefined) {\n if (this._positionY !== value) {\n this._positionY = this._normalizePositionValue(value);\n if (this._open) {\n this._adapter.setSurfacePosition(this._positionX, this._positionY, this._positionType);\n }\n }\n }\n\n public get moveable(): boolean {\n return this._moveable;\n }\n public set moveable(value: boolean) {\n if (this._moveable !== value) {\n this._moveable = !!value;\n\n if (this._open) {\n this._adapter.setMoveable(this._moveable);\n if (this._moveable) {\n this._initMoveTarget();\n } else {\n this._removeDragHandlers();\n this._isMoving = false;\n }\n }\n\n this._adapter.toggleHostAttribute(DIALOG_CONSTANTS.attributes.MOVEABLE, this._moveable);\n }\n }\n\n public get moveTarget(): string {\n return this._moveTarget;\n }\n public set moveTarget(value: string) {\n this._moveTarget = value;\n }\n}\n", "import { deepQuerySelectorAll, getActiveElement, getShadowElement, removeElement, toggleClass } from '@tylertech/forge-core';\nimport { BACKDROP_CONSTANTS, IBackdropComponent } from '../backdrop';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IDialogComponent } from './dialog';\nimport { DialogPositionType, DIALOG_CONSTANTS } from './dialog-constants';\n\nexport interface IDialogAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n setAnimating(animating: boolean): void;\n setVisibility(visible: boolean): void;\n attach(parent?: HTMLElement): void;\n detach(): void;\n setDocumentListener(type: string, listener: (evt: Event) => void): void;\n removeDocumentListener(type: string, listener: (evt: Event) => void): void;\n registerTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n deregisterTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n registerBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n deregisterBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n getOpenDialogs: (selector: string) => NodeListOf<HTMLElement>;\n setBodyAttribute: (name: string, value: string) => void;\n removeBodyAttribute: (name: string) => void;\n trySetInitialFocus: () => void;\n isScrollable(): boolean;\n addRootClass(name: string): void;\n setFullscreen(value: boolean): void;\n setMoveable(value: boolean): void;\n setMoveTarget(selector: string): boolean;\n setMoveTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n getSurfaceBounds(): DOMRect;\n setSurfacePosition(x: string | null, y: string | null, positionType: DialogPositionType | null): void;\n captureActiveElement(): void;\n tryRestoreActiveElement(): void;\n}\n\n/**\n * Provides facilities for interacting with the internal DOM of `DialogComponent`.\n */\nexport class DialogAdapter extends BaseAdapter<IDialogComponent> implements IDialogAdapter {\n private _backdropElement?: IBackdropComponent;\n private _containerElement: HTMLElement;\n private _surfaceElement: HTMLElement;\n private _moveTargetElement: HTMLElement | null;\n private _activeElement: HTMLElement | undefined;\n\n constructor(component: IDialogComponent) {\n super(component);\n this._containerElement = getShadowElement(component, DIALOG_CONSTANTS.selectors.CONTAINER);\n this._surfaceElement = getShadowElement(component, DIALOG_CONSTANTS.selectors.SURFACE);\n }\n\n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'dialog');\n }\n this._component.setAttribute('aria-modal', 'true');\n }\n\n public setAnimating(animating: boolean): void {\n toggleClass(this._containerElement, animating, DIALOG_CONSTANTS.classes.ANIMATING);\n }\n\n public setVisibility(visible: boolean): void {\n toggleClass(this._containerElement, visible, DIALOG_CONSTANTS.classes.OPEN);\n\n if (!this._backdropElement) {\n this._backdropElement = document.createElement('forge-backdrop');\n this._backdropElement.setAttribute('part', 'scrim');\n this._containerElement.appendChild(this._backdropElement);\n }\n \n if (visible) {\n this._backdropElement.fadeIn();\n } else {\n this._backdropElement.fadeOut();\n }\n }\n\n public attach(parent: HTMLElement = document.body): void {\n parent.appendChild(this._component);\n }\n\n public detach(): void {\n if (this._activeElement) {\n this._activeElement = undefined;\n }\n removeElement(this._component);\n }\n\n public registerTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._surfaceElement.addEventListener('transitionend', handler);\n }\n\n public deregisterTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._surfaceElement.removeEventListener('transitionend', handler);\n }\n\n public setDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.addEventListener(type, listener);\n }\n\n public removeDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.removeEventListener(type, listener);\n }\n\n public registerBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement?.addEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public deregisterBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement?.removeEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public getOpenDialogs(selector: string): NodeListOf<HTMLElement> {\n return document.querySelectorAll(selector);\n }\n\n public setBodyAttribute(name: string, value: string): void {\n document.body.setAttribute(name, value);\n }\n\n public removeBodyAttribute(name: string): void {\n document.body.removeAttribute(name);\n }\n\n public trySetInitialFocus(): void {\n const elements = deepQuerySelectorAll(this._component, DIALOG_CONSTANTS.selectors.INITIAL_FOCUS);\n if (elements && elements.length) {\n const initialElement = elements[elements.length - 1] as HTMLElement;\n initialElement.focus();\n }\n }\n\n public isScrollable(): boolean {\n const contentElement = this._component.querySelector(DIALOG_CONSTANTS.selectors.CONTENT) as HTMLElement;\n if (contentElement) {\n return contentElement.scrollHeight > contentElement.offsetHeight;\n }\n return false;\n }\n\n public addRootClass(name: string): void {\n this._component.classList.add(name);\n }\n\n public setFullscreen(value: boolean): void {\n toggleClass(this._containerElement, value, DIALOG_CONSTANTS.classes.FULLSCREEN);\n }\n\n public setMoveable(value: boolean): void {\n toggleClass(this._containerElement, value, DIALOG_CONSTANTS.classes.MOVEABLE);\n }\n\n public setMoveTarget(selector: string): boolean {\n if (!selector) {\n return false;\n }\n this._moveTargetElement = this._component.querySelector(selector);\n return !!this._moveTargetElement;\n }\n\n public setMoveTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._moveTargetElement?.addEventListener(type, listener);\n }\n\n public removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._moveTargetElement?.removeEventListener(type, listener);\n }\n\n public getSurfaceBounds(): DOMRect {\n return this._surfaceElement.getBoundingClientRect() as DOMRect;\n }\n\n public setSurfacePosition(x: string | null, y: string | null, positionType: DialogPositionType | null): void {\n if (positionType) {\n this._surfaceElement.style.position = positionType === 'absolute' ? positionType : 'relative';\n } else {\n this._surfaceElement.style.removeProperty('position');\n }\n\n if (y !== null) {\n this._surfaceElement.style.top = y;\n } else {\n this._surfaceElement.style.removeProperty('top');\n }\n\n if (x !== null) {\n this._surfaceElement.style.left = x;\n } else {\n this._surfaceElement.style.removeProperty('left');\n }\n }\n\n public captureActiveElement(): void {\n this._activeElement = getActiveElement(this._component.ownerDocument) as HTMLElement;\n this._activeElement?.blur();\n }\n\n public tryRestoreActiveElement(): void {\n if (this._activeElement) {\n if (this._activeElement.isConnected) {\n this._activeElement.focus();\n }\n this._activeElement = undefined;\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\n\nimport { DialogFoundation } from './dialog-foundation';\nimport { DialogAdapter } from './dialog-adapter';\nimport { DIALOG_CONSTANTS, DialogPositionType, IDialogMoveStartEventData, IDialogMoveEventData, DialogStateCallback } from './dialog-constants';\nimport { BackdropComponent } from '../backdrop';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-dialog\\\" part=\\\"root\\\"><div class=\\\"forge-dialog__surface\\\" part=\\\"surface\\\"><slot></slot></div></div></template>';\nconst styles = '.forge-dialog{position:fixed;top:0;bottom:0;left:0;right:0;z-index:8;z-index:var(--forge-z-index-dialog,8);-webkit-box-align:center;align-items:center;-webkit-box-align:var(--forge-dialog-align-items,center);align-items:var(--forge-dialog-align-items,center);top:0;top:var(--forge-dialog-top,0);padding:24px;padding:var(--forge-dialog-padding,24px);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;visibility:hidden}@media (max-width:599px){.forge-dialog{padding:0}}.forge-dialog--moveable:not(.forge-dialog--fullscreen) ::slotted([forge-dialog-move-target]){cursor:move}.forge-dialog--animating{visibility:visible}.forge-dialog--animating .forge-dialog--open .forge-dialog__surface{-webkit-transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1)}.forge-dialog--animating .forge-dialog__surface{-webkit-transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1);transition:transform 150ms 0s cubic-bezier(0, 0, .2, 1),-webkit-transform 150ms 0s cubic-bezier(0, 0, .2, 1)}.forge-dialog--scrollable .forge-dialog__footer,.forge-dialog--scrollable .forge-dialog__title{border-color:rgba(0,0,0,.12)}.forge-dialog--open{visibility:visible!important}.forge-dialog--open .forge-dialog__surface{-webkit-transform:scale(1);transform:scale(1);opacity:1}.forge-dialog__surface{-webkit-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);width:auto;width:var(--forge-dialog-width,auto);height:auto;height:var(--forge-dialog-height,auto);min-width:280px;min-width:var(--forge-dialog-min-width,280px);max-width:100%;max-width:var(--forge-dialog-max-width,100%);max-height:100%;max-height:var(--forge-dialog-max-height,100%);border-radius:4px;border-radius:var(--forge-dialog-border-radius,var(--mdc-shape-medium,4px));overflow:visible;overflow:var(--forge-dialog-overflow,visible);display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform:scale(.8);transform:scale(.8);opacity:0;z-index:inherit}.forge-dialog__header{margin:0;padding:0 24px 9px;border-bottom:1px solid transparent}.forge-dialog__title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1.25rem;font-size:var(--forge-typography-title-font-size, 1.25rem);line-height:2rem;line-height:var(--forge-typography-title-line-height, 2rem);font-weight:400;font-weight:var(--forge-typography-title-font-weight,400);letter-spacing:.0125em;letter-spacing:var(--forge-typography-title-letter-spacing, .0125em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-title-text-decoration,inherit);text-decoration:var(--forge-typography-title-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-title-text-transform,inherit);-webkit-box-sizing:border-box;box-sizing:border-box;margin:0}.forge-dialog__title::before{display:inline-block;width:0;height:40px;content:\\\"\\\";vertical-align:0}.forge-dialog__body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);padding-top:20px;padding:0 24px 24px;overflow:auto}.forge-dialog__body--scrollable{max-height:195px;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);overflow-x:auto;overflow-y:scroll;-webkit-overflow-scrolling:touch}.forge-dialog__footer{display:-webkit-box;display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:end;justify-content:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid transparent}.forge-dialog--fullscreen{padding:0}.forge-dialog--fullscreen .forge-dialog__surface{height:100%;width:100%;min-width:auto;max-width:100%;border-radius:0}:host{display:block}:host([hidden]){display:none}';\n\nexport interface IDialogComponent extends IBaseComponent {\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n openCallback: DialogStateCallback;\n closeCallback: DialogStateCallback;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n positionType: DialogPositionType;\n positionX: number | string | null | undefined;\n positionY: number | string | null | undefined;\n moveable: boolean;\n moveTarget: string;\n initializeMoveTarget(): void;\n resetPosition(): void;\n show(parent?: HTMLElement): Promise<void>;\n hide(remove?: boolean): Promise<void>;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-dialog': IDialogComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-dialog-before-close': CustomEvent<void>;\n 'forge-dialog-open': CustomEvent<void>;\n 'forge-dialog-close': CustomEvent<void>;\n 'forge-dialog-ready': CustomEvent<void>;\n 'forge-dialog-move-start': CustomEvent<IDialogMoveStartEventData>;\n 'forge-dialog-move': CustomEvent<IDialogMoveEventData>;\n 'forge-dialog-move-end': CustomEvent<void>;\n }\n}\n\n/**\n * The web component class behind the `<forge-dialog>` custom element.\n * \n * @tag forge-dialog\n */\n@CustomElement({\n name: DIALOG_CONSTANTS.elementName,\n dependencies: [BackdropComponent]\n})\nexport class DialogComponent extends BaseComponent implements IDialogComponent {\n public static get observedAttributes(): string[] {\n return [\n DIALOG_CONSTANTS.attributes.BACKDROP_CLOSE,\n DIALOG_CONSTANTS.attributes.ESCAPE_CLOSE,\n DIALOG_CONSTANTS.attributes.OPEN,\n DIALOG_CONSTANTS.attributes.FULLSCREEN,\n DIALOG_CONSTANTS.attributes.POSITION_TYPE,\n DIALOG_CONSTANTS.attributes.POSITION_X,\n DIALOG_CONSTANTS.attributes.POSITION_Y,\n DIALOG_CONSTANTS.attributes.MOVEABLE,\n DIALOG_CONSTANTS.attributes.MOVE_TARGET\n ];\n }\n\n private _foundation: DialogFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new DialogFoundation(new DialogAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case DIALOG_CONSTANTS.attributes.BACKDROP_CLOSE:\n this.backdropClose = newValue === 'true';\n break;\n case DIALOG_CONSTANTS.attributes.ESCAPE_CLOSE:\n this.escapeClose = newValue === 'true';\n break;\n case DIALOG_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case DIALOG_CONSTANTS.attributes.FULLSCREEN:\n this.fullscreen = coerceBoolean(newValue);\n break;\n case DIALOG_CONSTANTS.attributes.POSITION_TYPE:\n this.positionType = newValue as DialogPositionType;\n break;\n case DIALOG_CONSTANTS.attributes.POSITION_X:\n this.positionX = newValue;\n break;\n case DIALOG_CONSTANTS.attributes.POSITION_Y:\n this.positionY = newValue;\n break;\n case DIALOG_CONSTANTS.attributes.MOVEABLE:\n this.moveable = coerceBoolean(newValue);\n break;\n case DIALOG_CONSTANTS.attributes.MOVE_TARGET:\n this.moveTarget = newValue;\n break;\n }\n }\n\n /** Controls whether clicking the backdrop closes the dialog or not. Default is true. */\n @FoundationProperty()\n public declare backdropClose: boolean;\n\n /** Controls whether pressing the escape key closes the dialog or not. Default is true. */\n @FoundationProperty()\n public declare escapeClose: boolean;\n\n /** Controls whether the dialog is open or not. Default is false. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Controls whether the dialog is full screen or not. Default is false. */\n @FoundationProperty()\n public declare fullscreen: boolean;\n\n /** The function to call when the dialog wants to open. */\n @FoundationProperty()\n public declare openCallback: DialogStateCallback;\n\n /** the function to call when the dialog wants to close. */\n @FoundationProperty()\n public declare closeCallback: DialogStateCallback;\n\n /** the function to call when the dialog wants to close. */\n @FoundationProperty()\n public declare beforeCloseCallback: () => boolean | Promise<boolean>;\n\n /** Gets/sets the position type when using custom positioning values. Default is 'absolute'. */\n @FoundationProperty()\n public declare positionType: DialogPositionType;\n\n /** Controls the horizontal position of the dialog surface. */\n @FoundationProperty()\n public declare positionX: number | string | null | undefined;\n\n /** Controls the vertical position of the dialog surface. */\n @FoundationProperty()\n public declare positionY: number | string | null | undefined;\n\n /** Gets/sets whether the dialog surface can be moved or not. */\n @FoundationProperty()\n public declare moveable: boolean;\n\n /** Gets/sets the selector used to target the element that is used as the drag target. */\n @FoundationProperty()\n public declare moveTarget: string;\n\n public initializeMoveTarget(): void {\n this._foundation.initializeMoveTarget();\n }\n\n public resetPosition(): void {\n this._foundation.resetPosition();\n }\n\n public show(parent?: HTMLElement): Promise<void> {\n return this._foundation.show(parent);\n }\n public hide(remove?: boolean): Promise<void> {\n return this._foundation.hide(remove);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { DialogComponent } from './dialog';\n\nexport * from './dialog-adapter';\nexport * from './dialog-constants';\nexport * from './dialog-foundation';\nexport * from './dialog';\n\nexport function defineDialogComponent(): void {\n defineCustomElement(DialogComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "attributes", "selectors", "BACKDROP_CONSTANTS", "events", "numbers", "DIALOG_CONSTANTS", "DialogFoundation", "_adapter", "DIALOG_CONSTANTS", "evt", "value", "e", "parent", "remove", "isNumber", "isString", "resolve", "bounds", "position", "newPosition", "__spreadValues", "newX", "newY", "err", "attach", "pageX", "pageY", "context", "x", "y", "width", "height", "callback", "DialogAdapter", "BaseAdapter", "component", "getShadowElement", "DIALOG_CONSTANTS", "animating", "toggleClass", "visible", "parent", "removeElement", "handler", "type", "listener", "_a", "BACKDROP_CONSTANTS", "selector", "name", "value", "elements", "deepQuerySelectorAll", "contentElement", "x", "y", "positionType", "getActiveElement", "template", "styles", "DialogComponent", "BaseComponent", "attachShadowTemplate", "DialogFoundation", "DialogAdapter", "DIALOG_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "parent", "remove", "__decorateClass", "FoundationProperty", "CustomElement", "BackdropComponent", "defineDialogComponent", "defineCustomElement", "DialogComponent"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as q}from"./chunk.7SYU6KRU.js";import{a as T}from"./chunk.INQZNXG6.js";import{a as z}from"./chunk.GHMAI3SM.js";import{d as N}from"./chunk.5LCWC3A7.js";import{p as P}from"./chunk.HJUFU2PV.js";import{a as F,b as H}from"./chunk.H6MMHAQI.js";import{c as _}from"./chunk.BX4AQRHB.js";import{a as I}from"./chunk.ZY3ETQ3D.js";import{a as u}from"./chunk.NVUMRW44.js";import{a as L,b as A,g as w,h as x,i as D,j as p,k as S,l as h,m as c}from"./chunk.RRNSZCVJ.js";import{a as E,e as R,f,k as C}from"./chunk.TPXXHX5J.js";import{k as b}from"./chunk.J2M2MXP2.js";import{d as l}from"./chunk.M3QDAYD2.js";var d=class d{static getRadioGroup(e){if(!e.name)return[e];if(!e.form){let a=e.getRootNode().querySelectorAll(`${i.elementName}[name=${e.name}]`);return Array.from(a).filter(o=>!o.form)}let t=e.form.elements.namedItem(e.name);return t&&Object.prototype.isPrototypeOf.call(RadioNodeList.prototype,t)?Array.from(t).filter(r=>r.matches(i.elementName)):[e]}static setRadioGroupValidity(e){let t=d.getRadioGroup(e),r=d._selectionIsRequired(t);t.forEach(a=>{let o=a[D]({required:r,checked:a.checked});a[p].setValidity({valueMissing:r},o),a[c]({ariaInvalid:r?"true":"false"})})}static setSelectedRadioInGroup(e){d.getRadioGroup(e).forEach(r=>r.checked=r===e)}static focusNextRadioInGroup(e){d._updateRadioGroupFocus(e,1)}static focusPreviousRadioInGroup(e){d._updateRadioGroupFocus(e,-1)}static setUncheckedRadioGroupFocus(e,t){let r=d.getRadioGroup(e);if(t==="focus"){r.forEach(a=>a[h]=a===e);return}(!e.checked||r[0]===e||r[r.length-1]===e)&&r.forEach(a=>a[h]=!0)}static async requestRadioGroupReset(e){if(this._radiosRequestingReset.add(e),await _(),!this._radiosRequestingReset.has(e))return;let t=d.getRadioGroup(e),r=null;t.forEach(a=>{this._radiosRequestingReset.delete(a),a.defaultChecked&&(r=a)}),t.forEach(a=>{a.checked=a===r,a[h]=!r||a.checked})}static _updateRadioGroupFocus(e,t){let r=d.getRadioGroup(e),a=r.indexOf(e),o=r[a];do if(a+=t,a<0?a=r.length-1:a>=r.length&&(a=0),o=r[a],o===e)return;while(o.disabled||o.readonly);o[m]()&&(o[h]=!0,o.focus(),r.forEach(k=>{k!==o&&(k[h]=!1,k.checked=!1)}))}static _selectionIsRequired(e){let t=!1,r=!1;return e.forEach(a=>{a.required&&(t=!0),a.checked&&(r=!0)}),t&&!r}};d._radiosRequestingReset=new WeakSet;var n=d;var O=`${A}radio`,G={CHECKED:"checked",DEFAULT_CHECKED:"default-checked",VALUE:"value",DENSE:"dense",DISABLED:"disabled",REQUIRED:"required",READONLY:"readonly",LABEL_POSITION:"label-position",TABINDEX:"tabindex"},U={ROOT:".forge-radio",LABEL:"#label",STATE_LAYER:"forge-state-layer"},B={CHANGE:"change",INPUT:"input"},i={elementName:O,attributes:G,selectors:U,events:B},m=Symbol("tryCheck");var v=class extends I{constructor(t){super(t);this._rootElement=f(t,i.selectors.ROOT),this._labelElement=f(t,i.selectors.LABEL),this._stateLayerElement=f(t,i.selectors.STATE_LAYER)}setChecked(t,r){this._component[c]({ariaChecked:t?"true":"false"}),t&&n.setSelectedRadioInGroup(this._component);let a=t?r:null,o=t?"checked":"unchecked";this._component[p].setFormValue(a,o),n.setRadioGroupValidity(this._component)}trySetDisabled(t){let r=this._component.closest("forge-radio-group");return!t&&r&&r.disabled?!1:(this._component[c]({ariaDisabled:`${!!t}`}),this._component[h]=!t,!0)}setRequired(t){this._component[c]({ariaRequired:t?"true":"false"},{setAttribute:!0}),n.setRadioGroupValidity(this._component)}setReadonly(t){this._component[c]({ariaDisabled:`${!!t}`})}disableStateLayer(t){this._stateLayerElement.disabled=t}setLabelPosition(t){this._labelElement.remove(),t==="start"?this._rootElement.prepend(this._labelElement):this._rootElement.append(this._labelElement)}setUncheckedRadioGroupFocus(t){n.setUncheckedRadioGroupFocus(this._component,t)}focusNext(){n.focusNextRadioInGroup(this._component)}focusPrevious(){n.focusPreviousRadioInGroup(this._component)}};var g=class{constructor(e){this._adapter=e;this._checked=!1;this._defaultChecked=!1;this._value="on";this._disabled=!1;this._required=!1;this._readonly=!1;this._dense=!1;this._labelPosition="end";this._focusListener=()=>this._handleFocus(),this._blurListener=()=>this._handleBlur(),this._clickListener=t=>this._handleClick(t),this._keydownListener=t=>this._handleKeydown(t),this._keyupListener=t=>this._handleKeyup(t)}initialize(){this._adapter.addHostListener("focus",this._focusListener),this._adapter.addHostListener("blur",this._blurListener),this._adapter.addHostListener("click",this._clickListener),this._adapter.addHostListener("keydown",this._keydownListener),this._adapter.addHostListener("keyup",this._keyupListener)}tryCheck(){return this._checked=!0,this._dispatchEvents()?(this._adapter.setChecked(this._checked,this._value),this._adapter.toggleHostAttribute(i.attributes.CHECKED,this._checked),!0):(this._checked=!1,!1)}_handleFocus(){this._checked||this._adapter.setUncheckedRadioGroupFocus("focus")}_handleBlur(){this._checked||this._adapter.setUncheckedRadioGroupFocus("blur")}_handleClick(e){this._activate(e)}_handleKeydown(e){switch(e.key){case"ArrowRight":case"ArrowDown":e.preventDefault(),this._adapter.focusNext();break;case"ArrowLeft":case"ArrowUp":e.preventDefault(),this._adapter.focusPrevious();break;case" ":e.preventDefault();break}}_handleKeyup(e){e.key===" "&&this._activate(e)}async _activate(e){if(!(this._checked||this._disabled||this._readonly)&&(await _(),!e.defaultPrevented)){if(this._checked=!0,!this._dispatchEvents()){this._checked=!1;return}this._adapter.setChecked(this._checked,this._value),this._adapter.toggleHostAttribute(i.attributes.CHECKED,this._checked)}}_dispatchEvents(){let e=new Event(i.events.CHANGE,{bubbles:!0,cancelable:!0}),t=new Event(i.events.INPUT,{bubbles:!0,cancelable:!0,composed:!0});return this._adapter.dispatchHostEvent(new Event(i.events.CHANGE,{bubbles:!0,cancelable:!0})),this._adapter.dispatchHostEvent(new Event(i.events.INPUT,{bubbles:!0,cancelable:!0,composed:!0})),!(e.defaultPrevented||t.defaultPrevented)}get checked(){return this._checked}set checked(e){this._checked!==e&&(this._checked=e,this._adapter.setChecked(this._checked,this._value),this._adapter.toggleHostAttribute(i.attributes.CHECKED,this._checked))}get defaultChecked(){return this._defaultChecked}set defaultChecked(e){this._defaultChecked!==e&&(this._defaultChecked=e,this._adapter.toggleHostAttribute(i.attributes.DEFAULT_CHECKED,this._defaultChecked))}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this._adapter.setHostAttribute(i.attributes.VALUE,this._value))}get disabled(){return this._disabled}set disabled(e){this._disabled!==e&&(this._disabled=e,this._adapter.trySetDisabled(this._disabled)?(this._adapter.disableStateLayer(this._disabled||this._readonly),this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled)):this._disabled=!this._disabled)}get required(){return this._required}set required(e){this._required!==e&&(this._required=e,this._adapter.setRequired(this._required),this._adapter.toggleHostAttribute(i.attributes.REQUIRED,this._required))}get readonly(){return this._readonly}set readonly(e){this._readonly!==e&&(this._readonly=e,this._adapter.setReadonly(this._readonly),this._adapter.disableStateLayer(this._disabled||this._readonly),this._adapter.toggleHostAttribute(i.attributes.READONLY,this._readonly))}get dense(){return this._dense}set dense(e){this._dense!==e&&(this._dense=e,this._adapter.toggleHostAttribute(i.attributes.DENSE,this._dense))}get labelPosition(){return this._labelPosition}set labelPosition(e){this._labelPosition!==e&&(this._labelPosition=e,this._adapter.setLabelPosition(this._labelPosition),this._adapter.setHostAttribute(i.attributes.LABEL_POSITION,this._labelPosition))}};var K='<template><div id="radio" class="forge-radio" part="radio"><div id="container" class="container" aria-hidden="true"><div id="background" class="background" part="background"></div><forge-focus-indicator target=":host" part="focus-indicator"></forge-focus-indicator><forge-state-layer exportparts="surface:state-layer"></forge-state-layer></div><span id="label" class="label" for="input" part="label"><slot></slot></span></div></template>',W=':host{display:inline-block;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host(:focus){outline:0}.forge-radio{--_radio-primary-color:var(--forge-radio-primary-color, var(--forge-theme-tertiary, #3d5afe));--_radio-inactive-color:var(--forge-radio-inactive-color, var(--forge-theme-surface-container-high, #9e9e9e));--_radio-size:var(--forge-radio-size, 20px);--_radio-mark-size:var(--forge-radio-mark-size, 12px);--_radio-state-layer-size:var(--forge-radio-state-layer-size, 40px);--_radio-state-layer-dense-size:var(--forge-radio-state-layer-dense-size, 24px);--_radio-width:var(--forge-radio-width, var(--_radio-size));--_radio-height:var(--forge-radio-height, var(--_radio-size));--_radio-border-width:var(--forge-radio-border-width, var(--forge-border-medium, 2px));--_radio-unchecked-border-color:var(--forge-radio-unchecked-border-color, var(--_radio-inactive-color));--_radio-checked-border-color:var(--forge-radio-checked-border-color, var(--_radio-primary-color));--_radio-background:var(--forge-radio-background, transparent);--_radio-shape:var(--forge-radio-shape, var(--forge-shape-round, 50%));--_radio-mark-width:var(--forge-radio-mark-width, var(--_radio-mark-size));--_radio-mark-height:var(--forge-radio-mark-height, var(--_radio-mark-size));--_radio-mark-unchecked-color:var(--forge-radio-mark-unchecked-color, var(--_radio-inactive-color));--_radio-mark-checked-color:var(--forge-radio-mark-checked-color, var(--_radio-primary-color));--_radio-mark-unchecked-background:var(--forge-radio-mark-unchecked-background, transparent);--_radio-mark-checked-background:var(--forge-radio-mark-checked-background, transparent);--_radio-gap:var(--forge-radio-gap, 0);--_radio-justify:var(--forge-radio-justify, space-between);--_radio-direction:var(--forge-radio-direction, initial);--_radio-state-layer-width:var(--forge-radio-state-layer-width, var(--_radio-state-layer-size));--_radio-state-layer-height:var(--forge-radio-state-layer-height, var(--_radio-state-layer-size));--_radio-state-layer-unchecked-color:var(--forge-radio-state-layer-unchecked-color, var(--_radio-color));--_radio-state-layer-checked-color:var(--forge-radio-state-layer-checked-color, var(--_radio-primary-color));--_radio-state-layer-shape:var(--forge-radio-state-layer-shape, var(--_radio-shape));--_radio-state-layer-dense-width:var(--forge-radio-state-layer-dense-width, var(--_radio-state-layer-dense-size));--_radio-state-layer-dense-height:var(--forge-radio-state-layer-dense-height, var(--_radio-state-layer-dense-size));--_radio-disabled-opacity:var(--forge-radio-disabled-opacity, 0.38);--_radio-animation-duration:var(--forge-radio-animation-duration, var(--forge-animation-duration-short4, 200ms));--_radio-animation-timing-function:var(--forge-radio-animation-timing-function, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)));--_radio-animation-delay:var(--forge-radio-animation-delay, 0ms)}.forge-radio{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:var(--_radio-direction);flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:var(--_radio-justify);justify-content:var(--_radio-justify);gap:var(--_radio-gap);display:-webkit-box;display:flex}.forge-radio .container{position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;display:-webkit-box;display:flex;border-radius:var(--_radio-shape);inline-size:var(--_radio-state-layer-width);block-size:var(--_radio-state-layer-height);cursor:pointer}.forge-radio .background{position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;display:-webkit-box;display:flex;overflow:hidden;-webkit-transition-duration:var(--_radio-animation-duration);transition-duration:var(--_radio-animation-duration);-webkit-transition-delay:var(--_radio-animation-delay);transition-delay:var(--_radio-animation-delay);-webkit-transition-timing-function:var(--_radio-animation-timing-function);transition-timing-function:var(--_radio-animation-timing-function);-webkit-transition-property:border-color;transition-property:border-color;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:var(--_radio-shape);border-width:var(--_radio-border-width);border-style:solid;border-color:var(--_radio-unchecked-border-color);inline-size:var(--_radio-width);block-size:var(--_radio-height);background:var(--_radio-background)}.forge-radio .background::after{content:"";position:absolute;contain:strict;-webkit-transition-duration:var(--_radio-animation-duration);transition-duration:var(--_radio-animation-duration);-webkit-transition-delay:var(--_radio-animation-delay);transition-delay:var(--_radio-animation-delay);-webkit-transition-timing-function:var(--_radio-animation-timing-function);transition-timing-function:var(--_radio-animation-timing-function);-webkit-transition-property:inline-size,block-size,border-color;transition-property:inline-size,block-size,border-color;border-radius:var(--_radio-shape);border-width:calc(var(--_radio-mark-height)/ 2) calc(var(--_radio-mark-width)/ 2);border-color:var(--_radio-mark-unchecked-color);border-style:solid;inline-size:calc(var(--_radio-width) - 2 * var(--_radio-border-width));block-size:calc(var(--_radio-height) - 2 * var(--_radio-border-width));background:var(--_radio-mark-unchecked-background)}.forge-radio .label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-label-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label-font-weight,400);line-height:var(--forge-typography-label-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label-text-decoration,inherit);text-decoration:var(--forge-typography-label-text-decoration,inherit);cursor:default}.forge-radio .label:empty{display:none}:host([checked]) .forge-radio .background{border-color:var(--_radio-checked-border-color)}:host([checked]) .forge-radio .background::after{border-color:var(--_radio-mark-checked-color);inline-size:0px;block-size:0px;background:var(--_radio-mark-checked-background)}:host([checked]) forge-state-layer{--forge-state-layer-color:var(--_radio-state-layer-checked-color)}:host([dense]) .forge-radio .container{inline-size:var(--_radio-state-layer-dense-width);block-size:var(--_radio-state-layer-dense-height)}:host([disabled]) .forge-radio{opacity:var(--_radio-disabled-opacity)}:host([disabled]) .forge-radio .container{cursor:not-allowed}:host([readonly]) .forge-radio .container{cursor:not-allowed}forge-focus-indicator{--forge-focus-indicator-color:var(--_radio-primary-color);--forge-focus-indicator-outward-offset:0px;--forge-focus-indicator-shape:var(--_radio-state-layer-shape)}forge-state-layer{--forge-state-layer-color:var(--_radio-state-layer-unchecked-color)}',M=q(T(z(H(F(C))))),s=class extends M{constructor(){super();R(this,K,W),this[S]="radio",this._foundation=new g(new v(this))}static get observedAttributes(){return[i.attributes.CHECKED,i.attributes.DEFAULT_CHECKED,i.attributes.VALUE,i.attributes.DENSE,i.attributes.DISABLED,i.attributes.REQUIRED,i.attributes.READONLY,i.attributes.LABEL_POSITION,i.attributes.TABINDEX]}connectedCallback(){super.connectedCallback(),this[c]({role:"radio",ariaChecked:this.checked?"true":"false",ariaDisabled:this.disabled?"true":"false",ariaInvalid:this[p].validity.valid?"false":"true",ariaRequired:this.required?"true":"false"}),this._foundation.initialize()}attributeChangedCallback(t,r,a){switch(t){case i.attributes.CHECKED:this._foundation.checked=b(a);break;case i.attributes.DEFAULT_CHECKED:this._foundation.defaultChecked=b(a);break;case i.attributes.VALUE:this.value=a;break;case i.attributes.DENSE:this.dense=b(a);break;case i.attributes.DISABLED:this.disabled=b(a);break;case i.attributes.REQUIRED:this.required=b(a);break;case i.attributes.READONLY:this.readonly=b(a);break;case i.attributes.LABEL_POSITION:this.labelPosition=a;break}super.attributeChangedCallback(t,r,a)}[w](){return this.checked?this.value:null}[x](){return this.checked?"checked":"unchecked"}formResetCallback(){n.requestRadioGroupReset(this)}formStateRestoreCallback(t){this.checked=t==="checked"}labelClickedCallback(){this.click()}labelChangedCallback(t){this[c]({ariaLabel:t})}[m](){return this._foundation.tryCheck()}};l([u()],s.prototype,"checked",2),l([u()],s.prototype,"defaultChecked",2),l([u()],s.prototype,"value",2),l([u()],s.prototype,"dense",2),l([u()],s.prototype,"disabled",2),l([u()],s.prototype,"required",2),l([u()],s.prototype,"readonly",2),l([u()],s.prototype,"labelPosition",2),s=l([L({name:i.elementName,dependencies:[N,P]})],s);function He(){E(s)}export{i as a,m as b,v as c,g as d,s as e,He as f};
7
+ //# sourceMappingURL=chunk.6IPX5C4B.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/radio/core/radio-group-manager.ts", "../../src/radio/radio/radio-constants.ts", "../../src/radio/radio/radio-adapter.ts", "../../src/radio/radio/radio-foundation.ts", "../../src/radio/radio/radio.ts", "../../src/radio/radio/index.ts"],
4
+ "sourcesContent": ["import { getValidationMessage, internals, isFocusable, setDefaultAria } from '../../constants';\nimport { task } from '../../core/utils/event-utils';\nimport { IRadioComponent, RADIO_CONSTANTS, tryCheck } from '../radio';\n\n/**\n * A class for coordinating the states of radio components within a radio group.\n */\nexport class RadioGroupManager {\n private static _radiosRequestingReset = new WeakSet<IRadioComponent>();\n\n /**\n * Returns an array of IRadioComponents that belong to the same radio group as the given\n * IRadioComponent.\n * If the given IRadioComponent does not have an associated form element, it searches the root\n * node for all IRadioComponents with the same name.\n * If the given IRadioComponent has an associated form element, it gets all RadioComponents with\n * the same name from the form element.\n * \n * @param el - The IRadioComponent to get the radio group for.\n * @returns An array of IRadioComponents that belong to the same radio group as the given\n * IRadioComponent.\n */\n public static getRadioGroup(el: IRadioComponent): IRadioComponent[] {\n // If there's no name, it's not part of a radio group\n if (!el.name) {\n return [el];\n }\n\n // If there's no associated form element search the root node\n if (!el.form) {\n const root = el.getRootNode() as ShadowRoot | Document;\n const namedRadios = root.querySelectorAll<IRadioComponent>(`${RADIO_CONSTANTS.elementName}[name=${el.name}]`);\n return Array.from(namedRadios).filter(radio => !radio.form);\n }\n\n // When there is a form element, get all RadioComponents with the same name\n const formRadios = el.form.elements.namedItem(el.name);\n if (formRadios && Object.prototype.isPrototypeOf.call(RadioNodeList.prototype, formRadios)) {\n return Array.from(formRadios as RadioNodeList)\n .filter((radio: HTMLElement) => radio.matches(RADIO_CONSTANTS.elementName)) as IRadioComponent[];\n }\n return [el];\n }\n\n /**\n * Sets the validity of a radio group.\n * If no radio is selected in the group and selection is required, it sets the validity to\n * `valueMissing`.\n * \n * @param el A radio component within the group to set the validity for.\n */\n public static setRadioGroupValidity(el: IRadioComponent): void {\n const group = RadioGroupManager.getRadioGroup(el);\n const invalid = RadioGroupManager._selectionIsRequired(group);\n \n group.forEach(radio => {\n const validationMessage = radio[getValidationMessage]({\n required: invalid,\n checked: radio.checked\n });\n radio[internals].setValidity({ valueMissing: invalid }, validationMessage);\n radio[setDefaultAria]({ 'ariaInvalid': invalid ? 'true' : 'false' });\n });\n }\n\n /**\n * Sets the selected radio in a radio group.\n * \n * @param el - The radio component to set as selected.\n */\n public static setSelectedRadioInGroup(el: IRadioComponent): void {\n const group = RadioGroupManager.getRadioGroup(el);\n group.forEach(radio => radio.checked = radio === el);\n }\n\n /**\n * Focuses the next radio in the radio group.\n * \n * @param el - The currently focused radio component.\n */\n public static focusNextRadioInGroup(el: IRadioComponent): void {\n RadioGroupManager._updateRadioGroupFocus(el, 1);\n }\n\n /**\n * Focuses the previous radio in the radio group.\n * \n * @param el - The currently focused radio component.\n */\n public static focusPreviousRadioInGroup(el: IRadioComponent): void {\n RadioGroupManager._updateRadioGroupFocus(el, -1);\n }\n\n /**\n * Adds or removes each radio in a radio group from the tab order. When no radio is selected and\n * focus is not in the group, all radios are added to the tab order. Otherwise only the selected\n * radio is added to the tab order.\n * \n * @param el - The focused or blurred radio component.\n * @param event - The event type (`'focus'` or `'blur'`).\n */\n public static setUncheckedRadioGroupFocus(el: IRadioComponent, event: 'focus' | 'blur'): void {\n const group = RadioGroupManager.getRadioGroup(el);\n \n if (event === 'focus') {\n group.forEach(radio => radio[isFocusable] = radio === el);\n return;\n }\n\n if (!el.checked || group[0] === el || group[group.length - 1] === el) {\n group.forEach(radio => radio[isFocusable] = true);\n }\n }\n\n /**\n * Resets a radio group to . This will run once each radio has a chance to\n * update.\n * \n * @param el - The radio component requesting the reset.\n * @returns A promise that resolves when the reset logic is complete.\n */\n public static async requestRadioGroupReset(el: IRadioComponent): Promise<void> {\n this._radiosRequestingReset.add(el);\n\n // Wait for any other radios in the group to request a reset. The reset logic should only run\n // once per group\n await task();\n\n // If the radio has been removed from the set, its group has already been reset and we can\n // skip it\n if (!this._radiosRequestingReset.has(el)) {\n return;\n }\n \n const group = RadioGroupManager.getRadioGroup(el);\n let checkedRadio: IRadioComponent | null = null;\n\n // The first loop removes each radio in the group from the set and stores the radio that should\n // be checked, if any\n group.forEach(radio => {\n this._radiosRequestingReset.delete(radio);\n \n if (radio.defaultChecked) {\n checkedRadio = radio;\n }\n });\n\n // The second loop sets the checked radio and sets each radio to be focusable if there is a no\n // selection, or only the selected radio if there is\n group.forEach(radio => {\n radio.checked = radio === checkedRadio;\n radio[isFocusable] = !checkedRadio || radio.checked;\n });\n }\n\n /**\n * Updates the focus and selection of a radio group based on the currently focused radio and the\n * direction of the focus change.\n * \n * @param el - The currently focused radio element.\n * @param increment - The direction of the focus change. 1 for forward, -1 for backward.\n */\n private static _updateRadioGroupFocus(el: IRadioComponent, increment: 1 | -1): void {\n const group = RadioGroupManager.getRadioGroup(el);\n\n // Get the next enabled and writable radio in the group\n let index = group.indexOf(el);\n let nextRadio = group[index];\n do {\n index += increment;\n if (index < 0) {\n index = group.length - 1;\n } else if (index >= group.length) {\n index = 0;\n }\n\n nextRadio = group[index];\n if (nextRadio === el) {\n return;\n }\n } while (nextRadio.disabled || nextRadio.readonly);\n\n // Attempt to check the next radio, return if the event is cancelled\n if (!nextRadio[tryCheck]()) {\n return;\n }\n\n // Add the next radio to the tab order, and focus it\n nextRadio[isFocusable] = true;\n nextRadio.focus();\n\n // Remove every other radio from the tab order and deselect it\n group.forEach(radio => {\n if (radio === nextRadio) {\n return;\n }\n radio[isFocusable] = false;\n radio.checked = false;\n });\n }\n\n /**\n * Determines if a radio selection is required within a group.\n * \n * @param group - The radio components within a group.\n * @returns True if the radio selection is required, false otherwise.\n */\n private static _selectionIsRequired(group: IRadioComponent[]): boolean {\n let required = false;\n let selection = false;\n\n group.forEach(radio => {\n if (radio.required) {\n required = true;\n }\n if (radio.checked) {\n selection = true;\n }\n });\n\n return required && !selection;\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}radio`;\n\nconst attributes = {\n CHECKED: 'checked',\n DEFAULT_CHECKED: 'default-checked',\n VALUE: 'value',\n DENSE: 'dense',\n DISABLED: 'disabled',\n REQUIRED: 'required',\n READONLY: 'readonly',\n LABEL_POSITION: 'label-position',\n TABINDEX: 'tabindex'\n};\n\nconst selectors = {\n ROOT: '.forge-radio',\n LABEL: '#label',\n STATE_LAYER: 'forge-state-layer'\n};\n\nconst events = {\n CHANGE: 'change',\n INPUT: 'input'\n};\n\nexport const RADIO_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n events\n};\n\n/**\n * This symbol is used to attempt to check a radio while navigating between its siblings in a\n * group. It differs from simply setting `checked` in that it causes the input/change events to\n * emit and returns `false` if either was prevented. The radio group manager can then prevent a\n * change in focus and selection state.\n */\nexport const tryCheck = Symbol('tryCheck');\n\nexport type RadioState = 'checked' | 'unchecked';\nexport type RadioLabelPosition = 'start' | 'end';\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { internals, isFocusable, setDefaultAria } from '../../constants';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/';\nimport { StateLayerComponent } from '../../state-layer';\nimport { RadioGroupManager } from '../core/radio-group-manager';\nimport { IRadioComponent } from './radio';\nimport { RADIO_CONSTANTS, RadioLabelPosition, RadioState } from './radio-constants';\n\nexport interface IRadioAdapter extends IBaseAdapter {\n setChecked(checked: boolean, value: string): void;\n trySetDisabled(value: boolean): boolean;\n setRequired(value: boolean): void;\n setReadonly(value: boolean): void;\n setLabelPosition(value: RadioLabelPosition): void;\n disableStateLayer(value: boolean): void;\n setUncheckedRadioGroupFocus(event: 'focus' | 'blur'): void;\n focusNext(): void;\n focusPrevious(): void;\n}\n\nexport class RadioAdapter extends BaseAdapter<IRadioComponent> implements IRadioAdapter {\n private readonly _rootElement: HTMLElement;\n private readonly _labelElement: HTMLElement;\n private readonly _stateLayerElement: StateLayerComponent;\n\n constructor(component: IRadioComponent) {\n super(component);\n\n this._rootElement = getShadowElement(component, RADIO_CONSTANTS.selectors.ROOT);\n this._labelElement = getShadowElement(component, RADIO_CONSTANTS.selectors.LABEL);\n this._stateLayerElement = getShadowElement(component, RADIO_CONSTANTS.selectors.STATE_LAYER) as StateLayerComponent;\n }\n\n public setChecked(checked: boolean, value: string): void {\n this._component[setDefaultAria]({ ariaChecked: checked ? 'true' : 'false' });\n if (checked) {\n RadioGroupManager.setSelectedRadioInGroup(this._component);\n }\n\n // Update the form value, state, and validity\n const formValue = checked ? value : null;\n const formState: RadioState = checked ? 'checked' : 'unchecked';\n this._component[internals].setFormValue(formValue, formState);\n RadioGroupManager.setRadioGroupValidity(this._component);\n }\n\n /**\n * Attempts to set the disabled state of the radio. If the radio is in a disabled radio group, it\n * can't be enabled.\n * \n * @param value Whether the radio should be disabled.\n * @returns Whether the disabled state was set.\n */\n public trySetDisabled(value: boolean): boolean {\n const group = this._component.closest('forge-radio-group');\n\n if (!value && group && group.disabled) {\n return false;\n }\n\n this._component[setDefaultAria]({ ariaDisabled: `${!!value}` });\n this._component[isFocusable] = !value;\n return true;\n }\n\n public setRequired(value: boolean): void {\n this._component[setDefaultAria]({\n ariaRequired: value ? 'true' : 'false'\n }, { setAttribute: true });\n RadioGroupManager.setRadioGroupValidity(this._component);\n }\n\n public setReadonly(value: boolean): void {\n this._component[setDefaultAria]({ ariaDisabled: `${!!value}` });\n }\n\n public disableStateLayer(value: boolean): void {\n this._stateLayerElement.disabled = value;\n }\n\n public setLabelPosition(value: RadioLabelPosition): void {\n this._labelElement.remove();\n\n if (value === 'start') {\n this._rootElement.prepend(this._labelElement);\n } else {\n this._rootElement.append(this._labelElement);\n }\n }\n\n public setUncheckedRadioGroupFocus(event: 'focus' | 'blur'): void {\n RadioGroupManager.setUncheckedRadioGroupFocus(this._component, event);\n }\n\n public focusNext(): void {\n RadioGroupManager.focusNextRadioInGroup(this._component);\n }\n\n public focusPrevious(): void {\n RadioGroupManager.focusPreviousRadioInGroup(this._component);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { task } from '../../core/utils/event-utils';\nimport { IRadioAdapter } from './radio-adapter';\nimport { RADIO_CONSTANTS, RadioLabelPosition } from './radio-constants';\n\nexport interface IRadioFoundation extends ICustomElementFoundation {\n checked: boolean;\n defaultChecked: boolean;\n value: string;\n disabled: boolean;\n required: boolean;\n readonly: boolean;\n dense: boolean;\n labelPosition: RadioLabelPosition;\n tryCheck(): boolean;\n}\n\nexport class RadioFoundation implements IRadioFoundation {\n // State\n private _checked = false;\n private _defaultChecked = false;\n private _value = 'on';\n private _disabled = false;\n private _required = false;\n private _readonly = false;\n private _dense = false;\n private _labelPosition: RadioLabelPosition = 'end';\n\n // Listeners\n private readonly _focusListener: EventListener;\n private readonly _blurListener: EventListener;\n private readonly _clickListener: EventListener;\n private readonly _keydownListener: EventListener;\n private readonly _keyupListener: EventListener;\n\n constructor(private _adapter: IRadioAdapter) {\n this._focusListener = () => this._handleFocus();\n this._blurListener = () => this._handleBlur();\n this._clickListener = (evt: MouseEvent) => this._handleClick(evt);\n this._keydownListener = (evt: KeyboardEvent) => this._handleKeydown(evt);\n this._keyupListener = (evt: KeyboardEvent) => this._handleKeyup(evt);\n }\n\n public initialize(): void {\n this._adapter.addHostListener('focus', this._focusListener);\n this._adapter.addHostListener('blur', this._blurListener);\n this._adapter.addHostListener('click', this._clickListener);\n this._adapter.addHostListener('keydown', this._keydownListener);\n this._adapter.addHostListener('keyup', this._keyupListener);\n }\n\n // Public methods\n\n public tryCheck(): boolean {\n this._checked = true;\n\n if (!this._dispatchEvents()) {\n this._checked = false;\n return false;\n }\n \n this._adapter.setChecked(this._checked, this._value);\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.CHECKED, this._checked);\n return true;\n }\n\n // Event handlers\n\n private _handleFocus(): void {\n if (!this._checked) {\n this._adapter.setUncheckedRadioGroupFocus('focus');\n }\n }\n\n private _handleBlur(): void {\n if (!this._checked) {\n this._adapter.setUncheckedRadioGroupFocus('blur');\n }\n }\n\n private _handleClick(evt: MouseEvent): void {\n this._activate(evt);\n }\n\n private _handleKeydown(evt: KeyboardEvent): void {\n switch (evt.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n evt.preventDefault();\n this._adapter.focusNext();\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n evt.preventDefault();\n this._adapter.focusPrevious();\n break;\n case ' ':\n // Prevent the spacebar from scrolling the page\n evt.preventDefault();\n break;\n }\n }\n\n private _handleKeyup(evt: KeyboardEvent): void {\n if (evt.key === ' ') {\n this._activate(evt);\n }\n }\n\n /**\n * Checks the radio button if it is not disabled or readonly. Exits early if the activating\n * event is cancelled.\n */\n private async _activate(evt: Event): Promise<void> {\n if (this._checked || this._disabled || this._readonly) {\n return;\n }\n\n // Wait a task to allow the event to propagate to user code.\n await task();\n if (evt.defaultPrevented) {\n return;\n }\n\n this._checked = true;\n\n if (!this._dispatchEvents()) {\n this._checked = false;\n return;\n }\n\n this._adapter.setChecked(this._checked, this._value);\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.CHECKED, this._checked);\n }\n\n /**\n * Dispatches change and input events.\n * \n * @returns {boolean} - Returns true if neither event was cancelled.\n */\n private _dispatchEvents(): boolean {\n // Emit both change and input events per the spec.\n const changeEvent = new Event(RADIO_CONSTANTS.events.CHANGE, { bubbles: true, cancelable: true });\n const inputEvent = new Event(RADIO_CONSTANTS.events.INPUT, { bubbles: true, cancelable: true, composed: true });\n this._adapter.dispatchHostEvent(new Event(RADIO_CONSTANTS.events.CHANGE, { bubbles: true, cancelable: true }));\n this._adapter.dispatchHostEvent(new Event(RADIO_CONSTANTS.events.INPUT, { bubbles: true, cancelable: true, composed: true }));\n return !(changeEvent.defaultPrevented || inputEvent.defaultPrevented);\n }\n\n public get checked(): boolean {\n return this._checked;\n }\n public set checked(value: boolean) {\n if (this._checked !== value) {\n this._checked = value;\n this._adapter.setChecked(this._checked, this._value);\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.CHECKED, this._checked);\n }\n }\n\n public get defaultChecked(): boolean {\n return this._defaultChecked;\n }\n public set defaultChecked(value: boolean) {\n if (this._defaultChecked !== value) {\n this._defaultChecked = value;\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.DEFAULT_CHECKED, this._defaultChecked);\n }\n }\n\n public get value(): string {\n return this._value;\n }\n public set value(value: string) {\n if (this._value !== value) {\n this._value = value;\n this._adapter.setHostAttribute(RADIO_CONSTANTS.attributes.VALUE, this._value);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n // Attempt to set disabled, restore if unsuccessful\n if (this._adapter.trySetDisabled(this._disabled)) {\n this._adapter.disableStateLayer(this._disabled || this._readonly);\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.DISABLED, this._disabled);\n } else {\n this._disabled = !this._disabled;\n }\n }\n }\n\n public get required(): boolean {\n return this._required;\n }\n public set required(value: boolean) {\n if (this._required !== value) {\n this._required = value;\n this._adapter.setRequired(this._required);\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.REQUIRED, this._required);\n }\n }\n\n public get readonly(): boolean {\n return this._readonly;\n }\n public set readonly(value: boolean) {\n if (this._readonly !== value) {\n this._readonly = value;\n this._adapter.setReadonly(this._readonly);\n this._adapter.disableStateLayer(this._disabled || this._readonly);\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.READONLY, this._readonly);\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.DENSE, this._dense);\n }\n }\n\n public get labelPosition(): RadioLabelPosition {\n return this._labelPosition;\n }\n public set labelPosition(value: RadioLabelPosition) {\n if (this._labelPosition !== value) {\n this._labelPosition = value;\n this._adapter.setLabelPosition(this._labelPosition);\n this._adapter.setHostAttribute(RADIO_CONSTANTS.attributes.LABEL_POSITION, this._labelPosition);\n }\n }\n}\n", "import { CustomElement, FoundationProperty, attachShadowTemplate, coerceBoolean } from '@tylertech/forge-core';\nimport { getFormState, getFormValue, inputType, internals, setDefaultAria } from '../../constants';\nimport { BaseComponent } from '../../core/base/base-component';\nimport { IWithFocusable, WithFocusable } from '../../core/mixins/focus/with-focusable';\nimport { IWithElementInternals, WithElementInternals } from '../../core/mixins/internals/with-element-internals';\nimport { IWithFormAssociation, WithFormAssociation } from '../../core/mixins/form/with-form-associated';\nimport { IWithLabelAwareness, WithLabelAwareness } from '../../core/mixins/label/with-label-aware';\nimport { FormValue } from '../../core/utils/form-utils';\nimport { FocusIndicatorComponent } from '../../focus-indicator';\nimport { StateLayerComponent } from '../../state-layer';\nimport { RadioGroupManager } from '../core/radio-group-manager';\nimport { RadioAdapter } from './radio-adapter';\nimport { RADIO_CONSTANTS, RadioLabelPosition, RadioState, tryCheck } from './radio-constants';\nimport { RadioFoundation } from './radio-foundation';\nimport { IWithDefaultAria, WithDefaultAria } from '../../core/mixins/internals/with-default-aria';\n\nconst template = '<template><div id=\\\"radio\\\" class=\\\"forge-radio\\\" part=\\\"radio\\\"><div id=\\\"container\\\" class=\\\"container\\\" aria-hidden=\\\"true\\\"><div id=\\\"background\\\" class=\\\"background\\\" part=\\\"background\\\"></div><forge-focus-indicator target=\\\":host\\\" part=\\\"focus-indicator\\\"></forge-focus-indicator><forge-state-layer exportparts=\\\"surface:state-layer\\\"></forge-state-layer></div><span id=\\\"label\\\" class=\\\"label\\\" for=\\\"input\\\" part=\\\"label\\\"><slot></slot></span></div></template>';\nconst style = ':host{display:inline-block;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host(:focus){outline:0}.forge-radio{--_radio-primary-color:var(--forge-radio-primary-color, var(--forge-theme-tertiary, #3d5afe));--_radio-inactive-color:var(--forge-radio-inactive-color, var(--forge-theme-surface-container-high, #9e9e9e));--_radio-size:var(--forge-radio-size, 20px);--_radio-mark-size:var(--forge-radio-mark-size, 12px);--_radio-state-layer-size:var(--forge-radio-state-layer-size, 40px);--_radio-state-layer-dense-size:var(--forge-radio-state-layer-dense-size, 24px);--_radio-width:var(--forge-radio-width, var(--_radio-size));--_radio-height:var(--forge-radio-height, var(--_radio-size));--_radio-border-width:var(--forge-radio-border-width, var(--forge-border-medium, 2px));--_radio-unchecked-border-color:var(--forge-radio-unchecked-border-color, var(--_radio-inactive-color));--_radio-checked-border-color:var(--forge-radio-checked-border-color, var(--_radio-primary-color));--_radio-background:var(--forge-radio-background, transparent);--_radio-shape:var(--forge-radio-shape, var(--forge-shape-round, 50%));--_radio-mark-width:var(--forge-radio-mark-width, var(--_radio-mark-size));--_radio-mark-height:var(--forge-radio-mark-height, var(--_radio-mark-size));--_radio-mark-unchecked-color:var(--forge-radio-mark-unchecked-color, var(--_radio-inactive-color));--_radio-mark-checked-color:var(--forge-radio-mark-checked-color, var(--_radio-primary-color));--_radio-mark-unchecked-background:var(--forge-radio-mark-unchecked-background, transparent);--_radio-mark-checked-background:var(--forge-radio-mark-checked-background, transparent);--_radio-gap:var(--forge-radio-gap, 0);--_radio-justify:var(--forge-radio-justify, space-between);--_radio-direction:var(--forge-radio-direction, initial);--_radio-state-layer-width:var(--forge-radio-state-layer-width, var(--_radio-state-layer-size));--_radio-state-layer-height:var(--forge-radio-state-layer-height, var(--_radio-state-layer-size));--_radio-state-layer-unchecked-color:var(--forge-radio-state-layer-unchecked-color, var(--_radio-color));--_radio-state-layer-checked-color:var(--forge-radio-state-layer-checked-color, var(--_radio-primary-color));--_radio-state-layer-shape:var(--forge-radio-state-layer-shape, var(--_radio-shape));--_radio-state-layer-dense-width:var(--forge-radio-state-layer-dense-width, var(--_radio-state-layer-dense-size));--_radio-state-layer-dense-height:var(--forge-radio-state-layer-dense-height, var(--_radio-state-layer-dense-size));--_radio-disabled-opacity:var(--forge-radio-disabled-opacity, 0.38);--_radio-animation-duration:var(--forge-radio-animation-duration, var(--forge-animation-duration-short4, 200ms));--_radio-animation-timing-function:var(--forge-radio-animation-timing-function, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)));--_radio-animation-delay:var(--forge-radio-animation-delay, 0ms)}.forge-radio{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:var(--_radio-direction);flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:var(--_radio-justify);justify-content:var(--_radio-justify);gap:var(--_radio-gap);display:-webkit-box;display:flex}.forge-radio .container{position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;display:-webkit-box;display:flex;border-radius:var(--_radio-shape);inline-size:var(--_radio-state-layer-width);block-size:var(--_radio-state-layer-height);cursor:pointer}.forge-radio .background{position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;display:-webkit-box;display:flex;overflow:hidden;-webkit-transition-duration:var(--_radio-animation-duration);transition-duration:var(--_radio-animation-duration);-webkit-transition-delay:var(--_radio-animation-delay);transition-delay:var(--_radio-animation-delay);-webkit-transition-timing-function:var(--_radio-animation-timing-function);transition-timing-function:var(--_radio-animation-timing-function);-webkit-transition-property:border-color;transition-property:border-color;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:var(--_radio-shape);border-width:var(--_radio-border-width);border-style:solid;border-color:var(--_radio-unchecked-border-color);inline-size:var(--_radio-width);block-size:var(--_radio-height);background:var(--_radio-background)}.forge-radio .background::after{content:\\\"\\\";position:absolute;contain:strict;-webkit-transition-duration:var(--_radio-animation-duration);transition-duration:var(--_radio-animation-duration);-webkit-transition-delay:var(--_radio-animation-delay);transition-delay:var(--_radio-animation-delay);-webkit-transition-timing-function:var(--_radio-animation-timing-function);transition-timing-function:var(--_radio-animation-timing-function);-webkit-transition-property:inline-size,block-size,border-color;transition-property:inline-size,block-size,border-color;border-radius:var(--_radio-shape);border-width:calc(var(--_radio-mark-height)/ 2) calc(var(--_radio-mark-width)/ 2);border-color:var(--_radio-mark-unchecked-color);border-style:solid;inline-size:calc(var(--_radio-width) - 2 * var(--_radio-border-width));block-size:calc(var(--_radio-height) - 2 * var(--_radio-border-width));background:var(--_radio-mark-unchecked-background)}.forge-radio .label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-label-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label-font-weight,400);line-height:var(--forge-typography-label-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label-text-decoration,inherit);text-decoration:var(--forge-typography-label-text-decoration,inherit);cursor:default}.forge-radio .label:empty{display:none}:host([checked]) .forge-radio .background{border-color:var(--_radio-checked-border-color)}:host([checked]) .forge-radio .background::after{border-color:var(--_radio-mark-checked-color);inline-size:0px;block-size:0px;background:var(--_radio-mark-checked-background)}:host([checked]) forge-state-layer{--forge-state-layer-color:var(--_radio-state-layer-checked-color)}:host([dense]) .forge-radio .container{inline-size:var(--_radio-state-layer-dense-width);block-size:var(--_radio-state-layer-dense-height)}:host([disabled]) .forge-radio{opacity:var(--_radio-disabled-opacity)}:host([disabled]) .forge-radio .container{cursor:not-allowed}:host([readonly]) .forge-radio .container{cursor:not-allowed}forge-focus-indicator{--forge-focus-indicator-color:var(--_radio-primary-color);--forge-focus-indicator-outward-offset:0px;--forge-focus-indicator-shape:var(--_radio-state-layer-shape)}forge-state-layer{--forge-state-layer-color:var(--_radio-state-layer-unchecked-color)}';\n\nexport interface IRadioComponent extends IWithFormAssociation, IWithFocusable, IWithLabelAwareness, IWithElementInternals, IWithDefaultAria {\n checked: boolean;\n defaultChecked: boolean;\n required: boolean;\n dense: boolean;\n labelPosition: RadioLabelPosition;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-radio': IRadioComponent;\n }\n}\n\nconst BaseRadioClass = WithFormAssociation(WithLabelAwareness(WithFocusable(WithDefaultAria(WithElementInternals(BaseComponent)))));\n\n/**\n * @tag forge-radio\n * \n * @summary The Forge Radio component is used to create a form input where only one out of a set of\n * values should be selected.\n * \n * @property {boolean} checked - Indicates whether the radio button is checked.\n * @property {boolean} defaultChecked - Indicates whether the radio button is checked by default.\n * @property {string} value - The value of the radio button when submitted.\n * @property {boolean} dense - Indicates whether the radio button should be displayed in a dense layout.\n * @property {boolean} disabled - Indicates whether the radio button is disabled.\n * @property {boolean} required - Indicates whether the radio button is required.\n * @property {boolean} readonly - Indicates whether the radio button is read-only.\n * @property {RadioLabelPosition} labelPosition - The position of the radio button's label.\n * \n * @attribute {boolean} checked - Indicates whether the radio button is checked.\n * @attribute {boolean} default-checked - Indicates whether the radio button is checked by default.\n * @attribute {string} value - The value of the radio button when submitted.\n * @attribute {boolean} dense - Indicates whether the radio button should be displayed in a dense layout.\n * @attribute {boolean} disabled - Indicates whether the radio button is disabled.\n * @attribute {boolean} required - Indicates whether the radio button is required.\n * @attribute {boolean} readonly - Indicates whether the radio button is read-only.\n * @attribute {RadioLabelPosition} label-position - The position of the radio button's label.\n * \n * @cssproperty --forge-radio-primary-color - The primary color of the radio button when checked.\n * @cssproperty --forge-radio-inactive-color - The color of the radio button when unchecked.\n * @cssproperty --forge-radio-size - The size of the radio button in the inline and block directions.\n * @cssproperty --forge-radio-width - The width of the radio button.\n * @cssproperty --forge-radio-height - The height of the radio button.\n * @cssproperty --forge-radio-border-width - The width of the radio button's border.\n * @cssproperty --forge-radio-unchecked-border-color - The color of the radio button's border when unchecked.\n * @cssproperty --forge-radio-checked-border-color - The color of the radio button's border when checked.\n * @cssproperty --forge-radio-background - The background of the radio button.\n * @cssproperty --forge-radio-shape - The shape of the radio button.\n * @cssproperty --forge-radio-mark-size - The size of the radio button's mark in the inline and block directions.\n * @cssproperty --forge-radio-mark-width - The width of the radio button's mark.\n * @cssproperty --forge-radio-mark-height - The height of the radio button's mark.\n * @cssproperty --forge-radio-mark-unchecked-color - The color of the radio button's mark when unchecked.\n * @cssproperty --forge-radio-mark-checked-color - The color of the radio button's mark when checked.\n * @cssproperty --forge-radio-mark-unchecked-background - The background of the radio button's mark when unchecked.\n * @cssproperty --forge-radio-mark-checked-background - The background of the radio button's mark when checked.\n * @cssproperty --forge-radio-gap - The gap between the radio button and its label.\n * @cssproperty --forge-radio-justify - The alignment of the radio button and its label in the inline direction.\n * @cssproperty --forge-radio-direction - The direction of the radio button and its label.\n * @cssproperty --forge-radio-state-layer-size - The size of the radio button's state layer in the inline and block directions.\n * @cssproperty --forge-radio-state-layer-width - The width of the radio button's state layer.\n * @cssproperty --forge-radio-state-layer-height - The height of the radio button's state layer.\n * @cssproperty --forge-radio-state-layer-unchecked-color - The color of the radio button's state layer when unchecked.\n * @cssproperty --forge-radio-state-layer-checked-color - The color of the radio button's state layer when checked.\n * @cssproperty --forge-radio-state-layer-shape - The shape of the radio button's state layer.\n * @cssproperty --forge-radio-state-layer-dense-size - The size of the radio button's state layer when dense.\n * @cssproperty --forge-radio-state-layer-dense-width - The width of the radio button's state layer when dense.\n * @cssproperty --forge-radio-state-layer-dense-height - The height of the radio button's state layer when dense.\n * @cssproperty --forge-radio-disabled-opacity - The opacity of the radio button when disabled.\n * @cssproperty --forge-radio-animation-duration - The duration of the radio button's animations.\n * @cssproperty --forge-radio-animation-timing-function - The timing function of the radio button's animations.\n * @cssproperty --forge-radio-animation-delay - The delay of the radio button's animations.\n * \n * @csspart radio - Styles the radio's root element.\n * @csspart background - Styles the border and background of the radio.\n * @csspart focus-indicator - Styles the focus indicator of the radio.\n * @csspart state-layer - Styles the state layer of the radio.\n * \n * @slot - This is a default/unnamed slot for the label text.\n */\n@CustomElement({\n name: RADIO_CONSTANTS.elementName,\n dependencies: [\n FocusIndicatorComponent,\n StateLayerComponent\n ]\n})\nexport class RadioComponent extends BaseRadioClass implements IRadioComponent {\n public static get observedAttributes(): string[] {\n return [\n RADIO_CONSTANTS.attributes.CHECKED,\n RADIO_CONSTANTS.attributes.DEFAULT_CHECKED,\n RADIO_CONSTANTS.attributes.VALUE,\n RADIO_CONSTANTS.attributes.DENSE,\n RADIO_CONSTANTS.attributes.DISABLED,\n RADIO_CONSTANTS.attributes.REQUIRED,\n RADIO_CONSTANTS.attributes.READONLY,\n RADIO_CONSTANTS.attributes.LABEL_POSITION,\n RADIO_CONSTANTS.attributes.TABINDEX\n ];\n }\n\n private _foundation: RadioFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, style);\n this[inputType] = 'radio';\n this._foundation = new RadioFoundation(new RadioAdapter(this));\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this[setDefaultAria]({\n role: 'radio',\n ariaChecked: this.checked ? 'true' : 'false',\n ariaDisabled: this.disabled ? 'true' : 'false',\n ariaInvalid: this[internals].validity.valid ? 'false' : 'true',\n ariaRequired: this.required ? 'true' : 'false'\n });\n this._foundation.initialize();\n }\n\n public override attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case RADIO_CONSTANTS.attributes.CHECKED:\n this._foundation.checked = coerceBoolean(newValue);\n break;\n case RADIO_CONSTANTS.attributes.DEFAULT_CHECKED:\n this._foundation.defaultChecked = coerceBoolean(newValue);\n break;\n case RADIO_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case RADIO_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case RADIO_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case RADIO_CONSTANTS.attributes.REQUIRED:\n this.required = coerceBoolean(newValue);\n break;\n case RADIO_CONSTANTS.attributes.READONLY:\n this.readonly = coerceBoolean(newValue);\n break;\n case RADIO_CONSTANTS.attributes.LABEL_POSITION:\n this.labelPosition = newValue as RadioLabelPosition;\n break;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n public override [getFormValue](): FormValue | null {\n return this.checked ? this.value : null;\n }\n\n public override [getFormState](): RadioState {\n return this.checked ? 'checked' : 'unchecked';\n }\n\n public formResetCallback(): void {\n RadioGroupManager.requestRadioGroupReset(this);\n }\n\n public formStateRestoreCallback(state: RadioState): void {\n this.checked = state === 'checked';\n }\n\n public labelClickedCallback(): void {\n this.click();\n }\n\n public labelChangedCallback(value: string | null): void {\n this[setDefaultAria]({ ariaLabel: value });\n }\n\n @FoundationProperty()\n public declare checked: boolean;\n\n @FoundationProperty()\n public declare defaultChecked: boolean;\n\n @FoundationProperty()\n public declare value: string;\n\n @FoundationProperty()\n public declare dense: boolean;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare required: boolean;\n\n @FoundationProperty()\n public declare readonly: boolean;\n\n @FoundationProperty()\n public declare labelPosition: RadioLabelPosition;\n\n public [tryCheck](): boolean {\n return this._foundation.tryCheck();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { RadioComponent } from './radio';\n\nexport * from './radio-adapter';\nexport * from './radio-constants';\nexport * from './radio-foundation';\nexport * from './radio';\n\nexport function defineRadioComponent(): void {\n defineCustomElement(RadioComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["_RadioGroupManager", "el", "namedRadios", "RADIO_CONSTANTS", "radio", "formRadios", "group", "invalid", "validationMessage", "getValidationMessage", "internals", "setDefaultAria", "event", "isFocusable", "task", "checkedRadio", "increment", "index", "nextRadio", "tryCheck", "required", "selection", "RadioGroupManager", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "events", "RADIO_CONSTANTS", "tryCheck", "RadioAdapter", "BaseAdapter", "component", "getShadowElement", "RADIO_CONSTANTS", "checked", "value", "setDefaultAria", "RadioGroupManager", "formValue", "formState", "internals", "group", "isFocusable", "event", "RadioFoundation", "_adapter", "evt", "RADIO_CONSTANTS", "task", "changeEvent", "inputEvent", "value", "template", "style", "BaseRadioClass", "WithFormAssociation", "WithLabelAwareness", "WithFocusable", "WithDefaultAria", "WithElementInternals", "BaseComponent", "RadioComponent", "attachShadowTemplate", "inputType", "RadioFoundation", "RadioAdapter", "RADIO_CONSTANTS", "setDefaultAria", "internals", "name", "oldValue", "newValue", "coerceBoolean", "getFormValue", "getFormState", "RadioGroupManager", "state", "value", "tryCheck", "__decorateClass", "FoundationProperty", "CustomElement", "FocusIndicatorComponent", "StateLayerComponent", "defineRadioComponent", "defineCustomElement", "RadioComponent"]
7
+ }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{d as B}from"./chunk.LXX3YZYS.js";import{b as N}from"./chunk.RDW7Z4W5.js";import{d as y}from"./chunk.LOBKFTRM.js";import{a as E}from"./chunk.SOLF23NC.js";import{l as I}from"./chunk.Z7PBGV4K.js";import{a as A}from"./chunk.LS7WRRT2.js";import{a as o}from"./chunk.NVUMRW44.js";import{a as T,b as x}from"./chunk.IT66AOX7.js";import{a as v,e as b,f as n,k as O}from"./chunk.JAWV5Y5T.js";import{d}from"./chunk.K7FPXAFS.js";import{k as f,l as m}from"./chunk.J2M2MXP2.js";import{a as p,b as g,d as a}from"./chunk.M3QDAYD2.js";var _=`${x}profile-card`,L={FULL_NAME:"full-name",EMAIL:"email",SIGN_OUT:"sign-out",PROFILE:"profile",SIGN_OUT_TEXT:"sign-out-text",PROFILE_TEXT:"profile-text",AVATAR_TEXT:"avatar-text",AVATAR_ICON:"avatar-icon",AVATAR_IMAGE_URL:"avatar-image-url",AVATAR_LETTER_COUNT:"avatar-letter-count"},C={FULL_NAME:".full-name",EMAIL:".email",AVATAR:".avatar > forge-avatar",ACTION_TOOLBAR:"#action-toolbar",PROFILE_BUTTON:"#profile-button",SIGN_OUT_BUTTON:"#sign-out-button"},U={SHOW_SIGN_OUT_BUTTON:!0,SHOW_PROFILE_BUTTON:!1,SIGN_OUT_BUTTON_TEXT:"Sign out",PROFILE_BUTTON_TEXT:"Profile"},P={SIGN_OUT:`${_}-sign-out`,PROFILE:`${_}-profile`},i={elementName:_,attributes:L,selectors:C,defaults:U,events:P};var l=class extends A{constructor(e){super(e);this._fullNameElement=n(e,i.selectors.FULL_NAME),this._emailElement=n(e,i.selectors.EMAIL),this._avatarElement=n(e,i.selectors.AVATAR),this._actionToolbar=n(e,i.selectors.ACTION_TOOLBAR),this._profileButton=n(e,i.selectors.PROFILE_BUTTON),this._signOutButton=n(e,i.selectors.SIGN_OUT_BUTTON)}setFullName(e){this._fullNameElement.textContent=e}setEmail(e){this._emailElement.textContent=e}setAvatarText(e){d(this._avatarElement),this._avatarElement.text=e}setAvatarIcon(e){if(e){let h=new E({props:{name:e}});this._avatarElement.replaceChildren(h.element)}else d(this._avatarElement)}setAvatarImageUrl(e){this._avatarElement.imageUrl=e}setAvatarLetterCount(e){this._avatarElement.letterCount=e}setActionToolbarVisibility(e){e?this._actionToolbar.style.removeProperty("display"):this._actionToolbar.style.display="none"}setProfileButtonVisibility(e){e?this._profileButton.style.removeProperty("display"):this._profileButton.style.display="none"}setSignOutButtonVisibility(e){e?this._signOutButton.style.removeProperty("display"):this._signOutButton.style.display="none"}setSignOutButtonText(e){this._signOutButton.textContent=e}setProfileButtonText(e){this._profileButton.textContent=e}setProfileButtonListener(e){this._profileButton.addEventListener("click",e)}setSignOutButtonListener(e){this._signOutButton.addEventListener("click",e)}requestProfileButtonFocus(e){window.requestAnimationFrame(()=>this._profileButton.focus(e))}requestSignOutButtonFocus(e){window.requestAnimationFrame(()=>this._signOutButton.focus(e))}};var u=class{constructor(t){this._adapter=t;this._showSignOutButton=i.defaults.SHOW_SIGN_OUT_BUTTON;this._showProfileButton=i.defaults.SHOW_PROFILE_BUTTON;this._signOutButtonText=i.defaults.SIGN_OUT_BUTTON_TEXT;this._profileButtonText=i.defaults.PROFILE_BUTTON_TEXT;this._profileListener=e=>this._onProfileButtonClick(e),this._signOutListener=e=>this._onSignOutButtonClick(e)}initialize(){this._adapter.setProfileButtonListener(this._profileListener),this._adapter.setSignOutButtonListener(this._signOutListener)}focus(t){this._showSignOutButton?this._adapter.requestSignOutButtonFocus(g(p({},t),{focusVisible:!0})):this._showProfileButton&&this._adapter.requestProfileButtonFocus(g(p({},t),{focusVisible:!0}))}_setActionVisibility(){let t=this._showSignOutButton||this._showProfileButton;this._adapter.setActionToolbarVisibility(t),this._adapter.setSignOutButtonVisibility(this._showSignOutButton),this._adapter.setProfileButtonVisibility(this._showProfileButton)}_onProfileButtonClick(t){t.stopPropagation(),this._adapter.emitHostEvent(i.events.PROFILE)}_onSignOutButtonClick(t){t.stopPropagation(),this._adapter.emitHostEvent(i.events.SIGN_OUT)}get fullName(){return this._fullName}set fullName(t){this._fullName!==t&&(this._fullName=t!=null?t:"",this._adapter.setFullName(this._fullName),this._avatarText||this._adapter.setAvatarText(this._fullName),this._adapter.toggleHostAttribute(i.attributes.FULL_NAME,!!this._fullName,this._fullName))}get email(){return this._email}set email(t){this._email!==t&&(this._email=t!=null?t:"",this._adapter.setEmail(this._email),this._adapter.toggleHostAttribute(i.attributes.EMAIL,!!this._email,this._email))}get avatarText(){return this._avatarText}set avatarText(t){this._avatarText!==t&&(this._avatarText=t!=null?t:"",this._adapter.setAvatarText(this._avatarText),this._adapter.toggleHostAttribute(i.attributes.AVATAR_TEXT,!!this._avatarText,this._avatarText))}get avatarIcon(){return this._avatarIcon}set avatarIcon(t){this._avatarIcon!==t&&(this._avatarIcon=t!=null?t:"",this._adapter.setAvatarIcon(this._avatarIcon),this._adapter.toggleHostAttribute(i.attributes.AVATAR_ICON,!!this._avatarIcon,this._avatarIcon))}get avatarImageUrl(){return this._avatarImageUrl}set avatarImageUrl(t){this._avatarImageUrl!==t&&(this._avatarImageUrl=t,this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.toggleHostAttribute(i.attributes.AVATAR_IMAGE_URL,!!this._avatarImageUrl,this._avatarImageUrl))}get avatarLetterCount(){return this._avatarLetterCount}set avatarLetterCount(t){this._avatarLetterCount!==t&&(this._avatarLetterCount=t,this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.toggleHostAttribute(i.attributes.AVATAR_LETTER_COUNT,!!this._avatarLetterCount,`${this._avatarLetterCount}`))}get signOut(){return this._showSignOutButton}set signOut(t){t=!!t,this._showSignOutButton!==t&&(this._showSignOutButton=t,this._setActionVisibility(),this._adapter.toggleHostAttribute(i.attributes.SIGN_OUT,this._showSignOutButton))}get profile(){return this._showProfileButton}set profile(t){t=!!t,this._showProfileButton!==t&&(this._showProfileButton=t,this._setActionVisibility(),this._adapter.toggleHostAttribute(i.attributes.PROFILE,this._showProfileButton))}get signOutText(){return this._signOutButtonText}set signOutText(t){if(this._signOutButtonText!==t){this._signOutButtonText=t||i.defaults.SIGN_OUT_BUTTON_TEXT,this._adapter.setSignOutButtonText(this._signOutButtonText);let e=this._signOutButtonText!==i.defaults.SIGN_OUT_BUTTON_TEXT;this._adapter.toggleHostAttribute(i.attributes.SIGN_OUT_TEXT,e,this._signOutButtonText)}}get profileText(){return this._profileButtonText}set profileText(t){if(this._profileButtonText!==t){this._profileButtonText=t||i.defaults.PROFILE_BUTTON_TEXT,this._adapter.setProfileButtonText(this._profileButtonText);let e=t!==i.defaults.PROFILE_BUTTON_TEXT;this._adapter.toggleHostAttribute(i.attributes.PROFILE_TEXT,e,this._profileButtonText)}}};var R='<template><div class="forge-profile-card" part="root"><div class="info-container"><div class="avatar"><forge-avatar part="avatar"></forge-avatar></div><div class="info-text"><div class="full-name" part="name"></div><div class="email" part="email"></div></div></div><slot></slot><forge-toolbar inverted id="action-toolbar"><forge-button variant="outlined" slot="end" style="display: none;" part="profile-button" id="profile-button">Profile</forge-button><forge-button slot="end" part="sign-out-button" id="sign-out-button">Sign out</forge-button></forge-toolbar></div></template>',S=':host{display:block}:host([hidden]){display:none}.forge-profile-card{--_profile-card-min-width:var(--forge-profile-card-min-width, 360px);--_profile-card-shape:var(--forge-profile-card-border-radius, var(--forge-shape-medium, 4px));--_profile-card-avatar-size:var(--forge-profile-card-avatar-size, 56px)}.forge-profile-card{min-width:var(--_profile-card-min-width);border-radius:var(--_profile-card-shape)}@media (max-width:399px){.forge-profile-card{width:100vw;min-width:unset;overflow:auto}}.forge-profile-card .info-container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding-block:var(--forge-spacing-xsmall,8px);padding-inline:var(--forge-spacing-medium,16px)}.forge-profile-card .avatar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:var(--forge-spacing-xsmall,8px);-webkit-margin-end:var(--forge-spacing-medium,16px);margin-inline-end:var(--forge-spacing-medium,16px);--forge-avatar-size:var(--_profile-card-avatar-size)}.forge-profile-card .text{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-profile-card .full-name{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-heading2-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-heading2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading2-font-size-scale, 1)));font-weight:var(--forge-typography-heading2-font-weight,500);line-height:var(--forge-typography-heading2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading2-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-heading2-letter-spacing, .0125em);text-transform:var(--forge-typography-heading2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-heading2-text-decoration,inherit);text-decoration:var(--forge-typography-heading2-text-decoration,inherit)}.forge-profile-card .email{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-subheading1-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-subheading1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-subheading1-font-size-scale, .875)));font-weight:var(--forge-typography-subheading1-font-weight,400);line-height:var(--forge-typography-subheading1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-subheading1-line-height-scale, 1.125)));letter-spacing:var(--forge-typography-subheading1-letter-spacing, normal);text-transform:var(--forge-typography-subheading1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-subheading1-text-decoration,inherit);text-decoration:var(--forge-typography-subheading1-text-decoration,inherit);color:var(--forge-theme-text-medium,rgba(0,0,0,.54))}#action-toolbar{--forge-toolbar-padding:8px}#action-toolbar forge-button:not(:last-of-type){-webkit-margin-end:8px;margin-inline-end:8px}',r=class extends O{constructor(){super();b(this,R,S),this._foundation=new u(new l(this))}static get observedAttributes(){return[i.attributes.FULL_NAME,i.attributes.EMAIL,i.attributes.SIGN_OUT,i.attributes.PROFILE,i.attributes.SIGN_OUT_TEXT,i.attributes.PROFILE_TEXT,i.attributes.AVATAR_TEXT,i.attributes.AVATAR_ICON,i.attributes.AVATAR_IMAGE_URL,i.attributes.AVATAR_LETTER_COUNT]}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(e,h,s){switch(e){case i.attributes.FULL_NAME:this.fullName=s;break;case i.attributes.EMAIL:this.email=s;break;case i.attributes.SIGN_OUT:this.signOut=f(s);break;case i.attributes.PROFILE:this.profile=f(s);break;case i.attributes.SIGN_OUT_TEXT:this.signOutText=s;break;case i.attributes.PROFILE_TEXT:this.profileText=s;break;case i.attributes.AVATAR_TEXT:this.avatarText=s;break;case i.attributes.AVATAR_ICON:this.avatarIcon=s;break;case i.attributes.AVATAR_IMAGE_URL:this.avatarImageUrl=s;break;case i.attributes.AVATAR_LETTER_COUNT:this.avatarLetterCount=m(s);break}}focus(e){this._foundation.focus(e)}};a([o()],r.prototype,"fullName",2),a([o()],r.prototype,"email",2),a([o()],r.prototype,"signOut",2),a([o()],r.prototype,"profile",2),a([o()],r.prototype,"signOutText",2),a([o()],r.prototype,"profileText",2),a([o()],r.prototype,"avatarText",2),a([o()],r.prototype,"avatarIcon",2),a([o()],r.prototype,"avatarImageUrl",2),a([o()],r.prototype,"avatarLetterCount",2),r=a([T({name:i.elementName,dependencies:[N,y,I,B]})],r);function st(){v(r)}export{i as a,l as b,u as c,r as d,st as e};
7
- //# sourceMappingURL=chunk.TLFCQSJN.js.map
6
+ import{d as y}from"./chunk.436USWLL.js";import{b as N}from"./chunk.4O6OEUGY.js";import{d as B}from"./chunk.4OG3OGVO.js";import{a as E}from"./chunk.VGIZJ32U.js";import{l as I}from"./chunk.4JB3SESQ.js";import{a as A}from"./chunk.ZY3ETQ3D.js";import{a as o}from"./chunk.NVUMRW44.js";import{a as T,b as x}from"./chunk.RRNSZCVJ.js";import{a as v,e as b,f as n,k as O}from"./chunk.TPXXHX5J.js";import{d}from"./chunk.HZUQXCOQ.js";import{k as f,l as m}from"./chunk.J2M2MXP2.js";import{a as p,b as g,d as a}from"./chunk.M3QDAYD2.js";var h=`${x}profile-card`,L={FULL_NAME:"full-name",EMAIL:"email",SIGN_OUT:"sign-out",PROFILE:"profile",SIGN_OUT_TEXT:"sign-out-text",PROFILE_TEXT:"profile-text",AVATAR_TEXT:"avatar-text",AVATAR_ICON:"avatar-icon",AVATAR_IMAGE_URL:"avatar-image-url",AVATAR_LETTER_COUNT:"avatar-letter-count"},C={FULL_NAME:".full-name",EMAIL:".email",AVATAR:".avatar > forge-avatar",ACTION_TOOLBAR:"#action-toolbar",PROFILE_BUTTON:"#profile-button",SIGN_OUT_BUTTON:"#sign-out-button"},U={SHOW_SIGN_OUT_BUTTON:!0,SHOW_PROFILE_BUTTON:!1,SIGN_OUT_BUTTON_TEXT:"Sign out",PROFILE_BUTTON_TEXT:"Profile"},P={SIGN_OUT:`${h}-sign-out`,PROFILE:`${h}-profile`},i={elementName:h,attributes:L,selectors:C,defaults:U,events:P};var l=class extends A{constructor(e){super(e);this._fullNameElement=n(e,i.selectors.FULL_NAME),this._emailElement=n(e,i.selectors.EMAIL),this._avatarElement=n(e,i.selectors.AVATAR),this._actionToolbar=n(e,i.selectors.ACTION_TOOLBAR),this._profileButton=n(e,i.selectors.PROFILE_BUTTON),this._signOutButton=n(e,i.selectors.SIGN_OUT_BUTTON)}setFullName(e){this._fullNameElement.textContent=e}setEmail(e){this._emailElement.textContent=e}setAvatarText(e){d(this._avatarElement),this._avatarElement.text=e}setAvatarIcon(e){if(e){let c=new E({props:{name:e}});this._avatarElement.replaceChildren(c.element)}else d(this._avatarElement)}setAvatarImageUrl(e){this._avatarElement.imageUrl=e}setAvatarLetterCount(e){this._avatarElement.letterCount=e}setActionToolbarVisibility(e){e?this._actionToolbar.style.removeProperty("display"):this._actionToolbar.style.display="none"}setProfileButtonVisibility(e){e?this._profileButton.style.removeProperty("display"):this._profileButton.style.display="none"}setSignOutButtonVisibility(e){e?this._signOutButton.style.removeProperty("display"):this._signOutButton.style.display="none"}setSignOutButtonText(e){this._signOutButton.textContent=e}setProfileButtonText(e){this._profileButton.textContent=e}setProfileButtonListener(e){this._profileButton.addEventListener("click",e)}setSignOutButtonListener(e){this._signOutButton.addEventListener("click",e)}requestProfileButtonFocus(e){window.requestAnimationFrame(()=>this._profileButton.focus(e))}requestSignOutButtonFocus(e){window.requestAnimationFrame(()=>this._signOutButton.focus(e))}};var u=class{constructor(t){this._adapter=t;this._showSignOutButton=i.defaults.SHOW_SIGN_OUT_BUTTON;this._showProfileButton=i.defaults.SHOW_PROFILE_BUTTON;this._signOutButtonText=i.defaults.SIGN_OUT_BUTTON_TEXT;this._profileButtonText=i.defaults.PROFILE_BUTTON_TEXT;this._profileListener=e=>this._onProfileButtonClick(e),this._signOutListener=e=>this._onSignOutButtonClick(e)}initialize(){this._adapter.setProfileButtonListener(this._profileListener),this._adapter.setSignOutButtonListener(this._signOutListener)}focus(t){this._showSignOutButton?this._adapter.requestSignOutButtonFocus(g(p({},t),{focusVisible:!0})):this._showProfileButton&&this._adapter.requestProfileButtonFocus(g(p({},t),{focusVisible:!0}))}_setActionVisibility(){let t=this._showSignOutButton||this._showProfileButton;this._adapter.setActionToolbarVisibility(t),this._adapter.setSignOutButtonVisibility(this._showSignOutButton),this._adapter.setProfileButtonVisibility(this._showProfileButton)}_onProfileButtonClick(t){t.stopPropagation(),this._adapter.emitHostEvent(i.events.PROFILE)}_onSignOutButtonClick(t){t.stopPropagation(),this._adapter.emitHostEvent(i.events.SIGN_OUT)}get fullName(){return this._fullName}set fullName(t){this._fullName!==t&&(this._fullName=t!=null?t:"",this._adapter.setFullName(this._fullName),this._avatarText||this._adapter.setAvatarText(this._fullName),this._adapter.toggleHostAttribute(i.attributes.FULL_NAME,!!this._fullName,this._fullName))}get email(){return this._email}set email(t){this._email!==t&&(this._email=t!=null?t:"",this._adapter.setEmail(this._email),this._adapter.toggleHostAttribute(i.attributes.EMAIL,!!this._email,this._email))}get avatarText(){return this._avatarText}set avatarText(t){this._avatarText!==t&&(this._avatarText=t!=null?t:"",this._adapter.setAvatarText(this._avatarText),this._adapter.toggleHostAttribute(i.attributes.AVATAR_TEXT,!!this._avatarText,this._avatarText))}get avatarIcon(){return this._avatarIcon}set avatarIcon(t){this._avatarIcon!==t&&(this._avatarIcon=t!=null?t:"",this._adapter.setAvatarIcon(this._avatarIcon),this._adapter.toggleHostAttribute(i.attributes.AVATAR_ICON,!!this._avatarIcon,this._avatarIcon))}get avatarImageUrl(){return this._avatarImageUrl}set avatarImageUrl(t){this._avatarImageUrl!==t&&(this._avatarImageUrl=t,this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.toggleHostAttribute(i.attributes.AVATAR_IMAGE_URL,!!this._avatarImageUrl,this._avatarImageUrl))}get avatarLetterCount(){return this._avatarLetterCount}set avatarLetterCount(t){this._avatarLetterCount!==t&&(this._avatarLetterCount=t,this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.toggleHostAttribute(i.attributes.AVATAR_LETTER_COUNT,!!this._avatarLetterCount,`${this._avatarLetterCount}`))}get signOut(){return this._showSignOutButton}set signOut(t){t=!!t,this._showSignOutButton!==t&&(this._showSignOutButton=t,this._setActionVisibility(),this._adapter.toggleHostAttribute(i.attributes.SIGN_OUT,this._showSignOutButton))}get profile(){return this._showProfileButton}set profile(t){t=!!t,this._showProfileButton!==t&&(this._showProfileButton=t,this._setActionVisibility(),this._adapter.toggleHostAttribute(i.attributes.PROFILE,this._showProfileButton))}get signOutText(){return this._signOutButtonText}set signOutText(t){if(this._signOutButtonText!==t){this._signOutButtonText=t||i.defaults.SIGN_OUT_BUTTON_TEXT,this._adapter.setSignOutButtonText(this._signOutButtonText);let e=this._signOutButtonText!==i.defaults.SIGN_OUT_BUTTON_TEXT;this._adapter.toggleHostAttribute(i.attributes.SIGN_OUT_TEXT,e,this._signOutButtonText)}}get profileText(){return this._profileButtonText}set profileText(t){if(this._profileButtonText!==t){this._profileButtonText=t||i.defaults.PROFILE_BUTTON_TEXT,this._adapter.setProfileButtonText(this._profileButtonText);let e=t!==i.defaults.PROFILE_BUTTON_TEXT;this._adapter.toggleHostAttribute(i.attributes.PROFILE_TEXT,e,this._profileButtonText)}}};var R='<template><div class="forge-profile-card" part="root"><div class="info-container"><div class="avatar"><forge-avatar part="avatar"></forge-avatar></div><div class="info-text"><div class="full-name" part="name"></div><div class="email" part="email"></div></div></div><slot></slot><forge-toolbar inverted id="action-toolbar"><forge-button variant="outlined" slot="end" style="display: none;" part="profile-button" id="profile-button">Profile</forge-button><forge-button slot="end" part="sign-out-button" id="sign-out-button">Sign out</forge-button></forge-toolbar></div></template>',S=':host{display:block}:host([hidden]){display:none}.forge-profile-card{--_profile-card-min-width:var(--forge-profile-card-min-width, 360px);--_profile-card-shape:var(--forge-profile-card-shape, var(--forge-shape-medium, 4px));--_profile-card-avatar-size:var(--forge-profile-card-avatar-size, 56px)}.forge-profile-card{min-width:var(--_profile-card-min-width);border-radius:var(--_profile-card-shape)}@media (max-width:399px){.forge-profile-card{width:100vw;min-width:unset;overflow:auto}}.forge-profile-card .info-container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding-block:var(--forge-spacing-xsmall,8px);padding-inline:var(--forge-spacing-medium,16px)}.forge-profile-card .avatar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:var(--forge-spacing-xsmall,8px);-webkit-margin-end:var(--forge-spacing-medium,16px);margin-inline-end:var(--forge-spacing-medium,16px);--forge-avatar-size:var(--_profile-card-avatar-size)}.forge-profile-card .text{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-profile-card .full-name{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-heading2-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-heading2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading2-font-size-scale, 1)));font-weight:var(--forge-typography-heading2-font-weight,500);line-height:var(--forge-typography-heading2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading2-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-heading2-letter-spacing, .0125em);text-transform:var(--forge-typography-heading2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-heading2-text-decoration,inherit);text-decoration:var(--forge-typography-heading2-text-decoration,inherit)}.forge-profile-card .email{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-subheading1-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-subheading1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-subheading1-font-size-scale, .875)));font-weight:var(--forge-typography-subheading1-font-weight,400);line-height:var(--forge-typography-subheading1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-subheading1-line-height-scale, 1.125)));letter-spacing:var(--forge-typography-subheading1-letter-spacing, normal);text-transform:var(--forge-typography-subheading1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-subheading1-text-decoration,inherit);text-decoration:var(--forge-typography-subheading1-text-decoration,inherit);color:var(--forge-theme-text-medium,rgba(0,0,0,.6))}#action-toolbar{--forge-toolbar-padding:8px}#action-toolbar forge-button:not(:last-of-type){-webkit-margin-end:8px;margin-inline-end:8px}',r=class extends O{constructor(){super();b(this,R,S),this._foundation=new u(new l(this))}static get observedAttributes(){return[i.attributes.FULL_NAME,i.attributes.EMAIL,i.attributes.SIGN_OUT,i.attributes.PROFILE,i.attributes.SIGN_OUT_TEXT,i.attributes.PROFILE_TEXT,i.attributes.AVATAR_TEXT,i.attributes.AVATAR_ICON,i.attributes.AVATAR_IMAGE_URL,i.attributes.AVATAR_LETTER_COUNT]}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(e,c,s){switch(e){case i.attributes.FULL_NAME:this.fullName=s;break;case i.attributes.EMAIL:this.email=s;break;case i.attributes.SIGN_OUT:this.signOut=f(s);break;case i.attributes.PROFILE:this.profile=f(s);break;case i.attributes.SIGN_OUT_TEXT:this.signOutText=s;break;case i.attributes.PROFILE_TEXT:this.profileText=s;break;case i.attributes.AVATAR_TEXT:this.avatarText=s;break;case i.attributes.AVATAR_ICON:this.avatarIcon=s;break;case i.attributes.AVATAR_IMAGE_URL:this.avatarImageUrl=s;break;case i.attributes.AVATAR_LETTER_COUNT:this.avatarLetterCount=m(s);break}}focus(e){this._foundation.focus(e)}};a([o()],r.prototype,"fullName",2),a([o()],r.prototype,"email",2),a([o()],r.prototype,"signOut",2),a([o()],r.prototype,"profile",2),a([o()],r.prototype,"signOutText",2),a([o()],r.prototype,"profileText",2),a([o()],r.prototype,"avatarText",2),a([o()],r.prototype,"avatarIcon",2),a([o()],r.prototype,"avatarImageUrl",2),a([o()],r.prototype,"avatarLetterCount",2),r=a([T({name:i.elementName,dependencies:[N,B,I,y]})],r);function st(){v(r)}export{i as a,l as b,u as c,r as d,st as e};
7
+ //# sourceMappingURL=chunk.6PB5OWMP.js.map