@tylertech/forge 2.14.0-dev.0 → 2.14.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/custom-elements.json +1936 -482
  2. package/dist/button/forge-button.css +1 -1
  3. package/dist/esm/accordion/index.js +1 -1
  4. package/dist/esm/app-bar/help-button/index.js +1 -1
  5. package/dist/esm/app-bar/index.js +1 -1
  6. package/dist/esm/app-bar/menu-button/index.js +1 -1
  7. package/dist/esm/app-bar/notification-button/index.js +1 -1
  8. package/dist/esm/app-bar/profile-button/index.js +1 -1
  9. package/dist/esm/app-bar/search/index.js +1 -1
  10. package/dist/esm/autocomplete/index.js +1 -1
  11. package/dist/esm/avatar/index.js +1 -1
  12. package/dist/esm/backdrop/index.js +1 -1
  13. package/dist/esm/badge/index.js +1 -1
  14. package/dist/esm/banner/index.js +1 -1
  15. package/dist/esm/bottom-sheet/index.js +1 -1
  16. package/dist/esm/busy-indicator/index.js +1 -1
  17. package/dist/esm/button/index.js +1 -1
  18. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  19. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  20. package/dist/esm/button-toggle/index.js +1 -1
  21. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  22. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  23. package/dist/esm/calendar/core/index.js +1 -1
  24. package/dist/esm/calendar/index.js +1 -1
  25. package/dist/esm/card/index.js +1 -1
  26. package/dist/esm/checkbox/index.js +1 -1
  27. package/dist/esm/chip-field/index.js +1 -1
  28. package/dist/esm/chips/chip/index.js +1 -1
  29. package/dist/esm/chips/chip-set/index.js +1 -1
  30. package/dist/esm/chips/index.js +1 -1
  31. package/dist/esm/chunks/{chunk.PRO76W5D.js → chunk.2BNDXFI5.js} +2 -2
  32. package/dist/esm/chunks/{chunk.PRO76W5D.js.map → chunk.2BNDXFI5.js.map} +2 -2
  33. package/dist/esm/chunks/{chunk.PYG4YVBA.js → chunk.2DXG2R3M.js} +2 -2
  34. package/dist/esm/chunks/chunk.2DXG2R3M.js.map +7 -0
  35. package/dist/esm/chunks/{chunk.UUX4QJ4D.js → chunk.3KQL7VAZ.js} +1 -1
  36. package/dist/esm/chunks/{chunk.UUX4QJ4D.js.map → chunk.3KQL7VAZ.js.map} +2 -2
  37. package/dist/esm/chunks/{chunk.LGECRZFO.js → chunk.44IJE5UL.js} +2 -2
  38. package/dist/esm/chunks/{chunk.LGECRZFO.js.map → chunk.44IJE5UL.js.map} +2 -2
  39. package/dist/esm/chunks/{chunk.MIYZJUXH.js → chunk.47A2CN5U.js} +2 -2
  40. package/dist/esm/chunks/{chunk.MIYZJUXH.js.map → chunk.47A2CN5U.js.map} +2 -2
  41. package/dist/esm/chunks/{chunk.O4LGKJY6.js → chunk.4BEI55KI.js} +2 -2
  42. package/dist/esm/chunks/{chunk.O4LGKJY6.js.map → chunk.4BEI55KI.js.map} +2 -2
  43. package/dist/esm/chunks/{chunk.EC6JSIQW.js → chunk.4DAIIJ37.js} +1 -1
  44. package/dist/esm/chunks/{chunk.EC6JSIQW.js.map → chunk.4DAIIJ37.js.map} +2 -2
  45. package/dist/esm/chunks/{chunk.RT4C67NK.js → chunk.4FSAAN6W.js} +2 -2
  46. package/dist/esm/chunks/{chunk.RT4C67NK.js.map → chunk.4FSAAN6W.js.map} +2 -2
  47. package/dist/esm/chunks/chunk.4NI63FGK.js +7 -0
  48. package/dist/esm/chunks/chunk.4NI63FGK.js.map +7 -0
  49. package/dist/esm/chunks/{chunk.KBMLP7UT.js → chunk.4WPFFNLH.js} +2 -2
  50. package/dist/esm/chunks/{chunk.KBMLP7UT.js.map → chunk.4WPFFNLH.js.map} +3 -3
  51. package/dist/esm/chunks/chunk.4X2OFZDL.js +7 -0
  52. package/dist/esm/chunks/chunk.4X2OFZDL.js.map +7 -0
  53. package/dist/esm/chunks/chunk.5FPFRE4H.js +7 -0
  54. package/dist/esm/chunks/chunk.5FPFRE4H.js.map +7 -0
  55. package/dist/esm/chunks/{chunk.XCUYZZV4.js → chunk.6OKJPSUE.js} +2 -2
  56. package/dist/esm/chunks/{chunk.XCUYZZV4.js.map → chunk.6OKJPSUE.js.map} +3 -3
  57. package/dist/esm/chunks/{chunk.AMFXGOSA.js → chunk.6YPD6CQM.js} +1 -1
  58. package/dist/esm/chunks/{chunk.AMFXGOSA.js.map → chunk.6YPD6CQM.js.map} +2 -2
  59. package/dist/esm/chunks/{chunk.PBL2N45I.js → chunk.72AUOVCD.js} +2 -2
  60. package/dist/esm/chunks/{chunk.PBL2N45I.js.map → chunk.72AUOVCD.js.map} +2 -2
  61. package/dist/esm/chunks/{chunk.YW47QJVY.js → chunk.73AYD2BF.js} +2 -2
  62. package/dist/esm/chunks/{chunk.YW47QJVY.js.map → chunk.73AYD2BF.js.map} +2 -2
  63. package/dist/esm/chunks/{chunk.HQJZRTOH.js → chunk.77Y3EABF.js} +2 -2
  64. package/dist/esm/chunks/{chunk.HQJZRTOH.js.map → chunk.77Y3EABF.js.map} +2 -2
  65. package/dist/esm/chunks/{chunk.EE2LK23T.js → chunk.7A6MX6CS.js} +2 -2
  66. package/dist/esm/chunks/{chunk.EE2LK23T.js.map → chunk.7A6MX6CS.js.map} +2 -2
  67. package/dist/esm/chunks/{chunk.V55E5JD5.js → chunk.7UKA4E5A.js} +2 -2
  68. package/dist/esm/chunks/{chunk.V55E5JD5.js.map → chunk.7UKA4E5A.js.map} +2 -2
  69. package/dist/esm/chunks/{chunk.GVQVA7P3.js → chunk.7XFU2W25.js} +1 -1
  70. package/dist/esm/chunks/{chunk.GVQVA7P3.js.map → chunk.7XFU2W25.js.map} +2 -2
  71. package/dist/esm/chunks/{chunk.MYNPY3AQ.js → chunk.AFLH5HUG.js} +2 -2
  72. package/dist/esm/chunks/{chunk.MYNPY3AQ.js.map → chunk.AFLH5HUG.js.map} +2 -2
  73. package/dist/esm/chunks/{chunk.24D46RLZ.js → chunk.ARJ3EVVO.js} +2 -2
  74. package/dist/esm/chunks/{chunk.24D46RLZ.js.map → chunk.ARJ3EVVO.js.map} +2 -2
  75. package/dist/esm/chunks/{chunk.OOW3UKT4.js → chunk.BE7PZANN.js} +2 -2
  76. package/dist/esm/chunks/{chunk.OOW3UKT4.js.map → chunk.BE7PZANN.js.map} +2 -2
  77. package/dist/esm/chunks/{chunk.G5JTL66M.js → chunk.BJE6O5ES.js} +2 -2
  78. package/dist/esm/chunks/{chunk.G5JTL66M.js.map → chunk.BJE6O5ES.js.map} +2 -2
  79. package/dist/esm/chunks/{chunk.2GY2VPJG.js → chunk.BJZ7RB5F.js} +1 -1
  80. package/dist/esm/chunks/{chunk.2GY2VPJG.js.map → chunk.BJZ7RB5F.js.map} +2 -2
  81. package/dist/esm/chunks/{chunk.GVZEMIA3.js → chunk.BTBHIIGI.js} +2 -2
  82. package/dist/esm/chunks/{chunk.GVZEMIA3.js.map → chunk.BTBHIIGI.js.map} +2 -2
  83. package/dist/esm/chunks/chunk.C7AN6FMW.js +7 -0
  84. package/dist/esm/chunks/chunk.C7AN6FMW.js.map +7 -0
  85. package/dist/esm/chunks/{chunk.OGZOXNGT.js → chunk.DFJUCHEO.js} +2 -2
  86. package/dist/esm/chunks/{chunk.OGZOXNGT.js.map → chunk.DFJUCHEO.js.map} +2 -2
  87. package/dist/esm/chunks/{chunk.AWCBH5KW.js → chunk.DONAMICM.js} +1 -1
  88. package/dist/esm/chunks/{chunk.AWCBH5KW.js.map → chunk.DONAMICM.js.map} +2 -2
  89. package/dist/esm/chunks/chunk.DQJPIDVW.js +7 -0
  90. package/dist/esm/chunks/chunk.DQJPIDVW.js.map +7 -0
  91. package/dist/esm/chunks/{chunk.65G33MJV.js → chunk.DT7MZR5Y.js} +2 -2
  92. package/dist/esm/chunks/{chunk.65G33MJV.js.map → chunk.DT7MZR5Y.js.map} +2 -2
  93. package/dist/esm/chunks/chunk.DYNEJBYK.js +7 -0
  94. package/dist/esm/chunks/{chunk.NG5EGZ5Y.js.map → chunk.DYNEJBYK.js.map} +2 -2
  95. package/dist/esm/chunks/{chunk.323FEQVK.js → chunk.E6CYXNS2.js} +2 -2
  96. package/dist/esm/chunks/{chunk.323FEQVK.js.map → chunk.E6CYXNS2.js.map} +2 -2
  97. package/dist/esm/chunks/{chunk.ZFD3OE45.js → chunk.EGRUD7S7.js} +2 -2
  98. package/dist/esm/chunks/{chunk.ZFD3OE45.js.map → chunk.EGRUD7S7.js.map} +2 -2
  99. package/dist/esm/chunks/{chunk.24X566SZ.js → chunk.ESR2NHOS.js} +2 -2
  100. package/dist/esm/chunks/chunk.ESR2NHOS.js.map +7 -0
  101. package/dist/esm/chunks/{chunk.55BOUOT6.js → chunk.F2B24WLK.js} +2 -2
  102. package/dist/esm/chunks/{chunk.55BOUOT6.js.map → chunk.F2B24WLK.js.map} +2 -2
  103. package/dist/esm/chunks/chunk.F3MP6AXF.js +29 -0
  104. package/dist/esm/chunks/chunk.F3MP6AXF.js.map +7 -0
  105. package/dist/esm/chunks/{chunk.73O3BMP2.js → chunk.FRYLJWYL.js} +2 -2
  106. package/dist/esm/chunks/{chunk.73O3BMP2.js.map → chunk.FRYLJWYL.js.map} +2 -2
  107. package/dist/esm/chunks/chunk.FVRSGKJD.js +7 -0
  108. package/dist/esm/chunks/chunk.FVRSGKJD.js.map +7 -0
  109. package/dist/esm/chunks/{chunk.TMJBIAWC.js → chunk.G3ZTZ4AN.js} +2 -2
  110. package/dist/esm/chunks/{chunk.TMJBIAWC.js.map → chunk.G3ZTZ4AN.js.map} +2 -2
  111. package/dist/esm/chunks/{chunk.MNPORZ4F.js → chunk.G45OZEIS.js} +2 -2
  112. package/dist/esm/chunks/{chunk.MNPORZ4F.js.map → chunk.G45OZEIS.js.map} +2 -2
  113. package/dist/esm/chunks/{chunk.5PXABBKU.js → chunk.G5MGGEFP.js} +2 -2
  114. package/dist/esm/chunks/{chunk.5PXABBKU.js.map → chunk.G5MGGEFP.js.map} +2 -2
  115. package/dist/esm/chunks/{chunk.Y6FFG7XO.js → chunk.GO5A4GKZ.js} +1 -1
  116. package/dist/esm/chunks/{chunk.Y6FFG7XO.js.map → chunk.GO5A4GKZ.js.map} +2 -2
  117. package/dist/esm/chunks/{chunk.L54GENPD.js → chunk.H4Z4DHPA.js} +2 -2
  118. package/dist/esm/chunks/{chunk.L54GENPD.js.map → chunk.H4Z4DHPA.js.map} +2 -2
  119. package/dist/esm/chunks/{chunk.P45HS252.js → chunk.HBMNXZES.js} +2 -2
  120. package/dist/esm/chunks/{chunk.P45HS252.js.map → chunk.HBMNXZES.js.map} +2 -2
  121. package/dist/esm/chunks/{chunk.P5GT5YBP.js → chunk.HPDBSBQJ.js} +2 -2
  122. package/dist/esm/chunks/{chunk.P5GT5YBP.js.map → chunk.HPDBSBQJ.js.map} +2 -2
  123. package/dist/esm/chunks/{chunk.6NBVXSNZ.js → chunk.HU27X3IT.js} +2 -2
  124. package/dist/esm/chunks/{chunk.6NBVXSNZ.js.map → chunk.HU27X3IT.js.map} +2 -2
  125. package/dist/esm/chunks/{chunk.ORF746AF.js → chunk.HV6SPRC4.js} +2 -2
  126. package/dist/esm/chunks/{chunk.ORF746AF.js.map → chunk.HV6SPRC4.js.map} +2 -2
  127. package/dist/esm/chunks/{chunk.C557PTJ5.js → chunk.I5BAZWUF.js} +2 -2
  128. package/dist/esm/chunks/{chunk.C557PTJ5.js.map → chunk.I5BAZWUF.js.map} +2 -2
  129. package/dist/esm/chunks/chunk.IGTXLDZS.js +7 -0
  130. package/dist/esm/chunks/{chunk.DRI2NLIB.js.map → chunk.IGTXLDZS.js.map} +2 -2
  131. package/dist/esm/chunks/{chunk.GXUYYBVO.js → chunk.ILRWZHH3.js} +2 -2
  132. package/dist/esm/chunks/chunk.ILRWZHH3.js.map +7 -0
  133. package/dist/esm/chunks/{chunk.Z6S62LZJ.js → chunk.INCKI5IX.js} +2 -2
  134. package/dist/esm/chunks/{chunk.Z6S62LZJ.js.map → chunk.INCKI5IX.js.map} +2 -2
  135. package/dist/esm/chunks/{chunk.ROF42KJ3.js → chunk.J2H5RXTX.js} +2 -2
  136. package/dist/esm/chunks/{chunk.ROF42KJ3.js.map → chunk.J2H5RXTX.js.map} +2 -2
  137. package/dist/esm/chunks/{chunk.G76HB2FK.js → chunk.J2M2MXP2.js} +1 -1
  138. package/dist/esm/chunks/{chunk.G76HB2FK.js.map → chunk.J2M2MXP2.js.map} +2 -2
  139. package/dist/esm/chunks/{chunk.SVGEVCXA.js → chunk.J6WCFQSS.js} +2 -2
  140. package/dist/esm/chunks/{chunk.SVGEVCXA.js.map → chunk.J6WCFQSS.js.map} +2 -2
  141. package/dist/esm/chunks/{chunk.HWVLZ44Q.js → chunk.JEN6YP2Q.js} +2 -2
  142. package/dist/esm/chunks/{chunk.HWVLZ44Q.js.map → chunk.JEN6YP2Q.js.map} +2 -2
  143. package/dist/esm/chunks/{chunk.ZAKLVVFO.js → chunk.JHBCYICS.js} +2 -2
  144. package/dist/esm/chunks/{chunk.ZAKLVVFO.js.map → chunk.JHBCYICS.js.map} +2 -2
  145. package/dist/esm/chunks/chunk.JHY2CKEH.js +7 -0
  146. package/dist/esm/chunks/{chunk.CN7DHS4J.js.map → chunk.JHY2CKEH.js.map} +2 -2
  147. package/dist/esm/chunks/{chunk.FL6SJHQU.js → chunk.K2C4W3CO.js} +2 -2
  148. package/dist/esm/chunks/{chunk.FL6SJHQU.js.map → chunk.K2C4W3CO.js.map} +3 -3
  149. package/dist/esm/chunks/chunk.K6AFP52A.js +7 -0
  150. package/dist/esm/chunks/chunk.K6AFP52A.js.map +7 -0
  151. package/dist/esm/chunks/{chunk.HUX56BCR.js → chunk.KE6GOYAB.js} +2 -2
  152. package/dist/esm/chunks/{chunk.HUX56BCR.js.map → chunk.KE6GOYAB.js.map} +2 -2
  153. package/dist/esm/chunks/{chunk.B3IJU6XJ.js → chunk.KTGSZEAG.js} +1 -1
  154. package/dist/esm/chunks/{chunk.B3IJU6XJ.js.map → chunk.KTGSZEAG.js.map} +2 -2
  155. package/dist/esm/chunks/{chunk.BMFJLHDR.js → chunk.KU5CXXGS.js} +2 -2
  156. package/dist/esm/chunks/{chunk.BMFJLHDR.js.map → chunk.KU5CXXGS.js.map} +2 -2
  157. package/dist/esm/chunks/{chunk.5DKXUTFN.js → chunk.KZO4DT2S.js} +2 -2
  158. package/dist/esm/chunks/{chunk.5DKXUTFN.js.map → chunk.KZO4DT2S.js.map} +3 -3
  159. package/dist/esm/chunks/{chunk.FBERE7AL.js → chunk.LDN4HLF7.js} +2 -2
  160. package/dist/esm/chunks/{chunk.FBERE7AL.js.map → chunk.LDN4HLF7.js.map} +2 -2
  161. package/dist/esm/chunks/chunk.LFLREB3C.js +7 -0
  162. package/dist/esm/chunks/chunk.LFLREB3C.js.map +7 -0
  163. package/dist/esm/chunks/{chunk.E37HEAJ5.js → chunk.LIKJD4SK.js} +1 -1
  164. package/dist/esm/chunks/{chunk.E37HEAJ5.js.map → chunk.LIKJD4SK.js.map} +2 -2
  165. package/dist/esm/chunks/{chunk.S76NW5JY.js → chunk.LYOQ2RGP.js} +2 -2
  166. package/dist/esm/chunks/{chunk.S76NW5JY.js.map → chunk.LYOQ2RGP.js.map} +2 -2
  167. package/dist/esm/chunks/{chunk.R2L3S3YD.js → chunk.MHOS3IHQ.js} +2 -2
  168. package/dist/esm/chunks/{chunk.R2L3S3YD.js.map → chunk.MHOS3IHQ.js.map} +2 -2
  169. package/dist/esm/chunks/{chunk.IARIRFXO.js → chunk.MLV25D2G.js} +2 -2
  170. package/dist/esm/chunks/{chunk.IARIRFXO.js.map → chunk.MLV25D2G.js.map} +2 -2
  171. package/dist/esm/chunks/{chunk.2D4IBAWP.js → chunk.MXTDW27J.js} +2 -2
  172. package/dist/esm/chunks/{chunk.2D4IBAWP.js.map → chunk.MXTDW27J.js.map} +2 -2
  173. package/dist/esm/chunks/{chunk.LZMYHIO2.js → chunk.MZLPUI6R.js} +1 -1
  174. package/dist/esm/chunks/{chunk.LZMYHIO2.js.map → chunk.MZLPUI6R.js.map} +2 -2
  175. package/dist/esm/chunks/{chunk.NZTGBDRK.js → chunk.N4PVZUJX.js} +2 -2
  176. package/dist/esm/chunks/{chunk.NZTGBDRK.js.map → chunk.N4PVZUJX.js.map} +2 -2
  177. package/dist/esm/chunks/{chunk.MU4FV57Q.js → chunk.NW7NV2A2.js} +2 -2
  178. package/dist/esm/chunks/{chunk.MU4FV57Q.js.map → chunk.NW7NV2A2.js.map} +2 -2
  179. package/dist/esm/chunks/{chunk.LGEYSCS2.js → chunk.O4FB4BV5.js} +2 -2
  180. package/dist/esm/chunks/{chunk.LGEYSCS2.js.map → chunk.O4FB4BV5.js.map} +2 -2
  181. package/dist/esm/chunks/{chunk.YKXCORJE.js → chunk.O73S5LF3.js} +2 -2
  182. package/dist/esm/chunks/{chunk.YKXCORJE.js.map → chunk.O73S5LF3.js.map} +2 -2
  183. package/dist/esm/chunks/{chunk.GZEWDHFJ.js → chunk.OV4QNVJH.js} +2 -2
  184. package/dist/esm/chunks/{chunk.GZEWDHFJ.js.map → chunk.OV4QNVJH.js.map} +2 -2
  185. package/dist/esm/chunks/{chunk.FQEETXUQ.js → chunk.OZ5BPXNV.js} +2 -2
  186. package/dist/esm/chunks/{chunk.FQEETXUQ.js.map → chunk.OZ5BPXNV.js.map} +2 -2
  187. package/dist/esm/chunks/{chunk.VHKQHMK3.js → chunk.P3IA2WTO.js} +2 -2
  188. package/dist/esm/chunks/{chunk.VHKQHMK3.js.map → chunk.P3IA2WTO.js.map} +3 -3
  189. package/dist/esm/chunks/{chunk.PHJPLWFH.js → chunk.PALRSBSY.js} +2 -2
  190. package/dist/esm/chunks/{chunk.PHJPLWFH.js.map → chunk.PALRSBSY.js.map} +2 -2
  191. package/dist/esm/chunks/{chunk.R4NDFXVA.js → chunk.PN26D52V.js} +2 -2
  192. package/dist/esm/chunks/{chunk.R4NDFXVA.js.map → chunk.PN26D52V.js.map} +2 -2
  193. package/dist/esm/chunks/chunk.PYIFIHDK.js +7 -0
  194. package/dist/esm/chunks/chunk.PYIFIHDK.js.map +7 -0
  195. package/dist/esm/chunks/{chunk.7LBAA7TC.js → chunk.RB5BTA5N.js} +2 -2
  196. package/dist/esm/chunks/{chunk.7LBAA7TC.js.map → chunk.RB5BTA5N.js.map} +2 -2
  197. package/dist/esm/chunks/{chunk.NYMNX3S7.js → chunk.RBAVT3XQ.js} +2 -2
  198. package/dist/esm/chunks/{chunk.NYMNX3S7.js.map → chunk.RBAVT3XQ.js.map} +2 -2
  199. package/dist/esm/chunks/chunk.RE5X26QT.js +29 -0
  200. package/dist/esm/chunks/chunk.RE5X26QT.js.map +7 -0
  201. package/dist/esm/chunks/{chunk.XY4N4TSH.js → chunk.RG6CDWEX.js} +2 -2
  202. package/dist/esm/chunks/{chunk.XY4N4TSH.js.map → chunk.RG6CDWEX.js.map} +2 -2
  203. package/dist/esm/chunks/{chunk.EXKBJEFL.js → chunk.RHFNK6EE.js} +2 -2
  204. package/dist/esm/chunks/{chunk.EXKBJEFL.js.map → chunk.RHFNK6EE.js.map} +2 -2
  205. package/dist/esm/chunks/{chunk.ZMXKZJRM.js → chunk.ROR6JMAE.js} +2 -2
  206. package/dist/esm/chunks/{chunk.ZMXKZJRM.js.map → chunk.ROR6JMAE.js.map} +2 -2
  207. package/dist/esm/chunks/{chunk.3UB364WW.js → chunk.RYMPSU4J.js} +2 -2
  208. package/dist/esm/chunks/{chunk.3UB364WW.js.map → chunk.RYMPSU4J.js.map} +2 -2
  209. package/dist/esm/chunks/{chunk.LYAS4FAN.js → chunk.SAQVWOVK.js} +2 -2
  210. package/dist/esm/chunks/{chunk.LYAS4FAN.js.map → chunk.SAQVWOVK.js.map} +2 -2
  211. package/dist/esm/chunks/chunk.SD4LLO5A.js +12 -0
  212. package/dist/esm/chunks/chunk.SD4LLO5A.js.map +7 -0
  213. package/dist/esm/chunks/{chunk.TCAOLSLI.js → chunk.SXTTEIIH.js} +2 -2
  214. package/dist/esm/chunks/{chunk.TCAOLSLI.js.map → chunk.SXTTEIIH.js.map} +2 -2
  215. package/dist/esm/chunks/{chunk.MWD47ZZU.js → chunk.T76JYRPR.js} +2 -2
  216. package/dist/esm/chunks/{chunk.MWD47ZZU.js.map → chunk.T76JYRPR.js.map} +3 -3
  217. package/dist/esm/chunks/chunk.TR5YMNJJ.js +7 -0
  218. package/dist/esm/chunks/chunk.TR5YMNJJ.js.map +7 -0
  219. package/dist/esm/chunks/{chunk.DRXMITOO.js → chunk.TWZXQQQO.js} +2 -2
  220. package/dist/esm/chunks/{chunk.DRXMITOO.js.map → chunk.TWZXQQQO.js.map} +3 -3
  221. package/dist/esm/chunks/chunk.U6WGJELL.js +7 -0
  222. package/dist/esm/chunks/chunk.U6WGJELL.js.map +7 -0
  223. package/dist/esm/chunks/chunk.U724KSZU.js +7 -0
  224. package/dist/esm/chunks/chunk.U724KSZU.js.map +7 -0
  225. package/dist/esm/chunks/{chunk.LZHDRATV.js → chunk.UBD2DPQN.js} +2 -2
  226. package/dist/esm/chunks/{chunk.LZHDRATV.js.map → chunk.UBD2DPQN.js.map} +2 -2
  227. package/dist/esm/chunks/{chunk.YPMN5U7C.js → chunk.UF43SSFY.js} +2 -2
  228. package/dist/esm/chunks/{chunk.YPMN5U7C.js.map → chunk.UF43SSFY.js.map} +2 -2
  229. package/dist/esm/chunks/{chunk.CUT7V2KN.js → chunk.ULIFS3UR.js} +2 -2
  230. package/dist/esm/chunks/{chunk.CUT7V2KN.js.map → chunk.ULIFS3UR.js.map} +2 -2
  231. package/dist/esm/chunks/{chunk.2LHBE2QZ.js → chunk.UT7QUGAO.js} +2 -2
  232. package/dist/esm/chunks/{chunk.2LHBE2QZ.js.map → chunk.UT7QUGAO.js.map} +2 -2
  233. package/dist/esm/chunks/{chunk.STS5TIUV.js → chunk.V4TCOZLK.js} +1 -1
  234. package/dist/esm/chunks/chunk.V4TCOZLK.js.map +7 -0
  235. package/dist/esm/chunks/{chunk.PV5MABYN.js → chunk.V7WKXEZC.js} +2 -2
  236. package/dist/esm/chunks/{chunk.PV5MABYN.js.map → chunk.V7WKXEZC.js.map} +2 -2
  237. package/dist/esm/chunks/{chunk.UPFJ3PVE.js → chunk.VAKNDCLP.js} +2 -2
  238. package/dist/esm/chunks/{chunk.UPFJ3PVE.js.map → chunk.VAKNDCLP.js.map} +3 -3
  239. package/dist/esm/chunks/{chunk.OKIRZEUG.js → chunk.VC2BG2RS.js} +2 -2
  240. package/dist/esm/chunks/{chunk.OKIRZEUG.js.map → chunk.VC2BG2RS.js.map} +2 -2
  241. package/dist/esm/chunks/{chunk.3L7T5WYL.js → chunk.WP4QOOIS.js} +2 -2
  242. package/dist/esm/chunks/{chunk.3L7T5WYL.js.map → chunk.WP4QOOIS.js.map} +2 -2
  243. package/dist/esm/chunks/chunk.WY7DECJD.js +7 -0
  244. package/dist/esm/chunks/chunk.WY7DECJD.js.map +7 -0
  245. package/dist/esm/chunks/{chunk.XMI5RBZQ.js → chunk.X5LGVZGO.js} +2 -2
  246. package/dist/esm/chunks/{chunk.XMI5RBZQ.js.map → chunk.X5LGVZGO.js.map} +2 -2
  247. package/dist/esm/chunks/{chunk.54RF4ZT6.js → chunk.XHV3GQ7L.js} +2 -2
  248. package/dist/esm/chunks/{chunk.54RF4ZT6.js.map → chunk.XHV3GQ7L.js.map} +2 -2
  249. package/dist/esm/chunks/{chunk.5W5IPKAU.js → chunk.XUW3GG46.js} +2 -2
  250. package/dist/esm/chunks/{chunk.5W5IPKAU.js.map → chunk.XUW3GG46.js.map} +2 -2
  251. package/dist/esm/chunks/{chunk.K5WLIDQK.js → chunk.XZ4WI7VK.js} +2 -2
  252. package/dist/esm/chunks/{chunk.K5WLIDQK.js.map → chunk.XZ4WI7VK.js.map} +2 -2
  253. package/dist/esm/chunks/{chunk.MMVZJLXE.js → chunk.Y4GKBJGI.js} +2 -2
  254. package/dist/esm/chunks/{chunk.MMVZJLXE.js.map → chunk.Y4GKBJGI.js.map} +2 -2
  255. package/dist/esm/chunks/{chunk.NXS7A7PO.js → chunk.Y66GSZJB.js} +1 -1
  256. package/dist/esm/chunks/{chunk.NXS7A7PO.js.map → chunk.Y66GSZJB.js.map} +2 -2
  257. package/dist/esm/chunks/chunk.Y72NANFX.js +7 -0
  258. package/dist/esm/chunks/chunk.Y72NANFX.js.map +7 -0
  259. package/dist/esm/chunks/{chunk.P6IF3USM.js → chunk.YBEBD4CN.js} +2 -2
  260. package/dist/esm/chunks/{chunk.P6IF3USM.js.map → chunk.YBEBD4CN.js.map} +2 -2
  261. package/dist/esm/chunks/{chunk.D4SNVKDA.js → chunk.YI4JTY4T.js} +1 -1
  262. package/dist/esm/chunks/{chunk.D4SNVKDA.js.map → chunk.YI4JTY4T.js.map} +2 -2
  263. package/dist/esm/chunks/{chunk.E43TT4RI.js → chunk.YPZNIYQL.js} +1 -1
  264. package/dist/esm/chunks/{chunk.E43TT4RI.js.map → chunk.YPZNIYQL.js.map} +2 -2
  265. package/dist/esm/chunks/{chunk.F5I55MXD.js → chunk.ZUNZKRRK.js} +2 -2
  266. package/dist/esm/chunks/{chunk.F5I55MXD.js.map → chunk.ZUNZKRRK.js.map} +2 -2
  267. package/dist/esm/circular-progress/index.js +1 -1
  268. package/dist/esm/color-picker/index.js +1 -1
  269. package/dist/esm/core/base/index.js +1 -1
  270. package/dist/esm/core/delegates/index.js +1 -1
  271. package/dist/esm/core/index.js +1 -1
  272. package/dist/esm/core/mask/index.js +1 -1
  273. package/dist/esm/core/utils/index.js +1 -1
  274. package/dist/esm/date-picker/index.js +1 -1
  275. package/dist/esm/date-range-picker/index.js +1 -1
  276. package/dist/esm/dialog/index.js +1 -1
  277. package/dist/esm/divider/index.js +1 -1
  278. package/dist/esm/drawer/base/index.js +1 -1
  279. package/dist/esm/drawer/drawer/index.js +1 -1
  280. package/dist/esm/drawer/index.js +1 -1
  281. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  282. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  283. package/dist/esm/expansion-panel/index.js +1 -1
  284. package/dist/esm/file-picker/index.js +1 -1
  285. package/dist/esm/floating-action-button/index.js +1 -1
  286. package/dist/esm/floating-label/index.js +1 -1
  287. package/dist/esm/icon/index.js +1 -1
  288. package/dist/esm/icon-button/index.js +1 -1
  289. package/dist/esm/index.js +1 -1
  290. package/dist/esm/inline-message/index.js +1 -1
  291. package/dist/esm/keyboard-shortcut/index.js +1 -1
  292. package/dist/esm/label-value/index.js +1 -1
  293. package/dist/esm/linear-progress/index.js +1 -1
  294. package/dist/esm/list/index.js +1 -1
  295. package/dist/esm/list/list/index.js +1 -1
  296. package/dist/esm/list/list-item/index.js +1 -1
  297. package/dist/esm/list-dropdown/index.js +1 -1
  298. package/dist/esm/menu/index.js +1 -1
  299. package/dist/esm/open-icon/index.js +1 -1
  300. package/dist/esm/page-state/index.js +1 -1
  301. package/dist/esm/paginator/index.js +1 -1
  302. package/dist/esm/popup/index.js +1 -1
  303. package/dist/esm/product-icon/index.js +1 -1
  304. package/dist/esm/profile-card/index.js +1 -1
  305. package/dist/esm/quantity-field/index.js +1 -1
  306. package/dist/esm/radio/index.js +1 -1
  307. package/dist/esm/ripple/index.js +1 -1
  308. package/dist/esm/scaffold/index.js +1 -1
  309. package/dist/esm/select/core/index.js +1 -1
  310. package/dist/esm/select/index.js +1 -1
  311. package/dist/esm/select/option/index.js +1 -1
  312. package/dist/esm/select/option-group/index.js +1 -1
  313. package/dist/esm/select/select/index.js +1 -1
  314. package/dist/esm/select/select-dropdown/index.js +1 -1
  315. package/dist/esm/skeleton/index.js +1 -1
  316. package/dist/esm/slider/index.js +1 -1
  317. package/dist/esm/split-view/index.js +1 -1
  318. package/dist/esm/split-view/split-view/index.js +1 -1
  319. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  320. package/dist/esm/stack/index.js +7 -0
  321. package/dist/esm/stack/index.js.map +7 -0
  322. package/dist/esm/stepper/index.js +1 -1
  323. package/dist/esm/stepper/step/index.js +1 -1
  324. package/dist/esm/stepper/stepper/index.js +1 -1
  325. package/dist/esm/switch/index.js +1 -1
  326. package/dist/esm/table/index.js +1 -1
  327. package/dist/esm/tabs/index.js +1 -1
  328. package/dist/esm/tabs/tab/index.js +1 -1
  329. package/dist/esm/tabs/tab-bar/index.js +1 -1
  330. package/dist/esm/text-field/index.js +1 -1
  331. package/dist/esm/theme/index.js +1 -1
  332. package/dist/esm/time-picker/index.js +1 -1
  333. package/dist/esm/toast/index.js +1 -1
  334. package/dist/esm/toolbar/index.js +1 -1
  335. package/dist/esm/tooltip/index.js +1 -1
  336. package/dist/esm/utils/index.js +1 -1
  337. package/dist/esm/view-switcher/index.js +1 -1
  338. package/dist/esm/view-switcher/view/index.js +1 -1
  339. package/dist/floating-action-button/forge-floating-action-button.css +1 -1
  340. package/dist/floating-label/forge-floating-label.css +1 -1
  341. package/dist/forge.css +1 -1
  342. package/dist/utils/forge-utils.css +1 -1
  343. package/esm/app-bar/app-bar.js +1 -1
  344. package/esm/autocomplete/autocomplete-adapter.d.ts +2 -0
  345. package/esm/autocomplete/autocomplete-adapter.js +3 -0
  346. package/esm/autocomplete/autocomplete-constants.d.ts +1 -0
  347. package/esm/autocomplete/autocomplete-constants.js +1 -0
  348. package/esm/autocomplete/autocomplete-foundation.d.ts +8 -0
  349. package/esm/autocomplete/autocomplete-foundation.js +21 -2
  350. package/esm/autocomplete/autocomplete.d.ts +7 -0
  351. package/esm/autocomplete/autocomplete.js +8 -1
  352. package/esm/badge/badge.js +1 -1
  353. package/esm/busy-indicator/busy-indicator.js +2 -2
  354. package/esm/calendar/calendar.js +1 -1
  355. package/esm/card/card.js +1 -1
  356. package/esm/chips/chip/chip-adapter.d.ts +17 -2
  357. package/esm/chips/chip/chip-adapter.js +90 -15
  358. package/esm/chips/chip/chip-constants.d.ts +4 -0
  359. package/esm/chips/chip/chip-constants.js +6 -2
  360. package/esm/chips/chip/chip-foundation.d.ts +2 -0
  361. package/esm/chips/chip/chip-foundation.js +38 -13
  362. package/esm/chips/chip/chip.d.ts +2 -0
  363. package/esm/chips/chip/chip.js +5 -2
  364. package/esm/chips/chip-set/chip-set-adapter.d.ts +4 -0
  365. package/esm/chips/chip-set/chip-set-adapter.js +24 -0
  366. package/esm/chips/chip-set/chip-set-foundation.d.ts +3 -0
  367. package/esm/chips/chip-set/chip-set-foundation.js +8 -0
  368. package/esm/chips/chip-set/chip-set.d.ts +1 -0
  369. package/esm/chips/chip-set/chip-set.js +3 -0
  370. package/esm/circular-progress/circular-progress.js +1 -1
  371. package/esm/core/mask/intermediate-time-parser.d.ts +49 -0
  372. package/esm/core/mask/intermediate-time-parser.js +106 -0
  373. package/esm/core/mask/time-input-mask.d.ts +0 -1
  374. package/esm/core/mask/time-input-mask.js +79 -58
  375. package/esm/core/mask/time-segment-parser.d.ts +22 -0
  376. package/esm/core/mask/time-segment-parser.js +46 -0
  377. package/esm/core/utils/time-utils.d.ts +1 -0
  378. package/esm/core/utils/time-utils.js +20 -3
  379. package/esm/dialog/dialog-foundation.js +2 -2
  380. package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
  381. package/esm/index.d.ts +1 -0
  382. package/esm/index.js +3 -0
  383. package/esm/linear-progress/linear-progress.js +1 -1
  384. package/esm/list-dropdown/list-dropdown-adapter.d.ts +2 -0
  385. package/esm/list-dropdown/list-dropdown-adapter.js +6 -0
  386. package/esm/list-dropdown/list-dropdown-constants.d.ts +1 -0
  387. package/esm/list-dropdown/list-dropdown-foundation.js +3 -0
  388. package/esm/list-dropdown/list-dropdown-utils.js +1 -1
  389. package/esm/profile-card/profile-card.js +1 -1
  390. package/esm/ripple/forge-ripple.d.ts +3 -0
  391. package/esm/ripple/forge-ripple.js +5 -0
  392. package/esm/ripple/ripple-constants.d.ts +0 -1
  393. package/esm/ripple/ripple-constants.js +1 -2
  394. package/esm/ripple/ripple-foundation.d.ts +0 -4
  395. package/esm/ripple/ripple-foundation.js +0 -10
  396. package/esm/ripple/ripple.d.ts +0 -2
  397. package/esm/ripple/ripple.js +1 -8
  398. package/esm/slider/slider.js +1 -1
  399. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  400. package/esm/stack/index.d.ts +10 -0
  401. package/esm/stack/index.js +14 -0
  402. package/esm/stack/stack-adapter.d.ts +15 -0
  403. package/esm/stack/stack-adapter.js +18 -0
  404. package/esm/stack/stack-constants.d.ts +29 -0
  405. package/esm/stack/stack-constants.js +36 -0
  406. package/esm/stack/stack-foundation.d.ts +39 -0
  407. package/esm/stack/stack-foundation.js +70 -0
  408. package/esm/stack/stack.d.ts +41 -0
  409. package/esm/stack/stack.js +74 -0
  410. package/esm/switch/switch.js +1 -1
  411. package/esm/time-picker/time-picker-adapter.d.ts +4 -0
  412. package/esm/time-picker/time-picker-adapter.js +8 -0
  413. package/esm/time-picker/time-picker-component-delegate.js +1 -6
  414. package/esm/time-picker/time-picker-foundation.d.ts +3 -0
  415. package/esm/time-picker/time-picker-foundation.js +45 -14
  416. package/esm/toast/toast.js +1 -1
  417. package/esm/tooltip/tooltip-foundation.d.ts +1 -0
  418. package/esm/tooltip/tooltip-foundation.js +3 -0
  419. package/esm/tooltip/tooltip.js +1 -1
  420. package/esm/view-switcher/view-switcher.js +1 -1
  421. package/package.json +2 -2
  422. package/styles/busy-indicator/_mixins.scss +1 -0
  423. package/styles/chips/chip/_mixins.scss +19 -6
  424. package/styles/stack/_mixins.scss +49 -0
  425. package/styles/stack/_variables.scss +6 -0
  426. package/styles/stack/stack.scss +46 -0
  427. package/styles/view-switcher/_mixins.scss +2 -0
  428. package/dist/esm/chunks/chunk.24X566SZ.js.map +0 -7
  429. package/dist/esm/chunks/chunk.2CEW64ZM.js +0 -7
  430. package/dist/esm/chunks/chunk.2CEW64ZM.js.map +0 -7
  431. package/dist/esm/chunks/chunk.3G237L6C.js +0 -7
  432. package/dist/esm/chunks/chunk.3G237L6C.js.map +0 -7
  433. package/dist/esm/chunks/chunk.4YH3GB4D.js +0 -12
  434. package/dist/esm/chunks/chunk.4YH3GB4D.js.map +0 -7
  435. package/dist/esm/chunks/chunk.5EQPGUZH.js +0 -7
  436. package/dist/esm/chunks/chunk.5EQPGUZH.js.map +0 -7
  437. package/dist/esm/chunks/chunk.AGEBZY4S.js +0 -7
  438. package/dist/esm/chunks/chunk.AGEBZY4S.js.map +0 -7
  439. package/dist/esm/chunks/chunk.B5HGV5EZ.js +0 -7
  440. package/dist/esm/chunks/chunk.B5HGV5EZ.js.map +0 -7
  441. package/dist/esm/chunks/chunk.CN7DHS4J.js +0 -7
  442. package/dist/esm/chunks/chunk.CZIQTYFJ.js +0 -7
  443. package/dist/esm/chunks/chunk.CZIQTYFJ.js.map +0 -7
  444. package/dist/esm/chunks/chunk.DRI2NLIB.js +0 -7
  445. package/dist/esm/chunks/chunk.GXUYYBVO.js.map +0 -7
  446. package/dist/esm/chunks/chunk.HYMB3XDK.js +0 -9
  447. package/dist/esm/chunks/chunk.HYMB3XDK.js.map +0 -7
  448. package/dist/esm/chunks/chunk.N6QJ2RRG.js +0 -7
  449. package/dist/esm/chunks/chunk.N6QJ2RRG.js.map +0 -7
  450. package/dist/esm/chunks/chunk.NG5EGZ5Y.js +0 -7
  451. package/dist/esm/chunks/chunk.OTI6WL66.js +0 -7
  452. package/dist/esm/chunks/chunk.OTI6WL66.js.map +0 -7
  453. package/dist/esm/chunks/chunk.PYG4YVBA.js.map +0 -7
  454. package/dist/esm/chunks/chunk.QZHEP4X2.js +0 -29
  455. package/dist/esm/chunks/chunk.QZHEP4X2.js.map +0 -7
  456. package/dist/esm/chunks/chunk.R4NZYUID.js +0 -7
  457. package/dist/esm/chunks/chunk.R4NZYUID.js.map +0 -7
  458. package/dist/esm/chunks/chunk.RH2NL523.js +0 -7
  459. package/dist/esm/chunks/chunk.RH2NL523.js.map +0 -7
  460. package/dist/esm/chunks/chunk.STS5TIUV.js.map +0 -7
  461. package/dist/esm/chunks/chunk.T2M2KVP7.js +0 -29
  462. package/dist/esm/chunks/chunk.T2M2KVP7.js.map +0 -7
  463. package/dist/esm/chunks/chunk.XC76IHG4.js +0 -7
  464. package/dist/esm/chunks/chunk.XC76IHG4.js.map +0 -7
  465. package/dist/esm/chunks/chunk.ZQCHS2PS.js +0 -7
  466. package/dist/esm/chunks/chunk.ZQCHS2PS.js.map +0 -7
