@tylertech/forge 2.13.2 → 2.14.0-dev.1

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 (602) hide show
  1. package/custom-elements.json +2804 -504
  2. package/dist/button/forge-button.css +1 -1
  3. package/dist/esm/accordion/index.js +1 -1
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  20. package/dist/esm/button-toggle/index.js +1 -1
  21. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  22. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  23. package/dist/esm/calendar/core/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/chunk.2BNDXFI5.js +7 -0
  32. package/dist/esm/chunks/chunk.2BNDXFI5.js.map +7 -0
  33. package/dist/esm/chunks/{chunk.PYG4YVBA.js → chunk.2DXG2R3M.js} +2 -2
  34. package/dist/esm/chunks/chunk.2DXG2R3M.js.map +7 -0
  35. package/dist/esm/chunks/{chunk.UUX4QJ4D.js → chunk.3KQL7VAZ.js} +1 -1
  36. package/dist/esm/chunks/{chunk.UUX4QJ4D.js.map → chunk.3KQL7VAZ.js.map} +2 -2
  37. package/dist/esm/chunks/chunk.44IJE5UL.js +7 -0
  38. package/dist/esm/chunks/chunk.44IJE5UL.js.map +7 -0
  39. package/dist/esm/chunks/{chunk.MIYZJUXH.js → chunk.47A2CN5U.js} +2 -2
  40. package/dist/esm/chunks/{chunk.MIYZJUXH.js.map → chunk.47A2CN5U.js.map} +2 -2
  41. package/dist/esm/chunks/{chunk.OLNFXF3V.js → chunk.4BEI55KI.js} +2 -2
  42. package/dist/esm/chunks/{chunk.OLNFXF3V.js.map → chunk.4BEI55KI.js.map} +2 -2
  43. package/dist/esm/chunks/{chunk.EC6JSIQW.js → chunk.4DAIIJ37.js} +1 -1
  44. package/dist/esm/chunks/{chunk.EC6JSIQW.js.map → chunk.4DAIIJ37.js.map} +2 -2
  45. package/dist/esm/chunks/{chunk.B52LJRGH.js → chunk.4FSAAN6W.js} +2 -2
  46. package/dist/esm/chunks/{chunk.B52LJRGH.js.map → chunk.4FSAAN6W.js.map} +2 -2
  47. package/dist/esm/chunks/chunk.4NI63FGK.js +7 -0
  48. package/dist/esm/chunks/chunk.4NI63FGK.js.map +7 -0
  49. package/dist/esm/chunks/{chunk.KBMLP7UT.js → chunk.4WPFFNLH.js} +2 -2
  50. package/dist/esm/chunks/{chunk.KBMLP7UT.js.map → chunk.4WPFFNLH.js.map} +3 -3
  51. package/dist/esm/chunks/chunk.4X2OFZDL.js +7 -0
  52. package/dist/esm/chunks/chunk.4X2OFZDL.js.map +7 -0
  53. package/dist/esm/chunks/chunk.5FPFRE4H.js +7 -0
  54. package/dist/esm/chunks/chunk.5FPFRE4H.js.map +7 -0
  55. package/dist/esm/chunks/chunk.6OKJPSUE.js +7 -0
  56. package/dist/esm/chunks/chunk.6OKJPSUE.js.map +7 -0
  57. package/dist/esm/chunks/{chunk.AMFXGOSA.js → chunk.6YPD6CQM.js} +1 -1
  58. package/dist/esm/chunks/{chunk.AMFXGOSA.js.map → chunk.6YPD6CQM.js.map} +2 -2
  59. package/dist/esm/chunks/chunk.72AUOVCD.js +7 -0
  60. package/dist/esm/chunks/chunk.72AUOVCD.js.map +7 -0
  61. package/dist/esm/chunks/{chunk.X5JLUP7O.js → chunk.73AYD2BF.js} +2 -2
  62. package/dist/esm/chunks/{chunk.X5JLUP7O.js.map → chunk.73AYD2BF.js.map} +2 -2
  63. package/dist/esm/chunks/chunk.77Y3EABF.js +7 -0
  64. package/dist/esm/chunks/chunk.77Y3EABF.js.map +7 -0
  65. package/dist/esm/chunks/chunk.7A6MX6CS.js +7 -0
  66. package/dist/esm/chunks/chunk.7A6MX6CS.js.map +7 -0
  67. package/dist/esm/chunks/{chunk.V55E5JD5.js → chunk.7UKA4E5A.js} +2 -2
  68. package/dist/esm/chunks/{chunk.V55E5JD5.js.map → chunk.7UKA4E5A.js.map} +2 -2
  69. package/dist/esm/chunks/{chunk.GVQVA7P3.js → chunk.7XFU2W25.js} +1 -1
  70. package/dist/esm/chunks/{chunk.GVQVA7P3.js.map → chunk.7XFU2W25.js.map} +2 -2
  71. package/dist/esm/chunks/{chunk.MYNPY3AQ.js → chunk.AFLH5HUG.js} +2 -2
  72. package/dist/esm/chunks/{chunk.MYNPY3AQ.js.map → chunk.AFLH5HUG.js.map} +2 -2
  73. package/dist/esm/chunks/{chunk.24D46RLZ.js → chunk.ARJ3EVVO.js} +2 -2
  74. package/dist/esm/chunks/{chunk.24D46RLZ.js.map → chunk.ARJ3EVVO.js.map} +2 -2
  75. package/dist/esm/chunks/{chunk.OOW3UKT4.js → chunk.BE7PZANN.js} +2 -2
  76. package/dist/esm/chunks/{chunk.OOW3UKT4.js.map → chunk.BE7PZANN.js.map} +2 -2
  77. package/dist/esm/chunks/{chunk.3STDLL5U.js → chunk.BJE6O5ES.js} +2 -2
  78. package/dist/esm/chunks/{chunk.3STDLL5U.js.map → chunk.BJE6O5ES.js.map} +2 -2
  79. package/dist/esm/chunks/{chunk.2GY2VPJG.js → chunk.BJZ7RB5F.js} +1 -1
  80. package/dist/esm/chunks/{chunk.2GY2VPJG.js.map → chunk.BJZ7RB5F.js.map} +2 -2
  81. package/dist/esm/chunks/chunk.BTBHIIGI.js +7 -0
  82. package/dist/esm/chunks/chunk.BTBHIIGI.js.map +7 -0
  83. package/dist/esm/chunks/chunk.C7AN6FMW.js +7 -0
  84. package/dist/esm/chunks/chunk.C7AN6FMW.js.map +7 -0
  85. package/dist/esm/chunks/{chunk.NV2HNCQH.js → chunk.DFJUCHEO.js} +2 -2
  86. package/dist/esm/chunks/{chunk.NV2HNCQH.js.map → chunk.DFJUCHEO.js.map} +2 -2
  87. package/dist/esm/chunks/{chunk.AWCBH5KW.js → chunk.DONAMICM.js} +1 -1
  88. package/dist/esm/chunks/{chunk.AWCBH5KW.js.map → chunk.DONAMICM.js.map} +2 -2
  89. package/dist/esm/chunks/chunk.DQJPIDVW.js +7 -0
  90. package/dist/esm/chunks/chunk.DQJPIDVW.js.map +7 -0
  91. package/dist/esm/chunks/{chunk.PBJEZJTY.js → chunk.DT7MZR5Y.js} +2 -2
  92. package/dist/esm/chunks/{chunk.PBJEZJTY.js.map → chunk.DT7MZR5Y.js.map} +2 -2
  93. package/dist/esm/chunks/chunk.DYNEJBYK.js +7 -0
  94. package/dist/esm/chunks/{chunk.O5I3ZMDA.js.map → chunk.DYNEJBYK.js.map} +2 -2
  95. package/dist/esm/chunks/chunk.E6CYXNS2.js +7 -0
  96. package/dist/esm/chunks/chunk.E6CYXNS2.js.map +7 -0
  97. package/dist/esm/chunks/{chunk.ZFD3OE45.js → chunk.EGRUD7S7.js} +2 -2
  98. package/dist/esm/chunks/{chunk.ZFD3OE45.js.map → chunk.EGRUD7S7.js.map} +2 -2
  99. package/dist/esm/chunks/chunk.ESR2NHOS.js +7 -0
  100. package/dist/esm/chunks/chunk.ESR2NHOS.js.map +7 -0
  101. package/dist/esm/chunks/{chunk.55BOUOT6.js → chunk.F2B24WLK.js} +2 -2
  102. package/dist/esm/chunks/{chunk.55BOUOT6.js.map → chunk.F2B24WLK.js.map} +2 -2
  103. package/dist/esm/chunks/chunk.F3MP6AXF.js +29 -0
  104. package/dist/esm/chunks/chunk.F3MP6AXF.js.map +7 -0
  105. package/dist/esm/chunks/{chunk.Z4MN5NB5.js → chunk.FRYLJWYL.js} +2 -2
  106. package/dist/esm/chunks/{chunk.Z4MN5NB5.js.map → chunk.FRYLJWYL.js.map} +2 -2
  107. package/dist/esm/chunks/chunk.FVRSGKJD.js +7 -0
  108. package/dist/esm/chunks/chunk.FVRSGKJD.js.map +7 -0
  109. package/dist/esm/chunks/chunk.G3ZTZ4AN.js +7 -0
  110. package/dist/esm/chunks/chunk.G3ZTZ4AN.js.map +7 -0
  111. package/dist/esm/chunks/{chunk.MNPORZ4F.js → chunk.G45OZEIS.js} +2 -2
  112. package/dist/esm/chunks/{chunk.MNPORZ4F.js.map → chunk.G45OZEIS.js.map} +2 -2
  113. package/dist/esm/chunks/{chunk.5PXABBKU.js → chunk.G5MGGEFP.js} +2 -2
  114. package/dist/esm/chunks/{chunk.5PXABBKU.js.map → chunk.G5MGGEFP.js.map} +2 -2
  115. package/dist/esm/chunks/{chunk.Y6FFG7XO.js → chunk.GO5A4GKZ.js} +1 -1
  116. package/dist/esm/chunks/{chunk.Y6FFG7XO.js.map → chunk.GO5A4GKZ.js.map} +2 -2
  117. package/dist/esm/chunks/{chunk.L54GENPD.js → chunk.H4Z4DHPA.js} +2 -2
  118. package/dist/esm/chunks/{chunk.L54GENPD.js.map → chunk.H4Z4DHPA.js.map} +2 -2
  119. package/dist/esm/chunks/chunk.HBMNXZES.js +7 -0
  120. package/dist/esm/chunks/chunk.HBMNXZES.js.map +7 -0
  121. package/dist/esm/chunks/{chunk.Y5GQ2BA7.js → chunk.HPDBSBQJ.js} +2 -2
  122. package/dist/esm/chunks/{chunk.Y5GQ2BA7.js.map → chunk.HPDBSBQJ.js.map} +2 -2
  123. package/dist/esm/chunks/{chunk.TLS4ALGU.js → chunk.HU27X3IT.js} +2 -2
  124. package/dist/esm/chunks/{chunk.TLS4ALGU.js.map → chunk.HU27X3IT.js.map} +2 -2
  125. package/dist/esm/chunks/{chunk.ORF746AF.js → chunk.HV6SPRC4.js} +2 -2
  126. package/dist/esm/chunks/{chunk.ORF746AF.js.map → chunk.HV6SPRC4.js.map} +2 -2
  127. package/dist/esm/chunks/chunk.I5BAZWUF.js +7 -0
  128. package/dist/esm/chunks/chunk.I5BAZWUF.js.map +7 -0
  129. package/dist/esm/chunks/chunk.IGTXLDZS.js +7 -0
  130. package/dist/esm/chunks/{chunk.BYRJ7577.js.map → chunk.IGTXLDZS.js.map} +2 -2
  131. package/dist/esm/chunks/{chunk.GXUYYBVO.js → chunk.ILRWZHH3.js} +2 -2
  132. package/dist/esm/chunks/chunk.ILRWZHH3.js.map +7 -0
  133. package/dist/esm/chunks/{chunk.Z6S62LZJ.js → chunk.INCKI5IX.js} +2 -2
  134. package/dist/esm/chunks/{chunk.Z6S62LZJ.js.map → chunk.INCKI5IX.js.map} +2 -2
  135. package/dist/esm/chunks/{chunk.IMZ5PF4C.js → chunk.J2H5RXTX.js} +2 -2
  136. package/dist/esm/chunks/{chunk.IMZ5PF4C.js.map → chunk.J2H5RXTX.js.map} +2 -2
  137. package/dist/esm/chunks/{chunk.G76HB2FK.js → chunk.J2M2MXP2.js} +1 -1
  138. package/dist/esm/chunks/{chunk.G76HB2FK.js.map → chunk.J2M2MXP2.js.map} +2 -2
  139. package/dist/esm/chunks/{chunk.SVGEVCXA.js → chunk.J6WCFQSS.js} +2 -2
  140. package/dist/esm/chunks/{chunk.SVGEVCXA.js.map → chunk.J6WCFQSS.js.map} +2 -2
  141. package/dist/esm/chunks/{chunk.HWVLZ44Q.js → chunk.JEN6YP2Q.js} +2 -2
  142. package/dist/esm/chunks/{chunk.HWVLZ44Q.js.map → chunk.JEN6YP2Q.js.map} +2 -2
  143. package/dist/esm/chunks/{chunk.JXY6MTP3.js → chunk.JHBCYICS.js} +2 -2
  144. package/dist/esm/chunks/{chunk.JXY6MTP3.js.map → chunk.JHBCYICS.js.map} +2 -2
  145. package/dist/esm/chunks/chunk.JHY2CKEH.js +7 -0
  146. package/dist/esm/chunks/{chunk.VW4JVRH7.js.map → chunk.JHY2CKEH.js.map} +2 -2
  147. package/dist/esm/chunks/{chunk.FL6SJHQU.js → chunk.K2C4W3CO.js} +2 -2
  148. package/dist/esm/chunks/{chunk.FL6SJHQU.js.map → chunk.K2C4W3CO.js.map} +3 -3
  149. package/dist/esm/chunks/chunk.K6AFP52A.js +7 -0
  150. package/dist/esm/chunks/chunk.K6AFP52A.js.map +7 -0
  151. package/dist/esm/chunks/{chunk.ZAGCOV55.js → chunk.KE6GOYAB.js} +2 -2
  152. package/dist/esm/chunks/{chunk.ZAGCOV55.js.map → chunk.KE6GOYAB.js.map} +2 -2
  153. package/dist/esm/chunks/{chunk.B3IJU6XJ.js → chunk.KTGSZEAG.js} +1 -1
  154. package/dist/esm/chunks/{chunk.B3IJU6XJ.js.map → chunk.KTGSZEAG.js.map} +2 -2
  155. package/dist/esm/chunks/{chunk.BMFJLHDR.js → chunk.KU5CXXGS.js} +2 -2
  156. package/dist/esm/chunks/{chunk.BMFJLHDR.js.map → chunk.KU5CXXGS.js.map} +2 -2
  157. package/dist/esm/chunks/{chunk.ALJ3FDXL.js → chunk.KZO4DT2S.js} +2 -2
  158. package/dist/esm/chunks/{chunk.ALJ3FDXL.js.map → chunk.KZO4DT2S.js.map} +3 -3
  159. package/dist/esm/chunks/{chunk.7MVBJ37L.js → chunk.LDN4HLF7.js} +2 -2
  160. package/dist/esm/chunks/{chunk.7MVBJ37L.js.map → chunk.LDN4HLF7.js.map} +2 -2
  161. package/dist/esm/chunks/chunk.LFLREB3C.js +7 -0
  162. package/dist/esm/chunks/chunk.LFLREB3C.js.map +7 -0
  163. package/dist/esm/chunks/{chunk.E37HEAJ5.js → chunk.LIKJD4SK.js} +1 -1
  164. package/dist/esm/chunks/{chunk.E37HEAJ5.js.map → chunk.LIKJD4SK.js.map} +2 -2
  165. package/dist/esm/chunks/{chunk.S76NW5JY.js → chunk.LYOQ2RGP.js} +2 -2
  166. package/dist/esm/chunks/{chunk.S76NW5JY.js.map → chunk.LYOQ2RGP.js.map} +2 -2
  167. package/dist/esm/chunks/chunk.MHOS3IHQ.js +7 -0
  168. package/dist/esm/chunks/chunk.MHOS3IHQ.js.map +7 -0
  169. package/dist/esm/chunks/{chunk.IARIRFXO.js → chunk.MLV25D2G.js} +2 -2
  170. package/dist/esm/chunks/{chunk.IARIRFXO.js.map → chunk.MLV25D2G.js.map} +2 -2
  171. package/dist/esm/chunks/{chunk.N24NHF7Y.js → chunk.MXTDW27J.js} +2 -2
  172. package/dist/esm/chunks/{chunk.N24NHF7Y.js.map → chunk.MXTDW27J.js.map} +2 -2
  173. package/dist/esm/chunks/{chunk.LZMYHIO2.js → chunk.MZLPUI6R.js} +1 -1
  174. package/dist/esm/chunks/{chunk.LZMYHIO2.js.map → chunk.MZLPUI6R.js.map} +2 -2
  175. package/dist/esm/chunks/{chunk.SLSVRMAS.js → chunk.N4PVZUJX.js} +2 -2
  176. package/dist/esm/chunks/{chunk.SLSVRMAS.js.map → chunk.N4PVZUJX.js.map} +2 -2
  177. package/dist/esm/chunks/{chunk.YG2KLPHA.js.map → chunk.NW7NV2A2.js} +7 -7
  178. package/dist/esm/chunks/chunk.NW7NV2A2.js.map +7 -0
  179. package/dist/esm/chunks/{chunk.LGEYSCS2.js → chunk.O4FB4BV5.js} +2 -2
  180. package/dist/esm/chunks/{chunk.LGEYSCS2.js.map → chunk.O4FB4BV5.js.map} +2 -2
  181. package/dist/esm/chunks/{chunk.N46G56GG.js → chunk.O73S5LF3.js} +2 -2
  182. package/dist/esm/chunks/{chunk.N46G56GG.js.map → chunk.O73S5LF3.js.map} +2 -2
  183. package/dist/esm/chunks/{chunk.BCP2YATB.js → chunk.OV4QNVJH.js} +2 -2
  184. package/dist/esm/chunks/{chunk.BCP2YATB.js.map → chunk.OV4QNVJH.js.map} +2 -2
  185. package/dist/esm/chunks/{chunk.OJFI5I6O.js → chunk.OZ5BPXNV.js} +2 -2
  186. package/dist/esm/chunks/{chunk.OJFI5I6O.js.map → chunk.OZ5BPXNV.js.map} +2 -2
  187. package/dist/esm/chunks/{chunk.VHKQHMK3.js → chunk.P3IA2WTO.js} +2 -2
  188. package/dist/esm/chunks/{chunk.VHKQHMK3.js.map → chunk.P3IA2WTO.js.map} +3 -3
  189. package/dist/esm/chunks/{chunk.HWQEGQDD.js → chunk.PALRSBSY.js} +2 -2
  190. package/dist/esm/chunks/{chunk.HWQEGQDD.js.map → chunk.PALRSBSY.js.map} +2 -2
  191. package/dist/esm/chunks/{chunk.R4NDFXVA.js → chunk.PN26D52V.js} +2 -2
  192. package/dist/esm/chunks/{chunk.R4NDFXVA.js.map → chunk.PN26D52V.js.map} +2 -2
  193. package/dist/esm/chunks/chunk.PYIFIHDK.js +7 -0
  194. package/dist/esm/chunks/chunk.PYIFIHDK.js.map +7 -0
  195. package/dist/esm/chunks/{chunk.WEUNLYMQ.js → chunk.RB5BTA5N.js} +2 -2
  196. package/dist/esm/chunks/{chunk.WEUNLYMQ.js.map → chunk.RB5BTA5N.js.map} +2 -2
  197. package/dist/esm/chunks/{chunk.NYMNX3S7.js → chunk.RBAVT3XQ.js} +2 -2
  198. package/dist/esm/chunks/{chunk.NYMNX3S7.js.map → chunk.RBAVT3XQ.js.map} +2 -2
  199. package/dist/esm/chunks/chunk.RE5X26QT.js +29 -0
  200. package/dist/esm/chunks/chunk.RE5X26QT.js.map +7 -0
  201. package/dist/esm/chunks/chunk.RG6CDWEX.js +7 -0
  202. package/dist/esm/chunks/chunk.RG6CDWEX.js.map +7 -0
  203. package/dist/esm/chunks/chunk.RHFNK6EE.js +7 -0
  204. package/dist/esm/chunks/chunk.RHFNK6EE.js.map +7 -0
  205. package/dist/esm/chunks/{chunk.ZMXKZJRM.js → chunk.ROR6JMAE.js} +2 -2
  206. package/dist/esm/chunks/{chunk.ZMXKZJRM.js.map → chunk.ROR6JMAE.js.map} +2 -2
  207. package/dist/esm/chunks/chunk.RYMPSU4J.js +7 -0
  208. package/dist/esm/chunks/chunk.RYMPSU4J.js.map +7 -0
  209. package/dist/esm/chunks/{chunk.MBS5VMYY.js → chunk.SAQVWOVK.js} +2 -2
  210. package/dist/esm/chunks/{chunk.MBS5VMYY.js.map → chunk.SAQVWOVK.js.map} +3 -3
  211. package/dist/esm/chunks/chunk.SD4LLO5A.js +12 -0
  212. package/dist/esm/chunks/chunk.SD4LLO5A.js.map +7 -0
  213. package/dist/esm/chunks/{chunk.TCAOLSLI.js → chunk.SXTTEIIH.js} +2 -2
  214. package/dist/esm/chunks/{chunk.TCAOLSLI.js.map → chunk.SXTTEIIH.js.map} +2 -2
  215. package/dist/esm/chunks/{chunk.MWD47ZZU.js → chunk.T76JYRPR.js} +2 -2
  216. package/dist/esm/chunks/{chunk.MWD47ZZU.js.map → chunk.T76JYRPR.js.map} +3 -3
  217. package/dist/esm/chunks/chunk.TR5YMNJJ.js +7 -0
  218. package/dist/esm/chunks/chunk.TR5YMNJJ.js.map +7 -0
  219. package/dist/esm/chunks/{chunk.DRXMITOO.js → chunk.TWZXQQQO.js} +2 -2
  220. package/dist/esm/chunks/{chunk.DRXMITOO.js.map → chunk.TWZXQQQO.js.map} +3 -3
  221. package/dist/esm/chunks/chunk.U6WGJELL.js +7 -0
  222. package/dist/esm/chunks/chunk.U6WGJELL.js.map +7 -0
  223. package/dist/esm/chunks/chunk.U724KSZU.js +7 -0
  224. package/dist/esm/chunks/chunk.U724KSZU.js.map +7 -0
  225. package/dist/esm/chunks/{chunk.LZHDRATV.js → chunk.UBD2DPQN.js} +2 -2
  226. package/dist/esm/chunks/{chunk.LZHDRATV.js.map → chunk.UBD2DPQN.js.map} +2 -2
  227. package/dist/esm/chunks/{chunk.2ZQ3ZDPN.js → chunk.UF43SSFY.js} +2 -2
  228. package/dist/esm/chunks/{chunk.2ZQ3ZDPN.js.map → chunk.UF43SSFY.js.map} +2 -2
  229. package/dist/esm/chunks/chunk.ULIFS3UR.js +7 -0
  230. package/dist/esm/chunks/chunk.ULIFS3UR.js.map +7 -0
  231. package/dist/esm/chunks/{chunk.2LHBE2QZ.js → chunk.UT7QUGAO.js} +2 -2
  232. package/dist/esm/chunks/{chunk.2LHBE2QZ.js.map → chunk.UT7QUGAO.js.map} +2 -2
  233. package/dist/esm/chunks/{chunk.STS5TIUV.js → chunk.V4TCOZLK.js} +1 -1
  234. package/dist/esm/chunks/chunk.V4TCOZLK.js.map +7 -0
  235. package/dist/esm/chunks/chunk.V7WKXEZC.js +7 -0
  236. package/dist/esm/chunks/chunk.V7WKXEZC.js.map +7 -0
  237. package/dist/esm/chunks/{chunk.HHJJJ73Y.js → chunk.VAKNDCLP.js} +2 -2
  238. package/dist/esm/chunks/{chunk.HHJJJ73Y.js.map → chunk.VAKNDCLP.js.map} +3 -3
  239. package/dist/esm/chunks/chunk.VC2BG2RS.js +7 -0
  240. package/dist/esm/chunks/chunk.VC2BG2RS.js.map +7 -0
  241. package/dist/esm/chunks/{chunk.3L7T5WYL.js → chunk.WP4QOOIS.js} +2 -2
  242. package/dist/esm/chunks/{chunk.3L7T5WYL.js.map → chunk.WP4QOOIS.js.map} +2 -2
  243. package/dist/esm/chunks/chunk.WY7DECJD.js +7 -0
  244. package/dist/esm/chunks/chunk.WY7DECJD.js.map +7 -0
  245. package/dist/esm/chunks/{chunk.YONRMJU5.js → chunk.X5LGVZGO.js} +2 -2
  246. package/dist/esm/chunks/chunk.X5LGVZGO.js.map +7 -0
  247. package/dist/esm/chunks/{chunk.HPJ4AQIE.js → chunk.XHV3GQ7L.js} +2 -2
  248. package/dist/esm/chunks/{chunk.HPJ4AQIE.js.map → chunk.XHV3GQ7L.js.map} +2 -2
  249. package/dist/esm/chunks/{chunk.5TVWDATE.js → chunk.XUW3GG46.js} +2 -2
  250. package/dist/esm/chunks/{chunk.5TVWDATE.js.map → chunk.XUW3GG46.js.map} +2 -2
  251. package/dist/esm/chunks/chunk.XZ4WI7VK.js +7 -0
  252. package/dist/esm/chunks/chunk.XZ4WI7VK.js.map +7 -0
  253. package/dist/esm/chunks/{chunk.MMVZJLXE.js → chunk.Y4GKBJGI.js} +2 -2
  254. package/dist/esm/chunks/{chunk.MMVZJLXE.js.map → chunk.Y4GKBJGI.js.map} +2 -2
  255. package/dist/esm/chunks/chunk.Y66GSZJB.js +7 -0
  256. package/dist/esm/chunks/{chunk.5BDTX7CR.js.map → chunk.Y66GSZJB.js.map} +3 -3
  257. package/dist/esm/chunks/chunk.Y72NANFX.js +7 -0
  258. package/dist/esm/chunks/chunk.Y72NANFX.js.map +7 -0
  259. package/dist/esm/chunks/chunk.YBEBD4CN.js +7 -0
  260. package/dist/esm/chunks/chunk.YBEBD4CN.js.map +7 -0
  261. package/dist/esm/chunks/{chunk.D4SNVKDA.js → chunk.YI4JTY4T.js} +1 -1
  262. package/dist/esm/chunks/{chunk.D4SNVKDA.js.map → chunk.YI4JTY4T.js.map} +2 -2
  263. package/dist/esm/chunks/{chunk.E43TT4RI.js → chunk.YPZNIYQL.js} +1 -1
  264. package/dist/esm/chunks/{chunk.E43TT4RI.js.map → chunk.YPZNIYQL.js.map} +2 -2
  265. package/dist/esm/chunks/{chunk.F5I55MXD.js → chunk.ZUNZKRRK.js} +2 -2
  266. package/dist/esm/chunks/{chunk.F5I55MXD.js.map → chunk.ZUNZKRRK.js.map} +2 -2
  267. package/dist/esm/circular-progress/index.js +1 -1
  268. package/dist/esm/color-picker/index.js +1 -1
  269. package/dist/esm/core/base/index.js +1 -1
  270. package/dist/esm/core/delegates/index.js +1 -1
  271. package/dist/esm/core/index.js +1 -1
  272. package/dist/esm/core/mask/index.js +1 -1
  273. package/dist/esm/core/utils/index.js +1 -1
  274. package/dist/esm/date-picker/index.js +1 -1
  275. package/dist/esm/date-range-picker/index.js +1 -1
  276. package/dist/esm/dialog/index.js +1 -1
  277. package/dist/esm/divider/index.js +1 -1
  278. package/dist/esm/drawer/base/index.js +1 -1
  279. package/dist/esm/drawer/drawer/index.js +1 -1
  280. package/dist/esm/drawer/index.js +1 -1
  281. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  282. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  283. package/dist/esm/expansion-panel/index.js +1 -1
  284. package/dist/esm/file-picker/index.js +1 -1
  285. package/dist/esm/floating-action-button/index.js +1 -1
  286. package/dist/esm/floating-label/index.js +1 -1
  287. package/dist/esm/icon/index.js +1 -1
  288. package/dist/esm/icon-button/index.js +1 -1
  289. package/dist/esm/index.js +1 -1
  290. package/dist/esm/inline-message/index.js +1 -1
  291. package/dist/esm/keyboard-shortcut/index.js +1 -1
  292. package/dist/esm/label-value/index.js +1 -1
  293. package/dist/esm/linear-progress/index.js +1 -1
  294. package/dist/esm/list/index.js +1 -1
  295. package/dist/esm/list/list/index.js +1 -1
  296. package/dist/esm/list/list-item/index.js +1 -1
  297. package/dist/esm/list-dropdown/index.js +1 -1
  298. package/dist/esm/menu/index.js +1 -1
  299. package/dist/esm/open-icon/index.js +1 -1
  300. package/dist/esm/page-state/index.js +1 -1
  301. package/dist/esm/paginator/index.js +1 -1
  302. package/dist/esm/popup/index.js +1 -1
  303. package/dist/esm/product-icon/index.js +1 -1
  304. package/dist/esm/profile-card/index.js +1 -1
  305. package/dist/esm/quantity-field/index.js +1 -1
  306. package/dist/esm/radio/index.js +1 -1
  307. package/dist/esm/ripple/index.js +1 -1
  308. package/dist/esm/scaffold/index.js +1 -1
  309. package/dist/esm/select/core/index.js +1 -1
  310. package/dist/esm/select/index.js +1 -1
  311. package/dist/esm/select/option/index.js +1 -1
  312. package/dist/esm/select/option-group/index.js +1 -1
  313. package/dist/esm/select/select/index.js +1 -1
  314. package/dist/esm/select/select-dropdown/index.js +1 -1
  315. package/dist/esm/skeleton/index.js +1 -1
  316. package/dist/esm/slider/index.js +1 -1
  317. package/dist/esm/split-view/index.js +1 -1
  318. package/dist/esm/split-view/split-view/index.js +1 -1
  319. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  320. package/dist/esm/stack/index.js +7 -0
  321. package/dist/esm/stack/index.js.map +7 -0
  322. package/dist/esm/stepper/index.js +1 -1
  323. package/dist/esm/stepper/step/index.js +1 -1
  324. package/dist/esm/stepper/stepper/index.js +1 -1
  325. package/dist/esm/switch/index.js +1 -1
  326. package/dist/esm/table/index.js +1 -1
  327. package/dist/esm/tabs/index.js +1 -1
  328. package/dist/esm/tabs/tab/index.js +1 -1
  329. package/dist/esm/tabs/tab-bar/index.js +1 -1
  330. package/dist/esm/text-field/index.js +1 -1
  331. package/dist/esm/theme/index.js +1 -1
  332. package/dist/esm/time-picker/index.js +1 -1
  333. package/dist/esm/toast/index.js +1 -1
  334. package/dist/esm/toolbar/index.js +1 -1
  335. package/dist/esm/tooltip/index.js +1 -1
  336. package/dist/esm/utils/index.js +1 -1
  337. package/dist/esm/view-switcher/index.js +1 -1
  338. package/dist/esm/view-switcher/view/index.js +1 -1
  339. package/dist/floating-action-button/forge-floating-action-button.css +1 -1
  340. package/dist/floating-label/forge-floating-label.css +1 -1
  341. package/dist/forge.css +1 -1
  342. package/dist/utils/forge-utils.css +1 -1
  343. package/esm/app-bar/app-bar.js +1 -1
  344. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +3 -0
  345. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +5 -0
  346. package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +1 -0
  347. package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +2 -1
  348. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +4 -0
  349. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +14 -0
  350. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +2 -0
  351. package/esm/app-bar/notification-button/app-bar-notification-button.js +9 -2
  352. package/esm/autocomplete/autocomplete-adapter.d.ts +11 -10
  353. package/esm/autocomplete/autocomplete-adapter.js +4 -1
  354. package/esm/autocomplete/autocomplete-constants.d.ts +11 -12
  355. package/esm/autocomplete/autocomplete-constants.js +1 -0
  356. package/esm/autocomplete/autocomplete-foundation.d.ts +14 -7
  357. package/esm/autocomplete/autocomplete-foundation.js +26 -4
  358. package/esm/autocomplete/autocomplete-utils.d.ts +4 -5
  359. package/esm/autocomplete/autocomplete.d.ts +10 -4
  360. package/esm/autocomplete/autocomplete.js +10 -3
  361. package/esm/badge/badge.js +1 -1
  362. package/esm/busy-indicator/busy-indicator.js +2 -2
  363. package/esm/button/button-constants.d.ts +1 -0
  364. package/esm/button/button-constants.js +2 -1
  365. package/esm/button/button.d.ts +1 -1
  366. package/esm/button/button.js +6 -7
  367. package/esm/calendar/calendar-foundation.js +1 -0
  368. package/esm/calendar/calendar.js +1 -1
  369. package/esm/card/card.js +1 -1
  370. package/esm/checkbox/checkbox-adapter.d.ts +1 -2
  371. package/esm/checkbox/checkbox-adapter.js +12 -8
  372. package/esm/checkbox/checkbox-foundation.js +0 -3
  373. package/esm/chip-field/chip-field-adapter.d.ts +2 -0
  374. package/esm/chip-field/chip-field-adapter.js +8 -3
  375. package/esm/chip-field/chip-field-foundation.js +1 -0
  376. package/esm/chip-field/chip-field.js +1 -1
  377. package/esm/chips/chip/chip-adapter.d.ts +17 -2
  378. package/esm/chips/chip/chip-adapter.js +90 -15
  379. package/esm/chips/chip/chip-constants.d.ts +4 -0
  380. package/esm/chips/chip/chip-constants.js +6 -2
  381. package/esm/chips/chip/chip-foundation.d.ts +2 -0
  382. package/esm/chips/chip/chip-foundation.js +38 -13
  383. package/esm/chips/chip/chip.d.ts +2 -0
  384. package/esm/chips/chip/chip.js +5 -2
  385. package/esm/chips/chip-set/chip-set-adapter.d.ts +4 -0
  386. package/esm/chips/chip-set/chip-set-adapter.js +24 -0
  387. package/esm/chips/chip-set/chip-set-foundation.d.ts +3 -0
  388. package/esm/chips/chip-set/chip-set-foundation.js +8 -0
  389. package/esm/chips/chip-set/chip-set.d.ts +1 -0
  390. package/esm/chips/chip-set/chip-set.js +3 -0
  391. package/esm/circular-progress/circular-progress.js +1 -1
  392. package/esm/color-picker/color-picker-foundation.d.ts +1 -0
  393. package/esm/color-picker/color-picker-foundation.js +19 -8
  394. package/esm/core/mask/intermediate-time-parser.d.ts +49 -0
  395. package/esm/core/mask/intermediate-time-parser.js +106 -0
  396. package/esm/core/mask/time-input-mask.d.ts +0 -1
  397. package/esm/core/mask/time-input-mask.js +79 -58
  398. package/esm/core/mask/time-segment-parser.d.ts +22 -0
  399. package/esm/core/mask/time-segment-parser.js +46 -0
  400. package/esm/core/utils/date-utils.js +2 -2
  401. package/esm/core/utils/time-utils.d.ts +1 -0
  402. package/esm/core/utils/time-utils.js +20 -3
  403. package/esm/core/utils/utils.d.ts +0 -6
  404. package/esm/core/utils/utils.js +0 -10
  405. package/esm/date-picker/base/base-date-picker-foundation.js +2 -1
  406. package/esm/date-picker/base/base-date-picker.d.ts +2 -2
  407. package/esm/date-range-picker/date-range-picker-foundation.d.ts +2 -2
  408. package/esm/date-range-picker/date-range-picker-foundation.js +1 -1
  409. package/esm/dialog/dialog-adapter.d.ts +0 -2
  410. package/esm/dialog/dialog-adapter.js +1 -10
  411. package/esm/dialog/dialog-foundation.js +2 -3
  412. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  413. package/esm/file-picker/file-picker-adapter.js +3 -2
  414. package/esm/file-picker/file-picker-foundation.d.ts +2 -0
  415. package/esm/file-picker/file-picker-foundation.js +15 -38
  416. package/esm/file-picker/file-picker.d.ts +1 -0
  417. package/esm/file-picker/file-picker.js +3 -0
  418. package/esm/floating-action-button/floating-action-button-constants.js +1 -1
  419. package/esm/icon-button/icon-button-constants.js +1 -1
  420. package/esm/icon-button/icon-button.d.ts +1 -1
  421. package/esm/icon-button/icon-button.js +6 -6
  422. package/esm/index.d.ts +1 -0
  423. package/esm/index.js +3 -0
  424. package/esm/linear-progress/linear-progress.js +2 -2
  425. package/esm/list/list-item/list-item-foundation.js +1 -2
  426. package/esm/list/list-item/list-item.js +1 -1
  427. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.d.ts +5 -2
  428. package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.js +3 -1
  429. package/esm/list-dropdown/list-dropdown-adapter.d.ts +2 -0
  430. package/esm/list-dropdown/list-dropdown-adapter.js +6 -0
  431. package/esm/list-dropdown/list-dropdown-aware-foundation.d.ts +8 -0
  432. package/esm/list-dropdown/list-dropdown-aware-foundation.js +14 -0
  433. package/esm/list-dropdown/list-dropdown-aware.d.ts +11 -2
  434. package/esm/list-dropdown/list-dropdown-aware.js +12 -0
  435. package/esm/list-dropdown/list-dropdown-constants.d.ts +10 -3
  436. package/esm/list-dropdown/list-dropdown-constants.js +2 -0
  437. package/esm/list-dropdown/list-dropdown-foundation.js +5 -6
  438. package/esm/list-dropdown/list-dropdown-utils.d.ts +1 -0
  439. package/esm/list-dropdown/list-dropdown-utils.js +40 -18
  440. package/esm/menu/menu-adapter.d.ts +2 -0
  441. package/esm/menu/menu-adapter.js +7 -0
  442. package/esm/menu/menu-constants.js +1 -1
  443. package/esm/menu/menu-foundation.d.ts +12 -3
  444. package/esm/menu/menu-foundation.js +28 -17
  445. package/esm/menu/menu.d.ts +6 -1
  446. package/esm/menu/menu.js +9 -3
  447. package/esm/popup/popup-adapter.js +9 -1
  448. package/esm/popup/popup-constants.d.ts +1 -0
  449. package/esm/popup/popup-constants.js +2 -1
  450. package/esm/popup/popup-foundation.d.ts +4 -0
  451. package/esm/popup/popup-foundation.js +7 -0
  452. package/esm/popup/popup.d.ts +2 -0
  453. package/esm/popup/popup.js +4 -1
  454. package/esm/profile-card/profile-card.js +1 -1
  455. package/esm/quantity-field/quantity-field-adapter.d.ts +2 -0
  456. package/esm/quantity-field/quantity-field-adapter.js +8 -0
  457. package/esm/quantity-field/quantity-field-foundation.js +1 -0
  458. package/esm/quantity-field/quantity-field.js +6 -0
  459. package/esm/radio/radio-adapter.d.ts +3 -3
  460. package/esm/radio/radio-adapter.js +17 -15
  461. package/esm/radio/radio-foundation.js +1 -1
  462. package/esm/ripple/forge-ripple.d.ts +4 -0
  463. package/esm/ripple/forge-ripple.js +8 -0
  464. package/esm/select/core/base-select-adapter.js +8 -6
  465. package/esm/select/core/base-select-constants.d.ts +2 -0
  466. package/esm/select/core/base-select-constants.js +3 -1
  467. package/esm/select/core/base-select-foundation.d.ts +0 -9
  468. package/esm/select/core/base-select-foundation.js +5 -26
  469. package/esm/select/core/select-utils.js +1 -1
  470. package/esm/select/option-group/option-group.d.ts +12 -1
  471. package/esm/select/option-group/option-group.js +7 -0
  472. package/esm/select/select/select.js +5 -3
  473. package/esm/slider/slider.js +1 -1
  474. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  475. package/esm/stack/index.d.ts +10 -0
  476. package/esm/stack/index.js +14 -0
  477. package/esm/stack/stack-adapter.d.ts +15 -0
  478. package/esm/stack/stack-adapter.js +18 -0
  479. package/esm/stack/stack-constants.d.ts +29 -0
  480. package/esm/stack/stack-constants.js +36 -0
  481. package/esm/stack/stack-foundation.d.ts +39 -0
  482. package/esm/stack/stack-foundation.js +70 -0
  483. package/esm/stack/stack.d.ts +41 -0
  484. package/esm/stack/stack.js +74 -0
  485. package/esm/switch/switch.js +38 -13
  486. package/esm/table/table-foundation.d.ts +7 -0
  487. package/esm/table/table-foundation.js +9 -0
  488. package/esm/table/table-utils.js +6 -3
  489. package/esm/table/table.d.ts +7 -0
  490. package/esm/table/table.js +8 -0
  491. package/esm/table/types.d.ts +8 -4
  492. package/esm/text-field/text-field.js +1 -1
  493. package/esm/time-picker/time-picker-adapter.d.ts +4 -0
  494. package/esm/time-picker/time-picker-adapter.js +8 -0
  495. package/esm/time-picker/time-picker-component-delegate.js +1 -6
  496. package/esm/time-picker/time-picker-foundation.d.ts +3 -0
  497. package/esm/time-picker/time-picker-foundation.js +46 -14
  498. package/esm/toast/toast.js +1 -1
  499. package/esm/toolbar/toolbar.js +2 -2
  500. package/esm/tooltip/tooltip-foundation.d.ts +1 -0
  501. package/esm/tooltip/tooltip-foundation.js +3 -0
  502. package/esm/tooltip/tooltip.js +1 -1
  503. package/esm/view-switcher/view-switcher.js +1 -1
  504. package/package.json +31 -4
  505. package/styles/busy-indicator/_mixins.scss +1 -0
  506. package/styles/chip-field/_selector.scss +12 -13
  507. package/styles/chip-field/chip-field.scss +1 -1
  508. package/styles/chips/chip/_mixins.scss +19 -6
  509. package/styles/field/_base.scss +2 -2
  510. package/styles/field/_selector.scss +1 -1
  511. package/styles/list/list-item/_mixins.scss +28 -17
  512. package/styles/list/list-item/_variables.scss +13 -4
  513. package/styles/popup/popup.scss +4 -0
  514. package/styles/stack/_mixins.scss +49 -0
  515. package/styles/stack/_variables.scss +6 -0
  516. package/styles/stack/stack.scss +46 -0
  517. package/styles/toolbar/_mixins.scss +1 -2
  518. package/styles/toolbar/toolbar.scss +13 -0
  519. package/styles/view-switcher/_mixins.scss +2 -0
  520. package/dist/esm/chunks/chunk.2CEW64ZM.js +0 -7
  521. package/dist/esm/chunks/chunk.2CEW64ZM.js.map +0 -7
  522. package/dist/esm/chunks/chunk.36VS7FMU.js +0 -7
  523. package/dist/esm/chunks/chunk.36VS7FMU.js.map +0 -7
  524. package/dist/esm/chunks/chunk.3MP6OFVU.js +0 -7
  525. package/dist/esm/chunks/chunk.3MP6OFVU.js.map +0 -7
  526. package/dist/esm/chunks/chunk.4K3IV4GI.js +0 -7
  527. package/dist/esm/chunks/chunk.4K3IV4GI.js.map +0 -7
  528. package/dist/esm/chunks/chunk.5BDTX7CR.js +0 -7
  529. package/dist/esm/chunks/chunk.5EQPGUZH.js +0 -7
  530. package/dist/esm/chunks/chunk.5EQPGUZH.js.map +0 -7
  531. package/dist/esm/chunks/chunk.6LXDG4W5.js +0 -7
  532. package/dist/esm/chunks/chunk.6LXDG4W5.js.map +0 -7
  533. package/dist/esm/chunks/chunk.7R6TYPPS.js +0 -7
  534. package/dist/esm/chunks/chunk.7R6TYPPS.js.map +0 -7
  535. package/dist/esm/chunks/chunk.7TDB3VFH.js +0 -7
  536. package/dist/esm/chunks/chunk.7TDB3VFH.js.map +0 -7
  537. package/dist/esm/chunks/chunk.BCD4AAI2.js +0 -7
  538. package/dist/esm/chunks/chunk.BCD4AAI2.js.map +0 -7
  539. package/dist/esm/chunks/chunk.BTI5I25G.js +0 -12
  540. package/dist/esm/chunks/chunk.BTI5I25G.js.map +0 -7
  541. package/dist/esm/chunks/chunk.BYRJ7577.js +0 -7
  542. package/dist/esm/chunks/chunk.DB2WESQC.js +0 -7
  543. package/dist/esm/chunks/chunk.DB2WESQC.js.map +0 -7
  544. package/dist/esm/chunks/chunk.DLAIQJHL.js +0 -7
  545. package/dist/esm/chunks/chunk.DLAIQJHL.js.map +0 -7
  546. package/dist/esm/chunks/chunk.DURRORXO.js +0 -29
  547. package/dist/esm/chunks/chunk.DURRORXO.js.map +0 -7
  548. package/dist/esm/chunks/chunk.EDU7RQD7.js +0 -7
  549. package/dist/esm/chunks/chunk.EDU7RQD7.js.map +0 -7
  550. package/dist/esm/chunks/chunk.ETIN6DEM.js +0 -7
  551. package/dist/esm/chunks/chunk.ETIN6DEM.js.map +0 -7
  552. package/dist/esm/chunks/chunk.F2GXZPID.js +0 -7
  553. package/dist/esm/chunks/chunk.F2GXZPID.js.map +0 -7
  554. package/dist/esm/chunks/chunk.F3Q62EMG.js +0 -7
  555. package/dist/esm/chunks/chunk.F3Q62EMG.js.map +0 -7
  556. package/dist/esm/chunks/chunk.GEMZPO6Z.js +0 -7
  557. package/dist/esm/chunks/chunk.GEMZPO6Z.js.map +0 -7
  558. package/dist/esm/chunks/chunk.GXUYYBVO.js.map +0 -7
  559. package/dist/esm/chunks/chunk.HYMB3XDK.js +0 -9
  560. package/dist/esm/chunks/chunk.HYMB3XDK.js.map +0 -7
  561. package/dist/esm/chunks/chunk.JMXJXZTS.js +0 -7
  562. package/dist/esm/chunks/chunk.JMXJXZTS.js.map +0 -7
  563. package/dist/esm/chunks/chunk.M4KJNCLO.js +0 -7
  564. package/dist/esm/chunks/chunk.M4KJNCLO.js.map +0 -7
  565. package/dist/esm/chunks/chunk.MBWEYW6M.js +0 -7
  566. package/dist/esm/chunks/chunk.MBWEYW6M.js.map +0 -7
  567. package/dist/esm/chunks/chunk.O2R6MBT5.js +0 -7
  568. package/dist/esm/chunks/chunk.O2R6MBT5.js.map +0 -7
  569. package/dist/esm/chunks/chunk.O5I3ZMDA.js +0 -7
  570. package/dist/esm/chunks/chunk.ON6FJ2D6.js +0 -7
  571. package/dist/esm/chunks/chunk.ON6FJ2D6.js.map +0 -7
  572. package/dist/esm/chunks/chunk.PCSCKTFS.js +0 -7
  573. package/dist/esm/chunks/chunk.PCSCKTFS.js.map +0 -7
  574. package/dist/esm/chunks/chunk.PYG4YVBA.js.map +0 -7
  575. package/dist/esm/chunks/chunk.Q3RRONZQ.js +0 -7
  576. package/dist/esm/chunks/chunk.Q3RRONZQ.js.map +0 -7
  577. package/dist/esm/chunks/chunk.QH4DLM3R.js +0 -7
  578. package/dist/esm/chunks/chunk.QH4DLM3R.js.map +0 -7
  579. package/dist/esm/chunks/chunk.QIJHHDYF.js +0 -7
  580. package/dist/esm/chunks/chunk.QIJHHDYF.js.map +0 -7
  581. package/dist/esm/chunks/chunk.QMRLSOAB.js +0 -7
  582. package/dist/esm/chunks/chunk.QMRLSOAB.js.map +0 -7
  583. package/dist/esm/chunks/chunk.QZHEP4X2.js +0 -29
  584. package/dist/esm/chunks/chunk.QZHEP4X2.js.map +0 -7
  585. package/dist/esm/chunks/chunk.STS5TIUV.js.map +0 -7
  586. package/dist/esm/chunks/chunk.UOWU5VVK.js +0 -7
  587. package/dist/esm/chunks/chunk.UOWU5VVK.js.map +0 -7
  588. package/dist/esm/chunks/chunk.VW4JVRH7.js +0 -7
  589. package/dist/esm/chunks/chunk.WOHCW6KW.js +0 -7
  590. package/dist/esm/chunks/chunk.WOHCW6KW.js.map +0 -7
  591. package/dist/esm/chunks/chunk.WU24GAQY.js +0 -7
  592. package/dist/esm/chunks/chunk.WU24GAQY.js.map +0 -7
  593. package/dist/esm/chunks/chunk.XSZ4S77A.js +0 -7
  594. package/dist/esm/chunks/chunk.XSZ4S77A.js.map +0 -7
  595. package/dist/esm/chunks/chunk.Y4L7AVUS.js +0 -7
  596. package/dist/esm/chunks/chunk.Y4L7AVUS.js.map +0 -7
  597. package/dist/esm/chunks/chunk.YG2KLPHA.js +0 -7
  598. package/dist/esm/chunks/chunk.YONRMJU5.js.map +0 -7
  599. package/dist/esm/chunks/chunk.YWRCWMNO.js +0 -7
  600. package/dist/esm/chunks/chunk.YWRCWMNO.js.map +0 -7
  601. package/dist/esm/chunks/chunk.ZPBGKHHM.js +0 -7
  602. package/dist/esm/chunks/chunk.ZPBGKHHM.js.map +0 -7
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../node_modules/@tylertech/forge-core/esm/resize/resize-observer.js", "../../src/split-view/split-view/split-view-adapter.ts", "../../src/split-view/split-view/split-view-foundation.ts", "../../src/split-view/split-view/split-view.ts", "../../src/split-view/split-view/index.ts"],
4
4
  "sourcesContent": ["/**\n * Provides a set of methods for observing and responding to resizing of elements.\n */\nexport class ForgeResizeObserver {\n /**\n * Initiates the observing of a specified `Element`. Calling with an already observed `Element`\n * overwrites the exisiting observation. It is expected that the consumer will eventually\n * {@link unobserve} the `Element` to avoid memory leaks.\n *\n * @param target An `Element` reference.\n * @param callback A function that accepts a `ResizeObserverEntry` for the `Element`.\n * @param options An options object allowing you to set options for the observation.\n */\n static observe(target, callback, options) {\n var _a, _b;\n if (ForgeResizeObserver._targets.has(target)) {\n (_a = ForgeResizeObserver._observer) === null || _a === void 0 ? void 0 : _a.unobserve(target);\n }\n ForgeResizeObserver._targets.set(target, callback);\n ForgeResizeObserver._countTargets();\n (_b = ForgeResizeObserver._observer) === null || _b === void 0 ? void 0 : _b.observe(target, options);\n }\n /**\n * Ends the observing of a specified `Element`.\n *\n * @param target An `Element` reference.\n */\n static unobserve(target) {\n var _a;\n ForgeResizeObserver._targets.delete(target);\n (_a = ForgeResizeObserver._observer) === null || _a === void 0 ? void 0 : _a.unobserve(target);\n ForgeResizeObserver._countTargets();\n }\n /**\n * Creates or destroys the `ResizeObserver` based on whether targets exist.\n */\n static _countTargets() {\n if (ForgeResizeObserver._observer) {\n // If there are no targets destroy the observer\n if (ForgeResizeObserver._targets.size < 1) {\n ForgeResizeObserver._observer = undefined;\n }\n }\n else {\n // If there are targets create the observer\n if (ForgeResizeObserver._targets.size) {\n ForgeResizeObserver._observer = new ResizeObserver(ForgeResizeObserver._handleResize);\n }\n }\n }\n}\nForgeResizeObserver._targets = new Map();\n/**\n * Runs the callback function of targets when they are resized.\n *\n * @param entries An array of `ResizeObserverEntry`s.\n */\nForgeResizeObserver._handleResize = entries => {\n entries.forEach(entry => {\n var _a;\n (_a = ForgeResizeObserver._targets.get(entry.target)) === null || _a === void 0 ? void 0 : _a(entry);\n });\n};\n", "import { ForgeResizeObserver, getShadowElement } from '@tylertech/forge-core';\n\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { ISplitViewPanelComponent, SPLIT_VIEW_PANEL_CONSTANTS } from '../split-view-panel';\nimport { ISplitViewComponent } from './split-view';\nimport { SplitViewOrientation, SPLIT_VIEW_CONSTANTS } from './split-view-constants';\n\nexport interface ISplitViewAdapter extends IBaseAdapter {\n registerSlotListener(listener: (evt: Event) => void): void;\n registerDidOpenListener(listener: () => void): void;\n registerDidCloseListener(listener: () => void): void;\n observeResize(callback: (entry: ResizeObserverEntry) => void): void;\n unobserveResize(): void;\n getSlottedPanels(): ISplitViewPanelComponent[];\n refitSlottedPanels(orientation: SplitViewOrientation): void;\n}\n\nexport class SplitViewAdapter extends BaseAdapter<ISplitViewComponent> implements ISplitViewAdapter {\n private _root: HTMLElement;\n\n constructor(component: ISplitViewComponent) {\n super(component);\n this._root = getShadowElement(component, SPLIT_VIEW_CONSTANTS.selectors.ROOT);\n }\n\n public registerSlotListener(listener: (evt: Event) => void): void {\n this._root.addEventListener('slotchange', listener);\n }\n\n public registerDidOpenListener(listener: () => void): void {\n this._root.addEventListener(SPLIT_VIEW_PANEL_CONSTANTS.events.DID_OPEN, listener);\n }\n\n public registerDidCloseListener(listener: () => void): void {\n this._root.addEventListener(SPLIT_VIEW_PANEL_CONSTANTS.events.DID_CLOSE, listener);\n }\n\n public observeResize(callback: (entry: ResizeObserverEntry) => void): void {\n ForgeResizeObserver.observe(this._root, callback);\n }\n \n public unobserveResize(): void {\n ForgeResizeObserver.unobserve(this._root);\n }\n \n /**\n * Gets all child panels.\n * @returns All child panels.\n */\n public getSlottedPanels(): ISplitViewPanelComponent[] {\n const nodeList = this._component.querySelectorAll<ISplitViewPanelComponent>(SPLIT_VIEW_CONSTANTS.selectors.PANEL);\n return Array.from(nodeList);\n }\n\n public refitSlottedPanels(orientation: SplitViewOrientation): void {\n // Check if the combined panel size is greater than the split view size along the relevant axis\n const size = orientation === 'horizontal' ? this._root.clientWidth : this._root.clientHeight;\n const panels = this.getSlottedPanels();\n const combinedPanelSize = panels.map(panel => {\n const panelRoot = panel.shadowRoot?.querySelector(SPLIT_VIEW_PANEL_CONSTANTS.selectors.ROOT);\n const panelSize = orientation === 'horizontal' ? panelRoot?.clientWidth : panelRoot?.clientHeight;\n return panelSize ?? 0;\n }).reduce((cur, acc) => cur + acc, 0);\n\n // Do nothing if all the panels fit\n if (combinedPanelSize <= size) {\n return;\n }\n\n // Get the size adjustment needed to fit\n let diff = combinedPanelSize - size;\n\n // Size down the panels as needed in reverse order, adjusting diff accordingly\n panels.slice().reverse().forEach(panel => {\n if (diff <= 0) {\n return;\n }\n\n const panelSize = panel.getContentSize();\n const collapsibleSize = panel.getCollapsibleSize();\n const reduceBy = Math.min(diff, collapsibleSize);\n const newSize = panelSize - reduceBy;\n\n panel.setContentSize(newSize);\n\n diff -= reduceBy;\n });\n\n // If there's still overflow nothing else can be done\n }\n}\n", "import { ForgeResizeObserverCallback, ICustomElementFoundation, throttle } from '@tylertech/forge-core';\n\nimport { ISplitViewBase } from '../core/split-view-base';\nimport { ISplitViewPanelComponent, SplitViewAnimatingLayer } from '../split-view-panel';\nimport { ISplitViewAdapter } from './split-view-adapter';\nimport { ISplitViewUpdateConfig, SplitViewOrientation, SPLIT_VIEW_CONSTANTS } from './split-view-constants';\n\nexport interface ISplitViewFoundation extends ISplitViewBase, ICustomElementFoundation {\n orientation: SplitViewOrientation;\n layerSlottedPanels(target: ISplitViewPanelComponent): void;\n unlayerSlottedPanels(): void;\n update(config: ISplitViewUpdateConfig): void;\n refitSlottedPanels(): void;\n}\n\nexport class SplitViewFoundation implements ISplitViewFoundation {\n private _orientation: SplitViewOrientation = 'horizontal';\n private _disabled = false;\n private _allowClose = false;\n private _autoClose = false;\n private _autoCloseThreshold = 0;\n private _slotListener: (evt: Event) => void;\n private _didOpenListener: () => void;\n private _didCloseListener: () => void;\n private _resizeObserverCallback: ForgeResizeObserverCallback;\n private _isInitialized = false;\n\n constructor(private _adapter: ISplitViewAdapter) {\n this._slotListener = evt => this._onSlotChange(evt);\n this._didOpenListener = () => this._onDidOpen();\n this._didCloseListener = () => this._onDidClose();\n this._resizeObserverCallback = throttle((entry: ResizeObserverEntry) => this._onResize(entry), SPLIT_VIEW_CONSTANTS.numbers.RESIZE_THROTTLE_THRESHOLD);\n }\n\n public initialize(): void {\n this._adapter.registerSlotListener(this._slotListener);\n this._adapter.registerDidOpenListener(this._didOpenListener);\n this._adapter.registerDidCloseListener(this._didCloseListener);\n this._adapter.observeResize(this._resizeObserverCallback);\n \n this._applyOrientation();\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._adapter.unobserveResize();\n }\n\n private _onSlotChange(evt: Event): void {\n this._layoutSlottedPanels();\n this.update({ accessibility: true, cursor: true, orientation: this._orientation });\n }\n\n private _onDidOpen(): void {\n this._adapter.refitSlottedPanels(this._orientation);\n this.update({ accessibility: true, cursor: true, size: true});\n }\n\n private _onDidClose(): void {\n this._adapter.refitSlottedPanels(this._orientation);\n this.update({ accessibility: true, cursor: true, size: true});\n }\n\n private _onResize(entry: ResizeObserverEntry): void {\n this.update({ accessibility: true, cursor: true, size: true });\n }\n\n /**\n * Sets the resizable value of slotted panels with no resizable value set.\n */\n private _layoutSlottedPanels(): void {\n const panels = this._adapter.getSlottedPanels();\n\n // A single panel should have resizable set to off. Just leave it alone.\n if (panels.length < 2) {\n return;\n }\n\n // Don't change any panels if resizable is already set.\n if (panels.some(panel => panel.resizable !== 'off')) {\n return;\n }\n\n // All panels after the first have resizable set to start.\n panels.slice(1).forEach(panel => panel.resizable = 'start');\n }\n\n /**\n * Get/set whether panels are arranged horizontally or vertically.\n */\n public get orientation(): SplitViewOrientation {\n return this._orientation;\n }\n public set orientation(value: SplitViewOrientation) {\n if (this._orientation !== value) {\n this._orientation = value;\n this._applyOrientation();\n }\n }\n\n private _applyOrientation(): void {\n this._adapter.setHostAttribute(SPLIT_VIEW_CONSTANTS.attributes.ORIENTATION, this._orientation);\n this.update({ orientation: this._orientation });\n\n if (this._isInitialized) {\n this._adapter.refitSlottedPanels(this._orientation);\n }\n this.update({ accessibility: true, cursor: true });\n }\n\n /**\n * Get/set whether interactions are disabled.\n */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._applyDisabled();\n }\n }\n\n private _applyDisabled(): void {\n this._adapter.toggleHostAttribute(SPLIT_VIEW_CONSTANTS.attributes.DISABLED, this._disabled);\n this.update({ properties: { disabled: this._disabled } });\n }\n\n /**\n * Get/set whether closing the panel is disabled.\n */\n public get allowClose(): boolean {\n return this._allowClose;\n }\n public set allowClose(value: boolean) {\n if (this._allowClose !== value) {\n this._allowClose = value;\n this._applyAllowClose();\n }\n }\n\n private _applyAllowClose(): void {\n this._adapter.toggleHostAttribute(SPLIT_VIEW_CONSTANTS.attributes.ALLOW_CLOSE, this._allowClose);\n this.update({ properties: { allowClose: this._allowClose } });\n }\n\n /**\n * Get/set whether the panel closes when a threshold size is reached.\n */\n public get autoClose(): boolean {\n return this._autoClose;\n }\n public set autoClose(value: boolean) {\n if (this._autoClose !== value) {\n this._autoClose = value;\n this._applyAutoClose();\n }\n }\n\n private _applyAutoClose(): void {\n this._adapter.toggleHostAttribute(SPLIT_VIEW_CONSTANTS.attributes.AUTO_CLOSE, this._autoClose);\n this.update({ properties: { autoClose: this._autoClose } });\n }\n\n /**\n * Get/set the size at which panels auto close.\n */\n public get autoCloseThreshold(): number {\n return this._autoCloseThreshold;\n }\n public set autoCloseThreshold(value: number) {\n if (this._autoCloseThreshold !== value) {\n this._autoCloseThreshold = value;\n this._applyAutoCloseThreshold();\n }\n }\n\n private _applyAutoCloseThreshold(): void {\n this._adapter.setHostAttribute(SPLIT_VIEW_CONSTANTS.attributes.AUTO_CLOSE_THRESHOLD, this._autoCloseThreshold.toString());\n this.update({ properties: { autoCloseThreshold: this._autoCloseThreshold } });\n }\n\n /**\n * Layers panels in a set order during an animation. Panels that the target is animating toward\n * stack above it and other layers stack under it.\n * @param target The animating panel.\n */\n public layerSlottedPanels(target: ISplitViewPanelComponent): void {\n const panels = this._adapter.getSlottedPanels();\n const increment = target.resizable === 'start' ? 1 : -1;\n let layer = target.resizable === 'start' ? SplitViewAnimatingLayer.Under : SplitViewAnimatingLayer.Above;\n\n panels.forEach(panel => {\n // Increment the layer if moving into or out of the target panel\n if (panel === target || layer === SplitViewAnimatingLayer.Active) {\n layer += increment;\n }\n panel.style.setProperty(SPLIT_VIEW_CONSTANTS.customCssProperties.ANIMATING_LAYER, layer.toString());\n });\n }\n\n /**\n * Removes layering after an animation.\n */\n public unlayerSlottedPanels(): void {\n const panels = this._adapter.getSlottedPanels();\n panels.forEach(panel => {\n panel.style.removeProperty(SPLIT_VIEW_CONSTANTS.customCssProperties.ANIMATING_LAYER);\n });\n }\n\n /**\n * Updates the provided characteristics of each panel.\n * @param config An update configuration.\n */\n public update(config: ISplitViewUpdateConfig): void {\n const panels = this._adapter.getSlottedPanels();\n panels.forEach(panel => {\n panel.update(config);\n });\n }\n\n /**\n * Resizes panels within the split view to avoid overflow.\n */\n public refitSlottedPanels(): void {\n this._adapter.refitSlottedPanels(this._orientation);\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean, coerceNumber } from '@tylertech/forge-core';\n\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { SplitViewAdapter } from './split-view-adapter';\nimport { SplitViewFoundation } from './split-view-foundation';\nimport { ISplitViewUpdateConfig, SplitViewOrientation, SPLIT_VIEW_CONSTANTS } from './split-view-constants';\nimport { ISplitViewPanelComponent, SplitViewPanelComponent } from '../split-view-panel';\nimport { ISplitViewBase } from '../core/split-view-base';\n\nconst template = '<template><div class=\\\"forge-split-view\\\" id=\\\"root\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-split-view{display:-webkit-box;display:flex;width:100%;height:100%}:host{--forge-split-view-handle-width:8px;display:block;height:100%;width:100%;overflow:hidden;contain:paint size}:host([hidden]){display:none}:host([orientation=horizontal]) .forge-split-view{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}:host([orientation=vertical]) .forge-split-view{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}';\n\nexport interface ISplitViewComponent extends ISplitViewBase, IBaseComponent {\n orientation: SplitViewOrientation;\n layerSlottedPanels(target: ISplitViewPanelComponent): void;\n unlayerSlottedPanels(): void;\n update(config: ISplitViewUpdateConfig): void;\n refit(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-split-view': ISplitViewComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-split-view>` element.\n * \n * @tag forge-split-view\n */\n@CustomElement({\n name: SPLIT_VIEW_CONSTANTS.elementName,\n dependencies: [\n SplitViewPanelComponent\n ]\n})\nexport class SplitViewComponent extends BaseComponent implements ISplitViewComponent {\n public static get observedAttributes(): string[] {\n return [\n SPLIT_VIEW_CONSTANTS.attributes.ORIENTATION,\n SPLIT_VIEW_CONSTANTS.attributes.DISABLED,\n SPLIT_VIEW_CONSTANTS.attributes.ALLOW_CLOSE,\n SPLIT_VIEW_CONSTANTS.attributes.AUTO_CLOSE,\n SPLIT_VIEW_CONSTANTS.attributes.AUTO_CLOSE_THRESHOLD\n ];\n }\n\n private _foundation: SplitViewFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new SplitViewFoundation(new SplitViewAdapter(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 SPLIT_VIEW_CONSTANTS.attributes.ORIENTATION:\n this.orientation = newValue as SplitViewOrientation;\n break;\n case SPLIT_VIEW_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case SPLIT_VIEW_CONSTANTS.attributes.ALLOW_CLOSE:\n this.allowClose = coerceBoolean(newValue);\n break;\n case SPLIT_VIEW_CONSTANTS.attributes.AUTO_CLOSE:\n this.autoClose = coerceBoolean(newValue);\n break;\n case SPLIT_VIEW_CONSTANTS.attributes.AUTO_CLOSE_THRESHOLD:\n this.autoCloseThreshold = coerceNumber(newValue);\n break;\n }\n }\n\n /**\n * Whether child split view panels are laid out and resize horizontally or vertically.\n */\n @FoundationProperty()\n public orientation: SplitViewOrientation;\n\n /**\n * Whether child split view panels have resize interactions disabled or enabled.\n */\n @FoundationProperty()\n public disabled: boolean;\n\n /**\n * Whether child split view panels can be closed via keyboard interaction.\n */\n @FoundationProperty()\n public allowClose: boolean;\n\n /**\n * Whether child split view panels automatically close when they reach a size of 0.\n */\n @FoundationProperty()\n public autoClose: boolean;\n\n /**\n * The size at which panels auto close.\n */\n @FoundationProperty()\n public autoCloseThreshold: number;\n\n /**\n * Arranges split view panels to avoid overlapping during animations.\n * @param target The originating split view panel component.\n */\n public layerSlottedPanels(target: ISplitViewPanelComponent): void {\n this._foundation.layerSlottedPanels(target);\n }\n\n /**\n * Removes presentation data set during an animation.\n */\n public unlayerSlottedPanels(): void {\n this._foundation.unlayerSlottedPanels();\n }\n\n /**\n * Updates the provided characteristics of each slotted panel.\n * @param config An update configuration.\n */\n public update(config: ISplitViewUpdateConfig): void {\n this._foundation.update(config);\n }\n\n /**\n * Resizes panels within the split view to avoid overflow.\n */\n public refit(): void {\n this._foundation.refitSlottedPanels();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SplitViewComponent } from './split-view';\n\nexport * from './split-view-adapter';\nexport * from './split-view-constants';\nexport * from './split-view-foundation';\nexport * from './split-view';\n\nexport function defineSplitViewComponent(): void {\n defineCustomElement(SplitViewComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": []
5
+ "mappings": "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",
6
+ "names": ["ForgeResizeObserver", "target", "callback", "options", "_a", "_b", "entries", "entry", "SplitViewAdapter", "BaseAdapter", "component", "getShadowElement", "SPLIT_VIEW_CONSTANTS", "listener", "SPLIT_VIEW_PANEL_CONSTANTS", "callback", "ForgeResizeObserver", "nodeList", "orientation", "size", "panels", "combinedPanelSize", "panel", "_a", "panelRoot", "panelSize", "cur", "acc", "diff", "collapsibleSize", "reduceBy", "newSize", "SplitViewFoundation", "_adapter", "evt", "throttle", "entry", "SPLIT_VIEW_CONSTANTS", "panels", "panel", "value", "target", "increment", "layer", "config", "template", "styles", "SplitViewComponent", "BaseComponent", "attachShadowTemplate", "SplitViewFoundation", "SplitViewAdapter", "SPLIT_VIEW_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "target", "config", "__decorateClass", "FoundationProperty", "CustomElement", "SplitViewPanelComponent", "defineSplitViewComponent", "defineCustomElement", "SplitViewComponent"]
7
7
  }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{b as N}from"./chunk.3L7T5WYL.js";import{a as s,f as D,g as L,h as y}from"./chunk.4K3IV4GI.js";import{b as A}from"./chunk.GEMZPO6Z.js";import{d as C}from"./chunk.S76NW5JY.js";import{c as b}from"./chunk.ZAGCOV55.js";import{e as E}from"./chunk.QIJHHDYF.js";import{d as f}from"./chunk.DRXMITOO.js";import{b as x}from"./chunk.DLAIQJHL.js";import{e as v}from"./chunk.UOWU5VVK.js";import{b as S}from"./chunk.JMXJXZTS.js";import{a as c}from"./chunk.B3IJU6XJ.js";import{a as _,b as h}from"./chunk.OOW3UKT4.js";import{a as u,e as T}from"./chunk.MMVZJLXE.js";import{k as g}from"./chunk.G76HB2FK.js";import{a as m,f as a}from"./chunk.MCIQXNKY.js";var O=`${h}select-dropdown`,w={TARGET:"target",SELECTED_TEXT_TARGET:"selected-text-target",SYNC_SELECTED_TEXT:"sync-selected-text"},B=m({},w),M={SCROLLED_BOTTOM:`${O}-scrolled-bottom`},o={elementName:O,attributes:B,events:M};var l=class extends D{constructor(t){super(t);this._syncSelectedText=!1;this._originalTargetText="";this._targetDisconnectedListener=()=>this._onTargetDisconnected()}initialize(){this._tryAttach(),super.initialize()}disconnect(){super.disconnect(),this._adapter.isAttached()&&this._detach()}_onDropdownScrollEnd(){this._adapter.emitHostEvent(o.events.SCROLLED_BOTTOM)}_applyValue(t){super._applyValue(t),this._applySelection()}_applySelection(){if(super._applySelection(),this._syncSelectedText||typeof this._selectedTextBuilder=="function"){let t=this._getSelectedText();t||(t=this._originalTargetText),this._adapter.setTargetText(t||"",this._selectedTextTarget)}}_tryAttach(){this._adapter.attach(this._target),this._adapter.isAttached()&&(this._targetDisconnectedDestructor=this._adapter.setTargetDisconnectedListener(this._targetDisconnectedListener),this._originalTargetText=this._adapter.getTargetText(this._selectedTextTarget),this.initializeTarget())}_detach(){this._adapter.detach(),this._targetDisconnectedDestructor&&(this._targetDisconnectedDestructor(),this._targetDisconnectedDestructor=void 0)}_onTargetDisconnected(){this._adapter.detach()}get target(){return this._target}set target(t){this._target!==t&&(this._target=t,this._adapter.isAttached()&&this._detach(),this._tryAttach())}get selectedTextTarget(){return this._selectedTextTarget}set selectedTextTarget(t){this._selectedTextTarget!==t&&(this._selectedTextTarget=t)}get syncSelectedText(){return this._syncSelectedText}set syncSelectedText(t){this._syncSelectedText!==t&&(this._syncSelectedText=t)}};var d=class extends y{constructor(e){super(e)}initializeAccessibility(){this._targetElement.setAttribute("role","listbox"),this._targetElement.setAttribute("aria-live","polite"),this._targetElement.setAttribute("aria-haspopup","true"),this._targetElement.setAttribute("aria-expanded","false")}addClickListener(e){this._targetElement.addEventListener("click",e)}removeClickListener(e){this._targetElement&&this._targetElement.removeEventListener("click",e)}addTargetListener(e,t){let i,r;e==="keydown"&&(i=!1,r=!0),this._targetElement.addEventListener(e,t,{passive:i,capture:r})}removeTargetListener(e,t){this._targetElement&&this._targetElement.removeEventListener(e,t)}updateActiveDescendant(e){e?this._targetElement.setAttribute("aria-activedescendant",e):this._targetElement.removeAttribute("aria-activedescendant")}open(e){super.open(e),this._targetElement.setAttribute("aria-controls",`list-dropdown-popup-${e.id}`),this._targetElement.setAttribute("aria-expanded","true")}close(){this._targetElement.setAttribute("aria-expanded","false"),this._targetElement.removeAttribute("aria-activedescendant"),this._targetElement.removeAttribute("aria-controls"),super.close()}attach(e){let r=(this._component.getRootNode()||HTMLDocument||this._component.ownerDocument||document).querySelector(e);r&&(this._targetElement=r)}detach(){this._targetElement=void 0}setMultiple(e){!this._targetElement||(e?this._targetElement.setAttribute("aria-multiselectable","true"):this._targetElement.removeAttribute("aria-multiselectable"))}setTargetDisconnectedListener(e){if(!this._targetElement||!this._targetElement.parentElement)return()=>{};let t=new MutationObserver(i=>{i.some(I=>Array.from(I.removedNodes).some(R=>R===this._targetElement))&&(t.disconnect(),e())});return t.observe(this._targetElement.parentElement,{childList:!0}),()=>t.disconnect()}isAttached(){return!!this._targetElement}setTargetText(e,t){let i=this._targetElement;if(t){let r=this._getElementBySelector(t);r&&(i=r)}i&&(i.textContent=e)}getTargetText(e){let t=e?this._getElementBySelector(e):this._targetElement;return t?t.innerText:""}_getElementBySelector(e){return this._targetElement.querySelector(e)||this._getRootNode().querySelector(e)}_getRootNode(){return this._component.getRootNode()||this._component.ownerDocument||document}};var P="<template></template>",H=":host{display:none}",n=class extends L{constructor(){super();T(this,P,H),this._foundation=new l(new d(this))}static get observedAttributes(){return[o.attributes.TARGET,o.attributes.SELECTED_TEXT_TARGET,o.attributes.SYNC_SELECTED_TEXT,s.attributes.VALUE,s.attributes.MULTIPLE,s.attributes.OBSERVE_SCROLL,s.attributes.OBSERVE_SCROLL_THRESHOLD,s.attributes.POPUP_CLASSES,s.attributes.OPTION_LIMIT,s.attributes.SYNC_POPUP_WIDTH]}attributeChangedCallback(t,i,r){switch(t){case o.attributes.TARGET:this.target=r;return;case o.attributes.SELECTED_TEXT_TARGET:this.selectedTextTarget=r;return;case o.attributes.SYNC_SELECTED_TEXT:this.syncSelectedText=g(r);return}super.attributeChangedCallback(t,i,r)}};a([c()],n.prototype,"target",2),a([c()],n.prototype,"selectedTextTarget",2),a([c()],n.prototype,"syncSelectedText",2),n=a([_({name:o.elementName,dependencies:[C,A,v,b,E,f,N,x,S]})],n);function pt(){u(n)}export{o as a,l as b,d as c,n as d,pt as e};
7
- //# sourceMappingURL=chunk.OJFI5I6O.js.map
6
+ import{b as N}from"./chunk.WP4QOOIS.js";import{a as s,f as D,g as L,h as y}from"./chunk.ULIFS3UR.js";import{b as A}from"./chunk.77Y3EABF.js";import{d as C}from"./chunk.LYOQ2RGP.js";import{c as b}from"./chunk.KE6GOYAB.js";import{e as E}from"./chunk.RG6CDWEX.js";import{d as f}from"./chunk.TWZXQQQO.js";import{b as x}from"./chunk.HBMNXZES.js";import{e as v}from"./chunk.V7WKXEZC.js";import{b as S}from"./chunk.7A6MX6CS.js";import{a as c}from"./chunk.KTGSZEAG.js";import{a as _,b as h}from"./chunk.BE7PZANN.js";import{a as u,e as T}from"./chunk.Y4GKBJGI.js";import{k as g}from"./chunk.J2M2MXP2.js";import{a as m,f as a}from"./chunk.MCIQXNKY.js";var O=`${h}select-dropdown`,w={TARGET:"target",SELECTED_TEXT_TARGET:"selected-text-target",SYNC_SELECTED_TEXT:"sync-selected-text"},B=m({},w),M={SCROLLED_BOTTOM:`${O}-scrolled-bottom`},o={elementName:O,attributes:B,events:M};var l=class extends D{constructor(t){super(t);this._syncSelectedText=!1;this._originalTargetText="";this._targetDisconnectedListener=()=>this._onTargetDisconnected()}initialize(){this._tryAttach(),super.initialize()}disconnect(){super.disconnect(),this._adapter.isAttached()&&this._detach()}_onDropdownScrollEnd(){this._adapter.emitHostEvent(o.events.SCROLLED_BOTTOM)}_applyValue(t){super._applyValue(t),this._applySelection()}_applySelection(){if(super._applySelection(),this._syncSelectedText||typeof this._selectedTextBuilder=="function"){let t=this._getSelectedText();t||(t=this._originalTargetText),this._adapter.setTargetText(t||"",this._selectedTextTarget)}}_tryAttach(){this._adapter.attach(this._target),this._adapter.isAttached()&&(this._targetDisconnectedDestructor=this._adapter.setTargetDisconnectedListener(this._targetDisconnectedListener),this._originalTargetText=this._adapter.getTargetText(this._selectedTextTarget),this.initializeTarget())}_detach(){this._adapter.detach(),this._targetDisconnectedDestructor&&(this._targetDisconnectedDestructor(),this._targetDisconnectedDestructor=void 0)}_onTargetDisconnected(){this._adapter.detach()}get target(){return this._target}set target(t){this._target!==t&&(this._target=t,this._adapter.isAttached()&&this._detach(),this._tryAttach())}get selectedTextTarget(){return this._selectedTextTarget}set selectedTextTarget(t){this._selectedTextTarget!==t&&(this._selectedTextTarget=t)}get syncSelectedText(){return this._syncSelectedText}set syncSelectedText(t){this._syncSelectedText!==t&&(this._syncSelectedText=t)}};var d=class extends y{constructor(e){super(e)}initializeAccessibility(){this._targetElement.setAttribute("role","listbox"),this._targetElement.setAttribute("aria-live","polite"),this._targetElement.setAttribute("aria-haspopup","true"),this._targetElement.setAttribute("aria-expanded","false")}addClickListener(e){this._targetElement.addEventListener("click",e)}removeClickListener(e){this._targetElement&&this._targetElement.removeEventListener("click",e)}addTargetListener(e,t){let i,r;e==="keydown"&&(i=!1,r=!0),this._targetElement.addEventListener(e,t,{passive:i,capture:r})}removeTargetListener(e,t){this._targetElement&&this._targetElement.removeEventListener(e,t)}updateActiveDescendant(e){e?this._targetElement.setAttribute("aria-activedescendant",e):this._targetElement.removeAttribute("aria-activedescendant")}open(e){super.open(e),this._targetElement.setAttribute("aria-controls",`list-dropdown-popup-${e.id}`),this._targetElement.setAttribute("aria-expanded","true")}close(){this._targetElement.setAttribute("aria-expanded","false"),this._targetElement.removeAttribute("aria-activedescendant"),this._targetElement.removeAttribute("aria-controls"),super.close()}attach(e){let r=(this._component.getRootNode()||HTMLDocument||this._component.ownerDocument||document).querySelector(e);r&&(this._targetElement=r)}detach(){this._targetElement=void 0}setMultiple(e){!this._targetElement||(e?this._targetElement.setAttribute("aria-multiselectable","true"):this._targetElement.removeAttribute("aria-multiselectable"))}setTargetDisconnectedListener(e){if(!this._targetElement||!this._targetElement.parentElement)return()=>{};let t=new MutationObserver(i=>{i.some(I=>Array.from(I.removedNodes).some(R=>R===this._targetElement))&&(t.disconnect(),e())});return t.observe(this._targetElement.parentElement,{childList:!0}),()=>t.disconnect()}isAttached(){return!!this._targetElement}setTargetText(e,t){let i=this._targetElement;if(t){let r=this._getElementBySelector(t);r&&(i=r)}i&&(i.textContent=e)}getTargetText(e){let t=e?this._getElementBySelector(e):this._targetElement;return t?t.innerText:""}_getElementBySelector(e){return this._targetElement.querySelector(e)||this._getRootNode().querySelector(e)}_getRootNode(){return this._component.getRootNode()||this._component.ownerDocument||document}};var P="<template></template>",H=":host{display:none}",n=class extends L{constructor(){super();T(this,P,H),this._foundation=new l(new d(this))}static get observedAttributes(){return[o.attributes.TARGET,o.attributes.SELECTED_TEXT_TARGET,o.attributes.SYNC_SELECTED_TEXT,s.attributes.VALUE,s.attributes.MULTIPLE,s.attributes.OBSERVE_SCROLL,s.attributes.OBSERVE_SCROLL_THRESHOLD,s.attributes.POPUP_CLASSES,s.attributes.OPTION_LIMIT,s.attributes.SYNC_POPUP_WIDTH]}attributeChangedCallback(t,i,r){switch(t){case o.attributes.TARGET:this.target=r;return;case o.attributes.SELECTED_TEXT_TARGET:this.selectedTextTarget=r;return;case o.attributes.SYNC_SELECTED_TEXT:this.syncSelectedText=g(r);return}super.attributeChangedCallback(t,i,r)}};a([c()],n.prototype,"target",2),a([c()],n.prototype,"selectedTextTarget",2),a([c()],n.prototype,"syncSelectedText",2),n=a([_({name:o.elementName,dependencies:[C,A,v,b,E,f,N,x,S]})],n);function pt(){u(n)}export{o as a,l as b,d as c,n as d,pt as e};
7
+ //# sourceMappingURL=chunk.OZ5BPXNV.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/select/select-dropdown/select-dropdown-constants.ts", "../../src/select/select-dropdown/select-dropdown-foundation.ts", "../../src/select/select-dropdown/select-dropdown-adapter.ts", "../../src/select/select-dropdown/select-dropdown.ts", "../../src/select/select-dropdown/index.ts"],
4
4
  "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\r\n\r\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}select-dropdown`;\r\n\r\nconst observedAttributes = {\r\n TARGET: 'target',\r\n SELECTED_TEXT_TARGET: 'selected-text-target',\r\n SYNC_SELECTED_TEXT: 'sync-selected-text'\r\n};\r\n\r\nconst attributes = {\r\n ...observedAttributes\r\n};\r\n\r\nconst events = {\r\n SCROLLED_BOTTOM: `${elementName}-scrolled-bottom`\r\n};\r\n\r\nexport const SELECT_DROPDOWN_CONSTANTS = {\r\n elementName,\r\n attributes,\r\n events\r\n};\r\n", "import { ISelectDropdownAdapter } from './select-dropdown-adapter';\r\nimport { BaseSelectFoundation, IBaseSelectFoundation } from '../core/base-select-foundation';\r\nimport { SELECT_DROPDOWN_CONSTANTS } from './select-dropdown-constants';\r\n\r\nexport interface ISelectDropdownFoundation extends IBaseSelectFoundation {\r\n target: string;\r\n selectedTextTarget: string;\r\n syncSelectedText: boolean;\r\n}\r\n\r\nexport class SelectDropdownFoundation extends BaseSelectFoundation<ISelectDropdownAdapter> implements ISelectDropdownFoundation {\r\n private _target: string;\r\n private _selectedTextTarget: string;\r\n private _syncSelectedText = false;\r\n private _originalTargetText = '';\r\n private _targetDisconnectedListener: () => void;\r\n private _targetDisconnectedDestructor: () => void;\r\n\r\n constructor(adapter: ISelectDropdownAdapter) {\r\n super(adapter);\r\n this._targetDisconnectedListener = () => this._onTargetDisconnected();\r\n }\r\n\r\n public initialize(): void {\r\n this._tryAttach();\r\n super.initialize();\r\n }\r\n\r\n public disconnect(): void {\r\n super.disconnect();\r\n if (this._adapter.isAttached()) {\r\n this._detach();\r\n }\r\n }\r\n\r\n protected _onDropdownScrollEnd(): void {\r\n this._adapter.emitHostEvent(SELECT_DROPDOWN_CONSTANTS.events.SCROLLED_BOTTOM);\r\n }\r\n\r\n protected _applyValue(value: string | string[]): void {\r\n super._applyValue(value);\r\n this._applySelection();\r\n }\r\n\r\n protected _applySelection(): void {\r\n super._applySelection();\r\n if (this._syncSelectedText || typeof this._selectedTextBuilder === 'function') {\r\n let text = this._getSelectedText();\r\n if (!text) {\r\n text = this._originalTargetText;\r\n }\r\n this._adapter.setTargetText(text || '', this._selectedTextTarget);\r\n }\r\n }\r\n\r\n private _tryAttach(): void {\r\n this._adapter.attach(this._target);\r\n if (this._adapter.isAttached()) {\r\n this._targetDisconnectedDestructor = this._adapter.setTargetDisconnectedListener(this._targetDisconnectedListener);\r\n this._originalTargetText = this._adapter.getTargetText(this._selectedTextTarget);\r\n this.initializeTarget();\r\n }\r\n }\r\n\r\n private _detach(): void {\r\n this._adapter.detach();\r\n if (this._targetDisconnectedDestructor) {\r\n this._targetDisconnectedDestructor();\r\n this._targetDisconnectedDestructor = undefined as any;\r\n }\r\n }\r\n\r\n private _onTargetDisconnected(): void {\r\n this._adapter.detach();\r\n }\r\n\r\n public get target(): string {\r\n return this._target;\r\n }\r\n public set target(value: string) {\r\n if (this._target !== value) {\r\n this._target = value;\r\n if (this._adapter.isAttached()) {\r\n this._detach();\r\n }\r\n this._tryAttach();\r\n }\r\n }\r\n\r\n public get selectedTextTarget(): string {\r\n return this._selectedTextTarget;\r\n }\r\n public set selectedTextTarget(value: string) {\r\n if (this._selectedTextTarget !== value) {\r\n this._selectedTextTarget = value;\r\n }\r\n }\r\n\r\n public get syncSelectedText(): boolean {\r\n return this._syncSelectedText;\r\n }\r\n public set syncSelectedText(value: boolean) {\r\n if (this._syncSelectedText !== value) {\r\n this._syncSelectedText = value;\r\n }\r\n }\r\n}\r\n", "import { ISelectDropdownComponent } from './select-dropdown';\r\nimport { BaseSelectAdapter, IBaseSelectAdapter } from '../core/base-select-adapter';\r\nimport { IListDropdownConfig } from '../../list-dropdown/list-dropdown-constants';\r\n\r\nexport interface ISelectDropdownAdapter extends IBaseSelectAdapter {\r\n attach(selector: string): void;\r\n detach(): void;\r\n setTargetDisconnectedListener(cb: () => void): () => void;\r\n isAttached(): boolean;\r\n setTargetText(text: string, selector: string): void;\r\n getTargetText(selector: string): string;\r\n}\r\n\r\nexport class SelectDropdownAdapter extends BaseSelectAdapter implements ISelectDropdownAdapter {\r\n constructor(component: ISelectDropdownComponent) {\r\n super(component);\r\n }\r\n\r\n public initializeAccessibility(): void {\r\n this._targetElement.setAttribute('role', 'listbox');\r\n this._targetElement.setAttribute('aria-live', 'polite');\r\n this._targetElement.setAttribute('aria-haspopup', 'true');\r\n this._targetElement.setAttribute('aria-expanded', 'false');\r\n }\r\n\r\n public addClickListener(listener: (evt: Event) => void): void {\r\n this._targetElement.addEventListener('click', listener);\r\n }\r\n\r\n public removeClickListener(listener: (evt: Event) => void): void {\r\n if (this._targetElement) {\r\n this._targetElement.removeEventListener('click', listener);\r\n }\r\n }\r\n\r\n public addTargetListener(type: string, listener: (evt: Event) => void): void {\r\n let passive: boolean | undefined;\r\n let capture: boolean | undefined;\r\n \r\n if (type === 'keydown') {\r\n // We don't use a passive keydown listener because we are preventing default in this event and Angular doesn't like that\r\n // We need to use capturing to ensure that we get to this event before zone.js does\r\n passive = false;\r\n capture = true;\r\n }\r\n\r\n this._targetElement.addEventListener(type, listener, { passive, capture });\r\n }\r\n\r\n public removeTargetListener(type: string, listener: (evt: Event) => void): void {\r\n if (this._targetElement) {\r\n this._targetElement.removeEventListener(type, listener);\r\n }\r\n }\r\n\r\n public updateActiveDescendant(id: string): void {\r\n if (id) {\r\n this._targetElement.setAttribute('aria-activedescendant', id);\r\n } else {\r\n this._targetElement.removeAttribute('aria-activedescendant');\r\n }\r\n }\r\n\r\n public open(config: IListDropdownConfig): void {\r\n super.open(config);\r\n this._targetElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\r\n this._targetElement.setAttribute('aria-expanded', 'true');\r\n }\r\n\r\n public close(): void {\r\n this._targetElement.setAttribute('aria-expanded', 'false');\r\n this._targetElement.removeAttribute('aria-activedescendant');\r\n this._targetElement.removeAttribute('aria-controls');\r\n super.close();\r\n }\r\n\r\n public attach(selector: string): void {\r\n const rootNode = this._component.getRootNode() as ShadowRoot || HTMLDocument;\r\n const doc = rootNode || this._component.ownerDocument || document;\r\n const element = doc.querySelector(selector) as HTMLElement;\r\n if (element) {\r\n this._targetElement = element;\r\n }\r\n }\r\n\r\n public detach(): void {\r\n this._targetElement = undefined as any;\r\n }\r\n\r\n public setMultiple(multiple: boolean): void {\r\n if (!this._targetElement) {\r\n return;\r\n }\r\n if (multiple) {\r\n this._targetElement.setAttribute('aria-multiselectable', 'true');\r\n } else {\r\n this._targetElement.removeAttribute('aria-multiselectable');\r\n }\r\n }\r\n\r\n public setTargetDisconnectedListener(cb: () => void): () => void {\r\n if (!this._targetElement || !this._targetElement.parentElement) {\r\n return () => {};\r\n }\r\n const observer = new MutationObserver(mutations => {\r\n const isTargetRemoved = mutations.some(mutation => {\r\n return Array.from(mutation.removedNodes).some(node => node === this._targetElement);\r\n });\r\n if (isTargetRemoved) {\r\n observer.disconnect();\r\n cb();\r\n }\r\n });\r\n observer.observe(this._targetElement.parentElement, { childList: true });\r\n return () => observer.disconnect();\r\n }\r\n\r\n public isAttached(): boolean {\r\n return !!this._targetElement;\r\n }\r\n\r\n public setTargetText(text: string, selector: string): void {\r\n let target: Element = this._targetElement;\r\n if (selector) {\r\n const element = this._getElementBySelector(selector);\r\n if (element) {\r\n target = element;\r\n }\r\n }\r\n if (target) {\r\n target.textContent = text;\r\n }\r\n }\r\n\r\n public getTargetText(selector: string): string {\r\n const element = selector ? this._getElementBySelector(selector) : this._targetElement;\r\n return element ? element.innerText : '';\r\n }\r\n\r\n private _getElementBySelector(selector: string): HTMLElement | null {\r\n return this._targetElement.querySelector(selector) || this._getRootNode().querySelector(selector);\r\n }\r\n\r\n private _getRootNode(): ShadowRoot | HTMLDocument {\r\n return (this._component.getRootNode() as ShadowRoot | HTMLDocument) || this._component.ownerDocument || document;\r\n }\r\n}\r\n", "import { CustomElement, FoundationProperty, attachShadowTemplate, coerceBoolean } from '@tylertech/forge-core';\r\n\r\nimport { SelectDropdownFoundation } from './select-dropdown-foundation';\r\nimport { SELECT_DROPDOWN_CONSTANTS } from './select-dropdown-constants';\r\nimport { IBaseSelectComponent, BaseSelectComponent } from '../core/base-select';\r\nimport { BASE_SELECT_CONSTANTS } from '../core/base-select-constants';\r\nimport { SelectDropdownAdapter } from './select-dropdown-adapter';\r\nimport { OptionComponent } from '../option';\r\nimport { OptionGroupComponent } from '../option-group';\r\nimport { PopupComponent } from '../../popup';\r\nimport { ListComponent, ListItemComponent } from '../../list';\r\nimport { CircularProgressComponent } from '../../circular-progress';\r\nimport { ScaffoldComponent } from '../../scaffold';\r\nimport { ToolbarComponent } from '../../toolbar';\r\nimport { IconButtonComponent } from '../../icon-button';\r\n\r\nconst template = '<template></template>';\r\nconst styles = ':host{display:none}';\r\n\r\nexport interface ISelectDropdownComponent extends IBaseSelectComponent {\r\n target: string;\r\n selectedTextTarget: string;\r\n syncSelectedText: boolean;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n 'forge-select-dropdown': ISelectDropdownComponent;\r\n }\r\n\r\n interface HTMLElementEventMap {\r\n 'forge-select-dropdown-scrolled-bottom': CustomEvent<void>;\r\n }\r\n}\r\n\r\n/**\r\n * The web component class behind the `<forge-select-dropdown>` custom element.\r\n * \r\n * @tag forge-select-dropdown\r\n */\r\n@CustomElement({\r\n name: SELECT_DROPDOWN_CONSTANTS.elementName,\r\n dependencies: [\r\n OptionComponent,\r\n OptionGroupComponent,\r\n PopupComponent,\r\n ListComponent,\r\n ListItemComponent,\r\n CircularProgressComponent,\r\n ScaffoldComponent,\r\n ToolbarComponent,\r\n IconButtonComponent\r\n ]\r\n})\r\nexport class SelectDropdownComponent extends BaseSelectComponent<SelectDropdownFoundation> implements ISelectDropdownComponent {\r\n public static get observedAttributes(): string[] {\r\n return [\r\n SELECT_DROPDOWN_CONSTANTS.attributes.TARGET,\r\n SELECT_DROPDOWN_CONSTANTS.attributes.SELECTED_TEXT_TARGET,\r\n SELECT_DROPDOWN_CONSTANTS.attributes.SYNC_SELECTED_TEXT,\r\n BASE_SELECT_CONSTANTS.attributes.VALUE,\r\n BASE_SELECT_CONSTANTS.attributes.MULTIPLE,\r\n BASE_SELECT_CONSTANTS.attributes.OBSERVE_SCROLL,\r\n BASE_SELECT_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD,\r\n BASE_SELECT_CONSTANTS.attributes.POPUP_CLASSES,\r\n BASE_SELECT_CONSTANTS.attributes.OPTION_LIMIT,\r\n BASE_SELECT_CONSTANTS.attributes.SYNC_POPUP_WIDTH\r\n ];\r\n }\r\n\r\n constructor() {\r\n super();\r\n attachShadowTemplate(this, template, styles);\r\n this._foundation = new SelectDropdownFoundation(new SelectDropdownAdapter(this));\r\n }\r\n\r\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\r\n switch (name) {\r\n case SELECT_DROPDOWN_CONSTANTS.attributes.TARGET:\r\n this.target = newValue;\r\n return;\r\n case SELECT_DROPDOWN_CONSTANTS.attributes.SELECTED_TEXT_TARGET:\r\n this.selectedTextTarget = newValue;\r\n return;\r\n case SELECT_DROPDOWN_CONSTANTS.attributes.SYNC_SELECTED_TEXT:\r\n this.syncSelectedText = coerceBoolean(newValue);\r\n return;\r\n }\r\n super.attributeChangedCallback(name, oldValue, newValue);\r\n }\r\n\r\n /** Sets the target element CSS selector */\r\n @FoundationProperty()\r\n public declare target: string;\r\n\r\n /** Sets the selected text element CSS selector */\r\n @FoundationProperty()\r\n public declare selectedTextTarget: string;\r\n\r\n /** Controls whether the selected text is synchronized to the target elements' text content. Default is false. */\r\n @FoundationProperty()\r\n public declare syncSelectedText: boolean;\r\n}\r\n", "import { defineCustomElement } from '@tylertech/forge-core';\r\n\r\nimport { SelectDropdownComponent } from './select-dropdown';\r\n\r\nexport * from './select-dropdown-adapter';\r\nexport * from './select-dropdown-constants';\r\nexport * from './select-dropdown-foundation';\r\nexport * from './select-dropdown';\r\n\r\nexport function defineSelectDropdownComponent(): void {\r\n defineCustomElement(SelectDropdownComponent);\r\n}\r\n"],
5
- "mappings": "koBAEA,GAAM,GAA2C,GAAG,mBAE9C,EAAqB,CACzB,OAAQ,SACR,qBAAsB,uBACtB,mBAAoB,oBACtB,EAEM,EAAa,KACd,GAGC,EAAS,CACb,gBAAiB,GAAG,mBACtB,EAEa,EAA4B,CACvC,cACA,aACA,QACF,ECZO,GAAM,GAAN,aAAuC,EAAkF,CAQ9H,YAAY,EAAiC,CAC3C,MAAM,CAAO,EANf,KAAQ,kBAAoB,GAC5B,KAAQ,oBAAsB,GAM5B,KAAK,4BAA8B,IAAM,KAAK,sBAAsB,CACtE,CAEA,AAAO,YAAmB,CACxB,KAAK,WAAW,EAChB,MAAM,WAAW,CACnB,CAEA,AAAO,YAAmB,CACxB,MAAM,WAAW,EACb,KAAK,SAAS,WAAW,GAC3B,KAAK,QAAQ,CAEjB,CAEA,AAAU,sBAA6B,CACrC,KAAK,SAAS,cAAc,EAA0B,OAAO,eAAe,CAC9E,CAEA,AAAU,YAAY,EAAgC,CACpD,MAAM,YAAY,CAAK,EACvB,KAAK,gBAAgB,CACvB,CAEA,AAAU,iBAAwB,CAEhC,GADA,MAAM,gBAAgB,EAClB,KAAK,mBAAqB,MAAO,MAAK,sBAAyB,WAAY,CAC7E,GAAI,GAAO,KAAK,iBAAiB,EACjC,AAAK,GACH,GAAO,KAAK,qBAEd,KAAK,SAAS,cAAc,GAAQ,GAAI,KAAK,mBAAmB,CAClE,CACF,CAEA,AAAQ,YAAmB,CACzB,KAAK,SAAS,OAAO,KAAK,OAAO,EAC7B,KAAK,SAAS,WAAW,GAC3B,MAAK,8BAAgC,KAAK,SAAS,8BAA8B,KAAK,2BAA2B,EACjH,KAAK,oBAAsB,KAAK,SAAS,cAAc,KAAK,mBAAmB,EAC/E,KAAK,iBAAiB,EAE1B,CAEA,AAAQ,SAAgB,CACtB,KAAK,SAAS,OAAO,EACjB,KAAK,+BACP,MAAK,8BAA8B,EACnC,KAAK,8BAAgC,OAEzC,CAEA,AAAQ,uBAA8B,CACpC,KAAK,SAAS,OAAO,CACvB,CAEA,GAAW,SAAiB,CAC1B,MAAO,MAAK,OACd,CACA,GAAW,QAAO,EAAe,CAC/B,AAAI,KAAK,UAAY,GACnB,MAAK,QAAU,EACX,KAAK,SAAS,WAAW,GAC3B,KAAK,QAAQ,EAEf,KAAK,WAAW,EAEpB,CAEA,GAAW,qBAA6B,CACtC,MAAO,MAAK,mBACd,CACA,GAAW,oBAAmB,EAAe,CAC3C,AAAI,KAAK,sBAAwB,GAC/B,MAAK,oBAAsB,EAE/B,CAEA,GAAW,mBAA4B,CACrC,MAAO,MAAK,iBACd,CACA,GAAW,kBAAiB,EAAgB,CAC1C,AAAI,KAAK,oBAAsB,GAC7B,MAAK,kBAAoB,EAE7B,CACF,EC7FO,GAAM,GAAN,aAAoC,EAAoD,CAC7F,YAAY,EAAqC,CAC/C,MAAM,CAAS,CACjB,CAEA,AAAO,yBAAgC,CACrC,KAAK,eAAe,aAAa,OAAQ,SAAS,EAClD,KAAK,eAAe,aAAa,YAAa,QAAQ,EACtD,KAAK,eAAe,aAAa,gBAAiB,MAAM,EACxD,KAAK,eAAe,aAAa,gBAAiB,OAAO,CAC3D,CAEA,AAAO,iBAAiB,EAAsC,CAC5D,KAAK,eAAe,iBAAiB,QAAS,CAAQ,CACxD,CAEA,AAAO,oBAAoB,EAAsC,CAC/D,AAAI,KAAK,gBACP,KAAK,eAAe,oBAAoB,QAAS,CAAQ,CAE7D,CAEA,AAAO,kBAAkB,EAAc,EAAsC,CAC3E,GAAI,GACA,EAEJ,AAAI,IAAS,WAGX,GAAU,GACV,EAAU,IAGZ,KAAK,eAAe,iBAAiB,EAAM,EAAU,CAAE,UAAS,SAAQ,CAAC,CAC3E,CAEA,AAAO,qBAAqB,EAAc,EAAsC,CAC9E,AAAI,KAAK,gBACP,KAAK,eAAe,oBAAoB,EAAM,CAAQ,CAE1D,CAEA,AAAO,uBAAuB,EAAkB,CAC9C,AAAI,EACF,KAAK,eAAe,aAAa,wBAAyB,CAAE,EAE5D,KAAK,eAAe,gBAAgB,uBAAuB,CAE/D,CAEA,AAAO,KAAK,EAAmC,CAC7C,MAAM,KAAK,CAAM,EACjB,KAAK,eAAe,aAAa,gBAAiB,uBAAuB,EAAO,IAAI,EACpF,KAAK,eAAe,aAAa,gBAAiB,MAAM,CAC1D,CAEA,AAAO,OAAc,CACnB,KAAK,eAAe,aAAa,gBAAiB,OAAO,EACzD,KAAK,eAAe,gBAAgB,uBAAuB,EAC3D,KAAK,eAAe,gBAAgB,eAAe,EACnD,MAAM,MAAM,CACd,CAEA,AAAO,OAAO,EAAwB,CAGpC,GAAM,GAAU,AADJ,CADK,KAAK,WAAW,YAAY,GAAmB,cACxC,KAAK,WAAW,eAAiB,UACrC,cAAc,CAAQ,EAC1C,AAAI,GACF,MAAK,eAAiB,EAE1B,CAEA,AAAO,QAAe,CACpB,KAAK,eAAiB,MACxB,CAEA,AAAO,YAAY,EAAyB,CAC1C,AAAI,CAAC,KAAK,gBAGV,CAAI,EACF,KAAK,eAAe,aAAa,uBAAwB,MAAM,EAE/D,KAAK,eAAe,gBAAgB,sBAAsB,EAE9D,CAEA,AAAO,8BAA8B,EAA4B,CAC/D,GAAI,CAAC,KAAK,gBAAkB,CAAC,KAAK,eAAe,cAC/C,MAAO,IAAM,CAAC,EAEhB,GAAM,GAAW,GAAI,kBAAiB,GAAa,CAIjD,AAAI,AAHoB,EAAU,KAAK,GAC9B,MAAM,KAAK,EAAS,YAAY,EAAE,KAAK,GAAQ,IAAS,KAAK,cAAc,CACnF,GAEC,GAAS,WAAW,EACpB,EAAG,EAEP,CAAC,EACD,SAAS,QAAQ,KAAK,eAAe,cAAe,CAAE,UAAW,EAAK,CAAC,EAChE,IAAM,EAAS,WAAW,CACnC,CAEA,AAAO,YAAsB,CAC3B,MAAO,CAAC,CAAC,KAAK,cAChB,CAEA,AAAO,cAAc,EAAc,EAAwB,CACzD,GAAI,GAAkB,KAAK,eAC3B,GAAI,EAAU,CACZ,GAAM,GAAU,KAAK,sBAAsB,CAAQ,EACnD,AAAI,GACF,GAAS,EAEb,CACA,AAAI,GACF,GAAO,YAAc,EAEzB,CAEA,AAAO,cAAc,EAA0B,CAC7C,GAAM,GAAU,EAAW,KAAK,sBAAsB,CAAQ,EAAI,KAAK,eACvE,MAAO,GAAU,EAAQ,UAAY,EACvC,CAEA,AAAQ,sBAAsB,EAAsC,CAClE,MAAO,MAAK,eAAe,cAAc,CAAQ,GAAK,KAAK,aAAa,EAAE,cAAc,CAAQ,CAClG,CAEA,AAAQ,cAA0C,CAChD,MAAQ,MAAK,WAAW,YAAY,GAAmC,KAAK,WAAW,eAAiB,QAC1G,CACF,EClIA,GAAM,GAAW,wBACX,EAAS,sBAqCF,EAAN,aAAsC,EAAkF,CAgB7H,aAAc,CACZ,MAAM,EACN,EAAqB,KAAM,EAAU,CAAM,EAC3C,KAAK,YAAc,GAAI,GAAyB,GAAI,GAAsB,IAAI,CAAC,CACjF,CAnBA,UAAkB,qBAA+B,CAC/C,MAAO,CACL,EAA0B,WAAW,OACrC,EAA0B,WAAW,qBACrC,EAA0B,WAAW,mBACrC,EAAsB,WAAW,MACjC,EAAsB,WAAW,SACjC,EAAsB,WAAW,eACjC,EAAsB,WAAW,yBACjC,EAAsB,WAAW,cACjC,EAAsB,WAAW,aACjC,EAAsB,WAAW,gBACnC,CACF,CAQA,AAAO,yBAAyB,EAAc,EAAkB,EAAwB,CACtF,OAAQ,OACD,GAA0B,WAAW,OACxC,KAAK,OAAS,EACd,WACG,GAA0B,WAAW,qBACxC,KAAK,mBAAqB,EAC1B,WACG,GAA0B,WAAW,mBACxC,KAAK,iBAAmB,EAAc,CAAQ,EAC9C,OAEJ,MAAM,yBAAyB,EAAM,EAAU,CAAQ,CACzD,CAaF,EATiB,GADf,AAAC,EAAmB,GACL,AAvCJ,EAuCI,sBAIA,GADf,AAAC,EAAmB,GACL,AA3CJ,EA2CI,kCAIA,GADf,AAAC,EAAmB,GACL,AA/CJ,EA+CI,gCA/CJ,EAAN,GAdP,AAAC,EAAc,CACb,KAAM,EAA0B,YAChC,aAAc,CACZ,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACF,CACF,CAAC,GACY,GC7CN,aAA+C,CACpD,EAAoB,CAAuB,CAC7C",
6
- "names": []
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "events", "SELECT_DROPDOWN_CONSTANTS", "SelectDropdownFoundation", "BaseSelectFoundation", "adapter", "SELECT_DROPDOWN_CONSTANTS", "value", "text", "SelectDropdownAdapter", "BaseSelectAdapter", "component", "listener", "type", "passive", "capture", "id", "config", "selector", "element", "multiple", "cb", "observer", "mutations", "mutation", "node", "text", "target", "template", "styles", "SelectDropdownComponent", "BaseSelectComponent", "attachShadowTemplate", "SelectDropdownFoundation", "SelectDropdownAdapter", "SELECT_DROPDOWN_CONSTANTS", "BASE_SELECT_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "OptionComponent", "OptionGroupComponent", "PopupComponent", "ListComponent", "ListItemComponent", "CircularProgressComponent", "ScaffoldComponent", "ToolbarComponent", "IconButtonComponent", "defineSelectDropdownComponent", "defineCustomElement", "SelectDropdownComponent"]
7
7
  }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{b as H}from"./chunk.ZFD3OE45.js";import{a as x}from"./chunk.5PXABBKU.js";import{a as v}from"./chunk.B3IJU6XJ.js";import{a as S,b as C}from"./chunk.OOW3UKT4.js";import{a as I,e as V,g as w,l as A}from"./chunk.MMVZJLXE.js";import{g as y}from"./chunk.R4NDFXVA.js";import{b as E,l as g}from"./chunk.G76HB2FK.js";import{f as c}from"./chunk.MCIQXNKY.js";var D=`${C}view-switcher`,_={ROOT:"forge-view-switcher",VIEW_HIDDEN:"forge-view-switcher__view--hidden",VIEW_SWITCHER_SLIDE:"forge-view-switcher--slide",VIEW_SWITCHER_FADE:"forge-view-switcher--fade"},O={ROOT:`.${_.ROOT}`,DEFAULT_SLOT:"slot:not([name])",VIEW_HIDDEN:`.${_.VIEW_HIDDEN}`},W={INDEX:"index",ANIMATION_TYPE:"animation-type"},F={DEFAULT_TRANSITION_DURATION:500},s={elementName:D,attributes:W,classes:_,selectors:O,numbers:F},u=(e=>(e.Left="left",e.Right="right",e))(u||{}),b=(t=>(t.None="none",t.Slide="slide",t.Fade="fade",t))(b||{});var m=class extends x{constructor(e){super(e);this._rootElement=w(e,s.selectors.ROOT),this._slotElement=w(e,s.selectors.DEFAULT_SLOT)}getViewCount(){return this._getViews().length}startViewObserver(e){this._viewObserver=new MutationObserver(e),this._viewObserver.observe(this._component,{childList:!0})}stopViewObserver(){this._viewObserver&&this._viewObserver.disconnect()}initializeSlideViews(e){let t=this._getViews();t.forEach((i,o)=>{if(i.style.removeProperty("opacity"),i.style.removeProperty("display"),o===e){t[e].classList.remove(s.classes.VIEW_HIDDEN),i.style.removeProperty("visibility");return}i.style.transition="none",i.classList.add(s.classes.VIEW_HIDDEN),i.style.visibility="hidden",o>e?i.style.transform="translate3d(100%, 0, 0)":i.style.transform="translate3d(-100%, 0, 0)"}),window.requestAnimationFrame(()=>{t=this._getViews(),t.forEach((i,o)=>{o!==e&&i.style.removeProperty("transition")})})}initializeFadeViews(e){let t=this._getViews();t.forEach((i,o)=>{if(i.style.removeProperty("transform"),i.style.removeProperty("display"),o===e){i.classList.remove(s.classes.VIEW_HIDDEN),i.style.removeProperty("visibility");return}i.classList.add(s.classes.VIEW_HIDDEN),i.style.visibility="hidden"}),t[e]&&(t[e].style.opacity="1")}setActiveView(e){let t=this._getViews();t.forEach((i,o)=>{o!==e&&(i.classList.add(s.classes.VIEW_HIDDEN),i.style.display="none")}),t[e]&&(t[e].classList.remove(s.classes.VIEW_HIDDEN),t[e].style.removeProperty("display"))}hideInactiveViews(e){this._getViews().forEach((i,o)=>{if(i.style.removeProperty("opacity"),i.style.removeProperty("transform"),i.style.removeProperty("visibility"),o===e){i.classList.remove(s.classes.VIEW_HIDDEN);return}i.classList.add(s.classes.VIEW_HIDDEN),i.style.display="none"})}async transitionToView(e,t,i,o){let l=this._getViews(),r=l[e],d=l[t];return new Promise(N=>{d.style.removeProperty("visibility"),window.requestAnimationFrame(()=>{let p;switch(i){case"slide":this._slideToView(r,d,o),p="transform";break;case"fade":this._fadeToView(r,d),p="opacity";break;default:return}this._animateHeight(r,d),r?r.addEventListener("transitionend",T):d.classList.remove(s.classes.VIEW_HIDDEN);function T(L){L.propertyName===p&&(r.removeEventListener("transitionend",T),d.classList.remove(s.classes.VIEW_HIDDEN),N())}})})}_slideToView(e,t,i){i==="left"?(e&&(e.style.transform="translate3d(-100%, 0, 0)"),t.style.transform="translate3d(0, 0, 0)"):(e&&(e.style.transform="translate3d(100%, 0, 0)"),t.style.transform="translate3d(0, 0, 0)")}_fadeToView(e,t){e&&(e.style.opacity="0"),t.style.opacity="1"}_animateHeight(e,t){let i=e?this._getViewHeight(e):0,o=this._getViewHeight(t);i!==o&&(this._rootElement.addEventListener("transitionend",this._onRootTransitionEnd.bind(this)),this._setHeight(i),window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{this._setHeight(o)})}))}_onRootTransitionEnd(e){e.propertyName==="height"&&(this._rootElement.removeEventListener("transitionend",this._onRootTransitionEnd),this._rootElement.style.removeProperty("height"))}setAnimationType(e){switch(y([s.classes.VIEW_SWITCHER_SLIDE,s.classes.VIEW_SWITCHER_FADE],this._component),e){case"slide":this._component.classList.add(s.classes.VIEW_SWITCHER_SLIDE);break;case"fade":this._component.classList.add(s.classes.VIEW_SWITCHER_FADE);break}}_getViews(){return this._slotElement.assignedNodes().filter(e=>e.nodeType===1)}_setHeight(e){this._rootElement.style.height=`${e}px`}_getViewHeight(e){let t=0,i=e.children.length?Array.from(e.children):[e];for(let o of i){let l=window.getComputedStyle(o),r=parseFloat(l.marginTop)+parseFloat(l.marginBottom);t+=Math.ceil(o.offsetHeight+r)}return t}};var h=class{constructor(n){this._adapter=n;this._viewCount=0;this._viewIndex=0;this._animationType="none";this._viewsChangedListener=()=>this._onViewsChanged()}initialize(){this._viewCount=this._adapter.getViewCount(),this._adapter.startViewObserver(this._viewsChangedListener),this._adapter.setAnimationType(this._animationType),this._viewCount&&this._initializeAnimationType()}disconnect(){this._adapter.stopViewObserver()}_initializeAnimationType(){switch(this._animationType){case"slide":this._adapter.initializeSlideViews(this._viewIndex);break;case"fade":this._adapter.initializeFadeViews(this._viewIndex);break;case"none":default:this._adapter.hideInactiveViews(this._viewIndex);break}}_onViewsChanged(){if(this._viewCount=this._adapter.getViewCount(),this._viewCount===0&&(this._viewIndex=0),this._viewCount&&this._initializeAnimationType(),this._viewCount>0&&this._viewIndex>=this._viewCount){let n=this._viewIndex;this._viewIndex=this._viewCount>0?this._viewCount-1:0,this._goToView(n,this._viewCount)}}async _goToView(n,e){if(this._viewCount=E(e)?e:this._adapter.getViewCount(),!(!(this._viewIndex>=0&&this._viewIndex<=this._viewCount-1)||n===this._clampedViewIndex(this._viewIndex,this._viewCount)))switch(this._animationType){case"slide":let i=this._viewIndex>n?"left":"right";await this._adapter.transitionToView(n,this._viewIndex,"slide",i),this._adapter.initializeSlideViews(this._viewIndex);break;case"fade":await this._adapter.transitionToView(n,this._viewIndex,"fade"),this._adapter.initializeFadeViews(this._viewIndex);break;case"none":default:this._adapter.setActiveView(this._viewIndex);break}}_clampedViewIndex(n,e){return n<0?n=0:n>e-1&&(n=e>0?e-1:0),n}next(){this.index++}previous(){this.index--}goToStart(){this.index=0}goToEnd(){this.index=this._viewCount-1}get index(){return this._viewIndex}set index(n){if(this._viewIndex!==n){let e=this._viewIndex;this._viewIndex=n,this._goToView(e),this._adapter.setHostAttribute(s.attributes.INDEX,this._viewIndex.toString())}}get animationType(){return this._animationType}set animationType(n){this._animationType!==n&&(this._animationType=n,this._initializeAnimationType(),this._adapter.setAnimationType(this._animationType),this._adapter.setHostAttribute(s.attributes.ANIMATION_TYPE,this._animationType))}};var M='<template><div class="forge-view-switcher" part="root"><slot></slot></div></template>',P=".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}",a=class extends A{constructor(){super();V(this,M,P),this._foundation=new h(new m(this))}static get observedAttributes(){return[s.attributes.INDEX,s.attributes.ANIMATION_TYPE]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,t,i){switch(e){case s.attributes.INDEX:this.index=g(i);break;case s.attributes.ANIMATION_TYPE:this.animationType=i;break}}next(){this._foundation.next()}previous(){this._foundation.previous()}goToStart(){this._foundation.goToStart()}goToEnd(){this._foundation.goToEnd()}};c([v()],a.prototype,"index",2),c([v()],a.prototype,"animationType",2),a=c([S({name:s.elementName,dependencies:[H]})],a);function le(){I(a)}export{s as a,u as b,b as c,m as d,h as e,a as f,le as g};
