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

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 (906) 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.YS5JZHJ6.js → chunk.24SQJBSQ.js} +2 -2
  33. package/dist/esm/chunks/{chunk.PDDBNHVU.js → chunk.2GUWHBUU.js} +2 -2
  34. package/dist/esm/chunks/{chunk.PDDBNHVU.js.map → chunk.2GUWHBUU.js.map} +2 -2
  35. package/dist/esm/chunks/chunk.37B332ZK.js +7 -0
  36. package/dist/esm/chunks/{chunk.SOKORSUV.js.map → chunk.37B332ZK.js.map} +3 -3
  37. package/dist/esm/chunks/chunk.3IUQ4C47.js +7 -0
  38. package/dist/esm/chunks/chunk.3IUQ4C47.js.map +7 -0
  39. package/dist/esm/chunks/{chunk.IZRURH7C.js → chunk.3KAKJGUS.js} +2 -2
  40. package/dist/esm/chunks/chunk.3PMONORO.js +7 -0
  41. package/dist/esm/chunks/chunk.3PMONORO.js.map +7 -0
  42. package/dist/esm/chunks/chunk.473WRJ5G.js +7 -0
  43. package/dist/esm/chunks/chunk.5A665C5E.js +7 -0
  44. package/dist/esm/chunks/chunk.5A665C5E.js.map +7 -0
  45. package/dist/esm/chunks/chunk.5ADUSMC7.js +7 -0
  46. package/dist/esm/chunks/chunk.5ADUSMC7.js.map +7 -0
  47. package/dist/esm/chunks/{chunk.USQEIRST.js → chunk.5MB6CTBA.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.6E5WHIPF.js +7 -0
  52. package/dist/esm/chunks/chunk.6E5WHIPF.js.map +7 -0
  53. package/dist/esm/chunks/{chunk.4NABD6XG.js → chunk.6VS3LYAF.js} +2 -2
  54. package/dist/esm/chunks/chunk.72BKSMAZ.js +7 -0
  55. package/dist/esm/chunks/{chunk.3TIBP6QT.js.map → chunk.72BKSMAZ.js.map} +3 -3
  56. package/dist/esm/chunks/chunk.77C7S7ZS.js +7 -0
  57. package/dist/esm/chunks/chunk.77C7S7ZS.js.map +7 -0
  58. package/dist/esm/chunks/chunk.7AAICE77.js +7 -0
  59. package/dist/esm/chunks/chunk.7AAICE77.js.map +7 -0
  60. package/dist/esm/chunks/chunk.7IPAW4D2.js +7 -0
  61. package/dist/esm/chunks/{chunk.MCR34SZQ.js.map → chunk.7IPAW4D2.js.map} +1 -1
  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.A2NB7CIK.js +7 -0
  65. package/dist/esm/chunks/chunk.A2NB7CIK.js.map +7 -0
  66. package/dist/esm/chunks/{chunk.AOSBUJWW.js → chunk.A7BCLPP4.js} +2 -2
  67. package/dist/esm/chunks/chunk.AFWWND2C.js +7 -0
  68. package/dist/esm/chunks/chunk.AFWWND2C.js.map +7 -0
  69. package/dist/esm/chunks/{chunk.7UBIT4NP.js → chunk.AG6IRMLZ.js} +2 -2
  70. package/dist/esm/chunks/{chunk.A4UH52SA.js → chunk.AGLI4WR4.js} +2 -2
  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.DJSHVUEM.js +18 -0
  86. package/dist/esm/chunks/{chunk.MGLWXAZO.js.map → chunk.DJSHVUEM.js.map} +4 -4
  87. package/dist/esm/chunks/chunk.DKERDHXH.js +7 -0
  88. package/dist/esm/chunks/{chunk.JVWJHSPM.js.map → chunk.DKERDHXH.js.map} +1 -1
  89. package/dist/esm/chunks/chunk.DZJ6HBAG.js +7 -0
  90. package/dist/esm/chunks/chunk.DZJ6HBAG.js.map +7 -0
  91. package/dist/esm/chunks/{chunk.2537XOFQ.js → chunk.E2BE52ME.js} +2 -2
  92. package/dist/esm/chunks/chunk.EHVCEEV2.js +7 -0
  93. package/dist/esm/chunks/chunk.EHVCEEV2.js.map +7 -0
  94. package/dist/esm/chunks/{chunk.UEYPCCFG.js → chunk.ENUKGA2U.js} +2 -2
  95. package/dist/esm/chunks/chunk.EO3GP6DP.js +7 -0
  96. package/dist/esm/chunks/chunk.EO3GP6DP.js.map +7 -0
  97. package/dist/esm/chunks/{chunk.XYBVD3IE.js → chunk.EUJBIOGT.js} +2 -2
  98. package/dist/esm/chunks/{chunk.XYBVD3IE.js.map → chunk.EUJBIOGT.js.map} +2 -2
  99. package/dist/esm/chunks/chunk.FLBYVCQ6.js +7 -0
  100. package/dist/esm/chunks/chunk.FLBYVCQ6.js.map +7 -0
  101. package/dist/esm/chunks/chunk.FLF5RTYO.js +7 -0
  102. package/dist/esm/chunks/chunk.FLF5RTYO.js.map +7 -0
  103. package/dist/esm/chunks/chunk.GBAVJILM.js +7 -0
  104. package/dist/esm/chunks/chunk.GBAVJILM.js.map +7 -0
  105. package/dist/esm/chunks/chunk.GG7IQL46.js +7 -0
  106. package/dist/esm/chunks/{chunk.HBAC6E7O.js.map → chunk.GG7IQL46.js.map} +1 -1
  107. package/dist/esm/chunks/chunk.GIENHEMN.js +7 -0
  108. package/dist/esm/chunks/chunk.GIENHEMN.js.map +7 -0
  109. package/dist/esm/chunks/{chunk.FOSKVNVV.js → chunk.H4VQXV2H.js} +2 -2
  110. package/dist/esm/chunks/{chunk.FOSKVNVV.js.map → chunk.H4VQXV2H.js.map} +2 -2
  111. package/dist/esm/chunks/{chunk.GA6AO6FJ.js → chunk.H5RW3A4M.js} +2 -2
  112. package/dist/esm/chunks/chunk.HG4IDRAC.js +7 -0
  113. package/dist/esm/chunks/chunk.HG4IDRAC.js.map +7 -0
  114. package/dist/esm/chunks/{chunk.CSOKFDFQ.js → chunk.HSADKCGS.js} +2 -2
  115. package/dist/esm/chunks/chunk.I7YON2TC.js +7 -0
  116. package/dist/esm/chunks/chunk.I7YON2TC.js.map +7 -0
  117. package/dist/esm/chunks/chunk.IEABOPNB.js +7 -0
  118. package/dist/esm/chunks/{chunk.22C7GQLX.js → chunk.IL4S57WO.js} +2 -2
  119. package/dist/esm/chunks/{chunk.HMJODLAS.js → chunk.IQYOLMPG.js} +2 -2
  120. package/dist/esm/chunks/chunk.ISLJNJEE.js +7 -0
  121. package/dist/esm/chunks/chunk.ISLJNJEE.js.map +7 -0
  122. package/dist/esm/chunks/{chunk.QG5EYBS3.js → chunk.J2Y5KPON.js} +2 -2
  123. package/dist/esm/chunks/{chunk.QG5EYBS3.js.map → chunk.J2Y5KPON.js.map} +2 -2
  124. package/dist/esm/chunks/{chunk.7IJUN75W.js → chunk.JE5LSPXG.js} +2 -2
  125. package/dist/esm/chunks/{chunk.7IJUN75W.js.map → chunk.JE5LSPXG.js.map} +3 -3
  126. package/dist/esm/chunks/{chunk.GTKYO6VB.js → chunk.JGURMVW7.js} +2 -2
  127. package/dist/esm/chunks/{chunk.YXHMD73U.js → chunk.K6GJNDTY.js} +2 -2
  128. package/dist/esm/chunks/{chunk.QUWEAFGI.js → chunk.KEOLH7G3.js} +2 -2
  129. package/dist/esm/chunks/chunk.KLU54MDQ.js +7 -0
  130. package/dist/esm/chunks/chunk.KLU54MDQ.js.map +7 -0
  131. package/dist/esm/chunks/chunk.KO6ODCZC.js +7 -0
  132. package/dist/esm/chunks/chunk.KO6ODCZC.js.map +7 -0
  133. package/dist/esm/chunks/chunk.KTPEFU7V.js +7 -0
  134. package/dist/esm/chunks/{chunk.5UGN5FYV.js.map → chunk.KTPEFU7V.js.map} +2 -2
  135. package/dist/esm/chunks/chunk.L4QSPQDE.js +7 -0
  136. package/dist/esm/chunks/{chunk.DCCFF327.js.map → chunk.L4QSPQDE.js.map} +2 -2
  137. package/dist/esm/chunks/chunk.LGSCBWNR.js +7 -0
  138. package/dist/esm/chunks/chunk.LGSCBWNR.js.map +7 -0
  139. package/dist/esm/chunks/{chunk.BIQTNLIF.js → chunk.LNTTU2GL.js} +2 -2
  140. package/dist/esm/chunks/chunk.LSMHIVX2.js +7 -0
  141. package/dist/esm/chunks/{chunk.V7ILFIOR.js.map → chunk.LSMHIVX2.js.map} +1 -1
  142. package/dist/esm/chunks/{chunk.2AM2BKEO.js → chunk.MFQRXVKO.js} +2 -2
  143. package/dist/esm/chunks/{chunk.JLSFTWPE.js → chunk.MTIPIEXA.js} +2 -2
  144. package/dist/esm/chunks/chunk.MX4JX4GT.js +7 -0
  145. package/dist/esm/chunks/{chunk.UOD3A7M4.js.map → chunk.MX4JX4GT.js.map} +1 -1
  146. package/dist/esm/chunks/chunk.NEQX2QVX.js +7 -0
  147. package/dist/esm/chunks/chunk.NEQX2QVX.js.map +7 -0
  148. package/dist/esm/chunks/chunk.NWVQ5HK2.js +7 -0
  149. package/dist/esm/chunks/{chunk.BETICEYY.js.map → chunk.NWVQ5HK2.js.map} +2 -2
  150. package/dist/esm/chunks/chunk.O5WAQQNR.js +7 -0
  151. package/dist/esm/chunks/{chunk.ZYKP23JP.js.map → chunk.O5WAQQNR.js.map} +2 -2
  152. package/dist/esm/chunks/{chunk.JSTCCUKZ.js → chunk.OEI35LFU.js} +2 -2
  153. package/dist/esm/chunks/{chunk.6GSVB5NB.js → chunk.OLFOVKQG.js} +2 -2
  154. package/dist/esm/chunks/chunk.OLFOVKQG.js.map +7 -0
  155. package/dist/esm/chunks/{chunk.IWVAI6XM.js → chunk.OOAJHLW4.js} +2 -2
  156. package/dist/esm/chunks/chunk.OOAJHLW4.js.map +7 -0
  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.PFIIBXTS.js +7 -0
  162. package/dist/esm/chunks/chunk.PFIIBXTS.js.map +7 -0
  163. package/dist/esm/chunks/chunk.Q7TBWGKN.js +12 -0
  164. package/dist/esm/chunks/chunk.Q7TBWGKN.js.map +7 -0
  165. package/dist/esm/chunks/chunk.QCPV5DEG.js +7 -0
  166. package/dist/esm/chunks/{chunk.R3AWIPPK.js → chunk.QIZBZGYT.js} +2 -2
  167. package/dist/esm/chunks/{chunk.2XPAYTK4.js → chunk.QKTK5XUE.js} +2 -2
  168. package/dist/esm/chunks/chunk.QLGJS37N.js +7 -0
  169. package/dist/esm/chunks/chunk.QLGJS37N.js.map +7 -0
  170. package/dist/esm/chunks/{chunk.R66CYS27.js → chunk.QTY25OTN.js} +2 -2
  171. package/dist/esm/chunks/chunk.QUXMLWBJ.js +7 -0
  172. package/dist/esm/chunks/{chunk.BEUQVZKZ.js.map → chunk.QUXMLWBJ.js.map} +1 -1
  173. package/dist/esm/chunks/{chunk.BSV27GU7.js → chunk.QVATEY5S.js} +2 -2
  174. package/dist/esm/chunks/chunk.RFT3BAJ2.js +7 -0
  175. package/dist/esm/chunks/chunk.RFT3BAJ2.js.map +7 -0
  176. package/dist/esm/chunks/{chunk.SHBDQPPH.js → chunk.RONMNRSH.js} +2 -2
  177. package/dist/esm/chunks/{chunk.FRTSXX33.js → chunk.RSYEG2RW.js} +2 -2
  178. package/dist/esm/chunks/{chunk.A6BIUNPW.js → chunk.RXBLU4OJ.js} +2 -2
  179. package/dist/esm/chunks/{chunk.FBDRM4YN.js → chunk.S7KEO2CH.js} +2 -2
  180. package/dist/esm/chunks/{chunk.XU3YSZPA.js → chunk.SQ3AZAHF.js} +2 -2
  181. package/dist/esm/chunks/{chunk.35MHQH7Z.js → chunk.SROEDYPL.js} +2 -2
  182. package/dist/esm/chunks/chunk.T7NWP7DB.js +7 -0
  183. package/dist/esm/chunks/chunk.T7NWP7DB.js.map +7 -0
  184. package/dist/esm/chunks/{chunk.PXRGQHWR.js → chunk.TQWZDM6T.js} +2 -2
  185. package/dist/esm/chunks/chunk.U6J4VHU6.js +7 -0
  186. package/dist/esm/chunks/{chunk.STSAE2XP.js.map → chunk.U6J4VHU6.js.map} +1 -1
  187. package/dist/esm/chunks/{chunk.6JVMCBCR.js → chunk.UKBE2FMZ.js} +2 -2
  188. package/dist/esm/chunks/{chunk.MDDX4MJU.js → chunk.UPSXYWPD.js} +2 -2
  189. package/dist/esm/chunks/{chunk.MDDX4MJU.js.map → chunk.UPSXYWPD.js.map} +2 -2
  190. package/dist/esm/chunks/chunk.USTVZ6MZ.js +7 -0
  191. package/dist/esm/chunks/chunk.USTVZ6MZ.js.map +7 -0
  192. package/dist/esm/chunks/chunk.VGIRVTBJ.js +7 -0
  193. package/dist/esm/chunks/chunk.VGIRVTBJ.js.map +7 -0
  194. package/dist/esm/chunks/chunk.VRSPT7WX.js +7 -0
  195. package/dist/esm/chunks/{chunk.UQQQSJVM.js.map → chunk.VRSPT7WX.js.map} +3 -3
  196. package/dist/esm/chunks/chunk.W4HANHUO.js +7 -0
  197. package/dist/esm/chunks/chunk.W6FT6MKN.js +7 -0
  198. package/dist/esm/chunks/chunk.W6FT6MKN.js.map +7 -0
  199. package/dist/esm/chunks/{chunk.2W276VOR.js → chunk.WMJSYYXQ.js} +2 -2
  200. package/dist/esm/chunks/chunk.WXVVOFNK.js +7 -0
  201. package/dist/esm/chunks/chunk.WXVVOFNK.js.map +7 -0
  202. package/dist/esm/chunks/{chunk.OSBNFFCI.js → chunk.XATVDHDW.js} +2 -2
  203. package/dist/esm/chunks/chunk.XATVDHDW.js.map +7 -0
  204. package/dist/esm/chunks/{chunk.4AEQ7KVU.js → chunk.XTJGWT5F.js} +2 -2
  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 +17 -18
  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 +4 -3
  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/scaffold/_tokens.scss +18 -0
  566. package/styles/core/styles/tokens/select/_tokens.scss +18 -0
  567. package/styles/core/styles/tokens/stepper/step/_tokens.scss +62 -0
  568. package/styles/core/styles/tokens/toast/_tokens.scss +39 -0
  569. package/styles/dialog/_animations.scss +82 -0
  570. package/styles/dialog/_core.scss +310 -0
  571. package/styles/dialog/_token-utils.scss +30 -0
  572. package/styles/dialog/dialog.scss +356 -6
  573. package/styles/dialog/forge-dialog-utils.scss +23 -6
  574. package/styles/dialog/index.scss +7 -0
  575. package/styles/{field-next → field}/_core.layout.scss +6 -4
  576. package/styles/field/_core.scss +200 -50
  577. package/styles/{field-next → field}/_core.shape.scss +5 -0
  578. package/styles/{field-next → field}/_core.variant.scss +1 -0
  579. package/styles/{field-next → field}/field.scss +39 -12
  580. package/styles/forge-core.scss +2 -6
  581. package/styles/forge.scss +0 -4
  582. package/styles/icon/_core.scss +27 -0
  583. package/styles/icon/_token-utils.scss +30 -0
  584. package/styles/icon/icon.scss +27 -12
  585. package/styles/icon/index.scss +6 -0
  586. package/styles/label-value/_core.scss +85 -0
  587. package/styles/label-value/_token-utils.scss +30 -0
  588. package/styles/label-value/index.scss +6 -0
  589. package/styles/label-value/label-value.scss +71 -3
  590. package/styles/list/list/_core.scss +6 -2
  591. package/styles/list/list/list.scss +4 -0
  592. package/styles/list/list-item/_core.scss +3 -0
  593. package/styles/popover/_animations.scss +30 -0
  594. package/styles/popover/_core.scss +43 -6
  595. package/styles/popover/popover.scss +227 -170
  596. package/styles/scaffold/_core.scss +98 -0
  597. package/styles/scaffold/_token-utils.scss +30 -0
  598. package/styles/scaffold/index.scss +6 -0
  599. package/styles/scaffold/scaffold.scss +85 -5
  600. package/{dist/esm/chunks/chunk.WF2MFLG4.js → styles/select/index.scss} +1 -1
  601. package/styles/select/select/_core.scss +31 -15
  602. package/styles/select/select/_token-utils.scss +31 -0
  603. package/styles/select/select/select.scss +50 -8
  604. package/styles/split-view/split-view/split-view.scss +0 -1
  605. package/styles/split-view/split-view-panel/_mixins.scss +1 -0
  606. package/styles/split-view/split-view-panel/split-view-panel.scss +7 -1
  607. package/styles/stepper/step/_core.scss +391 -0
  608. package/styles/stepper/step/_token-utils.scss +31 -0
  609. package/styles/stepper/step/step.scss +261 -81
  610. package/styles/stepper/stepper/_core.scss +49 -0
  611. package/styles/stepper/stepper/stepper.scss +38 -4
  612. package/styles/switch/_core.scss +3 -2
  613. package/styles/theme/_theme-dark.scss +8 -8
  614. package/styles/toast/_animations.scss +42 -0
  615. package/styles/toast/_core.scss +73 -0
  616. package/styles/toast/_token-utils.scss +30 -0
  617. package/styles/toast/index.scss +6 -0
  618. package/styles/toast/toast.scss +173 -6
  619. package/styles/utils/_mixins-core.scss +5 -9
  620. package/dist/dialog/forge-dialog.css +0 -6
  621. package/dist/esm/chunks/chunk.24MZM3AY.js +0 -7
  622. package/dist/esm/chunks/chunk.24MZM3AY.js.map +0 -7
  623. package/dist/esm/chunks/chunk.3L77JY5H.js +0 -7
  624. package/dist/esm/chunks/chunk.3TIBP6QT.js +0 -7
  625. package/dist/esm/chunks/chunk.3U222LE4.js +0 -7
  626. package/dist/esm/chunks/chunk.45PPQY45.js +0 -177
  627. package/dist/esm/chunks/chunk.45PPQY45.js.map +0 -7
  628. package/dist/esm/chunks/chunk.4UU6PWR2.js +0 -7
  629. package/dist/esm/chunks/chunk.4UU6PWR2.js.map +0 -7
  630. package/dist/esm/chunks/chunk.5A34DJLZ.js +0 -7
  631. package/dist/esm/chunks/chunk.5A34DJLZ.js.map +0 -7
  632. package/dist/esm/chunks/chunk.5UGN5FYV.js +0 -7
  633. package/dist/esm/chunks/chunk.5UZ2DEW3.js +0 -7
  634. package/dist/esm/chunks/chunk.5UZ2DEW3.js.map +0 -7
  635. package/dist/esm/chunks/chunk.656X22EF.js +0 -7
  636. package/dist/esm/chunks/chunk.656X22EF.js.map +0 -7
  637. package/dist/esm/chunks/chunk.66YURKP2.js +0 -7
  638. package/dist/esm/chunks/chunk.66YURKP2.js.map +0 -7
  639. package/dist/esm/chunks/chunk.6GSVB5NB.js.map +0 -7
  640. package/dist/esm/chunks/chunk.AFJ7QEVI.js +0 -7
  641. package/dist/esm/chunks/chunk.AFJ7QEVI.js.map +0 -7
  642. package/dist/esm/chunks/chunk.BETICEYY.js +0 -7
  643. package/dist/esm/chunks/chunk.BEUQVZKZ.js +0 -7
  644. package/dist/esm/chunks/chunk.BMQAVBWZ.js +0 -7
  645. package/dist/esm/chunks/chunk.BMQAVBWZ.js.map +0 -7
  646. package/dist/esm/chunks/chunk.CIUPY66Y.js +0 -7
  647. package/dist/esm/chunks/chunk.CIUPY66Y.js.map +0 -7
  648. package/dist/esm/chunks/chunk.CSCZRSDT.js +0 -7
  649. package/dist/esm/chunks/chunk.CSCZRSDT.js.map +0 -7
  650. package/dist/esm/chunks/chunk.CWBDPBYO.js +0 -7
  651. package/dist/esm/chunks/chunk.CWBDPBYO.js.map +0 -7
  652. package/dist/esm/chunks/chunk.D7RH43XD.js +0 -7
  653. package/dist/esm/chunks/chunk.D7RH43XD.js.map +0 -7
  654. package/dist/esm/chunks/chunk.DCCFF327.js +0 -7
  655. package/dist/esm/chunks/chunk.EO3HELQ2.js +0 -15
  656. package/dist/esm/chunks/chunk.FB4MXEIW.js +0 -7
  657. package/dist/esm/chunks/chunk.FB4MXEIW.js.map +0 -7
  658. package/dist/esm/chunks/chunk.G2HRYIIZ.js +0 -7
  659. package/dist/esm/chunks/chunk.G2HRYIIZ.js.map +0 -7
  660. package/dist/esm/chunks/chunk.G3GTO5ZC.js +0 -7
  661. package/dist/esm/chunks/chunk.G3GTO5ZC.js.map +0 -7
  662. package/dist/esm/chunks/chunk.GL2H6QOP.js +0 -7
  663. package/dist/esm/chunks/chunk.GL2H6QOP.js.map +0 -7
  664. package/dist/esm/chunks/chunk.HBAC6E7O.js +0 -7
  665. package/dist/esm/chunks/chunk.HYTFCFP6.js +0 -7
  666. package/dist/esm/chunks/chunk.HYTFCFP6.js.map +0 -7
  667. package/dist/esm/chunks/chunk.IM36A2ZI.js +0 -7
  668. package/dist/esm/chunks/chunk.IM36A2ZI.js.map +0 -7
  669. package/dist/esm/chunks/chunk.IWVAI6XM.js.map +0 -7
  670. package/dist/esm/chunks/chunk.JCEKCW4B.js +0 -7
  671. package/dist/esm/chunks/chunk.JCEKCW4B.js.map +0 -7
  672. package/dist/esm/chunks/chunk.JVWJHSPM.js +0 -7
  673. package/dist/esm/chunks/chunk.KDUH2DUE.js +0 -7
  674. package/dist/esm/chunks/chunk.KRKKMTXR.js +0 -7
  675. package/dist/esm/chunks/chunk.KRKKMTXR.js.map +0 -7
  676. package/dist/esm/chunks/chunk.LKA5HQQY.js +0 -7
  677. package/dist/esm/chunks/chunk.LKA5HQQY.js.map +0 -7
  678. package/dist/esm/chunks/chunk.MC3UAHWS.js +0 -7
  679. package/dist/esm/chunks/chunk.MC3UAHWS.js.map +0 -7
  680. package/dist/esm/chunks/chunk.MCR34SZQ.js +0 -7
  681. package/dist/esm/chunks/chunk.MGLWXAZO.js +0 -18
  682. package/dist/esm/chunks/chunk.MPUP6QAP.js +0 -7
  683. package/dist/esm/chunks/chunk.MZRAL4MY.js +0 -7
  684. package/dist/esm/chunks/chunk.MZRAL4MY.js.map +0 -7
  685. package/dist/esm/chunks/chunk.N632SJ7X.js +0 -7
  686. package/dist/esm/chunks/chunk.N632SJ7X.js.map +0 -7
  687. package/dist/esm/chunks/chunk.NHOGZDLN.js +0 -7
  688. package/dist/esm/chunks/chunk.NHOGZDLN.js.map +0 -7
  689. package/dist/esm/chunks/chunk.NIUX6DVF.js +0 -12
  690. package/dist/esm/chunks/chunk.NIUX6DVF.js.map +0 -7
  691. package/dist/esm/chunks/chunk.OSBNFFCI.js.map +0 -7
  692. package/dist/esm/chunks/chunk.OY3TG55O.js +0 -7
  693. package/dist/esm/chunks/chunk.OY3TG55O.js.map +0 -7
  694. package/dist/esm/chunks/chunk.QCRO5NSG.js +0 -7
  695. package/dist/esm/chunks/chunk.QCRO5NSG.js.map +0 -7
  696. package/dist/esm/chunks/chunk.QKYCMDLB.js +0 -7
  697. package/dist/esm/chunks/chunk.R6VPRRTT.js +0 -7
  698. package/dist/esm/chunks/chunk.RFCIELJM.js +0 -7
  699. package/dist/esm/chunks/chunk.RFCIELJM.js.map +0 -7
  700. package/dist/esm/chunks/chunk.RJC42RNR.js +0 -7
  701. package/dist/esm/chunks/chunk.RJC42RNR.js.map +0 -7
  702. package/dist/esm/chunks/chunk.SKBOB2BD.js +0 -7
  703. package/dist/esm/chunks/chunk.SKBOB2BD.js.map +0 -7
  704. package/dist/esm/chunks/chunk.SOKORSUV.js +0 -7
  705. package/dist/esm/chunks/chunk.STSAE2XP.js +0 -7
  706. package/dist/esm/chunks/chunk.SWKKDBO6.js +0 -7
  707. package/dist/esm/chunks/chunk.SWKKDBO6.js.map +0 -7
  708. package/dist/esm/chunks/chunk.SYKZ74SL.js +0 -7
  709. package/dist/esm/chunks/chunk.SYKZ74SL.js.map +0 -7
  710. package/dist/esm/chunks/chunk.UKVC23E5.js +0 -7
  711. package/dist/esm/chunks/chunk.UKVC23E5.js.map +0 -7
  712. package/dist/esm/chunks/chunk.UOD3A7M4.js +0 -7
  713. package/dist/esm/chunks/chunk.UQQQSJVM.js +0 -7
  714. package/dist/esm/chunks/chunk.V3X77TCO.js +0 -7
  715. package/dist/esm/chunks/chunk.V3X77TCO.js.map +0 -7
  716. package/dist/esm/chunks/chunk.V7ILFIOR.js +0 -7
  717. package/dist/esm/chunks/chunk.VBJ4WUVH.js +0 -7
  718. package/dist/esm/chunks/chunk.VBJ4WUVH.js.map +0 -7
  719. package/dist/esm/chunks/chunk.VZ2XONDI.js +0 -7
  720. package/dist/esm/chunks/chunk.VZ2XONDI.js.map +0 -7
  721. package/dist/esm/chunks/chunk.WAMFFIMP.js +0 -7
  722. package/dist/esm/chunks/chunk.WAMFFIMP.js.map +0 -7
  723. package/dist/esm/chunks/chunk.WBCQTZPS.js +0 -7
  724. package/dist/esm/chunks/chunk.WBCQTZPS.js.map +0 -7
  725. package/dist/esm/chunks/chunk.WBI34ZVP.js +0 -7
  726. package/dist/esm/chunks/chunk.WF2MFLG4.js.map +0 -7
  727. package/dist/esm/chunks/chunk.WPVGFQNY.js +0 -7
  728. package/dist/esm/chunks/chunk.WPVGFQNY.js.map +0 -7
  729. package/dist/esm/chunks/chunk.XAZ6EDIZ.js +0 -7
  730. package/dist/esm/chunks/chunk.XCI7O2KJ.js +0 -7
  731. package/dist/esm/chunks/chunk.XCI7O2KJ.js.map +0 -7
  732. package/dist/esm/chunks/chunk.XNJROSDZ.js +0 -7
  733. package/dist/esm/chunks/chunk.XNJROSDZ.js.map +0 -7
  734. package/dist/esm/chunks/chunk.Z6GRWPPN.js +0 -7
  735. package/dist/esm/chunks/chunk.Z6GRWPPN.js.map +0 -7
  736. package/dist/esm/chunks/chunk.ZLNI2M3F.js +0 -7
  737. package/dist/esm/chunks/chunk.ZLNI2M3F.js.map +0 -7
  738. package/dist/esm/chunks/chunk.ZSZFWZAI.js +0 -7
  739. package/dist/esm/chunks/chunk.ZSZFWZAI.js.map +0 -7
  740. package/dist/esm/chunks/chunk.ZYKP23JP.js +0 -7
  741. package/dist/esm/field-next/index.js +0 -7
  742. package/dist/esm/floating-label/index.js +0 -7
  743. package/dist/esm/floating-label/index.js.map +0 -7
  744. package/dist/esm/popup/index.js +0 -7
  745. package/dist/esm/popup/index.js.map +0 -7
  746. package/dist/esm/ripple/index.js +0 -7
  747. package/dist/esm/ripple/index.js.map +0 -7
  748. package/dist/floating-label/forge-floating-label.css +0 -6
  749. package/dist/form-field/forge-form-field.css +0 -6
  750. package/dist/ripple/forge-ripple.css +0 -6
  751. package/dist/scaffold/forge-scaffold.css +0 -6
  752. package/esm/backdrop/backdrop-adapter.d.ts +0 -36
  753. package/esm/backdrop/backdrop-adapter.js +0 -40
  754. package/esm/backdrop/backdrop-foundation.d.ts +0 -38
  755. package/esm/backdrop/backdrop-foundation.js +0 -82
  756. package/esm/field-next/field-adapter.d.ts +0 -56
  757. package/esm/field-next/field-adapter.js +0 -132
  758. package/esm/field-next/field-constants.d.ts +0 -95
  759. package/esm/field-next/field-constants.js +0 -64
  760. package/esm/field-next/field-foundation.js +0 -221
  761. package/esm/field-next/field.d.ts +0 -205
  762. package/esm/field-next/field.js +0 -287
  763. package/esm/floating-label/floating-label-adapter.d.ts +0 -23
  764. package/esm/floating-label/floating-label-adapter.js +0 -32
  765. package/esm/floating-label/floating-label-constants.d.ts +0 -13
  766. package/esm/floating-label/floating-label-constants.js +0 -14
  767. package/esm/floating-label/floating-label-foundation.d.ts +0 -20
  768. package/esm/floating-label/floating-label-foundation.js +0 -74
  769. package/esm/floating-label/floating-label.d.ts +0 -31
  770. package/esm/floating-label/floating-label.js +0 -34
  771. package/esm/floating-label/index.d.ts +0 -9
  772. package/esm/floating-label/index.js +0 -9
  773. package/esm/label-value/label-value-adapter.d.ts +0 -24
  774. package/esm/label-value/label-value-adapter.js +0 -47
  775. package/esm/label-value/label-value-foundation.d.ts +0 -33
  776. package/esm/label-value/label-value-foundation.js +0 -80
  777. package/esm/popup/index.d.ts +0 -10
  778. package/esm/popup/index.js +0 -14
  779. package/esm/popup/popup-adapter.d.ts +0 -45
  780. package/esm/popup/popup-adapter.js +0 -152
  781. package/esm/popup/popup-constants.d.ts +0 -55
  782. package/esm/popup/popup-constants.js +0 -53
  783. package/esm/popup/popup-foundation.d.ts +0 -72
  784. package/esm/popup/popup-foundation.js +0 -258
  785. package/esm/popup/popup.d.ts +0 -59
  786. package/esm/popup/popup.js +0 -102
  787. package/esm/ripple/forge-ripple.d.ts +0 -17
  788. package/esm/ripple/forge-ripple.js +0 -22
  789. package/esm/ripple/index.d.ts +0 -11
  790. package/esm/ripple/index.js +0 -15
  791. package/esm/ripple/ripple-adapter.d.ts +0 -23
  792. package/esm/ripple/ripple-adapter.js +0 -47
  793. package/esm/ripple/ripple-constants.d.ts +0 -15
  794. package/esm/ripple/ripple-constants.js +0 -19
  795. package/esm/ripple/ripple-foundation.d.ts +0 -30
  796. package/esm/ripple/ripple-foundation.js +0 -48
  797. package/esm/ripple/ripple.d.ts +0 -36
  798. package/esm/ripple/ripple.js +0 -65
  799. package/styles/backdrop/_mixins.scss +0 -31
  800. package/styles/backdrop/_variables.scss +0 -12
  801. package/styles/card/_mixins.scss +0 -47
  802. package/styles/card/_variables.scss +0 -9
  803. package/styles/chip-field/_base.scss +0 -299
  804. package/styles/chip-field/_mixins.scss +0 -26
  805. package/styles/chip-field/_selector.scss +0 -228
  806. package/styles/chip-field/_variables.scss +0 -76
  807. package/styles/dialog/_mixins.scss +0 -199
  808. package/styles/dialog/_variables.scss +0 -22
  809. package/styles/dialog/forge-dialog.scss +0 -8
  810. package/styles/field/_base.scss +0 -636
  811. package/styles/field/_selector.scss +0 -560
  812. package/styles/field/_utils.scss +0 -48
  813. package/styles/field/_variables.scss +0 -123
  814. package/styles/field-next/_core.scss +0 -213
  815. package/styles/floating-label/_mixins.scss +0 -291
  816. package/styles/floating-label/_variables.scss +0 -15
  817. package/styles/floating-label/forge-floating-label.scss +0 -8
  818. package/styles/form-field/_mixins.scss +0 -71
  819. package/styles/form-field/forge-form-field.scss +0 -8
  820. package/styles/icon/_mixins.scss +0 -37
  821. package/styles/icon/_variables.scss +0 -10
  822. package/styles/label-value/_mixins.scss +0 -205
  823. package/styles/label-value/_variables.scss +0 -12
  824. package/styles/popup/_mixins.scss +0 -86
  825. package/styles/popup/_variables.scss +0 -7
  826. package/styles/popup/forge-popup.scss +0 -8
  827. package/styles/popup/popup.scss +0 -20
  828. package/styles/ripple/forge-ripple.scss +0 -17
  829. package/styles/scaffold/_mixins.scss +0 -194
  830. package/styles/scaffold/forge-scaffold.scss +0 -43
  831. package/styles/select/select/_base.scss +0 -84
  832. package/styles/select/select/_mixins.scss +0 -25
  833. package/styles/select/select/_selector.scss +0 -90
  834. package/styles/select/select/_variables.scss +0 -16
  835. package/styles/stepper/step/_mixins.scss +0 -416
  836. package/styles/stepper/step/_variables.scss +0 -21
  837. package/styles/stepper/stepper/_mixins.scss +0 -113
  838. package/styles/toast/_mixins.scss +0 -242
  839. package/styles/toast/_variables.scss +0 -52
  840. /package/dist/esm/chunks/{chunk.YS5JZHJ6.js.map → chunk.24SQJBSQ.js.map} +0 -0
  841. /package/dist/esm/chunks/{chunk.IZRURH7C.js.map → chunk.3KAKJGUS.js.map} +0 -0
  842. /package/dist/esm/chunks/{chunk.KDUH2DUE.js.map → chunk.473WRJ5G.js.map} +0 -0
  843. /package/dist/esm/chunks/{chunk.USQEIRST.js.map → chunk.5MB6CTBA.js.map} +0 -0
  844. /package/dist/esm/chunks/{chunk.47U6GVGZ.js.map → chunk.5UOX22ML.js.map} +0 -0
  845. /package/dist/esm/chunks/{chunk.4NABD6XG.js.map → chunk.6VS3LYAF.js.map} +0 -0
  846. /package/dist/esm/chunks/{chunk.AOSBUJWW.js.map → chunk.A7BCLPP4.js.map} +0 -0
  847. /package/dist/esm/chunks/{chunk.7UBIT4NP.js.map → chunk.AG6IRMLZ.js.map} +0 -0
  848. /package/dist/esm/chunks/{chunk.A4UH52SA.js.map → chunk.AGLI4WR4.js.map} +0 -0
  849. /package/dist/esm/chunks/{chunk.WTUXAH7Z.js.map → chunk.AOVXNX7P.js.map} +0 -0
  850. /package/dist/esm/chunks/{chunk.AN2E2SSN.js.map → chunk.ASLHRT3N.js.map} +0 -0
  851. /package/dist/esm/chunks/{chunk.CBLUXYH2.js.map → chunk.BHE6Z5Y2.js.map} +0 -0
  852. /package/dist/esm/chunks/{chunk.2WRAXA3H.js.map → chunk.BQ52JYLA.js.map} +0 -0
  853. /package/dist/esm/chunks/{chunk.ROMRJIFR.js.map → chunk.CE35CVDV.js.map} +0 -0
  854. /package/dist/esm/chunks/{chunk.ZPXMKY72.js.map → chunk.CEGBMUSR.js.map} +0 -0
  855. /package/dist/esm/chunks/{chunk.GBGGUYTE.js.map → chunk.CFAI4K3E.js.map} +0 -0
  856. /package/dist/esm/chunks/{chunk.ZIGVO6FN.js.map → chunk.CGFSMACZ.js.map} +0 -0
  857. /package/dist/esm/chunks/{chunk.2537XOFQ.js.map → chunk.E2BE52ME.js.map} +0 -0
  858. /package/dist/esm/chunks/{chunk.UEYPCCFG.js.map → chunk.ENUKGA2U.js.map} +0 -0
  859. /package/dist/esm/chunks/{chunk.GA6AO6FJ.js.map → chunk.H5RW3A4M.js.map} +0 -0
  860. /package/dist/esm/chunks/{chunk.CSOKFDFQ.js.map → chunk.HSADKCGS.js.map} +0 -0
  861. /package/dist/esm/chunks/{chunk.WBI34ZVP.js.map → chunk.IEABOPNB.js.map} +0 -0
  862. /package/dist/esm/chunks/{chunk.22C7GQLX.js.map → chunk.IL4S57WO.js.map} +0 -0
  863. /package/dist/esm/chunks/{chunk.HMJODLAS.js.map → chunk.IQYOLMPG.js.map} +0 -0
  864. /package/dist/esm/chunks/{chunk.GTKYO6VB.js.map → chunk.JGURMVW7.js.map} +0 -0
  865. /package/dist/esm/chunks/{chunk.YXHMD73U.js.map → chunk.K6GJNDTY.js.map} +0 -0
  866. /package/dist/esm/chunks/{chunk.QUWEAFGI.js.map → chunk.KEOLH7G3.js.map} +0 -0
  867. /package/dist/esm/chunks/{chunk.BIQTNLIF.js.map → chunk.LNTTU2GL.js.map} +0 -0
  868. /package/dist/esm/chunks/{chunk.2AM2BKEO.js.map → chunk.MFQRXVKO.js.map} +0 -0
  869. /package/dist/esm/chunks/{chunk.JLSFTWPE.js.map → chunk.MTIPIEXA.js.map} +0 -0
  870. /package/dist/esm/chunks/{chunk.JSTCCUKZ.js.map → chunk.OEI35LFU.js.map} +0 -0
  871. /package/dist/esm/chunks/{chunk.QKYCMDLB.js.map → chunk.QCPV5DEG.js.map} +0 -0
  872. /package/dist/esm/chunks/{chunk.R3AWIPPK.js.map → chunk.QIZBZGYT.js.map} +0 -0
  873. /package/dist/esm/chunks/{chunk.2XPAYTK4.js.map → chunk.QKTK5XUE.js.map} +0 -0
  874. /package/dist/esm/chunks/{chunk.R66CYS27.js.map → chunk.QTY25OTN.js.map} +0 -0
  875. /package/dist/esm/chunks/{chunk.BSV27GU7.js.map → chunk.QVATEY5S.js.map} +0 -0
  876. /package/dist/esm/chunks/{chunk.SHBDQPPH.js.map → chunk.RONMNRSH.js.map} +0 -0
  877. /package/dist/esm/chunks/{chunk.FRTSXX33.js.map → chunk.RSYEG2RW.js.map} +0 -0
  878. /package/dist/esm/chunks/{chunk.A6BIUNPW.js.map → chunk.RXBLU4OJ.js.map} +0 -0
  879. /package/dist/esm/chunks/{chunk.FBDRM4YN.js.map → chunk.S7KEO2CH.js.map} +0 -0
  880. /package/dist/esm/chunks/{chunk.XU3YSZPA.js.map → chunk.SQ3AZAHF.js.map} +0 -0
  881. /package/dist/esm/chunks/{chunk.35MHQH7Z.js.map → chunk.SROEDYPL.js.map} +0 -0
  882. /package/dist/esm/chunks/{chunk.PXRGQHWR.js.map → chunk.TQWZDM6T.js.map} +0 -0
  883. /package/dist/esm/chunks/{chunk.6JVMCBCR.js.map → chunk.UKBE2FMZ.js.map} +0 -0
  884. /package/dist/esm/chunks/{chunk.3L77JY5H.js.map → chunk.W4HANHUO.js.map} +0 -0
  885. /package/dist/esm/chunks/{chunk.2W276VOR.js.map → chunk.WMJSYYXQ.js.map} +0 -0
  886. /package/dist/esm/chunks/{chunk.4AEQ7KVU.js.map → chunk.XTJGWT5F.js.map} +0 -0
  887. /package/dist/esm/chunks/{chunk.YNXWVL4B.js.map → chunk.YPNSK2CK.js.map} +0 -0
  888. /package/dist/esm/chunks/{chunk.MPUP6QAP.js.map → chunk.YWJVZVZX.js.map} +0 -0
  889. /package/dist/esm/chunks/{chunk.6XLTVIUD.js.map → chunk.ZA7JY3AY.js.map} +0 -0
  890. /package/dist/esm/{field-next → field}/base/index.js.map +0 -0
  891. /package/dist/esm/{field-next → field}/index.js.map +0 -0
  892. /package/esm/{field-next → field}/base/base-field-adapter.d.ts +0 -0
  893. /package/esm/{field-next → field}/base/base-field-adapter.js +0 -0
  894. /package/esm/{field-next → field}/base/base-field-constants.d.ts +0 -0
  895. /package/esm/{field-next → field}/base/base-field-constants.js +0 -0
  896. /package/esm/{field-next → field}/base/base-field-foundation.d.ts +0 -0
  897. /package/esm/{field-next → field}/base/base-field.d.ts +0 -0
  898. /package/esm/{field-next → field}/base/base-field.js +0 -0
  899. /package/esm/{field-next → field}/base/index.d.ts +0 -0
  900. /package/esm/{field-next → field}/base/index.js +0 -0
  901. /package/esm/{field-next → field}/index.d.ts +0 -0
  902. /package/esm/{field-next → field}/index.js +0 -0
  903. /package/styles/{field-next → field}/_core.slotted.scss +0 -0
  904. /package/styles/{field-next → field}/_core.state.scss +0 -0
  905. /package/styles/{field-next → field}/_token-utils.scss +0 -0
  906. /package/styles/{field-next → field}/index.scss +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/time-picker/time-picker-constants.ts", "../../src/time-picker/time-picker-adapter.ts", "../../src/time-picker/time-picker-utils.ts", "../../src/time-picker/time-picker-foundation.ts", "../../src/time-picker/time-picker.ts", "../../src/time-picker/time-picker-component-delegate.ts", "../../src/time-picker/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { IListDropdownOption } from '../list-dropdown/list-dropdown-constants';\nimport IMask, { Masked, InputMask } from 'imask';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}time-picker`;\n\nconst attributes = {\n TOGGLE: 'forge-time-picker-toggle',\n VALUE: 'value',\n OPEN: 'open',\n ALLOW_SECONDS: 'allow-seconds',\n MASKED: 'masked',\n SHOW_MASK_FORMAT: 'show-mask-format',\n USE_24_HOUR_TIME: 'use-24-hour-time',\n ALLOW_INVALID_TIME: 'allow-invalid-time',\n MIN: 'min',\n MAX: 'max',\n START_TIME: 'start-time',\n STEP: 'step',\n ALLOW_INPUT: 'allow-input',\n SHOW_NOW: 'show-now',\n SHOW_HOUR_OPTIONS: 'show-hour-options',\n DISABLED: 'disabled',\n POPUP_CLASSES: 'popup-classes',\n ALLOW_DROPDOWN: 'allow-dropdown'\n};\n\nconst selectors = {\n INPUT: 'input, input[forge-time-picker-input]',\n TOGGLE: `[${attributes.TOGGLE}]`\n};\n\nconst events = {\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n INPUT: `${elementName}-input`,\n CHANGE: `${elementName}-change`\n};\n\nconst numbers = {\n DEFAULT_MINUTE_STEP: 60,\n MAX_DAY_MILLIS: 86400000,\n MAX_DAY_MINUTES: 1440\n};\n\nexport const TIME_PICKER_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n events,\n numbers\n};\n\nexport type TimePickerValidationCallback = (time: string) => boolean;\nexport type TimePickerParseCallback = (time: string) => number | null;\nexport type TimePickerFormatCallback = (value: number | null) => string;\nexport type TimePickerCustomOptionCallback<T> = (value: T, use24HourTime: boolean, allowSeconds: boolean) => number;\nexport type TimePickerCoercionCallback = (rawValue: string, coercedValue: string, allowSeconds: boolean) => string;\nexport type TimePickerPrepareMaskCallback = (value: string, masked: Masked<string>, flags: IMask.AppendFlags, maskInstance: InputMask<IMask.AnyMaskedOptions>) => string;\n\nexport interface ITimePickerOption<T = any> extends IListDropdownOption<T> {\n toMilliseconds: TimePickerCustomOptionCallback<T>;\n}\nexport interface ITimePickerOptionValue {\n time: number | null;\n metadata?: any;\n isCustom?: boolean;\n customCallback?: TimePickerCustomOptionCallback<any>;\n}\n", "import { emitEvent, getActiveElement, toggleAttribute } from '@tylertech/forge-core';\nimport { ITimePickerComponent } from './time-picker';\nimport { BaseAdapter } from '../core';\nimport { TIME_PICKER_CONSTANTS } from './time-picker-constants';\nimport { ITimeInputMaskOptions, TimeInputMask } from '../core/mask/time-input-mask';\nimport { TEXT_FIELD_CONSTANTS, ITextFieldComponent } from '../text-field';\nimport { ICON_BUTTON_CONSTANTS, IIconButtonComponent } from '../icon-button';\nimport { ICON_CONSTANTS, IIconComponent } from '../icon';\nimport { IListDropdownConfig, IListDropdownOption } from '../list-dropdown/list-dropdown-constants';\nimport { IListDropdown, ListDropdown } from '../list-dropdown';\n\nexport interface ITimePickerAdapter extends BaseAdapter<ITimePickerComponent> {\n initialize(): void;\n initializeMask(options: ITimeInputMaskOptions): void;\n destroy(): void;\n destroyMask(): void;\n initializeAccessibility(identifier: string): void;\n addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n removeInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n addToggleListener(type: string, listener: (event: Event) => void): void;\n removeToggleListener(type: string, listener: (event: Event) => void): void;\n hasInputElement(): boolean;\n tryCreateToggle(): void;\n tryFocusInput(): void;\n tryBlurInput(): void;\n selectInputText(): void;\n getInputValue(): string;\n setInputValue(value: string, emitEvents: boolean): void;\n isInputDisabled(): boolean;\n isInputFocused(): boolean;\n setDisabled(isDisabled: boolean): void;\n attachDropdown(config: IListDropdownConfig): void;\n detachDropdown(options: { destroy?: boolean }): Promise<void>;\n setActiveDescendant(id: string): void;\n propagateKey(key: string): void;\n getTargetElementWidth(selector: string): number;\n emitInputEvent(type: string, data?: any): void;\n setInputReadonly(value: boolean): void;\n setToggleDisabled(value: boolean): void;\n hasActiveOption(): boolean;\n activateOptionByIndex(index: number): void;\n activateFirstOption(): void;\n getActiveOption(): IListDropdownOption | undefined;\n}\n\nexport class TimePickerAdapter extends BaseAdapter<ITimePickerComponent> implements ITimePickerAdapter {\n private _inputElement: HTMLInputElement;\n private _toggleElement?: HTMLElement;\n private _inputMask?: TimeInputMask;\n private _listDropdown?: IListDropdown;\n private _targetElement?: HTMLElement;\n\n constructor(component: ITimePickerComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._inputElement = this._component.querySelector(TIME_PICKER_CONSTANTS.selectors.INPUT) as HTMLInputElement;\n }\n\n public initializeMask(options: ITimeInputMaskOptions): void {\n this.destroyMask();\n this._inputMask = new TimeInputMask(this._inputElement, options);\n }\n\n public destroy(): void {\n this._targetElement = undefined;\n this._toggleElement = undefined as any;\n this._inputElement = undefined as any;\n }\n\n public destroyMask(): void {\n this._inputMask?.destroy();\n this._inputMask = undefined;\n }\n\n public initializeAccessibility(identifier: string): void {\n this._inputElement.setAttribute('autocomplete', 'off');\n this._inputElement.setAttribute('autocorrect', 'off');\n this._inputElement.setAttribute('autocapitalize', 'off');\n this._inputElement.setAttribute('spellcheck', 'false');\n this._inputElement.setAttribute('role', 'combobox');\n this._inputElement.setAttribute('aria-live', 'assertive');\n this._inputElement.setAttribute('aria-atomic', 'true');\n this._inputElement.setAttribute('aria-haspopup', 'true');\n this._inputElement.setAttribute('aria-expanded', 'false');\n }\n\n public addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void {\n this._inputElement.addEventListener(type, listener, { capture });\n }\n\n public removeInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void {\n if (this._inputElement) {\n this._inputElement.removeEventListener(type, listener, { capture });\n }\n }\n\n public addToggleListener(type: string, listener: (event: Event) => void): void {\n if (this._toggleElement) {\n this._toggleElement.addEventListener(type, listener);\n }\n }\n\n public removeToggleListener(type: string, listener: (event: Event) => void): void {\n if (this._toggleElement) {\n this._toggleElement.removeEventListener(type, listener);\n }\n }\n\n public hasInputElement(): boolean {\n return !!this._inputElement;\n }\n\n public tryCreateToggle(): void {\n const textField = this._component.querySelector(TEXT_FIELD_CONSTANTS.elementName) as ITextFieldComponent;\n const toggleElement = this._component.querySelector(TIME_PICKER_CONSTANTS.selectors.TOGGLE);\n if (textField) {\n const existingIconButton = textField.querySelector(`${ICON_BUTTON_CONSTANTS.elementName}[slot=trailing]`);\n if (existingIconButton || toggleElement) {\n this._toggleElement = (existingIconButton || toggleElement) as IIconButtonComponent;\n return;\n }\n\n const iconButtonElement = document.createElement(ICON_BUTTON_CONSTANTS.elementName) as IIconButtonComponent;\n iconButtonElement.slot = 'trailing';\n iconButtonElement.density = 'medium';\n iconButtonElement.type = 'button';\n iconButtonElement.tabIndex = -1;\n iconButtonElement.style.marginRight = '4px'; // Override default trailing slot margin in text-field\n iconButtonElement.setAttribute('aria-label', 'Toggle time dropdown');\n\n const iconElement = document.createElement(ICON_CONSTANTS.elementName) as IIconComponent;\n iconElement.name = 'clock_outline';\n iconButtonElement.appendChild(iconElement);\n\n textField.appendChild(iconButtonElement);\n this._toggleElement = iconButtonElement;\n } else if (toggleElement) {\n this._toggleElement = toggleElement as HTMLElement;\n }\n }\n\n public tryFocusInput(): void {\n this._inputElement.select();\n }\n\n public tryBlurInput(): void {\n this._inputElement.blur();\n }\n\n public selectInputText(): void {\n this._inputElement.select();\n }\n\n public isInputDisabled(): boolean {\n return this._inputElement.disabled;\n }\n\n public isInputFocused(): boolean {\n const activeElement = getActiveElement(this._component.ownerDocument);\n return activeElement === this._inputElement;\n }\n\n public setInputValue(value: string, emitEvents: boolean): void {\n if (this._inputElement.value === value) {\n return;\n }\n\n this._inputElement.value = value;\n\n if (this._inputMask) {\n this._inputMask.update();\n }\n\n if (emitEvents) {\n this._emitInputEvent('change');\n this._emitInputEvent('input');\n }\n }\n\n public getInputValue(): string {\n return this._inputMask ? this._inputMask.maskedValue : this._inputElement.value;\n }\n\n public setDisabled(isDisabled: boolean): void {\n this._inputElement.disabled = isDisabled;\n this._inputElement.setAttribute('aria-disabled', isDisabled.toString());\n this.setToggleDisabled(isDisabled);\n }\n\n public attachDropdown(config: IListDropdownConfig): void {\n if (!this._targetElement) {\n this._targetElement = this._getTargetElement(this._component.popupTarget);\n }\n this._listDropdown = new ListDropdown(this._targetElement, config);\n this._listDropdown.open();\n this._inputElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n }\n \n public async detachDropdown({ destroy = false } = {}): Promise<void> {\n if (this._listDropdown) {\n if (destroy) {\n this._listDropdown.destroy();\n } else {\n await this._listDropdown.close();\n }\n this._listDropdown = undefined;\n }\n this._inputElement.removeAttribute('aria-controls');\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public setActiveDescendant(id: string): void {\n toggleAttribute(this._inputElement, !!id, 'aria-activedescendant', id);\n }\n\n public getTargetElementWidth(selector: string): number {\n const targetElement = this._getTargetElement(selector);\n return targetElement.getBoundingClientRect().width;\n }\n\n private _emitInputEvent(type: string): void {\n this._inputElement.dispatchEvent(new Event(type));\n }\n\n public emitInputEvent(type: string, data?: any): void {\n emitEvent(this._inputElement, type, data);\n }\n\n public setInputReadonly(value: boolean): void {\n this._inputElement.readOnly = value;\n }\n\n public setToggleDisabled(value: boolean): void {\n if (this._toggleElement) {\n this._toggleElement.setAttribute('aria-disabled', value.toString());\n if ('disabled' in this._toggleElement) {\n (this._toggleElement as HTMLButtonElement).disabled = value;\n } else {\n const button = this._toggleElement.querySelector('button') as HTMLButtonElement;\n if (button) {\n button.disabled = value;\n }\n }\n }\n }\n\n public hasActiveOption(): boolean {\n return (this._listDropdown?.getActiveOptionIndex() ?? -1) >= 0;\n }\n\n public activateOptionByIndex(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public getActiveOption(): IListDropdownOption | undefined {\n return this._listDropdown?.getActiveOption();\n }\n\n private _getTargetElement(selector?: string): HTMLElement {\n if (this._targetElement) {\n return this._targetElement;\n }\n this._targetElement = selector ? this._component.querySelector(selector) as HTMLElement || this._getDefaultTargetElement() : this._getDefaultTargetElement();\n return this._targetElement;\n }\n\n private _getDefaultTargetElement(): HTMLElement {\n // This component is often used with the text-field, if so, let's target our popup around one if its internal elements for proper alignment\n const textField = this._component.querySelector(TEXT_FIELD_CONSTANTS.elementName);\n return textField?.popoverTargetElement ?? this._component;\n }\n}\n", "import { tokenize24HourTimeString, tokenize12HourTimeString, TWENTY_FOUR_HOUR_TIME_REGEX, TWELVE_HOUR_TIME_REGEX } from '../core/utils/time-utils';\n\nexport function timeStringToMillis(time: string | null, use24HourTime: boolean, allowSeconds: boolean): number | null {\n if (!time || /^\\s*$/.test(time)) {\n return null;\n }\n\n let hours = 0;\n let minutes = 0;\n let seconds = 0;\n\n if (TWENTY_FOUR_HOUR_TIME_REGEX.test(time)) {\n const tokens = tokenize24HourTimeString(time);\n hours = +tokens.hours || 0;\n minutes = +tokens.minutes || 0;\n seconds = +tokens.seconds || 0;\n } else if (TWELVE_HOUR_TIME_REGEX.test(time)) {\n const tokens = tokenize12HourTimeString(time);\n hours = +tokens.hours || 0;\n minutes = +tokens.minutes || 0;\n seconds = +tokens.seconds || 0;\n if (hours === 12 && tokens.meridiem === 'AM') {\n hours = 0;\n }\n if (hours < 12 && tokens.meridiem === 'PM') {\n hours += 12;\n }\n } else {\n return null;\n }\n\n return hoursToMillis(hours) + minutesToMillis(minutes) + (allowSeconds ? secondsToMillis(seconds) : 0);\n}\n\nexport function millisToTimeString(value: number | null | undefined, use24HourTime: boolean, allowSeconds: boolean): string | null {\n if (typeof value !== 'number' || value < 0) {\n return null;\n }\n\n let hours = Math.min(millisToHours(value), 23);\n const minutes = Math.min(millisToMinutesClamped(value), 59);\n const totalMinutes = value / (1000 * 60);\n const meridiem = totalMinutes < 720 ? 'AM' : 'PM';\n\n if (!use24HourTime) {\n hours = hours <= 12 ? hours : hours - 12;\n if (hours === 0) {\n hours = 12;\n }\n }\n\n let time = `${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}`;\n\n if (allowSeconds) {\n const seconds = Math.min(millisToSecondsClamped(value), 59);\n time += `:${String(seconds).padStart(2, '0')}`;\n }\n\n if (!use24HourTime) {\n time += ` ${meridiem}`;\n }\n\n return time;\n}\n\nexport function millisToHours(millis: number): number {\n return Math.abs(Math.floor(millis / (1000 * 60 * 60)));\n}\n\nexport function millisToMinutesClamped(millis: number): number {\n return Math.abs(Math.floor(millisToMinutes(millis) % 60));\n}\n\nexport function millisToMinutes(millis: number): number {\n return millis / (1000 * 60);\n}\n\nexport function millisToSecondsClamped(millis: number): number {\n return Math.abs(Math.floor(millisToSeconds(millis) % 60));\n}\n\nexport function millisToSeconds(millis: number): number {\n return millis / 1000;\n}\n\nexport function hoursToMillis(hours: number): number {\n return hours * 60 * 60 * 1000;\n}\n\nexport function minutesToMillis(minutes: number): number {\n return minutes * 60 * 1000;\n}\n\nexport function secondsToMillis(seconds: number): number {\n return seconds * 1000;\n}\n\nexport function stripSecondsFromMillis(millis: number): number {\n return millis - secondsToMillis(millisToSecondsClamped(millis));\n}\n\nexport function getCurrentTimeOfDayMillis(allowSeconds: boolean): number {\n const date = new Date();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n return hoursToMillis(hours) + minutesToMillis(minutes) + (allowSeconds ? secondsToMillis(date.getSeconds()) : 0);\n}\n\n/**\n * Combines a `Date` object with a 24-hour time string from the time-picker component.\n * @param date The `Date` object to adjust.\n * @param time The 24-hour time string.\n * @param useSeconds If your 24-hour time string contains seconds, set this to `true`.\n * @returns The same `Date` object that was provided, with the newly adjusted time.\n */\nexport function mergeDateWithTime(date: Date, time: string, useSeconds = false): Date {\n if (!date) {\n date = new Date();\n }\n\n const millis = timeStringToMillis(time, true, useSeconds);\n if (!millis) {\n date.setHours(0, 0, 0);\n return date;\n }\n\n let hours = millisToHours(millis);\n \n const twentyThreeHoursInMillis = 82800000;\n if (hours > twentyThreeHoursInMillis) {\n hours = twentyThreeHoursInMillis;\n } else if (hours < 0) {\n hours = 0;\n }\n\n const minutes = millisToMinutesClamped(millis);\n const seconds = useSeconds ? millisToSecondsClamped(millis) : 0;\n date.setHours(hours, minutes, seconds);\n\n return date;\n}\n", "import { ICustomElementFoundation, Platform, debounce, randomChars } from '@tylertech/forge-core';\nimport { ITimePickerAdapter } from './time-picker-adapter';\nimport { ITimeInputMaskOptions } from '../core/mask/time-input-mask';\nimport { isSupportedTimeFormat, TWENTY_FOUR_HOUR_TIME_REGEX, tryCoerceTimeString } from '../core/utils/time-utils';\nimport {\n TIME_PICKER_CONSTANTS,\n ITimePickerOptionValue,\n ITimePickerOption,\n TimePickerValidationCallback,\n TimePickerParseCallback,\n TimePickerFormatCallback,\n TimePickerCoercionCallback,\n TimePickerPrepareMaskCallback\n} from './time-picker-constants';\nimport { IListDropdownConfig, ListDropdownType, IListDropdownOption } from '../list-dropdown/list-dropdown-constants';\nimport { timeStringToMillis, millisToTimeString, minutesToMillis, getCurrentTimeOfDayMillis, millisToMinutes, stripSecondsFromMillis } from './time-picker-utils';\n\nexport interface ITimePickerFoundation extends ICustomElementFoundation {\n value: string | null | undefined;\n open: boolean;\n allowSeconds: boolean;\n masked: boolean;\n showMaskFormat: boolean;\n use24HourTime: boolean;\n allowInvalidTime: boolean;\n min: string | null | undefined;\n max: string | null | undefined;\n restrictedTimes: string[];\n startTime: string | null | undefined;\n step: number;\n allowInput: boolean;\n showNow: boolean;\n showHourOptions: boolean;\n customOptions: ITimePickerOption[];\n validationCallback: TimePickerValidationCallback;\n parseCallback: TimePickerParseCallback;\n formatCallback: TimePickerFormatCallback;\n coercionCallback: TimePickerCoercionCallback;\n prepareMaskCallback: TimePickerPrepareMaskCallback;\n disabled: boolean;\n popupClasses: string | string[];\n allowDropdown: boolean;\n}\n\nexport class TimePickerFoundation implements ITimePickerFoundation {\n // State vars\n private _value?: number | null = null;\n private _masked = true;\n private _use24HourTime = false;\n private _showMaskFormat = false;\n private _min?: number | null = null;\n private _max?: number | null = null;\n private _restrictedTimes: number[] = [];\n private _startTime?: number | null = null;\n private _step = TIME_PICKER_CONSTANTS.numbers.DEFAULT_MINUTE_STEP;\n private _allowInput = true;\n private _identifier: string;\n private _open = false;\n private _allowSeconds = false;\n private _allowInvalidTime = false;\n private _popupTarget: string;\n private _showNow = false;\n private _showHourOptions = true;\n private _customOptions: ITimePickerOption[] = [];\n private _validationCallback: TimePickerValidationCallback;\n private _parseCallback: TimePickerParseCallback;\n private _formatCallback: TimePickerFormatCallback;\n private _coercionCallback: TimePickerCoercionCallback;\n private _prepareMaskCallback: TimePickerPrepareMaskCallback;\n private _disabled = false;\n private _popupClasses: string[] = [];\n private _allowDropdown = true;\n \n // Internal state vars\n private _isInitialized = false;\n private _dropdownConfig: IListDropdownConfig<ITimePickerOptionValue> | undefined;\n\n // Listeners\n private _inputListener: (evt: Event) => void;\n private _inputKeydownListener: (evt: KeyboardEvent) => void;\n private _toggleMousedownListener: (evt: MouseEvent) => void;\n private _inputFocusListener: (evt: Event) => void;\n private _inputBlurListener: (evt: Event) => void;\n private _inputMousedownListener: (evt: MouseEvent) => void;\n \n constructor(private _adapter: ITimePickerAdapter) {\n this._identifier = randomChars(); // This is a unique identifier for this instance of the time picker (used for a11y purposes)\n\n // Set up listeners\n this._inputListener = evt => this._onInput(evt);\n this._inputKeydownListener = evt => this._onInputKeydown(evt);\n this._toggleMousedownListener = evt => this._onToggleMousedown(evt);\n this._inputFocusListener = evt => this._onInputFocus(evt);\n this._inputBlurListener = evt => this._onInputBlur(evt);\n this._inputMousedownListener = evt => this._onInputMousedown(evt);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n \n // We require an input element to be a child of this component\n if (!this._adapter.hasInputElement()) {\n throw new Error('Unable to locate <input> element to attach to.');\n }\n\n this._adapter.initializeAccessibility(this._identifier);\n\n // Detect if a value already exists in the input and set our values based on that\n if (!this._value) {\n const inputValue = this._adapter.getInputValue();\n this._setValue(this._convertTimeStringToMillis(inputValue, this._use24HourTime, this._allowSeconds));\n }\n\n // Attach required listeners\n this._adapter.addInputListener('focus', this._inputFocusListener);\n this._adapter.addInputListener('blur', this._inputBlurListener);\n this._adapter.addInputListener('keydown', this._inputKeydownListener, true);\n\n // Ensure our input has the correct time format (make sure not to emit input events manually at this point)\n this._formatInputValue(false);\n\n // Apply our state\n if (typeof this._value === 'number') {\n this._applyValue(this._value, false);\n }\n this._applyAllowInput();\n this._applyAllowDropdown();\n this._applyDisabled();\n this._applyMask();\n\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n\n // Remove listeners\n this._adapter.removeInputListener('input', this._inputListener);\n this._adapter.removeInputListener('focus', this._inputFocusListener);\n this._adapter.removeInputListener('blur', this._inputBlurListener);\n this._adapter.removeToggleListener('mousedown', this._toggleMousedownListener);\n this._adapter.removeInputListener('keydown', this._inputKeydownListener, true);\n\n // If we are using an input mask, let's destroy that now\n if (this._masked) {\n this._adapter.destroyMask();\n }\n\n // Ensure we remove our dropdown\n this._closeDropdown({ destroy: true });\n\n // Cleanup any resources used in the adapter\n this._adapter.destroy();\n }\n\n /** Called when the input mask changes or the `input` event occurs on our `<input>` element. */\n private _onInput(evt: Event): void {\n this._handleInput(this._adapter.getInputValue());\n }\n\n private _onInputKeydown(evt: KeyboardEvent): void {\n if (evt.shiftKey) {\n switch (evt.code) {\n case 'Backspace':\n case 'Delete':\n evt.preventDefault();\n const result = this._trySetValue(null);\n if (result) {\n this._formatInputValue();\n }\n return;\n }\n }\n\n switch (evt.code) {\n case 'Tab':\n if (this._open) {\n this._selectActiveOption();\n }\n break;\n case 'Esc':\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n evt.stopPropagation();\n this._closeDropdown({ emitCloseEvent: true });\n }\n break;\n case 'Down':\n case 'ArrowDown':\n if (this._allowDropdown) {\n evt.preventDefault();\n if (!this._open) {\n this._openDropdown();\n if (typeof this._dropdownConfig?.visibleStartIndex === 'number' && this._dropdownConfig.visibleStartIndex >= 0) {\n this._adapter.activateOptionByIndex(this._dropdownConfig?.visibleStartIndex);\n } else {\n this._adapter.activateFirstOption();\n }\n // TODO: Should we cycle the hours, minutes, seconds, or meridiem where the cursor is instead of opening the dropdown?\n } else {\n if (!this._adapter.hasActiveOption()) {\n this._trySetActiveOption();\n } else {\n this._adapter.propagateKey(evt.code);\n }\n }\n }\n break;\n case 'ArrowUp':\n if (this._allowDropdown) {\n evt.preventDefault();\n if (this._open) {\n if (!this._adapter.hasActiveOption()) {\n this._trySetActiveOption();\n } else {\n this._adapter.propagateKey(evt.code);\n }\n } else {\n // TODO: cycle the hours, minutes, seconds, or meridiem where the cursor is\n }\n }\n break;\n case 'Enter':\n case 'NumpadEnter':\n case 'Home':\n case 'End':\n if (this._open) {\n if (evt.code === 'Enter' || evt.code === 'NumpadEnter') {\n evt.stopPropagation();\n }\n evt.preventDefault();\n this._adapter.propagateKey(evt.code);\n }\n break;\n case 'KeyN':\n evt.preventDefault();\n const nowMillis = getCurrentTimeOfDayMillis(this._allowSeconds);\n if (this._value !== nowMillis) {\n const timeString = millisToTimeString(nowMillis, true, this._allowSeconds);\n const canContinue = this._emitChangeEvent(timeString);\n if (canContinue) {\n this._applyValue(nowMillis);\n this._selectInputText();\n }\n }\n break;\n }\n }\n\n private _trySetActiveOption(): void {\n if (!this._adapter.hasActiveOption() && typeof this._dropdownConfig?.visibleStartIndex === 'number' && this._dropdownConfig.visibleStartIndex >= 0) {\n this._adapter.activateOptionByIndex(this._dropdownConfig?.visibleStartIndex);\n }\n }\n\n private _selectActiveOption(): void {\n const activeOption = this._adapter.getActiveOption();\n if (activeOption) {\n this._onSelect(activeOption.value);\n }\n }\n\n private _onToggleMousedown(evt: Event): void {\n if (this._disabled || !this.allowDropdown) {\n return;\n }\n\n evt.stopPropagation();\n\n if (this._adapter.isInputDisabled()) {\n return;\n }\n\n evt.preventDefault();\n\n if (this._open) {\n this._closeDropdown({ emitCloseEvent: true });\n } else {\n if (!Platform.isMobile) {\n this._adapter.tryFocusInput();\n } else {\n this._adapter.tryBlurInput();\n }\n this._openDropdown();\n }\n }\n\n private _onInputFocus(evt: Event): void {\n if (this.masked && this._showMaskFormat) {\n this._applyMask();\n }\n\n if (this._allowInput) {\n this._adapter.selectInputText();\n }\n }\n\n private _onInputBlur(evt: Event): void {\n if (this.masked && this._showMaskFormat) {\n this._applyMask();\n }\n\n this._formatInputValue();\n\n if (this._open && !this._adapter.isInputFocused()) {\n this._closeDropdown({ emitCloseEvent: true });\n }\n }\n\n private _onInputMousedown(evt: MouseEvent): void {\n if (!this._allowInput && !this._open) {\n this._openDropdown();\n this._adapter.tryFocusInput();\n window.requestAnimationFrame(() => this._adapter.selectInputText());\n }\n }\n\n private _applyDisabled(): void {\n this._adapter.setDisabled(this._disabled);\n }\n\n private _applyMask(): void {\n if (this._masked && this._allowInput) {\n this._adapter.destroyMask();\n const options: ITimeInputMaskOptions = {\n showMaskFormat: this._showMaskFormat && this._adapter.isInputFocused(),\n use24HourTime: this._use24HourTime,\n showSeconds: this._allowSeconds,\n prepareCallback: this._prepareMaskCallback,\n onChange: debounce((value: string) => this._handleInput(value), 0, true) // debounce this to avoid multiple callbacks for same value\n };\n this._adapter.initializeMask(options);\n } else {\n this._adapter.destroyMask();\n this._formatInputValue();\n }\n }\n\n private _applyAllowInput(): void {\n this._adapter.setInputReadonly(!this._allowInput);\n if (this._allowInput) {\n this._adapter.removeInputListener('mousedown', this._inputMousedownListener);\n // If not using an input mask we need to attach our own `input` listener, otherwise\n // we use the mask to notify us of changes\n if (!this._masked) {\n this._adapter.addInputListener('input', this._inputListener);\n }\n } else {\n this._adapter.addInputListener('mousedown', this._inputMousedownListener);\n this._adapter.removeInputListener('input', this._inputListener);\n }\n }\n\n private _applyAllowDropdown(): void {\n this._adapter.setToggleDisabled(!this._allowDropdown);\n if (this._allowDropdown) {\n this._adapter.removeToggleListener('mousedown', this._toggleMousedownListener);\n this._adapter.tryCreateToggle();\n this._adapter.addToggleListener('mousedown', this._toggleMousedownListener);\n } else if (this._open) {\n this._closeDropdown({ emitCloseEvent: true });\n }\n }\n\n private _applyAllowSeconds(): void {\n const originalValue = this._value;\n if (!this._allowSeconds) {\n // If we are not using seconds, we need to remove our seconds from the value\n if (typeof this._value !== 'number') {\n return;\n }\n\n this._setValue(stripSecondsFromMillis(this._value));\n\n if (this._isInitialized && originalValue !== this._value) {\n // We need to emit a change event with our new value which does not include the seconds\n const timeString = millisToTimeString(this._value, true, false);\n this._emitChangeEvent(timeString);\n }\n } else if (this._isInitialized && originalValue !== this._value) {\n // We need to emit a change event with our new value which includes the seconds\n const timeString = millisToTimeString(this._value, true, true);\n this._emitChangeEvent(timeString);\n }\n }\n\n private _handleInput(value: string): void {\n const rawValue = value;\n\n if (!this._allowInput) {\n return;\n }\n\n if (this._open) {\n this._closeDropdown({ emitCloseEvent: true });\n }\n\n // Let's attempt to coerce our time string into a known format to help with ease of entry\n value = tryCoerceTimeString(value, this._use24HourTime, this._allowSeconds);\n\n // If we were provided a custom coercion callback then we need to call that now to perform any further coercion by the consumer\n if (typeof this._coercionCallback === 'function') {\n value = this._coercionCallback.call(null, rawValue, value, this._allowSeconds);\n }\n\n // Validate the time format and make sure it's supported\n if (!this._isValidTimeFormat(value)) {\n value = '';\n }\n\n // Convert the time string to milliseconds\n let millis: number | null | undefined;\n if (!this._masked && typeof this._parseCallback === 'function') {\n millis = this._parseCallback.call(null, value);\n } else {\n millis = this._convertTimeStringToMillis(value, this._use24HourTime, this._allowSeconds);\n }\n\n // Validate that our time can be chosen as a valid value\n millis = this._validateMillis(millis);\n\n // Update our value\n this._trySetValue(millis);\n }\n\n private _emitChangeEvent(value: string | null, force = false): boolean {\n return this._adapter.emitHostEvent(TIME_PICKER_CONSTANTS.events.CHANGE, value, true, !force);\n }\n\n private _trySetValue(millis: number | null | undefined): boolean {\n // If our value hasn't changed, we can just return\n if (millis === this._value) {\n return false;\n }\n\n // Convert our milliseconds to a 24-hour time string to use as our normalized value\n const timeString = millisToTimeString(millis, true, this._allowSeconds);\n\n // Dispatch our custom input event to let consumers know raw input occurred (before our change event)\n this._adapter.emitInputEvent(TIME_PICKER_CONSTANTS.events.INPUT, timeString);\n\n // Only emit our change event if the value is different\n if (this._value !== millis) {\n const canContinue = this._emitChangeEvent(timeString);\n if (canContinue) {\n this._setValue(millis);\n return true;\n }\n }\n\n return false;\n }\n\n private _setValue(value: number | null | undefined): void {\n this._value = this._normalizeTimeValue(value);\n }\n\n private _validateMillis(millis: number | null | undefined): number | null | undefined {\n // Trap for min/max validation\n if (typeof millis === 'number') {\n const isBelowMin = typeof this._min === 'number' && millis < this._min;\n const isAboveMax = typeof this._max === 'number' && millis > this._max;\n if (isBelowMin || isAboveMax) {\n millis = null;\n }\n }\n \n // Trap for restricted times\n if (typeof millis === 'number' && this._restrictedTimes.length) {\n if (this._restrictedTimes.includes(millis)) {\n millis = null;\n }\n }\n\n return millis;\n }\n\n private _isValidTimeFormat(value: string): boolean {\n if (!this._masked && typeof this._validationCallback === 'function') {\n return this._validationCallback.call(this, value);\n }\n return isSupportedTimeFormat(value);\n }\n\n private _isValidInputValue(value: string): boolean {\n return TWENTY_FOUR_HOUR_TIME_REGEX.test(value);\n }\n\n private _onSelect(value: ITimePickerOptionValue): void {\n this._closeDropdown({ emitCloseEvent: true });\n\n // Check if the \"Now\" option was selected\n if (!value.isCustom && value.metadata === 'now') {\n value.time = getCurrentTimeOfDayMillis(this._allowSeconds);\n }\n\n // Check if this is a custom option, and then call the provided callback for it\n if (value.isCustom) {\n if (typeof value.customCallback === 'function') {\n const result = value.customCallback.call(null, value.metadata);\n if (typeof result !== 'number') {\n throw new Error('Custom options must provide a time of day value in milliseconds.');\n }\n value.time = result;\n } else {\n throw new Error('You must implement a `toMilliseconds` callback that returns the time value to use for this custom option.');\n }\n }\n\n // Make sure the time is different than what is already populated or we can just return\n if (this._value === value.time) {\n return;\n }\n\n // Emit the change event\n const timeString = millisToTimeString(value.time, true, this._allowSeconds);\n const canContinue = this._emitChangeEvent(timeString);\n if (!canContinue) {\n return;\n }\n\n // This will update our state and the UI at once\n this._applyValue(value.time);\n\n // Select full input text\n this._selectInputText();\n }\n\n private _selectInputText(): void {\n // We need to select the text of the input in the next cycle to allow time for the UI to update\n // with the selected text (assuming it still has focus)\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n if (this._adapter.isInputFocused()) {\n this._adapter.selectInputText();\n }\n });\n });\n }\n\n private _applyValue(value: number | null | undefined, emitEvents = true): void {\n this._setValue(value);\n const formattedValue = this._formatValue(this._value);\n if (this._adapter.getInputValue() !== formattedValue) {\n this._adapter.setInputValue(formattedValue, emitEvents);\n }\n }\n\n private _normalizeTimeValue(value: number | null | undefined): number | null {\n if (value == null) {\n return null;\n } else if (value < 0) {\n return 0;\n } else if (value > TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MILLIS) {\n return TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MILLIS;\n }\n return value;\n }\n\n private _openDropdown(): void {\n const options = this._generateTimeOptions();\n\n if (!this.allowDropdown || !options.length) {\n return;\n }\n \n this._formatInputValue();\n this._open = true;\n this._adapter.setHostAttribute(TIME_PICKER_CONSTANTS.attributes.OPEN);\n \n const selectableOptions = options.filter(o => !o.divider && !o.disabled);\n let selectedValues: ITimePickerOptionValue[] = [];\n let visibleStartIndex = 0;\n \n // Find closest match in list of time options and activate/select it\n if (options.length) {\n if (this._value != null) {\n const optionIndex = this._findClosestOptionIndex(this._value, selectableOptions);\n if (optionIndex >= 0) {\n const isExactMatch = selectableOptions[optionIndex].value.time === this._value;\n if (isExactMatch) {\n selectedValues = [selectableOptions[optionIndex].value];\n } else {\n visibleStartIndex = optionIndex;\n }\n }\n } else if (typeof this._startTime === 'number') {\n const optionIndex = this._findClosestOptionIndex(this._startTime, selectableOptions);\n if (optionIndex >= 0 && optionIndex < selectableOptions.length) {\n visibleStartIndex = optionIndex;\n }\n } else if (this._startTime == null) {\n // If we don't have a start time set then let's scroll the closest time to current time into view\n visibleStartIndex = this._getOptionIndexClosestCurrent(selectableOptions);\n }\n }\n\n this._dropdownConfig = {\n id: `forge-time-picker-${this._identifier}`,\n selectedValues,\n syncWidth: true,\n visibleStartIndex,\n popupClasses: this._popupClasses,\n popupStatic: true,\n type: ListDropdownType.Standard,\n options,\n selectCallback: value => this._onSelect(value),\n closeCallback: () => this._closeDropdown({ emitCloseEvent: true }),\n activeChangeCallback: id => this._adapter.setActiveDescendant(id),\n targetWidthCallback: () => this._adapter.getTargetElementWidth(this._popupTarget)\n };\n this._adapter.attachDropdown(this._dropdownConfig);\n this._adapter.emitHostEvent(TIME_PICKER_CONSTANTS.events.OPEN, undefined, false);\n }\n\n private _closeDropdown({ destroy = false, emitCloseEvent = false } = {}): void {\n this._open = false;\n this._dropdownConfig = undefined;\n this._adapter.removeHostAttribute(TIME_PICKER_CONSTANTS.attributes.OPEN);\n this._adapter.detachDropdown({ destroy });\n if (emitCloseEvent) {\n this._adapter.emitHostEvent(TIME_PICKER_CONSTANTS.events.CLOSE, true, false);\n }\n }\n\n private _getOptionIndexClosestCurrent(options: IListDropdownOption<ITimePickerOptionValue>[]): number {\n const date = new Date();\n const currentTimeString = `${String(date.getHours()).padStart(2, '0')}:${String(date.getMinutes()).padStart(2, '0')}`;\n const currentTimeMillis = timeStringToMillis(currentTimeString, true, false) as number;\n return this._findClosestOptionIndex(currentTimeMillis, options);\n }\n\n private _findClosestOptionIndex(value: number, options: Array<IListDropdownOption<ITimePickerOptionValue>>): number {\n const closestItem = options.reduce((prev, curr) => {\n return Math.abs((curr.value.time || 0) - value) < Math.abs((prev.value.time || 0) - value) ? curr : prev;\n });\n return options.indexOf(closestItem);\n }\n\n private _formatInputValue(emitEvents = true): void {\n const inputValue = this._adapter.getInputValue();\n \n // If we allow invalid times, we can leave the input value as-is (only when unmasked)\n if (this._allowInvalidTime && !this._masked && inputValue && !this._value) {\n return;\n }\n\n const formattedValue = this._formatValue(this._value);\n \n if (inputValue !== formattedValue) {\n this._adapter.setInputValue(formattedValue, emitEvents);\n this._adapter.emitInputEvent(TIME_PICKER_CONSTANTS.events.INPUT, formattedValue);\n }\n }\n\n private _generateTimeOptions(): Array<IListDropdownOption<ITimePickerOptionValue>> {\n const minMinutes = this._min != null ? Math.max(millisToMinutes(this._min), 0) : 0;\n const maxMinutes = this._max != null ? Math.min(millisToMinutes(this._max), TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MINUTES) : TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MINUTES;\n const minuteStep = this._step;\n const times: IListDropdownOption[] = [];\n let leadingOptions: IListDropdownOption[] = [];\n \n if (this._showHourOptions) {\n for (let totalMinutes = minMinutes; totalMinutes <= maxMinutes; totalMinutes += minuteStep) {\n if (totalMinutes === TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MINUTES) {\n break;\n }\n const millis = minutesToMillis(totalMinutes);\n const disabled = this._restrictedTimes.includes(millis);\n const label = millisToTimeString(millis, this._use24HourTime, false) || '';\n const value: ITimePickerOptionValue = { time: millis };\n times.push({ label, value, disabled });\n }\n\n // Add divider between AM/PM times\n const firstPmIndex = times.findIndex(t => t.value.time / 1000 / 60 >= 720);\n if (firstPmIndex >= 0 && firstPmIndex < times.length - 1) {\n times.splice(firstPmIndex, 0, { label: '', value: null, divider: true });\n }\n }\n\n\n // Check if we need to prepend a \"Now\" option\n if (this._showNow) {\n const value: ITimePickerOptionValue = { time: null, metadata: 'now' };\n leadingOptions.push({ label: 'Now', value });\n }\n\n // Check for any custom provided options to prepend\n if (Array.isArray(this._customOptions) && this._customOptions.length) {\n const options = this._customOptions.map(o => {\n const value: ITimePickerOptionValue = { time: null, metadata: o.value, isCustom: true, customCallback: o.toMilliseconds };\n return { label: o.label, value };\n });\n leadingOptions = [...leadingOptions, ...options];\n }\n\n // Append all leading options\n if (leadingOptions.length) {\n if (times.length) {\n times.splice(0, 0, { label: '', value: null, divider: true });\n }\n leadingOptions.forEach((o, index) => times.splice(index, 0, o));\n }\n\n return times;\n }\n\n private _convertTimeStringToMillis(value: string | null, use24HourTime: boolean, allowSeconds: boolean): number | null {\n if (!value || !this._isValidTimeFormat(value)) {\n value = '';\n }\n return timeStringToMillis(value, use24HourTime, allowSeconds);\n }\n\n private _formatValue(value: number | null | undefined): string {\n if (!this._masked && typeof this._formatCallback === 'function') {\n return this._formatCallback.call(null, value, this._use24HourTime, this._allowSeconds);\n }\n return millisToTimeString(this._value, this._use24HourTime, this._allowSeconds) || '';\n }\n\n private _warnInvalidFormat(value: string): void {\n console.warn(`The specified value \"${value}\" does not conform to the required format. The format is \"HH:mm\", \"HH:mm:ss\" where HH is 00-23, mm is 00-59, and ss is 00-59.`);\n }\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._open = value;\n if (this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n }\n\n public get masked(): boolean {\n return this._masked;\n }\n public set masked(value: boolean) {\n if (this._masked !== value) {\n this._masked = value;\n if (this._isInitialized) {\n if (this._masked) {\n this._adapter.removeInputListener('input', this._inputListener);\n this._applyMask();\n } else {\n this._adapter.destroyMask();\n this._formatInputValue();\n this._adapter.addInputListener('input', this._inputListener);\n }\n }\n }\n }\n\n public get showMaskFormat(): boolean {\n return this._showMaskFormat;\n }\n public set showMaskFormat(value: boolean) {\n if (this._showMaskFormat !== value) {\n this._showMaskFormat = value;\n }\n }\n\n public get allowSeconds(): boolean {\n return this._allowSeconds;\n }\n public set allowSeconds(value: boolean) {\n if (this._allowSeconds !== value) {\n this._allowSeconds = !!value;\n this._applyAllowSeconds();\n\n if (this._isInitialized) {\n this._applyMask();\n this._formatInputValue();\n }\n\n this._adapter.setHostAttribute(TIME_PICKER_CONSTANTS.attributes.ALLOW_SECONDS, `${!!value}`);\n }\n }\n\n public get use24HourTime(): boolean {\n return this._use24HourTime;\n }\n public set use24HourTime(value: boolean) {\n if (this._use24HourTime !== value) {\n this._use24HourTime = !!value;\n \n if (this._isInitialized) {\n this._applyMask();\n this._formatInputValue();\n }\n\n this._adapter.setHostAttribute(TIME_PICKER_CONSTANTS.attributes.USE_24_HOUR_TIME, `${!!value}`);\n }\n }\n\n public get allowInvalidTime(): boolean {\n return this._allowInvalidTime;\n }\n public set allowInvalidTime(value: boolean) {\n if (this._allowInvalidTime !== value) {\n this._allowInvalidTime = !!value;\n this._adapter.setHostAttribute(TIME_PICKER_CONSTANTS.attributes.ALLOW_INVALID_TIME, `${!!value}`);\n }\n }\n\n public get value(): string | null {\n return millisToTimeString(this._value, true, this._allowSeconds);\n }\n public set value(value: string | null) {\n if (value && !this._isValidInputValue(value)) {\n this._warnInvalidFormat(value);\n return;\n }\n const millis = this._validateMillis(this._convertTimeStringToMillis(value, true, true));\n this._setValue(millis);\n if (this._isInitialized) {\n this._applyValue(this._value);\n }\n }\n\n public get min(): string | null {\n return millisToTimeString(this._min, true, this._allowSeconds);\n }\n public set min(value: string | null) {\n if (this._min !== value) {\n if (value && !this._isValidInputValue(value)) {\n this._warnInvalidFormat(value);\n return;\n }\n this._min = this._convertTimeStringToMillis(value, true, this._allowSeconds);\n\n // Validate and reset our millis to ensure within range\n const millis = this._validateMillis(this._value);\n this._setValue(millis);\n\n if (this._isInitialized) {\n this._applyValue(millis);\n }\n }\n }\n\n public get max(): string | null {\n return millisToTimeString(this._max, true, this._allowSeconds);\n }\n public set max(value: string | null) {\n if (this._max !== value) {\n if (value && !this._isValidInputValue(value)) {\n this._warnInvalidFormat(value);\n return;\n }\n this._max = this._convertTimeStringToMillis(value, true, this._allowSeconds);\n \n // Validate and reset our millis to ensure within range\n const millis = this._validateMillis(this._value);\n this._setValue(millis);\n\n if (this._isInitialized) {\n this._applyValue(millis);\n }\n }\n }\n\n public get restrictedTimes(): string[] {\n return this._restrictedTimes\n .map(t => millisToTimeString(t, true, this._allowSeconds))\n .filter(v => typeof v === 'string') as string[];\n }\n public set restrictedTimes(value: string[]) {\n if (!Array.isArray(value)) {\n value = [];\n }\n this._restrictedTimes = value\n .filter(v => typeof v === 'string')\n .map(v => this._convertTimeStringToMillis(v, true, true))\n .filter(v => typeof v === 'number') as number[];\n }\n\n public get startTime(): string | null {\n return millisToTimeString(this._startTime, true, this._allowSeconds);\n }\n public set startTime(value: string | null) {\n if (this._startTime !== value) {\n if (value && !this._isValidInputValue(value)) {\n this._warnInvalidFormat(value);\n return;\n }\n this._startTime = this._convertTimeStringToMillis(value, true, this._allowSeconds);\n }\n }\n\n public get step(): number {\n return this._step;\n }\n public set step(value: number) {\n this._step = value;\n }\n\n public get allowInput(): boolean {\n return this._allowInput;\n }\n public set allowInput(value: boolean) {\n if (this._allowInput !== value) {\n this._allowInput = value;\n if (this._isInitialized) {\n this._applyAllowInput();\n this._applyMask();\n }\n }\n }\n\n public get popupTarget(): string {\n return this._popupTarget;\n }\n public set popupTarget(value: string) {\n if (this._popupTarget !== value) {\n this._popupTarget = value;\n }\n }\n\n public get showNow(): boolean {\n return this._showNow;\n }\n public set showNow(value: boolean) {\n if (this._showNow !== value) {\n this._showNow = value;\n }\n }\n\n public get showHourOptions(): boolean {\n return this._showHourOptions;\n }\n public set showHourOptions(value: boolean) {\n if (this._showHourOptions !== value) {\n this._showHourOptions = value;\n }\n }\n\n public get customOptions(): ITimePickerOption[] {\n return this._customOptions;\n }\n public set customOptions(value: ITimePickerOption[]) {\n this._customOptions = Array.isArray(value) ? value : [];\n }\n\n public set validationCallback(cb: TimePickerValidationCallback) {\n this._validationCallback = cb;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n\n public set parseCallback(cb: TimePickerParseCallback) {\n this._parseCallback = cb;\n }\n\n public set formatCallback(cb: TimePickerFormatCallback) {\n this._formatCallback = cb;\n }\n\n public set coercionCallback(cb: TimePickerCoercionCallback) {\n this._coercionCallback = cb;\n }\n\n public set prepareMaskCallback(cb: TimePickerPrepareMaskCallback) {\n this._prepareMaskCallback = cb;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = !!value;\n if (this._isInitialized) {\n this._applyDisabled();\n }\n this._adapter.toggleHostAttribute(TIME_PICKER_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get popupClasses(): string | string[] {\n if (Array.isArray(this._popupClasses)) {\n return [...this._popupClasses];\n }\n\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[]) {\n if (Array.isArray(value)) {\n this._popupClasses = [...value];\n } else {\n this._popupClasses = [value];\n }\n }\n\n public get allowDropdown(): boolean {\n return this._allowDropdown;\n }\n public set allowDropdown(value: boolean) {\n if (this._allowDropdown !== value) {\n this._allowDropdown = value;\n if (this._isInitialized) {\n this._applyAllowDropdown();\n }\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean, coerceNumber, ensureChild } from '@tylertech/forge-core';\nimport { tylIconClockOutline } from '@tylertech/tyler-icons/extended';\nimport { tylIconClose } from '@tylertech/tyler-icons/standard';\nimport { TimePickerAdapter } from './time-picker-adapter';\nimport { TimePickerFoundation } from './time-picker-foundation';\nimport {\n TIME_PICKER_CONSTANTS,\n ITimePickerOption,\n TimePickerParseCallback,\n TimePickerValidationCallback,\n TimePickerFormatCallback,\n TimePickerCoercionCallback,\n TimePickerPrepareMaskCallback\n} from './time-picker-constants';\nimport { IconRegistry, IconComponent } from '../icon';\nimport { IconButtonComponent } from '../icon-button';\nimport { DialogComponent } from '../dialog';\nimport { ListComponent, ListItemComponent } from '../list';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { PopoverComponent } from '../popover/popover';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:block}:host([hidden]){display:none}';\n\nexport interface ITimePickerComponent extends IBaseComponent {\n value: string | null | undefined;\n open: boolean;\n allowSeconds: boolean;\n masked: boolean;\n showMaskFormat: boolean;\n use24HourTime: boolean;\n allowInvalidTime: boolean;\n min: string | null | undefined;\n max: string | null | undefined;\n restrictedTimes: string[];\n startTime: string | null | undefined;\n step: number;\n allowInput: boolean;\n showNow: boolean;\n showHourOptions: boolean;\n customOptions: ITimePickerOption[];\n validationCallback: TimePickerValidationCallback;\n parseCallback: TimePickerParseCallback;\n formatCallback: TimePickerFormatCallback;\n coercionCallback: TimePickerCoercionCallback;\n prepareMaskCallback: TimePickerPrepareMaskCallback;\n disabled: boolean;\n popupClasses: string | string[];\n allowDropdown: boolean;\n popupTarget: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-time-picker': ITimePickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-time-picker-open': CustomEvent<void>;\n 'forge-time-picker-close': CustomEvent<void>;\n 'forge-time-picker-input': Event;\n 'forge-time-picker-change': CustomEvent<string | null>;\n }\n}\n\n/**\n * The web component class behind the `<forge-time-picker>` custom element.\n * \n * @tag forge-time-picker\n */\n@CustomElement({\n name: TIME_PICKER_CONSTANTS.elementName,\n dependencies: [\n ListComponent,\n ListItemComponent,\n IconButtonComponent,\n IconComponent,\n PopoverComponent,\n IconComponent,\n DialogComponent\n ]\n})\nexport class TimePickerComponent extends BaseComponent implements ITimePickerComponent {\n public static get observedAttributes(): string[] {\n return [\n TIME_PICKER_CONSTANTS.attributes.VALUE,\n TIME_PICKER_CONSTANTS.attributes.OPEN,\n TIME_PICKER_CONSTANTS.attributes.ALLOW_SECONDS,\n TIME_PICKER_CONSTANTS.attributes.MASKED,\n TIME_PICKER_CONSTANTS.attributes.SHOW_MASK_FORMAT,\n TIME_PICKER_CONSTANTS.attributes.USE_24_HOUR_TIME,\n TIME_PICKER_CONSTANTS.attributes.ALLOW_INVALID_TIME,\n TIME_PICKER_CONSTANTS.attributes.MIN,\n TIME_PICKER_CONSTANTS.attributes.MAX,\n TIME_PICKER_CONSTANTS.attributes.START_TIME,\n TIME_PICKER_CONSTANTS.attributes.STEP,\n TIME_PICKER_CONSTANTS.attributes.ALLOW_INPUT,\n TIME_PICKER_CONSTANTS.attributes.SHOW_NOW,\n TIME_PICKER_CONSTANTS.attributes.SHOW_HOUR_OPTIONS,\n TIME_PICKER_CONSTANTS.attributes.DISABLED,\n TIME_PICKER_CONSTANTS.attributes.POPUP_CLASSES,\n TIME_PICKER_CONSTANTS.attributes.ALLOW_DROPDOWN\n ];\n }\n\n private _foundation: TimePickerFoundation;\n\n constructor() {\n super();\n IconRegistry.define([tylIconClockOutline, tylIconClose]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new TimePickerFoundation(new TimePickerAdapter(this));\n }\n\n public connectedCallback(): void {\n if (this.querySelector(TIME_PICKER_CONSTANTS.selectors.INPUT)) {\n this._foundation.initialize();\n } else {\n ensureChild(this, TIME_PICKER_CONSTANTS.selectors.INPUT).then(() => this._foundation.initialize());\n }\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 TIME_PICKER_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.ALLOW_SECONDS:\n this.allowSeconds = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.MASKED:\n this.masked = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.SHOW_MASK_FORMAT:\n this.showMaskFormat = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.USE_24_HOUR_TIME:\n this.use24HourTime = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.ALLOW_INVALID_TIME:\n this.allowInvalidTime = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.SHOW_NOW:\n this.showNow = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.SHOW_HOUR_OPTIONS:\n this.showHourOptions = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.MIN:\n this.min = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.MAX:\n this.max = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.START_TIME:\n this.startTime = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.STEP:\n this.step = coerceNumber(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.ALLOW_INPUT:\n this.allowInput = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.POPUP_CLASSES:\n this.popupClasses = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.ALLOW_DROPDOWN:\n this.allowDropdown = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare value: string | null | undefined;\n\n @FoundationProperty()\n public declare open: boolean;\n\n @FoundationProperty()\n public declare allowSeconds: boolean;\n\n @FoundationProperty()\n public declare masked: boolean;\n\n @FoundationProperty()\n public declare showMaskFormat: boolean;\n\n @FoundationProperty()\n public declare use24HourTime: boolean;\n\n @FoundationProperty()\n public declare allowInvalidTime: boolean;\n\n @FoundationProperty()\n public declare min: string | null | undefined;\n\n @FoundationProperty()\n public declare max: string | null | undefined;\n\n @FoundationProperty()\n public declare restrictedTimes: string[];\n\n @FoundationProperty()\n public declare startTime: string | null | undefined;\n\n @FoundationProperty()\n public declare step: number;\n\n @FoundationProperty()\n public declare allowInput: boolean;\n\n @FoundationProperty()\n public declare showNow: boolean;\n\n /** Whether or not to display hour options in dropdown */\n @FoundationProperty()\n public declare showHourOptions: boolean;\n\n @FoundationProperty()\n public declare customOptions: ITimePickerOption[];\n\n @FoundationProperty()\n public declare validationCallback: TimePickerValidationCallback;\n \n @FoundationProperty()\n public declare parseCallback: TimePickerParseCallback;\n\n @FoundationProperty()\n public declare formatCallback: TimePickerFormatCallback;\n\n @FoundationProperty()\n public declare coercionCallback: TimePickerCoercionCallback;\n\n @FoundationProperty()\n public declare prepareMaskCallback: TimePickerPrepareMaskCallback;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare popupClasses: string | string[];\n\n @FoundationProperty()\n public declare allowDropdown: boolean;\n\n @FoundationProperty()\n public declare popupTarget: string;\n}\n", "import { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';\nimport { ITextFieldComponent, ITextFieldComponentDelegateConfig, TextFieldComponentDelegate } from '../text-field';\nimport { ITimePickerComponent } from './time-picker';\nimport { TIME_PICKER_CONSTANTS } from './time-picker-constants';\n\nexport type TimePickerComponentDelegateProps = Partial<ITimePickerComponent>;\nexport interface ITimePickerComponentDelegateOptions extends IFormFieldComponentDelegateOptions {\n textFieldDelegateConfig?: ITextFieldComponentDelegateConfig;\n}\nexport interface ITimePickerComponentDelegateConfig extends IBaseComponentDelegateConfig<ITimePickerComponent, ITimePickerComponentDelegateOptions> {}\n\nexport class TimePickerComponentDelegate extends FormFieldComponentDelegate<ITimePickerComponent, ITimePickerComponentDelegateOptions> {\n private _textFieldDelegate: TextFieldComponentDelegate;\n\n constructor(config?: ITimePickerComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): ITimePickerComponent {\n const timePicker = document.createElement(TIME_PICKER_CONSTANTS.elementName);\n this._attachTextField(timePicker);\n return timePicker;\n }\n\n public get inputElement(): HTMLInputElement {\n return this._textFieldDelegate.inputElement;\n }\n\n public get textFieldElement(): ITextFieldComponent {\n return this._textFieldDelegate.element;\n }\n\n public get value(): any {\n return this._element.value;\n }\n public set value(value: any) {\n this._element.value = value;\n }\n\n public get disabled(): boolean {\n return this._element.disabled;\n }\n public set disabled(value: boolean) {\n this._element.disabled = value;\n }\n\n public get invalid(): boolean {\n return this._textFieldDelegate.invalid || false;\n }\n public set invalid(value: boolean) {\n this._textFieldDelegate.invalid = value;\n }\n\n public onChange(listener: (value: string) => void): void {\n this._element.addEventListener(TIME_PICKER_CONSTANTS.events.CHANGE, (evt: CustomEvent<string>) => listener(evt.detail ?? ''));\n }\n\n public onInput(listener: (value: string) => void): void {\n this._element.addEventListener(TIME_PICKER_CONSTANTS.events.INPUT, (evt: CustomEvent<string>) => listener(evt.detail ?? ''));\n }\n\n public onFocus(listener: (evt: FocusEvent) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('focus', (evt: FocusEvent) => listener(evt));\n }\n\n public onBlur(listener: (evt: FocusEvent) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('blur', (evt: FocusEvent) => listener(evt));\n }\n\n private _attachTextField(component: ITimePickerComponent): void {\n const textFieldConfig: ITextFieldComponentDelegateConfig = {\n props: { ...this._config.options?.textFieldDelegateConfig?.props },\n options: { ...this._config.options?.textFieldDelegateConfig?.options }\n };\n this._textFieldDelegate = new TextFieldComponentDelegate(textFieldConfig);\n component.appendChild(this._textFieldDelegate.element);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { TimePickerComponent } from './time-picker';\n\nexport * from './time-picker-adapter';\nexport * from './time-picker-component-delegate';\nexport * from './time-picker-constants';\nexport * from './time-picker-foundation';\nexport * from './time-picker-utils';\nexport * from './time-picker';\n\nexport function defineTimePickerComponent(): void {\n defineCustomElement(TimePickerComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "events", "numbers", "TIME_PICKER_CONSTANTS", "TimePickerAdapter", "BaseAdapter", "component", "TIME_PICKER_CONSTANTS", "options", "TimeInputMask", "_a", "identifier", "type", "listener", "capture", "textField", "TEXT_FIELD_CONSTANTS", "toggleElement", "existingIconButton", "ICON_BUTTON_CONSTANTS", "iconButtonElement", "iconElement", "ICON_CONSTANTS", "getActiveElement", "value", "emitEvents", "isDisabled", "config", "ListDropdown", "destroy", "key", "id", "toggleAttribute", "selector", "data", "emitEvent", "button", "_b", "index", "timeStringToMillis", "time", "use24HourTime", "allowSeconds", "hours", "minutes", "seconds", "TWENTY_FOUR_HOUR_TIME_REGEX", "tokens", "tokenize24HourTimeString", "TWELVE_HOUR_TIME_REGEX", "tokenize12HourTimeString", "hoursToMillis", "minutesToMillis", "secondsToMillis", "millisToTimeString", "value", "millisToHours", "millisToMinutesClamped", "meridiem", "millisToSecondsClamped", "millis", "millisToMinutes", "millisToSeconds", "stripSecondsFromMillis", "getCurrentTimeOfDayMillis", "date", "mergeDateWithTime", "useSeconds", "twentyThreeHoursInMillis", "TimePickerFoundation", "_adapter", "TIME_PICKER_CONSTANTS", "randomChars", "evt", "inputValue", "_a", "_b", "nowMillis", "getCurrentTimeOfDayMillis", "timeString", "millisToTimeString", "activeOption", "Platform", "options", "debounce", "value", "originalValue", "stripSecondsFromMillis", "rawValue", "tryCoerceTimeString", "millis", "force", "isBelowMin", "isAboveMax", "isSupportedTimeFormat", "TWENTY_FOUR_HOUR_TIME_REGEX", "result", "emitEvents", "formattedValue", "selectableOptions", "selectedValues", "visibleStartIndex", "optionIndex", "id", "destroy", "emitCloseEvent", "date", "currentTimeString", "currentTimeMillis", "timeStringToMillis", "closestItem", "prev", "curr", "minMinutes", "millisToMinutes", "maxMinutes", "minuteStep", "times", "leadingOptions", "totalMinutes", "minutesToMillis", "disabled", "label", "firstPmIndex", "t", "o", "index", "use24HourTime", "allowSeconds", "v", "cb", "template", "styles", "TimePickerComponent", "BaseComponent", "IconRegistry", "tylIconClockOutline", "tylIconClose", "attachShadowTemplate", "TimePickerFoundation", "TimePickerAdapter", "TIME_PICKER_CONSTANTS", "ensureChild", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "__decorateClass", "FoundationProperty", "CustomElement", "ListComponent", "ListItemComponent", "IconButtonComponent", "IconComponent", "PopoverComponent", "DialogComponent", "TimePickerComponentDelegate", "FormFieldComponentDelegate", "config", "timePicker", "TIME_PICKER_CONSTANTS", "value", "listener", "evt", "_a", "component", "_b", "_c", "_d", "textFieldConfig", "__spreadValues", "TextFieldComponentDelegate", "defineTimePickerComponent", "defineCustomElement", "TimePickerComponent"]
7
+ }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{a as l,b as p}from"./chunk.UQQQSJVM.js";import{a as i,k as n}from"./chunk.BIQTNLIF.js";import{d as r}from"./chunk.M3QDAYD2.js";var a=`${p}option-group`,m={LABEL:"label"},o={elementName:a,attributes:m};var e=class extends n{constructor(){super()}static get observedAttributes(){return[o.attributes.LABEL]}attributeChangedCallback(t,c,s){switch(t){case o.attributes.LABEL:this.label=s;break}}get label(){return this._label}set label(t){this._label!==t&&(this._label=t||"",this.setAttribute(o.attributes.LABEL,this._label))}get text(){return this._label}set text(t){this.label=t}};e=r([l({name:o.elementName})],e);function T(){i(e)}export{o as a,e as b,T as c};
7
- //# sourceMappingURL=chunk.UEYPCCFG.js.map
6
+ import{a as l,b as p}from"./chunk.VRSPT7WX.js";import{a as i,k as n}from"./chunk.LNTTU2GL.js";import{d as r}from"./chunk.M3QDAYD2.js";var a=`${p}option-group`,m={LABEL:"label"},o={elementName:a,attributes:m};var e=class extends n{constructor(){super()}static get observedAttributes(){return[o.attributes.LABEL]}attributeChangedCallback(t,c,s){switch(t){case o.attributes.LABEL:this.label=s;break}}get label(){return this._label}set label(t){this._label!==t&&(this._label=t||"",this.setAttribute(o.attributes.LABEL,this._label))}get text(){return this._label}set text(t){this.label=t}};e=r([l({name:o.elementName})],e);function T(){i(e)}export{o as a,e as b,T as c};
7
+ //# sourceMappingURL=chunk.ENUKGA2U.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 s,b as f}from"./chunk.VRSPT7WX.js";import{a as d,e as l,k as i}from"./chunk.LNTTU2GL.js";import{a as r,d as a}from"./chunk.M3QDAYD2.js";var g=`${f}scaffold`,h={VIEWPORT:"viewport"},b=r({},h),t={elementName:g,observedAttributes:h,attributes:b};var m='<template><div class="forge-scaffold" part="root"><slot name="left"></slot><div class="header" part="header"><slot name="header"></slot></div><div class="body" part="body"><slot name="body-left"></slot><slot name="body-header"></slot><slot name="body"></slot><slot name="body-footer"></slot><slot name="body-right"></slot></div><slot name="footer"></slot><slot name="right"></slot></div></template>',c=':host{--_scaffold-height:var(--forge-scaffold-height, 100%);--_scaffold-width:var(--forge-scaffold-width, 100%)}:host{display:block;width:var(--_scaffold-width);height:var(--_scaffold-height)}:host([hidden]){display:none}.forge-scaffold{--_scaffold-overflow:var(--forge-scaffold-overflow, hidden);--_scaffold-body-position:var(--forge-scaffold-body-position, relative)}.forge-scaffold{position:relative;display:grid;grid-template-areas:"left header right" "left body right" "left footer right";grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr auto;height:var(--_scaffold-height);width:var(--_scaffold-width);overflow:var(--_scaffold-overflow)}.header{grid-area:header;min-width:0;min-height:0}.body{position:var(--_scaffold-body-position);display:grid;grid-area:body;grid-template-areas:"body-left body-header body-right" "body-left body-inner body-right" "body-left body-footer body-right";grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr auto;width:var(--_scaffold-width);min-width:0;min-height:0;overflow:hidden}::slotted(*){min-width:0;min-height:0}::slotted([slot=left]){grid-area:left}::slotted([slot=right]){grid-area:right}::slotted([slot=body-left]){grid-area:body-left}::slotted([slot=body-right]){grid-area:body-right}::slotted([slot=body-header]){grid-area:body-header}::slotted([slot=body]){overflow:auto;grid-area:body-inner}::slotted([slot=body-footer]){grid-area:body-footer}::slotted([slot=footer]){grid-area:footer}::slotted([slot=body-left]),::slotted([slot=body-right]),::slotted([slot=body]),::slotted([slot=left]),::slotted([slot=right]){overflow:auto}:host([viewport]){--_scaffold-height:var(--forge-scaffold-height, 100dvh);--_scaffold-width:var(--forge-scaffold-width, 100dvw)}',o=class extends i{static get observedAttributes(){return Object.values(t.observedAttributes)}constructor(){super(),l(this,m,c)}attributeChangedCallback(e,v,n){switch(e){case t.observedAttributes.VIEWPORT:this.viewport=n!==null;break}}get viewport(){return this.hasAttribute(t.attributes.VIEWPORT)}set viewport(e){this.toggleAttribute(t.attributes.VIEWPORT,!!e)}};o=a([s({name:t.elementName})],o);function S(){d(o)}export{t as a,o as b,S as c};
7
+ //# sourceMappingURL=chunk.EO3GP6DP.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/scaffold/scaffold-constants.ts", "../../src/scaffold/scaffold.ts", "../../src/scaffold/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}scaffold`;\n\nconst observedAttributes = {\n VIEWPORT: 'viewport'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nexport const SCAFFOLD_CONSTANTS = {\n elementName,\n observedAttributes,\n attributes\n};\n", "import { CustomElement, attachShadowTemplate } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { SCAFFOLD_CONSTANTS } from './scaffold-constants';\n\nconst template = '<template><div class=\\\"forge-scaffold\\\" part=\\\"root\\\"><slot name=\\\"left\\\"></slot><div class=\\\"header\\\" part=\\\"header\\\"><slot name=\\\"header\\\"></slot></div><div class=\\\"body\\\" part=\\\"body\\\"><slot name=\\\"body-left\\\"></slot><slot name=\\\"body-header\\\"></slot><slot name=\\\"body\\\"></slot><slot name=\\\"body-footer\\\"></slot><slot name=\\\"body-right\\\"></slot></div><slot name=\\\"footer\\\"></slot><slot name=\\\"right\\\"></slot></div></template>';\nconst styles = ':host{--_scaffold-height:var(--forge-scaffold-height, 100%);--_scaffold-width:var(--forge-scaffold-width, 100%)}:host{display:block;width:var(--_scaffold-width);height:var(--_scaffold-height)}:host([hidden]){display:none}.forge-scaffold{--_scaffold-overflow:var(--forge-scaffold-overflow, hidden);--_scaffold-body-position:var(--forge-scaffold-body-position, relative)}.forge-scaffold{position:relative;display:grid;grid-template-areas:\\\"left header right\\\" \\\"left body right\\\" \\\"left footer right\\\";grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr auto;height:var(--_scaffold-height);width:var(--_scaffold-width);overflow:var(--_scaffold-overflow)}.header{grid-area:header;min-width:0;min-height:0}.body{position:var(--_scaffold-body-position);display:grid;grid-area:body;grid-template-areas:\\\"body-left body-header body-right\\\" \\\"body-left body-inner body-right\\\" \\\"body-left body-footer body-right\\\";grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr auto;width:var(--_scaffold-width);min-width:0;min-height:0;overflow:hidden}::slotted(*){min-width:0;min-height:0}::slotted([slot=left]){grid-area:left}::slotted([slot=right]){grid-area:right}::slotted([slot=body-left]){grid-area:body-left}::slotted([slot=body-right]){grid-area:body-right}::slotted([slot=body-header]){grid-area:body-header}::slotted([slot=body]){overflow:auto;grid-area:body-inner}::slotted([slot=body-footer]){grid-area:body-footer}::slotted([slot=footer]){grid-area:footer}::slotted([slot=body-left]),::slotted([slot=body-right]),::slotted([slot=body]),::slotted([slot=left]),::slotted([slot=right]){overflow:auto}:host([viewport]){--_scaffold-height:var(--forge-scaffold-height, 100dvh);--_scaffold-width:var(--forge-scaffold-width, 100dvw)}';\n\nexport interface IScaffoldComponent extends IBaseComponent {\n viewport: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-scaffold': IScaffoldComponent;\n }\n}\n\n/**\n * @tag forge-scaffold\n * \n * @summary A scaffold provides a generic layout structure for your content using common named areas.\n * \n * @property {boolean} viewport - Whether the scaffold should be full viewport height.\n * \n * @attribute {boolean} viewport - Whether the scaffold should be full viewport height.\n * \n * @cssproperty --forge-scaffold-height - The `height` of the scaffold.\n * @cssproperty --forge-scaffold-width - The `width` of the scaffold.\n * @cssproperty --forge-scaffold-overflow - The `overflow` of the scaffold.\n * @cssproperty --forge-scaffold-body-position - The `position` of the scaffold body.\n * \n * @csspart root - The root container element.\n * @csspart header - The header of the scaffold.\n * @csspart body - The body of the scaffold.\n * \n * @slot header - Places content in the header.\n * @slot body - Places content in the body.\n * @slot footer - Places content in the footer.\n * @slot left - Places content to the left of all content.\n * @slot right - Places content to the right of all content.\n * @slot body-header - Places content in the header of the body.\n * @slot body-footer - Places content in the footer of the body.\n * @slot body-left - Places content to the left of the body content.\n * @slot body-right - Places content to the right of the body content.\n */\n@CustomElement({\n name: SCAFFOLD_CONSTANTS.elementName\n})\nexport class ScaffoldComponent extends BaseComponent implements IScaffoldComponent {\n public static get observedAttributes(): string[] {\n return Object.values(SCAFFOLD_CONSTANTS.observedAttributes);\n }\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case SCAFFOLD_CONSTANTS.observedAttributes.VIEWPORT:\n this.viewport = newValue !== null;\n break;\n }\n }\n\n public get viewport(): boolean {\n return this.hasAttribute(SCAFFOLD_CONSTANTS.attributes.VIEWPORT);\n }\n public set viewport(value: boolean) {\n this.toggleAttribute(SCAFFOLD_CONSTANTS.attributes.VIEWPORT, Boolean(value));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { ScaffoldComponent } from './scaffold';\n\nexport * from './scaffold-constants';\nexport * from './scaffold';\n\nexport function defineScaffoldComponent(): void {\n defineCustomElement(ScaffoldComponent);\n}\n"],
5
+ "mappings": "oJAEA,IAAMA,EAA2C,GAAGC,YAE9CC,EAAqB,CACzB,SAAU,UACZ,EAEMC,EAAaC,EAAA,GACdF,GAGQG,EAAqB,CAChC,YAAAL,EACA,mBAAAE,EACA,WAAAC,CACF,ECZA,IAAMG,EAAW,iZACXC,EAAS,usDA2CFC,EAAN,cAAgCC,CAA4C,CACjF,WAAkB,oBAA+B,CAC/C,OAAO,OAAO,OAAOC,EAAmB,kBAAkB,CAC5D,CAEA,aAAc,CACZ,MAAM,EACNC,EAAqB,KAAML,EAAUC,CAAM,CAC7C,CAEO,yBAAyBK,EAAcC,EAAkBC,EAAwB,CACtF,OAAQF,EAAM,CACZ,KAAKF,EAAmB,mBAAmB,SACzC,KAAK,SAAWI,IAAa,KAC7B,KACJ,CACF,CAEA,IAAW,UAAoB,CAC7B,OAAO,KAAK,aAAaJ,EAAmB,WAAW,QAAQ,CACjE,CACA,IAAW,SAASK,EAAgB,CAClC,KAAK,gBAAgBL,EAAmB,WAAW,SAAU,EAAQK,CAAM,CAC7E,CACF,EAxBaP,EAANQ,EAAA,CAHNC,EAAc,CACb,KAAMP,EAAmB,WAC3B,CAAC,GACYF,GC1CN,SAASU,GAAgC,CAC9CC,EAAoBC,CAAiB,CACvC",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "SCAFFOLD_CONSTANTS", "template", "styles", "ScaffoldComponent", "BaseComponent", "SCAFFOLD_CONSTANTS", "attachShadowTemplate", "name", "oldValue", "newValue", "value", "__decorateClass", "CustomElement", "defineScaffoldComponent", "defineCustomElement", "ScaffoldComponent"]
7
+ }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{d as M}from"./chunk.OY3TG55O.js";import{c as U}from"./chunk.FB4MXEIW.js";import{c as k}from"./chunk.SYKZ74SL.js";import{o as z,s as O,t as F,v as G}from"./chunk.RLQB7224.js";import{d as R,l as C}from"./chunk.CIUPY66Y.js";import{a as N}from"./chunk.6GSVB5NB.js";import{a as l}from"./chunk.NVUMRW44.js";import{a as B,b as y}from"./chunk.UQQQSJVM.js";import{a as T,e as I,f as r,i as d,k as x}from"./chunk.BIQTNLIF.js";import{d as L,f as b,g as A,t as S}from"./chunk.DCCFF327.js";import{b as c,i as E,k as _,l as h}from"./chunk.J2M2MXP2.js";import{a as P,b as m,d as o}from"./chunk.M3QDAYD2.js";var D=`${y}paginator`,p={LABEL:"forge-paginator__label",PAGE_SIZE_OPTIONS:"forge-paginator__page-size-options",RANGE_LABEL:"forge-paginator__range-label",RANGE_LABEL_ALTERNATIVE:"forge-paginator__range-label--alternative",FIRST_PAGE_BUTTON:"forge-paginator__first-page",PREVIOUS_PAGE_BUTTON:"forge-paginator__previous-page",NEXT_PAGE_BUTTON:"forge-paginator__next-page",LAST_PAGE_BUTTON:"forge-paginator__last-page",ROOT:"forge-paginator",ALTERNATIVE:"forge-paginator--alternative",ALIGNMENT_START:"forge-paginator--alignment-start",ALIGNMENT_SPACE_BETWEEN:"forge-paginator--alignment-center",ALIGNMENT_END:"forge-paginator--alignment-end"},w={LABEL:`.${p.LABEL}`,PAGE_SIZE_SELECT:`.${p.PAGE_SIZE_OPTIONS}`,RANGE_LABEL:`.${p.RANGE_LABEL}`,FIRST_PAGE_BUTTON:`.${p.FIRST_PAGE_BUTTON}`,FIRST_PAGE_ICON_BUTTON:`.${p.FIRST_PAGE_BUTTON}`,PREVIOUS_PAGE_BUTTON:`.${p.PREVIOUS_PAGE_BUTTON}`,NEXT_PAGE_BUTTON:`.${p.NEXT_PAGE_BUTTON}`,LAST_PAGE_BUTTON:`.${p.LAST_PAGE_BUTTON}`,LAST_PAGE_ICON_BUTTON:`.${p.LAST_PAGE_BUTTON}`,ROOT:`.${p.ROOT}`,RANGE_LABEL_ALTERNATIVE:`.${p.RANGE_LABEL_ALTERNATIVE}`},H={PAGE_INDEX:"page-index",PAGE_SIZE:"page-size",OFFSET:"offset",PAGE_SIZE_OPTIONS:"page-size-options",TOTAL:"total",LABEL:"label",FIRST_LAST:"first-last",FIRST:"first",DISABLED:"disabled",ALTERNATIVE:"alternative",ALIGNMENT:"alignment"},$={CHANGE:`${D}-change`},Z={DEFAULT_PAGE_INDEX:0,DEFAULT_TOTAL:0,DEFAULT_PAGE_SIZE:25,DEFAULT_PAGE_SIZE_OPTIONS:[5,15,25,50,100]},X={DEFAULT_LABEL:"Rows per page:",RANGE_SEPARATOR_LABEL:"of",FIRST_PAGE:"first-page",PREVIOUS_PAGE:"previous-page",NEXT_PAGE:"next-page",LAST_PAGE:"last-page",PAGE_SIZE:"page-size"},a={elementName:D,classes:p,selectors:w,attributes:H,events:$,numbers:Z,strings:X};var u=class{constructor(e){this._adapter=e;this._pageIndex=a.numbers.DEFAULT_PAGE_INDEX;this._pageSize=a.numbers.DEFAULT_PAGE_SIZE;this._offset=0;this._total=a.numbers.DEFAULT_TOTAL;this._pageSizeOptions=a.numbers.DEFAULT_PAGE_SIZE_OPTIONS.map(e=>({label:`${e}`,value:`${e}`}));this._label=a.strings.DEFAULT_LABEL;this._firstLast=!1;this._first=!1;this._disabled=!1;this._alignment="space-between";this._pageSizeListener=t=>this._onPageSizeChanged(t),this._firstPageListener=t=>this._onFirstPage(t),this._previousPageListener=t=>this._onPreviousPage(t),this._nextPageListener=t=>this._onNextPage(t),this._lastPageListener=t=>this._onLastPage(t)}initialize(){this._updateRangeLabel(),this._adapter.setLabel(this._label),this._adapter.setPageSizeOptions(this._pageSizeOptions),this._adapter.setPageSize(this._pageSize),this._attachListeners(),this._toggleFirstLastButtons(),this._syncInteractionState()}disconnect(){this._detachListeners()}focus(e){this._adapter.setFocus(e)}_attachListeners(){this._adapter.attachPageSizeChangeListener(this._pageSizeListener),this._adapter.attachFirstPageListener(this._firstPageListener),this._adapter.attachPreviousPageListener(this._previousPageListener),this._adapter.attachNextPageListener(this._nextPageListener),this._adapter.attachLastPageListener(this._lastPageListener)}_detachListeners(){this._adapter.detachPageSizeChangeListener(this._pageSizeListener),this._adapter.detachFirstPageListener(this._firstPageListener),this._adapter.detachPreviousPageListener(this._previousPageListener),this._adapter.detachNextPageListener(this._nextPageListener),this._adapter.detachLastPageListener(this._lastPageListener)}_onFirstPage(e){if(e.stopPropagation(),!this._hasFirstPage())return;let t=0;this._emitChangeEvent(a.strings.FIRST_PAGE,{pageIndex:t})&&this._applyPageIndex(t)}_onPreviousPage(e){if(e.stopPropagation(),!this._hasPreviousPage())return;let t=this._pageIndex-1;this._emitChangeEvent(a.strings.PREVIOUS_PAGE,{pageIndex:t})&&this._applyPageIndex(t)}_onNextPage(e){if(e.stopPropagation(),!this._hasNextPage())return;let t=this._pageIndex+1;this._emitChangeEvent(a.strings.NEXT_PAGE,{pageIndex:t})&&this._applyPageIndex(t)}_onLastPage(e){if(e.stopPropagation(),!this._hasLastPage())return;let t=this._getMaxPages();this._emitChangeEvent(a.strings.LAST_PAGE,{pageIndex:t})&&this._applyPageIndex(t)}_onPageSizeChanged(e){e.stopPropagation();let t=Number(e.detail);this._emitChangeEvent(a.strings.PAGE_SIZE,{pageIndex:0,pageSize:t})?(this._applyPageIndex(0),this._applyPageSize(t)):e.preventDefault()}_emitChangeEvent(e,{pageSize:t=this._pageSize,pageIndex:i=this._pageIndex}={}){let s=i*t,g={type:e,pageSize:t,pageIndex:i,offset:s};return this._adapter.emitHostEvent(a.events.CHANGE,g,!0,!0)}_getMaxPages(){return Math.ceil(this._total/this._pageSize)-1}_updateRangeLabel(){let e;if(typeof this._rangeLabelCallback=="function"){let t={pageSize:this._pageSize,pageIndex:this._pageIndex,offset:this._offset,pageStart:this._pageIndex*this._pageSize+1,pageEnd:Math.min((this._pageIndex+1)*this._pageSize,this._total),total:this._total};e=this._rangeLabelCallback.call(null,t)}else if(this.pageSize>1){let t=this._pageIndex*this._pageSize,s=(Math.floor(t/this._pageSize)||0)*this._pageSize+1,g=t<this._total?Math.min(t+this._pageSize,this._total):t+this._pageSize;e=`${s}-${g} ${a.strings.RANGE_SEPARATOR_LABEL} ${this._total}`}else e=`${this._pageIndex+1} ${a.strings.RANGE_SEPARATOR_LABEL} ${this._total}`;this._adapter.setRangeLabel(e)}_syncInteractionState(){this._adapter.enableFirstPageButton(),this._adapter.enablePreviousPageButton(),this._adapter.enableNextPageButton(),this._adapter.enableLastPageButton();let e=[];this._hasFirstPage()||e.push("first"),this._hasPreviousPage()||e.push("previous"),this._hasNextPage()||e.push("next"),this._hasLastPage()||e.push("last"),this._adapter.tryDisableFields(e)}_toggleFirstLastButtons(){this._toggleFirstButton(),this._firstLast?this._adapter.hasLastPageButton()||this._adapter.showLastPageButton():this._adapter.hasLastPageButton()&&this._adapter.hideLastPageButton()}_toggleFirstButton(){this._first||this._firstLast?this._adapter.hasFirstPageButton()||this._adapter.showFirstPageButton():this._adapter.hasFirstPageButton()&&this._adapter.hideFirstPageButton()}_hasFirstPage(){return this._hasPreviousPage()}_hasPreviousPage(){return this._pageIndex>0&&this._pageSize>0}_hasNextPage(){let e=this._getMaxPages();return this._pageIndex<e&&this._pageSize>0}_hasLastPage(){return this._hasNextPage()}_computePageIndexFromOffset(e){e>=this._total&&(this._total>=this._pageSize?e=this._total-this._pageSize:e=0);let t=Math.min(Math.max(e,0),this._total),i=Math.floor(t/this._pageSize);this._applyPageIndex(i)}_computeOffset(){this._total>0&&(this._offset=this._pageIndex*this._pageSize)}_applyPageIndex(e){this._pageIndex=e,this._computeOffset(),this._updateRangeLabel(),this._syncInteractionState(),this._adapter.toggleHostAttribute(a.attributes.PAGE_INDEX,this._pageIndex!=null,this._pageIndex.toString())}_applyPageSize(e){this._pageSize=e,this._adapter.setPageSize(this._pageSize),this._computeOffset(),this._updateRangeLabel(),this._syncInteractionState()}_applyTotal(e){this._total=e,this._updateRangeLabel(),this._offset>0&&this._total>0&&this._computePageIndexFromOffset(this._offset),this._syncInteractionState()}_applyAlternativeAlignment(){this._adapter.setHostAttribute(a.attributes.ALIGNMENT,this._alignment),this._adapter.setAlignment(this._alignment)}_applyDisabled(e){this._disabled=e,e?(this._adapter.disablePageSizeSelect(),this._adapter.disableFirstPageButton(),this._adapter.disablePreviousPageButton(),this._adapter.disableNextPageButton(),this._adapter.disableLastPageButton()):(this._adapter.enablePageSizeSelect(),this._syncInteractionState())}get pageIndex(){return this._pageIndex}set pageIndex(e){this._pageIndex!==e&&(c(e)?this._applyPageIndex(e):this._adapter.removeHostAttribute(a.attributes.PAGE_INDEX))}get pageSize(){return this._pageSize}set pageSize(e){this._pageSize!==e&&(this._applyPageSize(e),this._adapter.setHostAttribute(a.attributes.PAGE_SIZE,`${this._pageSize}`))}get offset(){return this._offset}set offset(e){this._offset!==e&&(this._offset=e,this._computePageIndexFromOffset(e))}get total(){return this._total}set total(e){this._total!==e&&(this._applyTotal(e),this._adapter.setHostAttribute(a.attributes.TOTAL,`${this._total}`))}get pageSizeOptions(){return this._pageSizeOptions.map(e=>Number(e.value))}set pageSizeOptions(e){if(E(e)){if(this._pageSizeOptions=e.map(t=>({label:t.toString(),value:t.toString()})).sort((t,i)=>h(t.value)-h(i.value)),this._adapter.setPageSizeOptions(this._pageSizeOptions),this._adapter.attachPageSizeChangeListener(this._pageSizeListener),this._adapter.setPageSizeVisibility(!0),c(this._pageSize)&&this._pageSizeOptions.length&&!this._pageSizeOptions.find(t=>h(t.value)===this._pageSize)){let t=h(this._pageSizeOptions[0].value);this._applyPageSize(t)}}else e.toString().toLowerCase()==="false"&&(this._adapter.detachPageSizeChangeListener(this._pageSizeListener),this._adapter.setPageSizeVisibility(!1))}get label(){return this._label}set label(e){this._label!==e&&(this._label=e,this._adapter.setLabel(this._label),this._adapter.setHostAttribute(a.attributes.LABEL,c(this._label)?this._label.toString():""))}get firstLast(){return this._firstLast}set firstLast(e){e=!!e,this._firstLast!==e&&(this._firstLast=e,this._toggleFirstLastButtons(),this._adapter.toggleHostAttribute(a.attributes.FIRST_LAST,this._firstLast))}get first(){return this._first}set first(e){e=!!e,this._first!==e&&(this._first=e,this._toggleFirstButton(),this._adapter.toggleHostAttribute(a.attributes.FIRST,this._first))}get disabled(){return this._disabled}set disabled(e){e=!!e,this._disabled!==e&&(this._applyDisabled(e),this._adapter.toggleHostAttribute(a.attributes.DISABLED,this._disabled))}get alternative(){return this._alternative}set alternative(e){e!==this._alternative&&(this._alternative=e,this._adapter.setAlternative(this._alternative),this._applyAlternativeAlignment(),this._adapter.toggleHostAttribute(a.attributes.ALTERNATIVE,this._alternative))}get alignment(){return this._alignment}set alignment(e){e!==this._alignment&&(this._alignment=e,this._applyAlternativeAlignment())}get rangeLabelCallback(){return this._rangeLabelCallback}set rangeLabelCallback(e){this._rangeLabelCallback=e,this._updateRangeLabel()}};var v=class extends N{constructor(t){super(t);this._labelElement=r(t,a.selectors.LABEL),this._root=r(t,a.selectors.ROOT),this._pageSizeSelect=r(t,a.selectors.PAGE_SIZE_SELECT),this._rangeLabel=r(t,a.selectors.RANGE_LABEL),this._rangeLabelAlternative=r(t,a.selectors.RANGE_LABEL_ALTERNATIVE),this._firstPageButton=r(t,a.selectors.FIRST_PAGE_BUTTON),this._firstPageIconButton=r(t,a.selectors.FIRST_PAGE_ICON_BUTTON),this._previousPageButton=r(t,a.selectors.PREVIOUS_PAGE_BUTTON),this._nextPageButton=r(t,a.selectors.NEXT_PAGE_BUTTON),this._lastPageButton=r(t,a.selectors.LAST_PAGE_BUTTON),this._lastPageIconButton=r(t,a.selectors.LAST_PAGE_ICON_BUTTON)}setLabel(t){this._labelElement.textContent=t}setPageSizeOptions(t){L(this._pageSizeSelect),this._pageSizeSelect.options=t}setPageSize(t){this._pageSizeSelect.value=t.toString()}setRangeLabel(t){this._rangeLabel.innerText=t,this._rangeLabelAlternative.innerText=t}hasFirstPageButton(){return!!r(this._component,a.selectors.FIRST_PAGE_ICON_BUTTON)}showFirstPageButton(){this._firstPagePlaceholder=d(this._component,!0,a.elementName,a.selectors.FIRST_PAGE_ICON_BUTTON,this._firstPageIconButton,this._firstPagePlaceholder)}hideFirstPageButton(){this._firstPagePlaceholder=d(this._component,!1,a.elementName,a.selectors.FIRST_PAGE_ICON_BUTTON,this._firstPageIconButton,this._firstPagePlaceholder)}hasLastPageButton(){return!!r(this._component,a.selectors.LAST_PAGE_ICON_BUTTON)}showLastPageButton(){this._lastPagePlaceholder=d(this._component,!0,a.elementName,a.selectors.LAST_PAGE_ICON_BUTTON,this._lastPageIconButton,this._lastPagePlaceholder)}hideLastPageButton(){this._lastPagePlaceholder=d(this._component,!1,a.elementName,a.selectors.LAST_PAGE_ICON_BUTTON,this._lastPageIconButton,this._lastPagePlaceholder)}attachPageSizeChangeListener(t){this._pageSizeSelect.addEventListener("change",t)}attachFirstPageListener(t){this._firstPageButton.addEventListener("click",t)}attachPreviousPageListener(t){this._previousPageButton.addEventListener("click",t)}attachNextPageListener(t){this._nextPageButton.addEventListener("click",t)}attachLastPageListener(t){this._lastPageButton.addEventListener("click",t)}detachPageSizeChangeListener(t){this._pageSizeSelect.removeEventListener("change",t)}detachFirstPageListener(t){this._firstPageButton.removeEventListener("click",t)}detachPreviousPageListener(t){this._previousPageButton.removeEventListener("click",t)}detachNextPageListener(t){this._nextPageButton.removeEventListener("click",t)}detachLastPageListener(t){this._lastPageButton.removeEventListener("click",t)}disableFirstPageButton(){this._firstPageButton.setAttribute("disabled","disabled")}enableFirstPageButton(){this._firstPageButton.removeAttribute("disabled")}disablePreviousPageButton(){this._previousPageButton.setAttribute("disabled","disabled")}enablePreviousPageButton(){this._previousPageButton.removeAttribute("disabled")}disableNextPageButton(){this._nextPageButton.setAttribute("disabled","disabled")}enableNextPageButton(){this._nextPageButton.removeAttribute("disabled")}disablePageSizeSelect(){this._pageSizeSelect.setAttribute("disabled","disabled")}enablePageSizeSelect(){this._pageSizeSelect.removeAttribute("disabled")}setPageSizeVisibility(t){t?this._pageSizeSelect.style.removeProperty("display"):this._pageSizeSelect.style.display="none"}disableLastPageButton(){this._lastPageButton.setAttribute("disabled","disabled")}enableLastPageButton(){this._lastPageButton.removeAttribute("disabled")}setAlternative(t){S(this._root,t,a.classes.ALTERNATIVE)}setAlignment(t){switch(A([a.classes.ALIGNMENT_SPACE_BETWEEN,a.classes.ALIGNMENT_START,a.classes.ALIGNMENT_END],this._root),t){case"start":b(a.classes.ALIGNMENT_START,this._root);break;case"end":b(a.classes.ALIGNMENT_END,this._root);break;case"space-between":default:b(a.classes.ALIGNMENT_SPACE_BETWEEN,this._root);break}}hasFocus(){return this._component.matches(":focus")}setFocus(t){this._tryFocus([this._pageSizeSelect,this._firstPageButton,this._previousPageButton,this._nextPageButton,this._lastPageButton],t)}getFocusedField(){return this._pageSizeSelect.matches(":focus-within")?"page-size":this._firstPageButton.matches(":focus-within")?"first":this._previousPageButton.matches(":focus-within")?"previous":this._nextPageButton.matches(":focus-within")?"next":this._lastPageButton.matches(":focus-within")?"last":null}tryDisableFields(t){let i={first:()=>this.disableFirstPageButton(),last:()=>this.disableLastPageButton(),previous:()=>this.disablePreviousPageButton(),next:()=>this.disableNextPageButton()};t.forEach(s=>{var g;return(g=i[s])==null?void 0:g.call(i)})}_tryFocus(t,i){let s=typeof(i==null?void 0:i.preventScroll)=="boolean"?i.preventScroll:!0;for(let g of t)if(g&&g.isConnected&&!g.disabled&&g.style.display!=="none"){g.focus(m(P({},i),{preventScroll:s}));return}}};var V='<template><div class="forge-paginator" part="root"><div class="forge-paginator__container" part="container"><div class="forge-paginator__label" part="label"></div><forge-select class="forge-paginator__page-size-options" aria-label="Choose page size" density="dense" part="page-size-options"></forge-select><div class="forge-paginator__range-label" part="range-label"></div><forge-icon-button class="forge-paginator__first-page" part="first-page-button" part="first-page-button-element"><forge-icon name="first_page" part="first-page-icon"></forge-icon></forge-icon-button><forge-tooltip type="label" placement="top">Go to the first page</forge-tooltip><forge-icon-button class="forge-paginator__previous-page" part="previous-page-button" part="previous-page-button-element"><forge-icon name="keyboard_arrow_left" part="previous-page-button-icon"></forge-icon></forge-icon-button><forge-tooltip type="label" placement="top">Go to the previous page</forge-tooltip><div class="forge-paginator__range-label--alternative" part="range-label-alternative"></div><forge-icon-button class="forge-paginator__next-page" part="next-page-button" part="next-page-button-element"><forge-icon name="keyboard_arrow_right" part="next-page-icon"></forge-icon></forge-icon-button><forge-tooltip type="label" placement="top">Go to the next page</forge-tooltip><forge-icon-button class="forge-paginator__last-page" part="last-page-button" part="last-page-button-element"><forge-icon name="last_page" part="last-page-icon"></forge-icon></forge-icon-button><forge-tooltip type="label" placement="top">Go to the last page</forge-tooltip></div></div></template>',j=".forge-paginator{display:inline-block}.forge-paginator--alternative{display:-webkit-box;display:flex}.forge-paginator--alternative .forge-paginator__label,.forge-paginator--alternative .forge-paginator__page-size-options,.forge-paginator--alternative .forge-paginator__range-label{display:none}.forge-paginator--alternative .forge-paginator__range-label--alternative{display:inline-block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);margin:0 12px}.forge-paginator__range-label--alternative{display:none}.forge-paginator__container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-paginator__label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:16px}.forge-paginator__page-size-options{margin-right:16px}.forge-paginator__range-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:8px}.forge-paginator__first-page,.forge-paginator__last-page,.forge-paginator__next-page,.forge-paginator__previous-page{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}:host{display:inline-block}:host([hidden]){display:none}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__container{-webkit-box-pack:center;justify-content:center}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__range-label--alternative{margin:0 auto}:host([alternative]) .forge-paginator--alignment-start .forge-paginator__container{-webkit-box-pack:start;justify-content:flex-start}:host([alternative]) .forge-paginator--alignment-end .forge-paginator__container{-webkit-box-pack:end;justify-content:flex-end}:host([alternative]) .forge-paginator .forge-paginator__container{-webkit-box-flex:1;flex:1}",n=class extends x{constructor(){super();R.define([z,O,F,G]),I(this,V,j),this._foundation=new u(new v(this))}static get observedAttributes(){return[a.attributes.PAGE_INDEX,a.attributes.PAGE_SIZE,a.attributes.OFFSET,a.attributes.TOTAL,a.attributes.PAGE_SIZE_OPTIONS,a.attributes.LABEL,a.attributes.FIRST_LAST,a.attributes.FIRST,a.attributes.DISABLED,a.attributes.ALTERNATIVE,a.attributes.ALIGNMENT]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,s){switch(t){case a.attributes.PAGE_INDEX:this.pageIndex=Number(s)||a.numbers.DEFAULT_PAGE_INDEX;break;case a.attributes.PAGE_SIZE:this.pageSize=Number(s)||a.numbers.DEFAULT_PAGE_SIZE;break;case a.attributes.OFFSET:this.offset=Number(s);break;case a.attributes.TOTAL:this.total=Number(s)||a.numbers.DEFAULT_TOTAL;break;case a.attributes.PAGE_SIZE_OPTIONS:this.pageSizeOptions=s;break;case a.attributes.LABEL:this.label=s;break;case a.attributes.FIRST_LAST:this.firstLast=_(s);break;case a.attributes.FIRST:this.first=_(s);break;case a.attributes.DISABLED:this.disabled=_(s);break;case a.attributes.ALTERNATIVE:this.alternative=_(s);break;case a.attributes.ALIGNMENT:this.alignment=s;break}}focus(t){this._foundation.focus(t)}};o([l()],n.prototype,"pageIndex",2),o([l()],n.prototype,"pageSize",2),o([l()],n.prototype,"offset",2),o([l()],n.prototype,"total",2),o([l()],n.prototype,"pageSizeOptions",2),o([l()],n.prototype,"label",2),o([l()],n.prototype,"firstLast",2),o([l()],n.prototype,"first",2),o([l()],n.prototype,"disabled",2),o([l()],n.prototype,"alternative",2),o([l()],n.prototype,"alignment",2),o([l()],n.prototype,"rangeLabelCallback",2),n=o([B({name:a.elementName,dependencies:[k,M,C,U]})],n);function Nt(){T(n)}export{a,u as b,v as c,n as d,Nt as e};
7
- //# sourceMappingURL=chunk.XYBVD3IE.js.map
6
+ import{d as M}from"./chunk.5ADUSMC7.js";import{c as U}from"./chunk.GBAVJILM.js";import{d as k}from"./chunk.GIENHEMN.js";import{o as z,s as O,t as F,v as G}from"./chunk.RLQB7224.js";import{d as R,l as C}from"./chunk.T7NWP7DB.js";import{a as l}from"./chunk.NVUMRW44.js";import{a as N}from"./chunk.OLFOVKQG.js";import{a as B,b as y}from"./chunk.VRSPT7WX.js";import{a as T,e as I,f as r,i as c,k as x}from"./chunk.LNTTU2GL.js";import{c as L,e as b,f as A,q as S}from"./chunk.L4QSPQDE.js";import{b as d,i as E,k as _,l as h}from"./chunk.J2M2MXP2.js";import{a as P,b as m,d as o}from"./chunk.M3QDAYD2.js";var D=`${y}paginator`,p={LABEL:"forge-paginator__label",PAGE_SIZE_OPTIONS:"forge-paginator__page-size-options",RANGE_LABEL:"forge-paginator__range-label",RANGE_LABEL_ALTERNATIVE:"forge-paginator__range-label--alternative",FIRST_PAGE_BUTTON:"forge-paginator__first-page",PREVIOUS_PAGE_BUTTON:"forge-paginator__previous-page",NEXT_PAGE_BUTTON:"forge-paginator__next-page",LAST_PAGE_BUTTON:"forge-paginator__last-page",ROOT:"forge-paginator",ALTERNATIVE:"forge-paginator--alternative",ALIGNMENT_START:"forge-paginator--alignment-start",ALIGNMENT_SPACE_BETWEEN:"forge-paginator--alignment-center",ALIGNMENT_END:"forge-paginator--alignment-end"},w={LABEL:`.${p.LABEL}`,PAGE_SIZE_SELECT:`.${p.PAGE_SIZE_OPTIONS}`,RANGE_LABEL:`.${p.RANGE_LABEL}`,FIRST_PAGE_BUTTON:`.${p.FIRST_PAGE_BUTTON}`,FIRST_PAGE_ICON_BUTTON:`.${p.FIRST_PAGE_BUTTON}`,PREVIOUS_PAGE_BUTTON:`.${p.PREVIOUS_PAGE_BUTTON}`,NEXT_PAGE_BUTTON:`.${p.NEXT_PAGE_BUTTON}`,LAST_PAGE_BUTTON:`.${p.LAST_PAGE_BUTTON}`,LAST_PAGE_ICON_BUTTON:`.${p.LAST_PAGE_BUTTON}`,ROOT:`.${p.ROOT}`,RANGE_LABEL_ALTERNATIVE:`.${p.RANGE_LABEL_ALTERNATIVE}`},H={PAGE_INDEX:"page-index",PAGE_SIZE:"page-size",OFFSET:"offset",PAGE_SIZE_OPTIONS:"page-size-options",TOTAL:"total",LABEL:"label",FIRST_LAST:"first-last",FIRST:"first",DISABLED:"disabled",ALTERNATIVE:"alternative",ALIGNMENT:"alignment"},$={CHANGE:`${D}-change`},Z={DEFAULT_PAGE_INDEX:0,DEFAULT_TOTAL:0,DEFAULT_PAGE_SIZE:25,DEFAULT_PAGE_SIZE_OPTIONS:[5,15,25,50,100]},X={DEFAULT_LABEL:"Rows per page:",RANGE_SEPARATOR_LABEL:"of",FIRST_PAGE:"first-page",PREVIOUS_PAGE:"previous-page",NEXT_PAGE:"next-page",LAST_PAGE:"last-page",PAGE_SIZE:"page-size"},a={elementName:D,classes:p,selectors:w,attributes:H,events:$,numbers:Z,strings:X};var u=class{constructor(e){this._adapter=e;this._pageIndex=a.numbers.DEFAULT_PAGE_INDEX;this._pageSize=a.numbers.DEFAULT_PAGE_SIZE;this._offset=0;this._total=a.numbers.DEFAULT_TOTAL;this._pageSizeOptions=a.numbers.DEFAULT_PAGE_SIZE_OPTIONS.map(e=>({label:`${e}`,value:`${e}`}));this._label=a.strings.DEFAULT_LABEL;this._firstLast=!1;this._first=!1;this._disabled=!1;this._alignment="space-between";this._pageSizeListener=t=>this._onPageSizeChanged(t),this._firstPageListener=t=>this._onFirstPage(t),this._previousPageListener=t=>this._onPreviousPage(t),this._nextPageListener=t=>this._onNextPage(t),this._lastPageListener=t=>this._onLastPage(t)}initialize(){this._updateRangeLabel(),this._adapter.setLabel(this._label),this._adapter.setPageSizeOptions(this._pageSizeOptions),this._adapter.setPageSize(this._pageSize),this._attachListeners(),this._toggleFirstLastButtons(),this._syncInteractionState()}disconnect(){this._detachListeners()}focus(e){this._adapter.setFocus(e)}_attachListeners(){this._adapter.attachPageSizeChangeListener(this._pageSizeListener),this._adapter.attachFirstPageListener(this._firstPageListener),this._adapter.attachPreviousPageListener(this._previousPageListener),this._adapter.attachNextPageListener(this._nextPageListener),this._adapter.attachLastPageListener(this._lastPageListener)}_detachListeners(){this._adapter.detachPageSizeChangeListener(this._pageSizeListener),this._adapter.detachFirstPageListener(this._firstPageListener),this._adapter.detachPreviousPageListener(this._previousPageListener),this._adapter.detachNextPageListener(this._nextPageListener),this._adapter.detachLastPageListener(this._lastPageListener)}_onFirstPage(e){if(e.stopPropagation(),!this._hasFirstPage())return;let t=0;this._emitChangeEvent(a.strings.FIRST_PAGE,{pageIndex:t})&&this._applyPageIndex(t)}_onPreviousPage(e){if(e.stopPropagation(),!this._hasPreviousPage())return;let t=this._pageIndex-1;this._emitChangeEvent(a.strings.PREVIOUS_PAGE,{pageIndex:t})&&this._applyPageIndex(t)}_onNextPage(e){if(e.stopPropagation(),!this._hasNextPage())return;let t=this._pageIndex+1;this._emitChangeEvent(a.strings.NEXT_PAGE,{pageIndex:t})&&this._applyPageIndex(t)}_onLastPage(e){if(e.stopPropagation(),!this._hasLastPage())return;let t=this._getMaxPages();this._emitChangeEvent(a.strings.LAST_PAGE,{pageIndex:t})&&this._applyPageIndex(t)}_onPageSizeChanged(e){e.stopPropagation();let t=Number(e.detail);this._emitChangeEvent(a.strings.PAGE_SIZE,{pageIndex:0,pageSize:t})?(this._applyPageIndex(0),this._applyPageSize(t)):e.preventDefault()}_emitChangeEvent(e,{pageSize:t=this._pageSize,pageIndex:i=this._pageIndex}={}){let s=i*t,g={type:e,pageSize:t,pageIndex:i,offset:s};return this._adapter.emitHostEvent(a.events.CHANGE,g,!0,!0)}_getMaxPages(){return Math.ceil(this._total/this._pageSize)-1}_updateRangeLabel(){let e;if(typeof this._rangeLabelCallback=="function"){let t={pageSize:this._pageSize,pageIndex:this._pageIndex,offset:this._offset,pageStart:this._pageIndex*this._pageSize+1,pageEnd:Math.min((this._pageIndex+1)*this._pageSize,this._total),total:this._total};e=this._rangeLabelCallback.call(null,t)}else if(this.pageSize>1){let t=this._pageIndex*this._pageSize,s=(Math.floor(t/this._pageSize)||0)*this._pageSize+1,g=t<this._total?Math.min(t+this._pageSize,this._total):t+this._pageSize;e=`${s}-${g} ${a.strings.RANGE_SEPARATOR_LABEL} ${this._total}`}else e=`${this._pageIndex+1} ${a.strings.RANGE_SEPARATOR_LABEL} ${this._total}`;this._adapter.setRangeLabel(e)}_syncInteractionState(){this._adapter.enableFirstPageButton(),this._adapter.enablePreviousPageButton(),this._adapter.enableNextPageButton(),this._adapter.enableLastPageButton();let e=[];this._hasFirstPage()||e.push("first"),this._hasPreviousPage()||e.push("previous"),this._hasNextPage()||e.push("next"),this._hasLastPage()||e.push("last"),this._adapter.tryDisableFields(e)}_toggleFirstLastButtons(){this._toggleFirstButton(),this._firstLast?this._adapter.hasLastPageButton()||this._adapter.showLastPageButton():this._adapter.hasLastPageButton()&&this._adapter.hideLastPageButton()}_toggleFirstButton(){this._first||this._firstLast?this._adapter.hasFirstPageButton()||this._adapter.showFirstPageButton():this._adapter.hasFirstPageButton()&&this._adapter.hideFirstPageButton()}_hasFirstPage(){return this._hasPreviousPage()}_hasPreviousPage(){return this._pageIndex>0&&this._pageSize>0}_hasNextPage(){let e=this._getMaxPages();return this._pageIndex<e&&this._pageSize>0}_hasLastPage(){return this._hasNextPage()}_computePageIndexFromOffset(e){e>=this._total&&(this._total>=this._pageSize?e=this._total-this._pageSize:e=0);let t=Math.min(Math.max(e,0),this._total),i=Math.floor(t/this._pageSize);this._applyPageIndex(i)}_computeOffset(){this._total>0&&(this._offset=this._pageIndex*this._pageSize)}_applyPageIndex(e){this._pageIndex=e,this._computeOffset(),this._updateRangeLabel(),this._syncInteractionState(),this._adapter.toggleHostAttribute(a.attributes.PAGE_INDEX,this._pageIndex!=null,this._pageIndex.toString())}_applyPageSize(e){this._pageSize=e,this._adapter.setPageSize(this._pageSize),this._computeOffset(),this._updateRangeLabel(),this._syncInteractionState()}_applyTotal(e){this._total=e,this._updateRangeLabel(),this._offset>0&&this._total>0&&this._computePageIndexFromOffset(this._offset),this._syncInteractionState()}_applyAlternativeAlignment(){this._adapter.setHostAttribute(a.attributes.ALIGNMENT,this._alignment),this._adapter.setAlignment(this._alignment)}_applyDisabled(e){this._disabled=e,e?(this._adapter.disablePageSizeSelect(),this._adapter.disableFirstPageButton(),this._adapter.disablePreviousPageButton(),this._adapter.disableNextPageButton(),this._adapter.disableLastPageButton()):(this._adapter.enablePageSizeSelect(),this._syncInteractionState())}get pageIndex(){return this._pageIndex}set pageIndex(e){this._pageIndex!==e&&(d(e)?this._applyPageIndex(e):this._adapter.removeHostAttribute(a.attributes.PAGE_INDEX))}get pageSize(){return this._pageSize}set pageSize(e){this._pageSize!==e&&(this._applyPageSize(e),this._adapter.setHostAttribute(a.attributes.PAGE_SIZE,`${this._pageSize}`))}get offset(){return this._offset}set offset(e){this._offset!==e&&(this._offset=e,this._computePageIndexFromOffset(e))}get total(){return this._total}set total(e){this._total!==e&&(this._applyTotal(e),this._adapter.setHostAttribute(a.attributes.TOTAL,`${this._total}`))}get pageSizeOptions(){return this._pageSizeOptions.map(e=>Number(e.value))}set pageSizeOptions(e){if(E(e)){if(this._pageSizeOptions=e.map(t=>({label:t.toString(),value:t.toString()})).sort((t,i)=>h(t.value)-h(i.value)),this._adapter.setPageSizeOptions(this._pageSizeOptions),this._adapter.attachPageSizeChangeListener(this._pageSizeListener),this._adapter.setPageSizeVisibility(!0),d(this._pageSize)&&this._pageSizeOptions.length&&!this._pageSizeOptions.find(t=>h(t.value)===this._pageSize)){let t=h(this._pageSizeOptions[0].value);this._applyPageSize(t)}}else e.toString().toLowerCase()==="false"&&(this._adapter.detachPageSizeChangeListener(this._pageSizeListener),this._adapter.setPageSizeVisibility(!1))}get label(){return this._label}set label(e){this._label!==e&&(this._label=e,this._adapter.setLabel(this._label),this._adapter.setHostAttribute(a.attributes.LABEL,d(this._label)?this._label.toString():""))}get firstLast(){return this._firstLast}set firstLast(e){e=!!e,this._firstLast!==e&&(this._firstLast=e,this._toggleFirstLastButtons(),this._adapter.toggleHostAttribute(a.attributes.FIRST_LAST,this._firstLast))}get first(){return this._first}set first(e){e=!!e,this._first!==e&&(this._first=e,this._toggleFirstButton(),this._adapter.toggleHostAttribute(a.attributes.FIRST,this._first))}get disabled(){return this._disabled}set disabled(e){e=!!e,this._disabled!==e&&(this._applyDisabled(e),this._adapter.toggleHostAttribute(a.attributes.DISABLED,this._disabled))}get alternative(){return this._alternative}set alternative(e){e!==this._alternative&&(this._alternative=e,this._adapter.setAlternative(this._alternative),this._applyAlternativeAlignment(),this._adapter.toggleHostAttribute(a.attributes.ALTERNATIVE,this._alternative))}get alignment(){return this._alignment}set alignment(e){e!==this._alignment&&(this._alignment=e,this._applyAlternativeAlignment())}get rangeLabelCallback(){return this._rangeLabelCallback}set rangeLabelCallback(e){this._rangeLabelCallback=e,this._updateRangeLabel()}};var v=class extends N{constructor(t){super(t);this._labelElement=r(t,a.selectors.LABEL),this._root=r(t,a.selectors.ROOT),this._pageSizeSelect=r(t,a.selectors.PAGE_SIZE_SELECT),this._rangeLabel=r(t,a.selectors.RANGE_LABEL),this._rangeLabelAlternative=r(t,a.selectors.RANGE_LABEL_ALTERNATIVE),this._firstPageButton=r(t,a.selectors.FIRST_PAGE_BUTTON),this._firstPageIconButton=r(t,a.selectors.FIRST_PAGE_ICON_BUTTON),this._previousPageButton=r(t,a.selectors.PREVIOUS_PAGE_BUTTON),this._nextPageButton=r(t,a.selectors.NEXT_PAGE_BUTTON),this._lastPageButton=r(t,a.selectors.LAST_PAGE_BUTTON),this._lastPageIconButton=r(t,a.selectors.LAST_PAGE_ICON_BUTTON)}setLabel(t){this._labelElement.textContent=t}setPageSizeOptions(t){L(this._pageSizeSelect),this._pageSizeSelect.options=t}setPageSize(t){this._pageSizeSelect.value=t.toString()}setRangeLabel(t){this._rangeLabel.innerText=t,this._rangeLabelAlternative.innerText=t}hasFirstPageButton(){return!!r(this._component,a.selectors.FIRST_PAGE_ICON_BUTTON)}showFirstPageButton(){this._firstPagePlaceholder=c(this._component,!0,a.elementName,a.selectors.FIRST_PAGE_ICON_BUTTON,this._firstPageIconButton,this._firstPagePlaceholder)}hideFirstPageButton(){this._firstPagePlaceholder=c(this._component,!1,a.elementName,a.selectors.FIRST_PAGE_ICON_BUTTON,this._firstPageIconButton,this._firstPagePlaceholder)}hasLastPageButton(){return!!r(this._component,a.selectors.LAST_PAGE_ICON_BUTTON)}showLastPageButton(){this._lastPagePlaceholder=c(this._component,!0,a.elementName,a.selectors.LAST_PAGE_ICON_BUTTON,this._lastPageIconButton,this._lastPagePlaceholder)}hideLastPageButton(){this._lastPagePlaceholder=c(this._component,!1,a.elementName,a.selectors.LAST_PAGE_ICON_BUTTON,this._lastPageIconButton,this._lastPagePlaceholder)}attachPageSizeChangeListener(t){this._pageSizeSelect.addEventListener("change",t)}attachFirstPageListener(t){this._firstPageButton.addEventListener("click",t)}attachPreviousPageListener(t){this._previousPageButton.addEventListener("click",t)}attachNextPageListener(t){this._nextPageButton.addEventListener("click",t)}attachLastPageListener(t){this._lastPageButton.addEventListener("click",t)}detachPageSizeChangeListener(t){this._pageSizeSelect.removeEventListener("change",t)}detachFirstPageListener(t){this._firstPageButton.removeEventListener("click",t)}detachPreviousPageListener(t){this._previousPageButton.removeEventListener("click",t)}detachNextPageListener(t){this._nextPageButton.removeEventListener("click",t)}detachLastPageListener(t){this._lastPageButton.removeEventListener("click",t)}disableFirstPageButton(){this._firstPageButton.setAttribute("disabled","disabled")}enableFirstPageButton(){this._firstPageButton.removeAttribute("disabled")}disablePreviousPageButton(){this._previousPageButton.setAttribute("disabled","disabled")}enablePreviousPageButton(){this._previousPageButton.removeAttribute("disabled")}disableNextPageButton(){this._nextPageButton.setAttribute("disabled","disabled")}enableNextPageButton(){this._nextPageButton.removeAttribute("disabled")}disablePageSizeSelect(){this._pageSizeSelect.setAttribute("disabled","disabled")}enablePageSizeSelect(){this._pageSizeSelect.removeAttribute("disabled")}setPageSizeVisibility(t){t?this._pageSizeSelect.style.removeProperty("display"):this._pageSizeSelect.style.display="none"}disableLastPageButton(){this._lastPageButton.setAttribute("disabled","disabled")}enableLastPageButton(){this._lastPageButton.removeAttribute("disabled")}setAlternative(t){S(this._root,t,a.classes.ALTERNATIVE)}setAlignment(t){switch(A([a.classes.ALIGNMENT_SPACE_BETWEEN,a.classes.ALIGNMENT_START,a.classes.ALIGNMENT_END],this._root),t){case"start":b(a.classes.ALIGNMENT_START,this._root);break;case"end":b(a.classes.ALIGNMENT_END,this._root);break;case"space-between":default:b(a.classes.ALIGNMENT_SPACE_BETWEEN,this._root);break}}hasFocus(){return this._component.matches(":focus")}setFocus(t){this._tryFocus([this._pageSizeSelect,this._firstPageButton,this._previousPageButton,this._nextPageButton,this._lastPageButton],t)}getFocusedField(){return this._pageSizeSelect.matches(":focus-within")?"page-size":this._firstPageButton.matches(":focus-within")?"first":this._previousPageButton.matches(":focus-within")?"previous":this._nextPageButton.matches(":focus-within")?"next":this._lastPageButton.matches(":focus-within")?"last":null}tryDisableFields(t){let i={first:()=>this.disableFirstPageButton(),last:()=>this.disableLastPageButton(),previous:()=>this.disablePreviousPageButton(),next:()=>this.disableNextPageButton()};t.forEach(s=>{var g;return(g=i[s])==null?void 0:g.call(i)})}_tryFocus(t,i){let s=typeof(i==null?void 0:i.preventScroll)=="boolean"?i.preventScroll:!0;for(let g of t)if(g&&g.isConnected&&!g.disabled&&g.style.display!=="none"){g.focus(m(P({},i),{preventScroll:s}));return}}};var V='<template><div class="forge-paginator" part="root"><div class="forge-paginator__container" part="container"><div class="forge-paginator__label" part="label"></div><forge-select class="forge-paginator__page-size-options" aria-label="Choose page size" label-position="none" density="extra-small" part="page-size-options"></forge-select><div class="forge-paginator__range-label" part="range-label"></div><forge-icon-button class="forge-paginator__first-page" part="first-page-button" part="first-page-button-element"><forge-icon name="first_page" part="first-page-icon"></forge-icon></forge-icon-button><forge-tooltip type="label" placement="top">Go to the first page</forge-tooltip><forge-icon-button class="forge-paginator__previous-page" part="previous-page-button" part="previous-page-button-element"><forge-icon name="keyboard_arrow_left" part="previous-page-button-icon"></forge-icon></forge-icon-button><forge-tooltip type="label" placement="top">Go to the previous page</forge-tooltip><div class="forge-paginator__range-label--alternative" part="range-label-alternative"></div><forge-icon-button class="forge-paginator__next-page" part="next-page-button" part="next-page-button-element"><forge-icon name="keyboard_arrow_right" part="next-page-icon"></forge-icon></forge-icon-button><forge-tooltip type="label" placement="top">Go to the next page</forge-tooltip><forge-icon-button class="forge-paginator__last-page" part="last-page-button" part="last-page-button-element"><forge-icon name="last_page" part="last-page-icon"></forge-icon></forge-icon-button><forge-tooltip type="label" placement="top">Go to the last page</forge-tooltip></div></div></template>',j=".forge-paginator{display:inline-block}.forge-paginator--alternative{display:-webkit-box;display:flex}.forge-paginator--alternative .forge-paginator__label,.forge-paginator--alternative .forge-paginator__page-size-options,.forge-paginator--alternative .forge-paginator__range-label{display:none}.forge-paginator--alternative .forge-paginator__range-label--alternative{display:inline-block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);margin:0 12px}.forge-paginator__range-label--alternative{display:none}.forge-paginator__container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-paginator__label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:16px}.forge-paginator__page-size-options{margin-right:16px}.forge-paginator__range-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:8px}.forge-paginator__first-page,.forge-paginator__last-page,.forge-paginator__next-page,.forge-paginator__previous-page{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}:host{display:inline-block}:host([hidden]){display:none}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__container{-webkit-box-pack:center;justify-content:center}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__range-label--alternative{margin:0 auto}:host([alternative]) .forge-paginator--alignment-start .forge-paginator__container{-webkit-box-pack:start;justify-content:flex-start}:host([alternative]) .forge-paginator--alignment-end .forge-paginator__container{-webkit-box-pack:end;justify-content:flex-end}:host([alternative]) .forge-paginator .forge-paginator__container{-webkit-box-flex:1;flex:1}",n=class extends x{constructor(){super();R.define([z,O,F,G]),I(this,V,j),this._foundation=new u(new v(this))}static get observedAttributes(){return[a.attributes.PAGE_INDEX,a.attributes.PAGE_SIZE,a.attributes.OFFSET,a.attributes.TOTAL,a.attributes.PAGE_SIZE_OPTIONS,a.attributes.LABEL,a.attributes.FIRST_LAST,a.attributes.FIRST,a.attributes.DISABLED,a.attributes.ALTERNATIVE,a.attributes.ALIGNMENT]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,s){switch(t){case a.attributes.PAGE_INDEX:this.pageIndex=Number(s)||a.numbers.DEFAULT_PAGE_INDEX;break;case a.attributes.PAGE_SIZE:this.pageSize=Number(s)||a.numbers.DEFAULT_PAGE_SIZE;break;case a.attributes.OFFSET:this.offset=Number(s);break;case a.attributes.TOTAL:this.total=Number(s)||a.numbers.DEFAULT_TOTAL;break;case a.attributes.PAGE_SIZE_OPTIONS:this.pageSizeOptions=s;break;case a.attributes.LABEL:this.label=s;break;case a.attributes.FIRST_LAST:this.firstLast=_(s);break;case a.attributes.FIRST:this.first=_(s);break;case a.attributes.DISABLED:this.disabled=_(s);break;case a.attributes.ALTERNATIVE:this.alternative=_(s);break;case a.attributes.ALIGNMENT:this.alignment=s;break}}focus(t){this._foundation.focus(t)}};o([l()],n.prototype,"pageIndex",2),o([l()],n.prototype,"pageSize",2),o([l()],n.prototype,"offset",2),o([l()],n.prototype,"total",2),o([l()],n.prototype,"pageSizeOptions",2),o([l()],n.prototype,"label",2),o([l()],n.prototype,"firstLast",2),o([l()],n.prototype,"first",2),o([l()],n.prototype,"disabled",2),o([l()],n.prototype,"alternative",2),o([l()],n.prototype,"alignment",2),o([l()],n.prototype,"rangeLabelCallback",2),n=o([B({name:a.elementName,dependencies:[k,M,C,U]})],n);function Nt(){T(n)}export{a,u as b,v as c,n as d,Nt as e};
7
+ //# sourceMappingURL=chunk.EUJBIOGT.js.map