@@ -10,7 +10,7 @@ import { CircularProgressFoundation } from './circular-progress-foundation';
10
10
  import { CIRCULAR_PROGRESS_CONSTANTS } from './circular-progress-constants';
11
11
  import { BaseComponent } from '../core/base/base-component';
12
12
  const template = '<template><div class=\"mdc-circular-progress mdc-circular-progress--indeterminate\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"1\" part=\"root\"><slot></slot><div class=\"mdc-circular-progress__determinate-container\" part=\"determinate-container\"><svg class=\"mdc-circular-progress__determinate-circle-graphic\" viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\" part=\"determinate-svg\"><circle class=\"mdc-circular-progress__determinate-track\" cx=\"24\" cy=\"24\" r=\"18\" stroke-width=\"4\" part=\"determinate-svg-circle-track\"/><circle class=\"mdc-circular-progress__determinate-circle\" cx=\"24\" cy=\"24\" r=\"18\" stroke-dasharray=\"113.097\" stroke-dashoffset=\"113.097\" stroke-width=\"4\" part=\"determinate-svg-circle\"/></svg></div><div class=\"mdc-circular-progress__indeterminate-container\" part=\"indeterminate-container\"><div class=\"mdc-circular-progress__spinner-layer\" part=\"spinner-container\"><div class=\"mdc-circular-progress__circle-clipper mdc-circular-progress__circle-left\" part=\"spinner-circle-left\"><svg class=\"mdc-circular-progress__indeterminate-circle-graphic\" viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\" part=\"spinner-circle-left-svg\"><circle cx=\"24\" cy=\"24\" r=\"18\" stroke-dasharray=\"113.097\" stroke-dashoffset=\"56.549\" stroke-width=\"4\" part=\"spinner-circle-left-svg-circle\"/></svg></div><div class=\"mdc-circular-progress__gap-patch\" part=\"spinner-gap\"><svg class=\"mdc-circular-progress__indeterminate-circle-graphic\" viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\" part=\"spinner-gap-svg\"><circle cx=\"24\" cy=\"24\" r=\"18\" stroke-dasharray=\"113.097\" stroke-dashoffset=\"56.549\" stroke-width=\"3.2\" part=\"spinner-gap-svg-circle\"/></svg></div><div class=\"mdc-circular-progress__circle-clipper mdc-circular-progress__circle-right\" part=\"spinner-circle-right\"><svg class=\"mdc-circular-progress__indeterminate-circle-graphic\" viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\" part=\"spinner-circle-right-svg\"><circle cx=\"24\" cy=\"24\" r=\"18\" stroke-dasharray=\"113.097\" stroke-dashoffset=\"56.549\" stroke-width=\"4\" part=\"spinner-circle-right-svg-circle\"/></svg></div></div></div></div></template>';
13
- const styles = '.mdc-circular-progress__determinate-circle,.mdc-circular-progress__indeterminate-circle-graphic{stroke:#3d5afe;stroke:var(--forge-theme-tertiary,#3d5afe)}.mdc-circular-progress__determinate-track{stroke:transparent;stroke:var(--forge-circular-progress-track-color,transparent)}@-webkit-keyframes mdc-circular-progress-container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes mdc-circular-progress-container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes mdc-circular-progress-color-1-fade-in-out{from{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes mdc-circular-progress-color-1-fade-in-out{from{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@-webkit-keyframes mdc-circular-progress-color-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@-webkit-keyframes mdc-circular-progress-color-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@-webkit-keyframes mdc-circular-progress-color-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes mdc-circular-progress-color-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@-webkit-keyframes mdc-circular-progress-left-spin{from{-webkit-transform:rotate(265deg);transform:rotate(265deg)}50%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}to{-webkit-transform:rotate(265deg);transform:rotate(265deg)}}@keyframes mdc-circular-progress-left-spin{from{-webkit-transform:rotate(265deg);transform:rotate(265deg)}50%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}to{-webkit-transform:rotate(265deg);transform:rotate(265deg)}}@-webkit-keyframes mdc-circular-progress-right-spin{from{-webkit-transform:rotate(-265deg);transform:rotate(-265deg)}50%{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}to{-webkit-transform:rotate(-265deg);transform:rotate(-265deg)}}@keyframes mdc-circular-progress-right-spin{from{-webkit-transform:rotate(-265deg);transform:rotate(-265deg)}50%{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}to{-webkit-transform:rotate(-265deg);transform:rotate(-265deg)}}.mdc-circular-progress{height:72px;height:var(--forge-circular-progress-size,72px);width:72px;width:var(--forge-circular-progress-size,72px);display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;direction:ltr;-webkit-transition:opacity 250ms 0s cubic-bezier(.4, 0, .6, 1);transition:opacity 250ms 0s cubic-bezier(.4, 0, .6, 1)}.mdc-circular-progress circle{stroke-width:4;stroke-width:var(--forge-circular-progress-stroke-width,4)}.mdc-circular-progress ::slotted(*){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit)}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:transparent}.mdc-circular-progress__determinate-circle{-webkit-transition:stroke-dashoffset .5s 0s cubic-bezier(0, 0, .2, 1);transition:stroke-dashoffset .5s 0s cubic-bezier(0, 0, .2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;-webkit-box-sizing:border-box;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.mdc-circular-progress__circle-clipper{display:-webkit-inline-box;display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{-webkit-animation:mdc-circular-progress-container-rotate 1.568s linear infinite;animation:mdc-circular-progress-container-rotate 1.568s linear infinite}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{-webkit-animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-1{-webkit-animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-2{-webkit-animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-3{-webkit-animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-4{-webkit-animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--closed{opacity:0}';
13
+ const styles = '.mdc-circular-progress__determinate-circle,.mdc-circular-progress__indeterminate-circle-graphic{stroke:#3d5afe;stroke:var(--forge-theme-tertiary,#3d5afe)}.mdc-circular-progress__determinate-track{stroke:transparent;stroke:var(--forge-circular-progress-track-color,transparent)}@-webkit-keyframes mdc-circular-progress-container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes mdc-circular-progress-container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes mdc-circular-progress-color-1-fade-in-out{from{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes mdc-circular-progress-color-1-fade-in-out{from{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@-webkit-keyframes mdc-circular-progress-color-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@-webkit-keyframes mdc-circular-progress-color-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@-webkit-keyframes mdc-circular-progress-color-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes mdc-circular-progress-color-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@-webkit-keyframes mdc-circular-progress-left-spin{from{-webkit-transform:rotate(265deg);transform:rotate(265deg)}50%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}to{-webkit-transform:rotate(265deg);transform:rotate(265deg)}}@keyframes mdc-circular-progress-left-spin{from{-webkit-transform:rotate(265deg);transform:rotate(265deg)}50%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}to{-webkit-transform:rotate(265deg);transform:rotate(265deg)}}@-webkit-keyframes mdc-circular-progress-right-spin{from{-webkit-transform:rotate(-265deg);transform:rotate(-265deg)}50%{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}to{-webkit-transform:rotate(-265deg);transform:rotate(-265deg)}}@keyframes mdc-circular-progress-right-spin{from{-webkit-transform:rotate(-265deg);transform:rotate(-265deg)}50%{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}to{-webkit-transform:rotate(-265deg);transform:rotate(-265deg)}}.mdc-circular-progress{height:72px;height:var(--forge-circular-progress-size,72px);width:72px;width:var(--forge-circular-progress-size,72px);display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;direction:ltr;-webkit-transition:opacity 250ms 0s cubic-bezier(.4, 0, .6, 1);transition:opacity 250ms 0s cubic-bezier(.4, 0, .6, 1)}.mdc-circular-progress circle{stroke-width:4;stroke-width:var(--forge-circular-progress-stroke-width,4)}.mdc-circular-progress ::slotted(*){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-body1-font-size, 1rem);line-height:1.5rem;line-height:var(--mdc-typography-body1-line-height, 1.5rem);font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit)}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:transparent}.mdc-circular-progress__determinate-circle{-webkit-transition:stroke-dashoffset .5s 0s cubic-bezier(0, 0, .2, 1);transition:stroke-dashoffset .5s 0s cubic-bezier(0, 0, .2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;-webkit-box-sizing:border-box;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.mdc-circular-progress__circle-clipper{display:-webkit-inline-box;display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{-webkit-animation:mdc-circular-progress-container-rotate 1.568s linear infinite;animation:mdc-circular-progress-container-rotate 1.568s linear infinite}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{-webkit-animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-1{-webkit-animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-2{-webkit-animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-3{-webkit-animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-4{-webkit-animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdc-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{-webkit-animation:mdc-circular-progress-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdc-circular-progress-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{-webkit-animation:mdc-circular-progress-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:mdc-circular-progress-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.mdc-circular-progress--closed{opacity:0}';
14
14
  /**
15
15
  * The web component class behind the `<forge-circular-progress>` custom element.
16
16
  *
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { InputMask } from 'imask';
7
+ import { TimeSegmentType } from './time-segment-parser';
8
+ export declare const SEGMENT_CURSOR_POSITION: {
9
+ 'hours-start': number;
10
+ 'hours-end': number;
11
+ 'minutes-start': number;
12
+ 'minutes-end': number;
13
+ 'seconds-start': number;
14
+ 'seconds-end': number;
15
+ 'meridiem-start': number;
16
+ 'meridiem-end': number;
17
+ };
18
+ export declare class IntermediateTimeParser {
19
+ private _char;
20
+ private _mask;
21
+ private segmentParser;
22
+ constructor(_char: string, _mask: InputMask<IMask.AnyMaskedOptions>);
23
+ get value(): string;
24
+ get numChar(): number;
25
+ get asPaddedChar(): string;
26
+ private _normalizeTimeString;
27
+ get isAllSelected(): boolean;
28
+ /** Determines if this is the first non-zero hours character being entered. */
29
+ get isFirstHoursChar(): boolean;
30
+ /** Determines if this is the first minutes char being entered */
31
+ get isFirstMinutesChar(): boolean;
32
+ get isFirstSecondsChar(): boolean;
33
+ get isFinalHoursChar(): boolean;
34
+ get isFinalMinutesChar(): boolean;
35
+ get isFinalSecondsChar(): boolean;
36
+ get isInitialHoursEntry(): boolean;
37
+ get hasOnlyHoursSegment(): boolean;
38
+ get hoursSegmentNum(): number;
39
+ get minutesSegmentNum(): number;
40
+ get secondsSegmentNum(): number;
41
+ get canOverwriteHoursChar(): boolean;
42
+ get canOverwriteMinutesChar(): boolean;
43
+ get canOverwriteSecondsChar(): boolean;
44
+ reset(): void;
45
+ patchSegmentValue(type: TimeSegmentType, value: string, { overwrite }?: {
46
+ overwrite?: boolean | undefined;
47
+ }): string;
48
+ applyValue(value: string, cursorPos?: keyof typeof SEGMENT_CURSOR_POSITION): void;
49
+ }
@@ -0,0 +1,106 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import { TimeSegmentParser } from './time-segment-parser';
7
+ export const SEGMENT_CURSOR_POSITION = {
8
+ 'hours-start': 0,
9
+ 'hours-end': 2,
10
+ 'minutes-start': 3,
11
+ 'minutes-end': 5,
12
+ 'seconds-start': 6,
13
+ 'seconds-end': 8,
14
+ 'meridiem-start': 9,
15
+ 'meridiem-end': 11
16
+ };
17
+ export class IntermediateTimeParser {
18
+ constructor(_char, _mask) {
19
+ this._char = _char;
20
+ this._mask = _mask;
21
+ this.segmentParser = new TimeSegmentParser(this._mask.value);
22
+ }
23
+ get value() {
24
+ return this.isAllSelected ? '' : this._normalizeTimeString(this._mask.value);
25
+ }
26
+ get numChar() {
27
+ return Number(this._char);
28
+ }
29
+ get asPaddedChar() {
30
+ return String(this.numChar).padStart(2, '0');
31
+ }
32
+ _normalizeTimeString(str) {
33
+ // Remove all whitespace and placeholder chars
34
+ let value = str.replace(/\s+|_/g, '');
35
+ // If the time value only contains separator chars (:) then we can assume it's empty (applicable when the mask format is visible)
36
+ if (/^:+$/.test(value)) {
37
+ value = '';
38
+ }
39
+ return value;
40
+ }
41
+ get isAllSelected() {
42
+ // eslint-disable-next-line @typescript-eslint/dot-notation
43
+ const { start, end } = this._mask['_selection'];
44
+ return start === 0 && end > 0 && end === this._mask.value.length;
45
+ }
46
+ /** Determines if this is the first non-zero hours character being entered. */
47
+ get isFirstHoursChar() {
48
+ return this._mask.cursorPos === 1 && this.numChar > 0;
49
+ }
50
+ /** Determines if this is the first minutes char being entered */
51
+ get isFirstMinutesChar() {
52
+ return [3, 4].includes(this._mask.cursorPos) && this.segmentParser.minutes.length !== 2;
53
+ }
54
+ get isFirstSecondsChar() {
55
+ return [6, 7].includes(this._mask.cursorPos) && this.segmentParser.seconds.length !== 2;
56
+ }
57
+ get isFinalHoursChar() {
58
+ return this._mask.cursorPos === 3 && this.segmentParser.hours.length === 2;
59
+ }
60
+ get isFinalMinutesChar() {
61
+ return this._mask.cursorPos === 6 && this.segmentParser.minutes.length === 2;
62
+ }
63
+ get isFinalSecondsChar() {
64
+ return this._mask.cursorPos === 9 && this.segmentParser.seconds.length === 2;
65
+ }
66
+ get isInitialHoursEntry() {
67
+ return this.segmentParser.hours.length === 0;
68
+ }
69
+ get hasOnlyHoursSegment() {
70
+ return !!this.segmentParser.hours && !this.segmentParser.minutes && !this.segmentParser.seconds;
71
+ }
72
+ get hoursSegmentNum() {
73
+ return Number(this.segmentParser.hours);
74
+ }
75
+ get minutesSegmentNum() {
76
+ return Number(this.segmentParser.minutes);
77
+ }
78
+ get secondsSegmentNum() {
79
+ return Number(this.segmentParser.seconds);
80
+ }
81
+ get canOverwriteHoursChar() {
82
+ return this._mask.cursorPos === 3 && !!this.segmentParser.hours.length && this.hoursSegmentNum < 3;
83
+ }
84
+ get canOverwriteMinutesChar() {
85
+ return [5, 6].includes(this._mask.cursorPos) && !!this.segmentParser.minutes.length && this.minutesSegmentNum < 60;
86
+ }
87
+ get canOverwriteSecondsChar() {
88
+ return [8, 9].includes(this._mask.cursorPos) && !!this.segmentParser.seconds.length && this.secondsSegmentNum < 60;
89
+ }
90
+ reset() {
91
+ this.segmentParser.applyValue('');
92
+ }
93
+ patchSegmentValue(type, value, { overwrite = false } = {}) {
94
+ if (overwrite) {
95
+ this.reset();
96
+ }
97
+ this.segmentParser.patchSegmentValue(type, value);
98
+ return this.segmentParser.toString();
99
+ }
100
+ applyValue(value, cursorPos) {
101
+ this._mask.unmaskedValue = value;
102
+ if (cursorPos !== undefined) {
103
+ window.requestAnimationFrame(() => this._mask.updateCursor(SEGMENT_CURSOR_POSITION[cursorPos]));
104
+ }
105
+ }
106
+ }
@@ -29,7 +29,6 @@ export declare class TimeInputMask {
29
29
  private _createOptions;
30
30
  private _prepare;
31
31
  private _prepareDefault;
32
- private _setMaskedValueAdjusted;
33
32
  private _getMaskFormat;
34
33
  get maskedValue(): string;
35
34
  set maskedValue(value: string);
@@ -3,8 +3,9 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { InputMask, createMask, MaskedEnum } from 'imask';
7
6
  import { isNumeric } from '@tylertech/forge-core';
7
+ import { createMask, InputMask, MaskedEnum } from 'imask';
8
+ import { IntermediateTimeParser } from './intermediate-time-parser';
8
9
  export const TWELVE_HOUR_TIME_MASK = '0`0{:}`0`0 `AM';
9
10
  export const TWELVE_HOUR_TIME_MASK_WITH_SECONDS = '0`0{:}`0`0{:}`0`0 `AM';
10
11
  export const TWENTY_FOUR_HOUR_TIME_MASK = '0`0{:}`0`0';
@@ -57,90 +58,110 @@ export class TimeInputMask {
57
58
  };
58
59
  }
