@tylertech/forge 2.8.0 → 2.10.0

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 (618) hide show
  1. package/custom-elements.json +4525 -246
  2. package/dist/esm/accordion/index.js +1 -34
  3. package/dist/esm/app-bar/help-button/index.js +1 -53
  4. package/dist/esm/app-bar/index.js +1 -131
  5. package/dist/esm/app-bar/menu-button/index.js +1 -36
  6. package/dist/esm/app-bar/notification-button/index.js +1 -41
  7. package/dist/esm/app-bar/profile-button/index.js +1 -46
  8. package/dist/esm/app-bar/search/index.js +1 -38
  9. package/dist/esm/autocomplete/index.js +1 -72
  10. package/dist/esm/avatar/index.js +1 -27
  11. package/dist/esm/backdrop/index.js +1 -22
  12. package/dist/esm/badge/index.js +1 -25
  13. package/dist/esm/banner/index.js +1 -40
  14. package/dist/esm/bottom-sheet/index.js +1 -40
  15. package/dist/esm/busy-indicator/index.js +1 -33
  16. package/dist/esm/button/index.js +1 -25
  17. package/dist/esm/button-toggle/button-toggle/index.js +1 -27
  18. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -26
  19. package/dist/esm/button-toggle/index.js +1 -40
  20. package/dist/esm/calendar/calendar-dropdown/index.js +1 -30
  21. package/dist/esm/calendar/calendar-menu/index.js +1 -43
  22. package/dist/esm/calendar/core/index.js +1 -7
  23. package/dist/esm/calendar/index.js +1 -194
  24. package/dist/esm/card/index.js +1 -16
  25. package/dist/esm/checkbox/index.js +1 -39
  26. package/dist/esm/chip-field/index.js +1 -46
  27. package/dist/esm/chips/chip/index.js +1 -37
  28. package/dist/esm/chips/chip-set/index.js +1 -37
  29. package/dist/esm/chips/index.js +1 -50
  30. package/dist/esm/chunks/chunk.23VA56ZY.js +7 -0
  31. package/dist/esm/chunks/{chunk.M3O5VPDD.js.map → chunk.23VA56ZY.js.map} +1 -1
  32. package/dist/esm/chunks/chunk.24D46RLZ.js +7 -0
  33. package/dist/esm/chunks/{chunk.HZISALRH.js.map → chunk.24D46RLZ.js.map} +1 -1
  34. package/dist/esm/chunks/chunk.2A3CKLXJ.js +7 -0
  35. package/dist/esm/chunks/{chunk.U5ECVIX5.js.map → chunk.2A3CKLXJ.js.map} +1 -1
  36. package/dist/esm/chunks/chunk.2GY2VPJG.js +7 -0
  37. package/dist/esm/chunks/{chunk.FWJ7SIFA.js.map → chunk.2GY2VPJG.js.map} +1 -1
  38. package/dist/esm/chunks/chunk.2YGKMENJ.js +7 -0
  39. package/dist/esm/chunks/chunk.2YGKMENJ.js.map +7 -0
  40. package/dist/esm/chunks/chunk.33Q5FK2H.js +7 -0
  41. package/dist/esm/chunks/{chunk.LX2HDAIF.js.map → chunk.33Q5FK2H.js.map} +2 -2
  42. package/dist/esm/chunks/chunk.35U4OX7S.js +7 -0
  43. package/dist/esm/chunks/{chunk.E26BROOG.js.map → chunk.35U4OX7S.js.map} +1 -1
  44. package/dist/esm/chunks/chunk.3E5QKMHL.js +7 -0
  45. package/dist/esm/chunks/{chunk.VK6LIH3B.js.map → chunk.3E5QKMHL.js.map} +1 -1
  46. package/dist/esm/chunks/chunk.444GNOS4.js +7 -0
  47. package/dist/esm/chunks/{chunk.FZ6KICMD.js.map → chunk.444GNOS4.js.map} +1 -1
  48. package/dist/esm/chunks/chunk.54QFNVMG.js +7 -0
  49. package/dist/esm/chunks/{chunk.6ZBFCE2A.js.map → chunk.54QFNVMG.js.map} +1 -1
  50. package/dist/esm/chunks/chunk.57XBS3DF.js +7 -0
  51. package/dist/esm/chunks/chunk.57XBS3DF.js.map +7 -0
  52. package/dist/esm/chunks/chunk.5HUDHTAK.js +7 -0
  53. package/dist/esm/chunks/chunk.5HUDHTAK.js.map +7 -0
  54. package/dist/esm/chunks/chunk.5QK7XR2W.js +7 -0
  55. package/dist/esm/chunks/{chunk.EUPO2VO2.js.map → chunk.5QK7XR2W.js.map} +1 -1
  56. package/dist/esm/chunks/chunk.5SRA2RH3.js +7 -0
  57. package/dist/esm/chunks/chunk.5SRA2RH3.js.map +7 -0
  58. package/dist/esm/chunks/chunk.5WMEFHVN.js +7 -0
  59. package/dist/esm/chunks/{chunk.35BJJH5E.js.map → chunk.5WMEFHVN.js.map} +1 -1
  60. package/dist/esm/chunks/chunk.5XQVZQ4U.js +7 -0
  61. package/dist/esm/chunks/chunk.5XQVZQ4U.js.map +7 -0
  62. package/dist/esm/chunks/chunk.6APYGKNX.js +7 -0
  63. package/dist/esm/chunks/{chunk.ZSHQMR4O.js.map → chunk.6APYGKNX.js.map} +1 -1
  64. package/dist/esm/chunks/chunk.6BKOGBE6.js +7 -0
  65. package/dist/esm/chunks/chunk.6BKOGBE6.js.map +7 -0
  66. package/dist/esm/chunks/chunk.6P6VQMTU.js +7 -0
  67. package/dist/esm/chunks/chunk.6P6VQMTU.js.map +7 -0
  68. package/dist/esm/chunks/chunk.7GT5LOI3.js +7 -0
  69. package/dist/esm/chunks/{chunk.V6Q2SM6Y.js.map → chunk.7GT5LOI3.js.map} +1 -1
  70. package/dist/esm/chunks/chunk.7JTKKFL4.js +7 -0
  71. package/dist/esm/chunks/{chunk.GWNR3UUX.js.map → chunk.7JTKKFL4.js.map} +1 -1
  72. package/dist/esm/chunks/chunk.7NXPOEXV.js +7 -0
  73. package/dist/esm/chunks/{chunk.7UAH67PT.js.map → chunk.7NXPOEXV.js.map} +1 -1
  74. package/dist/esm/chunks/chunk.7TQYFMM4.js +7 -0
  75. package/dist/esm/chunks/{chunk.WSH4S3GM.js.map → chunk.7TQYFMM4.js.map} +1 -1
  76. package/dist/esm/chunks/chunk.7WWP6WI6.js +7 -0
  77. package/dist/esm/chunks/chunk.7WWP6WI6.js.map +7 -0
  78. package/dist/esm/chunks/chunk.7ZS4N2FT.js +8 -0
  79. package/dist/esm/chunks/{chunk.WIYLQTSX.js.map → chunk.7ZS4N2FT.js.map} +1 -1
  80. package/dist/esm/chunks/chunk.A23NSEWA.js +7 -0
  81. package/dist/esm/chunks/{chunk.KZATVOA6.js.map → chunk.A23NSEWA.js.map} +1 -1
  82. package/dist/esm/chunks/chunk.A6I4EIPW.js +7 -0
  83. package/dist/esm/chunks/{chunk.L4OUV7W6.js.map → chunk.A6I4EIPW.js.map} +1 -1
  84. package/dist/esm/chunks/chunk.AABG6MSC.js +7 -0
  85. package/dist/esm/chunks/chunk.AABG6MSC.js.map +7 -0
  86. package/dist/esm/chunks/chunk.AFZB3MG5.js +7 -0
  87. package/dist/esm/chunks/{chunk.UQ3QTUUB.js.map → chunk.AFZB3MG5.js.map} +1 -1
  88. package/dist/esm/chunks/chunk.AHOQXJRN.js +7 -0
  89. package/dist/esm/chunks/{chunk.S3UVF647.js.map → chunk.AHOQXJRN.js.map} +1 -1
  90. package/dist/esm/chunks/chunk.AJJILT3A.js +6 -0
  91. package/dist/esm/chunks/{chunk.LM5TVNZY.js.map → chunk.AJJILT3A.js.map} +0 -0
  92. package/dist/esm/chunks/chunk.AMFXGOSA.js +7 -0
  93. package/dist/esm/chunks/{chunk.PBGL3BRX.js.map → chunk.AMFXGOSA.js.map} +1 -1
  94. package/dist/esm/chunks/chunk.AWCBH5KW.js +7 -0
  95. package/dist/esm/chunks/{chunk.RV3E762Y.js.map → chunk.AWCBH5KW.js.map} +1 -1
  96. package/dist/esm/chunks/chunk.B3IJU6XJ.js +7 -0
  97. package/dist/esm/chunks/{chunk.MMIZOYAS.js.map → chunk.B3IJU6XJ.js.map} +1 -1
  98. package/dist/esm/chunks/chunk.B5ABD4CZ.js +7 -0
  99. package/dist/esm/chunks/{chunk.WDD2GTIH.js.map → chunk.B5ABD4CZ.js.map} +1 -1
  100. package/dist/esm/chunks/chunk.BCUBTR5O.js +7 -0
  101. package/dist/esm/chunks/{chunk.3EHQ3YHJ.js.map → chunk.BCUBTR5O.js.map} +1 -1
  102. package/dist/esm/chunks/chunk.BSZ2LBJX.js +7 -0
  103. package/dist/esm/chunks/{chunk.35U3UPDV.js.map → chunk.BSZ2LBJX.js.map} +1 -1
  104. package/dist/esm/chunks/chunk.CSOY4C7A.js +7 -0
  105. package/dist/esm/chunks/{chunk.KNR5DXE4.js.map → chunk.CSOY4C7A.js.map} +1 -1
  106. package/dist/esm/chunks/chunk.CV5E5W6I.js +7 -0
  107. package/dist/esm/chunks/{chunk.YL2NAVJW.js.map → chunk.CV5E5W6I.js.map} +2 -2
  108. package/dist/esm/chunks/chunk.D3DLVPPE.js +7 -0
  109. package/dist/esm/chunks/{chunk.5U6ZT6MC.js.map → chunk.D3DLVPPE.js.map} +1 -1
  110. package/dist/esm/chunks/chunk.D4SNVKDA.js +14 -0
  111. package/dist/esm/chunks/{chunk.BYN27JXZ.js.map → chunk.D4SNVKDA.js.map} +1 -1
  112. package/dist/esm/chunks/chunk.DGDT4UQT.js +7 -0
  113. package/dist/esm/chunks/{chunk.IBED5TWL.js.map → chunk.DGDT4UQT.js.map} +1 -1
  114. package/dist/esm/chunks/chunk.DGOV5RDW.js +29 -0
  115. package/dist/esm/chunks/{chunk.TYU4RLZG.js.map → chunk.DGOV5RDW.js.map} +1 -1
  116. package/dist/esm/chunks/chunk.DGQAYNAF.js +7 -0
  117. package/dist/esm/chunks/{chunk.GHZ75UPO.js.map → chunk.DGQAYNAF.js.map} +1 -1
  118. package/dist/esm/chunks/chunk.DIYJJHWP.js +7 -0
  119. package/dist/esm/chunks/{chunk.THKWQXBJ.js.map → chunk.DIYJJHWP.js.map} +1 -1
  120. package/dist/esm/chunks/chunk.DJSOBAWA.js +7 -0
  121. package/dist/esm/chunks/{chunk.67B6JDOJ.js.map → chunk.DJSOBAWA.js.map} +1 -1
  122. package/dist/esm/chunks/chunk.DRFU6POI.js +7 -0
  123. package/dist/esm/chunks/{chunk.DLF5JAQO.js.map → chunk.DRFU6POI.js.map} +2 -2
  124. package/dist/esm/chunks/chunk.DVYJDQ55.js +7 -0
  125. package/dist/esm/chunks/chunk.DVYJDQ55.js.map +7 -0
  126. package/dist/esm/chunks/chunk.E37HEAJ5.js +7 -0
  127. package/dist/esm/chunks/{chunk.2NMHSTAO.js.map → chunk.E37HEAJ5.js.map} +3 -3
  128. package/dist/esm/chunks/chunk.E43TT4RI.js +7 -0
  129. package/dist/esm/chunks/{chunk.SNAZ6JSS.js.map → chunk.E43TT4RI.js.map} +1 -1
  130. package/dist/esm/chunks/chunk.EC6JSIQW.js +7 -0
  131. package/dist/esm/chunks/{chunk.EY57VTRF.js.map → chunk.EC6JSIQW.js.map} +1 -1
  132. package/dist/esm/chunks/chunk.EM3OQRZP.js +7 -0
  133. package/dist/esm/chunks/chunk.EM3OQRZP.js.map +7 -0
  134. package/dist/esm/chunks/chunk.ESW45SN4.js +7 -0
  135. package/dist/esm/chunks/chunk.ESW45SN4.js.map +7 -0
  136. package/dist/esm/chunks/chunk.F5I55MXD.js +7 -0
  137. package/dist/esm/chunks/chunk.F5I55MXD.js.map +7 -0
  138. package/dist/esm/chunks/chunk.G5BCWBD5.js +7 -0
  139. package/dist/esm/chunks/{chunk.EBC2HGO3.js.map → chunk.G5BCWBD5.js.map} +1 -1
  140. package/dist/esm/chunks/chunk.G76HB2FK.js +7 -0
  141. package/dist/esm/chunks/{chunk.MEFT5FQC.js.map → chunk.G76HB2FK.js.map} +1 -1
  142. package/dist/esm/chunks/chunk.GP7WDYWQ.js +7 -0
  143. package/dist/esm/chunks/chunk.GP7WDYWQ.js.map +7 -0
  144. package/dist/esm/chunks/chunk.GVQVA7P3.js +7 -0
  145. package/dist/esm/chunks/{chunk.6EGTLHJS.js.map → chunk.GVQVA7P3.js.map} +2 -2
  146. package/dist/esm/chunks/chunk.HN4PXH3D.js +7 -0
  147. package/dist/esm/chunks/{chunk.K2PCTUVN.js.map → chunk.HN4PXH3D.js.map} +1 -1
  148. package/dist/esm/chunks/chunk.I33ZJKOX.js +7 -0
  149. package/dist/esm/chunks/{chunk.TM46MNYN.js.map → chunk.I33ZJKOX.js.map} +1 -1
  150. package/dist/esm/chunks/chunk.IBQVV4HR.js +7 -0
  151. package/dist/esm/chunks/{chunk.MBZLA635.js.map → chunk.IBQVV4HR.js.map} +2 -2
  152. package/dist/esm/chunks/chunk.IGMTMR3D.js +7 -0
  153. package/dist/esm/chunks/{chunk.RD4RIFOZ.js.map → chunk.IGMTMR3D.js.map} +1 -1
  154. package/dist/esm/chunks/chunk.IJIKFXUT.js +7 -0
  155. package/dist/esm/chunks/{chunk.K7OLG7CS.js.map → chunk.IJIKFXUT.js.map} +1 -1
  156. package/dist/esm/chunks/chunk.IMK2LFWR.js +7 -0
  157. package/dist/esm/chunks/{chunk.Q4YMHFRY.js.map → chunk.IMK2LFWR.js.map} +1 -1
  158. package/dist/esm/chunks/chunk.J6ERQLHJ.js +7 -0
  159. package/dist/esm/chunks/chunk.J6ERQLHJ.js.map +7 -0
  160. package/dist/esm/chunks/chunk.JXQZMASB.js +7 -0
  161. package/dist/esm/chunks/{chunk.QYWAZCBX.js.map → chunk.JXQZMASB.js.map} +1 -1
  162. package/dist/esm/chunks/chunk.K43ZNKT2.js +7 -0
  163. package/dist/esm/chunks/{chunk.7FWTBD6Y.js.map → chunk.K43ZNKT2.js.map} +1 -1
  164. package/dist/esm/chunks/chunk.K753A3KI.js +29 -0
  165. package/dist/esm/chunks/{chunk.ZXIDTDRC.js.map → chunk.K753A3KI.js.map} +1 -1
  166. package/dist/esm/chunks/chunk.KLHXGSZU.js +7 -0
  167. package/dist/esm/chunks/{chunk.VXVE7KEM.js.map → chunk.KLHXGSZU.js.map} +1 -1
  168. package/dist/esm/chunks/chunk.KZHMDZVS.js +29 -0
  169. package/dist/esm/chunks/{chunk.ITQ55IPH.js.map → chunk.KZHMDZVS.js.map} +1 -1
  170. package/dist/esm/chunks/chunk.LZMYHIO2.js +7 -0
  171. package/dist/esm/chunks/{chunk.GS2AXUCN.js.map → chunk.LZMYHIO2.js.map} +1 -1
  172. package/dist/esm/chunks/chunk.MCIQXNKY.js +7 -0
  173. package/dist/esm/chunks/chunk.MCIQXNKY.js.map +7 -0
  174. package/dist/esm/chunks/chunk.MGTNCCW3.js +7 -0
  175. package/dist/esm/chunks/{chunk.KCVJDJ6K.js.map → chunk.MGTNCCW3.js.map} +1 -1
  176. package/dist/esm/chunks/chunk.MIYZJUXH.js +7 -0
  177. package/dist/esm/chunks/{chunk.WT4W2IFT.js.map → chunk.MIYZJUXH.js.map} +1 -1
  178. package/dist/esm/chunks/chunk.MTMZFAWU.js +7 -0
  179. package/dist/esm/chunks/chunk.MTMZFAWU.js.map +7 -0
  180. package/dist/esm/chunks/chunk.NEGJYSPB.js +7 -0
  181. package/dist/esm/chunks/chunk.NEGJYSPB.js.map +7 -0
  182. package/dist/esm/chunks/chunk.NGIBMR3Q.js +7 -0
  183. package/dist/esm/chunks/{chunk.4PF7WRP4.js.map → chunk.NGIBMR3Q.js.map} +1 -1
  184. package/dist/esm/chunks/chunk.NJHQA266.js +7 -0
  185. package/dist/esm/chunks/chunk.NJHQA266.js.map +7 -0
  186. package/dist/esm/chunks/chunk.O3G6ZLJN.js +7 -0
  187. package/dist/esm/chunks/{chunk.4WLVFWKI.js.map → chunk.O3G6ZLJN.js.map} +1 -1
  188. package/dist/esm/chunks/chunk.OAP3JDBS.js +12 -0
  189. package/dist/esm/chunks/chunk.OAP3JDBS.js.map +7 -0
  190. package/dist/esm/chunks/chunk.OHCHNL3V.js +7 -0
  191. package/dist/esm/chunks/{chunk.HASAPJMX.js.map → chunk.OHCHNL3V.js.map} +1 -1
  192. package/dist/esm/chunks/chunk.OOBE3XRM.js +29 -0
  193. package/dist/esm/chunks/{chunk.HMM7PGGZ.js.map → chunk.OOBE3XRM.js.map} +1 -1
  194. package/dist/esm/chunks/chunk.OUEF6VQ6.js +7 -0
  195. package/dist/esm/chunks/{chunk.OXS2O7RG.js.map → chunk.OUEF6VQ6.js.map} +2 -2
  196. package/dist/esm/chunks/chunk.PBTGGYKX.js +29 -0
  197. package/dist/esm/chunks/{chunk.V2ELLBDP.js.map → chunk.PBTGGYKX.js.map} +1 -1
  198. package/dist/esm/chunks/chunk.PYG4YVBA.js +73 -0
  199. package/dist/esm/chunks/chunk.PYG4YVBA.js.map +7 -0
  200. package/dist/esm/chunks/chunk.QJPH24V4.js +7 -0
  201. package/dist/esm/chunks/{chunk.GXTNND2M.js.map → chunk.QJPH24V4.js.map} +1 -1
  202. package/dist/esm/chunks/chunk.QXLPBYMX.js +7 -0
  203. package/dist/esm/chunks/{chunk.56BNM7F2.js.map → chunk.QXLPBYMX.js.map} +1 -1
  204. package/dist/esm/chunks/chunk.QZHEP4X2.js +29 -0
  205. package/dist/esm/chunks/{chunk.5VKAVHLM.js.map → chunk.QZHEP4X2.js.map} +1 -1
  206. package/dist/esm/chunks/chunk.R46EDURP.js +7 -0
  207. package/dist/esm/chunks/{chunk.JKC5PU23.js.map → chunk.R46EDURP.js.map} +1 -1
  208. package/dist/esm/chunks/chunk.R4NDFXVA.js +7 -0
  209. package/dist/esm/chunks/{chunk.4JURZYE4.js.map → chunk.R4NDFXVA.js.map} +1 -1
  210. package/dist/esm/chunks/chunk.RS5NH2NG.js +7 -0
  211. package/dist/esm/chunks/{chunk.PKZ43JNW.js.map → chunk.RS5NH2NG.js.map} +2 -2
  212. package/dist/esm/chunks/chunk.RZL6S3K3.js +7 -0
  213. package/dist/esm/chunks/chunk.RZL6S3K3.js.map +7 -0
  214. package/dist/esm/chunks/chunk.SFFYXKJW.js +7 -0
  215. package/dist/esm/chunks/{chunk.MUP3NY6M.js.map → chunk.SFFYXKJW.js.map} +2 -2
  216. package/dist/esm/chunks/chunk.SHT6BCLY.js +7 -0
  217. package/dist/esm/chunks/{chunk.BLZJIYMG.js.map → chunk.SHT6BCLY.js.map} +1 -1
  218. package/dist/esm/chunks/chunk.SNGELGOD.js +7 -0
  219. package/dist/esm/chunks/{chunk.5OYAJ36F.js.map → chunk.SNGELGOD.js.map} +1 -1
  220. package/dist/esm/chunks/{chunk.LCWRP2UI.js → chunk.STS5TIUV.js} +2 -32
  221. package/dist/esm/chunks/chunk.STS5TIUV.js.map +7 -0
  222. package/dist/esm/chunks/chunk.SVGEVCXA.js +7 -0
  223. package/dist/esm/chunks/{chunk.VHO7NUMI.js.map → chunk.SVGEVCXA.js.map} +1 -1
  224. package/dist/esm/chunks/chunk.UNTTQM6V.js +7 -0
  225. package/dist/esm/chunks/chunk.UNTTQM6V.js.map +7 -0
  226. package/dist/esm/chunks/chunk.URBXDOF7.js +7 -0
  227. package/dist/esm/chunks/{chunk.ELAJS33V.js.map → chunk.URBXDOF7.js.map} +1 -1
  228. package/dist/esm/chunks/chunk.UUX4QJ4D.js +7 -0
  229. package/dist/esm/chunks/{chunk.BKMWXPAS.js.map → chunk.UUX4QJ4D.js.map} +1 -1
  230. package/dist/esm/chunks/chunk.VEVOKTUX.js +7 -0
  231. package/dist/esm/chunks/{chunk.UPW5HUKB.js.map → chunk.VEVOKTUX.js.map} +1 -1
  232. package/dist/esm/chunks/chunk.VLTJFKGZ.js +7 -0
  233. package/dist/esm/chunks/{chunk.NX5SKZLU.js.map → chunk.VLTJFKGZ.js.map} +1 -1
  234. package/dist/esm/chunks/chunk.VMWS5OOZ.js +7 -0
  235. package/dist/esm/chunks/{chunk.QXZZ2MTF.js.map → chunk.VMWS5OOZ.js.map} +1 -1
  236. package/dist/esm/chunks/chunk.W7UTHKBF.js +7 -0
  237. package/dist/esm/chunks/chunk.W7UTHKBF.js.map +7 -0
  238. package/dist/esm/chunks/chunk.WAEWHBHE.js +7 -0
  239. package/dist/esm/chunks/{chunk.LK2DN5KX.js.map → chunk.WAEWHBHE.js.map} +1 -1
  240. package/dist/esm/chunks/chunk.WGE5R5JK.js +7 -0
  241. package/dist/esm/chunks/chunk.WGE5R5JK.js.map +7 -0
  242. package/dist/esm/chunks/chunk.WKKNDQYZ.js +7 -0
  243. package/dist/esm/chunks/chunk.WKKNDQYZ.js.map +7 -0
  244. package/dist/esm/chunks/chunk.WMO47F6Z.js +7 -0
  245. package/dist/esm/chunks/{chunk.CLEUHAZ6.js.map → chunk.WMO47F6Z.js.map} +1 -1
  246. package/dist/esm/chunks/{chunk.IUNON3UL.js → chunk.WNOSTPQQ.js} +2 -253
  247. package/dist/esm/chunks/{chunk.IUNON3UL.js.map → chunk.WNOSTPQQ.js.map} +1 -1
  248. package/dist/esm/chunks/chunk.WSGJIPQJ.js +7 -0
  249. package/dist/esm/chunks/{chunk.J5NUYQ4D.js.map → chunk.WSGJIPQJ.js.map} +1 -1
  250. package/dist/esm/chunks/chunk.WYVYTAFS.js +7 -0
  251. package/dist/esm/chunks/chunk.WYVYTAFS.js.map +7 -0
  252. package/dist/esm/chunks/chunk.WZRXUTYC.js +7 -0
  253. package/dist/esm/chunks/{chunk.2WBHHTUM.js.map → chunk.WZRXUTYC.js.map} +1 -1
  254. package/dist/esm/chunks/chunk.X2RP4QW3.js +6 -0
  255. package/dist/esm/chunks/chunk.X2RP4QW3.js.map +7 -0
  256. package/dist/esm/chunks/chunk.X77WVI2H.js +7 -0
  257. package/dist/esm/chunks/{chunk.ANME7BKM.js.map → chunk.X77WVI2H.js.map} +1 -1
  258. package/dist/esm/chunks/chunk.XURVHDKR.js +7 -0
  259. package/dist/esm/chunks/{chunk.3QXCVTCP.js.map → chunk.XURVHDKR.js.map} +1 -1
  260. package/dist/esm/chunks/chunk.XXA6KNXT.js +7 -0
  261. package/dist/esm/chunks/{chunk.I7BQUB7Z.js.map → chunk.XXA6KNXT.js.map} +1 -1
  262. package/dist/esm/chunks/chunk.XYBFFTXS.js +29 -0
  263. package/dist/esm/chunks/{chunk.WNVZQDNS.js.map → chunk.XYBFFTXS.js.map} +1 -1
  264. package/dist/esm/chunks/chunk.YFIDBZ7V.js +7 -0
  265. package/dist/esm/chunks/{chunk.ZLF2G3YT.js.map → chunk.YFIDBZ7V.js.map} +1 -1
  266. package/dist/esm/chunks/chunk.YHHIPP2F.js +7 -0
  267. package/dist/esm/chunks/{chunk.QHHYCB7N.js.map → chunk.YHHIPP2F.js.map} +1 -1
  268. package/dist/esm/chunks/chunk.ZHCQBWAG.js +7 -0
  269. package/dist/esm/chunks/{chunk.BEAJZPWS.js.map → chunk.ZHCQBWAG.js.map} +1 -1
  270. package/dist/esm/circular-progress/index.js +1 -22
  271. package/dist/esm/color-picker/index.js +1 -44
  272. package/dist/esm/core/base/index.js +1 -15
  273. package/dist/esm/core/delegates/index.js +1 -14
  274. package/dist/esm/core/index.js +1 -83
  275. package/dist/esm/core/mask/index.js +1 -20
  276. package/dist/esm/core/utils/index.js +1 -46
  277. package/dist/esm/date-picker/index.js +1 -57
  278. package/dist/esm/date-range-picker/index.js +1 -59
  279. package/dist/esm/dialog/index.js +1 -39
  280. package/dist/esm/divider/index.js +1 -16
  281. package/dist/esm/drawer/base/index.js +1 -20
  282. package/dist/esm/drawer/drawer/index.js +1 -20
  283. package/dist/esm/drawer/index.js +1 -51
  284. package/dist/esm/drawer/mini-drawer/index.js +1 -20
  285. package/dist/esm/drawer/modal-drawer/index.js +1 -25
  286. package/dist/esm/expansion-panel/index.js +1 -33
  287. package/dist/esm/file-picker/index.js +1 -36
  288. package/dist/esm/floating-action-button/index.js +1 -23
  289. package/dist/esm/floating-label/index.js +1 -17
  290. package/dist/esm/icon/index.js +1 -48
  291. package/dist/esm/icon-button/index.js +1 -32
  292. package/dist/esm/index.js +1 -1275
  293. package/dist/esm/inline-message/index.js +1 -16
  294. package/dist/esm/keyboard-shortcut/index.js +1 -35
  295. package/dist/esm/label-value/index.js +1 -26
  296. package/dist/esm/linear-progress/index.js +1 -18
  297. package/dist/esm/list/index.js +1 -38
  298. package/dist/esm/list/list/index.js +1 -27
  299. package/dist/esm/list/list-item/index.js +1 -25
  300. package/dist/esm/list-dropdown/index.js +1 -50
  301. package/dist/esm/menu/index.js +1 -48
  302. package/dist/esm/open-icon/index.js +1 -32
  303. package/dist/esm/page-state/index.js +1 -16
  304. package/dist/esm/paginator/index.js +1 -63
  305. package/dist/esm/popup/index.js +1 -25
  306. package/dist/esm/product-icon/index.js +1 -23
  307. package/dist/esm/profile-card/index.js +1 -33
  308. package/dist/esm/quantity-field/index.js +1 -41
  309. package/dist/esm/radio/index.js +1 -20
  310. package/dist/esm/ripple/index.js +1 -26
  311. package/dist/esm/scaffold/index.js +1 -16
  312. package/dist/esm/select/core/index.js +1 -55
  313. package/dist/esm/select/index.js +1 -109
  314. package/dist/esm/select/option/index.js +1 -22
  315. package/dist/esm/select/option-group/index.js +1 -16
  316. package/dist/esm/select/select/index.js +1 -58
  317. package/dist/esm/select/select-dropdown/index.js +1 -54
  318. package/dist/esm/skeleton/index.js +1 -16
  319. package/dist/esm/slider/index.js +1 -30
  320. package/dist/esm/split-view/core/index.js +7 -0
  321. package/dist/esm/split-view/core/index.js.map +7 -0
  322. package/dist/esm/split-view/index.js +7 -0
  323. package/dist/esm/split-view/index.js.map +7 -0
  324. package/dist/esm/split-view/split-view/index.js +7 -0
  325. package/dist/esm/split-view/split-view/index.js.map +7 -0
  326. package/dist/esm/split-view/split-view-panel/index.js +7 -0
  327. package/dist/esm/split-view/split-view-panel/index.js.map +7 -0
  328. package/dist/esm/stepper/index.js +1 -50
  329. package/dist/esm/stepper/step/index.js +1 -35
  330. package/dist/esm/stepper/stepper/index.js +1 -38
  331. package/dist/esm/switch/index.js +1 -29
  332. package/dist/esm/table/index.js +1 -52
  333. package/dist/esm/tabs/index.js +1 -56
  334. package/dist/esm/tabs/tab/index.js +1 -27
  335. package/dist/esm/tabs/tab-bar/index.js +1 -42
  336. package/dist/esm/text-field/index.js +1 -33
  337. package/dist/esm/theme/index.js +1 -11
  338. package/dist/esm/time-picker/index.js +1 -87
  339. package/dist/esm/toast/index.js +1 -37
  340. package/dist/esm/toolbar/index.js +1 -16
  341. package/dist/esm/tooltip/index.js +1 -28
  342. package/dist/esm/utils/index.js +1 -11
  343. package/dist/esm/view-switcher/index.js +1 -34
  344. package/dist/esm/view-switcher/view/index.js +1 -16
  345. package/dist/forge.css +1 -1
  346. package/dist/table/forge-table.css +1 -1
  347. package/esm/app-bar/app-bar.d.ts +3 -3
  348. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +6 -1
  349. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +30 -12
  350. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +4 -0
  351. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +2 -0
  352. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +8 -0
  353. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +22 -0
  354. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +4 -0
  355. package/esm/app-bar/profile-button/app-bar-profile-button.js +14 -0
  356. package/esm/autocomplete/autocomplete-adapter.d.ts +2 -0
  357. package/esm/autocomplete/autocomplete-adapter.js +4 -0
  358. package/esm/autocomplete/autocomplete-foundation.d.ts +15 -16
  359. package/esm/autocomplete/autocomplete-foundation.js +21 -13
  360. package/esm/autocomplete/autocomplete.d.ts +9 -9
  361. package/esm/bottom-sheet/bottom-sheet-adapter.js +1 -1
  362. package/esm/calendar/calendar-foundation.d.ts +14 -14
  363. package/esm/calendar/calendar-foundation.js +5 -5
  364. package/esm/calendar/calendar-utils.d.ts +1 -1
  365. package/esm/calendar/calendar-utils.js +1 -1
  366. package/esm/calendar/calendar.d.ts +7 -7
  367. package/esm/calendar/core/calendar-base.d.ts +7 -7
  368. package/esm/chip-field/chip-field-adapter.d.ts +1 -1
  369. package/esm/chip-field/chip-field-adapter.js +2 -2
  370. package/esm/chip-field/chip-field.js +1 -1
  371. package/esm/chips/chip/chip-foundation.d.ts +1 -1
  372. package/esm/chips/chip/chip.d.ts +2 -2
  373. package/esm/chips/chip/chip.js +1 -1
  374. package/esm/color-picker/color-picker-foundation.d.ts +12 -12
  375. package/esm/color-picker/color-picker-foundation.js +1 -1
  376. package/esm/color-picker/color-picker.d.ts +8 -8
  377. package/esm/core/utils/date-utils.d.ts +1 -1
  378. package/esm/core/utils/event-utils.d.ts +1 -0
  379. package/esm/core/utils/event-utils.js +3 -0
  380. package/esm/core/utils/utils.d.ts +36 -0
  381. package/esm/core/utils/utils.js +57 -0
  382. package/esm/date-picker/base/base-date-picker-adapter.d.ts +8 -8
  383. package/esm/date-picker/base/base-date-picker-constants.d.ts +5 -5
  384. package/esm/date-picker/base/base-date-picker-foundation.d.ts +21 -21
  385. package/esm/date-picker/base/base-date-picker.d.ts +8 -8
  386. package/esm/date-picker/date-picker-foundation.d.ts +6 -6
  387. package/esm/date-picker/date-picker-foundation.js +3 -1
  388. package/esm/date-picker/date-picker.d.ts +1 -1
  389. package/esm/date-range-picker/date-range-picker-foundation.d.ts +11 -11
  390. package/esm/date-range-picker/date-range-picker.d.ts +4 -4
  391. package/esm/dialog/dialog-adapter.js +2 -2
  392. package/esm/dialog/dialog-foundation.d.ts +6 -6
  393. package/esm/dialog/dialog-foundation.js +1 -1
  394. package/esm/dialog/dialog.d.ts +4 -4
  395. package/esm/field/field-adapter.d.ts +4 -4
  396. package/esm/field/field-adapter.js +4 -13
  397. package/esm/field/field-foundation.js +2 -2
  398. package/esm/file-picker/file-picker-adapter.d.ts +4 -4
  399. package/esm/file-picker/file-picker-foundation.d.ts +9 -9
  400. package/esm/file-picker/file-picker.d.ts +6 -6
  401. package/esm/floating-label/floating-label-adapter.js +1 -1
  402. package/esm/index.d.ts +1 -0
  403. package/esm/index.js +3 -0
  404. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +3 -3
  405. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +0 -1
  406. package/esm/keyboard-shortcut/keyboard-shortcut-utils.d.ts +1 -1
  407. package/esm/keyboard-shortcut/keyboard-shortcut-utils.js +5 -5
  408. package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +6 -2
  409. package/esm/keyboard-shortcut/keyboard-shortcut.js +7 -0
  410. package/esm/menu/menu.d.ts +2 -2
  411. package/esm/paginator/paginator-foundation.js +15 -12
  412. package/esm/popup/popup.d.ts +3 -3
  413. package/esm/profile-card/profile-card-adapter.d.ts +4 -0
  414. package/esm/profile-card/profile-card-adapter.js +6 -0
  415. package/esm/profile-card/profile-card-constants.d.ts +4 -0
  416. package/esm/profile-card/profile-card-constants.js +5 -1
  417. package/esm/profile-card/profile-card-foundation.d.ts +6 -0
  418. package/esm/profile-card/profile-card-foundation.js +22 -0
  419. package/esm/profile-card/profile-card.d.ts +4 -0
  420. package/esm/profile-card/profile-card.js +15 -1
  421. package/esm/quantity-field/quantity-field-adapter.d.ts +0 -2
  422. package/esm/quantity-field/quantity-field-adapter.js +2 -14
  423. package/esm/quantity-field/quantity-field-foundation.js +0 -1
  424. package/esm/quantity-field/quantity-field.js +1 -1
  425. package/esm/select/select/select.js +1 -1
  426. package/esm/split-view/core/index.d.ts +6 -0
  427. package/esm/split-view/core/index.js +6 -0
  428. package/esm/split-view/core/split-view-base.d.ts +14 -0
  429. package/esm/split-view/core/split-view-base.js +6 -0
  430. package/esm/split-view/index.d.ts +8 -0
  431. package/esm/split-view/index.js +8 -0
  432. package/esm/split-view/split-view/index.d.ts +10 -0
  433. package/esm/split-view/split-view/index.js +14 -0
  434. package/esm/split-view/split-view/split-view-adapter.d.ts +29 -0
  435. package/esm/split-view/split-view/split-view-adapter.js +62 -0
  436. package/esm/split-view/split-view/split-view-constants.d.ts +41 -0
  437. package/esm/split-view/split-view/split-view-constants.js +40 -0
  438. package/esm/split-view/split-view/split-view-foundation.d.ts +86 -0
  439. package/esm/split-view/split-view/split-view-foundation.js +179 -0
  440. package/esm/split-view/split-view/split-view.d.ts +67 -0
  441. package/esm/split-view/split-view/split-view.js +103 -0
  442. package/esm/split-view/split-view-panel/index.d.ts +11 -0
  443. package/esm/split-view/split-view-panel/index.js +15 -0
  444. package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +171 -0
  445. package/esm/split-view/split-view-panel/split-view-panel-adapter.js +295 -0
  446. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +97 -0
  447. package/esm/split-view/split-view-panel/split-view-panel-constants.js +78 -0
  448. package/esm/split-view/split-view-panel/split-view-panel-foundation.d.ts +235 -0
  449. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +667 -0
  450. package/esm/split-view/split-view-panel/split-view-panel-utils.d.ts +130 -0
  451. package/esm/split-view/split-view-panel/split-view-panel-utils.js +300 -0
  452. package/esm/split-view/split-view-panel/split-view-panel.d.ts +105 -0
  453. package/esm/split-view/split-view-panel/split-view-panel.js +173 -0
  454. package/esm/table/table-utils.d.ts +2 -2
  455. package/esm/table/table-utils.js +31 -15
  456. package/esm/table/table.d.ts +2 -2
  457. package/esm/text-field/text-field-adapter.d.ts +1 -1
  458. package/esm/text-field/text-field-adapter.js +2 -2
  459. package/esm/text-field/text-field.js +1 -1
  460. package/esm/time-picker/time-picker-foundation.d.ts +8 -8
  461. package/esm/time-picker/time-picker-foundation.js +4 -4
  462. package/esm/time-picker/time-picker-utils.d.ts +1 -1
  463. package/esm/time-picker/time-picker.d.ts +8 -8
  464. package/esm/tooltip/tooltip.d.ts +1 -1
  465. package/esm/view-switcher/view-switcher.d.ts +2 -2
  466. package/package.json +2 -2
  467. package/styles/chip-field/_base.scss +2 -2
  468. package/styles/chip-field/_selector.scss +1 -1
  469. package/styles/chip-field/_variables.scss +1 -1
  470. package/styles/chips/chip/_mixins.scss +4 -3
  471. package/styles/chips/chip/_variables.scss +3 -2
  472. package/styles/field/_base.scss +16 -4
  473. package/styles/field/_selector.scss +4 -4
  474. package/styles/quantity-field/_mixins.scss +1 -1
  475. package/styles/select/select/_selector.scss +1 -1
  476. package/styles/split-view/split-view/_mixins.scss +48 -0
  477. package/styles/split-view/split-view/split-view.scss +25 -0
  478. package/styles/split-view/split-view-panel/_mixins.scss +260 -0
  479. package/styles/split-view/split-view-panel/_variables.scss +7 -0
  480. package/styles/split-view/split-view-panel/split-view-panel.scss +23 -0
  481. package/styles/table/_mixins.scss +2 -0
  482. package/dist/esm/chunks/chunk.2MBI5DLT.js +0 -439
  483. package/dist/esm/chunks/chunk.2MBI5DLT.js.map +0 -7
  484. package/dist/esm/chunks/chunk.2NMHSTAO.js +0 -1473
  485. package/dist/esm/chunks/chunk.2WBHHTUM.js +0 -200
  486. package/dist/esm/chunks/chunk.35BJJH5E.js +0 -56
  487. package/dist/esm/chunks/chunk.35U3UPDV.js +0 -70
  488. package/dist/esm/chunks/chunk.3EHQ3YHJ.js +0 -52
  489. package/dist/esm/chunks/chunk.3QXCVTCP.js +0 -73
  490. package/dist/esm/chunks/chunk.46BED43J.js +0 -602
  491. package/dist/esm/chunks/chunk.46BED43J.js.map +0 -7
  492. package/dist/esm/chunks/chunk.4HQ5VELO.js +0 -793
  493. package/dist/esm/chunks/chunk.4HQ5VELO.js.map +0 -7
  494. package/dist/esm/chunks/chunk.4JURZYE4.js +0 -410
  495. package/dist/esm/chunks/chunk.4PF7WRP4.js +0 -450
  496. package/dist/esm/chunks/chunk.4WLVFWKI.js +0 -21
  497. package/dist/esm/chunks/chunk.56BNM7F2.js +0 -202
  498. package/dist/esm/chunks/chunk.5OYAJ36F.js +0 -21
  499. package/dist/esm/chunks/chunk.5U6ZT6MC.js +0 -296
  500. package/dist/esm/chunks/chunk.5VKAVHLM.js +0 -610
  501. package/dist/esm/chunks/chunk.67B6JDOJ.js +0 -654
  502. package/dist/esm/chunks/chunk.6EGTLHJS.js +0 -16
  503. package/dist/esm/chunks/chunk.6ZBFCE2A.js +0 -52
  504. package/dist/esm/chunks/chunk.7FWTBD6Y.js +0 -21
  505. package/dist/esm/chunks/chunk.7I2XNJBL.js +0 -593
  506. package/dist/esm/chunks/chunk.7I2XNJBL.js.map +0 -7
  507. package/dist/esm/chunks/chunk.7UAH67PT.js +0 -634
  508. package/dist/esm/chunks/chunk.ANME7BKM.js +0 -293
  509. package/dist/esm/chunks/chunk.BEAJZPWS.js +0 -72
  510. package/dist/esm/chunks/chunk.BKMWXPAS.js +0 -439
  511. package/dist/esm/chunks/chunk.BLZJIYMG.js +0 -55
  512. package/dist/esm/chunks/chunk.BVGJFMEG.js +0 -760
  513. package/dist/esm/chunks/chunk.BVGJFMEG.js.map +0 -7
  514. package/dist/esm/chunks/chunk.BYN27JXZ.js +0 -51
  515. package/dist/esm/chunks/chunk.CLEUHAZ6.js +0 -732
  516. package/dist/esm/chunks/chunk.D33KLIFD.js +0 -422
  517. package/dist/esm/chunks/chunk.D33KLIFD.js.map +0 -7
  518. package/dist/esm/chunks/chunk.DLF5JAQO.js +0 -552
  519. package/dist/esm/chunks/chunk.E26BROOG.js +0 -291
  520. package/dist/esm/chunks/chunk.EBC2HGO3.js +0 -372
  521. package/dist/esm/chunks/chunk.ELAJS33V.js +0 -145
  522. package/dist/esm/chunks/chunk.EUPO2VO2.js +0 -462
  523. package/dist/esm/chunks/chunk.EY57VTRF.js +0 -33
  524. package/dist/esm/chunks/chunk.FJJVIMZ2.js +0 -176
  525. package/dist/esm/chunks/chunk.FJJVIMZ2.js.map +0 -7
  526. package/dist/esm/chunks/chunk.FWJ7SIFA.js +0 -433
  527. package/dist/esm/chunks/chunk.FZ6KICMD.js +0 -297
  528. package/dist/esm/chunks/chunk.GHZ75UPO.js +0 -342
  529. package/dist/esm/chunks/chunk.GS2AXUCN.js +0 -150
  530. package/dist/esm/chunks/chunk.GWNR3UUX.js +0 -658
  531. package/dist/esm/chunks/chunk.GXTNND2M.js +0 -221
  532. package/dist/esm/chunks/chunk.HASAPJMX.js +0 -110
  533. package/dist/esm/chunks/chunk.HAWYW54W.js +0 -728
  534. package/dist/esm/chunks/chunk.HAWYW54W.js.map +0 -7
  535. package/dist/esm/chunks/chunk.HMM7PGGZ.js +0 -505
  536. package/dist/esm/chunks/chunk.HZISALRH.js +0 -20
  537. package/dist/esm/chunks/chunk.I6PJGNJS.js +0 -401
  538. package/dist/esm/chunks/chunk.I6PJGNJS.js.map +0 -7
  539. package/dist/esm/chunks/chunk.I7BQUB7Z.js +0 -212
  540. package/dist/esm/chunks/chunk.IBED5TWL.js +0 -649
  541. package/dist/esm/chunks/chunk.IGBDDH3J.js +0 -1203
  542. package/dist/esm/chunks/chunk.IGBDDH3J.js.map +0 -7
  543. package/dist/esm/chunks/chunk.IJW2YKP3.js +0 -1347
  544. package/dist/esm/chunks/chunk.IJW2YKP3.js.map +0 -7
  545. package/dist/esm/chunks/chunk.ITQ55IPH.js +0 -1335
  546. package/dist/esm/chunks/chunk.J5NUYQ4D.js +0 -840
  547. package/dist/esm/chunks/chunk.JC2PZ4TS.js +0 -463
  548. package/dist/esm/chunks/chunk.JC2PZ4TS.js.map +0 -7
  549. package/dist/esm/chunks/chunk.JKC5PU23.js +0 -42
  550. package/dist/esm/chunks/chunk.K2PCTUVN.js +0 -139
  551. package/dist/esm/chunks/chunk.K7OLG7CS.js +0 -244
  552. package/dist/esm/chunks/chunk.KCVJDJ6K.js +0 -105
  553. package/dist/esm/chunks/chunk.KNR5DXE4.js +0 -445
  554. package/dist/esm/chunks/chunk.KZATVOA6.js +0 -68
  555. package/dist/esm/chunks/chunk.L4OUV7W6.js +0 -236
  556. package/dist/esm/chunks/chunk.LCWRP2UI.js.map +0 -7
  557. package/dist/esm/chunks/chunk.LHWZ4KZU.js +0 -559
  558. package/dist/esm/chunks/chunk.LHWZ4KZU.js.map +0 -7
  559. package/dist/esm/chunks/chunk.LK2DN5KX.js +0 -72
  560. package/dist/esm/chunks/chunk.LM5TVNZY.js +0 -71
  561. package/dist/esm/chunks/chunk.LX2HDAIF.js +0 -458
  562. package/dist/esm/chunks/chunk.M3O5VPDD.js +0 -742
  563. package/dist/esm/chunks/chunk.MBZLA635.js +0 -684
  564. package/dist/esm/chunks/chunk.MEFT5FQC.js +0 -158
  565. package/dist/esm/chunks/chunk.MMIZOYAS.js +0 -147
  566. package/dist/esm/chunks/chunk.MUP3NY6M.js +0 -912
  567. package/dist/esm/chunks/chunk.NX5SKZLU.js +0 -50
  568. package/dist/esm/chunks/chunk.OXS2O7RG.js +0 -476
  569. package/dist/esm/chunks/chunk.PBGL3BRX.js +0 -27
  570. package/dist/esm/chunks/chunk.PKZ43JNW.js +0 -344
  571. package/dist/esm/chunks/chunk.PM7D2SUE.js +0 -297
  572. package/dist/esm/chunks/chunk.PM7D2SUE.js.map +0 -7
  573. package/dist/esm/chunks/chunk.PNKLV3BK.js +0 -513
  574. package/dist/esm/chunks/chunk.PNKLV3BK.js.map +0 -7
  575. package/dist/esm/chunks/chunk.Q4YMHFRY.js +0 -155
  576. package/dist/esm/chunks/chunk.QD7EPCL6.js +0 -144
  577. package/dist/esm/chunks/chunk.QD7EPCL6.js.map +0 -7
  578. package/dist/esm/chunks/chunk.QHHYCB7N.js +0 -56
  579. package/dist/esm/chunks/chunk.QWW6A7AF.js +0 -603
  580. package/dist/esm/chunks/chunk.QWW6A7AF.js.map +0 -7
  581. package/dist/esm/chunks/chunk.QXZZ2MTF.js +0 -52
  582. package/dist/esm/chunks/chunk.QYWAZCBX.js +0 -258
  583. package/dist/esm/chunks/chunk.RD4RIFOZ.js +0 -307
  584. package/dist/esm/chunks/chunk.RL7ZFLMG.js +0 -801
  585. package/dist/esm/chunks/chunk.RL7ZFLMG.js.map +0 -7
  586. package/dist/esm/chunks/chunk.RV3E762Y.js +0 -73
  587. package/dist/esm/chunks/chunk.S3UVF647.js +0 -168
  588. package/dist/esm/chunks/chunk.SNAZ6JSS.js +0 -22
  589. package/dist/esm/chunks/chunk.THKWQXBJ.js +0 -52
  590. package/dist/esm/chunks/chunk.TIUNGGBF.js +0 -964
  591. package/dist/esm/chunks/chunk.TIUNGGBF.js.map +0 -7
  592. package/dist/esm/chunks/chunk.TM46MNYN.js +0 -417
  593. package/dist/esm/chunks/chunk.TYU4RLZG.js +0 -648
  594. package/dist/esm/chunks/chunk.U37G47LH.js +0 -2994
  595. package/dist/esm/chunks/chunk.U37G47LH.js.map +0 -7
  596. package/dist/esm/chunks/chunk.U5ECVIX5.js +0 -561
  597. package/dist/esm/chunks/chunk.UFMUXBT4.js +0 -317
  598. package/dist/esm/chunks/chunk.UFMUXBT4.js.map +0 -7
  599. package/dist/esm/chunks/chunk.UPW5HUKB.js +0 -136
  600. package/dist/esm/chunks/chunk.UQ3QTUUB.js +0 -173
  601. package/dist/esm/chunks/chunk.V2ELLBDP.js +0 -1591
  602. package/dist/esm/chunks/chunk.V6Q2SM6Y.js +0 -187
  603. package/dist/esm/chunks/chunk.VHO7NUMI.js +0 -37
  604. package/dist/esm/chunks/chunk.VK6LIH3B.js +0 -13
  605. package/dist/esm/chunks/chunk.VXAPRFMK.js +0 -978
  606. package/dist/esm/chunks/chunk.VXAPRFMK.js.map +0 -7
  607. package/dist/esm/chunks/chunk.VXVE7KEM.js +0 -248
  608. package/dist/esm/chunks/chunk.WDD2GTIH.js +0 -73
  609. package/dist/esm/chunks/chunk.WIYLQTSX.js +0 -3550
  610. package/dist/esm/chunks/chunk.WNVZQDNS.js +0 -540
  611. package/dist/esm/chunks/chunk.WSH4S3GM.js +0 -507
  612. package/dist/esm/chunks/chunk.WT4W2IFT.js +0 -92
  613. package/dist/esm/chunks/chunk.XE7ZMJBZ.js +0 -2430
  614. package/dist/esm/chunks/chunk.XE7ZMJBZ.js.map +0 -7
  615. package/dist/esm/chunks/chunk.YL2NAVJW.js +0 -244
  616. package/dist/esm/chunks/chunk.ZLF2G3YT.js +0 -350
  617. package/dist/esm/chunks/chunk.ZSHQMR4O.js +0 -59
  618. package/dist/esm/chunks/chunk.ZXIDTDRC.js +0 -419
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/view-switcher/view-switcher-constants.ts", "../../src/view-switcher/view-switcher-adapter.ts", "../../src/view-switcher/view-switcher-foundation.ts", "../../src/view-switcher/view-switcher.ts", "../../src/view-switcher/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}view-switcher`;\n\nconst classes = {\n ROOT: 'forge-view-switcher',\n VIEW_HIDDEN: 'forge-view-switcher__view--hidden',\n VIEW_SWITCHER_SLIDE: 'forge-view-switcher--slide',\n VIEW_SWITCHER_FADE: 'forge-view-switcher--fade'\n};\n\nconst selectors = {\n ROOT: `.${classes.ROOT}`,\n DEFAULT_SLOT: 'slot:not([name])',\n VIEW_HIDDEN: `.${classes.VIEW_HIDDEN}`\n};\n\nconst attributes = {\n INDEX: 'index',\n ANIMATION_TYPE: 'animation-type'\n};\n\nconst numbers = {\n DEFAULT_TRANSITION_DURATION: 500\n};\n\nexport const VIEW_SWITCHER_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors,\n numbers\n};\n\nexport interface IViewSwitcherView {\n element: HTMLElement;\n}\n\nexport enum ViewAnimationDirection {\n Left = 'left',\n Right = 'right'\n}\n\nexport enum ViewSwitcherAnimationType {\n None = 'none',\n Slide = 'slide',\n Fade = 'fade'\n}\n", "import { getShadowElement, removeClass } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IViewSwitcherComponent } from './view-switcher';\nimport { ViewAnimationDirection, ViewSwitcherAnimationType, VIEW_SWITCHER_CONSTANTS } from './view-switcher-constants';\n\nexport interface IViewSwitcherAdapter extends IBaseAdapter {\n getViewCount(): number;\n startViewObserver(callback: MutationCallback): void;\n stopViewObserver(): void;\n initializeSlideViews(index: number): void;\n initializeFadeViews(index: number): void;\n setActiveView(index: number): void;\n hideInactiveViews(index: number): void;\n transitionToView(fromIndex: number, toIndex: number, animationType: ViewSwitcherAnimationType, direction?: ViewAnimationDirection): Promise<void>;\n setAnimationType(type: ViewSwitcherAnimationType): void;\n}\n\nexport class ViewSwitcherAdapter extends BaseAdapter<IViewSwitcherComponent> implements IViewSwitcherAdapter {\n private _rootElement: HTMLElement;\n private _slotElement: HTMLSlotElement;\n private _viewObserver: MutationObserver;\n\n constructor(component: IViewSwitcherComponent) {\n super(component);\n this._rootElement = getShadowElement(component, VIEW_SWITCHER_CONSTANTS.selectors.ROOT);\n this._slotElement = getShadowElement(component, VIEW_SWITCHER_CONSTANTS.selectors.DEFAULT_SLOT) as HTMLSlotElement;\n }\n\n public getViewCount(): number {\n return this._getViews().length;\n }\n\n public startViewObserver(callback: MutationCallback): void {\n this._viewObserver = new MutationObserver(callback);\n this._viewObserver.observe(this._component, { childList: true });\n }\n\n public stopViewObserver(): void {\n if (this._viewObserver) {\n this._viewObserver.disconnect();\n }\n }\n\n /**\n * Initializes the views with styles for a slide transition.\n * @param index The active view index.\n */\n public initializeSlideViews(index: number): void {\n let views = this._getViews();\n views.forEach((view, i) => {\n // Make sure that we remove properties if they were set from another animation type\n view.style.removeProperty('opacity');\n view.style.removeProperty('display');\n\n // Ensure that the currently active view is visible\n if (i === index) {\n views[index].classList.remove(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n view.style.removeProperty('visibility');\n return;\n }\n\n // We disable the transition when resetting the hidden views so that the animation doesn't occur\n view.style.transition = 'none';\n\n // Ensure the view is hidden\n view.classList.add(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n view.style.visibility = 'hidden';\n\n // Reset the position of the view to the left or right of the switcher\n if (i > index) {\n view.style.transform = 'translate3d(100%, 0, 0)';\n } else {\n view.style.transform = 'translate3d(-100%, 0, 0)';\n }\n });\n\n // Wait a frame for the views to reposition, then re-enable the transition for all hidden views\n window.requestAnimationFrame(() => {\n views = this._getViews();\n views.forEach((v, i) => {\n if (i === index) {\n return;\n }\n v.style.removeProperty('transition');\n });\n });\n }\n\n /**\n * Initializes the view styles when using a fade transition.\n * @param index The active view index.\n */\n public initializeFadeViews(index: number): void {\n const views = this._getViews();\n views.forEach((view, i) => {\n // Make sure that we remove properties if they were set from another animation type\n view.style.removeProperty('transform');\n view.style.removeProperty('display');\n\n // Ensure that the visible view doesn't have the hidden class\n if (i === index) {\n view.classList.remove(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n view.style.removeProperty('visibility');\n return;\n }\n\n // Ensure the hidden views have the proper class\n view.classList.add(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n view.style.visibility = 'hidden';\n });\n\n // Ensure that the visible view has the proper opacity\n if (views[index]) {\n views[index].style.opacity = '1';\n }\n }\n\n /**\n * This is used when no animation type is set to allow for snapping the view into place.\n * @param index The currently active view index.\n */\n public setActiveView(index: number): void {\n const views = this._getViews();\n\n views.forEach((view, i) => {\n if (i === index) {\n return;\n }\n // Hide all non-visible views\n view.classList.add(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n view.style.display = 'none';\n });\n\n // Ensure that the active view is visible\n if (views[index]) {\n views[index].classList.remove(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n views[index].style.removeProperty('display');\n }\n }\n\n /**\n * This is used when no animation type is specific to hide all non-visible views.\n * @param index The currently active view index.\n */\n public hideInactiveViews(index: number): void {\n const views = this._getViews();\n views.forEach((view, i) => {\n // Make sure that we remove properties if they were set from another animation type\n view.style.removeProperty('opacity');\n view.style.removeProperty('transform');\n view.style.removeProperty('visibility');\n\n // Ensure the active view is visible\n if (i === index) {\n view.classList.remove(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n return;\n }\n\n // Ensure all non-active views are hidden\n view.classList.add(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n view.style.display = 'none';\n });\n }\n\n /**\n * Initiates a slide transition from one view to another.\n * @param fromIndex The view index to transition from.\n * @param toIndex The view index to transition to.\n * @param direction The transition animation direction.\n */\n public async transitionToView(fromIndex: number, toIndex: number, animationType: ViewSwitcherAnimationType, direction?: ViewAnimationDirection): Promise<void> {\n const views = this._getViews();\n const fromView = views[fromIndex];\n const toView = views[toIndex];\n\n return new Promise<void>(resolve => {\n // Show the view so we can calculate the height and start the transition in the next frame\n toView.style.removeProperty('visibility');\n\n window.requestAnimationFrame(() => {\n let transitionProp: string;\n switch (animationType) {\n case ViewSwitcherAnimationType.Slide:\n this._slideToView(fromView, toView, direction as ViewAnimationDirection);\n transitionProp = 'transform';\n break;\n case ViewSwitcherAnimationType.Fade:\n this._fadeToView(fromView, toView);\n transitionProp = 'opacity';\n break;\n default:\n return;\n }\n\n // Start the height transition (this will not animate if the height doesn't change)\n this._animateHeight(fromView, toView);\n\n if (fromView) {\n // Wait for the transform transition to complete before resolving and completing transition\n fromView.addEventListener('transitionend', transitionEndHandler);\n } else {\n toView.classList.remove(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n }\n\n function transitionEndHandler(evt: TransitionEvent): void {\n if (evt.propertyName === transitionProp) {\n fromView.removeEventListener('transitionend', transitionEndHandler);\n toView.classList.remove(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n resolve();\n }\n }\n });\n });\n }\n\n /**\n * Initiates a slide transition from one view to another.\n * @param fromIndex The view index to transition from.\n * @param toIndex The view index to transition to.\n * @param direction The transition animation direction.\n */\n private _slideToView(fromView: HTMLElement | null, toView: HTMLElement, direction: ViewAnimationDirection): void {\n // Use a CSS transform on the view to slide it in the requested direction\n if (direction === ViewAnimationDirection.Left) {\n if (fromView) {\n fromView.style.transform = 'translate3d(-100%, 0, 0)';\n }\n toView.style.transform = 'translate3d(0, 0, 0)';\n } else {\n if (fromView) {\n fromView.style.transform = 'translate3d(100%, 0, 0)';\n }\n toView.style.transform = 'translate3d(0, 0, 0)';\n }\n }\n\n private _fadeToView(fromView: HTMLElement | null, toView: HTMLElement): void {\n if (fromView) {\n fromView.style.opacity = '0';\n }\n toView.style.opacity = '1';\n }\n\n /**\n * Attempts to animate the height of our container element to match that of the next view.\n * @param fromIndex The view index we are transitioning from.\n * @param toIndex The view index we are transitioning to.\n */\n private _animateHeight(fromView: HTMLElement | null, toView: HTMLElement): void {\n const fromViewHeight = fromView ? this._getViewHeight(fromView) : 0;\n const toViewHeight = this._getViewHeight(toView);\n\n // We only animate the height if it is different...\n if (fromViewHeight !== toViewHeight) {\n this._rootElement.addEventListener('transitionend', this._onRootTransitionEnd.bind(this));\n\n // Set to the height of the current view so we can animate the height from something static\n this._setHeight(fromViewHeight);\n\n // We need to wait two frames before animating to the new height due to event loop\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n // Start the transition to the new view height\n this._setHeight(toViewHeight);\n });\n });\n }\n }\n\n /**\n * Handles the root container transitionend event.\n * @param evt The transition event.\n */\n private _onRootTransitionEnd(evt: TransitionEvent): void {\n if (evt.propertyName === 'height') {\n this._rootElement.removeEventListener('transitionend', this._onRootTransitionEnd);\n // Removes the static height from the root element so that it can grow with content\n this._rootElement.style.removeProperty('height');\n }\n }\n\n /**\n * Resets the animation type on the root element.\n * @param type The animation type.\n */\n public setAnimationType(type: ViewSwitcherAnimationType): void {\n removeClass([VIEW_SWITCHER_CONSTANTS.classes.VIEW_SWITCHER_SLIDE, VIEW_SWITCHER_CONSTANTS.classes.VIEW_SWITCHER_FADE], this._component);\n\n switch (type) {\n case ViewSwitcherAnimationType.Slide:\n this._component.classList.add(VIEW_SWITCHER_CONSTANTS.classes.VIEW_SWITCHER_SLIDE);\n break;\n case ViewSwitcherAnimationType.Fade:\n this._component.classList.add(VIEW_SWITCHER_CONSTANTS.classes.VIEW_SWITCHER_FADE);\n break;\n }\n }\n\n /**\n * Get all view elements.\n */\n private _getViews(): HTMLElement[] {\n return this._slotElement.assignedNodes().filter(n => n.nodeType === 1) as HTMLElement[];\n }\n\n /**\n * Sets the height on the root container element.\n * @param viewHeight The new height.\n */\n private _setHeight(viewHeight: number): void {\n this._rootElement.style.height = `${viewHeight}px`;\n }\n\n /**\n * Calculate the absolute height of a view.\n * @param view The view to calculate height from.\n */\n private _getViewHeight(view: HTMLElement): number {\n let height = 0;\n const elements = view.children.length ? (Array.from(view.children) as HTMLElement[]) : [view];\n\n for (const element of elements) {\n const styles = window.getComputedStyle(element);\n const margin = parseFloat(styles.marginTop as string) + parseFloat(styles.marginBottom as string);\n height += Math.ceil(element.offsetHeight + margin);\n }\n\n return height;\n }\n}\n", "import { ICustomElementFoundation, Platform, isDefined } from '@tylertech/forge-core';\n\nimport { IViewSwitcherAdapter } from './view-switcher-adapter';\nimport { VIEW_SWITCHER_CONSTANTS, ViewAnimationDirection, ViewSwitcherAnimationType } from './view-switcher-constants';\n\nexport interface IViewSwitcherFoundation extends ICustomElementFoundation {\n index: number;\n animationType: ViewSwitcherAnimationType;\n next(): void;\n previous(): void;\n goToStart(): void;\n goToEnd(): void;\n}\n\nexport class ViewSwitcherFoundation implements IViewSwitcherFoundation {\n private _viewCount = 0;\n private _viewIndex = 0;\n private _animationType = ViewSwitcherAnimationType.None;\n private _viewsChangedListener: () => void;\n\n constructor(private _adapter: IViewSwitcherAdapter) {\n this._viewsChangedListener = () => this._onViewsChanged();\n }\n\n public initialize(): void {\n this._viewCount = this._adapter.getViewCount();\n this._adapter.startViewObserver(this._viewsChangedListener);\n this._adapter.setAnimationType(this._animationType);\n\n if (this._viewCount) {\n this._initializeAnimationType();\n }\n }\n\n public disconnect(): void {\n this._adapter.stopViewObserver();\n }\n\n private _initializeAnimationType(): void {\n switch (this._animationType) {\n case ViewSwitcherAnimationType.Slide:\n this._adapter.initializeSlideViews(this._viewIndex);\n break;\n case ViewSwitcherAnimationType.Fade:\n this._adapter.initializeFadeViews(this._viewIndex);\n break;\n case ViewSwitcherAnimationType.None:\n default:\n this._adapter.hideInactiveViews(this._viewIndex);\n break;\n }\n }\n\n private _onViewsChanged(): void {\n this._viewCount = this._adapter.getViewCount();\n\n if (this._viewCount === 0) {\n this._viewIndex = 0;\n }\n\n if (this._viewCount) {\n this._initializeAnimationType();\n }\n\n // If the view index is higher than the number of views then we need to reset it\n if (this._viewCount > 0 && this._viewIndex >= this._viewCount) {\n const currIndex = this._viewIndex;\n this._viewIndex = this._viewCount > 0 ? this._viewCount - 1 : 0;\n this._goToView(currIndex, this._viewCount);\n }\n }\n\n private async _goToView(fromIndex: number, viewCount?: number): Promise<void> {\n this._viewCount = !isDefined(viewCount) ? this._adapter.getViewCount() : viewCount as number;\n \n // If the index that we're trying to transition to is out of range, or is the same index, then we ignore the transition\n const isValidIndex = this._viewIndex >= 0 && this._viewIndex <= this._viewCount - 1;\n if (!isValidIndex || fromIndex === this._clampedViewIndex(this._viewIndex, this._viewCount)) {\n return;\n }\n\n switch (this._animationType) {\n case ViewSwitcherAnimationType.Slide:\n const animationDirection = this._viewIndex > fromIndex ? ViewAnimationDirection.Left : ViewAnimationDirection.Right;\n await this._adapter.transitionToView(fromIndex, this._viewIndex, ViewSwitcherAnimationType.Slide, animationDirection);\n this._adapter.initializeSlideViews(this._viewIndex);\n break;\n case ViewSwitcherAnimationType.Fade:\n await this._adapter.transitionToView(fromIndex, this._viewIndex, ViewSwitcherAnimationType.Fade);\n this._adapter.initializeFadeViews(this._viewIndex);\n break;\n case ViewSwitcherAnimationType.None:\n default:\n this._adapter.setActiveView(this._viewIndex);\n break;\n }\n }\n\n private _clampedViewIndex(viewIndex: number, viewCount: number): number {\n if (viewIndex < 0) {\n viewIndex = 0;\n } else if (viewIndex > viewCount - 1) {\n viewIndex = viewCount > 0 ? viewCount - 1 : 0;\n }\n return viewIndex;\n }\n\n public next(): void {\n this.index++;\n }\n\n public previous(): void {\n this.index--;\n }\n\n public goToStart(): void {\n this.index = 0;\n }\n\n public goToEnd(): void {\n this.index = this._viewCount - 1;\n }\n\n public get index(): number {\n return this._viewIndex;\n }\n public set index(value: number) {\n if (this._viewIndex !== value) {\n const currIndex = this._viewIndex;\n this._viewIndex = value;\n this._goToView(currIndex);\n this._adapter.setHostAttribute(VIEW_SWITCHER_CONSTANTS.attributes.INDEX, this._viewIndex.toString());\n }\n }\n\n public get animationType(): ViewSwitcherAnimationType {\n return this._animationType;\n }\n public set animationType(value: ViewSwitcherAnimationType) {\n if (this._animationType !== value) {\n this._animationType = value;\n this._initializeAnimationType();\n this._adapter.setAnimationType(this._animationType);\n this._adapter.setHostAttribute(VIEW_SWITCHER_CONSTANTS.attributes.ANIMATION_TYPE, this._animationType);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceNumber, FoundationProperty, upgradeProperty } from '@tylertech/forge-core';\nimport { ViewSwitcherAdapter } from './view-switcher-adapter';\nimport { ViewSwitcherFoundation } from './view-switcher-foundation';\nimport { VIEW_SWITCHER_CONSTANTS, ViewSwitcherAnimationType } from './view-switcher-constants';\nimport { ViewComponent } from './view/view';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-view-switcher\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-view-switcher{height:auto;height:var(--forge-view-switcher-height,auto);position:relative;overflow:hidden;-webkit-transition:height var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:height var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1)}.forge-view-switcher ::slotted(.forge-view-switcher__view--hidden){position:absolute;top:0;right:0;bottom:0;left:0}:host{height:auto;height:var(--forge-view-switcher-height,auto);display:block}:host([hidden]){display:none}:host(.forge-view-switcher--slide) ::slotted(forge-view){-webkit-transition:-webkit-transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:-webkit-transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1),-webkit-transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);will-change:transform}:host(.forge-view-switcher--fade) ::slotted(forge-view){-webkit-transition:opacity var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:opacity var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);will-change:opacity}:host(.forge-view-switcher--fade) ::slotted(.forge-view-switcher__view--hidden){opacity:0}';\n\nexport interface IViewSwitcherComponent extends IBaseComponent {\n index: number;\n animationType: ViewSwitcherAnimationType;\n next(): void;\n previous(): void;\n goToStart(): void;\n goToEnd(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-view-switcher': IViewSwitcherComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-view-switcher>` custom element.\n * \n * @tag forge-view-switcher\n */\n@CustomElement({\n name: VIEW_SWITCHER_CONSTANTS.elementName,\n dependencies: [ViewComponent]\n})\nexport class ViewSwitcherComponent extends BaseComponent implements IViewSwitcherComponent {\n public static get observedAttributes(): string[] {\n return [\n VIEW_SWITCHER_CONSTANTS.attributes.INDEX,\n VIEW_SWITCHER_CONSTANTS.attributes.ANIMATION_TYPE\n ];\n }\n\n private _foundation: ViewSwitcherFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ViewSwitcherFoundation(new ViewSwitcherAdapter(this));\n }\n\n public connectedCallback(): void {\n // upgradeProperty(this, 'index');\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case VIEW_SWITCHER_CONSTANTS.attributes.INDEX:\n this.index = coerceNumber(newValue);\n break;\n case VIEW_SWITCHER_CONSTANTS.attributes.ANIMATION_TYPE:\n this.animationType = newValue as ViewSwitcherAnimationType;\n break;\n }\n }\n\n /** Gets/sets the currently visible view index. */\n @FoundationProperty()\n public index: number;\n \n /** Gets/sets the animation type. */\n @FoundationProperty()\n public animationType: ViewSwitcherAnimationType;\n\n /** Transitions to the next view. */\n public next(): void {\n this._foundation.next();\n }\n\n /** Transitions to the previous view. */\n public previous(): void {\n this._foundation.previous();\n }\n\n /** Transitions to the first view. */\n public goToStart(): void {\n this._foundation.goToStart();\n }\n\n /** Transitions to the last view. */\n public goToEnd(): void {\n this._foundation.goToEnd();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ViewSwitcherComponent } from './view-switcher';\n\nexport * from './view-switcher-adapter';\nexport * from './view-switcher-constants';\nexport * from './view-switcher-foundation';\nexport * from './view-switcher';\nexport * from './view';\n\nexport function defineViewSwitcherComponent(): void {\n defineCustomElement(ViewSwitcherComponent);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}view-switcher`;\n\nconst classes = {\n ROOT: 'forge-view-switcher',\n VIEW_HIDDEN: 'forge-view-switcher__view--hidden',\n VIEW_SWITCHER_SLIDE: 'forge-view-switcher--slide',\n VIEW_SWITCHER_FADE: 'forge-view-switcher--fade'\n};\n\nconst selectors = {\n ROOT: `.${classes.ROOT}`,\n DEFAULT_SLOT: 'slot:not([name])',\n VIEW_HIDDEN: `.${classes.VIEW_HIDDEN}`\n};\n\nconst attributes = {\n INDEX: 'index',\n ANIMATION_TYPE: 'animation-type'\n};\n\nconst numbers = {\n DEFAULT_TRANSITION_DURATION: 500\n};\n\nexport const VIEW_SWITCHER_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors,\n numbers\n};\n\nexport interface IViewSwitcherView {\n element: HTMLElement;\n}\n\nexport enum ViewAnimationDirection {\n Left = 'left',\n Right = 'right'\n}\n\nexport enum ViewSwitcherAnimationType {\n None = 'none',\n Slide = 'slide',\n Fade = 'fade'\n}\n", "import { getShadowElement, removeClass } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IViewSwitcherComponent } from './view-switcher';\nimport { ViewAnimationDirection, ViewSwitcherAnimationType, VIEW_SWITCHER_CONSTANTS } from './view-switcher-constants';\n\nexport interface IViewSwitcherAdapter extends IBaseAdapter {\n getViewCount(): number;\n startViewObserver(callback: MutationCallback): void;\n stopViewObserver(): void;\n initializeSlideViews(index: number): void;\n initializeFadeViews(index: number): void;\n setActiveView(index: number): void;\n hideInactiveViews(index: number): void;\n transitionToView(fromIndex: number, toIndex: number, animationType: ViewSwitcherAnimationType, direction?: ViewAnimationDirection): Promise<void>;\n setAnimationType(type: ViewSwitcherAnimationType): void;\n}\n\nexport class ViewSwitcherAdapter extends BaseAdapter<IViewSwitcherComponent> implements IViewSwitcherAdapter {\n private _rootElement: HTMLElement;\n private _slotElement: HTMLSlotElement;\n private _viewObserver: MutationObserver;\n\n constructor(component: IViewSwitcherComponent) {\n super(component);\n this._rootElement = getShadowElement(component, VIEW_SWITCHER_CONSTANTS.selectors.ROOT);\n this._slotElement = getShadowElement(component, VIEW_SWITCHER_CONSTANTS.selectors.DEFAULT_SLOT) as HTMLSlotElement;\n }\n\n public getViewCount(): number {\n return this._getViews().length;\n }\n\n public startViewObserver(callback: MutationCallback): void {\n this._viewObserver = new MutationObserver(callback);\n this._viewObserver.observe(this._component, { childList: true });\n }\n\n public stopViewObserver(): void {\n if (this._viewObserver) {\n this._viewObserver.disconnect();\n }\n }\n\n /**\n * Initializes the views with styles for a slide transition.\n * @param index The active view index.\n */\n public initializeSlideViews(index: number): void {\n let views = this._getViews();\n views.forEach((view, i) => {\n // Make sure that we remove properties if they were set from another animation type\n view.style.removeProperty('opacity');\n view.style.removeProperty('display');\n\n // Ensure that the currently active view is visible\n if (i === index) {\n views[index].classList.remove(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n view.style.removeProperty('visibility');\n return;\n }\n\n // We disable the transition when resetting the hidden views so that the animation doesn't occur\n view.style.transition = 'none';\n\n // Ensure the view is hidden\n view.classList.add(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n view.style.visibility = 'hidden';\n\n // Reset the position of the view to the left or right of the switcher\n if (i > index) {\n view.style.transform = 'translate3d(100%, 0, 0)';\n } else {\n view.style.transform = 'translate3d(-100%, 0, 0)';\n }\n });\n\n // Wait a frame for the views to reposition, then re-enable the transition for all hidden views\n window.requestAnimationFrame(() => {\n views = this._getViews();\n views.forEach((v, i) => {\n if (i === index) {\n return;\n }\n v.style.removeProperty('transition');\n });\n });\n }\n\n /**\n * Initializes the view styles when using a fade transition.\n * @param index The active view index.\n */\n public initializeFadeViews(index: number): void {\n const views = this._getViews();\n views.forEach((view, i) => {\n // Make sure that we remove properties if they were set from another animation type\n view.style.removeProperty('transform');\n view.style.removeProperty('display');\n\n // Ensure that the visible view doesn't have the hidden class\n if (i === index) {\n view.classList.remove(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n view.style.removeProperty('visibility');\n return;\n }\n\n // Ensure the hidden views have the proper class\n view.classList.add(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n view.style.visibility = 'hidden';\n });\n\n // Ensure that the visible view has the proper opacity\n if (views[index]) {\n views[index].style.opacity = '1';\n }\n }\n\n /**\n * This is used when no animation type is set to allow for snapping the view into place.\n * @param index The currently active view index.\n */\n public setActiveView(index: number): void {\n const views = this._getViews();\n\n views.forEach((view, i) => {\n if (i === index) {\n return;\n }\n // Hide all non-visible views\n view.classList.add(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n view.style.display = 'none';\n });\n\n // Ensure that the active view is visible\n if (views[index]) {\n views[index].classList.remove(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n views[index].style.removeProperty('display');\n }\n }\n\n /**\n * This is used when no animation type is specific to hide all non-visible views.\n * @param index The currently active view index.\n */\n public hideInactiveViews(index: number): void {\n const views = this._getViews();\n views.forEach((view, i) => {\n // Make sure that we remove properties if they were set from another animation type\n view.style.removeProperty('opacity');\n view.style.removeProperty('transform');\n view.style.removeProperty('visibility');\n\n // Ensure the active view is visible\n if (i === index) {\n view.classList.remove(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n return;\n }\n\n // Ensure all non-active views are hidden\n view.classList.add(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n view.style.display = 'none';\n });\n }\n\n /**\n * Initiates a slide transition from one view to another.\n * @param fromIndex The view index to transition from.\n * @param toIndex The view index to transition to.\n * @param direction The transition animation direction.\n */\n public async transitionToView(fromIndex: number, toIndex: number, animationType: ViewSwitcherAnimationType, direction?: ViewAnimationDirection): Promise<void> {\n const views = this._getViews();\n const fromView = views[fromIndex];\n const toView = views[toIndex];\n\n return new Promise<void>(resolve => {\n // Show the view so we can calculate the height and start the transition in the next frame\n toView.style.removeProperty('visibility');\n\n window.requestAnimationFrame(() => {\n let transitionProp: string;\n switch (animationType) {\n case ViewSwitcherAnimationType.Slide:\n this._slideToView(fromView, toView, direction as ViewAnimationDirection);\n transitionProp = 'transform';\n break;\n case ViewSwitcherAnimationType.Fade:\n this._fadeToView(fromView, toView);\n transitionProp = 'opacity';\n break;\n default:\n return;\n }\n\n // Start the height transition (this will not animate if the height doesn't change)\n this._animateHeight(fromView, toView);\n\n if (fromView) {\n // Wait for the transform transition to complete before resolving and completing transition\n fromView.addEventListener('transitionend', transitionEndHandler);\n } else {\n toView.classList.remove(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n }\n\n function transitionEndHandler(evt: TransitionEvent): void {\n if (evt.propertyName === transitionProp) {\n fromView.removeEventListener('transitionend', transitionEndHandler);\n toView.classList.remove(VIEW_SWITCHER_CONSTANTS.classes.VIEW_HIDDEN);\n resolve();\n }\n }\n });\n });\n }\n\n /**\n * Initiates a slide transition from one view to another.\n * @param fromIndex The view index to transition from.\n * @param toIndex The view index to transition to.\n * @param direction The transition animation direction.\n */\n private _slideToView(fromView: HTMLElement | null, toView: HTMLElement, direction: ViewAnimationDirection): void {\n // Use a CSS transform on the view to slide it in the requested direction\n if (direction === ViewAnimationDirection.Left) {\n if (fromView) {\n fromView.style.transform = 'translate3d(-100%, 0, 0)';\n }\n toView.style.transform = 'translate3d(0, 0, 0)';\n } else {\n if (fromView) {\n fromView.style.transform = 'translate3d(100%, 0, 0)';\n }\n toView.style.transform = 'translate3d(0, 0, 0)';\n }\n }\n\n private _fadeToView(fromView: HTMLElement | null, toView: HTMLElement): void {\n if (fromView) {\n fromView.style.opacity = '0';\n }\n toView.style.opacity = '1';\n }\n\n /**\n * Attempts to animate the height of our container element to match that of the next view.\n * @param fromIndex The view index we are transitioning from.\n * @param toIndex The view index we are transitioning to.\n */\n private _animateHeight(fromView: HTMLElement | null, toView: HTMLElement): void {\n const fromViewHeight = fromView ? this._getViewHeight(fromView) : 0;\n const toViewHeight = this._getViewHeight(toView);\n\n // We only animate the height if it is different...\n if (fromViewHeight !== toViewHeight) {\n this._rootElement.addEventListener('transitionend', this._onRootTransitionEnd.bind(this));\n\n // Set to the height of the current view so we can animate the height from something static\n this._setHeight(fromViewHeight);\n\n // We need to wait two frames before animating to the new height due to event loop\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n // Start the transition to the new view height\n this._setHeight(toViewHeight);\n });\n });\n }\n }\n\n /**\n * Handles the root container transitionend event.\n * @param evt The transition event.\n */\n private _onRootTransitionEnd(evt: TransitionEvent): void {\n if (evt.propertyName === 'height') {\n this._rootElement.removeEventListener('transitionend', this._onRootTransitionEnd);\n // Removes the static height from the root element so that it can grow with content\n this._rootElement.style.removeProperty('height');\n }\n }\n\n /**\n * Resets the animation type on the root element.\n * @param type The animation type.\n */\n public setAnimationType(type: ViewSwitcherAnimationType): void {\n removeClass([VIEW_SWITCHER_CONSTANTS.classes.VIEW_SWITCHER_SLIDE, VIEW_SWITCHER_CONSTANTS.classes.VIEW_SWITCHER_FADE], this._component);\n\n switch (type) {\n case ViewSwitcherAnimationType.Slide:\n this._component.classList.add(VIEW_SWITCHER_CONSTANTS.classes.VIEW_SWITCHER_SLIDE);\n break;\n case ViewSwitcherAnimationType.Fade:\n this._component.classList.add(VIEW_SWITCHER_CONSTANTS.classes.VIEW_SWITCHER_FADE);\n break;\n }\n }\n\n /**\n * Get all view elements.\n */\n private _getViews(): HTMLElement[] {\n return this._slotElement.assignedNodes().filter(n => n.nodeType === 1) as HTMLElement[];\n }\n\n /**\n * Sets the height on the root container element.\n * @param viewHeight The new height.\n */\n private _setHeight(viewHeight: number): void {\n this._rootElement.style.height = `${viewHeight}px`;\n }\n\n /**\n * Calculate the absolute height of a view.\n * @param view The view to calculate height from.\n */\n private _getViewHeight(view: HTMLElement): number {\n let height = 0;\n const elements = view.children.length ? (Array.from(view.children) as HTMLElement[]) : [view];\n\n for (const element of elements) {\n const styles = window.getComputedStyle(element);\n const margin = parseFloat(styles.marginTop as string) + parseFloat(styles.marginBottom as string);\n height += Math.ceil(element.offsetHeight + margin);\n }\n\n return height;\n }\n}\n", "import { ICustomElementFoundation, Platform, isDefined } from '@tylertech/forge-core';\n\nimport { IViewSwitcherAdapter } from './view-switcher-adapter';\nimport { VIEW_SWITCHER_CONSTANTS, ViewAnimationDirection, ViewSwitcherAnimationType } from './view-switcher-constants';\n\nexport interface IViewSwitcherFoundation extends ICustomElementFoundation {\n index: number;\n animationType: ViewSwitcherAnimationType;\n next(): void;\n previous(): void;\n goToStart(): void;\n goToEnd(): void;\n}\n\nexport class ViewSwitcherFoundation implements IViewSwitcherFoundation {\n private _viewCount = 0;\n private _viewIndex = 0;\n private _animationType = ViewSwitcherAnimationType.None;\n private _viewsChangedListener: () => void;\n\n constructor(private _adapter: IViewSwitcherAdapter) {\n this._viewsChangedListener = () => this._onViewsChanged();\n }\n\n public initialize(): void {\n this._viewCount = this._adapter.getViewCount();\n this._adapter.startViewObserver(this._viewsChangedListener);\n this._adapter.setAnimationType(this._animationType);\n\n if (this._viewCount) {\n this._initializeAnimationType();\n }\n }\n\n public disconnect(): void {\n this._adapter.stopViewObserver();\n }\n\n private _initializeAnimationType(): void {\n switch (this._animationType) {\n case ViewSwitcherAnimationType.Slide:\n this._adapter.initializeSlideViews(this._viewIndex);\n break;\n case ViewSwitcherAnimationType.Fade:\n this._adapter.initializeFadeViews(this._viewIndex);\n break;\n case ViewSwitcherAnimationType.None:\n default:\n this._adapter.hideInactiveViews(this._viewIndex);\n break;\n }\n }\n\n private _onViewsChanged(): void {\n this._viewCount = this._adapter.getViewCount();\n\n if (this._viewCount === 0) {\n this._viewIndex = 0;\n }\n\n if (this._viewCount) {\n this._initializeAnimationType();\n }\n\n // If the view index is higher than the number of views then we need to reset it\n if (this._viewCount > 0 && this._viewIndex >= this._viewCount) {\n const currIndex = this._viewIndex;\n this._viewIndex = this._viewCount > 0 ? this._viewCount - 1 : 0;\n this._goToView(currIndex, this._viewCount);\n }\n }\n\n private async _goToView(fromIndex: number, viewCount?: number): Promise<void> {\n this._viewCount = !isDefined(viewCount) ? this._adapter.getViewCount() : viewCount as number;\n \n // If the index that we're trying to transition to is out of range, or is the same index, then we ignore the transition\n const isValidIndex = this._viewIndex >= 0 && this._viewIndex <= this._viewCount - 1;\n if (!isValidIndex || fromIndex === this._clampedViewIndex(this._viewIndex, this._viewCount)) {\n return;\n }\n\n switch (this._animationType) {\n case ViewSwitcherAnimationType.Slide:\n const animationDirection = this._viewIndex > fromIndex ? ViewAnimationDirection.Left : ViewAnimationDirection.Right;\n await this._adapter.transitionToView(fromIndex, this._viewIndex, ViewSwitcherAnimationType.Slide, animationDirection);\n this._adapter.initializeSlideViews(this._viewIndex);\n break;\n case ViewSwitcherAnimationType.Fade:\n await this._adapter.transitionToView(fromIndex, this._viewIndex, ViewSwitcherAnimationType.Fade);\n this._adapter.initializeFadeViews(this._viewIndex);\n break;\n case ViewSwitcherAnimationType.None:\n default:\n this._adapter.setActiveView(this._viewIndex);\n break;\n }\n }\n\n private _clampedViewIndex(viewIndex: number, viewCount: number): number {\n if (viewIndex < 0) {\n viewIndex = 0;\n } else if (viewIndex > viewCount - 1) {\n viewIndex = viewCount > 0 ? viewCount - 1 : 0;\n }\n return viewIndex;\n }\n\n public next(): void {\n this.index++;\n }\n\n public previous(): void {\n this.index--;\n }\n\n public goToStart(): void {\n this.index = 0;\n }\n\n public goToEnd(): void {\n this.index = this._viewCount - 1;\n }\n\n public get index(): number {\n return this._viewIndex;\n }\n public set index(value: number) {\n if (this._viewIndex !== value) {\n const currIndex = this._viewIndex;\n this._viewIndex = value;\n this._goToView(currIndex);\n this._adapter.setHostAttribute(VIEW_SWITCHER_CONSTANTS.attributes.INDEX, this._viewIndex.toString());\n }\n }\n\n public get animationType(): ViewSwitcherAnimationType {\n return this._animationType;\n }\n public set animationType(value: ViewSwitcherAnimationType) {\n if (this._animationType !== value) {\n this._animationType = value;\n this._initializeAnimationType();\n this._adapter.setAnimationType(this._animationType);\n this._adapter.setHostAttribute(VIEW_SWITCHER_CONSTANTS.attributes.ANIMATION_TYPE, this._animationType);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceNumber, FoundationProperty, upgradeProperty } from '@tylertech/forge-core';\nimport { ViewSwitcherAdapter } from './view-switcher-adapter';\nimport { ViewSwitcherFoundation } from './view-switcher-foundation';\nimport { VIEW_SWITCHER_CONSTANTS, ViewSwitcherAnimationType } from './view-switcher-constants';\nimport { ViewComponent } from './view/view';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-view-switcher\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-view-switcher{height:auto;height:var(--forge-view-switcher-height,auto);position:relative;overflow:hidden;-webkit-transition:height var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:height var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1)}.forge-view-switcher ::slotted(.forge-view-switcher__view--hidden){position:absolute;top:0;right:0;bottom:0;left:0}:host{height:auto;height:var(--forge-view-switcher-height,auto);display:block}:host([hidden]){display:none}:host(.forge-view-switcher--slide) ::slotted(forge-view){-webkit-transition:-webkit-transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:-webkit-transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1),-webkit-transform var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);will-change:transform}:host(.forge-view-switcher--fade) ::slotted(forge-view){-webkit-transition:opacity var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);transition:opacity var(--forge-view-switcher-animation-duration, 500ms) cubic-bezier(.35, 0, .25, 1);will-change:opacity}:host(.forge-view-switcher--fade) ::slotted(.forge-view-switcher__view--hidden){opacity:0}';\n\nexport interface IViewSwitcherComponent extends IBaseComponent {\n index: number;\n animationType: `${ViewSwitcherAnimationType}`;\n next(): void;\n previous(): void;\n goToStart(): void;\n goToEnd(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-view-switcher': IViewSwitcherComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-view-switcher>` custom element.\n * \n * @tag forge-view-switcher\n */\n@CustomElement({\n name: VIEW_SWITCHER_CONSTANTS.elementName,\n dependencies: [ViewComponent]\n})\nexport class ViewSwitcherComponent extends BaseComponent implements IViewSwitcherComponent {\n public static get observedAttributes(): string[] {\n return [\n VIEW_SWITCHER_CONSTANTS.attributes.INDEX,\n VIEW_SWITCHER_CONSTANTS.attributes.ANIMATION_TYPE\n ];\n }\n\n private _foundation: ViewSwitcherFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ViewSwitcherFoundation(new ViewSwitcherAdapter(this));\n }\n\n public connectedCallback(): void {\n // upgradeProperty(this, 'index');\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case VIEW_SWITCHER_CONSTANTS.attributes.INDEX:\n this.index = coerceNumber(newValue);\n break;\n case VIEW_SWITCHER_CONSTANTS.attributes.ANIMATION_TYPE:\n this.animationType = newValue as ViewSwitcherAnimationType;\n break;\n }\n }\n\n /** Gets/sets the currently visible view index. */\n @FoundationProperty()\n public index: number;\n \n /** Gets/sets the animation type. */\n @FoundationProperty()\n public animationType: `${ViewSwitcherAnimationType}`;\n\n /** Transitions to the next view. */\n public next(): void {\n this._foundation.next();\n }\n\n /** Transitions to the previous view. */\n public previous(): void {\n this._foundation.previous();\n }\n\n /** Transitions to the first view. */\n public goToStart(): void {\n this._foundation.goToStart();\n }\n\n /** Transitions to the last view. */\n public goToEnd(): void {\n this._foundation.goToEnd();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ViewSwitcherComponent } from './view-switcher';\n\nexport * from './view-switcher-adapter';\nexport * from './view-switcher-constants';\nexport * from './view-switcher-foundation';\nexport * from './view-switcher';\nexport * from './view';\n\nexport function defineViewSwitcherComponent(): void {\n defineCustomElement(ViewSwitcherComponent);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{b as E}from"./chunk.SVGEVCXA.js";import{a as k}from"./chunk.2GY2VPJG.js";import{a as O}from"./chunk.MIYZJUXH.js";import{a as A}from"./chunk.A23NSEWA.js";import{a as l}from"./chunk.B3IJU6XJ.js";import{a as T,b as I}from"./chunk.BSZ2LBJX.js";import{a as x}from"./chunk.3E5QKMHL.js";import{a as C,e as v,g as u}from"./chunk.HN4PXH3D.js";import{d as _}from"./chunk.R4NDFXVA.js";import{b as d,c as h,k as f,l as b}from"./chunk.G76HB2FK.js";import{f as s}from"./chunk.MCIQXNKY.js";var y=`${I}avatar`,N={IMAGE_URL:"image-url",TEXT:"text",LETTER_COUNT:"letter-count",AUTO_COLOR:"auto-color"},R={DEFAULT_LETTER_COUNT:2},L={ROOT:".forge-avatar",DEFAULT_SLOT:".forge-avatar > slot:not([name])"},S={DEFAULT_COLOR:k.themeColors.tertiary,BACKGROUND_VARNAME:"--forge-avatar-theme-background"},e={elementName:y,attributes:N,numbers:R,selectors:L,strings:S};var m=class extends A{constructor(o){super(o);this._root=u(this._component,e.selectors.ROOT),this._defaultSlot=u(this._component,e.selectors.DEFAULT_SLOT)}setBackgroundColor(o){this._root.style.backgroundColor=`var(${e.strings.BACKGROUND_VARNAME}, ${o})`}setBackgroundImageUrl(o){let i=this._root.style.backgroundColor;return this._root.style.backgroundColor="inherit",new Promise(p=>{let n=new Image;n.onload=()=>{this._root.style.backgroundImage=`url(${n.src})`,p(!0)},n.onerror=()=>{this._root.style.backgroundColor=i,p(!1)},n.src=o})}removeBackgroundImage(){this._root.style.removeProperty("background-image")}setText(o){this._defaultSlot.textContent=o}clearText(){_(this._defaultSlot)}};var g=class{constructor(t){this._adapter=t;this._text="";this._letterCount=e.numbers.DEFAULT_LETTER_COUNT;this._autoColor=!1;this._initialized=!1}initialize(){this._render(),this._initialized=!0}disconnect(){this._initialized=!1}_render(){this._setText(),this._setBackgroundImageUrl()}async _setBackgroundImageUrl(){this._imageUrl?await this._adapter.setBackgroundImageUrl(this._imageUrl)&&this._adapter.clearText():this._adapter.removeBackgroundImage()}_setText(){let t=this._getTextContent(this._text,this._letterCount);t?this._adapter.setText(t):this._adapter.clearText();let o=this._autoColor?E(t):e.strings.DEFAULT_COLOR;this._adapter.setBackgroundColor(o)}_getTextContent(t,o){if(!t||!h(t)||o<=0)return"";let i;return o===1?i=t[0].toUpperCase():i=(t.match(/\S+/g)||[]).slice(0,o).reduce((p,n)=>p+=n[0].toUpperCase(),""),i}get text(){return this._text}set text(t){this._text!==t&&(this._text=t||"",this._adapter.setHostAttribute(e.attributes.TEXT,this._text),this._initialized&&this._render())}get letterCount(){return this._letterCount}set letterCount(t){this._letterCount!==t&&(this._letterCount=t,this._adapter.setHostAttribute(e.attributes.LETTER_COUNT,d(this._letterCount)?this._letterCount.toString():""),this._initialized&&this._render())}get imageUrl(){return this._imageUrl}set imageUrl(t){this._imageUrl!==t&&(this._imageUrl=t,this._initialized&&this._render())}get autoColor(){return this._autoColor}set autoColor(t){this._autoColor!==t&&(this._autoColor=t,this._setText(),this._adapter.setHostAttribute(e.attributes.AUTO_COLOR,d(this._autoColor)?this._autoColor.toString():""))}};var w='<template><div class="forge-avatar" aria-hidden="true" part="root"><slot></slot></div></template>',B=":host{display:inline-block;contain:content}:host([hidden]){display:none}.forge-avatar{-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);font-size:1rem;font-size:var(--forge-avatar-font-size, 1rem);font-weight:400;font-weight:var(--forge-avatar-font-weight,400);background-color:none;background-color:var(--forge-avatar-theme-background,none);height:40px;height:var(--forge-avatar-size,40px);width:40px;width:var(--forge-avatar-size,40px);color:#fff;color:var(--forge-avatar-theme-on-background,#fff);border-radius:50%;border-radius:var(--forge-avatar-radius,50%);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;background-position:center;background-repeat:no-repeat;background-size:cover;overflow:hidden;-webkit-transition:height .2s cubic-bezier(.4, 0, .2, 1),width .2s cubic-bezier(.4, 0, .2, 1);transition:height .2s cubic-bezier(.4, 0, .2, 1),width .2s cubic-bezier(.4, 0, .2, 1)}",r=class extends x{constructor(){super();v(this,w,B),this._foundation=new g(new m(this))}static get observedAttributes(){return[e.attributes.TEXT,e.attributes.LETTER_COUNT,e.attributes.IMAGE_URL,e.attributes.AUTO_COLOR]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(o,i,a){switch(o){case e.attributes.TEXT:this.text=a;break;case e.attributes.LETTER_COUNT:this.letterCount=b(a);break;case e.attributes.IMAGE_URL:this.imageUrl=a;break;case e.attributes.AUTO_COLOR:this.autoColor=f(a);break}}};s([l()],r.prototype,"text",2),s([l()],r.prototype,"letterCount",2),s([l()],r.prototype,"imageUrl",2),s([l()],r.prototype,"autoColor",2),r=s([T({name:e.elementName})],r);var U=class extends O{constructor(t){super(t)}_build(){return document.createElement(e.elementName)}};function pt(){C(r)}export{e as a,m as b,g as c,r as d,U as e,pt as f};
7
+ //# sourceMappingURL=chunk.35U4OX7S.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/avatar/avatar-constants.ts", "../../src/avatar/avatar-adapter.ts", "../../src/avatar/avatar-foundation.ts", "../../src/avatar/avatar.ts", "../../src/avatar/avatar-component-delegate.ts", "../../src/avatar/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { COLOR_CONSTANTS } from '../theme';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}avatar`;\n\nconst attributes = {\n IMAGE_URL: 'image-url',\n TEXT: 'text',\n LETTER_COUNT: 'letter-count',\n AUTO_COLOR: 'auto-color'\n};\n\nconst numbers = {\n DEFAULT_LETTER_COUNT: 2\n};\n\nconst selectors = {\n ROOT: '.forge-avatar',\n DEFAULT_SLOT: '.forge-avatar > slot:not([name])'\n};\n\nconst strings = {\n DEFAULT_COLOR: COLOR_CONSTANTS.themeColors.tertiary,\n BACKGROUND_VARNAME: '--forge-avatar-theme-background'\n};\n\nexport const AVATAR_CONSTANTS = {\n elementName,\n attributes,\n numbers,\n selectors,\n strings\n};\n", "import { getShadowElement, removeAllChildren } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IAvatarComponent } from './avatar';\nimport { AVATAR_CONSTANTS } from './avatar-constants';\n\nexport interface IAvatarAdapter extends IBaseAdapter {\n setBackgroundColor(color: string): void;\n setBackgroundImageUrl(url: string): Promise<boolean>;\n removeBackgroundImage(): void;\n setText(value: string): void;\n clearText(): void;\n}\n\n/**\n * The DOM adapter behind the `<forge-avatar>` element.\n */\nexport class AvatarAdapter extends BaseAdapter<IAvatarComponent> implements IAvatarAdapter {\n private _root: HTMLElement;\n private _defaultSlot: HTMLSlotElement;\n\n constructor(component: IAvatarComponent) {\n super(component);\n this._root = getShadowElement(this._component, AVATAR_CONSTANTS.selectors.ROOT);\n this._defaultSlot = getShadowElement(this._component, AVATAR_CONSTANTS.selectors.DEFAULT_SLOT) as HTMLSlotElement;\n }\n\n /**\n * Sets the `backgroundColor` style on the content element.\n * @param {string} value The background color.\n */\n public setBackgroundColor(value: string): void {\n this._root.style.backgroundColor = `var(${AVATAR_CONSTANTS.strings.BACKGROUND_VARNAME}, ${value})`;\n }\n\n /**\n * Sets the background image URL.\n * @param url The URL.\n */\n public setBackgroundImageUrl(url: string): Promise<boolean> {\n const backgroundColor = this._root.style.backgroundColor;\n // doing his before the promise so it doesn't flash a color before loading\n this._root.style.backgroundColor = 'inherit';\n\n const loadResult = new Promise<boolean>(resolve => {\n const image = new Image();\n image.onload = () => {\n this._root.style.backgroundImage = `url(${image.src})`;\n resolve(true);\n };\n\n image.onerror = () => {\n this._root.style.backgroundColor = backgroundColor;\n resolve(false);\n };\n\n image.src = url;\n });\n\n return loadResult;\n }\n\n /**\n * Removes the background image URL.\n */\n public removeBackgroundImage(): void {\n this._root.style.removeProperty('background-image');\n }\n\n /**\n * Sets the avatar text content.\n * @param value The text value.\n */\n public setText(value: string): void {\n this._defaultSlot.textContent = value;\n }\n\n public clearText(): void {\n removeAllChildren(this._defaultSlot);\n }\n}\n", "import { ICustomElementFoundation, isDefined, isString } from '@tylertech/forge-core';\nimport { getTextColor } from '../utils/color-utils';\nimport { IAvatarAdapter } from './avatar-adapter';\nimport { AVATAR_CONSTANTS } from './avatar-constants';\n\n\n\nexport interface IAvatarFoundation extends ICustomElementFoundation {\n imageUrl: string;\n text: string;\n letterCount: number;\n autoColor: boolean;\n}\n\n/**\n * The custom element class behind the `<forge-avatar>` class.\n */\nexport class AvatarFoundation implements IAvatarFoundation {\n private _imageUrl: string;\n private _text = '';\n private _letterCount = AVATAR_CONSTANTS.numbers.DEFAULT_LETTER_COUNT;\n private _autoColor = false;\n private _initialized = false;\n\n constructor(private _adapter: IAvatarAdapter) {}\n\n public initialize(): void {\n this._render();\n this._initialized = true;\n }\n\n public disconnect(): void {\n this._initialized = false;\n }\n\n private _render(): void {\n this._setText();\n this._setBackgroundImageUrl();\n }\n\n private async _setBackgroundImageUrl(): Promise<void> {\n if (this._imageUrl) {\n if (await this._adapter.setBackgroundImageUrl(this._imageUrl)) {\n this._adapter.clearText();\n }\n } else {\n this._adapter.removeBackgroundImage();\n }\n }\n\n private _setText(): void {\n const data = this._getTextContent(this._text, this._letterCount);\n\n if (data) {\n this._adapter.setText(data);\n } else {\n this._adapter.clearText();\n }\n\n const color = this._autoColor ? getTextColor(data) : AVATAR_CONSTANTS.strings.DEFAULT_COLOR;\n this._adapter.setBackgroundColor(color);\n }\n\n /**\n * Gets the text content to display in the avatar.\n * @param {string} value The text to parse.\n */\n private _getTextContent(value: string, count: number): string {\n if (!value || !isString(value) || count <= 0) {\n return '';\n }\n\n let text: string;\n\n if (count === 1) {\n text = value[0].toUpperCase();\n } else {\n const words = value.match(/\\S+/g) || [];\n text = words.slice(0, count).reduce((prev, curr) => prev += curr[0].toUpperCase(), '');\n }\n\n return text;\n }\n\n /** Gets/sets the text to display. */\n public get text(): string {\n return this._text;\n }\n public set text(value: string) {\n if (this._text !== value) {\n this._text = value || '';\n this._adapter.setHostAttribute(AVATAR_CONSTANTS.attributes.TEXT, this._text);\n if (this._initialized) {\n this._render();\n }\n }\n }\n\n /** Controls the number of letters to display from the text. By default the text is split on spaces and the first character of each word is used. */\n public get letterCount(): number {\n return this._letterCount;\n }\n public set letterCount(value: number) {\n if (this._letterCount !== value) {\n this._letterCount = value;\n this._adapter.setHostAttribute(AVATAR_CONSTANTS.attributes.LETTER_COUNT, isDefined(this._letterCount) ? this._letterCount.toString() : '');\n if (this._initialized) {\n this._render();\n }\n }\n }\n\n /** Sets the background image URL to use. */\n public get imageUrl(): string {\n return this._imageUrl;\n }\n public set imageUrl(value: string) {\n if (this._imageUrl !== value) {\n this._imageUrl = value;\n if (this._initialized) {\n this._render();\n }\n }\n }\n\n /** Controls whether the background color set automatically based on the text value. Does not have any effect when an image URL is specified. */\n public get autoColor(): boolean {\n return this._autoColor;\n }\n public set autoColor(value: boolean) {\n if (this._autoColor !== value) {\n this._autoColor = value;\n this._setText();\n this._adapter.setHostAttribute(AVATAR_CONSTANTS.attributes.AUTO_COLOR, isDefined(this._autoColor) ? this._autoColor.toString() : '');\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceNumber, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\n\nimport { AvatarAdapter } from './avatar-adapter';\nimport { AvatarFoundation } from './avatar-foundation';\nimport { AVATAR_CONSTANTS } from './avatar-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-avatar\\\" aria-hidden=\\\"true\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = ':host{display:inline-block;contain:content}:host([hidden]){display:none}.forge-avatar{-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);font-size:1rem;font-size:var(--forge-avatar-font-size, 1rem);font-weight:400;font-weight:var(--forge-avatar-font-weight,400);background-color:none;background-color:var(--forge-avatar-theme-background,none);height:40px;height:var(--forge-avatar-size,40px);width:40px;width:var(--forge-avatar-size,40px);color:#fff;color:var(--forge-avatar-theme-on-background,#fff);border-radius:50%;border-radius:var(--forge-avatar-radius,50%);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;background-position:center;background-repeat:no-repeat;background-size:cover;overflow:hidden;-webkit-transition:height .2s cubic-bezier(.4, 0, .2, 1),width .2s cubic-bezier(.4, 0, .2, 1);transition:height .2s cubic-bezier(.4, 0, .2, 1),width .2s cubic-bezier(.4, 0, .2, 1)}';\n\nexport interface IAvatarComponent extends IBaseComponent {\n imageUrl: string;\n text: string;\n letterCount: number;\n autoColor: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-avatar': IAvatarComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-avatar>` element.\n * \n * @tag forge-avatar\n */\n@CustomElement({\n name: AVATAR_CONSTANTS.elementName\n})\nexport class AvatarComponent extends BaseComponent implements IAvatarComponent {\n public static get observedAttributes(): string[] {\n return [\n AVATAR_CONSTANTS.attributes.TEXT,\n AVATAR_CONSTANTS.attributes.LETTER_COUNT,\n AVATAR_CONSTANTS.attributes.IMAGE_URL,\n AVATAR_CONSTANTS.attributes.AUTO_COLOR\n ];\n }\n\n private _foundation: AvatarFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new AvatarFoundation(new AvatarAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case AVATAR_CONSTANTS.attributes.TEXT:\n this.text = newValue;\n break;\n case AVATAR_CONSTANTS.attributes.LETTER_COUNT:\n this.letterCount = coerceNumber(newValue);\n break;\n case AVATAR_CONSTANTS.attributes.IMAGE_URL:\n this.imageUrl = newValue;\n break;\n case AVATAR_CONSTANTS.attributes.AUTO_COLOR:\n this.autoColor = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets/sets the text to display. */\n @FoundationProperty()\n public text: string;\n\n /** Controls the number of letters to display from the text. By default the text is split on spaces and the first character of each word is used. */\n @FoundationProperty()\n public letterCount: number;\n\n /** Sets the background image URL to use. */\n @FoundationProperty()\n public imageUrl: string;\n\n /** Controls whether the background color is set automatically based on the text value. Does not have any effect when an image URL is specified. */\n @FoundationProperty()\n public autoColor: boolean;\n}\n", "import { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IAvatarComponent } from './avatar';\nimport { AVATAR_CONSTANTS } from './avatar-constants';\n\nexport type AvatarComponentDelegateProps = Partial<IAvatarComponent>;\nexport interface IAvatarComponentDelegateOptions extends IBaseComponentDelegateOptions {}\nexport interface IAvatarComponentDelegateConfig extends IBaseComponentDelegateConfig<IAvatarComponent, IAvatarComponentDelegateOptions> {}\n\nexport class AvatarComponentDelegate extends BaseComponentDelegate<IAvatarComponent, IAvatarComponentDelegateOptions> {\n constructor(config?: IAvatarComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IAvatarComponent {\n return document.createElement(AVATAR_CONSTANTS.elementName);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AvatarComponent } from './avatar';\n\nexport * from './avatar-adapter';\nexport * from './avatar-constants';\nexport * from './avatar-foundation';\nexport * from './avatar';\nexport * from './avatar-component-delegate';\n\nexport function defineAvatarComponent(): void {\n defineCustomElement(AvatarComponent);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ var e=class extends HTMLElement{};export{e as a};
7
+ //# sourceMappingURL=chunk.3E5QKMHL.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/core/base/base-component.ts"],
4
4
  "sourcesContent": ["import { ICustomElement } from '@tylertech/forge-core';\n\nexport interface IBaseComponent extends ICustomElement {}\n\n/** Any Custom HTML element. Some elements directly implement this interface, while others implement it via an interface that inherits it. */\nexport abstract class BaseComponent extends HTMLElement implements IBaseComponent {}\n"],
5
- "mappings": ";AAKO,IAAe,gBAAf,cAAqC,YAAsC;AAAC;",
5
+ "mappings": "AAKO,GAAe,GAAf,aAAqC,YAAsC,CAAC",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as n}from"./chunk.2GY2VPJG.js";import{a as g}from"./chunk.A23NSEWA.js";import{a as l}from"./chunk.B3IJU6XJ.js";import{a as I,b as S}from"./chunk.BSZ2LBJX.js";import{a as f}from"./chunk.3E5QKMHL.js";import{a as T,e as E,g as _}from"./chunk.HN4PXH3D.js";import{g as h,p as O}from"./chunk.R4NDFXVA.js";import{k as C,l as c}from"./chunk.G76HB2FK.js";import{f as s}from"./chunk.MCIQXNKY.js";var A=`${S}product-icon`,d={PRODUCT_ICON_BACKGROUND:"forge-product-icon__background",PRODUCT_ICON:"forge-product-icon__icon",PRODUCT_TEXT:"forge-product-icon__text"},x={PRODUCT_ICON_BACKGROUND:`.${d.PRODUCT_ICON_BACKGROUND}`,PRODUCT_ICON:`.${d.PRODUCT_ICON}`,PRODUCT_TEXT:`.${d.PRODUCT_TEXT}`,SLOT:"slot"},R={COLOR:"color",SIZE:"size",SHADOW:"shadow",ITERATIONS:"iterations"},v={DEFAULT_SIZE:64,DEFAULT_ITERATIONS:32,ACCESSIBILITY_COLOR_THRESHOLD:300,ICON_FONT_SIZE_MODIFIER:.75,TEXT_FONT_SIZE_MODIFIER:.5},N={DEFAULT_COLOR_VALUE:"indigo-500",DEFAULT_COLOR_PALETTE:"indigo",DEFAULT_COLOR_SHADE:500,DEFAULT_BACKGROUND_COLOR:n.indigoPalette[500]},t={elementName:A,attributes:R,classes:d,selectors:x,numbers:v,strings:N};var p=class extends g{constructor(e){super(e);this._backgroundElement=_(e,t.selectors.PRODUCT_ICON_BACKGROUND),this._iconElement=_(e,t.selectors.PRODUCT_ICON),this._textElement=_(e,t.selectors.PRODUCT_TEXT)}setBackgroundColor(e){this._backgroundElement.style.backgroundColor=e}setIconColor(e){this._iconElement.style.color=e,this._textElement.style.color=e}setElementSize(e){this._backgroundElement.style.height=`${e}px`,this._backgroundElement.style.width=`${e}px`}setFontSize(e){let a=e*t.numbers.TEXT_FONT_SIZE_MODIFIER,r=e*t.numbers.ICON_FONT_SIZE_MODIFIER;this._iconElement.style.setProperty("--forge-product-icon-font-size",`${r}px`),this._textElement.style.setProperty("--forge-product-icon-font-size",`${a}px`),this._iconElement.style.fontSize=`var(--forge-product-icon-font-size, ${r}px)`,this._textElement.style.fontSize=`var(--forge-product-icon-font-size, ${a}px)`}removeIconClass(e){h(e,this._iconElement),h(e,this._textElement)}setTextShadow(e,a,r){if(e){let b=O(a,r);this._iconElement.style.textShadow=b,this._textElement.style.textShadow=b}else this._iconElement.style.removeProperty("text-shadow"),this._textElement.style.removeProperty("text-shadow")}};var u=class{constructor(o){this._adapter=o;this._colorValue=t.strings.DEFAULT_COLOR_VALUE;this._colorPalette=t.strings.DEFAULT_COLOR_PALETTE;this._colorShade=t.strings.DEFAULT_COLOR_SHADE;this._size=t.numbers.DEFAULT_SIZE;this._shadow=!0;this._backgroundColor=t.strings.DEFAULT_BACKGROUND_COLOR;this._iterations=t.numbers.DEFAULT_ITERATIONS;this._usingCustomIterations=!1}initialize(){this._adapter.setElementSize(this._size),this._updateFontSize(),this._parseColor(),this._render()}_parseColor(){this._colorValue.includes("-")?(this._colorPalette=this._colorValue.split("-")[0],this._colorShade=c(this._colorValue.split("-")[1])):(this._colorPalette=this._colorValue,this._colorShade=t.strings.DEFAULT_COLOR_SHADE)}_updateSize(){this._adapter.setElementSize(this._size),this._usingCustomIterations||(this._iterations=this._size/2,this._updateShadow())}_updateFontSize(){this._adapter.setFontSize(this._size)}_updateShadow(){this._shadow&&this._adapter.setTextShadow(this._shadow,this._iterations,this._shadowColor)}_render(){if(!this._colorValue)return;let o=this._colorShade<=t.numbers.ACCESSIBILITY_COLOR_THRESHOLD?"#000000":"#ffffff",e=this._colorShade+300;n[`${this._colorPalette}Palette`]||(this._colorPalette=t.strings.DEFAULT_COLOR_PALETTE),this._backgroundColor=n[`${this._colorPalette}Palette`][this._colorShade],this._shadowColor=n[`${this._colorPalette}Palette`][e],this._adapter.setBackgroundColor(this._backgroundColor),this._adapter.setIconColor(o),this._updateShadow()}get color(){return this._colorValue}set color(o){this._colorValue!==o&&(this._colorValue=o,this._parseColor(),this._render(),this._adapter.setHostAttribute(t.attributes.COLOR,this._colorValue))}get size(){return this._size}set size(o){this._size!==o&&(this._size=o,this._updateSize(),this._updateFontSize(),this._adapter.setHostAttribute(t.attributes.SIZE,this._size.toString()))}get shadow(){return this._shadow}set shadow(o){this._shadow!==o&&(this._shadow=o,this._adapter.setTextShadow(this._shadow,this._iterations,this._shadowColor),this._shadow?this._adapter.setHostAttribute(t.attributes.SHADOW,""):this._adapter.removeIconClass(t.attributes.SHADOW))}get iterations(){return this._iterations}set iterations(o){this._iterations!==o&&(this._usingCustomIterations=!0,this._iterations=o,this._updateShadow(),this._adapter.setHostAttribute(t.attributes.ITERATIONS,this._iterations.toString()))}};var D='<template><div class="forge-product-icon__background" part="root"><div class="forge-product-icon__container" part="container"><span class="forge-product-icon__icon" part="icon-container"><slot></slot></span><span class="forge-product-icon__text" part="text-container"><slot name="text"></slot></span></div></div></template>',L=".forge-product-icon__background{border-radius:50%;border-radius:var(--forge-product-icon-border-radius,50%);height:64px;width:64px;overflow:hidden}.forge-product-icon__container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;height:100%;width:100%}.forge-product-icon__icon ::slotted(*),.forge-product-icon__text ::slotted(*){display:-webkit-box!important;display:flex!important;color:#fff!important;font-size:var(--forge-product-icon-font-size, 48px)!important}:host{display:inline-block}:host([hidden]){display:none}",i=class extends f{constructor(){super();E(this,D,L),this._foundation=new u(new p(this))}static get observedAttributes(){return[t.attributes.COLOR,t.attributes.SIZE,t.attributes.SHADOW,t.attributes.ITERATIONS]}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(e,a,r){switch(e){case t.attributes.COLOR:this.color=r;break;case t.attributes.SIZE:this.size=c(r);break;case t.attributes.SHADOW:this.shadow=C(r);break;case t.attributes.ITERATIONS:this.iterations=c(r);break}}};s([l()],i.prototype,"color",2),s([l()],i.prototype,"size",2),s([l()],i.prototype,"shadow",2),s([l()],i.prototype,"iterations",2),i=s([I({name:t.elementName})],i);function ot(){T(i)}export{t as a,p as b,u as c,i as d,ot as e};
7
+ //# sourceMappingURL=chunk.444GNOS4.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/product-icon/product-icon-constants.ts", "../../src/product-icon/product-icon-adapter.ts", "../../src/product-icon/product-icon-foundation.ts", "../../src/product-icon/product-icon.ts", "../../src/product-icon/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\r\nimport { COLOR_CONSTANTS } from '../theme/color-constants';\r\n\r\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}product-icon`;\r\n\r\nconst classes = {\r\n PRODUCT_ICON_BACKGROUND: 'forge-product-icon__background',\r\n PRODUCT_ICON: 'forge-product-icon__icon',\r\n PRODUCT_TEXT: 'forge-product-icon__text'\r\n};\r\n\r\nconst selectors = {\r\n PRODUCT_ICON_BACKGROUND: `.${classes.PRODUCT_ICON_BACKGROUND}`,\r\n PRODUCT_ICON: `.${classes.PRODUCT_ICON}`,\r\n PRODUCT_TEXT: `.${classes.PRODUCT_TEXT}`,\r\n SLOT: 'slot'\r\n};\r\n\r\nconst attributes = {\r\n COLOR: 'color',\r\n SIZE: 'size',\r\n SHADOW: 'shadow',\r\n ITERATIONS: 'iterations'\r\n};\r\n\r\nconst numbers = {\r\n DEFAULT_SIZE: 64,\r\n DEFAULT_ITERATIONS: 32,\r\n ACCESSIBILITY_COLOR_THRESHOLD: 300,\r\n ICON_FONT_SIZE_MODIFIER: 0.75,\r\n TEXT_FONT_SIZE_MODIFIER: 0.5\r\n};\r\n\r\nconst strings = {\r\n DEFAULT_COLOR_VALUE: 'indigo-500',\r\n DEFAULT_COLOR_PALETTE: 'indigo',\r\n DEFAULT_COLOR_SHADE: 500,\r\n DEFAULT_BACKGROUND_COLOR: COLOR_CONSTANTS.indigoPalette[500]\r\n};\r\n\r\nexport const PRODUCT_ICON_CONSTANTS = {\r\n elementName,\r\n attributes,\r\n classes,\r\n selectors,\r\n numbers,\r\n strings\r\n};\r\n", "import { addClass, generateTextShadow, getShadowElement, Platform, removeClass } from '@tylertech/forge-core';\r\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\r\nimport { IProductIconComponent } from './product-icon';\r\nimport { PRODUCT_ICON_CONSTANTS } from './product-icon-constants';\r\n\r\nexport interface IProductIconAdapter extends IBaseAdapter {\r\n setBackgroundColor(color: string): void;\r\n setIconColor(color: string): void;\r\n setElementSize(value: number): void;\r\n setFontSize(value: number): void;\r\n setTextShadow(hasShadow: boolean, iterations: number, shadowColor: string): void;\r\n removeIconClass(classes: string | string[]): void;\r\n}\r\n\r\nexport class ProductIconAdapter extends BaseAdapter<IProductIconComponent> implements IProductIconAdapter {\r\n private _backgroundElement: HTMLElement;\r\n private _iconElement: HTMLElement;\r\n private _textElement: HTMLElement;\r\n\r\n constructor(component: IProductIconComponent) {\r\n super(component);\r\n this._backgroundElement = getShadowElement(component, PRODUCT_ICON_CONSTANTS.selectors.PRODUCT_ICON_BACKGROUND);\r\n this._iconElement = getShadowElement(component, PRODUCT_ICON_CONSTANTS.selectors.PRODUCT_ICON);\r\n this._textElement = getShadowElement(component, PRODUCT_ICON_CONSTANTS.selectors.PRODUCT_TEXT);\r\n }\r\n\r\n public setBackgroundColor(color: string): void {\r\n this._backgroundElement.style.backgroundColor = color;\r\n }\r\n\r\n public setIconColor(color: string): void {\r\n this._iconElement.style.color = color;\r\n this._textElement.style.color = color;\r\n }\r\n\r\n public setElementSize(value: number): void {\r\n this._backgroundElement.style.height = `${value}px`;\r\n this._backgroundElement.style.width = `${value}px`;\r\n }\r\n\r\n public setFontSize(value: number): void {\r\n const textFontSize = value * PRODUCT_ICON_CONSTANTS.numbers.TEXT_FONT_SIZE_MODIFIER;\r\n const iconFontSize = value * PRODUCT_ICON_CONSTANTS.numbers.ICON_FONT_SIZE_MODIFIER;\r\n\r\n this._iconElement.style.setProperty('--forge-product-icon-font-size', `${iconFontSize}px`);\r\n this._textElement.style.setProperty('--forge-product-icon-font-size', `${textFontSize}px`);\r\n\r\n this._iconElement.style.fontSize = `var(--forge-product-icon-font-size, ${iconFontSize}px)`;\r\n this._textElement.style.fontSize = `var(--forge-product-icon-font-size, ${textFontSize}px)`;\r\n }\r\n\r\n public removeIconClass(classes: string | string[]): void {\r\n removeClass(classes, this._iconElement);\r\n removeClass(classes, this._textElement);\r\n }\r\n\r\n public setTextShadow(hasShadow: boolean, iterations: number, shadowColor: string): void {\r\n if (hasShadow) {\r\n const shadow = generateTextShadow(iterations, shadowColor);\r\n this._iconElement.style.textShadow = shadow;\r\n this._textElement.style.textShadow = shadow;\r\n } else {\r\n this._iconElement.style.removeProperty('text-shadow');\r\n this._textElement.style.removeProperty('text-shadow');\r\n }\r\n }\r\n}\r\n", "import { ICustomElementFoundation, coerceNumber } from '@tylertech/forge-core';\r\n\r\nimport { COLOR_CONSTANTS } from '../theme';\r\nimport { IProductIconAdapter } from './product-icon-adapter';\r\nimport { PRODUCT_ICON_CONSTANTS } from './product-icon-constants';\r\n\r\nexport interface IProductIconFoundation extends ICustomElementFoundation {\r\n color: string;\r\n size: number;\r\n shadow: boolean;\r\n iterations: number;\r\n}\r\n\r\nexport class ProductIconFoundation implements IProductIconFoundation {\r\n private _colorValue = PRODUCT_ICON_CONSTANTS.strings.DEFAULT_COLOR_VALUE;\r\n private _colorPalette = PRODUCT_ICON_CONSTANTS.strings.DEFAULT_COLOR_PALETTE;\r\n private _colorShade = PRODUCT_ICON_CONSTANTS.strings.DEFAULT_COLOR_SHADE;\r\n private _size = PRODUCT_ICON_CONSTANTS.numbers.DEFAULT_SIZE;\r\n private _shadow = true;\r\n private _backgroundColor = PRODUCT_ICON_CONSTANTS.strings.DEFAULT_BACKGROUND_COLOR;\r\n private _shadowColor: string;\r\n private _iterations = PRODUCT_ICON_CONSTANTS.numbers.DEFAULT_ITERATIONS;\r\n private _usingCustomIterations = false;\r\n\r\n constructor(private _adapter: IProductIconAdapter) {}\r\n\r\n public initialize(): void {\r\n this._adapter.setElementSize(this._size);\r\n this._updateFontSize();\r\n this._parseColor();\r\n this._render();\r\n }\r\n\r\n private _parseColor(): void {\r\n if (this._colorValue.includes('-')) {\r\n this._colorPalette = this._colorValue.split('-')[0];\r\n this._colorShade = coerceNumber(this._colorValue.split('-')[1]);\r\n } else {\r\n this._colorPalette = this._colorValue;\r\n this._colorShade = PRODUCT_ICON_CONSTANTS.strings.DEFAULT_COLOR_SHADE;\r\n }\r\n }\r\n\r\n private _updateSize(): void {\r\n this._adapter.setElementSize(this._size);\r\n\r\n // If not using a custom iteration value, then we need to adjust the shadow length\r\n if (!this._usingCustomIterations) {\r\n this._iterations = this._size / 2;\r\n this._updateShadow();\r\n }\r\n }\r\n\r\n private _updateFontSize(): void {\r\n this._adapter.setFontSize(this._size);\r\n }\r\n\r\n private _updateShadow(): void {\r\n if (this._shadow) {\r\n this._adapter.setTextShadow(this._shadow, this._iterations, this._shadowColor);\r\n }\r\n }\r\n\r\n private _render(): void {\r\n if (!this._colorValue) {\r\n return;\r\n }\r\n\r\n const iconColor = this._colorShade <= PRODUCT_ICON_CONSTANTS.numbers.ACCESSIBILITY_COLOR_THRESHOLD ? '#000000' : '#ffffff';\r\n const shadowIncrement = this._colorShade + 300;\r\n\r\n if (!COLOR_CONSTANTS[`${this._colorPalette}Palette`]) {\r\n this._colorPalette = PRODUCT_ICON_CONSTANTS.strings.DEFAULT_COLOR_PALETTE;\r\n }\r\n\r\n this._backgroundColor = COLOR_CONSTANTS[`${this._colorPalette}Palette`][this._colorShade];\r\n this._shadowColor = COLOR_CONSTANTS[`${this._colorPalette}Palette`][shadowIncrement];\r\n\r\n this._adapter.setBackgroundColor(this._backgroundColor);\r\n this._adapter.setIconColor(iconColor);\r\n this._updateShadow();\r\n }\r\n\r\n public get color(): string {\r\n return this._colorValue;\r\n }\r\n public set color(value: string) {\r\n if (this._colorValue !== value) {\r\n this._colorValue = value;\r\n this._parseColor();\r\n this._render();\r\n this._adapter.setHostAttribute(PRODUCT_ICON_CONSTANTS.attributes.COLOR, this._colorValue);\r\n }\r\n }\r\n\r\n public get size(): number {\r\n return this._size;\r\n }\r\n public set size(value: number) {\r\n if (this._size !== value) {\r\n this._size = value;\r\n this._updateSize();\r\n this._updateFontSize();\r\n this._adapter.setHostAttribute(PRODUCT_ICON_CONSTANTS.attributes.SIZE, this._size.toString());\r\n }\r\n }\r\n\r\n public get shadow(): boolean {\r\n return this._shadow;\r\n }\r\n public set shadow(value: boolean) {\r\n if (this._shadow !== value) {\r\n this._shadow = value;\r\n this._adapter.setTextShadow(this._shadow, this._iterations, this._shadowColor);\r\n if (this._shadow) {\r\n this._adapter.setHostAttribute(PRODUCT_ICON_CONSTANTS.attributes.SHADOW, '');\r\n } else {\r\n this._adapter.removeIconClass(PRODUCT_ICON_CONSTANTS.attributes.SHADOW);\r\n }\r\n }\r\n }\r\n\r\n public get iterations(): number {\r\n return this._iterations;\r\n }\r\n public set iterations(value: number) {\r\n if (this._iterations !== value) {\r\n this._usingCustomIterations = true;\r\n this._iterations = value;\r\n this._updateShadow();\r\n this._adapter.setHostAttribute(PRODUCT_ICON_CONSTANTS.attributes.ITERATIONS, this._iterations.toString());\r\n }\r\n }\r\n}\r\n", "import { CustomElement, attachShadowTemplate, coerceNumber, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\r\nimport { ProductIconAdapter } from './product-icon-adapter';\r\nimport { ProductIconFoundation } from './product-icon-foundation';\r\nimport { PRODUCT_ICON_CONSTANTS } from './product-icon-constants';\r\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\r\n\r\nconst template = '<template><div class=\\\"forge-product-icon__background\\\" part=\\\"root\\\"><div class=\\\"forge-product-icon__container\\\" part=\\\"container\\\"><span class=\\\"forge-product-icon__icon\\\" part=\\\"icon-container\\\"><slot></slot></span><span class=\\\"forge-product-icon__text\\\" part=\\\"text-container\\\"><slot name=\\\"text\\\"></slot></span></div></div></template>';\r\nconst styles = '.forge-product-icon__background{border-radius:50%;border-radius:var(--forge-product-icon-border-radius,50%);height:64px;width:64px;overflow:hidden}.forge-product-icon__container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;height:100%;width:100%}.forge-product-icon__icon ::slotted(*),.forge-product-icon__text ::slotted(*){display:-webkit-box!important;display:flex!important;color:#fff!important;font-size:var(--forge-product-icon-font-size, 48px)!important}:host{display:inline-block}:host([hidden]){display:none}';\r\n\r\nexport interface IProductIconComponent extends IBaseComponent {\r\n color: string;\r\n size: number;\r\n shadow: boolean;\r\n iterations: number;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n 'forge-product-icon': IProductIconComponent;\r\n }\r\n}\r\n\r\n/**\r\n * The web component class behind the `<forge-product-icon>` custom element.\r\n * \r\n * @tag forge-product-icon\r\n */\r\n@CustomElement({\r\n name: PRODUCT_ICON_CONSTANTS.elementName\r\n})\r\nexport class ProductIconComponent extends BaseComponent implements IProductIconComponent {\r\n public static get observedAttributes(): string[] {\r\n return [\r\n PRODUCT_ICON_CONSTANTS.attributes.COLOR,\r\n PRODUCT_ICON_CONSTANTS.attributes.SIZE,\r\n PRODUCT_ICON_CONSTANTS.attributes.SHADOW,\r\n PRODUCT_ICON_CONSTANTS.attributes.ITERATIONS\r\n ];\r\n }\r\n\r\n private _foundation: ProductIconFoundation;\r\n\r\n constructor() {\r\n super();\r\n attachShadowTemplate(this, template, styles);\r\n this._foundation = new ProductIconFoundation(new ProductIconAdapter(this));\r\n }\r\n\r\n public connectedCallback(): void {\r\n this._foundation.initialize();\r\n }\r\n\r\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\r\n switch (name) {\r\n case PRODUCT_ICON_CONSTANTS.attributes.COLOR:\r\n this.color = newValue;\r\n break;\r\n case PRODUCT_ICON_CONSTANTS.attributes.SIZE:\r\n this.size = coerceNumber(newValue);\r\n break;\r\n case PRODUCT_ICON_CONSTANTS.attributes.SHADOW:\r\n this.shadow = coerceBoolean(newValue);\r\n break;\r\n case PRODUCT_ICON_CONSTANTS.attributes.ITERATIONS:\r\n this.iterations = coerceNumber(newValue);\r\n break;\r\n }\r\n }\r\n\r\n /** The color of the container element from the material color palette. */\r\n @FoundationProperty()\r\n public color: string;\r\n\r\n /** Controls the height and width of the container element. */\r\n @FoundationProperty()\r\n public size: number;\r\n\r\n /** Controls the visibility of the text shadow. */\r\n @FoundationProperty()\r\n public shadow: boolean;\r\n\r\n /** The number of iterations to apply the text shadow. */\r\n @FoundationProperty()\r\n public iterations: number;\r\n}\r\n", "import { defineCustomElement } from '@tylertech/forge-core';\r\n\r\nimport { ProductIconComponent } from './product-icon';\r\n\r\nexport * from './product-icon-adapter';\r\nexport * from './product-icon-constants';\r\nexport * from './product-icon-foundation';\r\nexport * from './product-icon';\r\n\r\nexport function defineProductIconComponent(): void {\r\n defineCustomElement(ProductIconComponent);\r\n}\r\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a,b as n}from"./chunk.BSZ2LBJX.js";import{a as i}from"./chunk.3E5QKMHL.js";import{a as o,e as r}from"./chunk.HN4PXH3D.js";import{f as t}from"./chunk.MCIQXNKY.js";var h=`${n}skeleton`,s={elementName:h};var g='<template><div class="forge-skeleton" part="root"></div></template>',p='.forge-skeleton{display:block;width:100%;height:100%}.forge-skeleton::after{display:block;position:absolute;width:100%;height:100%;-webkit-transform:translateX(-100%);transform:translateX(-100%);background-repeat:no-repeat;background-image:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(var(--forge-skeleton-theme-gradient,rgba(255,255,255,.3))),to(transparent));background-image:linear-gradient(90deg,transparent,var(--forge-skeleton-theme-gradient,rgba(255,255,255,.3)),transparent);-webkit-animation:loading 1.5s ease-in infinite;animation:loading 1.5s ease-in infinite;content:""}@-webkit-keyframes loading{100%,25%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes loading{100%,25%{-webkit-transform:translateX(100%);transform:translateX(100%)}}:host{height:48px;height:var(--forge-skeleton-height,48px);margin:16px 0;margin:var(--forge-skeleton-margin,16px 0);border-radius:4px;border-radius:var(--forge-skeleton-border-radius,4px);background-color:rgba(0,0,0,.12);background-color:var(--forge-skeleton-theme-background,rgba(0,0,0,.12));display:block;position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host([hidden]){display:none}:host([avatar]){height:48px;height:var(--forge-skeleton-avatar-size,48px);width:48px;width:var(--forge-skeleton-avatar-size,48px);border-radius:50%}:host([list-item]){height:32px;height:var(--forge-skeleton-list-item-height,32px);margin:12px 8px;margin:var(--forge-skeleton-list-item-margin,12px 8px)}:host([text]){height:16px;height:var(--forge-skeleton-text-height,16px)}:host([stretch]){height:100%;width:100%}:host([chip]){height:32px;height:var(--forge-skeleton-chip-height,32px);width:72px;width:var(--forge-skeleton-chip-width,72px);border-radius:16px}:host([button]){height:36px;height:var(--forge-skeleton-button-height,36px);width:72px;width:var(--forge-skeleton-button-width,72px)}:host([form-field]){height:40px;height:var(--forge-skeleton-form-field-height,40px);width:256px;width:var(--forge-skeleton-form-field-width,256px)}',e=class extends i{constructor(){super(),r(this,g,p)}};e=t([a({name:s.elementName})],e);function u(){o(e)}export{s as a,e as b,u as c};
7
+ //# sourceMappingURL=chunk.54QFNVMG.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/skeleton/skeleton-constants.ts", "../../src/skeleton/skeleton.ts", "../../src/skeleton/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\r\n\r\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}skeleton`;\r\n\r\nexport const SKELETON_CONSTANTS = {\r\n elementName\r\n};\r\n", "import { CustomElement, attachShadowTemplate } from '@tylertech/forge-core';\r\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\r\nimport { SKELETON_CONSTANTS } from './skeleton-constants';\r\n\r\nconst template = '<template><div class=\\\"forge-skeleton\\\" part=\\\"root\\\"></div></template>';\r\nconst styles = '.forge-skeleton{display:block;width:100%;height:100%}.forge-skeleton::after{display:block;position:absolute;width:100%;height:100%;-webkit-transform:translateX(-100%);transform:translateX(-100%);background-repeat:no-repeat;background-image:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(var(--forge-skeleton-theme-gradient,rgba(255,255,255,.3))),to(transparent));background-image:linear-gradient(90deg,transparent,var(--forge-skeleton-theme-gradient,rgba(255,255,255,.3)),transparent);-webkit-animation:loading 1.5s ease-in infinite;animation:loading 1.5s ease-in infinite;content:\\\"\\\"}@-webkit-keyframes loading{100%,25%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes loading{100%,25%{-webkit-transform:translateX(100%);transform:translateX(100%)}}:host{height:48px;height:var(--forge-skeleton-height,48px);margin:16px 0;margin:var(--forge-skeleton-margin,16px 0);border-radius:4px;border-radius:var(--forge-skeleton-border-radius,4px);background-color:rgba(0,0,0,.12);background-color:var(--forge-skeleton-theme-background,rgba(0,0,0,.12));display:block;position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host([hidden]){display:none}:host([avatar]){height:48px;height:var(--forge-skeleton-avatar-size,48px);width:48px;width:var(--forge-skeleton-avatar-size,48px);border-radius:50%}:host([list-item]){height:32px;height:var(--forge-skeleton-list-item-height,32px);margin:12px 8px;margin:var(--forge-skeleton-list-item-margin,12px 8px)}:host([text]){height:16px;height:var(--forge-skeleton-text-height,16px)}:host([stretch]){height:100%;width:100%}:host([chip]){height:32px;height:var(--forge-skeleton-chip-height,32px);width:72px;width:var(--forge-skeleton-chip-width,72px);border-radius:16px}:host([button]){height:36px;height:var(--forge-skeleton-button-height,36px);width:72px;width:var(--forge-skeleton-button-width,72px)}:host([form-field]){height:40px;height:var(--forge-skeleton-form-field-height,40px);width:256px;width:var(--forge-skeleton-form-field-width,256px)}';\r\n\r\nexport interface ISkeletonComponent extends IBaseComponent {}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n 'forge-skeleton': ISkeletonComponent;\r\n }\r\n}\r\n\r\n/**\r\n * The web component class behind the `<forge-skeleton>` custom element.\r\n * \r\n * @tag forge-skeleton\r\n */\r\n@CustomElement({\r\n name: SKELETON_CONSTANTS.elementName\r\n})\r\nexport class SkeletonComponent extends BaseComponent implements ISkeletonComponent {\r\n constructor() {\r\n super();\r\n attachShadowTemplate(this, template, styles);\r\n }\r\n}\r\n", "import { defineCustomElement } from '@tylertech/forge-core';\r\n\r\nimport { SkeletonComponent } from './skeleton';\r\n\r\nexport * from './skeleton-constants';\r\nexport * from './skeleton';\r\n\r\nexport function defineSkeletonComponent(): void {\r\n defineCustomElement(SkeletonComponent);\r\n}\r\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;AAEA,IAAM,cAA2C,GAAG;AAE7C,IAAM,qBAAqB;AAAA,EAChC;AACF;;;ACFA,IAAM,WAAW;AACjB,IAAM,SAAS;AAkBR,IAAM,oBAAN,cAAgC,cAA4C;AAAA,EACjF,cAAc;AACZ,UAAM;AACN,yBAAqB,MAAM,UAAU,MAAM;AAAA,EAC7C;AACF;AALa,oBAAN;AAAA,EAHP,AAAC,cAAc;AAAA,IACb,MAAM,mBAAmB;AAAA,EAC3B,CAAC;AAAA,GACY;;;AChBN,mCAAyC;AAC9C,sBAAoB,iBAAiB;AACvC;",
5
+ "mappings": "yKAEA,GAAM,GAA2C,GAAG,YAEvC,EAAqB,CAChC,aACF,ECFA,GAAM,GAAW,sEACX,EAAS,+gEAkBF,EAAN,aAAgC,EAA4C,CACjF,aAAc,CACZ,MAAM,EACN,EAAqB,KAAM,EAAU,CAAM,CAC7C,CACF,EALa,EAAN,GAHP,AAAC,EAAc,CACb,KAAM,EAAmB,WAC3B,CAAC,GACY,GChBN,YAAyC,CAC9C,EAAoB,CAAiB,CACvC",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as I}from"./chunk.DGOV5RDW.js";import{a as P}from"./chunk.NGIBMR3Q.js";import{c as H}from"./chunk.7NXPOEXV.js";import{a as p,d as w}from"./chunk.QJPH24V4.js";import{a as L}from"./chunk.G5BCWBD5.js";import{a as O}from"./chunk.A23NSEWA.js";import{a as n}from"./chunk.B3IJU6XJ.js";import{a as M,b as S}from"./chunk.BSZ2LBJX.js";import{a as A}from"./chunk.3E5QKMHL.js";import{a as D,e as x,g as m}from"./chunk.HN4PXH3D.js";import{i as C,r as T,s as y,t as k}from"./chunk.R4NDFXVA.js";import{b,c as f,d as E,k as c}from"./chunk.G76HB2FK.js";import{a as _,f as s}from"./chunk.MCIQXNKY.js";var l=`${S}dialog`,B={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:"forge-dialog-open",INITIAL_FOCUS:"forge-dialog-focus",DFEAULT_MOVE_TARGET:"forge-dialog-move-target"},R={CONTAINER:".forge-dialog",SURFACE:".forge-dialog__surface",BACKDROP:p.elementName,INITIAL_FOCUS:`[${v.INITIAL_FOCUS}]`,DFEAULT_MOVE_TARGET:`[${v.DFEAULT_MOVE_TARGET}]`,CONTENT:".forge-dialog__body"},z={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`},K={ANIMATION_DURATION:150,BACKDROP_MAX_OPACITY:.3},i={elementName:l,classes:B,selectors:R,attributes:v,events:z,numbers:K};var g=class{constructor(e){this._adapter=e;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._attachedDocumentKeydownHandler=!1;this._attachedBackdropClickHandler=!1;this._transitionEndHandler=t=>this._onTransitionEnd(),this._documentKeydownHandler=t=>this._onDocumentKeydown(t),this._backdropClickHandler=t=>this._onBackdropClick(t),this._moveTargetMouseDownHandler=t=>this._onMoveTargetMouseDown(t),this._moveTargetMouseMoveHandler=t=>this._onMoveTargetMouseMove(t),this._moveTargetMouseUpHandler=t=>this._onMoveTargetMouseUp(t)}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._attachedDocumentKeydownHandler&&this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._attachedBackdropClickHandler&&this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler))}async _applyOpen(e){if(e){if(typeof this._openCallback=="function"&&!await this._executeOpenCallback())return;this._open=e,this._openDialog()}else{if(typeof this._closeCallback=="function"&&!await this._executeCloseCallback())return;this._open=e,this._closeDialog()}this._adapter.toggleHostAttribute(i.attributes.OPEN,this._open)}async _executeOpenCallback(){try{return await Promise.resolve(this._openCallback())!==!1}catch(e){return!1}}async _executeCloseCallback(){try{return await Promise.resolve(this._closeCallback())!==!1}catch(e){return!1}}initializeMoveTarget(){this._moveTarget||(this._moveTarget=i.selectors.DFEAULT_MOVE_TARGET),this._initMoveTarget()}resetPosition(){this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType)}_normalizePositionValue(e){return E(e)?`${e}px`:f(e)?e:null}_openDialog(){this._adapter.attach(),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.OPEN,"true"),this._adapter.registerTransitionEndHandler(this._transitionEndHandler),this._setDocumentKeydownListener(this._escapeClose),this._setBackdropClickListener(this._backdropClose),this._adapter.setAnimating(!0),this._isAnimating=!0,window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{this._adapter.setVisibility(!0),this._adapter.emitHostEvent(i.events.OPEN),this._adapter.trySetInitialFocus(),this._adapter.isScrollable()&&this._adapter.addRootClass(i.classes.SCROLLABLE)})}),setTimeout(()=>{window.requestAnimationFrame(()=>{this._open&&this._isAnimating&&this._onTransitionEnd()})},i.numbers.ANIMATION_DURATION)}_closeDialog(){this._moveTarget&&this._removeDragHandlers(),this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler),this._attachedDocumentKeydownHandler&&this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._attachedBackdropClickHandler&&this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler),this._isAnimating=!1,this._adapter.setAnimating(!0),this._adapter.setVisibility(!1),setTimeout(()=>{this._adapter.emitHostEvent(i.events.CLOSE),this._adapter.detach(),this._adapter.getOpenDialogs(i.elementName).length||this._adapter.removeBodyAttribute(i.attributes.OPEN)},i.numbers.ANIMATION_DURATION)}_onTransitionEnd(){!this._isAnimating||(this._adapter.deregisterTransitionEndHandler(this._transitionEndHandler),this._adapter.setAnimating(!1),this._adapter.emitHostEvent(i.events.READY),this._adapter.tryLayoutChildren(),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(e){e.preventDefault(),this._adapter.captureActiveElement();let t=this._adapter.getSurfaceBounds();this._moveContext={top:e.clientY-t.top,left:e.clientX-t.left,height:t.height,width:t.width},this._adapter.setDocumentListener("mousemove",this._moveTargetMouseMoveHandler),this._adapter.setDocumentListener("mouseup",this._moveTargetMouseUpHandler)}_onMoveTargetMouseMove(e){e.preventDefault();let t=this._calculateOffsetPosition(e.pageX,e.pageY,this._moveContext);if(!this._isMoving&&(this._isMoving=!0,!this._adapter.emitHostEvent(i.events.MOVE_START,t,!0,!0)))return;let o=this._clampPosition(t,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),N=this._normalizePositionValue(o.y);this._adapter.setSurfacePosition(d,N,"absolute")}}_onMoveTargetMouseUp(e){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(e){e.stopPropagation(),e.key&&(e.key==="Escape"||e.key==="Esc")&&this._tryClose()}_onBackdropClick(e){e.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(t){return}}}_setBackdropClickListener(e){!this._open||(e&&!this._attachedBackdropClickHandler?(this._adapter.registerBackdropClickHandler(this._backdropClickHandler),this._attachedBackdropClickHandler=!0):!e&&this._attachedBackdropClickHandler&&(this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler),this._attachedBackdropClickHandler=!1))}_setDocumentKeydownListener(e){!this._open||(e&&!this._attachedDocumentKeydownHandler?(this._adapter.setDocumentListener("keydown",this._documentKeydownHandler),this._attachedDocumentKeydownHandler=!0):!e&&this._attachedDocumentKeydownHandler&&(this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._attachedDocumentKeydownHandler=!1))}_calculateOffsetPosition(e,t,o){return{x:e-((o==null?void 0:o.left)||0),y:t-((o==null?void 0:o.top)||0)}}_clampPosition({x:e,y:t},o){let a=0,d=0;return o&&(a=o.width,d=o.height),e<=0?e=0:e+a>=window.innerWidth&&(e=window.innerWidth-a),t<=0?t=0:t+d>=window.innerHeight&&(t=window.innerHeight-d),{x:e,y:t}}set backdropClose(e){e=Boolean(e),this._backdropClose!==e&&(this._backdropClose=e,this._setBackdropClickListener(this._backdropClose),b(this._backdropClose)?this._adapter.setHostAttribute(i.attributes.BACKDROP_CLOSE,this._backdropClose.toString()):this._adapter.removeHostAttribute(i.attributes.BACKDROP_CLOSE))}get backdropClose(){return this._backdropClose}set escapeClose(e){e=Boolean(e),this._escapeClose!==e&&(this._escapeClose=e,this._setDocumentKeydownListener(this._escapeClose),b(this._escapeClose)?this._adapter.setHostAttribute(i.attributes.ESCAPE_CLOSE,this._escapeClose.toString()):this._adapter.removeHostAttribute(i.attributes.ESCAPE_CLOSE))}get escapeClose(){return this._escapeClose}get open(){return this._open}set open(e){this._open!==e&&(e=Boolean(e),e!==this._open&&this._applyOpen(e))}get fullscreen(){return this._fullscreen}set fullscreen(e){this._fullscreen!==e&&(this._fullscreen=e,this._adapter.setFullscreen(this._fullscreen))}get openCallback(){return this._openCallback}set openCallback(e){this._openCallback=e}get closeCallback(){return this._closeCallback}set closeCallback(e){this._closeCallback=e}get beforeCloseCallback(){return this._beforeCloseCallback}set beforeCloseCallback(e){this._beforeCloseCallback=e}get positionType(){return this._positionType}set positionType(e){this._positionType!==e&&(this._positionType=e,this._open&&this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType))}get positionX(){return this._positionX}set positionX(e){this._positionX!==e&&(this._positionX=this._normalizePositionValue(e),this._open&&this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType))}get positionY(){return this._positionY}set positionY(e){this._positionY!==e&&(this._positionY=this._normalizePositionValue(e),this._open&&this._adapter.setSurfacePosition(this._positionX,this._positionY,this._positionType))}get moveable(){return this._moveable}set moveable(e){this._moveable!==e&&(this._moveable=e,this._open&&(this._adapter.setMoveable(this._moveable),this._moveable?this._initMoveTarget():(this._removeDragHandlers(),this._isMoving=!1)))}get moveTarget(){return this._moveTarget}set moveTarget(e){this._moveTarget=e}};var u=class extends O{constructor(t){super(t);this._backdropElement=m(t,i.selectors.BACKDROP),this._containerElement=m(t,i.selectors.CONTAINER),this._surfaceElement=m(t,i.selectors.SURFACE)}initializeAccessibility(){this._component.hasAttribute("role")||this._component.setAttribute("role","dialog"),this._component.setAttribute("aria-modal","true")}setAnimating(t){t?this._containerElement.classList.add(i.classes.ANIMATING):this._containerElement.classList.remove(i.classes.ANIMATING)}setVisibility(t){t?this._containerElement.classList.add(i.classes.OPEN):this._containerElement.classList.remove(i.classes.OPEN)}attach(){document.body.appendChild(this._component)}detach(){this._activeElement&&(this._activeElement=void 0),C(this._component)}registerTransitionEndHandler(t){this._surfaceElement.addEventListener("transitionend",t)}deregisterTransitionEndHandler(t){this._surfaceElement.removeEventListener("transitionend",t)}setDocumentListener(t,o){document.addEventListener(t,o)}removeDocumentListener(t,o){document.removeEventListener(t,o)}registerBackdropClickHandler(t){this._backdropElement.addEventListener(p.events.BACKDROP_CLICK,t)}deregisterBackdropClickHandler(t){this._backdropElement.removeEventListener(p.events.BACKDROP_CLICK,t)}getOpenDialogs(t){return document.querySelectorAll(t)}setBodyAttribute(t,o){document.body.setAttribute(t,o)}removeBodyAttribute(t){document.body.removeAttribute(t)}trySetInitialFocus(){let t=T(this._component,i.selectors.INITIAL_FOCUS);t&&t.length&&t[t.length-1].focus()}isScrollable(){let t=this._component.querySelector(i.selectors.CONTENT);return t?t.scrollHeight>t.offsetHeight:!1}addRootClass(t){this._component.classList.add(t)}setFullscreen(t){t?this._containerElement.classList.add(i.classes.FULLSCREEN):this._containerElement.classList.remove(i.classes.FULLSCREEN)}setMoveable(t){k(this._containerElement,t,i.classes.MOVEABLE)}tryLayoutChildren(){let t=[L.elementName,I.elementName,H.elementName,P.elementName];Array.from(this._component.querySelectorAll(t.join(","))).filter(a=>typeof a.layout=="function").forEach(a=>a.layout())}setMoveTarget(t){return t?(this._moveTargetElement=this._component.querySelector(t),!!this._moveTargetElement):!1}setMoveTargetHandler(t,o){this._moveTargetElement&&this._moveTargetElement.addEventListener(t,o)}removeDragTargetHandler(t,o){this._moveTargetElement&&this._moveTargetElement.removeEventListener(t,o)}getSurfaceBounds(){return this._surfaceElement.getBoundingClientRect()}setSurfacePosition(t,o,a){this._surfaceElement.style.position=a==="absolute"?a:"relative",o!=null?this._surfaceElement.style.top=o:this._surfaceElement.style.removeProperty("top"),t!=null?this._surfaceElement.style.left=t:this._surfaceElement.style.removeProperty("left")}captureActiveElement(){this._activeElement=y(),this._activeElement&&this._activeElement.blur()}tryRestoreActiveElement(){this._activeElement&&(this._activeElement.isConnected&&this._activeElement.focus(),this._activeElement=void 0)}};var F='<template><div class="forge-dialog" part="root"><forge-backdrop part="scrim"></forge-backdrop><div class="forge-dialog__surface" part="surface"><slot></slot></div></div></template>',U='.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));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;overflow:hidden;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 A{constructor(){super();x(this,F,U),this._foundation=new g(new u(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(t,o,a){switch(t){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=c(a);break;case i.attributes.FULLSCREEN:this.fullscreen=c(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=c(a);break;case i.attributes.MOVE_TARGET:this.moveTarget=a;break}}initializeMoveTarget(){this._foundation.initializeMoveTarget()}resetPosition(){this._foundation.resetPosition()}};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([M({name:i.elementName,dependencies:[w]})],r);function xe(){D(r)}export{i as a,g as b,u as c,r as d,xe as e};
7
+ //# sourceMappingURL=chunk.57XBS3DF.js.map