@tylertech/forge 3.0.0-next.19 → 3.0.0-next.20
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 +33314 -31340
- package/dist/esm/accordion/index.js +1 -1
- package/dist/esm/app-bar/app-bar/index.js +1 -1
- package/dist/esm/app-bar/help-button/index.js +1 -1
- package/dist/esm/app-bar/index.js +1 -1
- package/dist/esm/app-bar/menu-button/index.js +1 -1
- package/dist/esm/app-bar/notification-button/index.js +1 -1
- package/dist/esm/app-bar/profile-button/index.js +1 -1
- package/dist/esm/app-bar/search/index.js +1 -1
- package/dist/esm/autocomplete/index.js +1 -1
- package/dist/esm/avatar/index.js +1 -1
- package/dist/esm/backdrop/index.js +1 -1
- package/dist/esm/badge/index.js +1 -1
- package/dist/esm/banner/index.js +1 -1
- package/dist/esm/bottom-sheet/index.js +1 -1
- package/dist/esm/busy-indicator/index.js +1 -1
- package/dist/esm/button/index.js +1 -1
- package/dist/esm/button-area/index.js +1 -1
- package/dist/esm/button-toggle/button-toggle/index.js +1 -1
- package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
- package/dist/esm/button-toggle/index.js +1 -1
- package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
- package/dist/esm/calendar/calendar-menu/index.js +1 -1
- package/dist/esm/calendar/index.js +1 -1
- package/dist/esm/card/index.js +1 -1
- package/dist/esm/checkbox/index.js +1 -1
- package/dist/esm/chip-field/index.js +1 -1
- package/dist/esm/chips/chip/index.js +1 -1
- package/dist/esm/chips/chip-set/index.js +1 -1
- package/dist/esm/chips/index.js +1 -1
- package/dist/esm/chunks/{chunk.WJ26N3FC.js → chunk.22C7GQLX.js} +2 -2
- package/dist/esm/chunks/{chunk.CPD4RUF2.js → chunk.24MZM3AY.js} +2 -2
- package/dist/esm/chunks/{chunk.O6WN2UP6.js → chunk.2537XOFQ.js} +2 -2
- package/dist/esm/chunks/{chunk.KZMXTOLO.js → chunk.2AM2BKEO.js} +2 -2
- package/dist/esm/chunks/chunk.2N5KNNQX.js +7 -0
- package/dist/esm/chunks/chunk.2N5KNNQX.js.map +7 -0
- package/dist/esm/chunks/chunk.2W276VOR.js +7 -0
- package/dist/esm/chunks/chunk.2W276VOR.js.map +7 -0
- package/dist/esm/chunks/{chunk.KD4DVSJR.js → chunk.2WRAXA3H.js} +2 -2
- package/dist/esm/chunks/{chunk.ZYYPOLIG.js → chunk.2XPAYTK4.js} +2 -2
- package/dist/esm/chunks/chunk.35MHQH7Z.js +7 -0
- package/dist/esm/chunks/chunk.35MHQH7Z.js.map +7 -0
- package/dist/esm/chunks/chunk.3L77JY5H.js +7 -0
- package/dist/esm/chunks/chunk.3TIBP6QT.js +7 -0
- package/dist/esm/chunks/chunk.3TIBP6QT.js.map +7 -0
- package/dist/esm/chunks/{chunk.W2W3NTFC.js → chunk.3U222LE4.js} +2 -2
- package/dist/esm/chunks/{chunk.W2W3NTFC.js.map → chunk.3U222LE4.js.map} +2 -2
- package/dist/esm/chunks/{chunk.JPOTN7LL.js → chunk.45PPQY45.js} +2 -2
- package/dist/esm/chunks/{chunk.JPOTN7LL.js.map → chunk.45PPQY45.js.map} +1 -1
- package/dist/esm/chunks/{chunk.MBXBM6UI.js → chunk.47U6GVGZ.js} +2 -2
- package/dist/esm/chunks/chunk.4AEQ7KVU.js +7 -0
- package/dist/esm/chunks/chunk.4AEQ7KVU.js.map +7 -0
- package/dist/esm/chunks/{chunk.KWP42KR7.js → chunk.4NABD6XG.js} +2 -2
- package/dist/esm/chunks/{chunk.KWP42KR7.js.map → chunk.4NABD6XG.js.map} +2 -2
- package/dist/esm/chunks/{chunk.WKLDPPHS.js → chunk.4UU6PWR2.js} +2 -2
- package/dist/esm/chunks/{chunk.WKLDPPHS.js.map → chunk.4UU6PWR2.js.map} +1 -1
- package/dist/esm/chunks/{chunk.UYAP5GFT.js → chunk.5A34DJLZ.js} +2 -2
- package/dist/esm/chunks/{chunk.GAHE4QVB.js → chunk.5S7XNYRQ.js} +2 -2
- package/dist/esm/chunks/chunk.66YURKP2.js +7 -0
- package/dist/esm/chunks/chunk.66YURKP2.js.map +7 -0
- package/dist/esm/chunks/chunk.6GSVB5NB.js +7 -0
- package/dist/esm/chunks/chunk.6GSVB5NB.js.map +7 -0
- package/dist/esm/chunks/{chunk.DOAQODLZ.js → chunk.6XLTVIUD.js} +2 -2
- package/dist/esm/chunks/{chunk.4YKLCBP2.js → chunk.7IJUN75W.js} +2 -2
- package/dist/esm/chunks/chunk.7UBIT4NP.js +7 -0
- package/dist/esm/chunks/chunk.7UBIT4NP.js.map +7 -0
- package/dist/esm/chunks/{chunk.66RZ2CUB.js → chunk.A4UH52SA.js} +2 -2
- package/dist/esm/chunks/chunk.AFJ7QEVI.js +7 -0
- package/dist/esm/chunks/chunk.AFJ7QEVI.js.map +7 -0
- package/dist/esm/chunks/{chunk.KIQZLNDG.js → chunk.AN2E2SSN.js} +2 -2
- package/dist/esm/chunks/{chunk.XH63INIK.js → chunk.AOSBUJWW.js} +2 -2
- package/dist/esm/chunks/chunk.BETICEYY.js +7 -0
- package/dist/esm/chunks/chunk.BETICEYY.js.map +7 -0
- package/dist/esm/chunks/chunk.BEUQVZKZ.js +7 -0
- package/dist/esm/chunks/chunk.BEUQVZKZ.js.map +7 -0
- package/dist/esm/chunks/chunk.BIQTNLIF.js +7 -0
- package/dist/esm/chunks/chunk.BIQTNLIF.js.map +7 -0
- package/dist/esm/chunks/{chunk.CLODJYSW.js → chunk.BSV27GU7.js} +2 -2
- package/dist/esm/chunks/{chunk.FOQH2SSU.js → chunk.CBLUXYH2.js} +2 -2
- package/dist/esm/chunks/{chunk.L7BSLZCB.js → chunk.CIUPY66Y.js} +2 -2
- package/dist/esm/chunks/chunk.CSCZRSDT.js +7 -0
- package/dist/esm/chunks/chunk.CSCZRSDT.js.map +7 -0
- package/dist/esm/chunks/{chunk.OUIWXKO2.js → chunk.CSOKFDFQ.js} +2 -2
- package/dist/esm/chunks/{chunk.4HZ6SNRV.js → chunk.CWBDPBYO.js} +2 -2
- package/dist/esm/chunks/{chunk.4HZ6SNRV.js.map → chunk.CWBDPBYO.js.map} +2 -2
- package/dist/esm/chunks/{chunk.E2FS4PJS.js → chunk.D7RH43XD.js} +2 -2
- package/dist/esm/chunks/{chunk.E2FS4PJS.js.map → chunk.D7RH43XD.js.map} +2 -2
- package/dist/esm/chunks/{chunk.HZUQXCOQ.js → chunk.DCCFF327.js} +2 -2
- package/dist/esm/chunks/{chunk.HZUQXCOQ.js.map → chunk.DCCFF327.js.map} +2 -2
- package/dist/esm/chunks/{chunk.YLJTJKN4.js → chunk.EO3HELQ2.js} +2 -2
- package/dist/esm/chunks/{chunk.YGXXWF52.js → chunk.FB4MXEIW.js} +2 -2
- package/dist/esm/chunks/{chunk.YGXXWF52.js.map → chunk.FB4MXEIW.js.map} +2 -2
- package/dist/esm/chunks/{chunk.RKG66YKS.js → chunk.FBDRM4YN.js} +2 -2
- package/dist/esm/chunks/{chunk.GAQ3POUT.js → chunk.FOSKVNVV.js} +2 -2
- package/dist/esm/chunks/{chunk.Z7JF5PPO.js → chunk.FRTSXX33.js} +2 -2
- package/dist/esm/chunks/{chunk.253H47GA.js → chunk.G2HRYIIZ.js} +2 -2
- package/dist/esm/chunks/chunk.G3GTO5ZC.js +7 -0
- package/dist/esm/chunks/chunk.G3GTO5ZC.js.map +7 -0
- package/dist/esm/chunks/{chunk.D7L2IMHJ.js → chunk.GA6AO6FJ.js} +2 -2
- package/dist/esm/chunks/{chunk.YOKBWEXF.js → chunk.GBGGUYTE.js} +2 -2
- package/dist/esm/chunks/{chunk.CISGGM56.js → chunk.GTKYO6VB.js} +2 -2
- package/dist/esm/chunks/{chunk.STIZCKQA.js → chunk.HBAC6E7O.js} +2 -2
- package/dist/esm/chunks/{chunk.WM6ZUVDR.js → chunk.IM36A2ZI.js} +2 -2
- package/dist/esm/chunks/{chunk.YHIHHGMQ.js → chunk.IWVAI6XM.js} +2 -2
- package/dist/esm/chunks/chunk.IZ63EJ32.js +7 -0
- package/dist/esm/chunks/{chunk.VN7JOJVU.js.map → chunk.IZ63EJ32.js.map} +1 -1
- package/dist/esm/chunks/{chunk.J5MWS2KZ.js → chunk.IZRURH7C.js} +2 -2
- package/dist/esm/chunks/chunk.JCEKCW4B.js +7 -0
- package/dist/esm/chunks/chunk.JCEKCW4B.js.map +7 -0
- package/dist/esm/chunks/{chunk.E7TIN4JS.js → chunk.JLSFTWPE.js} +2 -2
- package/dist/esm/chunks/{chunk.HP4333ZN.js → chunk.JSTCCUKZ.js} +2 -2
- package/dist/esm/chunks/chunk.JVWJHSPM.js +7 -0
- package/dist/esm/chunks/{chunk.JUXSSZ3B.js.map → chunk.JVWJHSPM.js.map} +1 -1
- package/dist/esm/chunks/chunk.KDUH2DUE.js +7 -0
- package/dist/esm/chunks/{chunk.54DNA2QP.js → chunk.KEFJZO5K.js} +2 -2
- package/dist/esm/chunks/{chunk.54DNA2QP.js.map → chunk.KEFJZO5K.js.map} +1 -1
- package/dist/esm/chunks/chunk.KRKKMTXR.js +7 -0
- package/dist/esm/chunks/chunk.KRKKMTXR.js.map +7 -0
- package/dist/esm/chunks/chunk.LGEZI5SZ.js +7 -0
- package/dist/esm/chunks/chunk.LGEZI5SZ.js.map +7 -0
- package/dist/esm/chunks/{chunk.M7RYU4HQ.js → chunk.LKA5HQQY.js} +2 -2
- package/dist/esm/chunks/{chunk.IC4DLKE3.js → chunk.MC3UAHWS.js} +2 -2
- package/dist/esm/chunks/chunk.MCR34SZQ.js +7 -0
- package/dist/esm/chunks/{chunk.5NHGVUVR.js.map → chunk.MCR34SZQ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.B2RYZJGJ.js → chunk.MDDX4MJU.js} +2 -2
- package/dist/esm/chunks/{chunk.B2RYZJGJ.js.map → chunk.MDDX4MJU.js.map} +3 -3
- package/dist/esm/chunks/chunk.MPUP6QAP.js +7 -0
- package/dist/esm/chunks/chunk.MZRAL4MY.js +7 -0
- package/dist/esm/chunks/chunk.MZRAL4MY.js.map +7 -0
- package/dist/esm/chunks/{chunk.KPNGLSCU.js → chunk.N632SJ7X.js} +2 -2
- package/dist/esm/chunks/{chunk.WJLHVUHN.js → chunk.O56VP4OZ.js} +2 -2
- package/dist/esm/chunks/{chunk.ULZJYWM2.js → chunk.OFXSMOV6.js} +2 -2
- package/dist/esm/chunks/chunk.OT4AIOMN.js +7 -0
- package/dist/esm/chunks/chunk.OT4AIOMN.js.map +7 -0
- package/dist/esm/chunks/{chunk.SWDOKJUF.js → chunk.OY3TG55O.js} +2 -2
- package/dist/esm/chunks/chunk.PDDBNHVU.js +7 -0
- package/dist/esm/chunks/chunk.PDDBNHVU.js.map +7 -0
- package/dist/esm/chunks/{chunk.IO3A5OM6.js → chunk.PXRGQHWR.js} +2 -2
- package/dist/esm/chunks/chunk.QCRO5NSG.js +7 -0
- package/dist/esm/chunks/chunk.QCRO5NSG.js.map +7 -0
- package/dist/esm/chunks/chunk.QKYCMDLB.js +7 -0
- package/dist/esm/chunks/{chunk.WINWKU4K.js → chunk.QUWEAFGI.js} +2 -2
- package/dist/esm/chunks/{chunk.LNMQ5A25.js → chunk.R3AWIPPK.js} +2 -2
- package/dist/esm/chunks/{chunk.KYACLC66.js → chunk.R66CYS27.js} +2 -2
- package/dist/esm/chunks/chunk.R6VPRRTT.js +7 -0
- package/dist/esm/chunks/{chunk.4EBFMRTJ.js.map → chunk.R6VPRRTT.js.map} +1 -1
- package/dist/esm/chunks/{chunk.V7HN24VV.js → chunk.RFCIELJM.js} +2 -2
- package/dist/esm/chunks/chunk.RLQB7224.js +7 -0
- package/dist/esm/chunks/{chunk.EWT2PBEP.js.map → chunk.RLQB7224.js.map} +2 -2
- package/dist/esm/chunks/chunk.ROMRJIFR.js +7 -0
- package/dist/esm/chunks/chunk.ROMRJIFR.js.map +7 -0
- package/dist/esm/chunks/chunk.SB2LOK2R.js +7 -0
- package/dist/esm/chunks/{chunk.4SP42UG3.js.map → chunk.SB2LOK2R.js.map} +3 -3
- package/dist/esm/chunks/chunk.SHBDQPPH.js +7 -0
- package/dist/esm/chunks/chunk.SHBDQPPH.js.map +7 -0
- package/dist/esm/chunks/{chunk.LFLIYBAB.js → chunk.SIGRWU4V.js} +2 -2
- package/dist/esm/chunks/{chunk.LFLIYBAB.js.map → chunk.SIGRWU4V.js.map} +2 -2
- package/dist/esm/chunks/chunk.SKBOB2BD.js +7 -0
- package/dist/esm/chunks/chunk.SKBOB2BD.js.map +7 -0
- package/dist/esm/chunks/chunk.SOKORSUV.js +7 -0
- package/dist/esm/chunks/{chunk.GDKJ4RZX.js → chunk.STSAE2XP.js} +2 -2
- package/dist/esm/chunks/{chunk.CJUX3PL5.js → chunk.SWKKDBO6.js} +2 -2
- package/dist/esm/chunks/chunk.SYKZ74SL.js +7 -0
- package/dist/esm/chunks/chunk.SYKZ74SL.js.map +7 -0
- package/dist/esm/chunks/chunk.TPNZYEC7.js +12 -0
- package/dist/esm/chunks/chunk.TPNZYEC7.js.map +7 -0
- package/dist/esm/chunks/{chunk.QQUSMJIM.js → chunk.UEYPCCFG.js} +2 -2
- package/dist/esm/chunks/chunk.UKVC23E5.js +7 -0
- package/dist/esm/chunks/chunk.UKVC23E5.js.map +7 -0
- package/dist/esm/chunks/chunk.UOD3A7M4.js +7 -0
- package/dist/esm/chunks/{chunk.OXGCNOUY.js.map → chunk.UOD3A7M4.js.map} +1 -1
- package/dist/esm/chunks/{chunk.UVXKHQQZ.js → chunk.UQQQSJVM.js} +2 -2
- package/dist/esm/chunks/{chunk.UVXKHQQZ.js.map → chunk.UQQQSJVM.js.map} +2 -2
- package/dist/esm/chunks/chunk.USO2XVOI.js +7 -0
- package/dist/esm/chunks/{chunk.Y7ZZ7HDC.js.map → chunk.USO2XVOI.js.map} +1 -1
- package/dist/esm/chunks/chunk.USQEIRST.js +7 -0
- package/dist/esm/chunks/chunk.USQEIRST.js.map +7 -0
- package/dist/esm/chunks/chunk.V3X77TCO.js +7 -0
- package/dist/esm/chunks/chunk.V3X77TCO.js.map +7 -0
- package/dist/esm/chunks/{chunk.F3FWXBDS.js → chunk.VBJ4WUVH.js} +2 -2
- package/dist/esm/chunks/chunk.VOTT5COZ.js +7 -0
- package/dist/esm/chunks/chunk.VOTT5COZ.js.map +7 -0
- package/dist/esm/chunks/{chunk.AQOLBID6.js → chunk.VZ2XONDI.js} +2 -2
- package/dist/esm/chunks/{chunk.AQOLBID6.js.map → chunk.VZ2XONDI.js.map} +2 -2
- package/dist/esm/chunks/chunk.WAMFFIMP.js +7 -0
- package/dist/esm/chunks/chunk.WAMFFIMP.js.map +7 -0
- package/dist/esm/chunks/{chunk.U7S4DJTU.js → chunk.WBCQTZPS.js} +2 -2
- package/dist/esm/chunks/chunk.WBI34ZVP.js +7 -0
- package/dist/esm/chunks/chunk.WPVGFQNY.js +7 -0
- package/dist/esm/chunks/{chunk.RN634NOB.js.map → chunk.WPVGFQNY.js.map} +1 -1
- package/dist/esm/chunks/{chunk.SZETPZGY.js → chunk.WTUXAH7Z.js} +2 -2
- package/dist/esm/chunks/chunk.XAZ6EDIZ.js +7 -0
- package/dist/esm/chunks/{chunk.QIMAHW7V.js.map → chunk.XAZ6EDIZ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.2F2N4WBN.js → chunk.XCI7O2KJ.js} +2 -2
- package/dist/esm/chunks/{chunk.2F2N4WBN.js.map → chunk.XCI7O2KJ.js.map} +2 -2
- package/dist/esm/chunks/chunk.XNJROSDZ.js +7 -0
- package/dist/esm/chunks/chunk.XNJROSDZ.js.map +7 -0
- package/dist/esm/chunks/chunk.XU3YSZPA.js +7 -0
- package/dist/esm/chunks/chunk.XYBVD3IE.js +7 -0
- package/dist/esm/chunks/chunk.XYBVD3IE.js.map +7 -0
- package/dist/esm/chunks/chunk.YNXWVL4B.js +7 -0
- package/dist/esm/chunks/chunk.YNXWVL4B.js.map +7 -0
- package/dist/esm/chunks/{chunk.5JSCGQ7H.js → chunk.YS5JZHJ6.js} +2 -2
- package/dist/esm/chunks/{chunk.QXZ3AAXD.js → chunk.YXHMD73U.js} +2 -2
- package/dist/esm/chunks/{chunk.6DPDC4ON.js → chunk.Z6GRWPPN.js} +2 -2
- package/dist/esm/chunks/chunk.ZAREP2QH.js +7 -0
- package/dist/esm/chunks/chunk.ZAREP2QH.js.map +7 -0
- package/dist/esm/chunks/{chunk.2K3T63I2.js → chunk.ZIGVO6FN.js} +2 -2
- package/dist/esm/chunks/{chunk.2K3T63I2.js.map → chunk.ZIGVO6FN.js.map} +2 -2
- package/dist/esm/chunks/{chunk.4JEBLMI3.js → chunk.ZLNI2M3F.js} +2 -2
- package/dist/esm/chunks/chunk.ZPXMKY72.js +7 -0
- package/dist/esm/chunks/chunk.ZPXMKY72.js.map +7 -0
- package/dist/esm/chunks/chunk.ZYKP23JP.js +7 -0
- package/dist/esm/chunks/chunk.ZYKP23JP.js.map +7 -0
- package/dist/esm/circular-progress/index.js +1 -1
- package/dist/esm/color-picker/index.js +1 -1
- package/dist/esm/core/base/index.js +1 -1
- package/dist/esm/core/delegates/index.js +1 -1
- package/dist/esm/core/index.js +1 -1
- package/dist/esm/core/utils/index.js +1 -1
- package/dist/esm/date-picker/index.js +1 -1
- package/dist/esm/date-range-picker/index.js +1 -1
- package/dist/esm/deprecated/button/index.js +1 -1
- package/dist/esm/deprecated/index.js +1 -1
- package/dist/esm/dialog/index.js +1 -1
- package/dist/esm/divider/index.js +1 -1
- package/dist/esm/drawer/base/index.js +1 -1
- package/dist/esm/drawer/drawer/index.js +1 -1
- package/dist/esm/drawer/index.js +1 -1
- package/dist/esm/drawer/mini-drawer/index.js +1 -1
- package/dist/esm/drawer/modal-drawer/index.js +1 -1
- package/dist/esm/expansion-panel/index.js +1 -1
- package/dist/esm/field-next/base/index.js +7 -0
- package/dist/esm/field-next/index.js +7 -0
- package/dist/esm/file-picker/index.js +1 -1
- package/dist/esm/floating-action-button/index.js +1 -1
- package/dist/esm/floating-label/index.js +1 -1
- package/dist/esm/focus-indicator/index.js +1 -1
- package/dist/esm/icon/index.js +1 -1
- package/dist/esm/icon-button/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/inline-message/index.js +1 -1
- package/dist/esm/keyboard-shortcut/index.js +1 -1
- package/dist/esm/label/index.js +1 -1
- package/dist/esm/label-value/index.js +1 -1
- package/dist/esm/linear-progress/index.js +1 -1
- package/dist/esm/list/index.js +1 -1
- package/dist/esm/list/list/index.js +1 -1
- package/dist/esm/list/list-item/index.js +1 -1
- package/dist/esm/list-dropdown/index.js +1 -1
- package/dist/esm/menu/index.js +1 -1
- package/dist/esm/open-icon/index.js +1 -1
- package/dist/esm/overlay/index.js +1 -1
- package/dist/esm/page-state/index.js +1 -1
- package/dist/esm/paginator/index.js +1 -1
- package/dist/esm/popover/index.js +1 -1
- package/dist/esm/popup/index.js +1 -1
- package/dist/esm/profile-card/index.js +1 -1
- package/dist/esm/quantity-field/index.js +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/radio/radio/index.js +1 -1
- package/dist/esm/radio/radio-group/index.js +1 -1
- package/dist/esm/ripple/index.js +1 -1
- package/dist/esm/scaffold/index.js +1 -1
- package/dist/esm/select/core/index.js +1 -1
- package/dist/esm/select/index.js +1 -1
- package/dist/esm/select/option/index.js +1 -1
- package/dist/esm/select/option-group/index.js +1 -1
- package/dist/esm/select/select/index.js +1 -1
- package/dist/esm/select/select-dropdown/index.js +1 -1
- package/dist/esm/skeleton/index.js +1 -1
- package/dist/esm/slider/index.js +1 -1
- package/dist/esm/split-button/index.js +1 -1
- package/dist/esm/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view-panel/index.js +1 -1
- package/dist/esm/stack/index.js +1 -1
- package/dist/esm/state-layer/index.js +1 -1
- package/dist/esm/stepper/index.js +1 -1
- package/dist/esm/stepper/step/index.js +1 -1
- package/dist/esm/stepper/stepper/index.js +1 -1
- package/dist/esm/switch/index.js +1 -1
- package/dist/esm/table/index.js +1 -1
- package/dist/esm/tabs/index.js +1 -1
- package/dist/esm/tabs/tab/index.js +1 -1
- package/dist/esm/tabs/tab-bar/index.js +1 -1
- package/dist/esm/text-field/index.js +1 -1
- package/dist/esm/time-picker/index.js +1 -1
- package/dist/esm/toast/index.js +1 -1
- package/dist/esm/toolbar/index.js +1 -1
- package/dist/esm/tooltip/index.js +1 -1
- package/dist/esm/view-switcher/index.js +1 -1
- package/dist/esm/view-switcher/view/index.js +1 -1
- package/dist/forge-dark.css +1 -1
- package/dist/forge.css +1 -1
- package/dist/typography/forge-typography.css +1 -1
- package/esm/autocomplete/autocomplete-adapter.js +6 -9
- package/esm/autocomplete/autocomplete.d.ts +8 -2
- package/esm/badge/badge.js +1 -1
- package/esm/button-area/button-area-adapter.d.ts +20 -21
- package/esm/button-area/button-area-adapter.js +32 -74
- package/esm/button-area/button-area-constants.d.ts +3 -1
- package/esm/button-area/button-area-constants.js +5 -3
- package/esm/button-area/button-area-foundation.d.ts +2 -0
- package/esm/button-area/button-area-foundation.js +31 -11
- package/esm/button-area/button-area.d.ts +19 -2
- package/esm/button-area/button-area.js +25 -6
- package/esm/calendar/calendar-foundation.js +14 -6
- package/esm/calendar/calendar.d.ts +1 -0
- package/esm/card/card.js +1 -1
- package/esm/checkbox/checkbox.js +1 -1
- package/esm/chip-field/chip-field-foundation.js +1 -1
- package/esm/chips/chip/chip-adapter.d.ts +45 -50
- package/esm/chips/chip/chip-adapter.js +150 -129
- package/esm/chips/chip/chip-constants.d.ts +28 -20
- package/esm/chips/chip/chip-constants.js +14 -23
- package/esm/chips/chip/chip-foundation.d.ts +42 -34
- package/esm/chips/chip/chip-foundation.js +177 -171
- package/esm/chips/chip/chip.d.ts +106 -21
- package/esm/chips/chip/chip.js +142 -35
- package/esm/chips/chip-set/chip-set-constants.d.ts +9 -3
- package/esm/chips/chip-set/chip-set-constants.js +7 -8
- package/esm/chips/chip-set/chip-set.d.ts +46 -9
- package/esm/chips/chip-set/chip-set.js +128 -33
- package/esm/chips/chip-set/index.d.ts +0 -2
- package/esm/chips/chip-set/index.js +0 -2
- package/esm/constants.d.ts +8 -3
- package/esm/constants.js +8 -3
- package/esm/core/base/base-adapter.d.ts +2 -1
- package/esm/core/base/base-adapter.js +1 -0
- package/esm/core/utils/utils.d.ts +11 -0
- package/esm/core/utils/utils.js +35 -0
- package/esm/date-picker/base/base-date-picker-adapter.js +7 -12
- package/esm/date-picker/base/base-date-picker-foundation.js +6 -0
- package/esm/date-picker/base/base-date-picker-utils.js +1 -2
- package/esm/date-range-picker/date-range-picker-adapter.d.ts +1 -0
- package/esm/date-range-picker/date-range-picker-adapter.js +11 -1
- package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +3 -3
- package/esm/date-range-picker/date-range-picker-component-delegate.js +2 -2
- package/esm/dialog/dialog-adapter.d.ts +2 -0
- package/esm/dialog/dialog-adapter.js +14 -0
- package/esm/dialog/dialog-foundation.js +1 -0
- package/esm/divider/divider-constants.d.ts +2 -2
- package/esm/divider/divider-constants.js +3 -3
- package/esm/divider/divider.d.ts +26 -5
- package/esm/divider/divider.js +42 -6
- package/esm/drawer/drawer/drawer.js +1 -1
- package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
- package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
- package/esm/expansion-panel/expansion-panel.js +1 -1
- package/esm/field-next/base/base-field-adapter.d.ts +27 -0
- package/esm/field-next/base/base-field-adapter.js +14 -0
- package/esm/field-next/base/base-field-constants.d.ts +56 -0
- package/esm/field-next/base/base-field-constants.js +36 -0
- package/esm/field-next/base/base-field-foundation.d.ts +79 -0
- package/esm/field-next/base/base-field-foundation.js +176 -0
- package/esm/field-next/base/base-field.d.ts +52 -0
- package/esm/field-next/base/base-field.js +116 -0
- package/esm/field-next/base/index.d.ts +9 -0
- package/esm/field-next/base/index.js +9 -0
- package/esm/field-next/field-adapter.d.ts +56 -0
- package/esm/field-next/field-adapter.js +132 -0
- package/esm/field-next/field-constants.d.ts +95 -0
- package/esm/field-next/field-constants.js +64 -0
- package/esm/field-next/field-foundation.d.ts +86 -0
- package/esm/field-next/field-foundation.js +221 -0
- package/esm/field-next/field.d.ts +205 -0
- package/esm/field-next/field.js +287 -0
- package/esm/field-next/index.d.ts +11 -0
- package/esm/field-next/index.js +15 -0
- package/esm/file-picker/file-picker-adapter.js +1 -1
- package/esm/file-picker/file-picker.d.ts +46 -2
- package/esm/file-picker/file-picker.js +48 -4
- package/esm/index.d.ts +1 -1
- package/esm/index.js +3 -3
- package/esm/label/label-constants.d.ts +9 -3
- package/esm/label/label-constants.js +5 -3
- package/esm/label/label-foundation.d.ts +7 -4
- package/esm/label/label-foundation.js +20 -10
- package/esm/label/label.d.ts +6 -4
- package/esm/label/label.js +11 -12
- package/esm/list/list/list-adapter.d.ts +1 -1
- package/esm/list/list/list-adapter.js +22 -9
- package/esm/list/list/list-constants.d.ts +3 -0
- package/esm/list/list/list-constants.js +5 -1
- package/esm/list/list/list-foundation.js +6 -0
- package/esm/list/list-item/list-item-constants.js +1 -1
- package/esm/list/list-item/list-item.d.ts +33 -38
- package/esm/list/list-item/list-item.js +34 -39
- package/esm/menu/menu-foundation.js +1 -0
- package/esm/menu/menu.d.ts +4 -1
- package/esm/page-state/page-state.d.ts +24 -1
- package/esm/page-state/page-state.js +26 -3
- package/esm/paginator/paginator-adapter.d.ts +6 -2
- package/esm/paginator/paginator-adapter.js +34 -54
- package/esm/paginator/paginator-constants.d.ts +1 -1
- package/esm/paginator/paginator-foundation.js +7 -17
- package/esm/popover/popover-constants.d.ts +2 -0
- package/esm/popover/popover-constants.js +3 -1
- package/esm/popover/popover-foundation.d.ts +5 -0
- package/esm/popover/popover-foundation.js +26 -1
- package/esm/popover/popover.d.ts +4 -0
- package/esm/popover/popover.js +9 -0
- package/esm/profile-card/profile-card.js +1 -1
- package/esm/radio/radio/radio.js +2 -2
- package/esm/radio/radio-group/radio-group-adapter.js +1 -1
- package/{styles/stack/_variables.scss → esm/radio/radio-group/radio-group-component-delegate.d.ts} +0 -1
- package/{styles/chips/chip-set/_variables.scss → esm/radio/radio-group/radio-group-component-delegate.js} +0 -1
- package/esm/ripple/forge-ripple.d.ts +1 -1
- package/esm/ripple/forge-ripple.js +1 -1
- package/esm/select/core/base-select.d.ts +4 -1
- package/esm/skeleton/skeleton.d.ts +32 -2
- package/esm/skeleton/skeleton.js +33 -3
- package/esm/slider/slider.js +1 -1
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/stack/stack-constants.d.ts +1 -0
- package/esm/stack/stack-constants.js +2 -1
- package/esm/stack/stack-foundation.d.ts +6 -1
- package/esm/stack/stack-foundation.js +12 -1
- package/esm/stack/stack.d.ts +37 -3
- package/esm/stack/stack.js +42 -4
- package/esm/switch/switch.js +1 -1
- package/esm/text-field/index.d.ts +2 -2
- package/esm/text-field/index.js +2 -2
- package/esm/text-field/text-field-adapter.d.ts +42 -25
- package/esm/text-field/text-field-adapter.js +125 -84
- package/esm/text-field/text-field-component-delegate.d.ts +11 -3
- package/esm/text-field/text-field-component-delegate.js +66 -36
- package/esm/text-field/text-field-constants.d.ts +19 -8
- package/esm/text-field/text-field-constants.js +21 -11
- package/esm/text-field/text-field-foundation.d.ts +28 -6
- package/esm/text-field/text-field-foundation.js +97 -4
- package/esm/text-field/text-field.d.ts +43 -5
- package/esm/text-field/text-field.js +73 -9
- package/esm/time-picker/time-picker-adapter.js +8 -10
- package/esm/toolbar/toolbar-constants.d.ts +5 -5
- package/esm/toolbar/toolbar-constants.js +9 -10
- package/esm/toolbar/toolbar.d.ts +35 -6
- package/esm/toolbar/toolbar.js +44 -26
- package/esm/tooltip/tooltip.js +1 -1
- package/package.json +2 -2
- package/{dist/esm/chunks/chunk.SKLCDWYQ.js → styles/avatar/index.scss} +1 -1
- package/styles/badge/_core.scss +1 -1
- package/styles/button/button.scss +1 -1
- package/styles/button-area/_core.scss +25 -0
- package/styles/button-area/_token-utils.scss +30 -0
- package/styles/button-area/button-area.scss +48 -3
- package/styles/{divider/_variables.scss → button-area/index.scss} +1 -2
- package/styles/card/_mixins.scss +1 -0
- package/styles/checkbox/_core.scss +1 -1
- package/styles/chips/chip/_core.scss +137 -0
- package/styles/chips/chip/_token-utils.scss +30 -0
- package/styles/chips/chip/chip.scss +259 -7
- package/styles/chips/chip/index.scss +6 -0
- package/styles/chips/chip-set/_core.scss +22 -0
- package/styles/chips/chip-set/_token-utils.scss +30 -0
- package/styles/chips/chip-set/chip-set.scss +27 -3
- package/styles/chips/chip-set/index.scss +6 -0
- package/styles/core/styles/tokens/_token-utils.scss +3 -2
- package/styles/core/styles/tokens/button-area/_tokens.scss +28 -0
- package/styles/core/styles/tokens/chips/chip/_tokens.scss +87 -0
- package/styles/core/styles/tokens/chips/chip-set/_tokens.scss +16 -0
- package/styles/core/styles/tokens/divider/_tokens.scss +20 -0
- package/styles/core/styles/tokens/field/_tokens.scss +148 -0
- package/styles/core/styles/tokens/file-picker/_tokens.scss +42 -0
- package/styles/core/styles/tokens/list/list-item/_tokens.scss +5 -12
- package/styles/core/styles/tokens/page-state/_tokens.scss +43 -0
- package/styles/core/styles/tokens/skeleton/_tokens.scss +55 -0
- package/styles/core/styles/tokens/stack/_tokens.scss +21 -0
- package/styles/core/styles/tokens/toolbar/_tokens.scss +41 -0
- package/styles/core/styles/tokens/typography/_scale.scss +1 -0
- package/styles/core/styles/tokens/typography/_tokens.label.scss +9 -2
- package/styles/divider/_core.scss +39 -0
- package/styles/divider/_token-utils.scss +30 -0
- package/styles/divider/divider.scss +16 -9
- package/styles/divider/index.scss +6 -0
- package/styles/drawer/drawer/drawer.scss +2 -0
- package/styles/drawer/mini-drawer/mini-drawer.scss +2 -0
- package/styles/drawer/modal-drawer/modal-drawer.scss +5 -0
- package/styles/expansion-panel/_mixins.scss +1 -0
- package/styles/field-next/_core.layout.scss +350 -0
- package/styles/field-next/_core.scss +212 -0
- package/styles/field-next/_core.shape.scss +25 -0
- package/styles/field-next/_core.slotted.scss +60 -0
- package/styles/field-next/_core.state.scss +198 -0
- package/styles/field-next/_core.variant.scss +225 -0
- package/styles/field-next/_token-utils.scss +30 -0
- package/styles/field-next/field.scss +770 -0
- package/styles/{product-icon/_variables.scss → field-next/index.scss} +2 -2
- package/styles/file-picker/_core.scss +85 -0
- package/styles/file-picker/_token-utils.scss +30 -0
- package/styles/file-picker/file-picker.scss +68 -3
- package/styles/file-picker/index.scss +6 -0
- package/styles/label/_core.scss +1 -1
- package/styles/list/list-item/_core.scss +4 -20
- package/styles/list/list-item/list-item.scss +0 -12
- package/styles/page-state/_core.scss +79 -0
- package/styles/page-state/_token-utils.scss +30 -0
- package/styles/page-state/index.scss +6 -0
- package/styles/page-state/page-state.scss +51 -3
- package/styles/profile-card/profile-card.scss +10 -10
- package/styles/radio/radio/_core.scss +1 -1
- package/styles/radio/radio-group/_core.scss +5 -0
- package/styles/radio/radio-group/index.scss +5 -0
- package/styles/radio/radio-group/radio-group.scss +5 -0
- package/styles/skeleton/_animations.scss +10 -0
- package/styles/skeleton/_core.scss +78 -0
- package/styles/skeleton/_token-utils.scss +30 -0
- package/styles/skeleton/index.scss +6 -0
- package/styles/skeleton/skeleton.scss +55 -4
- package/styles/slider/_core.scss +1 -1
- package/styles/stack/_core.scss +29 -0
- package/styles/stack/_token-utils.scss +30 -0
- package/styles/stack/stack.scss +38 -12
- package/styles/switch/_core.scss +1 -1
- package/styles/text-field/_core.scss +5 -12
- package/styles/text-field/index.scss +6 -0
- package/styles/text-field/text-field.scss +14 -5
- package/styles/theme/_theme-dark.scss +6 -3
- package/styles/toolbar/_core.scss +73 -0
- package/styles/toolbar/_token-utils.scss +30 -0
- package/styles/toolbar/index.scss +6 -0
- package/styles/toolbar/toolbar.scss +64 -17
- package/styles/tooltip/_core.scss +1 -0
- package/styles/utils/_mixins-container.scss +38 -0
- package/dist/esm/chunks/chunk.2AVJJJNS.js +0 -7
- package/dist/esm/chunks/chunk.2AVJJJNS.js.map +0 -7
- package/dist/esm/chunks/chunk.2UVBQKJI.js +0 -7
- package/dist/esm/chunks/chunk.2UVBQKJI.js.map +0 -7
- package/dist/esm/chunks/chunk.3WT7HPA7.js +0 -12
- package/dist/esm/chunks/chunk.3WT7HPA7.js.map +0 -7
- package/dist/esm/chunks/chunk.4EBFMRTJ.js +0 -7
- package/dist/esm/chunks/chunk.4SP42UG3.js +0 -7
- package/dist/esm/chunks/chunk.5BQT3E7Y.js +0 -7
- package/dist/esm/chunks/chunk.5BQT3E7Y.js.map +0 -7
- package/dist/esm/chunks/chunk.5NHGVUVR.js +0 -7
- package/dist/esm/chunks/chunk.5PNJOQDZ.js +0 -7
- package/dist/esm/chunks/chunk.5PNJOQDZ.js.map +0 -7
- package/dist/esm/chunks/chunk.6P4G73VL.js +0 -7
- package/dist/esm/chunks/chunk.6P4G73VL.js.map +0 -7
- package/dist/esm/chunks/chunk.7AE3ATT3.js +0 -7
- package/dist/esm/chunks/chunk.7AE3ATT3.js.map +0 -7
- package/dist/esm/chunks/chunk.AXBMJBED.js +0 -7
- package/dist/esm/chunks/chunk.DYBD4IRT.js +0 -7
- package/dist/esm/chunks/chunk.EWT2PBEP.js +0 -7
- package/dist/esm/chunks/chunk.F2327OUE.js +0 -7
- package/dist/esm/chunks/chunk.F2327OUE.js.map +0 -7
- package/dist/esm/chunks/chunk.FXDHZCID.js +0 -7
- package/dist/esm/chunks/chunk.FZC3WXSY.js +0 -7
- package/dist/esm/chunks/chunk.FZC3WXSY.js.map +0 -7
- package/dist/esm/chunks/chunk.GYGIU62J.js +0 -7
- package/dist/esm/chunks/chunk.GYGIU62J.js.map +0 -7
- package/dist/esm/chunks/chunk.IE42X2LV.js +0 -7
- package/dist/esm/chunks/chunk.IE42X2LV.js.map +0 -7
- package/dist/esm/chunks/chunk.JBQXD3FJ.js +0 -7
- package/dist/esm/chunks/chunk.JBQXD3FJ.js.map +0 -7
- package/dist/esm/chunks/chunk.JLDKNU5Q.js +0 -7
- package/dist/esm/chunks/chunk.JLDKNU5Q.js.map +0 -7
- package/dist/esm/chunks/chunk.JO6GPIMF.js +0 -7
- package/dist/esm/chunks/chunk.JO6GPIMF.js.map +0 -7
- package/dist/esm/chunks/chunk.JUXSSZ3B.js +0 -7
- package/dist/esm/chunks/chunk.LEN33O6V.js +0 -7
- package/dist/esm/chunks/chunk.LEN33O6V.js.map +0 -7
- package/dist/esm/chunks/chunk.N2DHFDXD.js +0 -7
- package/dist/esm/chunks/chunk.N2DHFDXD.js.map +0 -7
- package/dist/esm/chunks/chunk.NSKIEZWE.js +0 -7
- package/dist/esm/chunks/chunk.NY3N6KUZ.js +0 -7
- package/dist/esm/chunks/chunk.NY3N6KUZ.js.map +0 -7
- package/dist/esm/chunks/chunk.O5HBMTSZ.js +0 -7
- package/dist/esm/chunks/chunk.O5HBMTSZ.js.map +0 -7
- package/dist/esm/chunks/chunk.OJFSECZE.js +0 -7
- package/dist/esm/chunks/chunk.OR5GB6X3.js +0 -7
- package/dist/esm/chunks/chunk.OWYOZF53.js +0 -7
- package/dist/esm/chunks/chunk.OWYOZF53.js.map +0 -7
- package/dist/esm/chunks/chunk.OXGCNOUY.js +0 -7
- package/dist/esm/chunks/chunk.PZAL7VQF.js +0 -7
- package/dist/esm/chunks/chunk.PZAL7VQF.js.map +0 -7
- package/dist/esm/chunks/chunk.QIMAHW7V.js +0 -7
- package/dist/esm/chunks/chunk.RB435MRJ.js +0 -7
- package/dist/esm/chunks/chunk.RB435MRJ.js.map +0 -7
- package/dist/esm/chunks/chunk.RBG6AMLV.js +0 -7
- package/dist/esm/chunks/chunk.RBG6AMLV.js.map +0 -7
- package/dist/esm/chunks/chunk.RCYIHHYO.js +0 -7
- package/dist/esm/chunks/chunk.RCYIHHYO.js.map +0 -7
- package/dist/esm/chunks/chunk.RLOZYTNN.js +0 -7
- package/dist/esm/chunks/chunk.RLOZYTNN.js.map +0 -7
- package/dist/esm/chunks/chunk.RN634NOB.js +0 -7
- package/dist/esm/chunks/chunk.RQ3RHGLB.js +0 -7
- package/dist/esm/chunks/chunk.RQ3RHGLB.js.map +0 -7
- package/dist/esm/chunks/chunk.S2KPWTRW.js +0 -7
- package/dist/esm/chunks/chunk.S2KPWTRW.js.map +0 -7
- package/dist/esm/chunks/chunk.TPXXHX5J.js +0 -7
- package/dist/esm/chunks/chunk.TPXXHX5J.js.map +0 -7
- package/dist/esm/chunks/chunk.UCIVBX64.js +0 -7
- package/dist/esm/chunks/chunk.UCIVBX64.js.map +0 -7
- package/dist/esm/chunks/chunk.VGKNQYHG.js +0 -7
- package/dist/esm/chunks/chunk.VGKNQYHG.js.map +0 -7
- package/dist/esm/chunks/chunk.VN7JOJVU.js +0 -7
- package/dist/esm/chunks/chunk.VNFATHAQ.js +0 -7
- package/dist/esm/chunks/chunk.VNFATHAQ.js.map +0 -7
- package/dist/esm/chunks/chunk.VRTR7WMN.js +0 -7
- package/dist/esm/chunks/chunk.VRTR7WMN.js.map +0 -7
- package/dist/esm/chunks/chunk.WXFJYCGO.js +0 -7
- package/dist/esm/chunks/chunk.WXFJYCGO.js.map +0 -7
- package/dist/esm/chunks/chunk.Y7ZZ7HDC.js +0 -7
- package/dist/esm/chunks/chunk.YTBNAGLS.js +0 -7
- package/dist/esm/chunks/chunk.ZY3ETQ3D.js +0 -7
- package/dist/esm/chunks/chunk.ZY3ETQ3D.js.map +0 -7
- package/dist/esm/product-icon/index.js +0 -7
- package/esm/chips/chip-set/chip-set-adapter.d.ts +0 -27
- package/esm/chips/chip-set/chip-set-adapter.js +0 -57
- package/esm/chips/chip-set/chip-set-foundation.d.ts +0 -38
- package/esm/chips/chip-set/chip-set-foundation.js +0 -82
- package/esm/product-icon/index.d.ts +0 -10
- package/esm/product-icon/index.js +0 -14
- package/esm/product-icon/product-icon-adapter.d.ts +0 -27
- package/esm/product-icon/product-icon-adapter.js +0 -50
- package/esm/product-icon/product-icon-constants.d.ts +0 -38
- package/esm/product-icon/product-icon-constants.js +0 -46
- package/esm/product-icon/product-icon-foundation.d.ts +0 -40
- package/esm/product-icon/product-icon-foundation.js +0 -116
- package/esm/product-icon/product-icon.d.ts +0 -37
- package/esm/product-icon/product-icon.js +0 -70
- package/styles/button-area/_mixins.scss +0 -47
- package/styles/chips/chip/_mixins.scss +0 -306
- package/styles/chips/chip/_variables.scss +0 -8
- package/styles/chips/chip-set/_mixins.scss +0 -40
- package/styles/divider/_mixins.scss +0 -47
- package/styles/file-picker/_mixins.scss +0 -155
- package/styles/file-picker/_variables.scss +0 -8
- package/styles/page-state/_mixins.scss +0 -123
- package/styles/page-state/_variables.scss +0 -9
- package/styles/product-icon/_mixins.scss +0 -49
- package/styles/product-icon/product-icon.scss +0 -16
- package/styles/skeleton/_mixins.scss +0 -132
- package/styles/skeleton/_variables.scss +0 -45
- package/styles/stack/_mixins.scss +0 -49
- package/styles/text-field/_base.scss +0 -76
- package/styles/text-field/_mixins.scss +0 -28
- package/styles/text-field/_selector.scss +0 -57
- package/styles/text-field/_variables.scss +0 -20
- package/styles/toolbar/_mixins.scss +0 -78
- package/styles/toolbar/_variables.scss +0 -10
- /package/dist/esm/chunks/{chunk.WJ26N3FC.js.map → chunk.22C7GQLX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CPD4RUF2.js.map → chunk.24MZM3AY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.O6WN2UP6.js.map → chunk.2537XOFQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KZMXTOLO.js.map → chunk.2AM2BKEO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KD4DVSJR.js.map → chunk.2WRAXA3H.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZYYPOLIG.js.map → chunk.2XPAYTK4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OJFSECZE.js.map → chunk.3L77JY5H.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MBXBM6UI.js.map → chunk.47U6GVGZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.UYAP5GFT.js.map → chunk.5A34DJLZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GAHE4QVB.js.map → chunk.5S7XNYRQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DOAQODLZ.js.map → chunk.6XLTVIUD.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4YKLCBP2.js.map → chunk.7IJUN75W.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.66RZ2CUB.js.map → chunk.A4UH52SA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KIQZLNDG.js.map → chunk.AN2E2SSN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.XH63INIK.js.map → chunk.AOSBUJWW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CLODJYSW.js.map → chunk.BSV27GU7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FOQH2SSU.js.map → chunk.CBLUXYH2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.L7BSLZCB.js.map → chunk.CIUPY66Y.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OUIWXKO2.js.map → chunk.CSOKFDFQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YLJTJKN4.js.map → chunk.EO3HELQ2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RKG66YKS.js.map → chunk.FBDRM4YN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GAQ3POUT.js.map → chunk.FOSKVNVV.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Z7JF5PPO.js.map → chunk.FRTSXX33.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.253H47GA.js.map → chunk.G2HRYIIZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.D7L2IMHJ.js.map → chunk.GA6AO6FJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YOKBWEXF.js.map → chunk.GBGGUYTE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CISGGM56.js.map → chunk.GTKYO6VB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.STIZCKQA.js.map → chunk.HBAC6E7O.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WM6ZUVDR.js.map → chunk.IM36A2ZI.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YHIHHGMQ.js.map → chunk.IWVAI6XM.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.J5MWS2KZ.js.map → chunk.IZRURH7C.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.E7TIN4JS.js.map → chunk.JLSFTWPE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HP4333ZN.js.map → chunk.JSTCCUKZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AXBMJBED.js.map → chunk.KDUH2DUE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.M7RYU4HQ.js.map → chunk.LKA5HQQY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IC4DLKE3.js.map → chunk.MC3UAHWS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DYBD4IRT.js.map → chunk.MPUP6QAP.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KPNGLSCU.js.map → chunk.N632SJ7X.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WJLHVUHN.js.map → chunk.O56VP4OZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ULZJYWM2.js.map → chunk.OFXSMOV6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SWDOKJUF.js.map → chunk.OY3TG55O.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IO3A5OM6.js.map → chunk.PXRGQHWR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FXDHZCID.js.map → chunk.QKYCMDLB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WINWKU4K.js.map → chunk.QUWEAFGI.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.LNMQ5A25.js.map → chunk.R3AWIPPK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KYACLC66.js.map → chunk.R66CYS27.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.V7HN24VV.js.map → chunk.RFCIELJM.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OR5GB6X3.js.map → chunk.SOKORSUV.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GDKJ4RZX.js.map → chunk.STSAE2XP.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CJUX3PL5.js.map → chunk.SWKKDBO6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QQUSMJIM.js.map → chunk.UEYPCCFG.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.F3FWXBDS.js.map → chunk.VBJ4WUVH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.U7S4DJTU.js.map → chunk.WBCQTZPS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NSKIEZWE.js.map → chunk.WBI34ZVP.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SZETPZGY.js.map → chunk.WTUXAH7Z.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YTBNAGLS.js.map → chunk.XU3YSZPA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5JSCGQ7H.js.map → chunk.YS5JZHJ6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QXZ3AAXD.js.map → chunk.YXHMD73U.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.6DPDC4ON.js.map → chunk.Z6GRWPPN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4JEBLMI3.js.map → chunk.ZLNI2M3F.js.map} +0 -0
- /package/dist/esm/{product-icon → field-next/base}/index.js.map +0 -0
- /package/dist/esm/{chunks/chunk.SKLCDWYQ.js.map → field-next/index.js.map} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/time-picker/time-picker-constants.ts", "../../src/time-picker/time-picker-adapter.ts", "../../src/time-picker/time-picker-utils.ts", "../../src/time-picker/time-picker-foundation.ts", "../../src/time-picker/time-picker.ts", "../../src/time-picker/time-picker-component-delegate.ts", "../../src/time-picker/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { IListDropdownOption } from '../list-dropdown/list-dropdown-constants';\nimport IMask, { Masked, InputMask } from 'imask';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}time-picker`;\n\nconst attributes = {\n TOGGLE: 'forge-time-picker-toggle',\n VALUE: 'value',\n OPEN: 'open',\n ALLOW_SECONDS: 'allow-seconds',\n MASKED: 'masked',\n SHOW_MASK_FORMAT: 'show-mask-format',\n USE_24_HOUR_TIME: 'use-24-hour-time',\n ALLOW_INVALID_TIME: 'allow-invalid-time',\n MIN: 'min',\n MAX: 'max',\n START_TIME: 'start-time',\n STEP: 'step',\n ALLOW_INPUT: 'allow-input',\n SHOW_NOW: 'show-now',\n SHOW_HOUR_OPTIONS: 'show-hour-options',\n DISABLED: 'disabled',\n POPUP_CLASSES: 'popup-classes',\n ALLOW_DROPDOWN: 'allow-dropdown'\n};\n\nconst selectors = {\n INPUT: 'input, input[forge-time-picker-input]',\n TOGGLE: `[${attributes.TOGGLE}]`\n};\n\nconst events = {\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n INPUT: `${elementName}-input`,\n CHANGE: `${elementName}-change`\n};\n\nconst numbers = {\n DEFAULT_MINUTE_STEP: 60,\n MAX_DAY_MILLIS: 86400000,\n MAX_DAY_MINUTES: 1440\n};\n\nexport const TIME_PICKER_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n events,\n numbers\n};\n\nexport type TimePickerValidationCallback = (time: string) => boolean;\nexport type TimePickerParseCallback = (time: string) => number | null;\nexport type TimePickerFormatCallback = (value: number | null) => string;\nexport type TimePickerCustomOptionCallback<T> = (value: T, use24HourTime: boolean, allowSeconds: boolean) => number;\nexport type TimePickerCoercionCallback = (rawValue: string, coercedValue: string, allowSeconds: boolean) => string;\nexport type TimePickerPrepareMaskCallback = (value: string, masked: Masked<string>, flags: IMask.AppendFlags, maskInstance: InputMask<IMask.AnyMaskedOptions>) => string;\n\nexport interface ITimePickerOption<T = any> extends IListDropdownOption<T> {\n toMilliseconds: TimePickerCustomOptionCallback<T>;\n}\nexport interface ITimePickerOptionValue {\n time: number | null;\n metadata?: any;\n isCustom?: boolean;\n customCallback?: TimePickerCustomOptionCallback<any>;\n}\n", "import { getShadowElement, emitEvent, getActiveElement, toggleAttribute } from '@tylertech/forge-core';\nimport { ITimePickerComponent } from './time-picker';\nimport { BaseAdapter } from '../core';\nimport { TIME_PICKER_CONSTANTS } from './time-picker-constants';\nimport { ITimeInputMaskOptions, TimeInputMask } from '../core/mask/time-input-mask';\nimport { TEXT_FIELD_CONSTANTS, ITextFieldComponent } from '../text-field';\nimport { ICON_BUTTON_CONSTANTS, IIconButtonComponent } from '../icon-button';\nimport { ICON_CONSTANTS, IIconComponent } from '../icon';\nimport { IListDropdownConfig, IListDropdownOption } from '../list-dropdown/list-dropdown-constants';\nimport { IListDropdown, ListDropdown } from '../list-dropdown';\n\nexport interface ITimePickerAdapter extends BaseAdapter<ITimePickerComponent> {\n initialize(): void;\n initializeMask(options: ITimeInputMaskOptions): void;\n destroy(): void;\n destroyMask(): void;\n initializeAccessibility(identifier: string): void;\n addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n removeInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n addToggleListener(type: string, listener: (event: Event) => void): void;\n removeToggleListener(type: string, listener: (event: Event) => void): void;\n hasInputElement(): boolean;\n tryCreateToggle(): void;\n tryFocusInput(): void;\n tryBlurInput(): void;\n selectInputText(): void;\n getInputValue(): string;\n setInputValue(value: string, emitEvents: boolean): void;\n isInputDisabled(): boolean;\n isInputFocused(): boolean;\n setDisabled(isDisabled: boolean): void;\n attachDropdown(config: IListDropdownConfig): void;\n detachDropdown(): void;\n setActiveDescendant(id: string): void;\n propagateKey(key: string): void;\n getTargetElementWidth(selector: string): number;\n emitInputEvent(type: string, data?: any): void;\n setInputReadonly(value: boolean): void;\n setToggleDisabled(value: boolean): void;\n hasActiveOption(): boolean;\n activateOptionByIndex(index: number): void;\n activateFirstOption(): void;\n getActiveOption(): IListDropdownOption | undefined;\n}\n\nexport class TimePickerAdapter extends BaseAdapter<ITimePickerComponent> implements ITimePickerAdapter {\n private _inputElement: HTMLInputElement;\n private _toggleElement?: HTMLElement;\n private _inputMask?: TimeInputMask;\n private _listDropdown?: IListDropdown;\n private _targetElement?: HTMLElement;\n\n constructor(component: ITimePickerComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._inputElement = this._component.querySelector(TIME_PICKER_CONSTANTS.selectors.INPUT) as HTMLInputElement;\n }\n\n public initializeMask(options: ITimeInputMaskOptions): void {\n this.destroyMask();\n this._inputMask = new TimeInputMask(this._inputElement, options);\n }\n\n public destroy(): void {\n this._targetElement = undefined;\n this._toggleElement = undefined as any;\n this._inputElement = undefined as any;\n }\n\n public destroyMask(): void {\n this._inputMask?.destroy();\n this._inputMask = undefined;\n }\n\n public initializeAccessibility(identifier: string): void {\n this._inputElement.setAttribute('autocomplete', 'off');\n this._inputElement.setAttribute('autocorrect', 'off');\n this._inputElement.setAttribute('autocapitalize', 'off');\n this._inputElement.setAttribute('spellcheck', 'false');\n this._inputElement.setAttribute('role', 'combobox');\n this._inputElement.setAttribute('aria-live', 'assertive');\n this._inputElement.setAttribute('aria-atomic', 'true');\n this._inputElement.setAttribute('aria-haspopup', 'true');\n this._inputElement.setAttribute('aria-expanded', 'false');\n }\n\n public addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void {\n this._inputElement.addEventListener(type, listener, { capture });\n }\n\n public removeInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void {\n if (this._inputElement) {\n this._inputElement.removeEventListener(type, listener, { capture });\n }\n }\n\n public addToggleListener(type: string, listener: (event: Event) => void): void {\n if (this._toggleElement) {\n this._toggleElement.addEventListener(type, listener);\n }\n }\n\n public removeToggleListener(type: string, listener: (event: Event) => void): void {\n if (this._toggleElement) {\n this._toggleElement.removeEventListener(type, listener);\n }\n }\n\n public hasInputElement(): boolean {\n return !!this._inputElement;\n }\n\n public tryCreateToggle(): void {\n const textField = this._component.querySelector(TEXT_FIELD_CONSTANTS.elementName) as ITextFieldComponent;\n const toggleElement = this._component.querySelector(TIME_PICKER_CONSTANTS.selectors.TOGGLE);\n if (textField) {\n const existingIconButton = textField.querySelector(`${ICON_BUTTON_CONSTANTS.elementName}[slot=trailing]`);\n if (existingIconButton || toggleElement) {\n this._toggleElement = (existingIconButton || toggleElement) as IIconButtonComponent;\n return;\n }\n\n const iconButtonElement = document.createElement(ICON_BUTTON_CONSTANTS.elementName) as IIconButtonComponent;\n iconButtonElement.slot = 'trailing';\n iconButtonElement.density = 'medium';\n iconButtonElement.type = 'button';\n iconButtonElement.tabIndex = -1;\n iconButtonElement.style.marginRight = '4px'; // Override default trailing slot margin in text-field\n iconButtonElement.setAttribute('aria-label', 'Toggle time dropdown');\n\n const iconElement = document.createElement(ICON_CONSTANTS.elementName) as IIconComponent;\n iconElement.name = 'clock_outline';\n iconButtonElement.appendChild(iconElement);\n\n textField.appendChild(iconButtonElement);\n this._toggleElement = iconButtonElement;\n } else if (toggleElement) {\n this._toggleElement = toggleElement as HTMLElement;\n }\n }\n\n public tryFocusInput(): void {\n this._inputElement.select();\n }\n\n public tryBlurInput(): void {\n this._inputElement.blur();\n }\n\n public selectInputText(): void {\n this._inputElement.select();\n }\n\n public isInputDisabled(): boolean {\n return this._inputElement.disabled;\n }\n\n public isInputFocused(): boolean {\n const activeElement = getActiveElement(this._component.ownerDocument);\n return activeElement === this._inputElement;\n }\n\n public setInputValue(value: string, emitEvents: boolean): void {\n if (this._inputElement.value === value) {\n return;\n }\n\n this._inputElement.value = value;\n\n if (this._inputMask) {\n this._inputMask.update();\n }\n\n if (emitEvents) {\n this._emitInputEvent('change');\n this._emitInputEvent('input');\n }\n }\n\n public getInputValue(): string {\n return this._inputMask ? this._inputMask.maskedValue : this._inputElement.value;\n }\n\n public setDisabled(isDisabled: boolean): void {\n this._inputElement.disabled = isDisabled;\n this._inputElement.setAttribute('aria-disabled', isDisabled.toString());\n this.setToggleDisabled(isDisabled);\n }\n\n public attachDropdown(config: IListDropdownConfig): void {\n this._listDropdown = new ListDropdown(this._inputElement, config);\n this._listDropdown.open();\n this._inputElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n }\n \n public detachDropdown(): void {\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n this._inputElement.removeAttribute('aria-controls');\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public setActiveDescendant(id: string): void {\n toggleAttribute(this._inputElement, !!id, 'aria-activedescendant', id);\n }\n\n public getTargetElementWidth(selector: string): number {\n const targetElement = this._getTargetElement(selector);\n return targetElement.getBoundingClientRect().width;\n }\n\n private _emitInputEvent(type: string): void {\n this._inputElement.dispatchEvent(new Event(type));\n }\n\n public emitInputEvent(type: string, data?: any): void {\n emitEvent(this._inputElement, type, data);\n }\n\n public setInputReadonly(value: boolean): void {\n this._inputElement.readOnly = value;\n }\n\n public setToggleDisabled(value: boolean): void {\n if (this._toggleElement) {\n this._toggleElement.setAttribute('aria-disabled', value.toString());\n if ('disabled' in this._toggleElement) {\n (this._toggleElement as HTMLButtonElement).disabled = value;\n } else {\n const button = this._toggleElement.querySelector('button') as HTMLButtonElement;\n if (button) {\n button.disabled = value;\n }\n }\n }\n }\n\n public hasActiveOption(): boolean {\n return (this._listDropdown?.getActiveOptionIndex() ?? -1) >= 0;\n }\n\n public activateOptionByIndex(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public getActiveOption(): IListDropdownOption | undefined {\n return this._listDropdown?.getActiveOption();\n }\n\n private _getTargetElement(selector?: string): HTMLElement {\n if (this._targetElement) {\n return this._targetElement;\n }\n this._targetElement = selector ? this._component.querySelector(selector) as HTMLElement || this._getDefaultTargetElement() : this._getDefaultTargetElement();\n return this._targetElement;\n }\n\n private _getDefaultTargetElement(): HTMLElement {\n // This component is often used with the text-field, if so, let's target our popup around one if its internal elements for proper alignnment\n const textField = this._component.querySelector(TEXT_FIELD_CONSTANTS.elementName) as HTMLElement;\n if (textField && textField.shadowRoot) {\n const textFieldRoot = getShadowElement(textField, TEXT_FIELD_CONSTANTS.selectors.ROOT) as HTMLElement;\n if (textFieldRoot) {\n return textFieldRoot;\n }\n }\n return this._component; // Otherwise we just use the time-picker host as the target\n }\n}\n", "import { tokenize24HourTimeString, tokenize12HourTimeString, TWENTY_FOUR_HOUR_TIME_REGEX, TWELVE_HOUR_TIME_REGEX } from '../core/utils/time-utils';\n\nexport function timeStringToMillis(time: string | null, use24HourTime: boolean, allowSeconds: boolean): number | null {\n if (!time || /^\\s*$/.test(time)) {\n return null;\n }\n\n let hours = 0;\n let minutes = 0;\n let seconds = 0;\n\n if (TWENTY_FOUR_HOUR_TIME_REGEX.test(time)) {\n const tokens = tokenize24HourTimeString(time);\n hours = +tokens.hours || 0;\n minutes = +tokens.minutes || 0;\n seconds = +tokens.seconds || 0;\n } else if (TWELVE_HOUR_TIME_REGEX.test(time)) {\n const tokens = tokenize12HourTimeString(time);\n hours = +tokens.hours || 0;\n minutes = +tokens.minutes || 0;\n seconds = +tokens.seconds || 0;\n if (hours === 12 && tokens.meridiem === 'AM') {\n hours = 0;\n }\n if (hours < 12 && tokens.meridiem === 'PM') {\n hours += 12;\n }\n } else {\n return null;\n }\n\n return hoursToMillis(hours) + minutesToMillis(minutes) + (allowSeconds ? secondsToMillis(seconds) : 0);\n}\n\nexport function millisToTimeString(value: number | null | undefined, use24HourTime: boolean, allowSeconds: boolean): string | null {\n if (typeof value !== 'number' || value < 0) {\n return null;\n }\n\n let hours = Math.min(millisToHours(value), 23);\n const minutes = Math.min(millisToMinutesClamped(value), 59);\n const totalMinutes = value / (1000 * 60);\n const meridiem = totalMinutes < 720 ? 'AM' : 'PM';\n\n if (!use24HourTime) {\n hours = hours <= 12 ? hours : hours - 12;\n if (hours === 0) {\n hours = 12;\n }\n }\n\n let time = `${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}`;\n\n if (allowSeconds) {\n const seconds = Math.min(millisToSecondsClamped(value), 59);\n time += `:${String(seconds).padStart(2, '0')}`;\n }\n\n if (!use24HourTime) {\n time += ` ${meridiem}`;\n }\n\n return time;\n}\n\nexport function millisToHours(millis: number): number {\n return Math.abs(Math.floor(millis / (1000 * 60 * 60)));\n}\n\nexport function millisToMinutesClamped(millis: number): number {\n return Math.abs(Math.floor(millisToMinutes(millis) % 60));\n}\n\nexport function millisToMinutes(millis: number): number {\n return millis / (1000 * 60);\n}\n\nexport function millisToSecondsClamped(millis: number): number {\n return Math.abs(Math.floor(millisToSeconds(millis) % 60));\n}\n\nexport function millisToSeconds(millis: number): number {\n return millis / 1000;\n}\n\nexport function hoursToMillis(hours: number): number {\n return hours * 60 * 60 * 1000;\n}\n\nexport function minutesToMillis(minutes: number): number {\n return minutes * 60 * 1000;\n}\n\nexport function secondsToMillis(seconds: number): number {\n return seconds * 1000;\n}\n\nexport function stripSecondsFromMillis(millis: number): number {\n return millis - secondsToMillis(millisToSecondsClamped(millis));\n}\n\nexport function getCurrentTimeOfDayMillis(allowSeconds: boolean): number {\n const date = new Date();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n return hoursToMillis(hours) + minutesToMillis(minutes) + (allowSeconds ? secondsToMillis(date.getSeconds()) : 0);\n}\n\n/**\n * Combines a `Date` object with a 24-hour time string from the time-picker component.\n * @param date The `Date` object to adjust.\n * @param time The 24-hour time string.\n * @param useSeconds If your 24-hour time string contains seconds, set this to `true`.\n * @returns The same `Date` object that was provided, with the newly adjusted time.\n */\nexport function mergeDateWithTime(date: Date, time: string, useSeconds = false): Date {\n if (!date) {\n date = new Date();\n }\n\n const millis = timeStringToMillis(time, true, useSeconds);\n if (!millis) {\n date.setHours(0, 0, 0);\n return date;\n }\n\n let hours = millisToHours(millis);\n \n const twentyThreeHoursInMillis = 82800000;\n if (hours > twentyThreeHoursInMillis) {\n hours = twentyThreeHoursInMillis;\n } else if (hours < 0) {\n hours = 0;\n }\n\n const minutes = millisToMinutesClamped(millis);\n const seconds = useSeconds ? millisToSecondsClamped(millis) : 0;\n date.setHours(hours, minutes, seconds);\n\n return date;\n}\n", "import { ICustomElementFoundation, Platform, debounce, randomChars } from '@tylertech/forge-core';\nimport { ITimePickerAdapter } from './time-picker-adapter';\nimport { ITimeInputMaskOptions } from '../core/mask/time-input-mask';\nimport { isSupportedTimeFormat, TWENTY_FOUR_HOUR_TIME_REGEX, tryCoerceTimeString } from '../core/utils/time-utils';\nimport {\n TIME_PICKER_CONSTANTS,\n ITimePickerOptionValue,\n ITimePickerOption,\n TimePickerValidationCallback,\n TimePickerParseCallback,\n TimePickerFormatCallback,\n TimePickerCoercionCallback,\n TimePickerPrepareMaskCallback\n} from './time-picker-constants';\nimport { IListDropdownConfig, ListDropdownType, IListDropdownOption } from '../list-dropdown/list-dropdown-constants';\nimport { timeStringToMillis, millisToTimeString, minutesToMillis, getCurrentTimeOfDayMillis, millisToMinutes, stripSecondsFromMillis } from './time-picker-utils';\n\nexport interface ITimePickerFoundation extends ICustomElementFoundation {\n value: string | null | undefined;\n open: boolean;\n allowSeconds: boolean;\n masked: boolean;\n showMaskFormat: boolean;\n use24HourTime: boolean;\n allowInvalidTime: boolean;\n min: string | null | undefined;\n max: string | null | undefined;\n restrictedTimes: string[];\n startTime: string | null | undefined;\n step: number;\n allowInput: boolean;\n showNow: boolean;\n showHourOptions: boolean;\n customOptions: ITimePickerOption[];\n validationCallback: TimePickerValidationCallback;\n parseCallback: TimePickerParseCallback;\n formatCallback: TimePickerFormatCallback;\n coercionCallback: TimePickerCoercionCallback;\n prepareMaskCallback: TimePickerPrepareMaskCallback;\n disabled: boolean;\n popupClasses: string | string[];\n allowDropdown: boolean;\n}\n\nexport class TimePickerFoundation implements ITimePickerFoundation {\n // State vars\n private _value?: number | null = null;\n private _masked = true;\n private _use24HourTime = false;\n private _showMaskFormat = false;\n private _min?: number | null = null;\n private _max?: number | null = null;\n private _restrictedTimes: number[] = [];\n private _startTime?: number | null = null;\n private _step = TIME_PICKER_CONSTANTS.numbers.DEFAULT_MINUTE_STEP;\n private _allowInput = true;\n private _identifier: string;\n private _open = false;\n private _allowSeconds = false;\n private _allowInvalidTime = false;\n private _popupTarget: string;\n private _showNow = false;\n private _showHourOptions = true;\n private _customOptions: ITimePickerOption[] = [];\n private _validationCallback: TimePickerValidationCallback;\n private _parseCallback: TimePickerParseCallback;\n private _formatCallback: TimePickerFormatCallback;\n private _coercionCallback: TimePickerCoercionCallback;\n private _prepareMaskCallback: TimePickerPrepareMaskCallback;\n private _disabled = false;\n private _popupClasses: string[] = [];\n private _allowDropdown = true;\n \n // Internal state vars\n private _isInitialized = false;\n private _dropdownConfig: IListDropdownConfig<ITimePickerOptionValue> | undefined;\n\n // Listeners\n private _inputListener: (evt: Event) => void;\n private _inputKeydownListener: (evt: KeyboardEvent) => void;\n private _toggleMousedownListener: (evt: MouseEvent) => void;\n private _inputFocusListener: (evt: Event) => void;\n private _inputBlurListener: (evt: Event) => void;\n private _inputMousedownListener: (evt: MouseEvent) => void;\n \n constructor(private _adapter: ITimePickerAdapter) {\n this._identifier = randomChars(); // This is a unique identifier for this instance of the time picker (used for a11y purposes)\n\n // Set up listeners\n this._inputListener = evt => this._onInput(evt);\n this._inputKeydownListener = evt => this._onInputKeydown(evt);\n this._toggleMousedownListener = evt => this._onToggleMousedown(evt);\n this._inputFocusListener = evt => this._onInputFocus(evt);\n this._inputBlurListener = evt => this._onInputBlur(evt);\n this._inputMousedownListener = evt => this._onInputMousedown(evt);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n \n // We require an input element to be a child of this component\n if (!this._adapter.hasInputElement()) {\n throw new Error('Unable to locate <input> element to attach to.');\n }\n\n this._adapter.initializeAccessibility(this._identifier);\n\n // Detect if a value already exists in the input and set our values based on that\n if (!this._value) {\n const inputValue = this._adapter.getInputValue();\n this._setValue(this._convertTimeStringToMillis(inputValue, this._use24HourTime, this._allowSeconds));\n }\n\n // Attach required listeners\n this._adapter.addInputListener('focus', this._inputFocusListener);\n this._adapter.addInputListener('blur', this._inputBlurListener);\n this._adapter.addInputListener('keydown', this._inputKeydownListener, true);\n\n // Ensure our input has the correct time format (make sure not to emit input events manually at this point)\n this._formatInputValue(false);\n\n // Apply our state\n if (typeof this._value === 'number') {\n this._applyValue(this._value, false);\n }\n this._applyAllowInput();\n this._applyAllowDropdown();\n this._applyDisabled();\n this._applyMask();\n\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n\n // Remove listeners\n this._adapter.removeInputListener('input', this._inputListener);\n this._adapter.removeInputListener('focus', this._inputFocusListener);\n this._adapter.removeInputListener('blur', this._inputBlurListener);\n this._adapter.removeToggleListener('mousedown', this._toggleMousedownListener);\n this._adapter.removeInputListener('keydown', this._inputKeydownListener, true);\n\n // If we are using an input mask, let's destroy that now\n if (this._masked) {\n this._adapter.destroyMask();\n }\n\n // Ensure we remove our dropdown\n this._closeDropdown();\n\n // Cleanup any resources used in the adapter\n this._adapter.destroy();\n }\n\n /** Called when the input mask changes or the `input` event occurs on our `<input>` element. */\n private _onInput(evt: Event): void {\n this._handleInput(this._adapter.getInputValue());\n }\n\n private _onInputKeydown(evt: KeyboardEvent): void {\n if (evt.shiftKey) {\n switch (evt.code) {\n case 'Backspace':\n case 'Delete':\n evt.preventDefault();\n const result = this._trySetValue(null);\n if (result) {\n this._formatInputValue();\n }\n return;\n }\n }\n\n switch (evt.code) {\n case 'Tab':\n if (this._open) {\n this._selectActiveOption();\n }\n break;\n case 'Esc':\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n evt.stopPropagation();\n this._closeDropdown(true);\n }\n break;\n case 'Down':\n case 'ArrowDown':\n if (this._allowDropdown) {\n evt.preventDefault();\n if (!this._open) {\n this._openDropdown();\n if (typeof this._dropdownConfig?.visibleStartIndex === 'number' && this._dropdownConfig.visibleStartIndex >= 0) {\n this._adapter.activateOptionByIndex(this._dropdownConfig?.visibleStartIndex);\n } else {\n this._adapter.activateFirstOption();\n }\n // TODO: Should we cycle the hours, minutes, seconds, or meridiem where the cursor is instead of opening the dropdown?\n } else {\n if (!this._adapter.hasActiveOption()) {\n this._trySetActiveOption();\n } else {\n this._adapter.propagateKey(evt.code);\n }\n }\n }\n break;\n case 'ArrowUp':\n if (this._allowDropdown) {\n evt.preventDefault();\n if (this._open) {\n if (!this._adapter.hasActiveOption()) {\n this._trySetActiveOption();\n } else {\n this._adapter.propagateKey(evt.code);\n }\n } else {\n // TODO: cycle the hours, minutes, seconds, or meridiem where the cursor is\n }\n }\n break;\n case 'Enter':\n case 'NumpadEnter':\n case 'Home':\n case 'End':\n if (this._open) {\n if (evt.code === 'Enter' || evt.code === 'NumpadEnter') {\n evt.stopPropagation();\n }\n evt.preventDefault();\n this._adapter.propagateKey(evt.code);\n }\n break;\n case 'KeyN':\n evt.preventDefault();\n const nowMillis = getCurrentTimeOfDayMillis(this._allowSeconds);\n if (this._value !== nowMillis) {\n const timeString = millisToTimeString(nowMillis, true, this._allowSeconds);\n const canContinue = this._emitChangeEvent(timeString);\n if (canContinue) {\n this._applyValue(nowMillis);\n this._selectInputText();\n }\n }\n break;\n }\n }\n\n private _trySetActiveOption(): void {\n if (!this._adapter.hasActiveOption() && typeof this._dropdownConfig?.visibleStartIndex === 'number' && this._dropdownConfig.visibleStartIndex >= 0) {\n this._adapter.activateOptionByIndex(this._dropdownConfig?.visibleStartIndex);\n }\n }\n\n private _selectActiveOption(): void {\n const activeOption = this._adapter.getActiveOption();\n if (activeOption) {\n this._onSelect(activeOption.value);\n }\n }\n\n private _onToggleMousedown(evt: Event): void {\n if (this._disabled || !this.allowDropdown) {\n return;\n }\n\n evt.stopPropagation();\n\n if (this._adapter.isInputDisabled()) {\n return;\n }\n\n evt.preventDefault();\n\n if (this._open) {\n this._closeDropdown(true);\n } else {\n if (!Platform.isMobile) {\n this._adapter.tryFocusInput();\n } else {\n this._adapter.tryBlurInput();\n }\n this._openDropdown();\n }\n }\n\n private _onInputFocus(evt: Event): void {\n if (this.masked && this._showMaskFormat) {\n this._applyMask();\n }\n\n if (this._allowInput) {\n this._adapter.selectInputText();\n }\n }\n\n private _onInputBlur(evt: Event): void {\n if (this.masked && this._showMaskFormat) {\n this._applyMask();\n }\n\n this._formatInputValue();\n\n if (this._open && !this._adapter.isInputFocused()) {\n this._closeDropdown(true);\n }\n }\n\n private _onInputMousedown(evt: MouseEvent): void {\n if (!this._allowInput && !this._open) {\n this._openDropdown();\n this._adapter.tryFocusInput();\n window.requestAnimationFrame(() => this._adapter.selectInputText());\n }\n }\n\n private _applyDisabled(): void {\n this._adapter.setDisabled(this._disabled);\n }\n\n private _applyMask(): void {\n if (this._masked && this._allowInput) {\n this._adapter.destroyMask();\n const options: ITimeInputMaskOptions = {\n showMaskFormat: this._showMaskFormat && this._adapter.isInputFocused(),\n use24HourTime: this._use24HourTime,\n showSeconds: this._allowSeconds,\n prepareCallback: this._prepareMaskCallback,\n onChange: debounce((value: string) => this._handleInput(value), 0, true) // debounce this to avoid multiple callbacks for same value\n };\n this._adapter.initializeMask(options);\n } else {\n this._adapter.destroyMask();\n this._formatInputValue();\n }\n }\n\n private _applyAllowInput(): void {\n this._adapter.setInputReadonly(!this._allowInput);\n if (this._allowInput) {\n this._adapter.removeInputListener('mousedown', this._inputMousedownListener);\n // If not using an input mask we need to attach our own `input` listener, otherwise\n // we use the mask to notify us of changes\n if (!this._masked) {\n this._adapter.addInputListener('input', this._inputListener);\n }\n } else {\n this._adapter.addInputListener('mousedown', this._inputMousedownListener);\n this._adapter.removeInputListener('input', this._inputListener);\n }\n }\n\n private _applyAllowDropdown(): void {\n this._adapter.setToggleDisabled(!this._allowDropdown);\n if (this._allowDropdown) {\n this._adapter.removeToggleListener('mousedown', this._toggleMousedownListener);\n this._adapter.tryCreateToggle();\n this._adapter.addToggleListener('mousedown', this._toggleMousedownListener);\n } else if (this._open) {\n this._closeDropdown(true);\n }\n }\n\n private _applyAllowSeconds(): void {\n const originalValue = this._value;\n if (!this._allowSeconds) {\n // If we are not using seconds, we need to remove our seconds from the value\n if (typeof this._value !== 'number') {\n return;\n }\n\n this._setValue(stripSecondsFromMillis(this._value));\n\n if (this._isInitialized && originalValue !== this._value) {\n // We need to emit a change event with our new value which does not include the seconds\n const timeString = millisToTimeString(this._value, true, false);\n this._emitChangeEvent(timeString);\n }\n } else if (this._isInitialized && originalValue !== this._value) {\n // We need to emit a change event with our new value which includes the seconds\n const timeString = millisToTimeString(this._value, true, true);\n this._emitChangeEvent(timeString);\n }\n }\n\n private _handleInput(value: string): void {\n const rawValue = value;\n\n if (!this._allowInput) {\n return;\n }\n\n if (this._open) {\n this._closeDropdown(true);\n }\n\n // Let's attempt to coerce our time string into a known format to help with ease of entry\n value = tryCoerceTimeString(value, this._use24HourTime, this._allowSeconds);\n\n // If we were provided a custom coercion callback then we need to call that now to perform any further coercion by the consumer\n if (typeof this._coercionCallback === 'function') {\n value = this._coercionCallback.call(null, rawValue, value, this._allowSeconds);\n }\n\n // Validate the time format and make sure it's supported\n if (!this._isValidTimeFormat(value)) {\n value = '';\n }\n\n // Convert the time string to milliseconds\n let millis: number | null | undefined;\n if (!this._masked && typeof this._parseCallback === 'function') {\n millis = this._parseCallback.call(null, value);\n } else {\n millis = this._convertTimeStringToMillis(value, this._use24HourTime, this._allowSeconds);\n }\n\n // Validate that our time can be chosen as a valid value\n millis = this._validateMillis(millis);\n\n // Update our value\n this._trySetValue(millis);\n }\n\n private _emitChangeEvent(value: string | null, force = false): boolean {\n return this._adapter.emitHostEvent(TIME_PICKER_CONSTANTS.events.CHANGE, value, true, !force);\n }\n\n private _trySetValue(millis: number | null | undefined): boolean {\n // If our value hasn't changed, we can just return\n if (millis === this._value) {\n return false;\n }\n\n // Convert our milliseconds to a 24-hour time string to use as our normalized value\n const timeString = millisToTimeString(millis, true, this._allowSeconds);\n\n // Dispatch our custom input event to let consumers know raw input occurred (before our change event)\n this._adapter.emitInputEvent(TIME_PICKER_CONSTANTS.events.INPUT, timeString);\n\n // Only emit our change event if the value is different\n if (this._value !== millis) {\n const canContinue = this._emitChangeEvent(timeString);\n if (canContinue) {\n this._setValue(millis);\n return true;\n }\n }\n\n return false;\n }\n\n private _setValue(value: number | null | undefined): void {\n this._value = this._normalizeTimeValue(value);\n }\n\n private _validateMillis(millis: number | null | undefined): number | null | undefined {\n // Trap for min/max validation\n if (typeof millis === 'number') {\n const isBelowMin = typeof this._min === 'number' && millis < this._min;\n const isAboveMax = typeof this._max === 'number' && millis > this._max;\n if (isBelowMin || isAboveMax) {\n millis = null;\n }\n }\n \n // Trap for restricted times\n if (typeof millis === 'number' && this._restrictedTimes.length) {\n if (this._restrictedTimes.includes(millis)) {\n millis = null;\n }\n }\n\n return millis;\n }\n\n private _isValidTimeFormat(value: string): boolean {\n if (!this._masked && typeof this._validationCallback === 'function') {\n return this._validationCallback.call(this, value);\n }\n return isSupportedTimeFormat(value);\n }\n\n private _isValidInputValue(value: string): boolean {\n return TWENTY_FOUR_HOUR_TIME_REGEX.test(value);\n }\n\n private _onSelect(value: ITimePickerOptionValue): void {\n this._closeDropdown(true);\n\n // Check if the \"Now\" option was selected\n if (!value.isCustom && value.metadata === 'now') {\n value.time = getCurrentTimeOfDayMillis(this._allowSeconds);\n }\n\n // Check if this is a custom option, and then call the provided callback for it\n if (value.isCustom) {\n if (typeof value.customCallback === 'function') {\n const result = value.customCallback.call(null, value.metadata);\n if (typeof result !== 'number') {\n throw new Error('Custom options must provide a time of day value in milliseconds.');\n }\n value.time = result;\n } else {\n throw new Error('You must implement a `toMilliseconds` callback that returns the time value to use for this custom option.');\n }\n }\n\n // Make sure the time is different than what is already populated or we can just return\n if (this._value === value.time) {\n return;\n }\n\n // Emit the change event\n const timeString = millisToTimeString(value.time, true, this._allowSeconds);\n const canContinue = this._emitChangeEvent(timeString);\n if (!canContinue) {\n return;\n }\n\n // This will update our state and the UI at once\n this._applyValue(value.time);\n\n // Select full input text\n this._selectInputText();\n }\n\n private _selectInputText(): void {\n // We need to select the text of the input in the next cycle to allow time for the UI to update\n // with the selected text (assuming it still has focus)\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n if (this._adapter.isInputFocused()) {\n this._adapter.selectInputText();\n }\n });\n });\n }\n\n private _applyValue(value: number | null | undefined, emitEvents = true): void {\n this._setValue(value);\n const formattedValue = this._formatValue(this._value);\n if (this._adapter.getInputValue() !== formattedValue) {\n this._adapter.setInputValue(formattedValue, emitEvents);\n }\n }\n\n private _normalizeTimeValue(value: number | null | undefined): number | null {\n if (value == null) {\n return null;\n } else if (value < 0) {\n return 0;\n } else if (value > TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MILLIS) {\n return TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MILLIS;\n }\n return value;\n }\n\n private _openDropdown(): void {\n const options = this._generateTimeOptions();\n\n if (!this.allowDropdown || !options.length) {\n return;\n }\n \n this._formatInputValue();\n this._open = true;\n this._adapter.setHostAttribute(TIME_PICKER_CONSTANTS.attributes.OPEN);\n \n const selectableOptions = options.filter(o => !o.divider && !o.disabled);\n let selectedValues: ITimePickerOptionValue[] = [];\n let visibleStartIndex = 0;\n \n // Find closest match in list of time options and activate/select it\n if (options.length) {\n if (this._value != null) {\n const optionIndex = this._findClosestOptionIndex(this._value, selectableOptions);\n if (optionIndex >= 0) {\n const isExactMatch = selectableOptions[optionIndex].value.time === this._value;\n if (isExactMatch) {\n selectedValues = [selectableOptions[optionIndex].value];\n } else {\n visibleStartIndex = optionIndex;\n }\n }\n } else if (typeof this._startTime === 'number') {\n const optionIndex = this._findClosestOptionIndex(this._startTime, selectableOptions);\n if (optionIndex >= 0 && optionIndex < selectableOptions.length) {\n visibleStartIndex = optionIndex;\n }\n } else if (this._startTime == null) {\n // If we don't have a start time set then let's scroll the closest time to current time into view\n visibleStartIndex = this._getOptionIndexClosestCurrent(selectableOptions);\n }\n }\n\n this._dropdownConfig = {\n id: `forge-time-picker-${this._identifier}`,\n selectedValues,\n syncWidth: true,\n visibleStartIndex,\n popupClasses: this._popupClasses,\n popupStatic: true,\n type: ListDropdownType.Standard,\n options,\n selectCallback: value => this._onSelect(value),\n closeCallback: () => this._closeDropdown(true),\n activeChangeCallback: id => this._adapter.setActiveDescendant(id),\n targetWidthCallback: () => this._adapter.getTargetElementWidth(this._popupTarget)\n };\n this._adapter.attachDropdown(this._dropdownConfig);\n this._adapter.emitHostEvent(TIME_PICKER_CONSTANTS.events.OPEN, undefined, false);\n }\n\n private _closeDropdown(emitCloseEvent = false): void {\n this._open = false;\n this._dropdownConfig = undefined;\n this._adapter.removeHostAttribute(TIME_PICKER_CONSTANTS.attributes.OPEN);\n this._adapter.detachDropdown();\n if (emitCloseEvent) {\n this._adapter.emitHostEvent(TIME_PICKER_CONSTANTS.events.CLOSE, true, false);\n }\n }\n\n private _getOptionIndexClosestCurrent(options: IListDropdownOption<ITimePickerOptionValue>[]): number {\n const date = new Date();\n const currentTimeString = `${String(date.getHours()).padStart(2, '0')}:${String(date.getMinutes()).padStart(2, '0')}`;\n const currentTimeMillis = timeStringToMillis(currentTimeString, true, false) as number;\n return this._findClosestOptionIndex(currentTimeMillis, options);\n }\n\n private _findClosestOptionIndex(value: number, options: Array<IListDropdownOption<ITimePickerOptionValue>>): number {\n const closestItem = options.reduce((prev, curr) => {\n return Math.abs((curr.value.time || 0) - value) < Math.abs((prev.value.time || 0) - value) ? curr : prev;\n });\n return options.indexOf(closestItem);\n }\n\n private _formatInputValue(emitEvents = true): void {\n const inputValue = this._adapter.getInputValue();\n \n // If we allow invalid times, we can leave the input value as-is (only when unmasked)\n if (this._allowInvalidTime && !this._masked && inputValue && !this._value) {\n return;\n }\n\n const formattedValue = this._formatValue(this._value);\n \n if (inputValue !== formattedValue) {\n this._adapter.setInputValue(formattedValue, emitEvents);\n this._adapter.emitInputEvent(TIME_PICKER_CONSTANTS.events.INPUT, formattedValue);\n }\n }\n\n private _generateTimeOptions(): Array<IListDropdownOption<ITimePickerOptionValue>> {\n const minMinutes = this._min != null ? Math.max(millisToMinutes(this._min), 0) : 0;\n const maxMinutes = this._max != null ? Math.min(millisToMinutes(this._max), TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MINUTES) : TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MINUTES;\n const minuteStep = this._step;\n const times: IListDropdownOption[] = [];\n let leadingOptions: IListDropdownOption[] = [];\n \n if (this._showHourOptions) {\n for (let totalMinutes = minMinutes; totalMinutes <= maxMinutes; totalMinutes += minuteStep) {\n if (totalMinutes === TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MINUTES) {\n break;\n }\n const millis = minutesToMillis(totalMinutes);\n const disabled = this._restrictedTimes.includes(millis);\n const label = millisToTimeString(millis, this._use24HourTime, false) || '';\n const value: ITimePickerOptionValue = { time: millis };\n times.push({ label, value, disabled });\n }\n\n // Add divider between AM/PM times\n const firstPmIndex = times.findIndex(t => t.value.time / 1000 / 60 >= 720);\n if (firstPmIndex >= 0 && firstPmIndex < times.length - 1) {\n times.splice(firstPmIndex, 0, { label: '', value: null, divider: true });\n }\n }\n\n\n // Check if we need to prepend a \"Now\" option\n if (this._showNow) {\n const value: ITimePickerOptionValue = { time: null, metadata: 'now' };\n leadingOptions.push({ label: 'Now', value });\n }\n\n // Check for any custom provided options to prepend\n if (Array.isArray(this._customOptions) && this._customOptions.length) {\n const options = this._customOptions.map(o => {\n const value: ITimePickerOptionValue = { time: null, metadata: o.value, isCustom: true, customCallback: o.toMilliseconds };\n return { label: o.label, value };\n });\n leadingOptions = [...leadingOptions, ...options];\n }\n\n // Append all leading options\n if (leadingOptions.length) {\n if (times.length) {\n times.splice(0, 0, { label: '', value: null, divider: true });\n }\n leadingOptions.forEach((o, index) => times.splice(index, 0, o));\n }\n\n return times;\n }\n\n private _convertTimeStringToMillis(value: string | null, use24HourTime: boolean, allowSeconds: boolean): number | null {\n if (!value || !this._isValidTimeFormat(value)) {\n value = '';\n }\n return timeStringToMillis(value, use24HourTime, allowSeconds);\n }\n\n private _formatValue(value: number | null | undefined): string {\n if (!this._masked && typeof this._formatCallback === 'function') {\n return this._formatCallback.call(null, value, this._use24HourTime, this._allowSeconds);\n }\n return millisToTimeString(this._value, this._use24HourTime, this._allowSeconds) || '';\n }\n\n private _warnInvalidFormat(value: string): void {\n console.warn(`The specified value \"${value}\" does not conform to the required format. The format is \"HH:mm\", \"HH:mm:ss\" where HH is 00-23, mm is 00-59, and ss is 00-59.`);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n if (this._isInitialized) {\n this._open = value;\n if (this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n }\n\n public get masked(): boolean {\n return this._masked;\n }\n public set masked(value: boolean) {\n if (this._masked !== value) {\n this._masked = value;\n if (this._isInitialized) {\n if (this._masked) {\n this._adapter.removeInputListener('input', this._inputListener);\n this._applyMask();\n } else {\n this._adapter.destroyMask();\n this._formatInputValue();\n this._adapter.addInputListener('input', this._inputListener);\n }\n }\n }\n }\n\n public get showMaskFormat(): boolean {\n return this._showMaskFormat;\n }\n public set showMaskFormat(value: boolean) {\n if (this._showMaskFormat !== value) {\n this._showMaskFormat = value;\n }\n }\n\n public get allowSeconds(): boolean {\n return this._allowSeconds;\n }\n public set allowSeconds(value: boolean) {\n if (this._allowSeconds !== value) {\n this._allowSeconds = !!value;\n this._applyAllowSeconds();\n\n if (this._isInitialized) {\n this._applyMask();\n this._formatInputValue();\n }\n\n this._adapter.setHostAttribute(TIME_PICKER_CONSTANTS.attributes.ALLOW_SECONDS, `${!!value}`);\n }\n }\n\n public get use24HourTime(): boolean {\n return this._use24HourTime;\n }\n public set use24HourTime(value: boolean) {\n if (this._use24HourTime !== value) {\n this._use24HourTime = !!value;\n \n if (this._isInitialized) {\n this._applyMask();\n this._formatInputValue();\n }\n\n this._adapter.setHostAttribute(TIME_PICKER_CONSTANTS.attributes.USE_24_HOUR_TIME, `${!!value}`);\n }\n }\n\n public get allowInvalidTime(): boolean {\n return this._allowInvalidTime;\n }\n public set allowInvalidTime(value: boolean) {\n if (this._allowInvalidTime !== value) {\n this._allowInvalidTime = !!value;\n this._adapter.setHostAttribute(TIME_PICKER_CONSTANTS.attributes.ALLOW_INVALID_TIME, `${!!value}`);\n }\n }\n\n public get value(): string | null {\n return millisToTimeString(this._value, true, this._allowSeconds);\n }\n public set value(value: string | null) {\n if (value && !this._isValidInputValue(value)) {\n this._warnInvalidFormat(value);\n return;\n }\n const millis = this._validateMillis(this._convertTimeStringToMillis(value, true, true));\n this._setValue(millis);\n if (this._isInitialized) {\n this._applyValue(this._value);\n }\n }\n\n public get min(): string | null {\n return millisToTimeString(this._min, true, this._allowSeconds);\n }\n public set min(value: string | null) {\n if (this._min !== value) {\n if (value && !this._isValidInputValue(value)) {\n this._warnInvalidFormat(value);\n return;\n }\n this._min = this._convertTimeStringToMillis(value, true, this._allowSeconds);\n\n // Validate and reset our millis to ensure within range\n const millis = this._validateMillis(this._value);\n this._setValue(millis);\n\n if (this._isInitialized) {\n this._applyValue(millis);\n }\n }\n }\n\n public get max(): string | null {\n return millisToTimeString(this._max, true, this._allowSeconds);\n }\n public set max(value: string | null) {\n if (this._max !== value) {\n if (value && !this._isValidInputValue(value)) {\n this._warnInvalidFormat(value);\n return;\n }\n this._max = this._convertTimeStringToMillis(value, true, this._allowSeconds);\n \n // Validate and reset our millis to ensure within range\n const millis = this._validateMillis(this._value);\n this._setValue(millis);\n\n if (this._isInitialized) {\n this._applyValue(millis);\n }\n }\n }\n\n public get restrictedTimes(): string[] {\n return this._restrictedTimes\n .map(t => millisToTimeString(t, true, this._allowSeconds))\n .filter(v => typeof v === 'string') as string[];\n }\n public set restrictedTimes(value: string[]) {\n if (!Array.isArray(value)) {\n value = [];\n }\n this._restrictedTimes = value\n .filter(v => typeof v === 'string')\n .map(v => this._convertTimeStringToMillis(v, true, true))\n .filter(v => typeof v === 'number') as number[];\n }\n\n public get startTime(): string | null {\n return millisToTimeString(this._startTime, true, this._allowSeconds);\n }\n public set startTime(value: string | null) {\n if (this._startTime !== value) {\n if (value && !this._isValidInputValue(value)) {\n this._warnInvalidFormat(value);\n return;\n }\n this._startTime = this._convertTimeStringToMillis(value, true, this._allowSeconds);\n }\n }\n\n public get step(): number {\n return this._step;\n }\n public set step(value: number) {\n this._step = value;\n }\n\n public get allowInput(): boolean {\n return this._allowInput;\n }\n public set allowInput(value: boolean) {\n if (this._allowInput !== value) {\n this._allowInput = value;\n if (this._isInitialized) {\n this._applyAllowInput();\n this._applyMask();\n }\n }\n }\n\n public get popupTarget(): string {\n return this._popupTarget;\n }\n public set popupTarget(value: string) {\n if (this._popupTarget !== value) {\n this._popupTarget = value;\n }\n }\n\n public get showNow(): boolean {\n return this._showNow;\n }\n public set showNow(value: boolean) {\n if (this._showNow !== value) {\n this._showNow = value;\n }\n }\n\n public get showHourOptions(): boolean {\n return this._showHourOptions;\n }\n public set showHourOptions(value: boolean) {\n if (this._showHourOptions !== value) {\n this._showHourOptions = value;\n }\n }\n\n public get customOptions(): ITimePickerOption[] {\n return this._customOptions;\n }\n public set customOptions(value: ITimePickerOption[]) {\n this._customOptions = Array.isArray(value) ? value : [];\n }\n\n public set validationCallback(cb: TimePickerValidationCallback) {\n this._validationCallback = cb;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n\n public set parseCallback(cb: TimePickerParseCallback) {\n this._parseCallback = cb;\n }\n\n public set formatCallback(cb: TimePickerFormatCallback) {\n this._formatCallback = cb;\n }\n\n public set coercionCallback(cb: TimePickerCoercionCallback) {\n this._coercionCallback = cb;\n }\n\n public set prepareMaskCallback(cb: TimePickerPrepareMaskCallback) {\n this._prepareMaskCallback = cb;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = !!value;\n if (this._isInitialized) {\n this._applyDisabled();\n }\n this._adapter.toggleHostAttribute(TIME_PICKER_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get popupClasses(): string | string[] {\n if (Array.isArray(this._popupClasses)) {\n return [...this._popupClasses];\n }\n\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[]) {\n if (Array.isArray(value)) {\n this._popupClasses = [...value];\n } else {\n this._popupClasses = [value];\n }\n }\n\n public get allowDropdown(): boolean {\n return this._allowDropdown;\n }\n public set allowDropdown(value: boolean) {\n if (this._allowDropdown !== value) {\n this._allowDropdown = value;\n if (this._isInitialized) {\n this._applyAllowDropdown();\n }\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean, coerceNumber, ensureChild } from '@tylertech/forge-core';\nimport { tylIconClockOutline } from '@tylertech/tyler-icons/extended';\nimport { tylIconClose } from '@tylertech/tyler-icons/standard';\nimport { TimePickerAdapter } from './time-picker-adapter';\nimport { TimePickerFoundation } from './time-picker-foundation';\nimport {\n TIME_PICKER_CONSTANTS,\n ITimePickerOption,\n TimePickerParseCallback,\n TimePickerValidationCallback,\n TimePickerFormatCallback,\n TimePickerCoercionCallback,\n TimePickerPrepareMaskCallback\n} from './time-picker-constants';\nimport { IconRegistry, IconComponent } from '../icon';\nimport { IconButtonComponent } from '../icon-button';\nimport { PopupComponent } from '../popup';\nimport { DialogComponent } from '../dialog';\nimport { ListComponent, ListItemComponent } from '../list';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:block}:host([hidden]){display:none}';\n\nexport interface ITimePickerComponent extends IBaseComponent {\n value: string | null | undefined;\n open: boolean;\n allowSeconds: boolean;\n masked: boolean;\n showMaskFormat: boolean;\n use24HourTime: boolean;\n allowInvalidTime: boolean;\n min: string | null | undefined;\n max: string | null | undefined;\n restrictedTimes: string[];\n startTime: string | null | undefined;\n step: number;\n allowInput: boolean;\n showNow: boolean;\n showHourOptions: boolean;\n customOptions: ITimePickerOption[];\n validationCallback: TimePickerValidationCallback;\n parseCallback: TimePickerParseCallback;\n formatCallback: TimePickerFormatCallback;\n coercionCallback: TimePickerCoercionCallback;\n prepareMaskCallback: TimePickerPrepareMaskCallback;\n disabled: boolean;\n popupClasses: string | string[];\n allowDropdown: boolean;\n popupTarget: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-time-picker': ITimePickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-time-picker-open': CustomEvent<void>;\n 'forge-time-picker-close': CustomEvent<void>;\n 'forge-time-picker-input': Event;\n 'forge-time-picker-change': CustomEvent<string | null>;\n }\n}\n\n/**\n * The web component class behind the `<forge-time-picker>` custom element.\n * \n * @tag forge-time-picker\n */\n@CustomElement({\n name: TIME_PICKER_CONSTANTS.elementName,\n dependencies: [\n ListComponent,\n ListItemComponent,\n IconButtonComponent,\n IconComponent,\n PopupComponent,\n IconComponent,\n DialogComponent\n ]\n})\nexport class TimePickerComponent extends BaseComponent implements ITimePickerComponent {\n public static get observedAttributes(): string[] {\n return [\n TIME_PICKER_CONSTANTS.attributes.VALUE,\n TIME_PICKER_CONSTANTS.attributes.OPEN,\n TIME_PICKER_CONSTANTS.attributes.ALLOW_SECONDS,\n TIME_PICKER_CONSTANTS.attributes.MASKED,\n TIME_PICKER_CONSTANTS.attributes.SHOW_MASK_FORMAT,\n TIME_PICKER_CONSTANTS.attributes.USE_24_HOUR_TIME,\n TIME_PICKER_CONSTANTS.attributes.ALLOW_INVALID_TIME,\n TIME_PICKER_CONSTANTS.attributes.MIN,\n TIME_PICKER_CONSTANTS.attributes.MAX,\n TIME_PICKER_CONSTANTS.attributes.START_TIME,\n TIME_PICKER_CONSTANTS.attributes.STEP,\n TIME_PICKER_CONSTANTS.attributes.ALLOW_INPUT,\n TIME_PICKER_CONSTANTS.attributes.SHOW_NOW,\n TIME_PICKER_CONSTANTS.attributes.SHOW_HOUR_OPTIONS,\n TIME_PICKER_CONSTANTS.attributes.DISABLED,\n TIME_PICKER_CONSTANTS.attributes.POPUP_CLASSES,\n TIME_PICKER_CONSTANTS.attributes.ALLOW_DROPDOWN\n ];\n }\n\n private _foundation: TimePickerFoundation;\n\n constructor() {\n super();\n IconRegistry.define([tylIconClockOutline, tylIconClose]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new TimePickerFoundation(new TimePickerAdapter(this));\n }\n\n public connectedCallback(): void {\n if (this.querySelector(TIME_PICKER_CONSTANTS.selectors.INPUT)) {\n this._foundation.initialize();\n } else {\n ensureChild(this, TIME_PICKER_CONSTANTS.selectors.INPUT).then(() => this._foundation.initialize());\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case TIME_PICKER_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.ALLOW_SECONDS:\n this.allowSeconds = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.MASKED:\n this.masked = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.SHOW_MASK_FORMAT:\n this.showMaskFormat = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.USE_24_HOUR_TIME:\n this.use24HourTime = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.ALLOW_INVALID_TIME:\n this.allowInvalidTime = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.SHOW_NOW:\n this.showNow = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.SHOW_HOUR_OPTIONS:\n this.showHourOptions = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.MIN:\n this.min = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.MAX:\n this.max = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.START_TIME:\n this.startTime = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.STEP:\n this.step = coerceNumber(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.ALLOW_INPUT:\n this.allowInput = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.POPUP_CLASSES:\n this.popupClasses = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.ALLOW_DROPDOWN:\n this.allowDropdown = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare value: string | null | undefined;\n\n @FoundationProperty()\n public declare open: boolean;\n\n @FoundationProperty()\n public declare allowSeconds: boolean;\n\n @FoundationProperty()\n public declare masked: boolean;\n\n @FoundationProperty()\n public declare showMaskFormat: boolean;\n\n @FoundationProperty()\n public declare use24HourTime: boolean;\n\n @FoundationProperty()\n public declare allowInvalidTime: boolean;\n\n @FoundationProperty()\n public declare min: string | null | undefined;\n\n @FoundationProperty()\n public declare max: string | null | undefined;\n\n @FoundationProperty()\n public declare restrictedTimes: string[];\n\n @FoundationProperty()\n public declare startTime: string | null | undefined;\n\n @FoundationProperty()\n public declare step: number;\n\n @FoundationProperty()\n public declare allowInput: boolean;\n\n @FoundationProperty()\n public declare showNow: boolean;\n\n /** Whether or not to display hour options in dropdown */\n @FoundationProperty()\n public declare showHourOptions: boolean;\n\n @FoundationProperty()\n public declare customOptions: ITimePickerOption[];\n\n @FoundationProperty()\n public declare validationCallback: TimePickerValidationCallback;\n \n @FoundationProperty()\n public declare parseCallback: TimePickerParseCallback;\n\n @FoundationProperty()\n public declare formatCallback: TimePickerFormatCallback;\n\n @FoundationProperty()\n public declare coercionCallback: TimePickerCoercionCallback;\n\n @FoundationProperty()\n public declare prepareMaskCallback: TimePickerPrepareMaskCallback;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare popupClasses: string | string[];\n\n @FoundationProperty()\n public declare allowDropdown: boolean;\n\n @FoundationProperty()\n public declare popupTarget: string;\n}\n", "import { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';\nimport { ITextFieldComponent, ITextFieldComponentDelegateConfig, TextFieldComponentDelegate } from '../text-field';\nimport { ITimePickerComponent } from './time-picker';\nimport { TIME_PICKER_CONSTANTS } from './time-picker-constants';\n\nexport type TimePickerComponentDelegateProps = Partial<ITimePickerComponent>;\nexport interface ITimePickerComponentDelegateOptions extends IFormFieldComponentDelegateOptions {\n textFieldDelegateConfig?: ITextFieldComponentDelegateConfig;\n}\nexport interface ITimePickerComponentDelegateConfig extends IBaseComponentDelegateConfig<ITimePickerComponent, ITimePickerComponentDelegateOptions> {}\n\nexport class TimePickerComponentDelegate extends FormFieldComponentDelegate<ITimePickerComponent, ITimePickerComponentDelegateOptions> {\n private _textFieldDelegate: TextFieldComponentDelegate;\n\n constructor(config?: ITimePickerComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): ITimePickerComponent {\n const timePicker = document.createElement(TIME_PICKER_CONSTANTS.elementName);\n this._attachTextField(timePicker);\n return timePicker;\n }\n\n public get inputElement(): HTMLInputElement {\n return this._textFieldDelegate.inputElement;\n }\n\n public get textFieldElement(): ITextFieldComponent {\n return this._textFieldDelegate.element;\n }\n\n public get value(): any {\n return this._element.value;\n }\n public set value(value: any) {\n this._element.value = value;\n }\n\n public get disabled(): boolean {\n return this._element.disabled;\n }\n public set disabled(value: boolean) {\n this._element.disabled = value;\n }\n\n public get invalid(): boolean {\n return this._textFieldDelegate.invalid || false;\n }\n public set invalid(value: boolean) {\n this._textFieldDelegate.invalid = value;\n }\n\n public onChange(listener: (value: string) => void): void {\n this._element.addEventListener(TIME_PICKER_CONSTANTS.events.CHANGE, (evt: CustomEvent<string>) => listener(evt.detail ?? ''));\n }\n\n public onInput(listener: (value: string) => void): void {\n this._element.addEventListener(TIME_PICKER_CONSTANTS.events.INPUT, (evt: CustomEvent<string>) => listener(evt.detail ?? ''));\n }\n\n public onFocus(listener: (evt: FocusEvent) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('focus', (evt: FocusEvent) => listener(evt));\n }\n\n public onBlur(listener: (evt: FocusEvent) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('blur', (evt: FocusEvent) => listener(evt));\n }\n\n private _attachTextField(component: ITimePickerComponent): void {\n const textFieldConfig: ITextFieldComponentDelegateConfig = {\n props: { ...this._config.options?.textFieldDelegateConfig?.props },\n options: { ...this._config.options?.textFieldDelegateConfig?.options }\n };\n this._textFieldDelegate = new TextFieldComponentDelegate(textFieldConfig);\n component.appendChild(this._textFieldDelegate.element);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { TimePickerComponent } from './time-picker';\n\nexport * from './time-picker-adapter';\nexport * from './time-picker-component-delegate';\nexport * from './time-picker-constants';\nexport * from './time-picker-foundation';\nexport * from './time-picker-utils';\nexport * from './time-picker';\n\nexport function defineTimePickerComponent(): void {\n defineCustomElement(TimePickerComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "events", "numbers", "TIME_PICKER_CONSTANTS", "TimePickerAdapter", "BaseAdapter", "component", "TIME_PICKER_CONSTANTS", "options", "TimeInputMask", "_a", "identifier", "type", "listener", "capture", "textField", "TEXT_FIELD_CONSTANTS", "toggleElement", "existingIconButton", "ICON_BUTTON_CONSTANTS", "iconButtonElement", "iconElement", "ICON_CONSTANTS", "getActiveElement", "value", "emitEvents", "isDisabled", "config", "ListDropdown", "key", "id", "toggleAttribute", "selector", "data", "emitEvent", "button", "_b", "index", "textFieldRoot", "getShadowElement", "timeStringToMillis", "time", "use24HourTime", "allowSeconds", "hours", "minutes", "seconds", "TWENTY_FOUR_HOUR_TIME_REGEX", "tokens", "tokenize24HourTimeString", "TWELVE_HOUR_TIME_REGEX", "tokenize12HourTimeString", "hoursToMillis", "minutesToMillis", "secondsToMillis", "millisToTimeString", "value", "millisToHours", "millisToMinutesClamped", "meridiem", "millisToSecondsClamped", "millis", "millisToMinutes", "millisToSeconds", "stripSecondsFromMillis", "getCurrentTimeOfDayMillis", "date", "mergeDateWithTime", "useSeconds", "twentyThreeHoursInMillis", "TimePickerFoundation", "_adapter", "TIME_PICKER_CONSTANTS", "randomChars", "evt", "inputValue", "_a", "_b", "nowMillis", "getCurrentTimeOfDayMillis", "timeString", "millisToTimeString", "activeOption", "Platform", "options", "debounce", "value", "originalValue", "stripSecondsFromMillis", "rawValue", "tryCoerceTimeString", "millis", "force", "isBelowMin", "isAboveMax", "isSupportedTimeFormat", "TWENTY_FOUR_HOUR_TIME_REGEX", "result", "emitEvents", "formattedValue", "selectableOptions", "selectedValues", "visibleStartIndex", "optionIndex", "id", "emitCloseEvent", "date", "currentTimeString", "currentTimeMillis", "timeStringToMillis", "closestItem", "prev", "curr", "minMinutes", "millisToMinutes", "maxMinutes", "minuteStep", "times", "leadingOptions", "totalMinutes", "minutesToMillis", "disabled", "label", "firstPmIndex", "t", "o", "index", "use24HourTime", "allowSeconds", "v", "cb", "template", "styles", "TimePickerComponent", "BaseComponent", "IconRegistry", "tylIconClockOutline", "tylIconClose", "attachShadowTemplate", "TimePickerFoundation", "TimePickerAdapter", "TIME_PICKER_CONSTANTS", "ensureChild", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "__decorateClass", "FoundationProperty", "CustomElement", "ListComponent", "ListItemComponent", "IconButtonComponent", "IconComponent", "PopupComponent", "DialogComponent", "TimePickerComponentDelegate", "FormFieldComponentDelegate", "config", "timePicker", "TIME_PICKER_CONSTANTS", "value", "listener", "evt", "_a", "component", "_b", "_c", "_d", "textFieldConfig", "__spreadValues", "TextFieldComponentDelegate", "defineTimePickerComponent", "defineCustomElement", "TimePickerComponent"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
-
* License: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import{d as x,e as D}from"./chunk.LNMQ5A25.js";import{a as y}from"./chunk.OUIWXKO2.js";import{a as E}from"./chunk.ZY3ETQ3D.js";import{a as l}from"./chunk.NVUMRW44.js";import{a as b,b as L}from"./chunk.UVXKHQQZ.js";import{a as v,e as f,f as c,k as _}from"./chunk.TPXXHX5J.js";import{k as p,l as u}from"./chunk.J2M2MXP2.js";import{d as s}from"./chunk.M3QDAYD2.js";var C=`${L}file-picker`,I={ACCEPT:"accept",MAX_SIZE:"max-size",CAPTURE:"capture",MULTIPLE:"multiple",DISABLED:"disabled",COMPACT:"compact",BORDERLESS:"borderless"},T={HIGHLIGHT:"highlight",DISABLED:"disabled",COMPACT:"compact",BORDERLESS:"borderless"},S={CONTAINER:"container",BUTTON:"button",INPUT:"input"},A={CONTAINER:"#container",BUTTON:"#button",INPUT:"#input",BUTTON_SLOT:"#button-slot"},P={FILES_CHANGED:`${C}-change`},i={elementName:C,attributes:I,classes:T,ids:S,selectors:A,events:P};var d=class extends E{constructor(e){super(e);this._container=c(e,i.selectors.CONTAINER),this._buttonSlot=c(e,i.selectors.BUTTON_SLOT),this._input=c(e,i.selectors.INPUT),this._inputEventListener=()=>{this._input.value="",this._input.click()},this._container.addEventListener("click",this._inputEventListener)}registerButtonSlotListener(e){this._buttonSlot.addEventListener("slotchange",e)}registerInputChangeListener(e){this._input.addEventListener("change",e)}registerDragEnterListener(e){this._container.addEventListener("dragenter",e)}registerDragLeaveListener(e){this._container.addEventListener("dragleave",e)}registerDragOverListener(e){this._container.addEventListener("dragover",e)}registerDropListener(e){this._container.addEventListener("drop",e)}removeDragEnterListener(e){this._container.removeEventListener("dragenter",e)}removeDragLeaveListener(e){this._container.removeEventListener("dragleave",e)}removeDragOverListener(e){this._container.removeEventListener("dragover",e)}removeDropListener(e){this._container.removeEventListener("drop",e)}initializeButton(){let e=this._component.querySelector("button");this._button=e||void 0}setHighlightState(e){this._container.classList.contains(i.classes.HIGHLIGHT)!==e&&this._container.classList.toggle(i.classes.HIGHLIGHT)}setAccept(e){e?this._input.setAttribute("accept",e):this._input.removeAttribute("accept")}setCapture(e){e?this._input.setAttribute("capture",e):this._input.removeAttribute("capture")}setMultiple(e){e?this._input.setAttribute("multiple",""):this._input.removeAttribute("multiple")}setDisabled(e){var n,o;e?(this._container.removeEventListener("click",this._inputEventListener),(n=this._button)==null||n.setAttribute("disabled",""),this._container.setAttribute("disabled","")):(this._container.addEventListener("click",this._inputEventListener),(o=this._button)==null||o.removeAttribute("disabled"),this._container.removeAttribute("disabled"))}setCompact(e){this._container.classList.contains(i.classes.COMPACT)!==e&&this._container.classList.toggle(i.classes.COMPACT)}setBorderless(e){this._container.classList.contains(i.classes.BORDERLESS)!==e&&this._container.classList.toggle(i.classes.BORDERLESS)}};var g=class{constructor(t){this._adapter=t;this._isInitialized=!1;this._accept=null;this._maxSize=null;this._capture=null;this._multiple=!1;this._disabled=!1;this._compact=!1;this._borderless=!1;this._buttonSlotListener=e=>this._onButtonSlotChanged(e),this._inputChangeListener=e=>this._onInputChange(e),this._dragEnterListener=e=>this._onDragEnter(e),this._dragLeaveListener=e=>this._onDragLeave(e),this._dragOverListener=e=>this._onDragOver(e),this._dropListener=e=>this._onDrop(e),this._adapter.registerButtonSlotListener(this._buttonSlotListener),this._adapter.registerInputChangeListener(this._inputChangeListener),this._compact||this._registerDragListeners()}initialize(){this._adapter.initializeButton(),this._adapter.setDisabled(this._disabled),this._isInitialized=!0}destroy(){this._isInitialized=!1}_onButtonSlotChanged(t){this._adapter.initializeButton()}_onInputChange(t){let e=t.target.files;e&&this._handleFiles(e)}_onDragEnter(t){this._handleDragEvent(t,!0)}_onDragLeave(t){this._handleDragEvent(t,!1)}_onDragOver(t){this._handleDragEvent(t,!0)}_onDrop(t){if(this._handleDragEvent(t,!1),!this._disabled){let e=t.dataTransfer;if(e){let n=e.files;this._handleFiles(n)}}}_registerDragListeners(){this._adapter.registerDragEnterListener(this._dragEnterListener),this._adapter.registerDragLeaveListener(this._dragLeaveListener),this._adapter.registerDragOverListener(this._dragOverListener),this._adapter.registerDropListener(this._dropListener)}_removeDragListeners(){this._adapter.removeDragEnterListener(this._dragEnterListener),this._adapter.removeDragLeaveListener(this._dragLeaveListener),this._adapter.removeDragOverListener(this._dragOverListener),this._adapter.removeDropListener(this._dropListener)}_handleFiles(t){let e={};if(t){let n=this._sortFiles(t),o=n.legalFiles||null;!this._multiple&&o&&o.length>1&&(o=o.splice(1)),e=n}this._adapter.emitHostEvent(i.events.FILES_CHANGED,e)}_sortFiles(t){let e=[],n=[];if(!this._accept&&!this.maxSize)return e=Array.from(t),{legalFiles:e,illegalFiles:n};let o=this._accept?this._accept.split(",").map(r=>r.trim().toLowerCase()):[""];for(let r=0;r<t.length;r++)!o.some(m=>t[r].type.toLowerCase().match(m)||t[r].name.toLowerCase().match("\\"+m))||this._maxSize&&t[r].size>this._maxSize?n.push(t[r]):e.push(t[r]);return{legalFiles:e,illegalFiles:n}}_handleDragEvent(t,e){this._disabled||(t.preventDefault(),t.stopPropagation(),this._adapter.setHighlightState(e))}get accept(){return this._accept}set accept(t){this._accept!==t&&(this._accept=t,this._adapter.setAccept(t),this._adapter.toggleHostAttribute(i.attributes.ACCEPT,!!t,String(t)))}get maxSize(){return this._maxSize}set maxSize(t){this._maxSize!==t&&(this._maxSize=t,this._adapter.toggleHostAttribute(i.attributes.MAX_SIZE,!!t,String(t)))}get capture(){return this._capture}set capture(t){this._capture!==t&&(this._capture=t,this._adapter.setCapture(t),this._adapter.toggleHostAttribute(i.attributes.CAPTURE,!!t,String(t)))}get multiple(){return this._multiple}set multiple(t){this._multiple!==t&&(this._multiple=t,this._adapter.setMultiple(t),this._adapter.toggleHostAttribute(i.attributes.MULTIPLE,t))}get disabled(){return this._disabled}set disabled(t){this._disabled!==t&&(this._disabled=t,this._isInitialized&&this._adapter.setDisabled(t),this._adapter.toggleHostAttribute(i.attributes.DISABLED,t))}get compact(){return this._compact}set compact(t){this._compact!==t&&(this._compact=t,this._adapter.setCompact(t),t?this._removeDragListeners():this._registerDragListeners(),this._adapter.toggleHostAttribute(i.attributes.COMPACT,t))}get borderless(){return this._borderless}set borderless(t){this._borderless!==t&&(this._borderless=t,this._adapter.setBorderless(t),this._adapter.toggleHostAttribute(i.attributes.BORDERLESS,t))}};var F='<template><form class="forge-file-picker" id="container" part="form"><div class="forge-file-picker__primary" id="primary" part="primary"><slot name="primary"></slot></div><slot id="button-slot"></slot><div class="forge-file-picker__secondary" id="secondary" part="secondary"><slot name="secondary"></slot></div><input type="file" class="forge-file-picker__input" id="input" part="input"></form><div class="forge-file-picker__helper-text" part="helper-text-container"><slot name="helper-text"></slot></div></template>',O=".forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker[disabled]{background-color:#fff;background-color:var(--mdc-theme-background,#fff);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee);background-color:rgba(98,0,238,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}",a=class extends _{constructor(){super();f(this,F,O),this._foundation=new g(new d(this))}static get observedAttributes(){return[i.attributes.ACCEPT,i.attributes.MAX_SIZE,i.attributes.CAPTURE,i.attributes.MULTIPLE,i.attributes.DISABLED,i.attributes.COMPACT,i.attributes.BORDERLESS]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,n,o){switch(e){case i.attributes.ACCEPT:this.accept=o;break;case i.attributes.MAX_SIZE:this.maxSize=u(o);break;case i.attributes.CAPTURE:this.capture=o;break;case i.attributes.MULTIPLE:this.multiple=p(o);break;case i.attributes.DISABLED:this.disabled=p(o);break;case i.attributes.COMPACT:this.compact=p(o);break;case i.attributes.BORDERLESS:this.borderless=p(o);break}}};s([l()],a.prototype,"accept",2),s([l()],a.prototype,"maxSize",2),s([l()],a.prototype,"capture",2),s([l()],a.prototype,"multiple",2),s([l()],a.prototype,"disabled",2),s([l()],a.prototype,"compact",2),s([l()],a.prototype,"borderless",2),a=s([b({name:i.elementName,dependencies:[x]})],a);var k=class extends y{constructor(t){super(t)}_build(){return document.createElement(i.elementName)}_configure(){var t,e,n,o;if((t=this._config.options)!=null&&t.primaryText){let r=document.createElement("span");r.slot="primary",r.textContent=this._config.options.primaryText,this._element.appendChild(r)}if((e=this._config.options)!=null&&e.secondaryText){let r=document.createElement("span");r.slot="secondary",r.textContent=this._config.options.secondaryText,this._element.appendChild(r)}if((n=this._config.options)!=null&&n.buttonText&&new D({options:{parent:this._element,text:this._config.options.buttonText},props:{variant:"outlined"}}),(o=this._config.options)!=null&&o.helperText){let r=document.createElement("span");r.slot="helper-text",r.textContent=this._config.options.helperText,this._element.appendChild(r)}}onChange(t){this._element.addEventListener(i.events.FILES_CHANGED,e=>t(e.detail))}};function ce(){v(a)}export{i as a,d as b,g as c,a as d,k as e,ce as f};
|
|
7
|
-
//# sourceMappingURL=chunk.RBG6AMLV.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/file-picker/file-picker-constants.ts", "../../src/file-picker/file-picker-adapter.ts", "../../src/file-picker/file-picker-foundation.ts", "../../src/file-picker/file-picker.ts", "../../src/file-picker/file-picker-component-delegate.ts", "../../src/file-picker/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}file-picker`;\n\nconst attributes = {\n ACCEPT: 'accept',\n MAX_SIZE: 'max-size',\n CAPTURE: 'capture',\n MULTIPLE: 'multiple',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst classes = {\n HIGHLIGHT: 'highlight',\n DISABLED: 'disabled',\n COMPACT: 'compact',\n BORDERLESS: 'borderless'\n};\n\nconst ids = {\n CONTAINER: 'container',\n BUTTON: 'button',\n INPUT: 'input'\n};\n\nconst selectors = {\n CONTAINER: '#container',\n BUTTON: '#button',\n INPUT: '#input',\n BUTTON_SLOT: '#button-slot'\n};\n\nconst events = {\n FILES_CHANGED: `${elementName}-change`\n};\n\nexport const FILE_PICKER_CONSTANTS = {\n elementName,\n attributes,\n classes,\n ids,\n selectors,\n events\n};\n\nexport interface IFilePickerChangeEventData {\n legalFiles?: File[];\n illegalFiles?: File[];\n}\n", "import { getShadowElement, emitEvent } from '@tylertech/forge-core';\n\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS } from './file-picker-constants';\nimport { BaseAdapter, IBaseAdapter } from '../core';\n\nexport interface IFilePickerAdapter extends IBaseAdapter {\n registerButtonSlotListener(listener: (evt: Event) => void): void;\n registerInputChangeListener(listener: (evt: Event) => void): void;\n registerDragEnterListener(listener: (evt: DragEvent) => void): void;\n registerDragLeaveListener(listener: (evt: DragEvent) => void): void;\n registerDragOverListener(listener: (evt: DragEvent) => void): void;\n registerDropListener(listener: (evt: DragEvent) => void): void;\n removeDragEnterListener(listener: (evt: DragEvent) => void): void;\n removeDragLeaveListener(listener: (evt: DragEvent) => void): void;\n removeDragOverListener(listener: (evt: DragEvent) => void): void;\n removeDropListener(listener: (evt: DragEvent) => void): void;\n initializeButton(): void;\n setHighlightState(value: boolean): void;\n setAccept(value: string | null | undefined): void;\n setCapture(value: string | null | undefined): void;\n setMultiple(value: boolean): void;\n setDisabled(value: boolean): void;\n setCompact(value: boolean): void;\n setBorderless(value: boolean): void;\n}\n\nexport class FilePickerAdapter extends BaseAdapter<IFilePickerComponent> implements IFilePickerAdapter {\n private _container: HTMLElement;\n private _buttonSlot: HTMLSlotElement;\n private _button: HTMLButtonElement | undefined;\n private _input: HTMLInputElement;\n private _inputEventListener: () => void;\n\n constructor(component: IFilePickerComponent) {\n super(component);\n\n this._container = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.CONTAINER);\n this._buttonSlot = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.BUTTON_SLOT) as HTMLSlotElement;\n this._input = getShadowElement(component, FILE_PICKER_CONSTANTS.selectors.INPUT) as HTMLInputElement;\n\n this._inputEventListener = () => {\n this._input.value = '';\n this._input.click();\n };\n\n this._container.addEventListener('click', this._inputEventListener);\n }\n\n public registerButtonSlotListener(listener: (evt: Event) => void): void {\n this._buttonSlot.addEventListener('slotchange', listener);\n }\n\n public registerInputChangeListener(listener: (evt: Event) => void): void {\n this._input.addEventListener('change', listener);\n }\n\n public registerDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragenter', listener);\n }\n\n public registerDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragleave', listener);\n }\n\n public registerDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('dragover', listener);\n }\n\n public registerDropListener(listener: (evt: DragEvent) => void): void {\n this._container.addEventListener('drop', listener);\n }\n\n public removeDragEnterListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragenter', listener);\n }\n\n public removeDragLeaveListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragleave', listener);\n }\n\n public removeDragOverListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('dragover', listener);\n }\n\n public removeDropListener(listener: (evt: DragEvent) => void): void {\n this._container.removeEventListener('drop', listener);\n }\n\n public initializeButton(): void {\n const button = this._component.querySelector('button') as HTMLButtonElement;\n this._button = button || undefined;\n }\n\n /**\n * Sets the highlight state of the file picker.\n * @param value True if the highlight should be applied and false if not.\n */\n public setHighlightState(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.HIGHLIGHT);\n }\n }\n\n /**\n * Sets the accept attribute of the input.\n * @param value The accept string.\n */\n public setAccept(value: string | null | undefined): void {\n if (value) {\n this._input.setAttribute('accept', value);\n } else {\n this._input.removeAttribute('accept');\n }\n }\n\n /**\n * Sets the capture attribute of the input.\n * @param value The capture string.\n */\n public setCapture(value: string | null | undefined): void {\n if (value) {\n this._input.setAttribute('capture', value);\n } else {\n this._input.removeAttribute('capture');\n }\n }\n\n /**\n * Sets the multiple attribute of the input.\n * @param value The multiple state.\n */\n public setMultiple(value: boolean): void {\n if (value) {\n this._input.setAttribute('multiple', '');\n } else {\n this._input.removeAttribute('multiple');\n }\n }\n\n /**\n * Sets the disabled state of the file picker.\n * @param value The disabled state.\n */\n public setDisabled(value: boolean): void {\n if (value) {\n this._container.removeEventListener('click', this._inputEventListener);\n this._button?.setAttribute('disabled', '');\n this._container.setAttribute('disabled', '');\n } else {\n this._container.addEventListener('click', this._inputEventListener);\n this._button?.removeAttribute('disabled');\n this._container.removeAttribute('disabled');\n }\n }\n\n /**\n * Sets the compact state of the file picker.\n * @param value The compact state.\n */\n public setCompact(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.COMPACT) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.COMPACT);\n }\n }\n\n /**\n * Sets the borderless state of the file picker.\n * @param value The borderless state.\n */\n public setBorderless(value: boolean): void {\n if (this._container.classList.contains(FILE_PICKER_CONSTANTS.classes.BORDERLESS) !== value) {\n this._container.classList.toggle(FILE_PICKER_CONSTANTS.classes.BORDERLESS);\n }\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IFilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport interface IFilePickerFoundation extends ICustomElementFoundation {\n accept: string | null | undefined;\n maxSize: number | null | undefined;\n capture: string | null | undefined;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\nexport class FilePickerFoundation implements IFilePickerFoundation {\n private _isInitialized = false;\n private _accept: string | null | undefined = null;\n private _maxSize: number | null | undefined = null;\n private _capture: string | null | undefined = null;\n private _multiple = false;\n private _disabled = false;\n private _compact = false;\n private _borderless = false;\n private _buttonSlotListener: (evt: Event) => void;\n private _inputChangeListener: (evt: Event) => void;\n private _dragEnterListener: (evt: DragEvent) => void;\n private _dragLeaveListener: (evt: DragEvent) => void;\n private _dragOverListener: (evt: DragEvent) => void;\n private _dropListener: (evt: DragEvent) => void;\n\n constructor(private _adapter: IFilePickerAdapter) {\n this._buttonSlotListener = evt => this._onButtonSlotChanged(evt);\n this._inputChangeListener = evt => this._onInputChange(evt);\n this._dragEnterListener = evt => this._onDragEnter(evt);\n this._dragLeaveListener = evt => this._onDragLeave(evt);\n this._dragOverListener = evt => this._onDragOver(evt);\n this._dropListener = evt => this._onDrop(evt);\n\n this._adapter.registerButtonSlotListener(this._buttonSlotListener);\n this._adapter.registerInputChangeListener(this._inputChangeListener);\n if (!this._compact) {\n this._registerDragListeners();\n }\n }\n\n public initialize(): void {\n this._adapter.initializeButton();\n this._adapter.setDisabled(this._disabled);\n this._isInitialized = true;\n }\n\n public destroy(): void {\n this._isInitialized = false;\n }\n\n private _onButtonSlotChanged(evt: Event): void {\n this._adapter.initializeButton();\n }\n\n private _onInputChange(evt: Event): void {\n const files = (evt.target as HTMLInputElement).files;\n if (files) {\n this._handleFiles(files);\n }\n }\n\n private _onDragEnter(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDragLeave(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n }\n\n private _onDragOver(evt: DragEvent): void {\n this._handleDragEvent(evt, true);\n }\n\n private _onDrop(evt: DragEvent): void {\n this._handleDragEvent(evt, false);\n\n if (!this._disabled) {\n const dataTransfer = evt.dataTransfer;\n if (dataTransfer) {\n const files = dataTransfer.files;\n this._handleFiles(files);\n }\n }\n }\n\n private _registerDragListeners(): void {\n this._adapter.registerDragEnterListener(this._dragEnterListener);\n this._adapter.registerDragLeaveListener(this._dragLeaveListener);\n this._adapter.registerDragOverListener(this._dragOverListener);\n this._adapter.registerDropListener(this._dropListener);\n }\n\n private _removeDragListeners(): void {\n this._adapter.removeDragEnterListener(this._dragEnterListener);\n this._adapter.removeDragLeaveListener(this._dragLeaveListener);\n this._adapter.removeDragOverListener(this._dragOverListener);\n this._adapter.removeDropListener(this._dropListener);\n }\n\n private _handleFiles(fileList: FileList): void {\n let data: IFilePickerChangeEventData = {};\n if (fileList) {\n const sortedFiles = this._sortFiles(fileList);\n let files = sortedFiles.legalFiles || null;\n\n // Ensure that we can only drop 1 file if not in multiple mode\n if (!this._multiple && files && files.length > 1) {\n files = files.splice(1);\n }\n\n data = sortedFiles;\n }\n this._adapter.emitHostEvent(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, data);\n }\n\n private _sortFiles(files: FileList): IFilePickerChangeEventData {\n let legalFiles: File[] = [];\n const illegalFiles: File[] = [];\n\n if (!this._accept && !this.maxSize) {\n legalFiles = Array.from(files);\n return { legalFiles, illegalFiles };\n }\n\n const formats = this._accept ? this._accept.split(',').map(f => f.trim().toLowerCase()) : [''];\n\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < files.length; i++) {\n if (!formats.some(f => {\n return files[i].type.toLowerCase().match(f) || files[i].name.toLowerCase().match('\\\\' + f);\n }) || (this._maxSize && files[i].size > this._maxSize)) {\n illegalFiles.push(files[i]);\n } else {\n legalFiles.push(files[i]);\n }\n }\n\n return { legalFiles, illegalFiles };\n }\n\n private _handleDragEvent(evt: DragEvent, isOverTarget: boolean): void {\n if (!this._disabled) {\n evt.preventDefault();\n evt.stopPropagation();\n this._adapter.setHighlightState(isOverTarget);\n }\n }\n\n /** Get and set the allowed file types */\n public get accept(): string | null | undefined {\n return this._accept;\n }\n public set accept(value: string | null | undefined) {\n if (this._accept !== value) {\n this._accept = value;\n this._adapter.setAccept(value);\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.ACCEPT, !!value, String(value));\n }\n }\n\n /** Get and set the maximum allowed file size */\n public get maxSize(): number | null | undefined {\n return this._maxSize;\n }\n public set maxSize(value: number | null | undefined) {\n if (this._maxSize !== value) {\n this._maxSize = value;\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.MAX_SIZE, !!value, String(value));\n }\n }\n\n /** Get and set the camera to use when capturing video or images */\n public get capture(): string | null | undefined {\n return this._capture;\n }\n public set capture(value: string | null | undefined) {\n if (this._capture !== value) {\n this._capture = value;\n this._adapter.setCapture(value);\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.CAPTURE, !!value, String(value));\n }\n }\n\n /** Get and set whether multiple files are allowed */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._adapter.setMultiple(value);\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.MULTIPLE, value);\n }\n }\n\n /** Get and set whether the file picker is disabled */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n if (this._isInitialized) {\n this._adapter.setDisabled(value);\n }\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.DISABLED, value);\n }\n }\n\n /** Get and set whether the file picker is compact */\n public get compact(): boolean {\n return this._compact;\n }\n public set compact(value: boolean) {\n if (this._compact !== value) {\n this._compact = value;\n this._adapter.setCompact(value);\n if (value) {\n this._removeDragListeners();\n } else {\n this._registerDragListeners();\n }\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.COMPACT, value);\n }\n }\n\n /** Get and set whether the file picker is borderless */\n public get borderless(): boolean {\n return this._borderless;\n }\n public set borderless(value: boolean) {\n if (this._borderless !== value) {\n this._borderless = value;\n this._adapter.setBorderless(value);\n this._adapter.toggleHostAttribute(FILE_PICKER_CONSTANTS.attributes.BORDERLESS, value);\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { ButtonComponent } from '../button';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { FilePickerAdapter } from './file-picker-adapter';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\nimport { FilePickerFoundation } from './file-picker-foundation';\n\nconst template = '<template><form class=\\\"forge-file-picker\\\" id=\\\"container\\\" part=\\\"form\\\"><div class=\\\"forge-file-picker__primary\\\" id=\\\"primary\\\" part=\\\"primary\\\"><slot name=\\\"primary\\\"></slot></div><slot id=\\\"button-slot\\\"></slot><div class=\\\"forge-file-picker__secondary\\\" id=\\\"secondary\\\" part=\\\"secondary\\\"><slot name=\\\"secondary\\\"></slot></div><input type=\\\"file\\\" class=\\\"forge-file-picker__input\\\" id=\\\"input\\\" part=\\\"input\\\"></form><div class=\\\"forge-file-picker__helper-text\\\" part=\\\"helper-text-container\\\"><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker[disabled]{background-color:#fff;background-color:var(--mdc-theme-background,#fff);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee);background-color:rgba(98,0,238,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}';\n\nexport interface IFilePickerComponent extends IBaseComponent {\n accept: string | null | undefined;\n maxSize: number | null | undefined;\n capture: string | null | undefined;\n multiple: boolean;\n disabled: boolean;\n compact: boolean;\n borderless: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-file-picker': IFilePickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-file-picker-change': CustomEvent<IFilePickerChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-file-picker>` custom element.\n * \n * @tag forge-file-picker\n */\n@CustomElement({\n name: FILE_PICKER_CONSTANTS.elementName,\n dependencies: [ButtonComponent]\n})\nexport class FilePickerComponent extends BaseComponent implements IFilePickerComponent {\n public static get observedAttributes(): string[] {\n return [\n FILE_PICKER_CONSTANTS.attributes.ACCEPT,\n FILE_PICKER_CONSTANTS.attributes.MAX_SIZE,\n FILE_PICKER_CONSTANTS.attributes.CAPTURE,\n FILE_PICKER_CONSTANTS.attributes.MULTIPLE,\n FILE_PICKER_CONSTANTS.attributes.DISABLED,\n FILE_PICKER_CONSTANTS.attributes.COMPACT,\n FILE_PICKER_CONSTANTS.attributes.BORDERLESS\n ];\n }\n\n private _foundation: FilePickerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new FilePickerFoundation(new FilePickerAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FILE_PICKER_CONSTANTS.attributes.ACCEPT:\n this.accept = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MAX_SIZE:\n this.maxSize = coerceNumber(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.CAPTURE:\n this.capture = newValue;\n break;\n case FILE_PICKER_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.COMPACT:\n this.compact = coerceBoolean(newValue);\n break;\n case FILE_PICKER_CONSTANTS.attributes.BORDERLESS:\n this.borderless = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets and sets the allowed file types */\n @FoundationProperty()\n public declare accept: string | null | undefined;\n\n /** Gets and sets the maximum allowed file size */\n @FoundationProperty()\n public declare maxSize: number | null | undefined;\n\n /** Gets and sets the camera to use when capturing video or images */\n @FoundationProperty()\n public declare capture: string | null | undefined;\n\n /** Gets and sets whether multiple files are allowed */\n @FoundationProperty()\n public declare multiple: boolean;\n\n /** Gets and sets whether the file picker is disabled */\n @FoundationProperty()\n public declare disabled: boolean;\n\n /** Gets and sets whether the file picker is compact */\n @FoundationProperty()\n public declare compact: boolean;\n\n /** Gets and sets whether the file picker is borderless */\n @FoundationProperty()\n public declare borderless: boolean;\n}\n", "import { ButtonComponentDelegate } from '../button/button-component-delegate';\nimport { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IFilePickerComponent } from './file-picker';\nimport { FILE_PICKER_CONSTANTS, IFilePickerChangeEventData } from './file-picker-constants';\n\nexport type FilePickerComponentDelegateProps = Partial<IFilePickerComponent>;\nexport interface IFilePickerComponentDelegateOptions extends IBaseComponentDelegateOptions {\n primaryText?: string;\n secondaryText?: string;\n helperText?: string;\n buttonText?: string;\n}\nexport interface IFilePickerComponentDelegateConfig extends IBaseComponentDelegateConfig<IFilePickerComponent, IFilePickerComponentDelegateOptions> {}\n\nexport class FilePickerComponentDelegate extends BaseComponentDelegate<IFilePickerComponent, IFilePickerComponentDelegateOptions> {\n constructor(config?: IFilePickerComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IFilePickerComponent {\n return document.createElement(FILE_PICKER_CONSTANTS.elementName);\n }\n\n protected _configure(): void {\n if (this._config.options?.primaryText) {\n const primarySpan = document.createElement('span');\n primarySpan.slot = 'primary';\n primarySpan.textContent = this._config.options.primaryText;\n this._element.appendChild(primarySpan);\n }\n\n if (this._config.options?.secondaryText) {\n const secondarySpan = document.createElement('span');\n secondarySpan.slot = 'secondary';\n secondarySpan.textContent = this._config.options.secondaryText;\n this._element.appendChild(secondarySpan);\n }\n\n if (this._config.options?.buttonText) {\n new ButtonComponentDelegate({\n options: {\n parent: this._element,\n text: this._config.options.buttonText\n },\n props: { variant: 'outlined' }\n });\n }\n\n if (this._config.options?.helperText) {\n const helperTextSpan = document.createElement('span');\n helperTextSpan.slot = 'helper-text';\n helperTextSpan.textContent = this._config.options.helperText;\n this._element.appendChild(helperTextSpan);\n }\n }\n\n public onChange(cb: (evt: IFilePickerChangeEventData) => void): void {\n this._element.addEventListener(FILE_PICKER_CONSTANTS.events.FILES_CHANGED, (evt: CustomEvent<IFilePickerChangeEventData>) => cb(evt.detail));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { FilePickerComponent } from './file-picker';\n\nexport * from './file-picker-adapter';\nexport * from './file-picker-constants';\nexport * from './file-picker-foundation';\nexport * from './file-picker';\nexport * from './file-picker-component-delegate';\n\nexport function defineFilePickerComponent(): void {\n defineCustomElement(FilePickerComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "ids", "selectors", "events", "FILE_PICKER_CONSTANTS", "FilePickerAdapter", "BaseAdapter", "component", "getShadowElement", "FILE_PICKER_CONSTANTS", "listener", "button", "value", "_a", "_b", "FilePickerFoundation", "_adapter", "evt", "files", "dataTransfer", "fileList", "data", "sortedFiles", "FILE_PICKER_CONSTANTS", "legalFiles", "illegalFiles", "formats", "f", "i", "isOverTarget", "value", "template", "styles", "FilePickerComponent", "BaseComponent", "attachShadowTemplate", "FilePickerFoundation", "FilePickerAdapter", "FILE_PICKER_CONSTANTS", "name", "oldValue", "newValue", "coerceNumber", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "ButtonComponent", "FilePickerComponentDelegate", "BaseComponentDelegate", "config", "FILE_PICKER_CONSTANTS", "_a", "_b", "_c", "_d", "primarySpan", "secondarySpan", "ButtonComponentDelegate", "helperTextSpan", "cb", "evt", "defineFilePickerComponent", "defineCustomElement", "FilePickerComponent"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
-
* License: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import{b as v,c as z}from"./chunk.JPOTN7LL.js";import{f as I}from"./chunk.EWT2PBEP.js";import{a as S,d as F,l as B}from"./chunk.L7BSLZCB.js";import{a as D}from"./chunk.ZY3ETQ3D.js";import{a as p}from"./chunk.NVUMRW44.js";import{a as L,b as h}from"./chunk.UVXKHQQZ.js";import{e as w,f,k as C}from"./chunk.TPXXHX5J.js";import{f as k,g as m,i as l,o as x,t as b,u as s,z as T}from"./chunk.HZUQXCOQ.js";import{k as d}from"./chunk.J2M2MXP2.js";import{a as y,b as E,d as c}from"./chunk.M3QDAYD2.js";var R=`${h}chip-set`,O={VERTICAL:"vertical",TYPE:"type",DENSE:"dense",DISABLED:"disabled"},A={ROOT:"forge-chip-set",VERTICAL:"forge-chip-set--vertical"},H={ROOT:`.${A.ROOT}`},N={elementName:R,attributes:O,classes:A,selectors:H};var n=`${h}chip`,M={TYPE:"type",SELECTED:"selected",VALUE:"value",DISABLED:"disabled",INVALID:"invalid",DENSE:"dense",EMULATE_FOCUS:"emulate-focus"},U={ACTION:"forge-chip--action",CHOICE:"forge-chip--choice",FILTER:"forge-chip--filter",INPUT:"forge-chip--input",FIELD:"forge-chip--field",INVALID:"forge-chip--invalid",SELECTED:"forge-chip--selected",DELETE_BUTTON:"forge-chip__delete-button",DELETE_BUTTON_TOUCH_TARGET:"forge-chip__delete-button__touch-target",DENSE:"forge-chip--dense",DISABLED:"forge-chip--disabled",LEADING_HIDDEN:"forge-chip__leading--hidden"},P={ROOT:".forge-chip",BUTTON:"[role=button]"},V={DELETE:`${n}-delete`,SELECT:`${n}-select`,FOCUS_NEXT:`${n}-focus-next`,FOCUS_PREVIOUS:`${n}-focus-previous`},K={TYPE:"action"},t={elementName:n,attributes:M,classes:U,selectors:P,events:V,defaults:K};var $='<div class="forge-chip__checkmark" aria-hidden="true"><svg class="forge-chip__checkmark-svg" viewBox="-2 -3 30 30"><path class="forge-chip__checkmark-path" fill="none" stroke="black" d="M1.73,12.91 8.1,19.28 22.79,4.59"/></svg></div>',g=class extends D{constructor(e){super(e);this._rootElement=f(this._component,t.selectors.ROOT),this._buttonElement=f(this._component,t.selectors.BUTTON),this._leadingSlotElement=f(this._component,"slot[name=leading]"),this._rootElement.addEventListener("click",r=>{r.target!==this._deleteButton&&this._buttonElement.focus()},{capture:!0})}get root(){return this._rootElement}get unbounded(){return!1}get disabled(){var e;return(e=this._buttonElement)==null?void 0:e.disabled}addRootListener(e,r){this._rootElement.addEventListener(e,r)}removeRootListener(e,r){this._rootElement.removeEventListener(e,r)}addButtonListener(e,r){this._buttonElement.addEventListener(e,r)}removeButtonListener(e,r){this._buttonElement.removeEventListener(e,r)}initializeRipple(){let e=E(y({},v.createAdapter(this)),{registerInteractionHandler:(r,o)=>{["focus","blur","keydown"].includes(r)?this._buttonElement.addEventListener(r,o,{passive:!0}):this._rootElement.addEventListener(r,o,{passive:!0})},deregisterInteractionHandler:(r,o)=>{["focus","blur","keydown"].includes(r)?this._buttonElement.removeEventListener(r,o,{passive:!0}):this._rootElement.removeEventListener(r,o,{passive:!0})},isSurfaceActive:()=>this._buttonElement.matches(":active"),isUnbounded:()=>!!this.unbounded,isSurfaceDisabled:()=>this._buttonElement.disabled,addClass:r=>k(r,this._rootElement),removeClass:r=>m(r,this._rootElement),updateCssVariable:(r,o)=>this._rootElement.style.setProperty(r,o)});return this._rippleInstance=new v(this._rootElement,new z(e)),this._rippleInstance}clearTypeClass(){m([t.classes.ACTION,t.classes.CHOICE,t.classes.FILTER,t.classes.INPUT],this._buttonElement)}addRootClass(e){this._rootElement.classList.add(e)}removeRootClass(e){this._rootElement.classList.remove(e)}setCheckmarkVisibility(e){e?(this._checkmarkElement||(this._checkmarkElement=T($)),this._rootElement.insertBefore(this._checkmarkElement,this._rootElement.firstChild)):this._checkmarkElement&&this._checkmarkElement.isConnected&&l(this._checkmarkElement)}setSelected(e){s(this._rootElement,e,t.classes.SELECTED)}setDisabled(e){this._buttonElement.disabled=e,this._buttonElement.tabIndex=e?-1:0,s(this._rootElement,e,t.classes.DISABLED)}setDense(e){s(this._rootElement,e,t.classes.DENSE)}setDeleteButtonVisibility(e,r){e?(this._deleteButton||(this._deleteButton=this._createDeleteButton(r)),this._deleteButtonTouchTarget||(this._deleteButtonTouchTarget=this._createDeleteButtonTouchTarget(r)),this._deleteButton.appendChild(this._deleteButtonTouchTarget),this._rootElement.appendChild(this._deleteButton)):(this._deleteButtonTouchTarget&&l(this._deleteButtonTouchTarget),this._deleteButton&&l(this._deleteButton))}setLeadingSlotVisibility(e){s(this._leadingSlotElement,!e,t.classes.LEADING_HIDDEN)}getChipSetState(){let e=null,r=x(this._component,o=>o&&o.nodeName===N.elementName.toUpperCase());return r&&(e={type:r.type,disabled:r.disabled,dense:r.dense}),e}_createDeleteButton(e){let r=document.createElement(S.elementName);return r.id="remove-button",r.name="cancel",r.tabIndex=-1,r.setAttribute("aria-hidden","false"),r.setAttribute("aria-label",`Remove ${this._component.innerText}`),r.setAttribute("role","button"),r.classList.add(t.classes.DELETE_BUTTON),r.addEventListener("keydown",e),r}_createDeleteButtonTouchTarget(e){let r=document.createElement("div");return r.classList.add(t.classes.DELETE_BUTTON_TOUCH_TARGET),r.addEventListener("keydown",e),r.addEventListener("click",e),r}setFocus(){this._buttonElement.focus()}tryFocusDelete(){this._deleteButton?this._deleteButton.focus():this.setFocus()}setEmulatedFocus(e){this._buttonElement.classList.toggle("mdc-ripple-upgraded--background-focused",e)}tryMoveFocusNext(){let e=b(this._component.ownerDocument);e===this._buttonElement?this._deleteButton?this._deleteButton.focus():this.emitHostEvent(t.events.FOCUS_NEXT):e===this._deleteButton&&this.emitHostEvent(t.events.FOCUS_NEXT)}tryMoveFocusPrevious(){let e=b(this._component.ownerDocument);e===this._deleteButton?this._buttonElement.focus():e===this._buttonElement&&this.emitHostEvent(t.events.FOCUS_PREVIOUS)}};var u=class{constructor(i){this._adapter=i;this._type=t.defaults.TYPE;this._selected=!1;this._disabled=!1;this._invalid=!1;this._value=null;this._dense=!1;this._emulateFocus=!1;this._isInitialized=!1;this._clickListener=e=>this._onClick(e),this._keydownListener=e=>this._onKeydown(e),this._deleteKeydownListener=e=>this._onDeleteKeydown(e),this._buttonFocusListener=e=>this._onButtonFocus(e),this._buttonBlurListener=e=>this._onButtonBlur(e)}initialize(){this._rippleInstance=this._adapter.initializeRipple(),this._adapter.addRootListener("click",this._clickListener),this._adapter.addRootListener("keydown",this._keydownListener),this._adapter.addButtonListener("focus",this._buttonFocusListener),this._adapter.addButtonListener("blur",this._buttonBlurListener),this._applyState(),this._isInitialized=!0}disconnect(){this._destroyRipple(),this._adapter.removeRootListener("click",this._clickListener),this._adapter.removeRootListener("keydown",this._keydownListener),this._adapter.removeButtonListener("focus",this._buttonFocusListener),this._adapter.removeButtonListener("blur",this._buttonBlurListener),this._isInitialized=!1}_destroyRipple(){this._rippleInstance&&(this._rippleInstance.destroy(),this._rippleInstance=void 0)}_applyState(){let i=this._adapter.getChipSetState();i&&(this._type=i.type,this._disabled=i.disabled,this._dense=i.dense),this._type==="action"&&(this._selected=!1),this._applyDisabled(),this._applyType(),this._applySelected(),this._applyDense(),this._applyEmulateFocus()}_onClick(i){let e=i.target;e.classList.contains(t.classes.DELETE_BUTTON)||e.classList.contains(t.classes.DELETE_BUTTON_TOUCH_TARGET)?this._handleDeleteInteraction(i):this._handleSelectInteraction()}_onKeydown(i){var e;switch(i.key){case"Delete":case"Backspace":this._type==="input"&&(i.preventDefault(),this._emitDeleteEvent());break;case"Enter":case" ":i.preventDefault(),(e=this._rippleInstance)==null||e.animate(),this._handleSelectInteraction();break;case"ArrowLeft":i.preventDefault(),this._adapter.tryMoveFocusPrevious();break;case"ArrowRight":i.preventDefault(),this._adapter.tryMoveFocusNext();break}}_onDeleteKeydown(i){i.key==="Enter"&&this._handleDeleteInteraction(i)}_onButtonFocus(i){this._adapter.setHostAttribute("focused")}_onButtonBlur(i){this._adapter.removeHostAttribute("focused")}_handleDeleteInteraction(i){let e=i.target;(e.classList.contains(t.classes.DELETE_BUTTON)||e.classList.contains(t.classes.DELETE_BUTTON_TOUCH_TARGET))&&(i.stopPropagation(),this._emitDeleteEvent())}_handleSelectInteraction(){let i=this._emitSelectEvent(),e=["filter","choice","input"].includes(this._type);!i&&e&&(this._selected=!this._selected,this._applySelected())}_emitSelectEvent(){let i={selected:!this._selected,value:this._value};return!this._adapter.emitHostEvent(t.events.SELECT,i,!0,!0)}_emitDeleteEvent(){let i={value:this._value};this._adapter.emitHostEvent(t.events.DELETE,i,!0,!0)}_applyType(){switch(this._adapter.clearTypeClass(),this._type){case"action":this._adapter.addRootClass(t.classes.ACTION);break;case"choice":this._adapter.addRootClass(t.classes.CHOICE);break;case"filter":this._adapter.addRootClass(t.classes.FILTER);break;case"input":this._adapter.addRootClass(t.classes.INPUT);break;case"field":this._adapter.addRootClass(t.classes.FIELD);break}this._adapter.setCheckmarkVisibility(this._type==="filter");let i=this._type==="input"||this._type==="field";this._adapter.setDeleteButtonVisibility(i,this._deleteKeydownListener),this._adapter.setLeadingSlotVisibility(!this._selected),this._adapter.setHostAttribute(t.attributes.TYPE,this._type)}_applySelected(){this._adapter.setSelected(this._selected),this._type==="filter"&&this._adapter.setLeadingSlotVisibility(!this._selected),this._adapter.toggleHostAttribute(t.attributes.SELECTED,this._selected)}_applyDisabled(){this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(t.attributes.DISABLED,this._disabled)}_applyDense(){this._adapter.setDense(this._dense),this._adapter.toggleHostAttribute(t.attributes.DISABLED,this._disabled)}_applyEmulateFocus(){this._adapter.toggleHostAttribute(t.attributes.EMULATE_FOCUS,this._emulateFocus),this._adapter.setEmulatedFocus(this._emulateFocus)}get type(){return this._type}set type(i){this._type!==i&&(this._type=i,this._isInitialized&&(["action","choice","filter","input","field"].includes(this._type)||(this._type="action"),this._type==="action"&&(this._selected=!1,this._applySelected()),this._applyType()))}get selected(){return this._selected}set selected(i){this._selected!==i&&(this._selected=i,this._isInitialized&&(this._type==="action"&&(this._selected=!1),this._applySelected()))}get disabled(){return this._disabled}set disabled(i){this._disabled!==i&&(this._disabled=i,this._isInitialized&&this._applyDisabled())}get invalid(){return this._invalid}set invalid(i){this._invalid!==i&&(this._invalid=i,i?(this._adapter.setHostAttribute(t.attributes.INVALID,""),this._adapter.addRootClass(t.classes.INVALID)):(this._adapter.removeHostAttribute(t.attributes.INVALID),this._adapter.removeRootClass(t.classes.INVALID)))}get value(){return this._value}set value(i){this._value=i}get dense(){return this._dense}set dense(i){this._dense!==i&&(this._dense=i,this._isInitialized&&this._applyDense())}get emulateFocus(){return this._emulateFocus}set emulateFocus(i){this._emulateFocus!==i&&(this._emulateFocus=i,this._isInitialized&&this._applyEmulateFocus())}setFocus(){this._adapter.setFocus()}tryFocusDelete(){if(this._type==="input"){this._adapter.tryFocusDelete();return}this.setFocus()}};var Y='<template><div class="forge-chip" part="root button"><slot name="leading" class="forge-chip__leading"></slot><div role="button" tabindex="0" class="forge-chip__content" part="content"><slot></slot></div><slot name="trailing"></slot></div></template>',G='@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-chip{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:0 0;border-radius:4px;border-radius:var(--mdc-shape-small,4px);height:36px;border-style:solid;-webkit-transition:border 280ms cubic-bezier(.4, 0, .2, 1);transition:border 280ms cubic-bezier(.4, 0, .2, 1);font-family:Roboto,sans-serif;font-family:var(--mdc-outlined-button-label-text-font, var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)));font-size:.875rem;font-size:var(--mdc-outlined-button-label-text-size, var(--mdc-typography-button-font-size, .875rem));letter-spacing:.0892857143em;letter-spacing:var(--mdc-outlined-button-label-text-tracking, var(--mdc-typography-button-letter-spacing, .0892857143em));font-weight:500;font-weight:var(--mdc-outlined-button-label-text-weight,var(--mdc-typography-button-font-weight,500));text-transform:uppercase;text-transform:var(--mdc-outlined-button-label-text-transform,var(--mdc-typography-button-text-transform,uppercase));height:36px;height:var(--mdc-outlined-button-container-height,36px);border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px));padding:0 15px 0 15px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px);padding:0 15px 0 15px;border-width:1px;border-radius:16px;width:auto;width:var(--forge-chip-width,auto);height:auto;height:var(--forge-chip-height,auto);min-height:36px;min-height:var(--forge-chip-min-height,36px);box-sizing:border-box;-webkit-transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);text-transform:none;overflow:hidden}.forge-chip::after,.forge-chip::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-chip::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-chip::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-chip.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-chip.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-chip.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-chip.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-chip.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-chip::after,.forge-chip::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-chip.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-chip::after,.forge-chip::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-chip.mdc-ripple-surface--hover::before,.forge-chip:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-chip.mdc-ripple-upgraded--background-focused::before,.forge-chip:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-chip:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-chip.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-chip .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-chip::-moz-focus-inner{padding:0;border:0}.forge-chip:active{outline:0}.forge-chip:hover{cursor:pointer}.forge-chip:disabled{cursor:default;pointer-events:none}.forge-chip .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-chip:not(:disabled){background-color:transparent}.forge-chip:not(:disabled){color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-chip .mdc-button__ripple{border-style:solid;border-color:transparent}.forge-chip:not(:disabled){color:#6200ee;color:var(--mdc-outlined-button-label-text-color,var(--mdc-theme-primary,#6200ee))}.forge-chip:disabled{color:rgba(0,0,0,.38);color:var(--mdc-outlined-button-disabled-label-text-color,rgba(0,0,0,.38))}.forge-chip .mdc-button__icon{font-size:1.125rem;font-size:var(--mdc-outlined-button-with-icon-icon-size, 1.125rem);width:1.125rem;width:var(--mdc-outlined-button-with-icon-icon-size,1.125rem);height:1.125rem;height:var(--mdc-outlined-button-with-icon-icon-size,1.125rem)}.forge-chip .mdc-button__ripple::after,.forge-chip .mdc-button__ripple::before{background-color:#6200ee;background-color:var(--mdc-outlined-button-hover-state-layer-color,var(--mdc-theme-primary,#6200ee))}.forge-chip.mdc-ripple-surface--hover .mdc-button__ripple::before,.forge-chip:hover .mdc-button__ripple::before{opacity:.04;opacity:var(--mdc-outlined-button-hover-state-layer-opacity, .04)}.forge-chip.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.forge-chip:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-focus-state-layer-opacity, .12)}.forge-chip:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, .12)}.forge-chip.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, 0.12)}.forge-chip .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px))}.forge-chip:not(:disabled){border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-outline-color,rgba(0,0,0,.12))}.forge-chip:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-disabled-outline-color,rgba(0,0,0,.12))}.forge-chip.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-chip.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-chip .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px)}.forge-chip .mdc-button__touch{left:calc(-1 * 1px);left:calc(-1 * var(--mdc-outlined-button-outline-width,1px));width:calc(100% + 2 * 1px);width:calc(100% + 2 * var(--mdc-outlined-button-outline-width,1px))}.forge-chip.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-chip.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-chip .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px}.forge-chip .mdc-button__touch{left:calc(-1 * 1px);width:calc(100% + 2 * 1px)}.forge-chip:not(:disabled){border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee)}.forge-chip .mdc-evolution-chip__ripple{border-radius:16px}.forge-chip .mdc-evolution-chip__action--primary:before{border-radius:16px}.forge-chip .mdc-evolution-chip__icon--primary{border-radius:16px}.forge-chip.forge-chip--disabled{border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:default;pointer-events:none}.forge-chip.forge-chip--disabled .forge-chip__delete-button{opacity:.54}.forge-chip__leading--hidden{display:none}.forge-chip__content{-webkit-box-flex:1;flex-grow:1;text-align:center}.forge-chip__content:focus{outline:0}.forge-chip ::slotted([slot=leading]){margin-left:-6px;margin-right:4px}.forge-chip ::slotted(forge-avatar[slot]){--forge-avatar-size:24px}.forge-chip ::slotted([slot=trailing]){margin-left:4px;margin-right:-8px}.forge-chip__checkmark{height:24px}.forge-chip__checkmark-svg{width:0;height:24px;-webkit-transition:width 150ms cubic-bezier(.4, 0, .2, 1);transition:width 150ms cubic-bezier(.4, 0, .2, 1)}.forge-chip__checkmark-path{stroke:#fff;stroke:var(--mdc-theme-on-primary,#fff);-webkit-transition:stroke-dashoffset 150ms 0 cubic-bezier(.4, 0, .6, 1);transition:stroke-dashoffset 150ms 0 cubic-bezier(.4, 0, .6, 1);stroke-width:2px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.forge-chip__delete-button{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:4px;margin-right:-8px;-webkit-transition:color 150ms linear;transition:color 150ms linear;outline:0;line-height:inherit;position:relative;border-radius:50%}.forge-chip__delete-button:focus{outline:currentColor solid 2px}.forge-chip__delete-button:focus,.forge-chip__delete-button:hover{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-chip__delete-button:active{opacity:.75}.forge-chip__delete-button__touch-target{position:absolute;top:-6px;left:-6px;width:calc(100% + 12px);height:calc(100% + 12px)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled),.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled),.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled){background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);color:#fff;color:var(--mdc-theme-text-primary-on-dark,#fff)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled)::after,.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled)::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled)::after,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled)::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled)::after,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled)::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):hover::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):hover::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-chip--choice.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded,.forge-chip--filter.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded,.forge-chip--input.forge-chip--selected:not(.forge-chip--disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled,.forge-chip--filter.forge-chip--selected.forge-chip--disabled,.forge-chip--input.forge-chip--selected.forge-chip--disabled{background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);color:#fff;color:var(--mdc-theme-text-primary-on-dark,#fff);opacity:.37}.forge-chip--choice.forge-chip--selected.forge-chip--disabled::after,.forge-chip--choice.forge-chip--selected.forge-chip--disabled::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled::after,.forge-chip--filter.forge-chip--selected.forge-chip--disabled::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled::after,.forge-chip--input.forge-chip--selected.forge-chip--disabled::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-chip--choice.forge-chip--selected.forge-chip--disabled.mdc-ripple-surface--hover::before,.forge-chip--choice.forge-chip--selected.forge-chip--disabled:hover::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled.mdc-ripple-surface--hover::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:hover::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled.mdc-ripple-surface--hover::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled:hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded--background-focused::before,.forge-chip--choice.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):focus::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded--background-focused::before,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):focus::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded--background-focused::before,.forge-chip--input.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded)::after,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded)::after,.forge-chip--input.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip--choice.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):active::after,.forge-chip--filter.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):active::after,.forge-chip--input.forge-chip--selected.forge-chip--disabled:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-chip--choice.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded,.forge-chip--filter.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded,.forge-chip--input.forge-chip--selected.forge-chip--disabled.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-chip--choice.forge-chip--selected ::slotted([slot=leading]),.forge-chip--filter.forge-chip--selected ::slotted([slot=leading]),.forge-chip--input.forge-chip--selected ::slotted([slot=leading]){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-chip--choice.forge-chip--selected ::slotted([slot=trailing]),.forge-chip--filter.forge-chip--selected ::slotted([slot=trailing]),.forge-chip--input.forge-chip--selected ::slotted([slot=trailing]){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-chip--choice.forge-chip--selected .forge-chip__delete-button,.forge-chip--filter.forge-chip--selected .forge-chip__delete-button,.forge-chip--input.forge-chip--selected .forge-chip__delete-button{color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-chip--choice.forge-chip--selected.forge-chip--filter .forge-chip__checkmark,.forge-chip--filter.forge-chip--selected.forge-chip--filter .forge-chip__checkmark,.forge-chip--input.forge-chip--selected.forge-chip--filter .forge-chip__checkmark{margin-left:-6px;margin-right:4px}.forge-chip--choice.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-svg,.forge-chip--filter.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-svg,.forge-chip--input.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-svg{width:24px}.forge-chip--choice.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-path,.forge-chip--filter.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-path,.forge-chip--input.forge-chip--selected.forge-chip--filter .forge-chip__checkmark-path{-webkit-transition:stroke-dashoffset 150ms 50ms cubic-bezier(.4, 0, .6, 1);transition:stroke-dashoffset 150ms 50ms cubic-bezier(.4, 0, .6, 1);stroke-dashoffset:0}.forge-chip--field .forge-chip__delete-button{color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-chip--field .forge-chip__delete-button:focus,.forge-chip--field .forge-chip__delete-button:hover{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-chip--field.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-chip--field.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button:focus,.forge-chip--field.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button:hover{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-chip--field.forge-chip--disabled .forge-chip__delete-button{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-chip--dense{min-height:28px;min-height:var(--forge-chip-min-height,28px)}.forge-chip--dense.forge-chip--field{min-height:20px;min-height:var(--forge-chip-min-height,20px);padding:0;margin:0;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-chip--dense.forge-chip--field ::slotted([slot=leading]){margin:0 0 0 2px;font-size:18px!important}.forge-chip--dense.forge-chip--field .forge-chip__content{font-size:12px;padding:0 8px}.forge-chip--dense.forge-chip--field ::slotted([slot=trailing]){font-size:18px!important}.forge-chip--dense.forge-chip--field .forge-chip__delete-button{margin:0 2px 0 0;font-size:18px}.forge-chip--invalid:not(.forge-chip--disabled){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled)::after,.forge-chip--invalid:not(.forge-chip--disabled)::before{background-color:#b00020;background-color:var(--mdc-ripple-color,var(--mdc-theme-error,#b00020))}.forge-chip--invalid:not(.forge-chip--disabled).mdc-ripple-surface--hover::before,.forge-chip--invalid:not(.forge-chip--disabled):hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-chip--invalid:not(.forge-chip--disabled).mdc-ripple-upgraded--background-focused::before,.forge-chip--invalid:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-chip--invalid:not(.forge-chip--disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-chip--invalid:not(.forge-chip--disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-chip--invalid:not(.forge-chip--disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-chip--invalid:not(.forge-chip--disabled):not(:disabled){border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled) .forge-chip__delete-button{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled).forge-chip--selected{background-color:#b00020;background-color:var(--mdc-theme-error,#b00020)}.forge-chip--invalid:not(.forge-chip--disabled).forge-chip--selected .forge-chip__delete-button{color:#fff;color:var(--mdc-theme-on-primary,#fff)}:host{display:inline-block}:host([hidden]){display:none}:host([theme=error]){--mdc-theme-primary:var(--mdc-theme-error)}',a=class extends C{constructor(){super();F.define(I),w(this,Y,G),this._foundation=new u(new g(this))}static get observedAttributes(){return[t.attributes.TYPE,t.attributes.SELECTED,t.attributes.DISABLED,t.attributes.VALUE,t.attributes.DENSE,t.attributes.INVALID,t.attributes.EMULATE_FOCUS]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,r,o){switch(e){case t.attributes.TYPE:this.type=o;break;case t.attributes.SELECTED:this.selected=d(o);break;case t.attributes.DISABLED:this.disabled=d(o);break;case t.attributes.INVALID:this.invalid=d(o);break;case t.attributes.VALUE:this.value=o;break;case t.attributes.DENSE:this.dense=d(o);break;case t.attributes.EMULATE_FOCUS:this.emulateFocus=d(o)}}focus(){this._foundation.setFocus()}tryFocusDelete(){this._foundation.tryFocusDelete()}};c([p()],a.prototype,"type",2),c([p()],a.prototype,"selected",2),c([p()],a.prototype,"disabled",2),c([p()],a.prototype,"invalid",2),c([p()],a.prototype,"value",2),c([p()],a.prototype,"dense",2),c([p()],a.prototype,"emulateFocus",2),a=c([L({name:t.elementName,dependencies:[B]})],a);export{N as a,t as b,g as c,u as d,a as e};
|
|
7
|
-
//# sourceMappingURL=chunk.RCYIHHYO.js.map
|