59
60
  _prepare(value, masked, flags, maskInstance) {
61
+ var _a;
60
62
  if (typeof this._options.prepareCallback === 'function') {
61
63
  return this._options.prepareCallback.call(null, value, masked, flags, this._mask);
62
64
  }
63
- return this._prepareDefault(value, masked, flags, maskInstance).toUpperCase();
64
- }
65
- _prepareDefault(value, masked, flags, maskInstance) {
66
65
  if (!flags.input || !value.length || !maskInstance) {
67
- return value;
66
+ return value.toUpperCase();
68
67
  }
68
+ // Whenever we paste text we don't care to send it through our custom prepare logic,
69
+ // so just return the character being processed.
69
70
  // eslint-disable-next-line @typescript-eslint/dot-notation
70
- const isAllSelected = maskInstance['_selection'] && maskInstance['_selection'].end === 8;
71
- const currentValue = isAllSelected ? '' : maskInstance.value;
72
- if (!isNumeric(value)) {
71
+ if (((_a = maskInstance['_inputEvent']) === null || _a === void 0 ? void 0 : _a.inputType) !== 'insertText') {
72
+ return value;
73
+ }
74
+ return this._prepareDefault(value, maskInstance).toUpperCase();
75
+ }
76
+ _prepareDefault(char, maskInstance) {
77
+ const parser = new IntermediateTimeParser(char, maskInstance);
78
+ // Handle non-numeric character entry here
79
+ if (!isNumeric(char)) {
73
80
  // Before we ignore this character let's do some checks for common scenarios where the user enters a colon to help with coercion
74
- if (value === ':') {
75
- const isFinalHoursChar = maskInstance.cursorPos === 2 && currentValue.length === 1;
76
- if (isFinalHoursChar) {
81
+ if (char === ':') {
82
+ if (parser.isFinalHoursChar) {
77
83
  // The user attempted to press the colon key after entering a single hour character so let's pad the value
78
- this._setMaskedValueAdjusted(currentValue.padStart(2, '0'), 3);
79
- return ':';
84
+ const newValue = parser.patchSegmentValue('hours', parser.value);
85
+ parser.applyValue(newValue, 'minutes-start');
86
+ return char;
80
87
  }
81
- const isFinalMinutesChar = maskInstance.cursorPos === 5 && currentValue.length === 4;
82
- if (isFinalMinutesChar) {
88
+ if (parser.isFinalMinutesChar) {
83
89
  // The user attempted to press the colon key after entering a single minute character so let's pad the value
84
- const newValue = `${currentValue.substring(0, 3)}${currentValue[3].padStart(2, '0').padStart(2, '0')}`;
85
- this._setMaskedValueAdjusted(newValue, 3);
86
- return ':';
90
+ const newValue = parser.patchSegmentValue('minutes', String(parser.minutesSegmentNum));
91
+ parser.applyValue(newValue, this._options.showSeconds ? 'seconds-start' : 'minutes-end');
92
+ return char;
87
93
  }
88
- if (this._options.showSeconds) {
89
- const isFinalSecondsChar = maskInstance.cursorPos === 8 && currentValue.length === 6;
90
- if (isFinalSecondsChar) {
91
- // The user attempted to press the colon key after entering a single second character so let's pad the value
92
- const newValue = `${currentValue.substring(0, 6)}${currentValue[5].padStart(2, '0')}${currentValue.slice(8)}`;
93
- this._setMaskedValueAdjusted(newValue, 3);
94
- return ':';
95
- }
94
+ if (this._options.showSeconds && parser.isFinalSecondsChar) {
95
+ // The user attempted to press the colon key after entering a single second character so let's pad the value
96
+ const newValue = parser.patchSegmentValue('seconds', String(parser.secondsSegmentNum));
97
+ parser.applyValue(newValue, 'meridiem-start');
98
+ return char;
96
99
  }
97
100
  }
98
- return value;
101
+ return char;
99
102
  }
100
- const numValue = +value;
101
- // Attempt to pad a leading zero to the hours segment
102
- const isFirstHourChar = maskInstance.cursorPos === 1 && numValue > 2;
103
- if (isFirstHourChar) {
103
+ // If all of the text is selected, we can safely assume the whole value is being overwritten
104
+ if (parser.isAllSelected) {
105
+ parser.reset();
106
+ }
107
+ // Attempt to pad a leading zero to the hours segment on initial entry only
108
+ if (parser.isInitialHoursEntry && parser.isFirstHoursChar) {
104
109
  // Replace just the hours segment with the padded value and update cursor position
105
- const newValue = `${String(numValue).padStart(2, '0')}${currentValue.slice(2)}`;
106
- this._setMaskedValueAdjusted(newValue, 3);
110
+ const newValue = parser.patchSegmentValue('hours', parser.asPaddedChar);
111
+ parser.applyValue(newValue, 'hours-end');
107
112
  return ':';
108
113
  }
114
+ // Attempt to overwrite the hours (w/leading zero)
115
+ if (parser.hasOnlyHoursSegment && parser.canOverwriteHoursChar) {
116
+ const numNewHour = +`${parser.hoursSegmentNum}${parser.numChar}`;
117
+ if (numNewHour <= 12 || (this._options.use24HourTime && numNewHour <= 23)) {
118
+ // Overwrite the hours segment with the entered char concatenated with the previous entry value
119
+ const newValue = parser.patchSegmentValue('hours', String(numNewHour));
120
+ parser.applyValue(newValue, 'minutes-start');
121
+ return ':';
122
+ }
123
+ }
124
+ // Check if we are entering the last hour value and automatically move to the minutes segment for next entry
125
+ if (parser.value.length + 1 === 2) {
126
+ return `${char}:`;
127
+ }
109
128
  // Attempt to pad a leading zero to the minutes segment
110
- const isFirstMinuteChar = (maskInstance.cursorPos === 3 || maskInstance.cursorPos === 4) && numValue > 5;
111
- if (isFirstMinuteChar) {
129
+ if (parser.isFirstMinutesChar) {
112
130
  // Replace just the minute segment with the padded value and update cursor position
113
- const newValue = `${currentValue.substring(0, 3)}${String(numValue).padStart(2, '0')}${currentValue.slice(5)}`;
114
- this._setMaskedValueAdjusted(newValue, 3);
131
+ const newValue = parser.patchSegmentValue('minutes', parser.asPaddedChar);
132
+ parser.applyValue(newValue, 'minutes-end');
115
133
  return ':';
116
134
  }
117
- // Attempt to pad a leading zero to the seconds segment
118
- if (this._options.showSeconds) {
119
- const isFirstSecondChar = (maskInstance.cursorPos === 6 || maskInstance.cursorPos === 7) && numValue > 5;
120
- if (isFirstSecondChar) {
121
- // Replace just the second segment with the padded value and update cursor position
122
- const newValue = `${currentValue.substring(0, 6)}${String(numValue).padStart(2, '0')}${currentValue.slice(8)}`;
123
- this._setMaskedValueAdjusted(newValue, 3);
135
+ // Attempt to overwrite the minutes (w/leading zero)
136
+ if (parser.canOverwriteMinutesChar) {
137
+ const numNewMins = +`${parser.minutesSegmentNum}${parser.numChar}`;
138
+ if (numNewMins < 60) {
139
+ // Overwrite the hours segment with the entered char concatenated with the previous entry value
140
+ const newValue = parser.patchSegmentValue('minutes', String(numNewMins));
141
+ parser.applyValue(newValue, 'minutes-end');
124
142
  return ':';
125
143
  }
126
144
  }
127
- // Attempt to automatically add a colon after the hours or minutes segment is complete and/or move cursor to after colon
128
- if (!this._options.showMaskFormat && (maskInstance.cursorPos === 2 || (this._options.showSeconds && maskInstance.cursorPos === 5))) {
129
- let newValue;
130
- if (maskInstance.cursorPos === 2) {
131
- newValue = `${currentValue.substring(0, 1)}${numValue}:${currentValue.slice(3)}`;
145
+ if (this._options.showSeconds) {
146
+ // Attempt to pad a leading zero to the seconds segment
147
+ if (parser.isFirstSecondsChar) {
148
+ // Replace just the seconds segment with the padded value and update cursor position
149
+ const newValue = parser.patchSegmentValue('seconds', parser.asPaddedChar);
150
+ parser.applyValue(newValue, 'seconds-end');
151
+ return ':';
132
152
  }
133
- else {
134
- newValue = `${currentValue.substring(0, 4)}${numValue}:${currentValue.slice(6)}`;
153
+ // Attempt to overwrite the seconds (w/leading zero)
154
+ if (parser.canOverwriteSecondsChar) {
155
+ const numNewSeconds = +`${parser.secondsSegmentNum}${parser.numChar}`;
156
+ if (numNewSeconds < 60) {
157
+ // Overwrite the seconds segment with the entered char concatenated with the previous entry value
158
+ const newValue = parser.patchSegmentValue('seconds', String(numNewSeconds));
159
+ parser.applyValue(newValue, 'seconds-end');
160
+ return ':';
161
+ }
135
162
  }
136
- this._setMaskedValueAdjusted(newValue, 2);
137
- return '';
138
163
  }
139
- return value;
140
- }
141
- _setMaskedValueAdjusted(value, position) {
142
- this._mask.unmaskedValue = value;
143
- window.requestAnimationFrame(() => this._mask.updateCursor(this._mask.cursorPos + position));
164
+ return char;
144
165
  }
145
166
  _getMaskFormat() {
146
167
  if (this._options.use24HourTime) {
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ export declare type TimeSegmentType = 'hours' | 'minutes' | 'seconds' | 'meridiem';
7
+ export interface ISegmentDescriptor {
8
+ segment: TimeSegmentType;
9
+ value: string;
10
+ }
11
+ export declare class TimeSegmentParser {
12
+ private _segments;
13
+ constructor(timeStr: string);
14
+ get hours(): string;
15
+ get minutes(): string;
16
+ get seconds(): string;
17
+ get meridiem(): string;
18
+ applyValue(timeStr: string): void;
19
+ patchSegmentValue(type: TimeSegmentType, value: string): string;
20
+ toString(): string;
21
+ private _parseSegments;
22
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ const SEGMENT_INDEX_DICT = {
7
+ hours: 0,
8
+ minutes: 1,
9
+ seconds: 2,
10
+ meridiem: 3
11
+ };
12
+ export class TimeSegmentParser {
13
+ constructor(timeStr) {
14
+ this._segments = this._parseSegments(timeStr);
15
+ }
16
+ get hours() {
17
+ return this._segments[SEGMENT_INDEX_DICT.hours];
18
+ }
19
+ get minutes() {
20
+ return this._segments[SEGMENT_INDEX_DICT.minutes];
21
+ }
22
+ get seconds() {
23
+ return this._segments[SEGMENT_INDEX_DICT.seconds];
24
+ }
25
+ get meridiem() {
26
+ return this._segments[SEGMENT_INDEX_DICT.meridiem];
27
+ }
28
+ applyValue(timeStr) {
29
+ this._segments = this._parseSegments(timeStr);
30
+ }
31
+ patchSegmentValue(type, value) {
32
+ const index = SEGMENT_INDEX_DICT[type];
33
+ this._segments[index] = value.padStart(2, '0');
34
+ return this._segments[index];
35
+ }
36
+ toString() {
37
+ const [hours, minutes, seconds, meridiem] = this._segments;
38
+ const timeStr = [hours, minutes, seconds].filter(v => !!v.length);
39
+ return `${timeStr.join(':')}${meridiem}`;
40
+ }
41
+ _parseSegments(timeStr) {
42
+ const [time, meridiem = ''] = timeStr.trim().replace(/\s+|_/g, '').split(/([AaPp][Mm]?)/);
43
+ const [hours = '', minutes = '', seconds = ''] = time.split(':');
44
+ return [hours, minutes, seconds, meridiem];
45
+ }
46
+ }
@@ -6,6 +6,7 @@
6
6
  export declare const TWENTY_FOUR_HOUR_TIME_REGEX: RegExp;
7
7
  export declare const TWELVE_HOUR_TIME_REGEX: RegExp;
8
8
  export declare const PARSEABLE_TIME_FORMAT: RegExp;
9
+ export declare const HAS_MERIDIEM_REGEX: RegExp;
9
10
  export declare function tokenize24HourTimeString(value: string): {
10
11
  hours: string;
11
12
  minutes: string;
@@ -5,7 +5,8 @@
5
5
  */
6
6
  export const TWENTY_FOUR_HOUR_TIME_REGEX = /^(0?[0-9]|1\d|2[0-3]):([0-5]\d)(:([0-5]\d))?$/;
7
7
  export const TWELVE_HOUR_TIME_REGEX = /^(0?[1-9]|1[0-2]):([0-5]\d)(:([0-5]\d))?\s*([AaPp][Mm])?$/;
8
- export const PARSEABLE_TIME_FORMAT = /^(\d\d?):?(\d\d?)(:?(\d?\d?))?\s*([AaPp][Mm]?)?$/;
8
+ export const PARSEABLE_TIME_FORMAT = /^(\d?\d?):?(\d?\d?)(:?(\d?\d?))?\s*([AaPp][Mm]?)?$/;
9
+ export const HAS_MERIDIEM_REGEX = /[AaPp][Mm]?/;
9
10
  export function tokenize24HourTimeString(value) {
10
11
  const matches = value.match(TWENTY_FOUR_HOUR_TIME_REGEX) || [null, 0, 0, null, 0];
11
12
  const hours = matches[1];
@@ -27,7 +28,7 @@ export function isSupportedTimeFormat(value) {
27
28
  }
28
29
  export function tryCoerceTimeString(str, use24HourTime, allowSeconds) {
29
30
  str = str && typeof str === 'string' ? str.replace(/_|\s/g, '') : '';
30
- if (/^\s*$/.test(str)) {
31
+ if (/^\s*$/.test(str) || /^:+$/.test(str)) {
31
32
  return '';
32
33
  }
33
34
  const matches = str.match(PARSEABLE_TIME_FORMAT);
@@ -38,11 +39,26 @@ export function tryCoerceTimeString(str, use24HourTime, allowSeconds) {
38
39
  let minutesStr = matches[2];
39
40
  let secondsStr = matches[4];
40
41
  let meridiem = matches[5];
42
+ // Special case detection for meridiem
43
+ const meridiemMatches = str.match(HAS_MERIDIEM_REGEX);
44
+ if (meridiemMatches) {
45
+ meridiem = meridiemMatches[0];
46
+ str = str.replace(meridiem, ''); // Remove the meridiem from the input string our next special case
47
+ // We allow for entering an "a" or "p" shorthand so let's coerce it to the proper value
48
+ if (meridiem.length === 1) {
49
+ meridiem += 'm';
50
+ }
51
+ }
52
+ // Special case handling for 3-digit "shorthand" time values (ex. "130" => "1:30 AM")
53
+ if (str.length === 3 && !str.includes(':')) {
54
+ hoursStr = str[0];
55
+ minutesStr = str.substring(1);
56
+ }
41
57
  // Normalize the meridiem string
42
58
  if (use24HourTime) {
43
59
  meridiem = '';
44
60
  }
45
- else if (/[AaPp][Mm]/.test(meridiem)) {
61
+ else if (HAS_MERIDIEM_REGEX.test(meridiem)) {
46
62
  meridiem = meridiem.toUpperCase();
47
63
  }
48
64
  else {
@@ -68,6 +84,7 @@ export function tryCoerceTimeString(str, use24HourTime, allowSeconds) {
68
84
  else if (hoursNum < 0) {
69
85
  hoursStr = '00';
70
86
  }
87
+ hoursStr = hoursStr.padStart(2, '0');
71
88
  // Clamp and normalize minutes
72
89
  if (minutesStr !== undefined) {
73
90
  if (minutesNum > 59) {
@@ -188,8 +188,8 @@ export class DialogFoundation {
188
188
  this._adapter.captureActiveElement();
189
189
  const bounds = this._adapter.getSurfaceBounds();
190
190
  this._moveContext = {
191
- top: evt.clientY - bounds.top,
192
- left: evt.clientX - bounds.left,
191
+ top: evt.pageY - bounds.top,
192
+ left: evt.pageX - bounds.left,
193
193
  height: bounds.height,
194
194
  width: bounds.width
195
195
  };
@@ -11,7 +11,7 @@ import { ModalDrawerAdapter } from './modal-drawer-adapter';
11
11
  import { MODAL_DRAWER_CONSTANTS } from './modal-drawer-constants';
12
12
  import { ModalDrawerFoundation } from './modal-drawer-foundation';
13
13
  const template = '<template><forge-backdrop class=\"forge-drawer__scrim\" hidden part=\"scrim\"></forge-backdrop><div class=\"forge-drawer forge-drawer--modal\" part=\"root\"><slot name=\"header\"></slot><div class=\"forge-drawer__content\" part=\"content\"><slot></slot></div><slot name=\"footer\"></slot></div></template>';
14
- const styles = '.forge-drawer{width:256px;width:var(--forge-drawer-width,256px);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow:hidden;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.forge-drawer ::slotted([slot=header]){grid-row:1}.forge-drawer ::slotted([slot=footer]){grid-row:3}.forge-drawer__content{overflow-x:auto;-webkit-overflow-scrolling:\"touch\";display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;grid-row:2}.forge-drawer__content::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-drawer__content::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-drawer__content::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-drawer__content::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-drawer__content::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-drawer__content::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-drawer--left{border-right-width:1px;border-right-style:solid}.forge-drawer--right{border-left-width:1px;border-left-style:solid}.forge-drawer--right.forge-drawer--closing{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--right.forge-drawer--closed{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;width:0;border:none}.forge-drawer--closing{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--closed{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;width:0;border:none}.forge-drawer--no-transition{-webkit-transition:none!important;transition:none!important}.forge-drawer--modal{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);z-index:8;z-index:var(--forge-z-index-dialog,8);position:absolute;top:0;max-width:80%}.forge-drawer--modal+.mdc-drawer-scrim{background-color:rgba(0,0,0,.32)}.forge-drawer--modal.forge-drawer--closed,.forge-drawer--modal.forge-drawer--closing{-webkit-box-shadow:none;box-shadow:none}.forge-drawer--modal.forge-drawer--closing.forge-drawer--right{-webkit-transform:translateX(100%);transform:translateX(100%)}.forge-drawer__scrim{z-index:8;z-index:var(--forge-z-index-dialog,8)}.forge-drawer__scrim--closed{display:none}.forge-drawer.forge-drawer--right{right:0}.forge-drawer--display-none{display:none!important}';
14
+ const styles = '.forge-drawer{width:256px;width:var(--forge-drawer-width,256px);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow:hidden;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.forge-drawer ::slotted([slot=header]){grid-row:1}.forge-drawer ::slotted([slot=footer]){grid-row:3}.forge-drawer__content{overflow-x:auto;-webkit-overflow-scrolling:\"touch\";display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;grid-row:2}.forge-drawer__content::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-drawer__content::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-drawer__content::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-drawer__content::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-drawer__content::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-drawer__content::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-drawer--left{border-right-width:1px;border-right-style:solid}.forge-drawer--right{border-left-width:1px;border-left-style:solid}.forge-drawer--right.forge-drawer--closing{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--right.forge-drawer--closed{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;width:0;border:none}.forge-drawer--closing{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--closed{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;width:0;border:none}.forge-drawer--no-transition{-webkit-transition:none!important;transition:none!important}.forge-drawer--modal{-webkit-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);z-index:8;z-index:var(--forge-z-index-dialog,8);position:absolute;top:0;max-width:80%}.forge-drawer--modal+.mdc-drawer-scrim{background-color:rgba(0,0,0,.32)}.forge-drawer--modal.forge-drawer--closed,.forge-drawer--modal.forge-drawer--closing{-webkit-box-shadow:none;box-shadow:none}.forge-drawer--modal.forge-drawer--closing.forge-drawer--right{-webkit-transform:translateX(100%);transform:translateX(100%)}.forge-drawer__scrim{z-index:8;z-index:var(--forge-z-index-dialog,8)}.forge-drawer__scrim--closed{display:none}.forge-drawer.forge-drawer--right{right:0}.forge-drawer--display-none{display:none!important}';
15
15
  /**
16
16
  * The web component class behind the `<forge-modal-drawer>` custom element.
17
17
  *
package/esm/index.d.ts CHANGED
@@ -65,6 +65,7 @@ export * from './tooltip';
65
65
  export * from './utils';
66
66
  export * from './view-switcher';
67
67
  export * from './icon';
68
+ export * from './stack';
68
69
  /**
69
70
  * Registers all components in the library with the browser.
70
71
  */
package/esm/index.js CHANGED
@@ -69,6 +69,7 @@ import { TooltipComponent } from './tooltip';
69
69
  import { ViewComponent, ViewSwitcherComponent } from './view-switcher';
70
70
  import { IconComponent } from './icon';
71
71
  import { SelectDropdownComponent } from './select/select-dropdown';
72
+ import { StackComponent } from './stack';
72
73
  export * from './accordion';
73
74
  export * from './app-bar';
74
75
  export * from './autocomplete';
@@ -131,6 +132,7 @@ export * from './tooltip';
131
132
  export * from './utils';
132
133
  export * from './view-switcher';
133
134
  export * from './icon';
135
+ export * from './stack';
134
136
  const CUSTOM_ELEMENTS = [
135
137
  AccordionComponent,
136
138
  AvatarComponent,
@@ -192,6 +194,7 @@ const CUSTOM_ELEMENTS = [
192
194
  SkeletonComponent,
193
195
  SliderComponent,
194
196
  SplitViewComponent,
197
+ StackComponent,
195
198
  StepperComponent,
196
199
  StepComponent,
197
200
  SwitchComponent,