7
- //# sourceMappingURL=chunk.VHKQHMK3.js.map
6
+ import{b as H}from"./chunk.EGRUD7S7.js";import{a as x}from"./chunk.G5MGGEFP.js";import{a as v}from"./chunk.KTGSZEAG.js";import{a as S,b as C}from"./chunk.BE7PZANN.js";import{a as I,e as V,g as w,l as A}from"./chunk.Y4GKBJGI.js";import{g as y}from"./chunk.PN26D52V.js";import{b as E,l as g}from"./chunk.J2M2MXP2.js";import{f as h}from"./chunk.MCIQXNKY.js";var D=`${C}view-switcher`,u={ROOT:"forge-view-switcher",VIEW_HIDDEN:"forge-view-switcher__view--hidden",VIEW_SWITCHER_SLIDE:"forge-view-switcher--slide",VIEW_SWITCHER_FADE:"forge-view-switcher--fade"},O={ROOT:`.${u.ROOT}`,DEFAULT_SLOT:"slot:not([name])",VIEW_HIDDEN:`.${u.VIEW_HIDDEN}`},W={INDEX:"index",ANIMATION_TYPE:"animation-type"},F={DEFAULT_TRANSITION_DURATION:500},s={elementName:D,attributes:W,classes:u,selectors:O,numbers:F},_=(e=>(e.Left="left",e.Right="right",e))(_||{}),b=(t=>(t.None="none",t.Slide="slide",t.Fade="fade",t))(b||{});var c=class extends x{constructor(e){super(e);this._rootElement=w(e,s.selectors.ROOT),this._slotElement=w(e,s.selectors.DEFAULT_SLOT)}getViewCount(){return this._getViews().length}startViewObserver(e){this._viewObserver=new MutationObserver(e),this._viewObserver.observe(this._component,{childList:!0})}stopViewObserver(){this._viewObserver&&this._viewObserver.disconnect()}initializeSlideViews(e){let t=this._getViews();t.forEach((i,o)=>{if(i.style.removeProperty("opacity"),i.style.removeProperty("display"),o===e){t[e].classList.remove(s.classes.VIEW_HIDDEN),i.style.removeProperty("visibility");return}i.style.transition="none",i.classList.add(s.classes.VIEW_HIDDEN),i.style.visibility="hidden",o>e?i.style.transform="translate3d(100%, 0, 0)":i.style.transform="translate3d(-100%, 0, 0)"}),window.requestAnimationFrame(()=>{t=this._getViews(),t.forEach((i,o)=>{o!==e&&i.style.removeProperty("transition")})})}initializeFadeViews(e){let t=this._getViews();t.forEach((i,o)=>{if(i.style.removeProperty("transform"),i.style.removeProperty("display"),o===e){i.classList.remove(s.classes.VIEW_HIDDEN),i.style.removeProperty("visibility");return}i.classList.add(s.classes.VIEW_HIDDEN),i.style.visibility="hidden"}),t[e]&&(t[e].style.opacity="1")}setActiveView(e){let t=this._getViews();t.forEach((i,o)=>{o!==e&&(i.classList.add(s.classes.VIEW_HIDDEN),i.style.display="none")}),t[e]&&(t[e].classList.remove(s.classes.VIEW_HIDDEN),t[e].style.removeProperty("display"))}hideInactiveViews(e){this._getViews().forEach((i,o)=>{if(i.style.removeProperty("opacity"),i.style.removeProperty("transform"),i.style.removeProperty("visibility"),o===e){i.classList.remove(s.classes.VIEW_HIDDEN);return}i.classList.add(s.classes.VIEW_HIDDEN),i.style.display="none"})}async transitionToView(e,t,i,o){let l=this._getViews(),r=l[e],d=l[t];return new Promise(N=>{d.style.removeProperty("visibility"),window.requestAnimationFrame(()=>{let p;switch(i){case"slide":this._slideToView(r,d,o),p="transform";break;case"fade":this._fadeToView(r,d),p="opacity";break;default:return}this._animateHeight(r,d),r?r.addEventListener("transitionend",T):d.classList.remove(s.classes.VIEW_HIDDEN);function T(L){L.propertyName===p&&(r.removeEventListener("transitionend",T),d.classList.remove(s.classes.VIEW_HIDDEN),N())}})})}_slideToView(e,t,i){i==="left"?(e&&(e.style.transform="translate3d(-100%, 0, 0)"),t.style.transform="translate3d(0, 0, 0)"):(e&&(e.style.transform="translate3d(100%, 0, 0)"),t.style.transform="translate3d(0, 0, 0)")}_fadeToView(e,t){e&&(e.style.opacity="0"),t.style.opacity="1"}_animateHeight(e,t){let i=e?this._getViewHeight(e):0,o=this._getViewHeight(t);i!==o&&(this._rootElement.addEventListener("transitionend",this._onRootTransitionEnd.bind(this)),this._setHeight(i),window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{this._setHeight(o)})}))}_onRootTransitionEnd(e){e.propertyName==="height"&&(this._rootElement.removeEventListener("transitionend",this._onRootTransitionEnd),this._rootElement.style.removeProperty("height"))}setAnimationType(e){switch(y([s.classes.VIEW_SWITCHER_SLIDE,s.classes.VIEW_SWITCHER_FADE],this._component),e){case"slide":this._component.classList.add(s.classes.VIEW_SWITCHER_SLIDE);break;case"fade":this._component.classList.add(s.classes.VIEW_SWITCHER_FADE);break}}_getViews(){return this._slotElement.assignedNodes().filter(e=>e.nodeType===1)}_setHeight(e){this._rootElement.style.height=`${e}px`}_getViewHeight(e){let t=0,i=e.children.length?Array.from(e.children):[e];for(let o of i){let l=window.getComputedStyle(o),r=parseFloat(l.marginTop)+parseFloat(l.marginBottom);t+=Math.ceil(o.offsetHeight+r)}return t}};var m=class{constructor(n){this._adapter=n;this._viewCount=0;this._viewIndex=0;this._animationType="none";this._viewsChangedListener=()=>this._onViewsChanged()}initialize(){this._viewCount=this._adapter.getViewCount(),this._adapter.startViewObserver(this._viewsChangedListener),this._adapter.setAnimationType(this._animationType),this._viewCount&&this._initializeAnimationType()}disconnect(){this._adapter.stopViewObserver()}_initializeAnimationType(){switch(this._animationType){case"slide":this._adapter.initializeSlideViews(this._viewIndex);break;case"fade":this._adapter.initializeFadeViews(this._viewIndex);break;case"none":default:this._adapter.hideInactiveViews(this._viewIndex);break}}_onViewsChanged(){if(this._viewCount=this._adapter.getViewCount(),this._viewCount===0&&(this._viewIndex=0),this._viewCount&&this._initializeAnimationType(),this._viewCount>0&&this._viewIndex>=this._viewCount){let n=this._viewIndex;this._viewIndex=this._viewCount>0?this._viewCount-1:0,this._goToView(n,this._viewCount)}}async _goToView(n,e){if(this._viewCount=E(e)?e:this._adapter.getViewCount(),!(!(this._viewIndex>=0&&this._viewIndex<=this._viewCount-1)||n===this._clampedViewIndex(this._viewIndex,this._viewCount)))switch(this._animationType){case"slide":let i=this._viewIndex>n?"left":"right";await this._adapter.transitionToView(n,this._viewIndex,"slide",i),this._adapter.initializeSlideViews(this._viewIndex);break;case"fade":await this._adapter.transitionToView(n,this._viewIndex,"fade"),this._adapter.initializeFadeViews(this._viewIndex);break;case"none":default:this._adapter.setActiveView(this._viewIndex);break}}_clampedViewIndex(n,e){return n<0?n=0:n>e-1&&(n=e>0?e-1:0),n}next(){this.index++}previous(){this.index--}goToStart(){this.index=0}goToEnd(){this.index=this._viewCount-1}get index(){return this._viewIndex}set index(n){if(this._viewIndex!==n){let e=this._viewIndex;this._viewIndex=n,this._goToView(e),this._adapter.setHostAttribute(s.attributes.INDEX,this._viewIndex.toString())}}get animationType(){return this._animationType}set animationType(n){this._animationType!==n&&(this._animationType=n,this._initializeAnimationType(),this._adapter.setAnimationType(this._animationType),this._adapter.setHostAttribute(s.attributes.ANIMATION_TYPE,this._animationType))}};var M='<template><div class="forge-view-switcher" part="root"><slot></slot></div></template>',P=".forge-view-switcher{height:auto;height:var(--forge-view-switcher-height,auto);width:auto;width:var(--forge-view-switcher-width,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);width:auto;width:var(--forge-view-switcher-width,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}",a=class extends A{constructor(){super();V(this,M,P),this._foundation=new m(new c(this))}static get observedAttributes(){return[s.attributes.INDEX,s.attributes.ANIMATION_TYPE]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,t,i){switch(e){case s.attributes.INDEX:this.index=g(i);break;case s.attributes.ANIMATION_TYPE:this.animationType=i;break}}next(){this._foundation.next()}previous(){this._foundation.previous()}goToStart(){this._foundation.goToStart()}goToEnd(){this._foundation.goToEnd()}};h([v()],a.prototype,"index",2),h([v()],a.prototype,"animationType",2),a=h([S({name:s.elementName,dependencies:[H]})],a);function le(){I(a)}export{s as a,_ as b,b as c,c as d,m as e,a as f,le as g};
7
+ //# sourceMappingURL=chunk.P3IA2WTO.js.map
@@ -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 declare index: number;\n \n /** Gets/sets the animation type. */\n @FoundationProperty()\n public declare 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": "mWAEA,GAAM,GAA2C,GAAG,iBAE9C,EAAU,CACd,KAAM,sBACN,YAAa,oCACb,oBAAqB,6BACrB,mBAAoB,2BACtB,EAEM,EAAY,CAChB,KAAM,IAAI,EAAQ,OAClB,aAAc,mBACd,YAAa,IAAI,EAAQ,aAC3B,EAEM,EAAa,CACjB,MAAO,QACP,eAAgB,gBAClB,EAEM,EAAU,CACd,4BAA6B,GAC/B,EAEa,EAA0B,CACrC,cACA,aACA,UACA,YACA,SACF,EAMY,EAAL,CAAK,GACV,QAAO,OACP,QAAQ,QAFE,WAKA,EAAL,CAAK,GACV,QAAO,OACP,QAAQ,QACR,OAAO,OAHG,WC1BL,GAAM,GAAN,aAAkC,EAAoE,CAK3G,YAAY,EAAmC,CAC7C,MAAM,CAAS,EACf,KAAK,aAAe,EAAiB,EAAW,EAAwB,UAAU,IAAI,EACtF,KAAK,aAAe,EAAiB,EAAW,EAAwB,UAAU,YAAY,CAChG,CAEA,AAAO,cAAuB,CAC5B,MAAO,MAAK,UAAU,EAAE,MAC1B,CAEA,AAAO,kBAAkB,EAAkC,CACzD,KAAK,cAAgB,GAAI,kBAAiB,CAAQ,EAClD,KAAK,cAAc,QAAQ,KAAK,WAAY,CAAE,UAAW,EAAK,CAAC,CACjE,CAEA,AAAO,kBAAyB,CAC9B,AAAI,KAAK,eACP,KAAK,cAAc,WAAW,CAElC,CAMA,AAAO,qBAAqB,EAAqB,CAC/C,GAAI,GAAQ,KAAK,UAAU,EAC3B,EAAM,QAAQ,CAAC,EAAM,IAAM,CAMzB,GAJA,EAAK,MAAM,eAAe,SAAS,EACnC,EAAK,MAAM,eAAe,SAAS,EAG/B,IAAM,EAAO,CACf,EAAM,GAAO,UAAU,OAAO,EAAwB,QAAQ,WAAW,EACzE,EAAK,MAAM,eAAe,YAAY,EACtC,MACF,CAGA,EAAK,MAAM,WAAa,OAGxB,EAAK,UAAU,IAAI,EAAwB,QAAQ,WAAW,EAC9D,EAAK,MAAM,WAAa,SAGxB,AAAI,EAAI,EACN,EAAK,MAAM,UAAY,0BAEvB,EAAK,MAAM,UAAY,0BAE3B,CAAC,EAGD,OAAO,sBAAsB,IAAM,CACjC,EAAQ,KAAK,UAAU,EACvB,EAAM,QAAQ,CAAC,EAAG,IAAM,CACtB,AAAI,IAAM,GAGV,EAAE,MAAM,eAAe,YAAY,CACrC,CAAC,CACH,CAAC,CACH,CAMA,AAAO,oBAAoB,EAAqB,CAC9C,GAAM,GAAQ,KAAK,UAAU,EAC7B,EAAM,QAAQ,CAAC,EAAM,IAAM,CAMzB,GAJA,EAAK,MAAM,eAAe,WAAW,EACrC,EAAK,MAAM,eAAe,SAAS,EAG/B,IAAM,EAAO,CACf,EAAK,UAAU,OAAO,EAAwB,QAAQ,WAAW,EACjE,EAAK,MAAM,eAAe,YAAY,EACtC,MACF,CAGA,EAAK,UAAU,IAAI,EAAwB,QAAQ,WAAW,EAC9D,EAAK,MAAM,WAAa,QAC1B,CAAC,EAGG,EAAM,IACR,GAAM,GAAO,MAAM,QAAU,IAEjC,CAMA,AAAO,cAAc,EAAqB,CACxC,GAAM,GAAQ,KAAK,UAAU,EAE7B,EAAM,QAAQ,CAAC,EAAM,IAAM,CACzB,AAAI,IAAM,GAIV,GAAK,UAAU,IAAI,EAAwB,QAAQ,WAAW,EAC9D,EAAK,MAAM,QAAU,OACvB,CAAC,EAGG,EAAM,IACR,GAAM,GAAO,UAAU,OAAO,EAAwB,QAAQ,WAAW,EACzE,EAAM,GAAO,MAAM,eAAe,SAAS,EAE/C,CAMA,AAAO,kBAAkB,EAAqB,CAE5C,AADc,KAAK,UAAU,EACvB,QAAQ,CAAC,EAAM,IAAM,CAOzB,GALA,EAAK,MAAM,eAAe,SAAS,EACnC,EAAK,MAAM,eAAe,WAAW,EACrC,EAAK,MAAM,eAAe,YAAY,EAGlC,IAAM,EAAO,CACf,EAAK,UAAU,OAAO,EAAwB,QAAQ,WAAW,EACjE,MACF,CAGA,EAAK,UAAU,IAAI,EAAwB,QAAQ,WAAW,EAC9D,EAAK,MAAM,QAAU,MACvB,CAAC,CACH,CAQA,KAAa,kBAAiB,EAAmB,EAAiB,EAA0C,EAAmD,CAC7J,GAAM,GAAQ,KAAK,UAAU,EACvB,EAAW,EAAM,GACjB,EAAS,EAAM,GAErB,MAAO,IAAI,SAAc,GAAW,CAElC,EAAO,MAAM,eAAe,YAAY,EAExC,OAAO,sBAAsB,IAAM,CACjC,GAAI,GACJ,OAAQ,OACD,QACH,KAAK,aAAa,EAAU,EAAQ,CAAmC,EACvE,EAAiB,YACjB,UACG,OACH,KAAK,YAAY,EAAU,CAAM,EACjC,EAAiB,UACjB,cAEA,OAIJ,KAAK,eAAe,EAAU,CAAM,EAEpC,AAAI,EAEF,EAAS,iBAAiB,gBAAiB,CAAoB,EAE/D,EAAO,UAAU,OAAO,EAAwB,QAAQ,WAAW,EAGrE,WAA8B,EAA4B,CACxD,AAAI,EAAI,eAAiB,GACvB,GAAS,oBAAoB,gBAAiB,CAAoB,EAClE,EAAO,UAAU,OAAO,EAAwB,QAAQ,WAAW,EACnE,EAAQ,EAEZ,CACF,CAAC,CACH,CAAC,CACH,CAQA,AAAQ,aAAa,EAA8B,EAAqB,EAAyC,CAE/G,AAAI,IAAc,OACZ,IACF,GAAS,MAAM,UAAY,4BAE7B,EAAO,MAAM,UAAY,wBAErB,IACF,GAAS,MAAM,UAAY,2BAE7B,EAAO,MAAM,UAAY,uBAE7B,CAEA,AAAQ,YAAY,EAA8B,EAA2B,CAC3E,AAAI,GACF,GAAS,MAAM,QAAU,KAE3B,EAAO,MAAM,QAAU,GACzB,CAOA,AAAQ,eAAe,EAA8B,EAA2B,CAC9E,GAAM,GAAiB,EAAW,KAAK,eAAe,CAAQ,EAAI,EAC5D,EAAe,KAAK,eAAe,CAAM,EAG/C,AAAI,IAAmB,GACrB,MAAK,aAAa,iBAAiB,gBAAiB,KAAK,qBAAqB,KAAK,IAAI,CAAC,EAGxF,KAAK,WAAW,CAAc,EAG9B,OAAO,sBAAsB,IAAM,CACjC,OAAO,sBAAsB,IAAM,CAEjC,KAAK,WAAW,CAAY,CAC9B,CAAC,CACH,CAAC,EAEL,CAMA,AAAQ,qBAAqB,EAA4B,CACvD,AAAI,EAAI,eAAiB,UACvB,MAAK,aAAa,oBAAoB,gBAAiB,KAAK,oBAAoB,EAEhF,KAAK,aAAa,MAAM,eAAe,QAAQ,EAEnD,CAMA,AAAO,iBAAiB,EAAuC,CAG7D,OAFA,EAAY,CAAC,EAAwB,QAAQ,oBAAqB,EAAwB,QAAQ,kBAAkB,EAAG,KAAK,UAAU,EAE9H,OACD,QACH,KAAK,WAAW,UAAU,IAAI,EAAwB,QAAQ,mBAAmB,EACjF,UACG,OACH,KAAK,WAAW,UAAU,IAAI,EAAwB,QAAQ,kBAAkB,EAChF,MAEN,CAKA,AAAQ,WAA2B,CACjC,MAAO,MAAK,aAAa,cAAc,EAAE,OAAO,GAAK,EAAE,WAAa,CAAC,CACvE,CAMA,AAAQ,WAAW,EAA0B,CAC3C,KAAK,aAAa,MAAM,OAAS,GAAG,KACtC,CAMA,AAAQ,eAAe,EAA2B,CAChD,GAAI,GAAS,EACP,EAAW,EAAK,SAAS,OAAU,MAAM,KAAK,EAAK,QAAQ,EAAsB,CAAC,CAAI,EAE5F,OAAW,KAAW,GAAU,CAC9B,GAAM,GAAS,OAAO,iBAAiB,CAAO,EACxC,EAAS,WAAW,EAAO,SAAmB,EAAI,WAAW,EAAO,YAAsB,EAChG,GAAU,KAAK,KAAK,EAAQ,aAAe,CAAM,CACnD,CAEA,MAAO,EACT,CACF,EC3TO,GAAM,GAAN,KAAgE,CAMrE,YAAoB,EAAgC,CAAhC,gBALpB,KAAQ,WAAa,EACrB,KAAQ,WAAa,EACrB,KAAQ,eAAiB,OAIvB,KAAK,sBAAwB,IAAM,KAAK,gBAAgB,CAC1D,CAEA,AAAO,YAAmB,CACxB,KAAK,WAAa,KAAK,SAAS,aAAa,EAC7C,KAAK,SAAS,kBAAkB,KAAK,qBAAqB,EAC1D,KAAK,SAAS,iBAAiB,KAAK,cAAc,EAE9C,KAAK,YACP,KAAK,yBAAyB,CAElC,CAEA,AAAO,YAAmB,CACxB,KAAK,SAAS,iBAAiB,CACjC,CAEA,AAAQ,0BAAiC,CACvC,OAAQ,KAAK,oBACN,QACH,KAAK,SAAS,qBAAqB,KAAK,UAAU,EAClD,UACG,OACH,KAAK,SAAS,oBAAoB,KAAK,UAAU,EACjD,UACG,eAEH,KAAK,SAAS,kBAAkB,KAAK,UAAU,EAC/C,MAEN,CAEA,AAAQ,iBAAwB,CAY9B,GAXA,KAAK,WAAa,KAAK,SAAS,aAAa,EAEzC,KAAK,aAAe,GACtB,MAAK,WAAa,GAGhB,KAAK,YACP,KAAK,yBAAyB,EAI5B,KAAK,WAAa,GAAK,KAAK,YAAc,KAAK,WAAY,CAC7D,GAAM,GAAY,KAAK,WACvB,KAAK,WAAa,KAAK,WAAa,EAAI,KAAK,WAAa,EAAI,EAC9D,KAAK,UAAU,EAAW,KAAK,UAAU,CAC3C,CACF,CAEA,KAAc,WAAU,EAAmB,EAAmC,CAK5E,GAJA,KAAK,WAAa,AAAC,EAAU,CAAS,EAAmC,EAA/B,KAAK,SAAS,aAAa,EAIjE,GADiB,MAAK,YAAc,GAAK,KAAK,YAAc,KAAK,WAAa,IAC7D,IAAc,KAAK,kBAAkB,KAAK,WAAY,KAAK,UAAU,GAI1F,OAAQ,KAAK,oBACN,QACH,GAAM,GAAqB,KAAK,WAAa,EAAY,OAA8B,QACvF,KAAM,MAAK,SAAS,iBAAiB,EAAW,KAAK,WAAY,QAAiC,CAAkB,EACpH,KAAK,SAAS,qBAAqB,KAAK,UAAU,EAClD,UACG,OACH,KAAM,MAAK,SAAS,iBAAiB,EAAW,KAAK,WAAY,MAA8B,EAC/F,KAAK,SAAS,oBAAoB,KAAK,UAAU,EACjD,UACG,eAEH,KAAK,SAAS,cAAc,KAAK,UAAU,EAC3C,MAEN,CAEA,AAAQ,kBAAkB,EAAmB,EAA2B,CACtE,MAAI,GAAY,EACd,EAAY,EACH,EAAY,EAAY,GACjC,GAAY,EAAY,EAAI,EAAY,EAAI,GAEvC,CACT,CAEA,AAAO,MAAa,CAClB,KAAK,OACP,CAEA,AAAO,UAAiB,CACtB,KAAK,OACP,CAEA,AAAO,WAAkB,CACvB,KAAK,MAAQ,CACf,CAEA,AAAO,SAAgB,CACrB,KAAK,MAAQ,KAAK,WAAa,CACjC,CAEA,GAAW,QAAgB,CACzB,MAAO,MAAK,UACd,CACA,GAAW,OAAM,EAAe,CAC9B,GAAI,KAAK,aAAe,EAAO,CAC7B,GAAM,GAAY,KAAK,WACvB,KAAK,WAAa,EAClB,KAAK,UAAU,CAAS,EACxB,KAAK,SAAS,iBAAiB,EAAwB,WAAW,MAAO,KAAK,WAAW,SAAS,CAAC,CACrG,CACF,CAEA,GAAW,gBAA2C,CACpD,MAAO,MAAK,cACd,CACA,GAAW,eAAc,EAAkC,CACzD,AAAI,KAAK,iBAAmB,GAC1B,MAAK,eAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,SAAS,iBAAiB,KAAK,cAAc,EAClD,KAAK,SAAS,iBAAiB,EAAwB,WAAW,eAAgB,KAAK,cAAc,EAEzG,CACF,EC3IA,GAAM,GAAW,wFACX,EAAS,igDA0BF,EAAN,aAAoC,EAAgD,CAUzF,aAAc,CACZ,MAAM,EACN,EAAqB,KAAM,EAAU,CAAM,EAC3C,KAAK,YAAc,GAAI,GAAuB,GAAI,GAAoB,IAAI,CAAC,CAC7E,CAbA,UAAkB,qBAA+B,CAC/C,MAAO,CACL,EAAwB,WAAW,MACnC,EAAwB,WAAW,cACrC,CACF,CAUA,AAAO,mBAA0B,CAE/B,KAAK,YAAY,WAAW,CAC9B,CAEA,AAAO,sBAA6B,CAClC,KAAK,YAAY,WAAW,CAC9B,CAEA,AAAO,yBAAyB,EAAc,EAAkB,EAAwB,CACtF,OAAQ,OACD,GAAwB,WAAW,MACtC,KAAK,MAAQ,EAAa,CAAQ,EAClC,UACG,GAAwB,WAAW,eACtC,KAAK,cAAgB,EACrB,MAEN,CAWA,AAAO,MAAa,CAClB,KAAK,YAAY,KAAK,CACxB,CAGA,AAAO,UAAiB,CACtB,KAAK,YAAY,SAAS,CAC5B,CAGA,AAAO,WAAkB,CACvB,KAAK,YAAY,UAAU,CAC7B,CAGA,AAAO,SAAgB,CACrB,KAAK,YAAY,QAAQ,CAC3B,CACF,EAzBiB,GADf,AAAC,EAAmB,GACL,AAtCJ,EAsCI,qBAIA,GADf,AAAC,EAAmB,GACL,AA1CJ,EA0CI,6BA1CJ,EAAN,GAJP,AAAC,EAAc,CACb,KAAM,EAAwB,YAC9B,aAAc,CAAC,CAAa,CAC9B,CAAC,GACY,GCxBN,aAA6C,CAClD,EAAoB,CAAqB,CAC3C",
6
- "names": []
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);width:auto;width:var(--forge-view-switcher-width,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);width:auto;width:var(--forge-view-switcher-width,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 declare index: number;\n \n /** Gets/sets the animation type. */\n @FoundationProperty()\n public declare 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
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "selectors", "attributes", "numbers", "VIEW_SWITCHER_CONSTANTS", "ViewAnimationDirection", "ViewSwitcherAnimationType", "ViewSwitcherAdapter", "BaseAdapter", "component", "getShadowElement", "VIEW_SWITCHER_CONSTANTS", "callback", "index", "views", "view", "i", "v", "fromIndex", "toIndex", "animationType", "direction", "fromView", "toView", "resolve", "transitionProp", "transitionEndHandler", "evt", "fromViewHeight", "toViewHeight", "type", "removeClass", "n", "viewHeight", "height", "elements", "element", "styles", "margin", "ViewSwitcherFoundation", "_adapter", "currIndex", "fromIndex", "viewCount", "isDefined", "animationDirection", "viewIndex", "value", "VIEW_SWITCHER_CONSTANTS", "template", "styles", "ViewSwitcherComponent", "BaseComponent", "attachShadowTemplate", "ViewSwitcherFoundation", "ViewSwitcherAdapter", "VIEW_SWITCHER_CONSTANTS", "name", "oldValue", "newValue", "coerceNumber", "__decorateClass", "FoundationProperty", "CustomElement", "ViewComponent", "defineViewSwitcherComponent", "defineCustomElement", "ViewSwitcherComponent"]
7
7
  }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{a,d as A}from"./chunk.3STDLL5U.js";import{a as E}from"./chunk.5PXABBKU.js";import{a as n}from"./chunk.B3IJU6XJ.js";import{a as f,b as I,d}from"./chunk.OOW3UKT4.js";import{a as m,e as _,g as v,l as T}from"./chunk.MMVZJLXE.js";import{d as h}from"./chunk.R4NDFXVA.js";import{k as g}from"./chunk.G76HB2FK.js";import{a as c,f as l}from"./chunk.MCIQXNKY.js";var L=`${I}button-toggle-group`,S={VALUE:"value",MULTIPLE:"multiple",MANDATORY:"mandatory",VERTICAL:"vertical",STRETCH:"stretch",DISABLED:"disabled",DENSE:"dense"},y={VERTICAL:"forge-button-toggle-group--vertical",STRETCH:"forge-button-toggle-group--stretch"},B={ROOT:".forge-button-toggle-group"},O={CHANGE:`${L}-change`},i={elementName:L,attributes:S,classes:y,selectors:B,events:O};var u=class extends E{constructor(t){super(t);this._rootElement=v(t,i.selectors.ROOT),this._slotElement=this._rootElement.querySelector("slot")}addListener(t,s){this._rootElement.addEventListener(t,s)}removeListener(t,s){this._rootElement.removeEventListener(t,s)}addSlotChangeListener(t){this._slotElement.addEventListener("slotchange",t)}removeSlotChangeListener(t){this._slotElement.addEventListener("slotchange",t)}deselect(t){this._getButtonToggleElements().filter(e=>e!==t).forEach(e=>e.selected=!1)}applyAdjacentSelections(t){let s=this._getButtonToggleElements();for(let e=s.length-1;e>0;e--)if(s[e].removeAttribute(a.attributes.SELECTED_ADJACENT),s[e].removeAttribute(a.attributes.SELECTED_ADJACENT_VERTICAL),s[e].selected&&s[e-1].selected){let C=t?a.attributes.SELECTED_ADJACENT_VERTICAL:a.attributes.SELECTED_ADJACENT;s[e].setAttribute(C,"")}}setVertical(t){t?this._rootElement.classList.add(i.classes.VERTICAL):this._rootElement.classList.remove(i.classes.VERTICAL)}setStretch(t){t?this._rootElement.classList.add(i.classes.STRETCH):this._rootElement.classList.remove(i.classes.STRETCH),this._getButtonToggleElements().forEach(e=>{t?e.setAttribute("stretch",""):e.removeAttribute("stretch")})}setDense(t){this._getButtonToggleElements().forEach(e=>e.dense=t)}setDisabled(t){this._getButtonToggleElements().forEach(e=>e.disabled=t)}getSelectedValues(){return this._getButtonToggleElements().filter(s=>s.selected).map(s=>s.value)}applyValues(t){this._getButtonToggleElements().forEach(e=>e.selected=t.indexOf(e.value)>=0)}createOptions(t){h(this._component),t.forEach(s=>{this._component.appendChild(this._createButtonToggle(s))})}_createButtonToggle(t){let s=document.createElement(a.elementName);if(s.value=t.value,t.label)s.textContent=t.label;else if(t.icon){let e=document.createElement("i");e.textContent=t.icon,e.classList.add(d),e.setAttribute("aria-hidden","true"),s.appendChild(e)}if(t.leadingIcon){let e;t.leadingIconType==="component"?(e=document.createElement("forge-icon"),e.name=t.leadingIcon):(e=document.createElement("i"),e.textContent=t.leadingIcon,e.classList.add(d),e.setAttribute("aria-hidden","true")),e.slot="leading",s.appendChild(e)}if(t.trailingIcon){let e;t.trailingIconType==="component"?(e=document.createElement("forge-icon"),e.name=t.trailingIcon):(e=document.createElement("i"),e.textContent=t.trailingIcon,e.classList.add(d),e.setAttribute("aria-hidden","true")),e.slot="trailing",s.appendChild(e)}return s}_getButtonToggleElements(){return Array.from(this._component.querySelectorAll(a.elementName))}};var p=class{constructor(o){this._adapter=o;this._isInitialized=!1;this._multiple=!1;this._mandatory=!1;this._vertical=!1;this._stretch=!1;this._dense=!1;this._disabled=!1;this._options=[];this._values=[];this._selectListener=t=>this._onSelect(t),this._slotListener=()=>this._synchronize()}initialize(){this._options&&this._options.length&&this._applyOptions(!1),this._adapter.addListener(a.events.SELECT,this._selectListener),this._adapter.addSlotChangeListener(this._slotListener),this._adapter.setVertical(this._vertical),this._adapter.setStretch(this._stretch),this._adapter.setDense(this._dense),this._adapter.setDisabled(this._disabled),this._adapter.applyAdjacentSelections(this._vertical),this._isInitialized=!0}disconnect(){this._isInitialized=!1,this._adapter.removeListener(a.events.SELECT,this._selectListener),this._adapter.removeSlotChangeListener(this._slotListener)}_synchronize(){if(this._multiple){let o=new Set(this._adapter.getSelectedValues().concat(this._values));this._applyValue(Array.from(o))}else{let o=this._adapter.getSelectedValues().concat(this._values);this.value=o.length?o[o.length-1]:null}}_onSelect(o){let t=o.target;if(this._mandatory&&!this._adapter.getSelectedValues().length){t.selected=!0;return}this._multiple||this._adapter.deselect(t),this._adapter.applyAdjacentSelections(this._vertical),this._adapter.emitHostEvent(i.events.CHANGE,this._getValue())}_getValue(){var t;let o=this._adapter.getSelectedValues();return this._multiple?Array.from(new Set(o)):(t=o.slice(0,1)[0])!=null?t:null}_applyValue(o){let t=o instanceof Array?o:[o];!this._multiple&&t.length>1&&(t=t[0]),this._values=t,this._adapter.applyValues(t),this._multiple&&this._adapter.applyAdjacentSelections(this._vertical)}_applyOptions(o=!0){this._options&&(this._adapter.createOptions(this._options),o&&(this._adapter.setStretch(this._stretch),this._adapter.setDense(this._dense),this._adapter.setDisabled(this._disabled),this._adapter.applyAdjacentSelections(this._vertical)))}get value(){return this._isInitialized?this._getValue():this._originalValue}set value(o){this._originalValue=o,this._applyValue(o)}get multiple(){return this._multiple}set multiple(o){this._multiple!==o&&(this._multiple=o,this._adapter.setHostAttribute(i.attributes.MULTIPLE,this._multiple))}get mandatory(){return this._mandatory}set mandatory(o){this._mandatory!==o&&(this._mandatory=o,this._mandatory?this._adapter.setHostAttribute(i.attributes.MANDATORY):this._adapter.removeHostAttribute(i.attributes.MANDATORY))}get vertical(){return this._vertical}set vertical(o){this._vertical!==o&&(this._vertical=o,this._adapter.setVertical(this._vertical),this._adapter.applyAdjacentSelections(this._vertical),this._vertical?this._adapter.setHostAttribute(i.attributes.VERTICAL):this._adapter.removeHostAttribute(i.attributes.VERTICAL))}get stretch(){return this._stretch}set stretch(o){this._stretch!==o&&(this._stretch=o,this._adapter.setStretch(this._stretch),this._stretch?this._adapter.setHostAttribute(i.attributes.STRETCH):this._adapter.removeHostAttribute(i.attributes.STRETCH))}get dense(){return this._dense}set dense(o){this._dense!==o&&(this._dense=o,this._adapter.setDense(this._dense),this._dense?this._adapter.setHostAttribute(i.attributes.DENSE):this._adapter.removeHostAttribute(i.attributes.DENSE))}get disabled(){return this._disabled}set disabled(o){this._disabled!==o&&(this._disabled=o,this._adapter.setDisabled(this._disabled),this._disabled?this._adapter.setHostAttribute(i.attributes.DISABLED):this._adapter.removeHostAttribute(i.attributes.DISABLED))}get options(){return this._options.map(o=>c({},o))}set options(o){this._options=o.map(t=>c({},t)),this._isInitialized&&this._applyOptions()}};var N='<template><div class="forge-button-toggle-group" role="group" aria-label="Button group" part="root"><slot></slot></div></template>',D=".forge-button-toggle-group{display:-webkit-box;display:flex}.forge-button-toggle-group ::slotted(:not(:last-child)){--forge-button-toggle-border-right-width:0;--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-right-radius:0}.forge-button-toggle-group ::slotted(:first-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-bottom-left-radius:4px}.forge-button-toggle-group ::slotted(:last-child){--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group--vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-button-toggle-group--vertical ::slotted(:not(:last-child)){--forge-button-toggle-border-right-width:1px;--forge-button-toggle-border-bottom-width:0;--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-right-radius:0}.forge-button-toggle-group--vertical ::slotted(:first-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-top-right-radius:4px}.forge-button-toggle-group--vertical ::slotted(:last-child){--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-left-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group ::slotted(:only-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-bottom-left-radius:4px;--forge-button-toggle-border-top-right-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group--stretch{width:100%}:host{display:block}:host([hidden]){display:none}",r=class extends T{constructor(){super();_(this,N,D),this._foundation=new p(new u(this))}static get observedAttributes(){return[i.attributes.VALUE,i.attributes.MULTIPLE,i.attributes.MANDATORY,i.attributes.VERTICAL,i.attributes.STRETCH,i.attributes.DISABLED,i.attributes.DENSE]}initializedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,s,e){switch(t){case i.attributes.VALUE:this.value=e;break;case i.attributes.MULTIPLE:this.multiple=g(e);break;case i.attributes.MANDATORY:this.mandatory=g(e);break;case i.attributes.VERTICAL:this.vertical=g(e);break;case i.attributes.STRETCH:this.stretch=g(e);break;case i.attributes.DENSE:this.dense=g(e);break;case i.attributes.DISABLED:this.disabled=g(e);break}}};l([n()],r.prototype,"value",2),l([n()],r.prototype,"multiple",2),l([n()],r.prototype,"mandatory",2),l([n()],r.prototype,"vertical",2),l([n()],r.prototype,"stretch",2),l([n()],r.prototype,"dense",2),l([n()],r.prototype,"disabled",2),l([n()],r.prototype,"options",2),r=l([f({name:i.elementName,dependencies:[A]})],r);function rt(){m(r)}export{i as a,u as b,p as c,r as d,rt as e};
7
- //# sourceMappingURL=chunk.HWQEGQDD.js.map
6
+ import{a,d as A}from"./chunk.BJE6O5ES.js";import{a as E}from"./chunk.G5MGGEFP.js";import{a as n}from"./chunk.KTGSZEAG.js";import{a as f,b as I,d}from"./chunk.BE7PZANN.js";import{a as m,e as _,g as v,l as T}from"./chunk.Y4GKBJGI.js";import{d as h}from"./chunk.PN26D52V.js";import{k as g}from"./chunk.J2M2MXP2.js";import{a as c,f as l}from"./chunk.MCIQXNKY.js";var L=`${I}button-toggle-group`,S={VALUE:"value",MULTIPLE:"multiple",MANDATORY:"mandatory",VERTICAL:"vertical",STRETCH:"stretch",DISABLED:"disabled",DENSE:"dense"},y={VERTICAL:"forge-button-toggle-group--vertical",STRETCH:"forge-button-toggle-group--stretch"},B={ROOT:".forge-button-toggle-group"},O={CHANGE:`${L}-change`},i={elementName:L,attributes:S,classes:y,selectors:B,events:O};var u=class extends E{constructor(t){super(t);this._rootElement=v(t,i.selectors.ROOT),this._slotElement=this._rootElement.querySelector("slot")}addListener(t,s){this._rootElement.addEventListener(t,s)}removeListener(t,s){this._rootElement.removeEventListener(t,s)}addSlotChangeListener(t){this._slotElement.addEventListener("slotchange",t)}removeSlotChangeListener(t){this._slotElement.addEventListener("slotchange",t)}deselect(t){this._getButtonToggleElements().filter(e=>e!==t).forEach(e=>e.selected=!1)}applyAdjacentSelections(t){let s=this._getButtonToggleElements();for(let e=s.length-1;e>0;e--)if(s[e].removeAttribute(a.attributes.SELECTED_ADJACENT),s[e].removeAttribute(a.attributes.SELECTED_ADJACENT_VERTICAL),s[e].selected&&s[e-1].selected){let C=t?a.attributes.SELECTED_ADJACENT_VERTICAL:a.attributes.SELECTED_ADJACENT;s[e].setAttribute(C,"")}}setVertical(t){t?this._rootElement.classList.add(i.classes.VERTICAL):this._rootElement.classList.remove(i.classes.VERTICAL)}setStretch(t){t?this._rootElement.classList.add(i.classes.STRETCH):this._rootElement.classList.remove(i.classes.STRETCH),this._getButtonToggleElements().forEach(e=>{t?e.setAttribute("stretch",""):e.removeAttribute("stretch")})}setDense(t){this._getButtonToggleElements().forEach(e=>e.dense=t)}setDisabled(t){this._getButtonToggleElements().forEach(e=>e.disabled=t)}getSelectedValues(){return this._getButtonToggleElements().filter(s=>s.selected).map(s=>s.value)}applyValues(t){this._getButtonToggleElements().forEach(e=>e.selected=t.indexOf(e.value)>=0)}createOptions(t){h(this._component),t.forEach(s=>{this._component.appendChild(this._createButtonToggle(s))})}_createButtonToggle(t){let s=document.createElement(a.elementName);if(s.value=t.value,t.label)s.textContent=t.label;else if(t.icon){let e=document.createElement("i");e.textContent=t.icon,e.classList.add(d),e.setAttribute("aria-hidden","true"),s.appendChild(e)}if(t.leadingIcon){let e;t.leadingIconType==="component"?(e=document.createElement("forge-icon"),e.name=t.leadingIcon):(e=document.createElement("i"),e.textContent=t.leadingIcon,e.classList.add(d),e.setAttribute("aria-hidden","true")),e.slot="leading",s.appendChild(e)}if(t.trailingIcon){let e;t.trailingIconType==="component"?(e=document.createElement("forge-icon"),e.name=t.trailingIcon):(e=document.createElement("i"),e.textContent=t.trailingIcon,e.classList.add(d),e.setAttribute("aria-hidden","true")),e.slot="trailing",s.appendChild(e)}return s}_getButtonToggleElements(){return Array.from(this._component.querySelectorAll(a.elementName))}};var p=class{constructor(o){this._adapter=o;this._isInitialized=!1;this._multiple=!1;this._mandatory=!1;this._vertical=!1;this._stretch=!1;this._dense=!1;this._disabled=!1;this._options=[];this._values=[];this._selectListener=t=>this._onSelect(t),this._slotListener=()=>this._synchronize()}initialize(){this._options&&this._options.length&&this._applyOptions(!1),this._adapter.addListener(a.events.SELECT,this._selectListener),this._adapter.addSlotChangeListener(this._slotListener),this._adapter.setVertical(this._vertical),this._adapter.setStretch(this._stretch),this._adapter.setDense(this._dense),this._adapter.setDisabled(this._disabled),this._adapter.applyAdjacentSelections(this._vertical),this._isInitialized=!0}disconnect(){this._isInitialized=!1,this._adapter.removeListener(a.events.SELECT,this._selectListener),this._adapter.removeSlotChangeListener(this._slotListener)}_synchronize(){if(this._multiple){let o=new Set(this._adapter.getSelectedValues().concat(this._values));this._applyValue(Array.from(o))}else{let o=this._adapter.getSelectedValues().concat(this._values);this.value=o.length?o[o.length-1]:null}}_onSelect(o){let t=o.target;if(this._mandatory&&!this._adapter.getSelectedValues().length){t.selected=!0;return}this._multiple||this._adapter.deselect(t),this._adapter.applyAdjacentSelections(this._vertical),this._adapter.emitHostEvent(i.events.CHANGE,this._getValue())}_getValue(){var t;let o=this._adapter.getSelectedValues();return this._multiple?Array.from(new Set(o)):(t=o.slice(0,1)[0])!=null?t:null}_applyValue(o){let t=o instanceof Array?o:[o];!this._multiple&&t.length>1&&(t=t[0]),this._values=t,this._adapter.applyValues(t),this._multiple&&this._adapter.applyAdjacentSelections(this._vertical)}_applyOptions(o=!0){this._options&&(this._adapter.createOptions(this._options),o&&(this._adapter.setStretch(this._stretch),this._adapter.setDense(this._dense),this._adapter.setDisabled(this._disabled),this._adapter.applyAdjacentSelections(this._vertical)))}get value(){return this._isInitialized?this._getValue():this._originalValue}set value(o){this._originalValue=o,this._applyValue(o)}get multiple(){return this._multiple}set multiple(o){this._multiple!==o&&(this._multiple=o,this._adapter.setHostAttribute(i.attributes.MULTIPLE,this._multiple))}get mandatory(){return this._mandatory}set mandatory(o){this._mandatory!==o&&(this._mandatory=o,this._mandatory?this._adapter.setHostAttribute(i.attributes.MANDATORY):this._adapter.removeHostAttribute(i.attributes.MANDATORY))}get vertical(){return this._vertical}set vertical(o){this._vertical!==o&&(this._vertical=o,this._adapter.setVertical(this._vertical),this._adapter.applyAdjacentSelections(this._vertical),this._vertical?this._adapter.setHostAttribute(i.attributes.VERTICAL):this._adapter.removeHostAttribute(i.attributes.VERTICAL))}get stretch(){return this._stretch}set stretch(o){this._stretch!==o&&(this._stretch=o,this._adapter.setStretch(this._stretch),this._stretch?this._adapter.setHostAttribute(i.attributes.STRETCH):this._adapter.removeHostAttribute(i.attributes.STRETCH))}get dense(){return this._dense}set dense(o){this._dense!==o&&(this._dense=o,this._adapter.setDense(this._dense),this._dense?this._adapter.setHostAttribute(i.attributes.DENSE):this._adapter.removeHostAttribute(i.attributes.DENSE))}get disabled(){return this._disabled}set disabled(o){this._disabled!==o&&(this._disabled=o,this._adapter.setDisabled(this._disabled),this._disabled?this._adapter.setHostAttribute(i.attributes.DISABLED):this._adapter.removeHostAttribute(i.attributes.DISABLED))}get options(){return this._options.map(o=>c({},o))}set options(o){this._options=o.map(t=>c({},t)),this._isInitialized&&this._applyOptions()}};var N='<template><div class="forge-button-toggle-group" role="group" aria-label="Button group" part="root"><slot></slot></div></template>',D=".forge-button-toggle-group{display:-webkit-box;display:flex}.forge-button-toggle-group ::slotted(:not(:last-child)){--forge-button-toggle-border-right-width:0;--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-right-radius:0}.forge-button-toggle-group ::slotted(:first-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-bottom-left-radius:4px}.forge-button-toggle-group ::slotted(:last-child){--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group--vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-button-toggle-group--vertical ::slotted(:not(:last-child)){--forge-button-toggle-border-right-width:1px;--forge-button-toggle-border-bottom-width:0;--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-bottom-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-right-radius:0}.forge-button-toggle-group--vertical ::slotted(:first-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-top-right-radius:4px}.forge-button-toggle-group--vertical ::slotted(:last-child){--forge-button-toggle-border-top-left-radius:0;--forge-button-toggle-border-top-right-radius:0;--forge-button-toggle-border-bottom-left-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group ::slotted(:only-child){--forge-button-toggle-border-top-left-radius:4px;--forge-button-toggle-border-bottom-left-radius:4px;--forge-button-toggle-border-top-right-radius:4px;--forge-button-toggle-border-bottom-right-radius:4px}.forge-button-toggle-group--stretch{width:100%}:host{display:block}:host([hidden]){display:none}",r=class extends T{constructor(){super();_(this,N,D),this._foundation=new p(new u(this))}static get observedAttributes(){return[i.attributes.VALUE,i.attributes.MULTIPLE,i.attributes.MANDATORY,i.attributes.VERTICAL,i.attributes.STRETCH,i.attributes.DISABLED,i.attributes.DENSE]}initializedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,s,e){switch(t){case i.attributes.VALUE:this.value=e;break;case i.attributes.MULTIPLE:this.multiple=g(e);break;case i.attributes.MANDATORY:this.mandatory=g(e);break;case i.attributes.VERTICAL:this.vertical=g(e);break;case i.attributes.STRETCH:this.stretch=g(e);break;case i.attributes.DENSE:this.dense=g(e);break;case i.attributes.DISABLED:this.disabled=g(e);break}}};l([n()],r.prototype,"value",2),l([n()],r.prototype,"multiple",2),l([n()],r.prototype,"mandatory",2),l([n()],r.prototype,"vertical",2),l([n()],r.prototype,"stretch",2),l([n()],r.prototype,"dense",2),l([n()],r.prototype,"disabled",2),l([n()],r.prototype,"options",2),r=l([f({name:i.elementName,dependencies:[A]})],r);function rt(){m(r)}export{i as a,u as b,p as c,r as d,rt as e};
7
+ //# sourceMappingURL=chunk.PALRSBSY.js.map