@tylertech/forge 2.8.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/custom-elements.json +4525 -246
  2. package/dist/esm/accordion/index.js +1 -34
  3. package/dist/esm/app-bar/help-button/index.js +1 -53
  4. package/dist/esm/app-bar/index.js +1 -131
  5. package/dist/esm/app-bar/menu-button/index.js +1 -36
  6. package/dist/esm/app-bar/notification-button/index.js +1 -41
  7. package/dist/esm/app-bar/profile-button/index.js +1 -46
  8. package/dist/esm/app-bar/search/index.js +1 -38
  9. package/dist/esm/autocomplete/index.js +1 -72
  10. package/dist/esm/avatar/index.js +1 -27
  11. package/dist/esm/backdrop/index.js +1 -22
  12. package/dist/esm/badge/index.js +1 -25
  13. package/dist/esm/banner/index.js +1 -40
  14. package/dist/esm/bottom-sheet/index.js +1 -40
  15. package/dist/esm/busy-indicator/index.js +1 -33
  16. package/dist/esm/button/index.js +1 -25
  17. package/dist/esm/button-toggle/button-toggle/index.js +1 -27
  18. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -26
  19. package/dist/esm/button-toggle/index.js +1 -40
  20. package/dist/esm/calendar/calendar-dropdown/index.js +1 -30
  21. package/dist/esm/calendar/calendar-menu/index.js +1 -43
  22. package/dist/esm/calendar/core/index.js +1 -7
  23. package/dist/esm/calendar/index.js +1 -194
  24. package/dist/esm/card/index.js +1 -16
  25. package/dist/esm/checkbox/index.js +1 -39
  26. package/dist/esm/chip-field/index.js +1 -46
  27. package/dist/esm/chips/chip/index.js +1 -37
  28. package/dist/esm/chips/chip-set/index.js +1 -37
  29. package/dist/esm/chips/index.js +1 -50
  30. package/dist/esm/chunks/chunk.23VA56ZY.js +7 -0
  31. package/dist/esm/chunks/{chunk.M3O5VPDD.js.map → chunk.23VA56ZY.js.map} +1 -1
  32. package/dist/esm/chunks/chunk.24D46RLZ.js +7 -0
  33. package/dist/esm/chunks/{chunk.HZISALRH.js.map → chunk.24D46RLZ.js.map} +1 -1
  34. package/dist/esm/chunks/chunk.2A3CKLXJ.js +7 -0
  35. package/dist/esm/chunks/{chunk.U5ECVIX5.js.map → chunk.2A3CKLXJ.js.map} +1 -1
  36. package/dist/esm/chunks/chunk.2GY2VPJG.js +7 -0
  37. package/dist/esm/chunks/{chunk.FWJ7SIFA.js.map → chunk.2GY2VPJG.js.map} +1 -1
  38. package/dist/esm/chunks/chunk.2YGKMENJ.js +7 -0
  39. package/dist/esm/chunks/chunk.2YGKMENJ.js.map +7 -0
  40. package/dist/esm/chunks/chunk.33Q5FK2H.js +7 -0
  41. package/dist/esm/chunks/{chunk.LX2HDAIF.js.map → chunk.33Q5FK2H.js.map} +2 -2
  42. package/dist/esm/chunks/chunk.35U4OX7S.js +7 -0
  43. package/dist/esm/chunks/{chunk.E26BROOG.js.map → chunk.35U4OX7S.js.map} +1 -1
  44. package/dist/esm/chunks/chunk.3E5QKMHL.js +7 -0
  45. package/dist/esm/chunks/{chunk.VK6LIH3B.js.map → chunk.3E5QKMHL.js.map} +1 -1
  46. package/dist/esm/chunks/chunk.444GNOS4.js +7 -0
  47. package/dist/esm/chunks/{chunk.FZ6KICMD.js.map → chunk.444GNOS4.js.map} +1 -1
  48. package/dist/esm/chunks/chunk.54QFNVMG.js +7 -0
  49. package/dist/esm/chunks/{chunk.6ZBFCE2A.js.map → chunk.54QFNVMG.js.map} +1 -1
  50. package/dist/esm/chunks/chunk.57XBS3DF.js +7 -0
  51. package/dist/esm/chunks/chunk.57XBS3DF.js.map +7 -0
  52. package/dist/esm/chunks/chunk.5HUDHTAK.js +7 -0
  53. package/dist/esm/chunks/chunk.5HUDHTAK.js.map +7 -0
  54. package/dist/esm/chunks/chunk.5QK7XR2W.js +7 -0
  55. package/dist/esm/chunks/{chunk.EUPO2VO2.js.map → chunk.5QK7XR2W.js.map} +1 -1
  56. package/dist/esm/chunks/chunk.5SRA2RH3.js +7 -0
  57. package/dist/esm/chunks/chunk.5SRA2RH3.js.map +7 -0
  58. package/dist/esm/chunks/chunk.5WMEFHVN.js +7 -0
  59. package/dist/esm/chunks/{chunk.35BJJH5E.js.map → chunk.5WMEFHVN.js.map} +1 -1
  60. package/dist/esm/chunks/chunk.5XQVZQ4U.js +7 -0
  61. package/dist/esm/chunks/chunk.5XQVZQ4U.js.map +7 -0
  62. package/dist/esm/chunks/chunk.6APYGKNX.js +7 -0
  63. package/dist/esm/chunks/{chunk.ZSHQMR4O.js.map → chunk.6APYGKNX.js.map} +1 -1
  64. package/dist/esm/chunks/chunk.6BKOGBE6.js +7 -0
  65. package/dist/esm/chunks/chunk.6BKOGBE6.js.map +7 -0
  66. package/dist/esm/chunks/chunk.6P6VQMTU.js +7 -0
  67. package/dist/esm/chunks/chunk.6P6VQMTU.js.map +7 -0
  68. package/dist/esm/chunks/chunk.7GT5LOI3.js +7 -0
  69. package/dist/esm/chunks/{chunk.V6Q2SM6Y.js.map → chunk.7GT5LOI3.js.map} +1 -1
  70. package/dist/esm/chunks/chunk.7JTKKFL4.js +7 -0
  71. package/dist/esm/chunks/{chunk.GWNR3UUX.js.map → chunk.7JTKKFL4.js.map} +1 -1
  72. package/dist/esm/chunks/chunk.7NXPOEXV.js +7 -0
  73. package/dist/esm/chunks/{chunk.7UAH67PT.js.map → chunk.7NXPOEXV.js.map} +1 -1
  74. package/dist/esm/chunks/chunk.7TQYFMM4.js +7 -0
  75. package/dist/esm/chunks/{chunk.WSH4S3GM.js.map → chunk.7TQYFMM4.js.map} +1 -1
  76. package/dist/esm/chunks/chunk.7WWP6WI6.js +7 -0
  77. package/dist/esm/chunks/chunk.7WWP6WI6.js.map +7 -0
  78. package/dist/esm/chunks/chunk.7ZS4N2FT.js +8 -0
  79. package/dist/esm/chunks/{chunk.WIYLQTSX.js.map → chunk.7ZS4N2FT.js.map} +1 -1
  80. package/dist/esm/chunks/chunk.A23NSEWA.js +7 -0
  81. package/dist/esm/chunks/{chunk.KZATVOA6.js.map → chunk.A23NSEWA.js.map} +1 -1
  82. package/dist/esm/chunks/chunk.A6I4EIPW.js +7 -0
  83. package/dist/esm/chunks/{chunk.L4OUV7W6.js.map → chunk.A6I4EIPW.js.map} +1 -1
  84. package/dist/esm/chunks/chunk.AABG6MSC.js +7 -0
  85. package/dist/esm/chunks/chunk.AABG6MSC.js.map +7 -0
  86. package/dist/esm/chunks/chunk.AFZB3MG5.js +7 -0
  87. package/dist/esm/chunks/{chunk.UQ3QTUUB.js.map → chunk.AFZB3MG5.js.map} +1 -1
  88. package/dist/esm/chunks/chunk.AHOQXJRN.js +7 -0
  89. package/dist/esm/chunks/{chunk.S3UVF647.js.map → chunk.AHOQXJRN.js.map} +1 -1
  90. package/dist/esm/chunks/chunk.AJJILT3A.js +6 -0
  91. package/dist/esm/chunks/{chunk.LM5TVNZY.js.map → chunk.AJJILT3A.js.map} +0 -0
  92. package/dist/esm/chunks/chunk.AMFXGOSA.js +7 -0
  93. package/dist/esm/chunks/{chunk.PBGL3BRX.js.map → chunk.AMFXGOSA.js.map} +1 -1
  94. package/dist/esm/chunks/chunk.AWCBH5KW.js +7 -0
  95. package/dist/esm/chunks/{chunk.RV3E762Y.js.map → chunk.AWCBH5KW.js.map} +1 -1
  96. package/dist/esm/chunks/chunk.B3IJU6XJ.js +7 -0
  97. package/dist/esm/chunks/{chunk.MMIZOYAS.js.map → chunk.B3IJU6XJ.js.map} +1 -1
  98. package/dist/esm/chunks/chunk.B5ABD4CZ.js +7 -0
  99. package/dist/esm/chunks/{chunk.WDD2GTIH.js.map → chunk.B5ABD4CZ.js.map} +1 -1
  100. package/dist/esm/chunks/chunk.BCUBTR5O.js +7 -0
  101. package/dist/esm/chunks/{chunk.3EHQ3YHJ.js.map → chunk.BCUBTR5O.js.map} +1 -1
  102. package/dist/esm/chunks/chunk.BSZ2LBJX.js +7 -0
  103. package/dist/esm/chunks/{chunk.35U3UPDV.js.map → chunk.BSZ2LBJX.js.map} +1 -1
  104. package/dist/esm/chunks/chunk.CSOY4C7A.js +7 -0
  105. package/dist/esm/chunks/{chunk.KNR5DXE4.js.map → chunk.CSOY4C7A.js.map} +1 -1
  106. package/dist/esm/chunks/chunk.CV5E5W6I.js +7 -0
  107. package/dist/esm/chunks/{chunk.YL2NAVJW.js.map → chunk.CV5E5W6I.js.map} +2 -2
  108. package/dist/esm/chunks/chunk.D3DLVPPE.js +7 -0
  109. package/dist/esm/chunks/{chunk.5U6ZT6MC.js.map → chunk.D3DLVPPE.js.map} +1 -1
  110. package/dist/esm/chunks/chunk.D4SNVKDA.js +14 -0
  111. package/dist/esm/chunks/{chunk.BYN27JXZ.js.map → chunk.D4SNVKDA.js.map} +1 -1
  112. package/dist/esm/chunks/chunk.DGDT4UQT.js +7 -0
  113. package/dist/esm/chunks/{chunk.IBED5TWL.js.map → chunk.DGDT4UQT.js.map} +1 -1
  114. package/dist/esm/chunks/chunk.DGOV5RDW.js +29 -0
  115. package/dist/esm/chunks/{chunk.TYU4RLZG.js.map → chunk.DGOV5RDW.js.map} +1 -1
  116. package/dist/esm/chunks/chunk.DGQAYNAF.js +7 -0
  117. package/dist/esm/chunks/{chunk.GHZ75UPO.js.map → chunk.DGQAYNAF.js.map} +1 -1
  118. package/dist/esm/chunks/chunk.DIYJJHWP.js +7 -0
  119. package/dist/esm/chunks/{chunk.THKWQXBJ.js.map → chunk.DIYJJHWP.js.map} +1 -1
  120. package/dist/esm/chunks/chunk.DJSOBAWA.js +7 -0
  121. package/dist/esm/chunks/{chunk.67B6JDOJ.js.map → chunk.DJSOBAWA.js.map} +1 -1
  122. package/dist/esm/chunks/chunk.DRFU6POI.js +7 -0
  123. package/dist/esm/chunks/{chunk.DLF5JAQO.js.map → chunk.DRFU6POI.js.map} +2 -2
  124. package/dist/esm/chunks/chunk.DVYJDQ55.js +7 -0
  125. package/dist/esm/chunks/chunk.DVYJDQ55.js.map +7 -0
  126. package/dist/esm/chunks/chunk.E37HEAJ5.js +7 -0
  127. package/dist/esm/chunks/{chunk.2NMHSTAO.js.map → chunk.E37HEAJ5.js.map} +3 -3
  128. package/dist/esm/chunks/chunk.E43TT4RI.js +7 -0
  129. package/dist/esm/chunks/{chunk.SNAZ6JSS.js.map → chunk.E43TT4RI.js.map} +1 -1
  130. package/dist/esm/chunks/chunk.EC6JSIQW.js +7 -0
  131. package/dist/esm/chunks/{chunk.EY57VTRF.js.map → chunk.EC6JSIQW.js.map} +1 -1
  132. package/dist/esm/chunks/chunk.EM3OQRZP.js +7 -0
  133. package/dist/esm/chunks/chunk.EM3OQRZP.js.map +7 -0
  134. package/dist/esm/chunks/chunk.ESW45SN4.js +7 -0
  135. package/dist/esm/chunks/chunk.ESW45SN4.js.map +7 -0
  136. package/dist/esm/chunks/chunk.F5I55MXD.js +7 -0
  137. package/dist/esm/chunks/chunk.F5I55MXD.js.map +7 -0
  138. package/dist/esm/chunks/chunk.G5BCWBD5.js +7 -0
  139. package/dist/esm/chunks/{chunk.EBC2HGO3.js.map → chunk.G5BCWBD5.js.map} +1 -1
  140. package/dist/esm/chunks/chunk.G76HB2FK.js +7 -0
  141. package/dist/esm/chunks/{chunk.MEFT5FQC.js.map → chunk.G76HB2FK.js.map} +1 -1
  142. package/dist/esm/chunks/chunk.GP7WDYWQ.js +7 -0
  143. package/dist/esm/chunks/chunk.GP7WDYWQ.js.map +7 -0
  144. package/dist/esm/chunks/chunk.GVQVA7P3.js +7 -0
  145. package/dist/esm/chunks/{chunk.6EGTLHJS.js.map → chunk.GVQVA7P3.js.map} +2 -2
  146. package/dist/esm/chunks/chunk.HN4PXH3D.js +7 -0
  147. package/dist/esm/chunks/{chunk.K2PCTUVN.js.map → chunk.HN4PXH3D.js.map} +1 -1
  148. package/dist/esm/chunks/chunk.I33ZJKOX.js +7 -0
  149. package/dist/esm/chunks/{chunk.TM46MNYN.js.map → chunk.I33ZJKOX.js.map} +1 -1
  150. package/dist/esm/chunks/chunk.IBQVV4HR.js +7 -0
  151. package/dist/esm/chunks/{chunk.MBZLA635.js.map → chunk.IBQVV4HR.js.map} +2 -2
  152. package/dist/esm/chunks/chunk.IGMTMR3D.js +7 -0
  153. package/dist/esm/chunks/{chunk.RD4RIFOZ.js.map → chunk.IGMTMR3D.js.map} +1 -1
  154. package/dist/esm/chunks/chunk.IJIKFXUT.js +7 -0
  155. package/dist/esm/chunks/{chunk.K7OLG7CS.js.map → chunk.IJIKFXUT.js.map} +1 -1
  156. package/dist/esm/chunks/chunk.IMK2LFWR.js +7 -0
  157. package/dist/esm/chunks/{chunk.Q4YMHFRY.js.map → chunk.IMK2LFWR.js.map} +1 -1
  158. package/dist/esm/chunks/chunk.J6ERQLHJ.js +7 -0
  159. package/dist/esm/chunks/chunk.J6ERQLHJ.js.map +7 -0
  160. package/dist/esm/chunks/chunk.JXQZMASB.js +7 -0
  161. package/dist/esm/chunks/{chunk.QYWAZCBX.js.map → chunk.JXQZMASB.js.map} +1 -1
  162. package/dist/esm/chunks/chunk.K43ZNKT2.js +7 -0
  163. package/dist/esm/chunks/{chunk.7FWTBD6Y.js.map → chunk.K43ZNKT2.js.map} +1 -1
  164. package/dist/esm/chunks/chunk.K753A3KI.js +29 -0
  165. package/dist/esm/chunks/{chunk.ZXIDTDRC.js.map → chunk.K753A3KI.js.map} +1 -1
  166. package/dist/esm/chunks/chunk.KLHXGSZU.js +7 -0
  167. package/dist/esm/chunks/{chunk.VXVE7KEM.js.map → chunk.KLHXGSZU.js.map} +1 -1
  168. package/dist/esm/chunks/chunk.KZHMDZVS.js +29 -0
  169. package/dist/esm/chunks/{chunk.ITQ55IPH.js.map → chunk.KZHMDZVS.js.map} +1 -1
  170. package/dist/esm/chunks/chunk.LZMYHIO2.js +7 -0
  171. package/dist/esm/chunks/{chunk.GS2AXUCN.js.map → chunk.LZMYHIO2.js.map} +1 -1
  172. package/dist/esm/chunks/chunk.MCIQXNKY.js +7 -0
  173. package/dist/esm/chunks/chunk.MCIQXNKY.js.map +7 -0
  174. package/dist/esm/chunks/chunk.MGTNCCW3.js +7 -0
  175. package/dist/esm/chunks/{chunk.KCVJDJ6K.js.map → chunk.MGTNCCW3.js.map} +1 -1
  176. package/dist/esm/chunks/chunk.MIYZJUXH.js +7 -0
  177. package/dist/esm/chunks/{chunk.WT4W2IFT.js.map → chunk.MIYZJUXH.js.map} +1 -1
  178. package/dist/esm/chunks/chunk.MTMZFAWU.js +7 -0
  179. package/dist/esm/chunks/chunk.MTMZFAWU.js.map +7 -0
  180. package/dist/esm/chunks/chunk.NEGJYSPB.js +7 -0
  181. package/dist/esm/chunks/chunk.NEGJYSPB.js.map +7 -0
  182. package/dist/esm/chunks/chunk.NGIBMR3Q.js +7 -0
  183. package/dist/esm/chunks/{chunk.4PF7WRP4.js.map → chunk.NGIBMR3Q.js.map} +1 -1
  184. package/dist/esm/chunks/chunk.NJHQA266.js +7 -0
  185. package/dist/esm/chunks/chunk.NJHQA266.js.map +7 -0
  186. package/dist/esm/chunks/chunk.O3G6ZLJN.js +7 -0
  187. package/dist/esm/chunks/{chunk.4WLVFWKI.js.map → chunk.O3G6ZLJN.js.map} +1 -1
  188. package/dist/esm/chunks/chunk.OAP3JDBS.js +12 -0
  189. package/dist/esm/chunks/chunk.OAP3JDBS.js.map +7 -0
  190. package/dist/esm/chunks/chunk.OHCHNL3V.js +7 -0
  191. package/dist/esm/chunks/{chunk.HASAPJMX.js.map → chunk.OHCHNL3V.js.map} +1 -1
  192. package/dist/esm/chunks/chunk.OOBE3XRM.js +29 -0
  193. package/dist/esm/chunks/{chunk.HMM7PGGZ.js.map → chunk.OOBE3XRM.js.map} +1 -1
  194. package/dist/esm/chunks/chunk.OUEF6VQ6.js +7 -0
  195. package/dist/esm/chunks/{chunk.OXS2O7RG.js.map → chunk.OUEF6VQ6.js.map} +2 -2
  196. package/dist/esm/chunks/chunk.PBTGGYKX.js +29 -0
  197. package/dist/esm/chunks/{chunk.V2ELLBDP.js.map → chunk.PBTGGYKX.js.map} +1 -1
  198. package/dist/esm/chunks/chunk.PYG4YVBA.js +73 -0
  199. package/dist/esm/chunks/chunk.PYG4YVBA.js.map +7 -0
  200. package/dist/esm/chunks/chunk.QJPH24V4.js +7 -0
  201. package/dist/esm/chunks/{chunk.GXTNND2M.js.map → chunk.QJPH24V4.js.map} +1 -1
  202. package/dist/esm/chunks/chunk.QXLPBYMX.js +7 -0
  203. package/dist/esm/chunks/{chunk.56BNM7F2.js.map → chunk.QXLPBYMX.js.map} +1 -1
  204. package/dist/esm/chunks/chunk.QZHEP4X2.js +29 -0
  205. package/dist/esm/chunks/{chunk.5VKAVHLM.js.map → chunk.QZHEP4X2.js.map} +1 -1
  206. package/dist/esm/chunks/chunk.R46EDURP.js +7 -0
  207. package/dist/esm/chunks/{chunk.JKC5PU23.js.map → chunk.R46EDURP.js.map} +1 -1
  208. package/dist/esm/chunks/chunk.R4NDFXVA.js +7 -0
  209. package/dist/esm/chunks/{chunk.4JURZYE4.js.map → chunk.R4NDFXVA.js.map} +1 -1
  210. package/dist/esm/chunks/chunk.RS5NH2NG.js +7 -0
  211. package/dist/esm/chunks/{chunk.PKZ43JNW.js.map → chunk.RS5NH2NG.js.map} +2 -2
  212. package/dist/esm/chunks/chunk.RZL6S3K3.js +7 -0
  213. package/dist/esm/chunks/chunk.RZL6S3K3.js.map +7 -0
  214. package/dist/esm/chunks/chunk.SFFYXKJW.js +7 -0
  215. package/dist/esm/chunks/{chunk.MUP3NY6M.js.map → chunk.SFFYXKJW.js.map} +2 -2
  216. package/dist/esm/chunks/chunk.SHT6BCLY.js +7 -0
  217. package/dist/esm/chunks/{chunk.BLZJIYMG.js.map → chunk.SHT6BCLY.js.map} +1 -1
  218. package/dist/esm/chunks/chunk.SNGELGOD.js +7 -0
  219. package/dist/esm/chunks/{chunk.5OYAJ36F.js.map → chunk.SNGELGOD.js.map} +1 -1
  220. package/dist/esm/chunks/{chunk.LCWRP2UI.js → chunk.STS5TIUV.js} +2 -32
  221. package/dist/esm/chunks/chunk.STS5TIUV.js.map +7 -0
  222. package/dist/esm/chunks/chunk.SVGEVCXA.js +7 -0
  223. package/dist/esm/chunks/{chunk.VHO7NUMI.js.map → chunk.SVGEVCXA.js.map} +1 -1
  224. package/dist/esm/chunks/chunk.UNTTQM6V.js +7 -0
  225. package/dist/esm/chunks/chunk.UNTTQM6V.js.map +7 -0
  226. package/dist/esm/chunks/chunk.URBXDOF7.js +7 -0
  227. package/dist/esm/chunks/{chunk.ELAJS33V.js.map → chunk.URBXDOF7.js.map} +1 -1
  228. package/dist/esm/chunks/chunk.UUX4QJ4D.js +7 -0
  229. package/dist/esm/chunks/{chunk.BKMWXPAS.js.map → chunk.UUX4QJ4D.js.map} +1 -1
  230. package/dist/esm/chunks/chunk.VEVOKTUX.js +7 -0
  231. package/dist/esm/chunks/{chunk.UPW5HUKB.js.map → chunk.VEVOKTUX.js.map} +1 -1
  232. package/dist/esm/chunks/chunk.VLTJFKGZ.js +7 -0
  233. package/dist/esm/chunks/{chunk.NX5SKZLU.js.map → chunk.VLTJFKGZ.js.map} +1 -1
  234. package/dist/esm/chunks/chunk.VMWS5OOZ.js +7 -0
  235. package/dist/esm/chunks/{chunk.QXZZ2MTF.js.map → chunk.VMWS5OOZ.js.map} +1 -1
  236. package/dist/esm/chunks/chunk.W7UTHKBF.js +7 -0
  237. package/dist/esm/chunks/chunk.W7UTHKBF.js.map +7 -0
  238. package/dist/esm/chunks/chunk.WAEWHBHE.js +7 -0
  239. package/dist/esm/chunks/{chunk.LK2DN5KX.js.map → chunk.WAEWHBHE.js.map} +1 -1
  240. package/dist/esm/chunks/chunk.WGE5R5JK.js +7 -0
  241. package/dist/esm/chunks/chunk.WGE5R5JK.js.map +7 -0
  242. package/dist/esm/chunks/chunk.WKKNDQYZ.js +7 -0
  243. package/dist/esm/chunks/chunk.WKKNDQYZ.js.map +7 -0
  244. package/dist/esm/chunks/chunk.WMO47F6Z.js +7 -0
  245. package/dist/esm/chunks/{chunk.CLEUHAZ6.js.map → chunk.WMO47F6Z.js.map} +1 -1
  246. package/dist/esm/chunks/{chunk.IUNON3UL.js → chunk.WNOSTPQQ.js} +2 -253
  247. package/dist/esm/chunks/{chunk.IUNON3UL.js.map → chunk.WNOSTPQQ.js.map} +1 -1
  248. package/dist/esm/chunks/chunk.WSGJIPQJ.js +7 -0
  249. package/dist/esm/chunks/{chunk.J5NUYQ4D.js.map → chunk.WSGJIPQJ.js.map} +1 -1
  250. package/dist/esm/chunks/chunk.WYVYTAFS.js +7 -0
  251. package/dist/esm/chunks/chunk.WYVYTAFS.js.map +7 -0
  252. package/dist/esm/chunks/chunk.WZRXUTYC.js +7 -0
  253. package/dist/esm/chunks/{chunk.2WBHHTUM.js.map → chunk.WZRXUTYC.js.map} +1 -1
  254. package/dist/esm/chunks/chunk.X2RP4QW3.js +6 -0
  255. package/dist/esm/chunks/chunk.X2RP4QW3.js.map +7 -0
  256. package/dist/esm/chunks/chunk.X77WVI2H.js +7 -0
  257. package/dist/esm/chunks/{chunk.ANME7BKM.js.map → chunk.X77WVI2H.js.map} +1 -1
  258. package/dist/esm/chunks/chunk.XURVHDKR.js +7 -0
  259. package/dist/esm/chunks/{chunk.3QXCVTCP.js.map → chunk.XURVHDKR.js.map} +1 -1
  260. package/dist/esm/chunks/chunk.XXA6KNXT.js +7 -0
  261. package/dist/esm/chunks/{chunk.I7BQUB7Z.js.map → chunk.XXA6KNXT.js.map} +1 -1
  262. package/dist/esm/chunks/chunk.XYBFFTXS.js +29 -0
  263. package/dist/esm/chunks/{chunk.WNVZQDNS.js.map → chunk.XYBFFTXS.js.map} +1 -1
  264. package/dist/esm/chunks/chunk.YFIDBZ7V.js +7 -0
  265. package/dist/esm/chunks/{chunk.ZLF2G3YT.js.map → chunk.YFIDBZ7V.js.map} +1 -1
  266. package/dist/esm/chunks/chunk.YHHIPP2F.js +7 -0
  267. package/dist/esm/chunks/{chunk.QHHYCB7N.js.map → chunk.YHHIPP2F.js.map} +1 -1
  268. package/dist/esm/chunks/chunk.ZHCQBWAG.js +7 -0
  269. package/dist/esm/chunks/{chunk.BEAJZPWS.js.map → chunk.ZHCQBWAG.js.map} +1 -1
  270. package/dist/esm/circular-progress/index.js +1 -22
  271. package/dist/esm/color-picker/index.js +1 -44
  272. package/dist/esm/core/base/index.js +1 -15
  273. package/dist/esm/core/delegates/index.js +1 -14
  274. package/dist/esm/core/index.js +1 -83
  275. package/dist/esm/core/mask/index.js +1 -20
  276. package/dist/esm/core/utils/index.js +1 -46
  277. package/dist/esm/date-picker/index.js +1 -57
  278. package/dist/esm/date-range-picker/index.js +1 -59
  279. package/dist/esm/dialog/index.js +1 -39
  280. package/dist/esm/divider/index.js +1 -16
  281. package/dist/esm/drawer/base/index.js +1 -20
  282. package/dist/esm/drawer/drawer/index.js +1 -20
  283. package/dist/esm/drawer/index.js +1 -51
  284. package/dist/esm/drawer/mini-drawer/index.js +1 -20
  285. package/dist/esm/drawer/modal-drawer/index.js +1 -25
  286. package/dist/esm/expansion-panel/index.js +1 -33
  287. package/dist/esm/file-picker/index.js +1 -36
  288. package/dist/esm/floating-action-button/index.js +1 -23
  289. package/dist/esm/floating-label/index.js +1 -17
  290. package/dist/esm/icon/index.js +1 -48
  291. package/dist/esm/icon-button/index.js +1 -32
  292. package/dist/esm/index.js +1 -1275
  293. package/dist/esm/inline-message/index.js +1 -16
  294. package/dist/esm/keyboard-shortcut/index.js +1 -35
  295. package/dist/esm/label-value/index.js +1 -26
  296. package/dist/esm/linear-progress/index.js +1 -18
  297. package/dist/esm/list/index.js +1 -38
  298. package/dist/esm/list/list/index.js +1 -27
  299. package/dist/esm/list/list-item/index.js +1 -25
  300. package/dist/esm/list-dropdown/index.js +1 -50
  301. package/dist/esm/menu/index.js +1 -48
  302. package/dist/esm/open-icon/index.js +1 -32
  303. package/dist/esm/page-state/index.js +1 -16
  304. package/dist/esm/paginator/index.js +1 -63
  305. package/dist/esm/popup/index.js +1 -25
  306. package/dist/esm/product-icon/index.js +1 -23
  307. package/dist/esm/profile-card/index.js +1 -33
  308. package/dist/esm/quantity-field/index.js +1 -41
  309. package/dist/esm/radio/index.js +1 -20
  310. package/dist/esm/ripple/index.js +1 -26
  311. package/dist/esm/scaffold/index.js +1 -16
  312. package/dist/esm/select/core/index.js +1 -55
  313. package/dist/esm/select/index.js +1 -109
  314. package/dist/esm/select/option/index.js +1 -22
  315. package/dist/esm/select/option-group/index.js +1 -16
  316. package/dist/esm/select/select/index.js +1 -58
  317. package/dist/esm/select/select-dropdown/index.js +1 -54
  318. package/dist/esm/skeleton/index.js +1 -16
  319. package/dist/esm/slider/index.js +1 -30
  320. package/dist/esm/split-view/core/index.js +7 -0
  321. package/dist/esm/split-view/core/index.js.map +7 -0
  322. package/dist/esm/split-view/index.js +7 -0
  323. package/dist/esm/split-view/index.js.map +7 -0
  324. package/dist/esm/split-view/split-view/index.js +7 -0
  325. package/dist/esm/split-view/split-view/index.js.map +7 -0
  326. package/dist/esm/split-view/split-view-panel/index.js +7 -0
  327. package/dist/esm/split-view/split-view-panel/index.js.map +7 -0
  328. package/dist/esm/stepper/index.js +1 -50
  329. package/dist/esm/stepper/step/index.js +1 -35
  330. package/dist/esm/stepper/stepper/index.js +1 -38
  331. package/dist/esm/switch/index.js +1 -29
  332. package/dist/esm/table/index.js +1 -52
  333. package/dist/esm/tabs/index.js +1 -56
  334. package/dist/esm/tabs/tab/index.js +1 -27
  335. package/dist/esm/tabs/tab-bar/index.js +1 -42
  336. package/dist/esm/text-field/index.js +1 -33
  337. package/dist/esm/theme/index.js +1 -11
  338. package/dist/esm/time-picker/index.js +1 -87
  339. package/dist/esm/toast/index.js +1 -37
  340. package/dist/esm/toolbar/index.js +1 -16
  341. package/dist/esm/tooltip/index.js +1 -28
  342. package/dist/esm/utils/index.js +1 -11
  343. package/dist/esm/view-switcher/index.js +1 -34
  344. package/dist/esm/view-switcher/view/index.js +1 -16
  345. package/dist/forge.css +1 -1
  346. package/dist/table/forge-table.css +1 -1
  347. package/esm/app-bar/app-bar.d.ts +3 -3
  348. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +6 -1
  349. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +30 -12
  350. package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +4 -0
  351. package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +2 -0
  352. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +8 -0
  353. package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +22 -0
  354. package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +4 -0
  355. package/esm/app-bar/profile-button/app-bar-profile-button.js +14 -0
  356. package/esm/autocomplete/autocomplete-adapter.d.ts +2 -0
  357. package/esm/autocomplete/autocomplete-adapter.js +4 -0
  358. package/esm/autocomplete/autocomplete-foundation.d.ts +15 -16
  359. package/esm/autocomplete/autocomplete-foundation.js +21 -13
  360. package/esm/autocomplete/autocomplete.d.ts +9 -9
  361. package/esm/bottom-sheet/bottom-sheet-adapter.js +1 -1
  362. package/esm/calendar/calendar-foundation.d.ts +14 -14
  363. package/esm/calendar/calendar-foundation.js +5 -5
  364. package/esm/calendar/calendar-utils.d.ts +1 -1
  365. package/esm/calendar/calendar-utils.js +1 -1
  366. package/esm/calendar/calendar.d.ts +7 -7
  367. package/esm/calendar/core/calendar-base.d.ts +7 -7
  368. package/esm/chip-field/chip-field-adapter.d.ts +1 -1
  369. package/esm/chip-field/chip-field-adapter.js +2 -2
  370. package/esm/chip-field/chip-field.js +1 -1
  371. package/esm/chips/chip/chip-foundation.d.ts +1 -1
  372. package/esm/chips/chip/chip.d.ts +2 -2
  373. package/esm/chips/chip/chip.js +1 -1
  374. package/esm/color-picker/color-picker-foundation.d.ts +12 -12
  375. package/esm/color-picker/color-picker-foundation.js +1 -1
  376. package/esm/color-picker/color-picker.d.ts +8 -8
  377. package/esm/core/utils/date-utils.d.ts +1 -1
  378. package/esm/core/utils/event-utils.d.ts +1 -0
  379. package/esm/core/utils/event-utils.js +3 -0
  380. package/esm/core/utils/utils.d.ts +36 -0
  381. package/esm/core/utils/utils.js +57 -0
  382. package/esm/date-picker/base/base-date-picker-adapter.d.ts +8 -8
  383. package/esm/date-picker/base/base-date-picker-constants.d.ts +5 -5
  384. package/esm/date-picker/base/base-date-picker-foundation.d.ts +21 -21
  385. package/esm/date-picker/base/base-date-picker.d.ts +8 -8
  386. package/esm/date-picker/date-picker-foundation.d.ts +6 -6
  387. package/esm/date-picker/date-picker-foundation.js +3 -1
  388. package/esm/date-picker/date-picker.d.ts +1 -1
  389. package/esm/date-range-picker/date-range-picker-foundation.d.ts +11 -11
  390. package/esm/date-range-picker/date-range-picker.d.ts +4 -4
  391. package/esm/dialog/dialog-adapter.js +2 -2
  392. package/esm/dialog/dialog-foundation.d.ts +6 -6
  393. package/esm/dialog/dialog-foundation.js +1 -1
  394. package/esm/dialog/dialog.d.ts +4 -4
  395. package/esm/field/field-adapter.d.ts +4 -4
  396. package/esm/field/field-adapter.js +4 -13
  397. package/esm/field/field-foundation.js +2 -2
  398. package/esm/file-picker/file-picker-adapter.d.ts +4 -4
  399. package/esm/file-picker/file-picker-foundation.d.ts +9 -9
  400. package/esm/file-picker/file-picker.d.ts +6 -6
  401. package/esm/floating-label/floating-label-adapter.js +1 -1
  402. package/esm/index.d.ts +1 -0
  403. package/esm/index.js +3 -0
  404. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +3 -3
  405. package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +0 -1
  406. package/esm/keyboard-shortcut/keyboard-shortcut-utils.d.ts +1 -1
  407. package/esm/keyboard-shortcut/keyboard-shortcut-utils.js +5 -5
  408. package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +6 -2
  409. package/esm/keyboard-shortcut/keyboard-shortcut.js +7 -0
  410. package/esm/menu/menu.d.ts +2 -2
  411. package/esm/paginator/paginator-foundation.js +15 -12
  412. package/esm/popup/popup.d.ts +3 -3
  413. package/esm/profile-card/profile-card-adapter.d.ts +4 -0
  414. package/esm/profile-card/profile-card-adapter.js +6 -0
  415. package/esm/profile-card/profile-card-constants.d.ts +4 -0
  416. package/esm/profile-card/profile-card-constants.js +5 -1
  417. package/esm/profile-card/profile-card-foundation.d.ts +6 -0
  418. package/esm/profile-card/profile-card-foundation.js +22 -0
  419. package/esm/profile-card/profile-card.d.ts +4 -0
  420. package/esm/profile-card/profile-card.js +15 -1
  421. package/esm/quantity-field/quantity-field-adapter.d.ts +0 -2
  422. package/esm/quantity-field/quantity-field-adapter.js +2 -14
  423. package/esm/quantity-field/quantity-field-foundation.js +0 -1
  424. package/esm/quantity-field/quantity-field.js +1 -1
  425. package/esm/select/select/select.js +1 -1
  426. package/esm/split-view/core/index.d.ts +6 -0
  427. package/esm/split-view/core/index.js +6 -0
  428. package/esm/split-view/core/split-view-base.d.ts +14 -0
  429. package/esm/split-view/core/split-view-base.js +6 -0
  430. package/esm/split-view/index.d.ts +8 -0
  431. package/esm/split-view/index.js +8 -0
  432. package/esm/split-view/split-view/index.d.ts +10 -0
  433. package/esm/split-view/split-view/index.js +14 -0
  434. package/esm/split-view/split-view/split-view-adapter.d.ts +29 -0
  435. package/esm/split-view/split-view/split-view-adapter.js +62 -0
  436. package/esm/split-view/split-view/split-view-constants.d.ts +41 -0
  437. package/esm/split-view/split-view/split-view-constants.js +40 -0
  438. package/esm/split-view/split-view/split-view-foundation.d.ts +86 -0
  439. package/esm/split-view/split-view/split-view-foundation.js +179 -0
  440. package/esm/split-view/split-view/split-view.d.ts +67 -0
  441. package/esm/split-view/split-view/split-view.js +103 -0
  442. package/esm/split-view/split-view-panel/index.d.ts +11 -0
  443. package/esm/split-view/split-view-panel/index.js +15 -0
  444. package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +171 -0
  445. package/esm/split-view/split-view-panel/split-view-panel-adapter.js +295 -0
  446. package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +97 -0
  447. package/esm/split-view/split-view-panel/split-view-panel-constants.js +78 -0
  448. package/esm/split-view/split-view-panel/split-view-panel-foundation.d.ts +235 -0
  449. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +667 -0
  450. package/esm/split-view/split-view-panel/split-view-panel-utils.d.ts +130 -0
  451. package/esm/split-view/split-view-panel/split-view-panel-utils.js +300 -0
  452. package/esm/split-view/split-view-panel/split-view-panel.d.ts +105 -0
  453. package/esm/split-view/split-view-panel/split-view-panel.js +173 -0
  454. package/esm/table/table-utils.d.ts +2 -2
  455. package/esm/table/table-utils.js +31 -15
  456. package/esm/table/table.d.ts +2 -2
  457. package/esm/text-field/text-field-adapter.d.ts +1 -1
  458. package/esm/text-field/text-field-adapter.js +2 -2
  459. package/esm/text-field/text-field.js +1 -1
  460. package/esm/time-picker/time-picker-foundation.d.ts +8 -8
  461. package/esm/time-picker/time-picker-foundation.js +4 -4
  462. package/esm/time-picker/time-picker-utils.d.ts +1 -1
  463. package/esm/time-picker/time-picker.d.ts +8 -8
  464. package/esm/tooltip/tooltip.d.ts +1 -1
  465. package/esm/view-switcher/view-switcher.d.ts +2 -2
  466. package/package.json +2 -2
  467. package/styles/chip-field/_base.scss +2 -2
  468. package/styles/chip-field/_selector.scss +1 -1
  469. package/styles/chip-field/_variables.scss +1 -1
  470. package/styles/chips/chip/_mixins.scss +4 -3
  471. package/styles/chips/chip/_variables.scss +3 -2
  472. package/styles/field/_base.scss +16 -4
  473. package/styles/field/_selector.scss +4 -4
  474. package/styles/quantity-field/_mixins.scss +1 -1
  475. package/styles/select/select/_selector.scss +1 -1
  476. package/styles/split-view/split-view/_mixins.scss +48 -0
  477. package/styles/split-view/split-view/split-view.scss +25 -0
  478. package/styles/split-view/split-view-panel/_mixins.scss +260 -0
  479. package/styles/split-view/split-view-panel/_variables.scss +7 -0
  480. package/styles/split-view/split-view-panel/split-view-panel.scss +23 -0
  481. package/styles/table/_mixins.scss +2 -0
  482. package/dist/esm/chunks/chunk.2MBI5DLT.js +0 -439
  483. package/dist/esm/chunks/chunk.2MBI5DLT.js.map +0 -7
  484. package/dist/esm/chunks/chunk.2NMHSTAO.js +0 -1473
  485. package/dist/esm/chunks/chunk.2WBHHTUM.js +0 -200
  486. package/dist/esm/chunks/chunk.35BJJH5E.js +0 -56
  487. package/dist/esm/chunks/chunk.35U3UPDV.js +0 -70
  488. package/dist/esm/chunks/chunk.3EHQ3YHJ.js +0 -52
  489. package/dist/esm/chunks/chunk.3QXCVTCP.js +0 -73
  490. package/dist/esm/chunks/chunk.46BED43J.js +0 -602
  491. package/dist/esm/chunks/chunk.46BED43J.js.map +0 -7
  492. package/dist/esm/chunks/chunk.4HQ5VELO.js +0 -793
  493. package/dist/esm/chunks/chunk.4HQ5VELO.js.map +0 -7
  494. package/dist/esm/chunks/chunk.4JURZYE4.js +0 -410
  495. package/dist/esm/chunks/chunk.4PF7WRP4.js +0 -450
  496. package/dist/esm/chunks/chunk.4WLVFWKI.js +0 -21
  497. package/dist/esm/chunks/chunk.56BNM7F2.js +0 -202
  498. package/dist/esm/chunks/chunk.5OYAJ36F.js +0 -21
  499. package/dist/esm/chunks/chunk.5U6ZT6MC.js +0 -296
  500. package/dist/esm/chunks/chunk.5VKAVHLM.js +0 -610
  501. package/dist/esm/chunks/chunk.67B6JDOJ.js +0 -654
  502. package/dist/esm/chunks/chunk.6EGTLHJS.js +0 -16
  503. package/dist/esm/chunks/chunk.6ZBFCE2A.js +0 -52
  504. package/dist/esm/chunks/chunk.7FWTBD6Y.js +0 -21
  505. package/dist/esm/chunks/chunk.7I2XNJBL.js +0 -593
  506. package/dist/esm/chunks/chunk.7I2XNJBL.js.map +0 -7
  507. package/dist/esm/chunks/chunk.7UAH67PT.js +0 -634
  508. package/dist/esm/chunks/chunk.ANME7BKM.js +0 -293
  509. package/dist/esm/chunks/chunk.BEAJZPWS.js +0 -72
  510. package/dist/esm/chunks/chunk.BKMWXPAS.js +0 -439
  511. package/dist/esm/chunks/chunk.BLZJIYMG.js +0 -55
  512. package/dist/esm/chunks/chunk.BVGJFMEG.js +0 -760
  513. package/dist/esm/chunks/chunk.BVGJFMEG.js.map +0 -7
  514. package/dist/esm/chunks/chunk.BYN27JXZ.js +0 -51
  515. package/dist/esm/chunks/chunk.CLEUHAZ6.js +0 -732
  516. package/dist/esm/chunks/chunk.D33KLIFD.js +0 -422
  517. package/dist/esm/chunks/chunk.D33KLIFD.js.map +0 -7
  518. package/dist/esm/chunks/chunk.DLF5JAQO.js +0 -552
  519. package/dist/esm/chunks/chunk.E26BROOG.js +0 -291
  520. package/dist/esm/chunks/chunk.EBC2HGO3.js +0 -372
  521. package/dist/esm/chunks/chunk.ELAJS33V.js +0 -145
  522. package/dist/esm/chunks/chunk.EUPO2VO2.js +0 -462
  523. package/dist/esm/chunks/chunk.EY57VTRF.js +0 -33
  524. package/dist/esm/chunks/chunk.FJJVIMZ2.js +0 -176
  525. package/dist/esm/chunks/chunk.FJJVIMZ2.js.map +0 -7
  526. package/dist/esm/chunks/chunk.FWJ7SIFA.js +0 -433
  527. package/dist/esm/chunks/chunk.FZ6KICMD.js +0 -297
  528. package/dist/esm/chunks/chunk.GHZ75UPO.js +0 -342
  529. package/dist/esm/chunks/chunk.GS2AXUCN.js +0 -150
  530. package/dist/esm/chunks/chunk.GWNR3UUX.js +0 -658
  531. package/dist/esm/chunks/chunk.GXTNND2M.js +0 -221
  532. package/dist/esm/chunks/chunk.HASAPJMX.js +0 -110
  533. package/dist/esm/chunks/chunk.HAWYW54W.js +0 -728
  534. package/dist/esm/chunks/chunk.HAWYW54W.js.map +0 -7
  535. package/dist/esm/chunks/chunk.HMM7PGGZ.js +0 -505
  536. package/dist/esm/chunks/chunk.HZISALRH.js +0 -20
  537. package/dist/esm/chunks/chunk.I6PJGNJS.js +0 -401
  538. package/dist/esm/chunks/chunk.I6PJGNJS.js.map +0 -7
  539. package/dist/esm/chunks/chunk.I7BQUB7Z.js +0 -212
  540. package/dist/esm/chunks/chunk.IBED5TWL.js +0 -649
  541. package/dist/esm/chunks/chunk.IGBDDH3J.js +0 -1203
  542. package/dist/esm/chunks/chunk.IGBDDH3J.js.map +0 -7
  543. package/dist/esm/chunks/chunk.IJW2YKP3.js +0 -1347
  544. package/dist/esm/chunks/chunk.IJW2YKP3.js.map +0 -7
  545. package/dist/esm/chunks/chunk.ITQ55IPH.js +0 -1335
  546. package/dist/esm/chunks/chunk.J5NUYQ4D.js +0 -840
  547. package/dist/esm/chunks/chunk.JC2PZ4TS.js +0 -463
  548. package/dist/esm/chunks/chunk.JC2PZ4TS.js.map +0 -7
  549. package/dist/esm/chunks/chunk.JKC5PU23.js +0 -42
  550. package/dist/esm/chunks/chunk.K2PCTUVN.js +0 -139
  551. package/dist/esm/chunks/chunk.K7OLG7CS.js +0 -244
  552. package/dist/esm/chunks/chunk.KCVJDJ6K.js +0 -105
  553. package/dist/esm/chunks/chunk.KNR5DXE4.js +0 -445
  554. package/dist/esm/chunks/chunk.KZATVOA6.js +0 -68
  555. package/dist/esm/chunks/chunk.L4OUV7W6.js +0 -236
  556. package/dist/esm/chunks/chunk.LCWRP2UI.js.map +0 -7
  557. package/dist/esm/chunks/chunk.LHWZ4KZU.js +0 -559
  558. package/dist/esm/chunks/chunk.LHWZ4KZU.js.map +0 -7
  559. package/dist/esm/chunks/chunk.LK2DN5KX.js +0 -72
  560. package/dist/esm/chunks/chunk.LM5TVNZY.js +0 -71
  561. package/dist/esm/chunks/chunk.LX2HDAIF.js +0 -458
  562. package/dist/esm/chunks/chunk.M3O5VPDD.js +0 -742
  563. package/dist/esm/chunks/chunk.MBZLA635.js +0 -684
  564. package/dist/esm/chunks/chunk.MEFT5FQC.js +0 -158
  565. package/dist/esm/chunks/chunk.MMIZOYAS.js +0 -147
  566. package/dist/esm/chunks/chunk.MUP3NY6M.js +0 -912
  567. package/dist/esm/chunks/chunk.NX5SKZLU.js +0 -50
  568. package/dist/esm/chunks/chunk.OXS2O7RG.js +0 -476
  569. package/dist/esm/chunks/chunk.PBGL3BRX.js +0 -27
  570. package/dist/esm/chunks/chunk.PKZ43JNW.js +0 -344
  571. package/dist/esm/chunks/chunk.PM7D2SUE.js +0 -297
  572. package/dist/esm/chunks/chunk.PM7D2SUE.js.map +0 -7
  573. package/dist/esm/chunks/chunk.PNKLV3BK.js +0 -513
  574. package/dist/esm/chunks/chunk.PNKLV3BK.js.map +0 -7
  575. package/dist/esm/chunks/chunk.Q4YMHFRY.js +0 -155
  576. package/dist/esm/chunks/chunk.QD7EPCL6.js +0 -144
  577. package/dist/esm/chunks/chunk.QD7EPCL6.js.map +0 -7
  578. package/dist/esm/chunks/chunk.QHHYCB7N.js +0 -56
  579. package/dist/esm/chunks/chunk.QWW6A7AF.js +0 -603
  580. package/dist/esm/chunks/chunk.QWW6A7AF.js.map +0 -7
  581. package/dist/esm/chunks/chunk.QXZZ2MTF.js +0 -52
  582. package/dist/esm/chunks/chunk.QYWAZCBX.js +0 -258
  583. package/dist/esm/chunks/chunk.RD4RIFOZ.js +0 -307
  584. package/dist/esm/chunks/chunk.RL7ZFLMG.js +0 -801
  585. package/dist/esm/chunks/chunk.RL7ZFLMG.js.map +0 -7
  586. package/dist/esm/chunks/chunk.RV3E762Y.js +0 -73
  587. package/dist/esm/chunks/chunk.S3UVF647.js +0 -168
  588. package/dist/esm/chunks/chunk.SNAZ6JSS.js +0 -22
  589. package/dist/esm/chunks/chunk.THKWQXBJ.js +0 -52
  590. package/dist/esm/chunks/chunk.TIUNGGBF.js +0 -964
  591. package/dist/esm/chunks/chunk.TIUNGGBF.js.map +0 -7
  592. package/dist/esm/chunks/chunk.TM46MNYN.js +0 -417
  593. package/dist/esm/chunks/chunk.TYU4RLZG.js +0 -648
  594. package/dist/esm/chunks/chunk.U37G47LH.js +0 -2994
  595. package/dist/esm/chunks/chunk.U37G47LH.js.map +0 -7
  596. package/dist/esm/chunks/chunk.U5ECVIX5.js +0 -561
  597. package/dist/esm/chunks/chunk.UFMUXBT4.js +0 -317
  598. package/dist/esm/chunks/chunk.UFMUXBT4.js.map +0 -7
  599. package/dist/esm/chunks/chunk.UPW5HUKB.js +0 -136
  600. package/dist/esm/chunks/chunk.UQ3QTUUB.js +0 -173
  601. package/dist/esm/chunks/chunk.V2ELLBDP.js +0 -1591
  602. package/dist/esm/chunks/chunk.V6Q2SM6Y.js +0 -187
  603. package/dist/esm/chunks/chunk.VHO7NUMI.js +0 -37
  604. package/dist/esm/chunks/chunk.VK6LIH3B.js +0 -13
  605. package/dist/esm/chunks/chunk.VXAPRFMK.js +0 -978
  606. package/dist/esm/chunks/chunk.VXAPRFMK.js.map +0 -7
  607. package/dist/esm/chunks/chunk.VXVE7KEM.js +0 -248
  608. package/dist/esm/chunks/chunk.WDD2GTIH.js +0 -73
  609. package/dist/esm/chunks/chunk.WIYLQTSX.js +0 -3550
  610. package/dist/esm/chunks/chunk.WNVZQDNS.js +0 -540
  611. package/dist/esm/chunks/chunk.WSH4S3GM.js +0 -507
  612. package/dist/esm/chunks/chunk.WT4W2IFT.js +0 -92
  613. package/dist/esm/chunks/chunk.XE7ZMJBZ.js +0 -2430
  614. package/dist/esm/chunks/chunk.XE7ZMJBZ.js.map +0 -7
  615. package/dist/esm/chunks/chunk.YL2NAVJW.js +0 -244
  616. package/dist/esm/chunks/chunk.ZLF2G3YT.js +0 -350
  617. package/dist/esm/chunks/chunk.ZSHQMR4O.js +0 -59
  618. package/dist/esm/chunks/chunk.ZXIDTDRC.js +0 -419
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/core/utils/date-utils.ts", "../../src/core/utils/svg-utils.ts", "../../src/core/utils/time-utils.ts", "../../src/core/utils/utils.ts"],
4
- "sourcesContent": ["import { isValidDate } from '@tylertech/forge-core';\n\nexport const ISO_8601_REGEX = /^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$/;\nexport const ISO_TIMEZONE_REGEX = /a-z/i;\nconst FUTURE_YEAR_COERCION = 10; // The number of years in the future to coerce two-digit years into current century\n\n/**\n * Parses a date string value to a `Date` object in local time.\n * @param str The date string value.\n */\nexport function parseDateString(value: string): Date | null {\n value = value.replace(/_|\\s/g, ''); // Remove potential extraneous characters\n\n // We first check if this is a valid date in ISO 8601 format and return it if so\n if (ISO_8601_REGEX.test(value)) {\n const iso8601Date = new Date(value);\n\n // This is an ISO string, but does it have a timezone? If not, we add current timezone offset\n if (!ISO_TIMEZONE_REGEX.test(value)) {\n iso8601Date.setMinutes(iso8601Date.getMinutes() + iso8601Date.getTimezoneOffset());\n }\n\n if (isValidDate(iso8601Date)) {\n return iso8601Date;\n }\n }\n\n let values: string[] = [];\n\n // We accept dates with a \"/\" or \"-\" separator and in the format of MM/DD/YYYY\n if (value.indexOf('/') !== -1) {\n values = value.split('/');\n } else if (value.indexOf('-') !== -1) {\n values = value.split('-');\n } else if ((value.length === 6 || value.length === 8) && !isNaN(+value)) {\n values = [value.substring(0, 2), value.substring(2, 4), value.substring(4)];\n }\n\n const hasMonthDayYear = values.length === 3;\n let [month, day, year] = values;\n\n // Ensure are month and year values are coerced from 0 to 1 in case of incomplete entry\n if (month === '0') {\n month = '1';\n }\n if (day === '0') {\n day = '1';\n }\n\n // Trap for the case where only 3 digit years are entered\n if (typeof year === 'string' && year.length === 3) {\n year = year.padEnd(4, '0');\n }\n \n if (hasMonthDayYear) {\n const isValidMonthLength = month.length === 1 || month.length === 2;\n const isValidDayLength = day.length === 1 || day.length === 2;\n const isValidYearLength = year.length === 2 || year.length === 4;\n\n if (!isValidMonthLength || !isValidDayLength || !isValidYearLength) {\n return null;\n }\n } else {\n return null;\n }\n\n // Check if we need to coerce two-digit years to the four-digit equivalent\n if (year.length === 2) {\n const minYear = new Date().getFullYear() - (100 - FUTURE_YEAR_COERCION);\n const maxYear = new Date().getFullYear() + FUTURE_YEAR_COERCION;\n const minYearCentury = String(minYear).slice(0, 2);\n const maxYearCentury = String(maxYear).slice(0, 2);\n const normalizedMaxYear = +String(maxYear).slice(2);\n year = +year <= normalizedMaxYear ? `${maxYearCentury}${year}` : `${minYearCentury}${year}`;\n }\n\n let numMonth = +month;\n let numDay = +day;\n const numYear = +year;\n\n if (numMonth > 12) {\n numMonth = 12;\n }\n\n const maxDaysInMonth = new Date(numYear, numMonth, 0).getDate();\n\n if (numDay > maxDaysInMonth) {\n numDay = maxDaysInMonth;\n }\n\n const parsedDate = new Date(numYear, numMonth - 1, numDay, 0, 0, 0, 0);\n return isValidDate(parsedDate) ? parsedDate : null;\n}\n\n/**\n * Formats a `Date` to a specified format.\n * @param str The date string value.\n */\nexport function formatDate(date: Date): string {\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n const year = date.getFullYear();\n return [month, day, year].join('/');\n}\n\n/**\n * Determines if two date objects are equal.\n * \n * Note: Time values are ignored.\n * @param first The date to compare.\n * @param second The date to compare the first date to. \n * @returns A boolean whether the two dates are equivalent.\n */\nexport function isSameDate(first: Date | null, second: Date | null): boolean {\n if (!first && !second) {\n return true;\n } else if (!first || !second) {\n return false;\n } else if (!isValidDate(first) || !isValidDate(second)) {\n return false;\n }\n return first.setHours(0, 0, 0, 0) === second.setHours(0, 0, 0, 0);\n}\n\n/** \n * Returns the last date on a month.\n * \n * @param month The month.\n * @param year The year of the month, needed for February otherwise optional.\n * @returns The last date of the given month.\n */\nexport function getLastDateOfMonth(month: number, year?: number): Date {\n return new Date(year ?? 1970, month + 1, 0);\n}\n\n/**\n * Returns the number of days in a month.\n * \n * @param month The month to find the length of.\n * @param year The year to check within, needed for February otherwise optional.\n * @returns The number of days in the month.\n */\nexport function getMonthLength(month: number, year?: number): number {\n return getLastDateOfMonth(month, year).getDate();\n}\n", "/**\n * Creates an SVG element from a string.\n */\nexport function createSvgFromString(svgContent: string, defaultViewBox?: string): SVGSVGElement | null {\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n\n // Remove all non-svg child nodes\n for (let i = div.childNodes.length - 1; i >= 0; i--) {\n if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {\n div.removeChild(div.childNodes[i]);\n }\n }\n\n const svgElm = div.firstElementChild as SVGSVGElement;\n if (svgElm && svgElm.nodeName.toLowerCase() === 'svg' && isSafeSvg(svgElm)) {\n // Check if a custom viewbox value was provided and use that if so\n if (defaultViewBox) {\n svgElm.setAttribute('viewBox', defaultViewBox);\n }\n\n // Force a default viewBox if one doesn't exist (this ensures our icon is scalable)\n if (!svgElm.hasAttribute('viewBox') && defaultViewBox) {\n svgElm.setAttribute('viewBox', defaultViewBox);\n }\n\n // Remove any height and width attributes to ensure that the icon is properly scalable\n svgElm.removeAttribute('height');\n svgElm.removeAttribute('width');\n\n return svgElm;\n }\n\n return null;\n}\n\n/**\n * Determines if the provided element is a safe SVG to use.\n * @param el The element reference to test.\n */\nexport function isSafeSvg(el: Element): boolean {\n if (el.nodeType !== 1) {\n return true;\n }\n\n // Validate no <script> tags exist\n if (el.nodeName.toLowerCase() === 'script') {\n return false;\n }\n\n // Ensure there are no inline listeners\n const attributes = Array.from(el.attributes);\n for (const attr of attributes) {\n if (typeof attr.name === 'string' && attr.name.toLowerCase().startsWith('on')) {\n return false;\n }\n }\n\n // Ensure all child nodes are valid\n const childNodes = Array.from(el.childNodes) as Element[];\n for (const node of childNodes) {\n if (!isSafeSvg(node)) {\n return false;\n }\n }\n\n return true;\n}\n", "export const TWENTY_FOUR_HOUR_TIME_REGEX = /^(0?[0-9]|1\\d|2[0-3]):([0-5]\\d)(:([0-5]\\d))?$/;\nexport const TWELVE_HOUR_TIME_REGEX = /^(0?[1-9]|1[0-2]):([0-5]\\d)(:([0-5]\\d))?\\s*([AaPp][Mm])?$/;\nexport const PARSEABLE_TIME_FORMAT = /^(\\d\\d?):?(\\d\\d?)(:?(\\d?\\d?))?\\s*([AaPp][Mm]?)?$/;\n\nexport function tokenize24HourTimeString(value: string): { hours: string; minutes: string; seconds: string } {\n const matches = value.match(TWENTY_FOUR_HOUR_TIME_REGEX) as RegExpMatchArray || [null, 0, 0, null, 0];\n const hours = matches[1];\n const minutes = matches[2];\n const seconds = matches[4];\n return { hours, minutes, seconds };\n}\n\nexport function tokenize12HourTimeString(value: string): { hours: string; minutes: string; seconds: string; meridiem: string } {\n const matches = value.match(TWELVE_HOUR_TIME_REGEX) as RegExpMatchArray || [null, 0, 0, null, 0, 'AM'];\n const hours = matches[1];\n const minutes = matches[2];\n const seconds = matches[4];\n const meridiem = matches[5];\n return { hours, minutes, seconds, meridiem };\n}\n\nexport function isSupportedTimeFormat(value: string): boolean {\n return TWENTY_FOUR_HOUR_TIME_REGEX.test(value) ||\n TWELVE_HOUR_TIME_REGEX.test(value);\n}\n\nexport function tryCoerceTimeString(str: string, use24HourTime: boolean, allowSeconds: boolean): string {\n str = str && typeof str === 'string' ? str.replace(/_|\\s/g, '') : '';\n if (/^\\s*$/.test(str)) {\n return '';\n }\n\n const matches = str.match(PARSEABLE_TIME_FORMAT);\n if (!matches) {\n return '';\n }\n\n let hoursStr = matches[1];\n let minutesStr = matches[2];\n let secondsStr = matches[4];\n let meridiem = matches[5];\n\n // Normalize the meridiem string\n if (use24HourTime) {\n meridiem = '';\n } else if (/[AaPp][Mm]/.test(meridiem)) {\n meridiem = meridiem.toUpperCase();\n } else {\n if (/^[AaPp]/.test(meridiem)) {\n if (meridiem.toLowerCase().startsWith('a')) {\n meridiem = 'AM';\n } else if (meridiem.toLowerCase().startsWith('p')) {\n meridiem = 'PM';\n }\n } else {\n meridiem = '';\n }\n }\n\n const hoursNum = +hoursStr || 0;\n const minutesNum = +minutesStr || 0;\n\n // Clamp and normalize hours\n const maxHours = !meridiem || use24HourTime ? 23 : 12;\n if (hoursNum >= maxHours) {\n hoursStr = String(maxHours);\n } else if (hoursNum < 0) {\n hoursStr = '00';\n }\n\n // Clamp and normalize minutes\n if (minutesStr !== undefined) {\n if (minutesNum > 59) {\n minutesStr = '59';\n } else if (minutesNum < 0) {\n minutesStr = '00';\n } else {\n minutesStr = minutesStr.padStart(2, '0');\n }\n }\n\n // Clamp and normalize seconds (if applicable)\n if (secondsStr !== undefined) {\n const secondsNum = +secondsStr || 0;\n if (secondsNum > 59) {\n secondsStr = '59';\n } else if (secondsNum < 0) {\n secondsStr = '00';\n } else {\n secondsStr = secondsStr.padStart(2, '0');\n }\n }\n\n // Build resulting time string\n let timeStr = hoursStr;\n if (minutesStr !== undefined) {\n timeStr += `:${minutesStr}`;\n if (secondsStr === undefined && allowSeconds) {\n secondsStr = '00';\n }\n }\n if (secondsStr !== undefined) {\n timeStr += `:${secondsStr}`;\n }\n if (meridiem) {\n timeStr += ` ${meridiem}`;\n }\n\n return timeStr;\n}\n", "/**\n * Highlights text in the given label by converting it to HTML and using a `<span>` tag to show the highlighted text within the original label.\n * @param label The full text.\n * @param highlightText The text to highlight.\n */\nexport function highlightTextHTML(label: string, highlightText: string): HTMLElement | undefined {\n const text = label.toLowerCase();\n const startIndex = text.indexOf(highlightText.toLowerCase());\n\n if (startIndex !== -1) {\n const endIndex = startIndex + highlightText.length;\n const wrapperSpan = document.createElement('span');\n const highlightSpan = document.createElement('span');\n\n highlightSpan.style.fontWeight = 'bold';\n highlightSpan.textContent = label.substring(startIndex, endIndex);\n \n wrapperSpan.appendChild(document.createTextNode(label.substring(0, startIndex)));\n wrapperSpan.appendChild(highlightSpan);\n wrapperSpan.appendChild(document.createTextNode(label.substring(endIndex)));\n \n return wrapperSpan;\n }\n\n return undefined;\n}\n\n\n/**\n * Awaits user interaction on an element in the form of `pointerenter` or `focusin` to let a listener know\n * when the user has attempted to interact with the provided element.\n * \n * The listeners are only called once, and the other is removed after one of the listeners is called.\n * @param element The element to listen to.\n * @param capture Whether to use capturing listeners or not.\n * @returns A `Promise` that will be resolved when either of the listeners has executed.\n */\nexport function userInteractionListener(element: HTMLElement, { capture = true, pointerenter = true, focusin = true } = {}): Promise<'pointerenter' | 'focusin'> {\n return new Promise<'pointerenter' | 'focusin'>(resolve => {\n const listenerOpts: EventListenerOptions & { once: boolean } = { once: true, capture };\n \n const handlePointerenter = (): void => {\n if (focusin) {\n element.removeEventListener('focusin', handleFocusin, listenerOpts);\n }\n resolve('pointerenter');\n };\n \n const handleFocusin = (): void => {\n if (pointerenter) {\n element.removeEventListener('pointerenter', handlePointerenter, listenerOpts);\n }\n resolve('focusin');\n };\n\n if (pointerenter) {\n element.addEventListener('pointerenter', handlePointerenter, listenerOpts);\n }\n if (focusin) {\n element.addEventListener('focusin', handleFocusin, listenerOpts);\n }\n });\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,513 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import {
7
- ButtonComponent,
8
- ButtonComponentDelegate
9
- } from "./chunk.QYWAZCBX.js";
10
- import {
11
- BaseComponentDelegate
12
- } from "./chunk.WT4W2IFT.js";
13
- import {
14
- BaseAdapter
15
- } from "./chunk.KZATVOA6.js";
16
- import {
17
- FoundationProperty
18
- } from "./chunk.MMIZOYAS.js";
19
- import {
20
- COMPONENT_NAME_PREFIX,
21
- CustomElement
22
- } from "./chunk.35U3UPDV.js";
23
- import {
24
- BaseComponent
25
- } from "./chunk.VK6LIH3B.js";
26
- import {
27
- attachShadowTemplate,
28
- defineCustomElement,
29
- getShadowElement
30
- } from "./chunk.K2PCTUVN.js";
31
- import {
32
- coerceBoolean,
33
- coerceNumber
34
- } from "./chunk.MEFT5FQC.js";
35
- import {
36
- __decorateClass
37
- } from "./chunk.LM5TVNZY.js";
38
-
39
- // dist/build/lib/staging/src/file-picker/file-picker-constants.ts
40
- var elementName = `${COMPONENT_NAME_PREFIX}file-picker`;
41
- var attributes = {
42
- ACCEPT: "accept",
43
- MAX_SIZE: "max-size",
44
- CAPTURE: "capture",
45
- MULTIPLE: "multiple",
46
- DISABLED: "disabled",
47
- COMPACT: "compact",
48
- BORDERLESS: "borderless"
49
- };
50
- var classes = {
51
- HIGHLIGHT: "highlight",
52
- DISABLED: "disabled",
53
- COMPACT: "compact",
54
- BORDERLESS: "borderless"
55
- };
56
- var ids = {
57
- CONTAINER: "container",
58
- BUTTON: "button",
59
- INPUT: "input"
60
- };
61
- var selectors = {
62
- CONTAINER: "#container",
63
- BUTTON: "#button",
64
- INPUT: "#input",
65
- BUTTON_SLOT: "#button-slot"
66
- };
67
- var events = {
68
- FILES_CHANGED: `${elementName}-change`
69
- };
70
- var FILE_PICKER_CONSTANTS = {
71
- elementName,
72
- attributes,
73
- classes,
74
- ids,
75
- selectors,
76
- events
77
- };
78
-
79
- // dist/build/lib/staging/src/file-picker/file-picker-adapter.ts
80
- var FilePickerAdapter = class extends BaseAdapter {
81
- constructor(component) {
82
- super(component);
83
- this._container = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.CONTAINER);
84
- this._buttonSlot = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.BUTTON_SLOT);
85
- this._input = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.INPUT);
86
- this._inputEventListener = () => {
87
- this._input.value = "";
88
- this._input.click();
89
- };
90
- this._container.addEventListener("click", this._inputEventListener);
91
- }
92
- registerButtonSlotListener(listener) {
93
- this._buttonSlot.addEventListener("slotchange", listener);
94
- }
95
- registerInputChangeListener(listener) {
96
- this._input.addEventListener("change", listener);
97
- }
98
- registerDragEnterListener(listener) {
99
- this._container.addEventListener("dragenter", listener);
100
- }
101
- registerDragLeaveListener(listener) {
102
- this._container.addEventListener("dragleave", listener);
103
- }
104
- registerDragOverListener(listener) {
105
- this._container.addEventListener("dragover", listener);
106
- }
107
- registerDropListener(listener) {
108
- this._container.addEventListener("drop", listener);
109
- }
110
- removeDragEnterListener(listener) {
111
- this._container.removeEventListener("dragenter", listener);
112
- }
113
- removeDragLeaveListener(listener) {
114
- this._container.removeEventListener("dragleave", listener);
115
- }
116
- removeDragOverListener(listener) {
117
- this._container.removeEventListener("dragover", listener);
118
- }
119
- removeDropListener(listener) {
120
- this._container.removeEventListener("drop", listener);
121
- }
122
- initializeButton() {
123
- const button = this._component.querySelector("button");
124
- this._button = button || void 0;
125
- }
126
- setHighlightState(value) {
127
- if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT) !== value) {
128
- this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT);
129
- }
130
- }
131
- setAccept(value) {
132
- if (value) {
133
- this._input.setAttribute("accept", value);
134
- } else {
135
- this._input.removeAttribute("accept");
136
- }
137
- }
138
- setCapture(value) {
139
- if (value) {
140
- this._input.setAttribute("capture", value);
141
- } else {
142
- this._input.removeAttribute("capture");
143
- }
144
- }
145
- setMultiple(value) {
146
- if (value) {
147
- this._input.setAttribute("multiple", "");
148
- } else {
149
- this._input.removeAttribute("multiple");
150
- }
151
- }
152
- setDisabled(value) {
153
- if (value) {
154
- this._container.removeEventListener("click", this._inputEventListener);
155
- this._button.setAttribute("disabled", "");
156
- this._container.setAttribute("disabled", "");
157
- } else {
158
- this._container.addEventListener("click", this._inputEventListener);
159
- this._button.removeAttribute("disabled");
160
- this._container.removeAttribute("disabled");
161
- }
162
- }
163
- setCompact(value) {
164
- if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.COMPACT) !== value) {
165
- this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.COMPACT);
166
- }
167
- }
168
- setBorderless(value) {
169
- if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.BORDERLESS) !== value) {
170
- this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.BORDERLESS);
171
- }
172
- }
173
- };
174
-
175
- // dist/build/lib/staging/src/file-picker/file-picker-foundation.ts
176
- var FilePickerFoundation = class {
177
- constructor(_adapter) {
178
- this._adapter = _adapter;
179
- this._accept = null;
180
- this._maxSize = null;
181
- this._capture = null;
182
- this._multiple = false;
183
- this._disabled = false;
184
- this._compact = false;
185
- this._borderless = false;
186
- this._buttonSlotListener = (evt) => this._onButtonSlotChanged(evt);
187
- this._inputChangeListener = (evt) => this._onInputChange(evt);
188
- this._dragEnterListener = (evt) => this._onDragEnter(evt);
189
- this._dragLeaveListener = (evt) => this._onDragLeave(evt);
190
- this._dragOverListener = (evt) => this._onDragOver(evt);
191
- this._dropListener = (evt) => this._onDrop(evt);
192
- this._adapter.registerButtonSlotListener(this._buttonSlotListener);
193
- this._adapter.registerInputChangeListener(this._inputChangeListener);
194
- if (!this._compact) {
195
- this._registerDragListeners();
196
- }
197
- }
198
- initialize() {
199
- this._adapter.initializeButton();
200
- }
201
- _onButtonSlotChanged(evt) {
202
- this._adapter.initializeButton();
203
- }
204
- _onInputChange(evt) {
205
- const files = evt.target.files;
206
- if (files) {
207
- this._handleFiles(files);
208
- }
209
- }
210
- _onDragEnter(evt) {
211
- this._handleDragEvent(evt, true);
212
- }
213
- _onDragLeave(evt) {
214
- this._handleDragEvent(evt, false);
215
- }
216
- _onDragOver(evt) {
217
- this._handleDragEvent(evt, true);
218
- }
219
- _onDrop(evt) {
220
- this._handleDragEvent(evt, false);
221
- if (!this._disabled) {
222
- const dataTransfer = evt.dataTransfer;
223
- if (dataTransfer) {
224
- const files = dataTransfer.files;
225
- this._handleFiles(files);
226
- }
227
- }
228
- }
229
- _registerDragListeners() {
230
- this._adapter.registerDragEnterListener(this._dragEnterListener);
231
- this._adapter.registerDragLeaveListener(this._dragLeaveListener);
232
- this._adapter.registerDragOverListener(this._dragOverListener);
233
- this._adapter.registerDropListener(this._dropListener);
234
- }
235
- _removeDragListeners() {
236
- this._adapter.removeDragEnterListener(this._dragEnterListener);
237
- this._adapter.removeDragLeaveListener(this._dragLeaveListener);
238
- this._adapter.removeDragOverListener(this._dragOverListener);
239
- this._adapter.removeDropListener(this._dropListener);
240
- }
241
- _handleFiles(fileList) {
242
- let data = {};
243
- if (fileList) {
244
- const sortedFiles = this._sortFiles(fileList);
245
- let files = sortedFiles.legalFiles || null;
246
- if (!this._multiple && files && files.length > 1) {
247
- files = files.splice(1);
248
- }
249
- data = sortedFiles;
250
- }
251
- this._adapter.emitHostEvent(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, data);
252
- }
253
- _sortFiles(files) {
254
- let legalFiles = [];
255
- const illegalFiles = [];
256
- if (!this._accept && !this.maxSize) {
257
- legalFiles = Array.from(files);
258
- return { legalFiles, illegalFiles };
259
- }
260
- const formats = this._accept ? this._accept.split(",").map((f) => f.trim().toLowerCase()) : [""];
261
- for (let i = 0; i < files.length; i++) {
262
- if (!formats.some((f) => {
263
- return files[i].type.toLowerCase().match(f) || files[i].name.toLowerCase().match("\\" + f);
264
- }) || this._maxSize && files[i].size > this._maxSize) {
265
- illegalFiles.push(files[i]);
266
- } else {
267
- legalFiles.push(files[i]);
268
- }
269
- }
270
- return { legalFiles, illegalFiles };
271
- }
272
- _handleDragEvent(evt, isOverTarget) {
273
- if (!this._disabled) {
274
- evt.preventDefault();
275
- evt.stopPropagation();
276
- this._adapter.setHighlightState(isOverTarget);
277
- }
278
- }
279
- get accept() {
280
- return this._accept;
281
- }
282
- set accept(value) {
283
- if (this._accept !== value) {
284
- this._accept = value;
285
- this._adapter.setAccept(value);
286
- if (value) {
287
- this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT, value);
288
- } else {
289
- this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT);
290
- }
291
- }
292
- }
293
- get maxSize() {
294
- return this._maxSize;
295
- }
296
- set maxSize(value) {
297
- if (this._maxSize !== value) {
298
- this._maxSize = value;
299
- if (value) {
300
- this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE, value.toString());
301
- } else {
302
- this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE);
303
- }
304
- }
305
- }
306
- get capture() {
307
- return this._capture;
308
- }
309
- set capture(value) {
310
- if (this._capture !== value) {
311
- this._capture = value;
312
- this._adapter.setCapture(value);
313
- if (value) {
314
- this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE, value);
315
- } else {
316
- this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE);
317
- }
318
- }
319
- }
320
- get multiple() {
321
- return this._multiple;
322
- }
323
- set multiple(value) {
324
- if (this._multiple !== value) {
325
- this._multiple = value;
326
- this._adapter.setMultiple(value);
327
- if (value) {
328
- this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE);
329
- } else {
330
- this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE);
331
- }
332
- }
333
- }
334
- get disabled() {
335
- return this._disabled;
336
- }
337
- set disabled(value) {
338
- if (this._disabled !== value) {
339
- this._disabled = value;
340
- this._adapter.setDisabled(value);
341
- if (value) {
342
- this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED);
343
- } else {
344
- this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED);
345
- }
346
- }
347
- }
348
- get compact() {
349
- return this._compact;
350
- }
351
- set compact(value) {
352
- if (this._compact !== value) {
353
- this._compact = value;
354
- this._adapter.setCompact(value);
355
- if (value) {
356
- this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT);
357
- this._removeDragListeners();
358
- } else {
359
- this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT);
360
- this._registerDragListeners();
361
- }
362
- }
363
- }
364
- get borderless() {
365
- return this._borderless;
366
- }
367
- set borderless(value) {
368
- if (this._borderless !== value) {
369
- this._borderless = value;
370
- this._adapter.setBorderless(value);
371
- if (value) {
372
- this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS);
373
- } else {
374
- this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS);
375
- }
376
- }
377
- }
378
- };
379
-
380
- // dist/build/lib/staging/src/file-picker/file-picker.ts
381
- var template = '<template><form class="forge-file-picker" id="container" part="form"><div class="forge-file-picker__primary" id="primary" part="primary"><slot name="primary"></slot></div><slot id="button-slot"></slot><div class="forge-file-picker__secondary" id="secondary" part="secondary"><slot name="secondary"></slot></div><input type="file" class="forge-file-picker__input" id="input" part="input"></form><div class="forge-file-picker__helper-text" part="helper-text-container"><slot name="helper-text"></slot></div></template>';
382
- var styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text ::slotted([slot=helper-text]){-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));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);display:block;height:auto;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-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;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker__helper-text ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.forge-file-picker[disabled]{background-color:#fafafa;background-color:var(--mdc-theme-background,#fafafa);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button>button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);background-color:rgba(63,81,181,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}';
383
- var FilePickerComponent = class extends BaseComponent {
384
- constructor() {
385
- super();
386
- attachShadowTemplate(this, template, styles);
387
- this._foundation = new FilePickerFoundation(new FilePickerAdapter(this));
388
- }
389
- static get observedAttributes() {
390
- return [
391
- FILE_PICKER_CONSTANTS.attributes.ACCEPT,
392
- FILE_PICKER_CONSTANTS.attributes.MAX_SIZE,
393
- FILE_PICKER_CONSTANTS.attributes.CAPTURE,
394
- FILE_PICKER_CONSTANTS.attributes.MULTIPLE,
395
- FILE_PICKER_CONSTANTS.attributes.DISABLED,
396
- FILE_PICKER_CONSTANTS.attributes.COMPACT,
397
- FILE_PICKER_CONSTANTS.attributes.BORDERLESS
398
- ];
399
- }
400
- connectedCallback() {
401
- this._foundation.initialize();
402
- }
403
- attributeChangedCallback(name, oldValue, newValue) {
404
- switch (name) {
405
- case FILE_PICKER_CONSTANTS.attributes.ACCEPT:
406
- this.accept = newValue;
407
- break;
408
- case FILE_PICKER_CONSTANTS.attributes.MAX_SIZE:
409
- this.maxSize = coerceNumber(newValue);
410
- break;
411
- case FILE_PICKER_CONSTANTS.attributes.CAPTURE:
412
- this.capture = newValue;
413
- break;
414
- case FILE_PICKER_CONSTANTS.attributes.MULTIPLE:
415
- this.multiple = coerceBoolean(newValue);
416
- break;
417
- case FILE_PICKER_CONSTANTS.attributes.DISABLED:
418
- this.disabled = coerceBoolean(newValue);
419
- break;
420
- case FILE_PICKER_CONSTANTS.attributes.COMPACT:
421
- this.compact = coerceBoolean(newValue);
422
- break;
423
- case FILE_PICKER_CONSTANTS.attributes.BORDERLESS:
424
- this.borderless = coerceBoolean(newValue);
425
- break;
426
- }
427
- }
428
- };
429
- __decorateClass([
430
- FoundationProperty()
431
- ], FilePickerComponent.prototype, "accept", 2);
432
- __decorateClass([
433
- FoundationProperty()
434
- ], FilePickerComponent.prototype, "maxSize", 2);
435
- __decorateClass([
436
- FoundationProperty()
437
- ], FilePickerComponent.prototype, "capture", 2);
438
- __decorateClass([
439
- FoundationProperty()
440
- ], FilePickerComponent.prototype, "multiple", 2);
441
- __decorateClass([
442
- FoundationProperty()
443
- ], FilePickerComponent.prototype, "disabled", 2);
444
- __decorateClass([
445
- FoundationProperty()
446
- ], FilePickerComponent.prototype, "compact", 2);
447
- __decorateClass([
448
- FoundationProperty()
449
- ], FilePickerComponent.prototype, "borderless", 2);
450
- FilePickerComponent = __decorateClass([
451
- CustomElement({
452
- name: FILE_PICKER_CONSTANTS.elementName,
453
- dependencies: [ButtonComponent]
454
- })
455
- ], FilePickerComponent);
456
-
457
- // dist/build/lib/staging/src/file-picker/file-picker-component-delegate.ts
458
- var FilePickerComponentDelegate = class extends BaseComponentDelegate {
459
- constructor(config) {
460
- super(config);
461
- }
462
- _build() {
463
- return document.createElement(FILE_PICKER_CONSTANTS.elementName);
464
- }
465
- _configure() {
466
- var _a, _b, _c, _d;
467
- if ((_a = this._config.options) == null ? void 0 : _a.primaryText) {
468
- const primarySpan = document.createElement("span");
469
- primarySpan.slot = "primary";
470
- primarySpan.textContent = this._config.options.primaryText;
471
- this._element.appendChild(primarySpan);
472
- }
473
- if ((_b = this._config.options) == null ? void 0 : _b.secondaryText) {
474
- const secondarySpan = document.createElement("span");
475
- secondarySpan.slot = "secondary";
476
- secondarySpan.textContent = this._config.options.secondaryText;
477
- this._element.appendChild(secondarySpan);
478
- }
479
- if ((_c = this._config.options) == null ? void 0 : _c.buttonText) {
480
- new ButtonComponentDelegate({
481
- options: {
482
- parent: this._element,
483
- text: this._config.options.buttonText
484
- },
485
- props: { type: "outlined" }
486
- });
487
- }
488
- if ((_d = this._config.options) == null ? void 0 : _d.helperText) {
489
- const helperTextSpan = document.createElement("span");
490
- helperTextSpan.slot = "helper-text";
491
- helperTextSpan.textContent = this._config.options.helperText;
492
- this._element.appendChild(helperTextSpan);
493
- }
494
- }
495
- onChange(cb) {
496
- this._element.addEventListener(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, (evt) => cb(evt.detail));
497
- }
498
- };
499
-
500
- // dist/build/lib/staging/src/file-picker/index.ts
501
- function defineFilePickerComponent() {
502
- defineCustomElement(FilePickerComponent);
503
- }
504
-
505
- export {
506
- FILE_PICKER_CONSTANTS,
507
- FilePickerAdapter,
508
- FilePickerFoundation,
509
- FilePickerComponent,
510
- FilePickerComponentDelegate,
511
- defineFilePickerComponent
512
- };
513
- //# sourceMappingURL=chunk.PNKLV3BK.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/file-picker/file-picker-constants.ts", "../../src/file-picker/file-picker-adapter.ts", "../../src/file-picker/file-picker-foundation.ts", "../../src/file-picker/file-picker.ts", "../../src/file-picker/file-picker-component-delegate.ts", "../../src/file-picker/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}file-picker`;\n\nconst attributes = {\n ACCEPT: 'accept',\n MAX_SIZE: 'max-size',\n CAPTURE: 'capture',\n MULTIPLE: 'multiple',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst classes = {\n HIGHLIGHT: 'highlight',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst ids = {\n CONTAINER: 'container',\n BUTTON: 'button',\n INPUT: 'input'\n};\n\nconst selectors = {\n CONTAINER: '#container',\n BUTTON: '#button',\n INPUT: '#input',\n BUTTON_SLOT: '#button-slot'\n};\n\nconst events = {\n FILES_CHANGED: `${elementName}-change`\n};\n\nexport const FILE_PICKER_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n selectors,\n events\n};\n\nexport interface IFilePickerChangeEventData {\n legalFiles?: File[];\n illegalFiles?: File[];\n}\n", "import { getShadowElement, emitEvent } from '@tylertech/forge-core';\n\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS } from './file-picker-constants';\nimport { BaseAdapter, IBaseAdapter } from '../core';\n\nexport interface IFilePickerAdapter extends IBaseAdapter {\n registerButtonSlotListener(listener: (evt: Event) => void): void;\n registerInputChangeListener(listener: (evt: Event) => void): void;\n registerDragEnterListener(listener: (evt: DragEvent) => void): void;\n registerDragLeaveListener(listener: (evt: DragEvent) => void): void;\n registerDragOverListener(listener: (evt: DragEvent) => void): void;\n registerDropListener(listener: (evt: DragEvent) => void): void;\n removeDragEnterListener(listener: (evt: DragEvent) => void): void;\n removeDragLeaveListener(listener: (evt: DragEvent) => void): void;\n removeDragOverListener(listener: (evt: DragEvent) => void): void;\n removeDropListener(listener: (evt: DragEvent) => void): void;\n initializeButton(): void;\n setHighlightState(value: boolean): void;\n setAccept(value: string | null): void;\n setCapture(value: string | null): void;\n setMultiple(value: boolean): void;\n setDisabled(value: boolean): void;\n setCompact(value: boolean): void;\n setBorderless(value: boolean): void;\n}\n\nexport class FilePickerAdapter extends BaseAdapter<IFilePickerComponent> implements IFilePickerAdapter {\n private _container: HTMLElement;\n private _buttonSlot: HTMLSlotElement;\n private _button: HTMLButtonElement;\n private _input: HTMLInputElement;\n private _inputEventListener: () => void;\n\n constructor(component: IFilePickerComponent) {\n super(component);\n\n this._container = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.CONTAINER);\n this._buttonSlot = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.BUTTON_SLOT) as HTMLSlotElement;\n this._input = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.INPUT) as HTMLInputElement;\n\n this._inputEventListener = () => {\n this._input.value = '';\n this._input.click();\n };\n\n this._container.addEventListener('click', this._inputEventListener);\n }\n\n public registerButtonSlotListener(listener: (evt: Event) => void): void {\n this._buttonSlot.addEventListener('slotchange', listener);\n }\n\n public registerInputChangeListener(listener: (evt: Event) => void): void {\n this._input.addEventListener('change', listener);\n }\n\n public registerDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragenter', listener);\n }\n\n public registerDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragleave', listener);\n }\n\n public registerDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragover', listener);\n }\n\n public registerDropListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('drop', listener);\n }\n\n public removeDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragenter', listener);\n }\n\n public removeDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragleave', listener);\n }\n\n public removeDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragover', listener);\n }\n\n public removeDropListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('drop', listener);\n }\n\n public initializeButton(): void {\n const button = this._component.querySelector('button') as HTMLButtonElement;\n this._button = button || undefined;\n }\n\n /**\n * Sets the highlight state of the file picker.\n * @param value True if the highlight should be applied and false if not.\n */\n public setHighlightState(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT);\n }\n }\n\n /**\n * Sets the accept attribute of the input.\n * @param value The accept string.\n */\n public setAccept(value: string | null): void {\n if (value) {\n this._input.setAttribute('accept', value);\n } else {\n this._input.removeAttribute('accept');\n }\n }\n\n /**\n * Sets the capture attribute of the input.\n * @param value The capture string.\n */\n public setCapture(value: string | null): void {\n if (value) {\n this._input.setAttribute('capture', value);\n } else {\n this._input.removeAttribute('capture');\n }\n }\n\n /**\n * Sets the multiple attribute of the input.\n * @param value The multiple state.\n */\n public setMultiple(value: boolean): void {\n if (value) {\n this._input.setAttribute('multiple', '');\n } else {\n this._input.removeAttribute('multiple');\n }\n }\n\n /**\n * Sets the disabled state of the file picker.\n * @param value The disabled state.\n */\n public setDisabled(value: boolean): void {\n if (value) {\n this._container.removeEventListener('click', this._inputEventListener);\n this._button.setAttribute('disabled', '');\n this._container.setAttribute('disabled', '');\n } else {\n this._container.addEventListener('click', this._inputEventListener);\n this._button.removeAttribute('disabled');\n this._container.removeAttribute('disabled');\n }\n }\n\n /**\n * Sets the compact state of the file picker.\n * @param value The compact state.\n */\n public setCompact(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.COMPACT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.COMPACT);\n }\n }\n\n /**\n * Sets the borderless state of the file picker.\n * @param value The borderless state.\n */\n public setBorderless(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.BORDERLESS) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.BORDERLESS);\n }\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IFilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport interface IFilePickerFoundation extends ICustomElementFoundation {\n accept: string | null;\n maxSize: number | null;\n capture: string | null;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\nexport class FilePickerFoundation implements IFilePickerFoundation {\n private _accept: string | null = null;\n private _maxSize: number | null = null;\n private _capture: string | null = null;\n private _multiple = false;\n private _disabled = false;\n private _compact = false;\n private _borderless = false;\n private _buttonSlotListener: (evt: Event) => void;\n private _inputChangeListener: (evt: Event) => void;\n private _dragEnterListener: (evt: DragEvent) => void;\n private _dragLeaveListener: (evt: DragEvent) => void;\n private _dragOverListener: (evt: DragEvent) => void;\n private _dropListener: (evt: DragEvent) => void;\n\n constructor(private _adapter: IFilePickerAdapter) {\n this._buttonSlotListener = evt => this._onButtonSlotChanged(evt);\n this._inputChangeListener = evt => this._onInputChange(evt);\n this._dragEnterListener = evt => this._onDragEnter(evt);\n this._dragLeaveListener = evt => this._onDragLeave(evt);\n this._dragOverListener = evt => this._onDragOver(evt);\n this._dropListener = evt => this._onDrop(evt);\n\n this._adapter.registerButtonSlotListener(this._buttonSlotListener);\n this._adapter.registerInputChangeListener(this._inputChangeListener);\n if (!this._compact) {\n this._registerDragListeners();\n }\n }\n\n public initialize(): void {\n this._adapter.initializeButton();\n }\n\n private _onButtonSlotChanged(evt: Event): void {\n this._adapter.initializeButton();\n }\n\n private _onInputChange(evt: Event): void {\n const files = (evt.target as HTMLInputElement).files;\n if (files) {\n this._handleFiles(files);\n }\n }\n\n private _onDragEnter(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDragLeave(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n }\n\n private _onDragOver(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDrop(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n\n if (!this._disabled) {\n const dataTransfer = evt.dataTransfer;\n if (dataTransfer) {\n const files = dataTransfer.files;\n this._handleFiles(files);\n }\n }\n }\n\n private _registerDragListeners(): void {\n this._adapter.registerDragEnterListener(this._dragEnterListener);\n this._adapter.registerDragLeaveListener(this._dragLeaveListener);\n this._adapter.registerDragOverListener(this._dragOverListener);\n this._adapter.registerDropListener(this._dropListener);\n }\n\n private _removeDragListeners(): void {\n this._adapter.removeDragEnterListener(this._dragEnterListener);\n this._adapter.removeDragLeaveListener(this._dragLeaveListener);\n this._adapter.removeDragOverListener(this._dragOverListener);\n this._adapter.removeDropListener(this._dropListener);\n }\n\n private _handleFiles(fileList: FileList): void {\n let data: IFilePickerChangeEventData = {};\n if (fileList) {\n const sortedFiles = this._sortFiles(fileList);\n let files = sortedFiles.legalFiles || null;\n\n // Ensure that we can only drop 1 file if not in multiple mode\n if (!this._multiple && files && files.length > 1) {\n files = files.splice(1);\n }\n\n data = sortedFiles;\n }\n this._adapter.emitHostEvent(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, data);\n }\n\n private _sortFiles(files: FileList): IFilePickerChangeEventData {\n let legalFiles: File[] = [];\n const illegalFiles: File[] = [];\n\n if (!this._accept && !this.maxSize) {\n legalFiles = Array.from(files);\n return { legalFiles, illegalFiles };\n }\n\n const formats = this._accept ? this._accept.split(',').map(f => f.trim().toLowerCase()) : [''];\n\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < files.length; i++) {\n if (!formats.some(f => {\n return files[i].type.toLowerCase().match(f) || files[i].name.toLowerCase().match('\\\\' + f);\n }) || (this._maxSize && files[i].size > this._maxSize)) {\n illegalFiles.push(files[i]);\n } else {\n legalFiles.push(files[i]);\n }\n }\n\n return { legalFiles, illegalFiles };\n }\n\n private _handleDragEvent(evt: DragEvent, isOverTarget: boolean): void {\n if (!this._disabled) {\n evt.preventDefault();\n evt.stopPropagation();\n this._adapter.setHighlightState(isOverTarget);\n }\n }\n\n /** Get and set the allowed file types */\n public get accept(): string | null {\n return this._accept;\n }\n public set accept(value: string | null) {\n if (this._accept !== value) {\n this._accept = value;\n this._adapter.setAccept(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT, value);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT);\n }\n }\n }\n\n /** Get and set the maximum allowed file size */\n public get maxSize(): number | null {\n return this._maxSize;\n }\n public set maxSize(value: number | null) {\n if (this._maxSize !== value) {\n this._maxSize = value;\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE, value.toString());\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE);\n }\n }\n }\n\n /** Get and set the camera to use when capturing video or images */\n public get capture(): string | null {\n return this._capture;\n }\n public set capture(value: string | null) {\n if (this._capture !== value) {\n this._capture = value;\n this._adapter.setCapture(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE, value);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE);\n }\n }\n }\n\n /** Get and set whether multiple files are allowed */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._adapter.setMultiple(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE);\n }\n }\n }\n\n /** Get and set whether the file picker is disabled */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED);\n }\n }\n }\n\n /** Get and set whether the file picker is compact */\n public get compact(): boolean {\n return this._compact;\n }\n public set compact(value: boolean) {\n if (this._compact !== value) {\n this._compact = value;\n this._adapter.setCompact(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT);\n this._removeDragListeners();\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT);\n this._registerDragListeners();\n }\n }\n }\n\n /** Get and set whether the file picker is borderless */\n public get borderless(): boolean {\n return this._borderless;\n }\n public set borderless(value: boolean) {\n if (this._borderless !== value) {\n this._borderless = value;\n this._adapter.setBorderless(value);\n if (value) {\n this._adapter.setHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS);\n } else {\n this._adapter.removeHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS);\n }\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { ButtonComponent } from '../button';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { FilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\nimport { FilePickerFoundation } from './file-picker-foundation';\n\nconst template = '<template><form class=\\\"forge-file-picker\\\" id=\\\"container\\\" part=\\\"form\\\"><div class=\\\"forge-file-picker__primary\\\" id=\\\"primary\\\" part=\\\"primary\\\"><slot name=\\\"primary\\\"></slot></div><slot id=\\\"button-slot\\\"></slot><div class=\\\"forge-file-picker__secondary\\\" id=\\\"secondary\\\" part=\\\"secondary\\\"><slot name=\\\"secondary\\\"></slot></div><input type=\\\"file\\\" class=\\\"forge-file-picker__input\\\" id=\\\"input\\\" part=\\\"input\\\"></form><div class=\\\"forge-file-picker__helper-text\\\" part=\\\"helper-text-container\\\"><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text ::slotted([slot=helper-text]){-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));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);display:block;height:auto;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-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;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker__helper-text ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:\\\"\\\";vertical-align:0}.forge-file-picker[disabled]{background-color:#fafafa;background-color:var(--mdc-theme-background,#fafafa);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button>button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);background-color:rgba(63,81,181,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}';\n\nexport interface IFilePickerComponent extends IBaseComponent {\n accept: string | null;\n maxSize: number | null;\n capture: string | null;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-file-picker': IFilePickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-file-picker-change': CustomEvent<IFilePickerChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-file-picker>` custom element.\n * \n * @tag forge-file-picker\n */\n@CustomElement({\n name: FILE_PICKER_CONSTANTS.elementName,\n dependencies: [ButtonComponent]\n})\nexport class FilePickerComponent extends BaseComponent implements IFilePickerComponent {\n public static get observedAttributes(): string[] {\n return [\n FILE_PICKER_CONSTANTS.attributes.ACCEPT,\n FILE_PICKER_CONSTANTS.attributes.MAX_SIZE,\n FILE_PICKER_CONSTANTS.attributes.CAPTURE,\n FILE_PICKER_CONSTANTS.attributes.MULTIPLE,\n FILE_PICKER_CONSTANTS.attributes.DISABLED,\n FILE_PICKER_CONSTANTS.attributes.COMPACT,\n FILE_PICKER_CONSTANTS.attributes.BORDERLESS\n ];\n }\n\n private _foundation: FilePickerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new FilePickerFoundation(new FilePickerAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FILE_PICKER_CONSTANTS.attributes.ACCEPT:\n this.accept = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MAX_SIZE:\n this.maxSize = coerceNumber(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.CAPTURE:\n this.capture = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.COMPACT:\n this.compact = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.BORDERLESS:\n this.borderless = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets and sets the allowed file types */\n @FoundationProperty()\n public accept: string | null;\n\n /** Gets and sets the maximum allowed file size */\n @FoundationProperty()\n public maxSize: number | null;\n\n /** Gets and sets the camera to use when capturing video or images */\n @FoundationProperty()\n public capture: string | null;\n\n /** Gets and sets whether multiple files are allowed */\n @FoundationProperty()\n public multiple: boolean;\n\n /** Gets and sets whether the file picker is disabled */\n @FoundationProperty()\n public disabled: boolean;\n\n /** Gets and sets whether the file picker is compact */\n @FoundationProperty()\n public compact: boolean;\n\n /** Gets and sets whether the file picker is borderless */\n @FoundationProperty()\n public borderless: boolean;\n}\n", "import { ButtonComponentDelegate } from '../button/button-component-delegate';\nimport { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport type FilePickerComponentDelegateProps = Partial<IFilePickerComponent>;\nexport interface IFilePickerComponentDelegateOptions extends IBaseComponentDelegateOptions {\n primaryText?: string;\n secondaryText?: string;\n helperText?: string;\n buttonText?: string;\n}\nexport interface IFilePickerComponentDelegateConfig extends IBaseComponentDelegateConfig<IFilePickerComponent, IFilePickerComponentDelegateOptions> {}\n\nexport class FilePickerComponentDelegate extends BaseComponentDelegate<IFilePickerComponent, IFilePickerComponentDelegateOptions> {\n constructor(config?: IFilePickerComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IFilePickerComponent {\n return document.createElement(FILE_PICKER_CONSTANTS.elementName);\n }\n\n protected _configure(): void {\n if (this._config.options?.primaryText) {\n const primarySpan = document.createElement('span');\n primarySpan.slot = 'primary';\n primarySpan.textContent = this._config.options.primaryText;\n this._element.appendChild(primarySpan);\n }\n\n if (this._config.options?.secondaryText) {\n const secondarySpan = document.createElement('span');\n secondarySpan.slot = 'secondary';\n secondarySpan.textContent = this._config.options.secondaryText;\n this._element.appendChild(secondarySpan);\n }\n\n if (this._config.options?.buttonText) {\n new ButtonComponentDelegate({\n options: {\n parent: this._element,\n text: this._config.options.buttonText\n },\n props: { type: 'outlined' }\n });\n }\n\n if (this._config.options?.helperText) {\n const helperTextSpan = document.createElement('span');\n helperTextSpan.slot = 'helper-text';\n helperTextSpan.textContent = this._config.options.helperText;\n this._element.appendChild(helperTextSpan);\n }\n }\n\n public onChange(cb: (evt: IFilePickerChangeEventData) => void): void {\n this._element.addEventListener(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, (evt: CustomEvent<IFilePickerChangeEventData>) => cb(evt.detail));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { FilePickerComponent } from './file-picker';\n\nexport * from './file-picker-adapter';\nexport * from './file-picker-constants';\nexport * from './file-picker-foundation';\nexport * from './file-picker';\nexport * from './file-picker-component-delegate';\n\nexport function defineFilePickerComponent(): void {\n defineCustomElement(FilePickerComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }