@tylertech/forge 3.0.0-next.21 → 3.0.0-next.23

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 (908) hide show
  1. package/custom-elements.json +33600 -39264
  2. package/dist/dialog/forge-dialog-utils.css +1 -1
  3. package/dist/esm/accordion/index.js +1 -1
  4. package/dist/esm/app-bar/app-bar/index.js +1 -1
  5. package/dist/esm/app-bar/help-button/index.js +1 -1
  6. package/dist/esm/app-bar/index.js +1 -1
  7. package/dist/esm/app-bar/menu-button/index.js +1 -1
  8. package/dist/esm/app-bar/notification-button/index.js +1 -1
  9. package/dist/esm/app-bar/profile-button/index.js +1 -1
  10. package/dist/esm/app-bar/search/index.js +1 -1
  11. package/dist/esm/autocomplete/index.js +1 -1
  12. package/dist/esm/avatar/index.js +1 -1
  13. package/dist/esm/backdrop/index.js +1 -1
  14. package/dist/esm/badge/index.js +1 -1
  15. package/dist/esm/banner/index.js +1 -1
  16. package/dist/esm/bottom-sheet/index.js +1 -1
  17. package/dist/esm/busy-indicator/index.js +1 -1
  18. package/dist/esm/button/index.js +1 -1
  19. package/dist/esm/button-area/index.js +1 -1
  20. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  21. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  22. package/dist/esm/button-toggle/index.js +1 -1
  23. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  24. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  25. package/dist/esm/calendar/index.js +1 -1
  26. package/dist/esm/card/index.js +1 -1
  27. package/dist/esm/checkbox/index.js +1 -1
  28. package/dist/esm/chip-field/index.js +1 -1
  29. package/dist/esm/chips/chip/index.js +1 -1
  30. package/dist/esm/chips/chip-set/index.js +1 -1
  31. package/dist/esm/chips/index.js +1 -1
  32. package/dist/esm/chunks/{chunk.PDDBNHVU.js → chunk.2GUWHBUU.js} +2 -2
  33. package/dist/esm/chunks/{chunk.PDDBNHVU.js.map → chunk.2GUWHBUU.js.map} +2 -2
  34. package/dist/esm/chunks/chunk.2W23MOPP.js +7 -0
  35. package/dist/esm/chunks/chunk.2W23MOPP.js.map +7 -0
  36. package/dist/esm/chunks/{chunk.OSBNFFCI.js → chunk.32APLNN2.js} +2 -2
  37. package/dist/esm/chunks/chunk.32APLNN2.js.map +7 -0
  38. package/dist/esm/chunks/chunk.37B332ZK.js +7 -0
  39. package/dist/esm/chunks/{chunk.SOKORSUV.js.map → chunk.37B332ZK.js.map} +3 -3
  40. package/dist/esm/chunks/chunk.3II7OT2I.js +7 -0
  41. package/dist/esm/chunks/chunk.3II7OT2I.js.map +7 -0
  42. package/dist/esm/chunks/{chunk.IZRURH7C.js → chunk.3KAKJGUS.js} +2 -2
  43. package/dist/esm/chunks/chunk.3PMONORO.js +7 -0
  44. package/dist/esm/chunks/chunk.3PMONORO.js.map +7 -0
  45. package/dist/esm/chunks/chunk.473WRJ5G.js +7 -0
  46. package/dist/esm/chunks/{chunk.USQEIRST.js → chunk.5MB6CTBA.js} +2 -2
  47. package/dist/esm/chunks/{chunk.YS5JZHJ6.js → chunk.5QIWLZG3.js} +2 -2
  48. package/dist/esm/chunks/chunk.5SUJNEC7.js +7 -0
  49. package/dist/esm/chunks/chunk.5SUJNEC7.js.map +7 -0
  50. package/dist/esm/chunks/{chunk.47U6GVGZ.js → chunk.5UOX22ML.js} +2 -2
  51. package/dist/esm/chunks/{chunk.4NABD6XG.js → chunk.6VS3LYAF.js} +2 -2
  52. package/dist/esm/chunks/chunk.72BKSMAZ.js +7 -0
  53. package/dist/esm/chunks/{chunk.3TIBP6QT.js.map → chunk.72BKSMAZ.js.map} +3 -3
  54. package/dist/esm/chunks/chunk.77C7S7ZS.js +7 -0
  55. package/dist/esm/chunks/chunk.77C7S7ZS.js.map +7 -0
  56. package/dist/esm/chunks/chunk.7AAICE77.js +7 -0
  57. package/dist/esm/chunks/chunk.7AAICE77.js.map +7 -0
  58. package/dist/esm/chunks/chunk.7IPAW4D2.js +7 -0
  59. package/dist/esm/chunks/{chunk.MCR34SZQ.js.map → chunk.7IPAW4D2.js.map} +1 -1
  60. package/dist/esm/chunks/chunk.7RLY2O3H.js +7 -0
  61. package/dist/esm/chunks/chunk.7RLY2O3H.js.map +7 -0
  62. package/dist/esm/chunks/chunk.7Y3BUR7Q.js +7 -0
  63. package/dist/esm/chunks/{chunk.3U222LE4.js.map → chunk.7Y3BUR7Q.js.map} +1 -1
  64. package/dist/esm/chunks/{chunk.AOSBUJWW.js → chunk.A7BCLPP4.js} +2 -2
  65. package/dist/esm/chunks/chunk.AFWWND2C.js +7 -0
  66. package/dist/esm/chunks/chunk.AFWWND2C.js.map +7 -0
  67. package/dist/esm/chunks/{chunk.7UBIT4NP.js → chunk.AG6IRMLZ.js} +2 -2
  68. package/dist/esm/chunks/{chunk.A4UH52SA.js → chunk.AGLI4WR4.js} +2 -2
  69. package/dist/esm/chunks/chunk.AIJK3CTV.js +12 -0
  70. package/dist/esm/chunks/chunk.AIJK3CTV.js.map +7 -0
  71. package/dist/esm/chunks/{chunk.WTUXAH7Z.js → chunk.AOVXNX7P.js} +2 -2
  72. package/dist/esm/chunks/{chunk.AN2E2SSN.js → chunk.ASLHRT3N.js} +2 -2
  73. package/dist/esm/chunks/chunk.BEFAXPXJ.js +15 -0
  74. package/dist/esm/chunks/{chunk.EO3HELQ2.js.map → chunk.BEFAXPXJ.js.map} +1 -1
  75. package/dist/esm/chunks/{chunk.CBLUXYH2.js → chunk.BHE6Z5Y2.js} +2 -2
  76. package/dist/esm/chunks/{chunk.2WRAXA3H.js → chunk.BQ52JYLA.js} +2 -2
  77. package/dist/esm/chunks/chunk.BQZKOIAW.js +7 -0
  78. package/dist/esm/chunks/chunk.BQZKOIAW.js.map +7 -0
  79. package/dist/esm/chunks/chunk.BV7EAQST.js +7 -0
  80. package/dist/esm/chunks/chunk.BV7EAQST.js.map +7 -0
  81. package/dist/esm/chunks/{chunk.ROMRJIFR.js → chunk.CE35CVDV.js} +2 -2
  82. package/dist/esm/chunks/{chunk.ZPXMKY72.js → chunk.CEGBMUSR.js} +2 -2
  83. package/dist/esm/chunks/{chunk.GBGGUYTE.js → chunk.CFAI4K3E.js} +2 -2
  84. package/dist/esm/chunks/{chunk.ZIGVO6FN.js → chunk.CGFSMACZ.js} +2 -2
  85. package/dist/esm/chunks/chunk.CLYGTLXN.js +7 -0
  86. package/dist/esm/chunks/chunk.CLYGTLXN.js.map +7 -0
  87. package/dist/esm/chunks/chunk.DJSHVUEM.js +18 -0
  88. package/dist/esm/chunks/{chunk.MGLWXAZO.js.map → chunk.DJSHVUEM.js.map} +4 -4
  89. package/dist/esm/chunks/chunk.DKERDHXH.js +7 -0
  90. package/dist/esm/chunks/{chunk.JVWJHSPM.js.map → chunk.DKERDHXH.js.map} +1 -1
  91. package/dist/esm/chunks/{chunk.UEYPCCFG.js → chunk.ENUKGA2U.js} +2 -2
  92. package/dist/esm/chunks/chunk.EO3GP6DP.js +7 -0
  93. package/dist/esm/chunks/chunk.EO3GP6DP.js.map +7 -0
  94. package/dist/esm/chunks/chunk.FLBYVCQ6.js +7 -0
  95. package/dist/esm/chunks/chunk.FLBYVCQ6.js.map +7 -0
  96. package/dist/esm/chunks/chunk.FLF5RTYO.js +7 -0
  97. package/dist/esm/chunks/chunk.FLF5RTYO.js.map +7 -0
  98. package/dist/esm/chunks/chunk.GBAVJILM.js +7 -0
  99. package/dist/esm/chunks/chunk.GBAVJILM.js.map +7 -0
  100. package/dist/esm/chunks/chunk.GG7IQL46.js +7 -0
  101. package/dist/esm/chunks/{chunk.HBAC6E7O.js.map → chunk.GG7IQL46.js.map} +1 -1
  102. package/dist/esm/chunks/chunk.GIENHEMN.js +7 -0
  103. package/dist/esm/chunks/chunk.GIENHEMN.js.map +7 -0
  104. package/dist/esm/chunks/chunk.GRYO5XP2.js +7 -0
  105. package/dist/esm/chunks/chunk.GRYO5XP2.js.map +7 -0
  106. package/dist/esm/chunks/{chunk.FOSKVNVV.js → chunk.H4VQXV2H.js} +2 -2
  107. package/dist/esm/chunks/{chunk.FOSKVNVV.js.map → chunk.H4VQXV2H.js.map} +2 -2
  108. package/dist/esm/chunks/{chunk.GA6AO6FJ.js → chunk.H5RW3A4M.js} +2 -2
  109. package/dist/esm/chunks/chunk.HD2SLIL2.js +7 -0
  110. package/dist/esm/chunks/{chunk.V7ILFIOR.js.map → chunk.HD2SLIL2.js.map} +1 -1
  111. package/dist/esm/chunks/chunk.HG4IDRAC.js +7 -0
  112. package/dist/esm/chunks/chunk.HG4IDRAC.js.map +7 -0
  113. package/dist/esm/chunks/{chunk.CSOKFDFQ.js → chunk.HSADKCGS.js} +2 -2
  114. package/dist/esm/chunks/chunk.I7YON2TC.js +7 -0
  115. package/dist/esm/chunks/chunk.I7YON2TC.js.map +7 -0
  116. package/dist/esm/chunks/chunk.IEABOPNB.js +7 -0
  117. package/dist/esm/chunks/{chunk.22C7GQLX.js → chunk.IL4S57WO.js} +2 -2
  118. package/dist/esm/chunks/{chunk.HMJODLAS.js → chunk.IQYOLMPG.js} +2 -2
  119. package/dist/esm/chunks/{chunk.QG5EYBS3.js → chunk.J2Y5KPON.js} +2 -2
  120. package/dist/esm/chunks/{chunk.QG5EYBS3.js.map → chunk.J2Y5KPON.js.map} +2 -2
  121. package/dist/esm/chunks/{chunk.GTKYO6VB.js → chunk.JGURMVW7.js} +2 -2
  122. package/dist/esm/chunks/{chunk.YXHMD73U.js → chunk.K6GJNDTY.js} +2 -2
  123. package/dist/esm/chunks/{chunk.XYBVD3IE.js → chunk.KCCW4AMU.js} +2 -2
  124. package/dist/esm/chunks/{chunk.XYBVD3IE.js.map → chunk.KCCW4AMU.js.map} +2 -2
  125. package/dist/esm/chunks/{chunk.QUWEAFGI.js → chunk.KEOLH7G3.js} +2 -2
  126. package/dist/esm/chunks/chunk.KLU54MDQ.js +7 -0
  127. package/dist/esm/chunks/chunk.KLU54MDQ.js.map +7 -0
  128. package/dist/esm/chunks/chunk.KO6ODCZC.js +7 -0
  129. package/dist/esm/chunks/chunk.KO6ODCZC.js.map +7 -0
  130. package/dist/esm/chunks/chunk.L4QSPQDE.js +7 -0
  131. package/dist/esm/chunks/{chunk.DCCFF327.js.map → chunk.L4QSPQDE.js.map} +2 -2
  132. package/dist/esm/chunks/{chunk.BIQTNLIF.js → chunk.LNTTU2GL.js} +2 -2
  133. package/dist/esm/chunks/{chunk.7IJUN75W.js → chunk.LY2Z2Z7S.js} +2 -2
  134. package/dist/esm/chunks/{chunk.7IJUN75W.js.map → chunk.LY2Z2Z7S.js.map} +3 -3
  135. package/dist/esm/chunks/{chunk.2AM2BKEO.js → chunk.MFQRXVKO.js} +2 -2
  136. package/dist/esm/chunks/chunk.MFS7AVW6.js +7 -0
  137. package/dist/esm/chunks/chunk.MFS7AVW6.js.map +7 -0
  138. package/dist/esm/chunks/{chunk.JLSFTWPE.js → chunk.MTIPIEXA.js} +2 -2
  139. package/dist/esm/chunks/chunk.MX4JX4GT.js +7 -0
  140. package/dist/esm/chunks/{chunk.UOD3A7M4.js.map → chunk.MX4JX4GT.js.map} +1 -1
  141. package/dist/esm/chunks/chunk.NEQX2QVX.js +7 -0
  142. package/dist/esm/chunks/chunk.NEQX2QVX.js.map +7 -0
  143. package/dist/esm/chunks/chunk.NWVQ5HK2.js +7 -0
  144. package/dist/esm/chunks/{chunk.BETICEYY.js.map → chunk.NWVQ5HK2.js.map} +2 -2
  145. package/dist/esm/chunks/chunk.O5WAQQNR.js +7 -0
  146. package/dist/esm/chunks/{chunk.ZYKP23JP.js.map → chunk.O5WAQQNR.js.map} +2 -2
  147. package/dist/esm/chunks/{chunk.JSTCCUKZ.js → chunk.OEI35LFU.js} +2 -2
  148. package/dist/esm/chunks/chunk.OJ7JO4O6.js +7 -0
  149. package/dist/esm/chunks/chunk.OJ7JO4O6.js.map +7 -0
  150. package/dist/esm/chunks/{chunk.6GSVB5NB.js → chunk.OLFOVKQG.js} +2 -2
  151. package/dist/esm/chunks/chunk.OLFOVKQG.js.map +7 -0
  152. package/dist/esm/chunks/{chunk.IWVAI6XM.js → chunk.OOAJHLW4.js} +2 -2
  153. package/dist/esm/chunks/chunk.OOAJHLW4.js.map +7 -0
  154. package/dist/esm/chunks/chunk.OQHDHS2C.js +7 -0
  155. package/dist/esm/chunks/chunk.OQHDHS2C.js.map +7 -0
  156. package/dist/esm/chunks/{chunk.2537XOFQ.js → chunk.OREDK5MJ.js} +2 -2
  157. package/dist/esm/chunks/chunk.OVXEOEJF.js +7 -0
  158. package/dist/esm/chunks/chunk.OVXEOEJF.js.map +7 -0
  159. package/dist/esm/chunks/chunk.PC6TW5XE.js +7 -0
  160. package/dist/esm/chunks/chunk.PC6TW5XE.js.map +7 -0
  161. package/dist/esm/chunks/chunk.QCPV5DEG.js +7 -0
  162. package/dist/esm/chunks/{chunk.R3AWIPPK.js → chunk.QIZBZGYT.js} +2 -2
  163. package/dist/esm/chunks/{chunk.2XPAYTK4.js → chunk.QKTK5XUE.js} +2 -2
  164. package/dist/esm/chunks/chunk.QLGJS37N.js +7 -0
  165. package/dist/esm/chunks/chunk.QLGJS37N.js.map +7 -0
  166. package/dist/esm/chunks/{chunk.R66CYS27.js → chunk.QTY25OTN.js} +2 -2
  167. package/dist/esm/chunks/chunk.QUXMLWBJ.js +7 -0
  168. package/dist/esm/chunks/{chunk.BEUQVZKZ.js.map → chunk.QUXMLWBJ.js.map} +1 -1
  169. package/dist/esm/chunks/{chunk.BSV27GU7.js → chunk.QVATEY5S.js} +2 -2
  170. package/dist/esm/chunks/{chunk.FRTSXX33.js → chunk.RSYEG2RW.js} +2 -2
  171. package/dist/esm/chunks/{chunk.A6BIUNPW.js → chunk.RXBLU4OJ.js} +2 -2
  172. package/dist/esm/chunks/{chunk.FBDRM4YN.js → chunk.S7KEO2CH.js} +2 -2
  173. package/dist/esm/chunks/{chunk.XU3YSZPA.js → chunk.SQ3AZAHF.js} +2 -2
  174. package/dist/esm/chunks/{chunk.35MHQH7Z.js → chunk.SROEDYPL.js} +2 -2
  175. package/dist/esm/chunks/{chunk.SHBDQPPH.js → chunk.SZOZIJZI.js} +2 -2
  176. package/dist/esm/chunks/chunk.T7NWP7DB.js +7 -0
  177. package/dist/esm/chunks/chunk.T7NWP7DB.js.map +7 -0
  178. package/dist/esm/chunks/{chunk.PXRGQHWR.js → chunk.TQWZDM6T.js} +2 -2
  179. package/dist/esm/chunks/chunk.TSSZQPLE.js +7 -0
  180. package/dist/esm/chunks/{chunk.5UGN5FYV.js.map → chunk.TSSZQPLE.js.map} +2 -2
  181. package/dist/esm/chunks/chunk.U6J4VHU6.js +7 -0
  182. package/dist/esm/chunks/{chunk.STSAE2XP.js.map → chunk.U6J4VHU6.js.map} +1 -1
  183. package/dist/esm/chunks/{chunk.6JVMCBCR.js → chunk.UKBE2FMZ.js} +2 -2
  184. package/dist/esm/chunks/{chunk.MDDX4MJU.js → chunk.UPSXYWPD.js} +2 -2
  185. package/dist/esm/chunks/{chunk.MDDX4MJU.js.map → chunk.UPSXYWPD.js.map} +2 -2
  186. package/dist/esm/chunks/chunk.USTVZ6MZ.js +7 -0
  187. package/dist/esm/chunks/chunk.USTVZ6MZ.js.map +7 -0
  188. package/dist/esm/chunks/chunk.V6KUOCAR.js +7 -0
  189. package/dist/esm/chunks/chunk.V6KUOCAR.js.map +7 -0
  190. package/dist/esm/chunks/chunk.VGIRVTBJ.js +7 -0
  191. package/dist/esm/chunks/chunk.VGIRVTBJ.js.map +7 -0
  192. package/dist/esm/chunks/{chunk.4AEQ7KVU.js → chunk.VJZ7VDG5.js} +2 -2
  193. package/dist/esm/chunks/chunk.VL5RWSAV.js +7 -0
  194. package/dist/esm/chunks/chunk.VL5RWSAV.js.map +7 -0
  195. package/dist/esm/chunks/chunk.VRSPT7WX.js +7 -0
  196. package/dist/esm/chunks/{chunk.UQQQSJVM.js.map → chunk.VRSPT7WX.js.map} +3 -3
  197. package/dist/esm/chunks/chunk.W4HANHUO.js +7 -0
  198. package/dist/esm/chunks/{chunk.2W276VOR.js → chunk.WMJSYYXQ.js} +2 -2
  199. package/dist/esm/chunks/chunk.WXVVOFNK.js +7 -0
  200. package/dist/esm/chunks/chunk.WXVVOFNK.js.map +7 -0
  201. package/dist/esm/chunks/chunk.X77NKT6Z.js +7 -0
  202. package/dist/esm/chunks/chunk.X77NKT6Z.js.map +7 -0
  203. package/dist/esm/chunks/chunk.XZ23XHFE.js +7 -0
  204. package/dist/esm/chunks/chunk.XZ23XHFE.js.map +7 -0
  205. package/dist/esm/chunks/chunk.YNCTSMT6.js +7 -0
  206. package/dist/esm/chunks/chunk.YNCTSMT6.js.map +7 -0
  207. package/dist/esm/chunks/{chunk.YNXWVL4B.js → chunk.YPNSK2CK.js} +2 -2
  208. package/dist/esm/chunks/chunk.YRAEFQJW.js +7 -0
  209. package/dist/esm/chunks/{chunk.XAZ6EDIZ.js.map → chunk.YRAEFQJW.js.map} +3 -3
  210. package/dist/esm/chunks/chunk.YWJVZVZX.js +7 -0
  211. package/dist/esm/chunks/{chunk.6XLTVIUD.js → chunk.ZA7JY3AY.js} +2 -2
  212. package/dist/esm/chunks/chunk.ZG6YF2HI.js +7 -0
  213. package/dist/esm/chunks/{chunk.R6VPRRTT.js.map → chunk.ZG6YF2HI.js.map} +1 -1
  214. package/dist/esm/circular-progress/index.js +1 -1
  215. package/dist/esm/color-picker/index.js +1 -1
  216. package/dist/esm/core/base/index.js +1 -1
  217. package/dist/esm/core/delegates/index.js +1 -1
  218. package/dist/esm/core/index.js +1 -1
  219. package/dist/esm/core/utils/index.js +1 -1
  220. package/dist/esm/date-picker/index.js +1 -1
  221. package/dist/esm/date-range-picker/index.js +1 -1
  222. package/dist/esm/deprecated/button/index.js +1 -1
  223. package/dist/esm/deprecated/index.js +1 -1
  224. package/dist/esm/dialog/index.js +1 -1
  225. package/dist/esm/divider/index.js +1 -1
  226. package/dist/esm/drawer/base/index.js +1 -1
  227. package/dist/esm/drawer/drawer/index.js +1 -1
  228. package/dist/esm/drawer/index.js +1 -1
  229. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  230. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  231. package/dist/esm/expansion-panel/index.js +1 -1
  232. package/dist/esm/{field-next → field}/base/index.js +1 -1
  233. package/dist/esm/field/index.js +7 -0
  234. package/dist/esm/file-picker/index.js +1 -1
  235. package/dist/esm/floating-action-button/index.js +1 -1
  236. package/dist/esm/focus-indicator/index.js +1 -1
  237. package/dist/esm/icon/index.js +1 -1
  238. package/dist/esm/icon-button/index.js +1 -1
  239. package/dist/esm/index.js +1 -1
  240. package/dist/esm/inline-message/index.js +1 -1
  241. package/dist/esm/keyboard-shortcut/index.js +1 -1
  242. package/dist/esm/label/index.js +1 -1
  243. package/dist/esm/label-value/index.js +1 -1
  244. package/dist/esm/linear-progress/index.js +1 -1
  245. package/dist/esm/list/index.js +1 -1
  246. package/dist/esm/list/list/index.js +1 -1
  247. package/dist/esm/list/list-item/index.js +1 -1
  248. package/dist/esm/list-dropdown/index.js +1 -1
  249. package/dist/esm/menu/index.js +1 -1
  250. package/dist/esm/open-icon/index.js +1 -1
  251. package/dist/esm/overlay/index.js +1 -1
  252. package/dist/esm/page-state/index.js +1 -1
  253. package/dist/esm/paginator/index.js +1 -1
  254. package/dist/esm/popover/index.js +1 -1
  255. package/dist/esm/profile-card/index.js +1 -1
  256. package/dist/esm/quantity-field/index.js +1 -1
  257. package/dist/esm/radio/index.js +1 -1
  258. package/dist/esm/radio/radio/index.js +1 -1
  259. package/dist/esm/radio/radio-group/index.js +1 -1
  260. package/dist/esm/scaffold/index.js +1 -1
  261. package/dist/esm/select/core/index.js +1 -1
  262. package/dist/esm/select/index.js +1 -1
  263. package/dist/esm/select/option/index.js +1 -1
  264. package/dist/esm/select/option-group/index.js +1 -1
  265. package/dist/esm/select/select/index.js +1 -1
  266. package/dist/esm/select/select-dropdown/index.js +1 -1
  267. package/dist/esm/skeleton/index.js +1 -1
  268. package/dist/esm/slider/index.js +1 -1
  269. package/dist/esm/split-button/index.js +1 -1
  270. package/dist/esm/split-view/index.js +1 -1
  271. package/dist/esm/split-view/split-view/index.js +1 -1
  272. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  273. package/dist/esm/stack/index.js +1 -1
  274. package/dist/esm/state-layer/index.js +1 -1
  275. package/dist/esm/stepper/index.js +1 -1
  276. package/dist/esm/stepper/step/index.js +1 -1
  277. package/dist/esm/stepper/stepper/index.js +1 -1
  278. package/dist/esm/switch/index.js +1 -1
  279. package/dist/esm/table/index.js +1 -1
  280. package/dist/esm/tabs/index.js +1 -1
  281. package/dist/esm/tabs/tab/index.js +1 -1
  282. package/dist/esm/tabs/tab-bar/index.js +1 -1
  283. package/dist/esm/text-field/index.js +1 -1
  284. package/dist/esm/time-picker/index.js +1 -1
  285. package/dist/esm/toast/index.js +1 -1
  286. package/dist/esm/toolbar/index.js +1 -1
  287. package/dist/esm/tooltip/index.js +1 -1
  288. package/dist/esm/view-switcher/index.js +1 -1
  289. package/dist/esm/view-switcher/view/index.js +1 -1
  290. package/dist/forge-core.css +1 -1
  291. package/dist/forge-dark.css +1 -1
  292. package/dist/forge.css +1 -1
  293. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +6 -6
  294. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +18 -10
  295. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +3 -3
  296. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +13 -17
  297. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +4 -4
  298. package/esm/app-bar/profile-button/app-bar-profile-button.js +3 -3
  299. package/esm/autocomplete/autocomplete-adapter.d.ts +6 -2
  300. package/esm/autocomplete/autocomplete-adapter.js +27 -23
  301. package/esm/autocomplete/autocomplete-constants.d.ts +2 -2
  302. package/esm/autocomplete/autocomplete-constants.js +1 -2
  303. package/esm/autocomplete/autocomplete-foundation.js +3 -5
  304. package/esm/autocomplete/autocomplete.js +2 -2
  305. package/esm/backdrop/backdrop-constants.d.ts +10 -13
  306. package/esm/backdrop/backdrop-constants.js +12 -17
  307. package/esm/backdrop/backdrop.d.ts +17 -29
  308. package/esm/backdrop/backdrop.js +79 -50
  309. package/esm/backdrop/index.d.ts +0 -2
  310. package/esm/backdrop/index.js +0 -2
  311. package/esm/bottom-sheet/bottom-sheet-adapter.d.ts +2 -2
  312. package/esm/bottom-sheet/bottom-sheet-adapter.js +12 -5
  313. package/esm/bottom-sheet/bottom-sheet-foundation.js +1 -1
  314. package/esm/bottom-sheet/bottom-sheet.js +2 -2
  315. package/esm/busy-indicator/busy-indicator-adapter.d.ts +2 -6
  316. package/esm/busy-indicator/busy-indicator-adapter.js +8 -6
  317. package/esm/busy-indicator/busy-indicator-foundation.js +1 -1
  318. package/esm/button/base/base-button-foundation.js +2 -1
  319. package/esm/calendar/calendar-constants.d.ts +1 -1
  320. package/esm/calendar/calendar-constants.js +1 -1
  321. package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +6 -4
  322. package/esm/calendar/calendar-dropdown/calendar-dropdown.js +21 -25
  323. package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +1 -1
  324. package/esm/calendar/calendar-menu/calendar-menu-constants.js +1 -1
  325. package/esm/calendar/calendar-menu/calendar-menu.js +3 -3
  326. package/esm/calendar/calendar.js +3 -3
  327. package/esm/card/card-constants.d.ts +2 -5
  328. package/esm/card/card-constants.js +4 -10
  329. package/esm/card/card.d.ts +10 -5
  330. package/esm/card/card.js +14 -16
  331. package/esm/checkbox/checkbox-adapter.d.ts +0 -34
  332. package/esm/checkbox/checkbox-adapter.js +10 -105
  333. package/esm/checkbox/checkbox-constants.d.ts +13 -4
  334. package/esm/checkbox/checkbox-constants.js +8 -11
  335. package/esm/checkbox/checkbox-foundation.d.ts +5 -11
  336. package/esm/checkbox/checkbox-foundation.js +24 -35
  337. package/esm/checkbox/checkbox.d.ts +24 -24
  338. package/esm/checkbox/checkbox.js +65 -83
  339. package/esm/chip-field/chip-field-adapter.d.ts +48 -22
  340. package/esm/chip-field/chip-field-adapter.js +130 -30
  341. package/esm/chip-field/chip-field-component-delegate.js +1 -1
  342. package/esm/chip-field/chip-field-constants.d.ts +18 -16
  343. package/esm/chip-field/chip-field-constants.js +19 -20
  344. package/esm/chip-field/chip-field-foundation.d.ts +26 -16
  345. package/esm/chip-field/chip-field-foundation.js +128 -74
  346. package/esm/chip-field/chip-field.d.ts +9 -6
  347. package/esm/chip-field/chip-field.js +24 -11
  348. package/esm/chips/chip/chip.js +1 -1
  349. package/esm/constants.d.ts +2 -0
  350. package/esm/constants.js +2 -0
  351. package/esm/core/base/base-adapter.d.ts +1 -0
  352. package/esm/core/controllers/move-controller.d.ts +32 -0
  353. package/esm/core/controllers/move-controller.js +40 -0
  354. package/esm/core/mixins/interactions/moveable/with-moveable.d.ts +30 -0
  355. package/esm/core/mixins/interactions/moveable/with-moveable.js +131 -0
  356. package/esm/core/utils/dismissible-stack.d.ts +6 -0
  357. package/esm/core/utils/dismissible-stack.js +9 -0
  358. package/esm/core/utils/feature-detection.d.ts +5 -0
  359. package/esm/core/utils/feature-detection.js +7 -0
  360. package/esm/core/utils/index.d.ts +2 -0
  361. package/esm/core/utils/index.js +2 -0
  362. package/esm/core/utils/svg-utils.d.ts +1 -1
  363. package/esm/core/utils/svg-utils.js +2 -2
  364. package/esm/date-picker/date-picker.d.ts +0 -2
  365. package/esm/date-picker/date-picker.js +2 -4
  366. package/esm/date-range-picker/date-range-picker-adapter.js +1 -1
  367. package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
  368. package/esm/date-range-picker/date-range-picker.js +2 -2
  369. package/esm/dialog/dialog-adapter.d.ts +44 -62
  370. package/esm/dialog/dialog-adapter.js +107 -135
  371. package/esm/dialog/dialog-constants.d.ts +51 -28
  372. package/esm/dialog/dialog-constants.js +36 -33
  373. package/esm/dialog/dialog-foundation.d.ts +59 -75
  374. package/esm/dialog/dialog-foundation.js +218 -360
  375. package/esm/dialog/dialog.d.ts +127 -46
  376. package/esm/dialog/dialog.js +161 -60
  377. package/esm/drawer/modal-drawer/modal-drawer-adapter.js +1 -1
  378. package/esm/drawer/modal-drawer/modal-drawer-foundation.js +5 -6
  379. package/esm/{field-next → field}/base/base-field-foundation.js +14 -0
  380. package/esm/{field-next/field-foundation.d.ts → field/base/with-base-field.d.ts} +24 -39
  381. package/esm/field/base/with-base-field.js +210 -0
  382. package/esm/field/field-adapter.d.ts +49 -92
  383. package/esm/field/field-adapter.js +114 -154
  384. package/esm/field/field-constants.d.ts +82 -30
  385. package/esm/field/field-constants.js +51 -29
  386. package/esm/field/field-foundation.d.ts +78 -48
  387. package/esm/field/field-foundation.js +171 -273
  388. package/esm/field/field.d.ts +202 -24
  389. package/esm/field/field.js +267 -37
  390. package/esm/focus-indicator/focus-indicator-constants.d.ts +5 -0
  391. package/esm/focus-indicator/focus-indicator-constants.js +7 -2
  392. package/esm/focus-indicator/focus-indicator-foundation.d.ts +5 -0
  393. package/esm/focus-indicator/focus-indicator-foundation.js +21 -3
  394. package/esm/focus-indicator/focus-indicator.d.ts +5 -0
  395. package/esm/focus-indicator/focus-indicator.js +9 -7
  396. package/esm/icon/icon-adapter.d.ts +4 -2
  397. package/esm/icon/icon-adapter.js +13 -9
  398. package/esm/icon/icon-constants.d.ts +14 -2
  399. package/esm/icon/icon-constants.js +3 -1
  400. package/esm/icon/icon-foundation.d.ts +6 -2
  401. package/esm/icon/icon-foundation.js +50 -18
  402. package/esm/icon/icon-registry.d.ts +8 -2
  403. package/esm/icon/icon-registry.js +15 -2
  404. package/esm/icon/icon-utils.d.ts +6 -3
  405. package/esm/icon/icon-utils.js +6 -7
  406. package/esm/icon/icon.d.ts +35 -4
  407. package/esm/icon/icon.js +44 -18
  408. package/esm/icon/index.js +0 -6
  409. package/esm/icon-button/icon-button-component-delegate.d.ts +2 -2
  410. package/esm/index.d.ts +1 -4
  411. package/esm/index.js +2 -9
  412. package/esm/label-value/index.d.ts +0 -2
  413. package/esm/label-value/index.js +0 -2
  414. package/esm/label-value/label-value-constants.d.ts +7 -12
  415. package/esm/label-value/label-value-constants.js +7 -17
  416. package/esm/label-value/label-value.d.ts +44 -16
  417. package/esm/label-value/label-value.js +78 -36
  418. package/esm/list/list/list.d.ts +2 -3
  419. package/esm/list/list/list.js +4 -5
  420. package/esm/list/list-item/list-item.d.ts +1 -0
  421. package/esm/list/list-item/list-item.js +2 -1
  422. package/esm/list-dropdown/list-dropdown-adapter.d.ts +3 -1
  423. package/esm/list-dropdown/list-dropdown-adapter.js +24 -9
  424. package/esm/list-dropdown/list-dropdown-constants.d.ts +6 -5
  425. package/esm/list-dropdown/list-dropdown-foundation.d.ts +2 -2
  426. package/esm/list-dropdown/list-dropdown-foundation.js +3 -5
  427. package/esm/list-dropdown/list-dropdown-utils.d.ts +3 -3
  428. package/esm/list-dropdown/list-dropdown-utils.js +11 -19
  429. package/esm/list-dropdown/list-dropdown.d.ts +2 -2
  430. package/esm/list-dropdown/list-dropdown.js +1 -1
  431. package/esm/menu/menu-adapter.d.ts +4 -2
  432. package/esm/menu/menu-adapter.js +8 -2
  433. package/esm/menu/menu-foundation.d.ts +11 -10
  434. package/esm/menu/menu-foundation.js +9 -6
  435. package/esm/menu/menu.d.ts +8 -7
  436. package/esm/menu/menu.js +2 -2
  437. package/esm/overlay/overlay-adapter.d.ts +0 -1
  438. package/esm/overlay/overlay-adapter.js +1 -2
  439. package/esm/paginator/paginator.js +1 -1
  440. package/esm/popover/popover-adapter.d.ts +9 -0
  441. package/esm/popover/popover-adapter.js +41 -3
  442. package/esm/popover/popover-constants.d.ts +17 -0
  443. package/esm/popover/popover-constants.js +11 -6
  444. package/esm/popover/popover-foundation.d.ts +7 -1
  445. package/esm/popover/popover-foundation.js +35 -7
  446. package/esm/popover/popover.d.ts +15 -1
  447. package/esm/popover/popover.js +28 -15
  448. package/esm/radio/core/radio-group-manager.d.ts +18 -1
  449. package/esm/radio/core/radio-group-manager.js +27 -6
  450. package/esm/radio/radio/radio-adapter.js +4 -2
  451. package/esm/radio/radio/radio-component-delegate.d.ts +38 -0
  452. package/esm/radio/radio/radio-component-delegate.js +88 -1
  453. package/esm/radio/radio/radio-constants.d.ts +11 -0
  454. package/esm/radio/radio/radio-constants.js +3 -1
  455. package/esm/radio/radio/radio-foundation.js +3 -2
  456. package/esm/radio/radio/radio.d.ts +8 -3
  457. package/esm/radio/radio/radio.js +18 -19
  458. package/esm/radio/radio-group/radio-group-constants.d.ts +3 -0
  459. package/esm/radio/radio-group/radio-group-constants.js +3 -1
  460. package/esm/radio/radio-group/radio-group.js +5 -5
  461. package/esm/scaffold/scaffold-constants.d.ts +6 -0
  462. package/esm/scaffold/scaffold-constants.js +7 -1
  463. package/esm/scaffold/scaffold.d.ts +30 -2
  464. package/esm/scaffold/scaffold.js +43 -4
  465. package/esm/select/core/base-select-adapter.d.ts +5 -3
  466. package/esm/select/core/base-select-adapter.js +10 -9
  467. package/esm/select/core/base-select-constants.d.ts +11 -0
  468. package/esm/select/core/base-select-constants.js +1 -0
  469. package/esm/select/core/base-select-foundation.js +3 -3
  470. package/esm/select/core/base-select.d.ts +3 -3
  471. package/esm/select/select/select-adapter.d.ts +14 -60
  472. package/esm/select/select/select-adapter.js +52 -111
  473. package/esm/select/select/select-constants.d.ts +16 -14
  474. package/esm/select/select/select-constants.js +8 -16
  475. package/esm/select/select/select-foundation.d.ts +12 -58
  476. package/esm/select/select/select-foundation.js +45 -240
  477. package/esm/select/select/select.d.ts +17 -27
  478. package/esm/select/select/select.js +54 -62
  479. package/esm/select/select-dropdown/select-dropdown-adapter.d.ts +2 -2
  480. package/esm/select/select-dropdown/select-dropdown-adapter.js +1 -1
  481. package/esm/select/select-dropdown/select-dropdown.d.ts +0 -2
  482. package/esm/select/select-dropdown/select-dropdown.js +2 -4
  483. package/esm/slider/slider.d.ts +2 -2
  484. package/esm/slider/slider.js +2 -2
  485. package/esm/split-view/split-view/split-view.js +1 -1
  486. package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +5 -10
  487. package/esm/split-view/split-view-panel/split-view-panel-adapter.js +7 -15
  488. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +3 -3
  489. package/esm/split-view/split-view-panel/split-view-panel-constants.js +3 -3
  490. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +0 -1
  491. package/esm/split-view/split-view-panel/split-view-panel-utils.js +2 -2
  492. package/esm/split-view/split-view-panel/split-view-panel.d.ts +0 -2
  493. package/esm/split-view/split-view-panel/split-view-panel.js +6 -6
  494. package/esm/stepper/step/step-adapter.d.ts +2 -9
  495. package/esm/stepper/step/step-adapter.js +3 -18
  496. package/esm/stepper/step/step-constants.js +21 -21
  497. package/esm/stepper/step/step-foundation.js +0 -2
  498. package/esm/stepper/step/step.d.ts +53 -0
  499. package/esm/stepper/step/step.js +60 -3
  500. package/esm/stepper/stepper/stepper-constants.js +9 -9
  501. package/esm/stepper/stepper/stepper.js +1 -1
  502. package/esm/switch/switch-adapter.d.ts +0 -32
  503. package/esm/switch/switch-adapter.js +15 -107
  504. package/esm/switch/switch-component-delegate.js +1 -1
  505. package/esm/switch/switch-constants.d.ts +24 -14
  506. package/esm/switch/switch-constants.js +11 -14
  507. package/esm/switch/switch-foundation.d.ts +5 -11
  508. package/esm/switch/switch-foundation.js +25 -31
  509. package/esm/switch/switch.d.ts +19 -19
  510. package/esm/switch/switch.js +59 -81
  511. package/esm/text-field/text-field-adapter.d.ts +2 -2
  512. package/esm/text-field/text-field-adapter.js +5 -2
  513. package/esm/text-field/text-field-foundation.d.ts +2 -2
  514. package/esm/text-field/text-field-foundation.js +2 -2
  515. package/esm/text-field/text-field.d.ts +1 -1
  516. package/esm/text-field/text-field.js +2 -2
  517. package/esm/time-picker/time-picker-adapter.d.ts +6 -2
  518. package/esm/time-picker/time-picker-adapter.js +7 -3
  519. package/esm/time-picker/time-picker-foundation.js +10 -10
  520. package/esm/time-picker/time-picker.js +2 -2
  521. package/esm/toast/toast-adapter.d.ts +18 -69
  522. package/esm/toast/toast-adapter.js +24 -121
  523. package/esm/toast/toast-constants.d.ts +25 -36
  524. package/esm/toast/toast-constants.js +20 -40
  525. package/esm/toast/toast-foundation.d.ts +22 -37
  526. package/esm/toast/toast-foundation.js +92 -92
  527. package/esm/toast/toast.d.ts +83 -24
  528. package/esm/toast/toast.js +126 -29
  529. package/esm/tooltip/tooltip-adapter.d.ts +1 -0
  530. package/esm/tooltip/tooltip-foundation.js +3 -0
  531. package/esm/tooltip/tooltip.d.ts +3 -1
  532. package/esm/tooltip/tooltip.js +4 -0
  533. package/package.json +1 -6
  534. package/styles/backdrop/_animations.scss +24 -0
  535. package/styles/backdrop/_core.scss +41 -0
  536. package/styles/backdrop/_token-utils.scss +30 -0
  537. package/styles/backdrop/backdrop.scss +38 -11
  538. package/{esm/radio/radio-group/radio-group-component-delegate.js → styles/backdrop/index.scss} +1 -0
  539. package/styles/bottom-sheet/_mixins.scss +3 -8
  540. package/styles/bottom-sheet/bottom-sheet.scss +0 -4
  541. package/styles/calendar/calendar-menu/calendar-menu.scss +1 -1
  542. package/styles/calendar/calendar.scss +1 -1
  543. package/styles/card/_core.scss +35 -0
  544. package/styles/card/_token-utils.scss +30 -0
  545. package/styles/card/card.scss +37 -3
  546. package/{esm/radio/radio-group/radio-group-component-delegate.d.ts → styles/card/index.scss} +1 -0
  547. package/styles/checkbox/_core.scss +9 -20
  548. package/styles/checkbox/checkbox.scss +2 -8
  549. package/styles/chip-field/_core.scss +21 -17
  550. package/styles/chip-field/_token-utils.scss +30 -0
  551. package/styles/chip-field/chip-field.scss +68 -3
  552. package/{dist/popup/forge-popup.css → styles/chip-field/index.scss} +1 -1
  553. package/styles/chips/chip/_core.scss +1 -1
  554. package/styles/core/styles/tokens/backdrop/_tokens.scss +29 -0
  555. package/styles/core/styles/tokens/card/_tokens.scss +33 -0
  556. package/styles/core/styles/tokens/checkbox/_tokens.scss +5 -4
  557. package/styles/core/styles/tokens/chip-field/_tokens.scss +16 -0
  558. package/styles/core/styles/tokens/dialog/_tokens.scss +82 -0
  559. package/styles/core/styles/tokens/field/_tokens.scss +3 -1
  560. package/styles/core/styles/tokens/icon/_tokens.scss +20 -0
  561. package/styles/core/styles/tokens/label-value/_tokens.scss +34 -0
  562. package/styles/core/styles/tokens/list/list/_tokens.scss +2 -3
  563. package/styles/core/styles/tokens/list/list-item/_tokens.scss +7 -4
  564. package/styles/core/styles/tokens/popover/_tokens.scss +29 -7
  565. package/styles/core/styles/tokens/radio/_tokens.scss +1 -1
  566. package/styles/core/styles/tokens/scaffold/_tokens.scss +18 -0
  567. package/styles/core/styles/tokens/select/_tokens.scss +18 -0
  568. package/styles/core/styles/tokens/stepper/step/_tokens.scss +62 -0
  569. package/styles/core/styles/tokens/switch/_tokens.scss +1 -1
  570. package/styles/core/styles/tokens/toast/_tokens.scss +39 -0
  571. package/styles/dialog/_animations.scss +82 -0
  572. package/styles/dialog/_core.scss +310 -0
  573. package/styles/dialog/_token-utils.scss +30 -0
  574. package/styles/dialog/dialog.scss +356 -6
  575. package/styles/dialog/forge-dialog-utils.scss +23 -6
  576. package/styles/dialog/index.scss +7 -0
  577. package/styles/{field-next → field}/_core.layout.scss +6 -4
  578. package/styles/field/_core.scss +200 -50
  579. package/styles/{field-next → field}/_core.shape.scss +5 -0
  580. package/styles/{field-next → field}/_core.variant.scss +1 -0
  581. package/styles/{field-next → field}/field.scss +39 -12
  582. package/styles/forge-core.scss +2 -6
  583. package/styles/forge.scss +0 -4
  584. package/styles/icon/_core.scss +27 -0
  585. package/styles/icon/_token-utils.scss +30 -0
  586. package/styles/icon/icon.scss +27 -12
  587. package/styles/icon/index.scss +6 -0
  588. package/styles/label-value/_core.scss +85 -0
  589. package/styles/label-value/_token-utils.scss +30 -0
  590. package/styles/label-value/index.scss +6 -0
  591. package/styles/label-value/label-value.scss +71 -3
  592. package/styles/list/list/_core.scss +6 -2
  593. package/styles/list/list/list.scss +4 -0
  594. package/styles/list/list-item/_core.scss +3 -0
  595. package/styles/popover/_animations.scss +30 -0
  596. package/styles/popover/_core.scss +43 -6
  597. package/styles/popover/popover.scss +227 -170
  598. package/styles/scaffold/_core.scss +98 -0
  599. package/styles/scaffold/_token-utils.scss +30 -0
  600. package/styles/scaffold/index.scss +6 -0
  601. package/styles/scaffold/scaffold.scss +85 -5
  602. package/{dist/esm/chunks/chunk.WF2MFLG4.js → styles/select/index.scss} +1 -1
  603. package/styles/select/select/_core.scss +31 -15
  604. package/styles/select/select/_token-utils.scss +31 -0
  605. package/styles/select/select/select.scss +50 -8
  606. package/styles/split-view/split-view/split-view.scss +0 -1
  607. package/styles/split-view/split-view-panel/_mixins.scss +1 -0
  608. package/styles/split-view/split-view-panel/split-view-panel.scss +7 -1
  609. package/styles/stepper/step/_core.scss +391 -0
  610. package/styles/stepper/step/_token-utils.scss +31 -0
  611. package/styles/stepper/step/step.scss +261 -81
  612. package/styles/stepper/stepper/_core.scss +49 -0
  613. package/styles/stepper/stepper/stepper.scss +38 -4
  614. package/styles/switch/_core.scss +3 -2
  615. package/styles/theme/_theme-dark.scss +8 -8
  616. package/styles/toast/_animations.scss +42 -0
  617. package/styles/toast/_core.scss +73 -0
  618. package/styles/toast/_token-utils.scss +30 -0
  619. package/styles/toast/index.scss +6 -0
  620. package/styles/toast/toast.scss +173 -6
  621. package/styles/utils/_mixins-core.scss +5 -9
  622. package/dist/dialog/forge-dialog.css +0 -6
  623. package/dist/esm/chunks/chunk.24MZM3AY.js +0 -7
  624. package/dist/esm/chunks/chunk.24MZM3AY.js.map +0 -7
  625. package/dist/esm/chunks/chunk.3L77JY5H.js +0 -7
  626. package/dist/esm/chunks/chunk.3TIBP6QT.js +0 -7
  627. package/dist/esm/chunks/chunk.3U222LE4.js +0 -7
  628. package/dist/esm/chunks/chunk.45PPQY45.js +0 -177
  629. package/dist/esm/chunks/chunk.45PPQY45.js.map +0 -7
  630. package/dist/esm/chunks/chunk.4UU6PWR2.js +0 -7
  631. package/dist/esm/chunks/chunk.4UU6PWR2.js.map +0 -7
  632. package/dist/esm/chunks/chunk.5A34DJLZ.js +0 -7
  633. package/dist/esm/chunks/chunk.5A34DJLZ.js.map +0 -7
  634. package/dist/esm/chunks/chunk.5UGN5FYV.js +0 -7
  635. package/dist/esm/chunks/chunk.5UZ2DEW3.js +0 -7
  636. package/dist/esm/chunks/chunk.5UZ2DEW3.js.map +0 -7
  637. package/dist/esm/chunks/chunk.656X22EF.js +0 -7
  638. package/dist/esm/chunks/chunk.656X22EF.js.map +0 -7
  639. package/dist/esm/chunks/chunk.66YURKP2.js +0 -7
  640. package/dist/esm/chunks/chunk.66YURKP2.js.map +0 -7
  641. package/dist/esm/chunks/chunk.6GSVB5NB.js.map +0 -7
  642. package/dist/esm/chunks/chunk.AFJ7QEVI.js +0 -7
  643. package/dist/esm/chunks/chunk.AFJ7QEVI.js.map +0 -7
  644. package/dist/esm/chunks/chunk.BETICEYY.js +0 -7
  645. package/dist/esm/chunks/chunk.BEUQVZKZ.js +0 -7
  646. package/dist/esm/chunks/chunk.BMQAVBWZ.js +0 -7
  647. package/dist/esm/chunks/chunk.BMQAVBWZ.js.map +0 -7
  648. package/dist/esm/chunks/chunk.CIUPY66Y.js +0 -7
  649. package/dist/esm/chunks/chunk.CIUPY66Y.js.map +0 -7
  650. package/dist/esm/chunks/chunk.CSCZRSDT.js +0 -7
  651. package/dist/esm/chunks/chunk.CSCZRSDT.js.map +0 -7
  652. package/dist/esm/chunks/chunk.CWBDPBYO.js +0 -7
  653. package/dist/esm/chunks/chunk.CWBDPBYO.js.map +0 -7
  654. package/dist/esm/chunks/chunk.D7RH43XD.js +0 -7
  655. package/dist/esm/chunks/chunk.D7RH43XD.js.map +0 -7
  656. package/dist/esm/chunks/chunk.DCCFF327.js +0 -7
  657. package/dist/esm/chunks/chunk.EO3HELQ2.js +0 -15
  658. package/dist/esm/chunks/chunk.FB4MXEIW.js +0 -7
  659. package/dist/esm/chunks/chunk.FB4MXEIW.js.map +0 -7
  660. package/dist/esm/chunks/chunk.G2HRYIIZ.js +0 -7
  661. package/dist/esm/chunks/chunk.G2HRYIIZ.js.map +0 -7
  662. package/dist/esm/chunks/chunk.G3GTO5ZC.js +0 -7
  663. package/dist/esm/chunks/chunk.G3GTO5ZC.js.map +0 -7
  664. package/dist/esm/chunks/chunk.GL2H6QOP.js +0 -7
  665. package/dist/esm/chunks/chunk.GL2H6QOP.js.map +0 -7
  666. package/dist/esm/chunks/chunk.HBAC6E7O.js +0 -7
  667. package/dist/esm/chunks/chunk.HYTFCFP6.js +0 -7
  668. package/dist/esm/chunks/chunk.HYTFCFP6.js.map +0 -7
  669. package/dist/esm/chunks/chunk.IM36A2ZI.js +0 -7
  670. package/dist/esm/chunks/chunk.IM36A2ZI.js.map +0 -7
  671. package/dist/esm/chunks/chunk.IWVAI6XM.js.map +0 -7
  672. package/dist/esm/chunks/chunk.JCEKCW4B.js +0 -7
  673. package/dist/esm/chunks/chunk.JCEKCW4B.js.map +0 -7
  674. package/dist/esm/chunks/chunk.JVWJHSPM.js +0 -7
  675. package/dist/esm/chunks/chunk.KDUH2DUE.js +0 -7
  676. package/dist/esm/chunks/chunk.KRKKMTXR.js +0 -7
  677. package/dist/esm/chunks/chunk.KRKKMTXR.js.map +0 -7
  678. package/dist/esm/chunks/chunk.LKA5HQQY.js +0 -7
  679. package/dist/esm/chunks/chunk.LKA5HQQY.js.map +0 -7
  680. package/dist/esm/chunks/chunk.MC3UAHWS.js +0 -7
  681. package/dist/esm/chunks/chunk.MC3UAHWS.js.map +0 -7
  682. package/dist/esm/chunks/chunk.MCR34SZQ.js +0 -7
  683. package/dist/esm/chunks/chunk.MGLWXAZO.js +0 -18
  684. package/dist/esm/chunks/chunk.MPUP6QAP.js +0 -7
  685. package/dist/esm/chunks/chunk.MZRAL4MY.js +0 -7
  686. package/dist/esm/chunks/chunk.MZRAL4MY.js.map +0 -7
  687. package/dist/esm/chunks/chunk.N632SJ7X.js +0 -7
  688. package/dist/esm/chunks/chunk.N632SJ7X.js.map +0 -7
  689. package/dist/esm/chunks/chunk.NHOGZDLN.js +0 -7
  690. package/dist/esm/chunks/chunk.NHOGZDLN.js.map +0 -7
  691. package/dist/esm/chunks/chunk.NIUX6DVF.js +0 -12
  692. package/dist/esm/chunks/chunk.NIUX6DVF.js.map +0 -7
  693. package/dist/esm/chunks/chunk.OSBNFFCI.js.map +0 -7
  694. package/dist/esm/chunks/chunk.OY3TG55O.js +0 -7
  695. package/dist/esm/chunks/chunk.OY3TG55O.js.map +0 -7
  696. package/dist/esm/chunks/chunk.QCRO5NSG.js +0 -7
  697. package/dist/esm/chunks/chunk.QCRO5NSG.js.map +0 -7
  698. package/dist/esm/chunks/chunk.QKYCMDLB.js +0 -7
  699. package/dist/esm/chunks/chunk.R6VPRRTT.js +0 -7
  700. package/dist/esm/chunks/chunk.RFCIELJM.js +0 -7
  701. package/dist/esm/chunks/chunk.RFCIELJM.js.map +0 -7
  702. package/dist/esm/chunks/chunk.RJC42RNR.js +0 -7
  703. package/dist/esm/chunks/chunk.RJC42RNR.js.map +0 -7
  704. package/dist/esm/chunks/chunk.SKBOB2BD.js +0 -7
  705. package/dist/esm/chunks/chunk.SKBOB2BD.js.map +0 -7
  706. package/dist/esm/chunks/chunk.SOKORSUV.js +0 -7
  707. package/dist/esm/chunks/chunk.STSAE2XP.js +0 -7
  708. package/dist/esm/chunks/chunk.SWKKDBO6.js +0 -7
  709. package/dist/esm/chunks/chunk.SWKKDBO6.js.map +0 -7
  710. package/dist/esm/chunks/chunk.SYKZ74SL.js +0 -7
  711. package/dist/esm/chunks/chunk.SYKZ74SL.js.map +0 -7
  712. package/dist/esm/chunks/chunk.UKVC23E5.js +0 -7
  713. package/dist/esm/chunks/chunk.UKVC23E5.js.map +0 -7
  714. package/dist/esm/chunks/chunk.UOD3A7M4.js +0 -7
  715. package/dist/esm/chunks/chunk.UQQQSJVM.js +0 -7
  716. package/dist/esm/chunks/chunk.V3X77TCO.js +0 -7
  717. package/dist/esm/chunks/chunk.V3X77TCO.js.map +0 -7
  718. package/dist/esm/chunks/chunk.V7ILFIOR.js +0 -7
  719. package/dist/esm/chunks/chunk.VBJ4WUVH.js +0 -7
  720. package/dist/esm/chunks/chunk.VBJ4WUVH.js.map +0 -7
  721. package/dist/esm/chunks/chunk.VZ2XONDI.js +0 -7
  722. package/dist/esm/chunks/chunk.VZ2XONDI.js.map +0 -7
  723. package/dist/esm/chunks/chunk.WAMFFIMP.js +0 -7
  724. package/dist/esm/chunks/chunk.WAMFFIMP.js.map +0 -7
  725. package/dist/esm/chunks/chunk.WBCQTZPS.js +0 -7
  726. package/dist/esm/chunks/chunk.WBCQTZPS.js.map +0 -7
  727. package/dist/esm/chunks/chunk.WBI34ZVP.js +0 -7
  728. package/dist/esm/chunks/chunk.WF2MFLG4.js.map +0 -7
  729. package/dist/esm/chunks/chunk.WPVGFQNY.js +0 -7
  730. package/dist/esm/chunks/chunk.WPVGFQNY.js.map +0 -7
  731. package/dist/esm/chunks/chunk.XAZ6EDIZ.js +0 -7
  732. package/dist/esm/chunks/chunk.XCI7O2KJ.js +0 -7
  733. package/dist/esm/chunks/chunk.XCI7O2KJ.js.map +0 -7
  734. package/dist/esm/chunks/chunk.XNJROSDZ.js +0 -7
  735. package/dist/esm/chunks/chunk.XNJROSDZ.js.map +0 -7
  736. package/dist/esm/chunks/chunk.Z6GRWPPN.js +0 -7
  737. package/dist/esm/chunks/chunk.Z6GRWPPN.js.map +0 -7
  738. package/dist/esm/chunks/chunk.ZLNI2M3F.js +0 -7
  739. package/dist/esm/chunks/chunk.ZLNI2M3F.js.map +0 -7
  740. package/dist/esm/chunks/chunk.ZSZFWZAI.js +0 -7
  741. package/dist/esm/chunks/chunk.ZSZFWZAI.js.map +0 -7
  742. package/dist/esm/chunks/chunk.ZYKP23JP.js +0 -7
  743. package/dist/esm/field-next/index.js +0 -7
  744. package/dist/esm/floating-label/index.js +0 -7
  745. package/dist/esm/floating-label/index.js.map +0 -7
  746. package/dist/esm/popup/index.js +0 -7
  747. package/dist/esm/popup/index.js.map +0 -7
  748. package/dist/esm/ripple/index.js +0 -7
  749. package/dist/esm/ripple/index.js.map +0 -7
  750. package/dist/floating-label/forge-floating-label.css +0 -6
  751. package/dist/form-field/forge-form-field.css +0 -6
  752. package/dist/ripple/forge-ripple.css +0 -6
  753. package/dist/scaffold/forge-scaffold.css +0 -6
  754. package/esm/backdrop/backdrop-adapter.d.ts +0 -36
  755. package/esm/backdrop/backdrop-adapter.js +0 -40
  756. package/esm/backdrop/backdrop-foundation.d.ts +0 -38
  757. package/esm/backdrop/backdrop-foundation.js +0 -82
  758. package/esm/field-next/field-adapter.d.ts +0 -56
  759. package/esm/field-next/field-adapter.js +0 -132
  760. package/esm/field-next/field-constants.d.ts +0 -95
  761. package/esm/field-next/field-constants.js +0 -64
  762. package/esm/field-next/field-foundation.js +0 -221
  763. package/esm/field-next/field.d.ts +0 -205
  764. package/esm/field-next/field.js +0 -287
  765. package/esm/floating-label/floating-label-adapter.d.ts +0 -23
  766. package/esm/floating-label/floating-label-adapter.js +0 -32
  767. package/esm/floating-label/floating-label-constants.d.ts +0 -13
  768. package/esm/floating-label/floating-label-constants.js +0 -14
  769. package/esm/floating-label/floating-label-foundation.d.ts +0 -20
  770. package/esm/floating-label/floating-label-foundation.js +0 -74
  771. package/esm/floating-label/floating-label.d.ts +0 -31
  772. package/esm/floating-label/floating-label.js +0 -34
  773. package/esm/floating-label/index.d.ts +0 -9
  774. package/esm/floating-label/index.js +0 -9
  775. package/esm/label-value/label-value-adapter.d.ts +0 -24
  776. package/esm/label-value/label-value-adapter.js +0 -47
  777. package/esm/label-value/label-value-foundation.d.ts +0 -33
  778. package/esm/label-value/label-value-foundation.js +0 -80
  779. package/esm/popup/index.d.ts +0 -10
  780. package/esm/popup/index.js +0 -14
  781. package/esm/popup/popup-adapter.d.ts +0 -45
  782. package/esm/popup/popup-adapter.js +0 -152
  783. package/esm/popup/popup-constants.d.ts +0 -55
  784. package/esm/popup/popup-constants.js +0 -53
  785. package/esm/popup/popup-foundation.d.ts +0 -72
  786. package/esm/popup/popup-foundation.js +0 -258
  787. package/esm/popup/popup.d.ts +0 -59
  788. package/esm/popup/popup.js +0 -102
  789. package/esm/ripple/forge-ripple.d.ts +0 -17
  790. package/esm/ripple/forge-ripple.js +0 -22
  791. package/esm/ripple/index.d.ts +0 -11
  792. package/esm/ripple/index.js +0 -15
  793. package/esm/ripple/ripple-adapter.d.ts +0 -23
  794. package/esm/ripple/ripple-adapter.js +0 -47
  795. package/esm/ripple/ripple-constants.d.ts +0 -15
  796. package/esm/ripple/ripple-constants.js +0 -19
  797. package/esm/ripple/ripple-foundation.d.ts +0 -30
  798. package/esm/ripple/ripple-foundation.js +0 -48
  799. package/esm/ripple/ripple.d.ts +0 -36
  800. package/esm/ripple/ripple.js +0 -65
  801. package/styles/backdrop/_mixins.scss +0 -31
  802. package/styles/backdrop/_variables.scss +0 -12
  803. package/styles/card/_mixins.scss +0 -47
  804. package/styles/card/_variables.scss +0 -9
  805. package/styles/chip-field/_base.scss +0 -299
  806. package/styles/chip-field/_mixins.scss +0 -26
  807. package/styles/chip-field/_selector.scss +0 -228
  808. package/styles/chip-field/_variables.scss +0 -76
  809. package/styles/dialog/_mixins.scss +0 -199
  810. package/styles/dialog/_variables.scss +0 -22
  811. package/styles/dialog/forge-dialog.scss +0 -8
  812. package/styles/field/_base.scss +0 -636
  813. package/styles/field/_selector.scss +0 -560
  814. package/styles/field/_utils.scss +0 -48
  815. package/styles/field/_variables.scss +0 -123
  816. package/styles/field-next/_core.scss +0 -213
  817. package/styles/floating-label/_mixins.scss +0 -291
  818. package/styles/floating-label/_variables.scss +0 -15
  819. package/styles/floating-label/forge-floating-label.scss +0 -8
  820. package/styles/form-field/_mixins.scss +0 -71
  821. package/styles/form-field/forge-form-field.scss +0 -8
  822. package/styles/icon/_mixins.scss +0 -37
  823. package/styles/icon/_variables.scss +0 -10
  824. package/styles/label-value/_mixins.scss +0 -205
  825. package/styles/label-value/_variables.scss +0 -12
  826. package/styles/popup/_mixins.scss +0 -86
  827. package/styles/popup/_variables.scss +0 -7
  828. package/styles/popup/forge-popup.scss +0 -8
  829. package/styles/popup/popup.scss +0 -20
  830. package/styles/ripple/forge-ripple.scss +0 -17
  831. package/styles/scaffold/_mixins.scss +0 -194
  832. package/styles/scaffold/forge-scaffold.scss +0 -43
  833. package/styles/select/select/_base.scss +0 -84
  834. package/styles/select/select/_mixins.scss +0 -25
  835. package/styles/select/select/_selector.scss +0 -90
  836. package/styles/select/select/_variables.scss +0 -16
  837. package/styles/stepper/step/_mixins.scss +0 -416
  838. package/styles/stepper/step/_variables.scss +0 -21
  839. package/styles/stepper/stepper/_mixins.scss +0 -113
  840. package/styles/toast/_mixins.scss +0 -242
  841. package/styles/toast/_variables.scss +0 -52
  842. /package/dist/esm/chunks/{chunk.IZRURH7C.js.map → chunk.3KAKJGUS.js.map} +0 -0
  843. /package/dist/esm/chunks/{chunk.KDUH2DUE.js.map → chunk.473WRJ5G.js.map} +0 -0
  844. /package/dist/esm/chunks/{chunk.USQEIRST.js.map → chunk.5MB6CTBA.js.map} +0 -0
  845. /package/dist/esm/chunks/{chunk.YS5JZHJ6.js.map → chunk.5QIWLZG3.js.map} +0 -0
  846. /package/dist/esm/chunks/{chunk.47U6GVGZ.js.map → chunk.5UOX22ML.js.map} +0 -0
  847. /package/dist/esm/chunks/{chunk.4NABD6XG.js.map → chunk.6VS3LYAF.js.map} +0 -0
  848. /package/dist/esm/chunks/{chunk.AOSBUJWW.js.map → chunk.A7BCLPP4.js.map} +0 -0
  849. /package/dist/esm/chunks/{chunk.7UBIT4NP.js.map → chunk.AG6IRMLZ.js.map} +0 -0
  850. /package/dist/esm/chunks/{chunk.A4UH52SA.js.map → chunk.AGLI4WR4.js.map} +0 -0
  851. /package/dist/esm/chunks/{chunk.WTUXAH7Z.js.map → chunk.AOVXNX7P.js.map} +0 -0
  852. /package/dist/esm/chunks/{chunk.AN2E2SSN.js.map → chunk.ASLHRT3N.js.map} +0 -0
  853. /package/dist/esm/chunks/{chunk.CBLUXYH2.js.map → chunk.BHE6Z5Y2.js.map} +0 -0
  854. /package/dist/esm/chunks/{chunk.2WRAXA3H.js.map → chunk.BQ52JYLA.js.map} +0 -0
  855. /package/dist/esm/chunks/{chunk.ROMRJIFR.js.map → chunk.CE35CVDV.js.map} +0 -0
  856. /package/dist/esm/chunks/{chunk.ZPXMKY72.js.map → chunk.CEGBMUSR.js.map} +0 -0
  857. /package/dist/esm/chunks/{chunk.GBGGUYTE.js.map → chunk.CFAI4K3E.js.map} +0 -0
  858. /package/dist/esm/chunks/{chunk.ZIGVO6FN.js.map → chunk.CGFSMACZ.js.map} +0 -0
  859. /package/dist/esm/chunks/{chunk.UEYPCCFG.js.map → chunk.ENUKGA2U.js.map} +0 -0
  860. /package/dist/esm/chunks/{chunk.GA6AO6FJ.js.map → chunk.H5RW3A4M.js.map} +0 -0
  861. /package/dist/esm/chunks/{chunk.CSOKFDFQ.js.map → chunk.HSADKCGS.js.map} +0 -0
  862. /package/dist/esm/chunks/{chunk.WBI34ZVP.js.map → chunk.IEABOPNB.js.map} +0 -0
  863. /package/dist/esm/chunks/{chunk.22C7GQLX.js.map → chunk.IL4S57WO.js.map} +0 -0
  864. /package/dist/esm/chunks/{chunk.HMJODLAS.js.map → chunk.IQYOLMPG.js.map} +0 -0
  865. /package/dist/esm/chunks/{chunk.GTKYO6VB.js.map → chunk.JGURMVW7.js.map} +0 -0
  866. /package/dist/esm/chunks/{chunk.YXHMD73U.js.map → chunk.K6GJNDTY.js.map} +0 -0
  867. /package/dist/esm/chunks/{chunk.QUWEAFGI.js.map → chunk.KEOLH7G3.js.map} +0 -0
  868. /package/dist/esm/chunks/{chunk.BIQTNLIF.js.map → chunk.LNTTU2GL.js.map} +0 -0
  869. /package/dist/esm/chunks/{chunk.2AM2BKEO.js.map → chunk.MFQRXVKO.js.map} +0 -0
  870. /package/dist/esm/chunks/{chunk.JLSFTWPE.js.map → chunk.MTIPIEXA.js.map} +0 -0
  871. /package/dist/esm/chunks/{chunk.JSTCCUKZ.js.map → chunk.OEI35LFU.js.map} +0 -0
  872. /package/dist/esm/chunks/{chunk.2537XOFQ.js.map → chunk.OREDK5MJ.js.map} +0 -0
  873. /package/dist/esm/chunks/{chunk.QKYCMDLB.js.map → chunk.QCPV5DEG.js.map} +0 -0
  874. /package/dist/esm/chunks/{chunk.R3AWIPPK.js.map → chunk.QIZBZGYT.js.map} +0 -0
  875. /package/dist/esm/chunks/{chunk.2XPAYTK4.js.map → chunk.QKTK5XUE.js.map} +0 -0
  876. /package/dist/esm/chunks/{chunk.R66CYS27.js.map → chunk.QTY25OTN.js.map} +0 -0
  877. /package/dist/esm/chunks/{chunk.BSV27GU7.js.map → chunk.QVATEY5S.js.map} +0 -0
  878. /package/dist/esm/chunks/{chunk.FRTSXX33.js.map → chunk.RSYEG2RW.js.map} +0 -0
  879. /package/dist/esm/chunks/{chunk.A6BIUNPW.js.map → chunk.RXBLU4OJ.js.map} +0 -0
  880. /package/dist/esm/chunks/{chunk.FBDRM4YN.js.map → chunk.S7KEO2CH.js.map} +0 -0
  881. /package/dist/esm/chunks/{chunk.XU3YSZPA.js.map → chunk.SQ3AZAHF.js.map} +0 -0
  882. /package/dist/esm/chunks/{chunk.35MHQH7Z.js.map → chunk.SROEDYPL.js.map} +0 -0
  883. /package/dist/esm/chunks/{chunk.SHBDQPPH.js.map → chunk.SZOZIJZI.js.map} +0 -0
  884. /package/dist/esm/chunks/{chunk.PXRGQHWR.js.map → chunk.TQWZDM6T.js.map} +0 -0
  885. /package/dist/esm/chunks/{chunk.6JVMCBCR.js.map → chunk.UKBE2FMZ.js.map} +0 -0
  886. /package/dist/esm/chunks/{chunk.4AEQ7KVU.js.map → chunk.VJZ7VDG5.js.map} +0 -0
  887. /package/dist/esm/chunks/{chunk.3L77JY5H.js.map → chunk.W4HANHUO.js.map} +0 -0
  888. /package/dist/esm/chunks/{chunk.2W276VOR.js.map → chunk.WMJSYYXQ.js.map} +0 -0
  889. /package/dist/esm/chunks/{chunk.YNXWVL4B.js.map → chunk.YPNSK2CK.js.map} +0 -0
  890. /package/dist/esm/chunks/{chunk.MPUP6QAP.js.map → chunk.YWJVZVZX.js.map} +0 -0
  891. /package/dist/esm/chunks/{chunk.6XLTVIUD.js.map → chunk.ZA7JY3AY.js.map} +0 -0
  892. /package/dist/esm/{field-next → field}/base/index.js.map +0 -0
  893. /package/dist/esm/{field-next → field}/index.js.map +0 -0
  894. /package/esm/{field-next → field}/base/base-field-adapter.d.ts +0 -0
  895. /package/esm/{field-next → field}/base/base-field-adapter.js +0 -0
  896. /package/esm/{field-next → field}/base/base-field-constants.d.ts +0 -0
  897. /package/esm/{field-next → field}/base/base-field-constants.js +0 -0
  898. /package/esm/{field-next → field}/base/base-field-foundation.d.ts +0 -0
  899. /package/esm/{field-next → field}/base/base-field.d.ts +0 -0
  900. /package/esm/{field-next → field}/base/base-field.js +0 -0
  901. /package/esm/{field-next → field}/base/index.d.ts +0 -0
  902. /package/esm/{field-next → field}/base/index.js +0 -0
  903. /package/esm/{field-next → field}/index.d.ts +0 -0
  904. /package/esm/{field-next → field}/index.js +0 -0
  905. /package/styles/{field-next → field}/_core.slotted.scss +0 -0
  906. /package/styles/{field-next → field}/_core.state.scss +0 -0
  907. /package/styles/{field-next → field}/_token-utils.scss +0 -0
  908. /package/styles/{field-next → field}/index.scss +0 -0
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{b as Z}from"./chunk.LIKJD4SK.js";import{n as B}from"./chunk.RLQB7224.js";import{d as U,l as Y}from"./chunk.T7NWP7DB.js";import{d as X}from"./chunk.FLF5RTYO.js";import{p as W}from"./chunk.ASLHRT3N.js";import{b as O}from"./chunk.BX4AQRHB.js";import{c as q,e as C,f as h}from"./chunk.SB2LOK2R.js";import{a as d}from"./chunk.NVUMRW44.js";import{a as K}from"./chunk.OLFOVKQG.js";import{a as H,b as g}from"./chunk.VRSPT7WX.js";import{a as N,e as D,f,k as M}from"./chunk.LNTTU2GL.js";import{g as A,r as z}from"./chunk.L4QSPQDE.js";import{b as p,k as S,l as R}from"./chunk.J2M2MXP2.js";import{a as _,b as c,d as l}from"./chunk.M3QDAYD2.js";var b=`${g}split-view-panel`,se={RESIZABLE:"resizable",SIZE:"size",MIN:"min",MAX:"max",OPEN:"open",ACCESSIBLE_LABEL:"accessible-label",DISABLED:"disabled",ALLOW_CLOSE:"allow-close",AUTO_CLOSE:"auto-close",AUTO_CLOSE_THRESHOLD:"auto-close-threshold",ORIENTATION:"orientation"},le={ROOT:"forge-split-view-panel",GRABBED:"forge-split-view-panel--grabbed",HANDLE:"forge-split-view-panel__handle",ICON:"forge-split-view-panel__icon",CONTENT:"forge-split-view-panel__content",CLOSED:"forge-split-view-panel--closed",CLOSING:"forge-split-view-panel--closing",OPENING:"forge-split-view-panel--opening",DISABLED:"forge-split-view-panel--disabled",OVERLAY:"forge-split-view-panel-overlay"},v={ROOT:"root",HANDLE:"handle",ICON:"icon",STATE_LAYER:"state-layer",CONTENT:"content"},pe={ROOT:`#${v.ROOT}`,HANDLE:`#${v.HANDLE}`,ICON:`#${v.ICON}`,STATE_LAYER:`#${v.STATE_LAYER}`,CONTENT:`#${v.CONTENT}`},de={WILL_RESIZE:`${b}-will-resize`,RESIZE_START:`${b}-resize-start`,RESIZE_END:`${b}-resize-end`,RESIZE:`${b}-resize`,DID_OPEN:`${b}-did-open`,DID_CLOSE:`${b}-did-close`,WILL_OPEN:`${b}-will-open`,WILL_CLOSE:`${b}-will-close`},ue={STATE_LAYER_ACTIVATION_WAIT:200},be={SIZE:"--forge-split-view-panel-size",CURSOR:"--forge-split-view-panel-cursor"},i={elementName:b,attributes:se,classes:le,ids:v,selectors:pe,events:de,numbers:ue,customCssProperties:be},he=(r=>(r[r.Under=1]="Under",r[r.Active=2]="Active",r[r.Above=3]="Above",r))(he||{});function $(){return{orientation:"horizontal",resizable:"off",arrowKeyHeld:!1,keyboardDelta:0,isAtMin:!1,isAtMax:!1,min:0}}function F(n,t){let e=n.getContentSize(t.orientation);return c(_({},t),{currentSize:e,startSize:e,availableSpace:n.getAvailableSpace(t.orientation,t.resizable),siblingSize:n.getSiblingContentSize(),isAtMin:!1,isAtMax:!1})}function G(n){return c(_({},n),{arrowKeyHeld:!1,keyboardDelta:0,isAtMin:!1,isAtMax:!1})}function j(n,t,e){if(e.startPoint===void 0||e.startSize===void 0)return!1;let r=e.currentSize,o=e.orientation==="horizontal"?t.clientX:t.clientY,a=e.startPoint-o;e.resizable==="start"&&(a*=-1);let u=e.startSize-a;e.currentSize=E(u,e),n.setContentSize(e.currentSize),y(n,e,"pointer"),n.setValuenow(P(e.currentSize,e));let w=u-e.currentSize+a;return te(n,w,e),r!==e.currentSize}function J(n,t,e){if(e.startSize===void 0)return!1;let r=e.currentSize;e.keyboardDelta+=t;let o=e.startSize+e.keyboardDelta;e.currentSize=E(o,e),n.setContentSize(e.currentSize),y(n,e,"keyboard"),n.setValuenow(P(e.currentSize,e));let a=o-e.currentSize+e.keyboardDelta*-1;return te(n,a,e),r!==e.currentSize}function Q(n,t){return n.setContentSize(t.min),t.min}function ee(n,t){let e=n.getAvailableSpace(t.orientation,t.resizable),r=h(t.max,e);return n.setContentSize(r),r}function te(n,t,e){if(e.siblingSize!==void 0){let r=e.siblingSize+t;n.setSiblingContentSize(r)}}function E(n,t){return n=Math.max(n,t.min),n=h(n,t.max,t.availableSpace),n}function y(n,t,e){if(t.currentSize===void 0)return!1;if(t.currentSize<=t.min)return t.isAtMin||(n.animateStateLayer(e==="pointer"),e==="pointer"&&n.setBodyCursor(t.orientation,{resizable:t.resizable,boundary:"min"}),t.isAtMin=!0),!0;t.isAtMin&&(t.isAtMin=!1);let r=h(t.max,t.availableSpace);return t.currentSize>=r?(t.isAtMax||(n.animateStateLayer(e==="pointer"),e==="pointer"&&n.setBodyCursor(t.orientation,{resizable:t.resizable,boundary:"max"}),t.isAtMax=!0),!0):(t.isAtMax&&(t.isAtMax=!1),e==="pointer"&&n.setBodyCursor(t.orientation),!1)}function ie(n,t,e){if(t<=e.min)return n.setHandleCursor(e.orientation,{resizable:e.resizable,boundary:"min"}),!0;let r=h(e.max,e.availableSpace);return t>=r?(n.setHandleCursor(e.orientation,{resizable:e.resizable,boundary:"max"}),!0):(n.setHandleCursor(e.orientation),!1)}function P(n,t){if(!t.availableSpace&&!t.max)return 100;let e=h(t.max,t.availableSpace);return C(n,t.min,e)}function k(n,t){if(n==="horizontal")switch(t==null?void 0:t.boundary){case"min":return t.resizable==="end"?"e-resize":"w-resize";case"max":return t.resizable==="end"?"w-resize":"e-resize";default:return"col-resize"}else switch(t==null?void 0:t.boundary){case"min":return t.resizable==="end"?"s-resize":"n-resize";case"max":return t.resizable==="end"?"n-resize":"s-resize";default:return"row-resize"}}function ne(n){return n==="horizontal"?"drag_vertical_variant":"drag_handle"}function I(n){let t=n.resizable;if(t==="off")return;let e=n;do e=t==="end"?e.nextElementSibling:e.previousElementSibling;while(e instanceof s&&!e.open);if(e instanceof s)return e}function me(n){var a,u;if(!isNaN(+n))return{amount:+n,unit:"px"};let t=/(^\d*\.?\d*)\s*(px|%$)?/i,e=n.match(t),r=e!=null&&e[1]?+e[1]:-1,o=(u=(a=e==null?void 0:e[2])==null?void 0:a.toLowerCase())!=null?u:"";return{amount:r,unit:o}}function m(n,t){let e=me(n);return e.unit==="%"?q(e.amount,t):e.amount}function re(){let n=document.createElement("div");return n.classList.add(i.classes.OVERLAY),n.style.position="fixed",n.style.top="0",n.style.left="0",n.style.width="100vw",n.style.height="100vh",n.style.zIndex="9999",n}var L=class{constructor(t){this._adapter=t;this._size=200;this._min=0;this._accessibleLabel="Split view panel";this._open=!0;this._state=$();this._isInitialized=!1;this._parentProperties={};this._pointerdownListener=e=>this._onPointerdown(e),this._pointerupListener=e=>this._onPointerup(e),this._pointermoveListener=e=>this._onPointermove(e),this._keydownListener=e=>this._onKeydown(e),this._keyupListener=e=>this._onKeyup(e)}get _orientation(){return this._state.orientation}set _orientation(t){this._state.orientation=t}get _resizable(){return this._state.resizable}set _resizable(t){this._state.resizable=t}get _pixelMin(){return this._state.min}set _pixelMin(t){this._state.min=t}get _pixelMax(){return this._state.max}set _pixelMax(t){this._state.max=t}get _appliedDisabled(){var t,e;return(e=(t=this._disabled)!=null?t:this._parentProperties.disabled)!=null?e:!1}get _appliedAllowClose(){var t,e;return(e=(t=this._allowClose)!=null?t:this._parentProperties.allowClose)!=null?e:!1}get _appliedAutoClose(){var t,e;return(e=(t=this._autoClose)!=null?t:this._parentProperties.autoClose)!=null?e:!1}get _appliedAutoCloseThreshold(){var t,e;return(e=(t=this._autoCloseThreshold)!=null?t:this._parentProperties.autoCloseThreshold)!=null?e:0}initialize(){this._adapter.initialize(),this._adapter.setPointerdownListener(this._pointerdownListener),this._adapter.setKeydownListener(this._keydownListener),this._getParentProperties(),this._applyResizable(),this._applyMin(),this._applyMax(),this._applySize(),this._applyAccessibleLabel(),this._applyOpen(),this._applyDisabled(),this._applyAllowClose(),this._applyAutoClose(),this._applyAutoCloseThreshold(),this._isInitialized=!0}disconnect(){this._adapter.tryRemoveOverlay(),this._adapter.removePointerupListener(this._pointerupListener),this._adapter.removePointermoveListener(this._pointermoveListener)}_onPointerdown(t){this._appliedDisabled||!this._allowResize("pointer")||(t.preventDefault(),this._adapter.setPointermoveListener(this._pointermoveListener),this._adapter.setPointerupListener(this._pointerupListener),this._handlePointerdown(t))}_onPointerup(t){t.preventDefault(),this._adapter.removePointermoveListener(this._pointermoveListener),this._adapter.removePointerupListener(this._pointerupListener),this._handlePointerup()}_onPointermove(t){if(!this._appliedDisabled){if(t.preventDefault(),t.buttons===0){this._adapter.removePointermoveListener(this._pointermoveListener),this._adapter.removePointerupListener(this._pointerupListener),this._handlePointerup();return}this._handlePointermove(t)}}_onKeydown(t){this._appliedDisabled||(t.key==="Enter"?this._handleEnterKey(t):t.key==="Home"&&this._allowResize("keyboard")?this._handleHomeKey(t):t.key==="End"&&this._allowResize("keyboard")?this._handleEndKey(t):O(t)&&this._allowResize("keyboard")&&(this._adapter.setKeyupListener(this._keyupListener),this._handleArrowKey(t)))}_onKeyup(t){O(t)&&(this._adapter.removeKeyupListener(this._keyupListener),this._handleArrowKeyUp())}_handleEnterKey(t){this._appliedAllowClose&&(t.preventDefault(),this._tryOpenOrClose(!this._open,!1,!0))}_handleHomeKey(t){t.preventDefault();let e=Q(this._adapter,this._state);this._adapter.emitHostEvent(i.events.RESIZE,e),this._tryAutoClose()}_handleEndKey(t){t.preventDefault();let e=ee(this._adapter,this._state);this._adapter.emitHostEvent(i.events.RESIZE,e)}_handleArrowKey(t){let e=0;if(this._orientation==="horizontal")switch(t.key){case"ArrowLeft":e=-1;break;case"ArrowRight":e=1;break;default:return}else switch(t.key){case"ArrowUp":e=-1;break;case"ArrowDown":e=1;break;default:return}t.preventDefault(),this._resizable==="start"&&(e*=-1),t.shiftKey&&(e*=10),this._tryHandleArrowKeyDown(),this._handleArrowKeyHeld(e)}_tryHandleArrowKeyDown(){this._state.arrowKeyHeld||this._startResize(),this._state.arrowKeyHeld=!0}_handleArrowKeyUp(){this._endResize()}_handleArrowKeyHeld(t){J(this._adapter,t,this._state)&&this._adapter.emitHostEvent(i.events.RESIZE,this._state.currentSize)}_handlePointerdown(t){this._adapter.setGrabbed(!0),this._adapter.focusHandle(),this._startResize(),this._state.startPoint=this._orientation==="horizontal"?t.clientX:t.clientY,y(this._adapter,this._state,"pointer")}_handlePointerup(){this._adapter.setGrabbed(!1),this._endResize()}_handlePointermove(t){j(this._adapter,t,this._state)&&this._adapter.emitHostEvent(i.events.RESIZE,this._state.currentSize)}_allowResize(t){return this._adapter.emitHostEvent(i.events.WILL_RESIZE,{inputDeviceType:t},!0,!0)}_startResize(){this._state=F(this._adapter,this._state),this._adapter.emitHostEvent(i.events.RESIZE_START,this._state.startSize)}_endResize(){this._adapter.emitHostEvent(i.events.RESIZE_END,this._state.currentSize),this._adapter.updateParent({accessibility:this._state.startSize!==this._state.currentSize,cursor:!0}),this._state=G(this._state),this._tryAutoClose()}_tryOpenOrClose(t=!0,e=!1,r=!1){let o=t?i.events.WILL_OPEN:i.events.WILL_CLOSE,a={auto:e,userInitiated:r};this._adapter.emitHostEvent(o,a,!0,!0)&&(this._open=t,this._applyOpen(a))}_tryAutoClose(){let t=this._adapter.getContentSize(this._orientation);this._appliedAutoClose&&t<=this._appliedAutoCloseThreshold&&this._tryOpenOrClose(!1,!0,!1)}_getParentProperties(){let t=this._adapter.getParentProperty("disabled");this._parentProperties.disabled=t,this._applyParentDisabled();let e=this._adapter.getParentProperty("allowClose");this._parentProperties.allowClose=e;let r=this._adapter.getParentProperty("autoClose");this._parentProperties.autoClose=r,this._applyParentAutoClose();let o=this._adapter.getParentProperty("autoCloseThreshold");this._parentProperties.autoCloseThreshold=o,this._applyParentAutoCloseThreshold()}_applyOrientation(){this._adapter.setOrientation(this._orientation)}get resizable(){return this._resizable}set resizable(t){this._resizable!==t&&(this._resizable=t,this._applyResizable())}_applyResizable(){this._adapter.setHostAttribute(i.attributes.RESIZABLE,this._resizable),this._adapter.setResizable(this._resizable)}get size(){return this._size}set size(t){this._size.toString()!==t.toString()&&(this._size=t,this._applySize())}_applySize(){let t=this._adapter.getParentSize(this._orientation),e=m(this._size,t);this._adapter.setHostAttribute(i.attributes.SIZE,this._size.toString()),this._adapter.setContentSize(e),window.requestAnimationFrame(()=>{let r=this._adapter.getAvailableSpace(this._orientation,this._resizable),o=h(this._pixelMax,r),a=C(e,this._pixelMin,o);this._adapter.setValuenow(a),this._adapter.updateParent({cursor:!0})})}get min(){return this._min}set min(t){this._min.toString()!==t.toString()&&(this._min=t,this._applyMin())}_applyMin(){this._adapter.setHostAttribute(i.attributes.MIN,this._min.toString());let t=this._adapter.getParentSize(this._orientation);if(this._pixelMin=m(this._min,t),this._resizable==="off")return;let e=this._adapter.getContentSize(this._orientation);e<this._pixelMin&&this.setContentSize(e)}get max(){return this._max}set max(t){var e;((e=this._max)==null?void 0:e.toString())!==(t==null?void 0:t.toString())&&(this._max=t,this._applyMax())}_applyMax(){var r;if(this._adapter.toggleHostAttribute(i.attributes.MAX,this._max!==void 0,(r=this._max)==null?void 0:r.toString()),this._max===void 0){this._pixelMax=void 0;return}let t=this._adapter.getParentSize(this._orientation);if(this._pixelMax=m(this._max,t),this._resizable==="off")return;let e=this._adapter.getContentSize(this._orientation);e>this._pixelMax&&this.setContentSize(e)}get accessibleLabel(){return this._accessibleLabel}set accessibleLabel(t){this._accessibleLabel!==t&&(this._accessibleLabel=t,this._applyAccessibleLabel())}_applyAccessibleLabel(){this._adapter.setHostAttribute(i.attributes.ACCESSIBLE_LABEL,this._accessibleLabel),this._adapter.setAccessibleLabel(this._accessibleLabel)}get open(){return this._open}set open(t){if(this._open!==t){if(this._isInitialized){this._tryOpenOrClose(t,!1,!1);return}this._open=t;let e=this._isInitialized?{auto:!1,userInitiated:!1}:void 0;this._applyOpen(e)}}_applyOpen(t){this._adapter.setHostAttribute(i.attributes.OPEN,this._open.toString()),this._adapter.setOpen(this._open,this._isInitialized,t)}get disabled(){return this._disabled}set disabled(t){this._disabled!==t&&(this._disabled=t,this._applyDisabled())}_applyDisabled(){var t;this._adapter.toggleHostAttribute(i.attributes.DISABLED,(t=this._disabled)!=null?t:!1),this._adapter.setDisabled(this._appliedDisabled)}_applyParentDisabled(){this._isInitialized&&!p(this._disabled)&&this._adapter.setDisabled(this._appliedDisabled)}get allowClose(){return this._allowClose}set allowClose(t){this._allowClose!==t&&(this._allowClose=t,this._applyAllowClose())}_applyAllowClose(){var t;this._adapter.toggleHostAttribute(i.attributes.ALLOW_CLOSE,(t=this._allowClose)!=null?t:!1)}get autoClose(){return this._autoClose}set autoClose(t){this._autoClose!==t&&(this._autoClose=t,this._applyAutoClose())}_applyAutoClose(){var t;this._adapter.toggleHostAttribute(i.attributes.AUTO_CLOSE,(t=this._autoClose)!=null?t:!1),this._isInitialized&&this._tryAutoClose()}_applyParentAutoClose(){this._isInitialized&&!p(this._autoClose)&&this._tryAutoClose()}get autoCloseThreshold(){return this._autoCloseThreshold}set autoCloseThreshold(t){this._autoCloseThreshold!==t&&(this._autoCloseThreshold=t,this._applyAutoCloseThreshold())}_applyAutoCloseThreshold(){var t;this._adapter.toggleHostAttribute(i.attributes.AUTO_CLOSE_THRESHOLD,p(this._autoCloseThreshold),(t=this.autoCloseThreshold)==null?void 0:t.toString()),this._isInitialized&&this._tryAutoClose()}_applyParentAutoCloseThreshold(){this._isInitialized&&!p(this._autoCloseThreshold)&&this._tryAutoClose()}getContentSize(){return this._adapter.getContentSize(this._orientation)}getCollapsibleSize(){let t=this._adapter.getParentSize(this._orientation),e=m(this._min,t);return this._adapter.getContentSize(this._orientation)-e}setContentSize(t){if(this._resizable==="off")return;let e=E(t,this._state);this._adapter.setContentSize(e),this._isInitialized&&this._adapter.emitHostEvent(i.events.RESIZE,e)}update(t){if(t.orientation&&(this._orientation=t.orientation,this._applyOrientation()),t.properties&&(p(t.properties.disabled)&&this._parentProperties.disabled!==t.properties.disabled&&(this._parentProperties.disabled=t.properties.disabled,this._applyDisabled()),p(t.properties.allowClose)&&(this._parentProperties.allowClose=t.properties.allowClose),p(t.properties.autoClose)&&this._parentProperties.autoClose!==t.properties.autoClose&&(this._parentProperties.autoClose=t.properties.autoClose,p(this._autoClose)||this._applyAutoClose()),p(t.properties.autoCloseThreshold)&&this._parentProperties.autoCloseThreshold!==t.properties.autoCloseThreshold&&(this._parentProperties.autoCloseThreshold=t.properties.autoCloseThreshold,p(this._autoCloseThreshold)||this._applyAutoCloseThreshold())),t.size&&this.open){let o=this._adapter.getParentSize(this._orientation);this._pixelMin=m(this._min,o),this._pixelMax=p(this._max)?m(this._max,o):void 0,this.setContentSize(this._adapter.getContentSize(this._orientation))}if(this._resizable==="off")return;let e=this._adapter.getContentSize(this._orientation),r=this._adapter.getAvailableSpace(this._orientation,this._resizable);if(t.accessibility&&this.open){let o=P(e,c(_({},this._state),{availableSpace:r}));this._adapter.setValuenow(o)}t.cursor&&ie(this._adapter,e,c(_({},this._state),{availableSpace:r}))}};var _e=`${g}split-view`,ce={ORIENTATION:"orientation",DISABLED:"disabled",ALLOW_CLOSE:"allow-close",AUTO_CLOSE:"auto-close",AUTO_CLOSE_THRESHOLD:"auto-close-threshold"},fe={ROOT:"forge-split-view"},oe={ROOT:"root"},ve={ROOT:`#${oe.ROOT}`,PANEL:i.elementName},Se={RESIZE_THROTTLE_THRESHOLD:200},we={ANIMATING_LAYER:"--forge-split-view-animating-layer"},ae={elementName:_e,attributes:ce,classes:fe,ids:oe,selectors:ve,numbers:Se,customCssProperties:we};var x=class extends K{constructor(e){super(e);this._root=f(e,i.selectors.ROOT),this._handle=f(e,i.selectors.HANDLE),this._icon=f(e,i.selectors.ICON),this._stateLayer=f(e,i.selectors.STATE_LAYER),this._content=f(e,i.selectors.CONTENT)}initialize(){let e=this._component.parentElement;(e==null?void 0:e.tagName.toLowerCase())===ae.elementName&&(this._parent=e)}tryRemoveOverlay(){var e;(e=this._overlay)==null||e.remove(),this._overlay=void 0}setPointerdownListener(e){this._handle.addEventListener("pointerdown",e)}setPointerupListener(e){document.addEventListener("pointerup",e)}removePointerupListener(e){document.removeEventListener("pointerup",e)}setPointermoveListener(e){document.addEventListener("pointermove",e)}removePointermoveListener(e){document.removeEventListener("pointermove",e)}setKeydownListener(e){this._handle.addEventListener("keydown",e)}setKeyupListener(e){this._handle.addEventListener("keyup",e)}removeKeyupListener(e){this._handle.removeEventListener("keyup",e)}getParentProperty(e){var r;return(r=this._parent)==null?void 0:r[e]}setAccessibleLabel(e){this._handle.setAttribute("aria-label",e)}setDisabled(e){this._root.classList.toggle(i.classes.DISABLED,e),this._handle&&(this._handle.setAttribute("tabindex",e?"-1":"0"),z(this._handle,e,"aria-disabled","true"))}setResizable(e){this._root.setAttribute(i.attributes.RESIZABLE,e.toString()),z(this._handle,e!=="off","aria-valuemin","0"),z(this._handle,e!=="off","aria-valuemax","100"),e!=="off"&&(this._handle.remove(),e==="end"?this._root.append(this._handle):this._root.prepend(this._handle))}setOrientation(e){this._root.setAttribute(i.attributes.ORIENTATION,e),this._handle.setAttribute("aria-orientation",e==="horizontal"?"vertical":"horizontal"),this._icon.setAttribute("name",ne(e))}setOpen(e,r=!0,o){var u,w;let a=()=>{var T,V;e||this._root.classList.add(i.classes.CLOSED),o&&this.emitHostEvent(e?i.events.DID_OPEN:i.events.DID_CLOSE,o),(T=this._parent)==null||T.unlayerSlottedPanels(),(V=this._parent)==null||V.update({accessibility:!0,cursor:!0})};if(e&&this._root.classList.contains(i.classes.CLOSED)){if(this._root.classList.remove(i.classes.CLOSED),!r){a();return}(u=this._parent)==null||u.layerSlottedPanels(this._component),A(this._root,i.classes.OPENING,!0).then(()=>{a()})}else if(!e&&!this._root.classList.contains(i.classes.CLOSED)){if(!r){a();return}(w=this._parent)==null||w.layerSlottedPanels(this._component),A(this._root,i.classes.CLOSING,!0).then(()=>{a()})}}setGrabbed(e){var r;this._root.classList.toggle(i.classes.GRABBED,e),this._handle.setAttribute("aria-grabbed",e.toString()),e?(this._overlay||(this._overlay=re()),document.body.append(this._overlay)):(r=this._overlay)==null||r.remove()}setHandleCursor(e,r){e?this._root.style.setProperty(i.customCssProperties.CURSOR,k(e,r)):this._root.style.removeProperty(i.customCssProperties.CURSOR)}setBodyCursor(e,r){var o;(o=this._overlay)==null||o.style.setProperty("cursor",k(e,r))}getContentSize(e){return e==="horizontal"?this._content.clientWidth:this._content.clientHeight}setContentSize(e){this._component.style.setProperty(i.customCssProperties.SIZE,`${e}px`)}setValuenow(e){this._handle.setAttribute("aria-valuenow",e.toFixed(2))}focusHandle(){this._handle.focus()}getAvailableSpace(e,r){if(r==="off")return-1;let o=I(this._component);return o?o.getCollapsibleSize()+this.getContentSize(e):this.getParentSize(e)}getSiblingContentSize(){var r;let e=I(this._component);return(r=e==null?void 0:e.getContentSize())!=null?r:0}setSiblingContentSize(e){let r=I(this._component);r==null||r.setContentSize(e)}animateStateLayer(e){e?window.setTimeout(()=>{this._stateLayer.playAnimation()},i.numbers.STATE_LAYER_ACTIVATION_WAIT):this._stateLayer.playAnimation()}getParentSize(e){var o,a;let r=e==="horizontal"?(o=this._parent)==null?void 0:o.clientWidth:(a=this._parent)==null?void 0:a.clientHeight;return r!=null?r:0}updateParent(e){var r;(r=this._parent)==null||r.update(e)}};var ze='<template><div class="forge-split-view-panel" id="root" part="root"><div class="forge-split-view-panel__handle" id="handle" part="handle" role="separator" aria-controls="content" aria-grabbed="false" tabindex="0"><forge-icon class="forge-split-view-panel__icon" id="icon" part="icon"></forge-icon><forge-state-layer target="handle" id="state-layer" exportparts="surface:state-layer"></forge-state-layer><forge-focus-indicator inward target="handle" part="focus-indicator"></forge-focus-indicator></div><div class="forge-split-view-panel__content" id="content" part="content" role="group"><slot></slot></div></div></template>',ge=".forge-split-view-panel{display:-webkit-box;display:flex;width:100%;height:100%;overflow:hidden;contain:paint size}.forge-split-view-panel__handle{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54));background-color:#e0e0e0;background-color:var(--forge-theme-border-color,#e0e0e0);position:relative;display:-webkit-box;display:flex;flex-shrink:0;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;outline:0}.forge-split-view-panel__content{-webkit-box-flex:1;flex:1;overflow:hidden}.forge-split-view-panel--closed{display:none}.forge-split-view-panel--disabled #handle{pointer-events:none}.forge-split-view-panel--disabled .forge-split-view-panel__icon{display:none}.forge-split-view-panel[orientation=horizontal]{min-width:8px;min-width:var(--forge-split-view-handle-width,8px);width:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-split-view-panel[orientation=horizontal] .forge-split-view-panel__handle{width:8px;width:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:usq5xpd;animation-name:usq5xpd;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes usq5xpd{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes usq5xpd{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:usq5xq6;animation-name:usq5xq6;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes usq5xq6{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes usq5xq6{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:usq5xqn;animation-name:usq5xqn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes usq5xqn{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes usq5xqn{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:usq5xra;animation-name:usq5xra;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes usq5xra{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes usq5xra{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=vertical]{min-height:8px;min-height:var(--forge-split-view-handle-width,8px);height:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-split-view-panel[orientation=vertical] .forge-split-view-panel__handle{height:8px;height:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:usq5xrk;animation-name:usq5xrk;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes usq5xrk{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes usq5xrk{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:usq5xs7;animation-name:usq5xs7;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes usq5xs7{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes usq5xs7{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:usq5xsx;animation-name:usq5xsx;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes usq5xsx{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes usq5xsx{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:usq5xt0;animation-name:usq5xt0;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes usq5xt0{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes usq5xt0{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}:host{z-index:var(--forge-split-view-animating-layer)!important;display:block;position:relative;height:100%;width:100%;-webkit-box-flex:0;flex:0}:host([hidden]){display:none}:host(:not([resizable=start],[resizable=end])){-webkit-box-flex:1;flex:1}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel{width:100%;height:100%;min-width:0;min-height:0}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel__handle{display:none}forge-focus-indicator{--forge-focus-indicator-active-width:2px}",s=class extends M{constructor(){super();U.define([Z,B]),D(this,ze,ge),this._foundation=new L(new x(this))}static get observedAttributes(){return[i.attributes.RESIZABLE,i.attributes.SIZE,i.attributes.MIN,i.attributes.MAX,i.attributes.ACCESSIBLE_LABEL,i.attributes.OPEN,i.attributes.DISABLED,i.attributes.ALLOW_CLOSE,i.attributes.AUTO_CLOSE,i.attributes.AUTO_CLOSE_THRESHOLD]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,r,o){switch(e){case i.attributes.RESIZABLE:this.resizable=o;break;case i.attributes.SIZE:this.size=o;break;case i.attributes.MIN:this.min=o;break;case i.attributes.MAX:o?this.max=o:this.max=void 0;break;case i.attributes.ACCESSIBLE_LABEL:this.accessibleLabel=o;break;case i.attributes.OPEN:this.open=S(o);break;case i.attributes.DISABLED:this.hasAttribute(e)?this.disabled=S(o):this.disabled=void 0;break;case i.attributes.ALLOW_CLOSE:this.hasAttribute(e)?this.allowClose=S(o):this.allowClose=void 0;break;case i.attributes.AUTO_CLOSE:this.hasAttribute(e)?this.autoClose=S(o):this.autoClose=void 0;break;case i.attributes.AUTO_CLOSE_THRESHOLD:o?this.autoCloseThreshold=R(o):this.autoCloseThreshold=void 0;break}}getContentSize(){return this._foundation.getContentSize()}getCollapsibleSize(){return this._foundation.getCollapsibleSize()}setContentSize(e){this._foundation.setContentSize(e)}update(e){this._foundation.update(e)}};l([d()],s.prototype,"resizable",2),l([d()],s.prototype,"size",2),l([d()],s.prototype,"min",2),l([d()],s.prototype,"max",2),l([d()],s.prototype,"accessibleLabel",2),l([d()],s.prototype,"open",2),l([d()],s.prototype,"disabled",2),l([d()],s.prototype,"allowClose",2),l([d()],s.prototype,"autoClose",2),l([d()],s.prototype,"autoCloseThreshold",2),s=l([H({name:i.elementName,dependencies:[Y,W,X]})],s);function yt(){N(s)}export{i as a,he as b,$ as c,F as d,G as e,j as f,J as g,Q as h,ee as i,te as j,E as k,y as l,ie as m,P as n,k as o,ne as p,I as q,me as r,m as s,re as t,L as u,ae as v,x as w,s as x,yt as y};
7
+ //# sourceMappingURL=chunk.3II7OT2I.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/split-view/split-view-panel/split-view-panel-constants.ts", "../../src/split-view/split-view-panel/split-view-panel-utils.ts", "../../src/split-view/split-view-panel/split-view-panel-foundation.ts", "../../src/split-view/split-view/split-view-constants.ts", "../../src/split-view/split-view-panel/split-view-panel-adapter.ts", "../../src/split-view/split-view-panel/split-view-panel.ts", "../../src/split-view/split-view-panel/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\nimport { SplitViewOrientation } from '../split-view/split-view-constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}split-view-panel`;\n\nconst attributes = {\n RESIZABLE: 'resizable',\n SIZE: 'size',\n MIN: 'min',\n MAX: 'max',\n OPEN: 'open',\n ACCESSIBLE_LABEL: 'accessible-label',\n DISABLED: 'disabled',\n ALLOW_CLOSE: 'allow-close',\n AUTO_CLOSE: 'auto-close',\n AUTO_CLOSE_THRESHOLD: 'auto-close-threshold',\n ORIENTATION: 'orientation'\n};\n\nconst classes = {\n ROOT: 'forge-split-view-panel',\n GRABBED: 'forge-split-view-panel--grabbed',\n HANDLE: 'forge-split-view-panel__handle',\n ICON: 'forge-split-view-panel__icon',\n CONTENT: 'forge-split-view-panel__content',\n CLOSED: 'forge-split-view-panel--closed',\n CLOSING: 'forge-split-view-panel--closing',\n OPENING: 'forge-split-view-panel--opening',\n DISABLED: 'forge-split-view-panel--disabled',\n OVERLAY: 'forge-split-view-panel-overlay'\n};\n\nconst ids = {\n ROOT: 'root',\n HANDLE: 'handle',\n ICON: 'icon',\n STATE_LAYER: 'state-layer',\n CONTENT: 'content'\n};\n\nconst selectors = {\n ROOT: `#${ids.ROOT}`,\n HANDLE: `#${ids.HANDLE}`,\n ICON: `#${ids.ICON}`,\n STATE_LAYER: `#${ids.STATE_LAYER}`,\n CONTENT: `#${ids.CONTENT}`\n};\n\nconst events = {\n WILL_RESIZE: `${elementName}-will-resize`,\n RESIZE_START: `${elementName}-resize-start`,\n RESIZE_END: `${elementName}-resize-end`,\n RESIZE: `${elementName}-resize`,\n DID_OPEN: `${elementName}-did-open`,\n DID_CLOSE: `${elementName}-did-close`,\n WILL_OPEN: `${elementName}-will-open`,\n WILL_CLOSE: `${elementName}-will-close`\n};\n\nconst numbers = {\n STATE_LAYER_ACTIVATION_WAIT: 200\n};\n\nconst customCssProperties = {\n SIZE: '--forge-split-view-panel-size',\n CURSOR: '--forge-split-view-panel-cursor'\n};\n\nexport const SPLIT_VIEW_PANEL_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n selectors,\n events,\n numbers,\n customCssProperties\n};\n\n// 'start' panels have a handle on the left/top and collapse to the right/bottom\n// 'end' panels have a handle on the right/bottom and collapse to the left/top\n// 'off' panels don't have a handle, are not resizable, and fill the remaining space\nexport type SplitViewPanelResizable = 'start' | 'end' | 'off';\n\nexport type SplitViewInputDeviceType = 'pointer' | 'keyboard';\n\nexport enum SplitViewAnimatingLayer {\n Under = 1,\n Active = 2,\n Above = 3\n}\n\nexport interface ISplitViewPanelCursorConfig {\n resizable: SplitViewPanelResizable;\n boundary: 'min' | 'max' | 'none';\n}\n\nexport interface ISplitViewPanelState {\n orientation: SplitViewOrientation;\n resizable: SplitViewPanelResizable;\n arrowKeyHeld: boolean;\n startPoint?: number;\n startSize?: number;\n currentSize?: number;\n availableSpace?: number;\n siblingSize?: number;\n keyboardDelta: number;\n isAtMin: boolean;\n isAtMax: boolean;\n min: number;\n max?: number;\n}\n\nexport interface ISplitViewPanelWillResizeEvent {\n inputDeviceType: SplitViewInputDeviceType;\n}\n\nexport interface ISplitViewPanelOpenEvent {\n auto: boolean;\n userInitiated: boolean;\n}\n", "import { percentToPixels, safeMin, scaleValue } from '../../core/utils/utils';\nimport { ISplitViewPanelCursorConfig, ISplitViewPanelState, SplitViewInputDeviceType, SPLIT_VIEW_PANEL_CONSTANTS } from './split-view-panel-constants';\nimport { ISplitViewPanelAdapter } from './split-view-panel-adapter';\nimport { SplitViewOrientation } from '../split-view/split-view-constants';\nimport { ISplitViewPanelComponent, SplitViewPanelComponent } from './split-view-panel';\n\n/**\n * Creates a default split view panel state object.\n * @returns A new state object.\n */\nexport function initState(): ISplitViewPanelState {\n return {\n orientation: 'horizontal',\n resizable: 'off',\n arrowKeyHeld: false,\n keyboardDelta: 0,\n isAtMin: false,\n isAtMax: false,\n min: 0\n };\n}\n\n/**\n * Gets a state object reflecting the panel's parameters at the beginning of a resize.\n * @param adapter The panel's adapter.\n * @param state The panel's state object.\n * @returns An updated state object.\n */\nexport function setState(adapter: ISplitViewPanelAdapter, state: ISplitViewPanelState): ISplitViewPanelState {\n const currentSize = adapter.getContentSize(state.orientation);\n return {\n ...state,\n currentSize,\n startSize: currentSize,\n availableSpace: adapter.getAvailableSpace(state.orientation, state.resizable),\n siblingSize: adapter.getSiblingContentSize(),\n isAtMin: false,\n isAtMax: false\n };\n}\n\n/**\n * Gets a state object with all properties related to a resize reset to default.\n * @param state The panel's state object.\n * @returns An updated state object.\n */\nexport function clearState(state: ISplitViewPanelState): ISplitViewPanelState {\n return {\n ...state,\n arrowKeyHeld: false,\n keyboardDelta: 0,\n isAtMin: false,\n isAtMax: false\n };\n}\n\n/**\n * Performs a panel resize triggered by a pointer event.\n * @param adapter The panel's adapter.\n * @param evt The pointer event.\n * @param state The panel's state object.\n * @returns Whether a resize happened.\n */\nexport function pointerResize(adapter: ISplitViewPanelAdapter, evt: PointerEvent, state: ISplitViewPanelState): boolean {\n if (state.startPoint === undefined || state.startSize === undefined) {\n return false;\n }\n\n const initialSize = state.currentSize;\n\n const evtPoint = state.orientation === 'horizontal' ? evt.clientX : evt.clientY;\n let delta = state.startPoint - evtPoint;\n if (state.resizable === 'start') {\n delta *= -1;\n }\n\n const size = state.startSize - delta;\n state.currentSize = clampSize(size, state);\n adapter.setContentSize(state.currentSize);\n handleBoundariesDuringResize(adapter, state, 'pointer');\n adapter.setValuenow(getValuenow(state.currentSize, state));\n\n const siblingDelta = size - state.currentSize + delta;\n resizeSibling(adapter, siblingDelta, state);\n\n return initialSize !== state.currentSize;\n}\n\n/**\n * Performs a panel resize triggered by a keyboard event.\n * @param adapter The panel's adapter.\n * @param increment The pixel amount to change the panel's size.\n * @param state The panel's state object.\n * @returns Whether a resize happened.\n */\nexport function keyboardResize(adapter: ISplitViewPanelAdapter, increment: number, state: ISplitViewPanelState): boolean {\n if (state.startSize === undefined) {\n return false;\n }\n\n const initialSize = state.currentSize;\n\n state.keyboardDelta += increment;\n\n const size = state.startSize + state.keyboardDelta;\n state.currentSize = clampSize(size, state);\n adapter.setContentSize(state.currentSize);\n handleBoundariesDuringResize(adapter, state, 'keyboard');\n adapter.setValuenow(getValuenow(state.currentSize, state));\n\n const siblingDelta = size - state.currentSize + state.keyboardDelta * -1;\n resizeSibling(adapter, siblingDelta, state);\n\n return initialSize !== state.currentSize;\n}\n\n/**\n * Resizes a panel to its minimum possible size.\n * @param adapter The panel's adapter.\n * @param state The panel's state object.\n * @returns The new pixel size of the panel.\n */\nexport function minResize(adapter: ISplitViewPanelAdapter, state: ISplitViewPanelState): number {\n adapter.setContentSize(state.min);\n return state.min;\n}\n\n/**\n * Resizes a panel to its maximum possible size.\n * @param adapter The panel's adapter.\n * @param state The panel's state object.\n * @returns The new pixel size of the panel.\n */\nexport function maxResize(adapter: ISplitViewPanelAdapter, state: ISplitViewPanelState): number {\n const availableSpace = adapter.getAvailableSpace(state.orientation, state.resizable);\n const max = safeMin(state.max, availableSpace);\n adapter.setContentSize(max);\n return max;\n}\n\n/**\n * Sets a panel's sibling's size to reflect changes in the panel's size.\n * @param adapter The panel's adapter.\n * @param delta The change in size to apply to the sibling.\n * @param state The panel's state object.\n */\nexport function resizeSibling(adapter: ISplitViewPanelAdapter, delta: number, state: ISplitViewPanelState): void {\n if (state.siblingSize !== undefined) {\n const siblingSize = state.siblingSize + delta;\n adapter.setSiblingContentSize(siblingSize);\n }\n}\n\n/**\n * Returns a size limited to an allowed range.\n * @param size The size to try setting this panel to.\n * @param state The panel's state object.\n * @returns A pixel value.\n */\nexport function clampSize(size: number, state: ISplitViewPanelState): number {\n size = Math.max(size, state.min);\n size = safeMin(size, state.max, state.availableSpace);\n return size;\n}\n\n/**\n * Checks whether a panel is at its min or max size while resizing and runs logic related to\n * that once.\n * @param adapter The panel's adapter.\n * @param state The panel's state object.\n * @param inputDevice The input device responsible for the resize.\n * @returns Whether the panel is at its min or max size.\n */\nexport function handleBoundariesDuringResize(adapter: ISplitViewPanelAdapter, state: ISplitViewPanelState, inputDevice?: SplitViewInputDeviceType): boolean {\n if (state.currentSize === undefined) {\n return false;\n }\n\n // Check min\n if (state.currentSize <= state.min) {\n // Just reached the min\n if (!state.isAtMin) {\n adapter.animateStateLayer(inputDevice === 'pointer');\n if (inputDevice === 'pointer') {\n adapter.setBodyCursor(state.orientation, { resizable: state.resizable, boundary: 'min' });\n }\n state.isAtMin = true;\n }\n return true;\n } else if (state.isAtMin) {\n // TODO: is it more performant to have the else if condition or to always set the variable?\n state.isAtMin = false;\n }\n\n // Check max\n const max = safeMin(state.max, state.availableSpace);\n if (state.currentSize >= max) {\n // Just reached the max\n if(!state.isAtMax) {\n adapter.animateStateLayer(inputDevice === 'pointer');\n if (inputDevice === 'pointer') {\n adapter.setBodyCursor(state.orientation, { resizable: state.resizable, boundary: 'max' });\n }\n state.isAtMax = true;\n }\n return true;\n } else if (state.isAtMax) {\n state.isAtMax = false;\n }\n\n if (inputDevice === 'pointer') {\n adapter.setBodyCursor(state.orientation);\n }\n \n return false;\n}\n\n/**\n * Checks whether a panel is at its min or max size while not resizing and runs logic related to\n * that once.\n * @param adapter The panel's adapter.\n * @param size The panel's size.\n * @param state The panel's state object.\n * @returns Whether the panel is at its min or max size.\n */\nexport function handleBoundariesAfterResize(adapter: ISplitViewPanelAdapter, size: number, state: ISplitViewPanelState): boolean {\n if (size <= state.min) {\n adapter.setHandleCursor(state.orientation, { resizable: state.resizable, boundary: 'min' });\n return true;\n }\n\n const max = safeMin(state.max, state.availableSpace);\n if (size >= max) {\n adapter.setHandleCursor(state.orientation, { resizable: state.resizable, boundary: 'max' });\n return true;\n }\n\n adapter.setHandleCursor(state.orientation);\n return false;\n}\n\n/**\n * Gets the accessible valuenow of a panel.\n * @param size The panel's size in pixels.\n * @param state The panel's state object.\n */\nexport function getValuenow(size: number, state: ISplitViewPanelState): number {\n if (!state.availableSpace && !state.max) {\n return 100;\n }\n\n const max = safeMin(state.max, state.availableSpace);\n return scaleValue(size, state.min, max);\n}\n\n/**\n * Gets the appropriate cursor for the handle orientation.\n * @param orientation \n * @returns A CSS cursor keyword value.\n */\nexport function getCursor(orientation: SplitViewOrientation, config?: ISplitViewPanelCursorConfig): string {\n if (orientation === 'horizontal') {\n switch (config?.boundary) {\n case 'min':\n return config.resizable === 'end' ? 'e-resize' : 'w-resize';\n case 'max':\n return config.resizable === 'end' ? 'w-resize' : 'e-resize';\n default:\n return 'col-resize';\n }\n } else {\n switch (config?.boundary) {\n case 'min':\n return config.resizable === 'end' ? 's-resize' : 'n-resize';\n case 'max':\n return config.resizable === 'end' ? 'n-resize' : 's-resize';\n default:\n return 'row-resize';\n }\n }\n}\n\n/**\n * Gets the approporate drag icon for the handle orientation.\n * @param orientation \n * @returns A Forge icon name.\n */\nexport function getHandleIcon(orientation: SplitViewOrientation): string {\n return orientation === 'horizontal' ? 'drag_vertical_variant' : 'drag_handle';\n}\n\n/**\n * Gets the panel that the given panel resizes into.\n * @param el A split view panel.\n * @returns A sibling split view panel or undefined if there is not a sibling.\n */\nexport function getSplitViewPanelSibling(el: ISplitViewPanelComponent): SplitViewPanelComponent | undefined {\n const resizable = el.resizable;\n if (resizable === 'off') {\n return undefined;\n }\n \n let sibling: Element | null = el;\n do {\n sibling = resizable === 'end' ? sibling.nextElementSibling : sibling.previousElementSibling;\n } while (sibling instanceof SplitViewPanelComponent && !sibling.open);\n\n if (sibling instanceof SplitViewPanelComponent) {\n return sibling;\n }\n\n return undefined;\n}\n\n/**\n * Extracts a size and unit from a `number` or `string` formatted as a CSS dimension using px or %.\n * A `number` is interpreted to be a pixel value.\n * @param value A `number` or `string` representing a size in pixels or percent.\n * @returns An object containing the parsed size and unit.\n */\nexport function parseSize(value: number | string): { amount: number; unit: 'px' | '%' | '' } {\n if (!isNaN(+value)) {\n return { amount: +value, unit: 'px' };\n }\n\n // Matches digits with or without decimals, any amount of whitespace, and 'px' or '%'\n const regex = /(^\\d*\\.?\\d*)\\s*(px|%$)?/i;\n const parts = (value as string).match(regex);\n const amount = parts?.[1] ? +parts[1] : -1;\n const unit = (parts?.[2]?.toLowerCase() ?? '') as 'px' | '%' | '';\n\n return { amount, unit };\n}\n\n/**\n * Gets a pixel size value from a pixel or percent value.\n * @param value A `number` or `string` representing a size in pixels or percent.\n * @param parentSize The pixel size of the parent container along the relevant axis.\n * @returns A pixel amount.\n */\nexport function getPixelDimension(value: number | string, parentSize: number): number {\n const parsedSize = parseSize(value);\n\n if (parsedSize.unit === '%') {\n return percentToPixels(parsedSize.amount, parentSize);\n }\n return parsedSize.amount;\n}\n\n/**\n * Creates a transparent element to overlay on top of the document body, ensuring the split view\n * behaves as expected when dragging over other contexts.\n * @returns An overlay element.\n */\nexport function createOverlay(): HTMLElement {\n const el = document.createElement('div');\n el.classList.add(SPLIT_VIEW_PANEL_CONSTANTS.classes.OVERLAY);\n el.style.position = 'fixed';\n el.style.top = '0';\n el.style.left = '0';\n el.style.width = '100vw';\n el.style.height = '100vh';\n el.style.zIndex = '9999';\n return el;\n}\n", "import { ICustomElementFoundation, isDefined } from '@tylertech/forge-core';\n\nimport { safeMin, scaleValue } from '../../core/utils/utils';\nimport { eventIncludesArrowKey } from '../../core/utils/event-utils';\nimport { ISplitViewPanelOpenEvent, ISplitViewPanelState, SplitViewInputDeviceType, SplitViewPanelResizable, SPLIT_VIEW_PANEL_CONSTANTS } from './split-view-panel-constants';\nimport { ISplitViewPanelAdapter } from './split-view-panel-adapter';\nimport { ISplitViewUpdateConfig, SplitViewOrientation } from '../split-view/split-view-constants';\nimport { ISplitViewBase } from '../core/split-view-base';\nimport { clampSize, clearState, getPixelDimension, getValuenow, handleBoundariesAfterResize, handleBoundariesDuringResize, initState, keyboardResize, maxResize, minResize, pointerResize, setState } from './split-view-panel-utils';\n\nexport interface ISplitViewPanelFoundation extends Partial<ISplitViewBase>, ICustomElementFoundation {\n resizable: SplitViewPanelResizable;\n size: number | string;\n min: number | string;\n max: number | string | undefined;\n accessibleLabel: string;\n open: boolean;\n getContentSize(): number;\n getCollapsibleSize(): number;\n setContentSize(size: number): void;\n update(config: ISplitViewUpdateConfig): void;\n}\n\nexport class SplitViewPanelFoundation implements ISplitViewPanelFoundation {\n // API\n private _size: number | string = 200;\n private _min: number | string = 0;\n private _max: number | string | undefined;\n private _accessibleLabel = 'Split view panel';\n private _open = true;\n private _disabled?: boolean;\n private _allowClose?: boolean;\n private _autoClose?: boolean;\n private _autoCloseThreshold?: number;\n \n // State\n private _state: ISplitViewPanelState = initState();\n private _isInitialized = false;\n\n // Properties stored in state\n private get _orientation(): SplitViewOrientation {\n return this._state.orientation;\n }\n private set _orientation(value: SplitViewOrientation) {\n this._state.orientation = value;\n }\n\n private get _resizable(): SplitViewPanelResizable {\n return this._state.resizable;\n }\n private set _resizable(value: SplitViewPanelResizable) {\n this._state.resizable = value;\n }\n\n private get _pixelMin(): number {\n return this._state.min;\n }\n private set _pixelMin(value: number) {\n this._state.min = value;\n }\n\n private get _pixelMax(): number | undefined {\n return this._state.max;\n }\n private set _pixelMax(value: number | undefined) {\n this._state.max = value;\n }\n\n // Properties inherited from parent split view\n private _parentProperties: Partial<ISplitViewBase> = {};\n\n // Applied properties that can be inherited from parent\n private get _appliedDisabled(): boolean {\n return this._disabled ?? this._parentProperties.disabled ?? false;\n }\n\n private get _appliedAllowClose(): boolean {\n return this._allowClose ?? this._parentProperties.allowClose ?? false;\n }\n\n private get _appliedAutoClose(): boolean {\n return this._autoClose ?? this._parentProperties.autoClose ?? false;\n }\n\n private get _appliedAutoCloseThreshold(): number {\n return this._autoCloseThreshold ?? this._parentProperties.autoCloseThreshold ?? 0;\n }\n\n // Listeners\n private _pointerdownListener: (evt: PointerEvent) => void;\n private _pointerupListener: (evt: PointerEvent) => void;\n private _pointermoveListener: (evt: PointerEvent) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _keyupListener: (evt: KeyboardEvent) => void;\n\n constructor(private _adapter: ISplitViewPanelAdapter) {\n this._pointerdownListener = evt => this._onPointerdown(evt);\n this._pointerupListener = evt => this._onPointerup(evt);\n this._pointermoveListener = evt => this._onPointermove(evt);\n this._keydownListener = evt => this._onKeydown(evt);\n this._keyupListener = evt => this._onKeyup(evt);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.setPointerdownListener(this._pointerdownListener);\n this._adapter.setKeydownListener(this._keydownListener);\n this._getParentProperties();\n this._applyResizable();\n this._applyMin();\n this._applyMax();\n this._applySize();\n this._applyAccessibleLabel();\n this._applyOpen();\n this._applyDisabled();\n this._applyAllowClose();\n this._applyAutoClose();\n this._applyAutoCloseThreshold();\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._adapter.tryRemoveOverlay();\n this._adapter.removePointerupListener(this._pointerupListener);\n this._adapter.removePointermoveListener(this._pointermoveListener);\n }\n\n /**\n * Handles a pointerdown event and sets further pointer event listeners.\n * @param evt The pointer event.\n */\n private _onPointerdown(evt: PointerEvent): void {\n if (this._appliedDisabled || !this._allowResize('pointer')) {\n return;\n }\n\n evt.preventDefault();\n\n this._adapter.setPointermoveListener(this._pointermoveListener);\n this._adapter.setPointerupListener(this._pointerupListener);\n this._handlePointerdown(evt);\n }\n\n /**\n * Handles a pointerup event and removes pointer event listeners.\n * @param evt The pointer event.\n */\n private _onPointerup(evt: PointerEvent): void {\n evt.preventDefault();\n\n this._adapter.removePointermoveListener(this._pointermoveListener);\n this._adapter.removePointerupListener(this._pointerupListener);\n this._handlePointerup();\n }\n\n /**\n * Handles a pointermove event and removes pointer events if the mouse button is released.\n * @param evt The pointer event.\n */\n private _onPointermove(evt: PointerEvent): void {\n if (this._appliedDisabled) {\n return;\n }\n\n evt.preventDefault();\n\n // Detect when the mouse button is released outside of the document\n if (evt.buttons === 0) {\n this._adapter.removePointermoveListener(this._pointermoveListener);\n this._adapter.removePointerupListener(this._pointerupListener);\n this._handlePointerup();\n return;\n }\n\n this._handlePointermove(evt);\n }\n\n /**\n * Handles a keydown event and sets a keyup listener if an arrow key is pressed.\n * @param evt The keyboard event.\n */\n private _onKeydown(evt: KeyboardEvent): void {\n if (this._appliedDisabled) {\n return;\n }\n\n if (evt.key === 'Enter') {\n this._handleEnterKey(evt);\n } else if (evt.key === 'Home' && this._allowResize('keyboard')) {\n this._handleHomeKey(evt);\n } else if (evt.key === 'End' && this._allowResize('keyboard')) {\n this._handleEndKey(evt);\n } else if (eventIncludesArrowKey(evt) && this._allowResize('keyboard')) {\n this._adapter.setKeyupListener(this._keyupListener);\n this._handleArrowKey(evt);\n }\n }\n\n /**\n * Handles a keyup event and removes the keyup listener if an arrow key was released.\n * @param evt The keyboard event.\n */\n private _onKeyup(evt: KeyboardEvent): void {\n if (eventIncludesArrowKey(evt)) {\n this._adapter.removeKeyupListener(this._keyupListener);\n this._handleArrowKeyUp();\n }\n }\n\n /**\n * Toggles the open state.\n * @param evt \n */\n private _handleEnterKey(evt: KeyboardEvent): void {\n if (!this._appliedAllowClose) {\n return;\n }\n\n evt.preventDefault();\n this._tryOpenOrClose(!this._open, false, true);\n }\n\n /**\n * Sets panel size to the min.\n * @param evt\n */\n private _handleHomeKey(evt: KeyboardEvent): void {\n evt.preventDefault();\n\n const size = minResize(this._adapter, this._state);\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE, size);\n this._tryAutoClose();\n }\n\n /**\n * Sets panel size to the max.\n * @param evt\n */\n private _handleEndKey(evt: KeyboardEvent): void {\n evt.preventDefault();\n\n const size = maxResize(this._adapter, this._state);\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE, size);\n }\n\n /**\n * Runs resize logic if an arrow key is included in the event.\n * @param evt \n */\n private _handleArrowKey(evt: KeyboardEvent): void {\n let increment = 0;\n if (this._orientation === 'horizontal') {\n switch (evt.key) {\n case 'ArrowLeft':\n increment = -1;\n break;\n case 'ArrowRight':\n increment = 1;\n break;\n default:\n return;\n }\n } else {\n switch (evt.key) {\n case 'ArrowUp':\n increment = -1;\n break;\n case 'ArrowDown':\n increment = 1;\n break;\n default:\n return;\n }\n }\n\n evt.preventDefault();\n\n if (this._resizable === 'start') {\n increment *= -1;\n }\n if (evt.shiftKey) {\n increment *= 10;\n }\n\n this._tryHandleArrowKeyDown();\n this._handleArrowKeyHeld(increment);\n }\n\n /**\n * Sets resize properties when an arrow key is first pressed.\n */\n private _tryHandleArrowKeyDown(): void {\n if (!this._state.arrowKeyHeld) {\n this._startResize();\n }\n this._state.arrowKeyHeld = true;\n }\n\n /**\n * Performs cleanup logic after a keyboard driven resize.\n */\n private _handleArrowKeyUp(): void {\n this._endResize();\n }\n\n /**\n * Resizes the panel by a set amount.\n * @param increment The pixel change in size.\n */\n private _handleArrowKeyHeld(increment: number): void {\n if (keyboardResize(this._adapter, increment, this._state)) {\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE, this._state.currentSize);\n }\n }\n\n /**\n * Handles the beginning of a pointer driven resize.\n * @param evt \n */\n private _handlePointerdown(evt: MouseEvent): void {\n this._adapter.setGrabbed(true);\n this._adapter.focusHandle();\n \n this._startResize();\n this._state.startPoint = this._orientation === 'horizontal' ? evt.clientX : evt.clientY;\n handleBoundariesDuringResize(this._adapter, this._state, 'pointer');\n }\n\n /**\n * Handles the end of a pointer driven resize.\n */\n private _handlePointerup(): void {\n this._adapter.setGrabbed(false);\n this._endResize();\n }\n\n /**\n * Resizes the panel from a pointer event.\n * @param evt \n */\n private _handlePointermove(evt: PointerEvent): void {\n if(pointerResize(this._adapter, evt, this._state)) {\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE, this._state.currentSize);\n }\n }\n\n /**\n * Emits a will resize event and allows it to be cancelled.\n * @returns Whether the resize should proceed.\n */\n private _allowResize(inputDeviceType: SplitViewInputDeviceType): boolean {\n return this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.WILL_RESIZE, { inputDeviceType }, true, true);\n }\n\n /**\n * Handles common logic to begin a resize.\n */\n private _startResize(): void {\n this._state = setState(this._adapter, this._state);\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE_START, this._state.startSize);\n }\n\n /**\n * Handles common logic to end a resize.\n */\n private _endResize(): void {\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE_END, this._state.currentSize);\n this._adapter.updateParent({ accessibility: this._state.startSize !== this._state.currentSize, cursor: true });\n this._state = clearState(this._state);\n this._tryAutoClose();\n }\n\n /**\n * Emits a will open or will close event and sets the panel open or closed if allowed.\n * @param shouldOpen Whether the panel should open or close. Defaults to `true`.\n * @param auto Whether the panel auto-opened or auto-closed.\n * @param userInitiated Whether opening or closing via user action instead of programmatically.\n */\n private _tryOpenOrClose(shouldOpen = true, auto = false, userInitiated = false): void {\n const eventType = shouldOpen ? SPLIT_VIEW_PANEL_CONSTANTS.events.WILL_OPEN : SPLIT_VIEW_PANEL_CONSTANTS.events.WILL_CLOSE;\n const event: ISplitViewPanelOpenEvent = {\n auto,\n userInitiated\n };\n const isAllowed = this._adapter.emitHostEvent(eventType, event, true, true);\n if (!isAllowed) {\n return;\n }\n this._open = shouldOpen;\n this._applyOpen(event);\n }\n\n /**\n * Auto close the panel if enabled and within the size threshold.\n */\n private _tryAutoClose(): void {\n const size = this._adapter.getContentSize(this._orientation);\n if (this._appliedAutoClose && size <= this._appliedAutoCloseThreshold) {\n this._tryOpenOrClose(false, true, false);\n }\n }\n\n /**\n * Sets orientation, disabled, disable close, and autoclose to reflect the parent split view.\n */\n private _getParentProperties(): void {\n // Parent disabled state\n const parentDisabled = this._adapter.getParentProperty('disabled') as boolean;\n this._parentProperties.disabled = parentDisabled;\n this._applyParentDisabled();\n\n // Parent disable close\n const parentAllowClose = this._adapter.getParentProperty('allowClose') as boolean;\n this._parentProperties.allowClose = parentAllowClose;\n\n // Parent auto close\n const parentAutoClose = this._adapter.getParentProperty('autoClose') as boolean;\n this._parentProperties.autoClose = parentAutoClose;\n this._applyParentAutoClose();\n\n // Parent auto close threshold\n const parentAutoCloseThreshold = this._adapter.getParentProperty('autoCloseThreshold') as number;\n this._parentProperties.autoCloseThreshold = parentAutoCloseThreshold;\n this._applyParentAutoCloseThreshold();\n }\n\n private _applyOrientation(): void {\n this._adapter.setOrientation(this._orientation);\n }\n\n /**\n * Get/set resizable. This affects the side the handle appears on and the direction the panel closes into.\n */\n public get resizable(): SplitViewPanelResizable {\n return this._resizable;\n }\n public set resizable(value: SplitViewPanelResizable) {\n if (this._resizable !== value) {\n this._resizable = value;\n this._applyResizable();\n }\n }\n\n private _applyResizable(): void {\n this._adapter.setHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.RESIZABLE, this._resizable);\n this._adapter.setResizable(this._resizable);\n }\n\n /**\n * Get/set panel size.\n */\n public get size(): number | string {\n return this._size;\n }\n public set size(value: number | string) {\n if (this._size.toString() !== value.toString()) {\n this._size = value;\n this._applySize();\n }\n }\n\n private _applySize(): void {\n const parentSize = this._adapter.getParentSize(this._orientation);\n const pixelSize = getPixelDimension(this._size, parentSize);\n\n this._adapter.setHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.SIZE, this._size.toString());\n this._adapter.setContentSize(pixelSize);\n // Wait for the DOM to render to get available space\n window.requestAnimationFrame(() => {\n const availableSpace = this._adapter.getAvailableSpace(this._orientation, this._resizable);\n const maxSize = safeMin(this._pixelMax, availableSpace);\n const newValue = scaleValue(pixelSize, this._pixelMin, maxSize);\n this._adapter.setValuenow(newValue);\n this._adapter.updateParent({ cursor: true });\n });\n }\n\n /** Get/set min panel size. */\n public get min(): number | string {\n return this._min;\n }\n public set min(value: number | string) {\n if (this._min.toString() !== value.toString()) {\n this._min = value;\n this._applyMin();\n }\n }\n\n private _applyMin(): void {\n this._adapter.setHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.MIN, this._min.toString());\n\n const parentSize = this._adapter.getParentSize(this._orientation);\n this._pixelMin = getPixelDimension(this._min, parentSize);\n\n if (this._resizable === 'off') {\n return;\n }\n\n const size = this._adapter.getContentSize(this._orientation);\n if (size < this._pixelMin) {\n this.setContentSize(size);\n }\n }\n\n /** Get/set max panel size. */\n public get max(): number | string | undefined {\n return this._max;\n }\n public set max(value: number | string | undefined) {\n if (this._max?.toString() !== value?.toString()) {\n this._max = value;\n this._applyMax();\n }\n }\n\n private _applyMax(): void {\n this._adapter.toggleHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.MAX, this._max !== undefined, this._max?.toString());\n\n if (this._max === undefined) {\n this._pixelMax = undefined;\n return;\n }\n\n const parentSize = this._adapter.getParentSize(this._orientation);\n this._pixelMax = getPixelDimension(this._max, parentSize);\n\n if (this._resizable === 'off') {\n return;\n }\n \n const size = this._adapter.getContentSize(this._orientation);\n if (size > this._pixelMax) {\n this.setContentSize(size);\n }\n }\n\n /**\n * Get/set the accessible label.\n */\n public get accessibleLabel(): string {\n return this._accessibleLabel;\n }\n public set accessibleLabel(value: string) {\n if (this._accessibleLabel !== value) {\n this._accessibleLabel = value;\n this._applyAccessibleLabel();\n }\n }\n\n private _applyAccessibleLabel(): void {\n this._adapter.setHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.ACCESSIBLE_LABEL, this._accessibleLabel);\n this._adapter.setAccessibleLabel(this._accessibleLabel);\n }\n\n /**\n * Get/set whether the panel is open.\n */\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n if (this._isInitialized) {\n this._tryOpenOrClose(value, false, false);\n return;\n }\n\n this._open = value;\n const event: ISplitViewPanelOpenEvent | undefined = this._isInitialized ? {\n auto: false,\n userInitiated: false\n } : undefined;\n this._applyOpen(event);\n }\n }\n\n private _applyOpen(event?: ISplitViewPanelOpenEvent): void {\n this._adapter.setHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.OPEN, this._open.toString());\n this._adapter.setOpen(this._open, this._isInitialized, event);\n }\n\n /**\n * Get/set whether interactions are disabled.\n */\n public get disabled(): boolean | undefined {\n return this._disabled;\n }\n public set disabled(value: boolean | undefined) {\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_PANEL_CONSTANTS.attributes.DISABLED, this._disabled ?? false);\n this._adapter.setDisabled(this._appliedDisabled);\n }\n\n private _applyParentDisabled(): void {\n if (this._isInitialized && !isDefined(this._disabled)) {\n this._adapter.setDisabled(this._appliedDisabled);\n }\n }\n\n /**\n * Get/set whether closing the panel is disabled.\n */\n public get allowClose(): boolean | undefined {\n return this._allowClose;\n }\n public set allowClose(value: boolean | undefined) {\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_PANEL_CONSTANTS.attributes.ALLOW_CLOSE, this._allowClose ?? false);\n }\n\n /**\n * Get/set whether the panel closes when a threshold size is reached.\n */\n public get autoClose(): boolean | undefined {\n return this._autoClose;\n }\n public set autoClose(value: boolean | undefined) {\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_PANEL_CONSTANTS.attributes.AUTO_CLOSE, this._autoClose ?? false);\n if (this._isInitialized) {\n this._tryAutoClose();\n }\n }\n\n private _applyParentAutoClose(): void {\n if (this._isInitialized && !isDefined(this._autoClose)) {\n this._tryAutoClose();\n }\n }\n\n /** Get/set the size at which the panel auto closes. */\n public get autoCloseThreshold(): number | undefined {\n return this._autoCloseThreshold;\n }\n public set autoCloseThreshold(value: number | undefined) {\n if (this._autoCloseThreshold !== value) {\n this._autoCloseThreshold = value;\n this._applyAutoCloseThreshold();\n }\n }\n\n private _applyAutoCloseThreshold(): void {\n this._adapter.toggleHostAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.AUTO_CLOSE_THRESHOLD, isDefined(this._autoCloseThreshold), this.autoCloseThreshold?.toString());\n if (this._isInitialized) {\n this._tryAutoClose();\n }\n }\n\n private _applyParentAutoCloseThreshold(): void {\n if (this._isInitialized && !isDefined(this._autoCloseThreshold)) {\n this._tryAutoClose();\n }\n }\n\n /**\n * Gets the size of panel content without the handle.\n * @returns Content size in pixels.\n */\n public getContentSize(): number {\n return this._adapter.getContentSize(this._orientation);\n }\n\n /**\n * Gets how much the panel can shrink from its current size.\n * @returns The difference between the current and min size in pixels.\n */\n public getCollapsibleSize(): number {\n const parentSize = this._adapter.getParentSize(this._orientation);\n const pixelMin = getPixelDimension(this._min, parentSize);\n return this._adapter.getContentSize(this._orientation) - pixelMin;\n }\n\n /**\n * Sets a new size for the content area.\n * @param size The new content size in pixels.\n */\n public setContentSize(size: number): void {\n if (this._resizable === 'off') {\n return;\n }\n\n const newSize = clampSize(size, this._state);\n this._adapter.setContentSize(newSize);\n if (this._isInitialized) {\n this._adapter.emitHostEvent(SPLIT_VIEW_PANEL_CONSTANTS.events.RESIZE, newSize);\n }\n }\n\n /**\n * Updates the proved characteristics.\n * @param config An update configuration.\n */\n public update(config: ISplitViewUpdateConfig): void {\n // Orientation\n if (config.orientation) {\n this._orientation = config.orientation;\n this._applyOrientation();\n }\n\n // Parent properties\n if (config.properties) {\n if (isDefined(config.properties.disabled) && this._parentProperties.disabled !== config.properties.disabled) {\n this._parentProperties.disabled = config.properties.disabled;\n this._applyDisabled();\n }\n if (isDefined(config.properties.allowClose)) {\n this._parentProperties.allowClose = config.properties.allowClose;\n }\n if (isDefined(config.properties.autoClose) && this._parentProperties.autoClose !== config.properties.autoClose) {\n this._parentProperties.autoClose = config.properties.autoClose;\n if (!isDefined(this._autoClose)) {\n this._applyAutoClose();\n }\n }\n if (isDefined(config.properties.autoCloseThreshold) && this._parentProperties.autoCloseThreshold !== config.properties.autoCloseThreshold) {\n this._parentProperties.autoCloseThreshold = config.properties.autoCloseThreshold;\n if (!isDefined(this._autoCloseThreshold)) {\n this._applyAutoCloseThreshold();\n }\n }\n }\n\n // Size\n if (config.size && this.open) {\n const parentSize = this._adapter.getParentSize(this._orientation);\n this._pixelMin = getPixelDimension(this._min, parentSize);\n this._pixelMax = isDefined(this._max) ? getPixelDimension(this._max as number | string, parentSize) : undefined;\n this.setContentSize(this._adapter.getContentSize(this._orientation));\n }\n\n // The following properties don't apply to non-resizable panels\n if (this._resizable === 'off') {\n return;\n }\n\n const size = this._adapter.getContentSize(this._orientation);\n const availableSpace = this._adapter.getAvailableSpace(this._orientation, this._resizable);\n\n // Accessibility\n if (config.accessibility && this.open) {\n const valueNow = getValuenow(size, { ...this._state, availableSpace });\n this._adapter.setValuenow(valueNow);\n }\n\n // Contextual cursor\n if (config.cursor) {\n handleBoundariesAfterResize(this._adapter, size, { ...this._state, availableSpace });\n }\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\nimport { ISplitViewBase } from '../core';\nimport { SPLIT_VIEW_PANEL_CONSTANTS } from '../split-view-panel/split-view-panel-constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}split-view`;\n\nconst attributes = {\n ORIENTATION: 'orientation',\n DISABLED: 'disabled',\n ALLOW_CLOSE: 'allow-close',\n AUTO_CLOSE: 'auto-close',\n AUTO_CLOSE_THRESHOLD: 'auto-close-threshold'\n};\n\nconst classes = {\n ROOT: 'forge-split-view'\n};\n\nconst ids = {\n ROOT: 'root'\n};\n\nconst selectors = {\n ROOT: `#${ids.ROOT}`,\n PANEL: SPLIT_VIEW_PANEL_CONSTANTS.elementName\n};\n\nconst numbers = {\n RESIZE_THROTTLE_THRESHOLD: 200\n};\n\nconst customCssProperties = {\n ANIMATING_LAYER: '--forge-split-view-animating-layer'\n};\n\nexport const SPLIT_VIEW_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n selectors,\n numbers,\n customCssProperties\n};\n\nexport type SplitViewOrientation = 'horizontal' | 'vertical';\n\nexport interface ISplitViewUpdateConfig {\n accessibility?: boolean;\n cursor?: boolean;\n orientation?: SplitViewOrientation;\n properties?: Partial<ISplitViewBase>;\n size?: boolean;\n}\n", "import { getShadowElement, playKeyframeAnimation, toggleAttribute } from '@tylertech/forge-core';\n\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { ISplitViewPanelComponent } from './split-view-panel';\nimport { ISplitViewPanelCursorConfig, ISplitViewPanelOpenEvent, SplitViewPanelResizable, SPLIT_VIEW_PANEL_CONSTANTS } from './split-view-panel-constants';\nimport { ISplitViewUpdateConfig, SplitViewOrientation, SPLIT_VIEW_CONSTANTS } from '../split-view/split-view-constants';\nimport { ISplitViewComponent } from '../split-view/split-view';\nimport { getCursor, getHandleIcon, createOverlay, getSplitViewPanelSibling } from './split-view-panel-utils';\nimport { IIconComponent } from '../../icon';\nimport { IStateLayerComponent } from '../../state-layer';\n\nexport interface ISplitViewPanelAdapter extends IBaseAdapter {\n initialize(): void;\n tryRemoveOverlay(): void;\n setPointerdownListener(listener: (evt: PointerEvent) => void): void;\n setPointerupListener(listener: (evt: PointerEvent) => void): void;\n removePointerupListener(listener: (evt: PointerEvent) => void): void;\n setPointermoveListener(listener: (evt: PointerEvent) => void): void;\n removePointermoveListener(listener: (evt: PointerEvent) => void): void;\n setKeydownListener(listener: (evt: KeyboardEvent) => void): void;\n setKeyupListener(listener: (evt: KeyboardEvent) => void): void;\n removeKeyupListener(listener: (evt: KeyboardEvent) => void): void;\n getParentProperty(name: keyof ISplitViewComponent): unknown;\n setAccessibleLabel(value: string): void;\n setDisabled(value: boolean): void;\n setResizable(value: SplitViewPanelResizable): void;\n setOrientation(value: SplitViewOrientation): void;\n setOpen(value: boolean, withAnimation?: boolean, event?: ISplitViewPanelOpenEvent): void;\n setGrabbed(value: boolean): void;\n setHandleCursor(orientation?: SplitViewOrientation, config?: ISplitViewPanelCursorConfig): void;\n setBodyCursor(orientation: SplitViewOrientation, config?: ISplitViewPanelCursorConfig): void;\n getContentSize(orientation: SplitViewOrientation): number;\n setContentSize(value: number): void;\n setValuenow(value: number): void;\n focusHandle(): void;\n getAvailableSpace(orientation: SplitViewOrientation, resizable: SplitViewPanelResizable): number;\n getSiblingContentSize(): number;\n setSiblingContentSize(value: number): void;\n animateStateLayer(defaultActivated: boolean): void;\n getParentSize(orientation: SplitViewOrientation): number;\n updateParent(config: ISplitViewUpdateConfig): void;\n}\n\nexport class SplitViewPanelAdapter extends BaseAdapter<ISplitViewPanelComponent> implements ISplitViewPanelAdapter {\n private _root: HTMLElement;\n private _handle: HTMLElement;\n private _icon: IIconComponent;\n private _stateLayer: IStateLayerComponent;\n private _content: HTMLElement;\n private _parent?: ISplitViewComponent;\n private _overlay?: HTMLElement;\n\n constructor(component: ISplitViewPanelComponent) {\n super(component);\n this._root = getShadowElement(component, SPLIT_VIEW_PANEL_CONSTANTS.selectors.ROOT);\n this._handle = getShadowElement(component, SPLIT_VIEW_PANEL_CONSTANTS.selectors.HANDLE);\n this._icon = getShadowElement(component, SPLIT_VIEW_PANEL_CONSTANTS.selectors.ICON) as IIconComponent;\n this._stateLayer = getShadowElement(component, SPLIT_VIEW_PANEL_CONSTANTS.selectors.STATE_LAYER) as IStateLayerComponent;\n this._content = getShadowElement(component, SPLIT_VIEW_PANEL_CONSTANTS.selectors.CONTENT);\n }\n\n public initialize(): void {\n // Set the parent split view\n const parent = this._component.parentElement;\n if (parent?.tagName.toLowerCase() === SPLIT_VIEW_CONSTANTS.elementName) {\n this._parent = parent as ISplitViewComponent;\n }\n }\n\n public tryRemoveOverlay(): void {\n this._overlay?.remove();\n this._overlay = undefined;\n }\n\n public setPointerdownListener(listener: (evt: PointerEvent) => void): void {\n this._handle.addEventListener('pointerdown', listener);\n }\n\n public setPointerupListener(listener: (evt: PointerEvent) => void): void {\n document.addEventListener('pointerup', listener);\n }\n\n public removePointerupListener(listener: (evt: PointerEvent) => void): void {\n document.removeEventListener('pointerup', listener);\n }\n\n public setPointermoveListener(listener: (evt: PointerEvent) => void): void {\n document.addEventListener('pointermove', listener);\n }\n\n public removePointermoveListener(listener: (evt: PointerEvent) => void): void {\n document.removeEventListener('pointermove', listener);\n }\n\n public setKeydownListener(listener: (evt: KeyboardEvent) => void): void {\n this._handle.addEventListener('keydown', listener);\n }\n\n public setKeyupListener(listener: (evt: KeyboardEvent) => void): void {\n this._handle.addEventListener('keyup', listener);\n }\n\n public removeKeyupListener(listener: (evt: KeyboardEvent) => void): void {\n this._handle.removeEventListener('keyup', listener);\n }\n\n /**\n * Gets the specified property value from the parent split view.\n * @param name The property name.\n * @returns The value of the property.\n */\n public getParentProperty(name: keyof ISplitViewComponent): unknown {\n return this._parent?.[name];\n }\n\n /**\n * Sets the accessible label of the resize handle.\n * @param value The label text.\n */\n public setAccessibleLabel(value: string): void {\n this._handle.setAttribute('aria-label', value);\n }\n\n /**\n * Sets the disabled state of the component.\n * @param value Whether the component is disabled.\n */\n public setDisabled(value: boolean): void {\n this._root.classList.toggle(SPLIT_VIEW_PANEL_CONSTANTS.classes.DISABLED, value);\n if (this._handle) {\n this._handle.setAttribute('tabindex', value ? '-1' : '0');\n toggleAttribute(this._handle, value, 'aria-disabled', 'true');\n }\n }\n\n /**\n * Sets the whether the component's handle is present and at its start or end.\n * @param value The component's resizable value.\n */\n public setResizable(value: SplitViewPanelResizable): void {\n this._root.setAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.RESIZABLE, value.toString());\n toggleAttribute(this._handle, value !== 'off', 'aria-valuemin', '0');\n toggleAttribute(this._handle, value !== 'off', 'aria-valuemax', '100');\n\n if (value === 'off') {\n return;\n }\n\n this._handle.remove();\n if (value === 'end') {\n // Place the handle after the content\n this._root.append(this._handle);\n } else {\n // Place the handle before the content\n this._root.prepend(this._handle);\n }\n }\n\n /**\n * Sets the orientation of the component including ARIA attributes and the resize handle icon.\n * @param value The component's orientation.\n */\n public setOrientation(value: SplitViewOrientation): void {\n this._root.setAttribute(SPLIT_VIEW_PANEL_CONSTANTS.attributes.ORIENTATION, value);\n // The divider's orientation is perpendicular to the layout of the component\n this._handle.setAttribute('aria-orientation', value === 'horizontal' ? 'vertical' : 'horizontal');\n this._icon.setAttribute('name', getHandleIcon(value));\n }\n\n /**\n * Opens or closes the component.\n * @param value Whether the component is open.\n * @param withAnimation Whether to use the animation. Defaults to `true`.\n */\n public setOpen(value: boolean, withAnimation = true, event?: ISplitViewPanelOpenEvent): void {\n const finish = (): void => {\n if (!value) {\n this._root.classList.add(SPLIT_VIEW_PANEL_CONSTANTS.classes.CLOSED);\n }\n if (event) {\n this.emitHostEvent(value ? SPLIT_VIEW_PANEL_CONSTANTS.events.DID_OPEN : SPLIT_VIEW_PANEL_CONSTANTS.events.DID_CLOSE, event);\n }\n this._parent?.unlayerSlottedPanels();\n this._parent?.update({ accessibility: true, cursor: true });\n };\n\n if (value && this._root.classList.contains(SPLIT_VIEW_PANEL_CONSTANTS.classes.CLOSED)) {\n this._root.classList.remove(SPLIT_VIEW_PANEL_CONSTANTS.classes.CLOSED);\n\n if (!withAnimation) {\n finish();\n return;\n }\n\n this._parent?.layerSlottedPanels(this._component);\n playKeyframeAnimation(this._root, SPLIT_VIEW_PANEL_CONSTANTS.classes.OPENING, true).then(() => {\n finish();\n });\n } else if (!value && !this._root.classList.contains(SPLIT_VIEW_PANEL_CONSTANTS.classes.CLOSED)) {\n\n if (!withAnimation) {\n finish();\n return;\n }\n\n this._parent?.layerSlottedPanels(this._component);\n playKeyframeAnimation(this._root, SPLIT_VIEW_PANEL_CONSTANTS.classes.CLOSING, true).then(() => {\n finish();\n });\n }\n }\n\n /**\n * Sets the components appearance and accessibility to indicated whether it is currently grabbed\n * by the user. Applies a cursor style to the document body.\n * @param value Whether the component is currently being resized via pointer interaction.\n */\n public setGrabbed(value: boolean): void {\n this._root.classList.toggle(SPLIT_VIEW_PANEL_CONSTANTS.classes.GRABBED, value);\n this._handle.setAttribute('aria-grabbed', value.toString());\n\n if (value) {\n if (!this._overlay) {\n this._overlay = createOverlay();\n }\n document.body.append(this._overlay);\n } else {\n this._overlay?.remove();\n }\n }\n\n /**\n * Applies a cursor style to the resize handle. \n * @param orientation The component's orientation. If absent the cursor will be removed.\n * @param config The component's resizable value and whether it's at the min or max value.\n */\n public setHandleCursor(orientation?: SplitViewOrientation, config?: ISplitViewPanelCursorConfig): void {\n if (orientation) {\n this._root.style.setProperty(SPLIT_VIEW_PANEL_CONSTANTS.customCssProperties.CURSOR, getCursor(orientation, config));\n } else {\n this._root.style.removeProperty(SPLIT_VIEW_PANEL_CONSTANTS.customCssProperties.CURSOR);\n }\n }\n\n /**\n * Applies a cursor style to the overlay element covering the document body.\n * @param orientation The component's orientation.\n * @param config The component's resizable value and whether it's at the min or max value.\n */\n public setBodyCursor(orientation: SplitViewOrientation, config?: ISplitViewPanelCursorConfig): void {\n this._overlay?.style.setProperty('cursor', getCursor(orientation, config));\n }\n\n /**\n * Gets the size of the content along the orientation axis. Does not include the resize handle.\n * @param orientation The component's orientation.\n * @returns The width or height of the content in pixels.\n */\n public getContentSize(orientation: SplitViewOrientation): number {\n return orientation === 'horizontal' ? this._content.clientWidth : this._content.clientHeight;\n }\n\n /**\n * Sets the size of the content not including the resize handle.\n * @param value The width or height of the content in pixels.\n */\n public setContentSize(value: number): void {\n this._component.style.setProperty(SPLIT_VIEW_PANEL_CONSTANTS.customCssProperties.SIZE, `${value}px`);\n }\n\n /**\n * Sets the ARIA attribute representing the size of the content compared to its min and max.\n * @param value The content size scaled from 0 to 100.\n */\n public setValuenow(value: number): void {\n this._handle.setAttribute('aria-valuenow', value.toFixed(2));\n }\n\n /**\n * Sets focus on the handle element.\n */\n public focusHandle(): void {\n this._handle.focus();\n }\n\n /**\n * Gets the amount of space that the component is allowed to take. This includes the current\n * size of the component and the size of the sibling it resizes into along the axis of\n * orientation. The sibling's min and max values are taken into account but the component's are\n * not.\n * @param orientation The component's orientation.\n * @param resizable The component's resizable value.\n * @returns The amount of space available for the component to resize into in pixels.\n */\n public getAvailableSpace(orientation: SplitViewOrientation, resizable: SplitViewPanelResizable): number {\n if (resizable === 'off') {\n // Return -1 if the panel is static (i.e. can't be user resized)\n return -1;\n }\n const sibling = getSplitViewPanelSibling(this._component);\n if (sibling) {\n const siblingSize = sibling.getCollapsibleSize();\n return siblingSize + this.getContentSize(orientation);\n } else {\n return this.getParentSize(orientation);\n }\n }\n\n /**\n * Gets the content size of the sibling panel the component resizes into along its axis of\n * orientation.\n * @returns The sibling's content size in pixels or 0 if the sibling does not exist.\n */\n public getSiblingContentSize(): number {\n const sibling = getSplitViewPanelSibling(this._component);\n return sibling?.getContentSize() ?? 0;\n }\n\n /**\n * Sets the content size of the sibling panel the component resizes into along its axis of\n * orientation.\n * @returns The sibling's content size in pixels.\n */\n public setSiblingContentSize(value: number): void {\n const sibling = getSplitViewPanelSibling(this._component);\n sibling?.setContentSize(value);\n }\n\n /**\n * Runs the state-layer animation.\n * @param fromActivated Whether the state-layer starts from and should end in an activated state.\n */\n public animateStateLayer(fromActivated: boolean): void {\n if (fromActivated) {\n // Wait a short amount of time so the animation is distinguishable\n window.setTimeout(() => {\n this._stateLayer.playAnimation();\n }, SPLIT_VIEW_PANEL_CONSTANTS.numbers.STATE_LAYER_ACTIVATION_WAIT);\n } else {\n this._stateLayer.playAnimation();\n }\n }\n\n /**\n * Gets the size of the parent split view along the axis of orientation.\n * @param orientation The component's orientation.\n * @returns The parent's size in pixels.\n */\n public getParentSize(orientation: SplitViewOrientation): number {\n const parentSize = orientation === 'horizontal' ? this._parent?.clientWidth : this._parent?.clientHeight;\n return parentSize ?? 0;\n }\n\n /**\n * Updates the provided characteristics of all panels.\n * @param config An update configuration.\n */\n public updateParent(config: ISplitViewUpdateConfig): void {\n this._parent?.update(config);\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean, coerceNumber } from '@tylertech/forge-core';\nimport { tylIconDragVerticalVariant } from '@tylertech/tyler-icons/extended';\nimport { tylIconDragHandle } from '@tylertech/tyler-icons/standard';\n\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { ISplitViewPanelOpenEvent, ISplitViewPanelWillResizeEvent, SplitViewPanelResizable, SPLIT_VIEW_PANEL_CONSTANTS } from './split-view-panel-constants';\nimport { SplitViewPanelFoundation } from './split-view-panel-foundation';\nimport { SplitViewPanelAdapter } from './split-view-panel-adapter';\nimport { ISplitViewUpdateConfig } from '../split-view/split-view-constants';\nimport { ISplitViewBase } from '../core/split-view-base';\nimport { IconComponent, IconRegistry } from '../../icon';\n\nconst template = '<template><div class=\\\"forge-split-view-panel\\\" id=\\\"root\\\" part=\\\"root\\\"><div class=\\\"forge-split-view-panel__handle\\\" id=\\\"handle\\\" part=\\\"handle\\\" role=\\\"separator\\\" aria-controls=\\\"content\\\" aria-grabbed=\\\"false\\\" tabindex=\\\"0\\\"><forge-icon class=\\\"forge-split-view-panel__icon\\\" id=\\\"icon\\\" part=\\\"icon\\\"></forge-icon><forge-state-layer target=\\\"handle\\\" id=\\\"state-layer\\\" exportparts=\\\"surface:state-layer\\\"></forge-state-layer><forge-focus-indicator inward target=\\\"handle\\\" part=\\\"focus-indicator\\\"></forge-focus-indicator></div><div class=\\\"forge-split-view-panel__content\\\" id=\\\"content\\\" part=\\\"content\\\" role=\\\"group\\\"><slot></slot></div></div></template>';\nconst styles = '.forge-split-view-panel{display:-webkit-box;display:flex;width:100%;height:100%;overflow:hidden;contain:paint size}.forge-split-view-panel__handle{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54));background-color:#e0e0e0;background-color:var(--forge-theme-border-color,#e0e0e0);position:relative;display:-webkit-box;display:flex;flex-shrink:0;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;outline:0}.forge-split-view-panel__content{-webkit-box-flex:1;flex:1;overflow:hidden}.forge-split-view-panel--closed{display:none}.forge-split-view-panel--disabled #handle{pointer-events:none}.forge-split-view-panel--disabled .forge-split-view-panel__icon{display:none}.forge-split-view-panel[orientation=horizontal]{min-width:8px;min-width:var(--forge-split-view-handle-width,8px);width:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-split-view-panel[orientation=horizontal] .forge-split-view-panel__handle{width:8px;width:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:usq5xpd;animation-name:usq5xpd;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes usq5xpd{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes usq5xpd{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:usq5xq6;animation-name:usq5xq6;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes usq5xq6{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes usq5xq6{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:usq5xqn;animation-name:usq5xqn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes usq5xqn{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes usq5xqn{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:usq5xra;animation-name:usq5xra;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes usq5xra{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes usq5xra{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=vertical]{min-height:8px;min-height:var(--forge-split-view-handle-width,8px);height:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-split-view-panel[orientation=vertical] .forge-split-view-panel__handle{height:8px;height:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:usq5xrk;animation-name:usq5xrk;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes usq5xrk{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes usq5xrk{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:usq5xs7;animation-name:usq5xs7;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes usq5xs7{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes usq5xs7{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:usq5xsx;animation-name:usq5xsx;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes usq5xsx{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes usq5xsx{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:usq5xt0;animation-name:usq5xt0;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes usq5xt0{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes usq5xt0{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}:host{z-index:var(--forge-split-view-animating-layer)!important;display:block;position:relative;height:100%;width:100%;-webkit-box-flex:0;flex:0}:host([hidden]){display:none}:host(:not([resizable=start],[resizable=end])){-webkit-box-flex:1;flex:1}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel{width:100%;height:100%;min-width:0;min-height:0}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel__handle{display:none}forge-focus-indicator{--forge-focus-indicator-active-width:2px}';\nimport { StateLayerComponent } from '../../state-layer';\nimport { FocusIndicatorComponent } from '../../focus-indicator';\n\nexport interface ISplitViewPanelComponent extends Partial<ISplitViewBase>, IBaseComponent {\n resizable: SplitViewPanelResizable;\n size: number | string;\n min: number | string;\n max: number | string | undefined;\n accessibleLabel: string;\n open: boolean;\n getContentSize(): number;\n getCollapsibleSize(): number;\n setContentSize(size: number): void;\n update(config: ISplitViewUpdateConfig): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-split-view-panel': ISplitViewPanelComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-split-view-panel-will-resize': CustomEvent<ISplitViewPanelWillResizeEvent>;\n 'forge-split-view-panel-resize-start': CustomEvent<null>;\n 'forge-split-view-panel-resize-end': CustomEvent<null>;\n 'forge-split-view-panel-resize': CustomEvent<number>;\n 'forge-split-view-panel-will-open': CustomEvent<ISplitViewPanelOpenEvent>;\n 'forge-split-view-panel-will-close': CustomEvent<ISplitViewPanelOpenEvent>;\n 'forge-split-view-panel-did-open': CustomEvent<ISplitViewPanelOpenEvent>;\n 'forge-split-view-panel-did-close': CustomEvent<ISplitViewPanelOpenEvent>;\n }\n}\n\n/**\n * @tag forge-split-view-panel\n */\n@CustomElement({\n name: SPLIT_VIEW_PANEL_CONSTANTS.elementName,\n dependencies: [\n IconComponent,\n StateLayerComponent,\n FocusIndicatorComponent\n ]\n})\nexport class SplitViewPanelComponent extends BaseComponent implements ISplitViewPanelComponent {\n public static get observedAttributes(): string[] {\n return [\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.RESIZABLE,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.SIZE,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.MIN,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.MAX,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.ACCESSIBLE_LABEL,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.OPEN,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.DISABLED,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.ALLOW_CLOSE,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.AUTO_CLOSE,\n SPLIT_VIEW_PANEL_CONSTANTS.attributes.AUTO_CLOSE_THRESHOLD\n ];\n }\n\n private _foundation: SplitViewPanelFoundation;\n\n constructor() {\n super();\n IconRegistry.define([tylIconDragVerticalVariant, tylIconDragHandle]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new SplitViewPanelFoundation(new SplitViewPanelAdapter(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_PANEL_CONSTANTS.attributes.RESIZABLE:\n this.resizable = newValue as SplitViewPanelResizable;\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.SIZE:\n this.size = newValue;\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.MIN:\n this.min = newValue;\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.MAX:\n if (newValue) {\n this.max = newValue;\n } else {\n this.max = undefined;\n }\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.ACCESSIBLE_LABEL:\n this.accessibleLabel = newValue;\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.DISABLED:\n if (this.hasAttribute(name)) {\n this.disabled = coerceBoolean(newValue);\n } else {\n this.disabled = undefined;\n }\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.ALLOW_CLOSE:\n if (this.hasAttribute(name)) {\n this.allowClose = coerceBoolean(newValue);\n } else {\n this.allowClose = undefined;\n }\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.AUTO_CLOSE:\n if (this.hasAttribute(name)) {\n this.autoClose = coerceBoolean(newValue);\n } else {\n this.autoClose = undefined;\n }\n break;\n case SPLIT_VIEW_PANEL_CONSTANTS.attributes.AUTO_CLOSE_THRESHOLD:\n if (newValue) {\n this.autoCloseThreshold = coerceNumber(newValue);\n } else {\n this.autoCloseThreshold = undefined;\n }\n break;\n }\n }\n\n /**\n * Controls which side of the panel the resize handle appears on.\n */\n @FoundationProperty()\n public resizable: SplitViewPanelResizable;\n\n /**\n * The initial size along the axis of orientation.\n */\n @FoundationProperty()\n public size: number | string;\n\n /**\n * The smallest size the panel can take along its axis of orientation.\n */\n @FoundationProperty()\n public min: number | string;\n\n /**\n * The largest size the panel can take along its axis of orientation.\n */\n @FoundationProperty()\n public max: number | string | undefined;\n\n /**\n * The ARIA label given to the resize handle.\n */\n @FoundationProperty()\n public accessibleLabel: string;\n\n /**\n * Controls the open state of the panel.\n */\n @FoundationProperty()\n public open: boolean;\n\n /**\n * Whether resize interactions are disabled or enabled.\n */\n @FoundationProperty()\n public disabled?: boolean;\n\n /**\n * Whether the panel can be closed via keyboard interaction.\n */\n @FoundationProperty()\n public allowClose?: boolean;\n\n /**\n * Whether the panel automatically closes when it reaches a size of 0.\n */\n @FoundationProperty()\n public autoClose?: boolean;\n\n /**\n * The size at which the panel auto closes.\n */\n @FoundationProperty()\n public autoCloseThreshold?: number;\n\n /**\n * Gets the size of content along the axis of orientation.\n * @returns The size of content in pixels.\n */\n public getContentSize(): number {\n return this._foundation.getContentSize();\n }\n\n /**\n * Gets the amount that the content can shrink along the axis of orientation before reaching its\n * min size.\n * @returns The amount that content can shrink in pixels.\n */\n public getCollapsibleSize(): number {\n return this._foundation.getCollapsibleSize();\n }\n\n /**\n * Sets the size of content along the axis of orientation.\n * @param size The new size of content in pixels.\n */\n public setContentSize(size: number): void {\n this._foundation.setContentSize(size);\n }\n\n /**\n * Updates the provided characteristics.\n * @param config An update configuration.\n */\n public update(config: ISplitViewUpdateConfig): void {\n this._foundation.update(config);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SplitViewPanelComponent } from './split-view-panel';\n\nexport * from './split-view-panel-adapter';\nexport * from './split-view-panel-constants';\nexport * from './split-view-panel-foundation';\nexport * from './split-view-panel';\nexport * from './split-view-panel-utils';\n\nexport function defineSplitViewPanelComponent(): void {\n defineCustomElement(SplitViewPanelComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "ids", "selectors", "events", "numbers", "customCssProperties", "SPLIT_VIEW_PANEL_CONSTANTS", "SplitViewAnimatingLayer", "initState", "setState", "adapter", "state", "currentSize", "__spreadProps", "__spreadValues", "clearState", "pointerResize", "evt", "initialSize", "evtPoint", "delta", "size", "clampSize", "handleBoundariesDuringResize", "getValuenow", "siblingDelta", "resizeSibling", "keyboardResize", "increment", "minResize", "maxResize", "availableSpace", "max", "safeMin", "siblingSize", "inputDevice", "handleBoundariesAfterResize", "scaleValue", "getCursor", "orientation", "config", "getHandleIcon", "getSplitViewPanelSibling", "el", "resizable", "sibling", "SplitViewPanelComponent", "parseSize", "value", "_a", "_b", "regex", "parts", "amount", "unit", "getPixelDimension", "parentSize", "parsedSize", "percentToPixels", "createOverlay", "SPLIT_VIEW_PANEL_CONSTANTS", "SplitViewPanelFoundation", "_adapter", "initState", "evt", "value", "_a", "_b", "eventIncludesArrowKey", "size", "minResize", "SPLIT_VIEW_PANEL_CONSTANTS", "maxResize", "increment", "keyboardResize", "handleBoundariesDuringResize", "pointerResize", "inputDeviceType", "setState", "clearState", "shouldOpen", "auto", "userInitiated", "eventType", "event", "parentDisabled", "parentAllowClose", "parentAutoClose", "parentAutoCloseThreshold", "parentSize", "pixelSize", "getPixelDimension", "availableSpace", "maxSize", "safeMin", "newValue", "scaleValue", "isDefined", "pixelMin", "newSize", "clampSize", "config", "valueNow", "getValuenow", "__spreadProps", "__spreadValues", "handleBoundariesAfterResize", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "ids", "selectors", "SPLIT_VIEW_PANEL_CONSTANTS", "numbers", "customCssProperties", "SPLIT_VIEW_CONSTANTS", "SplitViewPanelAdapter", "BaseAdapter", "component", "getShadowElement", "SPLIT_VIEW_PANEL_CONSTANTS", "parent", "SPLIT_VIEW_CONSTANTS", "_a", "listener", "name", "value", "toggleAttribute", "getHandleIcon", "withAnimation", "event", "_b", "finish", "playKeyframeAnimation", "createOverlay", "orientation", "config", "getCursor", "resizable", "sibling", "getSplitViewPanelSibling", "fromActivated", "parentSize", "template", "styles", "SplitViewPanelComponent", "BaseComponent", "IconRegistry", "tylIconDragVerticalVariant", "tylIconDragHandle", "attachShadowTemplate", "SplitViewPanelFoundation", "SplitViewPanelAdapter", "SPLIT_VIEW_PANEL_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "size", "config", "__decorateClass", "FoundationProperty", "CustomElement", "IconComponent", "StateLayerComponent", "FocusIndicatorComponent", "defineSplitViewPanelComponent", "defineCustomElement", "SplitViewPanelComponent"]
7
+ }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{a as o,b as E,c as S,f as V}from"./chunk.PXRGQHWR.js";import{c as H}from"./chunk.SYKZ74SL.js";import{r as p,s as v,t as f,u as m}from"./chunk.RLQB7224.js";import{d as R,l as N}from"./chunk.CIUPY66Y.js";import{a as z}from"./chunk.6GSVB5NB.js";import{a as d}from"./chunk.NVUMRW44.js";import{a as x}from"./chunk.UQQQSJVM.js";import{a as C,e as k,f as B,k as O}from"./chunk.BIQTNLIF.js";import{u as L}from"./chunk.DCCFF327.js";import{k as h,l as w}from"./chunk.J2M2MXP2.js";import{d as c}from"./chunk.M3QDAYD2.js";var g=class extends z{constructor(e){super(e);this._defaultSlotElement=B(this._component,o.selectors.DEFAULT_SLOT),this._rootElement=B(this._component,o.selectors.ROOT),this._scrollContainer=B(this._component,o.selectors.SCROLL_CONTAINER)}initializeContainerSizeObserver(e){this._resizeObserver=new ResizeObserver(()=>e()),this._resizeObserver.observe(this._component)}initializeScrollObserver(e){this._scrollContainer.addEventListener("scroll",e,{passive:!0})}destroyContainerSizeObserver(){var e;(e=this._resizeObserver)==null||e.disconnect(),this._resizeObserver=void 0}destroyScrollObserver(e){this._scrollContainer.removeEventListener("scroll",e,{passive:!0})}setVertical(e){L(this._scrollContainer,!!e,"aria-orientation","vertical")}setScrollBackwardButtonListener(e){var i;(i=this._backwardScrollButton)==null||i.addEventListener("click",e)}setScrollForwardButtonListener(e){var i;(i=this._forwardScrollButton)==null||i.addEventListener("click",e)}addSlotListener(e){this._defaultSlotElement.addEventListener("slotchange",e)}getTabs(){return Array.from(this._component.querySelectorAll(S.elementName))}async tryScrollTabIntoView(e){if(await new Promise(requestAnimationFrame),!e.isConnected||!e.selected&&!e.matches(":focus"))return;let i=this._component.vertical,r=i?this._scrollContainer.offsetTop:this._scrollContainer.offsetLeft,s=i?e.offsetTop:e.offsetLeft,a=i?e.offsetHeight:e.offsetWidth,l=i?this._scrollContainer.scrollTop:this._scrollContainer.scrollLeft,b=i?this._scrollContainer.offsetHeight:this._scrollContainer.offsetWidth,_=s-(o.numbers.SCROLL_MARGIN+r),u=s+a-b+(o.numbers.SCROLL_MARGIN-r),A=Math.min(_,Math.max(u,l)),T=e.matches(":focus")?"smooth":"instant";this._scrollContainer.scrollTo({behavior:T,[i?"left":"top"]:0,[i?"top":"left"]:A})}getScrollState(){let{scrollHeight:e,scrollWidth:i,scrollLeft:r,scrollTop:s,clientHeight:a,clientWidth:l}=this._scrollContainer,b=this._component.vertical?a+s:l+r,_=this._component.vertical?e:i,u=b===_;return{isScrolledStart:(this._component.vertical?b-a:b-l)===0,isScrolledEnd:u}}isScrollable(){let{scrollHeight:e,scrollWidth:i,clientHeight:r,clientWidth:s}=this._scrollContainer;return this._component.vertical?e>r:i>s}setScrollButtons(e){var i,r;e?(this._backwardScrollButton=this._createScrollButton(this._component.vertical?m.name:v.name),this._rootElement.insertAdjacentElement("afterbegin",this._backwardScrollButton),this._forwardScrollButton=this._createScrollButton(this._component.vertical?p.name:f.name),this._rootElement.insertAdjacentElement("beforeend",this._forwardScrollButton)):((i=this._backwardScrollButton)==null||i.remove(),this._backwardScrollButton=void 0,(r=this._forwardScrollButton)==null||r.remove(),this._forwardScrollButton=void 0)}syncScrollButtons({backwardEnabled:e,forwardEnabled:i}){var r,s;if(this._backwardScrollButton){let a=!e;a&&this._backwardScrollButton.matches(":focus")&&((r=this._forwardScrollButton)==null||r.focus()),this._backwardScrollButton.disabled=a}if(this._forwardScrollButton){let a=!i;a&&this._forwardScrollButton.matches(":focus")&&((s=this._backwardScrollButton)==null||s.focus()),this._forwardScrollButton.disabled=a}}scroll(e){let i=this._component.vertical?this._scrollContainer.offsetHeight:this._scrollContainer.offsetWidth;this._scrollContainer.scrollBy({behavior:"smooth",[this._component.vertical?"top":"left"]:i*(e==="forward"?1:-1)})}updateScrollButtonIcons(e){var s,a;let i=(s=this._backwardScrollButton)==null?void 0:s.querySelector("forge-icon");i&&(i.name=e?m.name:v.name);let r=(a=this._forwardScrollButton)==null?void 0:a.querySelector("forge-icon");r&&(r.name=e?p.name:f.name)}_createScrollButton(e){let i=document.createElement("forge-icon-button");i.classList.add(o.classes.SCROLL_BUTTON),i.shape="squared",i.type="button",i.tabIndex=-1,i.setAttribute("aria-hidden","true");let r=document.createElement("forge-icon");return r.name=e,i.appendChild(r),i}};var y=class{constructor(t){this._adapter=t;this._isInitialized=!1;this._disabled=!1;this._vertical=!1;this._clustered=!1;this._stacked=!1;this._secondary=!1;this._inverted=!1;this._autoActivate=!1;this._scrollButtons=!1;this._tabs=[];this._scrollButtonsVisible=!1;this._tabsChangedListener=()=>this._onTabsChanged(),this._tabSelectedListener=e=>this._onTabSelected(e),this._keydownListener=e=>this._onKeydown(e),this._resizeListener=()=>this._onResize(),this._scrollListener=()=>this._onScroll(),this._scrollBackwardButtonListener=()=>this._onScrollBackward(),this._scrollForwardButtonListener=()=>this._onScrollForward()}initialize(){this._adapter.addSlotListener(this._tabsChangedListener),this._adapter.addHostListener(S.events.SELECT,this._tabSelectedListener),this._adapter.addHostListener("keydown",this._keydownListener),this._adapter.setVertical(this._vertical),this._scrollButtons&&(this._adapter.initializeContainerSizeObserver(this._resizeListener),this._adapter.initializeScrollObserver(this._scrollListener),this._updateScrollState()),this._tryScrollActiveTabIntoView(),this._isInitialized=!0}destroy(){this._adapter.destroyContainerSizeObserver(),this._adapter.destroyScrollObserver(this._scrollListener),this._isInitialized=!1}async _onTabsChanged(){this._tabs=this._adapter.getTabs(),this._syncTabState(),this._tryScrollActiveTabIntoView()}_onTabSelected(t){this._selectTab(t.target)}async _onKeydown(t){var s,a;let e=this._vertical?"vertical":"horizontal";if(!(((s=E.get("default"))==null?void 0:s.has(t.key))||((a=E.get(e))==null?void 0:a.has(t.key))))return;t.preventDefault();let r=-1;if(t.key==="Home")r=this._tabs.findIndex(l=>!l.disabled);else if(t.key==="End")r=this._tabs.reduceRight((l,b,_)=>!b.disabled&&l===-1?_:l,-1);else{let l=this._tabs.findIndex(u=>u.matches(":focus")),b=t.key==="ArrowLeft"||t.key==="ArrowUp",_=u=>{var T;r=u+(b?-1:1),r=r<0?this._tabs.length-1:r%this._tabs.length,!this._tabs.every(D=>D.disabled)&&((T=this._tabs[r])!=null&&T.disabled)&&_(r)};_(l)}r!==-1&&(this._autoActivate?this._selectTab(this._tabs[r]):(this._tabs[r].focus({preventScroll:!0}),await this._adapter.tryScrollTabIntoView(this._tabs[r])))}async _selectTab(t,e=!0){if(!t||t.disabled)return;let i=this._tabs.find(r=>r.selected);if(i!==t){if(e){let r=this._tabs.indexOf(t);if(!this._adapter.emitHostEvent(o.events.CHANGE,r,!0,!0))return}t.selected=!0,t.focus({preventScroll:!0}),await this._adapter.tryScrollTabIntoView(t),i&&(i.selected=!1),this._activeTab=this._tabs.indexOf(t)}}_syncTabState(){this._tabs.forEach((t,e)=>{t.selected=e===this._activeTab,t.disabled=this._disabled,t.vertical=this._vertical,t.stacked=this._stacked,t.secondary=this._secondary,t.inverted=this._inverted})}_onResize(){this._detectScrollableStatus()}_onScroll(){this._updateScrollState()}_onScrollBackward(){this._adapter.scroll("backward")}_onScrollForward(){this._adapter.scroll("forward")}_detectScrollableStatus(){let t=this._adapter.isScrollable();this._scrollButtonsVisible!==t&&(this._adapter.setScrollButtons(t),t?(this._adapter.initializeScrollObserver(this._scrollListener),this._updateScrollState(),this._adapter.setScrollBackwardButtonListener(this._scrollBackwardButtonListener),this._adapter.setScrollForwardButtonListener(this._scrollForwardButtonListener)):this._adapter.destroyScrollObserver(this._scrollListener),this._scrollButtonsVisible=t)}_updateScrollState(){let{isScrolledEnd:t,isScrolledStart:e}=this._adapter.getScrollState(),i={backwardEnabled:!e,forwardEnabled:!t};this._adapter.syncScrollButtons(i)}_tryScrollActiveTabIntoView(){this._tabScrollAnimationFrame&&window.cancelAnimationFrame(this._tabScrollAnimationFrame),this._tabScrollAnimationFrame=window.requestAnimationFrame(()=>{this._tabScrollAnimationFrame=void 0,this._adapter.isScrollable()&&typeof this._activeTab=="number"&&this._activeTab>=0&&this._tabs[this._activeTab]&&this._adapter.tryScrollTabIntoView(this._tabs[this._activeTab])})}get disabled(){return this._disabled}set disabled(t){t=!!t,this._disabled!==t&&(this._disabled=t,this._tabs.forEach(e=>e.disabled=this._disabled),this._adapter.toggleHostAttribute(o.attributes.DISABLED,this._disabled))}get activeTab(){return this._activeTab}set activeTab(t){if(this._activeTab!==t)if(this._activeTab=t!=null?t:void 0,typeof this._activeTab=="number"){let e=this._tabs[this._activeTab];this._selectTab(e,!1),this._adapter.setHostAttribute(o.attributes.ACTIVE_TAB,String(this._activeTab))}else this._tabs.forEach(e=>e.selected=!1),this._adapter.removeHostAttribute(o.attributes.ACTIVE_TAB)}get vertical(){return this._vertical}set vertical(t){t=!!t,this._vertical!==t&&(this._vertical=t,this._isInitialized&&this._adapter.setVertical(this._vertical),this._tabs.forEach(e=>e.vertical=this._vertical),this._scrollButtonsVisible&&this._adapter.updateScrollButtonIcons(this._vertical),this._adapter.toggleHostAttribute(S.attributes.VERTICAL,this._vertical))}get clustered(){return this._clustered}set clustered(t){t=!!t,this._clustered!==t&&(this._clustered=t,this._adapter.toggleHostAttribute(o.attributes.CLUSTERED,this._clustered))}get stacked(){return this._stacked}set stacked(t){t=!!t,this._stacked!==t&&(this._stacked=t,this._tabs.forEach(e=>e.stacked=this._stacked),this._adapter.toggleHostAttribute(o.attributes.STACKED,this._stacked))}get secondary(){return this._secondary}set secondary(t){t=!!t,this._secondary!==t&&(this._secondary=t,this._tabs.forEach(e=>e.secondary=this._secondary),this._adapter.toggleHostAttribute(o.attributes.SECONDARY,this._secondary))}get inverted(){return this._inverted}set inverted(t){t=!!t,this._inverted!==t&&(this._inverted=t,this._tabs.forEach(e=>e.inverted=this._inverted),this._adapter.toggleHostAttribute(o.attributes.INVERTED,this._inverted))}get autoActivate(){return this._autoActivate}set autoActivate(t){t=!!t,this._autoActivate!==t&&(this._autoActivate=t,this._adapter.toggleHostAttribute(o.attributes.AUTO_ACTIVATE,this._autoActivate))}get scrollButtons(){return this._scrollButtons}set scrollButtons(t){t=!!t,this._scrollButtons!==t&&(this._scrollButtons=!!t,this._isInitialized&&(this._scrollButtons?(this._adapter.initializeContainerSizeObserver(this._resizeListener),this._adapter.initializeScrollObserver(this._scrollListener),this._detectScrollableStatus(),this._updateScrollState(),this._tryScrollActiveTabIntoView()):(this._adapter.destroyContainerSizeObserver(),this._adapter.destroyScrollObserver(this._scrollListener),this._adapter.setScrollButtons(this._scrollButtons),this._scrollButtonsVisible=!1)),this._adapter.setHostAttribute(o.attributes.SCROLL_BUTTONS,String(this._scrollButtons)))}};var F='<template><div class="forge-tab-bar" part="container"><div role="tablist" class="scroll-container" part="scroll-container"><slot></slot></div></div></template>',K=":host{position:relative;display:block}:host([hidden]){display:none}.forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, space-between);--_tab-bar-stretch:var(--forge-tab-bar-stretch, 1);--_tab-bar-divider-color:var(--forge-tab-bar-divider-color, var(--forge-theme-outline, #e0e0e0));--_tab-bar-divider-thickness:var(--forge-tab-bar-divider-thickness, 1px)}.forge-tab-bar{position:relative;display:grid;grid-template-columns:auto 1fr auto;max-width:100%;max-height:100%;-webkit-box-align:center;align-items:center;border-bottom:var(--_tab-bar-divider-thickness) solid var(--_tab-bar-divider-color)}.scroll-container{position:relative;display:-webkit-box;display:flex;-webkit-box-pack:var(--_tab-bar-justify);justify-content:var(--_tab-bar-justify);-webkit-box-align:end;align-items:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:auto;scroll-behavior:smooth;scrollbar-width:none;grid-column:2}.scroll-container::-webkit-scrollbar{display:none}::slotted(*){-webkit-box-flex:var(--_tab-bar-stretch);flex:var(--_tab-bar-stretch)}::slotted([selected]){z-index:1}forge-icon-button{--forge-icon-button-shape-squared:0px}:host([vertical]) .forge-tab-bar{grid-template-columns:none;grid-template-rows:auto 1fr auto;-webkit-box-align:initial;align-items:initial;border-bottom:none;border-right:var(--_tab-bar-divider-thickness) solid var(--_tab-bar-divider-color);height:100%}:host([vertical]) .scroll-container{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:stretch;align-items:stretch;gap:0;grid-column:auto;grid-row:2}:host([vertical]) .scroll-button{justify-self:center}:host([inverted]:not([vertical])) .forge-tab-bar{border-bottom:none;border-top:variale(divider-thickness) solid var(--_tab-bar-divider-color)}:host([inverted][vertical]) .forge-tab-bar{border-bottom:none;border-top:var(--_tab-bar-divider-thickness) solid var(--_tab-bar-divider-color)}:host([clustered]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, flex-start);--_tab-bar-stretch:var(--forge-tab-bar-stretch, 0)}:host([clustered=start]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, flex-start)}:host([clustered=center]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, center)}:host([clustered=end]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, flex-end)}",n=class extends O{constructor(){super();R.define([v,f,m,p]),k(this,F,K),this._foundation=new y(new g(this))}static get observedAttributes(){return[o.attributes.DISABLED,o.attributes.ACTIVE_TAB,o.attributes.VERTICAL,o.attributes.CLUSTERED,o.attributes.STACKED,o.attributes.SECONDARY,o.attributes.INVERTED,o.attributes.AUTO_ACTIVATE,o.attributes.SCROLL_BUTTONS]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,i,r){switch(e){case o.attributes.DISABLED:this.disabled=h(r);break;case o.attributes.ACTIVE_TAB:this.activeTab=r?w(r):void 0;break;case o.attributes.VERTICAL:this.vertical=h(r);break;case o.attributes.CLUSTERED:this.clustered=h(r);break;case o.attributes.STACKED:this.stacked=h(r);break;case o.attributes.SECONDARY:this.secondary=h(r);break;case o.attributes.INVERTED:this.inverted=h(r);break;case o.attributes.AUTO_ACTIVATE:this.autoActivate=h(r);break;case o.attributes.SCROLL_BUTTONS:this.scrollButtons=h(r);break}}};c([d()],n.prototype,"disabled",2),c([d()],n.prototype,"activeTab",2),c([d()],n.prototype,"vertical",2),c([d()],n.prototype,"clustered",2),c([d()],n.prototype,"stacked",2),c([d()],n.prototype,"secondary",2),c([d()],n.prototype,"inverted",2),c([d()],n.prototype,"autoActivate",2),c([d()],n.prototype,"scrollButtons",2),n=c([x({name:o.elementName,dependencies:[V,H,N]})],n);function bt(){C(n)}export{g as a,y as b,n as c,bt as d};
7
- //# sourceMappingURL=chunk.IZRURH7C.js.map
6
+ import{a as o,b as E,c as S,f as V}from"./chunk.TQWZDM6T.js";import{d as H}from"./chunk.GIENHEMN.js";import{r as p,s as v,t as f,u as m}from"./chunk.RLQB7224.js";import{d as R,l as N}from"./chunk.T7NWP7DB.js";import{a as d}from"./chunk.NVUMRW44.js";import{a as z}from"./chunk.OLFOVKQG.js";import{a as x}from"./chunk.VRSPT7WX.js";import{a as C,e as k,f as B,k as O}from"./chunk.LNTTU2GL.js";import{r as L}from"./chunk.L4QSPQDE.js";import{k as h,l as w}from"./chunk.J2M2MXP2.js";import{d as c}from"./chunk.M3QDAYD2.js";var g=class extends z{constructor(e){super(e);this._defaultSlotElement=B(this._component,o.selectors.DEFAULT_SLOT),this._rootElement=B(this._component,o.selectors.ROOT),this._scrollContainer=B(this._component,o.selectors.SCROLL_CONTAINER)}initializeContainerSizeObserver(e){this._resizeObserver=new ResizeObserver(()=>e()),this._resizeObserver.observe(this._component)}initializeScrollObserver(e){this._scrollContainer.addEventListener("scroll",e,{passive:!0})}destroyContainerSizeObserver(){var e;(e=this._resizeObserver)==null||e.disconnect(),this._resizeObserver=void 0}destroyScrollObserver(e){this._scrollContainer.removeEventListener("scroll",e,{passive:!0})}setVertical(e){L(this._scrollContainer,!!e,"aria-orientation","vertical")}setScrollBackwardButtonListener(e){var i;(i=this._backwardScrollButton)==null||i.addEventListener("click",e)}setScrollForwardButtonListener(e){var i;(i=this._forwardScrollButton)==null||i.addEventListener("click",e)}addSlotListener(e){this._defaultSlotElement.addEventListener("slotchange",e)}getTabs(){return Array.from(this._component.querySelectorAll(S.elementName))}async tryScrollTabIntoView(e){if(await new Promise(requestAnimationFrame),!e.isConnected||!e.selected&&!e.matches(":focus"))return;let i=this._component.vertical,r=i?this._scrollContainer.offsetTop:this._scrollContainer.offsetLeft,s=i?e.offsetTop:e.offsetLeft,a=i?e.offsetHeight:e.offsetWidth,l=i?this._scrollContainer.scrollTop:this._scrollContainer.scrollLeft,b=i?this._scrollContainer.offsetHeight:this._scrollContainer.offsetWidth,_=s-(o.numbers.SCROLL_MARGIN+r),u=s+a-b+(o.numbers.SCROLL_MARGIN-r),A=Math.min(_,Math.max(u,l)),T=e.matches(":focus")?"smooth":"instant";this._scrollContainer.scrollTo({behavior:T,[i?"left":"top"]:0,[i?"top":"left"]:A})}getScrollState(){let{scrollHeight:e,scrollWidth:i,scrollLeft:r,scrollTop:s,clientHeight:a,clientWidth:l}=this._scrollContainer,b=this._component.vertical?a+s:l+r,_=this._component.vertical?e:i,u=b===_;return{isScrolledStart:(this._component.vertical?b-a:b-l)===0,isScrolledEnd:u}}isScrollable(){let{scrollHeight:e,scrollWidth:i,clientHeight:r,clientWidth:s}=this._scrollContainer;return this._component.vertical?e>r:i>s}setScrollButtons(e){var i,r;e?(this._backwardScrollButton=this._createScrollButton(this._component.vertical?m.name:v.name),this._rootElement.insertAdjacentElement("afterbegin",this._backwardScrollButton),this._forwardScrollButton=this._createScrollButton(this._component.vertical?p.name:f.name),this._rootElement.insertAdjacentElement("beforeend",this._forwardScrollButton)):((i=this._backwardScrollButton)==null||i.remove(),this._backwardScrollButton=void 0,(r=this._forwardScrollButton)==null||r.remove(),this._forwardScrollButton=void 0)}syncScrollButtons({backwardEnabled:e,forwardEnabled:i}){var r,s;if(this._backwardScrollButton){let a=!e;a&&this._backwardScrollButton.matches(":focus")&&((r=this._forwardScrollButton)==null||r.focus()),this._backwardScrollButton.disabled=a}if(this._forwardScrollButton){let a=!i;a&&this._forwardScrollButton.matches(":focus")&&((s=this._backwardScrollButton)==null||s.focus()),this._forwardScrollButton.disabled=a}}scroll(e){let i=this._component.vertical?this._scrollContainer.offsetHeight:this._scrollContainer.offsetWidth;this._scrollContainer.scrollBy({behavior:"smooth",[this._component.vertical?"top":"left"]:i*(e==="forward"?1:-1)})}updateScrollButtonIcons(e){var s,a;let i=(s=this._backwardScrollButton)==null?void 0:s.querySelector("forge-icon");i&&(i.name=e?m.name:v.name);let r=(a=this._forwardScrollButton)==null?void 0:a.querySelector("forge-icon");r&&(r.name=e?p.name:f.name)}_createScrollButton(e){let i=document.createElement("forge-icon-button");i.classList.add(o.classes.SCROLL_BUTTON),i.shape="squared",i.type="button",i.tabIndex=-1,i.setAttribute("aria-hidden","true");let r=document.createElement("forge-icon");return r.name=e,i.appendChild(r),i}};var y=class{constructor(t){this._adapter=t;this._isInitialized=!1;this._disabled=!1;this._vertical=!1;this._clustered=!1;this._stacked=!1;this._secondary=!1;this._inverted=!1;this._autoActivate=!1;this._scrollButtons=!1;this._tabs=[];this._scrollButtonsVisible=!1;this._tabsChangedListener=()=>this._onTabsChanged(),this._tabSelectedListener=e=>this._onTabSelected(e),this._keydownListener=e=>this._onKeydown(e),this._resizeListener=()=>this._onResize(),this._scrollListener=()=>this._onScroll(),this._scrollBackwardButtonListener=()=>this._onScrollBackward(),this._scrollForwardButtonListener=()=>this._onScrollForward()}initialize(){this._adapter.addSlotListener(this._tabsChangedListener),this._adapter.addHostListener(S.events.SELECT,this._tabSelectedListener),this._adapter.addHostListener("keydown",this._keydownListener),this._adapter.setVertical(this._vertical),this._scrollButtons&&(this._adapter.initializeContainerSizeObserver(this._resizeListener),this._adapter.initializeScrollObserver(this._scrollListener),this._updateScrollState()),this._tryScrollActiveTabIntoView(),this._isInitialized=!0}destroy(){this._adapter.destroyContainerSizeObserver(),this._adapter.destroyScrollObserver(this._scrollListener),this._isInitialized=!1}async _onTabsChanged(){this._tabs=this._adapter.getTabs(),this._syncTabState(),this._tryScrollActiveTabIntoView()}_onTabSelected(t){this._selectTab(t.target)}async _onKeydown(t){var s,a;let e=this._vertical?"vertical":"horizontal";if(!(((s=E.get("default"))==null?void 0:s.has(t.key))||((a=E.get(e))==null?void 0:a.has(t.key))))return;t.preventDefault();let r=-1;if(t.key==="Home")r=this._tabs.findIndex(l=>!l.disabled);else if(t.key==="End")r=this._tabs.reduceRight((l,b,_)=>!b.disabled&&l===-1?_:l,-1);else{let l=this._tabs.findIndex(u=>u.matches(":focus")),b=t.key==="ArrowLeft"||t.key==="ArrowUp",_=u=>{var T;r=u+(b?-1:1),r=r<0?this._tabs.length-1:r%this._tabs.length,!this._tabs.every(D=>D.disabled)&&((T=this._tabs[r])!=null&&T.disabled)&&_(r)};_(l)}r!==-1&&(this._autoActivate?this._selectTab(this._tabs[r]):(this._tabs[r].focus({preventScroll:!0}),await this._adapter.tryScrollTabIntoView(this._tabs[r])))}async _selectTab(t,e=!0){if(!t||t.disabled)return;let i=this._tabs.find(r=>r.selected);if(i!==t){if(e){let r=this._tabs.indexOf(t);if(!this._adapter.emitHostEvent(o.events.CHANGE,r,!0,!0))return}t.selected=!0,t.focus({preventScroll:!0}),await this._adapter.tryScrollTabIntoView(t),i&&(i.selected=!1),this._activeTab=this._tabs.indexOf(t)}}_syncTabState(){this._tabs.forEach((t,e)=>{t.selected=e===this._activeTab,t.disabled=this._disabled,t.vertical=this._vertical,t.stacked=this._stacked,t.secondary=this._secondary,t.inverted=this._inverted})}_onResize(){this._detectScrollableStatus()}_onScroll(){this._updateScrollState()}_onScrollBackward(){this._adapter.scroll("backward")}_onScrollForward(){this._adapter.scroll("forward")}_detectScrollableStatus(){let t=this._adapter.isScrollable();this._scrollButtonsVisible!==t&&(this._adapter.setScrollButtons(t),t?(this._adapter.initializeScrollObserver(this._scrollListener),this._updateScrollState(),this._adapter.setScrollBackwardButtonListener(this._scrollBackwardButtonListener),this._adapter.setScrollForwardButtonListener(this._scrollForwardButtonListener)):this._adapter.destroyScrollObserver(this._scrollListener),this._scrollButtonsVisible=t)}_updateScrollState(){let{isScrolledEnd:t,isScrolledStart:e}=this._adapter.getScrollState(),i={backwardEnabled:!e,forwardEnabled:!t};this._adapter.syncScrollButtons(i)}_tryScrollActiveTabIntoView(){this._tabScrollAnimationFrame&&window.cancelAnimationFrame(this._tabScrollAnimationFrame),this._tabScrollAnimationFrame=window.requestAnimationFrame(()=>{this._tabScrollAnimationFrame=void 0,this._adapter.isScrollable()&&typeof this._activeTab=="number"&&this._activeTab>=0&&this._tabs[this._activeTab]&&this._adapter.tryScrollTabIntoView(this._tabs[this._activeTab])})}get disabled(){return this._disabled}set disabled(t){t=!!t,this._disabled!==t&&(this._disabled=t,this._tabs.forEach(e=>e.disabled=this._disabled),this._adapter.toggleHostAttribute(o.attributes.DISABLED,this._disabled))}get activeTab(){return this._activeTab}set activeTab(t){if(this._activeTab!==t)if(this._activeTab=t!=null?t:void 0,typeof this._activeTab=="number"){let e=this._tabs[this._activeTab];this._selectTab(e,!1),this._adapter.setHostAttribute(o.attributes.ACTIVE_TAB,String(this._activeTab))}else this._tabs.forEach(e=>e.selected=!1),this._adapter.removeHostAttribute(o.attributes.ACTIVE_TAB)}get vertical(){return this._vertical}set vertical(t){t=!!t,this._vertical!==t&&(this._vertical=t,this._isInitialized&&this._adapter.setVertical(this._vertical),this._tabs.forEach(e=>e.vertical=this._vertical),this._scrollButtonsVisible&&this._adapter.updateScrollButtonIcons(this._vertical),this._adapter.toggleHostAttribute(S.attributes.VERTICAL,this._vertical))}get clustered(){return this._clustered}set clustered(t){t=!!t,this._clustered!==t&&(this._clustered=t,this._adapter.toggleHostAttribute(o.attributes.CLUSTERED,this._clustered))}get stacked(){return this._stacked}set stacked(t){t=!!t,this._stacked!==t&&(this._stacked=t,this._tabs.forEach(e=>e.stacked=this._stacked),this._adapter.toggleHostAttribute(o.attributes.STACKED,this._stacked))}get secondary(){return this._secondary}set secondary(t){t=!!t,this._secondary!==t&&(this._secondary=t,this._tabs.forEach(e=>e.secondary=this._secondary),this._adapter.toggleHostAttribute(o.attributes.SECONDARY,this._secondary))}get inverted(){return this._inverted}set inverted(t){t=!!t,this._inverted!==t&&(this._inverted=t,this._tabs.forEach(e=>e.inverted=this._inverted),this._adapter.toggleHostAttribute(o.attributes.INVERTED,this._inverted))}get autoActivate(){return this._autoActivate}set autoActivate(t){t=!!t,this._autoActivate!==t&&(this._autoActivate=t,this._adapter.toggleHostAttribute(o.attributes.AUTO_ACTIVATE,this._autoActivate))}get scrollButtons(){return this._scrollButtons}set scrollButtons(t){t=!!t,this._scrollButtons!==t&&(this._scrollButtons=!!t,this._isInitialized&&(this._scrollButtons?(this._adapter.initializeContainerSizeObserver(this._resizeListener),this._adapter.initializeScrollObserver(this._scrollListener),this._detectScrollableStatus(),this._updateScrollState(),this._tryScrollActiveTabIntoView()):(this._adapter.destroyContainerSizeObserver(),this._adapter.destroyScrollObserver(this._scrollListener),this._adapter.setScrollButtons(this._scrollButtons),this._scrollButtonsVisible=!1)),this._adapter.setHostAttribute(o.attributes.SCROLL_BUTTONS,String(this._scrollButtons)))}};var F='<template><div class="forge-tab-bar" part="container"><div role="tablist" class="scroll-container" part="scroll-container"><slot></slot></div></div></template>',K=":host{position:relative;display:block}:host([hidden]){display:none}.forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, space-between);--_tab-bar-stretch:var(--forge-tab-bar-stretch, 1);--_tab-bar-divider-color:var(--forge-tab-bar-divider-color, var(--forge-theme-outline, #e0e0e0));--_tab-bar-divider-thickness:var(--forge-tab-bar-divider-thickness, 1px)}.forge-tab-bar{position:relative;display:grid;grid-template-columns:auto 1fr auto;max-width:100%;max-height:100%;-webkit-box-align:center;align-items:center;border-bottom:var(--_tab-bar-divider-thickness) solid var(--_tab-bar-divider-color)}.scroll-container{position:relative;display:-webkit-box;display:flex;-webkit-box-pack:var(--_tab-bar-justify);justify-content:var(--_tab-bar-justify);-webkit-box-align:end;align-items:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:auto;scroll-behavior:smooth;scrollbar-width:none;grid-column:2}.scroll-container::-webkit-scrollbar{display:none}::slotted(*){-webkit-box-flex:var(--_tab-bar-stretch);flex:var(--_tab-bar-stretch)}::slotted([selected]){z-index:1}forge-icon-button{--forge-icon-button-shape-squared:0px}:host([vertical]) .forge-tab-bar{grid-template-columns:none;grid-template-rows:auto 1fr auto;-webkit-box-align:initial;align-items:initial;border-bottom:none;border-right:var(--_tab-bar-divider-thickness) solid var(--_tab-bar-divider-color);height:100%}:host([vertical]) .scroll-container{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:stretch;align-items:stretch;gap:0;grid-column:auto;grid-row:2}:host([vertical]) .scroll-button{justify-self:center}:host([inverted]:not([vertical])) .forge-tab-bar{border-bottom:none;border-top:variale(divider-thickness) solid var(--_tab-bar-divider-color)}:host([inverted][vertical]) .forge-tab-bar{border-bottom:none;border-top:var(--_tab-bar-divider-thickness) solid var(--_tab-bar-divider-color)}:host([clustered]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, flex-start);--_tab-bar-stretch:var(--forge-tab-bar-stretch, 0)}:host([clustered=start]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, flex-start)}:host([clustered=center]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, center)}:host([clustered=end]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, flex-end)}",n=class extends O{constructor(){super();R.define([v,f,m,p]),k(this,F,K),this._foundation=new y(new g(this))}static get observedAttributes(){return[o.attributes.DISABLED,o.attributes.ACTIVE_TAB,o.attributes.VERTICAL,o.attributes.CLUSTERED,o.attributes.STACKED,o.attributes.SECONDARY,o.attributes.INVERTED,o.attributes.AUTO_ACTIVATE,o.attributes.SCROLL_BUTTONS]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,i,r){switch(e){case o.attributes.DISABLED:this.disabled=h(r);break;case o.attributes.ACTIVE_TAB:this.activeTab=r?w(r):void 0;break;case o.attributes.VERTICAL:this.vertical=h(r);break;case o.attributes.CLUSTERED:this.clustered=h(r);break;case o.attributes.STACKED:this.stacked=h(r);break;case o.attributes.SECONDARY:this.secondary=h(r);break;case o.attributes.INVERTED:this.inverted=h(r);break;case o.attributes.AUTO_ACTIVATE:this.autoActivate=h(r);break;case o.attributes.SCROLL_BUTTONS:this.scrollButtons=h(r);break}}};c([d()],n.prototype,"disabled",2),c([d()],n.prototype,"activeTab",2),c([d()],n.prototype,"vertical",2),c([d()],n.prototype,"clustered",2),c([d()],n.prototype,"stacked",2),c([d()],n.prototype,"secondary",2),c([d()],n.prototype,"inverted",2),c([d()],n.prototype,"autoActivate",2),c([d()],n.prototype,"scrollButtons",2),n=c([x({name:o.elementName,dependencies:[V,H,N]})],n);function bt(){C(n)}export{g as a,y as b,n as c,bt as d};
7
+ //# sourceMappingURL=chunk.3KAKJGUS.js.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as o,d as M}from"./chunk.BQZKOIAW.js";import{a as C}from"./chunk.LEVFMI2Q.js";import{a as d}from"./chunk.NVUMRW44.js";import{a as O}from"./chunk.OLFOVKQG.js";import{a as x,b as D}from"./chunk.VRSPT7WX.js";import{a as T,e as R,f as E,k as N}from"./chunk.LNTTU2GL.js";import{j as f,p as I,q as g}from"./chunk.L4QSPQDE.js";import{a as y}from"./chunk.DJSHVUEM.js";import{b as m,d as A,k as _}from"./chunk.J2M2MXP2.js";import{a as L,d as l}from"./chunk.M3QDAYD2.js";var Y=`${D}stepper`,F={STEPPER:"forge-stepper",LINEAR:"linear",ALTERNATIVE:"alternative",CLUSTERED:"clustered",FIXED:"fixed",ALIGN_LEFT:"align-left",ALIGN_CENTER:"align-center",ALIGN_RIGHT:"align-right",VERTICAL:"vertical",FOCUSED:"focused"},K={STEPPER:`.${F.STEPPER}`},k={SELECTED_INDEX:"selected-index",LINEAR:"linear",ALTERNATIVE:"alternative",LAYOUT_MODE:"layout-mode",LAYOUT_ALIGN:"layout-align",DISABLED:"disabled",VERTICAL:"vertical"},n={ARROW_LEFT_KEY:"ArrowLeft",ARROW_RIGHT_KEY:"ArrowRight",ARROW_UP_KEY:"ArrowUp",ARROW_DOWN_KEY:"ArrowDown",END_KEY:"End",ENTER_KEY:"Enter",HOME_KEY:"Home",SPACE_KEY:"Space",TAB_KEY:"Tab"},u={ARROW_LEFT_KEYCODE:37,ARROW_RIGHT_KEYCODE:39,END_KEYCODE:35,HOME_KEYCODE:36,ENTER_KEYCODE:13,SPACE_KEYCODE:32},P=[n.ARROW_LEFT_KEY,n.ARROW_RIGHT_KEY,n.ARROW_DOWN_KEY,n.ARROW_UP_KEY,n.END_KEY,n.HOME_KEY,n.ENTER_KEY,n.SPACE_KEY,n.TAB_KEY],H={[u.ARROW_LEFT_KEYCODE]:n.ARROW_LEFT_KEY,[u.ARROW_RIGHT_KEYCODE]:n.ARROW_RIGHT_KEY,[u.END_KEYCODE]:n.END_KEY,[u.HOME_KEYCODE]:n.HOME_KEY,[u.ENTER_KEYCODE]:n.ENTER_KEY,[u.SPACE_KEYCODE]:n.SPACE_KEY},i={elementName:Y,classes:F,selectors:K,attributes:k,numbers:u,strings:n,ACCEPTABLE_KEYS:P,KEYCODE_MAP:H};var c=class S{static createStepElement(t,e,s){var p,v;let a=document.createElement(o.elementName);return a.index=e,a.completed=t.completed||!1,a.editable=t.editable||!1,a.selected=s.selectedIndex===e,a.alternative=s.alternative,a.error=t.error||!1,a.disabled=t.disabled||!1,a.vertical=(v=(p=t.vertical)!=null?p:s.vertical)!=null?v:!1,a.ignoreUserExpansion=t.ignoreUserExpansion||!1,a.expanded=t.expanded||!1,s.linear&&e>s.selectedIndex&&(a.tabIndex=-1),a.textContent=t.label,t.optionalLabel&&a.appendChild(this.createStepOptionalLabel(t.optionalLabel)),a}static createStepOptionalLabel(t){let e=document.createElement("span");return e.slot="optional",e.textContent=t||"",e}static setLinearState(t,e){let s=t.classList.contains(i.classes.LINEAR);s&&!e&&(t.classList.remove(i.classes.LINEAR),s=!1),!s&&e&&t.classList.add(i.classes.LINEAR)}static setAlternativeState(t,e){let s=t.classList.contains(i.classes.ALTERNATIVE);s&&!e&&(t.classList.remove(i.classes.ALTERNATIVE),s=!1),!s&&e&&t.classList.add(i.classes.ALTERNATIVE)}static setLayoutMode(t,e){switch(e){case"clustered":t.classList.contains(i.classes.FIXED)&&t.classList.remove(i.classes.FIXED),t.classList.add(i.classes.CLUSTERED);break;case"fixed":t.classList.contains(i.classes.CLUSTERED)&&t.classList.remove(i.classes.CLUSTERED),t.classList.add(i.classes.FIXED);break}}static setLayoutAlign(t,e){switch(t.classList.contains(i.classes.ALIGN_LEFT)&&t.classList.remove(i.classes.ALIGN_LEFT),t.classList.contains(i.classes.ALIGN_CENTER)&&t.classList.remove(i.classes.ALIGN_CENTER),t.classList.contains(i.classes.ALIGN_RIGHT)&&t.classList.remove(i.classes.ALIGN_RIGHT),e){case"left":t.classList.add(i.classes.ALIGN_LEFT);break;case"center":t.classList.add(i.classes.ALIGN_CENTER);break;case"right":t.classList.add(i.classes.ALIGN_RIGHT);break}}static createSteps(t){let e=[];return t.steps.forEach((s,a)=>{let p=S.createStepElement(s,a,t);e.push(p)}),e[0].setAttribute(o.attributes.FIRST,""),e[e.length-1].setAttribute(o.attributes.LAST,""),e}};var h=class extends O{constructor(e){super(e);this._rootElement=E(e,i.selectors.STEPPER),this._slotElement=this._rootElement.querySelector("slot")}initializeAccessibility(){this._component.hasAttribute("role")||this._component.setAttribute("role","tablist")}patchSafari(){this._applyToSteps(e=>e.setAttribute("safari",""))}addSlotChangeListener(e){this._slotElement.addEventListener("slotchange",e)}removeSlotChangeListener(e){this._slotElement.addEventListener("slotchange",e)}getLastStep(){let e=this._getSteps();return e.item(e.length-1)}setSelected(e){this._getSteps().forEach(s=>{s===e?s.selected=!0:s.selected=!1})}assignIndices(){this._getSteps().forEach((s,a)=>{s.index=a})}assignFirstLastStep(){let e=this._getSteps();e&&e.length>1&&(e[0].setAttribute("first",""),e[e.length-1].setAttribute("last",""))}setLayoutAlign(e){c.setLayoutAlign(this._rootElement,e)}setLayoutMode(e){c.setLayoutMode(this._rootElement,e),this._applyToSteps(s=>s.setAttribute(o.attributes.CLUSTERED,""))}setAlternativeState(e){c.setAlternativeState(this._rootElement,e),this._applyToSteps(s=>s.alternative=e)}setVertical(e){g(this._rootElement,e,i.classes.VERTICAL),this._applyToSteps(s=>s.vertical=e)}setLinearState(e){c.setLinearState(this._rootElement,e)}removeRootListener(e,s){this._rootElement.removeEventListener("click",s)}addRootListener(e,s){this._rootElement.addEventListener(e,s)}setSelectedByIndex(e){this._applyToSteps(s=>{s.selected&&s.index!==e&&(s.selected=!1),s.index===e&&(s.selected=!0)})}applyConfiguredSteps(e){this._component.querySelectorAll(o.elementName).forEach(s=>{this._component.removeChild(s)}),e.forEach(s=>this._component.appendChild(s))}tryGetFocusedStep(){let e,s=I(this._component.ownerDocument);return this._applyToSteps(a=>{s===E(a,o.selectors.STEP)&&(e=a)}),e}getFocusedOrSelectedStep(){let e=this.tryGetFocusedStep();return e||(e=this._getSteps()[0],e.focus()),e}getStep(e){let s=0,a=this._getSteps();return e<0?a.item(a.length-1):(a.length>e&&(s=e),a.item(s))}toggleDisabled(e){this._applyToSteps(s=>s.disabled=e)}toggleRootClass(e,s){g(this._rootElement,s,e)}isStepperFocused(){return this._rootElement.classList.contains(i.classes.FOCUSED)}setStepsListener(e,s){this._applyToSteps(a=>a.addEventListener(e,s))}removeStepsListener(e,s){this._applyToSteps(a=>a.removeEventListener(e,s))}_applyToSteps(e){this._getSteps().forEach(e)}_getSteps(){return this._component.querySelectorAll(o.elementName)}};var b=class{constructor(t){this._adapter=t;this._steps=[];this._selectedIndex=0;this._linear=!1;this._alternative=!1;this._layoutMode="fixed";this._layoutAlign="center";this._initialize=!1;this._clickListener=e=>this._handleClick(e),this._keyListener=e=>this._onKeydown(e),this._stepFocusListener=()=>this._onStepFocus(),this._stepBlurListener=()=>this._onStepBlur(),this._stepExpandedContentFocusInListener=e=>this._onStepExpandedContentFocusIn(e),this._stepExpandedContentFocusOutListener=e=>this._onStepExpandedContentFocusOut(e),this._slotChangeListener=e=>this._onSlotChange(e)}initialize(){this._adapter.initializeAccessibility(),this._adapter.assignIndices(),this._adapter.setLinearState(this._linear),this._adapter.setAlternativeState(this._alternative),this._adapter.setLayoutAlign(this._layoutAlign),this._adapter.setLayoutMode(this._layoutMode),this._adapter.addRootListener("click",this._clickListener),this._adapter.addHostListener("keydown",this._keyListener),this._adapter.assignFirstLastStep(),this._adapter.addRootListener(o.events.EXPANDED_CONTENT_FOCUSIN,this._stepExpandedContentFocusInListener),this._adapter.addRootListener(o.events.EXPANDED_CONTENT_FOCUSOUT,this._stepExpandedContentFocusOutListener),this._applySelectedIndex(),this._patchBrowser(),this._adapter.setStepsListener("blur",this._stepBlurListener),this._adapter.setStepsListener("focus",this._stepFocusListener),this._initialize||this._adapter.addSlotChangeListener(this._slotChangeListener),this._initialize=!0}disconnect(){this._adapter.removeRootListener("click",this._clickListener),this._adapter.removeHostListener("keydown",this._keyListener),this._adapter.removeSlotChangeListener(this._slotChangeListener),this._adapter.removeStepsListener("blur",this._stepBlurListener),this._adapter.removeStepsListener("focus",this._stepFocusListener)}get steps(){return this._steps.map(t=>L({},t))}set steps(t){if(Array.isArray(t)&&t.length>0)this._steps=[...t.map(e=>L({},e))];else{this._steps=[];return}this._renderConfiguration()}get selectedIndex(){return this._selectedIndex}set selectedIndex(t){if(!m(t))t=0;else if(!A(t)){let e=Number(t);t=isNaN(e)?0:e}this._selectedIndex!==t&&(this._selectedIndex=t,this._adapter.setHostAttribute(i.attributes.SELECTED_INDEX,this._selectedIndex.toString()),this._applySelectedIndex())}get linear(){return this._linear}set linear(t){t=!!t,this._linear!==t&&(this._linear=t,this._adapter.setLinearState(this._linear),this._adapter.setHostAttribute(i.attributes.LINEAR,this._linear.toString()))}get alternative(){return this._alternative}set alternative(t){t=!!t,this._alternative!==t&&(this._alternative=t,this._adapter.setAlternativeState(this._alternative),this._adapter.setHostAttribute(i.attributes.ALTERNATIVE,this._alternative.toString()))}get layoutMode(){return this._layoutMode}set layoutMode(t){/^(fixed|clustered)$/.test(t)&&this._layoutMode!==t&&(this._layoutMode=t,this._adapter.setHostAttribute(i.attributes.LAYOUT_MODE,this._layoutMode),this._adapter.setLayoutMode(this._layoutMode))}get layoutAlign(){return this._layoutAlign}set layoutAlign(t){/^(left|center|right)$/.test(t)&&this._layoutAlign!==t&&(this._layoutAlign=t,this._adapter.setLayoutAlign(this._layoutAlign),this._adapter.setHostAttribute(i.attributes.LAYOUT_ALIGN,this._layoutAlign))}get disabled(){return this._disabled}set disabled(t){t!==this._disabled&&(this._disabled=t,this._applyDisabled())}get vertical(){return this._vertical}set vertical(t){t!==this._vertical&&(this._vertical=t,this._applyVertical(),this._adapter.toggleHostAttribute(i.attributes.VERTICAL,this._vertical))}_applyVertical(){this._adapter.setVertical(this._vertical)}_applyDisabled(){this._disabled?this._adapter.setHostAttribute(i.attributes.DISABLED,"disabled"):this._adapter.removeHostAttribute(i.attributes.DISABLED),this._adapter.toggleDisabled(this._disabled)}_applySelectedIndex(){this._adapter.setSelectedByIndex(this._selectedIndex)}_handleClick(t){if(t.preventDefault(),this._linear)return;let e=C(t),s=e.find(p=>p.classList&&p.classList.contains(o.classes.STEP)),a=e.find(p=>p.localName===o.elementName);s&&a&&!a.selected&&!a.disabled&&this._adapter.emitHostEvent(o.events.SELECT,a.index,!0,!0)&&(this._adapter.setSelected(a),this.selectedIndex=a.index)}_renderConfiguration(){let t=c.createSteps({steps:this._steps,vertical:this._vertical,selectedIndex:this._selectedIndex,alternative:this._alternative,layoutAlign:this._layoutAlign,layoutMode:this._layoutMode,linear:this._linear});this.disconnect(),this._adapter.applyConfiguredSteps(t),this.initialize()}_onKeydown(t){if(this._linear)return;let e=this._getKeyFromEvent(t);if(!this._adapter.isStepperFocused()||!e)return;[o.strings.HOME_KEY,o.strings.END_KEY,o.strings.ARROW_DOWN_KEY,i.strings.ARROW_UP_KEY].includes(e)&&t.preventDefault();let s=this._vertical?this._determineVerticalMoveTarget(e):this._determineMoveTarget(e);s&&this._moveFocusTo(s)}_moveFocusTo(t){E(t,o.selectors.STEP).focus()}_getKeyFromEvent(t){return i.ACCEPTABLE_KEYS.includes(t.key)?t.key:i.KEYCODE_MAP[t.keyCode]}_determineMoveTarget(t){let e=this._adapter.getFocusedOrSelectedStep();if(e)switch(t){case i.strings.ARROW_RIGHT_KEY:return this._adapter.getStep(e.index+1);case i.strings.ARROW_LEFT_KEY:return this._adapter.getStep(e.index-1);case i.strings.HOME_KEY:return this._adapter.getStep(0);case i.strings.END_KEY:return this._adapter.getLastStep()}return e}_determineVerticalMoveTarget(t){let e=this._adapter.getFocusedOrSelectedStep();if(e)switch(t){case i.strings.ARROW_DOWN_KEY:return this._adapter.getStep(e.index+1);case i.strings.ARROW_UP_KEY:return this._adapter.getStep(e.index-1);case i.strings.HOME_KEY:return this._adapter.getStep(0);case i.strings.END_KEY:return this._adapter.getLastStep()}return e}_onSlotChange(t){this.disconnect(),this.initialize()}_onStepExpandedContentFocusIn(t){let e=this._adapter.getStep(t.detail.index+1);e&&e.setStepTabIndex(0),t.detail.setStepTabIndex(0)}_onStepExpandedContentFocusOut(t){let e=t.target,s=this._adapter.getStep(e.index+1);s&&s.setStepTabIndex(-1),e.setStepTabIndex(-1)}_onStepFocus(){this._adapter.toggleRootClass(i.classes.FOCUSED,!0)}_onStepBlur(){this._adapter.toggleRootClass(i.classes.FOCUSED,!1)}_patchBrowser(){new y().SAFARI()&&this._adapter.patchSafari()}};var w='<template><div class="forge-stepper" part="root"><slot></slot></div></template>',B=":host{display:block}:host([hidden]){display:none}:host([vertical]) .forge-stepper{display:unset;-webkit-box-align:unset;align-items:unset;white-space:unset;overflow:unset}.forge-stepper{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;white-space:nowrap;overflow:hidden}.forge-stepper:not(.vertical) ::slotted(*){display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;min-width:112px}.forge-stepper.fixed ::slotted(*){-webkit-box-flex:1;flex:1}.forge-stepper.alternative{-webkit-box-align:start;align-items:flex-start}.forge-stepper.alternative ::slotted(*){min-width:160px}.forge-stepper.align-left{-webkit-box-pack:start;justify-content:flex-start}.forge-stepper.align-center{-webkit-box-pack:center;justify-content:center}.forge-stepper.align-right{-webkit-box-pack:end;justify-content:flex-end}",r=class extends N{constructor(){super();R(this,w,B),this._foundation=new b(new h(this))}static get observedAttributes(){return[i.attributes.SELECTED_INDEX,i.attributes.LINEAR,i.attributes.ALTERNATIVE,i.attributes.LAYOUT_MODE,i.attributes.LAYOUT_ALIGN,i.attributes.DISABLED,i.attributes.VERTICAL]}async connectedCallback(){await f(this),this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,s,a){switch(e){case i.attributes.SELECTED_INDEX:this.selectedIndex=Number(a)||0;break;case i.attributes.LINEAR:this.linear=_(a);break;case i.attributes.ALTERNATIVE:this.alternative=_(a);break;case i.attributes.LAYOUT_MODE:this.layoutMode=a;break;case i.attributes.LAYOUT_ALIGN:this.layoutAlign=a;break;case i.attributes.DISABLED:this.disabled=_(a);break;case i.attributes.VERTICAL:this.vertical=_(a);break}}};l([d()],r.prototype,"steps",2),l([d()],r.prototype,"selectedIndex",2),l([d()],r.prototype,"linear",2),l([d()],r.prototype,"alternative",2),l([d()],r.prototype,"layoutMode",2),l([d()],r.prototype,"layoutAlign",2),l([d()],r.prototype,"disabled",2),l([d()],r.prototype,"vertical",2),r=l([x({name:i.elementName,dependencies:[M]})],r);function Re(){T(r)}export{i as a,h as b,b as c,r as d,Re as e};
7
+ //# sourceMappingURL=chunk.3PMONORO.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/stepper/stepper/stepper-constants.ts", "../../src/stepper/core/stepper-utils.ts", "../../src/stepper/stepper/stepper-adapter.ts", "../../src/stepper/stepper/stepper-foundation.ts", "../../src/stepper/stepper/stepper.ts", "../../src/stepper/stepper/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}stepper`;\n\nconst classes = {\n STEPPER: 'forge-stepper',\n LINEAR: 'linear',\n ALTERNATIVE: 'alternative',\n CLUSTERED: 'clustered',\n FIXED: 'fixed',\n ALIGN_LEFT: 'align-left',\n ALIGN_CENTER: 'align-center',\n ALIGN_RIGHT: 'align-right',\n VERTICAL: 'vertical',\n FOCUSED: 'focused'\n};\n\nconst selectors = {\n STEPPER: `.${classes.STEPPER}`\n};\n\nconst attributes = {\n SELECTED_INDEX: 'selected-index',\n LINEAR: 'linear',\n ALTERNATIVE: 'alternative',\n LAYOUT_MODE: 'layout-mode',\n LAYOUT_ALIGN: 'layout-align',\n DISABLED: 'disabled',\n VERTICAL: 'vertical'\n};\n\nconst strings = {\n ARROW_LEFT_KEY: 'ArrowLeft',\n ARROW_RIGHT_KEY: 'ArrowRight',\n ARROW_UP_KEY: 'ArrowUp',\n ARROW_DOWN_KEY: 'ArrowDown',\n END_KEY: 'End',\n ENTER_KEY: 'Enter',\n HOME_KEY: 'Home',\n SPACE_KEY: 'Space',\n TAB_KEY: 'Tab'\n};\n\nconst numbers = {\n ARROW_LEFT_KEYCODE: 37,\n ARROW_RIGHT_KEYCODE: 39,\n END_KEYCODE: 35,\n HOME_KEYCODE: 36,\n ENTER_KEYCODE: 13,\n SPACE_KEYCODE: 32\n};\n\nconst ACCEPTABLE_KEYS = [\n strings.ARROW_LEFT_KEY,\n strings.ARROW_RIGHT_KEY,\n strings.ARROW_DOWN_KEY,\n strings.ARROW_UP_KEY,\n strings.END_KEY,\n strings.HOME_KEY,\n strings.ENTER_KEY,\n strings.SPACE_KEY,\n strings.TAB_KEY\n];\n\nconst KEYCODE_MAP = {\n [numbers.ARROW_LEFT_KEYCODE]: strings.ARROW_LEFT_KEY,\n [numbers.ARROW_RIGHT_KEYCODE]: strings.ARROW_RIGHT_KEY,\n [numbers.END_KEYCODE]: strings.END_KEY,\n [numbers.HOME_KEYCODE]: strings.HOME_KEY,\n [numbers.ENTER_KEYCODE]: strings.ENTER_KEY,\n [numbers.SPACE_KEYCODE]: strings.SPACE_KEY\n};\n\nexport const STEPPER_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n numbers,\n strings,\n ACCEPTABLE_KEYS,\n KEYCODE_MAP\n};\n\nexport interface IStepConfiguration {\n label: string;\n optionalLabel?: string;\n editable?: boolean;\n completed?: boolean;\n error?: boolean;\n disabled?: boolean;\n vertical?: boolean;\n expanded?: boolean;\n ignoreUserExpansion?: boolean;\n}\n\nexport interface IStepperConfiguration {\n steps: IStepConfiguration[];\n selectedIndex: number;\n linear: boolean;\n alternative: boolean;\n layoutMode: StepperLayoutMode;\n layoutAlign: StepperLayoutAlign;\n vertical?: boolean;\n}\n\nexport type StepperLayoutMode = 'fixed' | 'clustered';\nexport type StepperLayoutAlign = 'left' | 'center' | 'right';\n", "import { IStepComponent, STEP_CONSTANTS } from '../step';\nimport { STEPPER_CONSTANTS, IStepConfiguration, IStepperConfiguration, StepperLayoutAlign, StepperLayoutMode } from '../stepper/stepper-constants';\n\nexport class StepperUtils {\n /**\n * Creates a step element using the provided configuration.\n * @param {IStepConfiguration} step The step configuration\n * @param {number} index The index of the step.\n * @param {number} activeStepIndex The currently active step index.\n * @param {boolean} linear Whether the stepper is in linear mode or not.\n */\n public static createStepElement(step: IStepConfiguration, index: number, stepperConfig: IStepperConfiguration): IStepComponent {\n const stepElement = document.createElement(STEP_CONSTANTS.elementName);\n\n stepElement.index = index;\n stepElement.completed = step.completed || false;\n stepElement.editable = step.editable || false;\n stepElement.selected = stepperConfig.selectedIndex === index;\n stepElement.alternative = stepperConfig.alternative;\n stepElement.error = step.error || false;\n stepElement.disabled = step.disabled || false;\n stepElement.vertical = step.vertical ?? stepperConfig.vertical ?? false;\n stepElement.ignoreUserExpansion = step.ignoreUserExpansion || false;\n stepElement.expanded = step.expanded || false;\n\n if (stepperConfig.linear && index > stepperConfig.selectedIndex) {\n stepElement.tabIndex = -1;\n }\n\n stepElement.textContent = step.label;\n\n if (step.optionalLabel) {\n stepElement.appendChild(this.createStepOptionalLabel(step.optionalLabel));\n }\n\n return stepElement;\n }\n\n /**\n * Creates the step label element using the provided configuration.\n * @param {IStepConfiguration} step The step configuration.\n */\n public static createStepOptionalLabel(labelText: string): HTMLElement {\n const label = document.createElement('span');\n label.slot = 'optional';\n label.textContent = labelText || '';\n return label;\n }\n\n /**\n * Sets the stepper to the provided linear state.\n * @param {HTMLElement} stepperElement The stepper element.\n * @param {boolean} isLinear Whether the stepper is in linear mode or not.\n */\n public static setLinearState(stepperElement: HTMLElement, isLinear: boolean): void {\n let hasLinearClass = stepperElement.classList.contains(STEPPER_CONSTANTS.classes.LINEAR);\n\n if (hasLinearClass && !isLinear) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.LINEAR);\n hasLinearClass = false;\n }\n\n if (!hasLinearClass && isLinear) {\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.LINEAR);\n }\n }\n\n /**\n * Sets the stepper to the provided label state.\n * @param {HTMLElement} stepperElement The stepper element.\n * @param {boolean} isAlternative Whether the stepper is in alternative mode or not.\n */\n public static setAlternativeState(stepperElement: HTMLElement, isAlternative: boolean): void {\n let hasAlternativeClass = stepperElement.classList.contains(STEPPER_CONSTANTS.classes.ALTERNATIVE);\n\n if (hasAlternativeClass && !isAlternative) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.ALTERNATIVE);\n hasAlternativeClass = false;\n }\n\n if (!hasAlternativeClass && isAlternative) {\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.ALTERNATIVE);\n }\n }\n\n /**\n * Sets the stepper layout mode.\n * @param {HTMLElement} stepperElement The stepper element.\n * @param {StepperLayoutMode} mode The layout mode.\n */\n public static setLayoutMode(stepperElement: HTMLElement, mode: StepperLayoutMode): void {\n switch (mode) {\n case 'clustered':\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.FIXED)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.FIXED);\n }\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.CLUSTERED);\n break;\n case 'fixed':\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.CLUSTERED)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.CLUSTERED);\n }\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.FIXED);\n break;\n }\n }\n\n /**\n * Sets the stepper layout alignment.\n * @param {HTMLElement} stepperElement The stepper element.\n * @param {StepperLayoutAlign} mode The layout alignment.\n */\n public static setLayoutAlign(stepperElement: HTMLElement, mode: StepperLayoutAlign): void {\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.ALIGN_LEFT)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.ALIGN_LEFT);\n }\n\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.ALIGN_CENTER)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.ALIGN_CENTER);\n }\n\n if (stepperElement.classList.contains(STEPPER_CONSTANTS.classes.ALIGN_RIGHT)) {\n stepperElement.classList.remove(STEPPER_CONSTANTS.classes.ALIGN_RIGHT);\n }\n\n switch (mode) {\n case 'left':\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.ALIGN_LEFT);\n break;\n case 'center':\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.ALIGN_CENTER);\n break;\n case 'right':\n stepperElement.classList.add(STEPPER_CONSTANTS.classes.ALIGN_RIGHT);\n break;\n }\n }\n\n /**\n * Creates a stepper with all of its step elements.\n * @param {IStepperConfiguration} stepperConfiguration The stepper configuration.\n */\n public static createSteps(stepperConfiguration: IStepperConfiguration): IStepComponent[] {\n const steps: IStepComponent[] = [];\n\n stepperConfiguration.steps.forEach((step, index) => {\n const stepElement = StepperUtils.createStepElement(step, index, stepperConfiguration);\n steps.push(stepElement);\n });\n\n steps[0].setAttribute(STEP_CONSTANTS.attributes.FIRST, '');\n steps[steps.length - 1].setAttribute(STEP_CONSTANTS.attributes.LAST, '');\n\n return steps;\n }\n}\n", "import { getShadowElement, getActiveElement, toggleClass } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base';\nimport { StepperUtils } from '../core/stepper-utils';\nimport { IStepComponent } from '../step/step';\nimport { STEP_CONSTANTS } from '../step/step-constants';\nimport { IStepperComponent } from './stepper';\nimport { StepperLayoutAlign, StepperLayoutMode, STEPPER_CONSTANTS } from './stepper-constants';\n\nexport interface IStepperAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n toggleDisabled(disabled: boolean): void;\n patchSafari(): void;\n getFocusedOrSelectedStep(): IStepComponent;\n applyConfiguredSteps(steps: IStepComponent[]): void;\n setLinearState(linear: boolean): void;\n setLayoutAlign(layoutAlign: StepperLayoutAlign): void;\n setLayoutMode(layoutMode: StepperLayoutMode): void;\n setAlternativeState(alternative: boolean): void;\n setVertical(vertical: boolean): void;\n assignIndices(): void;\n addRootListener(event: string, listener: EventListener): void;\n removeRootListener(event: string, listener: EventListener): void;\n setSelected(step: IStepComponent): void;\n setSelectedByIndex(index: number): void;\n assignFirstLastStep(): void;\n getStep(index: number): IStepComponent;\n getLastStep(): IStepComponent;\n addSlotChangeListener(listener: EventListener): void;\n removeSlotChangeListener(listener: EventListener): void;\n toggleRootClass(className: string, show: boolean): void;\n isStepperFocused(): boolean;\n setStepsListener(event: string, listener: EventListener): void;\n removeStepsListener(event: string, listener: EventListener): void;\n}\n\nexport class StepperAdapter extends BaseAdapter<IStepperComponent> implements IStepperAdapter {\n private _rootElement: HTMLElement;\n private _slotElement: HTMLSlotElement;\n\n constructor(component: IStepperComponent) {\n super(component);\n this._rootElement = getShadowElement(component, STEPPER_CONSTANTS.selectors.STEPPER);\n this._slotElement = this._rootElement.querySelector('slot') as HTMLSlotElement;\n }\n\n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'tablist');\n }\n }\n\n public patchSafari(): void {\n this._applyToSteps(s => s.setAttribute('safari', ''));\n }\n\n public addSlotChangeListener(listener: EventListener): void {\n this._slotElement.addEventListener('slotchange', listener);\n }\n public removeSlotChangeListener(listener: EventListener): void {\n this._slotElement.addEventListener('slotchange', listener);\n }\n\n public getLastStep(): IStepComponent {\n const steps = this._getSteps();\n return steps.item(steps.length - 1);\n }\n\n public setSelected(step: IStepComponent): void {\n this._getSteps().forEach(s => {\n if (s === step) {\n s.selected = true;\n } else {\n s.selected = false;\n }\n });\n }\n\n public assignIndices(): void {\n const steps = this._getSteps();\n\n steps.forEach((tab, index) => {\n tab.index = index;\n });\n }\n\n public assignFirstLastStep(): void {\n const steps = this._getSteps();\n if (steps && steps.length > 1) {\n steps[0].setAttribute('first', '');\n steps[steps.length - 1].setAttribute('last', '');\n }\n }\n\n public setLayoutAlign(layoutAlign: StepperLayoutAlign): void {\n StepperUtils.setLayoutAlign(this._rootElement, layoutAlign);\n }\n public setLayoutMode(layoutMode: StepperLayoutMode): void {\n StepperUtils.setLayoutMode(this._rootElement, layoutMode);\n this._applyToSteps(s => s.setAttribute(STEP_CONSTANTS.attributes.CLUSTERED, ''));\n }\n public setAlternativeState(alternative: boolean): void {\n StepperUtils.setAlternativeState(this._rootElement, alternative);\n this._applyToSteps(step => step.alternative = alternative);\n }\n\n public setVertical(vertical: boolean): void {\n toggleClass(this._rootElement, vertical, STEPPER_CONSTANTS.classes.VERTICAL);\n this._applyToSteps(step => step.vertical = vertical);\n }\n\n public setLinearState(linear: boolean): void {\n StepperUtils.setLinearState(this._rootElement, linear);\n }\n\n public removeRootListener(event: string, listener: EventListener): void {\n this._rootElement.removeEventListener('click', listener);\n }\n public addRootListener(event: string, listener: EventListener): void {\n this._rootElement.addEventListener(event, listener);\n }\n\n public setSelectedByIndex(index: number): void {\n this._applyToSteps(step => {\n if (step.selected && step.index !== index) {\n step.selected = false;\n }\n\n if (step.index === index) {\n step.selected = true;\n }\n });\n }\n\n public applyConfiguredSteps(steps: IStepComponent[]): void {\n this._component.querySelectorAll(STEP_CONSTANTS.elementName).forEach(n => {\n this._component.removeChild(n);\n });\n\n steps.forEach(s => this._component.appendChild(s));\n }\n\n public tryGetFocusedStep(): IStepComponent | undefined {\n let focusedStep: IStepComponent = undefined as any;\n const activeElement = getActiveElement(this._component.ownerDocument);\n this._applyToSteps(step => {\n if (activeElement === getShadowElement(step, STEP_CONSTANTS.selectors.STEP)) {\n focusedStep = step;\n }\n });\n\n return focusedStep;\n }\n\n public getFocusedOrSelectedStep(): IStepComponent {\n let focusedStep = this.tryGetFocusedStep();\n\n if (!focusedStep) {\n focusedStep = this._getSteps()[0];\n focusedStep.focus();\n }\n\n return focusedStep;\n }\n\n public getStep(index: number): IStepComponent {\n let realIndex = 0;\n const steps = this._getSteps();\n\n if (index < 0) {\n return steps.item(steps.length - 1);\n }\n\n if (steps.length > index) {\n realIndex = index;\n }\n return steps.item(realIndex);\n }\n\n public toggleDisabled(disabled: boolean): void {\n this._applyToSteps(s => s.disabled = disabled);\n }\n\n public toggleRootClass(className: string, show: boolean): void{\n toggleClass(this._rootElement, show, className);\n }\n\n public isStepperFocused(): boolean {\n return this._rootElement.classList.contains(STEPPER_CONSTANTS.classes.FOCUSED);\n }\n\n public setStepsListener(event: string, listener: EventListener): void {\n this._applyToSteps(s => s.addEventListener(event, listener));\n }\n\n public removeStepsListener(event: string, listener: EventListener): void {\n this._applyToSteps(s => s.removeEventListener(event, listener));\n }\n\n private _applyToSteps(action: (step: IStepComponent, index?: number) => void): void {\n this._getSteps().forEach(action);\n }\n\n private _getSteps(): NodeListOf<IStepComponent> {\n return this._component.querySelectorAll<IStepComponent>(STEP_CONSTANTS.elementName);\n }\n}\n", "import { getEventPath, getShadowElement, ICustomElementFoundation, isDefined, isNumber, Platform } from '@tylertech/forge-core';\nimport { STEP_CONSTANTS } from '../step/step-constants';\nimport { StepperUtils } from '../core/stepper-utils';\nimport { IStepComponent } from '../step/step';\nimport { IStepperAdapter } from './stepper-adapter';\nimport { STEPPER_CONSTANTS, IStepConfiguration, StepperLayoutAlign, StepperLayoutMode } from './stepper-constants';\n\nexport interface IStepperFoundation extends ICustomElementFoundation {\n steps: IStepConfiguration[];\n selectedIndex: number;\n linear: boolean;\n alternative: boolean;\n layoutMode: StepperLayoutMode;\n layoutAlign: StepperLayoutAlign;\n}\n\nexport class StepperFoundation implements IStepperFoundation {\n private _steps: IStepConfiguration[] = [];\n private _selectedIndex = 0;\n private _linear = false;\n private _alternative = false;\n private _layoutMode: StepperLayoutMode = 'fixed';\n private _layoutAlign: StepperLayoutAlign = 'center';\n private _initialize = false;\n private _disabled: boolean;\n private _vertical: boolean;\n\n private _clickListener: EventListener;\n private _keyListener: EventListener;\n private _slotChangeListener: EventListener;\n private _stepFocusListener: () => void;\n private _stepBlurListener: () => void;\n private _stepExpandedContentFocusInListener: (event: CustomEvent<IStepComponent>) => void;\n private _stepExpandedContentFocusOutListener: (event: CustomEvent<IStepComponent>) => void;\n\n constructor(private _adapter: IStepperAdapter) {\n this._clickListener = event => this._handleClick(event);\n this._keyListener = event => this._onKeydown(event as KeyboardEvent);\n this._stepFocusListener = () => this._onStepFocus();\n this._stepBlurListener = () => this._onStepBlur();\n this._stepExpandedContentFocusInListener = event => this._onStepExpandedContentFocusIn(event);\n this._stepExpandedContentFocusOutListener = event => this._onStepExpandedContentFocusOut(event);\n this._slotChangeListener = event => this._onSlotChange(event as Event);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n this._adapter.assignIndices();\n this._adapter.setLinearState(this._linear);\n this._adapter.setAlternativeState(this._alternative);\n this._adapter.setLayoutAlign(this._layoutAlign);\n this._adapter.setLayoutMode(this._layoutMode);\n this._adapter.addRootListener('click', this._clickListener);\n this._adapter.addHostListener('keydown', this._keyListener);\n this._adapter.assignFirstLastStep();\n this._adapter.addRootListener(STEP_CONSTANTS.events.EXPANDED_CONTENT_FOCUSIN, this._stepExpandedContentFocusInListener);\n this._adapter.addRootListener(STEP_CONSTANTS.events.EXPANDED_CONTENT_FOCUSOUT, this._stepExpandedContentFocusOutListener);\n this._applySelectedIndex();\n this._patchBrowser();\n this._adapter.setStepsListener('blur', this._stepBlurListener);\n this._adapter.setStepsListener('focus', this._stepFocusListener);\n if (!this._initialize) {\n this._adapter.addSlotChangeListener(this._slotChangeListener);\n }\n\n this._initialize = true;\n }\n\n public disconnect(): void {\n this._adapter.removeRootListener('click', this._clickListener);\n this._adapter.removeHostListener('keydown', this._keyListener);\n this._adapter.removeSlotChangeListener(this._slotChangeListener);\n this._adapter.removeStepsListener('blur', this._stepBlurListener);\n this._adapter.removeStepsListener('focus', this._stepFocusListener);\n }\n\n /** The step configurations. */\n public get steps(): IStepConfiguration[] {\n return this._steps.map(s => ({ ...s })); // Shallow clone\n }\n public set steps(value: IStepConfiguration[]) {\n if (Array.isArray(value) && value.length > 0) {\n this._steps = [...value.map(s => ({ ...s }))];\n } else {\n this._steps = [];\n return;\n }\n\n this._renderConfiguration();\n }\n\n /** The active step index. */\n public get selectedIndex(): number {\n return this._selectedIndex;\n }\n public set selectedIndex(value: number) {\n if (!isDefined(value)) {\n value = 0;\n } else if (!isNumber(value)) {\n const v = Number(value);\n value = !isNaN(v) ? v : 0;\n }\n\n if (this._selectedIndex !== value) {\n this._selectedIndex = value;\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.SELECTED_INDEX, this._selectedIndex.toString());\n this._applySelectedIndex();\n }\n }\n\n /** Whether the stepper is linear or non-linear. */\n public get linear(): boolean {\n return this._linear;\n }\n public set linear(value: boolean) {\n value = Boolean(value);\n if (this._linear !== value) {\n this._linear = value;\n this._adapter.setLinearState(this._linear);\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.LINEAR, this._linear.toString());\n }\n }\n\n /** Whether the stepper uses the default or alternative label layout mode. */\n public get alternative(): boolean {\n return this._alternative;\n }\n public set alternative(value: boolean) {\n value = Boolean(value);\n if (this._alternative !== value) {\n this._alternative = value;\n this._adapter.setAlternativeState(this._alternative);\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.ALTERNATIVE, this._alternative.toString());\n }\n }\n\n /** The layout mode of the stepper. */\n public get layoutMode(): StepperLayoutMode {\n return this._layoutMode;\n }\n public set layoutMode(value: StepperLayoutMode) {\n if (!/^(fixed|clustered)$/.test(value)) {\n return;\n }\n\n if (this._layoutMode !== value) {\n this._layoutMode = value;\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.LAYOUT_MODE, this._layoutMode);\n this._adapter.setLayoutMode(this._layoutMode);\n }\n }\n\n /** The layout alignment of the stepper. */\n public get layoutAlign(): StepperLayoutAlign {\n return this._layoutAlign;\n }\n public set layoutAlign(value: StepperLayoutAlign) {\n if (!/^(left|center|right)$/.test(value)) {\n return;\n }\n\n if (this._layoutAlign !== value) {\n this._layoutAlign = value;\n this._adapter.setLayoutAlign(this._layoutAlign);\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.LAYOUT_ALIGN, this._layoutAlign);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (value !== this._disabled) {\n this._disabled = value;\n this._applyDisabled();\n }\n }\n\n public get vertical(): boolean {\n return this._vertical;\n }\n public set vertical(value: boolean) {\n if (value !== this._vertical) {\n this._vertical = value;\n this._applyVertical();\n this._adapter.toggleHostAttribute(STEPPER_CONSTANTS.attributes.VERTICAL, this._vertical);\n }\n }\n\n private _applyVertical(): void {\n this._adapter.setVertical(this._vertical);\n }\n\n private _applyDisabled(): void {\n if (this._disabled) {\n this._adapter.setHostAttribute(STEPPER_CONSTANTS.attributes.DISABLED, 'disabled');\n } else {\n this._adapter.removeHostAttribute(STEPPER_CONSTANTS.attributes.DISABLED);\n }\n\n this._adapter.toggleDisabled(this._disabled);\n }\n\n private _applySelectedIndex(): void {\n this._adapter.setSelectedByIndex(this._selectedIndex);\n }\n\n private _handleClick(event: Event): void {\n event.preventDefault();\n if (this._linear) {\n return;\n }\n const eventPath = getEventPath(event);\n const stepRoot = eventPath.find(el => el.classList && el.classList.contains(STEP_CONSTANTS.classes.STEP));\n const step = eventPath.find(el => el.localName === STEP_CONSTANTS.elementName) as IStepComponent | undefined;\n\n if (stepRoot && step && !step.selected && !step.disabled && this._adapter.emitHostEvent(STEP_CONSTANTS.events.SELECT, step.index, true, true)) {\n this._adapter.setSelected(step);\n this.selectedIndex = step.index;\n }\n }\n\n private _renderConfiguration(): void {\n const steps = StepperUtils.createSteps({\n steps: this._steps,\n vertical: this._vertical,\n selectedIndex: this._selectedIndex,\n alternative: this._alternative,\n layoutAlign: this._layoutAlign,\n layoutMode: this._layoutMode,\n linear: this._linear\n });\n\n this.disconnect();\n this._adapter.applyConfiguredSteps(steps);\n this.initialize();\n }\n\n private _onKeydown(event: KeyboardEvent): void {\n if (this._linear) {\n return;\n }\n\n const key = this._getKeyFromEvent(event);\n\n // If the expanded content is currently being focused, ignore stepper specific keys\n if (!this._adapter.isStepperFocused()) {\n return;\n }\n\n // Early exit if the event key isn't one of the keyboard navigation keys\n if (!key) {\n return;\n }\n\n if ([STEP_CONSTANTS.strings.HOME_KEY, STEP_CONSTANTS.strings.END_KEY, STEP_CONSTANTS.strings.ARROW_DOWN_KEY, STEPPER_CONSTANTS.strings.ARROW_UP_KEY].includes(key)) {\n event.preventDefault();\n }\n\n\n const step = this._vertical ? this._determineVerticalMoveTarget(key) : this._determineMoveTarget(key);\n\n if (step) {\n this._moveFocusTo(step);\n }\n }\n\n private _moveFocusTo(step: IStepComponent): void {\n getShadowElement(step, STEP_CONSTANTS.selectors.STEP).focus();\n }\n\n private _getKeyFromEvent(evt: KeyboardEvent): string {\n if (STEPPER_CONSTANTS.ACCEPTABLE_KEYS.includes(evt.key)) {\n return evt.key;\n }\n return STEPPER_CONSTANTS.KEYCODE_MAP[evt.keyCode];\n }\n\n private _determineMoveTarget(key: string): IStepComponent {\n const step = this._adapter.getFocusedOrSelectedStep();\n\n if (step) {\n switch (key) {\n case STEPPER_CONSTANTS.strings.ARROW_RIGHT_KEY:\n return this._adapter.getStep(step.index + 1);\n case STEPPER_CONSTANTS.strings.ARROW_LEFT_KEY:\n return this._adapter.getStep(step.index - 1);\n case STEPPER_CONSTANTS.strings.HOME_KEY:\n return this._adapter.getStep(0);\n case STEPPER_CONSTANTS.strings.END_KEY:\n return this._adapter.getLastStep();\n }\n }\n\n return step as IStepComponent;\n }\n\n private _determineVerticalMoveTarget(key: string): IStepComponent {\n const step = this._adapter.getFocusedOrSelectedStep();\n\n if (step) {\n switch (key) {\n case STEPPER_CONSTANTS.strings.ARROW_DOWN_KEY:\n return this._adapter.getStep(step.index + 1);\n case STEPPER_CONSTANTS.strings.ARROW_UP_KEY:\n return this._adapter.getStep(step.index - 1);\n case STEPPER_CONSTANTS.strings.HOME_KEY:\n return this._adapter.getStep(0);\n case STEPPER_CONSTANTS.strings.END_KEY:\n return this._adapter.getLastStep();\n }\n }\n\n return step as IStepComponent;\n }\n\n private _onSlotChange(event: Event): void {\n this.disconnect();\n this.initialize();\n }\n\n private _onStepExpandedContentFocusIn(event: CustomEvent<IStepComponent>): void {\n const step = this._adapter.getStep(event.detail.index + 1);\n if (step) {\n step.setStepTabIndex(0);\n }\n event.detail.setStepTabIndex(0);\n }\n\n private _onStepExpandedContentFocusOut(event: CustomEvent<IStepComponent>): void {\n const focusOutStep = event.target as IStepComponent;\n const step = this._adapter.getStep(focusOutStep.index + 1);\n\n if (step) {\n step.setStepTabIndex(-1);\n }\n\n focusOutStep.setStepTabIndex(-1);\n }\n\n private _onStepFocus(): void {\n this._adapter.toggleRootClass(STEPPER_CONSTANTS.classes.FOCUSED, true);\n }\n\n private _onStepBlur(): void {\n this._adapter.toggleRootClass(STEPPER_CONSTANTS.classes.FOCUSED, false);\n }\n\n private _patchBrowser(): void {\n if (new Platform().SAFARI()) {\n this._adapter.patchSafari();\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChildren, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { IStepConfiguration, StepperLayoutAlign, StepperLayoutMode } from '../stepper/stepper-constants';\nimport { StepComponent } from '../step/step';\nimport { StepperAdapter } from './stepper-adapter';\nimport { STEPPER_CONSTANTS } from './stepper-constants';\nimport { StepperFoundation } from './stepper-foundation';\n\nconst template = '<template><div class=\\\"forge-stepper\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = ':host{display:block}:host([hidden]){display:none}:host([vertical]) .forge-stepper{display:unset;-webkit-box-align:unset;align-items:unset;white-space:unset;overflow:unset}.forge-stepper{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;white-space:nowrap;overflow:hidden}.forge-stepper:not(.vertical) ::slotted(*){display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;min-width:112px}.forge-stepper.fixed ::slotted(*){-webkit-box-flex:1;flex:1}.forge-stepper.alternative{-webkit-box-align:start;align-items:flex-start}.forge-stepper.alternative ::slotted(*){min-width:160px}.forge-stepper.align-left{-webkit-box-pack:start;justify-content:flex-start}.forge-stepper.align-center{-webkit-box-pack:center;justify-content:center}.forge-stepper.align-right{-webkit-box-pack:end;justify-content:flex-end}';\n\nexport interface IStepperComponent extends IBaseComponent {\n steps: IStepConfiguration[];\n selectedIndex: number;\n linear: boolean;\n alternative: boolean;\n layoutMode: StepperLayoutMode;\n layoutAlign: StepperLayoutAlign;\n disabled: boolean;\n vertical: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-stepper': IStepperComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-stepper>` custom element.\n * \n * @tag forge-stepper\n */\n@CustomElement({\n name: STEPPER_CONSTANTS.elementName,\n dependencies: [StepComponent]\n})\nexport class StepperComponent extends BaseComponent implements IStepperComponent {\n public static get observedAttributes(): string[] {\n return [\n STEPPER_CONSTANTS.attributes.SELECTED_INDEX,\n STEPPER_CONSTANTS.attributes.LINEAR,\n STEPPER_CONSTANTS.attributes.ALTERNATIVE,\n STEPPER_CONSTANTS.attributes.LAYOUT_MODE,\n STEPPER_CONSTANTS.attributes.LAYOUT_ALIGN,\n STEPPER_CONSTANTS.attributes.DISABLED,\n STEPPER_CONSTANTS.attributes.VERTICAL\n ];\n }\n\n private _foundation: StepperFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new StepperFoundation(new StepperAdapter(this));\n }\n\n public async connectedCallback(): Promise<void> {\n await ensureChildren(this);\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 STEPPER_CONSTANTS.attributes.SELECTED_INDEX:\n this.selectedIndex = Number(newValue) || 0;\n break;\n case STEPPER_CONSTANTS.attributes.LINEAR:\n this.linear = coerceBoolean(newValue);\n break;\n case STEPPER_CONSTANTS.attributes.ALTERNATIVE:\n this.alternative = coerceBoolean(newValue);\n break;\n case STEPPER_CONSTANTS.attributes.LAYOUT_MODE:\n this.layoutMode = newValue as StepperLayoutMode;\n break;\n case STEPPER_CONSTANTS.attributes.LAYOUT_ALIGN:\n this.layoutAlign = newValue as StepperLayoutAlign;\n break;\n case STEPPER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case STEPPER_CONSTANTS.attributes.VERTICAL:\n this.vertical = coerceBoolean(newValue);\n break;\n }\n }\n\n /** The step configurations. */\n @FoundationProperty()\n public declare steps: IStepConfiguration[];\n\n /** The active step index. */\n @FoundationProperty()\n public declare selectedIndex: number;\n\n /** Whether the stepper is linear or non-linear. */\n @FoundationProperty()\n public declare linear: boolean;\n\n /** Whether the stepper uses the default or alternative label layout mode. */\n @FoundationProperty()\n public declare alternative: boolean;\n\n /** The layout mode of the stepper. */\n @FoundationProperty()\n public declare layoutMode: StepperLayoutMode;\n\n /** The layout alignment of the stepper. */\n @FoundationProperty()\n public declare layoutAlign: StepperLayoutAlign;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare vertical: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { StepperComponent } from './stepper';\n\nexport * from './stepper';\nexport * from './stepper-adapter';\nexport * from './stepper-constants';\nexport * from './stepper-foundation';\n\nexport function defineStepperComponent(): void {\n defineCustomElement(StepperComponent);\n}\n\n"],
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "selectors", "attributes", "strings", "numbers", "ACCEPTABLE_KEYS", "KEYCODE_MAP", "STEPPER_CONSTANTS", "StepperUtils", "_StepperUtils", "step", "index", "stepperConfig", "_a", "_b", "stepElement", "STEP_CONSTANTS", "labelText", "label", "stepperElement", "isLinear", "hasLinearClass", "STEPPER_CONSTANTS", "isAlternative", "hasAlternativeClass", "mode", "stepperConfiguration", "steps", "StepperAdapter", "BaseAdapter", "component", "getShadowElement", "STEPPER_CONSTANTS", "s", "listener", "steps", "step", "tab", "index", "layoutAlign", "StepperUtils", "layoutMode", "STEP_CONSTANTS", "alternative", "vertical", "toggleClass", "linear", "event", "n", "focusedStep", "activeElement", "getActiveElement", "realIndex", "disabled", "className", "show", "action", "StepperFoundation", "_adapter", "event", "STEP_CONSTANTS", "s", "__spreadValues", "value", "isDefined", "isNumber", "v", "STEPPER_CONSTANTS", "eventPath", "getEventPath", "stepRoot", "el", "step", "steps", "StepperUtils", "key", "getShadowElement", "evt", "focusOutStep", "Platform", "template", "styles", "StepperComponent", "BaseComponent", "attachShadowTemplate", "StepperFoundation", "StepperAdapter", "STEPPER_CONSTANTS", "ensureChildren", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "StepComponent", "defineStepperComponent", "defineCustomElement", "StepperComponent"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{d as t}from"./chunk.BHE6Z5Y2.js";import{a as o}from"./chunk.LNTTU2GL.js";function m(){o(t)}export{m as a};
7
+ //# sourceMappingURL=chunk.473WRJ5G.js.map