@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.
- package/custom-elements.json +4525 -246
- package/dist/esm/accordion/index.js +1 -34
- package/dist/esm/app-bar/help-button/index.js +1 -53
- package/dist/esm/app-bar/index.js +1 -131
- package/dist/esm/app-bar/menu-button/index.js +1 -36
- package/dist/esm/app-bar/notification-button/index.js +1 -41
- package/dist/esm/app-bar/profile-button/index.js +1 -46
- package/dist/esm/app-bar/search/index.js +1 -38
- package/dist/esm/autocomplete/index.js +1 -72
- package/dist/esm/avatar/index.js +1 -27
- package/dist/esm/backdrop/index.js +1 -22
- package/dist/esm/badge/index.js +1 -25
- package/dist/esm/banner/index.js +1 -40
- package/dist/esm/bottom-sheet/index.js +1 -40
- package/dist/esm/busy-indicator/index.js +1 -33
- package/dist/esm/button/index.js +1 -25
- package/dist/esm/button-toggle/button-toggle/index.js +1 -27
- package/dist/esm/button-toggle/button-toggle-group/index.js +1 -26
- package/dist/esm/button-toggle/index.js +1 -40
- package/dist/esm/calendar/calendar-dropdown/index.js +1 -30
- package/dist/esm/calendar/calendar-menu/index.js +1 -43
- package/dist/esm/calendar/core/index.js +1 -7
- package/dist/esm/calendar/index.js +1 -194
- package/dist/esm/card/index.js +1 -16
- package/dist/esm/checkbox/index.js +1 -39
- package/dist/esm/chip-field/index.js +1 -46
- package/dist/esm/chips/chip/index.js +1 -37
- package/dist/esm/chips/chip-set/index.js +1 -37
- package/dist/esm/chips/index.js +1 -50
- package/dist/esm/chunks/chunk.23VA56ZY.js +7 -0
- package/dist/esm/chunks/{chunk.M3O5VPDD.js.map → chunk.23VA56ZY.js.map} +1 -1
- package/dist/esm/chunks/chunk.24D46RLZ.js +7 -0
- package/dist/esm/chunks/{chunk.HZISALRH.js.map → chunk.24D46RLZ.js.map} +1 -1
- package/dist/esm/chunks/chunk.2A3CKLXJ.js +7 -0
- package/dist/esm/chunks/{chunk.U5ECVIX5.js.map → chunk.2A3CKLXJ.js.map} +1 -1
- package/dist/esm/chunks/chunk.2GY2VPJG.js +7 -0
- package/dist/esm/chunks/{chunk.FWJ7SIFA.js.map → chunk.2GY2VPJG.js.map} +1 -1
- package/dist/esm/chunks/chunk.2YGKMENJ.js +7 -0
- package/dist/esm/chunks/chunk.2YGKMENJ.js.map +7 -0
- package/dist/esm/chunks/chunk.33Q5FK2H.js +7 -0
- package/dist/esm/chunks/{chunk.LX2HDAIF.js.map → chunk.33Q5FK2H.js.map} +2 -2
- package/dist/esm/chunks/chunk.35U4OX7S.js +7 -0
- package/dist/esm/chunks/{chunk.E26BROOG.js.map → chunk.35U4OX7S.js.map} +1 -1
- package/dist/esm/chunks/chunk.3E5QKMHL.js +7 -0
- package/dist/esm/chunks/{chunk.VK6LIH3B.js.map → chunk.3E5QKMHL.js.map} +1 -1
- package/dist/esm/chunks/chunk.444GNOS4.js +7 -0
- package/dist/esm/chunks/{chunk.FZ6KICMD.js.map → chunk.444GNOS4.js.map} +1 -1
- package/dist/esm/chunks/chunk.54QFNVMG.js +7 -0
- package/dist/esm/chunks/{chunk.6ZBFCE2A.js.map → chunk.54QFNVMG.js.map} +1 -1
- package/dist/esm/chunks/chunk.57XBS3DF.js +7 -0
- package/dist/esm/chunks/chunk.57XBS3DF.js.map +7 -0
- package/dist/esm/chunks/chunk.5HUDHTAK.js +7 -0
- package/dist/esm/chunks/chunk.5HUDHTAK.js.map +7 -0
- package/dist/esm/chunks/chunk.5QK7XR2W.js +7 -0
- package/dist/esm/chunks/{chunk.EUPO2VO2.js.map → chunk.5QK7XR2W.js.map} +1 -1
- package/dist/esm/chunks/chunk.5SRA2RH3.js +7 -0
- package/dist/esm/chunks/chunk.5SRA2RH3.js.map +7 -0
- package/dist/esm/chunks/chunk.5WMEFHVN.js +7 -0
- package/dist/esm/chunks/{chunk.35BJJH5E.js.map → chunk.5WMEFHVN.js.map} +1 -1
- package/dist/esm/chunks/chunk.5XQVZQ4U.js +7 -0
- package/dist/esm/chunks/chunk.5XQVZQ4U.js.map +7 -0
- package/dist/esm/chunks/chunk.6APYGKNX.js +7 -0
- package/dist/esm/chunks/{chunk.ZSHQMR4O.js.map → chunk.6APYGKNX.js.map} +1 -1
- package/dist/esm/chunks/chunk.6BKOGBE6.js +7 -0
- package/dist/esm/chunks/chunk.6BKOGBE6.js.map +7 -0
- package/dist/esm/chunks/chunk.6P6VQMTU.js +7 -0
- package/dist/esm/chunks/chunk.6P6VQMTU.js.map +7 -0
- package/dist/esm/chunks/chunk.7GT5LOI3.js +7 -0
- package/dist/esm/chunks/{chunk.V6Q2SM6Y.js.map → chunk.7GT5LOI3.js.map} +1 -1
- package/dist/esm/chunks/chunk.7JTKKFL4.js +7 -0
- package/dist/esm/chunks/{chunk.GWNR3UUX.js.map → chunk.7JTKKFL4.js.map} +1 -1
- package/dist/esm/chunks/chunk.7NXPOEXV.js +7 -0
- package/dist/esm/chunks/{chunk.7UAH67PT.js.map → chunk.7NXPOEXV.js.map} +1 -1
- package/dist/esm/chunks/chunk.7TQYFMM4.js +7 -0
- package/dist/esm/chunks/{chunk.WSH4S3GM.js.map → chunk.7TQYFMM4.js.map} +1 -1
- package/dist/esm/chunks/chunk.7WWP6WI6.js +7 -0
- package/dist/esm/chunks/chunk.7WWP6WI6.js.map +7 -0
- package/dist/esm/chunks/chunk.7ZS4N2FT.js +8 -0
- package/dist/esm/chunks/{chunk.WIYLQTSX.js.map → chunk.7ZS4N2FT.js.map} +1 -1
- package/dist/esm/chunks/chunk.A23NSEWA.js +7 -0
- package/dist/esm/chunks/{chunk.KZATVOA6.js.map → chunk.A23NSEWA.js.map} +1 -1
- package/dist/esm/chunks/chunk.A6I4EIPW.js +7 -0
- package/dist/esm/chunks/{chunk.L4OUV7W6.js.map → chunk.A6I4EIPW.js.map} +1 -1
- package/dist/esm/chunks/chunk.AABG6MSC.js +7 -0
- package/dist/esm/chunks/chunk.AABG6MSC.js.map +7 -0
- package/dist/esm/chunks/chunk.AFZB3MG5.js +7 -0
- package/dist/esm/chunks/{chunk.UQ3QTUUB.js.map → chunk.AFZB3MG5.js.map} +1 -1
- package/dist/esm/chunks/chunk.AHOQXJRN.js +7 -0
- package/dist/esm/chunks/{chunk.S3UVF647.js.map → chunk.AHOQXJRN.js.map} +1 -1
- package/dist/esm/chunks/chunk.AJJILT3A.js +6 -0
- package/dist/esm/chunks/{chunk.LM5TVNZY.js.map → chunk.AJJILT3A.js.map} +0 -0
- package/dist/esm/chunks/chunk.AMFXGOSA.js +7 -0
- package/dist/esm/chunks/{chunk.PBGL3BRX.js.map → chunk.AMFXGOSA.js.map} +1 -1
- package/dist/esm/chunks/chunk.AWCBH5KW.js +7 -0
- package/dist/esm/chunks/{chunk.RV3E762Y.js.map → chunk.AWCBH5KW.js.map} +1 -1
- package/dist/esm/chunks/chunk.B3IJU6XJ.js +7 -0
- package/dist/esm/chunks/{chunk.MMIZOYAS.js.map → chunk.B3IJU6XJ.js.map} +1 -1
- package/dist/esm/chunks/chunk.B5ABD4CZ.js +7 -0
- package/dist/esm/chunks/{chunk.WDD2GTIH.js.map → chunk.B5ABD4CZ.js.map} +1 -1
- package/dist/esm/chunks/chunk.BCUBTR5O.js +7 -0
- package/dist/esm/chunks/{chunk.3EHQ3YHJ.js.map → chunk.BCUBTR5O.js.map} +1 -1
- package/dist/esm/chunks/chunk.BSZ2LBJX.js +7 -0
- package/dist/esm/chunks/{chunk.35U3UPDV.js.map → chunk.BSZ2LBJX.js.map} +1 -1
- package/dist/esm/chunks/chunk.CSOY4C7A.js +7 -0
- package/dist/esm/chunks/{chunk.KNR5DXE4.js.map → chunk.CSOY4C7A.js.map} +1 -1
- package/dist/esm/chunks/chunk.CV5E5W6I.js +7 -0
- package/dist/esm/chunks/{chunk.YL2NAVJW.js.map → chunk.CV5E5W6I.js.map} +2 -2
- package/dist/esm/chunks/chunk.D3DLVPPE.js +7 -0
- package/dist/esm/chunks/{chunk.5U6ZT6MC.js.map → chunk.D3DLVPPE.js.map} +1 -1
- package/dist/esm/chunks/chunk.D4SNVKDA.js +14 -0
- package/dist/esm/chunks/{chunk.BYN27JXZ.js.map → chunk.D4SNVKDA.js.map} +1 -1
- package/dist/esm/chunks/chunk.DGDT4UQT.js +7 -0
- package/dist/esm/chunks/{chunk.IBED5TWL.js.map → chunk.DGDT4UQT.js.map} +1 -1
- package/dist/esm/chunks/chunk.DGOV5RDW.js +29 -0
- package/dist/esm/chunks/{chunk.TYU4RLZG.js.map → chunk.DGOV5RDW.js.map} +1 -1
- package/dist/esm/chunks/chunk.DGQAYNAF.js +7 -0
- package/dist/esm/chunks/{chunk.GHZ75UPO.js.map → chunk.DGQAYNAF.js.map} +1 -1
- package/dist/esm/chunks/chunk.DIYJJHWP.js +7 -0
- package/dist/esm/chunks/{chunk.THKWQXBJ.js.map → chunk.DIYJJHWP.js.map} +1 -1
- package/dist/esm/chunks/chunk.DJSOBAWA.js +7 -0
- package/dist/esm/chunks/{chunk.67B6JDOJ.js.map → chunk.DJSOBAWA.js.map} +1 -1
- package/dist/esm/chunks/chunk.DRFU6POI.js +7 -0
- package/dist/esm/chunks/{chunk.DLF5JAQO.js.map → chunk.DRFU6POI.js.map} +2 -2
- package/dist/esm/chunks/chunk.DVYJDQ55.js +7 -0
- package/dist/esm/chunks/chunk.DVYJDQ55.js.map +7 -0
- package/dist/esm/chunks/chunk.E37HEAJ5.js +7 -0
- package/dist/esm/chunks/{chunk.2NMHSTAO.js.map → chunk.E37HEAJ5.js.map} +3 -3
- package/dist/esm/chunks/chunk.E43TT4RI.js +7 -0
- package/dist/esm/chunks/{chunk.SNAZ6JSS.js.map → chunk.E43TT4RI.js.map} +1 -1
- package/dist/esm/chunks/chunk.EC6JSIQW.js +7 -0
- package/dist/esm/chunks/{chunk.EY57VTRF.js.map → chunk.EC6JSIQW.js.map} +1 -1
- package/dist/esm/chunks/chunk.EM3OQRZP.js +7 -0
- package/dist/esm/chunks/chunk.EM3OQRZP.js.map +7 -0
- package/dist/esm/chunks/chunk.ESW45SN4.js +7 -0
- package/dist/esm/chunks/chunk.ESW45SN4.js.map +7 -0
- package/dist/esm/chunks/chunk.F5I55MXD.js +7 -0
- package/dist/esm/chunks/chunk.F5I55MXD.js.map +7 -0
- package/dist/esm/chunks/chunk.G5BCWBD5.js +7 -0
- package/dist/esm/chunks/{chunk.EBC2HGO3.js.map → chunk.G5BCWBD5.js.map} +1 -1
- package/dist/esm/chunks/chunk.G76HB2FK.js +7 -0
- package/dist/esm/chunks/{chunk.MEFT5FQC.js.map → chunk.G76HB2FK.js.map} +1 -1
- package/dist/esm/chunks/chunk.GP7WDYWQ.js +7 -0
- package/dist/esm/chunks/chunk.GP7WDYWQ.js.map +7 -0
- package/dist/esm/chunks/chunk.GVQVA7P3.js +7 -0
- package/dist/esm/chunks/{chunk.6EGTLHJS.js.map → chunk.GVQVA7P3.js.map} +2 -2
- package/dist/esm/chunks/chunk.HN4PXH3D.js +7 -0
- package/dist/esm/chunks/{chunk.K2PCTUVN.js.map → chunk.HN4PXH3D.js.map} +1 -1
- package/dist/esm/chunks/chunk.I33ZJKOX.js +7 -0
- package/dist/esm/chunks/{chunk.TM46MNYN.js.map → chunk.I33ZJKOX.js.map} +1 -1
- package/dist/esm/chunks/chunk.IBQVV4HR.js +7 -0
- package/dist/esm/chunks/{chunk.MBZLA635.js.map → chunk.IBQVV4HR.js.map} +2 -2
- package/dist/esm/chunks/chunk.IGMTMR3D.js +7 -0
- package/dist/esm/chunks/{chunk.RD4RIFOZ.js.map → chunk.IGMTMR3D.js.map} +1 -1
- package/dist/esm/chunks/chunk.IJIKFXUT.js +7 -0
- package/dist/esm/chunks/{chunk.K7OLG7CS.js.map → chunk.IJIKFXUT.js.map} +1 -1
- package/dist/esm/chunks/chunk.IMK2LFWR.js +7 -0
- package/dist/esm/chunks/{chunk.Q4YMHFRY.js.map → chunk.IMK2LFWR.js.map} +1 -1
- package/dist/esm/chunks/chunk.J6ERQLHJ.js +7 -0
- package/dist/esm/chunks/chunk.J6ERQLHJ.js.map +7 -0
- package/dist/esm/chunks/chunk.JXQZMASB.js +7 -0
- package/dist/esm/chunks/{chunk.QYWAZCBX.js.map → chunk.JXQZMASB.js.map} +1 -1
- package/dist/esm/chunks/chunk.K43ZNKT2.js +7 -0
- package/dist/esm/chunks/{chunk.7FWTBD6Y.js.map → chunk.K43ZNKT2.js.map} +1 -1
- package/dist/esm/chunks/chunk.K753A3KI.js +29 -0
- package/dist/esm/chunks/{chunk.ZXIDTDRC.js.map → chunk.K753A3KI.js.map} +1 -1
- package/dist/esm/chunks/chunk.KLHXGSZU.js +7 -0
- package/dist/esm/chunks/{chunk.VXVE7KEM.js.map → chunk.KLHXGSZU.js.map} +1 -1
- package/dist/esm/chunks/chunk.KZHMDZVS.js +29 -0
- package/dist/esm/chunks/{chunk.ITQ55IPH.js.map → chunk.KZHMDZVS.js.map} +1 -1
- package/dist/esm/chunks/chunk.LZMYHIO2.js +7 -0
- package/dist/esm/chunks/{chunk.GS2AXUCN.js.map → chunk.LZMYHIO2.js.map} +1 -1
- package/dist/esm/chunks/chunk.MCIQXNKY.js +7 -0
- package/dist/esm/chunks/chunk.MCIQXNKY.js.map +7 -0
- package/dist/esm/chunks/chunk.MGTNCCW3.js +7 -0
- package/dist/esm/chunks/{chunk.KCVJDJ6K.js.map → chunk.MGTNCCW3.js.map} +1 -1
- package/dist/esm/chunks/chunk.MIYZJUXH.js +7 -0
- package/dist/esm/chunks/{chunk.WT4W2IFT.js.map → chunk.MIYZJUXH.js.map} +1 -1
- package/dist/esm/chunks/chunk.MTMZFAWU.js +7 -0
- package/dist/esm/chunks/chunk.MTMZFAWU.js.map +7 -0
- package/dist/esm/chunks/chunk.NEGJYSPB.js +7 -0
- package/dist/esm/chunks/chunk.NEGJYSPB.js.map +7 -0
- package/dist/esm/chunks/chunk.NGIBMR3Q.js +7 -0
- package/dist/esm/chunks/{chunk.4PF7WRP4.js.map → chunk.NGIBMR3Q.js.map} +1 -1
- package/dist/esm/chunks/chunk.NJHQA266.js +7 -0
- package/dist/esm/chunks/chunk.NJHQA266.js.map +7 -0
- package/dist/esm/chunks/chunk.O3G6ZLJN.js +7 -0
- package/dist/esm/chunks/{chunk.4WLVFWKI.js.map → chunk.O3G6ZLJN.js.map} +1 -1
- package/dist/esm/chunks/chunk.OAP3JDBS.js +12 -0
- package/dist/esm/chunks/chunk.OAP3JDBS.js.map +7 -0
- package/dist/esm/chunks/chunk.OHCHNL3V.js +7 -0
- package/dist/esm/chunks/{chunk.HASAPJMX.js.map → chunk.OHCHNL3V.js.map} +1 -1
- package/dist/esm/chunks/chunk.OOBE3XRM.js +29 -0
- package/dist/esm/chunks/{chunk.HMM7PGGZ.js.map → chunk.OOBE3XRM.js.map} +1 -1
- package/dist/esm/chunks/chunk.OUEF6VQ6.js +7 -0
- package/dist/esm/chunks/{chunk.OXS2O7RG.js.map → chunk.OUEF6VQ6.js.map} +2 -2
- package/dist/esm/chunks/chunk.PBTGGYKX.js +29 -0
- package/dist/esm/chunks/{chunk.V2ELLBDP.js.map → chunk.PBTGGYKX.js.map} +1 -1
- package/dist/esm/chunks/chunk.PYG4YVBA.js +73 -0
- package/dist/esm/chunks/chunk.PYG4YVBA.js.map +7 -0
- package/dist/esm/chunks/chunk.QJPH24V4.js +7 -0
- package/dist/esm/chunks/{chunk.GXTNND2M.js.map → chunk.QJPH24V4.js.map} +1 -1
- package/dist/esm/chunks/chunk.QXLPBYMX.js +7 -0
- package/dist/esm/chunks/{chunk.56BNM7F2.js.map → chunk.QXLPBYMX.js.map} +1 -1
- package/dist/esm/chunks/chunk.QZHEP4X2.js +29 -0
- package/dist/esm/chunks/{chunk.5VKAVHLM.js.map → chunk.QZHEP4X2.js.map} +1 -1
- package/dist/esm/chunks/chunk.R46EDURP.js +7 -0
- package/dist/esm/chunks/{chunk.JKC5PU23.js.map → chunk.R46EDURP.js.map} +1 -1
- package/dist/esm/chunks/chunk.R4NDFXVA.js +7 -0
- package/dist/esm/chunks/{chunk.4JURZYE4.js.map → chunk.R4NDFXVA.js.map} +1 -1
- package/dist/esm/chunks/chunk.RS5NH2NG.js +7 -0
- package/dist/esm/chunks/{chunk.PKZ43JNW.js.map → chunk.RS5NH2NG.js.map} +2 -2
- package/dist/esm/chunks/chunk.RZL6S3K3.js +7 -0
- package/dist/esm/chunks/chunk.RZL6S3K3.js.map +7 -0
- package/dist/esm/chunks/chunk.SFFYXKJW.js +7 -0
- package/dist/esm/chunks/{chunk.MUP3NY6M.js.map → chunk.SFFYXKJW.js.map} +2 -2
- package/dist/esm/chunks/chunk.SHT6BCLY.js +7 -0
- package/dist/esm/chunks/{chunk.BLZJIYMG.js.map → chunk.SHT6BCLY.js.map} +1 -1
- package/dist/esm/chunks/chunk.SNGELGOD.js +7 -0
- package/dist/esm/chunks/{chunk.5OYAJ36F.js.map → chunk.SNGELGOD.js.map} +1 -1
- package/dist/esm/chunks/{chunk.LCWRP2UI.js → chunk.STS5TIUV.js} +2 -32
- package/dist/esm/chunks/chunk.STS5TIUV.js.map +7 -0
- package/dist/esm/chunks/chunk.SVGEVCXA.js +7 -0
- package/dist/esm/chunks/{chunk.VHO7NUMI.js.map → chunk.SVGEVCXA.js.map} +1 -1
- package/dist/esm/chunks/chunk.UNTTQM6V.js +7 -0
- package/dist/esm/chunks/chunk.UNTTQM6V.js.map +7 -0
- package/dist/esm/chunks/chunk.URBXDOF7.js +7 -0
- package/dist/esm/chunks/{chunk.ELAJS33V.js.map → chunk.URBXDOF7.js.map} +1 -1
- package/dist/esm/chunks/chunk.UUX4QJ4D.js +7 -0
- package/dist/esm/chunks/{chunk.BKMWXPAS.js.map → chunk.UUX4QJ4D.js.map} +1 -1
- package/dist/esm/chunks/chunk.VEVOKTUX.js +7 -0
- package/dist/esm/chunks/{chunk.UPW5HUKB.js.map → chunk.VEVOKTUX.js.map} +1 -1
- package/dist/esm/chunks/chunk.VLTJFKGZ.js +7 -0
- package/dist/esm/chunks/{chunk.NX5SKZLU.js.map → chunk.VLTJFKGZ.js.map} +1 -1
- package/dist/esm/chunks/chunk.VMWS5OOZ.js +7 -0
- package/dist/esm/chunks/{chunk.QXZZ2MTF.js.map → chunk.VMWS5OOZ.js.map} +1 -1
- package/dist/esm/chunks/chunk.W7UTHKBF.js +7 -0
- package/dist/esm/chunks/chunk.W7UTHKBF.js.map +7 -0
- package/dist/esm/chunks/chunk.WAEWHBHE.js +7 -0
- package/dist/esm/chunks/{chunk.LK2DN5KX.js.map → chunk.WAEWHBHE.js.map} +1 -1
- package/dist/esm/chunks/chunk.WGE5R5JK.js +7 -0
- package/dist/esm/chunks/chunk.WGE5R5JK.js.map +7 -0
- package/dist/esm/chunks/chunk.WKKNDQYZ.js +7 -0
- package/dist/esm/chunks/chunk.WKKNDQYZ.js.map +7 -0
- package/dist/esm/chunks/chunk.WMO47F6Z.js +7 -0
- package/dist/esm/chunks/{chunk.CLEUHAZ6.js.map → chunk.WMO47F6Z.js.map} +1 -1
- package/dist/esm/chunks/{chunk.IUNON3UL.js → chunk.WNOSTPQQ.js} +2 -253
- package/dist/esm/chunks/{chunk.IUNON3UL.js.map → chunk.WNOSTPQQ.js.map} +1 -1
- package/dist/esm/chunks/chunk.WSGJIPQJ.js +7 -0
- package/dist/esm/chunks/{chunk.J5NUYQ4D.js.map → chunk.WSGJIPQJ.js.map} +1 -1
- package/dist/esm/chunks/chunk.WYVYTAFS.js +7 -0
- package/dist/esm/chunks/chunk.WYVYTAFS.js.map +7 -0
- package/dist/esm/chunks/chunk.WZRXUTYC.js +7 -0
- package/dist/esm/chunks/{chunk.2WBHHTUM.js.map → chunk.WZRXUTYC.js.map} +1 -1
- package/dist/esm/chunks/chunk.X2RP4QW3.js +6 -0
- package/dist/esm/chunks/chunk.X2RP4QW3.js.map +7 -0
- package/dist/esm/chunks/chunk.X77WVI2H.js +7 -0
- package/dist/esm/chunks/{chunk.ANME7BKM.js.map → chunk.X77WVI2H.js.map} +1 -1
- package/dist/esm/chunks/chunk.XURVHDKR.js +7 -0
- package/dist/esm/chunks/{chunk.3QXCVTCP.js.map → chunk.XURVHDKR.js.map} +1 -1
- package/dist/esm/chunks/chunk.XXA6KNXT.js +7 -0
- package/dist/esm/chunks/{chunk.I7BQUB7Z.js.map → chunk.XXA6KNXT.js.map} +1 -1
- package/dist/esm/chunks/chunk.XYBFFTXS.js +29 -0
- package/dist/esm/chunks/{chunk.WNVZQDNS.js.map → chunk.XYBFFTXS.js.map} +1 -1
- package/dist/esm/chunks/chunk.YFIDBZ7V.js +7 -0
- package/dist/esm/chunks/{chunk.ZLF2G3YT.js.map → chunk.YFIDBZ7V.js.map} +1 -1
- package/dist/esm/chunks/chunk.YHHIPP2F.js +7 -0
- package/dist/esm/chunks/{chunk.QHHYCB7N.js.map → chunk.YHHIPP2F.js.map} +1 -1
- package/dist/esm/chunks/chunk.ZHCQBWAG.js +7 -0
- package/dist/esm/chunks/{chunk.BEAJZPWS.js.map → chunk.ZHCQBWAG.js.map} +1 -1
- package/dist/esm/circular-progress/index.js +1 -22
- package/dist/esm/color-picker/index.js +1 -44
- package/dist/esm/core/base/index.js +1 -15
- package/dist/esm/core/delegates/index.js +1 -14
- package/dist/esm/core/index.js +1 -83
- package/dist/esm/core/mask/index.js +1 -20
- package/dist/esm/core/utils/index.js +1 -46
- package/dist/esm/date-picker/index.js +1 -57
- package/dist/esm/date-range-picker/index.js +1 -59
- package/dist/esm/dialog/index.js +1 -39
- package/dist/esm/divider/index.js +1 -16
- package/dist/esm/drawer/base/index.js +1 -20
- package/dist/esm/drawer/drawer/index.js +1 -20
- package/dist/esm/drawer/index.js +1 -51
- package/dist/esm/drawer/mini-drawer/index.js +1 -20
- package/dist/esm/drawer/modal-drawer/index.js +1 -25
- package/dist/esm/expansion-panel/index.js +1 -33
- package/dist/esm/file-picker/index.js +1 -36
- package/dist/esm/floating-action-button/index.js +1 -23
- package/dist/esm/floating-label/index.js +1 -17
- package/dist/esm/icon/index.js +1 -48
- package/dist/esm/icon-button/index.js +1 -32
- package/dist/esm/index.js +1 -1275
- package/dist/esm/inline-message/index.js +1 -16
- package/dist/esm/keyboard-shortcut/index.js +1 -35
- package/dist/esm/label-value/index.js +1 -26
- package/dist/esm/linear-progress/index.js +1 -18
- package/dist/esm/list/index.js +1 -38
- package/dist/esm/list/list/index.js +1 -27
- package/dist/esm/list/list-item/index.js +1 -25
- package/dist/esm/list-dropdown/index.js +1 -50
- package/dist/esm/menu/index.js +1 -48
- package/dist/esm/open-icon/index.js +1 -32
- package/dist/esm/page-state/index.js +1 -16
- package/dist/esm/paginator/index.js +1 -63
- package/dist/esm/popup/index.js +1 -25
- package/dist/esm/product-icon/index.js +1 -23
- package/dist/esm/profile-card/index.js +1 -33
- package/dist/esm/quantity-field/index.js +1 -41
- package/dist/esm/radio/index.js +1 -20
- package/dist/esm/ripple/index.js +1 -26
- package/dist/esm/scaffold/index.js +1 -16
- package/dist/esm/select/core/index.js +1 -55
- package/dist/esm/select/index.js +1 -109
- package/dist/esm/select/option/index.js +1 -22
- package/dist/esm/select/option-group/index.js +1 -16
- package/dist/esm/select/select/index.js +1 -58
- package/dist/esm/select/select-dropdown/index.js +1 -54
- package/dist/esm/skeleton/index.js +1 -16
- package/dist/esm/slider/index.js +1 -30
- package/dist/esm/split-view/core/index.js +7 -0
- package/dist/esm/split-view/core/index.js.map +7 -0
- package/dist/esm/split-view/index.js +7 -0
- package/dist/esm/split-view/index.js.map +7 -0
- package/dist/esm/split-view/split-view/index.js +7 -0
- package/dist/esm/split-view/split-view/index.js.map +7 -0
- package/dist/esm/split-view/split-view-panel/index.js +7 -0
- package/dist/esm/split-view/split-view-panel/index.js.map +7 -0
- package/dist/esm/stepper/index.js +1 -50
- package/dist/esm/stepper/step/index.js +1 -35
- package/dist/esm/stepper/stepper/index.js +1 -38
- package/dist/esm/switch/index.js +1 -29
- package/dist/esm/table/index.js +1 -52
- package/dist/esm/tabs/index.js +1 -56
- package/dist/esm/tabs/tab/index.js +1 -27
- package/dist/esm/tabs/tab-bar/index.js +1 -42
- package/dist/esm/text-field/index.js +1 -33
- package/dist/esm/theme/index.js +1 -11
- package/dist/esm/time-picker/index.js +1 -87
- package/dist/esm/toast/index.js +1 -37
- package/dist/esm/toolbar/index.js +1 -16
- package/dist/esm/tooltip/index.js +1 -28
- package/dist/esm/utils/index.js +1 -11
- package/dist/esm/view-switcher/index.js +1 -34
- package/dist/esm/view-switcher/view/index.js +1 -16
- package/dist/forge.css +1 -1
- package/dist/table/forge-table.css +1 -1
- package/esm/app-bar/app-bar.d.ts +3 -3
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +6 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +30 -12
- package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +4 -0
- package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +2 -0
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +8 -0
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +22 -0
- package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +4 -0
- package/esm/app-bar/profile-button/app-bar-profile-button.js +14 -0
- package/esm/autocomplete/autocomplete-adapter.d.ts +2 -0
- package/esm/autocomplete/autocomplete-adapter.js +4 -0
- package/esm/autocomplete/autocomplete-foundation.d.ts +15 -16
- package/esm/autocomplete/autocomplete-foundation.js +21 -13
- package/esm/autocomplete/autocomplete.d.ts +9 -9
- package/esm/bottom-sheet/bottom-sheet-adapter.js +1 -1
- package/esm/calendar/calendar-foundation.d.ts +14 -14
- package/esm/calendar/calendar-foundation.js +5 -5
- package/esm/calendar/calendar-utils.d.ts +1 -1
- package/esm/calendar/calendar-utils.js +1 -1
- package/esm/calendar/calendar.d.ts +7 -7
- package/esm/calendar/core/calendar-base.d.ts +7 -7
- package/esm/chip-field/chip-field-adapter.d.ts +1 -1
- package/esm/chip-field/chip-field-adapter.js +2 -2
- package/esm/chip-field/chip-field.js +1 -1
- package/esm/chips/chip/chip-foundation.d.ts +1 -1
- package/esm/chips/chip/chip.d.ts +2 -2
- package/esm/chips/chip/chip.js +1 -1
- package/esm/color-picker/color-picker-foundation.d.ts +12 -12
- package/esm/color-picker/color-picker-foundation.js +1 -1
- package/esm/color-picker/color-picker.d.ts +8 -8
- package/esm/core/utils/date-utils.d.ts +1 -1
- package/esm/core/utils/event-utils.d.ts +1 -0
- package/esm/core/utils/event-utils.js +3 -0
- package/esm/core/utils/utils.d.ts +36 -0
- package/esm/core/utils/utils.js +57 -0
- package/esm/date-picker/base/base-date-picker-adapter.d.ts +8 -8
- package/esm/date-picker/base/base-date-picker-constants.d.ts +5 -5
- package/esm/date-picker/base/base-date-picker-foundation.d.ts +21 -21
- package/esm/date-picker/base/base-date-picker.d.ts +8 -8
- package/esm/date-picker/date-picker-foundation.d.ts +6 -6
- package/esm/date-picker/date-picker-foundation.js +3 -1
- package/esm/date-picker/date-picker.d.ts +1 -1
- package/esm/date-range-picker/date-range-picker-foundation.d.ts +11 -11
- package/esm/date-range-picker/date-range-picker.d.ts +4 -4
- package/esm/dialog/dialog-adapter.js +2 -2
- package/esm/dialog/dialog-foundation.d.ts +6 -6
- package/esm/dialog/dialog-foundation.js +1 -1
- package/esm/dialog/dialog.d.ts +4 -4
- package/esm/field/field-adapter.d.ts +4 -4
- package/esm/field/field-adapter.js +4 -13
- package/esm/field/field-foundation.js +2 -2
- package/esm/file-picker/file-picker-adapter.d.ts +4 -4
- package/esm/file-picker/file-picker-foundation.d.ts +9 -9
- package/esm/file-picker/file-picker.d.ts +6 -6
- package/esm/floating-label/floating-label-adapter.js +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +3 -0
- package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +3 -3
- package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +0 -1
- package/esm/keyboard-shortcut/keyboard-shortcut-utils.d.ts +1 -1
- package/esm/keyboard-shortcut/keyboard-shortcut-utils.js +5 -5
- package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +6 -2
- package/esm/keyboard-shortcut/keyboard-shortcut.js +7 -0
- package/esm/menu/menu.d.ts +2 -2
- package/esm/paginator/paginator-foundation.js +15 -12
- package/esm/popup/popup.d.ts +3 -3
- package/esm/profile-card/profile-card-adapter.d.ts +4 -0
- package/esm/profile-card/profile-card-adapter.js +6 -0
- package/esm/profile-card/profile-card-constants.d.ts +4 -0
- package/esm/profile-card/profile-card-constants.js +5 -1
- package/esm/profile-card/profile-card-foundation.d.ts +6 -0
- package/esm/profile-card/profile-card-foundation.js +22 -0
- package/esm/profile-card/profile-card.d.ts +4 -0
- package/esm/profile-card/profile-card.js +15 -1
- package/esm/quantity-field/quantity-field-adapter.d.ts +0 -2
- package/esm/quantity-field/quantity-field-adapter.js +2 -14
- package/esm/quantity-field/quantity-field-foundation.js +0 -1
- package/esm/quantity-field/quantity-field.js +1 -1
- package/esm/select/select/select.js +1 -1
- package/esm/split-view/core/index.d.ts +6 -0
- package/esm/split-view/core/index.js +6 -0
- package/esm/split-view/core/split-view-base.d.ts +14 -0
- package/esm/split-view/core/split-view-base.js +6 -0
- package/esm/split-view/index.d.ts +8 -0
- package/esm/split-view/index.js +8 -0
- package/esm/split-view/split-view/index.d.ts +10 -0
- package/esm/split-view/split-view/index.js +14 -0
- package/esm/split-view/split-view/split-view-adapter.d.ts +29 -0
- package/esm/split-view/split-view/split-view-adapter.js +62 -0
- package/esm/split-view/split-view/split-view-constants.d.ts +41 -0
- package/esm/split-view/split-view/split-view-constants.js +40 -0
- package/esm/split-view/split-view/split-view-foundation.d.ts +86 -0
- package/esm/split-view/split-view/split-view-foundation.js +179 -0
- package/esm/split-view/split-view/split-view.d.ts +67 -0
- package/esm/split-view/split-view/split-view.js +103 -0
- package/esm/split-view/split-view-panel/index.d.ts +11 -0
- package/esm/split-view/split-view-panel/index.js +15 -0
- package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +171 -0
- package/esm/split-view/split-view-panel/split-view-panel-adapter.js +295 -0
- package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +97 -0
- package/esm/split-view/split-view-panel/split-view-panel-constants.js +78 -0
- package/esm/split-view/split-view-panel/split-view-panel-foundation.d.ts +235 -0
- package/esm/split-view/split-view-panel/split-view-panel-foundation.js +667 -0
- package/esm/split-view/split-view-panel/split-view-panel-utils.d.ts +130 -0
- package/esm/split-view/split-view-panel/split-view-panel-utils.js +300 -0
- package/esm/split-view/split-view-panel/split-view-panel.d.ts +105 -0
- package/esm/split-view/split-view-panel/split-view-panel.js +173 -0
- package/esm/table/table-utils.d.ts +2 -2
- package/esm/table/table-utils.js +31 -15
- package/esm/table/table.d.ts +2 -2
- package/esm/text-field/text-field-adapter.d.ts +1 -1
- package/esm/text-field/text-field-adapter.js +2 -2
- package/esm/text-field/text-field.js +1 -1
- package/esm/time-picker/time-picker-foundation.d.ts +8 -8
- package/esm/time-picker/time-picker-foundation.js +4 -4
- package/esm/time-picker/time-picker-utils.d.ts +1 -1
- package/esm/time-picker/time-picker.d.ts +8 -8
- package/esm/tooltip/tooltip.d.ts +1 -1
- package/esm/view-switcher/view-switcher.d.ts +2 -2
- package/package.json +2 -2
- package/styles/chip-field/_base.scss +2 -2
- package/styles/chip-field/_selector.scss +1 -1
- package/styles/chip-field/_variables.scss +1 -1
- package/styles/chips/chip/_mixins.scss +4 -3
- package/styles/chips/chip/_variables.scss +3 -2
- package/styles/field/_base.scss +16 -4
- package/styles/field/_selector.scss +4 -4
- package/styles/quantity-field/_mixins.scss +1 -1
- package/styles/select/select/_selector.scss +1 -1
- package/styles/split-view/split-view/_mixins.scss +48 -0
- package/styles/split-view/split-view/split-view.scss +25 -0
- package/styles/split-view/split-view-panel/_mixins.scss +260 -0
- package/styles/split-view/split-view-panel/_variables.scss +7 -0
- package/styles/split-view/split-view-panel/split-view-panel.scss +23 -0
- package/styles/table/_mixins.scss +2 -0
- package/dist/esm/chunks/chunk.2MBI5DLT.js +0 -439
- package/dist/esm/chunks/chunk.2MBI5DLT.js.map +0 -7
- package/dist/esm/chunks/chunk.2NMHSTAO.js +0 -1473
- package/dist/esm/chunks/chunk.2WBHHTUM.js +0 -200
- package/dist/esm/chunks/chunk.35BJJH5E.js +0 -56
- package/dist/esm/chunks/chunk.35U3UPDV.js +0 -70
- package/dist/esm/chunks/chunk.3EHQ3YHJ.js +0 -52
- package/dist/esm/chunks/chunk.3QXCVTCP.js +0 -73
- package/dist/esm/chunks/chunk.46BED43J.js +0 -602
- package/dist/esm/chunks/chunk.46BED43J.js.map +0 -7
- package/dist/esm/chunks/chunk.4HQ5VELO.js +0 -793
- package/dist/esm/chunks/chunk.4HQ5VELO.js.map +0 -7
- package/dist/esm/chunks/chunk.4JURZYE4.js +0 -410
- package/dist/esm/chunks/chunk.4PF7WRP4.js +0 -450
- package/dist/esm/chunks/chunk.4WLVFWKI.js +0 -21
- package/dist/esm/chunks/chunk.56BNM7F2.js +0 -202
- package/dist/esm/chunks/chunk.5OYAJ36F.js +0 -21
- package/dist/esm/chunks/chunk.5U6ZT6MC.js +0 -296
- package/dist/esm/chunks/chunk.5VKAVHLM.js +0 -610
- package/dist/esm/chunks/chunk.67B6JDOJ.js +0 -654
- package/dist/esm/chunks/chunk.6EGTLHJS.js +0 -16
- package/dist/esm/chunks/chunk.6ZBFCE2A.js +0 -52
- package/dist/esm/chunks/chunk.7FWTBD6Y.js +0 -21
- package/dist/esm/chunks/chunk.7I2XNJBL.js +0 -593
- package/dist/esm/chunks/chunk.7I2XNJBL.js.map +0 -7
- package/dist/esm/chunks/chunk.7UAH67PT.js +0 -634
- package/dist/esm/chunks/chunk.ANME7BKM.js +0 -293
- package/dist/esm/chunks/chunk.BEAJZPWS.js +0 -72
- package/dist/esm/chunks/chunk.BKMWXPAS.js +0 -439
- package/dist/esm/chunks/chunk.BLZJIYMG.js +0 -55
- package/dist/esm/chunks/chunk.BVGJFMEG.js +0 -760
- package/dist/esm/chunks/chunk.BVGJFMEG.js.map +0 -7
- package/dist/esm/chunks/chunk.BYN27JXZ.js +0 -51
- package/dist/esm/chunks/chunk.CLEUHAZ6.js +0 -732
- package/dist/esm/chunks/chunk.D33KLIFD.js +0 -422
- package/dist/esm/chunks/chunk.D33KLIFD.js.map +0 -7
- package/dist/esm/chunks/chunk.DLF5JAQO.js +0 -552
- package/dist/esm/chunks/chunk.E26BROOG.js +0 -291
- package/dist/esm/chunks/chunk.EBC2HGO3.js +0 -372
- package/dist/esm/chunks/chunk.ELAJS33V.js +0 -145
- package/dist/esm/chunks/chunk.EUPO2VO2.js +0 -462
- package/dist/esm/chunks/chunk.EY57VTRF.js +0 -33
- package/dist/esm/chunks/chunk.FJJVIMZ2.js +0 -176
- package/dist/esm/chunks/chunk.FJJVIMZ2.js.map +0 -7
- package/dist/esm/chunks/chunk.FWJ7SIFA.js +0 -433
- package/dist/esm/chunks/chunk.FZ6KICMD.js +0 -297
- package/dist/esm/chunks/chunk.GHZ75UPO.js +0 -342
- package/dist/esm/chunks/chunk.GS2AXUCN.js +0 -150
- package/dist/esm/chunks/chunk.GWNR3UUX.js +0 -658
- package/dist/esm/chunks/chunk.GXTNND2M.js +0 -221
- package/dist/esm/chunks/chunk.HASAPJMX.js +0 -110
- package/dist/esm/chunks/chunk.HAWYW54W.js +0 -728
- package/dist/esm/chunks/chunk.HAWYW54W.js.map +0 -7
- package/dist/esm/chunks/chunk.HMM7PGGZ.js +0 -505
- package/dist/esm/chunks/chunk.HZISALRH.js +0 -20
- package/dist/esm/chunks/chunk.I6PJGNJS.js +0 -401
- package/dist/esm/chunks/chunk.I6PJGNJS.js.map +0 -7
- package/dist/esm/chunks/chunk.I7BQUB7Z.js +0 -212
- package/dist/esm/chunks/chunk.IBED5TWL.js +0 -649
- package/dist/esm/chunks/chunk.IGBDDH3J.js +0 -1203
- package/dist/esm/chunks/chunk.IGBDDH3J.js.map +0 -7
- package/dist/esm/chunks/chunk.IJW2YKP3.js +0 -1347
- package/dist/esm/chunks/chunk.IJW2YKP3.js.map +0 -7
- package/dist/esm/chunks/chunk.ITQ55IPH.js +0 -1335
- package/dist/esm/chunks/chunk.J5NUYQ4D.js +0 -840
- package/dist/esm/chunks/chunk.JC2PZ4TS.js +0 -463
- package/dist/esm/chunks/chunk.JC2PZ4TS.js.map +0 -7
- package/dist/esm/chunks/chunk.JKC5PU23.js +0 -42
- package/dist/esm/chunks/chunk.K2PCTUVN.js +0 -139
- package/dist/esm/chunks/chunk.K7OLG7CS.js +0 -244
- package/dist/esm/chunks/chunk.KCVJDJ6K.js +0 -105
- package/dist/esm/chunks/chunk.KNR5DXE4.js +0 -445
- package/dist/esm/chunks/chunk.KZATVOA6.js +0 -68
- package/dist/esm/chunks/chunk.L4OUV7W6.js +0 -236
- package/dist/esm/chunks/chunk.LCWRP2UI.js.map +0 -7
- package/dist/esm/chunks/chunk.LHWZ4KZU.js +0 -559
- package/dist/esm/chunks/chunk.LHWZ4KZU.js.map +0 -7
- package/dist/esm/chunks/chunk.LK2DN5KX.js +0 -72
- package/dist/esm/chunks/chunk.LM5TVNZY.js +0 -71
- package/dist/esm/chunks/chunk.LX2HDAIF.js +0 -458
- package/dist/esm/chunks/chunk.M3O5VPDD.js +0 -742
- package/dist/esm/chunks/chunk.MBZLA635.js +0 -684
- package/dist/esm/chunks/chunk.MEFT5FQC.js +0 -158
- package/dist/esm/chunks/chunk.MMIZOYAS.js +0 -147
- package/dist/esm/chunks/chunk.MUP3NY6M.js +0 -912
- package/dist/esm/chunks/chunk.NX5SKZLU.js +0 -50
- package/dist/esm/chunks/chunk.OXS2O7RG.js +0 -476
- package/dist/esm/chunks/chunk.PBGL3BRX.js +0 -27
- package/dist/esm/chunks/chunk.PKZ43JNW.js +0 -344
- package/dist/esm/chunks/chunk.PM7D2SUE.js +0 -297
- package/dist/esm/chunks/chunk.PM7D2SUE.js.map +0 -7
- package/dist/esm/chunks/chunk.PNKLV3BK.js +0 -513
- package/dist/esm/chunks/chunk.PNKLV3BK.js.map +0 -7
- package/dist/esm/chunks/chunk.Q4YMHFRY.js +0 -155
- package/dist/esm/chunks/chunk.QD7EPCL6.js +0 -144
- package/dist/esm/chunks/chunk.QD7EPCL6.js.map +0 -7
- package/dist/esm/chunks/chunk.QHHYCB7N.js +0 -56
- package/dist/esm/chunks/chunk.QWW6A7AF.js +0 -603
- package/dist/esm/chunks/chunk.QWW6A7AF.js.map +0 -7
- package/dist/esm/chunks/chunk.QXZZ2MTF.js +0 -52
- package/dist/esm/chunks/chunk.QYWAZCBX.js +0 -258
- package/dist/esm/chunks/chunk.RD4RIFOZ.js +0 -307
- package/dist/esm/chunks/chunk.RL7ZFLMG.js +0 -801
- package/dist/esm/chunks/chunk.RL7ZFLMG.js.map +0 -7
- package/dist/esm/chunks/chunk.RV3E762Y.js +0 -73
- package/dist/esm/chunks/chunk.S3UVF647.js +0 -168
- package/dist/esm/chunks/chunk.SNAZ6JSS.js +0 -22
- package/dist/esm/chunks/chunk.THKWQXBJ.js +0 -52
- package/dist/esm/chunks/chunk.TIUNGGBF.js +0 -964
- package/dist/esm/chunks/chunk.TIUNGGBF.js.map +0 -7
- package/dist/esm/chunks/chunk.TM46MNYN.js +0 -417
- package/dist/esm/chunks/chunk.TYU4RLZG.js +0 -648
- package/dist/esm/chunks/chunk.U37G47LH.js +0 -2994
- package/dist/esm/chunks/chunk.U37G47LH.js.map +0 -7
- package/dist/esm/chunks/chunk.U5ECVIX5.js +0 -561
- package/dist/esm/chunks/chunk.UFMUXBT4.js +0 -317
- package/dist/esm/chunks/chunk.UFMUXBT4.js.map +0 -7
- package/dist/esm/chunks/chunk.UPW5HUKB.js +0 -136
- package/dist/esm/chunks/chunk.UQ3QTUUB.js +0 -173
- package/dist/esm/chunks/chunk.V2ELLBDP.js +0 -1591
- package/dist/esm/chunks/chunk.V6Q2SM6Y.js +0 -187
- package/dist/esm/chunks/chunk.VHO7NUMI.js +0 -37
- package/dist/esm/chunks/chunk.VK6LIH3B.js +0 -13
- package/dist/esm/chunks/chunk.VXAPRFMK.js +0 -978
- package/dist/esm/chunks/chunk.VXAPRFMK.js.map +0 -7
- package/dist/esm/chunks/chunk.VXVE7KEM.js +0 -248
- package/dist/esm/chunks/chunk.WDD2GTIH.js +0 -73
- package/dist/esm/chunks/chunk.WIYLQTSX.js +0 -3550
- package/dist/esm/chunks/chunk.WNVZQDNS.js +0 -540
- package/dist/esm/chunks/chunk.WSH4S3GM.js +0 -507
- package/dist/esm/chunks/chunk.WT4W2IFT.js +0 -92
- package/dist/esm/chunks/chunk.XE7ZMJBZ.js +0 -2430
- package/dist/esm/chunks/chunk.XE7ZMJBZ.js.map +0 -7
- package/dist/esm/chunks/chunk.YL2NAVJW.js +0 -244
- package/dist/esm/chunks/chunk.ZLF2G3YT.js +0 -350
- package/dist/esm/chunks/chunk.ZSHQMR4O.js +0 -59
- package/dist/esm/chunks/chunk.ZXIDTDRC.js +0 -419
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
var e=class{constructor(t){t&&(this.from=t.from?new Date(t.from):void 0,this.to=t.to?new Date(t.to):void 0)}copy(){return new e(this)}};export{e as a};
|
|
7
|
+
//# sourceMappingURL=chunk.E43TT4RI.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/calendar/core/date-range.ts"],
|
|
4
4
|
"sourcesContent": ["export interface IDateRange {\n from?: Date;\n to?: Date;\n}\n\nexport class DateRange implements IDateRange {\n public from?: Date;\n public to?: Date;\n\n constructor(range?: IDateRange | null) {\n if (range) {\n this.from = range.from ? new Date(range.from) : undefined;\n this.to = range.to ? new Date(range.to) : undefined;\n }\n }\n\n public copy(): DateRange {\n return new DateRange(this);\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAKO,GAAM,GAAN,KAAsC,CAI3C,YAAY,EAA2B,CACrC,AAAI,GACF,MAAK,KAAO,EAAM,KAAO,GAAI,MAAK,EAAM,IAAI,EAAI,OAChD,KAAK,GAAK,EAAM,GAAK,GAAI,MAAK,EAAM,EAAE,EAAI,OAE9C,CAEA,AAAO,MAAkB,CACvB,MAAO,IAAI,GAAU,IAAI,CAC3B,CACF",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
function h(t){return t.path||t.composedPath&&t.composedPath()||a(t.target)}function a(t){let o=[];for(;t;){if(t.shadowRoot&&(t.shadowRoot.activeElement&&o.push(t.shadowRoot.activeElement),o.push(t.shadowRoot)),o.push(t),t.tagName==="HTML"){o.push(document),o.push(window);break}t=t.parentElement}return o}export{h as a};
|
|
7
|
+
//# sourceMappingURL=chunk.EC6JSIQW.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../node_modules/@tylertech/forge-core/esm/utils/event-utils.js"],
|
|
4
4
|
"sourcesContent": ["/**\n * Gets the node path from where the event originated from.\n * @param evt The event.\n */\nexport function getEventPath(evt) {\n return evt.path || (evt.composedPath && evt.composedPath()) || composedPath(evt.target);\n}\n/**\n * Equivalent to path/composedPath.\n * Note: Slots and shadow roots are detected, but aren't needed as they are virtually invisible anyway...\n */\nexport function composedPath(el) {\n const path = [];\n while (el) {\n if (el.shadowRoot) {\n if (el.shadowRoot.activeElement) {\n path.push(el.shadowRoot.activeElement);\n }\n path.push(el.shadowRoot);\n }\n path.push(el);\n if (el.tagName === 'HTML') {\n path.push(document);\n path.push(window);\n break;\n }\n el = el.parentElement;\n }\n return path;\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAIO,WAAsB,EAAK,CAC9B,MAAO,GAAI,MAAS,EAAI,cAAgB,EAAI,aAAa,GAAM,EAAa,EAAI,MAAM,CAC1F,CAKO,WAAsB,EAAI,CAC7B,GAAM,GAAO,CAAC,EACd,KAAO,GAAI,CAQP,GAPI,EAAG,YACC,GAAG,WAAW,eACd,EAAK,KAAK,EAAG,WAAW,aAAa,EAEzC,EAAK,KAAK,EAAG,UAAU,GAE3B,EAAK,KAAK,CAAE,EACR,EAAG,UAAY,OAAQ,CACvB,EAAK,KAAK,QAAQ,EAClB,EAAK,KAAK,MAAM,EAChB,KACJ,CACA,EAAK,EAAG,aACZ,CACA,MAAO,EACX",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as z,b as B,c as H,d as K,e as U}from"./chunk.WKKNDQYZ.js";import{E as S}from"./chunk.5HUDHTAK.js";import{F as O}from"./chunk.23VA56ZY.js";import{a}from"./chunk.E43TT4RI.js";import{a as m}from"./chunk.IMK2LFWR.js";import{e as D}from"./chunk.AWCBH5KW.js";import{e as w}from"./chunk.DRFU6POI.js";import{b as N}from"./chunk.G5BCWBD5.js";import{l as F}from"./chunk.LZMYHIO2.js";import{a as V}from"./chunk.D4SNVKDA.js";import{d as R,l as x}from"./chunk.7TQYFMM4.js";import{a as M}from"./chunk.24D46RLZ.js";import{b as T}from"./chunk.7ZS4N2FT.js";import{e as p}from"./chunk.AABG6MSC.js";import{a as C}from"./chunk.B3IJU6XJ.js";import{a as L,b as A}from"./chunk.BSZ2LBJX.js";import{a as y,e as P,i as E}from"./chunk.HN4PXH3D.js";import{s as g}from"./chunk.R4NDFXVA.js";import{f as v,g as k}from"./chunk.G76HB2FK.js";import{f as h}from"./chunk.MCIQXNKY.js";var d=`${A}date-range-picker`,l=class{constructor(r){r&&(this.from=r.from,this.to=r.to)}copy(){return new l(this)}},q={FROM:"from",TO:"to",END_VALUE:"end-value"},G={INPUT:"input"},W={CHANGE:`${d}-change`,OPEN:`${d}-open`,CLOSE:`${d}-close`,INPUT:`${d}-input`},i={elementName:d,selectors:G,events:W,observedAttributes:q};var _=class extends K{constructor(t){super(t);this._dropdownIdentifier=`forge-date-range-picker-${this._identifier}`}_initializeInput(){if(this._fromInputElement=this._component.querySelectorAll(i.selectors.INPUT)[0],this._toInputElement=this._component.querySelectorAll(i.selectors.INPUT)[1],!this._fromInputElement||!this._fromInputElement)throw new Error(`The ${i.elementName} requires two inputs`)}_initializeCalendarDropdown(){let t=this._getDefaultTargetElement();this._calendarDropdown=new O(t,this._dropdownIdentifier)}initializeMask(t){this._fromInputMask&&this._fromInputMask.destroy(),this._fromInputMask=new T(this._fromInputElement,t)}initializeToMask(t){this._toInputMask&&this._toInputMask.destroy(),this._toInputMask=new T(this._toInputElement,t)}destroy(){super.destroy(),this._destroyToValueChangeListener()}destroyMask(){this._fromInputMask&&(this._fromInputMask.destroy(),this._fromInputMask=void 0),this._toInputMask&&(this._toInputMask.destroy(),this._toInputMask=void 0)}_destroyToValueChangeListener(){typeof this._toValueChangeListener=="function"&&this._toValueChangeListener()}initializeAccessibility(){this._applyToInputs(t=>t.setAttribute("autocomplete","off")),this._applyToInputs(t=>t.setAttribute("autocorrect","off")),this._applyToInputs(t=>t.setAttribute("autocapitalize","off")),this._applyToInputs(t=>t.setAttribute("spellcheck","false")),this._applyToInputs(t=>t.setAttribute("role","combobox")),this._applyToInputs(t=>t.setAttribute("aria-live","assertive")),this._applyToInputs(t=>t.setAttribute("aria-atomic","true")),this._applyToInputs(t=>t.setAttribute("aria-haspopup","true")),this._applyToInputs(t=>t.setAttribute("aria-expanded","false")),this._applyToInputs(t=>t.setAttribute("aria-owns",this._dropdownIdentifier))}addInputListener(t,e,n){var o;(o=this._fromInputElement)==null||o.addEventListener(t,e,{capture:n})}addToInputListener(t,e,n){var o;(o=this._toInputElement)==null||o.addEventListener(t,e,{capture:n})}removeInputListener(t,e){var n;(n=this._fromInputElement)==null||n.removeEventListener(t,e)}removeToInputListener(t,e){var n;(n=this._toInputElement)==null||n.removeEventListener(t,e)}setInputValueChangedListener(t,e){this._valueChangeListeners.length&&this.destroyValueChangeListener();let n=D(t,this._fromInputElement,"value",e);this._valueChangeListeners.push(n)}setToInputValueChangedListener(t,e){this._destroyToValueChangeListener(),this._toValueChangeListener=D(t,this._toInputElement,"value",e)}hasInputElement(){return!!this._fromInputElement&&!!this._toInputElement}attachCalendar(t,e){super.attachCalendar(t,e),this._fromInputElement.setAttribute("aria-expanded","true")}detachCalendar(){super.detachCalendar(),this._fromInputElement&&(this._fromInputElement.setAttribute("aria-expanded","false"),this._fromInputElement.removeAttribute("aria-activedescendant"))}setActiveDescendant(t){this._fromInputElement.setAttribute("aria-activedescendant",t)}setInputValue(t,e){this._fromInputElement.value!==t&&(this._fromInputElement.value=t,this._fromInputMask&&this._fromInputMask.updateMask(),e&&(this._fromInputElement.dispatchEvent(new Event("change")),this._fromInputElement.dispatchEvent(new Event("input"))))}setToInputValue(t,e){this._toInputElement.value!==t&&(this._toInputElement.value=t,this._toInputMask&&this._toInputMask.updateMask(),e&&(this._toInputElement.dispatchEvent(new Event("change")),this._toInputElement.dispatchEvent(new Event("input"))))}isInputDisabled(){return this._fromInputElement.disabled}isInputFocused(){return this._toInputElement===g()||this._fromInputElement===g()}getInputValue(){return this._fromInputElement.value}getToInputValue(){return this._toInputElement.value}setDisabled(t){this._fromInputElement.disabled=t,this._toInputElement.disabled=t,this._toInputElement.setAttribute("aria-disabled",t.toString()),this._fromInputElement.setAttribute("aria-disabled",t.toString()),this._toggleElement&&(this._toggleElement.setAttribute("aria-disabled",t.toString()),this._toggleElement.hasOwnProperty("disabled")&&(this._toggleElement.disabled=t))}emitInputEvent(t,e){E(this._fromInputElement,t,e)}emitToInputEvent(t,e){E(this._toInputElement,t,e)}_createToggleElement(){return H("date_range")}tryFocusInput(){this._fromInputElement.focus()}tryBlurInput(){this._fromInputElement.blur()}selectInputText(){this._fromInputElement.select()}selectToInputText(){this._toInputElement.select()}_applyToInputs(t){[this._fromInputElement,this._toInputElement].forEach(t)}};var c=class extends U{constructor(t){super(t);this._mode="range";this._from=null;this._to=null;this._toInputListener=e=>this._onToInput(e),this._toInputValueChangedListener=e=>this._onToInputValueChanged(e),this._toInputKeydownListener=e=>this._onInputKeydown(e),this._toInputFocusListener=e=>this._onToInputFocus(),this._toInputBlurListener=e=>this._onToInputBlur(e)}_initializeState(){this._from||(this._from=this._coerceDateValue(this._adapter.getInputValue())),this._to||(this._to=this._coerceDateValue(this._adapter.getToInputValue()))}_initializeListeners(){super._initializeListeners(),this._adapter.addToInputListener("keydown",this._toInputKeydownListener),this._adapter.addToInputListener("focus",this._toInputFocusListener),this._adapter.addToInputListener("blur",this._toInputBlurListener)}_initializeValueChangedListeners(){super._initializeValueChangedListeners(),this._adapter.setToInputValueChangedListener(this,this._toInputValueChangedListener)}_setInputChangeListeners(){super._setInputChangeListeners(),this._adapter.addToInputListener("input",this._toInputListener)}_removeInputChangeListeners(){super._removeInputChangeListeners(),this._adapter.removeToInputListener("input",this._toInputListener)}_openCalendar(t){this._formatToInputValue(),super._openCalendar(t);let e=this._getCurrentValue();e!=null&&e.to?this._adapter.goToCalendarDate(new Date(e.to)):e!=null&&e.from&&this._adapter.goToCalendarDate(new Date(e.from))}_emitChangeEvent(t,e){let n=this._getTypedValue(t&&t.from||null),o=this._getTypedValue(t&&t.to||null),u=new l({from:n,to:o});return this._adapter.emitHostEvent(i.events.CHANGE,u,!0,!e)?(this._setValue(this._coerceDateValue(t&&t.from||null)),this._setToValue(this._coerceDateValue(t&&t.to||null)),!0):!1}_emitOpenEvent(){this._adapter.emitHostEvent(i.events.OPEN,void 0,!1)}_emitCloseEvent(){this._adapter.emitHostEvent(i.events.CLOSE,void 0,!1)}_onToday(){let t=new Date,e=new a({from:t});this.value=e,this._onDateSelected({date:t,range:e,selected:!0,type:"date"}),this._adapter.setCalendarActiveDate(t)}_onClear(){this._onDateSelected({date:null,range:new a,selected:!1,type:"date"}),this._closeCalendar(!0)}_getCurrentValue(){return this._value}_formatToInputValue(){let t=this._adapter.getToInputValue();if(t){let e=this._parseDateString(t);if(k(e)&&this._isDateValueAcceptable(e)){let n=this._formatDate(e);n&&this._adapter.setToInputValue(n,this._notifyInputValueChanges)}else this._allowInvalidDate||this._adapter.setToInputValue("",this._notifyInputValueChanges)}}_setFormattedInputValue(t){let e=this._formatDate(this._from);!e&&!this._allowInvalidDate&&(e=""),this._adapter.setInputValue(e,t?!1:this._notifyInputValueChanges)}_setFormattedToInputValue(t){let e=this._formatDate(this._to);!e&&!this._allowInvalidDate&&(e=""),this._adapter.setToInputValue(e,t?!1:this._notifyInputValueChanges)}_setValue(t){this._isDateValueAcceptable(t)&&(this._from=t||null,this._value?this._value.from=this._from:this._value={from:this._from,to:this._to})}_setToValue(t){this._isDateValueAcceptable(t)&&(this._to=t||null,this._value?this._value.to=this._to:this._value={from:this._from,to:this._to})}_onDateSelected(t){let e=t.range;if(t.rangeSelectionState==="to"&&this._closeCalendar(!0),!this._emitChangeEvent(e!=null?e:null))return;let n=this._formatDate(e&&e.from||null),o=this._formatDate(e&&e.to||null);this._adapter.setInputValue(n,this._notifyInputValueChanges),this._adapter.setToInputValue(o,this._notifyInputValueChanges),this._formatInputValue(),this._formatToInputValue(),this._from=e&&e.from||null,this._to=e&&e.to||null,V.isMobile||(o?this._adapter.selectToInputText():this._adapter.selectInputText())}_applyMin(){this._from&&!this._isDateValueAcceptable(this._from)&&(this._emitChangeEvent(new a({to:this._to||void 0}),!0),this._setFormattedInputValue()),this._to&&!this._isDateValueAcceptable(this._to)&&(this._emitChangeEvent(new a({from:this._from||void 0}),!0),this._setFormattedToInputValue()),super._applyMin()}_applyMax(){this._from&&!this._isDateValueAcceptable(this._from)&&(this._emitChangeEvent(new a({to:this._to||void 0}),!0),this._setFormattedInputValue()),this._to&&!this._isDateValueAcceptable(this._to)&&(this._emitChangeEvent(new a({from:this._from||void 0}),!0),this._setFormattedToInputValue()),super._applyMax()}_initializeMask(){if(super._initializeMask(),this._masked){let t={showMaskFormat:this._showMaskFormat,pattern:this._maskFormat,onChange:e=>this._handleToInput(e)};this._prepareMaskCallback&&(t.prepareCallback=(e,n,o,u)=>this._prepareMaskCallback.call(null,e,n,o,u)),this._adapter.initializeToMask(t)}}_applyDisabledDates(){this._from&&!this._isDateValueAcceptable(this._from)&&(this._emitChangeEvent(new a({to:this._to||void 0}),!0),this._setFormattedInputValue()),this._to&&!this._isDateValueAcceptable(this._to)&&(this._emitChangeEvent(new a({from:this._from||void 0}),!0),this._setFormattedToInputValue())}_applyDisabledDaysOfWeek(){this._from&&!this._isDateValueAcceptable(this._from)&&(this._emitChangeEvent(null,!0),this._setFormattedInputValue()),this._to&&!this._isDateValueAcceptable(this._to)&&(this._emitChangeEvent(null,!0),this._setFormattedToInputValue())}_onToInput(t){this._handleInput(this._adapter.getInputValue())}_handleInput(t){let e=this._getSanitizedDateString(t),n=this._coerceDateValue(e);this._masked&&this._adapter.emitInputEvent(i.events.INPUT,e),!p(n,this._from)&&this._isDateValueAcceptable(n)&&this._emitChangeEvent(new a({from:n||void 0,to:this._to||void 0}))}_handleToInput(t){let e=this._getSanitizedDateString(t),n=this._coerceDateValue(e);this._masked&&this._adapter.emitToInputEvent(i.events.INPUT,e),!p(n,this._to)&&this._isDateValueAcceptable(n)&&this._emitChangeEvent(new a({from:this._from||void 0,to:n||void 0}))}_onToInputFocus(){this._adapter.selectToInputText()}_onToInputBlur(t){this._formatToInputValue(),this._open&&this._closeCalendar(!0)}_onInputValueChanged(t){if(this._masked)return;let e=this._getSanitizedDateString(t),n=this._coerceDateValue(e);p(n,this._from)||(this.from=n,this._emitChangeEvent(new a({from:n||void 0,to:this._to||void 0})))}_onToInputValueChanged(t){if(this._masked)return;let e=this._getSanitizedDateString(t),n=this._coerceDateValue(e);p(n,this._to)||(this.to=n,this._emitChangeEvent(new a({from:this._from||void 0,to:n||void 0})))}get value(){return{from:this.from,to:this.to}}set value(t){!t||(t.from===void 0&&(t.from=null),t.to===void 0&&(t.to=null),this.from=t.from,this.to=t.to,this._value={from:this.from,to:this.to})}get from(){let t=this._getTypedValue(this._from);return t?v(t)?new Date(t.getTime()):t:null}set from(t){this._from!==t&&(this._setValue(this._coerceDateValue(t)),this._isInitialized&&(this._setFormattedInputValue(),this._open&&this._adapter.setCalendarValue(new a({from:this._coerceDateValue(t)||void 0,to:this._coerceDateValue(this._to)||void 0}))))}get to(){let t=this._getTypedValue(this._to);return t?v(t)?new Date(t.getTime()):t:null}set to(t){this._to!==t&&(this._setToValue(this._coerceDateValue(t)),this._isInitialized&&(this._setFormattedToInputValue(),this._open&&this._adapter.setCalendarValue(new a({to:this._coerceDateValue(t)||void 0,from:this._coerceDateValue(this._from)||void 0}))))}};var X="<template><slot></slot></template>",j=":host{display:block}:host([hidden]){display:none}",s=class extends B{constructor(){super();R.define(F),P(this,X,j),this._foundation=new c(new _(this))}static get observedAttributes(){return[...Object.values(z.observedAttributes),i.observedAttributes.FROM,i.observedAttributes.TO]}attributeChangedCallback(t,e,n){switch(t){case i.observedAttributes.FROM:this.from=n;return;case i.observedAttributes.TO:this.to=n;return}super.attributeChangedCallback(t,e,n)}};h([C()],s.prototype,"from",2),h([C()],s.prototype,"to",2),s=h([L({name:i.elementName,dependencies:[w,S,N,x]})],s);var $=class extends M{constructor(t){super(t)}_build(){let t=document.createElement(i.elementName);return this._attachTextField(t),t}get fromInput(){return this._textField.querySelector(`input[${m.attributes.MULTI_INPUT}-0]`)}get toInput(){return this._textField.querySelector(`input[${m.attributes.MULTI_INPUT}-1]`)}get textField(){return this._textField}get value(){return this._element.value}set value(t){this._element.value=t}get disabled(){return this._element.disabled}set disabled(t){this._element.disabled=t}get invalid(){return this._textField.invalid||!1}set invalid(t){this._textField.invalid=t}onChange(t){this._element.addEventListener(i.events.CHANGE,e=>t(e.detail))}onFocus(t){this._element.addEventListener("focusin",e=>{!this._element.contains(e.relatedTarget)&&t(e)})}onBlur(t){this._element.addEventListener("focusout",e=>{!this._element.contains(e.relatedTarget)&&t(e)})}_attachTextField(t){var n,o,u,I,b;this._textField=document.createElement(m.elementName),(n=this._config.options)!=null&&n.required&&(this._textField.required=!0),(o=this._config.options)!=null&&o.density&&(this._textField.density=this._config.options.density),this._fromInput=document.createElement("input"),this._fromInput.type="text",this._fromInput.placeholder=((u=this._config.options)==null?void 0:u.fromPlaceholder)||"From",this._textField.appendChild(this._fromInput),this._toInput=document.createElement("input"),this._toInput.type="text",this._toInput.placeholder=((I=this._config.options)==null?void 0:I.toPlaceholder)||"To",this._textField.appendChild(this._toInput);let e=document.createElement("label");e.textContent=((b=this._config.options)==null?void 0:b.label)||"Choose date range",this._textField.appendChild(e),t.appendChild(this._textField)}};function $t(){y(s)}export{l as a,i as b,_ as c,c as d,s as e,$ as f,$t as g};
|
|
7
|
+
//# sourceMappingURL=chunk.EM3OQRZP.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/date-range-picker/date-range-picker-constants.ts", "../../src/date-range-picker/date-range-picker-adapter.ts", "../../src/date-range-picker/date-range-picker-foundation.ts", "../../src/date-range-picker/date-range-picker.ts", "../../src/date-range-picker/date-range-picker-component-delegate.ts", "../../src/date-range-picker/index.ts"],
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}date-range-picker`;\n\nexport class DatePickerRange implements IDatePickerRange {\n public from?: Date | string | null;\n public to?: Date | string | null;\n constructor(range?: IDatePickerRange) {\n if (range) {\n this.from = range.from;\n this.to = range.to;\n }\n }\n\n public copy(): DatePickerRange {\n return new DatePickerRange(this);\n }\n}\n\nexport interface IDatePickerRange {\n from?: Date | string | null;\n to?: Date | string | null;\n}\n\nconst observedAttributes = {\n FROM: 'from',\n TO: 'to',\n END_VALUE: 'end-value'\n};\n\nconst selectors = {\n INPUT: 'input'\n};\n\nconst events = {\n CHANGE: `${elementName}-change`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n INPUT: `${elementName}-input`\n};\n\nexport const DATE_RANGE_PICKER_CONSTANTS = {\n elementName,\n selectors,\n events,\n observedAttributes\n};\n\n\nexport interface IDateRangePickerChangeEventData extends DatePickerRange {}\n", "import { emitEvent, listenOwnProperty, getActiveElement } from '@tylertech/forge-core';\nimport { CalendarDropdown, ICalendarDropdownPopupConfig } from '../calendar/calendar-dropdown';\nimport { DateInputMask, IDateInputMaskOptions } from '../core';\nimport { BaseDatePickerAdapter, IBaseDatePickerAdapter } from '../date-picker/base/base-date-picker-adapter';\nimport { IDatePickerCalendarDropdownConfig } from '../date-picker/base/base-date-picker-constants';\nimport { createToggleElement } from '../date-picker/base/base-date-picker-utils';\nimport { DateRangePickerComponent, IDateRangePickerComponent } from './date-range-picker';\nimport { DATE_RANGE_PICKER_CONSTANTS } from './date-range-picker-constants';\n\nexport interface IDateRangePickerAdapter extends IBaseDatePickerAdapter {\n initializeToMask(toOptions: IDateInputMaskOptions): void;\n addToInputListener(type: string, listener: (event: Event) => void): void;\n removeToInputListener(type: string, listener: (event: Event) => void): void;\n setToInputValueChangedListener(context: any, listener: (value: any) => void): void;\n getToInputValue(): string;\n setToInputValue(value: string, emitEvents: boolean): void;\n emitInputEvent(type: string, data?: any): void;\n emitToInputEvent(type: string, data?: any): void;\n tryFocusInput(): void;\n tryBlurInput(): void;\n selectToInputText(): void;\n}\n\nexport class DateRangePickerAdapter extends BaseDatePickerAdapter<IDateRangePickerComponent> implements IDateRangePickerAdapter {\n private _fromInputElement: HTMLInputElement;\n private _toInputElement: HTMLInputElement;\n private _toInputMask: DateInputMask | undefined;\n private _fromInputMask: DateInputMask | undefined;\n private _dropdownIdentifier: string;\n private _toValueChangeListener: (() => void) | undefined;\n\n constructor(component: DateRangePickerComponent) {\n super(component);\n this._dropdownIdentifier = `forge-date-range-picker-${this._identifier}`;\n }\n\n protected _initializeInput(): void {\n this._fromInputElement = this._component.querySelectorAll(DATE_RANGE_PICKER_CONSTANTS.selectors.INPUT)[0] as HTMLInputElement;\n this._toInputElement = this._component.querySelectorAll(DATE_RANGE_PICKER_CONSTANTS.selectors.INPUT)[1] as HTMLInputElement;\n\n if (!this._fromInputElement || !this._fromInputElement) {\n throw new Error(`The ${DATE_RANGE_PICKER_CONSTANTS.elementName} requires two inputs`);\n }\n }\n\n protected _initializeCalendarDropdown(): void {\n const targetElement = this._getDefaultTargetElement();\n this._calendarDropdown = new CalendarDropdown(targetElement, this._dropdownIdentifier);\n }\n\n public initializeMask(fromOptions: IDateInputMaskOptions): void {\n if (this._fromInputMask) {\n this._fromInputMask.destroy();\n }\n this._fromInputMask = new DateInputMask(this._fromInputElement, fromOptions);\n }\n\n public initializeToMask(toOptions: IDateInputMaskOptions): void {\n if (this._toInputMask) {\n this._toInputMask.destroy();\n }\n this._toInputMask = new DateInputMask(this._toInputElement, toOptions);\n }\n\n public destroy(): void {\n super.destroy();\n this._destroyToValueChangeListener();\n }\n\n public destroyMask(): void {\n if (this._fromInputMask) {\n this._fromInputMask.destroy();\n this._fromInputMask = undefined;\n }\n if (this._toInputMask) {\n this._toInputMask.destroy();\n this._toInputMask = undefined;\n }\n }\n\n private _destroyToValueChangeListener(): void {\n if (typeof this._toValueChangeListener === 'function') {\n this._toValueChangeListener();\n }\n }\n\n public initializeAccessibility(): void {\n this._applyToInputs(input => input.setAttribute('autocomplete', 'off'));\n this._applyToInputs(input => input.setAttribute('autocorrect', 'off'));\n this._applyToInputs(input => input.setAttribute('autocapitalize', 'off'));\n this._applyToInputs(input => input.setAttribute('spellcheck', 'false'));\n this._applyToInputs(input => input.setAttribute('role', 'combobox'));\n this._applyToInputs(input => input.setAttribute('aria-live', 'assertive'));\n this._applyToInputs(input => input.setAttribute('aria-atomic', 'true'));\n this._applyToInputs(input => input.setAttribute('aria-haspopup', 'true'));\n this._applyToInputs(input => input.setAttribute('aria-expanded', 'false'));\n this._applyToInputs(input => input.setAttribute('aria-owns', this._dropdownIdentifier));\n }\n\n public addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void {\n this._fromInputElement?.addEventListener(type, listener, { capture });\n }\n\n public addToInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void {\n this._toInputElement?.addEventListener(type, listener, { capture });\n }\n\n public removeInputListener(type: string, listener: (event: Event) => void): void {\n this._fromInputElement?.removeEventListener(type, listener);\n }\n \n public removeToInputListener(type: string, listener: (event: Event) => void): void {\n this._toInputElement?.removeEventListener(type, listener);\n }\n\n public setInputValueChangedListener(context: any, listener: (value: any) => void): void {\n if (this._valueChangeListeners.length) {\n this.destroyValueChangeListener();\n }\n const destroyListenerCb = listenOwnProperty(context, this._fromInputElement, 'value', listener);\n this._valueChangeListeners.push(destroyListenerCb);\n }\n\n public setToInputValueChangedListener(context: any, listener: (value: any) => void): void {\n this._destroyToValueChangeListener();\n this._toValueChangeListener = listenOwnProperty(context, this._toInputElement, 'value', listener);\n }\n\n public hasInputElement(): boolean {\n return !!this._fromInputElement && !!this._toInputElement;\n }\n\n public override attachCalendar(calendarConfig: IDatePickerCalendarDropdownConfig<Date | null>, dropdownConfig?: ICalendarDropdownPopupConfig): void {\n super.attachCalendar(calendarConfig, dropdownConfig);\n this._fromInputElement.setAttribute('aria-expanded', 'true');\n }\n\n public override detachCalendar(): void {\n super.detachCalendar();\n if (this._fromInputElement) {\n this._fromInputElement.setAttribute('aria-expanded', 'false');\n this._fromInputElement.removeAttribute('aria-activedescendant');\n }\n }\n\n public setActiveDescendant(id: string): void {\n this._fromInputElement.setAttribute('aria-activedescendant', id);\n }\n\n public setInputValue(value: string, emitEvents: boolean): void {\n if (this._fromInputElement.value === value) {\n return;\n }\n\n this._fromInputElement.value = value;\n \n if (this._fromInputMask) {\n this._fromInputMask.updateMask();\n }\n\n if (emitEvents) {\n this._fromInputElement.dispatchEvent(new Event('change'));\n this._fromInputElement.dispatchEvent(new Event('input'));;\n }\n }\n\n public setToInputValue(value: string, emitEvents: boolean): void {\n if (this._toInputElement.value === value) {\n return;\n }\n\n this._toInputElement.value = value;\n \n if (this._toInputMask) {\n this._toInputMask.updateMask();\n }\n \n if (emitEvents) {\n this._toInputElement.dispatchEvent(new Event('change'));\n this._toInputElement.dispatchEvent(new Event('input'));\n }\n }\n\n public isInputDisabled(): boolean {\n return this._fromInputElement.disabled;\n }\n\n public isInputFocused(): boolean {\n return this._toInputElement === getActiveElement() || this._fromInputElement === getActiveElement();\n }\n\n public getInputValue(): string {\n return this._fromInputElement.value;\n }\n\n public getToInputValue(): string {\n return this._toInputElement.value;\n }\n\n public setDisabled(isDisabled: boolean): void {\n this._fromInputElement.disabled = isDisabled;\n this._toInputElement.disabled = isDisabled;\n\n this._toInputElement.setAttribute('aria-disabled', isDisabled.toString());\n this._fromInputElement.setAttribute('aria-disabled', isDisabled.toString());\n\n if (this._toggleElement) {\n this._toggleElement.setAttribute('aria-disabled', isDisabled.toString());\n if (this._toggleElement.hasOwnProperty('disabled')) {\n (this._toggleElement as HTMLButtonElement).disabled = isDisabled;\n }\n }\n }\n\n public emitInputEvent(type: string, data?: any): void {\n emitEvent(this._fromInputElement, type, data);\n }\n\n public emitToInputEvent(type: string, data?: any): void {\n emitEvent(this._toInputElement, type, data);\n }\n\n protected override _createToggleElement(): HTMLElement {\n return createToggleElement('date_range');\n }\n\n public tryFocusInput(): void {\n this._fromInputElement.focus();\n }\n\n public tryBlurInput(): void {\n this._fromInputElement.blur();\n }\n\n public selectInputText(): void {\n this._fromInputElement.select();\n }\n\n public selectToInputText(): void {\n this._toInputElement.select();\n }\n\n private _applyToInputs(action: (input: HTMLInputElement) => void): void {\n [this._fromInputElement, this._toInputElement].forEach(action);\n }\n}\n", "import { isDate, isValidDate, Platform } from '@tylertech/forge-core';\nimport { CalendarMode, DateRange, ICalendarDateSelectEventData } from '../calendar';\nimport { isSameDate } from '../core/utils/date-utils';\nimport { IDateInputMaskOptions } from '../core/mask/date-input-mask';\nimport { BaseDatePickerFoundation, IBaseDatePickerFoundation } from '../date-picker/base/base-date-picker-foundation';\nimport { IDateRangePickerAdapter } from './date-range-picker-adapter';\nimport { DatePickerRange, DATE_RANGE_PICKER_CONSTANTS, IDatePickerRange, IDateRangePickerChangeEventData } from './date-range-picker-constants';\n\nexport interface IDateRangePickerFoundation extends IBaseDatePickerFoundation<IDatePickerRange> {\n from: Date | string | null | undefined;\n to: Date | string | null | undefined;\n}\n\nexport class DateRangePickerFoundation extends BaseDatePickerFoundation<IDateRangePickerAdapter, IDatePickerRange> implements IDateRangePickerFoundation {\n protected _mode: CalendarMode = 'range';\n private _from?: Date | null = null;\n private _to?: Date | null = null;\n private _toInputListener: (evt: Event) => void;\n private _toInputKeydownListener: (evt: KeyboardEvent) => void;\n private _toInputFocusListener: (evt: Event) => void;\n private _toInputBlurListener: (evt: Event) => void;\n private _toInputValueChangedListener: (value: string) => void;\n\n constructor(adapter: IDateRangePickerAdapter) {\n super(adapter);\n this._toInputListener = evt => this._onToInput(evt);\n this._toInputValueChangedListener = value => this._onToInputValueChanged(value);\n this._toInputKeydownListener = evt => this._onInputKeydown(evt);\n this._toInputFocusListener = evt => this._onToInputFocus();\n this._toInputBlurListener = evt => this._onToInputBlur(evt);\n }\n\n protected _initializeState(): void {\n if (!this._from) {\n this._from = this._coerceDateValue(this._adapter.getInputValue());\n }\n if (!this._to) {\n this._to = this._coerceDateValue(this._adapter.getToInputValue());\n }\n }\n\n protected override _initializeListeners(): void {\n super._initializeListeners();\n this._adapter.addToInputListener('keydown', this._toInputKeydownListener);\n this._adapter.addToInputListener('focus', this._toInputFocusListener);\n this._adapter.addToInputListener('blur', this._toInputBlurListener);\n }\n\n protected override _initializeValueChangedListeners(): void {\n super._initializeValueChangedListeners();\n this._adapter.setToInputValueChangedListener(this, this._toInputValueChangedListener);\n }\n\n protected override _setInputChangeListeners(): void {\n super._setInputChangeListeners();\n this._adapter.addToInputListener('input', this._toInputListener);\n }\n\n protected override _removeInputChangeListeners(): void {\n super._removeInputChangeListeners();\n this._adapter.removeToInputListener('input', this._toInputListener);\n }\n\n protected override _openCalendar(emitOpenEvent?: boolean): void {\n this._formatToInputValue();\n super._openCalendar(emitOpenEvent);\n\n const currentValue = this._getCurrentValue();\n if (!!currentValue?.to) {\n this._adapter.goToCalendarDate(new Date(currentValue.to));\n } else if (!!currentValue?.from) {\n this._adapter.goToCalendarDate(new Date(currentValue.from));\n }\n }\n\n protected _emitChangeEvent(value: DateRange | null | undefined, force?: boolean): boolean {\n const typedStartValue = this._getTypedValue((value && value.from) || null);\n const typedEndValue = this._getTypedValue((value && value.to) || null);\n const detail: IDateRangePickerChangeEventData = new DatePickerRange({ from: typedStartValue, to: typedEndValue });\n const wasCancelled = !this._adapter.emitHostEvent(DATE_RANGE_PICKER_CONSTANTS.events.CHANGE, detail, true, !force);\n if (!wasCancelled) {\n this._setValue(this._coerceDateValue((value && value.from) || null));\n this._setToValue(this._coerceDateValue((value && value.to) || null));\n return true;\n }\n return false;\n }\n\n protected _emitOpenEvent(): void {\n this._adapter.emitHostEvent(DATE_RANGE_PICKER_CONSTANTS.events.OPEN, undefined, false);\n }\n\n protected _emitCloseEvent(): void {\n this._adapter.emitHostEvent(DATE_RANGE_PICKER_CONSTANTS.events.CLOSE, undefined, false);\n }\n\n protected _onToday(): void {\n const today = new Date();\n const range = new DateRange({ from: today });\n this.value = range;\n this._onDateSelected({ date: today, range, selected: true, type: 'date' });\n this._adapter.setCalendarActiveDate(today);\n }\n\n protected _onClear(): void {\n this._onDateSelected({ date: null, range: new DateRange(), selected: false, type: 'date' });\n this._closeCalendar(true);\n }\n\n protected _getCurrentValue(): IDatePickerRange | null | undefined {\n return this._value;\n }\n\n private _formatToInputValue(): void {\n const inputValue = this._adapter.getToInputValue();\n if (inputValue) {\n const parsedDate = this._parseDateString(inputValue);\n if (isValidDate(parsedDate) && this._isDateValueAcceptable(parsedDate)) {\n const formattedDate = this._formatDate(parsedDate);\n if (formattedDate) {\n this._adapter.setToInputValue(formattedDate, this._notifyInputValueChanges);\n }\n } else {\n if (!this._allowInvalidDate) {\n this._adapter.setToInputValue('', this._notifyInputValueChanges);\n }\n }\n }\n }\n\n protected _setFormattedInputValue(suppressValueChanges?: boolean): void {\n let formattedDate = this._formatDate(this._from);\n if (!formattedDate && !this._allowInvalidDate) {\n formattedDate = '';\n }\n this._adapter.setInputValue(formattedDate, suppressValueChanges ? false : this._notifyInputValueChanges);\n }\n\n private _setFormattedToInputValue(suppressValueChanges?: boolean): void {\n let formattedDate = this._formatDate(this._to);\n if (!formattedDate && !this._allowInvalidDate) {\n formattedDate = '';\n }\n this._adapter.setToInputValue(formattedDate, suppressValueChanges ? false : this._notifyInputValueChanges);\n }\n\n protected _setValue(value: Date | null | undefined): void {\n if (this._isDateValueAcceptable(value)) {\n this._from = value || null;\n if (!this._value) {\n this._value = { from: this._from, to: this._to };\n } else {\n this._value.from = this._from;\n }\n }\n }\n\n private _setToValue(value: Date | null | undefined): void {\n if (this._isDateValueAcceptable(value)) {\n this._to = value || null;\n if (!this._value) {\n this._value = { from: this._from, to: this._to };\n } else {\n this._value.to = this._to;\n }\n }\n }\n\n protected _onDateSelected(event: ICalendarDateSelectEventData): void {\n const value = event.range;\n\n if (event.rangeSelectionState === 'to') {\n this._closeCalendar(true);\n }\n\n if (!this._emitChangeEvent(value ?? null)) {\n return;\n }\n\n const formattedFromValue = this._formatDate((value && value.from) || null);\n const formattedToValue = this._formatDate((value && value.to) || null);\n this._adapter.setInputValue(formattedFromValue, this._notifyInputValueChanges);\n this._adapter.setToInputValue(formattedToValue, this._notifyInputValueChanges);\n this._formatInputValue();\n this._formatToInputValue();\n\n this._from = (value && value.from) || null;\n this._to = (value && value.to) || null;\n\n if (!Platform.isMobile) {\n if (formattedToValue) {\n this._adapter.selectToInputText();\n } else {\n this._adapter.selectInputText();\n }\n }\n }\n\n protected override _applyMin(): void {\n if (this._from && !this._isDateValueAcceptable(this._from)) {\n this._emitChangeEvent(new DateRange({ to: this._to || undefined }), true);\n this._setFormattedInputValue();\n }\n if (this._to && !this._isDateValueAcceptable(this._to)) {\n this._emitChangeEvent(new DateRange({ from: this._from || undefined }), true);\n this._setFormattedToInputValue();\n }\n super._applyMin();\n }\n\n protected override _applyMax(): void {\n if (this._from && !this._isDateValueAcceptable(this._from)) {\n this._emitChangeEvent(new DateRange({ to: this._to || undefined }), true);\n this._setFormattedInputValue();\n }\n if (this._to && !this._isDateValueAcceptable(this._to)) {\n this._emitChangeEvent(new DateRange({ from: this._from || undefined }), true);\n this._setFormattedToInputValue();\n }\n super._applyMax();\n }\n\n protected override _initializeMask(): void {\n super._initializeMask();\n\n // We also need to initialize our mask for the \"to\" input\n if (this._masked) {\n const options: IDateInputMaskOptions = {\n showMaskFormat: this._showMaskFormat,\n pattern: this._maskFormat,\n onChange: (value: string) => this._handleToInput(value)\n };\n\n if (this._prepareMaskCallback) {\n options.prepareCallback = (value, masked, flags, maskInstance) => {\n return this._prepareMaskCallback.call(null, value, masked, flags, maskInstance);\n };\n }\n\n this._adapter.initializeToMask(options);\n }\n }\n\n protected _applyDisabledDates(): void {\n if (this._from && !this._isDateValueAcceptable(this._from)) {\n this._emitChangeEvent(new DateRange({ to: this._to || undefined }), true);\n this._setFormattedInputValue();\n }\n if (this._to && !this._isDateValueAcceptable(this._to)) {\n this._emitChangeEvent(new DateRange({ from: this._from || undefined }), true);\n this._setFormattedToInputValue();\n }\n }\n\n protected _applyDisabledDaysOfWeek(): void {\n if (this._from && !this._isDateValueAcceptable(this._from)) {\n this._emitChangeEvent(null, true);\n this._setFormattedInputValue();\n }\n if (this._to && !this._isDateValueAcceptable(this._to)) {\n this._emitChangeEvent(null, true);\n this._setFormattedToInputValue();\n }\n }\n\n private _onToInput(evt: Event): void {\n this._handleInput(this._adapter.getInputValue());\n }\n\n protected _handleInput(value: string): void {\n const sanitizedValue = this._getSanitizedDateString(value);\n const date = this._coerceDateValue(sanitizedValue);\n if (this._masked) {\n this._adapter.emitInputEvent(DATE_RANGE_PICKER_CONSTANTS.events.INPUT, sanitizedValue);\n }\n if (!isSameDate(date, this._from) && this._isDateValueAcceptable(date)) {\n this._emitChangeEvent(new DateRange({ from: date || undefined, to: this._to || undefined }));\n }\n }\n\n private _handleToInput(value: string): void {\n const sanitizedValue = this._getSanitizedDateString(value);\n const date = this._coerceDateValue(sanitizedValue);\n if (this._masked) {\n this._adapter.emitToInputEvent(DATE_RANGE_PICKER_CONSTANTS.events.INPUT, sanitizedValue);\n }\n if (!isSameDate(date, this._to) && this._isDateValueAcceptable(date)) {\n this._emitChangeEvent(new DateRange({ from: this._from || undefined, to: date || undefined }));\n }\n }\n\n private _onToInputFocus(): void {\n this._adapter.selectToInputText();\n }\n\n private _onToInputBlur(evt: Event): void {\n this._formatToInputValue();\n if (this._open) {\n this._closeCalendar(true);\n }\n }\n\n protected _onInputValueChanged(value: string): void {\n if (this._masked) {\n return;\n }\n const sanitizedValue = this._getSanitizedDateString(value);\n const date = this._coerceDateValue(sanitizedValue);\n if (!isSameDate(date, this._from)) {\n this.from = date;\n this._emitChangeEvent(new DateRange({ from: date || undefined, to: this._to || undefined }));\n }\n }\n\n private _onToInputValueChanged(value: string): void {\n if (this._masked) {\n return;\n }\n const sanitizedValue = this._getSanitizedDateString(value);\n const date = this._coerceDateValue(sanitizedValue);\n if (!isSameDate(date, this._to)) {\n this.to = date;\n this._emitChangeEvent(new DateRange({ from: this._from || undefined, to: date || undefined }));\n }\n }\n\n public get value(): IDatePickerRange {\n return { from: this.from, to: this.to };\n }\n public set value(value: IDatePickerRange) {\n if (!value) {\n return;\n }\n\n if (value.from === undefined) {\n value.from = null;\n }\n\n if (value.to === undefined) {\n value.to = null;\n }\n\n this.from = value.from;\n this.to = value.to;\n\n this._value = { from: this.from, to: this.to };\n }\n\n public get from(): Date | string | null | undefined {\n const date = this._getTypedValue(this._from);\n\n if (!date) {\n return null;\n }\n\n if (isDate(date)) {\n return new Date(date.getTime());\n }\n\n return date;\n }\n public set from(value: Date | string | null | undefined) {\n if (this._from !== value) {\n this._setValue(this._coerceDateValue(value));\n if (this._isInitialized) {\n this._setFormattedInputValue();\n if (this._open) {\n this._adapter.setCalendarValue(new DateRange({ from: this._coerceDateValue(value) || undefined, to: this._coerceDateValue(this._to) || undefined }));\n }\n }\n }\n }\n\n public get to(): Date | string | null | undefined {\n const date = this._getTypedValue(this._to);\n\n if (!date) {\n return null;\n }\n\n if (isDate(date)) {\n return new Date(date.getTime());\n }\n\n return date;\n }\n public set to(value: Date | string | null | undefined) {\n if (this._to !== value) {\n this._setToValue(this._coerceDateValue(value));\n if (this._isInitialized) {\n this._setFormattedToInputValue();\n if (this._open) {\n this._adapter.setCalendarValue(new DateRange({ to: this._coerceDateValue(value) || undefined, from: this._coerceDateValue(this._from) || undefined }));\n }\n }\n }\n }\n}\n", "import { attachShadowTemplate, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconDateRange } from '@tylertech/tyler-icons/standard';\nimport { CalendarComponent } from '../calendar';\nimport { BaseDatePickerComponent, IBaseDatePickerComponent } from '../date-picker/base/base-date-picker';\nimport { BASE_DATE_PICKER_CONSTANTS } from '../date-picker/base/base-date-picker-constants';\nimport { IconComponent, IconRegistry } from '../icon';\nimport { IconButtonComponent } from '../icon-button';\nimport { PopupComponent } from '../popup';\nimport { DateRangePickerAdapter } from './date-range-picker-adapter';\nimport { DATE_RANGE_PICKER_CONSTANTS, IDatePickerRange, IDateRangePickerChangeEventData } from './date-range-picker-constants';\nimport { DateRangePickerFoundation } from './date-range-picker-foundation';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:block}:host([hidden]){display:none}';\n\nexport interface IDateRangePickerComponent extends IBaseDatePickerComponent<IDatePickerRange> {\n from: Date | string | null | undefined;\n to: Date | string | null | undefined;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-date-range-picker': IDateRangePickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-date-range-picker-change': CustomEvent<IDateRangePickerChangeEventData>;\n 'forge-date-range-picker-open': CustomEvent<void>;\n 'forge-date-range-picker-close': CustomEvent<void>;\n 'forge-date-range-picker-input': CustomEvent<string>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-date-range-picker>` element.\n * \n * @tag forge-date-range-picker\n */\n@CustomElement({\n name: DATE_RANGE_PICKER_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n CalendarComponent,\n IconButtonComponent,\n IconComponent\n ]\n})\nexport class DateRangePickerComponent extends BaseDatePickerComponent<IDatePickerRange, IDatePickerRange, DateRangePickerFoundation> implements IDateRangePickerComponent {\n public static get observedAttributes(): string[] {\n return [\n ...Object.values(BASE_DATE_PICKER_CONSTANTS.observedAttributes),\n DATE_RANGE_PICKER_CONSTANTS.observedAttributes.FROM,\n DATE_RANGE_PICKER_CONSTANTS.observedAttributes.TO\n ];\n }\n\n constructor() {\n super();\n IconRegistry.define(tylIconDateRange);\n attachShadowTemplate(this, template, styles);\n this._foundation = new DateRangePickerFoundation(new DateRangePickerAdapter(this));\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case DATE_RANGE_PICKER_CONSTANTS.observedAttributes.FROM:\n this.from = newValue;\n return;\n case DATE_RANGE_PICKER_CONSTANTS.observedAttributes.TO:\n this.to = newValue;\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n /** Gets/sets the \"from\" date range value. */\n @FoundationProperty()\n public from: Date | string | null | undefined;\n\n /** Gets/sets the \"to\" date range value. */\n @FoundationProperty()\n public to: Date | string | null | undefined;\n}\n", "import { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions, IBaseComponentDelegateConfig } from '../core/delegates';\nimport { FieldDensityType } from '../field/field-constants';\nimport { ITextFieldComponent, TEXT_FIELD_CONSTANTS } from '../text-field';\nimport { IDateRangePickerComponent } from './date-range-picker';\nimport { DATE_RANGE_PICKER_CONSTANTS, IDateRangePickerChangeEventData } from './date-range-picker-constants';\n\nexport type DateRangePickerComponentDelegateProps = Partial<IDateRangePickerComponent>;\nexport interface IDateRangePickerComponentDelegateOptions extends IFormFieldComponentDelegateOptions {\n useDropdownIcon?: boolean;\n fromPlaceholder?: string;\n toPlaceholder?: string;\n label?: string;\n required?: boolean;\n density?: FieldDensityType;\n}\nexport interface IDateRangePickerComponentDelegateConfig extends IBaseComponentDelegateConfig<IDateRangePickerComponent, IDateRangePickerComponentDelegateOptions> {}\n\nexport class DateRangeComponentDelegate extends FormFieldComponentDelegate<IDateRangePickerComponent, IDateRangePickerComponentDelegateOptions> {\n private _textField: ITextFieldComponent;\n private _fromInput: HTMLInputElement;\n private _toInput: HTMLInputElement;\n\n constructor(config?: IDateRangePickerComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IDateRangePickerComponent {\n const dateRangePicker = document.createElement(DATE_RANGE_PICKER_CONSTANTS.elementName) as IDateRangePickerComponent;\n this._attachTextField(dateRangePicker);\n return dateRangePicker;\n }\n\n public get fromInput(): HTMLInputElement {\n return this._textField.querySelector(`input[${TEXT_FIELD_CONSTANTS.attributes.MULTI_INPUT}-0]`) as HTMLInputElement;\n }\n\n public get toInput(): HTMLInputElement {\n return this._textField.querySelector(`input[${TEXT_FIELD_CONSTANTS.attributes.MULTI_INPUT}-1]`) as HTMLInputElement;\n }\n\n public get textField(): ITextFieldComponent {\n return this._textField;\n }\n\n public get value(): any {\n return this._element.value;\n }\n public set value(value: any) {\n this._element.value = value;\n }\n\n public get disabled(): boolean {\n return this._element.disabled;\n }\n public set disabled(value: boolean) {\n this._element.disabled = value;\n }\n\n public get invalid(): boolean {\n return this._textField.invalid || false;\n }\n public set invalid(value: boolean) {\n this._textField.invalid = value;\n }\n\n public onChange(listener: (value: IDateRangePickerChangeEventData) => void): void {\n this._element.addEventListener(DATE_RANGE_PICKER_CONSTANTS.events.CHANGE, (evt: CustomEvent<IDateRangePickerChangeEventData>) => listener(evt.detail));\n }\n\n public onFocus(listener: (evt: FocusEvent) => void): void {\n this._element.addEventListener('focusin', (evt: FocusEvent) => {\n const isFocusWithin = !this._element.contains(evt.relatedTarget as Node);\n if (isFocusWithin) {\n listener(evt);\n }\n });\n }\n\n public onBlur(listener: (evt: FocusEvent) => void): void {\n this._element.addEventListener('focusout', (evt: FocusEvent) => {\n const isFocusOutside = !this._element.contains(evt.relatedTarget as Node);\n if (isFocusOutside) {\n listener(evt);\n }\n });\n }\n\n private _attachTextField(dateRangePicker: IDateRangePickerComponent): void {\n this._textField = document.createElement(TEXT_FIELD_CONSTANTS.elementName);\n\n if (this._config.options?.required) {\n this._textField.required = true;\n }\n if (this._config.options?.density) {\n this._textField.density = this._config.options.density;\n }\n\n this._fromInput = document.createElement('input');\n this._fromInput.type = 'text';\n this._fromInput.placeholder = this._config.options?.fromPlaceholder || 'From';\n this._textField.appendChild(this._fromInput);\n\n this._toInput = document.createElement('input');\n this._toInput.type = 'text';\n this._toInput.placeholder = this._config.options?.toPlaceholder || 'To';\n this._textField.appendChild(this._toInput);\n\n const label = document.createElement('label');\n label.textContent = this._config.options?.label || 'Choose date range';\n this._textField.appendChild(label);\n\n dateRangePicker.appendChild(this._textField);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { DateRangePickerComponent } from './date-range-picker';\n\nexport * from './date-range-picker';\nexport * from './date-range-picker-adapter';\nexport * from './date-range-picker-constants';\nexport * from './date-range-picker-foundation';\nexport * from './date-range-picker-component-delegate';\n\nexport function defineDateRangePickerComponent(): void {\n defineCustomElement(DateRangePickerComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as s,d as R}from"./chunk.RS5NH2NG.js";import{a as u,d as P}from"./chunk.35U4OX7S.js";import{a as I,e as N}from"./chunk.DRFU6POI.js";import{b as x}from"./chunk.G5BCWBD5.js";import{d as U}from"./chunk.OUEF6VQ6.js";import{a as B}from"./chunk.D4SNVKDA.js";import{a as O}from"./chunk.A23NSEWA.js";import{a as n}from"./chunk.B3IJU6XJ.js";import{a as A,b as L}from"./chunk.BSZ2LBJX.js";import{a as C}from"./chunk.3E5QKMHL.js";import{a as g,d as E,h as f}from"./chunk.HN4PXH3D.js";import{c,s as b}from"./chunk.R4NDFXVA.js";import{h as d,k as p,l as v}from"./chunk.G76HB2FK.js";import{f as o}from"./chunk.MCIQXNKY.js";var S=`${L}app-bar-profile-button`,F={FULL_NAME:"full-name",EMAIL:"email",AVATAR_IMAGE_URL:"avatar-image-url",AVATAR_LETTER_COUNT:"avatar-letter-count",AVATAR_TEXT:"avatar-text",SIGN_OUT_BUTTON:"sign-out-button",PROFILE_BUTTON:"profile-button",SIGN_OUT_BUTTON_TEXT:"sign-out-button-text",PROFILE_BUTTON_TEXT:"profile-button-text",OPEN:"open"},w={BUTTON:"button"},i={elementName:S,attributes:F,selectors:w};var _=class extends O{constructor(e){super(e)}initialize(){this._avatarElement=f(this._component,u.elementName),this._buttonElement=f(this._component,i.selectors.BUTTON)}setClickListener(e){this._component.addEventListener("click",e)}removeClickListener(e){this._component.removeEventListener("click",e)}openPopup(e,l,a,k,T){return this._profileCardElement=document.createElement(s.elementName),this._profileCardElement.fullName=e.fullName,this._profileCardElement.email=e.email,this._profileCardElement.signOut=e.signOut,this._profileCardElement.profile=e.profile,this._profileCardElement.signOutText=e.signOutButtonText,this._profileCardElement.profileText=e.profileButtonText,this._profileCardElement.avatarText=e.avatarText,this._profileCardElement.avatarImageUrl=e.avatarImageUrl,this._profileCardElement.avatarLetterCount=e.avatarLetterCount,this._profileCardElement.addEventListener(s.events.PROFILE,()=>a()),this._profileCardElement.addEventListener(s.events.SIGN_OUT,()=>k()),T&&this._profileCardElement.appendChild(T),this._popupElement=document.createElement(I.elementName),this._popupElement.targetElement=this._component,this._popupElement.placement="bottom-end",this._popupElement.animationType="menu",this._popupElement.appendChild(this._profileCardElement),this._popupElement.open=!0,c(this._popupElement,y=>{!this._popupElement||this._component.contains(b())||l()},!0)}closePopup(){this._popupElement&&(this._popupElement.open=!1,this._popupElement=void 0,this._profileCardElement=void 0)}requestFocus(){this._buttonElement.focus()}setAvatarText(e){this._avatarElement.text=e}setAvatarLetterCount(e){this._avatarElement.letterCount=e}setAvatarImageUrl(e){this._avatarElement.imageUrl=e}setSignOutButtonText(e){var l;this._profileCardElement&&(this._profileCardElement.signOutText=e,(l=this._popupElement)==null||l.position())}setProfileButtonText(e){var l;this._profileCardElement&&(this._profileCardElement.profileText=e,(l=this._popupElement)==null||l.position())}};var m=class{constructor(t){this._adapter=t;this._avatarLetterCount=u.numbers.DEFAULT_LETTER_COUNT;this._showSignOutButton=s.defaults.SHOW_SIGN_OUT_BUTTON;this._showProfileButton=s.defaults.SHOW_PROFILE_BUTTON;this._signOutButtonText=s.defaults.SIGN_OUT_BUTTON_TEXT;this._profileButtonText=s.defaults.PROFILE_BUTTON_TEXT;this._open=!1;this._isInitialized=!1;this._clickListener=e=>this._onClick(e),this._dismissListener=()=>this._onDimiss(),this._keydownListener=e=>this._onKeydown(e),this._profileButtonListener=()=>this._onProfileButtonClick(),this._signOutButtonListener=()=>this._onSignOutButtonClick()}initialize(){this._adapter.initialize(),this._adapter.setClickListener(this._clickListener),this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.setAvatarText(this._avatarText),this._isInitialized=!0}disconnect(){this._open&&this._closeDropdown(),this._adapter.removeWindowListener("keydown",this._keydownListener),this._adapter.removeClickListener(this._clickListener),this._isInitialized=!1}_onClick(t){this._open?this._closeDropdown():this._openDropdown()}_onKeydown(t){(t.key==="Escape"||t.keyCode===27)&&(this._closeDropdown(),this._adapter.requestFocus())}_onDimiss(){B.WEBKIT?window.requestAnimationFrame(()=>this._closeDropdown()):this._closeDropdown()}_onProfileButtonClick(){this._adapter.emitHostEvent(s.events.PROFILE),this._closeDropdown(),this._adapter.requestFocus()}_onSignOutButtonClick(){this._adapter.emitHostEvent(s.events.SIGN_OUT),this._closeDropdown(),this._adapter.requestFocus()}_openDropdown(){if(this._open)return;d(this._cancelDismissListener)&&this._cancelDismissListener();let t={fullName:this._fullName,email:this._email,signOut:this._showSignOutButton,profile:this._showProfileButton,signOutButtonText:this._signOutButtonText,profileButtonText:this._profileButtonText,avatarText:this._avatarText,avatarImageUrl:this._avatarImageUrl,avatarLetterCount:this._avatarLetterCount},e=this._profileCardBuilder?this._profileCardBuilder():void 0;this._cancelDismissListener=this._adapter.openPopup(t,this._dismissListener,this._profileButtonListener,this._signOutButtonListener,e),this._adapter.addWindowListener("keydown",this._keydownListener),this._open=!0,!t.signOut&&!t.profile&&this._adapter.requestFocus()}_closeDropdown(){!this._open||(d(this._cancelDismissListener)&&this._cancelDismissListener(),this._open=!1,this._adapter.removeWindowListener("keydown",this._keydownListener),this._adapter.closePopup())}get fullName(){return this._fullName}set fullName(t){this._fullName!==t&&(this._fullName=t,this._adapter.setHostAttribute(i.attributes.FULL_NAME,this._fullName))}get email(){return this._email}set email(t){this._email!==t&&(this._email=t,this._adapter.setHostAttribute(i.attributes.EMAIL,this._email))}get avatarImageUrl(){return this._avatarImageUrl}set avatarImageUrl(t){this._avatarImageUrl!==t&&(this._avatarImageUrl=t,this._isInitialized&&(this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.setHostAttribute(i.attributes.AVATAR_IMAGE_URL,this._avatarImageUrl)))}get avatarLetterCount(){return this._avatarLetterCount}set avatarLetterCount(t){this._avatarLetterCount!==t&&(this._avatarLetterCount=t,this._isInitialized&&(this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.setHostAttribute(i.attributes.AVATAR_LETTER_COUNT,this._avatarLetterCount)))}get avatarText(){return this._avatarText}set avatarText(t){this._avatarText!==t&&(this._avatarText=t,this._isInitialized&&(this._adapter.setAvatarText(this._avatarText),this._adapter.setHostAttribute(i.attributes.AVATAR_TEXT,this._avatarText)))}get signOutButton(){return this._showSignOutButton}set signOutButton(t){this._showSignOutButton!==t&&(this._showSignOutButton=t,this._adapter.setHostAttribute(i.attributes.SIGN_OUT_BUTTON,this._showSignOutButton))}get profileButton(){return this._showProfileButton}set profileButton(t){this._showProfileButton!==t&&(this._showProfileButton=t,this._adapter.setHostAttribute(i.attributes.PROFILE_BUTTON,this._showProfileButton))}get signOutButtonText(){return this._signOutButtonText}set signOutButtonText(t){this._signOutButtonText!==t&&(this._signOutButtonText=t,this._adapter.setSignOutButtonText(t))}get profileButtonText(){return this._profileButtonText}set profileButtonText(t){this._profileButtonText!==t&&(this._profileButtonText=t,this._adapter.setProfileButtonText(t))}get open(){return this._open}set open(t){this._open!==t&&(t?this._openDropdown():this._closeDropdown())}get profileCardBuilder(){return this._profileCardBuilder}set profileCardBuilder(t){this._profileCardBuilder=t}};var M='<template><forge-icon-button><button type="button" aria-label="View profile card"><forge-avatar aria-hidden="true"></forge-avatar></button><forge-tooltip delay="500" position="bottom">View profile</forge-tooltip></forge-icon-button></template>',r=class extends C{constructor(){super();this._foundation=new m(new _(this))}static get observedAttributes(){return[i.attributes.FULL_NAME,i.attributes.EMAIL,i.attributes.AVATAR_IMAGE_URL,i.attributes.AVATAR_LETTER_COUNT,i.attributes.AVATAR_TEXT,i.attributes.SIGN_OUT_BUTTON,i.attributes.PROFILE_BUTTON,i.attributes.SIGN_OUT_BUTTON_TEXT,i.attributes.PROFILE_BUTTON_TEXT,i.attributes.OPEN]}initializedCallback(){E(this,M)}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,l,a){switch(e){case i.attributes.FULL_NAME:this.fullName=a;break;case i.attributes.EMAIL:this.email=a;break;case i.attributes.AVATAR_IMAGE_URL:this.avatarImageUrl=a;break;case i.attributes.AVATAR_LETTER_COUNT:this.avatarLetterCount=v(a);break;case i.attributes.AVATAR_TEXT:this.avatarText=a;break;case i.attributes.SIGN_OUT_BUTTON:this.signOutButton=p(a);break;case i.attributes.PROFILE_BUTTON:this.profileButton=p(a);break;case i.attributes.SIGN_OUT_BUTTON_TEXT:this.signOutButtonText=a;break;case i.attributes.PROFILE_BUTTON_TEXT:this.profileButtonText=a;break;case i.attributes.OPEN:this.open=p(a);break}}};o([n()],r.prototype,"fullName",2),o([n()],r.prototype,"email",2),o([n()],r.prototype,"avatarImageUrl",2),o([n()],r.prototype,"avatarLetterCount",2),o([n()],r.prototype,"avatarText",2),o([n()],r.prototype,"signOutButton",2),o([n()],r.prototype,"profileButton",2),o([n()],r.prototype,"signOutButtonText",2),o([n()],r.prototype,"profileButtonText",2),o([n()],r.prototype,"open",2),o([n()],r.prototype,"profileCardBuilder",2),r=o([A({name:i.elementName,dependencies:[N,R,x,P,U]})],r);function Ot(){g(r)}export{i as a,_ as b,m as c,r as d,Ot as e};
|
|
7
|
+
//# sourceMappingURL=chunk.ESW45SN4.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/app-bar/profile-button/app-bar-profile-button-constants.ts", "../../src/app-bar/profile-button/app-bar-profile-button-adapter.ts", "../../src/app-bar/profile-button/app-bar-profile-button-foundation.ts", "../../src/app-bar/profile-button/app-bar-profile-button.ts", "../../src/app-bar/profile-button/index.ts"],
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}app-bar-profile-button`;\n\nconst attributes = {\n FULL_NAME: 'full-name',\n EMAIL: 'email',\n AVATAR_IMAGE_URL: 'avatar-image-url',\n AVATAR_LETTER_COUNT: 'avatar-letter-count',\n AVATAR_TEXT: 'avatar-text',\n SIGN_OUT_BUTTON: 'sign-out-button',\n PROFILE_BUTTON: 'profile-button',\n SIGN_OUT_BUTTON_TEXT: 'sign-out-button-text',\n PROFILE_BUTTON_TEXT: 'profile-button-text',\n OPEN: 'open'\n};\n\nconst selectors = {\n BUTTON: 'button'\n};\n\nexport const APP_BAR_PROFILE_BUTTON_CONSTANTS = {\n elementName,\n attributes,\n selectors\n};\n\nexport interface IAppBarProfileCardConfig {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\nexport type AppBarProfileButtonProfileCardBuilder = () => HTMLElement;\n", "import { getLightElement, notChildEventListener, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS, IAvatarComponent } from '../../avatar';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IPopupComponent, PopupAnimationType, PopupPlacement, POPUP_CONSTANTS } from '../../popup';\nimport { IProfileCardComponent, PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonComponent } from './app-bar-profile-button';\nimport { IAppBarProfileCardConfig, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonAdapter extends IBaseAdapter {\n initialize(): void;\n setClickListener(listener: (evt: MouseEvent) => void): void;\n removeClickListener(listener: (evt: MouseEvent) => void): void;\n openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void;\n closePopup(): void;\n requestFocus(): void;\n setAvatarText(value: string): void;\n setAvatarLetterCount(value: number): void;\n setAvatarImageUrl(value: string): void;\n setSignOutButtonText(value: string): void;\n setProfileButtonText(value: string): void;\n}\n\nexport class AppBarProfileButtonAdapter extends BaseAdapter<IAppBarProfileButtonComponent> implements IAppBarProfileButtonAdapter {\n private _avatarElement: IAvatarComponent;\n private _buttonElement: HTMLButtonElement;\n private _popupElement?: IPopupComponent;\n private _profileCardElement?: IProfileCardComponent;\n\n constructor(component: IAppBarProfileButtonComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._avatarElement = getLightElement(this._component, AVATAR_CONSTANTS.elementName) as IAvatarComponent;\n this._buttonElement = getLightElement(this._component, APP_BAR_PROFILE_BUTTON_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n }\n\n public setClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.removeEventListener('click', listener);\n }\n\n public openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void {\n this._profileCardElement = document.createElement(PROFILE_CARD_CONSTANTS.elementName);\n this._profileCardElement.fullName = profileCardConfig.fullName;\n this._profileCardElement.email = profileCardConfig.email;\n this._profileCardElement.signOut = profileCardConfig.signOut;\n this._profileCardElement.profile = profileCardConfig.profile;\n this._profileCardElement.signOutText = profileCardConfig.signOutButtonText;\n this._profileCardElement.profileText = profileCardConfig.profileButtonText;\n this._profileCardElement.avatarText = profileCardConfig.avatarText;\n this._profileCardElement.avatarImageUrl = profileCardConfig.avatarImageUrl;\n this._profileCardElement.avatarLetterCount = profileCardConfig.avatarLetterCount;\n this._profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.PROFILE, () => profileListener());\n this._profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.SIGN_OUT, () => signOutListener());\n\n if (profileCardContent) {\n this._profileCardElement.appendChild(profileCardContent);\n }\n\n this._popupElement = document.createElement(POPUP_CONSTANTS.elementName);\n this._popupElement.targetElement = this._component;\n this._popupElement.placement = 'bottom-end';\n this._popupElement.animationType = PopupAnimationType.Menu;\n this._popupElement.appendChild(this._profileCardElement);\n this._popupElement.open = true;\n\n return notChildEventListener(this._popupElement, activeElement => {\n if (!this._popupElement) {\n return;\n }\n if (!this._component.contains(getActiveElement())) {\n dismissListener();\n }\n }, true);\n }\n\n public closePopup(): void {\n if (this._popupElement) {\n this._popupElement.open = false;\n this._popupElement = undefined;\n this._profileCardElement = undefined;\n }\n }\n\n public requestFocus(): void {\n this._buttonElement.focus();\n }\n\n public setAvatarText(value: string): void {\n this._avatarElement.text = value;\n }\n\n public setAvatarLetterCount(value: number): void {\n this._avatarElement.letterCount = value;\n }\n\n public setAvatarImageUrl(value: string): void {\n this._avatarElement.imageUrl = value;\n }\n\n public setSignOutButtonText(value: string): void {\n if (this._profileCardElement) {\n this._profileCardElement.signOutText = value;\n this._popupElement?.position();\n }\n }\n\n public setProfileButtonText(value: string): void {\n if (this._profileCardElement) {\n this._profileCardElement.profileText = value;\n this._popupElement?.position();\n }\n }\n}\n", "import { ICustomElementFoundation, isFunction, Platform, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS } from '../../avatar';\nimport { PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { IAppBarProfileCardConfig, AppBarProfileButtonProfileCardBuilder, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonFoundation extends ICustomElementFoundation {\n fullName: string;\n email: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n signOutButton: boolean;\n profileButton: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n open: boolean;\n profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n\nexport class AppBarProfileButtonFoundation implements IAppBarProfileButtonFoundation {\n private _fullName: string;\n private _email: string;\n private _avatarImageUrl: string;\n private _avatarLetterCount = AVATAR_CONSTANTS.numbers.DEFAULT_LETTER_COUNT;\n private _avatarText: string;\n private _showSignOutButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_SIGN_OUT_BUTTON;\n private _showProfileButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_PROFILE_BUTTON;\n private _signOutButtonText = PROFILE_CARD_CONSTANTS.defaults.SIGN_OUT_BUTTON_TEXT;\n private _profileButtonText = PROFILE_CARD_CONSTANTS.defaults.PROFILE_BUTTON_TEXT;\n private _profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n private _open = false;\n private _isInitialized = false;\n private _clickListener: (evt: MouseEvent) => void;\n private _dismissListener: () => void;\n private _cancelDismissListener: () => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _profileButtonListener: () => void;\n private _signOutButtonListener: () => void;\n\n constructor(private _adapter: IAppBarProfileButtonAdapter) {\n this._clickListener = evt => this._onClick(evt);\n this._dismissListener = () => this._onDimiss();\n this._keydownListener = evt => this._onKeydown(evt);\n this._profileButtonListener = () => this._onProfileButtonClick();\n this._signOutButtonListener = () => this._onSignOutButtonClick();\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.setClickListener(this._clickListener);\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setAvatarText(this._avatarText);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.removeClickListener(this._clickListener);\n this._isInitialized = false;\n }\n\n private _onClick(evt: MouseEvent): void {\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n if (evt.key === 'Escape' || evt.keyCode === 27) {\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n }\n\n private _onDimiss(): void {\n if (Platform.WEBKIT) {\n window.requestAnimationFrame(() => this._closeDropdown());\n } else {\n this._closeDropdown();\n }\n }\n\n private _onProfileButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.PROFILE);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _onSignOutButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.SIGN_OUT);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _openDropdown(): void {\n if (this._open) {\n return;\n }\n\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n const profileCardConfig: IAppBarProfileCardConfig = {\n fullName: this._fullName,\n email: this._email,\n signOut: this._showSignOutButton,\n profile: this._showProfileButton,\n signOutButtonText: this._signOutButtonText,\n profileButtonText: this._profileButtonText,\n avatarText: this._avatarText,\n avatarImageUrl: this._avatarImageUrl,\n avatarLetterCount: this._avatarLetterCount\n };\n const profileCardContent = this._profileCardBuilder ? this._profileCardBuilder() : undefined;\n this._cancelDismissListener = this._adapter.openPopup(profileCardConfig, this._dismissListener, this._profileButtonListener, this._signOutButtonListener, profileCardContent);\n this._adapter.addWindowListener('keydown', this._keydownListener);\n this._open = true;\n\n // If we aren't showing the sign out or profile buttons then leave focus on our button\n if (!profileCardConfig.signOut && !profileCardConfig.profile) {\n this._adapter.requestFocus();\n }\n }\n\n private _closeDropdown(): void {\n if (!this._open) {\n return;\n }\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n this._open = false;\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.closePopup();\n }\n\n public get fullName(): string {\n return this._fullName;\n }\n public set fullName(value: string) {\n if (this._fullName !== value) {\n this._fullName = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME, this._fullName);\n }\n }\n\n public get email(): string {\n return this._email;\n }\n public set email(value: string) {\n if (this._email !== value) {\n this._email = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL, this._email);\n }\n }\n\n public get avatarImageUrl(): string {\n return this._avatarImageUrl;\n }\n public set avatarImageUrl(value: string) {\n if (this._avatarImageUrl !== value) {\n this._avatarImageUrl = value;\n if (this._isInitialized) {\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL, this._avatarImageUrl);\n }\n }\n }\n\n public get avatarLetterCount(): number {\n return this._avatarLetterCount;\n }\n public set avatarLetterCount(value: number) {\n if (this._avatarLetterCount !== value) {\n this._avatarLetterCount = value;\n if (this._isInitialized) {\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT, this._avatarLetterCount as any);\n }\n }\n }\n\n public get avatarText(): string {\n return this._avatarText;\n }\n public set avatarText(value: string) {\n if (this._avatarText !== value) {\n this._avatarText = value;\n if (this._isInitialized) {\n this._adapter.setAvatarText(this._avatarText);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT, this._avatarText);\n }\n }\n }\n\n public get signOutButton(): boolean {\n return this._showSignOutButton;\n }\n public set signOutButton(value: boolean) {\n if (this._showSignOutButton !== value) {\n this._showSignOutButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON, this._showSignOutButton as any);\n }\n }\n\n public get profileButton(): boolean {\n return this._showProfileButton;\n }\n public set profileButton(value: boolean) {\n if (this._showProfileButton !== value) {\n this._showProfileButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON, this._showProfileButton as any);\n }\n }\n\n public get signOutButtonText(): string {\n return this._signOutButtonText;\n }\n public set signOutButtonText(value: string) {\n if (this._signOutButtonText !== value) {\n this._signOutButtonText = value;\n this._adapter.setSignOutButtonText(value);\n }\n }\n\n public get profileButtonText(): string {\n return this._profileButtonText;\n }\n public set profileButtonText(value: string) {\n if (this._profileButtonText !== value) {\n this._profileButtonText = value;\n this._adapter.setProfileButtonText(value);\n }\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public get profileCardBuilder(): AppBarProfileButtonProfileCardBuilder {\n return this._profileCardBuilder;\n }\n public set profileCardBuilder(fn: AppBarProfileButtonProfileCardBuilder) {\n this._profileCardBuilder = fn;\n }\n}\n", "import { CustomElement, attachLightTemplate, coerceNumber, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { AppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { AppBarProfileButtonFoundation } from './app-bar-profile-button-foundation';\nimport { APP_BAR_PROFILE_BUTTON_CONSTANTS, AppBarProfileButtonProfileCardBuilder } from './app-bar-profile-button-constants';\nimport { ProfileCardComponent } from '../../profile-card';\nimport { IconButtonComponent } from '../../icon-button';\nimport { AvatarComponent } from '../../avatar';\nimport { PopupComponent } from '../../popup';\nimport { TooltipComponent } from '../../tooltip';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst template = '<template><forge-icon-button><button type=\\\"button\\\" aria-label=\\\"View profile card\\\"><forge-avatar aria-hidden=\\\"true\\\"></forge-avatar></button><forge-tooltip delay=\\\"500\\\" position=\\\"bottom\\\">View profile</forge-tooltip></forge-icon-button></template>';\n\nexport interface IAppBarProfileButtonComponent extends IBaseComponent {\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n fullName: string;\n email: string;\n signOutButton: boolean;\n profileButton: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n open: boolean;\n profileCardBuilder: (fn: AppBarProfileButtonProfileCardBuilder) => void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-app-bar-profile-button': IAppBarProfileButtonComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-app-bar-profile-button>` custom element.\n * \n * @tag forge-app-bar-profile-button\n */\n@CustomElement({\n name: APP_BAR_PROFILE_BUTTON_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ProfileCardComponent,\n IconButtonComponent,\n AvatarComponent,\n TooltipComponent\n ]\n})\nexport class AppBarProfileButtonComponent extends BaseComponent implements IAppBarProfileButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN\n ];\n }\n\n private _foundation: AppBarProfileButtonFoundation;\n\n constructor() {\n super();\n this._foundation = new AppBarProfileButtonFoundation(new AppBarProfileButtonAdapter(this));\n }\n\n public initializedCallback(): void {\n attachLightTemplate(this, template);\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME:\n this.fullName = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL:\n this.email = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL:\n this.avatarImageUrl = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT:\n this.avatarLetterCount = coerceNumber(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT:\n this.avatarText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON:\n this.signOutButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON:\n this.profileButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON_TEXT:\n this.signOutButtonText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON_TEXT:\n this.profileButtonText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public fullName: string;\n\n @FoundationProperty()\n public email: string;\n\n @FoundationProperty()\n public avatarImageUrl: string;\n\n @FoundationProperty()\n public avatarLetterCount: number;\n\n @FoundationProperty()\n public avatarText: string;\n\n @FoundationProperty()\n public signOutButton: boolean;\n\n @FoundationProperty()\n public profileButton: boolean;\n\n @FoundationProperty()\n public signOutButtonText: string;\n\n @FoundationProperty()\n public profileButtonText: string;\n\n @FoundationProperty()\n public open: boolean;\n\n /** Sets the profile card builder callback that will be used to add extra content to the profile card. */\n @FoundationProperty()\n public profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AppBarProfileButtonComponent } from './app-bar-profile-button';\n\nexport * from './app-bar-profile-button-adapter';\nexport * from './app-bar-profile-button-constants';\nexport * from './app-bar-profile-button-foundation';\nexport * from './app-bar-profile-button';\n\nexport function defineAppBarProfileButtonComponent(): void {\n defineCustomElement(AppBarProfileButtonComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as d}from"./chunk.D4SNVKDA.js";import{f as n,g as o,k as r}from"./chunk.R4NDFXVA.js";var s=class{constructor(a){this._labelElement=a}addLabelClass(a){n(a,this._labelElement)}removeLabelClass(a){o(a,this._labelElement)}hasLabelClass(a){return this._labelElement.classList.contains(a)}getWidth(){return this._labelElement.offsetParent!=null?this._labelElement.scrollWidth:r(this._labelElement).width}addLabelListener(a,t){this._labelElement.addEventListener(a,t)}removeLabelListener(a,t){this._labelElement.removeEventListener(a,t)}};var A={FLOATING_LABEL:"forge-floating-label",FLOAT_ABOVE:"forge-floating-label--float-above",FLOAT_ABOVE_END_KEYFRAME:"forge-floating-label--float-above-end-keyframe",UNFLOAT_ABOVE_START_KEYFRAME:"forge-floating-label--unfloat-above-start-keyframe"},e={classes:A};var l=class{constructor(a){this._adapter=a;this._floatAnimationEndHandler=()=>this._handleFloatAnimationEnd()}initialize(){this._adapter.addLabelClass(e.classes.FLOATING_LABEL),d.BLINK&&this._adapter.addLabelListener("transitionend",this._floatAnimationEndHandler)}disconnect(){this._adapter.removeLabelClass(e.classes.FLOATING_LABEL),this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE),this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME),this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME),this._floatAnimationEndHandler&&this._adapter.removeLabelListener("transitionend",this._floatAnimationEndHandler)}float(a,t=!1){a?(this._adapter.hasLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)&&this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME),requestAnimationFrame(()=>{requestAnimationFrame(()=>{(t||this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE))&&this._adapter.addLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME),this._adapter.addLabelClass(e.classes.FLOAT_ABOVE)})})):(this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE),this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME)&&(this._adapter.removeLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME),this._adapter.addLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)})})))}getWidth(){return this._adapter.getWidth()}get isFloating(){return this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE)}_handleFloatAnimationEnd(){this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE)&&!this._adapter.hasLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME)?this._adapter.addLabelClass(e.classes.FLOAT_ABOVE_END_KEYFRAME):this._adapter.hasLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)&&this._adapter.removeLabelClass(e.classes.UNFLOAT_ABOVE_START_KEYFRAME)}};var _=class{constructor(a){this._labelElement=a;this._foundation=new l(new s(this._labelElement)),this._foundation.initialize()}get isFloating(){return this._foundation.isFloating}destroy(){this._foundation.disconnect(),this._labelElement=void 0}float(a,t=!1){this._foundation.float(a,t)}getWidth(){return this._foundation.getWidth()}};export{s as a,e as b,l as c,_ as d};
|
|
7
|
+
//# sourceMappingURL=chunk.F5I55MXD.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/floating-label/floating-label-adapter.ts", "../../src/floating-label/floating-label-constants.ts", "../../src/floating-label/floating-label-foundation.ts", "../../src/floating-label/floating-label.ts"],
|
|
4
|
+
"sourcesContent": ["import { addClass, calcSizeUnattached, removeClass } from '@tylertech/forge-core';\n\nexport interface IFloatingLabelAdapter {\n addLabelClass(className: string): void;\n removeLabelClass(className: string): void;\n hasLabelClass(className: string): boolean;\n getWidth(): number;\n addLabelListener(type: string, listener: (evt: Event) => void): void;\n removeLabelListener(type: string, listener: (evt: Event) => void): void;\n}\n\nexport class FloatingLabelAdapter implements IFloatingLabelAdapter {\n\n constructor(private _labelElement: HTMLLabelElement) {}\n\n public addLabelClass(className: string): void {\n addClass(className, this._labelElement);\n }\n\n public removeLabelClass(className: string): void {\n removeClass(className, this._labelElement);\n }\n\n public hasLabelClass(className: string): boolean {\n return this._labelElement.classList.contains(className);\n }\n\n public getWidth(): number {\n if (this._labelElement.offsetParent != null) {\n return this._labelElement.scrollWidth;\n }\n return calcSizeUnattached(this._labelElement).width;\n }\n\n public addLabelListener(type: string, listener: (evt: Event) => void): void {\n this._labelElement.addEventListener(type, listener);\n }\n\n public removeLabelListener(type: string, listener: (evt: Event) => void): void {\n this._labelElement.removeEventListener(type, listener);\n }\n}\n", "const classes = {\n FLOATING_LABEL: 'forge-floating-label',\n FLOAT_ABOVE: 'forge-floating-label--float-above',\n FLOAT_ABOVE_END_KEYFRAME: 'forge-floating-label--float-above-end-keyframe',\n UNFLOAT_ABOVE_START_KEYFRAME: 'forge-floating-label--unfloat-above-start-keyframe'\n};\n\nexport const FLOATING_LABEL_CONSTANTS = {\n classes\n};\n", "import { FLOATING_LABEL_CONSTANTS } from './floating-label-constants';\nimport { IFloatingLabelAdapter } from './floating-label-adapter';\nimport { Platform } from '@tylertech/forge-core';\n\nexport class FloatingLabelFoundation {\n private _floatAnimationEndHandler: () => void;\n\n constructor(protected _adapter: IFloatingLabelAdapter) {\n this._floatAnimationEndHandler = () => this._handleFloatAnimationEnd();\n }\n\n public initialize(): void {\n this._adapter.addLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOATING_LABEL);\n \n if (Platform.BLINK) {\n // Chromium has a bug where the label renders blurry due to a scale transform\n // so we only provide a fix for that when the Blink engine is used\n this._adapter.addLabelListener('transitionend', this._floatAnimationEndHandler);\n }\n }\n\n public disconnect(): void {\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOATING_LABEL);\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE);\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE_END_KEYFRAME);\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME);\n if (this._floatAnimationEndHandler) {\n this._adapter.removeLabelListener('transitionend', this._floatAnimationEndHandler);\n }\n }\n\n public float(shouldFloat: boolean, alwaysFloat = false): void {\n if (shouldFloat) {\n if (this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME)) {\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME);\n }\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (alwaysFloat || this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE)) {\n this._adapter.addLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE_END_KEYFRAME);\n }\n this._adapter.addLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE);\n });\n });\n } else {\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE);\n if (this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE_END_KEYFRAME)) {\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE_END_KEYFRAME);\n this._adapter.addLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME);\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME);\n });\n });\n }\n }\n }\n\n public getWidth(): number {\n return this._adapter.getWidth();\n }\n\n public get isFloating(): boolean {\n return this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE);\n }\n\n private _handleFloatAnimationEnd(): void {\n if (this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE) && !this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE_END_KEYFRAME)) {\n this._adapter.addLabelClass(FLOATING_LABEL_CONSTANTS.classes.FLOAT_ABOVE_END_KEYFRAME);\n } else if (this._adapter.hasLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME)) {\n this._adapter.removeLabelClass(FLOATING_LABEL_CONSTANTS.classes.UNFLOAT_ABOVE_START_KEYFRAME);\n }\n }\n}\n", "import { FloatingLabelAdapter } from './floating-label-adapter';\nimport { FloatingLabelFoundation } from './floating-label-foundation';\n\nexport interface IFloatingLabel {\n isFloating: boolean;\n float(float: boolean, alwaysFloat?: boolean): void;\n getWidth(): number;\n destroy(): void;\n}\n\nexport class FloatingLabel implements IFloatingLabel {\n private _foundation: FloatingLabelFoundation;\n\n constructor(private _labelElement: HTMLLabelElement) {\n this._foundation = new FloatingLabelFoundation(new FloatingLabelAdapter(this._labelElement));\n this._foundation.initialize();\n }\n\n /** Returns the current label floating state. */\n public get isFloating(): boolean {\n return this._foundation.isFloating;\n }\n\n public destroy(): void {\n this._foundation.disconnect();\n this._labelElement = undefined as any;\n }\n\n /**\n * Sets the floating state of the label element.\n * @param shouldFloat If true, sets the label to float, otherwise un-float.\n * @param alwaysFloat If true, sets the label to always float, defaults to: `false`.\n */\n public float(shouldFloat: boolean, alwaysFloat = false): void {\n this._foundation.float(shouldFloat, alwaysFloat);\n }\n\n /** Returns the scroll width of the label element. */\n public getWidth(): number {\n return this._foundation.getWidth();\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{b as I}from"./chunk.QXLPBYMX.js";import{a as E}from"./chunk.7TQYFMM4.js";import{r as f}from"./chunk.AABG6MSC.js";import{a as g}from"./chunk.MIYZJUXH.js";import{a as m,b as h,d as b}from"./chunk.BSZ2LBJX.js";import{a as d}from"./chunk.3E5QKMHL.js";import{a as u,i as _}from"./chunk.HN4PXH3D.js";import{f as l,m as c,t as p}from"./chunk.R4NDFXVA.js";import{k as s,l as a}from"./chunk.G76HB2FK.js";import{f as r}from"./chunk.MCIQXNKY.js";var v=`${h}icon-button`,y={TOGGLE:"toggle",IS_ON:"is-on",ICON_ON:"forge-icon-button-on",DENSE:"dense",DENSITY_LEVEL:"density-level"},L={BUTTON:"button",ICON:"i, span, svg, img, forge-icon"},B={BUTTON:"forge-icon-button",BUTTON_ON:"forge-icon-button--on",BUTTON_DENSE:"forge-icon-button--dense",ICON:"forge-icon-button__icon",ICON_ON:"forge-icon-button__icon--on",DENSITY:["forge-icon-button--dense-1","forge-icon-button--dense-2","forge-icon-button--dense-3","forge-icon-button--dense-4","forge-icon-button--dense-5","forge-icon-button--dense-6"]},S={CHANGE:`${v}-change`},e={elementName:v,attributes:y,selectors:L,classes:B,events:S};var o=class extends d{constructor(){super();this._toggle=!1;this._isOn=!1;this._dense=!1;this._densityLevel=5}static get observedAttributes(){return[e.attributes.IS_ON,e.attributes.DENSE,e.attributes.DENSITY_LEVEL,e.attributes.TOGGLE]}connectedCallback(){this.querySelector(e.selectors.BUTTON)?this._initialize():c(this,e.selectors.BUTTON).then(()=>this._initialize())}disconnectedCallback(){this._rippleInstance&&this._rippleInstance.destroy()}attributeChangedCallback(t,n,i){switch(t){case e.attributes.IS_ON:this.isOn=s(i);break;case e.attributes.DENSE:this.dense=s(i);break;case e.attributes.DENSITY_LEVEL:this.densityLevel=a(i);break;case e.attributes.TOGGLE:this.toggle=s(i);break}}get toggle(){return this._toggle}set toggle(t){this._toggle=t,this._toggle?this._initializeToggle():this._destroyToggle()}get isOn(){return this._isOn}set isOn(t){this._isOn!==t&&(this._isOn=t,this._applyToggle())}get dense(){return this._dense}set dense(t){this._dense!==t&&(this._dense=t,this._applyDensity())}get densityLevel(){return this._densityLevel}set densityLevel(t){this._densityLevel!==t&&(this._densityLevel=t,this._densityLevel<=0?this._densityLevel=1:this._densityLevel>6?this._densityLevel=6:typeof this._densityLevel!="number"&&(this._densityLevel=5),this._applyDensity())}_initialize(){this._buttonElement=this.querySelector(e.selectors.BUTTON),this._buttonElement&&(this._buttonElement.classList.add(e.classes.BUTTON),this._applyToggle(),this._applyDensity(),this._toggleHandler=()=>{this._toggleValue(),_(this,e.events.CHANGE,this._isOn,!0)},this._toggle&&this._initializeToggle(),this._deferRippleInitialization())}async _deferRippleInitialization(){let t=await f(this._buttonElement);this._rippleInstance||(this._initRipple(),t==="focusin"&&this._rippleInstance.foundation.handleFocus())}_initRipple(){this._rippleInstance&&this._rippleInstance.destroy(),this._rippleInstance=new I(this._buttonElement),this._rippleInstance.unbounded=!0}_toggleValue(){this._isOn=!this._isOn,this._applyToggle()}_applyToggle(){!this._buttonElement||(p(this._buttonElement,this._isOn,e.classes.BUTTON_ON),this._toggle&&this._buttonElement.setAttribute("aria-pressed",`${this._isOn}`))}_applyDensity(){if(!!this._buttonElement){if(e.classes.DENSITY.forEach(t=>this._buttonElement.classList.remove(t)),this._dense){if(this.setAttribute(e.attributes.DENSE,""),this._buttonElement.classList.add(e.classes.BUTTON_DENSE),this._densityLevel<7&&this._densityLevel>0&&this.densityLevel!==5){let t=e.classes.DENSITY[this._densityLevel-1];this._buttonElement.classList.add(t),this.setAttribute(e.attributes.DENSITY_LEVEL,this._densityLevel.toString())}}else this.removeAttribute(e.attributes.DENSE),this._buttonElement.classList.remove(e.classes.BUTTON_DENSE);this._rippleInstance&&this._rippleInstance.layout()}}_initializeToggle(){if(!this._buttonElement)return;let t=Array.from(this._buttonElement.querySelectorAll(e.selectors.ICON));if(t.length!==2){console.error('You must specify two icons, one for "on" and one for "off".');return}if(t.forEach(n=>n.classList.add(e.classes.ICON)),!t.some(n=>n.classList.contains(e.classes.ICON_ON))){let n=t.find(i=>i.hasAttribute(e.attributes.ICON_ON));n?n.classList.add(e.classes.ICON_ON):t[0].classList.add(e.classes.ICON_ON)}this._buttonElement.addEventListener("click",this._toggleHandler),window.requestAnimationFrame(()=>{this._isOn&&(this._buttonElement.classList.add(e.classes.BUTTON_ON),this._buttonElement.setAttribute("aria-pressed",`${this._isOn}`))})}_destroyToggle(){!this._buttonElement||this._buttonElement.removeEventListener("click",this._toggleHandler)}layout(){this._rippleInstance&&this._rippleInstance.layout()}};o=r([m({name:e.elementName})],o);var N=class extends g{constructor(t){super(t)}_build(){var n;let t=document.createElement(e.elementName);if(this._buttonElement=document.createElement("button"),this._buttonElement.type="button",t.appendChild(this._buttonElement),(n=this._config.options)!=null&&n.tooltip){let i=document.createElement("forge-tooltip");i.textContent=this._config.options.tooltip,this._config.options.tooltipPosition&&(i.position=this._config.options.tooltipPosition),t.appendChild(i)}return t}get iconElement(){return this._iconElement}get disabled(){return!!this._buttonElement.disabled}set disabled(t){this._buttonElement.disabled=t}get butttonElement(){return this._buttonElement}get buttonElement(){return this._buttonElement}_configure(){this._configureIcon()}_configureIcon(){var n,i;if(!((n=this._config.options)!=null&&n.iconName))return;switch(((i=this._config.options)==null?void 0:i.iconType)||"component"){case"font":let O=Array.isArray(this._config.options.iconClass)?this._config.options.iconClass:[b];l(O,this._buttonElement),this._buttonElement.textContent=this._config.options.iconName;break;case"component":this._iconElement=document.createElement(E.elementName),this._iconElement.name=this._config.options.iconName,this._config.options.iconExternal!==void 0&&(this._iconElement.external=!!this._config.options.iconExternal),this._config.options.iconExternalType&&(this._iconElement.externalType=this._config.options.iconExternalType),this._config.options.iconClass&&l(this._config.options.iconClass,this._iconElement),this._buttonElement.appendChild(this._iconElement);break}}onClick(t){this._buttonElement.addEventListener("click",t)}onFocus(t){this._buttonElement.addEventListener("focus",n=>t(n))}onBlur(t){this._buttonElement.addEventListener("blur",n=>t(n))}};function Q(){u(o)}export{e as a,o as b,N as c,Q as d};
|
|
7
|
+
//# sourceMappingURL=chunk.G5BCWBD5.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/icon-button/icon-button-constants.ts", "../../src/icon-button/icon-button.ts", "../../src/icon-button/icon-button-component-delegate.ts", "../../src/icon-button/index.ts"],
|
|
4
4
|
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}icon-button`;\n\nconst attributes = {\n TOGGLE: 'toggle',\n IS_ON: 'is-on',\n ICON_ON: 'forge-icon-button-on',\n DENSE: 'dense',\n DENSITY_LEVEL: 'density-level'\n};\n\nconst selectors = {\n BUTTON: 'button',\n ICON: 'i, span, svg, img, forge-icon'\n};\n\nconst classes = {\n BUTTON: 'forge-icon-button',\n BUTTON_ON: 'forge-icon-button--on',\n BUTTON_DENSE: 'forge-icon-button--dense',\n ICON: 'forge-icon-button__icon',\n ICON_ON: 'forge-icon-button__icon--on',\n DENSITY: [\n 'forge-icon-button--dense-1',\n 'forge-icon-button--dense-2',\n 'forge-icon-button--dense-3',\n 'forge-icon-button--dense-4',\n 'forge-icon-button--dense-5',\n 'forge-icon-button--dense-6'\n ]\n};\n\nconst events = {\n CHANGE: `${elementName}-change`\n};\n\nexport const ICON_BUTTON_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n classes,\n events\n};\n", "import { coerceBoolean, coerceNumber, CustomElement, emitEvent, ensureChild, toggleClass } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { ForgeRipple } from '../ripple';\nimport { userInteractionListener } from '../core/utils';\nimport { ICON_BUTTON_CONSTANTS } from './icon-button-constants';\n\nexport interface IIconButtonComponent extends IBaseComponent {\n toggle: boolean;\n isOn: boolean;\n dense: boolean;\n densityLevel: number;\n layout(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-icon-button': IIconButtonComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-icon-button-change': CustomEvent<boolean>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-icon-button>` element.\n * \n * @tag forge-icon-button\n */\n@CustomElement({\n name: ICON_BUTTON_CONSTANTS.elementName\n})\nexport class IconButtonComponent extends BaseComponent implements IIconButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n ICON_BUTTON_CONSTANTS.attributes.IS_ON,\n ICON_BUTTON_CONSTANTS.attributes.DENSE,\n ICON_BUTTON_CONSTANTS.attributes.DENSITY_LEVEL,\n ICON_BUTTON_CONSTANTS.attributes.TOGGLE\n ];\n }\n\n private _rippleInstance: ForgeRipple;\n private _buttonElement: HTMLButtonElement;\n private _toggle = false;\n private _isOn = false;\n private _dense = false;\n private _densityLevel = 5;\n private _toggleHandler: (event: Event) => void;\n\n constructor() {\n super();\n }\n\n public connectedCallback(): void {\n if (this.querySelector(ICON_BUTTON_CONSTANTS.selectors.BUTTON)) {\n this._initialize();\n } else {\n ensureChild(this, ICON_BUTTON_CONSTANTS.selectors.BUTTON).then(() => this._initialize());\n }\n }\n\n public disconnectedCallback(): void {\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case ICON_BUTTON_CONSTANTS.attributes.IS_ON:\n this.isOn = coerceBoolean(newValue);\n break;\n case ICON_BUTTON_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case ICON_BUTTON_CONSTANTS.attributes.DENSITY_LEVEL:\n this.densityLevel = coerceNumber(newValue);\n break;\n case ICON_BUTTON_CONSTANTS.attributes.TOGGLE:\n this.toggle = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets/sets whether the button is togglable. */\n public get toggle(): boolean {\n return this._toggle;\n }\n public set toggle(value: boolean) {\n this._toggle = value;\n\n if (this._toggle) {\n this._initializeToggle();\n } else {\n this._destroyToggle();\n }\n }\n\n /** Gets/sets the toggled state of the icon button. Only applies when `toggle = true`. */\n public get isOn(): boolean {\n return this._isOn;\n }\n public set isOn(value: boolean) {\n if (this._isOn !== value) {\n this._isOn = value;\n this._applyToggle();\n }\n }\n\n /** Gets/sets whether the icon button is dense. */\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._applyDensity();\n }\n }\n\n /** Controls the density level. 1 (least dense) to 6 (most dense). */\n public get densityLevel(): number {\n return this._densityLevel;\n }\n public set densityLevel(value: number) {\n if (this._densityLevel !== value) {\n this._densityLevel = value;\n\n if (this._densityLevel <= 0) {\n this._densityLevel = 1;\n } else if (this._densityLevel > 6) {\n this._densityLevel = 6;\n } else if (typeof this._densityLevel !== 'number') {\n this._densityLevel = 5;\n }\n\n this._applyDensity();\n }\n }\n\n private _initialize(): void {\n this._buttonElement = this.querySelector(ICON_BUTTON_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n if (!this._buttonElement) {\n return;\n }\n\n this._buttonElement.classList.add(ICON_BUTTON_CONSTANTS.classes.BUTTON);\n this._applyToggle();\n this._applyDensity();\n this._toggleHandler = () => {\n this._toggleValue();\n emitEvent(this, ICON_BUTTON_CONSTANTS.events.CHANGE, this._isOn, true);\n };\n\n if (this._toggle) {\n this._initializeToggle();\n }\n\n // We wait to initialize the ripple instance until the user interacts with the component to avoid unnecessary performance overhead\n this._deferRippleInitialization();\n }\n\n private async _deferRippleInitialization(): Promise<void> {\n const type = await userInteractionListener(this._buttonElement);\n if (!this._rippleInstance) {\n this._initRipple();\n if (type === 'focusin') {\n // eslint-disable-next-line @typescript-eslint/dot-notation\n (this._rippleInstance as ForgeRipple)['foundation'].handleFocus();\n }\n }\n }\n\n private _initRipple(): void {\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n }\n this._rippleInstance = new ForgeRipple(this._buttonElement);\n this._rippleInstance.unbounded = true;\n }\n\n private _toggleValue(): void {\n this._isOn = !this._isOn;\n this._applyToggle();\n }\n\n private _applyToggle(): void {\n if (!this._buttonElement) {\n return;\n }\n toggleClass(this._buttonElement, this._isOn, ICON_BUTTON_CONSTANTS.classes.BUTTON_ON);\n if (this._toggle) {\n this._buttonElement.setAttribute('aria-pressed', `${this._isOn}`);\n }\n }\n\n private _applyDensity(): void {\n if (!this._buttonElement) {\n return;\n }\n\n // Remove all other density classes first\n ICON_BUTTON_CONSTANTS.classes.DENSITY.forEach(c => this._buttonElement.classList.remove(c));\n\n if (this._dense) {\n this.setAttribute(ICON_BUTTON_CONSTANTS.attributes.DENSE, '');\n this._buttonElement.classList.add(ICON_BUTTON_CONSTANTS.classes.BUTTON_DENSE);\n\n // 5 is the default density level (we apply 5 implicitly in the regular dense class)\n // Exclude 5 since its already covered by dense class\n if (this._densityLevel < 7 && this._densityLevel > 0 && this.densityLevel !== 5) {\n const densityLevelClass = ICON_BUTTON_CONSTANTS.classes.DENSITY[this._densityLevel - 1];\n this._buttonElement.classList.add(densityLevelClass);\n this.setAttribute(ICON_BUTTON_CONSTANTS.attributes.DENSITY_LEVEL, this._densityLevel.toString());\n }\n } else {\n this.removeAttribute(ICON_BUTTON_CONSTANTS.attributes.DENSE);\n this._buttonElement.classList.remove(ICON_BUTTON_CONSTANTS.classes.BUTTON_DENSE);\n }\n\n // re-layout the ripple for cases where dense was changed after initial layout\n if (this._rippleInstance) {\n this._rippleInstance.layout();\n }\n }\n\n private _initializeToggle(): void {\n if (!this._buttonElement) {\n return;\n }\n const icons = Array.from(this._buttonElement.querySelectorAll(ICON_BUTTON_CONSTANTS.selectors.ICON));\n\n // We require two icon/image elements to be specified for the \"on\" and \"off\" states\n if (icons.length !== 2) {\n console.error('You must specify two icons, one for \"on\" and one for \"off\".');\n return;\n }\n\n // Add the icon class to each icon\n icons.forEach(icon => icon.classList.add(ICON_BUTTON_CONSTANTS.classes.ICON));\n\n // If there are no icons that specify the \"on\" class, then automatically choose the first icon as the \"on\" icon and add the class,\n // alternatively we check for the existence of a `forge-icon-button-on` attribute on any of the icons and use that.\n if (!icons.some(icon => icon.classList.contains(ICON_BUTTON_CONSTANTS.classes.ICON_ON))) {\n const requestedOnIcon = icons.find(icon => icon.hasAttribute(ICON_BUTTON_CONSTANTS.attributes.ICON_ON));\n if (requestedOnIcon) {\n requestedOnIcon.classList.add(ICON_BUTTON_CONSTANTS.classes.ICON_ON);\n } else {\n icons[0].classList.add(ICON_BUTTON_CONSTANTS.classes.ICON_ON);\n }\n }\n\n this._buttonElement.addEventListener('click', this._toggleHandler);\n\n // Wait a frame to ensure the value of the `on` property has been set\n window.requestAnimationFrame(() => {\n if (this._isOn) {\n this._buttonElement.classList.add(ICON_BUTTON_CONSTANTS.classes.BUTTON_ON);\n this._buttonElement.setAttribute('aria-pressed', `${this._isOn}`);\n }\n });\n }\n\n private _destroyToggle(): void {\n if (!this._buttonElement) {\n return;\n }\n this._buttonElement.removeEventListener('click', this._toggleHandler);\n }\n\n public layout(): void {\n if (this._rippleInstance) {\n this._rippleInstance.layout();\n }\n }\n}\n", "import { addClass } from '@tylertech/forge-core';\nimport { IconExternalType, ICON_CONSTANTS, IIconComponent } from '../icon';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IIconButtonComponent } from './icon-button';\nimport { ICON_BUTTON_CONSTANTS } from './icon-button-constants';\nimport { PopupPlacement } from '../popup';\n\nexport type IconButtonComponentDelegateProps = Partial<IIconButtonComponent>;\nexport interface IIconButtonComponentDelegateOptions extends IBaseComponentDelegateOptions {\n iconName?: string;\n iconExternal?: boolean;\n iconExternalType?: IconExternalType;\n iconType?: 'font' | 'component';\n iconClass?: string | string[];\n tooltip?: string;\n tooltipPosition?: PopupPlacement;\n}\nexport interface IIconButtonComponentDelegateConfig extends IBaseComponentDelegateConfig<IIconButtonComponent, IIconButtonComponentDelegateOptions> {}\n\nexport class IconButtonComponentDelegate extends BaseComponentDelegate<IIconButtonComponent, IIconButtonComponentDelegateOptions> {\n private _buttonElement: HTMLButtonElement;\n private _iconElement?: IIconComponent;\n\n constructor(config?: IIconButtonComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IIconButtonComponent {\n const component = document.createElement(ICON_BUTTON_CONSTANTS.elementName);\n this._buttonElement = document.createElement('button');\n this._buttonElement.type = 'button';\n component.appendChild(this._buttonElement);\n\n if (this._config.options?.tooltip) {\n const tooltip = document.createElement('forge-tooltip');\n tooltip.textContent = this._config.options.tooltip;\n \n if (this._config.options.tooltipPosition) {\n tooltip.position = this._config.options.tooltipPosition;\n }\n\n component.appendChild(tooltip);\n }\n\n return component;\n }\n\n public get iconElement(): IIconComponent | undefined {\n return this._iconElement;\n }\n\n public get disabled(): boolean {\n return !!this._buttonElement.disabled;\n }\n public set disabled(value: boolean) {\n this._buttonElement.disabled = value;\n }\n\n /** @deprecated Use buttonElement instead. */\n public get butttonElement(): HTMLButtonElement | undefined {\n return this._buttonElement;\n }\n\n public get buttonElement(): HTMLButtonElement | undefined {\n return this._buttonElement;\n }\n\n protected _configure(): void {\n this._configureIcon();\n }\n\n private _configureIcon(): void {\n if (!this._config.options?.iconName) {\n return;\n }\n\n const type = this._config.options?.iconType || 'component';\n\n switch (type) {\n case 'font':\n const classes = Array.isArray(this._config.options.iconClass) ? this._config.options.iconClass : [ICON_CLASS_NAME];\n addClass(classes, this._buttonElement);\n this._buttonElement.textContent = this._config.options.iconName;\n break;\n case 'component':\n this._iconElement = document.createElement(ICON_CONSTANTS.elementName);\n this._iconElement.name = this._config.options.iconName;\n if (this._config.options.iconExternal !== undefined) {\n this._iconElement.external = !!this._config.options.iconExternal;\n }\n if (this._config.options.iconExternalType) {\n this._iconElement.externalType = this._config.options.iconExternalType;\n }\n if (this._config.options.iconClass) {\n addClass(this._config.options.iconClass, this._iconElement);\n }\n this._buttonElement.appendChild(this._iconElement);\n break;\n }\n }\n\n public onClick(listener: (evt: MouseEvent) => void): void {\n this._buttonElement.addEventListener('click', listener);\n }\n\n public onFocus(listener: (evt: Event) => void): void {\n this._buttonElement.addEventListener('focus', evt => listener(evt));\n }\n\n public onBlur(listener: (evt: Event) => void): void {\n this._buttonElement.addEventListener('blur', evt => listener(evt));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { IconButtonComponent } from './icon-button';\n\nexport * from './icon-button-constants';\nexport * from './icon-button';\nexport * from './icon-button-component-delegate';\n\nexport function defineIconButtonComponent(): void {\n defineCustomElement(IconButtonComponent);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
function p(e=5){return Math.random().toString(36).substring(2,2+e)}function m(e){return typeof e!="undefined"&&e!==null}function x(e){return typeof e=="string"}function g(e){return typeof e=="number"}function d(e){return typeof e!="string"?!1:!isNaN(e)&&!isNaN(parseFloat(e))}function a(e){return e instanceof Date}function w(e){return a(e)?!isNaN(e.getTime()):!1}function y(e){return typeof e=="function"}function h(e){return e instanceof Array}function N(e){return e instanceof Object}function b(e){return e!=null&&""+e!="false"}function D(e){return+e}function T(e){return e?typeof e=="string"?e.replace(/ |\[|]|\"/g,"").split(",").map(t=>Number(t)):typeof e=="number"?[e]:e.map(t=>Number(t)):[]}function E(e,t){return e===t||typeof e=="object"&&typeof t=="object"&&JSON.stringify(e)===JSON.stringify(t)}function S(e,t,u=!1){let o,r,s,n,f=0,l=()=>{let i=Date.now()-f;i<t&&i>=0?n=setTimeout(l,t-i):(n=null,u||(s=e.apply(o,r),n||(o=r=null)))};return function(){o=this,r=arguments,f=Date.now();let i=u&&!n;return n||(n=setTimeout(l,t)),i&&(s=e.apply(o,r),o=r=null),s}}function v(e,t,u){let o,r,s,n,f=0;u=u||{};let l=()=>{f=u.leading===!1?0:Date.now(),n=null,s=e.apply(o,r),n||(o=r=null)};return function(){let i=Date.now();!f&&u.leading===!1&&(f=i);let c=t-(i-f);return o=this,r=arguments,c<=0||c>t?(n&&(clearTimeout(n),n=null),f=i,s=e.apply(o,r),n||(o=r=null)):!n&&u.trailing!==!1&&(n=setTimeout(l,c)),s}}export{p as a,m as b,x as c,g as d,d as e,a as f,w as g,y as h,h as i,N as j,b as k,D as l,T as m,E as n,S as o,v as p};
|
|
7
|
+
//# sourceMappingURL=chunk.G76HB2FK.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../node_modules/@tylertech/forge-core/esm/utils/utils.js"],
|
|
4
4
|
"sourcesContent": ["/** Generates random characters. Defaults to a length of 5. */\nexport function randomChars(length = 5) {\n const skip = 2; // Skip the first two chars which are always \"0.\"\n return Math.random().toString(36).substring(skip, skip + length);\n}\n/**\n * Checks if an object is undefined or null.\n * @param {object} obj The object to test.\n * @returns {boolean}\n */\nexport function isDefined(obj) {\n return typeof obj !== 'undefined' && obj !== null;\n}\n/**\n * Checks if an object is a string.\n * @param {object} obj The object to test.\n * @returns {boolean}\n */\nexport function isString(obj) {\n return typeof obj === 'string';\n}\n/**\n * Checks if an object is a boolean.\n * @param {object} obj The object to test.\n * @returns {boolean}\n */\nexport function isBoolean(obj) {\n return typeof obj === 'boolean';\n}\n/**\n * Checks if an object is a number.\n * @param {object} obj The object to test.\n * @returns {boolean}\n */\nexport function isNumber(obj) {\n return typeof obj === 'number';\n}\n/** Determines if the provided string value can be parsed into a valid numeric value. */\nexport function isNumeric(str) {\n if (typeof str !== 'string') {\n return false;\n }\n return !isNaN(str) && !isNaN(parseFloat(str));\n}\n/**\n * Checks if an object is a date.\n * @param {object} obj The object to test.\n * @returns {boolean}\n */\nexport function isDate(obj) {\n return obj instanceof Date;\n}\n/**\n * Checks if an object is a date and is a valid date.\n * @param {object} obj The object to test.\n * @returns {boolean}\n */\nexport function isValidDate(obj) {\n if (!isDate(obj)) {\n return false;\n }\n return !isNaN(obj.getTime());\n}\n/**\n * Checks if an object is a function.\n * @param {object} obj The object to test.\n * @returns {boolean}\n */\nexport function isFunction(obj) {\n return typeof obj === 'function';\n}\n/**\n * Checks if an object is an array.\n * @param {object} obj The object to test.\n * @returns {boolean}\n */\nexport function isArray(obj) {\n return obj instanceof Array;\n}\n/**\n * Checks if an object is an object.\n * @param {object} obj The object to test.\n * @returns {boolean}\n */\nexport function isObject(obj) {\n return obj instanceof Object;\n}\n/**\n * Coerces a string to a boolean.\n * @param {string} value The value to convert.\n * @returns {boolean}\n */\nexport function coerceBoolean(value) {\n return value != null && '' + value !== 'false';\n}\n/**\n * Coerces a string to a number.\n * @param {string} value The value to convert.\n * @returns {number}\n */\nexport function coerceNumber(value) {\n return +value;\n}\n/** Coerces a string representation of an array of numbers, for example: `\"[1,2,3]\"`, to an array instance. */\nexport function coerceNumberArray(strOrNumOrArray) {\n if (!strOrNumOrArray) {\n return [];\n }\n if (typeof strOrNumOrArray === 'string') {\n return strOrNumOrArray.replace(/ |\\[|]|\\\"/g, '').split(',').map(n => Number(n));\n }\n else if (typeof strOrNumOrArray === 'number') {\n return [strOrNumOrArray];\n }\n else {\n return strOrNumOrArray.map(n => Number(n));\n }\n}\n/**\n * Compares two objects for deep equality.\n * @param a\n * @param b\n */\nexport function isDeepEqual(a, b) {\n return a === b || (typeof a === 'object' && typeof b === 'object' && JSON.stringify(a) === JSON.stringify(b));\n}\n/**\n * Debounce method.\n * @param {function} func The function to call.\n * @param {number} wait The amount of time (milliseconds) to wait.\n * @param {boolean} [immediate=false] Should the callback be executed once immeadiately.\n */\nexport function debounce(func, wait, immediate = false) {\n let context;\n let args;\n let result;\n let timeout;\n let timestamp = 0;\n const later = () => {\n const last = Date.now() - timestamp;\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n }\n else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n if (!timeout) {\n context = args = null;\n }\n }\n }\n };\n return function () {\n context = this;\n args = arguments;\n timestamp = Date.now();\n const callNow = immediate && !timeout;\n if (!timeout) {\n timeout = setTimeout(later, wait);\n }\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n return result;\n };\n}\n/**\n * Throttle method.\n * @param {function} func The function to call.\n * @param {number} wait The amount of time (milliseconds) to wait.\n * @param {object=} options An options object with the following properties\n * <ul>\n * <li>**leading**: Should the callback be executed once immeadiately.</li>\n * <li>**trailing**: Should the callback be executed once after the throttle completes.</li>\n * </ul>\n */\nexport function throttle(func, wait, options) {\n let context;\n let args;\n let result;\n let timeout;\n let timestamp = 0;\n options = options || {};\n const later = () => {\n timestamp = options.leading === false ? 0 : Date.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) {\n context = args = null;\n }\n };\n return function () {\n const now = Date.now();\n if (!timestamp && options.leading === false) {\n timestamp = now;\n }\n const remaining = wait - (now - timestamp);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n timestamp = now;\n result = func.apply(context, args);\n if (!timeout) {\n context = args = null;\n }\n }\n else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n}\n/**\n * A minification-safe nameof function for retrieving the name of a property or method at runtime.\n * Note: this function only works with properties/methods on an object. To get the name of a variable,\n * you will need to wrap it within an object.\n * @param {Function} fn A function the returns a property or method that will be stringified.\n */\nexport function nameof(fn) {\n const fnString = fn.toString();\n // fnString should look something like: function () { return _this.canActivate; }\n // When minified fnString will look something like: function(){return a.canActivate}\n const nameofRegExp = /[^.]\\.([^;}\\s]+)(?:[;}\\s])/; // Get everything after first dot and before the end of the statement\n const match = nameofRegExp.exec(fnString);\n if (!match) {\n throw new Error(`Could not parse nameof string: ${fnString}`);\n }\n return match[1];\n}\n/*\n * Watches for user events to detect if browser is idle.\n *\n * @param callback The function to call when the browser becomes idle.\n * @param timespan The time to wait before the browser is considered idle.\n */\nexport function idleWatch(callback, timespan) {\n const events = [\n 'mousedown',\n 'mousemove',\n 'touchstart',\n 'touchmove',\n 'keydown',\n 'wheel',\n 'resize'\n ];\n events.forEach(e => {\n window.addEventListener(e, throttle((event) => {\n if (timeoutId) {\n window.clearTimeout(timeoutId);\n }\n timeoutId = window.setTimeout(callback, timespan);\n }, 1000, true), true);\n });\n let timeoutId = window.setTimeout(callback, timespan);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AACO,WAAqB,EAAS,EAAG,CAEpC,MAAO,MAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAM,EAAO,CAAM,CACnE,CAMO,WAAmB,EAAK,CAC3B,MAAO,OAAO,IAAQ,aAAe,IAAQ,IACjD,CAMO,WAAkB,EAAK,CAC1B,MAAO,OAAO,IAAQ,QAC1B,CAcO,WAAkB,EAAK,CAC1B,MAAO,OAAO,IAAQ,QAC1B,CAEO,WAAmB,EAAK,CAC3B,MAAI,OAAO,IAAQ,SACR,GAEJ,CAAC,MAAM,CAAG,GAAK,CAAC,MAAM,WAAW,CAAG,CAAC,CAChD,CAMO,WAAgB,EAAK,CACxB,MAAO,aAAe,KAC1B,CAMO,WAAqB,EAAK,CAC7B,MAAK,GAAO,CAAG,EAGR,CAAC,MAAM,EAAI,QAAQ,CAAC,EAFhB,EAGf,CAMO,WAAoB,EAAK,CAC5B,MAAO,OAAO,IAAQ,UAC1B,CAMO,WAAiB,EAAK,CACzB,MAAO,aAAe,MAC1B,CAMO,WAAkB,EAAK,CAC1B,MAAO,aAAe,OAC1B,CAMO,WAAuB,EAAO,CACjC,MAAO,IAAS,MAAQ,GAAK,GAAU,OAC3C,CAMO,WAAsB,EAAO,CAChC,MAAO,CAAC,CACZ,CAEO,WAA2B,EAAiB,CAC/C,MAAK,GAGD,MAAO,IAAoB,SACpB,EAAgB,QAAQ,aAAc,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,GAAK,OAAO,CAAC,CAAC,EAEzE,MAAO,IAAoB,SACzB,CAAC,CAAe,EAGhB,EAAgB,IAAI,GAAK,OAAO,CAAC,CAAC,EATlC,CAAC,CAWhB,CAMO,WAAqB,EAAG,EAAG,CAC9B,MAAO,KAAM,GAAM,MAAO,IAAM,UAAY,MAAO,IAAM,UAAY,KAAK,UAAU,CAAC,IAAM,KAAK,UAAU,CAAC,CAC/G,CAOO,WAAkB,EAAM,EAAM,EAAY,GAAO,CACpD,GAAI,GACA,EACA,EACA,EACA,EAAY,EACV,EAAQ,IAAM,CAChB,GAAM,GAAO,KAAK,IAAI,EAAI,EAC1B,AAAI,EAAO,GAAQ,GAAQ,EACvB,EAAU,WAAW,EAAO,EAAO,CAAI,EAGvC,GAAU,KACL,GACD,GAAS,EAAK,MAAM,EAAS,CAAI,EAC5B,GACD,GAAU,EAAO,OAIjC,EACA,MAAO,WAAY,CACf,EAAU,KACV,EAAO,UACP,EAAY,KAAK,IAAI,EACrB,GAAM,GAAU,GAAa,CAAC,EAC9B,MAAK,IACD,GAAU,WAAW,EAAO,CAAI,GAEhC,GACA,GAAS,EAAK,MAAM,EAAS,CAAI,EACjC,EAAU,EAAO,MAEd,CACX,CACJ,CAWO,WAAkB,EAAM,EAAM,EAAS,CAC1C,GAAI,GACA,EACA,EACA,EACA,EAAY,EAChB,EAAU,GAAW,CAAC,EACtB,GAAM,GAAQ,IAAM,CAChB,EAAY,EAAQ,UAAY,GAAQ,EAAI,KAAK,IAAI,EACrD,EAAU,KACV,EAAS,EAAK,MAAM,EAAS,CAAI,EAC5B,GACD,GAAU,EAAO,KAEzB,EACA,MAAO,WAAY,CACf,GAAM,GAAM,KAAK,IAAI,EACrB,AAAI,CAAC,GAAa,EAAQ,UAAY,IAClC,GAAY,GAEhB,GAAM,GAAY,EAAQ,GAAM,GAChC,SAAU,KACV,EAAO,UACP,AAAI,GAAa,GAAK,EAAY,EAC1B,IACA,cAAa,CAAO,EACpB,EAAU,MAEd,EAAY,EACZ,EAAS,EAAK,MAAM,EAAS,CAAI,EAC5B,GACD,GAAU,EAAO,OAGhB,CAAC,GAAW,EAAQ,WAAa,IACtC,GAAU,WAAW,EAAO,CAAS,GAElC,CACX,CACJ",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|